/* eslint-disable */ /** * To use sails.io.js in an AMD environment (e.g. with require.js), * replace this file with the sails.io.js file from the root of: * https://github.com/balderdashy/sails.io.js * and download a standalone copy of socket.io-client from: * https://github.com/socketio/socket.io-client * then follow the instructions at: * https://github.com/balderdashy/sails.io.js#requirejsamd-usage */ // socket.io-client version 1.7.3 // https://github.com/socketio/socket.io-client ! function(a, b) { "object" == typeof exports && "object" == typeof module ? module.exports = b() : "function" == typeof define && define.amd ? define([], b) : "object" == typeof exports ? exports.io = b() : a.io = b() } (this, function() { return function(a) { function b(d) { if (c[d]) return c[d].exports; var e = c[d] = { exports: {}, id: d, loaded: !1 }; return a[d].call(e.exports, e, e.exports, b), e.loaded = !0, e.exports } var c = {}; return b.m = a, b.c = c, b.p = "", b(0) } ([function(a, b, c) { "use strict"; function d(a, b) { "object" === ("undefined" == typeof a ? "undefined": f(a)) && (b = a, a = void 0), b = b || {}; var c, d = g(a), h = d.source, l = d.id, m = d.path, n = k[l] && m in k[l].nsps, o = b.forceNew || b["force new connection"] || !1 === b.multiplex || n; return o ? (j("ignoring socket cache for %s", h), c = i(h, b)) : (k[l] || (j("new io instance for %s", h), k[l] = i(h, b)), c = k[l]), d.query && !b.query ? b.query = d.query: b && "object" === f(b.query) && (b.query = e(b.query)), c.socket(d.path, b) } function e(a) { var b = []; for (var c in a) a.hasOwnProperty(c) && b.push(encodeURIComponent(c) + "=" + encodeURIComponent(a[c])); return b.join("&") } var f = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(a) { return typeof a }: function(a) { return a && "function" == typeof Symbol && a.constructor === Symbol && a !== Symbol.prototype ? "symbol": typeof a }, g = c(1), h = c(7), i = c(17), j = c(3)("socket.io-client"); a.exports = b = d; var k = b.managers = {}; b.protocol = h.protocol, b.connect = d, b.Manager = c(17), b.Socket = c(44) }, function(a, b, c) { (function(b) { "use strict"; function d(a, c) { var d = a; c = c || b.location, null == a && (a = c.protocol + "//" + c.host), "string" == typeof a && ("/" === a.charAt(0) && (a = "/" === a.charAt(1) ? c.protocol + a: c.host + a), /^(https?|wss?):\/\//.test(a) || (f("protocol-less url %s", a), a = "undefined" != typeof c ? c.protocol + "//" + a: "https://" + a), f("parse %s", a), d = e(a)), d.port || (/^(http|ws)$/.test(d.protocol) ? d.port = "80": /^(http|ws)s$/.test(d.protocol) && (d.port = "443")), d.path = d.path || "/"; var g = d.host.indexOf(":") !== -1, h = g ? "[" + d.host + "]": d.host; return d.id = d.protocol + "://" + h + ":" + d.port, d.href = d.protocol + "://" + h + (c && c.port === d.port ? "": ":" + d.port), d } var e = c(2), f = c(3)("socket.io-client:url"); a.exports = d }).call(b, function() { return this } ()) }, function(a, b) { var c = /^(?:(?![^:@]+:[^:@\/]*@)(http|https|ws|wss):\/\/)?((?:(([^:@]*)(?::([^:@]*))?)?@)?((?:[a-f0-9]{0,4}:){2,7}[a-f0-9]{0,4}|[^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/, d = ["source", "protocol", "authority", "userInfo", "user", "password", "host", "port", "relative", "path", "directory", "file", "query", "anchor"]; a.exports = function(a) { var b = a, e = a.indexOf("["), f = a.indexOf("]"); e != -1 && f != -1 && (a = a.substring(0, e) + a.substring(e, f).replace(/:/g, ";") + a.substring(f, a.length)); for (var g = c.exec(a || ""), h = {}, i = 14; i--;) h[d[i]] = g[i] || ""; return e != -1 && f != -1 && (h.source = b, h.host = h.host.substring(1, h.host.length - 1).replace(/;/g, ":"), h.authority = h.authority.replace("[", "").replace("]", "").replace(/;/g, ":"), h.ipv6uri = !0), h } }, function(a, b, c) { (function(d) { function e() { return "undefined" != typeof document && "WebkitAppearance" in document.documentElement.style || window.console && (console.firebug || console.exception && console.table) || navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/) && parseInt(RegExp.$1, 10) >= 31 } function f() { var a = arguments, c = this.useColors; if (a[0] = (c ? "%c": "") + this.namespace + (c ? " %c": " ") + a[0] + (c ? "%c ": " ") + "+" + b.humanize(this.diff), !c) return a; var d = "color: " + this.color; a = [a[0], d, "color: inherit"].concat(Array.prototype.slice.call(a, 1)); var e = 0, f = 0; return a[0].replace(/%[a-z%]/g, function(a) { "%%" !== a && (e++, "%c" === a && (f = e)) }), a.splice(f, 0, d), a } function g() { return "object" == typeof console && console.log && Function.prototype.apply.call(console.log, console, arguments) } function h(a) { try { null == a ? b.storage.removeItem("debug") : b.storage.debug = a } catch(c) {} } function i() { try { return b.storage.debug } catch(a) {} if ("undefined" != typeof d && "env" in d) return d.env.DEBUG } function j() { try { return window.localStorage } catch(a) {} } b = a.exports = c(5), b.log = g, b.formatArgs = f, b.save = h, b.load = i, b.useColors = e, b.storage = "undefined" != typeof chrome && "undefined" != typeof chrome.storage ? chrome.storage.local: j(), b.colors = ["lightseagreen", "forestgreen", "goldenrod", "dodgerblue", "darkorchid", "crimson"], b.formatters.j = function(a) { try { return JSON.stringify(a) } catch(b) { return "[UnexpectedJSONParseError]: " + b.message } }, b.enable(i()) }).call(b, c(4)) }, function(a, b) { function c() { throw new Error("setTimeout has not been defined") } function d() { throw new Error("clearTimeout has not been defined") } function e(a) { if (k === setTimeout) return setTimeout(a, 0); if ((k === c || !k) && setTimeout) return k = setTimeout, setTimeout(a, 0); try { return k(a, 0) } catch(b) { try { return k.call(null, a, 0) } catch(b) { return k.call(this, a, 0) } } } function f(a) { if (l === clearTimeout) return clearTimeout(a); if ((l === d || !l) && clearTimeout) return l = clearTimeout, clearTimeout(a); try { return l(a) } catch(b) { try { return l.call(null, a) } catch(b) { return l.call(this, a) } } } function g() { p && n && (p = !1, n.length ? o = n.concat(o) : q = -1, o.length && h()) } function h() { if (!p) { var a = e(g); p = !0; for (var b = o.length; b;) { for (n = o, o = []; ++q < b;) n && n[q].run(); q = -1, b = o.length } n = null, p = !1, f(a) } } function i(a, b) { this.fun = a, this.array = b } function j() {} var k, l, m = a.exports = {}; ! function() { try { k = "function" == typeof setTimeout ? setTimeout: c } catch(a) { k = c } try { l = "function" == typeof clearTimeout ? clearTimeout: d } catch(a) { l = d } } (); var n, o = [], p = !1, q = -1; m.nextTick = function(a) { var b = new Array(arguments.length - 1); if (arguments.length > 1) for (var c = 1; c < arguments.length; c++) b[c - 1] = arguments[c]; o.push(new i(a, b)), 1 !== o.length || p || e(h) }, i.prototype.run = function() { this.fun.apply(null, this.array) }, m.title = "browser", m.browser = !0, m.env = {}, m.argv = [], m.version = "", m.versions = {}, m.on = j, m.addListener = j, m.once = j, m.off = j, m.removeListener = j, m.removeAllListeners = j, m.emit = j, m.binding = function(a) { throw new Error("process.binding is not supported") }, m.cwd = function() { return "/" }, m.chdir = function(a) { throw new Error("process.chdir is not supported") }, m.umask = function() { return 0 } }, function(a, b, c) { function d() { return b.colors[k++%b.colors.length] } function e(a) { function c() {} function e() { var a = e, c = +new Date, f = c - (j || c); a.diff = f, a.prev = j, a.curr = c, j = c, null == a.useColors && (a.useColors = b.useColors()), null == a.color && a.useColors && (a.color = d()); for (var g = new Array(arguments.length), h = 0; h < g.length; h++) g[h] = arguments[h]; g[0] = b.coerce(g[0]), "string" != typeof g[0] && (g = ["%o"].concat(g)); var i = 0; g[0] = g[0].replace(/%([a-z%])/g, function(c, d) { if ("%%" === c) return c; i++; var e = b.formatters[d]; if ("function" == typeof e) { var f = g[i]; c = e.call(a, f), g.splice(i, 1), i-- } return c }), g = b.formatArgs.apply(a, g); var k = e.log || b.log || console.log.bind(console); k.apply(a, g) } c.enabled = !1, e.enabled = !0; var f = b.enabled(a) ? e: c; return f.namespace = a, f } function f(a) { b.save(a); for (var c = (a || "").split(/[\s,]+/), d = c.length, e = 0; e < d; e++) c[e] && (a = c[e].replace(/[\\^$+?.()|[\]{}]/g, "\\$&").replace(/\*/g, ".*?"), "-" === a[0] ? b.skips.push(new RegExp("^" + a.substr(1) + "$")) : b.names.push(new RegExp("^" + a + "$"))) } function g() { b.enable("") } function h(a) { var c, d; for (c = 0, d = b.skips.length; c < d; c++) if (b.skips[c].test(a)) return ! 1; for (c = 0, d = b.names.length; c < d; c++) if (b.names[c].test(a)) return ! 0; return ! 1 } function i(a) { return a instanceof Error ? a.stack || a.message: a } b = a.exports = e.debug = e, b.coerce = i, b.disable = g, b.enable = f, b.enabled = h, b.humanize = c(6), b.names = [], b.skips = [], b.formatters = {}; var j, k = 0 }, function(a, b) { function c(a) { if (a = String(a), !(a.length > 1e4)) { var b = /^((?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|years?|yrs?|y)?$/i.exec(a); if (b) { var c = parseFloat(b[1]), d = (b[2] || "ms").toLowerCase(); switch (d) { case "years": case "year": case "yrs": case "yr": case "y": return c * k; case "days": case "day": case "d": return c * j; case "hours": case "hour": case "hrs": case "hr": case "h": return c * i; case "minutes": case "minute": case "mins": case "min": case "m": return c * h; case "seconds": case "second": case "secs": case "sec": case "s": return c * g; case "milliseconds": case "millisecond": case "msecs": case "msec": case "ms": return c; default: return } } } } function d(a) { return a >= j ? Math.round(a / j) + "d": a >= i ? Math.round(a / i) + "h": a >= h ? Math.round(a / h) + "m": a >= g ? Math.round(a / g) + "s": a + "ms" } function e(a) { return f(a, j, "day") || f(a, i, "hour") || f(a, h, "minute") || f(a, g, "second") || a + " ms" } function f(a, b, c) { if (! (a < b)) return a < 1.5 * b ? Math.floor(a / b) + " " + c: Math.ceil(a / b) + " " + c + "s" } var g = 1e3, h = 60 * g, i = 60 * h, j = 24 * i, k = 365.25 * j; a.exports = function(a, b) { b = b || {}; var f = typeof a; if ("string" === f && a.length > 0) return c(a); if ("number" === f && isNaN(a) === !1) return b["long"] ? e(a) : d(a); throw new Error("val is not a non-empty string or a valid number. val=" + JSON.stringify(a)) } }, function(a, b, c) { function d() {} function e(a) { var c = "", d = !1; return c += a.type, b.BINARY_EVENT != a.type && b.BINARY_ACK != a.type || (c += a.attachments, c += "-"), a.nsp && "/" != a.nsp && (d = !0, c += a.nsp), null != a.id && (d && (c += ",", d = !1), c += a.id), null != a.data && (d && (c += ","), c += m.stringify(a.data)), l("encoded %j as %s", a, c), c } function f(a, b) { function c(a) { var c = o.deconstructPacket(a), d = e(c.packet), f = c.buffers; f.unshift(d), b(f) } o.removeBlobs(a, c) } function g() { this.reconstructor = null } function h(a) { var c = {}, d = 0; if (c.type = Number(a.charAt(0)), null == b.types[c.type]) return k(); if (b.BINARY_EVENT == c.type || b.BINARY_ACK == c.type) { for (var e = ""; "-" != a.charAt(++d) && (e += a.charAt(d), d != a.length);); if (e != Number(e) || "-" != a.charAt(d)) throw new Error("Illegal attachments"); c.attachments = Number(e) } if ("/" == a.charAt(d + 1)) for (c.nsp = ""; ++d;) { var f = a.charAt(d); if ("," == f) break; if (c.nsp += f, d == a.length) break } else c.nsp = "/"; var g = a.charAt(d + 1); if ("" !== g && Number(g) == g) { for (c.id = ""; ++d;) { var f = a.charAt(d); if (null == f || Number(f) != f) {--d; break } if (c.id += a.charAt(d), d == a.length) break } c.id = Number(c.id) } return a.charAt(++d) && (c = i(c, a.substr(d))), l("decoded %s as %j", a, c), c } function i(a, b) { try { a.data = m.parse(b) } catch(c) { return k() } return a } function j(a) { this.reconPack = a, this.buffers = [] } function k(a) { return { type: b.ERROR, data: "parser error" } } var l = c(8)("socket.io-parser"), m = c(11), n = c(13), o = c(14), p = c(16); b.protocol = 4, b.types = ["CONNECT", "DISCONNECT", "EVENT", "ACK", "ERROR", "BINARY_EVENT", "BINARY_ACK"], b.CONNECT = 0, b.DISCONNECT = 1, b.EVENT = 2, b.ACK = 3, b.ERROR = 4, b.BINARY_EVENT = 5, b.BINARY_ACK = 6, b.Encoder = d, b.Decoder = g, d.prototype.encode = function(a, c) { if (l("encoding packet %j", a), b.BINARY_EVENT == a.type || b.BINARY_ACK == a.type) f(a, c); else { var d = e(a); c([d]) } }, n(g.prototype), g.prototype.add = function(a) { var c; if ("string" == typeof a) c = h(a), b.BINARY_EVENT == c.type || b.BINARY_ACK == c.type ? (this.reconstructor = new j(c), 0 === this.reconstructor.reconPack.attachments && this.emit("decoded", c)) : this.emit("decoded", c); else { if (!p(a) && !a.base64) throw new Error("Unknown type: " + a); if (!this.reconstructor) throw new Error("got binary data when not reconstructing a packet"); c = this.reconstructor.takeBinaryData(a), c && (this.reconstructor = null, this.emit("decoded", c)) } }, g.prototype.destroy = function() { this.reconstructor && this.reconstructor.finishedReconstruction() }, j.prototype.takeBinaryData = function(a) { if (this.buffers.push(a), this.buffers.length == this.reconPack.attachments) { var b = o.reconstructPacket(this.reconPack, this.buffers); return this.finishedReconstruction(), b } return null }, j.prototype.finishedReconstruction = function() { this.reconPack = null, this.buffers = [] } }, function(a, b, c) { function d() { 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 } function e() { var a = arguments, c = this.useColors; if (a[0] = (c ? "%c": "") + this.namespace + (c ? " %c": " ") + a[0] + (c ? "%c ": " ") + "+" + b.humanize(this.diff), !c) return a; var d = "color: " + this.color; a = [a[0], d, "color: inherit"].concat(Array.prototype.slice.call(a, 1)); var e = 0, f = 0; return a[0].replace(/%[a-z%]/g, function(a) { "%%" !== a && (e++, "%c" === a && (f = e)) }), a.splice(f, 0, d), a } function f() { return "object" == typeof console && console.log && Function.prototype.apply.call(console.log, console, arguments) } function g(a) { try { null == a ? b.storage.removeItem("debug") : b.storage.debug = a } catch(c) {} } function h() { var a; try { a = b.storage.debug } catch(c) {} return a } function i() { try { return window.localStorage } catch(a) {} } b = a.exports = c(9), b.log = f, b.formatArgs = e, b.save = g, b.load = h, b.useColors = d, b.storage = "undefined" != typeof chrome && "undefined" != typeof chrome.storage ? chrome.storage.local: i(), b.colors = ["lightseagreen", "forestgreen", "goldenrod", "dodgerblue", "darkorchid", "crimson"], b.formatters.j = function(a) { return JSON.stringify(a) }, b.enable(h()) }, function(a, b, c) { function d() { return b.colors[k++%b.colors.length] } function e(a) { function c() {} function e() { var a = e, c = +new Date, f = c - (j || c); a.diff = f, a.prev = j, a.curr = c, j = c, null == a.useColors && (a.useColors = b.useColors()), null == a.color && a.useColors && (a.color = d()); var g = Array.prototype.slice.call(arguments); g[0] = b.coerce(g[0]), "string" != typeof g[0] && (g = ["%o"].concat(g)); var h = 0; g[0] = g[0].replace(/%([a-z%])/g, function(c, d) { if ("%%" === c) return c; h++; var e = b.formatters[d]; if ("function" == typeof e) { var f = g[h]; c = e.call(a, f), g.splice(h, 1), h-- } return c }), "function" == typeof b.formatArgs && (g = b.formatArgs.apply(a, g)); var i = e.log || b.log || console.log.bind(console); i.apply(a, g) } c.enabled = !1, e.enabled = !0; var f = b.enabled(a) ? e: c; return f.namespace = a, f } function f(a) { b.save(a); for (var c = (a || "").split(/[\s,]+/), d = c.length, e = 0; e < d; e++) c[e] && (a = c[e].replace(/\*/g, ".*?"), "-" === a[0] ? b.skips.push(new RegExp("^" + a.substr(1) + "$")) : b.names.push(new RegExp("^" + a + "$"))) } function g() { b.enable("") } function h(a) { var c, d; for (c = 0, d = b.skips.length; c < d; c++) if (b.skips[c].test(a)) return ! 1; for (c = 0, d = b.names.length; c < d; c++) if (b.names[c].test(a)) return ! 0; return ! 1 } function i(a) { return a instanceof Error ? a.stack || a.message: a } b = a.exports = e, b.coerce = i, b.disable = g, b.enable = f, b.enabled = h, b.humanize = c(10), b.names = [], b.skips = [], b.formatters = {}; var j, k = 0 }, function(a, b) { function c(a) { if (a = "" + a, !(a.length > 1e4)) { var b = /^((?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|years?|yrs?|y)?$/i.exec(a); if (b) { var c = parseFloat(b[1]), d = (b[2] || "ms").toLowerCase(); switch (d) { case "years": case "year": case "yrs": case "yr": case "y": return c * k; case "days": case "day": case "d": return c * j; case "hours": case "hour": case "hrs": case "hr": case "h": return c * i; case "minutes": case "minute": case "mins": case "min": case "m": return c * h; case "seconds": case "second": case "secs": case "sec": case "s": return c * g; case "milliseconds": case "millisecond": case "msecs": case "msec": case "ms": return c } } } } function d(a) { return a >= j ? Math.round(a / j) + "d": a >= i ? Math.round(a / i) + "h": a >= h ? Math.round(a / h) + "m": a >= g ? Math.round(a / g) + "s": a + "ms" } function e(a) { return f(a, j, "day") || f(a, i, "hour") || f(a, h, "minute") || f(a, g, "second") || a + " ms" } function f(a, b, c) { if (! (a < b)) return a < 1.5 * b ? Math.floor(a / b) + " " + c: Math.ceil(a / b) + " " + c + "s" } var g = 1e3, h = 60 * g, i = 60 * h, j = 24 * i, k = 365.25 * j; a.exports = function(a, b) { return b = b || {}, "string" == typeof a ? c(a) : b["long"] ? e(a) : d(a) } }, function(a, b, c) { (function(a, c) { var d = !1; (function() { function e(a, b) { function c(a) { if (c[a] !== q) return c[a]; var e; if ("bug-string-char-index" == a) e = "a" != "a" [0]; else if ("json" == a) e = c("json-stringify") && c("json-parse"); else { var g, h = '{"a":[1,true,false,null,"\\u0000\\b\\n\\f\\r\\t"]}'; if ("json-stringify" == a) { var i = b.stringify, k = "function" == typeof i && t; if (k) { (g = function() { return 1 }).toJSON = g; try { k = "0" === i(0) && "0" === i(new d) && '""' == i(new f) && i(s) === q && i(q) === q && i() === q && "1" === i(g) && "[1]" == i([g]) && "[null]" == i([q]) && "null" == i(null) && "[null,null,null]" == i([q, s, null]) && i({ a: [g, !0, !1, null, "\0\b\n\f\r\t"] }) == h && "1" === i(null, g) && "[\n 1,\n 2\n]" == i([1, 2], null, 1) && '"-271821-04-20T00:00:00.000Z"' == i(new j(( - 864e13))) && '"+275760-09-13T00:00:00.000Z"' == i(new j(864e13)) && '"-000001-01-01T00:00:00.000Z"' == i(new j(( - 621987552e5))) && '"1969-12-31T23:59:59.999Z"' == i(new j(( - 1))) } catch(l) { k = !1 } } e = k } if ("json-parse" == a) { var m = b.parse; if ("function" == typeof m) try { if (0 === m("0") && !m(!1)) { g = m(h); var n = 5 == g.a.length && 1 === g.a[0]; if (n) { try { n = !m('"\t"') } catch(l) {} if (n) try { n = 1 !== m("01") } catch(l) {} if (n) try { n = 1 !== m("1.") } catch(l) {} } } } catch(l) { n = !1 } e = n } } return c[a] = !!e } a || (a = i.Object()), b || (b = i.Object()); var d = a.Number || i.Number, f = a.String || i.String, h = a.Object || i.Object, j = a.Date || i.Date, k = a.SyntaxError || i.SyntaxError, l = a.TypeError || i.TypeError, m = a.Math || i.Math, n = a.JSON || i.JSON; "object" == typeof n && n && (b.stringify = n.stringify, b.parse = n.parse); var o, p, q, r = h.prototype, s = r.toString, t = new j(( - 0xc782b5b800cec)); try { t = t.getUTCFullYear() == -109252 && 0 === t.getUTCMonth() && 1 === t.getUTCDate() && 10 == t.getUTCHours() && 37 == t.getUTCMinutes() && 6 == t.getUTCSeconds() && 708 == t.getUTCMilliseconds() } catch(u) {} if (!c("json")) { var v = "[object Function]", w = "[object Date]", x = "[object Number]", y = "[object String]", z = "[object Array]", A = "[object Boolean]", B = c("bug-string-char-index"); if (!t) var C = m.floor, D = [0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334], E = function(a, b) { return D[b] + 365 * (a - 1970) + C((a - 1969 + (b = +(b > 1))) / 4) - C((a - 1901 + b) / 100) + C((a - 1601 + b) / 400) }; if ((o = r.hasOwnProperty) || (o = function(a) { var b, c = {}; return (c.__proto__ = null, c.__proto__ = { toString: 1 }, c).toString != s ? o = function(a) { var b = this.__proto__, c = a in (this.__proto__ = null, this); return this.__proto__ = b, c }: (b = c.constructor, o = function(a) { var c = (this.constructor || b).prototype; return a in this && !(a in c && this[a] === c[a]) }), c = null, o.call(this, a) }), p = function(a, b) { var c, d, e, f = 0; (c = function() { this.valueOf = 0 }).prototype.valueOf = 0, d = new c; for (e in d) o.call(d, e) && f++; return c = d = null, f ? p = 2 == f ? function(a, b) { var c, d = {}, e = s.call(a) == v; for (c in a) e && "prototype" == c || o.call(d, c) || !(d[c] = 1) || !o.call(a, c) || b(c) }: function(a, b) { var c, d, e = s.call(a) == v; for (c in a) e && "prototype" == c || !o.call(a, c) || (d = "constructor" === c) || b(c); (d || o.call(a, c = "constructor")) && b(c) }: (d = ["valueOf", "toString", "toLocaleString", "propertyIsEnumerable", "isPrototypeOf", "hasOwnProperty", "constructor"], p = function(a, b) { var c, e, f = s.call(a) == v, h = !f && "function" != typeof a.constructor && g[typeof a.hasOwnProperty] && a.hasOwnProperty || o; for (c in a) f && "prototype" == c || !h.call(a, c) || b(c); for (e = d.length; c = d[--e]; h.call(a, c) && b(c)); }), p(a, b) }, !c("json-stringify")) { var F = { 92 : "\\\\", 34 : '\\"', 8 : "\\b", 12 : "\\f", 10 : "\\n", 13 : "\\r", 9 : "\\t" }, G = "000000", H = function(a, b) { return (G + (b || 0)).slice( - a) }, I = "\\u00", J = function(a) { for (var b = '"', c = 0, d = a.length, e = !B || d > 10, f = e && (B ? a.split("") : a); c < d; c++) { var g = a.charCodeAt(c); switch (g) { case 8: case 9: case 10: case 12: case 13: case 34: case 92: b += F[g]; break; default: if (g < 32) { b += I + H(2, g.toString(16)); break } b += e ? f[c] : a.charAt(c) } } return b + '"' }, K = function(a, b, c, d, e, f, g) { var h, i, j, k, m, n, r, t, u, v, B, D, F, G, I, L; try { h = b[a] } catch(M) {} if ("object" == typeof h && h) if (i = s.call(h), i != w || o.call(h, "toJSON"))"function" == typeof h.toJSON && (i != x && i != y && i != z || o.call(h, "toJSON")) && (h = h.toJSON(a)); else if (h > -1 / 0 && h < 1 / 0) { if (E) { for (m = C(h / 864e5), j = C(m / 365.2425) + 1970 - 1; E(j + 1, 0) <= m; j++); for (k = C((m - E(j, 0)) / 30.42); E(j, k + 1) <= m; k++); m = 1 + m - E(j, k), n = (h % 864e5 + 864e5) % 864e5, r = C(n / 36e5) % 24, t = C(n / 6e4) % 60, u = C(n / 1e3) % 60, v = n % 1e3 } else j = h.getUTCFullYear(), k = h.getUTCMonth(), m = h.getUTCDate(), r = h.getUTCHours(), t = h.getUTCMinutes(), u = h.getUTCSeconds(), v = h.getUTCMilliseconds(); h = (j <= 0 || j >= 1e4 ? (j < 0 ? "-": "+") + H(6, j < 0 ? -j: j) : H(4, j)) + "-" + H(2, k + 1) + "-" + H(2, m) + "T" + H(2, r) + ":" + H(2, t) + ":" + H(2, u) + "." + H(3, v) + "Z" } else h = null; if (c && (h = c.call(b, a, h)), null === h) return "null"; if (i = s.call(h), i == A) return "" + h; if (i == x) return h > -1 / 0 && h < 1 / 0 ? "" + h: "null"; if (i == y) return J("" + h); if ("object" == typeof h) { for (G = g.length; G--;) if (g[G] === h) throw l(); if (g.push(h), B = [], I = f, f += e, i == z) { for (F = 0, G = h.length; F < G; F++) D = K(F, h, c, d, e, f, g), B.push(D === q ? "null": D); L = B.length ? e ? "[\n" + f + B.join(",\n" + f) + "\n" + I + "]": "[" + B.join(",") + "]": "[]" } else p(d || h, function(a) { var b = K(a, h, c, d, e, f, g); b !== q && B.push(J(a) + ":" + (e ? " ": "") + b) }), L = B.length ? e ? "{\n" + f + B.join(",\n" + f) + "\n" + I + "}": "{" + B.join(",") + "}": "{}"; return g.pop(), L } }; b.stringify = function(a, b, c) { var d, e, f, h; if (g[typeof b] && b) if ((h = s.call(b)) == v) e = b; else if (h == z) { f = {}; for (var i, j = 0, k = b.length; j < k; i = b[j++], h = s.call(i), (h == y || h == x) && (f[i] = 1)); } if (c) if ((h = s.call(c)) == x) { if ((c -= c % 1) > 0) for (d = "", c > 10 && (c = 10); d.length < c; d += " "); } else h == y && (d = c.length <= 10 ? c: c.slice(0, 10)); return K("", (i = {}, i[""] = a, i), e, f, d, "", []) } } if (!c("json-parse")) { var L, M, N = f.fromCharCode, O = { 92 : "\\", 34 : '"', 47 : "/", 98 : "\b", 116 : "\t", 110 : "\n", 102 : "\f", 114 : "\r" }, P = function() { throw L = M = null, k() }, Q = function() { for (var a, b, c, d, e, f = M, g = f.length; L < g;) switch (e = f.charCodeAt(L)) { case 9: case 10: case 13: case 32: L++; break; case 123: case 125: case 91: case 93: case 58: case 44: return a = B ? f.charAt(L) : f[L], L++, a; case 34: for (a = "@", L++; L < g;) if (e = f.charCodeAt(L), e < 32) P(); else if (92 == e) switch (e = f.charCodeAt(++L)) { case 92: case 34: case 47: case 98: case 116: case 110: case 102: case 114: a += O[e], L++; break; case 117: for (b = ++L, c = L + 4; L < c; L++) e = f.charCodeAt(L), e >= 48 && e <= 57 || e >= 97 && e <= 102 || e >= 65 && e <= 70 || P(); a += N("0x" + f.slice(b, L)); break; default: P() } else { if (34 == e) break; for (e = f.charCodeAt(L), b = L; e >= 32 && 92 != e && 34 != e;) e = f.charCodeAt(++L); a += f.slice(b, L) } if (34 == f.charCodeAt(L)) return L++, a; P(); default: if (b = L, 45 == e && (d = !0, e = f.charCodeAt(++L)), e >= 48 && e <= 57) { for (48 == e && (e = f.charCodeAt(L + 1), e >= 48 && e <= 57) && P(), d = !1; L < g && (e = f.charCodeAt(L), e >= 48 && e <= 57); L++); if (46 == f.charCodeAt(L)) { for (c = ++L; c < g && (e = f.charCodeAt(c), e >= 48 && e <= 57); c++); c == L && P(), L = c } if (e = f.charCodeAt(L), 101 == e || 69 == e) { for (e = f.charCodeAt(++L), 43 != e && 45 != e || L++, c = L; c < g && (e = f.charCodeAt(c), e >= 48 && e <= 57); c++); c == L && P(), L = c } return + f.slice(b, L) } if (d && P(), "true" == f.slice(L, L + 4)) return L += 4, !0; if ("false" == f.slice(L, L + 5)) return L += 5, !1; if ("null" == f.slice(L, L + 4)) return L += 4, null; P() } return "$" }, R = function(a) { var b, c; if ("$" == a && P(), "string" == typeof a) { if ("@" == (B ? a.charAt(0) : a[0])) return a.slice(1); if ("[" == a) { for (b = []; a = Q(), "]" != a; c || (c = !0)) c && ("," == a ? (a = Q(), "]" == a && P()) : P()), "," == a && P(), b.push(R(a)); return b } if ("{" == a) { for (b = {}; a = Q(), "}" != a; c || (c = !0)) c && ("," == a ? (a = Q(), "}" == a && P()) : P()), "," != a && "string" == typeof a && "@" == (B ? a.charAt(0) : a[0]) && ":" == Q() || P(), b[a.slice(1)] = R(Q()); return b } P() } return a }, S = function(a, b, c) { var d = T(a, b, c); d === q ? delete a[b] : a[b] = d }, T = function(a, b, c) { var d, e = a[b]; if ("object" == typeof e && e) if (s.call(e) == z) for (d = e.length; d--;) S(e, d, c); else p(e, function(a) { S(e, a, c) }); return c.call(a, b, e) }; b.parse = function(a, b) { var c, d; return L = 0, M = "" + a, c = R(Q()), "$" != Q() && P(), L = M = null, b && s.call(b) == v ? T((d = {}, d[""] = c, d), "", b) : c } } } return b.runInContext = e, b } var f = "function" == typeof d && d.amd, g = { "function": !0, object: !0 }, h = g[typeof b] && b && !b.nodeType && b, i = g[typeof window] && window || this, j = h && g[typeof a] && a && !a.nodeType && "object" == typeof c && c; if (!j || j.global !== j && j.window !== j && j.self !== j || (i = j), h && !f) e(i, h); else { var k = i.JSON, l = i.JSON3, m = !1, n = e(i, i.JSON3 = { noConflict: function() { return m || (m = !0, i.JSON = k, i.JSON3 = l, k = l = null), n } }); i.JSON = { parse: n.parse, stringify: n.stringify } } f && d(function() { return n }) }).call(this) }).call(b, c(12)(a), function() { return this } ()) }, function(a, b) { a.exports = function(a) { return a.webpackPolyfill || (a.deprecate = function() {}, a.paths = [], a.children = [], a.webpackPolyfill = 1), a } }, function(a, b) { function c(a) { if (a) return d(a) } function d(a) { for (var b in c.prototype) a[b] = c.prototype[b]; return a } a.exports = c, c.prototype.on = c.prototype.addEventListener = function(a, b) { return this._callbacks = this._callbacks || {}, (this._callbacks[a] = this._callbacks[a] || []).push(b), this }, c.prototype.once = function(a, b) { function c() { d.off(a, c), b.apply(this, arguments) } var d = this; return this._callbacks = this._callbacks || {}, c.fn = b, this.on(a, c), this }, c.prototype.off = c.prototype.removeListener = c.prototype.removeAllListeners = c.prototype.removeEventListener = function(a, b) { if (this._callbacks = this._callbacks || {}, 0 == arguments.length) return this._callbacks = {}, this; var c = this._callbacks[a]; if (!c) return this; if (1 == arguments.length) return delete this._callbacks[a], this; for (var d, e = 0; e < c.length; e++) if (d = c[e], d === b || d.fn === b) { c.splice(e, 1); break } return this }, c.prototype.emit = function(a) { this._callbacks = this._callbacks || {}; var b = [].slice.call(arguments, 1), c = this._callbacks[a]; if (c) { c = c.slice(0); for (var d = 0, e = c.length; d < e; ++d) c[d].apply(this, b) } return this }, c.prototype.listeners = function(a) { return this._callbacks = this._callbacks || {}, this._callbacks[a] || [] }, c.prototype.hasListeners = function(a) { return !! this.listeners(a).length } }, function(a, b, c) { (function(a) { var d = c(15), e = c(16); b.deconstructPacket = function(a) { function b(a) { if (!a) return a; if (e(a)) { var f = { _placeholder: !0, num: c.length }; return c.push(a), f } if (d(a)) { for (var g = new Array(a.length), h = 0; h < a.length; h++) g[h] = b(a[h]); return g } if ("object" == typeof a && !(a instanceof Date)) { var g = {}; for (var i in a) g[i] = b(a[i]); return g } return a } var c = [], f = a.data, g = a; return g.data = b(f), g.attachments = c.length, { packet: g, buffers: c } }, b.reconstructPacket = function(a, b) { function c(a) { if (a && a._placeholder) { var e = b[a.num]; return e } if (d(a)) { for (var f = 0; f < a.length; f++) a[f] = c(a[f]); return a } if (a && "object" == typeof a) { for (var g in a) a[g] = c(a[g]); return a } return a } return a.data = c(a.data), a.attachments = void 0, a }, b.removeBlobs = function(b, c) { function f(b, i, j) { if (!b) return b; if (a.Blob && b instanceof Blob || a.File && b instanceof File) { g++; var k = new FileReader; k.onload = function() { j ? j[i] = this.result: h = this.result, --g || c(h) }, k.readAsArrayBuffer(b) } else if (d(b)) for (var l = 0; l < b.length; l++) f(b[l], l, b); else if (b && "object" == typeof b && !e(b)) for (var m in b) f(b[m], m, b) } var g = 0, h = b; f(h), g || c(h) } }).call(b, function() { return this } ()) }, function(a, b) { a.exports = Array.isArray || function(a) { return "[object Array]" == Object.prototype.toString.call(a) } }, function(a, b) { (function(b) { function c(a) { return b.Buffer && b.Buffer.isBuffer(a) || b.ArrayBuffer && a instanceof ArrayBuffer } a.exports = c }).call(b, function() { return this } ()) }, function(a, b, c) { "use strict"; function d(a, b) { return this instanceof d ? (a && "object" === ("undefined" == typeof a ? "undefined": e(a)) && (b = a, a = void 0), b = b || {}, b.path = b.path || "/socket.io", this.nsps = {}, this.subs = [], this.opts = b, this.reconnection(b.reconnection !== !1), this.reconnectionAttempts(b.reconnectionAttempts || 1 / 0), this.reconnectionDelay(b.reconnectionDelay || 1e3), this.reconnectionDelayMax(b.reconnectionDelayMax || 5e3), this.randomizationFactor(b.randomizationFactor || .5), this.backoff = new n({ min: this.reconnectionDelay(), max: this.reconnectionDelayMax(), jitter: this.randomizationFactor() }), this.timeout(null == b.timeout ? 2e4: b.timeout), this.readyState = "closed", this.uri = a, this.connecting = [], this.lastPing = null, this.encoding = !1, this.packetBuffer = [], this.encoder = new i.Encoder, this.decoder = new i.Decoder, this.autoConnect = b.autoConnect !== !1, void(this.autoConnect && this.open())) : new d(a, b) } var e = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(a) { return typeof a }: function(a) { return a && "function" == typeof Symbol && a.constructor === Symbol && a !== Symbol.prototype ? "symbol": typeof a }, f = c(18), g = c(44), h = c(35), i = c(7), j = c(46), k = c(47), l = c(3)("socket.io-client:manager"), m = c(42), n = c(48), o = Object.prototype.hasOwnProperty; a.exports = d, d.prototype.emitAll = function() { this.emit.apply(this, arguments); for (var a in this.nsps) o.call(this.nsps, a) && this.nsps[a].emit.apply(this.nsps[a], arguments) }, d.prototype.updateSocketIds = function() { for (var a in this.nsps) o.call(this.nsps, a) && (this.nsps[a].id = this.engine.id) }, h(d.prototype), d.prototype.reconnection = function(a) { return arguments.length ? (this._reconnection = !!a, this) : this._reconnection }, d.prototype.reconnectionAttempts = function(a) { return arguments.length ? (this._reconnectionAttempts = a, this) : this._reconnectionAttempts }, d.prototype.reconnectionDelay = function(a) { return arguments.length ? (this._reconnectionDelay = a, this.backoff && this.backoff.setMin(a), this) : this._reconnectionDelay }, d.prototype.randomizationFactor = function(a) { return arguments.length ? (this._randomizationFactor = a, this.backoff && this.backoff.setJitter(a), this) : this._randomizationFactor }, d.prototype.reconnectionDelayMax = function(a) { return arguments.length ? (this._reconnectionDelayMax = a, this.backoff && this.backoff.setMax(a), this) : this._reconnectionDelayMax }, d.prototype.timeout = function(a) { return arguments.length ? (this._timeout = a, this) : this._timeout }, d.prototype.maybeReconnectOnOpen = function() { ! this.reconnecting && this._reconnection && 0 === this.backoff.attempts && this.reconnect() }, d.prototype.open = d.prototype.connect = function(a, b) { if (l("readyState %s", this.readyState), ~this.readyState.indexOf("open")) return this; l("opening %s", this.uri), this.engine = f(this.uri, this.opts); var c = this.engine, d = this; this.readyState = "opening", this.skipReconnect = !1; var e = j(c, "open", function() { d.onopen(), a && a() }), g = j(c, "error", function(b) { if (l("connect_error"), d.cleanup(), d.readyState = "closed", d.emitAll("connect_error", b), a) { var c = new Error("Connection error"); c.data = b, a(c) } else d.maybeReconnectOnOpen() }); if (!1 !== this._timeout) { var h = this._timeout; l("connect attempt will timeout after %d", h); var i = setTimeout(function() { l("connect attempt timed out after %d", h), e.destroy(), c.close(), c.emit("error", "timeout"), d.emitAll("connect_timeout", h) }, h); this.subs.push({ destroy: function() { clearTimeout(i) } }) } return this.subs.push(e), this.subs.push(g), this }, d.prototype.onopen = function() { l("open"), this.cleanup(), this.readyState = "open", this.emit("open"); var a = this.engine; this.subs.push(j(a, "data", k(this, "ondata"))), this.subs.push(j(a, "ping", k(this, "onping"))), this.subs.push(j(a, "pong", k(this, "onpong"))), this.subs.push(j(a, "error", k(this, "onerror"))), this.subs.push(j(a, "close", k(this, "onclose"))), this.subs.push(j(this.decoder, "decoded", k(this, "ondecoded"))) }, d.prototype.onping = function() { this.lastPing = new Date, this.emitAll("ping") }, d.prototype.onpong = function() { this.emitAll("pong", new Date - this.lastPing) }, d.prototype.ondata = function(a) { this.decoder.add(a) }, d.prototype.ondecoded = function(a) { this.emit("packet", a) }, d.prototype.onerror = function(a) { l("error", a), this.emitAll("error", a) }, d.prototype.socket = function(a, b) { function c() {~m(e.connecting, d) || e.connecting.push(d) } var d = this.nsps[a]; if (!d) { d = new g(this, a, b), this.nsps[a] = d; var e = this; d.on("connecting", c), d.on("connect", function() { d.id = e.engine.id }), this.autoConnect && c() } return d }, d.prototype.destroy = function(a) { var b = m(this.connecting, a);~b && this.connecting.splice(b, 1), this.connecting.length || this.close() }, d.prototype.packet = function(a) { l("writing packet %j", a); var b = this; a.query && 0 === a.type && (a.nsp += "?" + a.query), b.encoding ? b.packetBuffer.push(a) : (b.encoding = !0, this.encoder.encode(a, function(c) { for (var d = 0; d < c.length; d++) b.engine.write(c[d], a.options); b.encoding = !1, b.processPacketQueue() })) }, d.prototype.processPacketQueue = function() { if (this.packetBuffer.length > 0 && !this.encoding) { var a = this.packetBuffer.shift(); this.packet(a) } }, d.prototype.cleanup = function() { l("cleanup"); for (var a = this.subs.length, b = 0; b < a; b++) { var c = this.subs.shift(); c.destroy() } this.packetBuffer = [], this.encoding = !1, this.lastPing = null, this.decoder.destroy() }, d.prototype.close = d.prototype.disconnect = function() { l("disconnect"), this.skipReconnect = !0, this.reconnecting = !1, "opening" === this.readyState && this.cleanup(), this.backoff.reset(), this.readyState = "closed", this.engine && this.engine.close() }, d.prototype.onclose = function(a) { l("onclose"), this.cleanup(), this.backoff.reset(), this.readyState = "closed", this.emit("close", a), this._reconnection && !this.skipReconnect && this.reconnect() }, d.prototype.reconnect = function() { if (this.reconnecting || this.skipReconnect) return this; var a = this; if (this.backoff.attempts >= this._reconnectionAttempts) l("reconnect failed"), this.backoff.reset(), this.emitAll("reconnect_failed"), this.reconnecting = !1; else { var b = this.backoff.duration(); l("will wait %dms before reconnect attempt", b), this.reconnecting = !0; var c = setTimeout(function() { a.skipReconnect || (l("attempting reconnect"), a.emitAll("reconnect_attempt", a.backoff.attempts), a.emitAll("reconnecting", a.backoff.attempts), a.skipReconnect || a.open(function(b) { b ? (l("reconnect attempt error"), a.reconnecting = !1, a.reconnect(), a.emitAll("reconnect_error", b.data)) : (l("reconnect success"), a.onreconnect()) })) }, b); this.subs.push({ destroy: function() { clearTimeout(c) } }) } }, d.prototype.onreconnect = function() { var a = this.backoff.attempts; this.reconnecting = !1, this.backoff.reset(), this.updateSocketIds(), this.emitAll("reconnect", a) } }, function(a, b, c) { a.exports = c(19) }, function(a, b, c) { a.exports = c(20), a.exports.parser = c(27) }, function(a, b, c) { (function(b) { function d(a, c) { if (! (this instanceof d)) return new d(a, c); c = c || {}, a && "object" == typeof a && (c = a, a = null), a ? (a = k(a), c.hostname = a.host, c.secure = "https" === a.protocol || "wss" === a.protocol, c.port = a.port, a.query && (c.query = a.query)) : c.host && (c.hostname = k(c.host).host), this.secure = null != c.secure ? c.secure: b.location && "https:" === location.protocol, c.hostname && !c.port && (c.port = this.secure ? "443": "80"), this.agent = c.agent || !1, this.hostname = c.hostname || (b.location ? location.hostname: "localhost"), this.port = c.port || (b.location && location.port ? location.port: this.secure ? 443 : 80), this.query = c.query || {}, "string" == typeof this.query && (this.query = m.decode(this.query)), this.upgrade = !1 !== c.upgrade, this.path = (c.path || "/engine.io").replace(/\/$/, "") + "/", this.forceJSONP = !!c.forceJSONP, this.jsonp = !1 !== c.jsonp, this.forceBase64 = !!c.forceBase64, this.enablesXDR = !!c.enablesXDR, this.timestampParam = c.timestampParam || "t", this.timestampRequests = c.timestampRequests, this.transports = c.transports || ["polling", "websocket"], this.readyState = "", this.writeBuffer = [], this.prevBufferLen = 0, this.policyPort = c.policyPort || 843, this.rememberUpgrade = c.rememberUpgrade || !1, this.binaryType = null, this.onlyBinaryUpgrades = c.onlyBinaryUpgrades, this.perMessageDeflate = !1 !== c.perMessageDeflate && (c.perMessageDeflate || {}), !0 === this.perMessageDeflate && (this.perMessageDeflate = {}), this.perMessageDeflate && null == this.perMessageDeflate.threshold && (this.perMessageDeflate.threshold = 1024), this.pfx = c.pfx || null, this.key = c.key || null, this.passphrase = c.passphrase || null, this.cert = c.cert || null, this.ca = c.ca || null, this.ciphers = c.ciphers || null, this.rejectUnauthorized = void 0 === c.rejectUnauthorized ? null: c.rejectUnauthorized, this.forceNode = !!c.forceNode; var e = "object" == typeof b && b; e.global === e && (c.extraHeaders && Object.keys(c.extraHeaders).length > 0 && (this.extraHeaders = c.extraHeaders), c.localAddress && (this.localAddress = c.localAddress)), this.id = null, this.upgrades = null, this.pingInterval = null, this.pingTimeout = null, this.pingIntervalTimer = null, this.pingTimeoutTimer = null, this.open() } function e(a) { var b = {}; for (var c in a) a.hasOwnProperty(c) && (b[c] = a[c]); return b } var f = c(21), g = c(35), h = c(3)("engine.io-client:socket"), i = c(42), j = c(27), k = c(2), l = c(43), m = c(36); a.exports = d, d.priorWebsocketSuccess = !1, g(d.prototype), d.protocol = j.protocol, d.Socket = d, d.Transport = c(26), d.transports = c(21), d.parser = c(27), d.prototype.createTransport = function(a) { h('creating transport "%s"', a); var b = e(this.query); b.EIO = j.protocol, b.transport = a, this.id && (b.sid = this.id); var c = new f[a]({ agent: this.agent, hostname: this.hostname, port: this.port, secure: this.secure, path: this.path, query: b, forceJSONP: this.forceJSONP, jsonp: this.jsonp, forceBase64: this.forceBase64, enablesXDR: this.enablesXDR, timestampRequests: this.timestampRequests, timestampParam: this.timestampParam, policyPort: this.policyPort, socket: this, pfx: this.pfx, key: this.key, passphrase: this.passphrase, cert: this.cert, ca: this.ca, ciphers: this.ciphers, rejectUnauthorized: this.rejectUnauthorized, perMessageDeflate: this.perMessageDeflate, extraHeaders: this.extraHeaders, forceNode: this.forceNode, localAddress: this.localAddress }); return c }, d.prototype.open = function() { var a; if (this.rememberUpgrade && d.priorWebsocketSuccess && this.transports.indexOf("websocket") !== -1) a = "websocket"; else { if (0 === this.transports.length) { var b = this; return void setTimeout(function() { b.emit("error", "No transports available") }, 0) } a = this.transports[0] } this.readyState = "opening"; try { a = this.createTransport(a) } catch(c) { return this.transports.shift(), void this.open() } a.open(), this.setTransport(a) }, d.prototype.setTransport = function(a) { h("setting transport %s", a.name); var b = this; this.transport && (h("clearing existing transport %s", this.transport.name), this.transport.removeAllListeners()), this.transport = a, a.on("drain", function() { b.onDrain() }).on("packet", function(a) { b.onPacket(a) }).on("error", function(a) { b.onError(a) }).on("close", function() { b.onClose("transport close") }) }, d.prototype.probe = function(a) { function b() { if (m.onlyBinaryUpgrades) { var b = !this.supportsBinary && m.transport.supportsBinary; l = l || b } l || (h('probe transport "%s" opened', a), k.send([{ type: "ping", data: "probe" }]), k.once("packet", function(b) { if (!l) if ("pong" === b.type && "probe" === b.data) { if (h('probe transport "%s" pong', a), m.upgrading = !0, m.emit("upgrading", k), !k) return; d.priorWebsocketSuccess = "websocket" === k.name, h('pausing current transport "%s"', m.transport.name), m.transport.pause(function() { l || "closed" !== m.readyState && (h("changing transport and sending upgrade packet"), j(), m.setTransport(k), k.send([{ type: "upgrade" }]), m.emit("upgrade", k), k = null, m.upgrading = !1, m.flush()) }) } else { h('probe transport "%s" failed', a); var c = new Error("probe error"); c.transport = k.name, m.emit("upgradeError", c) } })) } function c() { l || (l = !0, j(), k.close(), k = null) } function e(b) { var d = new Error("probe error: " + b); d.transport = k.name, c(), h('probe transport "%s" failed because of error: %s', a, b), m.emit("upgradeError", d) } function f() { e("transport closed") } function g() { e("socket closed") } function i(a) { k && a.name !== k.name && (h('"%s" works - aborting "%s"', a.name, k.name), c()) } function j() { k.removeListener("open", b), k.removeListener("error", e), k.removeListener("close", f), m.removeListener("close", g), m.removeListener("upgrading", i) } h('probing transport "%s"', a); var k = this.createTransport(a, { probe: 1 }), l = !1, m = this; d.priorWebsocketSuccess = !1, k.once("open", b), k.once("error", e), k.once("close", f), this.once("close", g), this.once("upgrading", i), k.open() }, d.prototype.onOpen = function() { if (h("socket open"), this.readyState = "open", d.priorWebsocketSuccess = "websocket" === this.transport.name, this.emit("open"), this.flush(), "open" === this.readyState && this.upgrade && this.transport.pause) { h("starting upgrade probes"); for (var a = 0, b = this.upgrades.length; a < b; a++) this.probe(this.upgrades[a]) } }, d.prototype.onPacket = function(a) { if ("opening" === this.readyState || "open" === this.readyState || "closing" === this.readyState) switch (h('socket receive: type "%s", data "%s"', a.type, a.data), this.emit("packet", a), this.emit("heartbeat"), a.type) { case "open": this.onHandshake(l(a.data)); break; case "pong": this.setPing(), this.emit("pong"); break; case "error": var b = new Error("server error"); b.code = a.data, this.onError(b); break; case "message": this.emit("data", a.data), this.emit("message", a.data) } else h('packet received with socket readyState "%s"', this.readyState) }, d.prototype.onHandshake = function(a) { this.emit("handshake", a), this.id = a.sid, this.transport.query.sid = a.sid, this.upgrades = this.filterUpgrades(a.upgrades), this.pingInterval = a.pingInterval, this.pingTimeout = a.pingTimeout, this.onOpen(), "closed" !== this.readyState && (this.setPing(), this.removeListener("heartbeat", this.onHeartbeat), this.on("heartbeat", this.onHeartbeat)) }, d.prototype.onHeartbeat = function(a) { clearTimeout(this.pingTimeoutTimer); var b = this; b.pingTimeoutTimer = setTimeout(function() { "closed" !== b.readyState && b.onClose("ping timeout") }, a || b.pingInterval + b.pingTimeout) }, d.prototype.setPing = function() { var a = this; clearTimeout(a.pingIntervalTimer), a.pingIntervalTimer = setTimeout(function() { h("writing ping packet - expecting pong within %sms", a.pingTimeout), a.ping(), a.onHeartbeat(a.pingTimeout) }, a.pingInterval) }, d.prototype.ping = function() { var a = this; this.sendPacket("ping", function() { a.emit("ping") }) }, d.prototype.onDrain = function() { this.writeBuffer.splice(0, this.prevBufferLen), this.prevBufferLen = 0, 0 === this.writeBuffer.length ? this.emit("drain") : this.flush() }, d.prototype.flush = function() { "closed" !== this.readyState && this.transport.writable && !this.upgrading && this.writeBuffer.length && (h("flushing %d packets in socket", this.writeBuffer.length), this.transport.send(this.writeBuffer), this.prevBufferLen = this.writeBuffer.length, this.emit("flush")) }, d.prototype.write = d.prototype.send = function(a, b, c) { return this.sendPacket("message", a, b, c), this }, d.prototype.sendPacket = function(a, b, c, d) { if ("function" == typeof b && (d = b, b = void 0), "function" == typeof c && (d = c, c = null), "closing" !== this.readyState && "closed" !== this.readyState) { c = c || {}, c.compress = !1 !== c.compress; var e = { type: a, data: b, options: c }; this.emit("packetCreate", e), this.writeBuffer.push(e), d && this.once("flush", d), this.flush() } }, d.prototype.close = function() { function a() { d.onClose("forced close"), h("socket closing - telling transport to close"), d.transport.close() } function b() { d.removeListener("upgrade", b), d.removeListener("upgradeError", b), a() } function c() { d.once("upgrade", b), d.once("upgradeError", b) } if ("opening" === this.readyState || "open" === this.readyState) { this.readyState = "closing"; var d = this; this.writeBuffer.length ? this.once("drain", function() { this.upgrading ? c() : a() }) : this.upgrading ? c() : a() } return this }, d.prototype.onError = function(a) { h("socket error %j", a), d.priorWebsocketSuccess = !1, this.emit("error", a), this.onClose("transport error", a) }, d.prototype.onClose = function(a, b) { if ("opening" === this.readyState || "open" === this.readyState || "closing" === this.readyState) { h('socket close with reason: "%s"', a); var c = this; 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", a, b), c.writeBuffer = [], c.prevBufferLen = 0 } }, d.prototype.filterUpgrades = function(a) { for (var b = [], c = 0, d = a.length; c < d; c++)~i(this.transports, a[c]) && b.push(a[c]); return b } }).call(b, function() { return this } ()) }, function(a, b, c) { (function(a) { function d(b) { var c, d = !1, h = !1, i = !1 !== b.jsonp; if (a.location) { var j = "https:" === location.protocol, k = location.port; k || (k = j ? 443 : 80), d = b.hostname !== location.hostname || k !== b.port, h = b.secure !== j } if (b.xdomain = d, b.xscheme = h, c = new e(b), "open" in c && !b.forceJSONP) return new f(b); if (!i) throw new Error("JSONP disabled"); return new g(b) } var e = c(22), f = c(24), g = c(39), h = c(40); b.polling = d, b.websocket = h }).call(b, function() { return this } ()) }, function(a, b, c) { (function(b) { var d = c(23); a.exports = function(a) { var c = a.xdomain, e = a.xscheme, f = a.enablesXDR; try { if ("undefined" != typeof XMLHttpRequest && (!c || d)) return new XMLHttpRequest } catch(g) {} try { if ("undefined" != typeof XDomainRequest && !e && f) return new XDomainRequest } catch(g) {} if (!c) try { return new(b[["Active"].concat("Object").join("X")])("Microsoft.XMLHTTP") } catch(g) {} } }).call(b, function() { return this } ()) }, function(a, b) { try { a.exports = "undefined" != typeof XMLHttpRequest && "withCredentials" in new XMLHttpRequest } catch(c) { a.exports = !1 } }, function(a, b, c) { (function(b) { function d() {} function e(a) { if (i.call(this, a), this.requestTimeout = a.requestTimeout, b.location) { var c = "https:" === location.protocol, d = location.port; d || (d = c ? 443 : 80), this.xd = a.hostname !== b.location.hostname || d !== a.port, this.xs = a.secure !== c } else this.extraHeaders = a.extraHeaders } function f(a) { this.method = a.method || "GET", this.uri = a.uri, this.xd = !!a.xd, this.xs = !!a.xs, this.async = !1 !== a.async, this.data = void 0 !== a.data ? a.data: null, this.agent = a.agent, this.isBinary = a.isBinary, this.supportsBinary = a.supportsBinary, this.enablesXDR = a.enablesXDR, this.requestTimeout = a.requestTimeout, this.pfx = a.pfx, this.key = a.key, this.passphrase = a.passphrase, this.cert = a.cert, this.ca = a.ca, this.ciphers = a.ciphers, this.rejectUnauthorized = a.rejectUnauthorized, this.extraHeaders = a.extraHeaders, this.create() } function g() { for (var a in f.requests) f.requests.hasOwnProperty(a) && f.requests[a].abort() } var h = c(22), i = c(25), j = c(35), k = c(37), l = c(3)("engine.io-client:polling-xhr"); a.exports = e, a.exports.Request = f, k(e, i), e.prototype.supportsBinary = !0, e.prototype.request = function(a) { return a = a || {}, a.uri = this.uri(), a.xd = this.xd, a.xs = this.xs, a.agent = this.agent || !1, a.supportsBinary = this.supportsBinary, a.enablesXDR = this.enablesXDR, a.pfx = this.pfx, a.key = this.key, a.passphrase = this.passphrase, a.cert = this.cert, a.ca = this.ca, a.ciphers = this.ciphers, a.rejectUnauthorized = this.rejectUnauthorized, a.requestTimeout = this.requestTimeout, a.extraHeaders = this.extraHeaders, new f(a) }, e.prototype.doWrite = function(a, b) { var c = "string" != typeof a && void 0 !== a, d = this.request({ method: "POST", data: a, isBinary: c }), e = this; d.on("success", b), d.on("error", function(a) { e.onError("xhr post error", a) }), this.sendXhr = d }, e.prototype.doPoll = function() { l("xhr poll"); var a = this.request(), b = this; a.on("data", function(a) { b.onData(a) }), a.on("error", function(a) { b.onError("xhr poll error", a) }), this.pollXhr = a }, j(f.prototype), f.prototype.create = function() { var a = { agent: this.agent, xdomain: this.xd, xscheme: this.xs, enablesXDR: this.enablesXDR }; a.pfx = this.pfx, a.key = this.key, a.passphrase = this.passphrase, a.cert = this.cert, a.ca = this.ca, a.ciphers = this.ciphers, a.rejectUnauthorized = this.rejectUnauthorized; var c = this.xhr = new h(a), d = this; try { l("xhr open %s: %s", this.method, this.uri), c.open(this.method, this.uri, this.async); try { if (this.extraHeaders) { c.setDisableHeaderCheck(!0); for (var e in this.extraHeaders) this.extraHeaders.hasOwnProperty(e) && c.setRequestHeader(e, this.extraHeaders[e]) } } catch(g) {} if (this.supportsBinary && (c.responseType = "arraybuffer"), "POST" === this.method) try { this.isBinary ? c.setRequestHeader("Content-type", "application/octet-stream") : c.setRequestHeader("Content-type", "text/plain;charset=UTF-8") } catch(g) {} try { c.setRequestHeader("Accept", "*/*") } catch(g) {} "withCredentials" in c && (c.withCredentials = !0), this.requestTimeout && (c.timeout = this.requestTimeout), this.hasXDR() ? (c.onload = function() { d.onLoad() }, c.onerror = function() { d.onError(c.responseText) }) : c.onreadystatechange = function() { 4 === c.readyState && (200 === c.status || 1223 === c.status ? d.onLoad() : setTimeout(function() { d.onError(c.status) }, 0)) }, l("xhr data %s", this.data), c.send(this.data) } catch(g) { return void setTimeout(function() { d.onError(g) }, 0) } b.document && (this.index = f.requestsCount++, f.requests[this.index] = this) }, f.prototype.onSuccess = function() { this.emit("success"), this.cleanup() }, f.prototype.onData = function(a) { this.emit("data", a), this.onSuccess() }, f.prototype.onError = function(a) { this.emit("error", a), this.cleanup(!0) }, f.prototype.cleanup = function(a) { if ("undefined" != typeof this.xhr && null !== this.xhr) { if (this.hasXDR() ? this.xhr.onload = this.xhr.onerror = d: this.xhr.onreadystatechange = d, a) try { this.xhr.abort() } catch(c) {} b.document && delete f.requests[this.index], this.xhr = null } }, f.prototype.onLoad = function() { var a; try { var b; try { b = this.xhr.getResponseHeader("Content-Type").split(";")[0] } catch(c) {} if ("application/octet-stream" === b) a = this.xhr.response || this.xhr.responseText; else if (this.supportsBinary) try { a = String.fromCharCode.apply(null, new Uint8Array(this.xhr.response)) } catch(c) { for (var d = new Uint8Array(this.xhr.response), e = [], f = 0, g = d.length; f < g; f++) e.push(d[f]); a = String.fromCharCode.apply(null, e) } else a = this.xhr.responseText } catch(c) { this.onError(c) } null != a && this.onData(a) }, f.prototype.hasXDR = function() { return "undefined" != typeof b.XDomainRequest && !this.xs && this.enablesXDR }, f.prototype.abort = function() { this.cleanup() }, f.requestsCount = 0, f.requests = {}, b.document && (b.attachEvent ? b.attachEvent("onunload", g) : b.addEventListener && b.addEventListener("beforeunload", g, !1)) }).call(b, function() { return this } ()) }, function(a, b, c) { function d(a) { var b = a && a.forceBase64; k && !b || (this.supportsBinary = !1), e.call(this, a) } var e = c(26), f = c(36), g = c(27), h = c(37), i = c(38), j = c(3)("engine.io-client:polling"); a.exports = d; var k = function() { var a = c(22), b = new a({ xdomain: !1 }); return null != b.responseType } (); h(d, e), d.prototype.name = "polling", d.prototype.doOpen = function() { this.poll() }, d.prototype.pause = function(a) { function b() { j("paused"), c.readyState = "paused", a() } var c = this; if (this.readyState = "pausing", this.polling || !this.writable) { var d = 0; this.polling && (j("we are currently polling - waiting to pause"), d++, this.once("pollComplete", function() { j("pre-pause polling complete"), --d || b() })), this.writable || (j("we are currently writing - waiting to pause"), d++, this.once("drain", function() { j("pre-pause writing complete"), --d || b() })) } else b() }, d.prototype.poll = function() { j("polling"), this.polling = !0, this.doPoll(), this.emit("poll") }, d.prototype.onData = function(a) { var b = this; j("polling got data %s", a); var c = function(a, c, d) { return "opening" === b.readyState && b.onOpen(), "close" === a.type ? (b.onClose(), !1) : void b.onPacket(a) }; g.decodePayload(a, this.socket.binaryType, c), "closed" !== this.readyState && (this.polling = !1, this.emit("pollComplete"), "open" === this.readyState ? this.poll() : j('ignoring poll - transport state "%s"', this.readyState)) }, d.prototype.doClose = function() { function a() { j("writing close packet"), b.write([{ type: "close" }]) } var b = this; "open" === this.readyState ? (j("transport open - closing"), a()) : (j("transport not open - deferring close"), this.once("open", a)) }, d.prototype.write = function(a) { var b = this; this.writable = !1; var c = function() { b.writable = !0, b.emit("drain") }; g.encodePayload(a, this.supportsBinary, function(a) { b.doWrite(a, c) }) }, d.prototype.uri = function() { var a = this.query || {}, b = this.secure ? "https": "http", c = ""; ! 1 !== this.timestampRequests && (a[this.timestampParam] = i()), this.supportsBinary || a.sid || (a.b64 = 1), a = f.encode(a), this.port && ("https" === b && 443 !== Number(this.port) || "http" === b && 80 !== Number(this.port)) && (c = ":" + this.port), a.length && (a = "?" + a); var d = this.hostname.indexOf(":") !== -1; return b + "://" + (d ? "[" + this.hostname + "]": this.hostname) + c + this.path + a } }, function(a, b, c) { function d(a) { this.path = a.path, this.hostname = a.hostname, this.port = a.port, this.secure = a.secure, this.query = a.query, this.timestampParam = a.timestampParam, this.timestampRequests = a.timestampRequests, this.readyState = "", this.agent = a.agent || !1, this.socket = a.socket, this.enablesXDR = a.enablesXDR, this.pfx = a.pfx, this.key = a.key, this.passphrase = a.passphrase, this.cert = a.cert, this.ca = a.ca, this.ciphers = a.ciphers, this.rejectUnauthorized = a.rejectUnauthorized, this.forceNode = a.forceNode, this.extraHeaders = a.extraHeaders, this.localAddress = a.localAddress } var e = c(27), f = c(35); a.exports = d, f(d.prototype), d.prototype.onError = function(a, b) { var c = new Error(a); return c.type = "TransportError", c.description = b, this.emit("error", c), this }, d.prototype.open = function() { return "closed" !== this.readyState && "" !== this.readyState || (this.readyState = "opening", this.doOpen()), this }, d.prototype.close = function() { return "opening" !== this.readyState && "open" !== this.readyState || (this.doClose(), this.onClose()), this }, d.prototype.send = function(a) { if ("open" !== this.readyState) throw new Error("Transport not open"); this.write(a) }, d.prototype.onOpen = function() { this.readyState = "open", this.writable = !0, this.emit("open") }, d.prototype.onData = function(a) { var b = e.decodePacket(a, this.socket.binaryType); this.onPacket(b) }, d.prototype.onPacket = function(a) { this.emit("packet", a) }, d.prototype.onClose = function() { this.readyState = "closed", this.emit("close") } }, function(a, b, c) { (function(a) { function d(a, c) { var d = "b" + b.packets[a.type] + a.data.data; return c(d) } function e(a, c, d) { if (!c) return b.encodeBase64Packet(a, d); var e = a.data, f = new Uint8Array(e), g = new Uint8Array(1 + e.byteLength); g[0] = s[a.type]; for (var h = 0; h < f.length; h++) g[h + 1] = f[h]; return d(g.buffer) } function f(a, c, d) { if (!c) return b.encodeBase64Packet(a, d); var e = new FileReader; return e.onload = function() { a.data = e.result, b.encodePacket(a, c, !0, d) }, e.readAsArrayBuffer(a.data) } function g(a, c, d) { if (!c) return b.encodeBase64Packet(a, d); if (r) return f(a, c, d); var e = new Uint8Array(1); e[0] = s[a.type]; var g = new v([e.buffer, a.data]); return d(g) } function h(a) { try { a = o.decode(a) } catch(b) { return ! 1 } return a } function i(a, b, c) { for (var d = new Array(a.length), e = n(a.length, c), f = function(a, c, e) { b(c, function(b, c) { d[a] = c, e(b, d) }) }, g = 0; g < a.length; g++) f(g, a[g], e) } var j, k = c(28), l = c(29), m = c(30), n = c(31), o = c(32); a && a.ArrayBuffer && (j = c(33)); var p = "undefined" != typeof navigator && /Android/i.test(navigator.userAgent), q = "undefined" != typeof navigator && /PhantomJS/i.test(navigator.userAgent), r = p || q; b.protocol = 3; var s = b.packets = { open: 0, close: 1, ping: 2, pong: 3, message: 4, upgrade: 5, noop: 6 }, t = k(s), u = { type: "error", data: "parser error" }, v = c(34); b.encodePacket = function(b, c, f, h) { "function" == typeof c && (h = c, c = !1), "function" == typeof f && (h = f, f = null); var i = void 0 === b.data ? void 0 : b.data.buffer || b.data; if (a.ArrayBuffer && i instanceof ArrayBuffer) return e(b, c, h); if (v && i instanceof a.Blob) return g(b, c, h); if (i && i.base64) return d(b, h); var j = s[b.type]; return void 0 !== b.data && (j += f ? o.encode(String(b.data)) : String(b.data)), h("" + j) }, b.encodeBase64Packet = function(c, d) { var e = "b" + b.packets[c.type]; if (v && c.data instanceof a.Blob) { var f = new FileReader; return f.onload = function() { var a = f.result.split(",")[1]; d(e + a) }, f.readAsDataURL(c.data) } var g; try { g = String.fromCharCode.apply(null, new Uint8Array(c.data)) } catch(h) { for (var i = new Uint8Array(c.data), j = new Array(i.length), k = 0; k < i.length; k++) j[k] = i[k]; g = String.fromCharCode.apply(null, j) } return e += a.btoa(g), d(e) }, b.decodePacket = function(a, c, d) { if (void 0 === a) return u; if ("string" == typeof a) { if ("b" == a.charAt(0)) return b.decodeBase64Packet(a.substr(1), c); if (d && (a = h(a), a === !1)) return u; var e = a.charAt(0); return Number(e) == e && t[e] ? a.length > 1 ? { type: t[e], data: a.substring(1) }: { type: t[e] }: u } var f = new Uint8Array(a), e = f[0], g = m(a, 1); return v && "blob" === c && (g = new v([g])), { type: t[e], data: g } }, b.decodeBase64Packet = function(a, b) { var c = t[a.charAt(0)]; if (!j) return { type: c, data: { base64: !0, data: a.substr(1) } }; var d = j.decode(a.substr(1)); return "blob" === b && v && (d = new v([d])), { type: c, data: d } }, b.encodePayload = function(a, c, d) { function e(a) { return a.length + ":" + a } function f(a, d) { b.encodePacket(a, !!g && c, !0, function(a) { d(null, e(a)) }) } "function" == typeof c && (d = c, c = null); var g = l(a); return c && g ? v && !r ? b.encodePayloadAsBlob(a, d) : b.encodePayloadAsArrayBuffer(a, d) : a.length ? void i(a, f, function(a, b) { return d(b.join("")) }) : d("0:") }, b.decodePayload = function(a, c, d) { if ("string" != typeof a) return b.decodePayloadAsBinary(a, c, d); "function" == typeof c && (d = c, c = null); var e; if ("" == a) return d(u, 0, 1); for (var f, g, h = "", i = 0, j = a.length; i < j; i++) { var k = a.charAt(i); if (":" != k) h += k; else { if ("" == h || h != (f = Number(h))) return d(u, 0, 1); if (g = a.substr(i + 1, f), h != g.length) return d(u, 0, 1); if (g.length) { if (e = b.decodePacket(g, c, !0), u.type == e.type && u.data == e.data) return d(u, 0, 1); var l = d(e, i + f, j); if (!1 === l) return } i += f, h = "" } } return "" != h ? d(u, 0, 1) : void 0 }, b.encodePayloadAsArrayBuffer = function(a, c) { function d(a, c) { b.encodePacket(a, !0, !0, function(a) { return c(null, a) }) } return a.length ? void i(a, d, function(a, b) { var d = b.reduce(function(a, b) { var c; return c = "string" == typeof b ? b.length: b.byteLength, a + c.toString().length + c + 2 }, 0), e = new Uint8Array(d), f = 0; return b.forEach(function(a) { var b = "string" == typeof a, c = a; if (b) { for (var d = new Uint8Array(a.length), g = 0; g < a.length; g++) d[g] = a.charCodeAt(g); c = d.buffer } b ? e[f++] = 0 : e[f++] = 1; for (var h = c.byteLength.toString(), g = 0; g < h.length; g++) e[f++] = parseInt(h[g]); e[f++] = 255; for (var d = new Uint8Array(c), g = 0; g < d.length; g++) e[f++] = d[g] }), c(e.buffer) }) : c(new ArrayBuffer(0)) }, b.encodePayloadAsBlob = function(a, c) { function d(a, c) { b.encodePacket(a, !0, !0, function(a) { var b = new Uint8Array(1); if (b[0] = 1, "string" == typeof a) { for (var d = new Uint8Array(a.length), e = 0; e < a.length; e++) d[e] = a.charCodeAt(e); a = d.buffer, b[0] = 0 } for (var f = a instanceof ArrayBuffer ? a.byteLength: a.size, g = f.toString(), h = new Uint8Array(g.length + 1), e = 0; e < g.length; e++) h[e] = parseInt(g[e]); if (h[g.length] = 255, v) { var i = new v([b.buffer, h.buffer, a]); c(null, i) } }) } i(a, d, function(a, b) { return c(new v(b)) }) }, b.decodePayloadAsBinary = function(a, c, d) { "function" == typeof c && (d = c, c = null); for (var e = a, f = [], g = !1; e.byteLength > 0;) { for (var h = new Uint8Array(e), i = 0 === h[0], j = "", k = 1; 255 != h[k]; k++) { if (j.length > 310) { g = !0; break } j += h[k] } if (g) return d(u, 0, 1); e = m(e, 2 + j.length), j = parseInt(j); var l = m(e, 0, j); if (i) try { l = String.fromCharCode.apply(null, new Uint8Array(l)) } catch(n) { var o = new Uint8Array(l); l = ""; for (var k = 0; k < o.length; k++) l += String.fromCharCode(o[k]) } f.push(l), e = m(e, j) } var p = f.length; f.forEach(function(a, e) { d(b.decodePacket(a, c, !0), e, p) }) } }).call(b, function() { return this } ()) }, function(a, b) { a.exports = Object.keys || function(a) { var b = [], c = Object.prototype.hasOwnProperty; for (var d in a) c.call(a, d) && b.push(d); return b } }, function(a, b, c) { (function(b) { function d(a) { function c(a) { if (!a) return ! 1; if (b.Buffer && b.Buffer.isBuffer && b.Buffer.isBuffer(a) || b.ArrayBuffer && a instanceof ArrayBuffer || b.Blob && a instanceof Blob || b.File && a instanceof File) return ! 0; if (e(a)) { for (var d = 0; d < a.length; d++) if (c(a[d])) return ! 0 } else if (a && "object" == typeof a) { a.toJSON && "function" == typeof a.toJSON && (a = a.toJSON()); for (var f in a) if (Object.prototype.hasOwnProperty.call(a, f) && c(a[f])) return ! 0 } return ! 1 } return c(a) } var e = c(15); a.exports = d }).call(b, function() { return this } ()) }, function(a, b) { a.exports = function(a, b, c) { var d = a.byteLength; if (b = b || 0, c = c || d, a.slice) return a.slice(b, c); if (b < 0 && (b += d), c < 0 && (c += d), c > d && (c = d), b >= d || b >= c || 0 === d) return new ArrayBuffer(0); for (var e = new Uint8Array(a), f = new Uint8Array(c - b), g = b, h = 0; g < c; g++, h++) f[h] = e[g]; return f.buffer } }, function(a, b) { function c(a, b, c) { function e(a, d) { if (e.count <= 0) throw new Error("after called too many times"); --e.count, a ? (f = !0, b(a), b = c) : 0 !== e.count || f || b(null, d) } var f = !1; return c = c || d, e.count = a, 0 === a ? b() : e } function d() {} a.exports = c }, function(a, b, c) { var d; (function(a, e) { ! function(f) { function g(a) { for (var b, c, d = [], e = 0, f = a.length; e < f;) b = a.charCodeAt(e++), b >= 55296 && b <= 56319 && e < f ? (c = a.charCodeAt(e++), 56320 == (64512 & c) ? d.push(((1023 & b) << 10) + (1023 & c) + 65536) : (d.push(b), e--)) : d.push(b); return d } function h(a) { for (var b, c = a.length, d = -1, e = ""; ++d < c;) b = a[d], b > 65535 && (b -= 65536, e += t(b >>> 10 & 1023 | 55296), b = 56320 | 1023 & b), e += t(b); return e } function i(a, b) { return t(a >> b & 63 | 128) } function j(a) { if (0 == (4294967168 & a)) return t(a); var b = ""; return 0 == (4294965248 & a) ? b = t(a >> 6 & 31 | 192) : 0 == (4294901760 & a) ? (b = t(a >> 12 & 15 | 224), b += i(a, 6)) : 0 == (4292870144 & a) && (b = t(a >> 18 & 7 | 240), b += i(a, 12), b += i(a, 6)), b += t(63 & a | 128) } function k(a) { for (var b, c = g(a), d = c.length, e = -1, f = ""; ++e < d;) b = c[e], f += j(b); return f } function l() { if (s >= r) throw Error("Invalid byte index"); var a = 255 & q[s]; if (s++, 128 == (192 & a)) return 63 & a; throw Error("Invalid continuation byte") } function m() { var a, b, c, d, e; if (s > r) throw Error("Invalid byte index"); if (s == r) return ! 1; if (a = 255 & q[s], s++, 0 == (128 & a)) return a; if (192 == (224 & a)) { var b = l(); if (e = (31 & a) << 6 | b, e >= 128) return e; throw Error("Invalid continuation byte") } if (224 == (240 & a)) { if (b = l(), c = l(), e = (15 & a) << 12 | b << 6 | c, e >= 2048) return e; throw Error("Invalid continuation byte") } if (240 == (248 & a) && (b = l(), c = l(), d = l(), e = (15 & a) << 18 | b << 12 | c << 6 | d, e >= 65536 && e <= 1114111)) return e; throw Error("Invalid WTF-8 detected") } function n(a) { q = g(a), r = q.length, s = 0; for (var b, c = []; (b = m()) !== !1;) c.push(b); return h(c) } var o = "object" == typeof b && b, p = ("object" == typeof a && a && a.exports == o && a, "object" == typeof e && e); p.global !== p && p.window !== p || (f = p); var q, r, s, t = String.fromCharCode, u = { version: "1.0.0", encode: k, decode: n }; d = function() { return u }.call(b, c, b, a), !(void 0 !== d && (a.exports = d)) } (this) }).call(b, c(12)(a), function() { return this } ()) }, function(a, b) { ! function() { "use strict"; for (var a = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/", c = new Uint8Array(256), d = 0; d < a.length; d++) c[a.charCodeAt(d)] = d; b.encode = function(b) { var c, d = new Uint8Array(b), e = d.length, f = ""; for (c = 0; c < e; c += 3) f += a[d[c] >> 2], f += a[(3 & d[c]) << 4 | d[c + 1] >> 4], f += a[(15 & d[c + 1]) << 2 | d[c + 2] >> 6], f += a[63 & d[c + 2]]; return e % 3 === 2 ? f = f.substring(0, f.length - 1) + "=": e % 3 === 1 && (f = f.substring(0, f.length - 2) + "=="), f }, b.decode = function(a) { var b, d, e, f, g, h = .75 * a.length, i = a.length, j = 0; "=" === a[a.length - 1] && (h--, "=" === a[a.length - 2] && h--); var k = new ArrayBuffer(h), l = new Uint8Array(k); for (b = 0; b < i; b += 4) d = c[a.charCodeAt(b)], e = c[a.charCodeAt(b + 1)], f = c[a.charCodeAt(b + 2)], g = c[a.charCodeAt(b + 3)], l[j++] = d << 2 | e >> 4, l[j++] = (15 & e) << 4 | f >> 2, l[j++] = (3 & f) << 6 | 63 & g; return k } } () }, function(a, b) { (function(b) { function c(a) { for (var b = 0; b < a.length; b++) { var c = a[b]; if (c.buffer instanceof ArrayBuffer) { var d = c.buffer; if (c.byteLength !== d.byteLength) { var e = new Uint8Array(c.byteLength); e.set(new Uint8Array(d, c.byteOffset, c.byteLength)), d = e.buffer } a[b] = d } } } function d(a, b) { b = b || {}; var d = new f; c(a); for (var e = 0; e < a.length; e++) d.append(a[e]); return b.type ? d.getBlob(b.type) : d.getBlob() } function e(a, b) { return c(a), new Blob(a, b || {}) } var f = b.BlobBuilder || b.WebKitBlobBuilder || b.MSBlobBuilder || b.MozBlobBuilder, g = function() { try { var a = new Blob(["hi"]); return 2 === a.size } catch(b) { return ! 1 } } (), h = g && function() { try { var a = new Blob([new Uint8Array([1, 2])]); return 2 === a.size } catch(b) { return ! 1 } } (), i = f && f.prototype.append && f.prototype.getBlob; a.exports = function() { return g ? h ? b.Blob: e: i ? d: void 0 } () }).call(b, function() { return this } ()) }, function(a, b, c) { function d(a) { if (a) return e(a) } function e(a) { for (var b in d.prototype) a[b] = d.prototype[b]; return a } a.exports = d, d.prototype.on = d.prototype.addEventListener = function(a, b) { return this._callbacks = this._callbacks || {}, (this._callbacks["$" + a] = this._callbacks["$" + a] || []).push(b), this }, d.prototype.once = function(a, b) { function c() { this.off(a, c), b.apply(this, arguments) } return c.fn = b, this.on(a, c), this }, d.prototype.off = d.prototype.removeListener = d.prototype.removeAllListeners = d.prototype.removeEventListener = function(a, b) { if (this._callbacks = this._callbacks || {}, 0 == arguments.length) return this._callbacks = {}, this; var c = this._callbacks["$" + a]; if (!c) return this; if (1 == arguments.length) return delete this._callbacks["$" + a], this; for (var d, e = 0; e < c.length; e++) if (d = c[e], d === b || d.fn === b) { c.splice(e, 1); break } return this }, d.prototype.emit = function(a) { this._callbacks = this._callbacks || {}; var b = [].slice.call(arguments, 1), c = this._callbacks["$" + a]; if (c) { c = c.slice(0); for (var d = 0, e = c.length; d < e; ++d) c[d].apply(this, b) } return this }, d.prototype.listeners = function(a) { return this._callbacks = this._callbacks || {}, this._callbacks["$" + a] || [] }, d.prototype.hasListeners = function(a) { return !! this.listeners(a).length } }, function(a, b) { b.encode = function(a) { var b = ""; for (var c in a) a.hasOwnProperty(c) && (b.length && (b += "&"), b += encodeURIComponent(c) + "=" + encodeURIComponent(a[c])); return b }, b.decode = function(a) { for (var b = {}, c = a.split("&"), d = 0, e = c.length; d < e; d++) { var f = c[d].split("="); b[decodeURIComponent(f[0])] = decodeURIComponent(f[1]) } return b } }, function(a, b) { a.exports = function(a, b) { var c = function() {}; c.prototype = b.prototype, a.prototype = new c, a.prototype.constructor = a } }, function(a, b) { "use strict"; function c(a) { var b = ""; do b = g[a % h] + b, a = Math.floor(a / h); while (a > 0); return b } function d(a) { var b = 0; for (k = 0; k < a.length; k++) b = b * h + i[a.charAt(k)]; return b } function e() { var a = c( + new Date); return a !== f ? (j = 0, f = a) : a + "." + c(j++) } for (var f, g = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-_".split(""), h = 64, i = {}, j = 0, k = 0; k < h; k++) i[g[k]] = k; e.encode = c, e.decode = d, a.exports = e }, function(a, b, c) { (function(b) { function d() {} function e(a) { f.call(this, a), this.query = this.query || {}, h || (b.___eio || (b.___eio = []), h = b.___eio), this.index = h.length; var c = this; h.push(function(a) { c.onData(a) }), this.query.j = this.index, b.document && b.addEventListener && b.addEventListener("beforeunload", function() { c.script && (c.script.onerror = d) }, !1) } var f = c(25), g = c(37); a.exports = e; var h, i = /\n/g, j = /\\n/g; g(e, f), e.prototype.supportsBinary = !1, e.prototype.doClose = function() { 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), f.prototype.doClose.call(this) }, e.prototype.doPoll = function() { var a = this, b = document.createElement("script"); this.script && (this.script.parentNode.removeChild(this.script), this.script = null), b.async = !0, b.src = this.uri(), b.onerror = function(b) { a.onError("jsonp poll error", b) }; var c = document.getElementsByTagName("script")[0]; c ? c.parentNode.insertBefore(b, c) : (document.head || document.body).appendChild(b), this.script = b; var d = "undefined" != typeof navigator && /gecko/i.test(navigator.userAgent); d && setTimeout(function() { var a = document.createElement("iframe"); document.body.appendChild(a), document.body.removeChild(a) }, 100) }, e.prototype.doWrite = function(a, b) { function c() { d(), b() } function d() { if (e.iframe) try { e.form.removeChild(e.iframe) } catch(a) { e.onError("jsonp polling iframe removal error", a) } try { var b = '