Team:OUC-China/js/jquery.min.js

! function(t, e) { "object" == typeof module && "object" == typeof module.exports ? module.exports = t.document ? e(t, !0) : function(t) { if (!t.document) throw new Error("jQuery requires a window with a document"); return e(t) } : e(t) }("undefined" != typeof window ? window : this, function(t, e) { function n(t) { var e = "length" in t && t.length, n = Z.type(t); return "function" === n || Z.isWindow(t) ? !1 : 1 === t.nodeType && e ? !0 : "array" === n || 0 === e || "number" == typeof e && e > 0 && e - 1 in t }

function i(t, e, n) { if (Z.isFunction(e)) return Z.grep(t, function(t, i) { return !!e.call(t, i, t) !== n }); if (e.nodeType) return Z.grep(t, function(t) { return t === e !== n }); if ("string" == typeof e) { if (ae.test(e)) return Z.filter(e, t, n); e = Z.filter(e, t) } return Z.grep(t, function(t) { return $.call(e, t) >= 0 !== n }) }

function r(t, e) { for (; (t = t[e]) && 1 !== t.nodeType;); return t }

function o(t) { var e = fe[t] = {}; return Z.each(t.match(de) || [], function(t, n) { e[n] = !0 }), e }

function s() { G.removeEventListener("DOMContentLoaded", s, !1), t.removeEventListener("load", s, !1), Z.ready() }

function a() { Object.defineProperty(this.cache = {}, 0, { get: function() { return {} } }), this.expando = Z.expando + a.uid++ }

function l(t, e, n) { var i; if (void 0 === n && 1 === t.nodeType) if (i = "data-" + e.replace(we, "-$1").toLowerCase(), n = t.getAttribute(i), "string" == typeof n) { try { n = "true" === n ? !0 : "false" === n ? !1 : "null" === n ? null : +n + "" === n ? +n : xe.test(n) ? Z.parseJSON(n) : n } catch (r) {} ye.set(t, e, n) } else n = void 0; return n }

function c() { return !0 }

function u() { return !1 }

function h() { try { return G.activeElement } catch (t) {} }

function p(t, e) { return Z.nodeName(t, "table") && Z.nodeName(11 !== e.nodeType ? e : e.firstChild, "tr") ? t.getElementsByTagName("tbody")[0] || t.appendChild(t.ownerDocument.createElement("tbody")) : t }

function d(t) { return t.type = (null !== t.getAttribute("type")) + "/" + t.type, t }

function f(t) { var e = We.exec(t.type); return e ? t.type = e[1] : t.removeAttribute("type"), t }

function m(t, e) { for (var n = 0, i = t.length; i > n; n++) ve.set(t[n], "globalEval", !e || ve.get(e[n], "globalEval")) }

function g(t, e) { var n, i, r, o, s, a, l, c; if (1 === e.nodeType) { if (ve.hasData(t) && (o = ve.access(t), s = ve.set(e, o), c = o.events)) { delete s.handle, s.events = {}; for (r in c) for (n = 0, i = c[r].length; i > n; n++) Z.event.add(e, r, c[r][n]) } ye.hasData(t) && (a = ye.access(t), l = Z.extend({}, a), ye.set(e, l)) } }

function v(t, e) { var n = t.getElementsByTagName ? t.getElementsByTagName(e || "*") : t.querySelectorAll ? t.querySelectorAll(e || "*") : []; return void 0 === e || e && Z.nodeName(t, e) ? Z.merge([t], n) : n }

function y(t, e) { var n = e.nodeName.toLowerCase(); "input" === n && Ee.test(t.type) ? e.checked = t.checked : ("input" === n || "textarea" === n) && (e.defaultValue = t.defaultValue) }

function x(e, n) { var i, r = Z(n.createElement(e)).appendTo(n.body), o = t.getDefaultComputedStyle && (i = t.getDefaultComputedStyle(r[0])) ? i.display : Z.css(r[0], "display"); return r.detach(), o }

function w(t) { var e = G, n = Ye[t]; return n || (n = x(t, e), "none" !== n && n || (Ie = (Ie || Z("<iframe frameborder='0' width='0' height='0'/>")).appendTo(e.documentElement), e = Ie[0].contentDocument, e.write(), e.close(), n = x(t, e), Ie.detach()), Ye[t] = n), n }

function b(t, e, n) { var i, r, o, s, a = t.style; return n = n || Be(t), n && (s = n.getPropertyValue(e) || n[e]), n && ("" !== s || Z.contains(t.ownerDocument, t) || (s = Z.style(t, e)), Fe.test(s) && Me.test(e) && (i = a.width, r = a.minWidth, o = a.maxWidth, a.minWidth = a.maxWidth = a.width = s, s = n.width, a.width = i, a.minWidth = r, a.maxWidth = o)), void 0 !== s ? s + "" : s }

function T(t, e) { return { get: function() { return t() ? (delete this.get, void 0) : (this.get = e).apply(this, arguments) } } }

function S(t, e) { if (e in t) return e; for (var n = e[0].toUpperCase() + e.slice(1), i = e, r = Qe.length; r--;) if (e = Qe[r] + n, e in t) return e; return i }

function E(t, e, n) { var i = ze.exec(e); return i ? Math.max(0, i[1] - (n || 0)) + (i[2] || "px") : e }

function C(t, e, n, i, r) { for (var o = n === (i ? "border" : "content") ? 4 : "width" === e ? 1 : 0, s = 0; 4 > o; o += 2) "margin" === n && (s += Z.css(t, n + Te[o], !0, r)), i ? ("content" === n && (s -= Z.css(t, "padding" + Te[o], !0, r)), "margin" !== n && (s -= Z.css(t, "border" + Te[o] + "Width", !0, r))) : (s += Z.css(t, "padding" + Te[o], !0, r), "padding" !== n && (s += Z.css(t, "border" + Te[o] + "Width", !0, r))); return s }

function k(t, e, n) { var i = !0, r = "width" === e ? t.offsetWidth : t.offsetHeight, o = Be(t), s = "border-box" === Z.css(t, "boxSizing", !1, o); if (0 >= r || null == r) { if (r = b(t, e, o), (0 > r || null == r) && (r = t.style[e]), Fe.test(r)) return r; i = s && (K.boxSizingReliable() || r === t.style[e]), r = parseFloat(r) || 0 } return r + C(t, e, n || (s ? "border" : "content"), i, o) + "px" }

function P(t, e) { for (var n, i, r, o = [], s = 0, a = t.length; a > s; s++) i = t[s], i.style && (o[s] = ve.get(i, "olddisplay"), n = i.style.display, e ? (o[s] || "none" !== n || (i.style.display = ""), "" === i.style.display && Se(i) && (o[s] = ve.access(i, "olddisplay", w(i.nodeName)))) : (r = Se(i), "none" === n && r || ve.set(i, "olddisplay", r ? n : Z.css(i, "display")))); for (s = 0; a > s; s++) i = t[s], i.style && (e && "none" !== i.style.display && "" !== i.style.display || (i.style.display = e ? o[s] || "" : "none")); return t }

function D(t, e, n, i, r) { return new D.prototype.init(t, e, n, i, r) }

function N() { return setTimeout(function() { Ke = void 0 }), Ke = Z.now() }

function A(t, e) { var n, i = 0, r = { height: t }; for (e = e ? 1 : 0; 4 > i; i += 2 - e) n = Te[i], r["margin" + n] = r["padding" + n] = t; return e && (r.opacity = r.width = t), r }

function j(t, e, n) { for (var i, r = (nn[e] || []).concat(nn["*"]), o = 0, s = r.length; s > o; o++) if (i = r[o].call(n, e, t)) return i }

function H(t, e, n) { var i, r, o, s, a, l, c, u, h = this, p = {}, d = t.style, f = t.nodeType && Se(t), m = ve.get(t, "fxshow"); n.queue || (a = Z._queueHooks(t, "fx"), null == a.unqueued && (a.unqueued = 0, l = a.empty.fire, a.empty.fire = function() { a.unqueued || l() }), a.unqueued++, h.always(function() { h.always(function() { a.unqueued--, Z.queue(t, "fx").length || a.empty.fire() }) })), 1 === t.nodeType && ("height" in e || "width" in e) && (n.overflow = [d.overflow, d.overflowX, d.overflowY], c = Z.css(t, "display"), u = "none" === c ? ve.get(t, "olddisplay") || w(t.nodeName) : c, "inline" === u && "none" === Z.css(t, "float") && (d.display = "inline-block")), n.overflow && (d.overflow = "hidden", h.always(function() { d.overflow = n.overflow[0], d.overflowX = n.overflow[1], d.overflowY = n.overflow[2] })); for (i in e) if (r = e[i], Je.exec(r)) { if (delete e[i], o = o || "toggle" === r, r === (f ? "hide" : "show")) { if ("show" !== r || !m || void 0 === m[i]) continue; f = !0 } p[i] = m && m[i] || Z.style(t, i) } else c = void 0; if (Z.isEmptyObject(p)) "inline" === ("none" === c ? w(t.nodeName) : c) && (d.display = c); else { m ? "hidden" in m && (f = m.hidden) : m = ve.access(t, "fxshow", {}), o && (m.hidden = !f), f ? Z(t).show() : h.done(function() { Z(t).hide() }), h.done(function() { var e; ve.remove(t, "fxshow"); for (e in p) Z.style(t, e, p[e]) }); for (i in p) s = j(f ? m[i] : 0, i, h), i in m || (m[i] = s.start, f && (s.end = s.start, s.start = "width" === i || "height" === i ? 1 : 0)) } }

function X(t, e) { var n, i, r, o, s; for (n in t) if (i = Z.camelCase(n), r = e[i], o = t[n], Z.isArray(o) && (r = o[1], o = t[n] = o[0]), n !== i && (t[i] = o, delete t[n]), s = Z.cssHooks[i], s && "expand" in s) { o = s.expand(o), delete t[i]; for (n in o) n in t || (t[n] = o[n], e[n] = r) } else e[i] = r }

function _(t, e, n) { var i, r, o = 0, s = en.length, a = Z.Deferred().always(function() { delete l.elem }), l = function() { if (r) return !1; for (var e = Ke || N(), n = Math.max(0, c.startTime + c.duration - e), i = n / c.duration || 0, o = 1 - i, s = 0, l = c.tweens.length; l > s; s++) c.tweens[s].run(o); return a.notifyWith(t, [c, o, n]), 1 > o && l ? n : (a.resolveWith(t, [c]), !1) }, c = a.promise({ elem: t, props: Z.extend({}, e), opts: Z.extend(!0, { specialEasing: {} }, n), originalProperties: e, originalOptions: n, startTime: Ke || N(), duration: n.duration, tweens: [], createTween: function(e, n) { var i = Z.Tween(t, c.opts, e, n, c.opts.specialEasing[e] || c.opts.easing); return c.tweens.push(i), i }, stop: function(e) { var n = 0, i = e ? c.tweens.length : 0; if (r) return this; for (r = !0; i > n; n++) c.tweens[n].run(1); return e ? a.resolveWith(t, [c, e]) : a.rejectWith(t, [c, e]), this } }), u = c.props; for (X(u, c.opts.specialEasing); s > o; o++) if (i = en[o].call(c, t, u, c.opts)) return i; return Z.map(u, j, c), Z.isFunction(c.opts.start) && c.opts.start.call(t, c), Z.fx.timer(Z.extend(l, { elem: t, anim: c, queue: c.opts.queue })), c.progress(c.opts.progress).done(c.opts.done, c.opts.complete).fail(c.opts.fail).always(c.opts.always) }

function L(t) { return function(e, n) { "string" != typeof e && (n = e, e = "*"); var i, r = 0, o = e.toLowerCase().match(de) || []; if (Z.isFunction(n)) for (; i = o[r++];) "+" === i[0] ? (i = i.slice(1) || "*", (t[i] = t[i] || []).unshift(n)) : (t[i] = t[i] || []).push(n) } }

function W(t, e, n, i) { function r(a) { var l; return o[a] = !0, Z.each(t[a] || [], function(t, a) { var c = a(e, n, i); return "string" != typeof c || s || o[c] ? s ? !(l = c) : void 0 : (e.dataTypes.unshift(c), r(c), !1) }), l } var o = {}, s = t === wn; return r(e.dataTypes[0]) || !o["*"] && r("*") }

function q(t, e) { var n, i, r = Z.ajaxSettings.flatOptions || {}; for (n in e) void 0 !== e[n] && ((r[n] ? t : i || (i = {}))[n] = e[n]); return i && Z.extend(!0, t, i), t }

function O(t, e, n) { for (var i, r, o, s, a = t.contents, l = t.dataTypes; "*" === l[0];) l.shift(), void 0 === i && (i = t.mimeType || e.getResponseHeader("Content-Type")); if (i) for (r in a) if (a[r] && a[r].test(i)) { l.unshift(r); break } if (l[0] in n) o = l[0]; else { for (r in n) { if (!l[0] || t.converters[r + " " + l[0]]) { o = r; break } s || (s = r) } o = o || s } return o ? (o !== l[0] && l.unshift(o), n[o]) : void 0 }

function I(t, e, n, i) { var r, o, s, a, l, c = {}, u = t.dataTypes.slice(); if (u[1]) for (s in t.converters) c[s.toLowerCase()] = t.converters[s]; for (o = u.shift(); o;) if (t.responseFields[o] && (n[t.responseFields[o]] = e), !l && i && t.dataFilter && (e = t.dataFilter(e, t.dataType)), l = o, o = u.shift()) if ("*" === o) o = l; else if ("*" !== l && l !== o) { if (s = c[l + " " + o] || c["* " + o], !s) for (r in c) if (a = r.split(" "), a[1] === o && (s = c[l + " " + a[0]] || c["* " + a[0]])) { s === !0 ? s = c[r] : c[r] !== !0 && (o = a[0], u.unshift(a[1])); break } if (s !== !0) if (s && t["throws"]) e = s(e); else try { e = s(e) } catch (h) { return { state: "parsererror", error: s ? h : "No conversion from " + l + " to " + o } } } return { state: "success", data: e } }

function Y(t, e, n, i) { var r; if (Z.isArray(e)) Z.each(e, function(e, r) { n || Cn.test(t) ? i(t, r) : Y(t + "[" + ("object" == typeof r ? e : "") + "]", r, n, i) }); else if (n || "object" !== Z.type(e)) i(t, e); else for (r in e) Y(t + "[" + r + "]", e[r], n, i) }

function M(t) { return Z.isWindow(t) ? t : 9 === t.nodeType && t.defaultView } var F = [], B = F.slice, R = F.concat, z = F.push, $ = F.indexOf, V = {}, U = V.toString, Q = V.hasOwnProperty, K = {}, G = t.document, J = "2.1.4", Z = function(t, e) { return new Z.fn.init(t, e) }, te = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, ee = /^-ms-/, ne = /-([\da-z])/gi, ie = function(t, e) { return e.toUpperCase() }; Z.fn = Z.prototype = { jquery: J, constructor: Z, selector: "", length: 0, toArray: function() { return B.call(this) }, get: function(t) { return null != t ? 0 > t ? this[t + this.length] : this[t] : B.call(this) }, pushStack: function(t) { var e = Z.merge(this.constructor(), t); return e.prevObject = this, e.context = this.context, e }, each: function(t, e) { return Z.each(this, t, e) }, map: function(t) { return this.pushStack(Z.map(this, function(e, n) { return t.call(e, n, e) })) }, slice: function() { return this.pushStack(B.apply(this, arguments)) }, first: function() { return this.eq(0) }, last: function() { return this.eq(-1) }, eq: function(t) { var e = this.length, n = +t + (0 > t ? e : 0); return this.pushStack(n >= 0 && e > n ? [this[n]] : []) }, end: function() { return this.prevObject || this.constructor(null) }, push: z, sort: F.sort, splice: F.splice }, Z.extend = Z.fn.extend = function() { var t, e, n, i, r, o, s = arguments[0] || {}, a = 1, l = arguments.length, c = !1; for ("boolean" == typeof s && (c = s, s = arguments[a] || {}, a++), "object" == typeof s || Z.isFunction(s) || (s = {}), a === l && (s = this, a--); l > a; a++) if (null != (t = arguments[a])) for (e in t) n = s[e], i = t[e], s !== i && (c && i && (Z.isPlainObject(i) || (r = Z.isArray(i))) ? (r ? (r = !1, o = n && Z.isArray(n) ? n : []) : o = n && Z.isPlainObject(n) ? n : {}, s[e] = Z.extend(c, o, i)) : void 0 !== i && (s[e] = i)); return s }, Z.extend({ expando: "jQuery" + (J + Math.random()).replace(/\D/g, ""), isReady: !0, error: function(t) { throw new Error(t) }, noop: function() {}, isFunction: function(t) { return "function" === Z.type(t) }, isArray: Array.isArray, isWindow: function(t) { return null != t && t === t.window }, isNumeric: function(t) { return !Z.isArray(t) && t - parseFloat(t) + 1 >= 0 }, isPlainObject: function(t) { return "object" !== Z.type(t) || t.nodeType || Z.isWindow(t) ? !1 : t.constructor && !Q.call(t.constructor.prototype, "isPrototypeOf") ? !1 : !0 }, isEmptyObject: function(t) { var e; for (e in t) return !1; return !0 }, type: function(t) { return null == t ? t + "" : "object" == typeof t || "function" == typeof t ? V[U.call(t)] || "object" : typeof t }, globalEval: function(t) { var e, n = eval; t = Z.trim(t), t && (1 === t.indexOf("use strict") ? (e = G.createElement("script"), e.text = t, G.head.appendChild(e).parentNode.removeChild(e)) : n(t)) }, camelCase: function(t) { return t.replace(ee, "ms-").replace(ne, ie) }, nodeName: function(t, e) { return t.nodeName && t.nodeName.toLowerCase() === e.toLowerCase() }, each: function(t, e, i) { var r, o = 0, s = t.length, a = n(t); if (i) { if (a) for (; s > o && (r = e.apply(t[o], i), r !== !1); o++); else for (o in t) if (r = e.apply(t[o], i), r === !1) break } else if (a) for (; s > o && (r = e.call(t[o], o, t[o]), r !== !1); o++); else for (o in t) if (r = e.call(t[o], o, t[o]), r === !1) break; return t }, trim: function(t) { return null == t ? "" : (t + "").replace(te, "") }, makeArray: function(t, e) { var i = e || []; return null != t && (n(Object(t)) ? Z.merge(i, "string" == typeof t ? [t] : t) : z.call(i, t)), i }, inArray: function(t, e, n) { return null == e ? -1 : $.call(e, t, n) }, merge: function(t, e) { for (var n = +e.length, i = 0, r = t.length; n > i; i++) t[r++] = e[i]; return t.length = r, t }, grep: function(t, e, n) { for (var i, r = [], o = 0, s = t.length, a = !n; s > o; o++) i = !e(t[o], o), i !== a && r.push(t[o]); return r }, map: function(t, e, i) { var r, o = 0, s = t.length, a = n(t), l = []; if (a) for (; s > o; o++) r = e(t[o], o, i), null != r && l.push(r); else for (o in t) r = e(t[o], o, i), null != r && l.push(r); return R.apply([], l) }, guid: 1, proxy: function(t, e) { var n, i, r; return "string" == typeof e && (n = t[e], e = t, t = n), Z.isFunction(t) ? (i = B.call(arguments, 2), r = function() { return t.apply(e || this, i.concat(B.call(arguments))) }, r.guid = t.guid = t.guid || Z.guid++, r) : void 0 }, now: Date.now, support: K }), Z.each("Boolean Number String Function Array Date RegExp Object Error".split(" "), function(t, e) { V["[object " + e + "]"] = e.toLowerCase() }); var re = function(t) { function e(t, e, n, i) { var r, o, s, a, l, c, h, d, f, m; if ((e ? e.ownerDocument || e : Y) !== H && j(e), e = e || H, n = n || [], a = e.nodeType, "string" != typeof t || !t || 1 !== a && 9 !== a && 11 !== a) return n; if (!i && _) { if (11 !== a && (r = ye.exec(t))) if (s = r[1]) { if (9 === a) { if (o = e.getElementById(s), !o || !o.parentNode) return n; if (o.id === s) return n.push(o), n } else if (e.ownerDocument && (o = e.ownerDocument.getElementById(s)) && O(e, o) && o.id === s) return n.push(o), n } else { if (r[2]) return J.apply(n, e.getElementsByTagName(t)), n; if ((s = r[3]) && b.getElementsByClassName) return J.apply(n, e.getElementsByClassName(s)), n } if (b.qsa && (!L || !L.test(t))) { if (d = h = I, f = e, m = 1 !== a && t, 1 === a && "object" !== e.nodeName.toLowerCase()) { for (c = C(t), (h = e.getAttribute("id")) ? d = h.replace(we, "\\$&") : e.setAttribute("id", d), d = "[id='" + d + "'] ", l = c.length; l--;) c[l] = d + p(c[l]); f = xe.test(t) && u(e.parentNode) || e, m = c.join(",") } if (m) try { return J.apply(n, f.querySelectorAll(m)), n } catch (g) {} finally { h || e.removeAttribute("id") } } } return P(t.replace(le, "$1"), e, n, i) }

function n() { function t(n, i) { return e.push(n + " ") > T.cacheLength && delete t[e.shift()], t[n + " "] = i } var e = []; return t }

function i(t) { return t[I] = !0, t }

function r(t) { var e = H.createElement("div"); try { return !!t(e) } catch (n) { return !1 } finally { e.parentNode && e.parentNode.removeChild(e), e = null } }

function o(t, e) { for (var n = t.split("|"), i = t.length; i--;) T.attrHandle[n[i]] = e }

function s(t, e) { var n = e && t, i = n && 1 === t.nodeType && 1 === e.nodeType && (~e.sourceIndex || V) - (~t.sourceIndex || V); if (i) return i; if (n) for (; n = n.nextSibling;) if (n === e) return -1; return t ? 1 : -1 }

function a(t) { return function(e) { var n = e.nodeName.toLowerCase(); return "input" === n && e.type === t } }

function l(t) { return function(e) { var n = e.nodeName.toLowerCase(); return ("input" === n || "button" === n) && e.type === t } }

function c(t) { return i(function(e) { return e = +e, i(function(n, i) { for (var r, o = t([], n.length, e), s = o.length; s--;) n[r = o[s]] && (n[r] = !(i[r] = n[r])) }) }) }

function u(t) { return t && "undefined" != typeof t.getElementsByTagName && t }

function h() {}

function p(t) { for (var e = 0, n = t.length, i = ""; n > e; e++) i += t[e].value; return i }

function d(t, e, n) { var i = e.dir, r = n && "parentNode" === i, o = F++; return e.first ? function(e, n, o) { for (; e = e[i];) if (1 === e.nodeType || r) return t(e, n, o) } : function(e, n, s) { var a, l, c = [M, o]; if (s) { for (; e = e[i];) if ((1 === e.nodeType || r) && t(e, n, s)) return !0 } else for (; e = e[i];) if (1 === e.nodeType || r) { if (l = e[I] || (e[I] = {}), (a = l[i]) && a[0] === M && a[1] === o) return c[2] = a[2]; if (l[i] = c, c[2] = t(e, n, s)) return !0 } } }

function f(t) { return t.length > 1 ? function(e, n, i) { for (var r = t.length; r--;) if (!t[r](e, n, i)) return !1; return !0 } : t[0] }

function m(t, n, i) { for (var r = 0, o = n.length; o > r; r++) e(t, n[r], i); return i }

function g(t, e, n, i, r) { for (var o, s = [], a = 0, l = t.length, c = null != e; l > a; a++)(o = t[a]) && (!n || n(o, i, r)) && (s.push(o), c && e.push(a)); return s }

function v(t, e, n, r, o, s) { return r && !r[I] && (r = v(r)), o && !o[I] && (o = v(o, s)), i(function(i, s, a, l) { var c, u, h, p = [], d = [], f = s.length, v = i || m(e || "*", a.nodeType ? [a] : a, []), y = !t || !i && e ? v : g(v, p, t, a, l), x = n ? o || (i ? t : f || r) ? [] : s : y; if (n && n(y, x, a, l), r) for (c = g(x, d), r(c, [], a, l), u = c.length; u--;)(h = c[u]) && (x[d[u]] = !(y[d[u]] = h)); if (i) { if (o || t) { if (o) { for (c = [], u = x.length; u--;)(h = x[u]) && c.push(y[u] = h); o(null, x = [], c, l) } for (u = x.length; u--;)(h = x[u]) && (c = o ? te(i, h) : p[u]) > -1 && (i[c] = !(s[c] = h)) } } else x = g(x === s ? x.splice(f, x.length) : x), o ? o(null, s, x, l) : J.apply(s, x) }) }

function y(t) { for (var e, n, i, r = t.length, o = T.relative[t[0].type], s = o || T.relative[" "], a = o ? 1 : 0, l = d(function(t) { return t === e }, s, !0), c = d(function(t) { return te(e, t) > -1 }, s, !0), u = [ function(t, n, i) { var r = !o && (i || n !== D) || ((e = n).nodeType ? l(t, n, i) : c(t, n, i)); return e = null, r } ]; r > a; a++) if (n = T.relative[t[a].type]) u = [d(f(u), n)]; else { if (n = T.filter[t[a].type].apply(null, t[a].matches), n[I]) { for (i = ++a; r > i && !T.relative[t[i].type]; i++); return v(a > 1 && f(u), a > 1 && p(t.slice(0, a - 1).concat({ value: " " === t[a - 2].type ? "*" : "" })).replace(le, "$1"), n, i > a && y(t.slice(a, i)), r > i && y(t = t.slice(i)), r > i && p(t)) } u.push(n) } return f(u) }

function x(t, n) { var r = n.length > 0, o = t.length > 0, s = function(i, s, a, l, c) { var u, h, p, d = 0, f = "0", m = i && [], v = [], y = D, x = i || o && T.find.TAG("*", c), w = M += null == y ? 1 : Math.random() || .1, b = x.length; for (c && (D = s !== H && s); f !== b && null != (u = x[f]); f++) { if (o && u) { for (h = 0; p = t[h++];) if (p(u, s, a)) { l.push(u); break } c && (M = w) } r && ((u = !p && u) && d--, i && m.push(u)) } if (d += f, r && f !== d) { for (h = 0; p = n[h++];) p(m, v, s, a); if (i) { if (d > 0) for (; f--;) m[f] || v[f] || (v[f] = K.call(l)); v = g(v) } J.apply(l, v), c && !i && v.length > 0 && d + n.length > 1 && e.uniqueSort(l) } return c && (M = w, D = y), m }; return r ? i(s) : s } var w, b, T, S, E, C, k, P, D, N, A, j, H, X, _, L, W, q, O, I = "sizzle" + 1 * new Date, Y = t.document, M = 0, F = 0, B = n(), R = n(), z = n(), $ = function(t, e) { return t === e && (A = !0), 0 }, V = 1 << 31, U = {}.hasOwnProperty, Q = [], K = Q.pop, G = Q.push, J = Q.push, Z = Q.slice, te = function(t, e) { for (var n = 0, i = t.length; i > n; n++) if (t[n] === e) return n; return -1 }, ee = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped", ne = "[\\x20\\t\\r\\n\\f]", ie = "(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+", re = ie.replace("w", "w#"), oe = "\\[" + ne + "*(" + ie + ")(?:" + ne + "*([*^$|!~]?=)" + ne + "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + re + "))|)" + ne + "*\\]", se = ":(" + ie + ")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|" + oe + ")*)|.*)\\)|)", ae = new RegExp(ne + "+", "g"), le = new RegExp("^" + ne + "+|((?:^|[^\\\\])(?:\\\\.)*)" + ne + "+$", "g"), ce = new RegExp("^" + ne + "*," + ne + "*"), ue = new RegExp("^" + ne + "*([>+~]|" + ne + ")" + ne + "*"), he = new RegExp("=" + ne + "*([^\\]'\"]*?)" + ne + "*\\]", "g"), pe = new RegExp(se), de = new RegExp("^" + re + "$"), fe = { ID: new RegExp("^#(" + ie + ")"), CLASS: new RegExp("^\\.(" + ie + ")"), TAG: new RegExp("^(" + ie.replace("w", "w*") + ")"), ATTR: new RegExp("^" + oe), PSEUDO: new RegExp("^" + se), CHILD: new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + ne + "*(even|odd|(([+-]|)(\\d*)n|)" + ne + "*(?:([+-]|)" + ne + "*(\\d+)|))" + ne + "*\\)|)", "i"), bool: new RegExp("^(?:" + ee + ")$", "i"), needsContext: new RegExp("^" + ne + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + ne + "*((?:-\\d)?\\d*)" + ne + "*\\)|)(?=[^-]|$)", "i") }, me = /^(?:input|select|textarea|button)$/i, ge = /^h\d$/i, ve = /^[^{]+\{\s*\[native \w/, ye = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/, xe = /[+~]/, we = /'|\\/g, be = new RegExp("\\\\([\\da-f]{1,6}" + ne + "?|(" + ne + ")|.)", "ig"), Te = function(t, e, n) { var i = "0x" + e - 65536; return i !== i || n ? e : 0 > i ? String.fromCharCode(i + 65536) : String.fromCharCode(i >> 10 | 55296, 1023 & i | 56320) }, Se = function() { j() }; try { J.apply(Q = Z.call(Y.childNodes), Y.childNodes), Q[Y.childNodes.length].nodeType } catch (Ee) { J = { apply: Q.length ? function(t, e) { G.apply(t, Z.call(e)) } : function(t, e) { for (var n = t.length, i = 0; t[n++] = e[i++];); t.length = n - 1 } } } b = e.support = {}, E = e.isXML = function(t) { var e = t && (t.ownerDocument || t).documentElement; return e ? "HTML" !== e.nodeName : !1 }, j = e.setDocument = function(t) { var e, n, i = t ? t.ownerDocument || t : Y; return i !== H && 9 === i.nodeType && i.documentElement ? (H = i, X = i.documentElement, n = i.defaultView, n && n !== n.top && (n.addEventListener ? n.addEventListener("unload", Se, !1) : n.attachEvent && n.attachEvent("onunload", Se)), _ = !E(i), b.attributes = r(function(t) { return t.className = "i", !t.getAttribute("className") }), b.getElementsByTagName = r(function(t) { return t.appendChild(i.createComment("")), !t.getElementsByTagName("*").length }), b.getElementsByClassName = ve.test(i.getElementsByClassName), b.getById = r(function(t) { return X.appendChild(t).id = I, !i.getElementsByName || !i.getElementsByName(I).length }), b.getById ? (T.find.ID = function(t, e) { if ("undefined" != typeof e.getElementById && _) { var n = e.getElementById(t); return n && n.parentNode ? [n] : [] } }, T.filter.ID = function(t) { var e = t.replace(be, Te); return function(t) { return t.getAttribute("id") === e } }) : (delete T.find.ID, T.filter.ID = function(t) { var e = t.replace(be, Te); return function(t) { var n = "undefined" != typeof t.getAttributeNode && t.getAttributeNode("id"); return n && n.value === e } }), T.find.TAG = b.getElementsByTagName ? function(t, e) { return "undefined" != typeof e.getElementsByTagName ? e.getElementsByTagName(t) : b.qsa ? e.querySelectorAll(t) : void 0 } : function(t, e) { var n, i = [], r = 0, o = e.getElementsByTagName(t); if ("*" === t) { for (; n = o[r++];) 1 === n.nodeType && i.push(n); return i } return o }, T.find.CLASS = b.getElementsByClassName && function(t, e) { return _ ? e.getElementsByClassName(t) : void 0 }, W = [], L = [], (b.qsa = ve.test(i.querySelectorAll)) && (r(function(t) { X.appendChild(t).innerHTML = "<a id='" + I + "'></a><select id='" + I + "-\f]' msallowcapture=><option selected=></option></select>", t.querySelectorAll("[msallowcapture^=]").length && L.push("[*^$]=" + ne + "*(?:|\"\")"), t.querySelectorAll("[selected]").length || L.push("\\[" + ne + "*(?:value|" + ee + ")"), t.querySelectorAll("[id~=" + I + "-]").length || L.push("~="), t.querySelectorAll(":checked").length || L.push(":checked"), t.querySelectorAll("a#" + I + "+*").length || L.push(".#.+[+~]") }), r(function(t) { var e = i.createElement("input"); e.setAttribute("type", "hidden"), t.appendChild(e).setAttribute("name", "D"), t.querySelectorAll("[name=d]").length && L.push("name" + ne + "*[*^$|!~]?="), t.querySelectorAll(":enabled").length || L.push(":enabled", ":disabled"), t.querySelectorAll("*,:x"), L.push(",.*:") })), (b.matchesSelector = ve.test(q = X.matches || X.webkitMatchesSelector || X.mozMatchesSelector || X.oMatchesSelector || X.msMatchesSelector)) && r(function(t) { b.disconnectedMatch = q.call(t, "div"), q.call(t, "[s!=]:x"), W.push("!=", se) }), L = L.length && new RegExp(L.join("|")), W = W.length && new RegExp(W.join("|")), e = ve.test(X.compareDocumentPosition), O = e || ve.test(X.contains) ? function(t, e) { var n = 9 === t.nodeType ? t.documentElement : t, i = e && e.parentNode; return t === i || !(!i || 1 !== i.nodeType || !(n.contains ? n.contains(i) : t.compareDocumentPosition && 16 & t.compareDocumentPosition(i))) } : function(t, e) { if (e) for (; e = e.parentNode;) if (e === t) return !0; return !1 }, $ = e ? function(t, e) { if (t === e) return A = !0, 0; var n = !t.compareDocumentPosition - !e.compareDocumentPosition; return n ? n : (n = (t.ownerDocument || t) === (e.ownerDocument || e) ? t.compareDocumentPosition(e) : 1, 1 & n || !b.sortDetached && e.compareDocumentPosition(t) === n ? t === i || t.ownerDocument === Y && O(Y, t) ? -1 : e === i || e.ownerDocument === Y && O(Y, e) ? 1 : N ? te(N, t) - te(N, e) : 0 : 4 & n ? -1 : 1) } : function(t, e) { if (t === e) return A = !0, 0; var n, r = 0, o = t.parentNode, a = e.parentNode, l = [t], c = [e]; if (!o || !a) return t === i ? -1 : e === i ? 1 : o ? -1 : a ? 1 : N ? te(N, t) - te(N, e) : 0; if (o === a) return s(t, e); for (n = t; n = n.parentNode;) l.unshift(n); for (n = e; n = n.parentNode;) c.unshift(n); for (; l[r] === c[r];) r++; return r ? s(l[r], c[r]) : l[r] === Y ? -1 : c[r] === Y ? 1 : 0 }, i) : H }, e.matches = function(t, n) { return e(t, null, null, n) }, e.matchesSelector = function(t, n) { if ((t.ownerDocument || t) !== H && j(t), n = n.replace(he, "='$1']"), !(!b.matchesSelector || !_ || W && W.test(n) || L && L.test(n))) try { var i = q.call(t, n); if (i || b.disconnectedMatch || t.document && 11 !== t.document.nodeType) return i } catch (r) {} return e(n, H, null, [t]).length > 0 }, e.contains = function(t, e) { return (t.ownerDocument || t) !== H && j(t), O(t, e) }, e.attr = function(t, e) { (t.ownerDocument || t) !== H && j(t); var n = T.attrHandle[e.toLowerCase()], i = n && U.call(T.attrHandle, e.toLowerCase()) ? n(t, e, !_) : void 0; return void 0 !== i ? i : b.attributes || !_ ? t.getAttribute(e) : (i = t.getAttributeNode(e)) && i.specified ? i.value : null }, e.error = function(t) { throw new Error("Syntax error, unrecognized expression: " + t) }, e.uniqueSort = function(t) { var e, n = [], i = 0, r = 0; if (A = !b.detectDuplicates, N = !b.sortStable && t.slice(0), t.sort($), A) { for (; e = t[r++];) e === t[r] && (i = n.push(r)); for (; i--;) t.splice(n[i], 1) } return N = null, t }, S = e.getText = function(t) { var e, n = "", i = 0, r = t.nodeType; if (r) { if (1 === r || 9 === r || 11 === r) { if ("string" == typeof t.textContent) return t.textContent; for (t = t.firstChild; t; t = t.nextSibling) n += S(t) } else if (3 === r || 4 === r) return t.nodeValue } else for (; e = t[i++];) n += S(e); return n }, T = e.selectors = { cacheLength: 50, createPseudo: i, match: fe, attrHandle: {}, find: {}, relative: { ">": { dir: "parentNode", first: !0 }, " ": { dir: "parentNode" }, "+": { dir: "previousSibling", first: !0 }, "~": { dir: "previousSibling" } }, preFilter: { ATTR: function(t) { return t[1] = t[1].replace(be, Te), t[3] = (t[3] || t[4] || t[5] || "").replace(be, Te), "~=" === t[2] && (t[3] = " " + t[3] + " "), t.slice(0, 4) }, CHILD: function(t) { return t[1] = t[1].toLowerCase(), "nth" === t[1].slice(0, 3) ? (t[3] || e.error(t[0]), t[4] = +(t[4] ? t[5] + (t[6] || 1) : 2 * ("even" === t[3] || "odd" === t[3])), t[5] = +(t[7] + t[8] || "odd" === t[3])) : t[3] && e.error(t[0]), t }, PSEUDO: function(t) { var e, n = !t[6] && t[2]; return fe.CHILD.test(t[0]) ? null : (t[3] ? t[2] = t[4] || t[5] || "" : n && pe.test(n) && (e = C(n, !0)) && (e = n.indexOf(")", n.length - e) - n.length) && (t[0] = t[0].slice(0, e), t[2] = n.slice(0, e)), t.slice(0, 3)) } }, filter: { TAG: function(t) { var e = t.replace(be, Te).toLowerCase(); return "*" === t ? function() { return !0 } : function(t) { return t.nodeName && t.nodeName.toLowerCase() === e } }, CLASS: function(t) { var e = B[t + " "]; return e || (e = new RegExp("(^|" + ne + ")" + t + "(" + ne + "|$)")) && B(t, function(t) { return e.test("string" == typeof t.className && t.className || "undefined" != typeof t.getAttribute && t.getAttribute("class") || "") }) }, ATTR: function(t, n, i) { return function(r) { var o = e.attr(r, t); return null == o ? "!=" === n : n ? (o += "", "=" === n ? o === i : "!=" === n ? o !== i : "^=" === n ? i && 0 === o.indexOf(i) : "*=" === n ? i && o.indexOf(i) > -1 : "$=" === n ? i && o.slice(-i.length) === i : "~=" === n ? (" " + o.replace(ae, " ") + " ").indexOf(i) > -1 : "|=" === n ? o === i || o.slice(0, i.length + 1) === i + "-" : !1) : !0 } }, CHILD: function(t, e, n, i, r) { var o = "nth" !== t.slice(0, 3), s = "last" !== t.slice(-4), a = "of-type" === e; return 1 === i && 0 === r ? function(t) { return !!t.parentNode } : function(e, n, l) { var c, u, h, p, d, f, m = o !== s ? "nextSibling" : "previousSibling", g = e.parentNode, v = a && e.nodeName.toLowerCase(), y = !l && !a; if (g) { if (o) { for (; m;) { for (h = e; h = h[m];) if (a ? h.nodeName.toLowerCase() === v : 1 === h.nodeType) return !1; f = m = "only" === t && !f && "nextSibling" } return !0 } if (f = [s ? g.firstChild : g.lastChild], s && y) { for (u = g[I] || (g[I] = {}), c = u[t] || [], d = c[0] === M && c[1], p = c[0] === M && c[2], h = d && g.childNodes[d]; h = ++d && h && h[m] || (p = d = 0) || f.pop();) if (1 === h.nodeType && ++p && h === e) { u[t] = [M, d, p]; break } } else if (y && (c = (e[I] || (e[I] = {}))[t]) && c[0] === M) p = c[1]; else for (; (h = ++d && h && h[m] || (p = d = 0) || f.pop()) && ((a ? h.nodeName.toLowerCase() !== v : 1 !== h.nodeType) || !++p || (y && ((h[I] || (h[I] = {}))[t] = [M, p]), h !== e));); return p -= r, p === i || p % i === 0 && p / i >= 0 } } }, PSEUDO: function(t, n) { var r, o = T.pseudos[t] || T.setFilters[t.toLowerCase()] || e.error("unsupported pseudo: " + t); return o[I] ? o(n) : o.length > 1 ? (r = [t, t, "", n], T.setFilters.hasOwnProperty(t.toLowerCase()) ? i(function(t, e) { for (var i, r = o(t, n), s = r.length; s--;) i = te(t, r[s]), t[i] = !(e[i] = r[s]) }) : function(t) { return o(t, 0, r) }) : o } }, pseudos: { not: i(function(t) { var e = [], n = [], r = k(t.replace(le, "$1")); return r[I] ? i(function(t, e, n, i) { for (var o, s = r(t, null, i, []), a = t.length; a--;)(o = s[a]) && (t[a] = !(e[a] = o)) }) : function(t, i, o) { return e[0] = t, r(e, null, o, n), e[0] = null, !n.pop() } }), has: i(function(t) { return function(n) { return e(t, n).length > 0 } }), contains: i(function(t) { return t = t.replace(be, Te), function(e) { return (e.textContent || e.innerText || S(e)).indexOf(t) > -1 } }), lang: i(function(t) { return de.test(t || "") || e.error("unsupported lang: " + t), t = t.replace(be, Te).toLowerCase(), function(e) { var n; do if (n = _ ? e.lang : e.getAttribute("xml:lang") || e.getAttribute("lang")) return n = n.toLowerCase(), n === t || 0 === n.indexOf(t + "-"); while ((e = e.parentNode) && 1 === e.nodeType); return !1 } }), target: function(e) { var n = t.location && t.location.hash; return n && n.slice(1) === e.id }, root: function(t) { return t === X }, focus: function(t) { return t === H.activeElement && (!H.hasFocus || H.hasFocus()) && !!(t.type || t.href || ~t.tabIndex) }, enabled: function(t) { return t.disabled === !1 }, disabled: function(t) { return t.disabled === !0 }, checked: function(t) { var e = t.nodeName.toLowerCase(); return "input" === e && !!t.checked || "option" === e && !!t.selected }, selected: function(t) { return t.parentNode && t.parentNode.selectedIndex, t.selected === !0 }, empty: function(t) { for (t = t.firstChild; t; t = t.nextSibling) if (t.nodeType < 6) return !1; return !0 }, parent: function(t) { return !T.pseudos.empty(t) }, header: function(t) { return ge.test(t.nodeName) }, input: function(t) { return me.test(t.nodeName) }, button: function(t) { var e = t.nodeName.toLowerCase(); return "input" === e && "button" === t.type || "button" === e }, text: function(t) { var e; return "input" === t.nodeName.toLowerCase() && "text" === t.type && (null == (e = t.getAttribute("type")) || "text" === e.toLowerCase()) }, first: c(function() { return [0] }), last: c(function(t, e) { return [e - 1] }), eq: c(function(t, e, n) { return [0 > n ? n + e : n] }), even: c(function(t, e) { for (var n = 0; e > n; n += 2) t.push(n); return t }), odd: c(function(t, e) { for (var n = 1; e > n; n += 2) t.push(n); return t }), lt: c(function(t, e, n) { for (var i = 0 > n ? n + e : n; --i >= 0;) t.push(i); return t }), gt: c(function(t, e, n) { for (var i = 0 > n ? n + e : n; ++i < e;) t.push(i); return t }) } }, T.pseudos.nth = T.pseudos.eq; for (w in { radio: !0, checkbox: !0, file: !0, password: !0, image: !0 }) T.pseudos[w] = a(w); for (w in { submit: !0, reset: !0 }) T.pseudos[w] = l(w); return h.prototype = T.filters = T.pseudos, T.setFilters = new h, C = e.tokenize = function(t, n) { var i, r, o, s, a, l, c, u = R[t + " "]; if (u) return n ? 0 : u.slice(0); for (a = t, l = [], c = T.preFilter; a;) { (!i || (r = ce.exec(a))) && (r && (a = a.slice(r[0].length) || a), l.push(o = [])), i = !1, (r = ue.exec(a)) && (i = r.shift(), o.push({ value: i, type: r[0].replace(le, " ") }), a = a.slice(i.length)); for (s in T.filter) !(r = fe[s].exec(a)) || c[s] && !(r = c[s](r)) || (i = r.shift(), o.push({ value: i, type: s, matches: r }), a = a.slice(i.length)); if (!i) break } return n ? a.length : a ? e.error(t) : R(t, l).slice(0) }, k = e.compile = function(t, e) { var n, i = [], r = [], o = z[t + " "]; if (!o) { for (e || (e = C(t)), n = e.length; n--;) o = y(e[n]), o[I] ? i.push(o) : r.push(o); o = z(t, x(r, i)), o.selector = t } return o }, P = e.select = function(t, e, n, i) { var r, o, s, a, l, c = "function" == typeof t && t, h = !i && C(t = c.selector || t); if (n = n || [], 1 === h.length) { if (o = h[0] = h[0].slice(0), o.length > 2 && "ID" === (s = o[0]).type && b.getById && 9 === e.nodeType && _ && T.relative[o[1].type]) { if (e = (T.find.ID(s.matches[0].replace(be, Te), e) || [])[0], !e) return n; c && (e = e.parentNode), t = t.slice(o.shift().value.length) } for (r = fe.needsContext.test(t) ? 0 : o.length; r-- && (s = o[r], !T.relative[a = s.type]);) if ((l = T.find[a]) && (i = l(s.matches[0].replace(be, Te), xe.test(o[0].type) && u(e.parentNode) || e))) { if (o.splice(r, 1), t = i.length && p(o), !t) return J.apply(n, i), n; break } } return (c || k(t, h))(i, e, !_, n, xe.test(t) && u(e.parentNode) || e), n }, b.sortStable = I.split("").sort($).join("") === I, b.detectDuplicates = !!A, j(), b.sortDetached = r(function(t) { return 1 & t.compareDocumentPosition(H.createElement("div")) }), r(function(t) { return t.innerHTML = "<a href='#'></a>", "#" === t.firstChild.getAttribute("href") }) || o("type|href|height|width", function(t, e, n) { return n ? void 0 : t.getAttribute(e, "type" === e.toLowerCase() ? 1 : 2) }), b.attributes && r(function(t) { return t.innerHTML = "<input/>", t.firstChild.setAttribute("value", ""), "" === t.firstChild.getAttribute("value") }) || o("value", function(t, e, n) { return n || "input" !== t.nodeName.toLowerCase() ? void 0 : t.defaultValue }), r(function(t) { return null == t.getAttribute("disabled") }) || o(ee, function(t, e, n) { var i; return n ? void 0 : t[e] === !0 ? e.toLowerCase() : (i = t.getAttributeNode(e)) && i.specified ? i.value : null }), e }(t); Z.find = re, Z.expr = re.selectors, Z.expr[":"] = Z.expr.pseudos, Z.unique = re.uniqueSort, Z.text = re.getText, Z.isXMLDoc = re.isXML, Z.contains = re.contains; var oe = Z.expr.match.needsContext, se = /^<(\w+)\s*\/?>(?:<\/\1>|)$/, ae = /^.[^:#\[\.,]*$/; Z.filter = function(t, e, n) { var i = e[0]; return n && (t = ":not(" + t + ")"), 1 === e.length && 1 === i.nodeType ? Z.find.matchesSelector(i, t) ? [i] : [] : Z.find.matches(t, Z.grep(e, function(t) { return 1 === t.nodeType })) }, Z.fn.extend({ find: function(t) { var e, n = this.length, i = [], r = this; if ("string" != typeof t) return this.pushStack(Z(t).filter(function() { for (e = 0; n > e; e++) if (Z.contains(r[e], this)) return !0 })); for (e = 0; n > e; e++) Z.find(t, r[e], i); return i = this.pushStack(n > 1 ? Z.unique(i) : i), i.selector = this.selector ? this.selector + " " + t : t, i }, filter: function(t) { return this.pushStack(i(this, t || [], !1)) }, not: function(t) { return this.pushStack(i(this, t || [], !0)) }, is: function(t) { return !!i(this, "string" == typeof t && oe.test(t) ? Z(t) : t || [], !1).length } }); var le, ce = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/, ue = Z.fn.init = function(t, e) { var n, i; if (!t) return this; if ("string" == typeof t) { if (n = "<" === t[0] && ">" === t[t.length - 1] && t.length >= 3 ? [null, t, null] : ce.exec(t), !n || !n[1] && e) return !e || e.jquery ? (e || le).find(t) : this.constructor(e).find(t); if (n[1]) { if (e = e instanceof Z ? e[0] : e, Z.merge(this, Z.parseHTML(n[1], e && e.nodeType ? e.ownerDocument || e : G, !0)), se.test(n[1]) && Z.isPlainObject(e)) for (n in e) Z.isFunction(this[n]) ? this[n](e[n]) : this.attr(n, e[n]); return this } return i = G.getElementById(n[2]), i && i.parentNode && (this.length = 1, this[0] = i), this.context = G, this.selector = t, this } return t.nodeType ? (this.context = this[0] = t, this.length = 1, this) : Z.isFunction(t) ? "undefined" != typeof le.ready ? le.ready(t) : t(Z) : (void 0 !== t.selector && (this.selector = t.selector, this.context = t.context), Z.makeArray(t, this)) }; ue.prototype = Z.fn, le = Z(G); var he = /^(?:parents|prev(?:Until|All))/, pe = { children: !0, contents: !0, next: !0, prev: !0 }; Z.extend({ dir: function(t, e, n) { for (var i = [], r = void 0 !== n; (t = t[e]) && 9 !== t.nodeType;) if (1 === t.nodeType) { if (r && Z(t).is(n)) break; i.push(t) } return i }, sibling: function(t, e) { for (var n = []; t; t = t.nextSibling) 1 === t.nodeType && t !== e && n.push(t); return n } }), Z.fn.extend({ has: function(t) { var e = Z(t, this), n = e.length; return this.filter(function() { for (var t = 0; n > t; t++) if (Z.contains(this, e[t])) return !0 }) }, closest: function(t, e) { for (var n, i = 0, r = this.length, o = [], s = oe.test(t) || "string" != typeof t ? Z(t, e || this.context) : 0; r > i; i++) for (n = this[i]; n && n !== e; n = n.parentNode) if (n.nodeType < 11 && (s ? s.index(n) > -1 : 1 === n.nodeType && Z.find.matchesSelector(n, t))) { o.push(n); break } return this.pushStack(o.length > 1 ? Z.unique(o) : o) }, index: function(t) { return t ? "string" == typeof t ? $.call(Z(t), this[0]) : $.call(this, t.jquery ? t[0] : t) : this[0] && this[0].parentNode ? this.first().prevAll().length : -1 }, add: function(t, e) { return this.pushStack(Z.unique(Z.merge(this.get(), Z(t, e)))) }, addBack: function(t) { return this.add(null == t ? this.prevObject : this.prevObject.filter(t)) } }), Z.each({ parent: function(t) { var e = t.parentNode; return e && 11 !== e.nodeType ? e : null }, parents: function(t) { return Z.dir(t, "parentNode") }, parentsUntil: function(t, e, n) { return Z.dir(t, "parentNode", n) }, next: function(t) { return r(t, "nextSibling") }, prev: function(t) { return r(t, "previousSibling") }, nextAll: function(t) { return Z.dir(t, "nextSibling") }, prevAll: function(t) { return Z.dir(t, "previousSibling") }, nextUntil: function(t, e, n) { return Z.dir(t, "nextSibling", n) }, prevUntil: function(t, e, n) { return Z.dir(t, "previousSibling", n) }, siblings: function(t) { return Z.sibling((t.parentNode || {}).firstChild, t) }, children: function(t) { return Z.sibling(t.firstChild) }, contents: function(t) { return t.contentDocument || Z.merge([], t.childNodes) } }, function(t, e) { Z.fn[t] = function(n, i) { var r = Z.map(this, e, n); return "Until" !== t.slice(-5) && (i = n), i && "string" == typeof i && (r = Z.filter(i, r)), this.length > 1 && (pe[t] || Z.unique(r), he.test(t) && r.reverse()), this.pushStack(r) } }); var de = /\S+/g, fe = {}; Z.Callbacks = function(t) { t = "string" == typeof t ? fe[t] || o(t) : Z.extend({}, t); var e, n, i, r, s, a, l = [], c = !t.once && [], u = function(o) { for (e = t.memory && o, n = !0, a = r || 0, r = 0, s = l.length, i = !0; l && s > a; a++) if (l[a].apply(o[0], o[1]) === !1 && t.stopOnFalse) { e = !1; break } i = !1, l && (c ? c.length && u(c.shift()) : e ? l = [] : h.disable()) }, h = { add: function() { if (l) { var n = l.length; ! function o(e) { Z.each(e, function(e, n) { var i = Z.type(n); "function" === i ? t.unique && h.has(n) || l.push(n) : n && n.length && "string" !== i && o(n) }) }(arguments), i ? s = l.length : e && (r = n, u(e)) } return this }, remove: function() { return l && Z.each(arguments, function(t, e) { for (var n; (n = Z.inArray(e, l, n)) > -1;) l.splice(n, 1), i && (s >= n && s--, a >= n && a--) }), this }, has: function(t) { return t ? Z.inArray(t, l) > -1 : !(!l || !l.length) }, empty: function() { return l = [], s = 0, this }, disable: function() { return l = c = e = void 0, this }, disabled: function() { return !l }, lock: function() { return c = void 0, e || h.disable(), this }, locked: function() { return !c }, fireWith: function(t, e) { return !l || n && !c || (e = e || [], e = [t, e.slice ? e.slice() : e], i ? c.push(e) : u(e)), this }, fire: function() { return h.fireWith(this, arguments), this }, fired: function() { return !!n } }; return h }, Z.extend({ Deferred: function(t) { var e = [ ["resolve", "done", Z.Callbacks("once memory"), "resolved"], ["reject", "fail", Z.Callbacks("once memory"), "rejected"], ["notify", "progress", Z.Callbacks("memory")] ], n = "pending", i = { state: function() { return n }, always: function() { return r.done(arguments).fail(arguments), this }, then: function() { var t = arguments; return Z.Deferred(function(n) { Z.each(e, function(e, o) { var s = Z.isFunction(t[e]) && t[e]; r[o[1]](function() { var t = s && s.apply(this, arguments); t && Z.isFunction(t.promise) ? t.promise().done(n.resolve).fail(n.reject).progress(n.notify) : n[o[0] + "With"](this === i ? n.promise() : this, s ? [t] : arguments) }) }), t = null }).promise() }, promise: function(t) { return null != t ? Z.extend(t, i) : i } }, r = {}; return i.pipe = i.then, Z.each(e, function(t, o) { var s = o[2], a = o[3]; i[o[1]] = s.add, a && s.add(function() { n = a }, e[1 ^ t][2].disable, e[2][2].lock), r[o[0]] = function() { return r[o[0] + "With"](this === r ? i : this, arguments), this }, r[o[0] + "With"] = s.fireWith }), i.promise(r), t && t.call(r, r), r }, when: function(t) { var e, n, i, r = 0, o = B.call(arguments), s = o.length, a = 1 !== s || t && Z.isFunction(t.promise) ? s : 0, l = 1 === a ? t : Z.Deferred(), c = function(t, n, i) { return function(r) { n[t] = this, i[t] = arguments.length > 1 ? B.call(arguments) : r, i === e ? l.notifyWith(n, i) : --a || l.resolveWith(n, i) } }; if (s > 1) for (e = new Array(s), n = new Array(s), i = new Array(s); s > r; r++) o[r] && Z.isFunction(o[r].promise) ? o[r].promise().done(c(r, i, o)).fail(l.reject).progress(c(r, n, e)) : --a; return a || l.resolveWith(i, o), l.promise() } }); var me; Z.fn.ready = function(t) { return Z.ready.promise().done(t), this }, Z.extend({ isReady: !1, readyWait: 1, holdReady: function(t) { t ? Z.readyWait++ : Z.ready(!0) }, ready: function(t) { (t === !0 ? --Z.readyWait : Z.isReady) || (Z.isReady = !0, t !== !0 && --Z.readyWait > 0 || (me.resolveWith(G, [Z]), Z.fn.triggerHandler && (Z(G).triggerHandler("ready"), Z(G).off("ready")))) } }), Z.ready.promise = function(e) { return me || (me = Z.Deferred(), "complete" === G.readyState ? setTimeout(Z.ready) : (G.addEventListener("DOMContentLoaded", s, !1), t.addEventListener("load", s, !1))), me.promise(e) }, Z.ready.promise(); var ge = Z.access = function(t, e, n, i, r, o, s) { var a = 0, l = t.length, c = null == n; if ("object" === Z.type(n)) { r = !0; for (a in n) Z.access(t, e, a, n[a], !0, o, s) } else if (void 0 !== i && (r = !0, Z.isFunction(i) || (s = !0), c && (s ? (e.call(t, i), e = null) : (c = e, e = function(t, e, n) { return c.call(Z(t), n) })), e)) for (; l > a; a++) e(t[a], n, s ? i : i.call(t[a], a, e(t[a], n))); return r ? t : c ? e.call(t) : l ? e(t[0], n) : o }; Z.acceptData = function(t) { return 1 === t.nodeType || 9 === t.nodeType || !+t.nodeType }, a.uid = 1, a.accepts = Z.acceptData, a.prototype = { key: function(t) { if (!a.accepts(t)) return 0; var e = {}, n = t[this.expando]; if (!n) { n = a.uid++; try { e[this.expando] = { value: n }, Object.defineProperties(t, e) } catch (i) { e[this.expando] = n, Z.extend(t, e) } } return this.cache[n] || (this.cache[n] = {}), n }, set: function(t, e, n) { var i, r = this.key(t), o = this.cache[r]; if ("string" == typeof e) o[e] = n; else if (Z.isEmptyObject(o)) Z.extend(this.cache[r], e); else for (i in e) o[i] = e[i]; return o }, get: function(t, e) { var n = this.cache[this.key(t)]; return void 0 === e ? n : n[e] }, access: function(t, e, n) { var i; return void 0 === e || e && "string" == typeof e && void 0 === n ? (i = this.get(t, e), void 0 !== i ? i : this.get(t, Z.camelCase(e))) : (this.set(t, e, n), void 0 !== n ? n : e) }, remove: function(t, e) { var n, i, r, o = this.key(t), s = this.cache[o]; if (void 0 === e) this.cache[o] = {}; else { Z.isArray(e) ? i = e.concat(e.map(Z.camelCase)) : (r = Z.camelCase(e), e in s ? i = [e, r] : (i = r, i = i in s ? [i] : i.match(de) || [])), n = i.length; for (; n--;) delete s[i[n]] } }, hasData: function(t) { return !Z.isEmptyObject(this.cache[t[this.expando]] || {}) }, discard: function(t) { t[this.expando] && delete this.cache[t[this.expando]] } }; var ve = new a, ye = new a, xe = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/, we = /([A-Z])/g; Z.extend({ hasData: function(t) { return ye.hasData(t) || ve.hasData(t) }, data: function(t, e, n) { return ye.access(t, e, n) }, removeData: function(t, e) { ye.remove(t, e) }, _data: function(t, e, n) { return ve.access(t, e, n) }, _removeData: function(t, e) { ve.remove(t, e) } }), Z.fn.extend({ data: function(t, e) { var n, i, r, o = this[0], s = o && o.attributes; if (void 0 === t) { if (this.length && (r = ye.get(o), 1 === o.nodeType && !ve.get(o, "hasDataAttrs"))) { for (n = s.length; n--;) s[n] && (i = s[n].name, 0 === i.indexOf("data-") && (i = Z.camelCase(i.slice(5)), l(o, i, r[i]))); ve.set(o, "hasDataAttrs", !0) } return r } return "object" == typeof t ? this.each(function() { ye.set(this, t) }) : ge(this, function(e) { var n, i = Z.camelCase(t); if (o && void 0 === e) { if (n = ye.get(o, t), void 0 !== n) return n; if (n = ye.get(o, i), void 0 !== n) return n; if (n = l(o, i, void 0), void 0 !== n) return n } else this.each(function() { var n = ye.get(this, i); ye.set(this, i, e), -1 !== t.indexOf("-") && void 0 !== n && ye.set(this, t, e) }) }, null, e, arguments.length > 1, null, !0) }, removeData: function(t) { return this.each(function() { ye.remove(this, t) }) } }), Z.extend({ queue: function(t, e, n) { var i; return t ? (e = (e || "fx") + "queue", i = ve.get(t, e), n && (!i || Z.isArray(n) ? i = ve.access(t, e, Z.makeArray(n)) : i.push(n)), i || []) : void 0 }, dequeue: function(t, e) { e = e || "fx"; var n = Z.queue(t, e), i = n.length, r = n.shift(), o = Z._queueHooks(t, e), s = function() { Z.dequeue(t, e) }; "inprogress" === r && (r = n.shift(), i--), r && ("fx" === e && n.unshift("inprogress"), delete o.stop, r.call(t, s, o)), !i && o && o.empty.fire() }, _queueHooks: function(t, e) { var n = e + "queueHooks"; return ve.get(t, n) || ve.access(t, n, { empty: Z.Callbacks("once memory").add(function() { ve.remove(t, [e + "queue", n]) }) }) } }), Z.fn.extend({ queue: function(t, e) { var n = 2; return "string" != typeof t && (e = t, t = "fx", n--), arguments.length < n ? Z.queue(this[0], t) : void 0 === e ? this : this.each(function() { var n = Z.queue(this, t, e); Z._queueHooks(this, t), "fx" === t && "inprogress" !== n[0] && Z.dequeue(this, t) }) }, dequeue: function(t) { return this.each(function() { Z.dequeue(this, t) }) }, clearQueue: function(t) { return this.queue(t || "fx", []) }, promise: function(t, e) { var n, i = 1, r = Z.Deferred(), o = this, s = this.length, a = function() { --i || r.resolveWith(o, [o]) }; for ("string" != typeof t && (e = t, t = void 0), t = t || "fx"; s--;) n = ve.get(o[s], t + "queueHooks"), n && n.empty && (i++, n.empty.add(a)); return a(), r.promise(e) } }); var be = /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source, Te = ["Top", "Right", "Bottom", "Left"], Se = function(t, e) { return t = e || t, "none" === Z.css(t, "display") || !Z.contains(t.ownerDocument, t) }, Ee = /^(?:checkbox|radio)$/i; ! function() { var t = G.createDocumentFragment(), e = t.appendChild(G.createElement("div")), n = G.createElement("input"); n.setAttribute("type", "radio"), n.setAttribute("checked", "checked"), n.setAttribute("name", "t"), e.appendChild(n), K.checkClone = e.cloneNode(!0).cloneNode(!0).lastChild.checked, e.innerHTML = "<textarea>x</textarea>", K.noCloneChecked = !!e.cloneNode(!0).lastChild.defaultValue }(); var Ce = "undefined"; K.focusinBubbles = "onfocusin" in t; var ke = /^key/, Pe = /^(?:mouse|pointer|contextmenu)|click/, De = /^(?:focusinfocus|focusoutblur)$/, Ne = /^([^.]*)(?:\.(.+)|)$/; Z.event = { global: {}, add: function(t, e, n, i, r) { var o, s, a, l, c, u, h, p, d, f, m, g = ve.get(t); if (g) for (n.handler && (o = n, n = o.handler, r = o.selector), n.guid || (n.guid = Z.guid++), (l = g.events) || (l = g.events = {}), (s = g.handle) || (s = g.handle = function(e) { return typeof Z !== Ce && Z.event.triggered !== e.type ? Z.event.dispatch.apply(t, arguments) : void 0 }), e = (e || "").match(de) || [""], c = e.length; c--;) a = Ne.exec(e[c]) || [], d = m = a[1], f = (a[2] || "").split(".").sort(), d && (h = Z.event.special[d] || {}, d = (r ? h.delegateType : h.bindType) || d, h = Z.event.special[d] || {}, u = Z.extend({ type: d, origType: m, data: i, handler: n, guid: n.guid, selector: r, needsContext: r && Z.expr.match.needsContext.test(r), namespace: f.join(".") }, o), (p = l[d]) || (p = l[d] = [], p.delegateCount = 0, h.setup && h.setup.call(t, i, f, s) !== !1 || t.addEventListener && t.addEventListener(d, s, !1)), h.add && (h.add.call(t, u), u.handler.guid || (u.handler.guid = n.guid)), r ? p.splice(p.delegateCount++, 0, u) : p.push(u), Z.event.global[d] = !0) }, remove: function(t, e, n, i, r) { var o, s, a, l, c, u, h, p, d, f, m, g = ve.hasData(t) && ve.get(t); if (g && (l = g.events)) { for (e = (e || "").match(de) || [""], c = e.length; c--;) if (a = Ne.exec(e[c]) || [], d = m = a[1], f = (a[2] || "").split(".").sort(), d) { for (h = Z.event.special[d] || {}, d = (i ? h.delegateType : h.bindType) || d, p = l[d] || [], a = a[2] && new RegExp("(^|\\.)" + f.join("\\.(?:.*\\.|)") + "(\\.|$)"), s = o = p.length; o--;) u = p[o], !r && m !== u.origType || n && n.guid !== u.guid || a && !a.test(u.namespace) || i && i !== u.selector && ("**" !== i || !u.selector) || (p.splice(o, 1), u.selector && p.delegateCount--, h.remove && h.remove.call(t, u)); s && !p.length && (h.teardown && h.teardown.call(t, f, g.handle) !== !1 || Z.removeEvent(t, d, g.handle), delete l[d]) } else for (d in l) Z.event.remove(t, d + e[c], n, i, !0); Z.isEmptyObject(l) && (delete g.handle, ve.remove(t, "events")) } }, trigger: function(e, n, i, r) { var o, s, a, l, c, u, h, p = [i || G], d = Q.call(e, "type") ? e.type : e, f = Q.call(e, "namespace") ? e.namespace.split(".") : []; if (s = a = i = i || G, 3 !== i.nodeType && 8 !== i.nodeType && !De.test(d + Z.event.triggered) && (d.indexOf(".") >= 0 && (f = d.split("."), d = f.shift(), f.sort()), c = d.indexOf(":") < 0 && "on" + d, e = e[Z.expando] ? e : new Z.Event(d, "object" == typeof e && e), e.isTrigger = r ? 2 : 3, e.namespace = f.join("."), e.namespace_re = e.namespace ? new RegExp("(^|\\.)" + f.join("\\.(?:.*\\.|)") + "(\\.|$)") : null, e.result = void 0, e.target || (e.target = i), n = null == n ? [e] : Z.makeArray(n, [e]), h = Z.event.special[d] || {}, r || !h.trigger || h.trigger.apply(i, n) !== !1)) { if (!r && !h.noBubble && !Z.isWindow(i)) { for (l = h.delegateType || d, De.test(l + d) || (s = s.parentNode); s; s = s.parentNode) p.push(s), a = s; a === (i.ownerDocument || G) && p.push(a.defaultView || a.parentWindow || t) } for (o = 0; (s = p[o++]) && !e.isPropagationStopped();) e.type = o > 1 ? l : h.bindType || d, u = (ve.get(s, "events") || {})[e.type] && ve.get(s, "handle"), u && u.apply(s, n), u = c && s[c], u && u.apply && Z.acceptData(s) && (e.result = u.apply(s, n), e.result === !1 && e.preventDefault()); return e.type = d, r || e.isDefaultPrevented() || h._default && h._default.apply(p.pop(), n) !== !1 || !Z.acceptData(i) || c && Z.isFunction(i[d]) && !Z.isWindow(i) && (a = i[c], a && (i[c] = null), Z.event.triggered = d, i[d](), Z.event.triggered = void 0, a && (i[c] = a)), e.result } }, dispatch: function(t) { t = Z.event.fix(t); var e, n, i, r, o, s = [], a = B.call(arguments), l = (ve.get(this, "events") || {})[t.type] || [], c = Z.event.special[t.type] || {}; if (a[0] = t, t.delegateTarget = this, !c.preDispatch || c.preDispatch.call(this, t) !== !1) { for (s = Z.event.handlers.call(this, t, l), e = 0; (r = s[e++]) && !t.isPropagationStopped();) for (t.currentTarget = r.elem, n = 0; (o = r.handlers[n++]) && !t.isImmediatePropagationStopped();)(!t.namespace_re || t.namespace_re.test(o.namespace)) && (t.handleObj = o, t.data = o.data, i = ((Z.event.special[o.origType] || {}).handle || o.handler).apply(r.elem, a), void 0 !== i && (t.result = i) === !1 && (t.preventDefault(), t.stopPropagation())); return c.postDispatch && c.postDispatch.call(this, t), t.result } }, handlers: function(t, e) { var n, i, r, o, s = [], a = e.delegateCount, l = t.target; if (a && l.nodeType && (!t.button || "click" !== t.type)) for (; l !== this; l = l.parentNode || this) if (l.disabled !== !0 || "click" !== t.type) { for (i = [], n = 0; a > n; n++) o = e[n], r = o.selector + " ", void 0 === i[r] && (i[r] = o.needsContext ? Z(r, this).index(l) >= 0 : Z.find(r, this, null, [l]).length), i[r] && i.push(o); i.length && s.push({ elem: l, handlers: i }) } return a < e.length && s.push({ elem: this, handlers: e.slice(a) }), s }, props: "altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "), fixHooks: {}, keyHooks: { props: "char charCode key keyCode".split(" "), filter: function(t, e) { return null == t.which && (t.which = null != e.charCode ? e.charCode : e.keyCode), t } }, mouseHooks: { props: "button buttons clientX clientY offsetX offsetY pageX pageY screenX screenY toElement".split(" "), filter: function(t, e) { var n, i, r, o = e.button; return null == t.pageX && null != e.clientX && (n = t.target.ownerDocument || G, i = n.documentElement, r = n.body, t.pageX = e.clientX + (i && i.scrollLeft || r && r.scrollLeft || 0) - (i && i.clientLeft || r && r.clientLeft || 0), t.pageY = e.clientY + (i && i.scrollTop || r && r.scrollTop || 0) - (i && i.clientTop || r && r.clientTop || 0)), t.which || void 0 === o || (t.which = 1 & o ? 1 : 2 & o ? 3 : 4 & o ? 2 : 0), t } }, fix: function(t) { if (t[Z.expando]) return t; var e, n, i, r = t.type, o = t, s = this.fixHooks[r]; for (s || (this.fixHooks[r] = s = Pe.test(r) ? this.mouseHooks : ke.test(r) ? this.keyHooks : {}), i = s.props ? this.props.concat(s.props) : this.props, t = new Z.Event(o), e = i.length; e--;) n = i[e], t[n] = o[n]; return t.target || (t.target = G), 3 === t.target.nodeType && (t.target = t.target.parentNode), s.filter ? s.filter(t, o) : t }, special: { load: { noBubble: !0 }, focus: { trigger: function() { return this !== h() && this.focus ? (this.focus(), !1) : void 0 }, delegateType: "focusin" }, blur: { trigger: function() { return this === h() && this.blur ? (this.blur(), !1) : void 0 }, delegateType: "focusout" }, click: { trigger: function() { return "checkbox" === this.type && this.click && Z.nodeName(this, "input") ? (this.click(), !1) : void 0 }, _default: function(t) { return Z.nodeName(t.target, "a") } }, beforeunload: { postDispatch: function(t) { void 0 !== t.result && t.originalEvent && (t.originalEvent.returnValue = t.result) } } }, simulate: function(t, e, n, i) { var r = Z.extend(new Z.Event, n, { type: t, isSimulated: !0, originalEvent: {} }); i ? Z.event.trigger(r, null, e) : Z.event.dispatch.call(e, r), r.isDefaultPrevented() && n.preventDefault() } }, Z.removeEvent = function(t, e, n) { t.removeEventListener && t.removeEventListener(e, n, !1) }, Z.Event = function(t, e) { return this instanceof Z.Event ? (t && t.type ? (this.originalEvent = t, this.type = t.type, this.isDefaultPrevented = t.defaultPrevented || void 0 === t.defaultPrevented && t.returnValue === !1 ? c : u) : this.type = t, e && Z.extend(this, e), this.timeStamp = t && t.timeStamp || Z.now(), this[Z.expando] = !0, void 0) : new Z.Event(t, e) }, Z.Event.prototype = { isDefaultPrevented: u, isPropagationStopped: u, isImmediatePropagationStopped: u, preventDefault: function() { var t = this.originalEvent; this.isDefaultPrevented = c, t && t.preventDefault && t.preventDefault() }, stopPropagation: function() { var t = this.originalEvent; this.isPropagationStopped = c, t && t.stopPropagation && t.stopPropagation() }, stopImmediatePropagation: function() { var t = this.originalEvent; this.isImmediatePropagationStopped = c, t && t.stopImmediatePropagation && t.stopImmediatePropagation(), this.stopPropagation() } }, Z.each({ mouseenter: "mouseover", mouseleave: "mouseout", pointerenter: "pointerover", pointerleave: "pointerout" }, function(t, e) { Z.event.special[t] = { delegateType: e, bindType: e, handle: function(t) { var n, i = this, r = t.relatedTarget, o = t.handleObj; return (!r || r !== i && !Z.contains(i, r)) && (t.type = o.origType, n = o.handler.apply(this, arguments), t.type = e), n } } }), K.focusinBubbles || Z.each({ focus: "focusin", blur: "focusout" }, function(t, e) { var n = function(t) { Z.event.simulate(e, t.target, Z.event.fix(t), !0) }; Z.event.special[e] = { setup: function() { var i = this.ownerDocument || this, r = ve.access(i, e); r || i.addEventListener(t, n, !0), ve.access(i, e, (r || 0) + 1) }, teardown: function() { var i = this.ownerDocument || this, r = ve.access(i, e) - 1; r ? ve.access(i, e, r) : (i.removeEventListener(t, n, !0), ve.remove(i, e)) } } }), Z.fn.extend({ on: function(t, e, n, i, r) { var o, s; if ("object" == typeof t) { "string" != typeof e && (n = n || e, e = void 0); for (s in t) this.on(s, e, n, t[s], r); return this } if (null == n && null == i ? (i = e, n = e = void 0) : null == i && ("string" == typeof e ? (i = n, n = void 0) : (i = n, n = e, e = void 0)), i === !1) i = u; else if (!i) return this; return 1 === r && (o = i, i = function(t) { return Z().off(t), o.apply(this, arguments) }, i.guid = o.guid || (o.guid = Z.guid++)), this.each(function() { Z.event.add(this, t, i, n, e) }) }, one: function(t, e, n, i) { return this.on(t, e, n, i, 1) }, off: function(t, e, n) { var i, r; if (t && t.preventDefault && t.handleObj) return i = t.handleObj, Z(t.delegateTarget).off(i.namespace ? i.origType + "." + i.namespace : i.origType, i.selector, i.handler), this; if ("object" == typeof t) { for (r in t) this.off(r, e, t[r]); return this } return (e === !1 || "function" == typeof e) && (n = e, e = void 0), n === !1 && (n = u), this.each(function() { Z.event.remove(this, t, n, e) }) }, trigger: function(t, e) { return this.each(function() { Z.event.trigger(t, e, this) }) }, triggerHandler: function(t, e) { var n = this[0]; return n ? Z.event.trigger(t, e, n, !0) : void 0 } }); var Ae = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi, je = /<([\w:]+)/, He = /<|&#?\w+;/, Xe = /<(?:script|style|link)/i, _e = /checked\s*(?:[^=]|=\s*.checked.)/i, Le = /^$|\/(?:java|ecma)script/i, We = /^true\/(.*)/, qe = /^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g, Oe = { option: [1, "<select multiple='multiple'>", "</select>"],

thead: [1, "", "
"], col: [2, "<colgroup>", "</colgroup>
"], tr: [2, "<tbody>", "</tbody>
"], td: [3, "<tbody>", "</tbody>
"],

_default: [0, "", ""] }; Oe.optgroup = Oe.option, Oe.tbody = Oe.tfoot = Oe.colgroup = Oe.caption = Oe.thead, Oe.th = Oe.td, Z.extend({ clone: function(t, e, n) { var i, r, o, s, a = t.cloneNode(!0), l = Z.contains(t.ownerDocument, t); if (!(K.noCloneChecked || 1 !== t.nodeType && 11 !== t.nodeType || Z.isXMLDoc(t))) for (s = v(a), o = v(t), i = 0, r = o.length; r > i; i++) y(o[i], s[i]); if (e) if (n) for (o = o || v(t), s = s || v(a), i = 0, r = o.length; r > i; i++) g(o[i], s[i]); else g(t, a); return s = v(a, "script"), s.length > 0 && m(s, !l && v(t, "script")), a }, buildFragment: function(t, e, n, i) { for (var r, o, s, a, l, c, u = e.createDocumentFragment(), h = [], p = 0, d = t.length; d > p; p++) if (r = t[p], r || 0 === r) if ("object" === Z.type(r)) Z.merge(h, r.nodeType ? [r] : r); else if (He.test(r)) { for (o = o || u.appendChild(e.createElement("div")), s = (je.exec(r) || ["", ""])[1].toLowerCase(), a = Oe[s] || Oe._default, o.innerHTML = a[1] + r.replace(Ae, "<$1></$2>") + a[2], c = a[0]; c--;) o = o.lastChild; Z.merge(h, o.childNodes), o = u.firstChild, o.textContent = "" } else h.push(e.createTextNode(r)); for (u.textContent = "", p = 0; r = h[p++];) if ((!i || -1 === Z.inArray(r, i)) && (l = Z.contains(r.ownerDocument, r), o = v(u.appendChild(r), "script"), l && m(o), n)) for (c = 0; r = o[c++];) Le.test(r.type || "") && n.push(r); return u }, cleanData: function(t) { for (var e, n, i, r, o = Z.event.special, s = 0; void 0 !== (n = t[s]); s++) { if (Z.acceptData(n) && (r = n[ve.expando], r && (e = ve.cache[r]))) { if (e.events) for (i in e.events) o[i] ? Z.event.remove(n, i) : Z.removeEvent(n, i, e.handle); ve.cache[r] && delete ve.cache[r] } delete ye.cache[n[ye.expando]] } } }), Z.fn.extend({ text: function(t) { return ge(this, function(t) { return void 0 === t ? Z.text(this) : this.empty().each(function() { (1 === this.nodeType || 11 === this.nodeType || 9 === this.nodeType) && (this.textContent = t) }) }, null, t, arguments.length) }, append: function() { return this.domManip(arguments, function(t) { if (1 === this.nodeType || 11 === this.nodeType || 9 === this.nodeType) { var e = p(this, t); e.appendChild(t) } }) }, prepend: function() { return this.domManip(arguments, function(t) { if (1 === this.nodeType || 11 === this.nodeType || 9 === this.nodeType) { var e = p(this, t); e.insertBefore(t, e.firstChild) } }) }, before: function() { return this.domManip(arguments, function(t) { this.parentNode && this.parentNode.insertBefore(t, this) }) }, after: function() { return this.domManip(arguments, function(t) { this.parentNode && this.parentNode.insertBefore(t, this.nextSibling) }) }, remove: function(t, e) { for (var n, i = t ? Z.filter(t, this) : this, r = 0; null != (n = i[r]); r++) e || 1 !== n.nodeType || Z.cleanData(v(n)), n.parentNode && (e && Z.contains(n.ownerDocument, n) && m(v(n, "script")), n.parentNode.removeChild(n)); return this }, empty: function() { for (var t, e = 0; null != (t = this[e]); e++) 1 === t.nodeType && (Z.cleanData(v(t, !1)), t.textContent = ""); return this }, clone: function(t, e) { return t = null == t ? !1 : t, e = null == e ? t : e, this.map(function() { return Z.clone(this, t, e) }) }, html: function(t) { return ge(this, function(t) { var e = this[0] || {}, n = 0, i = this.length; if (void 0 === t && 1 === e.nodeType) return e.innerHTML; if ("string" == typeof t && !Xe.test(t) && !Oe[(je.exec(t) || ["", ""])[1].toLowerCase()]) { t = t.replace(Ae, "<$1></$2>"); try { for (; i > n; n++) e = this[n] || {}, 1 === e.nodeType && (Z.cleanData(v(e, !1)), e.innerHTML = t); e = 0 } catch (r) {} } e && this.empty().append(t) }, null, t, arguments.length) }, replaceWith: function() { var t = arguments[0]; return this.domManip(arguments, function(e) { t = this.parentNode, Z.cleanData(v(this)), t && t.replaceChild(e, this) }), t && (t.length || t.nodeType) ? this : this.remove() }, detach: function(t) { return this.remove(t, !0) }, domManip: function(t, e) { t = R.apply([], t); var n, i, r, o, s, a, l = 0, c = this.length, u = this, h = c - 1, p = t[0], m = Z.isFunction(p); if (m || c > 1 && "string" == typeof p && !K.checkClone && _e.test(p)) return this.each(function(n) { var i = u.eq(n); m && (t[0] = p.call(this, n, i.html())), i.domManip(t, e) }); if (c && (n = Z.buildFragment(t, this[0].ownerDocument, !1, this), i = n.firstChild, 1 === n.childNodes.length && (n = i), i)) { for (r = Z.map(v(n, "script"), d), o = r.length; c > l; l++) s = n, l !== h && (s = Z.clone(s, !0, !0), o && Z.merge(r, v(s, "script"))), e.call(this[l], s, l); if (o) for (a = r[r.length - 1].ownerDocument, Z.map(r, f), l = 0; o > l; l++) s = r[l], Le.test(s.type || "") && !ve.access(s, "globalEval") && Z.contains(a, s) && (s.src ? Z._evalUrl && Z._evalUrl(s.src) : Z.globalEval(s.textContent.replace(qe, ""))) } return this } }), Z.each({ appendTo: "append", prependTo: "prepend", insertBefore: "before", insertAfter: "after", replaceAll: "replaceWith" }, function(t, e) { Z.fn[t] = function(t) { for (var n, i = [], r = Z(t), o = r.length - 1, s = 0; o >= s; s++) n = s === o ? this : this.clone(!0), Z(r[s])[e](n), z.apply(i, n.get()); return this.pushStack(i) } }); var Ie, Ye = {}, Me = /^margin/, Fe = new RegExp("^(" + be + ")(?!px)[a-z%]+$", "i"), Be = function(e) { return e.ownerDocument.defaultView.opener ? e.ownerDocument.defaultView.getComputedStyle(e, null) : t.getComputedStyle(e, null) }; ! function() { function e() { s.style.cssText = "-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;display:block;margin-top:1%;top:1%;border:1px;padding:1px;width:4px;position:absolute", s.innerHTML = "", r.appendChild(o); var e = t.getComputedStyle(s, null); n = "1%" !== e.top, i = "4px" === e.width, r.removeChild(o) } var n, i, r = G.documentElement, o = G.createElement("div"), s = G.createElement("div"); s.style && (s.style.backgroundClip = "content-box", s.cloneNode(!0).style.backgroundClip = "", K.clearCloneStyle = "content-box" === s.style.backgroundClip, o.style.cssText = "border:0;width:0;height:0;top:0;left:-9999px;margin-top:1px;position:absolute", o.appendChild(s), t.getComputedStyle && Z.extend(K, { pixelPosition: function() { return e(), n }, boxSizingReliable: function() { return null == i && e(), i }, reliableMarginRight: function() { var e, n = s.appendChild(G.createElement("div")); return n.style.cssText = s.style.cssText = "-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:0", n.style.marginRight = n.style.width = "0", s.style.width = "1px", r.appendChild(o), e = !parseFloat(t.getComputedStyle(n, null).marginRight), r.removeChild(o), s.removeChild(n), e } })) }(), Z.swap = function(t, e, n, i) { var r, o, s = {}; for (o in e) s[o] = t.style[o], t.style[o] = e[o]; r = n.apply(t, i || []); for (o in e) t.style[o] = s[o]; return r }; var Re = /^(none|table(?!-c[ea]).+)/, ze = new RegExp("^(" + be + ")(.*)$", "i"), $e = new RegExp("^([+-])=(" + be + ")", "i"), Ve = { position: "absolute", visibility: "hidden", display: "block" }, Ue = { letterSpacing: "0", fontWeight: "400" }, Qe = ["Webkit", "O", "Moz", "ms"]; Z.extend({ cssHooks: { opacity: { get: function(t, e) { if (e) { var n = b(t, "opacity"); return "" === n ? "1" : n } } } }, cssNumber: { columnCount: !0, fillOpacity: !0, flexGrow: !0, flexShrink: !0, fontWeight: !0, lineHeight: !0, opacity: !0, order: !0, orphans: !0, widows: !0, zIndex: !0, zoom: !0 }, cssProps: { "float": "cssFloat" }, style: function(t, e, n, i) { if (t && 3 !== t.nodeType && 8 !== t.nodeType && t.style) { var r, o, s, a = Z.camelCase(e), l = t.style; return e = Z.cssProps[a] || (Z.cssProps[a] = S(l, a)), s = Z.cssHooks[e] || Z.cssHooks[a], void 0 === n ? s && "get" in s && void 0 !== (r = s.get(t, !1, i)) ? r : l[e] : (o = typeof n, "string" === o && (r = $e.exec(n)) && (n = (r[1] + 1) * r[2] + parseFloat(Z.css(t, e)), o = "number"), null != n && n === n && ("number" !== o || Z.cssNumber[a] || (n += "px"), K.clearCloneStyle || "" !== n || 0 !== e.indexOf("background") || (l[e] = "inherit"), s && "set" in s && void 0 === (n = s.set(t, n, i)) || (l[e] = n)), void 0) } }, css: function(t, e, n, i) { var r, o, s, a = Z.camelCase(e); return e = Z.cssProps[a] || (Z.cssProps[a] = S(t.style, a)), s = Z.cssHooks[e] || Z.cssHooks[a], s && "get" in s && (r = s.get(t, !0, n)), void 0 === r && (r = b(t, e, i)), "normal" === r && e in Ue && (r = Ue[e]), "" === n || n ? (o = parseFloat(r), n === !0 || Z.isNumeric(o) ? o || 0 : r) : r } }), Z.each(["height", "width"], function(t, e) { Z.cssHooks[e] = { get: function(t, n, i) { return n ? Re.test(Z.css(t, "display")) && 0 === t.offsetWidth ? Z.swap(t, Ve, function() { return k(t, e, i) }) : k(t, e, i) : void 0 }, set: function(t, n, i) { var r = i && Be(t); return E(t, n, i ? C(t, e, i, "border-box" === Z.css(t, "boxSizing", !1, r), r) : 0) } } }), Z.cssHooks.marginRight = T(K.reliableMarginRight, function(t, e) { return e ? Z.swap(t, { display: "inline-block" }, b, [t, "marginRight"]) : void 0 }), Z.each({ margin: "", padding: "", border: "Width" }, function(t, e) { Z.cssHooks[t + e] = { expand: function(n) { for (var i = 0, r = {}, o = "string" == typeof n ? n.split(" ") : [n]; 4 > i; i++) r[t + Te[i] + e] = o[i] || o[i - 2] || o[0]; return r } }, Me.test(t) || (Z.cssHooks[t + e].set = E) }), Z.fn.extend({ css: function(t, e) { return ge(this, function(t, e, n) { var i, r, o = {}, s = 0; if (Z.isArray(e)) { for (i = Be(t), r = e.length; r > s; s++) o[e[s]] = Z.css(t, e[s], !1, i); return o } return void 0 !== n ? Z.style(t, e, n) : Z.css(t, e) }, t, e, arguments.length > 1) }, show: function() { return P(this, !0) }, hide: function() { return P(this) }, toggle: function(t) { return "boolean" == typeof t ? t ? this.show() : this.hide() : this.each(function() { Se(this) ? Z(this).show() : Z(this).hide() }) } }), Z.Tween = D, D.prototype = { constructor: D, init: function(t, e, n, i, r, o) { this.elem = t, this.prop = n, this.easing = r || "swing", this.options = e, this.start = this.now = this.cur(), this.end = i, this.unit = o || (Z.cssNumber[n] ? "" : "px") }, cur: function() { var t = D.propHooks[this.prop]; return t && t.get ? t.get(this) : D.propHooks._default.get(this) }, run: function(t) { var e, n = D.propHooks[this.prop]; return this.pos = e = this.options.duration ? Z.easing[this.easing](t, this.options.duration * t, 0, 1, this.options.duration) : t, this.now = (this.end - this.start) * e + this.start, this.options.step && this.options.step.call(this.elem, this.now, this), n && n.set ? n.set(this) : D.propHooks._default.set(this), this } }, D.prototype.init.prototype = D.prototype, D.propHooks = { _default: { get: function(t) { var e; return null == t.elem[t.prop] || t.elem.style && null != t.elem.style[t.prop] ? (e = Z.css(t.elem, t.prop, ""), e && "auto" !== e ? e : 0) : t.elem[t.prop] }, set: function(t) { Z.fx.step[t.prop] ? Z.fx.step[t.prop](t) : t.elem.style && (null != t.elem.style[Z.cssProps[t.prop]] || Z.cssHooks[t.prop]) ? Z.style(t.elem, t.prop, t.now + t.unit) : t.elem[t.prop] = t.now } } }, D.propHooks.scrollTop = D.propHooks.scrollLeft = { set: function(t) { t.elem.nodeType && t.elem.parentNode && (t.elem[t.prop] = t.now) } }, Z.easing = { linear: function(t) { return t }, swing: function(t) { return .5 - Math.cos(t * Math.PI) / 2 } }, Z.fx = D.prototype.init, Z.fx.step = {}; var Ke, Ge, Je = /^(?:toggle|show|hide)$/, Ze = new RegExp("^(?:([+-])=|)(" + be + ")([a-z%]*)$", "i"), tn = /queueHooks$/, en = [H], nn = { "*": [ function(t, e) { var n = this.createTween(t, e), i = n.cur(), r = Ze.exec(e), o = r && r[3] || (Z.cssNumber[t] ? "" : "px"), s = (Z.cssNumber[t] || "px" !== o && +i) && Ze.exec(Z.css(n.elem, t)), a = 1, l = 20; if (s && s[3] !== o) { o = o || s[3], r = r || [], s = +i || 1; do a = a || ".5", s /= a, Z.style(n.elem, t, s + o); while (a !== (a = n.cur() / i) && 1 !== a && --l) } return r && (s = n.start = +s || +i || 0, n.unit = o, n.end = r[1] ? s + (r[1] + 1) * r[2] : +r[2]), n } ] }; Z.Animation = Z.extend(_, { tweener: function(t, e) { Z.isFunction(t) ? (e = t, t = ["*"]) : t = t.split(" "); for (var n, i = 0, r = t.length; r > i; i++) n = t[i], nn[n] = nn[n] || [], nn[n].unshift(e) }, prefilter: function(t, e) { e ? en.unshift(t) : en.push(t) } }), Z.speed = function(t, e, n) { var i = t && "object" == typeof t ? Z.extend({}, t) : { complete: n || !n && e || Z.isFunction(t) && t, duration: t, easing: n && e || e && !Z.isFunction(e) && e }; return i.duration = Z.fx.off ? 0 : "number" == typeof i.duration ? i.duration : i.duration in Z.fx.speeds ? Z.fx.speeds[i.duration] : Z.fx.speeds._default, (null == i.queue || i.queue === !0) && (i.queue = "fx"), i.old = i.complete, i.complete = function() { Z.isFunction(i.old) && i.old.call(this), i.queue && Z.dequeue(this, i.queue) }, i }, Z.fn.extend({ fadeTo: function(t, e, n, i) { return this.filter(Se).css("opacity", 0).show().end().animate({ opacity: e }, t, n, i) }, animate: function(t, e, n, i) { var r = Z.isEmptyObject(t), o = Z.speed(e, n, i), s = function() { var e = _(this, Z.extend({}, t), o); (r || ve.get(this, "finish")) && e.stop(!0) }; return s.finish = s, r || o.queue === !1 ? this.each(s) : this.queue(o.queue, s) }, stop: function(t, e, n) { var i = function(t) { var e = t.stop; delete t.stop, e(n) }; return "string" != typeof t && (n = e, e = t, t = void 0), e && t !== !1 && this.queue(t || "fx", []), this.each(function() { var e = !0, r = null != t && t + "queueHooks", o = Z.timers, s = ve.get(this); if (r) s[r] && s[r].stop && i(s[r]); else for (r in s) s[r] && s[r].stop && tn.test(r) && i(s[r]); for (r = o.length; r--;) o[r].elem !== this || null != t && o[r].queue !== t || (o[r].anim.stop(n), e = !1, o.splice(r, 1)); (e || !n) && Z.dequeue(this, t) }) }, finish: function(t) { return t !== !1 && (t = t || "fx"), this.each(function() { var e, n = ve.get(this), i = n[t + "queue"], r = n[t + "queueHooks"], o = Z.timers, s = i ? i.length : 0; for (n.finish = !0, Z.queue(this, t, []), r && r.stop && r.stop.call(this, !0), e = o.length; e--;) o[e].elem === this && o[e].queue === t && (o[e].anim.stop(!0), o.splice(e, 1)); for (e = 0; s > e; e++) i[e] && i[e].finish && i[e].finish.call(this); delete n.finish }) } }), Z.each(["toggle", "show", "hide"], function(t, e) { var n = Z.fn[e]; Z.fn[e] = function(t, i, r) { return null == t || "boolean" == typeof t ? n.apply(this, arguments) : this.animate(A(e, !0), t, i, r) } }), Z.each({ slideDown: A("show"), slideUp: A("hide"), slideToggle: A("toggle"), fadeIn: { opacity: "show" }, fadeOut: { opacity: "hide" }, fadeToggle: { opacity: "toggle" } }, function(t, e) { Z.fn[t] = function(t, n, i) { return this.animate(e, t, n, i) } }), Z.timers = [], Z.fx.tick = function() { var t, e = 0, n = Z.timers; for (Ke = Z.now(); e < n.length; e++) t = n[e], t() || n[e] !== t || n.splice(e--, 1); n.length || Z.fx.stop(), Ke = void 0 }, Z.fx.timer = function(t) { Z.timers.push(t), t() ? Z.fx.start() : Z.timers.pop() }, Z.fx.interval = 13, Z.fx.start = function() { Ge || (Ge = setInterval(Z.fx.tick, Z.fx.interval)) }, Z.fx.stop = function() { clearInterval(Ge), Ge = null }, Z.fx.speeds = { slow: 600, fast: 200, _default: 400 }, Z.fn.delay = function(t, e) { return t = Z.fx ? Z.fx.speeds[t] || t : t, e = e || "fx", this.queue(e, function(e, n) { var i = setTimeout(e, t); n.stop = function() { clearTimeout(i) } }) }, function() { var t = G.createElement("input"), e = G.createElement("select"), n = e.appendChild(G.createElement("option")); t.type = "checkbox", K.checkOn = "" !== t.value, K.optSelected = n.selected, e.disabled = !0, K.optDisabled = !n.disabled, t = G.createElement("input"), t.value = "t", t.type = "radio", K.radioValue = "t" === t.value }(); var rn, on, sn = Z.expr.attrHandle; Z.fn.extend({ attr: function(t, e) { return ge(this, Z.attr, t, e, arguments.length > 1) }, removeAttr: function(t) { return this.each(function() { Z.removeAttr(this, t) }) } }), Z.extend({ attr: function(t, e, n) { var i, r, o = t.nodeType; if (t && 3 !== o && 8 !== o && 2 !== o) return typeof t.getAttribute === Ce ? Z.prop(t, e, n) : (1 === o && Z.isXMLDoc(t) || (e = e.toLowerCase(), i = Z.attrHooks[e] || (Z.expr.match.bool.test(e) ? on : rn)), void 0 === n ? i && "get" in i && null !== (r = i.get(t, e)) ? r : (r = Z.find.attr(t, e), null == r ? void 0 : r) : null !== n ? i && "set" in i && void 0 !== (r = i.set(t, n, e)) ? r : (t.setAttribute(e, n + ""), n) : (Z.removeAttr(t, e), void 0)) }, removeAttr: function(t, e) { var n, i, r = 0, o = e && e.match(de); if (o && 1 === t.nodeType) for (; n = o[r++];) i = Z.propFix[n] || n, Z.expr.match.bool.test(n) && (t[i] = !1), t.removeAttribute(n) }, attrHooks: { type: { set: function(t, e) { if (!K.radioValue && "radio" === e && Z.nodeName(t, "input")) { var n = t.value; return t.setAttribute("type", e), n && (t.value = n), e } } } } }), on = { set: function(t, e, n) { return e === !1 ? Z.removeAttr(t, n) : t.setAttribute(n, n), n } }, Z.each(Z.expr.match.bool.source.match(/\w+/g), function(t, e) { var n = sn[e] || Z.find.attr; sn[e] = function(t, e, i) { var r, o; return i || (o = sn[e], sn[e] = r, r = null != n(t, e, i) ? e.toLowerCase() : null, sn[e] = o), r } }); var an = /^(?:input|select|textarea|button)$/i; Z.fn.extend({ prop: function(t, e) { return ge(this, Z.prop, t, e, arguments.length > 1) }, removeProp: function(t) { return this.each(function() { delete this[Z.propFix[t] || t] }) } }), Z.extend({ propFix: { "for": "htmlFor", "class": "className" }, prop: function(t, e, n) { var i, r, o, s = t.nodeType; if (t && 3 !== s && 8 !== s && 2 !== s) return o = 1 !== s || !Z.isXMLDoc(t), o && (e = Z.propFix[e] || e, r = Z.propHooks[e]), void 0 !== n ? r && "set" in r && void 0 !== (i = r.set(t, n, e)) ? i : t[e] = n : r && "get" in r && null !== (i = r.get(t, e)) ? i : t[e] }, propHooks: { tabIndex: { get: function(t) { return t.hasAttribute("tabindex") || an.test(t.nodeName) || t.href ? t.tabIndex : -1 } } } }), K.optSelected || (Z.propHooks.selected = { get: function(t) { var e = t.parentNode; return e && e.parentNode && e.parentNode.selectedIndex, null } }), Z.each(["tabIndex", "readOnly", "maxLength", "cellSpacing", "cellPadding", "rowSpan", "colSpan", "useMap", "frameBorder", "contentEditable"], function() { Z.propFix[this.toLowerCase()] = this }); var ln = /[\t\r\n\f]/g; Z.fn.extend({ addClass: function(t) { var e, n, i, r, o, s, a = "string" == typeof t && t, l = 0, c = this.length; if (Z.isFunction(t)) return this.each(function(e) { Z(this).addClass(t.call(this, e, this.className)) }); if (a) for (e = (t || "").match(de) || []; c > l; l++) if (n = this[l], i = 1 === n.nodeType && (n.className ? (" " + n.className + " ").replace(ln, " ") : " ")) { for (o = 0; r = e[o++];) i.indexOf(" " + r + " ") < 0 && (i += r + " "); s = Z.trim(i), n.className !== s && (n.className = s) } return this }, removeClass: function(t) { var e, n, i, r, o, s, a = 0 === arguments.length || "string" == typeof t && t, l = 0, c = this.length; if (Z.isFunction(t)) return this.each(function(e) { Z(this).removeClass(t.call(this, e, this.className)) }); if (a) for (e = (t || "").match(de) || []; c > l; l++) if (n = this[l], i = 1 === n.nodeType && (n.className ? (" " + n.className + " ").replace(ln, " ") : "")) { for (o = 0; r = e[o++];) for (; i.indexOf(" " + r + " ") >= 0;) i = i.replace(" " + r + " ", " "); s = t ? Z.trim(i) : "", n.className !== s && (n.className = s) } return this }, toggleClass: function(t, e) { var n = typeof t; return "boolean" == typeof e && "string" === n ? e ? this.addClass(t) : this.removeClass(t) : Z.isFunction(t) ? this.each(function(n) { Z(this).toggleClass(t.call(this, n, this.className, e), e) }) : this.each(function() { if ("string" === n) for (var e, i = 0, r = Z(this), o = t.match(de) || []; e = o[i++];) r.hasClass(e) ? r.removeClass(e) : r.addClass(e); else(n === Ce || "boolean" === n) && (this.className && ve.set(this, "__className__", this.className), this.className = this.className || t === !1 ? "" : ve.get(this, "__className__") || "") }) }, hasClass: function(t) { for (var e = " " + t + " ", n = 0, i = this.length; i > n; n++) if (1 === this[n].nodeType && (" " + this[n].className + " ").replace(ln, " ").indexOf(e) >= 0) return !0; return !1 } }); var cn = /\r/g; Z.fn.extend({ val: function(t) { var e, n, i, r = this[0]; { if (arguments.length) return i = Z.isFunction(t), this.each(function(n) { var r; 1 === this.nodeType && (r = i ? t.call(this, n, Z(this).val()) : t, null == r ? r = "" : "number" == typeof r ? r += "" : Z.isArray(r) && (r = Z.map(r, function(t) { return null == t ? "" : t + "" })), e = Z.valHooks[this.type] || Z.valHooks[this.nodeName.toLowerCase()], e && "set" in e && void 0 !== e.set(this, r, "value") || (this.value = r)) }); if (r) return e = Z.valHooks[r.type] || Z.valHooks[r.nodeName.toLowerCase()], e && "get" in e && void 0 !== (n = e.get(r, "value")) ? n : (n = r.value, "string" == typeof n ? n.replace(cn, "") : null == n ? "" : n) } } }), Z.extend({ valHooks: { option: { get: function(t) { var e = Z.find.attr(t, "value"); return null != e ? e : Z.trim(Z.text(t)) } }, select: { get: function(t) { for (var e, n, i = t.options, r = t.selectedIndex, o = "select-one" === t.type || 0 > r, s = o ? null : [], a = o ? r + 1 : i.length, l = 0 > r ? a : o ? r : 0; a > l; l++) if (n = i[l], !(!n.selected && l !== r || (K.optDisabled ? n.disabled : null !== n.getAttribute("disabled")) || n.parentNode.disabled && Z.nodeName(n.parentNode, "optgroup"))) { if (e = Z(n).val(), o) return e; s.push(e) } return s }, set: function(t, e) { for (var n, i, r = t.options, o = Z.makeArray(e), s = r.length; s--;) i = r[s], (i.selected = Z.inArray(i.value, o) >= 0) && (n = !0); return n || (t.selectedIndex = -1), o } } } }), Z.each(["radio", "checkbox"], function() { Z.valHooks[this] = { set: function(t, e) { return Z.isArray(e) ? t.checked = Z.inArray(Z(t).val(), e) >= 0 : void 0 } }, K.checkOn || (Z.valHooks[this].get = function(t) { return null === t.getAttribute("value") ? "on" : t.value }) }), Z.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(t, e) { Z.fn[e] = function(t, n) { return arguments.length > 0 ? this.on(e, null, t, n) : this.trigger(e) } }), Z.fn.extend({ hover: function(t, e) { return this.mouseenter(t).mouseleave(e || t) }, bind: function(t, e, n) { return this.on(t, null, e, n) }, unbind: function(t, e) { return this.off(t, null, e) }, delegate: function(t, e, n, i) { return this.on(e, t, n, i) }, undelegate: function(t, e, n) { return 1 === arguments.length ? this.off(t, "**") : this.off(e, t || "**", n) } }); var un = Z.now(), hn = /\?/; Z.parseJSON = function(t) { return JSON.parse(t + "") }, Z.parseXML = function(t) { var e, n; if (!t || "string" != typeof t) return null; try { n = new DOMParser, e = n.parseFromString(t, "text/xml") } catch (i) { e = void 0 } return (!e || e.getElementsByTagName("parsererror").length) && Z.error("Invalid XML: " + t), e }; var pn = /#.*$/, dn = /([?&])_=[^&]*/, fn = /^(.*?):[ \t]*([^\r\n]*)$/gm, mn = /^(?:about|app|app-storage|.+-extension|file|res|widget):$/, gn = /^(?:GET|HEAD)$/, vn = /^\/\//, yn = /^([\w.+-]+:)(?:\/\/(?:[^\/?#]*@|)([^\/?#:]*)(?::(\d+)|)|)/, xn = {}, wn = {}, bn = "*/".concat("*"), Tn = t.location.href, Sn = yn.exec(Tn.toLowerCase()) || []; Z.extend({ active: 0, lastModified: {}, etag: {}, ajaxSettings: { url: Tn, type: "GET", isLocal: mn.test(Sn[1]), global: !0, processData: !0, async: !0, contentType: "application/x-www-form-urlencoded; charset=UTF-8", accepts: { "*": bn, text: "text/plain", html: "text/html", xml: "application/xml, text/xml", json: "application/json, text/javascript" }, contents: { xml: /xml/, html: /html/, json: /json/ }, responseFields: { xml: "responseXML", text: "responseText", json: "responseJSON" }, converters: { "* text": String, "text html": !0, "text json": Z.parseJSON, "text xml": Z.parseXML }, flatOptions: { url: !0, context: !0 } }, ajaxSetup: function(t, e) { return e ? q(q(t, Z.ajaxSettings), e) : q(Z.ajaxSettings, t) }, ajaxPrefilter: L(xn), ajaxTransport: L(wn), ajax: function(t, e) { function n(t, e, n, s) { var l, u, v, y, w, T = e; 2 !== x && (x = 2, a && clearTimeout(a), i = void 0, o = s || "", b.readyState = t > 0 ? 4 : 0, l = t >= 200 && 300 > t || 304 === t, n && (y = O(h, b, n)), y = I(h, y, b, l), l ? (h.ifModified && (w = b.getResponseHeader("Last-Modified"), w && (Z.lastModified[r] = w), w = b.getResponseHeader("etag"), w && (Z.etag[r] = w)), 204 === t || "HEAD" === h.type ? T = "nocontent" : 304 === t ? T = "notmodified" : (T = y.state, u = y.data, v = y.error, l = !v)) : (v = T, (t || !T) && (T = "error", 0 > t && (t = 0))), b.status = t, b.statusText = (e || T) + "", l ? f.resolveWith(p, [u, T, b]) : f.rejectWith(p, [b, T, v]), b.statusCode(g), g = void 0, c && d.trigger(l ? "ajaxSuccess" : "ajaxError", [b, h, l ? u : v]), m.fireWith(p, [b, T]), c && (d.trigger("ajaxComplete", [b, h]), --Z.active || Z.event.trigger("ajaxStop"))) } "object" == typeof t && (e = t, t = void 0), e = e || {}; var i, r, o, s, a, l, c, u, h = Z.ajaxSetup({}, e), p = h.context || h, d = h.context && (p.nodeType || p.jquery) ? Z(p) : Z.event, f = Z.Deferred(), m = Z.Callbacks("once memory"), g = h.statusCode || {}, v = {}, y = {}, x = 0, w = "canceled", b = { readyState: 0, getResponseHeader: function(t) { var e; if (2 === x) { if (!s) for (s = {}; e = fn.exec(o);) s[e[1].toLowerCase()] = e[2]; e = s[t.toLowerCase()] } return null == e ? null : e }, getAllResponseHeaders: function() { return 2 === x ? o : null }, setRequestHeader: function(t, e) { var n = t.toLowerCase(); return x || (t = y[n] = y[n] || t, v[t] = e), this }, overrideMimeType: function(t) { return x || (h.mimeType = t), this }, statusCode: function(t) { var e; if (t) if (2 > x) for (e in t) g[e] = [g[e], t[e]]; else b.always(t[b.status]); return this }, abort: function(t) { var e = t || w; return i && i.abort(e), n(0, e), this } }; if (f.promise(b).complete = m.add, b.success = b.done, b.error = b.fail, h.url = ((t || h.url || Tn) + "").replace(pn, "").replace(vn, Sn[1] + "//"), h.type = e.method || e.type || h.method || h.type, h.dataTypes = Z.trim(h.dataType || "*").toLowerCase().match(de) || [""], null == h.crossDomain && (l = yn.exec(h.url.toLowerCase()), h.crossDomain = !(!l || l[1] === Sn[1] && l[2] === Sn[2] && (l[3] || ("http:" === l[1] ? "80" : "443")) === (Sn[3] || ("http:" === Sn[1] ? "80" : "443")))), h.data && h.processData && "string" != typeof h.data && (h.data = Z.param(h.data, h.traditional)), W(xn, h, e, b), 2 === x) return b; c = Z.event && h.global, c && 0 === Z.active++ && Z.event.trigger("ajaxStart"), h.type = h.type.toUpperCase(), h.hasContent = !gn.test(h.type), r = h.url, h.hasContent || (h.data && (r = h.url += (hn.test(r) ? "&" : "?") + h.data, delete h.data), h.cache === !1 && (h.url = dn.test(r) ? r.replace(dn, "$1_=" + un++) : r + (hn.test(r) ? "&" : "?") + "_=" + un++)), h.ifModified && (Z.lastModified[r] && b.setRequestHeader("If-Modified-Since", Z.lastModified[r]), Z.etag[r] && b.setRequestHeader("If-None-Match", Z.etag[r])), (h.data && h.hasContent && h.contentType !== !1 || e.contentType) && b.setRequestHeader("Content-Type", h.contentType), b.setRequestHeader("Accept", h.dataTypes[0] && h.accepts[h.dataTypes[0]] ? h.accepts[h.dataTypes[0]] + ("*" !== h.dataTypes[0] ? ", " + bn + "; q=0.01" : "") : h.accepts["*"]); for (u in h.headers) b.setRequestHeader(u, h.headers[u]); if (h.beforeSend && (h.beforeSend.call(p, b, h) === !1 || 2 === x)) return b.abort(); w = "abort"; for (u in { success: 1, error: 1, complete: 1 }) b[u](h[u]); if (i = W(wn, h, e, b)) { b.readyState = 1, c && d.trigger("ajaxSend", [b, h]), h.async && h.timeout > 0 && (a = setTimeout(function() { b.abort("timeout") }, h.timeout)); try { x = 1, i.send(v, n) } catch (T) { if (!(2 > x)) throw T; n(-1, T) } } else n(-1, "No Transport"); return b }, getJSON: function(t, e, n) { return Z.get(t, e, n, "json") }, getScript: function(t, e) { return Z.get(t, void 0, e, "script") } }), Z.each(["get", "post"], function(t, e) { Z[e] = function(t, n, i, r) { return Z.isFunction(n) && (r = r || i, i = n, n = void 0), Z.ajax({ url: t, type: e, dataType: r, data: n, success: i }) } }), Z._evalUrl = function(t) { return Z.ajax({ url: t, type: "GET", dataType: "script", async: !1, global: !1, "throws": !0 }) }, Z.fn.extend({ wrapAll: function(t) { var e; return Z.isFunction(t) ? this.each(function(e) { Z(this).wrapAll(t.call(this, e)) }) : (this[0] && (e = Z(t, this[0].ownerDocument).eq(0).clone(!0), this[0].parentNode && e.insertBefore(this[0]), e.map(function() { for (var t = this; t.firstElementChild;) t = t.firstElementChild; return t }).append(this)), this) }, wrapInner: function(t) { return Z.isFunction(t) ? this.each(function(e) { Z(this).wrapInner(t.call(this, e)) }) : this.each(function() { var e = Z(this), n = e.contents(); n.length ? n.wrapAll(t) : e.append(t) }) }, wrap: function(t) { var e = Z.isFunction(t); return this.each(function(n) { Z(this).wrapAll(e ? t.call(this, n) : t) }) }, unwrap: function() { return this.parent().each(function() { Z.nodeName(this, "body") || Z(this).replaceWith(this.childNodes) }).end() } }), Z.expr.filters.hidden = function(t) { return t.offsetWidth <= 0 && t.offsetHeight <= 0 }, Z.expr.filters.visible = function(t) { return !Z.expr.filters.hidden(t) }; var En = /%20/g, Cn = /\[\]$/, kn = /\r?\n/g, Pn = /^(?:submit|button|image|reset|file)$/i, Dn = /^(?:input|select|textarea|keygen)/i; Z.param = function(t, e) { var n, i = [], r = function(t, e) { e = Z.isFunction(e) ? e() : null == e ? "" : e, i[i.length] = encodeURIComponent(t) + "=" + encodeURIComponent(e) }; if (void 0 === e && (e = Z.ajaxSettings && Z.ajaxSettings.traditional), Z.isArray(t) || t.jquery && !Z.isPlainObject(t)) Z.each(t, function() { r(this.name, this.value) }); else for (n in t) Y(n, t[n], e, r); return i.join("&").replace(En, "+") }, Z.fn.extend({ serialize: function() { return Z.param(this.serializeArray()) }, serializeArray: function() { return this.map(function() { var t = Z.prop(this, "elements"); return t ? Z.makeArray(t) : this }).filter(function() { var t = this.type; return this.name && !Z(this).is(":disabled") && Dn.test(this.nodeName) && !Pn.test(t) && (this.checked || !Ee.test(t)) }).map(function(t, e) { var n = Z(this).val(); return null == n ? null : Z.isArray(n) ? Z.map(n, function(t) { return { name: e.name, value: t.replace(kn, "\r\n") } }) : { name: e.name, value: n.replace(kn, "\r\n") } }).get() } }), Z.ajaxSettings.xhr = function() { try { return new XMLHttpRequest } catch (t) {} }; var Nn = 0, An = {}, jn = { 0: 200, 1223: 204 }, Hn = Z.ajaxSettings.xhr(); t.attachEvent && t.attachEvent("onunload", function() { for (var t in An) An[t]() }), K.cors = !!Hn && "withCredentials" in Hn, K.ajax = Hn = !!Hn, Z.ajaxTransport(function(t) { var e; return K.cors || Hn && !t.crossDomain ? { send: function(n, i) { var r, o = t.xhr(), s = ++Nn; if (o.open(t.type, t.url, t.async, t.username, t.password), t.xhrFields) for (r in t.xhrFields) o[r] = t.xhrFields[r]; t.mimeType && o.overrideMimeType && o.overrideMimeType(t.mimeType), t.crossDomain || n["X-Requested-With"] || (n["X-Requested-With"] = "XMLHttpRequest"); for (r in n) o.setRequestHeader(r, n[r]); e = function(t) { return function() { e && (delete An[s], e = o.onload = o.onerror = null, "abort" === t ? o.abort() : "error" === t ? i(o.status, o.statusText) : i(jn[o.status] || o.status, o.statusText, "string" == typeof o.responseText ? { text: o.responseText } : void 0, o.getAllResponseHeaders())) } }, o.onload = e(), o.onerror = e("error"), e = An[s] = e("abort"); try { o.send(t.hasContent && t.data || null) } catch (a) { if (e) throw a } }, abort: function() { e && e() } } : void 0 }), Z.ajaxSetup({ accepts: { script: "text/javascript, application/javascript, application/ecmascript, application/x-ecmascript" }, contents: { script: /(?:java|ecma)script/ }, converters: { "text script": function(t) { return Z.globalEval(t), t } } }), Z.ajaxPrefilter("script", function(t) { void 0 === t.cache && (t.cache = !1), t.crossDomain && (t.type = "GET") }), Z.ajaxTransport("script", function(t) { if (t.crossDomain) { var e, n; return { send: function(i, r) { e = Z("<script>").prop({ async: !0, charset: t.scriptCharset, src: t.url }).on("load error", n = function(t) { e.remove(), n = null, t && r("error" === t.type ? 404 : 200, t.type) }), G.head.appendChild(e[0]) }, abort: function() { n && n() } } } }); var Xn = [], _n = /(=)\?(?=&|$)|\?\?/; Z.ajaxSetup({ jsonp: "callback", jsonpCallback: function() { var t = Xn.pop() || Z.expando + "_" + un++; return this[t] = !0, t } }), Z.ajaxPrefilter("json jsonp", function(e, n, i) { var r, o, s, a = e.jsonp !== !1 && (_n.test(e.url) ? "url" : "string" == typeof e.data && !(e.contentType || "").indexOf("application/x-www-form-urlencoded") && _n.test(e.data) && "data"); return a || "jsonp" === e.dataTypes[0] ? (r = e.jsonpCallback = Z.isFunction(e.jsonpCallback) ? e.jsonpCallback() : e.jsonpCallback, a ? e[a] = e[a].replace(_n, "$1" + r) : e.jsonp !== !1 && (e.url += (hn.test(e.url) ? "&" : "?") + e.jsonp + "=" + r), e.converters["script json"] = function() { return s || Z.error(r + " was not called"), s[0] }, e.dataTypes[0] = "json", o = t[r], t[r] = function() { s = arguments }, i.always(function() { t[r] = o, e[r] && (e.jsonpCallback = n.jsonpCallback, Xn.push(r)), s && Z.isFunction(o) && o(s[0]), s = o = void 0 }), "script") : void 0 }), Z.parseHTML = function(t, e, n) { if (!t || "string" != typeof t) return null; "boolean" == typeof e && (n = e, e = !1), e = e || G; var i = se.exec(t), r = !n && []; return i ? [e.createElement(i[1])] : (i = Z.buildFragment([t], e, r), r && r.length && Z(r).remove(), Z.merge([], i.childNodes)) }; var Ln = Z.fn.load; Z.fn.load = function(t, e, n) { if ("string" != typeof t && Ln) return Ln.apply(this, arguments); var i, r, o, s = this, a = t.indexOf(" "); return a >= 0 && (i = Z.trim(t.slice(a)), t = t.slice(0, a)), Z.isFunction(e) ? (n = e, e = void 0) : e && "object" == typeof e && (r = "POST"), s.length > 0 && Z.ajax({ url: t, type: r, dataType: "html", data: e }).done(function(t) {

o = arguments, s.html(i ? Z("
").append(Z.parseHTML(t)).find(i) : t)

}).complete(n && function(t, e) { s.each(n, o || [t.responseText, e, t]) }), this }, Z.each(["ajaxStart", "ajaxStop", "ajaxComplete", "ajaxError", "ajaxSuccess", "ajaxSend"], function(t, e) { Z.fn[e] = function(t) { return this.on(e, t) } }), Z.expr.filters.animated = function(t) { return Z.grep(Z.timers, function(e) { return t === e.elem }).length }; var Wn = t.document.documentElement; Z.offset = { setOffset: function(t, e, n) { var i, r, o, s, a, l, c, u = Z.css(t, "position"), h = Z(t), p = {}; "static" === u && (t.style.position = "relative"), a = h.offset(), o = Z.css(t, "top"), l = Z.css(t, "left"), c = ("absolute" === u || "fixed" === u) && (o + l).indexOf("auto") > -1, c ? (i = h.position(), s = i.top, r = i.left) : (s = parseFloat(o) || 0, r = parseFloat(l) || 0), Z.isFunction(e) && (e = e.call(t, n, a)), null != e.top && (p.top = e.top - a.top + s), null != e.left && (p.left = e.left - a.left + r), "using" in e ? e.using.call(t, p) : h.css(p) } }, Z.fn.extend({ offset: function(t) { if (arguments.length) return void 0 === t ? this : this.each(function(e) { Z.offset.setOffset(this, t, e) }); var e, n, i = this[0], r = { top: 0, left: 0 }, o = i && i.ownerDocument; if (o) return e = o.documentElement, Z.contains(e, i) ? (typeof i.getBoundingClientRect !== Ce && (r = i.getBoundingClientRect()), n = M(o), { top: r.top + n.pageYOffset - e.clientTop, left: r.left + n.pageXOffset - e.clientLeft }) : r }, position: function() { if (this[0]) { var t, e, n = this[0], i = { top: 0, left: 0 }; return "fixed" === Z.css(n, "position") ? e = n.getBoundingClientRect() : (t = this.offsetParent(), e = this.offset(), Z.nodeName(t[0], "html") || (i = t.offset()), i.top += Z.css(t[0], "borderTopWidth", !0), i.left += Z.css(t[0], "borderLeftWidth", !0)), { top: e.top - i.top - Z.css(n, "marginTop", !0), left: e.left - i.left - Z.css(n, "marginLeft", !0) } } }, offsetParent: function() { return this.map(function() { for (var t = this.offsetParent || Wn; t && !Z.nodeName(t, "html") && "static" === Z.css(t, "position");) t = t.offsetParent; return t || Wn }) } }), Z.each({ scrollLeft: "pageXOffset", scrollTop: "pageYOffset" }, function(e, n) { var i = "pageYOffset" === n; Z.fn[e] = function(r) { return ge(this, function(e, r, o) { var s = M(e); return void 0 === o ? s ? s[n] : e[r] : (s ? s.scrollTo(i ? t.pageXOffset : o, i ? o : t.pageYOffset) : e[r] = o, void 0) }, e, r, arguments.length, null) } }), Z.each(["top", "left"], function(t, e) { Z.cssHooks[e] = T(K.pixelPosition, function(t, n) { return n ? (n = b(t, e), Fe.test(n) ? Z(t).position()[e] + "px" : n) : void 0 }) }), Z.each({ Height: "height", Width: "width" }, function(t, e) { Z.each({ padding: "inner" + t, content: e, "": "outer" + t }, function(n, i) { Z.fn[i] = function(i, r) { var o = arguments.length && (n || "boolean" != typeof i), s = n || (i === !0 || r === !0 ? "margin" : "border"); return ge(this, function(e, n, i) { var r; return Z.isWindow(e) ? e.document.documentElement["client" + t] : 9 === e.nodeType ? (r = e.documentElement, Math.max(e.body["scroll" + t], r["scroll" + t], e.body["offset" + t], r["offset" + t], r["client" + t])) : void 0 === i ? Z.css(e, n, s) : Z.style(e, n, i, s) }, e, o ? i : void 0, o, null) } }) }), Z.fn.size = function() { return this.length }, Z.fn.andSelf = Z.fn.addBack, "function" == typeof define && define.amd && define("jquery", [], function() { return Z }); var qn = t.jQuery, On = t.$; return Z.noConflict = function(e) { return t.$ === Z && (t.$ = On), e && t.jQuery === Z && (t.jQuery = qn), Z }, typeof e === Ce && (t.jQuery = t.$ = Z), Z }), + function(t) { "use strict";

function e(e) { return this.each(function() { var i = t(this), r = i.data("bs.carousel"), o = t.extend({}, n.DEFAULTS, i.data(), "object" == typeof e && e), s = "string" == typeof e ? e : o.slide; r || i.data("bs.carousel", r = new n(this, o)), "number" == typeof e ? r.to(e) : s ? r[s]() : o.interval && r.pause().cycle() }) } var n = function(e, n) { this.$element = t(e), this.$indicators = this.$element.find(".carousel-indicators"), this.options = n, this.paused = null, this.sliding = null, this.interval = null, this.$active = null, this.$items = null, this.options.keyboard && this.$element.on("keydown.bs.carousel", t.proxy(this.keydown, this)), "hover" == this.options.pause && !("ontouchstart" in document.documentElement) && this.$element.on("mouseenter.bs.carousel", t.proxy(this.pause, this)).on("mouseleave.bs.carousel", t.proxy(this.cycle, this)) }; n.VERSION = "3.3.5", n.TRANSITION_DURATION = 600, n.DEFAULTS = { interval: 5e3, pause: "hover", wrap: !0, keyboard: !0 }, n.prototype.keydown = function(t) { if (!/input|textarea/i.test(t.target.tagName)) { switch (t.which) { case 37: this.prev(); break; case 39: this.next(); break; default: return } t.preventDefault() } }, n.prototype.cycle = function(e) { return e || (this.paused = !1), this.interval && clearInterval(this.interval), this.options.interval && !this.paused && (this.interval = setInterval(t.proxy(this.next, this), this.options.interval)), this }, n.prototype.getItemIndex = function(t) { return this.$items = t.parent().children(".item"), this.$items.index(t || this.$active) }, n.prototype.getItemForDirection = function(t, e) { var n = this.getItemIndex(e), i = "prev" == t && 0 === n || "next" == t && n == this.$items.length - 1; if (i && !this.options.wrap) return e; var r = "prev" == t ? -1 : 1, o = (n + r) % this.$items.length; return this.$items.eq(o) }, n.prototype.to = function(t) { var e = this, n = this.getItemIndex(this.$active = this.$element.find(".item.active")); return t > this.$items.length - 1 || 0 > t ? void 0 : this.sliding ? this.$element.one("slid.bs.carousel", function() { e.to(t) }) : n == t ? this.pause().cycle() : this.slide(t > n ? "next" : "prev", this.$items.eq(t)) }, n.prototype.pause = function(e) { return e || (this.paused = !0), this.$element.find(".next, .prev").length && t.support.transition && (this.$element.trigger(t.support.transition.end), this.cycle(!0)), this.interval = clearInterval(this.interval), this }, n.prototype.next = function() { return this.sliding ? void 0 : this.slide("next") }, n.prototype.prev = function() { return this.sliding ? void 0 : this.slide("prev") }, n.prototype.slide = function(e, i) { var r = this.$element.find(".item.active"), o = i || this.getItemForDirection(e, r), s = this.interval, a = "next" == e ? "left" : "right", l = this; if (o.hasClass("active")) return this.sliding = !1; var c = o[0], u = t.Event("slide.bs.carousel", { relatedTarget: c, direction: a }); if (this.$element.trigger(u), !u.isDefaultPrevented()) { if (this.sliding = !0, s && this.pause(), this.$indicators.length) { this.$indicators.find(".active").removeClass("active"); var h = t(this.$indicators.children()[this.getItemIndex(o)]); h && h.addClass("active") } var p = t.Event("slid.bs.carousel", { relatedTarget: c, direction: a }); return t.support.transition && this.$element.hasClass("slide") ? (o.addClass(e), o[0].offsetWidth, r.addClass(a), o.addClass(a), r.one("bsTransitionEnd", function() { o.removeClass([e, a].join(" ")).addClass("active"), r.removeClass(["active", a].join(" ")), l.sliding = !1, setTimeout(function() { l.$element.trigger(p) }, 0) }).emulateTransitionEnd(n.TRANSITION_DURATION)) : (r.removeClass("active"), o.addClass("active"), this.sliding = !1, this.$element.trigger(p)), s && this.cycle(), this } }; var i = t.fn.carousel; t.fn.carousel = e, t.fn.carousel.Constructor = n, t.fn.carousel.noConflict = function() { return t.fn.carousel = i, this }; var r = function(n) { var i, r = t(this), o = t(r.attr("data-target") || (i = r.attr("href")) && i.replace(/.*(?=#[^\s]+$)/, "")); if (o.hasClass("carousel")) { var s = t.extend({}, o.data(), r.data()), a = r.attr("data-slide-to"); a && (s.interval = !1), e.call(o, s), a && o.data("bs.carousel").to(a), n.preventDefault() } }; t(document).on("click.bs.carousel.data-api", "[data-slide]", r).on("click.bs.carousel.data-api", "[data-slide-to]", r), t(window).on("load", function() { t('[data-ride="carousel"]').each(function() { var n = t(this); e.call(n, n.data()) }) }) }(jQuery), function(t, e) { "use strict"; "function" == typeof define && define.amd ? define([], e) : "object" == typeof exports ? module.exports = e() : t.viewportUnitsBuggyfill = e() }(this, function() { "use strict";

function t(t, e) { var n; return function() { var i = this, r = arguments, o = function() { t.apply(i, r) }; clearTimeout(n), n = setTimeout(o, e) } }

function e() { try { return window.self !== window.top } catch (t) { return !0 } }

function n(n) { x || (n === !0 && (n = { force: !0 }), m = n || {}, m.isMobileSafari = C, m.isBadStockAndroid = k, (m.force || C || S || k || E || m.hacks && m.hacks.required(m)) && (m.hacks && m.hacks.initialize(m), x = !0, y = document.createElement("style"), y.id = "patched-viewport", document.head.appendChild(y), h(function() { var n = t(r, m.refreshDebounceWait || 100); window.addEventListener("orientationchange", n, !0), window.addEventListener("pageshow", n, !0), (m.force || S || e()) && (window.addEventListener("resize", n, !0), m._listeningToResize = !0), m.hacks && m.hacks.initializeEvents(m, r, n), r() }))) }

function i() { y.textContent = a(), y.parentNode.appendChild(y) }

function r() { x && (o(), setTimeout(function() { i() }, 1)) }

function o() { return v = [], T.call(document.styleSheets, function(t) { "patched-viewport" !== t.ownerNode.id && t.cssRules && "ignore" !== t.ownerNode.getAttribute("data-viewport-units-buggyfill") && (t.media && t.media.mediaText && window.matchMedia && !window.matchMedia(t.media.mediaText).matches || T.call(t.cssRules, s)) }), v }

function s(t) { if (7 === t.type) { var e; try { e = t.cssText } catch (n) { return } return b.lastIndex = 0, b.test(e) && (v.push([t, null, e]), m.hacks && m.hacks.findDeclarations(v, t, null, e)), void 0 } if (!t.style) { if (!t.cssRules) return; return T.call(t.cssRules, function(t) { s(t) }), void 0 } T.call(t.style, function(e) { var n = t.style.getPropertyValue(e); b.lastIndex = 0, b.test(n) && (v.push([t, e, n]), m.hacks && m.hacks.findDeclarations(v, t, e, n)) }) }

function a() { g = u(); var t, e, n = [], i = []; return v.forEach(function(r) { var o = l.apply(null, r), s = o.selector.length ? o.selector.join(" {\n") + " {\n" : "", a = new Array(o.selector.length + 1).join("\n}"); return s && s === t ? (s && !t && (t = s, e = a), i.push(o.content), void 0) : (i.length && (n.push(t + i.join("\n") + e), i.length = 0), s ? (t = s, e = a, i.push(o.content)) : (n.push(o.content), t = null, e = null), void 0) }), i.length && n.push(t + i.join("\n") + e), E && n.push("* { content: normal !important; }"), n.join("\n\n") }

function l(t, e, n) { var i, r = []; i = n.replace(b, c), m.hacks && (i = m.hacks.overwriteDeclaration(t, e, i)), e && (r.push(t.selectorText), i = e + ": " + i + ";"); for (var o = t.parentRule; o;) r.unshift("@media " + o.media.mediaText), o = o.parentRule; return { selector: r, content: i } }

function c(t, e, n) { var i = g[n], r = parseFloat(e) / 100; return r * i + "px" }

function u() { var t = window.innerHeight, e = window.innerWidth; return { vh: t, vw: e, vmax: Math.max(e, t), vmin: Math.min(e, t) } }

function h(t) { var e = 0, n = function() { e--, e || t() }; T.call(document.styleSheets, function(t) { t.href && p(t.href) !== p(location.href) && (e++, d(t.ownerNode, n)) }), e || t() }

function p(t) { return t.slice(0, t.indexOf("/", t.indexOf("://") + 3)) }

function d(t, e) { f(t.href, function() { var n = document.createElement("style"); n.media = t.media, n.setAttribute("data-href", t.href), n.textContent = this.responseText, t.parentNode.replaceChild(n, t), e() }, e) }

function f(t, e, n) { var i = new XMLHttpRequest; if ("withCredentials" in i) i.open("GET", t, !0); else { if ("undefined" == typeof XDomainRequest) throw new Error("cross-domain XHR not supported"); i = new XDomainRequest, i.open("GET", t) } return i.onload = e, i.onerror = n, i.send(), i } var m, g, v, y, x = !1, w = window.navigator.userAgent, b = /([+-]?[0-9.]+)(vh|vw|vmin|vmax)/g, T = [].forEach, S = !1, E = w.indexOf("Opera Mini") > -1, C = /(iPhone|iPod|iPad).+AppleWebKit/i.test(w) && function() { var t = w.match(/OS (\d)/); return t && t.length > 1 && parseInt(t[1]) < 8 }(), k = function() { var t = w.indexOf(" Android ") > -1; if (!t) return !1; var e = w.indexOf("Version/") > -1; if (!e) return !1; var n = parseFloat((w.match("Android ([0-9.]+)") || [])[1]); return 4.4 >= n }(); return S || (S = !!navigator.userAgent.match(/Trident.*rv[ :]*11\./)), { version: "0.5.0", findProperties: o, getCss: a, init: n, refresh: r } }); var ObjectFit = function() {}; ObjectFit.prototype.polyfill = function(t) { if (this.selector = t && "undefined" !== t.selector ? t.selector : ".image-background:not(.breakpoint-stack) img", this.fittype = t && "undefined" !== t.fittype ? t.fittype : "cover", this.doWrap = t && "undefined" !== t.wrap ? !!t.wrap : !0, !this.supportsObjectFit()) { var e = this.findElements(); this.doWrap && this.wrapElements(e); var n = this; this.addEvent(window, "resize", function() { n.findElements() }) } }, ObjectFit.prototype.addEvent = function(t, e, n) { null != t && "undefined" != typeof t && (t.addEventListener ? t.addEventListener(e, n, !1) : t.attachEvent ? t.attachEvent("on" + e, n) : t["on" + e] = n) }, ObjectFit.prototype.findElements = function() { this.elements || (this.elements = document.querySelectorAll(this.selector)); for (var t = 0; t < this.elements.length; t++) { { this.elements[t] } this.elements[t].className = this.getClass(this.elements[t]) } return this.elements }, ObjectFit.prototype.wrapElements = function(t) { for (var e = 0; e < t.length; e++) this.wrap(t[e]) }, ObjectFit.prototype.getClass = function(t) { var e = t.className.replace(/x-object-fit-(\w+)\s?/, "").trim(), n = t.naturalWidth || t.clientWidth, i = t.naturalHeight || t.clientHeight, r = t.parentNode.clientWidth, o = t.parentNode.clientHeight; return !i || !o || n / i > r / o ? e + " x-object-fit-wider" : e + " x-object-fit-taller" }, ObjectFit.prototype.wrap = function(t, e) { return e = e || document.createElement("div"), e.className = "x-object-fit x-object-fit-cover", t.nextSibling ? t.parentNode.insertBefore(e, t.nextSibling) : t.parentNode.appendChild(e), e.appendChild(t) }, ObjectFit.prototype.supportsObjectFit = function() { return "object-fit" in document.body.style }, ObjectFit.prototype.getUnit = function(t) { var e = window.innerWidth, n = window.innerHeight; return "h" === t ? n : e }, document.addEventListener("DOMContentLoaded", function() { var t = new ObjectFit; t.polyfill({ selector: ".image-background.breakpoint-stack img", fittype: "cover", wrap: !1 }); var e = new ObjectFit; e.polyfill({ selector: ".image-background:not(.breakpoint-stack) img", fittype: "cover", wrap: !0 }) }), function(t, e, n) { function i(t, n) { this.wrapper = "string" == typeof t ? e.querySelector(t) : t, this.scroller = this.wrapper.children[0], this.scrollerStyle = this.scroller.style, this.options = { resizeScrollbars: !0, mouseWheelSpeed: 20, snapThreshold: .334, startX: 0, startY: 0, scrollY: !0, directionLockThreshold: 5, momentum: !0, bounce: !0, bounceTime: 600, bounceEasing: "", preventDefault: !0, preventDefaultException: { tagName: /^(INPUT|TEXTAREA|BUTTON|SELECT)$/ }, HWCompositing: !0, useTransition: !0, useTransform: !0 }; for (var i in n) this.options[i] = n[i]; this.translateZ = this.options.HWCompositing && a.hasPerspective ? " translateZ(0)" : "", this.options.useTransition = a.hasTransition && this.options.useTransition, this.options.useTransform = a.hasTransform && this.options.useTransform, this.options.eventPassthrough = this.options.eventPassthrough === !0 ? "vertical" : this.options.eventPassthrough, this.options.preventDefault = !this.options.eventPassthrough && this.options.preventDefault, this.options.scrollY = "vertical" == this.options.eventPassthrough ? !1 : this.options.scrollY, this.options.scrollX = "horizontal" == this.options.eventPassthrough ? !1 : this.options.scrollX, this.options.freeScroll = this.options.freeScroll && !this.options.eventPassthrough, this.options.directionLockThreshold = this.options.eventPassthrough ? 0 : this.options.directionLockThreshold, this.options.bounceEasing = "string" == typeof this.options.bounceEasing ? a.ease[this.options.bounceEasing] || a.ease.circular : this.options.bounceEasing, this.options.resizePolling = void 0 === this.options.resizePolling ? 60 : this.options.resizePolling, this.options.tap === !0 && (this.options.tap = "tap"), "scale" == this.options.shrinkScrollbars && (this.options.useTransition = !1), this.options.invertWheelDirection = this.options.invertWheelDirection ? -1 : 1, 3 == this.options.probeType && (this.options.useTransition = !1), this.x = 0, this.y = 0, this.directionX = 0, this.directionY = 0, this._events = {}, this._init(), this.refresh(), this.scrollTo(this.options.startX, this.options.startY), this.enable() }

function r(t, n, i) { var r = e.createElement("div"), o = e.createElement("div"); return i === !0 && (r.style.cssText = "position:absolute;z-index:9999", o.style.cssText = "-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;position:absolute;background:rgba(0,0,0,0.5);border:1px solid rgba(255,255,255,0.9);border-radius:3px"), o.className = "iScrollIndicator", "h" == t ? (i === !0 && (r.style.cssText += ";height:7px;left:2px;right:2px;bottom:0", o.style.height = "100%"), r.className = "iScrollHorizontalScrollbar") : (i === !0 && (r.style.cssText += ";width:7px;bottom:2px;top:2px;right:1px", o.style.width = "100%"), r.className = "iScrollVerticalScrollbar"), r.style.cssText += ";overflow:hidden", n || (r.style.pointerEvents = "none"), r.appendChild(o), r }

function o(n, i) { this.wrapper = "string" == typeof i.el ? e.querySelector(i.el) : i.el, this.wrapperStyle = this.wrapper.style, this.indicator = this.wrapper.children[0], this.indicatorStyle = this.indicator.style, this.scroller = n, this.options = { listenX: !0, listenY: !0, interactive: !1, resize: !0, defaultScrollbars: !1, shrink: !1, fade: !1, speedRatioX: 0, speedRatioY: 0 }; for (var r in i) this.options[r] = i[r]; this.sizeRatioX = 1, this.sizeRatioY = 1, this.maxPosX = 0, this.maxPosY = 0, this.options.interactive && (this.options.disableTouch || (a.addEvent(this.indicator, "touchstart", this), a.addEvent(t, "touchend", this)), this.options.disablePointer || (a.addEvent(this.indicator, a.prefixPointerEvent("pointerdown"), this), a.addEvent(t, a.prefixPointerEvent("pointerup"), this)), this.options.disableMouse || (a.addEvent(this.indicator, "mousedown", this), a.addEvent(t, "mouseup", this))), this.options.fade && (this.wrapperStyle[a.style.transform] = this.scroller.translateZ, this.wrapperStyle[a.style.transitionDuration] = a.isBadAndroid ? "0.001s" : "0ms", this.wrapperStyle.opacity = "0") } var s = t.requestAnimationFrame || t.webkitRequestAnimationFrame || t.mozRequestAnimationFrame || t.oRequestAnimationFrame || t.msRequestAnimationFrame || function(e) { t.setTimeout(e, 1e3 / 60) }, a = function() { function i(t) { return s === !1 ? !1 : "" === s ? t : s + t.charAt(0).toUpperCase() + t.substr(1) } var r = {}, o = e.createElement("div").style, s = function() { for (var t, e = ["t", "webkitT", "MozT", "msT", "OT"], n = 0, i = e.length; i > n; n++) if (t = e[n] + "ransform", t in o) return e[n].substr(0, e[n].length - 1); return !1 }(); r.getTime = Date.now || function() { return (new Date).getTime() }, r.extend = function(t, e) { for (var n in e) t[n] = e[n] }, r.addEvent = function(t, e, n, i) { t.addEventListener(e, n, !!i) }, r.removeEvent = function(t, e, n, i) { t.removeEventListener(e, n, !!i) }, r.prefixPointerEvent = function(e) { return t.MSPointerEvent ? "MSPointer" + e.charAt(9).toUpperCase() + e.substr(10) : e }, r.momentum = function(t, e, i, r, o, s) { var a, l, c = t - e, u = n.abs(c) / i; return s = void 0 === s ? 6e-4 : s, a = t + u * u / (2 * s) * (0 > c ? -1 : 1), l = u / s, r > a ? (a = o ? r - o / 2.5 * (u / 8) : r, c = n.abs(a - t), l = c / u) : a > 0 && (a = o ? o / 2.5 * (u / 8) : 0, c = n.abs(t) + a, l = c / u), { destination: n.round(a), duration: l } }; var a = i("transform"); return r.extend(r, { hasTransform: a !== !1, hasPerspective: i("perspective") in o, hasTouch: "ontouchstart" in t, hasPointer: t.PointerEvent || t.MSPointerEvent, hasTransition: i("transition") in o }), r.isBadAndroid = /Android /.test(t.navigator.appVersion) && !/Chrome\/\d/.test(t.navigator.appVersion), r.extend(r.style = {}, { transform: a, transitionTimingFunction: i("transitionTimingFunction"), transitionDuration: i("transitionDuration"), transitionDelay: i("transitionDelay"), transformOrigin: i("transformOrigin") }), r.hasClass = function(t, e) { var n = new RegExp("(^|\\s)" + e + "(\\s|$)"); return n.test(t.className) }, r.addClass = function(t, e) { if (!r.hasClass(t, e)) { var n = t.className.split(" "); n.push(e), t.className = n.join(" ") } }, r.removeClass = function(t, e) { if (r.hasClass(t, e)) { var n = new RegExp("(^|\\s)" + e + "(\\s|$)", "g"); t.className = t.className.replace(n, " ") } }, r.offset = function(t) { for (var e = -t.offsetLeft, n = -t.offsetTop; t = t.offsetParent;) e -= t.offsetLeft, n -= t.offsetTop; return { left: e, top: n } }, r.preventDefaultException = function(t, e) { for (var n in e) if (e[n].test(t[n])) return !0; return !1 }, r.extend(r.eventType = {}, { touchstart: 1, touchmove: 1, touchend: 1, mousedown: 2, mousemove: 2, mouseup: 2, pointerdown: 3, pointermove: 3, pointerup: 3, MSPointerDown: 3, MSPointerMove: 3, MSPointerUp: 3 }), r.extend(r.ease = {}, { quadratic: { style: "cubic-bezier(0.25, 0.46, 0.45, 0.94)", fn: function(t) { return t * (2 - t) } }, drawer: { style: "cubic-bezier(0.23,1,0.32,1)", fn: function(t) { return t } }, circular: { style: "cubic-bezier(0.1, 0.57, 0.1, 1)", fn: function(t) { return n.sqrt(1 - --t * t) } }, back: { style: "cubic-bezier(0.175, 0.885, 0.32, 1.275)", fn: function(t) { var e = 4; return (t -= 1) * t * ((e + 1) * t + e) + 1 } }, bounce: { style: "", fn: function(t) { return (t /= 1) < 1 / 2.75 ? 7.5625 * t * t : 2 / 2.75 > t ? 7.5625 * (t -= 1.5 / 2.75) * t + .75 : 2.5 / 2.75 > t ? 7.5625 * (t -= 2.25 / 2.75) * t + .9375 : 7.5625 * (t -= 2.625 / 2.75) * t + .984375 } }, elastic: { style: "", fn: function(t) { var e = .22, i = .4; return 0 === t ? 0 : 1 == t ? 1 : i * n.pow(2, -10 * t) * n.sin(2 * (t - e / 4) * n.PI / e) + 1 } } }), r.tap = function(t, n) { var i = e.createEvent("Event"); i.initEvent(n, !0, !0), i.pageX = t.pageX, i.pageY = t.pageY, t.target.dispatchEvent(i) }, r.click = function(t) { var n, i = t.target; /(SELECT|INPUT|TEXTAREA)/i.test(i.tagName) || (n = e.createEvent("MouseEvents"), n.initMouseEvent("click", !0, !0, t.view, 1, i.screenX, i.screenY, i.clientX, i.clientY, t.ctrlKey, t.altKey, t.shiftKey, t.metaKey, 0, null), n._constructed = !0, i.dispatchEvent(n)) }, r }(); i.prototype = { version: "5.1.3", _init: function() { this._initEvents(), (this.options.scrollbars || this.options.indicators) && this._initIndicators(), this.options.mouseWheel && this._initWheel(), this.options.snap && this._initSnap(), this.options.keyBindings && this._initKeys() }, destroy: function() { this._initEvents(!0), this._execEvent("destroy") }, _transitionEnd: function(t) { t.target == this.scroller && this.isInTransition && (this._transitionTime(), this.resetPosition(this.options.bounceTime) || (this.isInTransition = !1, this._execEvent("scrollEnd"))) }, _start: function(t) { if (!(1 != a.eventType[t.type] && 0 !== t.button || !this.enabled || this.initiated && a.eventType[t.type] !== this.initiated)) { !this.options.preventDefault || a.isBadAndroid || a.preventDefaultException(t.target, this.options.preventDefaultException) || t.preventDefault(); var e, i = t.touches ? t.touches[0] : t; this.initiated = a.eventType[t.type], this.moved = !1, this.distX = 0, this.distY = 0, this.directionX = 0, this.directionY = 0, this.directionLocked = 0, this._transitionTime(), this.startTime = a.getTime(), this.options.useTransition && this.isInTransition ? (this.isInTransition = !1, e = this.getComputedPosition(), this._translate(n.round(e.x), n.round(e.y)), this._execEvent("scrollEnd")) : !this.options.useTransition && this.isAnimating && (this.isAnimating = !1, this._execEvent("scrollEnd")), this.startX = this.x, this.startY = this.y, this.absStartX = this.x, this.absStartY = this.y, this.pointX = i.pageX, this.pointY = i.pageY, this._execEvent("beforeScrollStart") } }, _move: function(t) { if (this.enabled && a.eventType[t.type] === this.initiated) { this.options.preventDefault && t.preventDefault(); var e, i, r, o, s = t.touches ? t.touches[0] : t, l = s.pageX - this.pointX, c = s.pageY - this.pointY, u = a.getTime(); if (this.pointX = s.pageX, this.pointY = s.pageY, this.distX += l, this.distY += c, r = n.abs(this.distX), o = n.abs(this.distY), !(u - this.endTime > 750 && 10 > r && 10 > o)) { if (this.directionLocked || this.options.freeScroll || (this.directionLocked = r > o + this.options.directionLockThreshold ? "h" : o >= r + this.options.directionLockThreshold ? "v" : "n"), "h" == this.directionLocked) { if ("vertical" == this.options.eventPassthrough) t.preventDefault(); else if ("horizontal" == this.options.eventPassthrough) return this.initiated = !1, void 0; c = 0 } else if ("v" == this.directionLocked) { if ("horizontal" == this.options.eventPassthrough) t.preventDefault(); else if ("vertical" == this.options.eventPassthrough) return this.initiated = !1, void 0; l = 0 } l = this.hasHorizontalScroll ? l : 0, c = this.hasVerticalScroll ? c : 0, e = this.x + l, i = this.y + c, (e > 0 || e < this.maxScrollX) && (e = this.options.bounce ? this.x + l / 3 : e > 0 ? 0 : this.maxScrollX), (i > 0 || i < this.maxScrollY) && (i = this.options.bounce ? this.y + c / 3 : i > 0 ? 0 : this.maxScrollY), this.directionX = l > 0 ? -1 : 0 > l ? 1 : 0, this.directionY = c > 0 ? -1 : 0 > c ? 1 : 0, this.moved || this._execEvent("scrollStart"), this.moved = !0, this._translate(e, i), u - this.startTime > 750 && (this.startTime = u, this.startX = this.x, this.startY = this.y, 1 == this.options.probeType && this._execEvent("scroll")), this.options.probeType > 1 && this._execEvent("scroll") } } }, _end: function(t) { if (this.enabled && a.eventType[t.type] === this.initiated) { this.options.preventDefault && !a.preventDefaultException(t.target, this.options.preventDefaultException) && t.preventDefault(); var e, i, r = (t.changedTouches ? t.changedTouches[0] : t, a.getTime() - this.startTime), o = n.round(this.x), s = n.round(this.y), l = n.abs(o - this.startX), c = n.abs(s - this.startY), u = 0, h = ""; if (this.isInTransition = 0, this.initiated = 0, this.endTime = a.getTime(), !this.resetPosition(this.options.bounceTime)) { if (this.scrollTo(o, s), !this.moved) return this.options.tap && a.tap(t, this.options.tap), this.options.click && a.click(t), this._execEvent("scrollCancel"), void 0; if (this._events.flick && 200 > r && 100 > l && 100 > c) return this._execEvent("flick"), void 0; if (this.options.momentum && 750 > r && (e = this.hasHorizontalScroll ? a.momentum(this.x, this.startX, r, this.maxScrollX, this.options.bounce ? this.wrapperWidth : 0, this.options.deceleration) : { destination: o, duration: 0 }, i = this.hasVerticalScroll ? a.momentum(this.y, this.startY, r, this.maxScrollY, this.options.bounce ? this.wrapperHeight : 0, this.options.deceleration) : { destination: s, duration: 0 }, o = e.destination, s = i.destination, u = n.max(e.duration, i.duration), this.isInTransition = 1), this.options.snap) { var p = this._nearestSnap(o, s); this.currentPage = p, u = this.options.snapSpeed || n.max(n.max(n.min(n.abs(o - p.x), 1e3), n.min(n.abs(s - p.y), 1e3)), 750), o = p.x, s = p.y, this.directionX = 0, this.directionY = 0, h = this.options.bounceEasing } return o != this.x || s != this.y ? ((o > 0 || o < this.maxScrollX || s > 0 || s < this.maxScrollY) && (h = a.ease.quadratic), this.scrollTo(o, s, u, h), void 0) : (this._execEvent("scrollEnd"), void 0) } } }, _resize: function() { var t = this; clearTimeout(this.resizeTimeout), this.resizeTimeout = setTimeout(function() { t.refresh() }, this.options.resizePolling) }, resetPosition: function(t) { var e = this.x, n = this.y; return t = t || 0, !this.hasHorizontalScroll || this.x > 0 ? e = 0 : this.x < this.maxScrollX && (e = this.maxScrollX), !this.hasVerticalScroll || this.y > 0 ? n = 0 : this.y < this.maxScrollY && (n = this.maxScrollY), e == this.x && n == this.y ? !1 : (this.scrollTo(e, n, t, this.options.bounceEasing), !0) }, disable: function() { this.enabled = !1 }, enable: function() { this.enabled = !0 }, refresh: function() { this.wrapper.offsetHeight; this.wrapperWidth = this.wrapper.clientWidth, this.wrapperHeight = this.wrapper.clientHeight, this.scrollerWidth = this.scroller.offsetWidth, this.scrollerHeight = this.scroller.offsetHeight, this.maxScrollX = this.wrapperWidth - this.scrollerWidth, this.maxScrollY = this.wrapperHeight - this.scrollerHeight, this.hasHorizontalScroll = this.options.scrollX && this.maxScrollX < 0, this.hasVerticalScroll = this.options.scrollY && this.maxScrollY < 0, this.hasHorizontalScroll || (this.maxScrollX = 0, this.scrollerWidth = this.wrapperWidth), this.hasVerticalScroll || (this.maxScrollY = 0, this.scrollerHeight = this.wrapperHeight), this.endTime = 0, this.directionX = 0, this.directionY = 0, this.wrapperOffset = a.offset(this.wrapper), this._execEvent("refresh"), this.resetPosition() }, on: function(t, e) { this._events[t] || (this._events[t] = []), this._events[t].push(e) }, off: function(t, e) { if (this._events[t]) { var n = this._events[t].indexOf(e); n > -1 && this._events[t].splice(n, 1) } }, _execEvent: function(t) { if (this._events[t]) { var e = 0, n = this._events[t].length; if (n) for (; n > e; e++) this._events[t][e].apply(this, [].slice.call(arguments, 1)) } }, scrollBy: function(t, e, n, i) { t = this.x + t, e = this.y + e, n = n || 0, this.scrollTo(t, e, n, i) }, scrollTo: function(t, e, n, i) { i = i || a.ease.circular, this.isInTransition = this.options.useTransition && n > 0, !n || this.options.useTransition && i.style ? (this._transitionTimingFunction(i.style), this._transitionTime(n), this._translate(t, e)) : this._animate(t, e, n, i.fn) }, scrollToElement: function(t, e, i, r, o) { if (t = t.nodeType ? t : this.scroller.querySelector(t)) { var s = a.offset(t); s.left -= this.wrapperOffset.left, s.top -= this.wrapperOffset.top, i === !0 && (i = n.round(t.offsetWidth / 2 - this.wrapper.offsetWidth / 2)), r === !0 && (r = n.round(t.offsetHeight / 2 - this.wrapper.offsetHeight / 2)), s.left -= i || 0, s.top -= r || 0, s.left = s.left > 0 ? 0 : s.left < this.maxScrollX ? this.maxScrollX : s.left, s.top = s.top > 0 ? 0 : s.top < this.maxScrollY ? this.maxScrollY : s.top, e = void 0 === e || null === e || "auto" === e ? n.max(n.abs(this.x - s.left), n.abs(this.y - s.top)) : e, this.scrollTo(s.left, s.top, e, o) } }, _transitionTime: function(t) { if (t = t || 0, this.scrollerStyle[a.style.transitionDuration] = t + "ms", !t && a.isBadAndroid && (this.scrollerStyle[a.style.transitionDuration] = "0.001s"), this.indicators) for (var e = this.indicators.length; e--;) this.indicators[e].transitionTime(t) }, _transitionTimingFunction: function(t) { if (this.scrollerStyle[a.style.transitionTimingFunction] = t, this.indicators) for (var e = this.indicators.length; e--;) this.indicators[e].transitionTimingFunction(t) }, _translate: function(t, e) { if (this.options.useTransform ? this.scrollerStyle[a.style.transform] = "translate(" + t + "px," + e + "px)" + this.translateZ : (t = n.round(t), e = n.round(e), this.scrollerStyle.left = t + "px", this.scrollerStyle.top = e + "px"), this.x = t, this.y = e, this.indicators) for (var i = this.indicators.length; i--;) this.indicators[i].updatePosition() }, _initEvents: function(e) { var n = e ? a.removeEvent : a.addEvent, i = this.options.bindToWrapper ? this.wrapper : t; n(t, "orientationchange", this), n(t, "resize", this), this.options.click && n(this.wrapper, "click", this, !0), this.options.disableMouse || (n(this.wrapper, "mousedown", this), n(i, "mousemove", this), n(i, "mousecancel", this), n(i, "mouseup", this)), a.hasPointer && !this.options.disablePointer && (n(this.wrapper, a.prefixPointerEvent("pointerdown"), this), n(i, a.prefixPointerEvent("pointermove"), this), n(i, a.prefixPointerEvent("pointercancel"), this), n(i, a.prefixPointerEvent("pointerup"), this)), a.hasTouch && !this.options.disableTouch && (n(this.wrapper, "touchstart", this), n(i, "touchmove", this), n(i, "touchcancel", this), n(i, "touchend", this)), n(this.scroller, "transitionend", this), n(this.scroller, "webkitTransitionEnd", this), n(this.scroller, "oTransitionEnd", this), n(this.scroller, "MSTransitionEnd", this) }, getComputedPosition: function() { var e, n, i = t.getComputedStyle(this.scroller, null); return this.options.useTransform ? (i = i[a.style.transform].split(")")[0].split(", "), e = +(i[12] || i[4]), n = +(i[13] || i[5])) : (e = +i.left.replace(/[^-\d.]/g, ""), n = +i.top.replace(/[^-\d.]/g, "")), { x: e, y: n } }, _initIndicators: function() { function t(t) { for (var e = a.indicators.length; e--;) t.call(a.indicators[e]) } var e, n = this.options.interactiveScrollbars, i = "string" != typeof this.options.scrollbars, s = [], a = this; this.indicators = [], this.options.scrollbars && (this.options.scrollY && (e = { el: r("v", n, this.options.scrollbars), interactive: n, defaultScrollbars: !0, customStyle: i, resize: this.options.resizeScrollbars, shrink: this.options.shrinkScrollbars, fade: this.options.fadeScrollbars, listenX: !1 }, this.wrapper.appendChild(e.el), s.push(e)), this.options.scrollX && (e = { el: r("h", n, this.options.scrollbars), interactive: n, defaultScrollbars: !0, customStyle: i, resize: this.options.resizeScrollbars, shrink: this.options.shrinkScrollbars, fade: this.options.fadeScrollbars, listenY: !1 }, this.wrapper.appendChild(e.el), s.push(e))), this.options.indicators && (s = s.concat(this.options.indicators)); for (var l = s.length; l--;) this.indicators.push(new o(this, s[l])); this.options.fadeScrollbars && (this.on("scrollEnd", function() { t(function() { this.fade() }) }), this.on("scrollCancel", function() { t(function() { this.fade() }) }), this.on("scrollStart", function() { t(function() { this.fade(1) }) }), this.on("beforeScrollStart", function() { t(function() { this.fade(1, !0) }) })), this.on("refresh", function() { t(function() { this.refresh() }) }), this.on("destroy", function() { t(function() { this.destroy() }), delete this.indicators }) }, _initWheel: function() { a.addEvent(this.wrapper, "wheel", this), a.addEvent(this.wrapper, "mousewheel", this), a.addEvent(this.wrapper, "DOMMouseScroll", this), this.on("destroy", function() { a.removeEvent(this.wrapper, "wheel", this), a.removeEvent(this.wrapper, "mousewheel", this), a.removeEvent(this.wrapper, "DOMMouseScroll", this) }) }, _wheel: function(t) { if (this.enabled) { t.preventDefault(), t.stopPropagation(); var e, i, r, o, s = this; if (void 0 === this.wheelTimeout && s._execEvent("scrollStart"), clearTimeout(this.wheelTimeout), this.wheelTimeout = setTimeout(function() { s._execEvent("scrollEnd"), s.wheelTimeout = void 0 }, 400), "deltaX" in t) 1 === t.deltaMode ? (e = -t.deltaX * this.options.mouseWheelSpeed, i = -t.deltaY * this.options.mouseWheelSpeed) : (e = -t.deltaX, i = -t.deltaY); else if ("wheelDeltaX" in t) e = t.wheelDeltaX / 120 * this.options.mouseWheelSpeed, i = t.wheelDeltaY / 120 * this.options.mouseWheelSpeed; else if ("wheelDelta" in t) e = i = t.wheelDelta / 120 * this.options.mouseWheelSpeed; else { if (!("detail" in t)) return; e = i = -t.detail / 3 * this.options.mouseWheelSpeed } if (e *= this.options.invertWheelDirection, i *= this.options.invertWheelDirection, this.hasVerticalScroll || (e = i, i = 0), this.options.snap) return r = this.currentPage.pageX, o = this.currentPage.pageY, e > 0 ? r-- : 0 > e && r++, i > 0 ? o-- : 0 > i && o++, this.goToPage(r, o), void 0; r = this.x + n.round(this.hasHorizontalScroll ? e : 0), o = this.y + n.round(this.hasVerticalScroll ? i : 0), r > 0 ? r = 0 : r < this.maxScrollX && (r = this.maxScrollX), o > 0 ? o = 0 : o < this.maxScrollY && (o = this.maxScrollY), this.scrollTo(r, o, 0), this.options.probeType > 1 && this._execEvent("scroll") } }, _initSnap: function() { this.currentPage = {}, "string" == typeof this.options.snap && (this.options.snap = this.scroller.querySelectorAll(this.options.snap)), this.on("refresh", function() { var t, e, i, r, o, s, a = 0, l = 0, c = 0, u = this.options.snapStepX || this.wrapperWidth, h = this.options.snapStepY || this.wrapperHeight; if (this.pages = [], this.wrapperWidth && this.wrapperHeight && this.scrollerWidth && this.scrollerHeight) { if (this.options.snap === !0) for (i = n.round(u / 2), r = n.round(h / 2); c > -this.scrollerWidth;) { for (this.pages[a] = [], t = 0, o = 0; o > -this.scrollerHeight;) this.pages[a][t] = { x: n.max(c, this.maxScrollX), y: n.max(o, this.maxScrollY), width: u, height: h, cx: c - i, cy: o - r }, o -= h, t++; c -= u, a++ } else for (s = this.options.snap, t = s.length, e = -1; t > a; a++)(0 === a || s[a].offsetLeft <= s[a - 1].offsetLeft) && (l = 0, e++), this.pages[l] || (this.pages[l] = []), c = n.max(-s[a].offsetLeft, this.maxScrollX), o = n.max(-s[a].offsetTop, this.maxScrollY), i = c - n.round(s[a].offsetWidth / 2), r = o - n.round(s[a].offsetHeight / 2), this.pages[l][e] = { x: c, y: o, width: s[a].offsetWidth, height: s[a].offsetHeight, cx: i, cy: r }, c > this.maxScrollX && l++; this.goToPage(this.currentPage.pageX || 0, this.currentPage.pageY || 0, 0), this.options.snapThreshold % 1 === 0 ? (this.snapThresholdX = this.options.snapThreshold, this.snapThresholdY = this.options.snapThreshold) : (this.snapThresholdX = n.round(this.pages[this.currentPage.pageX][this.currentPage.pageY].width * this.options.snapThreshold), this.snapThresholdY = n.round(this.pages[this.currentPage.pageX][this.currentPage.pageY].height * this.options.snapThreshold)) } }), this.on("flick", function() { var t = this.options.snapSpeed || n.max(n.max(n.min(n.abs(this.x - this.startX), 1e3), n.min(n.abs(this.y - this.startY), 1e3)), 750); this.goToPage(this.currentPage.pageX + this.directionX, this.currentPage.pageY + this.directionY, t) }) }, _nearestSnap: function(t, e) { if (!this.pages.length) return { x: 0, y: 0, pageX: 0, pageY: 0 }; var i = 0, r = this.pages.length, o = 0; if (n.abs(t - this.absStartX) < this.snapThresholdX && n.abs(e - this.absStartY) < this.snapThresholdY) return this.currentPage; for (t > 0 ? t = 0 : t < this.maxScrollX && (t = this.maxScrollX), e > 0 ? e = 0 : e < this.maxScrollY && (e = this.maxScrollY); r > i; i++) if (t >= this.pages[i][0].cx) { t = this.pages[i][0].x; break } for (r = this.pages[i].length; r > o; o++) if (e >= this.pages[0][o].cy) { e = this.pages[0][o].y; break } return i == this.currentPage.pageX && (i += this.directionX, 0 > i ? i = 0 : i >= this.pages.length && (i = this.pages.length - 1), t = this.pages[i][0].x), o == this.currentPage.pageY && (o += this.directionY, 0 > o ? o = 0 : o >= this.pages[0].length && (o = this.pages[0].length - 1), e = this.pages[0][o].y), { x: t, y: e, pageX: i, pageY: o } }, goToPage: function(t, e, i, r) { r = r || this.options.bounceEasing, t >= this.pages.length ? t = this.pages.length - 1 : 0 > t && (t = 0), e >= this.pages[t].length ? e = this.pages[t].length - 1 : 0 > e && (e = 0); var o = this.pages[t][e].x, s = this.pages[t][e].y; i = void 0 === i ? this.options.snapSpeed || n.max(n.max(n.min(n.abs(o - this.x), 1e3), n.min(n.abs(s - this.y), 1e3)), 750) : i, this.currentPage = { x: o, y: s, pageX: t, pageY: e }, this.scrollTo(o, s, i, r) }, next: function(t, e) { var n = this.currentPage.pageX, i = this.currentPage.pageY; n++, n >= this.pages.length && this.hasVerticalScroll && (n = 0, i++), this.goToPage(n, i, t, e) }, prev: function(t, e) { var n = this.currentPage.pageX, i = this.currentPage.pageY; n--, 0 > n && this.hasVerticalScroll && (n = 0, i--), this.goToPage(n, i, t, e) }, _initKeys: function() { var e, n = { pageUp: 33, pageDown: 34, end: 35, home: 36, left: 37, up: 38, right: 39, down: 40 }; if ("object" == typeof this.options.keyBindings) for (e in this.options.keyBindings) "string" == typeof this.options.keyBindings[e] && (this.options.keyBindings[e] = this.options.keyBindings[e].toUpperCase().charCodeAt(0)); else this.options.keyBindings = {}; for (e in n) this.options.keyBindings[e] = this.options.keyBindings[e] || n[e]; a.addEvent(t, "keydown", this), this.on("destroy", function() { a.removeEvent(t, "keydown", this) }) }, _key: function(t) { if (this.enabled) { var e, i = this.options.snap, r = i ? this.currentPage.pageX : this.x, o = i ? this.currentPage.pageY : this.y, s = a.getTime(), l = this.keyTime || 0, c = .25; switch (this.options.useTransition && this.isInTransition && (e = this.getComputedPosition(), this._translate(n.round(e.x), n.round(e.y)), this.isInTransition = !1), this.keyAcceleration = 200 > s - l ? n.min(this.keyAcceleration + c, 50) : 0, t.keyCode) { case this.options.keyBindings.pageUp: this.hasHorizontalScroll && !this.hasVerticalScroll ? r += i ? 1 : this.wrapperWidth : o += i ? 1 : this.wrapperHeight; break; case this.options.keyBindings.pageDown: this.hasHorizontalScroll && !this.hasVerticalScroll ? r -= i ? 1 : this.wrapperWidth : o -= i ? 1 : this.wrapperHeight; break; case this.options.keyBindings.end: r = i ? this.pages.length - 1 : this.maxScrollX, o = i ? this.pages[0].length - 1 : this.maxScrollY; break; case this.options.keyBindings.home: r = 0, o = 0; break; case this.options.keyBindings.left: r += i ? -1 : 5 + this.keyAcceleration >> 0; break; case this.options.keyBindings.up: o += i ? 1 : 5 + this.keyAcceleration >> 0; break; case this.options.keyBindings.right: r -= i ? -1 : 5 + this.keyAcceleration >> 0; break; case this.options.keyBindings.down: o -= i ? 1 : 5 + this.keyAcceleration >> 0; break; default: return } if (i) return this.goToPage(r, o), void 0; r > 0 ? (r = 0, this.keyAcceleration = 0) : r < this.maxScrollX && (r = this.maxScrollX, this.keyAcceleration = 0), o > 0 ? (o = 0, this.keyAcceleration = 0) : o < this.maxScrollY && (o = this.maxScrollY, this.keyAcceleration = 0), this.scrollTo(r, o, 0), this.keyTime = s } }, _animate: function(t, e, n, i) { function r() { var p, d, f, m = a.getTime(); return m >= h ? (o.isAnimating = !1, o._translate(t, e), o.resetPosition(o.options.bounceTime) || o._execEvent("scrollEnd"), void 0) : (m = (m - u) / n, f = i(m), p = (t - l) * f + l, d = (e - c) * f + c, o._translate(p, d), o.isAnimating && s(r), 3 == o.options.probeType && o._execEvent("scroll"), void 0) } var o = this, l = this.x, c = this.y, u = a.getTime(), h = u + n; this.isAnimating = !0, r() }, handleEvent: function(t) { switch (t.type) { case "touchstart": case "pointerdown": case "MSPointerDown": case "mousedown": this._start(t); break; case "touchmove": case "pointermove": case "MSPointerMove": case "mousemove": this._move(t); break; case "touchend": case "pointerup": case "MSPointerUp": case "mouseup": case "touchcancel": case "pointercancel": case "MSPointerCancel": case "mousecancel": this._end(t); break; case "orientationchange": case "resize": this._resize(); break; case "transitionend": case "webkitTransitionEnd": case "oTransitionEnd": case "MSTransitionEnd": this._transitionEnd(t); break; case "wheel": case "DOMMouseScroll": case "mousewheel": this._wheel(t); break; case "keydown": this._key(t); break; case "click": t._constructed || (t.preventDefault(), t.stopPropagation()) } } }, o.prototype = { handleEvent: function(t) { switch (t.type) { case "touchstart": case "pointerdown": case "MSPointerDown": case "mousedown": this._start(t); break; case "touchmove": case "pointermove": case "MSPointerMove": case "mousemove": this._move(t); break; case "touchend": case "pointerup": case "MSPointerUp": case "mouseup": case "touchcancel": case "pointercancel": case "MSPointerCancel": case "mousecancel": this._end(t) } }, destroy: function() { this.options.interactive && (a.removeEvent(this.indicator, "touchstart", this), a.removeEvent(this.indicator, a.prefixPointerEvent("pointerdown"), this), a.removeEvent(this.indicator, "mousedown", this), a.removeEvent(t, "touchmove", this), a.removeEvent(t, a.prefixPointerEvent("pointermove"), this), a.removeEvent(t, "mousemove", this), a.removeEvent(t, "touchend", this), a.removeEvent(t, a.prefixPointerEvent("pointerup"), this), a.removeEvent(t, "mouseup", this)), this.options.defaultScrollbars && this.wrapper.parentNode.removeChild(this.wrapper) }, _start: function(e) { var n = e.touches ? e.touches[0] : e; e.preventDefault(), e.stopPropagation(), this.transitionTime(), this.initiated = !0, this.moved = !1, this.lastPointX = n.pageX, this.lastPointY = n.pageY, this.startTime = a.getTime(), this.options.disableTouch || a.addEvent(t, "touchmove", this), this.options.disablePointer || a.addEvent(t, a.prefixPointerEvent("pointermove"), this), this.options.disableMouse || a.addEvent(t, "mousemove", this), this.scroller._execEvent("beforeScrollStart") }, _move: function(t) { var e, n, i, r, o = t.touches ? t.touches[0] : t, s = a.getTime(); this.moved || this.scroller._execEvent("scrollStart"), this.moved = !0, e = o.pageX - this.lastPointX, this.lastPointX = o.pageX, n = o.pageY - this.lastPointY, this.lastPointY = o.pageY, i = this.x + e, r = this.y + n, this._pos(i, r), 1 == this.scroller.options.probeType && s - this.startTime > 750 ? (this.startTime = s, this.scroller._execEvent("scroll")) : this.scroller.options.probeType > 1 && this.scroller._execEvent("scroll"), t.preventDefault(), t.stopPropagation() }, _end: function(e) { if (this.initiated) { if (this.initiated = !1, e.preventDefault(), e.stopPropagation(), a.removeEvent(t, "touchmove", this), a.removeEvent(t, a.prefixPointerEvent("pointermove"), this), a.removeEvent(t, "mousemove", this), this.scroller.options.snap) { var i = this.scroller._nearestSnap(this.scroller.x, this.scroller.y), r = this.options.snapSpeed || n.max(n.max(n.min(n.abs(this.scroller.x - i.x), 1e3), n.min(n.abs(this.scroller.y - i.y), 1e3)), 750); (this.scroller.x != i.x || this.scroller.y != i.y) && (this.scroller.directionX = 0, this.scroller.directionY = 0, this.scroller.currentPage = i, this.scroller.scrollTo(i.x, i.y, r, this.scroller.options.bounceEasing)) } this.moved && this.scroller._execEvent("scrollEnd") } }, transitionTime: function(t) { t = t || 0, this.indicatorStyle[a.style.transitionDuration] = t + "ms", !t && a.isBadAndroid && (this.indicatorStyle[a.style.transitionDuration] = "0.001s") }, transitionTimingFunction: function(t) { this.indicatorStyle[a.style.transitionTimingFunction] = t }, refresh: function() { this.transitionTime(), this.indicatorStyle.display = this.options.listenX && !this.options.listenY ? this.scroller.hasHorizontalScroll ? "block" : "none" : this.options.listenY && !this.options.listenX ? this.scroller.hasVerticalScroll ? "block" : "none" : this.scroller.hasHorizontalScroll || this.scroller.hasVerticalScroll ? "block" : "none", this.scroller.hasHorizontalScroll && this.scroller.hasVerticalScroll ? (a.addClass(this.wrapper, "iScrollBothScrollbars"), a.removeClass(this.wrapper, "iScrollLoneScrollbar"), this.options.defaultScrollbars && this.options.customStyle && (this.options.listenX ? this.wrapper.style.right = "8px" : this.wrapper.style.bottom = "8px")) : (a.removeClass(this.wrapper, "iScrollBothScrollbars"), a.addClass(this.wrapper, "iScrollLoneScrollbar"), this.options.defaultScrollbars && this.options.customStyle && (this.options.listenX ? this.wrapper.style.right = "2px" : this.wrapper.style.bottom = "2px")); this.wrapper.offsetHeight; this.options.listenX && (this.wrapperWidth = this.wrapper.clientWidth, this.options.resize ? (this.indicatorWidth = n.max(n.round(this.wrapperWidth * this.wrapperWidth / (this.scroller.scrollerWidth || this.wrapperWidth || 1)), 8), this.indicatorStyle.width = this.indicatorWidth + "px") : this.indicatorWidth = this.indicator.clientWidth, this.maxPosX = this.wrapperWidth - this.indicatorWidth, "clip" == this.options.shrink ? (this.minBoundaryX = -this.indicatorWidth + 8, this.maxBoundaryX = this.wrapperWidth - 8) : (this.minBoundaryX = 0, this.maxBoundaryX = this.maxPosX), this.sizeRatioX = this.options.speedRatioX || this.scroller.maxScrollX && this.maxPosX / this.scroller.maxScrollX), this.options.listenY && (this.wrapperHeight = this.wrapper.clientHeight, this.options.resize ? (this.indicatorHeight = n.max(n.round(this.wrapperHeight * this.wrapperHeight / (this.scroller.scrollerHeight || this.wrapperHeight || 1)), 8), this.indicatorStyle.height = this.indicatorHeight + "px") : this.indicatorHeight = this.indicator.clientHeight, this.maxPosY = this.wrapperHeight - this.indicatorHeight, "clip" == this.options.shrink ? (this.minBoundaryY = -this.indicatorHeight + 8, this.maxBoundaryY = this.wrapperHeight - 8) : (this.minBoundaryY = 0, this.maxBoundaryY = this.maxPosY), this.maxPosY = this.wrapperHeight - this.indicatorHeight, this.sizeRatioY = this.options.speedRatioY || this.scroller.maxScrollY && this.maxPosY / this.scroller.maxScrollY), this.updatePosition() }, updatePosition: function() { var t = this.options.listenX && n.round(this.sizeRatioX * this.scroller.x) || 0, e = this.options.listenY && n.round(this.sizeRatioY * this.scroller.y) || 0; this.options.ignoreBoundaries || (t < this.minBoundaryX ? ("scale" == this.options.shrink && (this.width = n.max(this.indicatorWidth + t, 8), this.indicatorStyle.width = this.width + "px"), t = this.minBoundaryX) : t > this.maxBoundaryX ? "scale" == this.options.shrink ? (this.width = n.max(this.indicatorWidth - (t - this.maxPosX), 8), this.indicatorStyle.width = this.width + "px", t = this.maxPosX + this.indicatorWidth - this.width) : t = this.maxBoundaryX : "scale" == this.options.shrink && this.width != this.indicatorWidth && (this.width = this.indicatorWidth, this.indicatorStyle.width = this.width + "px"), e < this.minBoundaryY ? ("scale" == this.options.shrink && (this.height = n.max(this.indicatorHeight + 3 * e, 8), this.indicatorStyle.height = this.height + "px"), e = this.minBoundaryY) : e > this.maxBoundaryY ? "scale" == this.options.shrink ? (this.height = n.max(this.indicatorHeight - 3 * (e - this.maxPosY), 8), this.indicatorStyle.height = this.height + "px", e = this.maxPosY + this.indicatorHeight - this.height) : e = this.maxBoundaryY : "scale" == this.options.shrink && this.height != this.indicatorHeight && (this.height = this.indicatorHeight, this.indicatorStyle.height = this.height + "px")), this.x = t, this.y = e, this.scroller.options.useTransform ? this.indicatorStyle[a.style.transform] = "translate(" + t + "px," + e + "px)" + this.scroller.translateZ : (this.indicatorStyle.left = t + "px", this.indicatorStyle.top = e + "px") }, _pos: function(t, e) { 0 > t ? t = 0 : t > this.maxPosX && (t = this.maxPosX), 0 > e ? e = 0 : e > this.maxPosY && (e = this.maxPosY), t = this.options.listenX ? n.round(t / this.sizeRatioX) : this.scroller.x, e = this.options.listenY ? n.round(e / this.sizeRatioY) : this.scroller.y, this.scroller.scrollTo(t, e) }, fade: function(t, e) { if (!e || this.visible) { clearTimeout(this.fadeTimeout), this.fadeTimeout = null; var n = t ? 250 : 500, i = t ? 0 : 750; t = t ? "1" : "0", this.wrapperStyle[a.style.transitionDuration] = n + "ms", this.fadeTimeout = setTimeout(function(t) { this.wrapperStyle.opacity = t, this.visible = +t }.bind(this, t), i) } } }, i.utils = a, "undefined" != typeof module && module.exports ? module.exports = i : t.IScroll = i }(window, document, Math), function(t, e) { t.fn.html5data = function(n, i) { var r = { parseBooleans: !0, parseNumbers: !0, parseNulls: !0, parseJSON: !0, parse: e }, o = t.extend({}, r, i), s = [], a = "data-" + (n ? n + "-" : ""), l = function(e) { var n = e.toLowerCase(), i = e.charAt(0); return o.parseBooleans === !0 && "true" === n ? !0 : o.parseBooleans === !0 && "false" === n ? !1 : o.parseNulls === !0 && "null" === n ? null : o.parseNumbers !== !0 || isNaN(1 * e) ? o.parseJSON === !0 && "[" === i || "{" === i ? t.parseJSON(e) : "function" == typeof o.parse ? o.parse(e) : e : 1 * e }; return this.each(function() { for (var t, e, n, i = {}, r = 0, o = this.attributes.length; o > r; r++) if (t = this.attributes[r], 0 === t.name.indexOf(a)) { n = "", e = t.name.replace(a, "").split("-"); for (var c = 0, u = e.length; u > c; c++) n += 0 === c ? e[c].toLowerCase() : e[c].charAt(0).toUpperCase() + e[c].slice(1).toLowerCase(); i[n] = l(t.value) } s.push(i) }), 1 === s.length ? s[0] : s }, t.html5data = function(e, n, i) { return t(e).html5data(n, i) } }(jQuery), function() { "use strict";

function t(e) { if (!(this instanceof t)) return new t(e); if (!e) throw new Error("No DOM elements passed into Touche"); return this.nodes = e, this } var e = "ontouchstart" in window || "msmaxtouchpoints" in window.navigator; if (t.prototype.on = function(t, n) { var i, r, o = this.nodes, s = o.length; if (e && "click" === t && (i = !0), r = function(t, e, n) { var r, o = function() { !r && (r = !0) && n.apply(this, arguments) }; t.addEventListener(e, o, !1), i && t.addEventListener("touchend", o, !1) }, s) for (; s--;) r(o[s], t, n); else r(o, t, n); return this }, window.Touche = t, window.jQuery && e) { var n = jQuery.fn.on, i = jQuery.fn.off, r = function(t) { return "click" == t.slice(0, 5) ? t.replace("click", "touchend") : t }; jQuery.fn.on = function() { return "string" == typeof arguments[0] && (arguments[0] = r(arguments[0])), n.apply(this, arguments), this }, jQuery.fn.off = function() { return "string" == typeof arguments[0] && (arguments[0] = r(arguments[0])), i.apply(this, arguments), this } } }(); var Query = function(t) { "use strict"; var e = function(t) { var e, n, i, r, o = []; if ("undefined" == typeof t || null === t || "" === t) return o; for (0 === t.indexOf("?") && (t = t.substring(1)), n = t.toString().split(/[&;]/), e = 0; e < n.length; e++) i = n[e], r = i.split("="), o.push([r[0], r[1]]); return o }, n = e(t), i = function() { var t, e, i = ""; for (t = 0; t < n.length; t++) e = n[t], i.length > 0 && (i += "&"), i += e.join("="); return i.length > 0 ? "?" + i : i }, r = function(t) { return t = decodeURIComponent(t), t = t.replace("+", " ") }, o = function(t) { var e, i; for (i = 0; i < n.length; i++) if (e = n[i], r(t) === r(e[0])) return e[1] }, s = function(t) { var e, i, o = []; for (e = 0; e < n.length; e++) i = n[e], r(t) === r(i[0]) && o.push(i[1]); return o }, a = function(t, e) { var i, o, s, a, l = []; for (i = 0; i < n.length; i++) o = n[i], s = r(o[0]) === r(t), a = r(o[1]) === r(e), (1 === arguments.length && !s || 2 === arguments.length && !s && !a) && l.push(o); return n = l, this }, l = function(t, e, i) { return 3 === arguments.length && -1 !== i ? (i = Math.min(i, n.length), n.splice(i, 0, [t, e])) : arguments.length > 0 && n.push([t, e]), this }, c = function(t, e, i) { var o, s, c = -1; if (3 === arguments.length) { for (o = 0; o < n.length; o++) if (s = n[o], r(s[0]) === r(t) && decodeURIComponent(s[1]) === r(i)) { c = o; break } a(t, i).addParam(t, e, c) } else { for (o = 0; o < n.length; o++) if (s = n[o], r(s[0]) === r(t)) { c = o; break } a(t), l(t, e, c) } return this }; return { getParamValue: o, getParamValues: s, deleteParam: a, addParam: l, replaceParam: c, toString: i } }, Uri = function(t) { "use strict"; var e = !1, n = function(t) { for (var n = { strict: /^(?:([^:\/?#]+):)?(?:\/\/((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:\/?#]*)(?::(\d*))?))?((((?:[^?#\/]*\/)*)([^?#]*))(?:\?([^#]*))?(?:#(.*))?)/, loose: /^(?:(?![^:@]+:[^:@\/]*@)([^:\/?#.]+):)?(?:\/\/)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/ }, i = ["source", "protocol", "authority", "userInfo", "user", "password", "host", "port", "relative", "path", "directory", "file", "query", "anchor"], r = { name: "queryKey", parser: /(?:^|&)([^&=]*)=?([^&]*)/g }, o = n[e ? "strict" : "loose"].exec(t), s = {}, a = 14; a--;) s[i[a]] = o[a] || ""; return s[r.name] = {}, s[i[12]].replace(r.parser, function(t, e, n) { e && (s[r.name][e] = n) }), s }, i = n(t || ""), r = new Query(i.query), o = function(t) { return "undefined" != typeof t && (i.protocol = t), i.protocol }, s = null, a = function(t) { return "undefined" != typeof t && (s = t), null === s ? -1 !== i.source.indexOf("//") : s }, l = function(t) { return "undefined" != typeof t && (i.userInfo = t), i.userInfo }, c = function(t) { return "undefined" != typeof t && (i.host = t), i.host }, u = function(t) { return "undefined" != typeof t && (i.port = t), i.port }, h = function(t) { return "undefined" != typeof t && (i.path = t), i.path }, p = function(t) { return "undefined" != typeof t && (r = new Query(t)), r }, d = function(t) { return "undefined" != typeof t && (i.anchor = t), i.anchor }, f = function(t) { return o(t), this }, m = function(t) { return a(t), this }, g = function(t) { return l(t), this }, v = function(t) { return c(t), this }, y = function(t) { return u(t), this }, x = function(t) { return h(t), this }, w = function(t) { return p(t), this }, b = function(t) { return d(t), this }, T = function(t) { return p().getParamValue(t) }, S = function(t) { return p().getParamValues(t) }, E = function(t, e) { return 2 === arguments.length ? p().deleteParam(t, e) : p().deleteParam(t), this }, C = function(t, e, n) { return 3 === arguments.length ? p().addParam(t, e, n) : p().addParam(t, e), this }, k = function(t, e, n) { return 3 === arguments.length ? p().replaceParam(t, e, n) : p().replaceParam(t, e), this }, P = function() { var t = "", e = function(t) { return null !== t && "" !== t }; return e(o()) ? (t += o(), o().indexOf(":") !== o().length - 1 && (t += ":"), t += "//") : a() && e(c()) && (t += "//"), e(l()) && e(c()) && (t += l(), l().indexOf("@") !== l().length - 1 && (t += "@")), e(c()) && (t += c(), e(u()) && (t += ":" + u())), e(h()) ? t += h() : e(c()) && (e(p().toString()) || e(d())) && (t += "/"), e(p().toString()) && (0 !== p().toString().indexOf("?") && (t += "?"), t += p().toString()), e(d()) && (0 !== d().indexOf("#") && (t += "#"), t += d()), t }, D = function() { return new Uri(P()) }; return { protocol: o, hasAuthorityPrefix: a, userInfo: l, host: c, port: u, path: h, query: p, anchor: d, setProtocol: f, setHasAuthorityPrefix: m, setUserInfo: g, setHost: v, setPort: y, setPath: x, setQuery: w, setAnchor: b, getQueryParamValue: T, getQueryParamValues: S, deleteQueryParam: E, addQueryParam: C, replaceQueryParam: k, toString: P, clone: D } }, jsUri = Uri; ! function(t) { function e(t) { this.imageCandidates = [], this.srcValue = t.src, this.srcsetValue = t.srcset, this.isValid = !0, this.error = "", this._parse(this.srcsetValue), this.isValid || console.error("Error: " + this.error) }

function n(t) { this.src = t.src, this.w = t.w || 1 / 0, this.h = t.h || 1 / 0, this.x = t.x || 1 } var i = /^[0-9]+$/; e.prototype._parse = function() { for (var t, e, i = this.srcsetValue, r = 0, o = []; "" !== i;) { for (; " " === i.charAt(0);) i = i.slice(1); if (r = i.indexOf(" "), -1 !== r) { if (t = i.slice(0, r), "" === t) break; i = i.slice(r + 1), r = i.indexOf(","), -1 === r ? (e = i, i = "") : (e = i.slice(0, r), i = i.slice(r + 1)), o.push({ url: t, descriptors: e }) } else o.push({ url: i, descriptors: "" }), i = "" } for (var s = 0, a = o.length; a > s; s++) { var l = o[s], c = this._parseDescriptors(l.descriptors); this._addCandidate(new n({ src: l.url, x: c.x, w: c.w, h: c.h })) } this.srcValue && this._addCandidate(new n({ src: this.srcValue })) }, e.prototype._addCandidate = function(t) { for (var e = 0; e < this.imageCandidates.length; e++) { var n = this.imageCandidates[e]; if (n.x == t.x && n.w == t.w && n.h == t.h) return } this.imageCandidates.push(t) }, e.prototype._parseDescriptors = function(t) { for (var e = t.split(/\s/), n = {}, r = 0; r < e.length; r++) { var o = e[r]; if (o.length > 0) { var s = o[o.length - 1], a = o.substring(0, o.length - 1), l = parseInt(a, 10), c = parseFloat(a); a.match(i) && "w" === s ? n[s] = l : a.match(i) && "h" == s ? n[s] = l : isNaN(c) || "x" != s ? (this.error = 'Invalid srcset descriptor found in "' + o + '".', this.isValid = !1) : n[s] = c } } return n }, t.SrcsetInfo = e }(window), function(t) { function e() { this.w = null, this.h = null, this.x = null } e.prototype.compute = function() { this.w = window.innerWidth || document.documentElement.clientWidth, this.h = window.innerHeight || document.documentElement.clientHeight, this.x = window.devicePixelRatio }, e.prototype.setForTesting = function(t) { this.w = t.w, this.h = t.h, this.x = t.x }, e.prototype.getBestImage = function(t) { var e = t.imageCandidates.slice(0), n = this._getBestCandidateIf(e, function(t, e) { return t.w > e.w }); this._removeCandidatesIf(e, function(t) { return function(e) { return e.w < t.w } }(this)), 0 === e.length && (e = [n]); var i = this._getBestCandidateIf(e, function(t, e) { return t.h > e.h }); this._removeCandidatesIf(e, function(t) { return function(e) { return e.h < t.h } }(this)), 0 === e.length && (e = [i]); var r = this._getBestCandidateIf(e, function(t, e) { return t.x > e.x }); this._removeCandidatesIf(e, function(t) { return function(e) { return e.x < t.x } }(this)), 0 === e.length && (e = [r]); var o = this._getBestCandidateIf(e, function(t, e) { return t.w < e.w }); this._removeCandidatesIf(e, function(t) { return t.w > o.w }); this._getBestCandidateIf(e, function(t, e) { return t.h < e.h }); this._removeCandidatesIf(e, function(t) { return t.h > o.h }); var s = this._getBestCandidateIf(e, function(t, e) { return t.x < e.x }); return this._removeCandidatesIf(e, function(t) { return t.x > s.x }), e[0] }, e.prototype._getBestCandidateIf = function(t, e) { for (var n = t[0], i = 0; i < t.length; i++) { var r = t[i]; e(r, n) && (n = r) } return n }, e.prototype._removeCandidatesIf = function(t, e) { for (var n = t.length - 1; n >= 0; n--) { var i = t[n]; e(i) && t.splice(n, 1) } return t }, e.prototype.getBestImage2 = function(t) { for (var e = null, n = t.imageCandidates, i = 0; i < n.length; i++) { var r = n[i], o = e ? e.x : 0; if (o <= r.x && r.x <= this.x) { if (null === e) { e = r; continue } this.w <= r.w && r.w <= e.w && (e = r) } } return e }, t.ViewportInfo = e }(window), function() { function t() { var t = new Image; return "srcset" in t }

function e() { if (!t()) { var e = new ViewportInfo; e.compute(); for (var n = document.querySelectorAll("img"), i = 0; i < n.length; i++) { var r = n[i], o = r.getAttribute("srcset"); if (o) { var s = new SrcsetInfo({ src: r.src, srcset: o }), a = e.getBestImage(s); r.src = a.src, r.width || r.height || r.style.height || r.style.width || (r.style.webkitTransform = "scale(" + 1 / a.x + ")", r.style.webkitTransformOrigin = "0 0") } } } } var n = setInterval(function() { "complete" === document.readyState && (e(), clearInterval(n)) }, 10) }(window), function(t, e, n) { "use strict"; var i = function(e, i) { var r = this, o = (t(e), { portraitScale: .6, portraitWidthMin: 768, portraitWidthMax: 991 }), s = t.extend({}, o, i), a = { head: t("head"), meta: t('<meta name="viewport" />') }, l = void 0, c = void 0; r._construct = function() {}, r.init = function() { return u(), r }; var u = function() { f(), m(), h() }, h = function() { p(), window.addEventListener("orientationchange", p) }, p = function() { f(), d() }, d = function() { var t = l >= s.portraitWidthMin && l <= s.portraitWidthMax && c > l ? s.portraitScale : 1, e = 1 == t ? 0 : 1; e = 0, a.meta.attr("content", "width=device-width, initial-scale=" + t + ", maximum-scale=" + t + ", user-scalable=" + e) }, f = function() { l = t(n).width(), c = t(n).height() }, m = function() { a.meta.appendTo(a.head) } }, r = function() { var t = {}, e = new i(this, t); e.init() }; r() }(jQuery, document, window), function(t, e, n) { "use strict"; var i = function(e, n) { var i = this, r = t(e), o = { animationDuration: 900, interval: 4e3, loop: !0, parallaxSpeed: .5, disableInput: !1, snap: !0 }, s = t.extend({}, o, n, r.html5data("slider")), a = { els: { wrapper: r.children(".wrapper"), items: r.children(".wrapper").find(".scroller > .item"), indicators: r.find(".slider-indicators li"), controls: r.find(".slider-control") }, animating: !1, interval: void 0, itemWidth: void 0 }; i.scroller = void 0, i._construct = function() {}, i.init = function() { return l(), i }, i.goToPage = function(t) { return i.scroller.goToPage(t, 0, s.animationDuration), d(), i }, i.nextPrevPage = function(e, n) { if (!a.animating) { a.animating = !0; var r = i.scroller.currentPage.pageX + e; return n && r == i.scroller.pages.length && (r = 0), i.goToPage(r), t(this).delay(s.animationDuration).queue(function() { a.animating = !1, t(this).dequeue() }), i } }; var l = function() { c(), u(), d(), h.set() }, c = function() { var t = m(), e = { eventPassthrough: !0, scrollX: !0, deceleration: .01, probeType: 3, disableMouse: s.disableInput, disablePointer: s.disableInput, disableTouch: s.disableInput, snap: s.snap }; a.els.wrapper.attr("id", t), i.scroller = new IScroll("#" + t, e) }, u = function() { (0 != !s.animationDuration || 0 != s.parallaxSpeed) && i.scroller.on("scroll", function() { p() }), s.disableInput || (i.scroller.on("beforeScrollStart", function() { h.clear() }), i.scroller.on("scrollEnd", function() { d() }), a.els.controls.on("click", function() { h.clear(), i.nextPrevPage(t(this).hasClass("right") ? 1 : -1, !1) })) }, h = { set: function() { s.loop && (a.interval = setInterval(function() { i.nextPrevPage(1, !0) }, s.interval)) }, clear: function() { s.loop && (s.loop = !1, clearInterval(a.interval)) } }, p = function() { var t = f(i.scroller.x, i.scroller.wrapperWidth * i.scroller.currentPage.pageX * -1, i.scroller.wrapperWidth * (i.scroller.currentPage.pageX + 1) * -1, 0, i.scroller.wrapperWidth * s.parallaxSpeed), e = f(t, 0, i.scroller.wrapperWidth * s.parallaxSpeed, i.scroller.wrapperWidth * -s.parallaxSpeed, 0), n = f(t, 0, i.scroller.wrapperWidth * -s.parallaxSpeed, i.scroller.wrapperWidth * s.parallaxSpeed, 0); a.els.items.eq(i.scroller.currentPage.pageX).addClass("active").children(".parallax-layer").children(".image-background").css("transform", "translateX(" + t + "px) translateZ(0px)"), a.els.items.eq(i.scroller.currentPage.pageX - 1).removeClass("active").children(".parallax-layer").children(".image-background").css("transform", "translateX(" + n + "px) translateZ(0px)"), a.els.items.eq(i.scroller.currentPage.pageX + 1).removeClass("active").children(".parallax-layer").children(".image-background").css("transform", "translateX(" + e + "px) translateZ(0px)") }, d = function() { a.els.indicators.removeClass("active"), a.els.indicators.eq(i.scroller.currentPage.pageX).addClass("active") }, f = function(t, e, n, i, r) { return i + (r - i) * (t - e) / (n - e) }, m = function() { for (var t = "", e = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789", n = 0; 5 > n; n++) t += e.charAt(Math.floor(Math.random() * e.length)); return "scroller-" + t } }; t.fn.slider = function(e) { return this.each(function() { var n = t(this); if (!n.data("issue")) { var r = new i(this, e); r.init(), n.data("issue", r) } }) } }(jQuery, document, window), function(t, e, n) { "use strict"; var i = function(e, i) { var r = this, o = (t(e), { menu: t(".nav-full-screen"), delay: 1e3 }), s = t.extend({}, o, i), a = { smhidde: t(".target-smhidde"), body: t("body"), sticky: t(".nav-sticky") }, l = !1, c = !0; r._construct = function() {}, r.init = function() { return u(), r }, r.toggle = function() { l || (l = !0, f(), s.menu.hasClass("hidden") ? (a.body.addClass("nav-active nav-in"), s.menu.removeClass("hidden"), g(function() { a.body.removeClass("nav-in") })) : (a.body.addClass("nav-out"), g(function() { a.body.removeClass("nav-active nav-out"), s.menu.addClass("hidden"), m() }))) }, r.show = function() { c && (a.body.addClass("nav-scroll"), c = !1) }, r.hide = function() { c || (a.body.removeClass("nav-scroll"), c = !0) }; var u = function() { h(), p() }, h = function() { a.smhidde.on("click", function() { r.toggle() }), d(t(n).scrollTop()), t(n).scroll(function() { t(".smhidde").css("z-index", "5"), d(t(this).scrollTop()) }) }, p = function() { navigator.userAgent.match(/(iPad|iPhone|iPod touch);.*CPU.*OS 7_\d/i) && a.smhidde.addClass("no-transition") }, d = function(t) { t > 0 ? r.show() : r.hide() }, f = function() { document.ontouchmove = function(t) { t.preventDefault() } }, m = function() { document.ontouchmove = function() { return !0 } }, g = function(e) { a.body.delay(s.delay).queue(function() { e && "function" == typeof e && e(), l = !1, t(this).dequeue() }) } }; t.fn.nav = function(e) { return this.each(function() { var n = t(this); if (!n.data("nav")) { var r = new i(this, e); r.init(), n.data("nav", r) } }) } }(jQuery, document, window), function(t) { "use strict";

function e() { if (t(".embedCodeType--cm").length) { var e = t(".embedCodeType--cm input"); e.each(function(e, n) { var i = t(n); i.val() && i.parent().addClass("focus") }), e.focus(function(e) { var n = t(e.target); n.parent().addClass("focus") }), e.blur(function(e) { var n = t(e.target); n.val() || n.parent().removeClass("focus") }) } } var n = { init: function() { window.viewportUnitsBuggyfill.init(), t(".slider").slider(), t(".nav").nav() } }; n.init(), e()

}(jQuery);