function navany() {
var e = $(".nav li.on"),
t = null,
n = null;
$(".nav li").hover(function() {
var i = $(this).find(".nav-sub");
i[0] && (clearTimeout(n), i.stop(!1, !0).slideDown(300)), clearTimeout(t), e.length && e.removeClass("on")
}, function() {
var i = $(this).find(".nav-sub");
i[0] && (n = setTimeout(function() {
i.stop().slideUp(300)
}, 200)), t = setTimeout(function() {
e.addClass("on")
}, 300)
})
}
function header() {
var e = $(".header"),
t = !0;
$(window).scroll(function() {
t && (t = !1, setTimeout(function() {
$(window).scrollTop() > 400 && !e.hasClass("an") ? e.addClass("an") : $(window).scrollTop() <= 400 && e.hasClass("an") && e.removeClass("an"), t = !0
}, 150))
})
}
function showmod() {
function e(e) {
var t = $(window).scrollTop();
return t < e.attr("data-tops") && t > e.attr("data-topb") && (e.hasClass("ball") && setTimeout(function() {
$(".numm0").addClass("ipa0"), $(".numm1").addClass("ipa1"), $(".numm2").addClass("ipa2"), $(".numm3").addClass("ipa3"), $(".numm6").addClass("ipa6"), $(".numm7").addClass("ipa7")
}, 1e3), !0)
}
function t(e) {
e.attr("data-topb", e.offset().top - n.height() - .2 * e.outerHeight() - 50), e.attr("data-tops", e.offset().top + e.outerHeight() + 50)
}
var n = $(window),
i = $(".hideshow");
if(i.each(function() {
var n = $(this);
t(n), e(n) && n.addClass("on")
}), i) {
var o = !0;
n.scroll(function() {
o && (o = !1, setTimeout(function() {
i.each(function() {
var n = $(this);
n.hasClass("on") || (t(n), e(n) && n.addClass("on"))
}), o = $(".hideshow.on").length != i.length
}, 250))
})
}
}
function goToApp(e) {
location.href = "/apps/app/#" + e
}
function setnav(e) {
$(".header .nav ul li").eq(e - 1).addClass("on")
}
function gID(e) {
return document.getElementById(e)
}
function ScrollDiv(e, t) {
var n = document.documentElement.scrollTop || document.body.scrollTop;
null == t && (t = 0);
var i = .1 * (n - t);
i = i > 0 ? Math.ceil(i) : Math.floor(i), gID(e).style.top = parseInt(gID(e).style.top) + i + "px", t += i, setTimeout("ScrollDiv('" + e + "'," + t + ");", 50)
}
function addObjEvent(e, t, n) {
if(e.attachEvent) e.attachEvent(t, n);
else if(e.addEventListener) {
var i = t.toString().replace(/on(.*)/i, "$1");
e.addEventListener(i, n, !1)
} else e[t] = n
}
function delObjEvent(e, t, n) {
if(e.detachEvent) e.detachEvent(t, n);
else if(e.removeEventListener) {
var i = t.toString().replace(/on(.*)/i, "$1");
e.removeEventListener(i, n, !1)
} else e[t] = null
}
function MoveDiv(e, t) {
function n(t) {
return e.style.left = t.screenX - s + "px", e.style.top = t.screenY - r + "px", !1
}
function i(t) {
delObjEvent(document, "onmousemove", n), delObjEvent(document, "onmouseup", arguments.callee), isIE ? e.releaseCapture() : window.releaseEvents(Event.mousemove)
}
t = t || window.event;
var o = isIE;
if(/msie 9/i.test(navigator.userAgent) && (o = !1), !(o && 1 == t.button || !o && 0 == t.button)) return !1;
e.style.position = "absolute", e.ondragstart = function() {
return !1
};
var s = t.screenX - e.offsetLeft,
r = t.screenY - e.offsetTop;
return addObjEvent(document, "onmousemove", n), addObjEvent(document, "onmouseup", i), t.cancelBubble = !0, isIE ? e.setCapture() : window.captureEvents(Event.mousemove), t.preventDefault && (t.preventDefault(), t.stopPropagation()), t.returnValue = !1, !1
}
function BrowserRedirect(e) {
var t = navigator.userAgent.toLowerCase(),
n = "ipad" == t.match(/ipad/i),
i = "iphone os" == t.match(/iphone os/i),
o = "android" == t.match(/android/i);
(n || i || o) && (window.location.href = e)
}
function getAttributeValue(e, t) {
if(!e.attributes) return null;
for(var n = e.attributes, i = 0; i < n.length; i++)
if(t.toLowerCase() == n[i].name.toLowerCase()) return n[i].value;
return null
}
function focusInputEle(e) {
e.value == getAttributeValue(e, "defaultVal") && (e.value = "")
}
function blurInputEle(e) {
"" == e.value && (e.value = getAttributeValue(e, "defaultVal"))
}
function getsearch() {
var e = $("#key").val();
return "" != e && "请输入你要搜索的项目名称" != e || (alert("搜索关键不能为空!"), !1)
}
function CheckApply() {
var e = $("#title").val(),
t = $("UserName").val(),
n = $("#tel").val(),
i = $("#checkcode").val();
return "" == e ? (alert("服务名称不能为空!"), $("#title").focus(), !1) : "" == t ? (alert("联系人不能为空!"), $("UserName").focus(), !1) : "" == n ? (alert("联系电话不能为空!"), $("#tel").focus(), !1) : "" == i ? (alert("验证码不能为空!"), $("#checkcode").focus(), !1) : void 0
}
function CheckContact() {
var e = $("#title").val(),
t = $("#uname").val(),
n = $("#email").val(),
i = $("#contact").val(),
o = $("#content").val();
return "" == e || "标题" == e ? (alert("标题不能为空!"), $("#title").focus(), !1) : "" == t || "姓名" == t ? (alert("姓名不能为空!"), $("#uname").focus(), !1) : "" == n || "E-mail" == n ? (alert("E-mail不能为空!"), $("#email").focus(), !1) : isEmail(n) ? "" == i || "联系方式" == i ? (alert("联系方式不能为空!"), $("#contact").focus(), !1) : "" == o ? (alert("留言内容不能为空!"), $("#content").focus(), !1) : void 0 : (alert("E-mail输入格式不正确!"), $("#email").focus(), !1)
}
function isEmail(e) {
var t = /^([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+\.[a-zA-Z]{2,3}$/;
return t.test(e)
}
function changecode() {
$("#cc").attr("src", "/CheckCode.aspx?" + Math.random())
}
function changecode2014() {
// $("#cc").attr("src", "/ajax/CheckCode.aspx?" + Math.random())
$(".show-captcha").click();
}
function chucuo() {
var e = $("#domain").val(),
t = $("#name").val(),
n = $("#anid").val();
$.ajax({
type: "post",
url: "/ajax/anliStatus.aspx",
data: {
action: "checkurlvisit",
name: escape(t),
domain: e,
anid: n
},
dataType: "json",
async: !1,
timeout: 3e4,
success: function(e) {
e && alert("提交报障成功!")
},
error: function() {
alert("案例状态检测异常,请耐稍后尝试!")
}
})
}
function GetQueryString(e) {
var t = new RegExp("(^|&)" + e + "=([^&]*)(&|$)", "i"),
n = window.location.search.substr(1).match(t);
return null != n ? unescape(n[2]) : null
}
function appCaseReset() {
if(window.screen.width <= 450) {
var e = window.screen.width;
$("#main").width(e), $(".w1000").width(e)
}
}! function(e, t) {
function n(e) {
var t = he[e] = {};
return J.each(e.split(te), function(e, n) {
t[n] = !0
}), t
}
function i(e, n, i) {
if(i === t && 1 === e.nodeType) {
var o = "data-" + n.replace(me, "-$1").toLowerCase();
if(i = e.getAttribute(o), "string" == typeof i) {
try {
i = "true" === i || "false" !== i && ("null" === i ? null : +i + "" === i ? +i : ge.test(i) ? J.parseJSON(i) : i)
} catch(e) {}
J.data(e, n, i)
} else i = t
}
return i
}
function o(e) {
var t;
for(t in e)
if(("data" !== t || !J.isEmptyObject(e[t])) && "toJSON" !== t) return !1;
return !0
}
function s() {
return !1
}
function r() {
return !0
}
function a(e) {
return !e || !e.parentNode || 11 === e.parentNode.nodeType
}
function l(e, t) {
do e = e[t]; while (e && 1 !== e.nodeType);
return e
}
function c(e, t, n) {
if(t = t || 0, J.isFunction(t)) return J.grep(e, function(e, i) {
var o = !!t.call(e, i, e);
return o === n
});
if(t.nodeType) return J.grep(e, function(e, i) {
return e === t === n
});
if("string" == typeof t) {
var i = J.grep(e, function(e) {
return 1 === e.nodeType
});
if(Me.test(t)) return J.filter(t, i, !n);
t = J.filter(t, i)
}
return J.grep(e, function(e, i) {
return J.inArray(e, t) >= 0 === n
})
}
function d(e) {
var t = _e.split("|"),
n = e.createDocumentFragment();
if(n.createElement)
for(; t.length;) n.createElement(t.pop());
return n
}
function u(e, t) {
return e.getElementsByTagName(t)[0] || e.appendChild(e.ownerDocument.createElement(t))
}
function p(e, t) {
if(1 === t.nodeType && J.hasData(e)) {
var n, i, o, s = J._data(e),
r = J._data(t, s),
a = s.events;
if(a) {
delete r.handle, r.events = {};
for(n in a)
for(i = 0, o = a[n].length; i < o; i++) J.event.add(t, n, a[n][i])
}
r.data && (r.data = J.extend({}, r.data))
}
}
function f(e, t) {
var n;
1 === t.nodeType && (t.clearAttributes && t.clearAttributes(), t.mergeAttributes && t.mergeAttributes(e), n = t.nodeName.toLowerCase(), "object" === n ? (t.parentNode && (t.outerHTML = e.outerHTML), J.support.html5Clone && e.innerHTML && !J.trim(t.innerHTML) && (t.innerHTML = e.innerHTML)) : "input" === n && Ye.test(e.type) ? (t.defaultChecked = t.checked = e.checked, t.value !== e.value && (t.value = e.value)) : "option" === n ? t.selected = e.defaultSelected : "input" === n || "textarea" === n ? t.defaultValue = e.defaultValue : "script" === n && t.text !== e.text && (t.text = e.text), t.removeAttribute(J.expando))
}
function h(e) {
return "undefined" != typeof e.getElementsByTagName ? e.getElementsByTagName("*") : "undefined" != typeof e.querySelectorAll ? e.querySelectorAll("*") : []
}
function g(e) {
Ye.test(e.type) && (e.defaultChecked = e.checked)
}
function m(e, t) {
if(t in e) return t;
for(var n = t.charAt(0).toUpperCase() + t.slice(1), i = t, o = vt.length; o--;)
if(t = vt[o] + n, t in e) return t;
return i
}
function v(e, t) {
return e = t || e, "none" === J.css(e, "display") || !J.contains(e.ownerDocument, e)
}
function y(e, t) {
for(var n, i, o = [], s = 0, r = e.length; s < r; s++) n = e[s], n.style && (o[s] = J._data(n, "olddisplay"), t ? (!o[s] && "none" === n.style.display && (n.style.display = ""), "" === n.style.display && v(n) && (o[s] = J._data(n, "olddisplay", k(n.nodeName)))) : (i = nt(n, "display"), !o[s] && "none" !== i && J._data(n, "olddisplay", i)));
for(s = 0; s < r; s++) n = e[s], n.style && (t && "none" !== n.style.display && "" !== n.style.display || (n.style.display = t ? o[s] || "" : "none"));
return e
}
function b(e, t, n) {
var i = dt.exec(t);
return i ? Math.max(0, i[1] - (n || 0)) + (i[2] || "px") : t
}
function w(e, t, n, i) {
for(var o = n === (i ? "border" : "content") ? 4 : "width" === t ? 1 : 0, s = 0; o < 4; o += 2) "margin" === n && (s += J.css(e, n + mt[o], !0)), i ? ("content" === n && (s -= parseFloat(nt(e, "padding" + mt[o])) || 0), "margin" !== n && (s -= parseFloat(nt(e, "border" + mt[o] + "Width")) || 0)) : (s += parseFloat(nt(e, "padding" + mt[o])) || 0, "padding" !== n && (s += parseFloat(nt(e, "border" + mt[o] + "Width")) || 0));
return s
}
function x(e, t, n) {
var i = "width" === t ? e.offsetWidth : e.offsetHeight,
o = !0,
s = J.support.boxSizing && "border-box" === J.css(e, "boxSizing");
if(i <= 0 || null == i) {
if(i = nt(e, t), (i < 0 || null == i) && (i = e.style[t]), ut.test(i)) return i;
o = s && (J.support.boxSizingReliable || i === e.style[t]), i = parseFloat(i) || 0
}
return i + w(e, t, n || (s ? "border" : "content"), o) + "px"
}
function k(e) {
if(ft[e]) return ft[e];
var t = J("<" + e + ">").appendTo(F.body),
n = t.css("display");
return t.remove(), "none" !== n && "" !== n || (it = F.body.appendChild(it || J.extend(F.createElement("iframe"), {
frameBorder: 0,
width: 0,
height: 0
})), ot && it.createElement || (ot = (it.contentWindow || it.contentDocument).document, ot.write("
"), ot.close()), t = ot.body.appendChild(ot.createElement(e)), n = nt(t, "display"), F.body.removeChild(it)), ft[e] = n, n
}
function T(e, t, n, i) {
var o;
if(J.isArray(t)) J.each(t, function(t, o) {
n || wt.test(e) ? i(e, o) : T(e + "[" + ("object" == typeof o ? t : "") + "]", o, n, i)
});
else if(n || "object" !== J.type(t)) i(e, t);
else
for(o in t) T(e + "[" + o + "]", t[o], n, i)
}
function S(e) {
return function(t, n) {
"string" != typeof t && (n = t, t = "*");
var i, o, s, r = t.toLowerCase().split(te),
a = 0,
l = r.length;
if(J.isFunction(n))
for(; a < l; a++) i = r[a], s = /^\+/.test(i), s && (i = i.substr(1) || "*"), o = e[i] = e[i] || [], o[s ? "unshift" : "push"](n)
}
}
function $(e, n, i, o, s, r) {
s = s || n.dataTypes[0], r = r || {}, r[s] = !0;
for(var a, l = e[s], c = 0, d = l ? l.length : 0, u = e === Mt; c < d && (u || !a); c++) a = l[c](n, i, o), "string" == typeof a && (!u || r[a] ? a = t : (n.dataTypes.unshift(a), a = $(e, n, i, o, a, r)));
return(u || !a) && !r["*"] && (a = $(e, n, i, o, "*", r)), a
}
function C(e, n) {
var i, o, s = J.ajaxSettings.flatOptions || {};
for(i in n) n[i] !== t && ((s[i] ? e : o || (o = {}))[i] = n[i]);
o && J.extend(!0, e, o)
}
function A(e, n, i) {
var o, s, r, a, l = e.contents,
c = e.dataTypes,
d = e.responseFields;
for(s in d) s in i && (n[d[s]] = i[s]);
for(;
"*" === c[0];) c.shift(), o === t && (o = e.mimeType || n.getResponseHeader("content-type"));
if(o)
for(s in l)
if(l[s] && l[s].test(o)) {
c.unshift(s);
break
}
if(c[0] in i) r = c[0];
else {
for(s in i) {
if(!c[0] || e.converters[s + " " + c[0]]) {
r = s;
break
}
a || (a = s)
}
r = r || a
}
if(r) return r !== c[0] && c.unshift(r), i[r]
}
function E(e, t) {
var n, i, o, s, r = e.dataTypes.slice(),
a = r[0],
l = {},
c = 0;
if(e.dataFilter && (t = e.dataFilter(t, e.dataType)), r[1])
for(n in e.converters) l[n.toLowerCase()] = e.converters[n];
for(; o = r[++c];)
if("*" !== o) {
if("*" !== a && a !== o) {
if(n = l[a + " " + o] || l["* " + o], !n)
for(i in l)
if(s = i.split(" "), s[1] === o && (n = l[a + " " + s[0]] || l["* " + s[0]])) {
n === !0 ? n = l[i] : l[i] !== !0 && (o = s[0], r.splice(c--, 0, o));
break
}
if(n !== !0)
if(n && e.throws) t = n(t);
else try {
t = n(t)
} catch(e) {
return {
state: "parsererror",
error: n ? e : "No conversion from " + a + " to " + o
}
}
}
a = o
}
return {
state: "success",
data: t
}
}
function N() {
try {
return new e.XMLHttpRequest
} catch(e) {}
}
function j() {
try {
return new e.ActiveXObject("Microsoft.XMLHTTP")
} catch(e) {}
}
function D() {
return setTimeout(function() {
Xt = t
}, 0), Xt = J.now()
}
function H(e, t) {
J.each(t, function(t, n) {
for(var i = (Jt[t] || []).concat(Jt["*"]), o = 0, s = i.length; o < s; o++)
if(i[o].call(e, t, n)) return
})
}
function L(e, t, n) {
var i, o = 0,
s = Gt.length,
r = J.Deferred().always(function() {
delete a.elem
}),
a = function() {
for(var t = Xt || D(), n = Math.max(0, l.startTime + l.duration - t), i = n / l.duration || 0, o = 1 - i, s = 0, a = l.tweens.length; s < a; s++) l.tweens[s].run(o);
return r.notifyWith(e, [l, o, n]), o < 1 && a ? n : (r.resolveWith(e, [l]), !1)
},
l = r.promise({
elem: e,
props: J.extend({}, t),
opts: J.extend(!0, {
specialEasing: {}
}, n),
originalProperties: t,
originalOptions: n,
startTime: Xt || D(),
duration: n.duration,
tweens: [],
createTween: function(t, n, i) {
var o = J.Tween(e, l.opts, t, n, l.opts.specialEasing[t] || l.opts.easing);
return l.tweens.push(o), o
},
stop: function(t) {
for(var n = 0, i = t ? l.tweens.length : 0; n < i; n++) l.tweens[n].run(1);
return t ? r.resolveWith(e, [l, t]) : r.rejectWith(e, [l, t]), this
}
}),
c = l.props;
for(z(c, l.opts.specialEasing); o < s; o++)
if(i = Gt[o].call(l, e, c, l.opts)) return i;
return H(l, c), J.isFunction(l.opts.start) && l.opts.start.call(e, l), J.fx.timer(J.extend(a, {
anim: l,
queue: l.opts.queue,
elem: e
})), l.progress(l.opts.progress).done(l.opts.done, l.opts.complete).fail(l.opts.fail).always(l.opts.always)
}
function z(e, t) {
var n, i, o, s, r;
for(n in e)
if(i = J.camelCase(n), o = t[i], s = e[n], J.isArray(s) && (o = s[1], s = e[n] = s[0]), n !== i && (e[i] = s, delete e[n]), r = J.cssHooks[i], r && "expand" in r) {
s = r.expand(s), delete e[i];
for(n in s) n in e || (e[n] = s[n], t[n] = o)
} else t[i] = o
}
function O(e, t, n) {
var i, o, s, r, a, l, c, d, u, p = this,
f = e.style,
h = {},
g = [],
m = e.nodeType && v(e);
n.queue || (d = J._queueHooks(e, "fx"), null == d.unqueued && (d.unqueued = 0, u = d.empty.fire, d.empty.fire = function() {
d.unqueued || u()
}), d.unqueued++, p.always(function() {
p.always(function() {
d.unqueued--, J.queue(e, "fx").length || d.empty.fire()
})
})), 1 === e.nodeType && ("height" in t || "width" in t) && (n.overflow = [f.overflow, f.overflowX, f.overflowY], "inline" === J.css(e, "display") && "none" === J.css(e, "float") && (J.support.inlineBlockNeedsLayout && "inline" !== k(e.nodeName) ? f.zoom = 1 : f.display = "inline-block")), n.overflow && (f.overflow = "hidden", J.support.shrinkWrapBlocks || p.done(function() {
f.overflow = n.overflow[0], f.overflowX = n.overflow[1], f.overflowY = n.overflow[2]
}));
for(i in t)
if(s = t[i], Vt.exec(s)) {
if(delete t[i], l = l || "toggle" === s, s === (m ? "hide" : "show")) continue;
g.push(i)
}
if(r = g.length) {
a = J._data(e, "fxshow") || J._data(e, "fxshow", {}), "hidden" in a && (m = a.hidden), l && (a.hidden = !m), m ? J(e).show() : p.done(function() {
J(e).hide()
}), p.done(function() {
var t;
J.removeData(e, "fxshow", !0);
for(t in h) J.style(e, t, h[t])
});
for(i = 0; i < r; i++) o = g[i], c = p.createTween(o, m ? a[o] : 0), h[o] = a[o] || J.style(e, o), o in a || (a[o] = c.start, m && (c.end = c.start, c.start = "width" === o || "height" === o ? 1 : 0))
}
}
function M(e, t, n, i, o) {
return new M.prototype.init(e, t, n, i, o)
}
function I(e, t) {
var n, i = {
height: e
},
o = 0;
for(t = t ? 1 : 0; o < 4; o += 2 - t) n = mt[o], i["margin" + n] = i["padding" + n] = e;
return t && (i.opacity = i.width = e), i
}
function P(e) {
return J.isWindow(e) ? e : 9 === e.nodeType && (e.defaultView || e.parentWindow)
}
var _, q, F = e.document,
B = e.location,
W = e.navigator,
R = e.jQuery,
U = e.$,
X = Array.prototype.push,
Q = Array.prototype.slice,
V = Array.prototype.indexOf,
Y = Object.prototype.toString,
K = Object.prototype.hasOwnProperty,
G = String.prototype.trim,
J = function(e, t) {
return new J.fn.init(e, t, _)
},
Z = /[\-+]?(?:\d*\.|)\d+(?:[eE][\-+]?\d+|)/.source,
ee = /\S/,
te = /\s+/,
ne = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,
ie = /^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,
oe = /^<(\w+)\s*\/?>(?:<\/\1>|)$/,
se = /^[\],:{}\s]*$/,
re = /(?:^|:|,)(?:\s*\[)+/g,
ae = /\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g,
le = /"[^"\\\r\n]*"|true|false|null|-?(?:\d\d*\.|)\d+(?:[eE][\-+]?\d+|)/g,
ce = /^-ms-/,
de = /-([\da-z])/gi,
ue = function(e, t) {
return(t + "").toUpperCase()
},
pe = function() {
F.addEventListener ? (F.removeEventListener("DOMContentLoaded", pe, !1), J.ready()) : "complete" === F.readyState && (F.detachEvent("onreadystatechange", pe), J.ready())
},
fe = {};
J.fn = J.prototype = {
constructor: J,
init: function(e, n, i) {
var o, s, r;
if(!e) return this;
if(e.nodeType) return this.context = this[0] = e, this.length = 1, this;
if("string" == typeof e) {
if(o = "<" === e.charAt(0) && ">" === e.charAt(e.length - 1) && e.length >= 3 ? [null, e, null] : ie.exec(e), o && (o[1] || !n)) {
if(o[1]) return n = n instanceof J ? n[0] : n, r = n && n.nodeType ? n.ownerDocument || n : F, e = J.parseHTML(o[1], r, !0), oe.test(o[1]) && J.isPlainObject(n) && this.attr.call(e, n, !0), J.merge(this, e);
if(s = F.getElementById(o[2]), s && s.parentNode) {
if(s.id !== o[2]) return i.find(e);
this.length = 1, this[0] = s
}
return this.context = F, this.selector = e, this
}
return !n || n.jquery ? (n || i).find(e) : this.constructor(n).find(e)
}
return J.isFunction(e) ? i.ready(e) : (e.selector !== t && (this.selector = e.selector, this.context = e.context), J.makeArray(e, this))
},
selector: "",
jquery: "1.8.3",
length: 0,
size: function() {
return this.length
},
toArray: function() {
return Q.call(this)
},
get: function(e) {
return null == e ? this.toArray() : e < 0 ? this[this.length + e] : this[e]
},
pushStack: function(e, t, n) {
var i = J.merge(this.constructor(), e);
return i.prevObject = this, i.context = this.context, "find" === t ? i.selector = this.selector + (this.selector ? " " : "") + n : t && (i.selector = this.selector + "." + t + "(" + n + ")"), i
},
each: function(e, t) {
return J.each(this, e, t)
},
ready: function(e) {
return J.ready.promise().done(e), this
},
eq: function(e) {
return e = +e, e === -1 ? this.slice(e) : this.slice(e, e + 1)
},
first: function() {
return this.eq(0)
},
last: function() {
return this.eq(-1)
},
slice: function() {
return this.pushStack(Q.apply(this, arguments), "slice", Q.call(arguments).join(","))
},
map: function(e) {
return this.pushStack(J.map(this, function(t, n) {
return e.call(t, n, t)
}))
},
end: function() {
return this.prevObject || this.constructor(null)
},
push: X,
sort: [].sort,
splice: [].splice
}, J.fn.init.prototype = J.fn, J.extend = J.fn.extend = function() {
var e, n, i, o, s, r, a = arguments[0] || {},
l = 1,
c = arguments.length,
d = !1;
for("boolean" == typeof a && (d = a, a = arguments[1] || {}, l = 2), "object" != typeof a && !J.isFunction(a) && (a = {}), c === l && (a = this, --l); l < c; l++)
if(null != (e = arguments[l]))
for(n in e) i = a[n], o = e[n], a !== o && (d && o && (J.isPlainObject(o) || (s = J.isArray(o))) ? (s ? (s = !1, r = i && J.isArray(i) ? i : []) : r = i && J.isPlainObject(i) ? i : {}, a[n] = J.extend(d, r, o)) : o !== t && (a[n] = o));
return a
}, J.extend({
noConflict: function(t) {
return e.$ === J && (e.$ = U), t && e.jQuery === J && (e.jQuery = R), J
},
isReady: !1,
readyWait: 1,
holdReady: function(e) {
e ? J.readyWait++ : J.ready(!0)
},
ready: function(e) {
if(e === !0 ? !--J.readyWait : !J.isReady) {
if(!F.body) return setTimeout(J.ready, 1);
J.isReady = !0, e !== !0 && --J.readyWait > 0 || (q.resolveWith(F, [J]), J.fn.trigger && J(F).trigger("ready").off("ready"))
}
},
isFunction: function(e) {
return "function" === J.type(e)
},
isArray: Array.isArray || function(e) {
return "array" === J.type(e)
},
isWindow: function(e) {
return null != e && e == e.window
},
isNumeric: function(e) {
return !isNaN(parseFloat(e)) && isFinite(e)
},
type: function(e) {
return null == e ? String(e) : fe[Y.call(e)] || "object"
},
isPlainObject: function(e) {
if(!e || "object" !== J.type(e) || e.nodeType || J.isWindow(e)) return !1;
try {
if(e.constructor && !K.call(e, "constructor") && !K.call(e.constructor.prototype, "isPrototypeOf")) return !1
} catch(e) {
return !1
}
var n;
for(n in e);
return n === t || K.call(e, n)
},
isEmptyObject: function(e) {
var t;
for(t in e) return !1;
return !0
},
error: function(e) {
throw new Error(e)
},
parseHTML: function(e, t, n) {
var i;
return e && "string" == typeof e ? ("boolean" == typeof t && (n = t, t = 0), t = t || F, (i = oe.exec(e)) ? [t.createElement(i[1])] : (i = J.buildFragment([e], t, n ? null : []), J.merge([], (i.cacheable ? J.clone(i.fragment) : i.fragment).childNodes))) : null
},
parseJSON: function(t) {
return t && "string" == typeof t ? (t = J.trim(t), e.JSON && e.JSON.parse ? e.JSON.parse(t) : se.test(t.replace(ae, "@").replace(le, "]").replace(re, "")) ? new Function("return " + t)() : void J.error("Invalid JSON: " + t)) : null
},
parseXML: function(n) {
var i, o;
if(!n || "string" != typeof n) return null;
try {
e.DOMParser ? (o = new DOMParser, i = o.parseFromString(n, "text/xml")) : (i = new ActiveXObject("Microsoft.XMLDOM"), i.async = "false", i.loadXML(n))
} catch(e) {
i = t
}
return(!i || !i.documentElement || i.getElementsByTagName("parsererror").length) && J.error("Invalid XML: " + n), i
},
noop: function() {},
globalEval: function(t) {
t && ee.test(t) && (e.execScript || function(t) {
e.eval.call(e, t)
})(t)
},
camelCase: function(e) {
return e.replace(ce, "ms-").replace(de, ue)
},
nodeName: function(e, t) {
return e.nodeName && e.nodeName.toLowerCase() === t.toLowerCase()
},
each: function(e, n, i) {
var o, s = 0,
r = e.length,
a = r === t || J.isFunction(e);
if(i)
if(a) {
for(o in e)
if(n.apply(e[o], i) === !1) break
} else
for(; s < r && n.apply(e[s++], i) !== !1;);
else if(a) {
for(o in e)
if(n.call(e[o], o, e[o]) === !1) break
} else
for(; s < r && n.call(e[s], s, e[s++]) !== !1;);
return e
},
trim: G && !G.call("\ufeff?") ? function(e) {
return null == e ? "" : G.call(e)
} : function(e) {
return null == e ? "" : (e + "").replace(ne, "")
},
makeArray: function(e, t) {
var n, i = t || [];
return null != e && (n = J.type(e), null == e.length || "string" === n || "function" === n || "regexp" === n || J.isWindow(e) ? X.call(i, e) : J.merge(i, e)), i
},
inArray: function(e, t, n) {
var i;
if(t) {
if(V) return V.call(t, e, n);
for(i = t.length, n = n ? n < 0 ? Math.max(0, i + n) : n : 0; n < i; n++)
if(n in t && t[n] === e) return n
}
return -1
},
merge: function(e, n) {
var i = n.length,
o = e.length,
s = 0;
if("number" == typeof i)
for(; s < i; s++) e[o++] = n[s];
else
for(; n[s] !== t;) e[o++] = n[s++];
return e.length = o, e
},
grep: function(e, t, n) {
var i, o = [],
s = 0,
r = e.length;
for(n = !!n; s < r; s++) i = !!t(e[s], s), n !== i && o.push(e[s]);
return o
},
map: function(e, n, i) {
var o, s, r = [],
a = 0,
l = e.length,
c = e instanceof J || l !== t && "number" == typeof l && (l > 0 && e[0] && e[l - 1] || 0 === l || J.isArray(e));
if(c)
for(; a < l; a++) o = n(e[a], a, i), null != o && (r[r.length] = o);
else
for(s in e) o = n(e[s], s, i), null != o && (r[r.length] = o);
return r.concat.apply([], r)
},
guid: 1,
proxy: function(e, n) {
var i, o, s;
return "string" == typeof n && (i = e[n], n = e, e = i), J.isFunction(e) ? (o = Q.call(arguments, 2), s = function() {
return e.apply(n, o.concat(Q.call(arguments)))
}, s.guid = e.guid = e.guid || J.guid++, s) : t
},
access: function(e, n, i, o, s, r, a) {
var l, c = null == i,
d = 0,
u = e.length;
if(i && "object" == typeof i) {
for(d in i) J.access(e, n, d, i[d], 1, r, o);
s = 1
} else if(o !== t) {
if(l = a === t && J.isFunction(o), c && (l ? (l = n, n = function(e, t, n) {
return l.call(J(e), n)
}) : (n.call(e, o), n = null)), n)
for(; d < u; d++) n(e[d], i, l ? o.call(e[d], d, n(e[d], i)) : o, a);
s = 1
}
return s ? e : c ? n.call(e) : u ? n(e[0], i) : r
},
now: function() {
return(new Date).getTime()
}
}), J.ready.promise = function(t) {
if(!q)
if(q = J.Deferred(), "complete" === F.readyState) setTimeout(J.ready, 1);
else if(F.addEventListener) F.addEventListener("DOMContentLoaded", pe, !1), e.addEventListener("load", J.ready, !1);
else {
F.attachEvent("onreadystatechange", pe), e.attachEvent("onload", J.ready);
var n = !1;
try {
n = null == e.frameElement && F.documentElement
} catch(e) {}
n && n.doScroll && function e() {
if(!J.isReady) {
try {
n.doScroll("left")
} catch(t) {
return setTimeout(e, 50)
}
J.ready()
}
}()
}
return q.promise(t)
}, J.each("Boolean Number String Function Array Date RegExp Object".split(" "), function(e, t) {
fe["[object " + t + "]"] = t.toLowerCase()
}), _ = J(F);
var he = {};
J.Callbacks = function(e) {
e = "string" == typeof e ? he[e] || n(e) : J.extend({}, e);
var i, o, s, r, a, l, c = [],
d = !e.once && [],
u = function(t) {
for(i = e.memory && t, o = !0, l = r || 0, r = 0, a = c.length, s = !0; c && l < a; l++)
if(c[l].apply(t[0], t[1]) === !1 && e.stopOnFalse) {
i = !1;
break
}
s = !1, c && (d ? d.length && u(d.shift()) : i ? c = [] : p.disable())
},
p = {
add: function() {
if(c) {
var t = c.length;
! function t(n) {
J.each(n, function(n, i) {
var o = J.type(i);
"function" === o ? (!e.unique || !p.has(i)) && c.push(i) : i && i.length && "string" !== o && t(i)
})
}(arguments), s ? a = c.length : i && (r = t, u(i))
}
return this
},
remove: function() {
return c && J.each(arguments, function(e, t) {
for(var n;
(n = J.inArray(t, c, n)) > -1;) c.splice(n, 1), s && (n <= a && a--, n <= l && l--)
}), this
},
has: function(e) {
return J.inArray(e, c) > -1
},
empty: function() {
return c = [], this
},
disable: function() {
return c = d = i = t, this
},
disabled: function() {
return !c
},
lock: function() {
return d = t, i || p.disable(), this
},
locked: function() {
return !d
},
fireWith: function(e, t) {
return t = t || [], t = [e, t.slice ? t.slice() : t], c && (!o || d) && (s ? d.push(t) : u(t)), this
},
fire: function() {
return p.fireWith(this, arguments), this
},
fired: function() {
return !!o
}
};
return p
}, J.extend({
Deferred: function(e) {
var t = [
["resolve", "done", J.Callbacks("once memory"), "resolved"],
["reject", "fail", J.Callbacks("once memory"), "rejected"],
["notify", "progress", J.Callbacks("memory")]
],
n = "pending",
i = {
state: function() {
return n
},
always: function() {
return o.done(arguments).fail(arguments), this
},
then: function() {
var e = arguments;
return J.Deferred(function(n) {
J.each(t, function(t, i) {
var s = i[0],
r = e[t];
o[i[1]](J.isFunction(r) ? function() {
var e = r.apply(this, arguments);
e && J.isFunction(e.promise) ? e.promise().done(n.resolve).fail(n.reject).progress(n.notify) : n[s + "With"](this === o ? n : this, [e])
} : n[s])
}), e = null
}).promise()
},
promise: function(e) {
return null != e ? J.extend(e, i) : i
}
},
o = {};
return i.pipe = i.then, J.each(t, function(e, s) {
var r = s[2],
a = s[3];
i[s[1]] = r.add, a && r.add(function() {
n = a
}, t[1 ^ e][2].disable, t[2][2].lock), o[s[0]] = r.fire, o[s[0] + "With"] = r.fireWith
}), i.promise(o), e && e.call(o, o), o
},
when: function(e) {
var t, n, i, o = 0,
s = Q.call(arguments),
r = s.length,
a = 1 !== r || e && J.isFunction(e.promise) ? r : 0,
l = 1 === a ? e : J.Deferred(),
c = function(e, n, i) {
return function(o) {
n[e] = this, i[e] = arguments.length > 1 ? Q.call(arguments) : o, i === t ? l.notifyWith(n, i) : --a || l.resolveWith(n, i)
}
};
if(r > 1)
for(t = new Array(r), n = new Array(r), i = new Array(r); o < r; o++) s[o] && J.isFunction(s[o].promise) ? s[o].promise().done(c(o, i, s)).fail(l.reject).progress(c(o, n, t)) : --a;
return a || l.resolveWith(i, s), l.promise()
}
}), J.support = function() {
var t, n, i, o, s, r, a, l, c, d, u, p = F.createElement("div");
if(p.setAttribute("className", "t"), p.innerHTML = " a", n = p.getElementsByTagName("*"), i = p.getElementsByTagName("a")[0], !n || !i || !n.length) return {};
o = F.createElement("select"), s = o.appendChild(F.createElement("option")), r = p.getElementsByTagName("input")[0], i.style.cssText = "top:1px;float:left;opacity:.5", t = {
leadingWhitespace: 3 === p.firstChild.nodeType,
tbody: !p.getElementsByTagName("tbody").length,
htmlSerialize: !!p.getElementsByTagName("link").length,
style: /top/.test(i.getAttribute("style")),
hrefNormalized: "/a" === i.getAttribute("href"),
opacity: /^0.5/.test(i.style.opacity),
cssFloat: !!i.style.cssFloat,
checkOn: "on" === r.value,
optSelected: s.selected,
getSetAttribute: "t" !== p.className,
enctype: !!F.createElement("form").enctype,
html5Clone: "<:nav>" !== F.createElement("nav").cloneNode(!0).outerHTML,
boxModel: "CSS1Compat" === F.compatMode,
submitBubbles: !0,
changeBubbles: !0,
focusinBubbles: !1,
deleteExpando: !0,
noCloneEvent: !0,
inlineBlockNeedsLayout: !1,
shrinkWrapBlocks: !1,
reliableMarginRight: !0,
boxSizingReliable: !0,
pixelPosition: !1
}, r.checked = !0, t.noCloneChecked = r.cloneNode(!0).checked, o.disabled = !0, t.optDisabled = !s.disabled;
try {
delete p.test
} catch(e) {
t.deleteExpando = !1
}
if(!p.addEventListener && p.attachEvent && p.fireEvent && (p.attachEvent("onclick", u = function() {
t.noCloneEvent = !1
}), p.cloneNode(!0).fireEvent("onclick"), p.detachEvent("onclick", u)), r = F.createElement("input"), r.value = "t", r.setAttribute("type", "radio"), t.radioValue = "t" === r.value, r.setAttribute("checked", "checked"), r.setAttribute("name", "t"), p.appendChild(r), a = F.createDocumentFragment(), a.appendChild(p.lastChild), t.checkClone = a.cloneNode(!0).cloneNode(!0).lastChild.checked, t.appendChecked = r.checked, a.removeChild(r), a.appendChild(p), p.attachEvent)
for(c in {
submit: !0,
change: !0,
focusin: !0
}) l = "on" + c, d = l in p, d || (p.setAttribute(l, "return;"), d = "function" == typeof p[l]), t[c + "Bubbles"] = d;
return J(function() {
var n, i, o, s, r = "padding:0;margin:0;border:0;display:block;overflow:hidden;",
a = F.getElementsByTagName("body")[0];
a && (n = F.createElement("div"), n.style.cssText = "visibility:hidden;border:0;width:0;height:0;position:static;top:0;margin-top:1px", a.insertBefore(n, a.firstChild), i = F.createElement("div"), n.appendChild(i), i.innerHTML = "", o = i.getElementsByTagName("td"), o[0].style.cssText = "padding:0;margin:0;border:0;display:none", d = 0 === o[0].offsetHeight, o[0].style.display = "", o[1].style.display = "none", t.reliableHiddenOffsets = d && 0 === o[0].offsetHeight, i.innerHTML = "", i.style.cssText = "box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;", t.boxSizing = 4 === i.offsetWidth, t.doesNotIncludeMarginInBodyOffset = 1 !== a.offsetTop, e.getComputedStyle && (t.pixelPosition = "1%" !== (e.getComputedStyle(i, null) || {}).top, t.boxSizingReliable = "4px" === (e.getComputedStyle(i, null) || {
width: "4px"
}).width, s = F.createElement("div"), s.style.cssText = i.style.cssText = r, s.style.marginRight = s.style.width = "0", i.style.width = "1px", i.appendChild(s), t.reliableMarginRight = !parseFloat((e.getComputedStyle(s, null) || {}).marginRight)), "undefined" != typeof i.style.zoom && (i.innerHTML = "", i.style.cssText = r + "width:1px;padding:1px;display:inline;zoom:1", t.inlineBlockNeedsLayout = 3 === i.offsetWidth, i.style.display = "block", i.style.overflow = "visible", i.innerHTML = "", i.firstChild.style.width = "5px", t.shrinkWrapBlocks = 3 !== i.offsetWidth, n.style.zoom = 1), a.removeChild(n), n = i = o = s = null)
}), a.removeChild(p), n = i = o = s = r = a = p = null, t
}();
var ge = /(?:\{[\s\S]*\}|\[[\s\S]*\])$/,
me = /([A-Z])/g;
J.extend({
cache: {},
deletedIds: [],
uuid: 0,
expando: "jQuery" + (J.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 ? J.cache[e[J.expando]] : e[J.expando], !!e && !o(e)
},
data: function(e, n, i, o) {
if(J.acceptData(e)) {
var s, r, a = J.expando,
l = "string" == typeof n,
c = e.nodeType,
d = c ? J.cache : e,
u = c ? e[a] : e[a] && a;
if(u && d[u] && (o || d[u].data) || !l || i !== t) return u || (c ? e[a] = u = J.deletedIds.pop() || J.guid++ : u = a), d[u] || (d[u] = {}, c || (d[u].toJSON = J.noop)), "object" != typeof n && "function" != typeof n || (o ? d[u] = J.extend(d[u], n) : d[u].data = J.extend(d[u].data, n)), s = d[u], o || (s.data || (s.data = {}), s = s.data), i !== t && (s[J.camelCase(n)] = i), l ? (r = s[n], null == r && (r = s[J.camelCase(n)])) : r = s, r
}
},
removeData: function(e, t, n) {
if(J.acceptData(e)) {
var i, s, r, a = e.nodeType,
l = a ? J.cache : e,
c = a ? e[J.expando] : J.expando;
if(l[c]) {
if(t && (i = n ? l[c] : l[c].data)) {
J.isArray(t) || (t in i ? t = [t] : (t = J.camelCase(t), t = t in i ? [t] : t.split(" ")));
for(s = 0, r = t.length; s < r; s++) delete i[t[s]];
if(!(n ? o : J.isEmptyObject)(i)) return
}(n || (delete l[c].data, o(l[c]))) && (a ? J.cleanData([e], !0) : J.support.deleteExpando || l != l.window ? delete l[c] : l[c] = null)
}
}
},
_data: function(e, t, n) {
return J.data(e, t, n, !0)
},
acceptData: function(e) {
var t = e.nodeName && J.noData[e.nodeName.toLowerCase()];
return !t || t !== !0 && e.getAttribute("classid") === t
}
}), J.fn.extend({
data: function(e, n) {
var o, s, r, a, l, c = this[0],
d = 0,
u = null;
if(e === t) {
if(this.length && (u = J.data(c), 1 === c.nodeType && !J._data(c, "parsedAttrs"))) {
for(r = c.attributes, l = r.length; d < l; d++) a = r[d].name, a.indexOf("data-") || (a = J.camelCase(a.substring(5)), i(c, a, u[a]));
J._data(c, "parsedAttrs", !0)
}
return u
}
return "object" == typeof e ? this.each(function() {
J.data(this, e)
}) : (o = e.split(".", 2), o[1] = o[1] ? "." + o[1] : "", s = o[1] + "!", J.access(this, function(n) {
return n === t ? (u = this.triggerHandler("getData" + s, [o[0]]), u === t && c && (u = J.data(c, e), u = i(c, e, u)), u === t && o[1] ? this.data(o[0]) : u) : (o[1] = n, void this.each(function() {
var t = J(this);
t.triggerHandler("setData" + s, o), J.data(this, e, n), t.triggerHandler("changeData" + s, o)
}))
}, null, n, arguments.length > 1, null, !1))
},
removeData: function(e) {
return this.each(function() {
J.removeData(this, e)
})
}
}), J.extend({
queue: function(e, t, n) {
var i;
if(e) return t = (t || "fx") + "queue", i = J._data(e, t), n && (!i || J.isArray(n) ? i = J._data(e, t, J.makeArray(n)) : i.push(n)), i || []
},
dequeue: function(e, t) {
t = t || "fx";
var n = J.queue(e, t),
i = n.length,
o = n.shift(),
s = J._queueHooks(e, t),
r = function() {
J.dequeue(e, t)
};
"inprogress" === o && (o = n.shift(), i--), o && ("fx" === t && n.unshift("inprogress"), delete s.stop, o.call(e, r, s)), !i && s && s.empty.fire()
},
_queueHooks: function(e, t) {
var n = t + "queueHooks";
return J._data(e, n) || J._data(e, n, {
empty: J.Callbacks("once memory").add(function() {
J.removeData(e, t + "queue", !0), J.removeData(e, n, !0)
})
})
}
}), J.fn.extend({
queue: function(e, n) {
var i = 2;
return "string" != typeof e && (n = e, e = "fx", i--), arguments.length < i ? J.queue(this[0], e) : n === t ? this : this.each(function() {
var t = J.queue(this, e, n);
J._queueHooks(this, e), "fx" === e && "inprogress" !== t[0] && J.dequeue(this, e)
})
},
dequeue: function(e) {
return this.each(function() {
J.dequeue(this, e)
})
},
delay: function(e, t) {
return e = J.fx ? J.fx.speeds[e] || e : e, t = t || "fx", this.queue(t, function(t, n) {
var i = setTimeout(t, e);
n.stop = function() {
clearTimeout(i)
}
})
},
clearQueue: function(e) {
return this.queue(e || "fx", [])
},
promise: function(e, n) {
var i, o = 1,
s = J.Deferred(),
r = this,
a = this.length,
l = function() {
--o || s.resolveWith(r, [r])
};
for("string" != typeof e && (n = e, e = t), e = e || "fx"; a--;) i = J._data(r[a], e + "queueHooks"), i && i.empty && (o++, i.empty.add(l));
return l(), s.promise(n)
}
});
var ve, ye, be, we = /[\t\r\n]/g,
xe = /\r/g,
ke = /^(?:button|input)$/i,
Te = /^(?:button|input|object|select|textarea)$/i,
Se = /^a(?:rea|)$/i,
$e = /^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,
Ce = J.support.getSetAttribute;
J.fn.extend({
attr: function(e, t) {
return J.access(this, J.attr, e, t, arguments.length > 1)
},
removeAttr: function(e) {
return this.each(function() {
J.removeAttr(this, e)
})
},
prop: function(e, t) {
return J.access(this, J.prop, e, t, arguments.length > 1)
},
removeProp: function(e) {
return e = J.propFix[e] || e, this.each(function() {
try {
this[e] = t, delete this[e]
} catch(e) {}
})
},
addClass: function(e) {
var t, n, i, o, s, r, a;
if(J.isFunction(e)) return this.each(function(t) {
J(this).addClass(e.call(this, t, this.className))
});
if(e && "string" == typeof e)
for(t = e.split(te), n = 0, i = this.length; n < i; n++)
if(o = this[n], 1 === o.nodeType)
if(o.className || 1 !== t.length) {
for(s = " " + o.className + " ", r = 0, a = t.length; r < a; r++) s.indexOf(" " + t[r] + " ") < 0 && (s += t[r] + " ");
o.className = J.trim(s)
} else o.className = e;
return this
},
removeClass: function(e) {
var n, i, o, s, r, a, l;
if(J.isFunction(e)) return this.each(function(t) {
J(this).removeClass(e.call(this, t, this.className))
});
if(e && "string" == typeof e || e === t)
for(n = (e || "").split(te), a = 0, l = this.length; a < l; a++)
if(o = this[a], 1 === o.nodeType && o.className) {
for(i = (" " + o.className + " ").replace(we, " "), s = 0, r = n.length; s < r; s++)
for(; i.indexOf(" " + n[s] + " ") >= 0;) i = i.replace(" " + n[s] + " ", " ");
o.className = e ? J.trim(i) : ""
}
return this
},
toggleClass: function(e, t) {
var n = typeof e,
i = "boolean" == typeof t;
return J.isFunction(e) ? this.each(function(n) {
J(this).toggleClass(e.call(this, n, this.className, t), t)
}) : this.each(function() {
if("string" === n)
for(var o, s = 0, r = J(this), a = t, l = e.split(te); o = l[s++];) a = i ? a : !r.hasClass(o), r[a ? "addClass" : "removeClass"](o);
else "undefined" !== n && "boolean" !== n || (this.className && J._data(this, "__className__", this.className), this.className = this.className || e === !1 ? "" : J._data(this, "__className__") || "")
})
},
hasClass: function(e) {
for(var t = " " + e + " ", n = 0, i = this.length; n < i; n++)
if(1 === this[n].nodeType && (" " + this[n].className + " ").replace(we, " ").indexOf(t) >= 0) return !0;
return !1
},
val: function(e) {
var n, i, o, s = this[0]; {
if(arguments.length) return o = J.isFunction(e), this.each(function(i) {
var s, r = J(this);
1 === this.nodeType && (s = o ? e.call(this, i, r.val()) : e, null == s ? s = "" : "number" == typeof s ? s += "" : J.isArray(s) && (s = J.map(s, function(e) {
return null == e ? "" : e + ""
})), n = J.valHooks[this.type] || J.valHooks[this.nodeName.toLowerCase()], n && "set" in n && n.set(this, s, "value") !== t || (this.value = s))
});
if(s) return n = J.valHooks[s.type] || J.valHooks[s.nodeName.toLowerCase()], n && "get" in n && (i = n.get(s, "value")) !== t ? i : (i = s.value, "string" == typeof i ? i.replace(xe, "") : null == i ? "" : i)
}
}
}), J.extend({
valHooks: {
option: {
get: function(e) {
var t = e.attributes.value;
return !t || t.specified ? e.value : e.text
}
},
select: {
get: function(e) {
for(var t, n, i = e.options, o = e.selectedIndex, s = "select-one" === e.type || o < 0, r = s ? null : [], a = s ? o + 1 : i.length, l = o < 0 ? a : s ? o : 0; l < a; l++)
if(n = i[l], (n.selected || l === o) && (J.support.optDisabled ? !n.disabled : null === n.getAttribute("disabled")) && (!n.parentNode.disabled || !J.nodeName(n.parentNode, "optgroup"))) {
if(t = J(n).val(), s) return t;
r.push(t)
}
return r
},
set: function(e, t) {
var n = J.makeArray(t);
return J(e).find("option").each(function() {
this.selected = J.inArray(J(this).val(), n) >= 0
}), n.length || (e.selectedIndex = -1), n
}
}
},
attrFn: {},
attr: function(e, n, i, o) {
var s, r, a, l = e.nodeType;
if(e && 3 !== l && 8 !== l && 2 !== l) return o && J.isFunction(J.fn[n]) ? J(e)[n](i) : "undefined" == typeof e.getAttribute ? J.prop(e, n, i) : (a = 1 !== l || !J.isXMLDoc(e), a && (n = n.toLowerCase(), r = J.attrHooks[n] || ($e.test(n) ? ye : ve)), i !== t ? null === i ? void J.removeAttr(e, n) : r && "set" in r && a && (s = r.set(e, i, n)) !== t ? s : (e.setAttribute(n, i + ""), i) : r && "get" in r && a && null !== (s = r.get(e, n)) ? s : (s = e.getAttribute(n), null === s ? t : s))
},
removeAttr: function(e, t) {
var n, i, o, s, r = 0;
if(t && 1 === e.nodeType)
for(i = t.split(te); r < i.length; r++) o = i[r], o && (n = J.propFix[o] || o, s = $e.test(o), s || J.attr(e, o, ""), e.removeAttribute(Ce ? o : n), s && n in e && (e[n] = !1))
},
attrHooks: {
type: {
set: function(e, t) {
if(ke.test(e.nodeName) && e.parentNode) J.error("type property can't be changed");
else if(!J.support.radioValue && "radio" === t && J.nodeName(e, "input")) {
var n = e.value;
return e.setAttribute("type", t), n && (e.value = n), t
}
}
},
value: {
get: function(e, t) {
return ve && J.nodeName(e, "button") ? ve.get(e, t) : t in e ? e.value : null
},
set: function(e, t, n) {
return ve && J.nodeName(e, "button") ? ve.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, i) {
var o, s, r, a = e.nodeType;
if(e && 3 !== a && 8 !== a && 2 !== a) return r = 1 !== a || !J.isXMLDoc(e), r && (n = J.propFix[n] || n, s = J.propHooks[n]), i !== t ? s && "set" in s && (o = s.set(e, i, n)) !== t ? o : e[n] = i : s && "get" in s && null !== (o = s.get(e, n)) ? o : e[n]
},
propHooks: {
tabIndex: {
get: function(e) {
var n = e.getAttributeNode("tabindex");
return n && n.specified ? parseInt(n.value, 10) : Te.test(e.nodeName) || Se.test(e.nodeName) && e.href ? 0 : t
}
}
}
}), ye = {
get: function(e, n) {
var i, o = J.prop(e, n);
return o === !0 || "boolean" != typeof o && (i = e.getAttributeNode(n)) && i.nodeValue !== !1 ? n.toLowerCase() : t
},
set: function(e, t, n) {
var i;
return t === !1 ? J.removeAttr(e, n) : (i = J.propFix[n] || n, i in e && (e[i] = !0), e.setAttribute(n, n.toLowerCase())), n
}
}, Ce || (be = {
name: !0,
id: !0,
coords: !0
}, ve = J.valHooks.button = {
get: function(e, n) {
var i;
return i = e.getAttributeNode(n), i && (be[n] ? "" !== i.value : i.specified) ? i.value : t
},
set: function(e, t, n) {
var i = e.getAttributeNode(n);
return i || (i = F.createAttribute(n), e.setAttributeNode(i)), i.value = t + ""
}
}, J.each(["width", "height"], function(e, t) {
J.attrHooks[t] = J.extend(J.attrHooks[t], {
set: function(e, n) {
if("" === n) return e.setAttribute(t, "auto"), n
}
})
}), J.attrHooks.contenteditable = {
get: ve.get,
set: function(e, t, n) {
"" === t && (t = "false"), ve.set(e, t, n)
}
}), J.support.hrefNormalized || J.each(["href", "src", "width", "height"], function(e, n) {
J.attrHooks[n] = J.extend(J.attrHooks[n], {
get: function(e) {
var i = e.getAttribute(n, 2);
return null === i ? t : i
}
})
}), J.support.style || (J.attrHooks.style = {
get: function(e) {
return e.style.cssText.toLowerCase() || t
},
set: function(e, t) {
return e.style.cssText = t + ""
}
}), J.support.optSelected || (J.propHooks.selected = J.extend(J.propHooks.selected, {
get: function(e) {
var t = e.parentNode;
return t && (t.selectedIndex, t.parentNode && t.parentNode.selectedIndex), null
}
})), J.support.enctype || (J.propFix.enctype = "encoding"), J.support.checkOn || J.each(["radio", "checkbox"], function() {
J.valHooks[this] = {
get: function(e) {
return null === e.getAttribute("value") ? "on" : e.value
}
}
}), J.each(["radio", "checkbox"], function() {
J.valHooks[this] = J.extend(J.valHooks[this], {
set: function(e, t) {
if(J.isArray(t)) return e.checked = J.inArray(J(e).val(), t) >= 0
}
})
});
var Ae = /^(?:textarea|input|select)$/i,
Ee = /^([^\.]*|)(?:\.(.+)|)$/,
Ne = /(?:^|\s)hover(\.\S+|)\b/,
je = /^key/,
De = /^(?:mouse|contextmenu)|click/,
He = /^(?:focusinfocus|focusoutblur)$/,
Le = function(e) {
return J.event.special.hover ? e : e.replace(Ne, "mouseenter$1 mouseleave$1")
};
J.event = {
add: function(e, n, i, o, s) {
var r, a, l, c, d, u, p, f, h, g, m;
if(3 !== e.nodeType && 8 !== e.nodeType && n && i && (r = J._data(e))) {
for(i.handler && (h = i, i = h.handler, s = h.selector), i.guid || (i.guid = J.guid++), l = r.events, l || (r.events = l = {}), a = r.handle, a || (r.handle = a = function(e) {
return "undefined" == typeof J || e && J.event.triggered === e.type ? t : J.event.dispatch.apply(a.elem, arguments)
}, a.elem = e), n = J.trim(Le(n)).split(" "), c = 0; c < n.length; c++) d = Ee.exec(n[c]) || [], u = d[1], p = (d[2] || "").split(".").sort(), m = J.event.special[u] || {}, u = (s ? m.delegateType : m.bindType) || u, m = J.event.special[u] || {}, f = J.extend({
type: u,
origType: d[1],
data: o,
handler: i,
guid: i.guid,
selector: s,
needsContext: s && J.expr.match.needsContext.test(s),
namespace: p.join(".")
}, h), g = l[u], g || (g = l[u] = [], g.delegateCount = 0, m.setup && m.setup.call(e, o, p, a) !== !1 || (e.addEventListener ? e.addEventListener(u, a, !1) : e.attachEvent && e.attachEvent("on" + u, a))), m.add && (m.add.call(e, f), f.handler.guid || (f.handler.guid = i.guid)), s ? g.splice(g.delegateCount++, 0, f) : g.push(f), J.event.global[u] = !0;
e = null
}
},
global: {},
remove: function(e, t, n, i, o) {
var s, r, a, l, c, d, u, p, f, h, g, m = J.hasData(e) && J._data(e);
if(m && (p = m.events)) {
for(t = J.trim(Le(t || "")).split(" "), s = 0; s < t.length; s++)
if(r = Ee.exec(t[s]) || [], a = l = r[1], c = r[2], a) {
for(f = J.event.special[a] || {}, a = (i ? f.delegateType : f.bindType) || a, h = p[a] || [], d = h.length, c = c ? new RegExp("(^|\\.)" + c.split(".").sort().join("\\.(?:.*\\.|)") + "(\\.|$)") : null, u = 0; u < h.length; u++) g = h[u], (o || l === g.origType) && (!n || n.guid === g.guid) && (!c || c.test(g.namespace)) && (!i || i === g.selector || "**" === i && g.selector) && (h.splice(u--, 1), g.selector && h.delegateCount--, f.remove && f.remove.call(e, g));
0 === h.length && d !== h.length && ((!f.teardown || f.teardown.call(e, c, m.handle) === !1) && J.removeEvent(e, a, m.handle), delete p[a])
} else
for(a in p) J.event.remove(e, a + t[s], n, i, !0);
J.isEmptyObject(p) && (delete m.handle, J.removeData(e, "events", !0))
}
},
customEvent: {
getData: !0,
setData: !0,
changeData: !0
},
trigger: function(n, i, o, s) {
if(!o || 3 !== o.nodeType && 8 !== o.nodeType) {
var r, a, l, c, d, u, p, f, h, g, m = n.type || n,
v = [];
if(He.test(m + J.event.triggered)) return;
if(m.indexOf("!") >= 0 && (m = m.slice(0, -1), a = !0), m.indexOf(".") >= 0 && (v = m.split("."), m = v.shift(), v.sort()), (!o || J.event.customEvent[m]) && !J.event.global[m]) return;
if(n = "object" == typeof n ? n[J.expando] ? n : new J.Event(m, n) : new J.Event(m), n.type = m, n.isTrigger = !0, n.exclusive = a, n.namespace = v.join("."), n.namespace_re = n.namespace ? new RegExp("(^|\\.)" + v.join("\\.(?:.*\\.|)") + "(\\.|$)") : null, u = m.indexOf(":") < 0 ? "on" + m : "", !o) {
r = J.cache;
for(l in r) r[l].events && r[l].events[m] && J.event.trigger(n, i, r[l].handle.elem, !0);
return
}
if(n.result = t, n.target || (n.target = o), i = null != i ? J.makeArray(i) : [], i.unshift(n), p = J.event.special[m] || {}, p.trigger && p.trigger.apply(o, i) === !1) return;
if(h = [
[o, p.bindType || m]
], !s && !p.noBubble && !J.isWindow(o)) {
for(g = p.delegateType || m, c = He.test(g + m) ? o : o.parentNode, d = o; c; c = c.parentNode) h.push([c, g]), d = c;
d === (o.ownerDocument || F) && h.push([d.defaultView || d.parentWindow || e, g])
}
for(l = 0; l < h.length && !n.isPropagationStopped(); l++) c = h[l][0], n.type = h[l][1], f = (J._data(c, "events") || {})[n.type] && J._data(c, "handle"), f && f.apply(c, i), f = u && c[u], f && J.acceptData(c) && f.apply && f.apply(c, i) === !1 && n.preventDefault();
return n.type = m, !s && !n.isDefaultPrevented() && (!p._default || p._default.apply(o.ownerDocument, i) === !1) && ("click" !== m || !J.nodeName(o, "a")) && J.acceptData(o) && u && o[m] && ("focus" !== m && "blur" !== m || 0 !== n.target.offsetWidth) && !J.isWindow(o) && (d = o[u], d && (o[u] = null), J.event.triggered = m, o[m](), J.event.triggered = t, d && (o[u] = d)), n.result
}
},
dispatch: function(n) {
n = J.event.fix(n || e.event);
var i, o, s, r, a, l, c, d, u, p = (J._data(this, "events") || {})[n.type] || [],
f = p.delegateCount,
h = Q.call(arguments),
g = !n.exclusive && !n.namespace,
m = J.event.special[n.type] || {},
v = [];
if(h[0] = n, n.delegateTarget = this, !m.preDispatch || m.preDispatch.call(this, n) !== !1) {
if(f && (!n.button || "click" !== n.type))
for(s = n.target; s != this; s = s.parentNode || this)
if(s.disabled !== !0 || "click" !== n.type) {
for(a = {}, c = [], i = 0; i < f; i++) d = p[i], u = d.selector, a[u] === t && (a[u] = d.needsContext ? J(u, this).index(s) >= 0 : J.find(u, this, null, [s]).length), a[u] && c.push(d);
c.length && v.push({
elem: s,
matches: c
})
}
for(p.length > f && v.push({
elem: this,
matches: p.slice(f)
}), i = 0; i < v.length && !n.isPropagationStopped(); i++)
for(l = v[i], n.currentTarget = l.elem, o = 0; o < l.matches.length && !n.isImmediatePropagationStopped(); o++) d = l.matches[o], (g || !n.namespace && !d.namespace || n.namespace_re && n.namespace_re.test(d.namespace)) && (n.data = d.data, n.handleObj = d, r = ((J.event.special[d.origType] || {}).handle || d.handler).apply(l.elem, h), r !== t && (n.result = r, r === !1 && (n.preventDefault(), n.stopPropagation())));
return m.postDispatch && m.postDispatch.call(this, n), n.result
}
},
props: "attrChange attrName relatedNode srcElement altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),
fixHooks: {},
keyHooks: {
props: "char charCode key keyCode".split(" "),
filter: function(e, t) {
return null == e.which && (e.which = null != t.charCode ? t.charCode : t.keyCode), e
}
},
mouseHooks: {
props: "button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),
filter: function(e, n) {
var i, o, s, r = n.button,
a = n.fromElement;
return null == e.pageX && null != n.clientX && (i = e.target.ownerDocument || F, o = i.documentElement, s = i.body, e.pageX = n.clientX + (o && o.scrollLeft || s && s.scrollLeft || 0) - (o && o.clientLeft || s && s.clientLeft || 0), e.pageY = n.clientY + (o && o.scrollTop || s && s.scrollTop || 0) - (o && o.clientTop || s && s.clientTop || 0)), !e.relatedTarget && a && (e.relatedTarget = a === e.target ? n.toElement : a), !e.which && r !== t && (e.which = 1 & r ? 1 : 2 & r ? 3 : 4 & r ? 2 : 0), e
}
},
fix: function(e) {
if(e[J.expando]) return e;
var t, n, i = e,
o = J.event.fixHooks[e.type] || {},
s = o.props ? this.props.concat(o.props) : this.props;
for(e = J.Event(i), t = s.length; t;) n = s[--t], e[n] = i[n];
return e.target || (e.target = i.srcElement || F), 3 === e.target.nodeType && (e.target = e.target.parentNode), e.metaKey = !!e.metaKey, o.filter ? o.filter(e, i) : e
},
special: {
load: {
noBubble: !0
},
focus: {
delegateType: "focusin"
},
blur: {
delegateType: "focusout"
},
beforeunload: {
setup: function(e, t, n) {
J.isWindow(this) && (this.onbeforeunload = n)
},
teardown: function(e, t) {
this.onbeforeunload === t && (this.onbeforeunload = null)
}
}
},
simulate: function(e, t, n, i) {
var o = J.extend(new J.Event, n, {
type: e,
isSimulated: !0,
originalEvent: {}
});
i ? J.event.trigger(o, null, t) : J.event.dispatch.call(t, o), o.isDefaultPrevented() && n.preventDefault()
}
}, J.event.handle = J.event.dispatch, J.removeEvent = F.removeEventListener ? function(e, t, n) {
e.removeEventListener && e.removeEventListener(t, n, !1)
} : function(e, t, n) {
var i = "on" + t;
e.detachEvent && ("undefined" == typeof e[i] && (e[i] = null), e.detachEvent(i, n))
}, J.Event = function(e, t) {
return this instanceof J.Event ? (e && e.type ? (this.originalEvent = e, this.type = e.type, this.isDefaultPrevented = e.defaultPrevented || e.returnValue === !1 || e.getPreventDefault && e.getPreventDefault() ? r : s) : this.type = e, t && J.extend(this, t), this.timeStamp = e && e.timeStamp || J.now(), this[J.expando] = !0, void 0) : new J.Event(e, t)
}, J.Event.prototype = {
preventDefault: function() {
this.isDefaultPrevented = r;
var e = this.originalEvent;
e && (e.preventDefault ? e.preventDefault() : e.returnValue = !1)
},
stopPropagation: function() {
this.isPropagationStopped = r;
var e = this.originalEvent;
e && (e.stopPropagation && e.stopPropagation(), e.cancelBubble = !0)
},
stopImmediatePropagation: function() {
this.isImmediatePropagationStopped = r, this.stopPropagation()
},
isDefaultPrevented: s,
isPropagationStopped: s,
isImmediatePropagationStopped: s
}, J.each({
mouseenter: "mouseover",
mouseleave: "mouseout"
}, function(e, t) {
J.event.special[e] = {
delegateType: t,
bindType: t,
handle: function(e) {
var n, i = this,
o = e.relatedTarget,
s = e.handleObj;
s.selector;
return o && (o === i || J.contains(i, o)) || (e.type = s.origType, n = s.handler.apply(this, arguments), e.type = t), n
}
}
}), J.support.submitBubbles || (J.event.special.submit = {
setup: function() {
return !J.nodeName(this, "form") && void J.event.add(this, "click._submit keypress._submit", function(e) {
var n = e.target,
i = J.nodeName(n, "input") || J.nodeName(n, "button") ? n.form : t;
i && !J._data(i, "_submit_attached") && (J.event.add(i, "submit._submit", function(e) {
e._submit_bubble = !0
}), J._data(i, "_submit_attached", !0))
})
},
postDispatch: function(e) {
e._submit_bubble && (delete e._submit_bubble, this.parentNode && !e.isTrigger && J.event.simulate("submit", this.parentNode, e, !0))
},
teardown: function() {
return !J.nodeName(this, "form") && void J.event.remove(this, "._submit")
}
}), J.support.changeBubbles || (J.event.special.change = {
setup: function() {
return Ae.test(this.nodeName) ? ("checkbox" !== this.type && "radio" !== this.type || (J.event.add(this, "propertychange._change", function(e) {
"checked" === e.originalEvent.propertyName && (this._just_changed = !0)
}), J.event.add(this, "click._change", function(e) {
this._just_changed && !e.isTrigger && (this._just_changed = !1), J.event.simulate("change", this, e, !0)
})), !1) : void J.event.add(this, "beforeactivate._change", function(e) {
var t = e.target;
Ae.test(t.nodeName) && !J._data(t, "_change_attached") && (J.event.add(t, "change._change", function(e) {
this.parentNode && !e.isSimulated && !e.isTrigger && J.event.simulate("change", this.parentNode, e, !0)
}), J._data(t, "_change_attached", !0))
})
},
handle: function(e) {
var t = e.target;
if(this !== t || e.isSimulated || e.isTrigger || "radio" !== t.type && "checkbox" !== t.type) return e.handleObj.handler.apply(this, arguments)
},
teardown: function() {
return J.event.remove(this, "._change"), !Ae.test(this.nodeName)
}
}), J.support.focusinBubbles || J.each({
focus: "focusin",
blur: "focusout"
}, function(e, t) {
var n = 0,
i = function(e) {
J.event.simulate(t, e.target, J.event.fix(e), !0)
};
J.event.special[t] = {
setup: function() {
0 === n++ && F.addEventListener(e, i, !0)
},
teardown: function() {
0 === --n && F.removeEventListener(e, i, !0)
}
}
}), J.fn.extend({
on: function(e, n, i, o, r) {
var a, l;
if("object" == typeof e) {
"string" != typeof n && (i = i || n, n = t);
for(l in e) this.on(l, n, i, e[l], r);
return this
}
if(null == i && null == o ? (o = n, i = n = t) : null == o && ("string" == typeof n ? (o = i, i = t) : (o = i, i = n, n = t)), o === !1) o = s;
else if(!o) return this;
return 1 === r && (a = o, o = function(e) {
return J().off(e), a.apply(this, arguments)
}, o.guid = a.guid || (a.guid = J.guid++)), this.each(function() {
J.event.add(this, e, o, i, n)
})
},
one: function(e, t, n, i) {
return this.on(e, t, n, i, 1)
},
off: function(e, n, i) {
var o, r;
if(e && e.preventDefault && e.handleObj) return o = e.handleObj, J(e.delegateTarget).off(o.namespace ? o.origType + "." + o.namespace : o.origType, o.selector, o.handler), this;
if("object" == typeof e) {
for(r in e) this.off(r, n, e[r]);
return this
}
return n !== !1 && "function" != typeof n || (i = n, n = t), i === !1 && (i = s), this.each(function() {
J.event.remove(this, e, i, n)
})
},
bind: function(e, t, n) {
return this.on(e, null, t, n)
},
unbind: function(e, t) {
return this.off(e, null, t)
},
live: function(e, t, n) {
return J(this.context).on(e, this.selector, t, n), this
},
die: function(e, t) {
return J(this.context).off(e, this.selector || "**", t), this
},
delegate: function(e, t, n, i) {
return this.on(t, e, n, i)
},
undelegate: function(e, t, n) {
return 1 === arguments.length ? this.off(e, "**") : this.off(t, e || "**", n)
},
trigger: function(e, t) {
return this.each(function() {
J.event.trigger(e, t, this)
})
},
triggerHandler: function(e, t) {
if(this[0]) return J.event.trigger(e, t, this[0], !0)
},
toggle: function(e) {
var t = arguments,
n = e.guid || J.guid++,
i = 0,
o = function(n) {
var o = (J._data(this, "lastToggle" + e.guid) || 0) % i;
return J._data(this, "lastToggle" + e.guid, o + 1), n.preventDefault(), t[o].apply(this, arguments) || !1
};
for(o.guid = n; i < t.length;) t[i++].guid = n;
return this.click(o)
},
hover: function(e, t) {
return this.mouseenter(e).mouseleave(t || e)
}
}), J.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "), function(e, t) {
J.fn[t] = function(e, n) {
return null == n && (n = e, e = null), arguments.length > 0 ? this.on(t, null, e, n) : this.trigger(t)
}, je.test(t) && (J.event.fixHooks[t] = J.event.keyHooks), De.test(t) && (J.event.fixHooks[t] = J.event.mouseHooks)
}),
function(e, t) {
function n(e, t, n, i) {
n = n || [], t = t || D;
var o, s, r, a, l = t.nodeType;
if(!e || "string" != typeof e) return n;
if(1 !== l && 9 !== l) return [];
if(r = x(t), !r && !i && (o = ne.exec(e)))
if(a = o[1]) {
if(9 === l) {
if(s = t.getElementById(a), !s || !s.parentNode) return n;
if(s.id === a) return n.push(s), n
} else if(t.ownerDocument && (s = t.ownerDocument.getElementById(a)) && k(t, s) && s.id === a) return n.push(s), n
} else {
if(o[2]) return M.apply(n, I.call(t.getElementsByTagName(e), 0)), n;
if((a = o[3]) && pe && t.getElementsByClassName) return M.apply(n, I.call(t.getElementsByClassName(a), 0)), n
}
return g(e.replace(G, "$1"), t, n, i, r)
}
function i(e) {
return function(t) {
var n = t.nodeName.toLowerCase();
return "input" === n && t.type === e
}
}
function o(e) {
return function(t) {
var n = t.nodeName.toLowerCase();
return("input" === n || "button" === n) && t.type === e
}
}
function s(e) {
return _(function(t) {
return t = +t, _(function(n, i) {
for(var o, s = e([], n.length, t), r = s.length; r--;) n[o = s[r]] && (n[o] = !(i[o] = n[o]))
})
})
}
function r(e, t, n) {
if(e === t) return n;
for(var i = e.nextSibling; i;) {
if(i === t) return -1;
i = i.nextSibling
}
return 1
}
function a(e, t) {
var i, o, s, r, a, l, c, d = B[N][e + " "];
if(d) return t ? 0 : d.slice(0);
for(a = e, l = [], c = b.preFilter; a;) {
i && !(o = Z.exec(a)) || (o && (a = a.slice(o[0].length) || a), l.push(s = [])), i = !1, (o = ee.exec(a)) && (s.push(i = new j(o.shift())), a = a.slice(i.length), i.type = o[0].replace(G, " "));
for(r in b.filter)(o = ae[r].exec(a)) && (!c[r] || (o = c[r](o))) && (s.push(i = new j(o.shift())), a = a.slice(i.length), i.type = r, i.matches = o);
if(!i) break
}
return t ? a.length : a ? n.error(e) : B(e, l).slice(0)
}
function l(e, t, n) {
var i = t.dir,
o = n && "parentNode" === t.dir,
s = z++;
return t.first ? function(t, n, s) {
for(; t = t[i];)
if(o || 1 === t.nodeType) return e(t, n, s)
} : function(t, n, r) {
if(r) {
for(; t = t[i];)
if((o || 1 === t.nodeType) && e(t, n, r)) return t
} else
for(var a, l = L + " " + s + " ", c = l + v; t = t[i];)
if(o || 1 === t.nodeType) {
if((a = t[N]) === c) return t.sizset;
if("string" == typeof a && 0 === a.indexOf(l)) {
if(t.sizset) return t
} else {
if(t[N] = c, e(t, n, r)) return t.sizset = !0, t;
t.sizset = !1
}
}
}
}
function c(e) {
return e.length > 1 ? function(t, n, i) {
for(var o = e.length; o--;)
if(!e[o](t, n, i)) return !1;
return !0
} : e[0]
}
function d(e, t, n, i, o) {
for(var s, r = [], a = 0, l = e.length, c = null != t; a < l; a++)(s = e[a]) && (n && !n(s, i, o) || (r.push(s), c && t.push(a)));
return r
}
function u(e, t, n, i, o, s) {
return i && !i[N] && (i = u(i)), o && !o[N] && (o = u(o, s)), _(function(s, r, a, l) {
var c, u, p, f = [],
g = [],
m = r.length,
v = s || h(t || "*", a.nodeType ? [a] : a, []),
y = !e || !s && t ? v : d(v, f, e, a, l),
b = n ? o || (s ? e : m || i) ? [] : r : y;
if(n && n(y, b, a, l), i)
for(c = d(b, g), i(c, [], a, l), u = c.length; u--;)(p = c[u]) && (b[g[u]] = !(y[g[u]] = p));
if(s) {
if(o || e) {
if(o) {
for(c = [], u = b.length; u--;)(p = b[u]) && c.push(y[u] = p);
o(null, b = [], c, l)
}
for(u = b.length; u--;)(p = b[u]) && (c = o ? P.call(s, p) : f[u]) > -1 && (s[c] = !(r[c] = p))
}
} else b = d(b === r ? b.splice(m, b.length) : b), o ? o(null, r, b, l) : M.apply(r, b)
})
}
function p(e) {
for(var t, n, i, o = e.length, s = b.relative[e[0].type], r = s || b.relative[" "], a = s ? 1 : 0, d = l(function(e) {
return e === t
}, r, !0), f = l(function(e) {
return P.call(t, e) > -1
}, r, !0), h = [function(e, n, i) {
return !s && (i || n !== C) || ((t = n).nodeType ? d(e, n, i) : f(e, n, i))
}]; a < o; a++)
if(n = b.relative[e[a].type]) h = [l(c(h), n)];
else {
if(n = b.filter[e[a].type].apply(null, e[a].matches), n[N]) {
for(i = ++a; i < o && !b.relative[e[i].type]; i++);
return u(a > 1 && c(h), a > 1 && e.slice(0, a - 1).join("").replace(G, "$1"), n, a < i && p(e.slice(a, i)), i < o && p(e = e.slice(i)), i < o && e.join(""))
}
h.push(n)
}
return c(h)
}
function f(e, t) {
var i = t.length > 0,
o = e.length > 0,
s = function(r, a, l, c, u) {
var p, f, h, g = [],
m = 0,
y = "0",
w = r && [],
x = null != u,
k = C,
T = r || o && b.find.TAG("*", u && a.parentNode || a),
S = L += null == k ? 1 : Math.E;
for(x && (C = a !== D && a, v = s.el); null != (p = T[y]); y++) {
if(o && p) {
for(f = 0; h = e[f]; f++)
if(h(p, a, l)) {
c.push(p);
break
}
x && (L = S, v = ++s.el)
}
i && ((p = !h && p) && m--, r && w.push(p))
}
if(m += y, i && y !== m) {
for(f = 0; h = t[f]; f++) h(w, g, a, l);
if(r) {
if(m > 0)
for(; y--;) !w[y] && !g[y] && (g[y] = O.call(c));
g = d(g)
}
M.apply(c, g), x && !r && g.length > 0 && m + t.length > 1 && n.uniqueSort(c)
}
return x && (L = S, C = k), w
};
return s.el = 0, i ? _(s) : s
}
function h(e, t, i) {
for(var o = 0, s = t.length; o < s; o++) n(e, t[o], i);
return i
}
function g(e, t, n, i, o) {
var s, r, l, c, d, u = a(e);
u.length;
if(!i && 1 === u.length) {
if(r = u[0] = u[0].slice(0), r.length > 2 && "ID" === (l = r[0]).type && 9 === t.nodeType && !o && b.relative[r[1].type]) {
if(t = b.find.ID(l.matches[0].replace(re, ""), t, o)[0], !t) return n;
e = e.slice(r.shift().length)
}
for(s = ae.POS.test(e) ? -1 : r.length - 1; s >= 0 && (l = r[s], !b.relative[c = l.type]); s--)
if((d = b.find[c]) && (i = d(l.matches[0].replace(re, ""), ie.test(r[0].type) && t.parentNode || t, o))) {
if(r.splice(s, 1), e = i.length && r.join(""), !e) return M.apply(n, I.call(i, 0)), n;
break
}
}
return T(e, u)(i, t, o, n, ie.test(e)), n
}
function m() {}
var v, y, b, w, x, k, T, S, $, C, A = !0,
E = "undefined",
N = ("sizcache" + Math.random()).replace(".", ""),
j = String,
D = e.document,
H = D.documentElement,
L = 0,
z = 0,
O = [].pop,
M = [].push,
I = [].slice,
P = [].indexOf || function(e) {
for(var t = 0, n = this.length; t < n; t++)
if(this[t] === e) return t;
return -1
},
_ = function(e, t) {
return e[N] = null == t || t, e
},
q = function() {
var e = {},
t = [];
return _(function(n, i) {
return t.push(n) > b.cacheLength && delete e[t.shift()], e[n + " "] = i
}, e)
},
F = q(),
B = q(),
W = q(),
R = "[\\x20\\t\\r\\n\\f]",
U = "(?:\\\\.|[-\\w]|[^\\x00-\\xa0])+",
X = U.replace("w", "w#"),
Q = "([*^$|!~]?=)",
V = "\\[" + R + "*(" + U + ")" + R + "*(?:" + Q + R + "*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|(" + X + ")|)|)" + R + "*\\]",
Y = ":(" + U + ")(?:\\((?:(['\"])((?:\\\\.|[^\\\\])*?)\\2|([^()[\\]]*|(?:(?:" + V + ")|[^:]|\\\\.)*|.*))\\)|)",
K = ":(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + R + "*((?:-\\d)?\\d*)" + R + "*\\)|)(?=[^-]|$)",
G = new RegExp("^" + R + "+|((?:^|[^\\\\])(?:\\\\.)*)" + R + "+$", "g"),
Z = new RegExp("^" + R + "*," + R + "*"),
ee = new RegExp("^" + R + "*([\\x20\\t\\r\\n\\f>+~])" + R + "*"),
te = new RegExp(Y),
ne = /^(?:#([\w\-]+)|(\w+)|\.([\w\-]+))$/,
ie = /[\x20\t\r\n\f]*[+~]/,
oe = /h\d/i,
se = /input|select|textarea|button/i,
re = /\\(?!\\)/g,
ae = {
ID: new RegExp("^#(" + U + ")"),
CLASS: new RegExp("^\\.(" + U + ")"),
NAME: new RegExp("^\\[name=['\"]?(" + U + ")['\"]?\\]"),
TAG: new RegExp("^(" + U.replace("w", "w*") + ")"),
ATTR: new RegExp("^" + V),
PSEUDO: new RegExp("^" + Y),
POS: new RegExp(K, "i"),
CHILD: new RegExp("^:(only|nth|first|last)-child(?:\\(" + R + "*(even|odd|(([+-]|)(\\d*)n|)" + R + "*(?:([+-]|)" + R + "*(\\d+)|))" + R + "*\\)|)", "i"),
needsContext: new RegExp("^" + R + "*[>+~]|" + K, "i")
},
le = function(e) {
var t = D.createElement("div");
try {
return e(t)
} catch(e) {
return !1
} finally {
t = null
}
},
ce = le(function(e) {
return e.appendChild(D.createComment("")), !e.getElementsByTagName("*").length
}),
de = le(function(e) {
return e.innerHTML = "", e.firstChild && typeof e.firstChild.getAttribute !== E && "#" === e.firstChild.getAttribute("href")
}),
ue = le(function(e) {
e.innerHTML = "";
var t = typeof e.lastChild.getAttribute("multiple");
return "boolean" !== t && "string" !== t
}),
pe = le(function(e) {
return e.innerHTML = "", !(!e.getElementsByClassName || !e.getElementsByClassName("e").length) && (e.lastChild.className = "e", 2 === e.getElementsByClassName("e").length)
}),
fe = le(function(e) {
e.id = N + 0, e.innerHTML = "", H.insertBefore(e, H.firstChild);
var t = D.getElementsByName && D.getElementsByName(N).length === 2 + D.getElementsByName(N + 0).length;
return y = !D.getElementById(N), H.removeChild(e), t
});
try {
I.call(H.childNodes, 0)[0].nodeType
} catch(e) {
I = function(e) {
for(var t, n = []; t = this[e]; e++) n.push(t);
return n
}
}
n.matches = function(e, t) {
return n(e, null, null, t)
}, n.matchesSelector = function(e, t) {
return n(t, null, null, [e]).length > 0
}, w = n.getText = function(e) {
var t, n = "",
i = 0,
o = e.nodeType;
if(o) {
if(1 === o || 9 === o || 11 === o) {
if("string" == typeof e.textContent) return e.textContent;
for(e = e.firstChild; e; e = e.nextSibling) n += w(e)
} else if(3 === o || 4 === o) return e.nodeValue
} else
for(; t = e[i]; i++) n += w(t);
return n
}, x = n.isXML = function(e) {
var t = e && (e.ownerDocument || e).documentElement;
return !!t && "HTML" !== t.nodeName
}, k = n.contains = H.contains ? function(e, t) {
var n = 9 === e.nodeType ? e.documentElement : e,
i = t && t.parentNode;
return e === i || !!(i && 1 === i.nodeType && n.contains && n.contains(i))
} : H.compareDocumentPosition ? function(e, t) {
return t && !!(16 & e.compareDocumentPosition(t))
} : function(e, t) {
for(; t = t.parentNode;)
if(t === e) return !0;
return !1
}, n.attr = function(e, t) {
var n, i = x(e);
return i || (t = t.toLowerCase()), (n = b.attrHandle[t]) ? n(e) : i || ue ? e.getAttribute(t) : (n = e.getAttributeNode(t), n ? "boolean" == typeof e[t] ? e[t] ? t : null : n.specified ? n.value : null : null)
}, b = n.selectors = {
cacheLength: 50,
createPseudo: _,
match: ae,
attrHandle: de ? {} : {
href: function(e) {
return e.getAttribute("href", 2)
},
type: function(e) {
return e.getAttribute("type")
}
},
find: {
ID: y ? function(e, t, n) {
if(typeof t.getElementById !== E && !n) {
var i = t.getElementById(e);
return i && i.parentNode ? [i] : []
}
} : function(e, n, i) {
if(typeof n.getElementById !== E && !i) {
var o = n.getElementById(e);
return o ? o.id === e || typeof o.getAttributeNode !== E && o.getAttributeNode("id").value === e ? [o] : t : []
}
},
TAG: ce ? function(e, t) {
if(typeof t.getElementsByTagName !== E) return t.getElementsByTagName(e)
} : function(e, t) {
var n = t.getElementsByTagName(e);
if("*" === e) {
for(var i, o = [], s = 0; i = n[s]; s++) 1 === i.nodeType && o.push(i);
return o
}
return n
},
NAME: fe && function(e, t) {
if(typeof t.getElementsByName !== E) return t.getElementsByName(name)
},
CLASS: pe && function(e, t, n) {
if(typeof t.getElementsByClassName !== E && !n) return t.getElementsByClassName(e)
}
},
relative: {
">": {
dir: "parentNode",
first: !0
},
" ": {
dir: "parentNode"
},
"+": {
dir: "previousSibling",
first: !0
},
"~": {
dir: "previousSibling"
}
},
preFilter: {
ATTR: function(e) {
return e[1] = e[1].replace(re, ""), e[3] = (e[4] || e[5] || "").replace(re, ""), "~=" === e[2] && (e[3] = " " + e[3] + " "), e.slice(0, 4)
},
CHILD: function(e) {
return e[1] = e[1].toLowerCase(), "nth" === e[1] ? (e[2] || n.error(e[0]), e[3] = +(e[3] ? e[4] + (e[5] || 1) : 2 * ("even" === e[2] || "odd" === e[2])), e[4] = +(e[6] + e[7] || "odd" === e[2])) : e[2] && n.error(e[0]), e
},
PSEUDO: function(e) {
var t, n;
return ae.CHILD.test(e[0]) ? null : (e[3] ? e[2] = e[3] : (t = e[4]) && (te.test(t) && (n = a(t, !0)) && (n = t.indexOf(")", t.length - n) - t.length) && (t = t.slice(0, n), e[0] = e[0].slice(0, n)), e[2] = t), e.slice(0, 3))
}
},
filter: {
ID: y ? function(e) {
return e = e.replace(re, ""),
function(t) {
return t.getAttribute("id") === e
}
} : function(e) {
return e = e.replace(re, ""),
function(t) {
var n = typeof t.getAttributeNode !== E && t.getAttributeNode("id");
return n && n.value === e
}
},
TAG: function(e) {
return "*" === e ? function() {
return !0
} : (e = e.replace(re, "").toLowerCase(), function(t) {
return t.nodeName && t.nodeName.toLowerCase() === e
})
},
CLASS: function(e) {
var t = F[N][e + " "];
return t || (t = new RegExp("(^|" + R + ")" + e + "(" + R + "|$)")) && F(e, function(e) {
return t.test(e.className || typeof e.getAttribute !== E && e.getAttribute("class") || "")
})
},
ATTR: function(e, t, i) {
return function(o, s) {
var r = n.attr(o, e);
return null == r ? "!=" === t : !t || (r += "", "=" === t ? r === i : "!=" === t ? r !== i : "^=" === t ? i && 0 === r.indexOf(i) : "*=" === t ? i && r.indexOf(i) > -1 : "$=" === t ? i && r.substr(r.length - i.length) === i : "~=" === t ? (" " + r + " ").indexOf(i) > -1 : "|=" === t && (r === i || r.substr(0, i.length + 1) === i + "-"))
}
},
CHILD: function(e, t, n, i) {
return "nth" === e ? function(e) {
var t, o, s = e.parentNode;
if(1 === n && 0 === i) return !0;
if(s)
for(o = 0, t = s.firstChild; t && (1 !== t.nodeType || (o++, e !== t)); t = t.nextSibling);
return o -= i, o === n || o % n === 0 && o / n >= 0
} : function(t) {
var n = t;
switch(e) {
case "only":
case "first":
for(; n = n.previousSibling;)
if(1 === n.nodeType) return !1;
if("first" === e) return !0;
n = t;
case "last":
for(; n = n.nextSibling;)
if(1 === n.nodeType) return !1;
return !0
}
}
},
PSEUDO: function(e, t) {
var i, o = b.pseudos[e] || b.setFilters[e.toLowerCase()] || n.error("unsupported pseudo: " + e);
return o[N] ? o(t) : o.length > 1 ? (i = [e, e, "", t], b.setFilters.hasOwnProperty(e.toLowerCase()) ? _(function(e, n) {
for(var i, s = o(e, t), r = s.length; r--;) i = P.call(e, s[r]), e[i] = !(n[i] = s[r])
}) : function(e) {
return o(e, 0, i)
}) : o
}
},
pseudos: {
not: _(function(e) {
var t = [],
n = [],
i = T(e.replace(G, "$1"));
return i[N] ? _(function(e, t, n, o) {
for(var s, r = i(e, null, o, []), a = e.length; a--;)(s = r[a]) && (e[a] = !(t[a] = s))
}) : function(e, o, s) {
return t[0] = e, i(t, null, s, n), !n.pop()
}
}),
has: _(function(e) {
return function(t) {
return n(e, t).length > 0
}
}),
contains: _(function(e) {
return function(t) {
return(t.textContent || t.innerText || w(t)).indexOf(e) > -1
}
}),
enabled: function(e) {
return e.disabled === !1
},
disabled: function(e) {
return e.disabled === !0
},
checked: function(e) {
var t = e.nodeName.toLowerCase();
return "input" === t && !!e.checked || "option" === t && !!e.selected
},
selected: function(e) {
return e.parentNode && e.parentNode.selectedIndex, e.selected === !0
},
parent: function(e) {
return !b.pseudos.empty(e)
},
empty: function(e) {
var t;
for(e = e.firstChild; e;) {
if(e.nodeName > "@" || 3 === (t = e.nodeType) || 4 === t) return !1;
e = e.nextSibling
}
return !0
},
header: function(e) {
return oe.test(e.nodeName)
},
text: function(e) {
var t, n;
return "input" === e.nodeName.toLowerCase() && "text" === (t = e.type) && (null == (n = e.getAttribute("type")) || n.toLowerCase() === t)
},
radio: i("radio"),
checkbox: i("checkbox"),
file: i("file"),
password: i("password"),
image: i("image"),
submit: o("submit"),
reset: o("reset"),
button: function(e) {
var t = e.nodeName.toLowerCase();
return "input" === t && "button" === e.type || "button" === t
},
input: function(e) {
return se.test(e.nodeName)
},
focus: function(e) {
var t = e.ownerDocument;
return e === t.activeElement && (!t.hasFocus || t.hasFocus()) && !!(e.type || e.href || ~e.tabIndex)
},
active: function(e) {
return e === e.ownerDocument.activeElement
},
first: s(function() {
return [0]
}),
last: s(function(e, t) {
return [t - 1]
}),
eq: s(function(e, t, n) {
return [n < 0 ? n + t : n]
}),
even: s(function(e, t) {
for(var n = 0; n < t; n += 2) e.push(n);
return e
}),
odd: s(function(e, t) {
for(var n = 1; n < t; n += 2) e.push(n);
return e
}),
lt: s(function(e, t, n) {
for(var i = n < 0 ? n + t : n; --i >= 0;) e.push(i);
return e
}),
gt: s(function(e, t, n) {
for(var i = n < 0 ? n + t : n; ++i < t;) e.push(i);
return e
})
}
}, S = H.compareDocumentPosition ? function(e, t) {
return e === t ? ($ = !0, 0) : (e.compareDocumentPosition && t.compareDocumentPosition ? 4 & e.compareDocumentPosition(t) : e.compareDocumentPosition) ? -1 : 1
} : function(e, t) {
if(e === t) return $ = !0, 0;
if(e.sourceIndex && t.sourceIndex) return e.sourceIndex - t.sourceIndex;
var n, i, o = [],
s = [],
a = e.parentNode,
l = t.parentNode,
c = a;
if(a === l) return r(e, t);
if(!a) return -1;
if(!l) return 1;
for(; c;) o.unshift(c), c = c.parentNode;
for(c = l; c;) s.unshift(c), c = c.parentNode;
n = o.length, i = s.length;
for(var d = 0; d < n && d < i; d++)
if(o[d] !== s[d]) return r(o[d], s[d]);
return d === n ? r(e, s[d], -1) : r(o[d], t, 1)
}, [0, 0].sort(S), A = !$, n.uniqueSort = function(e) {
var t, n = [],
i = 1,
o = 0;
if($ = A, e.sort(S), $) {
for(; t = e[i]; i++) t === e[i - 1] && (o = n.push(i));
for(; o--;) e.splice(n[o], 1)
}
return e
}, n.error = function(e) {
throw new Error("Syntax error, unrecognized expression: " + e)
}, T = n.compile = function(e, t) {
var n, i = [],
o = [],
s = W[N][e + " "];
if(!s) {
for(t || (t = a(e)), n = t.length; n--;) s = p(t[n]), s[N] ? i.push(s) : o.push(s);
s = W(e, f(o, i))
}
return s
}, D.querySelectorAll && function() {
var e, t = g,
i = /'|\\/g,
o = /\=[\x20\t\r\n\f]*([^'"\]]*)[\x20\t\r\n\f]*\]/g,
s = [":focus"],
r = [":active"],
l = H.matchesSelector || H.mozMatchesSelector || H.webkitMatchesSelector || H.oMatchesSelector || H.msMatchesSelector;
le(function(e) {
e.innerHTML = "", e.querySelectorAll("[selected]").length || s.push("\\[" + R + "*(?:checked|disabled|ismap|multiple|readonly|selected|value)"), e.querySelectorAll(":checked").length || s.push(":checked")
}), le(function(e) {
e.innerHTML = "", e.querySelectorAll("[test^='']").length && s.push("[*^$]=" + R + "*(?:\"\"|'')"), e.innerHTML = "", e.querySelectorAll(":enabled").length || s.push(":enabled", ":disabled")
}), s = new RegExp(s.join("|")), g = function(e, n, o, r, l) {
if(!r && !l && !s.test(e)) {
var c, d, u = !0,
p = N,
f = n,
h = 9 === n.nodeType && e;
if(1 === n.nodeType && "object" !== n.nodeName.toLowerCase()) {
for(c = a(e), (u = n.getAttribute("id")) ? p = u.replace(i, "\\$&") : n.setAttribute("id", p), p = "[id='" + p + "'] ", d = c.length; d--;) c[d] = p + c[d].join("");
f = ie.test(e) && n.parentNode || n, h = c.join(",")
}
if(h) try {
return M.apply(o, I.call(f.querySelectorAll(h), 0)), o
} catch(e) {} finally {
u || n.removeAttribute("id")
}
}
return t(e, n, o, r, l)
}, l && (le(function(t) {
e = l.call(t, "div");
try {
l.call(t, "[test!='']:sizzle"), r.push("!=", Y)
} catch(e) {}
}), r = new RegExp(r.join("|")), n.matchesSelector = function(t, i) {
if(i = i.replace(o, "='$1']"), !x(t) && !r.test(i) && !s.test(i)) try {
var a = l.call(t, i);
if(a || e || t.document && 11 !== t.document.nodeType) return a
} catch(e) {}
return n(i, null, null, [t]).length > 0
})
}(), b.pseudos.nth = b.pseudos.eq, b.filters = m.prototype = b.pseudos, b.setFilters = new m, n.attr = J.attr, J.find = n, J.expr = n.selectors, J.expr[":"] = J.expr.pseudos, J.unique = n.uniqueSort, J.text = n.getText, J.isXMLDoc = n.isXML, J.contains = n.contains
}(e);
var ze = /Until$/,
Oe = /^(?:parents|prev(?:Until|All))/,
Me = /^.[^:#\[\.,]*$/,
Ie = J.expr.match.needsContext,
Pe = {
children: !0,
contents: !0,
next: !0,
prev: !0
};
J.fn.extend({
find: function(e) {
var t, n, i, o, s, r, a = this;
if("string" != typeof e) return J(e).filter(function() {
for(t = 0, n = a.length; t < n; t++)
if(J.contains(a[t], this)) return !0
});
for(r = this.pushStack("", "find", e), t = 0, n = this.length; t < n; t++)
if(i = r.length, J.find(e, this[t], r), t > 0)
for(o = i; o < r.length; o++)
for(s = 0; s < i; s++)
if(r[s] === r[o]) {
r.splice(o--, 1);
break
}
return r
},
has: function(e) {
var t, n = J(e, this),
i = n.length;
return this.filter(function() {
for(t = 0; t < i; t++)
if(J.contains(this, n[t])) return !0
})
},
not: function(e) {
return this.pushStack(c(this, e, !1), "not", e)
},
filter: function(e) {
return this.pushStack(c(this, e, !0), "filter", e)
},
is: function(e) {
return !!e && ("string" == typeof e ? Ie.test(e) ? J(e, this.context).index(this[0]) >= 0 : J.filter(e, this).length > 0 : this.filter(e).length > 0)
},
closest: function(e, t) {
for(var n, i = 0, o = this.length, s = [], r = Ie.test(e) || "string" != typeof e ? J(e, t || this.context) : 0; i < o; i++)
for(n = this[i]; n && n.ownerDocument && n !== t && 11 !== n.nodeType;) {
if(r ? r.index(n) > -1 : J.find.matchesSelector(n, e)) {
s.push(n);
break
}
n = n.parentNode
}
return s = s.length > 1 ? J.unique(s) : s, this.pushStack(s, "closest", e)
},
index: function(e) {
return e ? "string" == typeof e ? J.inArray(this[0], J(e)) : J.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 ? J(e, t) : J.makeArray(e && e.nodeType ? [e] : e),
i = J.merge(this.get(), n);
return this.pushStack(a(n[0]) || a(i[0]) ? i : J.unique(i))
},
addBack: function(e) {
return this.add(null == e ? this.prevObject : this.prevObject.filter(e))
}
}), J.fn.andSelf = J.fn.addBack, J.each({
parent: function(e) {
var t = e.parentNode;
return t && 11 !== t.nodeType ? t : null
},
parents: function(e) {
return J.dir(e, "parentNode")
},
parentsUntil: function(e, t, n) {
return J.dir(e, "parentNode", n)
},
next: function(e) {
return l(e, "nextSibling")
},
prev: function(e) {
return l(e, "previousSibling")
},
nextAll: function(e) {
return J.dir(e, "nextSibling")
},
prevAll: function(e) {
return J.dir(e, "previousSibling")
},
nextUntil: function(e, t, n) {
return J.dir(e, "nextSibling", n)
},
prevUntil: function(e, t, n) {
return J.dir(e, "previousSibling", n)
},
siblings: function(e) {
return J.sibling((e.parentNode || {}).firstChild, e)
},
children: function(e) {
return J.sibling(e.firstChild)
},
contents: function(e) {
return J.nodeName(e, "iframe") ? e.contentDocument || e.contentWindow.document : J.merge([], e.childNodes)
}
}, function(e, t) {
J.fn[e] = function(n, i) {
var o = J.map(this, t, n);
return ze.test(e) || (i = n), i && "string" == typeof i && (o = J.filter(i, o)), o = this.length > 1 && !Pe[e] ? J.unique(o) : o, this.length > 1 && Oe.test(e) && (o = o.reverse()), this.pushStack(o, e, Q.call(arguments).join(","))
}
}), J.extend({
filter: function(e, t, n) {
return n && (e = ":not(" + e + ")"), 1 === t.length ? J.find.matchesSelector(t[0], e) ? [t[0]] : [] : J.find.matches(e, t)
},
dir: function(e, n, i) {
for(var o = [], s = e[n]; s && 9 !== s.nodeType && (i === t || 1 !== s.nodeType || !J(s).is(i));) 1 === s.nodeType && o.push(s), s = s[n];
return o
},
sibling: function(e, t) {
for(var n = []; e; e = e.nextSibling) 1 === e.nodeType && e !== t && n.push(e);
return n
}
});
var _e = "abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",
qe = / jQuery\d+="(?:null|\d+)"/g,
Fe = /^\s+/,
Be = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,
We = /<([\w:]+)/,
Re = /]", "i"),
Ye = /^(?:checkbox|radio)$/,
Ke = /checked\s*(?:[^=]|=\s*.checked.)/i,
Ge = /\/(java|ecma)script/i,
Je = /^\s*\s*$/g,
Ze = {
option: [1, ""],
legend: [1, ""],
thead: [1, ""],
tr: [2, ""],
td: [3, ""],
col: [2, ""],
area: [1, ""],
_default: [0, "", ""]
},
et = d(F),
tt = et.appendChild(F.createElement("div"));
Ze.optgroup = Ze.option, Ze.tbody = Ze.tfoot = Ze.colgroup = Ze.caption = Ze.thead, Ze.th = Ze.td, J.support.htmlSerialize || (Ze._default = [1, "X", "
"]), J.fn.extend({
text: function(e) {
return J.access(this, function(e) {
return e === t ? J.text(this) : this.empty().append((this[0] && this[0].ownerDocument || F).createTextNode(e))
}, null, e, arguments.length)
},
wrapAll: function(e) {
if(J.isFunction(e)) return this.each(function(t) {
J(this).wrapAll(e.call(this, t))
});
if(this[0]) {
var t = J(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 J.isFunction(e) ? this.each(function(t) {
J(this).wrapInner(e.call(this, t))
}) : this.each(function() {
var t = J(this),
n = t.contents();
n.length ? n.wrapAll(e) : t.append(e)
})
},
wrap: function(e) {
var t = J.isFunction(e);
return this.each(function(n) {
J(this).wrapAll(t ? e.call(this, n) : e)
})
},
unwrap: function() {
return this.parent().each(function() {
J.nodeName(this, "body") || J(this).replaceWith(this.childNodes)
}).end()
},
append: function() {
return this.domManip(arguments, !0, function(e) {
(1 === this.nodeType || 11 === this.nodeType) && this.appendChild(e)
})
},
prepend: function() {
return this.domManip(arguments, !0, function(e) {
(1 === this.nodeType || 11 === this.nodeType) && this.insertBefore(e, this.firstChild)
})
},
before: function() {
if(!a(this[0])) return this.domManip(arguments, !1, function(e) {
this.parentNode.insertBefore(e, this)
});
if(arguments.length) {
var e = J.clean(arguments);
return this.pushStack(J.merge(e, this), "before", this.selector)
}
},
after: function() {
if(!a(this[0])) return this.domManip(arguments, !1, function(e) {
this.parentNode.insertBefore(e, this.nextSibling)
});
if(arguments.length) {
var e = J.clean(arguments);
return this.pushStack(J.merge(this, e), "after", this.selector)
}
},
remove: function(e, t) {
for(var n, i = 0; null != (n = this[i]); i++) e && !J.filter(e, [n]).length || (!t && 1 === n.nodeType && (J.cleanData(n.getElementsByTagName("*")), J.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 && J.cleanData(e.getElementsByTagName("*")); e.firstChild;) e.removeChild(e.firstChild);
return this
},
clone: function(e, t) {
return e = null != e && e, t = null == t ? e : t, this.map(function() {
return J.clone(this, e, t)
})
},
html: function(e) {
return J.access(this, function(e) {
var n = this[0] || {},
i = 0,
o = this.length;
if(e === t) return 1 === n.nodeType ? n.innerHTML.replace(qe, "") : t;
if("string" == typeof e && !Xe.test(e) && (J.support.htmlSerialize || !Ve.test(e)) && (J.support.leadingWhitespace || !Fe.test(e)) && !Ze[(We.exec(e) || ["", ""])[1].toLowerCase()]) {
e = e.replace(Be, "<$1>$2>");
try {
for(; i < o; i++) n = this[i] || {}, 1 === n.nodeType && (J.cleanData(n.getElementsByTagName("*")), n.innerHTML = e);
n = 0
} catch(e) {}
}
n && this.empty().append(e)
}, null, e, arguments.length)
},
replaceWith: function(e) {
return a(this[0]) ? this.length ? this.pushStack(J(J.isFunction(e) ? e() : e), "replaceWith", e) : this : J.isFunction(e) ? this.each(function(t) {
var n = J(this),
i = n.html();
n.replaceWith(e.call(this, t, i))
}) : ("string" != typeof e && (e = J(e).detach()), this.each(function() {
var t = this.nextSibling,
n = this.parentNode;
J(this).remove(), t ? J(t).before(e) : J(n).append(e)
}))
},
detach: function(e) {
return this.remove(e, !0)
},
domManip: function(e, n, i) {
e = [].concat.apply([], e);
var o, s, r, a, l = 0,
c = e[0],
d = [],
p = this.length;
if(!J.support.checkClone && p > 1 && "string" == typeof c && Ke.test(c)) return this.each(function() {
J(this).domManip(e, n, i)
});
if(J.isFunction(c)) return this.each(function(o) {
var s = J(this);
e[0] = c.call(this, o, n ? s.html() : t), s.domManip(e, n, i)
});
if(this[0]) {
if(o = J.buildFragment(e, this, d), r = o.fragment, s = r.firstChild, 1 === r.childNodes.length && (r = s), s)
for(n = n && J.nodeName(s, "tr"), a = o.cacheable || p - 1; l < p; l++) i.call(n && J.nodeName(this[l], "table") ? u(this[l], "tbody") : this[l], l === a ? r : J.clone(r, !0, !0));
r = s = null, d.length && J.each(d, function(e, t) {
t.src ? J.ajax ? J.ajax({
url: t.src,
type: "GET",
dataType: "script",
async: !1,
global: !1,
throws: !0
}) : J.error("no ajax") : J.globalEval((t.text || t.textContent || t.innerHTML || "").replace(Je, "")), t.parentNode && t.parentNode.removeChild(t)
})
}
return this
}
}), J.buildFragment = function(e, n, i) {
var o, s, r, a = e[0];
return n = n || F, n = !n.nodeType && n[0] || n, n = n.ownerDocument || n, 1 === e.length && "string" == typeof a && a.length < 512 && n === F && "<" === a.charAt(0) && !Qe.test(a) && (J.support.checkClone || !Ke.test(a)) && (J.support.html5Clone || !Ve.test(a)) && (s = !0, o = J.fragments[a], r = o !== t), o || (o = n.createDocumentFragment(), J.clean(e, n, o, i), s && (J.fragments[a] = r && o)), {
fragment: o,
cacheable: s
}
}, J.fragments = {}, J.each({
appendTo: "append",
prependTo: "prepend",
insertBefore: "before",
insertAfter: "after",
replaceAll: "replaceWith"
}, function(e, t) {
J.fn[e] = function(n) {
var i, o = 0,
s = [],
r = J(n),
a = r.length,
l = 1 === this.length && this[0].parentNode;
if((null == l || l && 11 === l.nodeType && 1 === l.childNodes.length) && 1 === a) return r[t](this[0]), this;
for(; o < a; o++) i = (o > 0 ? this.clone(!0) : this).get(), J(r[o])[t](i), s = s.concat(i);
return this.pushStack(s, e, r.selector)
}
}), J.extend({
clone: function(e, t, n) {
var i, o, s, r;
if(J.support.html5Clone || J.isXMLDoc(e) || !Ve.test("<" + e.nodeName + ">") ? r = e.cloneNode(!0) : (tt.innerHTML = e.outerHTML, tt.removeChild(r = tt.firstChild)), !(J.support.noCloneEvent && J.support.noCloneChecked || 1 !== e.nodeType && 11 !== e.nodeType || J.isXMLDoc(e)))
for(f(e, r), i = h(e), o = h(r), s = 0; i[s]; ++s) o[s] && f(i[s], o[s]);
if(t && (p(e, r), n))
for(i = h(e), o = h(r), s = 0; i[s]; ++s) p(i[s], o[s]);
return i = o = null, r
},
clean: function(e, t, n, i) {
var o, s, r, a, l, c, u, p, f, h, m, v = t === F && et,
y = [];
for(t && "undefined" != typeof t.createDocumentFragment || (t = F), o = 0; null != (r = e[o]); o++)
if("number" == typeof r && (r += ""), r) {
if("string" == typeof r)
if(Ue.test(r)) {
for(v = v || d(t), u = t.createElement("div"), v.appendChild(u), r = r.replace(Be, "<$1>$2>"), a = (We.exec(r) || ["", ""])[1].toLowerCase(), l = Ze[a] || Ze._default, c = l[0], u.innerHTML = l[1] + r + l[2]; c--;) u = u.lastChild;
if(!J.support.tbody)
for(p = Re.test(r), f = "table" !== a || p ? "" !== l[1] || p ? [] : u.childNodes : u.firstChild && u.firstChild.childNodes, s = f.length - 1; s >= 0; --s) J.nodeName(f[s], "tbody") && !f[s].childNodes.length && f[s].parentNode.removeChild(f[s]);
!J.support.leadingWhitespace && Fe.test(r) && u.insertBefore(t.createTextNode(Fe.exec(r)[0]), u.firstChild), r = u.childNodes, u.parentNode.removeChild(u)
} else r = t.createTextNode(r);
r.nodeType ? y.push(r) : J.merge(y, r)
}
if(u && (r = u = v = null), !J.support.appendChecked)
for(o = 0; null != (r = y[o]); o++) J.nodeName(r, "input") ? g(r) : "undefined" != typeof r.getElementsByTagName && J.grep(r.getElementsByTagName("input"), g);
if(n)
for(h = function(e) {
if(!e.type || Ge.test(e.type)) return i ? i.push(e.parentNode ? e.parentNode.removeChild(e) : e) : n.appendChild(e)
}, o = 0; null != (r = y[o]); o++) J.nodeName(r, "script") && h(r) || (n.appendChild(r), "undefined" != typeof r.getElementsByTagName && (m = J.grep(J.merge([], r.getElementsByTagName("script")), h), y.splice.apply(y, [o + 1, 0].concat(m)), o += m.length));
return y
},
cleanData: function(e, t) {
for(var n, i, o, s, r = 0, a = J.expando, l = J.cache, c = J.support.deleteExpando, d = J.event.special; null != (o = e[r]); r++)
if((t || J.acceptData(o)) && (i = o[a], n = i && l[i])) {
if(n.events)
for(s in n.events) d[s] ? J.event.remove(o, s) : J.removeEvent(o, s, n.handle);
l[i] && (delete l[i], c ? delete o[a] : o.removeAttribute ? o.removeAttribute(a) : o[a] = null, J.deletedIds.push(i))
}
}
}),
function() {
var e, t;
J.uaMatch = function(e) {
e = e.toLowerCase();
var t = /(chrome)[ \/]([\w.]+)/.exec(e) || /(webkit)[ \/]([\w.]+)/.exec(e) || /(opera)(?:.*version|)[ \/]([\w.]+)/.exec(e) || /(msie) ([\w.]+)/.exec(e) || e.indexOf("compatible") < 0 && /(mozilla)(?:.*? rv:([\w.]+)|)/.exec(e) || [];
return {
browser: t[1] || "",
version: t[2] || "0"
}
}, e = J.uaMatch(W.userAgent), t = {}, e.browser && (t[e.browser] = !0, t.version = e.version), t.chrome ? t.webkit = !0 : t.webkit && (t.safari = !0), J.browser = t, J.sub = function() {
function e(t, n) {
return new e.fn.init(t, n)
}
J.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, i) {
return i && i instanceof J && !(i instanceof e) && (i = e(i)), J.fn.init.call(this, n, i, t)
}, e.fn.init.prototype = e.fn;
var t = e(F);
return e
}
}();
var nt, it, ot, st = /alpha\([^)]*\)/i,
rt = /opacity=([^)]*)/,
at = /^(top|right|bottom|left)$/,
lt = /^(none|table(?!-c[ea]).+)/,
ct = /^margin/,
dt = new RegExp("^(" + Z + ")(.*)$", "i"),
ut = new RegExp("^(" + Z + ")(?!px)[a-z%]+$", "i"),
pt = new RegExp("^([-+])=(" + Z + ")", "i"),
ft = {
BODY: "block"
},
ht = {
position: "absolute",
visibility: "hidden",
display: "block"
},
gt = {
letterSpacing: 0,
fontWeight: 400
},
mt = ["Top", "Right", "Bottom", "Left"],
vt = ["Webkit", "O", "Moz", "ms"],
yt = J.fn.toggle;
J.fn.extend({
css: function(e, n) {
return J.access(this, function(e, n, i) {
return i !== t ? J.style(e, n, i) : J.css(e, n)
}, e, n, arguments.length > 1)
},
show: function() {
return y(this, !0)
},
hide: function() {
return y(this)
},
toggle: function(e, t) {
var n = "boolean" == typeof e;
return J.isFunction(e) && J.isFunction(t) ? yt.apply(this, arguments) : this.each(function() {
(n ? e : v(this)) ? J(this).show(): J(this).hide()
})
}
}), J.extend({
cssHooks: {
opacity: {
get: function(e, t) {
if(t) {
var n = nt(e, "opacity");
return "" === n ? "1" : n
}
}
}
},
cssNumber: {
fillOpacity: !0,
fontWeight: !0,
lineHeight: !0,
opacity: !0,
orphans: !0,
widows: !0,
zIndex: !0,
zoom: !0
},
cssProps: {
float: J.support.cssFloat ? "cssFloat" : "styleFloat"
},
style: function(e, n, i, o) {
if(e && 3 !== e.nodeType && 8 !== e.nodeType && e.style) {
var s, r, a, l = J.camelCase(n),
c = e.style;
if(n = J.cssProps[l] || (J.cssProps[l] = m(c, l)), a = J.cssHooks[n] || J.cssHooks[l], i === t) return a && "get" in a && (s = a.get(e, !1, o)) !== t ? s : c[n];
if(r = typeof i, "string" === r && (s = pt.exec(i)) && (i = (s[1] + 1) * s[2] + parseFloat(J.css(e, n)), r = "number"), !(null == i || "number" === r && isNaN(i) || ("number" === r && !J.cssNumber[l] && (i += "px"), a && "set" in a && (i = a.set(e, i, o)) === t))) try {
c[n] = i
} catch(e) {}
}
},
css: function(e, n, i, o) {
var s, r, a, l = J.camelCase(n);
return n = J.cssProps[l] || (J.cssProps[l] = m(e.style, l)), a = J.cssHooks[n] || J.cssHooks[l], a && "get" in a && (s = a.get(e, !0, o)), s === t && (s = nt(e, n)), "normal" === s && n in gt && (s = gt[n]), i || o !== t ? (r = parseFloat(s), i || J.isNumeric(r) ? r || 0 : s) : s
},
swap: function(e, t, n) {
var i, o, s = {};
for(o in t) s[o] = e.style[o], e.style[o] = t[o];
i = n.call(e);
for(o in t) e.style[o] = s[o];
return i
}
}), e.getComputedStyle ? nt = function(t, n) {
var i, o, s, r, a = e.getComputedStyle(t, null),
l = t.style;
return a && (i = a.getPropertyValue(n) || a[n], "" === i && !J.contains(t.ownerDocument, t) && (i = J.style(t, n)), ut.test(i) && ct.test(n) && (o = l.width, s = l.minWidth, r = l.maxWidth, l.minWidth = l.maxWidth = l.width = i, i = a.width, l.width = o, l.minWidth = s, l.maxWidth = r)), i
} : F.documentElement.currentStyle && (nt = function(e, t) {
var n, i, o = e.currentStyle && e.currentStyle[t],
s = e.style;
return null == o && s && s[t] && (o = s[t]), ut.test(o) && !at.test(t) && (n = s.left, i = e.runtimeStyle && e.runtimeStyle.left, i && (e.runtimeStyle.left = e.currentStyle.left), s.left = "fontSize" === t ? "1em" : o, o = s.pixelLeft + "px", s.left = n, i && (e.runtimeStyle.left = i)), "" === o ? "auto" : o
}), J.each(["height", "width"], function(e, t) {
J.cssHooks[t] = {
get: function(e, n, i) {
if(n) return 0 === e.offsetWidth && lt.test(nt(e, "display")) ? J.swap(e, ht, function() {
return x(e, t, i)
}) : x(e, t, i)
},
set: function(e, n, i) {
return b(e, n, i ? w(e, t, i, J.support.boxSizing && "border-box" === J.css(e, "boxSizing")) : 0)
}
}
}), J.support.opacity || (J.cssHooks.opacity = {
get: function(e, t) {
return rt.test((t && e.currentStyle ? e.currentStyle.filter : e.style.filter) || "") ? .01 * parseFloat(RegExp.$1) + "" : t ? "1" : ""
},
set: function(e, t) {
var n = e.style,
i = e.currentStyle,
o = J.isNumeric(t) ? "alpha(opacity=" + 100 * t + ")" : "",
s = i && i.filter || n.filter || "";
n.zoom = 1, t >= 1 && "" === J.trim(s.replace(st, "")) && n.removeAttribute && (n.removeAttribute("filter"), i && !i.filter) || (n.filter = st.test(s) ? s.replace(st, o) : s + " " + o)
}
}), J(function() {
J.support.reliableMarginRight || (J.cssHooks.marginRight = {
get: function(e, t) {
return J.swap(e, {
display: "inline-block"
}, function() {
if(t) return nt(e, "marginRight")
})
}
}), !J.support.pixelPosition && J.fn.position && J.each(["top", "left"], function(e, t) {
J.cssHooks[t] = {
get: function(e, n) {
if(n) {
var i = nt(e, t);
return ut.test(i) ? J(e).position()[t] + "px" : i
}
}
}
})
}), J.expr && J.expr.filters && (J.expr.filters.hidden = function(e) {
return 0 === e.offsetWidth && 0 === e.offsetHeight || !J.support.reliableHiddenOffsets && "none" === (e.style && e.style.display || nt(e, "display"))
}, J.expr.filters.visible = function(e) {
return !J.expr.filters.hidden(e)
}), J.each({
margin: "",
padding: "",
border: "Width"
}, function(e, t) {
J.cssHooks[e + t] = {
expand: function(n) {
var i, o = "string" == typeof n ? n.split(" ") : [n],
s = {};
for(i = 0; i < 4; i++) s[e + mt[i] + t] = o[i] || o[i - 2] || o[0];
return s
}
}, ct.test(e) || (J.cssHooks[e + t].set = b)
});
var bt = /%20/g,
wt = /\[\]$/,
xt = /\r?\n/g,
kt = /^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,
Tt = /^(?:select|textarea)/i;
J.fn.extend({
serialize: function() {
return J.param(this.serializeArray())
},
serializeArray: function() {
return this.map(function() {
return this.elements ? J.makeArray(this.elements) : this
}).filter(function() {
return this.name && !this.disabled && (this.checked || Tt.test(this.nodeName) || kt.test(this.type))
}).map(function(e, t) {
var n = J(this).val();
return null == n ? null : J.isArray(n) ? J.map(n, function(e, n) {
return {
name: t.name,
value: e.replace(xt, "\r\n")
}
}) : {
name: t.name,
value: n.replace(xt, "\r\n")
}
}).get()
}
}), J.param = function(e, n) {
var i, o = [],
s = function(e, t) {
t = J.isFunction(t) ? t() : null == t ? "" : t, o[o.length] = encodeURIComponent(e) + "=" + encodeURIComponent(t)
};
if(n === t && (n = J.ajaxSettings && J.ajaxSettings.traditional), J.isArray(e) || e.jquery && !J.isPlainObject(e)) J.each(e, function() {
s(this.name, this.value)
});
else
for(i in e) T(i, e[i], n, s);
return o.join("&").replace(bt, "+")
};
var St, $t, Ct = /#.*$/,
At = /^(.*?):[ \t]*([^\r\n]*)\r?$/gm,
Et = /^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,
Nt = /^(?:GET|HEAD)$/,
jt = /^\/\//,
Dt = /\?/,
Ht = /