PageSourceSearch

https://www.glacierparkcollection.com/scripts/CMSScripts/Custom/brewster.js?v=20260828v1

js glacierparkcollection.com collected 2026-09-25 20:13:35 UTC 468,925 bytes, 278 lines download raw bytes

vendor: 34,936 bytes, lines 1-4
1/*jQuery v1.10.2 */
2(function (e, t) {
3    var n, r, i = typeof t, o = e.location, a = e.document, s = a.documentElement, l = e.jQuery, u = e.$, c = {}, p = [], f = "1.10.2", d = p.concat, h = p.push, g = p.slice, m = p.indexOf, y = c.toString, v = c.hasOwnProperty, b = f.trim, x = function (e, t) { return new x.fn.init(e, t, r) }, w = /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source, T = /\S+/g, C = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, N = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/, k = /^<(\w+)\s*\/?>(?:<\/\1>|)$/, E = /^[\],:{}\s]*$/, S = /(?:^|:|,)(?:\s*\[)+/g, A = /\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g, j = /"[^"\\\r\n]*"|true|false|null|-?(?:\d+\.|)\d+(?:[eE][+-]?\d+|)/g, D = /^-ms-/, L = /-([\da-z])/gi, H = function (e, t) { return t.toUpperCase() }, q = function (e) { (a.addEventListener || "load" === e.type || "complete" === a.readyState) && (_(), x.ready()) }, _ = function () { a.addEventListener ? (a.removeEventListener("DOMContentLoaded", q, !1), e.removeEventListener("load", q, !1)) : (a.detachEvent("onreadystatechange", q), e.detachEvent("onload", q)) }; x.fn = x.prototype = { jquery: f, constructor: x, init: function (e, n, r) { var i, o; if (!e) return this; if ("string" == typeof e) { if (i = "<" === e.charAt(0) && ">" === e.charAt(e.length - 1) && e.length >= 3 ? [null, e, null] : N.exec(e), !i || !i[1] && n) return !n || n.jquery ? (n || r).find(e) : this.constructor(n).find(e); if (i[1]) { if (n = n instanceof x ? n[0] : n, x.merge(this, x.parseHTML(i[1], n && n.nodeType ? n.ownerDocument || n : a, !0)), k.test(i[1]) && x.isPlainObject(n)) for (i in n) x.isFunction(this[i]) ? this[i](n[i]) : this.attr(i, n[i]); return this } if (o = a.getElementById(i[2]), o && o.parentNode) { if (o.id !== i[2]) return r.find(e); this.length = 1, this[0] = o } return this.context = a, this.selector = e, this } return e.nodeType ? (this.context = this[0] = e, this.length = 1, this) : x.isFunction(e) ? r.ready(e) : (e.selector !== t && (this.selector = e.selector, this.context = e.context), x.makeArray(e, this)) }, selector: "", length: 0, toArray: function () { return g.call(this) }, get: function (e) { return null == e ? this.toArray() : 0 > e ? this[this.length + e] : this[e] }, pushStack: function (e) { var t = x.merge(this.constructor(), e); return t.prevObject = this, t.context = this.context, t }, each: function (e, t) { return x.each(this, e, t) }, ready: function (e) { return x.ready.promise().done(e), this }, slice: function () { return this.pushStack(g.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]] : []) }, map: function (e) { return this.pushStack(x.map(this, function (t, n) { return e.call(t, n, t) })) }, end: function () { return this.prevObject || this.constructor(null) }, push: h, sort: [].sort, splice: [].splice }, x.fn.init.prototype = x.fn, x.extend = x.fn.extend = function () { var e, n, r, i, o, a, s = arguments[0] || {}, l = 1, u = arguments.length, c = !1; for ("boolean" == typeof s && (c = s, s = arguments[1] || {}, l = 2), "object" == typeof s || x.isFunction(s) || (s = {}), u === l && (s = this, --l); u > l; l++)if (null != (o = arguments[l])) for (i in o) e = s[i], r = o[i], s !== r && (c && r && (x.isPlainObject(r) || (n = x.isArray(r))) ? (n ? (n = !1, a = e && x.isArray(e) ? e : []) : a = e && x.isPlainObject(e) ? e : {}, s[i] = x.extend(c, a, r)) : r !== t && (s[i] = r)); return s }, x.extend({ expando: "jQuery" + (f + Math.random()).replace(/\D/g, ""), noConflict: function (t) { return e.$ === x && (e.$ = u), t && e.jQuery === x && (e.jQuery = l), x }, isReady: !1, readyWait: 1, holdReady: function (e) { e ? x.readyWait++ : x.ready(!0) }, ready: function (e) { if (e === !0 ? !--x.readyWait : !x.isReady) { if (!a.body) return setTimeout(x.ready); x.isReady = !0, e !== !0 && --x.readyWait > 0 || (n.resolveWith(a, [x]), x.fn.trigger && x(a).trigger("ready").off("ready")) } }, isFunction: function (e) { return "function" === x.type(e) }, isArray: Array.isArray || function (e) { return "array" === x.type(e) }, isWindow: function (e) { return null != e && e == e.window }, isNumeric: function (e) { return !isNaN(parseFloat(e)) && isFinite(e) }, type: function (e) { return null == e ? e + "" : "object" == typeof e || "function" == typeof e ? c[y.call(e)] || "object" : typeof e }, isPlainObject: function (e) { var n; if (!e || "object" !== x.type(e) || e.nodeType || x.isWindow(e)) return !1; try { if (e.constructor && !v.call(e, "constructor") && !v.call(e.constructor.prototype, "isPrototypeOf")) return !1 } catch (r) { return !1 } if (x.support.ownLast) for (n in e) return v.call(e, n); for (n in e); return n === t || v.call(e, n) }, isEmptyObject: function (e) { var t; for (t in e) return !1; return !0 }, error: function (e) { throw Error(e) }, parseHTML: function (e, t, n) { if (!e || "string" != typeof e) return null; "boolean" == typeof t && (n = t, t = !1), t = t || a; var r = k.exec(e), i = !n && []; return r ? [t.createElement(r[1])] : (r = x.buildFragment([e], t, i), i && x(i).remove(), x.merge([], r.childNodes)) }, parseJSON: function (n) { return e.JSON && e.JSON.parse ? e.JSON.parse(n) : null === n ? n : "string" == typeof n && (n = x.trim(n), n && E.test(n.replace(A, "@").replace(j, "]").replace(S, ""))) ? Function("return " + n)() : (x.error("Invalid JSON: " + n), t) }, parseXML: function (n) { var r, i; if (!n || "string" != typeof n) return null; try { e.DOMParser ? (i = new DOMParser, r = i.parseFromString(n, "text/xml")) : (r = new ActiveXObject("Microsoft.XMLDOM"), r.async = "false", r.loadXML(n)) } catch (o) { r = t } return r && r.documentElement && !r.getElementsByTagName("parsererror").length || x.error("Invalid XML: " + n), r }, noop: function () { }, globalEval: function (t) { t && x.trim(t) && (e.execScript || function (t) { e.eval.call(e, t) })(t) }, camelCase: function (e) { return e.replace(D, "ms-").replace(L, H) }, nodeName: function (e, t) { return e.nodeName && e.nodeName.toLowerCase() === t.toLowerCase() }, each: function (e, t, n) { var r, i = 0, o = e.length, a = M(e); if (n) { if (a) { for (; o > i; i++)if (r = t.apply(e[i], n), r === !1) break } else for (i in e) if (r = t.apply(e[i], n), r === !1) break } else if (a) { for (; o > i; i++)if (r = t.call(e[i], i, e[i]), r === !1) break } else for (i in e) if (r = t.call(e[i], i, e[i]), r === !1) break; return e }, trim: b && !b.call("\ufeff\u00a0") ? function (e) { return null == e ? "" : b.call(e) } : function (e) { return null == e ? "" : (e + "").replace(C, "") }, makeArray: function (e, t) { var n = t || []; return null != e && (M(Object(e)) ? x.merge(n, "string" == typeof e ? [e] : e) : h.call(n, e)), n }, inArray: function (e, t, n) { var r; if (t) { if (m) return m.call(t, e, n); for (r = t.length, n = n ? 0 > n ? Math.max(0, r + n) : n : 0; r > n; n++)if (n in t && t[n] === e) return n } return -1 }, merge: function (e, n) { var r = n.length, i = e.length, o = 0; if ("number" == typeof r) for (; r > o; o++)e[i++] = n[o]; else while (n[o] !== t) e[i++] = n[o++]; return e.length = i, e }, grep: function (e, t, n) { var r, i = [], o = 0, a = e.length; for (n = !!n; a > o; o++)r = !!t(e[o], o), n !== r && i.push(e[o]); return i }, map: function (e, t, n) { var r, i = 0, o = e.length, a = M(e), s = []; if (a) for (; o > i; i++)r = t(e[i], i, n), null != r && (s[s.length] = r); else for (i in e) r = t(e[i], i, n), null != r && (s[s.length] = r); return d.apply([], s) }, guid: 1, proxy: function (e, n) { var r, i, o; return "string" == typeof n && (o = e[n], n = e, e = o), x.isFunction(e) ? (r = g.call(arguments, 2), i = function () { return e.apply(n || this, r.concat(g.call(arguments))) }, i.guid = e.guid = e.guid || x.guid++, i) : t }, access: function (e, n, r, i, o, a, s) { var l = 0, u = e.length, c = null == r; if ("object" === x.type(r)) { o = !0; for (l in r) x.access(e, n, l, r[l], !0, a, s) } else if (i !== t && (o = !0, x.isFunction(i) || (s = !0), c && (s ? (n.call(e, i), n = null) : (c = n, n = function (e, t, n) { return c.call(x(e), n) })), n)) for (; u > l; l++)n(e[l], r, s ? i : i.call(e[l], l, n(e[l], r))); return o ? e : c ? n.call(e) : u ? n(e[0], r) : a }, now: function () { return (new Date).getTime() }, swap: function (e, t, n, r) { var i, o, a = {}; for (o in t) a[o] = e.style[o], e.style[o] = t[o]; i = n.apply(e, r || []); for (o in t) e.style[o] = a[o]; return i } }), x.ready.promise = function (t) { if (!n) if (n = x.Deferred(), "complete" === a.readyState) setTimeout(x.ready); else if (a.addEventListener) a.addEventListener("DOMContentLoaded", q, !1), e.addEventListener("load", q, !1); else { a.attachEvent("onreadystatechange", q), e.attachEvent("onload", q); var r = !1; try { r = null == e.frameElement && a.documentElement } catch (i) { } r && r.doScroll && function o() { if (!x.isReady) { try { r.doScroll("left") } catch (e) { return setTimeout(o, 50) } _(), x.ready() } }() } return n.promise(t) }, x.each("Boolean Number String Function Array Date RegExp Object Error".split(" "), function (e, t) { c["[object " + t + "]"] = t.toLowerCase() }); function M(e) { var t = e.length, n = x.type(e); return x.isWindow(e) ? !1 : 1 === e.nodeType && t ? !0 : "array" === n || "function" !== n && (0 === t || "number" == typeof t && t > 0 && t - 1 in e) } r = x(a), function (e, t) { var n, r, i, o, a, s, l, u, c, p, f, d, h, g, m, y, v, b = "sizzle" + -new Date, w = e.document, T = 0, C = 0, N = st(), k = st(), E = st(), S = !1, A = function (e, t) { return e === t ? (S = !0, 0) : 0 }, j = typeof t, D = 1 << 31, L = {}.hasOwnProperty, H = [], q = H.pop, _ = H.push, M = H.push, O = H.slice, F = H.indexOf || function (e) { var t = 0, n = this.length; for (; n > t; t++)if (this[t] === e) return t; return -1 }, B = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped", P = "[\\x20\\t\\r\\n\\f]", R = "(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+", W = R.replace("w", "w#"), $ = "\\[" + P + "*(" + R + ")" + P + "*(?:([*^$|!~]?=)" + P + "*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|(" + W + ")|)|)" + P + "*\\]", I = ":(" + R + ")(?:\\(((['\"])((?:\\\\.|[^\\\\])*?)\\3|((?:\\\\.|[^\\\\()[\\]]|" + $.replace(3, 8) + ")*)|.*)\\)|)", z = RegExp("^" + P + "+|((?:^|[^\\\\])(?:\\\\.)*)" + P + "+$", "g"), X = RegExp("^" + P + "*," + P + "*"), U = RegExp("^" + P + "*([>+~]|" + P + ")" + P + "*"), V = RegExp(P + "*[+~]"), Y = RegExp("=" + P + "*([^\\]'\"]*)" + P + "*\\]", "g"), J = RegExp(I), G = RegExp("^" + W + "$"), Q = { ID: RegExp("^#(" + R + ")"), CLASS: RegExp("^\\.(" + R + ")"), TAG: RegExp("^(" + R.replace("w", "w*") + ")"), ATTR: RegExp("^" + $), PSEUDO: RegExp("^" + I), CHILD: RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + P + "*(even|odd|(([+-]|)(\\d*)n|)" + P + "*(?:([+-]|)" + P + "*(\\d+)|))" + P + "*\\)|)", "i"), bool: RegExp("^(?:" + B + ")$", "i"), needsContext: RegExp("^" + P + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + P + "*((?:-\\d)?\\d*)" + P + "*\\)|)(?=[^-]|$)", "i") }, K = /^[^{]+\{\s*\[native \w/, Z = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/, et = /^(?:input|select|textarea|button)$/i, tt = /^h\d$/i, nt = /'|\\/g, rt = RegExp("\\\\([\\da-f]{1,6}" + P + "?|(" + P + ")|.)", "ig"), it = function (e, t, n) { var r = "0x" + t - 65536; return r !== r || n ? t : 0 > r ? String.fromCharCode(r + 65536) : String.fromCharCode(55296 | r >> 10, 56320 | 1023 & r) }; try { M.apply(H = O.call(w.childNodes), w.childNodes), H[w.childNodes.length].nodeType } catch (ot) { M = { apply: H.length ? function (e, t) { _.apply(e, O.call(t)) } : function (e, t) { var n = e.length, r = 0; while (e[n++] = t[r++]); e.length = n - 1 } } } function at(e, t, n, i) { var o, a, s, l, u, c, d, m, y, x; if ((t ? t.ownerDocument || t : w) !== f && p(t), t = t || f, n = n || [], !e || "string" != typeof e) return n; if (1 !== (l = t.nodeType) && 9 !== l) return []; if (h && !i) { if (o = Z.exec(e)) if (s = o[1]) { if (9 === l) { if (a = t.getElementById(s), !a || !a.parentNode) return n; if (a.id === s) return n.push(a), n } else if (t.ownerDocument && (a = t.ownerDocument.getElementById(s)) && v(t, a) && a.id === s) return n.push(a), n } else { if (o[2]) return M.apply(n, t.getElementsByTagName(e)), n; if ((s = o[3]) && r.getElementsByClassName && t.getElementsByClassName) return M.apply(n, t.getElementsByClassName(s)), n } if (r.qsa && (!g || !g.test(e))) { if (m = d = b, y = t, x = 9 === l && e, 1 === l && "object" !== t.nodeName.toLowerCase()) { c = mt(e), (d = t.getAttribute("id")) ? m = d.replace(nt, "\\$&") : t.setAttribute("id", m), m = "[id='" + m + "'] ", u = c.length; while (u--) c[u] = m + yt(c[u]); y = V.test(e) && t.parentNode || t, x = c.join(",") } if (x) try { return M.apply(n, y.querySelectorAll(x)), n } catch (T) { } finally { d || t.removeAttribute("id") } } } return kt(e.replace(z, "$1"), t, n, i) } function st() { var e = []; function t(n, r) { return e.push(n += " ") > o.cacheLength && delete t[e.shift()], t[n] = r } return t } function lt(e) { return e[b] = !0, e } function ut(e) { var t = f.createElement("div"); try { return !!e(t) } catch (n) { return !1 } finally { t.parentNode && t.parentNode.removeChild(t), t = null } } function ct(e, t) { var n = e.split("|"), r = e.length; while (r--) o.attrHandle[n[r]] = t } function pt(e, t) { var n = t && e, r = n && 1 === e.nodeType && 1 === t.nodeType && (~t.sourceIndex || D) - (~e.sourceIndex || D); if (r) return r; if (n) while (n = n.nextSibling) if (n === t) return -1; return e ? 1 : -1 } function ft(e) { return function (t) { var n = t.nodeName.toLowerCase(); return "input" === n && t.type === e } } function dt(e) { return function (t) { var n = t.nodeName.toLowerCase(); return ("input" === n || "button" === n) && t.type === e } } function ht(e) { return lt(function (t) { return t = +t, lt(function (n, r) { var i, o = e([], n.length, t), a = o.length; while (a--) n[i = o[a]] && (n[i] = !(r[i] = n[i])) }) }) } s = at.isXML = function (e) { var t = e && (e.ownerDocument || e).documentElement; return t ? "HTML" !== t.nodeName : !1 }, r = at.support = {}, p = at.setDocument = function (e) { var n = e ? e.ownerDocument || e : w, i = n.defaultView; return n !== f && 9 === n.nodeType && n.documentElement ? (f = n, d = n.documentElement, h = !s(n), i && i.attachEvent && i !== i.top && i.attachEvent("onbeforeunload", function () { p() }), r.attributes = ut(function (e) { return e.className = "i", !e.getAttribute("className") }), r.getElementsByTagName = ut(function (e) { return e.appendChild(n.createComment("")), !e.getElementsByTagName("*").length }), r.getElementsByClassName = ut(function (e) { return e.innerHTML = "<div class='a'></div><div class='a i'></div>", e.firstChild.className = "i", 2 === e.getElementsByClassName("i").length }), r.getById = ut(function (e) { return d.appendChild(e).id = b, !n.getElementsByName || !n.getElementsByName(b).length }), r.getById ? (o.find.ID = function (e, t) { if (typeof t.getElementById !== j && h) { var n = t.getElementById(e); return n && n.parentNode ? [n] : [] } }, o.filter.ID = function (e) { var t = e.replace(rt, it); return function (e) { return e.getAttribute("id") === t } }) : (delete o.find.ID, o.filter.ID = function (e) { var t = e.replace(rt, it); return function (e) { var n = typeof e.getAttributeNode !== j && e.getAttributeNode("id"); return n && n.value === t } }), o.find.TAG = r.getElementsByTagName ? function (e, n) { return typeof n.getElementsByTagName !== j ? n.getElementsByTagName(e) : t } : function (e, t) { var n, r = [], i = 0, o = t.getElementsByTagName(e); if ("*" === e) { while (n = o[i++]) 1 === n.nodeType && r.push(n); return r } return o }, o.find.CLASS = r.getElementsByClassName && function (e, n) { return typeof n.getElementsByClassName !== j && h ? n.getElementsByClassName(e) : t }, m = [], g = [], (r.qsa = K.test(n.querySelectorAll)) && (ut(function (e) { e.innerHTML = "<select><option selected=''></option></select>", e.querySelectorAll("[selected]").length || g.push("\\[" + P + "*(?:value|" + B + ")"), e.querySelectorAll(":checked").length || g.push(":checked") }), ut(function (e) { var t = n.createElement("input"); t.setAttribute("type", "hidden"), e.appendChild(t).setAttribute("t", ""), e.querySelectorAll("[t^='']").length && g.push("[*^$]=" + P + "*(?:''|\"\")"), e.querySelectorAll(":enabled").length || g.push(":enabled", ":disabled"), e.querySelectorAll("*,:x"), g.push(",.*:") })), (r.matchesSelector = K.test(y = d.webkitMatchesSelector || d.mozMatchesSelector || d.oMatchesSelector || d.msMatchesSelector)) && ut(function (e) { r.disconnectedMatch = y.call(e, "div"), y.call(e, "[s!='']:x"), m.push("!=", I) }), g = g.length && RegExp(g.join("|")), m = m.length && RegExp(m.join("|")), v = K.test(d.contains) || d.compareDocumentPosition ? function (e, t) { var n = 9 === e.nodeType ? e.documentElement : e, r = t && t.parentNode; return e === r || !(!r || 1 !== r.nodeType || !(n.contains ? n.contains(r) : e.compareDocumentPosition && 16 & e.compareDocumentPosition(r))) } : function (e, t) { if (t) while (t = t.parentNode) if (t === e) return !0; return !1 }, A = d.compareDocumentPosition ? function (e, t) { if (e === t) return S = !0, 0; var i = t.compareDocumentPosition && e.compareDocumentPosition && e.compareDocumentPosition(t); return i ? 1 & i || !r.sortDetached && t.compareDocumentPosition(e) === i ? e === n || v(w, e) ? -1 : t === n || v(w, t) ? 1 : c ? F.call(c, e) - F.call(c, t) : 0 : 4 & i ? -1 : 1 : e.compareDocumentPosition ? -1 : 1 } : function (e, t) { var r, i = 0, o = e.parentNode, a = t.parentNode, s = [e], l = [t]; if (e === t) return S = !0, 0; if (!o || !a) return e === n ? -1 : t === n ? 1 : o ? -1 : a ? 1 : c ? F.call(c, e) - F.call(c, t) : 0; if (o === a) return pt(e, t); r = e; while (r = r.parentNode) s.unshift(r); r = t; while (r = r.parentNode) l.unshift(r); while (s[i] === l[i]) i++; return i ? pt(s[i], l[i]) : s[i] === w ? -1 : l[i] === w ? 1 : 0 }, n) : f }, at.matches = function (e, t) { return at(e, null, null, t) }, at.matchesSelector = function (e, t) { if ((e.ownerDocument || e) !== f && p(e), t = t.replace(Y, "='$1']"), !(!r.matchesSelector || !h || m && m.test(t) || g && g.test(t))) try { var n = y.call(e, t); if (n || r.disconnectedMatch || e.document && 11 !== e.document.nodeType) return n } catch (i) { } return at(t, f, null, [e]).length > 0 }, at.contains = function (e, t) { return (e.ownerDocument || e) !== f && p(e), v(e, t) }, at.attr = function (e, n) { (e.ownerDocument || e) !== f && p(e); var i = o.attrHandle[n.toLowerCase()], a = i && L.call(o.attrHandle, n.toLowerCase()) ? i(e, n, !h) : t; return a === t ? r.attributes || !h ? e.getAttribute(n) : (a = e.getAttributeNode(n)) && a.specified ? a.value : null : a }, at.error = function (e) { throw Error("Syntax error, unrecognized expression: " + e) }, at.uniqueSort = function (e) { var t, n = [], i = 0, o = 0; if (S = !r.detectDuplicates, c = !r.sortStable && e.slice(0), e.sort(A), S) { while (t = e[o++]) t === e[o] && (i = n.push(o)); while (i--) e.splice(n[i], 1) } return e }, a = at.getText = function (e) { var t, n = "", r = 0, i = e.nodeType; if (i) { if (1 === i || 9 === i || 11 === i) { if ("string" == typeof e.textContent) return e.textContent; for (e = e.firstChild; e; e = e.nextSibling)n += a(e) } else if (3 === i || 4 === i) return e.nodeValue } else for (; t = e[r]; r++)n += a(t); return n }, o = at.selectors = { cacheLength: 50, createPseudo: lt, match: Q, 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(rt, it), e[3] = (e[4] || e[5] || "").replace(rt, it), "~=" === 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] || at.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] && at.error(e[0]), e }, PSEUDO: function (e) { var n, r = !e[5] && e[2]; return Q.CHILD.test(e[0]) ? null : (e[3] && e[4] !== t ? e[2] = e[4] : r && J.test(r) && (n = mt(r, !0)) && (n = r.indexOf(")", r.length - n) - r.length) && (e[0] = e[0].slice(0, n), e[2] = r.slice(0, n)), e.slice(0, 3)) } }, filter: { TAG: function (e) { var t = e.replace(rt, it).toLowerCase(); return "*" === e ? function () { return !0 } : function (e) { return e.nodeName && e.nodeName.toLowerCase() === t } }, CLASS: function (e) { var t = N[e + " "]; return t || (t = RegExp("(^|" + P + ")" + e + "(" + P + "|$)")) && N(e, function (e) { return t.test("string" == typeof e.className && e.className || typeof e.getAttribute !== j && e.getAttribute("class") || "") }) }, ATTR: function (e, t, n) { return function (r) { var i = at.attr(r, e); return null == i ? "!=" === t : t ? (i += "", "=" === t ? i === n : "!=" === t ? i !== n : "^=" === t ? n && 0 === i.indexOf(n) : "*=" === t ? n && i.indexOf(n) > -1 : "$=" === t ? n && i.slice(-n.length) === n : "~=" === t ? (" " + i + " ").indexOf(n) > -1 : "|=" === t ? i === n || i.slice(0, n.length + 1) === n + "-" : !1) : !0 } }, CHILD: function (e, t, n, r, i) { var o = "nth" !== e.slice(0, 3), a = "last" !== e.slice(-4), s = "of-type" === t; return 1 === r && 0 === i ? function (e) { return !!e.parentNode } : function (t, n, l) { var u, c, p, f, d, h, g = o !== a ? "nextSibling" : "previousSibling", m = t.parentNode, y = s && t.nodeName.toLowerCase(), v = !l && !s; if (m) { if (o) { while (g) { p = t; while (p = p[g]) if (s ? p.nodeName.toLowerCase() === y : 1 === p.nodeType) return !1; h = g = "only" === e && !h && "nextSibling" } return !0 } if (h = [a ? m.firstChild : m.lastChild], a && v) { c = m[b] || (m[b] = {}), u = c[e] || [], d = u[0] === T && u[1], f = u[0] === T && u[2], p = d && m.childNodes[d]; while (p = ++d && p && p[g] || (f = d = 0) || h.pop()) if (1 === p.nodeType && ++f && p === t) { c[e] = [T, d, f]; break } } else if (v && (u = (t[b] || (t[b] = {}))[e]) && u[0] === T) f = u[1]; else while (p = ++d && p && p[g] || (f = d = 0) || h.pop()) if ((s ? p.nodeName.toLowerCase() === y : 1 === p.nodeType) && ++f && (v && ((p[b] || (p[b] = {}))[e] = [T, f]), p === t)) break; return f -= i, f === r || 0 === f % r && f / r >= 0 } } }, PSEUDO: function (e, t) { var n, r = o.pseudos[e] || o.setFilters[e.toLowerCase()] || at.error("unsupported pseudo: " + e); return r[b] ? r(t) : r.length > 1 ? (n = [e, e, "", t], o.setFilters.hasOwnProperty(e.toLowerCase()) ? lt(function (e, n) { var i, o = r(e, t), a = o.length; while (a--) i = F.call(e, o[a]), e[i] = !(n[i] = o[a]) }) : function (e) { return r(e, 0, n) }) : r } }, pseudos: { not: lt(function (e) { var t = [], n = [], r = l(e.replace(z, "$1")); return r[b] ? lt(function (e, t, n, i) { var o, a = r(e, null, i, []), s = e.length; while (s--) (o = a[s]) && (e[s] = !(t[s] = o)) }) : function (e, i, o) { return t[0] = e, r(t, null, o, n), !n.pop() } }), has: lt(function (e) { return function (t) { return at(e, t).length > 0 } }), contains: lt(function (e) { return function (t) { return (t.textContent || t.innerText || a(t)).indexOf(e) > -1 } }), lang: lt(function (e) { return G.test(e || "") || at.error("unsupported lang: " + e), e = e.replace(rt, it).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 === d }, focus: function (e) { return e === f.activeElement && (!f.hasFocus || f.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.nodeName > "@" || 3 === e.nodeType || 4 === e.nodeType) return !1; return !0 }, parent: function (e) { return !o.pseudos.empty(e) }, header: function (e) { return tt.test(e.nodeName) }, input: function (e) { return et.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")) || t.toLowerCase() === e.type) }, first: ht(function () { return [0] }), last: ht(function (e, t) { return [t - 1] }), eq: ht(function (e, t, n) { return [0 > n ? n + t : n] }), even: ht(function (e, t) { var n = 0; for (; t > n; n += 2)e.push(n); return e }), odd: ht(function (e, t) { var n = 1; for (; t > n; n += 2)e.push(n); return e }), lt: ht(function (e, t, n) { var r = 0 > n ? n + t : n; for (; --r >= 0;)e.push(r); return e }), gt: ht(function (e, t, n) { var r = 0 > n ? n + t : n; for (; t > ++r;)e.push(r); return e }) } }, o.pseudos.nth = o.pseudos.eq; for (n in { radio: !0, checkbox: !0, file: !0, password: !0, image: !0 }) o.pseudos[n] = ft(n); for (n in { submit: !0, reset: !0 }) o.pseudos[n] = dt(n); function gt() { } gt.prototype = o.filters = o.pseudos, o.setFilters = new gt; function mt(e, t) { var n, r, i, a, s, l, u, c = k[e + " "]; if (c) return t ? 0 : c.slice(0); s = e, l = [], u = o.preFilter; while (s) { (!n || (r = X.exec(s))) && (r && (s = s.slice(r[0].length) || s), l.push(i = [])), n = !1, (r = U.exec(s)) && (n = r.shift(), i.push({ value: n, type: r[0].replace(z, " ") }), s = s.slice(n.length)); for (a in o.filter) !(r = Q[a].exec(s)) || u[a] && !(r = u[a](r)) || (n = r.shift(), i.push({ value: n, type: a, matches: r }), s = s.slice(n.length)); if (!n) break } return t ? s.length : s ? at.error(e) : k(e, l).slice(0) } function yt(e) { var t = 0, n = e.length, r = ""; for (; n > t; t++)r += e[t].value; return r } function vt(e, t, n) { var r = t.dir, o = n && "parentNode" === r, a = C++; return t.first ? function (t, n, i) { while (t = t[r]) if (1 === t.nodeType || o) return e(t, n, i) } : function (t, n, s) { var l, u, c, p = T + " " + a; if (s) { while (t = t[r]) if ((1 === t.nodeType || o) && e(t, n, s)) return !0 } else while (t = t[r]) if (1 === t.nodeType || o) if (c = t[b] || (t[b] = {}), (u = c[r]) && u[0] === p) { if ((l = u[1]) === !0 || l === i) return l === !0 } else if (u = c[r] = [p], u[1] = e(t, n, s) || i, u[1] === !0) return !0 } } function bt(e) { return e.length > 1 ? function (t, n, r) { var i = e.length; while (i--) if (!e[i](t, n, r)) return !1; return !0 } : e[0] } function xt(e, t, n, r, i) { var o, a = [], s = 0, l = e.length, u = null != t; for (; l > s; s++)(o = e[s]) && (!n || n(o, r, i)) && (a.push(o), u && t.push(s)); return a } function wt(e, t, n, r, i, o) { return r && !r[b] && (r = wt(r)), i && !i[b] && (i = wt(i, o)), lt(function (o, a, s, l) { var u, c, p, f = [], d = [], h = a.length, g = o || Nt(t || "*", s.nodeType ? [s] : s, []), m = !e || !o && t ? g : xt(g, f, e, s, l), y = n ? i || (o ? e : h || r) ? [] : a : m; if (n && n(m, y, s, l), r) { u = xt(y, d), r(u, [], s, l), c = u.length; while (c--) (p = u[c]) && (y[d[c]] = !(m[d[c]] = p)) } if (o) { if (i || e) { if (i) { u = [], c = y.length; while (c--) (p = y[c]) && u.push(m[c] = p); i(null, y = [], u, l) } c = y.length; while (c--) (p = y[c]) && (u = i ? F.call(o, p) : f[c]) > -1 && (o[u] = !(a[u] = p)) } } else y = xt(y === a ? y.splice(h, y.length) : y), i ? i(null, a, y, l) : M.apply(a, y) }) } function Tt(e) { var t, n, r, i = e.length, a = o.relative[e[0].type], s = a || o.relative[" "], l = a ? 1 : 0, c = vt(function (e) { return e === t }, s, !0), p = vt(function (e) { return F.call(t, e) > -1 }, s, !0), f = [function (e, n, r) { return !a && (r || n !== u) || ((t = n).nodeType ? c(e, n, r) : p(e, n, r)) }]; for (; i > l; l++)if (n = o.relative[e[l].type]) f = [vt(bt(f), n)]; else { if (n = o.filter[e[l].type].apply(null, e[l].matches), n[b]) { for (r = ++l; i > r; r++)if (o.relative[e[r].type]) break; return wt(l > 1 && bt(f), l > 1 && yt(e.slice(0, l - 1).concat({ value: " " === e[l - 2].type ? "*" : "" })).replace(z, "$1"), n, r > l && Tt(e.slice(l, r)), i > r && Tt(e = e.slice(r)), i > r && yt(e)) } f.push(n) } return bt(f) } function Ct(e, t) { var n = 0, r = t.length > 0, a = e.length > 0, s = function (s, l, c, p, d) { var h, g, m, y = [], v = 0, b = "0", x = s && [], w = null != d, C = u, N = s || a && o.find.TAG("*", d && l.parentNode || l), k = T += null == C ? 1 : Math.random() || .1; for (w && (u = l !== f && l, i = n); null != (h = N[b]); b++) { if (a && h) { g = 0; while (m = e[g++]) if (m(h, l, c)) { p.push(h); break } w && (T = k, i = ++n) } r && ((h = !m && h) && v--, s && x.push(h)) } if (v += b, r && b !== v) { g = 0; while (m = t[g++]) m(x, y, l, c); if (s) { if (v > 0) while (b--) x[b] || y[b] || (y[b] = q.call(p)); y = xt(y) } M.apply(p, y), w && !s && y.length > 0 && v + t.length > 1 && at.uniqueSort(p) } return w && (T = k, u = C), x }; return r ? lt(s) : s } l = at.compile = function (e, t) { var n, r = [], i = [], o = E[e + " "]; if (!o) { t || (t = mt(e)), n = t.length; while (n--) o = Tt(t[n]), o[b] ? r.push(o) : i.push(o); o = E(e, Ct(i, r)) } return o }; function Nt(e, t, n) { var r = 0, i = t.length; for (; i > r; r++)at(e, t[r], n); return n } function kt(e, t, n, i) { var a, s, u, c, p, f = mt(e); if (!i && 1 === f.length) { if (s = f[0] = f[0].slice(0), s.length > 2 && "ID" === (u = s[0]).type && r.getById && 9 === t.nodeType && h && o.relative[s[1].type]) { if (t = (o.find.ID(u.matches[0].replace(rt, it), t) || [])[0], !t) return n; e = e.slice(s.shift().value.length) } a = Q.needsContext.test(e) ? 0 : s.length; while (a--) { if (u = s[a], o.relative[c = u.type]) break; if ((p = o.find[c]) && (i = p(u.matches[0].replace(rt, it), V.test(s[0].type) && t.parentNode || t))) { if (s.splice(a, 1), e = i.length && yt(s), !e) return M.apply(n, i), n; break } } } return l(e, f)(i, t, !h, n, V.test(e)), n } r.sortStable = b.split("").sort(A).join("") === b, r.detectDuplicates = S, p(), r.sortDetached = ut(function (e) { return 1 & e.compareDocumentPosition(f.createElement("div")) }), ut(function (e) { return e.innerHTML = "<a href='#'></a>", "#" === e.firstChild.getAttribute("href") }) || ct("type|href|height|width", function (e, n, r) { return r ? t : e.getAttribute(n, "type" === n.toLowerCase() ? 1 : 2) }), r.attributes && ut(function (e) { return e.innerHTML = "<input/>", e.firstChild.setAttribute("value", ""), "" === e.firstChild.getAttribute("value") }) || ct("value", function (e, n, r) { return r || "input" !== e.nodeName.toLowerCase() ? t : e.defaultValue }), ut(function (e) { return null == e.getAttribute("disabled") }) || ct(B, function (e, n, r) { var i; return r ? t : (i = e.getAttributeNode(n)) && i.specified ? i.value : e[n] === !0 ? n.toLowerCase() : null }), x.find = at, x.expr = at.selectors, x.expr[":"] = x.expr.pseudos, x.unique = at.uniqueSort, x.text = at.getText, x.isXMLDoc = at.isXML, x.contains = at.contains }(e); var O = {}; function F(e) { var t = O[e] = {}; return x.each(e.match(T) || [], function (e, n) { t[n] = !0 }), t } x.Callbacks = function (e) { e = "string" == typeof e ? O[e] || F(e) : x.extend({}, e); var n, r, i, o, a, s, l = [], u = !e.once && [], c = function (t) { for (r = e.memory && t, i = !0, a = s || 0, s = 0, o = l.length, n = !0; l && o > a; a++)if (l[a].apply(t[0], t[1]) === !1 && e.stopOnFalse) { r = !1; break } n = !1, l && (u ? u.length && c(u.shift()) : r ? l = [] : p.disable()) }, p = { add: function () { if (l) { var t = l.length; (function i(t) { x.each(t, function (t, n) { var r = x.type(n); "function" === r ? e.unique && p.has(n) || l.push(n) : n && n.length && "string" !== r && i(n) }) })(arguments), n ? o = l.length : r && (s = t, c(r)) } return this }, remove: function () { return l && x.each(arguments, function (e, t) { var r; while ((r = x.inArray(t, l, r)) > -1) l.splice(r, 1), n && (o >= r && o--, a >= r && a--) }), this }, has: function (e) { return e ? x.inArray(e, l) > -1 : !(!l || !l.length) }, empty: function () { return l = [], o = 0, this }, disable: function () { return l = u = r = t, this }, disabled: function () { return !l }, lock: function () { return u = t, r || p.disable(), this }, locked: function () { return !u }, fireWith: function (e, t) { return !l || i && !u || (t = t || [], t = [e, t.slice ? t.slice() : t], n ? u.push(t) : c(t)), this }, fire: function () { return p.fireWith(this, arguments), this }, fired: function () { return !!i } }; return p }, x.extend({ Deferred: function (e) { var t = [["resolve", "done", x.Callbacks("once memory"), "resolved"], ["reject", "fail", x.Callbacks("once memory"), "rejected"], ["notify", "progress", x.Callbacks("memory")]], n = "pending", r = { state: function () { return n }, always: function () { return i.done(arguments).fail(arguments), this }, then: function () { var e = arguments; return x.Deferred(function (n) { x.each(t, function (t, o) { var a = o[0], s = x.isFunction(e[t]) && e[t]; i[o[1]](function () { var e = s && s.apply(this, arguments); e && x.isFunction(e.promise) ? e.promise().done(n.resolve).fail(n.reject).progress(n.notify) : n[a + "With"](this === r ? n.promise() : this, s ? [e] : arguments) }) }), e = null }).promise() }, promise: function (e) { return null != e ? x.extend(e, r) : r } }, i = {}; return r.pipe = r.then, x.each(t, function (e, o) { var a = o[2], s = o[3]; r[o[1]] = a.add, s && a.add(function () { n = s }, t[1 ^ e][2].disable, t[2][2].lock), i[o[0]] = function () { return i[o[0] + "With"](this === i ? r : this, arguments), this }, i[o[0] + "With"] = a.fireWith }), r.promise(i), e && e.call(i, i), i }, when: function (e) { var t = 0, n = g.call(arguments), r = n.length, i = 1 !== r || e && x.isFunction(e.promise) ? r : 0, o = 1 === i ? e : x.Deferred(), a = function (e, t, n) { return function (r) { t[e] = this, n[e] = arguments.length > 1 ? g.call(arguments) : r, n === s ? o.notifyWith(t, n) : --i || o.resolveWith(t, n) } }, s, l, u; if (r > 1) for (s = Array(r), l = Array(r), u = Array(r); r > t; t++)n[t] && x.isFunction(n[t].promise) ? n[t].promise().done(a(t, u, n)).fail(o.reject).progress(a(t, l, s)) : --i; return i || o.resolveWith(u, n), o.promise() } }), x.support = function (t) {
4        var n, r, o, s, l, u, c, p, f, d = a.createElement("div"); if (d.setAttribute("className", "t"), d.innerHTML = "  <link/><table></table><a href='/a'>a</a>
4<input type='checkbox'/>", n = d.getElementsByTagName("*") || [], r = d.getElementsByTagName("a")[0], !r || !r.style || !n.length) return t; s = a.createElement("select"), u = s.appendChild(a.createElement("option")), o = d.getElementsByTagName("input")[0], r.style.cssText = "top:1px;float:left;opacity:.5", t.getSetAttribute = "t" !== d.className, t.leadingWhitespace = 3 === d.firstChild.nodeType, t.tbody = !d.getElementsByTagName("tbody").length, t.htmlSerialize = !!d.getElementsByTagName("link").length, t.style = /top/.test(r.getAttribute("style")), t.hrefNormalized = "/a" === r.getAttribute("href"), t.opacity = /^0.5/.test(r.style.opacity), t.cssFloat = !!r.style.cssFloat, t.checkOn = !!o.value, t.optSelected = u.selected, t.enctype = !!a.createElement("form").enctype, t.html5Clone = "<:nav></:nav>" !== a.createElement("nav").cloneNode(!0).outerHTML, t.inlineBlockNeedsLayout = !1, t.shrinkWrapBlocks = !1, t.pixelPosition = !1, t.deleteExpando = !0, t.noCloneEvent = !0, t.reliableMarginRight = !0, t.boxSizingReliable = !0, o.checked = !0, t.noCloneChecked = o.cloneNode(!0).checked, s.disabled = !0, t.optDisabled = !u.disabled; try { delete d.test } catch (h) { t.deleteExpando = !1 } o = a.createElement("input"), o.setAttribute("value", ""), t.input = "" === o.getAttribute("value"), o.value = "t", o.setAttribute("type", "radio"), t.radioValue = "t" === o.value, o.setAttribute("checked", "t"), o.setAttribute("name", "t"), l = a.createDocumentFragment(), l.appendChild(o), t.appendChecked = o.checked, t.checkClone = l.cloneNode(!0).cloneNode(!0).lastChild.checked, d.attachEvent && (d.attachEvent("onclick", function () { t.noCloneEvent = !1 }), d.cloneNode(!0).click()); for (f in { submit: !0, change: !0, focusin: !0 }) d.setAttribute(c = "on" + f, "t"), t[f + "Bubbles"] = c in e || d.attributes[c].expando === !1; d.style.backgroundClip = "content-box", d.cloneNode(!0).style.backgroundClip = "", t.clearCloneStyle = "content-box" === d.style.backgroundClip; for (f in x(t)) break; return t.ownLast = "0" !== f, x(function () { var n, r, o, s = "padding:0;margin:0;border:0;display:block;box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;", l = a.getElementsByTagName("body")[0]; l && (n = a.createElement("div"), n.style.cssText = "border:0;width:0;height:0;position:absolute;top:0;left:-9999px;margin-top:1px", l.appendChild(n).appendChild(d), d.innerHTML = "<table><tr><td></td><td>t</td></tr></table>", o = d.getElementsByTagName("td"), o[0].style.cssText = "padding:0;margin:0;border:0;display:none", p = 0 === o[0].offsetHeight, o[0].style.display = "", o[1].style.display = "none", t.reliableHiddenOffsets = p && 0 === o[0].offsetHeight, d.innerHTML = "", d.style.cssText = "box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;", x.swap(l, null != l.style.zoom ? { zoom: 1 } : {}, function () { t.boxSizing = 4 === d.offsetWidth }), e.getComputedStyle && (t.pixelPosition = "1%" !== (e.getComputedStyle(d, null) || {}).top, t.boxSizingReliable = "4px" === (e.getComputedStyle(d, null) || { width: "4px" }).width, r = d.appendChild(a.createElement("div")), r.style.cssText = d.style.cssText = s, r.style.marginRight = r.style.width = "0", d.style.width = "1px", t.reliableMarginRight = !parseFloat((e.getComputedStyle(r, null) || {}).marginRight)), typeof d.style.zoom !== i && (d.innerHTML = "", d.style.cssText = s + "width:1px;padding:1px;display:inline;zoom:1", t.inlineBlockNeedsLayout = 3 === d.offsetWidth, d.style.display = "block", d.innerHTML = "<div></div>", d.firstChild.style.width = "5px", t.shrinkWrapBlocks = 3 !== d.offsetWidth, t.inlineBlockNeedsLayout && (l.style.zoom = 1)), l.removeChild(n), n = d = o = r = null) }), n = s = l = u = r = o = null, t
5    }({}); var B = /(?:\{[\s\S]*\}|\[[\s\S]*\])$/, P = /([A-Z])/g; function R(e, n, r, i) { if (x.acceptData(e)) { var o, a, s = x.expando, l = e.nodeType, u = l ? x.cache : e, c = l ? e[s] : e[s] && s; if (c && u[c] && (i || u[c].data) || r !== t || "string" != typeof n) return c || (c = l ? e[s] = p.pop() || x.guid++ : s), u[c] || (u[c] = l ? {} : { toJSON: x.noop }), ("object" == typeof n || "function" == typeof n) && (i ? u[c] = x.extend(u[c], n) : u[c].data = x.extend(u[c].data, n)), a = u[c], i || (a.data || (a.data = {}), a = a.data), r !== t && (a[x.camelCase(n)] = r), "string" == typeof n ? (o = a[n], null == o && (o = a[x.camelCase(n)])) : o = a, o } } function W(e, t, n) { if (x.acceptData(e)) { var r, i, o = e.no
vendor: 71,475 bytes, lines 5-12
5deType, a = o ? x.cache : e, s = o ? e[x.expando] : x.expando; if (a[s]) { if (t && (r = n ? a[s] : a[s].data)) { x.isArray(t) ? t = t.concat(x.map(t, x.camelCase)) : t in r ? t = [t] : (t = x.camelCase(t), t = t in r ? [t] : t.split(" ")), i = t.length; while (i--) delete r[t[i]]; if (n ? !I(r) : !x.isEmptyObject(r)) return } (n || (delete a[s].data, I(a[s]))) && (o ? x.cleanData([e], !0) : x.support.deleteExpando || a != a.window ? delete a[s] : a[s] = null) } } } x.extend({ cache: {}, noData: { applet: !0, embed: !0, object: "clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" }, hasData: function (e) { return e = e.nodeType ? x.cache[e[x.expando]] : e[x.expando], !!e && !I(e) }, data: function (e, t, n) { return R(e, t, n) }, removeData: function (e, t) { return W(e, t) }, _data: function (e, t, n) { return R(e, t, n, !0) }, _removeData: function (e, t) { return W(e, t, !0) }, acceptData: function (e) { if (e.nodeType && 1 !== e.nodeType && 9 !== e.nodeType) return !1; var t = e.nodeName && x.noData[e.nodeName.toLowerCase()]; return !t || t !== !0 && e.getAttribute("classid") === t } }), x.fn.extend({ data: function (e, n) { var r, i, o = null, a = 0, s = this[0]; if (e === t) { if (this.length && (o = x.data(s), 1 === s.nodeType && !x._data(s, "parsedAttrs"))) { for (r = s.attributes; r.length > a; a++)i = r[a].name, 0 === i.indexOf("data-") && (i = x.camelCase(i.slice(5)), $(s, i, o[i])); x._data(s, "parsedAttrs", !0) } return o } return "object" == typeof e ? this.each(function () { x.data(this, e) }) : arguments.length > 1 ? this.each(function () { x.data(this, e, n) }) : s ? $(s, e, x.data(s, e)) : null }, removeData: function (e) { return this.each(function () { x.removeData(this, e) }) } }); function $(e, n, r) { if (r === t && 1 === e.nodeType) { var i = "data-" + n.replace(P, "-$1").toLowerCase(); if (r = e.getAttribute(i), "string" == typeof r) { try { r = "true" === r ? !0 : "false" === r ? !1 : "null" === r ? null : +r + "" === r ? +r : B.test(r) ? x.parseJSON(r) : r } catch (o) { } x.data(e, n, r) } else r = t } return r } function I(e) { var t; for (t in e) if (("data" !== t || !x.isEmptyObject(e[t])) && "toJSON" !== t) return !1; return !0 } x.extend({ queue: function (e, n, r) { var i; return e ? (n = (n || "fx") + "queue", i = x._data(e, n), r && (!i || x.isArray(r) ? i = x._data(e, n, x.makeArray(r)) : i.push(r)), i || []) : t }, dequeue: function (e, t) { t = t || "fx"; var n = x.queue(e, t), r = n.length, i = n.shift(), o = x._queueHooks(e, t), a = function () { x.dequeue(e, t) }; "inprogress" === i && (i = n.shift(), r--), i && ("fx" === t && n.unshift("inprogress"), delete o.stop, i.call(e, a, o)), !r && o && o.empty.fire() }, _queueHooks: function (e, t) { var n = t + "queueHooks"; return x._data(e, n) || x._data(e, n, { empty: x.Callbacks("once memory").add(function () { x._removeData(e, t + "queue"), x._removeData(e, n) }) }) } }), x.fn.extend({ queue: function (e, n) { var r = 2; return "string" != typeof e && (n = e, e = "fx", r--), r > arguments.length ? x.queue(this[0], e) : n === t ? this : this.each(function () { var t = x.queue(this, e, n); x._queueHooks(this, e), "fx" === e && "inprogress" !== t[0] && x.dequeue(this, e) }) }, dequeue: function (e) { return this.each(function () { x.dequeue(this, e) }) }, delay: function (e, t) { return e = x.fx ? x.fx.speeds[e] || e : e, t = t || "fx", this.queue(t, function (t, n) { var r = setTimeout(t, e); n.stop = function () { clearTimeout(r) } }) }, clearQueue: function (e) { return this.queue(e || "fx", []) }, promise: function (e, n) { var r, i = 1, o = x.Deferred(), a = this, s = this.length, l = function () { --i || o.resolveWith(a, [a]) }; "string" != typeof e && (n = e, e = t), e = e || "fx"; while (s--) r = x._data(a[s], e + "queueHooks"), r && r.empty && (i++, r.empty.add(l)); return l(), o.promise(n) } }); var z, X, U = /[\t\r\n\f]/g, V = /\r/g, Y = /^(?:input|select|textarea|button|object)$/i, J = /^(?:a|area)$/i, G = /^(?:checked|selected)$/i, Q = x.support.getSetAttribute, K = x.support.input; x.fn.extend({ attr: function (e, t) { return x.access(this, x.attr, e, t, arguments.length > 1) }, removeAttr: function (e) { return this.each(function () { x.removeAttr(this, e) }) }, prop: function (e, t) { return x.access(this, x.prop, e, t, arguments.length > 1) }, removeProp: function (e) { return e = x.propFix[e] || e, this.each(function () { try { this[e] = t, delete this[e] } catch (n) { } }) }, addClass: function (e) { var t, n, r, i, o, a = 0, s = this.length, l = "string" == typeof e && e; if (x.isFunction(e)) return this.each(function (t) { x(this).addClass(e.call(this, t, this.className)) }); if (l) for (t = (e || "").match(T) || []; s > a; a++)if (n = this[a], r = 1 === n.nodeType && (n.className ? (" " + n.className + " ").replace(U, " ") : " ")) { o = 0; while (i = t[o++]) 0 > r.indexOf(" " + i + " ") && (r += i + " "); n.className = x.trim(r) } return this }, removeClass: function (e) { var t, n, r, i, o, a = 0, s = this.length, l = 0 === arguments.length || "string" == typeof e && e; if (x.isFunction(e)) return this.each(function (t) { x(this).removeClass(e.call(this, t, this.className)) }); if (l) for (t = (e || "").match(T) || []; s > a; a++)if (n = this[a], r = 1 === n.nodeType && (n.className ? (" " + n.className + " ").replace(U, " ") : "")) { o = 0; while (i = t[o++]) while (r.indexOf(" " + i + " ") >= 0) r = r.replace(" " + i + " ", " "); n.className = e ? x.trim(r) : "" } return this }, toggleClass: function (e, t) { var n = typeof e; return "boolean" == typeof t && "string" === n ? t ? this.addClass(e) : this.removeClass(e) : x.isFunction(e) ? this.each(function (n) { x(this).toggleClass(e.call(this, n, this.className, t), t) }) : this.each(function () { if ("string" === n) { var t, r = 0, o = x(this), a = e.match(T) || []; while (t = a[r++]) o.hasClass(t) ? o.removeClass(t) : o.addClass(t) } else (n === i || "boolean" === n) && (this.className && x._data(this, "__className__", this.className), this.className = this.className || e === !1 ? "" : x._data(this, "__className__") || "") }) }, hasClass: function (e) { var t = " " + e + " ", n = 0, r = this.length; for (; r > n; n++)if (1 === this[n].nodeType && (" " + this[n].className + " ").replace(U, " ").indexOf(t) >= 0) return !0; return !1 }, val: function (e) { var n, r, i, o = this[0]; { if (arguments.length) return i = x.isFunction(e), this.each(function (n) { var o; 1 === this.nodeType && (o = i ? e.call(this, n, x(this).val()) : e, null == o ? o = "" : "number" == typeof o ? o += "" : x.isArray(o) && (o = x.map(o, function (e) { return null == e ? "" : e + "" })), r = x.valHooks[this.type] || x.valHooks[this.nodeName.toLowerCase()], r && "set" in r && r.set(this, o, "value") !== t || (this.value = o)) }); if (o) return r = x.valHooks[o.type] || x.valHooks[o.nodeName.toLowerCase()], r && "get" in r && (n = r.get(o, "value")) !== t ? n : (n = o.value, "string" == typeof n ? n.replace(V, "") : null == n ? "" : n) } } }), x.extend({ valHooks: { option: { get: function (e) { var t = x.find.attr(e, "value"); return null != t ? t : e.text } }, select: { get: function (e) { var t, n, r = e.options, i = e.selectedIndex, o = "select-one" === e.type || 0 > i, a = o ? null : [], s = o ? i + 1 : r.length, l = 0 > i ? s : o ? i : 0; for (; s > l; l++)if (n = r[l], !(!n.selected && l !== i || (x.support.optDisabled ? n.disabled : null !== n.getAttribute("disabled")) || n.parentNode.disabled && x.nodeName(n.parentNode, "optgroup"))) { if (t = x(n).val(), o) return t; a.push(t) } return a }, set: function (e, t) { var n, r, i = e.options, o = x.makeArray(t), a = i.length; while (a--) r = i[a], (r.selected = x.inArray(x(r).val(), o) >= 0) && (n = !0); return n || (e.selectedIndex = -1), o } } }, attr: function (e, n, r) { var o, a, s = e.nodeType; if (e && 3 !== s && 8 !== s && 2 !== s) return typeof e.getAttribute === i ? x.prop(e, n, r) : (1 === s && x.isXMLDoc(e) || (n = n.toLowerCase(), o = x.attrHooks[n] || (x.expr.match.bool.test(n) ? X : z)), r === t ? o && "get" in o && null !== (a = o.get(e, n)) ? a : (a = x.find.attr(e, n), null == a ? t : a) : null !== r ? o && "set" in o && (a = o.set(e, r, n)) !== t ? a : (e.setAttribute(n, r + ""), r) : (x.removeAttr(e, n), t)) }, removeAttr: function (e, t) { var n, r, i = 0, o = t && t.match(T); if (o && 1 === e.nodeType) while (n = o[i++]) r = x.propFix[n] || n, x.expr.match.bool.test(n) ? K && Q || !G.test(n) ? e[r] = !1 : e[x.camelCase("default-" + n)] = e[r] = !1 : x.attr(e, n, ""), e.removeAttribute(Q ? n : r) }, attrHooks: { type: { set: function (e, t) { if (!x.support.radioValue && "radio" === t && x.nodeName(e, "input")) { var n = e.value; return e.setAttribute("type", t), n && (e.value = n), t } } } }, propFix: { "for": "htmlFor", "class": "className" }, prop: function (e, n, r) { var i, o, a, s = e.nodeType; if (e && 3 !== s && 8 !== s && 2 !== s) return a = 1 !== s || !x.isXMLDoc(e), a && (n = x.propFix[n] || n, o = x.propHooks[n]), r !== t ? o && "set" in o && (i = o.set(e, r, n)) !== t ? i : e[n] = r : o && "get" in o && null !== (i = o.get(e, n)) ? i : e[n] }, propHooks: { tabIndex: { get: function (e) { var t = x.find.attr(e, "tabindex"); return t ? parseInt(t, 10) : Y.test(e.nodeName) || J.test(e.nodeName) && e.href ? 0 : -1 } } } }), X = { set: function (e, t, n) { return t === !1 ? x.removeAttr(e, n) : K && Q || !G.test(n) ? e.setAttribute(!Q && x.propFix[n] || n, n) : e[x.camelCase("default-" + n)] = e[n] = !0, n } }, x.each(x.expr.match.bool.source.match(/\w+/g), function (e, n) { var r = x.expr.attrHandle[n] || x.find.attr; x.expr.attrHandle[n] = K && Q || !G.test(n) ? function (e, n, i) { var o = x.expr.attrHandle[n], a = i ? t : (x.expr.attrHandle[n] = t) != r(e, n, i) ? n.toLowerCase() : null; return x.expr.attrHandle[n] = o, a } : function (e, n, r) { return r ? t : e[x.camelCase("default-" + n)] ? n.toLowerCase() : null } }), K && Q || (x.attrHooks.value = { set: function (e, n, r) { return x.nodeName(e, "input") ? (e.defaultValue = n, t) : z && z.set(e, n, r) } }), Q || (z = { set: function (e, n, r) { var i = e.getAttributeNode(r); return i || e.setAttributeNode(i = e.ownerDocument.createAttribute(r)), i.value = n += "", "value" === r || n === e.getAttribute(r) ? n : t } }, x.expr.attrHandle.id = x.expr.attrHandle.name = x.expr.attrHandle.coords = function (e, n, r) { var i; return r ? t : (i = e.getAttributeNode(n)) && "" !== i.value ? i.value : null }, x.valHooks.button = { get: function (e, n) { var r = e.getAttributeNode(n); return r && r.specified ? r.value : t }, set: z.set }, x.attrHooks.contenteditable = { set: function (e, t, n) { z.set(e, "" === t ? !1 : t, n) } }, x.each(["width", "height"], function (e, n) { x.attrHooks[n] = { set: function (e, r) { return "" === r ? (e.setAttribute(n, "auto"), r) : t } } })), x.support.hrefNormalized || x.each(["href", "src"], function (e, t) { x.propHooks[t] = { get: function (e) { return e.getAttribute(t, 4) } } }), x.support.style || (x.attrHooks.style = { get: function (e) { return e.style.cssText || t }, set: function (e, t) { return e.style.cssText = t + "" } }), x.support.optSelected || (x.propHooks.selected = { get: function (e) { var t = e.parentNode; return t && (t.selectedIndex, t.parentNode && t.parentNode.selectedIndex), null } }), x.each(["tabIndex", "readOnly", "maxLength", "cellSpacing", "cellPadding", "rowSpan", "colSpan", "useMap", "frameBorder", "contentEditable"], function () { x.propFix[this.toLowerCase()] = this }), x.support.enctype || (x.propFix.enctype = "encoding"), x.each(["radio", "checkbox"], function () { x.valHooks[this] = { set: function (e, n) { return x.isArray(n) ? e.checked = x.inArray(x(e).val(), n) >= 0 : t } }, x.support.checkOn || (x.valHooks[this].get = function (e) { return null === e.getAttribute("value") ? "on" : e.value }) }); var Z = /^(?:input|select|textarea)$/i, et = /^key/, tt = /^(?:mouse|contextmenu)|click/, nt = /^(?:focusinfocus|focusoutblur)$/, rt = /^([^.]*)(?:\.(.+)|)$/; function it() { return !0 } function ot() { return !1 } function at() { try { return a.activeElement } catch (e) { } } x.event = { global: {}, add: function (e, n, r, o, a) { var s, l, u, c, p, f, d, h, g, m, y, v = x._data(e); if (v) { r.handler && (c = r, r = c.handler, a = c.selector), r.guid || (r.guid = x.guid++), (l = v.events) || (l = v.events = {}), (f = v.handle) || (f = v.handle = function (e) { return typeof x === i || e && x.event.triggered === e.type ? t : x.event.dispatch.apply(f.elem, arguments) }, f.elem = e), n = (n || "").match(T) || [""], u = n.length; while (u--) s = rt.exec(n[u]) || [], g = y = s[1], m = (s[2] || "").split(".").sort(), g && (p = x.event.special[g] || {}, g = (a ? p.delegateType : p.bindType) || g, p = x.event.special[g] || {}, d = x.extend({ type: g, origType: y, data: o, handler: r, guid: r.guid, selector: a, needsContext: a && x.expr.match.needsContext.test(a), namespace: m.join(".") }, c), (h = l[g]) || (h = l[g] = [], h.delegateCount = 0, p.setup && p.setup.call(e, o, m, f) !== !1 || (e.addEventListener ? e.addEventListener(g, f, !1) : e.attachEvent && e.attachEvent("on" + g, f))), p.add && (p.add.call(e, d), d.handler.guid || (d.handler.guid = r.guid)), a ? h.splice(h.delegateCount++, 0, d) : h.push(d), x.event.global[g] = !0); e = null } }, remove: function (e, t, n, r, i) { var o, a, s, l, u, c, p, f, d, h, g, m = x.hasData(e) && x._data(e); if (m && (c = m.events)) { t = (t || "").match(T) || [""], u = t.length; while (u--) if (s = rt.exec(t[u]) || [], d = g = s[1], h = (s[2] || "").split(".").sort(), d) { p = x.event.special[d] || {}, d = (r ? p.delegateType : p.bindType) || d, f = c[d] || [], s = s[2] && RegExp("(^|\\.)" + h.join("\\.(?:.*\\.|)") + "(\\.|$)"), l = o = f.length; while (o--) a = f[o], !i && g !== a.origType || n && n.guid !== a.guid || s && !s.test(a.namespace) || r && r !== a.selector && ("**" !== r || !a.selector) || (f.splice(o, 1), a.selector && f.delegateCount--, p.remove && p.remove.call(e, a)); l && !f.length && (p.teardown && p.teardown.call(e, h, m.handle) !== !1 || x.removeEvent(e, d, m.handle), delete c[d]) } else for (d in c) x.event.remove(e, d + t[u], n, r, !0); x.isEmptyObject(c) && (delete m.handle, x._removeData(e, "events")) } }, trigger: function (n, r, i, o) { var s, l, u, c, p, f, d, h = [i || a], g = v.call(n, "type") ? n.type : n, m = v.call(n, "namespace") ? n.namespace.split(".") : []; if (u = f = i = i || a, 3 !== i.nodeType && 8 !== i.nodeType && !nt.test(g + x.event.triggered) && (g.indexOf(".") >= 0 && (m = g.split("."), g = m.shift(), m.sort()), l = 0 > g.indexOf(":") && "on" + g, n = n[x.expando] ? n : new x.Event(g, "object" == typeof n && n), n.isTrigger = o ? 2 : 3, n.namespace = m.join("."), n.namespace_re = n.namespace ? RegExp("(^|\\.)" + m.join("\\.(?:.*\\.|)") + "(\\.|$)") : null, n.result = t, n.target || (n.target = i), r = null == r ? [n] : x.makeArray(r, [n]), p = x.event.special[g] || {}, o || !p.trigger || p.trigger.apply(i, r) !== !1)) { if (!o && !p.noBubble && !x.isWindow(i)) { for (c = p.delegateType || g, nt.test(c + g) || (u = u.parentNode); u; u = u.parentNode)h.push(u), f = u; f === (i.ownerDocument || a) && h.push(f.defaultView || f.parentWindow || e) } d = 0; while ((u = h[d++]) && !n.isPropagationStopped()) n.type = d > 1 ? c : p.bindType || g, s = (x._data(u, "events") || {})[n.type] && x._data(u, "handle"), s && s.apply(u, r), s = l && u[l], s && x.acceptData(u) && s.apply && s.apply(u, r) === !1 && n.preventDefault(); if (n.type = g, !o && !n.isDefaultPrevented() && (!p._default || p._default.apply(h.pop(), r) === !1) && x.acceptData(i) && l && i[g] && !x.isWindow(i)) { f = i[l], f && (i[l] = null), x.event.triggered = g; try { i[g]() } catch (y) { } x.event.triggered = t, f && (i[l] = f) } return n.result } }, dispatch: function (e) { e = x.event.fix(e); var n, r, i, o, a, s = [], l = g.call(arguments), u = (x._data(this, "events") || {})[e.type] || [], c = x.event.special[e.type] || {}; if (l[0] = e, e.delegateTarget = this, !c.preDispatch || c.preDispatch.call(this, e) !== !1) { s = x.event.handlers.call(this, e, u), n = 0; while ((o = s[n++]) && !e.isPropagationStopped()) { e.currentTarget = o.elem, a = 0; while ((i = o.handlers[a++]) && !e.isImmediatePropagationStopped()) (!e.namespace_re || e.namespace_re.test(i.namespace)) && (e.handleObj = i, e.data = i.data, r = ((x.event.special[i.origType] || {}).handle || i.handler).apply(o.elem, l), r !== t && (e.result = r) === !1 && (e.preventDefault(), e.stopPropagation())) } return c.postDispatch && c.postDispatch.call(this, e), e.result } }, handlers: function (e, n) { var r, i, o, a, s = [], l = n.delegateCount, u = e.target; if (l && u.nodeType && (!e.button || "click" !== e.type)) for (; u != this; u = u.parentNode || this)if (1 === u.nodeType && (u.disabled !== !0 || "click" !== e.type)) { for (o = [], a = 0; l > a; a++)i = n[a], r = i.selector + " ", o[r] === t && (o[r] = i.needsContext ? x(r, this).index(u) >= 0 : x.find(r, this, null, [u]).length), o[r] && o.push(i); o.length && s.push({ elem: u, handlers: o }) } return n.length > l && s.push({ elem: this, handlers: n.slice(l) }), s }, fix: function (e) { if (e[x.expando]) return e; var t, n, r, i = e.type, o = e, s = this.fixHooks[i]; s || (this.fixHooks[i] = s = tt.test(i) ? this.mouseHooks : et.test(i) ? this.keyHooks : {}), r = s.props ? this.props.concat(s.props) : this.props, e = new x.Event(o), t = r.length; while (t--) n = r[t], e[n] = o[n]; return e.target || (e.target = o.srcElement || a), 3 === e.target.nodeType && (e.target = e.target.parentNode), e.metaKey = !!e.metaKey, s.filter ? s.filter(e, o) : e }, props: "altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "), fixHooks: {}, keyHooks: { props: "char charCode key keyCode".split(" "), filter: function (e, t) { return null == e.which && (e.which = null != t.charCode ? t.charCode : t.keyCode), e } }, mouseHooks: { props: "button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "), filter: function (e, n) { var r, i, o, s = n.button, l = n.fromElement; return null == e.pageX && null != n.clientX && (i = e.target.ownerDocument || a, o = i.documentElement, r = i.body, e.pageX = n.clientX + (o && o.scrollLeft || r && r.scrollLeft || 0) - (o && o.clientLeft || r && r.clientLeft || 0), e.pageY = n.clientY + (o && o.scrollTop || r && r.scrollTop || 0) - (o && o.clientTop || r && r.clientTop || 0)), !e.relatedTarget && l && (e.relatedTarget = l === e.target ? n.toElement : l), e.which || s === t || (e.which = 1 & s ? 1 : 2 & s ? 3 : 4 & s ? 2 : 0), e } }, special: { load: { noBubble: !0 }, focus: { trigger: function () { if (this !== at() && this.focus) try { return this.focus(), !1 } catch (e) { } }, delegateType: "focusin" }, blur: { trigger: function () { return this === at() && this.blur ? (this.blur(), !1) : t }, delegateType: "focusout" }, click: { trigger: function () { return x.nodeName(this, "input") && "checkbox" === this.type && this.click ? (this.click(), !1) : t }, _default: function (e) { return x.nodeName(e.target, "a") } }, beforeunload: { postDispatch: function (e) { e.result !== t && (e.originalEvent.returnValue = e.result) } } }, simulate: function (e, t, n, r) { var i = x.extend(new x.Event, n, { type: e, isSimulated: !0, originalEvent: {} }); r ? x.event.trigger(i, null, t) : x.event.dispatch.call(t, i), i.isDefaultPrevented() && n.preventDefault() } }, x.removeEvent = a.removeEventListener ? function (e, t, n) { e.removeEventListener && e.removeEventListener(t, n, !1) } : function (e, t, n) { var r = "on" + t; e.detachEvent && (typeof e[r] === i && (e[r] = null), e.detachEvent(r, n)) }, x.Event = function (e, n) { return this instanceof x.Event ? (e && e.type ? (this.originalEvent = e, this.type = e.type, this.isDefaultPrevented = e.defaultPrevented || e.returnValue === !1 || e.getPreventDefault && e.getPreventDefault() ? it : ot) : this.type = e, n && x.extend(this, n), this.timeStamp = e && e.timeStamp || x.now(), this[x.expando] = !0, t) : new x.Event(e, n) }, x.Event.prototype = { isDefaultPrevented: ot, isPropagationStopped: ot, isImmediatePropagationStopped: ot, preventDefault: function () { var e = this.originalEvent; this.isDefaultPrevented = it, e && (e.preventDefault ? e.preventDefault() : e.returnValue = !1) }, stopPropagation: function () { var e = this.originalEvent; this.isPropagationStopped = it, e && (e.stopPropagation && e.stopPropagation(), e.cancelBubble = !0) }, stopImmediatePropagation: function () { this.isImmediatePropagationStopped = it, this.stopPropagation() } }, x.each({ mouseenter: "mouseover", mouseleave: "mouseout" }, function (e, t) { x.event.special[e] = { delegateType: t, bindType: t, handle: function (e) { var n, r = this, i = e.relatedTarget, o = e.handleObj; return (!i || i !== r && !x.contains(r, i)) && (e.type = o.origType, n = o.handler.apply(this, arguments), e.type = t), n } } }), x.support.submitBubbles || (x.event.special.submit = { setup: function () { return x.nodeName(this, "form") ? !1 : (x.event.add(this, "click._submit keypress._submit", function (e) { var n = e.target, r = x.nodeName(n, "input") || x.nodeName(n, "button") ? n.form : t; r && !x._data(r, "submitBubbles") && (x.event.add(r, "submit._submit", function (e) { e._submit_bubble = !0 }), x._data(r, "submitBubbles", !0)) }), t) }, postDispatch: function (e) { e._submit_bubble && (delete e._submit_bubble, this.parentNode && !e.isTrigger && x.event.simulate("submit", this.parentNode, e, !0)) }, teardown: function () { return x.nodeName(this, "form") ? !1 : (x.event.remove(this, "._submit"), t) } }), x.support.changeBubbles || (x.event.special.change = { setup: function () { return Z.test(this.nodeName) ? (("checkbox" === this.type || "radio" === this.type) && (x.event.add(this, "propertychange._change", function (e) { "checked" === e.originalEvent.propertyName && (this._just_changed = !0) }), x.event.add(this, "click._change", function (e) { this._just_changed && !e.isTrigger && (this._just_changed = !1), x.event.simulate("change", this, e, !0) })), !1) : (x.event.add(this, "beforeactivate._change", function (e) { var t = e.target; Z.test(t.nodeName) && !x._data(t, "changeBubbles") && (x.event.add(t, "change._change", function (e) { !this.parentNode || e.isSimulated || e.isTrigger || x.event.simulate("change", this.parentNode, e, !0) }), x._data(t, "changeBubbles", !0)) }), t) }, handle: function (e) { var n = e.target; return this !== n || e.isSimulated || e.isTrigger || "radio" !== n.type && "checkbox" !== n.type ? e.handleObj.handler.apply(this, arguments) : t }, teardown: function () { return x.event.remove(this, "._change"), !Z.test(this.nodeName) } }), x.support.focusinBubbles || x.each({ focus: "focusin", blur: "focusout" }, function (e, t) { var n = 0, r = function (e) { x.event.simulate(t, e.target, x.event.fix(e), !0) }; x.event.special[t] = { setup: function () { 0 === n++ && a.addEventListener(e, r, !0) }, teardown: function () { 0 === --n && a.removeEventListener(e, r, !0) } } }), x.fn.extend({ on: function (e, n, r, i, o) { var a, s; if ("object" == typeof e) { "string" != typeof n && (r = r || n, n = t); for (a in e) this.on(a, n, r, e[a], o); return this } if (null == r && null == i ? (i = n, r = n = t) : null == i && ("string" == typeof n ? (i = r, r = t) : (i = r, r = n, n = t)), i === !1) i = ot; else if (!i) return this; return 1 === o && (s = i, i = function (e) { return x().off(e), s.apply(this, arguments) }, i.guid = s.guid || (s.guid = x.guid++)), this.each(function () { x.event.add(this, e, i, r, n) }) }, one: function (e, t, n, r) { return this.on(e, t, n, r, 1) }, off: function (e, n, r) { var i, o; if (e && e.preventDefault && e.handleObj) return i = e.handleObj, x(e.delegateTarget).off(i.namespace ? i.origType + "." + i.namespace : i.origType, i.selector, i.handler), this; if ("object" == typeof e) { for (o in e) this.off(o, n, e[o]); return this } return (n === !1 || "function" == typeof n) && (r = n, n = t), r === !1 && (r = ot), this.each(function () { x.event.remove(this, e, r, n) }) }, trigger: function (e, t) { return this.each(function () { x.event.trigger(e, t, this) }) }, triggerHandler: function (e, n) { var r = this[0]; return r ? x.event.trigger(e, n, r, !0) : t } }); var st = /^.[^:#\[\.,]*$/, lt = /^(?:parents|prev(?:Until|All))/, ut = x.expr.match.needsContext, ct = { children: !0, contents: !0, next: !0, prev: !0 }; x.fn.extend({ find: function (e) { var t, n = [], r = this, i = r.length; if ("string" != typeof e) return this.pushStack(x(e).filter(function () { for (t = 0; i > t; t++)if (x.contains(r[t], this)) return !0 })); for (t = 0; i > t; t++)x.find(e, r[t], n); return n = this.pushStack(i > 1 ? x.unique(n) : n), n.selector = this.selector ? this.selector + " " + e : e, n }, has: function (e) { var t, n = x(e, this), r = n.length; return this.filter(function () { for (t = 0; r > t; t++)if (x.contains(this, n[t])) return !0 }) }, not: function (e) { return this.pushStack(ft(this, e || [], !0)) }, filter: function (e) { return this.pushStack(ft(this, e || [], !1)) }, is: function (e) { return !!ft(this, "string" == typeof e && ut.test(e) ? x(e) : e || [], !1).length }, closest: function (e, t) { var n, r = 0, i = this.length, o = [], a = ut.test(e) || "string" != typeof e ? x(e, t || this.context) : 0; for (; i > r; r++)for (n = this[r]; n && n !== t; n = n.parentNode)if (11 > n.nodeType && (a ? a.index(n) > -1 : 1 === n.nodeType && x.find.matchesSelector(n, e))) { n = o.push(n); break } return this.pushStack(o.length > 1 ? x.unique(o) : o) }, index: function (e) { return e ? "string" == typeof e ? x.inArray(this[0], x(e)) : x.inArray(e.jquery ? e[0] : e, this) : this[0] && this[0].parentNode ? this.first().prevAll().length : -1 }, add: function (e, t) { var n = "string" == typeof e ? x(e, t) : x.makeArray(e && e.nodeType ? [e] : e), r = x.merge(this.get(), n); return this.pushStack(x.unique(r)) }, addBack: function (e) { return this.add(null == e ? this.prevObject : this.prevObject.filter(e)) } }); function pt(e, t) { do e = e[t]; while (e && 1 !== e.nodeType); return e } x.each({ parent: function (e) { var t = e.parentNode; return t && 11 !== t.nodeType ? t : null }, parents: function (e) { return x.dir(e, "parentNode") }, parentsUntil: function (e, t, n) { return x.dir(e, "parentNode", n) }, next: function (e) { return pt(e, "nextSibling") }, prev: function (e) { return pt(e, "previousSibling") }, nextAll: function (e) { return x.dir(e, "nextSibling") }, prevAll: function (e) { return x.dir(e, "previousSibling") }, nextUntil: function (e, t, n) { return x.dir(e, "nextSibling", n) }, prevUntil: function (e, t, n) { return x.dir(e, "previousSibling", n) }, siblings: function (e) { return x.sibling((e.parentNode || {}).firstChild, e) }, children: function (e) { return x.sibling(e.firstChild) }, contents: function (e) { return x.nodeName(e, "iframe") ? e.contentDocument || e.contentWindow.document : x.merge([], e.childNodes) } }, function (e, t) { x.fn[e] = function (n, r) { var i = x.map(this, t, n); return "Until" !== e.slice(-5) && (r = n), r && "string" == typeof r && (i = x.filter(r, i)), this.length > 1 && (ct[e] || (i = x.unique(i)), lt.test(e) && (i = i.reverse())), this.pushStack(i) } }), x.extend({ filter: function (e, t, n) { var r = t[0]; return n && (e = ":not(" + e + ")"), 1 === t.length && 1 === r.nodeType ? x.find.matchesSelector(r, e) ? [r] : [] : x.find.matches(e, x.grep(t, function (e) { return 1 === e.nodeType })) }, dir: function (e, n, r) { var i = [], o = e[n]; while (o && 9 !== o.nodeType && (r === t || 1 !== o.nodeType || !x(o).is(r))) 1 === o.nodeType && i.push(o), o = o[n]; return i }, sibling: function (e, t) { var n = []; for (; e; e = e.nextSibling)1 === e.nodeType && e !== t && n.push(e); return n } }); function ft(e, t, n) { if (x.isFunction(t)) return x.grep(e, function (e, r) { return !!t.call(e, r, e) !== n }); if (t.nodeType) return x.grep(e, function (e) { return e === t !== n }); if ("string" == typeof t) { if (st.test(t)) return x.filter(t, e, n); t = x.filter(t, e) } return x.grep(e, function (e) { return x.inArray(e, t) >= 0 !== n }) } function dt(e) { var t = ht.split("|"), n = e.createDocumentFragment(); if (n.createElement) while (t.length) n.createElement(t.pop()); return n } var ht = "abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video", gt = / jQuery\d+="(?:null|\d+)"/g, mt = RegExp("<(?:" + ht + ")[\\s/>]", "i"), yt = /^\s+/, vt = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi, bt = /<([\w:]+)/, xt = /<tbody/i, wt = /<|&#?\w+;/, Tt = /<(?:script|style|link)/i, Ct = /^(?:checkbox|radio)$/i, Nt = /checked\s*(?:[^=]|=\s*.checked.)/i, kt = /^$|\/(?:java|ecma)script/i, Et = /^true\/(.*)/, St = /^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g, At = { option: [1, "<select multiple='multiple'>", "</select>"], legend: [1, "<fieldset>", "</fieldset>"], area: [1, "<map>", "</map>"], param: [1, "<object>", "</object>"], thead: [1, "<table>", "</table>"], tr: [2, "<table><tbody>", "</tbody></table>"], col: [2, "<table><tbody></tbody><colgroup>", "</colgroup></table>"], td: [3, "<table><tbody><tr>", "</tr></tbody></table>"], _default: x.support.htmlSerialize ? [0, "", ""] : [1, "X<div>", "</div>"] }, jt = dt(a), Dt = jt.appendChild(a.createElement("div")); At.optgroup = At.option, At.tbody = At.tfoot = At.colgroup = At.caption = At.thead, At.th = At.td, x.fn.extend({ text: function (e) { return x.access(this, function (e) { return e === t ? x.text(this) : this.empty().append((this[0] && this[0].ownerDocument || a).createTextNode(e)) }, null, e, arguments.length) }, append: function () { return this.domManip(arguments, function (e) { if (1 === this.nodeType || 11 === this.nodeType || 9 === this.nodeType) { var t = Lt(this, e); t.appendChild(e) } }) }, prepend: function () { return this.domManip(arguments, function (e) { if (1 === this.nodeType || 11 === this.nodeType || 9 === this.nodeType) { var t = Lt(this, e); t.insertBefore(e, t.firstChild) } }) }, before: function () { return this.domManip(arguments, function (e) { this.parentNode && this.parentNode.insertBefore(e, this) }) }, after: function () { return this.domManip(arguments, function (e) { this.parentNode && this.parentNode.insertBefore(e, this.nextSibling) }) }, remove: function (e, t) { var n, r = e ? x.filter(e, this) : this, i = 0; for (; null != (n = r[i]); i++)t || 1 !== n.nodeType || x.cleanData(Ft(n)), n.parentNode && (t && x.contains(n.ownerDocument, n) && _t(Ft(n, "script")), n.parentNode.removeChild(n)); return this }, empty: function () { var e, t = 0; for (; null != (e = this[t]); t++) { 1 === e.nodeType && x.cleanData(Ft(e, !1)); while (e.firstChild) e.removeChild(e.firstChild); e.options && x.nodeName(e, "select") && (e.options.length = 0) } return this }, clone: function (e, t) { return e = null == e ? !1 : e, t = null == t ? e : t, this.map(function () { return x.clone(this, e, t) }) }, html: function (e) { return x.access(this, function (e) { var n = this[0] || {}, r = 0, i = this.length; if (e === t) return 1 === n.nodeType ? n.innerHTML.replace(gt, "") : t; if (!("string" != typeof e || Tt.test(e) || !x.support.htmlSerialize && mt.test(e) || !x.support.leadingWhitespace && yt.test(e) || At[(bt.exec(e) || ["", ""])[1].toLowerCase()])) { e = e.replace(vt, "<$1></$2>"); try { for (; i > r; r++)n = this[r] || {}, 1 === n.nodeType && (x.cleanData(Ft(n, !1)), n.innerHTML = e); n = 0 } catch (o) { } } n && this.empty().append(e) }, null, e, arguments.length) }, replaceWith: function () { var e = x.map(this, function (e) { return [e.nextSibling, e.parentNode] }), t = 0; return this.domManip(arguments, function (n) { var r = e[t++], i = e[t++]; i && (r && r.parentNode !== i && (r = this.nextSibling), x(this).remove(), i.insertBefore(n, r)) }, !0), t ? this : this.remove() }, detach: function (e) { return this.remove(e, !0) }, domManip: function (e, t, n) { e = d.apply([], e); var r, i, o, a, s, l, u = 0, c = this.length, p = this, f = c - 1, h = e[0], g = x.isFunction(h); if (g || !(1 >= c || "string" != typeof h || x.support.checkClone) && Nt.test(h)) return this.each(function (r) { var i = p.eq(r); g && (e[0] = h.call(this, r, i.html())), i.domManip(e, t, n) }); if (c && (l = x.buildFragment(e, this[0].ownerDocument, !1, !n && this), r = l.firstChild, 1 === l.childNodes.length && (l = r), r)) { for (a = x.map(Ft(l, "script"), Ht), o = a.length; c > u; u++)i = l, u !== f && (i = x.clone(i, !0, !0), o && x.merge(a, Ft(i, "script"))), t.call(this[u], i, u); if (o) for (s = a[a.length - 1].ownerDocument, x.map(a, qt), u = 0; o > u; u++)i = a[u], kt.test(i.type || "") && !x._data(i, "globalEval") && x.contains(s, i) && (i.src ? x._evalUrl(i.src) : x.globalEval((i.text || i.textContent || i.innerHTML || "").replace(St, ""))); l = r = null } return this } }); function Lt(e, t) { return x.nodeName(e, "table") && x.nodeName(1 === t.nodeType ? t : t.firstChild, "tr") ? e.getElementsByTagName("tbody")[0] || e.appendChild(e.ownerDocument.createElement("tbody")) : e } function Ht(e) { return e.type = (null !== x.find.attr(e, "type")) + "/" + e.type, e } function qt(e) { var t = Et.exec(e.type); return t ? e.type = t[1] : e.removeAttribute("type"), e } function _t(e, t) { var n, r = 0; for (; null != (n = e[r]); r++)x._data(n, "globalEval", !t || x._data(t[r], "globalEval")) } function Mt(e, t) { if (1 === t.nodeType && x.hasData(e)) { var n, r, i, o = x._data(e), a = x._data(t, o), s = o.events; if (s) { delete a.handle, a.events = {}; for (n in s) for (r = 0, i = s[n].length; i > r; r++)x.event.add(t, n, s[n][r]) } a.data && (a.data = x.extend({}, a.data)) } } function Ot(e, t) { var n, r, i; if (1 === t.nodeType) { if (n = t.nodeName.toLowerCase(), !x.support.noCloneEvent && t[x.expando]) { i = x._data(t); for (r in i.events) x.removeEvent(t, r, i.handle); t.removeAttribute(x.expando) } "script" === n && t.text !== e.text ? (Ht(t).text = e.text, qt(t)) : "object" === n ? (t.parentNode && (t.outerHTML = e.outerHTML), x.support.html5Clone && e.innerHTML && !x.trim(t.innerHTML) && (t.innerHTML = e.innerHTML)) : "input" === n && Ct.test(e.type) ? (t.defaultChecked = t.checked = e.checked, t.value !== e.value && (t.value = e.value)) : "option" === n ? t.defaultSelected = t.selected = e.defaultSelected : ("input" === n || "textarea" === n) && (t.defaultValue = e.defaultValue) } } x.each({ appendTo: "append", prependTo: "prepend", insertBefore: "before", insertAfter: "after", replaceAll: "replaceWith" }, function (e, t) { x.fn[e] = function (e) { var n, r = 0, i = [], o = x(e), a = o.length - 1; for (; a >= r; r++)n = r === a ? this : this.clone(!0), x(o[r])[t](n), h.apply(i, n.get()); return this.pushStack(i) } }); function Ft(e, n) { var r, o, a = 0, s = typeof e.getElementsByTagName !== i ? e.getElementsByTagName(n || "*") : typeof e.querySelectorAll !== i ? e.querySelectorAll(n || "*") : t; if (!s) for (s = [], r = e.childNodes || e; null != (o = r[a]); a++)!n || x.nodeName(o, n) ? s.push(o) : x.merge(s, Ft(o, n)); return n === t || n && x.nodeName(e, n) ? x.merge([e], s) : s } function Bt(e) { Ct.test(e.type) && (e.defaultChecked = e.checked) } x.extend({
6        clone: function (e, t, n) { var r, i, o, a, s, l = x.contains(e.ownerDocument, e); if (x.support.html5Clone || x.isXMLDoc(e) || !mt.test("<" + e.nodeName + ">") ? o = e.cloneNode(!0) : (Dt.innerHTML = e.outerHTML, Dt.removeChild(o = Dt.firstChild)), !(x.support.noCloneEvent && x.support.noCloneChecked || 1 !== e.nodeType && 11 !== e.nodeType || x.isXMLDoc(e))) for (r = Ft(o), s = Ft(e), a = 0; null != (i = s[a]); ++a)r[a] && Ot(i, r[a]); if (t) if (n) for (s = s || Ft(e), r = r || Ft(o), a = 0; null != (i = s[a]); a++)Mt(i, r[a]); else Mt(e, o); return r = Ft(o, "script"), r.length > 0 && _t(r, !l && Ft(e, "script")), r = s = i = null, o }, buildFragment: function (e, t, n, r) { var i, o, a, s, l, u, c, p = e.length, f = dt(t), d = [], h = 0; for (; p > h; h++)if (o = e[h], o || 0 === o) if ("object" === x.type(o)) x.merge(d, o.nodeType ? [o] : o); else if (wt.test(o)) { s = s || f.appendChild(t.createElement("div")), l = (bt.exec(o) || ["", ""])[1].toLowerCase(), c = At[l] || At._default, s.innerHTML = c[1] + o.replace(vt, "<$1></$2>") + c[2], i = c[0]; while (i--) s = s.lastChild; if (!x.support.leadingWhitespace && yt.test(o) && d.push(t.createTextNode(yt.exec(o)[0])), !x.support.tbody) { o = "table" !== l || xt.test(o) ? "<table>" !== c[1] || xt.test(o) ? 0 : s : s.firstChild, i = o && o.childNodes.length; while (i--) x.nodeName(u = o.childNodes[i], "tbody") && !u.childNodes.length && o.removeChild(u) } x.merge(d, s.childNodes), s.textContent = ""; while (s.firstChild) s.removeChild(s.firstChild); s = f.lastChild } else d.push(t.createTextNode(o)); s && f.removeChild(s), x.support.appendChecked || x.grep(Ft(d, "input"), Bt), h = 0; while (o = d[h++]) if ((!r || -1 === x.inArray(o, r)) && (a = x.contains(o.ownerDocument, o), s = Ft(f.appendChild(o), "script"), a && _t(s), n)) { i = 0; while (o = s[i++]) kt.test(o.type || "") && n.push(o) } return s = null, f }, cleanData: function (e, t) {
7            var n, r, o, a, s = 0, l = x.expando, u = x.cache, c = x.support.deleteExpando, f = x.event.special; for (; null != (n = e[s]); s++)if ((t || x.acceptData(n)) && (o = n[l], a = o && u[o])) {
8                if (a.events) for (r in a.events) f[r] ? x.event.remove(n, r) : x.removeEvent(n, r, a.handle);
9                u[o] && (delete u[o], c ? delete n[l] : typeof n.removeAttribute !== i ? n.removeAttribute(l) : n[l] = null, p.push(o))
10            }
11        }, _evalUrl: function (e) { return x.ajax({ url: e, type: "GET", dataType: "script", async: !1, global: !1, "throws": !0 }) }
12    }), x.fn.extend({ wrapAll: function (e) { if (x.isFunction(e)) return this.each(function (t) { x(this).wrapAll(e.call(this, t)) }); if (this[0]) { var t = x(e, this[0].ownerDocument).eq(0).clone(!0); this[0].parentNode && t.insertBefore(this[0]), t.map(function () { var e = this; while (e.firstChild && 1 === e.firstChild.nodeType) e = e.firstChild; return e }).append(this) } return this }, wrapInner: function (e) { return x.isFunction(e) ? this.each(function (t) { x(this).wrapInner(e.call(this, t)) }) : this.each(function () { var t = x(this), n = t.contents(); n.length ? n.wrapAll(e) : t.append(e) }) }, wrap: function (e) { var t = x.isFunction(e); return this.each(function (n) { x(this).wrapAll(t ? e.call(this, n) : e) }) }, unwrap: function () { return this.parent().each(function () { x.nodeName(this, "body") || x(this).replaceWith(this.childNodes) }).end() } }); var Pt, Rt, Wt, $t = /alpha\([^)]*\)/i, It = /opacity\s*=\s*([^)]*)/, zt = /^(top|right|bottom|left)$/, Xt = /^(none|table(?!-c[ea]).+)/, Ut = /^margin/, Vt = RegExp("^(" + w + ")(.*)$", "i"), Yt = RegExp("^(" + w + ")(?!px)[a-z%]+$", "i"), Jt = RegExp("^([+-])=(" + w + ")", "i"), Gt = { BODY: "block" }, Qt = { position: "absolute", visibility: "hidden", display: "block" }, Kt = { letterSpacing: 0, fontWeight: 400 }, Zt = ["Top", "Right", "Bottom", "Left"], en = ["Webkit", "O", "Moz", "ms"]; function tn(e, t) { if (t in e) return t; var n = t.charAt(0).toUpperCase() + t.slice(1), r = t, i = en.length; while (i--) if (t = en[i] + n, t in e) return t; return r } function nn(e, t) { return e = t || e, "none" === x.css(e, "display") || !x.contains(e.ownerDocument, e) } function rn(e, t) { var n, r, i, o = [], a = 0, s = e.length; for (; s > a; a++)r = e[a], r.style && (o[a] = x._data(r, "olddisplay"), n = r.style.display, t ? (o[a] || "none" !== n || (r.style.display = ""), "" === r.style.display && nn(r) && (o[a] = x._data(r, "olddisplay", ln(r.nodeName)))) : o[a] || (i = nn(r), (n && "none" !== n || !i) && x._data(r, "olddisplay", i ? n : x.css(r, "display")))); for (a = 0; s > a; a++)r = e[a], r.style && (t && "none" !== r.style.display && "" !== r.style.display || (r.style.display = t ? o[a] || "" : "none")); return e } x.fn.extend({ css: function (e, n) { return x.access(this, function (e, n, r) { var i, o, a = {}, s = 0; if (x.isArray(n)) { for (o = Rt(e), i = n.length; i > s; s++)a[n[s]] = x.css(e, n[s], !1, o); return a } return r !== t ? x.style(e, n, r) : x.css(e, n) }, e, n, arguments.length > 1) }, show: function () { return rn(this, !0) }, hide: function () { return rn(this) }, toggle: function (e) { return "boolean" == typeof e ? e ? this.show() : this.hide() : this.each(function () { nn(this) ? x(this).show() : x(this).hide() }) } }), x.extend({ cssHooks: { opacity: { get: function (e, t) { if (t) { var n = Wt(e, "opacity"); return "" === n ? "1" : n } } } }, cssNumber: { columnCount: !0, fillOpacity: !0, fontWeight: !0, lineHeight: !0, opacity: !0, order: !0, orphans: !0, widows: !0, zIndex: !0, zoom: !0 }, cssProps: { "float": x.support.cssFloat ? "cssFloat" : "styleFloat" }, style: function (e, n, r, i) { if (e && 3 !== e.nodeType && 8 !== e.nodeType && e.style) { var o, a, s, l = x.camelCase(n), u = e.style; if (n = x.cssProps[l] || (x.cssProps[l] = tn(u, l)), s = x.cssHooks[n] || x.cssHooks[l], r === t) return s && "get" in s && (o = s.get(e, !1, i)) !== t ? o : u[n]; if (a = typeof r, "string" === a && (o = Jt.exec(r)) && (r = (o[1] + 1) * o[2] + parseFloat(x.css(e, n)), a = "number"), !(null == r || "number" === a && isNaN(r) || ("number" !== a || x.cssNumber[l] || (r += "px"), x.support.clearCloneStyle || "" !== r || 0 !== n.indexOf("background") || (u[n] = "inherit"), s && "set" in s && (r = s.set(e, r, i)) === t))) try { u[n] = r } catch (c) { } } }, css: function (e, n, r, i) { var o, a, s, l = x.camelCase(n); return n = x.cssProps[l] || (x.cssProps[l] = tn(e.style, l)), s = x.cssHooks[n] || x.cssHooks[l], s && "get" in s && (a = s.get(e, !0, r)), a === t && (a = Wt(e, n, i)), "normal" === a && n in Kt && (a = Kt[n]), "" === r || r ? (o = parseFloat(a), r === !0 || x.isNumeric(o) ? o || 0 : a) : a } }), e.getComputedStyle ? (Rt = function (t) { return e.getComputedStyle(t, null) }, Wt = function (e, n, r) { var i, o, a, s = r || Rt(e), l = s ? s.getPropertyValue(n) || s[n] : t, u = e.style; return s && ("" !== l || x.contains(e.ownerDocument, e) || (l = x.style(e, n)), Yt.test(l) && Ut.test(n) && (i = u.width, o = u.minWidth, a = u.maxWidth, u.minWidth = u.maxWidth = u.width = l, l = s.width, u.width = i, u.minWidth = o, u.maxWidth = a)), l }) : a.documentElement.currentStyle && (Rt = function (e) { return e.currentStyle }, Wt = function (e, n, r) { var i, o, a, s = r || Rt(e), l = s ? s[n] : t, u = e.style; return null == l && u && u[n] && (l = u[n]), Yt.test(l) && !zt.test(n) && (i = u.left, o = e.runtimeStyle, a = o && o.left, a && (o.left = e.currentStyle.left), u.left = "fontSize" === n ? "1em" : l, l = u.pixelLeft + "px", u.left = i, a && (o.left = a)), "" === l ? "auto" : l }); function on(e, t, n) { var r = Vt.exec(t); return r ? Math.max(0, r[1] - (n || 0)) + (r[2] || "px") : t } function an(e, t, n, r, i) { var o = n === (r ? "border" : "content") ? 4 : "width" === t ? 1 : 0, a = 0; for (; 4 > o; o += 2)"margin" === n && (a += x.css(e, n + Zt[o], !0, i)), r ? ("content" === n && (a -= x.css(e, "padding" + Zt[o], !0, i)), "margin" !== n && (a -= x.css(e, "border" + Zt[o] + "Width", !0, i))) : (a += x.css(e, "padding" + Zt[o], !0, i), "padding" !== n && (a += x.css(e, "border" + Zt[o] + "Width", !0, i))); return a } function sn(e, t, n) { var r = !0, i = "width" === t ? e.offsetWidth : e.offsetHeight, o = Rt(e), a = x.support.boxSizing && "border-box" === x.css(e, "boxSizing", !1, o); if (0 >= i || null == i) { if (i = Wt(e, t, o), (0 > i || null == i) && (i = e.style[t]), Yt.test(i)) return i; r = a && (x.support.boxSizingReliable || i === e.style[t]), i = parseFloat(i) || 0 } return i + an(e, t, n || (a ? "border" : "content"), r, o) + "px" } function ln(e) { var t = a, n = Gt[e]; return n || (n = un(e, t), "none" !== n && n || (Pt = (Pt || x("<iframe frameborder='0' width='0' height='0'/>").css("cssText", "display:block !important")).appendTo(t.documentElement), t = (Pt[0].contentWindow || Pt[0].contentDocument).document, t.write("<!doctype html><html><body>"), t.close(), n = un(e, t), Pt.detach()), Gt[e] = n), n } function un(e, t) { var n = x(t.createElement(e)).appendTo(t.body), r = x.css(n[0], "display"); return n.remove(), r } x.each(["height", "width"], function (e, n) { x.cssHooks[n] = { get: function (e, r, i) { return r ? 0 === e.offsetWidth && Xt.test(x.css(e, "display")) ? x.swap(e, Qt, function () { return sn(e, n, i) }) : sn(e, n, i) : t }, set: function (e, t, r) { var i = r && Rt(e); return on(e, t, r ? an(e, n, r, x.support.boxSizing && "border-box" === x.css(e, "boxSizing", !1, i), i) : 0) } } }), x.support.opacity || (x.cssHooks.opacity = { get: function (e, t) { return It.test((t && e.currentStyle ? e.currentStyle.filter : e.style.filter) || "") ? .01 * parseFloat(RegExp.$1) + "" : t ? "1" : "" }, set: function (e, t) { var n = e.style, r = e.currentStyle, i = x.isNumeric(t) ? "alpha(opacity=" + 100 * t + ")" : "", o = r && r.filter || n.filter || ""; n.zoom = 1, (t >= 1 || "" === t) && "" === x.trim(o.replace($t, "")) && n.removeAttribute && (n.removeAttribute("filter"), "" === t || r && !r.filter) || (n.filter = $t.test(o) ? o.replace($t, i) : o + " " + i) } }), x(function () { x.support.reliableMarginRight || (x.cssHooks.marginRight = { get: function (e, n) { return n ? x.swap(e, { display: "inline-block" }, Wt, [e, "marginRight"]) : t } }), !x.support.pixelPosition && x.fn.position && x.each(["top", "left"], function (e, n) { x.cssHooks[n] = { get: function (e, r) { return r ? (r = Wt(e, n), Yt.test(r) ? x(e).position()[n] + "px" : r) : t } } }) }), x.expr && x.expr.filters && (x.expr.filters.hidden = function (e) { return 0 >= e.offsetWidth && 0 >= e.offsetHeight || !x.support.reliableHiddenOffsets && "none" === (e.style && e.style.display || x.css(e, "display")) }, x.expr.filters.visible = function (e) { return !x.expr.filters.hidden(e) }), x.each({ margin: "", padding: "", border: "Width" }, function (e, t) { x.cssHooks[e + t] = { expand: function (n) { var r = 0, i = {}, o = "string" == typeof n ? n.split(" ") : [n]; for (; 4 > r; r++)i[e + Zt[r] + t] = o[r] || o[r - 2] || o[0]; return i } }, Ut.test(e) || (x.cssHooks[e + t].set = on) }); var cn = /%20/g, pn = /\[\]$/, fn = /\r?\n/g, dn = /^(?:submit|button|image|reset|file)$/i, hn = /^(?:input|select|textarea|keygen)/i; x.fn.extend({ serialize: function () { return x.param(this.serializeArray()) }, serializeArray: function () { return this.map(function () { var e = x.prop(this, "elements"); return e ? x.makeArray(e) : this }).filter(function () { var e = this.type; return this.name && !x(this).is(":disabled") && hn.test(this.nodeName) && !dn.test(e) && (this.checked || !Ct.test(e)) }).map(function (e, t) { var n = x(this).val(); return null == n ? null : x.isArray(n) ? x.map(n, function (e) { return { name: t.name, value: e.replace(fn, "\r\n") } }) : { name: t.name, value: n.replace(fn, "\r\n") } }).get() } }), x.param = function (e, n) { var r, i = [], o = function (e, t) { t = x.isFunction(t) ? t() : null == t ? "" : t, i[i.length] = encodeURIComponent(e) + "=" + encodeURIComponent(t) }; if (n === t && (n = x.ajaxSettings && x.ajaxSettings.traditional), x.isArray(e) || e.jquery && !x.isPlainObject(e)) x.each(e, function () { o(this.name, this.value) }); else for (r in e) gn(r, e[r], n, o); return i.join("&").replace(cn, "+") }; function gn(e, t, n, r) { var i; if (x.isArray(t)) x.each(t, function (t, i) { n || pn.test(e) ? r(e, i) : gn(e + "[" + ("object" == typeof i ? t : "") + "]", i, n, r) }); else if (n || "object" !== x.type(t)) r(e, t); else for (i in t) gn(e + "[" + i + "]", t[i], n, r) } x.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) { x.fn[t] = function (e, n) { return arguments.length > 0 ? this.on(t, null, e, n) : this.trigger(t) } }), x.fn.extend({ hover: function (e, t) { return this.mouseenter(e).mouseleave(t || e) }, 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, r) { return this.on(t, e, n, r) }, undelegate: function (e, t, n) { return 1 === arguments.length ? this.off(e, "**") : this.off(t, e || "**", n) } }); var mn, yn, vn = x.now(), bn = /\?/, xn = /#.*$/, wn = /([?&])_=[^&]*/, Tn = /^(.*?):[ \t]*([^\r\n]*)\r?$/gm, Cn = /^(?:about|app|app-storage|.+-extension|file|res|widget):$/, Nn = /^(?:GET|HEAD)$/, kn = /^\/\//, En = /^([\w.+-]+:)(?:\/\/([^\/?#:]*)(?::(\d+)|)|)/, Sn = x.fn.load, An = {}, jn = {}, Dn = "*/".concat("*"); try { yn = o.href } catch (Ln) { yn = a.createElement("a"), yn.href = "", yn = yn.href } mn = En.exec(yn.toLowerCase()) || []; function Hn(e) { return function (t, n) { "string" != typeof t && (n = t, t = "*"); var r, i = 0, o = t.toLowerCase().match(T) || []; if (x.isFunction(n)) while (r = o[i++]) "+" === r[0] ? (r = r.slice(1) || "*", (e[r] = e[r] || []).unshift(n)) : (e[r] = e[r] || []).push(n) } } function qn(e, n, r, i) { var o = {}, a = e === jn; function s(l) { var u; return o[l] = !0, x.each(e[l] || [], function (e, l) { var c = l(n, r, i); return "string" != typeof c || a || o[c] ? a ? !(u = c) : t : (n.dataTypes.unshift(c), s(c), !1) }), u } return s(n.dataTypes[0]) || !o["*"] && s("*") } function _n(e, n) { var r, i, o = x.ajaxSettings.flatOptions || {}; for (i in n) n[i] !== t && ((o[i] ? e : r || (r = {}))[i] = n[i]); return r && x.extend(!0, e, r), e } x.fn.load = function (e, n, r) { if ("string" != typeof e && Sn) return Sn.apply(this, arguments); var i, o, a, s = this, l = e.indexOf(" "); return l >= 0 && (i = e.slice(l, e.length), e = e.slice(0, l)), x.isFunction(n) ? (r = n, n = t) : n && "object" == typeof n && (a = "POST"), s.length > 0 && x.ajax({ url: e, type: a, dataType: "html", data: n }).done(function (e) { o = arguments, s.html(i ? x("<div>").append(x.parseHTML(e)).find(i) : e) }).complete(r && function (e, t) { s.each(r, o || [e.responseText, t, e]) }), this }, x.each(["ajaxStart", "ajaxStop", "ajaxComplete", "ajaxError", "ajaxSuccess", "ajaxSend"], function (e, t) { x.fn[t] = function (e) { return this.on(t, e) } }), x.extend({ active: 0, lastModified: {}, etag: {}, ajaxSettings: { url: yn, type: "GET", isLocal: Cn.test(mn[1]), global: !0, processData: !0, async: !0, contentType: "application/x-www-form-urlencoded; charset=UTF-8", accepts: { "*": Dn, text: "text/plain", html: "text/html", xml: "application/xml, text/xml", json: "application/json, text/javascript" }, contents: { xml: /xml/, html: /html/, json: /json/ }, responseFields: { xml: "responseXML", text: "responseText", json: "responseJSON" }, converters: { "* text": String, "text html": !0, "text json": x.parseJSON, "text xml": x.parseXML }, flatOptions: { url: !0, context: !0 } }, ajaxSetup: function (e, t) { return t ? _n(_n(e, x.ajaxSettings), t) : _n(x.ajaxSettings, e) }, ajaxPrefilter: Hn(An), ajaxTransport: Hn(jn), ajax: function (e, n) { "object" == typeof e && (n = e, e = t), n = n || {}; var r, i, o, a, s, l, u, c, p = x.ajaxSetup({}, n), f = p.context || p, d = p.context && (f.nodeType || f.jquery) ? x(f) : x.event, h = x.Deferred(), g = x.Callbacks("once memory"), m = p.statusCode || {}, y = {}, v = {}, b = 0, w = "canceled", C = { readyState: 0, getResponseHeader: function (e) { var t; if (2 === b) { if (!c) { c = {}; while (t = Tn.exec(a)) c[t[1].toLowerCase()] = t[2] } t = c[e.toLowerCase()] } return null == t ? null : t }, getAllResponseHeaders: function () { return 2 === b ? a : null }, setRequestHeader: function (e, t) { var n = e.toLowerCase(); return b || (e = v[n] = v[n] || e, y[e] = t), this }, overrideMimeType: function (e) { return b || (p.mimeType = e), this }, statusCode: function (e) { var t; if (e) if (2 > b) for (t in e) m[t] = [m[t], e[t]]; else C.always(e[C.status]); return this }, abort: function (e) { var t = e || w; return u && u.abort(t), k(0, t), this } }; if (h.promise(C).complete = g.add, C.success = C.done, C.error = C.fail, p.url = ((e || p.url || yn) + "").replace(xn, "").replace(kn, mn[1] + "//"), p.type = n.method || n.type || p.method || p.type, p.dataTypes = x.trim(p.dataType || "*").toLowerCase().match(T) || [""], null == p.crossDomain && (r = En.exec(p.url.toLowerCase()), p.crossDomain = !(!r || r[1] === mn[1] && r[2] === mn[2] && (r[3] || ("http:" === r[1] ? "80" : "443")) === (mn[3] || ("http:" === mn[1] ? "80" : "443")))), p.data && p.processData && "string" != typeof p.data && (p.data = x.param(p.data, p.traditional)), qn(An, p, n, C), 2 === b) return C; l = p.global, l && 0 === x.active++ && x.event.trigger("ajaxStart"), p.type = p.type.toUpperCase(), p.hasContent = !Nn.test(p.type), o = p.url, p.hasContent || (p.data && (o = p.url += (bn.test(o) ? "&" : "?") + p.data, delete p.data), p.cache === !1 && (p.url = wn.test(o) ? o.replace(wn, "$1_=" + vn++) : o + (bn.test(o) ? "&" : "?") + "_=" + vn++)), p.ifModified && (x.lastModified[o] && C.setRequestHeader("If-Modified-Since", x.lastModified[o]), x.etag[o] && C.setRequestHeader("If-None-Match", x.etag[o])), (p.data && p.hasContent && p.contentType !== !1 || n.contentType) && C.setRequestHeader("Content-Type", p.contentType), C.setRequestHeader("Accept", p.dataTypes[0] && p.accepts[p.dataTypes[0]] ? p.accepts[p.dataTypes[0]] + ("*" !== p.dataTypes[0] ? ", " + Dn + "; q=0.01" : "") : p.accepts["*"]); for (i in p.headers) C.setRequestHeader(i, p.headers[i]); if (p.beforeSend && (p.beforeSend.call(f, C, p) === !1 || 2 === b)) return C.abort(); w = "abort"; for (i in { success: 1, error: 1, complete: 1 }) C[i](p[i]); if (u = qn(jn, p, n, C)) { C.readyState = 1, l && d.trigger("ajaxSend", [C, p]), p.async && p.timeout > 0 && (s = setTimeout(function () { C.abort("timeout") }, p.timeout)); try { b = 1, u.send(y, k) } catch (N) { if (!(2 > b)) throw N; k(-1, N) } } else k(-1, "No Transport"); function k(e, n, r, i) { var c, y, v, w, T, N = n; 2 !== b && (b = 2, s && clearTimeout(s), u = t, a = i || "", C.readyState = e > 0 ? 4 : 0, c = e >= 200 && 300 > e || 304 === e, r && (w = Mn(p, C, r)), w = On(p, w, C, c), c ? (p.ifModified && (T = C.getResponseHeader("Last-Modified"), T && (x.lastModified[o] = T), T = C.getResponseHeader("etag"), T && (x.etag[o] = T)), 204 === e || "HEAD" === p.type ? N = "nocontent" : 304 === e ? N = "notmodified" : (N = w.state, y = w.data, v = w.error, c = !v)) : (v = N, (e || !N) && (N = "error", 0 > e && (e = 0))), C.status = e, C.statusText = (n || N) + "", c ? h.resolveWith(f, [y, N, C]) : h.rejectWith(f, [C, N, v]), C.statusCode(m), m = t, l && d.trigger(c ? "ajaxSuccess" : "ajaxError", [C, p, c ? y : v]), g.fireWith(f, [C, N]), l && (d.trigger("ajaxComplete", [C, p]), --x.active || x.event.trigger("ajaxStop"))) } return C }, getJSON: function (e, t, n) { return x.get(e, t, n, "json") }, getScript: function (e, n) { return x.get(e, t, n, "script") } }), x.each(["get", "post"], function (e, n) { x[n] = function (e, r, i, o) { return x.isFunction(r) && (o = o || i, i = r, r = t), x.ajax({ url: e, type: n, dataType: o, data: r, success: i }) } }); function Mn(e, n, r) { var i, o, a, s, l = e.contents, u = e.dataTypes; while ("*" === u[0]) u.shift(), o === t && (o = e.mimeType || n.getResponseHeader("Content-Type")); if (o) for (s in l) if (l[s] && l[s].test(o)) { u.unshift(s); break } if (u[0] in r) a = u[0]; else { for (s in r) { if (!u[0] || e.converters[s + " " + u[0]]) { a = s; break } i || (i = s) } a = a || i } return a ? (a !== u[0] && u.unshift(a), r[a]) : t } function On(e, t, n, r) { var i, o, a, s, l, u = {}, c = e.dataTypes.slice(); if (c[1]) for (a in e.converters) u[a.toLowerCase()] = e.converters[a]; o = c.shift(); while (o) if (e.responseFields[o] && (n[e.responseFields[o]] = t), !l && r && e.dataFilter && (t = e.dataFilter(t, e.dataType)), l = o, o = c.shift()) if ("*" === o) o = l; else if ("*" !== l && l !== o) { if (a = u[l + " " + o] || u["* " + o], !a) for (i in u) if (s = i.split(" "), s[1] === o && (a = u[l + " " + s[0]] || u["* " + s[0]])) { a === !0 ? a = u[i] : u[i] !== !0 && (o = s[0], c.unshift(s[1])); break } if (a !== !0) if (a && e["throws"]) t = a(t); else try { t = a(t) } catch (p) { return { state: "parsererror", error: a ? p : "No conversion from " + l + " to " + o } } } return { state: "success", data: t } } x.ajaxSetup({ accepts: { script: "text/javascript, application/javascript, application/ecmascript, application/x-ecmascript" }, contents: { script: /(?:java|ecma)script/ }, converters: { "text script": function (e) { return x.globalEval(e), e } } }), x.ajaxPrefilter("script", function (e) { e.cache === t && (e.cache = !1), e.crossDomain && (e.type = "GET", e.global = !1) }), x.ajaxTransport("script", function (e) { if (e.crossDomain) { var n, r = a.head || x("head")[0] || a.documentElement; return { send: function (t, i) { n = a.createElement("script"), n.async = !0, e.scriptCharset && (n.charset = e.scriptCharset), n.src = e.url, n.onload = n.onreadystatechange = function (e, t) { (t || !n.readyState || /loaded|complete/.test(n.readyState)) && (n.onload = n.onreadystatechange = null, n.parentNode && n.parentNode.removeChild(n), n = null, t || i(200, "success")) }, r.insertBefore(n, r.firstChild) }, abort: function () { n && n.onload(t, !0) } } } }); var Fn = [], Bn = /(=)\?(?=&|$)|\?\?/; x.ajaxSetup({ jsonp: "callback", jsonpCallback: function () { var e = Fn.pop() || x.expando + "_" + vn++; return this[e] = !0, e } }), x.ajaxPrefilter("json jsonp", function (n, r, i) { var o, a, s, l = n.jsonp !== !1 && (Bn.test(n.url) ? "url" : "string" == typeof n.data && !(n.contentType || "").indexOf("application/x-www-form-urlencoded") && Bn.test(n.data) && "data"); return l || "jsonp" === n.dataTypes[0] ? (o = n.jsonpCallback = x.isFunction(n.jsonpCallback) ? n.jsonpCallback() : n.jsonpCallback, l ? n[l] = n[l].replace(Bn, "$1" + o) : n.jsonp !== !1 && (n.url += (bn.test(n.url) ? "&" : "?") + n.jsonp + "=" + o), n.converters["script json"] = function () { return s || x.error(o + " was not called"), s[0] }, n.dataTypes[0] = "json", a = e[o], e[o] = function () { s = arguments }, i.always(function () { e[o] = a, n[o] && (n.jsonpCallback = r.jsonpCallback, Fn.push(o)), s && x.isFunction(a) && a(s[0]), s = a = t }), "script") : t }); var Pn, Rn, Wn = 0, $n = e.ActiveXObject && function () { var e; for (e in Pn) Pn[e](t, !0) }; function In() { try { return new e.XMLHttpRequest } catch (t) { } } function zn() { try { return new e.ActiveXObject("Microsoft.XMLHTTP") } catch (t) { } } x.ajaxSettings.xhr = e.ActiveXObject ? function () { return !this.isLocal && In() || zn() } : In, Rn = x.ajaxSettings.xhr(), x.support.cors = !!Rn && "withCredentials" in Rn, Rn = x.support.ajax = !!Rn, Rn && x.ajaxTransport(function (n) { if (!n.crossDomain || x.support.cors) { var r; return { send: function (i, o) { var a, s, l = n.xhr(); if (n.username ? l.open(n.type, n.url, n.async, n.username, n.password) : l.open(n.type, n.url, n.async), n.xhrFields) for (s in n.xhrFields) l[s] = n.xhrFields[s]; n.mimeType && l.overrideMimeType && l.overrideMimeType(n.mimeType), n.crossDomain || i["X-Requested-With"] || (i["X-Requested-With"] = "XMLHttpRequest"); try { for (s in i) l.setRequestHeader(s, i[s]) } catch (u) { } l.send(n.hasContent && n.data || null), r = function (e, i) { var s, u, c, p; try { if (r && (i || 4 === l.readyState)) if (r = t, a && (l.onreadystatechange = x.noop, $n && delete Pn[a]), i) 4 !== l.readyState && l.abort(); else { p = {}, s = l.status, u = l.getAllResponseHeaders(), "string" == typeof l.responseText && (p.text = l.responseText); try { c = l.statusText } catch (f) { c = "" } s || !n.isLocal || n.crossDomain ? 1223 === s && (s = 204) : s = p.text ? 200 : 404 } } catch (d) { i || o(-1, d) } p && o(s, c, p, u) }, n.async ? 4 === l.readyState ? setTimeout(r) : (a = ++Wn, $n && (Pn || (Pn = {}, x(e).unload($n)), Pn[a] = r), l.onreadystatechange = r) : r() }, abort: function () { r && r(t, !0) } } } }); var Xn, Un, Vn = /^(?:toggle|show|hide)$/, Yn = RegExp("^(?:([+-])=|)(" + w + ")([a-z%]*)$", "i"), Jn = /queueHooks$/, Gn = [nr], Qn = { "*": [function (e, t) { var n = this.createTween(e, t), r = n.cur(), i = Yn.exec(t), o = i && i[3] || (x.cssNumber[e] ? "" : "px"), a = (x.cssNumber[e] || "px" !== o && +r) && Yn.exec(x.css(n.elem, e)), s = 1, l = 20; if (a && a[3] !== o) { o = o || a[3], i = i || [], a = +r || 1; do s = s || ".5", a /= s, x.style(n.elem, e, a + o); while (s !== (s = n.cur() / r) && 1 !== s && --l) } return i && (a = n.start = +a || +r || 0, n.unit = o, n.end = i[1] ? a + (i[1] + 1) * i[2] : +i[2]), n }] }; function Kn() { return setTimeout(function () { Xn = t }), Xn = x.now() } function Zn(e, t, n) { var r, i = (Qn[t] || []).concat(Qn["*"]), o = 0, a = i.length; for (; a > o; o++)if (r = i[o].call(n, t, e)) return r } function er(e, t, n) { var r, i, o = 0, a = Gn.length, s = x.Deferred().always(function () { delete l.elem }), l = function () { if (i) return !1; var t = Xn || Kn(), n = Math.max(0, u.startTime + u.duration - t), r = n / u.duration || 0, o = 1 - r, a = 0, l = u.tweens.length; for (; l > a; a++)u.tweens[a].run(o); return s.notifyWith(e, [u, o, n]), 1 > o && l ? n : (s.resolveWith(e, [u]), !1) }, u = s.promise({ elem: e, props: x.extend({}, t), opts: x.extend(!0, { specialEasing: {} }, n), originalProperties: t, originalOptions: n, startTime: Xn || Kn(), duration: n.duration, tweens: [], createTween: function (t, n) { var r = x.Tween(e, u.opts, t, n, u.opts.specialEasing[t] || u.opts.easing); return u.tweens.push(r), r }, stop: function (t) { var n = 0, r = t ? u.tweens.length : 0; if (i) return this; for (i = !0; r > n; n++)u.tweens[n].run(1); return t ? s.resolveWith(e, [u, t]) : s.rejectWith(e, [u, t]), this } }), c = u.props; for (tr(c, u.opts.specialEasing); a > o; o++)if (r = Gn[o].call(u, e, c, u.opts)) return r; return x.map(c, Zn, u), x.isFunction(u.opts.start) && u.opts.start.call(e, u), x.fx.timer(x.extend(l, { elem: e, anim: u, queue: u.opts.queue })), u.progress(u.opts.progress).done(u.opts.done, u.opts.complete).fail(u.opts.fail).always(u.opts.always) } function tr(e, t) { var n, r, i, o, a; for (n in e) if (r = x.camelCase(n), i = t[r], o = e[n], x.isArray(o) && (i = o[1], o = e[n] = o[0]), n !== r && (e[r] = o, delete e[n]), a = x.cssHooks[r], a && "expand" in a) { o = a.expand(o), delete e[r]; for (n in o) n in e || (e[n] = o[n], t[n] = i) } else t[r] = i } x.Animation = x.extend(er, { tweener: function (e, t) { x.isFunction(e) ? (t = e, e = ["*"]) : e = e.split(" "); var n, r = 0, i = e.length; for (; i > r; r++)n = e[r], Qn[n] = Qn[n] || [], Qn[n].unshift(t) }, prefilter: function (e, t) { t ? Gn.unshift(e) : Gn.push(e) } }); function nr(e, t, n) { var r, i, o, a, s, l, u = this, c = {}, p = e.style, f = e.nodeType && nn(e), d = x._data(e, "fxshow"); n.queue || (s = x._queueHooks(e, "fx"), null == s.unqueued && (s.unqueued = 0, l = s.empty.fire, s.empty.fire = function () { s.unqueued || l() }), s.unqueued++, u.always(function () { u.always(function () { s.unqueued--, x.queue(e, "fx").length || s.empty.fire() }) })), 1 === e.nodeType && ("height" in t || "width" in t) && (n.overflow = [p.overflow, p.overflowX, p.overflowY], "inline" === x.css(e, "display") && "none" === x.css(e, "float") && (x.support.inlineBlockNeedsLayout && "inline" !== ln(e.nodeName) ? p.zoom = 1 : p.display = "inline-block")), n.overflow && (p.overflow = "hidden", x.support.shrinkWrapBlocks || u.always(function () { p.overflow = n.overflow[0], p.overflowX = n.overflow[1], p.overflowY = n.overflow[2] })); for (r in t) if (i = t[r], Vn.exec(i)) { if (delete t[r], o = o || "toggle" === i, i === (f ? "hide" : "show")) continue; c[r] = d && d[r] || x.style(e, r) } if (!x.isEmptyObject(c)) { d ? "hidden" in d && (f = d.hidden) : d = x._data(e, "fxshow", {}), o && (d.hidden = !f), f ? x(e).show() : u.done(function () { x(e).hide() }), u.done(function () { var t; x._removeData(e, "fxshow"); for (t in c) x.style(e, t, c[t]) }); for (r in c) a = Zn(f ? d[r] : 0, r, u), r in d || (d[r] = a.start, f && (a.end = a.start, a.start = "width" === r || "height" === r ? 1 : 0)) } } function rr(e, t, n, r, i) { return new rr.prototype.init(e, t, n, r, i) } x.Tween = rr, rr.prototype = { constructor: rr, init: function (e, t, n, r, i, o) { this.elem = e, this.prop = n, this.easing = i || "swing", this.options = t, this.start = this.now = this.cur(), this.end = r, this.unit = o || (x.cssNumber[n] ? "" : "px") }, cur: function () { var e = rr.propHooks[this.prop]; return e && e.get ? e.get(this) : rr.propHooks._default.get(this) }, run: function (e) { var t, n = rr.propHooks[this.prop]; return this.pos = t = this.options.duration ? x.easing[this.easing](e, this.options.duration * e, 0, 1, this.options.duration) : 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) : rr.propHooks._default.set(this), this } }, rr.prototype.init.prototype = rr.prototype, rr.propHooks = { _default: { get: function (e) { var t; return null == e.elem[e.prop] || e.elem.style && null != e.elem.style[e.prop] ? (t = x.css(e.elem, e.prop, ""), t && "auto" !== t ? t : 0) : e.elem[e.prop] }, set: function (e) { x.fx.step[e.prop] ? x.fx.step[e.prop](e) : e.elem.style && (null != e.elem.style[x.cssProps[e.prop]] || x.cssHooks[e.prop]) ? x.style(e.elem, e.prop, e.now + e.unit) : e.elem[e.prop] = e.now } } }, rr.propHooks.scrollTop = rr.propHooks.scrollLeft = { set: function (e) { e.elem.nodeType && e.elem.parentNode && (e.elem[e.prop] = e.now) } }, x.each(["toggle", "show", "hide"], function (e, t) { var n = x.fn[t]; x.fn[t] = function (e, r, i) { return null == e || "boolean" == typeof e ? n.apply(this, arguments) : this.animate(ir(t, !0), e, r, i) } }), x.fn.extend({ fadeTo: function (e, t, n, r) { return this.filter(nn).css("opacity", 0).show().end().animate({ opacity: t }, e, n, r) }, animate: function (e, t, n, r) { var i = x.isEmptyObject(e), o = x.speed(t, n, r), a = function () { var t = er(this, x.extend({}, e), o); (i || x._data(this, "finish")) && t.stop(!0) }; return a.finish = a, i || o.queue === !1 ? this.each(a) : this.queue(o.queue, a) }, stop: function (e, n, r) { var i = function (e) { var t = e.stop; delete e.stop, t(r) }; return "string" != typeof e && (r = n, n = e, e = t), n && e !== !1 && this.queue(e || "fx", []), this.each(function () { var t = !0, n = null != e && e + "queueHooks", o = x.timers, a = x._data(this); if (n) a[n] && a[n].stop && i(a[n]); else for (n in a) a[n] && a[n].stop && Jn.test(n) && i(a[n]); for (n = o.length; n--;)o[n].elem !== this || null != e && o[n].queue !== e || (o[n].anim.stop(r), t = !1, o.splice(n, 1)); (t || !r) && x.dequeue(this, e) }) }, finish: function (e) { return e !== !1 && (e = e || "fx"), this.each(function () { var t, n = x._data(this), r = n[e + "queue"], i = n[e + "queueHooks"], o = x.timers, a = r ? r.length : 0; for (n.finish = !0, x.queue(this, e, []), i && i.stop && i.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; a > t; t++)r[t] && r[t].finish && r[t].finish.call(this); delete n.finish }) } }); function ir(e, t) { var n, r = { height: e }, i = 0; for (t = t ? 1 : 0; 4 > i; i += 2 - t)n = Zt[i], r["margin" + n] = r["padding" + n] = e; return t && (r.opacity = r.width = e), r } x.each({ slideDown: ir("show"), slideUp: ir("hide"), slideToggle: ir("toggle"), fadeIn: { opacity: "show" }, fadeOut: { opacity: "hide" }, fadeToggle: { opacity: "toggle" } }, function (e, t) { x.fn[e] = function (e, n, r) { return this.animate(t, e, n, r) } }), x.speed = function (e, t, n) { var r = e && "object" == typeof e ? x.extend({}, e) : { complete: n || !n && t || x.isFunction(e) && e, duration: e, easing: n && t || t && !x.isFunction(t) && t }; return r.duration = x.fx.off ? 0 : "number" == typeof r.duration ? r.duration : r.duration in x.fx.speeds ? x.fx.speeds[r.duration] : x.fx.speeds._default, (null == r.queue || r.queue === !0) && (r.queue = "fx"), r.old = r.complete, r.complete = function () { x.isFunction(r.old) && r.old.call(this), r.queue && x.dequeue(this, r.queue) }, r }, x.easing = { linear: function (e) { return e }, swing: function (e) { return .5 - Math.cos(e * Math.PI) / 2 } }, x.timers = [], x.fx = rr.prototype.init, x.fx.tick = function () { var e, n = x.timers, r = 0; for (Xn = x.now(); n.length > r; r++)e = n[r], e() || n[r] !== e || n.splice(r--, 1); n.length || x.fx.stop(), Xn = t }, x.fx.timer = function (e) { e() && x.timers.push(e) && x.fx.start() }, x.fx.interval = 13, x.fx.start = function () { Un || (Un = setInterval(x.fx.tick, x.fx.interval)) }, x.fx.stop = function () { clearInterval(Un), Un = null }, x.fx.speeds = { slow: 600, fast: 200, _default: 400 }, x.fx.step = {}, x.expr && x.expr.filters && (x.expr.filters.animated = function (e) { return x.grep(x.timers, function (t) { return e === t.elem }).length }), x.fn.offset = function (e) { if (arguments.length) return e === t ? this : this.each(function (t) { x.offset.setOffset(this, e, t) }); var n, r, o = { top: 0, left: 0 }, a = this[0], s = a && a.ownerDocument; if (s) return n = s.documentElement, x.contains(n, a) ? (typeof a.getBoundingClientRect !== i && (o = a.getBoundingClientRect()), r = or(s), { top: o.top + (r.pageYOffset || n.scrollTop) - (n.clientTop || 0), left: o.left + (r.pageXOffset || n.scrollLeft) - (n.clientLeft || 0) }) : o }, x.offset = { setOffset: function (e, t, n) { var r = x.css(e, "position"); "static" === r && (e.style.position = "relative"); var i = x(e), o = i.offset(), a = x.css(e, "top"), s = x.css(e, "left"), l = ("absolute" === r || "fixed" === r) && x.inArray("auto", [a, s]) > -1, u = {}, c = {}, p, f; l ? (c = i.position(), p = c.top, f = c.left) : (p = parseFloat(a) || 0, f = parseFloat(s) || 0), x.isFunction(t) && (t = t.call(e, n, o)), null != t.top && (u.top = t.top - o.top + p), null != t.left && (u.left = t.left - o.left + f), "using" in t ? t.using.call(e, u) : i.css(u) } }, x.fn.extend({ position: function () { if (this[0]) { var e, t, n = { top: 0, left: 0 }, r = this[0]; return "fixed" === x.css(r, "position") ? t = r.getBoundingClientRect() : (e = this.offsetParent(), t = this.offset(), x.nodeName(e[0], "html") || (n = e.offset()), n.top += x.css(e[0], "borderTopWidth", !0), n.left += x.css(e[0], "borderLeftWidth", !0)), { top: t.top - n.top - x.css(r, "marginTop", !0), left: t.left - n.left - x.css(r, "marginLeft", !0) } } }, offsetParent: function () { return this.map(function () { var e = this.offsetParent || s; while (e && !x.nodeName(e, "html") && "static" === x.css(e, "position")) e = e.offsetParent; return e || s }) } }), x.each({ scrollLeft: "pageXOffset", scrollTop: "pageYOffset" }, function (e, n) { var r = /Y/.test(n); x.fn[e] = function (i) { return x.access(this, function (e, i, o) { var a = or(e); return o === t ? a ? n in a ? a[n] : a.document.documentElement[i] : e[i] : (a ? a.scrollTo(r ? x(a).scrollLeft() : o, r ? o : x(a).scrollTop()) : e[i] = o, t) }, e, i, arguments.length, null) } });
vendor: 5,938 bytes, lines 12-19
12 function or(e) { return x.isWindow(e) ? e : 9 === e.nodeType ? e.defaultView || e.parentWindow : !1 } x.each({ Height: "height", Width: "width" }, function (e, n) { x.each({ padding: "inner" + e, content: n, "": "outer" + e }, function (r, i) { x.fn[i] = function (i, o) { var a = arguments.length && (r || "boolean" != typeof i), s = r || (i === !0 || o === !0 ? "margin" : "border"); return x.access(this, function (n, r, i) { var o; return x.isWindow(n) ? n.document.documentElement["client" + e] : 9 === n.nodeType ? (o = n.documentElement, Math.max(n.body["scroll" + e], o["scroll" + e], n.body["offset" + e], o["offset" + e], o["client" + e])) : i === t ? x.css(n, r, s) : x.style(n, r, i, s) }, n, a ? i : t, a, null) } }) }), x.fn.size = function () { return this.length }, x.fn.andSelf = x.fn.addBack, "object" == typeof module && module && "object" == typeof module.exports ? module.exports = x : (e.jQuery = e.$ = x, "function" == typeof define && define.amd && define("jquery", [], function () { return x }))
13})(window);
14/*!
15 * Bootstrap v3.4.1 (https://getbootstrap.com/)
16 * Copyright 2011-2019 Twitter, Inc.
17 * Licensed under the MIT license
18 */
19if ("undefined" == typeof jQuery) throw new Error("Bootstrap's JavaScript requires jQuery"); !function (t) { "use strict"; var e = jQuery.fn.jquery.split(" ")[0].split("."); if (e[0] < 2 && e[1] < 9 || 1 == e[0] && 9 == e[1] && e[2] < 1 || 3 < e[0]) throw new Error("Bootstrap's JavaScript requires jQuery version 1.9.1 or higher, but lower than version 4") }(), function (n) { "use strict"; n.fn.emulateTransitionEnd = function (t) { var e = !1, i = this; n(this).one("bsTransitionEnd", function () { e = !0 }); return setTimeout(function () { e || n(i).trigger(n.support.transition.end) }, t), this }, n(function () { n.support.transition = function o() { var t = document.createElement("bootstrap"), e = { WebkitTransition: "webkitTransitionEnd", MozTransition: "transitionend", OTransition: "oTransitionEnd otransitionend", transition: "transitionend" }; for (var i in e) if (t.style[i] !== undefined) return { end: e[i] }; return !1 }(), n.support.transition && (n.event.special.bsTransitionEnd = { bindType: n.support.transition.end, delegateType: n.support.transition.end, handle: function (t) { if (n(t.target).is(this)) return t.handleObj.handler.apply(this, arguments) } }) }) }(jQuery), function (s) { "use strict"; var e = '[data-dismiss="alert"]', a = function (t) { s(t).on("click", e, this.close) }; a.VERSION = "3.4.1", a.TRANSITION_DURATION = 150, a.prototype.close = function (t) { var e = s(this), i = e.attr("data-target"); i || (i = (i = e.attr("href")) && i.replace(/.*(?=#[^\s]*$)/, "")), i = "#" === i ? [] : i; var o = s(document).find(i); function n() { o.detach().trigger("closed.bs.alert").remove() } t && t.preventDefault(), o.length || (o = e.closest(".alert")), o.trigger(t = s.Event("close.bs.alert")), t.isDefaultPrevented() || (o.removeClass("in"), s.support.transition && o.hasClass("fade") ? o.one("bsTransitionEnd", n).emulateTransitionEnd(a.TRANSITION_DURATION) : n()) }; var t = s.fn.alert; s.fn.alert = function o(i) { return this.each(function () { var t = s(this), e = t.data("bs.alert"); e || t.data("bs.alert", e = new a(this)), "string" == typeof i && e[i].call(t) }) }, s.fn.alert.Constructor = a, s.fn.alert.noConflict = function () { return s.fn.alert = t, this }, s(document).on("click.bs.alert.data-api", e, a.prototype.close) }(jQuery), function (s) { "use strict"; var n = function (t, e) { this.$element = s(t), this.options = s.extend({}, n.DEFAULTS, e), this.isLoading = !1 }; function i(o) { return this.each(function () { var t = s(this), e = t.data("bs.button"), i = "object" == typeof o && o; e || t.data("bs.button", e = new n(this, i)), "toggle" == o ? e.toggle() : o && e.setState(o) }) } n.VERSION = "3.4.1", n.DEFAULTS = { loadingText: "loading..." }, n.prototype.setState = function (t) { var e = "disabled", i = this.$element, o = i.is("input") ? "val" : "html", n = i.data(); t += "Text", null == n.resetText && i.data("resetText", i[o]()), setTimeout(s.proxy(function () { i[o](null == n[t] ? this.options[t] : n[t]), "loadingText" == t ? (this.isLoading = !0, i.addClass(e).attr(e, e).prop(e, !0)) : this.isLoading && (this.isLoading = !1, i.removeClass(e).removeAttr(e).prop(e, !1)) }, this), 0) }, n.prototype.toggle = function () { var t = !0, e = this.$element.closest('[data-toggle="buttons"]'); if (e.length) { var i = this.$element.find("input"); "radio" == i.prop("type") ? (i.prop("checked") && (t = !1), e.find(".active").removeClass("active"), this.$element.addClass("active")) : "checkbox" == i.prop("type") && (i.prop("checked") !== this.$element.hasClass("active") && (t = !1), this.$element.toggleClass("active")), i.prop("checked", this.$element.hasClass("active")), t && i.trigger("change") } else this.$element.attr("aria-pressed", !this.$element.hasClass("active")), this.$element.toggleClass("active") }; var t = s.fn.button; s.fn.button = i, s.fn.button.Constructor = n, s.fn.button.noConflict = function () { return s.fn.button = t, this }, s(document).on("click.bs.button.data-api", '[data-toggle^="button"]', function (t) { var e = s(t.target).closest(".btn"); i.call(e, "toggle"), s(t.target).is('input[type="radio"], input[type="checkbox"]') || (t.preventDefault(), e.is("input,button") ? e.trigger("focus") : e.find("input:visible,button:visible").first().trigger("focus")) }).on("focus.bs.button.data-api blur.bs.button.data-api", '[data-toggle^="button"]', function (t) { s(t.target).closest(".btn").toggleClass("focus", /^focus(in)?$/.test(t.type)) }) }(jQuery), function (p) { "use strict"; var c = function (t, e) { this.$element = p(t), this.$indicators = this.$element.find(".carousel-indicators"), this.options = e, this.paused = null, this.sliding = null, this.interval = null, this.$active = null, this.$items = null, this.options.keyboard && this.$element.on("key
19down.bs.carousel", p.proxy(this.keydown, this)), "hover" == this.options.pause && !("ontouchstart" in document.documentElement) && this.$element.on("mouseenter.bs.carousel", p.proxy(this.pause, this)).on("mouseleave.bs.carousel", p.proxy(this.cycle, this)) }; function r(n) { return this.each(function () { var t = p(this), e = t.data("bs.carousel"), i = p.extend({}, c.DEFAULTS, t.data(), "object" == typeof n && n), o = "string" == typeof n ? n : i.slide; e || t.data("bs.carousel", e = new c(this, i)), "number" == typeof n ? e.to(n) : o ? e[o]() : i.interval && e.pause().cycle() }) } c.VERSION = "3.4.1", c.TRANSITION_DURATION = 600, c.DEFAULTS = { interval: 5e3, pause: "hover", wrap: !0, keyboard: !0 }, c.prototype.keydown = function (t) { if (!/input|textarea/i.test(t.target.tagName)) { switch (t.which) { case 37: this.prev(); break; case 39: this.next(); break; default: return }t.preventDefault() } }, c.prototype.cycle = function (t) { return t || (this.paused = !1), this.interval && clearInterval(this.interval), this.options.interval && !this.paused && (this.interval = setInterval(p.proxy(this.next, this), this.options.interval)), this }, c.prototype.getItemIndex = function (t) { return this.$items = t.parent().children(".item"), this.$items.index(t || this.$active) }, c.prototype.getItemForDirection = function (t, e) { var i = this.getItemIndex(e); if (("prev" == t && 0 === i || "next" == t && i == this.$items.length - 1) && !this.options.wrap) return e; var o = (i + ("prev" == t ? -1 : 1)) % this.$items.length; return this.$items.eq(o) }, c.prototype.to = function (t) { var e = this, i = this.getItemIndex(this.$active = this.$element.find(".item.active")); if (!(t > this.$items.length - 1 || t < 0)) return this.sliding ? this.$element.one("slid.bs.carousel", function () { e.to(t) }) : i == t ? this.pause().cycle() : this.slide(i < t ? "next" : "prev", this.$items.eq(t)) }, c.prototype.pause = function (t) { return t || (this.paused = !0), this.$element.find(".next, .prev").length && p.support.transition && (this.$element.trigger(p.support.transition.end), this.cycle(!0)), this.interval = clearInterval(this.interval), this }, c.prototype.next = function () { if (!this.sliding) return this.slide("next") }, c.prototype.prev = function () { if (!this.sliding) return this.slide("prev") }, c.prototype.slide = function (t, e) { var i = this.$element.find(".item.active"), o = e || this.getItemForDirection(t, i), n = this.interval, s = "next" == t ? "left" : "right", a = this; if (o.hasClass("active")) return this.sliding = !1; var r = o[0], l = p.Event("slide.bs.carousel", { relatedTarget: r, direction: s }); if (this.$element.trigger(l), !l.isDefaultPrevented()) { if (this.sliding = !0, n && this.pause(), this.$indicators.length) { this.$indicators.find(".active").removeClass("active"); var h = p(this.$indicators.children()[this.getItemIndex(o)]); h && h.addClass("active") } var d = p.Event("slid.bs.carousel", { relatedTarget: r, direction: s }); return p.support.transition && this.$element.hasClass("slide") ? (o.addClass(t), "object" == typeof o && o.length && o[0].offsetWidth, i.addClass(s), o.addClass(s), i.one("bsTransitionEnd", function () { o.removeClass([t, s].join(" ")).addClass("active"), i.removeClass(["active", s].join(" ")), a.sliding = !1, setTimeout(function () { a.$element.trigger(d) }, 0) }).emulateTransitionEnd(c.TRANSITION_DURATION)) : (i.removeClass("active"), o.addClass("active"), this.sliding = !1, this.$element.trigger(d)), n && this.cycle(), this } }; var t = p.fn.carousel; p.fn.carousel = r, p.fn.carousel.Constructor = c, p.fn.carousel.noConflict = function () { return p.fn.carousel = t, this }; var e = function (t) { var e = p(this), i = e.attr("href"); i && (i = i.replace(/.*(?=#[^\s]+$)/, "")); var o = e.attr("data-target") || i, n = p(document).find(o); if (n.hasClass("carousel")) { var s = p.extend({}, n.data(), e.data()), a = e.attr("data-slide-to"); a && (s.interval = !1), r.call(n, s), a && n.data("bs.carousel").to(a), t.preventDefault() } };
vendor: 9,047 bytes, line 19
19 p(document).on("click.bs.carousel.data-api", "[data-slide]", e).on("click.bs.carousel.data-api", "[data-slide-to]", e), p(window).on("load", function () { p('[data-ride="carousel"]').each(function () { var t = p(this); r.call(t, t.data()) }) }) }(jQuery), function (a) { "use strict"; var r = function (t, e) { this.$element = a(t), this.options = a.extend({}, r.DEFAULTS, e), this.$trigger = a('[data-toggle="collapse"][href="#' + t.id + '"],[data-toggle="collapse"][data-target="#' + t.id + '"]'), this.transitioning = null, this.options.parent ? this.$parent = this.getParent() : this.addAriaAndCollapsedClass(this.$element, this.$trigger), this.options.toggle && this.toggle() }; function n(t) { var e, i = t.attr("data-target") || (e = t.attr("href")) && e.replace(/.*(?=#[^\s]+$)/, ""); return a(document).find(i) } function l(o) { return this.each(function () { var t = a(this), e = t.data("bs.collapse"), i = a.extend({}, r.DEFAULTS, t.data(), "object" == typeof o && o); !e && i.toggle && /show|hide/.test(o) && (i.toggle = !1), e || t.data("bs.collapse", e = new r(this, i)), "string" == typeof o && e[o]() }) } r.VERSION = "3.4.1", r.TRANSITION_DURATION = 350, r.DEFAULTS = { toggle: !0 }, r.prototype.dimension = function () { return this.$element.hasClass("width") ? "width" : "height" }, r.prototype.show = function () { if (!this.transitioning && !this.$element.hasClass("in")) { var t, e = this.$parent && this.$parent.children(".panel").children(".in, .collapsing"); if (!(e && e.length && (t = e.data("bs.collapse")) && t.transitioning)) { var i = a.Event("show.bs.collapse"); if (this.$element.trigger(i), !i.isDefaultPrevented()) { e && e.length && (l.call(e, "hide"), t || e.data("bs.collapse", null)); var o = this.dimension(); this.$element.removeClass("collapse").addClass("collapsing")[o](0).attr("aria-expanded", !0), this.$trigger.removeClass("collapsed").attr("aria-expanded", !0), this.transitioning = 1; var n = function () { this.$element.removeClass("collapsing").addClass("collapse in")[o](""), this.transitioning = 0, this.$element.trigger("shown.bs.collapse") }; if (!a.support.transition) return n.call(this); var s = a.camelCase(["scroll", o].join("-")); this.$element.one("bsTransitionEnd", a.proxy(n, this)).emulateTransitionEnd(r.TRANSITION_DURATION)[o](this.$element[0][s]) } } } }, r.prototype.hide = function () { if (!this.transitioning && this.$element.hasClass("in")) { var t = a.Event("hide.bs.collapse"); if (this.$element.trigger(t), !t.isDefaultPrevented()) { var e = this.dimension(); this.$element[e](this.$element[e]())[0].offsetHeight, this.$element.addClass("collapsing").removeClass("collapse in").attr("aria-expanded", !1), this.$trigger.addClass("collapsed").attr("aria-expanded", !1), this.transitioning = 1; var i = function () { this.transitioning = 0, this.$element.removeClass("collapsing").addClass("collapse").trigger("hidden.bs.collapse") }; if (!a.support.transition) return i.call(this); this.$element[e](0).one("bsTransitionEnd", a.proxy(i, this)).emulateTransitionEnd(r.TRANSITION_DURATION) } } }, r.prototype.toggle = function () { this[this.$element.hasClass("in") ? "hide" : "show"]() }, r.prototype.getParent = function () { return a(document).find(this.options.parent).find('[data-toggle="collapse"][data-parent="' + this.options.parent + '"]').each(a.proxy(function (t, e) { var i = a(e); this.addAriaAndCollapsedClass(n(i), i) }, this)).end() }, r.prototype.addAriaAndCollapsedClass = function (t, e) { var i = t.hasClass("in"); t.attr("aria-expanded", i), e.toggleClass("collapsed", !i).attr("aria-expanded", i) }; var t = a.fn.collapse; a.fn.collapse = l, a.fn.collapse.Constructor = r, a.fn.collapse.noConflict = function () { return a.fn.collapse = t, this }, a(document).on("click.bs.collapse.data-api", '[data-toggle="collapse"]', function (t) { var e = a(this); e.attr("data-target") || t.preventDefault(); var i = n(e), o = i.data("bs.collapse") ? "toggle" : e.data(); l.call(i, o) }) }(jQuery), function (a) { "use strict"; var r = '[data-toggle="dropdown"]', o = function (t) { a(t).on("click.bs.dropdown", this.toggle) }; function l(t) { var e = t.attr("data-target"); e || (e = (e = t.attr("href")) && /#[A-Za-z]/.test(e) && e.replace(/.*(?=#[^\s]*$)/, "")); var i = "#" !== e ? a(document).find(e) : null; return i && i.length ? i : t.parent() } function s(o) { o && 3 === o.which || (a(".dropdown-backdrop").remove(), a(r).each(function () { var t = a(this), e = l(t), i = { relatedTarget: this }; e.hasClass("open") && (o && "click" == o.type && /input|textarea/i.test(o.target.tagName) && a.contains(e[0], o.target) || (e.trigger(o = a.Event("hide.bs.dropdown", i)), o.isDefaultPrevented() || (t.attr("aria-expanded", "false"), e.removeClass("open").trigger(a.Event("hidden.bs.dropdown", i))))) })) } o.VERSION = "3.4.1", o.prototype.toggle = function (t) { var e = a(this); if (!e.is(".disabled, :disabled")) { var i = l(e), o = i.hasClass("open"); if (s(), !o) { "ontouchstart" in document.documentElement && !i.closest(".navbar-nav").length && a(document.createElement("div")).addClass("dropdown-backdrop").insertAfter(a(this)).on("click", s); var n = { relatedTarget: this }; if (i.trigger(t = a.Event("show.bs.dropdown", n)), t.isDefaultPrevented()) return; e.trigger("focus").attr("aria-expanded", "true"), i.toggleClass("open").trigger(a.Event("shown.bs.dropdown", n)) } return !1 } }, o.prototype.keydown = function (t) { if (/(38|40|27|32)/.test(t.which) && !/input|textarea/i.test(t.target.tagName)) { var e = a(this); if (t.preventDefault(), t.stopPropagation(), !e.is(".disabled, :disabled")) { var i = l(e), o = i.hasClass("open"); if (!o && 27 != t.which || o && 27 == t.which) return 27 == t.which && i.find(r).trigger("focus"), e.trigger("click"); var n = i.find(".dropdown-menu li:not(.disabled):visible a"); if (n.length) { var s = n.index(t.target); 38 == t.which && 0 < s && s--, 40 == t.which && s < n.length - 1 && s++, ~s || (s = 0), n.eq(s).trigger("focus") } } } }; var t = a.fn.dropdown; a.fn.dropdown = function e(i) { return this.each(function () { var t = a(this), e = t.data("bs.dropdown"); e || t.data("bs.dropdown", e = new o(this)), "string" == typeof i && e[i].call(t) }) }, a.fn.dropdown.Constructor = o, a.fn.dropdown.noConflict = function () { return a.fn.dropdown = t, this }, a(document).on("click.bs.dropdown.data-api", s).on("click.bs.dropdown.data-api", ".dropdown form", function (t) { t.stopPropagation() }).on("click.bs.dropdown.data-api", r, o.prototype.toggle).on("keydown.bs.dropdown.data-api", r, o.prototype.keydown).on("keydown.bs.dropdown.data-api", ".dropdown-menu", o.prototype.keydown) }(jQuery), function (a) { "use strict"; var s = function (t, e) { this.options = e, this.$body = a(document.body), this.$element = a(t), this.$dialog = this.$element.find(".modal-dialog"), this.$backdrop = null, this.isShown = null, this.originalBodyPad = null, this.scrollbarWidth = 0, this.ignoreBackdropClick = !1, this.fixedContent = ".navbar-fixed-top, .navbar-fixed-bottom", this.options.remote && this.$element.find(".modal-content").load(this.options.remote, a.proxy(function () { this.$element.trigger("loaded.bs.modal") }, this)) }; function r(o, n) { return this.each(function () { var t = a(this), e = t.data("bs.modal"), i = a.extend({}, s.DEFAULTS, t.data(), "object" == typeof o && o); e || t.data("bs.modal", e = new s(this, i)), "string" == typeof o ? e[o](n) : i.show && e.show(n) }) } s.VERSION = "3.4.1", s.TRANSITION_DURATION = 300, s.BACKDROP_TRANSITION_DURATION = 150, s.DEFAULTS = { backdrop: !0, keyboard: !0, show: !0 }, s.prototype.toggle = function (t) { return this.isShown ? this.hide() : this.show(t) }, s.prototype.show = function (i) { var o = this, t = a.Event("show.bs.modal", { relatedTarget: i }); this.$element.trigger(t), this.isShown || t.isDefaultPrevented() || (this.isShown = !0, this.checkScrollbar(), this.setScrollbar(), this.$body.addClass("modal-open"), this.escape(), this.resize(), this.$element.on("click.dismiss.bs.modal", '[data-dismiss="modal"]', a.proxy(this.hide, this)), this.$dialog.on("mousedown.dismiss.bs.modal", function () { o.$element.one("mouseup.dismiss.bs.modal", function (t) { a(t.target).is(o.$element) && (o.ignoreBackdropClick = !0) }) }), this.backdrop(function () { var t = a.support.transition && o.$element.hasClass("fade"); o.$element.parent().length || o.$element.appendTo(o.$body), o.$element.show().scrollTop(0), o.adjustDialog(), t && o.$element[0].offsetWidth, o.$element.addClass("in"), o.enforceFocus(); var e = a.Event("shown.bs.modal", { relatedTarget: i }); t ? o.$dialog.one("bsTransitionEnd", function () { o.$element.trigger("focus").trigger(e) }).emulateTransitionEnd(s.TRANSITION_DURATION) : o.$element.trigger("focus").trigger(e) })) }, s.prototype.hide = function (t) { t && t.preventDefault(), t = a.Event("hide.bs.modal"), this.$element.trigger(t), this.isShown && !t.isDefaultPrevented() && (this.isShown = !1, this.escape(), this.resize(), a(document).off("focusin.bs.modal"), this.$element.removeClass("in").off("
19click.dismiss.bs.modal").off("mouseup.dismiss.bs.modal"), this.$dialog.off("mousedown.dismiss.bs.modal"), a.support.transition && this.$element.hasClass("fade") ? this.$element.one("bsTransitionEnd", a.proxy(this.hideModal, this)).emulateTransitionEnd(s.TRANSITION_DURATION) : this.hideModal()) }, s.prototype.enforceFocus = function () { a(document).off("focusin.bs.modal").on("focusin.bs.modal", a.proxy(function (t) { document === t.target || this.$element[0] === t.target || this.$element.has(t.target).length || this.$element.trigger("focus") }, this)) }, s.prototype.escape = function () { this.isShown && this.options.keyboard ? this.$element.on("keydown.dismiss.bs.modal", a.proxy(function (t) { 27 == t.which && this.hide() }, this)) : this.isShown || this.$element.off("keydown.dismiss.bs.modal") }, s.prototype.resize = function () { this.isShown ? a(window).on("resize.bs.modal", a.proxy(this.handleUpdate, this)) : a(window).off("resize.bs.modal") }, s.prototype.hideModal = function () { var t = this; this.$element.hide(), this.backdrop(function () { t.$body.removeClass("modal-open"), t.resetAdjustments(), t.resetScrollbar(), t.$element.trigger("hidden.bs.modal") }) }, s.prototype.removeBackdrop = function () { this.$backdrop && this.$backdrop.remove(), this.$backdrop = null }, s.prototype.backdrop = function (t) { var e = this, i = this.$element.hasClass("fade") ? "fade" : ""; if (this.isShown && this.options.backdrop) { var o = a.support.transition && i; if (this.$backdrop = a(document.createElement("div")).addClass("modal-backdrop " + i).appendTo(this.$body), this.$element.on("click.dismiss.bs.modal", a.proxy(function (t) { this.ignoreBackdropClick ? this.ignoreBackdropClick = !1 : t.target === t.currentTarget && ("static" == this.options.backdrop ? this.$element[0].focus() : this.hide()) }, this)), o && this.$backdrop[0].offsetWidth, this.$backdrop.addClass("in"), !t) return; o ? this.$backdrop.one("bsTransitionEnd", t).emulateTransitionEnd(s.BACKDROP_TRANSITION_DURATION) : t() } else if (!this.isShown && this.$backdrop) { this.$backdrop.removeClass("in"); var n = function () { e.removeBackdrop(), t && t() }; a.support.transition && this.$element.hasClass("fade") ? this.$backdrop.one("bsTransitionEnd", n).emulateTransitionEnd(s.BACKDROP_TRANSITION_DURATION) : n() } else t && t() }, s.prototype.handleUpdate = function () { this.adjustDialog() }, s.prototype.adjustDialog = function () { var t = this.$element[0].scrollHeight > document.documentElement.clientHeight; this.$element.css({ paddingLeft: !this.bodyIsOverflowing && t ? this.scrollbarWidth : "", paddingRight: this.bodyIsOverflowing && !t ? this.scrollbarWidth : "" }) }, s.prototype.resetAdjustments = function () { this.$element.css({ paddingLeft: "", paddingRight: "" }) }, s.prototype.checkScrollbar = function () { var t = window.innerWidth; if (!t) { var e = document.documentElement.getBoundingClientRect(); t = e.right - Math.abs(e.left) } this.bodyIsOverflowing = document.body.clientWidth < t, this.scrollbarWidth = this.measureScrollbar() }, s.prototype.setScrollbar = function () { var t = parseInt(this.$body.css("padding-right") || 0, 10); this.originalBodyPad = document.body.style.paddingRight || ""; var n = this.scrollbarWidth; this.bodyIsOverflowing && (this.$body.css("padding-right", t + n), a(this.fixedContent).each(function (t, e) { var i = e.style.paddingRight, o = a(e).css("padding-right"); a(e).data("padding-right", i).css("padding-right", parseFloat(o) + n + "px") })) }, s.prototype.resetScrollbar = function () { this.$body.css("padding-right", this.originalBodyPad), a(this.fixedContent).each(function (t, e) { var i = a(e).data("padding-right"); a(e).removeData("padding-right"), e.style.paddingRight = i || "" }) }, s.prototype.measureScrollbar = function () { var t = document.createElement("div"); t.className = "modal-scrollbar-measure", this.$body.append(t); var e = t.offsetWidth - t.clientWidth; return this.$body[0].removeChild(t), e }; var t = a.fn.modal; a.fn.modal = r, a.fn.modal.Constructor = s, a.fn.modal.noConflict = function () { return a.fn.modal = t, this }, a(document).on("click.bs.modal.data-api", '[data-toggle="modal"]', function (t) { var e = a(this), i = e.attr("href"), o = e.attr("data-target") || i && i.replace(/.*(?=#[^\s]+$)/, ""), n = a(document).find(o), s = n.data("bs.modal") ? "toggle" : a.extend({ remote: !/#/.test(i) && i }, n.data(), e.data()); e.is("a") && t.preventDefault(), n.one("show.bs.modal", function (t) { t.isDefaultPrevented() || n.one("hidden.bs.modal", function () { e.is(":visible") && e.trigger("focus") }) }), r.call(n, s, this) }) }(jQuery), function (g) { "use strict"; var o = ["sanitize", "whiteList", "sanitizeFn"], a = ["background", "cite", "href", "itemtype", "longdesc", "poster", "src", "xlink:href"], t = { "*": ["class", "dir", "id", "lang", "role", /^aria-[\w-]*$/i], a: ["target", "href", "title", "rel"], area: [], b: [], br: [], col: [], code: [], div: [], em: [], hr: [], h1: [], h2: [], h3: [], h4: [], h5: [], h6: [], i: [], img: ["src", "alt", "title", "width", "height"], li: [], ol: [], p: [], pre: [], s: [], small: [], span: [], sub: [], sup: [], strong: [], u: [], ul: [] }, r = /^(?:(?:https?|mailto|ftp|tel|file):|[^&:/?#]*(?:[/?#]|$))/gi, l = /^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[a-z0-9+/]+=*$/i; function u(t, e) { var i = t.nodeName.toLowerCase(); if (-1 !== g.inArray(i, e)) return -1 === g.inArray(i, a) || Boolean(t.nodeValue.match(r) || t.nodeValue.match(l)); for (var o = g(e).filter(function (t, e) { return e instanceof RegExp }), n = 0, s = o.length; n < s;
vendor: 17,189 bytes, line 19
19 n++)if (i.match(o[n])) return !0; return !1 } function n(t, e, i) { if (0 === t.length) return t; if (i && "function" == typeof i) return i(t); if (!document.implementation || !document.implementation.createHTMLDocument) return t; var o = document.implementation.createHTMLDocument("sanitization"); o.body.innerHTML = t; for (var n = g.map(e, function (t, e) { return e }), s = g(o.body).find("*"), a = 0, r = s.length; a < r; a++) { var l = s[a], h = l.nodeName.toLowerCase(); if (-1 !== g.inArray(h, n)) for (var d = g.map(l.attributes, function (t) { return t }), p = [].concat(e["*"] || [], e[h] || []), c = 0, f = d.length; c < f; c++)u(d[c], p) || l.removeAttribute(d[c].nodeName); else l.parentNode.removeChild(l) } return o.body.innerHTML } var m = function (t, e) { this.type = null, this.options = null, this.enabled = null, this.timeout = null, this.hoverState = null, this.$element = null, this.inState = null, this.init("tooltip", t, e) }; m.VERSION = "3.4.1", m.TRANSITION_DURATION = 150, m.DEFAULTS = { animation: !0, placement: "top", selector: !1, template: '<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>', trigger: "hover focus", title: "", delay: 0, html: !1, container: !1, viewport: { selector: "body", padding: 0 }, sanitize: !0, sanitizeFn: null, whiteList: t }, m.prototype.init = function (t, e, i) { if (this.enabled = !0, this.type = t, this.$element = g(e), this.options = this.getOptions(i), this.$viewport = this.options.viewport && g(document).find(g.isFunction(this.options.viewport) ? this.options.viewport.call(this, this.$element) : this.options.viewport.selector || this.options.viewport), this.inState = { click: !1, hover: !1, focus: !1 }, this.$element[0] instanceof document.constructor && !this.options.selector) throw new Error("`selector` option must be specified when initializing " + this.type + " on the window.document object!"); for (var o = this.options.trigger.split(" "), n = o.length; n--;) { var s = o[n]; if ("click" == s) this.$element.on("click." + this.type, this.options.selector, g.proxy(this.toggle, this)); else if ("manual" != s) { var a = "hover" == s ? "mouseenter" : "focusin", r = "hover" == s ? "mouseleave" : "focusout"; this.$element.on(a + "." + this.type, this.options.selector, g.proxy(this.enter, this)), this.$element.on(r + "." + this.type, this.options.selector, g.proxy(this.leave, this)) } } this.options.selector ? this._options = g.extend({}, this.options, { trigger: "manual", selector: "" }) : this.fixTitle() }, m.prototype.getDefaults = function () { return m.DEFAULTS }, m.prototype.getOptions = function (t) { var e = this.$element.data(); for (var i in e) e.hasOwnProperty(i) && -1 !== g.inArray(i, o) && delete e[i]; return (t = g.extend({}, this.getDefaults(), e, t)).delay && "number" == typeof t.delay && (t.delay = { show: t.delay, hide: t.delay }), t.sanitize && (t.template = n(t.template, t.whiteList, t.sanitizeFn)), t }, m.prototype.getDelegateOptions = function () { var i = {}, o = this.getDefaults(); return this._options && g.each(this._options, function (t, e) { o[t] != e && (i[t] = e) }), i }, m.prototype.enter = function (t) { var e = t instanceof this.constructor ? t : g(t.currentTarget).data("bs." + this.type); if (e || (e = new this.constructor(t.currentTarget, this.getDelegateOptions()), g(t.currentTarget).data("bs." + this.type, e)), t instanceof g.Event && (e.inState["focusin" == t.type ? "focus" : "hover"] = !0), e.tip().hasClass("in") || "in" == e.hoverState) e.hoverState = "in"; else { if (clearTimeout(e.timeout), e.hoverState = "in", !e.options.delay || !e.options.delay.show) return e.show(); e.timeout = setTimeout(function () { "in" == e.hoverState && e.show() }, e.options.delay.show) } }, m.prototype.isInStateTrue = function () { for (var t in this.inState) if (this.inState[t]) return !0; return !1 }, m.prototype.leave = function (t) { var e = t instanceof this.constructor ? t : g(t.currentTarget).data("bs." + this.type); if (e || (e = new this.constructor(t.currentTarget, this.getDelegateOptions()), g(t.currentTarget).data("bs." + this.type, e)), t instanceof g.Event && (e.inState["focusout" == t.type ? "focus" : "hover"] = !1), !e.isInStateTrue()) { if (clearTimeout(e.timeout), e.hoverState = "out", !e.options.delay || !e.options.delay.hide) return e.hide(); e.timeout = setTimeout(function () { "out" == e.hoverState && e.hide() }, e.options.delay.hide) } }, m.prototype.show = function () { var t = g.Event("show.bs." + this.type); if (this.hasContent() && this.enabled) { this.$element.trigger(t); var e = g.contains(this.$element[0].ownerDocument.documentElement, this.$element[0]); if (t.isDefaultPrevented() || !e) return; var i = this, o = this.tip(), n = this.getUID(this.type); this.setContent(), o.attr("id", n), this.$element.attr("aria-describedby", n), this.options.animation && o.addClass("fade"); var s = "function" == typeof this.options.placement ? this.options.placement.call(this, o[0], this.$element[0]) : this.options.placement, a = /\s?auto?\s?/i, r = a.test(s); r && (s = s.replace(a, "") || "top"), o.detach().css({ top: 0, left: 0, display: "block" }).addClass(s).data("bs." + this.type, this), this.options.container ? o.appendTo(g(document).find(this.options.container)) : o.insertAfter(this.$element), this.$element.trigger("inserted.bs." + this.type); var l = this.getPosition(), h = o[0].offsetWidth, d = o[0].offsetHeight; if (r) { var p = s, c = this.getPosition(this.$viewport); s = "bottom" == s && l.bottom + d > c.bottom ? "top" : "top" == s && l.top - d < c.top ? "bottom" : "right" == s && l.right + h > c.width ? "left" : "left" == s && l.left - h < c.left ? "right" : s, o.removeClass(p).addClass(s) } var f = this.getCalculatedOffset(s, l, h, d); this.applyPlacement(f, s); var u = function () { var t = i.hoverState; i.$element.trigger("shown.bs." + i.type), i.hoverState = null, "out" == t && i.leave(i) }; g.support.transition && this.$tip.hasClass("fade") ? o.one("bsTransitionEnd", u).emulateTransitionEnd(m.TRANSITION_DURATION) : u() } }, m.prototype.applyPlacement = function (t, e) { var i = this.tip(), o = i[0].offsetWidth, n = i[0].offsetHeight, s = parseInt(i.css("margin-top"), 10), a = parseInt(i.css("margin-left"), 10); isNaN(s) && (s = 0), isNaN(a) && (a = 0), t.top += s, t.left += a, g.offset.setOffset(i[0], g.extend({ using: function (t) { i.css({ top: Math.round(t.top), left: Math.round(t.left) }) } }, t), 0), i.addClass("in"); var r = i[0].offsetWidth, l = i[0].offsetHeight; "top" == e && l != n && (t.top = t.top + n - l); var h = this.getViewportAdjustedDelta(e, t, r, l); h.left ? t.left += h.left : t.top += h.top; var d = /top|bottom/.test(e), p = d ? 2 * h.left - o + r : 2 * h.top - n + l, c = d ? "offsetWidth" : "offsetHeight"; i.offset(t), this.replaceArrow(p, i[0][c], d) }, m.prototype.replaceArrow = function (t, e, i) { this.arrow().css(i ? "left" : "top", 50 * (1 - t / e) + "%").css(i ? "top" : "left", "") }, m.prototype.setContent = function () { var t = this.tip(), e = this.getTitle(); this.options.html ? (this.options.sanitize && (e = n(e, this.options.whiteList, this.options.sanitizeFn)), t.find(".tooltip-inner").html(e)) : t.find(".tooltip-inner").text(e), t.removeClass("fade in top bottom left right") }, m.prototype.hide = function (t) { var e = this, i = g(this.$tip), o = g.Event("hide.bs." + this.type); function n() { "in" != e.hoverState && i.detach(), e.$element && e.$element.removeAttr("aria-describedby").trigger("hidden.bs." + e.type), t && t() } if (this.$element.trigger(o), !o.isDefaultPrevented()) return i.removeClass("in"), g.support.transition && i.hasClass("fade") ? i.one("bsTransitionEnd", n).emulateTransitionEnd(m.TRANSITION_DURATION) : n(), this.hoverState = null, this }, m.prototype.fixTitle = function () { var t = this.$element; (t.attr("title") || "string" != typeof t.attr("data-original-title")) && t.attr("data-original-title", t.attr("title") || "").attr("title", "") }, m.prototype.hasContent = function () { return this.getTitle() }, m.prototype.getPosition = function (t) { var e = (t = t || this.$element)[0], i = "BODY" == e.tagName, o = e.getBoundingClientRect(); null == o.width && (o = g.extend({}, o, { width: o.right - o.left, height: o.bottom - o.top })); var n = window.SVGElement && e instanceof window.SVGElement, s = i ? { top: 0, left: 0 } : n ? null : t.offset(), a = { scroll: i ? document.documentElement.scrollTop || document.body.scrollTop : t.scrollTop() }, r = i ? { width: g(window).width(), height: g(window).height() } : null; return g.extend({}, o, a, r, s) }, m.prototype.getCalculatedOffset = function (t, e, i, o) { return "bottom" == t ? { top: e.top + e.height, left: e.left + e.width / 2 - i / 2 } : "top" == t ? { top: e.top - o, left: e.left + e.width / 2 - i / 2 } : "left" == t ? { top: e.top + e.height / 2 - o / 2, left: e.left - i } : { top: e.top + e.height / 2 - o / 2, left: e.left + e.width } }, m.prototype.getViewportAdjustedDelta = function (t, e, i, o) { var n = { top: 0, left: 0 }; if (!this.$viewport) return n; var s = this.options.viewport && this.options.viewport.padding || 0, a = this.getPosition(this.$viewport); if (/right|left/.test(t)) { var r = e.top - s - a.scroll, l = e.top + s - a.scroll + o; r < a.top ? n.top = a.top - r : l > a.top + a.height && (n.top = a.top + a.height - l) } else { var h = e.left - s, d = e.left + s + i; h < a.left ? n.left = a.left - h : d > a.right && (n.left = a.left + a.width - d) } return n }, m.prototype.getTitle = function () { var t = this.$element, e = this.options; return t.attr("data-original-title") || ("function" == typeof e.title ? e.title.call(t[0]) : e.title) }, m.prototype.getUID = function (t) { for (; t += ~~(1e6 * Math.random()), document.getElementById(t);); return t }, m.prototype.tip = function () { if (!this.$tip && (this.$tip = g(this.options.template), 1 != this.$tip.length)) throw new Error(this.type + " `template` option must consist of exactly 1 top-level element!"); return this.$tip }, m.prototype.arrow = function () { return this.$arrow = this.$arrow || this.tip().find(".tooltip-arrow") }, m.prototype.enable = function () { this.enabled = !0 }, m.prototype.disable = function () { this.enabled = !1 }, m.prototype.toggleEnabled = function () { this.enabled = !this.enabled }, m.prototype.toggle = function (t) { var e = this; t && ((e = g(t.currentTarget).data("bs." + this.type)) || (e = new this.constructor(t.currentTarget, this.getDelegateOptions()), g(t.currentTarget).data("bs." + this.type, e))), t ? (e.inState.click = !e.inState.click, e.isInStateTrue() ? e.enter(e) : e.leave(e)) : e.tip().hasClass("in") ? e.leave(e) : e.enter(e) }, m.prototype.destroy = function () { var t = this; clearTimeout(this.timeout), this.hide(function () { t.$element.off("." + t.type).removeData("bs." + t.type), t.$tip && t.$tip.detach(), t.$tip = null, t.$arrow = null, t.$viewport = null, t.$element = null }) }, m.prototype.sanitizeHtml = function (t) { return n(t, this.options.whiteList, this.options.sanitizeFn) }; var e = g.fn.tooltip; g.fn.tooltip = function i(o) { return this.each(function () { var t = g(this), e = t.data("bs.tooltip"), i = "object" == typeof o && o; !e && /destroy|hide/.test(o) || (e || t.data("bs.tooltip", e = new m(this, i)), "string" == typeof o && e[o]()) }) }, g.fn.tooltip.Constructor = m, g.fn.tooltip.noConflict = function () { return g.fn.tooltip = e, this } }(jQuery), function (n) { "use strict"; var s = function (t, e) { this.init("popover", t, e) }; if (!n.fn.tooltip) throw new Error("Popover requires tooltip.js"); s.VERSION = "3.4.1", s.DEFAULTS = n.extend({}, n.fn.tooltip.Constructor.DEFAULTS, { placement: "right", trigger: "click", content: "", template: '<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>' }), ((s.prototype = n.extend({}, n.fn.tooltip.Constructor.prototype)).constructor = s).prototype.getDefaults = function () { return s.DEFAULTS }, s.prototype.setContent = function () { var t = this.tip(), e = this.getTitle(), i = this.getContent(); if (this.options.html) { var o = typeof i; this.options.sanitize && (e = this.sanitizeHtml(e), "string" === o && (i = this.sanitizeHtml(i))), t.find(".popover-title").html(e), t.find(".popover-content").children().detach().end()["string" === o ? "html" : "append"](i) } else t.find(".popover-title").text(e), t.find(".popover-content").children().detach().end().text(i); t.removeClass("fade top bottom left right in"), t.find(".popover-title").html() || t.find(".popover-title").hide() }, s.prototype.hasContent = function () { return this.getTitle() || this.getContent() }, s.prototype.getContent = function () { var t = this.$element, e = this.options; return t.attr("data-content") || ("function" == typeof e.content ? e.content.call(t[0]) : e.content) }, s.prototype.arrow = function () { return this.$arrow = this.$arrow || this.tip().find(".arrow") }; var t = n.fn.popover; n.fn.popover = function e(o) { return this.each(function () { var t = n(this), e = t.data("bs.popover"), i = "object" == typeof o && o; !e && /destroy|hide/.test(o) || (e || t.data("bs.popover", e = new s(this, i)), "string" == typeof o && e[o]()) }) }, n.fn.popover.Constructor = s, n.fn.popover.noConflict = function () { return n.fn.popover = t, this } }(jQuery), function (s) { "use strict"; function n(t, e) { this.$body = s(document.body), this.$scrollElement = s(t).is(document.body) ? s(window) : s(t), this.options = s.extend({}, n.DEFAULTS, e), this.selector = (this.options.target || "") + " .nav li > a", this.offsets = [], this.targets = [], this.activeTarget = null, this.scrollHeight = 0, this.$scrollElement.on("scroll.bs.scrollspy", s.proxy(this.process, this)), this.refresh(), this.process() } function e(o) { return this.each(function () { var t = s(this), e = t.data("bs.scrollspy"), i = "object" == typeof o && o; e || t.data("bs.scrollspy", e = new n(this, i)), "string" == typeof o && e[o]() }) } n.VERSION = "3.4.1", n.DEFAULTS = { offset: 10 }, n.prototype.getScrollHeight = function () { return this.$scrollElement[0].scrollHeight || Math.max(this.$body[0].scrollHeight, document.documentElement.scrollHeight) }, n.prototype.refresh = function () { var t = this, o = "offset", n = 0; this.offsets = [], this.targets = [], this.scrollHeight = this.getScrollHeight(), s.isWindow(this.$scrollElement[0]) || (o = "position", n = this.$scrollElement.scrollTop()), this.$body.find(this.selector).map(function () { var t = s(this), e = t.data("target") || t.attr("href"), i = /^#./.test(e) && s(e); return i && i.length && i.is(":visible") && [[i[o]().top + n, e]] || null }).sort(function (t, e) { return t[0] - e[0] }).each(function () { t.offsets.push(this[0]), t.targets.push(this[1]) }) }, n.prototype.process = function () { var t, e = this.$scrollElement.scrollTop() + this.options.offset, i = this.getScrollHeight(), o = this.options.offset + i - this.$scrollElement.height(), n = this.offsets, s = this.targets, a = this.activeTarget; if (this.scrollHeight != i && this.refresh(), o <= e) return a != (t = s[s.length - 1]) && this.activate(t); if (a && e < n[0]) return this.activeTarget = null, this.clear(); for (t = n.length; t--;)a != s[t] && e >= n[t] && (n[t + 1] === undefined || e < n[t + 1]) && this.activate(s[t]) }, n.prototype.activate = function (t) { this.activeTarget = t, this.clear(); var e = this.selector + '[data-target="' + t + '"],' + this.selector + '[href="' + t + '"]', i = s(e).parents("li").addClass("active"); i.parent(".dropdown-menu").length && (i = i.closest("li.dropdown").addClass("active")), i.trigger("activate.bs.scrollspy") }, n.prototype.clear = function () { s(this.selector).parentsUntil(this.options.target, ".active").removeClass("active") }; var t = s.fn.scrollspy; s.fn.scrollspy = e, s.fn.scrollspy.Constructor = n, s.fn.scrollspy.noConflict = function () { return s.fn.scrollspy = t, this }, s(window).on("load.bs.scrollspy.data-api", function () { s('[data-spy="scroll"]').each(function () { var t = s(this); e.call(t, t.data()) }) }) }(jQuery), function (r) { "use strict"; var a = function (t) { this.element = r(t) }; function e(i) { return this.each(function () { var t = r(this), e = t.data("bs.tab"); e || t.data("bs.tab", e = new a(this)), "string" == typeof i && e[i]() }) } a.VERSION = "3.4.1", a.TRANSITION_DURATION = 150, a.prototype.show = function () { var t = this.element, e = t.closest("ul:not(.dropdown-menu)"), i = t.data("target"); if (i || (i = (i = t.attr("href")) && i.replace(/.*(?=#[^\s]*$)/, "")), !t.parent("li").hasClass("active")) { var o = e.find(".active:last a"), n = r.Event("hide.bs.tab", { relatedTarget: t[0] }), s = r.Event("show.bs.tab", { relatedTarget: o[0] }); if (o.trigger(n), t.trigger(s), !s.isDefaultPrevented() && !n.isDefaultPrevented()) { var a = r(document).find(i); this.activate(t.closest("li"), e), this.activate(a, a.parent(), function () { o.trigger({ type: "hidden.bs.tab", relatedTarget: t[0] }), t.trigger({ type: "shown.bs.tab", relatedTarget: o[0] }) }) } } }, a.prototype.activate = function (t, e, i) { var o = e.find(">
19 .active"), n = i && r.support.transition && (o.length && o.hasClass("fade") || !!e.find("> .fade").length); function s() { o.removeClass("active").find("> .dropdown-menu > .active").removeClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded", !1), t.addClass("active").find('[data-toggle="tab"]').attr("aria-expanded", !0), n ? (t[0].offsetWidth, t.addClass("in")) : t.removeClass("fade"), t.parent(".dropdown-menu").length && t.closest("li.dropdown").addClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded", !0), i && i() } o.length && n ? o.one("bsTransitionEnd", s).emulateTransitionEnd(a.TRANSITION_DURATION) : s(), o.removeClass("in") }; var t = r.fn.tab; r.fn.tab = e, r.fn.tab.Constructor = a, r.fn.tab.noConflict = function () { return r.fn.tab = t, this }; var i = function (t) { t.preventDefault(), e.call(r(this), "show") }; r(document).on("click.bs.tab.data-api", '[data-toggle="tab"]', i).on("click.bs.tab.data-api", '[data-toggle="pill"]', i) }(jQuery), function (l) { "use strict"; var h = function (t, e) { this.options = l.extend({}, h.DEFAULTS, e); var i = this.options.target === h.DEFAULTS.target ? l(this.options.target) : l(document).find(this.options.target); this.$target = i.on("scroll.bs.affix.data-api", l.proxy(this.checkPosition, this)).on("click.bs.affix.data-api", l.proxy(this.checkPositionWithEventLoop, this)), this.$element = l(t), this.affixed = null, this.unpin = null, this.pinnedOffset = null, this.checkPosition() }; function i(o) { return this.each(function () { var t = l(this), e = t.data("bs.affix"), i = "object" == typeof o && o; e || t.data("bs.affix", e = new h(this, i)), "string" == typeof o && e[o]() }) } h.VERSION = "3.4.1", h.RESET = "affix affix-top affix-bottom", h.DEFAULTS = { offset: 0, target: window }, h.prototype.getState = function (t, e, i, o) { var n = this.$target.scrollTop(), s = this.$element.offset(), a = this.$target.height(); if (null != i && "top" == this.affixed) return n < i && "top"; if ("bottom" == this.affixed) return null != i ? !(n + this.unpin <= s.top) && "bottom" : !(n + a <= t - o) && "bottom"; var r = null == this.affixed, l = r ? n : s.top; return null != i && n <= i ? "top" : null != o && t - o <= l + (r ? a : e) && "bottom" }, h.prototype.getPinnedOffset = function () { if (this.pinnedOffset) return this.pinnedOffset; this.$element.removeClass(h.RESET).addClass("affix"); var t = this.$target.scrollTop(), e = this.$element.offset(); return this.pinnedOffset = e.top - t }, h.prototype.checkPositionWithEventLoop = function () { setTimeout(l.proxy(this.checkPosition, this), 1) }, h.prototype.checkPosition = function () { if (this.$element.is(":visible")) { var t = this.$element.height(), e = this.options.offset, i = e.top, o = e.bottom, n = Math.max(l(document).height(), l(document.body).height()); "object" != typeof e && (o = i = e), "function" == typeof i && (i = e.top(this.$element)), "function" == typeof o && (o = e.bottom(this.$element)); var s = this.getState(n, t, i, o); if (this.affixed != s) { null != this.unpin && this.$element.css("top", ""); var a = "affix" + (s ? "-" + s : ""), r = l.Event(a + ".bs.affix"); if (this.$element.trigger(r), r.isDefaultPrevented()) return; this.affixed = s, this.unpin = "bottom" == s ? this.getPinnedOffset() : null, this.$element.removeClass(h.RESET).addClass(a).trigger(a.replace("affix", "affixed") + ".bs.affix") } "bottom" == s && this.$element.offset({ top: n - t - o }) } }; var t = l.fn.affix; l.fn.affix = i, l.fn.affix.Constructor = h, l.fn.affix.noConflict = function () { return l.fn.affix = t, this }, l(window).on("load", function () { l('[data-spy="affix"]').each(function () { var t = l(this), e = t.data(); e.offset = e.offset || {}, null != e.offsetBottom && (e.offset.bottom = e.offsetBottom), null != e.offsetTop && (e.offset.top = e.offsetTop), i.call(t, e) }) }) }(jQuery);
20
21/*!
22 * money.js / fx() v0.2
23 * Copyright 2014 Open Exchange Rates
24 *
25 * JavaScript library for realtime currency conversion and exchange rate calculation.
26 *
27 * Freely distributable under the MIT license.
28 * Portions of money.js are inspired by or borrowed from underscore.js
29 *
30 * For details, examples and documentation:
31 * http://openexchangerates.github.io/money.js/
32 */
33(function (n, t) { var i = function (n) { return new e(n) }, r; i.version = "0.2"; r = n.fxSetup || { rates: {}, base: "" }; i.rates = r.rates; i.base = r.base; i.settings = { from: r.from || i.base, to: r.to || i.base }; var u = i.convert = function (n, t) { if (typeof n == "object" && n.length) { for (var r = 0; r < n.length; r++)n[r] = u(n[r], t); return n } return t = t || {}, t.from || (t.from = i.settings.from), t.to || (t.to = i.settings.to), n * o(t.to, t.from) }, o = function (n, t) { var r = i.rates; if (r[i.base] = 1, !r[n] || !r[t]) throw "fx error"; return t === i.base ? r[n] : n === i.base ? 1 / r[t] : r[n] * (1 / r[t]) }, e = function (n) { typeof n == "string" ? (this._v = parseFloat(n.replace(/[^0-9-.]/g, "")), this._fx = n.replace(/([^A-Za-z])/g, "")) : this._v = n }, f = i.prototype = e.prototype; f.convert = function () { var n = Array.prototype.slice.call(arguments); return n.unshift(this._v), u.apply(i, n) }; f.from = function (n) { var t = i(u(this._v, { from: n, to: i.base })); return t._fx = i.base, t };
33 f.to = function (n) { return u(this._v, { from: this._fx ? this._fx : i.settings.from, to: n }) }; typeof exports != "undefined" ? (typeof module != "undefined" && module.exports && (exports = module.exports = i), exports.fx = i) : typeof define == "function" && define.amd ? define([], function () { return i }) : (i.noConflict = function (r) { return function () { return n.fx = r, i.noConflict = t, i } }(n.fx), n.fx = i) })(this);
34/*RateIt*/
35(function (n) { function t(n) { var u = n.originalEvent.changedTouches, t = u[0], i = "", r; switch (n.type) { case "touchmove": i = "mousemove"; break; case "touchend": i = "mouseup"; break; default: return } r = document.createEvent("MouseEvent"); r.initMouseEvent(i, !0, !0, window, 1, t.screenX, t.screenY, t.clientX, t.clientY, !1, !1, !1, !1, 0, null); t.target.dispatchEvent(r); n.preventDefault() } n.rateit = { aria: { resetLabel: "reset rating", ratingLabel: "rating" } }; n.fn.rateit = function (i, r) { var e = 1, u = {}, o = "init", s = function (n) { return n.charAt(0).toUpperCase() + n.substr(1) }, f; if (this.length == 0) return this; if (f = n.type(i), f == "object" || i === undefined || i == null) u = n.extend({}, n.fn.rateit.defaults, i); else { if (f == "string" && i !== "reset" && r === undefined) return this.data("rateit" + s(i)); f == "string" && (o = "setvalue") } return this.each(function () { var c = n(this), f = function (n, t) { if (t != null) { var i = "aria-value" + (n == "value" ? "now" : n), r = c.find(".rateit-range"); r.attr(i) != undefined && r.attr(i, t) } return arguments[0] = "rateit" + s(n), c.data.apply(c, arguments) }, p, w, v, h, d, g, l, y, b, a; if (i == "reset") { p = f("init"); for (w in p) c.data(w, p[w]); f("backingfld") && (h = n(f("backingfld")), h.val(f("value")), h[0].min && (h[0].min = f("min")), h[0].max && (h[0].max = f("max")), h[0].step && (h[0].step = f("step"))); c.trigger("reset") } if (c.hasClass("rateit") || c.addClass("rateit"), v = c.css("direction") != "rtl", o == "setvalue") { if (!f("init")) throw "Can't set value before init"; i != "readonly" || r != !0 || f("readonly") || (c.find(".rateit-range").unbind(), f("wired", !1)); i == "value" && (r = r == null ? f("min") : Math.max(f("min"), Math.min(f("max"), r))); f("backingfld") && (h = n(f("backingfld")), i == "value" && h.val(r), i == "min" && h[0].min && (h[0].min = r), i == "max" && h[0].max && (h[0].max = r), i == "step" && h[0].step && (h[0].step = r)); f(i, r) } f("init") || (f("min", isNaN(f("min")) ? u.min : f("min")), f("max", isNaN(f("max")) ? u.max : f("max")), f("step", f("step") || u.step), f("readonly", f("readonly") !== undefined ? f("readonly") : u.readonly), f("resetable", f("resetable") !== undefined ? f("resetable") : u.resetable), f("backingfld", f("backingfld") || u.backingfld), f("starwidth", f("starwidth") || u.starwidth), f("starheight", f("starheight") || u.starheight), f("value", Math.max(f("min"), Math.min(f("max"), isNaN(f("value")) ? isNaN(u.value) ? u.min : u.value : f("value")))), f("ispreset", f("ispreset") !== undefined ? f("ispreset") : u.ispreset), f("backingfld") && (h = n(f("backingfld")), f("value", h.hide().val()), (h.attr("disabled") || h.attr("readonly")) && f("readonly", !0), h[0].nodeName == "INPUT" && (h[0].type == "range" || h[0].type == "text") && (f("min", parseInt(h.attr("min")) || f("min")), f("max", parseInt(h.attr("max")) || f("max")), f("step", parseInt(h.attr("step")) || f("step"))), h[0].nodeName == "SELECT" && h[0].options.length > 1 && (f("min", Number(h[0].options[0].value)), f("max", Number(h[0].options[h[0].length - 1].value)), f("step", Number(h[0].options[1].value) - Number(h[0].options[0].value)))), d = c[0].nodeName == "DIV" ? "div" : "span", e++, g = '<button id="rateit-reset-{{index}}" data-role="none" class="rateit-reset" aria-label="' + n.rateit.aria.resetLabel + '" aria-controls="rateit-range-{{index}}"><\/button><{{element}} id="rateit-range-{{index}}" class="rateit-range" tabindex="0" role="slider" aria-label="' + n.rateit.aria.ratingLabel + '" aria-owns="rateit-reset-{{index}}" aria-valuemin="' + f("min") + '" aria-valuemax="' + f("max") + '" aria-valuenow="' + f("value") + '"><{{element}} class="rateit-selected" style="height:' + f("starheight") + 'px"><\/{{element}}><{{element}} class="rateit-hover" style="height:' + f("starheight") + 'px"><\/{{element}}><\/{{element}}>', c.append(g.replace(/{{index}}/gi, e).replace(/{{element}}/gi, d)), v || (c.find(".rateit-reset").css("float", "right"), c.find(".rateit-selected").addClass("rateit-selected-rtl"), c.find(".rateit-hover").addClass("rateit-hover-rtl")), f("init", JSON.parse(JSON.stringify(c.data())))); c.find(".rateit-selected, .rateit-hover").height(f("starheight")); l = c.find(".rateit-range"); l.width(f("starwidth") * (f("max") - f("min"))).height(f("starheight")); y = "rateit-preset" + (v ? "" : "-rtl"); f("ispreset") ? c.find(".rateit-selected").addClass(y) : c.find(".rateit-selected").removeClass(y); f("value") != null && (b = (f("value") - f("min")) * f("starwidth"), c.find(".rateit-selected").width(b)); a = c.find(".rateit-reset"); a.data("wired") !== !0 && a.bind("click", function (n) { n.preventDefault(); a.blur(); c.rateit("value", null); c.trigger("reset") }).data("wired", !0); var nt = function (t, i) { var u = i.changedTouches ? i.changedTouches[0].pageX : i.pageX, r = u - n(t).offset().left; return v || (r = l.width() - r), r >
35 l.width() && (r = l.width()), r < 0 && (r = 0), b = Math.ceil(r / f("starwidth") * (1 / f("step"))) }, tt = function (n) { var t = n * f("starwidth") * f("step"), r = l.find(".rateit-hover"), i; r.data("width") != t && (l.find(".rateit-selected").hide(), r.width(t).show().data("width", t), i = [n * f("step") + f("min")], c.trigger("hover", i).trigger("over", i)) }, k = function (t) { f("value", t); f("backingfld") && n(f("backingfld")).val(t); f("ispreset") && (l.find(".rateit-selected").removeClass(y), f("ispreset", !1)); l.find(".rateit-hover").hide(); l.find(".rateit-selected").width(t * f("starwidth") - f("min") * f("starwidth")).show(); c.trigger("hover", [null]).trigger("over", [null]).trigger("rated", [t]) }; f("readonly") ? a.hide() : (f("resetable") || a.hide(), f("wired") || (l.bind("touchmove touchend", t), l.mousemove(function (n) { var t = nt(this, n); tt(t) }), l.mouseleave(function () { l.find(".rateit-hover").hide().width(0).data("width", ""); c.trigger("hover", [null]).trigger("over", [null]); l.find(".rateit-selected").show() }), l.mouseup(function (n) { var t = nt(this, n), i = t * f("step") + f("min"); k(i); l.blur() }), l.keyup(function (n) { (n.which == 38 || n.which == (v ? 39 : 37)) && k(Math.min(f("value") + f("step"), f("max"))); (n.which == 40 || n.which == (v ? 37 : 39)) && k(Math.max(f("value") - f("step"), f("min"))) }), f("wired", !0)), f("resetable") && a.show()); l.attr("aria-readonly", f("readonly")) }) }; n.fn.rateit.defaults = { min: 0, max: 5, step: .5, starwidth: 20, starheight: 20, readonly: !1, resetable: !0, ispreset: !1 }; n(function () { n("div.rateit, span.rateit").rateit() }) })(jQuery);
36/* HoverIntent */
37(function (n) { n.fn.hoverIntent = function (t, i, r) { var u = { interval: 100, sensitivity: 7, timeout: 0 }; u = typeof t == "object" ? n.extend(u, t) : n.isFunction(i) ? n.extend(u, { over: t, out: i, selector: r }) : n.extend(u, { over: t, out: t, selector: i }); var f, e, o, s, h = function (n) { f = n.pageX; e = n.pageY }, c = function (t, i) { if (i.hoverIntent_t = clearTimeout(i.hoverIntent_t), Math.abs(o - f) + Math.abs(s - e) < u.sensitivity) return n(i).off("mousemove.hoverIntent", h), i.hoverIntent_s = 1, u.over.apply(i, [t]); o = f; s = e; i.hoverIntent_t = setTimeout(function () { c(t, i) }, u.interval) }, a = function (n, t) { return t.hoverIntent_t = clearTimeout(t.hoverIntent_t), t.hoverIntent_s = 0, u.out.apply(t, [n]) }, l = function (t) { var r = jQuery.extend({}, t), i = this; if (i.hoverIntent_t && (i.hoverIntent_t = clearTimeout(i.hoverIntent_t)), t.type == "mouseenter") { o = r.pageX; s = r.pageY; n(i).on("mousemove.hoverIntent", h); i.hoverIntent_s != 1 && (i.hoverIntent_t = setTimeout(function () { c(r, i) }, u.interval)) } else n(i).off("mousemove.hoverIntent", h), i.hoverIntent_s == 1 && (i.hoverIntent_t = setTimeout(function () { a(r, i) }, u.timeout)) }; return this.on({ "mouseenter.hoverIntent": l, "mouseleave.hoverIntent": l }, u.selector) } })(jQuery);
38/* Double Tap Togo */
39(function (n, t, i) { n.fn.doubleTapToGo = function (r) { var u = { clickCallback: function () { } }; return (r = n.extend(u, r), !("ontouchstart" in t) && !navigator.msMaxTouchPoints && !navigator.userAgent.toLowerCase().match(/windows phone os 7/i)) ? !1 : (this.each(function () { var t = !1; n(this).on("click", function (i) { var u = n(this); u[0] != t[0] && (i.preventDefault(), t = u, r.clickCallback(u)) }); n(i).on("click touchstart MSPointerDown", function (i) { for (var u = !0, f = n(i.target).parents(), r = 0; r < f.length; r++) f[r] == t[0] && (u = !1); u && (t = !1) }) }), this) } })(jQuery, window, document);
40/* Google Search - Custom */
41(function (n) { n.fn.gcsSearchBox = function (t) { t = n.extend({ id: "searchBox", searchTargetUrl: "", apiUrl: "", mlddPx: "", inputBg: "", inputClass: "" }, t); this.each(function () { var r = { search: function (n, i) { document.location.href = t.searchTargetUrl + "?q=" + escape(n) + "&pos=" + i } }, i = n(this); i.find(".typeahead").typeahead({ hint: !0, highlight: !0, minLength: 1 }, { name: "search", displayKey: "value", source: function (n, r) { var u = []; jQuery.ajax({ url: t.apiUrl + n, async: !1, dataType: "jsonp", success: function (t) { var o = new RegExp(n, "i"), f, e; if (t && t[1] && t[1].length > 0) { for (f = 0; f < t[1].length; f++) e = t[1][f][0], o.test(e) && u.push({ value: e }); r(u) } else i.find(".tt-dropdown-menu").hide() } }) }, updater: function (n) { r.search(n, 1) } }).on("keypress", function (t) { t.which == 13 && (t.preventDefault(), r.search(n(this).val(), 1)) }); t.inputBg != "" && i.find(".typeahead").css("background-color", t.inputBg); t.mlddPx !== "" && i.find(".tt-dropdown-menu").css("left", t.mlddPx + "px"); i.find(".searchButton").on("click", function (n) { var t = ""; i.find(".typeahead").each(function () { t = jQuery(this).val() }); r.search(t, 1); n.preventDefault() }) }) } })(jQuery);
42/* Galleria - Custom - Min*/
43!function (t, e, i, n) {
44    var a = e.document, o = t(a), r = t(e), s = Array.prototype, l = 1.35, c = true, u = 3e4, h = false, f = navigator.userAgent.toLowerCase(), d = e.location.hash.replace(/#\//, ""), p = e.location.protocol, g = Math, m = function () { }, v = function () { return false }, y = function () { var t = 3, e = a.createElement("div"), i = e.getElementsByTagName("i"); do { e.innerHTML = "<!--[if gt IE " + ++t + "]><i></i><![endif]-->" } while (i[0]); return t > 4 ? t : a.documentMode || n }(), _ = function () { return { html: a.documentElement, body: a.body, head: a.getElementsByTagName("head")[0], title: a.title } }, b = e.parent !== e.self, w = "data ready thumbnail loadstart loadfinish image play pause progress " + "fullscreen_enter fullscreen_exit idle_enter idle_exit rescale " + "lightbox_open lightbox_close lightbox_image", x = function () { var e = []; t.each(w.split(" "), function (t, i) { e.push(i); if (/_/.test(i)) { e.push(i.replace(/_/g, "")) } }); return e }(), T = function (e) { var i; if (typeof e !== "object") { return e } t.each(e, function (n, a) { if (/^[a-z]+_/.test(n)) { i = ""; t.each(n.split("_"), function (t, e) { i += t > 0 ? e.substr(0, 1).toUpperCase() + e.substr(1) : e }); e[i] = a; delete e[n] } }); return e }, k = function (e) { if (t.inArray(e, x) > -1) { return i[e.toUpperCase()] } return e }, C = { youtube: { reg: /https?:\/\/(?:[a-zA_Z]{2,3}.)?(?:youtube\.com\/watch\?)((?:[\w\d\-\_\=]+&amp;(?:amp;)?)*v(?:&lt;[A-Z]+&gt;)?=([0-9a-zA-Z\-\_]+))/i, embed: function () { return "http://www.youtube.com/embed/" + this.id }, getUrl: function () { return p + "//gdata.youtube.com/feeds/api/videos/" + this.id + "?v=2&alt=json-in-script&callback=?" }, get_thumb: function (t) { return t.entry.media$group.media$thumbnail[2].url }, get_image: function (t) { if (t.entry.yt$hd) { return p + "//img.youtube.com/vi/" + this.id + "/maxresdefault.jpg" } return t.entry.media$group.media$thumbnail[3].url } }, vimeo: { reg: /https?:\/\/(?:www\.)?(vimeo\.com)\/(?:hd#)?([0-9]+)/i, embed: function () { return "http://player.vimeo.com/video/" + this.id }, getUrl: function () { return p + "//vimeo.com/api/v2/video/" + this.id + ".json?callback=?" }, get_thumb: function (t) { return t[0].thumbnail_medium }, get_image: function (t) { return t[0].thumbnail_large } }, dailymotion: { reg: /https?:\/\/(?:www\.)?(dailymotion\.com)\/video\/([^_]+)/, embed: function () { return p + "//www.dailymotion.com/embed/video/" + this.id }, getUrl: function () { return "https://api.dailymotion.com/video/" + this.id + "?fields=thumbnail_240_url,thumbnail_720_url&callback=?" }, get_thumb: function (t) { return t.thumbnail_240_url }, get_image: function (t) { return t.thumbnail_720_url } }, _inst: [] }, I = function (e, i) { for (var n = 0; n < C._inst.length; n++) { if (C._inst[n].id === i && C._inst[n].type == e) { return C._inst[n] } } this.type = e; this.id = i; this.readys = []; C._inst.push(this); var a = this; t.extend(this, C[e]); t.getJSON(this.getUrl(), function (e) { a.data = e; t.each(a.readys, function (t, e) { e(a.data) }); a.readys = [] }); this.getMedia = function (t, e, i) { i = i || m; var n = this; var a = function (i) { e(n["get_" + t](i)) }; try { if (n.data) { a(n.data) } else { n.readys.push(a) } } catch (o) { i() } } }, S = function (t) { var e; for (var i in C) { e = t && C[i].reg && t.match(C[i].reg); if (e && e.length) { return { id: e[2], provider: i } } } return false }, A = { support: function () { var t = _().html; return !b && (t.requestFullscreen || t.mozRequestFullScreen || t.webkitRequestFullScreen) }(), callback: m, enter: function (t, e, i) { this.instance = t; this.callback = e || m; i = i || _().html; if (i.requestFullscreen) { i.requestFullscreen() } else if (i.mozRequestFullScreen) { i.mozRequestFullScreen() } else if (i.webkitRequestFullScreen) { i.webkitRequestFullScreen() } }, exit: function (t) { this.callback = t || m; if (a.exitFullscreen) { a.exitFullscreen() } else if (a.mozCancelFullScreen) { a.mozCancelFullScreen() } else if (a.webkitCancelFullScreen) { a.webkitCancelFullScreen() } }, instance: null, listen: function () { if (!this.support) { return } var t = function () { if (!A.instance) { return } var t = A.instance._fullscreen; if (a.fullscreen || a.mozFullScreen || a.webkitIsFullScreen) { t._enter(A.callback) } else { t._exit(A.callback) } }; a.addEventListener("fullscreenchange", t, false); a.addEventListener("mozfullscreenchange", t, false); a.addEventListener("webkitfullscreenchange", t, false) } }, E = [], D = [], $ = false, L = false, P = [], z = function (e) { i.theme = e; t.each(P, function (t, e) { if (!e._initialized) { e._init.call(e) } }); P = [] }, H = function () { return { clearTimer: function (e) { t.each(i.get(), function () { this.clearTimer(e) }) }, addTimer: function (e) { t.each(i.get(), function () { this.addTimer(e) }) }, array: function (t) { return s.slice.call(t, 0) }, create: function (t, e) { e = e || "div"; var i = a.createElement(e); i.className = t; return i }, removeFromArray: function (e, i) { t.each(e, function (t, n) { if (n == i) { e.splice(t, 1); return false } }); return e }, getScriptPath: function (e) { e = e || t("script:last").attr("src"); var i = e.split("/"); if (i.length == 1) { return "" } i.pop(); return i.join("/") + "/" }, animate: function () { var n = function (t) { var i = "transition WebkitTransition MozTransition OTransition".split(" "), n; if (e.opera) { return false } for (n = 0; i[n]; n++) { if (typeof t[i[n]] !== "undefined") { return i[n] } } return false }((a.body || a.documentElement).style); var o = { MozTransition: "transitionend", OTransition: "oTransitionEnd", WebkitTransition: "webkitTransitionEnd", transition: "transitionend" }[n]; var r = { _default: [.25, .1, .25, 1], galleria: [.645, .045, .355, 1], galleriaIn: [.55, .085, .68, .53], galleriaOut: [.25, .46, .45, .94], ease: [.25, 0, .25, 1], linear: [.25, .25, .75, .75], "ease-in": [.42, 0, 1, 1], "ease-out": [0, 0, .58, 1], "ease-in-out": [.42, 0, .58, 1] }; var s = function (e, i, n) { var a = {}; n = n || "transition"; t.each("webkit moz ms o".split(" "), function () { a["-" + this + "-" + n] = i }); e.css(a) }; var l = function (t) { s(t, "none", "transition");
44 if (i.WEBKIT && i.TOUCH) { s(t, "translate3d(0,0,0)", "transform"); if (t.data("revert")) { t.css(t.data("revert")); t.data("revert", null) } } }; var c, u, h, f, d, p, g; return function (a, v, y) { y = t.extend({ duration: 400, complete: m, stop: false }, y); a = t(a); if (!y.duration) { a.css(v); y.complete.call(a[0]); return } if (!n) { a.animate(v, y); return } if (y.stop) { a.off(o); l(a) } c = false; t.each(v, function (t, e) { g = a.css(t); if (H.parseValue(g) != H.parseValue(e)) { c = true } a.css(t, g) }); if (!c) { e.setTimeout(function () { y.complete.call(a[0]) }, y.duration); return } u = []; h = y.easing in r ? r[y.easing] : r._default; f = " " + y.duration + "ms" + " cubic-bezier(" + h.join(",") + ")"; e.setTimeout(function (e, n, a, o) { return function () { e.one(n, function (t) { return function () { l(t); y.complete.call(t[0]) } }(e)); if (i.WEBKIT && i.TOUCH) { d = {}; p = [0, 0, 0]; t.each(["left", "top"], function (t, i) { if (i in a) { p[t] = H.parseValue(a[i]) - H.parseValue(e.css(i)) + "px"; d[i] = a[i]; delete a[i] } }); if (p[0] || p[1]) { e.data("revert", d); u.push("-webkit-transform" + o); s(e, "translate3d(" + p.join(",") + ")", "transform") } } t.each(a, function (t, e) { u.push(t + o) }); s(e, u.join(",")); e.css(a) } }(a, o, v, f), 2) } }(), removeAlpha: function (t) { if (t instanceof jQuery) { t = t[0] } if (y < 9 && t) { var e = t.style, i = t.currentStyle, n = i && i.filter || e.filter || ""; if (/alpha/.test(n)) { e.filter = n.replace(/alpha\([^)]*\)/i, "") } } }, forceStyles: function (e, i) { e = t(e); if (e.attr("style")) { e.data("styles", e.attr("style")).removeAttr("style") } e.css(i) }, revertStyles: function () { t.each(H.array(arguments), function (e, i) { i = t(i); i.removeAttr("style"); i.attr("style", ""); if (i.data("styles")) { i.attr("style", i.data("styles")).data("styles", null) } }) }, moveOut: function (t) { H.forceStyles(t, { position: "absolute", left: -1e4 }) }, moveIn: function () { H.revertStyles.apply(H, H.array(arguments)) }, hide: function (e, i, n) { n = n || m; var a = t(e); e = a[0]; if (!a.data("opacity")) { a.data("opacity", a.css("opacity")) } var o = { opacity: 0 }; if (i) { var r = y < 9 && e ? function () { H.removeAlpha(e); e.style.visibility = "hidden"; n.call(e) } : n; H.animate(e, o, { duration: i, complete: r, stop: true }) } else { if (y < 9 && e) { H.removeAlpha(e); e.style.visibility = "hidden" } else { a.css(o) } } }, show: function (e, i, n) { n = n || m; var a = t(e); e = a[0]; var o = parseFloat(a.data("opacity")) || 1, r = { opacity: o }; if (i) { if (y < 9) { a.css("opacity", 0); e.style.visibility = "visible" } var s = y < 9 && e ? function () { if (r.opacity == 1) { H.removeAlpha(e) } n.call(e) } : n; H.animate(e, r, { duration: i, complete: s, stop: true }) } else { if (y < 9 && r.opacity == 1 && e) { H.removeAlpha(e); e.style.visibility = "visible" } else { a.css(r) } } }, wait: function (n) { i._waiters = i._waiters || []; n = t.extend({ until: v, success: m, error: function () { i.raise("Could not complete wait function.") }, timeout: 3e3 }, n); var a = H.timestamp(), o, r, s, l = function () { r = H.timestamp(); o = r - a; H.removeFromArray(i._waiters, s); if (n.until(o)) { n.success(); return false } if (typeof n.timeout == "number" && r >= a + n.timeout) { n.error(); return false } i._waiters.push(s = e.setTimeout(l, 10)) }; i._waiters.push(s = e.setTimeout(l, 10)) }, toggleQuality: function (t, e) { if (y !== 7 && y !== 8 || !t || t.nodeName.toUpperCase() != "IMG") { return } if (typeof e === "undefined") { e = t.style.msInterpolationMode === "nearest-neighbor" } t.style.msInterpolationMode = e ? "bicubic" : "nearest-neighbor" }, insertStyleTag: function (e, i) { if (i && t("#" + i).length) { return } var n = a.createElement("style"); if (i) { n.id = i } _().head.appendChild(n); if (n.styleSheet) { n.styleSheet.cssText = e } else { var o = a.createTextNode(e); n.appendChild(o) } }, loadScript: function (e, i) { var n = false, a = t("<scr" + "ipt>").attr({ src: e, async: true }).get(0); a.onload = a.onreadystatechange = function () { if (!n && (!this.readyState || this.readyState === "loaded" || this.readyState === "complete")) { n = true; a.onload = a.onreadystatechange = null; if (typeof i === "function") { i.call(this, this) } } }; _().head.appendChild(a) }, parseValue: function (t) { if (typeof t === "number") { return t } else if (typeof t === "string") { var e = t.match(/\-?\d|\./g); return e && e.constructor === Array ? e.join("") * 1 : 0 } else { return 0 } }, timestamp: function () { return (new Date).getTime() }, loadCSS: function (e, o, r) { var s, l; t("link[rel=stylesheet]").each(function () { if (new RegExp(e).test(this.href)) { s = this; return false } }); if (typeof o === "function") { r = o; o = n } r = r || m; if (s) { r.call(s, s); return s } l = a.styleSheets.length; if (t("#" + o).length) { t("#" + o).attr("href", e); l-- } else { s = t("<link>").attr({ rel: "stylesheet", href: e, id: o }).get(0); var c = t('link[rel="stylesheet"], style'); if (c.length) { c.get(0).parentNode.insertBefore(s, c[0]) } else { _().head.appendChild(s) } if (y && l >= 31) { i.raise("You have reached the browser stylesheet limit (31)", true); return } } if (typeof r === "function") { var u = t("<s>").attr("id", "galleria-loader").hide().appendTo(_().body); H.wait({ until: function () { return u.height() == 1 }, success: function () { u.remove(); r.call(s, s) }, error: function () { u.remove(); i.raise("Theme CSS could not load after 20 sec. " + (i.QUIRK ? "Your browser is in Quirks Mode, please add a correct doctype." : "Please download the latest theme at http://galleria.io/customer/."), true) }, timeout: 5e3 }) } return s } } }(), O = function (e) { var i = ".galleria-videoicon{width:60px;height:60px;position:absolute;top:50%;left:50%;z-index:1;" + "margin:-30px 0 0 -30px;cursor:pointer;background:#000;background:rgba(0,0,0,.8);border-radius:3px;-webkit-transition:all 150ms}" + ".galleria-videoicon i{width:0px;height:0px;border-style:solid;border-width:10px 0 10px 16px;display:block;" + "border-color:transparent transparent transparent #ffffff;margin:20px 0 0 22px}.galleria-image:hover .galleria-videoicon{background:#000}"; H.insertStyleTag(i, "galleria-videoicon"); return t(H.create("galleria-videoicon")).html("<i></i>").appendTo(e).click(function () { t(this).siblings("img").mouseup() }) }, F = function () { var e = function (e, i, n, a) { var o = this.getOptions("easing"), r = this.get
44StageWidth(), s = { left: r * (e.rewind ? -1 : 1) }, l = { left: 0 }; if (n) { s.opacity = 0; l.opacity = 1 } else { s.opacity = 1 } t(e.next).css(s); H.animate(e.next, l, { duration: e.speed, complete: function (t) { return function () { i(); t.css({ left: 0 }) } }(t(e.next).add(e.prev)), queue: false, easing: o }); if (a) { e.rewind = !e.rewind } if (e.prev) { s = { left: 0 }; l = { left: r * (e.rewind ? 1 : -1) }; if (n) { s.opacity = 1; l.opacity = 0 } t(e.prev).css(s); H.animate(e.prev, l, { duration: e.speed, queue: false, easing: o, complete: function () { t(this).css("opacity", 0) } }) } }; return { active: false, init: function (t, e, i) { if (F.effects.hasOwnProperty(t)) { F.effects[t].call(this, e, i) } }, effects: { fade: function (e, i) { t(e.next).css({ opacity: 0, left: 0 }); H.animate(e.next, { opacity: 1 }, { duration: e.speed, complete: i }); if (e.prev) { t(e.prev).css("opacity", 1).show(); H.animate(e.prev, { opacity: 0 }, { duration: e.speed }) } }, flash: function (e, i) { t(e.next).css({ opacity: 0, left: 0 }); if (e.prev) { H.animate(e.prev, { opacity: 0 }, { duration: e.speed / 2, complete: function () { H.animate(e.next, { opacity: 1 }, { duration: e.speed, complete: i }) } }) } else { H.animate(e.next, { opacity: 1 }, { duration: e.speed, complete: i }) } }, pulse: function (e, i) { if (e.prev) { t(e.prev).hide() } t(e.next).css({ opacity: 0, left: 0 }).show(); H.animate(e.next, { opacity: 1 }, { duration: e.speed, complete: i }) }, slide: function (t, i) { e.apply(this, H.array(arguments)) }, fadeslide: function (t, i) { e.apply(this, H.array(arguments).concat([true])) }, doorslide: function (t, i) { e.apply(this, H.array(arguments).concat([false, true])) } } } }(); A.listen(); t.event.special["click:fast"] = { propagate: true, add: function (e) { var n = this.propagate; if (i.TOUCH) { t(this).on("touchstart.fast", function a(i) { var n = i.originalEvent, a, o, r = 0; if (n.touches.length == 1) { a = n.touches[0].pageX; o = n.touches[0].pageY; t(this).on("touchmove.fast", function (t) { var e = t.originalEvent.touches; if (e.length == 1) { r = g.max(g.abs(a - e[0].pageX), g.abs(o - e[0].pageY)) } }); t(this).on("touchend.fast", function () { if (r > 4) { return t(this).off("touchend.fast touchmove.fast") } e.handler.call(this, i); t(this).off("touchend.fast touchmove.fast") }) } }) } else { t(this).on("click.fast", e.handler) } }, remove: function (e) { if (i.TOUCH) { t(this).off("touchstart.fast touchmove.fast touchend.fast") } else { t(this).off("click.fast", e.handler) } } }; r.on("orientationchange", function () { t(this).resize() }); i = function () { var s = this; this._options = {}; this._playing = false; this._playtime = 5e3; this._active = null; this._queue = { length: 0 }; this._data = []; this._dom = {}; this._thumbnails = []; this._layers = []; this._initialized = false; this._firstrun = false; this._stageWidth = 0; this._stageHeight = 0; this._target = n; this._binds = []; this._id = parseInt(g.random() * 1e4, 10); var l = "container stage images image-nav image-nav-left image-nav-right " + "info info-text info-title info-description " + "thumbnails thumbnails-list thumbnails-container thumb-nav-left thumb-nav-right " + "loader counter tooltip", c = "current total"; t.each(l.split(" "), function (t, e) { s._dom[e] = H.create("galleria-" + e) }); t.each(c.split(" "), function (t, e) { s._dom[e] = H.create("galleria-" + e, "span") }); var u = this._keyboard = { keys: { UP: 38, DOWN: 40, LEFT: 37, RIGHT: 39, RETURN: 13, ESCAPE: 27, BACKSPACE: 8, SPACE: 32 }, map: {}, bound: false, press: function (t) { var e = t.keyCode || t.which; if (e in u.map && typeof u.map[e] === "function") { u.map[e].call(s, t) } }, attach: function (t) { var e, i; for (e in t) { if (t.hasOwnProperty(e)) { i = e.toUpperCase(); if (i in u.keys) { u.map[u.keys[i]] = t[e] } else { u.map[i] = t[e] } } } if (!u.bound) { u.bound = true; o.on("keydown", u.press) } }, detach: function () { u.bound = false; u.map = {}; o.off("keydown", u.press) } }; var h = this._controls = { 0: n, 1: n, active: 0, swap: function () { h.active = h.active ? 0 : 1 }, getActive: function () { return s._options.swipe ? h.slides[s._active] : h[h.active] }, getNext: function () { return s._options.swipe ? h.slides[s.getNext(s._active)] : h[1 - h.active] }, slides: [], frames: [], layers: [] }; var d = this._carousel = { next: s.$("thumb-nav-right"), prev: s.$("thumb-nav-left"), width: 0, current: 0, max: 0, hooks: [], update: function () { var e = 0, i = 0, n = [0]; t.each(s._thumbnails, function (a, o) { if (o.ready) { e += o.outerWidth || t(o.container).outerWidth(true); var r = t(o.container).width(); e += r - g.floor(r); n[a + 1] = e; i = g.max(i, o.outerHeight || t(o.container).outerHeight(true)) } }); s.$("thumbnails").css({ width: e, height: i }); d.max = e; d.hooks = n; d.width = s.$("thumbnails-list").width(); d.setClasses(); s.$("thumbnails-container").toggleClass("galleria-carousel", e > d.width); d.width = s.$("thumbnails-list").width() }
44, bindControls: function () { var t; d.next.on("click:fast", function (e) { e.preventDefault(); if (s._options.carouselSteps === "auto") { for (t = d.current; t < d.hooks.length; t++) { if (d.hooks[t] - d.hooks[d.current] > d.width) { d.set(t - 2); break } } } else { d.set(d.current + s._options.carouselSteps) } }); d.prev.on("click:fast", function (e) { e.preventDefault(); if (s._options.carouselSteps === "auto") { for (t = d.current; t >= 0; t--) { if (d.hooks[d.current] - d.hooks[t] > d.width) { d.set(t + 2); break } else if (t === 0) { d.set(0); break } } } else { d.set(d.current - s._options.carouselSteps) } }) }, set: function (t) { t = g.max(t, 0); while (d.hooks[t - 1] + d.width >= d.max && t >= 0) { t-- } d.current = t; d.animate() }, getLast: function (t) { return (t || d.current) - 1 }, follow: function (t) { if (t === 0 || t === d.hooks.length - 2) { d.set(t); return } var e = d.current; while (d.hooks[e] - d.hooks[d.current] < d.width && e <= d.hooks.length) { e++ } if (t - 1 < d.current) { d.set(t - 1) } else if (t + 2 > e) { d.set(t - e + d.current + 2) } }, setClasses: function () { d.prev.toggleClass("disabled", !d.current); d.next.toggleClass("disabled", d.hooks[d.current] + d.width >= d.max) }, animate: function (e) { d.setClasses(); var i = d.hooks[d.current] * -1; if (isNaN(i)) { return } s.$("thumbnails").css("left", function () { return t(this).css("left") }); H.animate(s.get("thumbnails"), { left: i }, { duration: s._options.carouselSpeed, easing: s._options.easing, queue: false }) } }; var p = this._tooltip = { initialized: false, open: false, timer: "tooltip" + s._id, swapTimer: "swap" + s._id, init: function () { p.initialized = true; var t = ".galleria-tooltip{padding:3px 8px;max-width:50%;background:#ffe;color:#000;z-index:3;position:absolute;font-size:11px;line-height:1.3;" + "opacity:0;box-shadow:0 0 2px rgba(0,0,0,.4);-moz-box-shadow:0 0 2px rgba(0,0,0,.4);-webkit-box-shadow:0 0 2px rgba(0,0,0,.4);}"; H.insertStyleTag(t, "galleria-tooltip"); s.$("tooltip").css({ opacity: .8, visibility: "visible", display: "none" }) }, move: function (t) { var e = s.getMousePosition(t).x, i = s.getMousePosition(t).y, n = s.$("tooltip"), a = e, o = i, r = n.outerHeight(true) + 1, l = n.outerWidth(true), c = r + 15; var u = s.$("container").width() - l - 2, h = s.$("container").height() - r - 2; if (!isNaN(a) && !isNaN(o)) { a += 10; o -= r + 8; a = g.max(0, g.min(u, a)); o = g.max(0, g.min(h, o)); if (i < c) { o = c } n.css({ left: a, top: o }) } }, bind: function (e, n) { if (i.TOUCH) { return } if (!p.initialized) { p.init() } var a = function () { s.$("container").off("mousemove", p.move); s.clearTimer(p.timer); s.$("tooltip").stop().animate({ opacity: 0 }, 200, function () { s.$("tooltip").hide(); s.addTimer(p.swapTimer, function () { p.open = false }, 1e3) }) }; var o = function (e, i) { p.define(e, i); t(e).hover(function () { s.clearTimer(p.swapTimer); s.$("container").off("mousemove", p.move).on("mousemove", p.move).trigger("mousemove"); p.show(e); s.addTimer(p.timer, function () { s.$("tooltip").stop().show().animate({ opacity: 1 }); p.open = true }, p.open ? 0 : 500) }, a).click(a) }; if (typeof n === "string") { o(e in s._dom ? s.get(e) : e, n) } else { t.each(e, function (t, e) { o(s.get(t), e) }) } }, show: function (i) { i = t(i in s._dom ? s.get(i) : i); var n = i.data("tt"), a = function (t) { e.setTimeout(function (t) { return function () { p.move(t) } }(t), 10); i.off("mouseup", a) }; n = typeof n === "function" ? n() : n; if (!n) { return } s.$("tooltip").html(n.replace(/\s/, "&#160;")); i.on("mouseup", a) }, define: function (e, i) { if (typeof i !== "function") { var n = i; i = function () { return n } } e = t(e in s._dom ? s.get(e) : e).data("tt", i); p.show(e) } }; var m = this._fullscreen = { scrolled: 0, crop: n, active: false, prev: t(), beforeEnter: function (t) { t() }, beforeExit: function (t) { t() }, keymap: s._keyboard.map, parseCallback: function (e, i) { return F.active ? function () { if (typeof e == "function") { e.call(s) } var n = s._controls.getActive(), a = s._controls.getNext(); s._scaleImage(a); s._scaleImage(n); if (i && s._options.trueFullscreen) { t(n.container).add(a.container).trigger("transitionend") } } : e }, enter: function (t) { m.beforeEnter(function () { t = m.parseCallback(t, true); if (s._options.trueFullscreen && A.support) { m.active = true; H.forceStyles(s.get("container"), { width: "100%", height: "100%" }); s.rescale(); if (i.MAC) { if (!(i.SAFARI && /version\/[1-5]/.test(f))) { s.$("container").css("opacity", 0).addClass("fullscreen"); e.setTimeout(function () { m.scale(); s.$("container").css("opacity", 1) }, 50) } else { s.$("stage").css("opacity", 0); e.setTimeout(function () { m.scale(); s.$("stage").css("opacity", 1) }, 4) } } else { s.$("container").addClass("fullscreen") } r.resize(m.scale); A.enter(s, t, s.get("container")) } else { m.scrolled = r.scrollTop(); if (!i.TOUCH) { e.scrollTo(0, 0) } m._enter(t) } }) }, _enter: function (o) { m.active = true; if (b) { m.iframe = function () { var n, o = a.referrer, r = a.createElement("a"), s = e.location; r.href = o; if (r.protocol != s.protocol || r.hostname != s.hostname || r.port != s.port) { i.raise("Parent fullscreen not available. Iframe protocol, domains and ports must match."); return false } m.pd = e.parent.document; t(m.pd).find("iframe").each(function () { var t = this.contentDocument || this.contentWindow.document; if (t === a) { n = this; return false } }); return n }() } H.hide(s.getActiveImage());
44 if (b && m.iframe) { m.iframe.scrolled = t(e.parent).scrollTop(); e.parent.scrollTo(0, 0) } var l = s.getData(), c = s._options, u = !s._options.trueFullscreen || !A.support, h = { height: "100%", overflow: "hidden", margin: 0, padding: 0 }; if (u) { s.$("container").addClass("fullscreen"); m.prev = s.$("container").prev(); if (!m.prev.length) { m.parent = s.$("container").parent() } s.$("container").appendTo("body"); H.forceStyles(s.get("container"), { position: i.TOUCH ? "absolute" : "fixed", top: 0, left: 0, width: "100%", height: "100%", zIndex: 1e4 }); H.forceStyles(_().html, h); H.forceStyles(_().body, h) } if (b && m.iframe) { H.forceStyles(m.pd.documentElement, h); H.forceStyles(m.pd.body, h); H.forceStyles(m.iframe, t.extend(h, { width: "100%", height: "100%", top: 0, left: 0, position: "fixed", zIndex: 1e4, border: "none" })) } m.keymap = t.extend({}, s._keyboard.map); s.attachKeyboard({ escape: s.exitFullscreen, right: s.next, left: s.prev }); m.crop = c.imageCrop; if (c.fullscreenCrop != n) { c.imageCrop = c.fullscreenCrop } if (l && l.big && l.image !== l.big) { var f = new i.Picture, d = f.isCached(l.big), p = s.getIndex(), g = s._thumbnails[p]; s.trigger({ type: i.LOADSTART, cached: d, rewind: false, index: p, imageTarget: s.getActiveImage(), thumbTarget: g, galleriaData: l }); f.load(l.big, function (e) { s._scaleImage(e, { complete: function (e) { s.trigger({ type: i.LOADFINISH, cached: d, index: p, rewind: false, imageTarget: e.image, thumbTarget: g }); var n = s._controls.getActive().image; if (n) { t(n).width(e.image.width).height(e.image.height).attr("style", t(e.image).attr("style")).attr("src", e.image.src) } } }) }); var v = s.getNext(p), y = new i.Picture, w = s.getData(v); y.preload(s.isFullscreen() && w.big ? w.big : w.image) } s.rescale(function () { s.addTimer(false, function () { if (u) { H.show(s.getActiveImage()) } if (typeof o === "function") { o.call(s) } s.rescale() }, 100); s.trigger(i.FULLSCREEN_ENTER) }); if (!u) { H.show(s.getActiveImage()) } else { r.resize(m.scale) } }, scale: function () { s.rescale() }, exit: function (t) { m.beforeExit(function () { t = m.parseCallback(t); if (s._options.trueFullscreen && A.support) { A.exit(t) } else { m._exit(t) } }) }, _exit: function (t) { m.active = false; var n = !s._options.trueFullscreen || !A.support, a = s.$("container").removeClass("fullscreen"); if (m.parent) { m.parent.prepend(a) } else { a.insertAfter(m.prev) } if (n) { H.hide(s.getActiveImage()); H.revertStyles(s.get("container"), _().html, _().body); if (!i.TOUCH) { e.scrollTo(0, m.scrolled) } var o = s._controls.frames[s._controls.active]; if (o && o.image) { o.image.src = o.image.src } } if (b && m.iframe) { H.revertStyles(m.pd.documentElement, m.pd.body, m.iframe); if (m.iframe.scrolled) { e.parent.scrollTo(0, m.iframe.scrolled) } } s.detachKeyboard(); s.attachKeyboard(m.keymap); s._options.imageCrop = m.crop; var l = s.getData().big, c = s._controls.getActive().image; if (!s.getData().iframe && c && l && l == c.src) { e.setTimeout(function (t) { return function () { c.src = t } }(s.getData().image), 1) } s.rescale(function () { s.addTimer(false, function () { if (n) { H.show(s.getActiveImage()) } if (typeof t === "function") { t.call(s) } r.trigger("resize") }, 50); s.trigger(i.FULLSCREEN_EXIT) }); r.off("resize", m.scale) } }; var v = this._idle = { trunk: [], bound: false, active: false, add: function (e, n, a, o) { if (!e || i.TOUCH) { return } if (!v.bound) { v.addEvent() } e = t(e); if (typeof a == "boolean") { o = a; a = {} } a = a || {}; var r = {}, s; for (s in n) { if (n.hasOwnProperty(s)) { r[s] = e.css(s) } } e.data("idle", { from: t.extend(r, a), to: n, complete: true, busy: false }); if (!o) { v.addTimer() } else { e.css(n) } v.trunk.push(e) }, remove: function (e) { e = t(e); t.each(v.trunk, function (t, i) { if (i && i.length && !i.not(e).length) { e.css(e.data("idle").from); v.trunk.splice(t, 1) } }); if (!v.trunk.length) { v.removeEvent(); s.clearTimer(v.timer) } }, addEvent: function () { v.bound = true; s.$("container").on("mousemove click", v.showAll); if (s._options.idleMode == "hover") { s.$("container").on("mouseleave", v.hide) } }, removeEvent: function () { v.bound = false; s.$("container").on("mousemove click", v.showAll); if (s._options.idleMode == "hover") { s.$("container").off("mouseleave", v.hide) } }, addTimer: function () { if (s._options.idleMode == "hover") { return } s.addTimer("idle", function () { v.hide() }, s._options.idleTime) }, hide: function () { if (!s._options.idleMode || s.getIndex() === false) { return } s.trigger(i.IDLE_ENTER); var e = v.trunk.length; t.each(v.trunk, function (t, i) { var n = i.data("idle"); if (!n) { return } i.data("idle").complete = false; H.animate(i, n.to, { duration: s._options.idleSpeed, complete: function () { if (t == e - 1) { v.active = false } } }) }) }, showAll: function () { s.clearTimer("idle"); t.each(v.trunk, function (t, e) { v.show(e) }) }, show: function (e) { var n = e.data("idle"); if (!v.active || !n.busy && !n.complete) { n.busy = true; s.trigger(i.IDLE_EXIT); s.clearTimer("idle"); H.animate(e, n.from, { duration: s._options.idleSpeed / 2, complete: function () { v.active = true; t(e).data("idle").busy = false; t(e).data("idle").complete = true } }) } v.addTimer() } }; var w = this._lightbox = { width: 0, height: 0, initialized: false, active: null, image: null, elems: {}, keymap: false, init: function () { if (w.initialized) { return } w.initialized = true; var e = "overlay box content shadow title info close prevholder prev nextholder next counter image", n = {}, a = s._options, o = "", r = "position:absolute;", l = "lightbox-", c = { overlay: "position:fixed;display:none;opacity:" + a.overlayOpacity + ";filter:alpha(opacity=" + a.overlayOpacity * 100 + ");top:0;left:0;width:100%;height:100%;
44background:" + a.overlayBackground + ";z-index:99990", box: "position:fixed;display:none;width:400px;height:400px;top:50%;left:50%;margin-top:-200px;margin-left:-200px;z-index:99991", shadow: r + "background:#000;width:100%;height:100%;", content: r + "background-color:#fff;top:10px;left:10px;right:10px;bottom:10px;overflow:hidden", info: r + "bottom:10px;left:10px;right:10px;color:#444;font:11px/13px arial,sans-serif;height:13px", close: r + "top:10px;right:10px;height:20px;width:20px;background:#fff;text-align:center;cursor:pointer;color:#444;font:16px/22px arial,sans-serif;z-index:99999", image: r + "top:10px;left:10px;right:10px;bottom:30px;overflow:hidden;display:block;", prevholder: r + "width:50%;top:0;bottom:40px;cursor:pointer;", nextholder: r + "width:50%;top:0;bottom:40px;right:-1px;cursor:pointer;", prev: r + "top:50%;margin-top:-20px;height:40px;width:30px;background:#fff;left:20px;display:none;text-align:center;color:#000;font:bold 16px/36px arial,sans-serif", next: r + "top:50%;margin-top:-20px;height:40px;width:30px;background:#fff;right:20px;left:auto;display:none;font:bold 16px/36px arial,sans-serif;text-align:center;color:#000", title: "float:left", counter: "float:right;margin-left:8px;" }, u = function (e) { return e.hover(function () { t(this).css("color", "#bbb") }, function () { t(this).css("color", "#444") }) }, h = {}; var f = ""; if (y > 7) { f = y < 9 ? "background:#000;filter:alpha(opacity=0);" : "background:rgba(0,0,0,0);" } else { f = "z-index:99999" } c.nextholder += f; c.prevholder += f; t.each(c, function (t, e) { o += ".galleria-" + l + t + "{" + e + "}" }); o += ".galleria-" + l + "box.iframe .galleria-" + l + "prevholder," + ".galleria-" + l + "box.iframe .galleria-" + l + "nextholder{" + "width:100px;height:100px;top:50%;margin-top:-70px}"; H.insertStyleTag(o, "galleria-lightbox"); t.each(e.split(" "), function (t, e) { s.addElement("lightbox-" + e); n[e] = w.elems[e] = s.get("lightbox-" + e) }); w.image = new i.Picture; t.each({ box: "shadow content close prevholder nextholder", info: "title counter", content: "info image", prevholder: "prev", nextholder: "next" }, function (e, i) { var n = []; t.each(i.split(" "), function (t, e) { n.push(l + e) }); h[l + e] = n }); s.append(h); t(n.image).append(w.image.container); t(_().body).append(n.overlay, n.box); u(t(n.close).on("click:fast", w.hide).html("&#215;")); t.each(["Prev", "Next"], function (e, a) { var o = t(n[a.toLowerCase()]).html(/v/.test(a) ? "&#8249;&#160;" : "&#160;&#8250;"), r = t(n[a.toLowerCase() + "holder"]); r.on("click:fast", function () { w["show" + a]() }); if (y < 8 || i.TOUCH) { o.show(); return } r.hover(function () { o.show() }, function (t) { o.stop().fadeOut(200) }) }); t(n.overlay).on("click:fast", w.hide); if (i.IPAD) { s._options.lightboxTransitionSpeed = 0 } }, rescale: function (e) { var n = g.min(r.width() - 40, w.width), a = g.min(r.height() - 60, w.height), o = g.min(n / w.width, a / w.height), l = g.round(w.width * o) + 40, c = g.round(w.height * o) + 60, u = { width: l, height: c, "margin-top": g.ceil(c / 2) * -1, "margin-left": g.ceil(l / 2) * -1 }; if (e) { t(w.elems.box).css(u) } else { t(w.elems.box).animate(u, { duration: s._options.lightboxTransitionSpeed, easing: s._options.easing, complete: function () { var e = w.image, n = s._options.lightboxFadeSpeed; s.trigger({ type: i.LIGHTBOX_IMAGE, imageTarget: e.image }); t(e.container).show(); t(e.image).animate({ opacity: 1 }, n); H.show(w.elems.info, n) } }) } }, hide: function () { w.image.image = null; r.off("resize", w.rescale); t(w.elems.box).hide().find("iframe").remove(); H.hide(w.elems.info); s.detachKeyboard(); s.attachKeyboard(w.keymap); w.keymap = false; H.hide(w.elems.overlay, 200, function () { t(this).hide().css("opacity", s._options.overlayOpacity); s.trigger(i.LIGHTBOX_CLOSE) }) }, showNext: function () { w.show(s.getNext(w.active)) }, showPrev: function () { w.show(s.getPrev(w.active)) }
44, show: function (n) { w.active = n = typeof n === "number" ? n : s.getIndex() || 0; if (!w.initialized) { w.init() } s.trigger(i.LIGHTBOX_OPEN); if (!w.keymap) { w.keymap = t.extend({}, s._keyboard.map); s.attachKeyboard({ escape: w.hide, right: w.showNext, left: w.showPrev }) } r.off("resize", w.rescale); var a = s.getData(n), o = s.getDataLength(), l = s.getNext(n), c, u, h; H.hide(w.elems.info); try { for (h = s._options.preload; h > 0; h--) { u = new i.Picture; c = s.getData(l); u.preload(c.big ? c.big : c.image); l = s.getNext(l) } } catch (f) { } w.image.isIframe = a.iframe && !a.image; t(w.elems.box).toggleClass("iframe", w.image.isIframe); t(w.image.container).find(".galleria-videoicon").remove(); w.image.load(a.big || a.image || a.iframe, function (i) { if (i.isIframe) { var l = t(e).width(), c = t(e).height(); if (i.video && s._options.maxVideoSize) { var u = g.min(s._options.maxVideoSize / l, s._options.maxVideoSize / c); if (u < 1) { l *= u; c *= u } } w.width = l; w.height = c } else { w.width = i.original.width; w.height = i.original.height } t(i.image).css({ width: i.isIframe ? "100%" : "100.1%", height: i.isIframe ? "100%" : "100.1%", top: 0, bottom: 0, zIndex: 99998, opacity: 0, visibility: "visible" }).parent().height("100%"); w.elems.title.innerHTML = a.title || ""; w.elems.counter.innerHTML = n + 1 + " / " + o; r.resize(w.rescale); w.rescale(); if (a.image && a.iframe) { t(w.elems.box).addClass("iframe"); if (a.video) { var h = O(i.container).hide(); e.setTimeout(function () { h.fadeIn(200) }, 200) } t(i.image).css("cursor", "pointer").mouseup(function (e, i) { return function (n) { t(w.image.container).find(".galleria-videoicon").remove(); n.preventDefault(); i.isIframe = true; i.load(e.iframe + (e.video ? "&autoplay=1" : ""), { width: "100%", height: y < 8 ? t(w.image.container).height() : "100%" }) } }(a, i)) } }); t(w.elems.overlay).show().css("visibility", "visible"); t(w.elems.box).show() } }; var x = this._timer = { trunk: {}, add: function (t, i, n, a) { t = t || (new Date).getTime(); a = a || false; this.clear(t); if (a) { var o = i; i = function () { o(); x.add(t, i, n) } } this.trunk[t] = e.setTimeout(i, n) }, clear: function (t) { var i = function (t) { e.clearTimeout(this.trunk[t]); delete this.trunk[t] }, n; if (!!t && t in this.trunk) { i.call(this, t) } else if (typeof t === "undefined") { for (n in this.trunk) { if (this.trunk.hasOwnProperty(n)) { i.call(this, n) } } } } }; return this }; i.prototype = {
45        constructor: i, init: function (e, a) {
46            a = T(a); this._original = { target: e, options: a, data: null }; this._target = this._dom.target = e.nodeName ? e : t(e).get(0); this._original.html = this._target.innerHTML; D.push(this); if (!this._target) { i.raise("Target not found", true); return } this._options = { autoplay: false, carousel: true, carouselFollow: true, carouselSpeed: 400, carouselSteps: "auto", clicknext: false, dailymotion: { foreground: "%23EEEEEE", highlight: "%235BCEC5", background: "%23222222", logo: 0, hideInfos: 1 }, dataConfig: function (t) { return {} }, dataSelector: "img", dataSort: false, dataSource: this._target, debug: n, dummy: n, easing: "galleria", extend: function (t) { }, fullscreenCrop: n, fullscreenDoubleTap: true, fullscreenTransition: n, height: 0, idleMode: true, idleTime: 3e3, idleSpeed: 200, imageCrop: false, imageMargin: 0, imagePan: false, imagePanSmoothness: 12, imagePosition: "50%", imageTimeout: n, initialTransition: n, keepSource: false, layerFollow: true, lightbox: false, lightboxFadeSpeed: 200, lightboxTransitionSpeed: 200, linkSourceImages: true, maxScaleRatio: n, maxVideoSize: n, minScaleRatio: n, overlayOpacity: .85, overlayBackground: "#0b0b0b", pauseOnInteraction: true, popupLinks: false, preload: 2, queue: true, responsive: true, show: 0, showInfo: true, showCounter: true, showImagenav: true, swipe: "auto", thumbCrop: true, thumbEventType: "click:fast", thumbMargin: 0, thumbQuality: "auto", thumbDisplayOrder: true, thumbPosition: "50%", thumbnails: true, touchTransition: n, transition: "fade", transitionInitial: n, transitionSpeed: 400, trueFullscreen: true, useCanvas: fal
46se, variation: "", videoPoster: true, vimeo: { title: 0, byline: 0, portrait: 0, color: "aaaaaa" }, wait: 5e3, width: "auto", youtube: { modestbranding: 1, autohide: 1, color: "white", hd: 1, rel: 0, showinfo: 0 } };
47            this._options.initialTransition = this._options.initialTransition || this._options.transitionInitial; if (a && a.debug === false) { c = false } if (a && typeof a.imageTimeout === "number") { u = a.imageTimeout } if (a && typeof a.dummy === "string") { h = a.dummy } t(this._target).children().hide(); if (i.QUIRK) { i.raise("Your page is in Quirks mode, Galleria may not render correctly. Please validate your HTML and add a correct doctype.") } if (typeof i.theme === "object") { this._init() } else { P.push(this) } return this
48        }, _init: function () { var o = this, s = this._options; if (this._initialized) { i.raise("Init failed: Gallery instance already initialized."); return this } this._initialized = true; if (!i.theme) { i.raise("Init failed: No theme found.", true); return this } t.extend(true, s, i.theme.defaults, this._original.options, i.configure.options); s.swipe = function (t) { if (t == "enforced") { return true } if (t === false || t == "disabled") { return false } return !!i.TOUCH }(s.swipe); if (s.swipe) { s.clicknext = false; s.imagePan = false } !function (t) { if (!("getContext" in t)) { t = null; return } L = L || { elem: t, context: t.getContext("2d"), cache: {}, length: 0 } }(a.createElement("canvas")); this.bind(i.DATA, function () { if (e.screen && e.screen.width && Array.prototype.forEach) { this._data.forEach(function (t) { var i = "devicePixelRatio" in e ? e.devicePixelRatio : 1, n = g.max(e.screen.width, e.screen.height); if (n * i < 1024) { t.big = t.image } }) } this._original.data = this._data; this.get("total").innerHTML = this.getDataLength(); var t = this.$("container"); if (o._options.height < 2) { o._userRatio = o._ratio = o._options.height } var n = { width: 0, height: 0 }; var a = function () { return o.$("stage").height() }; H.wait({ until: function () { n = o._getWH(); t.width(n.width).height(n.height); return a() && n.width && n.height > 50 }, success: function () { o._width = n.width; o._height = n.height; o._ratio = o._ratio || n.height / n.width; if (i.WEBKIT) { e.setTimeout(function () { o._run() }, 1) } else { o._run() } }, error: function () { if (a()) { i.raise("Could not extract sufficient width/height of the gallery container. Traced measures: width:" + n.width + "px, height: " + n.height + "px.", true) } else { i.raise("Could not extract a stage height from the CSS. Traced height: " + a() + "px.", true) } }, timeout: typeof this._options.wait == "number" ? this._options.wait : false }) }); this.append({ "info-text": ["info-title", "info-description"], info: ["info-text"], "image-nav": ["image-nav-right", "image-nav-left"], stage: ["images", "loader", "counter", "image-nav"], "thumbnails-list": ["thumbnails"], "thumbnails-container": ["thumb-nav-left", "thumbnails-list", "thumb-nav-right"], container: ["stage", "thumbnails-container", "info", "tooltip"] }); H.hide(this.$("counter").append(this.get("current"), a.createTextNode(" / "), this.get("total"))); this.setCounter("&#8211;"); H.hide(o.get("tooltip")); this.$("container").addClass((i.TOUCH ? "touch" : "notouch") + " " + this._options.variation); if (!this._options.swipe) { t.each(new Array(2), function (e) { var n = new i.Picture; t(n.container).css({ position: "absolute", top: 0, left: 0 }).prepend(o._layers[e] = t(H.create("galleria-layer")).css({ position: "absolute", top: 0, left: 0, right: 0, bottom: 0, zIndex: 2 })[0]); o.$("images").append(n.container); o._controls[e] = n; var a = new i.Picture; a.isIframe = true; t(a.container).attr("class", "galleria-frame").css({ position: "absolute", top: 0, left: 0, zIndex: 4, background: "#000", display: "none" }).appendTo(n.container); o._controls.frames[e] = a }) } this.$("images").css({ position: "relative", top: 0, left: 0, width: "100%", height: "100%" }); if (s.swipe) { this.$("images").css({ position: "absolute", top: 0, left: 0, width: 0, height: "100%" }); this.finger = new i.Finger(this.get("stage"), { onchange: function (t) { o.pause().show(t) }, oncomplete: function (e) { var i = g.max(0, g.min(parseInt(e, 10), o.getDataLength() - 1)), n = o.getData(i); t(o._thumbnails[i].container).addClass("active").siblings(".active").removeClass("active"); if (!n) { return } o.$("images").find("iframe").remove(); o.$("images").find(".galleria-frame").css("opacity", 0).hide(); if (o._options.carousel && o._options.carouselFollow) { o._carousel.follow(i) } } }); this.bind(i.RESCALE, function () { this.finger.setup() }); this.$("stage").on("click", function (i) { var a = o.getData(); if (!a) { return } if (a.iframe) { if (o.isPlaying()) { o.pause() } var r = o._controls.frames[o._active], s = o._stageWidth, l = o._stageHeight; if (t(r.container).find("iframe").length) { return } t(r.container).css({ width: s, height: l, opacity: 0 }).show().animate({ opacity: 1 }, 200); e.setTimeout(function () { r.load(a.iframe + (a.video ? "&autoplay=1" : ""), { width: s, height: l }
48, function (t) { o.$("container").addClass("videoplay"); t.scale({ width: o._stageWidth, height: o._stageHeight, iframelimit: a.video ? o._options.maxVideoSize : n }) }) }, 100); return } if (a.link) { if (o._options.popupLinks) { var c = e.open(a.link, "_blank") } else { e.location.href = a.link } return } }); this.bind(i.IMAGE, function (e) { o.setCounter(e.index); o.setInfo(e.index); var i = this.getNext(), n = this.getPrev(); var a = [n, i]; a.push(this.getNext(i), this.getPrev(n), o._controls.slides.length - 1); var r = []; t.each(a, function (e, i) { if (t.inArray(i, r) == -1) { r.push(i) } }); t.each(r, function (e, i) { var n = o.getData(i), a = o._controls.slides[i], r = o.isFullscreen() && n.big ? n.big : n.image || n.iframe; if (n.iframe && !n.image) { a.isIframe = true } if (!a.ready) { o._controls.slides[i].load(r, function (e) { if (!e.isIframe) { t(e.image).css("visibility", "hidden") } o._scaleImage(e, { complete: function (e) { if (!e.isIframe) { t(e.image).css({ opacity: 0, visibility: "visible" }).animate({ opacity: 1 }, 200) } } }) }) } }) }) } this.$("thumbnails, thumbnails-list").css({ overflow: "hidden", position: "relative" }); this.$("image-nav-right, image-nav-left").on("click:fast", function (t) { if (s.pauseOnInteraction) { o.pause() } var e = /right/.test(this.className) ? "next" : "prev"; o[e]() }).on("click", function (t) { t.preventDefault(); if (s.clicknext || s.swipe) { t.stopPropagation() } }); t.each(["info", "counter", "image-nav"], function (t, e) { if (s["show" + e.substr(0, 1).toUpperCase() + e.substr(1).replace(/-/, "")] === false) { H.moveOut(o.get(e.toLowerCase())) } }); this.load(); if (!s.keepSource && !y) { this._target.innerHTML = "" } if (this.get("errors")) { this.appendChild("target", "errors") } this.appendChild("target", "container"); if (s.carousel) { var l = 0, c = s.show; this.bind(i.THUMBNAIL, function () { this.updateCarousel(); if (++l == this.getDataLength() && typeof c == "number" && c > 0) { this._carousel.follow(c) } }) } if (s.responsive) { r.on("resize", function () { if (!o.isFullscreen()) { o.resize() } }) } if (s.fullscreenDoubleTap) { this.$("stage").on("touchstart", function () { var t, e, i, n, a, r, s = function (t) { return t.originalEvent.touches ? t.originalEvent.touches[0] : t }; o.$("stage").on("touchmove", function () { t = 0 }); return function (l) { if (/(-left|-right)/.test(l.target.className)) { return } r = H.timestamp(); e = s(l).pageX; i = s(l).pageY; if (l.originalEvent.touches.length < 2 && r - t < 300 && e - n < 20 && i - a < 20) { o.toggleFullscreen(); l.preventDefault(); return } t = r; n = e; a = i } }()) } t.each(i.on.binds, function (e, i) { if (t.inArray(i.hash, o._binds) == -1) { o.bind(i.type, i.callback) } }); return this }, addTimer: function () { this._timer.add.apply(this._timer, H.array(arguments)); return this }, clearTimer: function () { this._timer.clear.apply(this._timer, H.array(arguments)); return this }, _getWH: function () { var e = this.$("container"), i = this.$("target"), n = this, a = {}, o; t.each(["width", "height"], function (t, r) { if (n._options[r] && typeof n._options[r] === "number") { a[r] = n._options[r] } else { o = [H.parseValue(e.css(r)), H.parseValue(i.css(r)), e[r](), i[r]()]; if (!n["_" + r]) { o.splice(o.length, H.parseValue(e.css("min-" + r)), H.parseValue(i.css("min-" + r))) } a[r] = g.max.apply(g, o) } }); if (n._userRatio) { a.height = a.width * n._userRatio } return a }, _createThumbnails: function (n) { this.get("total").innerHTML = this.getDataLength(); var o, r, s, l, c = this, u = this._options, h = n ? this._data.length - n.length : 0, f = h, d = [], p = 0, g = y < 8 ? "http://upload.wikimedia.org/wikipedia/commons/c/c0/Blank.gif" : "data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw%3D%3D", m = function () { var t = c.$("thumbnails").find(".active"); if (!t.length) { return false } return t.find("img").attr("src") }(), v = typeof u.thumbnails === "string" ? u.thumbnails.toLowerCase() : null, _ = function (t) { return a.defaultView && a.defaultView.getComputedStyle ? a.defaultView.getComputedStyle(r.container, null)[t] : l.css(t) }, b = function (e, n, a) { return function () { t(a).append(e); c.trigger({ type: i.THUMBNAIL, thumbTarget: e, index: n, galleriaData: c.getData(n) }) } }, w = function (e) { if (u.pauseOnInteraction) { c.pause() } var i = t(e.currentTarget).data("index"); if (c.getIndex() !== i) { c.show(i) } e.preventDefault() }, x = function (e, n) { t(e.container).css("visibility", "visible"); c.trigger({ type: i.THUMBNAIL, thumbTarget: e.image, index: e.data.order, galleriaData: c.getData(e.data.order) }); if (typeof n == "function") { n.call(c, e) } }, T = function (e, i) { e.scale({ width: e.data.width, height: e.data.height, crop: u.thumbCrop, margin: u.thumbMargin, canvas: u.useCanvas, position: u.thumbPosition, complete: function (e) { var n = ["left", "top"], a = ["Width", "Height"], o, r, s = c.getData(e.index); t.each(a, function (i, a) { o = a.toLowerCase(); if (u.thumbCrop !== true || u.thumbCrop === o) { r = {}; r[o] = e[o]; t(e.container).css(r); r = {}; r[n[i]] = 0; t(e.image).css(r) } e["outer" + a] = t(e.container)["outer" + a](true) }); H.toggleQuality(e.image, u.thumbQuality === true || u.thumbQuality === "auto" && e.original.width < e.width * 3); if (u.thumbDisplayOrder && !e.lazy) { t.each(d, function (t, e) { if (t === p && e.ready && !e.dis
48played) { p++; e.displayed = true; x(e, i); return } }) } else { x(e, i) } } }) }; if (!n) { this._thumbnails = []; this.$("thumbnails").empty() } for (; this._data[h]; h++) { s = this._data[h]; o = s.thumb || s.image; if ((u.thumbnails === true || v == "lazy") && (s.thumb || s.image)) { r = new i.Picture(h); r.index = h; r.displayed = false; r.lazy = false; r.video = false; this.$("thumbnails").append(r.container); l = t(r.container); l.css("visibility", "hidden"); r.data = { width: H.parseValue(_("width")), height: H.parseValue(_("height")), order: h, src: o }; if (u.thumbCrop !== true) { l.css({ width: "auto", height: "auto" }) } else { l.css({ width: r.data.width, height: r.data.height }) } if (v == "lazy") { l.addClass("lazy"); r.lazy = true; r.load(g, { height: r.data.height, width: r.data.width }) } else { r.load(o, T) } if (u.preload === "all") { r.preload(s.image) } } else if (s.iframe || v === "empty" || v === "numbers") { r = { container: H.create("galleria-image"), image: H.create("img", "span"), ready: true, data: { order: h } }; if (v === "numbers") { t(r.image).text(h + 1) } if (s.iframe) { t(r.image).addClass("iframe") } this.$("thumbnails").append(r.container); e.setTimeout(b(r.image, h, r.container), 50 + h * 20) } else { r = { container: null, image: null } } t(r.container).add(u.keepSource && u.linkSourceImages ? s.original : null).data("index", h).on(u.thumbEventType, w).data("thumbload", T); if (m === o) { t(r.container).addClass("active") } this._thumbnails.push(r) } d = this._thumbnails.slice(f); return this }, lazyLoad: function (e, i) { var n = e.constructor == Array ? e : [e], a = this, o = 0; t.each(n, function (e, r) { if (r > a._thumbnails.length - 1) { return } var s = a._thumbnails[r], l = s.data, c = function () { if (++o == n.length && typeof i == "function") { i.call(a) } }, u = t(s.container).data("thumbload"); if (s.video) { u.call(a, s, c) } else { s.load(l.src, function (t) { u.call(a, t, c) }) } }); return this }, lazyLoadChunks: function (t, i) { var n = this.getDataLength(), a = 0, o = 0, r = [], s = [], l = this; i = i || 0; for (; a < n; a++) { s.push(a); if (++o == t || a == n - 1) { r.push(s); o = 0; s = [] } } var c = function (t) { var n = r.shift(); if (n) { e.setTimeout(function () { l.lazyLoad(n, function () { c(true) }) }, i && t ? i : 0) } }; c(false); return this }, _run: function () { var a = this; a._createThumbnails(); H.wait({ timeout: 1e4, until: function () { if (i.OPERA) { a.$("stage").css("display", "inline-block") } a._stageWidth = a.$("stage").width(); a._stageHeight = a.$("stage").height(); return a._stageWidth && a._stageHeight > 50 }, success: function () { E.push(a); if (a._options.swipe) { var o = a.$("images").width(a.getDataLength() * a._stageWidth); t.each(new Array(a.getDataLength()), function (e) { var n = new i.Picture, r = a.getData(e); t(n.container).css({ position: "absolute", top: 0, left: a._stageWidth * e }).prepend(a._layers[e] = t(H.create("galleria-layer")).css({ position: "absolute", top: 0, left: 0, right: 0, bottom: 0, zIndex: 2 })[0]).appendTo(o); if (r.video) { O(n.container) } a._controls.slides.push(n); var s = new i.Picture; s.isIframe = true; t(s.container).attr("class", "galleria-frame").css({ position: "absolute", top: 0, left: 0, zIndex: 4, background: "#000", display: "none" }).appendTo(n.container); a._controls.frames.push(s) }); a.finger.setup() } H.show(a.get("counter"));
48 if (a._options.carousel) { a._carousel.bindControls() } if (a._options.autoplay) { a.pause(); if (typeof a._options.autoplay === "number") { a._playtime = a._options.autoplay } a._playing = true } if (a._firstrun) { if (a._options.autoplay) { a.trigger(i.PLAY) } if (typeof a._options.show === "number") { a.show(a._options.show) } return } a._firstrun = true; if (i.History) { i.History.change(function (t) { if (isNaN(t)) { e.history.go(-1) } else { a.show(t, n, true) } }) } a.trigger(i.READY); i.theme.init.call(a, a._options); t.each(i.ready.callbacks, function (t, e) { if (typeof e == "function") { e.call(a, a._options) } }); a._options.extend.call(a, a._options); if (/^[0-9]{1,4}$/.test(d) && i.History) { a.show(d, n, true) } else if (a._data[a._options.show]) { a.show(a._options.show) } if (a._options.autoplay) { a.trigger(i.PLAY) } }, error: function () { i.raise("Stage width or height is too small to show the gallery. Traced measures: width:" + a._stageWidth + "px, height: " + a._stageHeight + "px.", true) } }) }, load: function (e, n, a) { var o = this, r = this._options; this._data = []; this._thumbnails = []; this.$("thumbnails").empty(); if (typeof n === "function") { a = n; n = null } e = e || r.dataSource; n = n || r.dataSelector; a = a || r.dataConfig; if (t.isPlainObject(e)) { e = [e] } if (t.isArray(e)) { if (this.validate(e)) { this._data = e } else { i.raise("Load failed: JSON Array not valid.") } } else { n += ",.video,.iframe"; t(e).find(n).each(function (e, i) { i = t(i); var n = {}, r = i.parent(), s = r.attr("href"), l = r.attr("rel"); if (s && (i[0].nodeName == "IMG" || i.hasClass("video")) && S(s)) { n.video = s } else if (s && i.hasClass("iframe")) { n.iframe = s } else { n.image = n.big = s } if (l) { n.big = l } t.each("big title description link layer image".split(" "), function (t, e) { if (i.data(e)) { n[e] = i.data(e).toString() } }); if (!n.big) { n.big = n.image } o._data.push(t.extend({ title: i.attr("title") || "", thumb: i.attr("src"), image: i.attr("src"), big: i.attr("src"), description: i.attr("alt") || "", link: i.attr("longdesc"), original: i.get(0) }, n, a(i))) }) } if (typeof r.dataSort == "function") { s.sort.call(this._data, r.dataSort) } else if (r.dataSort == "random") { this._data.sort(function () { return g.round(g.random()) - .5 }) } if (this.getDataLength()) { this._parseData(function () { this.trigger(i.DATA) }) } return this }, _parseData: function (e) { var i = this, a, o = false, r = function () { var n = true; t.each(i._data, function (t, e) { if (e.loading) { n = false; return false } }); if (n && !o) { o = true; e.call(i) } }; t.each(this._data, function (e, o) { a = i._data[e]; if ("thumb" in o === false) { a.thumb = o.image } if (!o.big) { a.big = o.image } if ("video" in o) { var s = S(o.video); if (s) { a.iframe = new I(s.provider, s.id).embed() + function () { if (typeof i._options[s.provider] == "object") { var e = "?", n = []; t.each(i._options[s.provider], function (t, e) { n.push(t + "=" + e) }); if (s.provider == "youtube") { n = ["wmode=opaque"].concat(n) } return e + n.join("&") } return "" }(); if (!a.thumb || !a.image) { t.each(["thumb", "image"], function (t, e) { if (e == "image" && !i._options.videoPoster) { a.image = n; return } var o = new I(s.provider, s.id); if (!a[e]) { a.loading = true; o.getMedia(e, function (t, e) { return function (i) { t[e] = i; if (e == "image" && !t.big) { t.big = t.image } delete t.loading; r() } }(a, e)) } }) } } } }); r(); return this }, destroy: function () { this.$("target").data("galleria", null); this.$("container").off("galleria"); this.get("target").innerHTML = this._original.html; this.clearTimer(); H.removeFromArray(D, this); H.removeFromArray(E, this); if (i._waiters.length) { t.each(i._waiters, function (t, i) { if (i) e.clearTimeout(i) }) } return this }, splice: function () { var t = this, i = H.array(arguments); e.setTimeout(function () { s.splice.apply(t._data, i); t._parseData(function () { t._createThumbnails() }) }, 2); return t }, push: function () { var t = this, i = H.array(arguments); if (i.length == 1 && i[0].constructor == Array) { i = i[0] } e.setTimeout(function () { s.push.apply(t._data, i); t._parseData(function () { t._createThumbnails(i) }) }, 2); return t }, _getActive: function () { return this._controls.getActive() }, validate: function (t) { return true }, bind: function (t, e) { t = k(t); this.$("container").on(t, this.proxy(e)); return this }, unbind: function (t) { t = k(t); this.$("container").off(t); return this }, trigger: function (e) { e = typeof e === "object" ? t.extend(e, { scope: this }) : { type: k(e), scope: this }; this.$("container").trigger(e); return this }, addIdleState: function (t, e, i, n) { this._idle.add.apply(this._idle, H.array(arguments)); return this }, removeIdleState: function (t) { this._idle.remove.apply(this._idle, H.array(arguments)); return this }, enterIdleMode: function () { this._idle.hide(); return this }, exitIdleMode: function () { this._idle.showAll(); return this }, enterFullscreen: function (t) { this._fullscreen.enter.apply(this, H.array(arguments)); return this }, exitFullscreen: function (t) { this._fullscreen.exit.apply(this, H.array(arguments)); return this }, toggleFullscreen: function (t) { this._fullscreen[this.isFullscreen() ? "exit" : "enter"].apply(this, H.array(arguments)); return this }, bindTooltip: function (t, e) { this._tooltip.bind.apply(this._tooltip, H.array(arguments)); return this }, defineTooltip: function (t, e) { this._tooltip.define.apply(this._tooltip, H.array(arguments)); return this }, refreshTooltip: function (t) { this._tooltip.show.apply(this._tooltip, H.array(arguments)); return this }, openLightbox: function () { this._lightbox.show.apply(this._lightbox, H.array(arguments)); return this }, closeLightbox: function () { this._lightbox.hide.apply(this._lightbox, H.array(arguments)); return this }, hasVariation: function (e) { return t.inArray(e, this._options.variation.split(/\s+/)) > -1 }, getActiveImage: function () { var t = this._getActive(); return t ? t.image : n }, getActiveThumb: function () { return this._thumbnails[this._active].image || n }, getMousePosition: function (t) { return { x: t.pageX - this.$("container").offset().left, y: t.pageY - this.$("container").offset().top } }, addPan: function (e) { if (this._options.imageCrop === false) { return } e = t(e || this.getActiveImage()); var i = this, n = e.width() / 2, a = e.height() / 2, o = parseInt(e.css("left"), 10), r = parseInt(e.css("top"), 10), s = o || 0, l = r || 0, c = 0, u = 0, h = false, f = H.timestamp(), d = 0, p = 0, m = function (t, i, n) { if (t > 0) { p = g.round(g.max(t * -1, g.min(0, i))); if (d !== p) { d = p; if (y === 8) { e.parent()["scroll" + n](p * -1) } else { var a = {}; a[n.toLowerCase()] = p; e.css(a) } } } }, v = function (t) { if (H.timestamp() - f < 50) { return } h = true; n = i.getMousePosition(t).x; a = i.getMousePosition(t).y }, _ = function (t) { if (!h) { return } c = e.width() - i._stageWidth; u = e.height() - i._stageHeight; o = n / i._stageWidth * c * -1; r = a / i._stageHeight * u * -1; s += (o - s) / i._options.imagePanSmoothness; l += (r - l) / i._options.imagePanSmoothness; m(u, l, "Top"); m(c, s, "Left") }; if (y === 8) { e.parent().scrollTop(l * -1).scrollLeft(s * -1); e.css({ top: 0, left: 0 }) } this.$("stage").off("mousemove", v).on("mousemove", v); this.addTimer("pan" + i._id, _, 50, true); return this }, proxy: function (t, e) { if (typeof t !== "function") { return m } e = e || this; return function () { return t.apply(e, H.array(arguments)) } }, removePan: function () { this.$("stage").off("mousemove"); this.clearTimer("pan" + this._id); return this }, addElement: function (e) { var i = this._dom; t.each(H.array(arguments), function (t, e) { i[e] = H.create("galleria-" + e) }); return this }, attachKeyboard: function (t) { this._keyboard.attach.apply(this._keyboard, H.array(arguments)); return this }, detachKeyboard: function () { this._keyboard.detach.apply(this._keyboard, H.array(arguments)); return this }, appendChild: function (t, e) { this.$(t).append(this.get(e) || e); return this }, prependChild: function (t, e) { this.$(t).prepend(this.get(e) || e); return this }, remove: function (t) { this.$(H.array(arguments).join(",")).remove(); return this }, append: function (t) { var e, i; for (e in t) { if (t.hasOwnProperty(e)) { if (t[e].constructor === Array) { for (i = 0; t[e][i]; i++) { this.appendChild(e, t[e][i]) } } else { this.appendChild(e, t[e]) } } } return this }, _scaleImage: function (e, i) { e = e || this._controls.getActive(); if (!e) { return } var n, a = function (e) { t(e.container).children(":first").css({ top: g.max(0, H.parseValue(e.image.style.top)), left: g.max(0, H.parseValue(e.image.style.left)), width: H.parseValue(e.image.width), height: H.parseValue(e.image.height) }) }; i = t.extend({ width: this._stageWidth, height: this._stageHeight, crop: this._options.imageCrop, max: this._options.maxScaleRatio, min: this._options.minScaleRatio, margin: this._options.imageMargin, position: this._options.imagePosition, iframelimit: this._options.maxVideoSize }, i); if (this._options.layerFollow && this._options.imageCrop !== true) { if (typeof i.complete == "function") { n = i.complete; i.complete = function () { n.call(e, e); a(e) } } else { i.complete = a } } else { t(e.container).children(":first").css({ top: 0, left: 0 }) } e.scale(i); return this }
48, updateCarousel: function () { this._carousel.update(); return this }, resize: function (e, i) { if (typeof e == "function") { i = e; e = n } e = t.extend({ width: 0, height: 0 }, e); var a = this, o = this.$("container"); t.each(e, function (t, i) { if (!i) { o[t]("auto"); e[t] = a._getWH()[t] } }); t.each(e, function (t, e) { o[t](e) }); return this.rescale(i) }, rescale: function (e, a, o) { var r = this; if (typeof e === "function") { o = e; e = n } var s = function () { r._stageWidth = e || r.$("stage").width(); r._stageHeight = a || r.$("stage").height(); if (r._options.swipe) { t.each(r._controls.slides, function (e, i) { r._scaleImage(i); t(i.container).css("left", r._stageWidth * e) }); r.$("images").css("width", r._stageWidth * r.getDataLength()) } else { r._scaleImage() } if (r._options.carousel) { r.updateCarousel() } var n = r._controls.frames[r._controls.active]; if (n) { r._controls.frames[r._controls.active].scale({ width: r._stageWidth, height: r._stageHeight, iframelimit: r._options.maxVideoSize }) } r.trigger(i.RESCALE); if (typeof o === "function") { o.call(r) } }; s.call(r); return this }, refreshImage: function () { this._scaleImage(); if (this._options.imagePan) { this.addPan() } return this }, _preload: function () { if (this._options.preload) { var t, e, n = this.getNext(), a; try { for (e = this._options.preload; e > 0; e--) { t = new i.Picture; a = this.getData(n); t.preload(this.isFullscreen() && a.big ? a.big : a.image); n = this.getNext(n) } } catch (o) { } } }, show: function (n, a, o) { var r = this._options.swipe; if (!r && (this._queue.length > 3 || n === false || !this._options.queue && this._queue.stalled)) { return } n = g.max(0, g.min(parseInt(n, 10), this.getDataLength() - 1)); a = typeof a !== "undefined" ? !!a : n < this.getIndex(); o = o || false; if (!o && i.History) { i.History.set(n.toString()); return } if (this.finger && n !== this._active) { this.finger.to = -(n * this.finger.width); this.finger.index = n } this._active = n; if (r) { var l = this.getData(n), c = this; if (!l) { return } var u = this.isFullscreen() && l.big ? l.big : l.image || l.iframe, h = this._controls.slides[n], f = h.isCached(u), d = this._thumbnails[n]; var p = { cached: f, index: n, rewind: a, imageTarget: h.image, thumbTarget: d.image, galleriaData: l }; this.trigger(t.extend(p, { type: i.LOADSTART })); c.$("container").removeClass("videoplay"); var m = function () { c._layers[n].innerHTML = c.getData().layer || ""; c.trigger(t.extend(p, { type: i.LOADFINISH })); c._playCheck() }; c._preload(); e.setTimeout(function () { if (!h.ready || t(h.image).attr("src") != u) { if (l.iframe && !l.image) { h.isIframe = true } h.load(u, function (e) { c._scaleImage(e, m).trigger(t.extend(p, { type: i.IMAGE })); m() }) } else { c.trigger(t.extend(p, { type: i.IMAGE })); m() } }, 100) } else { s.push.call(this._queue, { index: n, rewind: a }); if (!this._queue.stalled) { this._show() } } return this }, _show: function () { var a = this, o = this._queue[0], r = this.getData(o.index); if (!r) { return } var l = this.isFullscreen() && r.big ? r.big : r.image || r.iframe, c = this._controls.getActive(), u = this._controls.getNext(), h = u.isCached(l), f = this._thumbnails[o.index], d = function () { t(u.image).trigger("mouseup") }; a.$("container").toggleClass("iframe", !!r.isIframe).removeClass("videoplay"); var p = function (o, r, l, c, u) { return function () { var h; F.active = false; H.toggleQuality(r.image, a._options.imageQuality); a._layers[a._controls.active].innerHTML = ""; t(l.container).css({ zIndex: 0, opacity: 0 }).show(); t(l.container).find("iframe, .galleria-videoicon").remove(); t(a._controls.frames[a._controls.active].container).hide(); t(r.container).css({ zIndex: 1, left: 0, top: 0 }).show(); a._controls.swap(); if (a._options.imagePan) { a.addPan(r.image) } if (o.iframe && o.image || o.link || a._options.lightbox || a._options.clicknext) { t(r.image).css({ cursor: "pointer" }).on("mouseup", function (r) { if (typeof r.which == "number" && r.which > 1) { return } if (o.iframe) { if (a.isPlaying()) { a.pause() } var s = a._controls.frames[a._controls.active], l = a._stageWidth, c = a._stageHeight; t(s.container).css({ width: l, height: c, opacity: 0 }).show().animate({ opacity: 1 }, 200); e.setTimeout(function () { s.load(o.iframe + (o.video ? "&autoplay=1" : ""), { width: l, height: c }
48, function (t) { a.$("container").addClass("videoplay"); t.scale({ width: a._stageWidth, height: a._stageHeight, iframelimit: o.video ? a._options.maxVideoSize : n }) }) }, 100); return } if (a._options.clicknext && !i.TOUCH) { if (a._options.pauseOnInteraction) { a.pause() } a.next(); return } if (o.link) { if (a._options.popupLinks) { h = e.open(o.link, "_blank") } else { e.location.href = o.link } return } if (a._options.lightbox) { a.openLightbox() } }) } a._playCheck(); a.trigger({ type: i.IMAGE, index: c.index, imageTarget: r.image, thumbTarget: u.image, galleriaData: o }); s.shift.call(a._queue); a._queue.stalled = false; if (a._queue.length) { a._show() } } }(r, u, c, o, f); if (this._options.carousel && this._options.carouselFollow) { this._carousel.follow(o.index) } a._preload(); H.show(u.container); u.isIframe = r.iframe && !r.image; t(a._thumbnails[o.index].container).addClass("active").siblings(".active").removeClass("active"); a.trigger({ type: i.LOADSTART, cached: h, index: o.index, rewind: o.rewind, imageTarget: u.image, thumbTarget: f.image, galleriaData: r }); a._queue.stalled = true; u.load(l, function (e) { var s = t(a._layers[1 - a._controls.active]).html(r.layer || "").hide(); a._scaleImage(e, { complete: function (e) { if ("image" in c) { H.toggleQuality(c.image, false) } H.toggleQuality(e.image, false); a.removePan(); a.setInfo(o.index); a.setCounter(o.index); if (r.layer) { s.show(); if (r.iframe && r.image || r.link || a._options.lightbox || a._options.clicknext) { s.css("cursor", "pointer").off("mouseup").mouseup(d) } } if (r.video && r.image) { O(e.container) } var l = a._options.transition; t.each({ initial: c.image === null, touch: i.TOUCH, fullscreen: a.isFullscreen() }, function (t, e) { if (e && a._options[t + "Transition"] !== n) { l = a._options[t + "Transition"]; return false } }); if (l in F.effects === false) { p() } else { var u = { prev: c.container, next: e.container, rewind: o.rewind, speed: a._options.transitionSpeed || 400 }; F.active = true; F.init.call(a, l, u, p) } a.trigger({ type: i.LOADFINISH, cached: h, index: o.index, rewind: o.rewind, imageTarget: e.image, thumbTarget: a._thumbnails[o.index].image, galleriaData: a.getData(o.index) }) } }) }) }, getNext: function (t) { t = typeof t === "number" ? t : this.getIndex(); return t === this.getDataLength() - 1 ? 0 : t + 1 }, getPrev: function (t) { t = typeof t === "number" ? t : this.getIndex(); return t === 0 ? this.getDataLength() - 1 : t - 1 }, next: function () { if (this.getDataLength() > 1) { this.show(this.getNext(), false) } return this }, prev: function () { if (this.getDataLength() > 1) { this.show(this.getPrev(), true) } return this }, get: function (t) { return t in this._dom ? this._dom[t] : null }, getData: function (t) { return t in this._data ? this._data[t] : this._data[this._active] }, getDataLength: function () { return this._data.length }, getIndex: function () { return typeof this._active === "number" ? this._active : false }, getStageHeight: function () { return this._stageHeight }, getStageWidth: function () { return this._stageWidth }, getOptions: function (t) { return typeof t === "undefined" ? this._options : this._options[t] }, setOptions: function (e, i) { if (typeof e === "object") { t.extend(this._options, e) } else { this._options[e] = i } return this }, play: function (t) { this._playing = true; this._playtime = t || this._playtime; this._playCheck(); this.trigger(i.PLAY); return this }, pause: function () { this._playing = false; this.trigger(i.PAUSE); return this }, playToggle: function (t) { return this._playing ? this.pause() : this.play(t) }, isPlaying: function () { return this._playing }, isFullscreen: function () { return this._fullscreen.active }, _playCheck: function () { var t = this, e = 0, n = 20, a = H.timestamp(), o = "play" + this._id; if (this._playing) { this.clearTimer(o); var r = function () { e = H.timestamp() - a; if (e >= t._playtime && t._playing) { t.clearTimer(o); t.next(); return } if (t._playing) { t.trigger({ type: i.PROGRESS, percent: g.ceil(e / t._playtime * 100), seconds: g.floor(e / 1e3), milliseconds: e }); t.addTimer(o, r, n) } }; t.addTimer(o, r, n) } }, setPlaytime: function (t) { this._playtime = t; return this }, setIndex: function (t) { this._active = t; return this }, setCounter: function (t) { if (typeof t === "number") { t++ } else if (typeof t === "undefined") { t = this.getIndex() + 1 } this.get("current").innerHTML = t; if (y) { var e = this.$("counter"), i = e.css("opacity"); if (parseInt(i, 10) === 1) { H.removeAlpha(e[0]) } else { this.$("counter").css("opacity", i) } } return this }, setInfo: function (e) { var i = this, n = this.getData(e); t.each(["title", "description"], function (t, e) { var a = i.$("info-" 
48+ e); if (!!n[e]) { a[n[e].length ? "show" : "hide"]().html(n[e]) } else { a.empty().hide() } }); return this }, hasInfo: function (t) { var e = "title description".split(" "), i; for (i = 0; e[i]; i++) { if (!!this.getData(t)[e[i]]) { return true } } return false }, jQuery: function (e) { var i = this, n = []; t.each(e.split(","), function (e, a) { a = t.trim(a); if (i.get(a)) { n.push(a) } }); var a = t(i.get(n.shift())); t.each(n, function (t, e) { a = a.add(i.get(e)) }); return a }, $: function (t) { return this.jQuery.apply(this, H.array(arguments)) }
49    }; t.each(x, function (t, e) { var n = /_/.test(e) ? e.replace(/_/g, "") : e; i[e.toUpperCase()] = "galleria." + n }); t.extend(i, { IE9: y === 9, IE8: y === 8, IE7: y === 7, IE6: y === 6, IE: y, WEBKIT: /webkit/.test(f), CHROME: /chrome/.test(f), SAFARI: /safari/.test(f) && !/chrome/.test(f), QUIRK: y && a.compatMode && a.compatMode === "BackCompat", MAC: /mac/.test(navigator.platform.toLowerCase()), OPERA: !!e.opera, IPHONE: /iphone/.test(f), IPAD: /ipad/.test(f), ANDROID: /android/.test(f), TOUCH: "ontouchstart" in a }); i.addTheme = function (n) { if (!n.name) { i.raise("No theme name specified") } if (typeof n.defaults !== "object") { n.defaults = {} } else { n.defaults = T(n.defaults) } var a = false, o; if (typeof n.css === "string") { t("link").each(function (t, e) { o = new RegExp(n.css); if (o.test(e.href)) { a = true; z(n); return false } }); if (!a) { t(function () { var r = 0; var s = function () { t("script").each(function (t, i) { o = new RegExp("galleria\\." + n.name.toLowerCase() + "\\."); if (o.test(i.src)) { a = i.src.replace(/[^\/]*$/, "") + n.css; e.setTimeout(function () { H.loadCSS(a, "galleria-theme", function () { z(n) }) }, 1) } }); if (!a) { if (r++ > 5) { i.raise("No theme CSS loaded") } else { e.setTimeout(s, 500) } } }; s() }) } } else { z(n) } return n }; i.loadTheme = function (n, a) { if (t("script").filter(function () { return t(this).attr("src") == n }).length) { return } var o = false, r; t(e).load(function () { if (!o) { r = e.setTimeout(function () { if (!o && !i.theme) { i.raise("Galleria had problems loading theme at " + n + ". Please check theme path or load manually.", true) } }, 2e4) } }); i.unloadTheme(); H.loadScript(n, function () { o = true; e.clearTimeout(r) }); return i }; i.unloadTheme = function () { if (typeof i.theme == "object") { t("script").each(function (e, n) { if (new RegExp("galleria\\." + i.theme.name + "\\.").test(n.src)) { t(n).remove() } }); i.theme = n } return i }; i.get = function (t) { if (!!D[t]) { return D[t] } else if (typeof t !== "number") { return D } else { i.raise("Gallery index " + t + " not found") } }; i.configure = function (e, n) { var a = {}; if (typeof e == "string" && n) { a[e] = n; e = a } else { t.extend(a, e) } i.configure.options = a; t.each(i.get(), function (t, e) { e.setOptions(a) }); return i }; i.configure.options = {}; i.on = function (e, n) { if (!e) { return } n = n || m; var a = e + n.toString().replace(/\s/g, "") + H.timestamp(); t.each(i.get(), function (t, i) { i._binds.push(a); i.bind(e, n) }); i.on.binds.push({ type: e, callback: n, hash: a }); return i }; i.on.binds = []; i.run = function (e, n) { if (t.isFunction(n)) { n = { extend: n } } t(e || "#galleria").galleria(n); return i }; i.addTransition = function (t, e) { F.effects[t] = e; return i }; i.utils = H; i.log = function () { var i = H.array(arguments); if ("console" in e && "log" in e.console) { try { return e.console.log.apply(e.console, i) } catch (n) { t.each(i, function () { e.console.log(this) }) } } else { return e.alert(i.join("<br>")) } }; i.ready = function (e) { if (typeof e != "function") { return i } t.each(E, function (t, i) { e.call(i, i._options) }); i.ready.callbacks.push(e); return i }; i.ready.callbacks = []; i.raise = function (e, i) {
50        var n = i ? "Fatal error" : "Error", a = { color: "#fff", position: "absolute", top: 0, left: 0, zIndex: 1e5 }, o = function (e) { var o = '<div style="padding:4px;margin:0 0 2px;background:#' + (i ? "811" : "222") + ';">' + (i ? "<strong>" + n + ": </strong>" : "") + e + "</div>"; t.each(D, function () { var t = this.$("errors"), e = this.$("target"); if (!t.length) { e.css("position", "relative"); t = this.addElement("errors").appendChild("target", "errors").$("errors").css(a) } t.append(o) }); if (!D.length) { t("<div>").css(t.extend(a, { position: "fixed" })).append(o).appendTo(_().body) } }; if (c) { o(e); if (i) { throw new Error(n + ": " + e) } } else if (i) {
51            if ($) { return } $ = true; i = false; o("Gallery could not load.")
52        }
53    }; i.version = l; i.requires = function (t, e) { e = e || "You need to upgrade Galleria to version " + t + " to use one or more components."; if (i.version < t) { i.raise(e, true) } return i }; i.Picture = function (e) { this.id = e || null; this.image = null; this.container = H.create("galleria-image"); t(this.container).css({ overflow: "hidden", position: "relative" }); this.original = { width: 0, height: 0 }; this.ready = false; this.isIframe = false }; i.Picture.prototype = { cache: {}, show: function () { H.show(this.image) }, hide: function () { H.moveOut(this.image) }, clear: function () { this.image = null }, isCached: function (t) { return !!this.cache[t] }, preload: function (e) { t(new Image).load(function (t, e) { return function () { e[t] = t } }(e, this.cache)).attr("src", e) }, load: function (n, a, o) { if (typeof a == "function") { o = a; a = null } if (this.isIframe) { var r = "if" + (new Date).getTime(); var s = this.image = t("<iframe>", { src: n, frameborder: 0, id: r, allowfullscreen: true, css: { visibility: "hidden" } })[0]; if (a) { t(s).css(a) } t(this.container).find("iframe,img").remove(); this.container.appendChild(this.image); t("#" + r).load(function (i, n) { return function () { e.setTimeout(function () { t(i.image).css("visibility", "visible"); if (typeof n == "function") { n.call(i, i) } }, 10) } }(this, o)); return this.container } this.image = new Image; if (i.IE8) { t(this.image).css("filter", "inherit") } var l = false, c = false, u = t(this.container), f = t(this.image), d = function () { if (!l) { l = true; e.setTimeout(function (t, e) { return function () { t.attr("src", e + (e.indexOf("?") > -1 ? "&" : "?") + H.timestamp()) } }(t(this), n), 50) } else { if (h) { t(this).attr("src", h) } else { i.raise("Image not found: " + n) } } }, p = function (n, o, r) { return function () { var s = function () { t(this).off("load"); n.original = a || { height: this.height, width: this.width }; if (i.HAS3D) { this.style.MozTransform = this.style.webkitTransform = "translate3d(0,
530,0)" } u.append(this); n.cache[r] = r; if (typeof o == "function") { e.setTimeout(function () { o.call(n, n) }, 1) } }; if (!this.width || !this.height) { !function (e) { H.wait({ until: function () { return e.width && e.height }, success: function () { s.call(e) }, error: function () { if (!c) { t(new Image).load(p).attr("src", e.src); c = true } else { i.raise("Could not extract width/height from image: " + e.src + ". Traced measures: width:" + e.width + "px, height: " + e.height + "px.") } }, timeout: 100 }) }(this) } else { s.call(this) } } }(this, o, n); u.find("iframe,img").remove(); f.css("display", "block"); H.hide(this.image); t.each("minWidth minHeight maxWidth maxHeight".split(" "), function (t, e) { f.css(e, /min/.test(e) ? "0" : "none") }); f.load(p).on("error", d).attr("src", n); return this.container }, scale: function (e) { var a = this; e = t.extend({ width: 0, height: 0, min: n, max: n, margin: 0, complete: m, position: "center", crop: false, canvas: false, iframelimit: n }, e); if (this.isIframe) { var o = e.width, r = e.height, s, l; if (e.iframelimit) { var c = g.min(e.iframelimit / o, e.iframelimit / r); if (c < 1) { s = o * c; l = r * c; t(this.image).css({ top: r / 2 - l / 2, left: o / 2 - s / 2, position: "absolute" }) } else { t(this.image).css({ top: 0, left: 0 }) } } t(this.image).width(s || o).height(l || r).removeAttr("width").removeAttr("height"); t(this.container).width(o).height(r); e.complete.call(a, a); try { if (this.image.contentWindow) { t(this.image.contentWindow).trigger("resize") } } catch (u) { } return this.container } if (!this.image) { return this.container } var h, f, d = t(a.container), p; H.wait({ until: function () { h = e.width || d.width() || H.parseValue(d.css("width")); f = e.height || d.height() || H.parseValue(d.css("height")); return h && f }, success: function () { var i = (h - e.margin * 2) / a.original.width, n = (f - e.margin * 2) / a.original.height, o = g.min(i, n), r = g.max(i, n), s = { "true": r, width: i, height: n, "false": o, landscape: a.original.width > a.original.height ? r : o, portrait: a.original.width < a.original.height ? r : o }, l = s[e.crop.toString()], c = ""; if (e.max) { l = g.min(e.max, l) } if (e.min) { l = g.max(e.min, l) } t.each(["width", "height"], function (e, i) { t(a.image)[i](a[i] = a.image[i] = g.round(a.original[i] * l)) }); t(a.container).width(h).height(f); if (e.canvas && L) { L.elem.width = a.width; L.elem.height = a.height; c = a.image.src + ":" + a.width + "x" + a.height; a.image.src = L.cache[c] || function (t) { L.context.drawImage(a.image, 0, 0, a.original.width * l, a.original.height * l); try { p = L.elem.toDataURL(); L.length += p.length; L.cache[t] = p; return p } catch (e) { return a.image.src } }(c) } var u = {}, d = {}, m = function (e, i, n) { var o = 0; if (/\%/.test(e)) { var r = parseInt(e, 10) / 100, s = a.image[i] || t(a.image)[i](); o = g.ceil(s * -1 * r + n * r) } else { o = H.parseValue(e) } return o }, v = { top: { top: 0 }, left: { left: 0 }, right: { left: "100%" }, bottom: { top: "100%" } }; t.each(e.position.toLowerCase().split(" "), function (t, e) { if (e === "center") { e = "50%" } u[t ? "top" : "left"] = e }); t.each(u, function (e, i) { if (v.hasOwnProperty(i)) { t.extend(d, v[i]) } }); u = u.top ? t.extend(u, d) : d; u = t.extend({ top: "50%", left: "50%" }, u); t(a.image).css({ position: "absolute", top: m(u.top, "height", f), left: m(u.left, "width", h) }); a.show(); a.ready = true; e.complete.call(a, a) }, error: function () { i.raise("Could not scale image: " + a.image.src) }, timeout: 1e3 }); return this } }; t.extend(t.easing, { galleria: function (t, e, i, n, a) { if ((e /= a / 2) < 1) { return n / 2 * e * e * e + i } return n / 2 * ((e -= 2) * e * e + 2) + i }, galleriaIn: function (t, e, i, n, a) { return n * (e /= a) * e + i }, galleriaOut: function (t, e, i, n, a) { return -n * (e /= a) * (e - 2) + i } }); i.Finger = function () { var n = g.abs; var r = i.HAS3D = function () { var e = a.createElement("p"), i, n = ["webkit", "O", "ms", "Moz", ""], o, r = 0, s = "transform"; _().html.insertBefore(e, null); for (; n[r]; r++) { o = n[r] ? n[r] + "Transform" : s; if (e.style[o] !== undefined) { e.style[o] = "translate3d(1px,1px,1px)"; i = t(e).css(n[r] ? "-" + n[r].toLowerCase() + "-" + s : s) } } _().html.removeChild(e); return i !== undefined && i.length > 0 && i !== "none" }(); var s = function () { var t = "RequestAnimationFrame"; return e.requestAnimationFrame || e["webkit" + t] || e["moz" + t] || e["o" + t] || e["ms" + t] || function (t) { e.setTimeout(t, 1e3 / 60) } }(); var l = function (i, n) { this.config = { start: 0, duration: 500, onchange: function () { }, oncomplete: function () { }, easing: function (t, e, i, n, a) { return -n * ((e = e / a - 1) * e * e * e - 1) + i } }; this.easeout = function (t, e, i, n, a) { return n * ((e = e / a - 1) * e * e * e * e + 1) + i }; if (!i.children.length) { return } var a = this; t.extend(this.config, n); this.elem = i; this.child = i.children[0]; this.to = this.pos = 0; this.touching = false; this.start = {}; this.index = this.config.start; this.anim = 0; this.easing = this.config.easing; if (!r) { this.child.style.position = "absolute"; this.elem.style.position = "relative" } t.each(["ontouchstart", "ontouchmove", "ontouchend", "setup"], function (t, e) { a[e] = function (t) { return function () { t.apply(a, arguments) } }(a[e]) }); this.setX = function () { var t = a.child.style; if (!r) { t.left = a.pos + "px"; return } t.MozTransform = t.webkitTransform = "translate3d(" + a.pos + "px,0,0)"; return }; t(i).on("touchstart", this.ontouchstart); t(e).on("resize", this.setup); t(e).on("orientationchange", this.setup); this.setup(); !function o() { s(o); a.loop.call(a) }() }; l.prototype = { constructor: l, setup: function () { this.width = t(this.elem).width(); this.length = g.ceil(t(this.child).width() / this.width); if (this.index !== 0) { this.index = g.max(0, g.min(this.index, this.length - 1)); this.pos = this.to = -this.width * this.index } }, setPosition: function (t) { this.pos = t; this.to = t }, ontouchstart: function (t) { var e = t.originalEvent.touches; this.start = { pageX: e[0].pageX, pageY: e[0].pageY, time: +new Date }; this.isScrolling = null; this.touching = true; this.deltaX = 0; o.on("touchmove", this.ontouchmove); o.on("touchend", this.ontouchend) }, ontouchmove: function (t) { var e = t.originalEvent.touches; if (e && e.length > 1 || t.scale && t.scale !== 1) { return } this.deltaX = e[0].pageX - this.start.pageX; if (this.isScrolling === null) { this.isScrolling = !!(this.isScrolling || g.abs(this.deltaX) < g.abs(e[0].pageY - this.start.pageY)) } if (!this.isScrolling) { t.preventDefault(); this.deltaX /= !this.index && this.deltaX > 0 || this.index == this.length - 1 && this.deltaX < 0 ? g.abs(this.deltaX) / this.width + 1.8 : 1; this.to = this.deltaX - this.index * this.width } t.stopPropagation() }, ontouchend: function (t) { this.touching = false; var e = +new Date - this.start.time < 250 && g.abs(this.deltaX) > 40 || g.abs(this.deltaX) > this.width / 2, i = !this.index && this.deltaX > 0 || this.index == this.length - 1 && this.deltaX < 0; if (!this.isScrolling) { this.show(this.index + (e && !i ? this.deltaX < 0 ? 1 : -1 : 0)) } o.off("touchmove", this.ontouchmove); o.off("touchend", this.ontouchend) }, show: function (t) { if (t != this.index) { this.config.onchange.call(this, t) } else { this.to = -(t * this.width) } }, moveTo: function (t) { if (t != this.index) { this.pos = this.to = -(t * this.width); this.index = t } }, loop: function () { var t = this.to - this.pos, e = 1; if (this.width && t) { e = g.max(.5, g.min(1.5, g.abs(t / this.width))) } if (this.touching || g.abs(t) <= 1) { this.pos = this.to; t = 0; if (this.anim && !this.touching) { this.config.oncomplete(this.index) } this.anim = 0; this.easing = this.config.easing } else { if (!this.anim) { this.anim = { start: this.pos, time: +new Date, distance: t, factor: e, destination: this.to } } var i = +new Date - this.anim.time; var n = this.config.duration * this.anim.factor; if (i > n || this.anim.destination != this.to) { this.anim = 0; this.easing = this.easeout; return } this.pos = this.easing(null, i, this.anim.start, this.anim.distance, n) } this.setX() } }; return l }(); t.fn.galleria = function (e) { var n = this.selector; if (!t(this).length) { t(function () { if (t(n).length) { t(n).galleria(e) } else { i.utils.wait({ until: function () { return t(n).length }, success: function () { t(n).galleria(e) }, error: function () { i.raise('Init failed: Galleria could not find the element "' + n + '".') }, timeout: 5e3 }) } }); return this } return this.each(function () { if (t.data(this, "galleria")) { t.data(this, "galleria").destroy(); t(this).find("*").hide() } t.data(this, "galleria", (new i).init(this, e)) }) }; if (typeof module === "object" && module && typeof module.exports === "object") { module.exports = i } else { e.Galleria = i; if (typeof define === "function" && define.amd) { define("galleria", ["jquery"], function () { return i }) } }
54}(jQuery, this);
55/* Galeria History Min */
56!function (n, e) { Galleria.requires(1.25, "The History Plugin requires Galleria version 1.2.5 or later."); Galleria.History = function () { var i = [], t = false, a = e.location, o = e.document, r = Galleria.IE, s = "onhashchange" in e && (o.mode === undefined || o.mode > 7), u, c = function (n) { if (u && !s && Galleria.IE) { n = n || u.location } else { n = a } return parseInt(n.hash.substr(2), 10) }, f = c(a), l = [], h = function () { n.each(l, function (n, i) { i.call(e, c()) }) }, d = function () { n.each(i, function (n, e) { e() }); t = true }, y = function (n) { return "/" + n }; if (s && r < 8) { s = false } if (!s) { n(function () { var i = e.setInterval(function () { var n = c(); if (!isNaN(n) && n != f) { f = n; a.hash = y(n); h() } }, 50); if (r) { n('<iframe tabindex="-1" title="empty">').hide().attr("src", "about:blank").one("load", function () { u = this.contentWindow; d() }).insertAfter(o.body) } else { d() } }) } else { d() } return { change: function (n) { l.push(n); if (s) { e.onhashchange = h } }, set: function (n) { if (isNaN(n)) { return } if (!s && r) { this.ready(function () { var e = u.document; e.open(); e.close(); u.location.hash = y(n) }) } a.hash = y(n) }, ready: function (n) { if (!t) { i.push(n) } else { n() } } } }() }(jQuery, this);
57/*jQuery Waypoints - v2.0.5*/
58(function () { var t = [].indexOf || function (t) { for (var e = 0, n = this.length; e < n; e++) { if (e in this && this[e] === t) return e } return -1 }, e = [].slice; (function (t, e) { if (typeof define === "function" && define.amd) { return define("waypoints", ["jquery"], function (n) { return e(n, t) }) } else { return e(t.jQuery, t) } })(window, function (n, r) { var i, o, l, s, f, u, c, a, h, d, p, y, v, w, g, m; i = n(r); a = t.call(r, "ontouchstart") >= 0; s = { horizontal: {}, vertical: {} }; f = 1; c = {}; u = "waypoints-context-id"; p = "resize.waypoints"; y = "scroll.waypoints"; v = 1; w = "waypoints-waypoint-ids"; g = "waypoint"; m = "waypoints"; o = function () { function t(t) { var e = this; this.$element = t; this.element = t[0]; this.didResize = false; this.didScroll = false; this.id = "context" + f++; this.oldScroll = { x: t.scrollLeft(), y: t.scrollTop() }; this.waypoints = { horizontal: {}, vertical: {} }; this.element[u] = this.id; c[this.id] = this; t.bind(y, function () { var t; if (!(e.didScroll || a)) { e.didScroll = true; t = function () { e.doScroll(); return e.didScroll = false }; return r.setTimeout(t, n[m].settings.scrollThrottle) } }); t.bind(p, function () { var t; if (!e.didResize) { e.didResize = true; t = function () { n[m]("refresh"); return e.didResize = false }; return r.setTimeout(t, n[m].settings.resizeThrottle) } }) } t.prototype.doScroll = function () { var t, e = this; t = { horizontal: { newScroll: this.$element.scrollLeft(), oldScroll: this.oldScroll.x, forward: "right", backward: "left" }, vertical: { newScroll: this.$element.scrollTop(), oldScroll: this.oldScroll.y, forward: "down", backward: "up" } }; if (a && (!t.vertical.oldScroll || !t.vertical.newScroll)) { n[m]("refresh") } n.each(t, function (t, r) { var i, o, l; l = []; o = r.newScroll > r.oldScroll; i = o ? r.forward : r.backward; n.each(e.waypoints[t], function (t, e) { var n, i; if (r.oldScroll < (n = e.offset) && n <= r.newScroll) { return l.push(e) } else if (r.newScroll < (i = e.offset) && i <= r.oldScroll) { return l.push(e) } }); l.sort(function (t, e) { return t.offset - e.offset }); if (!o) { l.reverse() } return n.each(l, function (t, e) { if (e.options.continuous || t === l.length - 1) { return e.trigger([i]) } }) }); return this.oldScroll = { x: t.horizontal.newScroll, y: t.vertical.newScroll } }; t.prototype.refresh = function () { var t, e, r, i = this; r = n.isWindow(this.element); e = this.$element.offset(); this.doScroll(); t = { horizontal: { contextOffset: r ? 0 : e.left, contextScroll: r ? 0 : this.oldScroll.x, contextDimension: this.$element.width(), oldScroll: this.oldScroll.x, forward: "right", backward: "left", offsetProp: "left" }, vertical: { contextOffset: r ? 0 : e.top, contextScroll: r ? 0 : this.oldScroll.y, contextDimension: r ? n[m]("viewportHe
58ight") : this.$element.height(), oldScroll: this.oldScroll.y, forward: "down", backward: "up", offsetProp: "top" } }; return n.each(t, function (t, e) { return n.each(i.waypoints[t], function (t, r) { var i, o, l, s, f; i = r.options.offset; l = r.offset; o = n.isWindow(r.element) ? 0 : r.$element.offset()[e.offsetProp]; if (n.isFunction(i)) { i = i.apply(r.element) } else if (typeof i === "string") { i = parseFloat(i); if (r.options.offset.indexOf("%") > -1) { i = Math.ceil(e.contextDimension * i / 100) } } r.offset = o - e.contextOffset + e.contextScroll - i; if (r.options.onlyOnScroll && l != null || !r.enabled) { return } if (l !== null && l < (s = e.oldScroll) && s <= r.offset) { return r.trigger([e.backward]) } else if (l !== null && l > (f = e.oldScroll) && f >= r.offset) { return r.trigger([e.forward]) } else if (l === null && e.oldScroll >= r.offset) { return r.trigger([e.forward]) } }) }) }; t.prototype.checkEmpty = function () { if (n.isEmptyObject(this.waypoints.horizontal) && n.isEmptyObject(this.waypoints.vertical)) { this.$element.unbind([p, y].join(" ")); return delete c[this.id] } }; return t }(); l = function () { function t(t, e, r) { var i, o; if (r.offset === "bottom-in-view") { r.offset = function () { var t; t = n[m]("viewportHeight"); if (!n.isWindow(e.element)) { t = e.$element.height() } return t - n(this).outerHeight() } } this.$element = t; this.element = t[0]; this.axis = r.horizontal ? "horizontal" : "vertical"; this.callback = r.handler; this.context = e; this.enabled = r.enabled; this.id = "waypoints" + v++; this.offset = null; this.options = r; e.waypoints[this.axis][this.id] = this; s[this.axis][this.id] = this; i = (o = this.element[w]) != null ? o : []; i.push(this.id); this.element[w] = i } t.prototype.trigger = function (t) { if (!this.enabled) { return } if (this.callback != null) { this.callback.apply(this.element, t) } if (this.options.triggerOnce) { return this.destroy() } }; t.prototype.disable = function () { return this.enabled = false }; t.prototype.enable = function () { this.context.refresh(); return this.enabled = true }; t.prototype.destroy = function () { delete s[this.axis][this.id]; delete this.context.waypoints[this.axis][this.id]; return this.context.checkEmpty() }; t.getWaypointsByElement = function (t) { var e, r; r = t[w]; if (!r) { return [] } e = n.extend({}, s.horizontal, s.vertical); return n.map(r, function (t) { return e[t] }) }; return t }(); d = { init: function (t, e) { var r; e = n.extend({}, n.fn[g].defaults, e); if ((r = e.handler) == null) { e.handler = t } this.each(function () { var t, r, i, s; t = n(this); i = (s = e.context) != null ? s : n.fn[g].defaults.context; if (!n.isWindow(i)) { i = t.closest(i) } i = n(i); r = c[i[0][u]]; if (!r) { r = new o(i) } return new l(t, r, e) }); n[m]("refresh"); return this }, disable: function () { return d._invoke.call(this, "disable") }, enable: function () { return d._invoke.call(this, "enable") }, destroy: function () { return d._invoke.call(this, "destroy") }, prev: function (t, e) { return d._traverse.call(this, t, e, function (t, e, n) { if (e > 0) { return t.push(n[e - 1]) } }) }, next: function (t, e) { return d._traverse.call(this, t, e, function (t, e, n) { if (e < n.length - 1) { return t.push(n[e + 1]) } }) }, _traverse: function (t, e, i) { var o, l; if (t == null) { t = "vertical" } if (e == null) { e = r } l = h.aggregate(e); o = []; this.each(function () { var e; e = n.inArray(this, l[t]); return i(o, e, l[t]) }); return this.pushStack(o) }, _invoke: function (t) { this.each(function () { var e; e = l.getWaypointsByElement(this); return n.each(e, function (e, n) { n[t](); return true }) }); return this } }; n.fn[g] = function () { var t, r; r = arguments[0], t = 2 <= arguments.length ? e.call(arguments, 1) : []; if (d[r]) { return d[r].apply(this, t) } else if (n.isFunction(r)) { return d.init.apply(this, arguments) } else if (n.isPlainObject(r)) { return d.init.apply(this, [null, r]) } else if (!r) { return n.error("jQuery Waypoints needs a callback function or handler option.") } else { return n.error("The " + r + " method does not exist in jQuery Waypoints.") } }; n.fn[g].defaults = { context: r, continuous: true, enabled: true, horizontal: false, offset: 0, triggerOnce: false }; h = { refresh: function () { return n.each(c, function (t, e) { return e.refresh() }) }
58, viewportHeight: function () { var t; return (t = r.innerHeight) != null ? t : i.height() }, aggregate: function (t) { var e, r, i; e = s; if (t) { e = (i = c[n(t)[0][u]]) != null ? i.waypoints : void 0 } if (!e) { return [] } r = { horizontal: [], vertical: [] }; n.each(r, function (t, i) { n.each(e[t], function (t, e) { return i.push(e) }); i.sort(function (t, e) { return t.offset - e.offset }); r[t] = n.map(i, function (t) { return t.element }); return r[t] = n.unique(r[t]) }); return r }, above: function (t) { if (t == null) { t = r } return h._filter(t, "vertical", function (t, e) { return e.offset <= t.oldScroll.y }) }, below: function (t) { if (t == null) { t = r } return h._filter(t, "vertical", function (t, e) { return e.offset > t.oldScroll.y }) }, left: function (t) { if (t == null) { t = r } return h._filter(t, "horizontal", function (t, e) { return e.offset <= t.oldScroll.x }) }, right: function (t) { if (t == null) { t = r } return h._filter(t, "horizontal", function (t, e) { return e.offset > t.oldScroll.x }) }, enable: function () { return h._invoke("enable") }, disable: function () { return h._invoke("disable") }, destroy: function () { return h._invoke("destroy") }, extendFn: function (t, e) { return d[t] = e }, _invoke: function (t) { var e; e = n.extend({}, s.vertical, s.horizontal); return n.each(e, function (e, n) { n[t](); return true }) }, _filter: function (t, e, r) { var i, o; i = c[n(t)[0][u]]; if (!i) { return [] } o = []; n.each(i.waypoints[e], function (t, e) { if (r(i, e)) { return o.push(e) } }); o.sort(function (t, e) { return t.offset - e.offset }); return n.map(o, function (t) { return t.element }) } }; n[m] = function () { var t, n; n = arguments[0], t = 2 <= arguments.length ? e.call(arguments, 1) : []; if (h[n]) { return h[n].apply(null, t) } else { return h.aggregate.call(null, n) } }; n[m].settings = { resizeThrottle: 100, scrollThrottle: 30 }; return i.on("load.waypoints", function () { return n[m]("refresh") }) }) }).call(this);
59/*TypeAhead*/
60!function (a) { var b = { isMsie: function () { return /(msie|trident)/i.test(navigator.userAgent) ? navigator.userAgent.match(/(msie |rv:)(\d+(.\d+)?)/i)[2] : !1 }, isBlankString: function (a) { return !a || /^\s*$/.test(a) }, escapeRegExChars: function (a) { return a.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g, "\\$&") }, isString: function (a) { return "string" == typeof a }, isNumber: function (a) { return "number" == typeof a }, isArray: a.isArray, isFunction: a.isFunction, isObject: a.isPlainObject, isUndefined: function (a) { return "undefined" == typeof a }, bind: a.proxy, each: function (b, c) { function d(a, b) { return c(b, a) } a.each(b, d) }, map: a.map, filter: a.grep, every: function (b, c) { var d = !0; return b ? (a.each(b, function (a, e) { return (d = c.call(null, e, a, b)) ? void 0 : !1 }), !!d) : d }, some: function (b, c) { var d = !1; return b ? (a.each(b, function (a, e) { return (d = c.call(null, e, a, b)) ? !1 : void 0 }), !!d) : d }, mixin: a.extend, getUniqueId: function () { var a = 0; return function () { return a++ } }(), templatify: function (b) { function c() { return String(b) } return a.isFunction(b) ? b : c }, defer: function (a) { setTimeout(a, 0) }, debounce: function (a, b, c) { var d, e; return function () { var f, g, h = this, i = arguments; return f = function () { d = null, c || (e = a.apply(h, i)) }, g = c && !d, clearTimeout(d), d = setTimeout(f, b), g && (e = a.apply(h, i)), e } }, throttle: function (a, b) { var c, d, e, f, g, h; return g = 0, h = function () { g = new Date, e = null, f = a.apply(c, d) }, function () { var i = new Date, j = b - (i - g); return c = this, d = arguments, 0 >= j ? (clearTimeout(e), e = null, g = i, f = a.apply(c, d)) : e || (e = setTimeout(h, j)), f } }, noop: function () { } }, c = "0.10.2", d = function () { function a(a) { return a.split(/\s+/) } function b(a) { return a.split(/\W+/) } function c(a) { return function (b) { return function (c) { return a(c[b]) } } } return { nonword: b, whitespace: a, obj: { nonword: c(b), whitespace: c(a) } } }(), e = function () { function a(a) { this.maxSize = a || 100, this.size = 0, this.hash = {}, this.list = new c } function c() { this.head = this.tail = null } function d(a, b) { this.key = a, this.val = b, this.prev = this.next = null }
vendor: 4,153 bytes, line 60
60 return b.mixin(a.prototype, { set: function (a, b) { var c, e = this.list.tail; this.size >= this.maxSize && (this.list.remove(e), delete this.hash[e.key]), (c = this.hash[a]) ? (c.val = b, this.list.moveToFront(c)) : (c = new d(a, b), this.list.add(c), this.hash[a] = c, this.size++) }, get: function (a) { var b = this.hash[a]; return b ? (this.list.moveToFront(b), b.val) : void 0 } }), b.mixin(c.prototype, { add: function (a) { this.head && (a.next = this.head, this.head.prev = a), this.head = a, this.tail = this.tail || a }, remove: function (a) { a.prev ? a.prev.next = a.next : this.head = a.next, a.next ? a.next.prev = a.prev : this.tail = a.prev }, moveToFront: function (a) { this.remove(a), this.add(a) } }), a }(), f = function () { function a(a) { this.prefix = ["__", a, "__"].join(""), this.ttlKey = "__ttl__", this.keyMatcher = new RegExp("^" + this.prefix) } function c() { return (new Date).getTime() } function d(a) { return JSON.stringify(b.isUndefined(a) ? null : a) } function e(a) { return JSON.parse(a) } var f, g; try { f = window.localStorage, f.setItem("~~~", "!"), f.removeItem("~~~") } catch (h) { f = null } return g = f && window.JSON ? { _prefix: function (a) { return this.prefix + a }, _ttlKey: function (a) { return this._prefix(a) + this.ttlKey }, get: function (a) { return this.isExpired(a) && this.remove(a), e(f.getItem(this._prefix(a))) }, set: function (a, e, g) { return b.isNumber(g) ? f.setItem(this._ttlKey(a), d(c() + g)) : f.removeItem(this._ttlKey(a)), f.setItem(this._prefix(a), d(e)) }, remove: function (a) { return f.removeItem(this._ttlKey(a)), f.removeItem(this._prefix(a)), this }, clear: function () { var a, b, c = [], d = f.length; for (a = 0; d > a; a++) (b = f.key(a)).match(this.keyMatcher) && c.push(b.replace(this.keyMatcher, "")); for (a = c.length; a--;) this.remove(c[a]); return this }, isExpired: function (a) { var d = e(f.getItem(this._ttlKey(a))); return b.isNumber(d) && c() > d ? !0 : !1 } } : { get: b.noop, set: b.noop, remove: b.noop, clear: b.noop, isExpired: b.noop }, b.mixin(a.prototype, g), a }(), g = function () { function c(b) { b = b || {}, this._send = b.transport ? d(b.transport) : a.ajax, this._get = b.rateLimiter ? b.rateLimiter(this._get) : this._get } function d(c) { return function (d, e) { function f(a) { b.defer(function () { h.resolve(a) }) } function g(a) { b.defer(function () { h.reject(a) }) } var h = a.Deferred(); return c(d, e, f, g), h } } var f = 0, g = {}, h = 6, i = new e(10); return c.setMaxPendingRequests = function (a) { h = a }, c.resetCache = function () { i = new e(10) }, b.mixin(c.prototype, { _get: function (a, b, c) { function d(b) { c && c(null, b), i.set(a, b) } function e() { c && c(!0) } function j() { f--, delete g[a], l.onDeckRequestArgs && (l._get.apply(l, l.onDeckRequestArgs), l.onDeckRequestArgs = null) } var k, l = this; (k = g[a]) ? k.done(d).fail(e) : h > f ? (f++, g[a] = this._send(a, b).done(d).fail(e).always(j)) : this.onDeckRequestArgs = [].slice.call(arguments, 0) }, get: function (a, c, d) { var e; return b.isFunction(c) && (d = c, c = {}), (e = i.get(a)) ? b.defer(function () { d && d(null, e) }) : this._get(a, c, d), !!e } }), c }(), h = function () { function c(b) { b = b || {}, b.datumTokenizer && b.queryTokenizer || a.error("datumTokenizer and queryTokenizer are both required"), this.datumTokenizer = b.datumTokenizer, this.queryTokenizer = b.queryTokenizer, this.reset() } function d(a) { return a = b.filter(a, function (a) { return !!a }), a = b.map(a, function (a) { return a.toLowerCase() }) } function e() { return { ids: [], children: {} } } function f(a) { for (var b = {}, c = [], d = 0; d < a.length; d++) b[a[d]] || (b[a[d]] = !0, c.push(a[d])); return c } function g(a, b) { function c(a, b) { return a - b } var d = 0, e = 0, f = []; for (a = a.sort(c), b = b.sort(c); d < a.length && e < b.length;) a[d] < b[e] ? d++ : a[d] > b[e] ? e++ : (f.push(a[d]), d++, e++); return f } return b.mixin(c.prototype, { bootstrap: function (a) { this.datums = a.datums, this.trie = a.trie }, add: function (a) { var c = this; a = b.isArray(a) ? a : [a], b.each(a, function (a) { var f, g;
60 f = c.datums.push(a) - 1, g = d(c.datumTokenizer(a)), b.each(g, function (a) { var b, d, g; for (b = c.trie, d = a.split(""); g = d.shift();) b = b.children[g] || (b.children[g] = e()), b.ids.push(f) }) }) }, get: function (a) { var c, e, h = this; return c = d(this.queryTokenizer(a)), b.each(c, function (a) { var b, c, d, f; if (e && 0 === e.length) return !1; for (b = h.trie, c = a.split(""); b && (d = c.shift());) b = b.children[d]; return b && 0 === c.length ? (f = b.ids.slice(0), void (e = e ? g(e, f) : f)) : (e = [], !1) }), e ? b.map(f(e), function (a) { return h.datums[a] }) : [] }, reset: function () { this.datums = [], this.trie = e() }, serialize: function () { return { datums: this.datums, trie: this.trie } } }), c }(), i = function () { function d(a) { return a.local || null } function e(d) { var e, f; return f = { url: null, thumbprint: "", ttl: 864e5, filter: null, ajax: {} }, (e = d.prefetch || null) && (e = b.isString(e) ? { url: e } : e, e = b.mixin(f, e), e.thumbprint = c + e.thumbprint, e.ajax.type = e.ajax.type || "GET", e.ajax.dataType = e.ajax.dataType || "json", !e.url && a.error("prefetch requires url to be set")), e } function f(c) { function d(a) { return function (c) { return b.debounce(c, a) } } function e(a) { return function (c) { return b.throttle(c, a) } } var f, g; return g = { url: null, wildcard: "%QUERY", replace: null, rateLimitBy: "debounce", rateLimitWait: 300, send: null, filter: null, ajax: {} }, (f = c.remote || null) && (f = b.isString(f) ? { url: f } : f, f = b.mixin(g, f), f.rateLimiter = /^throttle$/i.test(f.rateLimitBy) ? e(f.rateLimitWait) : d(f.rateLimitWait), f.ajax.type = f.ajax.type || "GET", f.ajax.dataType = f.ajax.dataType || "json", delete f.rateLimitBy, delete f.rateLimitWait, !f.url && a.error("remote requires url to be set")), f } return { local: d, prefetch: e, remote: f } }(); !function (c) { function e(b) { b && (b.local || b.prefetch || b.remote) || a.error("one of local, prefetch, or remote is required"), this.limit = b.limit || 5, this.sorter = j(b.sorter), this.dupDetector = b.dupDetector || k, this.local = i.local(b), this.prefetch = i.prefetch(b), this.remote = i.remote(b), this.cacheKey = this.prefetch ? this.prefetch.cacheKey || this.prefetch.url : null, this.index = new h({ datumTokenizer: b.datumTokenizer, queryTokenizer: b.queryTokenizer }), this.storage = this.cacheKey ? new f(this.cacheKey) : null } function j(a) { function c(b) { return b.sort(a) } function d(a) { return a } return b.isFunction(a) ? c : d } function k() { return !1 } var l, m; return l = c.Bloodhound, m = { data: "data", protocol: "protocol", thumbprint: "thumbprint" }, c.Bloodhound = e, e.noConflict = function () { return c.Bloodhound = l, e }, e.tokenizers = d, b.mixin(e.prototype, { _loadPrefetch: function (b) { function c(a) { f.clear(), f.add(b.filter ? b.filter(a) : a), f._saveToStorage(f.index.serialize(), b.thumbprint, b.ttl) } var d, e, f = this; return (d = this._readFromStorage(b.thumbprint)) ? (this.index.bootstrap(d), e = a.Deferred().resolve()) : e = a.ajax(b.url, b.ajax).done(c), e }, _getFromRemote: function (a, b) { function c(a, c) { b(a ? [] : f.remote.filter ? f.remote.filter(c) : c) } var d, e, f = this; return a = a || "", e = encodeURIComponent(a), d = this.remote.replace ? this.remote.replace(this.remote.url, a) : this.remote.url.replace(this.remote.wildcard, e), this.transport.get(d, this.remote.ajax, c) }, _saveToStorage: function (a, b, c) { this.storage && (this.storage.set(m.data, a, c), this.storage.set(m.protocol, location.protocol, c), this.storage.set(m.thumbprint, b, c)) }, _readFromStorage: function (a) { var b, c = {}; return this.storage && (c.data = this.storage.get(m.data), c.protocol = this.storage.get(m.protocol), c.thumbprint = this.storage.get(m.thumbprint)), b = c.thumbprint !== a || c.protocol !== location.protocol, c.data && !b ? c.data : null }, _initialize: function () { function c() { e.add(b.isFunction(f) ? f() : f) } var d, e = this, f = this.local; return d = this.prefetch ? this._loadPrefetch(this.prefetch) : a.Deferred().resolve(), f && d.done(c), this.transport = this.remote ? new g(this.remote) : null, this.initPromise = d.promise() }, initialize: function (a) { return !this.initPromise || a ? this._initialize() : this.initPromise }, add: function (a) { this.index.add(a) }, get: function (a, c) { function d(a) { var d = f.slice(0); b.each(a, function (a) { var c; return c = b.some(d, function (b) { return e.dupDetector(a, b) }), !c && d.push(a), d.length < e.limit }), c && c(e.sorter(d)) } var e = this, f = [], g = !1; f = this.index.get(a), f = this.sorter(f).slice(0, this.limit), f.length < this.limit && this.transport && (g = this._getFromRemote(a, d)), g || (f.length > 0 || !this.transport) && c && c(f) }, clear: function () { this.index.reset() }, clearPrefetchCache: function () { this.storage && this.storage.clear() }, clearRemoteCache: function () { this.transport && g.resetCache() }
vendor: 14,077 bytes, line 60
60, ttAdapter: function () { return b.bind(this.get, this) } }), e }(this); var j = { wrapper: '<span class="twitter-typeahead"></span>', dropdown: '<span class="tt-dropdown-menu"></span>', dataset: '<div class="tt-dataset-%CLASS%"></div>', suggestions: '<span class="tt-suggestions"></span>', suggestion: '<div class="tt-suggestion"></div>' }, k = { wrapper: { position: "relative", display: "inline-block" }, hint: { position: "absolute", top: "0", left: "0", borderColor: "transparent", boxShadow: "none" }, input: { position: "relative", verticalAlign: "top", backgroundColor: "transparent" }, inputWithNoHint: { position: "relative", verticalAlign: "top" }, dropdown: { position: "absolute", top: "100%", left: "0", zIndex: "100", display: "none" }, suggestions: { display: "block" }, suggestion: { whiteSpace: "nowrap", cursor: "pointer" }, suggestionChild: { whiteSpace: "normal" }, ltr: { left: "0", right: "auto" }, rtl: { left: "auto", right: " 0" } }; b.isMsie() && b.mixin(k.input, { backgroundImage: "url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)" }), b.isMsie() && b.isMsie() <= 7 && b.mixin(k.input, { marginTop: "-1px" }); var l = function () { function c(b) { b && b.el || a.error("EventBus initialized without el"), this.$el = a(b.el) } var d = "typeahead:"; return b.mixin(c.prototype, { trigger: function (a) { var b = [].slice.call(arguments, 1); this.$el.trigger(d + a, b) } }), c }(), m = function () { function a(a, b, c, d) { var e; if (!c) return this; for (b = b.split(i), c = d ? h(c, d) : c, this._callbacks = this._callbacks || {}; e = b.shift();) this._callbacks[e] = this._callbacks[e] || { sync: [], async: [] }, this._callbacks[e][a].push(c); return this } function b(b, c, d) { return a.call(this, "async", b, c, d) } function c(b, c, d) { return a.call(this, "sync", b, c, d) } function d(a) { var b; if (!this._callbacks) return this; for (a = a.split(i); b = a.shift();) delete this._callbacks[b]; return this } function e(a) { var b, c, d, e, g; if (!this._callbacks) return this; for (a = a.split(i), d = [].slice.call(arguments, 1); (b = a.shift()) && (c = this._callbacks[b]);) e = f(c.sync, this, [b].concat(d)), g = f(c.async, this, [b].concat(d)), e() && j(g); return this } function f(a, b, c) { function d() { for (var d, e = 0; !d && e < a.length; e += 1) d = a[e].apply(b, c) === !1; return !d } return d } function g() { var a; return a = window.setImmediate ? function (a) { setImmediate(function () { a() }) } : function (a) { setTimeout(function () { a() }, 0) } } function h(a, b) { return a.bind ? a.bind(b) : function () { a.apply(b, [].slice.call(arguments, 0)) } } var i = /\s+/, j = g(); return { onSync: c, onAsync: b, off: d, trigger: e } }(), n = function (a) { function c(a, c, d) { for (var e, f = [], g = 0; g < a.length; g++) f.push(b.escapeRegExChars(a[g])); return e = d ? "\\b(" + f.join("|") + ")\\b" : "(" + f.join("|") + ")", c ? new RegExp(e) : new RegExp(e, "i") } var d = { node: null, pattern: null, tagName: "strong", className: null, wordsOnly: !1, caseSensitive: !1 }; return function (e) { function f(b) { var c, d; return (c = h.exec(b.data)) && (wrapperNode = a.createElement(e.tagName), e.className && (wrapperNode.className = e.className), d = b.splitText(c.index), d.splitText(c[0].length), wrapperNode.appendChild(d.cloneNode(!0)), b.parentNode.replaceChild(wrapperNode, d)), !!c } function g(a, b) { for (var c, d = 3, e = 0; e < a.childNodes.length; e++) c = a.childNodes[e], c.nodeType === d ? e += b(c) ? 1 : 0 : g(c, b) } var h; e = b.mixin({}, d, e), e.node && e.pattern && (e.pattern = b.isArray(e.pattern) ? e.pattern : [e.pattern], h = c(e.pattern, e.caseSensitive, e.wordsOnly), g(e.node, f)) } }(window.document), o = function () { function c(c) { var e, f, h, i, j = this; c = c || {}, c.input || a.error("input is missing"), e = b.bind(this._onBlur, this), f = b.bind(this._onFocus, this), h = b.bind(this._onKeydown, this), i = b.bind(this._onInput, this), this.$hint = a(c.hint), this.$input = a(c.input).on("blur.tt", e).on("focus.tt", f).on("keydown.tt", h), 0 === this.$hint.length && (this.setHint = this.getHint = this.clearHint = this.clearHintIfInvalid = b.noop), b.isMsie() ? this.$input.on("keydown.tt keypress.tt cut.tt paste.tt", function (a) { g[a.which || a.keyCode] || b.defer(b.bind(j._onInput, j, a)) }) : this.$input.on("input.tt", i), this.query = this.$input.val(), this.$overflowHelper = d(this.$input) } function d(b) { return a('<pre aria-hidden="true"></pre>').css({ position: "absolute", visibility: "hidden", whiteSpace: "pre", fontFamily: b.css("font-family"), fontSize: b.css("font-size"), fontStyle: b.css("font-style"), fontVariant: b.css("font-variant"), fontWeight: b.css("font-weight"), wordSpacing: b.css("word-spacing"), letterSpacing: b.css("letter-spacing"), textIndent: b.css("text-indent"), textRendering: b.css("text-rendering"), textTransform: b.css("text-transform") }).insertAfter(b) } function e(a, b) { return c.normalizeQuery(a) === c.normalizeQuery(b) } function f(a) { return a.altKey || a.ctrlKey || a.metaKey || a.shiftKey } var g; return g = { 9: "tab", 27: "esc", 37: "left", 39: "right", 13: "enter", 38: "up", 40: "down" }, c.normalizeQuery = function (a) { return (a || "").replace(/^\s*/g, "").replace(/\s{2,}/g, " ") }, b.mixin(c.prototype, m, { _onBlur: function () { this.resetInputValue(), this.trigger("blurred") }, _onFocus: function () { this.trigger("focused") }, _onKeydown: function (a) { var b = g[a.which || a.keyCode]; this._managePreventDefault(b, a), b && this._shouldTrigger(b, a) && this.trigger(b + "Keyed", a) }, _onInput: function () { this._checkInputValue() }, _managePreventDefault: function (a, b) { var c, d, e; switch (a) { case "tab": d = this.getHint(), e = this.getInputValue(), c = d && d !== e && !f(b); break; case "up": case "down": c = !f(b); break; default: c = !1 } c && b.preventDefault() }, _shouldTrigger: function (a, b) { var c; switch (a) { case "tab": c = !f(b); break; default: c = !0 } return c }, _checkInputValue: function () { var a, b, c; a = this.getInputValue(), b = e(a, this.query), c = b ? this.query.length !== a.length : !1, b ? c && this.trigger("whitespaceChanged", this.query) : this.trigger("queryChanged", this.query = a) }, focus: function () { this.$input.focus() }, blur: function () { this.$input.blur() }, getQuery: function () { return this.query }, setQuery: function (a) { this.query = a }, getInputValue: function () { return this.$input.val() }, setInputValue: function (a, b) { this.$input.val(a), b ? this.clearHint() : this._checkInputValue() }, resetInputValue: function () { this.setInputValue(this.query, !0) }, getHint: function () { return this.$hint.val() }, setHint: function (a) { this.$hint.val(a) }, clearHint: function () { this.setHint("") }, clearHintIfInvalid: function () { var a, b, c, d; a = this.getInputValue(), b = this.getHint(), c = a !== b && 0 === b.indexOf(a), d = "" !== a && c && !this.hasOverflow(), !d && this.clearHint() }, getLanguageDirection: function () { return (this.$input.css("direction") || "ltr").toLowerCase() }, hasOverflow: function () { var a = this.$input.width() - 2; return this.$overflowHelper.text(this.getInputValue()), this.$overflowHelper.width() >= a }, isCursorAtEnd: function () { var a, c, d; return a = this.$input.val().length, c = this.$input[0].selectionStart, b.isNumber(c) ? c === a : document.selection ? (d = document.selection.createRange(), d.moveStart("character", -a), a === d.text.length) : !0 }, destroy: function () { this.$hint.off(".tt"), this.$input.off(".tt"), this.$hint = this.$input = this.$overflowHelper = null } }), c }(), p = function () { function c(c) { c = c || {}, c.templates = c.templates || {}, c.source || a.error("missing source"), c.name && !f(c.name) && a.error("invalid dataset name: " + c.name), this.query = null, this.highlight = !!c.highlight, this.name = c.name || b.getUniqueId(), this.source = c.source, this.displayFn = d(c.display || c.displayKey), this.templates = e(c.templates, this.displayFn), this.$el = a(j.dataset.replace("%CLASS%", this.name)) } function d(a) { function c(b) { return b[a] } return a = a || "value", b.isFunction(a) ? a : c } function e(a, c) { function d(a) { return "<p>" + c(a) + "</p>" } return { empty: a.empty && b.templatify(a.empty), header: a.header && b.templatify(a.header), footer: a.footer && b.templatify(a.footer), suggestion: a.suggestion || d } } function f(a) { return /^[_a-zA-Z0-9-]+$/.test(a) } var g = "ttDataset", h = "ttValue", i = "ttDatum"; return c.extractDatasetName = function (b) { return a(b).data(g) }, c.extractValue = function (b) { return a(b).data(h) }, c.extractDatum = function (b) { return a(b).data(i) }, b.mixin(c.prototype, m, { _render: function (c, d) { function e() { return p.templates.empty({ query: c, isEmpty: !0 }) } function f() { function e(b) { var c; return c = a(j.suggestion).append(p.templates.suggestion(b)).data(g, p.name).data(h, p.displayFn(b)).data(i, b), c.children().each(function () { a(this).css(k.suggestionChild) }), c } var f, l; return f = a(j.suggestions).css(k.suggestions), l = b.map(d, e), f.append.apply(f, l), p.highlight && n({ node: f[0], pattern: c }), f } function l() { return p.templates.header({ query: c, isEmpty: !o }) } function m() { return p.templates.footer({ query: c, isEmpty: !o }) } if (this.$el) { var o, p = this; this.$el.empty(), o = d && d.length, !o && this.templates.empty ? this.$el.html(e()).prepend(p.templates.header ? l() : null).append(p.templates.footer ? m() : null) : o && this.$el.html(f()).prepend(p.templates.header ? l() : null).append(p.templates.footer ? m() : null), this.trigger("rendered") } }, getRoot: function () { return this.$el }, update: function (a) { function b(b) { c.canceled || a !== c.query || c._render(a, b) } var c = this; this.query = a, this.canceled = !1, this.source(a, b) }, cancel: function () { this.canceled = !0 }, clear: function () { this.cancel(), this.$el.empty(), this.trigger("rendered") }, isEmpty: function () { return this.$el.is(":empty") }, destroy: function () { this.$el = null } }), c }(), q = function () { function c(c) { var e, f, g, h = this; c = c || {}, c.menu || a.error("menu is required"), this.isOpen = !1, this.isEmpty = !0, this.datasets = b.map(c.datasets, d), e = b.bind(this._onSuggestionClick, this), f = b.bind(this._onSuggestionMouseEnter, this), g = b.bind(this._onSuggestionMouseLeave, this), this.$menu = a(c.menu).on("click.tt", ".tt-suggestion", e).on("mouseenter.tt", ".tt-suggestion", f).on("mouseleave.tt", ".tt-suggestion", g), b.each(this.datasets, function (a) { h.$menu.append(a.getRoot()), a.onSync("rendered", h._onRendered, h) }) } function d(a) { return new p(a) } return b.mixin(c.prototype, m, { _onSuggestionClick: function (b) { this.trigger("suggestionClicked", a(b.currentTarget)) }, _onSuggestionMouseEnter: function (b) { this._removeCursor(), this._setCursor(a(b.currentTarget), !0) }, _onSuggestionMouseLeave: function () { this._removeCursor() }, _onRendered: function () { function a(a) { return a.isEmpty() } this.isEmpty = b.every(this.datasets, a), this.isEmpty ? this._hide() : this.isOpen && this._show(), this.trigger("datasetRendered") }, _hide: function () { this.$menu.hide() }, _show: function () { this.$menu.css("display", "block") }, _getSuggestions: function () { return this.$menu.find(".tt-suggestion") }, _getCursor: function () { return this.$menu.find(".tt-cursor").first() }, _setCursor: function (a, b) { a.first().addClass("tt-cursor"), !b && this.trigger("cursorMoved") }, _removeCursor: function () { this._getCursor().removeClass("tt-cursor") }, _moveCursor: function (a) { var b, c, d, e; if (this.isOpen) { if (c = this._getCursor(), b = this._getSuggestions(), this._removeCursor(), d = b.index(c) + a, d = (d + 1) % (b.length + 1) - 1, -1 === d) return void this.trigger("cursorRemoved"); -1 > d && (d = b.length - 1), this._setCursor(e = b.eq(d)), this._ensureVisible(e) } }, _ensureVisible: function (a) { var b, c, d, e; b = a.position().top, c = b + a.outerHeight(!0), d = this.$menu.scrollTop(), e = this.$menu.height() + parseInt(this.$menu.css("paddingTop"), 10) + parseInt(this.$menu.css("paddingBottom"), 10), 0 > b ? this.$menu.scrollTop(d + b) : c > e && this.$menu.scrollTop(d + (c - e)) }, close: function () { this.isOpen && (this.isOpen = !1, this._removeCursor(), this._hide(), this.trigger("closed")) }, open: function () { this.isOpen || (this.isOpen = !0, !this.isEmpty && this._show(), this.trigger("opened")) }, setLanguageDirection: function (a) { this.$menu.css("ltr" === a ? k.ltr : k.rtl) }, moveCursorUp: function () { this._moveCursor(-1) }, moveCursorDown: function () { this._moveCursor(1) }, getDatumForSuggestion: function (a) { var b = null; return a.length && (b = { raw: p.extractDatum(a), value: p.extractValue(a), datasetName: p.extractDatasetName(a) }), b }, getDatumForCursor: function () { return this.getDatumForSuggestion(this._getCursor().first()) }, getDatumForTopSuggestion: function () { return this.getDatumForSuggestion(this._getSuggestions().first()) }, update: function (a) { function c(b) { b.update(a) } b.each(this.datasets, c) }, empty: function () { function a(a) { a.clear() } b.each(this.datasets, a), this.isEmpty = !0 }, isVisible: function () { return this.isOpen && !this.isEmpty }, destroy: function () { function a(a) { a.destroy() } this.$menu.off(".tt"), this.$menu = null, b.each(this.datasets, a) } }), c }(), r = function () { function c(c) { var e, f, g; c = c || {}, c.input || a.error("missing input"), this.isActivated = !1, this.autoselect = !!c.autoselect, this.minLength = b.isNumber(c.minLength) ? c.minLength : 1, this.$node = d(c.input, c.withHint), e = this.$node.find(".tt-dropdown-menu"), f = this.$node.find(".tt-input"), g = this.$node.find(".tt-hint"), f.on("blur.tt", function (a) { var c, d, g; c = document.activeElement, d = e.is(c), g = e.has(c).length > 0, b.isMsie() && (d || g) && (a.preventDefault(), a.stopImmediatePropagation(), b.defer(function () { f.focu
60s() })) }), e.on("mousedown.tt", function (a) { a.preventDefault() }), this.eventBus = c.eventBus || new l({ el: f }), this.dropdown = new q({ menu: e, datasets: c.datasets }).onSync("suggestionClicked", this._onSuggestionClicked, this).onSync("cursorMoved", this._onCursorMoved, this).onSync("cursorRemoved", this._onCursorRemoved, this).onSync("opened", this._onOpened, this).onSync("closed", this._onClosed, this).onAsync("datasetRendered", this._onDatasetRendered, this), this.input = new o({ input: f, hint: g }).onSync("focused", this._onFocused, this).onSync("blurred", this._onBlurred, this).onSync("enterKeyed", this._onEnterKeyed, this).onSync("tabKeyed", this._onTabKeyed, this).onSync("escKeyed", this._onEscKeyed, this).onSync("upKeyed", this._onUpKeyed, this).onSync("downKeyed", this._onDownKeyed, this).onSync("leftKeyed", this._onLeftKeyed, this).onSync("rightKeyed", this._onRightKeyed, this).onSync("queryChanged", this._onQueryChanged, this).onSync("whitespaceChanged", this._onWhitespaceChanged, this), this._setLanguageDirection() } function d(b, c) { var d, f, h, i; d = a(b), f = a(j.wrapper).css(k.wrapper), h = a(j.dropdown).css(k.dropdown), i = d.clone().css(k.hint).css(e(d)), i.val("").removeData().addClass("tt-hint").removeAttr("id name placeholder").prop("disabled", !0).attr({ autocomplete: "off", spellcheck: "false" }), d.data(g, { dir: d.attr("dir"), autocomplete: d.attr("autocomplete"), spellcheck: d.attr("spellcheck"), style: d.attr("style") }), d.addClass("tt-input").attr({ autocomplete: "off", spellcheck: !1 }).css(c ? k.input : k.inputWithNoHint); try { !d.attr("dir") && d.attr("dir", "auto") } catch (l) { } return d.wrap(f).parent().prepend(c ? i : null).append(h) } function e(a) { return { backgroundAttachment: a.css("background-attachment"), backgroundClip: a.css("background-clip"), backgroundColor: a.css("background-color"), backgroundImage: a.css("background-image"), backgroundOrigin: a.css("background-origin"), backgroundPosition: a.css("background-position"), backgroundRepeat: a.css("background-repeat"), backgroundSize: a.css("background-size") } } function f(a) { var c = a.find(".tt-input"); b.each(c.data(g), function (a, d) { b.isUndefined(a) ? c.removeAttr(d) : c.attr(d, a) }), c.detach().removeData(g).removeClass("tt-input").insertAfter(a), a.remove() } var g = "ttAttrs"; return b.mixin(c.prototype, { _onSuggestionClicked: function (a, b) { var c; (c = this.dropdown.getDatumForSuggestion(b)) && this._select(c) }, _onCursorMoved: function () { var a = this.dropdown.getDatumForCursor(); this.input.setInputValue(a.value, !0), this.eventBus.trigger("cursorchanged", a.raw, a.datasetName) }, _onCursorRemoved: function () { this.input.resetInputValue(), this._updateHint() }, _onDatasetRendered: function () { this._updateHint() }, _onOpened: function () { this._updateHint(), this.eventBus.trigger("opened") }, _onClosed: function () { this.input.clearHint(), this.eventBus.trigger("closed") }, _onFocused: function () { this.isActivated = !0, this.dropdown.open() }, _onBlurred: function () { this.isActivated = !1, this.dropdown.empty(), this.dropdown.close() }, _onEnterKeyed: function (a, b) { var c, d; c = this.dropdown.getDatumForCursor(), d = this.dropdown.getDatumForTopSuggestion(), c ? (this._select(c), b.preventDefault()) : this.autoselect && d && (this._select(d), b.preventDefault()) }, _onTabKeyed: function (a, b) { var c; (c = this.dropdown.getDatumForCursor()) ? (this._select(c), b.preventDefault()) : this._autocomplete(!0) }, _onEscKeyed: function () { this.dropdown.close(), this.input.resetInputValue() }, _onUpKeyed: function () { var a = this.input.getQuery(); this.dropdown.isEmpty && a.length >= this.minLength ? this.dropdown.update(a) : this.dropdown.moveCursorUp(), this.dropdown.open() }, _onDownKeyed: function () { var a = this.input.getQuery(); this.dropdown.isEmpty && a.length >= this.minLength ? this.dropdown.update(a) : this.dropdown.moveCursorDown(), this.dropdown.open() }, _onLeftKeyed: function () { "rtl" === this.dir && this._autocomplete() }, _onRightKeyed: function () { "ltr" === this.dir && this._autocomplete() }, _onQueryChanged: function (a, b) { this.input.clearHintIfInvalid(), b.length >= this.minLength ? this.dropdown.update(b) : this.dropdown.empty(), this.dropdown.open(), this._setLanguageDirection() }, _onWhitespaceChanged: function () { this._updateHint(), this.dropdown.open() }, _setLanguageDirection: function () { var a; this.dir !== (a = this.input.getLanguageDirection()) && (this.dir = a, this.$node.css("direction", a), this.dropdown.setLanguageDirection(a)) }, _updateHint: function () { var a, c, d, e, f, g; a = this.dropdown.getDatumForTopSuggestion(), a && this.dropdown.isVisible() && !this.input.hasOverflow() ? (c = this.input.getInputValue(), d = o.normalizeQuery(c), e = b.escapeRegExChars(d), f = new RegExp("^(?:" + e + ")(.+$)", "i"), g = f.exec(a.value), g ? this.input.setHint(c + g[1]) : this.input.clearHint()) : this.input.clearHint() }, _autocomplete: function (a) { var b, c, d, e; b = this.input.getHint(), c = this.input.getQuery(), d = a || this.input.isCursorAtEnd(), b && c !== b && d && (e = this.dropdown.getDatumForTopSuggestion(), e && this.input.setInputValue(e.value), this.eventBus.trigger("autocompleted", e.raw, e.datasetName)) }, _select: function (a) { this.input.setQuery(a.value), this.input.setInputValue(a.value, !0), this._setLanguageDirection(), this.eventBus.trigger("selected", a.raw, a.datasetName), this.dropdown.close(), b.defer(b.bind(this.dropdown.empty, this.dropdown)) }, open: function () { this.dropdown.open() }, close: function () { this.dropdown.close() }, setVal: function (a) { this.isActivated ? this.input.setInputValue(a) : (this.input.setQuery(a), this.input.setInputValue(a, !0)), this._setLanguageDirection() }, getVal: function () { return this.input.getQuery() }, destroy: function () { this.input.destroy(), this.dropdown.destroy(), f(this.$node), this.$node = null } }), c }(); !function () { var c, d, e; c = a.fn.typeahead, d = "ttTypeahead", e = { initialize: function (c, e) { function f() { var f, g, h = a(this); b.each(e, function (a) { a.highlight = !!c.highlight }), g = new r({ input: h, eventBus: f = new l({ el: h }), withHint: b.isUndefined(c.hint) ? !0 : !!c.hint, minLength: c.minLength, autoselect: c.autoselect, datasets: e }), h.data(d, g) } return e = b.isArray(e) ? e : [].slice.call(arguments, 1), c = c || {}, this.each(f) }, open: function () { function b() { var b, c = a(this); (b = c.data(d)) && b.open() } return this.each(b) }, close: function () { function b() { var b, c = a(this); (b = c.data(d)) && b.close() } return this.each(b) }, val: function (b) { function c() { var c, e = a(this); (c = e.data(d)) && c.setVal(b) } function e(a) { var b, c; return (b = a.data(d)) && (c = b.getVal()), c } return arguments.length ? this.each(c) : e(this.first()) }, destroy: function () { function b() { var b, c = a(this); (b = c.data(d)) && (b.destroy(), c.removeData(d)) } return this.each(b) } }, a.fn.typeahead = function (a) { return e[a] ? e[a].apply(this, [].slice.call(arguments, 1)) : e.initialize.apply(this, arguments) }, a.fn.typeahead.noConflict = function () { return a.fn.typeahead = c, this } }() }(window.jQuery);
61/*jQuery Mobile v1.3.2 */
62(function (e, t, n) { typeof define == "function" && define.amd ? define(["jquery"], function (r) { return n(r, e, t), r.mobile }) : n(e.jQuery, e, t) })(this, document, function (e, t, n, r) { (function (e, t, n, r) { function x(e) { while (e && typeof e.originalEvent != "undefined") e = e.originalEvent; return e } function T(t, n) { var i = t.type, s, o, a, l, c, h, p, d, v; t = e.Event(t), t.type = n, s = t.originalEvent, o = e.event.props, i.search(/^(mouse|click)/) > -1 && (o = f); if (s) for (p = o.length, l; p;) l = o[--p], t[l] = s[l]; i.search(/mouse(down|up)|click/) > -1 && !t.which && (t.which = 1); if (i.search(/^touch/) !== -1) { a = x(s), i = a.touches, c = a.changedTouches, h = i && i.length ? i[0] : c && c.length ? c[0] : r; if (h) for (d = 0, v = u.length; d < v; d++) l = u[d], t[l] = h[l] } return t } function N(t) { var n = {}, r, s; while (t) { r = e.data(t, i); for (s in r) r[s] && (n[s] = n.hasVirtualBinding = !0); t = t.parentNode } return n } function C(t, n) { var r; while (t) { r = e.data(t, i); if (r && (!n || r[n])) return t; t = t.parentNode } return null } function k() { g = !1 } function L() { g = !0 } function A() { E = 0, v.length = 0, m = !1, L() } function O() { k() } function M() { _(), c = setTimeout(function () { c = 0, A() }, e.vmouse.resetTimerDuration) } function _() { c && (clearTimeout(c), c = 0) } function D(t, n, r) { var i; if (r && r[t] || !r && C(n.target, t)) i = T(n, t), e(n.target).trigger(i); return i } function P(t) { var n = e.data(t.target, s); if (!m && (!E || E !== n)) { var r = D("v" + t.type, t); r && (r.isDefaultPrevented() && t.preventDefault(), r.isPropagationStopped() && t.stopPropagation(), r.isImmediatePropagationStopped() && t.stopImmediatePropagation()) } } function H(t) { var n = x(t).touches, r, i; if (n && n.length === 1) { r = t.target, i = N(r); if (i.hasVirtualBinding) { E = w++, e.data(r, s, E), _(), O(), d = !1; var o = x(t).touches[0]; h = o.pageX, p = o.pageY, D("vmouseover", t, i), D("vmousedown", t, i) } } } function B(e) { if (g) return; d || D("vmousecancel", e, N(e.target)), d = !0, M() } function j(t) { if (g) return; var n = x(t).touches[0], r = d, i = e.vmouse.moveDistanceThreshold, s = N(t.target);
62 d = d || Math.abs(n.pageX - h) > i || Math.abs(n.pageY - p) > i, d && !r && D("vmousecancel", t, s), D("vmousemove", t, s), M() } function F(e) { if (g) return; L(); var t = N(e.target), n; D("vmouseup", e, t); if (!d) { var r = D("vclick", e, t); r && r.isDefaultPrevented() && (n = x(e).changedTouches[0], v.push({ touchID: E, x: n.clientX, y: n.clientY }), m = !0) } D("vmouseout", e, t), d = !1, M() } function I(t) { var n = e.data(t, i), r; if (n) for (r in n) if (n[r]) return !0; return !1 } function q() { } function R(t) { var n = t.substr(1); return { setup: function (r, s) { I(this) || e.data(this, i, {}); var o = e.data(this, i); o[t] = !0, l[t] = (l[t] || 0) + 1, l[t] === 1 && b.bind(n, P), e(this).bind(n, q), y && (l.touchstart = (l.touchstart || 0) + 1, l.touchstart === 1 && b.bind("touchstart", H).bind("touchend", F).bind("touchmove", j).bind("scroll", B)) }, teardown: function (r, s) { --l[t], l[t] || b.unbind(n, P), y && (--l.touchstart, l.touchstart || b.unbind("touchstart", H).unbind("touchmove", j).unbind("touchend", F).unbind("scroll", B)); var o = e(this), u = e.data(this, i); u && (u[t] = !1), o.unbind(n, q), I(this) || o.removeData(i) } } } var i = "virtualMouseBindings", s = "virtualTouchID", o = "vmouseover vmousedown vmousemove vmouseup vclick vmouseout vmousecancel".split(" "), u = "clientX clientY pageX pageY screenX screenY".split(" "), a = e.event.mouseHooks ? e.event.mouseHooks.props : [], f = e.event.props.concat(a), l = {}, c = 0, h = 0, p = 0, d = !1, v = [], m = !1, g = !1, y = "addEventListener" in n, b = e(n), w = 1, E = 0, S; e.vmouse = { moveDistanceThreshold: 10, clickDistanceThreshold: 10, resetTimerDuration: 1500 }; for (var U = 0; U < o.length; U++) e.event.special[o[U]] = R(o[U]); y && n.addEventListener("click", function (t) { var n = v.length, r = t.target, i, o, u, a, f, l; if (n) { i = t.clientX, o = t.clientY, S = e.vmouse.clickDistanceThreshold, u = r; while (u) { for (a = 0; a < n; a++) { f = v[a], l = 0; if (u === r && Math.abs(f.x - i) < S && Math.abs(f.y - o) < S || e.data(u, s) === f.touchID) { t.preventDefault(), t.stopPropagation(); return } } u = u.parentNode } } }, !0) })(e, t, n), function (e) { e.mobile = {} }(e), function (e, t) { var r = { touch: "ontouchend" in n }; e.mobile.support = e.mobile.support || {}, e.extend(e.support, r), e.extend(e.mobile.support, r) }(e), function (e, t, r) { function l(t, n, r) { var i = r.type; r.type = n, e.event.dispatch.call(t, r), r.type = i } var i = e(n); e.each("touchstart touchmove touchend tap taphold swipe swipeleft swiperight scrollstart scrollstop".split(" "), function (t, n) { e.fn[n] = function (e) { return e ? this.bind(n, e) : this.trigger(n) }, e.attrFn && (e.attrFn[n] = !0) }); var s = e.mobile.support.touch, o = "touchmove scroll", u = s ? "touchstart" : "mousedown", a = s ? "touchend" : "mouseup", f = s ? "touchmove" : "mousemove"; e.event.special.scrollstart = { enabled: !0, setup: function () { function s(e, n) { r = n, l(t, r ? "scrollstart" : "scrollstop", e) } var t = this, n = e(t), r, i; n.bind(o, function (t) { if (!e.event.special.scrollstart.enabled) return; r || s(t, !0), clearTimeout(i), i = setTimeout(function () { s(t, !1) }, 50) }) } }, e.event.special.tap = { tapholdThreshold: 750, setup: function () { var t = this, n = e(t); n.bind("vmousedown", function (r) { function a() { clearTimeout(u) } function f() { a(), n.unbind("vclick", c).unbind("vmouseup", a), i.unbind("vmousecancel", f) } function c(e) { f(), s === e.target && l(t, "tap", e) } if (r.which && r.which !== 1) return !1; var s = r.target, o = r.originalEvent, u; n.bind("vmouseup", a).bind("vclick", c), i.bind("vmousecancel", f), u = setTimeout(function () { l(t, "taphold", e.Event("taphold", { target: s })) }, e.event.special.tap.tapholdThreshold) }) } }, e.event.special.swipe = { scrollSupressionThreshold: 30, durationThreshold: 1e3, horizontalDistanceThreshold: 30, verticalDistanceThreshold: 75, start: function (t) { var n = t.originalEvent.touches ? t.originalEvent.touches[0] : t; return { time: (new Date).getTime(), coords: [n.pageX, n.pageY], origin: e(t.target) } }, stop: function (e) { var t = e.originalEvent.touches ? e.originalEvent.touches[0] : e; return { time: (new Date).getTime(), coords: [t.pageX, t.pageY] } }, handleSwipe: function (t, n) { n.time - t.time < e.event.special.swipe.durationThreshold && Math.abs(t.coords[0] - n.coords[0]) > e.event.special.swipe.horizontalDistanceThreshold && Math.abs(t.coords[1] - n.coords[1]) < e.event.special.swipe.verticalDistanceThreshold && t.origin.trigger("swipe").trigger(t.coords[0] > n.coords[0] ? "swipeleft" : "swiperight") }, setup: function () { var t = this, n = e(t); n.bind(u, function (t) { function o(t) { if (!i) return; s = e.event.special.swipe.stop(t), Math.abs(i.coords[0] - s.coords[0]) > e.event.special.swipe.scrollSupressionThreshold && t.preventDefault() } var i = e.event.special.swipe.start(t), s; n.bind(f, o).one(a, function () { n.unbind(f, o), i && s && e.event.special.swipe.handleSwipe(i, s), i = s = r }) }) } }, e.each({ scrollstop: "scrollstart", taphold: "tap", swipeleft: "swipe", swiperight: "swipe" }, function (t, n) { e.event.special[t] = { setup: function () { e(this).bind(n, e.noop) } } }) }(e, this) });
63/**Flickity*/
64/*!
65 * Flickity PACKAGED v2.2.1
66 * Touch, responsive, flickable carousels
67 *
68 * Licensed GPLv3 for open source use
69 * or Flickity Commercial License for commercial use
70 *
71 * https://flickity.metafizzy.co
72 * Copyright 2015-2019 Metafizzy
73 */
74
75!function (e, i) { "function" == typeof define && define.amd ? define("jquery-bridget/jquery-bridget", ["jquery"], function (t) { return i(e, t) }) : "object" == typeof module && module.exports ? module.exports = i(e, require("jquery")) : e.jQueryBridget = i(e, e.jQuery) }(window, function (t, e) { "use strict"; var i = Array.prototype.slice, n = t.console, d = void 0 === n ? function () { } : function (t) { n.error(t) }; function s(h, s, c) { (c = c || e || t.jQuery) && (s.prototype.option || (s.prototype.option = function (t) { c.isPlainObject(t) && (this.options = c.extend(!0, this.options, t)) }), c.fn[h] = function (t) { return "string" == typeof t ? function (t, o, r) { var a, l = "$()." + h + '("' + o + '")'; return t.each(function (t, e) { var i = c.data(e, h); if (i) { var n = i[o]; if (n && "_" != o.charAt(0)) { var s = n.apply(i, r); a = void 0 === a ? s : a } else d(l + " is not a valid method") } else d(h + " not initialized. Cannot call methods, i.e. " + l) }), void 0 !== a ? a : t }(this, t, i.call(arguments, 1)) : (function (t, n) { t.each(function (t, e) { var i = c.data(e, h); i ? (i.option(n), i._init()) : (i = new s(e, n), c.data(e, h, i)) }) }(this, t), this) }, o(c)) } function o(t) { !t || t && t.bridget || (t.bridget = s) } return o(e || t.jQuery), s }), function (t, e) { "function" == typeof define && define.amd ? define("ev-emitter/ev-emitter", e) : "object" == typeof module && module.exports ? module.exports = e() : t.EvEmitter = e() }("undefined" != typeof window ? window : this, function () { function t() { } var e = t.prototype; return e.on = function (t, e) { if (t && e) { var i = this._events = this._events || {}, n = i[t] = i[t] || []; return -1 == n.indexOf(e) && n.push(e), this } }, e.once = function (t, e) { if (t && e) { this.on(t, e); var i = this._onceEvents = this._onceEvents || {}; return (i[t] = i[t] || {})[e] = !0, this } }, e.off = function (t, e) { var i = this._events && this._events[t]; if (i && i.length) { var n = i.indexOf(e); return -1 != n && i.splice(n, 1), this } }, e.emitEvent = function (t, e) { var i = this._events && this._events[t]; if (i && i.length) { i = i.slice(0), e = e || []; for (var n = this._onceEvents && this._onceEvents[t], s = 0; s < i.length; s++) { var o = i[s]; n && n[o] && (this.off(t, o), delete n[o]), o.apply(this, e) } return this } }, e.allOff = function () { delete this._events, delete this._onceEvents }, t }), function (t, e) { "function" == typeof define && define.amd ? define("get-size/get-size", e) : "object" == typeof module && module.exports ? module.exports = e() : t.getSize = e() }(window, function () { "use strict"; function m(t) { var e = parseFloat(t); return -1 == t.indexOf("%") && !isNaN(e) && e } var i = "undefined" == typeof console ? function () { } : function (t) { console.error(t) }, y = ["paddingLeft", "paddingRight", "paddingTop", "paddingBottom", "marginLeft", "marginRight", "marginTop", "marginBottom", "borderLeftWidth", "borderRightWidth", "borderTopWidth", "borderBottomWidth"], b = y.length; function E(t) { var e = getComputedStyle(t); return e || i("Style returned " + e + ". Are you running this code in a hidden iframe on Firefox? See https://bit.ly/getsizebug1"), e } var S, C = !1; function x(t) { if (function () { if (!C) { C = !0; var t = document.createElement("div"); t.style.width = "200px", t.style.padding = "1px 2px 3px 4px", t.style.borderStyle = "solid", t.style.borderWidth = "1px 2px 3px 4px", t.style.boxSizing = "border-box"; var e = document.body || document.documentElement; e.appendChild(t); var i = E(t); S = 200 == Math.round(m(i.width)), x.isBoxSizeOuter = S, e.removeChild(t) } }(), "string" == typeof t && (t = document.querySelector(t)), t && "object" == typeof t && t.nodeType) { var e = E(t); if ("none" == e.display) return function () { for (var t = { width: 0, height: 0, innerWidth: 0, innerHeight: 0, outerWidth: 0, outerHeight: 0 }, e = 0; e < b; e++) { t[y[e]] = 0 } return t }(); var i = {}; i.width = t.offsetWidth, i.height = t.offsetHeight; for (var n = i.isBorderBox = "border-box" == e.boxSizing, s = 0; s < b; s++) { var o = y[s], r = e[o], a = parseFloat(r); i[o] = isNaN(a) ? 0 : a } var l = i.paddingLeft + i.paddingRight, h = i.paddingTop + i.paddingBottom, c = i.marginLeft + i.marginRight, d = i.marginTop + i.marginBottom, u = i.borderLeftWidth + i.borderRightWidth, f = i.borderTopWidth + i.borderBottomWidth, p = n && S, g = m(e.width); !1 !== g && (i.width = g + (p ? 0 : l + u)); var v = m(e.height); return !1 !== v && (i.height = v + (p ? 0 : h + f)), i.innerWidth = i.width - (l + u), i.innerHeight = i.height - (h + f), i.outerWidth = i.width + c, i.outerHeight = i.height + d, i } } return x }), function (t, e) { "use strict"; "function" == typeof define && define.amd ? define("desandro-matches-selector/matches-selector", e) : "object" == typeof module && module.exports ? module.exports = e() : t.matchesSelector = e() }(window, function () { "use strict"; var i = function () { var t = window.Element.prototype; if (t.matches) return "matches"; if (t.matchesSelector) return "matchesSelector"; for (var e = ["webkit", "moz", "ms", "o"], i = 0; i < e.length; i++) { var n = e[i] + "MatchesSelector"; if (t[n]) return n } }(); return function (t, e) { return t[i](e) } }), function (e, i) { "function" == typeof define && define.amd ? define("fizzy-ui-utils/utils", ["desandro-matches-selector/matches-selector"], function (t) { return i(e, t) }) : "object" == typeof module && module.exports ? module.exports = i(e, require("desandro-matches-selector")) : e.fizzyUIUtils = i(e, e.matchesSelector) }(window, function (h, o) { var c = { extend: function (t, e) { for (var i in e) t[i] = e[i]; return t }, modulo: function (t, e) { return (t % e + e) % e } }, e = Array.prototype.slice; c.makeArray = function (t) { return Array.isArray(t) ? t : null == t ? [] : "object" == typeof t && "number" == typeof t.length ? e.call(t) : [t] }, c.removeFrom = function (t, e) { var i = t.indexOf(e); -1 != i && t.splice(i, 1) }, c.getParent = function (t, e) { for (; t.parentNode && t != document.body;)if (t = t.parentNode, o(t, e)) return t }, c.getQueryElement = function (t) { return "string" == typeof t ? document.querySelector(t) : t }, c.handleEvent = function (t) { var e = "on" + t.type; this[e] && this[e](t) }, c.filterFindElements = function (t, n) { t = c.makeArray(t); var s = []; return t.forEach(function (t) { if (t instanceof HTMLElement) if (n) { o(t, n) && s.push(t); for (var e = t.querySelectorAll(n), i = 0; i < e.length; i++)s.push(e[i]) } else s.push(t) }), s }, c.debounceMethod = function (t, e, n) { n = n || 100; var s = t.prototype[e], o = e + "Timeout"; t.prototype[e] = function () { var t = this[o]; clearTimeout(t); var e = arguments, i = this; this[o] = setTimeout(function () { s.apply(i, e), delete i[o] }, n) } }, c.docReady = function (t) { var e = document.readyState; "complete" == e || "interactive" == e ? setTimeout(t) : document.addEventListener("DOMContentLoaded", t) }, c.toDashed = function (t) { return t.replace(/(.)([A-Z])/g, function (t, e, i) { return e + "-" + i }).toLowerCase() }; var d = h.console; return c.htmlInit = function (a, l) { c.docReady(function () { var t = c.toDashed(l), s = "data-" + t, e = document.querySelectorAll("[" + s + "]"), i = document.querySelectorAll(".js-" + t), n = c.makeArray(e).concat(c.makeArray(i)), o = s + "-options", r = h.jQuery;
75 n.forEach(function (e) { var t, i = e.getAttribute(s) || e.getAttribute(o); try { t = i && JSON.parse(i) } catch (t) { return void (d && d.error("Error parsing " + s + " on " + e.className + ": " + t)) } var n = new a(e, t); r && r.data(e, l, n) }) }) }, c }), function (e, i) { "function" == typeof define && define.amd ? define("flickity/js/cell", ["get-size/get-size"], function (t) { return i(e, t) }) : "object" == typeof module && module.exports ? module.exports = i(e, require("get-size")) : (e.Flickity = e.Flickity || {}, e.Flickity.Cell = i(e, e.getSize)) }(window, function (t, e) { function i(t, e) { this.element = t, this.parent = e, this.create() } var n = i.prototype; return n.create = function () { this.element.style.position = "absolute", this.element.setAttribute("aria-hidden", "true"), this.x = 0, this.shift = 0 }, n.destroy = function () { this.unselect(), this.element.style.position = ""; var t = this.parent.originSide; this.element.style[t] = "" }, n.getSize = function () { this.size = e(this.element) }, n.setPosition = function (t) { this.x = t, this.updateTarget(), this.renderPosition(t) }, n.updateTarget = n.setDefaultTarget = function () { var t = "left" == this.parent.originSide ? "marginLeft" : "marginRight"; this.target = this.x + this.size[t] + this.size.width * this.parent.cellAlign }, n.renderPosition = function (t) { var e = this.parent.originSide; this.element.style[e] = this.parent.getPositionValue(t) }, n.select = function () { this.element.classList.add("is-selected"), this.element.removeAttribute("aria-hidden") }, n.unselect = function () { this.element.classList.remove("is-selected"), this.element.setAttribute("aria-hidden", "true") }, n.wrapShift = function (t) { this.shift = t, this.renderPosition(this.x + this.parent.slideableWidth * t) }, n.remove = function () { this.element.parentNode.removeChild(this.element) }, i }), function (t, e) { "function" == typeof define && define.amd ? define("flickity/js/slide", e) : "object" == typeof module && module.exports ? module.exports = e() : (t.Flickity = t.Flickity || {}, t.Flickity.Slide = e()) }(window, function () { "use strict"; function t(t) { this.parent = t, this.isOriginLeft = "left" == t.originSide, this.cells = [], this.outerWidth = 0, this.height = 0 } var e = t.prototype; return e.addCell = function (t) { if (this.cells.push(t), this.outerWidth += t.size.outerWidth, this.height = Math.max(t.size.outerHeight, this.height), 1 == this.cells.length) { this.x = t.x; var e = this.isOriginLeft ? "marginLeft" : "marginRight"; this.firstMargin = t.size[e] } }, e.updateTarget = function () { var t = this.isOriginLeft ? "marginRight" : "marginLeft", e = this.getLastCell(), i = e ? e.size[t] : 0, n = this.outerWidth - (this.firstMargin + i); this.target = this.x + this.firstMargin + n * this.parent.cellAlign }, e.getLastCell = function () { return this.cells[this.cells.length - 1] }, e.select = function () { this.cells.forEach(function (t) { t.select() }) }, e.unselect = function () { this.cells.forEach(function (t) { t.unselect() }) }, e.getCellElements = function () { return this.cells.map(function (t) { return t.element }) }, t }), function (e, i) { "function" == typeof define && define.amd ? define("flickity/js/animate", ["fizzy-ui-utils/utils"], function (t) { return i(e, t) }) : "object" == typeof module && module.exports ? module.exports = i(e, require("fizzy-ui-utils")) : (e.Flickity = e.Flickity || {}, e.Flickity.animatePrototype = i(e, e.fizzyUIUtils)) }(window, function (t, e) { var i = { startAnimation: function () { this.isAnimating || (this.isAnimating = !0, this.restingFrames = 0, this.animate()) }, animate: function () { this.applyDragForce(), this.applySelectedAttraction(); var t = this.x; if (this.integratePhysics(), this.positionSlider(), this.settle(t), this.isAnimating) { var e = this; requestAnimationFrame(function () { e.animate() }) } }, positionSlider: function () { var t = this.x; this.options.wrapAround && 1 < this.cells.length && (t = e.modulo(t, this.slideableWidth), t -= this.slideableWidth, this.shiftWrapCells(t)), this.setTranslateX(t, this.isAnimating), this.dispatchScrollEvent() }, setTranslateX: function (t, e) { t += this.cursorPosition, t = this.options.rightToLeft ? -t : t; var i = this.getPositionValue(t); this.slider.style.transform = e ? "translate3d(" + i + ",0,0)" : "translateX(" 
75+ i + ")" }, dispatchScrollEvent: function () { var t = this.slides[0]; if (t) { var e = -this.x - t.target, i = e / this.slidesWidth; this.dispatchEvent("scroll", null, [i, e]) } }, positionSliderAtSelected: function () { this.cells.length && (this.x = -this.selectedSlide.target, this.velocity = 0, this.positionSlider()) }, getPositionValue: function (t) { return this.options.percentPosition ? .01 * Math.round(t / this.size.innerWidth * 1e4) + "%" : Math.round(t) + "px" }, settle: function (t) { this.isPointerDown || Math.round(100 * this.x) != Math.round(100 * t) || this.restingFrames++, 2 < this.restingFrames && (this.isAnimating = !1, delete this.isFreeScrolling, this.positionSlider(), this.dispatchEvent("settle", null, [this.selectedIndex])) }, shiftWrapCells: function (t) { var e = this.cursorPosition + t; this._shiftCells(this.beforeShiftCells, e, -1); var i = this.size.innerWidth - (t + this.slideableWidth + this.cursorPosition); this._shiftCells(this.afterShiftCells, i, 1) }, _shiftCells: function (t, e, i) { for (var n = 0; n < t.length; n++) { var s = t[n], o = 0 < e ? i : 0; s.wrapShift(o), e -= s.size.outerWidth } }, _unshiftCells: function (t) { if (t && t.length) for (var e = 0; e < t.length; e++)t[e].wrapShift(0) }, integratePhysics: function () { this.x += this.velocity, this.velocity *= this.getFrictionFactor() }, applyForce: function (t) { this.velocity += t }, getFrictionFactor: function () { return 1 - this.options[this.isFreeScrolling ? "freeScrollFriction" : "friction"] }, getRestingPosition: function () { return this.x + this.velocity / (1 - this.getFrictionFactor()) }, applyDragForce: function () { if (this.isDraggable && this.isPointerDown) { var t = this.dragX - this.x - this.velocity; this.applyForce(t) } }, applySelectedAttraction: function () { if (!(this.isDraggable && this.isPointerDown) && !this.isFreeScrolling && this.slides.length) { var t = (-1 * this.selectedSlide.target - this.x) * this.options.selectedAttraction; this.applyForce(t) } } }; return i }), function (r, a) { if ("function" == typeof define && define.amd) define("flickity/js/flickity", ["ev-emitter/ev-emitter", "get-size/get-size", "fizzy-ui-utils/utils", "./cell", "./slide", "./animate"], function (t, e, i, n, s, o) { return a(r, t, e, i, n, s, o) }); else if ("object" == typeof module && module.exports) module.exports = a(r, require("ev-emitter"), require("get-size"), require("fizzy-ui-utils"), require("./cell"), require("./sli
75de"), require("./animate")); else { var t = r.Flickity; r.Flickity = a(r, r.EvEmitter, r.getSize, r.fizzyUIUtils, t.Cell, t.Slide, t.animatePrototype) } }(window, function (n, t, e, a, i, r, s) { var l = n.jQuery, o = n.getComputedStyle, h = n.console; function c(t, e) { for (t = a.makeArray(t); t.length;)e.appendChild(t.shift()) } var d = 0, u = {}; function f(t, e) { var i = a.getQueryElement(t); if (i) { if (this.element = i, this.element.flickityGUID) { var n = u[this.element.flickityGUID]; return n.option(e), n } l && (this.$element = l(this.element)), this.options = a.extend({}, this.constructor.defaults), this.option(e), this._create() } else h && h.error("Bad element for Flickity: " + (i || t)) } f.defaults = { accessibility: !0, cellAlign: "center", freeScrollFriction: .075, friction: .28, namespaceJQueryEvents: !0, percentPosition: !0, resize: !0, selectedAttraction: .025, setGallerySize: !0 }, f.createMethods = []; var p = f.prototype; a.extend(p, t.prototype), p._create = function () { var t = this.guid = ++d; for (var e in this.element.flickityGUID = t, (u[t] = this).selectedIndex = 0, this.restingFrames = 0, this.x = 0, this.velocity = 0, this.originSide = this.options.rightToLeft ? "right" : "left", this.viewport = document.createElement("div"), this.viewport.className = "flickity-viewport", this._createSlider(), (this.options.resize || this.options.watchCSS) && n.addEventListener("resize", this), this.options.on) { var i = this.options.on[e]; this.on(e, i) } f.createMethods.forEach(function (t) { this[t]() }, this), this.options.watchCSS ? this.watchCSS() : this.activate() }, p.option = function (t) { a.extend(this.options, t) }, p.activate = function () { this.isActive || (this.isActive = !0, this.element.classList.add("flickity-enabled"), this.options.rightToLeft && this.element.classList.add("flickity-rtl"), this.getSize(), c(this._filterFindCellElements(this.element.children), this.slider), this.viewport.appendChild(this.slider), this.element.appendChild(this.viewport), this.reloadCells(), this.options.accessibility && (this.element.tabIndex = 0, this.element.addEventListener("keydown", this)), this.emitEvent("activate"), this.selectInitialIndex(), this.isInitActivated = !0, this.dispatchEvent("ready")) }, p._createSlider = function () { var t = document.createElement("div"); t.className = "flickity-slider", t.style[this.originSide] = 0, this.slider = t }, p._filterFindCellElements = function (t) { return a.filterFindElements(t, this.options.cellSelector) }, p.reloadCells = function () { this.cells = this._makeCells(this.slider.children), this.positionCells(), this._getWrapShiftCells(), this.setGallerySize() }, p._makeCells = function (t) { return this._filterFindCellElements(t).map(function (t) { return new i(t, this) }, this) }, p.getLastCell = function () { return this.cells[this.cells.length - 1] }, p.getLastSlide = function () { return this.slides[this.slides.length - 1] }, p.positionCells = function () { this._sizeCells(this.cells), this._positionCells(0) }, p._positionCells = function (t) { t = t || 0, this.maxCellHeight = t && this.maxCellHeight || 0; var e = 0; if (0 < t) { var i = this.cells[t - 1]; e = i.x + i.size.outerWidth } for (var n = this.cells.length, s = t; s < n; s++) { var o = this.cells[s]; o.setPosition(e), e += o.size.outerWidth, this.maxCellHeight = Math.max(o.size.outerHeight, this.maxCellHeight) } this.slideableWidth = e, this.updateSlides(), this._containSlides(), this.slidesWidth = n ? this.getLastSlide().target - this.slides[0].target : 0 }, p._sizeCells = function (t) { t.forEach(function (t) { t.getSize() }) }, p.updateSlides = function () { if (this.slides = [], this.cells.length) { var n = new r(this); this.slides.push(n); var s = "left" == this.originSide ? "marginRight" : "marginLeft", o = this._getCanCellFit(); this.cells.forEach(function (t, e) { if (n.cells.length) { var i = n.outerWidth - n.firstMargin + (t.size.outerWidth - t.size[s]); o.call(this, e, i) || (n.updateTarget(), n = new r(this), this.slides.push(n)), n.addCell(t) } else n.addCell(t) }, this), n.updateTarget(), this.updateSelectedSlide() } }, p._getCanCellFit = function () { var t = this.options.groupCells; if (!t) return function () { return !1 }; if ("number" == typeof t) { var e = parseInt(t, 10); return function (t) { return t % e != 0 } } var i = "string" == typeof t && t.match(/^(\d+)%$/), n = i ? parseInt(i[1], 10) / 100 : 1; return function (t, e) { return e <= (this.size.innerWidth + 1) * n } }, p._init = p.reposition = function () { this.positionCells(), this.positionSliderAtSelected() }
vendor: 10,267 bytes, line 75
75, p.getSize = function () { this.size = e(this.element), this.setCellAlign(), this.cursorPosition = this.size.innerWidth * this.cellAlign }; var g = { center: { left: .5, right: .5 }, left: { left: 0, right: 1 }, right: { right: 0, left: 1 } }; return p.setCellAlign = function () { var t = g[this.options.cellAlign]; this.cellAlign = t ? t[this.originSide] : this.options.cellAlign }, p.setGallerySize = function () { if (this.options.setGallerySize) { var t = this.options.adaptiveHeight && this.selectedSlide ? this.selectedSlide.height : this.maxCellHeight; this.viewport.style.height = t + "px" } }, p._getWrapShiftCells = function () { if (this.options.wrapAround) { this._unshiftCells(this.beforeShiftCells), this._unshiftCells(this.afterShiftCells); var t = this.cursorPosition, e = this.cells.length - 1; this.beforeShiftCells = this._getGapCells(t, e, -1), t = this.size.innerWidth - this.cursorPosition, this.afterShiftCells = this._getGapCells(t, 0, 1) } }, p._getGapCells = function (t, e, i) { for (var n = []; 0 < t;) { var s = this.cells[e]; if (!s) break; n.push(s), e += i, t -= s.size.outerWidth } return n }, p._containSlides = function () { if (this.options.contain && !this.options.wrapAround && this.cells.length) { var t = this.options.rightToLeft, e = t ? "marginRight" : "marginLeft", i = t ? "marginLeft" : "marginRight", n = this.slideableWidth - this.getLastCell().size[i], s = n < this.size.innerWidth, o = this.cursorPosition + this.cells[0].size[e], r = n - this.size.innerWidth * (1 - this.cellAlign); this.slides.forEach(function (t) { s ? t.target = n * this.cellAlign : (t.target = Math.max(t.target, o), t.target = Math.min(t.target, r)) }, this) } }, p.dispatchEvent = function (t, e, i) { var n = e ? [e].concat(i) : i; if (this.emitEvent(t, n), l && this.$element) { var s = t += this.options.namespaceJQueryEvents ? ".flickity" : ""; if (e) { var o = l.Event(e); o.type = t, s = o } this.$element.trigger(s, i) } }, p.select = function (t, e, i) { if (this.isActive && (t = parseInt(t, 10), this._wrapSelect(t), (this.options.wrapAround || e) && (t = a.modulo(t, this.slides.length)), this.slides[t])) { var n = this.selectedIndex; this.selectedIndex = t, this.updateSelectedSlide(), i ? this.positionSliderAtSelected() : this.startAnimation(), this.options.adaptiveHeight && this.setGallerySize(), this.dispatchEvent("select", null, [t]), t != n && this.dispatchEvent("change", null, [t]), this.dispatchEvent("cellSelect") } }, p._wrapSelect = function (t) { var e = this.slides.length; if (!(this.options.wrapAround && 1 < e)) return t; var i = a.modulo(t, e), n = Math.abs(i - this.selectedIndex), s = Math.abs(i + e - this.selectedIndex), o = Math.abs(i - e - this.selectedIndex); !this.isDragSelect && s < n ? t += e : !this.isDragSelect && o < n && (t -= e), t < 0 ? this.x -= this.slideableWidth : e <= t && (this.x += this.slideableWidth) }, p.previous = function (t, e) { this.select(this.selectedIndex - 1, t, e) }, p.next = function (t, e) { this.select(this.selectedIndex + 1, t, e) }, p.updateSelectedSlide = function () { var t = this.slides[this.selectedIndex]; t && (this.unselectSelectedSlide(), (this.selectedSlide = t).select(), this.selectedCells = t.cells, this.selectedElements = t.getCellElements(), this.selectedCell = t.cells[0], this.selectedElement = this.selectedElements[0]) }, p.unselectSelectedSlide = function () { this.selectedSlide && this.selectedSlide.unselect() }, p.selectInitialIndex = function () { var t = this.options.initialIndex; if (this.isInitActivated) this.select(this.selectedIndex, !1, !0); else { if (t && "string" == typeof t) if (this.queryCell(t)) return void this.selectCell(t, !1, !0); var e = 0; t && this.slides[t] && (e = t), this.select(e, !1, !0) } }, p.selectCell = function (t, e, i) { var n = this.queryCell(t); if (n) { var s = this.getCellSlideIndex(n); this.select(s, e, i) } }, p.getCellSlideIndex = function (t) { for (var e = 0; e < this.slides.length; e++) { if (-1 != this.slides[e].cells.indexOf(t)) return e } }, p.getCell = function (t) { for (var e = 0; e < this.cells.length; e++) { var i = this.cells[e]; if (i.element == t) return i } }, p.getCells = function (t) { t = a.makeArray(t); var i = []; return t.forEach(function (t) { var e = this.getCell(t); e && i.push(e) }, this), i }, p.getCellElements = function () { return this.cells.map(function (t) { return t.element }) }, p.getParentCell = function (t) { var e = this.getCell(t); return e || (t = a.getParent(t, ".flickity-slider > *"), this.getCell(t)) }, p.getAdjacentCellElements = function (t, e) { if (!t) return this.selectedSlide.getCellElements(); e = void 0 === e ? this.selectedIndex : e; var i = this.slides.length; if (i <= 1 + 2 * t) return this.getCellElements(); for (var n = [], s = e - t; s <= e + t; s++) { var o = this.options.wrapAround ? a.modulo(s, i) : s, r = this.slides[o]; r && (n = n.concat(r.getCellElements())) } return n }, p.queryCell = function (t) { if ("number" == typeof t) return this.cells[t]; if ("string" == typeof t) { if (t.match(/^[#\.]?[\d\/]/)) return; t = this.element.querySelector(t) } return this.getCell(t) }, p.uiChange = function () { this.emitEvent("uiChange") }, p.childUIPointerDown = function (t) { "touchstart" != t.type && t.preventDefault(), this.focus() }, p.onresize = function () { this.watchCSS(), this.resize() }, a.debounceMethod(f, "onresize", 150), p.resize = function () { if (this.isActive) { this.getSize(), this.options.wrapAround && (this.x = a.modulo(this.x, this.slideableWidth)), this.positionCells(), this._getWrapShiftCells(), this.setGallerySize(), this.emitEvent("resize"); var t = this.selectedElements && this.selectedElements[0]; this.selectCell(t, !1, !0) } }, p.watchCSS = function () { this.options.watchCSS && (-1 != o(this.element, ":after").content.indexOf("flickity") ? this.activate() : this.deactivate()) }, p.onkeydown = function (t) { var e = document.activeElement && document.activeElement != this.element; if (this.options.accessibility && !e) { var i = f.keyboardHandlers[t.keyCode]; i && i.call(this) } }, f.keyboardHandlers = { 37: function () { var t = this.options.rightToLeft ? "next" : "previous"; this.uiChange(), this[t]() }, 39: function () { var t = this.options.rightToLeft ? "previous" : "next"; this.uiChange(), this[t]() } }, p.focus = function () { var t = n.pageYOffset; this.element.focus({ preventScroll: !0 }), n.pageYOffset != t && n.scrollTo(n.pageXOffset, t) }, p.deactivate = function () { this.isActive && (this.element.classList.remove("flickity-enabled"), this.element.classList.remove("flickity-rtl"), this.unselectSelectedSlide(), this.cells.forEach(function (t) { t.destroy() }), this.element.removeChild(this.viewport), c(this.slider.children, this.element), this.options.accessibility && (this.element.removeAttribute("tabIndex"), this.element.removeEventListener("keydown", this)), this.isActive = !1, this.emitEvent("deactivate")) }, p.destroy = function () { this.deactivate(), n.removeEventListener("resize", this), this.allOff(), this.emitEvent("destroy"), l && this.$element && l.removeData(this.element, "flickity"), delete this.element.flickityGUID, delete u[this.guid] }, a.extend(p, s), f.data = function (t) { var e = (t = a.getQueryElement(t)) && t.flickityGUID; return e && u[e] }, a.htmlInit(f, "flickity"), l && l.bridget && l.bridget("flickity", f), f.setJQuery = function (t) { l = t }, f.Cell = i, f.Slide = r, f }), function (e, i) { "function" == typeof define && define.amd ? define("unipointer/unipointer", ["ev-emitter/ev-emitter"], function (t) { return i(e, t) }) : "object" == typeof module && module.exports ? module.exports = i(e, require("ev-emitter")) : e.Unipointer = i(e, e.EvEmitter) }(window, function (s, t) { function e() { } var i = e.prototype = Object.create(t.prototype); i.bindStartEvent = function (t) { this._bindStartEvent(t, !0) }, i.unbindStartEvent = function (t) { this._bindStartEvent(t, !1) }, i._bindStartEvent = function (t, e) { var i = (e = void 0 === e || e) ? "addEventListener" : "removeEventListener", n = "mousedown"; s.PointerEvent ? n = "pointerdown" : "ontouchstart" in s && (n = "touchstart"), t[i](n, this) }, i.handleEvent = function (t) { var e = "on" + t.type; this[e] && this[e](t) }, i.getTouch = function (t) { for (var e = 0; e < t.length; e++) { var i = t[e]; if (i.identifier == this.pointerIdentifier) return i } }, i.onmousedown = function (t) { var e = t.button; e && 0 !== e && 1 !== e || this._pointerDown(t, t) }, i.ontouchstart = function (t) { this._pointerDown(t, t.changedTouches[0]) }, i.onpointerdown = function (t) { this._pointerDown(t, t) }, i._pointerDown = function (t, e) { t.button || this.isPointerDown || (this.isPointerDown = !0, this.pointerIdentifier = void 0 !== e.pointerId ? e.pointerId : e.identifier, this.pointerDown(t, e)) }, i.pointerDown = function (t, e) { this._bindPostStartEvents(t), this.emitEvent("pointerDown", [t, e]) }; var n = { mousedown: ["mousemove", "mouseup"], touchstart: ["touchmove", "touchend", "touchcancel"], pointerdown: ["pointermove", "pointerup", "pointercancel"] }; return i._bindPostStartEvents = function (t) { if (t) { var e = n[t.type]; e.forEach(function (t) { s.addEventListener(t, this) }, this), this._boundPointerEvents = e } }, i._unbindPostStartEvents = function () { this._boundPointerEvents && (this._boundPointerEvents.forEach(function (t) { s.removeEventListener(t, this) }, this), delete this._boundPointerEvents) }, i.onmousemove = function (t) { this._pointerMove(t, t) }, i.onpointermove = function (t) { t.pointerId == this.pointerIdentifier && this._pointerMove(t, t) }, i.ontouchmove = function (t) { var e = this.getTouch(t.changedTouches); e && this._pointerMove(t, e) }, i._pointerMove = function (t, e) { this.pointerMove(t, e) }, i.pointerMove = function (t, e) { this.emitEvent("pointerMove", [t, e]) }, i.onmouseup = function (t) { this._pointerUp(t, t) }, i.onpointerup = function (t) { t.pointerId == this.pointerIdentifier && this._pointerUp(t, t) }, i.ontouchend = function (t) { var e = this.getTouch(t.changedTouches); e && this._pointerUp(t, e) }, i._pointerUp = function (t, e) { this._pointerDone(), this.pointerUp(t, e) }, i.pointerUp = function (t, e) { this.emitEvent("pointerUp", [t, e]) }
75, i._pointerDone = function () { this._pointerReset(), this._unbindPostStartEvents(), this.pointerDone() }, i._pointerReset = function () { this.isPointerDown = !1, delete this.pointerIdentifier }, i.pointerDone = function () { }, i.onpointercancel = function (t) { t.pointerId == this.pointerIdentifier && this._pointerCancel(t, t) }, i.ontouchcancel = function (t) { var e = this.getTouch(t.changedTouches); e && this._pointerCancel(t, e) }, i._pointerCancel = function (t, e) { this._pointerDone(), this.pointerCancel(t, e) }, i.pointerCancel = function (t, e) { this.emitEvent("pointerCancel", [t, e]) }, e.getPointerPoint = function (t) { return { x: t.pageX, y: t.pageY } }, e }), function (e, i) { "function" == typeof define && define.amd ? define("unidragger/unidragger", ["unipointer/unipointer"], function (t) { return i(e, t) }) : "object" == typeof module && module.exports ? module.exports = i(e, require("unipointer")) : e.Unidragger = i(e, e.Unipointer) }(window, function (o, t) { function e() { } var i = e.prototype = Object.create(t.prototype); i.bindHandles = function () { this._bindHandles(!0) }, i.unbindHandles = function () { this._bindHandles(!1) }, i._bindHandles = function (t) { for (var e = (t = void 0 === t || t) ? "addEventListener" : "removeEventListener", i = t ? this._touchActionValue : "", n = 0; n < this.handles.length; n++) { var s = this.handles[n]; this._bindStartEvent(s, t), s[e]("click", this), o.PointerEvent && (s.style.touchAction = i) } }, i._touchActionValue = "none", i.pointerDown = function (t, e) { this.okayPointerDown(t) && (this.pointerDownPointer = e, t.preventDefault(), this.pointerDownBlur(), this._bindPostStartEvents(t), this.emitEvent("pointerDown", [t, e])) }; var s = { TEXTAREA: !0, INPUT: !0, SELECT: !0, OPTION: !0 }, r = { radio: !0, checkbox: !0, button: !0, submit: !0, image: !0, file: !0 }; return i.okayPointerDown = function (t) { var e = s[t.target.nodeName], i = r[t.target.type], n = !e || i; return n || this._pointerReset(), n }, i.pointerDownBlur = function () { var t = document.activeElement; t && t.blur && t != document.body && t.blur() }, i.pointerMove = function (t, e) { var i = this._dragPointerMove(t, e); this.emitEvent("pointerMove", [t, e, i]), this._dragMove(t, e, i) }, i._dragPointerMove = function (t, e) { var i = { x: e.pageX - this.pointerDownPointer.pageX, y: e.pageY - this.pointerDownPointer.pageY }; return !this.isDragging && this.hasDragStarted(i) && this._dragStart(t, e), i }, i.hasDragStarted = function (t) { return 3 < Math.abs(t.x) || 3 < Math.abs(t.y) }, i.pointerUp = function (t, e) { this.emitEvent("pointerUp", [t, e]), this._dragPointerUp(t, e) }, i._dragPointerUp = function (t, e) { this.isDragging ? this._dragEnd(t, e) : this._staticClick(t, e) }, i._dragStart = function (t, e) { this.isDragging = !0, this.isPreventing
vendor: 17,502 bytes, line 75
75Clicks = !0, this.dragStart(t, e) }, i.dragStart = function (t, e) { this.emitEvent("dragStart", [t, e]) }, i._dragMove = function (t, e, i) { this.isDragging && this.dragMove(t, e, i) }, i.dragMove = function (t, e, i) { t.preventDefault(), this.emitEvent("dragMove", [t, e, i]) }, i._dragEnd = function (t, e) { this.isDragging = !1, setTimeout(function () { delete this.isPreventingClicks }.bind(this)), this.dragEnd(t, e) }, i.dragEnd = function (t, e) { this.emitEvent("dragEnd", [t, e]) }, i.onclick = function (t) { this.isPreventingClicks && t.preventDefault() }, i._staticClick = function (t, e) { this.isIgnoringMouseUp && "mouseup" == t.type || (this.staticClick(t, e), "mouseup" != t.type && (this.isIgnoringMouseUp = !0, setTimeout(function () { delete this.isIgnoringMouseUp }.bind(this), 400))) }, i.staticClick = function (t, e) { this.emitEvent("staticClick", [t, e]) }, e.getPointerPoint = t.getPointerPoint, e }), function (n, s) { "function" == typeof define && define.amd ? define("flickity/js/drag", ["./flickity", "unidragger/unidragger", "fizzy-ui-utils/utils"], function (t, e, i) { return s(n, t, e, i) }) : "object" == typeof module && module.exports ? module.exports = s(n, require("./flickity"), require("unidragger"), require("fizzy-ui-utils")) : n.Flickity = s(n, n.Flickity, n.Unidragger, n.fizzyUIUtils) }(window, function (i, t, e, a) { a.extend(t.defaults, { draggable: ">1", dragThreshold: 3 }), t.createMethods.push("_createDrag"); var n = t.prototype; a.extend(n, e.prototype), n._touchActionValue = "pan-y"; var s = "createTouch" in document, o = !1; n._createDrag = function () { this.on("activate", this.onActivateDrag), this.on("uiChange", this._uiChangeDrag), this.on("deactivate", this.onDeactivateDrag), this.on("cellChange", this.updateDraggable), s && !o && (i.addEventListener("touchmove", function () { }), o = !0) }, n.onActivateDrag = function () { this.handles = [this.viewport], this.bindHandles(), this.updateDraggable() }, n.onDeactivateDrag = function () { this.unbindHandles(), this.element.classList.remove("is-draggable") }, n.updateDraggable = function () { ">1" == this.options.draggable ? this.isDraggable = 1 < this.slides.length : this.isDraggable = this.options.draggable, this.isDraggable ? this.element.classList.add("is-draggable") : this.element.classList.remove("is-draggable") }, n.bindDrag = function () { this.options.draggable = !0, this.updateDraggable() }, n.unbindDrag = function () { this.options.draggable = !1, this.updateDraggable() }, n._uiChangeDrag = function () { delete this.isFreeScrolling }, n.pointerDown = function (t, e) { this.isDraggable ? this.okayPointerDown(t) && (this._pointerDownPreventDefault(t), this.pointerDownFocus(t), document.activeElement != this.element && this.pointerDownBlur(), this.dragX = this.x, this.viewport.classList.add("is-pointer-down"), this.pointerDownScroll = l(), i.addEventListener("scroll", this), this._pointerDownDefault(t, e)) : this._pointerDownDefault(t, e) }, n._pointerDownDefault = function (t, e) { this.pointerDownPointer = { pageX: e.pageX, pageY: e.pageY }, this._bindPostStartEvents(t), this.dispatchEvent("pointerDown", t, [e]) }; var r = { INPUT: !0, TEXTAREA: !0, SELECT: !0 }; function l() { return { x: i.pageXOffset, y: i.pageYOffset } } return n.pointerDownFocus = function (t) { r[t.target.nodeName] || this.focus() }, n._pointerDownPreventDefault = function (t) { var e = "touchstart" == t.type, i = "touch" == t.pointerType, n = r[t.target.nodeName]; e || i || n || t.preventDefault() }, n.hasDragStarted = function (t) { return Math.abs(t.x) > this.options.dragThreshold }, n.pointerUp = function (t, e) { delete this.isTouchScrolling, this.viewport.classList.remove("is-pointer-down"), this.dispatchEvent("pointerUp", t, [e]), this._dragPointerUp(t, e) }, n.pointerDone = function () { i.removeEventListener("scroll", this), delete this.pointerDownScroll }, n.dragStart = function (t, e) { this.isDraggable && (this.dragStartPosition = this.x, this.startAnimation(), i.removeEventListener("scroll", this), this.dispatchEvent("dragStart", t, [e])) }, n.pointerMove = function (t, e) { var i = this._dragPointerMove(t, e); this.dispatchEvent("pointerMove", t, [e, i]), this._dragMove(t, e, i) }, n.dragMove = function (t, e, i) { if (this.isDraggable) { t.preventDefault(), this.previousDragX = this.dragX; var n = this.options.rightToLeft ? -1 : 1; this.options.wrapAround && (i.x = i.x % this.slideableWidth); var s = this.dragStartPosition + i.x * n; if (!this.options.wrapAround && this.slides.length) { var o = Math.max(-this.slides[0].target, this.dragStartPosition); s = o < s ? .5 * (s + o) : s; var r = Math.min(-this.getLastSlide().target, this.dragStartPosition); s = s < r ? .5 * (s + r) : s } this.dragX = s, this.dragMoveTime = new Date, this.dispatchEvent("dragMove", t, [e, i]) } }, n.dragEnd = function (t, e) { if (this.isDraggable) { this.options.freeScroll && (this.isFreeScrolling = !0); var i = this.dragEndRestingSelect(); if (this.options.freeScroll && !this.options.wrapAround) { var n = this.getRestingPosition(); this.isFreeScrolling = -n > this.slides[0].target && -n < this.getLastSlide().target } else this.options.freeScroll || i != this.selectedIndex || (i += this.dragEndBoostSelect()); delete this.previousDragX, this.isDragSelect = this.options.wrapAround, this.select(i), delete this.isDragSelect, this.dispatchEvent("dragEnd", t, [e]) } }, n.dragEndRestingSelect = function () { var t = this.getRestingPosition(), e = Math.abs(this.getSlideDistance(-t, this.selectedIndex)), i = this._getClosestResting(t, e, 1), n = this._getClosestResting(t, e, -1); return i.distance < n.distance ? i.index : n.index }, n._getClosestResting = function (t, e, i) { for (var n = this.selectedIndex, s = 1 / 0, o = this.options.contain && !this.options.wrapAround ? function (t, e) { return t <= e } : function (t, e) { return t < e }; o(e, s) && (n += i, s = e, null !== (e = this.getSlideDistance(-t, n)));)e = Math.abs(e); return { distance: s, index: n - i } }, n.getSlideDistance = function (t, e) { var i = this.slides.length, n = this.options.wrapAround && 1 < i, s = n ? a.modulo(e, i) : e, o = this.slides[s]; if (!o) return null; var r = n ? this.slideableWidth * Math.floor(e / i) : 0; return t - (o.target + r) }, n.dragEndBoostSelect = function () { if (void 0 === this.previousDragX || !this.dragMoveTime || 100 < new Date - this.dragMoveTime) return 0; var t = this.getSlideDistance(-this.dragX, this.selectedIndex), e = this.previousDragX - this.dragX; return 0 < t && 0 < e ? 1 : t < 0 && e < 0 ? -1 : 0 }, n.staticClick = function (t, e) { var i = this.getParentCell(t.target), n = i && i.element, s = i && this.cells.indexOf(i); this.dispatchEvent("staticClick", t, [e, n, s]) }, n.onscroll = function () { var t = l(), e = this.pointerDownScroll.x - t.x, i = this.pointerDownScroll.y - t.y; (3 < Math.abs(e) || 3 < Math.abs(i)) && this._pointerDone() }, t }), function (n, s) { "function" == typeof define && define.amd ? define("flickity/js/prev-next-button", ["./flickity", "unipointer/unipointer", "fizzy-ui-utils/utils"], function (t, e, i) { return s(n, t, e, i) }) : "object" == typeof module && module.exports ? module.exports = s(n, require("./flickity"), require("unipointer"), require("fizzy-ui-utils")) : s(n, n.Flickity, n.Unipointer, n.fizzyUIUtils) }(window, function (t, e, i, n) { "use strict"; var s = "http://www.w3.org/2000/svg"; function o(t, e) { this.direction = t, this.parent = e, this._create() } (o.prototype = Object.create(i.prototype))._create = function () { this.isEnabled = !0, this.isPrevious = -1 == this.direction; var t = this.parent.options.rightToLeft ? 1 : -1; this.isLeft = this.direction == t; var e = this.element = document.createElement("button"); e.className = "flickity-button flickity-prev-next-button", e.className += this.isPrevious ? " previous" : " next", e.setAttribute("type", "button"), this.disable(), e.setAttribute("aria-label", this.isPrevious ? "Previous" : "Next"); var i = this.createSVG(); e.appendChild(i), this.parent.on("select", this.update.bind(this)), this.on("pointerDown", this.parent.childUIPointerDown.bind(this.parent)) }, o.prototype.activate = function () { this.bindStartEvent(this.element), this.element.addEventListener("click", this), this.parent.element.appendChild(this.element) }, o.prototype.deactivate = function () { this.parent.element.removeChild(this.element), this.unbindStartEvent(this.element), this.element.removeEventListener("click", this) }, o.prototype.createSVG = function () { var t = document.createElementNS(s, "svg"); t.setAttribute("class", "flickity-button-icon"), t.setAttribute("viewBox", "0 0 100 100"); var e = document.createElementNS(s, "path"), i = function (t) { return "string" != typeof t ? "M " + t.x0 + ",50 L " + t.x1 + "," + (t.y1 + 50) + " L " + t.x2 + "," + (t.y2 + 50) + " L " + t.x3 + ",50  L " + t.x2 + "," + (50 - t.y2) + " L " + t.x1 + "," + (50 - t.y1) + " Z" : t }(this.parent.options.arrowShape); return e.setAttribute("d", i), e.setAttribute("class", "arrow"), this.isLeft || e.setAttribute("transform", "translate(100, 100) rotate(180) "), t.appendChild(e), t }, o.prototype.handleEvent = n.handleEvent, o.prototype.onclick = function () { if (this.isEnabled) { this.parent.uiChange(); var t = this.isPrevious ? "previous" : "next"; this.parent[t]() } }, o.prototype.enable = function () { this.isEnabled || (this.element.disabled = !1, this.isEnabled = !0) }, o.prototype.disable = function () { this.isEnabled && (this.element.disabled = !0, this.isEnabled = !1) }, o.prototype.update = function () { var t = this.parent.slides; if (this.parent.options.wrapAround && 1 < t.length) this.enable(); else { var e = t.length ? t.length - 1 : 0, i = this.isPrevious ? 0 : e; this[this.parent.selectedIndex == i ? "disable" : "enable"]() } }, o.prototype.destroy = function () { this.deactivate(), this.allOff() }, n.extend(e.defaults, { prevNextButtons: !0, arrowShape: { x0: 10, x1: 60, y1: 50, x2: 70, y2: 40, x3: 30 } }), e.createMethods.push("_createPrevNextButtons"); var r = e.prototype; return r._createPrevNextButtons = function () { this.options.prevNextButtons && (this.prevButton = new o(-1, this), this.nextButton = new o(1, this), this.on("activate", this.activatePrevNextButtons)) }, r.activatePrevNextButtons = function () { this.prevButton.activate(), this.nextButton.activate(), this.on("deactivate", this.deactivatePrevNextButtons) }, r.deactivatePrevNextButtons = function () { this.prevButton.deactivate(), this.nextButton.deactivate(), this.off("deactivate", this.deactivatePrevNextButtons) }, e.PrevNextButton = o, e }), function (n, s) { "function" == typeof define && define.amd ? define("flickity/js/page-dots", ["./flickity", "unipointer/unipointer", "fizzy-ui-utils/utils"], function (t, e, i) { return s(n, t, e, i) }) : "object" == typeof module && module.exports ? module.exports = s(n, require("./flickity"), require("unipointer"), require("fizzy-ui-utils")) : s(n, n.Flickity, n.Unipointer, n.fizzyUIUtils) }(window, function (t, e, i, n) { function s(t) { this.parent = t, this._create() } (s.prototype = Object.create(i.prototype))._create = function () { this.holder = document.createElement("ol"), this.holder.className = "flickity-page-dots", this.dots = [], this.handleClick = this.onClick.bind(this), this.on("pointerDown", this.parent.childUIPointerDown.bind(this.parent)) }, s.prototype.activate = function () { this.setDots(), this.holder.addEventListener("click", this.handleClick), this.bindStartEvent(this.holder), this.parent.element.appendChild(this.holder) }, s.prototype.deactivate = function () { this.holder.removeEventListener("click", this.handleClick), this.unbindStartEvent(this.holder), this.parent.element.removeChild(this.holder) }, s.prototype.setDots = function () { var t = this.parent.slides.length - this.dots.length; 0 < t ? this.addDots(t) : t < 0 && this.removeDots(-t) }, s.prototype.addDots = function (t) { for (var e = document.createDocumentFragment(), i = [], n = this.dots.length, s = n + t, o = n; o < s; o++) { var r = document.createElement("li"); r.className = "dot", r.setAttribute("aria-label", "Page dot " + (o + 1)), e.appendChild(r), i.push(r) } this.holder.appendChild(e), this.dots = this.dots.concat(i) }, s.prototype.removeDots = function (t) { this.dots.splice(this.dots.length - t, t).forEach(function (t) { this.holder.removeChild(t) }, this) }, s.prototype.updateSelected = function () { this.selectedDot && (this.selectedDot.className = "dot", this.selectedDot.removeAttribute("aria-current")), this.dots.length && (this.selectedDot = this.dots[this.parent.selectedIndex], this.selectedDot.className = "dot is-selected", this.selectedDot.setAttribute("aria-current", "step")) }, s.prototype.onTap = s.prototype.onClick = function (t) { var e = t.target; if ("LI" == e.nodeName) { this.parent.uiChange(); var i = this.dots.indexOf(e); this.parent.select(i) } }, s.prototype.destroy = function () { this.deactivate(), this.allOff() }, e.PageDots = s, n.extend(e.defaults, { pageDots: !0 }), e.createMethods.push("_createPageDots"); var o = e.prototype; return o._createPageDots = function () { this.options.pageDots && (this.pageDots = new s(this), this.on("activate", this.activatePageDots), this.on("select", this.updateSelectedPageDots), this.on("cellChange", this.updatePageDots), this.on("resize", this.updatePageDots), this.on("deactivate", this.deactivatePageDots)) }, o.activatePageDots = function () { this.pageDots.activate() }, o.updateSelectedPageDots = function () { this.pageDots.updateSelected() }, o.updatePageDots = function () { this.pageDots.setDots() }, o.deactivatePageDots = function () { this.pageDots.deactivate() }, e.PageDots = s, e }), function (t, n) { "function" == typeof define && define.amd ? define("flickity/js/player", ["ev-emitter/ev-emitter", "fizzy-ui-utils/utils", "./flickity"], function (t, e, i) { return n(t, e, i) }) : "object" == typeof module && module.exports ? module.exports = n(require("ev-emitter"), require("fizzy-ui-utils"), require("./flickity")) : n(t.EvEmitter, t.fizzyUIUtils, t.Flickity) }(window, function (t, e, i) { function n(t) { this.parent = t, this.state = "stopped", this.onVisibilityChange = this.visibilityChange.bind(this), this.onVisibilityPlay = this.visibilityPlay.bind(this) } (n.prototype = Object.create(t.prototype)).play = function () { "playing" != this.state && (document.hidden ? document.addEventListener("visibilitychange", this.onVisibilityPlay) : (this.state = "playing", document.addEventListener("visibilitychange", this.onVisibilityChange), this.tick())) }, n.prototype.tick = function () { if ("playing" == this.state) { var t = this.parent.options.autoPlay; t = "number" == typeof t ? t : 3e3; var e = this; this.clear(), this.timeout = setTimeout(function () { e.parent.next(!0), e.tick() }, t) } }, n.prototype.stop = function () { this.state = "stopped", this.clear(), document.removeEventListener("visibilitychange", this.onVisibilityChange) }, n.prototype.clear = function () { clearTimeout(this.timeout) }, n.prototype.pause = function () { "playing" == this.state && (this.state = "paused", this.clear()) }, n.prototype.unpause = function () { "paused" == this.state && this.play() }, n.prototype.visibilityChange = function () { this[document.hidden ? "pause" : "unpause"]() }, n.prototype.visibilityPlay = function () { this.play(), document.removeEventListener("visibilitychange", this.onVisibilityPlay) }, e.extend(i.defaults, { pauseAutoPlayOnHover: !0 }), i.createMethods.push("_createPlayer"); var s = i.prototype; return s._createPlayer = function () { this.player = new n(this), this.on("activate", this.activatePlayer), this.on("uiChange", this.stopPlayer), this.on("pointerDown", this.stopPlayer), this.on("deactivate", this.deactivatePlayer) }, s.activatePlayer = function () { this.options.autoPlay && (this.player.play(), this.element.addEventListener("mouseenter", this)) }, s.playPlayer = function () { this.player.play() }, s.stopPlayer = function () { this.player.stop() }, s.pausePlayer = function () { this.player.pause() }, s.unpausePlayer = function () { this.player.unpause() }, s.deactivatePlayer = function () { this.player.stop(), this.element.removeEventListener("mouseenter", this) }, s.onmouseenter = function () { this.options.pauseAutoPlayOnHover && (this.player.pause(), this.element.addEventListener("mouseleave", this)) }, s.onmouseleave = function () { this.player.unpause(), this.element.removeEventListener("mouseleave", this) }, i.Player = n, i }), function (i, n) { "function" == typeof define && define.amd ? define("flickity/js/add-remove-cell", ["./flickity", "fizzy-ui-utils/utils"], function (t, e) { return n(i, t, e) }) : "object" == typeof module && module.exports ? module.exports = n(i, require("./flickity"), require("fizzy-ui-utils")) : n(i, i.Flickity, i.fizzyUIUtils) }(window, function (t, e, n) { var i = e.prototype; return i.insert = function (t, e) { var i = this._makeCells(t); if (i && i.length) { var n = this.cells.length; e = void 0 === e ? n : e; var s = function (t) { var e = document.createDocumentFragment(); return t.forEach(function (t) { e.appendChild(t.element) }), e }(i), o = e == n; if (o) this.slider.appendChild(s); else { var r = this.cells[e].element; this.slider.insertBefore(s, r) } if (0 === e) this.cells = i.concat(this.cells); else if (o) this.cells = this.cells.concat(i); else { var a = this.cells.splice(e, n - e);
75 this.cells = this.cells.concat(i).concat(a) } this._sizeCells(i), this.cellChange(e, !0) } }, i.append = function (t) { this.insert(t, this.cells.length) }, i.prepend = function (t) { this.insert(t, 0) }, i.remove = function (t) { var e = this.getCells(t); if (e && e.length) { var i = this.cells.length - 1; e.forEach(function (t) { t.remove(); var e = this.cells.indexOf(t); i = Math.min(e, i), n.removeFrom(this.cells, t) }, this), this.cellChange(i, !0) } }, i.cellSizeChange = function (t) { var e = this.getCell(t); if (e) { e.getSize(); var i = this.cells.indexOf(e); this.cellChange(i) } }, i.cellChange = function (t, e) { var i = this.selectedElement; this._positionCells(t), this._getWrapShiftCells(), this.setGallerySize(); var n = this.getCell(i); n && (this.selectedIndex = this.getCellSlideIndex(n)), this.selectedIndex = Math.min(this.slides.length - 1, this.selectedIndex), this.emitEvent("cellChange", [t]), this.select(this.selectedIndex), e && this.positionSliderAtSelected() }, e }), function (i, n) { "function" == typeof define && define.amd ? define("flickity/js/lazyload", ["./flickity", "fizzy-ui-utils/utils"], function (t, e) { return n(i, t, e) }) : "object" == typeof module && module.exports ? module.exports = n(i, require("./flickity"), require("fizzy-ui-utils")) : n(i, i.Flickity, i.fizzyUIUtils) }(window, function (t, e, o) { "use strict"; e.createMethods.push("_createLazyload"); var i = e.prototype; function s(t, e) { this.img = t, this.flickity = e, this.load() } return i._createLazyload = function () { this.on("select", this.lazyLoad) }, i.lazyLoad = function () { var t = this.options.lazyLoad; if (t) { var e = "number" == typeof t ? t : 0, i = this.getAdjacentCellElements(e), n = []; i.forEach(function (t) { var e = function (t) { if ("IMG" == t.nodeName) { var e = t.getAttribute("data-flickity-lazyload"), i = t.getAttribute("data-flickity-lazyload-src"), n = t.getAttribute("data-flickity-lazyload-srcset"); if (e || i || n) return [t] } var s = t.querySelectorAll("img[data-flickity-lazyload], img[data-flickity-lazyload-src], img[data-flickity-lazyload-srcset]"); return o.makeArray(s) }(t); n = n.concat(e) }), n.forEach(function (t) { new s(t, this) }, this) } }, s.prototype.handleEvent = o.handleEvent, s.prototype.load = function () { this.img.addEventListener("load", this), this.img.addEventListener("error", this); var t = this.img.getAttribute("data-flickity-lazyload") || this.img.getAttribute("data-flickity-lazyload-src"), e = this.img.getAttribute("data-flickity-lazyload-srcset"); this.img.src = t, e && this.img.setAttribute("srcset", e), this.img.removeAttribute("data-flickity-lazyload"), this.img.removeAttribute("data-flickity-lazyload-src"), this.img.removeAttribute("data-flickity-lazyload-srcset") }, s.prototype.onload = function (t) { this.complete(t, "flickity-lazyloaded") }, s.prototype.onerror = function (t) { this.complete(t, "flickity-lazyerror") }, s.prototype.complete = function (t, e) { this.img.removeEventListener("load", this), this.img.removeEventListener("error", this); var i = this.flickity.getParentCell(this.img), n = i && i.element; this.flickity.cellSizeChange(n), this.img.classList.add(e), this.flickity.dispatchEvent("lazyLoad", t, n) }, e.LazyLoader = s, e }), function (t, e) { "function" == typeof define && define.amd ? define("flickity/js/index", ["./flickity", "./drag", "./prev-next-button", "./page-dots", "./player", "./add-remove-cell", "./lazyload"], e) : "object" == typeof module && module.exports && (module.exports = e(require("./flickity"), require("./drag"), require("./prev-next-button"), require("./page-dots"), require("./player"), require("./add-remove-cell"), require("./lazyload"))) }(window, function (t) { return t }), function (t, e) { "function" == typeof define && define.amd ? define("flickity-as-nav-for/as-nav-for", ["flickity/js/index", "fizzy-ui-utils/utils"], e) : "object" == typeof module && module.exports ? module.exports = e(require("flickity"), require("fizzy-ui-utils")) : t.Flickity = e(t.Flickity, t.fizzyUIUtils) }(window, function (n, s) { n.createMethods.push("_createAsNavFor"); var t = n.prototype; return t._createAsNavFor = function () { this.on("activate", this.activateAsNavFor), this.on("deactivate", this.deactivateAsNavFor), this.on("destroy", this.destroyAsNavFor); var t = this.options.asNavFor; if (t) { var e = this; setTimeout(function () { e.setNavCompanion(t) }) } }, t.setNavCompanion = function (t) { t = s.getQueryElement(t); var e = n.data(t); if (e && e != this) { this.navCompanion = e; var i = this; this.onNavCompanionSelect = function () { i.navCompanionSelect() }, e.on("select", this.onNavCompanionSelect), this.on("staticClick", this.onNavStaticClick), this.navCompanionSelect(!0) } }, t.navCompanionSelect = function (t) { var e = this.navCompanion && this.navCompanion.selectedCells; if (e) { var i = e[0], n = this.navCompanion.cells.indexOf(i), s = n + e.length - 1, o = Math.floor(function (t, e, i) { return (e - t) * i + t }(n, s, this.navCompanion.cellAlign)); if (this.selectCell(o, !1, t), this.removeNavSelectedElements(), !(o >= this.cells.length)) { var r = this.cells.slice(n, 1 + s); this.navSelectedElements = r.map(function (t) { return t.element }), this.changeNavSelectedClass("add") } } }, t.changeNavSelectedClass = function (e) { this.navSelectedElements.forEac
75h(function (t) { t.classList[e]("is-nav-selected") }) }, t.activateAsNavFor = function () { this.navCompanionSelect(!0) }, t.removeNavSelectedElements = function () { this.navSelectedElements && (this.changeNavSelectedClass("remove"), delete this.navSelectedElements) }, t.onNavStaticClick = function (t, e, i, n) { "number" == typeof n && this.navCompanion.selectCell(n) }, t.deactivateAsNavFor = function () { this.removeNavSelectedElements() }, t.destroyAsNavFor = function () { this.navCompanion && (this.navCompanion.off("select", this.onNavCompanionSelect), this.off("staticClick", this.onNavStaticClick), delete this.navCompanion) }, n }), function (e, i) { "use strict"; "function" == typeof define && define.amd ? define("imagesloaded/imagesloaded", ["ev-emitter/ev-emitter"], function (t) { return i(e, t) }) : "object" == typeof module && module.exports ? module.exports = i(e, require("ev-emitter")) : e.imagesLoaded = i(e, e.EvEmitter) }("undefined" != typeof window ? window : this, function (e, t) { var s = e.jQuery, o = e.console; function r(t, e) { for (var i in e) t[i] = e[i]; return t } var a = Array.prototype.slice; function l(t, e, i) { if (!(this instanceof l)) return new l(t, e, i); var n = t; "string" == typeof t && (n = document.querySelectorAll(t)), n ? (this.elements = function (t) { return Array.isArray(t) ? t : "object" == typeof t && "number" == typeof t.length ? a.call(t) : [t] }(n), this.options = r({}, this.options), "function" == typeof e ? i = e : r(this.options, e), i && this.on("always", i), this.getImages(), s && (this.jqDeferred = new s.Deferred), setTimeout(this.check.bind(this))) : o.error("Bad element for imagesLoaded " + (n || t)) } (l.prototype = Object.create(t.prototype)).options = {}, l.prototype.getImages = function () { this.images = [], this.elements.forEach(this.addElementImages, this) }, l.prototype.addElementImages = function (t) { "IMG" == t.nodeName && this.addImage(t), !0 === this.options.background && this.addElementBackgroundImages(t); var e = t.nodeType; if (e && h[e]) { for (var i = t.querySelectorAll("img"), n = 0; n < i.length; n++) { var s = i[n]; this.addImage(s) } if ("string" == typeof this.options.background) { var o = t.querySelectorAll(this.options.background); for (n = 0; n < o.length; n++) { var r = o[n]; this.addElementBackgroundImages(r) } } } }; var h = { 1: !0, 9: !0, 11: !0 }; function i(t) { this.img = t } function n(t, e) { this.url = t, this.element = e, this.img = new Image } return l.prototype.addElementBackgroundImages = function (t) { var e = getComputedStyle(t); if (e) for (var i = /url\((['"])?(.*?)\1\)/gi, n = i.exec(e.backgroundImage); null !== n;) { var s = n && n[2]; s && this.addBackground(s, t), n = i.exec(e.backgroundImage) } }, l.prototype.addImage = function (t) { var e = new i(t); this.images.push(e) }, l.prototype.addBackground = function (t, e) { var i = new n(t, e); this.images.push(i) }, l.prototype.check = function () { var n = this; function e(t, e, i) { setTimeout(function () { n.progress(t, e, i) }) } this.progressedCount = 0, this.hasAnyBroken = !1, this.images.length ? this.images.forEach(function (t) { t.once("progress", e), t.check() }) : this.complete() }, l.prototype.progress = function (t, e, i) { this.progressedCount++, this.hasAnyBroken = this.hasAnyBroken || !t.isLoaded, this.emitEvent("progress", [this, t, e]), this.jqDeferred && this.jqDeferred.notify && this.jqDeferred.notify(this, t), this.progressedCount == this.images.length && this.complete(), this.options.debug && o && o.log("progress: " + i, t, e) }, l.prototype.complete = function () { var t = this.hasAnyBroken ? "fail" : "done"; if (this.isComplete = !0, this.emitEvent(t, [this]), this.emitEvent("always", [this]), this.jqDeferred) { var e = this.hasAnyBroken ? "reject" : "resolve"; this.jqDeferred[e](this) } }, (i.prototype = Object.create(t.prototype)).check = function () { this.getIsImageComplete() ? this.confirm(0 !== this.img.naturalWidth, "naturalWidth") : (this.proxyImage = new Image, this.proxyImage.addEventListener("load", this), this.proxyImage.addEventListener("error", this), this.img.addEventListener("load", this), this.img.addEventListener("error", this), this.proxyImage.src = this.img.src) }, i.prototype.getIsImageComplete = function () { return this.img.complete && this.img.naturalWi
75dth }, i.prototype.confirm = function (t, e) { this.isLoaded = t, this.emitEvent("progress", [this, this.img, e]) }, i.prototype.handleEvent = function (t) { var e = "on" + t.type; this[e] && this[e](t) }, i.prototype.onload = function () { this.confirm(!0, "onload"), this.unbindEvents() }, i.prototype.onerror = function () { this.confirm(!1, "onerror"), this.unbindEvents() }, i.prototype.unbindEvents = function () { this.proxyImage.removeEventListener("load", this), this.proxyImage.removeEventListener("error", this), this.img.removeEventListener("load", this), this.img.removeEventListener("error", this) }, (n.prototype = Object.create(i.prototype)).check = function () { this.img.addEventListener("load", this), this.img.addEventListener("error", this), this.img.src = this.url, this.getIsImageComplete() && (this.confirm(0 !== this.img.naturalWidth, "naturalWidth"), this.unbindEvents()) }, n.prototype.unbindEvents = function () { this.img.removeEventListener("load", this), this.img.removeEventListener("error", this) }, n.prototype.confirm = function (t, e) { this.isLoaded = t, this.emitEvent("progress", [this, this.element, e]) }, l.makeJQueryPlugin = function (t) { (t = t || e.jQuery) && ((s = t).fn.imagesLoaded = function (t, e) { return new l(this, t, e).jqDeferred.promise(s(this)) }) }, l.makeJQueryPlugin(), l }), function (i, n) { "function" == typeof define && define.amd ? define(["flickity/js/index", "imagesloaded/imagesloaded"], function (t, e) { return n(i, t, e) }) : "object" == typeof module && module.exports ? module.exports = n(i, require("flickity"), require("imagesloaded")) : i.Flickity = n(i, i.Flickity, i.imagesLoaded) }(window, function (t, e, i) { "use strict"; e.createMethods.push("_createImagesLoaded"); var n = e.prototype; return n._createImagesLoaded = function () { this.on("activate", this.imagesLoaded) }, n.imagesLoaded = function () { if (this.options.imagesLoaded) { var n = this; i(this.slider).on("progress", function (t, e) { var i = n.getParentCell(e.img); n.cellSizeChange(i && i.element), n.options.freeScroll || n.positionSliderAtSelected() }) } }, e });
76/*End flickity */
77/**flickity fullscreen*/
78/*!
79 * Flickity fullscreen v1.1.1
80 * Enable fullscreen view for Flickity
81 */
82
83/*jshint browser: true, undef: true, unused: true, strict: true*/
84
85(function (window, factory) {
86    // universal module definition
87    /*jshint strict: false */ /*globals define, module, require */
88    if (typeof define == 'function' && define.amd) {
89        // AMD
90        define([
91            'flickity/js/index',
92        ], factory);
93    } else if (typeof module == 'object' && module.exports) {
94        // CommonJS
95        module.exports = factory(
96            require('flickity')
97        );
98    } else {
99        // browser global
100        factory(
101            window.Flickity
102        );
103    }
104
105}(window, function factory(Flickity) {
106
107    'use strict';
108
109    Flickity.createMethods.push('_createFullscreen');
110    var proto = Flickity.prototype;
111
112
113    proto._createFullscreen = function () {
114        this.isFullscreen = false;
115
116        if (!this.options.fullscreen) {
117            return;
118        }
119        // buttons
120        this.viewFullscreenButton = new FullscreenButton('view', this);
121        this.exitFullscreenButton = new FullscreenButton('exit', this);
122
123        this.on('activate', this._changeFullscreenActive);
124        this.on('deactivate', this._changeFullscreenActive);
125    };
126
127    // ----- activation ----- //
128
129    proto._changeFullscreenActive = function () {
130        var childMethod = this.isActive ? 'appendChild' : 'removeChild';
131        this.element[childMethod](this.viewFullscreenButton.element);
132        this.element[childMethod](this.exitFullscreenButton.element);
133        // activate or deactivate buttons
134        var activeMethod = this.isActive ? 'activate' : 'deactivate';
135        this.viewFullscreenButton[activeMethod]();
136        this.exitFullscreenButton[activeMethod]();
137    };
138
139    // ----- view, exit, toggle ----- //
140
141    proto.viewFullscreen = function () {
142        this._changeFullscreen(true);
143        this.focus();
144    };
145
146    proto.exitFullscreen = function () {
147        this._changeFullscreen(false);
148    };
149
150    proto._changeFullscreen = function (isView) {
151        if (this.isFullscreen == isView) {
152            return;
153        }
154        this.isFullscreen = isView;
155        var classMethod = isView ? 'add' : 'remove';
156        document.documentElement.classList[classMethod]('is-flickity-fullscreen');
157        this.element.classList[classMethod]('is-fullscreen');
158        this.resize();
159        // HACK extra reposition on fullscreen for images
160        if (this.isFullscreen) {
161            this.reposition();
162        }
163        this.dispatchEvent('fullscreenChange', null, [isView]);
164    };
165
166    proto.toggleFullscreen = function () {
167        this._changeFullscreen(!this.isFullscreen);
168    };
169
170    // ----- setGallerySize ----- //
171
172    // overwrite so fullscreen cells are full height
173    var setGallerySize = proto.setGallerySize;
174    proto.setGallerySize = function () {
175        if (!this.options.setGallerySize) {
176            return;
177        }
178        if (this.isFullscreen) {
179            // remove height style on fullscreen
180            this.viewport.style.height = '';
181        } else {
182            // otherwise, do normal
183            setGallerySize.call(this);
184        }
185    };
186
187    // ----- keyboard ----- //
188
189    // ESC key closes full screen
190    Flickity.keyboardHandlers[27] = function () {
191        this.exitFullscreen();
192    };
193
194    // ----- FullscreenButton ----- //
195
196    function FullscreenButton(name, flickity) {
197        this.name = name;
198        this.createButton();
199        this.createIcon();
200        // events
201        // trigger viewFullscreen or exitFullscreen on click
202        this.onClick = function () {
203            flickity[name + 'Fullscreen']();
204        };
205        this.clickHandler = this.onClick.bind(this);
206    }
207
208    FullscreenButton.prototype.createButton = function () {
209        var element = this.element = document.createElement('button');
210        element.className = 'flickity-button flickity-fullscreen-button ' +
211            'flickity-fullscreen-button-' + this.name;
212        // prevent button from submitting form
213        element.setAttribute('type', 'button');
214        // set label
215        var label = capitalize(this.name + ' full-screen');
216        element.setAttribute('aria-label', label);
217        element.title = label;
218    };
219
220    function capitalize(text) {
221        return text[0].toUpperCase() + text.slice(1);
222    }
223
224    var svgURI = 'http://www.w3.org/2000/svg';
225
226    var pathDirections = {
227        view: 'M15,20,7,28h5v4H0V20H4v5l8-8Zm5-5,8-8v5h4V0H20V4h5l-8,8Z',
228        exit: 'M32,3l-7,7h5v4H18V2h4V7l7-7ZM3,32l7-7v5h4V18H2v4H7L0,29Z',
229    };
230
231    FullscreenButton.prototype.createIcon = function () {
232        var svg = document.createElementNS(svgURI, 'svg');
233        svg.setAttribute('class', 'flickity-button-icon');
234        svg.setAttribute('viewBox', '0 0 32 32');
235        // path & direction
236        var path = document.createElementNS(svgURI, 'path');
237        var direction = pathDirections[this.name];
238        path.setAttribute('d', direction);
239        // put it together
240        svg.appendChild(path);
241        this.element.appendChild(svg);
242    };
243
244    FullscreenButton.prototype.activate = function () {
245        this.element.addEventListener('click', this.clickHandler);
246    };
247
248    FullscreenButton.prototype.deactivate = function () {
249        this.element.removeEventListener('click', this.clickHandler);
250    };
251
252    Flickity.FullscreenButton = FullscreenButton;
253
254    // ----- fin ----- //
255
256    return Flickity;
257
258}));
259/*END flickity fullscreen*/
260
261/*!
262 * Bootstrap-select v1.12.4 (http://silviomoreto.github.io/bootstrap-select)
263 *
264 * Copyright 2013-2017 bootstrap-select
265 * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE)
266 */
267(function (n, t) { typeof define == "function" && define.amd ? define(["jquery"], function (n) { return t(n) }) : typeof module == "object" && module.exports ? module.exports = t(require("jquery")) : t(n.jQuery) })(this, function (n) { (function (n) { "use strict"; function e(t) { return n.each([{ re: /[\xC0-\xC6]/g, ch: "A" }, { re: /[\xE0-\xE6]/g, ch: "a" }, { re: /[\xC8-\xCB]/g, ch: "E" }, { re: /[\xE8-\xEB]/g, ch: "e" }, { re: /[\xCC-\xCF]/g, ch: "I" }, { re: /[\xEC-\xEF]/g, ch: "i" }, { re: /[\xD2-\xD6]/g, ch: "O" }, { re: /[\xF2-\xF6]/g, ch: "o" }, { re: /[\xD9-\xDC]/g, ch: "U" }, { re: /[\xF9-\xFC]/g, ch: "u" }, { re: /[\xC7-\xE7]/g, ch: "c" }, { re: /[\xD1]/g, ch: "N" }, { re: /[\xF1]/g, ch: "n" }], function () { t = t ? t.replace(this.re, this.ch) : "" }), t } function s(i) { var f = arguments, r = i, u, e; return [].shift.apply(f), e = this.each(function () { var o = n(this), i, e, h, s; if (o.is("select")) { if (i = o.data("selectpicker"), e = typeof r == "object" && r, i) { if (e) for (s in e) e.hasOwnProperty(s) && (i.options[s] = e[s]) } else h = n.extend({}, t.DEFAULTS, n.fn.selectpicker.defaults || {}, o.data(), e), h.template = n.extend({}, t.DEFAULTS.template, n.fn.selectpicker.defaults ? n.fn.selectpicker.defaults.template : {}, o.data().template, e.template), o.data("selectpicker", i = new t(this, h)); typeof r == "string" && (u = i[r] instanceof Function ? i[r].apply(i, f) : i.options[r]) } }), typeof u != "undefined" ? u : e } var i, u, f, h; String.prototype.includes || function () { var i = {}.toString, n = function () { try { var n = {}, t = Object.defineProperty, i = t(n, n, n) && t } catch (r) { } return i }(), r = "".indexOf, t = function (n) { var u, s; if (this == null) throw new TypeError; if (u = String(this), n && i.call(n) == "[object RegExp]") throw new TypeError; var f = u.length, e = String(n), h = e.length, o = arguments.length > 1 ? arguments[1] : undefined, t = o ? Number(o) : 0; return (t != t && (t = 0), s = Math.min(Math.max(t, 0), f), h + s > f) ? !1 : r.call(u, e, t) != -1 }; n ? n(String.prototype, "includes", { value: t, configurable: !0, writable: !0 }) : String.prototype.includes = t }();
267 String.prototype.startsWith || function () { var n = function () { try { var n = {}, t = Object.defineProperty, i = t(n, n, n) && t } catch (r) { } return i }(), i = {}.toString, t = function (n) { var u, f, r; if (this == null) throw new TypeError; if (u = String(this), n && i.call(n) == "[object RegExp]") throw new TypeError; var e = u.length, o = String(n), s = o.length, h = arguments.length > 1 ? arguments[1] : undefined, t = h ? Number(h) : 0; if (t != t && (t = 0), f = Math.min(Math.max(t, 0), e), s + f > e) return !1; for (r = -1; ++r < s;) if (u.charCodeAt(f + r) != o.charCodeAt(r)) return !1; return !0 }; n ? n(String.prototype, "startsWith", { value: t, configurable: !0, writable: !0 }) : String.prototype.startsWith = t }(); Object.keys || (Object.keys = function (n, t, i) { i = []; for (t in n) i.hasOwnProperty.call(n, t) && i.push(t); return i }); i = { useDefault: !1, _set: n.valHooks.select.set }; n.valHooks.select.set = function (t, r) { return r && !i.useDefault && n(t).data("selected", !0), i._set.apply(this, arguments) }; u = null; f = function () { try { return new Event("change"), !0 } catch (n) { return !1 } }(); n.fn.triggerNative = function (n) { var i = this[0], t; i.dispatchEvent ? (f ? t = new Event(n, { bubbles: !0 }) : (t = document.createEvent("Event"), t.initEvent(n, !0, !1)), i.dispatchEvent(t)) : i.fireEvent ? (t = document.createEventObject(), t.eventType = n, i.fireEvent("on" + n, t)) : this.trigger(n) }; n.expr.pseudos.icontains = function (t, i, r) { var u = n(t).find("a"), f = (u.data("tokens") || u.text()).toString().toUpperCase(); return f.includes(r[3].toUpperCase()) }; n.expr.pseudos.ibegins = function (t, i, r) { var u = n(t).find("a"), f = (u.data("tokens") || u.text()).toString().toUpperCase(); return f.startsWith(r[3].toUpperCase()) }; n.expr.pseudos.aicontains = function (t, i, r) { var u = n(t).find("a"), f = (u.data("tokens") || u.data("normalizedText") || u.text()).toString().toUpperCase(); return f.includes(r[3].toUpperCase()) }; n.expr.pseudos.aibegins = function (t, i, r) { var u = n(t).find("a"), f = (u.data("tokens") || u.data("normalizedText") || u.text()).toString().toUpperCase(); return f.startsWith(r[3].toUpperCase()) }; var o = function (n) { var i = function (t) { return n[t] }, t = "(?:" + Object.keys(n).join("|") + ")", r = RegExp(t), u = RegExp(t, "g"); return function (n) { return n = n == null ? "" : "" + n, r.test(n) ? n.replace(u, i) : n } }, r = o({ "&": "&amp;", "<": "&lt;", ">": "&gt;", '"': "&quot;", "'": "&#x27;", "`": "&#x60;" }), c = o({ "&amp;": "&", "&lt;": "<", "&gt;": ">", "&quot;": '"', "&#x27;": "'", "&#x60;": "`" }), t = function (r, u) { i.useDefault || (n.valHooks.select.set = i._set, i.useDefault = !0); this.$element = n(r); this.$newElement = null; this.$button = null; this.$menu = null; this.$lis = null; this.options = u; this.options.title === null && (this.options.title = this.$element.attr("title")); var f = this.options.windowPadding; typeof f == "number" && (this.options.windowPadding = [f, f, f, f]); this.val = t.prototype.val; this.render = t.prototype.render; this.refresh = t.prototype.refresh; this.setStyle = t.prototype.setStyle; this.selectAll = t.prototype.selectAll; this.deselectAll = t.prototype.deselectAll; this.destroy = t.prototype.destroy; this.remove = t.prototype.remove; this.show = t.prototype.show; this.hide = t.prototype.hide; this.init() }; t.VERSION = "1.12.4"; t.DEFAULTS = { noneSelectedText: "Nothing selected", noneResultsText: "No results matched {0}", countSelectedText: function (n) { return n == 1 ? "{0} item selected" : "{0} items selected" }, maxOptionsText: function (n, t) { return [n == 1 ? "Limit reached ({n} item max)" : "Limit reached ({n} items max)", t == 1 ? "Group limit reached ({n} item max)" : "Group limit reached ({n} items max)"] }, selectAllText: "Select All", deselectAllText: "Deselect All", doneButton: !1, doneButtonText: "Close", multipleSeparator: ", ", styleBase: "btn", style: "btn-default", size: "auto", title: null, selectedTextFormat: "values", width: !1, container: !1, hideDisabled: !1, showSubtext: !1, showIcon: !0, showContent: !0, dropupAuto: !0, header: !1, liveSearch: !1, liveSearchPlaceholder: null, liveSearchNormalize: !1, liveSearchStyle: "contains", actionsBox: !1, iconBase: "glyphicon", tickIcon: "glyphicon-ok", showTick: !1, template: { caret: '<span class="caret"><\/span>' }, maxOptions: !1, mobile: !1, selectOnTab: !1, dropdownAlignRight: !1, windowPadding: 0 }; t.prototype = { constructor: t, init: function () { var t = this, i = this.$element.attr("id"); this.$element.addClass("bs-select-hidden"); this.liObj = {}; this.multiple = this.$element.prop("multiple"); this.autofocus = this.$element.prop("autofocus"); this.$newElement = this.createView(); this.$element.after(this.$newElement).appendTo(this.$newElement); this.$button = this.$newElement.children("button"); this.$menu = this.$newElement.children(".dropdown-menu"); this.$menuInner = this.$menu.children(".inner"); this.$searchbox = this.$menu.find("input"); this.$element.removeClass("bs-select-hidden"); this.options.dropdownAlignRight === !0 && this.$menu.addClass("dropdown-menu-right"); typeof i != "undefined" && (this.$button.attr("data-id", i), n('label[for="' + i + '"]').click(function (n) { n.preventDefault(); t.$button.focus() })); this.checkDisabled(); this.clickListener(); this.options.liveSearch && this.liveSearchListener(); this.render(); this.setStyle(); this.setWidth(); this.options.container && this.selectPosition(); this.$menu.data("this", this); this.$newElement.data("this", this); this.options.mobile && this.mobile(); this.$newElement.on({ "hide.bs.dropdown": function (n) { t.$menuInner.attr("aria-expanded", !1); t.$element.trigger("hide.bs.select", n) }, "hidden.bs.dropdown": function (n) { t.$element.trigger("hidden.bs.select", n) }, "show.bs.dropdown": function (n) { t.$menuInner.attr("aria-expanded", !0); t.$element.trigger("show.bs.select", n) }, "shown.bs.dropdown": function (n) { t.$element.trigger("shown.bs.select", n) } }); if (t.$element[0].hasAttribute("required")) this.$element.on("invalid", function () { t.$button.addClass("bs-invalid");
267 t.$element.on({ "focus.bs.select": function () { t.$button.focus(); t.$element.off("focus.bs.select") }, "shown.bs.select": function () { t.$element.val(t.$element.val()).off("shown.bs.select") }, "rendered.bs.select": function () { this.validity.valid && t.$button.removeClass("bs-invalid"); t.$element.off("rendered.bs.select") } }); t.$button.on("blur.bs.select", function () { t.$element.focus().blur(); t.$button.off("blur.bs.select") }) }); setTimeout(function () { t.$element.trigger("loaded.bs.select") }) }, createDropdown: function () { var t = this.multiple || this.options.showTick ? " show-tick" : "", i = this.$element.parent().hasClass("input-group") ? " input-group-btn" : "", u = this.autofocus ? " autofocus" : "", f = this.options.header ? '<div class="popover-title"><button type="button" class="close" aria-hidden="true">&times;<\/button>' + this.options.header + "<\/div>" : "", e = this.options.liveSearch ? '<div class="bs-searchbox"><input type="text" class="form-control" autocomplete="off"' + (null === this.options.liveSearchPlaceholder ? "" : ' placeholder="' + r(this.options.liveSearchPlaceholder) + '"') + ' role="textbox" aria-label="Search"><\/div>' : "", o = this.multiple && this.options.actionsBox ? '<div class="bs-actionsbox"><div class="btn-group btn-group-sm btn-block"><button type="button" class="actions-btn bs-select-all btn btn-default">' + this.options.selectAllText + '<\/button><button type="button" class="actions-btn bs-deselect-all btn btn-default">' + this.options.deselectAllText + "<\/button><\/div><\/div>" : "", s = this.multiple && this.options.doneButton ? '<div class="bs-donebutton"><div class="btn-group btn-block"><button type="button" class="btn btn-sm btn-default">' + this.options.doneButtonText + "<\/button><\/div><\/div>" : "", h = '<div class="btn-group bootstrap-select' + t + i + '"><button type="button" class="' + this.options.styleBase + ' dropdown-toggle" data-toggle="dropdown"' + u + ' role="button"><span class="filter-option pull-left"><\/span>&nbsp;<span class="bs-caret">' + this.options.template.caret + '<\/span><\/button>
267<div class="dropdown-menu open" role="combobox">' + f + e + o + '<ul class="dropdown-menu inner" role="listbox" aria-expanded="false"><\/ul>' + s + "<\/div><\/div>"; return n(h) }, createView: function () { var n = this.createDropdown(), t = this.createLi(); return n.find("ul")[0].innerHTML = t, n }, reloadLi: function () { var n = this.createLi(); this.$menuInner[0].innerHTML = n }, createLi: function () { var t = this, i = [], o = 0, s = document.createElement("option"), u = -1, f = function (n, t, i, r) { return "<li" + (typeof i != "undefined" && "" !== i ? ' class="' + i + '"' : "") + (typeof t != "undefined" && null !== t ? ' data-original-index="' + t + '"' : "") + (typeof r != "undefined" && null !== r ? 'data-optgroup="' + r + '"' : "") + ">" + n + "<\/li>" }, c = function (i, u, f, o) { return '<a tabindex="0"' + (typeof u != "undefined" ? ' class="' + u + '"' : "") + (f ? ' style="' + f + '"' : "") + (t.options.liveSearchNormalize ? ' data-normalized-text="' + e(r(n(i).html())) + '"' : "") + (typeof o != "undefined" || o !== null ? ' data-tokens="' + o + '"' : "") + ' role="option">' + i + '<span class="' + t.options.iconBase + " " + t.options.tickIcon + ' check-mark"><\/span><\/a>' }, h, a, l; return this.options.title && !this.multiple && (u--, this.$element.find(".bs-title-option").length || (h = this.$element[0], s.className = "bs-title-option", s.innerHTML = this.options.title, s.value = "", h.insertBefore(s, h.firstChild), a = n(h.options[h.selectedIndex]), a.attr("selected") === undefined && this.$element.data("selected") === undefined && (s.selected = !0))), l = this.$element.find("option"), l.each(function (e) { var s = n(this), tt, it, w, b; if (u++, !s.hasClass("bs-title-option")) { var k = this.className || "", d = r(this.style.cssText), v = s.data("content") ? s.data("content") : s.html(), g = s.data("tokens") ? s.data("tokens") : null, ft = typeof s.data("subtext") != "undefined" ? '<small class="text-muted">' + s.data("subtext") + "<\/small>" : "", y = typeof s.data("icon") != "undefined" ? '<span class="' + t.options.iconBase + " " + s.data("icon") + '"><\/span> ' : "", h = s.parent(), nt = h[0].tagName === "OPTGROUP", ut = nt && h[0].disabled, p = this.disabled || ut, a; if (y !== "" && p && (y = "<span>" + y + "<\/span>"), t.options.hideDisabled && (p && !nt || ut)) { a = s.data("prevHiddenIndex"); s.next().data("prevHiddenIndex", a !== undefined ? a : e); u--; return } if (s.data("content") || (v = y + '<span class="text">' + v + ft + "<\/span>"), nt && s.data("divider") !== !0) { if (t.options.hideDisabled && p && (h.data("allOptionsDisabled") === undefined && (tt = h.children(), h.data("allOptionsDisabled", tt.filter(":disabled").length === tt.length)), h.data("allOptionsDisabled"))) { u--; return } if (it = " " + h[0].className || "", s.index() === 0) { o += 1; var rt = h[0].label, et = typeof h.data("subtext") != "undefined" ? '<small class="text-muted">' + h.data("subtext") + "<\/small>" : "", ot = h.data("icon") ? '<span class="' + t.options.iconBase + " " + h.data("icon") + '"><\/span> ' : ""; rt = ot + '<span class="text">' + r(rt) + et + "<\/span>"; e !== 0 && i.length > 0 && (u++, i.push(f("", null, "divider", o + "div"))); u++; i.push(f(rt, null, "dropdown-header" + it, o)) } if (t.options.hideDisabled && p) { u--; return } i.push(f(c(v, "opt " + k + it, d, g), e, "", o)) } else s.data("divider") === !0 ? i.push(f("", e, "divider")) : s.data("hidden") === !0 ? (a = s.data("prevHiddenIndex"), s.next().data("prevHiddenIndex", a !== undefined ? a : e), i.push(f(c(v, k, d, g), e, "hidden is-hidden"))) : (w = this.previousElementSibling && this.previousElementSibling.tagName === "OPTGROUP", !w && t.options.hideDisabled && (a = s.data("prevHiddenIndex"), a !== undefined && (b = l.eq(a)[0].previousElementSibling, b && b.tagName === "OPTGROUP" && !b.disabled && (w = !0))), w && (u++, i.push(f("", null, "divider", o + "div"))), i.push(f(c(v, k, d, g), e))); t.liObj[e] = u } }), this.multiple || this.$element.find("option:selected").length !== 0 || this.options.title || this.$element.find("option").eq(0).prop("selected", !0).attr("selected", "selected"), i.join("") }, findLis: function () { return this.$lis == null && (this.$lis = this.$menu.find("li")), this.$lis }, render: function (t) { var i = this, s, e = this.$element.find("option"), r, u, f, o, h; t !== !1 && e.each(function (n) { var t = i.findLis().eq(i.liObj[n]); i.setDisabled(n, this.disabled || this.parentNode.tagName === "OPTGROUP" && this.parentNode.disabled, t); i.setSelected(n, this.selected, t) }); this.togglePlaceholder(); this.tabIndex(); r = e.map(function () { if (this.selected) { if (i.options.hideDisabled && (this.disabled || this.parentNode.tagName === "OPTGROUP" && this.parentNode.disabled)) return; var t = n(this), u = t.data("icon") && i.options.showIcon ? '<i class="' + i.options.iconBase + " " + t.data("icon") + '"><\/i> ' : "", r; return r = i.options.showSubtext && t.data("subtext") && !i.multiple ? ' <small class="text-muted">' + t.data("subtext") + "<\/small>" : "", typeof t.attr("title") != "undefined" ? t.attr("title") : t.data("content") && i.options.showContent ? t.data("content").toString() : u + t.html() + r } }).toArray(); u = this.multiple ? r.join(this.options.multipleSeparator) : r[0]; this.multiple && this.options.selectedTextFormat.indexOf("count") > -1 && (f = this.options.selectedTextFormat.split(">"), (f.length > 1 && r.length > f[1] || f.length == 1 && r.length >= 2) && (s = this.options.hideDisabled ? ", [disabled]" : "", o = e.not('[data-divider="true"], [data-hidden="true"]' + s).length, h 
267= typeof this.options.countSelectedText == "function" ? this.options.countSelectedText(r.length, o) : this.options.countSelectedText, u = h.replace("{0}", r.length.toString()).replace("{1}", o.toString()))); this.options.title == undefined && (this.options.title = this.$element.attr("title")); this.options.selectedTextFormat == "static" && (u = this.options.title); u || (u = typeof this.options.title != "undefined" ? this.options.title : this.options.noneSelectedText); this.$button.attr("title", c(n.trim(u.replace(/<[^>]*>?/g, "")))); this.$button.children(".filter-option").html(u); this.$element.trigger("rendered.bs.select") }, setStyle: function (n, t) { this.$element.attr("class") && this.$newElement.addClass(this.$element.attr("class").replace(/selectpicker|mobile-device|bs-select-hidden|validate\[.*\]/gi, "")); var i = n ? n : this.options.style; t == "add" ? this.$button.addClass(i) : t == "remove" ? this.$button.removeClass(i) : (this.$button.removeClass(this.options.style), this.$button.addClass(i)) }, liHeight: function (t) { var y; if (t || this.options.size !== !1 && !this.sizeInfo) { var e = document.createElement("div"), u = document.createElement("div"), o = document.createElement("ul"), l = document.createElement("li"), w = document.createElement("li"), a = document.createElement("a"), v = document.createElement("span"), s = this.options.header && this.$menu.find(".popover-title").length > 0 ? this.$menu.find(".popover-title")[0].cloneNode(!0) : null, f = this.options.liveSearch ? document.createElement("div") : null, h = this.options.actionsBox && this.multiple && this.$menu.find(".bs-actionsbox").length > 0 ? this.$menu.find(".bs-actionsbox")[0].cloneNode(!0) : null, c = this.options.doneButton && this.multiple && this.$menu.find(".bs-donebutton").length > 0 ? this.$menu.find(".bs-donebutton")[0].cloneNode(!0) : null; v.className = "text"; e.className = this.$menu[0].parentNode.className + " open"; u.className = "dropdown-menu open"; o.className = "dropdown-menu inner"; l.className = "divider"; v.appendChild(document.createTextNode("Inner text")); a.appendChild(v); w.appendChild(a); o.appendChild(w); o.appendChild(l); s && u.appendChild(s); f && (y = document.createElement("input"), f.className = "bs-searchbox", y.className = "form-control", f.appendChild(y), u.appendChild(f)); h && u.appendChild(h); u.appendChild(o); c && u.appendChild(c); e.appendChild(u); document.body.appendChild(e); var b = a.offsetHeight, k = s ? s.offsetHeight : 0, d = f ? f.offsetHeight : 0, g = h ? h.offsetHeight : 0, nt = c ? c.offsetHeight : 0, tt = n(l).outerHeight(!0), i = typeof getComputedStyle == "function" ? getComputedStyle(u) : !1, r = i ? null : n(u), p = { vert: parseInt(i ? i.paddingTop : r.css("paddingTop")) + parseInt(i ? i.paddingBottom : r.css("paddingBottom")) + parseInt(i ? i.borderTopWidth : r.css("borderTopWidth")) + parseInt(i ? i.borderBottomWidth : r.css("borderBottomWidth")), horiz: parseInt(i ? i.paddingLeft : r.css("paddingLeft")) + parseInt(i ? i.paddingRight : r.css("paddingRight")) + parseInt(i ? i.borderLeftWidth : r.css("borderLeftWidth")) + parseInt(i ? i.borderRightWidth : r.css("borderRightWidth")) }, it = { vert: p.vert + parseInt(i ? i.marginTop : r.css("marginTop")) + parseInt(i ? i.marginBottom : r.css("marginBottom")) + 2, horiz: p.horiz + parseInt(i ? i.marginLeft : r.css("marginLeft")) + parseInt(i ? i.marginRight : r.css("marginRight")) + 2 }; document.body.removeChild(e); this.sizeInfo = { liHeight: b, headerHeight: k, searchHeight: d, actionsHeight: g, doneButtonHeight: nt, dividerHeight: tt, menuPadding: p, menuExtras: it } } }, setSize: function () { var l, rt, ut; if (this.findLis(), this.liHeight(), this.options.header && this.$menu.css("padding-top", 0), this.options.size !== !1) { var i = this, t = this.$menu, k = this.$menuInner, o = n(window), ft = this.$newElement[0].offsetHeight, d = this.$newElement[0].offsetWidth, g = this.sizeInfo.liHeight, a = this.sizeInfo.headerHeight, v = this.sizeInfo.searchHeight, y = this.sizeInfo.actionsHeight, p = this.sizeInfo.doneButtonHeight, et = this.sizeInfo.dividerHeight, s = this.sizeInfo.menuPadding, u = this.sizeInfo.menuExtras, nt = this.options.hideDisabled ? ".disabled" : "", r, tt, f, w, e, h, c, b, it = function () { var f = i.$newElement.offset(), u = n(i.options.container), t, r; i.options.container && !u.is("body") ? (t = u.offset(), t.top += parseInt(u.css("borderTopWidth")), t.left += parseInt(u.css("borderLeftWidth"))) : t = { top: 0, left: 0 }; r = i.options.windowPadding; e = f.top - t.top - o.scrollTop(); h = o.height() - e - ft - t.top - r[2]; c = f.left - t.left - o.scrollLeft(); b = o.width() - c - d - t.left - r[1]; e -= r[0]; c -= r[3] }; if (it(), this.options.size === "auto") { l = function () { var o, nt = function (t, i) { return function (r) { return i ? r.classList ? r.classList.contains(t) : n(r).hasClass(t) : !(r.classList ? r.classList.contains(t) : n(r).hasClass(t)) } }, rt = i.$menuInner[0].getElementsByTagName("li"), l = Array.prototype.filter ? Array.prototype.filter.call(rt, nt("hidden", !1)) : i.$lis.not(".hidden"), ut = Array.prototype.filter ? Array.prototype.filter.call(l, nt("dropdown-header", !0)) : l.filter(".dropdown-header"); it(); r = h - u.vert; tt = b - u.horiz; i.options.container ? (t.data("height") || t.data("height", t.height()), f = t.data("height"), t.data("width") || t.data("width", t.width()), w = t.data("width")) : (f = t.height(), w = t.width()); i.options.dropupAuto && i.$newElement.toggleClass("dropup", e > h && r - u.vert < f); i.$newElement.hasClass("dropup") && (r = e - u.vert); i.options.dropdownAlignRight === "auto" && t.toggleClass("dropdown-menu-right", c > b && tt - u.horiz < w - d); o = l.length + ut.length > 3 ? g * 3 + u.vert - 2 : 0; t.css({ "max-height": r + "px", overflow: "hidden", "min-height": o + a + v + y + p + "px" }); k.css({ "max-height": r - a - v - y - p - s.vert + "px", "overflow-y": "auto", "min-height": Math.max(o - s.vert, 0) + "px" }) }; l(); this.$searchbox.off("input.getSize propertychange.getSize").on("input.getSize propertychange.getSize", l); o.off("resize.getSize scroll.getSize").on("resize.getSize scroll.getSize", l) } else this.options.size && this.options.size != "auto" && this.$lis.not(nt).length > this.options.size && (rt = this.$lis.not(".divider").not(nt).children().slice(0, this.options.size).last().parent().index(), ut = this.$lis.slice(0, rt + 1).filter(".divider").length, r = g * this.options.size + ut * et + s.vert, i.options.container ? (t.data("height") || t.data("height", t.height()), f = t.data("height")) : f = t.height(), i.options.dropupAuto && this.$newElement.toggleClass("dropup", e > h && r - u.vert < f), t.css({ "max-height": r + a + v + y + p + "px", overflow: "hidden", "min-height": "" }), k.css({ "max-height": r - s.vert + "px", "overflow-y": "auto", "min-height": "" })) } }
267, setWidth: function () { if (this.options.width === "auto") { this.$menu.css("min-width", "0"); var n = this.$menu.parent().clone().appendTo("body"), t = this.options.container ? this.$newElement.clone().appendTo("body") : n, i = n.children(".dropdown-menu").outerWidth(), r = t.css("width", "auto").children("button").outerWidth(); n.remove(); t.remove(); this.$newElement.css("width", Math.max(i, r) + "px") } else this.options.width === "fit" ? (this.$menu.css("min-width", ""), this.$newElement.css("width", "").addClass("fit-width")) : this.options.width ? (this.$menu.css("min-width", ""), this.$newElement.css("width", this.options.width)) : (this.$menu.css("min-width", ""), this.$newElement.css("width", "")); this.$newElement.hasClass("fit-width") && this.options.width !== "fit" && this.$newElement.removeClass("fit-width") }, selectPosition: function () { this.$bsContainer = n('<div class="bs-container" />'); var t = this, i = n(this.options.container), u, r, f, e = function (n) { t.$bsContainer.addClass(n.attr("class").replace(/form-control|fit-width/gi, "")).toggleClass("dropup", n.hasClass("dropup")); u = n.offset(); i.is("body") ? r = { top: 0, left: 0 } : (r = i.offset(), r.top += parseInt(i.css("borderTopWidth")) - i.scrollTop(), r.left += parseInt(i.css("borderLeftWidth")) - i.scrollLeft()); f = n.hasClass("dropup") ? 0 : n[0].offsetHeight; t.$bsContainer.css({ top: u.top - r.top + f, left: u.left - r.left, width: n[0].offsetWidth }) }; this.$button.on("click", function () { var i = n(this); t.isDisabled() || (e(t.$newElement), t.$bsContainer.appendTo(t.options.container).toggleClass("open", !i.hasClass("open")).append(t.$menu)) }); n(window).on("resize scroll", function () { e(t.$newElement) }); this.$element.on("hide.bs.select", function () { t.$menu.data("height", t.$menu.height()); t.$bsContainer.detach() }) }, setSelected: function (n, t, i) { i || (this.togglePlaceholder(), i = this.findLis().eq(this.liObj[n])); i.toggleClass("selected", t).find("a").attr("aria-selected", t) }, setDisabled: function (n, t, i) { i || (i = this.findLis().eq(this.liObj[n])); t ? i.addClass("disabled").children("a").attr("href", "#").attr("tabindex", -1).attr("aria-disabled", !0) : i.removeClass("disabled").children("a").removeAttr("href").attr("tabindex", 0).attr("aria-disabled", !1) }, isDisabled: function () { return this.$element[0].disabled }, checkDisabled: function () { var n = this; this.isDisabled() ? (this.$newElement.addClass("disabled"), this.$button.addClass("disabled").attr("tabindex", -1).attr("aria-disabled", !0)) : (this.$button.hasClass("disabled") && (this.$newElement.removeClass("disabled"), this.$button.removeClass("disabled").attr("aria-disabled", !1)), this.$button.attr("tabindex") != -1 || this.$element.data("tabindex") || this.$button.removeAttr("tabindex")); this.$button.click(function () { return !n.isDisabled() }) }, togglePlaceholder: function () { var n = this.$element.val(); this.$button.toggleClass("bs-placeholder", n === null || n === "" || n.constructor === Array && n.length === 0) }, tabIndex: function () { this.$element.data("tabindex") !== this.$element.attr("tabindex") && this.$element.attr("tabindex") !== -98 && this.$element.attr("tabindex") !== "-98" && (this.$element.data("tabindex", this.$element.attr("tabindex")), this.$button.attr("tabindex", this.$element.data("tabindex"))); this.$element.attr("tabindex", -98) }, clickListener: function () { var t = this, i = n(document); i.data("spaceSelect", !1); this.$button.on("keyup", function (n) { /(32)/.test(n.keyCode.toString(10)) && i.data("spaceSelect") && (n.preventDefault(), i.data("spaceSelect", !1)) }); this.$button.on("click", function () { t.setSize() }); this.$element.on("shown.bs.select", function () { var i, n; if (t.options.liveSearch || t.multiple) { if (!t.multiple) { if (i = t.liObj[t.$element[0].selectedIndex], typeof i != "number" || t.options.size === !1) return; n = t.$lis.eq(i)[0].offsetTop - t.$menuInner[0].offsetTop; n = n - t.$menuInner[0].offsetHeight / 2 + t.sizeInfo.liHeight / 2; t.$menuInner[0].scrollTop = n } } else t.$menuInner.find(".selected a").focus() }); this.$menuInner.on("click", "li a", function (i) { var h = n(this), o = h.parent().data("originalIndex"), nt = t.$element.val(), tt = t.$element.prop("selectedIndex"), a = !0, p, w, g; if (t.multiple && t.options.maxOptions !== 1 && i.stopPropagation(), i.preventDefault(), !t.isDisabled() && !h.parent().hasClass("disabled")) { var c = t.$element.find("option"), e = c.eq(o), v = e.prop("selected"), y = e.parent("optgroup"), r = t.options.maxOptions, f = y.data("maxOptions") || !1; if (t.multiple) { if (e.prop("selected", !v), t.setSelected(o, !v), h.blur(), (r !== !1 || f !== !1) && (p = r < c.filter(":selected").length, w = f < y.find("option:selected").length, r && p || f && w)) if (r && r == 1) c.prop("selected", !1), e.prop("selected", !0), t.$menuInner.find(".selected").removeClass("selected"), t.setSelected(o, !0); else if (f && f == 1) y.find("option:selected").prop("selected", !1), e.prop("selected", !0), g = h.parent().data("optgroup"), t.$menuInner.find('[data-optgroup="' + g + '"]').removeClass("selected"), t.setSelected(o, !0); else { var b = typeof t.options.maxOptionsText == "string" ? [t.options.maxOptionsText, t.options.maxOptionsText] : t.options.maxOptionsText, s = typeof b == "function" ? b(r, f) : b, k = s[0].replace("{n}", r), d = s[1].replace("{n}", f), l = n('<div class="notify"><\/div>'); s[2] && (k = k.replace("{var}", s[2][r > 1 ? 0 : 1]), d = d.replace("{var}", s[2][f > 1 ? 0 : 1])); e.prop("selected", !1); t.$menu.append(l); r && p && (l.append(n("<div>" + k + "<\/div>")), a = !1, t.$element.trigger("maxReached.bs.select")); f && w && (l.append(n("<div>" + d + "<\/div>")), a = !1, t.$element.trigger("maxReachedGrp.bs.select")); setTimeout(function () { t.setSelected(o, !1) }, 10); l.delay(750).fadeOut(300, function () { n(this).remove() }) } } else c.prop("selected", !1), e.prop("selected", !0), t.$menuInner.find(".selected").removeClass("selected").find("a").attr("aria-selected", !1), t.setSelected(o, !0); !t.multiple || t.multiple && t.options.maxOptions === 1 ? t.$button.focus() : t.options.liveSearch && t.$searchbox.focus(); a && (nt != t.$element.val() && t.multiple || tt != t.$element.prop("selectedIndex") && !t.multiple) && (u = [o, e.prop("selected"), v], t.$element.triggerNative("change")) } }); this.$menu.on("click", "li.disabled a, .popover-title, .popover-title :not(.close)", function (i) { i.currentTarget == this && (i.preventDefault(), i.stopPropagation(), t.options.liveSearch && !n(i.target).hasClass("close") ? t.$searchbox.focus() : t.$button.focus()) }); this.$menuInner.on("click", ".divider, .dropdown-header", function (n) { n.preventDefault(); n.stopPropagation(); t.options.liveSearch ? t.$searchbox.focus() : t.$button.focus() }); this.$menu.on("click", ".popover-title .close", function () { t.$button.click() }); this.$searchbox.on("click", function (n) { n.stopPropagation() }); this.$menu.on("click", ".actions-btn", function (i) { t.options.liveSearch ? t.$searchbox.focus() : t.$button.focus(); i.preventDefault(); i.stopPropagation(); n(this).hasClass("bs-select-all") ? t.selectAll() : t.deselectAll() }); this.$element.change(function () { t.render(!1); t.$element.trigger("changed.bs.select", u); u = null }) }, liveSearchListener: function () { var t = this, i = n('<li class="no-results"><\/li>'); this.$button.on("click.dropdown.data-api", function () { t.$menuInner.find(".active").removeClass("active"); !t.$searchbox.val() || (t.$searchbox.val(""), t.$lis.not(".is-hidden").removeClass("hidden"), !i.parent().length || i.remove()); t.multiple || t.$menuInner.find(".selected").addClass("active"); setTimeout(function () { t.$searchbox.focus() }, 10) }); this.$searchbox.on("click.dropdown.data-api focus.dropdown.data-api touchend.dropdown.data-api", function (n) { n.stopPropagation() }); this.$searchbox.on("input propertychange", function () { var f, o, s, u; t.$lis.not(".is-hidden").removeClass("hidden"); t.$lis.filter(".active").removeClass("active"); i.remove(); t.$searchbox.val() && (f = t.$lis.not(".is-hidden, .divider, .dropdown-header"), o = t.options.liveSearchNormalize ? f.not(":a" + t._searchStyle() + '("' + e(t.$searchbox.val()) + '")') : f.not(":" + t._searchStyle() + '("' + t.$searchbox.val() + '")'), o.length === f.length ? (i.html(t.options.noneResultsText.replace("{0}", '"' + r(t.$searchbox.val()) + '"')), t.$menuInner.append(i), t.$lis.addClass("hidden")) : (o.addClass("hidden"), s = t.$lis.not(".hidden"), s.each(function (t) { var i = n(this); i.hasClass("divider") ? u === undefined ? i.addClass("hidden") : (u && u.addClass("hidden"), u = i) : i.hasClass("dropdown-header") && s.eq(t + 1).data("optgroup") !== i.data("optgroup") ? i.addClass("hidden") : u = null }), u && u.addClass("hidden"), f.not(".hidden").first().addClass("active"), t.$menuInner.scrollTop(0))) }) }, _searchStyle: function () { return { begins: "ibegins", startsWith: "ibegins" }[this.options.liveSearchStyle] || "icontains" }, val: function (n) { return typeof n != "undefined" ? (this.$element.val(n), this.render(), this.$element) : this.$element.val() }, changeAll: function (t) { var r, f; if (this.multiple) { typeof t == "undefined" && (t = !0); this.findLis(); var e = this.$element.find("option"), i = this.$lis.not(".divider, .dropdown-header, .disabled, .hidden"), o = i.length, u = []; if (t) { if (i.filter(".selected").length === i.length) return } else if (i.filter(".selected").length === 0) return; for (i.toggleClass("selected", t), r = 0; r < o; r++) f = i[r].getAttribute("data-original-index"), u[u.length] = e.eq(f)[0]; n(u).prop("selected", t); this.render(!1); this.togglePlaceholder(); this.$element.triggerNative("change") } }, selectAll: function () { return this.changeAll(!0) }, deselectAll: function () { return this.changeAll(!1) }, toggle: function (n) { n = n || window.event; n && n.stopPropagation(); this.$button.trigger("click") }
267, keydown: function (t) { var e = n(this), y = e.is("input") ? e.parent().parent() : e.parent(), r, i = y.data("this"), u, h, o, l = ":not(.disabled, .hidden, .dropdown-header, .divider)", a = { 32: " ", 48: "0", 49: "1", 50: "2", 51: "3", 52: "4", 53: "5", 54: "6", 55: "7", 56: "8", 57: "9", 59: ";", 65: "a", 66: "b", 67: "c", 68: "d", 69: "e", 70: "f", 71: "g", 72: "h", 73: "i", 74: "j", 75: "k", 76: "l", 77: "m", 78: "n", 79: "o", 80: "p", 81: "q", 82: "r", 83: "s", 84: "t", 85: "u", 86: "v", 87: "w", 88: "x", 89: "y", 90: "z", 96: "0", 97: "1", 98: "2", 99: "3", 100: "4", 101: "5", 102: "6", 103: "7", 104: "8", 105: "9" }, s, f, v, c; if (o = i.$newElement.hasClass("open"), !o && (t.keyCode >= 48 && t.keyCode <= 57 || t.keyCode >= 96 && t.keyCode <= 105 || t.keyCode >= 65 && t.keyCode <= 90)) { i.options.container ? i.$button.trigger("click") : (i.setSize(), i.$menu.parent().addClass("open"), o = !0); i.$searchbox.focus(); return } if (i.options.liveSearch && /(^9$|27)/.test(t.keyCode.toString(10)) && o && (t.preventDefault(), t.stopPropagation(), i.$menuInner.click(), i.$button.focus()), /(38|40)/.test(t.keyCode.toString(10))) { if (r = i.$lis.filter(l), !r.length) return; u = i.options.liveSearch ? r.index(r.filter(".active")) : r.index(r.find("a").filter(":focus").parent()); h = i.$menuInner.data("prevIndex"); t.keyCode == 38 ? ((i.options.liveSearch || u == h) && u != -1 && u--, u < 0 && (u += r.length)) : t.keyCode == 40 && ((i.options.liveSearch || u == h) && u++, u = u % r.length); i.$menuInner.data("prevIndex", u); i.options.liveSearch ? (t.preventDefault(), e.hasClass("dropdown-toggle") || (r.removeClass("active").eq(u).addClass("active").children("a").focus(), e.focus())) : r.eq(u).children("a").focus() } else e.is("input") || (s = [], r = i.$lis.filter(l), r.each(function (i) { n.trim(n(this).children("a").text().toLowerCase()).substring(0, 1) == a[t.keyCode] && s.push(i) }), f = n(document).data("keycount"), f++, n(document).data("keycount", f), v = n.trim(n(":focus").text().toLowerCase()).substring(0, 1), v != a[t.keyCode] ? (f = 1, n(document).data("keycount", f)) : f >= s.length && (n(document).data("keycount", 0), f > s.length && (f = 1)), r.eq(s[f - 1]).children("a").focus()); (/(13|32)/.test(t.keyCode.toString(10)) || /(^9$)/.test(t.keyCode.toString(10)) && i.options.selectOnTab) && o && (/(32)/.test(t.keyCode.toString(10)) || t.preventDefault(), i.options.liveSearch ? /(32)/.test(t.keyCode.toString(10)) || (i.$menuInner.find(".active a").click(), e.focus()) : (c = n(":focus"), c.click(), c.focus(), t.preventDefault(), n(document).data("spaceSelect", !0)), n(document).data("keycount", 0)); (/(^9$|27)/.test(t.keyCode.toString(10)) && o && (i.multiple || i.options.liveSearch) || /(27)/.test(t.keyCode.toString(10)) && !o) && (i.$menu.parent().removeClass("open"), i.options.container && i.$newElement.removeClass("open"), i.$button.focus()) }, mobile: function () { this.$element.addClass("mobile-device") }, refresh: function () { this.$lis = null; this.liObj = {}; this.reloadLi(); this.render(); this.checkDisabled(); this.liHeight(!0); this.setStyle(); this.setWidth(); this.$lis && this.$searchbox.trigger("propertychange"); this.$element.trigger("refreshed.bs.select") }, hide: function () { this.$newElement.hide() }, show: function () { this.$newElement.show() }, remove: function () { this.$newElement.remove(); this.$element.remove() }, destroy: function () { this.$newElement.before(this.$element).remove(); this.$bsContainer ? this.$bsContainer.remove() : this.$menu.remove(); this.$element.off(".bs.select").removeData("selectpicker").removeClass("bs-select-hidden selectpicker") } }; h = n.fn.selectpicker; n.fn.selectpicker = s; n.fn.selectpicker.Constructor = t; n.fn.selectpicker.noConflict = function () { return n.fn.selectpicker = h, this }; n(document).data("keycount", 0).on("keydown.bs.select", '.bootstrap-select [data-toggle=dropdown], .bootstrap-select [role="listbox"], .bs-searchbox input', t.prototype.keydown).on("focusin.modal", '.bootstrap-select [data-toggle=dropdown], .bootstrap-select [role="listbox"], .bs-searchbox input', function (n) { n.stopPropagation() }); n(document).ready(function () { n(".selectpicker").each(function () { var t = n(this); s.call(t, t.data()) }) }) })(n) });
268//# sourceMappingURL=bootstrap-select.js.map
269
270/*Jquery Modal Video*/
271(function () { function n(t, i, r) { function u(f, o) { var h, c, s; if (!i[f]) { if (!t[f]) { if (h = typeof require == "function" && require, !o && h) return h(f, !0); if (e) return e(f, !0); c = new Error("Cannot find module '" + f + "'"); throw c.code = "MODULE_NOT_FOUND", c; } s = i[f] = { exports: {} }; t[f][0].call(s.exports, function (n) { var i = t[f][1][n]; return u(i ? i : n) }, s, s.exports, n, t, i, r) } return i[f].exports } for (var e = typeof require == "function" && require, f = 0; f < r.length; f++)u(r[f]); return u } return n })()({ 1: [function () { var n, t; try { if (n = new window.CustomEvent("test"), n.preventDefault(), n.defaultPrevented !== !0) throw new Error("Could not prevent default"); } catch (i) { t = function (n, t) { var i, r; return t = t || { bubbles: !1, cancelable: !1, detail: undefined }, i = document.createEvent("CustomEvent"), i.initCustomEvent(n, t.bubbles, t.cancelable, t.detail), r = i.preventDefault, i.preventDefault = function () { r.call(this); try { Object.defineProperty(this, "defaultPrevented", { get: function () { return !0 } }) } catch (n) { this.defaultPrevented = !0 } }, i }; t.prototype = window.Event.prototype; window.CustomEvent = t } }, {}], 2: [function (n, t) { "use strict"; function i(n) { var f, i, t, e, r, s, u, o; if (n === undefined || n === null) throw new TypeError("Cannot convert first argument to object"); for (f = Object(n), i = 1; i < arguments.length; i++)if (t = arguments[i], t !== undefined && t !== null) for (e = Object.keys(Object(t)), r = 0, s = e.length; r < s; r++)u = e[r], o = Object.getOwnPropertyDescriptor(t, u), o !== undefined && o.enumerable && (f[u] = t[u]); return f } function r() { Object.assign || Object.defineProperty(Object, "assign", { enumerable: !1, configurable: !0, writable: !0, value: i }) } t.exports = { assign: i, polyfill: r } }, {}], 3: [function (n, t) { "use strict"; var u = n("../index"), i = function (n) { n.fn.modalVideo = function (n) { return typeof n == "strings" || new u(this, n), this } }, r; typeof define == "function" && define.amd ? define(["jquery"], i) : (r = window.jQuery ? window.jQuery : window.$, typeof r != "undefined" && i(r));
271 t.exports = i }, { "../index": 5 }], 4: [function (n, t, i) { "use strict"; function f(n, t) { if (!(n instanceof t)) throw new TypeError("Cannot call a class as a function"); } var u, r; Object.defineProperty(i, "__esModule", { value: !0 }); u = function () { function n(n, t) { for (var i, r = 0; r < t.length; r++)i = t[r], i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(n, i.key, i) } return function (t, i, r) { return i && n(t.prototype, i), r && n(t, r), t } }(); n("custom-event-polyfill"); r = n("../lib/util"); var e = n("es6-object-assign").assign, o = { channel: "youtube", facebook: {}, youtube: { autoplay: 0, cc_load_policy: 1, color: null, controls: 1, disablekb: 0, enablejsapi: 0, end: null, fs: 1, h1: null, iv_load_policy: 1, list: null, listType: null, loop: 0, modestbranding: null, origin: null, playlist: null, playsinline: null, rel: 0, showinfo: 1, start: 0, wmode: "transparent", theme: "dark", nocookie: !1 }, ratio: "16:9", vimeo: { api: !1, autopause: !0, autoplay: !1, byline: !0, callback: null, color: null, height: null, loop: !1, maxheight: null, maxwidth: null, player_id: null, portrait: !0, title: !0, width: null, xhtml: !1 }, allowFullScreen: !0, animationSpeed: 300, classNames: { modalVideo: "modal-video", modalVideoClose: "modal-video-close", modalVideoBody: "modal-video-body", modalVideoInner: "modal-video-inner", modalVideoIframeWrap: "modal-video-movie-wrap", modalVideoCloseBtn: "modal-video-close-btn" }, aria: { openMessage: "You just openned the modal video", dismissBtnMessage: "Close the modal by clicking here" } }, s = function () { function n(t, i) { var s = this; f(this, n); var u = e({}, o, i), h = typeof t == "string" ? document.querySelectorAll(t) : t, c = document.querySelector("body"), l = u.classNames, a = u.animationSpeed;[].forEach.call(h, function (n) { n.addEventListener("click", function () { var e = n.dataset.videoId, o = n.dataset.channel || u.channel, f = r.getUniqId(), h = n.dataset.videoUrl || s.getVideoUrl(u, o, e), v = s.getHtml(u, h, f), t, i; r.append(c, v); t = document.getElementById(f); i = t.querySelector(".js-modal-video-dismiss-btn"); t.focus(); t.addEventListener("click", function () { r.addClass(t, l.modalVideoClose); setTimeout(function () { r.remove(t); n.focus() }, a) }); t.addEventListener("keydown", function (n) { n.which === 9 && (n.preventDefault(), document.activeElement === t ? i.focus() : (t.setAttribute("aria-label", ""), t.focus())) }); i.addEventListener("click", function () { r.triggerEvent(t, "click") }) }) }) } return u(n, [{ key: "getPadding", value: function (n) { var t = n.split(":"), i = Number(t[0]), r = Number(t[1]), u = r * 100 / i; return u + "%" } }, { key: "getQueryString", value: function (n) { var t = ""; return Object.keys(n).forEach(function (i) { (n[i] == 0 || n[i]) && (t += i + "=" + n[i] + "&") }), t.substr(0, t.length - 1) } }, { key: "getVideoUrl", value: function (n, t, i) { return t === "youtube" ? this.getYoutubeUrl(n.youtube, i) : t === "vimeo" ? this.getVimeoUrl(n.vimeo, i) : t === "facebook" ? this.getFacebookUrl(n.facebook, i) : "" } }, { key: "getVimeoUrl", value: function (n, t) { var i = this.getQueryString(n); return "//player.vimeo.com/video/" + t + "?" + i } }, { key: "getYoutubeUrl", value: function (n, t) { var i = this.getQueryString(n); return n.nocookie === !0 ? "//www.youtube-nocookie.com/embed/" + t + "?" + i : "//www.youtube.com/embed/" + t + "?" + i } }, { key: "getFacebookUrl", value: function (n, t) { return "//www.facebook.com/v2.10/plugins/video.php?href=https://www.facebook.com/facebook/videos/" + t + "&" + this.getQueryString(n) } }, { key: "getHtml", value: function (n, t, i) { var u = this.getPadding(n.ratio), r = n.classNames; return '\n      <div class="' + r.modalVideo + '" tabindex="0" role="dialog" aria-hidden="false" aria-label="' + n.aria.openMessage + '" id="' + i + '">\n        <div class="' + r.modalVideoBody + '">\n          <div class="' + r.modalVideoInner + '">\n            <div class="' + r.modalVideoIframeWrap + '" style="padding-bottom:' + u + '">\n              <button class="' + r.modalVideoCloseBtn + ' js-modal-video-dismiss-btn" aria-label="' + n.aria.dismissBtnMessage + "\"><\/button>
271\n              <iframe width='460' height='230' src=\"" + t + "\" frameborder='0' allowfullscreen=" + n.allowFullScreen + ' tabindex="0"/>\n            <\/div>\n          <\/div>\n        <\/div>\n      <\/div>\n    ' } }]), n }(); i.default = s; t.exports = i["default"] }, { "../lib/util": 6, "custom-event-polyfill": 1, "es6-object-assign": 2 }], 5: [function (n, t) { "use strict"; t.exports = n("./core/") }, { "./core/": 4 }], 6: [function (n, t, i) { "use strict"; Object.defineProperty(i, "__esModule", { value: !0 }); var r = i.append = function (n, t) { var i = document.createElement("div"); for (i.innerHTML = t; i.children.length > 0;)n.appendChild(i.children[0]) }, u = i.getUniqId = function () { return (Date.now().toString(36) + Math.random().toString(36).substr(2, 5)).toUpperCase() }, f = i.remove = function (n) { n && n.parentNode && n.parentNode.removeChild(n) }, e = i.addClass = function (n, t) { n.classList ? n.classList.add(t) : n.className += " " + t }, o = i.triggerEvent = function (n, t, i) { var r = void 0; window.CustomEvent ? r = new CustomEvent(t, { cancelable: !0 }) : (r = document.createEvent("CustomEvent"), r.initCustomEvent(t, !1, !1, i)); n.dispatchEvent(r) } }, {}] }, {}, [3]);
272/*Responsive tabs*/
273!function (n) { "use strict"; var t = { accordionOn: ["xs"] }; n.fn.responsiveTabs = function (i) { var u = n.extend({}, t, i), f = "", r = u; return n.each(u.accordionOn, function (n, t) { f += " accordion-" + t }), this.each(function () { var o = n(this), i = o.find("> li > a"), e = n(i.first().attr("href")).parent(".tab-content"), u = e.children(".tab-pane"), s, t; o.add(e).wrapAll('<div class="responsive-tabs-container" />'); s = o.parent(".responsive-tabs-container"); s.addClass(f); i.each(function (t) { var r = n(this), o = r.attr("href"), u = "", f = "", e = ""; r.parent("li").hasClass("active") && (u = " active"); 0 === t && (f = " first"); t === i.length - 1 && (e = " last"); r.clone(!1).addClass("accordion-link" + u + f + e).insertBefore(o) }); t = e.children(".accordion-link"); i.on("click", function (i) { i.preventDefault(); var s = n(this), f = s.parent("li"), o = f.siblings("li"), h = s.attr("href"), c = e.children('a[href="' + h + '"]'); f.hasClass("active") ? (o.removeClass("active"), o.removeClass("current"), u.removeClass("active"), u.removeClass("current"), t.removeClass("active"), t.removeClass("current"), setTimeout(function () { f.removeClass("active") }), r.onClose && r.onClose()) : (f.addClass("active"), o.removeClass("active"), u.removeClass("active"), n(h).addClass("active"), t.removeClass("active"), t.removeClass("current"), c.addClass("active"), c.addClass("current"), r.onOpen && r.onOpen()) }); t.on("click", function (f) { f.preventDefault(); var e = n(this), s = e.attr("href"), h = o.find('li > a[href="' + s + '"]').parent("li"); e.hasClass("current") ? (t.removeClass("active"), t.removeClass("current"), u.removeClass("active"), n(s).removeClass("active"), i.parent("li").removeClass("active"), h.removeClass("active"), setTimeout(function () { e.removeClass("current"); u.removeClass("active") }), r.onClose && r.onClose()) : (t.removeClass("active"), t.removeClass("current"), e.addClass("current"), u.removeClass("active"), n(s).addClass("active"), i.parent("li").removeClass("active"), h.addClass("active"), r.onOpen && r.onOpen()) }); i.parent(".active").find(">:first-child").each(function () { var t = n(this).attr("href"), i; t && (i = e.children('a[href="' + t + '"]'), i.addClass("current")) }) }) } }(jQuery);
274
275/*Main.js */
276function GetVimeoHtml(n) { var t = n.data("video"); n.after('<iframe src="//player.vimeo.com/video/' + t + '?muted=0&autoplay=1"  frameborder="0" webkitallowfullscreen mozallowfullscreen allowfullscreen><\/iframe>'); n.remove() } function showCitySubNavDetails(n) { var u, t; if (jQuery(".cityNavLink a.active").removeClass("active"), n.addClass("active"), u = n.parent(), t = u.closest(".row").find(".cityNavDesc"), u.length > 0 && t.length > 0) { var i = u.find(".col1").html(), r = u.find(".col2").html(), f = u.find(".col3").html(); i && i.length > 0 && r && r.length > 0 && f && f.length >
276 0 ? (t.find(".col1").html(i).attr("class", "col-sm-4 col1"), t.find(".col2").html(r).attr("class", "col-sm-4 col2"), t.find(".col3").html(f).attr("class", "col-sm-4 col3")) : i && i.length > 0 && r && r.length > 0 ? (t.find(".col1").html(i).attr("class", "col-sm-6 col1"), t.find(".col2").html(r).attr("class", "col-sm-6 col2"), t.find(".col3").html(f).attr("class", "col3")) : (t.find(".col1").html(i).attr("class", "col-sm-12 col1"), t.find(".col2").html(r).attr("class", "col2"), t.find(".col3").html(f).attr("class", "col3")) } } function navColumns() { var n = jQuery(".navColumnsInside").height(); jQuery(".navColumn").css("height", n) } function getMeganavCardsForParent(n, t) { var i = 3, r = !1, u; if (jQuery(window).width() < 992 && (i = 2, r = !0), !(t >= n.length)) { try { u = { parentdocumentid: jQuery(n[t]).val(), navindex: t }; jQuery.post("/BrewsterCMS/Handlers/MeganavCardsAJAX.ashx?action=meganav", u, function (t) { var f, u, e; if (t.Cards && t.Cards.length > 0) for (f = t.CardNavIndex, u = 0; u < t.Cards.length; u++)u < i && (e = createCard(t.Cards[u], r ? "narrow" : "meganav"), jQuery(n[f]).parent().append(e)); t.Debug && console.log(t.Debug) }).fail(function (n) { console.log(n.statusText) }) } catch (f) { } getMeganavCardsForParent(n, ++t) } } function getStripCards(n) { var t = n.children('input[name="search_indexes"]').val(), i = parseInt(n.children('input[name="search_resultsperpage"]').val()), r = n.children('input[name="search_featured"]').val().toLowerCase(), u = n.children('input[name="search_brewsterowned"]').val().toLowerCase(), f = n.children('input[name="search_staticstriplist"]').val(), e = { uicontainerid: n.attr("id"), indexes: t, resultsperpage: i, searchsort: null, filtertype: null, filterregion: null, filterdestination: null, filterduration: null, filterprice: null, filterrating: null, filtercategory: null, filteractivitycategory: null, filterfeatured: r, filterbrewsterowned: u, path: "", filterstartinglocation: null, filterendinglocation: null, searchrandtoken: null, staticlist: f }; jQuery.post("/viadapi/cardlisting/get?action=static", e, function (n) { var i = jQuery("#" + n.UIContainerID), r, t, u; i.find(".loading").hide(); var f = 0, o = parseInt(i.children('input[name="search_resultsperpage"]').val()), e = i.find(".cards"); if (n.Cards && n.Cards.length > 0) { for (r = !1, t = 0; t < n.Cards.length; t++)u = createCard(n.Cards[t]), ++f > o && (u.hide().addClass("hidden"), r = !0), e.append(u), n.Cards[t].IsFeatured && f++; r && i.find(".showMeMoreRow").show() } else e.append('<span class="nodata">' + n.Status + "<\/span>"); n.Debug && console.log(n.Debug) }) } function createCarouselContentHubStripCards(n) { var f = n.find(".content-hub-data:first"), t, n, i, s, r, o, u; if (f.length) { if (t = jQuery.parseJSON(f.html()), n = jQuery("#" + n.attr("id")), n.find(".loading").hide(), i = n.find(".cards"), i.addClass("carousel"), s = n.find(".clearfix:first"), (t || "").length > 0) { var e = -1, h = t.length; for (r = e + 1; r < h; r++)e++, o = createCarouselContentHubCard(t[r], r), i.append(o); u = new Flickity(i[0], { cellAlign: "left", groupCells: !0 }); jQuery(window).load(function () { u.resize() }); setTimeout(function () { u.resize() }) } else i.append('<span class="nodata">No results found.<\/span>'), i.removeClass("carousel"); t.Debug && console.log(t.Debug) } } function getContentHubStripCards(n) { var c = n.find(".content-hub-data:first"), r, s, f, h; if (c.length) { var t = jQuery.parseJSON(c.html()), e = parseInt(n.attr("data-pageSize") || "6"), n = jQuery("#" + n.attr("id")); if (n.find(".loading").hide(), r = n.find(".cards"), s = n.find(".clearfix:first"), (t || "").length > 0) { var o = undefined, u = -1, i = t.length > e ? e : t.length; for (f = u + 1; f < i; f++)u++, h = createContentHubCard(t[f], f, o), o = h, (f > 0 && f % 6 == 0 || f % 6 == 3) && (r = jQuery("<div>", { "class": "row cards" }), r.insertBefore(s)), r.append(h); i = u + 1 + e; i = t.length > i ? i : t.length; u < t.length - 1 ? n.find(".showMeMoreRow").show() : n.find(".showMeMoreRow").hide(); n.find(".showMeMore").click(function (f) { var h, c; for (f.preventDefault(), h = u + 1; h < i; h++)u++, c = createContentHubCard(t[h], h, o), o = c, (h > 0 && h % 6 == 0 || h % 6 == 3) && (r = jQuery("<div>", { "class": "row cards" }), r.insertBefore(s)), r.append(c); i = u + 1 + e; i = t.length > i ? i : t.length; u < t.length - 1 ? n.find(".showMeMoreRow").show() : n.find(".showMeMoreRow").hide() }) } else r.append('<span class="nodata">No results found.<\/span>'); t.Debug && console.log(t.Debug) } } function getGridStripCards(n) { var t = n.children('input[name="search_indexes"]').val(), i = parseInt(n.children('input[name="search_resultsperpage"]').val()), r = n.children('input[name="search_featured"]').val().toLowerCase(), u = n.children('input[name="search_brewsterowned"]').val().toLowerCase(), f = n.children('input[name="search_staticstriplist"]').val(), e = { uicontainerid: n.attr("id"), indexes: t, resultsperpage: i, searchsort: null, filtertype: null, filterregi
276on: null, filterdestination: null, filterduration: null, filterprice: null, filterrating: null, filtercategory: null, filteractivitycategory: null, filterfeatured: r, filterbrewsterowned: u, path: "", filterstartinglocation: null, filterendinglocation: null, searchrandtoken: null, staticlist: f }; jQuery.post("/viadapi/cardlisting/get?action=static", e, function (n) { var i = jQuery("#" + n.UIContainerID), f, e, t, u; i.find(".loading").hide(); var o = 0, s = parseInt(i.children('input[name="search_resultsperpage"]').val()), r = i.find(".cards"), h = i.find(".clearfix:first"); if (n.Cards && n.Cards.length > 0) { for (f = !1, e = undefined, t = 0; t < n.Cards.length; t++)u = createGridCard(n.Cards[t], t, e), e = u, ++o > s && (u.hide().addClass("hidden"), f = !0), (t > 0 && t % 8 == 0 || t % 8 == 5) && (r = jQuery("<div>", { "class": "row cards" }), r.insertBefore(h)), r.append(u); f && i.find(".showMeMoreRow").show() } else r.append('<span class="nodata">' + n.Status + "<\/span>"); n.Debug && console.log(n.Debug) }) } function getPanelStripCards(n) { var t = n.children('input[name="search_indexes"]').val(), i = parseInt(n.children('input[name="search_resultsperpage"]').val()), r = n.children('input[name="search_featured"]').val().toLowerCase(), u = n.children('input[name="search_brewsterowned"]').val().toLowerCase(), f = n.children('input[name="search_staticstriplist"]').val(), e = { uicontainerid: n.attr("id"), indexes: t, resultsperpage: i, searchsort: null, filtertype: null, filterregion: null, filterdestination: null, filterduration: null, filterprice: null, filterrating: null, filtercategory: null, filteractivitycategory: null, filterfeatured: r, filterbrewsterowned: u, path: "", filterstartinglocation: null, filterendinglocation: null, searchrandtoken: null, staticlist: f }; jQuery.post("/viadapi/cardlisting/get?action=static", e, function (n) { var t = jQuery("#" + n.UIContainerID), u, f, i, r; t.find(".loading").hide(); var o = 0, s = parseInt(t.children('input[name="search_resultsperpage"]').val()), e = t.find(".cards"), h = t.find(".clearfix:first"); if (n.Cards && n.Cards.length > 0) { for (u = !1, f = undefined, i = 0; i < n.Cards.length; i++)r = createPanelCard(n.Cards[i], i, f), f = r, ++o > s && (r.hide().addClass("hidden"), u = !0), e.append(r); u && t.find(".showMeMoreRow").show() } else e.append('<span class="nodata">' + n.Status + "<\/span>"); n.Debug && console.log(n.Debug) }) } function getTableStripCards(n) { var t = n.children('input[name="search_indexes"]').val(), i = n.children('input[name="search_staticstriplist"]').val(), r = { uicontainerid: n.attr("id"), indexes: t, searchsort: null, filtertype: null, filterregion: null, filterdestination: null, filterduration: null, filterprice: null, filterrating: null, filtercategory: null, filteractivitycategory: null, path: "", filterstartinglocation: null, filterendinglocation: null, searchrandtoken: null, staticlist: i }; jQuery.post("/viadapi/cardlisting/get?action=static", r, function (n) { var b = jQuery("#" + n.UIContainerID), i, kt, c, l, t, v, u, y, f, s, p, e, h, r, o, w; if (b.find(".loading").hide(), i = b.find(".table"), n.Cards && n.Cards.length > 0) { var k = jQuery("<tr>", { "class": "image-title" }), a = jQuery("<tr>", { "class": "video-row" }), dt = jQuery("<tr>", { "class": "price-title title-row" }), d = jQuery("<tr>", { "class": "from-price" }), gt = jQuery("<tr>", { "class": "child-price" }), g = jQuery("<tr>", { "class": "duration-title title-row" }), nt = jQuery("<tr>", { "class": "duration" }), tt = jQuery("<tr>", { "class": "attractions-title title-row" }), it = jQuery("<tr>", { "class": "attractions" }), rt = jQuery("<tr>", { "class": "meals-title title-row" }), ut = jQuery("<tr>", { "class": "meals" }), ft = jQuery("<tr>", { "class": "direction-title title-row" }), et = jQuery("<tr>", { "class": "direction" }), ot = jQuery("<tr>", { "class": "departs-from-title title-row" }), st = jQuery("<tr>", { "class": "departs-from" }), ht = jQuery("<tr>", { "class": "departure-dates-title title-row" }), ct = jQuery("<tr>", { "class": "departure-dates" }), lt = jQuery("<tr>", { "class": "departure-times-title title-row" }), at = jQuery("<tr>", { "class": "departure-times" }), vt = jQuery("<tr>", { "class": "categories-title title-row" }), yt = jQuery("<tr>", { "class": "categories" }), pt = jQuery("<tr>", { "class": "image-title" }), wt = jQuery("<tr>", { "class": "book-now-row" }), bt = jQuery("<tr>", { "class": "learn-more-row" }); for (dt.append('<td colspan="' + n.Cards.length + '"><span class="title-inner">Price From<\/span><\/td>'), g.append('<td colspan="' + n.Cards.length + '"><span class="title-inner">Length<\/span><\/td>'), tt.append('<td colspan="' + n.Cards.length + '"><span class="title-inner">Attractions<\/span><\/td>'), rt.append('<td colspan="' + n.Cards.length + '"><span class="title-inner">Included meals<\/span><\/td>'), ft.append('<td colspan="' + n.Cards.length + '"><span class="title-inner">Direction<\/span><\/td>'), ot.append('<td colspan="' + n.Cards.length + '"><span class="title-inner">Departs from<\/span><\/td>'), ht.append('<td colspan="' + n.Cards.length + '"><span class="title-inner">Departure dates<\/span><\/td>'), lt.append('<td colspan="' + n.Cards.length + '"><span class="title-inner">Departure time<\/span><\/td>'), vt.append('<td colspan="' + n.Cards.length + '"><span class="title-inner">Highlights<\/span><\/td>'), kt = n.Cards.length > 0 ? 100 / n.Cards.length : 0, c = !1, l = 0; l < n.Cards.length; l++) { for (t = n.Cards[l], r = jQuery('<td style="width: ' + kt + "%;background-image:url(" + t.FullWidthImage + ');"><a href="' + (t.Url || "javascript:void(0);") + '"><div class="caption">' + t.Title + "<\/div><\/a><\/td>"), r.find("a").click(function (n) { n.stopPropagation() }), r.click(function () { jQuery(this).find("a")[0].click() }), k.append(r), v = t.VideoUrl && '<a class="trigger-video" href="javascript:void(0);" data-video-url="' + t.VideoUrl + '">Play Video <i class="far fa-play-circle play-icon"><\/i><\/a>' || "", a.append("<td>" + v + "<\/td>"), c = c || !!v, u = Number(t.PriceFrom), u > 0 ? (u = u % 1 > 0 ? u.toFixed(2) : u, d.append('<td><span class="price">$' + (u || "0") + '<\/span><span class="price-label">' + t.Price_Per_Person_Label + "<\/span><\/td>")) : d.append("<td><\/td>"), y = "", t.Child_Price > 0 && (f = Number(t.Child_Price), f = f % 1 > 0 ? f.toFixed(2) : f, y = '<span class="from">From<\/span><span class="price">$' + f + '<\/span><span class="price-label">' + t.Child_Price_Label + "<\/span>"), gt.append("<td>" + y + "<\/td>"), s = t.DisplayedDuration || "", s && (s = "<div class='duration'> " + s + "<\/div>"), nt.append("<td>" + s + "<\/td>"), it.append("<td>" + (t.Attractions || "") + "<\/td>"), ut.append("<td>" + (t.Meals || "") + "<\/td>"), et.append("<td>" + (t.Direction || "") + "<\/td>"), st.append("<td>" + (t.Departs_from || "") + "<\/td>"), ct.append("<td>" + (t.Departure_Dates || "") + "<\/td>"), at.append("<td>" + (t.Departure_Time || "") + "<\/td>
276"), p = "", e = 0; e < t.Features.length; e++)h = (t.Features[e].Icon || "").trim(), h[0] === "~" && (h = h.substr(1)), p += '<span class="category"><img src="' + h + '" alt="' + t.Features[e].Title + '">' + t.Features[e].Title + "<\/span>"; yt.append("<td>" + p + "<\/td>"); r = jQuery('<td class="bottom-title" style="background-image:url(' + t.FullWidthImage + ');"><a href="' + (t.Url || "javascript:void(0);") + '"><div class="caption">' + t.Title + "<\/div><\/a><\/td>"); r.find("a").click(function (n) { n.stopPropagation() }); r.click(function () { jQuery(this).find("a")[0].click() }); pt.append(r); o = ""; t.VentrataConfigJson ? (o = jQuery('<a class="btn" href="javascript:void(0);">' + (t.ExploreURLText || "Explore") + "<\/a>"), o.data("config", t.VentrataConfigJson), o.click(function (n) { try { var t = jQuery(this).data("config"); return typeof t == "string" && (t = JSON.parse(t)), console.log("Trigger ventrata event: ", t), window.Ventrata && window.Ventrata(t), n.preventDefault(), !1 } catch (i) { console.error("Ventrata custom click. Error parsing JSON string:", i) } }
276)) : t.ExploreURL && (o = '<a class="btn" target="_blank" href="' + t.ExploreURL + '">' + (t.ExploreURLText || "Explore") + "<\/a>"); wt.append(jQuery("<td><\/td>").append(o)); w = ""; t.Url && (w = '<a class="btn detail-page-link learn-more" href="' + t.Url + '">' + (t.PageURLLabel || "Page URL") + "<\/a>"); bt.append("<td>" + w + "<\/td>") } i.append(k); c && i.append(a); i.append(g); i.append(nt); i.append(tt); i.append(it); i.append(rt); i.append(ut); i.append(ft); i.append(et); i.append(ot); i.append(st); i.append(ht); i.append(ct); i.append(lt); i.append(at); i.append(vt); i.append(yt); i.append(pt); i.append(wt); i.append(bt); a.find(".trigger-video").modalVideo() } else i.append('<tr><td class="col-sm-12">' + n.Status + "<\/td><\/tr>"); n.Debug && console.log(n.Debug) }) } function bindModalToggle(n) { var t = n.data("target"); n.click(function () { var n = jQuery(t), i = n.find("input[name=modalUrl]").val(); n.find("iframe").attr("src", i); jQuery(t).modal() }) } function isMobileСontentHub() { return Math.max(document.documentElement.clientWidth, window.innerWidth || 0) < 768 } function createCarouselContentHubCard(n) { var u = jQuery("<div>", { "class": "explorer-card carousel-cell" }), t, c, r, s, f, l, e, o, h, i; return n.AnimatedGIF && u.hover(function () { if (!isMobileСontentHub()) { var t = u.find("a:first"); $(this).find(".play-icon").hide(); $(this).find("video:first").css("opacity", ""); $(this).find("img:not('.animated-gif')").each(function () { t.removeClass("hoverout"); var i = $(this).height(); i <= 0 || (t.css("background-image", "url('" + n.AnimatedGIF + "')"), t.css("background-size", "cover"), t.css("display", "block"), jQuery(this).css("opacity", 0)) }) } }, function () { var n = u.find("a:first"); $(this).find(".play-icon").show(); $(this).find("video:first").css("opacity", "0"); $(this).find("img:not('.animated-gif')").each(function () { var t = $(this).height(); t <= 0 || (n.css("background-image", ""), jQuery(this).css("opacity", "")) }) }), t = jQuery("<a>", { href: n.Url || "javascript:void(0)", target: n.IsExternal ? "_blank" : "_self", "class": "" }), u.append(t), n.AnimatedGIF && (c = jQuery('<i class="far fa-play-circle play-icon" style="z-index:1;"><\/i>'), r = null, n.AnimatedGIF.indexOf(".gif") >= 0 ? (r = jQuery("<img>", { "class": "img-responsive bg-image animated-gif", src: n.AnimatedGIF }), r.hide()) : (r = $("<video autoplay loop muted style='width: 100%; height: 100%; position:absolute; top:0; left:0; object-fit:cover; opacity:0;'><\/video>"), s = $("<source type='video/webm'><\/source>"), s.attr("src", n.AnimatedGIF), r.append(s)), t.append(c), t.append(r)), f = jQuery("<img>", { "class": "img-responsive bg-image" }), t.append(f), l = n.FullWidthImage, f.attr("src", l), f.attr("alt", n.Title), f.addClass("hidden-xs"), e = jQuery("<img>", { "class": "img-responsive bg-image visible-xs" }), t.append(e), e.attr("src", n.FullWidthImage || n.FullHeightImage), e.attr("alt", n.Title), n.IsExternal && n.PublicationLogo && (o = jQuery("<img>", { "class": "img-responsive publication-logo" }), t.append(o), o.attr("src", n.PublicationLogo), o.attr("alt", n.PublicationName)), h = jQuery("<div>", { "class": "caption-bar card-link collapsed" }), t.append(h), i = jQuery("<div>", { "class": "caption-title" }), h.append(i), n.IsExternal && n.PublicationName && i.append('<div class="publication-name">' + n.PublicationName + "<\/div>"), i.append('<div class="date">' + n.Date + "<\/div>"), i.append('<div class="title">' + n.Title + "<\/div>"), n.Content && i.append('<div class="content">' + n.Content + "<\/div>"), (n.ReadTime || "").length && i.append('<div class="sub-title"><span class="duration-icon"><\/span>' + (n.ReadTime || "") + "<\/div>"), i.append('<span class="contenthub-type ' + n.Type + '"><\/span>'), u } function createContentHubCard(n, t, i) { var r, u, y, f, a, s, p, h, c, v, e; t = t % 6;
276 var o = { 0: 0, 1: 1, 2: 1, 3: 2, 4: 2, 5: 3 }, l = i, w = o[t] !== o[t - 1]; return w && (l = jQuery("<div>", { "class": { 0: "col-md-8 col-sm-12 explorer-card-container", 1: "col-md-4 col-sm-12 explorer-card-container two-items", 2: "col-md-4 col-sm-12 explorer-card-container two-items", 3: "col-md-8 col-sm-12 explorer-card-container" }[o[t]] })), r = jQuery("<div>", { "class": "explorer-card" }), n.AnimatedGIF && r.hover(function () { if (!isMobileСontentHub()) { r.addClass("animated-image"); var t = r.find("a:first"); $(this).find(".play-icon").hide(); $(this).find("video:first").css("opacity", ""); $(this).find("img:not('.animated-gif')").each(function () { t.removeClass("hoverout"); var i = $(this).height(); i <= 0 || (t.css("background-image", "url('" + n.AnimatedGIF + "')"), t.css("background-size", "cover"), t.css("display", "block"), jQuery(this).css("opacity", 0)) }) } }, function () { r.removeClass("animated-image"); var n = r.find("a:first"); $(this).find(".play-icon").show(); $(this).find("video:first").css("opacity", "0"); $(this).find("img:not('.animated-gif')").each(function () { var t = $(this).height(); t <= 0 || (n.css("background-image", ""), jQuery(this).css("opacity", "")) }) }), l.append(r), u = jQuery("<a>", { href: n.Url || "javascript:void(0)", target: n.IsExternal ? "_blank" : "_self", "class": "" }), r.append(u), n.AnimatedGIF && (y = jQuery('<i class="far fa-play-circle play-icon" style="z-index:1;"><\/i>'), f = null, n.AnimatedGIF.indexOf(".gif") >= 0 ? (f = jQuery("<img>", { "class": "img-responsive bg-image animated-gif", src: n.AnimatedGIF }), f.hide()) : (f = $("<video autoplay loop muted style='width: 100%; height: 100%; position:absolute; top:0; left:0; object-fit:cover; opacity:0;'><\/video>"), a = $("<source type='video/webm'><\/source>"), a.attr("src", n.AnimatedGIF), f.append(a)), console.log("create content hub animated card:", n.AnimatedGIF, f), u.append(y), u.append(f)), s = jQuery("<img>", { "class": "img-responsive bg-image" }), u.append(s), p = n.FullWidthImage, s.attr("src", p), s.attr("alt", n.Title), (o[t] === 0 || o[t] === 3) && (s.addClass("hidden-xs"), h = jQuery("<img>", { "class": "img-responsive bg-image visible-xs" }), u.append(h), h.attr("src", n.FullWidthImage || n.FullHeightImage), h.attr("alt", n.Title)), n.IsExternal && n.PublicationLogo && (c = jQuery("<img>", { "class": "img-responsive publication-logo" }), u.append(c), c.attr("src", n.PublicationLogo), c.attr("alt", n.PublicationName)), v = jQuery("<div>", { "class": "caption-bar card-link collapsed" }), u.append(v), e = jQuery("<div>", { "class": "caption-title" }), v.append(e), n.IsExternal && n.PublicationName && e.append('<div class="publication-name">' + n.PublicationName + "<\/div>"), e.append('<div class="date">' + n.Date + "<\/div>"), e.append('<div class="title">' + n.Title + "<\/div>"), (n.ReadTime || "").length && e.append('<div class="sub-title"><span class="duration-icon"><\/span>' + (n.ReadTime || "") + "<\/div>"), e.append('<span class="contenthub-type ' + n.Type + '"><\/span>'), l } function createGridCard(n, t, i) { var e, o, y, h, c, u, s, r, p, v, l; t = t % 8;
276 var f = { 0: 0, 1: 1, 2: 1, 3: 2, 4: 2, 5: 3, 6: 3, 7: 4 }, a = i, w = f[t] !== f[t - 1]; return w && (a = jQuery("<div>", { "class": { 0: "col-md-4 col-sm-6 explorer-card-container full-height", 1: "col-md-4 col-sm-6 explorer-card-container", 2: "col-md-4 col-sm-12 explorer-card-container two-items", 3: "col-md-4 col-sm-12 explorer-card-container two-items", 4: "col-md-8 col-sm-12 explorer-card-container" }[f[t]] })), e = jQuery("<div>", { "class": "explorer-card" }), a.append(e), o = jQuery("<img>", { "class": "img-responsive bg-image" }), e.append(o), y = f[t] === 0 ? n.FullHeightImage : n.FullWidthImage, o.attr("src", y), o.attr("alt", n.Title), f[t] === 0 && (o.addClass("hidden-xs"), h = jQuery("<img>", { "class": "img-responsive bg-image visible-xs" }), e.append(h), h.attr("src", n.FullWidthImage), h.attr("alt", n.Title)), c = jQuery("<div>", { "class": "caption-bar collapsed" }), u = jQuery("<a>", { "class": "card-link", href: n.Url }), c.append(u), u.click(function (n) { var t = jQuery(this).parent(); if (t.hasClass("collapsed")) { n.preventDefault(); t.click(); return } return }), c.click(function (n) { var t = jQuery(this), i; (t.data.origHeight || (t.data.origHeight = t.outerHeight()), !n.originalEvent || t.hasClass("collapsed")) && (n.stopPropagation(), t.toggleClass("collapsed"), i = t.find(".abstract:first"), t.attr("heightInit") || (i.fadeTo(0, 0), t.attr("heightInit", "1"), t.height(t.data.origHeight)), t.hasClass("collapsed") ? (i.show(), i.fadeTo(400, 0), t.animate({ height: t.data.origHeight + "px" }, 500, function () { })) : (i.show(), i.fadeTo(400, 1), t.animate({ height: "100%", bottom: "0" }, 500, function () { }))) }), e.append(c), s = jQuery("<div>", { "class": "caption-title" }), u.append(s), s.append('<div class="title">' + n.Title + '<span class="toggler"><\/span><\/div>'), s.find(".toggler:first").click(function (n) { return n.stopPropagation(), n.preventDefault(), jQuery(this).parents(".caption-bar:first").click(), !1 }), r = n.DisplayedDuration || "", r && (r = r.toUpperCase(), r = "<span> | " + r + "<\/span>"), p = !n.IsHidePice && n.PriceFrom > 0 && '<span class="from">FROM<\/span><span class="price">$' + (n.PriceFrom || "0") + "<\/span>" || "", s.append('<div class="sub-title">' + p + r + "<\/div>"), u.append('<div class="abstract">' + (n.Content || "").replace(/\r\n/g, "<br />") + "<\/div>"), v = jQuery("<div>", { "class": "more-link-container" }), u.append(v), l = jQuery("<span>"), v.append(l), l.attr("href", n.Url), l.text("Learn More"), a } function createPanelCard(n) { var b = jQuery("<div>", { "class": "col-md-4 col-sm-6 explorer-card-container explorer-panel-container" }), l = jQuery("<div>", { "class": "explorer-card explorer-panel" }), a, u, s, k, r, v, t, y, f, p, e, o, w, h, c, i; if (b.append(l), a = jQuery("<div>", { "class": "panel-image" }), l.append(a), u = jQuery("<a>", { href: n.Url }), a.append(u), s = jQuery("<img>", { "class": "img-responsive" }), k = n.FullWidthImage, s.attr("src", k), s.attr("alt", n.Title), u.append(s), u.append(jQuery("<div>", { "class": "overlay" })), u.append('<div class="title">' + n.Title + "<\/div>"), r = jQuery("<div>", { "class": "panel-content" }), l.append(r), v = !n.IsHidePice && n.PriceFrom > 0 && '<div class="from-price"><span class="from">From<\/span><span class="price">$' + (n.PriceFrom || "0") + '<\/span><span class="price-label ">' + n.Price_Per_Person_Label + "<\/span><\/div>" || "", t = n.DisplayedDuration || "", t && (y = "", v || (y = `style='float:left;'`), t = t.toUpperCase(), t = "<div class='duration' " + y + "> " + t + "<\/div>"), r.append('<div class="sub-title">' + v + t + "<\/div>"), r.append('<div class="abstract">' + (n.Content || "").replace(/\r\n/g, "<br />") + "<\/div>"), f = jQuery("<div>", { "class": "features-container" }), r.append(f), (n.Features || "").length) for (p = jQuery("<div>", { "class": "categories" }), f.append(p), e = 0; e < n.Features.length; e++)o = (n.Features[e].Icon || "").trim(), o[0] === "~" && (o = o.substr(1)), p.append('<span class="category"><img src="' + o + '" alt="' + n.Features[e].Title + '"><\/span>'); return n.Departure_Dates && n.Display_date_time == "Dates" && (w = jQuery("<div>", { "class": "departure-dates-container" }), w.append('<span class="departure-dates">' + n.Departure_Dates + "<\/span>"), f.append(w)), n.Departure_Time && n.Display_date_time == "Times" && (h = jQuery("<div>", { "class": "departs-container" }), h.append('<span class="departs-title">Departs<\/span>'), h.append('<span class="departs-time">' + n.Departure_Time + "<\/span>"), f.append(h)), c = jQuery("<div>", { "class": "links-container" }), r.append(c), i = "", n.VentrataConfigJson ? (i = jQuery('<a class="btn" href="javascript:void(0);">' + (n.ExploreURLText || "Explore") + "<\/a>
276"), i.data("config", n.VentrataConfigJson), i.click(function (n) { try { var t = jQuery(this).data("config"); return typeof t == "string" && (t = JSON.parse(t)), console.log("Trigger ventrata event: ", t), window.Ventrata && window.Ventrata(t), n.preventDefault(), !1 } catch (i) { console.error("Ventrata custom click. Error parsing JSON string:", i) } })) : n.ExploreURL && (i = '<a class="btn" target="_blank" href="' + n.ExploreURL + '">' + (n.ExploreURLText || "Explore") + "<\/a>"), i && c.append(i), n.Url && c.append('<a class="btn detail-page-link learn-more" href="' + n.Url + '">' + (n.PageURLLabel || "Page URL") + "<\/a>"), b } function createCard(n, t) { var u = jQuery("<div>"), c, l, f, e, a, v, i, y, r, o, s, h, p; if (n.IsFeatured ? (u.addClass("col-sm-8"), t != "meganav" && u.addClass("col-md-6")) : t == "narrow" ? u.addClass("col-sm-6") : (u.addClass("col-sm-4"), t != "meganav" && u.addClass("col-md-3")), c = jQuery("<div>"), u.append(c), c.addClass("flipToggle").addClass("flipContainer"), n.IsFeatured && c.addClass("featuredCard"), l = jQuery("<div>"), c.append(l), l.addClass("flipper").addClass("card"), f = jQuery("<div>"), l.append(f), f.addClass("front").addClass(n.ProductType), e = jQuery("<img>"), f.append(e), e.attr("src", n.Image), e.attr("alt", n.Title), e.addClass("img-responsive"), n.IsFeatured ? e.addClass("cardFeaturedThumb") : e.addClass("cardThumb"), a = jQuery("<img>"), f.append(a), a.attr("src", n.ImageAlt), a.attr("alt", n.TitleAlt), a.addClass("img-responsive").addClass("cardThumbAlt"), n.IsBrewster && f.append('<img alt="Brewster Owned" src="/images/layout/Brewster-owned.png" class="brewsterOwned">'), v = jQuery("<div>"), f.append(v), v.addClass("cardDetails"), v.append('<div class="cardName">' + n.Title + "<\/div>"), i = jQuery("<div>"), v.append(i), i.addClass("cardFooter"), y = jQuery("<div>"), i.append(y), y.addClass("cardRating"), n.Rating && !isNaN(n.Rating) && (r = parseFloat(n.Rating), !isNaN(r))) for (o = 1; o <= 5; o++)r = Math.round(r * 4) / 4, s = jQuery("<div>"), r >= o ? s.addClass("starOn") : r >
276= o - .25 ? s.addClass("starThreeQuarter") : r >= o - .5 ? s.addClass("starHalf") : r >= o - .75 ? s.addClass("starOneQuarter") : s.addClass("starOff"), y.append(s); return !n.IsHidePice && n.PriceFrom > 0 ? i.append('<div class="cardFromPrice"><span class="from">FROM<\/span><br /><span class="price">$' + n.PriceFrom || "0<\/span><br /> <\/div>") : i.append('<div class="cardFromPrice"><br /> <\/div>'), i.append('<div class="cardProductTypeIcon"><\/div>'), i.append('<div class="clear"><\/div>'), h = jQuery("<div>"), l.append(h), h.addClass("back").addClass(n.ProductType), h.append('<div class="cardName">' + n.Title + "<\/div>"), h.append('<div class="cardAbstract">' + n.Content.replace(/\r\n/g, "<br />") + "<\/div>"), p = jQuery("<a>"), h.append(p), p.attr("href", n.Url), p.append('<div class="cardLink">Learn More<\/div>'), u } function DropDown(n, t) { var i, r, u; this.isStatic = t; this.dd = n; this.placeholder = this.dd.children("span"); this.opts = this.dd.find("ul.dropdown > li"); this.val = []; this.index = []; this.initEvents(); this.ul = this.dd.children("ul.dropdown"); i = this.ul.css("column-count"); jQuery(window).width() >= 992 && i && i !== "auto" && (r = parseInt(this.opts.length / 8) + 1, u = (parseInt(this.opts.length / 8) + 1) * 200, this.ul.css("column-count", r).width(u)) } function setupGallery() { var n; jQuery(".photoGalleryLink").click(function (n) { if (n.preventDefault(), jQuery("#photogallery .modal").modal(), !jQuery("#galleria").data("loaded")) { var t = jQuery(this).data("photos"); jQuery.post("/BrewsterCMS/Handlers/GetMediaPhotos.ashx", { galleryphotoids: t }, function (n) { var i, t, r, u; if (n && n.length > 0) { for (i = 0; i < n.length; i++)t = n[i], r = jQuery("<a>"), r.attr("href", t.URL), u = jQuery("<img>"), r.append(u), u.attr("src", t.URL).data("title", t.Title).data("description", t.Description), jQuery("#galleria").append(r); Galleria.configure({ transition: "fade", imageCrop: !0 }); Galleria.run("#galleria", { showInfo: !0 }); openGalleryToPhoto() } }).fail(function (n) { console.log(n.statusText) }); jQuery("#galleria").data("loaded", !0) } }); n = jQuery(".photoGalleryLink"); jQuery("#photogallery .close").click(function () { jQuery("#photogallery .modal").modal("hide") }); jQuery(".videoGalleryLink").click(function (n) { var i, r, t, u, f; if (n.preventDefault(), jQuery("#galleriaVideo").empty(), i = jQuery(".videoGalleryLink"), i && i.length > 0) for (t = 0; t < i.length; t++)for (r = jQuery.parseJSON(jQuery(i[t]).next("input").val()), t = 0; t < r.length; t++)u = jQuery("<a>"), u.attr("href", r[t].Url), f = jQuery("<span>"), u.append(f), f.addClass("video").text("Watch this").data("title", r[t].Title).data("description", r[t].Description), jQuery("#galleriaVideo").append(u); jQuery("#videogallery .modal").modal(); Galleria.run("#galleriaVideo", { showInfo: !0 }) }); jQuery("#videogallery .modal").on("hidden.bs.modal", function () { jQuery("#galleriaVideo").empty() }); jQuery("#videogallery .close").click(function () { jQuery("#videogallery .modal").modal("hide") }); jQuery(".webcamLink").click(function (n) { var f, i, t, r, u; if (n.preventDefault(), jQuery("#webcams .modal").modal(), !jQuery("#galleriaWebcam").data("loaded")) { for (f = jQuery(this), i = jQuery.parseJSON(f.next("input").val()), t = 0; t < i.length; t++)r = jQuery("<a>"), r.attr("href", i[t].Url), u = jQuery("<img>"), r.append(u), u.attr("src", i[t].Url).data("title", i[t].Title).data("description", i[t].Description), jQuery("#galleriaWebcam").append(r); Galleria.run("#galleriaWebcam", { showInfo: !0 }); jQuery("#galleriaWebcam").data("loaded", !0) } }); jQuery("#webcams .close").click(function () { jQuery("#webcams .modal").modal("hide") }) } function loadWebcamStripLinks(n, t) { var e = 0, o = jQuery("#" + t).val(), r, i, u, f; if (o.length > 0) for (r = jQuery.parseJSON(o), i = 0; i < r.length; i++)u = jQuery("<a>"), u.attr("href", r[i].Url), f = jQuery("<img>"), u.append(f), f.attr("src", r[i].Url).data("title", r[i].Title).data("description", r[i].Description), jQuery("#" + n).append(u), e++; return e } function openGalleryToPhoto() { var r, n, f, u, t; if (window.location.hash.indexOf("photo") > 0 && (r = window.location.hash.substr(6), r && !isNaN(r) && (n = jQuery(".photoGalleryLink"), n && n.length > 0))) for (i = 0; i < n.length; i++)for (f = jQuery(n[i]).data("photos"), u = f.split(","), t = 0; t < u.length; t++)r == u[t] && (n[i].click(), setTimeout("showPhoto(" + t + ");", 500)) } function showPhoto(n) { var t = Galleria.get(0); t.show(n) } !function (n) { function i() { var n = window, t = "inner"; return "innerWidth" in window || (t = "client", n = document.documentElement || document.body), { width: n[t + "Width"], height: n[t + "Height"] } } function r() { var n = i().width; return n < 768 ? "xs" : n < 992 ? "sm" : n < 1200 ? "md" : "lg" } function t() { return } n(function () { function f() { n(".history-carousel[data-flickity-settings]").each(function () { var t = new Flickity(n(this)[0], n.parseJSON(n(this).attr("data-flickity-settings"))) }) } function o() { function i(n) { var t = n.children("a").first(); t.attr("aria-expanded", "true"); n.addClass("open"); n.find(".dropdown-menu").addClass("show") } function t(n) { var t = n.children("a").first(); t.attr("aria-expanded", "false"); n.removeClass("open"); n.find(".dropdown-menu").removeClass("show") } $("#primary-subnavmobile .dropdown-submenu").each(function () { var n = $(this).children("a").first(), t = $(this).find(".dropdown-menu").length > 0; t && n.attr("aria-haspopup", "true") }); $("#primary-subnavmobile .dropdown-submenu").on("keydown", function (n) { var o = n.key === "Tab" || n.keyCode === 9, u = event.key === " ", e = $(this).find(".dropdown-menu").length > 0, r, f; e && (r = $(this).children("a").first(), console.log("keydown check enter"), r.attr("href") && ((r.attr("href") || "").length < 3 || r.attr("href").indexOf("java") == 0) && (u = u || event.key === "Enter"), u && (n.preventDefault(), f = $(this).hasClass("open"), f ? t($(this)) : i($(this)))) }); $("#primary-subnavmobile .dropdown-submenu .dropdown-menu a").on("keydown", function (i) { var r, u, f; if (i.stopPropagation(), console.log("Key Down Stop Propagation: .dropdown-submenu .dropdown-menu"), r = i.key === "Tab" || i.keyCode === 9, r) { const i = event.shiftKey; console.log("isTab:", n(this).parent().index()); u = n(this).parent().index() == 0; f = n(this).parent().index() == n(this).parent().parent().children().length - 1; i && u ? t($(this).closest(".dropdown-submenu")) : !i && f && t($(this).closest(".dropdown-submenu")) } }) } function i() { n("div[data-flickity-options]").each(function () { if (n(this).find(".gallery-cell").length <= 4 && n(window).width() >= 1340 || n(this).find(".gallery-cell").length < 4 && n(window).width() >= 1015 && n(window).width() <= 1340) { n(this).data("flickity") && (n(this).addClass("disabled-slider"), n(this).flickity("destroy")); n(this).find("a").on("click", function (t) { var i = n(this).hasClass("is-modal"), r; return i ? (t.preventDefault(), r = n(this).parent().find(".modal
276-content"), r.modal(), !1) : !i && (n(this).attr("href") == "" || typeof n(this).attr("href") == "undefined") ? !1 : void 0 }) } else n(this).data("flickity") || (n(this).removeClass("disabled-slider"), s(n(this))), n(this).find("a").off("click", "**") }) } function s(t) { var i = t.data("flickity-options"); i.wrapAround && t.find(".gallery-cell").length < 5 && (i.wrapAround = !1); t.flickity(i); t.on("staticClick", function (t, i, r) { var u, f; return r ? (u = n(r).is("a") ? n(r) : n(r).find("a:eq(0)"), !u.hasClass("is-modal")) ? !1 : (f = u.parent().find(".modal-content"), f.modal(), !0) : !1 }) } var u = { init: function () { n(".mosaic-item").click(function (t) { t.stopPropagation(); n(this).find(".caption-bar:first").toggleClass("collapsed") }); n(".mosaic-item .more-link-container a").click(function (n) { n.stopPropagation() }); n(".mosaic-item .caption-bar").click(function () { var t = n(this).find(".more-link-container a:first")[0]; return t && t.click(), !1 }) } }, t = { init: function () { this.frameEls = n(".dynamicFrameHeight"); this.resize() }, resize: function () { var t, i; (this.frameEls || "").length && (t = r(), t = t == "xs" || t == "sm", i = t ? "data-mobH" : "data-deskH", this.frameEls.each(function () { var t = n(this).attr(i); t && t > 0 && n(this).height(t) })) } }, e = { createCookie: function (n, t, i) { var u, r; i ? (r = new Date, r.setTime(r.getTime() + i * 864e5), u = "; expires=" + r.toGMTString()) : u = ""; document.cookie = n + "=" + t + u + "; path=/;domain=" + window.location.hostname.replace("www", "") }, getCookie: function (n) { var t, i; return document.cookie.length > 0 && (t = document.cookie.indexOf(n + "="), t != -1) ? (t = t + n.length + 1, i = document.cookie.indexOf(";", t), i == -1 && (i = document.cookie.length), unescape(document.cookie.substring(t, i))) : "" }, init: function () { var t = this, i; console.log("init alert strip"); i = "alertinteracted"; n("[data-interactcookieid]").each(function () { var o = n(this).data("interactcookieid"), e = n(this).data("interactcookieduration"), f, r, u; e > 0 && (f = i + o, t.getCookie(f) ? (r = n(this).find(".btn-alert-toggle:first"), u = n(r.data("target")), r.addClass("collapsed"), r.attr("aria-expanded", !1), u.addClass("collapse"), u.removeClass("in"), u.attr("aria-expanded", !1)) : t.createCookie(f, (new Date).toJSON(), e)) }) } }; n(document).ready(function () { o(); f(); u.init(); t.init(); e.init(); n(".simple-carousel").each(function () { var r = n(this), i = r.attr("id") && n(".carousel-control[href=#" + r.attr("id") + "]"), t = r.find(".simple-item"), u; if (t.length <= 1) { i && i.hide(); return } i && (u = t.filter(".is-active").index(), u == t.length - 1 && i.filter(".right").hide(), u == 0 && i.filter(".left").hide(), i.click(function (r) { r.preventDefault(); r.stopPropagation(); var e = n(this).hasClass("left"), u = 0, f = t.filter(".is-active").index(); u = e ? f > 0 ? f - 1 : t.length - 1 : f < t.length - 1 ? f + 1 : 0; u == t.length - 1 ? i.filter(".right").hide() : i.filter(".right").show(); u == 0 ? i.filter(".left").hide() : i.filter(".left").show(); t.hide(); t.removeClass("is-active"); t.eq(u).show(); t.eq(u).addClass("is-active") })) }); n(".custom-generic-tabs").responsiveTabs({ accordionOn: ["xs", "sm"], onClose: function () { }, onOpen: function () { n(".tab-pane.active [data-flickity]").each(function () { var t = n(this).data("flickity"); t && t.resize && t.resize() }) } }); $(window).width() < 991 && n(".filter-button.accordion-link.current").click(); n(".close-promo").click(function () { var t = n(this).parents(".banner-promo:first"); t.length && (n(this).toggleClass("closed"), t.find(".promo-content:first").slideToggle()) }); n("body").on("initFormFrameHeight", function () { t.init() }) }); n("body").on("click", "#simplemodal-overlay", function () { return n("#simplemodal-container").parent().find(".simplemodal-close").click(), !1 }); n(window).resize(function () { i(); t.resize() }); i(); n("#heroCarousel .item").length && n("#heroCarousel").carousel({ pause: "false" }); n("#inlineCarousel").carousel({}); n(".stripCarousel .carousel").carousel({ interval: 5e3 }); n(".carousel-inner").each(function () { n(this).children("div").length === 1 && n(this).siblings(".carousel-control, .carousel-indicators").hide() }); n("#jumplinksV2").affix({ offset: { top: n("#header").height() + n(".strip-banner").height() } }); n("#jumplinksV2 .jumplink a").click(function (t) { var i = this.hash; i.indexOf("#") == 0 && (i = i.substr(1)); n("#" + i).length > 0 && (t.preventDefault(), n("html, body").animate({ scrollTop: n("#" + i).offset().top }, 1e3)) }); n(".strip-more-exploring .caption-bar:not(.no-expand)").click(function () { var t = n(this), i; t.toggleClass("collapsed"); t.hasClass("collapsed") ? (t.animate({ height: "124px" }, 500, function () { }), i = t.siblings(".link"), i.toggleClass("collapsed")) : t.animate({ height: "100%" }, 500, function () { var n = t.siblings(".link"); n.toggleClass("collapsed") }) }); n(".strip-more-exploring .jcarousel, .strip-content-hub-more .jcarousel").each(function (t, i) { var r = n(i), u = r.parent(), f = r.hasClass("large-display"); r && r.length > 0 && (r.find(".carousel-cell").length > 1 || r.find(".explorer-card").length >
276 1) ? (r.on("jcarousel:reload jcarousel:create", function () { var t = n(this), i = t.innerWidth(); t.jcarousel("items").css("width", f ? "557px" : "384px") }).jcarousel({ wrap: "circular" }), u.find(".jcarousel-control-prev").jcarouselControl({ target: "-=1" }), u.find(".jcarousel-control-next").jcarouselControl({ target: "+=1" }), r.touchwipe({ wipeLeft: function () { r.jcarousel("scroll", "+=1") }, wipeRight: function () { r.jcarousel("scroll", "-=1") }, preventDefaultEvents: !1 })) : (u.find(".jcarousel-control-prev").hide(), u.find(".jcarousel-control-next").hide()) }) }); n(function () { var t = n(".topNavCardsBox input[type=hidden]"); getMeganavCardsForParent(t, 0) }); n(function () { for (var i = n("a.accordion-toggle-link"), t = 0; t < i.length; t++)bindModalToggle(n(i[t])) }); n(function () { (n(".photoGalleryLink").length > 0 || n(".videoGalleryLink").length > 0 || n(".webcamLink").length > 0) && Galleria.loadTheme("/styles/galleria/themes/ecubed/galleria.ecubed.min.js") }); n(function () { var i = n(".featuredCardsStripData"), t, r; if (i.length > 0) for (t = 0; t < i.length; t++)r = n(i[t]), getGridStripCards(r); n(".featuredCardsStripData .showMeMoreRow").click(function () { for (var r, e, t = n(this).closest(".featuredCardsStripData"), u = t.find(".hidden"), f = 0, o = parseInt(t.children('input[name="search_resultsperpage"]').val()), i = 0; i < u.length; i++)if (r = n(u[i]), r.show().removeClass("hidden"), r.find("div:first").hasClass("featuredCard") && f++, ++f >= o) break; return e = t.find(".hidden"), e.length == 0 && t.find(".showMeMoreRow").hide(), !1 }) }); n(function () { var o = n(".contentHubCards"), i, r, s, u, t, h, f, e, c; if (o.length > 0) for (t = 0; t < o.length; t++)i = n(o[t]), i.hasClass("contentHubCardsAnimation") ? createCarouselContentHubStripCards(i) : getContentHubStripCards(i); if (r = n(".featuredCardsStripDataGrid"), r.length > 0) for (t = 0; t < r.length; t++)s = n(r[t]), getGridStripCards(s); if (n(".featuredCardsStripDataGrid .showMeMoreRow").click(function () { for (var r, e, t = n(this).closest(".featuredCardsStripDataGrid"), u = t.find(".hidden"), f = 0, o = parseInt(t.children('input[name="search_resultsperpage"]').val()), i = 0; i < u.length; i++)if (r = n(u[i]), r.show().removeClass("hidden"), r.find("div:first").hasClass("featuredCard") && f++, ++f >= o) break; return e = t.find(".hidden"), e.length == 0 && t.find(".showMeMoreRow").hide(), !1 }), u = n(".featuredCardsStripDataPanel"), u.length > 0) for (t = 0; t < u.length; t++)h = n(u[t]), getPanelStripCards(h); if (n(".featuredCardsStripDataPanel .showMeMoreRow").click(function () { for (var r, e, t = n(this).closest(".featuredCardsStripDataPanel"), u = t.find(".hidden"), f = 0, o = parseInt(t.children('input[name="search_resultsperpage"]').val()), i = 0; i < u.length; i++)if (r = n(u[i]), r.show().removeClass("hidden"), r.find("div:first").hasClass("featuredCard") && f++, ++f >= o) break; return e = t.find(".hidden"), e.length == 0 && t.find(".showMeMoreRow").hide(), !1 }), f = n(".featuredCardsStripDataTable:not(.comboTable)"), f.length > 0) for (e = 0; e < f.length; e++)c = n(f[e]), getTableStripCards(c) }); n(function () { }); n(function () { var r = n(".galleria.stripWebcams"), t, i, u, f; if (r.length > 0) for (t = 0; t < r.length; t++)try { i = n(r[t]); u = i.siblings("input[type=hidden]"); loadWebcamStripLinks(i.attr("id"), u.attr("id")); f = Galleria.run("#" + i.attr("id"), { showInfo: !0, transition: "fade" }) } catch (e) { console.log(e.message) } }); n(function () { n("#jumpLinks .jumpLink a, .btn-inquire").click(function (t) { var i = this.hash; i.indexOf("#") == 0 && (i = i.substr(1)); n("a[name='" + i + "']").length > 0 && (t.preventDefault(), n("html, body").animate({ scrollTop: n("a[name='" + i + "']").offset().top }, 1e3)) }); n("a.backtotop").click(function (t) { t.preventDefault(); n("html, body").animate({ scrollTop: n("#pageIntro").offset().top }, 1e3) }) }); n(function () { n("[data-customvideo-flickity]").each(function () { var t = n(this).flickity(n(this).data("customvideo-flickity")), i = t.data("flickity"); n(this).find(".video-cell .play-wrap").click(function () { t.flickity("viewFullscreen") }); t.on("change.flickity", function (n, i) { t.find("iframe[data-index!=" + i + "]").each(function () { $(this).attr("src", $(this).attr("src")) }) }); t.on("fullscreenChange.flickity", function (n, i) { i || t.find("iframe").each(function () { $(this).attr("src", $(this).attr("src")) }) }) }); n(".carousel.with-fullscreen img").click(function () { }); var i; $(window).resize(function () { clearTimeout(i); i = setTimeout(function () { t() }, 70) }); setTimeout(function () { t() }, 200) }) }(window.jQuery); jQuery(document).ready(function () { jQuery(".tabbable .nav li").first().addClass("active"); jQuery(".tabbable .tab-content .tab-pane").first().addClass("active"); jQuery(document).click(function () { jQuery(".wrapper-dropdown-5").removeClass("active") }); jQuery(".carousel").swiperight(function () { jQuery(this).carousel("prev") }).swipeleft(function () { jQuery(this).carousel("next") }) }); jQuery(function () { var t = navigator.userAgent, n = { Android: function () { return t.match(/Android/i) ? !0 : !1 }, iOS: function () { return t.match(/iPad|iPhone/i) ? !0 : !1 }, Blackberry: function () { return t.match(/BlackBerry/i) ? !0 : !1 }, winPhone: function () { return t.match(/IEMobile/i) ? !0 : !1 }, all: function () { return n.Android() || n.iOS() || n.Blackberry() || n.winPhone() } }; n.all() ? jQuery(".desktopNav .navbar-nav li:has(div)").doubleTapToGo({ clickCallback: function (n) { n.find(".subMenu").addClass("active"); n.on("mouseleave", function () { n.find(".subMenu").removeClass("active") }) } }) : jQuery(".desktopNav .navbar-nav li").hoverIntent({ over: function () { jQuery(this).find(".subMenu").addClass("active") }, timeout: 20, out: function () { jQuery(this).find(".subMenu").removeClass("active") } }) });
276 jQuery(window).load(function () { jQuery(".mainNavSplashItem").hoverIntent({ over: function () { jQuery(this).siblings().removeClass("active"); jQuery(this).addClass("active") }, out: function () { }, interval: 50 }) }); DropDown.prototype = { initEvents: function () { var n = this; n.dd.on("click", function (n) { var t = jQuery(this).hasClass("active"); jQuery(".wrapper-dropdown-5").removeClass("active"); t || jQuery(this).toggleClass("active"); n.stopPropagation() }); n.opts.on("click", function (t) { t.preventDefault(); var i = jQuery(this); (n.val = i.text(), n.index = i.index(), n.isStatic) || n.placeholder.text(n.val) }) }, getValue: function () { return this.val }, getIndex: function () { return this.index } };
277/* GeoSegmentation */
278(function (n) { n(function () { function e(t, u, f, e, o, s, h) { var c = { userregion: i, geosegmentation: u, geosegmentationexception: f, segmentuserid: r, segmentpersona: e, segmentpersonaexception: o, hasdynamicshowcondition: s, dynamicevalresult: h }; n.post("/viadapi/geosegmentationchecker/get", c, function (i) { if (console.log(i.Show), console.log("show strip", t.hasClass("geo-notinit"), t.hasClass("modal")), i.Show) { t.show(); var r = t.data("addclassaftergeosegmentation"); r && t.addClass(r); t.removeClass("geo-notinit") } else t.hasClass("explorer-card-container") ? (t.remove(), setTimeout(function () { n(window).resize() })) : t.hasClass("modal") && (t.removeClass("geo-notinit"), t.addClass("geo-notshow")) }) } function t(n, i, r, u, f) { var e = o(n); if (e) { u(e); return } if (i > r) { u(""); return } i += 500; setTimeout(t.bind(this, n, i, r, u, f), 500) } function o(n) { for (var t, r = n + "=", f = decodeURIComponent(document.cookie), u = f.split(";"), i = 0; i < u.length; i++) { for (t = u[i]; t.charAt(0) === " ";)t = t.substring(1); if (t.indexOf(r) === 0) return t.substring(r.length, t.length) } return "" } console.log("geosegmentation init"); var i = null, r = null, u = u = new Promise(function (n, i) { t("_nvk_g", 0, 3500, n, i) }), f = new Promise(function (n, i) { t("ajs_anonymous_id", 0, 3500, n, i) }); Promise.all([u, f]).then(function (t) { console.log("segmentation cookie promises resolved (_nvk_g, ajs_anonymous_id): ", t); i = t[0]; r = t[1]; n("[data-geosegmentation],[data-geosegmentationexception],[data-dynamicshowcondition]").each(function () { var t = n(this), f = t.data("geosegmentation"), o = t.data("geosegmentationexception"), s = t.data("segmentpersona"), h = t.data("segmentpersonaexception"), r = t.data("dynamicshowcondition"), i, u; if (f || o || s || h || r) { if (i = !1, u = !!r, u) try { i = eval(r) } catch (c) { i = !1; console.log("checkDynamicShowStrips", c) } e(t, f, o, s, h, u, i) } }) }) }) })(jQuery);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.