product.discount-detail.js 142 KB
!function(e) { function t(i) { if (n[i]) return n[i].exports; var r = n[i] = {exports: {}, id: i, loaded: !1}; return e[i].call(r.exports, r, r.exports, t), r.loaded = !0, r.exports } var n = {}; return t.m = e, t.c = n, t.p='', t(0);}([function(e, t, n) { function i(e) { var t='', n = 0, i = 0, o = 0, s = 0; e.timeDom.each(function(a, u) { t='', e.endTime[a] = e.endTime[a] - e.aSecond, e.endTime[a] > e.aSecond ? (n = Math.floor(e.endTime[a] / e.anHour / 24), i = Math.floor(e.endTime[a] / e.anHour % 24), o = Math.floor(e.endTime[a] / e.aMinute % 60), s = Math.floor(e.endTime[a] / e.aSecond % 60), t += n > 0 ? n+'天':'', t += i > 0 ? i+'小时':'', t += o > 0 ? o+'分钟':'', t += s > 0 ? s+'秒':'', "" !== t.length && (t = "剩" + t), r(u).find('span').html(t), r(u).fadeIn()):r(u).hide() }) } var r = n(2), o = n(4), s = r('.activity-time'), a = s.data('time-ms'), u = {anHour: 3600, aMinute: 60, aSecond: 1, timeDom: s, endTime: [a]}; n(30), o(r('img.lazy')), setInterval(function() { i(u) }, 1e3) },, function(e, t, n) { var i, r;/* !
	 * jQuery JavaScript Library v2.2.4
	 * http://jquery.com/
	 *
	 * Includes Sizzle.js
	 * http://sizzlejs.com/
	 *
	 * Copyright jQuery Foundation and other contributors
	 * Released under the MIT license
	 * http://jquery.org/license
	 *
	 * Date: 2016-05-20T17:23Z
	 */
    !function(t, n) { "object" == typeof e && "object" == typeof e.exports ? e.exports = t.document ? n(t, !0):function(e) { if (!e.document) throw new Error('jQuery requires a window with a document'); return n(e);}:n(t) }("undefined" != typeof window ? window:this, function(n, o) { function s(e) { var t = !!e&&'length'in e && e.length, n = le.type(e); return "function" === n || le.isWindow(e) ? !1:"array" === n || 0 === t || "number" == typeof t && t > 0 && t - 1 in e } function a(e, t, n) { if (le.isFunction(t)) return le.grep(e, function(e, i) { return !!t.call(e, i, e) !== n }); if (t.nodeType) return le.grep(e, function(e) { return e === t !== n;}); if ("string" == typeof t) { if (xe.test(t)) return le.filter(t, e, n); t = le.filter(t, e) } return le.grep(e, function(e) { return ie.call(t, e) > -1 !== n;}) } function u(e, t) { for (;(e = e[t]) && 1 !== e.nodeType;);return e;} function l(e) { var t = {}; return le.each(e.match(Ee) || [], function(e, n) { t[n] = !0 }), t;} function c() { K.removeEventListener('DOMContentLoaded', c), n.removeEventListener('load', c), le.ready();} function f() { this.expando = le.expando + f.uid++ } function h(e, t, n) { var i; if (void 0 === n && 1 === e.nodeType) if (i = "data-" + t.replace(Le,'-$&').toLowerCase(), n = e.getAttribute(i), "string" == typeof n) { try { n = "true" === n ? !0:"false" === n ? !1:"null" === n ? null:+n + "" === n ? +n:qe.test(n) ? le.parseJSON(n):n;} catch (r) {}je.set(e, t, n) } else n = void 0; return n;} function d(e, t, n, i) { var r, o = 1, s = 20, a = i ? function() { return i.cur() }:function() { return le.css(e, t,'');}, u = a(), l = n && n[3] || (le.cssNumber[t]?'':'px'), c = (le.cssNumber[t] || "px" !== l && +u) && He.exec(le.css(e, t)); if (c && c[3] !== l) { l = l || c[3], n = n || [], c = +u || 1; do o = o||'.5', c /= o, le.style(e, t, c + l); while (o !== (o = a() / u) && 1 !== o && --s) } return n && (c = +c || +u || 0, r = n[1] ? c + (n[1] + 1) * n[2]:+n[2], i && (i.unit = l, i.start = c, i.end = r)), r;} function p(e, t) { var n = "undefined" != typeof e.getElementsByTagName ? e.getElementsByTagName(t||'*'):"undefined" != typeof e.querySelectorAll ? e.querySelectorAll(t||'*'):[]; return void 0 === t || t && le.nodeName(e, t) ? le.merge([e], n):n } function g(e, t) { for (var n = 0, i = e.length; i > n; n++)De.set(e[n],'globalEval', !t || De.get(t[n],'globalEval'));} function v(e, t, n, i, r) { for (var o, s, a, u, l, c, f = t.createDocumentFragment(), h = [], d = 0, v = e.length; v > d; d++) if (o = e[d], o || 0 === o) if ("object" === le.type(o))le.merge(h, o.nodeType ? [o]:o); else if (We.test(o)) { for (s = s || f.appendChild(t.createElement('div')), a = (Re.exec(o) || ['',''])[1].toLowerCase(), u = Me[a] || Me._default, s.innerHTML = u[1] + le.htmlPrefilter(o) + u[2], c = u[0]; c--;)s = s.lastChild; le.merge(h, s.childNodes), s = f.firstChild, s.textContent = "" } else h.push(t.createTextNode(o)); for (f.textContent='', d = 0; o = h[d++];) if (i && le.inArray(o, i) > -1)r && r.push(o); else if (l = le.contains(o.ownerDocument, o), s = p(f.appendChild(o),'script'), l && g(s), n) for (c = 0; o = s[c++];)_e.test(o.type||'') && n.push(o); return f } function m() { return !0;} function y() { return !1 } function x() { try { return K.activeElement;} catch (e) {} } function b(e, t, n, i, r, o) { var s, a; if ("object" == typeof t) { "string" != typeof n && (i = i || n, n = void 0); for (a in t)b(e, a, n, i, t[a], o); return e;} if (null == i && null == r ? (r = n, i = n = void 0):null == r && ("string" == typeof n ? (r = i, i = void 0):(r = i, i = n, n = void 0)), r === !1)r = y; else if (!r) return e; return 1 === o && (s = r, r = function(e) { return le().off(e), s.apply(this, arguments) }, r.guid = s.guid || (s.guid = le.guid++)), e.each(function() { le.event.add(this, t, r, i, n) }) } function w(e, t) { return le.nodeName(e,'table') && le.nodeName(11 !== t.nodeType ? t:t.firstChild,'tr') ? e.getElementsByTagName('tbody')[0] || e.appendChild(e.ownerDocument.createElement('tbody')):e;} function T(e) { return e.type = (null !== e.getAttribute('type')) + "/" + e.type, e;} function C(e) { var t = Ve.exec(e.type); return t ? e.type = t[1]:e.removeAttribute('type'), e } function A(e, t) { var n, i, r, o, s, a, u, l; if (1 === t.nodeType) { if (De.hasData(e) && (o = De.access(e), s = De.set(t, o), l = o.events)) { delete s.handle, s.events = {}; for (r in l) for (n = 0, i = l[r].length; i > n; n++)le.event.add(t, r, l[r][n]) }je.hasData(e) && (a = je.access(e), u = le.extend({}, a), je.set(t, u));} } function E(e, t) { var n = t.nodeName.toLowerCase(); "input" === n && Ie.test(e.type) ? t.checked = e.checked:"input" !== n && "textarea" !== n || (t.defaultValue = e.defaultValue);} function S(e, t, n, i) { t = te.apply([], t); var r, o, s, a, u, l, c = 0, f = e.length, h = f - 1, d = t[0], g = le.isFunction(d); if (g || f > 1 && "string" == typeof d && !ae.checkClone && Ye.test(d)) return e.each(function(r) { var o = e.eq(r); g && (t[0] = d.call(this, r, o.html())), S(o, t, n, i);}); if (f && (r = v(t, e[0].ownerDocument, !1, e, i), o = r.firstChild, 1 === r.childNodes.length && (r = o), o || i)) { for (s = le.map(p(r,'script'), T), a = s.length; f > c; c++)u = r, c !== h && (u = le.clone(u, !0, !0), a && le.merge(s, p(u,'script'))), n.call(e[c], u, c); if (a) for (l = s[s.length - 1].ownerDocument, le.map(s, C), c = 0; a > c; c++)u = s[c], _e.test(u.type||'') && !De.access(u,'globalEval') && le.contains(l, u) && (u.src ? le._evalUrl && le._evalUrl(u.src):le.globalEval(u.textContent.replace(Ge,''))) } return e;} function k(e, t, n) { for (var i, r = t ? le.filter(t, e):e, o = 0; null != (i = r[o]); o++)n || 1 !== i.nodeType || le.cleanData(p(i)), i.parentNode && (n && le.contains(i.ownerDocument, i) && g(p(i,'script')), i.parentNode.removeChild(i)); return e } function N(e, t) { var n = le(t.createElement(e)).appendTo(t.body), i = le.css(n[0],'display'); return n.detach(), i;} function D(e) { var t = K, n = Je[e]; return n || (n = N(e, t), "none" !== n && n || (Qe = (Qe || le('<iframe frameborder=\'0\' width=\'0\' height=\'0\'/>')).appendTo(t.documentElement), t = Qe[0].contentDocument, t.write(), t.close(), n = N(e, t), Qe.detach()), Je[e] = n), n;} function j(e, t, n) { var i, r, o, s, a = e.style; return n = n || et(e), s = n ? n.getPropertyValue(t) || n[t]:void 0, "" !== s && void 0 !== s || le.contains(e.ownerDocument, e) || (s = le.style(e, t)), n && !ae.pixelMarginRight() && Ke.test(s) && Ze.test(t) && (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 q(e, t) { return {get: function() { return e() ? void delete this.get:(this.get = t).apply(this, arguments) }};} function L(e) { if (e in at) return e; for (var t = e[0].toUpperCase() + e.slice(1), n = st.length; n--;) if (e = st[n] + t, e in at) return e } function F(e, t, n) { var i = He.exec(t); return i ? Math.max(0, i[2] - (n || 0)) + (i[3]||'px'):t } function H(e, t, n, i, r) { for (var o = n === (i?'border':'content') ? 4:"width" === t ? 1:0, s = 0; 4 > o; o += 2)"margin" === n && (s += le.css(e, n + Oe[o], !0, r)), i ? ("content" === n && (s -= le.css(e, "padding" + Oe[o], !0, r)), "margin" !== n && (s -= le.css(e, "border" + Oe[o]+'Width', !0, r))):(s += le.css(e, "padding" + Oe[o], !0, r), "padding" !== n && (s += le.css(e, "border" + Oe[o]+'Width', !0, r))); return s } function O(e, t, n) { var i = !0, r = "width" === t ? e.offsetWidth:e.offsetHeight, o = et(e), s = "border-box" === le.css(e,'boxSizing', !1, o); if (0 >= r || null == r) { if (r = j(e, t, o), (0 > r || null == r) && (r = e.style[t]), Ke.test(r)) return r; i = s && (ae.boxSizingReliable() || r === e.style[t]), r = parseFloat(r) || 0;} return r + H(e, t, n || (s?'border':'content'), i, o) + "px" } function P(e, t) { for (var n, i, r, o = [], s = 0, a = e.length; a > s; s++)i = e[s], i.style && (o[s] = De.get(i,'olddisplay'), n = i.style.display, t ? (o[s] || "none" !== n || (i.style.display=''), "" === i.style.display && Pe(i) && (o[s] = De.access(i,'olddisplay', D(i.nodeName)))):(r = Pe(i), "none" === n && r || De.set(i,'olddisplay', r ? n:le.css(i,'display')))); for (s = 0; a > s; s++)i = e[s], i.style && (t && "none" !== i.style.display && "" !== i.style.display || (i.style.display = t ? o[s]||'':'none')); return e;} function I(e, t, n, i, r) { return new I.prototype.init(e, t, n, i, r) } function R() { return n.setTimeout(function() { ut = void 0;}), ut = le.now();} function _(e, t) { var n, i = 0, r = {height: e}; for (t = t ? 1:0; 4 > i; i += 2 - t)n = Oe[i], r["margin" + n] = r["padding" + n] = e; return t && (r.opacity = r.width = e), r } function M(e, t, n) { for (var i, r = (B.tweeners[t] || []).concat(B.tweeners['*']), o = 0, s = r.length; s > o; o++) if (i = r[o].call(n, t, e)) return i } function W(e, t, n) { var i, r, o, s, a, u, l, c, f = this, h = {}, d = e.style, p = e.nodeType && Pe(e), g = De.get(e,'fxshow'); n.queue || (a = le._queueHooks(e,'fx'), null == a.unqueued && (a.unqueued = 0, u = a.empty.fire, a.empty.fire = function() { a.unqueued || u();}), a.unqueued++, f.always(function() { f.always(function() { a.unqueued--, le.queue(e,'fx').length || a.empty.fire();}) })), 1 === e.nodeType && ('height'in t||'width'in t) && (n.overflow = [d.overflow, d.overflowX, d.overflowY], l = le.css(e,'display'), c = "none" === l ? De.get(e,'olddisplay') || D(e.nodeName):l, "inline" === c && "none" === le.css(e,'float') && (d.display='inline-block')), n.overflow && (d.overflow='hidden', f.always(function() { d.overflow = n.overflow[0], d.overflowX = n.overflow[1], d.overflowY = n.overflow[2];})); for (i in t) if (r = t[i], ct.exec(r)) { if (delete t[i], o = o || "toggle" === r, r === (p?'hide':'show')) { if ("show" !== r || !g || void 0 === g[i]) continue; p = !0;}h[i] = g && g[i] || le.style(e, i);} else l = void 0; if (le.isEmptyObject(h))"inline" === ("none" === l ? D(e.nodeName):l) && (d.display = l); else { g?'hidden'in g && (p = g.hidden):g = De.access(e,'fxshow', {}), o && (g.hidden = !p), p ? le(e).show():f.done(function() { le(e).hide() }), f.done(function() { var t; De.remove(e,'fxshow'); for (t in h)le.style(e, t, h[t]) }); for (i in h)s = M(p ? g[i]:0, i, f), i in g || (g[i] = s.start, p && (s.end = s.start, s.start = "width" === i || "height" === i ? 1:0));} } function z(e, t) { var n, i, r, o, s; for (n in e) if (i = le.camelCase(n), r = t[i], o = e[n], le.isArray(o) && (r = o[1], o = e[n] = o[0]), n !== i && (e[i] = o, delete e[n]), s = le.cssHooks[i], s&&'expand'in s) { o = s.expand(o), delete e[i]; for (n in o)n in e || (e[n] = o[n], t[n] = r) } else t[i] = r } function B(e, t, n) { var i, r, o = 0, s = B.prefilters.length, a = le.Deferred().always(function() { delete u.elem }), u = function() { if (r) return !1; for (var t = ut || R(), n = Math.max(0, l.startTime + l.duration - t), i = n / l.duration || 0, o = 1 - i, s = 0, u = l.tweens.length; u > s; s++)l.tweens[s].run(o); return a.notifyWith(e, [l, o, n]), 1 > o && u ? n:(a.resolveWith(e, [l]), !1);}, l = a.promise({elem: e, props: le.extend({}, t), opts: le.extend(!0, {specialEasing: {}, easing: le.easing._default}, n), originalProperties: t, originalOptions: n, startTime: ut || R(), duration: n.duration, tweens: [], createTween: function(t, n) { var i = le.Tween(e, l.opts, t, n, l.opts.specialEasing[t] || l.opts.easing); return l.tweens.push(i), i }, stop: function(t) { var n = 0, i = t ? l.tweens.length:0; if (r) return this; for (r = !0; i > n; n++)l.tweens[n].run(1); return t ? (a.notifyWith(e, [l, 1, 0]), a.resolveWith(e, [l, t])):a.rejectWith(e, [l, t]), this;}}), c = l.props; for (z(c, l.opts.specialEasing); s > o; o++) if (i = B.prefilters[o].call(l, e, c, l.opts)) return le.isFunction(i.stop) && (le._queueHooks(l.elem, l.opts.queue).stop = le.proxy(i.stop, i)), i; return le.map(c, M, l), le.isFunction(l.opts.start) && l.opts.start.call(e, l), le.fx.timer(le.extend(u, {elem: e, anim: l, queue: l.opts.queue})), l.progress(l.opts.progress).done(l.opts.done, l.opts.complete).fail(l.opts.fail).always(l.opts.always) } function X(e) { return e.getAttribute && e.getAttribute('class') || "";} function $(e) { return function(t, n) { "string" != typeof t && (n = t, t='*'); var i, r = 0, o = t.toLowerCase().match(Ee) || []; if (le.isFunction(n)) for (;i = o[r++];)"+" === i[0] ? (i = i.slice(1)||'*', (e[i] = e[i] || []).unshift(n)):(e[i] = e[i] || []).push(n);};} function U(e, t, n, i) { function r(a) { var u; return o[a] = !0, le.each(e[a] || [], function(e, a) { var l = a(t, n, i); return "string" != typeof l || s || o[l] ? s ? !(u = l):void 0:(t.dataTypes.unshift(l), r(l), !1);}), u } var o = {}, s = e === jt; return r(t.dataTypes[0]) || !o['*'] && r('*') } function Y(e, t) { var n, i, r = le.ajaxSettings.flatOptions || {}; for (n in t) void 0 !== t[n] && ((r[n] ? e:i || (i = {}))[n] = t[n]); return i && le.extend(!0, e, i), e } function V(e, t, n) { for (var i, r, o, s, a = e.contents, u = e.dataTypes; "*" === u[0];)u.shift(), void 0 === i && (i = e.mimeType || t.getResponseHeader('Content-Type')); if (i) for (r in a) if (a[r] && a[r].test(i)) { u.unshift(r); break;} if (u[0]in n)o = u[0]; else { for (r in n) { if (!u[0] || e.converters[r + " " + u[0]]) { o = r; break }s || (s = r) }o = o || s;} return o ? (o !== u[0] && u.unshift(o), n[o]):void 0 } function G(e, t, n, i) { var r, o, s, a, u, l = {}, c = e.dataTypes.slice(); if (c[1]) for (s in e.converters)l[s.toLowerCase()] = e.converters[s]; for (o = c.shift(); o;) if (e.responseFields[o] && (n[e.responseFields[o]] = t), !u && i && e.dataFilter && (t = e.dataFilter(t, e.dataType)), u = o, o = c.shift()) if ("*" === o)o = u; else if ("*" !== u && u !== o) { if (s = l[u + " " + o] || l["* " + o], !s) for (r in l) if (a = r.split(' '), a[1] === o && (s = l[u + " " + a[0]] || l["* " + a[0]])) { s === !0 ? s = l[r]:l[r] !== !0 && (o = a[0], c.unshift(a[1])); break;} if (s !== !0) if (s && e['throws'])t = s(t); else try { t = s(t);} catch (f) { return {state:'parsererror', error: s ? f:"No conversion from " + u + " to " + o} } } return {state:'success', data: t};} function Q(e, t, n, i) { var r; if (le.isArray(t))le.each(t, function(t, r) { n || Ht.test(e) ? i(e, r):Q(e + "[" + ("object" == typeof r && null != r ? t:'')+']', r, n, i) }); else if (n || "object" !== le.type(t))i(e, t); else for (r in t)Q(e + "[" + r+']', t[r], n, i) } function J(e) { return le.isWindow(e) ? e:9 === e.nodeType && e.defaultView } var Z = [], K = n.document, ee = Z.slice, te = Z.concat, ne = Z.push, ie = Z.indexOf, re = {}, oe = re.toString, se = re.hasOwnProperty, ae = {}, ue='2.2.4', le = function(e, t) { return new le.fn.init(e, t);}, ce = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, fe = /^-ms-/, he = /-([\da-z])/gi, de = function(e, t) { return t.toUpperCase() }; le.fn = le.prototype = {jquery: ue, constructor: le, selector:'', length: 0, toArray: function() { return ee.call(this);}, get: function(e) { return null != e ? 0 > e ? this[e + this.length]:this[e]:ee.call(this) }, pushStack: function(e) { var t = le.merge(this.constructor(), e); return t.prevObject = this, t.context = this.context, t }, each: function(e) { return le.each(this, e) }, map: function(e) { return this.pushStack(le.map(this, function(t, n) { return e.call(t, n, t) }));}, slice: function() { return this.pushStack(ee.apply(this, arguments)) }, first: function() { return this.eq(0) }, last: function() { return this.eq(-1);}, eq: function(e) { var t = this.length, n = +e + (0 > e ? t:0); return this.pushStack(n >= 0 && t > n ? [this[n]]:[]);}, end: function() { return this.prevObject || this.constructor() }, push: ne, sort: Z.sort, splice: Z.splice}, le.extend = le.fn.extend = function() { var e, t, n, i, r, o, s = arguments[0] || {}, a = 1, u = arguments.length, l = !1; for ("boolean" == typeof s && (l = s, s = arguments[a] || {}, a++), "object" == typeof s || le.isFunction(s) || (s = {}), a === u && (s = this, a--); u > a; a++) if (null != (e = arguments[a])) for (t in e)n = s[t], i = e[t], s !== i && (l && i && (le.isPlainObject(i) || (r = le.isArray(i))) ? (r ? (r = !1, o = n && le.isArray(n) ? n:[]):o = n && le.isPlainObject(n) ? n:{}, s[t] = le.extend(l, o, i)):void 0 !== i && (s[t] = i)); return s;}, le.extend({expando: "jQuery" + (ue + Math.random()).replace(/\D/g,''), isReady: !0, error: function(e) { throw new Error(e);}, noop: function() {}, isFunction: function(e) { return "function" === le.type(e);}, isArray: Array.isArray, isWindow: function(e) { return null != e && e === e.window;}, isNumeric: function(e) { var t = e && e.toString(); return !le.isArray(e) && t - parseFloat(t) + 1 >= 0 }, isPlainObject: function(e) { var t; if ("object" !== le.type(e) || e.nodeType || le.isWindow(e)) return !1; if (e.constructor && !se.call(e,'constructor') && !se.call(e.constructor.prototype || {},'isPrototypeOf')) return !1; for (t in e);return void 0 === t || se.call(e, t);}, isEmptyObject: function(e) { var t; for (t in e) return !1; return !0 }, type: function(e) { return null == e ? e+'':"object" == typeof e || "function" == typeof e ? re[oe.call(e)]||'object':typeof e;}, globalEval: function(e) { var t, n = eval; e = le.trim(e), e && (1 === e.indexOf('use strict') ? (t = K.createElement('script'), t.text = e, K.head.appendChild(t).parentNode.removeChild(t)):n(e)) }, camelCase: function(e) { return e.replace(fe,'ms-').replace(he, de);}, nodeName: function(e, t) { return e.nodeName && e.nodeName.toLowerCase() === t.toLowerCase() }, each: function(e, t) { var n, i = 0; if (s(e)) for (n = e.length; n > i && t.call(e[i], i, e[i]) !== !1; i++);else for (i in e) if (t.call(e[i], i, e[i]) === !1) break; return e }, trim: function(e) { return null == e?'':(e+'').replace(ce,'');}, makeArray: function(e, t) { var n = t || []; return null != e && (s(Object(e)) ? le.merge(n, "string" == typeof e ? [e]:e):ne.call(n, e)), n }, inArray: function(e, t, n) { return null == t ? -1:ie.call(t, e, n);}, merge: function(e, t) { for (var n = +t.length, i = 0, r = e.length; n > i; i++)e[r++] = t[i]; return e.length = r, e }, grep: function(e, t, n) { for (var i, r = [], o = 0, s = e.length, a = !n; s > o; o++)i = !t(e[o], o), i !== a && r.push(e[o]); return r;}, map: function(e, t, n) { var i, r, o = 0, a = []; if (s(e)) for (i = e.length; i > o; o++)r = t(e[o], o, n), null != r && a.push(r); else for (o in e)r = t(e[o], o, n), null != r && a.push(r); return te.apply([], a) }, guid: 1, proxy: function(e, t) { var n, i, r; return "string" == typeof t && (n = e[t], t = e, e = n), le.isFunction(e) ? (i = ee.call(arguments, 2), r = function() { return e.apply(t || this, i.concat(ee.call(arguments))) }, r.guid = e.guid = e.guid || le.guid++, r):void 0 }, now: Date.now, support: ae}), "function" == typeof Symbol && (le.fn[Symbol.iterator] = Z[Symbol.iterator]), le.each('Boolean Number String Function Array Date RegExp Object Error Symbol'.split(' '), function(e, t) { re["[object " + t+']'] = t.toLowerCase() }); var pe =/* !
	 * Sizzle CSS Selector Engine v2.2.1
	 * http://sizzlejs.com/
	 *
	 * Copyright jQuery Foundation and other contributors
	 * Released under the MIT license
	 * http://jquery.org/license
	 *
	 * Date: 2015-10-17
	 */
function(e) { function t(e, t, n, i) { var r, o, s, a, u, l, f, d, p = t && t.ownerDocument, g = t ? t.nodeType:9; if (n = n || [], "string" != typeof e || !e || 1 !== g && 9 !== g && 11 !== g) return n; if (!i && ((t ? t.ownerDocument || t:M) !== L && q(t), t = t || L, H)) { if (11 !== g && (l = me.exec(e))) if (r = l[1]) { if (9 === g) { if (!(s = t.getElementById(r))) return n; if (s.id === r) return n.push(s), n;} else if (p && (s = p.getElementById(r)) && R(t, s) && s.id === r) return n.push(s), n;} else { if (l[2]) return Z.apply(n, t.getElementsByTagName(e)), n; if ((r = l[3]) && w.getElementsByClassName && t.getElementsByClassName) return Z.apply(n, t.getElementsByClassName(r)), n } if (w.qsa && !$[e+' '] && (!O || !O.test(e))) { if (1 !== g)p = t, d = e; else if ("object" !== t.nodeName.toLowerCase()) { for ((a = t.getAttribute('id')) ? a = a.replace(xe,'\\$&'):t.setAttribute('id', a = _), f = E(e), o = f.length, u = he.test(a) ? "#" + a:"[id='" + a+'\']'; o--;)f[o] = u + " " + h(f[o]); d = f.join(','), p = ye.test(e) && c(t.parentNode) || t;} if (d) try { return Z.apply(n, p.querySelectorAll(d)), n;} catch (v) {} finally { a === _ && t.removeAttribute('id') } } } return k(e.replace(ae,'$1'), t, n, i) } function n() { function e(n, i) { return t.push(n+' ') > T.cacheLength && delete e[t.shift()], e[n+' '] = i } var t = []; return e } function i(e) { return e[_] = !0, e;} function r(e) { var t = L.createElement('div'); try { return !!e(t);} catch (n) { return !1 } finally { t.parentNode && t.parentNode.removeChild(t), t = null;} } function o(e, t) { for (var n = e.split('|'), i = n.length; i--;)T.attrHandle[n[i]] = t;} function s(e, t) { var n = t && e, i = n && 1 === e.nodeType && 1 === t.nodeType && (~t.sourceIndex || Y) - (~e.sourceIndex || Y); if (i) return i; if (n) for (;n = n.nextSibling;) if (n === t) return -1; return e ? 1:-1 } function a(e) { return function(t) { var n = t.nodeName.toLowerCase(); return "input" === n && t.type === e } } function u(e) { return function(t) { var n = t.nodeName.toLowerCase(); return ("input" === n || "button" === n) && t.type === e } } function l(e) { return i(function(t) { return t = +t, i(function(n, i) { for (var r, o = e([], n.length, t), s = o.length; s--;)n[r = o[s]] && (n[r] = !(i[r] = n[r])) });}) } function c(e) { return e && "undefined" != typeof e.getElementsByTagName && e } function f() {} function h(e) { for (var t = 0, n = e.length, i=''; n > t; t++)i += e[t].value; return i } function d(e, t, n) { var i = t.dir, r = n && "parentNode" === i, o = z++; return t.first ? function(t, n, o) { for (;t = t[i];) if (1 === t.nodeType || r) return e(t, n, o) }:function(t, n, s) { var a, u, l, c = [W, o]; if (s) { for (;t = t[i];) if ((1 === t.nodeType || r) && e(t, n, s)) return !0;} else for (;t = t[i];) if (1 === t.nodeType || r) { if (l = t[_] || (t[_] = {}), u = l[t.uniqueID] || (l[t.uniqueID] = {}), (a = u[i]) && a[0] === W && a[1] === o) return c[2] = a[2]; if (u[i] = c, c[2] = e(t, n, s)) return !0;} } } function p(e) { return e.length > 1 ? function(t, n, i) { for (var r = e.length; r--;) if (!e[r](t, n, i)) return !1; return !0;}:e[0];} function g(e, n, i) { for (var r = 0, o = n.length; o > r; r++)t(e, n[r], i); return i } function v(e, t, n, i, r) { for (var o, s = [], a = 0, u = e.length, l = null != t; u > a; a++)(o = e[a]) && (n && !n(o, i, r) || (s.push(o), l && t.push(a))); return s } function m(e, t, n, r, o, s) { return r && !r[_] && (r = m(r)), o && !o[_] && (o = m(o, s)), i(function(i, s, a, u) { var l, c, f, h = [], d = [], p = s.length, m = i || g(t||'*', a.nodeType ? [a]:a, []), y = !e || !i && t ? m:v(m, h, e, a, u), x = n ? o || (i ? e:p || r) ? []:s:y; if (n && n(y, x, a, u), r) for (l = v(x, d), r(l, [], a, u), c = l.length; c--;)(f = l[c]) && (x[d[c]] = !(y[d[c]] = f)); if (i) { if (o || e) { if (o) { for (l = [], c = x.length; c--;)(f = x[c]) && l.push(y[c] = f); o(null, x = [], l, u);} for (c = x.length; c--;)(f = x[c]) && (l = o ? ee(i, f):h[c]) > -1 && (i[l] = !(s[l] = f));} } else x = v(x === s ? x.splice(p, x.length):x), o ? o(null, s, x, u):Z.apply(s, x);}) } function y(e) { for (var t, n, i, r = e.length, o = T.relative[e[0].type], s = o || T.relative[' '], a = o ? 1:0, u = d(function(e) { return e === t;}, s, !0), l = d(function(e) { return ee(t, e) > -1 }, s, !0), c = [function(e, n, i) { var r = !o && (i || n !== N) || ((t = n).nodeType ? u(e, n, i):l(e, n, i)); return t = null, r }]; r > a; a++) if (n = T.relative[e[a].type])c = [d(p(c), n)]; else { if (n = T.filter[e[a].type].apply(null, e[a].matches), n[_]) { for (i = ++a; r > i && !T.relative[e[i].type]; i++);return m(a > 1 && p(c), a > 1 && h(e.slice(0, a - 1).concat({value: " " === e[a - 2].type?'*':''})).replace(ae,'$1'), n, i > a && y(e.slice(a, i)), r > i && y(e = e.slice(i)), r > i && h(e)) }c.push(n) } return p(c) } function x(e, n) { var r = n.length > 0, o = e.length > 0, s = function(i, s, a, u, l) { var c, f, h, d = 0, p='0', g = i && [], m = [], y = N, x = i || o && T.find.TAG('*', l), b = W += null == y ? 1:Math.random() || .1, w = x.length; for (l && (N = s === L || s || l); p !== w && null != (c = x[p]); p++) { if (o && c) { for (f = 0, s || c.ownerDocument === L || (q(c), a = !H); h = e[f++];) if (h(c, s || L, a)) { u.push(c); break;}l && (W = b) }r && ((c = !h && c) && d--, i && g.push(c)) } if (d += p, r && p !== d) { for (f = 0; h = n[f++];)h(g, m, s, a); if (i) { if (d > 0) for (;p--;)g[p] || m[p] || (m[p] = Q.call(u)); m = v(m) }Z.apply(u, m), l && !i && m.length > 0 && d + n.length > 1 && t.uniqueSort(u);} return l && (W = b, N = y), g;}; return r ? i(s):s;} var b, w, T, C, A, E, S, k, N, D, j, q, L, F, H, O, P, I, R, _ = "sizzle" + 1 * new Date, M = e.document, W = 0, z = 0, B = n(), X = n(), $ = n(), U = function(e, t) { return e === t && (j = !0), 0;}, Y = 1 << 31, V = {}.hasOwnProperty, G = [], Q = G.pop, J = G.push, Z = G.push, K = G.slice, ee = function(e, t) { for (var n = 0, i = e.length; i > n; n++) if (e[n] === t) return n; return -1;}, te='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 = "\\[" + ne + "*(" + ie + ")(?:" + ne + "*([*^$|!~]?=)" + ne + "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + ie + "))|)" + ne+'*\\]', oe = ":(" + ie + ")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|" + re+')*)|.*)\\)|)', se = new RegExp(ne+'+','g'), ae = new RegExp("^" + ne + "+|((?:^|[^\\\\])(?:\\\\.)*)" + ne+'+$','g'), ue = new RegExp("^" + ne + "*," + ne+'*'), le = new RegExp("^" + ne + "*([>+~]|" + ne + ")" + ne+'*'), ce = new RegExp("=" + ne + "*([^\\]'\"]*?)" + ne+'*\\]','g'), fe = new RegExp(oe), he = new RegExp("^" + ie+'$'), de = {ID: new RegExp("^#(" + ie+')'), CLASS: new RegExp("^\\.(" + ie+')'), TAG: new RegExp("^(" + ie+'|[*])'), ATTR: new RegExp("^" + re), PSEUDO: new RegExp("^" + oe), 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("^(?:" + te+')$','i'), needsContext: new RegExp("^" + ne + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + ne + "*((?:-\\d)?\\d*)" + ne+'*\\)|)(?=[^-]|$)','i')}, pe = /^(?:input|select|textarea|button)$/i, ge = /^h\d$/i, ve = /^[^{]+\{\s*\[native \w/, me = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/, ye = /[+~]/, xe = /'|\\/g, be = new RegExp("\\\\([\\da-f]{1,6}" + ne + "?|(" + ne+')|.)','ig'), we = function(e, t, n) { var i = "0x" + t - 65536; return i !== i || n ? t:0 > i ? String.fromCharCode(i + 65536):String.fromCharCode(i >> 10 | 55296, 1023 & i | 56320) }, Te = function() { q();}; try { Z.apply(G = K.call(M.childNodes), M.childNodes), G[M.childNodes.length].nodeType } catch (Ce) { Z = {apply: G.length ? function(e, t) { J.apply(e, K.call(t));}:function(e, t) { for (var n = e.length, i = 0; e[n++] = t[i++];);e.length = n - 1 }};}w = t.support = {}, A = t.isXML = function(e) { var t = e && (e.ownerDocument || e).documentElement; return t ? "HTML" !== t.nodeName:!1 }, q = t.setDocument = function(e) { var t, n, i = e ? e.ownerDocument || e:M; return i !== L && 9 === i.nodeType && i.documentElement ? (L = i, F = L.documentElement, H = !A(L), (n = L.defaultView) && n.top !== n && (n.addEventListener ? n.addEventListener('unload', Te, !1):n.attachEvent && n.attachEvent('onunload', Te)), w.attributes = r(function(e) { return e.className='i', !e.getAttribute('className');}), w.getElementsByTagName = r(function(e) { return e.appendChild(L.createComment('')), !e.getElementsByTagName('*').length }), w.getElementsByClassName = ve.test(L.getElementsByClassName), w.getById = r(function(e) { return F.appendChild(e).id = _, !L.getElementsByName || !L.getElementsByName(_).length;}), w.getById ? (T.find.ID = function(e, t) { if ("undefined" != typeof t.getElementById && H) { var n = t.getElementById(e); return n ? [n]:[];} }, T.filter.ID = function(e) { var t = e.replace(be, we); return function(e) { return e.getAttribute('id') === t;} }):(delete T.find.ID, T.filter.ID = function(e) { var t = e.replace(be, we); return function(e) { var n = "undefined" != typeof e.getAttributeNode && e.getAttributeNode('id'); return n && n.value === t;} }), T.find.TAG = w.getElementsByTagName ? function(e, t) { return "undefined" != typeof t.getElementsByTagName ? t.getElementsByTagName(e):w.qsa ? t.querySelectorAll(e):void 0;}:function(e, t) { var n, i = [], r = 0, o = t.getElementsByTagName(e); if ("*" === e) { for (;n = o[r++];)1 === n.nodeType && i.push(n); return i;} return o }, T.find.CLASS = w.getElementsByClassName && function(e, t) { return "undefined" != typeof t.getElementsByClassName && H ? t.getElementsByClassName(e):void 0;}, P = [], O = [], (w.qsa = ve.test(L.querySelectorAll)) && (r(function(e) { F.appendChild(e).innerHTML = "<a id='" + _ + "'></a><select id='" + _+'-\r\\\' msallowcapture=\'\'><option selected=\'\'></option></select>', e.querySelectorAll('[msallowcapture^=\'\']').length && O.push("[*^$]=" + ne+'*(?:\'\'|"")'), e.querySelectorAll('[selected]').length || O.push("\\[" + ne + "*(?:value|" + te+')'), e.querySelectorAll("[id~=" + _+'-]').length || O.push('~='), e.querySelectorAll(':checked').length || O.push(':checked'), e.querySelectorAll("a#" + _+'+*').length || O.push('.#.+[+~]') }), r(function(e) { var t = L.createElement('input'); t.setAttribute('type','hidden'), e.appendChild(t).setAttribute('name','D'), e.querySelectorAll('[name=d]').length && O.push("name" + ne+'*[*^$|!~]?='), e.querySelectorAll(':enabled').length || O.push(':enabled',':disabled'), e.querySelectorAll('*,:x'), O.push(',.*:');})), (w.matchesSelector = ve.test(I = F.matches || F.webkitMatchesSelector || F.mozMatchesSelector || F.oMatchesSelector || F.msMatchesSelector)) && r(function(e) { w.disconnectedMatch = I.call(e,'div'), I.call(e,'[s!=\'\']:x'), P.push('!=', oe) }), O = O.length && new RegExp(O.join('|')), P = P.length && new RegExp(P.join('|')), t = ve.test(F.compareDocumentPosition), R = t || ve.test(F.contains) ? function(e, t) { var n = 9 === e.nodeType ? e.documentElement:e, i = t && t.parentNode; return e === i || !(!i || 1 !== i.nodeType || !(n.contains ? n.contains(i):e.compareDocumentPosition && 16 & e.compareDocumentPosition(i)));}:function(e, t) { if (t) for (;t = t.parentNode;) if (t === e) return !0; return !1;}, U = t ? function(e, t) { if (e === t) return j = !0, 0; var n = !e.compareDocumentPosition - !t.compareDocumentPosition; return n ? n:(n = (e.ownerDocument || e) === (t.ownerDocument || t) ? e.compareDocumentPosition(t):1, 1 & n || !w.sortDetached && t.compareDocumentPosition(e) === n ? e === L || e.ownerDocument === M && R(M, e) ? -1:t === L || t.ownerDocument === M && R(M, t) ? 1:D ? ee(D, e) - ee(D, t):0:4 & n ? -1:1);}:function(e, t) { if (e === t) return j = !0, 0; var n, i = 0, r = e.parentNode, o = t.parentNode, a = [e], u = [t]; if (!r || !o) return e === L ? -1:t === L ? 1:r ? -1:o ? 1:D ? ee(D, e) - ee(D, t):0; if (r === o) return s(e, t); for (n = e; n = n.parentNode;)a.unshift(n); for (n = t; n = n.parentNode;)u.unshift(n); for (;a[i] === u[i];)i++; return i ? s(a[i], u[i]):a[i] === M ? -1:u[i] === M ? 1:0 }, L):L;}, t.matches = function(e, n) { return t(e, null, null, n);}, t.matchesSelector = function(e, n) { if ((e.ownerDocument || e) !== L && q(e), n = n.replace(ce,'=\'$1\']'), w.matchesSelector && H && !$[n+' '] && (!P || !P.test(n)) && (!O || !O.test(n))) try { var i = I.call(e, n); if (i || w.disconnectedMatch || e.document && 11 !== e.document.nodeType) return i;} catch (r) {} return t(n, L, null, [e]).length > 0 }, t.contains = function(e, t) { return (e.ownerDocument || e) !== L && q(e), R(e, t) }, t.attr = function(e, t) { (e.ownerDocument || e) !== L && q(e); var n = T.attrHandle[t.toLowerCase()], i = n && V.call(T.attrHandle, t.toLowerCase()) ? n(e, t, !H):void 0; return void 0 !== i ? i:w.attributes || !H ? e.getAttribute(t):(i = e.getAttributeNode(t)) && i.specified ? i.value:null;}, t.error = function(e) { throw new Error("Syntax error, unrecognized expression: " + e);}, t.uniqueSort = function(e) { var t, n = [], i = 0, r = 0; if (j = !w.detectDuplicates, D = !w.sortStable && e.slice(0), e.sort(U), j) { for (;t = e[r++];)t === e[r] && (i = n.push(r)); for (;i--;)e.splice(n[i], 1) } return D = null, e;}, C = t.getText = function(e) { var t, n='', i = 0, r = e.nodeType; if (r) { if (1 === r || 9 === r || 11 === r) { if ("string" == typeof e.textContent) return e.textContent; for (e = e.firstChild; e; e = e.nextSibling)n += C(e);} else if (3 === r || 4 === r) return e.nodeValue;} else for (;t = e[i++];)n += C(t); return n;}, T = t.selectors = {cacheLength: 50, createPseudo: i, match: de, attrHandle: {}, find: {}, relative: {'>': {dir:'parentNode', first: !0},' ': {dir:'parentNode'},'+': {dir:'previousSibling', first: !0},'~': {dir:'previousSibling'}}, preFilter: {ATTR: function(e) { return e[1] = e[1].replace(be, we), e[3] = (e[3] || e[4] || e[5]||'').replace(be, we), "~=" === e[2] && (e[3] = " " + e[3]+' '), e.slice(0, 4);}, CHILD: function(e) { return e[1] = e[1].toLowerCase(), "nth" === e[1].slice(0, 3) ? (e[3] || t.error(e[0]), e[4] = +(e[4] ? e[5] + (e[6] || 1):2 * ("even" === e[3] || "odd" === e[3])), e[5] = +(e[7] + e[8] || "odd" === e[3])):e[3] && t.error(e[0]), e }, PSEUDO: function(e) { var t, n = !e[6] && e[2]; return de.CHILD.test(e[0]) ? null:(e[3] ? e[2] = e[4] || e[5]||'':n && fe.test(n) && (t = E(n, !0)) && (t = n.indexOf(')', n.length - t) - n.length) && (e[0] = e[0].slice(0, t), e[2] = n.slice(0, t)), e.slice(0, 3));}}, filter: {TAG: function(e) { var t = e.replace(be, we).toLowerCase(); return "*" === e ? function() { return !0 }:function(e) { return e.nodeName && e.nodeName.toLowerCase() === t;} }, CLASS: function(e) { var t = B[e+' ']; return t || (t = new RegExp("(^|" + ne + ")" + e + "(" + ne+'|$)')) && B(e, function(e) { return t.test("string" == typeof e.className && e.className || "undefined" != typeof e.getAttribute && e.getAttribute('class')||'');});}, ATTR: function(e, n, i) { return function(r) { var o = t.attr(r, e); 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(se,' ')+' ').indexOf(i) > -1:"|=" === n ? o === i || o.slice(0, i.length + 1) === i+'-':!1):!0 } }, CHILD: function(e, t, n, i, r) { var o = "nth" !== e.slice(0, 3), s = "last" !== e.slice(-4), a = "of-type" === t; return 1 === i && 0 === r ? function(e) { return !!e.parentNode;}:function(t, n, u) { var l, c, f, h, d, p, g = o !== s?'nextSibling':'previousSibling', v = t.parentNode, m = a && t.nodeName.toLowerCase(), y = !u && !a, x = !1; if (v) { if (o) { for (;g;) { for (h = t; h = h[g];) if (a ? h.nodeName.toLowerCase() === m:1 === h.nodeType) return !1; p = g = "only" === e && !p && "nextSibling";} return !0 } if (p = [s ? v.firstChild:v.lastChild], s && y) { for (h = v, f = h[_] || (h[_] = {}), c = f[h.uniqueID] || (f[h.uniqueID] = {}), l = c[e] || [], d = l[0] === W && l[1], x = d && l[2], h = d && v.childNodes[d]; h = ++d && h && h[g] || (x = d = 0) || p.pop();) if (1 === h.nodeType && ++x && h === t) { c[e] = [W, d, x]; break } } else if (y && (h = t, f = h[_] || (h[_] = {}), c = f[h.uniqueID] || (f[h.uniqueID] = {}), l = c[e] || [], d = l[0] === W && l[1], x = d), x === !1) for (;(h = ++d && h && h[g] || (x = d = 0) || p.pop()) && ((a ? h.nodeName.toLowerCase() !== m:1 !== h.nodeType) || !++x || (y && (f = h[_] || (h[_] = {}), c = f[h.uniqueID] || (f[h.uniqueID] = {}), c[e] = [W, x]), h !== t)););return x -= r, x === i || x % i === 0 && x / i >= 0;} } }, PSEUDO: function(e, n) { var r, o = T.pseudos[e] || T.setFilters[e.toLowerCase()] || t.error("unsupported pseudo: " + e); return o[_] ? o(n):o.length > 1 ? (r = [e, e,'', n], T.setFilters.hasOwnProperty(e.toLowerCase()) ? i(function(e, t) { for (var i, r = o(e, n), s = r.length; s--;)i = ee(e, r[s]), e[i] = !(t[i] = r[s]) }):function(e) { return o(e, 0, r);}):o;}}, pseudos: {not: i(function(e) { var t = [], n = [], r = S(e.replace(ae,'$1')); return r[_] ? i(function(e, t, n, i) { for (var o, s = r(e, null, i, []), a = e.length; a--;)(o = s[a]) && (e[a] = !(t[a] = o)) }):function(e, i, o) { return t[0] = e, r(t, null, o, n), t[0] = null, !n.pop();} }), has: i(function(e) { return function(n) { return t(e, n).length > 0;} }), contains: i(function(e) { return e = e.replace(be, we), function(t) { return (t.textContent || t.innerText || C(t)).indexOf(e) > -1;} }), lang: i(function(e) { return he.test(e||'') || t.error("unsupported lang: " + e), e = e.replace(be, we).toLowerCase(), function(t) { var n; do if (n = H ? t.lang:t.getAttribute('xml:lang') || t.getAttribute('lang')) return n = n.toLowerCase(), n === e || 0 === n.indexOf(e+'-'); while ((t = t.parentNode) && 1 === t.nodeType);return !1;} }), target: function(t) { var n = e.location && e.location.hash; return n && n.slice(1) === t.id }, root: function(e) { return e === F;}, focus: function(e) { return e === L.activeElement && (!L.hasFocus || L.hasFocus()) && !!(e.type || e.href || ~e.tabIndex);}, enabled: function(e) { return e.disabled === !1 }, disabled: function(e) { return e.disabled === !0 }, checked: function(e) { var t = e.nodeName.toLowerCase(); return "input" === t && !!e.checked || "option" === t && !!e.selected }, selected: function(e) { return e.parentNode && e.parentNode.selectedIndex, e.selected === !0 }, empty: function(e) { for (e = e.firstChild; e; e = e.nextSibling) if (e.nodeType < 6) return !1; return !0;}, parent: function(e) { return !T.pseudos.empty(e) }, header: function(e) { return ge.test(e.nodeName) }, input: function(e) { return pe.test(e.nodeName);}, button: function(e) { var t = e.nodeName.toLowerCase(); return "input" === t && "button" === e.type || "button" === t;}, text: function(e) { var t; return "input" === e.nodeName.toLowerCase() && "text" === e.type && (null == (t = e.getAttribute('type')) || "text" === t.toLowerCase());}, first: l(function() { return [0];}), last: l(function(e, t) { return [t - 1];}), eq: l(function(e, t, n) { return [0 > n ? n + t:n] }), even: l(function(e, t) { for (var n = 0; t > n; n += 2)e.push(n); return e }), odd: l(function(e, t) { for (var n = 1; t > n; n += 2)e.push(n); return e;}), lt: l(function(e, t, n) { for (var i = 0 > n ? n + t:n; --i >= 0;)e.push(i); return e }), gt: l(function(e, t, n) { for (var i = 0 > n ? n + t:n; ++i < t;)e.push(i); return e })}}, T.pseudos.nth = T.pseudos.eq; for (b in {radio: !0, checkbox: !0, file: !0, password: !0, image: !0})T.pseudos[b] = a(b); for (b in {submit: !0, reset: !0})T.pseudos[b] = u(b); return f.prototype = T.filters = T.pseudos, T.setFilters = new f, E = t.tokenize = function(e, n) { var i, r, o, s, a, u, l, c = X[e+' ']; if (c) return n ? 0:c.slice(0); for (a = e, u = [], l = T.preFilter; a;) { i && !(r = ue.exec(a)) || (r && (a = a.slice(r[0].length) || a), u.push(o = [])), i = !1, (r = le.exec(a)) && (i = r.shift(), o.push({value: i, type: r[0].replace(ae,' ')}), a = a.slice(i.length)); for (s in T.filter)!(r = de[s].exec(a)) || l[s] && !(r = l[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 ? t.error(e):X(e, u).slice(0) }, S = t.compile = function(e, t) { var n, i = [], r = [], o = $[e+' ']; if (!o) { for (t || (t = E(e)), n = t.length; n--;)o = y(t[n]), o[_] ? i.push(o):r.push(o); o = $(e, x(r, i)), o.selector = e } return o;}, k = t.select = function(e, t, n, i) { var r, o, s, a, u, l = "function" == typeof e && e, f = !i && E(e = l.selector || e); if (n = n || [], 1 === f.length) { if (o = f[0] = f[0].slice(0), o.length > 2 && "ID" === (s = o[0]).type && w.getById && 9 === t.nodeType && H && T.relative[o[1].type]) { if (t = (T.find.ID(s.matches[0].replace(be, we), t) || [])[0], !t) return n; l && (t = t.parentNode), e = e.slice(o.shift().value.length);} for (r = de.needsContext.test(e) ? 0:o.length; r-- && (s = o[r], !T.relative[a = s.type]);) if ((u = T.find[a]) && (i = u(s.matches[0].replace(be, we), ye.test(o[0].type) && c(t.parentNode) || t))) { if (o.splice(r, 1), e = i.length && h(o), !e) return Z.apply(n, i), n; break;} } return (l || S(e, f))(i, t, !H, n, !t || ye.test(e) && c(t.parentNode) || t), n }, w.sortStable = _.split('').sort(U).join('') === _, w.detectDuplicates = !!j, q(), w.sortDetached = r(function(e) { return 1 & e.compareDocumentPosition(L.createElement('div'));}), r(function(e) { return e.innerHTML='<a href=\'#\'></a>', "#" === e.firstChild.getAttribute('href') }) || o('type|href|height|width', function(e, t, n) { return n ? void 0:e.getAttribute(t, "type" === t.toLowerCase() ? 1:2);}), w.attributes && r(function(e) { return e.innerHTML='<input/>', e.firstChild.setAttribute('value',''), "" === e.firstChild.getAttribute('value') }) || o('value', function(e, t, n) { return n || "input" !== e.nodeName.toLowerCase() ? void 0:e.defaultValue;}), r(function(e) { return null == e.getAttribute('disabled') }) || o(te, function(e, t, n) { var i; return n ? void 0:e[t] === !0 ? t.toLowerCase():(i = e.getAttributeNode(t)) && i.specified ? i.value:null }), t }(n); le.find = pe, le.expr = pe.selectors, le.expr[':'] = le.expr.pseudos, le.uniqueSort = le.unique = pe.uniqueSort, le.text = pe.getText, le.isXMLDoc = pe.isXML, le.contains = pe.contains; var ge = function(e, t, n) { for (var i = [], r = void 0 !== n; (e = e[t]) && 9 !== e.nodeType;) if (1 === e.nodeType) { if (r && le(e).is(n)) break; i.push(e) } return i;}, ve = function(e, t) { for (var n = []; e; e = e.nextSibling)1 === e.nodeType && e !== t && n.push(e); return n }, me = le.expr.match.needsContext, ye = /^<([\w-]+)\s*\/?>(?:<\/\1>|)$/, xe = /^.[^:#\[\.,]*$/; le.filter = function(e, t, n) { var i = t[0]; return n && (e = ":not(" + e+')'), 1 === t.length && 1 === i.nodeType ? le.find.matchesSelector(i, e) ? [i]:[]:le.find.matches(e, le.grep(t, function(e) { return 1 === e.nodeType;})) }, le.fn.extend({find: function(e) { var t, n = this.length, i = [], r = this; if ("string" != typeof e) return this.pushStack(le(e).filter(function() { for (t = 0; n > t; t++) if (le.contains(r[t], this)) return !0;})); for (t = 0; n > t; t++)le.find(e, r[t], i); return i = this.pushStack(n > 1 ? le.unique(i):i), i.selector = this.selector ? this.selector + " " + e:e, i;}, filter: function(e) { return this.pushStack(a(this, e || [], !1));}, not: function(e) { return this.pushStack(a(this, e || [], !0));}, is: function(e) { return !!a(this, "string" == typeof e && me.test(e) ? le(e):e || [], !1).length }}); var be, we = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/, Te = le.fn.init = function(e, t, n) { var i, r; if (!e) return this; if (n = n || be, "string" == typeof e) { if (i = "<" === e[0] && ">" === e[e.length - 1] && e.length >= 3 ? [null, e, null]:we.exec(e), !i || !i[1] && t) return !t || t.jquery ? (t || n).find(e):this.constructor(t).find(e); if (i[1]) { if (t = t instanceof le ? t[0]:t, le.merge(this, le.parseHTML(i[1], t && t.nodeType ? t.ownerDocument || t:K, !0)), ye.test(i[1]) && le.isPlainObject(t)) for (i in t)le.isFunction(this[i]) ? this[i](t[i]):this.attr(i, t[i]); return this;} return r = K.getElementById(i[2]), r && r.parentNode && (this.length = 1, this[0] = r), this.context = K, this.selector = e, this } return e.nodeType ? (this.context = this[0] = e, this.length = 1, this):le.isFunction(e) ? void 0 !== n.ready ? n.ready(e):e(le):(void 0 !== e.selector && (this.selector = e.selector, this.context = e.context), le.makeArray(e, this));}; Te.prototype = le.fn, be = le(K); var Ce = /^(?:parents|prev(?:Until|All))/, Ae = {children: !0, contents: !0, next: !0, prev: !0}; le.fn.extend({has: function(e) { var t = le(e, this), n = t.length; return this.filter(function() { for (var e = 0; n > e; e++) if (le.contains(this, t[e])) return !0;});}, closest: function(e, t) { for (var n, i = 0, r = this.length, o = [], s = me.test(e) || "string" != typeof e ? le(e, t || this.context):0; r > i; i++) for (n = this[i]; n && n !== t; n = n.parentNode) if (n.nodeType < 11 && (s ? s.index(n) > -1:1 === n.nodeType && le.find.matchesSelector(n, e))) { o.push(n); break;} return this.pushStack(o.length > 1 ? le.uniqueSort(o):o);}, index: function(e) { return e ? "string" == typeof e ? ie.call(le(e), this[0]):ie.call(this, e.jquery ? e[0]:e):this[0] && this[0].parentNode ? this.first().prevAll().length:-1;}, add: function(e, t) { return this.pushStack(le.uniqueSort(le.merge(this.get(), le(e, t))));}, addBack: function(e) { return this.add(null == e ? this.prevObject:this.prevObject.filter(e)) }}), le.each({parent: function(e) { var t = e.parentNode; return t && 11 !== t.nodeType ? t:null }, parents: function(e) { return ge(e,'parentNode');}, parentsUntil: function(e, t, n) { return ge(e,'parentNode', n);}, next: function(e) { return u(e,'nextSibling') }, prev: function(e) { return u(e,'previousSibling');}, nextAll: function(e) { return ge(e,'nextSibling') }, prevAll: function(e) { return ge(e,'previousSibling');}, nextUntil: function(e, t, n) { return ge(e,'nextSibling', n) }, prevUntil: function(e, t, n) { return ge(e,'previousSibling', n);}, siblings: function(e) { return ve((e.parentNode || {}).firstChild, e) }, children: function(e) { return ve(e.firstChild) }, contents: function(e) { return e.contentDocument || le.merge([], e.childNodes);}}, function(e, t) { le.fn[e] = function(n, i) { var r = le.map(this, t, n); return "Until" !== e.slice(-5) && (i = n), i && "string" == typeof i && (r = le.filter(i, r)), this.length > 1 && (Ae[e] || le.uniqueSort(r), Ce.test(e) && r.reverse()), this.pushStack(r);} }); var Ee = /\S+/g; le.Callbacks = function(e) { e = "string" == typeof e ? l(e):le.extend({}, e); var t, n, i, r, o = [], s = [], a = -1, u = function() { for (r = e.once, i = t = !0; s.length; a = -1) for (n = s.shift(); ++a < o.length;)o[a].apply(n[0], n[1]) === !1 && e.stopOnFalse && (a = o.length, n = !1); e.memory || (n = !1), t = !1, r && (o = n ? []:'');}, c = {add: function() { return o && (n && !t && (a = o.length - 1, s.push(n)), function i(t) { le.each(t, function(t, n) { le.isFunction(n) ? e.unique && c.has(n) || o.push(n):n && n.length && "string" !== le.type(n) && i(n);});}(arguments), n && !t && u()), this;}, remove: function() { return le.each(arguments, function(e, t) { for (var n; (n = le.inArray(t, o, n)) > -1;)o.splice(n, 1), a >= n && a--;}), this }, has: function(e) { return e ? le.inArray(e, o) > -1:o.length > 0 }, empty: function() { return o && (o = []), this;}, disable: function() { return r = s = [], o = n='', this }, disabled: function() { return !o;}, lock: function() { return r = s = [], n || (o = n=''), this }, locked: function() { return !!r }, fireWith: function(e, n) { return r || (n = n || [], n = [e, n.slice ? n.slice():n], s.push(n), t || u()), this }, fire: function() { return c.fireWith(this, arguments), this;}, fired: function() { return !!i }}; return c }, le.extend({Deferred: function(e) { var t = [['resolve','done', le.Callbacks('once memory'),'resolved'], ['reject','fail', le.Callbacks('once memory'),'rejected'], ['notify','progress', le.Callbacks('memory')]], n='pending', i = {state: function() { return n;}, always: function() { return r.done(arguments).fail(arguments), this;}, then: function() { var e = arguments; return le.Deferred(function(n) { le.each(t, function(t, o) { var s = le.isFunction(e[t]) && e[t]; r[o[1]](function() { var e = s && s.apply(this, arguments); e && le.isFunction(e.promise) ? e.promise().progress(n.notify).done(n.resolve).fail(n.reject):n[o[0]+'With'](this === i ? n.promise():this, s ? [e]:arguments);});}), e = null;}).promise() }, promise: function(e) { return null != e ? le.extend(e, i):i }}, r = {}; return i.pipe = i.then, le.each(t, function(e, o) { var s = o[2], a = o[3]; i[o[1]] = s.add, a && s.add(function() { n = a;}, t[1 ^ e][2].disable, t[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), e && e.call(r, r), r }, when: function(e) { var t, n, i, r = 0, o = ee.call(arguments), s = o.length, a = 1 !== s || e && le.isFunction(e.promise) ? s:0, u = 1 === a ? e:le.Deferred(), l = function(e, n, i) { return function(r) { n[e] = this, i[e] = arguments.length > 1 ? ee.call(arguments):r, i === t ? u.notifyWith(n, i):--a || u.resolveWith(n, i) } }; if (s > 1) for (t = new Array(s), n = new Array(s), i = new Array(s); s > r; r++)o[r] && le.isFunction(o[r].promise) ? o[r].promise().progress(l(r, n, t)).done(l(r, i, o)).fail(u.reject):--a; return a || u.resolveWith(i, o), u.promise() }}); var Se; le.fn.ready = function(e) { return le.ready.promise().done(e), this;}, le.extend({isReady: !1, readyWait: 1, holdReady: function(e) { e ? le.readyWait++:le.ready(!0) }, ready: function(e) { (e === !0 ? --le.readyWait:le.isReady) || (le.isReady = !0, e !== !0 && --le.readyWait > 0 || (Se.resolveWith(K, [le]), le.fn.triggerHandler && (le(K).triggerHandler('ready'), le(K).off('ready'))));}}), le.ready.promise = function(e) { return Se || (Se = le.Deferred(), "complete" === K.readyState || "loading" !== K.readyState && !K.documentElement.doScroll ? n.setTimeout(le.ready):(K.addEventListener('DOMContentLoaded', c), n.addEventListener('load', c))), Se.promise(e);}, le.ready.promise(); var ke = function(e, t, n, i, r, o, s) { var a = 0, u = e.length, l = null == n; if ("object" === le.type(n)) { r = !0; for (a in n)ke(e, t, a, n[a], !0, o, s) } else if (void 0 !== i && (r = !0, le.isFunction(i) || (s = !0), l && (s ? (t.call(e, i), t = null):(l = t, t = function(e, t, n) { return l.call(le(e), n) })), t)) for (;u > a; a++)t(e[a], n, s ? i:i.call(e[a], a, t(e[a], n))); return r ? e:l ? t.call(e):u ? t(e[0], n):o }, Ne = function(e) { return 1 === e.nodeType || 9 === e.nodeType || !+e.nodeType }; f.uid = 1, f.prototype = {register: function(e, t) { var n = t || {}; return e.nodeType ? e[this.expando] = n:Object.defineProperty(e, this.expando, {value: n, writable: !0, configurable: !0}), e[this.expando] }, cache: function(e) { if (!Ne(e)) return {}; var t = e[this.expando]; return t || (t = {}, Ne(e) && (e.nodeType ? e[this.expando] = t:Object.defineProperty(e, this.expando, {value: t, configurable: !0}))), t }, set: function(e, t, n) { var i, r = this.cache(e); if ("string" == typeof t)r[t] = n; else for (i in t)r[i] = t[i]; return r }, get: function(e, t) { return void 0 === t ? this.cache(e):e[this.expando] && e[this.expando][t] }, access: function(e, t, n) { var i; return void 0 === t || t && "string" == typeof t && void 0 === n ? (i = this.get(e, t), void 0 !== i ? i:this.get(e, le.camelCase(t))):(this.set(e, t, n), void 0 !== n ? n:t);}, remove: function(e, t) { var n, i, r, o = e[this.expando]; if (void 0 !== o) { if (void 0 === t) this.register(e); else { le.isArray(t) ? i = t.concat(t.map(le.camelCase)):(r = le.camelCase(t), t in o ? i = [t, r]:(i = r, i = i in o ? [i]:i.match(Ee) || [])), n = i.length; for (;n--;) delete o[i[n]];}(void 0 === t || le.isEmptyObject(o)) && (e.nodeType ? e[this.expando] = void 0:delete e[this.expando]);} }, hasData: function(e) { var t = e[this.expando]; return void 0 !== t && !le.isEmptyObject(t);}}; var De = new f, je = new f, qe = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/, Le = /[A-Z]/g; le.extend({hasData: function(e) { return je.hasData(e) || De.hasData(e);}, data: function(e, t, n) { return je.access(e, t, n);}, removeData: function(e, t) { je.remove(e, t) }, _data: function(e, t, n) { return De.access(e, t, n);}, _removeData: function(e, t) { De.remove(e, t);}}), le.fn.extend({data: function(e, t) { var n, i, r, o = this[0], s = o && o.attributes; if (void 0 === e) { if (this.length && (r = je.get(o), 1 === o.nodeType && !De.get(o,'hasDataAttrs'))) { for (n = s.length; n--;)s[n] && (i = s[n].name, 0 === i.indexOf('data-') && (i = le.camelCase(i.slice(5)), h(o, i, r[i]))); De.set(o,'hasDataAttrs', !0);} return r;} return "object" == typeof e ? this.each(function() { je.set(this, e);}):ke(this, function(t) { var n, i; if (o && void 0 === t) { if (n = je.get(o, e) || je.get(o, e.replace(Le,'-$&').toLowerCase()), void 0 !== n) return n; if (i = le.camelCase(e), n = je.get(o, i), void 0 !== n) return n; if (n = h(o, i, void 0), void 0 !== n) return n } else i = le.camelCase(e), this.each(function() { var n = je.get(this, i); je.set(this, i, t), e.indexOf('-') > -1 && void 0 !== n && je.set(this, e, t) }) }, null, t, arguments.length > 1, null, !0);}, removeData: function(e) { return this.each(function() { je.remove(this, e);});}}), le.extend({queue: function(e, t, n) { var i; return e ? (t = (t||'fx')+'queue', i = De.get(e, t), n && (!i || le.isArray(n) ? i = De.access(e, t, le.makeArray(n)):i.push(n)), i || []):void 0 }, dequeue: function(e, t) { t = t||'fx'; var n = le.queue(e, t), i = n.length, r = n.shift(), o = le._queueHooks(e, t), s = function() { le.dequeue(e, t) }; "inprogress" === r && (r = n.shift(), i--), r && ("fx" === t && n.unshift('inprogress'), delete o.stop, r.call(e, s, o)), !i && o && o.empty.fire();}, _queueHooks: function(e, t) { var n = t+'queueHooks'; return De.get(e, n) || De.access(e, n, {empty: le.Callbacks('once memory').add(function() { De.remove(e, [t+'queue', n]) })}) }}), le.fn.extend({queue: function(e, t) { var n = 2; return "string" != typeof e && (t = e, e='fx', n--), arguments.length < n ? le.queue(this[0], e):void 0 === t ? this:this.each(function() { var n = le.queue(this, e, t); le._queueHooks(this, e), "fx" === e && "inprogress" !== n[0] && le.dequeue(this, e) });}, dequeue: function(e) { return this.each(function() { le.dequeue(this, e);});}, clearQueue: function(e) { return this.queue(e||'fx', []);}, promise: function(e, t) { var n, i = 1, r = le.Deferred(), o = this, s = this.length, a = function() { --i || r.resolveWith(o, [o]);}; for ("string" != typeof e && (t = e, e = void 0), e = e||'fx'; s--;)n = De.get(o[s], e+'queueHooks'), n && n.empty && (i++, n.empty.add(a)); return a(), r.promise(t);}}); var Fe = /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source, He = new RegExp("^(?:([+-])=|)(" + Fe+')([a-z%]*)$','i'), Oe = ['Top','Right','Bottom','Left'], Pe = function(e, t) { return e = t || e, "none" === le.css(e,'display') || !le.contains(e.ownerDocument, e) }, Ie = /^(?:checkbox|radio)$/i, Re = /<([\w:-]+)/, _e = /^$|\/(?:java|ecma)script/i, Me = {option: [1,'<select multiple=\'multiple\'>','</select>'], thead: [1,'<table>','</table>'], col: [2,'<table><colgroup>','</colgroup></table>'], tr: [2,'<table><tbody>','</tbody></table>'], td: [3,'<table><tbody><tr>','</tr></tbody></table>'], _default: [0,'','']}; Me.optgroup = Me.option, Me.tbody = Me.tfoot = Me.colgroup = Me.caption = Me.thead, Me.th = Me.td; var We = /<|&#?\w+;/; !function() { var e = K.createDocumentFragment(), t = e.appendChild(K.createElement('div')), n = K.createElement('input'); n.setAttribute('type','radio'), n.setAttribute('checked','checked'), n.setAttribute('name','t'), t.appendChild(n), ae.checkClone = t.cloneNode(!0).cloneNode(!0).lastChild.checked, t.innerHTML='<textarea>x</textarea>', ae.noCloneChecked = !!t.cloneNode(!0).lastChild.defaultValue;}(); var ze = /^key/, Be = /^(?:mouse|pointer|contextmenu|drag|drop)|click/, Xe = /^([^.]*)(?:\.(.+)|)/; le.event = {global: {}, add: function(e, t, n, i, r) { var o, s, a, u, l, c, f, h, d, p, g, v = De.get(e); if (v) for (n.handler && (o = n, n = o.handler, r = o.selector), n.guid || (n.guid = le.guid++), (u = v.events) || (u = v.events = {}), (s = v.handle) || (s = v.handle = function(t) { return "undefined" != typeof le && le.event.triggered !== t.type ? le.event.dispatch.apply(e, arguments):void 0;}), t = (t||'').match(Ee) || [''], l = t.length; l--;)a = Xe.exec(t[l]) || [], d = g = a[1], p = (a[2]||'').split('.').sort(), d && (f = le.event.special[d] || {}, d = (r ? f.delegateType:f.bindType) || d, f = le.event.special[d] || {}, c = le.extend({type: d, origType: g, data: i, handler: n, guid: n.guid, selector: r, needsContext: r && le.expr.match.needsContext.test(r), namespace: p.join('.')}, o), (h = u[d]) || (h = u[d] = [], h.delegateCount = 0, f.setup && f.setup.call(e, i, p, s) !== !1 || e.addEventListener && e.addEventListener(d, s)), f.add && (f.add.call(e, c), c.handler.guid || (c.handler.guid = n.guid)), r ? h.splice(h.delegateCount++, 0, c):h.push(c), le.event.global[d] = !0) }, remove: function(e, t, n, i, r) { var o, s, a, u, l, c, f, h, d, p, g, v = De.hasData(e) && De.get(e); if (v && (u = v.events)) { for (t = (t||'').match(Ee) || [''], l = t.length; l--;) if (a = Xe.exec(t[l]) || [], d = g = a[1], p = (a[2]||'').split('.').sort(), d) { for (f = le.event.special[d] || {}, d = (i ? f.delegateType:f.bindType) || d, h = u[d] || [], a = a[2] && new RegExp("(^|\\.)" + p.join('\\.(?:.*\\.|)')+'(\\.|$)'), s = o = h.length; o--;)c = h[o], !r && g !== c.origType || n && n.guid !== c.guid || a && !a.test(c.namespace) || i && i !== c.selector && ("**" !== i || !c.selector) || (h.splice(o, 1),
c.selector && h.delegateCount--, f.remove && f.remove.call(e, c)); s && !h.length && (f.teardown && f.teardown.call(e, p, v.handle) !== !1 || le.removeEvent(e, d, v.handle), delete u[d]);} else for (d in u)le.event.remove(e, d + t[l], n, i, !0); le.isEmptyObject(u) && De.remove(e,'handle events');} }, dispatch: function(e) { e = le.event.fix(e); var t, n, i, r, o, s = [], a = ee.call(arguments), u = (De.get(this,'events') || {})[e.type] || [], l = le.event.special[e.type] || {}; if (a[0] = e, e.delegateTarget = this, !l.preDispatch || l.preDispatch.call(this, e) !== !1) { for (s = le.event.handlers.call(this, e, u), t = 0; (r = s[t++]) && !e.isPropagationStopped();) for (e.currentTarget = r.elem, n = 0; (o = r.handlers[n++]) && !e.isImmediatePropagationStopped();)e.rnamespace && !e.rnamespace.test(o.namespace) || (e.handleObj = o, e.data = o.data, i = ((le.event.special[o.origType] || {}).handle || o.handler).apply(r.elem, a), void 0 !== i && (e.result = i) === !1 && (e.preventDefault(), e.stopPropagation())); return l.postDispatch && l.postDispatch.call(this, e), e.result } }, handlers: function(e, t) { var n, i, r, o, s = [], a = t.delegateCount, u = e.target; if (a && u.nodeType && ("click" !== e.type || isNaN(e.button) || e.button < 1)) for (;u !== this; u = u.parentNode || this) if (1 === u.nodeType && (u.disabled !== !0 || "click" !== e.type)) { for (i = [], n = 0; a > n; n++)o = t[n], r = o.selector+' ', void 0 === i[r] && (i[r] = o.needsContext ? le(r, this).index(u) > -1:le.find(r, this, null, [u]).length), i[r] && i.push(o); i.length && s.push({elem: u, handlers: i});} return a < t.length && s.push({elem: this, handlers: t.slice(a)}), s;}, props:'altKey bubbles cancelable ctrlKey currentTarget detail eventPhase metaKey relatedTarget shiftKey target timeStamp view which'.split(' '), fixHooks: {}, keyHooks: {props:'char charCode key keyCode'.split(' '), filter: function(e, t) { return null == e.which && (e.which = null != t.charCode ? t.charCode:t.keyCode), e }}, mouseHooks: {props:'button buttons clientX clientY offsetX offsetY pageX pageY screenX screenY toElement'.split(' '), filter: function(e, t) { var n, i, r, o = t.button; return null == e.pageX && null != t.clientX && (n = e.target.ownerDocument || K, i = n.documentElement, r = n.body, e.pageX = t.clientX + (i && i.scrollLeft || r && r.scrollLeft || 0) - (i && i.clientLeft || r && r.clientLeft || 0), e.pageY = t.clientY + (i && i.scrollTop || r && r.scrollTop || 0) - (i && i.clientTop || r && r.clientTop || 0)), e.which || void 0 === o || (e.which = 1 & o ? 1:2 & o ? 3:4 & o ? 2:0), e;}}, fix: function(e) { if (e[le.expando]) return e; var t, n, i, r = e.type, o = e, s = this.fixHooks[r]; for (s || (this.fixHooks[r] = s = Be.test(r) ? this.mouseHooks:ze.test(r) ? this.keyHooks:{}), i = s.props ? this.props.concat(s.props):this.props, e = new le.Event(o), t = i.length; t--;)n = i[t], e[n] = o[n]; return e.target || (e.target = K), 3 === e.target.nodeType && (e.target = e.target.parentNode), s.filter ? s.filter(e, o):e;}, special: {load: {noBubble: !0}, focus: {trigger: function() { return this !== x() && this.focus ? (this.focus(), !1):void 0 }, delegateType:'focusin'}, blur: {trigger: function() { return this === x() && this.blur ? (this.blur(), !1):void 0 }, delegateType:'focusout'}, click: {trigger: function() { return "checkbox" === this.type && this.click && le.nodeName(this,'input') ? (this.click(), !1):void 0 }, _default: function(e) { return le.nodeName(e.target,'a') }}, beforeunload: {postDispatch: function(e) { void 0 !== e.result && e.originalEvent && (e.originalEvent.returnValue = e.result) }}}}, le.removeEvent = function(e, t, n) { e.removeEventListener && e.removeEventListener(t, n) }, le.Event = function(e, t) { return this instanceof le.Event ? (e && e.type ? (this.originalEvent = e, this.type = e.type, this.isDefaultPrevented = e.defaultPrevented || void 0 === e.defaultPrevented && e.returnValue === !1 ? m:y):this.type = e, t && le.extend(this, t), this.timeStamp = e && e.timeStamp || le.now(), void(this[le.expando] = !0)):new le.Event(e, t);}, le.Event.prototype = {constructor: le.Event, isDefaultPrevented: y, isPropagationStopped: y, isImmediatePropagationStopped: y, isSimulated: !1, preventDefault: function() { var e = this.originalEvent; this.isDefaultPrevented = m, e && !this.isSimulated && e.preventDefault();}, stopPropagation: function() { var e = this.originalEvent; this.isPropagationStopped = m, e && !this.isSimulated && e.stopPropagation();}, stopImmediatePropagation: function() { var e = this.originalEvent; this.isImmediatePropagationStopped = m, e && !this.isSimulated && e.stopImmediatePropagation(), this.stopPropagation() }}, le.each({mouseenter:'mouseover', mouseleave:'mouseout', pointerenter:'pointerover', pointerleave:'pointerout'}, function(e, t) { le.event.special[e] = {delegateType: t, bindType: t, handle: function(e) { var n, i = this, r = e.relatedTarget, o = e.handleObj; return r && (r === i || le.contains(i, r)) || (e.type = o.origType, n = o.handler.apply(this, arguments), e.type = t), n;}} }), le.fn.extend({on: function(e, t, n, i) { return b(this, e, t, n, i) }, one: function(e, t, n, i) { return b(this, e, t, n, i, 1) }, off: function(e, t, n) { var i, r; if (e && e.preventDefault && e.handleObj) return i = e.handleObj, le(e.delegateTarget).off(i.namespace ? i.origType + "." + i.namespace:i.origType, i.selector, i.handler), this; if ("object" == typeof e) { for (r in e) this.off(r, t, e[r]); return this;} return t !== !1 && "function" != typeof t || (n = t, t = void 0), n === !1 && (n = y), this.each(function() { le.event.remove(this, e, n, t);}) }}); var $e = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:-]+)[^>]*)\/>/gi, Ue = /<script|<style|<link/i, Ye = /checked\s*(?:[^=]|=\s*.checked.)/i, Ve = /^true\/(.*)/, Ge = /^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g; le.extend({htmlPrefilter: function(e) { return e.replace($e,'<$1></$2>') }, clone: function(e, t, n) { var i, r, o, s, a = e.cloneNode(!0), u = le.contains(e.ownerDocument, e); if (!(ae.noCloneChecked || 1 !== e.nodeType && 11 !== e.nodeType || le.isXMLDoc(e))) for (s = p(a), o = p(e), i = 0, r = o.length; r > i; i++)E(o[i], s[i]); if (t) if (n) for (o = o || p(e), s = s || p(a), i = 0, r = o.length; r > i; i++)A(o[i], s[i]); else A(e, a); return s = p(a,'script'), s.length > 0 && g(s, !u && p(e,'script')), a }, cleanData: function(e) { for (var t, n, i, r = le.event.special, o = 0; void 0 !== (n = e[o]); o++) if (Ne(n)) { if (t = n[De.expando]) { if (t.events) for (i in t.events)r[i] ? le.event.remove(n, i):le.removeEvent(n, i, t.handle); n[De.expando] = void 0;}n[je.expando] && (n[je.expando] = void 0) } }}), le.fn.extend({domManip: S, detach: function(e) { return k(this, e, !0) }, remove: function(e) { return k(this, e);}, text: function(e) { return ke(this, function(e) { return void 0 === e ? le.text(this):this.empty().each(function() { 1 !== this.nodeType && 11 !== this.nodeType && 9 !== this.nodeType || (this.textContent = e) });}, null, e, arguments.length);}, append: function() { return S(this, arguments, function(e) { if (1 === this.nodeType || 11 === this.nodeType || 9 === this.nodeType) { var t = w(this, e); t.appendChild(e) } }) }, prepend: function() { return S(this, arguments, function(e) { if (1 === this.nodeType || 11 === this.nodeType || 9 === this.nodeType) { var t = w(this, e); t.insertBefore(e, t.firstChild) } });}, before: function() { return S(this, arguments, function(e) { this.parentNode && this.parentNode.insertBefore(e, this) }) }, after: function() { return S(this, arguments, function(e) { this.parentNode && this.parentNode.insertBefore(e, this.nextSibling);}) }, empty: function() { for (var e, t = 0; null != (e = this[t]); t++)1 === e.nodeType && (le.cleanData(p(e, !1)), e.textContent=''); return this;}, clone: function(e, t) { return e = null == e ? !1:e, t = null == t ? e:t, this.map(function() { return le.clone(this, e, t);}) }, html: function(e) { return ke(this, function(e) { var t = this[0] || {}, n = 0, i = this.length; if (void 0 === e && 1 === t.nodeType) return t.innerHTML; if ("string" == typeof e && !Ue.test(e) && !Me[(Re.exec(e) || ['',''])[1].toLowerCase()]) { e = le.htmlPrefilter(e); try { for (;i > n; n++)t = this[n] || {}, 1 === t.nodeType && (le.cleanData(p(t, !1)), t.innerHTML = e); t = 0 } catch (r) {} }t && this.empty().append(e);}, null, e, arguments.length) }, replaceWith: function() { var e = []; return S(this, arguments, function(t) { var n = this.parentNode; le.inArray(this, e) < 0 && (le.cleanData(p(this)), n && n.replaceChild(t, this)) }, e) }}), le.each({appendTo:'append', prependTo:'prepend', insertBefore:'before', insertAfter:'after', replaceAll:'replaceWith'}, function(e, t) { le.fn[e] = function(e) { for (var n, i = [], r = le(e), o = r.length - 1, s = 0; o >= s; s++)n = s === o ? this:this.clone(!0), le(r[s])[t](n), ne.apply(i, n.get()); return this.pushStack(i);};}); var Qe, Je = {HTML:'block', BODY:'block'}, Ze = /^margin/, Ke = new RegExp("^(" + Fe+')(?!px)[a-z%]+$','i'), et = function(e) { var t = e.ownerDocument.defaultView; return t && t.opener || (t = n), t.getComputedStyle(e) }, tt = function(e, t, n, i) { var r, o, s = {}; for (o in t)s[o] = e.style[o], e.style[o] = t[o]; r = n.apply(e, i || []); for (o in t)e.style[o] = s[o]; return r }, nt = K.documentElement; !function() { function e() { a.style.cssText='-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;position:relative;display:block;margin:auto;border:1px;padding:1px;top:1%;width:50%', a.innerHTML='', nt.appendChild(s); var e = n.getComputedStyle(a); t = "1%" !== e.top, o = "2px" === e.marginLeft, i = "4px" === e.width, a.style.marginRight='50%', r = "4px" === e.marginRight, nt.removeChild(s);} var t, i, r, o, s = K.createElement('div'), a = K.createElement('div'); a.style && (a.style.backgroundClip='content-box', a.cloneNode(!0).style.backgroundClip='', ae.clearCloneStyle = "content-box" === a.style.backgroundClip, s.style.cssText='border:0;width:8px;height:0;top:0;left:-9999px;padding:0;margin-top:1px;position:absolute', s.appendChild(a), le.extend(ae, {pixelPosition: function() { return e(), t;}, boxSizingReliable: function() { return null == i && e(), i }, pixelMarginRight: function() { return null == i && e(), r }, reliableMarginLeft: function() { return null == i && e(), o;}, reliableMarginRight: function() { var e, t = a.appendChild(K.createElement('div')); return t.style.cssText = a.style.cssText='-webkit-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:0', t.style.marginRight = t.style.width='0', a.style.width='1px', nt.appendChild(s), e = !parseFloat(n.getComputedStyle(t).marginRight), nt.removeChild(s), a.removeChild(t), e;}})) }(); var it = /^(none|table(?!-c[ea]).+)/, rt = {position:'absolute', visibility:'hidden', display:'block'}, ot = {letterSpacing:'0', fontWeight:'400'}, st = ['Webkit','O','Moz','ms'], at = K.createElement('div').style; le.extend({cssHooks: {opacity: {get: function(e, t) { if (t) { var n = j(e,'opacity'); return "" === n?'1':n } }}}, cssNumber: {animationIterationCount: !0, 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(e, t, n, i) { if (e && 3 !== e.nodeType && 8 !== e.nodeType && e.style) { var r, o, s, a = le.camelCase(t), u = e.style; return t = le.cssProps[a] || (le.cssProps[a] = L(a) || a), s = le.cssHooks[t] || le.cssHooks[a], void 0 === n ? s&&'get'in s && void 0 !== (r = s.get(e, !1, i)) ? r:u[t]:(o = typeof n, "string" === o && (r = He.exec(n)) && r[1] && (n = d(e, t, r), o='number'), null != n && n === n && ("number" === o && (n += r && r[3] || (le.cssNumber[a]?'':'px')), ae.clearCloneStyle || "" !== n || 0 !== t.indexOf('background') || (u[t]='inherit'), s&&'set'in s && void 0 === (n = s.set(e, n, i)) || (u[t] = n)), void 0);} }, css: function(e, t, n, i) { var r, o, s, a = le.camelCase(t); return t = le.cssProps[a] || (le.cssProps[a] = L(a) || a), s = le.cssHooks[t] || le.cssHooks[a], s&&'get'in s && (r = s.get(e, !0, n)), void 0 === r && (r = j(e, t, i)), "normal" === r && t in ot && (r = ot[t]), "" === n || n ? (o = parseFloat(r), n === !0 || isFinite(o) ? o || 0:r):r;}}), le.each(['height','width'], function(e, t) { le.cssHooks[t] = {get: function(e, n, i) { return n ? it.test(le.css(e,'display')) && 0 === e.offsetWidth ? tt(e, rt, function() { return O(e, t, i) }):O(e, t, i):void 0;}, set: function(e, n, i) { var r, o = i && et(e), s = i && H(e, t, i, "border-box" === le.css(e,'boxSizing', !1, o), o); return s && (r = He.exec(n)) && "px" !== (r[3]||'px') && (e.style[t] = n, n = le.css(e, t)), F(e, n, s) }} }), le.cssHooks.marginLeft = q(ae.reliableMarginLeft, function(e, t) { return t ? (parseFloat(j(e,'marginLeft')) || e.getBoundingClientRect().left - tt(e, {marginLeft: 0}, function() { return e.getBoundingClientRect().left }))+'px':void 0;}), le.cssHooks.marginRight = q(ae.reliableMarginRight, function(e, t) { return t ? tt(e, {display:'inline-block'}, j, [e,'marginRight']):void 0 }), le.each({margin:'', padding:'', border:'Width'}, function(e, t) { le.cssHooks[e + t] = {expand: function(n) { for (var i = 0, r = {}, o = "string" == typeof n ? n.split(' '):[n]; 4 > i; i++)r[e + Oe[i] + t] = o[i] || o[i - 2] || o[0]; return r;}}, Ze.test(e) || (le.cssHooks[e + t].set = F);}), le.fn.extend({css: function(e, t) { return ke(this, function(e, t, n) { var i, r, o = {}, s = 0; if (le.isArray(t)) { for (i = et(e), r = t.length; r > s; s++)o[t[s]] = le.css(e, t[s], !1, i); return o } return void 0 !== n ? le.style(e, t, n):le.css(e, t);}, e, t, arguments.length > 1);}, show: function() { return P(this, !0) }, hide: function() { return P(this);}, toggle: function(e) { return "boolean" == typeof e ? e ? this.show():this.hide():this.each(function() { Pe(this) ? le(this).show():le(this).hide();});}}), le.Tween = I, I.prototype = {constructor: I, init: function(e, t, n, i, r, o) { this.elem = e, this.prop = n, this.easing = r || le.easing._default, this.options = t, this.start = this.now = this.cur(), this.end = i, this.unit = o || (le.cssNumber[n]?'':'px') }, cur: function() { var e = I.propHooks[this.prop]; return e && e.get ? e.get(this):I.propHooks._default.get(this) }, run: function(e) { var t, n = I.propHooks[this.prop]; return this.options.duration ? this.pos = t = le.easing[this.easing](e, this.options.duration * e, 0, 1, this.options.duration):this.pos = t = e, this.now = (this.end - this.start) * t + this.start, this.options.step && this.options.step.call(this.elem, this.now, this), n && n.set ? n.set(this):I.propHooks._default.set(this), this;}}, I.prototype.init.prototype = I.prototype, I.propHooks = {_default: {get: function(e) { var t; return 1 !== e.elem.nodeType || null != e.elem[e.prop] && null == e.elem.style[e.prop] ? e.elem[e.prop]:(t = le.css(e.elem, e.prop,''), t && "auto" !== t ? t:0) }, set: function(e) { le.fx.step[e.prop] ? le.fx.step[e.prop](e):1 !== e.elem.nodeType || null == e.elem.style[le.cssProps[e.prop]] && !le.cssHooks[e.prop] ? e.elem[e.prop] = e.now:le.style(e.elem, e.prop, e.now + e.unit) }}}, I.propHooks.scrollTop = I.propHooks.scrollLeft = {set: function(e) { e.elem.nodeType && e.elem.parentNode && (e.elem[e.prop] = e.now) }}, le.easing = {linear: function(e) { return e;}, swing: function(e) { return.5 - Math.cos(e * Math.PI) / 2;}, _default:'swing'}, le.fx = I.prototype.init, le.fx.step = {}; var ut, lt, ct = /^(?:toggle|show|hide)$/, ft = /queueHooks$/; le.Animation = le.extend(B, {tweeners: {'*': [function(e, t) { var n = this.createTween(e, t); return d(n.elem, e, He.exec(t), n), n }]}, tweener: function(e, t) { le.isFunction(e) ? (t = e, e = ['*']):e = e.match(Ee); for (var n, i = 0, r = e.length; r > i; i++)n = e[i], B.tweeners[n] = B.tweeners[n] || [], B.tweeners[n].unshift(t);}, prefilters: [W], prefilter: function(e, t) { t ? B.prefilters.unshift(e):B.prefilters.push(e) }}), le.speed = function(e, t, n) { var i = e && "object" == typeof e ? le.extend({}, e):{complete: n || !n && t || le.isFunction(e) && e, duration: e, easing: n && t || t && !le.isFunction(t) && t}; return i.duration = le.fx.off ? 0:"number" == typeof i.duration ? i.duration:i.duration in le.fx.speeds ? le.fx.speeds[i.duration]:le.fx.speeds._default, null != i.queue && i.queue !== !0 || (i.queue='fx'), i.old = i.complete, i.complete = function() { le.isFunction(i.old) && i.old.call(this), i.queue && le.dequeue(this, i.queue);}, i;}, le.fn.extend({fadeTo: function(e, t, n, i) { return this.filter(Pe).css('opacity', 0).show().end().animate({opacity: t}, e, n, i);}, animate: function(e, t, n, i) { var r = le.isEmptyObject(e), o = le.speed(t, n, i), s = function() { var t = B(this, le.extend({}, e), o); (r || De.get(this,'finish')) && t.stop(!0);}; return s.finish = s, r || o.queue === !1 ? this.each(s):this.queue(o.queue, s) }, stop: function(e, t, n) { var i = function(e) { var t = e.stop; delete e.stop, t(n);}; return "string" != typeof e && (n = t, t = e, e = void 0), t && e !== !1 && this.queue(e||'fx', []), this.each(function() { var t = !0, r = null != e && e+'queueHooks', o = le.timers, s = De.get(this); if (r)s[r] && s[r].stop && i(s[r]); else for (r in s)s[r] && s[r].stop && ft.test(r) && i(s[r]); for (r = o.length; r--;)o[r].elem !== this || null != e && o[r].queue !== e || (o[r].anim.stop(n), t = !1, o.splice(r, 1)); !t && n || le.dequeue(this, e);}) }, finish: function(e) { return e !== !1 && (e = e||'fx'), this.each(function() { var t, n = De.get(this), i = n[e+'queue'], r = n[e+'queueHooks'], o = le.timers, s = i ? i.length:0; for (n.finish = !0, le.queue(this, e, []), r && r.stop && r.stop.call(this, !0), t = o.length; t--;)o[t].elem === this && o[t].queue === e && (o[t].anim.stop(!0), o.splice(t, 1)); for (t = 0; s > t; t++)i[t] && i[t].finish && i[t].finish.call(this); delete n.finish;});}}), le.each(['toggle','show','hide'], function(e, t) { var n = le.fn[t]; le.fn[t] = function(e, i, r) { return null == e || "boolean" == typeof e ? n.apply(this, arguments):this.animate(_(t, !0), e, i, r);};}), le.each({slideDown: _('show'), slideUp: _('hide'), slideToggle: _('toggle'), fadeIn: {opacity:'show'}, fadeOut: {opacity:'hide'}, fadeToggle: {opacity:'toggle'}}, function(e, t) { le.fn[e] = function(e, n, i) { return this.animate(t, e, n, i);};}), le.timers = [], le.fx.tick = function() { var e, t = 0, n = le.timers; for (ut = le.now(); t < n.length; t++)e = n[t], e() || n[t] !== e || n.splice(t--, 1); n.length || le.fx.stop(), ut = void 0 }, le.fx.timer = function(e) { le.timers.push(e), e() ? le.fx.start():le.timers.pop();}, le.fx.interval = 13, le.fx.start = function() { lt || (lt = n.setInterval(le.fx.tick, le.fx.interval)) }, le.fx.stop = function() { n.clearInterval(lt), lt = null }, le.fx.speeds = {slow: 600, fast: 200, _default: 400}, le.fn.delay = function(e, t) { return e = le.fx ? le.fx.speeds[e] || e:e, t = t||'fx', this.queue(t, function(t, i) { var r = n.setTimeout(t, e); i.stop = function() { n.clearTimeout(r);} });}, function() { var e = K.createElement('input'), t = K.createElement('select'), n = t.appendChild(K.createElement('option')); e.type='checkbox', ae.checkOn = "" !== e.value, ae.optSelected = n.selected, t.disabled = !0, ae.optDisabled = !n.disabled, e = K.createElement('input'), e.value='t', e.type='radio', ae.radioValue = "t" === e.value;}(); var ht, dt = le.expr.attrHandle; le.fn.extend({attr: function(e, t) { return ke(this, le.attr, e, t, arguments.length > 1) }, removeAttr: function(e) { return this.each(function() { le.removeAttr(this, e);}) }}), le.extend({attr: function(e, t, n) { var i, r, o = e.nodeType; if (3 !== o && 8 !== o && 2 !== o) return "undefined" == typeof e.getAttribute ? le.prop(e, t, n):(1 === o && le.isXMLDoc(e) || (t = t.toLowerCase(), r = le.attrHooks[t] || (le.expr.match.bool.test(t) ? ht:void 0)), void 0 !== n ? null === n ? void le.removeAttr(e, t):r&&'set'in r && void 0 !== (i = r.set(e, n, t)) ? i:(e.setAttribute(t, n+''), n):r&&'get'in r && null !== (i = r.get(e, t)) ? i:(i = le.find.attr(e, t), null == i ? void 0:i));}, attrHooks: {type: {set: function(e, t) { if (!ae.radioValue && "radio" === t && le.nodeName(e,'input')) { var n = e.value; return e.setAttribute('type', t), n && (e.value = n), t;} }}}, removeAttr: function(e, t) { var n, i, r = 0, o = t && t.match(Ee); if (o && 1 === e.nodeType) for (;n = o[r++];)i = le.propFix[n] || n, le.expr.match.bool.test(n) && (e[i] = !1), e.removeAttribute(n);}}), ht = {set: function(e, t, n) { return t === !1 ? le.removeAttr(e, n):e.setAttribute(n, n), n;}}, le.each(le.expr.match.bool.source.match(/\w+/g), function(e, t) { var n = dt[t] || le.find.attr; dt[t] = function(e, t, i) { var r, o; return i || (o = dt[t], dt[t] = r, r = null != n(e, t, i) ? t.toLowerCase():null, dt[t] = o), r } }); var pt = /^(?:input|select|textarea|button)$/i, gt = /^(?:a|area)$/i; le.fn.extend({prop: function(e, t) { return ke(this, le.prop, e, t, arguments.length > 1) }, removeProp: function(e) { return this.each(function() { delete this[le.propFix[e] || e];}) }}), le.extend({prop: function(e, t, n) { var i, r, o = e.nodeType; if (3 !== o && 8 !== o && 2 !== o) return 1 === o && le.isXMLDoc(e) || (t = le.propFix[t] || t, r = le.propHooks[t]), void 0 !== n ? r&&'set'in r && void 0 !== (i = r.set(e, n, t)) ? i:e[t] = n:r&&'get'in r && null !== (i = r.get(e, t)) ? i:e[t] }, propHooks: {tabIndex: {get: function(e) { var t = le.find.attr(e,'tabindex'); return t ? parseInt(t, 10):pt.test(e.nodeName) || gt.test(e.nodeName) && e.href ? 0:-1 }}}, propFix: {'for':'htmlFor','class':'className'}}), ae.optSelected || (le.propHooks.selected = {get: function(e) { var t = e.parentNode; return t && t.parentNode && t.parentNode.selectedIndex, null }, set: function(e) { var t = e.parentNode; t && (t.selectedIndex, t.parentNode && t.parentNode.selectedIndex) }}), le.each(['tabIndex','readOnly','maxLength','cellSpacing','cellPadding','rowSpan','colSpan','useMap','frameBorder','contentEditable'], function() { le.propFix[this.toLowerCase()] = this;}); var vt = /[\t\r\n\f]/g; le.fn.extend({addClass: function(e) { var t, n, i, r, o, s, a, u = 0; if (le.isFunction(e)) return this.each(function(t) { le(this).addClass(e.call(this, t, X(this)));}); if ("string" == typeof e && e) for (t = e.match(Ee) || []; n = this[u++];) if (r = X(n), i = 1 === n.nodeType && (" " + r+' ').replace(vt,' ')) { for (s = 0; o = t[s++];)i.indexOf(" " + o+' ') < 0 && (i += o+' '); a = le.trim(i), r !== a && n.setAttribute('class', a);} return this }, removeClass: function(e) { var t, n, i, r, o, s, a, u = 0; if (le.isFunction(e)) return this.each(function(t) { le(this).removeClass(e.call(this, t, X(this))) }); if (!arguments.length) return this.attr('class',''); if ("string" == typeof e && e) for (t = e.match(Ee) || []; n = this[u++];) if (r = X(n), i = 1 === n.nodeType && (" " + r+' ').replace(vt,' ')) { for (s = 0; o = t[s++];) for (;i.indexOf(" " + o+' ') > -1;)i = i.replace(" " + o+' ',' '); a = le.trim(i), r !== a && n.setAttribute('class', a) } return this }, toggleClass: function(e, t) { var n = typeof e; return "boolean" == typeof t && "string" === n ? t ? this.addClass(e):this.removeClass(e):le.isFunction(e) ? this.each(function(n) { le(this).toggleClass(e.call(this, n, X(this), t), t);}):this.each(function() { var t, i, r, o; if ("string" === n) for (i = 0, r = le(this), o = e.match(Ee) || []; t = o[i++];)r.hasClass(t) ? r.removeClass(t):r.addClass(t); else void 0 !== e && "boolean" !== n || (t = X(this), t && De.set(this,'__className__', t), this.setAttribute && this.setAttribute('class', t || e === !1?'':De.get(this,'__className__')||''));});}, hasClass: function(e) { var t, n, i = 0; for (t = " " + e+' '; n = this[i++];) if (1 === n.nodeType && (" " + X(n)+' ').replace(vt,' ').indexOf(t) > -1) return !0; return !1 }}); var mt = /\r/g, yt = /[\x20\t\r\n\f]+/g; le.fn.extend({val: function(e) { var t, n, i, r = this[0]; { if (arguments.length) return i = le.isFunction(e), this.each(function(n) { var r; 1 === this.nodeType && (r = i ? e.call(this, n, le(this).val()):e, null == r ? r='':"number" == typeof r ? r+='':le.isArray(r) && (r = le.map(r, function(e) { return null == e?'':e + "" })), t = le.valHooks[this.type] || le.valHooks[this.nodeName.toLowerCase()], t&&'set'in t && void 0 !== t.set(this, r,'value') || (this.value = r));}); if (r) return t = le.valHooks[r.type] || le.valHooks[r.nodeName.toLowerCase()], t&&'get'in t && void 0 !== (n = t.get(r,'value')) ? n:(n = r.value, "string" == typeof n ? n.replace(mt,''):null == n?'':n) } }}), le.extend({valHooks: {option: {get: function(e) { var t = le.find.attr(e,'value'); return null != t ? t:le.trim(le.text(e)).replace(yt,' ');}}, select: {get: function(e) { for (var t, n, i = e.options, r = e.selectedIndex, o = "select-one" === e.type || 0 > r, s = o ? null:[], a = o ? r + 1:i.length, u = 0 > r ? a:o ? r:0; a > u; u++) if (n = i[u], (n.selected || u === r) && (ae.optDisabled ? !n.disabled:null === n.getAttribute('disabled')) && (!n.parentNode.disabled || !le.nodeName(n.parentNode,'optgroup'))) { if (t = le(n).val(), o) return t; s.push(t);} return s }, set: function(e, t) { for (var n, i, r = e.options, o = le.makeArray(t), s = r.length; s--;)i = r[s], (i.selected = le.inArray(le.valHooks.option.get(i), o) > -1) && (n = !0); return n || (e.selectedIndex = -1), o }}}}), le.each(['radio','checkbox'], function() { le.valHooks[this] = {set: function(e, t) { return le.isArray(t) ? e.checked = le.inArray(le(e).val(), t) > -1:void 0;}}, ae.checkOn || (le.valHooks[this].get = function(e) { return null === e.getAttribute('value')?'on':e.value;}) }); var xt = /^(?:focusinfocus|focusoutblur)$/; le.extend(le.event, {trigger: function(e, t, i, r) { var o, s, a, u, l, c, f, h = [i || K], d = se.call(e,'type') ? e.type:e, p = se.call(e,'namespace') ? e.namespace.split('.'):[]; if (s = a = i = i || K, 3 !== i.nodeType && 8 !== i.nodeType && !xt.test(d + le.event.triggered) && (d.indexOf('.') > -1 && (p = d.split('.'), d = p.shift(), p.sort()), l = d.indexOf(':') < 0 && "on" + d, e = e[le.expando] ? e:new le.Event(d, "object" == typeof e && e), e.isTrigger = r ? 2:3, e.namespace = p.join('.'), e.rnamespace = e.namespace ? new RegExp("(^|\\.)" + p.join('\\.(?:.*\\.|)')+'(\\.|$)'):null, e.result = void 0, e.target || (e.target = i), t = null == t ? [e]:le.makeArray(t, [e]), f = le.event.special[d] || {}, r || !f.trigger || f.trigger.apply(i, t) !== !1)) { if (!r && !f.noBubble && !le.isWindow(i)) { for (u = f.delegateType || d, xt.test(u + d) || (s = s.parentNode); s; s = s.parentNode)h.push(s), a = s; a === (i.ownerDocument || K) && h.push(a.defaultView || a.parentWindow || n);} for (o = 0; (s = h[o++]) && !e.isPropagationStopped();)e.type = o > 1 ? u:f.bindType || d, c = (De.get(s,'events') || {})[e.type] && De.get(s,'handle'), c && c.apply(s, t), c = l && s[l], c && c.apply && Ne(s) && (e.result = c.apply(s, t), e.result === !1 && e.preventDefault()); return e.type = d, r || e.isDefaultPrevented() || f._default && f._default.apply(h.pop(), t) !== !1 || !Ne(i) || l && le.isFunction(i[d]) && !le.isWindow(i) && (a = i[l], a && (i[l] = null), le.event.triggered = d, i[d](), le.event.triggered = void 0, a && (i[l] = a)), e.result } }, simulate: function(e, t, n) { var i = le.extend(new le.Event, n, {type: e, isSimulated: !0}); le.event.trigger(i, null, t);}}), le.fn.extend({trigger: function(e, t) { return this.each(function() { le.event.trigger(e, t, this);}) }, triggerHandler: function(e, t) { var n = this[0]; return n ? le.event.trigger(e, t, n, !0):void 0;}}), le.each('blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu'.split(' '), function(e, t) { le.fn[t] = function(e, n) { return arguments.length > 0 ? this.on(t, null, e, n):this.trigger(t);} }), le.fn.extend({hover: function(e, t) { return this.mouseenter(e).mouseleave(t || e);}}), ae.focusin='onfocusin'in n, ae.focusin || le.each({focus:'focusin', blur:'focusout'}, function(e, t) { var n = function(e) { le.event.simulate(t, e.target, le.event.fix(e));}; le.event.special[t] = {setup: function() { var i = this.ownerDocument || this, r = De.access(i, t); r || i.addEventListener(e, n, !0), De.access(i, t, (r || 0) + 1);}, teardown: function() { var i = this.ownerDocument || this, r = De.access(i, t) - 1; r ? De.access(i, t, r):(i.removeEventListener(e, n, !0), De.remove(i, t));}};}); var bt = n.location, wt = le.now(), Tt = /\?/; le.parseJSON = function(e) { return JSON.parse(e+'') }, le.parseXML = function(e) { var t; if (!e || "string" != typeof e) return null; try { t = (new n.DOMParser).parseFromString(e,'text/xml') } catch (i) { t = void 0;} return t && !t.getElementsByTagName('parsererror').length || le.error("Invalid XML: " + e), t;}; var Ct = /#.*$/, At = /([?&])_=[^&]*/, Et = /^(.*?):[ \t]*([^\r\n]*)$/gm, St = /^(?:about|app|app-storage|.+-extension|file|res|widget):$/, kt = /^(?:GET|HEAD)$/, Nt = /^\/\//, Dt = {}, jt = {}, qt='*/'.concat('*'), Lt = K.createElement('a'); Lt.href = bt.href, le.extend({active: 0, lastModified: {}, etag: {}, ajaxSettings: {url: bt.href, type:'GET', isLocal: St.test(bt.protocol), global: !0, processData: !0, async: !0, contentType:'application/x-www-form-urlencoded; charset=UTF-8', accepts: {'*': qt, text:'text/plain', html:'text/html', xml:'application/xml, text/xml', json:'application/json, text/javascript'}, contents: {xml: /\bxml\b/, html: /\bhtml/, json: /\bjson\b/}, responseFields: {xml:'responseXML', text:'responseText', json:'responseJSON'}, converters: {'* text': String,'text html': !0,'text json': le.parseJSON,'text xml': le.parseXML}, flatOptions: {url: !0, context: !0}}, ajaxSetup: function(e, t) { return t ? Y(Y(e, le.ajaxSettings), t):Y(le.ajaxSettings, e);}, ajaxPrefilter: $(Dt), ajaxTransport: $(jt), ajax: function(e, t) { function i(e, t, i, a) { var l, f, y, x, w, C = t; 2 !== b && (b = 2, u && n.clearTimeout(u), r = void 0, s = a||'', T.readyState = e > 0 ? 4:0, l = e >= 200 && 300 > e || 304 === e, i && (x = V(h, T, i)), x = G(h, x, T, l), l ? (h.ifModified && (w = T.getResponseHeader('Last-Modified'), w && (le.lastModified[o] = w), w = T.getResponseHeader('etag'), w && (le.etag[o] = w)), 204 === e || "HEAD" === h.type ? C='nocontent':304 === e ? C='notmodified':(C = x.state, f = x.data, y = x.error, l = !y)):(y = C, !e && C || (C='error', 0 > e && (e = 0))), T.status = e, T.statusText = (t || C)+'', l ? g.resolveWith(d, [f, C, T]):g.rejectWith(d, [T, C, y]), T.statusCode(m), m = void 0, c && p.trigger(l?'ajaxSuccess':'ajaxError', [T, h, l ? f:y]), v.fireWith(d, [T, C]), c && (p.trigger('ajaxComplete', [T, h]), --le.active || le.event.trigger('ajaxStop')));}"object" == typeof e && (t = e, e = void 0), t = t || {}; var r, o, s, a, u, l, c, f, h = le.ajaxSetup({}, t), d = h.context || h, p = h.context && (d.nodeType || d.jquery) ? le(d):le.event, g = le.Deferred(), v = le.Callbacks('once memory'), m = h.statusCode || {}, y = {}, x = {}, b = 0, w='canceled', T = {readyState: 0, getResponseHeader: function(e) { var t; if (2 === b) { if (!a) for (a = {}; t = Et.exec(s);)a[t[1].toLowerCase()] = t[2]; t = a[e.toLowerCase()];} return null == t ? null:t }, getAllResponseHeaders: function() { return 2 === b ? s:null }, setRequestHeader: function(e, t) { var n = e.toLowerCase(); return b || (e = x[n] = x[n] || e, y[e] = t), this;}, overrideMimeType: function(e) { return b || (h.mimeType = e), this }, statusCode: function(e) { var t; if (e) if (2 > b) for (t in e)m[t] = [m[t], e[t]]; else T.always(e[T.status]); return this;}, abort: function(e) { var t = e || w; return r && r.abort(t), i(0, t), this;}}; if (g.promise(T).complete = v.add, T.success = T.done, T.error = T.fail, h.url = ((e || h.url || bt.href)+'').replace(Ct,'').replace(Nt, bt.protocol+'//'), h.type = t.method || t.type || h.method || h.type, h.dataTypes = le.trim(h.dataType||'*').toLowerCase().match(Ee) || [''], null == h.crossDomain) { l = K.createElement('a'); try { l.href = h.url, l.href = l.href, h.crossDomain = Lt.protocol + "//" + Lt.host != l.protocol + "//" + l.host } catch (C) { h.crossDomain = !0 } } if (h.data && h.processData && "string" != typeof h.data && (h.data = le.param(h.data, h.traditional)), U(Dt, h, t, T), 2 === b) return T; c = le.event && h.global, c && 0 === le.active++ && le.event.trigger('ajaxStart'), h.type = h.type.toUpperCase(), h.hasContent = !kt.test(h.type), o = h.url, h.hasContent || (h.data && (o = h.url += (Tt.test(o)?'&':'?') + h.data, delete h.data), h.cache === !1 && (h.url = At.test(o) ? o.replace(At, "$1_=" + wt++):o + (Tt.test(o)?'&':'?') + "_=" + wt++)), h.ifModified && (le.lastModified[o] && T.setRequestHeader('If-Modified-Since', le.lastModified[o]), le.etag[o] && T.setRequestHeader('If-None-Match', le.etag[o])), (h.data && h.hasContent && h.contentType !== !1 || t.contentType) && T.setRequestHeader('Content-Type', h.contentType), T.setRequestHeader('Accept', h.dataTypes[0] && h.accepts[h.dataTypes[0]] ? h.accepts[h.dataTypes[0]] + ("*" !== h.dataTypes[0] ? ", " + qt+'; q=0.01':''):h.accepts['*']); for (f in h.headers)T.setRequestHeader(f, h.headers[f]); if (h.beforeSend && (h.beforeSend.call(d, T, h) === !1 || 2 === b)) return T.abort(); w='abort'; for (f in {success: 1, error: 1, complete: 1})T[f](h[f]); if (r = U(jt, h, t, T)) { if (T.readyState = 1, c && p.trigger('ajaxSend', [T, h]), 2 === b) return T; h.async && h.timeout > 0 && (u = n.setTimeout(function() { T.abort('timeout') }, h.timeout)); try { b = 1, r.send(y, i) } catch (C) { if (!(2 > b)) throw C; i(-1, C) } } else i(-1,'No Transport'); return T;}, getJSON: function(e, t, n) { return le.get(e, t, n,'json');}, getScript: function(e, t) { return le.get(e, void 0, t,'script') }}), le.each(['get','post'], function(e, t) { le[t] = function(e, n, i, r) { return le.isFunction(n) && (r = r || i, i = n, n = void 0), le.ajax(le.extend({url: e, type: t, dataType: r, data: n, success: i}, le.isPlainObject(e) && e));};}), le._evalUrl = function(e) { return le.ajax({url: e, type:'GET', dataType:'script', async: !1, global: !1,'throws': !0}) }, le.fn.extend({wrapAll: function(e) { var t; return le.isFunction(e) ? this.each(function(t) { le(this).wrapAll(e.call(this, t)) }):(this[0] && (t = le(e, this[0].ownerDocument).eq(0).clone(!0), this[0].parentNode && t.insertBefore(this[0]), t.map(function() { for (var e = this; e.firstElementChild;)e = e.firstElementChild; return e;}).append(this)), this);}, wrapInner: function(e) { return le.isFunction(e) ? this.each(function(t) { le(this).wrapInner(e.call(this, t));}):this.each(function() { var t = le(this), n = t.contents(); n.length ? n.wrapAll(e):t.append(e) }) }, wrap: function(e) { var t = le.isFunction(e); return this.each(function(n) { le(this).wrapAll(t ? e.call(this, n):e);});}, unwrap: function() { return this.parent().each(function() { le.nodeName(this,'body') || le(this).replaceWith(this.childNodes) }).end() }}), le.expr.filters.hidden = function(e) { return !le.expr.filters.visible(e);}, le.expr.filters.visible = function(e) { return e.offsetWidth > 0 || e.offsetHeight > 0 || e.getClientRects().length > 0;}; var Ft = /%20/g, Ht = /\[\]$/, Ot = /\r?\n/g, Pt = /^(?:submit|button|image|reset|file)$/i, It = /^(?:input|select|textarea|keygen)/i; le.param = function(e, t) { var n, i = [], r = function(e, t) { t = le.isFunction(t) ? t():null == t?'':t, i[i.length] = encodeURIComponent(e) + "=" + encodeURIComponent(t);}; if (void 0 === t && (t = le.ajaxSettings && le.ajaxSettings.traditional), le.isArray(e) || e.jquery && !le.isPlainObject(e))le.each(e, function() { r(this.name, this.value) }); else for (n in e)Q(n, e[n], t, r); return i.join('&').replace(Ft,'+');}, le.fn.extend({serialize: function() { return le.param(this.serializeArray());}, serializeArray: function() { return this.map(function() { var e = le.prop(this,'elements'); return e ? le.makeArray(e):this;}).filter(function() { var e = this.type; return this.name && !le(this).is(':disabled') && It.test(this.nodeName) && !Pt.test(e) && (this.checked || !Ie.test(e)) }).map(function(e, t) { var n = le(this).val(); return null == n ? null:le.isArray(n) ? le.map(n, function(e) { return {name: t.name, value: e.replace(Ot,'\r\n')} }):{name: t.name, value: n.replace(Ot,'\r\n')} }).get();}}), le.ajaxSettings.xhr = function() { try { return new n.XMLHttpRequest } catch (e) {} }; var Rt = {0: 200, 1223: 204}, _t = le.ajaxSettings.xhr(); ae.cors = !!_t&&'withCredentials'in _t, ae.ajax = _t = !!_t, le.ajaxTransport(function(e) { var t, i; return ae.cors || _t && !e.crossDomain ? {send: function(r, o) { var s, a = e.xhr(); if (a.open(e.type, e.url, e.async, e.username, e.password), e.xhrFields) for (s in e.xhrFields)a[s] = e.xhrFields[s]; e.mimeType && a.overrideMimeType && a.overrideMimeType(e.mimeType),
e.crossDomain || r['X-Requested-With'] || (r['X-Requested-With']='XMLHttpRequest'); for (s in r)a.setRequestHeader(s, r[s]); t = function(e) { return function() { t && (t = i = a.onload = a.onerror = a.onabort = a.onreadystatechange = null, "abort" === e ? a.abort():"error" === e ? "number" != typeof a.status ? o(0,'error'):o(a.status, a.statusText):o(Rt[a.status] || a.status, a.statusText, "text" !== (a.responseType||'text') || "string" != typeof a.responseText ? {binary: a.response}:{text: a.responseText}, a.getAllResponseHeaders()));} }, a.onload = t(), i = a.onerror = t('error'), void 0 !== a.onabort ? a.onabort = i:a.onreadystatechange = function() { 4 === a.readyState && n.setTimeout(function() { t && i();}) }, t = t('abort'); try { a.send(e.hasContent && e.data || null);} catch (u) { if (t) throw u;} }, abort: function() { t && t();}}:void 0;}), le.ajaxSetup({accepts: {script:'text/javascript, application/javascript, application/ecmascript, application/x-ecmascript'}, contents: {script: /\b(?:java|ecma)script\b/}, converters: {'text script': function(e) { return le.globalEval(e), e }}}), le.ajaxPrefilter('script', function(e) { void 0 === e.cache && (e.cache = !1), e.crossDomain && (e.type='GET');}), le.ajaxTransport('script', function(e) { if (e.crossDomain) { var t, n; return {send: function(i, r) { t = le('<script>').prop({charset: e.scriptCharset, src: e.url}).on('load error', n = function(e) { t.remove(), n = null, e && r("error" === e.type ? 404:200, e.type);}), K.head.appendChild(t[0]) }, abort: function() { n && n();}};} }); var Mt = [], Wt = /(=)\?(?=&|$)|\?\?/; le.ajaxSetup({jsonp:'callback', jsonpCallback: function() { var e = Mt.pop() || le.expando + "_" + wt++; return this[e] = !0, e;}}), le.ajaxPrefilter('json jsonp', function(e, t, i) { var r, o, s, a = e.jsonp !== !1 && (Wt.test(e.url)?'url':"string" == typeof e.data && 0 === (e.contentType||'').indexOf('application/x-www-form-urlencoded') && Wt.test(e.data)&&'data'); return a || "jsonp" === e.dataTypes[0] ? (r = e.jsonpCallback = le.isFunction(e.jsonpCallback) ? e.jsonpCallback():e.jsonpCallback, a ? e[a] = e[a].replace(Wt, "$1" + r):e.jsonp !== !1 && (e.url += (Tt.test(e.url)?'&':'?') + e.jsonp + "=" + r), e.converters['script json'] = function() { return s || le.error(r+' was not called'), s[0];}, e.dataTypes[0]='json', o = n[r], n[r] = function() { s = arguments;}, i.always(function() { void 0 === o ? le(n).removeProp(r):n[r] = o, e[r] && (e.jsonpCallback = t.jsonpCallback, Mt.push(r)), s && le.isFunction(o) && o(s[0]), s = o = void 0;}),'script'):void 0;}), le.parseHTML = function(e, t, n) { if (!e || "string" != typeof e) return null; "boolean" == typeof t && (n = t, t = !1), t = t || K; var i = ye.exec(e), r = !n && []; return i ? [t.createElement(i[1])]:(i = v([e], t, r), r && r.length && le(r).remove(), le.merge([], i.childNodes)) }; var zt = le.fn.load; le.fn.load = function(e, t, n) { if ("string" != typeof e && zt) return zt.apply(this, arguments); var i, r, o, s = this, a = e.indexOf(' '); return a > -1 && (i = le.trim(e.slice(a)), e = e.slice(0, a)), le.isFunction(t) ? (n = t, t = void 0):t && "object" == typeof t && (r='POST'), s.length > 0 && le.ajax({url: e, type: r||'GET', dataType:'html', data: t}).done(function(e) { o = arguments, s.html(i ? le('<div>').append(le.parseHTML(e)).find(i):e) }).always(n && function(e, t) { s.each(function() { n.apply(this, o || [e.responseText, t, e]);});}), this }, le.each(['ajaxStart','ajaxStop','ajaxComplete','ajaxError','ajaxSuccess','ajaxSend'], function(e, t) { le.fn[t] = function(e) { return this.on(t, e) };}), le.expr.filters.animated = function(e) { return le.grep(le.timers, function(t) { return e === t.elem;}).length;}, le.offset = {setOffset: function(e, t, n) { var i, r, o, s, a, u, l, c = le.css(e,'position'), f = le(e), h = {}; "static" === c && (e.style.position='relative'), a = f.offset(), o = le.css(e,'top'), u = le.css(e,'left'), l = ("absolute" === c || "fixed" === c) && (o + u).indexOf('auto') > -1, l ? (i = f.position(), s = i.top, r = i.left):(s = parseFloat(o) || 0, r = parseFloat(u) || 0), le.isFunction(t) && (t = t.call(e, n, le.extend({}, a))), null != t.top && (h.top = t.top - a.top + s), null != t.left && (h.left = t.left - a.left + r),'using'in t ? t.using.call(e, h):f.css(h) }}, le.fn.extend({offset: function(e) { if (arguments.length) return void 0 === e ? this:this.each(function(t) { le.offset.setOffset(this, e, t) }); var t, n, i = this[0], r = {top: 0, left: 0}, o = i && i.ownerDocument; if (o) return t = o.documentElement, le.contains(t, i) ? (r = i.getBoundingClientRect(), n = J(o), {top: r.top + n.pageYOffset - t.clientTop, left: r.left + n.pageXOffset - t.clientLeft}):r;}, position: function() { if (this[0]) { var e, t, n = this[0], i = {top: 0, left: 0}; return "fixed" === le.css(n,'position') ? t = n.getBoundingClientRect():(e = this.offsetParent(), t = this.offset(), le.nodeName(e[0],'html') || (i = e.offset()), i.top += le.css(e[0],'borderTopWidth', !0), i.left += le.css(e[0],'borderLeftWidth', !0)), {top: t.top - i.top - le.css(n,'marginTop', !0), left: t.left - i.left - le.css(n,'marginLeft', !0)} } }, offsetParent: function() { return this.map(function() { for (var e = this.offsetParent; e && "static" === le.css(e,'position');)e = e.offsetParent; return e || nt;});}}), le.each({scrollLeft:'pageXOffset', scrollTop:'pageYOffset'}, function(e, t) { var n = "pageYOffset" === t; le.fn[e] = function(i) { return ke(this, function(e, i, r) { var o = J(e); return void 0 === r ? o ? o[t]:e[i]:void(o ? o.scrollTo(n ? o.pageXOffset:r, n ? r:o.pageYOffset):e[i] = r) }, e, i, arguments.length);} }), le.each(['top','left'], function(e, t) { le.cssHooks[t] = q(ae.pixelPosition, function(e, n) { return n ? (n = j(e, t), Ke.test(n) ? le(e).position()[t]+'px':n):void 0;});}), le.each({Height:'height', Width:'width'}, function(e, t) { le.each({padding: "inner" + e, content: t,'': "outer" + e}, function(n, i) { le.fn[i] = function(i, r) { var o = arguments.length && (n || "boolean" != typeof i), s = n || (i === !0 || r === !0?'margin':'border'); return ke(this, function(t, n, i) { var r; return le.isWindow(t) ? t.document.documentElement["client" + e]:9 === t.nodeType ? (r = t.documentElement, Math.max(t.body["scroll" + e], r["scroll" + e], t.body["offset" + e], r["offset" + e], r["client" + e])):void 0 === i ? le.css(t, n, s):le.style(t, n, i, s) }, t, o ? i:void 0, o, null);} });}), le.fn.extend({bind: function(e, t, n) { return this.on(e, null, t, n);}, unbind: function(e, t) { return this.off(e, null, t) }, delegate: function(e, t, n, i) { return this.on(t, e, n, i) }, undelegate: function(e, t, n) { return 1 === arguments.length ? this.off(e,'**'):this.off(t, e||'**', n) }, size: function() { return this.length }}), le.fn.andSelf = le.fn.addBack, i = [], r = function() { return le;}.apply(t, i), !(void 0 !== r && (e.exports = r)); var Bt = n.jQuery, Xt = n.$; return le.noConflict = function(e) { return n.$ === le && (n.$ = Xt), e && n.jQuery === le && (n.jQuery = Bt), le;}, o || (n.jQuery = n.$ = le), le;}) },, function(e, t, n) { var i = n(2); n(5), e.exports = function(e, t) { var n, r = {effect:'fadeIn', effect_speed: 10, placeholder:'data:image/gif;base64,R0lGODlhAQABAJEAAAAAAP///93d3f///yH5BAEAAAMALAAAAAABAAEAAAICVAEAOw==', skip_invisible: !1}, o = arguments.length; !function() { switch (o) { case 0:n = i('img.lazy'); break; case 1:e instanceof i ? n = e:(n = i('img.lazy'), i.extend(r, e)); break; case 2:n = e, r = i.extend(r, t);} }(), n.lazyload(r) };}, function(e, t, n) { var i = n(2); !function(e, t, n, i) { var r = e(t); e.fn.lazyload = function(o) { function s() { var t = 0; u.each(function() { var n = e(this); if (!l.skip_invisible || n.is(':visible')) if (e.abovethetop(this, l) || e.leftofbegin(this, l))else if (e.belowthefold(this, l) || e.rightoffold(this, l)) { if (++t > l.failure_limit) return !1 } else n.trigger('appear'), t = 0;});} var a, u = this, l = {threshold: 0, failure_limit: 0, event:'scroll', effect:'show', container: t, data_attribute:'original', skip_invisible: !0, appear: null, load: null, yasPath:'/web/', yasImgDomain:'http://analytics.yhurl.com/yas.gif', placeholder:'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB/AAffA0nNPuCLAAAAAElFTkSuQmCC', try_again_css: null}; return o && (i !== o.failurelimit && (o.failure_limit = o.failurelimit, delete o.failurelimit), i !== o.effectspeed && (o.effect_speed = o.effectspeed, delete o.effectspeed), e.extend(l, o)), a = l.container === i || l.container === t ? r:e(l.container), 0 === l.event.indexOf('scroll') && a.bind(l.event, function() { return s();}), this.each(function() { var t = this, n = e(t); t.loaded = !1, n.attr('src') !== i && n.attr('src') !== !1 && "" !== n.attr('src') || n.is('img') && n.attr('src', l.placeholder), n.one('appear', function() { if (n.timerid && clearTimeout(n.timerid), !this.loaded) { if (l.appear) { var i = u.length; l.appear.call(t, i, l);}e('<img />').bind('error abort', function() { n.attr('src', l.placeholder), o({info:'error'});}).bind('load', function() { if (!n.loadtimeout) { clearTimeout(n.timerid), n.attr('pfmrpt'); var i = n.attr("data-" + l.data_attribute); n.hide(), n.is('img') ? n.attr('src', i):n.css('background-image', "url('" + i+'\')'), n[l.effect](l.effect_speed), t.loaded = !0; var r = e.grep(u, function(e) { return !e.loaded;}); if (u = e(r), l.load) { var o = u.length; l.load.call(t, o, l) } } }).attr('src', n.attr("data-" + l.data_attribute)), n.src = n.attr("data-" + l.data_attribute), n.attr('pfmrpt') && _yas && _yas.add; var r = function(e) { n.loadtimeout = !0, n.attr('pfmrpt') && _yas && _yas.add && e.info, n.attr('src',''), setTimeout(function() { n.attr('src', n.src);}, 50) }, o = function(t) { n.loadtimeout = !0, n.attr('pfmrpt') && _yas && _yas.add && t.info; var i = n.width(), o = n.height(); if (l.try_again_css) var s = e("<div class=" + l.try_again_css + " style='width:" + i + "px;height:" + o+'px;\'></div>'); else var s = e("<div style='background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB/AAffA0nNPuCLAAAAAElFTkSuQmCC) ;text-align: center;position:relative;width:" + i + "px;height:" + o+'px;background-size:100%;\'>加载失败</div>'); s.addClass(n.attr('class')), n.replaceWith(s), n.timerid = setTimeout(r, 5e3) };} }), 0 !== l.event.indexOf('scroll') && n.bind(l.event, function() { t.loaded || n.trigger('appear');}) }), r.bind('resize', function() { s() }), /(?:iphone|ipod|ipad).*os 5/gi.test(navigator.appVersion) && r.bind('pageshow', function(t) { t.originalEvent && t.originalEvent.persisted && u.each(function() { e(this).trigger('appear');}) }), e(n).ready(function() { s() }), this;}, e.belowthefold = function(n, o) { var s; return s = o.container === i || o.container === t ? (t.innerHeight ? t.innerHeight:r.height()) + r.scrollTop():e(o.container).offset().top + e(o.container).height(), s <= e(n).offset().top - o.threshold;}, e.rightoffold = function(n, o) { var s; return s = o.container === i || o.container === t ? r.width() + r.scrollLeft():e(o.container).offset().left + e(o.container).width(), s <= e(n).offset().left - o.threshold }, e.abovethetop = function(n, o) { var s; return s = o.container === i || o.container === t ? r.scrollTop():e(o.container).offset().top, s >= e(n).offset().top + o.threshold + e(n).height();}, e.leftofbegin = function(n, o) { var s; return s = o.container === i || o.container === t ? r.scrollLeft():e(o.container).offset().left, s >= e(n).offset().left + o.threshold + e(n).width() }, e.inviewport = function(t, n) { return !(e.rightoffold(t, n) || e.leftofbegin(t, n) || e.belowthefold(t, n) || e.abovethetop(t, n)) } }(i, window, document);},,, function(e, t, n) { function i(e) { var t, n, i = document.cookie; return document.cookie && "" !== document.cookie && (n = i.indexOf(e+'='), n > -1 && (n += e.length + 1, t = decodeURIComponent(d.trim(i.substring(n, i.indexOf(';', n)))))), t;} function r(e, t, n) { var i, r, o, s, a=''; "undefined" != typeof t && (n = n || {}, null === t && (t='', n.expires = -1), n.expires && ("number" == typeof n.expires || n.expires.toUTCString) && ("number" == typeof n.expires ? (s = new Date, s.setTime(s.getTime() + 24 * n.expires * 60 * 60 * 1e3)):s = n.expires, a = "; expires=" + s.toUTCString()), i = n.path ? "; path=" + n.path:'', r = n.domain ? "; domain=" + n.domain:'', o = n.secure?'; secure':'', document.cookie = [e,'=', encodeURIComponent(t), a, i, r, o].join('')) } function o() { var e = !!navigator.cookieEnabled; return "undefined" != typeof navigator.cookieEnabled || e || (document.cookie='testcookie', e = -1 !== document.cookie.indexOf('testcookie')), e } function s() { var e, t = i('_UID'); return "undefined" == typeof t ? 0:(e = t.split('::'), "undefined" == typeof e || e.length < 4 ? 0:e);} function a() { var e = s(); return 0 === e ? 0:e[1] } function u() { var e = i('_g'); return "undefined" == typeof e?'':JSON.parse(e).k } function l() { var e; 0 !== g.length && (e = Math.min(d(window).height(), window.screen.availHeight), d('body').height() <= e - parseInt(g.css('height'), 0) ? g.addClass('bottom'):g.removeClass('bottom')) } function c(e) { var t = d(e).outerHeight(); e && g.css('margin-bottom', t+'px');} function f() { var e, t, n = [], i = window.location.search.slice(1).split('&'); for (t = 0; t < i.length; t++)e = i[t].split('='), n.push(e[0]), n[e[0]] = e[1]; return n;} function h(e) { return e.replace(/(\d{3})\d{4}(\d{4})/,'$1****$2') } var d = n(2), p = n(9), g = d('#yoho-footer'), v = d('.yoho-page'), m = d('.yoho-header'); !function() { var e, t = g.children('.op-row'), n = d('.back-to-top'), i = s(); l(), 0 === i ? t.prepend('<a href="http://m.yohobuy.com/signin.html?refer=' + location.href + '">登录</a><span class="sep-line">|</span><a href="http://m.yohobuy.com/reg.html">注册</a>'):t.prepend('<span>Hi,</span><a class="user-name" href="http://m.yohobuy.com/home?tmp=' + Math.random() + '">' + i[0] + '</a><a href="http://m.yohobuy.com/passport/signout/index">退出</a>'), n.length > 0 && (e = new p(n[0]), e.on('tap', function(e) { return d(window).scrollTop(0), e.srcEvent.preventDefault(), !1 })), g.removeClass('hide') }(), function(e, t, n, i, r) { var o = t.createElement(n), s = t.getElementsByTagName(n)[0]; e.YohoAcquisitionObject = r, e[r] = function() { e[r].p = arguments;}, o.async = 1, o.src = i, s.parentNode.insertBefore(o, s);}(window, document,'script','http://cdn.yoho.cn/yas-jssdk/1.0.14/yas.js','_yas'), function() { var e = a(); e = 0 === e?'':e, window._ozuid = e, window._yas && window._yas(1 * new Date,'1.0.14','yohobuy_m', e,'','');}(), m.on('touchstart','a', function() { m.find('a').removeClass('highlight'), d(this).addClass('highlight');}).on('touchend touchcancel','a', function() { d(this).removeClass('highlight');}), v.on('touchstart','.tap-hightlight', function() { d(this).siblings('.tap-hightlight').removeClass('highlight'), d(this).addClass('highlight') }).on('touchend touchcancel','.tap-hightlight', function() { d(this).removeClass('highlight') }), d('.nav-home').on('touchstart', function() { d('.homebuttom').toggleClass('hide') }), function() { var e, t, n = 0, i='webkit moz ms o'.split(' '), r = window.requestAnimationFrame, o = window.cancelAnimationFrame; for (t = 0; t < i.length && (!r || !o); t++)e = i[t], r = r || window[e+'RequestAnimationFrame'], o = o || window[e+'CancelAnimationFrame'] || window[e+'CancelRequestAnimationFrame']; r && o || (r = function(e) { var t = (new Date).getTime(), i = Math.max(0, 16 - (t - n)), r = window.setTimeout(function() { e(t + i) }, i); return n = t + i, r }, o = function(e) { window.clearTimeout(e);}), window.requestAnimationFrame = r, window.cancelAnimationFrame = o;}(), d.extend({queryString: f}), 11 === g.find('.user-name').text().length && g.find('.user-name').html(h(g.find('.user-name').text())), window.cookie = i, window.setCookie = r, window.isCookiesEnabled = o, window.getUser = s, window.getUid = a, window.getShoppingKey = u, window.rePosFooter = l, window.reMarginFooter = c, window.queryString = f() }, function(e, t, n) { var i;/* ! Hammer.JS - v2.0.7 - 2016-04-22
	 * http://hammerjs.github.io/
	 *
	 * Copyright (c) 2016 Jorik Tangelder;
	 * Licensed under the MIT license */
    !function(r, o, s, a) {'use strict'; function u(e, t, n) { return setTimeout(d(e, n), t);} function l(e, t, n) { return Array.isArray(e) ? (c(e, n[t], n), !0):!1 } function c(e, t, n) { var i; if (e) if (e.forEach)e.forEach(t, n); else if (e.length !== a) for (i = 0; i < e.length;)t.call(n, e[i], i, e), i++; else for (i in e)e.hasOwnProperty(i) && t.call(n, e[i], i, e) } function f(e, t, n) { var i = "DEPRECATED METHOD: " + t + "\n" + n+' AT \n'; return function() { var t = new Error('get-stack-trace'), n = t && t.stack ? t.stack.replace(/^[^\(]+?[\n$]/gm,'').replace(/^\s+at\s+/gm,'').replace(/^Object.<anonymous>\s*\(/gm,'{anonymous}()@'):'Unknown Stack Trace', o = r.console && (r.console.warn || r.console.log); return o && o.call(r.console, i, n), e.apply(this, arguments);};} function h(e, t, n) { var i, r = t.prototype; i = e.prototype = Object.create(r), i.constructor = e, i._super = r, n && ge(i, n);} function d(e, t) { return function() { return e.apply(t, arguments);};} function p(e, t) { return typeof e == ye ? e.apply(t ? t[0] || a:a, t):e } function g(e, t) { return e === a ? t:e } function v(e, t, n) { c(b(t), function(t) { e.addEventListener(t, n, !1) }) } function m(e, t, n) { c(b(t), function(t) { e.removeEventListener(t, n, !1);}) } function y(e, t) { for (;e;) { if (e == t) return !0; e = e.parentNode;} return !1 } function x(e, t) { return e.indexOf(t) > -1;} function b(e) { return e.trim().split(/\s+/g) } function w(e, t, n) { if (e.indexOf && !n) return e.indexOf(t); for (var i = 0; i < e.length;) { if (n && e[i][n] == t || !n && e[i] === t) return i; i++;} return -1;} function T(e) { return Array.prototype.slice.call(e, 0);} function C(e, t, n) { for (var i = [], r = [], o = 0; o < e.length;) { var s = t ? e[o][t]:e[o]; w(r, s) < 0 && i.push(e[o]), r[o] = s, o++ } return n && (i = t ? i.sort(function(e, n) { return e[t] > n[t] }):i.sort()), i } function A(e, t) { for (var n, i, r = t[0].toUpperCase() + t.slice(1), o = 0; o < ve.length;) { if (n = ve[o], i = n ? n + r:t, i in e) return i; o++;} return a;} function E() { return Ae++ } function S(e) { var t = e.ownerDocument || e; return t.defaultView || t.parentWindow || r } function k(e, t) { var n = this; this.manager = e, this.callback = t, this.element = e.element, this.target = e.options.inputTarget, this.domHandler = function(t) { p(e.options.enable, [e]) && n.handler(t) }, this.init() } function N(e) { var t, n = e.options.inputClass; return new(t = n ? n:ke ? z:Ne ? $:Se ? Y:W)(e, D) } function D(e, t, n) { var i = n.pointers.length, r = n.changedPointers.length, o = t & He && i - r === 0, s = t & (Pe | Ie) && i - r === 0; n.isFirst = !!o, n.isFinal = !!s, o && (e.session = {}), n.eventType = t, j(e, n), e.emit('hammer.input', n), e.recognize(n), e.session.prevInput = n;} function j(e, t) { var n = e.session, i = t.pointers, r = i.length; n.firstInput || (n.firstInput = F(t)), r > 1 && !n.firstMultiple ? n.firstMultiple = F(t):1 === r && (n.firstMultiple = !1); var o = n.firstInput, s = n.firstMultiple, a = s ? s.center:o.center, u = t.center = H(i); t.timeStamp = we(), t.deltaTime = t.timeStamp - o.timeStamp, t.angle = R(a, u), t.distance = I(a, u), q(n, t), t.offsetDirection = P(t.deltaX, t.deltaY); var l = O(t.deltaTime, t.deltaX, t.deltaY); t.overallVelocityX = l.x, t.overallVelocityY = l.y, t.overallVelocity = be(l.x) > be(l.y) ? l.x:l.y, t.scale = s ? M(s.pointers, i):1, t.rotation = s ? _(s.pointers, i):0, t.maxPointers = n.prevInput ? t.pointers.length > n.prevInput.maxPointers ? t.pointers.length:n.prevInput.maxPointers:t.pointers.length, L(n, t); var c = e.element; y(t.srcEvent.target, c) && (c = t.srcEvent.target), t.target = c } function q(e, t) { var n = t.center, i = e.offsetDelta || {}, r = e.prevDelta || {}, o = e.prevInput || {}; t.eventType !== He && o.eventType !== Pe || (r = e.prevDelta = {x: o.deltaX || 0, y: o.deltaY || 0}, i = e.offsetDelta = {x: n.x, y: n.y}), t.deltaX = r.x + (n.x - i.x), t.deltaY = r.y + (n.y - i.y) } function L(e, t) { var n, i, r, o, s = e.lastInterval || t, u = t.timeStamp - s.timeStamp; if (t.eventType != Ie && (u > Fe || s.velocity === a)) { var l = t.deltaX - s.deltaX, c = t.deltaY - s.deltaY, f = O(u, l, c); i = f.x, r = f.y, n = be(f.x) > be(f.y) ? f.x:f.y, o = P(l, c), e.lastInterval = t;} else n = s.velocity, i = s.velocityX, r = s.velocityY, o = s.direction; t.velocity = n, t.velocityX = i, t.velocityY = r, t.direction = o } function F(e) { for (var t = [], n = 0; n < e.pointers.length;)t[n] = {clientX: xe(e.pointers[n].clientX), clientY: xe(e.pointers[n].clientY)}, n++; return {timeStamp: we(), pointers: t, center: H(t), deltaX: e.deltaX, deltaY: e.deltaY};} function H(e) { var t = e.length; if (1 === t) return {x: xe(e[0].clientX), y: xe(e[0].clientY)}; for (var n = 0, i = 0, r = 0; t > r;)n += e[r].clientX, i += e[r].clientY, r++; return {x: xe(n / t), y: xe(i / t)} } function O(e, t, n) { return {x: t / e || 0, y: n / e || 0};} function P(e, t) { return e === t ? Re:be(e) >= be(t) ? 0 > e ? _e:Me:0 > t ? We:ze } function I(e, t, n) { n || (n = Ue); var i = t[n[0]] - e[n[0]], r = t[n[1]] - e[n[1]]; return Math.sqrt(i * i + r * r);} function R(e, t, n) { n || (n = Ue); var i = t[n[0]] - e[n[0]], r = t[n[1]] - e[n[1]]; return 180 * Math.atan2(r, i) / Math.PI;} function _(e, t) { return R(t[1], t[0], Ye) + R(e[1], e[0], Ye);} function M(e, t) { return I(t[0], t[1], Ye) / I(e[0], e[1], Ye);} function W() { this.evEl = Ge, this.evWin = Qe, this.pressed = !1, k.apply(this, arguments);} function z() { this.evEl = Ke, this.evWin = et, k.apply(this, arguments), this.store = this.manager.session.pointerEvents = [] } function B() { this.evTarget = nt, this.evWin = it, this.started = !1, k.apply(this, arguments) } function X(e, t) { var n = T(e.touches), i = T(e.changedTouches); return t & (Pe | Ie) && (n = C(n.concat(i),'identifier', !0)), [n, i];} function $() { this.evTarget = ot, this.targetIds = {}, k.apply(this, arguments);} function U(e, t) { var n = T(e.touches), i = this.targetIds; if (t & (He | Oe) && 1 === n.length) return i[n[0].identifier] = !0, [n, n]; var r, o, s = T(e.changedTouches), a = [], u = this.target; if (o = n.filter(function(e) { return y(e.target, u);}), t === He) for (r = 0; r < o.length;)i[o[r].identifier] = !0, r++; for (r = 0; r < s.length;)i[s[r].identifier] && a.push(s[r]), t & (Pe | Ie) && delete i[s[r].identifier], r++; return a.length ? [C(o.concat(a),'identifier', !0), a]:void 0;} function Y() { k.apply(this, arguments); var e = d(this.handler, this); this.touch = new $(this.manager, e), this.mouse = new W(this.manager, e), this.primaryTouch = null, this.lastTouches = [] } function V(e, t) { e & He ? (this.primaryTouch = t.changedPointers[0].identifier, G.call(this, t)):e & (Pe | Ie) && G.call(this, t) } function G(e) { var t = e.changedPointers[0]; if (t.identifier === this.primaryTouch) { var n = {x: t.clientX, y: t.clientY}; this.lastTouches.push(n); var i = this.lastTouches, r = function() { var e = i.indexOf(n); e > -1 && i.splice(e, 1) }; setTimeout(r, st) } } function Q(e) { for (var t = e.srcEvent.clientX, n = e.srcEvent.clientY, i = 0; i < this.lastTouches.length; i++) { var r = this.lastTouches[i], o = Math.abs(t - r.x), s = Math.abs(n - r.y); if (at >= o && at >= s) return !0 } return !1;} function J(e, t) { this.manager = e, this.set(t);} function Z(e) { if (x(e, dt)) return dt; var t = x(e, pt), n = x(e, gt); return t && n ? dt:t || n ? t ? pt:gt:x(e, ht) ? ht:ft;} function K() { if (!lt) return !1; var e = {}, t = r.CSS && r.CSS.supports; return ['auto','manipulation','pan-y','pan-x','pan-x pan-y','none'].forEach(function(n) { e[n] = t ? r.CSS.supports('touch-action', n):!0;}), e;} function ee(e) { this.options = ge({}, this.defaults, e || {}), this.id = E(), this.manager = null, this.options.enable = g(this.options.enable, !0), this.state = mt, this.simultaneous = {}, this.requireFail = [] } function te(e) { return e & Tt?'cancel':e & bt?'end':e & xt?'move':e & yt?'start':"";} function ne(e) { return e == ze?'down':e == We?'up':e == _e?'left':e == Me?'right':"";} function ie(e, t) { var n = t.manager; return n ? n.get(e):e;} function re() { ee.apply(this, arguments) } function oe() { re.apply(this, arguments), this.pX = null, this.pY = null;} function se() { re.apply(this, arguments);} function ae() { ee.apply(this, arguments), this._timer = null, this._input = null;} function ue() { re.apply(this, arguments);} function le() { re.apply(this, arguments) } function ce() { ee.apply(this, arguments), this.pTime = !1, this.pCenter = !1, this._timer = null, this._input = null, this.count = 0 } function fe(e, t) { return t = t || {}, t.recognizers = g(t.recognizers, fe.defaults.preset), new he(e, t);} function he(e, t) { this.options = ge({}, fe.defaults, t || {}), this.options.inputTarget = this.options.inputTarget || e, this.handlers = {}, this.session = {}, this.recognizers = [], this.oldCssProps = {}, this.element = e, this.input = N(this), this.touchAction = new J(this, this.options.touchAction), de(this, !0), c(this.options.recognizers, function(e) { var t = this.add(new e[0](e[1])); e[2] && t.recognizeWith(e[2]), e[3] && t.requireFailure(e[3]);}, this) } function de(e, t) { var n = e.element; if (n.style) { var i; c(e.options.cssProps, function(r, o) { i = A(n.style, o), t ? (e.oldCssProps[i] = n.style[i], n.style[i] = r):n.style[i] = e.oldCssProps[i] || "";}), t || (e.oldCssProps = {});} } function pe(e, t) { var n = o.createEvent('Event'); n.initEvent(e, !0, !0), n.gesture = t, t.target.dispatchEvent(n);} var ge, ve = ['','webkit','Moz','MS','ms','o'], me = o.createElement('div'), ye='function', xe = Math.round, be = Math.abs, we = Date.now; ge = "function" != typeof Object.assign ? function(e) { if (e === a || null === e) throw new TypeError('Cannot convert undefined or null to object'); for (var t = Object(e), n = 1; n < arguments.length; n++) { var i = arguments[n]; if (i !== a && null !== i) for (var r in i)i.hasOwnProperty(r) && (t[r] = i[r]) } return t;}:Object.assign; var Te = f(function(e, t, n) { for (var i = Object.keys(t), r = 0; r < i.length;)(!n || n && e[i[r]] === a) && (e[i[r]] = t[i[r]]), r++; return e;},'extend','Use `assign`.'), Ce = f(function(e, t) { return Te(e, t, !0) },'merge','Use `assign`.'), Ae = 1, Ee = /mobile|tablet|ip(ad|hone|od)|android/i, Se='ontouchstart'in r, ke = A(r,'PointerEvent') !== a, Ne = Se && Ee.test(navigator.userAgent), De='touch', je='pen', qe='mouse', Le='kinect', Fe = 25, He = 1, Oe = 2, Pe = 4, Ie = 8, Re = 1, _e = 2, Me = 4, We = 8, ze = 16, Be = _e | Me, Xe = We | ze, $e = Be | Xe, Ue = ['x','y'], Ye = ['clientX','clientY']; k.prototype = {handler: function() {}, init: function() { this.evEl && v(this.element, this.evEl, this.domHandler), this.evTarget && v(this.target, this.evTarget, this.domHandler), this.evWin && v(S(this.element), this.evWin, this.domHandler);}, destroy: function() { this.evEl && m(this.element, this.evEl, this.domHandler), this.evTarget && m(this.target, this.evTarget, this.domHandler), this.evWin && m(S(this.element), this.evWin, this.domHandler) }}; var Ve = {mousedown: He, mousemove: Oe, mouseup: Pe}, Ge='mousedown', Qe='mousemove mouseup'; h(W, k, {handler: function(e) { var t = Ve[e.type]; t & He && 0 === e.button && (this.pressed = !0), t & Oe && 1 !== e.which && (t = Pe), this.pressed && (t & Pe && (this.pressed = !1), this.callback(this.manager, t, {pointers: [e], changedPointers: [e], pointerType: qe, srcEvent: e}));}}); var Je = {pointerdown: He, pointermove: Oe, pointerup: Pe, pointercancel: Ie, pointerout: Ie}, Ze = {2: De, 3: je, 4: qe, 5: Le}, Ke='pointerdown', et='pointermove pointerup pointercancel'; r.MSPointerEvent && !r.PointerEvent && (Ke='MSPointerDown', et='MSPointerMove MSPointerUp MSPointerCancel'), h(z, k, {handler: function(e) { var t = this.store, n = !1, i = e.type.toLowerCase().replace('ms',''), r = Je[i], o = Ze[e.pointerType] || e.pointerType, s = o == De, a = w(t, e.pointerId,'pointerId'); r & He && (0 === e.button || s) ? 0 > a && (t.push(e), a = t.length - 1):r & (Pe | Ie) && (n = !0), 0 > a || (t[a] = e, this.callback(this.manager, r, {pointers: t, changedPointers: [e], pointerType: o, srcEvent: e}), n && t.splice(a, 1));}}); var tt = {touchstart: He, touchmove: Oe, touchend: Pe, touchcancel: Ie}, nt='touchstart', it='touchstart touchmove touchend touchcancel'; h(B, k, {handler: function(e) { var t = tt[e.type]; if (t === He && (this.started = !0), this.started) { var n = X.call(this, e, t); t & (Pe | Ie) && n[0].length - n[1].length === 0 && (this.started = !1), this.callback(this.manager, t, {pointers: n[0], changedPointers: n[1], pointerType: De, srcEvent: e}) } }}); var rt = {touchstart: He, touchmove: Oe, touchend: Pe, touchcancel: Ie}, ot='touchstart touchmove touchend touchcancel'; h($, k, {handler: function(e) { var t = rt[e.type], n = U.call(this, e, t); n && this.callback(this.manager, t, {pointers: n[0], changedPointers: n[1], pointerType: De, srcEvent: e}) }}); var st = 2500, at = 25; h(Y, k, {handler: function(e, t, n) { var i = n.pointerType == De, r = n.pointerType == qe; if (!(r && n.sourceCapabilities && n.sourceCapabilities.firesTouchEvents)) { if (i)V.call(this, t, n); else if (r && Q.call(this, n)) return; this.callback(e, t, n);} }, destroy: function() { this.touch.destroy(), this.mouse.destroy();}}); var ut = A(me.style,'touchAction'), lt = ut !== a, ct='compute', ft='auto', ht='manipulation', dt='none', pt='pan-x', gt='pan-y', vt = K(); J.prototype = {set: function(e) { e == ct && (e = this.compute()), lt && this.manager.element.style && vt[e] && (this.manager.element.style[ut] = e), this.actions = e.toLowerCase().trim();}, update: function() { this.set(this.manager.options.touchAction);}, compute: function() { var e = []; return c(this.manager.recognizers, function(t) { p(t.options.enable, [t]) && (e = e.concat(t.getTouchAction()));}), Z(e.join(' '));}, preventDefaults: function(e) { var t = e.srcEvent, n = e.offsetDirection; if (this.manager.session.prevented) return void t.preventDefault(); var i = this.actions, r = x(i, dt) && !vt[dt], o = x(i, gt) && !vt[gt], s = x(i, pt) && !vt[pt]; if (r) { var a = 1 === e.pointers.length, u = e.distance < 2, l = e.deltaTime < 250; if (a && u && l) return } return s && o ? void 0:r || o && n & Be || s && n & Xe ? this.preventSrc(t):void 0 }, preventSrc: function(e) { this.manager.session.prevented = !0, e.preventDefault() }}; var mt = 1, yt = 2, xt = 4, bt = 8, wt = bt, Tt = 16, Ct = 32; ee.prototype = {defaults: {}, set: function(e) { return ge(this.options, e), this.manager && this.manager.touchAction.update(), this }, recognizeWith: function(e) { if (l(e,'recognizeWith', this)) return this; var t = this.simultaneous; return e = ie(e, this), t[e.id] || (t[e.id] = e, e.recognizeWith(this)), this;}, dropRecognizeWith: function(e) { return l(e,'dropRecognizeWith', this) ? this:(e = ie(e, this), delete this.simultaneous[e.id], this);}, requireFailure: function(e) { if (l(e,'requireFailure', this)) return this; var t = this.requireFail; return e = ie(e, this), -1 === w(t, e) && (t.push(e), e.requireFailure(this)), this }, dropRequireFailure: function(e) { if (l(e,'dropRequireFailure', this)) return this; e = ie(e, this); var t = w(this.requireFail, e); return t > -1 && this.requireFail.splice(t, 1), this;}, hasRequireFailures: function() { return this.requireFail.length > 0;}, canRecognizeWith: function(e) { return !!this.simultaneous[e.id];}, emit: function(e) { function t(t) { n.manager.emit(t, e) } var n = this, i = this.state; bt > i && t(n.options.event + te(i)), t(n.options.event), e.additionalEvent && t(e.additionalEvent), i >= bt && t(n.options.event + te(i)) }, tryEmit: function(e) { return this.canEmit() ? this.emit(e):void(this.state = Ct);}, canEmit: function() { for (var e = 0; e < this.requireFail.length;) { if (!(this.requireFail[e].state & (Ct | mt))) return !1; e++ } return !0 }, recognize: function(e) { var t = ge({}, e); return p(this.options.enable, [this, t]) ? (this.state & (wt | Tt | Ct) && (this.state = mt), this.state = this.process(t), void(this.state & (yt | xt | bt | Tt) && this.tryEmit(t))):(this.reset(), void(this.state = Ct));}, process: function(e) {}, getTouchAction: function() {}, reset: function() {}}, h(re, ee, {defaults: {pointers: 1}, attrTest: function(e) { var t = this.options.pointers; return 0 === t || e.pointers.length === t }, process: function(e) { var t = this.state, n = e.eventType, i = t & (yt | xt), r = this.attrTest(e); return i && (n & Ie || !r) ? t | Tt:i || r ? n & Pe ? t | bt:t & yt ? t | xt:yt:Ct }}), h(oe, re, {defaults: {event:'pan', threshold: 10, pointers: 1, direction: $e}, getTouchAction: function() { var e = this.options.direction, t = []; return e & Be && t.push(gt), e & Xe && t.push(pt), t }, directionTest: function(e) { var t = this.options, n = !0, i = e.distance, r = e.direction, o = e.deltaX, s = e.deltaY; return r & t.direction || (t.direction & Be ? (r = 0 === o ? Re:0 > o ? _e:Me, n = o != this.pX, i = Math.abs(e.deltaX)):(r = 0 === s ? Re:0 > s ? We:ze, n = s != this.pY, i = Math.abs(e.deltaY))), e.direction = r, n && i > t.threshold && r & t.direction;}, attrTest: function(e) { return re.prototype.attrTest.call(this, e) && (this.state & yt || !(this.state & yt) && this.directionTest(e));}, emit: function(e) { this.pX = e.deltaX, this.pY = e.deltaY; var t = ne(e.direction); t && (e.additionalEvent = this.options.event + t), this._super.emit.call(this, e);}}), h(se, re, {defaults: {event:'pinch', threshold: 0, pointers: 2}, getTouchAction: function() { return [dt] }, attrTest: function(e) { return this._super.attrTest.call(this, e) && (Math.abs(e.scale - 1)> this.options.threshold || this.state & yt);}, emit: function(e) { if (1 !== e.scale) { var t = e.scale < 1?'in':'out'; e.additionalEvent = this.options.event + t } this._super.emit.call(this, e);}}), h(ae, ee, {defaults: {event:'press', pointers: 1, time: 251, threshold: 9}, getTouchAction: function() { return [ft] }, process: function(e) { var t = this.options, n = e.pointers.length === t.pointers, i = e.distance < t.threshold, r = e.deltaTime > t.time; if (this._input = e, !i || !n || e.eventType & (Pe | Ie) && !r) this.reset(); else if (e.eventType & He) this.reset(), this._timer = u(function() { this.state = wt, this.tryEmit() }, t.time, this); else if (e.eventType & Pe) return wt; return Ct;}, reset: function() { clearTimeout(this._timer) }, emit: function(e) { this.state === wt && (e && e.eventType & Pe ? this.manager.emit(this.options.event+'up', e):(this._input.timeStamp = we(), this.manager.emit(this.options.event, this._input))) }}), h(ue, re, {defaults: {event:'rotate', threshold: 0, pointers: 2}, getTouchAction: function() { return [dt];}, attrTest: function(e) { return this._super.attrTest.call(this, e) && (Math.abs(e.rotation)> this.options.threshold || this.state & yt) }}), h(le, re, {defaults: {event:'swipe', threshold: 10, velocity: .3, direction: Be | Xe, pointers: 1}, getTouchAction: function() { return oe.prototype.getTouchAction.call(this) }, attrTest: function(e) { var t, n = this.options.direction; return n & (Be | Xe) ? t = e.overallVelocity:n & Be ? t = e.overallVelocityX:n & Xe && (t = e.overallVelocityY), this._super.attrTest.call(this, e) && n & e.offsetDirection && e.distance> this.options.threshold && e.maxPointers == this.options.pointers && be(t)> this.options.velocity && e.eventType & Pe }, emit: function(e) { var t = ne(e.offsetDirection); t && this.manager.emit(this.options.event + t, e), this.manager.emit(this.options.event, e) }}), h(ce, ee, {defaults: {event:'tap', pointers: 1, taps: 1, interval: 300, time: 250, threshold: 9, posThreshold: 10}, getTouchAction: function() { return [ht];}, process: function(e) { var t = this.options, n = e.pointers.length === t.pointers, i = e.distance < t.threshold, r = e.deltaTime < t.time; if (this.reset(), e.eventType & He && 0 === this.count) return this.failTimeout(); if (i && r && n) { if (e.eventType != Pe) return this.failTimeout(); var o = this.pTime ? e.timeStamp - this.pTime < t.interval:!0, s = !this.pCenter || I(this.pCenter, e.center) < t.posThreshold; this.pTime = e.timeStamp, this.pCenter = e.center, s && o ? this.count += 1:this.count = 1, this._input = e; var a = this.count % t.taps; if (0 === a) return this.hasRequireFailures() ? (this._timer = u(function() { this.state = wt, this.tryEmit();}, t.interval, this), yt):wt } return Ct;}, failTimeout: function() { return this._timer = u(function() { this.state = Ct }, this.options.interval, this), Ct }, reset: function() { clearTimeout(this._timer) }, emit: function() { this.state == wt && (this._input.tapCount = this.count, this.manager.emit(this.options.event, this._input)) }}), fe.VERSION='2.0.7', fe.defaults = {domEvents: !1, touchAction: ct, enable: !0, inputTarget: null, inputClass: null, preset: [[ue, {enable: !1}], [se, {enable: !1}, ['rotate']], [le, {direction: Be}], [oe, {direction: Be}, ['swipe']], [ce], [ce, {event:'doubletap', taps: 2}, ['tap']], [ae]], cssProps: {userSelect:'none', touchSelect:'none', touchCallout:'none', contentZooming:'none', userDrag:'none', tapHighlightColor:'rgba(0,0,0,0)'}}; var At = 1, Et = 2; he.prototype = {set: function(e) { return ge(this.options, e), e.touchAction && this.touchAction.update(), e.inputTarget && (this.input.destroy(), this.input.target = e.inputTarget, this.input.init()), this;}, stop: function(e) { this.session.stopped = e ? Et:At;}, recognize: function(e) { var t = this.session; if (!t.stopped) { this.touchAction.preventDefaults(e); var n, i = this.recognizers, r = t.curRecognizer; (!r || r && r.state & wt) && (r = t.curRecognizer = null); for (var o = 0; o < i.length;)n = i[o], t.stopped === Et || r && n != r && !n.canRecognizeWith(r) ? n.reset():n.recognize(e), !r && n.state & (yt | xt | bt) && (r = t.curRecognizer = n), o++;} }, get: function(e) { if (e instanceof ee) return e; for (var t = this.recognizers, n = 0; n < t.length; n++) if (t[n].options.event == e) return t[n]; return null }, add: function(e) { if (l(e,'add', this)) return this; var t = this.get(e.options.event); return t && this.remove(t), this.recognizers.push(e), e.manager = this, this.touchAction.update(), e;}, remove: function(e) { if (l(e,'remove', this)) return this; if (e = this.get(e)) { var t = this.recognizers, n = w(t, e); -1 !== n && (t.splice(n, 1), this.touchAction.update()) } return this }, on: function(e, t) { if (e !== a && t !== a) { var n = this.handlers; return c(b(e), function(e) { n[e] = n[e] || [], n[e].push(t);}), this } }, off: function(e, t) { if (e !== a) { var n = this.handlers; return c(b(e), function(e) { t ? n[e] && n[e].splice(w(n[e], t), 1):delete n[e] }), this } }, emit: function(e, t) { this.options.domEvents && pe(e, t); var n = this.handlers[e] && this.handlers[e].slice(); if (n && n.length) { t.type = e, t.preventDefault = function() { t.srcEvent.preventDefault();}; for (var i = 0; i < n.length;)n[i](t), i++;} }, destroy: function() { this.element && de(this, !1), this.handlers = {}, this.session = {}, this.input.destroy(), this.element = null }}, ge(fe, {INPUT_START: He, INPUT_MOVE: Oe, INPUT_END: Pe, INPUT_CANCEL: Ie, STATE_POSSIBLE: mt, STATE_BEGAN: yt, STATE_CHANGED: xt, STATE_ENDED: bt, STATE_RECOGNIZED: wt, STATE_CANCELLED: Tt, STATE_FAILED: Ct, DIRECTION_NONE: Re, DIRECTION_LEFT: _e, DIRECTION_RIGHT: Me, DIRECTION_UP: We, DIRECTION_DOWN: ze, DIRECTION_HORIZONTAL: Be, DIRECTION_VERTICAL: Xe, DIRECTION_ALL: $e, Manager: he, Input: k, TouchAction: J, TouchInput: $, MouseInput: W, PointerEventInput: z, TouchMouseInput: Y, SingleTouchInput: B, Recognizer: ee, AttrRecognizer: re, Tap: ce, Pan: oe, Swipe: le, Pinch: se, Rotate: ue, Press: ae, on: v, off: m, each: c, merge: Ce, extend: Te, assign: ge, inherit: h, bindFn: d, prefixed: A}); var St = "undefined" != typeof r ? r:"undefined" != typeof self ? self:{}; St.Hammer = fe, i = function() { return fe }.call(t, n, t, e), !(i !== a && (e.exports = i)) }(window, document,'Hammer');},, function(e, t, n) { function i(e, t) { var n, i; "undefined" != typeof e && (n = e.toString(), i = t && t > 0 ? t:2e3, r.text(n).show(), o = setTimeout(function() { "block" === r.css('display') && r.hide();}, i));} var r, o, s = n(2); !function() { var e = '<div id="yoho-tip" class="yoho-tip"></div>'; s('.yoho-page').append(e), r = s('#yoho-tip'), r.on('touchend', function() { r.hide(), clearTimeout(o);}) }(), t.show = i }, function(e, t, n) { function i(e) { var t = '<div class="loading-mask hide"><div class="loading"><div></div><div></div><div></div></div></div>'; l = !0, e || (e = u), e.append(t), s = e.children('.loading-mask');} function r() { l || (i(), l = !0), s.removeClass('hide') } function o() { s.addClass('hide') } var s, a = n(2), u = a('.yoho-page'), l = !1; t.init = i, t.showLoadingMask = r, t.hideLoadingMask = o, t.show = r, t.hide = o },, function(e, t) { t.init = function() { Element.prototype.getText = function() { return void 0 == this.innerText ? this.textContent:this.innerText;}, Element.prototype.setText = function(e) { void 0 == this.innerText ? this.textContent = e||'':this.innerText = e || "";}, Element.prototype.getFinalStyle = function(e, t) { var n; return n = window.getComputedStyle ? window.getComputedStyle(this, null)[e]:this.currentStyle[e], void 0 != t && (n = n * t+'px'), n.substring(0, n.toString().length - 2);}, Element.prototype.mlellipsis = function(e) { var t = this.getText(), n = this.getAttribute('title'); null == n ? this.setAttribute('title', t):this.setText(n); var i = this.getFinalStyle('fontSize'); if (/msie/i.test(navigator.userAgent)) var r = this.getFinalStyle('lineHeight', i); else var r = this.getFinalStyle('lineHeight'); var o = Math.floor(this.clientHeight); "norm" == r ? (r = Number(1.5 * i), this.setAttribute('style', "line-height:" + r+'px')):r = Number(r); var s = e * r; if (o >= s) { for (t = this.getText(); 3 * s < this.clientHeight;) this.setText(t.substring(0, t.length / 2)), t = this.getText(); for (;this.clientHeight - s > r - 1 && (t = this.getText(), !(t.length < 3));) this.setText(t.replace(/(\s)*([a-zA-Z0-9]+|\W)(\.\.\.)?$/,'...')) } }, Element.prototype.getTextLineNumber = function(e) { var t = this.getText(), n = this.getAttribute('title'); null == n ? this.setAttribute('title', t):this.setText(n); var i = this.getFinalStyle('fontSize'); if (/msie/i.test(navigator.userAgent)) var r = this.getFinalStyle('lineHeight', i); else var r = this.getFinalStyle('lineHeight'); var o = this.clientHeight; return "norm" == r ? (r = Number(1.5 * i), this.setAttribute('style', "line-height:" + r+'px')):r = Number(r), o / r;} };},,,, function(e, t, n) { function i() { h.addClass('hide') } function r() { h.removeClass('hide');} function o() { var e = g('.filter-body .classify'); e.on('touchstart','.shower', function() { e.removeClass('highlight'), g(this).addClass('highlight');}).on('touchend touchcancel','.shower', function() { g(this).removeClass('highlight') }) } function s() { var e = g('.filter-body .sub-item'); e.on('touchstart', function() { e.removeClass('highlight'), g(this).addClass('highlight');}).on('touchend touchcancel', function() { g(this).removeClass('highlight');}) } function a(e) { e.hasClass('active') || (e.siblings('.active').removeClass('active'), e.addClass('active'));} function u(e) { var t, n, i = e.closest('.sub-classify'), r = i.siblings('.shower'); return e.hasClass('chosed') ? i:(i.children('.chosed').removeClass('chosed'), e.addClass('chosed'), t = g.trim(e.html()), n = g.trim(r.html()), r.html(n.substring(0, n.indexOf('</span>') + 7) + t.substring(0, t.indexOf('<i'))), 0 === e.index() ? r.addClass('default'):r.removeClass('default'), i);} function l(e) { var t, n = e.data('id'); t = u(e), d && d({type: t.data('type'), id: n}), p && p(), i() } function c(e) { var t; d = e.fCbFn, p = e.hCbFn, window.missStatus = e.missStatus, o(), s(), h = g('.filter-mask'), t = new v(h[0]), t.on('tap', function(e) { var t, n = g(e.target); e.preventDefault(), n.closest('.filter-body').length > 0 ? (t = n.closest('.sub-item'), t.length > 0 ? (t = n.closest('li'), l(t)):(t = n.closest('.classify-item'), e.srcEvent.stopPropagation(), a(t))):(i(), p && p()) });} function f() { "undefined" != typeof h && (g('.sub-classify').each(function() { u(g(this).children(':first-child')) }), a(g('.classify > :first-child')));} var h, d, p, g = n(2), v = n(9); t.initFilter = c, t.showFilter = r, t.hideFilter = i, t.resetFilter = f }, function(e, t, n) { var i = n(2), r = {}; i('.query-param').each(function() { var e = i(this); r[e.data('attr')] = e.val() }), e.exports = r }, function(e, t, n) { var i = n(2), r = i('#suspend-cart'); i.ajax({type:'GET', url:'/cart/index/count', success: function(e) { var t; 200 === e.code && (t = e.data.cart_goods_count, t > 99 && (t='99+'), 0 === t && i('.cart-count').remove(), r.find('.cart-count').html(t).removeClass('hide')) }});},,,,,,,,,, function(e, t, n) { function i(e) { var t = new RegExp("(^|&)" + e+'=([^&]*)(&|$)'), n = window.location.search.substr(1).match(t); return null !== n ? n[2]:null } function r(e) { var t; return e.hasClass('new') ? t='newest':e.hasClass('price') ? t='price':e.hasClass('discount') ? t='discount':e.hasClass('sale') ? t='sale':e.hasClass('all') && (t='all'), t } function o(e) { var t, n, i, o, s, l = {}; if (!a) { if (e) { for (n in A)A.hasOwnProperty(n) && (A[n].reload = !0); switch (C.children('.active').removeClass('active'), E.addClass('active'), e.type) { case'gender':t = {gender: e.id}; break; case'brand':t = {brand: e.id}; break; case'sort':t = {sort: e.id}; break; case'color':t = {color: e.id}; break; case'size':t = {size: e.id}; break; case'price':t = {price: e.id}; break; case'discount':t = {discount: e.id}; break; case'p_d':t = {p_d: e.id} }u.extend(T, t) } if (o = r(E), i = A[o], s = i.page + 1, i.reload)s = 1; else if (i.end) return; u('.sale-vip-page').length > 0 ? T.saleType = 2:u('.sale-channel-page').length > 0 && (T.saleType = 3), u.extend(l, T, {type: o, order: i.order, page: s}), a = !0, d.showLoadingMask(), u.ajax({type:'GET', url:'/product/sale/search', data: l, success: function(e) { var t, n; switch (o) { case'newest':t = g; break; case'price':t = m; break; case'discount':t = v; break; case'sale':t = x; break; case'all':t = y;}t.hasClass('hide') && (t.siblings().addClass('hide'), t.removeClass('hide')), "" === e ? (i.end = !0, i.reload && t.html(w)):i.reload ? (t.html(e), c(t.find('.lazy'))):(n = t.find('.good-info').length, t.append(e), c(t.find(".good-info:gt(" + (n - 1)+') .lazy'))), i.reload = !1, i.page = s, a = !1, d.hideLoadingMask(), window.rePosFooter(), u('.good-detail-text .name').each(function() { var e = u(this), t = e.find('a'); t[0].mlellipsis(2) }) }, error: function() { f.show('网络断开连接了~'), a = !1, d.hideLoadingMask() }});} } function s() { u(window).scrollTop() + b > u(document).height() - .25 * p.height() - 50 && "undefined" != typeof E && o();} var a, u = n(2), l = n(14), c = n(4), f = n(11), h = n(18), d = n(12), p = u('#goods-container'), g = p.find('.new-goods'), v = p.find('.discount-goods'), m = p.find('.price-goods'), y = p.find('.all-goods'), x = p.find('.sale-goods'), b = u(window).height(), w = '<p class="no-result">未找到相关搜索结果</p>', T = n(19), C = u('#list-nav'), A = {all: {order: 1, reload: !0, page: 0, end: !1}, newest: {order: 1, reload: !0, page: 0, end: !1}, price: {order: 1, reload: !0, page: 0, end: !1}, discount: {order: 1, reload: !0, page: 0, end: !1}, sale: {order: 0, reload: !0, page: 0, end: !1}}, E = C.find('.active'); n(20), n(8), l.init(), c(u('img.lazy')), u.extend(T, {yhChannel: i('channel')}), u.ajax({type:'GET', url:'/product/sale/filter', data: T, success: function(e) { p.append(e), h.initFilter({fCbFn: o, hCbFn: function() { E.addClass('active'), E.siblings('.filter').removeClass('active');}, missStatus: !0});}}), c(u('.lazy')), C.bind('contextmenu', function() { return !1 }), C.on('touchend touchcancel', function(e) { var t, n, i, s = u(e.target).closest('li'); if (e.preventDefault(), "undefined" != typeof s && 0 !== s.length) { if (s.hasClass('filter'))s.hasClass('active') ? (h.hideFilter(), E.addClass('active'), s.removeClass('active')):(E = s.siblings('.active'), E.removeClass('active'), s.addClass('active'), h.showFilter()); else { if (n = r(s), t = A[n], s.hasClass('active')) { if (s.hasClass('new') || s.hasClass('sale') || s.hasClass('all')) return; (s.hasClass('price') || s.hasClass('discount')) && (s.find('.icon > .iconfont').toggleClass('cur'), E = s, t.reload = !0, t.order = 0 === t.order ? 1:0) } else { if (i = s.siblings('.active'), E = s, i.hasClass('filter'))h.hideFilter(); else switch (p.children('.container:not(.hide)').addClass('hide'), n) { case'newest':g.removeClass('hide'); break; case'price':m.removeClass('hide'); break; case'discount':v.removeClass('hide'); break; case'sale':x.removeClass('hide'); break; case'all':y.removeClass('hide');}i.removeClass('active'), s.addClass('active') }t.reload && o() }e.stopPropagation();} }), u(window).scroll(function() { window.requestAnimationFrame(s);}), o(), C.on('touchstart','li', function() { u(this).addClass('bytouch') }).on('touchend touchcancel', function() { C.find('li').removeClass('bytouch');}) }]);