!function() {
function e() {
return function(e, t) {
function n(e, n, r) {
if (r === t && 1 === e.nodeType) {
var i = "data-" + n.replace(P, "$1-$2").toLowerCase();
if (r = e.getAttribute(i),
"string" == typeof r) {
try {
r = "true" === r ? !0 : "false" === r ? !1 : "null" === r ? null : O.isNaN(r) ? B.test(r) ? O.parseJSON(r) : r : parseFloat(r)
} catch (a) {}
O.data(e, n, r)
} else
r = t
}
return r
}
function r(e) {
for (var t in e)
if ("toJSON" !== t)
return !1;
return !0
}
function i(e, n, r) {
var i = n + "defer"
, a = n + "queue"
, o = n + "mark"
, s = O.data(e, i, t, !0);
!s || "queue" !== r && O.data(e, a, t, !0) || "mark" !== r && O.data(e, o, t, !0) || setTimeout(function() {
O.data(e, a, t, !0) || O.data(e, o, t, !0) || (O.removeData(e, i, !0),
s.resolve())
}, 0)
}
function a() {
return !1
}
function o() {
return !0
}
function s(e, n, r) {
var i = O.extend({}, r[0]);
i.type = e,
i.originalEvent = {},
i.liveFired = t,
O.event.handle.call(n, i),
i.isDefaultPrevented() && r[0].preventDefault()
}
function l(e) {
var t, n, r, i, a, o, s, l, u, c, d, f, p = [], h = [], g = O._data(this, "events");
if (e.liveFired !== this && g && g.live && !e.target.disabled && (!e.button || "click" !== e.type)) {
e.namespace && (d = new RegExp("(^|\\.)" + e.namespace.split(".").join("\\.(?:.*\\.)?") + "(\\.|$)")),
e.liveFired = this;
var m = g.live.slice(0);
for (s = 0; s < m.length; s++)
a = m[s],
a.origType.replace(G, "") === e.type ? h.push(a.selector) : m.splice(s--, 1);
for (i = O(e.target).closest(h, e.currentTarget),
l = 0,
u = i.length; u > l; l++)
for (c = i[l],
s = 0; s < m.length; s++)
a = m[s],
c.selector !== a.selector || d && !d.test(a.namespace) || c.elem.disabled || (o = c.elem,
r = null,
"mouseenter" !== a.preType && "mouseleave" !== a.preType || (e.type = a.preType,
r = O(e.relatedTarget).closest(a.selector)[0],
r && O.contains(o, r) && (r = o)),
r && r === o || p.push({
elem: o,
handleObj: a,
level: c.level
}));
for (l = 0,
u = p.length; u > l && (i = p[l],
!(n && i.level > n)) && (e.currentTarget = i.elem,
e.data = i.handleObj.data,
e.handleObj = i.handleObj,
f = i.handleObj.origHandler.apply(i.elem, arguments),
f !== !1 && !e.isPropagationStopped() || (n = i.level,
f === !1 && (t = !1),
!e.isImmediatePropagationStopped())); l++)
;
return t
}
}
function u(e, t) {
return (e && "*" !== e ? e + "." : "") + t.replace(K, "`").replace(Z, "&")
}
function c(e) {
return !e || !e.parentNode || 11 === e.parentNode.nodeType
}
function d(e, t, n) {
if (t = t || 0,
O.isFunction(t))
return O.grep(e, function(e, r) {
var i = !!t.call(e, r, e);
return i === n
});
if (t.nodeType)
return O.grep(e, function(e) {
return e === t === n
});
if ("string" == typeof t) {
var r = O.grep(e, function(e) {
return 1 === e.nodeType
});
if (de.test(t))
return O.filter(t, r, !n);
t = O.filter(t, r)
}
return O.grep(e, function(e) {
return O.inArray(e, t) >= 0 === n
})
}
function f(e) {
return O.nodeName(e, "table") ? e.getElementsByTagName("tbody")[0] || e.appendChild(e.ownerDocument.createElement("tbody")) : e
}
function p(e, t) {
if (1 === t.nodeType && O.hasData(e)) {
var n = O.expando
, r = O.data(e)
, i = O.data(t, r);
if (r = r[n]) {
var a = r.events;
if (i = i[n] = O.extend({}, r),
a) {
delete i.handle,
i.events = {};
for (var o in a)
for (var s = 0, l = a[o].length; l > s; s++)
O.event.add(t, o + (a[o][s].namespace ? "." : "") + a[o][s].namespace, a[o][s], a[o][s].data)
}
}
}
}
function h(e, t) {
var n;
1 === t.nodeType && (t.clearAttributes && t.clearAttributes(),
t.mergeAttributes && t.mergeAttributes(e),
n = t.nodeName.toLowerCase(),
"object" === n ? t.outerHTML = e.outerHTML : "input" !== n || "checkbox" !== e.type && "radio" !== e.type ? "option" === n ? t.selected = e.defaultSelected : "input" !== n && "textarea" !== n || (t.defaultValue = e.defaultValue) : (e.checked && (t.defaultChecked = t.checked = e.checked),
t.value !== e.value && (t.value = e.value)),
t.removeAttribute(O.expando))
}
function g(e) {
return "getElementsByTagName"in e ? e.getElementsByTagName("*") : "querySelectorAll"in e ? e.querySelectorAll("*") : []
}
function m(e) {
"checkbox" !== e.type && "radio" !== e.type || (e.defaultChecked = e.checked)
}
function v(e) {
O.nodeName(e, "input") ? m(e) : "getElementsByTagName"in e && O.grep(e.getElementsByTagName("input"), m)
}
function y(e, t) {
t.src ? O.ajax({
url: t.src,
async: !1,
dataType: "script"
}) : O.globalEval((t.text || t.textContent || t.innerHTML || "").replace(Ne, "/*$0*/")),
t.parentNode && t.parentNode.removeChild(t)
}
function b(e, t, n) {
var r = "width" === t ? e.offsetWidth : e.offsetHeight
, i = "width" === t ? Oe : He;
return r > 0 ? ("border" !== n && O.each(i, function() {
n || (r -= parseFloat(O.css(e, "padding" + this)) || 0),
"margin" === n ? r += parseFloat(O.css(e, n + this)) || 0 : r -= parseFloat(O.css(e, "border" + this + "Width")) || 0
}),
r + "px") : (r = Ee(e, t, t),
(0 > r || null == r) && (r = e.style[t] || 0),
r = parseFloat(r) || 0,
n && O.each(i, function() {
r += parseFloat(O.css(e, "padding" + this)) || 0,
"padding" !== n && (r += parseFloat(O.css(e, "border" + this + "Width")) || 0),
"margin" === n && (r += parseFloat(O.css(e, n + this)) || 0)
}),
r + "px")
}
function x(e) {
return function(t, n) {
if ("string" != typeof t && (n = t,
t = "*"),
O.isFunction(n))
for (var r, i, a, o = t.toLowerCase().split(Ke), s = 0, l = o.length; l > s; s++)
r = o[s],
a = /^\+/.test(r),
a && (r = r.substr(1) || "*"),
i = e[r] = e[r] || [],
i[a ? "unshift" : "push"](n)
}
}
function w(e, n, r, i, a, o) {
a = a || n.dataTypes[0],
o = o || {},
o[a] = !0;
for (var s, l = e[a], u = 0, c = l ? l.length : 0, d = e === nt; c > u && (d || !s); u++)
s = l[u](n, r, i),
"string" == typeof s && (!d || o[s] ? s = t : (n.dataTypes.unshift(s),
s = w(e, n, r, i, s, o)));
return !d && s || o["*"] || (s = w(e, n, r, i, "*", o)),
s
}
function _(e, n) {
var r, i, a = O.ajaxSettings.flatOptions || {};
for (r in n)
n[r] !== t && ((a[r] ? e : i || (i = {}))[r] = n[r]);
i && O.extend(!0, e, i)
}
function T(e, t, n, r) {
if (O.isArray(t))
O.each(t, function(t, i) {
n || Ve.test(e) ? r(e, i) : T(e + "[" + ("object" == typeof i || O.isArray(i) ? t : "") + "]", i, n, r)
});
else if (n || null == t || "object" != typeof t)
r(e, t);
else
for (var i in t)
T(e + "[" + i + "]", t[i], n, r)
}
function N(e, n, r) {
var i, a, o, s, l = e.contents, u = e.dataTypes, c = e.responseFields;
for (a in c)
a in r && (n[c[a]] = r[a]);
for (; "*" === u[0]; )
u.shift(),
i === t && (i = e.mimeType || n.getResponseHeader("content-type"));
if (i)
for (a in l)
if (l[a] && l[a].test(i)) {
u.unshift(a);
break
}
if (u[0]in r)
o = u[0];
else {
for (a in r) {
if (!u[0] || e.converters[a + " " + u[0]]) {
o = a;
break
}
s || (s = a)
}
o = o || s
}
return o ? (o !== u[0] && u.unshift(o),
r[o]) : void 0
}
function C(e, n) {
e.dataFilter && (n = e.dataFilter(n, e.dataType));
var r, i, a, o, s, l, u, c, d = e.dataTypes, f = {}, p = d.length, h = d[0];
for (r = 1; p > r; r++) {
if (1 === r)
for (i in e.converters)
"string" == typeof i && (f[i.toLowerCase()] = e.converters[i]);
if (o = h,
h = d[r],
"*" === h)
h = o;
else if ("*" !== o && o !== h) {
if (s = o + " " + h,
l = f[s] || f["* " + h],
!l) {
c = t;
for (u in f)
if (a = u.split(" "),
(a[0] === o || "*" === a[0]) && (c = f[a[1] + " " + h])) {
u = f[u],
u === !0 ? l = c : c === !0 && (l = u);
break
}
}
l || c || O.error("No conversion from " + s.replace(" ", " to ")),
l !== !0 && (n = l ? l(n) : c(u(n)))
}
}
return n
}
function E() {
try {
return new e.XMLHttpRequest
} catch (t) {}
}
function A() {
try {
return new e.ActiveXObject("Microsoft.XMLHTTP")
} catch (t) {}
}
function S() {
return setTimeout(k, 0),
ht = O.now()
}
function k() {
ht = t
}
function L(e, t) {
var n = {};
return O.each(yt.concat.apply([], yt.slice(0, t)), function() {
n[this] = e
}),
n
}
function F(e) {
if (!gt[e]) {
var t = D.body
, n = O("<" + e + ">").appendTo(t)
, r = n.css("display");
n.remove(),
"none" !== r && "" !== r || (dt || (dt = D.createElement("iframe"),
dt.frameBorder = dt.width = dt.height = 0),
t.appendChild(dt),
ft && dt.createElement || (ft = (dt.contentWindow || dt.contentDocument).document,
ft.write(("CSS1Compat" === D.compatMode ? "" : "") + "
"),
ft.close()),
n = ft.createElement(e),
ft.body.appendChild(n),
r = O.css(n, "display"),
t.removeChild(dt)),
gt[e] = r
}
return gt[e]
}
function j(e) {
return O.isWindow(e) ? e : 9 === e.nodeType ? e.defaultView || e.parentWindow : !1
}
var D = e.document
, I = e.navigator
, M = e.location
, O = function() {
function n() {
if (!s.isReady) {
try {
D.documentElement.doScroll("left")
} catch (e) {
return void setTimeout(n, 1)
}
s.ready()
}
}
var r, i, a, o, s = function(e, t) {
return new s.fn.init(e,t,r)
}, l = e.jQuery, u = e.$, c = /^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/, d = /\S/, f = /^\s+/, p = /\s+$/, h = /\d/, g = /^<(\w+)\s*\/?>(?:<\/\1>)?$/, m = /^[\],:{}\s]*$/, v = /\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g, y = /"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, b = /(?:^|:|,)(?:\s*\[)+/g, x = /(webkit)[ \/]([\w.]+)/, w = /(opera)(?:.*version)?[ \/]([\w.]+)/, _ = /(msie) ([\w.]+)/, T = /(mozilla)(?:.*? rv:([\w.]+))?/, N = /-([a-z]|[0-9])/gi, C = /^-ms-/, E = function(e, t) {
return (t + "").toUpperCase()
}, A = I.userAgent, S = Object.prototype.toString, k = Object.prototype.hasOwnProperty, L = Array.prototype.push, F = Array.prototype.slice, j = String.prototype.trim, M = Array.prototype.indexOf, O = {};
return s.fn = s.prototype = {
constructor: s,
init: function(e, n, r) {
var i, a, o, l;
if (!e)
return this;
if (e.nodeType)
return this.context = this[0] = e,
this.length = 1,
this;
if ("body" === e && !n && D.body)
return this.context = D,
this[0] = D.body,
this.selector = e,
this.length = 1,
this;
if ("string" == typeof e) {
if (i = "<" === e.charAt(0) && ">" === e.charAt(e.length - 1) && e.length >= 3 ? [null, e, null] : c.exec(e),
!i || !i[1] && n)
return !n || n.jquery ? (n || r).find(e) : this.constructor(n).find(e);
if (i[1])
return n = n instanceof s ? n[0] : n,
l = n ? n.ownerDocument || n : D,
o = g.exec(e),
o ? s.isPlainObject(n) ? (e = [D.createElement(o[1])],
s.fn.attr.call(e, n, !0)) : e = [l.createElement(o[1])] : (o = s.buildFragment([i[1]], [l]),
e = (o.cacheable ? s.clone(o.fragment) : o.fragment).childNodes),
s.merge(this, e);
if (a = D.getElementById(i[2]),
a && a.parentNode) {
if (a.id !== i[2])
return r.find(e);
this.length = 1,
this[0] = a
}
return this.context = D,
this.selector = e,
this
}
return s.isFunction(e) ? r.ready(e) : (e.selector !== t && (this.selector = e.selector,
this.context = e.context),
s.makeArray(e, this))
},
selector: "",
jquery: "1.6.3",
length: 0,
size: function() {
return this.length
},
toArray: function() {
return F.call(this, 0)
},
get: function(e) {
return null == e ? this.toArray() : 0 > e ? this[this.length + e] : this[e]
},
pushStack: function(e, t, n) {
var r = this.constructor();
return s.isArray(e) ? L.apply(r, e) : s.merge(r, e),
r.prevObject = this,
r.context = this.context,
"find" === t ? r.selector = this.selector + (this.selector ? " " : "") + n : t && (r.selector = this.selector + "." + t + "(" + n + ")"),
r
},
each: function(e, t) {
return s.each(this, e, t)
},
ready: function(e) {
return s.bindReady(),
a.done(e),
this
},
eq: function(e) {
return -1 === e ? 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(F.apply(this, arguments), "slice", F.call(arguments).join(","))
},
map: function(e) {
return this.pushStack(s.map(this, function(t, n) {
return e.call(t, n, t)
}))
},
end: function() {
return this.prevObject || this.constructor(null)
},
push: L,
sort: [].sort,
splice: [].splice
},
s.fn.init.prototype = s.fn,
s.extend = s.fn.extend = function() {
var e, n, r, i, a, o, l = arguments[0] || {}, u = 1, c = arguments.length, d = !1;
for ("boolean" == typeof l && (d = l,
l = arguments[1] || {},
u = 2),
"object" == typeof l || s.isFunction(l) || (l = {}),
c === u && (l = this,
--u); c > u; u++)
if (null != (e = arguments[u]))
for (n in e)
r = l[n],
i = e[n],
l !== i && (d && i && (s.isPlainObject(i) || (a = s.isArray(i))) ? (a ? (a = !1,
o = r && s.isArray(r) ? r : []) : o = r && s.isPlainObject(r) ? r : {},
l[n] = s.extend(d, o, i)) : i !== t && (l[n] = i));
return l
}
,
s.extend({
noConflict: function(t) {
return e.$ === s && (e.$ = u),
t && e.jQuery === s && (e.jQuery = l),
s
},
isReady: !1,
readyWait: 1,
holdReady: function(e) {
e ? s.readyWait++ : s.ready(!0)
},
ready: function(e) {
if (e === !0 && !--s.readyWait || e !== !0 && !s.isReady) {
if (!D.body)
return setTimeout(s.ready, 1);
if (s.isReady = !0,
e !== !0 && --s.readyWait > 0)
return;
a.resolveWith(D, [s]),
s.fn.trigger && s(D).trigger("ready").unbind("ready")
}
},
bindReady: function() {
if (!a) {
if (a = s._Deferred(),
"complete" === D.readyState)
return setTimeout(s.ready, 1);
if (D.addEventListener)
D.addEventListener("DOMContentLoaded", o, !1),
e.addEventListener("load", s.ready, !1);
else if (D.attachEvent) {
D.attachEvent("onreadystatechange", o),
e.attachEvent("onload", s.ready);
var t = !1;
try {
t = null == e.frameElement
} catch (r) {}
D.documentElement.doScroll && t && n()
}
}
},
isFunction: function(e) {
return "function" === s.type(e)
},
isArray: Array.isArray || function(e) {
return "array" === s.type(e)
}
,
isWindow: function(e) {
return e && "object" == typeof e && "setInterval"in e
},
isNaN: function(e) {
return null == e || !h.test(e) || isNaN(e)
},
type: function(e) {
return null == e ? String(e) : O[S.call(e)] || "object"
},
isPlainObject: function(e) {
if (!e || "object" !== s.type(e) || e.nodeType || s.isWindow(e))
return !1;
try {
if (e.constructor && !k.call(e, "constructor") && !k.call(e.constructor.prototype, "isPrototypeOf"))
return !1
} catch (n) {
return !1
}
var r;
for (r in e)
;
return r === t || k.call(e, r)
},
isEmptyObject: function(e) {
for (var t in e)
return !1;
return !0
},
error: function(e) {
throw e
},
parseJSON: function(t) {
return "string" == typeof t && t ? (t = s.trim(t),
e.JSON && e.JSON.parse ? e.JSON.parse(t) : m.test(t.replace(v, "@").replace(y, "]").replace(b, "")) ? new Function("return " + t)() : void s.error("Invalid JSON: " + t)) : null
},
parseXML: function(n) {
var r, i;
try {
e.DOMParser ? (i = new DOMParser,
r = i.parseFromString(n, "text/xml")) : (r = new ActiveXObject("Microsoft.XMLDOM"),
r.async = "false",
r.loadXML(n))
} catch (a) {
r = t
}
return r && r.documentElement && !r.getElementsByTagName("parsererror").length || s.error("Invalid XML: " + n),
r
},
noop: function() {},
globalEval: function(t) {
t && d.test(t) && (e.execScript || function(t) {
e.eval.call(e, t)
}
)(t)
},
camelCase: function(e) {
return e.replace(C, "ms-").replace(N, E)
},
nodeName: function(e, t) {
return e.nodeName && e.nodeName.toUpperCase() === t.toUpperCase()
},
each: function(e, n, r) {
var i, a = 0, o = e.length, l = o === t || s.isFunction(e);
if (r)
if (l) {
for (i in e)
if (n.apply(e[i], r) === !1)
break
} else
for (; o > a && n.apply(e[a++], r) !== !1; )
;
else if (l) {
for (i in e)
if (n.call(e[i], i, e[i]) === !1)
break
} else
for (; o > a && n.call(e[a], a, e[a++]) !== !1; )
;
return e
},
trim: j ? function(e) {
return null == e ? "" : j.call(e)
}
: function(e) {
return null == e ? "" : e.toString().replace(f, "").replace(p, "")
}
,
makeArray: function(e, t) {
var n = t || [];
if (null != e) {
var r = s.type(e);
null == e.length || "string" === r || "function" === r || "regexp" === r || s.isWindow(e) ? L.call(n, e) : s.merge(n, e)
}
return n
},
inArray: function(e, t) {
if (!t)
return -1;
if (M)
return M.call(t, e);
for (var n = 0, r = t.length; r > n; n++)
if (t[n] === e)
return n;
return -1
},
merge: function(e, n) {
var r = e.length
, i = 0;
if ("number" == typeof n.length)
for (var a = n.length; a > i; i++)
e[r++] = n[i];
else
for (; n[i] !== t; )
e[r++] = n[i++];
return e.length = r,
e
},
grep: function(e, t, n) {
var r, i = [];
n = !!n;
for (var a = 0, o = e.length; o > a; a++)
r = !!t(e[a], a),
n !== r && i.push(e[a]);
return i
},
map: function(e, n, r) {
var i, a, o = [], l = 0, u = e.length, c = e instanceof s || u !== t && "number" == typeof u && (u > 0 && e[0] && e[u - 1] || 0 === u || s.isArray(e));
if (c)
for (; u > l; l++)
i = n(e[l], l, r),
null != i && (o[o.length] = i);
else
for (a in e)
i = n(e[a], a, r),
null != i && (o[o.length] = i);
return o.concat.apply([], o)
},
guid: 1,
proxy: function(e, n) {
if ("string" == typeof n) {
var r = e[n];
n = e,
e = r
}
if (!s.isFunction(e))
return t;
var i = F.call(arguments, 2)
, a = function() {
return e.apply(n, i.concat(F.call(arguments)))
};
return a.guid = e.guid = e.guid || a.guid || s.guid++,
a
},
access: function(e, n, r, i, a, o) {
var l = e.length;
if ("object" == typeof n) {
for (var u in n)
s.access(e, u, n[u], i, a, r);
return e
}
if (r !== t) {
i = !o && i && s.isFunction(r);
for (var c = 0; l > c; c++)
a(e[c], n, i ? r.call(e[c], c, a(e[c], n)) : r, o);
return e
}
return l ? a(e[0], n) : t
},
now: function() {
return (new Date).getTime()
},
uaMatch: function(e) {
e = e.toLowerCase();
var t = x.exec(e) || w.exec(e) || _.exec(e) || e.indexOf("compatible") < 0 && T.exec(e) || [];
return {
browser: t[1] || "",
version: t[2] || "0"
}
},
sub: function() {
function e(t, n) {
return new e.fn.init(t,n)
}
s.extend(!0, e, this),
e.superclass = this,
e.fn = e.prototype = this(),
e.fn.constructor = e,
e.sub = this.sub,
e.fn.init = function(n, r) {
return r && r instanceof s && !(r instanceof e) && (r = e(r)),
s.fn.init.call(this, n, r, t)
}
,
e.fn.init.prototype = e.fn;
var t = e(D);
return e
},
browser: {}
}),
s.each("Boolean Number String Function Array Date RegExp Object".split(" "), function(e, t) {
O["[object " + t + "]"] = t.toLowerCase()
}),
i = s.uaMatch(A),
i.browser && (s.browser[i.browser] = !0,
s.browser.version = i.version),
s.browser.webkit && (s.browser.safari = !0),
d.test("Â ") && (f = /^[\s\xA0]+/,
p = /[\s\xA0]+$/),
r = s(D),
D.addEventListener ? o = function() {
D.removeEventListener("DOMContentLoaded", o, !1),
s.ready()
}
: D.attachEvent && (o = function() {
"complete" === D.readyState && (D.detachEvent("onreadystatechange", o),
s.ready())
}
),
s
}()
, H = "done fail isResolved isRejected promise then always pipe".split(" ")
, R = [].slice;
O.extend({
_Deferred: function() {
var e, t, n, r = [], i = {
done: function() {
if (!n) {
var t, a, o, s, l, u = arguments;
for (e && (l = e,
e = 0),
t = 0,
a = u.length; a > t; t++)
o = u[t],
s = O.type(o),
"array" === s ? i.done.apply(i, o) : "function" === s && r.push(o);
l && i.resolveWith(l[0], l[1])
}
return this
},
resolveWith: function(i, a) {
if (!n && !e && !t) {
a = a || [],
t = 1;
try {
for (; r[0]; )
r.shift().apply(i, a)
} finally {
e = [i, a],
t = 0
}
}
return this
},
resolve: function() {
return i.resolveWith(this, arguments),
this
},
isResolved: function() {
return !(!t && !e)
},
cancel: function() {
return n = 1,
r = [],
this
}
};
return i
},
Deferred: function(e) {
var t, n = O._Deferred(), r = O._Deferred();
return O.extend(n, {
then: function(e, t) {
return n.done(e).fail(t),
this
},
always: function() {
return n.done.apply(n, arguments).fail.apply(this, arguments)
},
fail: r.done,
rejectWith: r.resolveWith,
reject: r.resolve,
isRejected: r.isResolved,
pipe: function(e, t) {
return O.Deferred(function(r) {
O.each({
done: [e, "resolve"],
fail: [t, "reject"]
}, function(e, t) {
var i, a = t[0], o = t[1];
O.isFunction(a) ? n[e](function() {
i = a.apply(this, arguments),
i && O.isFunction(i.promise) ? i.promise().then(r.resolve, r.reject) : r[o + "With"](this === n ? r : this, [i])
}) : n[e](r[o])
})
}).promise()
},
promise: function(e) {
if (null == e) {
if (t)
return t;
t = e = {}
}
for (var r = H.length; r--; )
e[H[r]] = n[H[r]];
return e
}
}),
n.done(r.cancel).fail(n.cancel),
delete n.cancel,
e && e.call(n, n),
n
},
when: function(e) {
function t(e) {
return function(t) {
n[e] = arguments.length > 1 ? R.call(arguments, 0) : t,
--a || o.resolveWith(o, R.call(n, 0))
}
}
var n = arguments
, r = 0
, i = n.length
, a = i
, o = 1 >= i && e && O.isFunction(e.promise) ? e : O.Deferred();
if (i > 1) {
for (; i > r; r++)
n[r] && O.isFunction(n[r].promise) ? n[r].promise().then(t(r), o.reject) : --a;
a || o.resolveWith(o, n)
} else
o !== e && o.resolveWith(o, i ? [e] : []);
return o.promise()
}
}),
O.support = function() {
var e, t, n, r, i, a, o, s, l, u, c, d, f, p, h, g, m = D.createElement("div"), v = D.documentElement;
if (m.setAttribute("className", "t"),
m.innerHTML = " a ",
e = m.getElementsByTagName("*"),
t = m.getElementsByTagName("a")[0],
!e || !e.length || !t)
return {};
n = D.createElement("select"),
r = n.appendChild(D.createElement("option")),
i = m.getElementsByTagName("input")[0],
o = {
leadingWhitespace: 3 === m.firstChild.nodeType,
tbody: !m.getElementsByTagName("tbody").length,
htmlSerialize: !!m.getElementsByTagName("link").length,
style: /top/.test(t.getAttribute("style")),
hrefNormalized: "/a" === t.getAttribute("href"),
opacity: /^0.55$/.test(t.style.opacity),
cssFloat: !!t.style.cssFloat,
checkOn: "on" === i.value,
optSelected: r.selected,
getSetAttribute: "t" !== m.className,
submitBubbles: !0,
changeBubbles: !0,
focusinBubbles: !1,
deleteExpando: !0,
noCloneEvent: !0,
inlineBlockNeedsLayout: !1,
shrinkWrapBlocks: !1,
reliableMarginRight: !0
},
i.checked = !0,
o.noCloneChecked = i.cloneNode(!0).checked,
n.disabled = !0,
o.optDisabled = !r.disabled;
try {
delete m.test
} catch (y) {
o.deleteExpando = !1
}
!m.addEventListener && m.attachEvent && m.fireEvent && (m.attachEvent("onclick", function() {
o.noCloneEvent = !1
}),
m.cloneNode(!0).fireEvent("onclick")),
i = D.createElement("input"),
i.value = "t",
i.setAttribute("type", "radio"),
o.radioValue = "t" === i.value,
i.setAttribute("checked", "checked"),
m.appendChild(i),
s = D.createDocumentFragment(),
s.appendChild(m.firstChild),
o.checkClone = s.cloneNode(!0).cloneNode(!0).lastChild.checked,
m.innerHTML = "",
m.style.width = m.style.paddingLeft = "1px",
l = D.getElementsByTagName("body")[0],
c = D.createElement(l ? "div" : "body"),
d = {
visibility: "hidden",
width: 0,
height: 0,
border: 0,
margin: 0,
background: "none"
},
l && O.extend(d, {
position: "absolute",
left: "-1000px",
top: "-1000px"
});
for (h in d)
c.style[h] = d[h];
if (c.appendChild(m),
u = l || v,
u.insertBefore(c, u.firstChild),
o.appendChecked = i.checked,
o.boxModel = 2 === m.offsetWidth,
"zoom"in m.style && (m.style.display = "inline",
m.style.zoom = 1,
o.inlineBlockNeedsLayout = 2 === m.offsetWidth,
m.style.display = "",
m.innerHTML = "
",
o.shrinkWrapBlocks = 2 !== m.offsetWidth),
m.innerHTML = "",
f = m.getElementsByTagName("td"),
g = 0 === f[0].offsetHeight,
f[0].style.display = "",
f[1].style.display = "none",
o.reliableHiddenOffsets = g && 0 === f[0].offsetHeight,
m.innerHTML = "",
D.defaultView && D.defaultView.getComputedStyle && (a = D.createElement("div"),
a.style.width = "0",
a.style.marginRight = "0",
m.appendChild(a),
o.reliableMarginRight = 0 === (parseInt((D.defaultView.getComputedStyle(a, null) || {
marginRight: 0
}).marginRight, 10) || 0)),
c.innerHTML = "",
u.removeChild(c),
m.attachEvent)
for (h in {
submit: 1,
change: 1,
focusin: 1
})
p = "on" + h,
g = p in m,
g || (m.setAttribute(p, "return;"),
g = "function" == typeof m[p]),
o[h + "Bubbles"] = g;
return c = s = n = r = l = a = m = i = null,
o
}(),
O.boxModel = O.support.boxModel;
var B = /^(?:\{.*\}|\[.*\])$/
, P = /([a-z])([A-Z])/g;
O.extend({
cache: {},
uuid: 0,
expando: "jQuery" + (O.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 ? O.cache[e[O.expando]] : e[O.expando],
!!e && !r(e)
},
data: function(e, n, r, i) {
if (O.acceptData(e)) {
var a, o, s = O.expando, l = "string" == typeof n, u = e.nodeType, c = u ? O.cache : e, d = u ? e[O.expando] : e[O.expando] && O.expando;
if (!(!d || i && d && c[d] && !c[d][s]) || !l || r !== t)
return d || (u ? e[O.expando] = d = ++O.uuid : d = O.expando),
c[d] || (c[d] = {},
u || (c[d].toJSON = O.noop)),
"object" != typeof n && "function" != typeof n || (i ? c[d][s] = O.extend(c[d][s], n) : c[d] = O.extend(c[d], n)),
a = c[d],
i && (a[s] || (a[s] = {}),
a = a[s]),
r !== t && (a[O.camelCase(n)] = r),
"events" !== n || a[n] ? (l ? (o = a[n],
null == o && (o = a[O.camelCase(n)])) : o = a,
o) : a[s] && a[s].events
}
},
removeData: function(e, t, n) {
if (O.acceptData(e)) {
var i, a = O.expando, o = e.nodeType, s = o ? O.cache : e, l = o ? e[O.expando] : O.expando;
if (s[l] && (!t || (i = n ? s[l][a] : s[l],
!i || (i[t] || (t = O.camelCase(t)),
delete i[t],
r(i)))) && (!n || (delete s[l][a],
r(s[l])))) {
var u = s[l][a];
O.support.deleteExpando || !s.setInterval ? delete s[l] : s[l] = null,
u ? (s[l] = {},
o || (s[l].toJSON = O.noop),
s[l][a] = u) : o && (O.support.deleteExpando ? delete e[O.expando] : e.removeAttribute ? e.removeAttribute(O.expando) : e[O.expando] = null)
}
}
},
_data: function(e, t, n) {
return O.data(e, t, n, !0)
},
acceptData: function(e) {
if (e.nodeName) {
var t = O.noData[e.nodeName.toLowerCase()];
if (t)
return !(t === !0 || e.getAttribute("classid") !== t)
}
return !0
}
}),
O.fn.extend({
data: function(e, r) {
var i = null;
if ("undefined" == typeof e) {
if (this.length && (i = O.data(this[0]),
1 === this[0].nodeType))
for (var a, o = this[0].attributes, s = 0, l = o.length; l > s; s++)
a = o[s].name,
0 === a.indexOf("data-") && (a = O.camelCase(a.substring(5)),
n(this[0], a, i[a]));
return i
}
if ("object" == typeof e)
return this.each(function() {
O.data(this, e)
});
var u = e.split(".");
return u[1] = u[1] ? "." + u[1] : "",
r === t ? (i = this.triggerHandler("getData" + u[1] + "!", [u[0]]),
i === t && this.length && (i = O.data(this[0], e),
i = n(this[0], e, i)),
i === t && u[1] ? this.data(u[0]) : i) : this.each(function() {
var t = O(this)
, n = [u[0], r];
t.triggerHandler("setData" + u[1] + "!", n),
O.data(this, e, r),
t.triggerHandler("changeData" + u[1] + "!", n)
})
},
removeData: function(e) {
return this.each(function() {
O.removeData(this, e)
})
}
}),
O.extend({
_mark: function(e, n) {
e && (n = (n || "fx") + "mark",
O.data(e, n, (O.data(e, n, t, !0) || 0) + 1, !0))
},
_unmark: function(e, n, r) {
if (e !== !0 && (r = n,
n = e,
e = !1),
n) {
r = r || "fx";
var a = r + "mark"
, o = e ? 0 : (O.data(n, a, t, !0) || 1) - 1;
o ? O.data(n, a, o, !0) : (O.removeData(n, a, !0),
i(n, r, "mark"))
}
},
queue: function(e, n, r) {
if (e) {
n = (n || "fx") + "queue";
var i = O.data(e, n, t, !0);
return r && (!i || O.isArray(r) ? i = O.data(e, n, O.makeArray(r), !0) : i.push(r)),
i || []
}
},
dequeue: function(e, t) {
t = t || "fx";
var n = O.queue(e, t)
, r = n.shift();
"inprogress" === r && (r = n.shift()),
r && ("fx" === t && n.unshift("inprogress"),
r.call(e, function() {
O.dequeue(e, t)
})),
n.length || (O.removeData(e, t + "queue", !0),
i(e, t, "queue"))
}
}),
O.fn.extend({
queue: function(e, n) {
return "string" != typeof e && (n = e,
e = "fx"),
n === t ? O.queue(this[0], e) : this.each(function() {
var t = O.queue(this, e, n);
"fx" === e && "inprogress" !== t[0] && O.dequeue(this, e)
})
},
dequeue: function(e) {
return this.each(function() {
O.dequeue(this, e)
})
},
delay: function(e, t) {
return e = O.fx ? O.fx.speeds[e] || e : e,
t = t || "fx",
this.queue(t, function() {
var n = this;
setTimeout(function() {
O.dequeue(n, t)
}, e)
})
},
clearQueue: function(e) {
return this.queue(e || "fx", [])
},
promise: function(e, n) {
function r() {
--l || a.resolveWith(o, [o])
}
"string" != typeof e && (n = e,
e = t),
e = e || "fx";
for (var i, a = O.Deferred(), o = this, s = o.length, l = 1, u = e + "defer", c = e + "queue", d = e + "mark"; s--; )
(i = O.data(o[s], u, t, !0) || (O.data(o[s], c, t, !0) || O.data(o[s], d, t, !0)) && O.data(o[s], u, O._Deferred(), !0)) && (l++,
i.done(r));
return r(),
a.promise()
}
});
var V, q, W = /[\n\t\r]/g, X = /\s+/, $ = /\r/g, z = /^(?:button|input)$/i, Y = /^(?:button|input|object|select|textarea)$/i, U = /^a(?:rea)?$/i, J = /^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i;
O.fn.extend({
attr: function(e, t) {
return O.access(this, e, t, !0, O.attr)
},
removeAttr: function(e) {
return this.each(function() {
O.removeAttr(this, e)
})
},
prop: function(e, t) {
return O.access(this, e, t, !0, O.prop)
},
removeProp: function(e) {
return e = O.propFix[e] || e,
this.each(function() {
try {
this[e] = t,
delete this[e]
} catch (n) {}
})
},
addClass: function(e) {
var t, n, r, i, a, o, s;
if (O.isFunction(e))
return this.each(function(t) {
O(this).addClass(e.call(this, t, this.className))
});
if (e && "string" == typeof e)
for (t = e.split(X),
n = 0,
r = this.length; r > n; n++)
if (i = this[n],
1 === i.nodeType)
if (i.className || 1 !== t.length) {
for (a = " " + i.className + " ",
o = 0,
s = t.length; s > o; o++)
~a.indexOf(" " + t[o] + " ") || (a += t[o] + " ");
i.className = O.trim(a)
} else
i.className = e;
return this
},
removeClass: function(e) {
var n, r, i, a, o, s, l;
if (O.isFunction(e))
return this.each(function(t) {
O(this).removeClass(e.call(this, t, this.className))
});
if (e && "string" == typeof e || e === t)
for (n = (e || "").split(X),
r = 0,
i = this.length; i > r; r++)
if (a = this[r],
1 === a.nodeType && a.className)
if (e) {
for (o = (" " + a.className + " ").replace(W, " "),
s = 0,
l = n.length; l > s; s++)
o = o.replace(" " + n[s] + " ", " ");
a.className = O.trim(o)
} else
a.className = "";
return this
},
toggleClass: function(e, t) {
var n = typeof e
, r = "boolean" == typeof t;
return O.isFunction(e) ? this.each(function(n) {
O(this).toggleClass(e.call(this, n, this.className, t), t)
}) : this.each(function() {
if ("string" === n)
for (var i, a = 0, o = O(this), s = t, l = e.split(X); i = l[a++]; )
s = r ? s : !o.hasClass(i),
o[s ? "addClass" : "removeClass"](i);
else
"undefined" !== n && "boolean" !== n || (this.className && O._data(this, "__className__", this.className),
this.className = this.className || e === !1 ? "" : O._data(this, "__className__") || "")
})
},
hasClass: function(e) {
for (var t = " " + e + " ", n = 0, r = this.length; r > n; n++)
if (1 === this[n].nodeType && (" " + this[n].className + " ").replace(W, " ").indexOf(t) > -1)
return !0;
return !1
},
val: function(e) {
var n, r, i = this[0];
if (!arguments.length)
return i ? (n = O.valHooks[i.nodeName.toLowerCase()] || O.valHooks[i.type],
n && "get"in n && (r = n.get(i, "value")) !== t ? r : (r = i.value,
"string" == typeof r ? r.replace($, "") : null == r ? "" : r)) : t;
var a = O.isFunction(e);
return this.each(function(r) {
var i, o = O(this);
1 === this.nodeType && (i = a ? e.call(this, r, o.val()) : e,
null == i ? i = "" : "number" == typeof i ? i += "" : O.isArray(i) && (i = O.map(i, function(e) {
return null == e ? "" : e + ""
})),
n = O.valHooks[this.nodeName.toLowerCase()] || O.valHooks[this.type],
n && "set"in n && n.set(this, i, "value") !== t || (this.value = i))
})
}
}),
O.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 = e.selectedIndex, r = [], i = e.options, a = "select-one" === e.type;
if (0 > n)
return null;
for (var o = a ? n : 0, s = a ? n + 1 : i.length; s > o; o++) {
var l = i[o];
if (l.selected && (O.support.optDisabled ? !l.disabled : null === l.getAttribute("disabled")) && (!l.parentNode.disabled || !O.nodeName(l.parentNode, "optgroup"))) {
if (t = O(l).val(),
a)
return t;
r.push(t)
}
}
return a && !r.length && i.length ? O(i[n]).val() : r
},
set: function(e, t) {
var n = O.makeArray(t);
return O(e).find("option").each(function() {
this.selected = O.inArray(O(this).val(), n) >= 0
}),
n.length || (e.selectedIndex = -1),
n
}
}
},
attrFn: {
val: !0,
css: !0,
html: !0,
text: !0,
data: !0,
width: !0,
height: !0,
offset: !0
},
attrFix: {
tabindex: "tabIndex"
},
attr: function(e, n, r, i) {
var a = e.nodeType;
if (!e || 3 === a || 8 === a || 2 === a)
return t;
if (i && n in O.attrFn)
return O(e)[n](r);
if (!("getAttribute"in e))
return O.prop(e, n, r);
var o, s, l = 1 !== a || !O.isXMLDoc(e);
return l && (n = O.attrFix[n] || n,
s = O.attrHooks[n],
s || (J.test(n) ? s = q : V && (s = V))),
r !== t ? null === r ? (O.removeAttr(e, n),
t) : s && "set"in s && l && (o = s.set(e, r, n)) !== t ? o : (e.setAttribute(n, "" + r),
r) : s && "get"in s && l && null !== (o = s.get(e, n)) ? o : (o = e.getAttribute(n),
null === o ? t : o)
},
removeAttr: function(e, t) {
var n;
1 === e.nodeType && (t = O.attrFix[t] || t,
O.attr(e, t, ""),
e.removeAttribute(t),
J.test(t) && (n = O.propFix[t] || t)in e && (e[n] = !1))
},
attrHooks: {
type: {
set: function(e, t) {
if (z.test(e.nodeName) && e.parentNode)
O.error("type property can't be changed");
else if (!O.support.radioValue && "radio" === t && O.nodeName(e, "input")) {
var n = e.value;
return e.setAttribute("type", t),
n && (e.value = n),
t
}
}
},
value: {
get: function(e, t) {
return V && O.nodeName(e, "button") ? V.get(e, t) : t in e ? e.value : null
},
set: function(e, t, n) {
return V && O.nodeName(e, "button") ? V.set(e, t, n) : void (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 = e.nodeType;
if (!e || 3 === i || 8 === i || 2 === i)
return t;
var a, o, s = 1 !== i || !O.isXMLDoc(e);
return s && (n = O.propFix[n] || n,
o = O.propHooks[n]),
r !== t ? o && "set"in o && (a = o.set(e, r, n)) !== t ? a : e[n] = r : o && "get"in o && null !== (a = o.get(e, n)) ? a : e[n]
},
propHooks: {
tabIndex: {
get: function(e) {
var n = e.getAttributeNode("tabindex");
return n && n.specified ? parseInt(n.value, 10) : Y.test(e.nodeName) || U.test(e.nodeName) && e.href ? 0 : t
}
}
}
}),
O.attrHooks.tabIndex = O.propHooks.tabIndex,
q = {
get: function(e, n) {
var r;
return O.prop(e, n) === !0 || (r = e.getAttributeNode(n)) && r.nodeValue !== !1 ? n.toLowerCase() : t
},
set: function(e, t, n) {
var r;
return t === !1 ? O.removeAttr(e, n) : (r = O.propFix[n] || n,
r in e && (e[r] = !0),
e.setAttribute(n, n.toLowerCase())),
n
}
},
O.support.getSetAttribute || (V = O.valHooks.button = {
get: function(e, n) {
var r;
return r = e.getAttributeNode(n),
r && "" !== r.nodeValue ? r.nodeValue : t
},
set: function(e, t, n) {
var r = e.getAttributeNode(n);
return r || (r = D.createAttribute(n),
e.setAttributeNode(r)),
r.nodeValue = t + ""
}
},
O.each(["width", "height"], function(e, t) {
O.attrHooks[t] = O.extend(O.attrHooks[t], {
set: function(e, n) {
return "" === n ? (e.setAttribute(t, "auto"),
n) : void 0
}
})
})),
O.support.hrefNormalized || O.each(["href", "src", "width", "height"], function(e, n) {
O.attrHooks[n] = O.extend(O.attrHooks[n], {
get: function(e) {
var r = e.getAttribute(n, 2);
return null === r ? t : r
}
})
}),
O.support.style || (O.attrHooks.style = {
get: function(e) {
return e.style.cssText.toLowerCase() || t
},
set: function(e, t) {
return e.style.cssText = "" + t
}
}),
O.support.optSelected || (O.propHooks.selected = O.extend(O.propHooks.selected, {
get: function(e) {
var t = e.parentNode;
return t && (t.selectedIndex,
t.parentNode && t.parentNode.selectedIndex),
null
}
})),
O.support.checkOn || O.each(["radio", "checkbox"], function() {
O.valHooks[this] = {
get: function(e) {
return null === e.getAttribute("value") ? "on" : e.value
}
}
}),
O.each(["radio", "checkbox"], function() {
O.valHooks[this] = O.extend(O.valHooks[this], {
set: function(e, t) {
return O.isArray(t) ? e.checked = O.inArray(O(e).val(), t) >= 0 : void 0
}
})
});
var G = /\.(.*)$/
, Q = /^(?:textarea|input|select)$/i
, K = /\./g
, Z = / /g
, ee = /[^\w\s.|`]/g
, te = function(e) {
return e.replace(ee, "\\$&")
};
O.event = {
add: function(e, n, r, i) {
if (3 !== e.nodeType && 8 !== e.nodeType) {
if (r === !1)
r = a;
else if (!r)
return;
var o, s;
r.handler && (o = r,
r = o.handler),
r.guid || (r.guid = O.guid++);
var l = O._data(e);
if (l) {
var u = l.events
, c = l.handle;
u || (l.events = u = {}),
c || (l.handle = c = function(e) {
return "undefined" == typeof O || e && O.event.triggered === e.type ? t : O.event.handle.apply(c.elem, arguments)
}
),
c.elem = e,
n = n.split(" ");
for (var d, f, p = 0; d = n[p++]; ) {
s = o ? O.extend({}, o) : {
handler: r,
data: i
},
d.indexOf(".") > -1 ? (f = d.split("."),
d = f.shift(),
s.namespace = f.slice(0).sort().join(".")) : (f = [],
s.namespace = ""),
s.type = d,
s.guid || (s.guid = r.guid);
var h = u[d]
, g = O.event.special[d] || {};
h || (h = u[d] = [],
g.setup && g.setup.call(e, i, f, c) !== !1 || (e.addEventListener ? e.addEventListener(d, c, !1) : e.attachEvent && e.attachEvent("on" + d, c))),
g.add && (g.add.call(e, s),
s.handler.guid || (s.handler.guid = r.guid)),
h.push(s),
O.event.global[d] = !0
}
e = null
}
}
},
global: {},
remove: function(e, n, r, i) {
if (3 !== e.nodeType && 8 !== e.nodeType) {
r === !1 && (r = a);
var o, s, l, u, c, d, f, p, h, g, m = 0, v = O.hasData(e) && O._data(e), y = v && v.events;
if (v && y)
if (n && n.type && (r = n.handler,
n = n.type),
!n || "string" == typeof n && "." === n.charAt(0)) {
n = n || "";
for (s in y)
O.event.remove(e, s + n)
} else {
for (n = n.split(" "); s = n[m++]; )
if (g = s,
h = null,
u = s.indexOf(".") < 0,
c = [],
u || (c = s.split("."),
s = c.shift(),
d = new RegExp("(^|\\.)" + O.map(c.slice(0).sort(), te).join("\\.(?:.*\\.)?") + "(\\.|$)")),
p = y[s])
if (r) {
for (f = O.event.special[s] || {},
l = i || 0; l < p.length && (h = p[l],
r.guid !== h.guid || ((u || d.test(h.namespace)) && (null == i && p.splice(l--, 1),
f.remove && f.remove.call(e, h)),
null == i)); l++)
;
(0 === p.length || null != i && 1 === p.length) && (f.teardown && f.teardown.call(e, c) !== !1 || O.removeEvent(e, s, v.handle),
o = null,
delete y[s])
} else
for (l = 0; l < p.length; l++)
h = p[l],
(u || d.test(h.namespace)) && (O.event.remove(e, g, h.handler, l),
p.splice(l--, 1));
if (O.isEmptyObject(y)) {
var b = v.handle;
b && (b.elem = null),
delete v.events,
delete v.handle,
O.isEmptyObject(v) && O.removeData(e, t, !0)
}
}
}
},
customEvent: {
getData: !0,
setData: !0,
changeData: !0
},
trigger: function(n, r, i, a) {
var o, s = n.type || n, l = [];
if (s.indexOf("!") >= 0 && (s = s.slice(0, -1),
o = !0),
s.indexOf(".") >= 0 && (l = s.split("."),
s = l.shift(),
l.sort()),
i && !O.event.customEvent[s] || O.event.global[s]) {
if (n = "object" == typeof n ? n[O.expando] ? n : new O.Event(s,n) : new O.Event(s),
n.type = s,
n.exclusive = o,
n.namespace = l.join("."),
n.namespace_re = new RegExp("(^|\\.)" + l.join("\\.(?:.*\\.)?") + "(\\.|$)"),
!a && i || (n.preventDefault(),
n.stopPropagation()),
!i)
return void O.each(O.cache, function() {
var e = O.expando
, t = this[e];
t && t.events && t.events[s] && O.event.trigger(n, r, t.handle.elem)
});
if (3 !== i.nodeType && 8 !== i.nodeType) {
n.result = t,
n.target = i,
r = null != r ? O.makeArray(r) : [],
r.unshift(n);
var u = i
, c = s.indexOf(":") < 0 ? "on" + s : "";
do {
var d = O._data(u, "handle");
n.currentTarget = u,
d && d.apply(u, r),
c && O.acceptData(u) && u[c] && u[c].apply(u, r) === !1 && (n.result = !1,
n.preventDefault()),
u = u.parentNode || u.ownerDocument || u === n.target.ownerDocument && e
} while (u && !n.isPropagationStopped());if (!n.isDefaultPrevented()) {
var f, p = O.event.special[s] || {};
if ((!p._default || p._default.call(i.ownerDocument, n) === !1) && ("click" !== s || !O.nodeName(i, "a")) && O.acceptData(i)) {
try {
c && i[s] && (f = i[c],
f && (i[c] = null),
O.event.triggered = s,
i[s]())
} catch (h) {}
f && (i[c] = f),
O.event.triggered = t
}
}
return n.result
}
}
},
handle: function(n) {
n = O.event.fix(n || e.event);
var r = ((O._data(this, "events") || {})[n.type] || []).slice(0)
, i = !n.exclusive && !n.namespace
, a = Array.prototype.slice.call(arguments, 0);
a[0] = n,
n.currentTarget = this;
for (var o = 0, s = r.length; s > o; o++) {
var l = r[o];
if (i || n.namespace_re.test(l.namespace)) {
n.handler = l.handler,
n.data = l.data,
n.handleObj = l;
var u = l.handler.apply(this, a);
if (u !== t && (n.result = u,
u === !1 && (n.preventDefault(),
n.stopPropagation())),
n.isImmediatePropagationStopped())
break
}
}
return n.result
},
props: "altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode layerX layerY metaKey newValue offsetX offsetY pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),
fix: function(e) {
if (e[O.expando])
return e;
var n = e;
e = O.Event(n);
for (var r, i = this.props.length; i; )
r = this.props[--i],
e[r] = n[r];
if (e.target || (e.target = e.srcElement || D),
3 === e.target.nodeType && (e.target = e.target.parentNode),
!e.relatedTarget && e.fromElement && (e.relatedTarget = e.fromElement === e.target ? e.toElement : e.fromElement),
null == e.pageX && null != e.clientX) {
var a = e.target.ownerDocument || D
, o = a.documentElement
, s = a.body;
e.pageX = e.clientX + (o && o.scrollLeft || s && s.scrollLeft || 0) - (o && o.clientLeft || s && s.clientLeft || 0),
e.pageY = e.clientY + (o && o.scrollTop || s && s.scrollTop || 0) - (o && o.clientTop || s && s.clientTop || 0)
}
return null != e.which || null == e.charCode && null == e.keyCode || (e.which = null != e.charCode ? e.charCode : e.keyCode),
!e.metaKey && e.ctrlKey && (e.metaKey = e.ctrlKey),
e.which || e.button === t || (e.which = 1 & e.button ? 1 : 2 & e.button ? 3 : 4 & e.button ? 2 : 0),
e
},
guid: 1e8,
proxy: O.proxy,
special: {
ready: {
setup: O.bindReady,
teardown: O.noop
},
live: {
add: function(e) {
O.event.add(this, u(e.origType, e.selector), O.extend({}, e, {
handler: l,
guid: e.handler.guid
}))
},
remove: function(e) {
O.event.remove(this, u(e.origType, e.selector), e)
}
},
beforeunload: {
setup: function(e, t, n) {
O.isWindow(this) && (this.onbeforeunload = n)
},
teardown: function(e, t) {
this.onbeforeunload === t && (this.onbeforeunload = null)
}
}
}
},
O.removeEvent = D.removeEventListener ? function(e, t, n) {
e.removeEventListener && e.removeEventListener(t, n, !1)
}
: function(e, t, n) {
e.detachEvent && e.detachEvent("on" + t, n)
}
,
O.Event = function(e, t) {
return this.preventDefault ? (e && e.type ? (this.originalEvent = e,
this.type = e.type,
this.isDefaultPrevented = e.defaultPrevented || e.returnValue === !1 || e.getPreventDefault && e.getPreventDefault() ? o : a) : this.type = e,
t && O.extend(this, t),
this.timeStamp = O.now(),
void (this[O.expando] = !0)) : new O.Event(e,t)
}
,
O.Event.prototype = {
preventDefault: function() {
this.isDefaultPrevented = o;
var e = this.originalEvent;
e && (e.preventDefault ? e.preventDefault() : e.returnValue = !1)
},
stopPropagation: function() {
this.isPropagationStopped = o;
var e = this.originalEvent;
e && (e.stopPropagation && e.stopPropagation(),
e.cancelBubble = !0)
},
stopImmediatePropagation: function() {
this.isImmediatePropagationStopped = o,
this.stopPropagation()
},
isDefaultPrevented: a,
isPropagationStopped: a,
isImmediatePropagationStopped: a
};
var ne = function(e) {
var t = e.relatedTarget
, n = !1
, r = e.type;
e.type = e.data,
t !== this && (t && (n = O.contains(this, t)),
n || (O.event.handle.apply(this, arguments),
e.type = r))
}
, re = function(e) {
e.type = e.data,
O.event.handle.apply(this, arguments)
};
if (O.each({
mouseenter: "mouseover",
mouseleave: "mouseout"
}, function(e, t) {
O.event.special[e] = {
setup: function(n) {
O.event.add(this, t, n && n.selector ? re : ne, e)
},
teardown: function(e) {
O.event.remove(this, t, e && e.selector ? re : ne)
}
}
}),
O.support.submitBubbles || (O.event.special.submit = {
setup: function() {
return O.nodeName(this, "form") ? !1 : (O.event.add(this, "click.specialSubmit", function(e) {
var t = e.target
, n = O.nodeName(t, "input") ? t.type : "";
"submit" !== n && "image" !== n || !O(t).closest("form").length || s("submit", this, arguments)
}),
void O.event.add(this, "keypress.specialSubmit", function(e) {
var t = e.target
, n = O.nodeName(t, "input") ? t.type : "";
"text" !== n && "password" !== n || !O(t).closest("form").length || 13 !== e.keyCode || s("submit", this, arguments)
}))
},
teardown: function() {
O.event.remove(this, ".specialSubmit")
}
}),
!O.support.changeBubbles) {
var ie, ae = function(e) {
var t = O.nodeName(e, "input") ? e.type : ""
, n = e.value;
return "radio" === t || "checkbox" === t ? n = e.checked : "select-multiple" === t ? n = e.selectedIndex > -1 ? O.map(e.options, function(e) {
return e.selected
}).join("-") : "" : O.nodeName(e, "select") && (n = e.selectedIndex),
n
}, oe = function(e) {
var n, r, i = e.target;
Q.test(i.nodeName) && !i.readOnly && (n = O._data(i, "_change_data"),
r = ae(i),
"focusout" === e.type && "radio" === i.type || O._data(i, "_change_data", r),
n !== t && r !== n && (null != n || r) && (e.type = "change",
e.liveFired = t,
O.event.trigger(e, arguments[1], i)))
};
O.event.special.change = {
filters: {
focusout: oe,
beforedeactivate: oe,
click: function(e) {
var t = e.target
, n = O.nodeName(t, "input") ? t.type : "";
("radio" === n || "checkbox" === n || O.nodeName(t, "select")) && oe.call(this, e)
},
keydown: function(e) {
var t = e.target
, n = O.nodeName(t, "input") ? t.type : "";
(13 === e.keyCode && !O.nodeName(t, "textarea") || 32 === e.keyCode && ("checkbox" === n || "radio" === n) || "select-multiple" === n) && oe.call(this, e)
},
beforeactivate: function(e) {
var t = e.target;
O._data(t, "_change_data", ae(t))
}
},
setup: function() {
if ("file" === this.type)
return !1;
for (var e in ie)
O.event.add(this, e + ".specialChange", ie[e]);
return Q.test(this.nodeName)
},
teardown: function() {
return O.event.remove(this, ".specialChange"),
Q.test(this.nodeName)
}
},
ie = O.event.special.change.filters,
ie.focus = ie.beforeactivate
}
O.support.focusinBubbles || O.each({
focus: "focusin",
blur: "focusout"
}, function(e, t) {
function n(e) {
var n = O.event.fix(e);
n.type = t,
n.originalEvent = {},
O.event.trigger(n, null, n.target),
n.isDefaultPrevented() && e.preventDefault()
}
var r = 0;
O.event.special[t] = {
setup: function() {
0 === r++ && D.addEventListener(e, n, !0)
},
teardown: function() {
0 === --r && D.removeEventListener(e, n, !0)
}
}
}),
O.each(["bind", "one"], function(e, n) {
O.fn[n] = function(e, r, i) {
var a;
if ("object" == typeof e) {
for (var o in e)
this[n](o, r, e[o], i);
return this
}
if (2 !== arguments.length && r !== !1 || (i = r,
r = t),
"one" === n ? (a = function(e) {
return O(this).unbind(e, a),
i.apply(this, arguments)
}
,
a.guid = i.guid || O.guid++) : a = i,
"unload" === e && "one" !== n)
this.one(e, r, i);
else
for (var s = 0, l = this.length; l > s; s++)
O.event.add(this[s], e, a, r);
return this
}
}),
O.fn.extend({
unbind: function(e, t) {
if ("object" != typeof e || e.preventDefault)
for (var n = 0, r = this.length; r > n; n++)
O.event.remove(this[n], e, t);
else
for (var i in e)
this.unbind(i, e[i]);
return this
},
delegate: function(e, t, n, r) {
return this.live(t, n, r, e)
},
undelegate: function(e, t, n) {
return 0 === arguments.length ? this.unbind("live") : this.die(t, null, n, e)
},
trigger: function(e, t) {
return this.each(function() {
O.event.trigger(e, t, this)
})
},
triggerHandler: function(e, t) {
return this[0] ? O.event.trigger(e, t, this[0], !0) : void 0
},
toggle: function(e) {
var t = arguments
, n = e.guid || O.guid++
, r = 0
, i = function(n) {
var i = (O.data(this, "lastToggle" + e.guid) || 0) % r;
return O.data(this, "lastToggle" + e.guid, i + 1),
n.preventDefault(),
t[i].apply(this, arguments) || !1
};
for (i.guid = n; r < t.length; )
t[r++].guid = n;
return this.click(i)
},
hover: function(e, t) {
return this.mouseenter(e).mouseleave(t || e)
}
});
var se = {
focus: "focusin",
blur: "focusout",
mouseenter: "mouseover",
mouseleave: "mouseout"
};
O.each(["live", "die"], function(e, n) {
O.fn[n] = function(e, r, i, o) {
var s, l, c, d, f = 0, p = o || this.selector, h = o ? this : O(this.context);
if ("object" == typeof e && !e.preventDefault) {
for (var g in e)
h[n](g, r, e[g], p);
return this
}
if ("die" === n && !e && o && "." === o.charAt(0))
return h.unbind(o),
this;
for ((r === !1 || O.isFunction(r)) && (i = r || a,
r = t),
e = (e || "").split(" "); null != (s = e[f++]); )
if (l = G.exec(s),
c = "",
l && (c = l[0],
s = s.replace(G, "")),
"hover" !== s)
if (d = s,
se[s] ? (e.push(se[s] + c),
s += c) : s = (se[s] || s) + c,
"live" === n)
for (var m = 0, v = h.length; v > m; m++)
O.event.add(h[m], "live." + u(s, p), {
data: r,
selector: p,
handler: i,
origType: s,
origHandler: i,
preType: d
});
else
h.unbind("live." + u(s, p), i);
else
e.push("mouseenter" + c, "mouseleave" + c);
return this
}
}),
O.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".split(" "), function(e, t) {
O.fn[t] = function(e, n) {
return null == n && (n = e,
e = null),
arguments.length > 0 ? this.bind(t, e, n) : this.trigger(t)
}
,
O.attrFn && (O.attrFn[t] = !0)
}),
function() {
function e(e, t, n, r, i, a) {
for (var o = 0, s = r.length; s > o; o++) {
var l = r[o];
if (l) {
var u = !1;
for (l = l[e]; l; ) {
if (l.sizcache === n) {
u = r[l.sizset];
break
}
if (1 !== l.nodeType || a || (l.sizcache = n,
l.sizset = o),
l.nodeName.toLowerCase() === t) {
u = l;
break
}
l = l[e]
}
r[o] = u
}
}
}
function n(e, t, n, r, i, a) {
for (var o = 0, s = r.length; s > o; o++) {
var l = r[o];
if (l) {
var u = !1;
for (l = l[e]; l; ) {
if (l.sizcache === n) {
u = r[l.sizset];
break
}
if (1 === l.nodeType)
if (a || (l.sizcache = n,
l.sizset = o),
"string" != typeof t) {
if (l === t) {
u = !0;
break
}
} else if (c.filter(t, [l]).length > 0) {
u = l;
break
}
l = l[e]
}
r[o] = u
}
}
}
var r = /((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g
, i = 0
, a = Object.prototype.toString
, o = !1
, s = !0
, l = /\\/g
, u = /\W/;
[0, 0].sort(function() {
return s = !1,
0
});
var c = function(e, t, n, i) {
n = n || [],
t = t || D;
var o = t;
if (1 !== t.nodeType && 9 !== t.nodeType)
return [];
if (!e || "string" != typeof e)
return n;
var s, l, u, p, h, m, v, y, x = !0, w = c.isXML(t), _ = [], T = e;
do
if (r.exec(""),
s = r.exec(T),
s && (T = s[3],
_.push(s[1]),
s[2])) {
p = s[3];
break
}
while (s);if (_.length > 1 && f.exec(e))
if (2 === _.length && d.relative[_[0]])
l = b(_[0] + _[1], t);
else
for (l = d.relative[_[0]] ? [t] : c(_.shift(), t); _.length; )
e = _.shift(),
d.relative[e] && (e += _.shift()),
l = b(e, l);
else if (!i && _.length > 1 && 9 === t.nodeType && !w && d.match.ID.test(_[0]) && !d.match.ID.test(_[_.length - 1]) && (h = c.find(_.shift(), t, w),
t = h.expr ? c.filter(h.expr, h.set)[0] : h.set[0]),
t)
for (h = i ? {
expr: _.pop(),
set: g(i)
} : c.find(_.pop(), 1 !== _.length || "~" !== _[0] && "+" !== _[0] || !t.parentNode ? t : t.parentNode, w),
l = h.expr ? c.filter(h.expr, h.set) : h.set,
_.length > 0 ? u = g(l) : x = !1; _.length; )
m = _.pop(),
v = m,
d.relative[m] ? v = _.pop() : m = "",
null == v && (v = t),
d.relative[m](u, v, w);
else
u = _ = [];
if (u || (u = l),
u || c.error(m || e),
"[object Array]" === a.call(u))
if (x)
if (t && 1 === t.nodeType)
for (y = 0; null != u[y]; y++)
u[y] && (u[y] === !0 || 1 === u[y].nodeType && c.contains(t, u[y])) && n.push(l[y]);
else
for (y = 0; null != u[y]; y++)
u[y] && 1 === u[y].nodeType && n.push(l[y]);
else
n.push.apply(n, u);
else
g(u, n);
return p && (c(p, o, n, i),
c.uniqueSort(n)),
n
};
c.uniqueSort = function(e) {
if (v && (o = s,
e.sort(v),
o))
for (var t = 1; t < e.length; t++)
e[t] === e[t - 1] && e.splice(t--, 1);
return e
}
,
c.matches = function(e, t) {
return c(e, null, null, t)
}
,
c.matchesSelector = function(e, t) {
return c(t, null, null, [e]).length > 0
}
,
c.find = function(e, t, n) {
var r;
if (!e)
return [];
for (var i = 0, a = d.order.length; a > i; i++) {
var o, s = d.order[i];
if (o = d.leftMatch[s].exec(e)) {
var u = o[1];
if (o.splice(1, 1),
"\\" !== u.substr(u.length - 1) && (o[1] = (o[1] || "").replace(l, ""),
r = d.find[s](o, t, n),
null != r)) {
e = e.replace(d.match[s], "");
break
}
}
}
return r || (r = "undefined" != typeof t.getElementsByTagName ? t.getElementsByTagName("*") : []),
{
set: r,
expr: e
}
}
,
c.filter = function(e, n, r, i) {
for (var a, o, s = e, l = [], u = n, f = n && n[0] && c.isXML(n[0]); e && n.length; ) {
for (var p in d.filter)
if (null != (a = d.leftMatch[p].exec(e)) && a[2]) {
var h, g, m = d.filter[p], v = a[1];
if (o = !1,
a.splice(1, 1),
"\\" === v.substr(v.length - 1))
continue;
if (u === l && (l = []),
d.preFilter[p])
if (a = d.preFilter[p](a, u, r, l, i, f)) {
if (a === !0)
continue
} else
o = h = !0;
if (a)
for (var y = 0; null != (g = u[y]); y++)
if (g) {
h = m(g, a, y, u);
var b = i ^ !!h;
r && null != h ? b ? o = !0 : u[y] = !1 : b && (l.push(g),
o = !0)
}
if (h !== t) {
if (r || (u = l),
e = e.replace(d.match[p], ""),
!o)
return [];
break
}
}
if (e === s) {
if (null != o)
break;
c.error(e)
}
s = e
}
return u
}
,
c.error = function(e) {
throw "Syntax error, unrecognized expression: " + e
}
;
var d = c.selectors = {
order: ["ID", "NAME", "TAG"],
match: {
ID: /#((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,
CLASS: /\.((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,
NAME: /\[name=['"]*((?:[\w\u00c0-\uFFFF\-]|\\.)+)['"]*\]/,
ATTR: /\[\s*((?:[\w\u00c0-\uFFFF\-]|\\.)+)\s*(?:(\S?=)\s*(?:(['"])(.*?)\3|(#?(?:[\w\u00c0-\uFFFF\-]|\\.)*)|)|)\s*\]/,
TAG: /^((?:[\w\u00c0-\uFFFF\*\-]|\\.)+)/,
CHILD: /:(only|nth|last|first)-child(?:\(\s*(even|odd|(?:[+\-]?\d+|(?:[+\-]?\d*)?n\s*(?:[+\-]\s*\d+)?))\s*\))?/,
POS: /:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^\-]|$)/,
PSEUDO: /:((?:[\w\u00c0-\uFFFF\-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/
},
leftMatch: {},
attrMap: {
"class": "className",
"for": "htmlFor"
},
attrHandle: {
href: function(e) {
return e.getAttribute("href")
},
type: function(e) {
return e.getAttribute("type")
}
},
relative: {
"+": function(e, t) {
var n = "string" == typeof t
, r = n && !u.test(t)
, i = n && !r;
r && (t = t.toLowerCase());
for (var a, o = 0, s = e.length; s > o; o++)
if (a = e[o]) {
for (; (a = a.previousSibling) && 1 !== a.nodeType; )
;
e[o] = i || a && a.nodeName.toLowerCase() === t ? a || !1 : a === t
}
i && c.filter(t, e, !0)
},
">": function(e, t) {
var n, r = "string" == typeof t, i = 0, a = e.length;
if (r && !u.test(t)) {
for (t = t.toLowerCase(); a > i; i++)
if (n = e[i]) {
var o = n.parentNode;
e[i] = o.nodeName.toLowerCase() === t ? o : !1
}
} else {
for (; a > i; i++)
n = e[i],
n && (e[i] = r ? n.parentNode : n.parentNode === t);
r && c.filter(t, e, !0)
}
},
"": function(t, r, a) {
var o, s = i++, l = n;
"string" != typeof r || u.test(r) || (r = r.toLowerCase(),
o = r,
l = e),
l("parentNode", r, s, t, o, a)
},
"~": function(t, r, a) {
var o, s = i++, l = n;
"string" != typeof r || u.test(r) || (r = r.toLowerCase(),
o = r,
l = e),
l("previousSibling", r, s, t, o, a)
}
},
find: {
ID: function(e, t, n) {
if ("undefined" != typeof t.getElementById && !n) {
var r = t.getElementById(e[1]);
return r && r.parentNode ? [r] : []
}
},
NAME: function(e, t) {
if ("undefined" != typeof t.getElementsByName) {
for (var n = [], r = t.getElementsByName(e[1]), i = 0, a = r.length; a > i; i++)
r[i].getAttribute("name") === e[1] && n.push(r[i]);
return 0 === n.length ? null : n
}
},
TAG: function(e, t) {
return "undefined" != typeof t.getElementsByTagName ? t.getElementsByTagName(e[1]) : void 0
}
},
preFilter: {
CLASS: function(e, t, n, r, i, a) {
if (e = " " + e[1].replace(l, "") + " ",
a)
return e;
for (var o, s = 0; null != (o = t[s]); s++)
o && (i ^ (o.className && (" " + o.className + " ").replace(/[\t\n\r]/g, " ").indexOf(e) >= 0) ? n || r.push(o) : n && (t[s] = !1));
return !1
},
ID: function(e) {
return e[1].replace(l, "")
},
TAG: function(e) {
return e[1].replace(l, "").toLowerCase()
},
CHILD: function(e) {
if ("nth" === e[1]) {
e[2] || c.error(e[0]),
e[2] = e[2].replace(/^\+|\s*/g, "");
var t = /(-?)(\d*)(?:n([+\-]?\d*))?/.exec("even" === e[2] && "2n" || "odd" === e[2] && "2n+1" || !/\D/.test(e[2]) && "0n+" + e[2] || e[2]);
e[2] = t[1] + (t[2] || 1) - 0,
e[3] = t[3] - 0
} else
e[2] && c.error(e[0]);
return e[0] = i++,
e
},
ATTR: function(e, t, n, r, i, a) {
var o = e[1] = e[1].replace(l, "");
return !a && d.attrMap[o] && (e[1] = d.attrMap[o]),
e[4] = (e[4] || e[5] || "").replace(l, ""),
"~=" === e[2] && (e[4] = " " + e[4] + " "),
e
},
PSEUDO: function(e, t, n, i, a) {
if ("not" === e[1]) {
if (!((r.exec(e[3]) || "").length > 1 || /^\w/.test(e[3]))) {
var o = c.filter(e[3], t, n, !0 ^ a);
return n || i.push.apply(i, o),
!1
}
e[3] = c(e[3], null, null, t)
} else if (d.match.POS.test(e[0]) || d.match.CHILD.test(e[0]))
return !0;
return e
},
POS: function(e) {
return e.unshift(!0),
e
}
},
filters: {
enabled: function(e) {
return e.disabled === !1 && "hidden" !== e.type
},
disabled: function(e) {
return e.disabled === !0
},
checked: function(e) {
return e.checked === !0
},
selected: function(e) {
return e.parentNode && e.parentNode.selectedIndex,
e.selected === !0
},
parent: function(e) {
return !!e.firstChild
},
empty: function(e) {
return !e.firstChild
},
has: function(e, t, n) {
return !!c(n[3], e).length
},
header: function(e) {
return /h\d/i.test(e.nodeName)
},
text: function(e) {
var t = e.getAttribute("type")
, n = e.type;
return "input" === e.nodeName.toLowerCase() && "text" === n && (t === n || null === t)
},
radio: function(e) {
return "input" === e.nodeName.toLowerCase() && "radio" === e.type
},
checkbox: function(e) {
return "input" === e.nodeName.toLowerCase() && "checkbox" === e.type
},
file: function(e) {
return "input" === e.nodeName.toLowerCase() && "file" === e.type
},
password: function(e) {
return "input" === e.nodeName.toLowerCase() && "password" === e.type
},
submit: function(e) {
var t = e.nodeName.toLowerCase();
return ("input" === t || "button" === t) && "submit" === e.type
},
image: function(e) {
return "input" === e.nodeName.toLowerCase() && "image" === e.type
},
reset: function(e) {
var t = e.nodeName.toLowerCase();
return ("input" === t || "button" === t) && "reset" === e.type
},
button: function(e) {
var t = e.nodeName.toLowerCase();
return "input" === t && "button" === e.type || "button" === t
},
input: function(e) {
return /input|select|textarea|button/i.test(e.nodeName)
},
focus: function(e) {
return e === e.ownerDocument.activeElement
}
},
setFilters: {
first: function(e, t) {
return 0 === t
},
last: function(e, t, n, r) {
return t === r.length - 1
},
even: function(e, t) {
return t % 2 === 0
},
odd: function(e, t) {
return t % 2 === 1
},
lt: function(e, t, n) {
return t < n[3] - 0
},
gt: function(e, t, n) {
return t > n[3] - 0
},
nth: function(e, t, n) {
return n[3] - 0 === t
},
eq: function(e, t, n) {
return n[3] - 0 === t
}
},
filter: {
PSEUDO: function(e, t, n, r) {
var i = t[1]
, a = d.filters[i];
if (a)
return a(e, n, t, r);
if ("contains" === i)
return (e.textContent || e.innerText || c.getText([e]) || "").indexOf(t[3]) >= 0;
if ("not" === i) {
for (var o = t[3], s = 0, l = o.length; l > s; s++)
if (o[s] === e)
return !1;
return !0
}
c.error(i)
},
CHILD: function(e, t) {
var n = t[1]
, r = e;
switch (n) {
case "only":
case "first":
for (; r = r.previousSibling; )
if (1 === r.nodeType)
return !1;
if ("first" === n)
return !0;
r = e;
case "last":
for (; r = r.nextSibling; )
if (1 === r.nodeType)
return !1;
return !0;
case "nth":
var i = t[2]
, a = t[3];
if (1 === i && 0 === a)
return !0;
var o = t[0]
, s = e.parentNode;
if (s && (s.sizcache !== o || !e.nodeIndex)) {
var l = 0;
for (r = s.firstChild; r; r = r.nextSibling)
1 === r.nodeType && (r.nodeIndex = ++l);
s.sizcache = o
}
var u = e.nodeIndex - a;
return 0 === i ? 0 === u : u % i === 0 && u / i >= 0
}
},
ID: function(e, t) {
return 1 === e.nodeType && e.getAttribute("id") === t
},
TAG: function(e, t) {
return "*" === t && 1 === e.nodeType || e.nodeName.toLowerCase() === t
},
CLASS: function(e, t) {
return (" " + (e.className || e.getAttribute("class")) + " ").indexOf(t) > -1
},
ATTR: function(e, t) {
var n = t[1]
, r = d.attrHandle[n] ? d.attrHandle[n](e) : null != e[n] ? e[n] : e.getAttribute(n)
, i = r + ""
, a = t[2]
, o = t[4];
return null == r ? "!=" === a : "=" === a ? i === o : "*=" === a ? i.indexOf(o) >= 0 : "~=" === a ? (" " + i + " ").indexOf(o) >= 0 : o ? "!=" === a ? i !== o : "^=" === a ? 0 === i.indexOf(o) : "$=" === a ? i.substr(i.length - o.length) === o : "|=" === a ? i === o || i.substr(0, o.length + 1) === o + "-" : !1 : i && r !== !1
},
POS: function(e, t, n, r) {
var i = t[2]
, a = d.setFilters[i];
return a ? a(e, n, t, r) : void 0
}
}
}
, f = d.match.POS
, p = function(e, t) {
return "\\" + (t - 0 + 1)
};
for (var h in d.match)
d.match[h] = new RegExp(d.match[h].source + /(?![^\[]*\])(?![^\(]*\))/.source),
d.leftMatch[h] = new RegExp(/(^(?:.|\r|\n)*?)/.source + d.match[h].source.replace(/\\(\d+)/g, p));
var g = function(e, t) {
return e = Array.prototype.slice.call(e, 0),
t ? (t.push.apply(t, e),
t) : e
};
try {
Array.prototype.slice.call(D.documentElement.childNodes, 0)[0].nodeType
} catch (m) {
g = function(e, t) {
var n = 0
, r = t || [];
if ("[object Array]" === a.call(e))
Array.prototype.push.apply(r, e);
else if ("number" == typeof e.length)
for (var i = e.length; i > n; n++)
r.push(e[n]);
else
for (; e[n]; n++)
r.push(e[n]);
return r
}
}
var v, y;
D.documentElement.compareDocumentPosition ? v = function(e, t) {
return e === t ? (o = !0,
0) : e.compareDocumentPosition && t.compareDocumentPosition ? 4 & e.compareDocumentPosition(t) ? -1 : 1 : e.compareDocumentPosition ? -1 : 1
}
: (v = function(e, t) {
if (e === t)
return o = !0,
0;
if (e.sourceIndex && t.sourceIndex)
return e.sourceIndex - t.sourceIndex;
var n, r, i = [], a = [], s = e.parentNode, l = t.parentNode, u = s;
if (s === l)
return y(e, t);
if (!s)
return -1;
if (!l)
return 1;
for (; u; )
i.unshift(u),
u = u.parentNode;
for (u = l; u; )
a.unshift(u),
u = u.parentNode;
n = i.length,
r = a.length;
for (var c = 0; n > c && r > c; c++)
if (i[c] !== a[c])
return y(i[c], a[c]);
return c === n ? y(e, a[c], -1) : y(i[c], t, 1)
}
,
y = function(e, t, n) {
if (e === t)
return n;
for (var r = e.nextSibling; r; ) {
if (r === t)
return -1;
r = r.nextSibling
}
return 1
}
),
c.getText = function(e) {
for (var t, n = "", r = 0; e[r]; r++)
t = e[r],
3 === t.nodeType || 4 === t.nodeType ? n += t.nodeValue : 8 !== t.nodeType && (n += c.getText(t.childNodes));
return n
}
,
function() {
var e = D.createElement("div")
, n = "script" + (new Date).getTime()
, r = D.documentElement;
e.innerHTML = " ",
r.insertBefore(e, r.firstChild),
D.getElementById(n) && (d.find.ID = function(e, n, r) {
if ("undefined" != typeof n.getElementById && !r) {
var i = n.getElementById(e[1]);
return i ? i.id === e[1] || "undefined" != typeof i.getAttributeNode && i.getAttributeNode("id").nodeValue === e[1] ? [i] : t : []
}
}
,
d.filter.ID = function(e, t) {
var n = "undefined" != typeof e.getAttributeNode && e.getAttributeNode("id");
return 1 === e.nodeType && n && n.nodeValue === t
}
),
r.removeChild(e),
r = e = null
}(),
function() {
var e = D.createElement("div");
e.appendChild(D.createComment("")),
e.getElementsByTagName("*").length > 0 && (d.find.TAG = function(e, t) {
var n = t.getElementsByTagName(e[1]);
if ("*" === e[1]) {
for (var r = [], i = 0; n[i]; i++)
1 === n[i].nodeType && r.push(n[i]);
n = r
}
return n
}
),
e.innerHTML = " ",
e.firstChild && "undefined" != typeof e.firstChild.getAttribute && "#" !== e.firstChild.getAttribute("href") && (d.attrHandle.href = function(e) {
return e.getAttribute("href", 2)
}
),
e = null
}(),
D.querySelectorAll && !function() {
var e = c
, t = D.createElement("div")
, n = "__sizzle__";
if (t.innerHTML = "
",
!t.querySelectorAll || 0 !== t.querySelectorAll(".TEST").length) {
c = function(t, r, i, a) {
if (r = r || D,
!a && !c.isXML(r)) {
var o = /^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(t);
if (o && (1 === r.nodeType || 9 === r.nodeType)) {
if (o[1])
return g(r.getElementsByTagName(t), i);
if (o[2] && d.find.CLASS && r.getElementsByClassName)
return g(r.getElementsByClassName(o[2]), i)
}
if (9 === r.nodeType) {
if ("body" === t && r.body)
return g([r.body], i);
if (o && o[3]) {
var s = r.getElementById(o[3]);
if (!s || !s.parentNode)
return g([], i);
if (s.id === o[3])
return g([s], i)
}
try {
return g(r.querySelectorAll(t), i)
} catch (l) {}
} else if (1 === r.nodeType && "object" !== r.nodeName.toLowerCase()) {
var u = r
, f = r.getAttribute("id")
, p = f || n
, h = r.parentNode
, m = /^\s*[+~]/.test(t);
f ? p = p.replace(/'/g, "\\$&") : r.setAttribute("id", p),
m && h && (r = r.parentNode);
try {
if (!m || h)
return g(r.querySelectorAll("[id='" + p + "'] " + t), i)
} catch (v) {} finally {
f || u.removeAttribute("id")
}
}
}
return e(t, r, i, a)
}
;
for (var r in e)
c[r] = e[r];
t = null
}
}(),
function() {
var e = D.documentElement
, t = e.matchesSelector || e.mozMatchesSelector || e.webkitMatchesSelector || e.msMatchesSelector;
if (t) {
var n = !t.call(D.createElement("div"), "div")
, r = !1;
try {
t.call(D.documentElement, "[test!='']:sizzle")
} catch (i) {
r = !0
}
c.matchesSelector = function(e, i) {
if (i = i.replace(/\=\s*([^'"\]]*)\s*\]/g, "='$1']"),
!c.isXML(e))
try {
if (r || !d.match.PSEUDO.test(i) && !/!=/.test(i)) {
var a = t.call(e, i);
if (a || !n || e.document && 11 !== e.document.nodeType)
return a
}
} catch (o) {}
return c(i, null, null, [e]).length > 0
}
}
}(),
function() {
var e = D.createElement("div");
e.innerHTML = "
",
e.getElementsByClassName && 0 !== e.getElementsByClassName("e").length && (e.lastChild.className = "e",
1 !== e.getElementsByClassName("e").length && (d.order.splice(1, 0, "CLASS"),
d.find.CLASS = function(e, t, n) {
return "undefined" == typeof t.getElementsByClassName || n ? void 0 : t.getElementsByClassName(e[1])
}
,
e = null))
}(),
D.documentElement.contains ? c.contains = function(e, t) {
return e !== t && (e.contains ? e.contains(t) : !0)
}
: D.documentElement.compareDocumentPosition ? c.contains = function(e, t) {
return !!(16 & e.compareDocumentPosition(t))
}
: c.contains = function() {
return !1
}
,
c.isXML = function(e) {
var t = (e ? e.ownerDocument || e : 0).documentElement;
return t ? "HTML" !== t.nodeName : !1
}
;
var b = function(e, t) {
for (var n, r = [], i = "", a = t.nodeType ? [t] : t; n = d.match.PSEUDO.exec(e); )
i += n[0],
e = e.replace(d.match.PSEUDO, "");
e = d.relative[e] ? e + "*" : e;
for (var o = 0, s = a.length; s > o; o++)
c(e, a[o], r);
return c.filter(i, r)
};
O.find = c,
O.expr = c.selectors,
O.expr[":"] = O.expr.filters,
O.unique = c.uniqueSort,
O.text = c.getText,
O.isXMLDoc = c.isXML,
O.contains = c.contains
}();
var le = /Until$/
, ue = /^(?:parents|prevUntil|prevAll)/
, ce = /,/
, de = /^.[^:#\[\.,]*$/
, fe = Array.prototype.slice
, pe = O.expr.match.POS
, he = {
children: !0,
contents: !0,
next: !0,
prev: !0
};
O.fn.extend({
find: function(e) {
var t, n, r = this;
if ("string" != typeof e)
return O(e).filter(function() {
for (t = 0,
n = r.length; n > t; t++)
if (O.contains(r[t], this))
return !0
});
var i, a, o, s = this.pushStack("", "find", e);
for (t = 0,
n = this.length; n > t; t++)
if (i = s.length,
O.find(e, this[t], s),
t > 0)
for (a = i; a < s.length; a++)
for (o = 0; i > o; o++)
if (s[o] === s[a]) {
s.splice(a--, 1);
break
}
return s
},
has: function(e) {
var t = O(e);
return this.filter(function() {
for (var e = 0, n = t.length; n > e; e++)
if (O.contains(this, t[e]))
return !0
})
},
not: function(e) {
return this.pushStack(d(this, e, !1), "not", e)
},
filter: function(e) {
return this.pushStack(d(this, e, !0), "filter", e)
},
is: function(e) {
return !!e && ("string" == typeof e ? O.filter(e, this).length > 0 : this.filter(e).length > 0)
},
closest: function(e, t) {
var n, r, i = [], a = this[0];
if (O.isArray(e)) {
var o, s, l = {}, u = 1;
if (a && e.length) {
for (n = 0,
r = e.length; r > n; n++)
s = e[n],
l[s] || (l[s] = pe.test(s) ? O(s, t || this.context) : s);
for (; a && a.ownerDocument && a !== t; ) {
for (s in l)
o = l[s],
(o.jquery ? o.index(a) > -1 : O(a).is(o)) && i.push({
selector: s,
elem: a,
level: u
});
a = a.parentNode,
u++
}
}
return i
}
var c = pe.test(e) || "string" != typeof e ? O(e, t || this.context) : 0;
for (n = 0,
r = this.length; r > n; n++)
for (a = this[n]; a; ) {
if (c ? c.index(a) > -1 : O.find.matchesSelector(a, e)) {
i.push(a);
break
}
if (a = a.parentNode,
!a || !a.ownerDocument || a === t || 11 === a.nodeType)
break
}
return i = i.length > 1 ? O.unique(i) : i,
this.pushStack(i, "closest", e)
},
index: function(e) {
return e ? "string" == typeof e ? O.inArray(this[0], O(e)) : O.inArray(e.jquery ? e[0] : e, this) : this[0] && this[0].parentNode ? this.prevAll().length : -1
},
add: function(e, t) {
var n = "string" == typeof e ? O(e, t) : O.makeArray(e && e.nodeType ? [e] : e)
, r = O.merge(this.get(), n);
return this.pushStack(c(n[0]) || c(r[0]) ? r : O.unique(r))
},
andSelf: function() {
return this.add(this.prevObject)
}
}),
O.each({
parent: function(e) {
var t = e.parentNode;
return t && 11 !== t.nodeType ? t : null
},
parents: function(e) {
return O.dir(e, "parentNode")
},
parentsUntil: function(e, t, n) {
return O.dir(e, "parentNode", n)
},
next: function(e) {
return O.nth(e, 2, "nextSibling")
},
prev: function(e) {
return O.nth(e, 2, "previousSibling")
},
nextAll: function(e) {
return O.dir(e, "nextSibling")
},
prevAll: function(e) {
return O.dir(e, "previousSibling")
},
nextUntil: function(e, t, n) {
return O.dir(e, "nextSibling", n)
},
prevUntil: function(e, t, n) {
return O.dir(e, "previousSibling", n)
},
siblings: function(e) {
return O.sibling(e.parentNode.firstChild, e)
},
children: function(e) {
return O.sibling(e.firstChild)
},
contents: function(e) {
return O.nodeName(e, "iframe") ? e.contentDocument || e.contentWindow.document : O.makeArray(e.childNodes)
}
}, function(e, t) {
O.fn[e] = function(n, r) {
var i = O.map(this, t, n)
, a = fe.call(arguments);
return le.test(e) || (r = n),
r && "string" == typeof r && (i = O.filter(r, i)),
i = this.length > 1 && !he[e] ? O.unique(i) : i,
(this.length > 1 || ce.test(r)) && ue.test(e) && (i = i.reverse()),
this.pushStack(i, e, a.join(","))
}
}),
O.extend({
filter: function(e, t, n) {
return n && (e = ":not(" + e + ")"),
1 === t.length ? O.find.matchesSelector(t[0], e) ? [t[0]] : [] : O.find.matches(e, t)
},
dir: function(e, n, r) {
for (var i = [], a = e[n]; a && 9 !== a.nodeType && (r === t || 1 !== a.nodeType || !O(a).is(r)); )
1 === a.nodeType && i.push(a),
a = a[n];
return i
},
nth: function(e, t, n) {
t = t || 1;
for (var r = 0; e && (1 !== e.nodeType || ++r !== t); e = e[n])
;
return e
},
sibling: function(e, t) {
for (var n = []; e; e = e.nextSibling)
1 === e.nodeType && e !== t && n.push(e);
return n
}
});
var ge = / jQuery\d+="(?:\d+|null)"/g
, me = /^\s+/
, ve = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi
, ye = /<([\w:]+)/
, be = /", ""],
legend: [1, "", " "],
thead: [1, ""],
tr: [2, ""],
td: [3, ""],
col: [2, ""],
area: [1, "", " "],
_default: [0, "", ""]
};
Ce.optgroup = Ce.option,
Ce.tbody = Ce.tfoot = Ce.colgroup = Ce.caption = Ce.thead,
Ce.th = Ce.td,
O.support.htmlSerialize || (Ce._default = [1, "div", "
"]),
O.fn.extend({
text: function(e) {
return O.isFunction(e) ? this.each(function(t) {
var n = O(this);
n.text(e.call(this, t, n.text()))
}) : "object" != typeof e && e !== t ? this.empty().append((this[0] && this[0].ownerDocument || D).createTextNode(e)) : O.text(this)
},
wrapAll: function(e) {
if (O.isFunction(e))
return this.each(function(t) {
O(this).wrapAll(e.call(this, t))
});
if (this[0]) {
var t = O(e, this[0].ownerDocument).eq(0).clone(!0);
this[0].parentNode && t.insertBefore(this[0]),
t.map(function() {
for (var e = this; e.firstChild && 1 === e.firstChild.nodeType; )
e = e.firstChild;
return e
}).append(this)
}
return this
},
wrapInner: function(e) {
return O.isFunction(e) ? this.each(function(t) {
O(this).wrapInner(e.call(this, t))
}) : this.each(function() {
var t = O(this)
, n = t.contents();
n.length ? n.wrapAll(e) : t.append(e)
})
},
wrap: function(e) {
return this.each(function() {
O(this).wrapAll(e)
})
},
unwrap: function() {
return this.parent().each(function() {
O.nodeName(this, "body") || O(this).replaceWith(this.childNodes)
}).end()
},
append: function() {
return this.domManip(arguments, !0, function(e) {
1 === this.nodeType && this.appendChild(e)
})
},
prepend: function() {
return this.domManip(arguments, !0, function(e) {
1 === this.nodeType && this.insertBefore(e, this.firstChild)
})
},
before: function() {
if (this[0] && this[0].parentNode)
return this.domManip(arguments, !1, function(e) {
this.parentNode.insertBefore(e, this)
});
if (arguments.length) {
var e = O(arguments[0]);
return e.push.apply(e, this.toArray()),
this.pushStack(e, "before", arguments)
}
},
after: function() {
if (this[0] && this[0].parentNode)
return this.domManip(arguments, !1, function(e) {
this.parentNode.insertBefore(e, this.nextSibling)
});
if (arguments.length) {
var e = this.pushStack(this, "after", arguments);
return e.push.apply(e, O(arguments[0]).toArray()),
e
}
},
remove: function(e, t) {
for (var n, r = 0; null != (n = this[r]); r++)
e && !O.filter(e, [n]).length || (t || 1 !== n.nodeType || (O.cleanData(n.getElementsByTagName("*")),
O.cleanData([n])),
n.parentNode && n.parentNode.removeChild(n));
return this
},
empty: function() {
for (var e, t = 0; null != (e = this[t]); t++)
for (1 === e.nodeType && O.cleanData(e.getElementsByTagName("*")); e.firstChild; )
e.removeChild(e.firstChild);
return this
},
clone: function(e, t) {
return e = null == e ? !1 : e,
t = null == t ? e : t,
this.map(function() {
return O.clone(this, e, t)
})
},
html: function(e) {
if (e === t)
return this[0] && 1 === this[0].nodeType ? this[0].innerHTML.replace(ge, "") : null;
if ("string" != typeof e || we.test(e) || !O.support.leadingWhitespace && me.test(e) || Ce[(ye.exec(e) || ["", ""])[1].toLowerCase()])
O.isFunction(e) ? this.each(function(t) {
var n = O(this);
n.html(e.call(this, t, n.html()))
}) : this.empty().append(e);
else {
e = e.replace(ve, "<$1>$2>");
try {
for (var n = 0, r = this.length; r > n; n++)
1 === this[n].nodeType && (O.cleanData(this[n].getElementsByTagName("*")),
this[n].innerHTML = e)
} catch (i) {
this.empty().append(e)
}
}
return this
},
replaceWith: function(e) {
return this[0] && this[0].parentNode ? O.isFunction(e) ? this.each(function(t) {
var n = O(this)
, r = n.html();
n.replaceWith(e.call(this, t, r))
}) : ("string" != typeof e && (e = O(e).detach()),
this.each(function() {
var t = this.nextSibling
, n = this.parentNode;
O(this).remove(),
t ? O(t).before(e) : O(n).append(e)
})) : this.length ? this.pushStack(O(O.isFunction(e) ? e() : e), "replaceWith", e) : this
},
detach: function(e) {
return this.remove(e, !0)
},
domManip: function(e, n, r) {
var i, a, o, s, l = e[0], u = [];
if (!O.support.checkClone && 3 === arguments.length && "string" == typeof l && _e.test(l))
return this.each(function() {
O(this).domManip(e, n, r, !0)
});
if (O.isFunction(l))
return this.each(function(i) {
var a = O(this);
e[0] = l.call(this, i, n ? a.html() : t),
a.domManip(e, n, r)
});
if (this[0]) {
if (s = l && l.parentNode,
i = O.support.parentNode && s && 11 === s.nodeType && s.childNodes.length === this.length ? {
fragment: s
} : O.buildFragment(e, this, u),
o = i.fragment,
a = 1 === o.childNodes.length ? o = o.firstChild : o.firstChild) {
n = n && O.nodeName(a, "tr");
for (var c = 0, d = this.length, p = d - 1; d > c; c++)
r.call(n ? f(this[c], a) : this[c], i.cacheable || d > 1 && p > c ? O.clone(o, !0, !0) : o)
}
u.length && O.each(u, y)
}
return this
}
}),
O.buildFragment = function(e, t, n) {
var r, i, a, o;
return t && t[0] && (o = t[0].ownerDocument || t[0]),
o.createDocumentFragment || (o = D),
1 === e.length && "string" == typeof e[0] && e[0].length < 512 && o === D && "<" === e[0].charAt(0) && !we.test(e[0]) && (O.support.checkClone || !_e.test(e[0])) && (i = !0,
a = O.fragments[e[0]],
a && 1 !== a && (r = a)),
r || (r = o.createDocumentFragment(),
O.clean(e, o, r, n)),
i && (O.fragments[e[0]] = a ? r : 1),
{
fragment: r,
cacheable: i
}
}
,
O.fragments = {},
O.each({
appendTo: "append",
prependTo: "prepend",
insertBefore: "before",
insertAfter: "after",
replaceAll: "replaceWith"
}, function(e, t) {
O.fn[e] = function(n) {
var r = []
, i = O(n)
, a = 1 === this.length && this[0].parentNode;
if (a && 11 === a.nodeType && 1 === a.childNodes.length && 1 === i.length)
return i[t](this[0]),
this;
for (var o = 0, s = i.length; s > o; o++) {
var l = (o > 0 ? this.clone(!0) : this).get();
O(i[o])[t](l),
r = r.concat(l)
}
return this.pushStack(r, e, i.selector)
}
}),
O.extend({
clone: function(e, t, n) {
var r, i, a, o = e.cloneNode(!0);
if (!(O.support.noCloneEvent && O.support.noCloneChecked || 1 !== e.nodeType && 11 !== e.nodeType || O.isXMLDoc(e)))
for (h(e, o),
r = g(e),
i = g(o),
a = 0; r[a]; ++a)
i[a] && h(r[a], i[a]);
if (t && (p(e, o),
n))
for (r = g(e),
i = g(o),
a = 0; r[a]; ++a)
p(r[a], i[a]);
return r = i = null,
o
},
clean: function(e, t, n, r) {
var i;
t = t || D,
"undefined" == typeof t.createElement && (t = t.ownerDocument || t[0] && t[0].ownerDocument || D);
for (var a, o, s = [], l = 0; null != (o = e[l]); l++)
if ("number" == typeof o && (o += ""),
o) {
if ("string" == typeof o)
if (xe.test(o)) {
o = o.replace(ve, "<$1>$2>");
var u = (ye.exec(o) || ["", ""])[1].toLowerCase()
, c = Ce[u] || Ce._default
, d = c[0]
, f = t.createElement("div");
for (f.innerHTML = c[1] + o + c[2]; d--; )
f = f.lastChild;
if (!O.support.tbody) {
var p = be.test(o)
, h = "table" !== u || p ? "" !== c[1] || p ? [] : f.childNodes : f.firstChild && f.firstChild.childNodes;
for (a = h.length - 1; a >= 0; --a)
O.nodeName(h[a], "tbody") && !h[a].childNodes.length && h[a].parentNode.removeChild(h[a])
}
!O.support.leadingWhitespace && me.test(o) && f.insertBefore(t.createTextNode(me.exec(o)[0]), f.firstChild),
o = f.childNodes
} else
o = t.createTextNode(o);
var g;
if (!O.support.appendChecked)
if (o[0] && "number" == typeof (g = o.length))
for (a = 0; g > a; a++)
v(o[a]);
else
v(o);
o.nodeType ? s.push(o) : s = O.merge(s, o)
}
if (n)
for (i = function(e) {
return !e.type || Te.test(e.type)
}
,
l = 0; s[l]; l++)
if (!r || !O.nodeName(s[l], "script") || s[l].type && "text/javascript" !== s[l].type.toLowerCase()) {
if (1 === s[l].nodeType) {
var m = O.grep(s[l].getElementsByTagName("script"), i);
s.splice.apply(s, [l + 1, 0].concat(m))
}
n.appendChild(s[l])
} else
r.push(s[l].parentNode ? s[l].parentNode.removeChild(s[l]) : s[l]);
return s
},
cleanData: function(e) {
for (var t, n, r, i = O.cache, a = O.expando, o = O.event.special, s = O.support.deleteExpando, l = 0; null != (r = e[l]); l++)
if ((!r.nodeName || !O.noData[r.nodeName.toLowerCase()]) && (n = r[O.expando])) {
if (t = i[n] && i[n][a],
t && t.events) {
for (var u in t.events)
o[u] ? O.event.remove(r, u) : O.removeEvent(r, u, t.handle);
t.handle && (t.handle.elem = null)
}
s ? delete r[O.expando] : r.removeAttribute && r.removeAttribute(O.expando),
delete i[n]
}
}
});
var Ee, Ae, Se, ke = /alpha\([^)]*\)/i, Le = /opacity=([^)]*)/, Fe = /([A-Z]|^ms)/g, je = /^-?\d+(?:px)?$/i, De = /^-?\d/, Ie = /^([\-+])=([\-+.\de]+)/, Me = {
position: "absolute",
visibility: "hidden",
display: "block"
}, Oe = ["Left", "Right"], He = ["Top", "Bottom"];
O.fn.css = function(e, n) {
return 2 === arguments.length && n === t ? this : O.access(this, e, n, !0, function(e, n, r) {
return r !== t ? O.style(e, n, r) : O.css(e, n)
})
}
,
O.extend({
cssHooks: {
opacity: {
get: function(e, t) {
if (t) {
var n = Ee(e, "opacity", "opacity");
return "" === n ? "1" : n
}
return e.style.opacity
}
}
},
cssNumber: {
fillOpacity: !0,
fontWeight: !0,
lineHeight: !0,
opacity: !0,
orphans: !0,
widows: !0,
zIndex: !0,
zoom: !0
},
cssProps: {
"float": O.support.cssFloat ? "cssFloat" : "styleFloat"
},
style: function(e, n, r, i) {
if (e && 3 !== e.nodeType && 8 !== e.nodeType && e.style) {
var a, o, s = O.camelCase(n), l = e.style, u = O.cssHooks[s];
if (n = O.cssProps[s] || s,
r === t)
return u && "get"in u && (a = u.get(e, !1, i)) !== t ? a : l[n];
if (o = typeof r,
"string" === o && (a = Ie.exec(r)) && (r = +(a[1] + 1) * +a[2] + parseFloat(O.css(e, n)),
o = "number"),
!(null == r || "number" === o && isNaN(r) || ("number" !== o || O.cssNumber[s] || (r += "px"),
u && "set"in u && (r = u.set(e, r)) === t)))
try {
l[n] = r
} catch (c) {}
}
},
css: function(e, n, r) {
var i, a;
return n = O.camelCase(n),
a = O.cssHooks[n],
n = O.cssProps[n] || n,
"cssFloat" === n && (n = "float"),
a && "get"in a && (i = a.get(e, !0, r)) !== t ? i : Ee ? Ee(e, n) : void 0
},
swap: function(e, t, n) {
var r = {};
for (var i in t)
r[i] = e.style[i],
e.style[i] = t[i];
n.call(e);
for (i in t)
e.style[i] = r[i]
}
}),
O.curCSS = O.css,
O.each(["height", "width"], function(e, t) {
O.cssHooks[t] = {
get: function(e, n, r) {
var i;
return n ? 0 !== e.offsetWidth ? b(e, t, r) : (O.swap(e, Me, function() {
i = b(e, t, r)
}),
i) : void 0
},
set: function(e, t) {
return je.test(t) ? (t = parseFloat(t),
t >= 0 ? t + "px" : void 0) : t
}
}
}),
O.support.opacity || (O.cssHooks.opacity = {
get: function(e, t) {
return Le.test((t && e.currentStyle ? e.currentStyle.filter : e.style.filter) || "") ? parseFloat(RegExp.$1) / 100 + "" : t ? "1" : ""
},
set: function(e, t) {
var n = e.style
, r = e.currentStyle
, i = O.isNaN(t) ? "" : "alpha(opacity=" + 100 * t + ")"
, a = r && r.filter || n.filter || "";
n.zoom = 1,
t >= 1 && "" === O.trim(a.replace(ke, "")) && (n.removeAttribute("filter"),
r && !r.filter) || (n.filter = ke.test(a) ? a.replace(ke, i) : a + " " + i)
}
}),
O(function() {
O.support.reliableMarginRight || (O.cssHooks.marginRight = {
get: function(e, t) {
var n;
return O.swap(e, {
display: "inline-block"
}, function() {
n = t ? Ee(e, "margin-right", "marginRight") : e.style.marginRight
}),
n
}
})
}),
D.defaultView && D.defaultView.getComputedStyle && (Ae = function(e, n) {
var r, i, a;
return n = n.replace(Fe, "-$1").toLowerCase(),
(i = e.ownerDocument.defaultView) ? ((a = i.getComputedStyle(e, null)) && (r = a.getPropertyValue(n),
"" !== r || O.contains(e.ownerDocument.documentElement, e) || (r = O.style(e, n))),
r) : t
}
),
D.documentElement.currentStyle && (Se = function(e, t) {
var n, r = e.currentStyle && e.currentStyle[t], i = e.runtimeStyle && e.runtimeStyle[t], a = e.style;
return !je.test(r) && De.test(r) && (n = a.left,
i && (e.runtimeStyle.left = e.currentStyle.left),
a.left = "fontSize" === t ? "1em" : r || 0,
r = a.pixelLeft + "px",
a.left = n,
i && (e.runtimeStyle.left = i)),
"" === r ? "auto" : r
}
),
Ee = Ae || Se,
O.expr && O.expr.filters && (O.expr.filters.hidden = function(e) {
var t = e.offsetWidth
, n = e.offsetHeight;
return 0 === t && 0 === n || !O.support.reliableHiddenOffsets && "none" === (e.style.display || O.css(e, "display"))
}
,
O.expr.filters.visible = function(e) {
return !O.expr.filters.hidden(e)
}
);
var Re, Be, Pe = /%20/g, Ve = /\[\]$/, qe = /\r?\n/g, We = /#.*$/, Xe = /^(.*?):[ \t]*([^\r\n]*)\r?$/gm, $e = /^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i, ze = /^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/, Ye = /^(?:GET|HEAD)$/, Ue = /^\/\//, Je = /\?/, Ge = /