| 1076 | e.removeEventListener ? e.removeEventListener(i, t, !1) : e.detachEvent && e.detachEvent("on" + i, t); |
| 1077 | } }; |
| 1078 | function jt(e) { |
| 1079 | var i = function() { |
| 1080 | var t = function(n, s) { |
| 1081 | n = n || We.event, s = s || We.eventRemove; |
| 1082 | var a = [], o = { attach: function(_, r, d, l) { |
| 1083 | a.push({ element: _, event: r, callback: d, capture: l }), n(_, r, d, l); |
| 1084 | }, detach: function(_, r, d, l) { |
| 1085 | s(_, r, d, l); |
| 1086 | for (var h = 0; h < a.length; h++) { |
| 1087 | var p = a[h]; |
| 1088 | p.element === _ && p.event === r && p.callback === d && p.capture === l && (a.splice(h, 1), h--); |
| 1089 | } |
| 1090 | }, detachAll: function() { |
| 1091 | for (var _ = a.slice(), r = 0; r < _.length; r++) { |
| 1092 | var d = _[r]; |
| 1093 | o.detach(d.element, d.event, d.callback, d.capture), o.detach(d.element, d.event, d.callback, void 0), o.detach(d.element, d.event, d.callback, !1), o.detach(d.element, d.event, d.callback, !0); |
| 1094 | } |
| 1095 | a.splice(0, a.length); |
| 1096 | }, extend: function() { |
| 1097 | return t(this.event, this.eventRemove); |
| 1098 | } }; |
| 1099 | return o; |
| 1100 | }; |
| 1101 | return t(); |
| 1102 | }(); |
| 1103 | e.event = i.attach, e.eventRemove = i.detach, e._eventRemoveAll = i.detachAll, e._createDomEventScope = i.extend, e._trim = function(t) { |
| 1104 | return (String.prototype.trim || function() { |
| 1105 | return this.replace(/^\s+|\s+$/g, ""); |
| 1106 | }).apply(t); |
| 1107 | }, e._isDate = function(t) { |
| 1108 | return !(!t || typeof t != "object") && !!(t.getFullYear && t.getMonth && t.getDate); |
| 1109 | }, e._isObject = function(t) { |
| 1110 | return t && typeof t == "object"; |
| 1111 | }; |
| 1112 | } |
| 1113 | function ft(e) { |
| 1114 | if (!e) |
| 1115 | return ""; |