@voicenter-team/events-sdk 0.0.95 → 0.0.96
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 +9 -9
- package/dist/voicenter-events-sdk.cjs.js.map +1 -1
- package/dist/voicenter-events-sdk.d.ts +40 -23
- package/dist/voicenter-events-sdk.es.js +1348 -1352
- package/dist/voicenter-events-sdk.es.js.map +1 -1
- package/dist/voicenter-events-sdk.iife.js +8 -8
- package/dist/voicenter-events-sdk.iife.js.map +1 -1
- package/dist/voicenter-events-sdk.umd.js +8 -8
- package/dist/voicenter-events-sdk.umd.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"voicenter-events-sdk.es.js","sources":["../node_modules/crypt/crypt.js","../node_modules/charenc/charenc.js","../node_modules/is-buffer/index.js","../node_modules/md5/md5.js","../src/enum/events-sdk.enum.ts","../src/enum/auth.enum.ts","../src/classes/storage/storage.class.ts","../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","../../socketio-storage-logger/dist/storage-logger.es.js","../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","export enum DebugOption {\r\n BOOTSTRAP = 'bootstrap',\r\n DEBUG_EXTENSIONS = 'debugExtensions',\r\n DEBUG_QUEUE = 'debugQueue',\r\n DEBUG_DIALER = 'debugDialer',\r\n FULL = 'full',\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","import md5 from 'md5'\r\n\r\nimport EventsSdkClass from '@/classes/events-sdk/events-sdk.class'\r\nimport { ServerParameter } from '@/enum/events-sdk.enum'\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\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 let statusCode\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 statusCode = 400\r\n\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 statusCode = 401\r\n\r\n throw new Error('Unauthorized. Invalid token provided')\r\n }\r\n\r\n if (!res.ok && res.status === 403) {\r\n statusCode = 403\r\n\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.loginError(loginType, statusCode, token, email)\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.getSettingsError(token, error as Error)\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.refreshTokenError(oldRefreshToken, refreshTokenUrl, error as Error)\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 timeout: 10000,\r\n keepAliveTimeout: 60000,\r\n protocol: 'https',\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', // ws-connection (should be like a subSystem)\r\n socketEmitInterval: 10000,\r\n },\r\n loggerConnectOptions: {\r\n reconnection: false,\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\nimport ws from 'ws'\r\n\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 // Fix for node.js usage\r\n if (typeof self === 'undefined' && typeof global === 'object') {\r\n global.self = global\r\n\r\n global.WebSocket = ws\r\n\r\n if (typeof self.navigator === 'undefined') {\r\n self.navigator = { userAgent: 'node' }\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, type QueueCall } 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\nimport { QueueCallSDK } from '@/types/sdk-queue-extended'\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 mapQueueCall (data: EventDataMap[EventsEnum.QUEUE_EVENT] | EventDataMap[EventsEnum.LOGIN_STATUS], call: QueueCall): QueueCallSDK {\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 key: 'VHJoinTimeStamp', // TODO: should add the VHJoinTimeStamp in TS definitions\r\n format: 'sec'\r\n }\r\n ],\r\n data.servertime, // TODO: currently the TS error because in LoginStatusEvent type the key is \"serverTime\" but actual is \"servertime\", remove comment after fixed\r\n data.servertimeoffset // TODO: currently the TS error because in LoginStatusEvent type the key is \"serverTimeOffset\" but actual is \"servertimeoffset\", remove comment after fixed\r\n )\r\n }\r\n\r\n public static mapLoginStatusEvent (data: EventDataMap[EventsEnum.LOGIN_STATUS]): EventDataMapExtended[EventsEnum.LOGIN_STATUS] {\r\n return {\r\n ...data,\r\n queues: data.queues.map(queue => {\r\n return {\r\n ...queue,\r\n Calls: queue.Calls.map(call => this.mapQueueCall(data, call))\r\n }\r\n })\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 => this.mapQueueCall(data, call))\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 timestamps for an object by converting server-time properties to both UTC and client-local UTC timestamps\r\n *\r\n * For each specified property, creates two new timestamp properties:\r\n * - property_UTC: Server timestamp converted to UTC milliseconds\r\n * - property_UTC_CLIENT: Server timestamp converted to client-local UTC milliseconds\r\n *\r\n * @example\r\n * // Input object\r\n * const data = {\r\n * callStarted: 1634567890 // Unix timestamp in seconds\r\n * }\r\n *\r\n * // After configureUTCForObject:\r\n * {\r\n * callStarted: 1634567890,\r\n * callStarted_UTC: 1634567890000, // Converted to UTC ms\r\n * callStarted_UTC_CLIENT: 1634571490000 // Converted to client-local UTC ms\r\n * }\r\n *\r\n * @param data - Source object containing server timestamp properties\r\n * @param properties - Array of property configs specifying which properties to convert and their format\r\n * @param servertime - Current server time in seconds\r\n * @param servertimeoffset - Server timezone offset in minutes\r\n * @private\r\n * @returns Original object extended with new _UTC and _UTC_CLIENT properties for each configured timestamp\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 '@/enum/events-sdk.enum'\r\nimport {\r\n AllDialersStatusEvent,\r\n AllExtensionStatusEvent,\r\n ConnectionStatusEnum,\r\n DialerEvent,\r\n EventsEnum,\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\n\r\nexport class SocketIoClass {\r\n constructor (private readonly eventsSdkClass: EventsSdkClass) {\r\n this.eventsSdkClass = eventsSdkClass\r\n\r\n if (typeof window !== 'undefined') {\r\n window.addEventListener('offline', () => {\r\n this.closeAllConnections()\r\n })\r\n\r\n window.addEventListener('online', () => {\r\n setTimeout(() => {\r\n if (this.keepReconnectTimeout) {\r\n clearTimeout(this.keepReconnectTimeout)\r\n }\r\n\r\n this.eventsSdkClass.connect(ServerParameter.NEXT)\r\n }, 5000)\r\n })\r\n }\r\n\r\n if (typeof self !== 'undefined' && typeof window === 'undefined' && typeof global === 'undefined') {\r\n self.addEventListener('offline', () => {\r\n this.closeAllConnections()\r\n })\r\n\r\n self.addEventListener('online', () => {\r\n setTimeout(() => {\r\n if (this.keepReconnectTimeout) {\r\n clearTimeout(this.keepReconnectTimeout)\r\n }\r\n\r\n this.eventsSdkClass.connect(ServerParameter.NEXT)\r\n }, 5000)\r\n })\r\n }\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 keepReconnectTimeout: ReturnType<typeof setTimeout> | undefined\r\n private connected = false\r\n private reconnectionTime = 20\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 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 (this.ioFunction && url) {\r\n this.io = this.ioFunction(url, options)\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 this.eventsSdkClass.loggerClass.sdkAttemptToConnect(domain)\r\n } else {\r\n throw new Error('Socket server url no defined')\r\n }\r\n } catch (error) {\r\n this.eventsSdkClass.loggerClass.sdkAttemptToConnectError(error as Error)\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 if (this.keepAliveInterval) {\r\n clearInterval(this.keepAliveInterval)\r\n }\r\n\r\n this.keepAliveInterval = setInterval(async () => {\r\n const now = new Date().getTime()\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.keepAliveEmit()\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 this.eventsSdkClass.loggerClass.stop()\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, EventsEnum.LOGIN_SUCCESS))\r\n .on(EventsEnum.QUEUE_EVENT, (data) => this.onQueueEvent(data, EventsEnum.QUEUE_EVENT))\r\n .on(EventsEnum.EXTENSION_EVENT, (data) => this.onExtensionEvent(data, EventsEnum.EXTENSION_EVENT))\r\n .on(EventsEnum.DIALER_EVENT, (data) => this.onDialerEvent(data, EventsEnum.DIALER_EVENT))\r\n .on(EventsEnum.LOGIN_STATUS, (data) => this.onLoginStatusEvent(data, EventsEnum.LOGIN_STATUS))\r\n .on(EventsEnum.ALL_EXTENSION_STATUS, (data) => this.onAllExtensionStatus(data, EventsEnum.ALL_EXTENSION_STATUS))\r\n .on(EventsEnum.ALL_DIALER_STATUS, (data) => this.onAllDialerStatus(data, EventsEnum.ALL_DIALER_STATUS))\r\n .on(EventsEnum.KEEP_ALIVE_RESPONSE, (data) => this.onKeepAliveResponse(data))\r\n .on(EventsEnum.EXTENSIONS_UPDATED, (data) => this.onExtensionsUpdatedEvent(data, EventsEnum.EXTENSIONS_UPDATED))\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, eventName: EventsEnum.LOGIN_SUCCESS) {\r\n this.eventsSdkClass.loggerClass.eventLog(eventName, data)\r\n\r\n this.eventsSdkClass.eventEmitterClass.emit(eventName, data)\r\n }\r\n\r\n private onQueueEvent (data: QueueEvent, eventName: EventsEnum.QUEUE_EVENT) {\r\n this.eventsSdkClass.loggerClass.eventLog(eventName, data)\r\n\r\n this.eventsSdkClass.eventEmitterClass.emit(eventName, EventsHandler.mapQueueEvent(data))\r\n }\r\n\r\n private onExtensionEvent (data: ExtensionEvent, eventName: EventsEnum.EXTENSION_EVENT) {\r\n const dataExtended = EventsHandler.mapExtensionEvent(data)\r\n\r\n if (dataExtended) {\r\n this.eventsSdkClass.loggerClass.eventLog(eventName, data)\r\n\r\n this.eventsSdkClass.eventEmitterClass.emit(eventName, dataExtended)\r\n }\r\n }\r\n\r\n private onDialerEvent (data: DialerEvent, eventName: EventsEnum.DIALER_EVENT) {\r\n this.eventsSdkClass.loggerClass.eventLog(eventName, data)\r\n\r\n this.eventsSdkClass.eventEmitterClass.emit(eventName, data)\r\n }\r\n\r\n private onLoginStatusEvent (data: LoginStatusEvent, eventName: EventsEnum.LOGIN_STATUS) {\r\n this.eventsSdkClass.loggerClass.eventLog(eventName, data)\r\n\r\n this.eventsSdkClass.eventEmitterClass.emit(eventName, EventsHandler.mapLoginStatusEvent(data))\r\n }\r\n\r\n private onAllExtensionStatus (data: AllExtensionStatusEvent, eventName: EventsEnum.ALL_EXTENSION_STATUS) {\r\n const dataExtended = EventsHandler.mapAllExtensionStatus(data)\r\n\r\n this.eventsSdkClass.loggerClass.eventLog(eventName, data)\r\n\r\n this.eventsSdkClass.eventEmitterClass.emit(eventName, dataExtended)\r\n }\r\n\r\n private onAllDialerStatus (data: AllDialersStatusEvent, eventName: EventsEnum.ALL_DIALER_STATUS) {\r\n this.eventsSdkClass.loggerClass.eventLog(eventName, data)\r\n\r\n this.eventsSdkClass.eventEmitterClass.emit(eventName, data)\r\n }\r\n\r\n private onKeepAliveResponse (data: KeepAliveResponseEvent) {\r\n this.eventsSdkClass.loggerClass.keepAliveResponse(data)\r\n\r\n if (data.errorCode) {\r\n this.initSocketConnection()\r\n\r\n return\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, eventName: EventsEnum.EXTENSIONS_UPDATED) {\r\n this.eventsSdkClass.loggerClass.eventLog(eventName, data)\r\n\r\n this.eventsSdkClass.eventEmitterClass.emit(eventName, data)\r\n }\r\n\r\n private onConnect () {\r\n this.connected = true\r\n\r\n if (this.keepReconnectInterval) {\r\n clearInterval(this.keepReconnectInterval)\r\n }\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.start().then(() => {\r\n this.eventsSdkClass.loggerClass.sdkConnectionSuccess()\r\n })\r\n }\r\n\r\n private onDisconnect (reason: Socket.DisconnectReason) {\r\n this.connected = false\r\n\r\n if (!this.doReconnect) {\r\n return\r\n }\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.sdkDisconnect([ reason ])\r\n\r\n this.keepReconnectTimeout = setTimeout(\r\n () => {\r\n this.reconnectionTime = this.reconnectionTime + 20\r\n\r\n if (this.reconnectionTime > 120) {\r\n this.reconnectionTime = 20\r\n }\r\n\r\n this.eventsSdkClass.connect(ServerParameter.NEXT)\r\n },\r\n this.reconnectionTime * 1000\r\n )\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.sdkAttemptToConnectError(data)\r\n\r\n this.keepReconnectTimeout = setTimeout(\r\n () => {\r\n this.reconnectionTime = this.reconnectionTime + 20\r\n\r\n if (this.reconnectionTime > 60) {\r\n this.reconnectionTime = 20\r\n }\r\n\r\n this.eventsSdkClass.connect(ServerParameter.NEXT)\r\n },\r\n this.reconnectionTime * 1000\r\n )\r\n }\r\n}\r\n","var Kt = Object.defineProperty;\nvar Yt = (e, t, r) => t in e ? Kt(e, t, { enumerable: !0, configurable: !0, writable: !0, value: r }) : e[t] = r;\nvar O = (e, t, r) => (Yt(e, typeof t != \"symbol\" ? t + \"\" : t, r), r);\nfunction Qt(e) {\n return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, \"default\") ? e.default : e;\n}\nfunction Zt(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 Me = { exports: {} }, er = /^(?:(?![^:@]+:[^:@\\/]*@)(http|https|ws|wss):\\/\\/)?((?:(([^:@]*)(?::([^:@]*))?)?@)?((?:[a-f0-9]{0,4}:){2,7}[a-f0-9]{0,4}|[^:\\/?#]*)(?::(\\d*))?)(((\\/(?:[^?#](?![^?#\\/]*\\.[^?#\\/.]+(?:[?#]|$)))*\\/?)?([^?#\\/]*))(?:\\?([^#]*))?(?:#(.*))?)/, tr = [\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], Nt = 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 s = er.exec(t || \"\"), c = {}, p = 14; p--; )\n c[tr[p]] = s[p] || \"\";\n return n != -1 && i != -1 && (c.source = r, c.host = c.host.substring(1, c.host.length - 1).replace(/;/g, \":\"), c.authority = c.authority.replace(\"[\", \"\").replace(\"]\", \"\").replace(/;/g, \":\"), c.ipv6uri = !0), c.pathNames = rr(c, c.path), c.queryKey = nr(c, c.query), c;\n};\nfunction rr(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 nr(e, t) {\n var r = {};\n return t.replace(/(?:^|&)([^&=]*)=?([^&]*)/g, function(n, i, s) {\n i && (r[i] = s);\n }), r;\n}\nvar He = { exports: {} }, We = { exports: {} }, ie = 1e3, oe = ie * 60, se = oe * 60, ae = se * 24, ir = ae * 365.25, or = function(e, t) {\n t = t || {};\n var r = typeof e;\n if (r === \"string\" && e.length > 0)\n return sr(e);\n if (r === \"number\" && isNaN(e) === !1)\n return t.long ? cr(e) : ar(e);\n throw new Error(\n \"val is not a non-empty string or a valid number. val=\" + JSON.stringify(e)\n );\n};\nfunction sr(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 * ir;\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 ar(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 cr(e) {\n return ge(e, ae, \"day\") || ge(e, se, \"hour\") || ge(e, oe, \"minute\") || ge(e, ie, \"second\") || e + \" ms\";\n}\nfunction ge(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 = c, t.enable = s, t.enabled = p, t.humanize = or, t.instances = [], t.names = [], t.skips = [], t.formatters = {};\n function r(o) {\n var a = 0, u;\n for (u in o)\n a = (a << 5) - a + o.charCodeAt(u), a |= 0;\n return t.colors[Math.abs(a) % t.colors.length];\n }\n function n(o) {\n var a;\n function u() {\n if (u.enabled) {\n var d = u, f = +/* @__PURE__ */ new Date(), R = f - (a || f);\n d.diff = R, d.prev = a, d.curr = f, a = f;\n for (var C = new Array(arguments.length), I = 0; I < C.length; I++)\n C[I] = arguments[I];\n C[0] = t.coerce(C[0]), typeof C[0] != \"string\" && C.unshift(\"%O\");\n var y = 0;\n C[0] = C[0].replace(/%([a-zA-Z%])/g, function(A, l) {\n if (A === \"%%\")\n return A;\n y++;\n var g = t.formatters[l];\n if (typeof g == \"function\") {\n var v = C[y];\n A = g.call(d, v), C.splice(y, 1), y--;\n }\n return A;\n }), t.formatArgs.call(d, C);\n var m = u.log || t.log || console.log.bind(console);\n m.apply(d, C);\n }\n }\n return u.namespace = o, u.enabled = t.enabled(o), u.useColors = t.useColors(), u.color = r(o), u.destroy = i, typeof t.init == \"function\" && t.init(u), t.instances.push(u), u;\n }\n function i() {\n var o = t.instances.indexOf(this);\n return o !== -1 ? (t.instances.splice(o, 1), !0) : !1;\n }\n function s(o) {\n t.save(o), t.names = [], t.skips = [];\n var a, u = (typeof o == \"string\" ? o : \"\").split(/[\\s,]+/), d = u.length;\n for (a = 0; a < d; a++)\n u[a] && (o = u[a].replace(/\\*/g, \".*?\"), o[0] === \"-\" ? t.skips.push(new RegExp(\"^\" + o.substr(1) + \"$\")) : t.names.push(new RegExp(\"^\" + o + \"$\")));\n for (a = 0; a < t.instances.length; a++) {\n var f = t.instances[a];\n f.enabled = t.enabled(f.namespace);\n }\n }\n function c() {\n t.enable(\"\");\n }\n function p(o) {\n if (o[o.length - 1] === \"*\")\n return !0;\n var a, u;\n for (a = 0, u = t.skips.length; a < u; a++)\n if (t.skips[a].test(o))\n return !1;\n for (a = 0, u = t.names.length; a < u; a++)\n if (t.names[a].test(o))\n return !0;\n return !1;\n }\n function h(o) {\n return o instanceof Error ? o.stack || o.message : o;\n }\n})(We, We.exports);\nvar ur = We.exports;\n(function(e, t) {\n t = e.exports = ur, t.log = i, t.formatArgs = n, t.save = s, t.load = c, t.useColors = r, t.storage = typeof chrome < \"u\" && typeof chrome.storage < \"u\" ? chrome.storage.local : p(), 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 (o) {\n return \"[UnexpectedJSONParseError]: \" + o.message;\n }\n };\n function n(h) {\n var o = this.useColors;\n if (h[0] = (o ? \"%c\" : \"\") + this.namespace + (o ? \" %c\" : \" \") + h[0] + (o ? \"%c \" : \" \") + \"+\" + t.humanize(this.diff), !!o) {\n var a = \"color: \" + this.color;\n h.splice(1, 0, a, \"color: inherit\");\n var u = 0, d = 0;\n h[0].replace(/%[a-zA-Z%]/g, function(f) {\n f !== \"%%\" && (u++, f === \"%c\" && (d = u));\n }), h.splice(d, 0, a);\n }\n }\n function i() {\n return typeof console == \"object\" && console.log && Function.prototype.apply.call(console.log, console, arguments);\n }\n function s(h) {\n try {\n h == null ? t.storage.removeItem(\"debug\") : t.storage.debug = h;\n } catch {\n }\n }\n function c() {\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(c());\n function p() {\n try {\n return window.localStorage;\n } catch {\n }\n }\n})(He, He.exports);\nvar Se = He.exports, fr = Nt, ft = Se(\"socket.io-client:url\"), hr = lr;\nfunction lr(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) || (ft(\"protocol-less url %s\", e), typeof t < \"u\" ? e = t.protocol + \"//\" + e : e = \"https://\" + e), ft(\"parse %s\", e), r = fr(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 Ne = {}, ze = { exports: {} }, je = { exports: {} }, ce = 1e3, ue = ce * 60, fe = ue * 60, he = fe * 24, dr = he * 365.25, pr = function(e, t) {\n t = t || {};\n var r = typeof e;\n if (r === \"string\" && e.length > 0)\n return yr(e);\n if (r === \"number\" && isNaN(e) === !1)\n return t.long ? vr(e) : gr(e);\n throw new Error(\n \"val is not a non-empty string or a valid number. val=\" + JSON.stringify(e)\n );\n};\nfunction yr(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 * dr;\n case \"days\":\n case \"day\":\n case \"d\":\n return r * he;\n case \"hours\":\n case \"hour\":\n case \"hrs\":\n case \"hr\":\n case \"h\":\n return r * fe;\n case \"minutes\":\n case \"minute\":\n case \"mins\":\n case \"min\":\n case \"m\":\n return r * ue;\n case \"seconds\":\n case \"second\":\n case \"secs\":\n case \"sec\":\n case \"s\":\n return r * ce;\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 gr(e) {\n return e >= he ? Math.round(e / he) + \"d\" : e >= fe ? Math.round(e / fe) + \"h\" : e >= ue ? Math.round(e / ue) + \"m\" : e >= ce ? Math.round(e / ce) + \"s\" : e + \"ms\";\n}\nfunction vr(e) {\n return ve(e, he, \"day\") || ve(e, fe, \"hour\") || ve(e, ue, \"minute\") || ve(e, ce, \"second\") || e + \" ms\";\n}\nfunction ve(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 = c, t.enable = s, t.enabled = p, t.humanize = pr, t.instances = [], t.names = [], t.skips = [], t.formatters = {};\n function r(o) {\n var a = 0, u;\n for (u in o)\n a = (a << 5) - a + o.charCodeAt(u), a |= 0;\n return t.colors[Math.abs(a) % t.colors.length];\n }\n function n(o) {\n var a;\n function u() {\n if (u.enabled) {\n var d = u, f = +/* @__PURE__ */ new Date(), R = f - (a || f);\n d.diff = R, d.prev = a, d.curr = f, a = f;\n for (var C = new Array(arguments.length), I = 0; I < C.length; I++)\n C[I] = arguments[I];\n C[0] = t.coerce(C[0]), typeof C[0] != \"string\" && C.unshift(\"%O\");\n var y = 0;\n C[0] = C[0].replace(/%([a-zA-Z%])/g, function(A, l) {\n if (A === \"%%\")\n return A;\n y++;\n var g = t.formatters[l];\n if (typeof g == \"function\") {\n var v = C[y];\n A = g.call(d, v), C.splice(y, 1), y--;\n }\n return A;\n }), t.formatArgs.call(d, C);\n var m = u.log || t.log || console.log.bind(console);\n m.apply(d, C);\n }\n }\n return u.namespace = o, u.enabled = t.enabled(o), u.useColors = t.useColors(), u.color = r(o), u.destroy = i, typeof t.init == \"function\" && t.init(u), t.instances.push(u), u;\n }\n function i() {\n var o = t.instances.indexOf(this);\n return o !== -1 ? (t.instances.splice(o, 1), !0) : !1;\n }\n function s(o) {\n t.save(o), t.names = [], t.skips = [];\n var a, u = (typeof o == \"string\" ? o : \"\").split(/[\\s,]+/), d = u.length;\n for (a = 0; a < d; a++)\n u[a] && (o = u[a].replace(/\\*/g, \".*?\"), o[0] === \"-\" ? t.skips.push(new RegExp(\"^\" + o.substr(1) + \"$\")) : t.names.push(new RegExp(\"^\" + o + \"$\")));\n for (a = 0; a < t.instances.length; a++) {\n var f = t.instances[a];\n f.enabled = t.enabled(f.namespace);\n }\n }\n function c() {\n t.enable(\"\");\n }\n function p(o) {\n if (o[o.length - 1] === \"*\")\n return !0;\n var a, u;\n for (a = 0, u = t.skips.length; a < u; a++)\n if (t.skips[a].test(o))\n return !1;\n for (a = 0, u = t.names.length; a < u; a++)\n if (t.names[a].test(o))\n return !0;\n return !1;\n }\n function h(o) {\n return o instanceof Error ? o.stack || o.message : o;\n }\n})(je, je.exports);\nvar mr = je.exports;\n(function(e, t) {\n t = e.exports = mr, t.log = i, t.formatArgs = n, t.save = s, t.load = c, t.useColors = r, t.storage = typeof chrome < \"u\" && typeof chrome.storage < \"u\" ? chrome.storage.local : p(), 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 (o) {\n return \"[UnexpectedJSONParseError]: \" + o.message;\n }\n };\n function n(h) {\n var o = this.useColors;\n if (h[0] = (o ? \"%c\" : \"\") + this.namespace + (o ? \" %c\" : \" \") + h[0] + (o ? \"%c \" : \" \") + \"+\" + t.humanize(this.diff), !!o) {\n var a = \"color: \" + this.color;\n h.splice(1, 0, a, \"color: inherit\");\n var u = 0, d = 0;\n h[0].replace(/%[a-zA-Z%]/g, function(f) {\n f !== \"%%\" && (u++, f === \"%c\" && (d = u));\n }), h.splice(d, 0, a);\n }\n }\n function i() {\n return typeof console == \"object\" && console.log && Function.prototype.apply.call(console.log, console, arguments);\n }\n function s(h) {\n try {\n h == null ? t.storage.removeItem(\"debug\") : t.storage.debug = h;\n } catch {\n }\n }\n function c() {\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(c());\n function p() {\n try {\n return window.localStorage;\n } catch {\n }\n }\n})(ze, ze.exports);\nvar Cr = ze.exports, Rt = { 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 s() {\n this.off(n, s), i.apply(this, arguments);\n }\n return s.fn = i, this.on(n, s), 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 s = this._callbacks[\"$\" + n];\n if (!s)\n return this;\n if (arguments.length == 1)\n return delete this._callbacks[\"$\" + n], this;\n for (var c, p = 0; p < s.length; p++)\n if (c = s[p], c === i || c.fn === i) {\n s.splice(p, 1);\n break;\n }\n return s.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), s = this._callbacks[\"$\" + n], c = 1; c < arguments.length; c++)\n i[c - 1] = arguments[c];\n if (s) {\n s = s.slice(0);\n for (var c = 0, p = s.length; c < p; ++c)\n s[c].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})(Rt);\nvar ee = Rt.exports, Re = {}, br = {}.toString, Ze = Array.isArray || function(e) {\n return br.call(e) == \"[object Array]\";\n}, Ot = Er, wr = typeof Buffer == \"function\" && typeof Buffer.isBuffer == \"function\", Fr = typeof ArrayBuffer == \"function\", Ar = function(e) {\n return typeof ArrayBuffer.isView == \"function\" ? ArrayBuffer.isView(e) : e.buffer instanceof ArrayBuffer;\n};\nfunction Er(e) {\n return wr && Buffer.isBuffer(e) || Fr && (e instanceof ArrayBuffer || Ar(e));\n}\nvar et = Ze, It = Ot, Dt = Object.prototype.toString, kr = typeof Blob == \"function\" || typeof Blob < \"u\" && Dt.call(Blob) === \"[object BlobConstructor]\", Br = typeof File == \"function\" || typeof File < \"u\" && Dt.call(File) === \"[object FileConstructor]\";\nRe.deconstructPacket = function(e) {\n var t = [], r = e.data, n = e;\n return n.data = Je(r, t), n.attachments = t.length, { packet: n, buffers: t };\n};\nfunction Je(e, t) {\n if (!e)\n return e;\n if (It(e)) {\n var r = { _placeholder: !0, num: t.length };\n return t.push(e), r;\n } else if (et(e)) {\n for (var n = new Array(e.length), i = 0; i < e.length; i++)\n n[i] = Je(e[i], t);\n return n;\n } else if (typeof e == \"object\" && !(e instanceof Date)) {\n var n = {};\n for (var s in e)\n n[s] = Je(e[s], t);\n return n;\n }\n return e;\n}\nRe.reconstructPacket = function(e, t) {\n return e.data = Xe(e.data, t), e.attachments = void 0, e;\n};\nfunction Xe(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 (et(e))\n for (var n = 0; n < e.length; n++)\n e[n] = Xe(e[n], t);\n else if (typeof e == \"object\")\n for (var i in e)\n e[i] = Xe(e[i], t);\n return e;\n}\nRe.removeBlobs = function(e, t) {\n function r(s, c, p) {\n if (!s)\n return s;\n if (kr && s instanceof Blob || Br && s instanceof File) {\n n++;\n var h = new FileReader();\n h.onload = function() {\n p ? p[c] = this.result : i = this.result, --n || t(i);\n }, h.readAsArrayBuffer(s);\n } else if (et(s))\n for (var o = 0; o < s.length; o++)\n r(s[o], o, s);\n else if (typeof s == \"object\" && !It(s))\n for (var a in s)\n r(s[a], a, s);\n }\n var n = 0, i = e;\n r(i), n || t(i);\n};\n(function(e) {\n var t = Cr(\"socket.io-parser\"), r = ee, n = Re, i = Ze, s = Ot;\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 = c, e.Decoder = u;\n function c() {\n }\n var p = e.ERROR + '\"encode error\"';\n c.prototype.encode = function(y, m) {\n if (t(\"encoding packet %j\", y), e.BINARY_EVENT === y.type || e.BINARY_ACK === y.type)\n a(y, m);\n else {\n var A = h(y);\n m([A]);\n }\n };\n function h(y) {\n var m = \"\" + y.type;\n if ((e.BINARY_EVENT === y.type || e.BINARY_ACK === y.type) && (m += y.attachments + \"-\"), y.nsp && y.nsp !== \"/\" && (m += y.nsp + \",\"), y.id != null && (m += y.id), y.data != null) {\n var A = o(y.data);\n if (A !== !1)\n m += A;\n else\n return p;\n }\n return t(\"encoded %j as %s\", y, m), m;\n }\n function o(y) {\n try {\n return JSON.stringify(y);\n } catch {\n return !1;\n }\n }\n function a(y, m) {\n function A(l) {\n var g = n.deconstructPacket(l), v = h(g.packet), b = g.buffers;\n b.unshift(v), m(b);\n }\n n.removeBlobs(y, A);\n }\n function u() {\n this.reconstructor = null;\n }\n r(u.prototype), u.prototype.add = function(y) {\n var m;\n if (typeof y == \"string\") {\n if (this.reconstructor)\n throw new Error(\"got plaintext data when reconstructing a packet\");\n m = f(y), e.BINARY_EVENT === m.type || e.BINARY_ACK === m.type ? (this.reconstructor = new C(m), this.reconstructor.reconPack.attachments === 0 && this.emit(\"decoded\", m)) : this.emit(\"decoded\", m);\n } else if (s(y) || y.base64)\n if (this.reconstructor)\n m = this.reconstructor.takeBinaryData(y), m && (this.reconstructor = null, this.emit(\"decoded\", m));\n else\n throw new Error(\"got binary data when not reconstructing a packet\");\n else\n throw new Error(\"Unknown type: \" + y);\n };\n function d(y, m) {\n switch (y) {\n case 0:\n return typeof m == \"object\";\n case 1:\n return m === void 0;\n case 4:\n return typeof m == \"string\" || typeof m == \"object\";\n case 2:\n case 5:\n return i(m) && (typeof m[0] == \"string\" || typeof m[0] == \"number\");\n case 3:\n case 6:\n return i(m);\n }\n }\n function f(y) {\n var m = 0, A = {\n type: Number(y.charAt(0))\n };\n if (e.types[A.type] == null)\n return I(\"unknown packet type \" + A.type);\n if (e.BINARY_EVENT === A.type || e.BINARY_ACK === A.type) {\n for (var l = m + 1; y.charAt(++m) !== \"-\" && m != y.length; )\n ;\n var g = y.substring(l, m);\n if (g != Number(g) || y.charAt(m) !== \"-\")\n throw new Error(\"Illegal attachments\");\n A.attachments = Number(g);\n }\n if (y.charAt(m + 1) === \"/\") {\n for (var l = m + 1; ++m; ) {\n var v = y.charAt(m);\n if (v === \",\" || m === y.length)\n break;\n }\n A.nsp = y.substring(l, m);\n } else\n A.nsp = \"/\";\n var b = y.charAt(m + 1);\n if (b !== \"\" && Number(b) == b) {\n for (var l = m + 1; ++m; ) {\n var v = y.charAt(m);\n if (v == null || Number(v) != v) {\n --m;\n break;\n }\n if (m === y.length)\n break;\n }\n A.id = Number(y.substring(l, m + 1));\n }\n if (y.charAt(++m)) {\n var w = R(y.substr(m));\n if (d(A.type, w))\n A.data = w;\n else\n throw new Error(\"invalid payload\");\n }\n return t(\"decoded %s as %j\", y, A), A;\n }\n function R(y) {\n try {\n return JSON.parse(y);\n } catch {\n return !1;\n }\n }\n u.prototype.destroy = function() {\n this.reconstructor && this.reconstructor.finishedReconstruction();\n };\n function C(y) {\n this.reconPack = y, this.buffers = [];\n }\n C.prototype.takeBinaryData = function(y) {\n if (this.buffers.push(y), this.buffers.length === this.reconPack.attachments) {\n var m = n.reconstructPacket(this.reconPack, this.buffers);\n return this.finishedReconstruction(), m;\n }\n return null;\n }, C.prototype.finishedReconstruction = function() {\n this.reconPack = null, this.buffers = [];\n };\n function I(y) {\n return {\n type: e.ERROR,\n data: \"parser error: \" + y\n };\n }\n})(Ne);\nvar tt = { exports: {} }, Oe = {}, Ge = { exports: {} };\ntry {\n Ge.exports = typeof XMLHttpRequest < \"u\" && \"withCredentials\" in new XMLHttpRequest();\n} catch {\n Ge.exports = !1;\n}\nvar Sr = Ge.exports, rt = function() {\n return typeof self < \"u\" ? self : typeof window < \"u\" ? window : Function(\"return this\")();\n}(), Nr = Sr, Rr = rt, nt = function(e) {\n var t = e.xdomain, r = e.xscheme, n = e.enablesXDR;\n try {\n if (typeof XMLHttpRequest < \"u\" && (!t || Nr))\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 Rr[[\"Active\"].concat(\"Object\").join(\"X\")](\"Microsoft.XMLHTTP\");\n } catch {\n }\n}, it = { exports: {} }, K = {}, Or = 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}, qe, ht;\nfunction Tt() {\n if (ht)\n return qe;\n ht = 1;\n var e = Ze, 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 qe = i;\n function i(s) {\n if (!s || typeof s != \"object\")\n return !1;\n if (e(s)) {\n for (var c = 0, p = s.length; c < p; c++)\n if (i(s[c]))\n return !0;\n return !1;\n }\n if (typeof Buffer == \"function\" && Buffer.isBuffer && Buffer.isBuffer(s) || typeof ArrayBuffer == \"function\" && s instanceof ArrayBuffer || r && s instanceof Blob || n && s instanceof File)\n return !0;\n if (s.toJSON && typeof s.toJSON == \"function\" && arguments.length === 1)\n return i(s.toJSON(), !0);\n for (var h in s)\n if (Object.prototype.hasOwnProperty.call(s, h) && i(s[h]))\n return !0;\n return !1;\n }\n return qe;\n}\nvar Ir = 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), s = new Uint8Array(r - t), c = t, p = 0; c < r; c++, p++)\n s[p] = i[c];\n return s.buffer;\n}, Dr = Tr;\nfunction Tr(e, t, r) {\n var n = !1;\n return r = r || qr, i.count = e, e === 0 ? t() : i;\n function i(s, c) {\n if (i.count <= 0)\n throw new Error(\"after called too many times\");\n --i.count, s ? (n = !0, t(s), t = r) : i.count === 0 && !n && t(null, c);\n }\n}\nfunction qr() {\n}\n/*! https://mths.be/utf8js v2.1.2 by @mathias */\nvar j = String.fromCharCode;\nfunction qt(e) {\n for (var t = [], r = 0, n = e.length, i, s; r < n; )\n i = e.charCodeAt(r++), i >= 55296 && i <= 56319 && r < n ? (s = e.charCodeAt(r++), (s & 64512) == 56320 ? t.push(((i & 1023) << 10) + (s & 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 += j(n >>> 10 & 1023 | 55296), n = 56320 | n & 1023), i += j(n);\n return i;\n}\nfunction Lt(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 Le(e, t) {\n return j(e >> t & 63 | 128);\n}\nfunction Ur(e, t) {\n if (!(e & 4294967168))\n return j(e);\n var r = \"\";\n return e & 4294965248 ? e & 4294901760 ? e & 4292870144 || (r = j(e >> 18 & 7 | 240), r += Le(e, 12), r += Le(e, 6)) : (Lt(e, t) || (e = 65533), r = j(e >> 12 & 15 | 224), r += Le(e, 6)) : r = j(e >> 6 & 31 | 192), r += j(e & 63 | 128), r;\n}\nfunction Pr(e, t) {\n t = t || {};\n for (var r = t.strict !== !1, n = qt(e), i = n.length, s = -1, c, p = \"\"; ++s < i; )\n c = n[s], p += Ur(c, r);\n return p;\n}\nfunction Y() {\n if (J >= Ee)\n throw Error(\"Invalid byte index\");\n var e = Ae[J] & 255;\n if (J++, (e & 192) == 128)\n return e & 63;\n throw Error(\"Invalid continuation byte\");\n}\nfunction _r(e) {\n var t, r, n, i, s;\n if (J > Ee)\n throw Error(\"Invalid byte index\");\n if (J == Ee)\n return !1;\n if (t = Ae[J] & 255, J++, !(t & 128))\n return t;\n if ((t & 224) == 192) {\n if (r = Y(), s = (t & 31) << 6 | r, s >= 128)\n return s;\n throw Error(\"Invalid continuation byte\");\n }\n if ((t & 240) == 224) {\n if (r = Y(), n = Y(), s = (t & 15) << 12 | r << 6 | n, s >= 2048)\n return Lt(s, e) ? s : 65533;\n throw Error(\"Invalid continuation byte\");\n }\n if ((t & 248) == 240 && (r = Y(), n = Y(), i = Y(), s = (t & 7) << 18 | r << 12 | n << 6 | i, s >= 65536 && s <= 1114111))\n return s;\n throw Error(\"Invalid UTF-8 detected\");\n}\nvar Ae, Ee, J;\nfunction xr(e, t) {\n t = t || {};\n var r = t.strict !== !1;\n Ae = qt(e), Ee = Ae.length, J = 0;\n for (var n = [], i; (i = _r(r)) !== !1; )\n n.push(i);\n return Lr(n);\n}\nvar $r = {\n version: \"2.1.2\",\n encode: Pr,\n decode: xr\n}, me = {}, lt;\nfunction Mr() {\n return lt || (lt = 1, function(e) {\n me.encode = function(t) {\n var r = new Uint8Array(t), n, i = r.length, s = \"\";\n for (n = 0; n < i; n += 3)\n s += e[r[n] >> 2], s += e[(r[n] & 3) << 4 | r[n + 1] >> 4], s += e[(r[n + 1] & 15) << 2 | r[n + 2] >> 6], s += e[r[n + 2] & 63];\n return i % 3 === 2 ? s = s.substring(0, s.length - 1) + \"=\" : i % 3 === 1 && (s = s.substring(0, s.length - 2) + \"==\"), s;\n }, me.decode = function(t) {\n var r = t.length * 0.75, n = t.length, i, s = 0, c, p, h, o;\n t[t.length - 1] === \"=\" && (r--, t[t.length - 2] === \"=\" && r--);\n var a = new ArrayBuffer(r), u = new Uint8Array(a);\n for (i = 0; i < n; i += 4)\n c = e.indexOf(t[i]), p = e.indexOf(t[i + 1]), h = e.indexOf(t[i + 2]), o = e.indexOf(t[i + 3]), u[s++] = c << 2 | p >> 4, u[s++] = (p & 15) << 4 | h >> 2, u[s++] = (h & 3) << 6 | o & 63;\n return a;\n };\n }(\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\")), me;\n}\nvar Ue, dt;\nfunction Hr() {\n if (dt)\n return Ue;\n dt = 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 p = new Blob([\"hi\"]);\n return p.size === 2;\n } catch {\n return !1;\n }\n }(), r = t && function() {\n try {\n var p = new Blob([new Uint8Array([1, 2])]);\n return p.size === 2;\n } catch {\n return !1;\n }\n }(), n = e && e.prototype.append && e.prototype.getBlob;\n function i(p) {\n return p.map(function(h) {\n if (h.buffer instanceof ArrayBuffer) {\n var o = h.buffer;\n if (h.byteLength !== o.byteLength) {\n var a = new Uint8Array(h.byteLength);\n a.set(new Uint8Array(o, h.byteOffset, h.byteLength)), o = a.buffer;\n }\n return o;\n }\n return h;\n });\n }\n function s(p, h) {\n h = h || {};\n var o = new e();\n return i(p).forEach(function(a) {\n o.append(a);\n }), h.type ? o.getBlob(h.type) : o.getBlob();\n }\n function c(p, h) {\n return new Blob(i(p), h || {});\n }\n return typeof Blob < \"u\" && (s.prototype = Blob.prototype, c.prototype = Blob.prototype), Ue = /* @__PURE__ */ function() {\n return t ? r ? Blob : c : n ? s : void 0;\n }(), Ue;\n}\n(function(e) {\n var t = Or, r = Tt(), n = Ir, i = Dr, s = $r, c;\n typeof ArrayBuffer < \"u\" && (c = Mr());\n var p = typeof navigator < \"u\" && /Android/i.test(navigator.userAgent), h = typeof navigator < \"u\" && /PhantomJS/i.test(navigator.userAgent), o = p || h;\n e.protocol = 3;\n var a = e.packets = {\n open: 0,\n close: 1,\n ping: 2,\n pong: 3,\n message: 4,\n upgrade: 5,\n noop: 6\n }, u = t(a), d = { type: \"error\", data: \"parser error\" }, f = Hr();\n e.encodePacket = function(l, g, v, b) {\n typeof g == \"function\" && (b = g, g = !1), typeof v == \"function\" && (b = v, v = null);\n var w = l.data === void 0 ? void 0 : l.data.buffer || l.data;\n if (typeof ArrayBuffer < \"u\" && w instanceof ArrayBuffer)\n return C(l, g, b);\n if (typeof f < \"u\" && w instanceof f)\n return y(l, g, b);\n if (w && w.base64)\n return R(l, b);\n var F = a[l.type];\n return l.data !== void 0 && (F += v ? s.encode(String(l.data), { strict: !1 }) : String(l.data)), b(\"\" + F);\n };\n function R(l, g) {\n var v = \"b\" + e.packets[l.type] + l.data.data;\n return g(v);\n }\n function C(l, g, v) {\n if (!g)\n return e.encodeBase64Packet(l, v);\n var b = l.data, w = new Uint8Array(b), F = new Uint8Array(1 + b.byteLength);\n F[0] = a[l.type];\n for (var E = 0; E < w.length; E++)\n F[E + 1] = w[E];\n return v(F.buffer);\n }\n function I(l, g, v) {\n if (!g)\n return e.encodeBase64Packet(l, v);\n var b = new FileReader();\n return b.onload = function() {\n e.encodePacket({ type: l.type, data: b.result }, g, !0, v);\n }, b.readAsArrayBuffer(l.data);\n }\n function y(l, g, v) {\n if (!g)\n return e.encodeBase64Packet(l, v);\n if (o)\n return I(l, g, v);\n var b = new Uint8Array(1);\n b[0] = a[l.type];\n var w = new f([b.buffer, l.data]);\n return v(w);\n }\n e.encodeBase64Packet = function(l, g) {\n var v = \"b\" + e.packets[l.type];\n if (typeof f < \"u\" && l.data instanceof f) {\n var b = new FileReader();\n return b.onload = function() {\n var k = b.result.split(\",\")[1];\n g(v + k);\n }, b.readAsDataURL(l.data);\n }\n var w;\n try {\n w = String.fromCharCode.apply(null, new Uint8Array(l.data));\n } catch {\n for (var F = new Uint8Array(l.data), E = new Array(F.length), S = 0; S < F.length; S++)\n E[S] = F[S];\n w = String.fromCharCode.apply(null, E);\n }\n return v += btoa(w), g(v);\n }, e.decodePacket = function(l, g, v) {\n if (l === void 0)\n return d;\n if (typeof l == \"string\") {\n if (l.charAt(0) === \"b\")\n return e.decodeBase64Packet(l.substr(1), g);\n if (v && (l = m(l), l === !1))\n return d;\n var w = l.charAt(0);\n return Number(w) != w || !u[w] ? d : l.length > 1 ? { type: u[w], data: l.substring(1) } : { type: u[w] };\n }\n var b = new Uint8Array(l), w = b[0], F = n(l, 1);\n return f && g === \"blob\" && (F = new f([F])), { type: u[w], data: F };\n };\n function m(l) {\n try {\n l = s.decode(l, { strict: !1 });\n } catch {\n return !1;\n }\n return l;\n }\n e.decodeBase64Packet = function(l, g) {\n var v = u[l.charAt(0)];\n if (!c)\n return { type: v, data: { base64: !0, data: l.substr(1) } };\n var b = c.decode(l.substr(1));\n return g === \"blob\" && f && (b = new f([b])), { type: v, data: b };\n }, e.encodePayload = function(l, g, v) {\n typeof g == \"function\" && (v = g, g = null);\n var b = r(l);\n if (g && b)\n return f && !o ? e.encodePayloadAsBlob(l, v) : e.encodePayloadAsArrayBuffer(l, v);\n if (!l.length)\n return v(\"0:\");\n function w(E) {\n return E.length + \":\" + E;\n }\n function F(E, S) {\n e.encodePacket(E, b ? g : !1, !1, function(k) {\n S(null, w(k));\n });\n }\n A(l, F, function(E, S) {\n return v(S.join(\"\"));\n });\n };\n function A(l, g, v) {\n for (var b = new Array(l.length), w = i(l.length, v), F = function(S, k, D) {\n g(k, function(T, q) {\n b[S] = q, D(T, b);\n });\n }, E = 0; E < l.length; E++)\n F(E, l[E], w);\n }\n e.decodePayload = function(l, g, v) {\n if (typeof l != \"string\")\n return e.decodePayloadAsBinary(l, g, v);\n typeof g == \"function\" && (v = g, g = null);\n var b;\n if (l === \"\")\n return v(d, 0, 1);\n for (var w = \"\", F, E, S = 0, k = l.length; S < k; S++) {\n var D = l.charAt(S);\n if (D !== \":\") {\n w += D;\n continue;\n }\n if (w === \"\" || w != (F = Number(w)) || (E = l.substr(S + 1, F), w != E.length))\n return v(d, 0, 1);\n if (E.length) {\n if (b = e.decodePacket(E, g, !1), d.type === b.type && d.data === b.data)\n return v(d, 0, 1);\n var T = v(b, S + F, k);\n if (T === !1)\n return;\n }\n S += F, w = \"\";\n }\n if (w !== \"\")\n return v(d, 0, 1);\n }, e.encodePayloadAsArrayBuffer = function(l, g) {\n if (!l.length)\n return g(new ArrayBuffer(0));\n function v(b, w) {\n e.encodePacket(b, !0, !0, function(F) {\n return w(null, F);\n });\n }\n A(l, v, function(b, w) {\n var F = w.reduce(function(k, D) {\n var T;\n return typeof D == \"string\" ? T = D.length : T = D.byteLength, k + T.toString().length + T + 2;\n }, 0), E = new Uint8Array(F), S = 0;\n return w.forEach(function(k) {\n var D = typeof k == \"string\", T = k;\n if (D) {\n for (var V = new Uint8Array(k.length), q = 0; q < k.length; q++)\n V[q] = k.charCodeAt(q);\n T = V.buffer;\n }\n D ? E[S++] = 0 : E[S++] = 1;\n for (var G = T.byteLength.toString(), q = 0; q < G.length; q++)\n E[S++] = parseInt(G[q]);\n E[S++] = 255;\n for (var V = new Uint8Array(T), q = 0; q < V.length; q++)\n E[S++] = V[q];\n }), g(E.buffer);\n });\n }, e.encodePayloadAsBlob = function(l, g) {\n function v(b, w) {\n e.encodePacket(b, !0, !0, function(F) {\n var E = new Uint8Array(1);\n if (E[0] = 1, typeof F == \"string\") {\n for (var S = new Uint8Array(F.length), k = 0; k < F.length; k++)\n S[k] = F.charCodeAt(k);\n F = S.buffer, E[0] = 0;\n }\n for (var D = F instanceof ArrayBuffer ? F.byteLength : F.size, T = D.toString(), q = new Uint8Array(T.length + 1), k = 0; k < T.length; k++)\n q[k] = parseInt(T[k]);\n if (q[T.length] = 255, f) {\n var G = new f([E.buffer, q.buffer, F]);\n w(null, G);\n }\n });\n }\n A(l, v, function(b, w) {\n return g(new f(w));\n });\n }, e.decodePayloadAsBinary = function(l, g, v) {\n typeof g == \"function\" && (v = g, g = null);\n for (var b = l, w = []; b.byteLength > 0; ) {\n for (var F = new Uint8Array(b), E = F[0] === 0, S = \"\", k = 1; F[k] !== 255; k++) {\n if (S.length > 310)\n return v(d, 0, 1);\n S += F[k];\n }\n b = n(b, 2 + S.length), S = parseInt(S);\n var D = n(b, 0, S);\n if (E)\n try {\n D = String.fromCharCode.apply(null, new Uint8Array(D));\n } catch {\n var T = new Uint8Array(D);\n D = \"\";\n for (var k = 0; k < T.length; k++)\n D += String.fromCharCode(T[k]);\n }\n w.push(D), b = n(b, S);\n }\n var q = w.length;\n w.forEach(function(G, V) {\n v(e.decodePacket(G, g, !0), V, q);\n });\n };\n})(K);\nvar Pe, pt;\nfunction ot() {\n if (pt)\n return Pe;\n pt = 1;\n var e = K, t = ee;\n Pe = 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 s = new Error(n);\n return s.type = \"TransportError\", s.description = i, this.emit(\"error\", s), 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 }, Pe;\n}\nvar Ce = {}, yt;\nfunction Ie() {\n return yt || (yt = 1, Ce.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 }, Ce.decode = function(e) {\n for (var t = {}, r = e.split(\"&\"), n = 0, i = r.length; n < i; n++) {\n var s = r[n].split(\"=\");\n t[decodeURIComponent(s[0])] = decodeURIComponent(s[1]);\n }\n return t;\n }), Ce;\n}\nvar De = function(e, t) {\n var r = function() {\n };\n r.prototype = t.prototype, e.prototype = new r(), e.prototype.constructor = e;\n}, Ut = \"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-_\".split(\"\"), ke = 64, Pt = {}, gt = 0, X = 0, vt;\nfunction Ve(e) {\n var t = \"\";\n do\n t = Ut[e % ke] + t, e = Math.floor(e / ke);\n while (e > 0);\n return t;\n}\nfunction Wr(e) {\n var t = 0;\n for (X = 0; X < e.length; X++)\n t = t * ke + Pt[e.charAt(X)];\n return t;\n}\nfunction st() {\n var e = Ve(+/* @__PURE__ */ new Date());\n return e !== vt ? (gt = 0, vt = e) : e + \".\" + Ve(gt++);\n}\nfor (; X < ke; X++)\n Pt[Ut[X]] = X;\nst.encode = Ve;\nst.decode = Wr;\nvar _t = st, Ke = { exports: {} }, Ye = { exports: {} }, le = 1e3, de = le * 60, pe = de * 60, ye = pe * 24, zr = ye * 365.25, jr = function(e, t) {\n t = t || {};\n var r = typeof e;\n if (r === \"string\" && e.length > 0)\n return Jr(e);\n if (r === \"number\" && isNaN(e) === !1)\n return t.long ? Gr(e) : Xr(e);\n throw new Error(\n \"val is not a non-empty string or a valid number. val=\" + JSON.stringify(e)\n );\n};\nfunction Jr(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 * zr;\n case \"days\":\n case \"day\":\n case \"d\":\n return r * ye;\n case \"hours\":\n case \"hour\":\n case \"hrs\":\n case \"hr\":\n case \"h\":\n return r * pe;\n case \"minutes\":\n case \"minute\":\n case \"mins\":\n case \"min\":\n case \"m\":\n return r * de;\n case \"seconds\":\n case \"second\":\n case \"secs\":\n case \"sec\":\n case \"s\":\n return r * le;\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 Xr(e) {\n return e >= ye ? Math.round(e / ye) + \"d\" : e >= pe ? Math.round(e / pe) + \"h\" : e >= de ? Math.round(e / de) + \"m\" : e >= le ? Math.round(e / le) + \"s\" : e + \"ms\";\n}\nfunction Gr(e) {\n return be(e, ye, \"day\") || be(e, pe, \"hour\") || be(e, de, \"minute\") || be(e, le, \"second\") || e + \" ms\";\n}\nfunction be(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 = c, t.enable = s, t.enabled = p, t.humanize = jr, t.instances = [], t.names = [], t.skips = [], t.formatters = {};\n function r(o) {\n var a = 0, u;\n for (u in o)\n a = (a << 5) - a + o.charCodeAt(u), a |= 0;\n return t.colors[Math.abs(a) % t.colors.length];\n }\n function n(o) {\n var a;\n function u() {\n if (u.enabled) {\n var d = u, f = +/* @__PURE__ */ new Date(), R = f - (a || f);\n d.diff = R, d.prev = a, d.curr = f, a = f;\n for (var C = new Array(arguments.length), I = 0; I < C.length; I++)\n C[I] = arguments[I];\n C[0] = t.coerce(C[0]), typeof C[0] != \"string\" && C.unshift(\"%O\");\n var y = 0;\n C[0] = C[0].replace(/%([a-zA-Z%])/g, function(A, l) {\n if (A === \"%%\")\n return A;\n y++;\n var g = t.formatters[l];\n if (typeof g == \"function\") {\n var v = C[y];\n A = g.call(d, v), C.splice(y, 1), y--;\n }\n return A;\n }), t.formatArgs.call(d, C);\n var m = u.log || t.log || console.log.bind(console);\n m.apply(d, C);\n }\n }\n return u.namespace = o, u.enabled = t.enabled(o), u.useColors = t.useColors(), u.color = r(o), u.destroy = i, typeof t.init == \"function\" && t.init(u), t.instances.push(u), u;\n }\n function i() {\n var o = t.instances.indexOf(this);\n return o !== -1 ? (t.instances.splice(o, 1), !0) : !1;\n }\n function s(o) {\n t.save(o), t.names = [], t.skips = [];\n var a, u = (typeof o == \"string\" ? o : \"\").split(/[\\s,]+/), d = u.length;\n for (a = 0; a < d; a++)\n u[a] && (o = u[a].replace(/\\*/g, \".*?\"), o[0] === \"-\" ? t.skips.push(new RegExp(\"^\" + o.substr(1) + \"$\")) : t.names.push(new RegExp(\"^\" + o + \"$\")));\n for (a = 0; a < t.instances.length; a++) {\n var f = t.instances[a];\n f.enabled = t.enabled(f.namespace);\n }\n }\n function c() {\n t.enable(\"\");\n }\n function p(o) {\n if (o[o.length - 1] === \"*\")\n return !0;\n var a, u;\n for (a = 0, u = t.skips.length; a < u; a++)\n if (t.skips[a].test(o))\n return !1;\n for (a = 0, u = t.names.length; a < u; a++)\n if (t.names[a].test(o))\n return !0;\n return !1;\n }\n function h(o) {\n return o instanceof Error ? o.stack || o.message : o;\n }\n})(Ye, Ye.exports);\nvar Vr = Ye.exports;\n(function(e, t) {\n t = e.exports = Vr, t.log = i, t.formatArgs = n, t.save = s, t.load = c, t.useColors = r, t.storage = typeof chrome < \"u\" && typeof chrome.storage < \"u\" ? chrome.storage.local : p(), 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 (o) {\n return \"[UnexpectedJSONParseError]: \" + o.message;\n }\n };\n function n(h) {\n var o = this.useColors;\n if (h[0] = (o ? \"%c\" : \"\") + this.namespace + (o ? \" %c\" : \" \") + h[0] + (o ? \"%c \" : \" \") + \"+\" + t.humanize(this.diff), !!o) {\n var a = \"color: \" + this.color;\n h.splice(1, 0, a, \"color: inherit\");\n var u = 0, d = 0;\n h[0].replace(/%[a-zA-Z%]/g, function(f) {\n f !== \"%%\" && (u++, f === \"%c\" && (d = u));\n }), h.splice(d, 0, a);\n }\n }\n function i() {\n return typeof console == \"object\" && console.log && Function.prototype.apply.call(console.log, console, arguments);\n }\n function s(h) {\n try {\n h == null ? t.storage.removeItem(\"debug\") : t.storage.debug = h;\n } catch {\n }\n }\n function c() {\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(c());\n function p() {\n try {\n return window.localStorage;\n } catch {\n }\n }\n})(Ke, Ke.exports);\nvar Te = Ke.exports, xt = ot(), Kr = Ie(), $t = K, Yr = De, Qr = _t, H = Te(\"engine.io-client:polling\"), Mt = W, Zr = function() {\n var e = nt, t = new e({ xdomain: !1 });\n return t.responseType != null;\n}();\nfunction W(e) {\n var t = e && e.forceBase64;\n (!Zr || t) && (this.supportsBinary = !1), xt.call(this, e);\n}\nYr(W, xt);\nW.prototype.name = \"polling\";\nW.prototype.doOpen = function() {\n this.poll();\n};\nW.prototype.pause = function(e) {\n var t = this;\n this.readyState = \"pausing\";\n function r() {\n H(\"paused\"), t.readyState = \"paused\", e();\n }\n if (this.polling || !this.writable) {\n var n = 0;\n this.polling && (H(\"we are currently polling - waiting to pause\"), n++, this.once(\"pollComplete\", function() {\n H(\"pre-pause polling complete\"), --n || r();\n })), this.writable || (H(\"we are currently writing - waiting to pause\"), n++, this.once(\"drain\", function() {\n H(\"pre-pause writing complete\"), --n || r();\n }));\n } else\n r();\n};\nW.prototype.poll = function() {\n H(\"polling\"), this.polling = !0, this.doPoll(), this.emit(\"poll\");\n};\nW.prototype.onData = function(e) {\n var t = this;\n H(\"polling got data %s\", e);\n var r = function(n, i, s) {\n if (t.readyState === \"opening\" && n.type === \"open\" && t.onOpen(), n.type === \"close\")\n return t.onClose(), !1;\n t.onPacket(n);\n };\n $t.decodePayload(e, this.socket.binaryType, r), this.readyState !== \"closed\" && (this.polling = !1, this.emit(\"pollComplete\"), this.readyState === \"open\" ? this.poll() : H('ignoring poll - transport state \"%s\"', this.readyState));\n};\nW.prototype.doClose = function() {\n var e = this;\n function t() {\n H(\"writing close packet\"), e.write([{ type: \"close\" }]);\n }\n this.readyState === \"open\" ? (H(\"transport open - closing\"), t()) : (H(\"transport not open - deferring close\"), this.once(\"open\", t));\n};\nW.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 $t.encodePayload(e, this.supportsBinary, function(n) {\n t.doWrite(n, r);\n });\n};\nW.prototype.uri = function() {\n var e = this.query || {}, t = this.secure ? \"https\" : \"http\", r = \"\";\n this.timestampRequests !== !1 && (e[this.timestampParam] = Qr()), !this.supportsBinary && !e.sid && (e.b64 = 1), e = Kr.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 en = nt, Ht = Mt, tn = ee, rn = De, Qe = Te(\"engine.io-client:polling-xhr\"), nn = rt;\nit.exports = te;\nit.exports.Request = P;\nfunction mt() {\n}\nfunction te(e) {\n if (Ht.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}\nrn(te, Ht);\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 P(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(s) {\n i.onError(\"xhr post error\", s);\n }), this.sendXhr = n;\n};\nte.prototype.doPoll = function() {\n Qe(\"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 P(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}\ntn(P.prototype);\nP.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 en(e), r = this;\n try {\n Qe(\"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 }, Qe(\"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 = P.requestsCount++, P.requests[this.index] = this);\n};\nP.prototype.onSuccess = function() {\n this.emit(\"success\"), this.cleanup();\n};\nP.prototype.onData = function(e) {\n this.emit(\"data\", e), this.onSuccess();\n};\nP.prototype.onError = function(e) {\n this.emit(\"error\", e), this.cleanup(!0);\n};\nP.prototype.cleanup = function(e) {\n if (!(typeof this.xhr > \"u\" || this.xhr === null)) {\n if (this.hasXDR() ? this.xhr.onload = this.xhr.onerror = mt : this.xhr.onreadystatechange = mt, e)\n try {\n this.xhr.abort();\n } catch {\n }\n typeof document < \"u\" && delete P.requests[this.index], this.xhr = null;\n }\n};\nP.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};\nP.prototype.hasXDR = function() {\n return typeof XDomainRequest < \"u\" && !this.xs && this.enablesXDR;\n};\nP.prototype.abort = function() {\n this.cleanup();\n};\nP.requestsCount = 0;\nP.requests = {};\nif (typeof document < \"u\") {\n if (typeof attachEvent == \"function\")\n attachEvent(\"onunload\", Ct);\n else if (typeof addEventListener == \"function\") {\n var on = \"onpagehide\" in nn ? \"pagehide\" : \"unload\";\n addEventListener(on, Ct, !1);\n }\n}\nfunction Ct() {\n for (var e in P.requests)\n P.requests.hasOwnProperty(e) && P.requests[e].abort();\n}\nvar sn = it.exports, at = Mt, an = De, bt = rt, cn = re, un = /\\n/g, fn = /\\\\n/g, we;\nfunction hn() {\n}\nfunction re(e) {\n at.call(this, e), this.query = this.query || {}, we || (we = bt.___eio = bt.___eio || []), this.index = we.length;\n var t = this;\n we.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 = hn);\n }, !1);\n}\nan(re, at);\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), at.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\"), s = this.iframeId = \"eio_iframe_\" + this.index, c;\n n.className = \"socketio\", n.style.position = \"absolute\", n.style.top = \"-1000px\", n.style.left = \"-1000px\", n.target = s, 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 p() {\n h(), t();\n }\n function h() {\n if (r.iframe)\n try {\n r.form.removeChild(r.iframe);\n } catch (a) {\n r.onError(\"jsonp polling iframe removal error\", a);\n }\n try {\n var o = '<iframe src=\"javascript:0\" name=\"' + r.iframeId + '\">';\n c = document.createElement(o);\n } catch {\n c = document.createElement(\"iframe\"), c.name = r.iframeId, c.src = \"javascript:0\";\n }\n c.id = r.iframeId, r.form.appendChild(c), r.iframe = c;\n }\n h(), e = e.replace(fn, `\\\\\n`), this.area.value = e.replace(un, \"\\\\n\");\n try {\n this.form.submit();\n } catch {\n }\n this.iframe.attachEvent ? this.iframe.onreadystatechange = function() {\n r.iframe.readyState === \"complete\" && p();\n } : this.iframe.onload = p;\n};\nconst ln = {}, dn = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({\n __proto__: null,\n default: ln\n}, Symbol.toStringTag, { value: \"Module\" })), pn = /* @__PURE__ */ Zt(dn);\nvar ct = ot(), yn = K, gn = Ie(), vn = De, mn = _t, Cn = Te(\"engine.io-client:websocket\"), Be, ut;\ntypeof WebSocket < \"u\" ? Be = WebSocket : typeof self < \"u\" && (Be = self.WebSocket || self.MozWebSocket);\nif (typeof window > \"u\")\n try {\n ut = pn;\n } catch {\n }\nvar Z = Be || ut, bn = M;\nfunction M(e) {\n var t = e && e.forceBase64;\n t && (this.supportsBinary = !1), this.perMessageDeflate = e.perMessageDeflate, this.usingBrowserWebSocket = Be && !e.forceNode, this.protocols = e.protocols, this.usingBrowserWebSocket || (Z = ut), ct.call(this, e);\n}\nvn(M, ct);\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(c) {\n yn.encodePacket(c, t.supportsBinary, function(p) {\n if (!t.usingBrowserWebSocket) {\n var h = {};\n if (c.options && (h.compress = c.options.compress), t.perMessageDeflate) {\n var o = typeof p == \"string\" ? Buffer.byteLength(p) : p.length;\n o < t.perMessageDeflate.threshold && (h.compress = !1);\n }\n }\n try {\n t.usingBrowserWebSocket ? t.ws.send(p) : t.ws.send(p, h);\n } catch {\n Cn(\"websocket closed before onclose event\");\n }\n --r || s();\n });\n })(e[n]);\n function s() {\n t.emit(\"flush\"), setTimeout(function() {\n t.writable = !0, t.emit(\"drain\");\n }, 0);\n }\n};\nM.prototype.onClose = function() {\n ct.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] = mn()), this.supportsBinary || (e.b64 = 1), e = gn.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 wn = nt, Fn = sn, An = cn, En = bn;\nOe.polling = kn;\nOe.websocket = En;\nfunction kn(e) {\n var t, r = !1, n = !1, i = e.jsonp !== !1;\n if (typeof location < \"u\") {\n var s = location.protocol === \"https:\", c = location.port;\n c || (c = s ? 443 : 80), r = e.hostname !== location.hostname || c !== e.port, n = e.secure !== s;\n }\n if (e.xdomain = r, e.xscheme = n, t = new wn(e), \"open\" in t && !e.forceJSONP)\n return new Fn(e);\n if (!i)\n throw new Error(\"JSONP disabled\");\n return new An(e);\n}\nvar Bn = [].indexOf, Wt = function(e, t) {\n if (Bn)\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}, Sn = Oe, Nn = ee, L = Te(\"engine.io-client:socket\"), Rn = Wt, zt = K, wt = Nt, On = Ie(), In = 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 = wt(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 = wt(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 = On.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;\nNn(B.prototype);\nB.protocol = zt.protocol;\nB.Socket = B;\nB.Transport = ot();\nB.transports = Oe;\nB.parser = K;\nB.prototype.createTransport = function(e) {\n L('creating transport \"%s\"', e);\n var t = Dn(this.query);\n t.EIO = zt.protocol, t.transport = e;\n var r = this.transportOptions[e] || {};\n this.id && (t.sid = this.id);\n var n = new Sn[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 Dn(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 L(\"setting transport %s\", e.name);\n var t = this;\n this.transport && (L(\"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 L('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 u = !this.supportsBinary && n.transport.supportsBinary;\n r = r || u;\n }\n r || (L('probe transport \"%s\" opened', e), t.send([{ type: \"ping\", data: \"probe\" }]), t.once(\"packet\", function(d) {\n if (!r)\n if (d.type === \"pong\" && d.data === \"probe\") {\n if (L('probe transport \"%s\" pong', e), n.upgrading = !0, n.emit(\"upgrading\", t), !t)\n return;\n B.priorWebsocketSuccess = t.name === \"websocket\", L('pausing current transport \"%s\"', n.transport.name), n.transport.pause(function() {\n r || n.readyState !== \"closed\" && (L(\"changing transport and sending upgrade packet\"), a(), n.setTransport(t), t.send([{ type: \"upgrade\" }]), n.emit(\"upgrade\", t), t = null, n.upgrading = !1, n.flush());\n });\n } else {\n L('probe transport \"%s\" failed', e);\n var f = new Error(\"probe error\");\n f.transport = t.name, n.emit(\"upgradeError\", f);\n }\n }));\n }\n function s() {\n r || (r = !0, a(), t.close(), t = null);\n }\n function c(u) {\n var d = new Error(\"probe error: \" + u);\n d.transport = t.name, s(), L('probe transport \"%s\" failed because of error: %s', e, u), n.emit(\"upgradeError\", d);\n }\n function p() {\n c(\"transport closed\");\n }\n function h() {\n c(\"socket closed\");\n }\n function o(u) {\n t && u.name !== t.name && (L('\"%s\" works - aborting \"%s\"', u.name, t.name), s());\n }\n function a() {\n t.removeListener(\"open\", i), t.removeListener(\"error\", c), t.removeListener(\"close\", p), n.removeListener(\"close\", h), n.removeListener(\"upgrading\", o);\n }\n t.once(\"open\", i), t.once(\"error\", c), t.once(\"close\", p), this.once(\"close\", h), this.once(\"upgrading\", o), t.open();\n};\nB.prototype.onOpen = function() {\n if (L(\"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 L(\"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 (L('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 L('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 L(\"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 && (L(\"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\"), L(\"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 L(\"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 L('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 ~Rn(this.transports, e[r]) && t.push(e[r]);\n return t;\n};\ntt.exports = In;\ntt.exports.parser = K;\nvar Tn = tt.exports, _e = { exports: {} }, xe, Ft;\nfunction qn() {\n if (Ft)\n return xe;\n Ft = 1, xe = 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 xe;\n}\nvar jt = Ln;\nfunction Ln(e, t, r) {\n return e.on(t, r), {\n destroy: function() {\n e.removeListener(t, r);\n }\n };\n}\nvar At = [].slice, Jt = 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}, Et;\nfunction Xt() {\n return Et || (Et = 1, function(e, t) {\n var r = Ne, n = ee, i = qn(), s = jt, c = Jt, p = Se(\"socket.io-client:socket\"), h = Ie(), o = Tt();\n e.exports = d;\n var a = {\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 }, u = n.prototype.emit;\n function d(f, R, C) {\n this.io = f, this.nsp = R, this.json = this, this.ids = 0, this.acks = {}, this.receiveBuffer = [], this.sendBuffer = [], this.connected = !1, this.disconnected = !0, this.flags = {}, C && C.query && (this.query = C.query), this.io.autoConnect && this.open();\n }\n n(d.prototype), d.prototype.subEvents = function() {\n if (!this.subs) {\n var f = this.io;\n this.subs = [\n s(f, \"open\", c(this, \"onopen\")),\n s(f, \"packet\", c(this, \"onpacket\")),\n s(f, \"close\", c(this, \"onclose\"))\n ];\n }\n }, d.prototype.open = d.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 }, d.prototype.send = function() {\n var f = i(arguments);\n return f.unshift(\"message\"), this.emit.apply(this, f), this;\n }, d.prototype.emit = function(f) {\n if (a.hasOwnProperty(f))\n return u.apply(this, arguments), this;\n var R = i(arguments), C = {\n type: (this.flags.binary !== void 0 ? this.flags.binary : o(R)) ? r.BINARY_EVENT : r.EVENT,\n data: R\n };\n return C.options = {}, C.options.compress = !this.flags || this.flags.compress !== !1, typeof R[R.length - 1] == \"function\" && (p(\"emitting packet with ack id %d\", this.ids), this.acks[this.ids] = R.pop(), C.id = this.ids++), this.connected ? this.packet(C) : this.sendBuffer.push(C), this.flags = {}, this;\n }, d.prototype.packet = function(f) {\n f.nsp = this.nsp, this.io.packet(f);\n }, d.prototype.onopen = function() {\n if (p(\"transport is open - connecting\"), this.nsp !== \"/\")\n if (this.query) {\n var f = typeof this.query == \"object\" ? h.encode(this.query) : this.query;\n p(\"sending connect packet with query %s\", f), this.packet({ type: r.CONNECT, query: f });\n } else\n this.packet({ type: r.CONNECT });\n }, d.prototype.onclose = function(f) {\n p(\"close (%s)\", f), this.connected = !1, this.disconnected = !0, delete this.id, this.emit(\"disconnect\", f);\n }, d.prototype.onpacket = function(f) {\n var R = f.nsp === this.nsp, C = f.type === r.ERROR && f.nsp === \"/\";\n if (!(!R && !C))\n switch (f.type) {\n case r.CONNECT:\n this.onconnect();\n break;\n case r.EVENT:\n this.onevent(f);\n break;\n case r.BINARY_EVENT:\n this.onevent(f);\n break;\n case r.ACK:\n this.onack(f);\n break;\n case r.BINARY_ACK:\n this.onack(f);\n break;\n case r.DISCONNECT:\n this.ondisconnect();\n break;\n case r.ERROR:\n this.emit(\"error\", f.data);\n break;\n }\n }, d.prototype.onevent = function(f) {\n var R = f.data || [];\n p(\"emitting event %j\", R), f.id != null && (p(\"attaching ack callback to event\"), R.push(this.ack(f.id))), this.connected ? u.apply(this, R) : this.receiveBuffer.push(R);\n }, d.prototype.ack = function(f) {\n var R = this, C = !1;\n return function() {\n if (!C) {\n C = !0;\n var I = i(arguments);\n p(\"sending ack %j\", I), R.packet({\n type: o(I) ? r.BINARY_ACK : r.ACK,\n id: f,\n data: I\n });\n }\n };\n }, d.prototype.onack = function(f) {\n var R = this.acks[f.id];\n typeof R == \"function\" ? (p(\"calling ack %s with %j\", f.id, f.data), R.apply(this, f.data), delete this.acks[f.id]) : p(\"bad ack %s\", f.id);\n }, d.prototype.onconnect = function() {\n this.connected = !0, this.disconnected = !1, this.emitBuffered(), this.emit(\"connect\");\n }, d.prototype.emitBuffered = function() {\n var f;\n for (f = 0; f < this.receiveBuffer.length; f++)\n u.apply(this, this.receiveBuffer[f]);\n for (this.receiveBuffer = [], f = 0; f < this.sendBuffer.length; f++)\n this.packet(this.sendBuffer[f]);\n this.sendBuffer = [];\n }, d.prototype.ondisconnect = function() {\n p(\"server disconnect (%s)\", this.nsp), this.destroy(), this.onclose(\"io server disconnect\");\n }, d.prototype.destroy = function() {\n if (this.subs) {\n for (var f = 0; f < this.subs.length; f++)\n this.subs[f].destroy();\n this.subs = null;\n }\n this.io.destroy(this);\n }, d.prototype.close = d.prototype.disconnect = function() {\n return this.connected && (p(\"performing disconnect (%s)\", this.nsp), this.packet({ type: r.DISCONNECT })), this.destroy(), this.connected && this.onclose(\"io client disconnect\"), this;\n }, d.prototype.compress = function(f) {\n return this.flags.compress = f, this;\n }, d.prototype.binary = function(f) {\n return this.flags.binary = f, this;\n };\n }(_e)), _e.exports;\n}\nvar Un = 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 Pn = Tn, _n = Xt(), xn = ee, $n = Ne, z = jt, Q = Jt, x = Se(\"socket.io-client:manager\"), Gt = Wt, Mn = Un, Vt = Object.prototype.hasOwnProperty, kt = N;\nfunction N(e, t) {\n if (!(this instanceof N))\n return new N(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 Mn({\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 || $n;\n this.encoder = new r.Encoder(), this.decoder = new r.Decoder(), this.autoConnect = t.autoConnect !== !1, this.autoConnect && this.open();\n}\nN.prototype.emitAll = function() {\n this.emit.apply(this, arguments);\n for (var e in this.nsps)\n Vt.call(this.nsps, e) && this.nsps[e].emit.apply(this.nsps[e], arguments);\n};\nN.prototype.updateSocketIds = function() {\n for (var e in this.nsps)\n Vt.call(this.nsps, e) && (this.nsps[e].id = this.generateId(e));\n};\nN.prototype.generateId = function(e) {\n return (e === \"/\" ? \"\" : e + \"#\") + this.engine.id;\n};\nxn(N.prototype);\nN.prototype.reconnection = function(e) {\n return arguments.length ? (this._reconnection = !!e, this) : this._reconnection;\n};\nN.prototype.reconnectionAttempts = function(e) {\n return arguments.length ? (this._reconnectionAttempts = e, this) : this._reconnectionAttempts;\n};\nN.prototype.reconnectionDelay = function(e) {\n return arguments.length ? (this._reconnectionDelay = e, this.backoff && this.backoff.setMin(e), this) : this._reconnectionDelay;\n};\nN.prototype.randomizationFactor = function(e) {\n return arguments.length ? (this._randomizationFactor = e, this.backoff && this.backoff.setJitter(e), this) : this._randomizationFactor;\n};\nN.prototype.reconnectionDelayMax = function(e) {\n return arguments.length ? (this._reconnectionDelayMax = e, this.backoff && this.backoff.setMax(e), this) : this._reconnectionDelayMax;\n};\nN.prototype.timeout = function(e) {\n return arguments.length ? (this._timeout = e, this) : this._timeout;\n};\nN.prototype.maybeReconnectOnOpen = function() {\n !this.reconnecting && this._reconnection && this.backoff.attempts === 0 && this.reconnect();\n};\nN.prototype.open = N.prototype.connect = function(e, t) {\n if (x(\"readyState %s\", this.readyState), ~this.readyState.indexOf(\"open\"))\n return this;\n x(\"opening %s\", this.uri), this.engine = Pn(this.uri, this.opts);\n var r = this.engine, n = this;\n this.readyState = \"opening\", this.skipReconnect = !1;\n var i = z(r, \"open\", function() {\n n.onopen(), e && e();\n }), s = z(r, \"error\", function(h) {\n if (x(\"connect_error\"), n.cleanup(), n.readyState = \"closed\", n.emitAll(\"connect_error\", h), e) {\n var o = new Error(\"Connection error\");\n o.data = h, e(o);\n } else\n n.maybeReconnectOnOpen();\n });\n if (this._timeout !== !1) {\n var c = this._timeout;\n x(\"connect attempt will timeout after %d\", c), c === 0 && i.destroy();\n var p = setTimeout(function() {\n x(\"connect attempt timed out after %d\", c), i.destroy(), r.close(), r.emit(\"error\", \"timeout\"), n.emitAll(\"connect_timeout\", c);\n }, c);\n this.subs.push({\n destroy: function() {\n clearTimeout(p);\n }\n });\n }\n return this.subs.push(i), this.subs.push(s), this;\n};\nN.prototype.onopen = function() {\n x(\"open\"), this.cleanup(), this.readyState = \"open\", this.emit(\"open\");\n var e = this.engine;\n this.subs.push(z(e, \"data\", Q(this, \"ondata\"))), this.subs.push(z(e, \"ping\", Q(this, \"onping\"))), this.subs.push(z(e, \"pong\", Q(this, \"onpong\"))), this.subs.push(z(e, \"error\", Q(this, \"onerror\"))), this.subs.push(z(e, \"close\", Q(this, \"onclose\"))), this.subs.push(z(this.decoder, \"decoded\", Q(this, \"ondecoded\")));\n};\nN.prototype.onping = function() {\n this.lastPing = /* @__PURE__ */ new Date(), this.emitAll(\"ping\");\n};\nN.prototype.onpong = function() {\n this.emitAll(\"pong\", /* @__PURE__ */ new Date() - this.lastPing);\n};\nN.prototype.ondata = function(e) {\n this.decoder.add(e);\n};\nN.prototype.ondecoded = function(e) {\n this.emit(\"packet\", e);\n};\nN.prototype.onerror = function(e) {\n x(\"error\", e), this.emitAll(\"error\", e);\n};\nN.prototype.socket = function(e, t) {\n var r = this.nsps[e];\n if (!r) {\n r = new _n(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 ~Gt(n.connecting, r) || n.connecting.push(r);\n }\n return r;\n};\nN.prototype.destroy = function(e) {\n var t = Gt(this.connecting, e);\n ~t && this.connecting.splice(t, 1), !this.connecting.length && this.close();\n};\nN.prototype.packet = function(e) {\n x(\"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};\nN.prototype.processPacketQueue = function() {\n if (this.packetBuffer.length > 0 && !this.encoding) {\n var e = this.packetBuffer.shift();\n this.packet(e);\n }\n};\nN.prototype.cleanup = function() {\n x(\"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};\nN.prototype.close = N.prototype.disconnect = function() {\n x(\"disconnect\"), this.skipReconnect = !0, this.reconnecting = !1, this.readyState === \"opening\" && this.cleanup(), this.backoff.reset(), this.readyState = \"closed\", this.engine && this.engine.close();\n};\nN.prototype.onclose = function(e) {\n x(\"onclose\"), this.cleanup(), this.backoff.reset(), this.readyState = \"closed\", this.emit(\"close\", e), this._reconnection && !this.skipReconnect && this.reconnect();\n};\nN.prototype.reconnect = function() {\n if (this.reconnecting || this.skipReconnect)\n return this;\n var e = this;\n if (this.backoff.attempts >= this._reconnectionAttempts)\n x(\"reconnect failed\"), this.backoff.reset(), this.emitAll(\"reconnect_failed\"), this.reconnecting = !1;\n else {\n var t = this.backoff.duration();\n x(\"will wait %dms before reconnect attempt\", t), this.reconnecting = !0;\n var r = setTimeout(function() {\n e.skipReconnect || (x(\"attempting reconnect\"), e.emitAll(\"reconnect_attempt\", e.backoff.attempts), e.emitAll(\"reconnecting\", e.backoff.attempts), !e.skipReconnect && e.open(function(n) {\n n ? (x(\"reconnect attempt error\"), e.reconnecting = !1, e.reconnect(), e.emitAll(\"reconnect_error\", n.data)) : (x(\"reconnect success\"), e.onreconnect());\n }));\n }, t);\n this.subs.push({\n destroy: function() {\n clearTimeout(r);\n }\n });\n }\n};\nN.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 = hr, n = Ne, i = kt, s = Se(\"socket.io-client\");\n e.exports = t = p;\n var c = t.managers = {};\n function p(h, o) {\n typeof h == \"object\" && (o = h, h = void 0), o = o || {};\n var a = r(h), u = a.source, d = a.id, f = a.path, R = c[d] && f in c[d].nsps, C = o.forceNew || o[\"force new connection\"] || o.multiplex === !1 || R, I;\n return C ? (s(\"ignoring socket cache for %s\", u), I = i(u, o)) : (c[d] || (s(\"new io instance for %s\", u), c[d] = i(u, o)), I = c[d]), a.query && !o.query && (o.query = a.query), I.socket(a.path, o);\n }\n t.protocol = n.protocol, t.connect = p, t.Manager = kt, t.Socket = Xt();\n})(Me, Me.exports);\nvar Hn = Me.exports;\nconst Wn = /* @__PURE__ */ Qt(Hn);\nlet Fe;\nconst zn = new Uint8Array(16);\nfunction jn() {\n if (!Fe && (Fe = typeof crypto < \"u\" && crypto.getRandomValues && crypto.getRandomValues.bind(crypto), !Fe))\n throw new Error(\"crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported\");\n return Fe(zn);\n}\nconst _ = [];\nfor (let e = 0; e < 256; ++e)\n _.push((e + 256).toString(16).slice(1));\nfunction Jn(e, t = 0) {\n return _[e[t + 0]] + _[e[t + 1]] + _[e[t + 2]] + _[e[t + 3]] + \"-\" + _[e[t + 4]] + _[e[t + 5]] + \"-\" + _[e[t + 6]] + _[e[t + 7]] + \"-\" + _[e[t + 8]] + _[e[t + 9]] + \"-\" + _[e[t + 10]] + _[e[t + 11]] + _[e[t + 12]] + _[e[t + 13]] + _[e[t + 14]] + _[e[t + 15]];\n}\nconst Xn = typeof crypto < \"u\" && crypto.randomUUID && crypto.randomUUID.bind(crypto), Bt = {\n randomUUID: Xn\n};\nfunction Gn(e, t, r) {\n if (Bt.randomUUID && !e)\n return Bt.randomUUID();\n e = e || {};\n const n = e.random || (e.rng || jn)();\n return n[6] = n[6] & 15 | 64, n[8] = n[8] & 63 | 128, Jn(n);\n}\nfunction Vn(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 Kn(e, t) {\n const r = JSON.parse(e);\n return t.forEach((n) => delete r[n]), r;\n}\nfunction Yn(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 Qn(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 St(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 Zn = {\n reconnection: !0,\n reconnectionDelay: 5e3,\n reconnectionAttempts: 10,\n //perMessageDeflate: false,\n upgrade: !1,\n transports: [\"websocket\"],\n debug: !1\n}, $e = {\n logToConsole: !0,\n overloadGlobalConsole: !1,\n socketEmitInterval: 6e4\n}, ri = {\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}, ei = {\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}, ni = {\n INFO: \"info\",\n WARNING: \"warning\",\n MODIFY: \"modify\",\n ERROR: \"error\",\n VIEW: \"view\"\n}, U = {\n INFO: \"info\",\n WARNING: \"warning\",\n ERROR: \"error\",\n DEBUG: \"debug\"\n}, ii = {\n USER: \"User\",\n ACCOUNT: \"Account\"\n}, oi = {\n USER: \"UserName\",\n ACCOUNT: \"AccountName\",\n EXTENSION: \"ExtensionName\"\n}, si = {\n USER: \"UserID\",\n ACCOUNT: \"AccountID\",\n EXTENSION: \"ExtensionID\"\n}, ai = {\n USER: \"User ID\",\n ACCOUNT: \"Account ID\",\n EXTENSION: \"Extension ID\",\n CAMPAIGN: \"Campaign ID\",\n QUEUE: \"Queue ID\"\n}, ci = {\n USER: \"User\",\n ACCOUNT: \"Account\",\n EXTENSION: \"Extension\",\n CAMPAIGN: \"Campaign\",\n QUEUE: \"Queue\"\n};\nlet $ = console;\nclass ui {\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, \"loggerLevel\", U.DEBUG);\n O(this, \"loggerLevelMap\", {\n [U.DEBUG]: [\n U.DEBUG,\n U.INFO,\n U.WARNING,\n U.ERROR\n ],\n [U.INFO]: [\n U.INFO,\n U.WARNING,\n U.ERROR\n ],\n [U.WARNING]: [\n U.WARNING,\n U.ERROR\n ],\n [U.ERROR]: [\n U.ERROR\n ]\n });\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, \"requestUrl\");\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, r.loggerLevel && (this.loggerLevel = r.loggerLevel), this.socketEmitInterval = r.socketEmitInterval || $e.socketEmitInterval, this.logToConsole = r.logToConsole !== void 0 ? r.logToConsole : $e.logToConsole, this.overloadGlobalConsole = r.overloadGlobalConsole !== void 0 ? r.overloadGlobalConsole : $e.overloadGlobalConsole, this.storageId = this.getStorageName(), this.queue = [], this.processing = !1, this.storageInitialized = !1, this.emitInProgress = !1, this.logIndex = 0, this.init(t);\n }\n get currentLoggerLevelLogLevels() {\n return this.loggerLevelMap[this.loggerLevel];\n }\n isLogLevelAllowed(t) {\n return this.currentLoggerLevelLogLevels.includes(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 : St(t) : this.defaultGetItemFunction, this.setItem = r && typeof r == \"function\" ? this.isSetItemAsync ? r : St(r) : this.defaultSetItemFunction, this.parseLog = n && typeof n == \"function\" ? n : Vn;\n }\n /**\n * Used to send http log request.\n * @param logs logs array which is sent in request body.\n * @return {Promise<Response>}\n */\n sendHttpRequest(t) {\n if (!this.requestUrl)\n throw new Error(\"requestUrl is not provided\");\n const r = {\n Data: t\n };\n return fetch(this.requestUrl, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\"\n },\n body: JSON.stringify(r)\n });\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, requestUrl: i, socketOptions: s = {} } = t;\n this._logMethod = $.log.bind($), this._warnMethod = $.warn.bind($), this._errorMethod = $.error.bind($), this._debugMethod = $.debug.bind($), this.initStorage().then(() => {\n if (r)\n this.socket = r;\n else if (n)\n this.socket = this.createConnection(n, s);\n else if (i)\n this.requestUrl = i;\n else\n throw new Error(\"Must provide either a 'socket', 'requestUrl' or a 'url' for logger requests\");\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 let n = {\n ...Zn\n };\n return r && (n = {\n ...n,\n ...r\n }), Wn(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 s = Object.keys(n);\n if (!s.length)\n return;\n if ((!this.socket || !this.socket.connected) && !this.requestUrl)\n throw new Error(\"Log request can't be sent. Socket is disconnected or requestUrl is not provided\");\n const c = [];\n for (const o of s) {\n const a = Yn(n[o]), u = {\n ...this.staticObject,\n ...a\n }, d = this.populateSendingLog(u);\n d.Body && typeof d.Body == \"string\" && (d.Body = JSON.parse(d.Body)), this.socket ? this.socket.emit(\"Log\", d) : this.requestUrl && c.push(d), i.push(o);\n }\n c.length && await this.sendHttpRequest(c);\n const p = await this.getItem(this.storageId);\n if (!p)\n return;\n const h = Kn(p, i);\n this.localObject = {}, await this.setItem(this.storageId, JSON.stringify(h));\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 = ei[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 = Qn(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 var t;\n this.socket && this.socket.connected || ((t = this.socket) == null || t.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 $ = Object.assign(\n $,\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 = Gn();\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 s = await this.getItem(this.storageId);\n if (!s)\n return;\n const c = JSON.parse(s);\n c[i] = JSON.stringify(n), await this.setItem(this.storageId, JSON.stringify(c));\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 logData The arguments to be logged.\n * @return void\n */\n log(t) {\n if (!this.isLogLevelAllowed(U.INFO))\n return;\n const n = {\n ...this.populateMetaData(),\n ...t\n }, i = [\"INFO\", n];\n this.queue.push(i), this.logToConsole && this._logMethod.apply($, [n]), this.processQueue();\n }\n /**\n * Logs warn data into the storage\n * @param logData The arguments to be logged.\n * @return void\n */\n warn(t) {\n if (!this.isLogLevelAllowed(U.WARNING))\n return;\n const r = [\"WARN\", t];\n this.queue.push(r), this.logToConsole && this._warnMethod.apply($, [t]), this.processQueue();\n }\n /**\n * Logs error data into the storage\n * @param logData The arguments to be logged.\n * @return void\n */\n error(t) {\n if (!this.isLogLevelAllowed(U.ERROR))\n return;\n const r = [\"ERROR\", t];\n this.queue.push(r), this.logToConsole && this._errorMethod.apply($, [t]), this.processQueue();\n }\n /**\n * Logs debug data into the storage\n * @param logData The arguments to be logged.\n * @return void\n */\n debug(t) {\n if (!this.isLogLevelAllowed(U.DEBUG))\n return;\n const r = [\"DEBUG\", t];\n this.queue.push(r), this.logToConsole && this._debugMethod.apply($, [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 ei as ActionIDEnum,\n ri as ActionNameEnum,\n ai as EntityIDEnum,\n ci as EntityTypeEnum,\n si as IdentityIDEnum,\n oi as IdentityNameEnum,\n ii as IdentityTypeEnum,\n U as LevelEnum,\n ni as LogTypeEnum,\n ui as default,\n Zn as defaultConnectOptions,\n $e as defaultLoggerOptions\n};\n//# sourceMappingURL=storage-logger.es.js.map\n","import { Socket } from 'socket.io-client'\r\nimport EventsSdkClass from '@/classes/events-sdk/events-sdk.class'\r\nimport type { LoggerDataPartial } from '@voicenter-team/socketio-storage-logger'\r\nimport StorageLogger, { ActionNameEnum, LevelEnum, LogTypeEnum } from '@voicenter-team/socketio-storage-logger'\r\nimport { LoginType } from '@/enum/auth.enum'\r\nimport { EventsEnum, KeepAliveResponseEvent } from '@voicenter-team/real-time-events-types'\r\nimport { DebugOption } from '@/enum/events-sdk.enum'\r\nimport { EventDataMap, EventTypeNames } from '@/types/events'\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 async start () {\r\n if (!this.storageLogger) {\r\n return\r\n }\r\n\r\n await this.storageLogger.start()\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.eventsSdkClass.options.useLogger) {\r\n if (this.storageLogger) {\r\n switch (data.Level) {\r\n case LevelEnum.INFO:\r\n this.storageLogger.log(data)\r\n break\r\n case LevelEnum.DEBUG:\r\n this.storageLogger.debug(data)\r\n break\r\n case LevelEnum.WARNING:\r\n this.storageLogger.warn(data)\r\n break\r\n case 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\r\n public sdkConnectionSuccess () {\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 connected to the socket server ${this.eventsSdkClass.server && this.eventsSdkClass.server.Domain ? this.eventsSdkClass.server.Domain : this.eventsSdkClass.URL}`,\r\n Body: JSON.stringify(replacedOptions, this.eventsSdkClass.getCircularReplacer()),\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 public sdkDisconnect (reasons: string[]) {\r\n this.log({\r\n Message: `Sdk disconnected from the socket server ${this.eventsSdkClass.server && this.eventsSdkClass.server.Domain ? this.eventsSdkClass.server.Domain : this.eventsSdkClass.URL} (${reasons})`,\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\r\n public sdkAttemptToConnect (domain?: string) {\r\n this.log({\r\n Message: `${this.eventsSdkClass.options.loggerConfig.system} is trying 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 }\r\n\r\n public sdkAttemptToConnectError (error: Error) {\r\n this.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 public loginError (loginType: LoginType, statusCode?: number, token?: string, email?: string,) {\r\n this.log({\r\n Message: `External login request error with the login type ${loginType} ${loginType === LoginType.TOKEN ? token : email}`,\r\n ActionName: ActionNameEnum.WSCONNECT,\r\n isShowClient: false,\r\n Status: 'External login error',\r\n StatusCode: statusCode ? statusCode : 400,\r\n Level: LevelEnum.ERROR,\r\n LogType: LogTypeEnum.ERROR\r\n })\r\n }\r\n\r\n public getSettingsError (token: string, error: Error) {\r\n this.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\r\n public refreshTokenError (oldRefreshToken: string, refreshTokenUrl: string, error: Error) {\r\n this.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\r\n public keepAliveEmit () {\r\n this.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\r\n public keepAliveResponse (data: KeepAliveResponseEvent) {\r\n this.log({\r\n Message: `Keep alive response: ${JSON.stringify(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\r\n public eventLog<T extends EventTypeNames> (\r\n eventName: T,\r\n data: EventDataMap[T]\r\n ) {\r\n const eventLogMap: Record<DebugOption, EventsEnum[]> = {\r\n [DebugOption.FULL]: [],\r\n [DebugOption.BOOTSTRAP]: [ EventsEnum.LOGIN_STATUS, EventsEnum.LOGIN_SUCCESS, EventsEnum.ALL_EXTENSION_STATUS, EventsEnum.ALL_DIALER_STATUS ],\r\n [DebugOption.DEBUG_EXTENSIONS]: [ EventsEnum.ALL_EXTENSION_STATUS, EventsEnum.EXTENSION_EVENT, EventsEnum.EXTENSIONS_UPDATED ],\r\n [DebugOption.DEBUG_DIALER]: [ EventsEnum.ALL_DIALER_STATUS, EventsEnum.DIALER_EVENT ],\r\n [DebugOption.DEBUG_QUEUE]: [ EventsEnum.QUEUE_EVENT ]\r\n }\r\n\r\n if (this.eventsSdkClass.options.debugOption) {\r\n if (\r\n eventLogMap[this.eventsSdkClass.options.debugOption].includes(eventName) ||\r\n this.eventsSdkClass.options.debugOption === DebugOption.FULL\r\n ) {\r\n this.log({\r\n Message: `Event name: ${eventName}`,\r\n Body: data,\r\n ActionName: ActionNameEnum.WSCONNECT,\r\n isShowClient: false,\r\n Status: 'Successful',\r\n Level: LevelEnum.DEBUG,\r\n LogType: LogTypeEnum.INFO\r\n })\r\n }\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} from '@/classes/events-sdk/events-sdk.types'\r\nimport { ServerParameter } from '@/enum/events-sdk.enum'\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 try {\r\n this.loggerClass.init()\r\n } catch (e) {\r\n console.error(e)\r\n }\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\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 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","DebugOption","ServerParameter","LoginType","StorageClass","key","doParse","loginSessionKey","storageData","AuthClass","eventsSdkClass","__publicField","payload","loginSessionData","loginType","externalLoginResponse","settings","prev","current","date","timeout","maxAllowedTimeout","refreshTokenResponse","url","password","token","email","body","statusCode","res","data","error","refreshTokenUrl","oldRefreshToken","eventsSdkDefaultOptions","v1_3_7","ws","e","r","p","f","o","h","u","g","w","y","v","k","A","B","C","S","E","T","_","P","R","N","O","U","q","D","I","L","importModules","__vite_glob_0_0","SOCKET_NAME_REGEX","isSocketIoFn","socket","sockets","acc","currentValue","module","moduleName","_a","getSocketVersion","version","makeSocketVersion","args","sockets$1","CallStatusEnum","CallTypeEnum","ConnectionStatusEnum","DialerTypeEnum","DirectionEnum","DoNotCallMeStatusCodeEnum","EventsEnum","ExtensionEventReasonEnum","ExtensionHangupCauseEnum","QueueEventReasonEnum","EventsHandler","reason","dataExtended","currentCallExtended","extensionExtended","call","callExtended","_b","extension","queue","value","properties","servertime","servertimeoffset","serverTimeUTC","diffServerAndClient","extendedProperties","property","valueFormatted","baseTime","ServerListenerEventsEnum","SocketIoClass","Client","parsedArray","protocol","server","domain","eventName","Kt","Yt","Qt","Zt","Me","er","tr","Nt","rr","nr","He","We","ie","oe","se","ae","ir","or","sr","cr","ar","ge","ur","Se","fr","ft","hr","lr","Ne","ze","je","ce","ue","fe","he","dr","pr","yr","vr","gr","ve","mr","Cr","Rt","ee","Re","br","Ze","Ot","Er","wr","Fr","Ar","et","It","Dt","kr","Br","Je","Xe","tt","Oe","Ge","Sr","rt","Nr","Rr","nt","it","K","Or","qe","ht","Tt","Ir","Dr","Tr","qr","qt","Lr","Lt","Le","Ur","Pr","Y","J","Ee","Ae","_r","xr","$r","me","lt","Mr","Ue","dt","Hr","F","V","G","Pe","pt","ot","Ce","yt","Ie","De","Ut","ke","Pt","gt","X","vt","Ve","Wr","st","_t","Ke","Ye","le","de","pe","ye","zr","jr","Jr","Gr","Xr","be","Vr","Te","xt","Kr","$t","Yr","Qr","H","Mt","W","Zr","en","Ht","tn","rn","Qe","nn","te","mt","Ct","on","sn","at","an","bt","cn","re","un","fn","we","hn","ln","dn","pn","ct","yn","gn","vn","mn","Cn","Be","ut","Z","bn","M","wn","Fn","An","En","kn","Bn","Wt","Sn","Nn","Rn","zt","wt","On","In","Dn","Tn","_e","xe","Ft","qn","jt","Ln","At","Jt","Et","Xt","Un","ne","Pn","_n","xn","$n","z","Q","Gt","Mn","Vt","kt","Hn","Wn","Fe","zn","jn","Jn","Xn","Bt","Gn","Vn","Kn","Yn","Qn","St","Zn","$e","ri","ei","ni","$","ui","LoggerClass","StorageLogger","LevelEnum","replacedOptions","ActionNameEnum","LogTypeEnum","reasons","eventLogMap","EventEmitterClass","event","callback","item","filtered","allEventData","EventsSdkClass","seen","serverParameter","cur","filteredServers"],"mappings":"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","x_google_ignoreList":[0,1,2,3,11,12,13,14,15,16,17,18,19,20]}
|
|
1
|
+
{"version":3,"file":"voicenter-events-sdk.es.js","sources":["../node_modules/crypt/crypt.js","../node_modules/charenc/charenc.js","../node_modules/is-buffer/index.js","../node_modules/md5/md5.js","../src/enum/events-sdk.enum.ts","../src/enum/auth.enum.ts","../src/classes/storage/storage.class.ts","../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","../../socketio-storage-logger/dist/storage-logger.es.js","../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","export enum DebugOption {\r\n BOOTSTRAP = 'bootstrap',\r\n DEBUG_EXTENSIONS = 'debugExtensions',\r\n DEBUG_QUEUE = 'debugQueue',\r\n DEBUG_DIALER = 'debugDialer',\r\n FULL = 'full',\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","import md5 from 'md5'\r\n\r\nimport EventsSdkClass from '@/classes/events-sdk/events-sdk.class'\r\nimport { ServerParameter } from '@/enum/events-sdk.enum'\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\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 let statusCode\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 statusCode = 400\r\n\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 statusCode = 401\r\n\r\n throw new Error('Unauthorized. Invalid token provided')\r\n }\r\n\r\n if (!res.ok && res.status === 403) {\r\n statusCode = 403\r\n\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.loginError(loginType, statusCode, token, email)\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.getSettingsError(token, error as Error)\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.refreshTokenError(oldRefreshToken, refreshTokenUrl, error as Error)\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 timeout: 10000,\r\n keepAliveTimeout: 60000,\r\n protocol: 'https',\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', // ws-connection (should be like a subSystem)\r\n socketEmitInterval: 10000,\r\n },\r\n loggerConnectOptions: {\r\n reconnection: false,\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\nimport ws from 'ws'\r\n\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 // Fix for node.js usage\r\n if (typeof self === 'undefined' && typeof global === 'object') {\r\n global.self = global\r\n\r\n global.WebSocket = ws\r\n\r\n if (typeof self.navigator === 'undefined') {\r\n self.navigator = { userAgent: 'node' }\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, type QueueCall } 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\nimport { QueueCallSDK } from '@/types/sdk-queue-extended'\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 mapQueueCall (data: EventDataMap[EventsEnum.QUEUE_EVENT] | EventDataMap[EventsEnum.LOGIN_STATUS], call: QueueCall): QueueCallSDK {\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 key: 'VHJoinTimeStamp', // TODO: should add the VHJoinTimeStamp in TS definitions\r\n format: 'sec'\r\n }\r\n ],\r\n data.servertime, // TODO: currently the TS error because in LoginStatusEvent type the key is \"serverTime\" but actual is \"servertime\", remove comment after fixed\r\n data.servertimeoffset // TODO: currently the TS error because in LoginStatusEvent type the key is \"serverTimeOffset\" but actual is \"servertimeoffset\", remove comment after fixed\r\n )\r\n }\r\n\r\n public static mapLoginStatusEvent (data: EventDataMap[EventsEnum.LOGIN_STATUS]): EventDataMapExtended[EventsEnum.LOGIN_STATUS] {\r\n return {\r\n ...data,\r\n queues: data.queues.map(queue => {\r\n return {\r\n ...queue,\r\n Calls: queue.Calls.map(call => this.mapQueueCall(data, call))\r\n }\r\n })\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 => this.mapQueueCall(data, call))\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 timestamps for an object by converting server-time properties to both UTC and client-local UTC timestamps\r\n *\r\n * For each specified property, creates two new timestamp properties:\r\n * - property_UTC: Server timestamp converted to UTC milliseconds\r\n * - property_UTC_CLIENT: Server timestamp converted to client-local UTC milliseconds\r\n *\r\n * @example\r\n * // Input object\r\n * const data = {\r\n * callStarted: 1634567890 // Unix timestamp in seconds\r\n * }\r\n *\r\n * // After configureUTCForObject:\r\n * {\r\n * callStarted: 1634567890,\r\n * callStarted_UTC: 1634567890000, // Converted to UTC ms\r\n * callStarted_UTC_CLIENT: 1634571490000 // Converted to client-local UTC ms\r\n * }\r\n *\r\n * @param data - Source object containing server timestamp properties\r\n * @param properties - Array of property configs specifying which properties to convert and their format\r\n * @param servertime - Current server time in seconds\r\n * @param servertimeoffset - Server timezone offset in minutes\r\n * @private\r\n * @returns Original object extended with new _UTC and _UTC_CLIENT properties for each configured timestamp\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 '@/enum/events-sdk.enum'\r\nimport {\r\n AllDialersStatusEvent,\r\n AllExtensionStatusEvent,\r\n ConnectionStatusEnum,\r\n DialerEvent,\r\n EventsEnum,\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\n\r\nexport class SocketIoClass {\r\n constructor (private readonly eventsSdkClass: EventsSdkClass) {\r\n this.eventsSdkClass = eventsSdkClass\r\n\r\n if (typeof window !== 'undefined') {\r\n window.addEventListener('offline', () => {\r\n this.closeAllConnections()\r\n })\r\n\r\n window.addEventListener('online', () => {\r\n setTimeout(() => {\r\n if (this.keepReconnectTimeout) {\r\n clearTimeout(this.keepReconnectTimeout)\r\n }\r\n\r\n this.eventsSdkClass.connect(ServerParameter.NEXT)\r\n }, 5000)\r\n })\r\n }\r\n\r\n if (typeof self !== 'undefined' && typeof window === 'undefined' && typeof global === 'undefined') {\r\n self.addEventListener('offline', () => {\r\n this.closeAllConnections()\r\n })\r\n\r\n self.addEventListener('online', () => {\r\n setTimeout(() => {\r\n if (this.keepReconnectTimeout) {\r\n clearTimeout(this.keepReconnectTimeout)\r\n }\r\n\r\n this.eventsSdkClass.connect(ServerParameter.NEXT)\r\n }, 5000)\r\n })\r\n }\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 keepReconnectTimeout: ReturnType<typeof setTimeout> | undefined\r\n private connected = false\r\n private reconnectionTime = 20\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 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 (this.ioFunction && url) {\r\n this.io = this.ioFunction(url, options)\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 this.eventsSdkClass.loggerClass.sdkAttemptToConnect(domain)\r\n } else {\r\n throw new Error('Socket server url no defined')\r\n }\r\n } catch (error) {\r\n this.eventsSdkClass.loggerClass.sdkAttemptToConnectError(error as Error)\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 if (this.keepAliveInterval) {\r\n clearInterval(this.keepAliveInterval)\r\n }\r\n\r\n this.keepAliveInterval = setInterval(async () => {\r\n const now = new Date().getTime()\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.keepAliveEmit()\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 this.eventsSdkClass.loggerClass.stop()\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, EventsEnum.LOGIN_SUCCESS))\r\n .on(EventsEnum.QUEUE_EVENT, (data) => this.onQueueEvent(data, EventsEnum.QUEUE_EVENT))\r\n .on(EventsEnum.EXTENSION_EVENT, (data) => this.onExtensionEvent(data, EventsEnum.EXTENSION_EVENT))\r\n .on(EventsEnum.DIALER_EVENT, (data) => this.onDialerEvent(data, EventsEnum.DIALER_EVENT))\r\n .on(EventsEnum.LOGIN_STATUS, (data) => this.onLoginStatusEvent(data, EventsEnum.LOGIN_STATUS))\r\n .on(EventsEnum.ALL_EXTENSION_STATUS, (data) => this.onAllExtensionStatus(data, EventsEnum.ALL_EXTENSION_STATUS))\r\n .on(EventsEnum.ALL_DIALER_STATUS, (data) => this.onAllDialerStatus(data, EventsEnum.ALL_DIALER_STATUS))\r\n .on(EventsEnum.KEEP_ALIVE_RESPONSE, (data) => this.onKeepAliveResponse(data))\r\n .on(EventsEnum.EXTENSIONS_UPDATED, (data) => this.onExtensionsUpdatedEvent(data, EventsEnum.EXTENSIONS_UPDATED))\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, eventName: EventsEnum.LOGIN_SUCCESS) {\r\n this.eventsSdkClass.loggerClass.eventLog(eventName, data)\r\n\r\n this.eventsSdkClass.eventEmitterClass.emit(eventName, data)\r\n }\r\n\r\n private onQueueEvent (data: QueueEvent, eventName: EventsEnum.QUEUE_EVENT) {\r\n this.eventsSdkClass.loggerClass.eventLog(eventName, data)\r\n\r\n this.eventsSdkClass.eventEmitterClass.emit(eventName, EventsHandler.mapQueueEvent(data))\r\n }\r\n\r\n private onExtensionEvent (data: ExtensionEvent, eventName: EventsEnum.EXTENSION_EVENT) {\r\n const dataExtended = EventsHandler.mapExtensionEvent(data)\r\n\r\n if (dataExtended) {\r\n this.eventsSdkClass.loggerClass.eventLog(eventName, data)\r\n\r\n this.eventsSdkClass.eventEmitterClass.emit(eventName, dataExtended)\r\n }\r\n }\r\n\r\n private onDialerEvent (data: DialerEvent, eventName: EventsEnum.DIALER_EVENT) {\r\n this.eventsSdkClass.loggerClass.eventLog(eventName, data)\r\n\r\n this.eventsSdkClass.eventEmitterClass.emit(eventName, data)\r\n }\r\n\r\n private onLoginStatusEvent (data: LoginStatusEvent, eventName: EventsEnum.LOGIN_STATUS) {\r\n this.eventsSdkClass.loggerClass.eventLog(eventName, data)\r\n\r\n this.eventsSdkClass.eventEmitterClass.emit(eventName, EventsHandler.mapLoginStatusEvent(data))\r\n }\r\n\r\n private onAllExtensionStatus (data: AllExtensionStatusEvent, eventName: EventsEnum.ALL_EXTENSION_STATUS) {\r\n const dataExtended = EventsHandler.mapAllExtensionStatus(data)\r\n\r\n this.eventsSdkClass.loggerClass.eventLog(eventName, data)\r\n\r\n this.eventsSdkClass.eventEmitterClass.emit(eventName, dataExtended)\r\n }\r\n\r\n private onAllDialerStatus (data: AllDialersStatusEvent, eventName: EventsEnum.ALL_DIALER_STATUS) {\r\n this.eventsSdkClass.loggerClass.eventLog(eventName, data)\r\n\r\n this.eventsSdkClass.eventEmitterClass.emit(eventName, data)\r\n }\r\n\r\n private onKeepAliveResponse (data: KeepAliveResponseEvent) {\r\n this.eventsSdkClass.loggerClass.keepAliveResponse(data)\r\n\r\n if (data.errorCode) {\r\n this.initSocketConnection()\r\n\r\n return\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, eventName: EventsEnum.EXTENSIONS_UPDATED) {\r\n this.eventsSdkClass.loggerClass.eventLog(eventName, data)\r\n\r\n this.eventsSdkClass.eventEmitterClass.emit(eventName, data)\r\n }\r\n\r\n private onConnect () {\r\n this.connected = true\r\n\r\n if (this.keepReconnectInterval) {\r\n clearInterval(this.keepReconnectInterval)\r\n }\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.start().then(() => {\r\n this.eventsSdkClass.loggerClass.sdkConnectionSuccess()\r\n })\r\n }\r\n\r\n private onDisconnect (reason: Socket.DisconnectReason) {\r\n this.connected = false\r\n\r\n if (!this.doReconnect) {\r\n return\r\n }\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.sdkDisconnect([ reason ])\r\n\r\n this.keepReconnectTimeout = setTimeout(\r\n () => {\r\n this.reconnectionTime = this.reconnectionTime + 20\r\n\r\n if (this.reconnectionTime > 120) {\r\n this.reconnectionTime = 20\r\n }\r\n\r\n this.eventsSdkClass.connect(ServerParameter.NEXT)\r\n },\r\n this.reconnectionTime * 1000\r\n )\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.sdkAttemptToConnectError(data)\r\n\r\n this.keepReconnectTimeout = setTimeout(\r\n () => {\r\n this.reconnectionTime = this.reconnectionTime + 20\r\n\r\n if (this.reconnectionTime > 60) {\r\n this.reconnectionTime = 20\r\n }\r\n\r\n this.eventsSdkClass.connect(ServerParameter.NEXT)\r\n },\r\n this.reconnectionTime * 1000\r\n )\r\n }\r\n}\r\n","var jt = Object.defineProperty;\nvar Jt = (e, t, r) => t in e ? jt(e, t, { enumerable: !0, configurable: !0, writable: !0, value: r }) : e[t] = r;\nvar R = (e, t, r) => (Jt(e, typeof t != \"symbol\" ? t + \"\" : t, r), r);\nfunction Xt(e) {\n return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, \"default\") ? e.default : e;\n}\nfunction Gt(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 _e = { exports: {} }, Vt = /^(?:(?![^:@]+:[^:@\\/]*@)(http|https|ws|wss):\\/\\/)?((?:(([^:@]*)(?::([^:@]*))?)?@)?((?:[a-f0-9]{0,4}:){2,7}[a-f0-9]{0,4}|[^:\\/?#]*)(?::(\\d*))?)(((\\/(?:[^?#](?![^?#\\/]*\\.[^?#\\/.]+(?:[?#]|$)))*\\/?)?([^?#\\/]*))(?:\\?([^#]*))?(?:#(.*))?)/, Kt = [\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], wt = 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 s = Vt.exec(t || \"\"), f = {}, p = 14; p--; )\n f[Kt[p]] = s[p] || \"\";\n return n != -1 && i != -1 && (f.source = r, f.host = f.host.substring(1, f.host.length - 1).replace(/;/g, \":\"), f.authority = f.authority.replace(\"[\", \"\").replace(\"]\", \"\").replace(/;/g, \":\"), f.ipv6uri = !0), f.pathNames = Yt(f, f.path), f.queryKey = Qt(f, f.query), f;\n};\nfunction Yt(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 Qt(e, t) {\n var r = {};\n return t.replace(/(?:^|&)([^&=]*)=?([^&]*)/g, function(n, i, s) {\n i && (r[i] = s);\n }), r;\n}\nvar xe = { exports: {} }, $e = { exports: {} }, oe = 1e3, se = oe * 60, ae = se * 60, ce = ae * 24, Zt = ce * 365.25, er = function(e, t) {\n t = t || {};\n var r = typeof e;\n if (r === \"string\" && e.length > 0)\n return tr(e);\n if (r === \"number\" && isNaN(e) === !1)\n return t.long ? nr(e) : rr(e);\n throw new Error(\n \"val is not a non-empty string or a valid number. val=\" + JSON.stringify(e)\n );\n};\nfunction tr(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 * Zt;\n case \"days\":\n case \"day\":\n case \"d\":\n return r * ce;\n case \"hours\":\n case \"hour\":\n case \"hrs\":\n case \"hr\":\n case \"h\":\n return r * ae;\n case \"minutes\":\n case \"minute\":\n case \"mins\":\n case \"min\":\n case \"m\":\n return r * se;\n case \"seconds\":\n case \"second\":\n case \"secs\":\n case \"sec\":\n case \"s\":\n return r * oe;\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 rr(e) {\n return e >= ce ? Math.round(e / ce) + \"d\" : e >= ae ? Math.round(e / ae) + \"h\" : e >= se ? Math.round(e / se) + \"m\" : e >= oe ? Math.round(e / oe) + \"s\" : e + \"ms\";\n}\nfunction nr(e) {\n return ve(e, ce, \"day\") || ve(e, ae, \"hour\") || ve(e, se, \"minute\") || ve(e, oe, \"second\") || e + \" ms\";\n}\nfunction ve(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 = f, t.enable = s, t.enabled = p, t.humanize = er, t.instances = [], t.names = [], t.skips = [], t.formatters = {};\n function r(o) {\n var a = 0, c;\n for (c in o)\n a = (a << 5) - a + o.charCodeAt(c), a |= 0;\n return t.colors[Math.abs(a) % t.colors.length];\n }\n function n(o) {\n var a;\n function c() {\n if (c.enabled) {\n var d = c, u = +/* @__PURE__ */ new Date(), O = u - (a || u);\n d.diff = O, d.prev = a, d.curr = u, a = u;\n for (var C = new Array(arguments.length), I = 0; I < C.length; I++)\n C[I] = arguments[I];\n C[0] = t.coerce(C[0]), typeof C[0] != \"string\" && C.unshift(\"%O\");\n var g = 0;\n C[0] = C[0].replace(/%([a-zA-Z%])/g, function(A, l) {\n if (A === \"%%\")\n return A;\n g++;\n var y = t.formatters[l];\n if (typeof y == \"function\") {\n var v = C[g];\n A = y.call(d, v), C.splice(g, 1), g--;\n }\n return A;\n }), t.formatArgs.call(d, C);\n var m = c.log || t.log || console.log.bind(console);\n m.apply(d, C);\n }\n }\n return c.namespace = o, c.enabled = t.enabled(o), c.useColors = t.useColors(), c.color = r(o), c.destroy = i, typeof t.init == \"function\" && t.init(c), t.instances.push(c), c;\n }\n function i() {\n var o = t.instances.indexOf(this);\n return o !== -1 ? (t.instances.splice(o, 1), !0) : !1;\n }\n function s(o) {\n t.save(o), t.names = [], t.skips = [];\n var a, c = (typeof o == \"string\" ? o : \"\").split(/[\\s,]+/), d = c.length;\n for (a = 0; a < d; a++)\n c[a] && (o = c[a].replace(/\\*/g, \".*?\"), o[0] === \"-\" ? t.skips.push(new RegExp(\"^\" + o.substr(1) + \"$\")) : t.names.push(new RegExp(\"^\" + o + \"$\")));\n for (a = 0; a < t.instances.length; a++) {\n var u = t.instances[a];\n u.enabled = t.enabled(u.namespace);\n }\n }\n function f() {\n t.enable(\"\");\n }\n function p(o) {\n if (o[o.length - 1] === \"*\")\n return !0;\n var a, c;\n for (a = 0, c = t.skips.length; a < c; a++)\n if (t.skips[a].test(o))\n return !1;\n for (a = 0, c = t.names.length; a < c; a++)\n if (t.names[a].test(o))\n return !0;\n return !1;\n }\n function h(o) {\n return o instanceof Error ? o.stack || o.message : o;\n }\n})($e, $e.exports);\nvar ir = $e.exports;\n(function(e, t) {\n t = e.exports = ir, t.log = i, t.formatArgs = n, t.save = s, t.load = f, t.useColors = r, t.storage = typeof chrome < \"u\" && typeof chrome.storage < \"u\" ? chrome.storage.local : p(), 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 (o) {\n return \"[UnexpectedJSONParseError]: \" + o.message;\n }\n };\n function n(h) {\n var o = this.useColors;\n if (h[0] = (o ? \"%c\" : \"\") + this.namespace + (o ? \" %c\" : \" \") + h[0] + (o ? \"%c \" : \" \") + \"+\" + t.humanize(this.diff), !!o) {\n var a = \"color: \" + this.color;\n h.splice(1, 0, a, \"color: inherit\");\n var c = 0, d = 0;\n h[0].replace(/%[a-zA-Z%]/g, function(u) {\n u !== \"%%\" && (c++, u === \"%c\" && (d = c));\n }), h.splice(d, 0, a);\n }\n }\n function i() {\n return typeof console == \"object\" && console.log && Function.prototype.apply.call(console.log, console, arguments);\n }\n function s(h) {\n try {\n h == null ? t.storage.removeItem(\"debug\") : t.storage.debug = h;\n } catch {\n }\n }\n function f() {\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(f());\n function p() {\n try {\n return window.localStorage;\n } catch {\n }\n }\n})(xe, xe.exports);\nvar Ne = xe.exports, or = wt, at = Ne(\"socket.io-client:url\"), sr = ar;\nfunction ar(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) || (at(\"protocol-less url %s\", e), typeof t < \"u\" ? e = t.protocol + \"//\" + e : e = \"https://\" + e), at(\"parse %s\", e), r = or(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 Oe = {}, Me = { exports: {} }, He = { exports: {} }, ue = 1e3, fe = ue * 60, he = fe * 60, le = he * 24, cr = le * 365.25, ur = function(e, t) {\n t = t || {};\n var r = typeof e;\n if (r === \"string\" && e.length > 0)\n return fr(e);\n if (r === \"number\" && isNaN(e) === !1)\n return t.long ? lr(e) : hr(e);\n throw new Error(\n \"val is not a non-empty string or a valid number. val=\" + JSON.stringify(e)\n );\n};\nfunction fr(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 * cr;\n case \"days\":\n case \"day\":\n case \"d\":\n return r * le;\n case \"hours\":\n case \"hour\":\n case \"hrs\":\n case \"hr\":\n case \"h\":\n return r * he;\n case \"minutes\":\n case \"minute\":\n case \"mins\":\n case \"min\":\n case \"m\":\n return r * fe;\n case \"seconds\":\n case \"second\":\n case \"secs\":\n case \"sec\":\n case \"s\":\n return r * ue;\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 hr(e) {\n return e >= le ? Math.round(e / le) + \"d\" : e >= he ? Math.round(e / he) + \"h\" : e >= fe ? Math.round(e / fe) + \"m\" : e >= ue ? Math.round(e / ue) + \"s\" : e + \"ms\";\n}\nfunction lr(e) {\n return me(e, le, \"day\") || me(e, he, \"hour\") || me(e, fe, \"minute\") || me(e, ue, \"second\") || e + \" ms\";\n}\nfunction me(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 = f, t.enable = s, t.enabled = p, t.humanize = ur, t.instances = [], t.names = [], t.skips = [], t.formatters = {};\n function r(o) {\n var a = 0, c;\n for (c in o)\n a = (a << 5) - a + o.charCodeAt(c), a |= 0;\n return t.colors[Math.abs(a) % t.colors.length];\n }\n function n(o) {\n var a;\n function c() {\n if (c.enabled) {\n var d = c, u = +/* @__PURE__ */ new Date(), O = u - (a || u);\n d.diff = O, d.prev = a, d.curr = u, a = u;\n for (var C = new Array(arguments.length), I = 0; I < C.length; I++)\n C[I] = arguments[I];\n C[0] = t.coerce(C[0]), typeof C[0] != \"string\" && C.unshift(\"%O\");\n var g = 0;\n C[0] = C[0].replace(/%([a-zA-Z%])/g, function(A, l) {\n if (A === \"%%\")\n return A;\n g++;\n var y = t.formatters[l];\n if (typeof y == \"function\") {\n var v = C[g];\n A = y.call(d, v), C.splice(g, 1), g--;\n }\n return A;\n }), t.formatArgs.call(d, C);\n var m = c.log || t.log || console.log.bind(console);\n m.apply(d, C);\n }\n }\n return c.namespace = o, c.enabled = t.enabled(o), c.useColors = t.useColors(), c.color = r(o), c.destroy = i, typeof t.init == \"function\" && t.init(c), t.instances.push(c), c;\n }\n function i() {\n var o = t.instances.indexOf(this);\n return o !== -1 ? (t.instances.splice(o, 1), !0) : !1;\n }\n function s(o) {\n t.save(o), t.names = [], t.skips = [];\n var a, c = (typeof o == \"string\" ? o : \"\").split(/[\\s,]+/), d = c.length;\n for (a = 0; a < d; a++)\n c[a] && (o = c[a].replace(/\\*/g, \".*?\"), o[0] === \"-\" ? t.skips.push(new RegExp(\"^\" + o.substr(1) + \"$\")) : t.names.push(new RegExp(\"^\" + o + \"$\")));\n for (a = 0; a < t.instances.length; a++) {\n var u = t.instances[a];\n u.enabled = t.enabled(u.namespace);\n }\n }\n function f() {\n t.enable(\"\");\n }\n function p(o) {\n if (o[o.length - 1] === \"*\")\n return !0;\n var a, c;\n for (a = 0, c = t.skips.length; a < c; a++)\n if (t.skips[a].test(o))\n return !1;\n for (a = 0, c = t.names.length; a < c; a++)\n if (t.names[a].test(o))\n return !0;\n return !1;\n }\n function h(o) {\n return o instanceof Error ? o.stack || o.message : o;\n }\n})(He, He.exports);\nvar dr = He.exports;\n(function(e, t) {\n t = e.exports = dr, t.log = i, t.formatArgs = n, t.save = s, t.load = f, t.useColors = r, t.storage = typeof chrome < \"u\" && typeof chrome.storage < \"u\" ? chrome.storage.local : p(), 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 (o) {\n return \"[UnexpectedJSONParseError]: \" + o.message;\n }\n };\n function n(h) {\n var o = this.useColors;\n if (h[0] = (o ? \"%c\" : \"\") + this.namespace + (o ? \" %c\" : \" \") + h[0] + (o ? \"%c \" : \" \") + \"+\" + t.humanize(this.diff), !!o) {\n var a = \"color: \" + this.color;\n h.splice(1, 0, a, \"color: inherit\");\n var c = 0, d = 0;\n h[0].replace(/%[a-zA-Z%]/g, function(u) {\n u !== \"%%\" && (c++, u === \"%c\" && (d = c));\n }), h.splice(d, 0, a);\n }\n }\n function i() {\n return typeof console == \"object\" && console.log && Function.prototype.apply.call(console.log, console, arguments);\n }\n function s(h) {\n try {\n h == null ? t.storage.removeItem(\"debug\") : t.storage.debug = h;\n } catch {\n }\n }\n function f() {\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(f());\n function p() {\n try {\n return window.localStorage;\n } catch {\n }\n }\n})(Me, Me.exports);\nvar pr = Me.exports, Ft = { 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 s() {\n this.off(n, s), i.apply(this, arguments);\n }\n return s.fn = i, this.on(n, s), 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 s = this._callbacks[\"$\" + n];\n if (!s)\n return this;\n if (arguments.length == 1)\n return delete this._callbacks[\"$\" + n], this;\n for (var f, p = 0; p < s.length; p++)\n if (f = s[p], f === i || f.fn === i) {\n s.splice(p, 1);\n break;\n }\n return s.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), s = this._callbacks[\"$\" + n], f = 1; f < arguments.length; f++)\n i[f - 1] = arguments[f];\n if (s) {\n s = s.slice(0);\n for (var f = 0, p = s.length; f < p; ++f)\n s[f].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})(Ft);\nvar ee = Ft.exports, Re = {}, gr = {}.toString, Ke = Array.isArray || function(e) {\n return gr.call(e) == \"[object Array]\";\n}, At = Cr, yr = typeof Buffer == \"function\" && typeof Buffer.isBuffer == \"function\", vr = typeof ArrayBuffer == \"function\", mr = function(e) {\n return typeof ArrayBuffer.isView == \"function\" ? ArrayBuffer.isView(e) : e.buffer instanceof ArrayBuffer;\n};\nfunction Cr(e) {\n return yr && Buffer.isBuffer(e) || vr && (e instanceof ArrayBuffer || mr(e));\n}\nvar Ye = Ke, Et = At, kt = Object.prototype.toString, br = typeof Blob == \"function\" || typeof Blob < \"u\" && kt.call(Blob) === \"[object BlobConstructor]\", wr = typeof File == \"function\" || typeof File < \"u\" && kt.call(File) === \"[object FileConstructor]\";\nRe.deconstructPacket = function(e) {\n var t = [], r = e.data, n = e;\n return n.data = We(r, t), n.attachments = t.length, { packet: n, buffers: t };\n};\nfunction We(e, t) {\n if (!e)\n return e;\n if (Et(e)) {\n var r = { _placeholder: !0, num: t.length };\n return t.push(e), r;\n } else if (Ye(e)) {\n for (var n = new Array(e.length), i = 0; i < e.length; i++)\n n[i] = We(e[i], t);\n return n;\n } else if (typeof e == \"object\" && !(e instanceof Date)) {\n var n = {};\n for (var s in e)\n n[s] = We(e[s], t);\n return n;\n }\n return e;\n}\nRe.reconstructPacket = function(e, t) {\n return e.data = ze(e.data, t), e.attachments = void 0, e;\n};\nfunction ze(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 (Ye(e))\n for (var n = 0; n < e.length; n++)\n e[n] = ze(e[n], t);\n else if (typeof e == \"object\")\n for (var i in e)\n e[i] = ze(e[i], t);\n return e;\n}\nRe.removeBlobs = function(e, t) {\n function r(s, f, p) {\n if (!s)\n return s;\n if (br && s instanceof Blob || wr && s instanceof File) {\n n++;\n var h = new FileReader();\n h.onload = function() {\n p ? p[f] = this.result : i = this.result, --n || t(i);\n }, h.readAsArrayBuffer(s);\n } else if (Ye(s))\n for (var o = 0; o < s.length; o++)\n r(s[o], o, s);\n else if (typeof s == \"object\" && !Et(s))\n for (var a in s)\n r(s[a], a, s);\n }\n var n = 0, i = e;\n r(i), n || t(i);\n};\n(function(e) {\n var t = pr(\"socket.io-parser\"), r = ee, n = Re, i = Ke, s = At;\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 = f, e.Decoder = c;\n function f() {\n }\n var p = e.ERROR + '\"encode error\"';\n f.prototype.encode = function(g, m) {\n if (t(\"encoding packet %j\", g), e.BINARY_EVENT === g.type || e.BINARY_ACK === g.type)\n a(g, m);\n else {\n var A = h(g);\n m([A]);\n }\n };\n function h(g) {\n var m = \"\" + g.type;\n if ((e.BINARY_EVENT === g.type || e.BINARY_ACK === g.type) && (m += g.attachments + \"-\"), g.nsp && g.nsp !== \"/\" && (m += g.nsp + \",\"), g.id != null && (m += g.id), g.data != null) {\n var A = o(g.data);\n if (A !== !1)\n m += A;\n else\n return p;\n }\n return t(\"encoded %j as %s\", g, m), m;\n }\n function o(g) {\n try {\n return JSON.stringify(g);\n } catch {\n return !1;\n }\n }\n function a(g, m) {\n function A(l) {\n var y = n.deconstructPacket(l), v = h(y.packet), b = y.buffers;\n b.unshift(v), m(b);\n }\n n.removeBlobs(g, A);\n }\n function c() {\n this.reconstructor = null;\n }\n r(c.prototype), c.prototype.add = function(g) {\n var m;\n if (typeof g == \"string\") {\n if (this.reconstructor)\n throw new Error(\"got plaintext data when reconstructing a packet\");\n m = u(g), e.BINARY_EVENT === m.type || e.BINARY_ACK === m.type ? (this.reconstructor = new C(m), this.reconstructor.reconPack.attachments === 0 && this.emit(\"decoded\", m)) : this.emit(\"decoded\", m);\n } else if (s(g) || g.base64)\n if (this.reconstructor)\n m = this.reconstructor.takeBinaryData(g), m && (this.reconstructor = null, this.emit(\"decoded\", m));\n else\n throw new Error(\"got binary data when not reconstructing a packet\");\n else\n throw new Error(\"Unknown type: \" + g);\n };\n function d(g, m) {\n switch (g) {\n case 0:\n return typeof m == \"object\";\n case 1:\n return m === void 0;\n case 4:\n return typeof m == \"string\" || typeof m == \"object\";\n case 2:\n case 5:\n return i(m) && (typeof m[0] == \"string\" || typeof m[0] == \"number\");\n case 3:\n case 6:\n return i(m);\n }\n }\n function u(g) {\n var m = 0, A = {\n type: Number(g.charAt(0))\n };\n if (e.types[A.type] == null)\n return I(\"unknown packet type \" + A.type);\n if (e.BINARY_EVENT === A.type || e.BINARY_ACK === A.type) {\n for (var l = m + 1; g.charAt(++m) !== \"-\" && m != g.length; )\n ;\n var y = g.substring(l, m);\n if (y != Number(y) || g.charAt(m) !== \"-\")\n throw new Error(\"Illegal attachments\");\n A.attachments = Number(y);\n }\n if (g.charAt(m + 1) === \"/\") {\n for (var l = m + 1; ++m; ) {\n var v = g.charAt(m);\n if (v === \",\" || m === g.length)\n break;\n }\n A.nsp = g.substring(l, m);\n } else\n A.nsp = \"/\";\n var b = g.charAt(m + 1);\n if (b !== \"\" && Number(b) == b) {\n for (var l = m + 1; ++m; ) {\n var v = g.charAt(m);\n if (v == null || Number(v) != v) {\n --m;\n break;\n }\n if (m === g.length)\n break;\n }\n A.id = Number(g.substring(l, m + 1));\n }\n if (g.charAt(++m)) {\n var w = O(g.substr(m));\n if (d(A.type, w))\n A.data = w;\n else\n throw new Error(\"invalid payload\");\n }\n return t(\"decoded %s as %j\", g, A), A;\n }\n function O(g) {\n try {\n return JSON.parse(g);\n } catch {\n return !1;\n }\n }\n c.prototype.destroy = function() {\n this.reconstructor && this.reconstructor.finishedReconstruction();\n };\n function C(g) {\n this.reconPack = g, this.buffers = [];\n }\n C.prototype.takeBinaryData = function(g) {\n if (this.buffers.push(g), this.buffers.length === this.reconPack.attachments) {\n var m = n.reconstructPacket(this.reconPack, this.buffers);\n return this.finishedReconstruction(), m;\n }\n return null;\n }, C.prototype.finishedReconstruction = function() {\n this.reconPack = null, this.buffers = [];\n };\n function I(g) {\n return {\n type: e.ERROR,\n data: \"parser error: \" + g\n };\n }\n})(Oe);\nvar Qe = { exports: {} }, Ie = {}, je = { exports: {} };\ntry {\n je.exports = typeof XMLHttpRequest < \"u\" && \"withCredentials\" in new XMLHttpRequest();\n} catch {\n je.exports = !1;\n}\nvar Fr = je.exports, Ze = function() {\n return typeof self < \"u\" ? self : typeof window < \"u\" ? window : Function(\"return this\")();\n}(), Ar = Fr, Er = Ze, et = function(e) {\n var t = e.xdomain, r = e.xscheme, n = e.enablesXDR;\n try {\n if (typeof XMLHttpRequest < \"u\" && (!t || Ar))\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 Er[[\"Active\"].concat(\"Object\").join(\"X\")](\"Microsoft.XMLHTTP\");\n } catch {\n }\n}, tt = { exports: {} }, K = {}, kr = 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}, Br = Ke, Bt = Object.prototype.toString, Sr = typeof Blob == \"function\" || typeof Blob < \"u\" && Bt.call(Blob) === \"[object BlobConstructor]\", Nr = typeof File == \"function\" || typeof File < \"u\" && Bt.call(File) === \"[object FileConstructor]\", St = Ae;\nfunction Ae(e) {\n if (!e || typeof e != \"object\")\n return !1;\n if (Br(e)) {\n for (var t = 0, r = e.length; t < r; t++)\n if (Ae(e[t]))\n return !0;\n return !1;\n }\n if (typeof Buffer == \"function\" && Buffer.isBuffer && Buffer.isBuffer(e) || typeof ArrayBuffer == \"function\" && e instanceof ArrayBuffer || Sr && e instanceof Blob || Nr && e instanceof File)\n return !0;\n if (e.toJSON && typeof e.toJSON == \"function\" && arguments.length === 1)\n return Ae(e.toJSON(), !0);\n for (var n in e)\n if (Object.prototype.hasOwnProperty.call(e, n) && Ae(e[n]))\n return !0;\n return !1;\n}\nvar Or = 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), s = new Uint8Array(r - t), f = t, p = 0; f < r; f++, p++)\n s[p] = i[f];\n return s.buffer;\n}, Rr = Ir;\nfunction Ir(e, t, r) {\n var n = !1;\n return r = r || Dr, i.count = e, e === 0 ? t() : i;\n function i(s, f) {\n if (i.count <= 0)\n throw new Error(\"after called too many times\");\n --i.count, s ? (n = !0, t(s), t = r) : i.count === 0 && !n && t(null, f);\n }\n}\nfunction Dr() {\n}\n/*! https://mths.be/utf8js v2.1.2 by @mathias */\nvar j = String.fromCharCode;\nfunction Nt(e) {\n for (var t = [], r = 0, n = e.length, i, s; r < n; )\n i = e.charCodeAt(r++), i >= 55296 && i <= 56319 && r < n ? (s = e.charCodeAt(r++), (s & 64512) == 56320 ? t.push(((i & 1023) << 10) + (s & 1023) + 65536) : (t.push(i), r--)) : t.push(i);\n return t;\n}\nfunction Tr(e) {\n for (var t = e.length, r = -1, n, i = \"\"; ++r < t; )\n n = e[r], n > 65535 && (n -= 65536, i += j(n >>> 10 & 1023 | 55296), n = 56320 | n & 1023), i += j(n);\n return i;\n}\nfunction Ot(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 Le(e, t) {\n return j(e >> t & 63 | 128);\n}\nfunction Lr(e, t) {\n if (!(e & 4294967168))\n return j(e);\n var r = \"\";\n return e & 4294965248 ? e & 4294901760 ? e & 4292870144 || (r = j(e >> 18 & 7 | 240), r += Le(e, 12), r += Le(e, 6)) : (Ot(e, t) || (e = 65533), r = j(e >> 12 & 15 | 224), r += Le(e, 6)) : r = j(e >> 6 & 31 | 192), r += j(e & 63 | 128), r;\n}\nfunction Ur(e, t) {\n t = t || {};\n for (var r = t.strict !== !1, n = Nt(e), i = n.length, s = -1, f, p = \"\"; ++s < i; )\n f = n[s], p += Lr(f, r);\n return p;\n}\nfunction Y() {\n if (J >= ke)\n throw Error(\"Invalid byte index\");\n var e = Ee[J] & 255;\n if (J++, (e & 192) == 128)\n return e & 63;\n throw Error(\"Invalid continuation byte\");\n}\nfunction qr(e) {\n var t, r, n, i, s;\n if (J > ke)\n throw Error(\"Invalid byte index\");\n if (J == ke)\n return !1;\n if (t = Ee[J] & 255, J++, !(t & 128))\n return t;\n if ((t & 224) == 192) {\n if (r = Y(), s = (t & 31) << 6 | r, s >= 128)\n return s;\n throw Error(\"Invalid continuation byte\");\n }\n if ((t & 240) == 224) {\n if (r = Y(), n = Y(), s = (t & 15) << 12 | r << 6 | n, s >= 2048)\n return Ot(s, e) ? s : 65533;\n throw Error(\"Invalid continuation byte\");\n }\n if ((t & 248) == 240 && (r = Y(), n = Y(), i = Y(), s = (t & 7) << 18 | r << 12 | n << 6 | i, s >= 65536 && s <= 1114111))\n return s;\n throw Error(\"Invalid UTF-8 detected\");\n}\nvar Ee, ke, J;\nfunction Pr(e, t) {\n t = t || {};\n var r = t.strict !== !1;\n Ee = Nt(e), ke = Ee.length, J = 0;\n for (var n = [], i; (i = qr(r)) !== !1; )\n n.push(i);\n return Tr(n);\n}\nvar _r = {\n version: \"2.1.2\",\n encode: Ur,\n decode: Pr\n}, Ce = {}, ct;\nfunction xr() {\n return ct || (ct = 1, function(e) {\n Ce.encode = function(t) {\n var r = new Uint8Array(t), n, i = r.length, s = \"\";\n for (n = 0; n < i; n += 3)\n s += e[r[n] >> 2], s += e[(r[n] & 3) << 4 | r[n + 1] >> 4], s += e[(r[n + 1] & 15) << 2 | r[n + 2] >> 6], s += e[r[n + 2] & 63];\n return i % 3 === 2 ? s = s.substring(0, s.length - 1) + \"=\" : i % 3 === 1 && (s = s.substring(0, s.length - 2) + \"==\"), s;\n }, Ce.decode = function(t) {\n var r = t.length * 0.75, n = t.length, i, s = 0, f, p, h, o;\n t[t.length - 1] === \"=\" && (r--, t[t.length - 2] === \"=\" && r--);\n var a = new ArrayBuffer(r), c = new Uint8Array(a);\n for (i = 0; i < n; i += 4)\n f = e.indexOf(t[i]), p = e.indexOf(t[i + 1]), h = e.indexOf(t[i + 2]), o = e.indexOf(t[i + 3]), c[s++] = f << 2 | p >> 4, c[s++] = (p & 15) << 4 | h >> 2, c[s++] = (h & 3) << 6 | o & 63;\n return a;\n };\n }(\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\")), Ce;\n}\nvar Ue, ut;\nfunction $r() {\n if (ut)\n return Ue;\n ut = 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 p = new Blob([\"hi\"]);\n return p.size === 2;\n } catch {\n return !1;\n }\n }(), r = t && function() {\n try {\n var p = new Blob([new Uint8Array([1, 2])]);\n return p.size === 2;\n } catch {\n return !1;\n }\n }(), n = e && e.prototype.append && e.prototype.getBlob;\n function i(p) {\n return p.map(function(h) {\n if (h.buffer instanceof ArrayBuffer) {\n var o = h.buffer;\n if (h.byteLength !== o.byteLength) {\n var a = new Uint8Array(h.byteLength);\n a.set(new Uint8Array(o, h.byteOffset, h.byteLength)), o = a.buffer;\n }\n return o;\n }\n return h;\n });\n }\n function s(p, h) {\n h = h || {};\n var o = new e();\n return i(p).forEach(function(a) {\n o.append(a);\n }), h.type ? o.getBlob(h.type) : o.getBlob();\n }\n function f(p, h) {\n return new Blob(i(p), h || {});\n }\n return typeof Blob < \"u\" && (s.prototype = Blob.prototype, f.prototype = Blob.prototype), Ue = /* @__PURE__ */ function() {\n return t ? r ? Blob : f : n ? s : void 0;\n }(), Ue;\n}\n(function(e) {\n var t = kr, r = St, n = Or, i = Rr, s = _r, f;\n typeof ArrayBuffer < \"u\" && (f = xr());\n var p = typeof navigator < \"u\" && /Android/i.test(navigator.userAgent), h = typeof navigator < \"u\" && /PhantomJS/i.test(navigator.userAgent), o = p || h;\n e.protocol = 3;\n var a = e.packets = {\n open: 0,\n close: 1,\n ping: 2,\n pong: 3,\n message: 4,\n upgrade: 5,\n noop: 6\n }, c = t(a), d = { type: \"error\", data: \"parser error\" }, u = $r();\n e.encodePacket = function(l, y, v, b) {\n typeof y == \"function\" && (b = y, y = !1), typeof v == \"function\" && (b = v, v = null);\n var w = l.data === void 0 ? void 0 : l.data.buffer || l.data;\n if (typeof ArrayBuffer < \"u\" && w instanceof ArrayBuffer)\n return C(l, y, b);\n if (typeof u < \"u\" && w instanceof u)\n return g(l, y, b);\n if (w && w.base64)\n return O(l, b);\n var F = a[l.type];\n return l.data !== void 0 && (F += v ? s.encode(String(l.data), { strict: !1 }) : String(l.data)), b(\"\" + F);\n };\n function O(l, y) {\n var v = \"b\" + e.packets[l.type] + l.data.data;\n return y(v);\n }\n function C(l, y, v) {\n if (!y)\n return e.encodeBase64Packet(l, v);\n var b = l.data, w = new Uint8Array(b), F = new Uint8Array(1 + b.byteLength);\n F[0] = a[l.type];\n for (var E = 0; E < w.length; E++)\n F[E + 1] = w[E];\n return v(F.buffer);\n }\n function I(l, y, v) {\n if (!y)\n return e.encodeBase64Packet(l, v);\n var b = new FileReader();\n return b.onload = function() {\n e.encodePacket({ type: l.type, data: b.result }, y, !0, v);\n }, b.readAsArrayBuffer(l.data);\n }\n function g(l, y, v) {\n if (!y)\n return e.encodeBase64Packet(l, v);\n if (o)\n return I(l, y, v);\n var b = new Uint8Array(1);\n b[0] = a[l.type];\n var w = new u([b.buffer, l.data]);\n return v(w);\n }\n e.encodeBase64Packet = function(l, y) {\n var v = \"b\" + e.packets[l.type];\n if (typeof u < \"u\" && l.data instanceof u) {\n var b = new FileReader();\n return b.onload = function() {\n var k = b.result.split(\",\")[1];\n y(v + k);\n }, b.readAsDataURL(l.data);\n }\n var w;\n try {\n w = String.fromCharCode.apply(null, new Uint8Array(l.data));\n } catch {\n for (var F = new Uint8Array(l.data), E = new Array(F.length), S = 0; S < F.length; S++)\n E[S] = F[S];\n w = String.fromCharCode.apply(null, E);\n }\n return v += btoa(w), y(v);\n }, e.decodePacket = function(l, y, v) {\n if (l === void 0)\n return d;\n if (typeof l == \"string\") {\n if (l.charAt(0) === \"b\")\n return e.decodeBase64Packet(l.substr(1), y);\n if (v && (l = m(l), l === !1))\n return d;\n var w = l.charAt(0);\n return Number(w) != w || !c[w] ? d : l.length > 1 ? { type: c[w], data: l.substring(1) } : { type: c[w] };\n }\n var b = new Uint8Array(l), w = b[0], F = n(l, 1);\n return u && y === \"blob\" && (F = new u([F])), { type: c[w], data: F };\n };\n function m(l) {\n try {\n l = s.decode(l, { strict: !1 });\n } catch {\n return !1;\n }\n return l;\n }\n e.decodeBase64Packet = function(l, y) {\n var v = c[l.charAt(0)];\n if (!f)\n return { type: v, data: { base64: !0, data: l.substr(1) } };\n var b = f.decode(l.substr(1));\n return y === \"blob\" && u && (b = new u([b])), { type: v, data: b };\n }, e.encodePayload = function(l, y, v) {\n typeof y == \"function\" && (v = y, y = null);\n var b = r(l);\n if (y && b)\n return u && !o ? e.encodePayloadAsBlob(l, v) : e.encodePayloadAsArrayBuffer(l, v);\n if (!l.length)\n return v(\"0:\");\n function w(E) {\n return E.length + \":\" + E;\n }\n function F(E, S) {\n e.encodePacket(E, b ? y : !1, !1, function(k) {\n S(null, w(k));\n });\n }\n A(l, F, function(E, S) {\n return v(S.join(\"\"));\n });\n };\n function A(l, y, v) {\n for (var b = new Array(l.length), w = i(l.length, v), F = function(S, k, D) {\n y(k, function(T, L) {\n b[S] = L, D(T, b);\n });\n }, E = 0; E < l.length; E++)\n F(E, l[E], w);\n }\n e.decodePayload = function(l, y, v) {\n if (typeof l != \"string\")\n return e.decodePayloadAsBinary(l, y, v);\n typeof y == \"function\" && (v = y, y = null);\n var b;\n if (l === \"\")\n return v(d, 0, 1);\n for (var w = \"\", F, E, S = 0, k = l.length; S < k; S++) {\n var D = l.charAt(S);\n if (D !== \":\") {\n w += D;\n continue;\n }\n if (w === \"\" || w != (F = Number(w)) || (E = l.substr(S + 1, F), w != E.length))\n return v(d, 0, 1);\n if (E.length) {\n if (b = e.decodePacket(E, y, !1), d.type === b.type && d.data === b.data)\n return v(d, 0, 1);\n var T = v(b, S + F, k);\n if (T === !1)\n return;\n }\n S += F, w = \"\";\n }\n if (w !== \"\")\n return v(d, 0, 1);\n }, e.encodePayloadAsArrayBuffer = function(l, y) {\n if (!l.length)\n return y(new ArrayBuffer(0));\n function v(b, w) {\n e.encodePacket(b, !0, !0, function(F) {\n return w(null, F);\n });\n }\n A(l, v, function(b, w) {\n var F = w.reduce(function(k, D) {\n var T;\n return typeof D == \"string\" ? T = D.length : T = D.byteLength, k + T.toString().length + T + 2;\n }, 0), E = new Uint8Array(F), S = 0;\n return w.forEach(function(k) {\n var D = typeof k == \"string\", T = k;\n if (D) {\n for (var V = new Uint8Array(k.length), L = 0; L < k.length; L++)\n V[L] = k.charCodeAt(L);\n T = V.buffer;\n }\n D ? E[S++] = 0 : E[S++] = 1;\n for (var G = T.byteLength.toString(), L = 0; L < G.length; L++)\n E[S++] = parseInt(G[L]);\n E[S++] = 255;\n for (var V = new Uint8Array(T), L = 0; L < V.length; L++)\n E[S++] = V[L];\n }), y(E.buffer);\n });\n }, e.encodePayloadAsBlob = function(l, y) {\n function v(b, w) {\n e.encodePacket(b, !0, !0, function(F) {\n var E = new Uint8Array(1);\n if (E[0] = 1, typeof F == \"string\") {\n for (var S = new Uint8Array(F.length), k = 0; k < F.length; k++)\n S[k] = F.charCodeAt(k);\n F = S.buffer, E[0] = 0;\n }\n for (var D = F instanceof ArrayBuffer ? F.byteLength : F.size, T = D.toString(), L = new Uint8Array(T.length + 1), k = 0; k < T.length; k++)\n L[k] = parseInt(T[k]);\n if (L[T.length] = 255, u) {\n var G = new u([E.buffer, L.buffer, F]);\n w(null, G);\n }\n });\n }\n A(l, v, function(b, w) {\n return y(new u(w));\n });\n }, e.decodePayloadAsBinary = function(l, y, v) {\n typeof y == \"function\" && (v = y, y = null);\n for (var b = l, w = []; b.byteLength > 0; ) {\n for (var F = new Uint8Array(b), E = F[0] === 0, S = \"\", k = 1; F[k] !== 255; k++) {\n if (S.length > 310)\n return v(d, 0, 1);\n S += F[k];\n }\n b = n(b, 2 + S.length), S = parseInt(S);\n var D = n(b, 0, S);\n if (E)\n try {\n D = String.fromCharCode.apply(null, new Uint8Array(D));\n } catch {\n var T = new Uint8Array(D);\n D = \"\";\n for (var k = 0; k < T.length; k++)\n D += String.fromCharCode(T[k]);\n }\n w.push(D), b = n(b, S);\n }\n var L = w.length;\n w.forEach(function(G, V) {\n v(e.decodePacket(G, y, !0), V, L);\n });\n };\n})(K);\nvar qe, ft;\nfunction rt() {\n if (ft)\n return qe;\n ft = 1;\n var e = K, t = ee;\n qe = 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 s = new Error(n);\n return s.type = \"TransportError\", s.description = i, this.emit(\"error\", s), 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 }, qe;\n}\nvar te = {};\nte.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};\nte.decode = function(e) {\n for (var t = {}, r = e.split(\"&\"), n = 0, i = r.length; n < i; n++) {\n var s = r[n].split(\"=\");\n t[decodeURIComponent(s[0])] = decodeURIComponent(s[1]);\n }\n return t;\n};\nvar De = function(e, t) {\n var r = function() {\n };\n r.prototype = t.prototype, e.prototype = new r(), e.prototype.constructor = e;\n}, Rt = \"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-_\".split(\"\"), Be = 64, It = {}, ht = 0, X = 0, lt;\nfunction Je(e) {\n var t = \"\";\n do\n t = Rt[e % Be] + t, e = Math.floor(e / Be);\n while (e > 0);\n return t;\n}\nfunction Mr(e) {\n var t = 0;\n for (X = 0; X < e.length; X++)\n t = t * Be + It[e.charAt(X)];\n return t;\n}\nfunction nt() {\n var e = Je(+/* @__PURE__ */ new Date());\n return e !== lt ? (ht = 0, lt = e) : e + \".\" + Je(ht++);\n}\nfor (; X < Be; X++)\n It[Rt[X]] = X;\nnt.encode = Je;\nnt.decode = Mr;\nvar Dt = nt, Xe = { exports: {} }, Ge = { exports: {} }, de = 1e3, pe = de * 60, ge = pe * 60, ye = ge * 24, Hr = ye * 365.25, Wr = function(e, t) {\n t = t || {};\n var r = typeof e;\n if (r === \"string\" && e.length > 0)\n return zr(e);\n if (r === \"number\" && isNaN(e) === !1)\n return t.long ? Jr(e) : jr(e);\n throw new Error(\n \"val is not a non-empty string or a valid number. val=\" + JSON.stringify(e)\n );\n};\nfunction zr(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 * Hr;\n case \"days\":\n case \"day\":\n case \"d\":\n return r * ye;\n case \"hours\":\n case \"hour\":\n case \"hrs\":\n case \"hr\":\n case \"h\":\n return r * ge;\n case \"minutes\":\n case \"minute\":\n case \"mins\":\n case \"min\":\n case \"m\":\n return r * pe;\n case \"seconds\":\n case \"second\":\n case \"secs\":\n case \"sec\":\n case \"s\":\n return r * de;\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 jr(e) {\n return e >= ye ? Math.round(e / ye) + \"d\" : e >= ge ? Math.round(e / ge) + \"h\" : e >= pe ? Math.round(e / pe) + \"m\" : e >= de ? Math.round(e / de) + \"s\" : e + \"ms\";\n}\nfunction Jr(e) {\n return be(e, ye, \"day\") || be(e, ge, \"hour\") || be(e, pe, \"minute\") || be(e, de, \"second\") || e + \" ms\";\n}\nfunction be(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 = f, t.enable = s, t.enabled = p, t.humanize = Wr, t.instances = [], t.names = [], t.skips = [], t.formatters = {};\n function r(o) {\n var a = 0, c;\n for (c in o)\n a = (a << 5) - a + o.charCodeAt(c), a |= 0;\n return t.colors[Math.abs(a) % t.colors.length];\n }\n function n(o) {\n var a;\n function c() {\n if (c.enabled) {\n var d = c, u = +/* @__PURE__ */ new Date(), O = u - (a || u);\n d.diff = O, d.prev = a, d.curr = u, a = u;\n for (var C = new Array(arguments.length), I = 0; I < C.length; I++)\n C[I] = arguments[I];\n C[0] = t.coerce(C[0]), typeof C[0] != \"string\" && C.unshift(\"%O\");\n var g = 0;\n C[0] = C[0].replace(/%([a-zA-Z%])/g, function(A, l) {\n if (A === \"%%\")\n return A;\n g++;\n var y = t.formatters[l];\n if (typeof y == \"function\") {\n var v = C[g];\n A = y.call(d, v), C.splice(g, 1), g--;\n }\n return A;\n }), t.formatArgs.call(d, C);\n var m = c.log || t.log || console.log.bind(console);\n m.apply(d, C);\n }\n }\n return c.namespace = o, c.enabled = t.enabled(o), c.useColors = t.useColors(), c.color = r(o), c.destroy = i, typeof t.init == \"function\" && t.init(c), t.instances.push(c), c;\n }\n function i() {\n var o = t.instances.indexOf(this);\n return o !== -1 ? (t.instances.splice(o, 1), !0) : !1;\n }\n function s(o) {\n t.save(o), t.names = [], t.skips = [];\n var a, c = (typeof o == \"string\" ? o : \"\").split(/[\\s,]+/), d = c.length;\n for (a = 0; a < d; a++)\n c[a] && (o = c[a].replace(/\\*/g, \".*?\"), o[0] === \"-\" ? t.skips.push(new RegExp(\"^\" + o.substr(1) + \"$\")) : t.names.push(new RegExp(\"^\" + o + \"$\")));\n for (a = 0; a < t.instances.length; a++) {\n var u = t.instances[a];\n u.enabled = t.enabled(u.namespace);\n }\n }\n function f() {\n t.enable(\"\");\n }\n function p(o) {\n if (o[o.length - 1] === \"*\")\n return !0;\n var a, c;\n for (a = 0, c = t.skips.length; a < c; a++)\n if (t.skips[a].test(o))\n return !1;\n for (a = 0, c = t.names.length; a < c; a++)\n if (t.names[a].test(o))\n return !0;\n return !1;\n }\n function h(o) {\n return o instanceof Error ? o.stack || o.message : o;\n }\n})(Ge, Ge.exports);\nvar Xr = Ge.exports;\n(function(e, t) {\n t = e.exports = Xr, t.log = i, t.formatArgs = n, t.save = s, t.load = f, t.useColors = r, t.storage = typeof chrome < \"u\" && typeof chrome.storage < \"u\" ? chrome.storage.local : p(), 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 (o) {\n return \"[UnexpectedJSONParseError]: \" + o.message;\n }\n };\n function n(h) {\n var o = this.useColors;\n if (h[0] = (o ? \"%c\" : \"\") + this.namespace + (o ? \" %c\" : \" \") + h[0] + (o ? \"%c \" : \" \") + \"+\" + t.humanize(this.diff), !!o) {\n var a = \"color: \" + this.color;\n h.splice(1, 0, a, \"color: inherit\");\n var c = 0, d = 0;\n h[0].replace(/%[a-zA-Z%]/g, function(u) {\n u !== \"%%\" && (c++, u === \"%c\" && (d = c));\n }), h.splice(d, 0, a);\n }\n }\n function i() {\n return typeof console == \"object\" && console.log && Function.prototype.apply.call(console.log, console, arguments);\n }\n function s(h) {\n try {\n h == null ? t.storage.removeItem(\"debug\") : t.storage.debug = h;\n } catch {\n }\n }\n function f() {\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(f());\n function p() {\n try {\n return window.localStorage;\n } catch {\n }\n }\n})(Xe, Xe.exports);\nvar Te = Xe.exports, Tt = rt(), Gr = te, Lt = K, Vr = De, Kr = Dt, H = Te(\"engine.io-client:polling\"), Ut = W, Yr = function() {\n var e = et, t = new e({ xdomain: !1 });\n return t.responseType != null;\n}();\nfunction W(e) {\n var t = e && e.forceBase64;\n (!Yr || t) && (this.supportsBinary = !1), Tt.call(this, e);\n}\nVr(W, Tt);\nW.prototype.name = \"polling\";\nW.prototype.doOpen = function() {\n this.poll();\n};\nW.prototype.pause = function(e) {\n var t = this;\n this.readyState = \"pausing\";\n function r() {\n H(\"paused\"), t.readyState = \"paused\", e();\n }\n if (this.polling || !this.writable) {\n var n = 0;\n this.polling && (H(\"we are currently polling - waiting to pause\"), n++, this.once(\"pollComplete\", function() {\n H(\"pre-pause polling complete\"), --n || r();\n })), this.writable || (H(\"we are currently writing - waiting to pause\"), n++, this.once(\"drain\", function() {\n H(\"pre-pause writing complete\"), --n || r();\n }));\n } else\n r();\n};\nW.prototype.poll = function() {\n H(\"polling\"), this.polling = !0, this.doPoll(), this.emit(\"poll\");\n};\nW.prototype.onData = function(e) {\n var t = this;\n H(\"polling got data %s\", e);\n var r = function(n, i, s) {\n if (t.readyState === \"opening\" && n.type === \"open\" && t.onOpen(), n.type === \"close\")\n return t.onClose(), !1;\n t.onPacket(n);\n };\n Lt.decodePayload(e, this.socket.binaryType, r), this.readyState !== \"closed\" && (this.polling = !1, this.emit(\"pollComplete\"), this.readyState === \"open\" ? this.poll() : H('ignoring poll - transport state \"%s\"', this.readyState));\n};\nW.prototype.doClose = function() {\n var e = this;\n function t() {\n H(\"writing close packet\"), e.write([{ type: \"close\" }]);\n }\n this.readyState === \"open\" ? (H(\"transport open - closing\"), t()) : (H(\"transport not open - deferring close\"), this.once(\"open\", t));\n};\nW.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 Lt.encodePayload(e, this.supportsBinary, function(n) {\n t.doWrite(n, r);\n });\n};\nW.prototype.uri = function() {\n var e = this.query || {}, t = this.secure ? \"https\" : \"http\", r = \"\";\n this.timestampRequests !== !1 && (e[this.timestampParam] = Kr()), !this.supportsBinary && !e.sid && (e.b64 = 1), e = Gr.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 Qr = et, qt = Ut, Zr = ee, en = De, Ve = Te(\"engine.io-client:polling-xhr\"), tn = Ze;\ntt.exports = re;\ntt.exports.Request = P;\nfunction dt() {\n}\nfunction re(e) {\n if (qt.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}\nen(re, qt);\nre.prototype.supportsBinary = !0;\nre.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 P(e);\n};\nre.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(s) {\n i.onError(\"xhr post error\", s);\n }), this.sendXhr = n;\n};\nre.prototype.doPoll = function() {\n Ve(\"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 P(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}\nZr(P.prototype);\nP.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 Qr(e), r = this;\n try {\n Ve(\"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 }, Ve(\"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 = P.requestsCount++, P.requests[this.index] = this);\n};\nP.prototype.onSuccess = function() {\n this.emit(\"success\"), this.cleanup();\n};\nP.prototype.onData = function(e) {\n this.emit(\"data\", e), this.onSuccess();\n};\nP.prototype.onError = function(e) {\n this.emit(\"error\", e), this.cleanup(!0);\n};\nP.prototype.cleanup = function(e) {\n if (!(typeof this.xhr > \"u\" || this.xhr === null)) {\n if (this.hasXDR() ? this.xhr.onload = this.xhr.onerror = dt : this.xhr.onreadystatechange = dt, e)\n try {\n this.xhr.abort();\n } catch {\n }\n typeof document < \"u\" && delete P.requests[this.index], this.xhr = null;\n }\n};\nP.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};\nP.prototype.hasXDR = function() {\n return typeof XDomainRequest < \"u\" && !this.xs && this.enablesXDR;\n};\nP.prototype.abort = function() {\n this.cleanup();\n};\nP.requestsCount = 0;\nP.requests = {};\nif (typeof document < \"u\") {\n if (typeof attachEvent == \"function\")\n attachEvent(\"onunload\", pt);\n else if (typeof addEventListener == \"function\") {\n var rn = \"onpagehide\" in tn ? \"pagehide\" : \"unload\";\n addEventListener(rn, pt, !1);\n }\n}\nfunction pt() {\n for (var e in P.requests)\n P.requests.hasOwnProperty(e) && P.requests[e].abort();\n}\nvar nn = tt.exports, it = Ut, on = De, gt = Ze, sn = ne, an = /\\n/g, cn = /\\\\n/g, we;\nfunction un() {\n}\nfunction ne(e) {\n it.call(this, e), this.query = this.query || {}, we || (we = gt.___eio = gt.___eio || []), this.index = we.length;\n var t = this;\n we.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 = un);\n }, !1);\n}\non(ne, it);\nne.prototype.supportsBinary = !1;\nne.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), it.prototype.doClose.call(this);\n};\nne.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};\nne.prototype.doWrite = function(e, t) {\n var r = this;\n if (!this.form) {\n var n = document.createElement(\"form\"), i = document.createElement(\"textarea\"), s = this.iframeId = \"eio_iframe_\" + this.index, f;\n n.className = \"socketio\", n.style.position = \"absolute\", n.style.top = \"-1000px\", n.style.left = \"-1000px\", n.target = s, 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 p() {\n h(), t();\n }\n function h() {\n if (r.iframe)\n try {\n r.form.removeChild(r.iframe);\n } catch (a) {\n r.onError(\"jsonp polling iframe removal error\", a);\n }\n try {\n var o = '<iframe src=\"javascript:0\" name=\"' + r.iframeId + '\">';\n f = document.createElement(o);\n } catch {\n f = document.createElement(\"iframe\"), f.name = r.iframeId, f.src = \"javascript:0\";\n }\n f.id = r.iframeId, r.form.appendChild(f), r.iframe = f;\n }\n h(), e = e.replace(cn, `\\\\\n`), this.area.value = e.replace(an, \"\\\\n\");\n try {\n this.form.submit();\n } catch {\n }\n this.iframe.attachEvent ? this.iframe.onreadystatechange = function() {\n r.iframe.readyState === \"complete\" && p();\n } : this.iframe.onload = p;\n};\nconst fn = {}, hn = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({\n __proto__: null,\n default: fn\n}, Symbol.toStringTag, { value: \"Module\" })), ln = /* @__PURE__ */ Gt(hn);\nvar ot = rt(), dn = K, pn = te, gn = De, yn = Dt, vn = Te(\"engine.io-client:websocket\"), Se, st;\ntypeof WebSocket < \"u\" ? Se = WebSocket : typeof self < \"u\" && (Se = self.WebSocket || self.MozWebSocket);\nif (typeof window > \"u\")\n try {\n st = ln;\n } catch {\n }\nvar Z = Se || st, mn = M;\nfunction M(e) {\n var t = e && e.forceBase64;\n t && (this.supportsBinary = !1), this.perMessageDeflate = e.perMessageDeflate, this.usingBrowserWebSocket = Se && !e.forceNode, this.protocols = e.protocols, this.usingBrowserWebSocket || (Z = st), ot.call(this, e);\n}\ngn(M, ot);\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(f) {\n dn.encodePacket(f, t.supportsBinary, function(p) {\n if (!t.usingBrowserWebSocket) {\n var h = {};\n if (f.options && (h.compress = f.options.compress), t.perMessageDeflate) {\n var o = typeof p == \"string\" ? Buffer.byteLength(p) : p.length;\n o < t.perMessageDeflate.threshold && (h.compress = !1);\n }\n }\n try {\n t.usingBrowserWebSocket ? t.ws.send(p) : t.ws.send(p, h);\n } catch {\n vn(\"websocket closed before onclose event\");\n }\n --r || s();\n });\n })(e[n]);\n function s() {\n t.emit(\"flush\"), setTimeout(function() {\n t.writable = !0, t.emit(\"drain\");\n }, 0);\n }\n};\nM.prototype.onClose = function() {\n ot.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] = yn()), this.supportsBinary || (e.b64 = 1), e = pn.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 Cn = et, bn = nn, wn = sn, Fn = mn;\nIe.polling = An;\nIe.websocket = Fn;\nfunction An(e) {\n var t, r = !1, n = !1, i = e.jsonp !== !1;\n if (typeof location < \"u\") {\n var s = location.protocol === \"https:\", f = location.port;\n f || (f = s ? 443 : 80), r = e.hostname !== location.hostname || f !== e.port, n = e.secure !== s;\n }\n if (e.xdomain = r, e.xscheme = n, t = new Cn(e), \"open\" in t && !e.forceJSONP)\n return new bn(e);\n if (!i)\n throw new Error(\"JSONP disabled\");\n return new wn(e);\n}\nvar En = [].indexOf, Pt = function(e, t) {\n if (En)\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}, kn = Ie, Bn = ee, U = Te(\"engine.io-client:socket\"), Sn = Pt, _t = K, yt = wt, Nn = te, On = 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 = yt(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 = yt(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 = Nn.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;\nBn(B.prototype);\nB.protocol = _t.protocol;\nB.Socket = B;\nB.Transport = rt();\nB.transports = Ie;\nB.parser = K;\nB.prototype.createTransport = function(e) {\n U('creating transport \"%s\"', e);\n var t = Rn(this.query);\n t.EIO = _t.protocol, t.transport = e;\n var r = this.transportOptions[e] || {};\n this.id && (t.sid = this.id);\n var n = new kn[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 U(\"setting transport %s\", e.name);\n var t = this;\n this.transport && (U(\"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 U('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 c = !this.supportsBinary && n.transport.supportsBinary;\n r = r || c;\n }\n r || (U('probe transport \"%s\" opened', e), t.send([{ type: \"ping\", data: \"probe\" }]), t.once(\"packet\", function(d) {\n if (!r)\n if (d.type === \"pong\" && d.data === \"probe\") {\n if (U('probe transport \"%s\" pong', e), n.upgrading = !0, n.emit(\"upgrading\", t), !t)\n return;\n B.priorWebsocketSuccess = t.name === \"websocket\", U('pausing current transport \"%s\"', n.transport.name), n.transport.pause(function() {\n r || n.readyState !== \"closed\" && (U(\"changing transport and sending upgrade packet\"), a(), n.setTransport(t), t.send([{ type: \"upgrade\" }]), n.emit(\"upgrade\", t), t = null, n.upgrading = !1, n.flush());\n });\n } else {\n U('probe transport \"%s\" failed', e);\n var u = new Error(\"probe error\");\n u.transport = t.name, n.emit(\"upgradeError\", u);\n }\n }));\n }\n function s() {\n r || (r = !0, a(), t.close(), t = null);\n }\n function f(c) {\n var d = new Error(\"probe error: \" + c);\n d.transport = t.name, s(), U('probe transport \"%s\" failed because of error: %s', e, c), n.emit(\"upgradeError\", d);\n }\n function p() {\n f(\"transport closed\");\n }\n function h() {\n f(\"socket closed\");\n }\n function o(c) {\n t && c.name !== t.name && (U('\"%s\" works - aborting \"%s\"', c.name, t.name), s());\n }\n function a() {\n t.removeListener(\"open\", i), t.removeListener(\"error\", f), t.removeListener(\"close\", p), n.removeListener(\"close\", h), n.removeListener(\"upgrading\", o);\n }\n t.once(\"open\", i), t.once(\"error\", f), t.once(\"close\", p), this.once(\"close\", h), this.once(\"upgrading\", o), t.open();\n};\nB.prototype.onOpen = function() {\n if (U(\"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 U(\"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 (U('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 U('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 U(\"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 && (U(\"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\"), U(\"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 U(\"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 U('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 ~Sn(this.transports, e[r]) && t.push(e[r]);\n return t;\n};\nQe.exports = On;\nQe.exports.parser = K;\nvar In = Qe.exports, xt = { exports: {} }, Dn = Tn;\nfunction Tn(e, t) {\n var r = [];\n t = t || 0;\n for (var n = t || 0; n < e.length; n++)\n r[n - t] = e[n];\n return r;\n}\nvar $t = Ln;\nfunction Ln(e, t, r) {\n return e.on(t, r), {\n destroy: function() {\n e.removeListener(t, r);\n }\n };\n}\nvar vt = [].slice, Mt = 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 = vt.call(arguments, 2);\n return function() {\n return t.apply(e, r.concat(vt.call(arguments)));\n };\n};\n(function(e, t) {\n var r = Oe, n = ee, i = Dn, s = $t, f = Mt, p = Ne(\"socket.io-client:socket\"), h = te, o = St;\n e.exports = d;\n var a = {\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 }, c = n.prototype.emit;\n function d(u, O, C) {\n this.io = u, this.nsp = O, this.json = this, this.ids = 0, this.acks = {}, this.receiveBuffer = [], this.sendBuffer = [], this.connected = !1, this.disconnected = !0, this.flags = {}, C && C.query && (this.query = C.query), this.io.autoConnect && this.open();\n }\n n(d.prototype), d.prototype.subEvents = function() {\n if (!this.subs) {\n var u = this.io;\n this.subs = [\n s(u, \"open\", f(this, \"onopen\")),\n s(u, \"packet\", f(this, \"onpacket\")),\n s(u, \"close\", f(this, \"onclose\"))\n ];\n }\n }, d.prototype.open = d.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 }, d.prototype.send = function() {\n var u = i(arguments);\n return u.unshift(\"message\"), this.emit.apply(this, u), this;\n }, d.prototype.emit = function(u) {\n if (a.hasOwnProperty(u))\n return c.apply(this, arguments), this;\n var O = i(arguments), C = {\n type: (this.flags.binary !== void 0 ? this.flags.binary : o(O)) ? r.BINARY_EVENT : r.EVENT,\n data: O\n };\n return C.options = {}, C.options.compress = !this.flags || this.flags.compress !== !1, typeof O[O.length - 1] == \"function\" && (p(\"emitting packet with ack id %d\", this.ids), this.acks[this.ids] = O.pop(), C.id = this.ids++), this.connected ? this.packet(C) : this.sendBuffer.push(C), this.flags = {}, this;\n }, d.prototype.packet = function(u) {\n u.nsp = this.nsp, this.io.packet(u);\n }, d.prototype.onopen = function() {\n if (p(\"transport is open - connecting\"), this.nsp !== \"/\")\n if (this.query) {\n var u = typeof this.query == \"object\" ? h.encode(this.query) : this.query;\n p(\"sending connect packet with query %s\", u), this.packet({ type: r.CONNECT, query: u });\n } else\n this.packet({ type: r.CONNECT });\n }, d.prototype.onclose = function(u) {\n p(\"close (%s)\", u), this.connected = !1, this.disconnected = !0, delete this.id, this.emit(\"disconnect\", u);\n }, d.prototype.onpacket = function(u) {\n var O = u.nsp === this.nsp, C = u.type === r.ERROR && u.nsp === \"/\";\n if (!(!O && !C))\n switch (u.type) {\n case r.CONNECT:\n this.onconnect();\n break;\n case r.EVENT:\n this.onevent(u);\n break;\n case r.BINARY_EVENT:\n this.onevent(u);\n break;\n case r.ACK:\n this.onack(u);\n break;\n case r.BINARY_ACK:\n this.onack(u);\n break;\n case r.DISCONNECT:\n this.ondisconnect();\n break;\n case r.ERROR:\n this.emit(\"error\", u.data);\n break;\n }\n }, d.prototype.onevent = function(u) {\n var O = u.data || [];\n p(\"emitting event %j\", O), u.id != null && (p(\"attaching ack callback to event\"), O.push(this.ack(u.id))), this.connected ? c.apply(this, O) : this.receiveBuffer.push(O);\n }, d.prototype.ack = function(u) {\n var O = this, C = !1;\n return function() {\n if (!C) {\n C = !0;\n var I = i(arguments);\n p(\"sending ack %j\", I), O.packet({\n type: o(I) ? r.BINARY_ACK : r.ACK,\n id: u,\n data: I\n });\n }\n };\n }, d.prototype.onack = function(u) {\n var O = this.acks[u.id];\n typeof O == \"function\" ? (p(\"calling ack %s with %j\", u.id, u.data), O.apply(this, u.data), delete this.acks[u.id]) : p(\"bad ack %s\", u.id);\n }, d.prototype.onconnect = function() {\n this.connected = !0, this.disconnected = !1, this.emitBuffered(), this.emit(\"connect\");\n }, d.prototype.emitBuffered = function() {\n var u;\n for (u = 0; u < this.receiveBuffer.length; u++)\n c.apply(this, this.receiveBuffer[u]);\n for (this.receiveBuffer = [], u = 0; u < this.sendBuffer.length; u++)\n this.packet(this.sendBuffer[u]);\n this.sendBuffer = [];\n }, d.prototype.ondisconnect = function() {\n p(\"server disconnect (%s)\", this.nsp), this.destroy(), this.onclose(\"io server disconnect\");\n }, d.prototype.destroy = function() {\n if (this.subs) {\n for (var u = 0; u < this.subs.length; u++)\n this.subs[u].destroy();\n this.subs = null;\n }\n this.io.destroy(this);\n }, d.prototype.close = d.prototype.disconnect = function() {\n return this.connected && (p(\"performing disconnect (%s)\", this.nsp), this.packet({ type: r.DISCONNECT })), this.destroy(), this.connected && this.onclose(\"io client disconnect\"), this;\n }, d.prototype.compress = function(u) {\n return this.flags.compress = u, this;\n }, d.prototype.binary = function(u) {\n return this.flags.binary = u, this;\n };\n})(xt);\nvar Ht = xt.exports, Un = ie;\nfunction ie(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}\nie.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};\nie.prototype.reset = function() {\n this.attempts = 0;\n};\nie.prototype.setMin = function(e) {\n this.ms = e;\n};\nie.prototype.setMax = function(e) {\n this.max = e;\n};\nie.prototype.setJitter = function(e) {\n this.jitter = e;\n};\nvar qn = In, Pn = Ht, _n = ee, xn = Oe, z = $t, Q = Mt, x = Ne(\"socket.io-client:manager\"), Wt = Pt, $n = Un, zt = Object.prototype.hasOwnProperty, mt = N;\nfunction N(e, t) {\n if (!(this instanceof N))\n return new N(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 $n({\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 || xn;\n this.encoder = new r.Encoder(), this.decoder = new r.Decoder(), this.autoConnect = t.autoConnect !== !1, this.autoConnect && this.open();\n}\nN.prototype.emitAll = function() {\n this.emit.apply(this, arguments);\n for (var e in this.nsps)\n zt.call(this.nsps, e) && this.nsps[e].emit.apply(this.nsps[e], arguments);\n};\nN.prototype.updateSocketIds = function() {\n for (var e in this.nsps)\n zt.call(this.nsps, e) && (this.nsps[e].id = this.generateId(e));\n};\nN.prototype.generateId = function(e) {\n return (e === \"/\" ? \"\" : e + \"#\") + this.engine.id;\n};\n_n(N.prototype);\nN.prototype.reconnection = function(e) {\n return arguments.length ? (this._reconnection = !!e, this) : this._reconnection;\n};\nN.prototype.reconnectionAttempts = function(e) {\n return arguments.length ? (this._reconnectionAttempts = e, this) : this._reconnectionAttempts;\n};\nN.prototype.reconnectionDelay = function(e) {\n return arguments.length ? (this._reconnectionDelay = e, this.backoff && this.backoff.setMin(e), this) : this._reconnectionDelay;\n};\nN.prototype.randomizationFactor = function(e) {\n return arguments.length ? (this._randomizationFactor = e, this.backoff && this.backoff.setJitter(e), this) : this._randomizationFactor;\n};\nN.prototype.reconnectionDelayMax = function(e) {\n return arguments.length ? (this._reconnectionDelayMax = e, this.backoff && this.backoff.setMax(e), this) : this._reconnectionDelayMax;\n};\nN.prototype.timeout = function(e) {\n return arguments.length ? (this._timeout = e, this) : this._timeout;\n};\nN.prototype.maybeReconnectOnOpen = function() {\n !this.reconnecting && this._reconnection && this.backoff.attempts === 0 && this.reconnect();\n};\nN.prototype.open = N.prototype.connect = function(e, t) {\n if (x(\"readyState %s\", this.readyState), ~this.readyState.indexOf(\"open\"))\n return this;\n x(\"opening %s\", this.uri), this.engine = qn(this.uri, this.opts);\n var r = this.engine, n = this;\n this.readyState = \"opening\", this.skipReconnect = !1;\n var i = z(r, \"open\", function() {\n n.onopen(), e && e();\n }), s = z(r, \"error\", function(h) {\n if (x(\"connect_error\"), n.cleanup(), n.readyState = \"closed\", n.emitAll(\"connect_error\", h), e) {\n var o = new Error(\"Connection error\");\n o.data = h, e(o);\n } else\n n.maybeReconnectOnOpen();\n });\n if (this._timeout !== !1) {\n var f = this._timeout;\n x(\"connect attempt will timeout after %d\", f), f === 0 && i.destroy();\n var p = setTimeout(function() {\n x(\"connect attempt timed out after %d\", f), i.destroy(), r.close(), r.emit(\"error\", \"timeout\"), n.emitAll(\"connect_timeout\", f);\n }, f);\n this.subs.push({\n destroy: function() {\n clearTimeout(p);\n }\n });\n }\n return this.subs.push(i), this.subs.push(s), this;\n};\nN.prototype.onopen = function() {\n x(\"open\"), this.cleanup(), this.readyState = \"open\", this.emit(\"open\");\n var e = this.engine;\n this.subs.push(z(e, \"data\", Q(this, \"ondata\"))), this.subs.push(z(e, \"ping\", Q(this, \"onping\"))), this.subs.push(z(e, \"pong\", Q(this, \"onpong\"))), this.subs.push(z(e, \"error\", Q(this, \"onerror\"))), this.subs.push(z(e, \"close\", Q(this, \"onclose\"))), this.subs.push(z(this.decoder, \"decoded\", Q(this, \"ondecoded\")));\n};\nN.prototype.onping = function() {\n this.lastPing = /* @__PURE__ */ new Date(), this.emitAll(\"ping\");\n};\nN.prototype.onpong = function() {\n this.emitAll(\"pong\", /* @__PURE__ */ new Date() - this.lastPing);\n};\nN.prototype.ondata = function(e) {\n this.decoder.add(e);\n};\nN.prototype.ondecoded = function(e) {\n this.emit(\"packet\", e);\n};\nN.prototype.onerror = function(e) {\n x(\"error\", e), this.emitAll(\"error\", e);\n};\nN.prototype.socket = function(e, t) {\n var r = this.nsps[e];\n if (!r) {\n r = new Pn(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 ~Wt(n.connecting, r) || n.connecting.push(r);\n }\n return r;\n};\nN.prototype.destroy = function(e) {\n var t = Wt(this.connecting, e);\n ~t && this.connecting.splice(t, 1), !this.connecting.length && this.close();\n};\nN.prototype.packet = function(e) {\n x(\"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};\nN.prototype.processPacketQueue = function() {\n if (this.packetBuffer.length > 0 && !this.encoding) {\n var e = this.packetBuffer.shift();\n this.packet(e);\n }\n};\nN.prototype.cleanup = function() {\n x(\"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};\nN.prototype.close = N.prototype.disconnect = function() {\n x(\"disconnect\"), this.skipReconnect = !0, this.reconnecting = !1, this.readyState === \"opening\" && this.cleanup(), this.backoff.reset(), this.readyState = \"closed\", this.engine && this.engine.close();\n};\nN.prototype.onclose = function(e) {\n x(\"onclose\"), this.cleanup(), this.backoff.reset(), this.readyState = \"closed\", this.emit(\"close\", e), this._reconnection && !this.skipReconnect && this.reconnect();\n};\nN.prototype.reconnect = function() {\n if (this.reconnecting || this.skipReconnect)\n return this;\n var e = this;\n if (this.backoff.attempts >= this._reconnectionAttempts)\n x(\"reconnect failed\"), this.backoff.reset(), this.emitAll(\"reconnect_failed\"), this.reconnecting = !1;\n else {\n var t = this.backoff.duration();\n x(\"will wait %dms before reconnect attempt\", t), this.reconnecting = !0;\n var r = setTimeout(function() {\n e.skipReconnect || (x(\"attempting reconnect\"), e.emitAll(\"reconnect_attempt\", e.backoff.attempts), e.emitAll(\"reconnecting\", e.backoff.attempts), !e.skipReconnect && e.open(function(n) {\n n ? (x(\"reconnect attempt error\"), e.reconnecting = !1, e.reconnect(), e.emitAll(\"reconnect_error\", n.data)) : (x(\"reconnect success\"), e.onreconnect());\n }));\n }, t);\n this.subs.push({\n destroy: function() {\n clearTimeout(r);\n }\n });\n }\n};\nN.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 = sr, n = Oe, i = mt, s = Ne(\"socket.io-client\");\n e.exports = t = p;\n var f = t.managers = {};\n function p(h, o) {\n typeof h == \"object\" && (o = h, h = void 0), o = o || {};\n var a = r(h), c = a.source, d = a.id, u = a.path, O = f[d] && u in f[d].nsps, C = o.forceNew || o[\"force new connection\"] || o.multiplex === !1 || O, I;\n return C ? (s(\"ignoring socket cache for %s\", c), I = i(c, o)) : (f[d] || (s(\"new io instance for %s\", c), f[d] = i(c, o)), I = f[d]), a.query && !o.query && (o.query = a.query), I.socket(a.path, o);\n }\n t.protocol = n.protocol, t.connect = p, t.Manager = mt, t.Socket = Ht;\n})(_e, _e.exports);\nvar Mn = _e.exports;\nconst Hn = /* @__PURE__ */ Xt(Mn);\nlet Fe;\nconst Wn = new Uint8Array(16);\nfunction zn() {\n if (!Fe && (Fe = typeof crypto < \"u\" && crypto.getRandomValues && crypto.getRandomValues.bind(crypto), !Fe))\n throw new Error(\"crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported\");\n return Fe(Wn);\n}\nconst _ = [];\nfor (let e = 0; e < 256; ++e)\n _.push((e + 256).toString(16).slice(1));\nfunction jn(e, t = 0) {\n return _[e[t + 0]] + _[e[t + 1]] + _[e[t + 2]] + _[e[t + 3]] + \"-\" + _[e[t + 4]] + _[e[t + 5]] + \"-\" + _[e[t + 6]] + _[e[t + 7]] + \"-\" + _[e[t + 8]] + _[e[t + 9]] + \"-\" + _[e[t + 10]] + _[e[t + 11]] + _[e[t + 12]] + _[e[t + 13]] + _[e[t + 14]] + _[e[t + 15]];\n}\nconst Jn = typeof crypto < \"u\" && crypto.randomUUID && crypto.randomUUID.bind(crypto), Ct = {\n randomUUID: Jn\n};\nfunction Xn(e, t, r) {\n if (Ct.randomUUID && !e)\n return Ct.randomUUID();\n e = e || {};\n const n = e.random || (e.rng || zn)();\n return n[6] = n[6] & 15 | 64, n[8] = n[8] & 63 | 128, jn(n);\n}\nfunction Gn(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 Vn(e, t) {\n const r = JSON.parse(e);\n return t.forEach((n) => delete r[n]), r;\n}\nfunction Kn(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 Yn(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 bt(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 Qn = {\n reconnection: !0,\n reconnectionDelay: 5e3,\n reconnectionAttempts: 10,\n //perMessageDeflate: false,\n upgrade: !1,\n transports: [\"websocket\"],\n debug: !1\n}, Pe = {\n logToConsole: !0,\n overloadGlobalConsole: !1,\n socketEmitInterval: 6e4\n}, ti = {\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}, Zn = {\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}, ri = {\n INFO: \"info\",\n WARNING: \"warning\",\n MODIFY: \"modify\",\n ERROR: \"error\",\n VIEW: \"view\"\n}, q = {\n INFO: \"info\",\n WARNING: \"warning\",\n ERROR: \"error\",\n DEBUG: \"debug\"\n}, ni = {\n USER: \"User\",\n ACCOUNT: \"Account\"\n}, ii = {\n USER: \"UserName\",\n ACCOUNT: \"AccountName\",\n EXTENSION: \"ExtensionName\"\n}, oi = {\n USER: \"UserID\",\n ACCOUNT: \"AccountID\",\n EXTENSION: \"ExtensionID\"\n}, si = {\n USER: \"User ID\",\n ACCOUNT: \"Account ID\",\n EXTENSION: \"Extension ID\",\n CAMPAIGN: \"Campaign ID\",\n QUEUE: \"Queue ID\"\n}, ai = {\n USER: \"User\",\n ACCOUNT: \"Account\",\n EXTENSION: \"Extension\",\n CAMPAIGN: \"Campaign\",\n QUEUE: \"Queue\"\n};\nlet $ = console;\nclass ci {\n /**\n * Initialize storage logger\n * @param options The configuration of the logger.\n */\n constructor(t) {\n R(this, \"logToConsole\");\n R(this, \"overloadGlobalConsole\");\n R(this, \"system\");\n R(this, \"socketEmitInterval\");\n R(this, \"storageId\");\n R(this, \"loggerLevel\", q.DEBUG);\n R(this, \"loggerLevelMap\", {\n [q.DEBUG]: [\n q.DEBUG,\n q.INFO,\n q.WARNING,\n q.ERROR\n ],\n [q.INFO]: [\n q.INFO,\n q.WARNING,\n q.ERROR\n ],\n [q.WARNING]: [\n q.WARNING,\n q.ERROR\n ],\n [q.ERROR]: [\n q.ERROR\n ]\n });\n R(this, \"emitInProgress\");\n R(this, \"queue\");\n R(this, \"processing\");\n R(this, \"storageInitialized\");\n R(this, \"interval\");\n R(this, \"logIndex\");\n R(this, \"socket\");\n R(this, \"requestUrl\");\n R(this, \"staticObject\", {});\n R(this, \"localObject\", {});\n R(this, \"isGetItemAsync\");\n R(this, \"isSetItemAsync\");\n R(this, \"getItem\");\n R(this, \"setItem\");\n R(this, \"parseLog\");\n R(this, \"_logMethod\");\n R(this, \"_warnMethod\");\n R(this, \"_errorMethod\");\n R(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, r.loggerLevel && (this.loggerLevel = r.loggerLevel), this.socketEmitInterval = r.socketEmitInterval || Pe.socketEmitInterval, this.logToConsole = r.logToConsole !== void 0 ? r.logToConsole : Pe.logToConsole, this.overloadGlobalConsole = r.overloadGlobalConsole !== void 0 ? r.overloadGlobalConsole : Pe.overloadGlobalConsole, this.storageId = this.getStorageName(), this.queue = [], this.processing = !1, this.storageInitialized = !1, this.emitInProgress = !1, this.logIndex = 0, this.staticObject = r.staticObject ?? {}, this.init(t);\n }\n get currentLoggerLevelLogLevels() {\n return this.loggerLevelMap[this.loggerLevel];\n }\n /**\n * The level of the logger.\n * If not provided, the default level is 'debug'.\n * Filters which logs will be sent to the server.\n *\n * - If \"debug\" is set, all logs will be sent.\n * - If \"info\" is set, only info, warning and error logs will be sent.\n * - If \"warning\" is set, only warning and error logs will be sent.\n * - If \"error\" is set, only error logs will be sent.\n */\n changeLogLevel(t) {\n this.loggerLevel = t;\n }\n isLogLevelAllowed(t) {\n return this.currentLoggerLevelLogLevels.includes(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 : bt(t) : this.defaultGetItemFunction, this.setItem = r && typeof r == \"function\" ? this.isSetItemAsync ? r : bt(r) : this.defaultSetItemFunction, this.parseLog = n && typeof n == \"function\" ? n : Gn;\n }\n /**\n * Used to send http log request.\n * @param logs logs array which is sent in request body.\n * @return {Promise<Response>}\n */\n sendHttpRequest(t) {\n if (!this.requestUrl)\n throw new Error(\"requestUrl is not provided\");\n const r = {\n Data: t\n };\n return fetch(this.requestUrl, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\"\n },\n body: JSON.stringify(r)\n });\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, requestUrl: i, socketOptions: s = {} } = t;\n this._logMethod = $.log.bind($), this._warnMethod = $.warn.bind($), this._errorMethod = $.error.bind($), this._debugMethod = $.debug.bind($), this.initStorage().then(() => {\n if (r)\n this.socket = r;\n else if (n)\n this.socket = this.createConnection(n, s);\n else if (i)\n this.requestUrl = i;\n else\n throw new Error(\"Must provide either a 'socket', 'requestUrl' or a 'url' for logger requests\");\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 let n = {\n ...Qn\n };\n return r && (n = {\n ...n,\n ...r\n }), Hn(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 s = Object.keys(n);\n if (!s.length)\n return;\n if ((!this.socket || !this.socket.connected) && !this.requestUrl)\n throw new Error(\"Log request can't be sent. Socket is disconnected or requestUrl is not provided\");\n const f = [];\n for (const o of s) {\n const a = Kn(n[o]), c = {\n ...this.staticObject,\n ...a\n }, d = this.populateSendingLog(c);\n d.Body && typeof d.Body == \"string\" && (d.Body = JSON.parse(d.Body)), this.socket ? this.socket.emit(\"Log\", d) : this.requestUrl && f.push(d), i.push(o);\n }\n f.length && await this.sendHttpRequest(f);\n const p = await this.getItem(this.storageId);\n if (!p)\n return;\n const h = Vn(p, i);\n this.localObject = {}, await this.setItem(this.storageId, JSON.stringify(h));\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 = Zn[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 = Yn(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 var t;\n this.socket && this.socket.connected || ((t = this.socket) == null || t.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 $ = Object.assign(\n $,\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 = Xn();\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 s = await this.getItem(this.storageId);\n if (!s)\n return;\n const f = JSON.parse(s);\n f[i] = JSON.stringify(n), await this.setItem(this.storageId, JSON.stringify(f));\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 logData The arguments to be logged.\n * @return void\n */\n log(t) {\n if (!this.isLogLevelAllowed(q.INFO))\n return;\n const n = {\n ...this.populateMetaData(),\n ...t\n }, i = [\"INFO\", n];\n this.queue.push(i), this.logToConsole && this._logMethod.apply($, [n]), this.processQueue();\n }\n /**\n * Logs warn data into the storage\n * @param logData The arguments to be logged.\n * @return void\n */\n warn(t) {\n if (!this.isLogLevelAllowed(q.WARNING))\n return;\n const r = [\"WARN\", t];\n this.queue.push(r), this.logToConsole && this._warnMethod.apply($, [t]), this.processQueue();\n }\n /**\n * Logs error data into the storage\n * @param logData The arguments to be logged.\n * @return void\n */\n error(t) {\n if (!this.isLogLevelAllowed(q.ERROR))\n return;\n const r = [\"ERROR\", t];\n this.queue.push(r), this.logToConsole && this._errorMethod.apply($, [t]), this.processQueue();\n }\n /**\n * Logs debug data into the storage\n * @param logData The arguments to be logged.\n * @return void\n */\n debug(t) {\n if (!this.isLogLevelAllowed(q.DEBUG))\n return;\n const r = [\"DEBUG\", t];\n this.queue.push(r), this.logToConsole && this._debugMethod.apply($, [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 Zn as ActionIDEnum,\n ti as ActionNameEnum,\n si as EntityIDEnum,\n ai as EntityTypeEnum,\n oi as IdentityIDEnum,\n ii as IdentityNameEnum,\n ni as IdentityTypeEnum,\n q as LevelEnum,\n ri as LogTypeEnum,\n ci as default,\n Qn as defaultConnectOptions,\n Pe as defaultLoggerOptions\n};\n//# sourceMappingURL=storage-logger.es.js.map\n","import { Socket } from 'socket.io-client'\r\nimport EventsSdkClass from '@/classes/events-sdk/events-sdk.class'\r\nimport type { LoggerDataPartial } from '@voicenter-team/socketio-storage-logger'\r\nimport StorageLogger, { ActionNameEnum, LevelEnum, LogTypeEnum } from '@voicenter-team/socketio-storage-logger'\r\nimport { LoginType } from '@/enum/auth.enum'\r\nimport { EventsEnum, KeepAliveResponseEvent } from '@voicenter-team/real-time-events-types'\r\nimport { DebugOption } from '@/enum/events-sdk.enum'\r\nimport { EventDataMap, EventTypeNames } from '@/types/events'\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 async start () {\r\n if (!this.storageLogger) {\r\n return\r\n }\r\n\r\n await this.storageLogger.start()\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.eventsSdkClass.options.useLogger) {\r\n if (this.storageLogger) {\r\n switch (data.Level) {\r\n case LevelEnum.INFO:\r\n this.storageLogger.log(data)\r\n break\r\n case LevelEnum.DEBUG:\r\n this.storageLogger.debug(data)\r\n break\r\n case LevelEnum.WARNING:\r\n this.storageLogger.warn(data)\r\n break\r\n case 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\r\n public sdkConnectionSuccess () {\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 connected to the socket server ${this.eventsSdkClass.server && this.eventsSdkClass.server.Domain ? this.eventsSdkClass.server.Domain : this.eventsSdkClass.URL}`,\r\n Body: JSON.stringify(replacedOptions, this.eventsSdkClass.getCircularReplacer()),\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 public sdkDisconnect (reasons: string[]) {\r\n this.log({\r\n Message: `Sdk disconnected from the socket server ${this.eventsSdkClass.server && this.eventsSdkClass.server.Domain ? this.eventsSdkClass.server.Domain : this.eventsSdkClass.URL} (${reasons})`,\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\r\n public sdkAttemptToConnect (domain?: string) {\r\n this.log({\r\n Message: `${this.eventsSdkClass.options.loggerConfig.system} is trying 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 }\r\n\r\n public sdkAttemptToConnectError (error: Error) {\r\n this.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 public loginError (loginType: LoginType, statusCode?: number, token?: string, email?: string,) {\r\n this.log({\r\n Message: `External login request error with the login type ${loginType} ${loginType === LoginType.TOKEN ? token : email}`,\r\n ActionName: ActionNameEnum.WSCONNECT,\r\n isShowClient: false,\r\n Status: 'External login error',\r\n StatusCode: statusCode ? statusCode : 400,\r\n Level: LevelEnum.ERROR,\r\n LogType: LogTypeEnum.ERROR\r\n })\r\n }\r\n\r\n public getSettingsError (token: string, error: Error) {\r\n this.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\r\n public refreshTokenError (oldRefreshToken: string, refreshTokenUrl: string, error: Error) {\r\n this.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\r\n public keepAliveEmit () {\r\n this.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\r\n public keepAliveResponse (data: KeepAliveResponseEvent) {\r\n this.log({\r\n Message: `Keep alive response: ${JSON.stringify(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\r\n public eventLog<T extends EventTypeNames> (\r\n eventName: T,\r\n data: EventDataMap[T]\r\n ) {\r\n const eventLogMap: Record<DebugOption, EventsEnum[]> = {\r\n [DebugOption.FULL]: [],\r\n [DebugOption.BOOTSTRAP]: [ EventsEnum.LOGIN_STATUS, EventsEnum.LOGIN_SUCCESS, EventsEnum.ALL_EXTENSION_STATUS, EventsEnum.ALL_DIALER_STATUS ],\r\n [DebugOption.DEBUG_EXTENSIONS]: [ EventsEnum.ALL_EXTENSION_STATUS, EventsEnum.EXTENSION_EVENT, EventsEnum.EXTENSIONS_UPDATED ],\r\n [DebugOption.DEBUG_DIALER]: [ EventsEnum.ALL_DIALER_STATUS, EventsEnum.DIALER_EVENT ],\r\n [DebugOption.DEBUG_QUEUE]: [ EventsEnum.QUEUE_EVENT ]\r\n }\r\n\r\n if (this.eventsSdkClass.options.debugOption) {\r\n if (\r\n eventLogMap[this.eventsSdkClass.options.debugOption].includes(eventName) ||\r\n this.eventsSdkClass.options.debugOption === DebugOption.FULL\r\n ) {\r\n this.log({\r\n Message: `Event name: ${eventName}`,\r\n Body: data,\r\n ActionName: ActionNameEnum.WSCONNECT,\r\n isShowClient: false,\r\n Status: 'Successful',\r\n Level: LevelEnum.DEBUG,\r\n LogType: LogTypeEnum.INFO\r\n })\r\n }\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} from '@/classes/events-sdk/events-sdk.types'\r\nimport { ServerParameter } from '@/enum/events-sdk.enum'\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 try {\r\n this.loggerClass.init()\r\n } catch (e) {\r\n console.error(e)\r\n }\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\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 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","DebugOption","ServerParameter","LoginType","StorageClass","key","doParse","loginSessionKey","storageData","AuthClass","eventsSdkClass","__publicField","payload","loginSessionData","loginType","externalLoginResponse","settings","prev","current","date","timeout","maxAllowedTimeout","refreshTokenResponse","url","password","token","email","body","statusCode","res","data","error","refreshTokenUrl","oldRefreshToken","eventsSdkDefaultOptions","v1_3_7","ws","e","r","p","f","o","h","u","g","w","y","v","k","A","B","C","S","E","T","_","P","R","N","O","U","q","D","I","L","importModules","__vite_glob_0_0","SOCKET_NAME_REGEX","isSocketIoFn","socket","sockets","acc","currentValue","module","moduleName","_a","getSocketVersion","version","makeSocketVersion","args","sockets$1","CallStatusEnum","CallTypeEnum","ConnectionStatusEnum","DialerTypeEnum","DirectionEnum","DoNotCallMeStatusCodeEnum","EventsEnum","ExtensionEventReasonEnum","ExtensionHangupCauseEnum","QueueEventReasonEnum","EventsHandler","reason","dataExtended","currentCallExtended","extensionExtended","call","callExtended","_b","extension","queue","value","properties","servertime","servertimeoffset","serverTimeUTC","diffServerAndClient","extendedProperties","property","valueFormatted","baseTime","ServerListenerEventsEnum","SocketIoClass","Client","parsedArray","protocol","server","domain","eventName","jt","Jt","Xt","Gt","_e","Vt","Kt","wt","Yt","Qt","xe","$e","oe","se","ae","ce","Zt","er","tr","nr","rr","ve","ir","Ne","or","at","sr","ar","Oe","Me","He","ue","fe","he","le","cr","ur","fr","lr","hr","me","dr","pr","Ft","ee","Re","gr","Ke","At","Cr","yr","vr","mr","Ye","Et","kt","br","wr","We","ze","Qe","Ie","je","Fr","Ze","Ar","Er","et","tt","K","kr","Br","Bt","Sr","Nr","St","Ae","Or","Rr","Ir","Dr","Nt","Tr","Ot","Le","Lr","Ur","Y","J","ke","Ee","qr","Pr","_r","Ce","ct","xr","Ue","ut","$r","F","V","G","qe","ft","rt","te","De","Rt","Be","It","ht","X","lt","Je","Mr","nt","Dt","Xe","Ge","de","pe","ge","ye","Hr","Wr","zr","Jr","jr","be","Xr","Te","Tt","Gr","Lt","Vr","Kr","H","Ut","W","Yr","Qr","qt","Zr","en","Ve","tn","re","dt","pt","rn","nn","it","on","gt","sn","ne","an","cn","we","un","fn","hn","ln","ot","dn","pn","gn","yn","vn","Se","st","Z","mn","M","Cn","bn","wn","Fn","An","En","Pt","kn","Bn","Sn","_t","yt","Nn","On","Rn","In","xt","Dn","Tn","$t","Ln","vt","Mt","Ht","Un","ie","qn","Pn","_n","xn","z","Q","Wt","$n","zt","mt","Mn","Hn","Fe","Wn","zn","jn","Jn","Ct","Xn","Gn","Vn","Kn","Yn","bt","Qn","Pe","ti","Zn","ri","$","ci","LoggerClass","StorageLogger","LevelEnum","replacedOptions","ActionNameEnum","LogTypeEnum","reasons","eventLogMap","EventEmitterClass","event","callback","item","filtered","allEventData","EventsSdkClass","seen","serverParameter","cur","filteredServers"],"mappings":"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","x_google_ignoreList":[0,1,2,3,11,12,13,14,15,16,17,18,19,20]}
|