!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).EventEmitter3 = e(); } }(function () { return function i(s, f, c) { function u(t, e) { if (!f[t]) { if (!s[t]) { var n = "function" == typeof require && require; if (!e && n) return n(t, !0); if (a) return a(t, !0); var r = new Error("Cannot find module '" + t + "'"); throw r.code = "MODULE_NOT_FOUND", r; } var o = f[t] = { exports: {} }; s[t][0].call(o.exports, function (e) { return u(s[t][1][e] || e); }, o, o.exports, i, s, f, c); } return f[t].exports; } for (var a = "function" == typeof require && require, e = 0; e < c.length; e++) u(c[e]); return u; }({ 1: [function (e, t, n) { "use strict"; var r = Object.prototype.hasOwnProperty, v = "~"; function o() {} function f(e, t, n) { this.fn = e, this.context = t, this.once = n || !1; } function i(e, t, n, r, o) { if ("function" != typeof n) throw new TypeError("The listener must be a function"); var i = new f(n, r || e, o), s = v ? v + t : t; return e._events[s] ? e._events[s].fn ? e._events[s] = [e._events[s], i] : e._events[s].push(i) : (e._events[s] = i, e._eventsCount++), e; } function u(e, t) { 0 == --e._eventsCount ? e._events = new o() : delete e._events[t]; } function s() { this._events = new o(), this._eventsCount = 0; } Object.create && (o.prototype = Object.create(null), new o().__proto__ || (v = !1)), s.prototype.eventNames = function () { var e, t, n = []; if (0 === this._eventsCount) return n; for (t in e = this._events) r.call(e, t) && n.push(v ? t.slice(1) : t); return Object.getOwnPropertySymbols ? n.concat(Object.getOwnPropertySymbols(e)) : n; }, s.prototype.listeners = function (e) { var t = v ? v + e : e, n = this._events[t]; if (!n) return []; if (n.fn) return [n.fn]; for (var r = 0, o = n.length, i = new Array(o); r < o; r++) i[r] = n[r].fn; return i; }, s.prototype.listenerCount = function (e) { var t = v ? v + e : e, n = this._events[t]; return n ? n.fn ? 1 : n.length : 0; }, s.prototype.emit = function (e, t, n, r, o, i) { var s = v ? v + e : e; if (!this._events[s]) return !1; var f, c, u = this._events[s], a = arguments.length; if (u.fn) { switch (u.once && this.removeListener(e, u.fn, void 0, !0), a) { case 1: return u.fn.call(u.context), !0; case 2: return u.fn.call(u.context, t), !0; case 3: return u.fn.call(u.context, t, n), !0; case 4: return u.fn.call(u.context, t, n, r), !0; case 5: return u.fn.call(u.context, t, n, r, o), !0; case 6: return u.fn.call(u.context, t, n, r, o, i), !0; } for (c = 1, f = new Array(a - 1); c < a; c++) f[c - 1] = arguments[c]; u.fn.apply(u.context, f); } else { var l, p = u.length; for (c = 0; c < p; c++) switch (u[c].once && this.removeListener(e, u[c].fn, void 0, !0), a) { case 1: u[c].fn.call(u[c].context); break; case 2: u[c].fn.call(u[c].context, t); break; case 3: u[c].fn.call(u[c].context, t, n); break; case 4: u[c].fn.call(u[c].context, t, n, r); break; default: if (!f) for (l = 1, f = new Array(a - 1); l < a; l++) f[l - 1] = arguments[l]; u[c].fn.apply(u[c].context, f); } } return !0; }, s.prototype.on = function (e, t, n) { return i(this, e, t, n, !1); }, s.prototype.once = function (e, t, n) { return i(this, e, t, n, !0); }, s.prototype.removeListener = function (e, t, n, r) { var o = v ? v + e : e; if (!this._events[o]) return this; if (!t) return u(this, o), this; var i = this._events[o]; if (i.fn) i.fn !== t || r && !i.once || n && i.context !== n || u(this, o);else { for (var s = 0, f = [], c = i.length; s < c; s++) (i[s].fn !== t || r && !i[s].once || n && i[s].context !== n) && f.push(i[s]); f.length ? this._events[o] = 1 === f.length ? f[0] : f : u(this, o); } return this; }, s.prototype.removeAllListeners = function (e) { var t; return e ? (t = v ? v + e : e, this._events[t] && u(this, t)) : (this._events = new o(), this._eventsCount = 0), this; }, s.prototype.off = s.prototype.removeListener, s.prototype.addListener = s.prototype.on, s.prefixed = v, s.EventEmitter = s, void 0 !== t && (t.exports = s); }, {}] }, {}, [1])(1); });