/*!
* jQuery JavaScript Library v1.9.1
* http://jquery.com/
*
* Includes Sizzle.js
* http://sizzlejs.com/
*
* Copyright 2005, 2012 jQuery Foundation, Inc. and other contributors
* Released under the MIT license
* http://jquery.org/license
*
* Date: 2013-2-4
*/
(function(e, t) {
function P(e) {
var t = e.length,
n = b.type(e);
return b.isWindow(e) ? !1 : e.nodeType === 1 && t ? !0 : n === "array" || n !== "function" && (t === 0 || typeof t == "number" && t > 0 && t - 1 in e)
}
function B(e) {
var t = H[e] = {};
return b.each(e.match(E) || [],
function(e, n) {
t[n] = !0
}),
t
}
function I(e, n, r, i) {
if (!b.acceptData(e)) return;
var s, o, u = b.expando,
a = typeof n == "string",
f = e.nodeType,
c = f ? b.cache: e,
h = f ? e[u] : e[u] && u;
if ((!h || !c[h] || !i && !c[h].data) && a && r === t) return;
h || (f ? e[u] = h = l.pop() || b.guid++:h = u),
c[h] || (c[h] = {},
f || (c[h].toJSON = b.noop));
if (typeof n == "object" || typeof n == "function") i ? c[h] = b.extend(c[h], n) : c[h].data = b.extend(c[h].data, n);
return s = c[h],
i || (s.data || (s.data = {}), s = s.data),
r !== t && (s[b.camelCase(n)] = r),
a ? (o = s[n], o == null && (o = s[b.camelCase(n)])) : o = s,
o
}
function q(e, t, n) {
if (!b.acceptData(e)) return;
var r, i, s, o = e.nodeType,
u = o ? b.cache: e,
a = o ? e[b.expando] : b.expando;
if (!u[a]) return;
if (t) {
s = n ? u[a] : u[a].data;
if (s) {
b.isArray(t) ? t = t.concat(b.map(t, b.camelCase)) : t in s ? t = [t] : (t = b.camelCase(t), t in s ? t = [t] : t = t.split(" "));
for (r = 0, i = t.length; r < i; r++) delete s[t[r]];
if (! (n ? U: b.isEmptyObject)(s)) return
}
}
if (!n) {
delete u[a].data;
if (!U(u[a])) return
}
o ? b.cleanData([e], !0) : b.support.deleteExpando || u != u.window ? delete u[a] : u[a] = null
}
function R(e, n, r) {
if (r === t && e.nodeType === 1) {
var i = "data-" + n.replace(F, "-$1").toLowerCase();
r = e.getAttribute(i);
if (typeof r == "string") {
try {
r = r === "true" ? !0 : r === "false" ? !1 : r === "null" ? null: +r + "" === r ? +r: j.test(r) ? b.parseJSON(r) : r
} catch(s) {}
b.data(e, n, r)
} else r = t
}
return r
}
function U(e) {
var t;
for (t in e) {
if (t === "data" && b.isEmptyObject(e[t])) continue;
if (t !== "toJSON") return ! 1
}
return ! 0
}
function it() {
return ! 0
}
function st() {
return ! 1
}
function ct(e, t) {
do e = e[t];
while (e && e.nodeType !== 1);
return e
}
function ht(e, t, n) {
t = t || 0;
if (b.isFunction(t)) return b.grep(e,
function(e, r) {
var i = !!t.call(e, r, e);
return i === n
});
if (t.nodeType) return b.grep(e,
function(e) {
return e === t === n
});
if (typeof t == "string") {
var r = b.grep(e,
function(e) {
return e.nodeType === 1
});
if (at.test(t)) return b.filter(t, r, !n);
t = b.filter(t, r)
}
return b.grep(e,
function(e) {
return b.inArray(e, t) >= 0 === n
})
}
function pt(e) {
var t = dt.split("|"),
n = e.createDocumentFragment();
if (n.createElement) while (t.length) n.createElement(t.pop());
return n
}
function Mt(e, t) {
return e.getElementsByTagName(t)[0] || e.appendChild(e.ownerDocument.createElement(t))
}
function _t(e) {
var t = e.getAttributeNode("type");
return e.type = (t && t.specified) + "/" + e.type,
e
}
function Dt(e) {
var t = Ct.exec(e.type);
return t ? e.type = t[1] : e.removeAttribute("type"),
e
}
function Pt(e, t) {
var n, r = 0;
for (; (n = e[r]) != null; r++) b._data(n, "globalEval", !t || b._data(t[r], "globalEval"))
}
function Ht(e, t) {
if (t.nodeType !== 1 || !b.hasData(e)) return;
var n, r, i, s = b._data(e),
o = b._data(t, s),
u = s.events;
if (u) {
delete o.handle,
o.events = {};
for (n in u) for (r = 0, i = u[n].length; r < i; r++) b.event.add(t, n, u[n][r])
}
o.data && (o.data = b.extend({},
o.data))
}
function Bt(e, t) {
var n, r, i;
if (t.nodeType !== 1) return;
n = t.nodeName.toLowerCase();
if (!b.support.noCloneEvent && t[b.expando]) {
i = b._data(t);
for (r in i.events) b.removeEvent(t, r, i.handle);
t.removeAttribute(b.expando)
}
if (n === "script" && t.text !== e.text) _t(t).text = e.text,
Dt(t);
else if (n === "object") t.parentNode && (t.outerHTML = e.outerHTML),
b.support.html5Clone && e.innerHTML && !b.trim(t.innerHTML) && (t.innerHTML = e.innerHTML);
else if (n === "input" && xt.test(e.type)) t.defaultChecked = t.checked = e.checked,
t.value !== e.value && (t.value = e.value);
else if (n === "option") t.defaultSelected = t.selected = e.defaultSelected;
else if (n === "input" || n === "textarea") t.defaultValue = e.defaultValue
}
function jt(e, n) {
var r, s, o = 0,
u = typeof e.getElementsByTagName !== i ? e.getElementsByTagName(n || "*") : typeof e.querySelectorAll !== i ? e.querySelectorAll(n || "*") : t;
if (!u) for (u = [], r = e.childNodes || e; (s = r[o]) != null; o++) ! n || b.nodeName(s, n) ? u.push(s) : b.merge(u, jt(s, n));
return n === t || n && b.nodeName(e, n) ? b.merge([e], u) : u
}
function Ft(e) {
xt.test(e.type) && (e.defaultChecked = e.checked)
}
function tn(e, t) {
if (t in e) return t;
var n = t.charAt(0).toUpperCase() + t.slice(1),
r = t,
i = en.length;
while (i--) {
t = en[i] + n;
if (t in e) return t
}
return r
}
function nn(e, t) {
return e = t || e,
b.css(e, "display") === "none" || !b.contains(e.ownerDocument, e)
}
function rn(e, t) {
var n, r, i, s = [],
o = 0,
u = e.length;
for (; o < u; o++) {
r = e[o];
if (!r.style) continue;
s[o] = b._data(r, "olddisplay"),
n = r.style.display,
t ? (!s[o] && n === "none" && (r.style.display = ""), r.style.display === "" && nn(r) && (s[o] = b._data(r, "olddisplay", an(r.nodeName)))) : s[o] || (i = nn(r), (n && n !== "none" || !i) && b._data(r, "olddisplay", i ? n: b.css(r, "display")))
}
for (o = 0; o < u; o++) {
r = e[o];
if (!r.style) continue;
if (!t || r.style.display === "none" || r.style.display === "") r.style.display = t ? s[o] || "": "none"
}
return e
}
function sn(e, t, n) {
var r = $t.exec(t);
return r ? Math.max(0, r[1] - (n || 0)) + (r[2] || "px") : t
}
function on(e, t, n, r, i) {
var s = n === (r ? "border": "content") ? 4 : t === "width" ? 1 : 0,
o = 0;
for (; s < 4; s += 2) n === "margin" && (o += b.css(e, n + Zt[s], !0, i)),
r ? (n === "content" && (o -= b.css(e, "padding" + Zt[s], !0, i)), n !== "margin" && (o -= b.css(e, "border" + Zt[s] + "Width", !0, i))) : (o += b.css(e, "padding" + Zt[s], !0, i), n !== "padding" && (o += b.css(e, "border" + Zt[s] + "Width", !0, i)));
return o
}
function un(e, t, n) {
var r = !0,
i = t === "width" ? e.offsetWidth: e.offsetHeight,
s = qt(e),
o = b.support.boxSizing && b.css(e, "boxSizing", !1, s) === "border-box";
if (i <= 0 || i == null) {
i = Rt(e, t, s);
if (i < 0 || i == null) i = e.style[t];
if (Jt.test(i)) return i;
r = o && (b.support.boxSizingReliable || i === e.style[t]),
i = parseFloat(i) || 0
}
return i + on(e, t, n || (o ? "border": "content"), r, s) + "px"
}
function an(e) {
var t = s,
n = Qt[e];
if (!n) {
n = fn(e, t);
if (n === "none" || !n) It = (It || b("").css("cssText", "display:block !important")).appendTo(t.documentElement),
t = (It[0].contentWindow || It[0].contentDocument).document,
t.write("
"),
t.close(),
n = fn(e, t),
It.detach();
Qt[e] = n
}
return n
}
function fn(e, t) {
var n = b(t.createElement(e)).appendTo(t.body),
r = b.css(n[0], "display");
return n.remove(),
r
}
function vn(e, t, n, r) {
var i;
if (b.isArray(t)) b.each(t,
function(t, i) {
n || cn.test(e) ? r(e, i) : vn(e + "[" + (typeof i == "object" ? t: "") + "]", i, n, r)
});
else if (!n && b.type(t) === "object") for (i in t) vn(e + "[" + i + "]", t[i], n, r);
else r(e, t)
}
function _n(e) {
return function(t, n) {
typeof t != "string" && (n = t, t = "*");
var r, i = 0,
s = t.toLowerCase().match(E) || [];
if (b.isFunction(n)) while (r = s[i++]) r[0] === "+" ? (r = r.slice(1) || "*", (e[r] = e[r] || []).unshift(n)) : (e[r] = e[r] || []).push(n)
}
}
function Dn(e, t, n, r) {
function o(u) {
var a;
return i[u] = !0,
b.each(e[u] || [],
function(e, u) {
var f = u(t, n, r);
if (typeof f == "string" && !s && !i[f]) return t.dataTypes.unshift(f),
o(f),
!1;
if (s) return ! (a = f)
}),
a
}
var i = {},
s = e === An;
return o(t.dataTypes[0]) || !i["*"] && o("*")
}
function Pn(e, n) {
var r, i, s = b.ajaxSettings.flatOptions || {};
for (i in n) n[i] !== t && ((s[i] ? e: r || (r = {}))[i] = n[i]);
return r && b.extend(!0, e, r),
e
}
function Hn(e, n, r) {
var i, s, o, u, a = e.contents,
f = e.dataTypes,
l = e.responseFields;
for (u in l) u in r && (n[l[u]] = r[u]);
while (f[0] === "*") f.shift(),
s === t && (s = e.mimeType || n.getResponseHeader("Content-Type"));
if (s) for (u in a) if (a[u] && a[u].test(s)) {
f.unshift(u);
break
}
if (f[0] in r) o = f[0];
else {
for (u in r) {
if (!f[0] || e.converters[u + " " + f[0]]) {
o = u;
break
}
i || (i = u)
}
o = o || i
}
if (o) return o !== f[0] && f.unshift(o),
r[o]
}
function Bn(e, t) {
var n, r, i, s, o = {},
u = 0,
a = e.dataTypes.slice(),
f = a[0];
e.dataFilter && (t = e.dataFilter(t, e.dataType));
if (a[1]) for (i in e.converters) o[i.toLowerCase()] = e.converters[i];
for (; r = a[++u];) if (r !== "*") {
if (f !== "*" && f !== r) {
i = o[f + " " + r] || o["* " + r];
if (!i) for (n in o) {
s = n.split(" ");
if (s[1] === r) {
i = o[f + " " + s[0]] || o["* " + s[0]];
if (i) {
i === !0 ? i = o[n] : o[n] !== !0 && (r = s[0], a.splice(u--, 0, r));
break
}
}
}
if (i !== !0) if (i && e["throws"]) t = i(t);
else try {
t = i(t)
} catch(l) {
return {
state: "parsererror",
error: i ? l: "No conversion from " + f + " to " + r
}
}
}
f = r
}
return {
state: "success",
data: t
}
}
function zn() {
try {
return new e.XMLHttpRequest
} catch(t) {}
}
function Wn() {
try {
return new e.ActiveXObject("Microsoft.XMLHTTP")
} catch(t) {}
}
function Yn() {
return setTimeout(function() {
Xn = t
}),
Xn = b.now()
}
function Zn(e, t) {
b.each(t,
function(t, n) {
var r = (Gn[t] || []).concat(Gn["*"]),
i = 0,
s = r.length;
for (; i < s; i++) if (r[i].call(e, t, n)) return
})
}
function er(e, t, n) {
var r, i, s = 0,
o = Qn.length,
u = b.Deferred().always(function() {
delete a.elem
}),
a = function() {
if (i) return ! 1;
var t = Xn || Yn(),
n = Math.max(0, f.startTime + f.duration - t),
r = n / f.duration || 0,
s = 1 - r,
o = 0,
a = f.tweens.length;
for (; o < a; o++) f.tweens[o].run(s);
return u.notifyWith(e, [f, s, n]),
s < 1 && a ? n: (u.resolveWith(e, [f]), !1)
},
f = u.promise({
elem: e,
props: b.extend({},
t),
opts: b.extend(!0, {
specialEasing: {}
},
n),
originalProperties: t,
originalOptions: n,
startTime: Xn || Yn(),
duration: n.duration,
tweens: [],
createTween: function(t, n) {
var r = b.Tween(e, f.opts, t, n, f.opts.specialEasing[t] || f.opts.easing);
return f.tweens.push(r),
r
},
stop: function(t) {
var n = 0,
r = t ? f.tweens.length: 0;
if (i) return this;
i = !0;
for (; n < r; n++) f.tweens[n].run(1);
return t ? u.resolveWith(e, [f, t]) : u.rejectWith(e, [f, t]),
this
}
}),
l = f.props;
tr(l, f.opts.specialEasing);
for (; s < o; s++) {
r = Qn[s].call(f, e, l, f.opts);
if (r) return r
}
return Zn(f, l),
b.isFunction(f.opts.start) && f.opts.start.call(e, f),
b.fx.timer(b.extend(a, {
elem: e,
anim: f,
queue: f.opts.queue
})),
f.progress(f.opts.progress).done(f.opts.done, f.opts.complete).fail(f.opts.fail).always(f.opts.always)
}
function tr(e, t) {
var n, r, i, s, o;
for (i in e) {
r = b.camelCase(i),
s = t[r],
n = e[i],
b.isArray(n) && (s = n[1], n = e[i] = n[0]),
i !== r && (e[r] = n, delete e[i]),
o = b.cssHooks[r];
if (o && "expand" in o) {
n = o.expand(n),
delete e[r];
for (i in n) i in e || (e[i] = n[i], t[i] = s)
} else t[r] = s
}
}
function nr(e, t, n) {
var r, i, s, o, u, a, f, l, c, h = this,
p = e.style,
d = {},
v = [],
m = e.nodeType && nn(e);
n.queue || (l = b._queueHooks(e, "fx"), l.unqueued == null && (l.unqueued = 0, c = l.empty.fire, l.empty.fire = function() {
l.unqueued || c()
}), l.unqueued++, h.always(function() {
h.always(function() {
l.unqueued--,
b.queue(e, "fx").length || l.empty.fire()
})
})),
e.nodeType === 1 && ("height" in t || "width" in t) && (n.overflow = [p.overflow, p.overflowX, p.overflowY], b.css(e, "display") === "inline" && b.css(e, "float") === "none" && (!b.support.inlineBlockNeedsLayout || an(e.nodeName) === "inline" ? p.display = "inline-block": p.zoom = 1)),
n.overflow && (p.overflow = "hidden", b.support.shrinkWrapBlocks || h.always(function() {
p.overflow = n.overflow[0],
p.overflowX = n.overflow[1],
p.overflowY = n.overflow[2]
}));
for (i in t) {
o = t[i];
if ($n.exec(o)) {
delete t[i],
a = a || o === "toggle";
if (o === (m ? "hide": "show")) continue;
v.push(i)
}
}
s = v.length;
if (s) {
u = b._data(e, "fxshow") || b._data(e, "fxshow", {}),
"hidden" in u && (m = u.hidden),
a && (u.hidden = !m),
m ? b(e).show() : h.done(function() {
b(e).hide()
}),
h.done(function() {
var t;
b._removeData(e, "fxshow");
for (t in d) b.style(e, t, d[t])
});
for (i = 0; i < s; i++) r = v[i],
f = h.createTween(r, m ? u[r] : 0),
d[r] = u[r] || b.style(e, r),
r in u || (u[r] = f.start, m && (f.end = f.start, f.start = r === "width" || r === "height" ? 1 : 0))
}
}
function rr(e, t, n, r, i) {
return new rr.prototype.init(e, t, n, r, i)
}
function ir(e, t) {
var n, r = {
height: e
},
i = 0;
t = t ? 1 : 0;
for (; i < 4; i += 2 - t) n = Zt[i],
r["margin" + n] = r["padding" + n] = e;
return t && (r.opacity = r.width = e),
r
}
function sr(e) {
return b.isWindow(e) ? e: e.nodeType === 9 ? e.defaultView || e.parentWindow: !1
}
var n, r, i = typeof t,
s = e.document,
o = e.location,
u = e.jQuery,
a = e.$,
f = {},
l = [],
c = "1.9.1",
h = l.concat,
p = l.push,
d = l.slice,
v = l.indexOf,
m = f.toString,
g = f.hasOwnProperty,
y = c.trim,
b = function(e, t) {
return new b.fn.init(e, t, r)
},
w = /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,
E = /\S+/g,
S = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,
x = /^(?:(<[\w\W]+>)[^>]*|#([\w-]*))$/,
T = /^<(\w+)\s*\/?>(?:<\/\1>|)$/,
N = /^[\],:{}\s]*$/,
C = /(?:^|:|,)(?:\s*\[)+/g,
k = /\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g,
L = /"[^"\\\r\n]*"|true|false|null|-?(?:\d+\.|)\d+(?:[eE][+-]?\d+|)/g,
A = /^-ms-/,
O = /-([\da-z])/gi,
M = function(e, t) {
return t.toUpperCase()
},
_ = function(e) {
if (s.addEventListener || e.type === "load" || s.readyState === "complete") D(),
b.ready()
},
D = function() {
s.addEventListener ? (s.removeEventListener("DOMContentLoaded", _, !1), e.removeEventListener("load", _, !1)) : (s.detachEvent("onreadystatechange", _), e.detachEvent("onload", _))
};
b.fn = b.prototype = {
jquery: c,
constructor: b,
init: function(e, n, r) {
var i, o;
if (!e) return this;
if (typeof e == "string") {
e.charAt(0) === "<" && e.charAt(e.length - 1) === ">" && e.length >= 3 ? i = [null, e, null] : i = x.exec(e);
if (i && (i[1] || !n)) {
if (i[1]) {
n = n instanceof b ? n[0] : n,
b.merge(this, b.parseHTML(i[1], n && n.nodeType ? n.ownerDocument || n: s, !0));
if (T.test(i[1]) && b.isPlainObject(n)) for (i in n) b.isFunction(this[i]) ? this[i](n[i]) : this.attr(i, n[i]);
return this
}
o = s.getElementById(i[2]);
if (o && o.parentNode) {
if (o.id !== i[2]) return r.find(e);
this.length = 1,
this[0] = o
}
return this.context = s,
this.selector = e,
this
}
return ! n || n.jquery ? (n || r).find(e) : this.constructor(n).find(e)
}
return e.nodeType ? (this.context = this[0] = e, this.length = 1, this) : b.isFunction(e) ? r.ready(e) : (e.selector !== t && (this.selector = e.selector, this.context = e.context), b.makeArray(e, this))
},
selector: "",
length: 0,
size: function() {
return this.length
},
toArray: function() {
return d.call(this)
},
get: function(e) {
return e == null ? this.toArray() : e < 0 ? this[this.length + e] : this[e]
},
pushStack: function(e) {
var t = b.merge(this.constructor(), e);
return t.prevObject = this,
t.context = this.context,
t
},
each: function(e, t) {
return b.each(this, e, t)
},
ready: function(e) {
return b.ready.promise().done(e),
this
},
slice: function() {
return this.pushStack(d.apply(this, arguments))
},
first: function() {
return this.eq(0)
},
last: function() {
return this.eq( - 1)
},
eq: function(e) {
var t = this.length,
n = +e + (e < 0 ? t: 0);
return this.pushStack(n >= 0 && n < t ? [this[n]] : [])
},
map: function(e) {
return this.pushStack(b.map(this,
function(t, n) {
return e.call(t, n, t)
}))
},
end: function() {
return this.prevObject || this.constructor(null)
},
push: p,
sort: [].sort,
splice: [].splice
},
b.fn.init.prototype = b.fn,
b.extend = b.fn.extend = function() {
var e, n, r, i, s, o, u = arguments[0] || {},
a = 1,
f = arguments.length,
l = !1;
typeof u == "boolean" && (l = u, u = arguments[1] || {},
a = 2),
typeof u != "object" && !b.isFunction(u) && (u = {}),
f === a && (u = this, --a);
for (; a < f; a++) if ((s = arguments[a]) != null) for (i in s) {
e = u[i],
r = s[i];
if (u === r) continue;
l && r && (b.isPlainObject(r) || (n = b.isArray(r))) ? (n ? (n = !1, o = e && b.isArray(e) ? e: []) : o = e && b.isPlainObject(e) ? e: {},
u[i] = b.extend(l, o, r)) : r !== t && (u[i] = r)
}
return u
},
b.extend({
noConflict: function(t) {
return e.$ === b && (e.$ = a),
t && e.jQuery === b && (e.jQuery = u),
b
},
isReady: !1,
readyWait: 1,
holdReady: function(e) {
e ? b.readyWait++:b.ready(!0)
},
ready: function(e) {
if (e === !0 ? --b.readyWait: b.isReady) return;
if (!s.body) return setTimeout(b.ready);
b.isReady = !0;
if (e !== !0 && --b.readyWait > 0) return;
n.resolveWith(s, [b]),
b.fn.trigger && b(s).trigger("ready").off("ready")
},
isFunction: function(e) {
return b.type(e) === "function"
},
isArray: Array.isArray ||
function(e) {
return b.type(e) === "array"
},
isWindow: function(e) {
return e != null && e == e.window
},
isNumeric: function(e) {
return ! isNaN(parseFloat(e)) && isFinite(e)
},
type: function(e) {
return e == null ? String(e) : typeof e == "object" || typeof e == "function" ? f[m.call(e)] || "object": typeof e
},
isPlainObject: function(e) {
if (!e || b.type(e) !== "object" || e.nodeType || b.isWindow(e)) return ! 1;
try {
if (e.constructor && !g.call(e, "constructor") && !g.call(e.constructor.prototype, "isPrototypeOf")) return ! 1
} catch(n) {
return ! 1
}
var r;
for (r in e);
return r === t || g.call(e, r)
},
isEmptyObject: function(e) {
var t;
for (t in e) return ! 1;
return ! 0
},
error: function(e) {
throw new Error(e)
},
parseHTML: function(e, t, n) {
if (!e || typeof e != "string") return null;
typeof t == "boolean" && (n = t, t = !1),
t = t || s;
var r = T.exec(e),
i = !n && [];
return r ? [t.createElement(r[1])] : (r = b.buildFragment([e], t, i), i && b(i).remove(), b.merge([], r.childNodes))
},
parseJSON: function(t) {
if (e.JSON && e.JSON.parse) return e.JSON.parse(t);
if (t === null) return t;
if (typeof t == "string") {
t = b.trim(t);
if (t && N.test(t.replace(k, "@").replace(L, "]").replace(C, ""))) return (new Function("return " + t))()
}
b.error("Invalid JSON: " + t)
},
parseXML: function(n) {
var r, i;
if (!n || typeof n != "string") return null;
try {
e.DOMParser ? (i = new DOMParser, r = i.parseFromString(n, "text/xml")) : (r = new ActiveXObject("Microsoft.XMLDOM"), r.async = "false", r.loadXML(n))
} catch(s) {
r = t
}
return (!r || !r.documentElement || r.getElementsByTagName("parsererror").length) && b.error("Invalid XML: " + n),
r
},
noop: function() {},
globalEval: function(t) {
t && b.trim(t) && (e.execScript ||
function(t) {
e.eval.call(e, t)
})(t)
},
camelCase: function(e) {
return e.replace(A, "ms-").replace(O, M)
},
nodeName: function(e, t) {
return e.nodeName && e.nodeName.toLowerCase() === t.toLowerCase()
},
each: function(e, t, n) {
var r, i = 0,
s = e.length,
o = P(e);
if (n) if (o) for (; i < s; i++) {
r = t.apply(e[i], n);
if (r === !1) break
} else for (i in e) {
r = t.apply(e[i], n);
if (r === !1) break
} else if (o) for (; i < s; i++) {
r = t.call(e[i], i, e[i]);
if (r === !1) break
} else for (i in e) {
r = t.call(e[i], i, e[i]);
if (r === !1) break
}
return e
},
trim: y && !y.call(" ") ?
function(e) {
return e == null ? "": y.call(e)
}: function(e) {
return e == null ? "": (e + "").replace(S, "")
},
makeArray: function(e, t) {
var n = t || [];
return e != null && (P(Object(e)) ? b.merge(n, typeof e == "string" ? [e] : e) : p.call(n, e)),
n
},
inArray: function(e, t, n) {
var r;
if (t) {
if (v) return v.call(t, e, n);
r = t.length,
n = n ? n < 0 ? Math.max(0, r + n) : n: 0;
for (; n < r; n++) if (n in t && t[n] === e) return n
}
return - 1
},
merge: function(e, n) {
var r = n.length,
i = e.length,
s = 0;
if (typeof r == "number") for (; s < r; s++) e[i++] = n[s];
else while (n[s] !== t) e[i++] = n[s++];
return e.length = i,
e
},
grep: function(e, t, n) {
var r, i = [],
s = 0,
o = e.length;
n = !!n;
for (; s < o; s++) r = !!t(e[s], s),
n !== r && i.push(e[s]);
return i
},
map: function(e, t, n) {
var r, i = 0,
s = e.length,
o = P(e),
u = [];
if (o) for (; i < s; i++) r = t(e[i], i, n),
r != null && (u[u.length] = r);
else for (i in e) r = t(e[i], i, n),
r != null && (u[u.length] = r);
return h.apply([], u)
},
guid: 1,
proxy: function(e, n) {
var r, i, s;
return typeof n == "string" && (s = e[n], n = e, e = s),
b.isFunction(e) ? (r = d.call(arguments, 2), i = function() {
return e.apply(n || this, r.concat(d.call(arguments)))
},
i.guid = e.guid = e.guid || b.guid++, i) : t
},
access: function(e, n, r, i, s, o, u) {
var a = 0,
f = e.length,
l = r == null;
if (b.type(r) === "object") {
s = !0;
for (a in r) b.access(e, n, a, r[a], !0, o, u)
} else if (i !== t) {
s = !0,
b.isFunction(i) || (u = !0),
l && (u ? (n.call(e, i), n = null) : (l = n, n = function(e, t, n) {
return l.call(b(e), n)
}));
if (n) for (; a < f; a++) n(e[a], r, u ? i: i.call(e[a], a, n(e[a], r)))
}
return s ? e: l ? n.call(e) : f ? n(e[0], r) : o
},
now: function() {
return (new Date).getTime()
}
}),
b.ready.promise = function(t) {
if (!n) {
n = b.Deferred();
if (s.readyState === "complete") setTimeout(b.ready);
else if (s.addEventListener) s.addEventListener("DOMContentLoaded", _, !1),
e.addEventListener("load", _, !1);
else {
s.attachEvent("onreadystatechange", _),
e.attachEvent("onload", _);
var r = !1;
try {
r = e.frameElement == null && s.documentElement
} catch(i) {}
r && r.doScroll &&
function o() {
if (!b.isReady) {
try {
r.doScroll("left")
} catch(e) {
return setTimeout(o, 50)
}
D(),
b.ready()
}
} ()
}
}
return n.promise(t)
},
b.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),
function(e, t) {
f["[object " + t + "]"] = t.toLowerCase()
}),
r = b(s);
var H = {};
b.Callbacks = function(e) {
e = typeof e == "string" ? H[e] || B(e) : b.extend({},
e);
var n, r, i, s, o, u, a = [],
f = !e.once && [],
l = function(t) {
r = e.memory && t,
i = !0,
o = u || 0,
u = 0,
s = a.length,
n = !0;
for (; a && o < s; o++) if (a[o].apply(t[0], t[1]) === !1 && e.stopOnFalse) {
r = !1;
break
}
n = !1,
a && (f ? f.length && l(f.shift()) : r ? a = [] : c.disable())
},
c = {
add: function() {
if (a) {
var t = a.length; (function i(t) {
b.each(t,
function(t, n) {
var r = b.type(n);
r === "function" ? (!e.unique || !c.has(n)) && a.push(n) : n && n.length && r !== "string" && i(n)
})
})(arguments),
n ? s = a.length: r && (u = t, l(r))
}
return this
},
remove: function() {
return a && b.each(arguments,
function(e, t) {
var r;
while ((r = b.inArray(t, a, r)) > -1) a.splice(r, 1),
n && (r <= s && s--, r <= o && o--)
}),
this
},
has: function(e) {
return e ? b.inArray(e, a) > -1 : !!a && !!a.length
},
empty: function() {
return a = [],
this
},
disable: function() {
return a = f = r = t,
this
},
disabled: function() {
return ! a
},
lock: function() {
return f = t,
r || c.disable(),
this
},
locked: function() {
return ! f
},
fireWith: function(e, t) {
return t = t || [],
t = [e, t.slice ? t.slice() : t],
a && (!i || f) && (n ? f.push(t) : l(t)),
this
},
fire: function() {
return c.fireWith(this, arguments),
this
},
fired: function() {
return !! i
}
};
return c
},
b.extend({
Deferred: function(e) {
var t = [["resolve", "done", b.Callbacks("once memory"), "resolved"], ["reject", "fail", b.Callbacks("once memory"), "rejected"], ["notify", "progress", b.Callbacks("memory")]],
n = "pending",
r = {
state: function() {
return n
},
always: function() {
return i.done(arguments).fail(arguments),
this
},
then: function() {
var e = arguments;
return b.Deferred(function(n) {
b.each(t,
function(t, s) {
var o = s[0],
u = b.isFunction(e[t]) && e[t];
i[s[1]](function() {
var e = u && u.apply(this, arguments);
e && b.isFunction(e.promise) ? e.promise().done(n.resolve).fail(n.reject).progress(n.notify) : n[o + "With"](this === r ? n.promise() : this, u ? [e] : arguments)
})
}),
e = null
}).promise()
},
promise: function(e) {
return e != null ? b.extend(e, r) : r
}
},
i = {};
return r.pipe = r.then,
b.each(t,
function(e, s) {
var o = s[2],
u = s[3];
r[s[1]] = o.add,
u && o.add(function() {
n = u
},
t[e ^ 1][2].disable, t[2][2].lock),
i[s[0]] = function() {
return i[s[0] + "With"](this === i ? r: this, arguments),
this
},
i[s[0] + "With"] = o.fireWith
}),
r.promise(i),
e && e.call(i, i),
i
},
when: function(e) {
var t = 0,
n = d.call(arguments),
r = n.length,
i = r !== 1 || e && b.isFunction(e.promise) ? r: 0,
s = i === 1 ? e: b.Deferred(),
o = function(e, t, n) {
return function(r) {
t[e] = this,
n[e] = arguments.length > 1 ? d.call(arguments) : r,
n === u ? s.notifyWith(t, n) : --i || s.resolveWith(t, n)
}
},
u,
a,
f;
if (r > 1) {
u = new Array(r),
a = new Array(r),
f = new Array(r);
for (; t < r; t++) n[t] && b.isFunction(n[t].promise) ? n[t].promise().done(o(t, f, n)).fail(s.reject).progress(o(t, a, u)) : --i
}
return i || s.resolveWith(f, n),
s.promise()
}
}),
b.support = function() {
var t, n, r, o, u, a, f, l, c, h, p = s.createElement("div");
p.setAttribute("className", "t"),
p.innerHTML = "