!function (t, e) { "object" == typeof module && "object" == typeof module.exports ? module.exports = t.document ? e(t, !0) : function (t) { if (!t.document) throw new Error("jQuery requires a window with a document"); return e(t) } : e(t) }("undefined" != typeof window ? window : this, function (x, t) { function e(t, e) { return e.toUpperCase() } var n = [], C = x.document, l = n.slice, g = n.concat, a = n.push, i = n.indexOf, r = {}, o = r.toString, d = r.hasOwnProperty, m = {}, s = "2.2.4", k = function (t, e) { return new k.fn.init(t, e) }, u = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, c = /^-ms-/, h = /-([\da-z])/gi; function f(t) { var e = !!t && "length" in t && t.length, n = k.type(t); return "function" !== n && !k.isWindow(t) && ("array" === n || 0 === e || "number" == typeof e && 0 < e && e - 1 in t) } k.fn = k.prototype = { jquery: s, constructor: k, selector: "", length: 0, toArray: function () { return l.call(this) }, get: function (t) { return null != t ? t < 0 ? this[t + this.length] : this[t] : l.call(this) }, pushStack: function (t) { t = k.merge(this.constructor(), t); return t.prevObject = this, t.context = this.context, t }, each: function (t) { return k.each(this, t) }, map: function (n) { return this.pushStack(k.map(this, function (t, e) { return n.call(t, e, t) })) }, slice: function () { return this.pushStack(l.apply(this, arguments)) }, first: function () { return this.eq(0) }, last: function () { return this.eq(-1) }, eq: function (t) { var e = this.length, t = +t + (t < 0 ? e : 0); return this.pushStack(0 <= t && t < e ? [this[t]] : []) }, end: function () { return this.prevObject || this.constructor() }, push: a, sort: n.sort, splice: n.splice }, k.extend = k.fn.extend = function () { var t, e, n, r, i, o = arguments[0] || {}, s = 1, a = arguments.length, u = !1; for ("boolean" == typeof o && (u = o, o = arguments[s] || {}, s++), "object" == typeof o || k.isFunction(o) || (o = {}), s === a && (o = this, s--); s < a; s++)if (null != (t = arguments[s])) for (e in t) i = o[e], n = t[e], o !== n && (u && n && (k.isPlainObject(n) || (r = k.isArray(n))) ? (i = r ? (r = !1, i && k.isArray(i) ? i : []) : i && k.isPlainObject(i) ? i : {}, o[e] = k.extend(u, i, n)) : void 0 !== n && (o[e] = n)); return o }, k.extend({ expando: "jQuery" + (s + Math.random()).replace(/\D/g, ""), isReady: !0, error: function (t) { throw new Error(t) }, noop: function () { }, isFunction: function (t) { return "function" === k.type(t) }, isArray: Array.isArray, isWindow: function (t) { return null != t && t === t.window }, isNumeric: function (t) { var e = t && t.toString(); return !k.isArray(t) && 0 <= e - parseFloat(e) + 1 }, isPlainObject: function (t) { if ("object" !== k.type(t) || t.nodeType || k.isWindow(t)) return !1; if (t.constructor && !d.call(t, "constructor") && !d.call(t.constructor.prototype || {}, "isPrototypeOf")) return !1; for (var e in t); return void 0 === e || d.call(t, e) }, isEmptyObject: function (t) { for (var e in t) return !1; return !0 }, type: function (t) { return null == t ? t + "" : "object" == typeof t || "function" == typeof t ? r[o.call(t)] || "object" : typeof t }, globalEval: function (t) { var e, n = eval; (t = k.trim(t)) && (1 === t.indexOf("use strict") ? ((e = C.createElement("script")).text = t, C.head.appendChild(e).parentNode.removeChild(e)) : n(t)) }, camelCase: function (t) { return t.replace(c, "ms-").replace(h, e) }, nodeName: function (t, e) { return t.nodeName && t.nodeName.toLowerCase() === e.toLowerCase() }, each: function (t, e) { var n, r = 0; if (f(t)) for (n = t.length; r < n && !1 !== e.call(t[r], r, t[r]); r++); else for (r in t) if (!1 === e.call(t[r], r, t[r])) break; return t }, trim: function (t) { return null == t ? "" : (t + "").replace(u, "") }, makeArray: function (t, e) { e = e || []; return null != t && (f(Object(t)) ? k.merge(e, "string" == typeof t ? [t] : t) : a.call(e, t)), e }, inArray: function (t, e, n) { return null == e ? -1 : i.call(e, t, n) }, merge: function (t, e) { for (var n = +e.length, r = 0, i = t.length; r < n; r++)t[i++] = e[r]; return t.length = i, t }, grep: function (t, e, n) { for (var r = [], i = 0, o = t.length, s = !n; i < o; i++)!e(t[i], i) != s && r.push(t[i]); return r }, map: function (t, e, n) { var r, i, o = 0, s = []; if (f(t)) for (r = t.length; o < r; o++)null != (i = e(t[o], o, n)) && s.push(i); else for (o in t) i = e(t[o], o, n), null != i && s.push(i); return g.apply([], s) }, guid: 1, proxy: function (t, e) { var n, r; return "string" == typeof e && (r = t[e], e = t, t = r), k.isFunction(t) ? (n = l.call(arguments, 2), (r = function () { return t.apply(e || this, n.concat(l.call(arguments))) }).guid = t.guid = t.guid || k.guid++, r) : void 0 }, now: Date.now, support: m }), "function" == typeof Symbol && (k.fn[Symbol.iterator] = n[Symbol.iterator]), k.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "), function (t, e) { r["[object " + e + "]"] = e.toLowerCase() }); var p = function (n) { function h(t, e, n) { var r = "0x" + e - 65536; return r != r || n ? e : r < 0 ? String.fromCharCode(65536 + r) : String.fromCharCode(r >> 10 | 55296, 1023 & r | 56320) } function e() { x() } var t, d, w, o, r, g, f, m, _, u, c, x, C, i, k, v, s, a, y, S = "sizzle" + +new Date, b = n.document, O = 0, l = 0, p = it(), E = it(), T = it(), A = function (t, e) { return t === e && (c = !0), 0 }, I = {}.hasOwnProperty, j = [], P = j.pop, N = j.push, D = j.push, R = j.slice, M = function (t, e) { for (var n = 0, r = t.length; n < r; n++)if (t[n] === e) return n; return -1 }, W = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped", L = "[\\x20\\t\\r\\n\\f]", F = "(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+", H = "\\[" + L + "*(" + F + ")(?:" + L + "*([*^$|!~]?=)" + L + "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + F + "))|)" + L + "*\\]", B = ":(" + F + ")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|" + H + ")*)|.*)\\)|)", q = new RegExp(L + "+", "g"), z = new RegExp("^" + L + "+|((?:^|[^\\\\])(?:\\\\.)*)" + L + "+$", "g"), U = new RegExp("^" + L + "*," + L + "*"), G = new RegExp("^" + L + "*([>+~]|" + L + ")" + L + "*"), V = new RegExp("=" + L + "*([^\\]'\"]*?)" + L + "*\\]", "g"), $ = new RegExp(B), X = new RegExp("^" + F + "$"), Y = { ID: new RegExp("^#(" + F + ")"), CLASS: new RegExp("^\\.(" + F + ")"), TAG: new RegExp("^(" + F + "|[*])"), ATTR: new RegExp("^" + H), PSEUDO: new RegExp("^" + B), CHILD: new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + L + "*(even|odd|(([+-]|)(\\d*)n|)" + L + "*(?:([+-]|)" + L + "*(\\d+)|))" + L + "*\\)|)", "i"), bool: new RegExp("^(?:" + W + ")$", "i"), needsContext: new RegExp("^" + L + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + L + "*((?:-\\d)?\\d*)" + L + "*\\)|)(?=[^-]|$)", "i") }, K = /^(?:input|select|textarea|button)$/i, Q = /^h\d$/i, J = /^[^{]+\{\s*\[native \w/, Z = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/, tt = /[+~]/, et = /'|\\/g, nt = new RegExp("\\\\([\\da-f]{1,6}" + L + "?|(" + L + ")|.)", "ig"); try { D.apply(j = R.call(b.childNodes), b.childNodes), j[b.childNodes.length].nodeType } catch (t) { D = { apply: j.length ? function (t, e) { N.apply(t, R.call(e)) } : function (t, e) { for (var n = t.length, r = 0; t[n++] = e[r++];); t.length = n - 1 } } } function rt(t, e, n, r) { var i, o, s, a, u, c, l, h, f = e && e.ownerDocument, p = e ? e.nodeType : 9; if (n = n || [], "string" != typeof t || !t || 1 !== p && 9 !== p && 11 !== p) return n; if (!r && ((e ? e.ownerDocument || e : b) !== C && x(e), e = e || C, k)) { if (11 !== p && (c = Z.exec(t))) if (i = c[1]) { if (9 === p) { if (!(s = e.getElementById(i))) return n; if (s.id === i) return n.push(s), n } else if (f && (s = f.getElementById(i)) && y(e, s) && s.id === i) return n.push(s), n } else { if (c[2]) return D.apply(n, e.getElementsByTagName(t)), n; if ((i = c[3]) && d.getElementsByClassName && e.getElementsByClassName) return D.apply(n, e.getElementsByClassName(i)), n } if (d.qsa && !T[t + " "] && (!v || !v.test(t))) { if (1 !== p) f = e, h = t; else if ("object" !== e.nodeName.toLowerCase()) { for ((a = e.getAttribute("id")) ? a = a.replace(et, "\\$&") : e.setAttribute("id", a = S), o = (l = g(t)).length, u = X.test(a) ? "#" + a : "[id='" + a + "']"; o--;)l[o] = u + " " + ft(l[o]); h = l.join(","), f = tt.test(t) && lt(e.parentNode) || e } if (h) try { return D.apply(n, f.querySelectorAll(h)), n } catch (t) { } finally { a === S && e.removeAttribute("id") } } } return m(t.replace(z, "$1"), e, n, r) } function it() { var n = []; function r(t, e) { return n.push(t + " ") > w.cacheLength && delete r[n.shift()], r[t + " "] = e } return r } function ot(t) { return t[S] = !0, t } function st(t) { var e = C.createElement("div"); try { return !!t(e) } catch (t) { return !1 } finally { e.parentNode && e.parentNode.removeChild(e), e = null } } function at(t, e) { for (var n = t.split("|"), r = n.length; r--;)w.attrHandle[n[r]] = e } function ut(t, e) { var n = e && t, r = n && 1 === t.nodeType && 1 === e.nodeType && (~e.sourceIndex || 1 << 31) - (~t.sourceIndex || 1 << 31); if (r) return r; if (n) for (; n = n.nextSibling;)if (n === e) return -1; return t ? 1 : -1 } function ct(s) { return ot(function (o) { return o = +o, ot(function (t, e) { for (var n, r = s([], t.length, o), i = r.length; i--;)t[n = r[i]] && (t[n] = !(e[n] = t[n])) }) }) } function lt(t) { return t && void 0 !== t.getElementsByTagName && t } for (t in d = rt.support = {}, r = rt.isXML = function (t) { t = t && (t.ownerDocument || t).documentElement; return !!t && "HTML" !== t.nodeName }, x = rt.setDocument = function (t) { var t = t ? t.ownerDocument || t : b; return t !== C && 9 === t.nodeType && t.documentElement && (i = (C = t).documentElement, k = !r(C), (t = C.defaultView) && t.top !== t && (t.addEventListener ? t.addEventListener("unload", e, !1) : t.attachEvent && t.attachEvent("onunload", e)), d.attributes = st(function (t) { return t.className = "i", !t.getAttribute("className") }), d.getElementsByTagName = st(function (t) { return t.appendChild(C.createComment("")), !t.getElementsByTagName("*").length }), d.getElementsByClassName = J.test(C.getElementsByClassName), d.getById = st(function (t) { return i.appendChild(t).id = S, !C.getElementsByName || !C.getElementsByName(S).length }), d.getById ? (w.find.ID = function (t, e) { if (void 0 !== e.getElementById && k) { t = e.getElementById(t); return t ? [t] : [] } }, w.filter.ID = function (t) { var e = t.replace(nt, h); return function (t) { return t.getAttribute("id") === e } }) : (delete w.find.ID, w.filter.ID = function (t) { var e = t.replace(nt, h); return function (t) { t = void 0 !== t.getAttributeNode && t.getAttributeNode("id"); return t && t.value === e } }), w.find.TAG = d.getElementsByTagName ? function (t, e) { return void 0 !== e.getElementsByTagName ? e.getElementsByTagName(t) : d.qsa ? e.querySelectorAll(t) : void 0 } : function (t, e) { var n, r = [], i = 0, o = e.getElementsByTagName(t); if ("*" !== t) return o; for (; n = o[i++];)1 === n.nodeType && r.push(n); return r }, w.find.CLASS = d.getElementsByClassName && function (t, e) { return void 0 !== e.getElementsByClassName && k ? e.getElementsByClassName(t) : void 0 }, s = [], v = [], (d.qsa = J.test(C.querySelectorAll)) && (st(function (t) { i.appendChild(t).innerHTML = "", t.querySelectorAll("[msallowcapture^='']").length && v.push("[*^$]=" + L + "*(?:''|\"\")"), t.querySelectorAll("[selected]").length || v.push("\\[" + L + "*(?:value|" + W + ")"), t.querySelectorAll("[id~=" + S + "-]").length || v.push("~="), t.querySelectorAll(":checked").length || v.push(":checked"), t.querySelectorAll("a#" + S + "+*").length || v.push(".#.+[+~]") }), st(function (t) { var e = C.createElement("input"); e.setAttribute("type", "hidden"), t.appendChild(e).setAttribute("name", "D"), t.querySelectorAll("[name=d]").length && v.push("name" + L + "*[*^$|!~]?="), t.querySelectorAll(":enabled").length || v.push(":enabled", ":disabled"), t.querySelectorAll("*,:x"), v.push(",.*:") })), (d.matchesSelector = J.test(a = i.matches || i.webkitMatchesSelector || i.mozMatchesSelector || i.oMatchesSelector || i.msMatchesSelector)) && st(function (t) { d.disconnectedMatch = a.call(t, "div"), a.call(t, "[s!='']:x"), s.push("!=", B) }), v = v.length && new RegExp(v.join("|")), s = s.length && new RegExp(s.join("|")), t = J.test(i.compareDocumentPosition), y = t || J.test(i.contains) ? function (t, e) { var n = 9 === t.nodeType ? t.documentElement : t, e = e && e.parentNode; return t === e || !(!e || 1 !== e.nodeType || !(n.contains ? n.contains(e) : t.compareDocumentPosition && 16 & t.compareDocumentPosition(e))) } : function (t, e) { if (e) for (; e = e.parentNode;)if (e === t) return !0; return !1 }, A = t ? function (t, e) { if (t === e) return c = !0, 0; var n = !t.compareDocumentPosition - !e.compareDocumentPosition; return n || (1 & (n = (t.ownerDocument || t) === (e.ownerDocument || e) ? t.compareDocumentPosition(e) : 1) || !d.sortDetached && e.compareDocumentPosition(t) === n ? t === C || t.ownerDocument === b && y(b, t) ? -1 : e === C || e.ownerDocument === b && y(b, e) ? 1 : u ? M(u, t) - M(u, e) : 0 : 4 & n ? -1 : 1) } : function (t, e) { if (t === e) return c = !0, 0; var n, r = 0, i = t.parentNode, o = e.parentNode, s = [t], a = [e]; if (!i || !o) return t === C ? -1 : e === C ? 1 : i ? -1 : o ? 1 : u ? M(u, t) - M(u, e) : 0; if (i === o) return ut(t, e); for (n = t; n = n.parentNode;)s.unshift(n); for (n = e; n = n.parentNode;)a.unshift(n); for (; s[r] === a[r];)r++; return r ? ut(s[r], a[r]) : s[r] === b ? -1 : a[r] === b ? 1 : 0 }), C }, rt.matches = function (t, e) { return rt(t, null, null, e) }, rt.matchesSelector = function (t, e) { if ((t.ownerDocument || t) !== C && x(t), e = e.replace(V, "='$1']"), d.matchesSelector && k && !T[e + " "] && (!s || !s.test(e)) && (!v || !v.test(e))) try { var n = a.call(t, e); if (n || d.disconnectedMatch || t.document && 11 !== t.document.nodeType) return n } catch (t) { } return 0 < rt(e, C, null, [t]).length }, rt.contains = function (t, e) { return (t.ownerDocument || t) !== C && x(t), y(t, e) }, rt.attr = function (t, e) { (t.ownerDocument || t) !== C && x(t); var n = w.attrHandle[e.toLowerCase()], n = n && I.call(w.attrHandle, e.toLowerCase()) ? n(t, e, !k) : void 0; return void 0 !== n ? n : d.attributes || !k ? t.getAttribute(e) : (n = t.getAttributeNode(e)) && n.specified ? n.value : null }, rt.error = function (t) { throw new Error("Syntax error, unrecognized expression: " + t) }, rt.uniqueSort = function (t) { var e, n = [], r = 0, i = 0; if (c = !d.detectDuplicates, u = !d.sortStable && t.slice(0), t.sort(A), c) { for (; e = t[i++];)e === t[i] && (r = n.push(i)); for (; r--;)t.splice(n[r], 1) } return u = null, t }, o = rt.getText = function (t) { var e, n = "", r = 0, i = t.nodeType; if (i) { if (1 === i || 9 === i || 11 === i) { if ("string" == typeof t.textContent) return t.textContent; for (t = t.firstChild; t; t = t.nextSibling)n += o(t) } else if (3 === i || 4 === i) return t.nodeValue } else for (; e = t[r++];)n += o(e); return n }, (w = rt.selectors = { cacheLength: 50, createPseudo: ot, match: Y, attrHandle: {}, find: {}, relative: { ">": { dir: "parentNode", first: !0 }, " ": { dir: "parentNode" }, "+": { dir: "previousSibling", first: !0 }, "~": { dir: "previousSibling" } }, preFilter: { ATTR: function (t) { return t[1] = t[1].replace(nt, h), t[3] = (t[3] || t[4] || t[5] || "").replace(nt, h), "~=" === t[2] && (t[3] = " " + t[3] + " "), t.slice(0, 4) }, CHILD: function (t) { return t[1] = t[1].toLowerCase(), "nth" === t[1].slice(0, 3) ? (t[3] || rt.error(t[0]), t[4] = +(t[4] ? t[5] + (t[6] || 1) : 2 * ("even" === t[3] || "odd" === t[3])), t[5] = +(t[7] + t[8] || "odd" === t[3])) : t[3] && rt.error(t[0]), t }, PSEUDO: function (t) { var e, n = !t[6] && t[2]; return Y.CHILD.test(t[0]) ? null : (t[3] ? t[2] = t[4] || t[5] || "" : n && $.test(n) && (e = g(n, !0)) && (e = n.indexOf(")", n.length - e) - n.length) && (t[0] = t[0].slice(0, e), t[2] = n.slice(0, e)), t.slice(0, 3)) } }, filter: { TAG: function (t) { var e = t.replace(nt, h).toLowerCase(); return "*" === t ? function () { return !0 } : function (t) { return t.nodeName && t.nodeName.toLowerCase() === e } }, CLASS: function (t) { var e = p[t + " "]; return e || (e = new RegExp("(^|" + L + ")" + t + "(" + L + "|$)")) && p(t, function (t) { return e.test("string" == typeof t.className && t.className || void 0 !== t.getAttribute && t.getAttribute("class") || "") }) }, ATTR: function (e, n, r) { return function (t) { t = rt.attr(t, e); return null == t ? "!=" === n : !n || (t += "", "=" === n ? t === r : "!=" === n ? t !== r : "^=" === n ? r && 0 === t.indexOf(r) : "*=" === n ? r && -1 < t.indexOf(r) : "$=" === n ? r && t.slice(-r.length) === r : "~=" === n ? -1 < (" " + t.replace(q, " ") + " ").indexOf(r) : "|=" === n && (t === r || t.slice(0, r.length + 1) === r + "-")) } }, CHILD: function (d, t, e, g, m) { var v = "nth" !== d.slice(0, 3), y = "last" !== d.slice(-4), b = "of-type" === t; return 1 === g && 0 === m ? function (t) { return !!t.parentNode } : function (t, e, n) { var r, i, o, s, a, u, c = v != y ? "nextSibling" : "previousSibling", l = t.parentNode, h = b && t.nodeName.toLowerCase(), f = !n && !b, p = !1; if (l) { if (v) { for (; c;) { for (s = t; s = s[c];)if (b ? s.nodeName.toLowerCase() === h : 1 === s.nodeType) return !1; u = c = "only" === d && !u && "nextSibling" } return !0 } if (u = [y ? l.firstChild : l.lastChild], y && f) { for (p = (a = (r = (i = (o = (s = l)[S] || (s[S] = {}))[s.uniqueID] || (o[s.uniqueID] = {}))[d] || [])[0] === O && r[1]) && r[2], s = a && l.childNodes[a]; s = ++a && s && s[c] || (p = a = 0) || u.pop();)if (1 === s.nodeType && ++p && s === t) { i[d] = [O, a, p]; break } } else if (f && (p = a = (r = (i = (o = (s = t)[S] || (s[S] = {}))[s.uniqueID] || (o[s.uniqueID] = {}))[d] || [])[0] === O && r[1]), !1 === p) for (; (s = ++a && s && s[c] || (p = a = 0) || u.pop()) && ((b ? s.nodeName.toLowerCase() !== h : 1 !== s.nodeType) || !++p || (f && ((i = (o = s[S] || (s[S] = {}))[s.uniqueID] || (o[s.uniqueID] = {}))[d] = [O, p]), s !== t));); return (p -= m) === g || p % g == 0 && 0 <= p / g } } }, PSEUDO: function (t, o) { var e, s = w.pseudos[t] || w.setFilters[t.toLowerCase()] || rt.error("unsupported pseudo: " + t); return s[S] ? s(o) : 1 < s.length ? (e = [t, t, "", o], w.setFilters.hasOwnProperty(t.toLowerCase()) ? ot(function (t, e) { for (var n, r = s(t, o), i = r.length; i--;)t[n = M(t, r[i])] = !(e[n] = r[i]) }) : function (t) { return s(t, 0, e) }) : s } }, pseudos: { not: ot(function (t) { var r = [], i = [], a = f(t.replace(z, "$1")); return a[S] ? ot(function (t, e, n, r) { for (var i, o = a(t, null, r, []), s = t.length; s--;)(i = o[s]) && (t[s] = !(e[s] = i)) }) : function (t, e, n) { return r[0] = t, a(r, null, n, i), r[0] = null, !i.pop() } }), has: ot(function (e) { return function (t) { return 0 < rt(e, t).length } }), contains: ot(function (e) { return e = e.replace(nt, h), function (t) { return -1 < (t.textContent || t.innerText || o(t)).indexOf(e) } }), lang: ot(function (n) { return X.test(n || "") || rt.error("unsupported lang: " + n), n = n.replace(nt, h).toLowerCase(), function (t) { var e; do { if (e = k ? t.lang : t.getAttribute("xml:lang") || t.getAttribute("lang")) return (e = e.toLowerCase()) === n || 0 === e.indexOf(n + "-") } while ((t = t.parentNode) && 1 === t.nodeType); return !1 } }), target: function (t) { var e = n.location && n.location.hash; return e && e.slice(1) === t.id }, root: function (t) { return t === i }, focus: function (t) { return t === C.activeElement && (!C.hasFocus || C.hasFocus()) && !!(t.type || t.href || ~t.tabIndex) }, enabled: function (t) { return !1 === t.disabled }, disabled: function (t) { return !0 === t.disabled }, checked: function (t) { var e = t.nodeName.toLowerCase(); return "input" === e && !!t.checked || "option" === e && !!t.selected }, selected: function (t) { return t.parentNode && t.parentNode.selectedIndex, !0 === t.selected }, empty: function (t) { for (t = t.firstChild; t; t = t.nextSibling)if (t.nodeType < 6) return !1; return !0 }, parent: function (t) { return !w.pseudos.empty(t) }, header: function (t) { return Q.test(t.nodeName) }, input: function (t) { return K.test(t.nodeName) }, button: function (t) { var e = t.nodeName.toLowerCase(); return "input" === e && "button" === t.type || "button" === e }, text: function (t) { return "input" === t.nodeName.toLowerCase() && "text" === t.type && (null == (t = t.getAttribute("type")) || "text" === t.toLowerCase()) }, first: ct(function () { return [0] }), last: ct(function (t, e) { return [e - 1] }), eq: ct(function (t, e, n) { return [n < 0 ? n + e : n] }), even: ct(function (t, e) { for (var n = 0; n < e; n += 2)t.push(n); return t }), odd: ct(function (t, e) { for (var n = 1; n < e; n += 2)t.push(n); return t }), lt: ct(function (t, e, n) { for (var r = n < 0 ? n + e : n; 0 <= --r;)t.push(r); return t }), gt: ct(function (t, e, n) { for (var r = n < 0 ? n + e : n; ++r < e;)t.push(r); return t }) } }).pseudos.nth = w.pseudos.eq, { radio: !0, checkbox: !0, file: !0, password: !0, image: !0 }) w.pseudos[t] = function (e) { return function (t) { return "input" === t.nodeName.toLowerCase() && t.type === e } }(t); for (t in { submit: !0, reset: !0 }) w.pseudos[t] = function (n) { return function (t) { var e = t.nodeName.toLowerCase(); return ("input" === e || "button" === e) && t.type === n } }(t); function ht() { } function ft(t) { for (var e = 0, n = t.length, r = ""; e < n; e++)r += t[e].value; return r } function pt(s, t, e) { var a = t.dir, u = e && "parentNode" === a, c = l++; return t.first ? function (t, e, n) { for (; t = t[a];)if (1 === t.nodeType || u) return s(t, e, n) } : function (t, e, n) { var r, i, o = [O, c]; if (n) { for (; t = t[a];)if ((1 === t.nodeType || u) && s(t, e, n)) return !0 } else for (; t = t[a];)if (1 === t.nodeType || u) { if ((i = (r = (i = t[S] || (t[S] = {}))[t.uniqueID] || (i[t.uniqueID] = {}))[a]) && i[0] === O && i[1] === c) return o[2] = i[2]; if ((r[a] = o)[2] = s(t, e, n)) return !0 } } } function dt(i) { return 1 < i.length ? function (t, e, n) { for (var r = i.length; r--;)if (!i[r](t, e, n)) return !1; return !0 } : i[0] } function gt(t, e, n, r, i) { for (var o, s = [], a = 0, u = t.length, c = null != e; a < u; a++)(o = t[a]) && (n && !n(o, r, i) || (s.push(o), c && e.push(a))); return s } function mt(p, d, g, m, v, t) { return m && !m[S] && (m = mt(m)), v && !v[S] && (v = mt(v, t)), ot(function (t, e, n, r) { var i, o, s, a = [], u = [], c = e.length, l = t || function (t, e, n) { for (var r = 0, i = e.length; r < i; r++)rt(t, e[r], n); return n }(d || "*", n.nodeType ? [n] : n, []), h = !p || !t && d ? l : gt(l, a, p, n, r), f = g ? v || (t ? p : c || m) ? [] : e : h; if (g && g(h, f, n, r), m) for (i = gt(f, u), m(i, [], n, r), o = i.length; o--;)(s = i[o]) && (f[u[o]] = !(h[u[o]] = s)); if (t) { if (v || p) { if (v) { for (i = [], o = f.length; o--;)(s = f[o]) && i.push(h[o] = s); v(null, f = [], i, r) } for (o = f.length; o--;)(s = f[o]) && -1 < (i = v ? M(t, s) : a[o]) && (t[i] = !(e[i] = s)) } } else f = gt(f === e ? f.splice(c, f.length) : f), v ? v(null, e, f, r) : D.apply(e, f) }) } function vt(m, v) { function t(t, e, n, r, i) { var o, s, a, u = 0, c = "0", l = t && [], h = [], f = _, p = t || b && w.find.TAG("*", i), d = O += null == f ? 1 : Math.random() || .1, g = p.length; for (i && (_ = e === C || e || i); c !== g && null != (o = p[c]); c++) { if (b && o) { for (s = 0, e || o.ownerDocument === C || (x(o), n = !k); a = m[s++];)if (a(o, e || C, n)) { r.push(o); break } i && (O = d) } y && ((o = !a && o) && u--, t && l.push(o)) } if (u += c, y && c !== u) { for (s = 0; a = v[s++];)a(l, h, e, n); if (t) { if (0 < u) for (; c--;)l[c] || h[c] || (h[c] = P.call(r)); h = gt(h) } D.apply(r, h), i && !t && 0 < h.length && 1 < u + v.length && rt.uniqueSort(r) } return i && (O = d, _ = f), l } var y = 0 < v.length, b = 0 < m.length; return y ? ot(t) : t } return ht.prototype = w.filters = w.pseudos, w.setFilters = new ht, g = rt.tokenize = function (t, e) { var n, r, i, o, s, a, u, c = E[t + " "]; if (c) return e ? 0 : c.slice(0); for (s = t, a = [], u = w.preFilter; s;) { for (o in n && !(r = U.exec(s)) || (r && (s = s.slice(r[0].length) || s), a.push(i = [])), n = !1, (r = G.exec(s)) && (n = r.shift(), i.push({ value: n, type: r[0].replace(z, " ") }), s = s.slice(n.length)), w.filter) !(r = Y[o].exec(s)) || u[o] && !(r = u[o](r)) || (n = r.shift(), i.push({ value: n, type: o, matches: r }), s = s.slice(n.length)); if (!n) break } return e ? s.length : s ? rt.error(t) : E(t, a).slice(0) }, f = rt.compile = function (t, e) { var n, r = [], i = [], o = T[t + " "]; if (!o) { for (n = (e = e || g(t)).length; n--;)((o = function t(e) { for (var r, n, i, o = e.length, s = w.relative[e[0].type], a = s || w.relative[" "], u = s ? 1 : 0, c = pt(function (t) { return t === r }, a, !0), l = pt(function (t) { return -1 < M(r, t) }, a, !0), h = [function (t, e, n) { return n = !s && (n || e !== _) || ((r = e).nodeType ? c : l)(t, e, n), r = null, n }]; u < o; u++)if (n = w.relative[e[u].type]) h = [pt(dt(h), n)]; else { if ((n = w.filter[e[u].type].apply(null, e[u].matches))[S]) { for (i = ++u; i < o && !w.relative[e[i].type]; i++); return mt(1 < u && dt(h), 1 < u && ft(e.slice(0, u - 1).concat({ value: " " === e[u - 2].type ? "*" : "" })).replace(z, "$1"), n, u < i && t(e.slice(u, i)), i < o && t(e = e.slice(i)), i < o && ft(e)) } h.push(n) } return dt(h) }(e[n]))[S] ? r : i).push(o); (o = T(t, vt(i, r))).selector = t } return o }, m = rt.select = function (t, e, n, r) { var i, o, s, a, u, c = "function" == typeof t && t, l = !r && g(t = c.selector || t); if (n = n || [], 1 === l.length) { if (2 < (o = l[0] = l[0].slice(0)).length && "ID" === (s = o[0]).type && d.getById && 9 === e.nodeType && k && w.relative[o[1].type]) { if (!(e = (w.find.ID(s.matches[0].replace(nt, h), e) || [])[0])) return n; c && (e = e.parentNode), t = t.slice(o.shift().value.length) } for (i = Y.needsContext.test(t) ? 0 : o.length; i-- && (s = o[i], !w.relative[a = s.type]);)if ((u = w.find[a]) && (r = u(s.matches[0].replace(nt, h), tt.test(o[0].type) && lt(e.parentNode) || e))) { if (o.splice(i, 1), !(t = r.length && ft(o))) return D.apply(n, r), n; break } } return (c || f(t, l))(r, e, !k, n, !e || tt.test(t) && lt(e.parentNode) || e), n }, d.sortStable = S.split("").sort(A).join("") === S, d.detectDuplicates = !!c, x(), d.sortDetached = st(function (t) { return 1 & t.compareDocumentPosition(C.createElement("div")) }), st(function (t) { return t.innerHTML = "", "#" === t.firstChild.getAttribute("href") }) || at("type|href|height|width", function (t, e, n) { return n ? void 0 : t.getAttribute(e, "type" === e.toLowerCase() ? 1 : 2) }), d.attributes && st(function (t) { return t.innerHTML = "", t.firstChild.setAttribute("value", ""), "" === t.firstChild.getAttribute("value") }) || at("value", function (t, e, n) { return n || "input" !== t.nodeName.toLowerCase() ? void 0 : t.defaultValue }), st(function (t) { return null == t.getAttribute("disabled") }) || at(W, function (t, e, n) { return n ? void 0 : !0 === t[e] ? e.toLowerCase() : (e = t.getAttributeNode(e)) && e.specified ? e.value : null }), rt }(x); k.find = p, k.expr = p.selectors, k.expr[":"] = k.expr.pseudos, k.uniqueSort = k.unique = p.uniqueSort, k.text = p.getText, k.isXMLDoc = p.isXML, k.contains = p.contains; function v(t, e, n) { for (var r = [], i = void 0 !== n; (t = t[e]) && 9 !== t.nodeType;)if (1 === t.nodeType) { if (i && k(t).is(n)) break; r.push(t) } return r } function y(t, e) { for (var n = []; t; t = t.nextSibling)1 === t.nodeType && t !== e && n.push(t); return n } var b = k.expr.match.needsContext, w = /^<([\w-]+)\s*\/?>(?:<\/\1>|)$/, _ = /^.[^:#\[\.,]*$/; function S(t, n, r) { if (k.isFunction(n)) return k.grep(t, function (t, e) { return !!n.call(t, e, t) !== r }); if (n.nodeType) return k.grep(t, function (t) { return t === n !== r }); if ("string" == typeof n) { if (_.test(n)) return k.filter(n, t, r); n = k.filter(n, t) } return k.grep(t, function (t) { return -1 < i.call(n, t) !== r }) } k.filter = function (t, e, n) { var r = e[0]; return n && (t = ":not(" + t + ")"), 1 === e.length && 1 === r.nodeType ? k.find.matchesSelector(r, t) ? [r] : [] : k.find.matches(t, k.grep(e, function (t) { return 1 === t.nodeType })) }, k.fn.extend({ find: function (t) { var e, n = this.length, r = [], i = this; if ("string" != typeof t) return this.pushStack(k(t).filter(function () { for (e = 0; e < n; e++)if (k.contains(i[e], this)) return !0 })); for (e = 0; e < n; e++)k.find(t, i[e], r); return (r = this.pushStack(1 < n ? k.unique(r) : r)).selector = this.selector ? this.selector + " " + t : t, r }, filter: function (t) { return this.pushStack(S(this, t || [], !1)) }, not: function (t) { return this.pushStack(S(this, t || [], !0)) }, is: function (t) { return !!S(this, "string" == typeof t && b.test(t) ? k(t) : t || [], !1).length } }); var O, E = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/; (k.fn.init = function (t, e, n) { if (!t) return this; if (n = n || O, "string" != typeof t) return t.nodeType ? (this.context = this[0] = t, this.length = 1, this) : k.isFunction(t) ? void 0 !== n.ready ? n.ready(t) : t(k) : (void 0 !== t.selector && (this.selector = t.selector, this.context = t.context), k.makeArray(t, this)); if (!(r = "<" === t[0] && ">" === t[t.length - 1] && 3 <= t.length ? [null, t, null] : E.exec(t)) || !r[1] && e) return (!e || e.jquery ? e || n : this.constructor(e)).find(t); if (r[1]) { if (e = e instanceof k ? e[0] : e, k.merge(this, k.parseHTML(r[1], e && e.nodeType ? e.ownerDocument || e : C, !0)), w.test(r[1]) && k.isPlainObject(e)) for (var r in e) k.isFunction(this[r]) ? this[r](e[r]) : this.attr(r, e[r]); return this } return (n = C.getElementById(r[2])) && n.parentNode && (this.length = 1, this[0] = n), this.context = C, this.selector = t, this }).prototype = k.fn, O = k(C); var T = /^(?:parents|prev(?:Until|All))/, A = { children: !0, contents: !0, next: !0, prev: !0 }; function I(t, e) { for (; (t = t[e]) && 1 !== t.nodeType;); return t } k.fn.extend({ has: function (t) { var e = k(t, this), n = e.length; return this.filter(function () { for (var t = 0; t < n; t++)if (k.contains(this, e[t])) return !0 }) }, closest: function (t, e) { for (var n, r = 0, i = this.length, o = [], s = b.test(t) || "string" != typeof t ? k(t, e || this.context) : 0; r < i; r++)for (n = this[r]; n && n !== e; n = n.parentNode)if (n.nodeType < 11 && (s ? -1 < s.index(n) : 1 === n.nodeType && k.find.matchesSelector(n, t))) { o.push(n); break } return this.pushStack(1 < o.length ? k.uniqueSort(o) : o) }, index: function (t) { return t ? "string" == typeof t ? i.call(k(t), this[0]) : i.call(this, t.jquery ? t[0] : t) : this[0] && this[0].parentNode ? this.first().prevAll().length : -1 }, add: function (t, e) { return this.pushStack(k.uniqueSort(k.merge(this.get(), k(t, e)))) }, addBack: function (t) { return this.add(null == t ? this.prevObject : this.prevObject.filter(t)) } }), k.each({ parent: function (t) { t = t.parentNode; return t && 11 !== t.nodeType ? t : null }, parents: function (t) { return v(t, "parentNode") }, parentsUntil: function (t, e, n) { return v(t, "parentNode", n) }, next: function (t) { return I(t, "nextSibling") }, prev: function (t) { return I(t, "previousSibling") }, nextAll: function (t) { return v(t, "nextSibling") }, prevAll: function (t) { return v(t, "previousSibling") }, nextUntil: function (t, e, n) { return v(t, "nextSibling", n) }, prevUntil: function (t, e, n) { return v(t, "previousSibling", n) }, siblings: function (t) { return y((t.parentNode || {}).firstChild, t) }, children: function (t) { return y(t.firstChild) }, contents: function (t) { return t.contentDocument || k.merge([], t.childNodes) } }, function (r, i) { k.fn[r] = function (t, e) { var n = k.map(this, i, t); return "Until" !== r.slice(-5) && (e = t), e && "string" == typeof e && (n = k.filter(e, n)), 1 < this.length && (A[r] || k.uniqueSort(n), T.test(r) && n.reverse()), this.pushStack(n) } }); var j, P = /\S+/g; function N() { C.removeEventListener("DOMContentLoaded", N), x.removeEventListener("load", N), k.ready() } k.Callbacks = function (r) { var t, n; r = "string" == typeof r ? (t = r, n = {}, k.each(t.match(P) || [], function (t, e) { n[e] = !0 }), n) : k.extend({}, r); function i() { for (a = r.once, s = o = !0; c.length; l = -1)for (e = c.shift(); ++l < u.length;)!1 === u[l].apply(e[0], e[1]) && r.stopOnFalse && (l = u.length, e = !1); r.memory || (e = !1), o = !1, a && (u = e ? [] : "") } var o, e, s, a, u = [], c = [], l = -1, h = { add: function () { return u && (e && !o && (l = u.length - 1, c.push(e)), function n(t) { k.each(t, function (t, e) { k.isFunction(e) ? r.unique && h.has(e) || u.push(e) : e && e.length && "string" !== k.type(e) && n(e) }) }(arguments), e && !o && i()), this }, remove: function () { return k.each(arguments, function (t, e) { for (var n; -1 < (n = k.inArray(e, u, n));)u.splice(n, 1), n <= l && l-- }), this }, has: function (t) { return t ? -1 < k.inArray(t, u) : 0 < u.length }, empty: function () { return u = u && [], this }, disable: function () { return a = c = [], u = e = "", this }, disabled: function () { return !u }, lock: function () { return a = c = [], e || (u = e = ""), this }, locked: function () { return !!a }, fireWith: function (t, e) { return a || (e = [t, (e = e || []).slice ? e.slice() : e], c.push(e), o || i()), this }, fire: function () { return h.fireWith(this, arguments), this }, fired: function () { return !!s } }; return h }, k.extend({ Deferred: function (t) { var o = [["resolve", "done", k.Callbacks("once memory"), "resolved"], ["reject", "fail", k.Callbacks("once memory"), "rejected"], ["notify", "progress", k.Callbacks("memory")]], i = "pending", s = { state: function () { return i }, always: function () { return a.done(arguments).fail(arguments), this }, then: function () { var i = arguments; return k.Deferred(function (r) { k.each(o, function (t, e) { var n = k.isFunction(i[t]) && i[t]; a[e[1]](function () { var t = n && n.apply(this, arguments); t && k.isFunction(t.promise) ? t.promise().progress(r.notify).done(r.resolve).fail(r.reject) : r[e[0] + "With"](this === s ? r.promise() : this, n ? [t] : arguments) }) }), i = null }).promise() }, promise: function (t) { return null != t ? k.extend(t, s) : s } }, a = {}; return s.pipe = s.then, k.each(o, function (t, e) { var n = e[2], r = e[3]; s[e[1]] = n.add, r && n.add(function () { i = r }, o[1 ^ t][2].disable, o[2][2].lock), a[e[0]] = function () { return a[e[0] + "With"](this === a ? s : this, arguments), this }, a[e[0] + "With"] = n.fireWith }), s.promise(a), t && t.call(a, a), a }, when: function (t) { function e(e, n, r) { return function (t) { n[e] = this, r[e] = 1 < arguments.length ? l.call(arguments) : t, r === i ? c.notifyWith(n, r) : --u || c.resolveWith(n, r) } } var i, n, r, o = 0, s = l.call(arguments), a = s.length, u = 1 !== a || t && k.isFunction(t.promise) ? a : 0, c = 1 === u ? t : k.Deferred(); if (1 < a) for (i = new Array(a), n = new Array(a), r = new Array(a); o < a; o++)s[o] && k.isFunction(s[o].promise) ? s[o].promise().progress(e(o, n, i)).done(e(o, r, s)).fail(c.reject) : --u; return u || c.resolveWith(r, s), c.promise() } }), k.fn.ready = function (t) { return k.ready.promise().done(t), this }, k.extend({ isReady: !1, readyWait: 1, holdReady: function (t) { t ? k.readyWait++ : k.ready(!0) }, ready: function (t) { (!0 === t ? --k.readyWait : k.isReady) || ((k.isReady = !0) !== t && 0 < --k.readyWait || (j.resolveWith(C, [k]), k.fn.triggerHandler && (k(C).triggerHandler("ready"), k(C).off("ready")))) } }), k.ready.promise = function (t) { return j || (j = k.Deferred(), "complete" === C.readyState || "loading" !== C.readyState && !C.documentElement.doScroll ? x.setTimeout(k.ready) : (C.addEventListener("DOMContentLoaded", N), x.addEventListener("load", N))), j.promise(t) }, k.ready.promise(); function D(t) { return 1 === t.nodeType || 9 === t.nodeType || !+t.nodeType } var R = function (t, e, n, r, i, o, s) { var a = 0, u = t.length, c = null == n; if ("object" === k.type(n)) for (a in i = !0, n) R(t, e, a, n[a], !0, o, s); else if (void 0 !== r && (i = !0, k.isFunction(r) || (s = !0), c && (e = s ? (e.call(t, r), null) : (c = e, function (t, e, n) { return c.call(k(t), n) })), e)) for (; a < u; a++)e(t[a], n, s ? r : r.call(t[a], a, e(t[a], n))); return i ? t : c ? e.call(t) : u ? e(t[0], n) : o }; function M() { this.expando = k.expando + M.uid++ } M.uid = 1, M.prototype = { register: function (t, e) { e = e || {}; return t.nodeType ? t[this.expando] = e : Object.defineProperty(t, this.expando, { value: e, writable: !0, configurable: !0 }), t[this.expando] }, cache: function (t) { if (!D(t)) return {}; var e = t[this.expando]; return e || (e = {}, D(t) && (t.nodeType ? t[this.expando] = e : Object.defineProperty(t, this.expando, { value: e, configurable: !0 }))), e }, set: function (t, e, n) { var r, i = this.cache(t); if ("string" == typeof e) i[e] = n; else for (r in e) i[r] = e[r]; return i }, get: function (t, e) { return void 0 === e ? this.cache(t) : t[this.expando] && t[this.expando][e] }, access: function (t, e, n) { var r; return void 0 === e || e && "string" == typeof e && void 0 === n ? void 0 !== (r = this.get(t, e)) ? r : this.get(t, k.camelCase(e)) : (this.set(t, e, n), void 0 !== n ? n : e) }, remove: function (t, e) { var n, r, i, o = t[this.expando]; if (void 0 !== o) { if (void 0 === e) this.register(t); else { n = (r = k.isArray(e) ? e.concat(e.map(k.camelCase)) : (i = k.camelCase(e), e in o ? [e, i] : (r = i) in o ? [r] : r.match(P) || [])).length; for (; n--;)delete o[r[n]] } void 0 !== e && !k.isEmptyObject(o) || (t.nodeType ? t[this.expando] = void 0 : delete t[this.expando]) } }, hasData: function (t) { t = t[this.expando]; return void 0 !== t && !k.isEmptyObject(t) } }; var W = new M, L = new M, F = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/, H = /[A-Z]/g; function B(t, e, n) { var r; if (void 0 === n && 1 === t.nodeType) if (r = "data-" + e.replace(H, "-$&").toLowerCase(), "string" == typeof (n = t.getAttribute(r))) { try { n = "true" === n || "false" !== n && ("null" === n ? null : +n + "" === n ? +n : F.test(n) ? k.parseJSON(n) : n) } catch (t) { } L.set(t, e, n) } else n = void 0; return n } k.extend({ hasData: function (t) { return L.hasData(t) || W.hasData(t) }, data: function (t, e, n) { return L.access(t, e, n) }, removeData: function (t, e) { L.remove(t, e) }, _data: function (t, e, n) { return W.access(t, e, n) }, _removeData: function (t, e) { W.remove(t, e) } }), k.fn.extend({ data: function (r, t) { var e, n, i, o = this[0], s = o && o.attributes; if (void 0 !== r) return "object" == typeof r ? this.each(function () { L.set(this, r) }) : R(this, function (e) { var t, n; return o && void 0 === e ? void 0 !== (t = L.get(o, r) || L.get(o, r.replace(H, "-$&").toLowerCase())) ? t : (n = k.camelCase(r), void 0 !== (t = L.get(o, n)) ? t : void 0 !== (t = B(o, n, void 0)) ? t : void 0) : (n = k.camelCase(r), void this.each(function () { var t = L.get(this, n); L.set(this, n, e), -1 < r.indexOf("-") && void 0 !== t && L.set(this, r, e) })) }, null, t, 1 < arguments.length, null, !0); if (this.length && (i = L.get(o), 1 === o.nodeType && !W.get(o, "hasDataAttrs"))) { for (e = s.length; e--;)s[e] && (0 === (n = s[e].name).indexOf("data-") && (n = k.camelCase(n.slice(5)), B(o, n, i[n]))); W.set(o, "hasDataAttrs", !0) } return i }, removeData: function (t) { return this.each(function () { L.remove(this, t) }) } }), k.extend({ queue: function (t, e, n) { var r; return t ? (e = (e || "fx") + "queue", r = W.get(t, e), n && (!r || k.isArray(n) ? r = W.access(t, e, k.makeArray(n)) : r.push(n)), r || []) : void 0 }, dequeue: function (t, e) { e = e || "fx"; var n = k.queue(t, e), r = n.length, i = n.shift(), o = k._queueHooks(t, e); "inprogress" === i && (i = n.shift(), r--), i && ("fx" === e && n.unshift("inprogress"), delete o.stop, i.call(t, function () { k.dequeue(t, e) }, o)), !r && o && o.empty.fire() }, _queueHooks: function (t, e) { var n = e + "queueHooks"; return W.get(t, n) || W.access(t, n, { empty: k.Callbacks("once memory").add(function () { W.remove(t, [e + "queue", n]) }) }) } }), k.fn.extend({ queue: function (e, n) { var t = 2; return "string" != typeof e && (n = e, e = "fx", t--), arguments.length < t ? k.queue(this[0], e) : void 0 === n ? this : this.each(function () { var t = k.queue(this, e, n); k._queueHooks(this, e), "fx" === e && "inprogress" !== t[0] && k.dequeue(this, e) }) }, dequeue: function (t) { return this.each(function () { k.dequeue(this, t) }) }, clearQueue: function (t) { return this.queue(t || "fx", []) }, promise: function (t, e) { function n() { --i || o.resolveWith(s, [s]) } var r, i = 1, o = k.Deferred(), s = this, a = this.length; for ("string" != typeof t && (e = t, t = void 0), t = t || "fx"; a--;)(r = W.get(s[a], t + "queueHooks")) && r.empty && (i++, r.empty.add(n)); return n(), o.promise(e) } }); function q(t, e) { return t = e || t, "none" === k.css(t, "display") || !k.contains(t.ownerDocument, t) } var s = /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source, z = new RegExp("^(?:([+-])=|)(" + s + ")([a-z%]*)$", "i"), U = ["Top", "Right", "Bottom", "Left"]; function G(t, e, n, r) { var i, o = 1, s = 20, a = r ? function () { return r.cur() } : function () { return k.css(t, e, "") }, u = a(), c = n && n[3] || (k.cssNumber[e] ? "" : "px"), l = (k.cssNumber[e] || "px" !== c && +u) && z.exec(k.css(t, e)); if (l && l[3] !== c) for (c = c || l[3], n = n || [], l = +u || 1; o = o || ".5", l /= o, k.style(t, e, l + c), o !== (o = a() / u) && 1 !== o && --s;); return n && (l = +l || +u || 0, i = n[1] ? l + (n[1] + 1) * n[2] : +n[2], r && (r.unit = c, r.start = l, r.end = i)), i } var V = /^(?:checkbox|radio)$/i, $ = /<([\w:-]+)/, X = /^$|\/(?:java|ecma)script/i, Y = { option: [1, ""], thead: [1, "", "
"], col: [2, "", "
"], tr: [2, "", "
"], td: [3, "", "
"], _default: [0, "", ""] }; function K(t, e) { var n = void 0 !== t.getElementsByTagName ? t.getElementsByTagName(e || "*") : void 0 !== t.querySelectorAll ? t.querySelectorAll(e || "*") : []; return void 0 === e || e && k.nodeName(t, e) ? k.merge([t], n) : n } function Q(t, e) { for (var n = 0, r = t.length; n < r; n++)W.set(t[n], "globalEval", !e || W.get(e[n], "globalEval")) } Y.optgroup = Y.option, Y.tbody = Y.tfoot = Y.colgroup = Y.caption = Y.thead, Y.th = Y.td; var J = /<|&#?\w+;/; function Z(t, e, n, r, i) { for (var o, s, a, u, c, l = e.createDocumentFragment(), h = [], f = 0, p = t.length; f < p; f++)if ((o = t[f]) || 0 === o) if ("object" === k.type(o)) k.merge(h, o.nodeType ? [o] : o); else if (J.test(o)) { for (s = s || l.appendChild(e.createElement("div")), a = ($.exec(o) || ["", ""])[1].toLowerCase(), a = Y[a] || Y._default, s.innerHTML = a[1] + k.htmlPrefilter(o) + a[2], c = a[0]; c--;)s = s.lastChild; k.merge(h, s.childNodes), (s = l.firstChild).textContent = "" } else h.push(e.createTextNode(o)); for (l.textContent = "", f = 0; o = h[f++];)if (r && -1 < k.inArray(o, r)) i && i.push(o); else if (u = k.contains(o.ownerDocument, o), s = K(l.appendChild(o), "script"), u && Q(s), n) for (c = 0; o = s[c++];)X.test(o.type || "") && n.push(o); return l } n = C.createDocumentFragment().appendChild(C.createElement("div")), (p = C.createElement("input")).setAttribute("type", "radio"), p.setAttribute("checked", "checked"), p.setAttribute("name", "t"), n.appendChild(p), m.checkClone = n.cloneNode(!0).cloneNode(!0).lastChild.checked, n.innerHTML = "", m.noCloneChecked = !!n.cloneNode(!0).lastChild.defaultValue; var tt = /^key/, et = /^(?:mouse|pointer|contextmenu|drag|drop)|click/, nt = /^([^.]*)(?:\.(.+)|)/; function rt() { return !0 } function it() { return !1 } function ot() { try { return C.activeElement } catch (t) { } } function st(t, e, n, r, i, o) { var s, a; if ("object" == typeof e) { for (a in "string" != typeof n && (r = r || n, n = void 0), e) st(t, a, n, r, e[a], o); return t } if (null == r && null == i ? (i = n, r = n = void 0) : null == i && ("string" == typeof n ? (i = r, r = void 0) : (i = r, r = n, n = void 0)), !1 === i) i = it; else if (!i) return t; return 1 === o && (s = i, (i = function (t) { return k().off(t), s.apply(this, arguments) }).guid = s.guid || (s.guid = k.guid++)), t.each(function () { k.event.add(this, e, i, r, n) }) } k.event = { global: {}, add: function (e, t, n, r, i) { var o, s, a, u, c, l, h, f, p, d = W.get(e); if (d) for (n.handler && (n = (o = n).handler, i = o.selector), n.guid || (n.guid = k.guid++), (a = d.events) || (a = d.events = {}), (s = d.handle) || (s = d.handle = function (t) { return void 0 !== k && k.event.triggered !== t.type ? k.event.dispatch.apply(e, arguments) : void 0 }), u = (t = (t || "").match(P) || [""]).length; u--;)h = p = (c = nt.exec(t[u]) || [])[1], f = (c[2] || "").split(".").sort(), h && (l = k.event.special[h] || {}, h = (i ? l.delegateType : l.bindType) || h, l = k.event.special[h] || {}, c = k.extend({ type: h, origType: p, data: r, handler: n, guid: n.guid, selector: i, needsContext: i && k.expr.match.needsContext.test(i), namespace: f.join(".") }, o), (p = a[h]) || ((p = a[h] = []).delegateCount = 0, l.setup && !1 !== l.setup.call(e, r, f, s) || e.addEventListener && e.addEventListener(h, s)), l.add && (l.add.call(e, c), c.handler.guid || (c.handler.guid = n.guid)), i ? p.splice(p.delegateCount++, 0, c) : p.push(c), k.event.global[h] = !0) }, remove: function (t, e, n, r, i) { var o, s, a, u, c, l, h, f, p, d, g, m = W.hasData(t) && W.get(t); if (m && (u = m.events)) { for (c = (e = (e || "").match(P) || [""]).length; c--;)if (p = g = (a = nt.exec(e[c]) || [])[1], d = (a[2] || "").split(".").sort(), p) { for (h = k.event.special[p] || {}, f = u[p = (r ? h.delegateType : h.bindType) || p] || [], a = a[2] && new RegExp("(^|\\.)" + d.join("\\.(?:.*\\.|)") + "(\\.|$)"), s = o = f.length; o--;)l = f[o], !i && g !== l.origType || n && n.guid !== l.guid || a && !a.test(l.namespace) || r && r !== l.selector && ("**" !== r || !l.selector) || (f.splice(o, 1), l.selector && f.delegateCount--, h.remove && h.remove.call(t, l)); s && !f.length && (h.teardown && !1 !== h.teardown.call(t, d, m.handle) || k.removeEvent(t, p, m.handle), delete u[p]) } else for (p in u) k.event.remove(t, p + e[c], n, r, !0); k.isEmptyObject(u) && W.remove(t, "handle events") } }, dispatch: function (t) { t = k.event.fix(t); var e, n, r, i, o, s = l.call(arguments), a = (W.get(this, "events") || {})[t.type] || [], u = k.event.special[t.type] || {}; if ((s[0] = t).delegateTarget = this, !u.preDispatch || !1 !== u.preDispatch.call(this, t)) { for (o = k.event.handlers.call(this, t, a), e = 0; (r = o[e++]) && !t.isPropagationStopped();)for (t.currentTarget = r.elem, n = 0; (i = r.handlers[n++]) && !t.isImmediatePropagationStopped();)t.rnamespace && !t.rnamespace.test(i.namespace) || (t.handleObj = i, t.data = i.data, void 0 !== (i = ((k.event.special[i.origType] || {}).handle || i.handler).apply(r.elem, s)) && !1 === (t.result = i) && (t.preventDefault(), t.stopPropagation())); return u.postDispatch && u.postDispatch.call(this, t), t.result } }, handlers: function (t, e) { var n, r, i, o, s = [], a = e.delegateCount, u = t.target; if (a && u.nodeType && ("click" !== t.type || isNaN(t.button) || t.button < 1)) for (; u !== this; u = u.parentNode || this)if (1 === u.nodeType && (!0 !== u.disabled || "click" !== t.type)) { for (r = [], n = 0; n < a; n++)void 0 === r[i = (o = e[n]).selector + " "] && (r[i] = o.needsContext ? -1 < k(i, this).index(u) : k.find(i, this, null, [u]).length), r[i] && r.push(o); r.length && s.push({ elem: u, handlers: r }) } return a < e.length && s.push({ elem: this, handlers: e.slice(a) }), s }, props: "altKey bubbles cancelable ctrlKey currentTarget detail eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "), fixHooks: {}, keyHooks: { props: "char charCode key keyCode".split(" "), filter: function (t, e) { return null == t.which && (t.which = null != e.charCode ? e.charCode : e.keyCode), t } }, mouseHooks: { props: "button buttons clientX clientY offsetX offsetY pageX pageY screenX screenY toElement".split(" "), filter: function (t, e) { var n, r, i = e.button; return null == t.pageX && null != e.clientX && (n = (r = t.target.ownerDocument || C).documentElement, r = r.body, t.pageX = e.clientX + (n && n.scrollLeft || r && r.scrollLeft || 0) - (n && n.clientLeft || r && r.clientLeft || 0), t.pageY = e.clientY + (n && n.scrollTop || r && r.scrollTop || 0) - (n && n.clientTop || r && r.clientTop || 0)), t.which || void 0 === i || (t.which = 1 & i ? 1 : 2 & i ? 3 : 4 & i ? 2 : 0), t } }, fix: function (t) { if (t[k.expando]) return t; var e, n, r, i = t.type, o = t, s = this.fixHooks[i]; for (s || (this.fixHooks[i] = s = et.test(i) ? this.mouseHooks : tt.test(i) ? this.keyHooks : {}), r = s.props ? this.props.concat(s.props) : this.props, t = new k.Event(o), e = r.length; e--;)t[n = r[e]] = o[n]; return t.target || (t.target = C), 3 === t.target.nodeType && (t.target = t.target.parentNode), s.filter ? s.filter(t, o) : t }, special: { load: { noBubble: !0 }, focus: { trigger: function () { return this !== ot() && this.focus ? (this.focus(), !1) : void 0 }, delegateType: "focusin" }, blur: { trigger: function () { return this === ot() && this.blur ? (this.blur(), !1) : void 0 }, delegateType: "focusout" }, click: { trigger: function () { return "checkbox" === this.type && this.click && k.nodeName(this, "input") ? (this.click(), !1) : void 0 }, _default: function (t) { return k.nodeName(t.target, "a") } }, beforeunload: { postDispatch: function (t) { void 0 !== t.result && t.originalEvent && (t.originalEvent.returnValue = t.result) } } } }, k.removeEvent = function (t, e, n) { t.removeEventListener && t.removeEventListener(e, n) }, k.Event = function (t, e) { return this instanceof k.Event ? (t && t.type ? (this.originalEvent = t, this.type = t.type, this.isDefaultPrevented = t.defaultPrevented || void 0 === t.defaultPrevented && !1 === t.returnValue ? rt : it) : this.type = t, e && k.extend(this, e), this.timeStamp = t && t.timeStamp || k.now(), void (this[k.expando] = !0)) : new k.Event(t, e) }, k.Event.prototype = { constructor: k.Event, isDefaultPrevented: it, isPropagationStopped: it, isImmediatePropagationStopped: it, isSimulated: !1, preventDefault: function () { var t = this.originalEvent; this.isDefaultPrevented = rt, t && !this.isSimulated && t.preventDefault() }, stopPropagation: function () { var t = this.originalEvent; this.isPropagationStopped = rt, t && !this.isSimulated && t.stopPropagation() }, stopImmediatePropagation: function () { var t = this.originalEvent; this.isImmediatePropagationStopped = rt, t && !this.isSimulated && t.stopImmediatePropagation(), this.stopPropagation() } }, k.each({ mouseenter: "mouseover", mouseleave: "mouseout", pointerenter: "pointerover", pointerleave: "pointerout" }, function (t, i) { k.event.special[t] = { delegateType: i, bindType: i, handle: function (t) { var e, n = t.relatedTarget, r = t.handleObj; return n && (n === this || k.contains(this, n)) || (t.type = r.origType, e = r.handler.apply(this, arguments), t.type = i), e } } }), k.fn.extend({ on: function (t, e, n, r) { return st(this, t, e, n, r) }, one: function (t, e, n, r) { return st(this, t, e, n, r, 1) }, off: function (t, e, n) { var r, i; if (t && t.preventDefault && t.handleObj) return r = t.handleObj, k(t.delegateTarget).off(r.namespace ? r.origType + "." + r.namespace : r.origType, r.selector, r.handler), this; if ("object" != typeof t) return !1 !== e && "function" != typeof e || (n = e, e = void 0), !1 === n && (n = it), this.each(function () { k.event.remove(this, t, n, e) }); for (i in t) this.off(i, e, t[i]); return this } }); var at = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:-]+)[^>]*)\/>/gi, ut = /\s*$/g; function ft(t, e) { return k.nodeName(t, "table") && k.nodeName(11 !== e.nodeType ? e : e.firstChild, "tr") ? t.getElementsByTagName("tbody")[0] || t.appendChild(t.ownerDocument.createElement("tbody")) : t } function pt(t) { return t.type = (null !== t.getAttribute("type")) + "/" + t.type, t } function dt(t) { var e = lt.exec(t.type); return e ? t.type = e[1] : t.removeAttribute("type"), t } function gt(t, e) { var n, r, i, o, s, a; if (1 === e.nodeType) { if (W.hasData(t) && (o = W.access(t), s = W.set(e, o), a = o.events)) for (i in delete s.handle, s.events = {}, a) for (n = 0, r = a[i].length; n < r; n++)k.event.add(e, i, a[i][n]); L.hasData(t) && (t = L.access(t), t = k.extend({}, t), L.set(e, t)) } } function mt(n, r, i, o) { r = g.apply([], r); var t, e, s, a, u, c, l = 0, h = n.length, f = h - 1, p = r[0], d = k.isFunction(p); if (d || 1 < h && "string" == typeof p && !m.checkClone && ct.test(p)) return n.each(function (t) { var e = n.eq(t); d && (r[0] = p.call(this, t, e.html())), mt(e, r, i, o) }); if (h && (e = (t = Z(r, n[0].ownerDocument, !1, n, o)).firstChild, 1 === t.childNodes.length && (t = e), e || o)) { for (a = (s = k.map(K(t, "script"), pt)).length; l < h; l++)u = t, l !== f && (u = k.clone(u, !0, !0), a && k.merge(s, K(u, "script"))), i.call(n[l], u, l); if (a) for (c = s[s.length - 1].ownerDocument, k.map(s, dt), l = 0; l < a; l++)u = s[l], X.test(u.type || "") && !W.access(u, "globalEval") && k.contains(c, u) && (u.src ? k._evalUrl && k._evalUrl(u.src) : k.globalEval(u.textContent.replace(ht, ""))) } return n } function vt(t, e, n) { for (var r, i = e ? k.filter(e, t) : t, o = 0; null != (r = i[o]); o++)n || 1 !== r.nodeType || k.cleanData(K(r)), r.parentNode && (n && k.contains(r.ownerDocument, r) && Q(K(r, "script")), r.parentNode.removeChild(r)); return t } k.extend({ htmlPrefilter: function (t) { return t.replace(at, "<$1>") }, clone: function (t, e, n) { var r, i, o, s, a, u, c, l = t.cloneNode(!0), h = k.contains(t.ownerDocument, t); if (!(m.noCloneChecked || 1 !== t.nodeType && 11 !== t.nodeType || k.isXMLDoc(t))) for (s = K(l), r = 0, i = (o = K(t)).length; r < i; r++)a = o[r], u = s[r], c = void 0, "input" === (c = u.nodeName.toLowerCase()) && V.test(a.type) ? u.checked = a.checked : "input" !== c && "textarea" !== c || (u.defaultValue = a.defaultValue); if (e) if (n) for (o = o || K(t), s = s || K(l), r = 0, i = o.length; r < i; r++)gt(o[r], s[r]); else gt(t, l); return 0 < (s = K(l, "script")).length && Q(s, !h && K(t, "script")), l }, cleanData: function (t) { for (var e, n, r, i = k.event.special, o = 0; void 0 !== (n = t[o]); o++)if (D(n)) { if (e = n[W.expando]) { if (e.events) for (r in e.events) i[r] ? k.event.remove(n, r) : k.removeEvent(n, r, e.handle); n[W.expando] = void 0 } n[L.expando] && (n[L.expando] = void 0) } } }), k.fn.extend({ domManip: mt, detach: function (t) { return vt(this, t, !0) }, remove: function (t) { return vt(this, t) }, text: function (t) { return R(this, function (t) { return void 0 === t ? k.text(this) : this.empty().each(function () { 1 !== this.nodeType && 11 !== this.nodeType && 9 !== this.nodeType || (this.textContent = t) }) }, null, t, arguments.length) }, append: function () { return mt(this, arguments, function (t) { 1 !== this.nodeType && 11 !== this.nodeType && 9 !== this.nodeType || ft(this, t).appendChild(t) }) }, prepend: function () { return mt(this, arguments, function (t) { var e; 1 !== this.nodeType && 11 !== this.nodeType && 9 !== this.nodeType || (e = ft(this, t)).insertBefore(t, e.firstChild) }) }, before: function () { return mt(this, arguments, function (t) { this.parentNode && this.parentNode.insertBefore(t, this) }) }, after: function () { return mt(this, arguments, function (t) { this.parentNode && this.parentNode.insertBefore(t, this.nextSibling) }) }, empty: function () { for (var t, e = 0; null != (t = this[e]); e++)1 === t.nodeType && (k.cleanData(K(t, !1)), t.textContent = ""); return this }, clone: function (t, e) { return t = null != t && t, e = null == e ? t : e, this.map(function () { return k.clone(this, t, e) }) }, html: function (t) { return R(this, function (t) { var e = this[0] || {}, n = 0, r = this.length; if (void 0 === t && 1 === e.nodeType) return e.innerHTML; if ("string" == typeof t && !ut.test(t) && !Y[($.exec(t) || ["", ""])[1].toLowerCase()]) { t = k.htmlPrefilter(t); try { for (; n < r; n++)1 === (e = this[n] || {}).nodeType && (k.cleanData(K(e, !1)), e.innerHTML = t); e = 0 } catch (t) { } } e && this.empty().append(t) }, null, t, arguments.length) }, replaceWith: function () { var n = []; return mt(this, arguments, function (t) { var e = this.parentNode; k.inArray(this, n) < 0 && (k.cleanData(K(this)), e && e.replaceChild(t, this)) }, n) } }), k.each({ appendTo: "append", prependTo: "prepend", insertBefore: "before", insertAfter: "after", replaceAll: "replaceWith" }, function (t, s) { k.fn[t] = function (t) { for (var e, n = [], r = k(t), i = r.length - 1, o = 0; o <= i; o++)e = o === i ? this : this.clone(!0), k(r[o])[s](e), a.apply(n, e.get()); return this.pushStack(n) } }); var yt, bt = { HTML: "block", BODY: "block" }; function wt(t, e) { t = k(e.createElement(t)).appendTo(e.body), e = k.css(t[0], "display"); return t.detach(), e } function _t(t) { var e = C, n = bt[t]; return n || ("none" !== (n = wt(t, e)) && n || ((e = (yt = (yt || k("