! function (e) { if ("object" == typeof exports && "undefined" != typeof module) module.exports = e(); else if ("function" == typeof define && define.amd) define([], e); else { ("undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof self ? self : this).mqtt = e() } }(function () { return function () { return function e(t, r, n) { function i(s, a) { if (!r[s]) { if (!t[s]) { var l = "function" == typeof require && require; if (!a && l) return l(s, !0); if (o) return o(s, !0); var u = new Error("Cannot find module '" + s + "'"); throw u.code = "MODULE_NOT_FOUND", u } var c = r[s] = { exports: {} }; t[s][0].call(c.exports, function (e) { return i(t[s][1][e] || e) }, c, c.exports, e, t, r, n) } return r[s].exports } for (var o = "function" == typeof require && require, s = 0; s < n.length; s++) i(n[s]); return i } }()({ 1: [function (e, t, r) { (function (r, n) { (function () { "use strict"; const i = e("events").EventEmitter, o = e("./store"), s = e("./topic-alias-recv"), a = e("./topic-alias-send"), l = e("mqtt-packet"), u = e("./default-message-id-provider"), c = e("readable-stream").Writable, h = e("inherits"), f = e("reinterval"), p = e("rfdc/default"), d = e("./validations"), g = e("xtend"), y = e("debug")("mqttjs:client"), b = r ? r.nextTick : function (e) { setTimeout(e, 0) }, m = n.setImmediate || function (e) { b(e) }, v = { keepalive: 60, reschedulePings: !0, protocolId: "MQTT", protocolVersion: 4, reconnectPeriod: 1e3, connectTimeout: 3e4, clean: !0, resubscribe: !0 }, w = ["ECONNREFUSED", "EADDRINUSE", "ECONNRESET", "ENOTFOUND"], _ = { 0: "", 1: "Unacceptable protocol version", 2: "Identifier rejected", 3: "Server unavailable", 4: "Bad username or password", 5: "Not authorized", 16: "No matching subscribers", 17: "No subscription existed", 128: "Unspecified error", 129: "Malformed Packet", 130: "Protocol Error", 131: "Implementation specific error", 132: "Unsupported Protocol Version", 133: "Client Identifier not valid", 134: "Bad User Name or Password", 135: "Not authorized", 136: "Server unavailable", 137: "Server busy", 138: "Banned", 139: "Server shutting down", 140: "Bad authentication method", 141: "Keep Alive timeout", 142: "Session taken over", 143: "Topic Filter invalid", 144: "Topic Name invalid", 145: "Packet identifier in use", 146: "Packet Identifier not found", 147: "Receive Maximum exceeded", 148: "Topic Alias invalid", 149: "Packet too large", 150: "Message rate too high", 151: "Quota exceeded", 152: "Administrative action", 153: "Payload format invalid", 154: "Retain not supported", 155: "QoS not supported", 156: "Use another server", 157: "Server moved", 158: "Shared Subscriptions not supported", 159: "Connection rate exceeded", 160: "Maximum connect time", 161: "Subscription Identifiers not supported", 162: "Wildcard Subscriptions not supported" }; function k(e, t) { let r; t.properties && (r = t.properties.topicAlias); let n = t.topic.toString(); if (0 === n.length) { if (void 0 === r) return new Error("Unregistered Topic Alias"); if (void 0 === (n = e.topicAliasSend.getTopicByAlias(r))) return new Error("Unregistered Topic Alias"); t.topic = n } r && delete t.properties.topicAlias } function S(e, t, r) { y("sendPacket :: packet: %O", t), y("sendPacket :: emitting `packetsend`"), e.emit("packetsend", t), y("sendPacket :: writing to stream"); const n = l.writeToStream(t, e.stream, e.options); y("sendPacket :: writeToStream result %s", n), !n && r && r !== C ? (y("sendPacket :: handle events on `drain` once through callback."), e.stream.once("drain", r)) : r && (y("sendPacket :: invoking cb"), r()) } function E(e, t, r, n) { y("storeAndSend :: store packet with cmd %s to outgoingStore", t.cmd); let i, o = t; if ("publish" === o.cmd && (o = p(t), i = k(e, o))) return r && r(i); e.outgoingStore.put(o, function (i) { if (i) return r && r(i); n(), S(e, t, r) }) } function C(e) { y("nop ::", e) } function T(e, t) { let r; const n = this; if (!(this instanceof T)) return new T(e, t); for (r in this.options = t || {}, v) void 0 === this.options[r] ? this.options[r] = v[r] : this.options[r] = t[r]; y("MqttClient :: options.protocol", t.protocol), y("MqttClient :: options.protocolVersion", t.protocolVersion), y("MqttClient :: options.username", t.username), y("MqttClient :: options.keepalive", t.keepalive), y("MqttClient :: options.reconnectPeriod", t.reconnectPeriod), y("MqttClient :: options.rejectUnauthorized", t.rejectUnauthorized), y("MqttClient :: options.topicAliasMaximum", t.topicAliasMaximum), this.options.clientId = "string" == typeof t.clientId ? t.clientId : "mqttjs_" + Math.random().toString(16).substr(2, 8), y("MqttClient :: clientId", this.options.clientId), this.options.customHandleAcks = 5 === t.protocolVersion && t.customHandleAcks ? t.customHandleAcks : function () { arguments[3](0) }, this.streamBuilder = e, this.messageIdProvider = void 0 === this.options.messageIdProvider ? new u : this.options.messageIdProvider, this.outgoingStore = t.outgoingStore || new o, this.incomingStore = t.incomingStore || new o, this.queueQoSZero = void 0 === t.queueQoSZero || t.queueQoSZero, this._resubscribeTopics = {}, this.messageIdToTopic = {}, this.pingTimer = null, this.connected = !1, this.disconnecting = !1, this.queue = [], this.connackTimer = null, this.reconnectTimer = null, this._storeProcessing = !1, this._packetIdsDuringStoreProcessing = {}, this._storeProcessingQueue = [], this.outgoing = {}, this._firstConnection = !0, t.topicAliasMaximum > 0 && (t.topicAliasMaximum > 65535 ? y("MqttClient :: options.topicAliasMaximum is out of range") : this.topicAliasRecv = new s(t.topicAliasMaximum)), this.on("connect", function () { const e = this.queue; y("connect :: sending queued packets"), function t() { const r = e.shift(); y("deliver :: entry %o", r); let i = null; if (!r) return void n._resubscribe(); i = r.packet, y("deliver :: call _sendPacket for %o", i); let o = !0; i.messageId && 0 !== i.messageId && (n.messageIdProvider.register(i.messageId) || (o = !1)), o ? n._sendPacket(i, function (e) { r.cb && r.cb(e), t() }) : (y("messageId: %d has already used. The message is skipped and removed.", i.messageId), t()) }() }), this.on("close", function () { y("close :: connected set to `false`"), this.connected = !1, y("close :: clearing connackTimer"), clearTimeout(this.connackTimer), y("close :: clearing ping timer"), null !== n.pingTimer && (n.pingTimer.clear(), n.pingTimer = null), this.topicAliasRecv && this.topicAliasRecv.clear(), y("close :: calling _setupReconnect"), this._setupReconnect() }), i.call(this), y("MqttClient :: setting up stream"), this._setupStream() } h(T, i), T.prototype._setupStream = function () { const e = this, t = new c, r = l.parser(this.options); let n = null; const i = []; function o() { if (i.length) b(s); else { const e = n; n = null, e() } } function s() { y("work :: getting next packet in queue"); const t = i.shift(); if (t) y("work :: packet pulled from queue"), e._handlePacket(t, o); else { y("work :: no packets in queue"); const e = n; n = null, y("work :: done flag is %s", !!e), e && e() } } y("_setupStream :: calling method to clear reconnect"), this._clearReconnect(), y("_setupStream :: using streamBuilder provided to client to create stream"), this.stream = this.streamBuilder(this), r.on("packet", function (e) { y("parser :: on packet push to packets array."), i.push(e) }), t._write = function (e, t, i) { n = i, y("writable stream :: parsing buffer"), r.parse(e), s() }, y("_setupStream :: pipe stream to writable stream"), this.stream.pipe(t), this.stream.on("error", function (t) { y("streamErrorHandler :: error", t.message), w.includes(t.code) ? (y("streamErrorHandler :: emitting error"), e.emit("error", t)) : C(t) }), this.stream.on("close", function () { var t; y("(%s)stream :: on close", e.options.clientId), (t = e.outgoing) && (y("flushVolatile :: deleting volatile messages from the queue and setting their callbacks as error function"), Object.keys(t).forEach(function (e) { t[e].volatile && "function" == typeof t[e].cb && (t[e].cb(new Error("Connection closed")), delete t[e]) })), y("stream: emit close to MqttClient"), e.emit("close") }), y("_setupStream: sending packet `connect`"); const a = Object.create(this.options); if (a.cmd = "connect", this.topicAliasRecv && (a.properties || (a.properties = {}), this.topicAliasRecv && (a.properties.topicAliasMaximum = this.topicAliasRecv.max)), S(this, a), r.on("error", this.emit.bind(this, "error")), this.options.properties) { if (!this.options.properties.authenticationMethod && this.options.properties.authenticationData) return e.end(() => this.emit("error", new Error("Packet has no Authentication Method"))), this; if (this.options.properties.authenticationMethod && this.options.authPacket && "object" == typeof this.options.authPacket) { S(this, g({ cmd: "auth", reasonCode: 0 }, this.options.authPacket)) } } this.stream.setMaxListeners(1e3), clearTimeout(this.connackTimer), this.connackTimer = setTimeout(function () { y("!!connectTimeout hit!! Calling _cleanUp with force `true`"), e._cleanUp(!0) }, this.options.connectTimeout) }, T.prototype._handlePacket = function (e, t) { const r = this.options; if (5 === r.protocolVersion && r.properties && r.properties.maximumPacketSize && r.properties.maximumPacketSize < e.length) return this.emit("error", new Error("exceeding packets size " + e.cmd)), this.end({ reasonCode: 149, properties: { reasonString: "Maximum packet size was exceeded" } }), this; switch (y("_handlePacket :: emitting packetreceive"), this.emit("packetreceive", e), e.cmd) { case "publish": this._handlePublish(e, t); break; case "puback": case "pubrec": case "pubcomp": case "suback": case "unsuback": this._handleAck(e), t(); break; case "pubrel": this._handlePubrel(e, t); break; case "connack": this._handleConnack(e), t(); break; case "auth": this._handleAuth(e), t(); break; case "pingresp": this._handlePingresp(e), t(); break; case "disconnect": this._handleDisconnect(e), t() } }, T.prototype._checkDisconnecting = function (e) { return this.disconnecting && (e && e !== C ? e(new Error("client disconnecting")) : this.emit("error", new Error("client disconnecting"))), this.disconnecting }, T.prototype.publish = function (e, t, r, n) { y("publish :: message `%s` to topic `%s`", t, e); const i = this.options; "function" == typeof r && (n = r, r = null); if (r = g({ qos: 0, retain: !1, dup: !1 }, r), this._checkDisconnecting(n)) return this; const o = this, s = function () { let s = 0; if ((1 === r.qos || 2 === r.qos) && null === (s = o._nextId())) return y("No messageId left"), !1; const a = { cmd: "publish", topic: e, payload: t, qos: r.qos, retain: r.retain, messageId: s, dup: r.dup }; switch (5 === i.protocolVersion && (a.properties = r.properties), y("publish :: qos", r.qos), r.qos) { case 1: case 2: o.outgoing[a.messageId] = { volatile: !1, cb: n || C }, y("MqttClient:publish: packet cmd: %s", a.cmd), o._sendPacket(a, void 0, r.cbStorePut); break; default: y("MqttClient:publish: packet cmd: %s", a.cmd), o._sendPacket(a, n, r.cbStorePut) } return !0 }; return (this._storeProcessing || this._storeProcessingQueue.length > 0 || !s()) && this._storeProcessingQueue.push({ invoke: s, cbStorePut: r.cbStorePut, callback: n }), this }, T.prototype.subscribe = function () { const e = this, t = new Array(arguments.length); for (let e = 0; e < arguments.length; e++) t[e] = arguments[e]; const r = []; let n = t.shift(); const i = n.resubscribe; let o = t.pop() || C, s = t.pop(); const a = this.options.protocolVersion; delete n.resubscribe, "string" == typeof n && (n = [n]), "function" != typeof o && (s = o, o = C); const l = d.validateTopics(n); if (null !== l) return m(o, new Error("Invalid topic " + l)), this; if (this._checkDisconnecting(o)) return y("subscribe: discconecting true"), this; const u = { qos: 0 }; if (5 === a && (u.nl = !1, u.rap = !1, u.rh = 0), s = g(u, s), Array.isArray(n) ? n.forEach(function (t) { if (y("subscribe: array topic %s", t), !Object.prototype.hasOwnProperty.call(e._resubscribeTopics, t) || e._resubscribeTopics[t].qos < s.qos || i) { const e = { topic: t, qos: s.qos }; 5 === a && (e.nl = s.nl, e.rap = s.rap, e.rh = s.rh, e.properties = s.properties), y("subscribe: pushing topic `%s` and qos `%s` to subs list", e.topic, e.qos), r.push(e) } }) : Object.keys(n).forEach(function (t) { if (y("subscribe: object topic %s", t), !Object.prototype.hasOwnProperty.call(e._resubscribeTopics, t) || e._resubscribeTopics[t].qos < n[t].qos || i) { const e = { topic: t, qos: n[t].qos }; 5 === a && (e.nl = n[t].nl, e.rap = n[t].rap, e.rh = n[t].rh, e.properties = s.properties), y("subscribe: pushing `%s` to subs list", e), r.push(e) } }), !r.length) return o(null, []), this; const c = function () { const t = e._nextId(); if (null === t) return y("No messageId left"), !1; const n = { cmd: "subscribe", subscriptions: r, qos: 1, retain: !1, dup: !1, messageId: t }; if (s.properties && (n.properties = s.properties), e.options.resubscribe) { y("subscribe :: resubscribe true"); const t = []; r.forEach(function (r) { if (e.options.reconnectPeriod > 0) { const n = { qos: r.qos }; 5 === a && (n.nl = r.nl || !1, n.rap = r.rap || !1, n.rh = r.rh || 0, n.properties = r.properties), e._resubscribeTopics[r.topic] = n, t.push(r.topic) } }), e.messageIdToTopic[n.messageId] = t } return e.outgoing[n.messageId] = { volatile: !0, cb: function (e, t) { if (!e) { const e = t.granted; for (let t = 0; t < e.length; t += 1) r[t].qos = e[t] } o(e, r) } }, y("subscribe :: call _sendPacket"), e._sendPacket(n), !0 }; return (this._storeProcessing || this._storeProcessingQueue.length > 0 || !c()) && this._storeProcessingQueue.push({ invoke: c, callback: o }), this }, T.prototype.unsubscribe = function () { const e = this, t = new Array(arguments.length); for (let e = 0; e < arguments.length; e++) t[e] = arguments[e]; let r = t.shift(), n = t.pop() || C, i = t.pop(); "string" == typeof r && (r = [r]), "function" != typeof n && (i = n, n = C); const o = d.validateTopics(r); if (null !== o) return m(n, new Error("Invalid topic " + o)), this; if (e._checkDisconnecting(n)) return this; const s = function () { const t = e._nextId(); if (null === t) return y("No messageId left"), !1; const o = { cmd: "unsubscribe", qos: 1, messageId: t }; return "string" == typeof r ? o.unsubscriptions = [r] : Array.isArray(r) && (o.unsubscriptions = r), e.options.resubscribe && o.unsubscriptions.forEach(function (t) { delete e._resubscribeTopics[t] }), "object" == typeof i && i.properties && (o.properties = i.properties), e.outgoing[o.messageId] = { volatile: !0, cb: n }, y("unsubscribe: call _sendPacket"), e._sendPacket(o), !0 }; return (this._storeProcessing || this._storeProcessingQueue.length > 0 || !s()) && this._storeProcessingQueue.push({ invoke: s, callback: n }), this }, T.prototype.end = function (e, t, r) { const n = this; function i() { y("end :: (%s) :: finish :: calling _cleanUp with force %s", n.options.clientId, e), n._cleanUp(e, () => { y("end :: finish :: calling process.nextTick on closeStores"), b(function () { y("end :: closeStores: closing incoming and outgoing stores"), n.disconnected = !0, n.incomingStore.close(function (e) { n.outgoingStore.close(function (t) { if (y("end :: closeStores: emitting end"), n.emit("end"), r) { const n = e || t; y("end :: closeStores: invoking callback with args"), r(n) } }) }), n._deferredReconnect && n._deferredReconnect() }.bind(n)) }, t) } return y("end :: (%s)", this.options.clientId), null != e && "boolean" == typeof e || (r = t || C, t = e, e = !1, "object" != typeof t && (r = t, t = null, "function" != typeof r && (r = C))), "object" != typeof t && (r = t, t = null), y("end :: cb? %s", !!r), r = r || C, this.disconnecting ? (r(), this) : (this._clearReconnect(), this.disconnecting = !0, !e && Object.keys(this.outgoing).length > 0 ? (y("end :: (%s) :: calling finish in 10ms once outgoing is empty", n.options.clientId), this.once("outgoingEmpty", setTimeout.bind(null, i, 10))) : (y("end :: (%s) :: immediately calling finish", n.options.clientId), i()), this) }, T.prototype.removeOutgoingMessage = function (e) { const t = this.outgoing[e] ? this.outgoing[e].cb : null; return delete this.outgoing[e], this.outgoingStore.del({ messageId: e }, function () { t(new Error("Message removed")) }), this }, T.prototype.reconnect = function (e) { y("client reconnect"); const t = this, r = function () { e ? (t.options.incomingStore = e.incomingStore, t.options.outgoingStore = e.outgoingStore) : (t.options.incomingStore = null, t.options.outgoingStore = null), t.incomingStore = t.options.incomingStore || new o, t.outgoingStore = t.options.outgoingStore || new o, t.disconnecting = !1, t.disconnected = !1, t._deferredReconnect = null, t._reconnect() }; return this.disconnecting && !this.disconnected ? this._deferredReconnect = r : r(), this }, T.prototype._reconnect = function () { y("_reconnect: emitting reconnect to client"), this.emit("reconnect"), this.connected ? (this.end(() => { this._setupStream() }), y("client already connected. disconnecting first.")) : (y("_reconnect: calling _setupStream"), this._setupStream()) }, T.prototype._setupReconnect = function () { const e = this;!e.disconnecting && !e.reconnectTimer && e.options.reconnectPeriod > 0 ? (this.reconnecting || (y("_setupReconnect :: emit `offline` state"), this.emit("offline"), y("_setupReconnect :: set `reconnecting` to `true`"), this.reconnecting = !0), y("_setupReconnect :: setting reconnectTimer for %d ms", e.options.reconnectPeriod), e.reconnectTimer = setInterval(function () { y("reconnectTimer :: reconnect triggered!"), e._reconnect() }, e.options.reconnectPeriod)) : y("_setupReconnect :: doing nothing...") }, T.prototype._clearReconnect = function () { y("_clearReconnect : clearing reconnect timer"), this.reconnectTimer && (clearInterval(this.reconnectTimer), this.reconnectTimer = null) }, T.prototype._cleanUp = function (e, t) { const r = arguments[2]; if (t && (y("_cleanUp :: done callback provided for on stream close"), this.stream.on("close", t)), y("_cleanUp :: forced? %s", e), e) 0 === this.options.reconnectPeriod && this.options.clean && (n = this.outgoing) && (y("flush: queue exists? %b", !!n), Object.keys(n).forEach(function (e) { "function" == typeof n[e].cb && (n[e].cb(new Error("Connection closed")), delete n[e]) })), y("_cleanUp :: (%s) :: destroying stream", this.options.clientId), this.stream.destroy(); else { const e = g({ cmd: "disconnect" }, r); y("_cleanUp :: (%s) :: call _sendPacket with disconnect packet", this.options.clientId), this._sendPacket(e, m.bind(null, this.stream.end.bind(this.stream))) } var n; this.disconnecting || (y("_cleanUp :: client not disconnecting. Clearing and resetting reconnect."), this._clearReconnect(), this._setupReconnect()), null !== this.pingTimer && (y("_cleanUp :: clearing pingTimer"), this.pingTimer.clear(), this.pingTimer = null), t && !this.connected && (y("_cleanUp :: (%s) :: removing stream `done` callback `close` listener", this.options.clientId), this.stream.removeListener("close", t), t()) }, T.prototype._sendPacket = function (e, t, r) { y("_sendPacket :: (%s) :: start", this.options.clientId), r = r || C, t = t || C; const n = function (e, t) { if (5 === e.options.protocolVersion && "publish" === t.cmd) { let r; t.properties && (r = t.properties.topicAlias); const n = t.topic.toString(); if (e.topicAliasSend) if (r) { if (0 !== n.length && (y("applyTopicAlias :: register topic: %s - alias: %d", n, r), !e.topicAliasSend.put(n, r))) return y("applyTopicAlias :: error out of range. topic: %s - alias: %d", n, r), new Error("Sending Topic Alias out of range") } else 0 !== n.length && (e.options.autoAssignTopicAlias ? (r = e.topicAliasSend.getAliasByTopic(n)) ? (t.topic = "", t.properties = { ...t.properties, topicAlias: r }, y("applyTopicAlias :: auto assign(use) topic: %s - alias: %d", n, r)) : (r = e.topicAliasSend.getLruAlias(), e.topicAliasSend.put(n, r), t.properties = { ...t.properties, topicAlias: r }, y("applyTopicAlias :: auto assign topic: %s - alias: %d", n, r)) : e.options.autoUseTopicAlias && (r = e.topicAliasSend.getAliasByTopic(n)) && (t.topic = "", t.properties = { ...t.properties, topicAlias: r }, y("applyTopicAlias :: auto use topic: %s - alias: %d", n, r))); else if (r) return y("applyTopicAlias :: error out of range. topic: %s - alias: %d", n, r), new Error("Sending Topic Alias out of range") } }(this, e); if (n) t(n); else { if (!this.connected) return "auth" === e.cmd ? (this._shiftPingInterval(), void S(this, e, t)) : (y("_sendPacket :: client not connected. Storing packet offline."), void this._storePacket(e, t, r)); switch (this._shiftPingInterval(), e.cmd) { case "publish": break; case "pubrel": return void E(this, e, t, r); default: return void S(this, e, t) } switch (e.qos) { case 2: case 1: E(this, e, t, r); break; case 0: default: S(this, e, t) } y("_sendPacket :: (%s) :: end", this.options.clientId) } }, T.prototype._storePacket = function (e, t, r) { y("_storePacket :: packet: %o", e), y("_storePacket :: cb? %s", !!t), r = r || C; let n = e; if ("publish" === n.cmd) { const r = k(this, n = p(e)); if (r) return t && t(r) } 0 === (n.qos || 0) && this.queueQoSZero || "publish" !== n.cmd ? this.queue.push({ packet: n, cb: t }) : n.qos > 0 ? (t = this.outgoing[n.messageId] ? this.outgoing[n.messageId].cb : null, this.outgoingStore.put(n, function (e) { if (e) return t && t(e); r() })) : t && t(new Error("No connection to broker")) }, T.prototype._setupPingTimer = function () { y("_setupPingTimer :: keepalive %d (seconds)", this.options.keepalive); const e = this;!this.pingTimer && this.options.keepalive && (this.pingResp = !0, this.pingTimer = f(function () { e._checkPing() }, 1e3 * this.options.keepalive)) }, T.prototype._shiftPingInterval = function () { this.pingTimer && this.options.keepalive && this.options.reschedulePings && this.pingTimer.reschedule(1e3 * this.options.keepalive) }, T.prototype._checkPing = function () { y("_checkPing :: checking ping..."), this.pingResp ? (y("_checkPing :: ping response received. Clearing flag and sending `pingreq`"), this.pingResp = !1, this._sendPacket({ cmd: "pingreq" })) : (y("_checkPing :: calling _cleanUp with force true"), this._cleanUp(!0)) }, T.prototype._handlePingresp = function () { this.pingResp = !0 }, T.prototype._handleConnack = function (e) { y("_handleConnack"); const t = this.options, r = 5 === t.protocolVersion ? e.reasonCode : e.returnCode; if (clearTimeout(this.connackTimer), delete this.topicAliasSend, e.properties) { if (e.properties.topicAliasMaximum) { if (e.properties.topicAliasMaximum > 65535) return void this.emit("error", new Error("topicAliasMaximum from broker is out of range")); e.properties.topicAliasMaximum > 0 && (this.topicAliasSend = new a(e.properties.topicAliasMaximum)) } e.properties.serverKeepAlive && t.keepalive && (t.keepalive = e.properties.serverKeepAlive, this._shiftPingInterval()), e.properties.maximumPacketSize && (t.properties || (t.properties = {}), t.properties.maximumPacketSize = e.properties.maximumPacketSize) } if (0 === r) this.reconnecting = !1, this._onConnect(e); else if (r > 0) { const e = new Error("Connection refused: " + _[r]); e.code = r, this.emit("error", e) } }, T.prototype._handleAuth = function (e) { const t = this.options.protocolVersion, r = 5 === t ? e.reasonCode : e.returnCode; if (5 !== t) { const e = new Error("Protocol error: Auth packets are only supported in MQTT 5. Your version:" + t); return e.code = r, void this.emit("error", e) } const n = this; this.handleAuth(e, function (e, t) { if (e) n.emit("error", e); else if (24 === r) n.reconnecting = !1, n._sendPacket(t); else { const t = new Error("Connection refused: " + _[r]); e.code = r, n.emit("error", t) } }) }, T.prototype.handleAuth = function (e, t) { t() }, T.prototype._handlePublish = function (e, t) { y("_handlePublish: packet %o", e), t = void 0 !== t ? t : C; let r = e.topic.toString(); const n = e.payload, i = e.qos, o = e.messageId, s = this, a = this.options, l = [0, 16, 128, 131, 135, 144, 145, 151, 153]; if (5 === this.options.protocolVersion) { let t; if (e.properties && (t = e.properties.topicAlias), void 0 !== t) if (0 === r.length) { if (!(t > 0 && t <= 65535)) return y("_handlePublish :: topic alias out of range. alias: %d", t), void this.emit("error", new Error("Received Topic Alias is out of range")); { const e = this.topicAliasRecv.getTopicByAlias(t); if (!e) return y("_handlePublish :: unregistered topic alias. alias: %d", t), void this.emit("error", new Error("Received unregistered Topic Alias")); y("_handlePublish :: topic complemented by alias. topic: %s - alias: %d", r = e, t) } } else { if (!this.topicAliasRecv.put(r, t)) return y("_handlePublish :: topic alias out of range. alias: %d", t), void this.emit("error", new Error("Received Topic Alias is out of range")); y("_handlePublish :: registered topic: %s - alias: %d", r, t) } } switch (y("_handlePublish: qos %d", i), i) { case 2: a.customHandleAcks(r, n, e, function (r, n) { return r instanceof Error || (n = r, r = null), r ? s.emit("error", r) : -1 === l.indexOf(n) ? s.emit("error", new Error("Wrong reason code for pubrec")) : void(n ? s._sendPacket({ cmd: "pubrec", messageId: o, reasonCode: n }, t) : s.incomingStore.put(e, function () { s._sendPacket({ cmd: "pubrec", messageId: o }, t) })) }); break; case 1: a.customHandleAcks(r, n, e, function (i, a) { return i instanceof Error || (a = i, i = null), i ? s.emit("error", i) : -1 === l.indexOf(a) ? s.emit("error", new Error("Wrong reason code for puback")) : (a || s.emit("message", r, n, e), void s.handleMessage(e, function (e) { if (e) return t && t(e); s._sendPacket({ cmd: "puback", messageId: o, reasonCode: a }, t) })) }); break; case 0: this.emit("message", r, n, e), this.handleMessage(e, t); break; default: y("_handlePublish: unknown QoS. Doing nothing.") } }, T.prototype.handleMessage = function (e, t) { t() }, T.prototype._handleAck = function (e) { const t = e.messageId, r = e.cmd; let n = null; const i = this.outgoing[t] ? this.outgoing[t].cb : null, o = this; let s; if (i) { switch (y("_handleAck :: packet type", r), r) { case "pubcomp": case "puback": { const r = e.reasonCode; r && r > 0 && 16 !== r && ((s = new Error("Publish error: " + _[r])).code = r, i(s, e)), delete this.outgoing[t], this.outgoingStore.del(e, i), this.messageIdProvider.deallocate(t), this._invokeStoreProcessingQueue(); break } case "pubrec": { n = { cmd: "pubrel", qos: 2, messageId: t }; const r = e.reasonCode; r && r > 0 && 16 !== r ? ((s = new Error("Publish error: " + _[r])).code = r, i(s, e)) : this._sendPacket(n); break } case "suback": delete this.outgoing[t], this.messageIdProvider.deallocate(t); for (let r = 0; r < e.granted.length; r++) if (0 != (128 & e.granted[r])) { const e = this.messageIdToTopic[t]; e && e.forEach(function (e) { delete o._resubscribeTopics[e] }) } this._invokeStoreProcessingQueue(), i(null, e); break; case "unsuback": delete this.outgoing[t], this.messageIdProvider.deallocate(t), this._invokeStoreProcessingQueue(), i(null); break; default: o.emit("error", new Error("unrecognized packet type")) } this.disconnecting && 0 === Object.keys(this.outgoing).length && this.emit("outgoingEmpty") } else y("_handleAck :: Server sent an ack in error. Ignoring.") }, T.prototype._handlePubrel = function (e, t) { y("handling pubrel packet"), t = void 0 !== t ? t : C; const r = this, n = { cmd: "pubcomp", messageId: e.messageId }; r.incomingStore.get(e, function (e, i) { e ? r._sendPacket(n, t) : (r.emit("message", i.topic, i.payload, i), r.handleMessage(i, function (e) { if (e) return t(e); r.incomingStore.del(i, C), r._sendPacket(n, t) })) }) }, T.prototype._handleDisconnect = function (e) { this.emit("disconnect", e) }, T.prototype._nextId = function () { return this.messageIdProvider.allocate() }, T.prototype.getLastMessageId = function () { return this.messageIdProvider.getLastAllocated() }, T.prototype._resubscribe = function () { y("_resubscribe"); const e = Object.keys(this._resubscribeTopics); if (!this._firstConnection && (this.options.clean || 5 === this.options.protocolVersion && !this.connackPacket.sessionPresent) && e.length > 0) if (this.options.resubscribe) if (5 === this.options.protocolVersion) { y("_resubscribe: protocolVersion 5"); for (let t = 0; t < e.length; t++) { const r = {}; r[e[t]] = this._resubscribeTopics[e[t]], r.resubscribe = !0, this.subscribe(r, { properties: r[e[t]].properties }) } } else this._resubscribeTopics.resubscribe = !0, this.subscribe(this._resubscribeTopics); else this._resubscribeTopics = {}; this._firstConnection = !1 }, T.prototype._onConnect = function (e) { if (this.disconnected) return void this.emit("connect", e); const t = this; this.connackPacket = e, this.messageIdProvider.clear(), this._setupPingTimer(), this.connected = !0, function r() { let n = t.outgoingStore.createStream(); function i() { t._storeProcessing = !1, t._packetIdsDuringStoreProcessing = {} } function o() { n.destroy(), n = null, t._flushStoreProcessingQueue(), i() } t.once("close", o), n.on("error", function (e) { i(), t._flushStoreProcessingQueue(), t.removeListener("close", o), t.emit("error", e) }), n.on("end", function () { let n = !0; for (const e in t._packetIdsDuringStoreProcessing) if (!t._packetIdsDuringStoreProcessing[e]) { n = !1; break } n ? (i(), t.removeListener("close", o), t._invokeAllStoreProcessingQueue(), t.emit("connect", e)) : r() }), function e() { if (!n) return; t._storeProcessing = !0; const r = n.read(1); let i; r ? t._packetIdsDuringStoreProcessing[r.messageId] ? e() : t.disconnecting || t.reconnectTimer ? n.destroy && n.destroy() : (i = t.outgoing[r.messageId] ? t.outgoing[r.messageId].cb : null, t.outgoing[r.messageId] = { volatile: !1, cb: function (t, r) { i && i(t, r), e() } }, t._packetIdsDuringStoreProcessing[r.messageId] = !0, t.messageIdProvider.register(r.messageId) ? t._sendPacket(r) : y("messageId: %d has already used.", r.messageId)) : n.once("readable", e) }() }() }, T.prototype._invokeStoreProcessingQueue = function () { if (this._storeProcessingQueue.length > 0) { const e = this._storeProcessingQueue[0]; if (e && e.invoke()) return this._storeProcessingQueue.shift(), !0 } return !1 }, T.prototype._invokeAllStoreProcessingQueue = function () { for (; this._invokeStoreProcessingQueue();); }, T.prototype._flushStoreProcessingQueue = function () { for (const e of this._storeProcessingQueue) e.cbStorePut && e.cbStorePut(new Error("Connection closed")), e.callback && e.callback(new Error("Connection closed")); this._storeProcessingQueue.splice(0) }, t.exports = T }).call(this) }).call(this, e("_process"), "undefined" != typeof global ? global : "undefined" != typeof self ? self : "undefined" != typeof window ? window : {}) }, { "./default-message-id-provider": 7, "./store": 8, "./topic-alias-recv": 9, "./topic-alias-send": 10, "./validations": 11, _process: 50, debug: 18, events: 22, inherits: 24, "mqtt-packet": 40, "readable-stream": 69, reinterval: 70, "rfdc/default": 71, xtend: 81 }], 2: [function (e, t, r) { "use strict"; const { Buffer: n } = e("buffer"), i = e("readable-stream").Transform, o = e("duplexify"); let s, a, l, u = !1; t.exports = function (e, t) { if (t.hostname = t.hostname || t.host, !t.hostname) throw new Error("Could not determine host. Specify host manually."); const r = "MQIsdp" === t.protocolId && 3 === t.protocolVersion ? "mqttv3.1" : "mqtt"; ! function (e) { e.hostname || (e.hostname = "localhost"), e.path || (e.path = "/"), e.wsOptions || (e.wsOptions = {}) }(t); const c = function (e, t) { const r = "alis" === e.protocol ? "wss" : "ws"; let n = r + "://" + e.hostname + e.path; return e.port && 80 !== e.port && 443 !== e.port && (n = r + "://" + e.hostname + ":" + e.port + e.path), "function" == typeof e.transformWsUrl && (n = e.transformWsUrl(n, e, t)), n }(t, e); return (s = t.my).connectSocket({ url: c, protocols: r }), a = function () { const e = new i; return e._write = function (e, t, r) { s.sendSocketMessage({ data: e.buffer, success: function () { r() }, fail: function () { r(new Error) } }) }, e._flush = function (e) { s.closeSocket({ success: function () { e() } }) }, e }(), l = o.obj(), u || (u = !0, s.onSocketOpen(function () { l.setReadable(a), l.setWritable(a), l.emit("connect") }), s.onSocketMessage(function (e) { if ("string" == typeof e.data) { const t = n.from(e.data, "base64"); a.push(t) } else { const t = new FileReader; t.addEventListener("load", function () { let e = t.result; e = e instanceof ArrayBuffer ? n.from(e) : n.from(e, "utf8"), a.push(e) }), t.readAsArrayBuffer(e.data) } }), s.onSocketClose(function () { l.end(), l.destroy() }), s.onSocketError(function (e) { l.destroy(e) })), l } }, { buffer: 17, duplexify: 20, "readable-stream": 69 }], 3: [function (e, t, r) { "use strict"; const n = e("net"), i = e("debug")("mqttjs:tcp"); t.exports = function (e, t) { t.port = t.port || 1883, t.hostname = t.hostname || t.host || "localhost"; const r = t.port, o = t.hostname; return i("port %d and host %s", r, o), n.createConnection(r, o) } }, { debug: 18, net: 16 }], 4: [function (e, t, r) { "use strict"; const n = e("tls"), i = e("net"), o = e("debug")("mqttjs:tls"); t.exports = function (e, t) { t.port = t.port || 8883, t.host = t.hostname || t.host || "localhost", 0 === i.isIP(t.host) && (t.servername = t.host), t.rejectUnauthorized = !1 !== t.rejectUnauthorized, delete t.path, o("port %d host %s rejectUnauthorized %b", t.port, t.host, t.rejectUnauthorized); const r = n.connect(t); function s(n) { t.rejectUnauthorized && e.emit("error", n), r.end() } return r.on("secureConnect", function () { t.rejectUnauthorized && !r.authorized ? r.emit("error", new Error("TLS not authorized")) : r.removeListener("error", s) }), r.on("error", s), r } }, { debug: 18, net: 16, tls: 16 }], 5: [function (e, t, r) { (function (r) { (function () { "use strict"; const { Buffer: n } = e("buffer"), i = e("ws"), o = e("debug")("mqttjs:ws"), s = e("duplexify"), a = e("readable-stream").Transform, l = ["rejectUnauthorized", "ca", "cert", "key", "pfx", "passphrase"], u = void 0 !== r && "browser" === r.title || "function" == typeof __webpack_require__; function c(e, t) { let r = e.protocol + "://" + e.hostname + ":" + e.port + e.path; return "function" == typeof e.transformWsUrl && (r = e.transformWsUrl(r, e, t)), r } function h(e) { const t = e; return e.hostname || (t.hostname = "localhost"), e.port || ("wss" === e.protocol ? t.port = 443 : t.port = 80), e.path || (t.path = "/"), e.wsOptions || (t.wsOptions = {}), u || "wss" !== e.protocol || l.forEach(function (r) { Object.prototype.hasOwnProperty.call(e, r) && !Object.prototype.hasOwnProperty.call(e.wsOptions, r) && (t.wsOptions[r] = e[r]) }), t } t.exports = u ? function (e, t) { let r; o("browserStreamBuilder"); const i = function (e) { const t = h(e); if (t.hostname || (t.hostname = t.host), !t.hostname) { if ("undefined" == typeof document) throw new Error("Could not determine host. Specify host manually."); const e = new URL(document.URL); t.hostname = e.hostname, t.port || (t.port = e.port) } return void 0 === t.objectMode && (t.objectMode = !(!0 === t.binary || void 0 === t.binary)), t }(t).browserBufferSize || 524288, l = t.browserBufferTimeout || 1e3, u = !t.objectMode, f = function (e, t) { const r = "MQIsdp" === t.protocolId && 3 === t.protocolVersion ? "mqttv3.1" : "mqtt", n = c(t, e), i = new WebSocket(n); return i.binaryType = "arraybuffer", i }(e, t), p = function (e, t, r) { const n = new a({ objectModeMode: e.objectMode }); return n._write = t, n._flush = r, n }(t, function e(t, r, o) { f.bufferedAmount > i && setTimeout(e, l, t, r, o), u && "string" == typeof t && (t = n.from(t, "utf8")); try { f.send(t) } catch (e) { return o(e) } o() }, function (e) { f.close(), e() }); t.objectMode || (p._writev = v), p.on("close", () => { f.close() }); const d = void 0 !== f.addEventListener; function g() { r.setReadable(p), r.setWritable(p), r.emit("connect") } function y() { r.end(), r.destroy() } function b(e) { r.destroy(e) } function m(e) { let t = e.data; t = t instanceof ArrayBuffer ? n.from(t) : n.from(t, "utf8"), p.push(t) } function v(e, t) { const r = new Array(e.length); for (let t = 0; t < e.length; t++) "string" == typeof e[t].chunk ? r[t] = n.from(e[t], "utf8") : r[t] = e[t].chunk; this._write(n.concat(r), "binary", t) } return f.readyState === f.OPEN ? r = p : (r = r = s(void 0, void 0, t), t.objectMode || (r._writev = v), d ? f.addEventListener("open", g) : f.onopen = g), r.socket = f, d ? (f.addEventListener("close", y), f.addEventListener("error", b), f.addEventListener("message", m)) : (f.onclose = y, f.onerror = b, f.onmessage = m), r } : function (e, t) { o("streamBuilder"); const r = h(t), n = c(r, e), s = function (e, t, r) { o("createWebSocket"), o("protocol: " + r.protocolId + " " + r.protocolVersion); const n = "MQIsdp" === r.protocolId && 3 === r.protocolVersion ? "mqttv3.1" : "mqtt"; return o("creating new Websocket for url: " + t + " and protocol: " + n), new i(t, [n], r.wsOptions) }(0, n, r), a = i.createWebSocketStream(s, r.wsOptions); return a.url = n, s.on("close", () => { a.destroy() }), a } }).call(this) }).call(this, e("_process")) }, { _process: 50, buffer: 17, debug: 18, duplexify: 20, "readable-stream": 69, ws: 80 }], 6: [function (e, t, r) { "use strict"; const { Buffer: n } = e("buffer"), i = e("readable-stream").Transform, o = e("duplexify"); let s, a, l; t.exports = function (e, t) { if (t.hostname = t.hostname || t.host, !t.hostname) throw new Error("Could not determine host. Specify host manually."); const r = "MQIsdp" === t.protocolId && 3 === t.protocolVersion ? "mqttv3.1" : "mqtt"; ! function (e) { e.hostname || (e.hostname = "localhost"), e.path || (e.path = "/"), e.wsOptions || (e.wsOptions = {}) }(t); const u = function (e, t) { const r = "wxs" === e.protocol ? "wss" : "ws"; let n = r + "://" + e.hostname + e.path; return e.port && 80 !== e.port && 443 !== e.port && (n = r + "://" + e.hostname + ":" + e.port + e.path), "function" == typeof e.transformWsUrl && (n = e.transformWsUrl(n, e, t)), n }(t, e); s = wx.connectSocket({ url: u, protocols: [r] }), a = function () { const e = new i; return e._write = function (e, t, r) { s.send({ data: e.buffer, success: function () { r() }, fail: function (e) { r(new Error(e)) } }) }, e._flush = function (e) { s.close({ success: function () { e() } }) }, e }(), (l = o.obj())._destroy = function (e, t) { s.close({ success: function () { t && t(e) } }) }; const c = l.destroy; return l.destroy = function () { l.destroy = c; const e = this; setTimeout(function () { s.close({ fail: function () { e._destroy(new Error) } }) }, 0) }.bind(l), s.onOpen(function () { l.setReadable(a), l.setWritable(a), l.emit("connect") }), s.onMessage(function (e) { let t = e.data; t = t instanceof ArrayBuffer ? n.from(t) : n.from(t, "utf8"), a.push(t) }), s.onClose(function () { l.end(), l.destroy() }), s.onError(function (e) { l.destroy(new Error(e.errMsg)) }), l } }, { buffer: 17, duplexify: 20, "readable-stream": 69 }], 7: [function (e, t, r) { "use strict"; function n() { if (!(this instanceof n)) return new n; this.nextId = Math.max(1, Math.floor(65535 * Math.random())) } n.prototype.allocate = function () { const e = this.nextId++; return 65536 === this.nextId && (this.nextId = 1), e }, n.prototype.getLastAllocated = function () { return 1 === this.nextId ? 65535 : this.nextId - 1 }, n.prototype.register = function (e) { return !0 }, n.prototype.deallocate = function (e) {}, n.prototype.clear = function () {}, t.exports = n }, {}], 8: [function (e, t, r) { "use strict"; const n = e("xtend"), i = e("readable-stream").Readable, o = { objectMode: !0 }, s = { clean: !0 }; function a(e) { if (!(this instanceof a)) return new a(e); this.options = e || {}, this.options = n(s, e), this._inflights = new Map } a.prototype.put = function (e, t) { return this._inflights.set(e.messageId, e), t && t(), this }, a.prototype.createStream = function () { const e = new i(o), t = []; let r = !1, n = 0; return this._inflights.forEach(function (e, r) { t.push(e) }), e._read = function () {!r && n < t.length ? this.push(t[n++]) : this.push(null) }, e.destroy = function () { if (r) return; const e = this; r = !0, setTimeout(function () { e.emit("close") }, 0) }, e }, a.prototype.del = function (e, t) { return (e = this._inflights.get(e.messageId)) ? (this._inflights.delete(e.messageId), t(null, e)) : t && t(new Error("missing packet")), this }, a.prototype.get = function (e, t) { return (e = this._inflights.get(e.messageId)) ? t(null, e) : t && t(new Error("missing packet")), this }, a.prototype.close = function (e) { this.options.clean && (this._inflights = null), e && e() }, t.exports = a }, { "readable-stream": 69, xtend: 81 }], 9: [function (e, t, r) { "use strict"; function n(e) { if (!(this instanceof n)) return new n(e); this.aliasToTopic = {}, this.max = e } n.prototype.put = function (e, t) { return !(0 === t || t > this.max) && (this.aliasToTopic[t] = e, this.length = Object.keys(this.aliasToTopic).length, !0) }, n.prototype.getTopicByAlias = function (e) { return this.aliasToTopic[e] }, n.prototype.clear = function () { this.aliasToTopic = {} }, t.exports = n }, {}], 10: [function (e, t, r) { "use strict"; const n = e("lru-cache"), i = e("number-allocator").NumberAllocator; function o(e) { if (!(this instanceof o)) return new o(e); e > 0 && (this.aliasToTopic = new n({ max: e }), this.topicToAlias = {}, this.numberAllocator = new i(1, e), this.max = e, this.length = 0) } o.prototype.put = function (e, t) { if (0 === t || t > this.max) return !1; const r = this.aliasToTopic.get(t); return r && delete this.topicToAlias[r], this.aliasToTopic.set(t, e), this.topicToAlias[e] = t, this.numberAllocator.use(t), this.length = this.aliasToTopic.length, !0 }, o.prototype.getTopicByAlias = function (e) { return this.aliasToTopic.get(e) }, o.prototype.getAliasByTopic = function (e) { const t = this.topicToAlias[e]; return void 0 !== t && this.aliasToTopic.get(t), t }, o.prototype.clear = function () { this.aliasToTopic.reset(), this.topicToAlias = {}, this.numberAllocator.clear(), this.length = 0 }, o.prototype.getLruAlias = function () { const e = this.numberAllocator.firstVacant(); return e || this.aliasToTopic.keys()[this.aliasToTopic.length - 1] }, t.exports = o }, { "lru-cache": 37, "number-allocator": 46 }], 11: [function (e, t, r) { "use strict"; function n(e) { const t = e.split("/"); for (let e = 0; e < t.length; e++) if ("+" !== t[e]) { if ("#" === t[e]) return e === t.length - 1; if (-1 !== t[e].indexOf("+") || -1 !== t[e].indexOf("#")) return !1 } return !0 } t.exports = { validateTopics: function (e) { if (0 === e.length) return "empty_topic_list"; for (let t = 0; t < e.length; t++) if (!n(e[t])) return e[t]; return null } } }, {}], 12: [function (e, t, r) { (function (r) { (function () { "use strict"; const n = e("../client"), i = e("../store"), o = e("url"), s = e("xtend"), a = e("debug")("mqttjs"), l = {}; function u(e, t) { if (a("connecting to an MQTT broker..."), "object" != typeof e || t || (t = e, e = null), t = t || {}, e) { const r = o.parse(e, !0); if (null != r.port && (r.port = Number(r.port)), null === (t = s(r, t)).protocol) throw new Error("Missing protocol"); t.protocol = t.protocol.replace(/:$/, "") } if (function (e) { let t; e.auth && ((t = e.auth.match(/^(.+):(.+)$/)) ? (e.username = t[1], e.password = t[2]) : e.username = e.auth) }(t), t.query && "string" == typeof t.query.clientId && (t.clientId = t.query.clientId), t.cert && t.key) { if (!t.protocol) throw new Error("Missing secure protocol key"); if (-1 === ["mqtts", "wss", "wxs", "alis"].indexOf(t.protocol)) switch (t.protocol) { case "mqtt": t.protocol = "mqtts"; break; case "ws": t.protocol = "wss"; break; case "wx": t.protocol = "wxs"; break; case "ali": t.protocol = "alis"; break; default: throw new Error('Unknown protocol for secure connection: "' + t.protocol + '"!') } } if (!l[t.protocol]) { const e = -1 !== ["mqtts", "wss"].indexOf(t.protocol); t.protocol = ["mqtt", "mqtts", "ws", "wss", "wx", "wxs", "ali", "alis"].filter(function (t, r) { return (!e || r % 2 != 0) && "function" == typeof l[t] })[0] } if (!1 === t.clean && !t.clientId) throw new Error("Missing clientId for unclean clients"); t.protocol && (t.defaultProtocol = t.protocol); const r = new n(function (e) { return t.servers && (e._reconnectCount && e._reconnectCount !== t.servers.length || (e._reconnectCount = 0), t.host = t.servers[e._reconnectCount].host, t.port = t.servers[e._reconnectCount].port, t.protocol = t.servers[e._reconnectCount].protocol ? t.servers[e._reconnectCount].protocol : t.defaultProtocol, t.hostname = t.host, e._reconnectCount++), a("calling streambuilder for", t.protocol), l[t.protocol](e, t) }, t); return r.on("error", function () {}), r } void 0 !== r && "browser" !== r.title || "function" != typeof __webpack_require__ ? (l.mqtt = e("./tcp"), l.tcp = e("./tcp"), l.ssl = e("./tls"), l.tls = e("./tls"), l.mqtts = e("./tls")) : (l.wx = e("./wx"), l.wxs = e("./wx"), l.ali = e("./ali"), l.alis = e("./ali")), l.ws = e("./ws"), l.wss = e("./ws"), t.exports = u, t.exports.connect = u, t.exports.MqttClient = n, t.exports.Store = i }).call(this) }).call(this, e("_process")) }, { "../client": 1, "../store": 8, "./ali": 2, "./tcp": 3, "./tls": 4, "./ws": 5, "./wx": 6, _process: 50, debug: 18, url: 76, xtend: 81 }], 13: [function (e, t, r) { "use strict"; r.byteLength = function (e) { var t = u(e), r = t[0], n = t[1]; return 3 * (r + n) / 4 - n }, r.toByteArray = function (e) { var t, r, n = u(e), s = n[0], a = n[1], l = new o(function (e, t, r) { return 3 * (t + r) / 4 - r }(0, s, a)), c = 0, h = a > 0 ? s - 4 : s; for (r = 0; r < h; r += 4) t = i[e.charCodeAt(r)] << 18 | i[e.charCodeAt(r + 1)] << 12 | i[e.charCodeAt(r + 2)] << 6 | i[e.charCodeAt(r + 3)], l[c++] = t >> 16 & 255, l[c++] = t >> 8 & 255, l[c++] = 255 & t; 2 === a && (t = i[e.charCodeAt(r)] << 2 | i[e.charCodeAt(r + 1)] >> 4, l[c++] = 255 & t); 1 === a && (t = i[e.charCodeAt(r)] << 10 | i[e.charCodeAt(r + 1)] << 4 | i[e.charCodeAt(r + 2)] >> 2, l[c++] = t >> 8 & 255, l[c++] = 255 & t); return l }, r.fromByteArray = function (e) { for (var t, r = e.length, i = r % 3, o = [], s = 0, a = r - i; s < a; s += 16383) o.push(c(e, s, s + 16383 > a ? a : s + 16383)); 1 === i ? (t = e[r - 1], o.push(n[t >> 2] + n[t << 4 & 63] + "==")) : 2 === i && (t = (e[r - 2] << 8) + e[r - 1], o.push(n[t >> 10] + n[t >> 4 & 63] + n[t << 2 & 63] + "=")); return o.join("") }; for (var n = [], i = [], o = "undefined" != typeof Uint8Array ? Uint8Array : Array, s = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/", a = 0, l = s.length; a < l; ++a) n[a] = s[a], i[s.charCodeAt(a)] = a; function u(e) { var t = e.length; if (t % 4 > 0) throw new Error("Invalid string. Length must be a multiple of 4"); var r = e.indexOf("="); return -1 === r && (r = t), [r, r === t ? 0 : 4 - r % 4] } function c(e, t, r) { for (var i, o, s = [], a = t; a < r; a += 3) i = (e[a] << 16 & 16711680) + (e[a + 1] << 8 & 65280) + (255 & e[a + 2]), s.push(n[(o = i) >> 18 & 63] + n[o >> 12 & 63] + n[o >> 6 & 63] + n[63 & o]); return s.join("") } i["-".charCodeAt(0)] = 62, i["_".charCodeAt(0)] = 63 }, {}], 14: [function (e, t, r) { "use strict"; const { Buffer: n } = e("buffer"), i = Symbol.for("BufferList"); function o(e) { if (!(this instanceof o)) return new o(e); o._init.call(this, e) } o._init = function (e) { Object.defineProperty(this, i, { value: !0 }), this._bufs = [], this.length = 0, e && this.append(e) }, o.prototype._new = function (e) { return new o(e) }, o.prototype._offset = function (e) { if (0 === e) return [0, 0]; let t = 0; for (let r = 0; r < this._bufs.length; r++) { const n = t + this._bufs[r].length; if (e < n || r === this._bufs.length - 1) return [r, e - t]; t = n } }, o.prototype._reverseOffset = function (e) { const t = e[0]; let r = e[1]; for (let e = 0; e < t; e++) r += this._bufs[e].length; return r }, o.prototype.get = function (e) { if (e > this.length || e < 0) return; const t = this._offset(e); return this._bufs[t[0]][t[1]] }, o.prototype.slice = function (e, t) { return "number" == typeof e && e < 0 && (e += this.length), "number" == typeof t && t < 0 && (t += this.length), this.copy(null, 0, e, t) }, o.prototype.copy = function (e, t, r, i) { if (("number" != typeof r || r < 0) && (r = 0), ("number" != typeof i || i > this.length) && (i = this.length), r >= this.length) return e || n.alloc(0); if (i <= 0) return e || n.alloc(0); const o = !!e, s = this._offset(r), a = i - r; let l = a, u = o && t || 0, c = s[1]; if (0 === r && i === this.length) { if (!o) return 1 === this._bufs.length ? this._bufs[0] : n.concat(this._bufs, this.length); for (let t = 0; t < this._bufs.length; t++) this._bufs[t].copy(e, u), u += this._bufs[t].length; return e } if (l <= this._bufs[s[0]].length - c) return o ? this._bufs[s[0]].copy(e, t, c, c + l) : this._bufs[s[0]].slice(c, c + l); o || (e = n.allocUnsafe(a)); for (let t = s[0]; t < this._bufs.length; t++) { const r = this._bufs[t].length - c; if (!(l > r)) { this._bufs[t].copy(e, u, c, c + l), u += r; break } this._bufs[t].copy(e, u, c), u += r, l -= r, c && (c = 0) } return e.length > u ? e.slice(0, u) : e }, o.prototype.shallowSlice = function (e, t) { if (e = e || 0, t = "number" != typeof t ? this.length : t, e < 0 && (e += this.length), t < 0 && (t += this.length), e === t) return this._new(); const r = this._offset(e), n = this._offset(t), i = this._bufs.slice(r[0], n[0] + 1); return 0 === n[1] ? i.pop() : i[i.length - 1] = i[i.length - 1].slice(0, n[1]), 0 !== r[1] && (i[0] = i[0].slice(r[1])), this._new(i) }, o.prototype.toString = function (e, t, r) { return this.slice(t, r).toString(e) }, o.prototype.consume = function (e) { if (e = Math.trunc(e), Number.isNaN(e) || e <= 0) return this; for (; this._bufs.length;) { if (!(e >= this._bufs[0].length)) { this._bufs[0] = this._bufs[0].slice(e), this.length -= e; break } e -= this._bufs[0].length, this.length -= this._bufs[0].length, this._bufs.shift() } return this }, o.prototype.duplicate = function () { const e = this._new(); for (let t = 0; t < this._bufs.length; t++) e.append(this._bufs[t]); return e }, o.prototype.append = function (e) { if (null == e) return this; if (e.buffer) this._appendBuffer(n.from(e.buffer, e.byteOffset, e.byteLength)); else if (Array.isArray(e)) for (let t = 0; t < e.length; t++) this.append(e[t]); else if (this._isBufferList(e)) for (let t = 0; t < e._bufs.length; t++) this.append(e._bufs[t]); else "number" == typeof e && (e = e.toString()), this._appendBuffer(n.from(e)); return this }, o.prototype._appendBuffer = function (e) { this._bufs.push(e), this.length += e.length }, o.prototype.indexOf = function (e, t, r) { if (void 0 === r && "string" == typeof t && (r = t, t = void 0), "function" == typeof e || Array.isArray(e)) throw new TypeError('The "value" argument must be one of type string, Buffer, BufferList, or Uint8Array.'); if ("number" == typeof e ? e = n.from([e]) : "string" == typeof e ? e = n.from(e, r) : this._isBufferList(e) ? e = e.slice() : Array.isArray(e.buffer) ? e = n.from(e.buffer, e.byteOffset, e.byteLength) : n.isBuffer(e) || (e = n.from(e)), t = Number(t || 0), isNaN(t) && (t = 0), t < 0 && (t = this.length + t), t < 0 && (t = 0), 0 === e.length) return t > this.length ? this.length : t; const i = this._offset(t); let o = i[0], s = i[1]; for (; o < this._bufs.length; o++) { const t = this._bufs[o]; for (; s < t.length;) { if (t.length - s >= e.length) { const r = t.indexOf(e, s); if (-1 !== r) return this._reverseOffset([o, r]); s = t.length - e.length + 1 } else { const t = this._reverseOffset([o, s]); if (this._match(t, e)) return t; s++ } } s = 0 } return -1 }, o.prototype._match = function (e, t) { if (this.length - e < t.length) return !1; for (let r = 0; r < t.length; r++) if (this.get(e + r) !== t[r]) return !1; return !0 }, function () { const e = { readDoubleBE: 8, readDoubleLE: 8, readFloatBE: 4, readFloatLE: 4, readInt32BE: 4, readInt32LE: 4, readUInt32BE: 4, readUInt32LE: 4, readInt16BE: 2, readInt16LE: 2, readUInt16BE: 2, readUInt16LE: 2, readInt8: 1, readUInt8: 1, readIntBE: null, readIntLE: null, readUIntBE: null, readUIntLE: null }; for (const t in e) ! function (t) { o.prototype[t] = null === e[t] ? function (e, r) { return this.slice(e, e + r)[t](0, r) } : function (r = 0) { return this.slice(r, r + e[t])[t](0) } }(t) }(), o.prototype._isBufferList = function (e) { return e instanceof o || o.isBufferList(e) }, o.isBufferList = function (e) { return null != e && e[i] }, t.exports = o }, { buffer: 17 }], 15: [function (e, t, r) { "use strict"; const n = e("readable-stream").Duplex, i = e("inherits"), o = e("./BufferList"); function s(e) { if (!(this instanceof s)) return new s(e); if ("function" == typeof e) { this._callback = e; const t = function (e) { this._callback && (this._callback(e), this._callback = null) }.bind(this); this.on("pipe", function (e) { e.on("error", t) }), this.on("unpipe", function (e) { e.removeListener("error", t) }), e = null } o._init.call(this, e), n.call(this) } i(s, n), Object.assign(s.prototype, o.prototype), s.prototype._new = function (e) { return new s(e) }, s.prototype._write = function (e, t, r) { this._appendBuffer(e), "function" == typeof r && r() }, s.prototype._read = function (e) { if (!this.length) return this.push(null); e = Math.min(e, this.length), this.push(this.slice(0, e)), this.consume(e) }, s.prototype.end = function (e) { n.prototype.end.call(this, e), this._callback && (this._callback(null, this.slice()), this._callback = null) }, s.prototype._destroy = function (e, t) { this._bufs.length = 0, this.length = 0, t(e) }, s.prototype._isBufferList = function (e) { return e instanceof s || e instanceof o || s.isBufferList(e) }, s.isBufferList = o.isBufferList, t.exports = s, t.exports.BufferListStream = s, t.exports.BufferList = o }, { "./BufferList": 14, inherits: 24, "readable-stream": 69 }], 16: [function (e, t, r) {}, {}], 17: [function (e, t, r) { (function (t) { (function () { "use strict"; var t = e("base64-js"), n = e("ieee754"); r.Buffer = s, r.SlowBuffer = function (e) {+e != e && (e = 0); return s.alloc(+e) }, r.INSPECT_MAX_BYTES = 50; var i = 2147483647; function o(e) { if (e > i) throw new RangeError('The value "' + e + '" is invalid for option "size"'); var t = new Uint8Array(e); return t.__proto__ = s.prototype, t } function s(e, t, r) { if ("number" == typeof e) { if ("string" == typeof t) throw new TypeError('The "string" argument must be of type string. Received type number'); return u(e) } return a(e, t, r) } function a(e, t, r) { if ("string" == typeof e) return function (e, t) { "string" == typeof t && "" !== t || (t = "utf8"); if (!s.isEncoding(t)) throw new TypeError("Unknown encoding: " + t); var r = 0 | f(e, t), n = o(r), i = n.write(e, t); i !== r && (n = n.slice(0, i)); return n }(e, t); if (ArrayBuffer.isView(e)) return c(e); if (null == e) throw TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type " + typeof e); if (q(e, ArrayBuffer) || e && q(e.buffer, ArrayBuffer)) return function (e, t, r) { if (t < 0 || e.byteLength < t) throw new RangeError('"offset" is outside of buffer bounds'); if (e.byteLength < t + (r || 0)) throw new RangeError('"length" is outside of buffer bounds'); var n; n = void 0 === t && void 0 === r ? new Uint8Array(e) : void 0 === r ? new Uint8Array(e, t) : new Uint8Array(e, t, r); return n.__proto__ = s.prototype, n }(e, t, r); if ("number" == typeof e) throw new TypeError('The "value" argument must not be of type number. Received type number'); var n = e.valueOf && e.valueOf(); if (null != n && n !== e) return s.from(n, t, r); var i = function (e) { if (s.isBuffer(e)) { var t = 0 | h(e.length), r = o(t); return 0 === r.length ? r : (e.copy(r, 0, 0, t), r) } if (void 0 !== e.length) return "number" != typeof e.length || D(e.length) ? o(0) : c(e); if ("Buffer" === e.type && Array.isArray(e.data)) return c(e.data) }(e); if (i) return i; if ("undefined" != typeof Symbol && null != Symbol.toPrimitive && "function" == typeof e[Symbol.toPrimitive]) return s.from(e[Symbol.toPrimitive]("string"), t, r); throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type " + typeof e) } function l(e) { if ("number" != typeof e) throw new TypeError('"size" argument must be of type number'); if (e < 0) throw new RangeError('The value "' + e + '" is invalid for option "size"') } function u(e) { return l(e), o(e < 0 ? 0 : 0 | h(e)) } function c(e) { for (var t = e.length < 0 ? 0 : 0 | h(e.length), r = o(t), n = 0; n < t; n += 1) r[n] = 255 & e[n]; return r } function h(e) { if (e >= i) throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x" + i.toString(16) + " bytes"); return 0 | e } function f(e, t) { if (s.isBuffer(e)) return e.length; if (ArrayBuffer.isView(e) || q(e, ArrayBuffer)) return e.byteLength; if ("string" != typeof e) throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type ' + typeof e); var r = e.length, n = arguments.length > 2 && !0 === arguments[2]; if (!n && 0 === r) return 0; for (var i = !1;;) switch (t) { case "ascii": case "latin1": case "binary": return r; case "utf8": case "utf-8": return L(e).length; case "ucs2": case "ucs-2": case "utf16le": case "utf-16le": return 2 * r; case "hex": return r >>> 1; case "base64": return j(e).length; default: if (i) return n ? -1 : L(e).length; t = ("" + t).toLowerCase(), i = !0 } } function p(e, t, r) { var n = e[t]; e[t] = e[r], e[r] = n } function d(e, t, r, n, i) { if (0 === e.length) return -1; if ("string" == typeof r ? (n = r, r = 0) : r > 2147483647 ? r = 2147483647 : r < -2147483648 && (r = -2147483648), D(r = +r) && (r = i ? 0 : e.length - 1), r < 0 && (r = e.length + r), r >= e.length) { if (i) return -1; r = e.length - 1 } else if (r < 0) { if (!i) return -1; r = 0 } if ("string" == typeof t && (t = s.from(t, n)), s.isBuffer(t)) return 0 === t.length ? -1 : g(e, t, r, n, i); if ("number" == typeof t) return t &= 255, "function" == typeof Uint8Array.prototype.indexOf ? i ? Uint8Array.prototype.indexOf.call(e, t, r) : Uint8Array.prototype.lastIndexOf.call(e, t, r) : g(e, [t], r, n, i); throw new TypeError("val must be string, number or Buffer") } function g(e, t, r, n, i) { var o, s = 1, a = e.length, l = t.length; if (void 0 !== n && ("ucs2" === (n = String(n).toLowerCase()) || "ucs-2" === n || "utf16le" === n || "utf-16le" === n)) { if (e.length < 2 || t.length < 2) return -1; s = 2, a /= 2, l /= 2, r /= 2 } function u(e, t) { return 1 === s ? e[t] : e.readUInt16BE(t * s) } if (i) { var c = -1; for (o = r; o < a; o++) if (u(e, o) === u(t, -1 === c ? 0 : o - c)) { if (-1 === c && (c = o), o - c + 1 === l) return c * s } else -1 !== c && (o -= o - c), c = -1 } else for (r + l > a && (r = a - l), o = r; o >= 0; o--) { for (var h = !0, f = 0; f < l; f++) if (u(e, o + f) !== u(t, f)) { h = !1; break } if (h) return o } return -1 } function y(e, t, r, n) { r = Number(r) || 0; var i = e.length - r; n ? (n = Number(n)) > i && (n = i) : n = i; var o = t.length; n > o / 2 && (n = o / 2); for (var s = 0; s < n; ++s) { var a = parseInt(t.substr(2 * s, 2), 16); if (D(a)) return s; e[r + s] = a } return s } function b(e, t, r, n) { return U(L(t, e.length - r), e, r, n) } function m(e, t, r, n) { return U(function (e) { for (var t = [], r = 0; r < e.length; ++r) t.push(255 & e.charCodeAt(r)); return t }(t), e, r, n) } function v(e, t, r, n) { return m(e, t, r, n) } function w(e, t, r, n) { return U(j(t), e, r, n) } function _(e, t, r, n) { return U(function (e, t) { for (var r, n, i, o = [], s = 0; s < e.length && !((t -= 2) < 0); ++s) r = e.charCodeAt(s), n = r >> 8, i = r % 256, o.push(i), o.push(n); return o }(t, e.length - r), e, r, n) } function k(e, r, n) { return 0 === r && n === e.length ? t.fromByteArray(e) : t.fromByteArray(e.slice(r, n)) } function S(e, t, r) { r = Math.min(e.length, r); for (var n = [], i = t; i < r;) { var o, s, a, l, u = e[i], c = null, h = u > 239 ? 4 : u > 223 ? 3 : u > 191 ? 2 : 1; if (i + h <= r) switch (h) { case 1: u < 128 && (c = u); break; case 2: 128 == (192 & (o = e[i + 1])) && (l = (31 & u) << 6 | 63 & o) > 127 && (c = l); break; case 3: o = e[i + 1], s = e[i + 2], 128 == (192 & o) && 128 == (192 & s) && (l = (15 & u) << 12 | (63 & o) << 6 | 63 & s) > 2047 && (l < 55296 || l > 57343) && (c = l); break; case 4: o = e[i + 1], s = e[i + 2], a = e[i + 3], 128 == (192 & o) && 128 == (192 & s) && 128 == (192 & a) && (l = (15 & u) << 18 | (63 & o) << 12 | (63 & s) << 6 | 63 & a) > 65535 && l < 1114112 && (c = l) } null === c ? (c = 65533, h = 1) : c > 65535 && (c -= 65536, n.push(c >>> 10 & 1023 | 55296), c = 56320 | 1023 & c), n.push(c), i += h } return function (e) { var t = e.length; if (t <= E) return String.fromCharCode.apply(String, e); var r = "", n = 0; for (; n < t;) r += String.fromCharCode.apply(String, e.slice(n, n += E)); return r }(n) } r.kMaxLength = i, s.TYPED_ARRAY_SUPPORT = function () { try { var e = new Uint8Array(1); return e.__proto__ = { __proto__: Uint8Array.prototype, foo: function () { return 42 } }, 42 === e.foo() } catch (e) { return !1 } }(), s.TYPED_ARRAY_SUPPORT || "undefined" == typeof console || "function" != typeof console.error || console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support."), Object.defineProperty(s.prototype, "parent", { enumerable: !0, get: function () { if (s.isBuffer(this)) return this.buffer } }), Object.defineProperty(s.prototype, "offset", { enumerable: !0, get: function () { if (s.isBuffer(this)) return this.byteOffset } }), "undefined" != typeof Symbol && null != Symbol.species && s[Symbol.species] === s && Object.defineProperty(s, Symbol.species, { value: null, configurable: !0, enumerable: !1, writable: !1 }), s.poolSize = 8192, s.from = function (e, t, r) { return a(e, t, r) }, s.prototype.__proto__ = Uint8Array.prototype, s.__proto__ = Uint8Array, s.alloc = function (e, t, r) { return function (e, t, r) { return l(e), e <= 0 ? o(e) : void 0 !== t ? "string" == typeof r ? o(e).fill(t, r) : o(e).fill(t) : o(e) }(e, t, r) }, s.allocUnsafe = function (e) { return u(e) }, s.allocUnsafeSlow = function (e) { return u(e) }, s.isBuffer = function (e) { return null != e && !0 === e._isBuffer && e !== s.prototype }, s.compare = function (e, t) { if (q(e, Uint8Array) && (e = s.from(e, e.offset, e.byteLength)), q(t, Uint8Array) && (t = s.from(t, t.offset, t.byteLength)), !s.isBuffer(e) || !s.isBuffer(t)) throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array'); if (e === t) return 0; for (var r = e.length, n = t.length, i = 0, o = Math.min(r, n); i < o; ++i) if (e[i] !== t[i]) { r = e[i], n = t[i]; break } return r < n ? -1 : n < r ? 1 : 0 }, s.isEncoding = function (e) { switch (String(e).toLowerCase()) { case "hex": case "utf8": case "utf-8": case "ascii": case "latin1": case "binary": case "base64": case "ucs2": case "ucs-2": case "utf16le": case "utf-16le": return !0; default: return !1 } }, s.concat = function (e, t) { if (!Array.isArray(e)) throw new TypeError('"list" argument must be an Array of Buffers'); if (0 === e.length) return s.alloc(0); var r; if (void 0 === t) for (t = 0, r = 0; r < e.length; ++r) t += e[r].length; var n = s.allocUnsafe(t), i = 0; for (r = 0; r < e.length; ++r) { var o = e[r]; if (q(o, Uint8Array) && (o = s.from(o)), !s.isBuffer(o)) throw new TypeError('"list" argument must be an Array of Buffers'); o.copy(n, i), i += o.length } return n }, s.byteLength = f, s.prototype._isBuffer = !0, s.prototype.swap16 = function () { var e = this.length; if (e % 2 != 0) throw new RangeError("Buffer size must be a multiple of 16-bits"); for (var t = 0; t < e; t += 2) p(this, t, t + 1); return this }, s.prototype.swap32 = function () { var e = this.length; if (e % 4 != 0) throw new RangeError("Buffer size must be a multiple of 32-bits"); for (var t = 0; t < e; t += 4) p(this, t, t + 3), p(this, t + 1, t + 2); return this }, s.prototype.swap64 = function () { var e = this.length; if (e % 8 != 0) throw new RangeError("Buffer size must be a multiple of 64-bits"); for (var t = 0; t < e; t += 8) p(this, t, t + 7), p(this, t + 1, t + 6), p(this, t + 2, t + 5), p(this, t + 3, t + 4); return this }, s.prototype.toString = function () { var e = this.length; return 0 === e ? "" : 0 === arguments.length ? S(this, 0, e) : function (e, t, r) { var n = !1; if ((void 0 === t || t < 0) && (t = 0), t > this.length) return ""; if ((void 0 === r || r > this.length) && (r = this.length), r <= 0) return ""; if ((r >>>= 0) <= (t >>>= 0)) return ""; for (e || (e = "utf8");;) switch (e) { case "hex": return x(this, t, r); case "utf8": case "utf-8": return S(this, t, r); case "ascii": return C(this, t, r); case "latin1": case "binary": return T(this, t, r); case "base64": return k(this, t, r); case "ucs2": case "ucs-2": case "utf16le": case "utf-16le": return A(this, t, r); default: if (n) throw new TypeError("Unknown encoding: " + e); e = (e + "").toLowerCase(), n = !0 } }.apply(this, arguments) }, s.prototype.toLocaleString = s.prototype.toString, s.prototype.equals = function (e) { if (!s.isBuffer(e)) throw new TypeError("Argument must be a Buffer"); return this === e || 0 === s.compare(this, e) }, s.prototype.inspect = function () { var e = "", t = r.INSPECT_MAX_BYTES; return e = this.toString("hex", 0, t).replace(/(.{2})/g, "$1 ").trim(), this.length > t && (e += " ... "), "" }, s.prototype.compare = function (e, t, r, n, i) { if (q(e, Uint8Array) && (e = s.from(e, e.offset, e.byteLength)), !s.isBuffer(e)) throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type ' + typeof e); if (void 0 === t && (t = 0), void 0 === r && (r = e ? e.length : 0), void 0 === n && (n = 0), void 0 === i && (i = this.length), t < 0 || r > e.length || n < 0 || i > this.length) throw new RangeError("out of range index"); if (n >= i && t >= r) return 0; if (n >= i) return -1; if (t >= r) return 1; if (t >>>= 0, r >>>= 0, n >>>= 0, i >>>= 0, this === e) return 0; for (var o = i - n, a = r - t, l = Math.min(o, a), u = this.slice(n, i), c = e.slice(t, r), h = 0; h < l; ++h) if (u[h] !== c[h]) { o = u[h], a = c[h]; break } return o < a ? -1 : a < o ? 1 : 0 }, s.prototype.includes = function (e, t, r) { return -1 !== this.indexOf(e, t, r) }, s.prototype.indexOf = function (e, t, r) { return d(this, e, t, r, !0) }, s.prototype.lastIndexOf = function (e, t, r) { return d(this, e, t, r, !1) }, s.prototype.write = function (e, t, r, n) { if (void 0 === t) n = "utf8", r = this.length, t = 0; else if (void 0 === r && "string" == typeof t) n = t, r = this.length, t = 0; else { if (!isFinite(t)) throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported"); t >>>= 0, isFinite(r) ? (r >>>= 0, void 0 === n && (n = "utf8")) : (n = r, r = void 0) } var i = this.length - t; if ((void 0 === r || r > i) && (r = i), e.length > 0 && (r < 0 || t < 0) || t > this.length) throw new RangeError("Attempt to write outside buffer bounds"); n || (n = "utf8"); for (var o = !1;;) switch (n) { case "hex": return y(this, e, t, r); case "utf8": case "utf-8": return b(this, e, t, r); case "ascii": return m(this, e, t, r); case "latin1": case "binary": return v(this, e, t, r); case "base64": return w(this, e, t, r); case "ucs2": case "ucs-2": case "utf16le": case "utf-16le": return _(this, e, t, r); default: if (o) throw new TypeError("Unknown encoding: " + n); n = ("" + n).toLowerCase(), o = !0 } }, s.prototype.toJSON = function () { return { type: "Buffer", data: Array.prototype.slice.call(this._arr || this, 0) } }; var E = 4096; function C(e, t, r) { var n = ""; r = Math.min(e.length, r); for (var i = t; i < r; ++i) n += String.fromCharCode(127 & e[i]); return n } function T(e, t, r) { var n = ""; r = Math.min(e.length, r); for (var i = t; i < r; ++i) n += String.fromCharCode(e[i]); return n } function x(e, t, r) { var n = e.length; (!t || t < 0) && (t = 0), (!r || r < 0 || r > n) && (r = n); for (var i = "", o = t; o < r; ++o) i += N(e[o]); return i } function A(e, t, r) { for (var n = e.slice(t, r), i = "", o = 0; o < n.length; o += 2) i += String.fromCharCode(n[o] + 256 * n[o + 1]); return i } function I(e, t, r) { if (e % 1 != 0 || e < 0) throw new RangeError("offset is not uint"); if (e + t > r) throw new RangeError("Trying to access beyond buffer length") } function P(e, t, r, n, i, o) { if (!s.isBuffer(e)) throw new TypeError('"buffer" argument must be a Buffer instance'); if (t > i || t < o) throw new RangeError('"value" argument is out of bounds'); if (r + n > e.length) throw new RangeError("Index out of range") } function O(e, t, r, n, i, o) { if (r + n > e.length) throw new RangeError("Index out of range"); if (r < 0) throw new RangeError("Index out of range") } function B(e, t, r, i, o) { return t = +t, r >>>= 0, o || O(e, 0, r, 4), n.write(e, t, r, i, 23, 4), r + 4 } function R(e, t, r, i, o) { return t = +t, r >>>= 0, o || O(e, 0, r, 8), n.write(e, t, r, i, 52, 8), r + 8 } s.prototype.slice = function (e, t) { var r = this.length; e = ~~e, t = void 0 === t ? r : ~~t, e < 0 ? (e += r) < 0 && (e = 0) : e > r && (e = r), t < 0 ? (t += r) < 0 && (t = 0) : t > r && (t = r), t < e && (t = e); var n = this.subarray(e, t); return n.__proto__ = s.prototype, n }, s.prototype.readUIntLE = function (e, t, r) { e >>>= 0, t >>>= 0, r || I(e, t, this.length); for (var n = this[e], i = 1, o = 0; ++o < t && (i *= 256);) n += this[e + o] * i; return n }, s.prototype.readUIntBE = function (e, t, r) { e >>>= 0, t >>>= 0, r || I(e, t, this.length); for (var n = this[e + --t], i = 1; t > 0 && (i *= 256);) n += this[e + --t] * i; return n }, s.prototype.readUInt8 = function (e, t) { return e >>>= 0, t || I(e, 1, this.length), this[e] }, s.prototype.readUInt16LE = function (e, t) { return e >>>= 0, t || I(e, 2, this.length), this[e] | this[e + 1] << 8 }, s.prototype.readUInt16BE = function (e, t) { return e >>>= 0, t || I(e, 2, this.length), this[e] << 8 | this[e + 1] }, s.prototype.readUInt32LE = function (e, t) { return e >>>= 0, t || I(e, 4, this.length), (this[e] | this[e + 1] << 8 | this[e + 2] << 16) + 16777216 * this[e + 3] }, s.prototype.readUInt32BE = function (e, t) { return e >>>= 0, t || I(e, 4, this.length), 16777216 * this[e] + (this[e + 1] << 16 | this[e + 2] << 8 | this[e + 3]) }, s.prototype.readIntLE = function (e, t, r) { e >>>= 0, t >>>= 0, r || I(e, t, this.length); for (var n = this[e], i = 1, o = 0; ++o < t && (i *= 256);) n += this[e + o] * i; return n >= (i *= 128) && (n -= Math.pow(2, 8 * t)), n }, s.prototype.readIntBE = function (e, t, r) { e >>>= 0, t >>>= 0, r || I(e, t, this.length); for (var n = t, i = 1, o = this[e + --n]; n > 0 && (i *= 256);) o += this[e + --n] * i; return o >= (i *= 128) && (o -= Math.pow(2, 8 * t)), o }, s.prototype.readInt8 = function (e, t) { return e >>>= 0, t || I(e, 1, this.length), 128 & this[e] ? -1 * (255 - this[e] + 1) : this[e] }, s.prototype.readInt16LE = function (e, t) { e >>>= 0, t || I(e, 2, this.length); var r = this[e] | this[e + 1] << 8; return 32768 & r ? 4294901760 | r : r }, s.prototype.readInt16BE = function (e, t) { e >>>= 0, t || I(e, 2, this.length); var r = this[e + 1] | this[e] << 8; return 32768 & r ? 4294901760 | r : r }, s.prototype.readInt32LE = function (e, t) { return e >>>= 0, t || I(e, 4, this.length), this[e] | this[e + 1] << 8 | this[e + 2] << 16 | this[e + 3] << 24 }, s.prototype.readInt32BE = function (e, t) { return e >>>= 0, t || I(e, 4, this.length), this[e] << 24 | this[e + 1] << 16 | this[e + 2] << 8 | this[e + 3] }, s.prototype.readFloatLE = function (e, t) { return e >>>= 0, t || I(e, 4, this.length), n.read(this, e, !0, 23, 4) }, s.prototype.readFloatBE = function (e, t) { return e >>>= 0, t || I(e, 4, this.length), n.read(this, e, !1, 23, 4) }, s.prototype.readDoubleLE = function (e, t) { return e >>>= 0, t || I(e, 8, this.length), n.read(this, e, !0, 52, 8) }, s.prototype.readDoubleBE = function (e, t) { return e >>>= 0, t || I(e, 8, this.length), n.read(this, e, !1, 52, 8) }, s.prototype.writeUIntLE = function (e, t, r, n) { (e = +e, t >>>= 0, r >>>= 0, n) || P(this, e, t, r, Math.pow(2, 8 * r) - 1, 0); var i = 1, o = 0; for (this[t] = 255 & e; ++o < r && (i *= 256);) this[t + o] = e / i & 255; return t + r }, s.prototype.writeUIntBE = function (e, t, r, n) { (e = +e, t >>>= 0, r >>>= 0, n) || P(this, e, t, r, Math.pow(2, 8 * r) - 1, 0); var i = r - 1, o = 1; for (this[t + i] = 255 & e; --i >= 0 && (o *= 256);) this[t + i] = e / o & 255; return t + r }, s.prototype.writeUInt8 = function (e, t, r) { return e = +e, t >>>= 0, r || P(this, e, t, 1, 255, 0), this[t] = 255 & e, t + 1 }, s.prototype.writeUInt16LE = function (e, t, r) { return e = +e, t >>>= 0, r || P(this, e, t, 2, 65535, 0), this[t] = 255 & e, this[t + 1] = e >>> 8, t + 2 }, s.prototype.writeUInt16BE = function (e, t, r) { return e = +e, t >>>= 0, r || P(this, e, t, 2, 65535, 0), this[t] = e >>> 8, this[t + 1] = 255 & e, t + 2 }, s.prototype.writeUInt32LE = function (e, t, r) { return e = +e, t >>>= 0, r || P(this, e, t, 4, 4294967295, 0), this[t + 3] = e >>> 24, this[t + 2] = e >>> 16, this[t + 1] = e >>> 8, this[t] = 255 & e, t + 4 }, s.prototype.writeUInt32BE = function (e, t, r) { return e = +e, t >>>= 0, r || P(this, e, t, 4, 4294967295, 0), this[t] = e >>> 24, this[t + 1] = e >>> 16, this[t + 2] = e >>> 8, this[t + 3] = 255 & e, t + 4 }, s.prototype.writeIntLE = function (e, t, r, n) { if (e = +e, t >>>= 0, !n) { var i = Math.pow(2, 8 * r - 1); P(this, e, t, r, i - 1, -i) } var o = 0, s = 1, a = 0; for (this[t] = 255 & e; ++o < r && (s *= 256);) e < 0 && 0 === a && 0 !== this[t + o - 1] && (a = 1), this[t + o] = (e / s >> 0) - a & 255; return t + r }, s.prototype.writeIntBE = function (e, t, r, n) { if (e = +e, t >>>= 0, !n) { var i = Math.pow(2, 8 * r - 1); P(this, e, t, r, i - 1, -i) } var o = r - 1, s = 1, a = 0; for (this[t + o] = 255 & e; --o >= 0 && (s *= 256);) e < 0 && 0 === a && 0 !== this[t + o + 1] && (a = 1), this[t + o] = (e / s >> 0) - a & 255; return t + r }, s.prototype.writeInt8 = function (e, t, r) { return e = +e, t >>>= 0, r || P(this, e, t, 1, 127, -128), e < 0 && (e = 255 + e + 1), this[t] = 255 & e, t + 1 }, s.prototype.writeInt16LE = function (e, t, r) { return e = +e, t >>>= 0, r || P(this, e, t, 2, 32767, -32768), this[t] = 255 & e, this[t + 1] = e >>> 8, t + 2 }, s.prototype.writeInt16BE = function (e, t, r) { return e = +e, t >>>= 0, r || P(this, e, t, 2, 32767, -32768), this[t] = e >>> 8, this[t + 1] = 255 & e, t + 2 }, s.prototype.writeInt32LE = function (e, t, r) { return e = +e, t >>>= 0, r || P(this, e, t, 4, 2147483647, -2147483648), this[t] = 255 & e, this[t + 1] = e >>> 8, this[t + 2] = e >>> 16, this[t + 3] = e >>> 24, t + 4 }, s.prototype.writeInt32BE = function (e, t, r) { return e = +e, t >>>= 0, r || P(this, e, t, 4, 2147483647, -2147483648), e < 0 && (e = 4294967295 + e + 1), this[t] = e >>> 24, this[t + 1] = e >>> 16, this[t + 2] = e >>> 8, this[t + 3] = 255 & e, t + 4 }, s.prototype.writeFloatLE = function (e, t, r) { return B(this, e, t, !0, r) }, s.prototype.writeFloatBE = function (e, t, r) { return B(this, e, t, !1, r) }, s.prototype.writeDoubleLE = function (e, t, r) { return R(this, e, t, !0, r) }, s.prototype.writeDoubleBE = function (e, t, r) { return R(this, e, t, !1, r) }, s.prototype.copy = function (e, t, r, n) { if (!s.isBuffer(e)) throw new TypeError("argument should be a Buffer"); if (r || (r = 0), n || 0 === n || (n = this.length), t >= e.length && (t = e.length), t || (t = 0), n > 0 && n < r && (n = r), n === r) return 0; if (0 === e.length || 0 === this.length) return 0; if (t < 0) throw new RangeError("targetStart out of bounds"); if (r < 0 || r >= this.length) throw new RangeError("Index out of range"); if (n < 0) throw new RangeError("sourceEnd out of bounds"); n > this.length && (n = this.length), e.length - t < n - r && (n = e.length - t + r); var i = n - r; if (this === e && "function" == typeof Uint8Array.prototype.copyWithin) this.copyWithin(t, r, n); else if (this === e && r < t && t < n) for (var o = i - 1; o >= 0; --o) e[o + t] = this[o + r]; else Uint8Array.prototype.set.call(e, this.subarray(r, n), t); return i }, s.prototype.fill = function (e, t, r, n) { if ("string" == typeof e) { if ("string" == typeof t ? (n = t, t = 0, r = this.length) : "string" == typeof r && (n = r, r = this.length), void 0 !== n && "string" != typeof n) throw new TypeError("encoding must be a string"); if ("string" == typeof n && !s.isEncoding(n)) throw new TypeError("Unknown encoding: " + n); if (1 === e.length) { var i = e.charCodeAt(0); ("utf8" === n && i < 128 || "latin1" === n) && (e = i) } } else "number" == typeof e && (e &= 255); if (t < 0 || this.length < t || this.length < r) throw new RangeError("Out of range index"); if (r <= t) return this; var o; if (t >>>= 0, r = void 0 === r ? this.length : r >>> 0, e || (e = 0), "number" == typeof e) for (o = t; o < r; ++o) this[o] = e; else { var a = s.isBuffer(e) ? e : s.from(e, n), l = a.length; if (0 === l) throw new TypeError('The value "' + e + '" is invalid for argument "value"'); for (o = 0; o < r - t; ++o) this[o + t] = a[o % l] } return this }; var M = /[^+/0-9A-Za-z-_]/g; function N(e) { return e < 16 ? "0" + e.toString(16) : e.toString(16) } function L(e, t) { var r; t = t || 1 / 0; for (var n = e.length, i = null, o = [], s = 0; s < n; ++s) { if ((r = e.charCodeAt(s)) > 55295 && r < 57344) { if (!i) { if (r > 56319) { (t -= 3) > -1 && o.push(239, 191, 189); continue } if (s + 1 === n) { (t -= 3) > -1 && o.push(239, 191, 189); continue } i = r; continue } if (r < 56320) { (t -= 3) > -1 && o.push(239, 191, 189), i = r; continue } r = 65536 + (i - 55296 << 10 | r - 56320) } else i && (t -= 3) > -1 && o.push(239, 191, 189); if (i = null, r < 128) { if ((t -= 1) < 0) break; o.push(r) } else if (r < 2048) { if ((t -= 2) < 0) break; o.push(r >> 6 | 192, 63 & r | 128) } else if (r < 65536) { if ((t -= 3) < 0) break; o.push(r >> 12 | 224, r >> 6 & 63 | 128, 63 & r | 128) } else { if (!(r < 1114112)) throw new Error("Invalid code point"); if ((t -= 4) < 0) break; o.push(r >> 18 | 240, r >> 12 & 63 | 128, r >> 6 & 63 | 128, 63 & r | 128) } } return o } function j(e) { return t.toByteArray(function (e) { if ((e = (e = e.split("=")[0]).trim().replace(M, "")).length < 2) return ""; for (; e.length % 4 != 0;) e += "="; return e }(e)) } function U(e, t, r, n) { for (var i = 0; i < n && !(i + r >= t.length || i >= e.length); ++i) t[i + r] = e[i]; return i } function q(e, t) { return e instanceof t || null != e && null != e.constructor && null != e.constructor.name && e.constructor.name === t.name } function D(e) { return e != e } }).call(this) }).call(this, e("buffer").Buffer) }, { "base64-js": 13, buffer: 17, ieee754: 23 }], 18: [function (e, t, r) { (function (n) { (function () { r.formatArgs = function (e) { if (e[0] = (this.useColors ? "%c" : "") + this.namespace + (this.useColors ? " %c" : " ") + e[0] + (this.useColors ? "%c " : " ") + "+" + t.exports.humanize(this.diff), !this.useColors) return; const r = "color: " + this.color; e.splice(1, 0, r, "color: inherit"); let n = 0, i = 0; e[0].replace(/%[a-zA-Z%]/g, e => { "%%" !== e && "%c" === e && (i = ++n) }), e.splice(i, 0, r) }, r.save = function (e) { try { e ? r.storage.setItem("debug", e) : r.storage.removeItem("debug") } catch (e) {} }, r.load = function () { let e; try { e = r.storage.getItem("debug") } catch (e) {}!e && void 0 !== n && "env" in n && (e = n.env.DEBUG); return e }, r.useColors = function () { if ("undefined" != typeof window && window.process && ("renderer" === window.process.type || window.process.__nwjs)) return !0; if ("undefined" != typeof navigator && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)) return !1; return "undefined" != typeof document && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance || "undefined" != typeof window && window.console && (window.console.firebug || window.console.exception && window.console.table) || "undefined" != typeof navigator && navigator.userAgent && navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/) && parseInt(RegExp.$1, 10) >= 31 || "undefined" != typeof navigator && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/) }, r.storage = function () { try { return localStorage } catch (e) {} }(), r.destroy = (() => { let e = !1; return () => { e || (e = !0, console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")) } })(), r.colors = ["#0000CC", "#0000FF", "#0033CC", "#0033FF", "#0066CC", "#0066FF", "#0099CC", "#0099FF", "#00CC00", "#00CC33", "#00CC66", "#00CC99", "#00CCCC", "#00CCFF", "#3300CC", "#3300FF", "#3333CC", "#3333FF", "#3366CC", "#3366FF", "#3399CC", "#3399FF", "#33CC00", "#33CC33", "#33CC66", "#33CC99", "#33CCCC", "#33CCFF", "#6600CC", "#6600FF", "#6633CC", "#6633FF", "#66CC00", "#66CC33", "#9900CC", "#9900FF", "#9933CC", "#9933FF", "#99CC00", "#99CC33", "#CC0000", "#CC0033", "#CC0066", "#CC0099", "#CC00CC", "#CC00FF", "#CC3300", "#CC3333", "#CC3366", "#CC3399", "#CC33CC", "#CC33FF", "#CC6600", "#CC6633", "#CC9900", "#CC9933", "#CCCC00", "#CCCC33", "#FF0000", "#FF0033", "#FF0066", "#FF0099", "#FF00CC", "#FF00FF", "#FF3300", "#FF3333", "#FF3366", "#FF3399", "#FF33CC", "#FF33FF", "#FF6600", "#FF6633", "#FF9900", "#FF9933", "#FFCC00", "#FFCC33"], r.log = console.debug || console.log || (() => {}), t.exports = e("./common")(r); const { formatters: i } = t.exports; i.j = function (e) { try { return JSON.stringify(e) } catch (e) { return "[UnexpectedJSONParseError]: " + e.message } } }).call(this) }).call(this, e("_process")) }, { "./common": 19, _process: 50 }], 19: [function (e, t, r) { t.exports = function (t) { function r(e) { let t, i, o, s = null; function a(...e) { if (!a.enabled) return; const n = a, i = Number(new Date), o = i - (t || i); n.diff = o, n.prev = t, n.curr = i, t = i, e[0] = r.coerce(e[0]), "string" != typeof e[0] && e.unshift("%O"); let s = 0; e[0] = e[0].replace(/%([a-zA-Z%])/g, (t, i) => { if ("%%" === t) return "%"; s++; const o = r.formatters[i]; if ("function" == typeof o) { const r = e[s]; t = o.call(n, r), e.splice(s, 1), s-- } return t }), r.formatArgs.call(n, e), (n.log || r.log).apply(n, e) } return a.namespace = e, a.useColors = r.useColors(), a.color = r.selectColor(e), a.extend = n, a.destroy = r.destroy, Object.defineProperty(a, "enabled", { enumerable: !0, configurable: !1, get: () => null !== s ? s : (i !== r.namespaces && (i = r.namespaces, o = r.enabled(e)), o), set: e => { s = e } }), "function" == typeof r.init && r.init(a), a } function n(e, t) { const n = r(this.namespace + (void 0 === t ? ":" : t) + e); return n.log = this.log, n } function i(e) { return e.toString().substring(2, e.toString().length - 2).replace(/\.\*\?$/, "*") } return r.debug = r, r.default = r, r.coerce = function (e) { return e instanceof Error ? e.stack || e.message : e }, r.disable = function () { const e = [...r.names.map(i), ...r.skips.map(i).map(e => "-" + e)].join(","); return r.enable(""), e }, r.enable = function (e) { let t; r.save(e), r.namespaces = e, r.names = [], r.skips = []; const n = ("string" == typeof e ? e : "").split(/[\s,]+/), i = n.length; for (t = 0; t < i; t++) n[t] && ("-" === (e = n[t].replace(/\*/g, ".*?"))[0] ? r.skips.push(new RegExp("^" + e.substr(1) + "$")) : r.names.push(new RegExp("^" + e + "$"))) }, r.enabled = function (e) { if ("*" === e[e.length - 1]) return !0; let t, n; for (t = 0, n = r.skips.length; t < n; t++) if (r.skips[t].test(e)) return !1; for (t = 0, n = r.names.length; t < n; t++) if (r.names[t].test(e)) return !0; return !1 }, r.humanize = e("ms"), r.destroy = function () { console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.") }, Object.keys(t).forEach(e => { r[e] = t[e] }), r.names = [], r.skips = [], r.formatters = {}, r.selectColor = function (e) { let t = 0; for (let r = 0; r < e.length; r++) t = (t << 5) - t + e.charCodeAt(r), t |= 0; return r.colors[Math.abs(t) % r.colors.length] }, r.enable(r.load()), r } }, { ms: 45 }], 20: [function (e, t, r) { (function (r, n) { (function () { var i = e("readable-stream"), o = e("end-of-stream"), s = e("inherits"), a = e("stream-shift"), l = n.from && n.from !== Uint8Array.from ? n.from([0]) : new n([0]), u = function (e, t) { e._corked ? e.once("uncork", t) : t() }, c = function (e, t) { return function (r) { r ? function (e, t) { e._autoDestroy && e.destroy(t) }(e, "premature close" === r.message ? null : r) : t && !e._ended && e.end() } }, h = function () {}, f = function (e, t, r) { if (!(this instanceof f)) return new f(e, t, r); i.Duplex.call(this, r), this._writable = null, this._readable = null, this._readable2 = null, this._autoDestroy = !r || !1 !== r.autoDestroy, this._forwardDestroy = !r || !1 !== r.destroy, this._forwardEnd = !r || !1 !== r.end, this._corked = 1, this._ondrain = null, this._drained = !1, this._forwarding = !1, this._unwrite = null, this._unread = null, this._ended = !1, this.destroyed = !1, e && this.setWritable(e), t && this.setReadable(t) }; s(f, i.Duplex), f.obj = function (e, t, r) { return r || (r = {}), r.objectMode = !0, r.highWaterMark = 16, new f(e, t, r) }, f.prototype.cork = function () { 1 == ++this._corked && this.emit("cork") }, f.prototype.uncork = function () { this._corked && 0 == --this._corked && this.emit("uncork") }, f.prototype.setWritable = function (e) { if (this._unwrite && this._unwrite(), this.destroyed) e && e.destroy && e.destroy(); else if (null !== e && !1 !== e) { var t = this, n = o(e, { writable: !0, readable: !1 }, c(this, this._forwardEnd)), i = function () { var e = t._ondrain; t._ondrain = null, e && e() }; this._unwrite && r.nextTick(i), this._writable = e, this._writable.on("drain", i), this._unwrite = function () { t._writable.removeListener("drain", i), n() }, this.uncork() } else this.end() }, f.prototype.setReadable = function (e) { if (this._unread && this._unread(), this.destroyed) e && e.destroy && e.destroy(); else { if (null === e || !1 === e) return this.push(null), void this.resume(); var t, r = this, n = o(e, { writable: !1, readable: !0 }, c(this)), s = function () { r._forward() }, a = function () { r.push(null) }; this._drained = !0, this._readable = e, this._readable2 = e._readableState ? e : (t = e, new i.Readable({ objectMode: !0, highWaterMark: 16 }).wrap(t)), this._readable2.on("readable", s), this._readable2.on("end", a), this._unread = function () { r._readable2.removeListener("readable", s), r._readable2.removeListener("end", a), n() }, this._forward() } }, f.prototype._read = function () { this._drained = !0, this._forward() }, f.prototype._forward = function () { if (!this._forwarding && this._readable2 && this._drained) { var e; for (this._forwarding = !0; this._drained && null !== (e = a(this._readable2));) this.destroyed || (this._drained = this.push(e)); this._forwarding = !1 } }, f.prototype.destroy = function (e, t) { if (t || (t = h), this.destroyed) return t(null); this.destroyed = !0; var n = this; r.nextTick(function () { n._destroy(e), t(null) }) }, f.prototype._destroy = function (e) { if (e) { var t = this._ondrain; this._ondrain = null, t ? t(e) : this.emit("error", e) } this._forwardDestroy && (this._readable && this._readable.destroy && this._readable.destroy(), this._writable && this._writable.destroy && this._writable.destroy()), this.emit("close") }, f.prototype._write = function (e, t, r) { if (!this.destroyed) return this._corked ? u(this, this._write.bind(this, e, t, r)) : e === l ? this._finish(r) : this._writable ? void(!1 === this._writable.write(e) ? this._ondrain = r : this.destroyed || r()) : r() }, f.prototype._finish = function (e) { var t = this; this.emit("preend"), u(this, function () { var r, n; r = t._forwardEnd && t._writable, n = function () {!1 === t._writableState.prefinished && (t._writableState.prefinished = !0), t.emit("prefinish"), u(t, e) }, r ? r._writableState && r._writableState.finished ? n() : r._writableState ? r.end(n) : (r.end(), n()) : n() }) }, f.prototype.end = function (e, t, r) { return "function" == typeof e ? this.end(null, null, e) : "function" == typeof t ? this.end(e, null, t) : (this._ended = !0, e && this.write(e), this._writableState.ending || this._writableState.destroyed || this.write(l), i.Writable.prototype.end.call(this, r)) }, t.exports = f }).call(this) }).call(this, e("_process"), e("buffer").Buffer) }, { _process: 50, buffer: 17, "end-of-stream": 21, inherits: 24, "readable-stream": 69, "stream-shift": 74 }], 21: [function (e, t, r) { (function (r) { (function () { var n = e("once"), i = function () {}, o = function (e, t, s) { if ("function" == typeof t) return o(e, null, t); t || (t = {}), s = n(s || i); var a = e._writableState, l = e._readableState, u = t.readable || !1 !== t.readable && e.readable, c = t.writable || !1 !== t.writable && e.writable, h = !1, f = function () { e.writable || p() }, p = function () { c = !1, u || s.call(e) }, d = function () { u = !1, c || s.call(e) }, g = function (t) { s.call(e, t ? new Error("exited with error code: " + t) : null) }, y = function (t) { s.call(e, t) }, b = function () { r.nextTick(m) }, m = function () { if (!h) return (!u || l && l.ended && !l.destroyed) && (!c || a && a.ended && !a.destroyed) ? void 0 : s.call(e, new Error("premature close")) }, v = function () { e.req.on("finish", p) }; return ! function (e) { return e.setHeader && "function" == typeof e.abort }(e) ? c && !a && (e.on("end", f), e.on("close", f)) : (e.on("complete", p), e.on("abort", b), e.req ? v() : e.on("request", v)), function (e) { return e.stdio && Array.isArray(e.stdio) && 3 === e.stdio.length }(e) && e.on("exit", g), e.on("end", d), e.on("finish", p), !1 !== t.error && e.on("error", y), e.on("close", b), function () { h = !0, e.removeListener("complete", p), e.removeListener("abort", b), e.removeListener("request", v), e.req && e.req.removeListener("finish", p), e.removeListener("end", f), e.removeListener("close", f), e.removeListener("finish", p), e.removeListener("exit", g), e.removeListener("end", d), e.removeListener("error", y), e.removeListener("close", b) } }; t.exports = o }).call(this) }).call(this, e("_process")) }, { _process: 50, once: 48 }], 22: [function (e, t, r) { var n = Object.create || function (e) { var t = function () {}; return t.prototype = e, new t }, i = Object.keys || function (e) { var t = []; for (var r in e) Object.prototype.hasOwnProperty.call(e, r) && t.push(r); return r }, o = Function.prototype.bind || function (e) { var t = this; return function () { return t.apply(e, arguments) } }; function s() { this._events && Object.prototype.hasOwnProperty.call(this, "_events") || (this._events = n(null), this._eventsCount = 0), this._maxListeners = this._maxListeners || void 0 } t.exports = s, s.EventEmitter = s, s.prototype._events = void 0, s.prototype._maxListeners = void 0; var a, l = 10; try { var u = {}; Object.defineProperty && Object.defineProperty(u, "x", { value: 0 }), a = 0 === u.x } catch (e) { a = !1 } function c(e) { return void 0 === e._maxListeners ? s.defaultMaxListeners : e._maxListeners } function h(e, t, r, i) { var o, s, a; if ("function" != typeof r) throw new TypeError('"listener" argument must be a function'); if ((s = e._events) ? (s.newListener && (e.emit("newListener", t, r.listener ? r.listener : r), s = e._events), a = s[t]) : (s = e._events = n(null), e._eventsCount = 0), a) { if ("function" == typeof a ? a = s[t] = i ? [r, a] : [a, r] : i ? a.unshift(r) : a.push(r), !a.warned && (o = c(e)) && o > 0 && a.length > o) { a.warned = !0; var l = new Error("Possible EventEmitter memory leak detected. " + a.length + ' "' + String(t) + '" listeners added. Use emitter.setMaxListeners() to increase limit.'); l.name = "MaxListenersExceededWarning", l.emitter = e, l.type = t, l.count = a.length, "object" == typeof console && console.warn && console.warn("%s: %s", l.name, l.message) } } else a = s[t] = r, ++e._eventsCount; return e } function f() { if (!this.fired) switch (this.target.removeListener(this.type, this.wrapFn), this.fired = !0, arguments.length) { case 0: return this.listener.call(this.target); case 1: return this.listener.call(this.target, arguments[0]); case 2: return this.listener.call(this.target, arguments[0], arguments[1]); case 3: return this.listener.call(this.target, arguments[0], arguments[1], arguments[2]); default: for (var e = new Array(arguments.length), t = 0; t < e.length; ++t) e[t] = arguments[t]; this.listener.apply(this.target, e) } } function p(e, t, r) { var n = { fired: !1, wrapFn: void 0, target: e, type: t, listener: r }, i = o.call(f, n); return i.listener = r, n.wrapFn = i, i } function d(e, t, r) { var n = e._events; if (!n) return []; var i = n[t]; return i ? "function" == typeof i ? r ? [i.listener || i] : [i] : r ? function (e) { for (var t = new Array(e.length), r = 0; r < t.length; ++r) t[r] = e[r].listener || e[r]; return t }(i) : y(i, i.length) : [] } function g(e) { var t = this._events; if (t) { var r = t[e]; if ("function" == typeof r) return 1; if (r) return r.length } return 0 } function y(e, t) { for (var r = new Array(t), n = 0; n < t; ++n) r[n] = e[n]; return r } a ? Object.defineProperty(s, "defaultMaxListeners", { enumerable: !0, get: function () { return l }, set: function (e) { if ("number" != typeof e || e < 0 || e != e) throw new TypeError('"defaultMaxListeners" must be a positive number'); l = e } }) : s.defaultMaxListeners = l, s.prototype.setMaxListeners = function (e) { if ("number" != typeof e || e < 0 || isNaN(e)) throw new TypeError('"n" argument must be a positive number'); return this._maxListeners = e, this }, s.prototype.getMaxListeners = function () { return c(this) }, s.prototype.emit = function (e) { var t, r, n, i, o, s, a = "error" === e; if (s = this._events) a = a && null == s.error; else if (!a) return !1; if (a) { if (arguments.length > 1 && (t = arguments[1]), t instanceof Error) throw t; var l = new Error('Unhandled "error" event. (' + t + ")"); throw l.context = t, l } if (!(r = s[e])) return !1; var u = "function" == typeof r; switch (n = arguments.length) { case 1: ! function (e, t, r) { if (t) e.call(r); else for (var n = e.length, i = y(e, n), o = 0; o < n; ++o) i[o].call(r) }(r, u, this); break; case 2: ! function (e, t, r, n) { if (t) e.call(r, n); else for (var i = e.length, o = y(e, i), s = 0; s < i; ++s) o[s].call(r, n) }(r, u, this, arguments[1]); break; case 3: ! function (e, t, r, n, i) { if (t) e.call(r, n, i); else for (var o = e.length, s = y(e, o), a = 0; a < o; ++a) s[a].call(r, n, i) }(r, u, this, arguments[1], arguments[2]); break; case 4: ! function (e, t, r, n, i, o) { if (t) e.call(r, n, i, o); else for (var s = e.length, a = y(e, s), l = 0; l < s; ++l) a[l].call(r, n, i, o) }(r, u, this, arguments[1], arguments[2], arguments[3]); break; default: for (i = new Array(n - 1), o = 1; o < n; o++) i[o - 1] = arguments[o]; ! function (e, t, r, n) { if (t) e.apply(r, n); else for (var i = e.length, o = y(e, i), s = 0; s < i; ++s) o[s].apply(r, n) }(r, u, this, i) } return !0 }, s.prototype.addListener = function (e, t) { return h(this, e, t, !1) }, s.prototype.on = s.prototype.addListener, s.prototype.prependListener = function (e, t) { return h(this, e, t, !0) }, s.prototype.once = function (e, t) { if ("function" != typeof t) throw new TypeError('"listener" argument must be a function'); return this.on(e, p(this, e, t)), this }, s.prototype.prependOnceListener = function (e, t) { if ("function" != typeof t) throw new TypeError('"listener" argument must be a function'); return this.prependListener(e, p(this, e, t)), this }, s.prototype.removeListener = function (e, t) { var r, i, o, s, a; if ("function" != typeof t) throw new TypeError('"listener" argument must be a function'); if (!(i = this._events)) return this; if (!(r = i[e])) return this; if (r === t || r.listener === t) 0 == --this._eventsCount ? this._events = n(null) : (delete i[e], i.removeListener && this.emit("removeListener", e, r.listener || t)); else if ("function" != typeof r) { for (o = -1, s = r.length - 1; s >= 0; s--) if (r[s] === t || r[s].listener === t) { a = r[s].listener, o = s; break } if (o < 0) return this; 0 === o ? r.shift() : function (e, t) { for (var r = t, n = r + 1, i = e.length; n < i; r += 1, n += 1) e[r] = e[n]; e.pop() }(r, o), 1 === r.length && (i[e] = r[0]), i.removeListener && this.emit("removeListener", e, a || t) } return this }, s.prototype.removeAllListeners = function (e) { var t, r, o; if (!(r = this._events)) return this; if (!r.removeListener) return 0 === arguments.length ? (this._events = n(null), this._eventsCount = 0) : r[e] && (0 == --this._eventsCount ? this._events = n(null) : delete r[e]), this; if (0 === arguments.length) { var s, a = i(r); for (o = 0; o < a.length; ++o) "removeListener" !== (s = a[o]) && this.removeAllListeners(s); return this.removeAllListeners("removeListener"), this._events = n(null), this._eventsCount = 0, this } if ("function" == typeof (t = r[e])) this.removeListener(e, t); else if (t) for (o = t.length - 1; o >= 0; o--) this.removeListener(e, t[o]); return this }, s.prototype.listeners = function (e) { return d(this, e, !0) }, s.prototype.rawListeners = function (e) { return d(this, e, !1) }, s.listenerCount = function (e, t) { return "function" == typeof e.listenerCount ? e.listenerCount(t) : g.call(e, t) }, s.prototype.listenerCount = g, s.prototype.eventNames = function () { return this._eventsCount > 0 ? Reflect.ownKeys(this._events) : [] } }, {}], 23: [function (e, t, r) { r.read = function (e, t, r, n, i) { var o, s, a = 8 * i - n - 1, l = (1 << a) - 1, u = l >> 1, c = -7, h = r ? i - 1 : 0, f = r ? -1 : 1, p = e[t + h]; for (h += f, o = p & (1 << -c) - 1, p >>= -c, c += a; c > 0; o = 256 * o + e[t + h], h += f, c -= 8); for (s = o & (1 << -c) - 1, o >>= -c, c += n; c > 0; s = 256 * s + e[t + h], h += f, c -= 8); if (0 === o) o = 1 - u; else { if (o === l) return s ? NaN : 1 / 0 * (p ? -1 : 1); s += Math.pow(2, n), o -= u } return (p ? -1 : 1) * s * Math.pow(2, o - n) }, r.write = function (e, t, r, n, i, o) { var s, a, l, u = 8 * o - i - 1, c = (1 << u) - 1, h = c >> 1, f = 23 === i ? Math.pow(2, -24) - Math.pow(2, -77) : 0, p = n ? 0 : o - 1, d = n ? 1 : -1, g = t < 0 || 0 === t && 1 / t < 0 ? 1 : 0; for (t = Math.abs(t), isNaN(t) || t === 1 / 0 ? (a = isNaN(t) ? 1 : 0, s = c) : (s = Math.floor(Math.log(t) / Math.LN2), t * (l = Math.pow(2, -s)) < 1 && (s--, l *= 2), (t += s + h >= 1 ? f / l : f * Math.pow(2, 1 - h)) * l >= 2 && (s++, l /= 2), s + h >= c ? (a = 0, s = c) : s + h >= 1 ? (a = (t * l - 1) * Math.pow(2, i), s += h) : (a = t * Math.pow(2, h - 1) * Math.pow(2, i), s = 0)); i >= 8; e[r + p] = 255 & a, p += d, a /= 256, i -= 8); for (s = s << i | a, u += i; u > 0; e[r + p] = 255 & s, p += d, s /= 256, u -= 8); e[r + p - d] |= 128 * g } }, {}], 24: [function (e, t, r) { "function" == typeof Object.create ? t.exports = function (e, t) { t && (e.super_ = t, e.prototype = Object.create(t.prototype, { constructor: { value: e, enumerable: !1, writable: !0, configurable: !0 } })) } : t.exports = function (e, t) { if (t) { e.super_ = t; var r = function () {}; r.prototype = t.prototype, e.prototype = new r, e.prototype.constructor = e } } }, {}], 25: [function (e, t, r) { "use strict"; Object.defineProperty(r, "__esModule", { value: !0 }); var n = function () { function e(e, t) { this.color = !0, this.key = void 0, this.value = void 0, this.parent = void 0, this.brother = void 0, this.leftChild = void 0, this.rightChild = void 0, this.key = e, this.value = t } return e.prototype.rotateLeft = function () { var e = this.parent, t = this.brother, r = this.leftChild, n = this.rightChild; if (!n) throw new Error("unknown error"); var i = n.leftChild, o = n.rightChild; return e && (e.leftChild === this ? e.leftChild = n : e.rightChild === this && (e.rightChild = n)), n.parent = e, n.brother = t, n.leftChild = this, n.rightChild = o, t && (t.brother = n), this.parent = n, this.brother = o, this.leftChild = r, this.rightChild = i, o && (o.parent = n, o.brother = this), r && (r.parent = this, r.brother = i), i && (i.parent = this, i.brother = r), n }, e.prototype.rotateRight = function () { var e = this.parent, t = this.brother, r = this.leftChild; if (!r) throw new Error("unknown error"); var n = this.rightChild, i = r.leftChild, o = r.rightChild; return e && (e.leftChild === this ? e.leftChild = r : e.rightChild === this && (e.rightChild = r)), r.parent = e, r.brother = t, r.leftChild = i, r.rightChild = this, t && (t.brother = r), i && (i.parent = r, i.brother = this), this.parent = r, this.brother = i, this.leftChild = o, this.rightChild = n, o && (o.parent = this, o.brother = n), n && (n.parent = this, n.brother = o), r }, e.prototype.remove = function () { if (this.leftChild || this.rightChild) throw new Error("can only remove leaf node"); this.parent && (this === this.parent.leftChild ? this.parent.leftChild = void 0 : this === this.parent.rightChild && (this.parent.rightChild = void 0)), this.brother && (this.brother.brother = void 0), this.key = void 0, this.value = void 0, this.parent = void 0, this.brother = void 0 }, e.TreeNodeColorType = { red: !0, black: !1 }, e }(); Object.freeze(n), r.default = n }, {}], 26: [function (e, t, r) { "use strict"; var n = this && this.__generator || function (e, t) { var r, n, i, o, s = { label: 0, sent: function () { if (1 & i[0]) throw i[1]; return i[1] }, trys: [], ops: [] }; return o = { next: a(0), throw: a(1), return: a(2) }, "function" == typeof Symbol && (o[Symbol.iterator] = function () { return this }), o; function a(o) { return function (a) { return function (o) { if (r) throw new TypeError("Generator is already executing."); for (; s;) try { if (r = 1, n && (i = 2 & o[0] ? n.return : o[0] ? n.throw || ((i = n.return) && i.call(n), 0) : n.next) && !(i = i.call(n, o[1])).done) return i; switch (n = 0, i && (o = [2 & o[0], i.value]), o[0]) { case 0: case 1: i = o; break; case 4: return s.label++, { value: o[1], done: !1 }; case 5: s.label++, n = o[1], o = [0]; continue; case 7: o = s.ops.pop(), s.trys.pop(); continue; default: if (!(i = (i = s.trys).length > 0 && i[i.length - 1]) && (6 === o[0] || 2 === o[0])) { s = 0; continue } if (3 === o[0] && (!i || o[1] > i[0] && o[1] < i[3])) { s.label = o[1]; break } if (6 === o[0] && s.label < i[1]) { s.label = i[1], i = o; break } if (i && s.label < i[2]) { s.label = i[2], s.ops.push(o); break } i[2] && s.ops.pop(), s.trys.pop(); continue } o = t.call(e, s) } catch (e) { o = [6, e], n = 0 } finally { r = i = 0 } if (5 & o[0]) throw o[1]; return { value: o[0] ? o[1] : void 0, done: !0 } }([o, a]) } } }; function i(e) { var t = this; void 0 === e && (e = []); var r = [], o = 0, s = 0, a = 0, l = 0, u = 0, c = 0; this.size = function () { return c }, this.empty = function () { return 0 === c }, this.clear = function () { o = a = s = l = u = c = 0, f.call(this, i.bucketSize), c = 0 }, this.front = function () { return r[o][s] }, this.back = function () { return r[a][l] }, this.forEach = function (e) { if (!this.empty()) { var t = 0; if (o !== a) { for (u = s; u < i.bucketSize; ++u) e(r[o][u], t++); for (u = o + 1; u < a; ++u) for (var n = 0; n < i.bucketSize; ++n) e(r[u][n], t++); for (u = 0; u <= l; ++u) e(r[a][u], t++) } else for (var u = s; u <= l; ++u) e(r[o][u], t++) } }; var h = function (e) { var t = o * i.bucketSize + s, r = t + e, n = a * i.bucketSize + l; if (r < t || r > n) throw new Error("pos should more than 0 and less than queue's size"); return { curNodeBucketIndex: Math.floor(r / i.bucketSize), curNodePointerIndex: r % i.bucketSize } }; this.getElementByPos = function (e) { var t = h(e), n = t.curNodeBucketIndex, i = t.curNodePointerIndex; return r[n][i] }, this.eraseElementByPos = function (e) { var t = this; if (e < 0 || e > c) throw new Error("pos should more than 0 and less than queue's size"); if (0 === e) this.popFront(); else if (e === this.size()) this.popBack(); else { for (var r = [], n = e + 1; n < c; ++n) r.push(this.getElementByPos(n)); this.cut(e), this.popBack(), r.forEach(function (e) { return t.pushBack(e) }) } }, this.eraseElementByValue = function (e) { if (!this.empty()) { var t = []; this.forEach(function (r) { r !== e && t.push(r) }); for (var r = t.length, n = 0; n < r; ++n) this.setElementByPos(n, t[n]); this.cut(r - 1) } }; var f = function (e) { for (var t = [], n = e * i.sigma, h = Math.max(Math.ceil(n / i.bucketSize), 2), f = 0; f < h; ++f) t.push(new Array(i.bucketSize)); var p = Math.ceil(e / i.bucketSize), d = Math.floor(h / 2) - Math.floor(p / 2), g = d, y = 0; if (this.size()) for (f = 0; f < p; ++f) { for (var b = 0; b < i.bucketSize; ++b) if (t[d + f][b] = this.front(), this.popFront(), this.empty()) { g = d + f, y = b; break } if (this.empty()) break } r = t, o = d, s = 0, a = g, l = y, u = h, c = e }; this.pushBack = function (e) { this.empty() || (a === u - 1 && l === i.bucketSize - 1 && f.call(this, this.size()), l < i.bucketSize - 1 ? ++l : a < u - 1 && (++a, l = 0)), ++c, r[a][l] = e }, this.popBack = function () { this.empty() || (1 !== this.size() && (l > 0 ? --l : o < a && (--a, l = i.bucketSize - 1)), c > 0 && --c) }, this.setElementByPos = function (e, t) { var n = h(e), i = n.curNodeBucketIndex, o = n.curNodePointerIndex; r[i][o] = t }, this.insert = function (e, t, r) { var n = this; if (void 0 === r && (r = 1), 0 === e) for (; r--;) this.pushFront(t); else if (e === this.size()) for (; r--;) this.pushBack(t); else { for (var i = [], o = e; o < c; ++o) i.push(this.getElementByPos(o)); this.cut(e - 1); for (o = 0; o < r; ++o) this.pushBack(t); i.forEach(function (e) { return n.pushBack(e) }) } }, this.find = function (e) { if (o === a) { for (var t = s; t <= l; ++t) if (r[o][t] === e) return !0; return !1 } for (t = s; t < i.bucketSize; ++t) if (r[o][t] === e) return !0; for (t = o + 1; t < a; ++t) for (var n = 0; n < i.bucketSize; ++n) if (r[t][n] === e) return !0; for (t = 0; t <= l; ++t) if (r[a][t] === e) return !0; return !1 }, this.reverse = function () { for (var e = 0, t = c - 1; e < t;) { var r = this.getElementByPos(e); this.setElementByPos(e, this.getElementByPos(t)), this.setElementByPos(t, r), ++e, --t } }, this.unique = function () { if (!this.empty()) { var e = [], t = this.front(); this.forEach(function (r, n) { 0 !== n && r === t || (e.push(r), t = r) }); for (var r = 0; r < c; ++r) this.setElementByPos(r, e[r]); this.cut(e.length - 1) } }, this.sort = function (e) { var t = []; this.forEach(function (e) { t.push(e) }), t.sort(e); for (var r = 0; r < c; ++r) this.setElementByPos(r, t[r]) }, this.pushFront = function (e) { this.empty() || (0 === o && 0 === s && f.call(this, this.size()), s > 0 ? --s : o > 0 && (--o, s = i.bucketSize - 1)), ++c, r[o][s] = e }, this.popFront = function () { this.empty() || (1 !== this.size() && (s < i.bucketSize - 1 ? ++s : o < a && (++o, s = 0)), c > 0 && --c) }, this.shrinkToFit = function () { var e = this, t = []; this.forEach(function (e) { t.push(e) }); var n = t.length; r = []; for (var o = Math.ceil(n / i.bucketSize), s = 0; s < o; ++s) r.push(new Array(i.bucketSize)); this.clear(), t.forEach(function (t) { return e.pushBack(t) }) }, this.cut = function (e) { if (e < 0) this.clear(); else { var t = h(e), r = t.curNodeBucketIndex, n = t.curNodePointerIndex; a = r, l = n, c = e + 1 } }, this[Symbol.iterator] = function () { return function () { var e, t; return n(this, function (n) { switch (n.label) { case 0: if (0 === c) return [2]; if (o !== a) return [3, 5]; t = s, n.label = 1; case 1: return t <= l ? [4, r[o][t]] : [3, 4]; case 2: n.sent(), n.label = 3; case 3: return ++t, [3, 1]; case 4: return [2]; case 5: t = s, n.label = 6; case 6: return t < i.bucketSize ? [4, r[o][t]] : [3, 9]; case 7: n.sent(), n.label = 8; case 8: return ++t, [3, 6]; case 9: t = o + 1, n.label = 10; case 10: if (!(t < a)) return [3, 15]; e = 0, n.label = 11; case 11: return e < i.bucketSize ? [4, r[t][e]] : [3, 14]; case 12: n.sent(), n.label = 13; case 13: return ++e, [3, 11]; case 14: return ++t, [3, 10]; case 15: t = 0, n.label = 16; case 16: return t <= l ? [4, r[a][t]] : [3, 19]; case 17: n.sent(), n.label = 18; case 18: return ++t, [3, 16]; case 19: return [2] } }) }() }, function () { var n = i.bucketSize; e.size ? n = e.size() : e.length && (n = e.length); var s = n * i.sigma; u = Math.ceil(s / i.bucketSize), u = Math.max(u, 3); for (var l = 0; l < u; ++l) r.push(new Array(i.bucketSize)); var c = Math.ceil(n / i.bucketSize); o = Math.floor(u / 2) - Math.floor(c / 2), a = o, e.forEach(function (e) { return t.pushBack(e) }) }(), Object.freeze(this) } Object.defineProperty(r, "__esModule", { value: !0 }), i.sigma = 3, i.bucketSize = 5e3, Object.freeze(i), r.default = i }, {}], 27: [function (e, t, r) { "use strict"; var n = this && this.__generator || function (e, t) { var r, n, i, o, s = { label: 0, sent: function () { if (1 & i[0]) throw i[1]; return i[1] }, trys: [], ops: [] }; return o = { next: a(0), throw: a(1), return: a(2) }, "function" == typeof Symbol && (o[Symbol.iterator] = function () { return this }), o; function a(o) { return function (a) { return function (o) { if (r) throw new TypeError("Generator is already executing."); for (; s;) try { if (r = 1, n && (i = 2 & o[0] ? n.return : o[0] ? n.throw || ((i = n.return) && i.call(n), 0) : n.next) && !(i = i.call(n, o[1])).done) return i; switch (n = 0, i && (o = [2 & o[0], i.value]), o[0]) { case 0: case 1: i = o; break; case 4: return s.label++, { value: o[1], done: !1 }; case 5: s.label++, n = o[1], o = [0]; continue; case 7: o = s.ops.pop(), s.trys.pop(); continue; default: if (!(i = (i = s.trys).length > 0 && i[i.length - 1]) && (6 === o[0] || 2 === o[0])) { s = 0; continue } if (3 === o[0] && (!i || o[1] > i[0] && o[1] < i[3])) { s.label = o[1]; break } if (6 === o[0] && s.label < i[1]) { s.label = i[1], i = o; break } if (i && s.label < i[2]) { s.label = i[2], s.ops.push(o); break } i[2] && s.ops.pop(), s.trys.pop(); continue } o = t.call(e, s) } catch (e) { o = [6, e], n = 0 } finally { r = i = 0 } if (5 & o[0]) throw o[1]; return { value: o[0] ? o[1] : void 0, done: !0 } }([o, a]) } } }, i = this && this.__values || function (e) { var t = "function" == typeof Symbol && Symbol.iterator, r = t && e[t], n = 0; if (r) return r.call(e); if (e && "number" == typeof e.length) return { next: function () { return e && n >= e.length && (e = void 0), { value: e && e[n++], done: !e } } }; throw new TypeError(t ? "Object is not iterable." : "Symbol.iterator is not defined.") }; Object.defineProperty(r, "__esModule", { value: !0 }); var o = e("../LinkList/LinkList"), s = e("../Map/Map"); function a(e, t, r) { var l = this; if (void 0 === e && (e = []), void 0 === t && (t = a.initSize), r = r || function (e) { var t, r, n = 0, o = ""; if ("number" == typeof e) n = ((n = Math.floor(e)) << 5) - n, n &= n; else { o = "string" != typeof e ? JSON.stringify(e) : e; try { for (var s = i(o), a = s.next(); !a.done; a = s.next()) { n = (n << 5) - n + a.value.charCodeAt(0), n &= n } } catch (e) { t = { error: e } } finally { try { a && !a.done && (r = s.return) && r.call(s) } finally { if (t) throw t.error } } } return n ^= n >>> 16 }, 0 != (t & t - 1)) throw new Error("initBucketNum must be 2 to the power of n"); var u = 0, c = [], h = Math.max(a.initSize, Math.min(a.maxSize, t)); this.size = function () { return u }, this.empty = function () { return 0 === u }, this.clear = function () { u = 0, h = t, c = [] }, this.forEach = function (e) { var t = 0; c.forEach(function (r) { r.forEach(function (r) { e(r, t++) }) }) }; this.setElement = function (e, t) { var n, l; if (null === e || void 0 === e) throw new Error("to avoid some unnecessary errors, we don't suggest you insert null or undefined here"); if (null !== t && void 0 !== t) { var f = r(e) & h - 1; if (c[f]) { var p = c[f].size(); if (c[f] instanceof o.default) { try { for (var d = i(c[f]), g = d.next(); !g.done; g = d.next()) { var y = g.value; if (y.key === e) return void(y.value = t) } } catch (e) { n = { error: e } } finally { try { g && !g.done && (l = d.return) && l.call(d) } finally { if (n) throw n.error } } c[f].pushBack({ key: e, value: t }), c[f].size() >= a.treeifyThreshold && (c[f] = new s.default(c[f])) } else c[f].setElement(e, t); var b = c[f].size(); u += b - p } else ++u, c[f] = new o.default([{ key: e, value: t }]); u > h * a.sigma && function (e) { if (!(e >= a.maxSize)) { h = 2 * e; var t = []; c.forEach(function (n, i) { if (!n.empty()) { if (n instanceof o.default && 1 === n.size()) { var l = n.front(), u = l.key, f = l.value; t[r(u) & h - 1] = new o.default([{ key: u, value: f }]) } else if (n instanceof s.default) { var p = new o.default, d = new o.default; n.forEach(function (t) { 0 == (r(t.key) & e) ? p.pushBack(t) : d.pushBack(t) }), p.size() > a.untreeifyThreshold ? t[i] = new s.default(p) : p.size() && (t[i] = p), d.size() > a.untreeifyThreshold ? t[i + e] = new s.default(d) : d.size() && (t[i + e] = d) } else { var g = new o.default, y = new o.default; n.forEach(function (t) { 0 == (r(t.key) & e) ? g.pushBack(t) : y.pushBack(t) }), g.size() && (t[i] = g), y.size() && (t[i + e] = y) } c[i].clear() } }), c = t } }.call(this, h) } else this.eraseElementByKey(e) }, this.getElementByKey = function (e) { var t, n, o = r(e) & h - 1; if (c[o]) { if (c[o] instanceof s.default) return c[o].getElementByKey(e); try { for (var a = i(c[o]), l = a.next(); !l.done; l = a.next()) { var u = l.value; if (u.key === e) return u.value } } catch (e) { t = { error: e } } finally { try { l && !l.done && (n = a.return) && n.call(a) } finally { if (t) throw t.error } } } }, this.eraseElementByKey = function (e) { var t, n, l = r(e) & h - 1; if (c[l]) { var f = c[l].size(); if (c[l] instanceof s.default) c[l].eraseElementByKey(e), c[l].size() <= a.untreeifyThreshold && (c[l] = new o.default(c[l])); else { var p = -1; try { for (var d = i(c[l]), g = d.next(); !g.done; g = d.next()) { if (++p, g.value.key === e) { c[l].eraseElementByPos(p); break } } } catch (e) { t = { error: e } } finally { try { g && !g.done && (n = d.return) && n.call(d) } finally { if (t) throw t.error } } } var y = c[l].size(); u += y - f } }, this.find = function (e) { var t, n, o = r(e) & h - 1; if (!c[o]) return !1; if (c[o] instanceof s.default) return c[o].find(e); try { for (var a = i(c[o]), l = a.next(); !l.done; l = a.next()) { if (l.value.key === e) return !0 } } catch (e) { t = { error: e } } finally { try { l && !l.done && (n = a.return) && n.call(a) } finally { if (t) throw t.error } } return !1 }, this[Symbol.iterator] = function () { return function () { var e, t, r, o, s, a; return n(this, function (n) { switch (n.label) { case 0: e = 0, n.label = 1; case 1: if (!(e < h)) return [3, 10]; for (; e < h && !c[e];) ++e; if (e >= h) return [3, 10]; n.label = 2; case 2: n.trys.push([2, 7, 8, 9]), s = void 0, t = i(c[e]), r = t.next(), n.label = 3; case 3: return r.done ? [3, 6] : [4, r.value]; case 4: n.sent(), n.label = 5; case 5: return r = t.next(), [3, 3]; case 6: return [3, 9]; case 7: return o = n.sent(), s = { error: o }, [3, 9]; case 8: try { r && !r.done && (a = t.return) && a.call(t) } finally { if (s) throw s.error } return [7]; case 9: return ++e, [3, 1]; case 10: return [2] } }) }() }, e.forEach(function (e) { var t = e.key, r = e.value; return l.setElement(t, r) }), Object.freeze(this) } a.initSize = 16, a.maxSize = 1 << 30, a.sigma = .75, a.treeifyThreshold = 8, a.untreeifyThreshold = 6, a.minTreeifySize = 64, Object.freeze(a), r.default = a }, { "../LinkList/LinkList": 29, "../Map/Map": 30 }], 28: [function (e, t, r) { "use strict"; var n = this && this.__generator || function (e, t) { var r, n, i, o, s = { label: 0, sent: function () { if (1 & i[0]) throw i[1]; return i[1] }, trys: [], ops: [] }; return o = { next: a(0), throw: a(1), return: a(2) }, "function" == typeof Symbol && (o[Symbol.iterator] = function () { return this }), o; function a(o) { return function (a) { return function (o) { if (r) throw new TypeError("Generator is already executing."); for (; s;) try { if (r = 1, n && (i = 2 & o[0] ? n.return : o[0] ? n.throw || ((i = n.return) && i.call(n), 0) : n.next) && !(i = i.call(n, o[1])).done) return i; switch (n = 0, i && (o = [2 & o[0], i.value]), o[0]) { case 0: case 1: i = o; break; case 4: return s.label++, { value: o[1], done: !1 }; case 5: s.label++, n = o[1], o = [0]; continue; case 7: o = s.ops.pop(), s.trys.pop(); continue; default: if (!(i = (i = s.trys).length > 0 && i[i.length - 1]) && (6 === o[0] || 2 === o[0])) { s = 0; continue } if (3 === o[0] && (!i || o[1] > i[0] && o[1] < i[3])) { s.label = o[1]; break } if (6 === o[0] && s.label < i[1]) { s.label = i[1], i = o; break } if (i && s.label < i[2]) { s.label = i[2], s.ops.push(o); break } i[2] && s.ops.pop(), s.trys.pop(); continue } o = t.call(e, s) } catch (e) { o = [6, e], n = 0 } finally { r = i = 0 } if (5 & o[0]) throw o[1]; return { value: o[0] ? o[1] : void 0, done: !0 } }([o, a]) } } }, i = this && this.__values || function (e) { var t = "function" == typeof Symbol && Symbol.iterator, r = t && e[t], n = 0; if (r) return r.call(e); if (e && "number" == typeof e.length) return { next: function () { return e && n >= e.length && (e = void 0), { value: e && e[n++], done: !e } } }; throw new TypeError(t ? "Object is not iterable." : "Symbol.iterator is not defined.") }; Object.defineProperty(r, "__esModule", { value: !0 }); var o = e("../Set/Set"), s = e("../LinkList/LinkList"); function a(e, t, r) { var l = this; if (void 0 === e && (e = []), void 0 === t && (t = a.initSize), r = r || function (e) { var t = 0, r = ""; if ("number" == typeof e) t = ((t = Math.floor(e)) << 5) - t, t &= t; else { r = "string" != typeof e ? JSON.stringify(e) : e; for (var n = 0; n < r.length; n++) { t = (t << 5) - t + r.charCodeAt(n), t &= t } } return t ^= t >>> 16 }, 0 != (t & t - 1)) throw new Error("initBucketNum must be 2 to the power of n"); var u = 0, c = [], h = Math.max(a.initSize, Math.min(a.maxSize, t)); this.size = function () { return u }, this.empty = function () { return 0 === u }, this.clear = function () { u = 0, h = t, c = [] }, this.forEach = function (e) { var t = 0; c.forEach(function (r) { r.forEach(function (r) { e(r, t++) }) }) }; this.insert = function (e) { if (null === e || void 0 === e) throw new Error("to avoid some unnecessary errors, we don't suggest you insert null or undefined here"); var t = r(e) & h - 1; if (c[t]) { var n = c[t].size(); if (c[t] instanceof s.default) { if (c[t].find(e)) return; c[t].pushBack(e), c[t].size() >= a.treeifyThreshold && (c[t] = new o.default(c[t])) } else c[t].insert(e); var i = c[t].size(); u += i - n } else c[t] = new s.default([e]), ++u; u > h * a.sigma && function (e) { if (!(e >= a.maxSize)) { h = 2 * e; var t = []; c.forEach(function (n, i) { if (!n.empty()) { if (n instanceof s.default && 1 === n.size()) { var l = n.front(); if (void 0 === l) throw new Error("unknown error"); t[r(l) & h - 1] = new s.default([l]) } else if (n instanceof o.default) { var u = new s.default, f = new s.default; n.forEach(function (t) { 0 == (r(t) & e) ? u.pushBack(t) : f.pushBack(t) }), u.size() > a.untreeifyThreshold ? t[i] = new o.default(u) : u.size() && (t[i] = u), f.size() > a.untreeifyThreshold ? t[i + e] = new o.default(f) : f.size() && (t[i + e] = f) } else { var p = new s.default, d = new s.default; n.forEach(function (t) { 0 == (r(t) & e) ? p.pushBack(t) : d.pushBack(t) }), p.size() && (t[i] = p), d.size() && (t[i + e] = d) } c[i].clear() } }), c = t } }.call(this, h) }, this.eraseElementByValue = function (e) { var t = r(e) & h - 1; if (c[t]) { var n = c[t].size(); c[t].eraseElementByValue(e), c[t] instanceof o.default && c[t].size() <= a.untreeifyThreshold && (c[t] = new s.default(c[t])); var i = c[t].size(); u += i - n } }, this.find = function (e) { var t = r(e) & h - 1; return !!c[t] && c[t].find(e) }, this[Symbol.iterator] = function () { return function () { var e, t, r, o, s, a; return n(this, function (n) { switch (n.label) { case 0: e = 0, n.label = 1; case 1: if (!(e < h)) return [3, 10]; for (; e < h && !c[e];) ++e; if (e >= h) return [3, 10]; n.label = 2; case 2: n.trys.push([2, 7, 8, 9]), s = void 0, t = i(c[e]), r = t.next(), n.label = 3; case 3: return r.done ? [3, 6] : [4, r.value]; case 4: n.sent(), n.label = 5; case 5: return r = t.next(), [3, 3]; case 6: return [3, 9]; case 7: return o = n.sent(), s = { error: o }, [3, 9]; case 8: try { r && !r.done && (a = t.return) && a.call(t) } finally { if (s) throw s.error } return [7]; case 9: return ++e, [3, 1]; case 10: return [2] } }) }() }, e.forEach(function (e) { return l.insert(e) }), Object.freeze(this) } a.initSize = 16, a.maxSize = 1 << 30, a.sigma = .75, a.treeifyThreshold = 8, a.untreeifyThreshold = 6, a.minTreeifySize = 64, Object.freeze(a), r.default = a }, { "../LinkList/LinkList": 29, "../Set/Set": 33 }], 29: [function (e, t, r) { "use strict"; var n = this && this.__generator || function (e, t) { var r, n, i, o, s = { label: 0, sent: function () { if (1 & i[0]) throw i[1]; return i[1] }, trys: [], ops: [] }; return o = { next: a(0), throw: a(1), return: a(2) }, "function" == typeof Symbol && (o[Symbol.iterator] = function () { return this }), o; function a(o) { return function (a) { return function (o) { if (r) throw new TypeError("Generator is already executing."); for (; s;) try { if (r = 1, n && (i = 2 & o[0] ? n.return : o[0] ? n.throw || ((i = n.return) && i.call(n), 0) : n.next) && !(i = i.call(n, o[1])).done) return i; switch (n = 0, i && (o = [2 & o[0], i.value]), o[0]) { case 0: case 1: i = o; break; case 4: return s.label++, { value: o[1], done: !1 }; case 5: s.label++, n = o[1], o = [0]; continue; case 7: o = s.ops.pop(), s.trys.pop(); continue; default: if (!(i = (i = s.trys).length > 0 && i[i.length - 1]) && (6 === o[0] || 2 === o[0])) { s = 0; continue } if (3 === o[0] && (!i || o[1] > i[0] && o[1] < i[3])) { s.label = o[1]; break } if (6 === o[0] && s.label < i[1]) { s.label = i[1], i = o; break } if (i && s.label < i[2]) { s.label = i[2], s.ops.push(o); break } i[2] && s.ops.pop(), s.trys.pop(); continue } o = t.call(e, s) } catch (e) { o = [6, e], n = 0 } finally { r = i = 0 } if (5 & o[0]) throw o[1]; return { value: o[0] ? o[1] : void 0, done: !0 } }([o, a]) } } }; Object.defineProperty(r, "__esModule", { value: !0 }); var i = function () { return function (e) { this.value = void 0, this.pre = void 0, this.next = void 0, this.value = e } }(); function o(e) { var t = this; void 0 === e && (e = []); var r = 0, o = void 0, s = void 0; this.size = function () { return r }, this.empty = function () { return 0 === r }, this.clear = function () { o = s = void 0, r = 0 }, this.front = function () { return null === o || void 0 === o ? void 0 : o.value }, this.back = function () { return null === s || void 0 === s ? void 0 : s.value }, this.forEach = function (e) { for (var t = o, r = 0; t;) { if (void 0 === t.value) throw new Error("unknown error"); e(t.value, r++), t = t.next } }, this.getElementByPos = function (e) { if (e < 0 || e >= r) throw new Error("pos must more then 0 and less then the list length"); for (var t = o; e-- && t;) t = t.next; if (!t || void 0 === t.value) throw new Error("unknown error"); return t.value }, this.eraseElementByPos = function (e) { if (e < 0 || e >= r) throw new Error("erase pos must more then 0 and less then the list length"); if (0 === e) this.popFront(); else if (e === r - 1) this.popBack(); else { for (var t = o; e--;) { if (!(null === t || void 0 === t ? void 0 : t.next)) throw new Error("unknown error"); t = t.next } if (!t || !t.pre || !t.next) throw new Error("unknown error"); var n = t.pre, i = t.next; i.pre = n, n.next = i, r > 0 && --r } }, this.eraseElementByValue = function (e) { for (; o && o.value === e;) this.popFront(); for (; s && s.value === e;) this.popBack(); if (o) for (var t = o; t;) { if (t.value === e) { var n = t.pre, i = t.next; i && (i.pre = n), n && (n.next = i), r > 0 && --r } t = t.next } }, this.pushBack = function (e) { if (null === e || void 0 === e) throw new Error("you can't push null or undefined here"); ++r; var t = new i(e); s ? (s.next = t, t.pre = s, s = t) : o = s = t }, this.popBack = function () { s && (r > 0 && --r, s && (o === s ? o = s = void 0 : (s = s.pre) && (s.next = void 0))) }, this.setElementByPos = function (e, t) { if (null === t || void 0 === t) throw new Error("you can't set null or undefined here"); if (e < 0 || e >= r) throw new Error("pos must more then 0 and less then the list length"); for (var n = o; e--;) { if (!n) throw new Error("unknown error"); n = n.next } n && (n.value = t) }, this.insert = function (e, t, n) { if (void 0 === n && (n = 1), null === t || void 0 === t) throw new Error("you can't insert null or undefined here"); if (e < 0 || e > r) throw new Error("insert pos must more then 0 and less then or equal to the list length"); if (n < 0) throw new Error("insert size must more than 0"); if (0 === e) for (; n--;) this.pushFront(t); else if (e === r) for (; n--;) this.pushBack(t); else { for (var s = o, a = 1; a < e; ++a) { if (!(null === s || void 0 === s ? void 0 : s.next)) throw new Error("unknown error"); s = null === s || void 0 === s ? void 0 : s.next } if (!s) throw new Error("unknown error"); var l = s.next; for (r += n; n--;) s.next = new i(t), s.next.pre = s, s = s.next; s.next = l, l && (l.pre = s) } }, this.find = function (e) { for (var t = o; t;) { if (t.value === e) return !0; t = t.next } return !1 }, this.reverse = function () { for (var e = o, t = s, n = 0; e && t && 2 * n < r;) { var i = e.value; e.value = t.value, t.value = i, e = e.next, t = t.pre, ++n } }, this.unique = function () { for (var e = o; e;) { for (var t = e; t && t.next && t.value === t.next.value;) t = t.next, r > 0 && --r; e.next = t.next, e.next && (e.next.pre = e), e = e.next } }, this.sort = function (e) { var t = []; this.forEach(function (e) { t.push(e) }), t.sort(e); var r = o; t.forEach(function (e) { r && (r.value = e, r = r.next) }) }, this.pushFront = function (e) { if (null === e || void 0 === e) throw new Error("you can't push null or undefined here"); ++r; var t = new i(e); o ? (t.next = o, o.pre = t, o = t) : o = s = t }, this.popFront = function () { o && (r > 0 && --r, o && (o === s ? o = s = void 0 : (o = o.next) && (o.pre = void 0))) }, this.merge = function (e) { var t = this, n = o; e.forEach(function (e) { for (; n && void 0 !== n.value && n.value <= e;) n = n.next; if (void 0 === n) t.pushBack(e), n = s; else if (n === o) t.pushFront(e), n = o; else { ++r; var a = n.pre; a && (a.next = new i(e), a.next.pre = a, a.next.next = n, n && (n.pre = a.next)) } }) }, this[Symbol.iterator] = function () { return function () { var e; return n(this, function (t) { switch (t.label) { case 0: e = o, t.label = 1; case 1: if (void 0 === e) return [3, 3]; if (!e.value) throw new Error("unknown error"); return [4, e.value]; case 2: return t.sent(), e = e.next, [3, 1]; case 3: return [2] } }) }() }, e.forEach(function (e) { return t.pushBack(e) }), Object.freeze(this) } Object.freeze(o), r.default = o }, {}], 30: [function (e, t, r) { "use strict"; var n = this && this.__generator || function (e, t) { var r, n, i, o, s = { label: 0, sent: function () { if (1 & i[0]) throw i[1]; return i[1] }, trys: [], ops: [] }; return o = { next: a(0), throw: a(1), return: a(2) }, "function" == typeof Symbol && (o[Symbol.iterator] = function () { return this }), o; function a(o) { return function (a) { return function (o) { if (r) throw new TypeError("Generator is already executing."); for (; s;) try { if (r = 1, n && (i = 2 & o[0] ? n.return : o[0] ? n.throw || ((i = n.return) && i.call(n), 0) : n.next) && !(i = i.call(n, o[1])).done) return i; switch (n = 0, i && (o = [2 & o[0], i.value]), o[0]) { case 0: case 1: i = o; break; case 4: return s.label++, { value: o[1], done: !1 }; case 5: s.label++, n = o[1], o = [0]; continue; case 7: o = s.ops.pop(), s.trys.pop(); continue; default: if (!(i = (i = s.trys).length > 0 && i[i.length - 1]) && (6 === o[0] || 2 === o[0])) { s = 0; continue } if (3 === o[0] && (!i || o[1] > i[0] && o[1] < i[3])) { s.label = o[1]; break } if (6 === o[0] && s.label < i[1]) { s.label = i[1], i = o; break } if (i && s.label < i[2]) { s.label = i[2], s.ops.push(o); break } i[2] && s.ops.pop(), s.trys.pop(); continue } o = t.call(e, s) } catch (e) { o = [6, e], n = 0 } finally { r = i = 0 } if (5 & o[0]) throw o[1]; return { value: o[0] ? o[1] : void 0, done: !0 } }([o, a]) } } }, i = this && this.__values || function (e) { var t = "function" == typeof Symbol && Symbol.iterator, r = t && e[t], n = 0; if (r) return r.call(e); if (e && "number" == typeof e.length) return { next: function () { return e && n >= e.length && (e = void 0), { value: e && e[n++], done: !e } } }; throw new TypeError(t ? "Object is not iterable." : "Symbol.iterator is not defined.") }; Object.defineProperty(r, "__esModule", { value: !0 }); var o = e("../Base/TreeNode"); function s(e, t) { var r = this; void 0 === e && (e = []), t = t || function (e, t) { return e < t ? -1 : e > t ? 1 : 0 }; var s = 0, a = new o.default; a.color = o.default.TreeNodeColorType.black, this.size = function () { return s }, this.empty = function () { return 0 === s }, this.clear = function () { s = 0, a.key = a.value = void 0, a.leftChild = a.rightChild = a.brother = void 0 }; var l = function (e) { if (!e || void 0 === e.key) throw new Error("unknown error"); return e.leftChild ? l(e.leftChild) : e }, u = function (e) { if (!e || void 0 === e.key) throw new Error("unknown error"); return e.rightChild ? u(e.rightChild) : e }; this.front = function () { if (!this.empty()) { var e = l(a); if (void 0 === e.key || void 0 === e.value) throw new Error("unknown error"); return { key: e.key, value: e.value } } }, this.back = function () { if (!this.empty()) { var e = u(a); if (void 0 === e.key || void 0 === e.value) throw new Error("unknown error"); return { key: e.key, value: e.value } } }, this.forEach = function (e) { var t, r, n = 0; try { for (var o = i(this), s = o.next(); !s.done; s = o.next()) { e(s.value, n++) } } catch (e) { t = { error: e } } finally { try { s && !s.done && (r = o.return) && r.call(o) } finally { if (t) throw t.error } } }, this.getElementByPos = function (e) { var t, r; if (e < 0 || e >= this.size()) throw new Error("pos must more than 0 and less than set's size"); var n = 0; try { for (var o = i(this), s = o.next(); !s.done; s = o.next()) { var a = s.value; if (n === e) return a;++n } } catch (e) { t = { error: e } } finally { try { s && !s.done && (r = o.return) && r.call(o) } finally { if (t) throw t.error } } throw new Error("unknown Error") }; var c = function (e, r) { if (e && void 0 !== e.key && void 0 !== e.value) { var n = t(e.key, r); return 0 === n ? { key: e.key, value: e.value } : n < 0 ? c(e.rightChild, r) : c(e.leftChild, r) || { key: e.key, value: e.value } } }; this.lowerBound = function (e) { return c(a, e) }; var h = function (e, r) { if (e && void 0 !== e.key && void 0 !== e.value) return t(e.key, r) <= 0 ? h(e.rightChild, r) : h(e.leftChild, r) || { key: e.key, value: e.value } }; this.upperBound = function (e) { return h(a, e) }; var f = function (e, r) { if (e && void 0 !== e.key && void 0 !== e.value) { var n = t(e.key, r); return 0 === n ? { key: e.key, value: e.value } : n > 0 ? f(e.leftChild, r) : f(e.rightChild, r) || { key: e.key, value: e.value } } }; this.reverseLowerBound = function (e) { return f(a, e) }; var p = function (e, r) { if (e && void 0 !== e.key && void 0 !== e.value) return t(e.key, r) >= 0 ? p(e.leftChild, r) : p(e.rightChild, r) || { key: e.key, value: e.value } }; this.reverseUpperBound = function (e) { return p(a, e) }; var d = function (e) { var t = e.parent; if (!t) { if (e === a) return; throw new Error("unknown error") } if (e.color !== o.default.TreeNodeColorType.red) { var r = e.brother; if (!r) throw new Error("unknown error"); if (e === t.leftChild) { if (r.color === o.default.TreeNodeColorType.red) { r.color = o.default.TreeNodeColorType.black, t.color = o.default.TreeNodeColorType.red; var n = t.rotateLeft(); a === t && (a = n), d(e) } else if (r.color === o.default.TreeNodeColorType.black) if (r.rightChild && r.rightChild.color === o.default.TreeNodeColorType.red) { r.color = t.color, t.color = o.default.TreeNodeColorType.black, r.rightChild && (r.rightChild.color = o.default.TreeNodeColorType.black); n = t.rotateLeft(); a === t && (a = n), e.color = o.default.TreeNodeColorType.black } else if (r.rightChild && r.rightChild.color !== o.default.TreeNodeColorType.black || !r.leftChild || r.leftChild.color !== o.default.TreeNodeColorType.red) r.leftChild && r.leftChild.color !== o.default.TreeNodeColorType.black || r.rightChild && r.rightChild.color !== o.default.TreeNodeColorType.black || (r.color = o.default.TreeNodeColorType.red, d(t)); else { r.color = o.default.TreeNodeColorType.red, r.leftChild && (r.leftChild.color = o.default.TreeNodeColorType.black); n = r.rotateRight(); a === r && (a = n), d(e) } } else if (e === t.rightChild) if (r.color === o.default.TreeNodeColorType.red) { r.color = o.default.TreeNodeColorType.black, t.color = o.default.TreeNodeColorType.red; n = t.rotateRight(); a === t && (a = n), d(e) } else if (r.color === o.default.TreeNodeColorType.black) if (r.leftChild && r.leftChild.color === o.default.TreeNodeColorType.red) { r.color = t.color, t.color = o.default.TreeNodeColorType.black, r.leftChild && (r.leftChild.color = o.default.TreeNodeColorType.black); n = t.rotateRight(); a === t && (a = n), e.color = o.default.TreeNodeColorType.black } else if (r.leftChild && r.leftChild.color !== o.default.TreeNodeColorType.black || !r.rightChild || r.rightChild.color !== o.default.TreeNodeColorType.red) r.leftChild && r.leftChild.color !== o.default.TreeNodeColorType.black || r.rightChild && r.rightChild.color !== o.default.TreeNodeColorType.black || (r.color = o.default.TreeNodeColorType.red, d(t)); else { r.color = o.default.TreeNodeColorType.red, r.rightChild && (r.rightChild.color = o.default.TreeNodeColorType.black); n = r.rotateLeft(); a === r && (a = n), d(e) } } else e.color = o.default.TreeNodeColorType.black }, g = function (e) { for (var t = e; t.leftChild || t.rightChild;) { if (t.rightChild) { t = l(t.rightChild); var r = e.key; e.key = t.key, t.key = r; var n = e.value; e.value = t.value, t.value = n, e = t } if (t.leftChild) { t = u(t.leftChild); r = e.key; e.key = t.key, t.key = r; n = e.value; e.value = t.value, t.value = n, e = t } } d(t), t && t.remove(), --s, a.color = o.default.TreeNodeColorType.black }, y = function (e, t) { return !(!e || void 0 === e.key) && (!!y(e.leftChild, t) || (!!t(e) || y(e.rightChild, t))) }; this.eraseElementByPos = function (e) { if (e < 0 || e >= s) throw new Error("pos must more than 0 and less than set's size"); var t = 0; y(a, function (r) { return e === t ? (g(r), !0) : (++t, !1) }) }, this.eraseElementByKey = function (e) { if (!this.empty()) { var r = v(a, e); void 0 !== r && void 0 !== r.key && 0 === t(r.key, e) && g(r) } }; var b = function (e, r) { if (!e || void 0 === e.key) throw new Error("unknown error"); var n = t(r, e.key); return n < 0 ? e.leftChild ? b(e.leftChild, r) : (e.leftChild = new o.default, e.leftChild.parent = e, e.leftChild.brother = e.rightChild, e.rightChild && (e.rightChild.brother = e.leftChild), e.leftChild) : n > 0 ? e.rightChild ? b(e.rightChild, r) : (e.rightChild = new o.default, e.rightChild.parent = e, e.rightChild.brother = e.leftChild, e.leftChild && (e.leftChild.brother = e.rightChild), e.rightChild) : e }, m = function (e) { var t = e.parent; if (!t) { if (e === a) return; throw new Error("unknown error") } if (t.color !== o.default.TreeNodeColorType.black && t.color === o.default.TreeNodeColorType.red) { var r = t.brother, n = t.parent; if (!n) throw new Error("unknown error"); if (r && r.color === o.default.TreeNodeColorType.red) r.color = t.color = o.default.TreeNodeColorType.black, n.color = o.default.TreeNodeColorType.red, m(n); else if (!r || r.color === o.default.TreeNodeColorType.black) if (t === n.leftChild) { if (e === t.leftChild) { t.color = o.default.TreeNodeColorType.black, n.color = o.default.TreeNodeColorType.red; var i = n.rotateRight(); n === a && (a = i) } else if (e === t.rightChild) { i = t.rotateLeft(); n === a && (a = i), m(t) } } else if (t === n.rightChild) if (e === t.leftChild) { i = t.rotateRight(); n === a && (a = i), m(t) } else if (e === t.rightChild) { t.color = o.default.TreeNodeColorType.black, n.color = o.default.TreeNodeColorType.red; i = n.rotateLeft(); n === a && (a = i) } } }; this.setElement = function (e, r) { if (null === e || void 0 === e) throw new Error("to avoid some unnecessary errors, we don't suggest you insert null or undefined here"); if (null !== r && void 0 !== r) { if (this.empty()) return ++s, a.key = e, a.value = r, void(a.color = o.default.TreeNodeColorType.black); var n = b(a, e); void 0 === n.key || 0 !== t(n.key, e) ? (++s, n.key = e, n.value = r, m(n), a.color = o.default.TreeNodeColorType.black) : n.value = r } else this.eraseElementByKey(e) }; var v = function (e, r) { if (e && void 0 !== e.key) { var n = t(r, e.key); return n < 0 ? v(e.leftChild, r) : n > 0 ? v(e.rightChild, r) : e } }; this.find = function (e) { return !!v(a, e) }, this.getElementByKey = function (e) { var t = v(a, e); if (void 0 === (null === t || void 0 === t ? void 0 : t.key) || void 0 === (null === t || void 0 === t ? void 0 : t.value)) throw new Error("unknown error"); return t.value }, this.union = function (e) { var t = this; e.forEach(function (e) { var r = e.key, n = e.value; return t.setElement(r, n) }) }, this.getHeight = function () { if (this.empty()) return 0; var e = function (t) { return t ? Math.max(e(t.leftChild), e(t.rightChild)) + 1 : 1 }; return e(a) }; var w = function (e) { return n(this, function (t) { switch (t.label) { case 0: return e && void 0 !== e.key && void 0 !== e.value ? [5, i(w(e.leftChild))] : [2]; case 1: return t.sent(), [4, { key: e.key, value: e.value }]; case 2: return t.sent(), [5, i(w(e.rightChild))]; case 3: return t.sent(), [2] } }) }; this[Symbol.iterator] = function () { return w(a) }, e.forEach(function (e) { var t = e.key, n = e.value; return r.setElement(t, n) }), Object.freeze(this) } Object.freeze(s), r.default = s }, { "../Base/TreeNode": 25 }], 31: [function (e, t, r) { "use strict"; function n(e, t) { void 0 === e && (e = []), t = t || function (e, t) { return e > t ? -1 : e < t ? 1 : 0 }; var r = []; e.forEach(function (e) { return r.push(e) }); var n = r.length, i = function (e, t) { if (e < 0 || e >= n) throw new Error("unknown error"); if (t < 0 || t >= n) throw new Error("unknown error"); var i = r[e]; r[e] = r[t], r[t] = i }, o = function (e) { if (e < 0 || e >= n) throw new Error("unknown error"); var o = 2 * e + 1, s = 2 * e + 2; o < n && t(r[e], r[o]) > 0 && i(e, o), s < n && t(r[e], r[s]) > 0 && i(e, s) }; ! function () { for (var e = Math.floor((n - 1) / 2); e >= 0; --e) for (var o = e, s = 2 * o + 1; s < n;) { var a = s + 1, l = s; if (a < n && t(r[s], r[a]) > 0 && (l = a), t(r[o], r[l]) <= 0) break; i(o, l), s = 2 * (o = l) + 1 } }(), this.size = function () { return n }, this.empty = function () { return 0 === n }, this.clear = function () { n = 0, r.length = 0 }, this.push = function (e) { if (r.push(e), 1 !== ++n) for (var i = n - 1; i > 0;) { var s = Math.floor((i - 1) / 2); if (t(r[s], e) <= 0) break; o(s), i = s } }, this.pop = function () { if (!this.empty()) if (1 !== this.size()) { var e = r[n - 1]; --n; for (var i = 0; i < this.size();) { var o = 2 * i + 1, s = 2 * i + 2; if (o >= this.size()) break; var a = o; if (s < this.size() && t(r[o], r[s]) > 0 && (a = s), t(r[a], e) >= 0) break; r[i] = r[a], i = a } r[i] = e } else --n }, this.top = function () { return r[0] }, Object.freeze(this) } Object.defineProperty(r, "__esModule", { value: !0 }), Object.freeze(n), r.default = n }, {}], 32: [function (e, t, r) { "use strict"; Object.defineProperty(r, "__esModule", { value: !0 }); var n = e("../LinkList/LinkList"); function i(e) { void 0 === e && (e = []); var t = new n.default(e); this.size = function () { return t.size() }, this.empty = function () { return t.empty() }, this.clear = function () { t.clear() }, this.push = function (e) { t.pushBack(e) }, this.pop = function () { t.popFront() }, this.front = function () { return t.front() }, Object.freeze(this) } Object.freeze(i), r.default = i }, { "../LinkList/LinkList": 29 }], 33: [function (e, t, r) { "use strict"; var n = this && this.__generator || function (e, t) { var r, n, i, o, s = { label: 0, sent: function () { if (1 & i[0]) throw i[1]; return i[1] }, trys: [], ops: [] }; return o = { next: a(0), throw: a(1), return: a(2) }, "function" == typeof Symbol && (o[Symbol.iterator] = function () { return this }), o; function a(o) { return function (a) { return function (o) { if (r) throw new TypeError("Generator is already executing."); for (; s;) try { if (r = 1, n && (i = 2 & o[0] ? n.return : o[0] ? n.throw || ((i = n.return) && i.call(n), 0) : n.next) && !(i = i.call(n, o[1])).done) return i; switch (n = 0, i && (o = [2 & o[0], i.value]), o[0]) { case 0: case 1: i = o; break; case 4: return s.label++, { value: o[1], done: !1 }; case 5: s.label++, n = o[1], o = [0]; continue; case 7: o = s.ops.pop(), s.trys.pop(); continue; default: if (!(i = (i = s.trys).length > 0 && i[i.length - 1]) && (6 === o[0] || 2 === o[0])) { s = 0; continue } if (3 === o[0] && (!i || o[1] > i[0] && o[1] < i[3])) { s.label = o[1]; break } if (6 === o[0] && s.label < i[1]) { s.label = i[1], i = o; break } if (i && s.label < i[2]) { s.label = i[2], s.ops.push(o); break } i[2] && s.ops.pop(), s.trys.pop(); continue } o = t.call(e, s) } catch (e) { o = [6, e], n = 0 } finally { r = i = 0 } if (5 & o[0]) throw o[1]; return { value: o[0] ? o[1] : void 0, done: !0 } }([o, a]) } } }, i = this && this.__values || function (e) { var t = "function" == typeof Symbol && Symbol.iterator, r = t && e[t], n = 0; if (r) return r.call(e); if (e && "number" == typeof e.length) return { next: function () { return e && n >= e.length && (e = void 0), { value: e && e[n++], done: !e } } }; throw new TypeError(t ? "Object is not iterable." : "Symbol.iterator is not defined.") }; Object.defineProperty(r, "__esModule", { value: !0 }); var o = e("../Base/TreeNode"); function s(e, t) { var r = this; void 0 === e && (e = []), t = t || function (e, t) { return e < t ? -1 : e > t ? 1 : 0 }; var s = 0, a = new o.default; a.color = o.default.TreeNodeColorType.black, this.size = function () { return s }, this.empty = function () { return 0 === s }, this.clear = function () { s = 0, a.key = void 0, a.leftChild = a.rightChild = a.brother = a.parent = void 0, a.color = o.default.TreeNodeColorType.black }; var l = function (e) { if (!e || void 0 === e.key) throw new Error("unknown error"); return e.leftChild ? l(e.leftChild) : e }, u = function (e) { if (!e || void 0 === e.key) throw new Error("unknown error"); return e.rightChild ? u(e.rightChild) : e }; this.front = function () { if (!this.empty()) return l(a).key }, this.back = function () { if (!this.empty()) return u(a).key }, this.forEach = function (e) { var t, r, n = 0; try { for (var o = i(this), s = o.next(); !s.done; s = o.next()) { e(s.value, n++) } } catch (e) { t = { error: e } } finally { try { s && !s.done && (r = o.return) && r.call(o) } finally { if (t) throw t.error } } }, this.getElementByPos = function (e) { var t, r; if (e < 0 || e >= this.size()) throw new Error("pos must more than 0 and less than set's size"); var n = 0; try { for (var o = i(this), s = o.next(); !s.done; s = o.next()) { var a = s.value; if (n === e) return a;++n } } catch (e) { t = { error: e } } finally { try { s && !s.done && (r = o.return) && r.call(o) } finally { if (t) throw t.error } } throw new Error("unknown error") }; var c = function (e) { var t = e.parent; if (!t) { if (e === a) return; throw new Error("unknown error") } if (e.color !== o.default.TreeNodeColorType.red) { var r = e.brother; if (!r) throw new Error("unknown error"); if (e === t.leftChild) { if (r.color === o.default.TreeNodeColorType.red) { r.color = o.default.TreeNodeColorType.black, t.color = o.default.TreeNodeColorType.red; var n = t.rotateLeft(); a === t && (a = n), c(e) } else if (r.color === o.default.TreeNodeColorType.black) if (r.rightChild && r.rightChild.color === o.default.TreeNodeColorType.red) { r.color = t.color, t.color = o.default.TreeNodeColorType.black, r.rightChild && (r.rightChild.color = o.default.TreeNodeColorType.black); n = t.rotateLeft(); a === t && (a = n), e.color = o.default.TreeNodeColorType.black } else if (r.rightChild && r.rightChild.color !== o.default.TreeNodeColorType.black || !r.leftChild || r.leftChild.color !== o.default.TreeNodeColorType.red) r.leftChild && r.leftChild.color !== o.default.TreeNodeColorType.black || r.rightChild && r.rightChild.color !== o.default.TreeNodeColorType.black || (r.color = o.default.TreeNodeColorType.red, c(t)); else { r.color = o.default.TreeNodeColorType.red, r.leftChild && (r.leftChild.color = o.default.TreeNodeColorType.black); n = r.rotateRight(); a === r && (a = n), c(e) } } else if (e === t.rightChild) if (r.color === o.default.TreeNodeColorType.red) { r.color = o.default.TreeNodeColorType.black, t.color = o.default.TreeNodeColorType.red; n = t.rotateRight(); a === t && (a = n), c(e) } else if (r.color === o.default.TreeNodeColorType.black) if (r.leftChild && r.leftChild.color === o.default.TreeNodeColorType.red) { r.color = t.color, t.color = o.default.TreeNodeColorType.black, r.leftChild && (r.leftChild.color = o.default.TreeNodeColorType.black); n = t.rotateRight(); a === t && (a = n), e.color = o.default.TreeNodeColorType.black } else if (r.leftChild && r.leftChild.color !== o.default.TreeNodeColorType.black || !r.rightChild || r.rightChild.color !== o.default.TreeNodeColorType.red) r.leftChild && r.leftChild.color !== o.default.TreeNodeColorType.black || r.rightChild && r.rightChild.color !== o.default.TreeNodeColorType.black || (r.color = o.default.TreeNodeColorType.red, c(t)); else { r.color = o.default.TreeNodeColorType.red, r.rightChild && (r.rightChild.color = o.default.TreeNodeColorType.black); n = r.rotateLeft(); a === r && (a = n), c(e) } } else e.color = o.default.TreeNodeColorType.black }, h = function (e) { for (var t = e; t.leftChild || t.rightChild;) { if (t.rightChild) { t = l(t.rightChild); var r = e.key; e.key = t.key, t.key = r, e = t } if (t.leftChild) { t = u(t.leftChild); r = e.key; e.key = t.key, t.key = r, e = t } } c(t), t && t.remove(), --s, a.color = o.default.TreeNodeColorType.black }, f = function (e, t) { return !(!e || void 0 === e.key) && (!!f(e.leftChild, t) || (!!t(e) || f(e.rightChild, t))) }; this.eraseElementByPos = function (e) { if (e < 0 || e >= s) throw new Error("pos must more than 0 and less than set's size"); var t = 0; f(a, function (r) { return e === t ? (h(r), !0) : (++t, !1) }) }, this.eraseElementByValue = function (e) { if (!this.empty()) { var r = g(a, e); void 0 !== r && void 0 !== r.key && 0 === t(r.key, e) && h(r) } }; var p = function (e, r) { if (!e || void 0 === e.key) throw new Error("unknown error"); var n = t(r, e.key); return n < 0 ? e.leftChild ? p(e.leftChild, r) : (e.leftChild = new o.default, e.leftChild.parent = e, e.leftChild.brother = e.rightChild, e.rightChild && (e.rightChild.brother = e.leftChild), e.leftChild) : n > 0 ? e.rightChild ? p(e.rightChild, r) : (e.rightChild = new o.default, e.rightChild.parent = e, e.rightChild.brother = e.leftChild, e.leftChild && (e.leftChild.brother = e.rightChild), e.rightChild) : e }, d = function (e) { var t = e.parent; if (!t) { if (e === a) return; throw new Error("unknown error") } if (t.color !== o.default.TreeNodeColorType.black && t.color === o.default.TreeNodeColorType.red) { var r = t.brother, n = t.parent; if (!n) throw new Error("unknown error"); if (r && r.color === o.default.TreeNodeColorType.red) r.color = t.color = o.default.TreeNodeColorType.black, n.color = o.default.TreeNodeColorType.red, d(n); else if (!r || r.color === o.default.TreeNodeColorType.black) if (t === n.leftChild) { if (e === t.leftChild) { t.color = o.default.TreeNodeColorType.black, n.color = o.default.TreeNodeColorType.red; var i = n.rotateRight(); n === a && (a = i) } else if (e === t.rightChild) { i = t.rotateLeft(); n === a && (a = i), d(t) } } else if (t === n.rightChild) if (e === t.leftChild) { i = t.rotateRight(); n === a && (a = i), d(t) } else if (e === t.rightChild) { t.color = o.default.TreeNodeColorType.black, n.color = o.default.TreeNodeColorType.red; i = n.rotateLeft(); n === a && (a = i) } } }; this.insert = function (e) { if (null === e || void 0 === e) throw new Error("to avoid some unnecessary errors, we don't suggest you insert null or undefined here"); if (this.empty()) return ++s, a.key = e, void(a.color = o.default.TreeNodeColorType.black); var r = p(a, e); void 0 !== r.key && 0 === t(r.key, e) || (++s, r.key = e, d(r), a.color = o.default.TreeNodeColorType.black) }; var g = function (e, r) { if (e && void 0 !== e.key) { var n = t(r, e.key); return n < 0 ? g(e.leftChild, r) : n > 0 ? g(e.rightChild, r) : e } }; this.find = function (e) { var r = g(a, e); return void 0 !== r && void 0 !== r.key && 0 === t(r.key, e) }; var y = function (e, r) { if (e && void 0 !== e.key) { var n = t(e.key, r); if (0 === n) return e.key; if (n < 0) return y(e.rightChild, r); var i = y(e.leftChild, r); return void 0 !== i ? i : e.key } }; this.lowerBound = function (e) { return y(a, e) }; var b = function (e, r) { if (e && void 0 !== e.key) { if (t(e.key, r) <= 0) return b(e.rightChild, r); var n = b(e.leftChild, r); return void 0 !== n ? n : e.key } }; this.upperBound = function (e) { return b(a, e) }; var m = function (e, r) { if (e && void 0 !== e.key) { var n = t(e.key, r); if (0 === n) return e.key; if (n > 0) return m(e.leftChild, r); var i = m(e.rightChild, r); return void 0 !== i ? i : e.key } }; this.reverseLowerBound = function (e) { return m(a, e) }; var v = function (e, r) { if (e && void 0 !== e.key) { if (t(e.key, r) >= 0) return v(e.leftChild, r); var n = v(e.rightChild, r); return void 0 !== n ? n : e.key } }; this.reverseUpperBound = function (e) { return v(a, e) }, this.union = function (e) { var t = this; e.forEach(function (e) { return t.insert(e) }) }, this.getHeight = function () { if (this.empty()) return 0; var e = function (t) { return t ? Math.max(e(t.leftChild), e(t.rightChild)) + 1 : 1 }; return e(a) }; var w = function (e) { return n(this, function (t) { switch (t.label) { case 0: return e && void 0 !== e.key ? [5, i(w(e.leftChild))] : [2]; case 1: return t.sent(), [4, e.key]; case 2: return t.sent(), [5, i(w(e.rightChild))]; case 3: return t.sent(), [2] } }) }; this[Symbol.iterator] = function () { return w(a) }, e.forEach(function (e) { return r.insert(e) }), Object.freeze(this) } Object.freeze(s), r.default = s }, { "../Base/TreeNode": 25 }], 34: [function (e, t, r) { "use strict"; function n(e) { var t = this; void 0 === e && (e = []); var r = 0, n = []; this.size = function () { return r }, this.empty = function () { return 0 === r }, this.clear = function () { r = 0, n.length = 0 }, this.push = function (e) { n.push(e), ++r }, this.pop = function () { n.pop(), r > 0 && --r }, this.top = function () { return n[r - 1] }, e.forEach(function (e) { return t.push(e) }), Object.freeze(this) } Object.defineProperty(r, "__esModule", { value: !0 }), Object.freeze(n), r.default = n }, {}], 35: [function (e, t, r) { "use strict"; var n = this && this.__generator || function (e, t) { var r, n, i, o, s = { label: 0, sent: function () { if (1 & i[0]) throw i[1]; return i[1] }, trys: [], ops: [] }; return o = { next: a(0), throw: a(1), return: a(2) }, "function" == typeof Symbol && (o[Symbol.iterator] = function () { return this }), o; function a(o) { return function (a) { return function (o) { if (r) throw new TypeError("Generator is already executing."); for (; s;) try { if (r = 1, n && (i = 2 & o[0] ? n.return : o[0] ? n.throw || ((i = n.return) && i.call(n), 0) : n.next) && !(i = i.call(n, o[1])).done) return i; switch (n = 0, i && (o = [2 & o[0], i.value]), o[0]) { case 0: case 1: i = o; break; case 4: return s.label++, { value: o[1], done: !1 }; case 5: s.label++, n = o[1], o = [0]; continue; case 7: o = s.ops.pop(), s.trys.pop(); continue; default: if (!(i = (i = s.trys).length > 0 && i[i.length - 1]) && (6 === o[0] || 2 === o[0])) { s = 0; continue } if (3 === o[0] && (!i || o[1] > i[0] && o[1] < i[3])) { s.label = o[1]; break } if (6 === o[0] && s.label < i[1]) { s.label = i[1], i = o; break } if (i && s.label < i[2]) { s.label = i[2], s.ops.push(o); break } i[2] && s.ops.pop(), s.trys.pop(); continue } o = t.call(e, s) } catch (e) { o = [6, e], n = 0 } finally { r = i = 0 } if (5 & o[0]) throw o[1]; return { value: o[0] ? o[1] : void 0, done: !0 } }([o, a]) } } }, i = this && this.__read || function (e, t) { var r = "function" == typeof Symbol && e[Symbol.iterator]; if (!r) return e; var n, i, o = r.call(e), s = []; try { for (; (void 0 === t || t-- > 0) && !(n = o.next()).done;) s.push(n.value) } catch (e) { i = { error: e } } finally { try { n && !n.done && (r = o.return) && r.call(o) } finally { if (i) throw i.error } } return s }, o = this && this.__spreadArray || function (e, t, r) { if (r || 2 === arguments.length) for (var n, i = 0, o = t.length; i < o; i++) !n && i in t || (n || (n = Array.prototype.slice.call(t, 0, i)), n[i] = t[i]); return e.concat(n || Array.prototype.slice.call(t)) }, s = this && this.__values || function (e) { var t = "function" == typeof Symbol && Symbol.iterator, r = t && e[t], n = 0; if (r) return r.call(e); if (e && "number" == typeof e.length) return { next: function () { return e && n >= e.length && (e = void 0), { value: e && e[n++], done: !e } } }; throw new TypeError(t ? "Object is not iterable." : "Symbol.iterator is not defined.") }; function a(e) { var t = this; void 0 === e && (e = []); var r = 0, a = []; this.size = function () { return r }, this.empty = function () { return 0 === r }, this.clear = function () { r = 0, a.length = 0 }, this.front = function () { if (!this.empty()) return a[0] }, this.back = function () { if (!this.empty()) return a[r - 1] }, this.forEach = function (e) { a.forEach(e) }, this.getElementByPos = function (e) { if (e < 0 || e >= r) throw new Error("pos must more than 0 and less than vector's size"); return a[e] }, this.eraseElementByPos = function (e) { if (e < 0 || e >= r) throw new Error("pos must more than 0 and less than vector's size"); for (var t = e; t < r - 1; ++t) a[t] = a[t + 1]; this.popBack() }, this.eraseElementByValue = function (e) { var t = []; this.forEach(function (r) { r !== e && t.push(r) }), t.forEach(function (e, t) { a[t] = e }); for (var n = t.length; r > n;) this.popBack() }, this.pushBack = function (e) { a.push(e), ++r }, this.popBack = function () { a.pop(), r > 0 && --r }, this.setElementByPos = function (e, t) { if (e < 0 || e >= r) throw new Error("pos must more than 0 and less than vector's size"); a[e] = t }, this.insert = function (e, t, n) { if (void 0 === n && (n = 1), e < 0 || e > r) throw new Error("pos must more than 0 and less than or equal to vector's size"); a.splice.apply(a, o([e, 0], i(new Array(n).fill(t)), !1)), r += n }, this.find = function (e) { return a.includes(e) }, this.reverse = function () { a.reverse() }, this.unique = function () { var e, t = []; this.forEach(function (r, n) { 0 !== n && r === e || (t.push(r), e = r) }), t.forEach(function (e, t) { a[t] = e }); for (var n = t.length; r > n;) this.popBack() }, this.sort = function (e) { a.sort(e) }, this[Symbol.iterator] = function () { return function () { return n(this, function (e) { switch (e.label) { case 0: return [5, s(a)]; case 1: return [2, e.sent()] } }) }() }, e.forEach(function (e) { return t.pushBack(e) }), Object.freeze(this) } Object.defineProperty(r, "__esModule", { value: !0 }), Object.freeze(a), r.default = a }, {}], 36: [function (e, t, r) { "use strict"; Object.defineProperty(r, "__esModule", { value: !0 }), r.HashMap = r.HashSet = r.Map = r.Set = r.PriorityQueue = r.Deque = r.LinkList = r.Queue = r.Stack = r.Vector = void 0; var n = e("./Vector/Vector"); r.Vector = n.default; var i = e("./Stack/Stack"); r.Stack = i.default; var o = e("./Queue/Queue"); r.Queue = o.default; var s = e("./LinkList/LinkList"); r.LinkList = s.default; var a = e("./Deque/Deque"); r.Deque = a.default; var l = e("./PriorityQueue/PriorityQueue"); r.PriorityQueue = l.default; var u = e("./Set/Set"); r.Set = u.default; var c = e("./Map/Map"); r.Map = c.default; var h = e("./HashSet/HashSet"); r.HashSet = h.default; var f = e("./HashMap/HashMap"); r.HashMap = f.default }, { "./Deque/Deque": 26, "./HashMap/HashMap": 27, "./HashSet/HashSet": 28, "./LinkList/LinkList": 29, "./Map/Map": 30, "./PriorityQueue/PriorityQueue": 31, "./Queue/Queue": 32, "./Set/Set": 33, "./Stack/Stack": 34, "./Vector/Vector": 35 }], 37: [function (e, t, r) { "use strict"; const n = e("yallist"), i = Symbol("max"), o = Symbol("length"), s = Symbol("lengthCalculator"), a = Symbol("allowStale"), l = Symbol("maxAge"), u = Symbol("dispose"), c = Symbol("noDisposeOnSet"), h = Symbol("lruList"), f = Symbol("cache"), p = Symbol("updateAgeOnGet"), d = () => 1; const g = (e, t, r) => { const n = e[f].get(t); if (n) { const t = n.value; if (y(e, t)) { if (m(e, n), !e[a]) return } else r && (e[p] && (n.value.now = Date.now()), e[h].unshiftNode(n)); return t.value } }, y = (e, t) => { if (!t || !t.maxAge && !e[l]) return !1; const r = Date.now() - t.now; return t.maxAge ? r > t.maxAge : e[l] && r > e[l] }, b = e => { if (e[o] > e[i]) for (let t = e[h].tail; e[o] > e[i] && null !== t;) { const r = t.prev; m(e, t), t = r } }, m = (e, t) => { if (t) { const r = t.value; e[u] && e[u](r.key, r.value), e[o] -= r.length, e[f].delete(r.key), e[h].removeNode(t) } }; class v { constructor(e, t, r, n, i) { this.key = e, this.value = t, this.length = r, this.now = n, this.maxAge = i || 0 } } const w = (e, t, r, n) => { let i = r.value; y(e, i) && (m(e, r), e[a] || (i = void 0)), i && t.call(n, i.value, i.key, e) }; t.exports = class { constructor(e) { if ("number" == typeof e && (e = { max: e }), e || (e = {}), e.max && ("number" != typeof e.max || e.max < 0)) throw new TypeError("max must be a non-negative number"); this[i] = e.max || 1 / 0; const t = e.length || d; if (this[s] = "function" != typeof t ? d : t, this[a] = e.stale || !1, e.maxAge && "number" != typeof e.maxAge) throw new TypeError("maxAge must be a number"); this[l] = e.maxAge || 0, this[u] = e.dispose, this[c] = e.noDisposeOnSet || !1, this[p] = e.updateAgeOnGet || !1, this.reset() } set max(e) { if ("number" != typeof e || e < 0) throw new TypeError("max must be a non-negative number"); this[i] = e || 1 / 0, b(this) } get max() { return this[i] } set allowStale(e) { this[a] = !!e } get allowStale() { return this[a] } set maxAge(e) { if ("number" != typeof e) throw new TypeError("maxAge must be a non-negative number"); this[l] = e, b(this) } get maxAge() { return this[l] } set lengthCalculator(e) { "function" != typeof e && (e = d), e !== this[s] && (this[s] = e, this[o] = 0, this[h].forEach(e => { e.length = this[s](e.value, e.key), this[o] += e.length })), b(this) } get lengthCalculator() { return this[s] } get length() { return this[o] } get itemCount() { return this[h].length } rforEach(e, t) { t = t || this; for (let r = this[h].tail; null !== r;) { const n = r.prev; w(this, e, r, t), r = n } } forEach(e, t) { t = t || this; for (let r = this[h].head; null !== r;) { const n = r.next; w(this, e, r, t), r = n } } keys() { return this[h].toArray().map(e => e.key) } values() { return this[h].toArray().map(e => e.value) } reset() { this[u] && this[h] && this[h].length && this[h].forEach(e => this[u](e.key, e.value)), this[f] = new Map, this[h] = new n, this[o] = 0 } dump() { return this[h].map(e => !y(this, e) && { k: e.key, v: e.value, e: e.now + (e.maxAge || 0) }).toArray().filter(e => e) } dumpLru() { return this[h] } set(e, t, r) { if ((r = r || this[l]) && "number" != typeof r) throw new TypeError("maxAge must be a number"); const n = r ? Date.now() : 0, a = this[s](t, e); if (this[f].has(e)) { if (a > this[i]) return m(this, this[f].get(e)), !1; const s = this[f].get(e).value; return this[u] && (this[c] || this[u](e, s.value)), s.now = n, s.maxAge = r, s.value = t, this[o] += a - s.length, s.length = a, this.get(e), b(this), !0 } const p = new v(e, t, a, n, r); return p.length > this[i] ? (this[u] && this[u](e, t), !1) : (this[o] += p.length, this[h].unshift(p), this[f].set(e, this[h].head), b(this), !0) } has(e) { if (!this[f].has(e)) return !1; const t = this[f].get(e).value; return !y(this, t) } get(e) { return g(this, e, !0) } peek(e) { return g(this, e, !1) } pop() { const e = this[h].tail; return e ? (m(this, e), e.value) : null } del(e) { m(this, this[f].get(e)) } load(e) { this.reset(); const t = Date.now(); for (let r = e.length - 1; r >= 0; r--) { const n = e[r], i = n.e || 0; if (0 === i) this.set(n.k, n.v); else { const e = i - t; e > 0 && this.set(n.k, n.v, e) } } } prune() { this[f].forEach((e, t) => g(this, t, !1)) } } }, { yallist: 83 }], 38: [function (e, t, r) { (function (e) { (function () { const r = t.exports; r.types = { 0: "reserved", 1: "connect", 2: "connack", 3: "publish", 4: "puback", 5: "pubrec", 6: "pubrel", 7: "pubcomp", 8: "subscribe", 9: "suback", 10: "unsubscribe", 11: "unsuback", 12: "pingreq", 13: "pingresp", 14: "disconnect", 15: "auth" }, r.codes = {}; for (const e in r.types) { const t = r.types[e]; r.codes[t] = e } r.CMD_SHIFT = 4, r.CMD_MASK = 240, r.DUP_MASK = 8, r.QOS_MASK = 3, r.QOS_SHIFT = 1, r.RETAIN_MASK = 1, r.VARBYTEINT_MASK = 127, r.VARBYTEINT_FIN_MASK = 128, r.VARBYTEINT_MAX = 268435455, r.SESSIONPRESENT_MASK = 1, r.SESSIONPRESENT_HEADER = e.from([r.SESSIONPRESENT_MASK]), r.CONNACK_HEADER = e.from([r.codes.connack << r.CMD_SHIFT]), r.USERNAME_MASK = 128, r.PASSWORD_MASK = 64, r.WILL_RETAIN_MASK = 32, r.WILL_QOS_MASK = 24, r.WILL_QOS_SHIFT = 3, r.WILL_FLAG_MASK = 4, r.CLEAN_SESSION_MASK = 2, r.CONNECT_HEADER = e.from([r.codes.connect << r.CMD_SHIFT]), r.properties = { sessionExpiryInterval: 17, willDelayInterval: 24, receiveMaximum: 33, maximumPacketSize: 39, topicAliasMaximum: 34, requestResponseInformation: 25, requestProblemInformation: 23, userProperties: 38, authenticationMethod: 21, authenticationData: 22, payloadFormatIndicator: 1, messageExpiryInterval: 2, contentType: 3, responseTopic: 8, correlationData: 9, maximumQoS: 36, retainAvailable: 37, assignedClientIdentifier: 18, reasonString: 31, wildcardSubscriptionAvailable: 40, subscriptionIdentifiersAvailable: 41, sharedSubscriptionAvailable: 42, serverKeepAlive: 19, responseInformation: 26, serverReference: 28, topicAlias: 35, subscriptionIdentifier: 11 }, r.propertiesCodes = {}; for (const e in r.properties) { const t = r.properties[e]; r.propertiesCodes[t] = e } function n(t) { return [0, 1, 2].map(n => [0, 1].map(i => [0, 1].map(o => { const s = e.alloc(1); return s.writeUInt8(r.codes[t] << r.CMD_SHIFT | (i ? r.DUP_MASK : 0) | n << r.QOS_SHIFT | o, 0, !0), s }))) } r.propertiesTypes = { sessionExpiryInterval: "int32", willDelayInterval: "int32", receiveMaximum: "int16", maximumPacketSize: "int32", topicAliasMaximum: "int16", requestResponseInformation: "byte", requestProblemInformation: "byte", userProperties: "pair", authenticationMethod: "string", authenticationData: "binary", payloadFormatIndicator: "byte", messageExpiryInterval: "int32", contentType: "string", responseTopic: "string", correlationData: "binary", maximumQoS: "int8", retainAvailable: "byte", assignedClientIdentifier: "string", reasonString: "string", wildcardSubscriptionAvailable: "byte", subscriptionIdentifiersAvailable: "byte", sharedSubscriptionAvailable: "byte", serverKeepAlive: "int16", responseInformation: "string", serverReference: "string", topicAlias: "int16", subscriptionIdentifier: "var" }, r.PUBLISH_HEADER = n("publish"), r.SUBSCRIBE_HEADER = n("subscribe"), r.SUBSCRIBE_OPTIONS_QOS_MASK = 3, r.SUBSCRIBE_OPTIONS_NL_MASK = 1, r.SUBSCRIBE_OPTIONS_NL_SHIFT = 2, r.SUBSCRIBE_OPTIONS_RAP_MASK = 1, r.SUBSCRIBE_OPTIONS_RAP_SHIFT = 3, r.SUBSCRIBE_OPTIONS_RH_MASK = 3, r.SUBSCRIBE_OPTIONS_RH_SHIFT = 4, r.SUBSCRIBE_OPTIONS_RH = [0, 16, 32], r.SUBSCRIBE_OPTIONS_NL = 4, r.SUBSCRIBE_OPTIONS_RAP = 8, r.SUBSCRIBE_OPTIONS_QOS = [0, 1, 2], r.UNSUBSCRIBE_HEADER = n("unsubscribe"), r.ACKS = { unsuback: n("unsuback"), puback: n("puback"), pubcomp: n("pubcomp"), pubrel: n("pubrel"), pubrec: n("pubrec") }, r.SUBACK_HEADER = e.from([r.codes.suback << r.CMD_SHIFT]), r.VERSION3 = e.from([3]), r.VERSION4 = e.from([4]), r.VERSION5 = e.from([5]), r.VERSION131 = e.from([131]), r.VERSION132 = e.from([132]), r.QOS = [0, 1, 2].map(t => e.from([t])), r.EMPTY = { pingreq: e.from([r.codes.pingreq << 4, 0]), pingresp: e.from([r.codes.pingresp << 4, 0]), disconnect: e.from([r.codes.disconnect << 4, 0]) } }).call(this) }).call(this, e("buffer").Buffer) }, { buffer: 17 }], 39: [function (e, t, r) { (function (r) { (function () { const n = e("./writeToStream"), i = e("events"); class o extends i { constructor() { super(), this._array = new Array(20), this._i = 0 } write(e) { return this._array[this._i++] = e, !0 } concat() { let e = 0; const t = new Array(this._array.length), n = this._array; let i, o = 0; for (i = 0; i < n.length && void 0 !== n[i]; i++) "string" != typeof n[i] ? t[i] = n[i].length : t[i] = r.byteLength(n[i]), e += t[i]; const s = r.allocUnsafe(e); for (i = 0; i < n.length && void 0 !== n[i]; i++) "string" != typeof n[i] ? (n[i].copy(s, o), o += t[i]) : (s.write(n[i], o), o += t[i]); return s } } t.exports = function (e, t) { const r = new o; return n(e, r, t), r.concat() } }).call(this) }).call(this, e("buffer").Buffer) }, { "./writeToStream": 44, buffer: 17, events: 22 }], 40: [function (e, t, r) { r.parser = e("./parser").parser, r.generate = e("./generate"), r.writeToStream = e("./writeToStream") }, { "./generate": 39, "./parser": 43, "./writeToStream": 44 }], 41: [function (e, t, r) { (function (e) { (function () { const r = 65536, n = {}, i = e.isBuffer(e.from([1, 2]).subarray(0, 1)); function o(t) { const r = e.allocUnsafe(2); return r.writeUInt8(t >> 8, 0), r.writeUInt8(255 & t, 1), r } t.exports = { cache: n, generateCache: function () { for (let e = 0; e < r; e++) n[e] = o(e) }, generateNumber: o, genBufVariableByteInt: function (t) { let r = 0, n = 0; const o = e.allocUnsafe(4); do { r = t % 128 | 0, (t = t / 128 | 0) > 0 && (r |= 128), o.writeUInt8(r, n++) } while (t > 0 && n < 4); return t > 0 && (n = 0), i ? o.subarray(0, n) : o.slice(0, n) }, generate4ByteBuffer: function (t) { const r = e.allocUnsafe(4); return r.writeUInt32BE(t, 0), r } } }).call(this) }).call(this, e("buffer").Buffer) }, { buffer: 17 }], 42: [function (e, t, r) { t.exports = class { constructor() { this.cmd = null, this.retain = !1, this.qos = 0, this.dup = !1, this.length = -1, this.topic = null, this.payload = null } } }, {}], 43: [function (e, t, r) { const n = e("bl"), i = e("events"), o = e("./packet"), s = e("./constants"), a = e("debug")("mqtt-packet:parser"); class l extends i { constructor() { super(), this.parser = this.constructor.parser } static parser(e) { return this instanceof l ? (this.settings = e || {}, this._states = ["_parseHeader", "_parseLength", "_parsePayload", "_newPacket"], this._resetState(), this) : (new l).parser(e) } _resetState() { a("_resetState: resetting packet, error, _list, and _stateCounter"), this.packet = new o, this.error = null, this._list = n(), this._stateCounter = 0 } parse(e) { for (this.error && this._resetState(), this._list.append(e), a("parse: current state: %s", this._states[this._stateCounter]); (-1 !== this.packet.length || this._list.length > 0) && this[this._states[this._stateCounter]]() && !this.error;) this._stateCounter++, a("parse: state complete. _stateCounter is now: %d", this._stateCounter), a("parse: packet.length: %d, buffer list length: %d", this.packet.length, this._list.length), this._stateCounter >= this._states.length && (this._stateCounter = 0); return a("parse: exited while loop. packet: %d, buffer list length: %d", this.packet.length, this._list.length), this._list.length } _parseHeader() { const e = this._list.readUInt8(0); return this.packet.cmd = s.types[e >> s.CMD_SHIFT], this.packet.retain = 0 != (e & s.RETAIN_MASK), this.packet.qos = e >> s.QOS_SHIFT & s.QOS_MASK, this.packet.dup = 0 != (e & s.DUP_MASK), a("_parseHeader: packet: %o", this.packet), this._list.consume(1), !0 } _parseLength() { const e = this._parseVarByteNum(!0); return e && (this.packet.length = e.value, this._list.consume(e.bytes)), a("_parseLength %d", e.value), !!e } _parsePayload() { a("_parsePayload: payload %O", this._list); let e = !1; if (0 === this.packet.length || this._list.length >= this.packet.length) { switch (this._pos = 0, this.packet.cmd) { case "connect": this._parseConnect(); break; case "connack": this._parseConnack(); break; case "publish": this._parsePublish(); break; case "puback": case "pubrec": case "pubrel": case "pubcomp": this._parseConfirmation(); break; case "subscribe": this._parseSubscribe(); break; case "suback": this._parseSuback(); break; case "unsubscribe": this._parseUnsubscribe(); break; case "unsuback": this._parseUnsuback(); break; case "pingreq": case "pingresp": break; case "disconnect": this._parseDisconnect(); break; case "auth": this._parseAuth(); break; default: this._emitError(new Error("Not supported")) } e = !0 } return a("_parsePayload complete result: %s", e), e } _parseConnect() { let e, t, r, n; a("_parseConnect"); const i = {}, o = this.packet, l = this._parseString(); if (null === l) return this._emitError(new Error("Cannot parse protocolId")); if ("MQTT" !== l && "MQIsdp" !== l) return this._emitError(new Error("Invalid protocolId")); if (o.protocolId = l, this._pos >= this._list.length) return this._emitError(new Error("Packet too short")); if (o.protocolVersion = this._list.readUInt8(this._pos), o.protocolVersion >= 128 && (o.bridgeMode = !0, o.protocolVersion = o.protocolVersion - 128), 3 !== o.protocolVersion && 4 !== o.protocolVersion && 5 !== o.protocolVersion) return this._emitError(new Error("Invalid protocol version")); if (this._pos++, this._pos >= this._list.length) return this._emitError(new Error("Packet too short")); if (i.username = this._list.readUInt8(this._pos) & s.USERNAME_MASK, i.password = this._list.readUInt8(this._pos) & s.PASSWORD_MASK, i.will = this._list.readUInt8(this._pos) & s.WILL_FLAG_MASK, i.will && (o.will = {}, o.will.retain = 0 != (this._list.readUInt8(this._pos) & s.WILL_RETAIN_MASK), o.will.qos = (this._list.readUInt8(this._pos) & s.WILL_QOS_MASK) >> s.WILL_QOS_SHIFT), o.clean = 0 != (this._list.readUInt8(this._pos) & s.CLEAN_SESSION_MASK), this._pos++, o.keepalive = this._parseNum(), -1 === o.keepalive) return this._emitError(new Error("Packet too short")); if (5 === o.protocolVersion) { const e = this._parseProperties(); Object.getOwnPropertyNames(e).length && (o.properties = e) } const u = this._parseString(); if (null === u) return this._emitError(new Error("Packet too short")); if (o.clientId = u, a("_parseConnect: packet.clientId: %s", o.clientId), i.will) { if (5 === o.protocolVersion) { const e = this._parseProperties(); Object.getOwnPropertyNames(e).length && (o.will.properties = e) } if (null === (e = this._parseString())) return this._emitError(new Error("Cannot parse will topic")); if (o.will.topic = e, a("_parseConnect: packet.will.topic: %s", o.will.topic), null === (t = this._parseBuffer())) return this._emitError(new Error("Cannot parse will payload")); o.will.payload = t, a("_parseConnect: packet.will.paylaod: %s", o.will.payload) } if (i.username) { if (null === (n = this._parseString())) return this._emitError(new Error("Cannot parse username")); o.username = n, a("_parseConnect: packet.username: %s", o.username) } if (i.password) { if (null === (r = this._parseBuffer())) return this._emitError(new Error("Cannot parse password")); o.password = r } return this.settings = o, a("_parseConnect: complete"), o } _parseConnack() { a("_parseConnack"); const e = this.packet; if (this._list.length < 1) return null; if (e.sessionPresent = !!(this._list.readUInt8(this._pos++) & s.SESSIONPRESENT_MASK), 5 === this.settings.protocolVersion) this._list.length >= 2 ? e.reasonCode = this._list.readUInt8(this._pos++) : e.reasonCode = 0; else { if (this._list.length < 2) return null; e.returnCode = this._list.readUInt8(this._pos++) } if (-1 === e.returnCode || -1 === e.reasonCode) return this._emitError(new Error("Cannot parse return code")); if (5 === this.settings.protocolVersion) { const t = this._parseProperties(); Object.getOwnPropertyNames(t).length && (e.properties = t) } a("_parseConnack: complete") } _parsePublish() { a("_parsePublish"); const e = this.packet; if (e.topic = this._parseString(), null === e.topic) return this._emitError(new Error("Cannot parse topic")); if (!(e.qos > 0) || this._parseMessageId()) { if (5 === this.settings.protocolVersion) { const t = this._parseProperties(); Object.getOwnPropertyNames(t).length && (e.properties = t) } e.payload = this._list.slice(this._pos, e.length), a("_parsePublish: payload from buffer list: %o", e.payload) } } _parseSubscribe() { a("_parseSubscribe"); const e = this.packet; let t, r, n, i, o, l, u; if (1 !== e.qos) return this._emitError(new Error("Wrong subscribe header")); if (e.subscriptions = [], this._parseMessageId()) { if (5 === this.settings.protocolVersion) { const t = this._parseProperties(); Object.getOwnPropertyNames(t).length && (e.properties = t) } for (; this._pos < e.length;) { if (null === (t = this._parseString())) return this._emitError(new Error("Cannot parse topic")); if (this._pos >= e.length) return this._emitError(new Error("Malformed Subscribe Payload")); n = (r = this._parseByte()) & s.SUBSCRIBE_OPTIONS_QOS_MASK, l = 0 != (r >> s.SUBSCRIBE_OPTIONS_NL_SHIFT & s.SUBSCRIBE_OPTIONS_NL_MASK), o = 0 != (r >> s.SUBSCRIBE_OPTIONS_RAP_SHIFT & s.SUBSCRIBE_OPTIONS_RAP_MASK), i = r >> s.SUBSCRIBE_OPTIONS_RH_SHIFT & s.SUBSCRIBE_OPTIONS_RH_MASK, u = { topic: t, qos: n }, 5 === this.settings.protocolVersion ? (u.nl = l, u.rap = o, u.rh = i) : this.settings.bridgeMode && (u.rh = 0, u.rap = !0, u.nl = !0), a("_parseSubscribe: push subscription `%s` to subscription", u), e.subscriptions.push(u) } } } _parseSuback() { a("_parseSuback"); const e = this.packet; if (this.packet.granted = [], this._parseMessageId()) { if (5 === this.settings.protocolVersion) { const t = this._parseProperties(); Object.getOwnPropertyNames(t).length && (e.properties = t) } for (; this._pos < this.packet.length;) this.packet.granted.push(this._list.readUInt8(this._pos++)) } } _parseUnsubscribe() { a("_parseUnsubscribe"); const e = this.packet; if (e.unsubscriptions = [], this._parseMessageId()) { if (5 === this.settings.protocolVersion) { const t = this._parseProperties(); Object.getOwnPropertyNames(t).length && (e.properties = t) } for (; this._pos < e.length;) { const t = this._parseString(); if (null === t) return this._emitError(new Error("Cannot parse topic")); a("_parseUnsubscribe: push topic `%s` to unsubscriptions", t), e.unsubscriptions.push(t) } } } _parseUnsuback() { a("_parseUnsuback"); const e = this.packet; if (!this._parseMessageId()) return this._emitError(new Error("Cannot parse messageId")); if (5 === this.settings.protocolVersion) { const t = this._parseProperties(); for (Object.getOwnPropertyNames(t).length && (e.properties = t), e.granted = []; this._pos < this.packet.length;) this.packet.granted.push(this._list.readUInt8(this._pos++)) } } _parseConfirmation() { a("_parseConfirmation: packet.cmd: `%s`", this.packet.cmd); const e = this.packet; if (this._parseMessageId(), 5 === this.settings.protocolVersion && (e.length > 2 ? (e.reasonCode = this._parseByte(), a("_parseConfirmation: packet.reasonCode `%d`", e.reasonCode)) : e.reasonCode = 0, e.length > 3)) { const t = this._parseProperties(); Object.getOwnPropertyNames(t).length && (e.properties = t) } return !0 } _parseDisconnect() { const e = this.packet; if (a("_parseDisconnect"), 5 === this.settings.protocolVersion) { this._list.length > 0 ? e.reasonCode = this._parseByte() : e.reasonCode = 0; const t = this._parseProperties(); Object.getOwnPropertyNames(t).length && (e.properties = t) } return a("_parseDisconnect result: true"), !0 } _parseAuth() { a("_parseAuth"); const e = this.packet; if (5 !== this.settings.protocolVersion) return this._emitError(new Error("Not supported auth packet for this version MQTT")); e.reasonCode = this._parseByte(); const t = this._parseProperties(); return Object.getOwnPropertyNames(t).length && (e.properties = t), a("_parseAuth: result: true"), !0 } _parseMessageId() { const e = this.packet; return e.messageId = this._parseNum(), null === e.messageId ? (this._emitError(new Error("Cannot parse messageId")), !1) : (a("_parseMessageId: packet.messageId %d", e.messageId), !0) } _parseString(e) { const t = this._parseNum(), r = t + this._pos; if (-1 === t || r > this._list.length || r > this.packet.length) return null; const n = this._list.toString("utf8", this._pos, r); return this._pos += t, a("_parseString: result: %s", n), n } _parseStringPair() { return a("_parseStringPair"), { name: this._parseString(), value: this._parseString() } } _parseBuffer() { const e = this._parseNum(), t = e + this._pos; if (-1 === e || t > this._list.length || t > this.packet.length) return null; const r = this._list.slice(this._pos, t); return this._pos += e, a("_parseBuffer: result: %o", r), r } _parseNum() { if (this._list.length - this._pos < 2) return -1; const e = this._list.readUInt16BE(this._pos); return this._pos += 2, a("_parseNum: result: %s", e), e } _parse4ByteNum() { if (this._list.length - this._pos < 4) return -1; const e = this._list.readUInt32BE(this._pos); return this._pos += 4, a("_parse4ByteNum: result: %s", e), e } _parseVarByteNum(e) { a("_parseVarByteNum"); let t, r = 0, n = 1, i = 0, o = !1; const l = this._pos ? this._pos : 0; for (; r < 4 && l + r < this._list.length;) { if (i += n * ((t = this._list.readUInt8(l + r++)) & s.VARBYTEINT_MASK), n *= 128, 0 == (t & s.VARBYTEINT_FIN_MASK)) { o = !0; break } if (this._list.length <= r) break } return !o && 4 === r && this._list.length >= r && this._emitError(new Error("Invalid variable byte integer")), l && (this._pos += r), a("_parseVarByteNum: result: %o", o = !!o && (e ? { bytes: r, value: i } : i)), o } _parseByte() { let e; return this._pos < this._list.length && (e = this._list.readUInt8(this._pos), this._pos++), a("_parseByte: result: %o", e), e } _parseByType(e) { switch (a("_parseByType: type: %s", e), e) { case "byte": return 0 !== this._parseByte(); case "int8": return this._parseByte(); case "int16": return this._parseNum(); case "int32": return this._parse4ByteNum(); case "var": return this._parseVarByteNum(); case "string": return this._parseString(); case "pair": return this._parseStringPair(); case "binary": return this._parseBuffer() } } _parseProperties() { a("_parseProperties"); const e = this._parseVarByteNum(), t = this._pos + e, r = {}; for (; this._pos < t;) { const e = this._parseByte(); if (!e) return this._emitError(new Error("Cannot parse property code type")), !1; const t = s.propertiesCodes[e]; if (!t) return this._emitError(new Error("Unknown property")), !1; if ("userProperties" !== t) r[t] ? Array.isArray(r[t]) ? r[t].push(this._parseByType(s.propertiesTypes[t])) : (r[t] = [r[t]], r[t].push(this._parseByType(s.propertiesTypes[t]))) : r[t] = this._parseByType(s.propertiesTypes[t]); else { r[t] || (r[t] = Object.create(null)); const e = this._parseByType(s.propertiesTypes[t]); if (r[t][e.name]) if (Array.isArray(r[t][e.name])) r[t][e.name].push(e.value); else { const n = r[t][e.name]; r[t][e.name] = [n], r[t][e.name].push(e.value) } else r[t][e.name] = e.value } } return r } _newPacket() { return a("_newPacket"), this.packet && (this._list.consume(this.packet.length), a("_newPacket: parser emit packet: packet.cmd: %s, packet.payload: %s, packet.length: %d", this.packet.cmd, this.packet.payload, this.packet.length), this.emit("packet", this.packet)), a("_newPacket: new packet"), this.packet = new o, this._pos = 0, !0 } _emitError(e) { a("_emitError"), this.error = e, this.emit("error", e) } } t.exports = l }, { "./constants": 38, "./packet": 42, bl: 15, debug: 18, events: 22 }], 44: [function (e, t, r) { (function (r) { (function () { const n = e("./constants"), i = r.allocUnsafe(0), o = r.from([0]), s = e("./numbers"), a = e("process-nextick-args").nextTick, l = e("debug")("mqtt-packet:writeToStream"), u = s.cache, c = s.generateNumber, h = s.generateCache, f = s.genBufVariableByteInt, p = s.generate4ByteBuffer; let d = k, g = !0; function y(e, t, s) { switch (l("generate called"), t.cork && (t.cork(), a(b, t)), g && (g = !1, h()), l("generate: packet.cmd: %s", e.cmd), e.cmd) { case "connect": return function (e, t, i) { const o = e || {}, s = o.protocolId || "MQTT"; let a = o.protocolVersion || 4; const l = o.will; let u = o.clean; const c = o.keepalive || 0, h = o.clientId || "", f = o.username, p = o.password, g = o.properties; void 0 === u && (u = !0); let y = 0; if (!s || "string" != typeof s && !r.isBuffer(s)) return t.emit("error", new Error("Invalid protocolId")), !1; y += s.length + 2; if (3 !== a && 4 !== a && 5 !== a) return t.emit("error", new Error("Invalid protocol version")), !1; y += 1; if (("string" == typeof h || r.isBuffer(h)) && (h || a >= 4) && (h || u)) y += r.byteLength(h) + 2; else { if (a < 4) return t.emit("error", new Error("clientId must be supplied before 3.1.1")), !1; if (1 * u == 0) return t.emit("error", new Error("clientId must be given if cleanSession set to 0")), !1 } if ("number" != typeof c || c < 0 || c > 65535 || c % 1 != 0) return t.emit("error", new Error("Invalid keepalive")), !1; y += 2; if (y += 1, 5 === a) { var b = C(t, g); if (!b) return !1; y += b.length } if (l) { if ("object" != typeof l) return t.emit("error", new Error("Invalid will")), !1; if (!l.topic || "string" != typeof l.topic) return t.emit("error", new Error("Invalid will topic")), !1; if (y += r.byteLength(l.topic) + 2, y += 2, l.payload) { if (!(l.payload.length >= 0)) return t.emit("error", new Error("Invalid will payload")), !1; "string" == typeof l.payload ? y += r.byteLength(l.payload) : y += l.payload.length } var m = {}; if (5 === a) { if (!(m = C(t, l.properties))) return !1; y += m.length } } let _ = !1; if (null != f) { if (!P(f)) return t.emit("error", new Error("Invalid username")), !1; _ = !0, y += r.byteLength(f) + 2 } if (null != p) { if (!_) return t.emit("error", new Error("Username is required to use password")), !1; if (!P(p)) return t.emit("error", new Error("Invalid password")), !1; y += I(p) + 2 } t.write(n.CONNECT_HEADER), v(t, y), E(t, s), o.bridgeMode && (a += 128); t.write(131 === a ? n.VERSION131 : 132 === a ? n.VERSION132 : 4 === a ? n.VERSION4 : 5 === a ? n.VERSION5 : n.VERSION3); let k = 0; k |= null != f ? n.USERNAME_MASK : 0, k |= null != p ? n.PASSWORD_MASK : 0, k |= l && l.retain ? n.WILL_RETAIN_MASK : 0, k |= l && l.qos ? l.qos << n.WILL_QOS_SHIFT : 0, k |= l ? n.WILL_FLAG_MASK : 0, k |= u ? n.CLEAN_SESSION_MASK : 0, t.write(r.from([k])), d(t, c), 5 === a && b.write(); E(t, h), l && (5 === a && m.write(), w(t, l.topic), E(t, l.payload)); null != f && E(t, f); null != p && E(t, p); return !0 }(e, t); case "connack": return function (e, t, i) { const s = i ? i.protocolVersion : 4, a = e || {}, l = 5 === s ? a.reasonCode : a.returnCode, u = a.properties; let c = 2; if ("number" != typeof l) return t.emit("error", new Error("Invalid return code")), !1; let h = null; if (5 === s) { if (!(h = C(t, u))) return !1; c += h.length } t.write(n.CONNACK_HEADER), v(t, c), t.write(a.sessionPresent ? n.SESSIONPRESENT_HEADER : o), t.write(r.from([l])), null != h && h.write(); return !0 }(e, t, s); case "publish": return function (e, t, o) { l("publish: packet: %o", e); const s = o ? o.protocolVersion : 4, a = e || {}, u = a.qos || 0, c = a.retain ? n.RETAIN_MASK : 0, h = a.topic, f = a.payload || i, p = a.messageId, g = a.properties; let y = 0; if ("string" == typeof h) y += r.byteLength(h) + 2; else { if (!r.isBuffer(h)) return t.emit("error", new Error("Invalid topic")), !1; y += h.length + 2 } r.isBuffer(f) ? y += f.length : y += r.byteLength(f); if (u && "number" != typeof p) return t.emit("error", new Error("Invalid messageId")), !1; u && (y += 2); let b = null; if (5 === s) { if (!(b = C(t, g))) return !1; y += b.length } t.write(n.PUBLISH_HEADER[u][a.dup ? 1 : 0][c ? 1 : 0]), v(t, y), d(t, I(h)), t.write(h), u > 0 && d(t, p); null != b && b.write(); return l("publish: payload: %o", f), t.write(f) }(e, t, s); case "puback": case "pubrec": case "pubrel": case "pubcomp": return function (e, t, i) { const o = i ? i.protocolVersion : 4, s = e || {}, a = s.cmd || "puback", l = s.messageId, u = s.dup && "pubrel" === a ? n.DUP_MASK : 0; let c = 0; const h = s.reasonCode, f = s.properties; let p = 5 === o ? 3 : 2; "pubrel" === a && (c = 1); if ("number" != typeof l) return t.emit("error", new Error("Invalid messageId")), !1; let g = null; if (5 === o && "object" == typeof f) { if (!(g = T(t, f, i, p))) return !1; p += g.length } t.write(n.ACKS[a][c][u][0]), v(t, p), d(t, l), 5 === o && t.write(r.from([h])); null !== g && g.write(); return !0 }(e, t, s); case "subscribe": return function (e, t, i) { l("subscribe: packet: "); const o = i ? i.protocolVersion : 4, s = e || {}, a = s.dup ? n.DUP_MASK : 0, u = s.messageId, c = s.subscriptions, h = s.properties; let f = 0; if ("number" != typeof u) return t.emit("error", new Error("Invalid messageId")), !1; f += 2; let p = null; if (5 === o) { if (!(p = C(t, h))) return !1; f += p.length } if ("object" != typeof c || !c.length) return t.emit("error", new Error("Invalid subscriptions")), !1; for (let e = 0; e < c.length; e += 1) { const n = c[e].topic, i = c[e].qos; if ("string" != typeof n) return t.emit("error", new Error("Invalid subscriptions - invalid topic")), !1; if ("number" != typeof i) return t.emit("error", new Error("Invalid subscriptions - invalid qos")), !1; if (5 === o) { const r = c[e].nl || !1; if ("boolean" != typeof r) return t.emit("error", new Error("Invalid subscriptions - invalid No Local")), !1; const n = c[e].rap || !1; if ("boolean" != typeof n) return t.emit("error", new Error("Invalid subscriptions - invalid Retain as Published")), !1; const i = c[e].rh || 0; if ("number" != typeof i || i > 2) return t.emit("error", new Error("Invalid subscriptions - invalid Retain Handling")), !1 } f += r.byteLength(n) + 2 + 1 } l("subscribe: writing to stream: %o", n.SUBSCRIBE_HEADER), t.write(n.SUBSCRIBE_HEADER[1][a ? 1 : 0][0]), v(t, f), d(t, u), null !== p && p.write(); let g = !0; for (const e of c) { const i = e.topic, s = e.qos, a = +e.nl, l = +e.rap, u = e.rh; let c; w(t, i), c = n.SUBSCRIBE_OPTIONS_QOS[s], 5 === o && (c |= a ? n.SUBSCRIBE_OPTIONS_NL : 0, c |= l ? n.SUBSCRIBE_OPTIONS_RAP : 0, c |= u ? n.SUBSCRIBE_OPTIONS_RH[u] : 0), g = t.write(r.from([c])) } return g }(e, t, s); case "suback": return function (e, t, i) { const o = i ? i.protocolVersion : 4, s = e || {}, a = s.messageId, l = s.granted, u = s.properties; let c = 0; if ("number" != typeof a) return t.emit("error", new Error("Invalid messageId")), !1; c += 2; if ("object" != typeof l || !l.length) return t.emit("error", new Error("Invalid qos vector")), !1; for (let e = 0; e < l.length; e += 1) { if ("number" != typeof l[e]) return t.emit("error", new Error("Invalid qos vector")), !1; c += 1 } let h = null; if (5 === o) { if (!(h = T(t, u, i, c))) return !1; c += h.length } t.write(n.SUBACK_HEADER), v(t, c), d(t, a), null !== h && h.write(); return t.write(r.from(l)) }(e, t, s); case "unsubscribe": return function (e, t, i) { const o = i ? i.protocolVersion : 4, s = e || {}, a = s.messageId, l = s.dup ? n.DUP_MASK : 0, u = s.unsubscriptions, c = s.properties; let h = 0; if ("number" != typeof a) return t.emit("error", new Error("Invalid messageId")), !1; h += 2; if ("object" != typeof u || !u.length) return t.emit("error", new Error("Invalid unsubscriptions")), !1; for (let e = 0; e < u.length; e += 1) { if ("string" != typeof u[e]) return t.emit("error", new Error("Invalid unsubscriptions")), !1; h += r.byteLength(u[e]) + 2 } let f = null; if (5 === o) { if (!(f = C(t, c))) return !1; h += f.length } t.write(n.UNSUBSCRIBE_HEADER[1][l ? 1 : 0][0]), v(t, h), d(t, a), null !== f && f.write(); let p = !0; for (let e = 0; e < u.length; e++) p = w(t, u[e]); return p }(e, t, s); case "unsuback": return function (e, t, i) { const o = i ? i.protocolVersion : 4, s = e || {}, a = s.messageId, l = s.dup ? n.DUP_MASK : 0, u = s.granted, c = s.properties, h = s.cmd; let f = 2; if ("number" != typeof a) return t.emit("error", new Error("Invalid messageId")), !1; if (5 === o) { if ("object" != typeof u || !u.length) return t.emit("error", new Error("Invalid qos vector")), !1; for (let e = 0; e < u.length; e += 1) { if ("number" != typeof u[e]) return t.emit("error", new Error("Invalid qos vector")), !1; f += 1 } } let p = null; if (5 === o) { if (!(p = T(t, c, i, f))) return !1; f += p.length } t.write(n.ACKS[h][0][l][0]), v(t, f), d(t, a), null !== p && p.write(); 5 === o && t.write(r.from(u)); return !0 }(e, t, s); case "pingreq": case "pingresp": return function (e, t, r) { return t.write(n.EMPTY[e.cmd]) }(e, t); case "disconnect": return function (e, t, i) { const o = i ? i.protocolVersion : 4, s = e || {}, a = s.reasonCode, l = s.properties; let u = 5 === o ? 1 : 0, c = null; if (5 === o) { if (!(c = T(t, l, i, u))) return !1; u += c.length } t.write(r.from([n.codes.disconnect << 4])), v(t, u), 5 === o && t.write(r.from([a])); null !== c && c.write(); return !0 }(e, t, s); case "auth": return function (e, t, i) { const o = i ? i.protocolVersion : 4, s = e || {}, a = s.reasonCode, l = s.properties; let u = 5 === o ? 1 : 0; 5 !== o && t.emit("error", new Error("Invalid mqtt version for auth packet")); const c = T(t, l, i, u); if (!c) return !1; u += c.length, t.write(r.from([n.codes.auth << 4])), v(t, u), t.write(r.from([a])), null !== c && c.write(); return !0 }(e, t, s); default: return t.emit("error", new Error("Unknown command")), !1 } } function b(e) { e.uncork() } Object.defineProperty(y, "cacheNumbers", { get: () => d === k, set(e) { e ? (u && 0 !== Object.keys(u).length || (g = !0), d = k) : (g = !1, d = S) } }); const m = {}; function v(e, t) { if (t > n.VARBYTEINT_MAX) return e.emit("error", new Error(`Invalid variable byte integer: ${t}`)), !1; let r = m[t]; return r || (r = f(t), t < 16384 && (m[t] = r)), l("writeVarByteInt: writing to stream: %o", r), e.write(r) } function w(e, t) { const n = r.byteLength(t); return d(e, n), l("writeString: %s", t), e.write(t, "utf8") } function _(e, t, r) { w(e, t), w(e, r) } function k(e, t) { return l("writeNumberCached: number: %d", t), l("writeNumberCached: %o", u[t]), e.write(u[t]) } function S(e, t) { const r = c(t); return l("writeNumberGenerated: %o", r), e.write(r) } function E(e, t) { "string" == typeof t ? w(e, t) : t ? (d(e, t.length), e.write(t)) : d(e, 0) } function C(e, t) { if ("object" != typeof t || null != t.length) return { length: 1, write() { A(e, {}, 0) } }; let i = 0; function o(t, i) { let o = 0; switch (n.propertiesTypes[t]) { case "byte": if ("boolean" != typeof i) return e.emit("error", new Error(`Invalid ${t}: ${i}`)), !1; o += 2; break; case "int8": if ("number" != typeof i || i < 0 || i > 255) return e.emit("error", new Error(`Invalid ${t}: ${i}`)), !1; o += 2; break; case "binary": if (i && null === i) return e.emit("error", new Error(`Invalid ${t}: ${i}`)), !1; o += 1 + r.byteLength(i) + 2; break; case "int16": if ("number" != typeof i || i < 0 || i > 65535) return e.emit("error", new Error(`Invalid ${t}: ${i}`)), !1; o += 3; break; case "int32": if ("number" != typeof i || i < 0 || i > 4294967295) return e.emit("error", new Error(`Invalid ${t}: ${i}`)), !1; o += 5; break; case "var": if ("number" != typeof i || i < 0 || i > 268435455) return e.emit("error", new Error(`Invalid ${t}: ${i}`)), !1; o += 1 + r.byteLength(f(i)); break; case "string": if ("string" != typeof i) return e.emit("error", new Error(`Invalid ${t}: ${i}`)), !1; o += 3 + r.byteLength(i.toString()); break; case "pair": if ("object" != typeof i) return e.emit("error", new Error(`Invalid ${t}: ${i}`)), !1; o += Object.getOwnPropertyNames(i).reduce((e, t) => { const n = i[t]; return Array.isArray(n) ? e += n.reduce((e, n) => e += 3 + r.byteLength(t.toString()) + 2 + r.byteLength(n.toString()), 0) : e += 3 + r.byteLength(t.toString()) + 2 + r.byteLength(i[t].toString()), e }, 0); break; default: return e.emit("error", new Error(`Invalid property ${t}: ${i}`)), !1 } return o } if (t) for (const e in t) { let r = 0, n = 0; const s = t[e]; if (Array.isArray(s)) for (let t = 0; t < s.length; t++) { if (!(n = o(e, s[t]))) return !1; r += n } else { if (!(n = o(e, s))) return !1; r = n } if (!r) return !1; i += r } return { length: r.byteLength(f(i)) + i, write() { A(e, t, i) } } } function T(e, t, r, n) { const i = ["reasonString", "userProperties"], o = r && r.properties && r.properties.maximumPacketSize ? r.properties.maximumPacketSize : 0; let s = C(e, t); if (o) for (; n + s.length > o;) { const r = i.shift(); if (!r || !t[r]) return !1; delete t[r], s = C(e, t) } return s } function x(e, t, i) { switch (n.propertiesTypes[t]) { case "byte": e.write(r.from([n.properties[t]])), e.write(r.from([+i])); break; case "int8": e.write(r.from([n.properties[t]])), e.write(r.from([i])); break; case "binary": e.write(r.from([n.properties[t]])), E(e, i); break; case "int16": e.write(r.from([n.properties[t]])), d(e, i); break; case "int32": e.write(r.from([n.properties[t]])), function (e, t) { const r = p(t); l("write4ByteNumber: %o", r), e.write(r) }(e, i); break; case "var": e.write(r.from([n.properties[t]])), v(e, i); break; case "string": e.write(r.from([n.properties[t]])), w(e, i); break; case "pair": Object.getOwnPropertyNames(i).forEach(o => { const s = i[o]; Array.isArray(s) ? s.forEach(i => { e.write(r.from([n.properties[t]])), _(e, o.toString(), i.toString()) }) : (e.write(r.from([n.properties[t]])), _(e, o.toString(), s.toString())) }); break; default: return e.emit("error", new Error(`Invalid property ${t} value: ${i}`)), !1 } } function A(e, t, r) { v(e, r); for (const r in t) if (Object.prototype.hasOwnProperty.call(t, r) && null !== t[r]) { const n = t[r]; if (Array.isArray(n)) for (let t = 0; t < n.length; t++) x(e, r, n[t]); else x(e, r, n) } } function I(e) { return e ? e instanceof r ? e.length : r.byteLength(e) : 0 } function P(e) { return "string" == typeof e || e instanceof r } t.exports = y }).call(this) }).call(this, e("buffer").Buffer) }, { "./constants": 38, "./numbers": 41, buffer: 17, debug: 18, "process-nextick-args": 49 }], 45: [function (e, t, r) { var n = 1e3, i = 60 * n, o = 60 * i, s = 24 * o, a = 7 * s, l = 365.25 * s; function u(e, t, r, n) { var i = t >= 1.5 * r; return Math.round(e / r) + " " + n + (i ? "s" : "") } t.exports = function (e, t) { t = t || {}; var r = typeof e; if ("string" === r && e.length > 0) return function (e) { if ((e = String(e)).length > 100) return; var t = /^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(e); if (!t) return; var r = parseFloat(t[1]); switch ((t[2] || "ms").toLowerCase()) { case "years": case "year": case "yrs": case "yr": case "y": return r * l; case "weeks": case "week": case "w": return r * a; case "days": case "day": case "d": return r * s; case "hours": case "hour": case "hrs": case "hr": case "h": return r * o; case "minutes": case "minute": case "mins": case "min": case "m": return r * i; case "seconds": case "second": case "secs": case "sec": case "s": return r * n; case "milliseconds": case "millisecond": case "msecs": case "msec": case "ms": return r; default: return } }(e); if ("number" === r && isFinite(e)) return t.long ? function (e) { var t = Math.abs(e); if (t >= s) return u(e, t, s, "day"); if (t >= o) return u(e, t, o, "hour"); if (t >= i) return u(e, t, i, "minute"); if (t >= n) return u(e, t, n, "second"); return e + " ms" }(e) : function (e) { var t = Math.abs(e); if (t >= s) return Math.round(e / s) + "d"; if (t >= o) return Math.round(e / o) + "h"; if (t >= i) return Math.round(e / i) + "m"; if (t >= n) return Math.round(e / n) + "s"; return e + "ms" }(e); throw new Error("val is not a non-empty string or a valid number. val=" + JSON.stringify(e)) } }, {}], 46: [function (e, t, r) { const n = e("./lib/number-allocator.js"); t.exports.NumberAllocator = n }, { "./lib/number-allocator.js": 47 }], 47: [function (e, t, r) { "use strict"; const n = e("js-sdsl").Set, i = e("debug")("number-allocator:trace"), o = e("debug")("number-allocator:error"); function s(e, t) { this.low = e, this.high = t } function a(e, t) { if (!(this instanceof a)) return new a(e, t); this.min = e, this.max = t, this.ss = new n([], (e, t) => e.compare(t)), i("Create"), this.clear() } s.prototype.equals = function (e) { return this.low === e.low && this.high === e.high }, s.prototype.compare = function (e) { return this.low < e.low && this.high < e.low ? -1 : e.low < this.low && e.high < this.low ? 1 : 0 }, a.prototype.firstVacant = function () { return 0 === this.ss.size() ? null : this.ss.front().low }, a.prototype.alloc = function () { if (0 === this.ss.size()) return i("alloc():empty"), null; const e = this.ss.front(), t = e.low; return t + 1 <= e.high ? ++e.low : this.ss.eraseElementByPos(0), i("alloc():" + t), t }, a.prototype.use = function (e) { const t = new s(e, e), r = this.ss.lowerBound(t); if (r) { if (r.equals(t)) return this.ss.eraseElementByValue(r), i("use():" + e), !0; if (r.low > e) return !1; if (r.low === e) return ++r.low, i("use():" + e), !0; if (r.high === e) return --r.high, i("use():" + e), !0; const n = r.low; return r.low = e + 1, this.ss.insert(new s(n, e - 1)), i("use():" + e), !0 } return i("use():failed"), !1 }, a.prototype.free = function (e) { if (e < this.min || e > this.max) return void o("free():" + e + " is out of range"); const t = new s(e, e), r = this.ss.lowerBound(t); if (r) { if (r.low <= e && e <= r.high) return void o("free():" + e + " has already been vacant"); if (r === this.ss.front()) e + 1 === r.low ? --r.low : this.ss.insert(t); else { const n = this.ss.reverseLowerBound(t); n.high + 1 === e ? e + 1 === r.low ? (this.ss.eraseElementByValue(n), r.low = n.low) : n.high = e : e + 1 === r.low ? r.low = e : this.ss.insert(t) } } else { if (r === this.ss.front()) return void this.ss.insert(t); const n = this.ss.reverseLowerBound(t); n.high + 1 === e ? n.high = e : this.ss.insert(t) } i("free():" + e) }, a.prototype.clear = function () { i("clear()"), this.ss.clear(), this.ss.insert(new s(this.min, this.max)) }, a.prototype.intervalCount = function () { return this.ss.size() }, a.prototype.dump = function () { console.log("length:" + this.ss.size()); for (const e of this.ss) console.log(e) }, t.exports = a }, { debug: 18, "js-sdsl": 36 }], 48: [function (e, t, r) { var n = e("wrappy"); function i(e) { var t = function () { return t.called ? t.value : (t.called = !0, t.value = e.apply(this, arguments)) }; return t.called = !1, t } function o(e) { var t = function () { if (t.called) throw new Error(t.onceError); return t.called = !0, t.value = e.apply(this, arguments) }, r = e.name || "Function wrapped with `once`"; return t.onceError = r + " shouldn't be called more than once", t.called = !1, t } t.exports = n(i), t.exports.strict = n(o), i.proto = i(function () { Object.defineProperty(Function.prototype, "once", { value: function () { return i(this) }, configurable: !0 }), Object.defineProperty(Function.prototype, "onceStrict", { value: function () { return o(this) }, configurable: !0 }) }) }, { wrappy: 79 }], 49: [function (e, t, r) { (function (e) { (function () { "use strict"; void 0 === e || !e.version || 0 === e.version.indexOf("v0.") || 0 === e.version.indexOf("v1.") && 0 !== e.version.indexOf("v1.8.") ? t.exports = { nextTick: function (t, r, n, i) { if ("function" != typeof t) throw new TypeError('"callback" argument must be a function'); var o, s, a = arguments.length; switch (a) { case 0: case 1: return e.nextTick(t); case 2: return e.nextTick(function () { t.call(null, r) }); case 3: return e.nextTick(function () { t.call(null, r, n) }); case 4: return e.nextTick(function () { t.call(null, r, n, i) }); default: for (o = new Array(a - 1), s = 0; s < o.length;) o[s++] = arguments[s]; return e.nextTick(function () { t.apply(null, o) }) } } } : t.exports = e }).call(this) }).call(this, e("_process")) }, { _process: 50 }], 50: [function (e, t, r) { var n, i, o = t.exports = {}; function s() { throw new Error("setTimeout has not been defined") } function a() { throw new Error("clearTimeout has not been defined") } function l(e) { if (n === setTimeout) return setTimeout(e, 0); if ((n === s || !n) && setTimeout) return n = setTimeout, setTimeout(e, 0); try { return n(e, 0) } catch (t) { try { return n.call(null, e, 0) } catch (t) { return n.call(this, e, 0) } } }! function () { try { n = "function" == typeof setTimeout ? setTimeout : s } catch (e) { n = s } try { i = "function" == typeof clearTimeout ? clearTimeout : a } catch (e) { i = a } }(); var u, c = [], h = !1, f = -1; function p() { h && u && (h = !1, u.length ? c = u.concat(c) : f = -1, c.length && d()) } function d() { if (!h) { var e = l(p); h = !0; for (var t = c.length; t;) { for (u = c, c = []; ++f < t;) u && u[f].run(); f = -1, t = c.length } u = null, h = !1, function (e) { if (i === clearTimeout) return clearTimeout(e); if ((i === a || !i) && clearTimeout) return i = clearTimeout, clearTimeout(e); try { i(e) } catch (t) { try { return i.call(null, e) } catch (t) { return i.call(this, e) } } }(e) } } function g(e, t) { this.fun = e, this.array = t } function y() {} o.nextTick = function (e) { var t = new Array(arguments.length - 1); if (arguments.length > 1) for (var r = 1; r < arguments.length; r++) t[r - 1] = arguments[r]; c.push(new g(e, t)), 1 !== c.length || h || l(d) }, g.prototype.run = function () { this.fun.apply(null, this.array) }, o.title = "browser", o.browser = !0, o.env = {}, o.argv = [], o.version = "", o.versions = {}, o.on = y, o.addListener = y, o.once = y, o.off = y, o.removeListener = y, o.removeAllListeners = y, o.emit = y, o.prependListener = y, o.prependOnceListener = y, o.listeners = function (e) { return [] }, o.binding = function (e) { throw new Error("process.binding is not supported") }, o.cwd = function () { return "/" }, o.chdir = function (e) { throw new Error("process.chdir is not supported") }, o.umask = function () { return 0 } }, {}], 51: [function (e, t, r) { (function (e) { (function () { ! function (n) { var i = "object" == typeof r && r && !r.nodeType && r, o = "object" == typeof t && t && !t.nodeType && t, s = "object" == typeof e && e; s.global !== s && s.window !== s && s.self !== s || (n = s); var a, l, u = 2147483647, c = 36, h = 1, f = 26, p = 38, d = 700, g = 72, y = 128, b = "-", m = /^xn--/, v = /[^\x20-\x7E]/, w = /[\x2E\u3002\uFF0E\uFF61]/g, _ = { overflow: "Overflow: input needs wider integers to process", "not-basic": "Illegal input >= 0x80 (not a basic code point)", "invalid-input": "Invalid input" }, k = c - h, S = Math.floor, E = String.fromCharCode; function C(e) { throw new RangeError(_[e]) } function T(e, t) { for (var r = e.length, n = []; r--;) n[r] = t(e[r]); return n } function x(e, t) { var r = e.split("@"), n = ""; return r.length > 1 && (n = r[0] + "@", e = r[1]), n + T((e = e.replace(w, ".")).split("."), t).join(".") } function A(e) { for (var t, r, n = [], i = 0, o = e.length; i < o;)(t = e.charCodeAt(i++)) >= 55296 && t <= 56319 && i < o ? 56320 == (64512 & (r = e.charCodeAt(i++))) ? n.push(((1023 & t) << 10) + (1023 & r) + 65536) : (n.push(t), i--) : n.push(t); return n } function I(e) { return T(e, function (e) { var t = ""; return e > 65535 && (t += E((e -= 65536) >>> 10 & 1023 | 55296), e = 56320 | 1023 & e), t += E(e) }).join("") } function P(e, t) { return e + 22 + 75 * (e < 26) - ((0 != t) << 5) } function O(e, t, r) { var n = 0; for (e = r ? S(e / d) : e >> 1, e += S(e / t); e > k * f >> 1; n += c) e = S(e / k); return S(n + (k + 1) * e / (e + p)) } function B(e) { var t, r, n, i, o, s, a, l, p, d, m, v = [], w = e.length, _ = 0, k = y, E = g; for ((r = e.lastIndexOf(b)) < 0 && (r = 0), n = 0; n < r; ++n) e.charCodeAt(n) >= 128 && C("not-basic"), v.push(e.charCodeAt(n)); for (i = r > 0 ? r + 1 : 0; i < w;) { for (o = _, s = 1, a = c; i >= w && C("invalid-input"), ((l = (m = e.charCodeAt(i++)) - 48 < 10 ? m - 22 : m - 65 < 26 ? m - 65 : m - 97 < 26 ? m - 97 : c) >= c || l > S((u - _) / s)) && C("overflow"), _ += l * s, !(l < (p = a <= E ? h : a >= E + f ? f : a - E)); a += c) s > S(u / (d = c - p)) && C("overflow"), s *= d; E = O(_ - o, t = v.length + 1, 0 == o), S(_ / t) > u - k && C("overflow"), k += S(_ / t), _ %= t, v.splice(_++, 0, k) } return I(v) } function R(e) { var t, r, n, i, o, s, a, l, p, d, m, v, w, _, k, T = []; for (v = (e = A(e)).length, t = y, r = 0, o = g, s = 0; s < v; ++s)(m = e[s]) < 128 && T.push(E(m)); for (n = i = T.length, i && T.push(b); n < v;) { for (a = u, s = 0; s < v; ++s)(m = e[s]) >= t && m < a && (a = m); for (a - t > S((u - r) / (w = n + 1)) && C("overflow"), r += (a - t) * w, t = a, s = 0; s < v; ++s) if ((m = e[s]) < t && ++r > u && C("overflow"), m == t) { for (l = r, p = c; !(l < (d = p <= o ? h : p >= o + f ? f : p - o)); p += c) k = l - d, _ = c - d, T.push(E(P(d + k % _, 0))), l = S(k / _); T.push(E(P(l, 0))), o = O(r, w, n == i), r = 0, ++n }++ r, ++t } return T.join("") } if (a = { version: "1.4.1", ucs2: { decode: A, encode: I }, decode: B, encode: R, toASCII: function (e) { return x(e, function (e) { return v.test(e) ? "xn--" + R(e) : e }) }, toUnicode: function (e) { return x(e, function (e) { return m.test(e) ? B(e.slice(4).toLowerCase()) : e }) } }, i && o) if (t.exports == i) o.exports = a; else for (l in a) a.hasOwnProperty(l) && (i[l] = a[l]); else n.punycode = a }(this) }).call(this) }).call(this, "undefined" != typeof global ? global : "undefined" != typeof self ? self : "undefined" != typeof window ? window : {}) }, {}], 52: [function (e, t, r) { "use strict"; function n(e, t) { return Object.prototype.hasOwnProperty.call(e, t) } t.exports = function (e, t, r, o) { t = t || "&", r = r || "="; var s = {}; if ("string" != typeof e || 0 === e.length) return s; var a = /\+/g; e = e.split(t); var l = 1e3; o && "number" == typeof o.maxKeys && (l = o.maxKeys); var u = e.length; l > 0 && u > l && (u = l); for (var c = 0; c < u; ++c) { var h, f, p, d, g = e[c].replace(a, "%20"), y = g.indexOf(r); y >= 0 ? (h = g.substr(0, y), f = g.substr(y + 1)) : (h = g, f = ""), p = decodeURIComponent(h), d = decodeURIComponent(f), n(s, p) ? i(s[p]) ? s[p].push(d) : s[p] = [s[p], d] : s[p] = d } return s }; var i = Array.isArray || function (e) { return "[object Array]" === Object.prototype.toString.call(e) } }, {}], 53: [function (e, t, r) { "use strict"; var n = function (e) { switch (typeof e) { case "string": return e; case "boolean": return e ? "true" : "false"; case "number": return isFinite(e) ? e : ""; default: return "" } }; t.exports = function (e, t, r, a) { return t = t || "&", r = r || "=", null === e && (e = void 0), "object" == typeof e ? o(s(e), function (s) { var a = encodeURIComponent(n(s)) + r; return i(e[s]) ? o(e[s], function (e) { return a + encodeURIComponent(n(e)) }).join(t) : a + encodeURIComponent(n(e[s])) }).join(t) : a ? encodeURIComponent(n(a)) + r + encodeURIComponent(n(e)) : "" }; var i = Array.isArray || function (e) { return "[object Array]" === Object.prototype.toString.call(e) }; function o(e, t) { if (e.map) return e.map(t); for (var r = [], n = 0; n < e.length; n++) r.push(t(e[n], n)); return r } var s = Object.keys || function (e) { var t = []; for (var r in e) Object.prototype.hasOwnProperty.call(e, r) && t.push(r); return t } }, {}], 54: [function (e, t, r) { "use strict"; r.decode = r.parse = e("./decode"), r.encode = r.stringify = e("./encode") }, { "./decode": 52, "./encode": 53 }], 55: [function (e, t, r) { "use strict"; var n = {}; function i(e, t, r) { r || (r = Error); var i = function (e) { var r, n; function i(r, n, i) { return e.call(this, function (e, r, n) { return "string" == typeof t ? t : t(e, r, n) }(r, n, i)) || this } return n = e, (r = i).prototype = Object.create(n.prototype), r.prototype.constructor = r, r.__proto__ = n, i }(r); i.prototype.name = r.name, i.prototype.code = e, n[e] = i } function o(e, t) { if (Array.isArray(e)) { var r = e.length; return e = e.map(function (e) { return String(e) }), r > 2 ? "one of ".concat(t, " ").concat(e.slice(0, r - 1).join(", "), ", or ") + e[r - 1] : 2 === r ? "one of ".concat(t, " ").concat(e[0], " or ").concat(e[1]) : "of ".concat(t, " ").concat(e[0]) } return "of ".concat(t, " ").concat(String(e)) } i("ERR_INVALID_OPT_VALUE", function (e, t) { return 'The value "' + t + '" is invalid for option "' + e + '"' }, TypeError), i("ERR_INVALID_ARG_TYPE", function (e, t, r) { var n, i, s, a; if ("string" == typeof t && (i = "not ", t.substr(!s || s < 0 ? 0 : +s, i.length) === i) ? (n = "must not be", t = t.replace(/^not /, "")) : n = "must be", function (e, t, r) { return (void 0 === r || r > e.length) && (r = e.length), e.substring(r - t.length, r) === t }(e, " argument")) a = "The ".concat(e, " ").concat(n, " ").concat(o(t, "type")); else { var l = function (e, t, r) { return "number" != typeof r && (r = 0), !(r + t.length > e.length) && -1 !== e.indexOf(t, r) }(e, ".") ? "property" : "argument"; a = 'The "'.concat(e, '" ').concat(l, " ").concat(n, " ").concat(o(t, "type")) } return a += ". Received type ".concat(typeof r) }, TypeError), i("ERR_STREAM_PUSH_AFTER_EOF", "stream.push() after EOF"), i("ERR_METHOD_NOT_IMPLEMENTED", function (e) { return "The " + e + " method is not implemented" }), i("ERR_STREAM_PREMATURE_CLOSE", "Premature close"), i("ERR_STREAM_DESTROYED", function (e) { return "Cannot call " + e + " after a stream was destroyed" }), i("ERR_MULTIPLE_CALLBACK", "Callback called multiple times"), i("ERR_STREAM_CANNOT_PIPE", "Cannot pipe, not readable"), i("ERR_STREAM_WRITE_AFTER_END", "write after end"), i("ERR_STREAM_NULL_VALUES", "May not write null values to stream", TypeError), i("ERR_UNKNOWN_ENCODING", function (e) { return "Unknown encoding: " + e }, TypeError), i("ERR_STREAM_UNSHIFT_AFTER_END_EVENT", "stream.unshift() after end event"), t.exports.codes = n }, {}], 56: [function (e, t, r) { (function (r) { (function () { "use strict"; var n = Object.keys || function (e) { var t = []; for (var r in e) t.push(r); return t }; t.exports = u; var i = e("./_stream_readable"), o = e("./_stream_writable"); e("inherits")(u, i); for (var s = n(o.prototype), a = 0; a < s.length; a++) { var l = s[a]; u.prototype[l] || (u.prototype[l] = o.prototype[l]) } function u(e) { if (!(this instanceof u)) return new u(e); i.call(this, e), o.call(this, e), this.allowHalfOpen = !0, e && (!1 === e.readable && (this.readable = !1), !1 === e.writable && (this.writable = !1), !1 === e.allowHalfOpen && (this.allowHalfOpen = !1, this.once("end", c))) } function c() { this._writableState.ended || r.nextTick(h, this) } function h(e) { e.end() } Object.defineProperty(u.prototype, "writableHighWaterMark", { enumerable: !1, get: function () { return this._writableState.highWaterMark } }), Object.defineProperty(u.prototype, "writableBuffer", { enumerable: !1, get: function () { return this._writableState && this._writableState.getBuffer() } }), Object.defineProperty(u.prototype, "writableLength", { enumerable: !1, get: function () { return this._writableState.length } }), Object.defineProperty(u.prototype, "destroyed", { enumerable: !1, get: function () { return void 0 !== this._readableState && void 0 !== this._writableState && (this._readableState.destroyed && this._writableState.destroyed) }, set: function (e) { void 0 !== this._readableState && void 0 !== this._writableState && (this._readableState.destroyed = e, this._writableState.destroyed = e) } }) }).call(this) }).call(this, e("_process")) }, { "./_stream_readable": 58, "./_stream_writable": 60, _process: 50, inherits: 24 }], 57: [function (e, t, r) { "use strict"; t.exports = i; var n = e("./_stream_transform"); function i(e) { if (!(this instanceof i)) return new i(e); n.call(this, e) } e("inherits")(i, n), i.prototype._transform = function (e, t, r) { r(null, e) } }, { "./_stream_transform": 59, inherits: 24 }], 58: [function (e, t, r) { (function (r, n) { (function () { "use strict"; var i; t.exports = C, C.ReadableState = E; e("events").EventEmitter; var o = function (e, t) { return e.listeners(t).length }, s = e("./internal/streams/stream"), a = e("buffer").Buffer, l = n.Uint8Array || function () {}; var u, c = e("util"); u = c && c.debuglog ? c.debuglog("stream") : function () {}; var h, f, p, d = e("./internal/streams/buffer_list"), g = e("./internal/streams/destroy"), y = e("./internal/streams/state").getHighWaterMark, b = e("../errors").codes, m = b.ERR_INVALID_ARG_TYPE, v = b.ERR_STREAM_PUSH_AFTER_EOF, w = b.ERR_METHOD_NOT_IMPLEMENTED, _ = b.ERR_STREAM_UNSHIFT_AFTER_END_EVENT; e("inherits")(C, s); var k = g.errorOrDestroy, S = ["error", "close", "destroy", "pause", "resume"]; function E(t, r, n) { i = i || e("./_stream_duplex"), t = t || {}, "boolean" != typeof n && (n = r instanceof i), this.objectMode = !!t.objectMode, n && (this.objectMode = this.objectMode || !!t.readableObjectMode), this.highWaterMark = y(this, t, "readableHighWaterMark", n), this.buffer = new d, this.length = 0, this.pipes = null, this.pipesCount = 0, this.flowing = null, this.ended = !1, this.endEmitted = !1, this.reading = !1, this.sync = !0, this.needReadable = !1, this.emittedReadable = !1, this.readableListening = !1, this.resumeScheduled = !1, this.paused = !0, this.emitClose = !1 !== t.emitClose, this.autoDestroy = !!t.autoDestroy, this.destroyed = !1, this.defaultEncoding = t.defaultEncoding || "utf8", this.awaitDrain = 0, this.readingMore = !1, this.decoder = null, this.encoding = null, t.encoding && (h || (h = e("string_decoder/").StringDecoder), this.decoder = new h(t.encoding), this.encoding = t.encoding) } function C(t) { if (i = i || e("./_stream_duplex"), !(this instanceof C)) return new C(t); var r = this instanceof i; this._readableState = new E(t, this, r), this.readable = !0, t && ("function" == typeof t.read && (this._read = t.read), "function" == typeof t.destroy && (this._destroy = t.destroy)), s.call(this) } function T(e, t, r, n, i) { u("readableAddChunk", t); var o, s = e._readableState; if (null === t) s.reading = !1, function (e, t) { if (u("onEofChunk"), t.ended) return; if (t.decoder) { var r = t.decoder.end(); r && r.length && (t.buffer.push(r), t.length += t.objectMode ? 1 : r.length) } t.ended = !0, t.sync ? P(e) : (t.needReadable = !1, t.emittedReadable || (t.emittedReadable = !0, O(e))) }(e, s); else if (i || (o = function (e, t) { var r; n = t, a.isBuffer(n) || n instanceof l || "string" == typeof t || void 0 === t || e.objectMode || (r = new m("chunk", ["string", "Buffer", "Uint8Array"], t)); var n; return r }(s, t)), o) k(e, o); else if (s.objectMode || t && t.length > 0) if ("string" == typeof t || s.objectMode || Object.getPrototypeOf(t) === a.prototype || (t = function (e) { return a.from(e) }(t)), n) s.endEmitted ? k(e, new _) : x(e, s, t, !0); else if (s.ended) k(e, new v); else { if (s.destroyed) return !1; s.reading = !1, s.decoder && !r ? (t = s.decoder.write(t), s.objectMode || 0 !== t.length ? x(e, s, t, !1) : B(e, s)) : x(e, s, t, !1) } else n || (s.reading = !1, B(e, s)); return !s.ended && (s.length < s.highWaterMark || 0 === s.length) } function x(e, t, r, n) { t.flowing && 0 === t.length && !t.sync ? (t.awaitDrain = 0, e.emit("data", r)) : (t.length += t.objectMode ? 1 : r.length, n ? t.buffer.unshift(r) : t.buffer.push(r), t.needReadable && P(e)), B(e, t) } Object.defineProperty(C.prototype, "destroyed", { enumerable: !1, get: function () { return void 0 !== this._readableState && this._readableState.destroyed }, set: function (e) { this._readableState && (this._readableState.destroyed = e) } }), C.prototype.destroy = g.destroy, C.prototype._undestroy = g.undestroy, C.prototype._destroy = function (e, t) { t(e) }, C.prototype.push = function (e, t) { var r, n = this._readableState; return n.objectMode ? r = !0 : "string" == typeof e && ((t = t || n.defaultEncoding) !== n.encoding && (e = a.from(e, t), t = ""), r = !0), T(this, e, t, !1, r) }, C.prototype.unshift = function (e) { return T(this, e, null, !0, !1) }, C.prototype.isPaused = function () { return !1 === this._readableState.flowing }, C.prototype.setEncoding = function (t) { h || (h = e("string_decoder/").StringDecoder); var r = new h(t); this._readableState.decoder = r, this._readableState.encoding = this._readableState.decoder.encoding; for (var n = this._readableState.buffer.head, i = ""; null !== n;) i += r.write(n.data), n = n.next; return this._readableState.buffer.clear(), "" !== i && this._readableState.buffer.push(i), this._readableState.length = i.length, this }; var A = 1073741824; function I(e, t) { return e <= 0 || 0 === t.length && t.ended ? 0 : t.objectMode ? 1 : e != e ? t.flowing && t.length ? t.buffer.head.data.length : t.length : (e > t.highWaterMark && (t.highWaterMark = function (e) { return e >= A ? e = A : (e--, e |= e >>> 1, e |= e >>> 2, e |= e >>> 4, e |= e >>> 8, e |= e >>> 16, e++), e }(e)), e <= t.length ? e : t.ended ? t.length : (t.needReadable = !0, 0)) } function P(e) { var t = e._readableState; u("emitReadable", t.needReadable, t.emittedReadable), t.needReadable = !1, t.emittedReadable || (u("emitReadable", t.flowing), t.emittedReadable = !0, r.nextTick(O, e)) } function O(e) { var t = e._readableState; u("emitReadable_", t.destroyed, t.length, t.ended), t.destroyed || !t.length && !t.ended || (e.emit("readable"), t.emittedReadable = !1), t.needReadable = !t.flowing && !t.ended && t.length <= t.highWaterMark, j(e) } function B(e, t) { t.readingMore || (t.readingMore = !0, r.nextTick(R, e, t)) } function R(e, t) { for (; !t.reading && !t.ended && (t.length < t.highWaterMark || t.flowing && 0 === t.length);) { var r = t.length; if (u("maybeReadMore read 0"), e.read(0), r === t.length) break } t.readingMore = !1 } function M(e) { var t = e._readableState; t.readableListening = e.listenerCount("readable") > 0, t.resumeScheduled && !t.paused ? t.flowing = !0 : e.listenerCount("data") > 0 && e.resume() } function N(e) { u("readable nexttick read 0"), e.read(0) } function L(e, t) { u("resume", t.reading), t.reading || e.read(0), t.resumeScheduled = !1, e.emit("resume"), j(e), t.flowing && !t.reading && e.read(0) } function j(e) { var t = e._readableState; for (u("flow", t.flowing); t.flowing && null !== e.read();); } function U(e, t) { return 0 === t.length ? null : (t.objectMode ? r = t.buffer.shift() : !e || e >= t.length ? (r = t.decoder ? t.buffer.join("") : 1 === t.buffer.length ? t.buffer.first() : t.buffer.concat(t.length), t.buffer.clear()) : r = t.buffer.consume(e, t.decoder), r); var r } function q(e) { var t = e._readableState; u("endReadable", t.endEmitted), t.endEmitted || (t.ended = !0, r.nextTick(D, t, e)) } function D(e, t) { if (u("endReadableNT", e.endEmitted, e.length), !e.endEmitted && 0 === e.length && (e.endEmitted = !0, t.readable = !1, t.emit("end"), e.autoDestroy)) { var r = t._writableState; (!r || r.autoDestroy && r.finished) && t.destroy() } } function z(e, t) { for (var r = 0, n = e.length; r < n; r++) if (e[r] === t) return r; return -1 } C.prototype.read = function (e) { u("read", e), e = parseInt(e, 10); var t = this._readableState, r = e; if (0 !== e && (t.emittedReadable = !1), 0 === e && t.needReadable && ((0 !== t.highWaterMark ? t.length >= t.highWaterMark : t.length > 0) || t.ended)) return u("read: emitReadable", t.length, t.ended), 0 === t.length && t.ended ? q(this) : P(this), null; if (0 === (e = I(e, t)) && t.ended) return 0 === t.length && q(this), null; var n, i = t.needReadable; return u("need readable", i), (0 === t.length || t.length - e < t.highWaterMark) && u("length less than watermark", i = !0), t.ended || t.reading ? u("reading or ended", i = !1) : i && (u("do read"), t.reading = !0, t.sync = !0, 0 === t.length && (t.needReadable = !0), this._read(t.highWaterMark), t.sync = !1, t.reading || (e = I(r, t))), null === (n = e > 0 ? U(e, t) : null) ? (t.needReadable = t.length <= t.highWaterMark, e = 0) : (t.length -= e, t.awaitDrain = 0), 0 === t.length && (t.ended || (t.needReadable = !0), r !== e && t.ended && q(this)), null !== n && this.emit("data", n), n }, C.prototype._read = function (e) { k(this, new w("_read()")) }, C.prototype.pipe = function (e, t) { var n = this, i = this._readableState; switch (i.pipesCount) { case 0: i.pipes = e; break; case 1: i.pipes = [i.pipes, e]; break; default: i.pipes.push(e) } i.pipesCount += 1, u("pipe count=%d opts=%j", i.pipesCount, t); var s = (!t || !1 !== t.end) && e !== r.stdout && e !== r.stderr ? l : y; function a(t, r) { u("onunpipe"), t === n && r && !1 === r.hasUnpiped && (r.hasUnpiped = !0, u("cleanup"), e.removeListener("close", d), e.removeListener("finish", g), e.removeListener("drain", c), e.removeListener("error", p), e.removeListener("unpipe", a), n.removeListener("end", l), n.removeListener("end", y), n.removeListener("data", f), h = !0, !i.awaitDrain || e._writableState && !e._writableState.needDrain || c()) } function l() { u("onend"), e.end() } i.endEmitted ? r.nextTick(s) : n.once("end", s), e.on("unpipe", a); var c = function (e) { return function () { var t = e._readableState; u("pipeOnDrain", t.awaitDrain), t.awaitDrain && t.awaitDrain--, 0 === t.awaitDrain && o(e, "data") && (t.flowing = !0, j(e)) } }(n); e.on("drain", c); var h = !1; function f(t) { u("ondata"); var r = e.write(t); u("dest.write", r), !1 === r && ((1 === i.pipesCount && i.pipes === e || i.pipesCount > 1 && -1 !== z(i.pipes, e)) && !h && (u("false write response, pause", i.awaitDrain), i.awaitDrain++), n.pause()) } function p(t) { u("onerror", t), y(), e.removeListener("error", p), 0 === o(e, "error") && k(e, t) } function d() { e.removeListener("finish", g), y() } function g() { u("onfinish"), e.removeListener("close", d), y() } function y() { u("unpipe"), n.unpipe(e) } return n.on("data", f), function (e, t, r) { if ("function" == typeof e.prependListener) return e.prependListener(t, r); e._events && e._events[t] ? Array.isArray(e._events[t]) ? e._events[t].unshift(r) : e._events[t] = [r, e._events[t]] : e.on(t, r) }(e, "error", p), e.once("close", d), e.once("finish", g), e.emit("pipe", n), i.flowing || (u("pipe resume"), n.resume()), e }, C.prototype.unpipe = function (e) { var t = this._readableState, r = { hasUnpiped: !1 }; if (0 === t.pipesCount) return this; if (1 === t.pipesCount) return e && e !== t.pipes ? this : (e || (e = t.pipes), t.pipes = null, t.pipesCount = 0, t.flowing = !1, e && e.emit("unpipe", this, r), this); if (!e) { var n = t.pipes, i = t.pipesCount; t.pipes = null, t.pipesCount = 0, t.flowing = !1; for (var o = 0; o < i; o++) n[o].emit("unpipe", this, { hasUnpiped: !1 }); return this } var s = z(t.pipes, e); return -1 === s ? this : (t.pipes.splice(s, 1), t.pipesCount -= 1, 1 === t.pipesCount && (t.pipes = t.pipes[0]), e.emit("unpipe", this, r), this) }, C.prototype.on = function (e, t) { var n = s.prototype.on.call(this, e, t), i = this._readableState; return "data" === e ? (i.readableListening = this.listenerCount("readable") > 0, !1 !== i.flowing && this.resume()) : "readable" === e && (i.endEmitted || i.readableListening || (i.readableListening = i.needReadable = !0, i.flowing = !1, i.emittedReadable = !1, u("on readable", i.length, i.reading), i.length ? P(this) : i.reading || r.nextTick(N, this))), n }, C.prototype.addListener = C.prototype.on, C.prototype.removeListener = function (e, t) { var n = s.prototype.removeListener.call(this, e, t); return "readable" === e && r.nextTick(M, this), n }, C.prototype.removeAllListeners = function (e) { var t = s.prototype.removeAllListeners.apply(this, arguments); return "readable" !== e && void 0 !== e || r.nextTick(M, this), t }, C.prototype.resume = function () { var e = this._readableState; return e.flowing || (u("resume"), e.flowing = !e.readableListening, function (e, t) { t.resumeScheduled || (t.resumeScheduled = !0, r.nextTick(L, e, t)) }(this, e)), e.paused = !1, this }, C.prototype.pause = function () { return u("call pause flowing=%j", this._readableState.flowing), !1 !== this._readableState.flowing && (u("pause"), this._readableState.flowing = !1, this.emit("pause")), this._readableState.paused = !0, this }, C.prototype.wrap = function (e) { var t = this, r = this._readableState, n = !1; for (var i in e.on("end", function () { if (u("wrapped end"), r.decoder && !r.ended) { var e = r.decoder.end(); e && e.length && t.push(e) } t.push(null) }), e.on("data", function (i) { (u("wrapped data"), r.decoder && (i = r.decoder.write(i)), !r.objectMode || null !== i && void 0 !== i) && ((r.objectMode || i && i.length) && (t.push(i) || (n = !0, e.pause()))) }), e) void 0 === this[i] && "function" == typeof e[i] && (this[i] = function (t) { return function () { return e[t].apply(e, arguments) } }(i)); for (var o = 0; o < S.length; o++) e.on(S[o], this.emit.bind(this, S[o])); return this._read = function (t) { u("wrapped _read", t), n && (n = !1, e.resume()) }, this }, "function" == typeof Symbol && (C.prototype[Symbol.asyncIterator] = function () { return void 0 === f && (f = e("./internal/streams/async_iterator")), f(this) }), Object.defineProperty(C.prototype, "readableHighWaterMark", { enumerable: !1, get: function () { return this._readableState.highWaterMark } }), Object.defineProperty(C.prototype, "readableBuffer", { enumerable: !1, get: function () { return this._readableState && this._readableState.buffer } }), Object.defineProperty(C.prototype, "readableFlowing", { enumerable: !1, get: function () { return this._readableState.flowing }, set: function (e) { this._readableState && (this._readableState.flowing = e) } }), C._fromList = U, Object.defineProperty(C.prototype, "readableLength", { enumerable: !1, get: function () { return this._readableState.length } }), "function" == typeof Symbol && (C.from = function (t, r) { return void 0 === p && (p = e("./internal/streams/from")), p(C, t, r) }) }).call(this) }).call(this, e("_process"), "undefined" != typeof global ? global : "undefined" != typeof self ? self : "undefined" != typeof window ? window : {}) }, { "../errors": 55, "./_stream_duplex": 56, "./internal/streams/async_iterator": 61, "./internal/streams/buffer_list": 62, "./internal/streams/destroy": 63, "./internal/streams/from": 65, "./internal/streams/state": 67, "./internal/streams/stream": 68, _process: 50, buffer: 17, events: 22, inherits: 24, "string_decoder/": 75, util: 16 }], 59: [function (e, t, r) { "use strict"; t.exports = u; var n = e("../errors").codes, i = n.ERR_METHOD_NOT_IMPLEMENTED, o = n.ERR_MULTIPLE_CALLBACK, s = n.ERR_TRANSFORM_ALREADY_TRANSFORMING, a = n.ERR_TRANSFORM_WITH_LENGTH_0, l = e("./_stream_duplex"); function u(e) { if (!(this instanceof u)) return new u(e); l.call(this, e), this._transformState = { afterTransform: function (e, t) { var r = this._transformState; r.transforming = !1; var n = r.writecb; if (null === n) return this.emit("error", new o); r.writechunk = null, r.writecb = null, null != t && this.push(t), n(e); var i = this._readableState; i.reading = !1, (i.needReadable || i.length < i.highWaterMark) && this._read(i.highWaterMark) }.bind(this), needTransform: !1, transforming: !1, writecb: null, writechunk: null, writeencoding: null }, this._readableState.needReadable = !0, this._readableState.sync = !1, e && ("function" == typeof e.transform && (this._transform = e.transform), "function" == typeof e.flush && (this._flush = e.flush)), this.on("prefinish", c) } function c() { var e = this; "function" != typeof this._flush || this._readableState.destroyed ? h(this, null, null) : this._flush(function (t, r) { h(e, t, r) }) } function h(e, t, r) { if (t) return e.emit("error", t); if (null != r && e.push(r), e._writableState.length) throw new a; if (e._transformState.transforming) throw new s; return e.push(null) } e("inherits")(u, l), u.prototype.push = function (e, t) { return this._transformState.needTransform = !1, l.prototype.push.call(this, e, t) }, u.prototype._transform = function (e, t, r) { r(new i("_transform()")) }, u.prototype._write = function (e, t, r) { var n = this._transformState; if (n.writecb = r, n.writechunk = e, n.writeencoding = t, !n.transforming) { var i = this._readableState; (n.needTransform || i.needReadable || i.length < i.highWaterMark) && this._read(i.highWaterMark) } }, u.prototype._read = function (e) { var t = this._transformState; null === t.writechunk || t.transforming ? t.needTransform = !0 : (t.transforming = !0, this._transform(t.writechunk, t.writeencoding, t.afterTransform)) }, u.prototype._destroy = function (e, t) { l.prototype._destroy.call(this, e, function (e) { t(e) }) } }, { "../errors": 55, "./_stream_duplex": 56, inherits: 24 }], 60: [function (e, t, r) { (function (r, n) { (function () { "use strict"; function i(e) { var t = this; this.next = null, this.entry = null, this.finish = function () { ! function (e, t, r) { var n = e.entry; e.entry = null; for (; n;) { var i = n.callback; t.pendingcb--, i(r), n = n.next } t.corkedRequestsFree.next = e }(t, e) } } var o; t.exports = C, C.WritableState = E; var s = { deprecate: e("util-deprecate") }, a = e("./internal/streams/stream"), l = e("buffer").Buffer, u = n.Uint8Array || function () {}; var c, h = e("./internal/streams/destroy"), f = e("./internal/streams/state").getHighWaterMark, p = e("../errors").codes, d = p.ERR_INVALID_ARG_TYPE, g = p.ERR_METHOD_NOT_IMPLEMENTED, y = p.ERR_MULTIPLE_CALLBACK, b = p.ERR_STREAM_CANNOT_PIPE, m = p.ERR_STREAM_DESTROYED, v = p.ERR_STREAM_NULL_VALUES, w = p.ERR_STREAM_WRITE_AFTER_END, _ = p.ERR_UNKNOWN_ENCODING, k = h.errorOrDestroy; function S() {} function E(t, n, s) { o = o || e("./_stream_duplex"), t = t || {}, "boolean" != typeof s && (s = n instanceof o), this.objectMode = !!t.objectMode, s && (this.objectMode = this.objectMode || !!t.writableObjectMode), this.highWaterMark = f(this, t, "writableHighWaterMark", s), this.finalCalled = !1, this.needDrain = !1, this.ending = !1, this.ended = !1, this.finished = !1, this.destroyed = !1; var a = !1 === t.decodeStrings; this.decodeStrings = !a, this.defaultEncoding = t.defaultEncoding || "utf8", this.length = 0, this.writing = !1, this.corked = 0, this.sync = !0, this.bufferProcessing = !1, this.onwrite = function (e) { ! function (e, t) { var n = e._writableState, i = n.sync, o = n.writecb; if ("function" != typeof o) throw new y; if (function (e) { e.writing = !1, e.writecb = null, e.length -= e.writelen, e.writelen = 0 }(n), t) ! function (e, t, n, i, o) {--t.pendingcb, n ? (r.nextTick(o, i), r.nextTick(O, e, t), e._writableState.errorEmitted = !0, k(e, i)) : (o(i), e._writableState.errorEmitted = !0, k(e, i), O(e, t)) }(e, n, i, t, o); else { var s = I(n) || e.destroyed; s || n.corked || n.bufferProcessing || !n.bufferedRequest || A(e, n), i ? r.nextTick(x, e, n, s, o) : x(e, n, s, o) } }(n, e) }, this.writecb = null, this.writelen = 0, this.bufferedRequest = null, this.lastBufferedRequest = null, this.pendingcb = 0, this.prefinished = !1, this.errorEmitted = !1, this.emitClose = !1 !== t.emitClose, this.autoDestroy = !!t.autoDestroy, this.bufferedRequestCount = 0, this.corkedRequestsFree = new i(this) } function C(t) { var r = this instanceof(o = o || e("./_stream_duplex")); if (!r && !c.call(C, this)) return new C(t); this._writableState = new E(t, this, r), this.writable = !0, t && ("function" == typeof t.write && (this._write = t.write), "function" == typeof t.writev && (this._writev = t.writev), "function" == typeof t.destroy && (this._destroy = t.destroy), "function" == typeof t.final && (this._final = t.final)), a.call(this) } function T(e, t, r, n, i, o, s) { t.writelen = n, t.writecb = s, t.writing = !0, t.sync = !0, t.destroyed ? t.onwrite(new m("write")) : r ? e._writev(i, t.onwrite) : e._write(i, o, t.onwrite), t.sync = !1 } function x(e, t, r, n) { r || function (e, t) { 0 === t.length && t.needDrain && (t.needDrain = !1, e.emit("drain")) }(e, t), t.pendingcb--, n(), O(e, t) } function A(e, t) { t.bufferProcessing = !0; var r = t.bufferedRequest; if (e._writev && r && r.next) { var n = t.bufferedRequestCount, o = new Array(n), s = t.corkedRequestsFree; s.entry = r; for (var a = 0, l = !0; r;) o[a] = r, r.isBuf || (l = !1), r = r.next, a += 1; o.allBuffers = l, T(e, t, !0, t.length, o, "", s.finish), t.pendingcb++, t.lastBufferedRequest = null, s.next ? (t.corkedRequestsFree = s.next, s.next = null) : t.corkedRequestsFree = new i(t), t.bufferedRequestCount = 0 } else { for (; r;) { var u = r.chunk, c = r.encoding, h = r.callback; if (T(e, t, !1, t.objectMode ? 1 : u.length, u, c, h), r = r.next, t.bufferedRequestCount--, t.writing) break } null === r && (t.lastBufferedRequest = null) } t.bufferedRequest = r, t.bufferProcessing = !1 } function I(e) { return e.ending && 0 === e.length && null === e.bufferedRequest && !e.finished && !e.writing } function P(e, t) { e._final(function (r) { t.pendingcb--, r && k(e, r), t.prefinished = !0, e.emit("prefinish"), O(e, t) }) } function O(e, t) { var n = I(t); if (n && (function (e, t) { t.prefinished || t.finalCalled || ("function" != typeof e._final || t.destroyed ? (t.prefinished = !0, e.emit("prefinish")) : (t.pendingcb++, t.finalCalled = !0, r.nextTick(P, e, t))) }(e, t), 0 === t.pendingcb && (t.finished = !0, e.emit("finish"), t.autoDestroy))) { var i = e._readableState; (!i || i.autoDestroy && i.endEmitted) && e.destroy() } return n } e("inherits")(C, a), E.prototype.getBuffer = function () { for (var e = this.bufferedRequest, t = []; e;) t.push(e), e = e.next; return t }, function () { try { Object.defineProperty(E.prototype, "buffer", { get: s.deprecate(function () { return this.getBuffer() }, "_writableState.buffer is deprecated. Use _writableState.getBuffer instead.", "DEP0003") }) } catch (e) {} }(), "function" == typeof Symbol && Symbol.hasInstance && "function" == typeof Function.prototype[Symbol.hasInstance] ? (c = Function.prototype[Symbol.hasInstance], Object.defineProperty(C, Symbol.hasInstance, { value: function (e) { return !!c.call(this, e) || this === C && (e && e._writableState instanceof E) } })) : c = function (e) { return e instanceof this }, C.prototype.pipe = function () { k(this, new b) }, C.prototype.write = function (e, t, n) { var i, o = this._writableState, s = !1, a = !o.objectMode && (i = e, l.isBuffer(i) || i instanceof u); return a && !l.isBuffer(e) && (e = function (e) { return l.from(e) }(e)), "function" == typeof t && (n = t, t = null), a ? t = "buffer" : t || (t = o.defaultEncoding), "function" != typeof n && (n = S), o.ending ? function (e, t) { var n = new w; k(e, n), r.nextTick(t, n) }(this, n) : (a || function (e, t, n, i) { var o; return null === n ? o = new v : "string" == typeof n || t.objectMode || (o = new d("chunk", ["string", "Buffer"], n)), !o || (k(e, o), r.nextTick(i, o), !1) }(this, o, e, n)) && (o.pendingcb++, s = function (e, t, r, n, i, o) { if (!r) { var s = function (e, t, r) { e.objectMode || !1 === e.decodeStrings || "string" != typeof t || (t = l.from(t, r)); return t }(t, n, i); n !== s && (r = !0, i = "buffer", n = s) } var a = t.objectMode ? 1 : n.length; t.length += a; var u = t.length < t.highWaterMark; u || (t.needDrain = !0); if (t.writing || t.corked) { var c = t.lastBufferedRequest; t.lastBufferedRequest = { chunk: n, encoding: i, isBuf: r, callback: o, next: null }, c ? c.next = t.lastBufferedRequest : t.bufferedRequest = t.lastBufferedRequest, t.bufferedRequestCount += 1 } else T(e, t, !1, a, n, i, o); return u }(this, o, a, e, t, n)), s }, C.prototype.cork = function () { this._writableState.corked++ }, C.prototype.uncork = function () { var e = this._writableState; e.corked && (e.corked--, e.writing || e.corked || e.bufferProcessing || !e.bufferedRequest || A(this, e)) }, C.prototype.setDefaultEncoding = function (e) { if ("string" == typeof e && (e = e.toLowerCase()), !(["hex", "utf8", "utf-8", "ascii", "binary", "base64", "ucs2", "ucs-2", "utf16le", "utf-16le", "raw"].indexOf((e + "").toLowerCase()) > -1)) throw new _(e); return this._writableState.defaultEncoding = e, this }, Object.defineProperty(C.prototype, "writableBuffer", { enumerable: !1, get: function () { return this._writableState && this._writableState.getBuffer() } }), Object.defineProperty(C.prototype, "writableHighWaterMark", { enumerable: !1, get: function () { return this._writableState.highWaterMark } }), C.prototype._write = function (e, t, r) { r(new g("_write()")) }, C.prototype._writev = null, C.prototype.end = function (e, t, n) { var i = this._writableState; return "function" == typeof e ? (n = e, e = null, t = null) : "function" == typeof t && (n = t, t = null), null !== e && void 0 !== e && this.write(e, t), i.corked && (i.corked = 1, this.uncork()), i.ending || function (e, t, n) { t.ending = !0, O(e, t), n && (t.finished ? r.nextTick(n) : e.once("finish", n)); t.ended = !0, e.writable = !1 }(this, i, n), this }, Object.defineProperty(C.prototype, "writableLength", { enumerable: !1, get: function () { return this._writableState.length } }), Object.defineProperty(C.prototype, "destroyed", { enumerable: !1, get: function () { return void 0 !== this._writableState && this._writableState.destroyed }, set: function (e) { this._writableState && (this._writableState.destroyed = e) } }), C.prototype.destroy = h.destroy, C.prototype._undestroy = h.undestroy, C.prototype._destroy = function (e, t) { t(e) } }).call(this) }).call(this, e("_process"), "undefined" != typeof global ? global : "undefined" != typeof self ? self : "undefined" != typeof window ? window : {}) }, { "../errors": 55, "./_stream_duplex": 56, "./internal/streams/destroy": 63, "./internal/streams/state": 67, "./internal/streams/stream": 68, _process: 50, buffer: 17, inherits: 24, "util-deprecate": 78 }], 61: [function (e, t, r) { (function (r) { (function () { "use strict"; var n; function i(e, t, r) { return t in e ? Object.defineProperty(e, t, { value: r, enumerable: !0, configurable: !0, writable: !0 }) : e[t] = r, e } var o = e("./end-of-stream"), s = Symbol("lastResolve"), a = Symbol("lastReject"), l = Symbol("error"), u = Symbol("ended"), c = Symbol("lastPromise"), h = Symbol("handlePromise"), f = Symbol("stream"); function p(e, t) { return { value: e, done: t } } function d(e) { var t = e[s]; if (null !== t) { var r = e[f].read(); null !== r && (e[c] = null, e[s] = null, e[a] = null, t(p(r, !1))) } } var g = Object.getPrototypeOf(function () {}), y = Object.setPrototypeOf((i(n = { get stream() { return this[f] }, next: function () { var e = this, t = this[l]; if (null !== t) return Promise.reject(t); if (this[u]) return Promise.resolve(p(void 0, !0)); if (this[f].destroyed) return new Promise(function (t, n) { r.nextTick(function () { e[l] ? n(e[l]) : t(p(void 0, !0)) }) }); var n, i = this[c]; if (i) n = new Promise(function (e, t) { return function (r, n) { e.then(function () { t[u] ? r(p(void 0, !0)) : t[h](r, n) }, n) } }(i, this)); else { var o = this[f].read(); if (null !== o) return Promise.resolve(p(o, !1)); n = new Promise(this[h]) } return this[c] = n, n } }, Symbol.asyncIterator, function () { return this }), i(n, "return", function () { var e = this; return new Promise(function (t, r) { e[f].destroy(null, function (e) { e ? r(e) : t(p(void 0, !0)) }) }) }), n), g); t.exports = function (e) { var t, n = Object.create(y, (i(t = {}, f, { value: e, writable: !0 }), i(t, s, { value: null, writable: !0 }), i(t, a, { value: null, writable: !0 }), i(t, l, { value: null, writable: !0 }), i(t, u, { value: e._readableState.endEmitted, writable: !0 }), i(t, h, { value: function (e, t) { var r = n[f].read(); r ? (n[c] = null, n[s] = null, n[a] = null, e(p(r, !1))) : (n[s] = e, n[a] = t) }, writable: !0 }), t)); return n[c] = null, o(e, function (e) { if (e && "ERR_STREAM_PREMATURE_CLOSE" !== e.code) { var t = n[a]; return null !== t && (n[c] = null, n[s] = null, n[a] = null, t(e)), void(n[l] = e) } var r = n[s]; null !== r && (n[c] = null, n[s] = null, n[a] = null, r(p(void 0, !0))), n[u] = !0 }), e.on("readable", function (e) { r.nextTick(d, e) }.bind(null, n)), n } }).call(this) }).call(this, e("_process")) }, { "./end-of-stream": 64, _process: 50 }], 62: [function (e, t, r) { "use strict"; function n(e, t) { var r = Object.keys(e); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); t && (n = n.filter(function (t) { return Object.getOwnPropertyDescriptor(e, t).enumerable })), r.push.apply(r, n) } return r } function i(e, t, r) { return t in e ? Object.defineProperty(e, t, { value: r, enumerable: !0, configurable: !0, writable: !0 }) : e[t] = r, e } function o(e, t) { for (var r = 0; r < t.length; r++) { var n = t[r]; n.enumerable = n.enumerable || !1, n.configurable = !0, "value" in n && (n.writable = !0), Object.defineProperty(e, n.key, n) } } var s = e("buffer").Buffer, a = e("util").inspect, l = a && a.custom || "inspect"; t.exports = function () { function e() {! function (e, t) { if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function") }(this, e), this.head = null, this.tail = null, this.length = 0 } var t, r, u; return t = e, (r = [{ key: "push", value: function (e) { var t = { data: e, next: null }; this.length > 0 ? this.tail.next = t : this.head = t, this.tail = t, ++this.length } }, { key: "unshift", value: function (e) { var t = { data: e, next: this.head }; 0 === this.length && (this.tail = t), this.head = t, ++this.length } }, { key: "shift", value: function () { if (0 !== this.length) { var e = this.head.data; return 1 === this.length ? this.head = this.tail = null : this.head = this.head.next, --this.length, e } } }, { key: "clear", value: function () { this.head = this.tail = null, this.length = 0 } }, { key: "join", value: function (e) { if (0 === this.length) return ""; for (var t = this.head, r = "" + t.data; t = t.next;) r += e + t.data; return r } }, { key: "concat", value: function (e) { if (0 === this.length) return s.alloc(0); for (var t, r, n, i = s.allocUnsafe(e >>> 0), o = this.head, a = 0; o;) t = o.data, r = i, n = a, s.prototype.copy.call(t, r, n), a += o.data.length, o = o.next; return i } }, { key: "consume", value: function (e, t) { var r; return e < this.head.data.length ? (r = this.head.data.slice(0, e), this.head.data = this.head.data.slice(e)) : r = e === this.head.data.length ? this.shift() : t ? this._getString(e) : this._getBuffer(e), r } }, { key: "first", value: function () { return this.head.data } }, { key: "_getString", value: function (e) { var t = this.head, r = 1, n = t.data; for (e -= n.length; t = t.next;) { var i = t.data, o = e > i.length ? i.length : e; if (o === i.length ? n += i : n += i.slice(0, e), 0 === (e -= o)) { o === i.length ? (++r, t.next ? this.head = t.next : this.head = this.tail = null) : (this.head = t, t.data = i.slice(o)); break }++r } return this.length -= r, n } }, { key: "_getBuffer", value: function (e) { var t = s.allocUnsafe(e), r = this.head, n = 1; for (r.data.copy(t), e -= r.data.length; r = r.next;) { var i = r.data, o = e > i.length ? i.length : e; if (i.copy(t, t.length - e, 0, o), 0 === (e -= o)) { o === i.length ? (++n, r.next ? this.head = r.next : this.head = this.tail = null) : (this.head = r, r.data = i.slice(o)); break }++n } return this.length -= n, t } }, { key: l, value: function (e, t) { return a(this, function (e) { for (var t = 1; t < arguments.length; t++) { var r = null != arguments[t] ? arguments[t] : {}; t % 2 ? n(Object(r), !0).forEach(function (t) { i(e, t, r[t]) }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(r)) : n(Object(r)).forEach(function (t) { Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(r, t)) }) } return e }({}, t, { depth: 0, customInspect: !1 })) } }]) && o(t.prototype, r), u && o(t, u), e }() }, { buffer: 17, util: 16 }], 63: [function (e, t, r) { (function (e) { (function () { "use strict"; function r(e, t) { i(e, t), n(e) } function n(e) { e._writableState && !e._writableState.emitClose || e._readableState && !e._readableState.emitClose || e.emit("close") } function i(e, t) { e.emit("error", t) } t.exports = { destroy: function (t, o) { var s = this, a = this._readableState && this._readableState.destroyed, l = this._writableState && this._writableState.destroyed; return a || l ? (o ? o(t) : t && (this._writableState ? this._writableState.errorEmitted || (this._writableState.errorEmitted = !0, e.nextTick(i, this, t)) : e.nextTick(i, this, t)), this) : (this._readableState && (this._readableState.destroyed = !0), this._writableState && (this._writableState.destroyed = !0), this._destroy(t || null, function (t) {!o && t ? s._writableState ? s._writableState.errorEmitted ? e.nextTick(n, s) : (s._writableState.errorEmitted = !0, e.nextTick(r, s, t)) : e.nextTick(r, s, t) : o ? (e.nextTick(n, s), o(t)) : e.nextTick(n, s) }), this) }, undestroy: function () { this._readableState && (this._readableState.destroyed = !1, this._readableState.reading = !1, this._readableState.ended = !1, this._readableState.endEmitted = !1), this._writableState && (this._writableState.destroyed = !1, this._writableState.ended = !1, this._writableState.ending = !1, this._writableState.finalCalled = !1, this._writableState.prefinished = !1, this._writableState.finished = !1, this._writableState.errorEmitted = !1) }, errorOrDestroy: function (e, t) { var r = e._readableState, n = e._writableState; r && r.autoDestroy || n && n.autoDestroy ? e.destroy(t) : e.emit("error", t) } } }).call(this) }).call(this, e("_process")) }, { _process: 50 }], 64: [function (e, t, r) { "use strict"; var n = e("../../../errors").codes.ERR_STREAM_PREMATURE_CLOSE; function i() {} t.exports = function e(t, r, o) { if ("function" == typeof r) return e(t, null, r); r || (r = {}), o = function (e) { var t = !1; return function () { if (!t) { t = !0; for (var r = arguments.length, n = new Array(r), i = 0; i < r; i++) n[i] = arguments[i]; e.apply(this, n) } } }(o || i); var s = r.readable || !1 !== r.readable && t.readable, a = r.writable || !1 !== r.writable && t.writable, l = function () { t.writable || c() }, u = t._writableState && t._writableState.finished, c = function () { a = !1, u = !0, s || o.call(t) }, h = t._readableState && t._readableState.endEmitted, f = function () { s = !1, h = !0, a || o.call(t) }, p = function (e) { o.call(t, e) }, d = function () { var e; return s && !h ? (t._readableState && t._readableState.ended || (e = new n), o.call(t, e)) : a && !u ? (t._writableState && t._writableState.ended || (e = new n), o.call(t, e)) : void 0 }, g = function () { t.req.on("finish", c) }; return function (e) { return e.setHeader && "function" == typeof e.abort }(t) ? (t.on("complete", c), t.on("abort", d), t.req ? g() : t.on("request", g)) : a && !t._writableState && (t.on("end", l), t.on("close", l)), t.on("end", f), t.on("finish", c), !1 !== r.error && t.on("error", p), t.on("close", d), function () { t.removeListener("complete", c), t.removeListener("abort", d), t.removeListener("request", g), t.req && t.req.removeListener("finish", c), t.removeListener("end", l), t.removeListener("close", l), t.removeListener("finish", c), t.removeListener("end", f), t.removeListener("error", p), t.removeListener("close", d) } } }, { "../../../errors": 55 }], 65: [function (e, t, r) { t.exports = function () { throw new Error("Readable.from is not available in the browser") } }, {}], 66: [function (e, t, r) { "use strict"; var n; var i = e("../../../errors").codes, o = i.ERR_MISSING_ARGS, s = i.ERR_STREAM_DESTROYED; function a(e) { if (e) throw e } function l(e) { e() } function u(e, t) { return e.pipe(t) } t.exports = function () { for (var t = arguments.length, r = new Array(t), i = 0; i < t; i++) r[i] = arguments[i]; var c, h = function (e) { return e.length ? "function" != typeof e[e.length - 1] ? a : e.pop() : a }(r); if (Array.isArray(r[0]) && (r = r[0]), r.length < 2) throw new o("streams"); var f = r.map(function (t, i) { var o = i < r.length - 1; return function (t, r, i, o) { o = function (e) { var t = !1; return function () { t || (t = !0, e.apply(void 0, arguments)) } }(o); var a = !1; t.on("close", function () { a = !0 }), void 0 === n && (n = e("./end-of-stream")), n(t, { readable: r, writable: i }, function (e) { if (e) return o(e); a = !0, o() }); var l = !1; return function (e) { if (!a && !l) return l = !0, function (e) { return e.setHeader && "function" == typeof e.abort }(t) ? t.abort() : "function" == typeof t.destroy ? t.destroy() : void o(e || new s("pipe")) } }(t, o, i > 0, function (e) { c || (c = e), e && f.forEach(l), o || (f.forEach(l), h(c)) }) }); return r.reduce(u) } }, { "../../../errors": 55, "./end-of-stream": 64 }], 67: [function (e, t, r) { "use strict"; var n = e("../../../errors").codes.ERR_INVALID_OPT_VALUE; t.exports = { getHighWaterMark: function (e, t, r, i) { var o = function (e, t, r) { return null != e.highWaterMark ? e.highWaterMark : t ? e[r] : null }(t, i, r); if (null != o) { if (!isFinite(o) || Math.floor(o) !== o || o < 0) throw new n(i ? r : "highWaterMark", o); return Math.floor(o) } return e.objectMode ? 16 : 16384 } } }, { "../../../errors": 55 }], 68: [function (e, t, r) { t.exports = e("events").EventEmitter }, { events: 22 }], 69: [function (e, t, r) { (r = t.exports = e("./lib/_stream_readable.js")).Stream = r, r.Readable = r, r.Writable = e("./lib/_stream_writable.js"), r.Duplex = e("./lib/_stream_duplex.js"), r.Transform = e("./lib/_stream_transform.js"), r.PassThrough = e("./lib/_stream_passthrough.js"), r.finished = e("./lib/internal/streams/end-of-stream.js"), r.pipeline = e("./lib/internal/streams/pipeline.js") }, { "./lib/_stream_duplex.js": 56, "./lib/_stream_passthrough.js": 57, "./lib/_stream_readable.js": 58, "./lib/_stream_transform.js": 59, "./lib/_stream_writable.js": 60, "./lib/internal/streams/end-of-stream.js": 64, "./lib/internal/streams/pipeline.js": 66 }], 70: [function (e, t, r) { "use strict"; t.exports = function () { if ("function" != typeof arguments[0]) throw new Error("callback needed"); if ("number" != typeof arguments[1]) throw new Error("interval needed"); var e; if (arguments.length > 0) { e = new Array(arguments.length - 2); for (var t = 0; t < e.length; t++) e[t] = arguments[t + 2] } return new function (e, t, r) { var n = this; this._callback = e, this._args = r, this._interval = setInterval(e, t, this._args), this.reschedule = function (e) { e || (e = n._interval), n._interval && clearInterval(n._interval), n._interval = setInterval(n._callback, e, n._args) }, this.clear = function () { n._interval && (clearInterval(n._interval), n._interval = void 0) }, this.destroy = function () { n._interval && clearInterval(n._interval), n._callback = void 0, n._interval = void 0, n._args = void 0 } }(arguments[0], arguments[1], e) } }, {}], 71: [function (e, t, r) { "use strict"; t.exports = e("./index.js")() }, { "./index.js": 72 }], 72: [function (e, t, r) { (function (e) { (function () { "use strict"; function r(t) { return t instanceof e ? e.from(t) : new t.constructor(t.buffer.slice(), t.byteOffset, t.length) } t.exports = function (e) { return (e = e || {}).circles ? function (e) { var t = [], n = []; return e.proto ? function e(o) { if ("object" != typeof o || null === o) return o; if (o instanceof Date) return new Date(o); if (Array.isArray(o)) return i(o, e); if (o instanceof Map) return new Map(i(Array.from(o), e)); if (o instanceof Set) return new Set(i(Array.from(o), e)); var s = {}; for (var a in t.push(o), n.push(s), o) { var l = o[a]; if ("object" != typeof l || null === l) s[a] = l; else if (l instanceof Date) s[a] = new Date(l); else if (l instanceof Map) s[a] = new Map(i(Array.from(l), e)); else if (l instanceof Set) s[a] = new Set(i(Array.from(l), e)); else if (ArrayBuffer.isView(l)) s[a] = r(l); else { var u = t.indexOf(l); s[a] = -1 !== u ? n[u] : e(l) } } return t.pop(), n.pop(), s } : function e(o) { if ("object" != typeof o || null === o) return o; if (o instanceof Date) return new Date(o); if (Array.isArray(o)) return i(o, e); if (o instanceof Map) return new Map(i(Array.from(o), e)); if (o instanceof Set) return new Set(i(Array.from(o), e)); var s = {}; for (var a in t.push(o), n.push(s), o) if (!1 !== Object.hasOwnProperty.call(o, a)) { var l = o[a]; if ("object" != typeof l || null === l) s[a] = l; else if (l instanceof Date) s[a] = new Date(l); else if (l instanceof Map) s[a] = new Map(i(Array.from(l), e)); else if (l instanceof Set) s[a] = new Set(i(Array.from(l), e)); else if (ArrayBuffer.isView(l)) s[a] = r(l); else { var u = t.indexOf(l); s[a] = -1 !== u ? n[u] : e(l) } } return t.pop(), n.pop(), s }; function i(e, i) { for (var o = Object.keys(e), s = new Array(o.length), a = 0; a < o.length; a++) { var l = o[a], u = e[l]; if ("object" != typeof u || null === u) s[l] = u; else if (u instanceof Date) s[l] = new Date(u); else if (ArrayBuffer.isView(u)) s[l] = r(u); else { var c = t.indexOf(u); s[l] = -1 !== c ? n[c] : i(u) } } return s } }(e) : e.proto ? function e(n) { if ("object" != typeof n || null === n) return n; if (n instanceof Date) return new Date(n); if (Array.isArray(n)) return t(n, e); if (n instanceof Map) return new Map(t(Array.from(n), e)); if (n instanceof Set) return new Set(t(Array.from(n), e)); var i = {}; for (var o in n) { var s = n[o]; "object" != typeof s || null === s ? i[o] = s : s instanceof Date ? i[o] = new Date(s) : s instanceof Map ? i[o] = new Map(t(Array.from(s), e)) : s instanceof Set ? i[o] = new Set(t(Array.from(s), e)) : ArrayBuffer.isView(s) ? i[o] = r(s) : i[o] = e(s) } return i } : function e(n) { if ("object" != typeof n || null === n) return n; if (n instanceof Date) return new Date(n); if (Array.isArray(n)) return t(n, e); if (n instanceof Map) return new Map(t(Array.from(n), e)); if (n instanceof Set) return new Set(t(Array.from(n), e)); var i = {}; for (var o in n) if (!1 !== Object.hasOwnProperty.call(n, o)) { var s = n[o]; "object" != typeof s || null === s ? i[o] = s : s instanceof Date ? i[o] = new Date(s) : s instanceof Map ? i[o] = new Map(t(Array.from(s), e)) : s instanceof Set ? i[o] = new Set(t(Array.from(s), e)) : ArrayBuffer.isView(s) ? i[o] = r(s) : i[o] = e(s) } return i }; function t(e, t) { for (var n = Object.keys(e), i = new Array(n.length), o = 0; o < n.length; o++) { var s = n[o], a = e[s]; "object" != typeof a || null === a ? i[s] = a : a instanceof Date ? i[s] = new Date(a) : ArrayBuffer.isView(a) ? i[s] = r(a) : i[s] = t(a) } return i } } }).call(this) }).call(this, e("buffer").Buffer) }, { buffer: 17 }], 73: [function (e, t, r) { var n = e("buffer"), i = n.Buffer; function o(e, t) { for (var r in e) t[r] = e[r] } function s(e, t, r) { return i(e, t, r) } i.from && i.alloc && i.allocUnsafe && i.allocUnsafeSlow ? t.exports = n : (o(n, r), r.Buffer = s), s.prototype = Object.create(i.prototype), o(i, s), s.from = function (e, t, r) { if ("number" == typeof e) throw new TypeError("Argument must not be a number"); return i(e, t, r) }, s.alloc = function (e, t, r) { if ("number" != typeof e) throw new TypeError("Argument must be a number"); var n = i(e); return void 0 !== t ? "string" == typeof r ? n.fill(t, r) : n.fill(t) : n.fill(0), n }, s.allocUnsafe = function (e) { if ("number" != typeof e) throw new TypeError("Argument must be a number"); return i(e) }, s.allocUnsafeSlow = function (e) { if ("number" != typeof e) throw new TypeError("Argument must be a number"); return n.SlowBuffer(e) } }, { buffer: 17 }], 74: [function (e, t, r) { t.exports = function (e) { var t = e._readableState; return t ? t.objectMode || "number" == typeof e._duplexState ? e.read() : e.read((r = t, r.buffer.length ? r.buffer.head ? r.buffer.head.data.length : r.buffer[0].length : r.length)) : null; var r } }, {}], 75: [function (e, t, r) { "use strict"; var n = e("safe-buffer").Buffer, i = n.isEncoding || function (e) { switch ((e = "" + e) && e.toLowerCase()) { case "hex": case "utf8": case "utf-8": case "ascii": case "binary": case "base64": case "ucs2": case "ucs-2": case "utf16le": case "utf-16le": case "raw": return !0; default: return !1 } }; function o(e) { var t; switch (this.encoding = function (e) { var t = function (e) { if (!e) return "utf8"; for (var t;;) switch (e) { case "utf8": case "utf-8": return "utf8"; case "ucs2": case "ucs-2": case "utf16le": case "utf-16le": return "utf16le"; case "latin1": case "binary": return "latin1"; case "base64": case "ascii": case "hex": return e; default: if (t) return; e = ("" + e).toLowerCase(), t = !0 } }(e); if ("string" != typeof t && (n.isEncoding === i || !i(e))) throw new Error("Unknown encoding: " + e); return t || e }(e), this.encoding) { case "utf16le": this.text = l, this.end = u, t = 4; break; case "utf8": this.fillLast = a, t = 4; break; case "base64": this.text = c, this.end = h, t = 3; break; default: return this.write = f, void(this.end = p) } this.lastNeed = 0, this.lastTotal = 0, this.lastChar = n.allocUnsafe(t) } function s(e) { return e <= 127 ? 0 : e >> 5 == 6 ? 2 : e >> 4 == 14 ? 3 : e >> 3 == 30 ? 4 : e >> 6 == 2 ? -1 : -2 } function a(e) { var t = this.lastTotal - this.lastNeed, r = function (e, t, r) { if (128 != (192 & t[0])) return e.lastNeed = 0, "�"; if (e.lastNeed > 1 && t.length > 1) { if (128 != (192 & t[1])) return e.lastNeed = 1, "�"; if (e.lastNeed > 2 && t.length > 2 && 128 != (192 & t[2])) return e.lastNeed = 2, "�" } }(this, e); return void 0 !== r ? r : this.lastNeed <= e.length ? (e.copy(this.lastChar, t, 0, this.lastNeed), this.lastChar.toString(this.encoding, 0, this.lastTotal)) : (e.copy(this.lastChar, t, 0, e.length), void(this.lastNeed -= e.length)) } function l(e, t) { if ((e.length - t) % 2 == 0) { var r = e.toString("utf16le", t); if (r) { var n = r.charCodeAt(r.length - 1); if (n >= 55296 && n <= 56319) return this.lastNeed = 2, this.lastTotal = 4, this.lastChar[0] = e[e.length - 2], this.lastChar[1] = e[e.length - 1], r.slice(0, -1) } return r } return this.lastNeed = 1, this.lastTotal = 2, this.lastChar[0] = e[e.length - 1], e.toString("utf16le", t, e.length - 1) } function u(e) { var t = e && e.length ? this.write(e) : ""; if (this.lastNeed) { var r = this.lastTotal - this.lastNeed; return t + this.lastChar.toString("utf16le", 0, r) } return t } function c(e, t) { var r = (e.length - t) % 3; return 0 === r ? e.toString("base64", t) : (this.lastNeed = 3 - r, this.lastTotal = 3, 1 === r ? this.lastChar[0] = e[e.length - 1] : (this.lastChar[0] = e[e.length - 2], this.lastChar[1] = e[e.length - 1]), e.toString("base64", t, e.length - r)) } function h(e) { var t = e && e.length ? this.write(e) : ""; return this.lastNeed ? t + this.lastChar.toString("base64", 0, 3 - this.lastNeed) : t } function f(e) { return e.toString(this.encoding) } function p(e) { return e && e.length ? this.write(e) : "" } r.StringDecoder = o, o.prototype.write = function (e) { if (0 === e.length) return ""; var t, r; if (this.lastNeed) { if (void 0 === (t = this.fillLast(e))) return ""; r = this.lastNeed, this.lastNeed = 0 } else r = 0; return r < e.length ? t ? t + this.text(e, r) : this.text(e, r) : t || "" }, o.prototype.end = function (e) { var t = e && e.length ? this.write(e) : ""; return this.lastNeed ? t + "�" : t }, o.prototype.text = function (e, t) { var r = function (e, t, r) { var n = t.length - 1; if (n < r) return 0; var i = s(t[n]); if (i >= 0) return i > 0 && (e.lastNeed = i - 1), i; if (--n < r || -2 === i) return 0; if ((i = s(t[n])) >= 0) return i > 0 && (e.lastNeed = i - 2), i; if (--n < r || -2 === i) return 0; if ((i = s(t[n])) >= 0) return i > 0 && (2 === i ? i = 0 : e.lastNeed = i - 3), i; return 0 }(this, e, t); if (!this.lastNeed) return e.toString("utf8", t); this.lastTotal = r; var n = e.length - (r - this.lastNeed); return e.copy(this.lastChar, 0, n), e.toString("utf8", t, n) }, o.prototype.fillLast = function (e) { if (this.lastNeed <= e.length) return e.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, this.lastNeed), this.lastChar.toString(this.encoding, 0, this.lastTotal); e.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, e.length), this.lastNeed -= e.length } }, { "safe-buffer": 73 }], 76: [function (e, t, r) { "use strict"; var n = e("punycode"), i = e("./util"); function o() { this.protocol = null, this.slashes = null, this.auth = null, this.host = null, this.port = null, this.hostname = null, this.hash = null, this.search = null, this.query = null, this.pathname = null, this.path = null, this.href = null } r.parse = v, r.resolve = function (e, t) { return v(e, !1, !0).resolve(t) }, r.resolveObject = function (e, t) { return e ? v(e, !1, !0).resolveObject(t) : t }, r.format = function (e) { i.isString(e) && (e = v(e)); return e instanceof o ? e.format() : o.prototype.format.call(e) }, r.Url = o; var s = /^([a-z0-9.+-]+:)/i, a = /:[0-9]*$/, l = /^(\/\/?(?!\/)[^\?\s]*)(\?[^\s]*)?$/, u = ["{", "}", "|", "\\", "^", "`"].concat(["<", ">", '"', "`", " ", "\r", "\n", "\t"]), c = ["'"].concat(u), h = ["%", "/", "?", ";", "#"].concat(c), f = ["/", "?", "#"], p = /^[+a-z0-9A-Z_-]{0,63}$/, d = /^([+a-z0-9A-Z_-]{0,63})(.*)$/, g = { javascript: !0, "javascript:": !0 }, y = { javascript: !0, "javascript:": !0 }, b = { http: !0, https: !0, ftp: !0, gopher: !0, file: !0, "http:": !0, "https:": !0, "ftp:": !0, "gopher:": !0, "file:": !0 }, m = e("querystring"); function v(e, t, r) { if (e && i.isObject(e) && e instanceof o) return e; var n = new o; return n.parse(e, t, r), n } o.prototype.parse = function (e, t, r) { if (!i.isString(e)) throw new TypeError("Parameter 'url' must be a string, not " + typeof e); var o = e.indexOf("?"), a = -1 !== o && o < e.indexOf("#") ? "?" : "#", u = e.split(a); u[0] = u[0].replace(/\\/g, "/"); var v = e = u.join(a); if (v = v.trim(), !r && 1 === e.split("#").length) { var w = l.exec(v); if (w) return this.path = v, this.href = v, this.pathname = w[1], w[2] ? (this.search = w[2], this.query = t ? m.parse(this.search.substr(1)) : this.search.substr(1)) : t && (this.search = "", this.query = {}), this } var _ = s.exec(v); if (_) { var k = (_ = _[0]).toLowerCase(); this.protocol = k, v = v.substr(_.length) } if (r || _ || v.match(/^\/\/[^@\/]+@[^@\/]+/)) { var S = "//" === v.substr(0, 2);!S || _ && y[_] || (v = v.substr(2), this.slashes = !0) } if (!y[_] && (S || _ && !b[_])) { for (var E, C, T = -1, x = 0; x < f.length; x++) {-1 !== (A = v.indexOf(f[x])) && (-1 === T || A < T) && (T = A) } - 1 !== (C = -1 === T ? v.lastIndexOf("@") : v.lastIndexOf("@", T)) && (E = v.slice(0, C), v = v.slice(C + 1), this.auth = decodeURIComponent(E)), T = -1; for (x = 0; x < h.length; x++) { var A; - 1 !== (A = v.indexOf(h[x])) && (-1 === T || A < T) && (T = A) } - 1 === T && (T = v.length), this.host = v.slice(0, T), v = v.slice(T), this.parseHost(), this.hostname = this.hostname || ""; var I = "[" === this.hostname[0] && "]" === this.hostname[this.hostname.length - 1]; if (!I) for (var P = this.hostname.split(/\./), O = (x = 0, P.length); x < O; x++) { var B = P[x]; if (B && !B.match(p)) { for (var R = "", M = 0, N = B.length; M < N; M++) B.charCodeAt(M) > 127 ? R += "x" : R += B[M]; if (!R.match(p)) { var L = P.slice(0, x), j = P.slice(x + 1), U = B.match(d); U && (L.push(U[1]), j.unshift(U[2])), j.length && (v = "/" + j.join(".") + v), this.hostname = L.join("."); break } } } this.hostname.length > 255 ? this.hostname = "" : this.hostname = this.hostname.toLowerCase(), I || (this.hostname = n.toASCII(this.hostname)); var q = this.port ? ":" + this.port : "", D = this.hostname || ""; this.host = D + q, this.href += this.host, I && (this.hostname = this.hostname.substr(1, this.hostname.length - 2), "/" !== v[0] && (v = "/" + v)) } if (!g[k]) for (x = 0, O = c.length; x < O; x++) { var z = c[x]; if (-1 !== v.indexOf(z)) { var F = encodeURIComponent(z); F === z && (F = escape(z)), v = v.split(z).join(F) } } var V = v.indexOf("#"); - 1 !== V && (this.hash = v.substr(V), v = v.slice(0, V)); var H = v.indexOf("?"); if (-1 !== H ? (this.search = v.substr(H), this.query = v.substr(H + 1), t && (this.query = m.parse(this.query)), v = v.slice(0, H)) : t && (this.search = "", this.query = {}), v && (this.pathname = v), b[k] && this.hostname && !this.pathname && (this.pathname = "/"), this.pathname || this.search) { q = this.pathname || ""; var W = this.search || ""; this.path = q + W } return this.href = this.format(), this }, o.prototype.format = function () { var e = this.auth || ""; e && (e = (e = encodeURIComponent(e)).replace(/%3A/i, ":"), e += "@"); var t = this.protocol || "", r = this.pathname || "", n = this.hash || "", o = !1, s = ""; this.host ? o = e + this.host : this.hostname && (o = e + (-1 === this.hostname.indexOf(":") ? this.hostname : "[" + this.hostname + "]"), this.port && (o += ":" + this.port)), this.query && i.isObject(this.query) && Object.keys(this.query).length && (s = m.stringify(this.query)); var a = this.search || s && "?" + s || ""; return t && ":" !== t.substr(-1) && (t += ":"), this.slashes || (!t || b[t]) && !1 !== o ? (o = "//" + (o || ""), r && "/" !== r.charAt(0) && (r = "/" + r)) : o || (o = ""), n && "#" !== n.charAt(0) && (n = "#" + n), a && "?" !== a.charAt(0) && (a = "?" + a), t + o + (r = r.replace(/[?#]/g, function (e) { return encodeURIComponent(e) })) + (a = a.replace("#", "%23")) + n }, o.prototype.resolve = function (e) { return this.resolveObject(v(e, !1, !0)).format() }, o.prototype.resolveObject = function (e) { if (i.isString(e)) { var t = new o; t.parse(e, !1, !0), e = t } for (var r = new o, n = Object.keys(this), s = 0; s < n.length; s++) { var a = n[s]; r[a] = this[a] } if (r.hash = e.hash, "" === e.href) return r.href = r.format(), r; if (e.slashes && !e.protocol) { for (var l = Object.keys(e), u = 0; u < l.length; u++) { var c = l[u]; "protocol" !== c && (r[c] = e[c]) } return b[r.protocol] && r.hostname && !r.pathname && (r.path = r.pathname = "/"), r.href = r.format(), r } if (e.protocol && e.protocol !== r.protocol) { if (!b[e.protocol]) { for (var h = Object.keys(e), f = 0; f < h.length; f++) { var p = h[f]; r[p] = e[p] } return r.href = r.format(), r } if (r.protocol = e.protocol, e.host || y[e.protocol]) r.pathname = e.pathname; else { for (var d = (e.pathname || "").split("/"); d.length && !(e.host = d.shift());); e.host || (e.host = ""), e.hostname || (e.hostname = ""), "" !== d[0] && d.unshift(""), d.length < 2 && d.unshift(""), r.pathname = d.join("/") } if (r.search = e.search, r.query = e.query, r.host = e.host || "", r.auth = e.auth, r.hostname = e.hostname || e.host, r.port = e.port, r.pathname || r.search) { var g = r.pathname || "", m = r.search || ""; r.path = g + m } return r.slashes = r.slashes || e.slashes, r.href = r.format(), r } var v = r.pathname && "/" === r.pathname.charAt(0), w = e.host || e.pathname && "/" === e.pathname.charAt(0), _ = w || v || r.host && e.pathname, k = _, S = r.pathname && r.pathname.split("/") || [], E = (d = e.pathname && e.pathname.split("/") || [], r.protocol && !b[r.protocol]); if (E && (r.hostname = "", r.port = null, r.host && ("" === S[0] ? S[0] = r.host : S.unshift(r.host)), r.host = "", e.protocol && (e.hostname = null, e.port = null, e.host && ("" === d[0] ? d[0] = e.host : d.unshift(e.host)), e.host = null), _ = _ && ("" === d[0] || "" === S[0])), w) r.host = e.host || "" === e.host ? e.host : r.host, r.hostname = e.hostname || "" === e.hostname ? e.hostname : r.hostname, r.search = e.search, r.query = e.query, S = d; else if (d.length) S || (S = []), S.pop(), S = S.concat(d), r.search = e.search, r.query = e.query; else if (!i.isNullOrUndefined(e.search)) { if (E) r.hostname = r.host = S.shift(), (I = !!(r.host && r.host.indexOf("@") > 0) && r.host.split("@")) && (r.auth = I.shift(), r.host = r.hostname = I.shift()); return r.search = e.search, r.query = e.query, i.isNull(r.pathname) && i.isNull(r.search) || (r.path = (r.pathname ? r.pathname : "") + (r.search ? r.search : "")), r.href = r.format(), r } if (!S.length) return r.pathname = null, r.search ? r.path = "/" + r.search : r.path = null, r.href = r.format(), r; for (var C = S.slice(-1)[0], T = (r.host || e.host || S.length > 1) && ("." === C || ".." === C) || "" === C, x = 0, A = S.length; A >= 0; A--) "." === (C = S[A]) ? S.splice(A, 1) : ".." === C ? (S.splice(A, 1), x++) : x && (S.splice(A, 1), x--); if (!_ && !k) for (; x--; x) S.unshift(".."); !_ || "" === S[0] || S[0] && "/" === S[0].charAt(0) || S.unshift(""), T && "/" !== S.join("/").substr(-1) && S.push(""); var I, P = "" === S[0] || S[0] && "/" === S[0].charAt(0); E && (r.hostname = r.host = P ? "" : S.length ? S.shift() : "", (I = !!(r.host && r.host.indexOf("@") > 0) && r.host.split("@")) && (r.auth = I.shift(), r.host = r.hostname = I.shift())); return (_ = _ || r.host && S.length) && !P && S.unshift(""), S.length ? r.pathname = S.join("/") : (r.pathname = null, r.path = null), i.isNull(r.pathname) && i.isNull(r.search) || (r.path = (r.pathname ? r.pathname : "") + (r.search ? r.search : "")), r.auth = e.auth || r.auth, r.slashes = r.slashes || e.slashes, r.href = r.format(), r }, o.prototype.parseHost = function () { var e = this.host, t = a.exec(e); t && (":" !== (t = t[0]) && (this.port = t.substr(1)), e = e.substr(0, e.length - t.length)), e && (this.hostname = e) } }, { "./util": 77, punycode: 51, querystring: 54 }], 77: [function (e, t, r) { "use strict"; t.exports = { isString: function (e) { return "string" == typeof e }, isObject: function (e) { return "object" == typeof e && null !== e }, isNull: function (e) { return null === e }, isNullOrUndefined: function (e) { return null == e } } }, {}], 78: [function (e, t, r) { (function (e) { (function () { function r(t) { try { if (!e.localStorage) return !1 } catch (e) { return !1 } var r = e.localStorage[t]; return null != r && "true" === String(r).toLowerCase() } t.exports = function (e, t) { if (r("noDeprecation")) return e; var n = !1; return function () { if (!n) { if (r("throwDeprecation")) throw new Error(t); r("traceDeprecation") ? console.trace(t) : console.warn(t), n = !0 } return e.apply(this, arguments) } } }).call(this) }).call(this, "undefined" != typeof global ? global : "undefined" != typeof self ? self : "undefined" != typeof window ? window : {}) }, {}], 79: [function (e, t, r) { t.exports = function e(t, r) { if (t && r) return e(t)(r); if ("function" != typeof t) throw new TypeError("need wrapper function"); Object.keys(t).forEach(function (e) { n[e] = t[e] }); return n; function n() { for (var e = new Array(arguments.length), r = 0; r < e.length; r++) e[r] = arguments[r]; var n = t.apply(this, e), i = e[e.length - 1]; return "function" == typeof n && n !== i && Object.keys(i).forEach(function (e) { n[e] = i[e] }), n } } }, {}], 80: [function (e, t, r) { "use strict"; t.exports = function () { throw new Error("ws does not work in the browser. Browser clients must use the native WebSocket object") } }, {}], 81: [function (e, t, r) { t.exports = function () { for (var e = {}, t = 0; t < arguments.length; t++) { var r = arguments[t]; for (var i in r) n.call(r, i) && (e[i] = r[i]) } return e }; var n = Object.prototype.hasOwnProperty }, {}], 82: [function (e, t, r) { "use strict"; t.exports = function (e) { e.prototype[Symbol.iterator] = function* () { for (let e = this.head; e; e = e.next) yield e.value } } }, {}], 83: [function (e, t, r) { "use strict"; function n(e) { var t = this; if (t instanceof n || (t = new n), t.tail = null, t.head = null, t.length = 0, e && "function" == typeof e.forEach) e.forEach(function (e) { t.push(e) }); else if (arguments.length > 0) for (var r = 0, i = arguments.length; r < i; r++) t.push(arguments[r]); return t } function i(e, t, r) { var n = t === e.head ? new a(r, null, t, e) : new a(r, t, t.next, e); return null === n.next && (e.tail = n), null === n.prev && (e.head = n), e.length++, n } function o(e, t) { e.tail = new a(t, e.tail, null, e), e.head || (e.head = e.tail), e.length++ } function s(e, t) { e.head = new a(t, null, e.head, e), e.tail || (e.tail = e.head), e.length++ } function a(e, t, r, n) { if (!(this instanceof a)) return new a(e, t, r, n); this.list = n, this.value = e, t ? (t.next = this, this.prev = t) : this.prev = null, r ? (r.prev = this, this.next = r) : this.next = null } t.exports = n, n.Node = a, n.create = n, n.prototype.removeNode = function (e) { if (e.list !== this) throw new Error("removing node which does not belong to this list"); var t = e.next, r = e.prev; return t && (t.prev = r), r && (r.next = t), e === this.head && (this.head = t), e === this.tail && (this.tail = r), e.list.length--, e.next = null, e.prev = null, e.list = null, t }, n.prototype.unshiftNode = function (e) { if (e !== this.head) { e.list && e.list.removeNode(e); var t = this.head; e.list = this, e.next = t, t && (t.prev = e), this.head = e, this.tail || (this.tail = e), this.length++ } }, n.prototype.pushNode = function (e) { if (e !== this.tail) { e.list && e.list.removeNode(e); var t = this.tail; e.list = this, e.prev = t, t && (t.next = e), this.tail = e, this.head || (this.head = e), this.length++ } }, n.prototype.push = function () { for (var e = 0, t = arguments.length; e < t; e++) o(this, arguments[e]); return this.length }, n.prototype.unshift = function () { for (var e = 0, t = arguments.length; e < t; e++) s(this, arguments[e]); return this.length }, n.prototype.pop = function () { if (this.tail) { var e = this.tail.value; return this.tail = this.tail.prev, this.tail ? this.tail.next = null : this.head = null, this.length--, e } }, n.prototype.shift = function () { if (this.head) { var e = this.head.value; return this.head = this.head.next, this.head ? this.head.prev = null : this.tail = null, this.length--, e } }, n.prototype.forEach = function (e, t) { t = t || this; for (var r = this.head, n = 0; null !== r; n++) e.call(t, r.value, n, this), r = r.next }, n.prototype.forEachReverse = function (e, t) { t = t || this; for (var r = this.tail, n = this.length - 1; null !== r; n--) e.call(t, r.value, n, this), r = r.prev }, n.prototype.get = function (e) { for (var t = 0, r = this.head; null !== r && t < e; t++) r = r.next; if (t === e && null !== r) return r.value }, n.prototype.getReverse = function (e) { for (var t = 0, r = this.tail; null !== r && t < e; t++) r = r.prev; if (t === e && null !== r) return r.value }, n.prototype.map = function (e, t) { t = t || this; for (var r = new n, i = this.head; null !== i;) r.push(e.call(t, i.value, this)), i = i.next; return r }, n.prototype.mapReverse = function (e, t) { t = t || this; for (var r = new n, i = this.tail; null !== i;) r.push(e.call(t, i.value, this)), i = i.prev; return r }, n.prototype.reduce = function (e, t) { var r, n = this.head; if (arguments.length > 1) r = t; else { if (!this.head) throw new TypeError("Reduce of empty list with no initial value"); n = this.head.next, r = this.head.value } for (var i = 0; null !== n; i++) r = e(r, n.value, i), n = n.next; return r }, n.prototype.reduceReverse = function (e, t) { var r, n = this.tail; if (arguments.length > 1) r = t; else { if (!this.tail) throw new TypeError("Reduce of empty list with no initial value"); n = this.tail.prev, r = this.tail.value } for (var i = this.length - 1; null !== n; i--) r = e(r, n.value, i), n = n.prev; return r }, n.prototype.toArray = function () { for (var e = new Array(this.length), t = 0, r = this.head; null !== r; t++) e[t] = r.value, r = r.next; return e }, n.prototype.toArrayReverse = function () { for (var e = new Array(this.length), t = 0, r = this.tail; null !== r; t++) e[t] = r.value, r = r.prev; return e }, n.prototype.slice = function (e, t) { (t = t || this.length) < 0 && (t += this.length), (e = e || 0) < 0 && (e += this.length); var r = new n; if (t < e || t < 0) return r; e < 0 && (e = 0), t > this.length && (t = this.length); for (var i = 0, o = this.head; null !== o && i < e; i++) o = o.next; for (; null !== o && i < t; i++, o = o.next) r.push(o.value); return r }, n.prototype.sliceReverse = function (e, t) { (t = t || this.length) < 0 && (t += this.length), (e = e || 0) < 0 && (e += this.length); var r = new n; if (t < e || t < 0) return r; e < 0 && (e = 0), t > this.length && (t = this.length); for (var i = this.length, o = this.tail; null !== o && i > t; i--) o = o.prev; for (; null !== o && i > e; i--, o = o.prev) r.push(o.value); return r }, n.prototype.splice = function (e, t, ...r) { e > this.length && (e = this.length - 1), e < 0 && (e = this.length + e); for (var n = 0, o = this.head; null !== o && n < e; n++) o = o.next; var s = []; for (n = 0; o && n < t; n++) s.push(o.value), o = this.removeNode(o); null === o && (o = this.tail), o !== this.head && o !== this.tail && (o = o.prev); for (n = 0; n < r.length; n++) o = i(this, o, r[n]); return s }, n.prototype.reverse = function () { for (var e = this.head, t = this.tail, r = e; null !== r; r = r.prev) { var n = r.prev; r.prev = r.next, r.next = n } return this.head = t, this.tail = e, this }; try { e("./iterator.js")(n) } catch (e) {} }, { "./iterator.js": 82 }] }, {}, [12])(12) });