|
|
/*!
|
|
|
* https://github.com/paulmillr/es6-shim
|
|
|
* @license es6-shim Copyright 2013-2016 by Paul Miller (http://paulmillr.com)
|
|
|
* and contributors, MIT License
|
|
|
* es6-shim: v0.35.4
|
|
|
* see https://github.com/paulmillr/es6-shim/blob/0.35.3/LICENSE
|
|
|
* Details and documentation:
|
|
|
* https://github.com/paulmillr/es6-shim/
|
|
|
*/
|
|
|
(function (e, t) { if (typeof define === "function" && define.amd) { define(t) } else if (typeof exports === "object") { module.exports = t() } else { e.returnExports = t() } })(this, function () {
|
|
|
"use strict"; var e = Function.call.bind(Function.apply); var t = Function.call.bind(Function.call); var r = Array.isArray; var n = Object.keys; var o = function notThunker(t) { return function notThunk() { return !e(t, this, arguments) } }; var i = function (e) { try { e(); return false } catch (t) { return true } }; var a = function valueOrFalseIfThrows(e) { try { return e() } catch (t) { return false } }; var u = o(i); var f = function () { return !i(function () { return Object.defineProperty({}, "x", { get: function () { } }) }) }; var s = !!Object.defineProperty && f(); var c = function foo() { }.name === "foo"; var l = Function.call.bind(Array.prototype.forEach); var p = Function.call.bind(Array.prototype.reduce); var v = Function.call.bind(Array.prototype.filter); var y = Function.call.bind(Array.prototype.some); var h = function (e, t, r, n) { if (!n && t in e) { return } if (s) { Object.defineProperty(e, t, { configurable: true, enumerable: false, writable: true, value: r }) } else { e[t] = r } }; var b = function (e, t, r) { l(n(t), function (n) { var o = t[n]; h(e, n, o, !!r) }) }; var g = Function.call.bind(Object.prototype.toString); var d = typeof /abc/ === "function" ? function IsCallableSlow(e) { return typeof e === "function" && g(e) === "[object Function]" } : function IsCallableFast(e) { return typeof e === "function" }; var m = { getter: function (e, t, r) { if (!s) { throw new TypeError("getters require true ES5 support") } Object.defineProperty(e, t, { configurable: true, enumerable: false, get: r }) }, proxy: function (e, t, r) { if (!s) { throw new TypeError("getters require true ES5 support") } var n = Object.getOwnPropertyDescriptor(e, t); Object.defineProperty(r, t, { configurable: n.configurable, enumerable: n.enumerable, get: function getKey() { return e[t] }, set: function setKey(r) { e[t] = r } }) }, redefine: function (e, t, r) { if (s) { var n = Object.getOwnPropertyDescriptor(e, t); n.value = r; Object.defineProperty(e, t, n) } else { e[t] = r } }, defineByDescriptor: function (e, t, r) { if (s) { Object.defineProperty(e, t, r) } else if ("value" in r) { e[t] = r.value } }, preserveToString: function (e, t) { if (t && d(t.toString)) { h(e, "toString", t.toString.bind(t), true) } } }; var O = Object.create || function (e, t) { var r = function Prototype() { }; r.prototype = e; var o = new r; if (typeof t !== "undefined") { n(t).forEach(function (e) { m.defineByDescriptor(o, e, t[e]) }) } return o }; var w = function (e, t) { if (!Object.setPrototypeOf) { return false } return a(function () { var r = function Subclass(t) { var r = new e(t); Object.setPrototypeOf(r, Subclass.prototype); return r }; Object.setPrototypeOf(r, e); r.prototype = O(e.prototype, { constructor: { value: r } }); return t(r) }) }; var j = function () { if (typeof self !== "undefined") { return self } if (typeof window !== "undefined") { return window } if (typeof global !== "undefined") { return global } throw new Error("unable to locate global object") }; var S = j(); var T = S.isFinite; var I = Function.call.bind(String.prototype.indexOf); var E = Function.apply.bind(Array.prototype.indexOf); var P = Function.call.bind(Array.prototype.concat); var C = Function.call.bind(String.prototype.slice); var M = Function.call.bind(Array.prototype.push); var x = Function.apply.bind(Array.prototype.push); var N = Function.call.bind(Array.prototype.shift); var A = Math.max; var R = Math.min; var _ = Math.floor; var k = Math.abs; var L = Math.exp; var F = Math.log; var D = Math.sqrt; var z = Function.call.bind(Object.prototype.hasOwnProperty); var q; var W = function () { }; var G = S.Map; var H = G && G.prototype["delete"]; var V = G && G.prototype.get; var B = G && G.prototype.has; var U = G && G.prototype.set; var $ = S.Symbol || {}; var J = $.species || "@@species"; var X = Number.isNaN || function isNaN(e) { return e !== e }; var K = Number.isFinite || function isFinite(e) { return typeof e === "number" && T(e) }; var Z = d(Math.sign) ? Math.sign : function sign(e) { var t = Number(e); if (t === 0) { return t } if (X(t)) { return t } return t < 0 ? -1 : 1 }; var Y = function log1p(e) { var t = Number(e); if (t < -1 || X(t)) { return NaN } if (t === 0 || t === Infinity) { return t } if (t === -1) { return -Infinity } return 1 + t - 1 === 0 ? t : t * (F(1 + t) / (1 + t - 1)) }; var Q = function isArguments(e) { return g(e) === "[object Arguments]" }; var ee = function isArguments(e) { return e !== null && typeof e === "object" && typeof e.length === "number" && e.length >= 0 && g(e) !== "[object Array]" && g(e.callee) === "[object Function]" }; var te = Q(arguments) ? Q : ee; var re = { primitive: function (e) { return e === null || typeof e !== "function" && typeof e !== "object" }, string: function (e) { return g(e) === "[object String]" }, regex: function (e) { return g(e) === "[object RegExp]" }, symbol: function (e) { return typeof S.Symbol === "function" && typeof e === "symbol" } }; var ne = function overrideNative(e, t, r) { var n = e[t]; h(e, t, r, true); m.preserveToString(e[t], n) }; var oe = typeof $ === "function" && typeof $["for"] === "function" && re.symbol($()); var ie = re.symbol($.iterator) ? $.iterator : "_es6-shim iterator_"; if (S.Set && typeof (new S.Set)["@@iterator"] === "function") { ie = "@@iterator" } if (!S.Reflect) { h(S, "Reflect", {}, true) } var ae = S.Reflect; var ue = String; var fe = typeof document === "undefined" || !document ? null : document.all; var se = fe == null ? function isNullOrUndefined(e) { return e == null } : function isNullOrUndefinedAndNotDocumentAll(e) { return e == null && e !== fe }; var ce = { Call: function Call(t, r) { var n = arguments.length > 2 ? arguments[2] : []; if (!ce.IsCallable(t)) { throw new TypeError(t + " is not a function") } return e(t, r, n) }, RequireObjectCoercible: function (e, t) { if (se(e)) { throw new TypeError(t || "Cannot call method on " + e) } return e }, TypeIsObject: function (e) { if (e === void 0 || e === null || e === true || e === false) { return false } return typeof e === "function" || typeof e === "object" || e === fe }, ToObject: function (e, t) { return Object(ce.RequireObjectCoercible(e, t)) }, IsCallable: d, IsConstructor: function (e) { return ce.IsCallable(e) }, ToInt32: function (e) { return ce.ToNumber(e) >> 0 }, ToUint32: function (e) { return ce.ToNumber(e) >>> 0 }, ToNumber: function (e) { if (g(e) === "[object Symbol]") { throw new TypeError("Cannot convert a Symbol value to a number") } return +e }, ToInteger: function (e) { var t = ce.ToNumber(e); if (X(t)) { return 0 } if (t === 0 || !K(t)) { return t } return (t > 0 ? 1 : -1) * _(k(t)) }, ToLength: function (e) { var t = ce.ToInteger(e); if (t <= 0) { return 0 } if (t > Number.MAX_SAFE_INTEGER) { return Number.MAX_SAFE_INTEGER } return t }, SameValue: function (e, t) { if (e === t) { if (e === 0) { return 1 / e === 1 / t } return true } return X(e) && X(t) }, SameValueZero: function (e, t) { return e === t || X(e) && X(t) }, IsIterable: function (e) { return ce.TypeIsObject(e) && (typeof e[ie] !== "undefined" || te(e)) }, GetIterator: function (e) { if (te(e)) { return new q(e, "value") } var t = ce.GetMethod(e, ie); if (!ce.IsCallable(t)) { throw new TypeError("value is not an iterable") } var r = ce.Call(t, e); if (!ce.TypeIsObject(r)) { throw new TypeError("bad iterator") } return r }, GetMethod: function (e, t) { var r = ce.ToObject(e)[t]; if (se(r)) { return void 0 } if (!ce.IsCallable(r)) { throw new TypeError("Method not callable: " + t) } return r }, IteratorComplete: function (e) { return !!e.done }, IteratorClose: function (e, t) { var r = ce.GetMethod(e, "return"); if (r === void 0) { return } var n, o; try { n = ce.Call(r, e) } catch (i) { o = i } if (t) { return } if (o) { throw o } if (!ce.TypeIsObject(n)) { throw new TypeError("Iterator's return method returned a non-object.") } }, IteratorNext: function (e) { var t = arguments.length > 1 ? e.next(arguments[1]) : e.next(); if (!ce.TypeIsObject(t)) { throw new TypeError("bad iterator") } return t }, IteratorStep: function (e) { var t = ce.IteratorNext(e); var r = ce.IteratorComplete(t); return r ? false : t }, Construct: function (e, t, r, n) { var o = typeof r === "undefined" ? e : r; if (!n && ae.construct) { return ae.construct(e, t, o) } var i = o.prototype; if (!ce.TypeIsObject(i)) { i = Object.prototype } var a = O(i); var u = ce.Call(e, a, t); return ce.TypeIsObject(u) ? u : a }, SpeciesConstructor: function (e, t) { var r = e.constructor; if (r === void 0) { return t } if (!ce.TypeIsObject(r)) { throw new TypeError("Bad constructor") } var n = r[J]; if (se(n)) { return t } if (!ce.IsConstructor(n)) { throw new TypeError("Bad @@species") } return n }, CreateHTML: function (e, t, r, n) { var o = ce.ToString(e); var i = "<" + t; if (r !== "") { var a = ce.ToString(n); var u = a.replace(/"/g, """); i += " " + r + '="' + u + '"' } var f = i + ">"; var s = f + o; return s + "</" + t + ">" }, IsRegExp: function IsRegExp(e) { if (!ce.TypeIsObject(e)) { return false } var t = e[$.match]; if (typeof t !== "undefined") { return !!t } return re.regex(e) }, ToString: function ToString(e) { return ue(e) } }; if (s && oe) { var le = function defineWellKnownSymbol(e) { if (re.symbol($[e])) { return $[e] } var t = $["for"]("Symbol." + e); Object.defineProperty($, e, { configurable: false, enumerable: false, writable: false, value: t }); return t }; if (!re.symbol($.search)) { var pe = le("search"); var ve = String.prototype.search; h(RegExp.prototype, pe, function search(e) { return ce.Call(ve, e, [this]) }); var ye = function search(e) { var t = ce.RequireObjectCoercible(this); if (!se(e)) { var r = ce.GetMethod(e, pe); if (typeof r !== "undefined") { return ce.Call(r, e, [t]) } } return ce.Call(ve, t, [ce.ToString(e)]) }; ne(String.prototype, "search", ye) } if (!re.symbol($.replace)) { var he = le("replace"); var be = String.prototype.replace; h(RegExp.prototype, he, function replace(e, t) { return ce.Call(be, e, [this, t]) }); var ge = function replace(e, t) { var r = ce.RequireObjectCoercible(this); if (!se(e)) { var n = ce.GetMethod(e, he); if (typeof n !== "undefined") { return ce.Call(n, e, [r, t]) } } return ce.Call(be, r, [ce.ToString(e), t]) }; ne(String.prototype, "replace", ge) } if (!re.symbol($.split)) { var de = le("split"); var me = String.prototype.split; h(RegExp.prototype, de, function split(e, t) { return ce.Call(me, e, [this, t]) }); var Oe = function split(e, t) { var r = ce.RequireObjectCoercible(this); if (!se(e)) { var n = ce.GetMethod(e, de); if (typeof n !== "undefined") { return ce.Call(n, e, [r, t]) } } return ce.Call(me, r, [ce.ToString(e), t]) }; ne(String.prototype, "split", Oe) } var we = re.symbol($.match); var je = we && function () { var e = {}; e[$.match] = function () { return 42 }; return "a".match(e) !== 42 }(); if (!we || je) { var Se = le("match"); var Te = String.prototype.match; h(RegExp.prototype, Se, function match(e) { return ce.Call(Te, e, [this]) }); var Ie = function match(e) { var t = ce.RequireObjectCoercible(this); if (!se(e)) { var r = ce.GetMethod(e, Se); if (typeof r !== "undefined") { return ce.Call(r, e, [t]) } } return ce.Call(Te, t, [ce.ToString(e)]) }; ne(String.prototype, "match", Ie) } } var Ee = function wrapConstructor(e, t, r) { m.preserveToString(t, e); if (Object.setPrototypeOf) { Object.setPrototypeOf(e, t) } if (s) { l(Object.getOwnPropertyNames(e), function (n) { if (n in W || r[n]) { return } m.proxy(e, n, t) }) } else { l(Object.keys(e), function (n) { if (n in W || r[n]) { return } t[n] = e[n] }) } t.prototype = e.prototype; m.redefine(e.prototype, "constructor", t) }; var Pe = function () { return this }; var Ce = function (e) { if (s && !z(e, J)) { m.getter(e, J, Pe) } }; var Me = function (e, t) { var r = t || function iterator() { return this }; h(e, ie, r); if (!e[ie] && re.symbol(ie)) { e[ie] = r } }; var xe = function createDataProperty(e, t, r) { if (s) { Object.defineProperty(e, t, { configurable: true, enumerable: true, writable: true, value: r }) } else { e[t] = r } }; var Ne = function createDataPropertyOrThrow(e, t, r) { xe(e, t, r); if (!ce.SameValue(e[t], r)) { throw new TypeError("property is nonconfigurable") } }; var Ae = function (e, t, r, n) { if (!ce.TypeIsObject(e)) { throw new TypeError("Constructor requires `new`: " + t.name) } var o = t.prototype; if (!ce.TypeIsObject(o)) { o = r } var i = O(o); for (var a in n) { if (z(n, a)) { var u = n[a]; h(i, a, u, true) } } return i }; if (String.fromCodePoint && String.fromCodePoint.length !== 1) { var Re = String.fromCodePoint; ne(String, "fromCodePoint", function fromCodePoint(e) { return ce.Call(Re, this, arguments) }) } var _e = { fromCodePoint: function fromCodePoint(e) { var t = []; var r; for (var n = 0, o = arguments.length; n < o; n++) { r = Number(arguments[n]); if (!ce.SameValue(r, ce.ToInteger(r)) || r < 0 || r > 1114111) { throw new RangeError("Invalid code point " + r) } if (r < 65536) { M(t, String.fromCharCode(r)) } else { r -= 65536; M(t, String.fromCharCode((r >> 10) + 55296)); M(t, String.fromCharCode(r % 1024 + 56320)) } } return t.join("") }, raw: function raw(e) { var t = ce.ToObject(e, "bad callSite"); var r = ce.ToObject(t.raw, "bad raw value"); var n = r.length; var o = ce.ToLength(n); if (o <= 0) { return "" } var i = []; var a = 0; var u, f, s, c; while (a < o) { u = ce.ToString(a); s = ce.ToString(r[u]); M(i, s); if (a + 1 >= o) { break } f = a + 1 < arguments.length ? arguments[a + 1] : ""; c = ce.ToString(f); M(i, c); a += 1 } return i.join("") } }; if (String.raw && String.raw({ raw: { 0: "x", 1: "y", length: 2 } }) !== "xy") { ne(String, "raw", _e.raw) } b(String, _e); var ke = function repeat(e, t) { if (t < 1) { return "" } if (t % 2) { return repeat(e, t - 1) + e } var r = repeat(e, t / 2); return r + r }; var Le = Infinity; var Fe = { repeat: function repeat(e) { var t = ce.ToString(ce.RequireObjectCoercible(this)); var r = ce.ToInteger(e); if (r < 0 || r >= Le) { throw new RangeError("repeat count must be less than infinity and not overflow maximum string size") } return ke(t, r) }, startsWith: function startsWith(e) { var t = ce.ToString(ce.RequireObjectCoercible(this)); if (ce.IsRegExp(e)) { throw new TypeError('Cannot call method "startsWith" with a regex') } var r = ce.ToString(e); var n; if (arguments.length > 1) { n = arguments[1] } var o = A(ce.ToInteger(n), 0); return C(t, o, o + r.length) === r }, endsWith: function endsWith(e) { var t = ce.ToString(ce.RequireObjectCoercible(this)); if (ce.IsRegExp(e)) { throw new TypeError('Cannot call method "endsWith" with a regex') } var r = ce.ToString(e); var n = t.length; var o; if (arguments.length > 1) { o = arguments[1] } var i = typeof o === "undefined" ? n : ce.ToInteger(o); var a = R(A(i, 0), n); return C(t, a - r.length, a) === r }, includes: function includes(e) { if (ce.IsRegExp(e)) { throw new TypeError('"includes" does not accept a RegExp') } var t = ce.ToString(e); var r; if (arguments.length > 1) { r = arguments[1] } return I(this, t, r) !== -1 }, codePointAt: function codePointAt(e) { var t = ce.ToString(ce.RequireObjectCoercible(this)); var r = ce.ToInteger(e); var n = t.length; if (r >= 0 && r < n) { var o = t.charCodeAt(r); var i = r + 1 === n; if (o < 55296 || o > 56319 || i) { return o } var a = t.charCodeAt(r + 1); if (a < 56320 || a > 57343) { return o } return (o - 55296) * 1024 + (a - 56320) + 65536 } } }; if (String.prototype.includes && "a".includes("a", Infinity) !== false) { ne(String.prototype, "includes", Fe.includes) } if (String.prototype.startsWith && String.prototype.endsWith) { var De = i(function () { return "/a/".startsWith(/a/) }); var ze = a(function () { return "abc".startsWith("a", Infinity) === false }); if (!De || !ze) { ne(String.prototype, "startsWith", Fe.startsWith); ne(String.prototype, "endsWith", Fe.endsWith) } } if (oe) { var qe = a(function () { var e = /a/; e[$.match] = false; return "/a/".startsWith(e) }); if (!qe) { ne(String.prototype, "startsWith", Fe.startsWith) } var We = a(function () { var e = /a/; e[$.match] = false; return "/a/".endsWith(e) }); if (!We) { ne(String.prototype, "endsWith", Fe.endsWith) } var Ge = a(function () { var e = /a/; e[$.match] = false; return "/a/".includes(e) }); if (!Ge) { ne(String.prototype, "includes", Fe.includes) } } b(String.prototype, Fe); var He = ["\t\n\x0B\f\r \xa0\u1680\u180e\u2000\u2001\u2002\u2003", "\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028", "\u2029\ufeff"].join(""); var Ve = new RegExp("(^[" + He + "]+)|([" + He + "]+$)", "g"); var Be = function trim() { return ce.ToString(ce.RequireObjectCoercible(this)).replace(Ve, "") }; var Ue = ["\x85", "\u200b", "\ufffe"].join(""); var $e = new RegExp("[" + Ue + "]", "g"); var Je = /^[-+]0x[0-9a-f]+$/i; var Xe = Ue.trim().length !== Ue.length; h(String.prototype, "trim", Be, Xe); var Ke = function (e) { return { value: e, done: arguments.length === 0 } }; var Ze = function (e) { ce.RequireObjectCoercible(e); this._s = ce.ToString(e); this._i = 0 }; Ze.prototype.next = function () { var e = this._s; var t = this._i; if (typeof e === "undefined" || t >= e.length) { this._s = void 0; return Ke() } var r = e.charCodeAt(t); var n, o; if (r < 55296 || r > 56319 || t + 1 === e.length) { o = 1 } else { n = e.charCodeAt(t + 1); o = n < 56320 || n > 57343 ? 1 : 2 } this._i = t + o; return Ke(e.substr(t, o)) }; Me(Ze.prototype); Me(String.prototype, function () { return new Ze(this) }); var Ye = { from: function from(e) { var r = this; var n; if (arguments.length > 1) { n = arguments[1] } var o, i; if (typeof n === "undefined") { o = false } else { if (!ce.IsCallable(n)) { throw new TypeError("Array.from: when provided, the second argument must be a function") } if (arguments.length > 2) { i = arguments[2] } o = true } var a = typeof (te(e) || ce.GetMethod(e, ie)) !== "undefined"; var u, f, s; if (a) { f = ce.IsConstructor(r) ? Object(new r) : []; var c = ce.GetIterator(e); var l, p; s = 0; while (true) { l = ce.IteratorStep(c); if (l === false) { break } p = l.value; try { if (o) { p = typeof i === "undefined" ? n(p, s) : t(n, i, p, s) } f[s] = p } catch (v) { ce.IteratorClose(c, true); throw v } s += 1 } u = s } else { var y = ce.ToObject(e); u = ce.ToLength(y.length); f = ce.IsConstructor(r) ? Object(new r(u)) : new Array(u); var h; for (s = 0; s < u; ++s) { h = y[s]; if (o) { h = typeof i === "undefined" ? n(h, s) : t(n, i, h, s) } Ne(f, s, h) } } f.length = u; return f }, of: function of() { var e = arguments.length; var t = this; var n = r(t) || !ce.IsCallable(t) ? new Array(e) : ce.Construct(t, [e]); for (var o = 0; o < e; ++o) { Ne(n, o, arguments[o]) } n.length = e; return n } }; b(Array, Ye); Ce(Array); q = function (e, t) { this.i = 0; this.array = e; this.kind = t }; b(q.prototype, { next: function () { var e = this.i; var t = this.array; if (!(this instanceof q)) { throw new TypeError("Not an ArrayIterator") } if (typeof t !== "undefined") { var r = ce.ToLength(t.length); for (; e < r; e++) { var n = this.kind; var o; if (n === "key") { o = e } else if (n === "value") { o = t[e] } else if (n === "entry") { o = [e, t[e]] } this.i = e + 1; return Ke(o) } } this.array = void 0; return Ke() } }); Me(q.prototype); var Qe = Array.of === Ye.of || function () { var e = function Foo(e) { this.length = e }; e.prototype = []; var t = Array.of.apply(e, [1, 2]); return t instanceof e && t.length === 2 }(); if (!Qe) { ne(Array, "of", Ye.of) } var et = { copyWithin: function copyWithin(e, t) { var r = ce.ToObject(this); var n = ce.ToLength(r.length); var o = ce.ToInteger(e); var i = ce.ToInteger(t); var a = o < 0 ? A(n + o, 0) : R(o, n); var u = i < 0 ? A(n + i, 0) : R(i, n); var f; if (arguments.length > 2) { f = arguments[2] } var s = typeof f === "undefined" ? n : ce.ToInteger(f); var c = s < 0 ? A(n + s, 0) : R(s, n); var l = R(c - u, n - a); var p = 1; if (u < a && a < u + l) { p = -1; u += l - 1; a += l - 1 } while (l > 0) { if (u in r) { r[a] = r[u] } else { delete r[a] } u += p; a += p; l -= 1 } return r }, fill: function fill(e) { var t; if (arguments.length > 1) { t = arguments[1] } var r; if (arguments.length > 2) { r = arguments[2] } var n = ce.ToObject(this); var o = ce.ToLength(n.length); t = ce.ToInteger(typeof t === "undefined" ? 0 : t); r = ce.ToInteger(typeof r === "undefined" ? o : r); var i = t < 0 ? A(o + t, 0) : R(t, o); var a = r < 0 ? o + r : r; for (var u = i; u < o && u < a; ++u) { n[u] = e } return n }, find: function find(e) { var r = ce.ToObject(this); var n = ce.ToLength(r.length); if (!ce.IsCallable(e)) { throw new TypeError("Array#find: predicate must be a function") } var o = arguments.length > 1 ? arguments[1] : null; for (var i = 0, a; i < n; i++) { a = r[i]; if (o) { if (t(e, o, a, i, r)) { return a } } else if (e(a, i, r)) { return a } } }, findIndex: function findIndex(e) { var r = ce.ToObject(this); var n = ce.ToLength(r.length); if (!ce.IsCallable(e)) { throw new TypeError("Array#findIndex: predicate must be a function") } var o = arguments.length > 1 ? arguments[1] : null; for (var i = 0; i < n; i++) { if (o) { if (t(e, o, r[i], i, r)) { return i } } else if (e(r[i], i, r)) { return i } } return -1 }, keys: function keys() { return new q(this, "key") }, values: function values() { return new q(this, "value") }, entries: function entries() { return new q(this, "entry") } }; if (Array.prototype.keys && !ce.IsCallable([1].keys().next)) { delete Array.prototype.keys } if (Array.prototype.entries && !ce.IsCallable([1].entries().next)) { delete Array.prototype.entries } if (Array.prototype.keys && Array.prototype.entries && !Array.prototype.values && Array.prototype[ie]) { b(Array.prototype, { values: Array.prototype[ie] }); if (re.symbol($.unscopables)) { Array.prototype[$.unscopables].values = true } } if (c && Array.prototype.values && Array.prototype.values.name !== "values") { var tt = Array.prototype.values; ne(Array.prototype, "values", function values() { return ce.Call(tt, this, arguments) }); h(Array.prototype, ie, Array.prototype.values, true) } b(Array.prototype, et); if (1 / [true].indexOf(true, -0) < 0) { h(Array.prototype, "indexOf", function indexOf(e) { var t = E(this, arguments); if (t === 0 && 1 / t < 0) { return 0 } return t }, true) } Me(Array.prototype, function () { return this.values() }); if (Object.getPrototypeOf) { Me(Object.getPrototypeOf([].values())) } var rt = function () { return a(function () { return Array.from({ length: -1 }).length === 0 }) }(); var nt = function () { var e = Array.from([0].entries()); return e.length === 1 && r(e[0]) && e[0][0] === 0 && e[0][1] === 0 }(); if (!rt || !nt) { ne(Array, "from", Ye.from) } var ot = function () { return a(function () { return Array.from([0], void 0) }) }(); if (!ot) { var it = Array.from; ne(Array, "from", function from(e) { if (arguments.length > 1 && typeof arguments[1] !== "undefined") { return ce.Call(it, this, arguments) } else { return t(it, this, e) } }) } var at = -(Math.pow(2, 32) - 1); var ut = function (e, r) { var n = { length: at }; n[r ? (n.length >>> 0) - 1 : 0] = true; return a(function () { t(e, n, function () { throw new RangeError("should not reach here") }, []); return true }) }; if (!ut(Array.prototype.forEach)) { var ft = Array.prototype.forEach; ne(Array.prototype, "forEach", function forEach(e) { return ce.Call(ft, this.length >= 0 ? this : [], arguments) }, true) } if (!ut(Array.prototype.map)) { var st = Array.prototype.map; ne(Array.prototype, "map", function map(e) { return ce.Call(st, this.length >= 0 ? this : [], arguments) }, true) } if (!ut(Array.prototype.filter)) { var ct = Array.prototype.filter; ne(Array.prototype, "filter", function filter(e) { return ce.Call(ct, this.length >= 0 ? this : [], arguments) }, true) } if (!ut(Array.prototype.some)) { var lt = Array.prototype.some; ne(Array.prototype, "some", function some(e) { return ce.Call(lt, this.length >= 0 ? this : [], arguments) }, true) } if (!ut(Array.prototype.every)) { var pt = Array.prototype.every; ne(Array.prototype, "every", function every(e) { return ce.Call(pt, this.length >= 0 ? this : [], arguments) }, true) } if (!ut(Array.prototype.reduce)) { var vt = Array.prototype.reduce; ne(Array.prototype, "reduce", function reduce(e) { return ce.Call(vt, this.length >= 0 ? this : [], arguments) }, true) } if (!ut(Array.prototype.reduceRight, true)) { var yt = Array.prototype.reduceRight; ne(Array.prototype, "reduceRight", function reduceRight(e) { return ce.Call(yt, this.length >= 0 ? this : [], arguments) }, true) } var ht = Number("0o10") !== 8; var bt = Number("0b10") !== 2; var gt = y(Ue, function (e) { return Number(e + 0 + e) === 0 }); if (ht || bt || gt) { var dt = Number; var mt = /^0b[01]+$/i; var Ot = /^0o[0-7]+$/i; var wt = mt.test.bind(mt); var jt = Ot.test.bind(Ot); var St = function (e) { var t; if (typeof e.valueOf === "function") { t = e.valueOf(); if (re.primitive(t)) { return t } } if (typeof e.toString === "function") { t = e.toString(); if (re.primitive(t)) { return t } } throw new TypeError("No default value") }; var Tt = $e.test.bind($e); var It = Je.test.bind(Je); var Et = function () { var e = function Number(t) { var r; if (arguments.length > 0) { r = re.primitive(t) ? t : St(t, "number") } else { r = 0 } if (typeof r === "string") { r = ce.Call(Be, r); if (wt(r)) { r = parseInt(C(r, 2), 2) } else if (jt(r)) { r = parseInt(C(r, 2), 8) } else if (Tt(r) || It(r)) { r = NaN } } var n = this; var o = a(function () { dt.prototype.valueOf.call(n); return true }); if (n instanceof e && !o) { return new dt(r) } return dt(r) }; return e }(); Ee(dt, Et, {}); b(Et, { NaN: dt.NaN, MAX_VALUE: dt.MAX_VALUE, MIN_VALUE: dt.MIN_VALUE, NEGATIVE_INFINITY: dt.NEGATIVE_INFINITY, POSITIVE_INFINITY: dt.POSITIVE_INFINITY }); Number = Et; m.redefine(S, "Number", Et) } var Pt = Math.pow(2, 53) - 1; b(Number, { MAX_SAFE_INTEGER: Pt, MIN_SAFE_INTEGER: -Pt, EPSILON: 2.220446049250313e-16, parseInt: S.parseInt, parseFloat: S.parseFloat, isFinite: K, isInteger: function isInteger(e) { return K(e) && ce.ToInteger(e) === e }, isSafeInteger: function isSafeInteger(e) { return Number.isInteger(e) && k(e) <= Number.MAX_SAFE_INTEGER }, isNaN: X }); h(Number, "parseInt", S.parseInt, Number.parseInt !== S.parseInt); if ([, 1].find(function () { return true }) === 1) { ne(Array.prototype, "find", et.find) } if ([, 1].findIndex(function () { return true }) !== 0) { ne(Array.prototype, "findIndex", et.findIndex) } var Ct = Function.bind.call(Function.bind, Object.prototype.propertyIsEnumerable); var Mt = function ensureEnumerable(e, t) { if (s && Ct(e, t)) { Object.defineProperty(e, t, { enumerable: false }) } }; var xt = function sliceArgs() { var e = Number(this); var t = arguments.length; var r = t - e; var n = new Array(r < 0 ? 0 : r); for (var o = e; o < t; ++o) { n[o - e] = arguments[o] } return n }; var Nt = function assignTo(e) { return function assignToSource(t, r) { t[r] = e[r]; return t } }; var At = function (e, t) { var r = n(Object(t)); var o; if (ce.IsCallable(Object.getOwnPropertySymbols)) { o = v(Object.getOwnPropertySymbols(Object(t)), Ct(t)) } return p(P(r, o || []), Nt(t), e) }; var Rt = { assign: function (e, t) { var r = ce.ToObject(e, "Cannot convert undefined or null to object"); return p(ce.Call(xt, 1, arguments), At, r) }, is: function is(e, t) { return ce.SameValue(e, t) } }; var _t = Object.assign && Object.preventExtensions && function () { var e = Object.preventExtensions({ 1: 2 }); try { Object.assign(e, "xy") } catch (t) { return e[1] === "y" } }(); if (_t) { ne(Object, "assign", Rt.assign) } b(Object, Rt); if (s) { var kt = { setPrototypeOf: function (e, r) { var n; var o = function (e, t) { if (!ce.TypeIsObject(e)) { throw new TypeError("cannot set prototype on a non-object") } if (!(t === null || ce.TypeIsObject(t))) { throw new TypeError("can only set prototype to an object or null" + t) } }; var i = function (e, r) { o(e, r); t(n, e, r); return e }; try { n = e.getOwnPropertyDescriptor(e.prototype, r).set; t(n, {}, null) } catch (a) { if (e.prototype !== {}[r]) { return } n = function (e) { this[r] = e }; i.polyfill = i(i({}, null), e.prototype) instanceof e } return i }(Object, "__proto__") }; b(Object, kt) } if (Object.setPrototypeOf && Object.getPrototypeOf && Object.getPrototypeOf(Object.setPrototypeOf({}, null)) !== null && Object.getPrototypeOf(Object.create(null)) === null) { (function () { var e = Object.create(null); var t = Object.getPrototypeOf; var r = Object.setPrototypeOf; Object.getPrototypeOf = function (r) { var n = t(r); return n === e ? null : n }; Object.setPrototypeOf = function (t, n) { var o = n === null ? e : n; return r(t, o) }; Object.setPrototypeOf.polyfill = false })() } var Lt = !i(function () { return Object.keys("foo") }); if (!Lt) { var Ft = Object.keys; ne(Object, "keys", function keys(e) { return Ft(ce.ToObject(e)) }); n = Object.keys } var Dt = i(function () { return Object.keys(/a/g) }); if (Dt) { var zt = Object.keys; ne(Object, "keys", function keys(e) { if (re.regex(e)) { var t = []; for (var r in e) { if (z(e, r)) { M(t, r) } } return t } return zt(e) }); n = Object.keys } if (Object.getOwnPropertyNames) { var qt = !i(function () { return Object.getOwnPropertyNames("foo") }); if (!qt) { var Wt = typeof window === "object" ? Object.getOwnPropertyNames(window) : []; var Gt = Object.getOwnPropertyNames; ne(Object, "getOwnPropertyNames", function getOwnPropertyNames(e) { var t = ce.ToObject(e); if (g(t) === "[object Window]") { try { return Gt(t) } catch (r) { return P([], Wt) } } return Gt(t) }) } } if (Object.getOwnPropertyDescriptor) { var Ht = !i(function () { return Object.getOwnPropertyDescriptor("foo", "bar") }); if (!Ht) { var Vt = Object.getOwnPropertyDescriptor; ne(Object, "getOwnPropertyDescriptor", function getOwnPropertyDescriptor(e, t) { return Vt(ce.ToObject(e), t) }) } } if (Object.seal) { var Bt = !i(function () { return Object.seal("foo") }); if (!Bt) { var Ut = Object.seal; ne(Object, "seal", function seal(e) { if (!ce.TypeIsObject(e)) { return e } return Ut(e) }) } } if (Object.isSealed) { var $t = !i(function () { return Object.isSealed("foo") }); if (!$t) { var Jt = Object.isSealed; ne(Object, "isSealed", function isSealed(e) { if (!ce.TypeIsObject(e)) { return true } return Jt(e) }) } } if (Object.freeze) { var Xt = !i(function () { return Object.freeze("foo") }); if (!Xt) { var Kt = Object.freeze; ne(Object, "freeze", function freeze(e) { if (!ce.TypeIsObject(e)) { return e } return Kt(e) }) } } if (Object.isFrozen) { var Zt = !i(function () { return Object.isFrozen("foo") }); if (!Zt) { var Yt = Object.isFrozen; ne(Object, "isFrozen", function isFrozen(e) { if (!ce.TypeIsObject(e)) { return true } return Yt(e) }) } } if (Object.preventExtensions) { var Qt = !i(function () { return Object.preventExtensions("foo") }); if (!Qt) { var er = Object.preventExtensions; ne(Object, "preventExtensions", function preventExtensions(e) { if (!ce.TypeIsObject(e)) { return e } return er(e) }) } } if (Object.isExtensible) { var tr = !i(function () { return Object.isExtensible("foo") }); if (!tr) { var rr = Object.isExtensible; ne(Object, "isExtensible", function isExtensible(e) { if (!ce.TypeIsObject(e)) { return false } return rr(e) }) } } if (Object.getPrototypeOf) { var nr = !i(function () { return Object.getPrototypeOf("foo") }); if (!nr) { var or = Object.getPrototypeOf; ne(Object, "getPrototypeOf", function getPrototypeOf(e) { return or(ce.ToObject(e)) }) } } var ir = s && function () { var e = Object.getOwnPropertyDescriptor(RegExp.prototype, "flags"); return e && ce.IsCallable(e.get) }(); if (s && !ir) { var ar = function flags() { if (!ce.TypeIsObject(this)) { throw new TypeError("Method called on incompatible type: must be an object.") } var e = ""; if (this.global) { e += "g" } if (this.ignoreCase) { e += "i" } if (this.multiline) { e += "m" } if (this.unicode) { e += "u" } if (this.sticky) { e += "y" } return e }; m.getter(RegExp.prototype, "flags", ar) } var ur = s && a(function () { return String(new RegExp(/a/g, "i")) === "/a/i" }); var fr = oe && s && function () { var e = /./; e[$.match] = false; return RegExp(e) === e }(); var sr = a(function () { return RegExp.prototype.toString.call({ source: "abc" }) === "/abc/" }); var cr = sr && a(function () { return RegExp.prototype.toString.call({ source: "a", flags: "b" }) === "/a/b" }); if (!sr || !cr) { var lr = RegExp.prototype.toString; h(RegExp.prototype, "toString", function toString() { var e = ce.RequireObjectCoercible(this); if (re.regex(e)) { return t(lr, e) } var r = ue(e.source); var n = ue(e.flags); return "/" + r + "/" + n }, true); m.preserveToString(RegExp.prototype.toString, lr) } if (s && (!ur || fr)) { var pr = Object.getOwnPropertyDescriptor(RegExp.prototype, "flags").get; var vr = Object.getOwnPropertyDescriptor(RegExp.prototype, "source") || {}; var yr = function () { return this.source }; var hr = ce.IsCallable(vr.get) ? vr.get : yr; var br = RegExp; var gr = function () { return function RegExp(e, t) { var r = ce.IsRegExp(e); var n = this instanceof RegExp; if (!n && r && typeof t === "undefined" && e.constructor === RegExp) { return e } var o = e; var i = t; if (re.regex(e)) { o = ce.Call(hr, e); i = typeof t === "undefined" ? ce.Call(pr, e) : t; return new RegExp(o, i) } else if (r) { o = e.source; i = typeof t === "undefined" ? e.flags : t } return new br(e, t) } }(); Ee(br, gr, { $input: true }); RegExp = gr; m.redefine(S, "RegExp", gr) } if (s) { var dr = { input: "$_", lastMatch: "$&", lastParen: "$+", leftContext: "$`", rightContext: "$'" }; l(n(dr), function (e) { if (e in RegExp && !(dr[e] in RegExp)) { m.getter(RegExp, dr[e], function get() { return RegExp[e] }) } }) } Ce(RegExp); var mr = 1 / Number.EPSILON; var Or = function roundTiesToEven(e) { return e + mr - mr }; var wr = Math.pow(2, -23); var jr = Math.pow(2, 127) * (2 - wr); var Sr = Math.pow(2, -126); var Tr = Math.E; var Ir = Math.LOG2E; var Er = Math.LOG10E; var Pr = Number.prototype.clz; delete Number.prototype.clz; var Cr = { acosh: function acosh(e) { var t = Number(e); if (X(t) || e < 1) { return NaN } if (t === 1) { return 0 } if (t === Infinity) { return t } var r = 1 / (t * t); if (t < 2) { return Y(t - 1 + D(1 - r) * t) } var n = t / 2; return Y(n + D(1 - r) * n - 1) + 1 / Ir }, asinh: function asinh(e) { var t = Number(e); if (t === 0 || !T(t)) { return t } var r = k(t); var n = r * r; var o = Z(t); if (r < 1) { return o * Y(r + n / (D(n + 1) + 1)) } return o * (Y(r / 2 + D(1 + 1 / n) * r / 2 - 1) + 1 / Ir) }, atanh: function atanh(e) { var t = Number(e); if (t === 0) { return t } if (t === -1) { return -Infinity } if (t === 1) { return Infinity } if (X(t) || t < -1 || t > 1) { return NaN } var r = k(t); return Z(t) * Y(2 * r / (1 - r)) / 2 }, cbrt: function cbrt(e) { var t = Number(e); if (t === 0) { return t } var r = t < 0; var n; if (r) { t = -t } if (t === Infinity) { n = Infinity } else { n = L(F(t) / 3); n = (t / (n * n) + 2 * n) / 3 } return r ? -n : n }, clz32: function clz32(e) { var t = Number(e); var r = ce.ToUint32(t); if (r === 0) { return 32 } return Pr ? ce.Call(Pr, r) : 31 - _(F(r + .5) * Ir) }, cosh: function cosh(e) { var t = Number(e); if (t === 0) { return 1 } if (X(t)) { return NaN } if (!T(t)) { return Infinity } var r = L(k(t) - 1); return (r + 1 / (r * Tr * Tr)) * (Tr / 2) }, expm1: function expm1(e) { var t = Number(e); if (t === -Infinity) { return -1 } if (!T(t) || t === 0) { return t } if (k(t) > .5) { return L(t) - 1 } var r = t; var n = 0; var o = 1; while (n + r !== n) { n += r; o += 1; r *= t / o } return n }, hypot: function hypot(e, t) { var r = 0; var n = 0; for (var o = 0; o < arguments.length; ++o) { var i = k(Number(arguments[o])); if (n < i) { r *= n / i * (n / i); r += 1; n = i } else { r += i > 0 ? i / n * (i / n) : i } } return n === Infinity ? Infinity : n * D(r) }, log2: function log2(e) { return F(e) * Ir }, log10: function log10(e) { return F(e) * Er }, log1p: Y, sign: Z, sinh: function sinh(e) { var t = Number(e); if (!T(t) || t === 0) { return t } var r = k(t); if (r < 1) { var n = Math.expm1(r); return Z(t) * n * (1 + 1 / (n + 1)) / 2 } var o = L(r - 1); return Z(t) * (o - 1 / (o * Tr * Tr)) * (Tr / 2) }, tanh: function tanh(e) { var t = Number(e); if (X(t) || t === 0) { return t } if (t >= 20) { return 1 } if (t <= -20) { return -1 } return (Math.expm1(t) - Math.expm1(-t)) / (L(t) + L(-t)) }, trunc: function trunc(e) { var t = Number(e); return t < 0 ? -_(-t) : _(t) }, imul: function imul(e, t) { var r = ce.ToUint32(e); var n = ce.ToUint32(t); var o = r >>> 16 & 65535; var i = r & 65535; var a = n >>> 16 & 65535; var u = n & 65535; return i * u + (o * u + i * a << 16 >>> 0) | 0 }, fround: function fround(e) { var t = Number(e); if (t === 0 || t === Infinity || t === -Infinity || X(t)) { return t } var r = Z(t); var n = k(t); if (n < Sr) { return r * Or(n / Sr / wr) * Sr * wr } var o = (1 + wr / Number.EPSILON) * n; var i = o - (o - n); if (i > jr || X(i)) { return r * Infinity } return r * i } }; var Mr = function withinULPDistance(e, t, r) { return k(1 - e / t) / Number.EPSILON < (r || 8) }; b(Math, Cr); h(Math, "sinh", Cr.sinh, Math.sinh(710) === Infinity); h(Math, "cosh", Cr.cosh, Math.cosh(710) === Infinity); h(Math, "log1p", Cr.log1p, Math.log1p(-1e-17) !== -1e-17); h(Math, "asinh", Cr.asinh, Math.asinh(-1e7) !== -Math.asinh(1e7)); h(Math, "asinh", Cr.asinh, Math.asinh(1e300) === Infinity); h(Math, "atanh", Cr.atanh, Math.atanh(1e-300) === 0); h(Math, "tanh", Cr.tanh, Math.tanh(-2e-17) !== -2e-17);
|
|
|
h(Math, "acosh", Cr.acosh, Math.acosh(Number.MAX_VALUE) === Infinity); h(Math, "acosh", Cr.acosh, !Mr(Math.acosh(1 + Number.EPSILON), Math.sqrt(2 * Number.EPSILON))); h(Math, "cbrt", Cr.cbrt, !Mr(Math.cbrt(1e-300), 1e-100)); h(Math, "sinh", Cr.sinh, Math.sinh(-2e-17) !== -2e-17); var xr = Math.expm1(10); h(Math, "expm1", Cr.expm1, xr > 22025.465794806718 || xr < 22025.465794806718); var Nr = Math.round; var Ar = Math.round(.5 - Number.EPSILON / 4) === 0 && Math.round(-.5 + Number.EPSILON / 3.99) === 1; var Rr = mr + 1; var _r = 2 * mr - 1; var kr = [Rr, _r].every(function (e) { return Math.round(e) === e }); h(Math, "round", function round(e) { var t = _(e); var r = t === -1 ? -0 : t + 1; return e - t < .5 ? t : r }, !Ar || !kr); m.preserveToString(Math.round, Nr); var Lr = Math.imul; if (Math.imul(4294967295, 5) !== -5) { Math.imul = Cr.imul; m.preserveToString(Math.imul, Lr) } if (Math.imul.length !== 2) { ne(Math, "imul", function imul(e, t) { return ce.Call(Lr, Math, arguments) }) } var Fr = function () { var e = S.setTimeout; if (typeof e !== "function" && typeof e !== "object") { return } ce.IsPromise = function (e) { if (!ce.TypeIsObject(e)) { return false } if (typeof e._promise === "undefined") { return false } return true }; var r = function (e) { if (!ce.IsConstructor(e)) { throw new TypeError("Bad promise constructor") } var t = this; var r = function (e, r) { if (t.resolve !== void 0 || t.reject !== void 0) { throw new TypeError("Bad Promise implementation!") } t.resolve = e; t.reject = r }; t.resolve = void 0; t.reject = void 0; t.promise = new e(r); if (!(ce.IsCallable(t.resolve) && ce.IsCallable(t.reject))) { throw new TypeError("Bad promise constructor") } }; var n; if (typeof window !== "undefined" && ce.IsCallable(window.postMessage)) { n = function () { var e = []; var t = "zero-timeout-message"; var r = function (r) { M(e, r); window.postMessage(t, "*") }; var n = function (r) { if (r.source === window && r.data === t) { r.stopPropagation(); if (e.length === 0) { return } var n = N(e); n() } }; window.addEventListener("message", n, true); return r } } var o = function () { var e = S.Promise; var t = e && e.resolve && e.resolve(); return t && function (e) { return t.then(e) } }; var i = ce.IsCallable(S.setImmediate) ? S.setImmediate : typeof process === "object" && process.nextTick ? process.nextTick : o() || (ce.IsCallable(n) ? n() : function (t) { e(t, 0) }); var a = function (e) { return e }; var u = function (e) { throw e }; var f = 0; var s = 1; var c = 2; var l = 0; var p = 1; var v = 2; var y = {}; var h = function (e, t, r) { i(function () { g(e, t, r) }) }; var g = function (e, t, r) { var n, o; if (t === y) { return e(r) } try { n = e(r); o = t.resolve } catch (i) { n = i; o = t.reject } o(n) }; var d = function (e, t) { var r = e._promise; var n = r.reactionLength; if (n > 0) { h(r.fulfillReactionHandler0, r.reactionCapability0, t); r.fulfillReactionHandler0 = void 0; r.rejectReactions0 = void 0; r.reactionCapability0 = void 0; if (n > 1) { for (var o = 1, i = 0; o < n; o++, i += 3) { h(r[i + l], r[i + v], t); e[i + l] = void 0; e[i + p] = void 0; e[i + v] = void 0 } } } r.result = t; r.state = s; r.reactionLength = 0 }; var m = function (e, t) { var r = e._promise; var n = r.reactionLength; if (n > 0) { h(r.rejectReactionHandler0, r.reactionCapability0, t); r.fulfillReactionHandler0 = void 0; r.rejectReactions0 = void 0; r.reactionCapability0 = void 0; if (n > 1) { for (var o = 1, i = 0; o < n; o++, i += 3) { h(r[i + p], r[i + v], t); e[i + l] = void 0; e[i + p] = void 0; e[i + v] = void 0 } } } r.result = t; r.state = c; r.reactionLength = 0 }; var O = function (e) { var t = false; var r = function (r) { var n; if (t) { return } t = true; if (r === e) { return m(e, new TypeError("Self resolution")) } if (!ce.TypeIsObject(r)) { return d(e, r) } try { n = r.then } catch (o) { return m(e, o) } if (!ce.IsCallable(n)) { return d(e, r) } i(function () { j(e, r, n) }) }; var n = function (r) { if (t) { return } t = true; return m(e, r) }; return { resolve: r, reject: n } }; var w = function (e, r, n, o) { if (e === I) { t(e, r, n, o, y) } else { t(e, r, n, o) } }; var j = function (e, t, r) { var n = O(e); var o = n.resolve; var i = n.reject; try { w(r, t, o, i) } catch (a) { i(a) } }; var T, I; var E = function () { var e = function Promise(t) { if (!(this instanceof e)) { throw new TypeError('Constructor Promise requires "new"') } if (this && this._promise) { throw new TypeError("Bad construction") } if (!ce.IsCallable(t)) { throw new TypeError("not a valid resolver") } var r = Ae(this, e, T, { _promise: { result: void 0, state: f, reactionLength: 0, fulfillReactionHandler0: void 0, rejectReactionHandler0: void 0, reactionCapability0: void 0 } }); var n = O(r); var o = n.reject; try { t(n.resolve, o) } catch (i) { o(i) } return r }; return e }(); T = E.prototype; var P = function (e, t, r, n) { var o = false; return function (i) { if (o) { return } o = true; t[e] = i; if (--n.count === 0) { var a = r.resolve; a(t) } } }; var C = function (e, t, r) { var n = e.iterator; var o = []; var i = { count: 1 }; var a, u; var f = 0; while (true) { try { a = ce.IteratorStep(n); if (a === false) { e.done = true; break } u = a.value } catch (s) { e.done = true; throw s } o[f] = void 0; var c = t.resolve(u); var l = P(f, o, r, i); i.count += 1; w(c.then, c, l, r.reject); f += 1 } if (--i.count === 0) { var p = r.resolve; p(o) } return r.promise }; var x = function (e, t, r) { var n = e.iterator; var o, i, a; while (true) { try { o = ce.IteratorStep(n); if (o === false) { e.done = true; break } i = o.value } catch (u) { e.done = true; throw u } a = t.resolve(i); w(a.then, a, r.resolve, r.reject) } return r.promise }; b(E, { all: function all(e) { var t = this; if (!ce.TypeIsObject(t)) { throw new TypeError("Promise is not object") } var n = new r(t); var o, i; try { o = ce.GetIterator(e); i = { iterator: o, done: false }; return C(i, t, n) } catch (a) { var u = a; if (i && !i.done) { try { ce.IteratorClose(o, true) } catch (f) { u = f } } var s = n.reject; s(u); return n.promise } }, race: function race(e) { var t = this; if (!ce.TypeIsObject(t)) { throw new TypeError("Promise is not object") } var n = new r(t); var o, i; try { o = ce.GetIterator(e); i = { iterator: o, done: false }; return x(i, t, n) } catch (a) { var u = a; if (i && !i.done) { try { ce.IteratorClose(o, true) } catch (f) { u = f } } var s = n.reject; s(u); return n.promise } }, reject: function reject(e) { var t = this; if (!ce.TypeIsObject(t)) { throw new TypeError("Bad promise constructor") } var n = new r(t); var o = n.reject; o(e); return n.promise }, resolve: function resolve(e) { var t = this; if (!ce.TypeIsObject(t)) { throw new TypeError("Bad promise constructor") } if (ce.IsPromise(e)) { var n = e.constructor; if (n === t) { return e } } var o = new r(t); var i = o.resolve; i(e); return o.promise } }); b(T, { "catch": function (e) { return this.then(null, e) }, then: function then(e, t) { var n = this; if (!ce.IsPromise(n)) { throw new TypeError("not a promise") } var o = ce.SpeciesConstructor(n, E); var i; var b = arguments.length > 2 && arguments[2] === y; if (b && o === E) { i = y } else { i = new r(o) } var g = ce.IsCallable(e) ? e : a; var d = ce.IsCallable(t) ? t : u; var m = n._promise; var O; if (m.state === f) { if (m.reactionLength === 0) { m.fulfillReactionHandler0 = g; m.rejectReactionHandler0 = d; m.reactionCapability0 = i } else { var w = 3 * (m.reactionLength - 1); m[w + l] = g; m[w + p] = d; m[w + v] = i } m.reactionLength += 1 } else if (m.state === s) { O = m.result; h(g, i, O) } else if (m.state === c) { O = m.result; h(d, i, O) } else { throw new TypeError("unexpected Promise state") } return i.promise } }); y = new r(E); I = T.then; return E }(); if (S.Promise) { delete S.Promise.accept; delete S.Promise.defer; delete S.Promise.prototype.chain } if (typeof Fr === "function") { b(S, { Promise: Fr }); var Dr = w(S.Promise, function (e) { return e.resolve(42).then(function () { }) instanceof e }); var zr = !i(function () { return S.Promise.reject(42).then(null, 5).then(null, W) }); var qr = i(function () { return S.Promise.call(3, W) }); var Wr = function (e) { var t = e.resolve(5); t.constructor = {}; var r = e.resolve(t); try { r.then(null, W).then(null, W) } catch (n) { return true } return t === r }(S.Promise); var Gr = s && function () { var e = 0; var t = Object.defineProperty({}, "then", { get: function () { e += 1 } }); Promise.resolve(t); return e === 1 }(); var Hr = function BadResolverPromise(e) { var t = new Promise(e); e(3, function () { }); this.then = t.then; this.constructor = BadResolverPromise }; Hr.prototype = Promise.prototype; Hr.all = Promise.all; var Vr = a(function () { return !!Hr.all([1, 2]) }); if (!Dr || !zr || !qr || Wr || !Gr || Vr) { Promise = Fr; ne(S, "Promise", Fr) } if (Promise.all.length !== 1) { var Br = Promise.all; ne(Promise, "all", function all(e) { return ce.Call(Br, this, arguments) }) } if (Promise.race.length !== 1) { var Ur = Promise.race; ne(Promise, "race", function race(e) { return ce.Call(Ur, this, arguments) }) } if (Promise.resolve.length !== 1) { var $r = Promise.resolve; ne(Promise, "resolve", function resolve(e) { return ce.Call($r, this, arguments) }) } if (Promise.reject.length !== 1) { var Jr = Promise.reject; ne(Promise, "reject", function reject(e) { return ce.Call(Jr, this, arguments) }) } Mt(Promise, "all"); Mt(Promise, "race"); Mt(Promise, "resolve"); Mt(Promise, "reject"); Ce(Promise) } var Xr = function (e) { var t = n(p(e, function (e, t) { e[t] = true; return e }, {})); return e.join(":") === t.join(":") }; var Kr = Xr(["z", "a", "bb"]); var Zr = Xr(["z", 1, "a", "3", 2]); if (s) { var Yr = function fastkey(e, t) { if (!t && !Kr) { return null } if (se(e)) { return "^" + ce.ToString(e) } else if (typeof e === "string") { return "$" + e } else if (typeof e === "number") { if (!Zr) { return "n" + e } return e } else if (typeof e === "boolean") { return "b" + e } return null }; var Qr = function emptyObject() { return Object.create ? Object.create(null) : {} }; var en = function addIterableToMap(e, n, o) { if (r(o) || re.string(o)) { l(o, function (e) { if (!ce.TypeIsObject(e)) { throw new TypeError("Iterator value " + e + " is not an entry object") } n.set(e[0], e[1]) }) } else if (o instanceof e) { t(e.prototype.forEach, o, function (e, t) { n.set(t, e) }) } else { var i, a; if (!se(o)) { a = n.set; if (!ce.IsCallable(a)) { throw new TypeError("bad map") } i = ce.GetIterator(o) } if (typeof i !== "undefined") { while (true) { var u = ce.IteratorStep(i); if (u === false) { break } var f = u.value; try { if (!ce.TypeIsObject(f)) { throw new TypeError("Iterator value " + f + " is not an entry object") } t(a, n, f[0], f[1]) } catch (s) { ce.IteratorClose(i, true); throw s } } } } }; var tn = function addIterableToSet(e, n, o) { if (r(o) || re.string(o)) { l(o, function (e) { n.add(e) }) } else if (o instanceof e) { t(e.prototype.forEach, o, function (e) { n.add(e) }) } else { var i, a; if (!se(o)) { a = n.add; if (!ce.IsCallable(a)) { throw new TypeError("bad set") } i = ce.GetIterator(o) } if (typeof i !== "undefined") { while (true) { var u = ce.IteratorStep(i); if (u === false) { break } var f = u.value; try { t(a, n, f) } catch (s) { ce.IteratorClose(i, true); throw s } } } } }; var rn = { Map: function () { var e = {}; var r = function MapEntry(e, t) { this.key = e; this.value = t; this.next = null; this.prev = null }; r.prototype.isRemoved = function isRemoved() { return this.key === e }; var n = function isMap(e) { return !!e._es6map }; var o = function requireMapSlot(e, t) { if (!ce.TypeIsObject(e) || !n(e)) { throw new TypeError("Method Map.prototype." + t + " called on incompatible receiver " + ce.ToString(e)) } }; var i = function MapIterator(e, t) { o(e, "[[MapIterator]]"); this.head = e._head; this.i = this.head; this.kind = t }; i.prototype = { isMapIterator: true, next: function next() { if (!this.isMapIterator) { throw new TypeError("Not a MapIterator") } var e = this.i; var t = this.kind; var r = this.head; if (typeof this.i === "undefined") { return Ke() } while (e.isRemoved() && e !== r) { e = e.prev } var n; while (e.next !== r) { e = e.next; if (!e.isRemoved()) { if (t === "key") { n = e.key } else if (t === "value") { n = e.value } else { n = [e.key, e.value] } this.i = e; return Ke(n) } } this.i = void 0; return Ke() } }; Me(i.prototype); var a; var u = function Map() { if (!(this instanceof Map)) { throw new TypeError('Constructor Map requires "new"') } if (this && this._es6map) { throw new TypeError("Bad construction") } var e = Ae(this, Map, a, { _es6map: true, _head: null, _map: G ? new G : null, _size: 0, _storage: Qr() }); var t = new r(null, null); t.next = t.prev = t; e._head = t; if (arguments.length > 0) { en(Map, e, arguments[0]) } return e }; a = u.prototype; m.getter(a, "size", function () { if (typeof this._size === "undefined") { throw new TypeError("size method called on incompatible Map") } return this._size }); b(a, { get: function get(e) { o(this, "get"); var t; var r = Yr(e, true); if (r !== null) { t = this._storage[r]; if (t) { return t.value } else { return } } if (this._map) { t = V.call(this._map, e); if (t) { return t.value } else { return } } var n = this._head; var i = n; while ((i = i.next) !== n) { if (ce.SameValueZero(i.key, e)) { return i.value } } }, has: function has(e) { o(this, "has"); var t = Yr(e, true); if (t !== null) { return typeof this._storage[t] !== "undefined" } if (this._map) { return B.call(this._map, e) } var r = this._head; var n = r; while ((n = n.next) !== r) { if (ce.SameValueZero(n.key, e)) { return true } } return false }, set: function set(e, t) { o(this, "set"); var n = this._head; var i = n; var a; var u = Yr(e, true); if (u !== null) { if (typeof this._storage[u] !== "undefined") { this._storage[u].value = t; return this } else { a = this._storage[u] = new r(e, t); i = n.prev } } else if (this._map) { if (B.call(this._map, e)) { V.call(this._map, e).value = t } else { a = new r(e, t); U.call(this._map, e, a); i = n.prev } } while ((i = i.next) !== n) { if (ce.SameValueZero(i.key, e)) { i.value = t; return this } } a = a || new r(e, t); if (ce.SameValue(-0, e)) { a.key = +0 } a.next = this._head; a.prev = this._head.prev; a.prev.next = a; a.next.prev = a; this._size += 1; return this }, "delete": function (t) { o(this, "delete"); var r = this._head; var n = r; var i = Yr(t, true); if (i !== null) { if (typeof this._storage[i] === "undefined") { return false } n = this._storage[i].prev; delete this._storage[i] } else if (this._map) { if (!B.call(this._map, t)) { return false } n = V.call(this._map, t).prev; H.call(this._map, t) } while ((n = n.next) !== r) { if (ce.SameValueZero(n.key, t)) { n.key = e; n.value = e; n.prev.next = n.next; n.next.prev = n.prev; this._size -= 1; return true } } return false }, clear: function clear() { o(this, "clear"); this._map = G ? new G : null; this._size = 0; this._storage = Qr(); var t = this._head; var r = t; var n = r.next; while ((r = n) !== t) { r.key = e; r.value = e; n = r.next; r.next = r.prev = t } t.next = t.prev = t }, keys: function keys() { o(this, "keys"); return new i(this, "key") }, values: function values() { o(this, "values"); return new i(this, "value") }, entries: function entries() { o(this, "entries"); return new i(this, "key+value") }, forEach: function forEach(e) { o(this, "forEach"); var r = arguments.length > 1 ? arguments[1] : null; var n = this.entries(); for (var i = n.next(); !i.done; i = n.next()) { if (r) { t(e, r, i.value[1], i.value[0], this) } else { e(i.value[1], i.value[0], this) } } } }); Me(a, a.entries); return u }(), Set: function () { var e = function isSet(e) { return e._es6set && typeof e._storage !== "undefined" }; var r = function requireSetSlot(t, r) { if (!ce.TypeIsObject(t) || !e(t)) { throw new TypeError("Set.prototype." + r + " called on incompatible receiver " + ce.ToString(t)) } }; var o; var i = function Set() { if (!(this instanceof Set)) { throw new TypeError('Constructor Set requires "new"') } if (this && this._es6set) { throw new TypeError("Bad construction") } var e = Ae(this, Set, o, { _es6set: true, "[[SetData]]": null, _storage: Qr() }); if (!e._es6set) { throw new TypeError("bad set") } if (arguments.length > 0) { tn(Set, e, arguments[0]) } return e }; o = i.prototype; var a = function (e) { var t = e; if (t === "^null") { return null } else if (t === "^undefined") { return void 0 } else { var r = t.charAt(0); if (r === "$") { return C(t, 1) } else if (r === "n") { return +C(t, 1) } else if (r === "b") { return t === "btrue" } } return +t }; var u = function ensureMap(e) { if (!e["[[SetData]]"]) { var t = new rn.Map; e["[[SetData]]"] = t; l(n(e._storage), function (e) { var r = a(e); t.set(r, r) }); e["[[SetData]]"] = t } e._storage = null }; m.getter(i.prototype, "size", function () { r(this, "size"); if (this._storage) { return n(this._storage).length } u(this); return this["[[SetData]]"].size }); b(i.prototype, { has: function has(e) { r(this, "has"); var t; if (this._storage && (t = Yr(e)) !== null) { return !!this._storage[t] } u(this); return this["[[SetData]]"].has(e) }, add: function add(e) { r(this, "add"); var t; if (this._storage && (t = Yr(e)) !== null) { this._storage[t] = true; return this } u(this); this["[[SetData]]"].set(e, e); return this }, "delete": function (e) { r(this, "delete"); var t; if (this._storage && (t = Yr(e)) !== null) { var n = z(this._storage, t); return delete this._storage[t] && n } u(this); return this["[[SetData]]"]["delete"](e) }, clear: function clear() { r(this, "clear"); if (this._storage) { this._storage = Qr() } if (this["[[SetData]]"]) { this["[[SetData]]"].clear() } }, values: function values() { r(this, "values"); u(this); return new f(this["[[SetData]]"].values()) }, entries: function entries() { r(this, "entries"); u(this); return new f(this["[[SetData]]"].entries()) }, forEach: function forEach(e) { r(this, "forEach"); var n = arguments.length > 1 ? arguments[1] : null; var o = this; u(o); this["[[SetData]]"].forEach(function (r, i) { if (n) { t(e, n, i, i, o) } else { e(i, i, o) } }) } }); h(i.prototype, "keys", i.prototype.values, true); Me(i.prototype, i.prototype.values); var f = function SetIterator(e) { this.it = e }; f.prototype = { isSetIterator: true, next: function next() { if (!this.isSetIterator) { throw new TypeError("Not a SetIterator") } return this.it.next() } }; Me(f.prototype); return i }() }; var nn = S.Set && !Set.prototype["delete"] && Set.prototype.remove && Set.prototype.items && Set.prototype.map && Array.isArray((new Set).keys); if (nn) { S.Set = rn.Set } if (S.Map || S.Set) { var on = a(function () { return new Map([[1, 2]]).get(1) === 2 }); if (!on) { S.Map = function Map() { if (!(this instanceof Map)) { throw new TypeError('Constructor Map requires "new"') } var e = new G; if (arguments.length > 0) { en(Map, e, arguments[0]) } delete e.constructor; Object.setPrototypeOf(e, S.Map.prototype); return e }; S.Map.prototype = O(G.prototype); h(S.Map.prototype, "constructor", S.Map, true); m.preserveToString(S.Map, G) } var an = new Map; var un = function () { var e = new Map([[1, 0], [2, 0], [3, 0], [4, 0]]); e.set(-0, e); return e.get(0) === e && e.get(-0) === e && e.has(0) && e.has(-0) }(); var fn = an.set(1, 2) === an; if (!un || !fn) { ne(Map.prototype, "set", function set(e, r) { t(U, this, e === 0 ? 0 : e, r); return this }) } if (!un) { b(Map.prototype, { get: function get(e) { return t(V, this, e === 0 ? 0 : e) }, has: function has(e) { return t(B, this, e === 0 ? 0 : e) } }, true); m.preserveToString(Map.prototype.get, V); m.preserveToString(Map.prototype.has, B) } var sn = new Set; var cn = Set.prototype["delete"] && Set.prototype.add && Set.prototype.has && function (e) { e["delete"](0); e.add(-0); return !e.has(0) }(sn); var ln = sn.add(1) === sn; if (!cn || !ln) { var pn = Set.prototype.add; Set.prototype.add = function add(e) { t(pn, this, e === 0 ? 0 : e); return this }; m.preserveToString(Set.prototype.add, pn) } if (!cn) { var vn = Set.prototype.has; Set.prototype.has = function has(e) { return t(vn, this, e === 0 ? 0 : e) }; m.preserveToString(Set.prototype.has, vn); var yn = Set.prototype["delete"]; Set.prototype["delete"] = function SetDelete(e) { return t(yn, this, e === 0 ? 0 : e) }; m.preserveToString(Set.prototype["delete"], yn) } var hn = w(S.Map, function (e) { var t = new e([]); t.set(42, 42); return t instanceof e }); var bn = Object.setPrototypeOf && !hn; var gn = function () { try { return !(S.Map() instanceof S.Map) } catch (e) { return e instanceof TypeError } }(); if (S.Map.length !== 0 || bn || !gn) { S.Map = function Map() { if (!(this instanceof Map)) { throw new TypeError('Constructor Map requires "new"') } var e = new G; if (arguments.length > 0) { en(Map, e, arguments[0]) } delete e.constructor; Object.setPrototypeOf(e, Map.prototype); return e }; S.Map.prototype = G.prototype; h(S.Map.prototype, "constructor", S.Map, true); m.preserveToString(S.Map, G) } var dn = w(S.Set, function (e) { var t = new e([]); t.add(42, 42); return t instanceof e }); var mn = Object.setPrototypeOf && !dn; var On = function () { try { return !(S.Set() instanceof S.Set) } catch (e) { return e instanceof TypeError } }(); if (S.Set.length !== 0 || mn || !On) { var wn = S.Set; S.Set = function Set() { if (!(this instanceof Set)) { throw new TypeError('Constructor Set requires "new"') } var e = new wn; if (arguments.length > 0) { tn(Set, e, arguments[0]) } delete e.constructor; Object.setPrototypeOf(e, Set.prototype); return e }; S.Set.prototype = wn.prototype; h(S.Set.prototype, "constructor", S.Set, true); m.preserveToString(S.Set, wn) } var jn = new S.Map; var Sn = !a(function () { return jn.keys().next().done }); if (typeof S.Map.prototype.clear !== "function" || (new S.Set).size !== 0 || jn.size !== 0 || typeof S.Map.prototype.keys !== "function" || typeof S.Set.prototype.keys !== "function" || typeof S.Map.prototype.forEach !== "function" || typeof S.Set.prototype.forEach !== "function" || u(S.Map) || u(S.Set) || typeof jn.keys().next !== "function" || Sn || !hn) { b(S, { Map: rn.Map, Set: rn.Set }, true) } if (S.Set.prototype.keys !== S.Set.prototype.values) { h(S.Set.prototype, "keys", S.Set.prototype.values, true) } Me(Object.getPrototypeOf((new S.Map).keys())); Me(Object.getPrototypeOf((new S.Set).keys())); if (c && S.Set.prototype.has.name !== "has") { var Tn = S.Set.prototype.has; ne(S.Set.prototype, "has", function has(e) { return t(Tn, this, e) }) } } b(S, rn); Ce(S.Map); Ce(S.Set) } var In = function throwUnlessTargetIsObject(e) { if (!ce.TypeIsObject(e)) { throw new TypeError("target must be an object") } }; var En = { apply: function apply() { return ce.Call(ce.Call, null, arguments) }, construct: function construct(e, t) { if (!ce.IsConstructor(e)) { throw new TypeError("First argument must be a constructor.") } var r = arguments.length > 2 ? arguments[2] : e; if (!ce.IsConstructor(r)) { throw new TypeError("new.target must be a constructor.") } return ce.Construct(e, t, r, "internal") }, deleteProperty: function deleteProperty(e, t) { In(e); if (s) { var r = Object.getOwnPropertyDescriptor(e, t); if (r && !r.configurable) { return false } } return delete e[t] }, has: function has(e, t) { In(e); return t in e } }; if (Object.getOwnPropertyNames) { Object.assign(En, { ownKeys: function ownKeys(e) { In(e); var t = Object.getOwnPropertyNames(e); if (ce.IsCallable(Object.getOwnPropertySymbols)) { x(t, Object.getOwnPropertySymbols(e)) } return t } }) } var Pn = function ConvertExceptionToBoolean(e) { return !i(e) }; if (Object.preventExtensions) { Object.assign(En, { isExtensible: function isExtensible(e) { In(e); return Object.isExtensible(e) }, preventExtensions: function preventExtensions(e) { In(e); return Pn(function () { return Object.preventExtensions(e) }) } }) } if (s) { var Cn = function get(e, t, r) { var n = Object.getOwnPropertyDescriptor(e, t); if (!n) { var o = Object.getPrototypeOf(e); if (o === null) { return void 0 } return Cn(o, t, r) } if ("value" in n) { return n.value } if (n.get) { return ce.Call(n.get, r) } return void 0 }; var Mn = function set(e, r, n, o) { var i = Object.getOwnPropertyDescriptor(e, r); if (!i) { var a = Object.getPrototypeOf(e); if (a !== null) { return Mn(a, r, n, o) } i = { value: void 0, writable: true, enumerable: true, configurable: true } } if ("value" in i) { if (!i.writable) { return false } if (!ce.TypeIsObject(o)) { return false } var u = Object.getOwnPropertyDescriptor(o, r); if (u) { return ae.defineProperty(o, r, { value: n }) } else { return ae.defineProperty(o, r, { value: n, writable: true, enumerable: true, configurable: true }) } } if (i.set) { t(i.set, o, n); return true } return false }; Object.assign(En, { defineProperty: function defineProperty(e, t, r) { In(e); return Pn(function () { return Object.defineProperty(e, t, r) }) }, getOwnPropertyDescriptor: function getOwnPropertyDescriptor(e, t) { In(e); return Object.getOwnPropertyDescriptor(e, t) }, get: function get(e, t) { In(e); var r = arguments.length > 2 ? arguments[2] : e; return Cn(e, t, r) }, set: function set(e, t, r) { In(e); var n = arguments.length > 3 ? arguments[3] : e; return Mn(e, t, r, n) } }) } if (Object.getPrototypeOf) { var xn = Object.getPrototypeOf; En.getPrototypeOf = function getPrototypeOf(e) { In(e); return xn(e) } } if (Object.setPrototypeOf && En.getPrototypeOf) { var Nn = function (e, t) { var r = t; while (r) { if (e === r) { return true } r = En.getPrototypeOf(r) } return false }; Object.assign(En, { setPrototypeOf: function setPrototypeOf(e, t) { In(e); if (t !== null && !ce.TypeIsObject(t)) { throw new TypeError("proto must be an object or null") } if (t === ae.getPrototypeOf(e)) { return true } if (ae.isExtensible && !ae.isExtensible(e)) { return false } if (Nn(e, t)) { return false } Object.setPrototypeOf(e, t); return true } }) } var An = function (e, t) { if (!ce.IsCallable(S.Reflect[e])) { h(S.Reflect, e, t) } else { var r = a(function () { S.Reflect[e](1); S.Reflect[e](NaN); S.Reflect[e](true); return true }); if (r) { ne(S.Reflect, e, t) } } }; Object.keys(En).forEach(function (e) { An(e, En[e]) }); var Rn = S.Reflect.getPrototypeOf; if (c && Rn && Rn.name !== "getPrototypeOf") { ne(S.Reflect, "getPrototypeOf", function getPrototypeOf(e) { return t(Rn, S.Reflect, e) }) } if (S.Reflect.setPrototypeOf) { if (a(function () { S.Reflect.setPrototypeOf(1, {}); return true })) { ne(S.Reflect, "setPrototypeOf", En.setPrototypeOf) } } if (S.Reflect.defineProperty) { if (!a(function () { var e = !S.Reflect.defineProperty(1, "test", { value: 1 }); var t = typeof Object.preventExtensions !== "function" || !S.Reflect.defineProperty(Object.preventExtensions({}), "test", {}); return e && t })) { ne(S.Reflect, "defineProperty", En.defineProperty) } } if (S.Reflect.construct) { if (!a(function () { var e = function F() { }; return S.Reflect.construct(function () { }, [], e) instanceof e })) { ne(S.Reflect, "construct", En.construct) } } if (String(new Date(NaN)) !== "Invalid Date") { var _n = Date.prototype.toString; var kn = function toString() { var e = +this; if (e !== e) { return "Invalid Date" } return ce.Call(_n, this) }; ne(Date.prototype, "toString", kn) } var Ln = { anchor: function anchor(e) { return ce.CreateHTML(this, "a", "name", e) }, big: function big() { return ce.CreateHTML(this, "big", "", "") }, blink: function blink() { return ce.CreateHTML(this, "blink", "", "") }, bold: function bold() { return ce.CreateHTML(this, "b", "", "") }, fixed: function fixed() { return ce.CreateHTML(this, "tt", "", "") }, fontcolor: function fontcolor(e) { return ce.CreateHTML(this, "font", "color", e) }, fontsize: function fontsize(e) { return ce.CreateHTML(this, "font", "size", e) }, italics: function italics() { return ce.CreateHTML(this, "i", "", "") }, link: function link(e) { return ce.CreateHTML(this, "a", "href", e) }, small: function small() { return ce.CreateHTML(this, "small", "", "") }, strike: function strike() { return ce.CreateHTML(this, "strike", "", "") }, sub: function sub() { return ce.CreateHTML(this, "sub", "", "") }, sup: function sub() { return ce.CreateHTML(this, "sup", "", "") } }; l(Object.keys(Ln), function (e) { var r = String.prototype[e]; var n = false; if (ce.IsCallable(r)) { var o = t(r, "", ' " '); var i = P([], o.match(/"/g)).length; n = o !== o.toLowerCase() || i > 2 } else { n = true } if (n) { ne(String.prototype, e, Ln[e]) } }); var Fn = function () { if (!oe) { return false } var e = typeof JSON === "object" && typeof JSON.stringify === "function" ? JSON.stringify : null; if (!e) { return false } if (typeof e($()) !== "undefined") { return true } if (e([$()]) !== "[null]") { return true } var t = { a: $() }; t[$()] = true; if (e(t) !== "{}") { return true } return false }(); var Dn = a(function () { if (!oe) { return true } return JSON.stringify(Object($())) === "{}" && JSON.stringify([Object($())]) === "[{}]" }); if (Fn || !Dn) { var zn = JSON.stringify; ne(JSON, "stringify", function stringify(e) { if (typeof e === "symbol") { return } var n; if (arguments.length > 1) { n = arguments[1] } var o = [e]; if (!r(n)) { var i = ce.IsCallable(n) ? n : null; var a = function (e, r) { var n = i ? t(i, this, e, r) : r; if (typeof n !== "symbol") { if (re.symbol(n)) { return Nt({})(n) } else { return n } } }; o.push(a) } else { o.push(n) } if (arguments.length > 2) { o.push(arguments[2]) } return zn.apply(this, o) }) } return S
|
|
|
});
|
|
|
//# sourceMappingURL=es6-shim.map
|
|
|
|
|
|
/*! jQuery v1.8.3 jquery.com | jquery.org/license */
|
|
|
(function (e, t) { function _(e) { var t = M[e] = {}; return v.each(e.split(y), function (e, n) { t[n] = !0 }), t } function H(e, n, r) { if (r === t && e.nodeType === 1) { var i = "data-" + n.replace(P, "-$1").toLowerCase(); r = e.getAttribute(i); if (typeof r == "string") { try { r = r === "true" ? !0 : r === "false" ? !1 : r === "null" ? null : +r + "" === r ? +r : D.test(r) ? v.parseJSON(r) : r } catch (s) { } v.data(e, n, r) } else r = t } return r } function B(e) { var t; for (t in e) { if (t === "data" && v.isEmptyObject(e[t])) continue; if (t !== "toJSON") return !1 } return !0 } function et() { return !1 } function tt() { return !0 } function ut(e) { return !e || !e.parentNode || e.parentNode.nodeType === 11 } function at(e, t) { do e = e[t]; while (e && e.nodeType !== 1); return e } function ft(e, t, n) { t = t || 0; if (v.isFunction(t)) return v.grep(e, function (e, r) { var i = !!t.call(e, r, e); return i === n }); if (t.nodeType) return v.grep(e, function (e, r) { return e === t === n }); if (typeof t == "string") { var r = v.grep(e, function (e) { return e.nodeType === 1 }); if (it.test(t)) return v.filter(t, r, !n); t = v.filter(t, r) } return v.grep(e, function (e, r) { return v.inArray(e, t) >= 0 === n }) } function lt(e) { var t = ct.split("|"), n = e.createDocumentFragment(); if (n.createElement) while (t.length) n.createElement(t.pop()); return n } function Lt(e, t) { return e.getElementsByTagName(t)[0] || e.appendChild(e.ownerDocument.createElement(t)) } function At(e, t) { if (t.nodeType !== 1 || !v.hasData(e)) return; var n, r, i, s = v._data(e), o = v._data(t, s), u = s.events; if (u) { delete o.handle, o.events = {}; for (n in u) for (r = 0, i = u[n].length; r < i; r++)v.event.add(t, n, u[n][r]) } o.data && (o.data = v.extend({}, o.data)) } function Ot(e, t) { var n; if (t.nodeType !== 1) return; t.clearAttributes && t.clearAttributes(), t.mergeAttributes && t.mergeAttributes(e), n = t.nodeName.toLowerCase(), n === "object" ? (t.parentNode && (t.outerHTML = e.outerHTML), v.support.html5Clone && e.innerHTML && !v.trim(t.innerHTML) && (t.innerHTML = e.innerHTML)) : n === "input" && Et.test(e.type) ? (t.defaultChecked = t.checked = e.checked, t.value !== e.value && (t.value = e.value)) : n === "option" ? t.selected = e.defaultSelected : n === "input" || n === "textarea" ? t.defaultValue = e.defaultValue : n === "script" && t.text !== e.text && (t.text = e.text), t.removeAttribute(v.expando) } function Mt(e) { return typeof e.getElementsByTagName != "undefined" ? e.getElementsByTagName("*") : typeof e.querySelectorAll != "undefined" ? e.querySelectorAll("*") : [] } function _t(e) { Et.test(e.type) && (e.defaultChecked = e.checked) } function Qt(e, t) { if (t in e) return t; var n = t.charAt(0).toUpperCase() + t.slice(1), r = t, i = Jt.length; while (i--) { t = Jt[i] + n; if (t in e) return t } return r } function Gt(e, t) { return e = t || e, v.css(e, "display") === "none" || !v.contains(e.ownerDocument, e) } function Yt(e, t) { var n, r, i = [], s = 0, o = e.length; for (; s < o; s++) { n = e[s]; if (!n.style) continue; i[s] = v._data(n, "olddisplay"), t ? (!i[s] && n.style.display === "none" && (n.style.display = ""), n.style.display === "" && Gt(n) && (i[s] = v._data(n, "olddisplay", nn(n.nodeName)))) : (r = Dt(n, "display"), !i[s] && r !== "none" && v._data(n, "olddisplay", r)) } for (s = 0; s < o; s++) { n = e[s]; if (!n.style) continue; if (!t || n.style.display === "none" || n.style.display === "") n.style.display = t ? i[s] || "" : "none" } return e } function Zt(e, t, n) { var r = Rt.exec(t); return r ? Math.max(0, r[1] - (n || 0)) + (r[2] || "px") : t } function en(e, t, n, r) { var i = n === (r ? "border" : "content") ? 4 : t === "width" ? 1 : 0, s = 0; for (; i < 4; i += 2)n === "margin" && (s += v.css(e, n + $t[i], !0)), r ? (n === "content" && (s -= parseFloat(Dt(e, "padding" + $t[i])) || 0), n !== "margin" && (s -= parseFloat(Dt(e, "border" + $t[i] + "Width")) || 0)) : (s += parseFloat(Dt(e, "padding" + $t[i])) || 0, n !== "padding" && (s += parseFloat(Dt(e, "border" + $t[i] + "Width")) || 0)); return s } function tn(e, t, n) { var r = t === "width" ? e.offsetWidth : e.offsetHeight, i = !0, s = v.support.boxSizing && v.css(e, "boxSizing") === "border-box"; if (r <= 0 || r == null) { r = Dt(e, t); if (r < 0 || r == null) r = e.style[t]; if (Ut.test(r)) return r; i = s && (v.support.boxSizingReliable || r === e.style[t]), r = parseFloat(r) || 0 } return r + en(e, t, n || (s ? "border" : "content"), i) + "px" } function nn(e) { if (Wt[e]) return Wt[e]; var t = v("<" + e + ">").appendTo(i.body), n = t.css("display"); t.remove(); if (n === "none" || n === "") { Pt = i.body.appendChild(Pt || v.extend(i.createElement("iframe"), { frameBorder: 0, width: 0, height: 0 })); if (!Ht || !Pt.createElement) Ht = (Pt.contentWindow || Pt.contentDocument).document, Ht.write("<!doctype html><html><body>"), Ht.close(); t = Ht.body.appendChild(Ht.createElement(e)), n = Dt(t, "display"), i.body.removeChild(Pt) } return Wt[e] = n, n } function fn(e, t, n, r) { var i; if (v.isArray(t)) v.each(t, function (t, i) { n || sn.test(e) ? r(e, i) : fn(e + "[" + (typeof i == "object" ? t : "") + "]", i, n, r) }); else if (!n && v.type(t) === "object") for (i in t) fn(e + "[" + i + "]", t[i], n, r); else r(e, t) } function Cn(e) { return function (t, n) { typeof t != "string" && (n = t, t = "*"); var r, i, s, o = t.toLowerCase().split(y), u = 0, a = o.length; if (v.isFunction(n)) for (; u < a; u++)r = o[u], s = /^\+/.test(r), s && (r = r.substr(1) || "*"), i = e[r] = e[r] || [], i[s ? "unshift" : "push"](n) } } function kn(e, n, r, i, s, o) { s = s || n.dataTypes[0], o = o || {}, o[s] = !0; var u, a = e[s], f = 0, l = a ? a.length : 0, c = e === Sn; for (; f < l && (c || !u); f++)u = a[f](n, r, i), typeof u == "string" && (!c || o[u] ? u = t : (n.dataTypes.unshift(u), u = kn(e, n, r, i, u, o))); return (c || !u) && !o["*"] && (u = kn(e, n, r, i, "*", o)), u } function Ln(e, n) { var r, i, s = v.ajaxSettings.flatOptions || {}; for (r in n) n[r] !== t && ((s[r] ? e : i || (i = {}))[r] = n[r]); i && v.extend(!0, e, i) } function An(e, n, r) { var i, s, o, u, a = e.contents, f = e.dataTypes, l = e.responseFields; for (s in l) s in r && (n[l[s]] = r[s]); while (f[0] === "*") f.shift(), i === t && (i = e.mimeType || n.getResponseHeader("content-type")); if (i) for (s in a) if (a[s] && a[s].test(i)) { f.unshift(s); break } if (f[0] in r) o = f[0]; else { for (s in r) { if (!f[0] || e.converters[s + " " + f[0]]) { o = s; break } u || (u = s) } o = o || u } if (o) return o !== f[0] && f.unshift(o), r[o] } function On(e, t) { var n, r, i, s, o = e.dataTypes.slice(), u = o[0], a = {}, f = 0; e.dataFilter && (t = e.dataFilter(t, e.dataType)); if (o[1]) for (n in e.converters) a[n.toLowerCase()] = e.converters[n]; for (; i = o[++f];)if (i !== "*") { if (u !== "*" && u !== i) { n = a[u + " " + i] || a["* " + i]; if (!n) for (r in a) { s = r.split(" "); if (s[1] === i) { n = a[u + " " + s[0]] || a["* " + s[0]]; if (n) { n === !0 ? n = a[r] : a[r] !== !0 && (i = s[0], o.splice(f--, 0, i)); break } } } if (n !== !0) if (n && e["throws"]) t = n(t); else try { t = n(t) } catch (l) { return { state: "parsererror", error: n ? l : "No conversion from " + u + " to " + i } } } u = i } return { state: "success", data: t } } function Fn() { try { return new e.XMLHttpRequest } catch (t) { } } function In() { try { return new e.ActiveXObject("Microsoft.XMLHTTP") } catch (t) { } } function $n() { return setTimeout(function () { qn = t }, 0), qn = v.now() } function Jn(e, t) { v.each(t, function (t, n) { var r = (Vn[t] || []).concat(Vn["*"]), i = 0, s = r.length; for (; i < s; i++)if (r[i].call(e, t, n)) return }) } function Kn(e, t, n) { var r, i = 0, s = 0, o = Xn.length, u = v.Deferred().always(function () { delete a.elem }), a = function () { var t = qn || $n(), n = Math.max(0, f.startTime + f.duration - t), r = n / f.duration || 0, i = 1 - r, s = 0, o = f.tweens.length; for (; s < o; s++)f.tweens[s].run(i); return u.notifyWith(e, [f, i, n]), i < 1 && o ? n : (u.resolveWith(e, [f]), !1) }, f = u.promise({ elem: e, props: v.extend({}, t), opts: v.extend(!0, { specialEasing: {} }, n), originalProperties: t, originalOptions: n, startTime: qn || $n(), duration: n.duration, tweens: [], createTween: function (t, n, r) { var i = v.Tween(e, f.opts, t, n, f.opts.specialEasing[t] || f.opts.easing); return f.tweens.push(i), i }, stop: function (t) { var n = 0, r = t ? f.tweens.length : 0; for (; n < r; n++)f.tweens[n].run(1); return t ? u.resolveWith(e, [f, t]) : u.rejectWith(e, [f, t]), this } }), l = f.props; Qn(l, f.opts.specialEasing); for (; i < o; i++) { r = Xn[i].call(f, e, l, f.opts); if (r) return r } return Jn(f, l), v.isFunction(f.opts.start) && f.opts.start.call(e, f), v.fx.timer(v.extend(a, { anim: f, queue: f.opts.queue, elem: e })), f.progress(f.opts.progress).done(f.opts.done, f.opts.complete).fail(f.opts.fail).always(f.opts.always) } function Qn(e, t) { var n, r, i, s, o; for (n in e) { r = v.camelCase(n), i = t[r], s = e[n], v.isArray(s) && (i = s[1], s = e[n] = s[0]), n !== r && (e[r] = s, delete e[n]), o = v.cssHooks[r]; if (o && "expand" in o) { s = o.expand(s), delete e[r]; for (n in s) n in e || (e[n] = s[n], t[n] = i) } else t[r] = i } } function Gn(e, t, n) { var r, i, s, o, u, a, f, l, c, h = this, p = e.style, d = {}, m = [], g = e.nodeType && Gt(e); n.queue || (l = v._queueHooks(e, "fx"), l.unqueued == null && (l.unqueued = 0, c = l.empty.fire, l.empty.fire = function () { l.unqueued || c() }), l.unqueued++, h.always(function () { h.always(function () { l.unqueued--, v.queue(e, "fx").length || l.empty.fire() }) })), e.nodeType === 1 && ("height" in t || "width" in t) && (n.overflow = [p.overflow, p.overflowX, p.overflowY], v.css(e, "display") === "inline" && v.css(e, "float") === "none" && (!v.support.inlineBlockNeedsLayout || nn(e.nodeName) === "inline" ? p.display = "inline-block" : p.zoom = 1)), n.overflow && (p.overflow = "hidden", v.support.shrinkWrapBlocks || h.done(function () { p.overflow = n.overflow[0], p.overflowX = n.overflow[1], p.overflowY = n.overflow[2] })); for (r in t) { s = t[r]; if (Un.exec(s)) { delete t[r], a = a || s === "toggle"; if (s === (g ? "hide" : "show")) continue; m.push(r) } } o = m.length; if (o) { u = v._data(e, "fxshow") || v._data(e, "fxshow", {}), "hidden" in u && (g = u.hidden), a && (u.hidden = !g), g ? v(e).show() : h.done(function () { v(e).hide() }), h.done(function () { var t; v.removeData(e, "fxshow", !0); for (t in d) v.style(e, t, d[t]) }); for (r = 0; r < o; r++)i = m[r], f = h.createTween(i, g ? u[i] : 0), d[i] = u[i] || v.style(e, i), i in u || (u[i] = f.start, g && (f.end = f.start, f.start = i === "width" || i === "height" ? 1 : 0)) } } function Yn(e, t, n, r, i) { return new Yn.prototype.init(e, t, n, r, i) } function Zn(e, t) { var n, r = { height: e }, i = 0; t = t ? 1 : 0; for (; i < 4; i += 2 - t)n = $t[i], r["margin" + n] = r["padding" + n] = e; return t && (r.opacity = r.width = e), r } function tr(e) { return v.isWindow(e) ? e : e.nodeType === 9 ? e.defaultView || e.parentWindow : !1 } var n, r, i = e.document, s = e.location, o = e.navigator, u = e.jQuery, a = e.$, f = Array.prototype.push, l = Array.prototype.slice, c = Array.prototype.indexOf, h = Object.prototype.toString, p = Object.prototype.hasOwnProperty, d = String.prototype.trim, v = function (e, t) { return new v.fn.init(e, t, n) }, m = /[\-+]?(?:\d*\.|)\d+(?:[eE][\-+]?\d+|)/.source, g = /\S/, y = /\s+/, b = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, w = /^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/, E = /^<(\w+)\s*\/?>(?:<\/\1>|)$/, S = /^[\],:{}\s]*$/, x = /(?:^|:|,)(?:\s*\[)+/g, T = /\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g, N = /"[^"\\\r\n]*"|true|false|null|-?(?:\d\d*\.|)\d+(?:[eE][\-+]?\d+|)/g, C = /^-ms-/, k = /-([\da-z])/gi, L = function (e, t) { return (t + "").toUpperCase() }, A = function () { i.addEventListener ? (i.removeEventListener("DOMContentLoaded", A, !1), v.ready()) : i.readyState === "complete" && (i.detachEvent("onreadystatechange", A), v.ready()) }, O = {}; v.fn = v.prototype = { constructor: v, init: function (e, n, r) { var s, o, u, a; if (!e) return this; if (e.nodeType) return this.context = this[0] = e, this.length = 1, this; if (typeof e == "string") { e.charAt(0) === "<" && e.charAt(e.length - 1) === ">" && e.length >= 3 ? s = [null, e, null] : s = w.exec(e); if (s && (s[1] || !n)) { if (s[1]) return n = n instanceof v ? n[0] : n, a = n && n.nodeType ? n.ownerDocument || n : i, e = v.parseHTML(s[1], a, !0), E.test(s[1]) && v.isPlainObject(n) && this.attr.call(e, n, !0), v.merge(this, e); o = i.getElementById(s[2]); if (o && o.parentNode) { if (o.id !== s[2]) return r.find(e); this.length = 1, this[0] = o } return this.context = i, this.selector = e, this } return !n || n.jquery ? (n || r).find(e) : this.constructor(n).find(e) } return v.isFunction(e) ? r.ready(e) : (e.selector !== t && (this.selector = e.selector, this.context = e.context), v.makeArray(e, this)) }, selector: "", jquery: "1.8.3", length: 0, size: function () { return this.length }, toArray: function () { return l.call(this) }, get: function (e) { return e == null ? this.toArray() : e < 0 ? this[this.length + e] : this[e] }, pushStack: function (e, t, n) { var r = v.merge(this.constructor(), e); return r.prevObject = this, r.context = this.context, t === "find" ? r.selector = this.selector + (this.selector ? " " : "") + n : t && (r.selector = this.selector + "." + t + "(" + n + ")"), r }, each: function (e, t) { return v.each(this, e, t) }, ready: function (e) { return v.ready.promise().done(e), this }, eq: function (e) { return e = +e, e === -1 ? this.slice(e) : this.slice(e, e + 1) }, first: function () { return this.eq(0) }, last: function () { return this.eq(-1) }, slice: function () { return this.pushStack(l.apply(this, arguments), "slice", l.call(arguments).join(",")) }, map: function (e) { return this.pushStack(v.map(this, function (t, n) { return e.call(t, n, t) })) }, end: function () { return this.prevObject || this.constructor(null) }, push: f, sort: [].sort, splice: [].splice }, v.fn.init.prototype = v.fn, v.extend = v.fn.extend = function () { var e, n, r, i, s, o, u = arguments[0] || {}, a = 1, f = arguments.length, l = !1; typeof u == "boolean" && (l = u, u = arguments[1] || {}, a = 2), typeof u != "object" && !v.isFunction(u) && (u = {}), f === a && (u = this, --a); for (; a < f; a++)if ((e = arguments[a]) != null) for (n in e) { r = u[n], i = e[n]; if (u === i) continue; l && i && (v.isPlainObject(i) || (s = v.isArray(i))) ? (s ? (s = !1, o = r && v.isArray(r) ? r : []) : o = r && v.isPlainObject(r) ? r : {}, u[n] = v.extend(l, o, i)) : i !== t && (u[n] = i) } return u }, v.extend({ noConflict: function (t) { return e.$ === v && (e.$ = a), t && e.jQuery === v && (e.jQuery = u), v }, isReady: !1, readyWait: 1, holdReady: function (e) { e ? v.readyWait++ : v.ready(!0) }, ready: function (e) { if (e === !0 ? --v.readyWait : v.isReady) return; if (!i.body) return setTimeout(v.ready, 1); v.isReady = !0; if (e !== !0 && --v.readyWait > 0) return; r.resolveWith(i, [v]), v.fn.trigger && v(i).trigger("ready").off("ready") }, isFunction: function (e) { return v.type(e) === "function" }, isArray: Array.isArray || function (e) { return v.type(e) === "array" }, isWindow: function (e) { return e != null && e == e.window }, isNumeric: function (e) { return !isNaN(parseFloat(e)) && isFinite(e) }, type: function (e) { return e == null ? String(e) : O[h.call(e)] || "object" }, isPlainObject: function (e) { if (!e || v.type(e) !== "object" || e.nodeType || v.isWindow(e)) return !1; try { if (e.constructor && !p.call(e, "constructor") && !p.call(e.constructor.prototype, "isPrototypeOf")) return !1 } catch (n) { return !1 } var r; for (r in e); return r === t || p.call(e, r) }, isEmptyObject: function (e) { var t; for (t in e) return !1; return !0 }, error: function (e) { throw new Error(e) }, parseHTML: function (e, t, n) { var r; return !e || typeof e != "string" ? null : (typeof t == "boolean" && (n = t, t = 0), t = t || i, (r = E.exec(e)) ? [t.createElement(r[1])] : (r = v.buildFragment([e], t, n ? null : []), v.merge([], (r.cacheable ? v.clone(r.fragment) : r.fragment).childNodes))) }, parseJSON: function (t) { if (!t || typeof t != "string") return null; t = v.trim(t); if (e.JSON && e.JSON.parse) return e.JSON.parse(t); if (S.test(t.replace(T, "@").replace(N, "]").replace(x, ""))) return (new Function("return " + t))(); v.error("Invalid JSON: " + t) }, parseXML: function (n) { var r, i; if (!n || typeof n != "string") return null; try { e.DOMParser ? (i = new DOMParser, r = i.parseFromString(n, "text/xml")) : (r = new ActiveXObject("Microsoft.XMLDOM"), r.async = "false", r.loadXML(n)) } catch (s) { r = t } return (!r || !r.documentElement || r.getElementsByTagName("parsererror").length) && v.error("Invalid XML: " + n), r }, noop: function () { }, globalEval: function (t) { t && g.test(t) && (e.execScript || function (t) { e.eval.call(e, t) })(t) }, camelCase: function (e) { return e.replace(C, "ms-").replace(k, L) }, nodeName: function (e, t) { return e.nodeName && e.nodeName.toLowerCase() === t.toLowerCase() }, each: function (e, n, r) { var i, s = 0, o = e.length, u = o === t || v.isFunction(e); if (r) { if (u) { for (i in e) if (n.apply(e[i], r) === !1) break } else for (; s < o;)if (n.apply(e[s++], r) === !1) break } else if (u) { for (i in e) if (n.call(e[i], i, e[i]) === !1) break } else for (; s < o;)if (n.call(e[s], s, e[s++]) === !1) break; return e }, trim: d && !d.call("\ufeff\u00a0") ? function (e) { return e == null ? "" : d.call(e) } : function (e) { return e == null ? "" : (e + "").replace(b, "") }, makeArray: function (e, t) { var n, r = t || []; return e != null && (n = v.type(e), e.length == null || n === "string" || n === "function" || n === "regexp" || v.isWindow(e) ? f.call(r, e) : v.merge(r, e)), r }, inArray: function (e, t, n) { var r; if (t) { if (c) return c.call(t, e, n); r = t.length, n = n ? n < 0 ? Math.max(0, r + n) : n : 0; for (; n < r; n++)if (n in t && t[n] === e) return n } return -1 }, merge: function (e, n) { var r = n.length, i = e.length, s = 0; if (typeof r == "number") for (; s < r; s++)e[i++] = n[s]; else while (n[s] !== t) e[i++] = n[s++]; return e.length = i, e }, grep: function (e, t, n) { var r, i = [], s = 0, o = e.length; n = !!n; for (; s < o; s++)r = !!t(e[s], s), n !== r && i.push(e[s]); return i }, map: function (e, n, r) { var i, s, o = [], u = 0, a = e.length, f = e instanceof v || a !== t && typeof a == "number" && (a > 0 && e[0] && e[a - 1] || a === 0 || v.isArray(e)); if (f) for (; u < a; u++)i = n(e[u], u, r), i != null && (o[o.length] = i); else for (s in e) i = n(e[s], s, r), i != null && (o[o.length] = i); return o.concat.apply([], o) }, guid: 1, proxy: function (e, n) { var r, i, s; return typeof n == "string" && (r = e[n], n = e, e = r), v.isFunction(e) ? (i = l.call(arguments, 2), s = function () { return e.apply(n, i.concat(l.call(arguments))) }, s.guid = e.guid = e.guid || v.guid++, s) : t }, access: function (e, n, r, i, s, o, u) { var a, f = r == null, l = 0, c = e.length; if (r && typeof r == "object") { for (l in r) v.access(e, n, l, r[l], 1, o, i); s = 1 } else if (i !== t) { a = u === t && v.isFunction(i), f && (a ? (a = n, n = function (e, t, n) { return a.call(v(e), n) }) : (n.call(e, i), n = null)); if (n) for (; l < c; l++)n(e[l], r, a ? i.call(e[l], l, n(e[l], r)) : i, u); s = 1 } return s ? e : f ? n.call(e) : c ? n(e[0], r) : o }, now: function () { return (new Date).getTime() } }), v.ready.promise = function (t) { if (!r) { r = v.Deferred(); if (i.readyState === "complete") setTimeout(v.ready, 1); else if (i.addEventListener) i.addEventListener("DOMContentLoaded", A, !1), e.addEventListener("load", v.ready, !1); else { i.attachEvent("onreadystatechange", A), e.attachEvent("onload", v.ready); var n = !1; try { n = e.frameElement == null && i.documentElement } catch (s) { } n && n.doScroll && function o() { if (!v.isReady) { try { n.doScroll("left") } catch (e) { return setTimeout(o, 50) } v.ready() } }() } } return r.promise(t) }, v.each("Boolean Number String Function Array Date RegExp Object".split(" "), function (e, t) { O["[object " + t + "]"] = t.toLowerCase() }), n = v(i); var M = {}; v.Callbacks = function (e) { e = typeof e == "string" ? M[e] || _(e) : v.extend({}, e); var n, r, i, s, o, u, a = [], f = !e.once && [], l = function (t) { n = e.memory && t, r = !0, u = s || 0, s = 0, o = a.length, i = !0; for (; a && u < o; u++)if (a[u].apply(t[0], t[1]) === !1 && e.stopOnFalse) { n = !1; break } i = !1, a && (f ? f.length && l(f.shift()) : n ? a = [] : c.disable()) }, c = { add: function () { if (a) { var t = a.length; (function r(t) { v.each(t, function (t, n) { var i = v.type(n); i === "function" ? (!e.unique || !c.has(n)) && a.push(n) : n && n.length && i !== "string" && r(n) }) })(arguments), i ? o = a.length : n && (s = t, l(n)) } return this }, remove: function () { return a && v.each(arguments, function (e, t) { var n; while ((n = v.inArray(t, a, n)) > -1) a.splice(n, 1), i && (n <= o && o--, n <= u && u--) }), this }, has: function (e) { return v.inArray(e, a) > -1 }, empty: function () { return a = [], this }, disable: function () { return a = f = n = t, this }, disabled: function () { return !a }, lock: function () { return f = t, n || c.disable(), this }, locked: function () { return !f }, fireWith: function (e, t) { return t = t || [], t = [e, t.slice ? t.slice() : t], a && (!r || f) && (i ? f.push(t) : l(t)), this }, fire: function () { return c.fireWith(this, arguments), this }, fired: function () { return !!r } }; return c }, v.extend({ Deferred: function (e) { var t = [["resolve", "done", v.Callbacks("once memory"), "resolved"], ["reject", "fail", v.Callbacks("once memory"), "rejected"], ["notify", "progress", v.Callbacks("memory")]], n = "pending", r = { state: function () { return n }, always: function () { return i.done(arguments).fail(arguments), this }, then: function () { var e = arguments; return v.Deferred(function (n) { v.each(t, function (t, r) { var s = r[0], o = e[t]; i[r[1]](v.isFunction(o) ? function () { var e = o.apply(this, arguments); e && v.isFunction(e.promise) ? e.promise().done(n.resolve).fail(n.reject).progress(n.notify) : n[s + "With"](this === i ? n : this, [e]) } : n[s]) }), e = null }).promise() }, promise: function (e) { return e != null ? v.extend(e, r) : r } }, i = {}; return r.pipe = r.then, v.each(t, function (e, s) { var o = s[2], u = s[3]; r[s[1]] = o.add, u && o.add(function () { n = u }, t[e ^ 1][2].disable, t[2][2].lock), i[s[0]] = o.fire, i[s[0] + "With"] = o.fireWith }), r.promise(i), e && e.call(i, i), i }, when: function (e) { var t = 0, n = l.call(arguments), r = n.length, i = r !== 1 || e && v.isFunction(e.promise) ? r : 0, s = i === 1 ? e : v.Deferred(), o = function (e, t, n) { return function (r) { t[e] = this, n[e] = arguments.length > 1 ? l.call(arguments) : r, n === u ? s.notifyWith(t, n) : --i || s.resolveWith(t, n) } }, u, a, f; if (r > 1) { u = new Array(r), a = new Array(r), f = new Array(r); for (; t < r; t++)n[t] && v.isFunction(n[t].promise) ? n[t].promise().done(o(t, f, n)).fail(s.reject).progress(o(t, a, u)) : --i } return i || s.resolveWith(f, n), s.promise() } }), v.support = function () { var t, n, r, s, o, u, a, f, l, c, h, p = i.createElement("div"); p.setAttribute("className", "t"), p.innerHTML = " <link/><table></table><a href='/a'>a</a><input type='checkbox'/>", n = p.getElementsByTagName("*"), r = p.getElementsByTagName("a")[0]; if (!n || !r || !n.length) return {}; s = i.createElement("select"), o = s.appendChild(i.createElement("option")), u = p.getElementsByTagName("input")[0], r.style.cssText = "top:1px;float:left;opacity:.5", t = { leadingWhitespace: p.firstChild.nodeType === 3, tbody: !p.getElementsByTagName("tbody").length, htmlSerialize: !!p.getElementsByTagName("link").length, style: /top/.test(r.getAttribute("style")), hrefNormalized: r.getAttribute("href") === "/a", opacity: /^0.5/.test(r.style.opacity), cssFloat: !!r.style.cssFloat, checkOn: u.value === "on", optSelected: o.selected, getSetAttribute: p.className !== "t", enctype: !!i.createElement("form").enctype, html5Clone: i.createElement("nav").cloneNode(!0).outerHTML !== "<:nav></:nav>", boxModel: i.compatMode === "CSS1Compat", submitBubbles: !0, changeBubbles: !0, focusinBubbles: !1, deleteExpando: !0, noCloneEvent: !0, inlineBlockNeedsLayout: !1, shrinkWrapBlocks: !1, reliableMarginRight: !0, boxSizingReliable: !0, pixelPosition: !1 }, u.checked = !0, t.noCloneChecked = u.cloneNode(!0).checked, s.disabled = !0, t.optDisabled = !o.disabled; try { delete p.test } catch (d) { t.deleteExpando = !1 } !p.addEventListener && p.attachEvent && p.fireEvent && (p.attachEvent("onclick", h = function () { t.noCloneEvent = !1 }), p.cloneNode(!0).fireEvent("onclick"), p.detachEvent("onclick", h)), u = i.createElement("input"), u.value = "t", u.setAttribute("type", "radio"), t.radioValue = u.value === "t", u.setAttribute("checked", "checked"), u.setAttribute("name", "t"), p.appendChild(u), a = i.createDocumentFragment(), a.appendChild(p.lastChild), t.checkClone = a.cloneNode(!0).cloneNode(!0).lastChild.checked, t.appendChecked = u.checked, a.removeChild(u), a.appendChild(p); if (p.attachEvent) for (l in { submit: !0, change: !0, focusin: !0 }) f = "on" + l, c = f in p, c || (p.setAttribute(f, "return;"), c = typeof p[f] == "function"), t[l + "Bubbles"] = c; return v(function () { var n, r, s, o, u = "padding:0;margin:0;border:0;display:block;overflow:hidden;", a = i.getElementsByTagName("body")[0]; if (!a) return; n = i.createElement("div"), n.style.cssText = "visibility:hidden;border:0;width:0;height:0;position:static;top:0;margin-top:1px", a.insertBefore(n, a.firstChild), r = i.createElement("div"), n.appendChild(r), r.innerHTML = "<table><tr><td></td><td>t</td></tr></table>", s = r.getElementsByTagName("td"), s[0].style.cssText = "padding:0;margin:0;border:0;display:none", c = s[0].offsetHeight === 0, s[0].style.display = "", s[1].style.display = "none", t.reliableHiddenOffsets = c && s[0].offsetHeight === 0, r.innerHTML = "", r.style.cssText = "box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;", t.boxSizing = r.offsetWidth === 4, t.doesNotIncludeMarginInBodyOffset = a.offsetTop !== 1, e.getComputedStyle && (t.pixelPosition = (e.getComputedStyle(r, null) || {}).top !== "1%", t.boxSizingReliable = (e.getComputedStyle(r, null) || { width: "4px" }).width === "4px", o = i.createElement("div"), o.style.cssText = r.style.cssText = u, o.style.marginRight = o.style.width = "0", r.style.width = "1px", r.appendChild(o), t.reliableMarginRight = !parseFloat((e.getComputedStyle(o, null) || {}).marginRight)), typeof r.style.zoom != "undefined" && (r.innerHTML = "", r.style.cssText = u + "width:1px;padding:1px;display:inline;zoom:1", t.inlineBlockNeedsLayout = r.offsetWidth === 3, r.style.display = "block", r.style.overflow = "visible", r.innerHTML = "<div></div>", r.firstChild.style.width = "5px", t.shrinkWrapBlocks = r.offsetWidth !== 3, n.style.zoom = 1), a.removeChild(n), n = r = s = o = null }), a.removeChild(p), n = r = s = o = u = a = p = null, t }(); var D = /(?:\{[\s\S]*\}|\[[\s\S]*\])$/, P = /([A-Z])/g; v.extend({ cache: {}, deletedIds: [], uuid: 0, expando: "jQuery" + (v.fn.jquery + Math.random()).replace(/\D/g, ""), noData: { embed: !0, object: "clsid:D27CDB6E-AE6D-11cf-96B8-444553540000", applet: !0 }, hasData: function (e) { return e = e.nodeType ? v.cache[e[v.expando]] : e[v.expando], !!e && !B(e) }, data: function (e, n, r, i) { if (!v.acceptData(e)) return; var s, o, u = v.expando, a = typeof n == "string", f = e.nodeType, l = f ? v.cache : e, c = f ? e[u] : e[u] && u; if ((!c || !l[c] || !i && !l[c].data) && a && r === t) return; c || (f ? e[u] = c = v.deletedIds.pop() || v.guid++ : c = u), l[c] || (l[c] = {}, f || (l[c].toJSON = v.noop)); if (typeof n == "object" || typeof n == "function") i ? l[c] = v.extend(l[c], n) : l[c].data = v.extend(l[c].data, n); return s = l[c], i || (s.data || (s.data = {}), s = s.data), r !== t && (s[v.camelCase(n)] = r), a ? (o = s[n], o == null && (o = s[v.camelCase(n)])) : o = s, o }, removeData: function (e, t, n) { if (!v.acceptData(e)) return; var r, i, s, o = e.nodeType, u = o ? v.cache : e, a = o ? e[v.expando] : v.expando; if (!u[a]) return; if (t) { r = n ? u[a] : u[a].data; if (r) { v.isArray(t) || (t in r ? t = [t] : (t = v.camelCase(t), t in r ? t = [t] : t = t.split(" "))); for (i = 0, s = t.length; i < s; i++)delete r[t[i]]; if (!(n ? B : v.isEmptyObject)(r)) return } } if (!n) { delete u[a].data; if (!B(u[a])) return } o ? v.cleanData([e], !0) : v.support.deleteExpando || u != u.window ? delete u[a] : u[a] = null }, _data: function (e, t, n) { return v.data(e, t, n, !0) }, acceptData: function (e) { var t = e.nodeName && v.noData[e.nodeName.toLowerCase()]; return !t || t !== !0 && e.getAttribute("classid") === t } }), v.fn.extend({ data: function (e, n) { var r, i, s, o, u, a = this[0], f = 0, l = null; if (e === t) { if (this.length) { l = v.data(a); if (a.nodeType === 1 && !v._data(a, "parsedAttrs")) { s = a.attributes; for (u = s.length; f < u; f++)o = s[f].name, o.indexOf("data-") || (o = v.camelCase(o.substring(5)), H(a, o, l[o])); v._data(a, "parsedAttrs", !0) } } return l } return typeof e == "object" ? this.each(function () { v.data(this, e) }) : (r = e.split(".", 2), r[1] = r[1] ? "." + r[1] : "", i = r[1] + "!", v.access(this, function (n) { if (n === t) return l = this.triggerHandler("getData" + i, [r[0]]), l === t && a && (l = v.data(a, e), l = H(a, e, l)), l === t && r[1] ? this.data(r[0]) : l; r[1] = n, this.each(function () { var t = v(this); t.triggerHandler("setData" + i, r), v.data(this, e, n), t.triggerHandler("changeData" + i, r) }) }, null, n, arguments.length > 1, null, !1)) }, removeData: function (e) { return this.each(function () { v.removeData(this, e) }) } }), v.extend({ queue: function (e, t, n) { var r; if (e) return t = (t || "fx") + "queue", r = v._data(e, t), n && (!r || v.isArray(n) ? r = v._data(e, t, v.makeArray(n)) : r.push(n)), r || [] }, dequeue: function (e, t) { t = t || "fx"; var n = v.queue(e, t), r = n.length, i = n.shift(), s = v._queueHooks(e, t), o = function () { v.dequeue(e, t) }; i === "inprogress" && (i = n.shift(), r--), i && (t === "fx" && n.unshift("inprogress"), delete s.stop, i.call(e, o, s)), !r && s && s.empty.fire() }, _queueHooks: function (e, t) { var n = t + "queueHooks"; return v._data(e, n) || v._data(e, n, { empty: v.Callbacks("once memory").add(function () { v.removeData(e, t + "queue", !0), v.removeData(e, n, !0) }) }) } }), v.fn.extend({ queue: function (e, n) { var r = 2; return typeof e != "string" && (n = e, e = "fx", r--), arguments.length < r ? v.queue(this[0], e) : n === t ? this : this.each(function () { var t = v.queue(this, e, n); v._queueHooks(this, e), e === "fx" && t[0] !== "inprogress" && v.dequeue(this, e) }) }, dequeue: function (e) { return this.each(function () { v.dequeue(this, e) }) }, delay: function (e, t) { return e = v.fx ? v.fx.speeds[e] || e : e, t = t || "fx", this.queue(t, function (t, n) { var r = setTimeout(t, e); n.stop = function () { clearTimeout(r) } }) }, clearQueue: function (e) { return this.queue(e || "fx", []) }, promise: function (e, n) { var r, i = 1, s = v.Deferred(), o = this, u = this.length, a = function () { --i || s.resolveWith(o, [o]) }; typeof e != "string" && (n = e, e = t), e = e || "fx"; while (u--) r = v._data(o[u], e + "queueHooks"), r && r.empty && (i++, r.empty.add(a)); return a(), s.promise(n) } }); var j, F, I, q = /[\t\r\n]/g, R = /\r/g, U = /^(?:button|input)$/i, z = /^(?:button|input|object|select|textarea)$/i, W = /^a(?:rea|)$/i, X = /^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i, V = v.support.getSetAttribute; v.fn.extend({ attr: function (e, t) { return v.access(this, v.attr, e, t, arguments.length > 1) }, removeAttr: function (e) { return this.each(function () { v.removeAttr(this, e) }) }, prop: function (e, t) { return v.access(this, v.prop, e, t, arguments.length > 1) }, removeProp: function (e) { return e = v.propFix[e] || e, this.each(function () { try { this[e] = t, delete this[e] } catch (n) { } }) }, addClass: function (e) { var t, n, r, i, s, o, u; if (v.isFunction(e)) return this.each(function (t) { v(this).addClass(e.call(this, t, this.className)) }); if (e && typeof e == "string") { t = e.split(y); for (n = 0, r = this.length; n < r; n++) { i = this[n]; if (i.nodeType === 1) if (!i.className && t.length === 1) i.className = e; else { s = " " + i.className + " "; for (o = 0, u = t.length; o < u; o++)s.indexOf(" " + t[o] + " ") < 0 && (s += t[o] + " "); i.className = v.trim(s) } } } return this }, removeClass: function (e) { var n, r, i, s, o, u, a; if (v.isFunction(e)) return this.each(function (t) { v(this).removeClass(e.call(this, t, this.className)) }); if (e && typeof e == "string" || e === t) { n = (e || "").split(y); for (u = 0, a = this.length; u < a; u++) { i = this[u]; if (i.nodeType === 1 && i.className) { r = (" " + i.className + " ").replace(q, " "); for (s = 0, o = n.length; s < o; s++)while (r.indexOf(" " + n[s] + " ") >= 0) r = r.replace(" " + n[s] + " ", " "); i.className = e ? v.trim(r) : "" } } } return this }, toggleClass: function (e, t) { var n = typeof e, r = typeof t == "boolean"; return v.isFunction(e) ? this.each(function (n) { v(this).toggleClass(e.call(this, n, this.className, t), t) }) : this.each(function () { if (n === "string") { var i, s = 0, o = v(this), u = t, a = e.split(y); while (i = a[s++]) u = r ? u : !o.hasClass(i), o[u ? "addClass" : "removeClass"](i) } else if (n === "undefined" || n === "boolean") this.className && v._data(this, "__className__", this.className), this.className = this.className || e === !1 ? "" : v._data(this, "__className__") || "" }) }, hasClass: function (e) { var t = " " + e + " ", n = 0, r = this.length; for (; n < r; n++)if (this[n].nodeType === 1 && (" " + this[n].className + " ").replace(q, " ").indexOf(t) >= 0) return !0; return !1 }, val: function (e) { var n, r, i, s = this[0]; if (!arguments.length) { if (s) return n = v.valHooks[s.type] || v.valHooks[s.nodeName.toLowerCase()], n && "get" in n && (r = n.get(s, "value")) !== t ? r : (r = s.value, typeof r == "string" ? r.replace(R, "") : r == null ? "" : r); return } return i = v.isFunction(e), this.each(function (r) { var s, o = v(this); if (this.nodeType !== 1) return; i ? s = e.call(this, r, o.val()) : s = e, s == null ? s = "" : typeof s == "number" ? s += "" : v.isArray(s) && (s = v.map(s, function (e) { return e == null ? "" : e + "" })), n = v.valHooks[this.type] || v.valHooks[this.nodeName.toLowerCase()]; if (!n || !("set" in n) || n.set(this, s, "value") === t) this.value = s }) } }), v.extend({ valHooks: { option: { get: function (e) { var t = e.attributes.value; return !t || t.specified ? e.value : e.text } }, select: { get: function (e) { var t, n, r = e.options, i = e.selectedIndex, s = e.type === "select-one" || i < 0, o = s ? null : [], u = s ? i + 1 : r.length, a = i < 0 ? u : s ? i : 0; for (; a < u; a++) { n = r[a]; if ((n.selected || a === i) && (v.support.optDisabled ? !n.disabled : n.getAttribute("disabled") === null) && (!n.parentNode.disabled || !v.nodeName(n.parentNode, "optgroup"))) { t = v(n).val(); if (s) return t; o.push(t) } } return o }, set: function (e, t) { var n = v.makeArray(t); return v(e).find("option").each(function () { this.selected = v.inArray(v(this).val(), n) >= 0 }), n.length || (e.selectedIndex = -1), n } } }, attrFn: {}, attr: function (e, n, r, i) { var s, o, u, a = e.nodeType; if (!e || a === 3 || a === 8 || a === 2) return; if (i && v.isFunction(v.fn[n])) return v(e)[n](r); if (typeof e.getAttribute == "undefined") return v.prop(e, n, r); u = a !== 1 || !v.isXMLDoc(e), u && (n = n.toLowerCase(), o = v.attrHooks[n] || (X.test(n) ? F : j)); if (r !== t) { if (r === null) { v.removeAttr(e, n); return } return o && "set" in o && u && (s = o.set(e, r, n)) !== t ? s : (e.setAttribute(n, r + ""), r) } return o && "get" in o && u && (s = o.get(e, n)) !== null ? s : (s = e.getAttribute(n), s === null ? t : s) }, removeAttr: function (e, t) { var n, r, i, s, o = 0; if (t && e.nodeType === 1) { r = t.split(y); for (; o < r.length; o++)i = r[o], i && (n = v.propFix[i] || i, s = X.test(i), s || v.attr(e, i, ""), e.removeAttribute(V ? i : n), s && n in e && (e[n] = !1)) } }, attrHooks: { type: { set: function (e, t) { if (U.test(e.nodeName) && e.parentNode) v.error("type property can't be changed"); else if (!v.support.radioValue && t === "radio" && v.nodeName(e, "input")) { var n = e.value; return e.setAttribute("type", t), n && (e.value = n), t } } }, value: { get: function (e, t) { return j && v.nodeName(e, "button") ? j.get(e, t) : t in e ? e.value : null }, set: function (e, t, n) { if (j && v.nodeName(e, "button")) return j.set(e, t, n); e.value = t } } }, propFix: { tabindex: "tabIndex", readonly: "readOnly", "for": "htmlFor", "class": "className", maxlength: "maxLength", cellspacing: "cellSpacing", cellpadding: "cellPadding", rowspan: "rowSpan", colspan: "colSpan", usemap: "useMap", frameborder: "frameBorder", contenteditable: "contentEditable" }, prop: function (e, n, r) { var i, s, o, u = e.nodeType; if (!e || u === 3 || u === 8 || u === 2) return; return o = u !== 1 || !v.isXMLDoc(e), o && (n = v.propFix[n] || n, s = v.propHooks[n]), r !== t ? s && "set" in s && (i = s.set(e, r, n)) !== t ? i : e[n] = r : s && "get" in s && (i = s.get(e, n)) !== null ? i : e[n] }, propHooks: { tabIndex: { get: function (e) { var n = e.getAttributeNode("tabindex"); return n && n.specified ? parseInt(n.value, 10) : z.test(e.nodeName) || W.test(e.nodeName) && e.href ? 0 : t } } } }), F = { get: function (e, n) { var r, i = v.prop(e, n); return i === !0 || typeof i != "boolean" && (r = e.getAttributeNode(n)) && r.nodeValue !== !1 ? n.toLowerCase() : t }, set: function (e, t, n) { var r; return t === !1 ? v.removeAttr(e, n) : (r = v.propFix[n] || n, r in e && (e[r] = !0), e.setAttribute(n, n.toLowerCase())), n } }, V || (I = { name: !0, id: !0, coords: !0 }, j = v.valHooks.button = { get: function (e, n) { var r; return r = e.getAttributeNode(n), r && (I[n] ? r.value !== "" : r.specified) ? r.value : t }, set: function (e, t, n) { var r = e.getAttributeNode(n); return r || (r = i.createAttribute(n), e.setAttributeNode(r)), r.value = t + "" } }, v.each(["width", "height"], function (e, t) { v.attrHooks[t] = v.extend(v.attrHooks[t], { set: function (e, n) { if (n === "") return e.setAttribute(t, "auto"), n } }) }), v.attrHooks.contenteditable = { get: j.get, set: function (e, t, n) { t === "" && (t = "false"), j.set(e, t, n) } }), v.support.hrefNormalized || v.each(["href", "src", "width", "height"], function (e, n) { v.attrHooks[n] = v.extend(v.attrHooks[n], { get: function (e) { var r = e.getAttribute(n, 2); return r === null ? t : r } }) }), v.support.style || (v.attrHooks.style = { get: function (e) { return e.style.cssText.toLowerCase() || t }, set: function (e, t) { return e.style.cssText = t + "" } }), v.support.optSelected || (v.propHooks.selected = v.extend(v.propHooks.selected, { get: function (e) { var t = e.parentNode; return t && (t.selectedIndex, t.parentNode && t.parentNode.selectedIndex), null } })), v.support.enctype || (v.propFix.enctype = "encoding"), v.support.checkOn || v.each(["radio", "checkbox"], function () { v.valHooks[this] = { get: function (e) { return e.getAttribute("value") === null ? "on" : e.value } } }), v.each(["radio", "checkbox"], function () { v.valHooks[this] = v.extend(v.valHooks[this], { set: function (e, t) { if (v.isArray(t)) return e.checked = v.inArray(v(e).val(), t) >= 0 } }) }); var $ = /^(?:textarea|input|select)$/i, J = /^([^\.]*|)(?:\.(.+)|)$/, K = /(?:^|\s)hover(\.\S+|)\b/, Q = /^key/, G = /^(?:mouse|contextmenu)|click/, Y = /^(?:focusinfocus|focusoutblur)$/, Z = function (e) { return v.event.special.hover ? e : e.replace(K, "mouseenter$1 mouseleave$1") }; v.event = { add: function (e, n, r, i, s) { var o, u, a, f, l, c, h, p, d, m, g; if (e.nodeType === 3 || e.nodeType === 8 || !n || !r || !(o = v._data(e))) return; r.handler && (d = r, r = d.handler, s = d.selector), r.guid || (r.guid = v.guid++), a = o.events, a || (o.events = a = {}), u = o.handle, u || (o.handle = u = function (e) { return typeof v == "undefined" || !!e && v.event.triggered === e.type ? t : v.event.dispatch.apply(u.elem, arguments) }, u.elem = e), n = v.trim(Z(n)).split(" "); for (f = 0; f < n.length; f++) { l = J.exec(n[f]) || [], c = l[1], h = (l[2] || "").split(".").sort(), g = v.event.special[c] || {}, c = (s ? g.delegateType : g.bindType) || c, g = v.event.special[c] || {}, p = v.extend({ type: c, origType: l[1], data: i, handler: r, guid: r.guid, selector: s, needsContext: s && v.expr.match.needsContext.test(s), namespace: h.join(".") }, d), m = a[c]; if (!m) { m = a[c] = [], m.delegateCount = 0; if (!g.setup || g.setup.call(e, i, h, u) === !1) e.addEventListener ? e.addEventListener(c, u, !1) : e.attachEvent && e.attachEvent("on" + c, u) } g.add && (g.add.call(e, p), p.handler.guid || (p.handler.guid = r.guid)), s ? m.splice(m.delegateCount++, 0, p) : m.push(p), v.event.global[c] = !0 } e = null }, global: {}, remove: function (e, t, n, r, i) { var s, o, u, a, f, l, c, h, p, d, m, g = v.hasData(e) && v._data(e); if (!g || !(h = g.events)) return; t = v.trim(Z(t || "")).split(" "); for (s = 0; s < t.length; s++) { o = J.exec(t[s]) || [], u = a = o[1], f = o[2]; if (!u) { for (u in h) v.event.remove(e, u + t[s], n, r, !0); continue } p = v.event.special[u] || {}, u = (r ? p.delegateType : p.bindType) || u, d = h[u] || [], l = d.length, f = f ? new RegExp("(^|\\.)" + f.split(".").sort().join("\\.(?:.*\\.|)") + "(\\.|$)") : null; for (c = 0; c < d.length; c++)m = d[c], (i || a === m.origType) && (!n || n.guid === m.guid) && (!f || f.test(m.namespace)) && (!r || r === m.selector || r === "**" && m.selector) && (d.splice(c--, 1), m.selector && d.delegateCount--, p.remove && p.remove.call(e, m)); d.length === 0 && l !== d.length && ((!p.teardown || p.teardown.call(e, f, g.handle) === !1) && v.removeEvent(e, u, g.handle), delete h[u]) } v.isEmptyObject(h) && (delete g.handle, v.removeData(e, "events", !0)) }, customEvent: { getData: !0, setData: !0, changeData: !0 }, trigger: function (n, r, s, o) { if (!s || s.nodeType !== 3 && s.nodeType !== 8) { var u, a, f, l, c, h, p, d, m, g, y = n.type || n, b = []; if (Y.test(y + v.event.triggered)) return; y.indexOf("!") >= 0 && (y = y.slice(0, -1), a = !0), y.indexOf(".") >= 0 && (b = y.split("."), y = b.shift(), b.sort()); if ((!s || v.event.customEvent[y]) && !v.event.global[y]) return; n = typeof n == "object" ? n[v.expando] ? n : new v.Event(y, n) : new v.Event(y), n.type = y, n.isTrigger = !0, n.exclusive = a, n.namespace = b.join("."), n.namespace_re = n.namespace ? new RegExp("(^|\\.)" + b.join("\\.(?:.*\\.|)") + "(\\.|$)") : null, h = y.indexOf(":") < 0 ? "on" + y : ""; if (!s) { u = v.cache; for (f in u) u[f].events && u[f].events[y] && v.event.trigger(n, r, u[f].handle.elem, !0); return } n.result = t, n.target || (n.target = s), r = r != null ? v.makeArray(r) : [], r.unshift(n), p = v.event.special[y] || {}; if (p.trigger && p.trigger.apply(s, r) === !1) return; m = [[s, p.bindType || y]]; if (!o && !p.noBubble && !v.isWindow(s)) { g = p.delegateType || y, l = Y.test(g + y) ? s : s.parentNode; for (c = s; l; l = l.parentNode)m.push([l, g]), c = l; c === (s.ownerDocument || i) && m.push([c.defaultView || c.parentWindow || e, g]) } for (f = 0; f < m.length && !n.isPropagationStopped(); f++)l = m[f][0], n.type = m[f][1], d = (v._data(l, "events") || {})[n.type] && v._data(l, "handle"), d && d.apply(l, r), d = h && l[h], d && v.acceptData(l) && d.apply && d.apply(l, r) === !1 && n.preventDefault(); return n.type = y, !o && !n.isDefaultPrevented() && (!p._default || p._default.apply(s.ownerDocument, r) === !1) && (y !== "click" || !v.nodeName(s, "a")) && v.acceptData(s) && h && s[y] && (y !== "focus" && y !== "blur" || n.target.offsetWidth !== 0) && !v.isWindow(s) && (c = s[h], c && (s[h] = null), v.event.triggered = y, s[y](), v.event.triggered = t, c && (s[h] = c)), n.result } return }, dispatch: function (n) { n = v.event.fix(n || e.event); var r, i, s, o, u, a, f, c, h, p, d = (v._data(this, "events") || {})[n.type] || [], m = d.delegateCount, g = l.call(arguments), y = !n.exclusive && !n.namespace, b = v.event.special[n.type] || {}, w = []; g[0] = n, n.delegateTarget = this; if (b.preDispatch && b.preDispatch.call(this, n) === !1) return; if (m && (!n.button || n.type !== "click")) for (s = n.target; s != this; s = s.parentNode || this)if (s.disabled !== !0 || n.type !== "click") { u = {}, f = []; for (r = 0; r < m; r++)c = d[r], h = c.selector, u[h] === t && (u[h] = c.needsContext ? v(h, this).index(s) >= 0 : v.find(h, this, null, [s]).length), u[h] && f.push(c); f.length && w.push({ elem: s, matches: f }) } d.length > m && w.push({ elem: this, matches: d.slice(m) }); for (r = 0; r < w.length && !n.isPropagationStopped(); r++) { a = w[r], n.currentTarget = a.elem; for (i = 0; i < a.matches.length && !n.isImmediatePropagationStopped(); i++) { c = a.matches[i]; if (y || !n.namespace && !c.namespace || n.namespace_re && n.namespace_re.test(c.namespace)) n.data = c.data, n.handleObj = c, o = ((v.event.special[c.origType] || {}).handle || c.handler).apply(a.elem, g), o !== t && (n.result = o, o === !1 && (n.preventDefault(), n.stopPropagation())) } } return b.postDispatch && b.postDispatch.call(this, n), n.result }, props: "attrChange attrName relatedNode srcElement altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "), fixHooks: {}, keyHooks: { props: "char charCode key keyCode".split(" "), filter: function (e, t) { return e.which == null && (e.which = t.charCode != null ? t.charCode : t.keyCode), e } }, mouseHooks: { props: "button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "), filter: function (e, n) { var r, s, o, u = n.button, a = n.fromElement; return e.pageX == null && n.clientX != null && (r = e.target.ownerDocument || i, s = r.documentElement, o = r.body, e.pageX = n.clientX + (s && s.scrollLeft || o && o.scrollLeft || 0) - (s && s.clientLeft || o && o.clientLeft || 0), e.pageY = n.clientY + (s && s.scrollTop || o && o.scrollTop || 0) - (s && s.clientTop || o && o.clientTop || 0)), !e.relatedTarget && a && (e.relatedTarget = a === e.target ? n.toElement : a), !e.which && u !== t && (e.which = u & 1 ? 1 : u & 2 ? 3 : u & 4 ? 2 : 0), e } }, fix: function (e) { if (e[v.expando]) return e; var t, n, r = e, s = v.event.fixHooks[e.type] || {}, o = s.props ? this.props.concat(s.props) : this.props; e = v.Event(r); for (t = o.length; t;)n = o[--t], e[n] = r[n]; return e.target || (e.target = r.srcElement || i), e.target.nodeType === 3 && (e.target = e.target.parentNode), e.metaKey = !!e.metaKey, s.filter ? s.filter(e, r) : e }, special: { load: { noBubble: !0 }, focus: { delegateType: "focusin" }, blur: { delegateType: "focusout" }, beforeunload: { setup: function (e, t, n) { v.isWindow(this) && (this.onbeforeunload = n) }, teardown: function (e, t) { this.onbeforeunload === t && (this.onbeforeunload = null) } } }, simulate: function (e, t, n, r) { var i = v.extend(new v.Event, n, { type: e, isSimulated: !0, originalEvent: {} }); r ? v.event.trigger(i, null, t) : v.event.dispatch.call(t, i), i.isDefaultPrevented() && n.preventDefault() } }, v.event.handle = v.event.dispatch, v.removeEvent = i.removeEventListener ? function (e, t, n) { e.removeEventListener && e.removeEventListener(t, n, !1) } : function (e, t, n) { var r = "on" + t; e.detachEvent && (typeof e[r] == "undefined" && (e[r] = null), e.detachEvent(r, n)) }, v.Event = function (e, t) { if (!(this instanceof v.Event)) return new v.Event(e, t); e && e.type ? (this.originalEvent = e, this.type = e.type, this.isDefaultPrevented = e.defaultPrevented || e.returnValue === !1 || e.getPreventDefault && e.getPreventDefault() ? tt : et) : this.type = e, t && v.extend(this, t), this.timeStamp = e && e.timeStamp || v.now(), this[v.expando] = !0 }, v.Event.prototype = { preventDefault: function () { this.isDefaultPrevented = tt; var e = this.originalEvent; if (!e) return; e.preventDefault ? e.preventDefault() : e.returnValue = !1 }, stopPropagation: function () { this.isPropagationStopped = tt; var e = this.originalEvent; if (!e) return; e.stopPropagation && e.stopPropagation(), e.cancelBubble = !0 }, stopImmediatePropagation: function () { this.isImmediatePropagationStopped = tt, this.stopPropagation() }, isDefaultPrevented: et, isPropagationStopped: et, isImmediatePropagationStopped: et }, v.each({ mouseenter: "mouseover", mouseleave: "mouseout" }, function (e, t) { v.event.special[e] = { delegateType: t, bindType: t, handle: function (e) { var n, r = this, i = e.relatedTarget, s = e.handleObj, o = s.selector; if (!i || i !== r && !v.contains(r, i)) e.type = s.origType, n = s.handler.apply(this, arguments), e.type = t; return n } } }), v.support.submitBubbles || (v.event.special.submit = { setup: function () { if (v.nodeName(this, "form")) return !1; v.event.add(this, "click._submit keypress._submit", function (e) { var n = e.target, r = v.nodeName(n, "input") || v.nodeName(n, "button") ? n.form : t; r && !v._data(r, "_submit_attached") && (v.event.add(r, "submit._submit", function (e) { e._submit_bubble = !0 }), v._data(r, "_submit_attached", !0)) }) }, postDispatch: function (e) { e._submit_bubble && (delete e._submit_bubble, this.parentNode && !e.isTrigger && v.event.simulate("submit", this.parentNode, e, !0)) }, teardown: function () { if (v.nodeName(this, "form")) return !1; v.event.remove(this, "._submit") } }), v.support.changeBubbles || (v.event.special.change = { setup: function () { if ($.test(this.nodeName)) { if (this.type === "checkbox" || this.type === "radio") v.event.add(this, "propertychange._change", function (e) { e.originalEvent.propertyName === "checked" && (this._just_changed = !0) }), v.event.add(this, "click._change", function (e) { this._just_changed && !e.isTrigger && (this._just_changed = !1), v.event.simulate("change", this, e, !0) }); return !1 } v.event.add(this, "beforeactivate._change", function (e) { var t = e.target; $.test(t.nodeName) && !v._data(t, "_change_attached") && (v.event.add(t, "change._change", function (e) { this.parentNode && !e.isSimulated && !e.isTrigger && v.event.simulate("change", this.parentNode, e, !0) }), v._data(t, "_change_attached", !0)) }) }, handle: function (e) { var t = e.target; if (this !== t || e.isSimulated || e.isTrigger || t.type !== "radio" && t.type !== "checkbox") return e.handleObj.handler.apply(this, arguments) }, teardown: function () { return v.event.remove(this, "._change"), !$.test(this.nodeName) } }), v.support.focusinBubbles || v.each({ focus: "focusin", blur: "focusout" }, function (e, t) { var n = 0, r = function (e) { v.event.simulate(t, e.target, v.event.fix(e), !0) }; v.event.special[t] = { setup: function () { n++ === 0 && i.addEventListener(e, r, !0) }, teardown: function () { --n === 0 && i.removeEventListener(e, r, !0) } } }), v.fn.extend({ on: function (e, n, r, i, s) { var o, u; if (typeof e == "object") { typeof n != "string" && (r = r || n, n = t); for (u in e) this.on(u, n, r, e[u], s); return this } r == null && i == null ? (i = n, r = n = t) : i == null && (typeof n == "string" ? (i = r, r = t) : (i = r, r = n, n = t)); if (i === !1) i = et; else if (!i) return this; return s === 1 && (o = i, i = function (e) { return v().off(e), o.apply(this, arguments) }, i.guid = o.guid || (o.guid = v.guid++)), this.each(function () { v.event.add(this, e, i, r, n) }) }, one: function (e, t, n, r) { return this.on(e, t, n, r, 1) }, off: function (e, n, r) { var i, s; if (e && e.preventDefault && e.handleObj) return i = e.handleObj, v(e.delegateTarget).off(i.namespace ? i.origType + "." + i.namespace : i.origType, i.selector, i.handler), this; if (typeof e == "object") { for (s in e) this.off(s, n, e[s]); return this } if (n === !1 || typeof n == "function") r = n, n = t; return r === !1 && (r = et), this.each(function () { v.event.remove(this, e, r, n) }) }, bind: function (e, t, n) { return this.on(e, null, t, n) }, unbind: function (e, t) { return this.off(e, null, t) }, live: function (e, t, n) { return v(this.context).on(e, this.selector, t, n), this }, die: function (e, t) { return v(this.context).off(e, this.selector || "**", t), this }, delegate: function (e, t, n, r) { return this.on(t, e, n, r) }, undelegate: function (e, t, n) { return arguments.length === 1 ? this.off(e, "**") : this.off(t, e || "**", n) }, trigger: function (e, t) { return this.each(function () { v.event.trigger(e, t, this) }) }, triggerHandler: function (e, t) { if (this[0]) return v.event.trigger(e, t, this[0], !0) }, toggle: function (e) { var t = arguments, n = e.guid || v.guid++, r = 0, i = function (n) { var i = (v._data(this, "lastToggle" + e.guid) || 0) % r; return v._data(this, "lastToggle" + e.guid, i + 1), n.preventDefault(), t[i].apply(this, arguments) || !1 }; i.guid = n; while (r < t.length) t[r++].guid = n; return this.click(i) }, hover: function (e, t) { return this.mouseenter(e).mouseleave(t || e) } }), v.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "), function (e, t) { v.fn[t] = function (e, n) { return n == null && (n = e, e = null), arguments.length > 0 ? this.on(t, null, e, n) : this.trigger(t) }, Q.test(t) && (v.event.fixHooks[t] = v.event.keyHooks), G.test(t) && (v.event.fixHooks[t] = v.event.mouseHooks) }), function (e, t) { function nt(e, t, n, r) { n = n || [], t = t || g; var i, s, a, f, l = t.nodeType; if (!e || typeof e != "string") return n; if (l !== 1 && l !== 9) return []; a = o(t); if (!a && !r) if (i = R.exec(e)) if (f = i[1]) { if (l === 9) { s = t.getElementById(f); if (!s || !s.parentNode) return n; if (s.id === f) return n.push(s), n } else if (t.ownerDocument && (s = t.ownerDocument.getElementById(f)) && u(t, s) && s.id === f) return n.push(s), n } else { if (i[2]) return S.apply(n, x.call(t.getElementsByTagName(e), 0)), n; if ((f = i[3]) && Z && t.getElementsByClassName) return S.apply(n, x.call(t.getElementsByClassName(f), 0)), n } return vt(e.replace(j, "$1"), t, n, r, a) } function rt(e) { return function (t) { var n = t.nodeName.toLowerCase(); return n === "input" && t.type === e } } function it(e) { return function (t) { var n = t.nodeName.toLowerCase(); return (n === "input" || n === "button") && t.type === e } } function st(e) { return N(function (t) { return t = +t, N(function (n, r) { var i, s = e([], n.length, t), o = s.length; while (o--) n[i = s[o]] && (n[i] = !(r[i] = n[i])) }) }) } function ot(e, t, n) { if (e === t) return n; var r = e.nextSibling; while (r) { if (r === t) return -1; r = r.nextSibling } return 1 } function ut(e, t) { var n, r, s, o, u, a, f, l = L[d][e + " "]; if (l) return t ? 0 : l.slice(0); u = e, a = [], f = i.preFilter; while (u) { if (!n || (r = F.exec(u))) r && (u = u.slice(r[0].length) || u), a.push(s = []); n = !1; if (r = I.exec(u)) s.push(n = new m(r.shift())), u = u.slice(n.length), n.type = r[0].replace(j, " "); for (o in i.filter) (r = J[o].exec(u)) && (!f[o] || (r = f[o](r))) && (s.push(n = new m(r.shift())), u = u.slice(n.length), n.type = o, n.matches = r); if (!n) break } return t ? u.length : u ? nt.error(e) : L(e, a).slice(0) } function at(e, t, r) { var i = t.dir, s = r && t.dir === "parentNode", o = w++; return t.first ? function (t, n, r) { while (t = t[i]) if (s || t.nodeType === 1) return e(t, n, r) } : function (t, r, u) { if (!u) { var a, f = b + " " + o + " ", l = f + n; while (t = t[i]) if (s || t.nodeType === 1) { if ((a = t[d]) === l) return t.sizset; if (typeof a == "string" && a.indexOf(f) === 0) { if (t.sizset) return t } else { t[d] = l; if (e(t, r, u)) return t.sizset = !0, t; t.sizset = !1 } } } else while (t = t[i]) if (s || t.nodeType === 1) if (e(t, r, u)) return t } } function ft(e) { return e.length > 1 ? function (t, n, r) { var i = e.length; while (i--) if (!e[i](t, n, r)) return !1; return !0 } : e[0] } function lt(e, t, n, r, i) { var s, o = [], u = 0, a = e.length, f = t != null; for (; u < a; u++)if (s = e[u]) if (!n || n(s, r, i)) o.push(s), f && t.push(u); return o } function ct(e, t, n, r, i, s) { return r && !r[d] && (r = ct(r)), i && !i[d] && (i = ct(i, s)), N(function (s, o, u, a) { var f, l, c, h = [], p = [], d = o.length, v = s || dt(t || "*", u.nodeType ? [u] : u, []), m = e && (s || !t) ? lt(v, h, e, u, a) : v, g = n ? i || (s ? e : d || r) ? [] : o : m; n && n(m, g, u, a); if (r) { f = lt(g, p), r(f, [], u, a), l = f.length; while (l--) if (c = f[l]) g[p[l]] = !(m[p[l]] = c) } if (s) { if (i || e) { if (i) { f = [], l = g.length; while (l--) (c = g[l]) && f.push(m[l] = c); i(null, g = [], f, a) } l = g.length; while (l--) (c = g[l]) && (f = i ? T.call(s, c) : h[l]) > -1 && (s[f] = !(o[f] = c)) } } else g = lt(g === o ? g.splice(d, g.length) : g), i ? i(null, o, g, a) : S.apply(o, g) }) } function ht(e) { var t, n, r, s = e.length, o = i.relative[e[0].type], u = o || i.relative[" "], a = o ? 1 : 0, f = at(function (e) { return e === t }, u, !0), l = at(function (e) { return T.call(t, e) > -1 }, u, !0), h = [function (e, n, r) { return !o && (r || n !== c) || ((t = n).nodeType ? f(e, n, r) : l(e, n, r)) }]; for (; a < s; a++)if (n = i.relative[e[a].type]) h = [at(ft(h), n)]; else { n = i.filter[e[a].type].apply(null, e[a].matches); if (n[d]) { r = ++a; for (; r < s; r++)if (i.relative[e[r].type]) break; return ct(a > 1 && ft(h), a > 1 && e.slice(0, a - 1).join("").replace(j, "$1"), n, a < r && ht(e.slice(a, r)), r < s && ht(e = e.slice(r)), r < s && e.join("")) } h.push(n) } return ft(h) } function pt(e, t) { var r = t.length > 0, s = e.length > 0, o = function (u, a, f, l, h) { var p, d, v, m = [], y = 0, w = "0", x = u && [], T = h != null, N = c, C = u || s && i.find.TAG("*", h && a.parentNode || a), k = b += N == null ? 1 : Math.E; T && (c = a !== g && a, n = o.el); for (; (p = C[w]) != null; w++) { if (s && p) { for (d = 0; v = e[d]; d++)if (v(p, a, f)) { l.push(p); break } T && (b = k, n = ++o.el) } r && ((p = !v && p) && y--, u && x.push(p)) } y += w; if (r && w !== y) { for (d = 0; v = t[d]; d++)v(x, m, a, f); if (u) { if (y > 0) while (w--) !x[w] && !m[w] && (m[w] = E.call(l)); m = lt(m) } S.apply(l, m), T && !u && m.length > 0 && y + t.length > 1 && nt.uniqueSort(l) } return T && (b = k, c = N), x }; return o.el = 0, r ? N(o) : o } function dt(e, t, n) { var r = 0, i = t.length; for (; r < i; r++)nt(e, t[r], n); return n } function vt(e, t, n, r, s) { var o, u, f, l, c, h = ut(e), p = h.length; if (!r && h.length === 1) { u = h[0] = h[0].slice(0); if (u.length > 2 && (f = u[0]).type === "ID" && t.nodeType === 9 && !s && i.relative[u[1].type]) { t = i.find.ID(f.matches[0].replace($, ""), t, s)[0]; if (!t) return n; e = e.slice(u.shift().length) } for (o = J.POS.test(e) ? -1 : u.length - 1; o >= 0; o--) { f = u[o]; if (i.relative[l = f.type]) break; if (c = i.find[l]) if (r = c(f.matches[0].replace($, ""), z.test(u[0].type) && t.parentNode || t, s)) { u.splice(o, 1), e = r.length && u.join(""); if (!e) return S.apply(n, x.call(r, 0)), n; break } } } return a(e, h)(r, t, s, n, z.test(e)), n } function mt() { } var n, r, i, s, o, u, a, f, l, c, h = !0, p = "undefined", d = ("sizcache" + Math.random()).replace(".", ""), m = String, g = e.document, y = g.documentElement, b = 0, w = 0, E = [].pop, S = [].push, x = [].slice, T = [].indexOf || function (e) { var t = 0, n = this.length; for (; t < n; t++)if (this[t] === e) return t; return -1 }, N = function (e, t) { return e[d] = t == null || t, e }, C = function () { var e = {}, t = []; return N(function (n, r) { return t.push(n) > i.cacheLength && delete e[t.shift()], e[n + " "] = r }, e) }, k = C(), L = C(), A = C(), O = "[\\x20\\t\\r\\n\\f]", M = "(?:\\\\.|[-\\w]|[^\\x00-\\xa0])+", _ = M.replace("w", "w#"), D = "([*^$|!~]?=)", P = "\\[" + O + "*(" + M + ")" + O + "*(?:" + D + O + "*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|(" + _ + ")|)|)" + O + "*\\]", H = ":(" + M + ")(?:\\((?:(['\"])((?:\\\\.|[^\\\\])*?)\\2|([^()[\\]]*|(?:(?:" + P + ")|[^:]|\\\\.)*|.*))\\)|)", B = ":(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + O + "*((?:-\\d)?\\d*)" + O + "*\\)|)(?=[^-]|$)", j = new RegExp("^" + O + "+|((?:^|[^\\\\])(?:\\\\.)*)" + O + "+$", "g"), F = new RegExp("^" + O + "*," + O + "*"), I = new RegExp("^" + O + "*([\\x20\\t\\r\\n\\f>+~])" + O + "*"), q = new RegExp(H), R = /^(?:#([\w\-]+)|(\w+)|\.([\w\-]+))$/, U = /^:not/, z = /[\x20\t\r\n\f]*[+~]/, W = /:not\($/, X = /h\d/i, V = /input|select|textarea|button/i, $ = /\\(?!\\)/g, J = { ID: new RegExp("^#(" + M + ")"), CLASS: new RegExp("^\\.(" + M + ")"), NAME: new RegExp("^\\[name=['\"]?(" + M + ")['\"]?\\]"), TAG: new RegExp("^(" + M.replace("w", "w*") + ")"), ATTR: new RegExp("^" + P), PSEUDO: new RegExp("^" + H), POS: new RegExp(B, "i"), CHILD: new RegExp("^:(only|nth|first|last)-child(?:\\(" + O + "*(even|odd|(([+-]|)(\\d*)n|)" + O + "*(?:([+-]|)" + O + "*(\\d+)|))" + O + "*\\)|)", "i"), needsContext: new RegExp("^" + O + "*[>+~]|" + B, "i") }, K = function (e) { var t = g.createElement("div"); try { return e(t) } catch (n) { return !1 } finally { t = null } }, Q = K(function (e) { return e.appendChild(g.createComment("")), !e.getElementsByTagName("*").length }), G = K(function (e) { return e.innerHTML = "<a href='#'></a>", e.firstChild && typeof e.firstChild.getAttribute !== p && e.firstChild.getAttribute("href") === "#" }), Y = K(function (e) { e.innerHTML = "<select></select>"; var t = typeof e.lastChild.getAttribute("multiple"); return t !== "boolean" && t !== "string" }), Z = K(function (e) { return e.innerHTML = "<div class='hidden e'></div><div class='hidden'></div>", !e.getElementsByClassName || !e.getElementsByClassName("e").length ? !1 : (e.lastChild.className = "e", e.getElementsByClassName("e").length === 2) }), et = K(function (e) { e.id = d + 0, e.innerHTML = "<a name='" + d + "'></a><div name='" + d + "'></div>", y.insertBefore(e, y.firstChild); var t = g.getElementsByName && g.getElementsByName(d).length === 2 + g.getElementsByName(d + 0).length; return r = !g.getElementById(d), y.removeChild(e), t }); try { x.call(y.childNodes, 0)[0].nodeType } catch (tt) { x = function (e) { var t, n = []; for (; t = this[e]; e++)n.push(t); return n } } nt.matches = function (e, t) { return nt(e, null, null, t) }, nt.matchesSelector = function (e, t) { return nt(t, null, null, [e]).length > 0 }, s = nt.getText = function (e) { var t, n = "", r = 0, i = e.nodeType; if (i) { if (i === 1 || i === 9 || i === 11) { if (typeof e.textContent == "string") return e.textContent; for (e = e.firstChild; e; e = e.nextSibling)n += s(e) } else if (i === 3 || i === 4) return e.nodeValue } else for (; t = e[r]; r++)n += s(t); return n }, o = nt.isXML = function (e) { var t = e && (e.ownerDocument || e).documentElement; return t ? t.nodeName !== "HTML" : !1 }, u = nt.contains = y.contains ? function (e, t) { var n = e.nodeType === 9 ? e.documentElement : e, r = t && t.parentNode; return e === r || !!(r && r.nodeType === 1 && n.contains && n.contains(r)) } : y.compareDocumentPosition ? function (e, t) { return t && !!(e.compareDocumentPosition(t) & 16) } : function (e, t) { while (t = t.parentNode) if (t === e) return !0; return !1 }, nt.attr = function (e, t) { var n, r = o(e); return r || (t = t.toLowerCase()), (n = i.attrHandle[t]) ? n(e) : r || Y ? e.getAttribute(t) : (n = e.getAttributeNode(t), n ? typeof e[t] == "boolean" ? e[t] ? t : null : n.specified ? n.value : null : null) }, i = nt.selectors = { cacheLength: 50, createPseudo: N, match: J, attrHandle: G ? {} : { href: function (e) { return e.getAttribute("href", 2) }, type: function (e) { return e.getAttribute("type") } }, find: { ID: r ? function (e, t, n) { if (typeof t.getElementById !== p && !n) { var r = t.getElementById(e); return r && r.parentNode ? [r] : [] } } : function (e, n, r) { if (typeof n.getElementById !== p && !r) { var i = n.getElementById(e); return i ? i.id === e || typeof i.getAttributeNode !== p && i.getAttributeNode("id").value === e ? [i] : t : [] } }, TAG: Q ? function (e, t) { if (typeof t.getElementsByTagName !== p) return t.getElementsByTagName(e) } : function (e, t) { var n = t.getElementsByTagName(e); if (e === "*") { var r, i = [], s = 0; for (; r = n[s]; s++)r.nodeType === 1 && i.push(r); return i } return n }, NAME: et && function (e, t) { if (typeof t.getElementsByName !== p) return t.getElementsByName(name) }, CLASS: Z && function (e, t, n) { if (typeof t.getElementsByClassName !== p && !n) return t.getElementsByClassName(e) } }, relative: { ">": { dir: "parentNode", first: !0 }, " ": { dir: "parentNode" }, "+": { dir: "previousSibling", first: !0 }, "~": { dir: "previousSibling" } }, preFilter: { ATTR: function (e) { return e[1] = e[1].replace($, ""), e[3] = (e[4] || e[5] || "").replace($, ""), e[2] === "~=" && (e[3] = " " + e[3] + " "), e.slice(0, 4) }, CHILD: function (e) { return e[1] = e[1].toLowerCase(), e[1] === "nth" ? (e[2] || nt.error(e[0]), e[3] = +(e[3] ? e[4] + (e[5] || 1) : 2 * (e[2] === "even" || e[2] === "odd")), e[4] = +(e[6] + e[7] || e[2] === "odd")) : e[2] && nt.error(e[0]), e }, PSEUDO: function (e) { var t, n; if (J.CHILD.test(e[0])) return null; if (e[3]) e[2] = e[3]; else if (t = e[4]) q.test(t) && (n = ut(t, !0)) && (n = t.indexOf(")", t.length - n) - t.length) && (t = t.slice(0, n), e[0] = e[0].slice(0, n)), e[2] = t; return e.slice(0, 3) } }, filter: { ID: r ? function (e) { return e = e.replace($, ""), function (t) { return t.getAttribute("id") === e } } : function (e) { return e = e.replace($, ""), function (t) { var n = typeof t.getAttributeNode !== p && t.getAttributeNode("id"); return n && n.value === e } }, TAG: function (e) { return e === "*" ? function () { return !0 } : (e = e.replace($, "").toLowerCase(), function (t) { return t.nodeName && t.nodeName.toLowerCase() === e }) }, CLASS: function (e) { var t = k[d][e + " "]; return t || (t = new RegExp("(^|" + O + ")" + e + "(" + O + "|$)")) && k(e, function (e) { return t.test(e.className || typeof e.getAttribute !== p && e.getAttribute("class") || "") }) }, ATTR: function (e, t, n) { return function (r, i) { var s = nt.attr(r, e); return s == null ? t === "!=" : t ? (s += "", t === "=" ? s === n : t === "!=" ? s !== n : t === "^=" ? n && s.indexOf(n) === 0 : t === "*=" ? n && s.indexOf(n) > -1 : t === "$=" ? n && s.substr(s.length - n.length) === n : t === "~=" ? (" " + s + " ").indexOf(n) > -1 : t === "|=" ? s === n || s.substr(0, n.length + 1) === n + "-" : !1) : !0 } }, CHILD: function (e, t, n, r) { return e === "nth" ? function (e) { var t, i, s = e.parentNode; if (n === 1 && r === 0) return !0; if (s) { i = 0; for (t = s.firstChild; t; t = t.nextSibling)if (t.nodeType === 1) { i++; if (e === t) break } } return i -= r, i === n || i % n === 0 && i / n >= 0 } : function (t) { var n = t; switch (e) { case "only": case "first": while (n = n.previousSibling) if (n.nodeType === 1) return !1; if (e === "first") return !0; n = t; case "last": while (n = n.nextSibling) if (n.nodeType === 1) return !1; return !0 } } }, PSEUDO: function (e, t) { var n, r = i.pseudos[e] || i.setFilters[e.toLowerCase()] || nt.error("unsupported pseudo: " + e); return r[d] ? r(t) : r.length > 1 ? (n = [e, e, "", t], i.setFilters.hasOwnProperty(e.toLowerCase()) ? N(function (e, n) { var i, s = r(e, t), o = s.length; while (o--) i = T.call(e, s[o]), e[i] = !(n[i] = s[o]) }) : function (e) { return r(e, 0, n) }) : r } }, pseudos: { not: N(function (e) { var t = [], n = [], r = a(e.replace(j, "$1")); return r[d] ? N(function (e, t, n, i) { var s, o = r(e, null, i, []), u = e.length; while (u--) if (s = o[u]) e[u] = !(t[u] = s) }) : function (e, i, s) { return t[0] = e, r(t, null, s, n), !n.pop() } }), has: N(function (e) { return function (t) { return nt(e, t).length > 0 } }), contains: N(function (e) { return function (t) { return (t.textContent || t.innerText || s(t)).indexOf(e) > -1 } }), enabled: function (e) { return e.disabled === !1 }, disabled: function (e) { return e.disabled === !0 }, checked: function (e) { var t = e.nodeName.toLowerCase(); return t === "input" && !!e.checked || t === "option" && !!e.selected }, selected: function (e) { return e.parentNode && e.parentNode.selectedIndex, e.selected === !0 }, parent: function (e) { return !i.pseudos.empty(e) }, empty: function (e) { var t; e = e.firstChild; while (e) { if (e.nodeName > "@" || (t = e.nodeType) === 3 || t === 4) return !1; e = e.nextSibling } return !0 }, header: function (e) { return X.test(e.nodeName) }, text: function (e) { var t, n; return e.nodeName.toLowerCase() === "input" && (t = e.type) === "text" && ((n = e.getAttribute("type")) == null || n.toLowerCase() === t) }, radio: rt("radio"), checkbox: rt("checkbox"), file: rt("file"), password: rt("password"), image: rt("image"), submit: it("submit"), reset: it("reset"), button: function (e) { var t = e.nodeName.toLowerCase(); return t === "input" && e.type === "button" || t === "button" }, input: function (e) { return V.test(e.nodeName) }, focus: function (e) { var t = e.ownerDocument; return e === t.activeElement && (!t.hasFocus || t.hasFocus()) && !!(e.type || e.href || ~e.tabIndex) }, active: function (e) { return e === e.ownerDocument.activeElement }, first: st(function () { return [0] }), last: st(function (e, t) { return [t - 1] }), eq: st(function (e, t, n) { return [n < 0 ? n + t : n] }), even: st(function (e, t) { for (var n = 0; n < t; n += 2)e.push(n); return e }), odd: st(function (e, t) { for (var n = 1; n < t; n += 2)e.push(n); return e }), lt: st(function (e, t, n) { for (var r = n < 0 ? n + t : n; --r >= 0;)e.push(r); return e }), gt: st(function (e, t, n) { for (var r = n < 0 ? n + t : n; ++r < t;)e.push(r); return e }) } }, f = y.compareDocumentPosition ? function (e, t) { return e === t ? (l = !0, 0) : (!e.compareDocumentPosition || !t.compareDocumentPosition ? e.compareDocumentPosition : e.compareDocumentPosition(t) & 4) ? -1 : 1 } : function (e, t) { if (e === t) return l = !0, 0; if (e.sourceIndex && t.sourceIndex) return e.sourceIndex - t.sourceIndex; var n, r, i = [], s = [], o = e.parentNode, u = t.parentNode, a = o; if (o === u) return ot(e, t); if (!o) return -1; if (!u) return 1; while (a) i.unshift(a), a = a.parentNode; a = u; while (a) s.unshift(a), a = a.parentNode; n = i.length, r = s.length; for (var f = 0; f < n && f < r; f++)if (i[f] !== s[f]) return ot(i[f], s[f]); return f === n ? ot(e, s[f], -1) : ot(i[f], t, 1) }, [0, 0].sort(f), h = !l, nt.uniqueSort = function (e) { var t, n = [], r = 1, i = 0; l = h, e.sort(f); if (l) { for (; t = e[r]; r++)t === e[r - 1] && (i = n.push(r)); while (i--) e.splice(n[i], 1) } return e }, nt.error = function (e) { throw new Error("Syntax error, unrecognized expression: " + e) }, a = nt.compile = function (e, t) { var n, r = [], i = [], s = A[d][e + " "]; if (!s) { t || (t = ut(e)), n = t.length; while (n--) s = ht(t[n]), s[d] ? r.push(s) : i.push(s); s = A(e, pt(i, r)) } return s }, g.querySelectorAll && function () { var e, t = vt, n = /'|\\/g, r = /\=[\x20\t\r\n\f]*([^'"\]]*)[\x20\t\r\n\f]*\]/g, i = [":focus"], s = [":active"], u = y.matchesSelector || y.mozMatchesSelector || y.webkitMatchesSelector || y.oMatchesSelector || y.msMatchesSelector; K(function (e) { e.innerHTML = "<select><option selected=''></option></select>", e.querySelectorAll("[selected]").length || i.push("\\[" + O + "*(?:checked|disabled|ismap|multiple|readonly|selected|value)"), e.querySelectorAll(":checked").length || i.push(":checked") }), K(function (e) { e.innerHTML = "<p test=''></p>", e.querySelectorAll("[test^='']").length && i.push("[*^$]=" + O + "*(?:\"\"|'')"), e.innerHTML = "<input type='hidden'/>", e.querySelectorAll(":enabled").length || i.push(":enabled", ":disabled") }), i = new RegExp(i.join("|")), vt = function (e, r, s, o, u) { if (!o && !u && !i.test(e)) { var a, f, l = !0, c = d, h = r, p = r.nodeType === 9 && e; if (r.nodeType === 1 && r.nodeName.toLowerCase() !== "object") { a = ut(e), (l = r.getAttribute("id")) ? c = l.replace(n, "\\$&") : r.setAttribute("id", c), c = "[id='" + c + "'] ", f = a.length; while (f--) a[f] = c + a[f].join(""); h = z.test(e) && r.parentNode || r, p = a.join(",") } if (p) try { return S.apply(s, x.call(h.querySelectorAll(p), 0)), s } catch (v) { } finally { l || r.removeAttribute("id") } } return t(e, r, s, o, u) }, u && (K(function (t) { e = u.call(t, "div"); try { u.call(t, "[test!='']:sizzle"), s.push("!=", H) } catch (n) { } }), s = new RegExp(s.join("|")), nt.matchesSelector = function (t, n) { n = n.replace(r, "='$1']"); if (!o(t) && !s.test(n) && !i.test(n)) try { var a = u.call(t, n); if (a || e || t.document && t.document.nodeType !== 11) return a } catch (f) { } return nt(n, null, null, [t]).length > 0 }) }(), i.pseudos.nth = i.pseudos.eq, i.filters = mt.prototype = i.pseudos, i.setFilters = new mt, nt.attr = v.attr, v.find = nt, v.expr = nt.selectors, v.expr[":"] = v.expr.pseudos, v.unique = nt.uniqueSort, v.text = nt.getText, v.isXMLDoc = nt.isXML, v.contains = nt.contains }(e); var nt = /Until$/, rt = /^(?:parents|prev(?:Until|All))/, it = /^.[^:#\[\.,]*$/, st = v.expr.match.needsContext, ot = { children: !0, contents: !0, next: !0, prev: !0 }; v.fn.extend({ find: function (e) { var t, n, r, i, s, o, u = this; if (typeof e != "string") return v(e).filter(function () { for (t = 0, n = u.length; t < n; t++)if (v.contains(u[t], this)) return !0 }); o = this.pushStack("", "find", e); for (t = 0, n = this.length; t < n; t++) { r = o.length, v.find(e, this[t], o); if (t > 0) for (i = r; i < o.length; i++)for (s = 0; s < r; s++)if (o[s] === o[i]) { o.splice(i--, 1); break } } return o }, has: function (e) { var t, n = v(e, this), r = n.length; return this.filter(function () { for (t = 0; t < r; t++)if (v.contains(this, n[t])) return !0 }) }, not: function (e) { return this.pushStack(ft(this, e, !1), "not", e) }, filter: function (e) { return this.pushStack(ft(this, e, !0), "filter", e) }, is: function (e) { return !!e && (typeof e == "string" ? st.test(e) ? v(e, this.context).index(this[0]) >= 0 : v.filter(e, this).length > 0 : this.filter(e).length > 0) }, closest: function (e, t) { var n, r = 0, i = this.length, s = [], o = st.test(e) || typeof e != "string" ? v(e, t || this.context) : 0; for (; r < i; r++) { n = this[r]; while (n && n.ownerDocument && n !== t && n.nodeType !== 11) { if (o ? o.index(n) > -1 : v.find.matchesSelector(n, e)) { s.push(n); break } n = n.parentNode } } return s = s.length > 1 ? v.unique(s) : s, this.pushStack(s, "closest", e) }, index: function (e) { return e ? typeof e == "string" ? v.inArray(this[0], v(e)) : v.inArray(e.jquery ? e[0] : e, this) : this[0] && this[0].parentNode ? this.prevAll().length : -1 }, add: function (e, t) { var n = typeof e == "string" ? v(e, t) : v.makeArray(e && e.nodeType ? [e] : e), r = v.merge(this.get(), n); return this.pushStack(ut(n[0]) || ut(r[0]) ? r : v.unique(r)) }, addBack: function (e) { return this.add(e == null ? this.prevObject : this.prevObject.filter(e)) } }), v.fn.andSelf = v.fn.addBack, v.each({ parent: function (e) { var t = e.parentNode; return t && t.nodeType !== 11 ? t : null }, parents: function (e) { return v.dir(e, "parentNode") }, parentsUntil: function (e, t, n) { return v.dir(e, "parentNode", n) }, next: function (e) { return at(e, "nextSibling") }, prev: function (e) { return at(e, "previousSibling") }, nextAll: function (e) { return v.dir(e, "nextSibling") }, prevAll: function (e) { return v.dir(e, "previousSibling") }, nextUntil: function (e, t, n) { return v.dir(e, "nextSibling", n) }, prevUntil: function (e, t, n) { return v.dir(e, "previousSibling", n) }, siblings: function (e) { return v.sibling((e.parentNode || {}).firstChild, e) }, children: function (e) { return v.sibling(e.firstChild) }, contents: function (e) { return v.nodeName(e, "iframe") ? e.contentDocument || e.contentWindow.document : v.merge([], e.childNodes) } }, function (e, t) { v.fn[e] = function (n, r) { var i = v.map(this, t, n); return nt.test(e) || (r = n), r && typeof r == "string" && (i = v.filter(r, i)), i = this.length > 1 && !ot[e] ? v.unique(i) : i, this.length > 1 && rt.test(e) && (i = i.reverse()), this.pushStack(i, e, l.call(arguments).join(",")) } }), v.extend({ filter: function (e, t, n) { return n && (e = ":not(" + e + ")"), t.length === 1 ? v.find.matchesSelector(t[0], e) ? [t[0]] : [] : v.find.matches(e, t) }, dir: function (e, n, r) { var i = [], s = e[n]; while (s && s.nodeType !== 9 && (r === t || s.nodeType !== 1 || !v(s).is(r))) s.nodeType === 1 && i.push(s), s = s[n]; return i }, sibling: function (e, t) { var n = []; for (; e; e = e.nextSibling)e.nodeType === 1 && e !== t && n.push(e); return n } }); var ct = "abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video", ht = / jQuery\d+="(?:null|\d+)"/g, pt = /^\s+/, dt = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi, vt = /<([\w:]+)/, mt = /<tbody/i, gt = /<|&#?\w+;/, yt = /<(?:script|style|link)/i, bt = /<(?:script|object|embed|option|style)/i, wt = new RegExp("<(?:" + ct + ")[\\s/>]", "i"), Et = /^(?:checkbox|radio)$/, St = /checked\s*(?:[^=]|=\s*.checked.)/i, xt = /\/(java|ecma)script/i, Tt = /^\s*<!(?:\[CDATA\[|\-\-)|[\]\-]{2}>\s*$/g, Nt = { option: [1, "<select multiple='multiple'>", "</select>"], legend: [1, "<fieldset>", "</fieldset>"], thead: [1, "<table>", "</table>"], tr: [2, "<table><tbody>", "</tbody></table>"], td: [3, "<table><tbody><tr>", "</tr></tbody></table>"], col: [2, "<table><tbody></tbody><colgroup>", "</colgroup></table>"], area: [1, "<map>", "</map>"], _default: [0, "", ""] }, Ct = lt(i), kt = Ct.appendChild(i.createElement("div")); Nt.optgroup = Nt.option, Nt.tbody = Nt.tfoot = Nt.colgroup = Nt.caption = Nt.thead, Nt.th = Nt.td, v.support.htmlSerialize || (Nt._default = [1, "X<div>", "</div>"]), v.fn.extend({ text: function (e) { return v.access(this, function (e) { return e === t ? v.text(this) : this.empty().append((this[0] && this[0].ownerDocument || i).createTextNode(e)) }, null, e, arguments.length) }, wrapAll: function (e) { if (v.isFunction(e)) return this.each(function (t) { v(this).wrapAll(e.call(this, t)) }); if (this[0]) { var t = v(e, this[0].ownerDocument).eq(0).clone(!0); this[0].parentNode && t.insertBefore(this[0]), t.map(function () { var e = this; while (e.firstChild && e.firstChild.nodeType === 1) e = e.firstChild; return e }).append(this) } return this }, wrapInner: function (e) { return v.isFunction(e) ? this.each(function (t) { v(this).wrapInner(e.call(this, t)) }) : this.each(function () { var t = v(this), n = t.contents(); n.length ? n.wrapAll(e) : t.append(e) }) }, wrap: function (e) { var t = v.isFunction(e); return this.each(function (n) { v(this).wrapAll(t ? e.call(this, n) : e) }) }, unwrap: function () { return this.parent().each(function () { v.nodeName(this, "body") || v(this).replaceWith(this.childNodes) }).end() }, append: function () { return this.domManip(arguments, !0, function (e) { (this.nodeType === 1 || this.nodeType === 11) && this.appendChild(e) }) }, prepend: function () { return this.domManip(arguments, !0, function (e) { (this.nodeType === 1 || this.nodeType === 11) && this.insertBefore(e, this.firstChild) }) }, before: function () { if (!ut(this[0])) return this.domManip(arguments, !1, function (e) { this.parentNode.insertBefore(e, this) }); if (arguments.length) { var e = v.clean(arguments); return this.pushStack(v.merge(e, this), "before", this.selector) } }, after: function () { if (!ut(this[0])) return this.domManip(arguments, !1, function (e) { this.parentNode.insertBefore(e, this.nextSibling) }); if (arguments.length) { var e = v.clean(arguments); return this.pushStack(v.merge(this, e), "after", this.selector) } }, remove: function (e, t) { var n, r = 0; for (; (n = this[r]) != null; r++)if (!e || v.filter(e, [n]).length) !t && n.nodeType === 1 && (v.cleanData(n.getElementsByTagName("*")), v.cleanData([n])), n.parentNode && n.parentNode.removeChild(n); return this }, empty: function () { var e, t = 0; for (; (e = this[t]) != null; t++) { e.nodeType === 1 && v.cleanData(e.getElementsByTagName("*")); while (e.firstChild) e.removeChild(e.firstChild) } return this }, clone: function (e, t) { return e = e == null ? !1 : e, t = t == null ? e : t, this.map(function () { return v.clone(this, e, t) }) }, html: function (e) { return v.access(this, function (e) { var n = this[0] || {}, r = 0, i = this.length; if (e === t) return n.nodeType === 1 ? n.innerHTML.replace(ht, "") : t; if (typeof e == "string" && !yt.test(e) && (v.support.htmlSerialize || !wt.test(e)) && (v.support.leadingWhitespace || !pt.test(e)) && !Nt[(vt.exec(e) || ["", ""])[1].toLowerCase()]) { e = e.replace(dt, "<$1></$2>"); try { for (; r < i; r++)n = this[r] || {}, n.nodeType === 1 && (v.cleanData(n.getElementsByTagName("*")), n.innerHTML = e); n = 0 } catch (s) { } } n && this.empty().append(e) }, null, e, arguments.length) }, replaceWith: function (e) { return ut(this[0]) ? this.length ? this.pushStack(v(v.isFunction(e) ? e() : e), "replaceWith", e) : this : v.isFunction(e) ? this.each(function (t) { var n = v(this), r = n.html(); n.replaceWith(e.call(this, t, r)) }) : (typeof e != "string" && (e = v(e).detach()), this.each(function () { var t = this.nextSibling, n = this.parentNode; v(this).remove(), t ? v(t).before(e) : v(n).append(e) })) }, detach: function (e) { return this.remove(e, !0) }, domManip: function (e, n, r) { e = [].concat.apply([], e); var i, s, o, u, a = 0, f = e[0], l = [], c = this.length; if (!v.support.checkClone && c > 1 && typeof f == "string" && St.test(f)) return this.each(function () { v(this).domManip(e, n, r) }); if (v.isFunction(f)) return this.each(function (i) { var s = v(this); e[0] = f.call(this, i, n ? s.html() : t), s.domManip(e, n, r) }); if (this[0]) { i = v.buildFragment(e, this, l), o = i.fragment, s = o.firstChild, o.childNodes.length === 1 && (o = s); if (s) { n = n && v.nodeName(s, "tr"); for (u = i.cacheable || c - 1; a < c; a++)r.call(n && v.nodeName(this[a], "table") ? Lt(this[a], "tbody") : this[a], a === u ? o : v.clone(o, !0, !0)) } o = s = null, l.length && v.each(l, function (e, t) { t.src ? v.ajax ? v.ajax({ url: t.src, type: "GET", dataType: "script", async: !1, global: !1, "throws": !0 }) : v.error("no ajax") : v.globalEval((t.text || t.textContent || t.innerHTML || "").replace(Tt, "")), t.parentNode && t.parentNode.removeChild(t) }) } return this } }), v.buildFragment = function (e, n, r) { var s, o, u, a = e[0]; return n = n || i, n = !n.nodeType && n[0] || n, n = n.ownerDocument || n, e.length === 1 && typeof a == "string" && a.length < 512 && n === i && a.charAt(0) === "<" && !bt.test(a) && (v.support.checkClone || !St.test(a)) && (v.support.html5Clone || !wt.test(a)) && (o = !0, s = v.fragments[a], u = s !== t), s || (s = n.createDocumentFragment(), v.clean(e, n, s, r), o && (v.fragments[a] = u && s)), { fragment: s, cacheable: o } }, v.fragments = {}, v.each({ appendTo: "append", prependTo: "prepend", insertBefore: "before", insertAfter: "after", replaceAll: "replaceWith" }, function (e, t) { v.fn[e] = function (n) { var r, i = 0, s = [], o = v(n), u = o.length, a = this.length === 1 && this[0].parentNode; if ((a == null || a && a.nodeType === 11 && a.childNodes.length === 1) && u === 1) return o[t](this[0]), this; for (; i < u; i++)r = (i > 0 ? this.clone(!0) : this).get(), v(o[i])[t](r), s = s.concat(r); return this.pushStack(s, e, o.selector) } }), v.extend({ clone: function (e, t, n) { var r, i, s, o; v.support.html5Clone || v.isXMLDoc(e) || !wt.test("<" + e.nodeName + ">") ? o = e.cloneNode(!0) : (kt.innerHTML = e.outerHTML, kt.removeChild(o = kt.firstChild)); if ((!v.support.noCloneEvent || !v.support.noCloneChecked) && (e.nodeType === 1 || e.nodeType === 11) && !v.isXMLDoc(e)) { Ot(e, o), r = Mt(e), i = Mt(o); for (s = 0; r[s]; ++s)i[s] && Ot(r[s], i[s]) } if (t) { At(e, o); if (n) { r = Mt(e), i = Mt(o); for (s = 0; r[s]; ++s)At(r[s], i[s]) } } return r = i = null, o }, clean: function (e, t, n, r) { var s, o, u, a, f, l, c, h, p, d, m, g, y = t === i && Ct, b = []; if (!t || typeof t.createDocumentFragment == "undefined") t = i; for (s = 0; (u = e[s]) != null; s++) { typeof u == "number" && (u += ""); if (!u) continue; if (typeof u == "string") if (!gt.test(u)) u = t.createTextNode(u); else { y = y || lt(t), c = t.createElement("div"), y.appendChild(c), u = u.replace(dt, "<$1></$2>"), a = (vt.exec(u) || ["", ""])[1].toLowerCase(), f = Nt[a] || Nt._default, l = f[0], c.innerHTML = f[1] + u + f[2]; while (l--) c = c.lastChild; if (!v.support.tbody) { h = mt.test(u), p = a === "table" && !h ? c.firstChild && c.firstChild.childNodes : f[1] === "<table>" && !h ? c.childNodes : []; for (o = p.length - 1; o >= 0; --o)v.nodeName(p[o], "tbody") && !p[o].childNodes.length && p[o].parentNode.removeChild(p[o]) } !v.support.leadingWhitespace && pt.test(u) && c.insertBefore(t.createTextNode(pt.exec(u)[0]), c.firstChild), u = c.childNodes, c.parentNode.removeChild(c) } u.nodeType ? b.push(u) : v.merge(b, u) } c && (u = c = y = null); if (!v.support.appendChecked) for (s = 0; (u = b[s]) != null; s++)v.nodeName(u, "input") ? _t(u) : typeof u.getElementsByTagName != "undefined" && v.grep(u.getElementsByTagName("input"), _t); if (n) { m = function (e) { if (!e.type || xt.test(e.type)) return r ? r.push(e.parentNode ? e.parentNode.removeChild(e) : e) : n.appendChild(e) }; for (s = 0; (u = b[s]) != null; s++)if (!v.nodeName(u, "script") || !m(u)) n.appendChild(u), typeof u.getElementsByTagName != "undefined" && (g = v.grep(v.merge([], u.getElementsByTagName("script")), m), b.splice.apply(b, [s + 1, 0].concat(g)), s += g.length) } return b }, cleanData: function (e, t) { var n, r, i, s, o = 0, u = v.expando, a = v.cache, f = v.support.deleteExpando, l = v.event.special; for (; (i = e[o]) != null; o++)if (t || v.acceptData(i)) { r = i[u], n = r && a[r]; if (n) { if (n.events) for (s in n.events) l[s] ? v.event.remove(i, s) : v.removeEvent(i, s, n.handle); a[r] && (delete a[r], f ? delete i[u] : i.removeAttribute ? i.removeAttribute(u) : i[u] = null, v.deletedIds.push(r)) } } } }), function () { var e, t; v.uaMatch = function (e) { e = e.toLowerCase(); var t = /(chrome)[ \/]([\w.]+)/.exec(e) || /(webkit)[ \/]([\w.]+)/.exec(e) || /(opera)(?:.*version|)[ \/]([\w.]+)/.exec(e) || /(msie) ([\w.]+)/.exec(e) || e.indexOf("compatible") < 0 && /(mozilla)(?:.*? rv:([\w.]+)|)/.exec(e) || []; return { browser: t[1] || "", version: t[2] || "0" } }, e = v.uaMatch(o.userAgent), t = {}, e.browser && (t[e.browser] = !0, t.version = e.version), t.chrome ? t.webkit = !0 : t.webkit && (t.safari = !0), v.browser = t, v.sub = function () { function e(t, n) { return new e.fn.init(t, n) } v.extend(!0, e, this), e.superclass = this, e.fn = e.prototype = this(), e.fn.constructor = e, e.sub = this.sub, e.fn.init = function (r, i) { return i && i instanceof v && !(i instanceof e) && (i = e(i)), v.fn.init.call(this, r, i, t) }, e.fn.init.prototype = e.fn; var t = e(i); return e } }(); var Dt, Pt, Ht, Bt = /alpha\([^)]*\)/i, jt = /opacity=([^)]*)/, Ft = /^(top|right|bottom|left)$/, It = /^(none|table(?!-c[ea]).+)/, qt = /^margin/, Rt = new RegExp("^(" + m + ")(.*)$", "i"), Ut = new RegExp("^(" + m + ")(?!px)[a-z%]+$", "i"), zt = new RegExp("^([-+])=(" + m + ")", "i"), Wt = { BODY: "block" }, Xt = { position: "absolute", visibility: "hidden", display: "block" }, Vt = { letterSpacing: 0, fontWeight: 400 }, $t = ["Top", "Right", "Bottom", "Left"], Jt = ["Webkit", "O", "Moz", "ms"], Kt = v.fn.toggle; v.fn.extend({ css: function (e, n) { return v.access(this, function (e, n, r) { return r !== t ? v.style(e, n, r) : v.css(e, n) }, e, n, arguments.length > 1) }, show: function () { return Yt(this, !0) }, hide: function () { return Yt(this) }, toggle: function (e, t) { var n = typeof e == "boolean"; return v.isFunction(e) && v.isFunction(t) ? Kt.apply(this, arguments) : this.each(function () { (n ? e : Gt(this)) ? v(this).show() : v(this).hide() }) } }), v.extend({ cssHooks: { opacity: { get: function (e, t) { if (t) { var n = Dt(e, "opacity"); return n === "" ? "1" : n } } } }, cssNumber: { fillOpacity: !0, fontWeight: !0, lineHeight: !0, opacity: !0, orphans: !0, widows: !0, zIndex: !0, zoom: !0 }, cssProps: { "float": v.support.cssFloat ? "cssFloat" : "styleFloat" }, style: function (e, n, r, i) { if (!e || e.nodeType === 3 || e.nodeType === 8 || !e.style) return; var s, o, u, a = v.camelCase(n), f = e.style; n = v.cssProps[a] || (v.cssProps[a] = Qt(f, a)), u = v.cssHooks[n] || v.cssHooks[a]; if (r === t) return u && "get" in u && (s = u.get(e, !1, i)) !== t ? s : f[n]; o = typeof r, o === "string" && (s = zt.exec(r)) && (r = (s[1] + 1) * s[2] + parseFloat(v.css(e, n)), o = "number"); if (r == null || o === "number" && isNaN(r)) return; o === "number" && !v.cssNumber[a] && (r += "px"); if (!u || !("set" in u) || (r = u.set(e, r, i)) !== t) try { f[n] = r } catch (l) { } }, css: function (e, n, r, i) { var s, o, u, a = v.camelCase(n); return n = v.cssProps[a] || (v.cssProps[a] = Qt(e.style, a)), u = v.cssHooks[n] || v.cssHooks[a], u && "get" in u && (s = u.get(e, !0, i)), s === t && (s = Dt(e, n)), s === "normal" && n in Vt && (s = Vt[n]), r || i !== t ? (o = parseFloat(s), r || v.isNumeric(o) ? o || 0 : s) : s }, swap: function (e, t, n) { var r, i, s = {}; for (i in t) s[i] = e.style[i], e.style[i] = t[i]; r = n.call(e); for (i in t) e.style[i] = s[i]; return r } }), e.getComputedStyle ? Dt = function (t, n) { var r, i, s, o, u = e.getComputedStyle(t, null), a = t.style; return u && (r = u.getPropertyValue(n) || u[n], r === "" && !v.contains(t.ownerDocument, t) && (r = v.style(t, n)), Ut.test(r) && qt.test(n) && (i = a.width, s = a.minWidth, o = a.maxWidth, a.minWidth = a.maxWidth = a.width = r, r = u.width, a.width = i, a.minWidth = s, a.maxWidth = o)), r } : i.documentElement.currentStyle && (Dt = function (e, t) { var n, r, i = e.currentStyle && e.currentStyle[t], s = e.style; return i == null && s && s[t] && (i = s[t]), Ut.test(i) && !Ft.test(t) && (n = s.left, r = e.runtimeStyle && e.runtimeStyle.left, r && (e.runtimeStyle.left = e.currentStyle.left), s.left = t === "fontSize" ? "1em" : i, i = s.pixelLeft + "px", s.left = n, r && (e.runtimeStyle.left = r)), i === "" ? "auto" : i }), v.each(["height", "width"], function (e, t) { v.cssHooks[t] = { get: function (e, n, r) { if (n) return e.offsetWidth === 0 && It.test(Dt(e, "display")) ? v.swap(e, Xt, function () { return tn(e, t, r) }) : tn(e, t, r) }, set: function (e, n, r) { return Zt(e, n, r ? en(e, t, r, v.support.boxSizing && v.css(e, "boxSizing") === "border-box") : 0) } } }), v.support.opacity || (v.cssHooks.opacity = { get: function (e, t) { return jt.test((t && e.currentStyle ? e.currentStyle.filter : e.style.filter) || "") ? .01 * parseFloat(RegExp.$1) + "" : t ? "1" : "" }, set: function (e, t) { var n = e.style, r = e.currentStyle, i = v.isNumeric(t) ? "alpha(opacity=" + t * 100 + ")" : "", s = r && r.filter || n.filter || ""; n.zoom = 1; if (t >= 1 && v.trim(s.replace(Bt, "")) === "" && n.removeAttribute) { n.removeAttribute("filter"); if (r && !r.filter) return } n.filter = Bt.test(s) ? s.replace(Bt, i) : s + " " + i } }), v(function () { v.support.reliableMarginRight || (v.cssHooks.marginRight = { get: function (e, t) { return v.swap(e, { display: "inline-block" }, function () { if (t) return Dt(e, "marginRight") }) } }), !v.support.pixelPosition && v.fn.position && v.each(["top", "left"], function (e, t) { v.cssHooks[t] = { get: function (e, n) { if (n) { var r = Dt(e, t); return Ut.test(r) ? v(e).position()[t] + "px" : r } } } }) }), v.expr && v.expr.filters && (v.expr.filters.hidden = function (e) { return e.offsetWidth === 0 && e.offsetHeight === 0 || !v.support.reliableHiddenOffsets && (e.style && e.style.display || Dt(e, "display")) === "none" }, v.expr.filters.visible = function (e) { return !v.expr.filters.hidden(e) }), v.each({ margin: "", padding: "", border: "Width" }, function (e, t) { v.cssHooks[e + t] = { expand: function (n) { var r, i = typeof n == "string" ? n.split(" ") : [n], s = {}; for (r = 0; r < 4; r++)s[e + $t[r] + t] = i[r] || i[r - 2] || i[0]; return s } }, qt.test(e) || (v.cssHooks[e + t].set = Zt) }); var rn = /%20/g, sn = /\[\]$/, on = /\r?\n/g, un = /^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i, an = /^(?:select|textarea)/i; v.fn.extend({ serialize: function () { return v.param(this.serializeArray()) }, serializeArray: function () { return this.map(function () { return this.elements ? v.makeArray(this.elements) : this }).filter(function () { return this.name && !this.disabled && (this.checked || an.test(this.nodeName) || un.test(this.type)) }).map(function (e, t) { var n = v(this).val(); return n == null ? null : v.isArray(n) ? v.map(n, function (e, n) { return { name: t.name, value: e.replace(on, "\r\n") } }) : { name: t.name, value: n.replace(on, "\r\n") } }).get() } }), v.param = function (e, n) { var r, i = [], s = function (e, t) { t = v.isFunction(t) ? t() : t == null ? "" : t, i[i.length] = encodeURIComponent(e) + "=" + encodeURIComponent(t) }; n === t && (n = v.ajaxSettings && v.ajaxSettings.traditional); if (v.isArray(e) || e.jquery && !v.isPlainObject(e)) v.each(e, function () { s(this.name, this.value) }); else for (r in e) fn(r, e[r], n, s); return i.join("&").replace(rn, "+") }; var ln, cn, hn = /#.*$/, pn = /^(.*?):[ \t]*([^\r\n]*)\r?$/mg, dn = /^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/, vn = /^(?:GET|HEAD)$/, mn = /^\/\//, gn = /\?/, yn = /<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi, bn = /([?&])_=[^&]*/, wn = /^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+)|)|)/, En = v.fn.load, Sn = {}, xn = {}, Tn = ["*/"] + ["*"]; try { cn = s.href } catch (Nn) { cn = i.createElement("a"), cn.href = "", cn = cn.href } ln = wn.exec(cn.toLowerCase()) || [], v.fn.load = function (e, n, r) { if (typeof e != "string" && En) return En.apply(this, arguments); if (!this.length) return this; var i, s, o, u = this, a = e.indexOf(" "); return a >= 0 && (i = e.slice(a, e.length), e = e.slice(0, a)), v.isFunction(n) ? (r = n, n = t) : n && typeof n == "object" && (s = "POST"), v.ajax({ url: e, type: s, dataType: "html", data: n, complete: function (e, t) { r && u.each(r, o || [e.responseText, t, e]) } }).done(function (e) { o = arguments, u.html(i ? v("<div>").append(e.replace(yn, "")).find(i) : e) }), this }, v.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "), function (e, t) { v.fn[t] = function (e) { return this.on(t, e) } }), v.each(["get", "post"], function (e, n) { v[n] = function (e, r, i, s) { return v.isFunction(r) && (s = s || i, i = r, r = t), v.ajax({ type: n, url: e, data: r, success: i, dataType: s }) } }), v.extend({ getScript: function (e, n) { return v.get(e, t, n, "script") }, getJSON: function (e, t, n) { return v.get(e, t, n, "json") }, ajaxSetup: function (e, t) { return t ? Ln(e, v.ajaxSettings) : (t = e, e = v.ajaxSettings), Ln(e, t), e }, ajaxSettings: { url: cn, isLocal: dn.test(ln[1]), global: !0, type: "GET", contentType: "application/x-www-form-urlencoded; charset=UTF-8", processData: !0, async: !0, accepts: { xml: "application/xml, text/xml", html: "text/html", text: "text/plain", json: "application/json, text/javascript", "*": Tn }, contents: { xml: /xml/, html: /html/, json: /json/ }, responseFields: { xml: "responseXML", text: "responseText" }, converters: { "* text": e.String, "text html": !0, "text json": v.parseJSON, "text xml": v.parseXML }, flatOptions: { context: !0, url: !0 } }, ajaxPrefilter: Cn(Sn), ajaxTransport: Cn(xn), ajax: function (e, n) { function T(e, n, s, a) { var l, y, b, w, S, T = n; if (E === 2) return; E = 2, u && clearTimeout(u), o = t, i = a || "", x.readyState = e > 0 ? 4 : 0, s && (w = An(c, x, s)); if (e >= 200 && e < 300 || e === 304) c.ifModified && (S = x.getResponseHeader("Last-Modified"), S && (v.lastModified[r] = S), S = x.getResponseHeader("Etag"), S && (v.etag[r] = S)), e === 304 ? (T = "notmodified", l = !0) : (l = On(c, w), T = l.state, y = l.data, b = l.error, l = !b); else { b = T; if (!T || e) T = "error", e < 0 && (e = 0) } x.status = e, x.statusText = (n || T) + "", l ? d.resolveWith(h, [y, T, x]) : d.rejectWith(h, [x, T, b]), x.statusCode(g), g = t, f && p.trigger("ajax" + (l ? "Success" : "Error"), [x, c, l ? y : b]), m.fireWith(h, [x, T]), f && (p.trigger("ajaxComplete", [x, c]), --v.active || v.event.trigger("ajaxStop")) } typeof e == "object" && (n = e, e = t), n = n || {}; var r, i, s, o, u, a, f, l, c = v.ajaxSetup({}, n), h = c.context || c, p = h !== c && (h.nodeType || h instanceof v) ? v(h) : v.event, d = v.Deferred(), m = v.Callbacks("once memory"), g = c.statusCode || {}, b = {}, w = {}, E = 0, S = "canceled", x = { readyState: 0, setRequestHeader: function (e, t) { if (!E) { var n = e.toLowerCase(); e = w[n] = w[n] || e, b[e] = t } return this }, getAllResponseHeaders: function () { return E === 2 ? i : null }, getResponseHeader: function (e) { var n; if (E === 2) { if (!s) { s = {}; while (n = pn.exec(i)) s[n[1].toLowerCase()] = n[2] } n = s[e.toLowerCase()] } return n === t ? null : n }, overrideMimeType: function (e) { return E || (c.mimeType = e), this }, abort: function (e) { return e = e || S, o && o.abort(e), T(0, e), this } }; d.promise(x), x.success = x.done, x.error = x.fail, x.complete = m.add, x.statusCode = function (e) { if (e) { var t; if (E < 2) for (t in e) g[t] = [g[t], e[t]]; else t = e[x.status], x.always(t) } return this }, c.url = ((e || c.url) + "").replace(hn, "").replace(mn, ln[1] + "//"), c.dataTypes = v.trim(c.dataType || "*").toLowerCase().split(y), c.crossDomain == null && (a = wn.exec(c.url.toLowerCase()), c.crossDomain = !(!a || a[1] === ln[1] && a[2] === ln[2] && (a[3] || (a[1] === "http:" ? 80 : 443)) == (ln[3] || (ln[1] === "http:" ? 80 : 443)))), c.data && c.processData && typeof c.data != "string" && (c.data = v.param(c.data, c.traditional)), kn(Sn, c, n, x); if (E === 2) return x; f = c.global, c.type = c.type.toUpperCase(), c.hasContent = !vn.test(c.type), f && v.active++ === 0 && v.event.trigger("ajaxStart"); if (!c.hasContent) { c.data && (c.url += (gn.test(c.url) ? "&" : "?") + c.data, delete c.data), r = c.url; if (c.cache === !1) { var N = v.now(), C = c.url.replace(bn, "$1_=" + N); c.url = C + (C === c.url ? (gn.test(c.url) ? "&" : "?") + "_=" + N : "") } } (c.data && c.hasContent && c.contentType !== !1 || n.contentType) && x.setRequestHeader("Content-Type", c.contentType), c.ifModified && (r = r || c.url, v.lastModified[r] && x.setRequestHeader("If-Modified-Since", v.lastModified[r]), v.etag[r] && x.setRequestHeader("If-None-Match", v.etag[r])), x.setRequestHeader("Accept", c.dataTypes[0] && c.accepts[c.dataTypes[0]] ? c.accepts[c.dataTypes[0]] + (c.dataTypes[0] !== "*" ? ", " + Tn + "; q=0.01" : "") : c.accepts["*"]); for (l in c.headers) x.setRequestHeader(l, c.headers[l]); if (!c.beforeSend || c.beforeSend.call(h, x, c) !== !1 && E !== 2) { S = "abort"; for (l in { success: 1, error: 1, complete: 1 }) x[l](c[l]); o = kn(xn, c, n, x); if (!o) T(-1, "No Transport"); else { x.readyState = 1, f && p.trigger("ajaxSend", [x, c]), c.async && c.timeout > 0 && (u = setTimeout(function () { x.abort("timeout") }, c.timeout)); try { E = 1, o.send(b, T) } catch (k) { if (!(E < 2)) throw k; T(-1, k) } } return x } return x.abort() }, active: 0, lastModified: {}, etag: {} }); var Mn = [], _n = /\?/, Dn = /(=)\?(?=&|$)|\?\?/, Pn = v.now(); v.ajaxSetup({ jsonp: "callback", jsonpCallback: function () { var e = Mn.pop() || v.expando + "_" + Pn++; return this[e] = !0, e } }), v.ajaxPrefilter("json jsonp", function (n, r, i) { var s, o, u, a = n.data, f = n.url, l = n.jsonp !== !1, c = l && Dn.test(f), h = l && !c && typeof a == "string" && !(n.contentType || "").indexOf("application/x-www-form-urlencoded") && Dn.test(a); if (n.dataTypes[0] === "jsonp" || c || h) return s = n.jsonpCallback = v.isFunction(n.jsonpCallback) ? n.jsonpCallback() : n.jsonpCallback, o = e[s], c ? n.url = f.replace(Dn, "$1" + s) : h ? n.data = a.replace(Dn, "$1" + s) : l && (n.url += (_n.test(f) ? "&" : "?") + n.jsonp + "=" + s), n.converters["script json"] = function () { return u || v.error(s + " was not called"), u[0] }, n.dataTypes[0] = "json", e[s] = function () { u = arguments }, i.always(function () { e[s] = o, n[s] && (n.jsonpCallback = r.jsonpCallback, Mn.push(s)), u && v.isFunction(o) && o(u[0]), u = o = t }), "script" }), v.ajaxSetup({ accepts: { script: "text/javascript, application/javascript, application/ecmascript, application/x-ecmascript" }, contents: { script: /javascript|ecmascript/ }, converters: { "text script": function (e) { return v.globalEval(e), e } } }), v.ajaxPrefilter("script", function (e) { e.cache === t && (e.cache = !1), e.crossDomain && (e.type = "GET", e.global = !1) }), v.ajaxTransport("script", function (e) { if (e.crossDomain) { var n, r = i.head || i.getElementsByTagName("head")[0] || i.documentElement; return { send: function (s, o) { n = i.createElement("script"), n.async = "async", e.scriptCharset && (n.charset = e.scriptCharset), n.src = e.url, n.onload = n.onreadystatechange = function (e, i) { if (i || !n.readyState || /loaded|complete/.test(n.readyState)) n.onload = n.onreadystatechange = null, r && n.parentNode && r.removeChild(n), n = t, i || o(200, "success") }, r.insertBefore(n, r.firstChild) }, abort: function () { n && n.onload(0, 1) } } } }); var Hn, Bn = e.ActiveXObject ? function () { for (var e in Hn) Hn[e](0, 1) } : !1, jn = 0; v.ajaxSettings.xhr = e.ActiveXObject ? function () { return !this.isLocal && Fn() || In() } : Fn, function (e) { v.extend(v.support, { ajax: !!e, cors: !!e && "withCredentials" in e }) }(v.ajaxSettings.xhr()), v.support.ajax && v.ajaxTransport(function (n) { if (!n.crossDomain || v.support.cors) { var r; return { send: function (i, s) { var o, u, a = n.xhr(); n.username ? a.open(n.type, n.url, n.async, n.username, n.password) : a.open(n.type, n.url, n.async); if (n.xhrFields) for (u in n.xhrFields) a[u] = n.xhrFields[u]; n.mimeType && a.overrideMimeType && a.overrideMimeType(n.mimeType), !n.crossDomain && !i["X-Requested-With"] && (i["X-Requested-With"] = "XMLHttpRequest"); try { for (u in i) a.setRequestHeader(u, i[u]) } catch (f) { } a.send(n.hasContent && n.data || null), r = function (e, i) { var u, f, l, c, h; try { if (r && (i || a.readyState === 4)) { r = t, o && (a.onreadystatechange = v.noop, Bn && delete Hn[o]); if (i) a.readyState !== 4 && a.abort(); else { u = a.status, l = a.getAllResponseHeaders(), c = {}, h = a.responseXML, h && h.documentElement && (c.xml = h); try { c.text = a.responseText } catch (p) { } try { f = a.statusText } catch (p) { f = "" } !u && n.isLocal && !n.crossDomain ? u = c.text ? 200 : 404 : u === 1223 && (u = 204) } } } catch (d) { i || s(-1, d) } c && s(u, f, c, l) }, n.async ? a.readyState === 4 ? setTimeout(r, 0) : (o = ++jn, Bn && (Hn || (Hn = {}, v(e).unload(Bn)), Hn[o] = r), a.onreadystatechange = r) : r() }, abort: function () { r && r(0, 1) } } } }); var qn, Rn, Un = /^(?:toggle|show|hide)$/, zn = new RegExp("^(?:([-+])=|)(" + m + ")([a-z%]*)$", "i"), Wn = /queueHooks$/, Xn = [Gn], Vn = { "*": [function (e, t) { var n, r, i = this.createTween(e, t), s = zn.exec(t), o = i.cur(), u = +o || 0, a = 1, f = 20; if (s) { n = +s[2], r = s[3] || (v.cssNumber[e] ? "" : "px"); if (r !== "px" && u) { u = v.css(i.elem, e, !0) || n || 1; do a = a || ".5", u /= a, v.style(i.elem, e, u + r); while (a !== (a = i.cur() / o) && a !== 1 && --f) } i.unit = r, i.start = u, i.end = s[1] ? u + (s[1] + 1) * n : n } return i }] }; v.Animation = v.extend(Kn, { tweener: function (e, t) { v.isFunction(e) ? (t = e, e = ["*"]) : e = e.split(" "); var n, r = 0, i = e.length; for (; r < i; r++)n = e[r], Vn[n] = Vn[n] || [], Vn[n].unshift(t) }, prefilter: function (e, t) { t ? Xn.unshift(e) : Xn.push(e) } }), v.Tween = Yn, Yn.prototype = { constructor: Yn, init: function (e, t, n, r, i, s) { this.elem = e, this.prop = n, this.easing = i || "swing", this.options = t, this.start = this.now = this.cur(), this.end = r, this.unit = s || (v.cssNumber[n] ? "" : "px") }, cur: function () { var e = Yn.propHooks[this.prop]; return e && e.get ? e.get(this) : Yn.propHooks._default.get(this) }, run: function (e) { var t, n = Yn.propHooks[this.prop]; return this.options.duration ? this.pos = t = v.easing[this.easing](e, this.options.duration * e, 0, 1, this.options.duration) : this.pos = t = e, this.now = (this.end - this.start) * t + this.start, this.options.step && this.options.step.call(this.elem, this.now, this), n && n.set ? n.set(this) : Yn.propHooks._default.set(this), this } }, Yn.prototype.init.prototype = Yn.prototype, Yn.propHooks = { _default: { get: function (e) { var t; return e.elem[e.prop] == null || !!e.elem.style && e.elem.style[e.prop] != null ? (t = v.css(e.elem, e.prop, !1, ""), !t || t === "auto" ? 0 : t) : e.elem[e.prop] }, set: function (e) { v.fx.step[e.prop] ? v.fx.step[e.prop](e) : e.elem.style && (e.elem.style[v.cssProps[e.prop]] != null || v.cssHooks[e.prop]) ? v.style(e.elem, e.prop, e.now + e.unit) : e.elem[e.prop] = e.now } } }, Yn.propHooks.scrollTop = Yn.propHooks.scrollLeft = { set: function (e) { e.elem.nodeType && e.elem.parentNode && (e.elem[e.prop] = e.now) } }, v.each(["toggle", "show", "hide"], function (e, t) { var n = v.fn[t]; v.fn[t] = function (r, i, s) { return r == null || typeof r == "boolean" || !e && v.isFunction(r) && v.isFunction(i) ? n.apply(this, arguments) : this.animate(Zn(t, !0), r, i, s) } }), v.fn.extend({ fadeTo: function (e, t, n, r) { return this.filter(Gt).css("opacity", 0).show().end().animate({ opacity: t }, e, n, r) }, animate: function (e, t, n, r) { var i = v.isEmptyObject(e), s = v.speed(t, n, r), o = function () { var t = Kn(this, v.extend({}, e), s); i && t.stop(!0) }; return i || s.queue === !1 ? this.each(o) : this.queue(s.queue, o) }, stop: function (e, n, r) { var i = function (e) { var t = e.stop; delete e.stop, t(r) }; return typeof e != "string" && (r = n, n = e, e = t), n && e !== !1 && this.queue(e || "fx", []), this.each(function () { var t = !0, n = e != null && e + "queueHooks", s = v.timers, o = v._data(this); if (n) o[n] && o[n].stop && i(o[n]); else for (n in o) o[n] && o[n].stop && Wn.test(n) && i(o[n]); for (n = s.length; n--;)s[n].elem === this && (e == null || s[n].queue === e) && (s[n].anim.stop(r), t = !1, s.splice(n, 1)); (t || !r) && v.dequeue(this, e) }) } }), v.each({ slideDown: Zn("show"), slideUp: Zn("hide"), slideToggle: Zn("toggle"), fadeIn: { opacity: "show" }, fadeOut: { opacity: "hide" }, fadeToggle: { opacity: "toggle" } }, function (e, t) { v.fn[e] = function (e, n, r) { return this.animate(t, e, n, r) } }), v.speed = function (e, t, n) { var r = e && typeof e == "object" ? v.extend({}, e) : { complete: n || !n && t || v.isFunction(e) && e, duration: e, easing: n && t || t && !v.isFunction(t) && t }; r.duration = v.fx.off ? 0 : typeof r.duration == "number" ? r.duration : r.duration in v.fx.speeds ? v.fx.speeds[r.duration] : v.fx.speeds._default; if (r.queue == null || r.queue === !0) r.queue = "fx"; return r.old = r.complete, r.complete = function () { v.isFunction(r.old) && r.old.call(this), r.queue && v.dequeue(this, r.queue) }, r }, v.easing = { linear: function (e) { return e }, swing: function (e) { return .5 - Math.cos(e * Math.PI) / 2 } }, v.timers = [], v.fx = Yn.prototype.init, v.fx.tick = function () { var e, n = v.timers, r = 0; qn = v.now(); for (; r < n.length; r++)e = n[r], !e() && n[r] === e && n.splice(r--, 1); n.length || v.fx.stop(), qn = t }, v.fx.timer = function (e) { e() && v.timers.push(e) && !Rn && (Rn = setInterval(v.fx.tick, v.fx.interval)) }, v.fx.interval = 13, v.fx.stop = function () { clearInterval(Rn), Rn = null }, v.fx.speeds = { slow: 600, fast: 200, _default: 400 }, v.fx.step = {}, v.expr && v.expr.filters && (v.expr.filters.animated = function (e) { return v.grep(v.timers, function (t) { return e === t.elem }).length }); var er = /^(?:body|html)$/i; v.fn.offset = function (e) { if (arguments.length) return e === t ? this : this.each(function (t) { v.offset.setOffset(this, e, t) }); var n, r, i, s, o, u, a, f = { top: 0, left: 0 }, l = this[0], c = l && l.ownerDocument; if (!c) return; return (r = c.body) === l ? v.offset.bodyOffset(l) : (n = c.documentElement, v.contains(n, l) ? (typeof l.getBoundingClientRect != "undefined" && (f = l.getBoundingClientRect()), i = tr(c), s = n.clientTop || r.clientTop || 0, o = n.clientLeft || r.clientLeft || 0, u = i.pageYOffset || n.scrollTop, a = i.pageXOffset || n.scrollLeft, { top: f.top + u - s, left: f.left + a - o }) : f) }, v.offset = { bodyOffset: function (e) { var t = e.offsetTop, n = e.offsetLeft; return v.support.doesNotIncludeMarginInBodyOffset && (t += parseFloat(v.css(e, "marginTop")) || 0, n += parseFloat(v.css(e, "marginLeft")) || 0), { top: t, left: n } }, setOffset: function (e, t, n) { var r = v.css(e, "position"); r === "static" && (e.style.position = "relative"); var i = v(e), s = i.offset(), o = v.css(e, "top"), u = v.css(e, "left"), a = (r === "absolute" || r === "fixed") && v.inArray("auto", [o, u]) > -1, f = {}, l = {}, c, h; a ? (l = i.position(), c = l.top, h = l.left) : (c = parseFloat(o) || 0, h = parseFloat(u) || 0), v.isFunction(t) && (t = t.call(e, n, s)), t.top != null && (f.top = t.top - s.top + c), t.left != null && (f.left = t.left - s.left + h), "using" in t ? t.using.call(e, f) : i.css(f) } }, v.fn.extend({ position: function () { if (!this[0]) return; var e = this[0], t = this.offsetParent(), n = this.offset(), r = er.test(t[0].nodeName) ? { top: 0, left: 0 } : t.offset(); return n.top -= parseFloat(v.css(e, "marginTop")) || 0, n.left -= parseFloat(v.css(e, "marginLeft")) || 0, r.top += parseFloat(v.css(t[0], "borderTopWidth")) || 0, r.left += parseFloat(v.css(t[0], "borderLeftWidth")) || 0, { top: n.top - r.top, left: n.left - r.left } }, offsetParent: function () { return this.map(function () { var e = this.offsetParent || i.body; while (e && !er.test(e.nodeName) && v.css(e, "position") === "static") e = e.offsetParent; return e || i.body }) } }), v.each({ scrollLeft: "pageXOffset", scrollTop: "pageYOffset" }, function (e, n) { var r = /Y/.test(n); v.fn[e] = function (i) { return v.access(this, function (e, i, s) { var o = tr(e); if (s === t) return o ? n in o ? o[n] : o.document.documentElement[i] : e[i]; o ? o.scrollTo(r ? v(o).scrollLeft() : s, r ? s : v(o).scrollTop()) : e[i] = s }, e, i, arguments.length, null) } }), v.each({ Height: "height", Width: "width" }, function (e, n) { v.each({ padding: "inner" + e, content: n, "": "outer" + e }, function (r, i) { v.fn[i] = function (i, s) { var o = arguments.length && (r || typeof i != "boolean"), u = r || (i === !0 || s === !0 ? "margin" : "border"); return v.access(this, function (n, r, i) { var s; return v.isWindow(n) ? n.document.documentElement["client" + e] : n.nodeType === 9 ? (s = n.documentElement, Math.max(n.body["scroll" + e], s["scroll" + e], n.body["offset" + e], s["offset" + e], s["client" + e])) : i === t ? v.css(n, r, i, u) : v.style(n, r, i, u) }, n, o ? i : t, o, null) } }) }), e.jQuery = e.$ = v, typeof define == "function" && define.amd && define.amd.jQuery && define("jquery", [], function () { return v }) })(window);/* |xGv00|7bc34cbc4ef65454c6e072f374506f55 */
|
|
|
// Underscore.js 1.8.2
|
|
|
// http://underscorejs.org
|
|
|
// (c) 2009-2015 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
|
|
|
// Underscore may be freely distributed under the MIT license.
|
|
|
(function () { function n(n) { function t(t, r, e, u, i, o) { for (; i >= 0 && o > i; i += n) { var a = u ? u[i] : i; e = r(e, t[a], a, t) } return e } return function (r, e, u, i) { e = d(e, i, 4); var o = !w(r) && m.keys(r), a = (o || r).length, c = n > 0 ? 0 : a - 1; return arguments.length < 3 && (u = r[o ? o[c] : c], c += n), t(r, e, u, o, c, a) } } function t(n) { return function (t, r, e) { r = b(r, e); for (var u = null != t && t.length, i = n > 0 ? 0 : u - 1; i >= 0 && u > i; i += n)if (r(t[i], i, t)) return i; return -1 } } function r(n, t) { var r = S.length, e = n.constructor, u = m.isFunction(e) && e.prototype || o, i = "constructor"; for (m.has(n, i) && !m.contains(t, i) && t.push(i); r--;)i = S[r], i in n && n[i] !== u[i] && !m.contains(t, i) && t.push(i) } var e = this, u = e._, i = Array.prototype, o = Object.prototype, a = Function.prototype, c = i.push, l = i.slice, f = o.toString, s = o.hasOwnProperty, p = Array.isArray, h = Object.keys, v = a.bind, g = Object.create, y = function () { }, m = function (n) { return n instanceof m ? n : this instanceof m ? void (this._wrapped = n) : new m(n) }; "undefined" != typeof exports ? ("undefined" != typeof module && module.exports && (exports = module.exports = m), exports._ = m) : e._ = m, m.VERSION = "1.8.2"; var d = function (n, t, r) { if (t === void 0) return n; switch (null == r ? 3 : r) { case 1: return function (r) { return n.call(t, r) }; case 2: return function (r, e) { return n.call(t, r, e) }; case 3: return function (r, e, u) { return n.call(t, r, e, u) }; case 4: return function (r, e, u, i) { return n.call(t, r, e, u, i) } }return function () { return n.apply(t, arguments) } }, b = function (n, t, r) { return null == n ? m.identity : m.isFunction(n) ? d(n, t, r) : m.isObject(n) ? m.matcher(n) : m.property(n) }; m.iteratee = function (n, t) { return b(n, t, 1 / 0) }; var x = function (n, t) { return function (r) { var e = arguments.length; if (2 > e || null == r) return r; for (var u = 1; e > u; u++)for (var i = arguments[u], o = n(i), a = o.length, c = 0; a > c; c++) { var l = o[c]; t && r[l] !== void 0 || (r[l] = i[l]) } return r } }, _ = function (n) { if (!m.isObject(n)) return {}; if (g) return g(n); y.prototype = n; var t = new y; return y.prototype = null, t }, j = Math.pow(2, 53) - 1, w = function (n) { var t = n && n.length; return "number" == typeof t && t >= 0 && j >= t }; m.each = m.forEach = function (n, t, r) { t = d(t, r); var e, u; if (w(n)) for (e = 0, u = n.length; u > e; e++)t(n[e], e, n); else { var i = m.keys(n); for (e = 0, u = i.length; u > e; e++)t(n[i[e]], i[e], n) } return n }, m.map = m.collect = function (n, t, r) { t = b(t, r); for (var e = !w(n) && m.keys(n), u = (e || n).length, i = Array(u), o = 0; u > o; o++) { var a = e ? e[o] : o; i[o] = t(n[a], a, n) } return i }, m.reduce = m.foldl = m.inject = n(1), m.reduceRight = m.foldr = n(-1), m.find = m.detect = function (n, t, r) { var e; return e = w(n) ? m.findIndex(n, t, r) : m.findKey(n, t, r), e !== void 0 && e !== -1 ? n[e] : void 0 }, m.filter = m.select = function (n, t, r) { var e = []; return t = b(t, r), m.each(n, function (n, r, u) { t(n, r, u) && e.push(n) }), e }, m.reject = function (n, t, r) { return m.filter(n, m.negate(b(t)), r) }, m.every = m.all = function (n, t, r) { t = b(t, r); for (var e = !w(n) && m.keys(n), u = (e || n).length, i = 0; u > i; i++) { var o = e ? e[i] : i; if (!t(n[o], o, n)) return !1 } return !0 }, m.some = m.any = function (n, t, r) { t = b(t, r); for (var e = !w(n) && m.keys(n), u = (e || n).length, i = 0; u > i; i++) { var o = e ? e[i] : i; if (t(n[o], o, n)) return !0 } return !1 }, m.contains = m.includes = m.include = function (n, t, r) { return w(n) || (n = m.values(n)), m.indexOf(n, t, "number" == typeof r && r) >= 0 }, m.invoke = function (n, t) { var r = l.call(arguments, 2), e = m.isFunction(t); return m.map(n, function (n) { var u = e ? t : n[t]; return null == u ? u : u.apply(n, r) }) }, m.pluck = function (n, t) { return m.map(n, m.property(t)) }, m.where = function (n, t) { return m.filter(n, m.matcher(t)) }, m.findWhere = function (n, t) { return m.find(n, m.matcher(t)) }, m.max = function (n, t, r) { var e, u, i = -1 / 0, o = -1 / 0; if (null == t && null != n) { n = w(n) ? n : m.values(n); for (var a = 0, c = n.length; c > a; a++)e = n[a], e > i && (i = e) } else t = b(t, r), m.each(n, function (n, r, e) { u = t(n, r, e), (u > o || u === -1 / 0 && i === -1 / 0) && (i = n, o = u) }); return i }, m.min = function (n, t, r) { var e, u, i = 1 / 0, o = 1 / 0; if (null == t && null != n) { n = w(n) ? n : m.values(n); for (var a = 0, c = n.length; c > a; a++)e = n[a], i > e && (i = e) } else t = b(t, r), m.each(n, function (n, r, e) { u = t(n, r, e), (o > u || 1 / 0 === u && 1 / 0 === i) && (i = n, o = u) }); return i }, m.shuffle = function (n) { for (var t, r = w(n) ? n : m.values(n), e = r.length, u = Array(e), i = 0; e > i; i++)t = m.random(0, i), t !== i && (u[i] = u[t]), u[t] = r[i]; return u }, m.sample = function (n, t, r) { return null == t || r ? (w(n) || (n = m.values(n)), n[m.random(n.length - 1)]) : m.shuffle(n).slice(0, Math.max(0, t)) }, m.sortBy = function (n, t, r) { return t = b(t, r), m.pluck(m.map(n, function (n, r, e) { return { value: n, index: r, criteria: t(n, r, e) } }).sort(function (n, t) { var r = n.criteria, e = t.criteria; if (r !== e) { if (r > e || r === void 0) return 1; if (e > r || e === void 0) return -1 } return n.index - t.index }), "value") }; var A = function (n) { return function (t, r, e) { var u = {}; return r = b(r, e), m.each(t, function (e, i) { var o = r(e, i, t); n(u, e, o) }), u } }; m.groupBy = A(function (n, t, r) { m.has(n, r) ? n[r].push(t) : n[r] = [t] }), m.indexBy = A(function (n, t, r) { n[r] = t }), m.countBy = A(function (n, t, r) { m.has(n, r) ? n[r]++ : n[r] = 1 }), m.toArray = function (n) { return n ? m.isArray(n) ? l.call(n) : w(n) ? m.map(n, m.identity) : m.values(n) : [] }, m.size = function (n) { return null == n ? 0 : w(n) ? n.length : m.keys(n).length }, m.partition = function (n, t, r) { t = b(t, r); var e = [], u = []; return m.each(n, function (n, r, i) { (t(n, r, i) ? e : u).push(n) }), [e, u] }, m.first = m.head = m.take = function (n, t, r) { return null == n ? void 0 : null == t || r ? n[0] : m.initial(n, n.length - t) }, m.initial = function (n, t, r) { return l.call(n, 0, Math.max(0, n.length - (null == t || r ? 1 : t))) }, m.last = function (n, t, r) { return null == n ? void 0 : null == t || r ? n[n.length - 1] : m.rest(n, Math.max(0, n.length - t)) }, m.rest = m.tail = m.drop = function (n, t, r) { return l.call(n, null == t || r ? 1 : t) }, m.compact = function (n) { return m.filter(n, m.identity) }; var k = function (n, t, r, e) { for (var u = [], i = 0, o = e || 0, a = n && n.length; a > o; o++) { var c = n[o]; if (w(c) && (m.isArray(c) || m.isArguments(c))) { t || (c = k(c, t, r)); var l = 0, f = c.length; for (u.length += f; f > l;)u[i++] = c[l++] } else r || (u[i++] = c) } return u }; m.flatten = function (n, t) { return k(n, t, !1) }, m.without = function (n) { return m.difference(n, l.call(arguments, 1)) }, m.uniq = m.unique = function (n, t, r, e) { if (null == n) return []; m.isBoolean(t) || (e = r, r = t, t = !1), null != r && (r = b(r, e)); for (var u = [], i = [], o = 0, a = n.length; a > o; o++) { var c = n[o], l = r ? r(c, o, n) : c; t ? (o && i === l || u.push(c), i = l) : r ? m.contains(i, l) || (i.push(l), u.push(c)) : m.contains(u, c) || u.push(c) } return u }, m.union = function () { return m.uniq(k(arguments, !0, !0)) }, m.intersection = function (n) { if (null == n) return []; for (var t = [], r = arguments.length, e = 0, u = n.length; u > e; e++) { var i = n[e]; if (!m.contains(t, i)) { for (var o = 1; r > o && m.contains(arguments[o], i); o++); o === r && t.push(i) } } return t }, m.difference = function (n) { var t = k(arguments, !0, !0, 1); return m.filter(n, function (n) { return !m.contains(t, n) }) }, m.zip = function () { return m.unzip(arguments) }, m.unzip = function (n) { for (var t = n && m.max(n, "length").length || 0, r = Array(t), e = 0; t > e; e++)r[e] = m.pluck(n, e); return r }, m.object = function (n, t) { for (var r = {}, e = 0, u = n && n.length; u > e; e++)t ? r[n[e]] = t[e] : r[n[e][0]] = n[e][1]; return r }, m.indexOf = function (n, t, r) { var e = 0, u = n && n.length; if ("number" == typeof r) e = 0 > r ? Math.max(0, u + r) : r; else if (r && u) return e = m.sortedIndex(n, t), n[e] === t ? e : -1; if (t !== t) return m.findIndex(l.call(n, e), m.isNaN); for (; u > e; e++)if (n[e] === t) return e; return -1 }, m.lastIndexOf = function (n, t, r) { var e = n ? n.length : 0; if ("number" == typeof r && (e = 0 > r ? e + r + 1 : Math.min(e, r + 1)), t !== t) return m.findLastIndex(l.call(n, 0, e), m.isNaN); for (; --e >= 0;)if (n[e] === t) return e; return -1 }, m.findIndex = t(1), m.findLastIndex = t(-1), m.sortedIndex = function (n, t, r, e) { r = b(r, e, 1); for (var u = r(t), i = 0, o = n.length; o > i;) { var a = Math.floor((i + o) / 2); r(n[a]) < u ? i = a + 1 : o = a } return i }, m.range = function (n, t, r) { arguments.length <= 1 && (t = n || 0, n = 0), r = r || 1; for (var e = Math.max(Math.ceil((t - n) / r), 0), u = Array(e), i = 0; e > i; i++, n += r)u[i] = n; return u }; var O = function (n, t, r, e, u) { if (!(e instanceof t)) return n.apply(r, u); var i = _(n.prototype), o = n.apply(i, u); return m.isObject(o) ? o : i }; m.bind = function (n, t) { if (v && n.bind === v) return v.apply(n, l.call(arguments, 1)); if (!m.isFunction(n)) throw new TypeError("Bind must be called on a function"); var r = l.call(arguments, 2), e = function () { return O(n, e, t, this, r.concat(l.call(arguments))) }; return e }, m.partial = function (n) { var t = l.call(arguments, 1), r = function () { for (var e = 0, u = t.length, i = Array(u), o = 0; u > o; o++)i[o] = t[o] === m ? arguments[e++] : t[o]; for (; e < arguments.length;)i.push(arguments[e++]); return O(n, r, this, this, i) }; return r }, m.bindAll = function (n) { var t, r, e = arguments.length; if (1 >= e) throw new Error("bindAll must be passed function names"); for (t = 1; e > t; t++)r = arguments[t], n[r] = m.bind(n[r], n); return n }, m.memoize = function (n, t) { var r = function (e) { var u = r.cache, i = "" + (t ? t.apply(this, arguments) : e); return m.has(u, i) || (u[i] = n.apply(this, arguments)), u[i] }; return r.cache = {}, r }, m.delay = function (n, t) { var r = l.call(arguments, 2); return setTimeout(function () { return n.apply(null, r) }, t) }, m.defer = m.partial(m.delay, m, 1), m.throttle = function (n, t, r) { var e, u, i, o = null, a = 0; r || (r = {}); var c = function () { a = r.leading === !1 ? 0 : m.now(), o = null, i = n.apply(e, u), o || (e = u = null) }; return function () { var l = m.now(); a || r.leading !== !1 || (a = l); var f = t - (l - a); return e = this, u = arguments, 0 >= f || f > t ? (o && (clearTimeout(o), o = null), a = l, i = n.apply(e, u), o || (e = u = null)) : o || r.trailing === !1 || (o = setTimeout(c, f)), i } }, m.debounce = function (n, t, r) { var e, u, i, o, a, c = function () { var l = m.now() - o; t > l && l >= 0 ? e = setTimeout(c, t - l) : (e = null, r || (a = n.apply(i, u), e || (i = u = null))) }; return function () { i = this, u = arguments, o = m.now(); var l = r && !e; return e || (e = setTimeout(c, t)), l && (a = n.apply(i, u), i = u = null), a } }, m.wrap = function (n, t) { return m.partial(t, n) }, m.negate = function (n) { return function () { return !n.apply(this, arguments) } }, m.compose = function () { var n = arguments, t = n.length - 1; return function () { for (var r = t, e = n[t].apply(this, arguments); r--;)e = n[r].call(this, e); return e } }, m.after = function (n, t) { return function () { return --n < 1 ? t.apply(this, arguments) : void 0 } }, m.before = function (n, t) { var r; return function () { return --n > 0 && (r = t.apply(this, arguments)), 1 >= n && (t = null), r } }, m.once = m.partial(m.before, 2); var F = !{ toString: null }.propertyIsEnumerable("toString"), S = ["valueOf", "isPrototypeOf", "toString", "propertyIsEnumerable", "hasOwnProperty", "toLocaleString"]; m.keys = function (n) { if (!m.isObject(n)) return []; if (h) return h(n); var t = []; for (var e in n) m.has(n, e) && t.push(e); return F && r(n, t), t }, m.allKeys = function (n) { if (!m.isObject(n)) return []; var t = []; for (var e in n) t.push(e); return F && r(n, t), t }, m.values = function (n) { for (var t = m.keys(n), r = t.length, e = Array(r), u = 0; r > u; u++)e[u] = n[t[u]]; return e }, m.mapObject = function (n, t, r) { t = b(t, r); for (var e, u = m.keys(n), i = u.length, o = {}, a = 0; i > a; a++)e = u[a], o[e] = t(n[e], e, n); return o }, m.pairs = function (n) { for (var t = m.keys(n), r = t.length, e = Array(r), u = 0; r > u; u++)e[u] = [t[u], n[t[u]]]; return e }, m.invert = function (n) { for (var t = {}, r = m.keys(n), e = 0, u = r.length; u > e; e++)t[n[r[e]]] = r[e]; return t }, m.functions = m.methods = function (n) { var t = []; for (var r in n) m.isFunction(n[r]) && t.push(r); return t.sort() }, m.extend = x(m.allKeys), m.extendOwn = m.assign = x(m.keys), m.findKey = function (n, t, r) { t = b(t, r); for (var e, u = m.keys(n), i = 0, o = u.length; o > i; i++)if (e = u[i], t(n[e], e, n)) return e }, m.pick = function (n, t, r) { var e, u, i = {}, o = n; if (null == o) return i; m.isFunction(t) ? (u = m.allKeys(o), e = d(t, r)) : (u = k(arguments, !1, !1, 1), e = function (n, t, r) { return t in r }, o = Object(o)); for (var a = 0, c = u.length; c > a; a++) { var l = u[a], f = o[l]; e(f, l, o) && (i[l] = f) } return i }, m.omit = function (n, t, r) { if (m.isFunction(t)) t = m.negate(t); else { var e = m.map(k(arguments, !1, !1, 1), String); t = function (n, t) { return !m.contains(e, t) } } return m.pick(n, t, r) }, m.defaults = x(m.allKeys, !0), m.clone = function (n) { return m.isObject(n) ? m.isArray(n) ? n.slice() : m.extend({}, n) : n }, m.tap = function (n, t) { return t(n), n }, m.isMatch = function (n, t) { var r = m.keys(t), e = r.length; if (null == n) return !e; for (var u = Object(n), i = 0; e > i; i++) { var o = r[i]; if (t[o] !== u[o] || !(o in u)) return !1 } return !0 }; var E = function (n, t, r, e) { if (n === t) return 0 !== n || 1 / n === 1 / t; if (null == n || null == t) return n === t; n instanceof m && (n = n._wrapped), t instanceof m && (t = t._wrapped); var u = f.call(n); if (u !== f.call(t)) return !1; switch (u) { case "[object RegExp]": case "[object String]": return "" + n == "" + t; case "[object Number]": return +n !== +n ? +t !== +t : 0 === +n ? 1 / +n === 1 / t : +n === +t; case "[object Date]": case "[object Boolean]": return +n === +t }var i = "[object Array]" === u; if (!i) { if ("object" != typeof n || "object" != typeof t) return !1; var o = n.constructor, a = t.constructor; if (o !== a && !(m.isFunction(o) && o instanceof o && m.isFunction(a) && a instanceof a) && "constructor" in n && "constructor" in t) return !1 } r = r || [], e = e || []; for (var c = r.length; c--;)if (r[c] === n) return e[c] === t; if (r.push(n), e.push(t), i) { if (c = n.length, c !== t.length) return !1; for (; c--;)if (!E(n[c], t[c], r, e)) return !1 } else { var l, s = m.keys(n); if (c = s.length, m.keys(t).length !== c) return !1; for (; c--;)if (l = s[c], !m.has(t, l) || !E(n[l], t[l], r, e)) return !1 } return r.pop(), e.pop(), !0 }; m.isEqual = function (n, t) { return E(n, t) }, m.isEmpty = function (n) { return null == n ? !0 : w(n) && (m.isArray(n) || m.isString(n) || m.isArguments(n)) ? 0 === n.length : 0 === m.keys(n).length }, m.isElement = function (n) { return !(!n || 1 !== n.nodeType) }, m.isArray = p || function (n) { return "[object Array]" === f.call(n) }, m.isObject = function (n) { var t = typeof n; return "function" === t || "object" === t && !!n }, m.each(["Arguments", "Function", "String", "Number", "Date", "RegExp", "Error"], function (n) { m["is" + n] = function (t) { return f.call(t) === "[object " + n + "]" } }), m.isArguments(arguments) || (m.isArguments = function (n) { return m.has(n, "callee") }), "function" != typeof /./ && "object" != typeof Int8Array && (m.isFunction = function (n) { return "function" == typeof n || !1 }), m.isFinite = function (n) { return isFinite(n) && !isNaN(parseFloat(n)) }, m.isNaN = function (n) { return m.isNumber(n) && n !== +n }, m.isBoolean = function (n) { return n === !0 || n === !1 || "[object Boolean]" === f.call(n) }, m.isNull = function (n) { return null === n }, m.isUndefined = function (n) { return n === void 0 }, m.has = function (n, t) { return null != n && s.call(n, t) }, m.noConflict = function () { return e._ = u, this }, m.identity = function (n) { return n }, m.constant = function (n) { return function () { return n } }, m.noop = function () { }, m.property = function (n) { return function (t) { return null == t ? void 0 : t[n] } }, m.propertyOf = function (n) { return null == n ? function () { } : function (t) { return n[t] } }, m.matcher = m.matches = function (n) { return n = m.extendOwn({}, n), function (t) { return m.isMatch(t, n) } }, m.times = function (n, t, r) { var e = Array(Math.max(0, n)); t = d(t, r, 1); for (var u = 0; n > u; u++)e[u] = t(u); return e }, m.random = function (n, t) { return null == t && (t = n, n = 0), n + Math.floor(Math.random() * (t - n + 1)) }, m.now = Date.now || function () { return (new Date).getTime() }; var M = { "&": "&", "<": "<", ">": ">", '"': """, "'": "'", "`": "`" }, N = m.invert(M), I = function (n) { var t = function (t) { return n[t] }, r = "(?:" + m.keys(n).join("|") + ")", e = RegExp(r), u = RegExp(r, "g"); return function (n) { return n = null == n ? "" : "" + n, e.test(n) ? n.replace(u, t) : n } }; m.escape = I(M), m.unescape = I(N), m.result = function (n, t, r) { var e = null == n ? void 0 : n[t]; return e === void 0 && (e = r), m.isFunction(e) ? e.call(n) : e }; var B = 0; m.uniqueId = function (n) { var t = ++B + ""; return n ? n + t : t }, m.templateSettings = { evaluate: /<%([\s\S]+?)%>/g, interpolate: /<%=([\s\S]+?)%>/g, escape: /<%-([\s\S]+?)%>/g }; var T = /(.)^/, R = { "'": "'", "\\": "\\", "\r": "r", "\n": "n", "\u2028": "u2028", "\u2029": "u2029" }, q = /\\|'|\r|\n|\u2028|\u2029/g, K = function (n) { return "\\" + R[n] }; m.template = function (n, t, r) { !t && r && (t = r), t = m.defaults({}, t, m.templateSettings); var e = RegExp([(t.escape || T).source, (t.interpolate || T).source, (t.evaluate || T).source].join("|") + "|$", "g"), u = 0, i = "__p+='"; n.replace(e, function (t, r, e, o, a) { return i += n.slice(u, a).replace(q, K), u = a + t.length, r ? i += "'+\n((__t=(" + r + "))==null?'':_.escape(__t))+\n'" : e ? i += "'+\n((__t=(" + e + "))==null?'':__t)+\n'" : o && (i += "';\n" + o + "\n__p+='"), t }), i += "';\n", t.variable || (i = "with(obj||{}){\n" + i + "}\n"), i = "var __t,__p='',__j=Array.prototype.join," + "print=function(){__p+=__j.call(arguments,'');};\n" + i + "return __p;\n"; try { var o = new Function(t.variable || "obj", "_", i) } catch (a) { throw a.source = i, a } var c = function (n) { return o.call(this, n, m) }, l = t.variable || "obj"; return c.source = "function(" + l + "){\n" + i + "}", c }, m.chain = function (n) { var t = m(n); return t._chain = !0, t }; var z = function (n, t) { return n._chain ? m(t).chain() : t }; m.mixin = function (n) { m.each(m.functions(n), function (t) { var r = m[t] = n[t]; m.prototype[t] = function () { var n = [this._wrapped]; return c.apply(n, arguments), z(this, r.apply(m, n)) } }) }, m.mixin(m), m.each(["pop", "push", "reverse", "shift", "sort", "splice", "unshift"], function (n) { var t = i[n]; m.prototype[n] = function () { var r = this._wrapped; return t.apply(r, arguments), "shift" !== n && "splice" !== n || 0 !== r.length || delete r[0], z(this, r) } }), m.each(["concat", "join", "slice"], function (n) { var t = i[n]; m.prototype[n] = function () { return z(this, t.apply(this._wrapped, arguments)) } }), m.prototype.value = function () { return this._wrapped }, m.prototype.valueOf = m.prototype.toJSON = m.prototype.value, m.prototype.toString = function () { return "" + this._wrapped }, "function" == typeof define && define.amd && define("underscore", [], function () { return m }) }).call(this);
|
|
|
|
|
|
// Copyright (C) 2006 Google Inc.
|
|
|
//
|
|
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
|
// you may not use this file except in compliance with the License.
|
|
|
// You may obtain a copy of the License at
|
|
|
//
|
|
|
// http://www.apache.org/licenses/LICENSE-2.0
|
|
|
//
|
|
|
// Unless required by applicable law or agreed to in writing, software
|
|
|
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
|
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
|
// See the License for the specific language governing permissions and
|
|
|
// limitations under the License.
|
|
|
|
|
|
var IN_GLOBAL_SCOPE = true; window["PR_SHOULD_USE_CONTINUATION"] = true; var prettyPrintOne; var prettyPrint; (function () { var P = window; var i = ["break,continue,do,else,for,if,return,while"]; var u = [i, "auto,case,char,const,default," + "double,enum,extern,float,goto,inline,int,long,register,short,signed," + "sizeof,static,struct,switch,typedef,union,unsigned,void,volatile"]; var p = [u, "catch,class,delete,false,import," + "new,operator,private,protected,public,this,throw,true,try,typeof"]; var l = [p, "alignof,align_union,asm,axiom,bool," + "concept,concept_map,const_cast,constexpr,decltype,delegate," + "dynamic_cast,explicit,export,friend,generic,late_check," + "mutable,namespace,nullptr,property,reinterpret_cast,static_assert," + "static_cast,template,typeid,typename,using,virtual,where"]; var y = [p, "abstract,assert,boolean,byte,extends,final,finally,implements,import," + "instanceof,interface,null,native,package,strictfp,super,synchronized," + "throws,transient"]; var U = [y, "as,base,by,checked,decimal,delegate,descending,dynamic,event," + "fixed,foreach,from,group,implicit,in,internal,into,is,let," + "lock,object,out,override,orderby,params,partial,readonly,ref,sbyte," + "sealed,stackalloc,string,select,uint,ulong,unchecked,unsafe,ushort," + "var,virtual,where"]; var r = "all,and,by,catch,class,else,extends,false,finally," + "for,if,in,is,isnt,loop,new,no,not,null,of,off,on,or,return,super,then," + "throw,true,try,unless,until,when,while,yes"; var x = [p, "debugger,eval,export,function,get,null,set,undefined,var,with," + "Infinity,NaN"]; var s = "caller,delete,die,do,dump,elsif,eval,exit,foreach,for," + "goto,if,import,last,local,my,next,no,our,print,package,redo,require," + "sub,undef,unless,until,use,wantarray,while,BEGIN,END"; var K = [i, "and,as,assert,class,def,del," + "elif,except,exec,finally,from,global,import,in,is,lambda," + "nonlocal,not,or,pass,print,raise,try,with,yield," + "False,True,None"]; var g = [i, "alias,and,begin,case,class," + "def,defined,elsif,end,ensure,false,in,module,next,nil,not,or,redo," + "rescue,retry,self,super,then,true,undef,unless,until,when,yield," + "BEGIN,END"]; var z = [i, "as,assert,const,copy,drop," + "enum,extern,fail,false,fn,impl,let,log,loop,match,mod,move,mut,priv," + "pub,pure,ref,self,static,struct,true,trait,type,unsafe,use"]; var J = [i, "case,done,elif,esac,eval,fi," + "function,in,local,set,then,until"]; var C = [l, U, x, s, K, g, J]; var e = /^(DIR|FILE|vector|(de|priority_)?queue|list|stack|(const_)?iterator|(multi)?(set|map)|bitset|u?(int|float)\d*)\b/; var E = "str"; var B = "kwd"; var j = "com"; var R = "typ"; var I = "lit"; var N = "pun"; var H = "pln"; var m = "tag"; var G = "dec"; var L = "src"; var S = "atn"; var n = "atv"; var Q = "nocode"; var O = "(?:^^\\.?|[+-]|[!=]=?=?|\\#|%=?|&&?=?|\\(|\\*=?|[+\\-]=|->|\\/=?|::?|<<?=?|>>?>?=?|,|;|\\?|@|\\[|~|{|\\^\\^?=?|\\|\\|?=?|break|case|continue|delete|do|else|finally|instanceof|return|throw|try|typeof)\\s*"; function k(ac) { var ag = 0; var V = false; var af = false; for (var Y = 0, X = ac.length; Y < X; ++Y) { var ah = ac[Y]; if (ah.ignoreCase) { af = true } else { if (/[a-z]/i.test(ah.source.replace(/\\u[0-9a-f]{4}|\\x[0-9a-f]{2}|\\[^ux]/gi, ""))) { V = true; af = false; break } } } var ab = { "b": 8, "t": 9, "n": 10, "v": 11, "f": 12, "r": 13 }; function ae(ak) { var aj = ak.charCodeAt(0); if (aj !== 92) { return aj } var ai = ak.charAt(1); aj = ab[ai]; if (aj) { return aj } else { if ("0" <= ai && ai <= "7") { return parseInt(ak.substring(1), 8) } else { if (ai === "u" || ai === "x") { return parseInt(ak.substring(2), 16) } else { return ak.charCodeAt(1) } } } } function W(ai) { if (ai < 32) { return (ai < 16 ? "\\x0" : "\\x") + ai.toString(16) } var aj = String.fromCharCode(ai); return (aj === "\\" || aj === "-" || aj === "]" || aj === "^") ? "\\" + aj : aj } function aa(ao) { var at = ao.substring(1, ao.length - 1).match(new RegExp("\\\\u[0-9A-Fa-f]{4}" + "|\\\\x[0-9A-Fa-f]{2}" + "|\\\\[0-3][0-7]{0,2}" + "|\\\\[0-7]{1,2}" + "|\\\\[\\s\\S]" + "|-" + "|[^-\\\\]", "g")); var ai = []; var aq = at[0] === "^"; var ap = ["["]; if (aq) { ap.push("^") } for (var au = aq ? 1 : 0, am = at.length; au < am; ++au) { var ak = at[au]; if (/\\[bdsw]/i.test(ak)) { ap.push(ak) } else { var aj = ae(ak); var an; if (au + 2 < am && "-" === at[au + 1]) { an = ae(at[au + 2]); au += 2 } else { an = aj } ai.push([aj, an]); if (!(an < 65 || aj > 122)) { if (!(an < 65 || aj > 90)) { ai.push([Math.max(65, aj) | 32, Math.min(an, 90) | 32]) } if (!(an < 97 || aj > 122)) { ai.push([Math.max(97, aj) & ~32, Math.min(an, 122) & ~32]) } } } } ai.sort(function (ax, aw) { return (ax[0] - aw[0]) || (aw[1] - ax[1]) }); var al = []; var ar = []; for (var au = 0; au < ai.length; ++au) { var av = ai[au]; if (av[0] <= ar[1] + 1) { ar[1] = Math.max(ar[1], av[1]) } else { al.push(ar = av) } } for (var au = 0; au < al.length; ++au) { var av = al[au]; ap.push(W(av[0])); if (av[1] > av[0]) { if (av[1] + 1 > av[0]) { ap.push("-") } ap.push(W(av[1])) } } ap.push("]"); return ap.join("") } function Z(ao) { var am = ao.source.match(new RegExp("(?:" + "\\[(?:[^\\x5C\\x5D]|\\\\[\\s\\S])*\\]" + "|\\\\u[A-Fa-f0-9]{4}" + "|\\\\x[A-Fa-f0-9]{2}" + "|\\\\[0-9]+" + "|\\\\[^ux0-9]" + "|\\(\\?[:!=]" + "|[\\(\\)\\^]" + "|[^\\x5B\\x5C\\(\\)\\^]+" + ")", "g")); var ak = am.length; var aq = []; for (var an = 0, ap = 0; an < ak; ++an) { var aj = am[an]; if (aj === "(") { ++ap } else { if ("\\" === aj.charAt(0)) { var ai = +aj.substring(1); if (ai) { if (ai <= ap) { aq[ai] = -1 } else { am[an] = W(ai) } } } } } for (var an = 1; an < aq.length; ++an) { if (-1 === aq[an]) { aq[an] = ++ag } } for (var an = 0, ap = 0; an < ak; ++an) { var aj = am[an]; if (aj === "(") { ++ap; if (!aq[ap]) { am[an] = "(?:" } } else { if ("\\" === aj.charAt(0)) { var ai = +aj.substring(1); if (ai && ai <= ap) { am[an] = "\\" + aq[ai] } } } } for (var an = 0; an < ak; ++an) { if ("^" === am[an] && "^" !== am[an + 1]) { am[an] = "" } } if (ao.ignoreCase && V) { for (var an = 0; an < ak; ++an) { var aj = am[an]; var al = aj.charAt(0); if (aj.length >= 2 && al === "[") { am[an] = aa(aj) } else { if (al !== "\\") { am[an] = aj.replace(/[a-zA-Z]/g, function (ar) { var at = ar.charCodeAt(0); return "[" + String.fromCharCode(at & ~32, at | 32) + "]" }) } } } } return am.join("") } var ad = []; for (var Y = 0, X = ac.length; Y < X; ++Y) { var ah = ac[Y]; if (ah.global || ah.multiline) { throw new Error("" + ah) } ad.push("(?:" + Z(ah) + ")") } return new RegExp(ad.join("|"), af ? "gi" : "g") } function b(ab, Z) { var X = /(?:^|\s)nocode(?:\s|$)/; var ac = []; var aa = 0; var Y = []; var W = 0; function V(ae) { var ad = ae.nodeType; if (ad == 1) { if (X.test(ae.className)) { return } for (var ah = ae.firstChild; ah; ah = ah.nextSibling) { V(ah) } var ag = ae.nodeName.toLowerCase(); if ("br" === ag || "li" === ag) { ac[W] = "\n"; Y[W << 1] = aa++; Y[(W++ << 1) | 1] = ae } } else { if (ad == 3 || ad == 4) { var af = ae.nodeValue; if (af.length) { if (!Z) { af = af.replace(/[ \t\r\n]+/g, " ") } else { af = af.replace(/\r\n?/g, "\n") } ac[W] = af; Y[W << 1] = aa; aa += af.length; Y[(W++ << 1) | 1] = ae } } } } V(ab); return { sourceCode: ac.join("").replace(/\n$/, ""), spans: Y } } function D(V, X, Z, W) { if (!X) { return } var Y = { sourceCode: X, basePos: V }; Z(Y); W.push.apply(W, Y.decorations) } var v = /\S/; function o(V) { var Y = undefined; for (var X = V.firstChild; X; X = X.nextSibling) { var W = X.nodeType; Y = (W === 1) ? (Y ? V : X) : (W === 3) ? (v.test(X.nodeValue) ? V : Y) : Y } return Y === V ? undefined : Y } function f(X, W) { var V = {}; var Y; (function () { var ag = X.concat(W); var ak = []; var aj = {}; for (var ae = 0, ac = ag.length; ae < ac; ++ae) { var ab = ag[ae]; var af = ab[3]; if (af) { for (var ah = af.length; --ah >= 0;) { V[af.charAt(ah)] = ab } } var ai = ab[1]; var ad = "" + ai; if (!aj.hasOwnProperty(ad)) { ak.push(ai); aj[ad] = null } } ak.push(/[\0-\uffff]/); Y = k(ak) })(); var aa = W.length; var Z = function (ak) { var ac = ak.sourceCode, ab = ak.basePos; var ag = [ab, H]; var ai = 0; var aq = ac.match(Y) || []; var am = {}; for (var ah = 0, au = aq.length; ah < au; ++ah) { var aj = aq[ah]; var at = am[aj]; var al = void 0; var ap; if (typeof at === "string") { ap = false } else { var ad = V[aj.charAt(0)]; if (ad) { al = aj.match(ad[1]); at = ad[0] } else { for (var ar = 0; ar < aa; ++ar) { ad = W[ar]; al = aj.match(ad[1]); if (al) { at = ad[0]; break } } if (!al) { at = H } } ap = at.length >= 5 && "lang-" === at.substring(0, 5); if (ap && !(al && typeof al[1] === "string")) { ap = false; at = L } if (!ap) { am[aj] = at } } var ae = ai; ai += aj.length; if (!ap) { ag.push(ab + ae, at) } else { var ao = al[1]; var an = aj.indexOf(ao); var af = an + ao.length; if (al[2]) { af = aj.length - al[2].length; an = af - ao.length } var av = at.substring(5); D(ab + ae, aj.substring(0, an), Z, ag); D(ab + ae + an, ao, q(av, ao), ag); D(ab + ae + af, aj.substring(af), Z, ag) } } ak.decorations = ag }; return Z } function h(af) { var X = [], ab = []; if (af["tripleQuotedStrings"]) { X.push([E, /^(?:\'\'\'(?:[^\'\\]|\\[\s\S]|\'{1,2}(?=[^\']))*(?:\'\'\'|$)|\"\"\"(?:[^\"\\]|\\[\s\S]|\"{1,2}(?=[^\"]))*(?:\"\"\"|$)|\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$))/, null, "'\""]) } else { if (af["multiLineStrings"]) { X.push([E, /^(?:\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$)|\`(?:[^\\\`]|\\[\s\S])*(?:\`|$))/, null, "'\"`"]) } else { X.push([E, /^(?:\'(?:[^\\\'\r\n]|\\.)*(?:\'|$)|\"(?:[^\\\"\r\n]|\\.)*(?:\"|$))/, null, "\"'"]) } } if (af["verbatimStrings"]) { ab.push([E, /^@\"(?:[^\"]|\"\")*(?:\"|$)/, null]) } var ad = af["hashComments"]; if (ad) { if (af["cStyleComments"]) { if (ad > 1) { X.push([j, /^#(?:##(?:[^#]|#(?!##))*(?:###|$)|.*)/, null, "#"]) } else { X.push([j, /^#(?:(?:define|e(?:l|nd)if|else|error|ifn?def|include|line|pragma|undef|warning)\b|[^\r\n]*)/, null, "#"]) } ab.push([E, /^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h(?:h|pp|\+\+)?|[a-z]\w*)>/, null]) } else { X.push([j, /^#[^\r\n]*/, null, "#"]) } } if (af["cStyleComments"]) { ab.push([j, /^\/\/[^\r\n]*/, null]); ab.push([j, /^\/\*[\s\S]*?(?:\*\/|$)/, null]) } var W = af["regexLiterals"]; if (W) { var Y = W > 1 ? "" : "\n\r"; var aa = Y ? "." : "[\\S\\s]"; var Z = ("/(?=[^/*" + Y + "])" + "(?:[^/\\x5B\\x5C" + Y + "]" + "|\\x5C" + aa + "|\\x5B(?:[^\\x5C\\x5D" + Y + "]" + "|\\x5C" + aa + ")*(?:\\x5D|$))+" + "/"); ab.push(["lang-regex", RegExp("^" + O + "(" + Z + ")")]) } var ae = af["types"]; if (ae) { ab.push([R, ae]) } var ac = ("" + af["keywords"]).replace(/^ | $/g, ""); if (ac.length) { ab.push([B, new RegExp("^(?:" + ac.replace(/[\s,]+/g, "|") + ")\\b"), null]) } X.push([H, /^\s+/, null, " \r\n\t\xA0"]); var V = "^.[^\\s\\w.$@'\"`/\\\\]*"; if (af["regexLiterals"]) { V += "(?!s*/)" } ab.push([I, /^@[a-z_$][a-z_$@0-9]*/i, null], [R, /^(?:[@_]?[A-Z]+[a-z][A-Za-z_$@0-9]*|\w+_t\b)/, null], [H, /^[a-z_$][a-z_$@0-9]*/i, null], [I, new RegExp("^(?:" + "0x[a-f0-9]+" + "|(?:\\d(?:_\\d+)*\\d*(?:\\.\\d*)?|\\.\\d\\+)" + "(?:e[+\\-]?\\d+)?" + ")" + "[a-z]*", "i"), null, "0123456789"], [H, /^\\[\s\S]?/, null], [N, new RegExp(V), null]); return f(X, ab) } var M = h({ "keywords": C, "hashComments": true, "cStyleComments": true, "multiLineStrings": true, "regexLiterals": true }); function T(X, ai, ab) { var W = /(?:^|\s)nocode(?:\s|$)/; var ad = /\r\n?|\n/; var ae = X.ownerDocument; var ah = ae.createElement("li"); while (X.firstChild) { ah.appendChild(X.firstChild) } var Y = [ah]; function ag(ao) { var an = ao.nodeType; if (an == 1 && !W.test(ao.className)) { if ("br" === ao.nodeName) { af(ao); if (ao.parentNode) { ao.parentNode.removeChild(ao) } } else { for (var aq = ao.firstChild; aq; aq = aq.nextSibling) { ag(aq) } } } else { if ((an == 3 || an == 4) && ab) { var ap = ao.nodeValue; var al = ap.match(ad); if (al) { var ak = ap.substring(0, al.index); ao.nodeValue = ak; var aj = ap.substring(al.index + al[0].length); if (aj) { var am = ao.parentNode; am.insertBefore(ae.createTextNode(aj), ao.nextSibling) } af(ao); if (!ak) { ao.parentNode.removeChild(ao) } } } } } function af(am) { while (!am.nextSibling) { am = am.parentNode; if (!am) { return } } function ak(an, au) { var at = au ? an.cloneNode(false) : an; var aq = an.parentNode; if (aq) { var ar = ak(aq, 1); var ap = an.nextSibling; ar.appendChild(at); for (var ao = ap; ao; ao = ap) { ap = ao.nextSibling; ar.appendChild(ao) } } return at } var aj = ak(am.nextSibling, 0); for (var al; (al = aj.parentNode) && al.nodeType === 1;) { aj = al } Y.push(aj) } for (var aa = 0; aa < Y.length; ++aa) { ag(Y[aa]) } if (ai === (ai | 0)) { Y[0].setAttribute("value", ai) } var ac = ae.createElement("ol"); ac.className = "linenums"; var Z = Math.max(0, ((ai - 1)) | 0) || 0; for (var aa = 0, V = Y.length; aa < V; ++aa) { ah = Y[aa]; ah.className = "L" + ((aa + Z) % 10); if (!ah.firstChild) { ah.appendChild(ae.createTextNode("\xA0")) } ac.appendChild(ah) } X.appendChild(ac) } function F(ag) { var Y = /\bMSIE\s(\d+)/.exec(navigator.userAgent); Y = Y && +Y[1] <= 8; var ap = /\n/g; var ao = ag.sourceCode; var aq = ao.length; var Z = 0; var ae = ag.spans; var W = ae.length; var ak = 0; var ab = ag.decorations; var ac = ab.length; var ad = 0; ab[ac] = aq; var aw, au; for (au = aw = 0; au < ac;) { if (ab[au] !== ab[au + 2]) { ab[aw++] = ab[au++]; ab[aw++] = ab[au++] } else { au += 2 } } ac = aw; for (au = aw = 0; au < ac;) { var ax = ab[au]; var af = ab[au + 1]; var aa = au + 2; while (aa + 2 <= ac && ab[aa + 1] === af) { aa += 2 } ab[aw++] = ax; ab[aw++] = af; au = aa } ac = ab.length = aw; var av = ag.sourceNode; var al; if (av) { al = av.style.display; av.style.display = "none" } try { var ai = null; while (ak < W) { var aj = ae[ak]; var V = ae[ak + 2] || aq; var at = ab[ad + 2] || aq; var aa = Math.min(V, at); var an = ae[ak + 1]; var X; if (an.nodeType !== 1 && (X = ao.substring(Z, aa))) { if (Y) { X = X.replace(ap, "\r") } an.nodeValue = X; var am = an.ownerDocument; var ar = am.createElement("span"); ar.className = ab[ad + 1]; var ah = an.parentNode; ah.replaceChild(ar, an); ar.appendChild(an); if (Z < V) { ae[ak + 1] = an = am.createTextNode(ao.substring(aa, V)); ah.insertBefore(an, ar.nextSibling) } } Z = aa; if (Z >= V) { ak += 2 } if (Z >= at) { ad += 2 } } } finally { if (av) { av.style.display = al } } } var t = {}; function c(X, Y) { for (var V = Y.length; --V >= 0;) { var W = Y[V]; if (!t.hasOwnProperty(W)) { t[W] = X } else { if (P["console"]) { console["warn"]("cannot override language handler %s", W) } } } } function q(W, V) { if (!(W && t.hasOwnProperty(W))) { W = /^\s*</.test(V) ? "default-markup" : "default-code" } return t[W] } c(M, ["default-code"]); c(f([], [[H, /^[^<?]+/], [G, /^<!\w[^>]*(?:>|$)/], [j, /^<\!--[\s\S]*?(?:-\->|$)/], ["lang-", /^<\?([\s\S]+?)(?:\?>|$)/], ["lang-", /^<%([\s\S]+?)(?:%>|$)/], [N, /^(?:<[%?]|[%?]>)/], ["lang-", /^<xmp\b[^>]*>([\s\S]+?)<\/xmp\b[^>]*>/i], ["lang-js", /^<script\b[^>]*>([\s\S]*?)(<\/script\b[^>]*>)/i], ["lang-css", /^<style\b[^>]*>([\s\S]*?)(<\/style\b[^>]*>)/i], ["lang-in.tag", /^(<\/?[a-z][^<>]*>)/i]]), ["default-markup", "htm", "html", "mxml", "xhtml", "xml", "xsl"]); c(f([[H, /^[\s]+/, null, " \t\r\n"], [n, /^(?:\"[^\"]*\"?|\'[^\']*\'?)/, null, "\"'"]], [[m, /^^<\/?[a-z](?:[\w.:-]*\w)?|\/?>$/i], [S, /^(?!style[\s=]|on)[a-z](?:[\w:-]*\w)?/i], ["lang-uq.val", /^=\s*([^>\'\"\s]*(?:[^>\'\"\s\/]|\/(?=\s)))/], [N, /^[=<>\/]+/], ["lang-js", /^on\w+\s*=\s*\"([^\"]+)\"/i], ["lang-js", /^on\w+\s*=\s*\'([^\']+)\'/i], ["lang-js", /^on\w+\s*=\s*([^\"\'>\s]+)/i], ["lang-css", /^style\s*=\s*\"([^\"]+)\"/i], ["lang-css", /^style\s*=\s*\'([^\']+)\'/i], ["lang-css", /^style\s*=\s*([^\"\'>\s]+)/i]]), ["in.tag"]); c(f([], [[n, /^[\s\S]+/]]), ["uq.val"]); c(h({ "keywords": l, "hashComments": true, "cStyleComments": true, "types": e }), ["c", "cc", "cpp", "cxx", "cyc", "m"]); c(h({ "keywords": "null,true,false" }), ["json"]); c(h({ "keywords": U, "hashComments": true, "cStyleComments": true, "verbatimStrings": true, "types": e }), ["cs"]); c(h({ "keywords": y, "cStyleComments": true }), ["java"]); c(h({ "keywords": J, "hashComments": true, "multiLineStrings": true }), ["bash", "bsh", "csh", "sh"]); c(h({ "keywords": K, "hashComments": true, "multiLineStrings": true, "tripleQuotedStrings": true }), ["cv", "py", "python"]); c(h({ "keywords": s, "hashComments": true, "multiLineStrings": true, "regexLiterals": 2 }), ["perl", "pl", "pm"]); c(h({ "keywords": g, "hashComments": true, "multiLineStrings": true, "regexLiterals": true }), ["rb", "ruby"]); c(h({ "keywords": x, "cStyleComments": true, "regexLiterals": true }), ["javascript", "js"]); c(h({ "keywords": r, "hashComments": 3, "cStyleComments": true, "multilineStrings": true, "tripleQuotedStrings": true, "regexLiterals": true }), ["coffee"]); c(h({ "keywords": z, "cStyleComments": true, "multilineStrings": true }), ["rc", "rs", "rust"]); c(f([], [[E, /^[\s\S]+/]]), ["regex"]); function d(Y) { var X = Y.langExtension; try { var V = b(Y.sourceNode, Y.pre); var W = V.sourceCode; Y.sourceCode = W; Y.spans = V.spans; Y.basePos = 0; q(X, W)(Y); F(Y) } catch (Z) { if (P["console"]) { console["log"](Z && Z["stack"] || Z) } } } function A(Z, Y, X) { var V = document.createElement("div"); V.innerHTML = "<pre>" + Z + "</pre>"; V = V.firstChild; if (X) { T(V, X, true) } var W = { langExtension: Y, numberLines: X, sourceNode: V, pre: 1 }; d(W); return V.innerHTML } function w(al, ab) { var ah = ab || document.body; var ao = ah.ownerDocument || document; function aa(aq) { return ah.getElementsByTagName(aq) } var ad = [aa("pre"), aa("code"), aa("xmp")]; var ae = []; for (var ak = 0; ak < ad.length; ++ak) { for (var aj = 0, ag = ad[ak].length; aj < ag; ++aj) { ae.push(ad[ak][aj]) } } ad = null; var ap = Date; if (!ap["now"]) { ap = { "now": function () { return +(new Date) } } } var ai = 0; var ac; var X = /\blang(?:uage)?-([\w.]+)(?!\S)/; var an = /\bprettyprint\b/; var W = /\bprettyprinted\b/; var Z = /pre|xmp/i; var V = /^code$/i; var Y = /^(?:pre|code|xmp)$/i; var am = {}; function af() { var ay = (P["PR_SHOULD_USE_CONTINUATION"] ? ap["now"]() + 250 : Infinity); for (; ai < ae.length && ap["now"]() < ay; ai++) { var aA = ae[ai]; var aH = am; for (var ax = aA; (ax = ax.previousSibling);) { var aE = ax.nodeType; var aF = (aE === 7 || aE === 8) && ax.nodeValue; if (aF ? !/^\??prettify\b/.test(aF) : (aE !== 3 || /\S/.test(ax.nodeValue))) { break } if (aF) { aH = {}; aF.replace(/\b(\w+)=([\w:.%+-]+)/g, function (aJ, aI, aK) { aH[aI] = aK }); break } } var aB = aA.className; if ((aH !== am || an.test(aB)) && !W.test(aB)) { var aD = false; for (var au = aA.parentNode; au; au = au.parentNode) { var aG = au.tagName; if (Y.test(aG) && au.className && an.test(au.className)) { aD = true; break } } if (!aD) { aA.className += " prettyprinted"; var aw = aH["lang"]; if (!aw) { aw = aB.match(X); var ar; if (!aw && (ar = o(aA)) && V.test(ar.tagName)) { aw = ar.className.match(X) } if (aw) { aw = aw[1] } } var av; if (Z.test(aA.tagName)) { av = 1 } else { var at = aA["currentStyle"]; var az = ao.defaultView; var aq = (at ? at["whiteSpace"] : (az && az.getComputedStyle) ? az.getComputedStyle(aA, null).getPropertyValue("white-space") : 0); av = aq && "pre" === aq.substring(0, 3) } var aC = aH["linenums"]; if (!(aC = aC === "true" || +aC)) { aC = aB.match(/\blinenums\b(?::(\d+))?/); aC = aC ? aC[1] && aC[1].length ? +aC[1] : true : false } if (aC) { T(aA, aC, av) } ac = { langExtension: aw, sourceNode: aA, numberLines: aC, pre: av }; d(ac) } } } if (ai < ae.length) { setTimeout(af, 250) } else { if ("function" === typeof al) { al() } } } af() } var a = P["PR"] = { "createSimpleLexer": f, "registerLangHandler": c, "sourceDecorator": h, "PR_ATTRIB_NAME": S, "PR_ATTRIB_VALUE": n, "PR_COMMENT": j, "PR_DECLARATION": G, "PR_KEYWORD": B, "PR_LITERAL": I, "PR_NOCODE": Q, "PR_PLAIN": H, "PR_PUNCTUATION": N, "PR_SOURCE": L, "PR_STRING": E, "PR_TAG": m, "PR_TYPE": R, "prettyPrintOne": IN_GLOBAL_SCOPE ? (P["prettyPrintOne"] = A) : (prettyPrintOne = A), "prettyPrint": prettyPrint = IN_GLOBAL_SCOPE ? (P["prettyPrint"] = w) : (prettyPrint = w) }; if (typeof define === "function" && define["amd"]) { define("google-code-prettify", [], function () { return a }) } })();
|
|
|
|
|
|
(function () {
|
|
|
function diff_match_patch() { this.Diff_Timeout = 1; this.Diff_EditCost = 4; this.Match_Threshold = 0.5; this.Match_Distance = 1E3; this.Patch_DeleteThreshold = 0.5; this.Patch_Margin = 4; this.Match_MaxBits = 32 }
|
|
|
diff_match_patch.prototype.diff_main = function (a, b, c, d) {
|
|
|
"undefined" == typeof d && (d = 0 >= this.Diff_Timeout ? Number.MAX_VALUE : (new Date).getTime() + 1E3 * this.Diff_Timeout); if (null == a || null == b) throw Error("Null input. (diff_main)"); if (a == b) return a ? [[0, a]] : []; "undefined" == typeof c && (c = !0); var e = c, f = this.diff_commonPrefix(a, b); c = a.substring(0, f); a = a.substring(f); b = b.substring(f); var f = this.diff_commonSuffix(a, b), g = a.substring(a.length - f); a = a.substring(0, a.length - f); b = b.substring(0, b.length - f); a = this.diff_compute_(a,
|
|
|
b, e, d); c && a.unshift([0, c]); g && a.push([0, g]); this.diff_cleanupMerge(a); return a
|
|
|
};
|
|
|
diff_match_patch.prototype.diff_compute_ = function (a, b, c, d) {
|
|
|
if (!a) return [[1, b]]; if (!b) return [[-1, a]]; var e = a.length > b.length ? a : b, f = a.length > b.length ? b : a, g = e.indexOf(f); return -1 != g ? (c = [[1, e.substring(0, g)], [0, f], [1, e.substring(g + f.length)]], a.length > b.length && (c[0][0] = c[2][0] = -1), c) : 1 == f.length ? [[-1, a], [1, b]] : (e = this.diff_halfMatch_(a, b)) ? (f = e[0], a = e[1], g = e[2], b = e[3], e = e[4], f = this.diff_main(f, g, c, d), c = this.diff_main(a, b, c, d), f.concat([[0, e]], c)) : c && 100 < a.length && 100 < b.length ? this.diff_lineMode_(a, b,
|
|
|
d) : this.diff_bisect_(a, b, d)
|
|
|
};
|
|
|
diff_match_patch.prototype.diff_lineMode_ = function (a, b, c) { var d = this.diff_linesToChars_(a, b); a = d.chars1; b = d.chars2; d = d.lineArray; a = this.diff_main(a, b, !1, c); this.diff_charsToLines_(a, d); this.diff_cleanupSemantic(a); a.push([0, ""]); for (var e = d = b = 0, f = "", g = ""; b < a.length;) { switch (a[b][0]) { case 1: e++; g += a[b][1]; break; case -1: d++; f += a[b][1]; break; case 0: if (1 <= d && 1 <= e) { a.splice(b - d - e, d + e); b = b - d - e; d = this.diff_main(f, g, !1, c); for (e = d.length - 1; 0 <= e; e--)a.splice(b, 0, d[e]); b += d.length } d = e = 0; g = f = "" }b++ } a.pop(); return a };
|
|
|
diff_match_patch.prototype.diff_bisect_ = function (a, b, c) {
|
|
|
for (var d = a.length, e = b.length, f = Math.ceil((d + e) / 2), g = f, h = 2 * f, j = Array(h), i = Array(h), k = 0; k < h; k++)j[k] = -1, i[k] = -1; j[g + 1] = 0; i[g + 1] = 0; for (var k = d - e, q = 0 != k % 2, r = 0, t = 0, p = 0, w = 0, v = 0; v < f && !((new Date).getTime() > c); v++) {
|
|
|
for (var n = -v + r; n <= v - t; n += 2) {
|
|
|
var l = g + n, m; m = n == -v || n != v && j[l - 1] < j[l + 1] ? j[l + 1] : j[l - 1] + 1; for (var s = m - n; m < d && s < e && a.charAt(m) == b.charAt(s);)m++, s++; j[l] = m; if (m > d) t += 2; else if (s > e) r += 2; else if (q && (l = g + k - n, 0 <= l && l < h && -1 != i[l])) {
|
|
|
var u = d - i[l]; if (m >=
|
|
|
u) return this.diff_bisectSplit_(a, b, m, s, c)
|
|
|
}
|
|
|
} for (n = -v + p; n <= v - w; n += 2) { l = g + n; u = n == -v || n != v && i[l - 1] < i[l + 1] ? i[l + 1] : i[l - 1] + 1; for (m = u - n; u < d && m < e && a.charAt(d - u - 1) == b.charAt(e - m - 1);)u++, m++; i[l] = u; if (u > d) w += 2; else if (m > e) p += 2; else if (!q && (l = g + k - n, 0 <= l && (l < h && -1 != j[l]) && (m = j[l], s = g + m - l, u = d - u, m >= u))) return this.diff_bisectSplit_(a, b, m, s, c) }
|
|
|
} return [[-1, a], [1, b]]
|
|
|
};
|
|
|
diff_match_patch.prototype.diff_bisectSplit_ = function (a, b, c, d, e) { var f = a.substring(0, c), g = b.substring(0, d); a = a.substring(c); b = b.substring(d); f = this.diff_main(f, g, !1, e); e = this.diff_main(a, b, !1, e); return f.concat(e) };
|
|
|
diff_match_patch.prototype.diff_linesToChars_ = function (a, b) { function c(a) { for (var b = "", c = 0, f = -1, g = d.length; f < a.length - 1;) { f = a.indexOf("\n", c); -1 == f && (f = a.length - 1); var r = a.substring(c, f + 1), c = f + 1; (e.hasOwnProperty ? e.hasOwnProperty(r) : void 0 !== e[r]) ? b += String.fromCharCode(e[r]) : (b += String.fromCharCode(g), e[r] = g, d[g++] = r) } return b } var d = [], e = {}; d[0] = ""; var f = c(a), g = c(b); return { chars1: f, chars2: g, lineArray: d } };
|
|
|
diff_match_patch.prototype.diff_charsToLines_ = function (a, b) { for (var c = 0; c < a.length; c++) { for (var d = a[c][1], e = [], f = 0; f < d.length; f++)e[f] = b[d.charCodeAt(f)]; a[c][1] = e.join("") } }; diff_match_patch.prototype.diff_commonPrefix = function (a, b) { if (!a || !b || a.charAt(0) != b.charAt(0)) return 0; for (var c = 0, d = Math.min(a.length, b.length), e = d, f = 0; c < e;)a.substring(f, e) == b.substring(f, e) ? f = c = e : d = e, e = Math.floor((d - c) / 2 + c); return e };
|
|
|
diff_match_patch.prototype.diff_commonSuffix = function (a, b) { if (!a || !b || a.charAt(a.length - 1) != b.charAt(b.length - 1)) return 0; for (var c = 0, d = Math.min(a.length, b.length), e = d, f = 0; c < e;)a.substring(a.length - e, a.length - f) == b.substring(b.length - e, b.length - f) ? f = c = e : d = e, e = Math.floor((d - c) / 2 + c); return e };
|
|
|
diff_match_patch.prototype.diff_commonOverlap_ = function (a, b) { var c = a.length, d = b.length; if (0 == c || 0 == d) return 0; c > d ? a = a.substring(c - d) : c < d && (b = b.substring(0, c)); c = Math.min(c, d); if (a == b) return c; for (var d = 0, e = 1; ;) { var f = a.substring(c - e), f = b.indexOf(f); if (-1 == f) return d; e += f; if (0 == f || a.substring(c - e) == b.substring(0, e)) d = e, e++ } };
|
|
|
diff_match_patch.prototype.diff_halfMatch_ = function (a, b) {
|
|
|
function c(a, b, c) { for (var d = a.substring(c, c + Math.floor(a.length / 4)), e = -1, g = "", h, j, n, l; -1 != (e = b.indexOf(d, e + 1));) { var m = f.diff_commonPrefix(a.substring(c), b.substring(e)), s = f.diff_commonSuffix(a.substring(0, c), b.substring(0, e)); g.length < s + m && (g = b.substring(e - s, e) + b.substring(e, e + m), h = a.substring(0, c - s), j = a.substring(c + m), n = b.substring(0, e - s), l = b.substring(e + m)) } return 2 * g.length >= a.length ? [h, j, n, l, g] : null } if (0 >= this.Diff_Timeout) return null;
|
|
|
var d = a.length > b.length ? a : b, e = a.length > b.length ? b : a; if (4 > d.length || 2 * e.length < d.length) return null; var f = this, g = c(d, e, Math.ceil(d.length / 4)), d = c(d, e, Math.ceil(d.length / 2)), h; if (!g && !d) return null; h = d ? g ? g[4].length > d[4].length ? g : d : d : g; var j; a.length > b.length ? (g = h[0], d = h[1], e = h[2], j = h[3]) : (e = h[0], j = h[1], g = h[2], d = h[3]); h = h[4]; return [g, d, e, j, h]
|
|
|
};
|
|
|
diff_match_patch.prototype.diff_cleanupSemantic = function (a) {
|
|
|
for (var b = !1, c = [], d = 0, e = null, f = 0, g = 0, h = 0, j = 0, i = 0; f < a.length;)0 == a[f][0] ? (c[d++] = f, g = j, h = i, i = j = 0, e = a[f][1]) : (1 == a[f][0] ? j += a[f][1].length : i += a[f][1].length, e && (e.length <= Math.max(g, h) && e.length <= Math.max(j, i)) && (a.splice(c[d - 1], 0, [-1, e]), a[c[d - 1] + 1][0] = 1, d--, d--, f = 0 < d ? c[d - 1] : -1, i = j = h = g = 0, e = null, b = !0)), f++; b && this.diff_cleanupMerge(a); this.diff_cleanupSemanticLossless(a); for (f = 1; f < a.length;) {
|
|
|
if (-1 == a[f - 1][0] && 1 == a[f][0]) {
|
|
|
b = a[f - 1][1]; c = a[f][1];
|
|
|
d = this.diff_commonOverlap_(b, c); e = this.diff_commonOverlap_(c, b); if (d >= e) { if (d >= b.length / 2 || d >= c.length / 2) a.splice(f, 0, [0, c.substring(0, d)]), a[f - 1][1] = b.substring(0, b.length - d), a[f + 1][1] = c.substring(d), f++ } else if (e >= b.length / 2 || e >= c.length / 2) a.splice(f, 0, [0, b.substring(0, e)]), a[f - 1][0] = 1, a[f - 1][1] = c.substring(0, c.length - e), a[f + 1][0] = -1, a[f + 1][1] = b.substring(e), f++; f++
|
|
|
} f++
|
|
|
}
|
|
|
};
|
|
|
diff_match_patch.prototype.diff_cleanupSemanticLossless = function (a) {
|
|
|
function b(a, b) {
|
|
|
if (!a || !b) return 6; var c = a.charAt(a.length - 1), d = b.charAt(0), e = c.match(diff_match_patch.nonAlphaNumericRegex_), f = d.match(diff_match_patch.nonAlphaNumericRegex_), g = e && c.match(diff_match_patch.whitespaceRegex_), h = f && d.match(diff_match_patch.whitespaceRegex_), c = g && c.match(diff_match_patch.linebreakRegex_), d = h && d.match(diff_match_patch.linebreakRegex_), i = c && a.match(diff_match_patch.blanklineEndRegex_), j = d && b.match(diff_match_patch.blanklineStartRegex_);
|
|
|
return i || j ? 5 : c || d ? 4 : e && !g && h ? 3 : g || h ? 2 : e || f ? 1 : 0
|
|
|
} for (var c = 1; c < a.length - 1;) {
|
|
|
if (0 == a[c - 1][0] && 0 == a[c + 1][0]) {
|
|
|
var d = a[c - 1][1], e = a[c][1], f = a[c + 1][1], g = this.diff_commonSuffix(d, e); if (g) var h = e.substring(e.length - g), d = d.substring(0, d.length - g), e = h + e.substring(0, e.length - g), f = h + f; for (var g = d, h = e, j = f, i = b(d, e) + b(e, f); e.charAt(0) === f.charAt(0);) { var d = d + e.charAt(0), e = e.substring(1) + f.charAt(0), f = f.substring(1), k = b(d, e) + b(e, f); k >= i && (i = k, g = d, h = e, j = f) } a[c - 1][1] != g && (g ? a[c - 1][1] = g : (a.splice(c - 1, 1), c--), a[c][1] =
|
|
|
h, j ? a[c + 1][1] = j : (a.splice(c + 1, 1), c--))
|
|
|
} c++
|
|
|
}
|
|
|
}; diff_match_patch.nonAlphaNumericRegex_ = /[^a-zA-Z0-9]/; diff_match_patch.whitespaceRegex_ = /\s/; diff_match_patch.linebreakRegex_ = /[\r\n]/; diff_match_patch.blanklineEndRegex_ = /\n\r?\n$/; diff_match_patch.blanklineStartRegex_ = /^\r?\n\r?\n/;
|
|
|
diff_match_patch.prototype.diff_cleanupEfficiency = function (a) { for (var b = !1, c = [], d = 0, e = null, f = 0, g = !1, h = !1, j = !1, i = !1; f < a.length;) { if (0 == a[f][0]) a[f][1].length < this.Diff_EditCost && (j || i) ? (c[d++] = f, g = j, h = i, e = a[f][1]) : (d = 0, e = null), j = i = !1; else if (-1 == a[f][0] ? i = !0 : j = !0, e && (g && h && j && i || e.length < this.Diff_EditCost / 2 && 3 == g + h + j + i)) a.splice(c[d - 1], 0, [-1, e]), a[c[d - 1] + 1][0] = 1, d--, e = null, g && h ? (j = i = !0, d = 0) : (d--, f = 0 < d ? c[d - 1] : -1, j = i = !1), b = !0; f++ } b && this.diff_cleanupMerge(a) };
|
|
|
diff_match_patch.prototype.diff_cleanupMerge = function (a) {
|
|
|
a.push([0, ""]); for (var b = 0, c = 0, d = 0, e = "", f = "", g; b < a.length;)switch (a[b][0]) {
|
|
|
case 1: d++; f += a[b][1]; b++; break; case -1: c++; e += a[b][1]; b++; break; case 0: 1 < c + d ? (0 !== c && 0 !== d && (g = this.diff_commonPrefix(f, e), 0 !== g && (0 < b - c - d && 0 == a[b - c - d - 1][0] ? a[b - c - d - 1][1] += f.substring(0, g) : (a.splice(0, 0, [0, f.substring(0, g)]), b++), f = f.substring(g), e = e.substring(g)), g = this.diff_commonSuffix(f, e), 0 !== g && (a[b][1] = f.substring(f.length - g) + a[b][1], f = f.substring(0, f.length -
|
|
|
g), e = e.substring(0, e.length - g))), 0 === c ? a.splice(b - d, c + d, [1, f]) : 0 === d ? a.splice(b - c, c + d, [-1, e]) : a.splice(b - c - d, c + d, [-1, e], [1, f]), b = b - c - d + (c ? 1 : 0) + (d ? 1 : 0) + 1) : 0 !== b && 0 == a[b - 1][0] ? (a[b - 1][1] += a[b][1], a.splice(b, 1)) : b++, c = d = 0, f = e = ""
|
|
|
}"" === a[a.length - 1][1] && a.pop(); c = !1; for (b = 1; b < a.length - 1;)0 == a[b - 1][0] && 0 == a[b + 1][0] && (a[b][1].substring(a[b][1].length - a[b - 1][1].length) == a[b - 1][1] ? (a[b][1] = a[b - 1][1] + a[b][1].substring(0, a[b][1].length - a[b - 1][1].length), a[b + 1][1] = a[b - 1][1] + a[b + 1][1], a.splice(b - 1, 1), c = !0) : a[b][1].substring(0,
|
|
|
a[b + 1][1].length) == a[b + 1][1] && (a[b - 1][1] += a[b + 1][1], a[b][1] = a[b][1].substring(a[b + 1][1].length) + a[b + 1][1], a.splice(b + 1, 1), c = !0)), b++; c && this.diff_cleanupMerge(a)
|
|
|
}; diff_match_patch.prototype.diff_xIndex = function (a, b) { var c = 0, d = 0, e = 0, f = 0, g; for (g = 0; g < a.length; g++) { 1 !== a[g][0] && (c += a[g][1].length); -1 !== a[g][0] && (d += a[g][1].length); if (c > b) break; e = c; f = d } return a.length != g && -1 === a[g][0] ? f : f + (b - e) };
|
|
|
diff_match_patch.prototype.diff_prettyHtml = function (a) { for (var b = [], c = /&/g, d = /</g, e = />/g, f = /\n/g, g = 0; g < a.length; g++) { var h = a[g][0], j = a[g][1], j = j.replace(c, "&").replace(d, "<").replace(e, ">").replace(f, "¶<br>"); switch (h) { case 1: b[g] = '<ins style="background:#e6ffe6;">' + j + "</ins>"; break; case -1: b[g] = '<del style="background:#ffe6e6;">' + j + "</del>"; break; case 0: b[g] = "<span>" + j + "</span>" } } return b.join("") };
|
|
|
diff_match_patch.prototype.diff_text1 = function (a) { for (var b = [], c = 0; c < a.length; c++)1 !== a[c][0] && (b[c] = a[c][1]); return b.join("") }; diff_match_patch.prototype.diff_text2 = function (a) { for (var b = [], c = 0; c < a.length; c++)-1 !== a[c][0] && (b[c] = a[c][1]); return b.join("") }; diff_match_patch.prototype.diff_levenshtein = function (a) { for (var b = 0, c = 0, d = 0, e = 0; e < a.length; e++) { var f = a[e][0], g = a[e][1]; switch (f) { case 1: c += g.length; break; case -1: d += g.length; break; case 0: b += Math.max(c, d), d = c = 0 } } return b += Math.max(c, d) };
|
|
|
diff_match_patch.prototype.diff_toDelta = function (a) { for (var b = [], c = 0; c < a.length; c++)switch (a[c][0]) { case 1: b[c] = "+" + encodeURI(a[c][1]); break; case -1: b[c] = "-" + a[c][1].length; break; case 0: b[c] = "=" + a[c][1].length }return b.join("\t").replace(/%20/g, " ") };
|
|
|
diff_match_patch.prototype.diff_fromDelta = function (a, b) {
|
|
|
for (var c = [], d = 0, e = 0, f = b.split(/\t/g), g = 0; g < f.length; g++) {
|
|
|
var h = f[g].substring(1); switch (f[g].charAt(0)) {
|
|
|
case "+": try { c[d++] = [1, decodeURI(h)] } catch (j) { throw Error("Illegal escape in diff_fromDelta: " + h); } break; case "-": case "=": var i = parseInt(h, 10); if (isNaN(i) || 0 > i) throw Error("Invalid number in diff_fromDelta: " + h); h = a.substring(e, e += i); "=" == f[g].charAt(0) ? c[d++] = [0, h] : c[d++] = [-1, h]; break; default: if (f[g]) throw Error("Invalid diff operation in diff_fromDelta: " +
|
|
|
f[g]);
|
|
|
}
|
|
|
} if (e != a.length) throw Error("Delta length (" + e + ") does not equal source text length (" + a.length + ")."); return c
|
|
|
}; diff_match_patch.prototype.match_main = function (a, b, c) { if (null == a || null == b || null == c) throw Error("Null input. (match_main)"); c = Math.max(0, Math.min(c, a.length)); return a == b ? 0 : a.length ? a.substring(c, c + b.length) == b ? c : this.match_bitap_(a, b, c) : -1 };
|
|
|
diff_match_patch.prototype.match_bitap_ = function (a, b, c) {
|
|
|
function d(a, d) { var e = a / b.length, g = Math.abs(c - d); return !f.Match_Distance ? g ? 1 : e : e + g / f.Match_Distance } if (b.length > this.Match_MaxBits) throw Error("Pattern too long for this browser."); var e = this.match_alphabet_(b), f = this, g = this.Match_Threshold, h = a.indexOf(b, c); -1 != h && (g = Math.min(d(0, h), g), h = a.lastIndexOf(b, c + b.length), -1 != h && (g = Math.min(d(0, h), g))); for (var j = 1 << b.length - 1, h = -1, i, k, q = b.length + a.length, r, t = 0; t < b.length; t++) {
|
|
|
i = 0; for (k = q; i < k;)d(t, c +
|
|
|
k) <= g ? i = k : q = k, k = Math.floor((q - i) / 2 + i); q = k; i = Math.max(1, c - k + 1); var p = Math.min(c + k, a.length) + b.length; k = Array(p + 2); for (k[p + 1] = (1 << t) - 1; p >= i; p--) { var w = e[a.charAt(p - 1)]; k[p] = 0 === t ? (k[p + 1] << 1 | 1) & w : (k[p + 1] << 1 | 1) & w | ((r[p + 1] | r[p]) << 1 | 1) | r[p + 1]; if (k[p] & j && (w = d(t, p - 1), w <= g)) if (g = w, h = p - 1, h > c) i = Math.max(1, 2 * c - h); else break } if (d(t + 1, c) > g) break; r = k
|
|
|
} return h
|
|
|
};
|
|
|
diff_match_patch.prototype.match_alphabet_ = function (a) { for (var b = {}, c = 0; c < a.length; c++)b[a.charAt(c)] = 0; for (c = 0; c < a.length; c++)b[a.charAt(c)] |= 1 << a.length - c - 1; return b };
|
|
|
diff_match_patch.prototype.patch_addContext_ = function (a, b) {
|
|
|
if (0 != b.length) {
|
|
|
for (var c = b.substring(a.start2, a.start2 + a.length1), d = 0; b.indexOf(c) != b.lastIndexOf(c) && c.length < this.Match_MaxBits - this.Patch_Margin - this.Patch_Margin;)d += this.Patch_Margin, c = b.substring(a.start2 - d, a.start2 + a.length1 + d); d += this.Patch_Margin; (c = b.substring(a.start2 - d, a.start2)) && a.diffs.unshift([0, c]); (d = b.substring(a.start2 + a.length1, a.start2 + a.length1 + d)) && a.diffs.push([0, d]); a.start1 -= c.length; a.start2 -= c.length; a.length1 +=
|
|
|
c.length + d.length; a.length2 += c.length + d.length
|
|
|
}
|
|
|
};
|
|
|
diff_match_patch.prototype.patch_make = function (a, b, c) {
|
|
|
var d; if ("string" == typeof a && "string" == typeof b && "undefined" == typeof c) d = a, b = this.diff_main(d, b, !0), 2 < b.length && (this.diff_cleanupSemantic(b), this.diff_cleanupEfficiency(b)); else if (a && "object" == typeof a && "undefined" == typeof b && "undefined" == typeof c) b = a, d = this.diff_text1(b); else if ("string" == typeof a && b && "object" == typeof b && "undefined" == typeof c) d = a; else if ("string" == typeof a && "string" == typeof b && c && "object" == typeof c) d = a, b = c; else throw Error("Unknown call format to patch_make.");
|
|
|
if (0 === b.length) return []; c = []; a = new diff_match_patch.patch_obj; for (var e = 0, f = 0, g = 0, h = d, j = 0; j < b.length; j++) {
|
|
|
var i = b[j][0], k = b[j][1]; !e && 0 !== i && (a.start1 = f, a.start2 = g); switch (i) {
|
|
|
case 1: a.diffs[e++] = b[j]; a.length2 += k.length; d = d.substring(0, g) + k + d.substring(g); break; case -1: a.length1 += k.length; a.diffs[e++] = b[j]; d = d.substring(0, g) + d.substring(g + k.length); break; case 0: k.length <= 2 * this.Patch_Margin && e && b.length != j + 1 ? (a.diffs[e++] = b[j], a.length1 += k.length, a.length2 += k.length) : k.length >= 2 * this.Patch_Margin &&
|
|
|
e && (this.patch_addContext_(a, h), c.push(a), a = new diff_match_patch.patch_obj, e = 0, h = d, f = g)
|
|
|
}1 !== i && (f += k.length); -1 !== i && (g += k.length)
|
|
|
} e && (this.patch_addContext_(a, h), c.push(a)); return c
|
|
|
}; diff_match_patch.prototype.patch_deepCopy = function (a) { for (var b = [], c = 0; c < a.length; c++) { var d = a[c], e = new diff_match_patch.patch_obj; e.diffs = []; for (var f = 0; f < d.diffs.length; f++)e.diffs[f] = d.diffs[f].slice(); e.start1 = d.start1; e.start2 = d.start2; e.length1 = d.length1; e.length2 = d.length2; b[c] = e } return b };
|
|
|
diff_match_patch.prototype.patch_apply = function (a, b) {
|
|
|
if (0 == a.length) return [b, []]; a = this.patch_deepCopy(a); var c = this.patch_addPadding(a); b = c + b + c; this.patch_splitMax(a); for (var d = 0, e = [], f = 0; f < a.length; f++) {
|
|
|
var g = a[f].start2 + d, h = this.diff_text1(a[f].diffs), j, i = -1; if (h.length > this.Match_MaxBits) { if (j = this.match_main(b, h.substring(0, this.Match_MaxBits), g), -1 != j && (i = this.match_main(b, h.substring(h.length - this.Match_MaxBits), g + h.length - this.Match_MaxBits), -1 == i || j >= i)) j = -1 } else j = this.match_main(b, h, g);
|
|
|
if (-1 == j) e[f] = !1, d -= a[f].length2 - a[f].length1; else if (e[f] = !0, d = j - g, g = -1 == i ? b.substring(j, j + h.length) : b.substring(j, i + this.Match_MaxBits), h == g) b = b.substring(0, j) + this.diff_text2(a[f].diffs) + b.substring(j + h.length); else if (g = this.diff_main(h, g, !1), h.length > this.Match_MaxBits && this.diff_levenshtein(g) / h.length > this.Patch_DeleteThreshold) e[f] = !1; else {
|
|
|
this.diff_cleanupSemanticLossless(g); for (var h = 0, k, i = 0; i < a[f].diffs.length; i++) {
|
|
|
var q = a[f].diffs[i]; 0 !== q[0] && (k = this.diff_xIndex(g, h)); 1 === q[0] ? b = b.substring(0,
|
|
|
j + k) + q[1] + b.substring(j + k) : -1 === q[0] && (b = b.substring(0, j + k) + b.substring(j + this.diff_xIndex(g, h + q[1].length))); -1 !== q[0] && (h += q[1].length)
|
|
|
}
|
|
|
}
|
|
|
} b = b.substring(c.length, b.length - c.length); return [b, e]
|
|
|
};
|
|
|
diff_match_patch.prototype.patch_addPadding = function (a) {
|
|
|
for (var b = this.Patch_Margin, c = "", d = 1; d <= b; d++)c += String.fromCharCode(d); for (d = 0; d < a.length; d++)a[d].start1 += b, a[d].start2 += b; var d = a[0], e = d.diffs; if (0 == e.length || 0 != e[0][0]) e.unshift([0, c]), d.start1 -= b, d.start2 -= b, d.length1 += b, d.length2 += b; else if (b > e[0][1].length) { var f = b - e[0][1].length; e[0][1] = c.substring(e[0][1].length) + e[0][1]; d.start1 -= f; d.start2 -= f; d.length1 += f; d.length2 += f } d = a[a.length - 1]; e = d.diffs; 0 == e.length || 0 != e[e.length - 1][0] ? (e.push([0,
|
|
|
c]), d.length1 += b, d.length2 += b) : b > e[e.length - 1][1].length && (f = b - e[e.length - 1][1].length, e[e.length - 1][1] += c.substring(0, f), d.length1 += f, d.length2 += f); return c
|
|
|
};
|
|
|
diff_match_patch.prototype.patch_splitMax = function (a) {
|
|
|
for (var b = this.Match_MaxBits, c = 0; c < a.length; c++)if (!(a[c].length1 <= b)) {
|
|
|
var d = a[c]; a.splice(c--, 1); for (var e = d.start1, f = d.start2, g = ""; 0 !== d.diffs.length;) {
|
|
|
var h = new diff_match_patch.patch_obj, j = !0; h.start1 = e - g.length; h.start2 = f - g.length; "" !== g && (h.length1 = h.length2 = g.length, h.diffs.push([0, g])); for (; 0 !== d.diffs.length && h.length1 < b - this.Patch_Margin;) {
|
|
|
var g = d.diffs[0][0], i = d.diffs[0][1]; 1 === g ? (h.length2 += i.length, f += i.length, h.diffs.push(d.diffs.shift()),
|
|
|
j = !1) : -1 === g && 1 == h.diffs.length && 0 == h.diffs[0][0] && i.length > 2 * b ? (h.length1 += i.length, e += i.length, j = !1, h.diffs.push([g, i]), d.diffs.shift()) : (i = i.substring(0, b - h.length1 - this.Patch_Margin), h.length1 += i.length, e += i.length, 0 === g ? (h.length2 += i.length, f += i.length) : j = !1, h.diffs.push([g, i]), i == d.diffs[0][1] ? d.diffs.shift() : d.diffs[0][1] = d.diffs[0][1].substring(i.length))
|
|
|
} g = this.diff_text2(h.diffs); g = g.substring(g.length - this.Patch_Margin); i = this.diff_text1(d.diffs).substring(0, this.Patch_Margin); "" !== i &&
|
|
|
(h.length1 += i.length, h.length2 += i.length, 0 !== h.diffs.length && 0 === h.diffs[h.diffs.length - 1][0] ? h.diffs[h.diffs.length - 1][1] += i : h.diffs.push([0, i])); j || a.splice(++c, 0, h)
|
|
|
}
|
|
|
}
|
|
|
}; diff_match_patch.prototype.patch_toText = function (a) { for (var b = [], c = 0; c < a.length; c++)b[c] = a[c]; return b.join("") };
|
|
|
diff_match_patch.prototype.patch_fromText = function (a) {
|
|
|
var b = []; if (!a) return b; a = a.split("\n"); for (var c = 0, d = /^@@ -(\d+),?(\d*) \+(\d+),?(\d*) @@$/; c < a.length;) {
|
|
|
var e = a[c].match(d); if (!e) throw Error("Invalid patch string: " + a[c]); var f = new diff_match_patch.patch_obj; b.push(f); f.start1 = parseInt(e[1], 10); "" === e[2] ? (f.start1--, f.length1 = 1) : "0" == e[2] ? f.length1 = 0 : (f.start1--, f.length1 = parseInt(e[2], 10)); f.start2 = parseInt(e[3], 10); "" === e[4] ? (f.start2--, f.length2 = 1) : "0" == e[4] ? f.length2 = 0 : (f.start2--, f.length2 =
|
|
|
parseInt(e[4], 10)); for (c++; c < a.length;) { e = a[c].charAt(0); try { var g = decodeURI(a[c].substring(1)) } catch (h) { throw Error("Illegal escape in patch_fromText: " + g); } if ("-" == e) f.diffs.push([-1, g]); else if ("+" == e) f.diffs.push([1, g]); else if (" " == e) f.diffs.push([0, g]); else if ("@" == e) break; else if ("" !== e) throw Error('Invalid patch mode "' + e + '" in: ' + g); c++ }
|
|
|
} return b
|
|
|
}; diff_match_patch.patch_obj = function () { this.diffs = []; this.start2 = this.start1 = null; this.length2 = this.length1 = 0 };
|
|
|
diff_match_patch.patch_obj.prototype.toString = function () { var a, b; a = 0 === this.length1 ? this.start1 + ",0" : 1 == this.length1 ? this.start1 + 1 : this.start1 + 1 + "," + this.length1; b = 0 === this.length2 ? this.start2 + ",0" : 1 == this.length2 ? this.start2 + 1 : this.start2 + 1 + "," + this.length2; a = ["@@ -" + a + " +" + b + " @@\n"]; var c; for (b = 0; b < this.diffs.length; b++) { switch (this.diffs[b][0]) { case 1: c = "+"; break; case -1: c = "-"; break; case 0: c = " " }a[b + 1] = c + encodeURI(this.diffs[b][1]) + "\n" } return a.join("").replace(/%20/g, " ") };
|
|
|
this.diff_match_patch = diff_match_patch; this.DIFF_DELETE = -1; this.DIFF_INSERT = 1; this.DIFF_EQUAL = 0;
|
|
|
})();
|
|
|
|
|
|
// ---------------------------------------------------------------------------------edu_tpi.js START
|
|
|
var repositoryTabHeight = 40
|
|
|
|
|
|
$(function () {
|
|
|
function update_rows_and_cols(rows) {
|
|
|
window.postMessage({ tp: 'resize', rows: rows, cols: 0 }, "*");
|
|
|
}
|
|
|
window.top.__updateWebsshRows = update_rows_and_cols
|
|
|
|
|
|
// TPI拖拽功能 begin
|
|
|
var doc = $(document);
|
|
|
var lab = $(".b-label");
|
|
|
var cen = $(".h-center");
|
|
|
var nextW2, nextW1;
|
|
|
var dragging = false;
|
|
|
var flag = false;
|
|
|
var wrapWidth;
|
|
|
var wrapHeight;
|
|
|
var nRow = 0;
|
|
|
//var nCol = 0;
|
|
|
lab.live('mousedown touchstart', function () {
|
|
|
$('#game_webssh').css('pointer-events', 'none')
|
|
|
dragging = true;
|
|
|
leftOffset = $(".labelN").offset().left;
|
|
|
wrapWidth = $(".labelN").width();
|
|
|
return false;
|
|
|
}
|
|
|
);
|
|
|
cen.live('mousedown ', function () {
|
|
|
// 使得iframe不捕获事件
|
|
|
$('#game_webssh').css('pointer-events', 'none')
|
|
|
flag = true;
|
|
|
topOffset = $(".centerH").offset().top;
|
|
|
wrapHeight = $(".centerH").height();
|
|
|
return false;
|
|
|
});
|
|
|
|
|
|
var FF = !(window.mozInnerScreenX == null);
|
|
|
var websshLineHeight = FF ? 19 : 18
|
|
|
|
|
|
doc.live('mousemove touchmove', function (e) {
|
|
|
|
|
|
if (dragging) {
|
|
|
clickX = e.pageX || e.originalEvent.touches[0].pageX;;
|
|
|
if (clickX > leftOffset + 0 && clickX < leftOffset + 1600) {
|
|
|
// console.log('resize')
|
|
|
lab.css('left', clickX - 7 - leftOffset + 'px');
|
|
|
$("#game_left_contents").width(clickX - leftOffset + 'px');
|
|
|
nextW2 = clickX - leftOffset;
|
|
|
$("#game_right_contents").width(wrapWidth - nextW2 + 'px');
|
|
|
} else {
|
|
|
lab.css('left', '0px');
|
|
|
}
|
|
|
}
|
|
|
if (flag) {
|
|
|
clickY = e.pageY;
|
|
|
if (clickY > topOffset + 100) {
|
|
|
cen.css('top', clickY - 7 - topOffset + 'px');
|
|
|
$("#games_repository_contents").height(clickY - topOffset + 'px');
|
|
|
|
|
|
// react add
|
|
|
$('.CodeMirror.cm-s-railscasts')
|
|
|
.css("height", clickY - topOffset - repositoryTabHeight - $('#games_repository_contents .codePath').height() - 12);
|
|
|
|
|
|
nextW1 = clickY - topOffset;
|
|
|
$("#games_valuation_contents").height(wrapHeight - nextW1 + 'px');
|
|
|
var h = $("#games_repository_contents").height() - $("#top_repository").height() - repositoryTabHeight;
|
|
|
var m = $("#games_repository_contents").height() - repositoryTabHeight;
|
|
|
$(".game_webssh").css("min-height", m);
|
|
|
$(".game_webssh").css("max-height", m);
|
|
|
// 火狐下行高为19
|
|
|
// CodeRepositoryView.js有同样的计算逻辑,用来初始化ssh
|
|
|
var rows = Math.round(m / websshLineHeight);
|
|
|
//var cols = parseInt(w / 6.2);
|
|
|
$("#file_entry_content").find(".CodeMirror-scroll").css("min-height", h);
|
|
|
$("#file_entry_content").find(".CodeMirror-scroll").css("max-height", h);
|
|
|
} else {
|
|
|
cen.css('top', '0px');
|
|
|
}
|
|
|
// 行高发生变化,则调整webssh的term的高度
|
|
|
if (nRow != rows) {
|
|
|
//window.frames['game_webssh'].contentWindow.resizeTerminal({rows:rows});
|
|
|
update_rows_and_cols(rows);
|
|
|
nRow = rows;
|
|
|
} else {
|
|
|
nRow = rows;
|
|
|
}
|
|
|
}
|
|
|
});
|
|
|
|
|
|
doc.live("mouseup touchend", function (e) {
|
|
|
// 使得iframe可以继续捕获事件
|
|
|
$('#game_webssh').css('pointer-events', 'inherit')
|
|
|
flag = false;
|
|
|
dragging = false;
|
|
|
e.cancelBubble = true;
|
|
|
});
|
|
|
|
|
|
window.__tpiOnResize = function () {
|
|
|
var m = $("#games_repository_contents").height() - repositoryTabHeight;
|
|
|
$(".game_webssh").css("min-height", m);
|
|
|
$(".game_webssh").css("max-height", m);
|
|
|
|
|
|
var FF = !(window.mozInnerScreenX == null);
|
|
|
var websshLineHeight = FF ? 19 : 18
|
|
|
|
|
|
var rows = Math.floor(m / websshLineHeight);
|
|
|
window.top.__updateWebsshRows && window.top.__updateWebsshRows(rows)
|
|
|
}
|
|
|
window.refresh_editor_monaco = function (height) {
|
|
|
}
|
|
|
// end;
|
|
|
//解決IE瀏覽器大小改變時webssh佈局變亂。
|
|
|
window.onresize = function () {
|
|
|
__tpiOnResize()
|
|
|
}
|
|
|
});
|
|
|
|
|
|
|
|
|
var control = 0; // 版本库控制 0表示点击放大 1表示点击缩小
|
|
|
var control_1 = 0; // 测评控制 0表示点击放大 1表示点击缩小
|
|
|
// 版本库的放大与缩小
|
|
|
function repository_extend_and_zoom() {
|
|
|
var nGameRes = $("#games_repository_contents"); // 版本库区域
|
|
|
var nGameEva = $("#games_valuation_contents"); // 评测区域
|
|
|
var nRIcon = $("#extend_and_zoom").children("i"); // 版本库放大缩小按钮
|
|
|
var nMove = $(".h-center");
|
|
|
if (control == 0) {
|
|
|
nGameRes.addClass("-flex-basic100");
|
|
|
nGameEva.addClass("-flex-basic0");
|
|
|
nRIcon.addClass("fa-compress");
|
|
|
nRIcon.removeClass("fa-expand");
|
|
|
// $("#extend_and_zoom").attr("data-tip-left","收起");
|
|
|
nMove.hide();
|
|
|
control = 1;
|
|
|
} else if (control == 1) {
|
|
|
nGameRes.removeClass("-flex-basic100");
|
|
|
nGameEva.removeClass("-flex-basic0");
|
|
|
nRIcon.removeClass("fa-compress");
|
|
|
nRIcon.addClass("fa-expand");
|
|
|
// $("#extend_and_zoom").attr("data-tip-left","展开");
|
|
|
nMove.show();
|
|
|
control = 0;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
|
|
|
// 测评的扩大与缩小
|
|
|
function valuation_extend_and_zoom() {
|
|
|
var nGameRes = $("#games_repository_contents"); // 版本库区域
|
|
|
var nGameEva = $("#games_valuation_contents"); // 评测区域
|
|
|
var nVIcon = $("#valuation_extend_and_zoom").children("i"); // 评测放大缩小
|
|
|
var nMove = $(".h-center");
|
|
|
if (control_1 == 0) {
|
|
|
nGameRes.addClass("-flex-basic0");
|
|
|
nGameEva.addClass("-flex-basic100");
|
|
|
nVIcon.removeClass("fa-expand");
|
|
|
nVIcon.addClass("fa-compress");
|
|
|
nMove.hide();
|
|
|
control_1 = 1;
|
|
|
} else if (control_1 == 1) {
|
|
|
nGameRes.removeClass("-flex-basic0");
|
|
|
nGameEva.removeClass("-flex-basic100");
|
|
|
nVIcon.addClass("fa-expand");
|
|
|
nVIcon.removeClass("fa-compress");
|
|
|
nMove.show();
|
|
|
control_1 = 0;
|
|
|
}
|
|
|
}
|
|
|
// end
|
|
|
|
|
|
// ---------------------------------------------------------------------------------------------
|
|
|
// md编辑器拖拽改变高度,TODO其他初始化参数,高度改变阈值...
|
|
|
// 写这里,供非react版本时copy一份用
|
|
|
function initMDEditorDragResize(resizeBarSelector, mdEditor, options) {
|
|
|
if (!options) {
|
|
|
options = {}
|
|
|
}
|
|
|
if ($('#' + mdEditor.id).length === 0) {
|
|
|
console.error('未找到editor')
|
|
|
return;
|
|
|
}
|
|
|
var doc = $(document);
|
|
|
var editor__resize = $('#' + mdEditor.id).parent().find(resizeBarSelector);
|
|
|
if (editor__resize.length === 0) {
|
|
|
console.error('未找到resizeBar')
|
|
|
return;
|
|
|
}
|
|
|
var dragging = false;
|
|
|
var topOffset, clickY, initDelta;
|
|
|
var initHeight = options.initHeight || 240;
|
|
|
|
|
|
editor__resize.on('mousedown', function () {
|
|
|
dragging = true;
|
|
|
topOffset = editor__resize.offset().top;
|
|
|
initDelta = $('#' + mdEditor.id).height() - initHeight;
|
|
|
});
|
|
|
doc.live('mousemove', function (e) {
|
|
|
if (dragging) {
|
|
|
clickY = e.pageY;
|
|
|
|
|
|
var delta = clickY - topOffset + initDelta;
|
|
|
if (delta > 300) {
|
|
|
delta = 300;
|
|
|
}
|
|
|
if (delta < 0) {
|
|
|
delta = 0;
|
|
|
}
|
|
|
|
|
|
mdEditor.resize('', (initHeight + delta) + 'px')
|
|
|
|
|
|
// $('#memo_comment_editorMd').height(initHeight + delta)
|
|
|
}
|
|
|
return false
|
|
|
});
|
|
|
|
|
|
doc.live("mouseup", function (e) {
|
|
|
dragging = false;
|
|
|
});
|
|
|
}
|
|
|
|
|
|
// 计算文本宽度 https://stackoverflow.com/questions/1582534/calculating-text-width
|
|
|
function _textWidth(text, font) {
|
|
|
if (!window._fakeEl) window._fakeEl = $('<span>').hide().appendTo(document.body);
|
|
|
window._fakeEl.text(typeof text == 'object' ? text.val() || text.text() : text).css('font', font || text.css('font'));
|
|
|
return window._fakeEl.width();
|
|
|
}
|
|
|
|
|
|
// ---------------------------------------------------------------------------------------------
|
|
|
/**
|
|
|
* 评论使用的mdeditor初始化
|
|
|
* @param id 渲染DOM的id
|
|
|
* @param width 宽度
|
|
|
* @param high 高度
|
|
|
* @param placeholder
|
|
|
* @param imageUrl 上传图片的url
|
|
|
* @returns {*} 返回一个editorMD实例
|
|
|
*/
|
|
|
var _path = "/editormd/lib/"
|
|
|
var _isDev = window.location.port === "3007";
|
|
|
if (_isDev) {
|
|
|
_path = 'http://localhost:3000/editormd/lib/'
|
|
|
}
|
|
|
function create_editorMD_4comment(id, width, high, placeholder, imageUrl, callback, otherOptions) {
|
|
|
var editorName = window.editormd(id, Object.assign({
|
|
|
width: width,
|
|
|
height: high,
|
|
|
syncScrolling: "single",
|
|
|
//你的lib目录的路径,我这边用JSP做测试的
|
|
|
path: _path, // "/editormd/lib/"
|
|
|
markdown: '',
|
|
|
tex: true,
|
|
|
tocm: true,
|
|
|
emoji: true,
|
|
|
taskList: true,
|
|
|
codeFold: true,
|
|
|
searchReplace: true,
|
|
|
htmlDecode: "style,script,iframe",
|
|
|
sequenceDiagram: true,
|
|
|
autoFocus: false,
|
|
|
toolbarIcons: function () {
|
|
|
// Or return editormd.toolbarModes[name]; // full, simple, mini
|
|
|
// Using "||" set icons align right.
|
|
|
return ["bold", "italic", "|", "list-ul", "list-ol", "|", "code", "code-block", "|"
|
|
|
, "testIcon", "testIcon1", '|', "emoji", "image", "table", '|', "watch", "clear"]
|
|
|
},
|
|
|
toolbarCustomIcons: {
|
|
|
testIcon: "<a type=\"inline\" class=\"latex\" ><div class='zbg'></div></a>",
|
|
|
testIcon1: "<a type=\"latex\" class=\"latex\" ><div class='zbg_latex'></div></a>"
|
|
|
},
|
|
|
//这个配置在simple.html中并没有,但是为了能够提交表单,使用这个配置可以让构造出来的HTML代码直接在第二个隐藏的textarea域中,方便post提交表单。
|
|
|
saveHTMLToTextarea: true,
|
|
|
// 用于增加自定义工具栏的功能,可以直接插入HTML标签,不使用默认的元素创建图标
|
|
|
dialogMaskOpacity: 0.6,
|
|
|
placeholder: placeholder,
|
|
|
imageUpload: true,
|
|
|
imageFormats: ["jpg", "jpeg", "gif", "png", "bmp", "webp", "JPG", "JPEG", "GIF", "PNG", "BMP", "WEBP"],
|
|
|
imageUploadURL: imageUrl,//url
|
|
|
onload: function () {
|
|
|
// this.previewing();
|
|
|
$("#" + id + " [type=\"latex\"]").bind("click", function () {
|
|
|
editorName.cm.replaceSelection("```latex");
|
|
|
editorName.cm.replaceSelection("\n");
|
|
|
editorName.cm.replaceSelection("\n");
|
|
|
editorName.cm.replaceSelection("```");
|
|
|
var __Cursor = editorName.cm.getDoc().getCursor();
|
|
|
editorName.cm.setCursor(__Cursor.line - 1, 0);
|
|
|
});
|
|
|
|
|
|
$("#" + id + " [type=\"inline\"]").bind("click", function () {
|
|
|
editorName.cm.replaceSelection("$$$$");
|
|
|
var __Cursor = editorName.cm.getDoc().getCursor();
|
|
|
editorName.cm.setCursor(__Cursor.line, __Cursor.ch - 2);
|
|
|
editorName.cm.focus();
|
|
|
});
|
|
|
$("[type=\"inline\"]").attr("title", "行内公式");
|
|
|
$("[type=\"latex\"]").attr("title", "多行公式");
|
|
|
|
|
|
callback && callback()
|
|
|
}
|
|
|
}, otherOptions));
|
|
|
return editorName;
|
|
|
}
|
|
|
|
|
|
function is_cdn_link(contents) {
|
|
|
if (contents.indexOf("http") != -1
|
|
|
|| contents.indexOf("com") != -1
|
|
|
|| contents.indexOf("net") != -1
|
|
|
|| contents.indexOf("org") != -1
|
|
|
|| contents.indexOf("cdn") != -1) {
|
|
|
return true;
|
|
|
} else {
|
|
|
return false;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
function tpi_html_show(contents) {
|
|
|
var $htmlForm = $("#html_form");
|
|
|
var src = contents;
|
|
|
var arrCSS = [];
|
|
|
var arrSript = [];
|
|
|
var patternLink = /<link(?:.*?)href=[\"\‘](.+?)[\"\‘](?!<)(?:.*)\>(?:[\n\r\s]*?)(?:<\/link>)*/im;
|
|
|
var patternScript = /<script(?:.*?)src=[\"\‘](.+?)[\"\‘](?!<)(?:.*)\>(?:[\n\r\s]*?)(?:<\/script>)*/im;
|
|
|
var arrayMatchesLink = patternLink.exec(src);
|
|
|
var arrayMatchesScript = patternScript.exec(src);
|
|
|
|
|
|
// css部分
|
|
|
while (arrayMatchesLink != null) {
|
|
|
if (is_cdn_link(arrayMatchesLink[1])) {
|
|
|
src = src.replace(arrayMatchesLink[0], arrayMatchesLink[0].replace(/link/, "edulink"));
|
|
|
} else {
|
|
|
src = src.replace(patternLink, "EDUCODERCSS");
|
|
|
arrCSS.push(arrayMatchesLink[1]);
|
|
|
}
|
|
|
arrayMatchesLink = patternLink.exec(src);
|
|
|
}
|
|
|
// js部分
|
|
|
while (arrayMatchesScript != null) {
|
|
|
if (is_cdn_link(arrayMatchesScript[1])) {
|
|
|
src = src.replace(arrayMatchesScript[0], arrayMatchesScript[0].replace(/script/g, "w3scrw3ipttag"));
|
|
|
} else {
|
|
|
src = src.replace(patternScript, "EDUCODERJS");
|
|
|
arrSript.push(arrayMatchesScript[1]);
|
|
|
}
|
|
|
arrayMatchesScript = patternScript.exec(src);
|
|
|
}
|
|
|
// html部分 为了防止xss攻击,先将敏感字符转换
|
|
|
src = src.replace(/=/gi, "w3equalsign").replace(/script/gi, "w3scrw3ipttag");
|
|
|
|
|
|
$("#data_param").val(src);
|
|
|
$("#data_css_param").val(arrCSS);
|
|
|
$("#data_js_param").val(arrSript);
|
|
|
$htmlForm.submit();
|
|
|
} |