Created
January 12, 2018 15:34
-
-
Save mvnp/0a1aa62b46008a22943048f433f1621e to your computer and use it in GitHub Desktop.
This file has been truncated, but you can view the full file.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| function setCookie(a, b, c) { | |
| var d = new Date; | |
| d.setTime(d.getTime() + 24 * c * 60 * 60 * 1e3); | |
| var e = "expires=" + d.toUTCString(); | |
| document.cookie = a + "=" + b + ";" + e + ";path=/" | |
| } | |
| function getCookie(a) { | |
| for (var b = a + "=", c = document.cookie.split(";"), d = 0; d < c.length; d++) { | |
| for (var e = c[d]; | |
| " " == e.charAt(0);) e = e.substring(1); | |
| if (0 == e.indexOf(b)) return e.substring(b.length, e.length) | |
| } | |
| return "" | |
| } | |
| if (! function(a, b) { | |
| "object" == typeof module && "object" == typeof module.exports ? module.exports = a.document ? b(a, !0) : function(a) { | |
| if (!a.document) throw new Error("jQuery requires a window with a document"); | |
| return b(a) | |
| } : b(a) | |
| }("undefined" != typeof window ? window : this, function(a, b) { | |
| function c(a) { | |
| var b = !!a && "length" in a && a.length, | |
| c = na.type(a); | |
| return "function" !== c && !na.isWindow(a) && ("array" === c || 0 === b || "number" == typeof b && b > 0 && b - 1 in a) | |
| } | |
| function d(a, b, c) { | |
| if (na.isFunction(b)) return na.grep(a, function(a, d) { | |
| return !!b.call(a, d, a) !== c | |
| }); | |
| if (b.nodeType) return na.grep(a, function(a) { | |
| return a === b !== c | |
| }); | |
| if ("string" == typeof b) { | |
| if (xa.test(b)) return na.filter(b, a, c); | |
| b = na.filter(b, a) | |
| } | |
| return na.grep(a, function(a) { | |
| return na.inArray(a, b) > -1 !== c | |
| }) | |
| } | |
| function e(a, b) { | |
| do a = a[b]; while (a && 1 !== a.nodeType); | |
| return a | |
| } | |
| function f(a) { | |
| var b = {}; | |
| return na.each(a.match(Da) || [], function(a, c) { | |
| b[c] = !0 | |
| }), b | |
| } | |
| function g() { | |
| da.addEventListener ? (da.removeEventListener("DOMContentLoaded", h), a.removeEventListener("load", h)) : (da.detachEvent("onreadystatechange", h), a.detachEvent("onload", h)) | |
| } | |
| function h() { | |
| (da.addEventListener || "load" === a.event.type || "complete" === da.readyState) && (g(), na.ready()) | |
| } | |
| function i(a, b, c) { | |
| if (void 0 === c && 1 === a.nodeType) { | |
| var d = "data-" + b.replace(Ia, "-$1").toLowerCase(); | |
| if (c = a.getAttribute(d), "string" == typeof c) { | |
| try { | |
| c = "true" === c || "false" !== c && ("null" === c ? null : +c + "" === c ? +c : Ha.test(c) ? na.parseJSON(c) : c) | |
| } catch (a) {} | |
| na.data(a, b, c) | |
| } else c = void 0 | |
| } | |
| return c | |
| } | |
| function j(a) { | |
| var b; | |
| for (b in a) | |
| if (("data" !== b || !na.isEmptyObject(a[b])) && "toJSON" !== b) return !1; | |
| return !0 | |
| } | |
| function k(a, b, c, d) { | |
| if (Ga(a)) { | |
| var e, f, g = na.expando, | |
| h = a.nodeType, | |
| i = h ? na.cache : a, | |
| j = h ? a[g] : a[g] && g; | |
| if (j && i[j] && (d || i[j].data) || void 0 !== c || "string" != typeof b) return j || (j = h ? a[g] = ca.pop() || na.guid++ : g), i[j] || (i[j] = h ? {} : { | |
| toJSON: na.noop | |
| }), "object" != typeof b && "function" != typeof b || (d ? i[j] = na.extend(i[j], b) : i[j].data = na.extend(i[j].data, b)), f = i[j], d || (f.data || (f.data = {}), f = f.data), void 0 !== c && (f[na.camelCase(b)] = c), "string" == typeof b ? (e = f[b], null == e && (e = f[na.camelCase(b)])) : e = f, e | |
| } | |
| } | |
| function l(a, b, c) { | |
| if (Ga(a)) { | |
| var d, e, f = a.nodeType, | |
| g = f ? na.cache : a, | |
| h = f ? a[na.expando] : na.expando; | |
| if (g[h]) { | |
| if (b && (d = c ? g[h] : g[h].data)) { | |
| na.isArray(b) ? b = b.concat(na.map(b, na.camelCase)) : b in d ? b = [b] : (b = na.camelCase(b), b = b in d ? [b] : b.split(" ")), e = b.length; | |
| for (; e--;) delete d[b[e]]; | |
| if (c ? !j(d) : !na.isEmptyObject(d)) return | |
| }(c || (delete g[h].data, j(g[h]))) && (f ? na.cleanData([a], !0) : la.deleteExpando || g != g.window ? delete g[h] : g[h] = void 0) | |
| } | |
| } | |
| } | |
| function m(a, b, c, d) { | |
| var e, f = 1, | |
| g = 20, | |
| h = d ? function() { | |
| return d.cur() | |
| } : function() { | |
| return na.css(a, b, "") | |
| }, | |
| i = h(), | |
| j = c && c[3] || (na.cssNumber[b] ? "" : "px"), | |
| k = (na.cssNumber[b] || "px" !== j && +i) && Ka.exec(na.css(a, b)); | |
| if (k && k[3] !== j) { | |
| j = j || k[3], c = c || [], k = +i || 1; | |
| do f = f || ".5", k /= f, na.style(a, b, k + j); while (f !== (f = h() / i) && 1 !== f && --g) | |
| } | |
| return c && (k = +k || +i || 0, e = c[1] ? k + (c[1] + 1) * c[2] : +c[2], d && (d.unit = j, d.start = k, d.end = e)), e | |
| } | |
| function n(a) { | |
| var b = Sa.split("|"), | |
| c = a.createDocumentFragment(); | |
| if (c.createElement) | |
| for (; b.length;) c.createElement(b.pop()); | |
| return c | |
| } | |
| function o(a, b) { | |
| var c, d, e = 0, | |
| f = "undefined" != typeof a.getElementsByTagName ? a.getElementsByTagName(b || "*") : "undefined" != typeof a.querySelectorAll ? a.querySelectorAll(b || "*") : void 0; | |
| if (!f) | |
| for (f = [], c = a.childNodes || a; null != (d = c[e]); e++) !b || na.nodeName(d, b) ? f.push(d) : na.merge(f, o(d, b)); | |
| return void 0 === b || b && na.nodeName(a, b) ? na.merge([a], f) : f | |
| } | |
| function p(a, b) { | |
| for (var c, d = 0; null != (c = a[d]); d++) na._data(c, "globalEval", !b || na._data(b[d], "globalEval")) | |
| } | |
| function q(a) { | |
| Oa.test(a.type) && (a.defaultChecked = a.checked) | |
| } | |
| function r(a, b, c, d, e) { | |
| for (var f, g, h, i, j, k, l, m = a.length, r = n(b), s = [], t = 0; m > t; t++) | |
| if (g = a[t], g || 0 === g) | |
| if ("object" === na.type(g)) na.merge(s, g.nodeType ? [g] : g); | |
| else if (Ua.test(g)) { | |
| for (i = i || r.appendChild(b.createElement("div")), j = (Pa.exec(g) || ["", ""])[1].toLowerCase(), l = Ta[j] || Ta._default, i.innerHTML = l[1] + na.htmlPrefilter(g) + l[2], f = l[0]; f--;) i = i.lastChild; | |
| if (!la.leadingWhitespace && Ra.test(g) && s.push(b.createTextNode(Ra.exec(g)[0])), !la.tbody) | |
| for (g = "table" !== j || Va.test(g) ? "<table>" !== l[1] || Va.test(g) ? 0 : i : i.firstChild, f = g && g.childNodes.length; f--;) na.nodeName(k = g.childNodes[f], "tbody") && !k.childNodes.length && g.removeChild(k); | |
| for (na.merge(s, i.childNodes), i.textContent = ""; i.firstChild;) i.removeChild(i.firstChild); | |
| i = r.lastChild | |
| } else s.push(b.createTextNode(g)); | |
| for (i && r.removeChild(i), la.appendChecked || na.grep(o(s, "input"), q), t = 0; g = s[t++];) | |
| if (d && na.inArray(g, d) > -1) e && e.push(g); | |
| else if (h = na.contains(g.ownerDocument, g), i = o(r.appendChild(g), "script"), h && p(i), c) | |
| for (f = 0; g = i[f++];) Qa.test(g.type || "") && c.push(g); | |
| return i = null, r | |
| } | |
| function s() { | |
| return !0 | |
| } | |
| function t() { | |
| return !1 | |
| } | |
| function u() { | |
| try { | |
| return da.activeElement | |
| } catch (a) {} | |
| } | |
| function v(a, b, c, d, e, f) { | |
| var g, h; | |
| if ("object" == typeof b) { | |
| "string" != typeof c && (d = d || c, c = void 0); | |
| for (h in b) v(a, h, c, d, b[h], f); | |
| return a | |
| } | |
| if (null == d && null == e ? (e = c, d = c = void 0) : null == e && ("string" == typeof c ? (e = d, d = void 0) : (e = d, d = c, c = void 0)), e === !1) e = t; | |
| else if (!e) return a; | |
| return 1 === f && (g = e, e = function(a) { | |
| return na().off(a), g.apply(this, arguments) | |
| }, e.guid = g.guid || (g.guid = na.guid++)), a.each(function() { | |
| na.event.add(this, b, e, d, c) | |
| }) | |
| } | |
| function w(a, b) { | |
| return na.nodeName(a, "table") && na.nodeName(11 !== b.nodeType ? b : b.firstChild, "tr") ? a.getElementsByTagName("tbody")[0] || a.appendChild(a.ownerDocument.createElement("tbody")) : a | |
| } | |
| function x(a) { | |
| return a.type = (null !== na.find.attr(a, "type")) + "/" + a.type, a | |
| } | |
| function y(a) { | |
| var b = eb.exec(a.type); | |
| return b ? a.type = b[1] : a.removeAttribute("type"), a | |
| } | |
| function z(a, b) { | |
| if (1 === b.nodeType && na.hasData(a)) { | |
| var c, d, e, f = na._data(a), | |
| g = na._data(b, f), | |
| h = f.events; | |
| if (h) { | |
| delete g.handle, g.events = {}; | |
| for (c in h) | |
| for (d = 0, e = h[c].length; e > d; d++) na.event.add(b, c, h[c][d]) | |
| } | |
| g.data && (g.data = na.extend({}, g.data)) | |
| } | |
| } | |
| function A(a, b) { | |
| var c, d, e; | |
| if (1 === b.nodeType) { | |
| if (c = b.nodeName.toLowerCase(), !la.noCloneEvent && b[na.expando]) { | |
| e = na._data(b); | |
| for (d in e.events) na.removeEvent(b, d, e.handle); | |
| b.removeAttribute(na.expando) | |
| } | |
| "script" === c && b.text !== a.text ? (x(b).text = a.text, y(b)) : "object" === c ? (b.parentNode && (b.outerHTML = a.outerHTML), la.html5Clone && a.innerHTML && !na.trim(b.innerHTML) && (b.innerHTML = a.innerHTML)) : "input" === c && Oa.test(a.type) ? (b.defaultChecked = b.checked = a.checked, b.value !== a.value && (b.value = a.value)) : "option" === c ? b.defaultSelected = b.selected = a.defaultSelected : "input" !== c && "textarea" !== c || (b.defaultValue = a.defaultValue) | |
| } | |
| } | |
| function B(a, b, c, d) { | |
| b = fa.apply([], b); | |
| var e, f, g, h, i, j, k = 0, | |
| l = a.length, | |
| m = l - 1, | |
| n = b[0], | |
| p = na.isFunction(n); | |
| if (p || l > 1 && "string" == typeof n && !la.checkClone && db.test(n)) return a.each(function(e) { | |
| var f = a.eq(e); | |
| p && (b[0] = n.call(this, e, f.html())), B(f, b, c, d) | |
| }); | |
| if (l && (j = r(b, a[0].ownerDocument, !1, a, d), e = j.firstChild, 1 === j.childNodes.length && (j = e), e || d)) { | |
| for (h = na.map(o(j, "script"), x), g = h.length; l > k; k++) f = j, k !== m && (f = na.clone(f, !0, !0), g && na.merge(h, o(f, "script"))), c.call(a[k], f, k); | |
| if (g) | |
| for (i = h[h.length - 1].ownerDocument, na.map(h, y), k = 0; g > k; k++) f = h[k], Qa.test(f.type || "") && !na._data(f, "globalEval") && na.contains(i, f) && (f.src ? na._evalUrl && na._evalUrl(f.src) : na.globalEval((f.text || f.textContent || f.innerHTML || "").replace(fb, ""))); | |
| j = e = null | |
| } | |
| return a | |
| } | |
| function C(a, b, c) { | |
| for (var d, e = b ? na.filter(b, a) : a, f = 0; null != (d = e[f]); f++) c || 1 !== d.nodeType || na.cleanData(o(d)), d.parentNode && (c && na.contains(d.ownerDocument, d) && p(o(d, "script")), d.parentNode.removeChild(d)); | |
| return a | |
| } | |
| function D(a, b) { | |
| var c = na(b.createElement(a)).appendTo(b.body), | |
| d = na.css(c[0], "display"); | |
| return c.detach(), d | |
| } | |
| function E(a) { | |
| var b = da, | |
| c = jb[a]; | |
| return c || (c = D(a, b), "none" !== c && c || (ib = (ib || na("<iframe frameborder='0' width='0' height='0'/>")).appendTo(b.documentElement), b = (ib[0].contentWindow || ib[0].contentDocument).document, b.write(), b.close(), c = D(a, b), ib.detach()), jb[a] = c), c | |
| } | |
| function F(a, b) { | |
| return { | |
| get: function() { | |
| return a() ? void delete this.get : (this.get = b).apply(this, arguments) | |
| } | |
| } | |
| } | |
| function G(a) { | |
| if (a in yb) return a; | |
| for (var b = a.charAt(0).toUpperCase() + a.slice(1), c = xb.length; c--;) | |
| if (a = xb[c] + b, a in yb) return a | |
| } | |
| function H(a, b) { | |
| for (var c, d, e, f = [], g = 0, h = a.length; h > g; g++) d = a[g], d.style && (f[g] = na._data(d, "olddisplay"), c = d.style.display, b ? (f[g] || "none" !== c || (d.style.display = ""), "" === d.style.display && Ma(d) && (f[g] = na._data(d, "olddisplay", E(d.nodeName)))) : (e = Ma(d), (c && "none" !== c || !e) && na._data(d, "olddisplay", e ? c : na.css(d, "display")))); | |
| for (g = 0; h > g; g++) d = a[g], d.style && (b && "none" !== d.style.display && "" !== d.style.display || (d.style.display = b ? f[g] || "" : "none")); | |
| return a | |
| } | |
| function I(a, b, c) { | |
| var d = ub.exec(b); | |
| return d ? Math.max(0, d[1] - (c || 0)) + (d[2] || "px") : b | |
| } | |
| function J(a, b, c, d, e) { | |
| for (var f = c === (d ? "border" : "content") ? 4 : "width" === b ? 1 : 0, g = 0; 4 > f; f += 2) "margin" === c && (g += na.css(a, c + La[f], !0, e)), d ? ("content" === c && (g -= na.css(a, "padding" + La[f], !0, e)), "margin" !== c && (g -= na.css(a, "border" + La[f] + "Width", !0, e))) : (g += na.css(a, "padding" + La[f], !0, e), "padding" !== c && (g += na.css(a, "border" + La[f] + "Width", !0, e))); | |
| return g | |
| } | |
| function K(a, b, c) { | |
| var d = !0, | |
| e = "width" === b ? a.offsetWidth : a.offsetHeight, | |
| f = ob(a), | |
| g = la.boxSizing && "border-box" === na.css(a, "boxSizing", !1, f); | |
| if (0 >= e || null == e) { | |
| if (e = pb(a, b, f), (0 > e || null == e) && (e = a.style[b]), lb.test(e)) return e; | |
| d = g && (la.boxSizingReliable() || e === a.style[b]), e = parseFloat(e) || 0 | |
| } | |
| return e + J(a, b, c || (g ? "border" : "content"), d, f) + "px" | |
| } | |
| function L(a, b, c, d, e) { | |
| return new L.prototype.init(a, b, c, d, e) | |
| } | |
| function M() { | |
| return a.setTimeout(function() { | |
| zb = void 0 | |
| }), zb = na.now() | |
| } | |
| function N(a, b) { | |
| var c, d = { | |
| height: a | |
| }, | |
| e = 0; | |
| for (b = b ? 1 : 0; 4 > e; e += 2 - b) c = La[e], d["margin" + c] = d["padding" + c] = a; | |
| return b && (d.opacity = d.width = a), d | |
| } | |
| function O(a, b, c) { | |
| for (var d, e = (R.tweeners[b] || []).concat(R.tweeners["*"]), f = 0, g = e.length; g > f; f++) | |
| if (d = e[f].call(c, b, a)) return d | |
| } | |
| function P(a, b, c) { | |
| var d, e, f, g, h, i, j, k, l = this, | |
| m = {}, | |
| n = a.style, | |
| o = a.nodeType && Ma(a), | |
| p = na._data(a, "fxshow"); | |
| c.queue || (h = na._queueHooks(a, "fx"), null == h.unqueued && (h.unqueued = 0, i = h.empty.fire, h.empty.fire = function() { | |
| h.unqueued || i() | |
| }), h.unqueued++, l.always(function() { | |
| l.always(function() { | |
| h.unqueued--, na.queue(a, "fx").length || h.empty.fire() | |
| }) | |
| })), 1 === a.nodeType && ("height" in b || "width" in b) && (c.overflow = [n.overflow, n.overflowX, n.overflowY], j = na.css(a, "display"), k = "none" === j ? na._data(a, "olddisplay") || E(a.nodeName) : j, "inline" === k && "none" === na.css(a, "float") && (la.inlineBlockNeedsLayout && "inline" !== E(a.nodeName) ? n.zoom = 1 : n.display = "inline-block")), c.overflow && (n.overflow = "hidden", la.shrinkWrapBlocks() || l.always(function() { | |
| n.overflow = c.overflow[0], n.overflowX = c.overflow[1], n.overflowY = c.overflow[2] | |
| })); | |
| for (d in b) | |
| if (e = b[d], Bb.exec(e)) { | |
| if (delete b[d], f = f || "toggle" === e, e === (o ? "hide" : "show")) { | |
| if ("show" !== e || !p || void 0 === p[d]) continue; | |
| o = !0 | |
| } | |
| m[d] = p && p[d] || na.style(a, d) | |
| } else j = void 0; | |
| if (na.isEmptyObject(m)) "inline" === ("none" === j ? E(a.nodeName) : j) && (n.display = j); | |
| else { | |
| p ? "hidden" in p && (o = p.hidden) : p = na._data(a, "fxshow", {}), f && (p.hidden = !o), o ? na(a).show() : l.done(function() { | |
| na(a).hide() | |
| }), l.done(function() { | |
| var b; | |
| na._removeData(a, "fxshow"); | |
| for (b in m) na.style(a, b, m[b]) | |
| }); | |
| for (d in m) g = O(o ? p[d] : 0, d, l), d in p || (p[d] = g.start, o && (g.end = g.start, g.start = "width" === d || "height" === d ? 1 : 0)) | |
| } | |
| } | |
| function Q(a, b) { | |
| var c, d, e, f, g; | |
| for (c in a) | |
| if (d = na.camelCase(c), e = b[d], f = a[c], na.isArray(f) && (e = f[1], f = a[c] = f[0]), c !== d && (a[d] = f, delete a[c]), g = na.cssHooks[d], g && "expand" in g) { | |
| f = g.expand(f), delete a[d]; | |
| for (c in f) c in a || (a[c] = f[c], b[c] = e) | |
| } else b[d] = e | |
| } | |
| function R(a, b, c) { | |
| var d, e, f = 0, | |
| g = R.prefilters.length, | |
| h = na.Deferred().always(function() { | |
| delete i.elem | |
| }), | |
| i = function() { | |
| if (e) return !1; | |
| for (var b = zb || M(), c = Math.max(0, j.startTime + j.duration - b), d = c / j.duration || 0, f = 1 - d, g = 0, i = j.tweens.length; i > g; g++) j.tweens[g].run(f); | |
| return h.notifyWith(a, [j, f, c]), 1 > f && i ? c : (h.resolveWith(a, [j]), !1) | |
| }, | |
| j = h.promise({ | |
| elem: a, | |
| props: na.extend({}, b), | |
| opts: na.extend(!0, { | |
| specialEasing: {}, | |
| easing: na.easing._default | |
| }, c), | |
| originalProperties: b, | |
| originalOptions: c, | |
| startTime: zb || M(), | |
| duration: c.duration, | |
| tweens: [], | |
| createTween: function(b, c) { | |
| var d = na.Tween(a, j.opts, b, c, j.opts.specialEasing[b] || j.opts.easing); | |
| return j.tweens.push(d), d | |
| }, | |
| stop: function(b) { | |
| var c = 0, | |
| d = b ? j.tweens.length : 0; | |
| if (e) return this; | |
| for (e = !0; d > c; c++) j.tweens[c].run(1); | |
| return b ? (h.notifyWith(a, [j, 1, 0]), h.resolveWith(a, [j, b])) : h.rejectWith(a, [j, b]), this | |
| } | |
| }), | |
| k = j.props; | |
| for (Q(k, j.opts.specialEasing); g > f; f++) | |
| if (d = R.prefilters[f].call(j, a, k, j.opts)) return na.isFunction(d.stop) && (na._queueHooks(j.elem, j.opts.queue).stop = na.proxy(d.stop, d)), d; | |
| return na.map(k, O, j), na.isFunction(j.opts.start) && j.opts.start.call(a, j), na.fx.timer(na.extend(i, { | |
| elem: a, | |
| anim: j, | |
| queue: j.opts.queue | |
| })), j.progress(j.opts.progress).done(j.opts.done, j.opts.complete).fail(j.opts.fail).always(j.opts.always) | |
| } | |
| function S(a) { | |
| return na.attr(a, "class") || "" | |
| } | |
| function T(a) { | |
| return function(b, c) { | |
| "string" != typeof b && (c = b, b = "*"); | |
| var d, e = 0, | |
| f = b.toLowerCase().match(Da) || []; | |
| if (na.isFunction(c)) | |
| for (; d = f[e++];) "+" === d.charAt(0) ? (d = d.slice(1) || "*", (a[d] = a[d] || []).unshift(c)) : (a[d] = a[d] || []).push(c) | |
| } | |
| } | |
| function U(a, b, c, d) { | |
| function e(h) { | |
| var i; | |
| return f[h] = !0, na.each(a[h] || [], function(a, h) { | |
| var j = h(b, c, d); | |
| return "string" != typeof j || g || f[j] ? g ? !(i = j) : void 0 : (b.dataTypes.unshift(j), e(j), !1) | |
| }), i | |
| } | |
| var f = {}, | |
| g = a === $b; | |
| return e(b.dataTypes[0]) || !f["*"] && e("*") | |
| } | |
| function V(a, b) { | |
| var c, d, e = na.ajaxSettings.flatOptions || {}; | |
| for (d in b) void 0 !== b[d] && ((e[d] ? a : c || (c = {}))[d] = b[d]); | |
| return c && na.extend(!0, a, c), a | |
| } | |
| function W(a, b, c) { | |
| for (var d, e, f, g, h = a.contents, i = a.dataTypes; | |
| "*" === i[0];) i.shift(), void 0 === e && (e = a.mimeType || b.getResponseHeader("Content-Type")); | |
| if (e) | |
| for (g in h) | |
| if (h[g] && h[g].test(e)) { | |
| i.unshift(g); | |
| break | |
| } | |
| if (i[0] in c) f = i[0]; | |
| else { | |
| for (g in c) { | |
| if (!i[0] || a.converters[g + " " + i[0]]) { | |
| f = g; | |
| break | |
| } | |
| d || (d = g) | |
| } | |
| f = f || d | |
| } | |
| return f ? (f !== i[0] && i.unshift(f), c[f]) : void 0 | |
| } | |
| function X(a, b, c, d) { | |
| var e, f, g, h, i, j = {}, | |
| k = a.dataTypes.slice(); | |
| if (k[1]) | |
| for (g in a.converters) j[g.toLowerCase()] = a.converters[g]; | |
| for (f = k.shift(); f;) | |
| if (a.responseFields[f] && (c[a.responseFields[f]] = b), !i && d && a.dataFilter && (b = a.dataFilter(b, a.dataType)), i = f, f = k.shift()) | |
| if ("*" === f) f = i; | |
| else if ("*" !== i && i !== f) { | |
| if (g = j[i + " " + f] || j["* " + f], !g) | |
| for (e in j) | |
| if (h = e.split(" "), h[1] === f && (g = j[i + " " + h[0]] || j["* " + h[0]])) { | |
| g === !0 ? g = j[e] : j[e] !== !0 && (f = h[0], k.unshift(h[1])); | |
| break | |
| } | |
| if (g !== !0) | |
| if (g && a.throws) b = g(b); | |
| else try { | |
| b = g(b) | |
| } catch (a) { | |
| return { | |
| state: "parsererror", | |
| error: g ? a : "No conversion from " + i + " to " + f | |
| } | |
| } | |
| } | |
| return { | |
| state: "success", | |
| data: b | |
| } | |
| } | |
| function Y(a) { | |
| return a.style && a.style.display || na.css(a, "display") | |
| } | |
| function Z(a) { | |
| if (!na.contains(a.ownerDocument || da, a)) return !0; | |
| for (; a && 1 === a.nodeType;) { | |
| if ("none" === Y(a) || "hidden" === a.type) return !0; | |
| a = a.parentNode | |
| } | |
| return !1 | |
| } | |
| function $(a, b, c, d) { | |
| var e; | |
| if (na.isArray(b)) na.each(b, function(b, e) { | |
| c || dc.test(a) ? d(a, e) : $(a + "[" + ("object" == typeof e && null != e ? b : "") + "]", e, c, d) | |
| }); | |
| else if (c || "object" !== na.type(b)) d(a, b); | |
| else | |
| for (e in b) $(a + "[" + e + "]", b[e], c, d) | |
| } | |
| function _() { | |
| try { | |
| return new a.XMLHttpRequest | |
| } catch (a) {} | |
| } | |
| function aa() { | |
| try { | |
| return new a.ActiveXObject("Microsoft.XMLHTTP") | |
| } catch (a) {} | |
| } | |
| function ba(a) { | |
| return na.isWindow(a) ? a : 9 === a.nodeType && (a.defaultView || a.parentWindow) | |
| } | |
| var ca = [], | |
| da = a.document, | |
| ea = ca.slice, | |
| fa = ca.concat, | |
| ga = ca.push, | |
| ha = ca.indexOf, | |
| ia = {}, | |
| ja = ia.toString, | |
| ka = ia.hasOwnProperty, | |
| la = {}, | |
| ma = "1.12.4", | |
| na = function(a, b) { | |
| return new na.fn.init(a, b) | |
| }, | |
| oa = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, | |
| pa = /^-ms-/, | |
| qa = /-([\da-z])/gi, | |
| ra = function(a, b) { | |
| return b.toUpperCase() | |
| }; | |
| na.fn = na.prototype = { | |
| jquery: ma, | |
| constructor: na, | |
| selector: "", | |
| length: 0, | |
| toArray: function() { | |
| return ea.call(this) | |
| }, | |
| get: function(a) { | |
| return null != a ? 0 > a ? this[a + this.length] : this[a] : ea.call(this) | |
| }, | |
| pushStack: function(a) { | |
| var b = na.merge(this.constructor(), a); | |
| return b.prevObject = this, b.context = this.context, b | |
| }, | |
| each: function(a) { | |
| return na.each(this, a) | |
| }, | |
| map: function(a) { | |
| return this.pushStack(na.map(this, function(b, c) { | |
| return a.call(b, c, b) | |
| })) | |
| }, | |
| slice: function() { | |
| return this.pushStack(ea.apply(this, arguments)) | |
| }, | |
| first: function() { | |
| return this.eq(0) | |
| }, | |
| last: function() { | |
| return this.eq(-1) | |
| }, | |
| eq: function(a) { | |
| var b = this.length, | |
| c = +a + (0 > a ? b : 0); | |
| return this.pushStack(c >= 0 && b > c ? [this[c]] : []) | |
| }, | |
| end: function() { | |
| return this.prevObject || this.constructor() | |
| }, | |
| push: ga, | |
| sort: ca.sort, | |
| splice: ca.splice | |
| }, na.extend = na.fn.extend = function() { | |
| var a, b, c, d, e, f, g = arguments[0] || {}, | |
| h = 1, | |
| i = arguments.length, | |
| j = !1; | |
| for ("boolean" == typeof g && (j = g, g = arguments[h] || {}, h++), "object" == typeof g || na.isFunction(g) || (g = {}), h === i && (g = this, h--); i > h; h++) | |
| if (null != (e = arguments[h])) | |
| for (d in e) a = g[d], c = e[d], g !== c && (j && c && (na.isPlainObject(c) || (b = na.isArray(c))) ? (b ? (b = !1, f = a && na.isArray(a) ? a : []) : f = a && na.isPlainObject(a) ? a : {}, g[d] = na.extend(j, f, c)) : void 0 !== c && (g[d] = c)); | |
| return g | |
| }, na.extend({ | |
| expando: "jQuery" + (ma + Math.random()).replace(/\D/g, ""), | |
| isReady: !0, | |
| error: function(a) { | |
| throw new Error(a) | |
| }, | |
| noop: function() {}, | |
| isFunction: function(a) { | |
| return "function" === na.type(a) | |
| }, | |
| isArray: Array.isArray || function(a) { | |
| return "array" === na.type(a) | |
| }, | |
| isWindow: function(a) { | |
| return null != a && a == a.window | |
| }, | |
| isNumeric: function(a) { | |
| var b = a && a.toString(); | |
| return !na.isArray(a) && b - parseFloat(b) + 1 >= 0 | |
| }, | |
| isEmptyObject: function(a) { | |
| var b; | |
| for (b in a) return !1; | |
| return !0 | |
| }, | |
| isPlainObject: function(a) { | |
| var b; | |
| if (!a || "object" !== na.type(a) || a.nodeType || na.isWindow(a)) return !1; | |
| try { | |
| if (a.constructor && !ka.call(a, "constructor") && !ka.call(a.constructor.prototype, "isPrototypeOf")) return !1 | |
| } catch (a) { | |
| return !1 | |
| } | |
| if (!la.ownFirst) | |
| for (b in a) return ka.call(a, b); | |
| for (b in a); | |
| return void 0 === b || ka.call(a, b) | |
| }, | |
| type: function(a) { | |
| return null == a ? a + "" : "object" == typeof a || "function" == typeof a ? ia[ja.call(a)] || "object" : typeof a | |
| }, | |
| globalEval: function(b) { | |
| b && na.trim(b) && (a.execScript || function(b) { | |
| a.eval.call(a, b) | |
| })(b) | |
| }, | |
| camelCase: function(a) { | |
| return a.replace(pa, "ms-").replace(qa, ra) | |
| }, | |
| nodeName: function(a, b) { | |
| return a.nodeName && a.nodeName.toLowerCase() === b.toLowerCase() | |
| }, | |
| each: function(a, b) { | |
| var d, e = 0; | |
| if (c(a)) | |
| for (d = a.length; d > e && b.call(a[e], e, a[e]) !== !1; e++); | |
| else | |
| for (e in a) | |
| if (b.call(a[e], e, a[e]) === !1) break; | |
| return a | |
| }, | |
| trim: function(a) { | |
| return null == a ? "" : (a + "").replace(oa, "") | |
| }, | |
| makeArray: function(a, b) { | |
| var d = b || []; | |
| return null != a && (c(Object(a)) ? na.merge(d, "string" == typeof a ? [a] : a) : ga.call(d, a)), d | |
| }, | |
| inArray: function(a, b, c) { | |
| var d; | |
| if (b) { | |
| if (ha) return ha.call(b, a, c); | |
| for (d = b.length, c = c ? 0 > c ? Math.max(0, d + c) : c : 0; d > c; c++) | |
| if (c in b && b[c] === a) return c | |
| } | |
| return -1 | |
| }, | |
| merge: function(a, b) { | |
| for (var c = +b.length, d = 0, e = a.length; c > d;) a[e++] = b[d++]; | |
| if (c !== c) | |
| for (; void 0 !== b[d];) a[e++] = b[d++]; | |
| return a.length = e, a | |
| }, | |
| grep: function(a, b, c) { | |
| for (var d, e = [], f = 0, g = a.length, h = !c; g > f; f++) d = !b(a[f], f), d !== h && e.push(a[f]); | |
| return e | |
| }, | |
| map: function(a, b, d) { | |
| var e, f, g = 0, | |
| h = []; | |
| if (c(a)) | |
| for (e = a.length; e > g; g++) f = b(a[g], g, d), null != f && h.push(f); | |
| else | |
| for (g in a) f = b(a[g], g, d), null != f && h.push(f); | |
| return fa.apply([], h) | |
| }, | |
| guid: 1, | |
| proxy: function(a, b) { | |
| var c, d, e; | |
| return "string" == typeof b && (e = a[b], b = a, a = e), na.isFunction(a) ? (c = ea.call(arguments, 2), d = function() { | |
| return a.apply(b || this, c.concat(ea.call(arguments))) | |
| }, d.guid = a.guid = a.guid || na.guid++, d) : void 0 | |
| }, | |
| now: function() { | |
| return +new Date | |
| }, | |
| support: la | |
| }), "function" == typeof Symbol && (na.fn[Symbol.iterator] = ca[Symbol.iterator]), na.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "), function(a, b) { | |
| ia["[object " + b + "]"] = b.toLowerCase() | |
| }); | |
| var sa = function(a) { | |
| function b(a, b, c, d) { | |
| var e, f, g, h, i, j, l, n, o = b && b.ownerDocument, | |
| p = b ? b.nodeType : 9; | |
| if (c = c || [], "string" != typeof a || !a || 1 !== p && 9 !== p && 11 !== p) return c; | |
| if (!d && ((b ? b.ownerDocument || b : O) !== G && F(b), b = b || G, I)) { | |
| if (11 !== p && (j = ra.exec(a))) | |
| if (e = j[1]) { | |
| if (9 === p) { | |
| if (!(g = b.getElementById(e))) return c; | |
| if (g.id === e) return c.push(g), c | |
| } else if (o && (g = o.getElementById(e)) && M(b, g) && g.id === e) return c.push(g), c | |
| } else { | |
| if (j[2]) return $.apply(c, b.getElementsByTagName(a)), c; | |
| if ((e = j[3]) && v.getElementsByClassName && b.getElementsByClassName) return $.apply(c, b.getElementsByClassName(e)), c | |
| } | |
| if (v.qsa && !T[a + " "] && (!J || !J.test(a))) { | |
| if (1 !== p) o = b, n = a; | |
| else if ("object" !== b.nodeName.toLowerCase()) { | |
| for ((h = b.getAttribute("id")) ? h = h.replace(ta, "\\$&") : b.setAttribute("id", h = N), l = z(a), f = l.length, i = ma.test(h) ? "#" + h : "[id='" + h + "']"; f--;) l[f] = i + " " + m(l[f]); | |
| n = l.join(","), o = sa.test(a) && k(b.parentNode) || b | |
| } | |
| if (n) try { | |
| return $.apply(c, o.querySelectorAll(n)), c | |
| } catch (a) {} finally { | |
| h === N && b.removeAttribute("id") | |
| } | |
| } | |
| } | |
| return B(a.replace(ha, "$1"), b, c, d) | |
| } | |
| function c() { | |
| function a(c, d) { | |
| return b.push(c + " ") > w.cacheLength && delete a[b.shift()], a[c + " "] = d | |
| } | |
| var b = []; | |
| return a | |
| } | |
| function d(a) { | |
| return a[N] = !0, a | |
| } | |
| function e(a) { | |
| var b = G.createElement("div"); | |
| try { | |
| return !!a(b) | |
| } catch (a) { | |
| return !1 | |
| } finally { | |
| b.parentNode && b.parentNode.removeChild(b), b = null | |
| } | |
| } | |
| function f(a, b) { | |
| for (var c = a.split("|"), d = c.length; d--;) w.attrHandle[c[d]] = b | |
| } | |
| function g(a, b) { | |
| var c = b && a, | |
| d = c && 1 === a.nodeType && 1 === b.nodeType && (~b.sourceIndex || V) - (~a.sourceIndex || V); | |
| if (d) return d; | |
| if (c) | |
| for (; c = c.nextSibling;) | |
| if (c === b) return -1; | |
| return a ? 1 : -1 | |
| } | |
| function h(a) { | |
| return function(b) { | |
| var c = b.nodeName.toLowerCase(); | |
| return "input" === c && b.type === a | |
| } | |
| } | |
| function i(a) { | |
| return function(b) { | |
| var c = b.nodeName.toLowerCase(); | |
| return ("input" === c || "button" === c) && b.type === a | |
| } | |
| } | |
| function j(a) { | |
| return d(function(b) { | |
| return b = +b, d(function(c, d) { | |
| for (var e, f = a([], c.length, b), g = f.length; g--;) c[e = f[g]] && (c[e] = !(d[e] = c[e])) | |
| }) | |
| }) | |
| } | |
| function k(a) { | |
| return a && "undefined" != typeof a.getElementsByTagName && a | |
| } | |
| function l() {} | |
| function m(a) { | |
| for (var b = 0, c = a.length, d = ""; c > b; b++) d += a[b].value; | |
| return d | |
| } | |
| function n(a, b, c) { | |
| var d = b.dir, | |
| e = c && "parentNode" === d, | |
| f = Q++; | |
| return b.first ? function(b, c, f) { | |
| for (; b = b[d];) | |
| if (1 === b.nodeType || e) return a(b, c, f) | |
| } : function(b, c, g) { | |
| var h, i, j, k = [P, f]; | |
| if (g) { | |
| for (; b = b[d];) | |
| if ((1 === b.nodeType || e) && a(b, c, g)) return !0 | |
| } else | |
| for (; b = b[d];) | |
| if (1 === b.nodeType || e) { | |
| if (j = b[N] || (b[N] = {}), i = j[b.uniqueID] || (j[b.uniqueID] = {}), (h = i[d]) && h[0] === P && h[1] === f) return k[2] = h[2]; | |
| if (i[d] = k, k[2] = a(b, c, g)) return !0 | |
| } | |
| } | |
| } | |
| function o(a) { | |
| return a.length > 1 ? function(b, c, d) { | |
| for (var e = a.length; e--;) | |
| if (!a[e](b, c, d)) return !1; | |
| return !0 | |
| } : a[0] | |
| } | |
| function p(a, c, d) { | |
| for (var e = 0, f = c.length; f > e; e++) b(a, c[e], d); | |
| return d | |
| } | |
| function q(a, b, c, d, e) { | |
| for (var f, g = [], h = 0, i = a.length, j = null != b; i > h; h++)(f = a[h]) && (c && !c(f, d, e) || (g.push(f), j && b.push(h))); | |
| return g | |
| } | |
| function r(a, b, c, e, f, g) { | |
| return e && !e[N] && (e = r(e)), f && !f[N] && (f = r(f, g)), d(function(d, g, h, i) { | |
| var j, k, l, m = [], | |
| n = [], | |
| o = g.length, | |
| r = d || p(b || "*", h.nodeType ? [h] : h, []), | |
| s = !a || !d && b ? r : q(r, m, a, h, i), | |
| t = c ? f || (d ? a : o || e) ? [] : g : s; | |
| if (c && c(s, t, h, i), e) | |
| for (j = q(t, n), e(j, [], h, i), k = j.length; k--;)(l = j[k]) && (t[n[k]] = !(s[n[k]] = l)); | |
| if (d) { | |
| if (f || a) { | |
| if (f) { | |
| for (j = [], k = t.length; k--;)(l = t[k]) && j.push(s[k] = l); | |
| f(null, t = [], j, i) | |
| } | |
| for (k = t.length; k--;)(l = t[k]) && (j = f ? aa(d, l) : m[k]) > -1 && (d[j] = !(g[j] = l)) | |
| } | |
| } else t = q(t === g ? t.splice(o, t.length) : t), f ? f(null, g, t, i) : $.apply(g, t) | |
| }) | |
| } | |
| function s(a) { | |
| for (var b, c, d, e = a.length, f = w.relative[a[0].type], g = f || w.relative[" "], h = f ? 1 : 0, i = n(function(a) { | |
| return a === b | |
| }, g, !0), j = n(function(a) { | |
| return aa(b, a) > -1 | |
| }, g, !0), k = [function(a, c, d) { | |
| var e = !f && (d || c !== C) || ((b = c).nodeType ? i(a, c, d) : j(a, c, d)); | |
| return b = null, e | |
| }]; e > h; h++) | |
| if (c = w.relative[a[h].type]) k = [n(o(k), c)]; | |
| else { | |
| if (c = w.filter[a[h].type].apply(null, a[h].matches), c[N]) { | |
| for (d = ++h; e > d && !w.relative[a[d].type]; d++); | |
| return r(h > 1 && o(k), h > 1 && m(a.slice(0, h - 1).concat({ | |
| value: " " === a[h - 2].type ? "*" : "" | |
| })).replace(ha, "$1"), c, d > h && s(a.slice(h, d)), e > d && s(a = a.slice(d)), e > d && m(a)) | |
| } | |
| k.push(c) | |
| } | |
| return o(k) | |
| } | |
| function t(a, c) { | |
| var e = c.length > 0, | |
| f = a.length > 0, | |
| g = function(d, g, h, i, j) { | |
| var k, l, m, n = 0, | |
| o = "0", | |
| p = d && [], | |
| r = [], | |
| s = C, | |
| t = d || f && w.find.TAG("*", j), | |
| u = P += null == s ? 1 : Math.random() || .1, | |
| v = t.length; | |
| for (j && (C = g === G || g || j); o !== v && null != (k = t[o]); o++) { | |
| if (f && k) { | |
| for (l = 0, g || k.ownerDocument === G || (F(k), h = !I); m = a[l++];) | |
| if (m(k, g || G, h)) { | |
| i.push(k); | |
| break | |
| } | |
| j && (P = u) | |
| } | |
| e && ((k = !m && k) && n--, d && p.push(k)) | |
| } | |
| if (n += o, e && o !== n) { | |
| for (l = 0; m = c[l++];) m(p, r, g, h); | |
| if (d) { | |
| if (n > 0) | |
| for (; o--;) p[o] || r[o] || (r[o] = Y.call(i)); | |
| r = q(r) | |
| } | |
| $.apply(i, r), j && !d && r.length > 0 && n + c.length > 1 && b.uniqueSort(i) | |
| } | |
| return j && (P = u, C = s), p | |
| }; | |
| return e ? d(g) : g | |
| } | |
| var u, v, w, x, y, z, A, B, C, D, E, F, G, H, I, J, K, L, M, N = "sizzle" + 1 * new Date, | |
| O = a.document, | |
| P = 0, | |
| Q = 0, | |
| R = c(), | |
| S = c(), | |
| T = c(), | |
| U = function(a, b) { | |
| return a === b && (E = !0), 0 | |
| }, | |
| V = 1 << 31, | |
| W = {}.hasOwnProperty, | |
| X = [], | |
| Y = X.pop, | |
| Z = X.push, | |
| $ = X.push, | |
| _ = X.slice, | |
| aa = function(a, b) { | |
| for (var c = 0, d = a.length; d > c; c++) | |
| if (a[c] === b) return c; | |
| return -1 | |
| }, | |
| ba = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped", | |
| ca = "[\\x20\\t\\r\\n\\f]", | |
| da = "(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+", | |
| ea = "\\[" + ca + "*(" + da + ")(?:" + ca + "*([*^$|!~]?=)" + ca + "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + da + "))|)" + ca + "*\\]", | |
| fa = ":(" + da + ")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|" + ea + ")*)|.*)\\)|)", | |
| ga = new RegExp(ca + "+", "g"), | |
| ha = new RegExp("^" + ca + "+|((?:^|[^\\\\])(?:\\\\.)*)" + ca + "+$", "g"), | |
| ia = new RegExp("^" + ca + "*," + ca + "*"), | |
| ja = new RegExp("^" + ca + "*([>+~]|" + ca + ")" + ca + "*"), | |
| ka = new RegExp("=" + ca + "*([^\\]'\"]*?)" + ca + "*\\]", "g"), | |
| la = new RegExp(fa), | |
| ma = new RegExp("^" + da + "$"), | |
| na = { | |
| ID: new RegExp("^#(" + da + ")"), | |
| CLASS: new RegExp("^\\.(" + da + ")"), | |
| TAG: new RegExp("^(" + da + "|[*])"), | |
| ATTR: new RegExp("^" + ea), | |
| PSEUDO: new RegExp("^" + fa), | |
| CHILD: new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + ca + "*(even|odd|(([+-]|)(\\d*)n|)" + ca + "*(?:([+-]|)" + ca + "*(\\d+)|))" + ca + "*\\)|)", "i"), | |
| bool: new RegExp("^(?:" + ba + ")$", "i"), | |
| needsContext: new RegExp("^" + ca + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + ca + "*((?:-\\d)?\\d*)" + ca + "*\\)|)(?=[^-]|$)", "i") | |
| }, | |
| oa = /^(?:input|select|textarea|button)$/i, | |
| pa = /^h\d$/i, | |
| qa = /^[^{]+\{\s*\[native \w/, | |
| ra = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/, | |
| sa = /[+~]/, | |
| ta = /'|\\/g, | |
| ua = new RegExp("\\\\([\\da-f]{1,6}" + ca + "?|(" + ca + ")|.)", "ig"), | |
| va = function(a, b, c) { | |
| var d = "0x" + b - 65536; | |
| return d !== d || c ? b : 0 > d ? String.fromCharCode(d + 65536) : String.fromCharCode(d >> 10 | 55296, 1023 & d | 56320) | |
| }, | |
| wa = function() { | |
| F() | |
| }; | |
| try { | |
| $.apply(X = _.call(O.childNodes), O.childNodes), X[O.childNodes.length].nodeType | |
| } catch (a) { | |
| $ = { | |
| apply: X.length ? function(a, b) { | |
| Z.apply(a, _.call(b)) | |
| } : function(a, b) { | |
| for (var c = a.length, d = 0; a[c++] = b[d++];); | |
| a.length = c - 1 | |
| } | |
| } | |
| } | |
| v = b.support = {}, y = b.isXML = function(a) { | |
| var b = a && (a.ownerDocument || a).documentElement; | |
| return !!b && "HTML" !== b.nodeName | |
| }, F = b.setDocument = function(a) { | |
| var b, c, d = a ? a.ownerDocument || a : O; | |
| return d !== G && 9 === d.nodeType && d.documentElement ? (G = d, H = G.documentElement, I = !y(G), (c = G.defaultView) && c.top !== c && (c.addEventListener ? c.addEventListener("unload", wa, !1) : c.attachEvent && c.attachEvent("onunload", wa)), v.attributes = e(function(a) { | |
| return a.className = "i", !a.getAttribute("className") | |
| }), v.getElementsByTagName = e(function(a) { | |
| return a.appendChild(G.createComment("")), !a.getElementsByTagName("*").length | |
| }), v.getElementsByClassName = qa.test(G.getElementsByClassName), v.getById = e(function(a) { | |
| return H.appendChild(a).id = N, !G.getElementsByName || !G.getElementsByName(N).length | |
| }), v.getById ? (w.find.ID = function(a, b) { | |
| if ("undefined" != typeof b.getElementById && I) { | |
| var c = b.getElementById(a); | |
| return c ? [c] : [] | |
| } | |
| }, w.filter.ID = function(a) { | |
| var b = a.replace(ua, va); | |
| return function(a) { | |
| return a.getAttribute("id") === b | |
| } | |
| }) : (delete w.find.ID, w.filter.ID = function(a) { | |
| var b = a.replace(ua, va); | |
| return function(a) { | |
| var c = "undefined" != typeof a.getAttributeNode && a.getAttributeNode("id"); | |
| return c && c.value === b | |
| } | |
| }), w.find.TAG = v.getElementsByTagName ? function(a, b) { | |
| return "undefined" != typeof b.getElementsByTagName ? b.getElementsByTagName(a) : v.qsa ? b.querySelectorAll(a) : void 0 | |
| } : function(a, b) { | |
| var c, d = [], | |
| e = 0, | |
| f = b.getElementsByTagName(a); | |
| if ("*" === a) { | |
| for (; c = f[e++];) 1 === c.nodeType && d.push(c); | |
| return d | |
| } | |
| return f | |
| }, w.find.CLASS = v.getElementsByClassName && function(a, b) { | |
| return "undefined" != typeof b.getElementsByClassName && I ? b.getElementsByClassName(a) : void 0 | |
| }, K = [], J = [], (v.qsa = qa.test(G.querySelectorAll)) && (e(function(a) { | |
| H.appendChild(a).innerHTML = "<a id='" + N + "'></a><select id='" + N + "-\r\\' msallowcapture=''><option selected=''></option></select>", a.querySelectorAll("[msallowcapture^='']").length && J.push("[*^$]=" + ca + "*(?:''|\"\")"), a.querySelectorAll("[selected]").length || J.push("\\[" + ca + "*(?:value|" + ba + ")"), a.querySelectorAll("[id~=" + N + "-]").length || J.push("~="), a.querySelectorAll(":checked").length || J.push(":checked"), a.querySelectorAll("a#" + N + "+*").length || J.push(".#.+[+~]") | |
| }), e(function(a) { | |
| var b = G.createElement("input"); | |
| b.setAttribute("type", "hidden"), a.appendChild(b).setAttribute("name", "D"), a.querySelectorAll("[name=d]").length && J.push("name" + ca + "*[*^$|!~]?="), a.querySelectorAll(":enabled").length || J.push(":enabled", ":disabled"), a.querySelectorAll("*,:x"), J.push(",.*:") | |
| })), (v.matchesSelector = qa.test(L = H.matches || H.webkitMatchesSelector || H.mozMatchesSelector || H.oMatchesSelector || H.msMatchesSelector)) && e(function(a) { | |
| v.disconnectedMatch = L.call(a, "div"), L.call(a, "[s!='']:x"), K.push("!=", fa) | |
| }), J = J.length && new RegExp(J.join("|")), K = K.length && new RegExp(K.join("|")), b = qa.test(H.compareDocumentPosition), M = b || qa.test(H.contains) ? function(a, b) { | |
| var c = 9 === a.nodeType ? a.documentElement : a, | |
| d = b && b.parentNode; | |
| return a === d || !(!d || 1 !== d.nodeType || !(c.contains ? c.contains(d) : a.compareDocumentPosition && 16 & a.compareDocumentPosition(d))) | |
| } : function(a, b) { | |
| if (b) | |
| for (; b = b.parentNode;) | |
| if (b === a) return !0; | |
| return !1 | |
| }, U = b ? function(a, b) { | |
| if (a === b) return E = !0, 0; | |
| var c = !a.compareDocumentPosition - !b.compareDocumentPosition; | |
| return c ? c : (c = (a.ownerDocument || a) === (b.ownerDocument || b) ? a.compareDocumentPosition(b) : 1, 1 & c || !v.sortDetached && b.compareDocumentPosition(a) === c ? a === G || a.ownerDocument === O && M(O, a) ? -1 : b === G || b.ownerDocument === O && M(O, b) ? 1 : D ? aa(D, a) - aa(D, b) : 0 : 4 & c ? -1 : 1) | |
| } : function(a, b) { | |
| if (a === b) return E = !0, 0; | |
| var c, d = 0, | |
| e = a.parentNode, | |
| f = b.parentNode, | |
| h = [a], | |
| i = [b]; | |
| if (!e || !f) return a === G ? -1 : b === G ? 1 : e ? -1 : f ? 1 : D ? aa(D, a) - aa(D, b) : 0; | |
| if (e === f) return g(a, b); | |
| for (c = a; c = c.parentNode;) h.unshift(c); | |
| for (c = b; c = c.parentNode;) i.unshift(c); | |
| for (; h[d] === i[d];) d++; | |
| return d ? g(h[d], i[d]) : h[d] === O ? -1 : i[d] === O ? 1 : 0 | |
| }, G) : G | |
| }, b.matches = function(a, c) { | |
| return b(a, null, null, c) | |
| }, b.matchesSelector = function(a, c) { | |
| if ((a.ownerDocument || a) !== G && F(a), c = c.replace(ka, "='$1']"), v.matchesSelector && I && !T[c + " "] && (!K || !K.test(c)) && (!J || !J.test(c))) try { | |
| var d = L.call(a, c); | |
| if (d || v.disconnectedMatch || a.document && 11 !== a.document.nodeType) return d | |
| } catch (a) {} | |
| return b(c, G, null, [a]).length > 0 | |
| }, b.contains = function(a, b) { | |
| return (a.ownerDocument || a) !== G && F(a), M(a, b) | |
| }, b.attr = function(a, b) { | |
| (a.ownerDocument || a) !== G && F(a); | |
| var c = w.attrHandle[b.toLowerCase()], | |
| d = c && W.call(w.attrHandle, b.toLowerCase()) ? c(a, b, !I) : void 0; | |
| return void 0 !== d ? d : v.attributes || !I ? a.getAttribute(b) : (d = a.getAttributeNode(b)) && d.specified ? d.value : null | |
| }, b.error = function(a) { | |
| throw new Error("Syntax error, unrecognized expression: " + a) | |
| }, b.uniqueSort = function(a) { | |
| var b, c = [], | |
| d = 0, | |
| e = 0; | |
| if (E = !v.detectDuplicates, D = !v.sortStable && a.slice(0), a.sort(U), E) { | |
| for (; b = a[e++];) b === a[e] && (d = c.push(e)); | |
| for (; d--;) a.splice(c[d], 1) | |
| } | |
| return D = null, a | |
| }, x = b.getText = function(a) { | |
| var b, c = "", | |
| d = 0, | |
| e = a.nodeType; | |
| if (e) { | |
| if (1 === e || 9 === e || 11 === e) { | |
| if ("string" == typeof a.textContent) return a.textContent; | |
| for (a = a.firstChild; a; a = a.nextSibling) c += x(a) | |
| } else if (3 === e || 4 === e) return a.nodeValue | |
| } else | |
| for (; b = a[d++];) c += x(b); | |
| return c | |
| }, w = b.selectors = { | |
| cacheLength: 50, | |
| createPseudo: d, | |
| match: na, | |
| attrHandle: {}, | |
| find: {}, | |
| relative: { | |
| ">": { | |
| dir: "parentNode", | |
| first: !0 | |
| }, | |
| " ": { | |
| dir: "parentNode" | |
| }, | |
| "+": { | |
| dir: "previousSibling", | |
| first: !0 | |
| }, | |
| "~": { | |
| dir: "previousSibling" | |
| } | |
| }, | |
| preFilter: { | |
| ATTR: function(a) { | |
| return a[1] = a[1].replace(ua, va), a[3] = (a[3] || a[4] || a[5] || "").replace(ua, va), "~=" === a[2] && (a[3] = " " + a[3] + " "), a.slice(0, 4) | |
| }, | |
| CHILD: function(a) { | |
| return a[1] = a[1].toLowerCase(), "nth" === a[1].slice(0, 3) ? (a[3] || b.error(a[0]), a[4] = +(a[4] ? a[5] + (a[6] || 1) : 2 * ("even" === a[3] || "odd" === a[3])), a[5] = +(a[7] + a[8] || "odd" === a[3])) : a[3] && b.error(a[0]), a | |
| }, | |
| PSEUDO: function(a) { | |
| var b, c = !a[6] && a[2]; | |
| return na.CHILD.test(a[0]) ? null : (a[3] ? a[2] = a[4] || a[5] || "" : c && la.test(c) && (b = z(c, !0)) && (b = c.indexOf(")", c.length - b) - c.length) && (a[0] = a[0].slice(0, b), a[2] = c.slice(0, b)), a.slice(0, 3)) | |
| } | |
| }, | |
| filter: { | |
| TAG: function(a) { | |
| var b = a.replace(ua, va).toLowerCase(); | |
| return "*" === a ? function() { | |
| return !0 | |
| } : function(a) { | |
| return a.nodeName && a.nodeName.toLowerCase() === b | |
| } | |
| }, | |
| CLASS: function(a) { | |
| var b = R[a + " "]; | |
| return b || (b = new RegExp("(^|" + ca + ")" + a + "(" + ca + "|$)")) && R(a, function(a) { | |
| return b.test("string" == typeof a.className && a.className || "undefined" != typeof a.getAttribute && a.getAttribute("class") || "") | |
| }) | |
| }, | |
| ATTR: function(a, c, d) { | |
| return function(e) { | |
| var f = b.attr(e, a); | |
| return null == f ? "!=" === c : !c || (f += "", "=" === c ? f === d : "!=" === c ? f !== d : "^=" === c ? d && 0 === f.indexOf(d) : "*=" === c ? d && f.indexOf(d) > -1 : "$=" === c ? d && f.slice(-d.length) === d : "~=" === c ? (" " + f.replace(ga, " ") + " ").indexOf(d) > -1 : "|=" === c && (f === d || f.slice(0, d.length + 1) === d + "-")) | |
| } | |
| }, | |
| CHILD: function(a, b, c, d, e) { | |
| var f = "nth" !== a.slice(0, 3), | |
| g = "last" !== a.slice(-4), | |
| h = "of-type" === b; | |
| return 1 === d && 0 === e ? function(a) { | |
| return !!a.parentNode | |
| } : function(b, c, i) { | |
| var j, k, l, m, n, o, p = f !== g ? "nextSibling" : "previousSibling", | |
| q = b.parentNode, | |
| r = h && b.nodeName.toLowerCase(), | |
| s = !i && !h, | |
| t = !1; | |
| if (q) { | |
| if (f) { | |
| for (; p;) { | |
| for (m = b; m = m[p];) | |
| if (h ? m.nodeName.toLowerCase() === r : 1 === m.nodeType) return !1; | |
| o = p = "only" === a && !o && "nextSibling" | |
| } | |
| return !0 | |
| } | |
| if (o = [g ? q.firstChild : q.lastChild], g && s) { | |
| for (m = q, l = m[N] || (m[N] = {}), k = l[m.uniqueID] || (l[m.uniqueID] = {}), j = k[a] || [], n = j[0] === P && j[1], t = n && j[2], m = n && q.childNodes[n]; m = ++n && m && m[p] || (t = n = 0) || o.pop();) | |
| if (1 === m.nodeType && ++t && m === b) { | |
| k[a] = [P, n, t]; | |
| break | |
| } | |
| } else if (s && (m = b, l = m[N] || (m[N] = {}), k = l[m.uniqueID] || (l[m.uniqueID] = {}), j = k[a] || [], n = j[0] === P && j[1], t = n), t === !1) | |
| for (; | |
| (m = ++n && m && m[p] || (t = n = 0) || o.pop()) && ((h ? m.nodeName.toLowerCase() !== r : 1 !== m.nodeType) || !++t || (s && (l = m[N] || (m[N] = {}), k = l[m.uniqueID] || (l[m.uniqueID] = {}), k[a] = [P, t]), m !== b));); | |
| return t -= e, t === d || t % d === 0 && t / d >= 0 | |
| } | |
| } | |
| }, | |
| PSEUDO: function(a, c) { | |
| var e, f = w.pseudos[a] || w.setFilters[a.toLowerCase()] || b.error("unsupported pseudo: " + a); | |
| return f[N] ? f(c) : f.length > 1 ? (e = [a, a, "", c], w.setFilters.hasOwnProperty(a.toLowerCase()) ? d(function(a, b) { | |
| for (var d, e = f(a, c), g = e.length; g--;) d = aa(a, e[g]), a[d] = !(b[d] = e[g]) | |
| }) : function(a) { | |
| return f(a, 0, e) | |
| }) : f | |
| } | |
| }, | |
| pseudos: { | |
| not: d(function(a) { | |
| var b = [], | |
| c = [], | |
| e = A(a.replace(ha, "$1")); | |
| return e[N] ? d(function(a, b, c, d) { | |
| for (var f, g = e(a, null, d, []), h = a.length; h--;)(f = g[h]) && (a[h] = !(b[h] = f)) | |
| }) : function(a, d, f) { | |
| return b[0] = a, e(b, null, f, c), b[0] = null, !c.pop() | |
| } | |
| }), | |
| has: d(function(a) { | |
| return function(c) { | |
| return b(a, c).length > 0 | |
| } | |
| }), | |
| contains: d(function(a) { | |
| return a = a.replace(ua, va), | |
| function(b) { | |
| return (b.textContent || b.innerText || x(b)).indexOf(a) > -1 | |
| } | |
| }), | |
| lang: d(function(a) { | |
| return ma.test(a || "") || b.error("unsupported lang: " + a), a = a.replace(ua, va).toLowerCase(), | |
| function(b) { | |
| var c; | |
| do | |
| if (c = I ? b.lang : b.getAttribute("xml:lang") || b.getAttribute("lang")) return c = c.toLowerCase(), c === a || 0 === c.indexOf(a + "-"); while ((b = b.parentNode) && 1 === b.nodeType); | |
| return !1 | |
| } | |
| }), | |
| target: function(b) { | |
| var c = a.location && a.location.hash; | |
| return c && c.slice(1) === b.id | |
| }, | |
| root: function(a) { | |
| return a === H | |
| }, | |
| focus: function(a) { | |
| return a === G.activeElement && (!G.hasFocus || G.hasFocus()) && !!(a.type || a.href || ~a.tabIndex) | |
| }, | |
| enabled: function(a) { | |
| return a.disabled === !1 | |
| }, | |
| disabled: function(a) { | |
| return a.disabled === !0 | |
| }, | |
| checked: function(a) { | |
| var b = a.nodeName.toLowerCase(); | |
| return "input" === b && !!a.checked || "option" === b && !!a.selected | |
| }, | |
| selected: function(a) { | |
| return a.parentNode && a.parentNode.selectedIndex, a.selected === !0 | |
| }, | |
| empty: function(a) { | |
| for (a = a.firstChild; a; a = a.nextSibling) | |
| if (a.nodeType < 6) return !1; | |
| return !0 | |
| }, | |
| parent: function(a) { | |
| return !w.pseudos.empty(a) | |
| }, | |
| header: function(a) { | |
| return pa.test(a.nodeName) | |
| }, | |
| input: function(a) { | |
| return oa.test(a.nodeName) | |
| }, | |
| button: function(a) { | |
| var b = a.nodeName.toLowerCase(); | |
| return "input" === b && "button" === a.type || "button" === b | |
| }, | |
| text: function(a) { | |
| var b; | |
| return "input" === a.nodeName.toLowerCase() && "text" === a.type && (null == (b = a.getAttribute("type")) || "text" === b.toLowerCase()) | |
| }, | |
| first: j(function() { | |
| return [0] | |
| }), | |
| last: j(function(a, b) { | |
| return [b - 1] | |
| }), | |
| eq: j(function(a, b, c) { | |
| return [0 > c ? c + b : c] | |
| }), | |
| even: j(function(a, b) { | |
| for (var c = 0; b > c; c += 2) a.push(c); | |
| return a | |
| }), | |
| odd: j(function(a, b) { | |
| for (var c = 1; b > c; c += 2) a.push(c); | |
| return a | |
| }), | |
| lt: j(function(a, b, c) { | |
| for (var d = 0 > c ? c + b : c; --d >= 0;) a.push(d); | |
| return a | |
| }), | |
| gt: j(function(a, b, c) { | |
| for (var d = 0 > c ? c + b : c; ++d < b;) a.push(d); | |
| return a | |
| }) | |
| } | |
| }, w.pseudos.nth = w.pseudos.eq; | |
| for (u in { | |
| radio: !0, | |
| checkbox: !0, | |
| file: !0, | |
| password: !0, | |
| image: !0 | |
| }) w.pseudos[u] = h(u); | |
| for (u in { | |
| submit: !0, | |
| reset: !0 | |
| }) w.pseudos[u] = i(u); | |
| return l.prototype = w.filters = w.pseudos, w.setFilters = new l, z = b.tokenize = function(a, c) { | |
| var d, e, f, g, h, i, j, k = S[a + " "]; | |
| if (k) return c ? 0 : k.slice(0); | |
| for (h = a, i = [], j = w.preFilter; h;) { | |
| d && !(e = ia.exec(h)) || (e && (h = h.slice(e[0].length) || h), i.push(f = [])), d = !1, (e = ja.exec(h)) && (d = e.shift(), f.push({ | |
| value: d, | |
| type: e[0].replace(ha, " ") | |
| }), h = h.slice(d.length)); | |
| for (g in w.filter) !(e = na[g].exec(h)) || j[g] && !(e = j[g](e)) || (d = e.shift(), f.push({ | |
| value: d, | |
| type: g, | |
| matches: e | |
| }), h = h.slice(d.length)); | |
| if (!d) break | |
| } | |
| return c ? h.length : h ? b.error(a) : S(a, i).slice(0) | |
| }, A = b.compile = function(a, b) { | |
| var c, d = [], | |
| e = [], | |
| f = T[a + " "]; | |
| if (!f) { | |
| for (b || (b = z(a)), c = b.length; c--;) f = s(b[c]), f[N] ? d.push(f) : e.push(f); | |
| f = T(a, t(e, d)), f.selector = a | |
| } | |
| return f | |
| }, B = b.select = function(a, b, c, d) { | |
| var e, f, g, h, i, j = "function" == typeof a && a, | |
| l = !d && z(a = j.selector || a); | |
| if (c = c || [], 1 === l.length) { | |
| if (f = l[0] = l[0].slice(0), f.length > 2 && "ID" === (g = f[0]).type && v.getById && 9 === b.nodeType && I && w.relative[f[1].type]) { | |
| if (b = (w.find.ID(g.matches[0].replace(ua, va), b) || [])[0], !b) return c; | |
| j && (b = b.parentNode), a = a.slice(f.shift().value.length) | |
| } | |
| for (e = na.needsContext.test(a) ? 0 : f.length; e-- && (g = f[e], !w.relative[h = g.type]);) | |
| if ((i = w.find[h]) && (d = i(g.matches[0].replace(ua, va), sa.test(f[0].type) && k(b.parentNode) || b))) { | |
| if (f.splice(e, 1), a = d.length && m(f), !a) return $.apply(c, d), c; | |
| break | |
| } | |
| } | |
| return (j || A(a, l))(d, b, !I, c, !b || sa.test(a) && k(b.parentNode) || b), c | |
| }, v.sortStable = N.split("").sort(U).join("") === N, v.detectDuplicates = !!E, F(), v.sortDetached = e(function(a) { | |
| return 1 & a.compareDocumentPosition(G.createElement("div")) | |
| }), e(function(a) { | |
| return a.innerHTML = "<a href='#'></a>", "#" === a.firstChild.getAttribute("href") | |
| }) || f("type|href|height|width", function(a, b, c) { | |
| return c ? void 0 : a.getAttribute(b, "type" === b.toLowerCase() ? 1 : 2) | |
| }), v.attributes && e(function(a) { | |
| return a.innerHTML = "<input/>", a.firstChild.setAttribute("value", ""), "" === a.firstChild.getAttribute("value") | |
| }) || f("value", function(a, b, c) { | |
| return c || "input" !== a.nodeName.toLowerCase() ? void 0 : a.defaultValue | |
| }), e(function(a) { | |
| return null == a.getAttribute("disabled") | |
| }) || f(ba, function(a, b, c) { | |
| var d; | |
| return c ? void 0 : a[b] === !0 ? b.toLowerCase() : (d = a.getAttributeNode(b)) && d.specified ? d.value : null | |
| }), b | |
| }(a); | |
| na.find = sa, na.expr = sa.selectors, na.expr[":"] = na.expr.pseudos, na.uniqueSort = na.unique = sa.uniqueSort, na.text = sa.getText, na.isXMLDoc = sa.isXML, na.contains = sa.contains; | |
| var ta = function(a, b, c) { | |
| for (var d = [], e = void 0 !== c; | |
| (a = a[b]) && 9 !== a.nodeType;) | |
| if (1 === a.nodeType) { | |
| if (e && na(a).is(c)) break; | |
| d.push(a) | |
| } | |
| return d | |
| }, | |
| ua = function(a, b) { | |
| for (var c = []; a; a = a.nextSibling) 1 === a.nodeType && a !== b && c.push(a); | |
| return c | |
| }, | |
| va = na.expr.match.needsContext, | |
| wa = /^<([\w-]+)\s*\/?>(?:<\/\1>|)$/, | |
| xa = /^.[^:#\[\.,]*$/; | |
| na.filter = function(a, b, c) { | |
| var d = b[0]; | |
| return c && (a = ":not(" + a + ")"), 1 === b.length && 1 === d.nodeType ? na.find.matchesSelector(d, a) ? [d] : [] : na.find.matches(a, na.grep(b, function(a) { | |
| return 1 === a.nodeType | |
| })) | |
| }, na.fn.extend({ | |
| find: function(a) { | |
| var b, c = [], | |
| d = this, | |
| e = d.length; | |
| if ("string" != typeof a) return this.pushStack(na(a).filter(function() { | |
| for (b = 0; e > b; b++) | |
| if (na.contains(d[b], this)) return !0 | |
| })); | |
| for (b = 0; e > b; b++) na.find(a, d[b], c); | |
| return c = this.pushStack(e > 1 ? na.unique(c) : c), c.selector = this.selector ? this.selector + " " + a : a, c | |
| }, | |
| filter: function(a) { | |
| return this.pushStack(d(this, a || [], !1)) | |
| }, | |
| not: function(a) { | |
| return this.pushStack(d(this, a || [], !0)) | |
| }, | |
| is: function(a) { | |
| return !!d(this, "string" == typeof a && va.test(a) ? na(a) : a || [], !1).length | |
| } | |
| }); | |
| var ya, za = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/, | |
| Aa = na.fn.init = function(a, b, c) { | |
| var d, e; | |
| if (!a) return this; | |
| if (c = c || ya, "string" == typeof a) { | |
| if (d = "<" === a.charAt(0) && ">" === a.charAt(a.length - 1) && a.length >= 3 ? [null, a, null] : za.exec(a), !d || !d[1] && b) return !b || b.jquery ? (b || c).find(a) : this.constructor(b).find(a); | |
| if (d[1]) { | |
| if (b = b instanceof na ? b[0] : b, na.merge(this, na.parseHTML(d[1], b && b.nodeType ? b.ownerDocument || b : da, !0)), wa.test(d[1]) && na.isPlainObject(b)) | |
| for (d in b) na.isFunction(this[d]) ? this[d](b[d]) : this.attr(d, b[d]); | |
| return this | |
| } | |
| if (e = da.getElementById(d[2]), e && e.parentNode) { | |
| if (e.id !== d[2]) return ya.find(a); | |
| this.length = 1, this[0] = e | |
| } | |
| return this.context = da, this.selector = a, this | |
| } | |
| return a.nodeType ? (this.context = this[0] = a, this.length = 1, this) : na.isFunction(a) ? "undefined" != typeof c.ready ? c.ready(a) : a(na) : (void 0 !== a.selector && (this.selector = a.selector, this.context = a.context), na.makeArray(a, this)) | |
| }; | |
| Aa.prototype = na.fn, ya = na(da); | |
| var Ba = /^(?:parents|prev(?:Until|All))/, | |
| Ca = { | |
| children: !0, | |
| contents: !0, | |
| next: !0, | |
| prev: !0 | |
| }; | |
| na.fn.extend({ | |
| has: function(a) { | |
| var b, c = na(a, this), | |
| d = c.length; | |
| return this.filter(function() { | |
| for (b = 0; d > b; b++) | |
| if (na.contains(this, c[b])) return !0 | |
| }) | |
| }, | |
| closest: function(a, b) { | |
| for (var c, d = 0, e = this.length, f = [], g = va.test(a) || "string" != typeof a ? na(a, b || this.context) : 0; e > d; d++) | |
| for (c = this[d]; c && c !== b; c = c.parentNode) | |
| if (c.nodeType < 11 && (g ? g.index(c) > -1 : 1 === c.nodeType && na.find.matchesSelector(c, a))) { | |
| f.push(c); | |
| break | |
| } | |
| return this.pushStack(f.length > 1 ? na.uniqueSort(f) : f) | |
| }, | |
| index: function(a) { | |
| return a ? "string" == typeof a ? na.inArray(this[0], na(a)) : na.inArray(a.jquery ? a[0] : a, this) : this[0] && this[0].parentNode ? this.first().prevAll().length : -1 | |
| }, | |
| add: function(a, b) { | |
| return this.pushStack(na.uniqueSort(na.merge(this.get(), na(a, b)))) | |
| }, | |
| addBack: function(a) { | |
| return this.add(null == a ? this.prevObject : this.prevObject.filter(a)) | |
| } | |
| }), na.each({ | |
| parent: function(a) { | |
| var b = a.parentNode; | |
| return b && 11 !== b.nodeType ? b : null | |
| }, | |
| parents: function(a) { | |
| return ta(a, "parentNode") | |
| }, | |
| parentsUntil: function(a, b, c) { | |
| return ta(a, "parentNode", c) | |
| }, | |
| next: function(a) { | |
| return e(a, "nextSibling") | |
| }, | |
| prev: function(a) { | |
| return e(a, "previousSibling") | |
| }, | |
| nextAll: function(a) { | |
| return ta(a, "nextSibling") | |
| }, | |
| prevAll: function(a) { | |
| return ta(a, "previousSibling") | |
| }, | |
| nextUntil: function(a, b, c) { | |
| return ta(a, "nextSibling", c) | |
| }, | |
| prevUntil: function(a, b, c) { | |
| return ta(a, "previousSibling", c) | |
| }, | |
| siblings: function(a) { | |
| return ua((a.parentNode || {}).firstChild, a) | |
| }, | |
| children: function(a) { | |
| return ua(a.firstChild) | |
| }, | |
| contents: function(a) { | |
| return na.nodeName(a, "iframe") ? a.contentDocument || a.contentWindow.document : na.merge([], a.childNodes) | |
| } | |
| }, function(a, b) { | |
| na.fn[a] = function(c, d) { | |
| var e = na.map(this, b, c); | |
| return "Until" !== a.slice(-5) && (d = c), d && "string" == typeof d && (e = na.filter(d, e)), this.length > 1 && (Ca[a] || (e = na.uniqueSort(e)), Ba.test(a) && (e = e.reverse())), this.pushStack(e) | |
| } | |
| }); | |
| var Da = /\S+/g; | |
| na.Callbacks = function(a) { | |
| a = "string" == typeof a ? f(a) : na.extend({}, a); | |
| var b, c, d, e, g = [], | |
| h = [], | |
| i = -1, | |
| j = function() { | |
| for (e = a.once, d = b = !0; h.length; i = -1) | |
| for (c = h.shift(); ++i < g.length;) g[i].apply(c[0], c[1]) === !1 && a.stopOnFalse && (i = g.length, c = !1); | |
| a.memory || (c = !1), b = !1, e && (g = c ? [] : "") | |
| }, | |
| k = { | |
| add: function() { | |
| return g && (c && !b && (i = g.length - 1, h.push(c)), function b(c) { | |
| na.each(c, function(c, d) { | |
| na.isFunction(d) ? a.unique && k.has(d) || g.push(d) : d && d.length && "string" !== na.type(d) && b(d) | |
| }) | |
| }(arguments), c && !b && j()), this | |
| }, | |
| remove: function() { | |
| return na.each(arguments, function(a, b) { | |
| for (var c; | |
| (c = na.inArray(b, g, c)) > -1;) g.splice(c, 1), i >= c && i-- | |
| }), this | |
| }, | |
| has: function(a) { | |
| return a ? na.inArray(a, g) > -1 : g.length > 0 | |
| }, | |
| empty: function() { | |
| return g && (g = []), this | |
| }, | |
| disable: function() { | |
| return e = h = [], g = c = "", this | |
| }, | |
| disabled: function() { | |
| return !g | |
| }, | |
| lock: function() { | |
| return e = !0, c || k.disable(), this | |
| }, | |
| locked: function() { | |
| return !!e | |
| }, | |
| fireWith: function(a, c) { | |
| return e || (c = c || [], c = [a, c.slice ? c.slice() : c], h.push(c), b || j()), this | |
| }, | |
| fire: function() { | |
| return k.fireWith(this, arguments), this | |
| }, | |
| fired: function() { | |
| return !!d | |
| } | |
| }; | |
| return k | |
| }, na.extend({ | |
| Deferred: function(a) { | |
| var b = [ | |
| ["resolve", "done", na.Callbacks("once memory"), "resolved"], | |
| ["reject", "fail", na.Callbacks("once memory"), "rejected"], | |
| ["notify", "progress", na.Callbacks("memory")] | |
| ], | |
| c = "pending", | |
| d = { | |
| state: function() { | |
| return c | |
| }, | |
| always: function() { | |
| return e.done(arguments).fail(arguments), this | |
| }, | |
| then: function() { | |
| var a = arguments; | |
| return na.Deferred(function(c) { | |
| na.each(b, function(b, f) { | |
| var g = na.isFunction(a[b]) && a[b]; | |
| e[f[1]](function() { | |
| var a = g && g.apply(this, arguments); | |
| a && na.isFunction(a.promise) ? a.promise().progress(c.notify).done(c.resolve).fail(c.reject) : c[f[0] + "With"](this === d ? c.promise() : this, g ? [a] : arguments) | |
| }) | |
| }), a = null | |
| }).promise() | |
| }, | |
| promise: function(a) { | |
| return null != a ? na.extend(a, d) : d | |
| } | |
| }, | |
| e = {}; | |
| return d.pipe = d.then, na.each(b, function(a, f) { | |
| var g = f[2], | |
| h = f[3]; | |
| d[f[1]] = g.add, h && g.add(function() { | |
| c = h | |
| }, b[1 ^ a][2].disable, b[2][2].lock), e[f[0]] = function() { | |
| return e[f[0] + "With"](this === e ? d : this, arguments), this | |
| }, e[f[0] + "With"] = g.fireWith | |
| }), d.promise(e), a && a.call(e, e), e | |
| }, | |
| when: function(a) { | |
| var b, c, d, e = 0, | |
| f = ea.call(arguments), | |
| g = f.length, | |
| h = 1 !== g || a && na.isFunction(a.promise) ? g : 0, | |
| i = 1 === h ? a : na.Deferred(), | |
| j = function(a, c, d) { | |
| return function(e) { | |
| c[a] = this, d[a] = arguments.length > 1 ? ea.call(arguments) : e, d === b ? i.notifyWith(c, d) : --h || i.resolveWith(c, d) | |
| } | |
| }; | |
| if (g > 1) | |
| for (b = new Array(g), c = new Array(g), d = new Array(g); g > e; e++) f[e] && na.isFunction(f[e].promise) ? f[e].promise().progress(j(e, c, b)).done(j(e, d, f)).fail(i.reject) : --h; | |
| return h || i.resolveWith(d, f), i.promise() | |
| } | |
| }); | |
| var Ea; | |
| na.fn.ready = function(a) { | |
| return na.ready.promise().done(a), this | |
| }, na.extend({ | |
| isReady: !1, | |
| readyWait: 1, | |
| holdReady: function(a) { | |
| a ? na.readyWait++ : na.ready(!0) | |
| }, | |
| ready: function(a) { | |
| (a === !0 ? --na.readyWait : na.isReady) || (na.isReady = !0, a !== !0 && --na.readyWait > 0 || (Ea.resolveWith(da, [na]), na.fn.triggerHandler && (na(da).triggerHandler("ready"), na(da).off("ready")))) | |
| } | |
| }), na.ready.promise = function(b) { | |
| if (!Ea) | |
| if (Ea = na.Deferred(), "complete" === da.readyState || "loading" !== da.readyState && !da.documentElement.doScroll) a.setTimeout(na.ready); | |
| else if (da.addEventListener) da.addEventListener("DOMContentLoaded", h), a.addEventListener("load", h); | |
| else { | |
| da.attachEvent("onreadystatechange", h), a.attachEvent("onload", h); | |
| var c = !1; | |
| try { | |
| c = null == a.frameElement && da.documentElement | |
| } catch (a) {} | |
| c && c.doScroll && ! function b() { | |
| if (!na.isReady) { | |
| try { | |
| c.doScroll("left") | |
| } catch (c) { | |
| return a.setTimeout(b, 50) | |
| } | |
| g(), na.ready() | |
| } | |
| }() | |
| } | |
| return Ea.promise(b) | |
| }, na.ready.promise(); | |
| var Fa; | |
| for (Fa in na(la)) break; | |
| la.ownFirst = "0" === Fa, la.inlineBlockNeedsLayout = !1, na(function() { | |
| var a, b, c, d; | |
| c = da.getElementsByTagName("body")[0], c && c.style && (b = da.createElement("div"), d = da.createElement("div"), d.style.cssText = "position:absolute;border:0;width:0;height:0;top:0;left:-9999px", c.appendChild(d).appendChild(b), "undefined" != typeof b.style.zoom && (b.style.cssText = "display:inline;margin:0;border:0;padding:1px;width:1px;zoom:1", la.inlineBlockNeedsLayout = a = 3 === b.offsetWidth, a && (c.style.zoom = 1)), c.removeChild(d)) | |
| }), | |
| function() { | |
| var a = da.createElement("div"); | |
| la.deleteExpando = !0; | |
| try { | |
| delete a.test | |
| } catch (a) { | |
| la.deleteExpando = !1 | |
| } | |
| a = null | |
| }(); | |
| var Ga = function(a) { | |
| var b = na.noData[(a.nodeName + " ").toLowerCase()], | |
| c = +a.nodeType || 1; | |
| return (1 === c || 9 === c) && (!b || b !== !0 && a.getAttribute("classid") === b) | |
| }, | |
| Ha = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/, | |
| Ia = /([A-Z])/g; | |
| na.extend({ | |
| cache: {}, | |
| noData: { | |
| "applet ": !0, | |
| "embed ": !0, | |
| "object ": "clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" | |
| }, | |
| hasData: function(a) { | |
| return a = a.nodeType ? na.cache[a[na.expando]] : a[na.expando], !!a && !j(a) | |
| }, | |
| data: function(a, b, c) { | |
| return k(a, b, c) | |
| }, | |
| removeData: function(a, b) { | |
| return l(a, b) | |
| }, | |
| _data: function(a, b, c) { | |
| return k(a, b, c, !0) | |
| }, | |
| _removeData: function(a, b) { | |
| return l(a, b, !0) | |
| } | |
| }), na.fn.extend({ | |
| data: function(a, b) { | |
| var c, d, e, f = this[0], | |
| g = f && f.attributes; | |
| if (void 0 === a) { | |
| if (this.length && (e = na.data(f), 1 === f.nodeType && !na._data(f, "parsedAttrs"))) { | |
| for (c = g.length; c--;) g[c] && (d = g[c].name, 0 === d.indexOf("data-") && (d = na.camelCase(d.slice(5)), i(f, d, e[d]))); | |
| na._data(f, "parsedAttrs", !0) | |
| } | |
| return e | |
| } | |
| return "object" == typeof a ? this.each(function() { | |
| na.data(this, a) | |
| }) : arguments.length > 1 ? this.each(function() { | |
| na.data(this, a, b) | |
| }) : f ? i(f, a, na.data(f, a)) : void 0 | |
| }, | |
| removeData: function(a) { | |
| return this.each(function() { | |
| na.removeData(this, a) | |
| }) | |
| } | |
| }), na.extend({ | |
| queue: function(a, b, c) { | |
| var d; | |
| return a ? (b = (b || "fx") + "queue", d = na._data(a, b), c && (!d || na.isArray(c) ? d = na._data(a, b, na.makeArray(c)) : d.push(c)), d || []) : void 0 | |
| }, | |
| dequeue: function(a, b) { | |
| b = b || "fx"; | |
| var c = na.queue(a, b), | |
| d = c.length, | |
| e = c.shift(), | |
| f = na._queueHooks(a, b), | |
| g = function() { | |
| na.dequeue(a, b) | |
| }; | |
| "inprogress" === e && (e = c.shift(), d--), e && ("fx" === b && c.unshift("inprogress"), delete f.stop, e.call(a, g, f)), !d && f && f.empty.fire() | |
| }, | |
| _queueHooks: function(a, b) { | |
| var c = b + "queueHooks"; | |
| return na._data(a, c) || na._data(a, c, { | |
| empty: na.Callbacks("once memory").add(function() { | |
| na._removeData(a, b + "queue"), na._removeData(a, c) | |
| }) | |
| }) | |
| } | |
| }), na.fn.extend({ | |
| queue: function(a, b) { | |
| var c = 2; | |
| return "string" != typeof a && (b = a, a = "fx", c--), arguments.length < c ? na.queue(this[0], a) : void 0 === b ? this : this.each(function() { | |
| var c = na.queue(this, a, b); | |
| na._queueHooks(this, a), "fx" === a && "inprogress" !== c[0] && na.dequeue(this, a) | |
| }) | |
| }, | |
| dequeue: function(a) { | |
| return this.each(function() { | |
| na.dequeue(this, a) | |
| }) | |
| }, | |
| clearQueue: function(a) { | |
| return this.queue(a || "fx", []) | |
| }, | |
| promise: function(a, b) { | |
| var c, d = 1, | |
| e = na.Deferred(), | |
| f = this, | |
| g = this.length, | |
| h = function() { | |
| --d || e.resolveWith(f, [f]) | |
| }; | |
| for ("string" != typeof a && (b = a, a = void 0), a = a || "fx"; g--;) c = na._data(f[g], a + "queueHooks"), c && c.empty && (d++, c.empty.add(h)); | |
| return h(), e.promise(b) | |
| } | |
| }), | |
| function() { | |
| var a; | |
| la.shrinkWrapBlocks = function() { | |
| if (null != a) return a; | |
| a = !1; | |
| var b, c, d; | |
| return c = da.getElementsByTagName("body")[0], c && c.style ? (b = da.createElement("div"), d = da.createElement("div"), d.style.cssText = "position:absolute;border:0;width:0;height:0;top:0;left:-9999px", c.appendChild(d).appendChild(b), "undefined" != typeof b.style.zoom && (b.style.cssText = "-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:1px;width:1px;zoom:1", b.appendChild(da.createElement("div")).style.width = "5px", a = 3 !== b.offsetWidth), c.removeChild(d), a) : void 0 | |
| } | |
| }(); | |
| var Ja = /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source, | |
| Ka = new RegExp("^(?:([+-])=|)(" + Ja + ")([a-z%]*)$", "i"), | |
| La = ["Top", "Right", "Bottom", "Left"], | |
| Ma = function(a, b) { | |
| return a = b || a, "none" === na.css(a, "display") || !na.contains(a.ownerDocument, a) | |
| }, | |
| Na = function(a, b, c, d, e, f, g) { | |
| var h = 0, | |
| i = a.length, | |
| j = null == c; | |
| if ("object" === na.type(c)) { | |
| e = !0; | |
| for (h in c) Na(a, b, h, c[h], !0, f, g) | |
| } else if (void 0 !== d && (e = !0, na.isFunction(d) || (g = !0), j && (g ? (b.call(a, d), b = null) : (j = b, b = function(a, b, c) { | |
| return j.call(na(a), c) | |
| })), b)) | |
| for (; i > h; h++) b(a[h], c, g ? d : d.call(a[h], h, b(a[h], c))); | |
| return e ? a : j ? b.call(a) : i ? b(a[0], c) : f | |
| }, | |
| Oa = /^(?:checkbox|radio)$/i, | |
| Pa = /<([\w:-]+)/, | |
| Qa = /^$|\/(?:java|ecma)script/i, | |
| Ra = /^\s+/, | |
| Sa = "abbr|article|aside|audio|bdi|canvas|data|datalist|details|dialog|figcaption|figure|footer|header|hgroup|main|mark|meter|nav|output|picture|progress|section|summary|template|time|video"; | |
| ! function() { | |
| var a = da.createElement("div"), | |
| b = da.createDocumentFragment(), | |
| c = da.createElement("input"); | |
| a.innerHTML = " <link/><table></table><a href='/a'>a</a><input type='checkbox'/>", la.leadingWhitespace = 3 === a.firstChild.nodeType, la.tbody = !a.getElementsByTagName("tbody").length, la.htmlSerialize = !!a.getElementsByTagName("link").length, la.html5Clone = "<:nav></:nav>" !== da.createElement("nav").cloneNode(!0).outerHTML, c.type = "checkbox", c.checked = !0, b.appendChild(c), la.appendChecked = c.checked, a.innerHTML = "<textarea>x</textarea>", la.noCloneChecked = !!a.cloneNode(!0).lastChild.defaultValue, b.appendChild(a), c = da.createElement("input"), c.setAttribute("type", "radio"), c.setAttribute("checked", "checked"), c.setAttribute("name", "t"), a.appendChild(c), la.checkClone = a.cloneNode(!0).cloneNode(!0).lastChild.checked, la.noCloneEvent = !!a.addEventListener, a[na.expando] = 1, la.attributes = !a.getAttribute(na.expando) | |
| }(); | |
| var Ta = { | |
| 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: la.htmlSerialize ? [0, "", ""] : [1, "X<div>", "</div>"] | |
| }; | |
| Ta.optgroup = Ta.option, Ta.tbody = Ta.tfoot = Ta.colgroup = Ta.caption = Ta.thead, Ta.th = Ta.td; | |
| var Ua = /<|&#?\w+;/, | |
| Va = /<tbody/i; | |
| ! function() { | |
| var b, c, d = da.createElement("div"); | |
| for (b in { | |
| submit: !0, | |
| change: !0, | |
| focusin: !0 | |
| }) c = "on" + b, (la[b] = c in a) || (d.setAttribute(c, "t"), la[b] = d.attributes[c].expando === !1); | |
| d = null | |
| }(); | |
| var Wa = /^(?:input|select|textarea)$/i, | |
| Xa = /^key/, | |
| Ya = /^(?:mouse|pointer|contextmenu|drag|drop)|click/, | |
| Za = /^(?:focusinfocus|focusoutblur)$/, | |
| $a = /^([^.]*)(?:\.(.+)|)/; | |
| na.event = { | |
| global: {}, | |
| add: function(a, b, c, d, e) { | |
| var f, g, h, i, j, k, l, m, n, o, p, q = na._data(a); | |
| if (q) { | |
| for (c.handler && (i = c, c = i.handler, e = i.selector), c.guid || (c.guid = na.guid++), (g = q.events) || (g = q.events = {}), (k = q.handle) || (k = q.handle = function(a) { | |
| return "undefined" == typeof na || a && na.event.triggered === a.type ? void 0 : na.event.dispatch.apply(k.elem, arguments) | |
| }, k.elem = a), b = (b || "").match(Da) || [""], h = b.length; h--;) f = $a.exec(b[h]) || [], n = p = f[1], o = (f[2] || "").split(".").sort(), n && (j = na.event.special[n] || {}, n = (e ? j.delegateType : j.bindType) || n, j = na.event.special[n] || {}, l = na.extend({ | |
| type: n, | |
| origType: p, | |
| data: d, | |
| handler: c, | |
| guid: c.guid, | |
| selector: e, | |
| needsContext: e && na.expr.match.needsContext.test(e), | |
| namespace: o.join(".") | |
| }, i), (m = g[n]) || (m = g[n] = [], m.delegateCount = 0, j.setup && j.setup.call(a, d, o, k) !== !1 || (a.addEventListener ? a.addEventListener(n, k, !1) : a.attachEvent && a.attachEvent("on" + n, k))), j.add && (j.add.call(a, l), l.handler.guid || (l.handler.guid = c.guid)), e ? m.splice(m.delegateCount++, 0, l) : m.push(l), na.event.global[n] = !0); | |
| a = null | |
| } | |
| }, | |
| remove: function(a, b, c, d, e) { | |
| var f, g, h, i, j, k, l, m, n, o, p, q = na.hasData(a) && na._data(a); | |
| if (q && (k = q.events)) { | |
| for (b = (b || "").match(Da) || [""], j = b.length; j--;) | |
| if (h = $a.exec(b[j]) || [], n = p = h[1], o = (h[2] || "").split(".").sort(), n) { | |
| for (l = na.event.special[n] || {}, n = (d ? l.delegateType : l.bindType) || n, m = k[n] || [], h = h[2] && new RegExp("(^|\\.)" + o.join("\\.(?:.*\\.|)") + "(\\.|$)"), i = f = m.length; f--;) g = m[f], !e && p !== g.origType || c && c.guid !== g.guid || h && !h.test(g.namespace) || d && d !== g.selector && ("**" !== d || !g.selector) || (m.splice(f, 1), g.selector && m.delegateCount--, l.remove && l.remove.call(a, g)); | |
| i && !m.length && (l.teardown && l.teardown.call(a, o, q.handle) !== !1 || na.removeEvent(a, n, q.handle), delete k[n]) | |
| } else | |
| for (n in k) na.event.remove(a, n + b[j], c, d, !0); | |
| na.isEmptyObject(k) && (delete q.handle, na._removeData(a, "events")) | |
| } | |
| }, | |
| trigger: function(b, c, d, e) { | |
| var f, g, h, i, j, k, l, m = [d || da], | |
| n = ka.call(b, "type") ? b.type : b, | |
| o = ka.call(b, "namespace") ? b.namespace.split(".") : []; | |
| if (h = k = d = d || da, 3 !== d.nodeType && 8 !== d.nodeType && !Za.test(n + na.event.triggered) && (n.indexOf(".") > -1 && (o = n.split("."), n = o.shift(), o.sort()), g = n.indexOf(":") < 0 && "on" + n, b = b[na.expando] ? b : new na.Event(n, "object" == typeof b && b), b.isTrigger = e ? 2 : 3, b.namespace = o.join("."), b.rnamespace = b.namespace ? new RegExp("(^|\\.)" + o.join("\\.(?:.*\\.|)") + "(\\.|$)") : null, b.result = void 0, b.target || (b.target = d), c = null == c ? [b] : na.makeArray(c, [b]), j = na.event.special[n] || {}, e || !j.trigger || j.trigger.apply(d, c) !== !1)) { | |
| if (!e && !j.noBubble && !na.isWindow(d)) { | |
| for (i = j.delegateType || n, Za.test(i + n) || (h = h.parentNode); h; h = h.parentNode) m.push(h), k = h; | |
| k === (d.ownerDocument || da) && m.push(k.defaultView || k.parentWindow || a) | |
| } | |
| for (l = 0; | |
| (h = m[l++]) && !b.isPropagationStopped();) b.type = l > 1 ? i : j.bindType || n, f = (na._data(h, "events") || {})[b.type] && na._data(h, "handle"), f && f.apply(h, c), f = g && h[g], f && f.apply && Ga(h) && (b.result = f.apply(h, c), b.result === !1 && b.preventDefault()); | |
| if (b.type = n, !e && !b.isDefaultPrevented() && (!j._default || j._default.apply(m.pop(), c) === !1) && Ga(d) && g && d[n] && !na.isWindow(d)) { | |
| k = d[g], k && (d[g] = null), na.event.triggered = n; | |
| try { | |
| d[n]() | |
| } catch (a) {} | |
| na.event.triggered = void 0, k && (d[g] = k) | |
| } | |
| return b.result | |
| } | |
| }, | |
| dispatch: function(a) { | |
| a = na.event.fix(a); | |
| var b, c, d, e, f, g = [], | |
| h = ea.call(arguments), | |
| i = (na._data(this, "events") || {})[a.type] || [], | |
| j = na.event.special[a.type] || {}; | |
| if (h[0] = a, a.delegateTarget = this, !j.preDispatch || j.preDispatch.call(this, a) !== !1) { | |
| for (g = na.event.handlers.call(this, a, i), b = 0; | |
| (e = g[b++]) && !a.isPropagationStopped();) | |
| for (a.currentTarget = e.elem, c = 0; | |
| (f = e.handlers[c++]) && !a.isImmediatePropagationStopped();) a.rnamespace && !a.rnamespace.test(f.namespace) || (a.handleObj = f, a.data = f.data, d = ((na.event.special[f.origType] || {}).handle || f.handler).apply(e.elem, h), void 0 !== d && (a.result = d) === !1 && (a.preventDefault(), a.stopPropagation())); | |
| return j.postDispatch && j.postDispatch.call(this, a), a.result | |
| } | |
| }, | |
| handlers: function(a, b) { | |
| var c, d, e, f, g = [], | |
| h = b.delegateCount, | |
| i = a.target; | |
| if (h && i.nodeType && ("click" !== a.type || isNaN(a.button) || a.button < 1)) | |
| for (; i != this; i = i.parentNode || this) | |
| if (1 === i.nodeType && (i.disabled !== !0 || "click" !== a.type)) { | |
| for (d = [], c = 0; h > c; c++) f = b[c], e = f.selector + " ", void 0 === d[e] && (d[e] = f.needsContext ? na(e, this).index(i) > -1 : na.find(e, this, null, [i]).length), d[e] && d.push(f); | |
| d.length && g.push({ | |
| elem: i, | |
| handlers: d | |
| }) | |
| } | |
| return h < b.length && g.push({ | |
| elem: this, | |
| handlers: b.slice(h) | |
| }), g | |
| }, | |
| fix: function(a) { | |
| if (a[na.expando]) return a; | |
| var b, c, d, e = a.type, | |
| f = a, | |
| g = this.fixHooks[e]; | |
| for (g || (this.fixHooks[e] = g = Ya.test(e) ? this.mouseHooks : Xa.test(e) ? this.keyHooks : {}), d = g.props ? this.props.concat(g.props) : this.props, a = new na.Event(f), b = d.length; b--;) c = d[b], a[c] = f[c]; | |
| return a.target || (a.target = f.srcElement || da), 3 === a.target.nodeType && (a.target = a.target.parentNode), a.metaKey = !!a.metaKey, g.filter ? g.filter(a, f) : a | |
| }, | |
| props: "altKey bubbles cancelable ctrlKey currentTarget detail eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "), | |
| fixHooks: {}, | |
| keyHooks: { | |
| props: "char charCode key keyCode".split(" "), | |
| filter: function(a, b) { | |
| return null == a.which && (a.which = null != b.charCode ? b.charCode : b.keyCode), a | |
| } | |
| }, | |
| mouseHooks: { | |
| props: "button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "), | |
| filter: function(a, b) { | |
| var c, d, e, f = b.button, | |
| g = b.fromElement; | |
| return null == a.pageX && null != b.clientX && (d = a.target.ownerDocument || da, e = d.documentElement, c = d.body, a.pageX = b.clientX + (e && e.scrollLeft || c && c.scrollLeft || 0) - (e && e.clientLeft || c && c.clientLeft || 0), a.pageY = b.clientY + (e && e.scrollTop || c && c.scrollTop || 0) - (e && e.clientTop || c && c.clientTop || 0)), !a.relatedTarget && g && (a.relatedTarget = g === a.target ? b.toElement : g), a.which || void 0 === f || (a.which = 1 & f ? 1 : 2 & f ? 3 : 4 & f ? 2 : 0), a | |
| } | |
| }, | |
| special: { | |
| load: { | |
| noBubble: !0 | |
| }, | |
| focus: { | |
| trigger: function() { | |
| if (this !== u() && this.focus) try { | |
| return this.focus(), !1 | |
| } catch (a) {} | |
| }, | |
| delegateType: "focusin" | |
| }, | |
| blur: { | |
| trigger: function() { | |
| return this === u() && this.blur ? (this.blur(), !1) : void 0 | |
| }, | |
| delegateType: "focusout" | |
| }, | |
| click: { | |
| trigger: function() { | |
| return na.nodeName(this, "input") && "checkbox" === this.type && this.click ? (this.click(), !1) : void 0 | |
| }, | |
| _default: function(a) { | |
| return na.nodeName(a.target, "a") | |
| } | |
| }, | |
| beforeunload: { | |
| postDispatch: function(a) { | |
| void 0 !== a.result && a.originalEvent && (a.originalEvent.returnValue = a.result) | |
| } | |
| } | |
| }, | |
| simulate: function(a, b, c) { | |
| var d = na.extend(new na.Event, c, { | |
| type: a, | |
| isSimulated: !0 | |
| }); | |
| na.event.trigger(d, null, b), d.isDefaultPrevented() && c.preventDefault() | |
| } | |
| }, na.removeEvent = da.removeEventListener ? function(a, b, c) { | |
| a.removeEventListener && a.removeEventListener(b, c) | |
| } : function(a, b, c) { | |
| var d = "on" + b; | |
| a.detachEvent && ("undefined" == typeof a[d] && (a[d] = null), a.detachEvent(d, c)) | |
| }, na.Event = function(a, b) { | |
| return this instanceof na.Event ? (a && a.type ? (this.originalEvent = a, this.type = a.type, this.isDefaultPrevented = a.defaultPrevented || void 0 === a.defaultPrevented && a.returnValue === !1 ? s : t) : this.type = a, b && na.extend(this, b), this.timeStamp = a && a.timeStamp || na.now(), void(this[na.expando] = !0)) : new na.Event(a, b) | |
| }, na.Event.prototype = { | |
| constructor: na.Event, | |
| isDefaultPrevented: t, | |
| isPropagationStopped: t, | |
| isImmediatePropagationStopped: t, | |
| preventDefault: function() { | |
| var a = this.originalEvent; | |
| this.isDefaultPrevented = s, a && (a.preventDefault ? a.preventDefault() : a.returnValue = !1) | |
| }, | |
| stopPropagation: function() { | |
| var a = this.originalEvent; | |
| this.isPropagationStopped = s, a && !this.isSimulated && (a.stopPropagation && a.stopPropagation(), a.cancelBubble = !0) | |
| }, | |
| stopImmediatePropagation: function() { | |
| var a = this.originalEvent; | |
| this.isImmediatePropagationStopped = s, a && a.stopImmediatePropagation && a.stopImmediatePropagation(), this.stopPropagation() | |
| } | |
| }, na.each({ | |
| mouseenter: "mouseover", | |
| mouseleave: "mouseout", | |
| pointerenter: "pointerover", | |
| pointerleave: "pointerout" | |
| }, function(a, b) { | |
| na.event.special[a] = { | |
| delegateType: b, | |
| bindType: b, | |
| handle: function(a) { | |
| var c, d = this, | |
| e = a.relatedTarget, | |
| f = a.handleObj; | |
| return e && (e === d || na.contains(d, e)) || (a.type = f.origType, c = f.handler.apply(this, arguments), a.type = b), c | |
| } | |
| } | |
| }), la.submit || (na.event.special.submit = { | |
| setup: function() { | |
| return !na.nodeName(this, "form") && void na.event.add(this, "click._submit keypress._submit", function(a) { | |
| var b = a.target, | |
| c = na.nodeName(b, "input") || na.nodeName(b, "button") ? na.prop(b, "form") : void 0; | |
| c && !na._data(c, "submit") && (na.event.add(c, "submit._submit", function(a) { | |
| a._submitBubble = !0 | |
| }), na._data(c, "submit", !0)) | |
| }) | |
| }, | |
| postDispatch: function(a) { | |
| a._submitBubble && (delete a._submitBubble, this.parentNode && !a.isTrigger && na.event.simulate("submit", this.parentNode, a)) | |
| }, | |
| teardown: function() { | |
| return !na.nodeName(this, "form") && void na.event.remove(this, "._submit") | |
| } | |
| }), la.change || (na.event.special.change = { | |
| setup: function() { | |
| return Wa.test(this.nodeName) ? ("checkbox" !== this.type && "radio" !== this.type || (na.event.add(this, "propertychange._change", function(a) { | |
| "checked" === a.originalEvent.propertyName && (this._justChanged = !0) | |
| }), na.event.add(this, "click._change", function(a) { | |
| this._justChanged && !a.isTrigger && (this._justChanged = !1), na.event.simulate("change", this, a) | |
| })), !1) : void na.event.add(this, "beforeactivate._change", function(a) { | |
| var b = a.target; | |
| Wa.test(b.nodeName) && !na._data(b, "change") && (na.event.add(b, "change._change", function(a) { | |
| !this.parentNode || a.isSimulated || a.isTrigger || na.event.simulate("change", this.parentNode, a) | |
| }), na._data(b, "change", !0)) | |
| }) | |
| }, | |
| handle: function(a) { | |
| var b = a.target; | |
| return this !== b || a.isSimulated || a.isTrigger || "radio" !== b.type && "checkbox" !== b.type ? a.handleObj.handler.apply(this, arguments) : void 0 | |
| }, | |
| teardown: function() { | |
| return na.event.remove(this, "._change"), !Wa.test(this.nodeName) | |
| } | |
| }), la.focusin || na.each({ | |
| focus: "focusin", | |
| blur: "focusout" | |
| }, function(a, b) { | |
| var c = function(a) { | |
| na.event.simulate(b, a.target, na.event.fix(a)) | |
| }; | |
| na.event.special[b] = { | |
| setup: function() { | |
| var d = this.ownerDocument || this, | |
| e = na._data(d, b); | |
| e || d.addEventListener(a, c, !0), na._data(d, b, (e || 0) + 1) | |
| }, | |
| teardown: function() { | |
| var d = this.ownerDocument || this, | |
| e = na._data(d, b) - 1; | |
| e ? na._data(d, b, e) : (d.removeEventListener(a, c, !0), na._removeData(d, b)) | |
| } | |
| } | |
| }), na.fn.extend({ | |
| on: function(a, b, c, d) { | |
| return v(this, a, b, c, d) | |
| }, | |
| one: function(a, b, c, d) { | |
| return v(this, a, b, c, d, 1) | |
| }, | |
| off: function(a, b, c) { | |
| var d, e; | |
| if (a && a.preventDefault && a.handleObj) return d = a.handleObj, na(a.delegateTarget).off(d.namespace ? d.origType + "." + d.namespace : d.origType, d.selector, d.handler), this; | |
| if ("object" == typeof a) { | |
| for (e in a) this.off(e, b, a[e]); | |
| return this | |
| } | |
| return b !== !1 && "function" != typeof b || (c = b, b = void 0), c === !1 && (c = t), this.each(function() { | |
| na.event.remove(this, a, c, b) | |
| }) | |
| }, | |
| trigger: function(a, b) { | |
| return this.each(function() { | |
| na.event.trigger(a, b, this) | |
| }) | |
| }, | |
| triggerHandler: function(a, b) { | |
| var c = this[0]; | |
| return c ? na.event.trigger(a, b, c, !0) : void 0 | |
| } | |
| }); | |
| var _a = / jQuery\d+="(?:null|\d+)"/g, | |
| ab = new RegExp("<(?:" + Sa + ")[\\s/>]", "i"), | |
| bb = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:-]+)[^>]*)\/>/gi, | |
| cb = /<script|<style|<link/i, | |
| db = /checked\s*(?:[^=]|=\s*.checked.)/i, | |
| eb = /^true\/(.*)/, | |
| fb = /^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g, | |
| gb = n(da), | |
| hb = gb.appendChild(da.createElement("div")); | |
| na.extend({ | |
| htmlPrefilter: function(a) { | |
| return a.replace(bb, "<$1></$2>") | |
| }, | |
| clone: function(a, b, c) { | |
| var d, e, f, g, h, i = na.contains(a.ownerDocument, a); | |
| if (la.html5Clone || na.isXMLDoc(a) || !ab.test("<" + a.nodeName + ">") ? f = a.cloneNode(!0) : (hb.innerHTML = a.outerHTML, hb.removeChild(f = hb.firstChild)), !(la.noCloneEvent && la.noCloneChecked || 1 !== a.nodeType && 11 !== a.nodeType || na.isXMLDoc(a))) | |
| for (d = o(f), h = o(a), g = 0; null != (e = h[g]); ++g) d[g] && A(e, d[g]); | |
| if (b) | |
| if (c) | |
| for (h = h || o(a), d = d || o(f), g = 0; null != (e = h[g]); g++) z(e, d[g]); | |
| else z(a, f); | |
| return d = o(f, "script"), d.length > 0 && p(d, !i && o(a, "script")), d = h = e = null, f | |
| }, | |
| cleanData: function(a, b) { | |
| for (var c, d, e, f, g = 0, h = na.expando, i = na.cache, j = la.attributes, k = na.event.special; null != (c = a[g]); g++) | |
| if ((b || Ga(c)) && (e = c[h], f = e && i[e])) { | |
| if (f.events) | |
| for (d in f.events) k[d] ? na.event.remove(c, d) : na.removeEvent(c, d, f.handle); | |
| i[e] && (delete i[e], j || "undefined" == typeof c.removeAttribute ? c[h] = void 0 : c.removeAttribute(h), ca.push(e)) | |
| } | |
| } | |
| }), na.fn.extend({ | |
| domManip: B, | |
| detach: function(a) { | |
| return C(this, a, !0) | |
| }, | |
| remove: function(a) { | |
| return C(this, a) | |
| }, | |
| text: function(a) { | |
| return Na(this, function(a) { | |
| return void 0 === a ? na.text(this) : this.empty().append((this[0] && this[0].ownerDocument || da).createTextNode(a)) | |
| }, null, a, arguments.length) | |
| }, | |
| append: function() { | |
| return B(this, arguments, function(a) { | |
| if (1 === this.nodeType || 11 === this.nodeType || 9 === this.nodeType) { | |
| var b = w(this, a); | |
| b.appendChild(a) | |
| } | |
| }) | |
| }, | |
| prepend: function() { | |
| return B(this, arguments, function(a) { | |
| if (1 === this.nodeType || 11 === this.nodeType || 9 === this.nodeType) { | |
| var b = w(this, a); | |
| b.insertBefore(a, b.firstChild) | |
| } | |
| }) | |
| }, | |
| before: function() { | |
| return B(this, arguments, function(a) { | |
| this.parentNode && this.parentNode.insertBefore(a, this) | |
| }) | |
| }, | |
| after: function() { | |
| return B(this, arguments, function(a) { | |
| this.parentNode && this.parentNode.insertBefore(a, this.nextSibling) | |
| }) | |
| }, | |
| empty: function() { | |
| for (var a, b = 0; null != (a = this[b]); b++) { | |
| for (1 === a.nodeType && na.cleanData(o(a, !1)); a.firstChild;) a.removeChild(a.firstChild); | |
| a.options && na.nodeName(a, "select") && (a.options.length = 0) | |
| } | |
| return this | |
| }, | |
| clone: function(a, b) { | |
| return a = null != a && a, b = null == b ? a : b, this.map(function() { | |
| return na.clone(this, a, b) | |
| }) | |
| }, | |
| html: function(a) { | |
| return Na(this, function(a) { | |
| var b = this[0] || {}, | |
| c = 0, | |
| d = this.length; | |
| if (void 0 === a) return 1 === b.nodeType ? b.innerHTML.replace(_a, "") : void 0; | |
| if ("string" == typeof a && !cb.test(a) && (la.htmlSerialize || !ab.test(a)) && (la.leadingWhitespace || !Ra.test(a)) && !Ta[(Pa.exec(a) || ["", ""])[1].toLowerCase()]) { | |
| a = na.htmlPrefilter(a); | |
| try { | |
| for (; d > c; c++) b = this[c] || {}, 1 === b.nodeType && (na.cleanData(o(b, !1)), b.innerHTML = a); | |
| b = 0 | |
| } catch (a) {} | |
| } | |
| b && this.empty().append(a) | |
| }, null, a, arguments.length) | |
| }, | |
| replaceWith: function() { | |
| var a = []; | |
| return B(this, arguments, function(b) { | |
| var c = this.parentNode; | |
| na.inArray(this, a) < 0 && (na.cleanData(o(this)), c && c.replaceChild(b, this)) | |
| }, a) | |
| } | |
| }), na.each({ | |
| appendTo: "append", | |
| prependTo: "prepend", | |
| insertBefore: "before", | |
| insertAfter: "after", | |
| replaceAll: "replaceWith" | |
| }, function(a, b) { | |
| na.fn[a] = function(a) { | |
| for (var c, d = 0, e = [], f = na(a), g = f.length - 1; g >= d; d++) c = d === g ? this : this.clone(!0), na(f[d])[b](c), ga.apply(e, c.get()); | |
| return this.pushStack(e) | |
| } | |
| }); | |
| var ib, jb = { | |
| HTML: "block", | |
| BODY: "block" | |
| }, | |
| kb = /^margin/, | |
| lb = new RegExp("^(" + Ja + ")(?!px)[a-z%]+$", "i"), | |
| mb = function(a, b, c, d) { | |
| var e, f, g = {}; | |
| for (f in b) g[f] = a.style[f], a.style[f] = b[f]; | |
| e = c.apply(a, d || []); | |
| for (f in b) a.style[f] = g[f]; | |
| return e | |
| }, | |
| nb = da.documentElement; | |
| ! function() { | |
| function b() { | |
| var b, k, l = da.documentElement; | |
| l.appendChild(i), j.style.cssText = "-webkit-box-sizing:border-box;box-sizing:border-box;position:relative;display:block;margin:auto;border:1px;padding:1px;top:1%;width:50%", c = e = h = !1, d = g = !0, a.getComputedStyle && (k = a.getComputedStyle(j), c = "1%" !== (k || {}).top, h = "2px" === (k || {}).marginLeft, e = "4px" === (k || { | |
| width: "4px" | |
| }).width, j.style.marginRight = "50%", d = "4px" === (k || { | |
| marginRight: "4px" | |
| }).marginRight, b = j.appendChild(da.createElement("div")), b.style.cssText = j.style.cssText = "-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:0", b.style.marginRight = b.style.width = "0", j.style.width = "1px", g = !parseFloat((a.getComputedStyle(b) || {}).marginRight), j.removeChild(b)), j.style.display = "none", f = 0 === j.getClientRects().length, f && (j.style.display = "", j.innerHTML = "<table><tr><td></td><td>t</td></tr></table>", j.childNodes[0].style.borderCollapse = "separate", b = j.getElementsByTagName("td"), b[0].style.cssText = "margin:0;border:0;padding:0;display:none", f = 0 === b[0].offsetHeight, f && (b[0].style.display = "", b[1].style.display = "none", f = 0 === b[0].offsetHeight)), l.removeChild(i) | |
| } | |
| var c, d, e, f, g, h, i = da.createElement("div"), | |
| j = da.createElement("div"); | |
| j.style && (j.style.cssText = "float:left;opacity:.5", la.opacity = "0.5" === j.style.opacity, la.cssFloat = !!j.style.cssFloat, j.style.backgroundClip = "content-box", j.cloneNode(!0).style.backgroundClip = "", la.clearCloneStyle = "content-box" === j.style.backgroundClip, i = da.createElement("div"), i.style.cssText = "border:0;width:8px;height:0;top:0;left:-9999px;padding:0;margin-top:1px;position:absolute", j.innerHTML = "", i.appendChild(j), la.boxSizing = "" === j.style.boxSizing || "" === j.style.MozBoxSizing || "" === j.style.WebkitBoxSizing, na.extend(la, { | |
| reliableHiddenOffsets: function() { | |
| return null == c && b(), f | |
| }, | |
| boxSizingReliable: function() { | |
| return null == c && b(), e | |
| }, | |
| pixelMarginRight: function() { | |
| return null == c && b(), d | |
| }, | |
| pixelPosition: function() { | |
| return null == c && b(), c | |
| }, | |
| reliableMarginRight: function() { | |
| return null == c && b(), g | |
| }, | |
| reliableMarginLeft: function() { | |
| return null == c && b(), h | |
| } | |
| })) | |
| }(); | |
| var ob, pb, qb = /^(top|right|bottom|left)$/; | |
| a.getComputedStyle ? (ob = function(b) { | |
| var c = b.ownerDocument.defaultView; | |
| return c && c.opener || (c = a), c.getComputedStyle(b) | |
| }, pb = function(a, b, c) { | |
| var d, e, f, g, h = a.style; | |
| return c = c || ob(a), g = c ? c.getPropertyValue(b) || c[b] : void 0, "" !== g && void 0 !== g || na.contains(a.ownerDocument, a) || (g = na.style(a, b)), c && !la.pixelMarginRight() && lb.test(g) && kb.test(b) && (d = h.width, e = h.minWidth, f = h.maxWidth, h.minWidth = h.maxWidth = h.width = g, g = c.width, h.width = d, h.minWidth = e, h.maxWidth = f), void 0 === g ? g : g + "" | |
| }) : nb.currentStyle && (ob = function(a) { | |
| return a.currentStyle | |
| }, pb = function(a, b, c) { | |
| var d, e, f, g, h = a.style; | |
| return c = c || ob(a), g = c ? c[b] : void 0, null == g && h && h[b] && (g = h[b]), lb.test(g) && !qb.test(b) && (d = h.left, e = a.runtimeStyle, f = e && e.left, f && (e.left = a.currentStyle.left), h.left = "fontSize" === b ? "1em" : g, g = h.pixelLeft + "px", h.left = d, f && (e.left = f)), void 0 === g ? g : g + "" || "auto" | |
| }); | |
| var rb = /alpha\([^)]*\)/i, | |
| sb = /opacity\s*=\s*([^)]*)/i, | |
| tb = /^(none|table(?!-c[ea]).+)/, | |
| ub = new RegExp("^(" + Ja + ")(.*)$", "i"), | |
| vb = { | |
| position: "absolute", | |
| visibility: "hidden", | |
| display: "block" | |
| }, | |
| wb = { | |
| letterSpacing: "0", | |
| fontWeight: "400" | |
| }, | |
| xb = ["Webkit", "O", "Moz", "ms"], | |
| yb = da.createElement("div").style; | |
| na.extend({ | |
| cssHooks: { | |
| opacity: { | |
| get: function(a, b) { | |
| if (b) { | |
| var c = pb(a, "opacity"); | |
| return "" === c ? "1" : c | |
| } | |
| } | |
| } | |
| }, | |
| cssNumber: { | |
| animationIterationCount: !0, | |
| columnCount: !0, | |
| fillOpacity: !0, | |
| flexGrow: !0, | |
| flexShrink: !0, | |
| fontWeight: !0, | |
| lineHeight: !0, | |
| opacity: !0, | |
| order: !0, | |
| orphans: !0, | |
| widows: !0, | |
| zIndex: !0, | |
| zoom: !0 | |
| }, | |
| cssProps: { | |
| float: la.cssFloat ? "cssFloat" : "styleFloat" | |
| }, | |
| style: function(a, b, c, d) { | |
| if (a && 3 !== a.nodeType && 8 !== a.nodeType && a.style) { | |
| var e, f, g, h = na.camelCase(b), | |
| i = a.style; | |
| if (b = na.cssProps[h] || (na.cssProps[h] = G(h) || h), g = na.cssHooks[b] || na.cssHooks[h], void 0 === c) return g && "get" in g && void 0 !== (e = g.get(a, !1, d)) ? e : i[b]; | |
| if (f = typeof c, "string" === f && (e = Ka.exec(c)) && e[1] && (c = m(a, b, e), f = "number"), null != c && c === c && ("number" === f && (c += e && e[3] || (na.cssNumber[h] ? "" : "px")), la.clearCloneStyle || "" !== c || 0 !== b.indexOf("background") || (i[b] = "inherit"), !(g && "set" in g && void 0 === (c = g.set(a, c, d))))) try { | |
| i[b] = c | |
| } catch (a) {} | |
| } | |
| }, | |
| css: function(a, b, c, d) { | |
| var e, f, g, h = na.camelCase(b); | |
| return b = na.cssProps[h] || (na.cssProps[h] = G(h) || h), g = na.cssHooks[b] || na.cssHooks[h], g && "get" in g && (f = g.get(a, !0, c)), void 0 === f && (f = pb(a, b, d)), "normal" === f && b in wb && (f = wb[b]), "" === c || c ? (e = parseFloat(f), c === !0 || isFinite(e) ? e || 0 : f) : f | |
| } | |
| }), na.each(["height", "width"], function(a, b) { | |
| na.cssHooks[b] = { | |
| get: function(a, c, d) { | |
| return c ? tb.test(na.css(a, "display")) && 0 === a.offsetWidth ? mb(a, vb, function() { | |
| return K(a, b, d) | |
| }) : K(a, b, d) : void 0 | |
| }, | |
| set: function(a, c, d) { | |
| var e = d && ob(a); | |
| return I(a, c, d ? J(a, b, d, la.boxSizing && "border-box" === na.css(a, "boxSizing", !1, e), e) : 0) | |
| } | |
| } | |
| }), la.opacity || (na.cssHooks.opacity = { | |
| get: function(a, b) { | |
| return sb.test((b && a.currentStyle ? a.currentStyle.filter : a.style.filter) || "") ? .01 * parseFloat(RegExp.$1) + "" : b ? "1" : "" | |
| }, | |
| set: function(a, b) { | |
| var c = a.style, | |
| d = a.currentStyle, | |
| e = na.isNumeric(b) ? "alpha(opacity=" + 100 * b + ")" : "", | |
| f = d && d.filter || c.filter || ""; | |
| c.zoom = 1, (b >= 1 || "" === b) && "" === na.trim(f.replace(rb, "")) && c.removeAttribute && (c.removeAttribute("filter"), "" === b || d && !d.filter) || (c.filter = rb.test(f) ? f.replace(rb, e) : f + " " + e) | |
| } | |
| }), na.cssHooks.marginRight = F(la.reliableMarginRight, function(a, b) { | |
| return b ? mb(a, { | |
| display: "inline-block" | |
| }, pb, [a, "marginRight"]) : void 0 | |
| }), na.cssHooks.marginLeft = F(la.reliableMarginLeft, function(a, b) { | |
| return b ? (parseFloat(pb(a, "marginLeft")) || (na.contains(a.ownerDocument, a) ? a.getBoundingClientRect().left - mb(a, { | |
| marginLeft: 0 | |
| }, function() { | |
| return a.getBoundingClientRect().left | |
| }) : 0)) + "px" : void 0 | |
| }), na.each({ | |
| margin: "", | |
| padding: "", | |
| border: "Width" | |
| }, function(a, b) { | |
| na.cssHooks[a + b] = { | |
| expand: function(c) { | |
| for (var d = 0, e = {}, f = "string" == typeof c ? c.split(" ") : [c]; 4 > d; d++) e[a + La[d] + b] = f[d] || f[d - 2] || f[0]; | |
| return e | |
| } | |
| }, kb.test(a) || (na.cssHooks[a + b].set = I) | |
| }), na.fn.extend({ | |
| css: function(a, b) { | |
| return Na(this, function(a, b, c) { | |
| var d, e, f = {}, | |
| g = 0; | |
| if (na.isArray(b)) { | |
| for (d = ob(a), e = b.length; e > g; g++) f[b[g]] = na.css(a, b[g], !1, d); | |
| return f | |
| } | |
| return void 0 !== c ? na.style(a, b, c) : na.css(a, b) | |
| }, a, b, arguments.length > 1) | |
| }, | |
| show: function() { | |
| return H(this, !0) | |
| }, | |
| hide: function() { | |
| return H(this) | |
| }, | |
| toggle: function(a) { | |
| return "boolean" == typeof a ? a ? this.show() : this.hide() : this.each(function() { | |
| Ma(this) ? na(this).show() : na(this).hide() | |
| }) | |
| } | |
| }), na.Tween = L, L.prototype = { | |
| constructor: L, | |
| init: function(a, b, c, d, e, f) { | |
| this.elem = a, this.prop = c, this.easing = e || na.easing._default, this.options = b, this.start = this.now = this.cur(), this.end = d, this.unit = f || (na.cssNumber[c] ? "" : "px") | |
| }, | |
| cur: function() { | |
| var a = L.propHooks[this.prop]; | |
| return a && a.get ? a.get(this) : L.propHooks._default.get(this) | |
| }, | |
| run: function(a) { | |
| var b, c = L.propHooks[this.prop]; | |
| return this.options.duration ? this.pos = b = na.easing[this.easing](a, this.options.duration * a, 0, 1, this.options.duration) : this.pos = b = a, this.now = (this.end - this.start) * b + this.start, this.options.step && this.options.step.call(this.elem, this.now, this), c && c.set ? c.set(this) : L.propHooks._default.set(this), this | |
| } | |
| }, L.prototype.init.prototype = L.prototype, L.propHooks = { | |
| _default: { | |
| get: function(a) { | |
| var b; | |
| return 1 !== a.elem.nodeType || null != a.elem[a.prop] && null == a.elem.style[a.prop] ? a.elem[a.prop] : (b = na.css(a.elem, a.prop, ""), b && "auto" !== b ? b : 0) | |
| }, | |
| set: function(a) { | |
| na.fx.step[a.prop] ? na.fx.step[a.prop](a) : 1 !== a.elem.nodeType || null == a.elem.style[na.cssProps[a.prop]] && !na.cssHooks[a.prop] ? a.elem[a.prop] = a.now : na.style(a.elem, a.prop, a.now + a.unit) | |
| } | |
| } | |
| }, L.propHooks.scrollTop = L.propHooks.scrollLeft = { | |
| set: function(a) { | |
| a.elem.nodeType && a.elem.parentNode && (a.elem[a.prop] = a.now) | |
| } | |
| }, na.easing = { | |
| linear: function(a) { | |
| return a | |
| }, | |
| swing: function(a) { | |
| return .5 - Math.cos(a * Math.PI) / 2 | |
| }, | |
| _default: "swing" | |
| }, na.fx = L.prototype.init, na.fx.step = {}; | |
| var zb, Ab, Bb = /^(?:toggle|show|hide)$/, | |
| Cb = /queueHooks$/; | |
| na.Animation = na.extend(R, { | |
| tweeners: { | |
| "*": [function(a, b) { | |
| var c = this.createTween(a, b); | |
| return m(c.elem, a, Ka.exec(b), c), c | |
| }] | |
| }, | |
| tweener: function(a, b) { | |
| na.isFunction(a) ? (b = a, a = ["*"]) : a = a.match(Da); | |
| for (var c, d = 0, e = a.length; e > d; d++) c = a[d], R.tweeners[c] = R.tweeners[c] || [], R.tweeners[c].unshift(b) | |
| }, | |
| prefilters: [P], | |
| prefilter: function(a, b) { | |
| b ? R.prefilters.unshift(a) : R.prefilters.push(a) | |
| } | |
| }), na.speed = function(a, b, c) { | |
| var d = a && "object" == typeof a ? na.extend({}, a) : { | |
| complete: c || !c && b || na.isFunction(a) && a, | |
| duration: a, | |
| easing: c && b || b && !na.isFunction(b) && b | |
| }; | |
| return d.duration = na.fx.off ? 0 : "number" == typeof d.duration ? d.duration : d.duration in na.fx.speeds ? na.fx.speeds[d.duration] : na.fx.speeds._default, null != d.queue && d.queue !== !0 || (d.queue = "fx"), d.old = d.complete, d.complete = function() { | |
| na.isFunction(d.old) && d.old.call(this), d.queue && na.dequeue(this, d.queue) | |
| }, d | |
| }, na.fn.extend({ | |
| fadeTo: function(a, b, c, d) { | |
| return this.filter(Ma).css("opacity", 0).show().end().animate({ | |
| opacity: b | |
| }, a, c, d) | |
| }, | |
| animate: function(a, b, c, d) { | |
| var e = na.isEmptyObject(a), | |
| f = na.speed(b, c, d), | |
| g = function() { | |
| var b = R(this, na.extend({}, a), f); | |
| (e || na._data(this, "finish")) && b.stop(!0) | |
| }; | |
| return g.finish = g, e || f.queue === !1 ? this.each(g) : this.queue(f.queue, g) | |
| }, | |
| stop: function(a, b, c) { | |
| var d = function(a) { | |
| var b = a.stop; | |
| delete a.stop, b(c) | |
| }; | |
| return "string" != typeof a && (c = b, b = a, a = void 0), b && a !== !1 && this.queue(a || "fx", []), this.each(function() { | |
| var b = !0, | |
| e = null != a && a + "queueHooks", | |
| f = na.timers, | |
| g = na._data(this); | |
| if (e) g[e] && g[e].stop && d(g[e]); | |
| else | |
| for (e in g) g[e] && g[e].stop && Cb.test(e) && d(g[e]); | |
| for (e = f.length; e--;) f[e].elem !== this || null != a && f[e].queue !== a || (f[e].anim.stop(c), b = !1, f.splice(e, 1)); | |
| !b && c || na.dequeue(this, a) | |
| }) | |
| }, | |
| finish: function(a) { | |
| return a !== !1 && (a = a || "fx"), this.each(function() { | |
| var b, c = na._data(this), | |
| d = c[a + "queue"], | |
| e = c[a + "queueHooks"], | |
| f = na.timers, | |
| g = d ? d.length : 0; | |
| for (c.finish = !0, na.queue(this, a, []), e && e.stop && e.stop.call(this, !0), b = f.length; b--;) f[b].elem === this && f[b].queue === a && (f[b].anim.stop(!0), f.splice(b, 1)); | |
| for (b = 0; g > b; b++) d[b] && d[b].finish && d[b].finish.call(this); | |
| delete c.finish | |
| }) | |
| } | |
| }), na.each(["toggle", "show", "hide"], function(a, b) { | |
| var c = na.fn[b]; | |
| na.fn[b] = function(a, d, e) { | |
| return null == a || "boolean" == typeof a ? c.apply(this, arguments) : this.animate(N(b, !0), a, d, e) | |
| } | |
| }), na.each({ | |
| slideDown: N("show"), | |
| slideUp: N("hide"), | |
| slideToggle: N("toggle"), | |
| fadeIn: { | |
| opacity: "show" | |
| }, | |
| fadeOut: { | |
| opacity: "hide" | |
| }, | |
| fadeToggle: { | |
| opacity: "toggle" | |
| } | |
| }, function(a, b) { | |
| na.fn[a] = function(a, c, d) { | |
| return this.animate(b, a, c, d) | |
| } | |
| }), na.timers = [], na.fx.tick = function() { | |
| var a, b = na.timers, | |
| c = 0; | |
| for (zb = na.now(); c < b.length; c++) a = b[c], a() || b[c] !== a || b.splice(c--, 1); | |
| b.length || na.fx.stop(), zb = void 0 | |
| }, na.fx.timer = function(a) { | |
| na.timers.push(a), a() ? na.fx.start() : na.timers.pop() | |
| }, na.fx.interval = 13, na.fx.start = function() { | |
| Ab || (Ab = a.setInterval(na.fx.tick, na.fx.interval)) | |
| }, na.fx.stop = function() { | |
| a.clearInterval(Ab), Ab = null | |
| }, na.fx.speeds = { | |
| slow: 600, | |
| fast: 200, | |
| _default: 400 | |
| }, na.fn.delay = function(b, c) { | |
| return b = na.fx ? na.fx.speeds[b] || b : b, c = c || "fx", this.queue(c, function(c, d) { | |
| var e = a.setTimeout(c, b); | |
| d.stop = function() { | |
| a.clearTimeout(e) | |
| } | |
| }) | |
| }, | |
| function() { | |
| var a, b = da.createElement("input"), | |
| c = da.createElement("div"), | |
| d = da.createElement("select"), | |
| e = d.appendChild(da.createElement("option")); | |
| c = da.createElement("div"), c.setAttribute("className", "t"), c.innerHTML = " <link/><table></table><a href='/a'>a</a><input type='checkbox'/>", a = c.getElementsByTagName("a")[0], b.setAttribute("type", "checkbox"), c.appendChild(b), a = c.getElementsByTagName("a")[0], a.style.cssText = "top:1px", la.getSetAttribute = "t" !== c.className, la.style = /top/.test(a.getAttribute("style")), la.hrefNormalized = "/a" === a.getAttribute("href"), la.checkOn = !!b.value, la.optSelected = e.selected, la.enctype = !!da.createElement("form").enctype, d.disabled = !0, la.optDisabled = !e.disabled, b = da.createElement("input"), b.setAttribute("value", ""), la.input = "" === b.getAttribute("value"), b.value = "t", b.setAttribute("type", "radio"), la.radioValue = "t" === b.value | |
| }(); | |
| var Db = /\r/g, | |
| Eb = /[\x20\t\r\n\f]+/g; | |
| na.fn.extend({ | |
| val: function(a) { | |
| var b, c, d, e = this[0]; | |
| return arguments.length ? (d = na.isFunction(a), this.each(function(c) { | |
| var e; | |
| 1 === this.nodeType && (e = d ? a.call(this, c, na(this).val()) : a, null == e ? e = "" : "number" == typeof e ? e += "" : na.isArray(e) && (e = na.map(e, function(a) { | |
| return null == a ? "" : a + "" | |
| })), b = na.valHooks[this.type] || na.valHooks[this.nodeName.toLowerCase()], b && "set" in b && void 0 !== b.set(this, e, "value") || (this.value = e)) | |
| })) : e ? (b = na.valHooks[e.type] || na.valHooks[e.nodeName.toLowerCase()], b && "get" in b && void 0 !== (c = b.get(e, "value")) ? c : (c = e.value, "string" == typeof c ? c.replace(Db, "") : null == c ? "" : c)) : void 0 | |
| } | |
| }), na.extend({ | |
| valHooks: { | |
| option: { | |
| get: function(a) { | |
| var b = na.find.attr(a, "value"); | |
| return null != b ? b : na.trim(na.text(a)).replace(Eb, " ") | |
| } | |
| }, | |
| select: { | |
| get: function(a) { | |
| for (var b, c, d = a.options, e = a.selectedIndex, f = "select-one" === a.type || 0 > e, g = f ? null : [], h = f ? e + 1 : d.length, i = 0 > e ? h : f ? e : 0; h > i; i++) | |
| if (c = d[i], (c.selected || i === e) && (la.optDisabled ? !c.disabled : null === c.getAttribute("disabled")) && (!c.parentNode.disabled || !na.nodeName(c.parentNode, "optgroup"))) { | |
| if (b = na(c).val(), f) return b; | |
| g.push(b) | |
| } | |
| return g | |
| }, | |
| set: function(a, b) { | |
| for (var c, d, e = a.options, f = na.makeArray(b), g = e.length; g--;) | |
| if (d = e[g], na.inArray(na.valHooks.option.get(d), f) > -1) try { | |
| d.selected = c = !0 | |
| } catch (a) { | |
| d.scrollHeight | |
| } else d.selected = !1; | |
| return c || (a.selectedIndex = -1), e | |
| } | |
| } | |
| } | |
| }), na.each(["radio", "checkbox"], function() { | |
| na.valHooks[this] = { | |
| set: function(a, b) { | |
| return na.isArray(b) ? a.checked = na.inArray(na(a).val(), b) > -1 : void 0 | |
| } | |
| }, la.checkOn || (na.valHooks[this].get = function(a) { | |
| return null === a.getAttribute("value") ? "on" : a.value | |
| }) | |
| }); | |
| var Fb, Gb, Hb = na.expr.attrHandle, | |
| Ib = /^(?:checked|selected)$/i, | |
| Jb = la.getSetAttribute, | |
| Kb = la.input; | |
| na.fn.extend({ | |
| attr: function(a, b) { | |
| return Na(this, na.attr, a, b, arguments.length > 1) | |
| }, | |
| removeAttr: function(a) { | |
| return this.each(function() { | |
| na.removeAttr(this, a) | |
| }) | |
| } | |
| }), na.extend({ | |
| attr: function(a, b, c) { | |
| var d, e, f = a.nodeType; | |
| if (3 !== f && 8 !== f && 2 !== f) return "undefined" == typeof a.getAttribute ? na.prop(a, b, c) : (1 === f && na.isXMLDoc(a) || (b = b.toLowerCase(), e = na.attrHooks[b] || (na.expr.match.bool.test(b) ? Gb : Fb)), void 0 !== c ? null === c ? void na.removeAttr(a, b) : e && "set" in e && void 0 !== (d = e.set(a, c, b)) ? d : (a.setAttribute(b, c + ""), c) : e && "get" in e && null !== (d = e.get(a, b)) ? d : (d = na.find.attr(a, b), null == d ? void 0 : d)) | |
| }, | |
| attrHooks: { | |
| type: { | |
| set: function(a, b) { | |
| if (!la.radioValue && "radio" === b && na.nodeName(a, "input")) { | |
| var c = a.value; | |
| return a.setAttribute("type", b), c && (a.value = c), b | |
| } | |
| } | |
| } | |
| }, | |
| removeAttr: function(a, b) { | |
| var c, d, e = 0, | |
| f = b && b.match(Da); | |
| if (f && 1 === a.nodeType) | |
| for (; c = f[e++];) d = na.propFix[c] || c, na.expr.match.bool.test(c) ? Kb && Jb || !Ib.test(c) ? a[d] = !1 : a[na.camelCase("default-" + c)] = a[d] = !1 : na.attr(a, c, ""), a.removeAttribute(Jb ? c : d) | |
| } | |
| }), Gb = { | |
| set: function(a, b, c) { | |
| return b === !1 ? na.removeAttr(a, c) : Kb && Jb || !Ib.test(c) ? a.setAttribute(!Jb && na.propFix[c] || c, c) : a[na.camelCase("default-" + c)] = a[c] = !0, c | |
| } | |
| }, na.each(na.expr.match.bool.source.match(/\w+/g), function(a, b) { | |
| var c = Hb[b] || na.find.attr; | |
| Kb && Jb || !Ib.test(b) ? Hb[b] = function(a, b, d) { | |
| var e, f; | |
| return d || (f = Hb[b], Hb[b] = e, e = null != c(a, b, d) ? b.toLowerCase() : null, Hb[b] = f), e | |
| } : Hb[b] = function(a, b, c) { | |
| return c ? void 0 : a[na.camelCase("default-" + b)] ? b.toLowerCase() : null | |
| } | |
| }), Kb && Jb || (na.attrHooks.value = { | |
| set: function(a, b, c) { | |
| return na.nodeName(a, "input") ? void(a.defaultValue = b) : Fb && Fb.set(a, b, c) | |
| } | |
| }), Jb || (Fb = { | |
| set: function(a, b, c) { | |
| var d = a.getAttributeNode(c); | |
| return d || a.setAttributeNode(d = a.ownerDocument.createAttribute(c)), d.value = b += "", "value" === c || b === a.getAttribute(c) ? b : void 0 | |
| } | |
| }, Hb.id = Hb.name = Hb.coords = function(a, b, c) { | |
| var d; | |
| return c ? void 0 : (d = a.getAttributeNode(b)) && "" !== d.value ? d.value : null | |
| }, na.valHooks.button = { | |
| get: function(a, b) { | |
| var c = a.getAttributeNode(b); | |
| return c && c.specified ? c.value : void 0 | |
| }, | |
| set: Fb.set | |
| }, na.attrHooks.contenteditable = { | |
| set: function(a, b, c) { | |
| Fb.set(a, "" !== b && b, c) | |
| } | |
| }, na.each(["width", "height"], function(a, b) { | |
| na.attrHooks[b] = { | |
| set: function(a, c) { | |
| return "" === c ? (a.setAttribute(b, "auto"), c) : void 0 | |
| } | |
| } | |
| })), la.style || (na.attrHooks.style = { | |
| get: function(a) { | |
| return a.style.cssText || void 0 | |
| }, | |
| set: function(a, b) { | |
| return a.style.cssText = b + "" | |
| } | |
| }); | |
| var Lb = /^(?:input|select|textarea|button|object)$/i, | |
| Mb = /^(?:a|area)$/i; | |
| na.fn.extend({ | |
| prop: function(a, b) { | |
| return Na(this, na.prop, a, b, arguments.length > 1) | |
| }, | |
| removeProp: function(a) { | |
| return a = na.propFix[a] || a, this.each(function() { | |
| try { | |
| this[a] = void 0, delete this[a] | |
| } catch (a) {} | |
| }) | |
| } | |
| }), na.extend({ | |
| prop: function(a, b, c) { | |
| var d, e, f = a.nodeType; | |
| if (3 !== f && 8 !== f && 2 !== f) return 1 === f && na.isXMLDoc(a) || (b = na.propFix[b] || b, e = na.propHooks[b]), void 0 !== c ? e && "set" in e && void 0 !== (d = e.set(a, c, b)) ? d : a[b] = c : e && "get" in e && null !== (d = e.get(a, b)) ? d : a[b] | |
| }, | |
| propHooks: { | |
| tabIndex: { | |
| get: function(a) { | |
| var b = na.find.attr(a, "tabindex"); | |
| return b ? parseInt(b, 10) : Lb.test(a.nodeName) || Mb.test(a.nodeName) && a.href ? 0 : -1 | |
| } | |
| } | |
| }, | |
| propFix: { | |
| for: "htmlFor", | |
| class: "className" | |
| } | |
| }), la.hrefNormalized || na.each(["href", "src"], function(a, b) { | |
| na.propHooks[b] = { | |
| get: function(a) { | |
| return a.getAttribute(b, 4) | |
| } | |
| } | |
| }), la.optSelected || (na.propHooks.selected = { | |
| get: function(a) { | |
| var b = a.parentNode; | |
| return b && (b.selectedIndex, b.parentNode && b.parentNode.selectedIndex), null | |
| }, | |
| set: function(a) { | |
| var b = a.parentNode; | |
| b && (b.selectedIndex, b.parentNode && b.parentNode.selectedIndex) | |
| } | |
| }), na.each(["tabIndex", "readOnly", "maxLength", "cellSpacing", "cellPadding", "rowSpan", "colSpan", "useMap", "frameBorder", "contentEditable"], function() { | |
| na.propFix[this.toLowerCase()] = this | |
| }), la.enctype || (na.propFix.enctype = "encoding"); | |
| var Nb = /[\t\r\n\f]/g; | |
| na.fn.extend({ | |
| addClass: function(a) { | |
| var b, c, d, e, f, g, h, i = 0; | |
| if (na.isFunction(a)) return this.each(function(b) { | |
| na(this).addClass(a.call(this, b, S(this))) | |
| }); | |
| if ("string" == typeof a && a) | |
| for (b = a.match(Da) || []; c = this[i++];) | |
| if (e = S(c), d = 1 === c.nodeType && (" " + e + " ").replace(Nb, " ")) { | |
| for (g = 0; f = b[g++];) d.indexOf(" " + f + " ") < 0 && (d += f + " "); | |
| h = na.trim(d), e !== h && na.attr(c, "class", h) | |
| } | |
| return this | |
| }, | |
| removeClass: function(a) { | |
| var b, c, d, e, f, g, h, i = 0; | |
| if (na.isFunction(a)) return this.each(function(b) { | |
| na(this).removeClass(a.call(this, b, S(this))) | |
| }); | |
| if (!arguments.length) return this.attr("class", ""); | |
| if ("string" == typeof a && a) | |
| for (b = a.match(Da) || []; c = this[i++];) | |
| if (e = S(c), d = 1 === c.nodeType && (" " + e + " ").replace(Nb, " ")) { | |
| for (g = 0; f = b[g++];) | |
| for (; d.indexOf(" " + f + " ") > -1;) d = d.replace(" " + f + " ", " "); | |
| h = na.trim(d), e !== h && na.attr(c, "class", h) | |
| } | |
| return this | |
| }, | |
| toggleClass: function(a, b) { | |
| var c = typeof a; | |
| return "boolean" == typeof b && "string" === c ? b ? this.addClass(a) : this.removeClass(a) : na.isFunction(a) ? this.each(function(c) { | |
| na(this).toggleClass(a.call(this, c, S(this), b), b) | |
| }) : this.each(function() { | |
| var b, d, e, f; | |
| if ("string" === c) | |
| for (d = 0, e = na(this), f = a.match(Da) || []; b = f[d++];) e.hasClass(b) ? e.removeClass(b) : e.addClass(b); | |
| else void 0 !== a && "boolean" !== c || (b = S(this), b && na._data(this, "__className__", b), na.attr(this, "class", b || a === !1 ? "" : na._data(this, "__className__") || "")) | |
| }) | |
| }, | |
| hasClass: function(a) { | |
| var b, c, d = 0; | |
| for (b = " " + a + " "; c = this[d++];) | |
| if (1 === c.nodeType && (" " + S(c) + " ").replace(Nb, " ").indexOf(b) > -1) return !0; | |
| return !1 | |
| } | |
| }), na.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(a, b) { | |
| na.fn[b] = function(a, c) { | |
| return arguments.length > 0 ? this.on(b, null, a, c) : this.trigger(b) | |
| } | |
| }), na.fn.extend({ | |
| hover: function(a, b) { | |
| return this.mouseenter(a).mouseleave(b || a) | |
| } | |
| }); | |
| var Ob = a.location, | |
| Pb = na.now(), | |
| Qb = /\?/, | |
| Rb = /(,)|(\[|{)|(}|])|"(?:[^"\\\r\n]|\\["\\\/bfnrt]|\\u[\da-fA-F]{4})*"\s*:?|true|false|null|-?(?!0\d)\d+(?:\.\d+|)(?:[eE][+-]?\d+|)/g; | |
| na.parseJSON = function(b) { | |
| if (a.JSON && a.JSON.parse) return a.JSON.parse(b + ""); | |
| var c, d = null, | |
| e = na.trim(b + ""); | |
| return e && !na.trim(e.replace(Rb, function(a, b, e, f) { | |
| return c && b && (d = 0), 0 === d ? a : (c = e || b, d += !f - !e, "") | |
| })) ? Function("return " + e)() : na.error("Invalid JSON: " + b) | |
| }, na.parseXML = function(b) { | |
| var c, d; | |
| if (!b || "string" != typeof b) return null; | |
| try { | |
| a.DOMParser ? (d = new a.DOMParser, c = d.parseFromString(b, "text/xml")) : (c = new a.ActiveXObject("Microsoft.XMLDOM"), c.async = "false", c.loadXML(b)) | |
| } catch (a) { | |
| c = void 0 | |
| } | |
| return c && c.documentElement && !c.getElementsByTagName("parsererror").length || na.error("Invalid XML: " + b), c | |
| }; | |
| var Sb = /#.*$/, | |
| Tb = /([?&])_=[^&]*/, | |
| Ub = /^(.*?):[ \t]*([^\r\n]*)\r?$/gm, | |
| Vb = /^(?:about|app|app-storage|.+-extension|file|res|widget):$/, | |
| Wb = /^(?:GET|HEAD)$/, | |
| Xb = /^\/\//, | |
| Yb = /^([\w.+-]+:)(?:\/\/(?:[^\/?#]*@|)([^\/?#:]*)(?::(\d+)|)|)/, | |
| Zb = {}, | |
| $b = {}, | |
| _b = "*/".concat("*"), | |
| ac = Ob.href, | |
| bc = Yb.exec(ac.toLowerCase()) || []; | |
| na.extend({ | |
| active: 0, | |
| lastModified: {}, | |
| etag: {}, | |
| ajaxSettings: { | |
| url: ac, | |
| type: "GET", | |
| isLocal: Vb.test(bc[1]), | |
| global: !0, | |
| processData: !0, | |
| async: !0, | |
| contentType: "application/x-www-form-urlencoded; charset=UTF-8", | |
| accepts: { | |
| "*": _b, | |
| text: "text/plain", | |
| html: "text/html", | |
| xml: "application/xml, text/xml", | |
| json: "application/json, text/javascript" | |
| }, | |
| contents: { | |
| xml: /\bxml\b/, | |
| html: /\bhtml/, | |
| json: /\bjson\b/ | |
| }, | |
| responseFields: { | |
| xml: "responseXML", | |
| text: "responseText", | |
| json: "responseJSON" | |
| }, | |
| converters: { | |
| "* text": String, | |
| "text html": !0, | |
| "text json": na.parseJSON, | |
| "text xml": na.parseXML | |
| }, | |
| flatOptions: { | |
| url: !0, | |
| context: !0 | |
| } | |
| }, | |
| ajaxSetup: function(a, b) { | |
| return b ? V(V(a, na.ajaxSettings), b) : V(na.ajaxSettings, a) | |
| }, | |
| ajaxPrefilter: T(Zb), | |
| ajaxTransport: T($b), | |
| ajax: function(b, c) { | |
| function d(b, c, d, e) { | |
| var f, l, s, t, v, x = c; | |
| 2 !== u && (u = 2, i && a.clearTimeout(i), k = void 0, h = e || "", w.readyState = b > 0 ? 4 : 0, f = b >= 200 && 300 > b || 304 === b, d && (t = W(m, w, d)), t = X(m, t, w, f), f ? (m.ifModified && (v = w.getResponseHeader("Last-Modified"), v && (na.lastModified[g] = v), v = w.getResponseHeader("etag"), v && (na.etag[g] = v)), 204 === b || "HEAD" === m.type ? x = "nocontent" : 304 === b ? x = "notmodified" : (x = t.state, l = t.data, s = t.error, f = !s)) : (s = x, !b && x || (x = "error", 0 > b && (b = 0))), w.status = b, w.statusText = (c || x) + "", f ? p.resolveWith(n, [l, x, w]) : p.rejectWith(n, [w, x, s]), w.statusCode(r), r = void 0, j && o.trigger(f ? "ajaxSuccess" : "ajaxError", [w, m, f ? l : s]), q.fireWith(n, [w, x]), j && (o.trigger("ajaxComplete", [w, m]), --na.active || na.event.trigger("ajaxStop"))) | |
| } | |
| "object" == typeof b && (c = b, b = void 0), c = c || {}; | |
| var e, f, g, h, i, j, k, l, m = na.ajaxSetup({}, c), | |
| n = m.context || m, | |
| o = m.context && (n.nodeType || n.jquery) ? na(n) : na.event, | |
| p = na.Deferred(), | |
| q = na.Callbacks("once memory"), | |
| r = m.statusCode || {}, | |
| s = {}, | |
| t = {}, | |
| u = 0, | |
| v = "canceled", | |
| w = { | |
| readyState: 0, | |
| getResponseHeader: function(a) { | |
| var b; | |
| if (2 === u) { | |
| if (!l) | |
| for (l = {}; b = Ub.exec(h);) l[b[1].toLowerCase()] = b[2]; | |
| b = l[a.toLowerCase()] | |
| } | |
| return null == b ? null : b | |
| }, | |
| getAllResponseHeaders: function() { | |
| return 2 === u ? h : null | |
| }, | |
| setRequestHeader: function(a, b) { | |
| var c = a.toLowerCase(); | |
| return u || (a = t[c] = t[c] || a, s[a] = b), this | |
| }, | |
| overrideMimeType: function(a) { | |
| return u || (m.mimeType = a), this | |
| }, | |
| statusCode: function(a) { | |
| var b; | |
| if (a) | |
| if (2 > u) | |
| for (b in a) r[b] = [r[b], a[b]]; | |
| else w.always(a[w.status]); | |
| return this | |
| }, | |
| abort: function(a) { | |
| var b = a || v; | |
| return k && k.abort(b), d(0, b), this | |
| } | |
| }; | |
| if (p.promise(w).complete = q.add, w.success = w.done, w.error = w.fail, m.url = ((b || m.url || ac) + "").replace(Sb, "").replace(Xb, bc[1] + "//"), m.type = c.method || c.type || m.method || m.type, m.dataTypes = na.trim(m.dataType || "*").toLowerCase().match(Da) || [""], null == m.crossDomain && (e = Yb.exec(m.url.toLowerCase()), m.crossDomain = !(!e || e[1] === bc[1] && e[2] === bc[2] && (e[3] || ("http:" === e[1] ? "80" : "443")) === (bc[3] || ("http:" === bc[1] ? "80" : "443")))), m.data && m.processData && "string" != typeof m.data && (m.data = na.param(m.data, m.traditional)), U(Zb, m, c, w), 2 === u) return w; | |
| j = na.event && m.global, j && 0 === na.active++ && na.event.trigger("ajaxStart"), m.type = m.type.toUpperCase(), m.hasContent = !Wb.test(m.type), g = m.url, m.hasContent || (m.data && (g = m.url += (Qb.test(g) ? "&" : "?") + m.data, delete m.data), m.cache === !1 && (m.url = Tb.test(g) ? g.replace(Tb, "$1_=" + Pb++) : g + (Qb.test(g) ? "&" : "?") + "_=" + Pb++)), m.ifModified && (na.lastModified[g] && w.setRequestHeader("If-Modified-Since", na.lastModified[g]), na.etag[g] && w.setRequestHeader("If-None-Match", na.etag[g])), (m.data && m.hasContent && m.contentType !== !1 || c.contentType) && w.setRequestHeader("Content-Type", m.contentType), w.setRequestHeader("Accept", m.dataTypes[0] && m.accepts[m.dataTypes[0]] ? m.accepts[m.dataTypes[0]] + ("*" !== m.dataTypes[0] ? ", " + _b + "; q=0.01" : "") : m.accepts["*"]); | |
| for (f in m.headers) w.setRequestHeader(f, m.headers[f]); | |
| if (m.beforeSend && (m.beforeSend.call(n, w, m) === !1 || 2 === u)) return w.abort(); | |
| v = "abort"; | |
| for (f in { | |
| success: 1, | |
| error: 1, | |
| complete: 1 | |
| }) w[f](m[f]); | |
| if (k = U($b, m, c, w)) { | |
| if (w.readyState = 1, j && o.trigger("ajaxSend", [w, m]), 2 === u) return w; | |
| m.async && m.timeout > 0 && (i = a.setTimeout(function() { | |
| w.abort("timeout") | |
| }, m.timeout)); | |
| try { | |
| u = 1, k.send(s, d) | |
| } catch (a) { | |
| if (!(2 > u)) throw a; | |
| d(-1, a) | |
| } | |
| } else d(-1, "No Transport"); | |
| return w | |
| }, | |
| getJSON: function(a, b, c) { | |
| return na.get(a, b, c, "json") | |
| }, | |
| getScript: function(a, b) { | |
| return na.get(a, void 0, b, "script") | |
| } | |
| }), na.each(["get", "post"], function(a, b) { | |
| na[b] = function(a, c, d, e) { | |
| return na.isFunction(c) && (e = e || d, d = c, c = void 0), na.ajax(na.extend({ | |
| url: a, | |
| type: b, | |
| dataType: e, | |
| data: c, | |
| success: d | |
| }, na.isPlainObject(a) && a)) | |
| } | |
| }), na._evalUrl = function(a) { | |
| return na.ajax({ | |
| url: a, | |
| type: "GET", | |
| dataType: "script", | |
| cache: !0, | |
| async: !1, | |
| global: !1, | |
| throws: !0 | |
| }) | |
| }, na.fn.extend({ | |
| wrapAll: function(a) { | |
| if (na.isFunction(a)) return this.each(function(b) { | |
| na(this).wrapAll(a.call(this, b)) | |
| }); | |
| if (this[0]) { | |
| var b = na(a, this[0].ownerDocument).eq(0).clone(!0); | |
| this[0].parentNode && b.insertBefore(this[0]), b.map(function() { | |
| for (var a = this; a.firstChild && 1 === a.firstChild.nodeType;) a = a.firstChild; | |
| return a | |
| }).append(this) | |
| } | |
| return this | |
| }, | |
| wrapInner: function(a) { | |
| return na.isFunction(a) ? this.each(function(b) { | |
| na(this).wrapInner(a.call(this, b)) | |
| }) : this.each(function() { | |
| var b = na(this), | |
| c = b.contents(); | |
| c.length ? c.wrapAll(a) : b.append(a) | |
| }) | |
| }, | |
| wrap: function(a) { | |
| var b = na.isFunction(a); | |
| return this.each(function(c) { | |
| na(this).wrapAll(b ? a.call(this, c) : a) | |
| }) | |
| }, | |
| unwrap: function() { | |
| return this.parent().each(function() { | |
| na.nodeName(this, "body") || na(this).replaceWith(this.childNodes) | |
| }).end() | |
| } | |
| }), na.expr.filters.hidden = function(a) { | |
| return la.reliableHiddenOffsets() ? a.offsetWidth <= 0 && a.offsetHeight <= 0 && !a.getClientRects().length : Z(a) | |
| }, na.expr.filters.visible = function(a) { | |
| return !na.expr.filters.hidden(a) | |
| }; | |
| var cc = /%20/g, | |
| dc = /\[\]$/, | |
| ec = /\r?\n/g, | |
| fc = /^(?:submit|button|image|reset|file)$/i, | |
| gc = /^(?:input|select|textarea|keygen)/i; | |
| na.param = function(a, b) { | |
| var c, d = [], | |
| e = function(a, b) { | |
| b = na.isFunction(b) ? b() : null == b ? "" : b, d[d.length] = encodeURIComponent(a) + "=" + encodeURIComponent(b) | |
| }; | |
| if (void 0 === b && (b = na.ajaxSettings && na.ajaxSettings.traditional), na.isArray(a) || a.jquery && !na.isPlainObject(a)) na.each(a, function() { | |
| e(this.name, this.value) | |
| }); | |
| else | |
| for (c in a) $(c, a[c], b, e); | |
| return d.join("&").replace(cc, "+") | |
| }, na.fn.extend({ | |
| serialize: function() { | |
| return na.param(this.serializeArray()) | |
| }, | |
| serializeArray: function() { | |
| return this.map(function() { | |
| var a = na.prop(this, "elements"); | |
| return a ? na.makeArray(a) : this | |
| }).filter(function() { | |
| var a = this.type; | |
| return this.name && !na(this).is(":disabled") && gc.test(this.nodeName) && !fc.test(a) && (this.checked || !Oa.test(a)) | |
| }).map(function(a, b) { | |
| var c = na(this).val(); | |
| return null == c ? null : na.isArray(c) ? na.map(c, function(a) { | |
| return { | |
| name: b.name, | |
| value: a.replace(ec, "\r\n") | |
| } | |
| }) : { | |
| name: b.name, | |
| value: c.replace(ec, "\r\n") | |
| } | |
| }).get() | |
| } | |
| }), na.ajaxSettings.xhr = void 0 !== a.ActiveXObject ? function() { | |
| return this.isLocal ? aa() : da.documentMode > 8 ? _() : /^(get|post|head|put|delete|options)$/i.test(this.type) && _() || aa() | |
| } : _; | |
| var hc = 0, | |
| ic = {}, | |
| jc = na.ajaxSettings.xhr(); | |
| a.attachEvent && a.attachEvent("onunload", function() { | |
| for (var a in ic) ic[a](void 0, !0) | |
| }), la.cors = !!jc && "withCredentials" in jc, jc = la.ajax = !!jc, jc && na.ajaxTransport(function(b) { | |
| if (!b.crossDomain || la.cors) { | |
| var c; | |
| return { | |
| send: function(d, e) { | |
| var f, g = b.xhr(), | |
| h = ++hc; | |
| if (g.open(b.type, b.url, b.async, b.username, b.password), b.xhrFields) | |
| for (f in b.xhrFields) g[f] = b.xhrFields[f]; | |
| b.mimeType && g.overrideMimeType && g.overrideMimeType(b.mimeType), b.crossDomain || d["X-Requested-With"] || (d["X-Requested-With"] = "XMLHttpRequest"); | |
| for (f in d) void 0 !== d[f] && g.setRequestHeader(f, d[f] + ""); | |
| g.send(b.hasContent && b.data || null), c = function(a, d) { | |
| var f, i, j; | |
| if (c && (d || 4 === g.readyState)) | |
| if (delete ic[h], c = void 0, g.onreadystatechange = na.noop, d) 4 !== g.readyState && g.abort(); | |
| else { | |
| j = {}, f = g.status, "string" == typeof g.responseText && (j.text = g.responseText); | |
| try { | |
| i = g.statusText | |
| } catch (a) { | |
| i = "" | |
| } | |
| f || !b.isLocal || b.crossDomain ? 1223 === f && (f = 204) : f = j.text ? 200 : 404 | |
| } | |
| j && e(f, i, j, g.getAllResponseHeaders()) | |
| }, b.async ? 4 === g.readyState ? a.setTimeout(c) : g.onreadystatechange = ic[h] = c : c() | |
| }, | |
| abort: function() { | |
| c && c(void 0, !0) | |
| } | |
| } | |
| } | |
| }), na.ajaxSetup({ | |
| accepts: { | |
| script: "text/javascript, application/javascript, application/ecmascript, application/x-ecmascript" | |
| }, | |
| contents: { | |
| script: /\b(?:java|ecma)script\b/ | |
| }, | |
| converters: { | |
| "text script": function(a) { | |
| return na.globalEval(a), a | |
| } | |
| } | |
| }), na.ajaxPrefilter("script", function(a) { | |
| void 0 === a.cache && (a.cache = !1), a.crossDomain && (a.type = "GET", a.global = !1) | |
| }), na.ajaxTransport("script", function(a) { | |
| if (a.crossDomain) { | |
| var b, c = da.head || na("head")[0] || da.documentElement; | |
| return { | |
| send: function(d, e) { | |
| b = da.createElement("script"), b.async = !0, a.scriptCharset && (b.charset = a.scriptCharset), b.src = a.url, b.onload = b.onreadystatechange = function(a, c) { | |
| (c || !b.readyState || /loaded|complete/.test(b.readyState)) && (b.onload = b.onreadystatechange = null, b.parentNode && b.parentNode.removeChild(b), b = null, c || e(200, "success")) | |
| }, c.insertBefore(b, c.firstChild) | |
| }, | |
| abort: function() { | |
| b && b.onload(void 0, !0) | |
| } | |
| } | |
| } | |
| }); | |
| var kc = [], | |
| lc = /(=)\?(?=&|$)|\?\?/; | |
| na.ajaxSetup({ | |
| jsonp: "callback", | |
| jsonpCallback: function() { | |
| var a = kc.pop() || na.expando + "_" + Pb++; | |
| return this[a] = !0, a | |
| } | |
| }), na.ajaxPrefilter("json jsonp", function(b, c, d) { | |
| var e, f, g, h = b.jsonp !== !1 && (lc.test(b.url) ? "url" : "string" == typeof b.data && 0 === (b.contentType || "").indexOf("application/x-www-form-urlencoded") && lc.test(b.data) && "data"); | |
| return h || "jsonp" === b.dataTypes[0] ? (e = b.jsonpCallback = na.isFunction(b.jsonpCallback) ? b.jsonpCallback() : b.jsonpCallback, h ? b[h] = b[h].replace(lc, "$1" + e) : b.jsonp !== !1 && (b.url += (Qb.test(b.url) ? "&" : "?") + b.jsonp + "=" + e), b.converters["script json"] = function() { | |
| return g || na.error(e + " was not called"), g[0] | |
| }, b.dataTypes[0] = "json", f = a[e], a[e] = function() { | |
| g = arguments | |
| }, d.always(function() { | |
| void 0 === f ? na(a).removeProp(e) : a[e] = f, b[e] && (b.jsonpCallback = c.jsonpCallback, kc.push(e)), g && na.isFunction(f) && f(g[0]), g = f = void 0 | |
| }), "script") : void 0 | |
| }), na.parseHTML = function(a, b, c) { | |
| if (!a || "string" != typeof a) return null; | |
| "boolean" == typeof b && (c = b, b = !1), b = b || da; | |
| var d = wa.exec(a), | |
| e = !c && []; | |
| return d ? [b.createElement(d[1])] : (d = r([a], b, e), e && e.length && na(e).remove(), na.merge([], d.childNodes)) | |
| }; | |
| var mc = na.fn.load; | |
| na.fn.load = function(a, b, c) { | |
| if ("string" != typeof a && mc) return mc.apply(this, arguments); | |
| var d, e, f, g = this, | |
| h = a.indexOf(" "); | |
| return h > -1 && (d = na.trim(a.slice(h, a.length)), a = a.slice(0, h)), na.isFunction(b) ? (c = b, b = void 0) : b && "object" == typeof b && (e = "POST"), g.length > 0 && na.ajax({ | |
| url: a, | |
| type: e || "GET", | |
| dataType: "html", | |
| data: b | |
| }).done(function(a) { | |
| f = arguments, g.html(d ? na("<div>").append(na.parseHTML(a)).find(d) : a) | |
| }).always(c && function(a, b) { | |
| g.each(function() { | |
| c.apply(this, f || [a.responseText, b, a]) | |
| }) | |
| }), this | |
| }, na.each(["ajaxStart", "ajaxStop", "ajaxComplete", "ajaxError", "ajaxSuccess", "ajaxSend"], function(a, b) { | |
| na.fn[b] = function(a) { | |
| return this.on(b, a) | |
| } | |
| }), na.expr.filters.animated = function(a) { | |
| return na.grep(na.timers, function(b) { | |
| return a === b.elem | |
| }).length | |
| }, na.offset = { | |
| setOffset: function(a, b, c) { | |
| var d, e, f, g, h, i, j, k = na.css(a, "position"), | |
| l = na(a), | |
| m = {}; | |
| "static" === k && (a.style.position = "relative"), h = l.offset(), f = na.css(a, "top"), i = na.css(a, "left"), j = ("absolute" === k || "fixed" === k) && na.inArray("auto", [f, i]) > -1, j ? (d = l.position(), g = d.top, e = d.left) : (g = parseFloat(f) || 0, e = parseFloat(i) || 0), na.isFunction(b) && (b = b.call(a, c, na.extend({}, h))), null != b.top && (m.top = b.top - h.top + g), null != b.left && (m.left = b.left - h.left + e), "using" in b ? b.using.call(a, m) : l.css(m) | |
| } | |
| }, na.fn.extend({ | |
| offset: function(a) { | |
| if (arguments.length) return void 0 === a ? this : this.each(function(b) { | |
| na.offset.setOffset(this, a, b) | |
| }); | |
| var b, c, d = { | |
| top: 0, | |
| left: 0 | |
| }, | |
| e = this[0], | |
| f = e && e.ownerDocument; | |
| return f ? (b = f.documentElement, na.contains(b, e) ? ("undefined" != typeof e.getBoundingClientRect && (d = e.getBoundingClientRect()), c = ba(f), { | |
| top: d.top + (c.pageYOffset || b.scrollTop) - (b.clientTop || 0), | |
| left: d.left + (c.pageXOffset || b.scrollLeft) - (b.clientLeft || 0) | |
| }) : d) : void 0 | |
| }, | |
| position: function() { | |
| if (this[0]) { | |
| var a, b, c = { | |
| top: 0, | |
| left: 0 | |
| }, | |
| d = this[0]; | |
| return "fixed" === na.css(d, "position") ? b = d.getBoundingClientRect() : (a = this.offsetParent(), b = this.offset(), na.nodeName(a[0], "html") || (c = a.offset()), c.top += na.css(a[0], "borderTopWidth", !0), c.left += na.css(a[0], "borderLeftWidth", !0)), { | |
| top: b.top - c.top - na.css(d, "marginTop", !0), | |
| left: b.left - c.left - na.css(d, "marginLeft", !0) | |
| } | |
| } | |
| }, | |
| offsetParent: function() { | |
| return this.map(function() { | |
| for (var a = this.offsetParent; a && !na.nodeName(a, "html") && "static" === na.css(a, "position");) a = a.offsetParent; | |
| return a || nb | |
| }) | |
| } | |
| }), na.each({ | |
| scrollLeft: "pageXOffset", | |
| scrollTop: "pageYOffset" | |
| }, function(a, b) { | |
| var c = /Y/.test(b); | |
| na.fn[a] = function(d) { | |
| return Na(this, function(a, d, e) { | |
| var f = ba(a); | |
| return void 0 === e ? f ? b in f ? f[b] : f.document.documentElement[d] : a[d] : void(f ? f.scrollTo(c ? na(f).scrollLeft() : e, c ? e : na(f).scrollTop()) : a[d] = e) | |
| }, a, d, arguments.length, null) | |
| } | |
| }), na.each(["top", "left"], function(a, b) { | |
| na.cssHooks[b] = F(la.pixelPosition, function(a, c) { | |
| return c ? (c = pb(a, b), lb.test(c) ? na(a).position()[b] + "px" : c) : void 0 | |
| }) | |
| }), na.each({ | |
| Height: "height", | |
| Width: "width" | |
| }, function(a, b) { | |
| na.each({ | |
| padding: "inner" + a, | |
| content: b, | |
| "": "outer" + a | |
| }, function(c, d) { | |
| na.fn[d] = function(d, e) { | |
| var f = arguments.length && (c || "boolean" != typeof d), | |
| g = c || (d === !0 || e === !0 ? "margin" : "border"); | |
| return Na(this, function(b, c, d) { | |
| var e; | |
| return na.isWindow(b) ? b.document.documentElement["client" + a] : 9 === b.nodeType ? (e = b.documentElement, Math.max(b.body["scroll" + a], e["scroll" + a], b.body["offset" + a], e["offset" + a], e["client" + a])) : void 0 === d ? na.css(b, c, g) : na.style(b, c, d, g) | |
| }, b, f ? d : void 0, f, null) | |
| } | |
| }) | |
| }), na.fn.extend({ | |
| bind: function(a, b, c) { | |
| return this.on(a, null, b, c) | |
| }, | |
| unbind: function(a, b) { | |
| return this.off(a, null, b) | |
| }, | |
| delegate: function(a, b, c, d) { | |
| return this.on(b, a, c, d) | |
| }, | |
| undelegate: function(a, b, c) { | |
| return 1 === arguments.length ? this.off(a, "**") : this.off(b, a || "**", c) | |
| } | |
| }), na.fn.size = function() { | |
| return this.length | |
| }, na.fn.andSelf = na.fn.addBack, "function" == typeof define && define.amd && define("jquery", [], function() { | |
| return na | |
| }); | |
| var nc = a.jQuery, | |
| oc = a.$; | |
| return na.noConflict = function(b) { | |
| return a.$ === na && (a.$ = oc), b && a.jQuery === na && (a.jQuery = nc), na | |
| }, b || (a.jQuery = a.$ = na), na | |
| }), function(a) { | |
| "use strict"; | |
| function b(a) { | |
| return function() { | |
| var b, c = arguments[0]; | |
| for (b = "[" + (a ? a + ":" : "") + c + "] http://errors.angularjs.org/1.5.7/" + (a ? a + "/" : "") + c, c = 1; c < arguments.length; c++) { | |
| b = b + (1 == c ? "?" : "&") + "p" + (c - 1) + "="; | |
| var d, e = encodeURIComponent; | |
| d = arguments[c], d = "function" == typeof d ? d.toString().replace(/ \{[\s\S]*$/, "") : "undefined" == typeof d ? "undefined" : "string" != typeof d ? JSON.stringify(d) : d, b += e(d) | |
| } | |
| return Error(b) | |
| } | |
| } | |
| function c(a) { | |
| if (null == a || z(a)) return !1; | |
| if (fd(a) || u(a) || Sc && a instanceof Sc) return !0; | |
| var b = "length" in Object(a) && a.length; | |
| return v(b) && (0 <= b && (b - 1 in a || a instanceof Array) || "function" == typeof a.item) | |
| } | |
| function d(a, b, e) { | |
| var f, g; | |
| if (a) | |
| if (x(a)) | |
| for (f in a) "prototype" == f || "length" == f || "name" == f || a.hasOwnProperty && !a.hasOwnProperty(f) || b.call(e, a[f], f, a); | |
| else if (fd(a) || c(a)) { | |
| var h = "object" != typeof a; | |
| for (f = 0, g = a.length; f < g; f++)(h || f in a) && b.call(e, a[f], f, a) | |
| } else if (a.forEach && a.forEach !== d) a.forEach(b, e, a); | |
| else if (t(a)) | |
| for (f in a) b.call(e, a[f], f, a); | |
| else if ("function" == typeof a.hasOwnProperty) | |
| for (f in a) a.hasOwnProperty(f) && b.call(e, a[f], f, a); | |
| else | |
| for (f in a) Wc.call(a, f) && b.call(e, a[f], f, a); | |
| return a | |
| } | |
| function e(a, b, c) { | |
| for (var d = Object.keys(a).sort(), e = 0; e < d.length; e++) b.call(c, a[d[e]], d[e]); | |
| return d | |
| } | |
| function f(a) { | |
| return function(b, c) { | |
| a(c, b) | |
| } | |
| } | |
| function g() { | |
| return ++ed | |
| } | |
| function h(a, b, c) { | |
| for (var d = a.$$hashKey, e = 0, f = b.length; e < f; ++e) { | |
| var g = b[e]; | |
| if (s(g) || x(g)) | |
| for (var i = Object.keys(g), j = 0, k = i.length; j < k; j++) { | |
| var l = i[j], | |
| m = g[l]; | |
| c && s(m) ? w(m) ? a[l] = new Date(m.valueOf()) : y(m) ? a[l] = new RegExp(m) : m.nodeName ? a[l] = m.cloneNode(!0) : D(m) ? a[l] = m.clone() : (s(a[l]) || (a[l] = fd(m) ? [] : {}), h(a[l], [m], !0)) : a[l] = m | |
| } | |
| } | |
| return d ? a.$$hashKey = d : delete a.$$hashKey, a | |
| } | |
| function i(a) { | |
| return h(a, Zc.call(arguments, 1), !1) | |
| } | |
| function j(a) { | |
| return h(a, Zc.call(arguments, 1), !0) | |
| } | |
| function k(a) { | |
| return parseInt(a, 10) | |
| } | |
| function l(a, b) { | |
| return i(Object.create(a), b) | |
| } | |
| function m() {} | |
| function n(a) { | |
| return a | |
| } | |
| function o(a) { | |
| return function() { | |
| return a | |
| } | |
| } | |
| function p(a) { | |
| return x(a.toString) && a.toString !== ad | |
| } | |
| function q(a) { | |
| return "undefined" == typeof a | |
| } | |
| function r(a) { | |
| return "undefined" != typeof a | |
| } | |
| function s(a) { | |
| return null !== a && "object" == typeof a | |
| } | |
| function t(a) { | |
| return null !== a && "object" == typeof a && !bd(a) | |
| } | |
| function u(a) { | |
| return "string" == typeof a | |
| } | |
| function v(a) { | |
| return "number" == typeof a | |
| } | |
| function w(a) { | |
| return "[object Date]" === ad.call(a) | |
| } | |
| function x(a) { | |
| return "function" == typeof a | |
| } | |
| function y(a) { | |
| return "[object RegExp]" === ad.call(a) | |
| } | |
| function z(a) { | |
| return a && a.window === a | |
| } | |
| function A(a) { | |
| return a && a.$evalAsync && a.$watch | |
| } | |
| function B(a) { | |
| return "boolean" == typeof a | |
| } | |
| function C(a) { | |
| return a && v(a.length) && gd.test(ad.call(a)) | |
| } | |
| function D(a) { | |
| return !(!a || !(a.nodeName || a.prop && a.attr && a.find)) | |
| } | |
| function E(a) { | |
| var b = {}; | |
| a = a.split(","); | |
| var c; | |
| for (c = 0; c < a.length; c++) b[a[c]] = !0; | |
| return b | |
| } | |
| function F(a) { | |
| return Xc(a.nodeName || a[0] && a[0].nodeName) | |
| } | |
| function G(a, b) { | |
| var c = a.indexOf(b); | |
| return 0 <= c && a.splice(c, 1), c | |
| } | |
| function H(a, b) { | |
| function c(a, b) { | |
| var c, d = b.$$hashKey; | |
| if (fd(a)) { | |
| c = 0; | |
| for (var f = a.length; c < f; c++) b.push(e(a[c])) | |
| } else if (t(a)) | |
| for (c in a) b[c] = e(a[c]); | |
| else if (a && "function" == typeof a.hasOwnProperty) | |
| for (c in a) a.hasOwnProperty(c) && (b[c] = e(a[c])); | |
| else | |
| for (c in a) Wc.call(a, c) && (b[c] = e(a[c])); | |
| return d ? b.$$hashKey = d : delete b.$$hashKey, b | |
| } | |
| function e(a) { | |
| if (!s(a)) return a; | |
| var b = g.indexOf(a); | |
| if (-1 !== b) return h[b]; | |
| if (z(a) || A(a)) throw cd("cpws"); | |
| var b = !1, | |
| d = f(a); | |
| return void 0 === d && (d = fd(a) ? [] : Object.create(bd(a)), b = !0), g.push(a), h.push(d), b ? c(a, d) : d | |
| } | |
| function f(a) { | |
| switch (ad.call(a)) { | |
| case "[object Int8Array]": | |
| case "[object Int16Array]": | |
| case "[object Int32Array]": | |
| case "[object Float32Array]": | |
| case "[object Float64Array]": | |
| case "[object Uint8Array]": | |
| case "[object Uint8ClampedArray]": | |
| case "[object Uint16Array]": | |
| case "[object Uint32Array]": | |
| return new a.constructor(e(a.buffer)); | |
| case "[object ArrayBuffer]": | |
| if (!a.slice) { | |
| var b = new ArrayBuffer(a.byteLength); | |
| return new Uint8Array(b).set(new Uint8Array(a)), b | |
| } | |
| return a.slice(0); | |
| case "[object Boolean]": | |
| case "[object Number]": | |
| case "[object String]": | |
| case "[object Date]": | |
| return new a.constructor(a.valueOf()); | |
| case "[object RegExp]": | |
| return b = new RegExp(a.source, a.toString().match(/[^\/]*$/)[0]), b.lastIndex = a.lastIndex, b; | |
| case "[object Blob]": | |
| return new a.constructor([a], { | |
| type: a.type | |
| }) | |
| } | |
| if (x(a.cloneNode)) return a.cloneNode(!0) | |
| } | |
| var g = [], | |
| h = []; | |
| if (b) { | |
| if (C(b) || "[object ArrayBuffer]" === ad.call(b)) throw cd("cpta"); | |
| if (a === b) throw cd("cpi"); | |
| return fd(b) ? b.length = 0 : d(b, function(a, c) { | |
| "$$hashKey" !== c && delete b[c] | |
| }), g.push(a), h.push(b), c(a, b) | |
| } | |
| return e(a) | |
| } | |
| function I(a, b) { | |
| if (a === b) return !0; | |
| if (null === a || null === b) return !1; | |
| if (a !== a && b !== b) return !0; | |
| var c, d = typeof a; | |
| if (d == typeof b && "object" == d) { | |
| if (!fd(a)) { | |
| if (w(a)) return !!w(b) && I(a.getTime(), b.getTime()); | |
| if (y(a)) return !!y(b) && a.toString() == b.toString(); | |
| if (A(a) || A(b) || z(a) || z(b) || fd(b) || w(b) || y(b)) return !1; | |
| d = ga(); | |
| for (c in a) | |
| if ("$" !== c.charAt(0) && !x(a[c])) { | |
| if (!I(a[c], b[c])) return !1; | |
| d[c] = !0 | |
| } | |
| for (c in b) | |
| if (!(c in d) && "$" !== c.charAt(0) && r(b[c]) && !x(b[c])) return !1; | |
| return !0 | |
| } | |
| if (!fd(b)) return !1; | |
| if ((d = a.length) == b.length) { | |
| for (c = 0; c < d; c++) | |
| if (!I(a[c], b[c])) return !1; | |
| return !0 | |
| } | |
| } | |
| return !1 | |
| } | |
| function J(a, b, c) { | |
| return a.concat(Zc.call(b, c)) | |
| } | |
| function K(a, b) { | |
| var c = 2 < arguments.length ? Zc.call(arguments, 2) : []; | |
| return !x(b) || b instanceof RegExp ? b : c.length ? function() { | |
| return arguments.length ? b.apply(a, J(c, arguments, 0)) : b.apply(a, c) | |
| } : function() { | |
| return arguments.length ? b.apply(a, arguments) : b.call(a) | |
| } | |
| } | |
| function L(b, c) { | |
| var d = c; | |
| return "string" == typeof b && "$" === b.charAt(0) && "$" === b.charAt(1) ? d = void 0 : z(c) ? d = "$WINDOW" : c && a.document === c ? d = "$DOCUMENT" : A(c) && (d = "$SCOPE"), d | |
| } | |
| function M(a, b) { | |
| if (!q(a)) return v(b) || (b = b ? 2 : null), JSON.stringify(a, L, b) | |
| } | |
| function N(a) { | |
| return u(a) ? JSON.parse(a) : a | |
| } | |
| function O(a, b) { | |
| a = a.replace(ld, ""); | |
| var c = Date.parse("Jan 01, 1970 00:00:00 " + a) / 6e4; | |
| return isNaN(c) ? b : c | |
| } | |
| function P(a, b, c) { | |
| c = c ? -1 : 1; | |
| var d = a.getTimezoneOffset(); | |
| return b = O(b, d), c *= b - d, a = new Date(a.getTime()), a.setMinutes(a.getMinutes() + c), a | |
| } | |
| function Q(a) { | |
| a = Sc(a).clone(); | |
| try { | |
| a.empty() | |
| } catch (a) {} | |
| var b = Sc("<div>").append(a).html(); | |
| try { | |
| return a[0].nodeType === pd ? Xc(b) : b.match(/^(<[^>]+>)/)[1].replace(/^<([\w\-]+)/, function(a, b) { | |
| return "<" + Xc(b) | |
| }) | |
| } catch (a) { | |
| return Xc(b) | |
| } | |
| } | |
| function R(a) { | |
| try { | |
| return decodeURIComponent(a) | |
| } catch (a) {} | |
| } | |
| function S(a) { | |
| var b = {}; | |
| return d((a || "").split("&"), function(a) { | |
| var c, d, e; | |
| a && (d = a = a.replace(/\+/g, "%20"), c = a.indexOf("="), -1 !== c && (d = a.substring(0, c), e = a.substring(c + 1)), d = R(d), r(d) && (e = !r(e) || R(e), Wc.call(b, d) ? fd(b[d]) ? b[d].push(e) : b[d] = [b[d], e] : b[d] = e)) | |
| }), b | |
| } | |
| function T(a) { | |
| var b = []; | |
| return d(a, function(a, c) { | |
| fd(a) ? d(a, function(a) { | |
| b.push(V(c, !0) + (!0 === a ? "" : "=" + V(a, !0))) | |
| }) : b.push(V(c, !0) + (!0 === a ? "" : "=" + V(a, !0))) | |
| }), b.length ? b.join("&") : "" | |
| } | |
| function U(a) { | |
| return V(a, !0).replace(/%26/gi, "&").replace(/%3D/gi, "=").replace(/%2B/gi, "+") | |
| } | |
| function V(a, b) { | |
| return encodeURIComponent(a).replace(/%40/gi, "@").replace(/%3A/gi, ":").replace(/%24/g, "$").replace(/%2C/gi, ",").replace(/%3B/gi, ";").replace(/%20/g, b ? "%20" : "+") | |
| } | |
| function W(a, b) { | |
| var c, d, e = md.length; | |
| for (d = 0; d < e; ++d) | |
| if (c = md[d] + b, u(c = a.getAttribute(c))) return c; | |
| return null | |
| } | |
| function X(a, b) { | |
| var c, e, f = {}; | |
| d(md, function(b) { | |
| b += "app", !c && a.hasAttribute && a.hasAttribute(b) && (c = a, e = a.getAttribute(b)) | |
| }), d(md, function(b) { | |
| b += "app"; | |
| var d; | |
| !c && (d = a.querySelector("[" + b.replace(":", "\\:") + "]")) && (c = d, e = d.getAttribute(b)) | |
| }), c && (f.strictDi = null !== W(c, "strict-di"), b(c, e ? [e] : [], f)) | |
| } | |
| function Y(b, c, e) { | |
| s(e) || (e = {}), e = i({ | |
| strictDi: !1 | |
| }, e); | |
| var f = function() { | |
| if (b = Sc(b), b.injector()) { | |
| var d = b[0] === a.document ? "document" : Q(b); | |
| throw cd("btstrpd", d.replace(/</, "<").replace(/>/, ">")) | |
| } | |
| return c = c || [], c.unshift(["$provide", function(a) { | |
| a.value("$rootElement", b) | |
| }]), e.debugInfoEnabled && c.push(["$compileProvider", function(a) { | |
| a.debugInfoEnabled(!0) | |
| }]), c.unshift("ng"), d = Na(c, e.strictDi), d.invoke(["$rootScope", "$rootElement", "$compile", "$injector", function(a, b, c, d) { | |
| a.$apply(function() { | |
| b.data("$injector", d), c(b)(a) | |
| }) | |
| }]), d | |
| }, | |
| g = /^NG_ENABLE_DEBUG_INFO!/, | |
| h = /^NG_DEFER_BOOTSTRAP!/; | |
| return a && g.test(a.name) && (e.debugInfoEnabled = !0, a.name = a.name.replace(g, "")), a && !h.test(a.name) ? f() : (a.name = a.name.replace(h, ""), dd.resumeBootstrap = function(a) { | |
| return d(a, function(a) { | |
| c.push(a) | |
| }), f() | |
| }, void(x(dd.resumeDeferredBootstrap) && dd.resumeDeferredBootstrap())) | |
| } | |
| function Z() { | |
| a.name = "NG_ENABLE_DEBUG_INFO!" + a.name, a.location.reload() | |
| } | |
| function $(a) { | |
| if (a = dd.element(a).injector(), !a) throw cd("test"); | |
| return a.get("$$testability") | |
| } | |
| function _(a, b) { | |
| return b = b || "_", a.replace(nd, function(a, c) { | |
| return (c ? b : "") + a.toLowerCase() | |
| }) | |
| } | |
| function aa() { | |
| var b; | |
| if (!od) { | |
| var c = kd(); | |
| (Tc = q(c) ? a.jQuery : c ? a[c] : void 0) && Tc.fn.on ? (Sc = Tc, i(Tc.fn, { | |
| scope: Dd.scope, | |
| isolateScope: Dd.isolateScope, | |
| controller: Dd.controller, | |
| injector: Dd.injector, | |
| inheritedData: Dd.inheritedData | |
| }), b = Tc.cleanData, Tc.cleanData = function(a) { | |
| for (var c, d, e = 0; null != (d = a[e]); e++)(c = Tc._data(d, "events")) && c.$destroy && Tc(d).triggerHandler("$destroy"); | |
| b(a) | |
| }) : Sc = oa, dd.element = Sc, od = !0 | |
| } | |
| } | |
| function ba(a, b, c) { | |
| if (!a) throw cd("areq", b || "?", c || "required"); | |
| return a | |
| } | |
| function ca(a, b, c) { | |
| return c && fd(a) && (a = a[a.length - 1]), ba(x(a), b, "not a function, got " + (a && "object" == typeof a ? a.constructor.name || "Object" : typeof a)), a | |
| } | |
| function da(a, b) { | |
| if ("hasOwnProperty" === a) throw cd("badname", b) | |
| } | |
| function ea(a, b, c) { | |
| if (!b) return a; | |
| b = b.split("."); | |
| for (var d, e = a, f = b.length, g = 0; g < f; g++) d = b[g], a && (a = (e = a)[d]); | |
| return !c && x(a) ? K(e, a) : a | |
| } | |
| function fa(a) { | |
| for (var b, c = a[0], d = a[a.length - 1], e = 1; c !== d && (c = c.nextSibling); e++)(b || a[e] !== c) && (b || (b = Sc(Zc.call(a, 0, e))), b.push(c)); | |
| return b || a | |
| } | |
| function ga() { | |
| return Object.create(null) | |
| } | |
| function ha(a) { | |
| function c(a, b, c) { | |
| return a[b] || (a[b] = c()) | |
| } | |
| var d = b("$injector"), | |
| e = b("ng"); | |
| return a = c(a, "angular", Object), a.$$minErr = a.$$minErr || b, c(a, "module", function() { | |
| var a = {}; | |
| return function(b, f, g) { | |
| if ("hasOwnProperty" === b) throw e("badname", "module"); | |
| return f && a.hasOwnProperty(b) && (a[b] = null), c(a, b, function() { | |
| function a(a, b, c, d) { | |
| return d || (d = e), | |
| function() { | |
| return d[c || "push"]([a, b, arguments]), k | |
| } | |
| } | |
| function c(a, c) { | |
| return function(d, f) { | |
| return f && x(f) && (f.$$moduleName = b), e.push([a, c, arguments]), k | |
| } | |
| } | |
| if (!f) throw d("nomod", b); | |
| var e = [], | |
| h = [], | |
| i = [], | |
| j = a("$injector", "invoke", "push", h), | |
| k = { | |
| _invokeQueue: e, | |
| _configBlocks: h, | |
| _runBlocks: i, | |
| requires: f, | |
| name: b, | |
| provider: c("$provide", "provider"), | |
| factory: c("$provide", "factory"), | |
| service: c("$provide", "service"), | |
| value: a("$provide", "value"), | |
| constant: a("$provide", "constant", "unshift"), | |
| decorator: c("$provide", "decorator"), | |
| animation: c("$animateProvider", "register"), | |
| filter: c("$filterProvider", "register"), | |
| controller: c("$controllerProvider", "register"), | |
| directive: c("$compileProvider", "directive"), | |
| component: c("$compileProvider", "component"), | |
| config: j, | |
| run: function(a) { | |
| return i.push(a), this | |
| } | |
| }; | |
| return g && j(g), k | |
| }) | |
| } | |
| }) | |
| } | |
| function ia(a, b) { | |
| if (fd(a)) { | |
| b = b || []; | |
| for (var c = 0, d = a.length; c < d; c++) b[c] = a[c] | |
| } else if (s(a)) | |
| for (c in b = b || {}, a) "$" === c.charAt(0) && "$" === c.charAt(1) || (b[c] = a[c]); | |
| return b || a | |
| } | |
| function ja(c) { | |
| i(c, { | |
| bootstrap: Y, | |
| copy: H, | |
| extend: i, | |
| merge: j, | |
| equals: I, | |
| element: Sc, | |
| forEach: d, | |
| injector: Na, | |
| noop: m, | |
| bind: K, | |
| toJson: M, | |
| fromJson: N, | |
| identity: n, | |
| isUndefined: q, | |
| isDefined: r, | |
| isString: u, | |
| isFunction: x, | |
| isObject: s, | |
| isNumber: v, | |
| isElement: D, | |
| isArray: fd, | |
| version: qd, | |
| isDate: w, | |
| lowercase: Xc, | |
| uppercase: Yc, | |
| callbacks: { | |
| counter: 0 | |
| }, | |
| getTestability: $, | |
| $$minErr: b, | |
| $$csp: jd, | |
| reloadWithDebugInfo: Z | |
| }), (Uc = ha(a))("ng", ["ngLocale"], ["$provide", function(a) { | |
| a.provider({ | |
| $$sanitizeUri: Zb | |
| }), a.provider("$compile", Wa).directive({ | |
| a: Ie, | |
| input: Ze, | |
| textarea: Ze, | |
| form: Me, | |
| script: Pf, | |
| select: Sf, | |
| style: Uf, | |
| option: Tf, | |
| ngBind: af, | |
| ngBindHtml: cf, | |
| ngBindTemplate: bf, | |
| ngClass: ef, | |
| ngClassEven: gf, | |
| ngClassOdd: ff, | |
| ngCloak: hf, | |
| ngController: jf, | |
| ngForm: Ne, | |
| ngHide: If, | |
| ngIf: mf, | |
| ngInclude: nf, | |
| ngInit: pf, | |
| ngNonBindable: Bf, | |
| ngPluralize: Ff, | |
| ngRepeat: Gf, | |
| ngShow: Hf, | |
| ngStyle: Jf, | |
| ngSwitch: Kf, | |
| ngSwitchWhen: Lf, | |
| ngSwitchDefault: Mf, | |
| ngOptions: Ef, | |
| ngTransclude: Of, | |
| ngModel: yf, | |
| ngList: qf, | |
| ngChange: df, | |
| pattern: Wf, | |
| ngPattern: Wf, | |
| required: Vf, | |
| ngRequired: Vf, | |
| minlength: Yf, | |
| ngMinlength: Yf, | |
| maxlength: Xf, | |
| ngMaxlength: Xf, | |
| ngValue: _e, | |
| ngModelOptions: Af | |
| }).directive({ | |
| ngInclude: of | |
| }).directive(Je).directive(kf), a.provider({ | |
| $anchorScroll: Oa, | |
| $animate: Rd, | |
| $animateCss: Ud, | |
| $$animateJs: Pd, | |
| $$animateQueue: Qd, | |
| $$AnimateRunner: Td, | |
| $$animateAsyncRun: Sd, | |
| $browser: Ta, | |
| $cacheFactory: Ua, | |
| $controller: ab, | |
| $document: bb, | |
| $exceptionHandler: cb, | |
| $filter: lc, | |
| $$forceReflow: $d, | |
| $interpolate: ob, | |
| $interval: pb, | |
| $http: kb, | |
| $httpParamSerializer: eb, | |
| $httpParamSerializerJQLike: fb, | |
| $httpBackend: mb, | |
| $xhrFactory: lb, | |
| $location: Bb, | |
| $log: Cb, | |
| $parse: Tb, | |
| $rootScope: Yb, | |
| $q: Ub, | |
| $$q: Vb, | |
| $sce: bc, | |
| $sceDelegate: ac, | |
| $sniffer: cc, | |
| $templateCache: Va, | |
| $templateRequest: dc, | |
| $$testability: ec, | |
| $timeout: fc, | |
| $window: ic, | |
| $$rAF: Xb, | |
| $$jqLite: Ia, | |
| $$HashMap: Hd, | |
| $$cookieReader: kc | |
| }) | |
| }]) | |
| } | |
| function ka(a) { | |
| return a.replace(td, function(a, b, c, d) { | |
| return d ? c.toUpperCase() : c | |
| }).replace(ud, "Moz$1") | |
| } | |
| function la(a) { | |
| return a = a.nodeType, 1 === a || !a || 9 === a | |
| } | |
| function ma(a, b) { | |
| var c, e, f = b.createDocumentFragment(), | |
| g = []; | |
| if (yd.test(a)) { | |
| for (c = c || f.appendChild(b.createElement("div")), e = (zd.exec(a) || ["", ""])[1].toLowerCase(), e = Bd[e] || Bd._default, c.innerHTML = e[1] + a.replace(Ad, "<$1></$2>") + e[2], e = e[0]; e--;) c = c.lastChild; | |
| g = J(g, c.childNodes), c = f.firstChild, c.textContent = "" | |
| } else g.push(b.createTextNode(a)); | |
| return f.textContent = "", f.innerHTML = "", d(g, function(a) { | |
| f.appendChild(a) | |
| }), f | |
| } | |
| function na(a, b) { | |
| var c = a.parentNode; | |
| c && c.replaceChild(b, a), b.appendChild(a) | |
| } | |
| function oa(b) { | |
| if (b instanceof oa) return b; | |
| var c; | |
| if (u(b) && (b = hd(b), c = !0), !(this instanceof oa)) { | |
| if (c && "<" != b.charAt(0)) throw wd("nosel"); | |
| return new oa(b) | |
| } | |
| if (c) { | |
| c = a.document; | |
| var d; | |
| b = (d = xd.exec(b)) ? [c.createElement(d[1])] : (d = ma(b, c)) ? d.childNodes : [] | |
| } | |
| ya(this, b) | |
| } | |
| function pa(a) { | |
| return a.cloneNode(!0) | |
| } | |
| function qa(a, b) { | |
| if (b || sa(a), a.querySelectorAll) | |
| for (var c = a.querySelectorAll("*"), d = 0, e = c.length; d < e; d++) sa(c[d]) | |
| } | |
| function ra(a, b, c, e) { | |
| if (r(e)) throw wd("offargs"); | |
| var f = (e = ta(a)) && e.events, | |
| g = e && e.handle; | |
| if (g) | |
| if (b) { | |
| var h = function(b) { | |
| var d = f[b]; | |
| r(c) && G(d || [], c), r(c) && d && 0 < d.length || (a.removeEventListener(b, g, !1), delete f[b]) | |
| }; | |
| d(b.split(" "), function(a) { | |
| h(a), vd[a] && h(vd[a]) | |
| }) | |
| } else | |
| for (b in f) "$destroy" !== b && a.removeEventListener(b, g, !1), delete f[b] | |
| } | |
| function sa(a, b) { | |
| var c = a.ng339, | |
| d = c && rd[c]; | |
| d && (b ? delete d.data[b] : (d.handle && (d.events.$destroy && d.handle({}, "$destroy"), ra(a)), delete rd[c], a.ng339 = void 0)) | |
| } | |
| function ta(a, b) { | |
| var c = a.ng339, | |
| c = c && rd[c]; | |
| return b && !c && (a.ng339 = c = ++sd, c = rd[c] = { | |
| events: {}, | |
| data: {}, | |
| handle: void 0 | |
| }), c | |
| } | |
| function ua(a, b, c) { | |
| if (la(a)) { | |
| var d = r(c), | |
| e = !d && b && !s(b), | |
| f = !b; | |
| if (a = (a = ta(a, !e)) && a.data, d) a[b] = c; | |
| else { | |
| if (f) return a; | |
| if (e) return a && a[b]; | |
| i(a, b) | |
| } | |
| } | |
| } | |
| function va(a, b) { | |
| return !!a.getAttribute && -1 < (" " + (a.getAttribute("class") || "") + " ").replace(/[\n\t]/g, " ").indexOf(" " + b + " ") | |
| } | |
| function wa(a, b) { | |
| b && a.setAttribute && d(b.split(" "), function(b) { | |
| a.setAttribute("class", hd((" " + (a.getAttribute("class") || "") + " ").replace(/[\n\t]/g, " ").replace(" " + hd(b) + " ", " "))) | |
| }) | |
| } | |
| function xa(a, b) { | |
| if (b && a.setAttribute) { | |
| var c = (" " + (a.getAttribute("class") || "") + " ").replace(/[\n\t]/g, " "); | |
| d(b.split(" "), function(a) { | |
| a = hd(a), -1 === c.indexOf(" " + a + " ") && (c += a + " ") | |
| }), a.setAttribute("class", hd(c)) | |
| } | |
| } | |
| function ya(a, b) { | |
| if (b) | |
| if (b.nodeType) a[a.length++] = b; | |
| else { | |
| var c = b.length; | |
| if ("number" == typeof c && b.window !== b) { | |
| if (c) | |
| for (var d = 0; d < c; d++) a[a.length++] = b[d] | |
| } else a[a.length++] = b | |
| } | |
| } | |
| function za(a, b) { | |
| return Aa(a, "$" + (b || "ngController") + "Controller") | |
| } | |
| function Aa(a, b, c) { | |
| for (9 == a.nodeType && (a = a.documentElement), b = fd(b) ? b : [b]; a;) { | |
| for (var d = 0, e = b.length; d < e; d++) | |
| if (r(c = Sc.data(a, b[d]))) return c; | |
| a = a.parentNode || 11 === a.nodeType && a.host | |
| } | |
| } | |
| function Ba(a) { | |
| for (qa(a, !0); a.firstChild;) a.removeChild(a.firstChild) | |
| } | |
| function Ca(a, b) { | |
| b || qa(a); | |
| var c = a.parentNode; | |
| c && c.removeChild(a) | |
| } | |
| function Da(b, c) { | |
| c = c || a, "complete" === c.document.readyState ? c.setTimeout(b) : Sc(c).on("load", b) | |
| } | |
| function Ea(a, b) { | |
| var c = Ed[b.toLowerCase()]; | |
| return c && Fd[F(a)] && c | |
| } | |
| function Fa(a, b) { | |
| var c = function(c, d) { | |
| c.isDefaultPrevented = function() { | |
| return c.defaultPrevented | |
| }; | |
| var e = b[d || c.type], | |
| f = e ? e.length : 0; | |
| if (f) { | |
| if (q(c.immediatePropagationStopped)) { | |
| var g = c.stopImmediatePropagation; | |
| c.stopImmediatePropagation = function() { | |
| c.immediatePropagationStopped = !0, c.stopPropagation && c.stopPropagation(), g && g.call(c) | |
| } | |
| } | |
| c.isImmediatePropagationStopped = function() { | |
| return !0 === c.immediatePropagationStopped | |
| }; | |
| var h = e.specialHandlerWrapper || Ga; | |
| 1 < f && (e = ia(e)); | |
| for (var i = 0; i < f; i++) c.isImmediatePropagationStopped() || h(a, c, e[i]) | |
| } | |
| }; | |
| return c.elem = a, c | |
| } | |
| function Ga(a, b, c) { | |
| c.call(a, b) | |
| } | |
| function Ha(a, b, c) { | |
| var d = b.relatedTarget; | |
| d && (d === a || Cd.call(a, d)) || c.call(a, b) | |
| } | |
| function Ia() { | |
| this.$get = function() { | |
| return i(oa, { | |
| hasClass: function(a, b) { | |
| return a.attr && (a = a[0]), va(a, b) | |
| }, | |
| addClass: function(a, b) { | |
| return a.attr && (a = a[0]), xa(a, b) | |
| }, | |
| removeClass: function(a, b) { | |
| return a.attr && (a = a[0]), wa(a, b) | |
| } | |
| }) | |
| } | |
| } | |
| function Ja(a, b) { | |
| var c = a && a.$$hashKey; | |
| return c ? ("function" == typeof c && (c = a.$$hashKey()), c) : (c = typeof a, c = "function" == c || "object" == c && null !== a ? a.$$hashKey = c + ":" + (b || g)() : c + ":" + a) | |
| } | |
| function Ka(a, b) { | |
| if (b) { | |
| var c = 0; | |
| this.nextUid = function() { | |
| return ++c | |
| } | |
| } | |
| d(a, this.put, this) | |
| } | |
| function La(a) { | |
| return a = (Function.prototype.toString.call(a) + " ").replace(Md, ""), a.match(Id) || a.match(Jd) | |
| } | |
| function Ma(a) { | |
| return (a = La(a)) ? "function(" + (a[1] || "").replace(/[\s\r\n]+/, " ") + ")" : "fn" | |
| } | |
| function Na(a, b) { | |
| function c(a) { | |
| return function(b, c) { | |
| return s(b) ? void d(b, f(a)) : a(b, c) | |
| } | |
| } | |
| function e(a, b) { | |
| if (da(a, "service"), (x(b) || fd(b)) && (b = p.instantiate(b)), !b.$get) throw Nd("pget", a); | |
| return n[a + "Provider"] = b | |
| } | |
| function g(a, b) { | |
| return function() { | |
| var c = v.invoke(b, this); | |
| if (q(c)) throw Nd("undef", a); | |
| return c | |
| } | |
| } | |
| function h(a, b, c) { | |
| return e(a, { | |
| $get: !1 !== c ? g(a, b) : b | |
| }) | |
| } | |
| function i(a) { | |
| ba(q(a) || fd(a), "modulesToLoad", "not an array"); | |
| var b, c = []; | |
| return d(a, function(a) { | |
| function d(a) { | |
| var b, c; | |
| for (b = 0, c = a.length; b < c; b++) { | |
| var d = a[b], | |
| e = p.get(d[0]); | |
| e[d[1]].apply(e, d[2]) | |
| } | |
| } | |
| if (!m.get(a)) { | |
| m.put(a, !0); | |
| try { | |
| u(a) ? (b = Uc(a), c = c.concat(i(b.requires)).concat(b._runBlocks), d(b._invokeQueue), d(b._configBlocks)) : x(a) ? c.push(p.invoke(a)) : fd(a) ? c.push(p.invoke(a)) : ca(a, "module") | |
| } catch (b) { | |
| throw fd(a) && (a = a[a.length - 1]), b.message && b.stack && -1 == b.stack.indexOf(b.message) && (b = b.message + "\n" + b.stack), Nd("modulerr", a, b.stack || b.message || b) | |
| } | |
| } | |
| }), c | |
| } | |
| function j(a, c) { | |
| function d(b, d) { | |
| if (a.hasOwnProperty(b)) { | |
| if (a[b] === k) throw Nd("cdep", b + " <- " + l.join(" <- ")); | |
| return a[b] | |
| } | |
| try { | |
| return l.unshift(b), a[b] = k, a[b] = c(b, d) | |
| } catch (c) { | |
| throw a[b] === k && delete a[b], c | |
| } finally { | |
| l.shift() | |
| } | |
| } | |
| function e(a, c, e) { | |
| var f = []; | |
| a = Na.$$annotate(a, b, e); | |
| for (var g = 0, h = a.length; g < h; g++) { | |
| var i = a[g]; | |
| if ("string" != typeof i) throw Nd("itkn", i); | |
| f.push(c && c.hasOwnProperty(i) ? c[i] : d(i, e)) | |
| } | |
| return f | |
| } | |
| return { | |
| invoke: function(a, b, c, d) { | |
| return "string" == typeof c && (d = c, c = null), c = e(a, c, d), fd(a) && (a = a[a.length - 1]), d = !(11 >= Rc) && ("function" == typeof a && /^(?:class\s|constructor\()/.test(Function.prototype.toString.call(a) + " ")), d ? (c.unshift(null), new(Function.prototype.bind.apply(a, c))) : a.apply(b, c) | |
| }, | |
| instantiate: function(a, b, c) { | |
| var d = fd(a) ? a[a.length - 1] : a; | |
| return a = e(a, b, c), a.unshift(null), new(Function.prototype.bind.apply(d, a)) | |
| }, | |
| get: d, | |
| annotate: Na.$$annotate, | |
| has: function(b) { | |
| return n.hasOwnProperty(b + "Provider") || a.hasOwnProperty(b) | |
| } | |
| } | |
| } | |
| b = !0 === b; | |
| var k = {}, | |
| l = [], | |
| m = new Ka([], !0), | |
| n = { | |
| $provide: { | |
| provider: c(e), | |
| factory: c(h), | |
| service: c(function(a, b) { | |
| return h(a, ["$injector", function(a) { | |
| return a.instantiate(b) | |
| }]) | |
| }), | |
| value: c(function(a, b) { | |
| return h(a, o(b), !1) | |
| }), | |
| constant: c(function(a, b) { | |
| da(a, "constant"), n[a] = b, r[a] = b | |
| }), | |
| decorator: function(a, b) { | |
| var c = p.get(a + "Provider"), | |
| d = c.$get; | |
| c.$get = function() { | |
| var a = v.invoke(d, c); | |
| return v.invoke(b, null, { | |
| $delegate: a | |
| }) | |
| } | |
| } | |
| } | |
| }, | |
| p = n.$injector = j(n, function(a, b) { | |
| throw dd.isString(b) && l.push(b), Nd("unpr", l.join(" <- ")) | |
| }), | |
| r = {}, | |
| t = j(r, function(a, b) { | |
| var c = p.get(a + "Provider", b); | |
| return v.invoke(c.$get, c, void 0, a) | |
| }), | |
| v = t; | |
| n.$injectorProvider = { | |
| $get: o(t) | |
| }; | |
| var w = i(a), | |
| v = t.get("$injector"); | |
| return v.strictDi = b, d(w, function(a) { | |
| a && v.invoke(a) | |
| }), v | |
| } | |
| function Oa() { | |
| var a = !0; | |
| this.disableAutoScrolling = function() { | |
| a = !1 | |
| }, this.$get = ["$window", "$location", "$rootScope", function(b, c, d) { | |
| function e(a) { | |
| var b = null; | |
| return Array.prototype.some.call(a, function(a) { | |
| if ("a" === F(a)) return b = a, !0 | |
| }), b | |
| } | |
| function f(a) { | |
| if (a) { | |
| a.scrollIntoView(); | |
| var c; | |
| c = g.yOffset, x(c) ? c = c() : D(c) ? (c = c[0], c = "fixed" !== b.getComputedStyle(c).position ? 0 : c.getBoundingClientRect().bottom) : v(c) || (c = 0), c && (a = a.getBoundingClientRect().top, b.scrollBy(0, a - c)) | |
| } else b.scrollTo(0, 0) | |
| } | |
| function g(a) { | |
| a = u(a) ? a : c.hash(); | |
| var b; | |
| a ? (b = h.getElementById(a)) ? f(b) : (b = e(h.getElementsByName(a))) ? f(b) : "top" === a && f(null) : f(null) | |
| } | |
| var h = b.document; | |
| return a && d.$watch(function() { | |
| return c.hash() | |
| }, function(a, b) { | |
| a === b && "" === a || Da(function() { | |
| d.$evalAsync(g) | |
| }) | |
| }), g | |
| }] | |
| } | |
| function Pa(a, b) { | |
| return a || b ? a ? b ? (fd(a) && (a = a.join(" ")), fd(b) && (b = b.join(" ")), a + " " + b) : a : b : "" | |
| } | |
| function Qa(a) { | |
| u(a) && (a = a.split(" ")); | |
| var b = ga(); | |
| return d(a, function(a) { | |
| a.length && (b[a] = !0) | |
| }), b | |
| } | |
| function Ra(a) { | |
| return s(a) ? a : {} | |
| } | |
| function Sa(a, b, c, e) { | |
| function f(a) { | |
| try { | |
| a.apply(null, Zc.call(arguments, 1)) | |
| } finally { | |
| if (r--, 0 === r) | |
| for (; s.length;) try { | |
| s.pop()() | |
| } catch (a) { | |
| c.error(a) | |
| } | |
| } | |
| } | |
| function g() { | |
| x = null, h(), i() | |
| } | |
| function h() { | |
| t = y(), t = q(t) ? null : t, I(t, B) && (t = B), B = t | |
| } | |
| function i() { | |
| v === j.url() && u === t || (v = j.url(), u = t, d(z, function(a) { | |
| a(j.url(), t) | |
| })) | |
| } | |
| var j = this, | |
| k = a.location, | |
| l = a.history, | |
| n = a.setTimeout, | |
| o = a.clearTimeout, | |
| p = {}; | |
| j.isMock = !1; | |
| var r = 0, | |
| s = []; | |
| j.$$completeOutstandingRequest = f, j.$$incOutstandingRequestCount = function() { | |
| r++ | |
| }, j.notifyWhenNoOutstandingRequests = function(a) { | |
| 0 === r ? a() : s.push(a) | |
| }; | |
| var t, u, v = k.href, | |
| w = b.find("base"), | |
| x = null, | |
| y = e.history ? function() { | |
| try { | |
| return l.state | |
| } catch (a) {} | |
| } : m; | |
| h(), u = t, j.url = function(b, c, d) { | |
| if (q(d) && (d = null), k !== a.location && (k = a.location), l !== a.history && (l = a.history), b) { | |
| var f = u === d; | |
| if (v === b && (!e.history || f)) return j; | |
| var g = v && ub(v) === ub(b); | |
| return v = b, u = d, !e.history || g && f ? (g || (x = b), c ? k.replace(b) : g ? (c = k, d = b.indexOf("#"), d = -1 === d ? "" : b.substr(d), c.hash = d) : k.href = b, k.href !== b && (x = b)) : (l[c ? "replaceState" : "pushState"](d, "", b), h(), u = t), x && (x = b), j | |
| } | |
| return x || k.href.replace(/%27/g, "'") | |
| }, j.state = function() { | |
| return t | |
| }; | |
| var z = [], | |
| A = !1, | |
| B = null; | |
| j.onUrlChange = function(b) { | |
| return A || (e.history && Sc(a).on("popstate", g), Sc(a).on("hashchange", g), A = !0), z.push(b), b | |
| }, j.$$applicationDestroyed = function() { | |
| Sc(a).off("hashchange popstate", g) | |
| }, j.$$checkUrlChange = i, j.baseHref = function() { | |
| var a = w.attr("href"); | |
| return a ? a.replace(/^(https?\:)?\/\/[^\/]*/, "") : "" | |
| }, j.defer = function(a, b) { | |
| var c; | |
| return r++, c = n(function() { | |
| delete p[c], f(a) | |
| }, b || 0), p[c] = !0, c | |
| }, j.defer.cancel = function(a) { | |
| return !!p[a] && (delete p[a], o(a), f(m), !0) | |
| } | |
| } | |
| function Ta() { | |
| this.$get = ["$window", "$log", "$sniffer", "$document", function(a, b, c, d) { | |
| return new Sa(a, d, b, c) | |
| }] | |
| } | |
| function Ua() { | |
| this.$get = function() { | |
| function a(a, d) { | |
| function e(a) { | |
| a != m && (n ? n == a && (n = a.n) : n = a, f(a.n, a.p), f(a, m), m = a, m.n = null) | |
| } | |
| function f(a, b) { | |
| a != b && (a && (a.p = b), b && (b.n = a)) | |
| } | |
| if (a in c) throw b("$cacheFactory")("iid", a); | |
| var g = 0, | |
| h = i({}, d, { | |
| id: a | |
| }), | |
| j = ga(), | |
| k = d && d.capacity || Number.MAX_VALUE, | |
| l = ga(), | |
| m = null, | |
| n = null; | |
| return c[a] = { | |
| put: function(a, b) { | |
| if (!q(b)) { | |
| if (k < Number.MAX_VALUE) { | |
| var c = l[a] || (l[a] = { | |
| key: a | |
| }); | |
| e(c) | |
| } | |
| return a in j || g++, j[a] = b, g > k && this.remove(n.key), b | |
| } | |
| }, | |
| get: function(a) { | |
| if (k < Number.MAX_VALUE) { | |
| var b = l[a]; | |
| if (!b) return; | |
| e(b) | |
| } | |
| return j[a] | |
| }, | |
| remove: function(a) { | |
| if (k < Number.MAX_VALUE) { | |
| var b = l[a]; | |
| if (!b) return; | |
| b == m && (m = b.p), b == n && (n = b.n), f(b.n, b.p), delete l[a] | |
| } | |
| a in j && (delete j[a], g--) | |
| }, | |
| removeAll: function() { | |
| j = ga(), g = 0, l = ga(), m = n = null | |
| }, | |
| destroy: function() { | |
| l = h = j = null, delete c[a] | |
| }, | |
| info: function() { | |
| return i({}, h, { | |
| size: g | |
| }) | |
| } | |
| } | |
| } | |
| var c = {}; | |
| return a.info = function() { | |
| var a = {}; | |
| return d(c, function(b, c) { | |
| a[c] = b.info() | |
| }), a | |
| }, a.get = function(a) { | |
| return c[a] | |
| }, a | |
| } | |
| } | |
| function Va() { | |
| this.$get = ["$cacheFactory", function(a) { | |
| return a("templates") | |
| }] | |
| } | |
| function Wa(b, c) { | |
| function e(a, b, c) { | |
| var e = /^\s*([@&<]|=(\*?))(\??)\s*(\w*)\s*$/, | |
| f = ga(); | |
| return d(a, function(a, d) { | |
| if (a in y) f[d] = y[a]; | |
| else { | |
| var g = a.match(e); | |
| if (!g) throw Vd("iscp", b, d, a, c ? "controller bindings definition" : "isolate scope definition"); | |
| f[d] = { | |
| mode: g[1][0], | |
| collection: "*" === g[2], | |
| optional: "?" === g[3], | |
| attrName: g[4] || d | |
| }, g[4] && (y[a] = f[d]) | |
| } | |
| }), f | |
| } | |
| function g(a) { | |
| var b = a.charAt(0); | |
| if (!b || b !== Xc(b)) throw Vd("baddir", a); | |
| if (a !== a.trim()) throw Vd("baddir", a) | |
| } | |
| function h(a) { | |
| var b = a.require || a.controller && a.name; | |
| return !fd(b) && s(b) && d(b, function(a, c) { | |
| var d = a.match(v); | |
| a.substring(d[0].length) || (b[c] = d[0] + c) | |
| }), b | |
| } | |
| var j = {}, | |
| k = /^\s*directive\:\s*([\w\-]+)\s+(.*)$/, | |
| p = /(([\w\-]+)(?:\:([^;]+))?;?)/, | |
| t = E("ngSrc,ngSrcset,src,srcset"), | |
| v = /^(?:(\^\^?)?(\?)?(\^\^?)?)?/, | |
| w = /^(on[a-z]+|formaction)$/, | |
| y = ga(); | |
| this.directive = function a(c, e) { | |
| return da(c, "directive"), u(c) ? (g(c), ba(e, "directiveFactory"), j.hasOwnProperty(c) || (j[c] = [], b.factory(c + "Directive", ["$injector", "$exceptionHandler", function(a, b) { | |
| var e = []; | |
| return d(j[c], function(d, f) { | |
| try { | |
| var g = a.invoke(d); | |
| x(g) ? g = { | |
| compile: o(g) | |
| } : !g.compile && g.link && (g.compile = o(g.link)), g.priority = g.priority || 0, g.index = f, g.name = g.name || c, g.require = h(g), g.restrict = g.restrict || "EA", g.$$moduleName = d.$$moduleName, e.push(g) | |
| } catch (a) { | |
| b(a) | |
| } | |
| }), e | |
| }])), j[c].push(e)) : d(c, f(a)), this | |
| }, this.component = function(a, b) { | |
| function c(a) { | |
| function c(b) { | |
| return x(b) || fd(b) ? function(c, d) { | |
| return a.invoke(b, this, { | |
| $element: c, | |
| $attrs: d | |
| }) | |
| } : b | |
| } | |
| var f = b.template || b.templateUrl ? b.template : "", | |
| g = { | |
| controller: e, | |
| controllerAs: _a(b.controller) || b.controllerAs || "$ctrl", | |
| template: c(f), | |
| templateUrl: c(b.templateUrl), | |
| transclude: b.transclude, | |
| scope: {}, | |
| bindToController: b.bindings || {}, | |
| restrict: "E", | |
| require: b.require | |
| }; | |
| return d(b, function(a, b) { | |
| "$" === b.charAt(0) && (g[b] = a) | |
| }), g | |
| } | |
| var e = b.controller || function() {}; | |
| return d(b, function(a, b) { | |
| "$" === b.charAt(0) && (c[b] = a, x(e) && (e[b] = a)) | |
| }), c.$inject = ["$injector"], this.directive(a, c) | |
| }, this.aHrefSanitizationWhitelist = function(a) { | |
| return r(a) ? (c.aHrefSanitizationWhitelist(a), this) : c.aHrefSanitizationWhitelist() | |
| }, this.imgSrcSanitizationWhitelist = function(a) { | |
| return r(a) ? (c.imgSrcSanitizationWhitelist(a), this) : c.imgSrcSanitizationWhitelist() | |
| }; | |
| var z = !0; | |
| this.debugInfoEnabled = function(a) { | |
| return r(a) ? (z = a, this) : z | |
| }; | |
| var C = 10; | |
| this.onChangesTtl = function(a) { | |
| return arguments.length ? (C = a, this) : C | |
| }, this.$get = ["$injector", "$interpolate", "$exceptionHandler", "$templateRequest", "$parse", "$controller", "$rootScope", "$sce", "$animate", "$$sanitizeUri", function(b, c, f, g, h, o, y, D, E, H) { | |
| function J() { | |
| try { | |
| if (!--ua) throw ra = void 0, Vd("infchng", C); | |
| y.$apply(function() { | |
| for (var a = [], b = 0, c = ra.length; b < c; ++b) try { | |
| ra[b]() | |
| } catch (b) { | |
| a.push(b) | |
| } | |
| if (ra = void 0, a.length) throw a | |
| }) | |
| } finally { | |
| ua++ | |
| } | |
| } | |
| function L(a, b) { | |
| if (b) { | |
| var c, d, e, f = Object.keys(b); | |
| for (c = 0, d = f.length; c < d; c++) e = f[c], this[e] = b[e] | |
| } else this.$attr = {}; | |
| this.$$element = a | |
| } | |
| function M(a, b, c) { | |
| ta.innerHTML = "<span " + b + ">", b = ta.firstChild.attributes; | |
| var d = b[0]; | |
| b.removeNamedItem(d.name), d.value = c, a.attributes.setNamedItem(d) | |
| } | |
| function N(a, b) { | |
| try { | |
| a.addClass(b) | |
| } catch (a) {} | |
| } | |
| function O(b, c, d, e, f) { | |
| b instanceof Sc || (b = Sc(b)); | |
| for (var g = /\S+/, h = 0, i = b.length; h < i; h++) { | |
| var j = b[h]; | |
| j.nodeType === pd && j.nodeValue.match(g) && na(j, b[h] = a.document.createElement("span")) | |
| } | |
| var k = P(b, c, b, d, e, f); | |
| O.$$addScopeClass(b); | |
| var l = null; | |
| return function(a, c, d) { | |
| ba(a, "scope"), f && f.needsNewScope && (a = a.$parent.$new()), d = d || {}; | |
| var e = d.parentBoundTranscludeFn, | |
| g = d.transcludeControllers; | |
| if (d = d.futureParentElement, e && e.$$boundTransclude && (e = e.$$boundTransclude), l || (l = (d = d && d[0]) && "foreignobject" !== F(d) && ad.call(d).match(/SVG/) ? "svg" : "html"), d = "html" !== l ? Sc(ia(l, Sc("<div>").append(b).html())) : c ? Dd.clone.call(b) : b, g) | |
| for (var h in g) d.data("$" + h + "Controller", g[h].instance); | |
| return O.$$addScopeInfo(d, a), c && c(d, a), k && k(a, d, d, e), d | |
| } | |
| } | |
| function P(a, b, c, d, e, f) { | |
| function g(a, c, d, e) { | |
| var f, g, h, i, j, k, n; | |
| if (l) | |
| for (n = Array(c.length), i = 0; i < m.length; i += 3) f = m[i], n[f] = c[f]; | |
| else n = c; | |
| for (i = 0, j = m.length; i < j;) g = n[m[i++]], c = m[i++], f = m[i++], c ? (c.scope ? (h = a.$new(), O.$$addScopeInfo(Sc(g), h)) : h = a, k = c.transcludeOnThisElement ? R(a, c.transclude, e) : !c.templateOnThisElement && e ? e : !e && b ? R(a, b) : null, c(f, h, g, d, k)) : f && f(a, g.childNodes, void 0, e) | |
| } | |
| for (var h, i, j, k, l, m = [], n = 0; n < a.length; n++) h = new L, i = S(a[n], [], h, 0 === n ? d : void 0, e), (f = i.length ? W(i, a[n], h, b, c, null, [], [], f) : null) && f.scope && O.$$addScopeClass(h.$$element), h = f && f.terminal || !(j = a[n].childNodes) || !j.length ? null : P(j, f ? (f.transcludeOnThisElement || !f.templateOnThisElement) && f.transclude : b), (f || h) && (m.push(n, f, h), k = !0, l = l || f), f = null; | |
| return k ? g : null | |
| } | |
| function R(a, b, c) { | |
| function d(d, e, f, g, h) { | |
| return d || (d = a.$new(!1, h), d.$$transcluded = !0), b(d, e, { | |
| parentBoundTranscludeFn: c, | |
| transcludeControllers: f, | |
| futureParentElement: g | |
| }) | |
| } | |
| var e, f = d.$$slots = ga(); | |
| for (e in b.$$slots) f[e] = b.$$slots[e] ? R(a, b.$$slots[e], c) : null; | |
| return d | |
| } | |
| function S(a, b, c, d, e) { | |
| var f, g = c.$attr; | |
| switch (a.nodeType) { | |
| case 1: | |
| $(b, Ya(F(a)), "E", d, e); | |
| for (var h, i, j, l = a.attributes, m = 0, n = l && l.length; m < n; m++) { | |
| var o = !1, | |
| q = !1; | |
| h = l[m], f = h.name, i = hd(h.value), h = Ya(f), (j = ya.test(h)) && (f = f.replace(Xd, "").substr(8).replace(/_(.)/g, function(a, b) { | |
| return b.toUpperCase() | |
| })), (h = h.match(za)) && aa(h[1]) && (o = f, q = f.substr(0, f.length - 5) + "end", f = f.substr(0, f.length - 6)), h = Ya(f.toLowerCase()), g[h] = f, !j && c.hasOwnProperty(h) || (c[h] = i, Ea(a, h) && (c[h] = !0)), ka(a, b, i, h, j), $(b, h, "A", d, e, o, q) | |
| } | |
| if (a = a.className, s(a) && (a = a.animVal), u(a) && "" !== a) | |
| for (; f = p.exec(a);) h = Ya(f[2]), $(b, h, "C", d, e) && (c[h] = hd(f[3])), a = a.substr(f.index + f[0].length); | |
| break; | |
| case pd: | |
| if (11 === Rc) | |
| for (; a.parentNode && a.nextSibling && a.nextSibling.nodeType === pd;) a.nodeValue += a.nextSibling.nodeValue, a.parentNode.removeChild(a.nextSibling); | |
| ha(b, a.nodeValue); | |
| break; | |
| case 8: | |
| try { | |
| (f = k.exec(a.nodeValue)) && (h = Ya(f[1]), $(b, h, "M", d, e) && (c[h] = hd(f[2]))) | |
| } catch (a) {} | |
| } | |
| return b.sort(ea), b | |
| } | |
| function T(a, b, c) { | |
| var d = [], | |
| e = 0; | |
| if (b && a.hasAttribute && a.hasAttribute(b)) { | |
| do { | |
| if (!a) throw Vd("uterdir", b, c); | |
| 1 == a.nodeType && (a.hasAttribute(b) && e++, a.hasAttribute(c) && e--), d.push(a), a = a.nextSibling | |
| } while (0 < e) | |
| } else d.push(a); | |
| return Sc(d) | |
| } | |
| function U(a, b, c) { | |
| return function(d, e, f, g, h) { | |
| return e = T(e[0], b, c), a(d, e, f, g, h) | |
| } | |
| } | |
| function V(a, b, c, d, e, f) { | |
| var g; | |
| return a ? O(b, c, d, e, f) : function() { | |
| return g || (g = O(b, c, d, e, f), b = c = f = null), g.apply(this, arguments) | |
| } | |
| } | |
| function W(a, b, c, e, g, h, j, k, l) { | |
| function m(a, b, c, d) { | |
| a && (c && (a = U(a, c, d)), a.require = o.require, a.directiveName = p, (z === o || o.$$isolateScope) && (a = ma(a, { | |
| isolateScope: !0 | |
| })), j.push(a)), b && (c && (b = U(b, c, d)), b.require = o.require, b.directiveName = p, (z === o || o.$$isolateScope) && (b = ma(b, { | |
| isolateScope: !0 | |
| })), k.push(b)) | |
| } | |
| function n(a, e, g, h, l) { | |
| function m(a, b, c, d) { | |
| var e; | |
| if (A(a) || (d = c, c = b, b = a, a = void 0), G && (e = u), c || (c = G ? C.parent() : C), !d) return l(a, b, e, c, F); | |
| var f = l.$$slots[d]; | |
| if (f) return f(a, b, e, c, F); | |
| if (q(f)) throw Vd("noslot", d, Q(C)) | |
| } | |
| var n, o, p, r, t, u, v, C; | |
| b === g ? (h = c, C = c.$$element) : (C = Sc(g), h = new L(C, c)), t = e, z ? r = e.$new(!0) : w && (t = e.$parent), l && (v = m, v.$$boundTransclude = l, v.isSlotFilled = function(a) { | |
| return !!l.$$slots[a] | |
| }), y && (u = Y(C, h, v, y, r, e, z)), z && (O.$$addScopeInfo(C, r, !0, !(B && (B === z || B === z.$$originalDirective))), O.$$addScopeClass(C, !0), r.$$isolateBindings = z.$$isolateBindings, o = qa(e, h, r, r.$$isolateBindings, z), o.removeWatches && r.$on("$destroy", o.removeWatches)); | |
| for (n in u) { | |
| o = y[n], p = u[n]; | |
| var D = o.$$bindings.bindToController; | |
| p.bindingInfo = p.identifier && D ? qa(t, h, p.instance, D, o) : {}; | |
| var E = p(); | |
| E !== p.instance && (p.instance = E, C.data("$" + o.name + "Controller", E), p.bindingInfo.removeWatches && p.bindingInfo.removeWatches(), p.bindingInfo = qa(t, h, p.instance, D, o)) | |
| } | |
| for (d(y, function(a, b) { | |
| var c = a.require; | |
| a.bindToController && !fd(c) && s(c) && i(u[b].instance, X(b, c, C, u)) | |
| }), d(u, function(a) { | |
| var b = a.instance; | |
| if (x(b.$onChanges)) try { | |
| b.$onChanges(a.bindingInfo.initialChanges) | |
| } catch (a) { | |
| f(a) | |
| } | |
| if (x(b.$onInit)) try { | |
| b.$onInit() | |
| } catch (a) { | |
| f(a) | |
| } | |
| x(b.$onDestroy) && t.$on("$destroy", function() { | |
| b.$onDestroy() | |
| }) | |
| }), n = 0, o = j.length; n < o; n++) p = j[n], oa(p, p.isolateScope ? r : e, C, h, p.require && X(p.directiveName, p.require, C, u), v); | |
| var F = e; | |
| for (z && (z.template || null === z.templateUrl) && (F = r), a && a(F, g.childNodes, void 0, l), n = k.length - 1; 0 <= n; n--) p = k[n], oa(p, p.isolateScope ? r : e, C, h, p.require && X(p.directiveName, p.require, C, u), v); | |
| d(u, function(a) { | |
| a = a.instance, x(a.$postLink) && a.$postLink() | |
| }) | |
| } | |
| l = l || {}; | |
| for (var o, p, r, t, u, v = -Number.MAX_VALUE, w = l.newScopeDirective, y = l.controllerDirectives, z = l.newIsolateScopeDirective, B = l.templateDirective, C = l.nonTlbTranscludeDirective, D = !1, E = !1, G = l.hasElementTranscludeDirective, H = c.$$element = Sc(b), I = e, J = !1, M = !1, N = 0, P = a.length; N < P; N++) { | |
| o = a[N]; | |
| var R = o.$$start, | |
| W = o.$$end; | |
| if (R && (H = T(b, R, W)), r = void 0, v > o.priority) break; | |
| if ((u = o.scope) && (o.templateUrl || (s(u) ? (fa("new/isolated scope", z || w, o, H), z = o) : fa("new/isolated scope", z, o, H)), w = w || o), p = o.name, !J && (o.replace && (o.templateUrl || o.template) || o.transclude && !o.$$tlb)) { | |
| for (u = N + 1; J = a[u++];) | |
| if (J.transclude && !J.$$tlb || J.replace && (J.templateUrl || J.template)) { | |
| M = !0; | |
| break | |
| } | |
| J = !0 | |
| } | |
| if (!o.templateUrl && o.controller && (u = o.controller, y = y || ga(), fa("'" + p + "' controller", y[p], o, H), y[p] = o), u = o.transclude) | |
| if (D = !0, o.$$tlb || (fa("transclusion", C, o, H), C = o), "element" == u) G = !0, v = o.priority, r = H, H = c.$$element = Sc(O.$$createComment(p, c[p])), b = H[0], la(g, Zc.call(r, 0), b), r[0].$$parentNode = r[0].parentNode, I = V(M, r, e, v, h && h.name, { | |
| nonTlbTranscludeDirective: C | |
| }); | |
| else { | |
| var $ = ga(); | |
| if (r = Sc(pa(b)).contents(), s(u)) { | |
| r = []; | |
| var _ = ga(), | |
| aa = ga(); | |
| d(u, function(a, b) { | |
| var c = "?" === a.charAt(0); | |
| a = c ? a.substring(1) : a, _[a] = b, $[b] = null, aa[b] = c | |
| }), d(H.contents(), function(a) { | |
| var b = _[Ya(F(a))]; | |
| b ? (aa[b] = !0, $[b] = $[b] || [], $[b].push(a)) : r.push(a) | |
| }), d(aa, function(a, b) { | |
| if (!a) throw Vd("reqslot", b) | |
| }); | |
| for (var ba in $) $[ba] && ($[ba] = V(M, $[ba], e)) | |
| } | |
| H.empty(), I = V(M, r, e, void 0, void 0, { | |
| needsNewScope: o.$$isolateScope || o.$$newScope | |
| }), I.$$slots = $ | |
| } | |
| if (o.template) | |
| if (E = !0, fa("template", B, o, H), B = o, u = x(o.template) ? o.template(H, c) : o.template, u = xa(u), o.replace) { | |
| if (h = o, r = yd.test(u) ? $a(ia(o.templateNamespace, hd(u))) : [], b = r[0], 1 != r.length || 1 !== b.nodeType) throw Vd("tplrt", p, ""); | |
| la(g, H, b), P = { | |
| $attr: {} | |
| }, u = S(b, [], P); | |
| var ea = a.splice(N + 1, a.length - (N + 1)); | |
| (z || w) && Z(u, z, w), a = a.concat(u).concat(ea), ca(c, P), P = a.length | |
| } else H.html(u); | |
| if (o.templateUrl) E = !0, fa("template", B, o, H), B = o, o.replace && (h = o), n = da(a.splice(N, a.length - N), H, c, g, D && I, j, k, { | |
| controllerDirectives: y, | |
| newScopeDirective: w !== o && w, | |
| newIsolateScopeDirective: z, | |
| templateDirective: B, | |
| nonTlbTranscludeDirective: C | |
| }), P = a.length; | |
| else if (o.compile) try { | |
| t = o.compile(H, c, I); | |
| var ha = o.$$originalDirective || o; | |
| x(t) ? m(null, K(ha, t), R, W) : t && m(K(ha, t.pre), K(ha, t.post), R, W) | |
| } catch (a) { | |
| f(a, Q(H)) | |
| } | |
| o.terminal && (n.terminal = !0, v = Math.max(v, o.priority)) | |
| } | |
| return n.scope = w && !0 === w.scope, n.transcludeOnThisElement = D, n.templateOnThisElement = E, n.transclude = I, l.hasElementTranscludeDirective = G, n | |
| } | |
| function X(a, b, c, e) { | |
| var f; | |
| if (u(b)) { | |
| var g = b.match(v); | |
| b = b.substring(g[0].length); | |
| var h = g[1] || g[3], | |
| g = "?" === g[2]; | |
| if ("^^" === h ? c = c.parent() : f = (f = e && e[b]) && f.instance, !f) { | |
| var i = "$" + b + "Controller"; | |
| f = h ? c.inheritedData(i) : c.data(i) | |
| } | |
| if (!f && !g) throw Vd("ctreq", b, a) | |
| } else if (fd(b)) | |
| for (f = [], h = 0, g = b.length; h < g; h++) f[h] = X(a, b[h], c, e); | |
| else s(b) && (f = {}, d(b, function(b, d) { | |
| f[d] = X(a, b, c, e) | |
| })); | |
| return f || null | |
| } | |
| function Y(a, b, c, d, e, f, g) { | |
| var h, i = ga(); | |
| for (h in d) { | |
| var j = d[h], | |
| k = { | |
| $scope: j === g || j.$$isolateScope ? e : f, | |
| $element: a, | |
| $attrs: b, | |
| $transclude: c | |
| }, | |
| l = j.controller; | |
| "@" == l && (l = b[j.name]), k = o(l, k, !0, j.controllerAs), i[j.name] = k, a.data("$" + j.name + "Controller", k.instance) | |
| } | |
| return i | |
| } | |
| function Z(a, b, c) { | |
| for (var d = 0, e = a.length; d < e; d++) a[d] = l(a[d], { | |
| $$isolateScope: b, | |
| $$newScope: c | |
| }) | |
| } | |
| function $(a, c, d, g, h, i, k) { | |
| if (c === h) return null; | |
| if (h = null, j.hasOwnProperty(c)) { | |
| var m; | |
| c = b.get(c + "Directive"); | |
| for (var n = 0, o = c.length; n < o; n++) try { | |
| if (m = c[n], (q(g) || g > m.priority) && -1 != m.restrict.indexOf(d)) { | |
| if (i && (m = l(m, { | |
| $$start: i, | |
| $$end: k | |
| })), !m.$$bindings) { | |
| var p = m, | |
| r = m, | |
| t = m.name, | |
| u = { | |
| isolateScope: null, | |
| bindToController: null | |
| }; | |
| if (s(r.scope) && (!0 === r.bindToController ? (u.bindToController = e(r.scope, t, !0), u.isolateScope = {}) : u.isolateScope = e(r.scope, t, !1)), s(r.bindToController) && (u.bindToController = e(r.bindToController, t, !0)), s(u.bindToController)) { | |
| var v = r.controller, | |
| w = r.controllerAs; | |
| if (!v) throw Vd("noctrl", t); | |
| if (!_a(v, w)) throw Vd("noident", t) | |
| } | |
| var x = p.$$bindings = u; | |
| s(x.isolateScope) && (m.$$isolateBindings = x.isolateScope) | |
| } | |
| a.push(m), h = m | |
| } | |
| } catch (a) { | |
| f(a) | |
| } | |
| } | |
| return h | |
| } | |
| function aa(a) { | |
| if (j.hasOwnProperty(a)) | |
| for (var c = b.get(a + "Directive"), d = 0, e = c.length; d < e; d++) | |
| if (a = c[d], a.multiElement) return !0; | |
| return !1 | |
| } | |
| function ca(a, b) { | |
| var c = b.$attr, | |
| e = a.$attr; | |
| d(a, function(d, e) { | |
| "$" != e.charAt(0) && (b[e] && b[e] !== d && (d += ("style" === e ? ";" : " ") + b[e]), a.$set(e, d, !0, c[e])) | |
| }), d(b, function(b, d) { | |
| a.hasOwnProperty(d) || "$" === d.charAt(0) || (a[d] = b, "class" !== d && "style" !== d && (e[d] = c[d])) | |
| }) | |
| } | |
| function da(a, b, c, e, f, h, i, j) { | |
| var k, m, n = [], | |
| o = b[0], | |
| p = a.shift(), | |
| q = l(p, { | |
| templateUrl: null, | |
| transclude: null, | |
| replace: null, | |
| $$originalDirective: p | |
| }), | |
| r = x(p.templateUrl) ? p.templateUrl(b, c) : p.templateUrl, | |
| t = p.templateNamespace; | |
| return b.empty(), g(r).then(function(g) { | |
| var l, u; | |
| if (g = xa(g), p.replace) { | |
| if (g = yd.test(g) ? $a(ia(t, hd(g))) : [], l = g[0], 1 != g.length || 1 !== l.nodeType) throw Vd("tplrt", p.name, r); | |
| g = { | |
| $attr: {} | |
| }, la(e, b, l); | |
| var v = S(l, [], g); | |
| s(p.scope) && Z(v, !0), a = v.concat(a), ca(c, g) | |
| } else l = o, b.html(g); | |
| for (a.unshift(q), k = W(a, l, c, f, b, p, h, i, j), d(e, function(a, c) { | |
| a == l && (e[c] = b[0]) | |
| }), m = P(b[0].childNodes, f); n.length;) { | |
| g = n.shift(), u = n.shift(); | |
| var w = n.shift(), | |
| x = n.shift(), | |
| v = b[0]; | |
| if (!g.$$destroyed) { | |
| if (u !== o) { | |
| var y = u.className; | |
| j.hasElementTranscludeDirective && p.replace || (v = pa(l)), la(w, Sc(u), v), N(Sc(v), y) | |
| } | |
| u = k.transcludeOnThisElement ? R(g, k.transclude, x) : x, k(m, g, v, e, u) | |
| } | |
| } | |
| n = null | |
| }), | |
| function(a, b, c, d, e) { | |
| a = e, b.$$destroyed || (n ? n.push(b, c, d, a) : (k.transcludeOnThisElement && (a = R(b, k.transclude, e)), k(m, b, c, d, a))) | |
| } | |
| } | |
| function ea(a, b) { | |
| var c = b.priority - a.priority; | |
| return 0 !== c ? c : a.name !== b.name ? a.name < b.name ? -1 : 1 : a.index - b.index | |
| } | |
| function fa(a, b, c, d) { | |
| function e(a) { | |
| return a ? " (module: " + a + ")" : "" | |
| } | |
| if (b) throw Vd("multidir", b.name, e(b.$$moduleName), c.name, e(c.$$moduleName), a, Q(d)) | |
| } | |
| function ha(a, b) { | |
| var d = c(b, !0); | |
| d && a.push({ | |
| priority: 0, | |
| compile: function(a) { | |
| a = a.parent(); | |
| var b = !!a.length; | |
| return b && O.$$addBindingClass(a), | |
| function(a, c) { | |
| var e = c.parent(); | |
| b || O.$$addBindingClass(e), O.$$addBindingInfo(e, d.expressions), a.$watch(d, function(a) { | |
| c[0].nodeValue = a | |
| }) | |
| } | |
| } | |
| }) | |
| } | |
| function ia(b, c) { | |
| switch (b = Xc(b || "html")) { | |
| case "svg": | |
| case "math": | |
| var d = a.document.createElement("div"); | |
| return d.innerHTML = "<" + b + ">" + c + "</" + b + ">", d.childNodes[0].childNodes; | |
| default: | |
| return c | |
| } | |
| } | |
| function ja(a, b) { | |
| if ("srcdoc" == b) return D.HTML; | |
| var c = F(a); | |
| return "xlinkHref" == b || "form" == c && "action" == b || "img" != c && ("src" == b || "ngSrc" == b) ? D.RESOURCE_URL : void 0 | |
| } | |
| function ka(a, b, d, e, f) { | |
| var g = ja(a, e); | |
| f = t[e] || f; | |
| var h = c(d, !0, g, f); | |
| if (h) { | |
| if ("multiple" === e && "select" === F(a)) throw Vd("selmulti", Q(a)); | |
| b.push({ | |
| priority: 100, | |
| compile: function() { | |
| return { | |
| pre: function(a, b, i) { | |
| if (b = i.$$observers || (i.$$observers = ga()), w.test(e)) throw Vd("nodomevents"); | |
| var j = i[e]; | |
| j !== d && (h = j && c(j, !0, g, f), d = j), h && (i[e] = h(a), (b[e] || (b[e] = [])).$$inter = !0, (i.$$observers && i.$$observers[e].$$scope || a).$watch(h, function(a, b) { | |
| "class" === e && a != b ? i.$updateClass(a, b) : i.$set(e, a) | |
| })) | |
| } | |
| } | |
| } | |
| }) | |
| } | |
| } | |
| function la(b, c, d) { | |
| var e, f, g = c[0], | |
| h = c.length, | |
| i = g.parentNode; | |
| if (b) | |
| for (e = 0, f = b.length; e < f; e++) | |
| if (b[e] == g) { | |
| b[e++] = d, f = e + h - 1; | |
| for (var j = b.length; e < j; e++, f++) f < j ? b[e] = b[f] : delete b[e]; | |
| b.length -= h - 1, b.context === g && (b.context = d); | |
| break | |
| } | |
| for (i && i.replaceChild(d, g), b = a.document.createDocumentFragment(), e = 0; e < h; e++) b.appendChild(c[e]); | |
| for (Sc.hasData(g) && (Sc.data(d, Sc.data(g)), Sc(g).off("$destroy")), Sc.cleanData(b.querySelectorAll("*")), e = 1; e < h; e++) delete c[e]; | |
| c[0] = d, c.length = 1 | |
| } | |
| function ma(a, b) { | |
| return i(function() { | |
| return a.apply(null, arguments) | |
| }, a, b) | |
| } | |
| function oa(a, b, c, d, e, g) { | |
| try { | |
| a(b, c, d, e, g) | |
| } catch (a) { | |
| f(a, Q(c)) | |
| } | |
| } | |
| function qa(a, b, e, f, g) { | |
| function i(b, c, d) { | |
| x(e.$onChanges) && c !== d && (ra || (a.$$postDigest(J), ra = []), k || (k = {}, ra.push(j)), k[b] && (d = k[b].previousValue), k[b] = new Xa(d, c)) | |
| } | |
| function j() { | |
| e.$onChanges(k), k = void 0 | |
| } | |
| var k, l = [], | |
| n = {}; | |
| return d(f, function(d, f) { | |
| var j, k, o, p, q = d.attrName, | |
| r = d.optional; | |
| switch (d.mode) { | |
| case "@": | |
| r || Wc.call(b, q) || (e[f] = b[q] = void 0), b.$observe(q, function(a) { | |
| (u(a) || B(a)) && (i(f, a, e[f]), e[f] = a) | |
| }), b.$$observers[q].$$scope = a, j = b[q], u(j) ? e[f] = c(j)(a) : B(j) && (e[f] = j), n[f] = new Xa(Wd, e[f]); | |
| break; | |
| case "=": | |
| if (!Wc.call(b, q)) { | |
| if (r) break; | |
| b[q] = void 0 | |
| } | |
| if (r && !b[q]) break; | |
| k = h(b[q]), p = k.literal ? I : function(a, b) { | |
| return a === b || a !== a && b !== b | |
| }, o = k.assign || function() { | |
| throw j = e[f] = k(a), Vd("nonassign", b[q], q, g.name) | |
| }, j = e[f] = k(a), r = function(b) { | |
| return p(b, e[f]) || (p(b, j) ? o(a, b = e[f]) : e[f] = b), j = b | |
| }, r.$stateful = !0, r = d.collection ? a.$watchCollection(b[q], r) : a.$watch(h(b[q], r), null, k.literal), l.push(r); | |
| break; | |
| case "<": | |
| if (!Wc.call(b, q)) { | |
| if (r) break; | |
| b[q] = void 0 | |
| } | |
| if (r && !b[q]) break; | |
| k = h(b[q]); | |
| var s = e[f] = k(a); | |
| n[f] = new Xa(Wd, e[f]), r = a.$watch(k, function(a, b) { | |
| if (b === a) { | |
| if (b === s) return; | |
| b = s | |
| } | |
| i(f, a, b), e[f] = a | |
| }, k.literal), l.push(r); | |
| break; | |
| case "&": | |
| if (k = b.hasOwnProperty(q) ? h(b[q]) : m, k === m && r) break; | |
| e[f] = function(b) { | |
| return k(a, b) | |
| } | |
| } | |
| }), { | |
| initialChanges: n, | |
| removeWatches: l.length && function() { | |
| for (var a = 0, b = l.length; a < b; ++a) l[a]() | |
| } | |
| } | |
| } | |
| var ra, sa = /^\w/, | |
| ta = a.document.createElement("div"), | |
| ua = C; | |
| L.prototype = { | |
| $normalize: Ya, | |
| $addClass: function(a) { | |
| a && 0 < a.length && E.addClass(this.$$element, a) | |
| }, | |
| $removeClass: function(a) { | |
| a && 0 < a.length && E.removeClass(this.$$element, a) | |
| }, | |
| $updateClass: function(a, b) { | |
| var c = Za(a, b); | |
| c && c.length && E.addClass(this.$$element, c), (c = Za(b, a)) && c.length && E.removeClass(this.$$element, c) | |
| }, | |
| $set: function(a, b, c, e) { | |
| var g = Ea(this.$$element[0], a), | |
| h = Gd[a], | |
| i = a; | |
| if (g ? (this.$$element.prop(a, b), e = g) : h && (this[h] = b, i = h), this[a] = b, e ? this.$attr[a] = e : (e = this.$attr[a]) || (this.$attr[a] = e = _(a, "-")), g = F(this.$$element), "a" === g && ("href" === a || "xlinkHref" === a) || "img" === g && "src" === a) this[a] = b = H(b, "src" === a); | |
| else if ("img" === g && "srcset" === a && r(b)) { | |
| for (var g = "", h = hd(b), j = /(\s+\d+x\s*,|\s+\d+w\s*,|\s+,|,\s+)/, j = /\s/.test(h) ? j : /(,)/, h = h.split(j), j = Math.floor(h.length / 2), k = 0; k < j; k++) var l = 2 * k, | |
| g = g + H(hd(h[l]), !0), | |
| g = g + (" " + hd(h[l + 1])); | |
| h = hd(h[2 * k]).split(/\s/), g += H(hd(h[0]), !0), 2 === h.length && (g += " " + hd(h[1])), this[a] = b = g | |
| }!1 !== c && (null === b || q(b) ? this.$$element.removeAttr(e) : sa.test(e) ? this.$$element.attr(e, b) : M(this.$$element[0], e, b)), (a = this.$$observers) && d(a[i], function(a) { | |
| try { | |
| a(b) | |
| } catch (a) { | |
| f(a) | |
| } | |
| }) | |
| }, | |
| $observe: function(a, b) { | |
| var c = this, | |
| d = c.$$observers || (c.$$observers = ga()), | |
| e = d[a] || (d[a] = []); | |
| return e.push(b), y.$evalAsync(function() { | |
| e.$$inter || !c.hasOwnProperty(a) || q(c[a]) || b(c[a]) | |
| }), | |
| function() { | |
| G(e, b) | |
| } | |
| } | |
| }; | |
| var va = c.startSymbol(), | |
| wa = c.endSymbol(), | |
| xa = "{{" == va && "}}" == wa ? n : function(a) { | |
| return a.replace(/\{\{/g, va).replace(/}}/g, wa) | |
| }, | |
| ya = /^ngAttr[A-Z]/, | |
| za = /^(.+)Start$/; | |
| return O.$$addBindingInfo = z ? function(a, b) { | |
| var c = a.data("$binding") || []; | |
| fd(b) ? c = c.concat(b) : c.push(b), a.data("$binding", c) | |
| } : m, O.$$addBindingClass = z ? function(a) { | |
| N(a, "ng-binding") | |
| } : m, O.$$addScopeInfo = z ? function(a, b, c, d) { | |
| a.data(c ? d ? "$isolateScopeNoTemplate" : "$isolateScope" : "$scope", b) | |
| } : m, O.$$addScopeClass = z ? function(a, b) { | |
| N(a, b ? "ng-isolate-scope" : "ng-scope") | |
| } : m, O.$$createComment = function(b, c) { | |
| var d = ""; | |
| return z && (d = " " + (b || "") + ": ", c && (d += c + " ")), a.document.createComment(d) | |
| }, O | |
| }] | |
| } | |
| function Xa(a, b) { | |
| this.previousValue = a, this.currentValue = b | |
| } | |
| function Ya(a) { | |
| return ka(a.replace(Xd, "")) | |
| } | |
| function Za(a, b) { | |
| var c = "", | |
| d = a.split(/\s+/), | |
| e = b.split(/\s+/), | |
| f = 0; | |
| a: for (; f < d.length; f++) { | |
| for (var g = d[f], h = 0; h < e.length; h++) | |
| if (g == e[h]) continue a; | |
| c += (0 < c.length ? " " : "") + g | |
| } | |
| return c | |
| } | |
| function $a(a) { | |
| a = Sc(a); | |
| var b = a.length; | |
| if (1 >= b) return a; | |
| for (; b--;) 8 === a[b].nodeType && $c.call(a, b, 1); | |
| return a | |
| } | |
| function _a(a, b) { | |
| if (b && u(b)) return b; | |
| if (u(a)) { | |
| var c = Zd.exec(a); | |
| if (c) return c[3] | |
| } | |
| } | |
| function ab() { | |
| var a = {}, | |
| c = !1; | |
| this.has = function(b) { | |
| return a.hasOwnProperty(b) | |
| }, this.register = function(b, c) { | |
| da(b, "controller"), s(b) ? i(a, b) : a[b] = c | |
| }, this.allowGlobals = function() { | |
| c = !0 | |
| }, this.$get = ["$injector", "$window", function(d, e) { | |
| function f(a, c, d, e) { | |
| if (!a || !s(a.$scope)) throw b("$controller")("noscp", e, c); | |
| a.$scope[c] = d | |
| } | |
| return function(b, g, h, j) { | |
| var k, l, m; | |
| if (h = !0 === h, j && u(j) && (m = j), u(b)) { | |
| if (j = b.match(Zd), !j) throw Yd("ctrlfmt", b); | |
| l = j[1], m = m || j[3], b = a.hasOwnProperty(l) ? a[l] : ea(g.$scope, l, !0) || (c ? ea(e, l, !0) : void 0), ca(b, l, !0) | |
| } | |
| return h ? (h = (fd(b) ? b[b.length - 1] : b).prototype, k = Object.create(h || null), m && f(g, m, k, l || b.name), i(function() { | |
| var a = d.invoke(b, k, g, l); | |
| return a !== k && (s(a) || x(a)) && (k = a, m && f(g, m, k, l || b.name)), k | |
| }, { | |
| instance: k, | |
| identifier: m | |
| })) : (k = d.instantiate(b, g, l), m && f(g, m, k, l || b.name), k) | |
| } | |
| }] | |
| } | |
| function bb() { | |
| this.$get = ["$window", function(a) { | |
| return Sc(a.document) | |
| }] | |
| } | |
| function cb() { | |
| this.$get = ["$log", function(a) { | |
| return function(b, c) { | |
| a.error.apply(a, arguments) | |
| } | |
| }] | |
| } | |
| function db(a) { | |
| return s(a) ? w(a) ? a.toISOString() : M(a) : a | |
| } | |
| function eb() { | |
| this.$get = function() { | |
| return function(a) { | |
| if (!a) return ""; | |
| var b = []; | |
| return e(a, function(a, c) { | |
| null === a || q(a) || (fd(a) ? d(a, function(a) { | |
| b.push(V(c) + "=" + V(db(a))) | |
| }) : b.push(V(c) + "=" + V(db(a)))) | |
| }), b.join("&") | |
| } | |
| } | |
| } | |
| function fb() { | |
| this.$get = function() { | |
| return function(a) { | |
| function b(a, f, g) { | |
| null === a || q(a) || (fd(a) ? d(a, function(a, c) { | |
| b(a, f + "[" + (s(a) ? c : "") + "]") | |
| }) : s(a) && !w(a) ? e(a, function(a, c) { | |
| b(a, f + (g ? "" : "[") + c + (g ? "" : "]")) | |
| }) : c.push(V(f) + "=" + V(db(a)))) | |
| } | |
| if (!a) return ""; | |
| var c = []; | |
| return b(a, "", !0), c.join("&") | |
| } | |
| } | |
| } | |
| function gb(a, b) { | |
| if (u(a)) { | |
| var c = a.replace(de, "").trim(); | |
| if (c) { | |
| var d = b("Content-Type"); | |
| (d = d && 0 === d.indexOf(_d)) || (d = (d = c.match(be)) && ce[d[0]].test(c)), d && (a = N(c)) | |
| } | |
| } | |
| return a | |
| } | |
| function hb(a) { | |
| var b, c = ga(); | |
| return u(a) ? d(a.split("\n"), function(a) { | |
| b = a.indexOf(":"); | |
| var d = Xc(hd(a.substr(0, b))); | |
| a = hd(a.substr(b + 1)), d && (c[d] = c[d] ? c[d] + ", " + a : a) | |
| }) : s(a) && d(a, function(a, b) { | |
| var d = Xc(b), | |
| e = hd(a); | |
| d && (c[d] = c[d] ? c[d] + ", " + e : e) | |
| }), c | |
| } | |
| function ib(a) { | |
| var b; | |
| return function(c) { | |
| return b || (b = hb(a)), c ? (c = b[Xc(c)], void 0 === c && (c = null), c) : b | |
| } | |
| } | |
| function jb(a, b, c, e) { | |
| return x(e) ? e(a, b, c) : (d(e, function(d) { | |
| a = d(a, b, c) | |
| }), a) | |
| } | |
| function kb() { | |
| var a = this.defaults = { | |
| transformResponse: [gb], | |
| transformRequest: [function(a) { | |
| return s(a) && "[object File]" !== ad.call(a) && "[object Blob]" !== ad.call(a) && "[object FormData]" !== ad.call(a) ? M(a) : a | |
| }], | |
| headers: { | |
| common: { | |
| Accept: "application/json, text/plain, */*" | |
| }, | |
| post: ia(ae), | |
| put: ia(ae), | |
| patch: ia(ae) | |
| }, | |
| xsrfCookieName: "XSRF-TOKEN", | |
| xsrfHeaderName: "X-XSRF-TOKEN", | |
| paramSerializer: "$httpParamSerializer" | |
| }, | |
| c = !1; | |
| this.useApplyAsync = function(a) { | |
| return r(a) ? (c = !!a, this) : c | |
| }; | |
| var e = !0; | |
| this.useLegacyPromiseExtensions = function(a) { | |
| return r(a) ? (e = !!a, this) : e | |
| }; | |
| var f = this.interceptors = []; | |
| this.$get = ["$httpBackend", "$$cookieReader", "$cacheFactory", "$rootScope", "$q", "$injector", function(g, h, j, k, l, m) { | |
| function n(c) { | |
| function f(a) { | |
| var b = i({}, a); | |
| return b.data = jb(a.data, a.headers, a.status, h.transformResponse), a = a.status, 200 <= a && 300 > a ? b : l.reject(b) | |
| } | |
| function g(a, b) { | |
| var c, e = {}; | |
| return d(a, function(a, d) { | |
| x(a) ? (c = a(b), null != c && (e[d] = c)) : e[d] = a | |
| }), e | |
| } | |
| if (!s(c)) throw b("$http")("badreq", c); | |
| if (!u(c.url)) throw b("$http")("badreq", c.url); | |
| var h = i({ | |
| method: "get", | |
| transformRequest: a.transformRequest, | |
| transformResponse: a.transformResponse, | |
| paramSerializer: a.paramSerializer | |
| }, c); | |
| h.headers = function(b) { | |
| var c, d, e, f = a.headers, | |
| h = i({}, b.headers), | |
| f = i({}, f.common, f[Xc(b.method)]); | |
| a: for (c in f) { | |
| d = Xc(c); | |
| for (e in h) | |
| if (Xc(e) === d) continue a; | |
| h[c] = f[c] | |
| } | |
| return g(h, ia(b)) | |
| }(c), h.method = Yc(h.method), h.paramSerializer = u(h.paramSerializer) ? m.get(h.paramSerializer) : h.paramSerializer; | |
| var j = [function(b) { | |
| var c = b.headers, | |
| e = jb(b.data, ib(c), void 0, b.transformRequest); | |
| return q(e) && d(c, function(a, b) { | |
| "content-type" === Xc(b) && delete c[b] | |
| }), q(b.withCredentials) && !q(a.withCredentials) && (b.withCredentials = a.withCredentials), o(b, e).then(f, f) | |
| }, void 0], | |
| k = l.when(h); | |
| for (d(v, function(a) { | |
| (a.request || a.requestError) && j.unshift(a.request, a.requestError), (a.response || a.responseError) && j.push(a.response, a.responseError) | |
| }); j.length;) { | |
| c = j.shift(); | |
| var n = j.shift(), | |
| k = k.then(c, n) | |
| } | |
| return e ? (k.success = function(a) { | |
| return ca(a, "fn"), k.then(function(b) { | |
| a(b.data, b.status, b.headers, h) | |
| }), k | |
| }, k.error = function(a) { | |
| return ca(a, "fn"), k.then(null, function(b) { | |
| a(b.data, b.status, b.headers, h) | |
| }), k | |
| }) : (k.success = fe("success"), k.error = fe("error")), k | |
| } | |
| function o(b, e) { | |
| function f(a) { | |
| if (a) { | |
| var b = {}; | |
| return d(a, function(a, d) { | |
| b[d] = function(b) { | |
| function d() { | |
| a(b) | |
| } | |
| c ? k.$applyAsync(d) : k.$$phase ? d() : k.$apply(d) | |
| } | |
| }), b | |
| } | |
| } | |
| function i(a, b, d, e) { | |
| function f() { | |
| j(b, a, d, e) | |
| } | |
| u && (200 <= a && 300 > a ? u.put(A, [a, b, hb(d), e]) : u.remove(A)), c ? k.$applyAsync(f) : (f(), k.$$phase || k.$apply()) | |
| } | |
| function j(a, c, d, e) { | |
| c = -1 <= c ? c : 0, (200 <= c && 300 > c ? w.resolve : w.reject)({ | |
| data: a, | |
| status: c, | |
| headers: ib(d), | |
| config: b, | |
| statusText: e | |
| }) | |
| } | |
| function m(a) { | |
| j(a.data, a.status, ia(a.headers()), a.statusText) | |
| } | |
| function o() { | |
| var a = n.pendingRequests.indexOf(b); - 1 !== a && n.pendingRequests.splice(a, 1) | |
| } | |
| var u, v, w = l.defer(), | |
| y = w.promise, | |
| z = b.headers, | |
| A = p(b.url, b.paramSerializer(b.params)); | |
| return n.pendingRequests.push(b), y.then(o, o), !b.cache && !a.cache || !1 === b.cache || "GET" !== b.method && "JSONP" !== b.method || (u = s(b.cache) ? b.cache : s(a.cache) ? a.cache : t), u && (v = u.get(A), r(v) ? v && x(v.then) ? v.then(m, m) : fd(v) ? j(v[1], v[0], ia(v[2]), v[3]) : j(v, 200, {}, "OK") : u.put(A, y)), q(v) && ((v = hc(b.url) ? h()[b.xsrfCookieName || a.xsrfCookieName] : void 0) && (z[b.xsrfHeaderName || a.xsrfHeaderName] = v), g(b.method, A, e, i, z, b.timeout, b.withCredentials, b.responseType, f(b.eventHandlers), f(b.uploadEventHandlers))), y | |
| } | |
| function p(a, b) { | |
| return 0 < b.length && (a += (-1 == a.indexOf("?") ? "?" : "&") + b), a | |
| } | |
| var t = j("$http"); | |
| a.paramSerializer = u(a.paramSerializer) ? m.get(a.paramSerializer) : a.paramSerializer; | |
| var v = []; | |
| return d(f, function(a) { | |
| v.unshift(u(a) ? m.get(a) : m.invoke(a)) | |
| }), n.pendingRequests = [], | |
| function(a) { | |
| d(arguments, function(a) { | |
| n[a] = function(b, c) { | |
| return n(i({}, c || {}, { | |
| method: a, | |
| url: b | |
| })) | |
| } | |
| }) | |
| }("get", "delete", "head", "jsonp"), | |
| function(a) { | |
| d(arguments, function(a) { | |
| n[a] = function(b, c, d) { | |
| return n(i({}, d || {}, { | |
| method: a, | |
| url: b, | |
| data: c | |
| })) | |
| } | |
| }) | |
| }("post", "put", "patch"), n.defaults = a, n | |
| }] | |
| } | |
| function lb() { | |
| this.$get = function() { | |
| return function() { | |
| return new a.XMLHttpRequest | |
| } | |
| } | |
| } | |
| function mb() { | |
| this.$get = ["$browser", "$window", "$document", "$xhrFactory", function(a, b, c, d) { | |
| return nb(a, d, a.defer, b.angular.callbacks, c[0]) | |
| }] | |
| } | |
| function nb(a, b, c, e, f) { | |
| function g(a, b, c) { | |
| var d = f.createElement("script"), | |
| g = null; | |
| return d.type = "text/javascript", d.src = a, d.async = !0, g = function(a) { | |
| d.removeEventListener("load", g, !1), d.removeEventListener("error", g, !1), f.body.removeChild(d), d = null; | |
| var h = -1, | |
| i = "unknown"; | |
| a && ("load" !== a.type || e[b].called || (a = { | |
| type: "error" | |
| }), i = a.type, h = "error" === a.type ? 404 : 200), c && c(h, i) | |
| }, d.addEventListener("load", g, !1), d.addEventListener("error", g, !1), f.body.appendChild(d), g | |
| } | |
| return function(f, h, i, j, k, l, n, o, p, s) { | |
| function t() { | |
| w && w(), y && y.abort() | |
| } | |
| function u(b, d, e, f, g) { | |
| r(z) && c.cancel(z), w = y = null, b(d, e, f, g), a.$$completeOutstandingRequest(m) | |
| } | |
| if (a.$$incOutstandingRequestCount(), h = h || a.url(), "jsonp" == Xc(f)) { | |
| var v = "_" + (e.counter++).toString(36); | |
| e[v] = function(a) { | |
| e[v].data = a, e[v].called = !0 | |
| }; | |
| var w = g(h.replace("JSON_CALLBACK", "angular.callbacks." + v), v, function(a, b) { | |
| u(j, a, e[v].data, "", b), e[v] = m | |
| }) | |
| } else { | |
| var y = b(f, h); | |
| if (y.open(f, h, !0), d(k, function(a, b) { | |
| r(a) && y.setRequestHeader(b, a) | |
| }), y.onload = function() { | |
| var a = y.statusText || "", | |
| b = "response" in y ? y.response : y.responseText, | |
| c = 1223 === y.status ? 204 : y.status; | |
| 0 === c && (c = b ? 200 : "file" == gc(h).protocol ? 404 : 0), u(j, c, b, y.getAllResponseHeaders(), a) | |
| }, f = function() { | |
| u(j, -1, null, null, "") | |
| }, y.onerror = f, y.onabort = f, d(p, function(a, b) { | |
| y.addEventListener(b, a) | |
| }), d(s, function(a, b) { | |
| y.upload.addEventListener(b, a) | |
| }), n && (y.withCredentials = !0), o) try { | |
| y.responseType = o | |
| } catch (a) { | |
| if ("json" !== o) throw a | |
| } | |
| y.send(q(i) ? null : i) | |
| } | |
| if (0 < l) var z = c(t, l); | |
| else l && x(l.then) && l.then(t) | |
| } | |
| } | |
| function ob() { | |
| var a = "{{", | |
| b = "}}"; | |
| this.startSymbol = function(b) { | |
| return b ? (a = b, this) : a | |
| }, this.endSymbol = function(a) { | |
| return a ? (b = a, this) : b | |
| }, this.$get = ["$parse", "$exceptionHandler", "$sce", function(c, d, e) { | |
| function f(a) { | |
| return "\\\\\\" + a | |
| } | |
| function g(c) { | |
| return c.replace(m, a).replace(n, b) | |
| } | |
| function h(a, b, c, d) { | |
| var e; | |
| return e = a.$watch(function(a) { | |
| return e(), d(a) | |
| }, b, c) | |
| } | |
| function j(f, j, m, n) { | |
| function p(a) { | |
| try { | |
| var b = a; | |
| a = m ? e.getTrusted(m, b) : e.valueOf(b); | |
| var c; | |
| if (n && !r(a)) c = a; | |
| else if (null == a) c = ""; | |
| else { | |
| switch (typeof a) { | |
| case "string": | |
| break; | |
| case "number": | |
| a = "" + a; | |
| break; | |
| default: | |
| a = M(a) | |
| } | |
| c = a | |
| } | |
| return c | |
| } catch (a) { | |
| d(ge.interr(f, a)) | |
| } | |
| } | |
| if (!f.length || -1 === f.indexOf(a)) { | |
| var s; | |
| return j || (j = g(f), s = o(j), s.exp = f, s.expressions = [], s.$$watchDelegate = h), s | |
| } | |
| n = !!n; | |
| var t, u, v = 0, | |
| w = [], | |
| y = []; | |
| s = f.length; | |
| for (var z = [], A = []; v < s;) { | |
| if (-1 == (t = f.indexOf(a, v)) || -1 == (u = f.indexOf(b, t + k))) { | |
| v !== s && z.push(g(f.substring(v))); | |
| break | |
| } | |
| v !== t && z.push(g(f.substring(v, t))), v = f.substring(t + k, u), w.push(v), y.push(c(v, p)), v = u + l, A.push(z.length), z.push("") | |
| } | |
| if (m && 1 < z.length && ge.throwNoconcat(f), !j || w.length) { | |
| var B = function(a) { | |
| for (var b = 0, c = w.length; b < c; b++) { | |
| if (n && q(a[b])) return; | |
| z[A[b]] = a[b] | |
| } | |
| return z.join("") | |
| }; | |
| return i(function(a) { | |
| var b = 0, | |
| c = w.length, | |
| e = Array(c); | |
| try { | |
| for (; b < c; b++) e[b] = y[b](a); | |
| return B(e) | |
| } catch (a) { | |
| d(ge.interr(f, a)) | |
| } | |
| }, { | |
| exp: f, | |
| expressions: w, | |
| $$watchDelegate: function(a, b) { | |
| var c; | |
| return a.$watchGroup(y, function(d, e) { | |
| var f = B(d); | |
| x(b) && b.call(this, f, d !== e ? c : f, a), c = f | |
| }) | |
| } | |
| }) | |
| } | |
| } | |
| var k = a.length, | |
| l = b.length, | |
| m = new RegExp(a.replace(/./g, f), "g"), | |
| n = new RegExp(b.replace(/./g, f), "g"); | |
| return j.startSymbol = function() { | |
| return a | |
| }, j.endSymbol = function() { | |
| return b | |
| }, j | |
| }] | |
| } | |
| function pb() { | |
| this.$get = ["$rootScope", "$window", "$q", "$$q", "$browser", function(a, b, c, d, e) { | |
| function f(f, h, i, j) { | |
| function k() { | |
| l ? f.apply(null, m) : f(p) | |
| } | |
| var l = 4 < arguments.length, | |
| m = l ? Zc.call(arguments, 4) : [], | |
| n = b.setInterval, | |
| o = b.clearInterval, | |
| p = 0, | |
| q = r(j) && !j, | |
| s = (q ? d : c).defer(), | |
| t = s.promise; | |
| return i = r(i) ? i : 0, t.$$intervalId = n(function() { | |
| q ? e.defer(k) : a.$evalAsync(k), s.notify(p++), 0 < i && p >= i && (s.resolve(p), o(t.$$intervalId), delete g[t.$$intervalId]), q || a.$apply() | |
| }, h), g[t.$$intervalId] = s, t | |
| } | |
| var g = {}; | |
| return f.cancel = function(a) { | |
| return !!(a && a.$$intervalId in g) && (g[a.$$intervalId].reject("canceled"), b.clearInterval(a.$$intervalId), delete g[a.$$intervalId], !0) | |
| }, f | |
| }] | |
| } | |
| function qb(a) { | |
| a = a.split("/"); | |
| for (var b = a.length; b--;) a[b] = U(a[b]); | |
| return a.join("/") | |
| } | |
| function rb(a, b) { | |
| var c = gc(a); | |
| b.$$protocol = c.protocol, b.$$host = c.hostname, b.$$port = k(c.port) || ie[c.protocol] || null | |
| } | |
| function sb(a, b) { | |
| var c = "/" !== a.charAt(0); | |
| c && (a = "/" + a); | |
| var d = gc(a); | |
| b.$$path = decodeURIComponent(c && "/" === d.pathname.charAt(0) ? d.pathname.substring(1) : d.pathname), b.$$search = S(d.search), b.$$hash = decodeURIComponent(d.hash), b.$$path && "/" != b.$$path.charAt(0) && (b.$$path = "/" + b.$$path) | |
| } | |
| function tb(a, b) { | |
| if (0 === b.lastIndexOf(a, 0)) return b.substr(a.length) | |
| } | |
| function ub(a) { | |
| var b = a.indexOf("#"); | |
| return -1 == b ? a : a.substr(0, b) | |
| } | |
| function vb(a) { | |
| return a.replace(/(#.+)|#$/, "$1") | |
| } | |
| function wb(a, b, c) { | |
| this.$$html5 = !0, c = c || "", rb(a, this), this.$$parse = function(a) { | |
| var c = tb(b, a); | |
| if (!u(c)) throw je("ipthprfx", a, b); | |
| sb(c, this), this.$$path || (this.$$path = "/"), this.$$compose() | |
| }, this.$$compose = function() { | |
| var a = T(this.$$search), | |
| c = this.$$hash ? "#" + U(this.$$hash) : ""; | |
| this.$$url = qb(this.$$path) + (a ? "?" + a : "") + c, this.$$absUrl = b + this.$$url.substr(1) | |
| }, this.$$parseLinkUrl = function(d, e) { | |
| if (e && "#" === e[0]) return this.hash(e.slice(1)), !0; | |
| var f, g; | |
| return r(f = tb(a, d)) ? (g = f, g = r(f = tb(c, f)) ? b + (tb("/", f) || f) : a + g) : r(f = tb(b, d)) ? g = b + f : b == d + "/" && (g = b), g && this.$$parse(g), !!g | |
| } | |
| } | |
| function xb(a, b, c) { | |
| rb(a, this), this.$$parse = function(d) { | |
| var e, f = tb(a, d) || tb(b, d); | |
| q(f) || "#" !== f.charAt(0) ? this.$$html5 ? e = f : (e = "", q(f) && (a = d, this.replace())) : (e = tb(c, f), q(e) && (e = f)), sb(e, this), d = this.$$path; | |
| var f = a, | |
| g = /^\/[A-Z]:(\/.*)/; | |
| 0 === e.lastIndexOf(f, 0) && (e = e.replace(f, "")), g.exec(e) || (d = (e = g.exec(d)) ? e[1] : d), this.$$path = d, this.$$compose() | |
| }, this.$$compose = function() { | |
| var b = T(this.$$search), | |
| d = this.$$hash ? "#" + U(this.$$hash) : ""; | |
| this.$$url = qb(this.$$path) + (b ? "?" + b : "") + d, this.$$absUrl = a + (this.$$url ? c + this.$$url : "") | |
| }, this.$$parseLinkUrl = function(b, c) { | |
| return ub(a) == ub(b) && (this.$$parse(b), !0) | |
| } | |
| } | |
| function yb(a, b, c) { | |
| this.$$html5 = !0, xb.apply(this, arguments), this.$$parseLinkUrl = function(d, e) { | |
| if (e && "#" === e[0]) return this.hash(e.slice(1)), !0; | |
| var f, g; | |
| return a == ub(d) ? f = d : (g = tb(b, d)) ? f = a + c + g : b === d + "/" && (f = b), f && this.$$parse(f), !!f | |
| }, this.$$compose = function() { | |
| var b = T(this.$$search), | |
| d = this.$$hash ? "#" + U(this.$$hash) : ""; | |
| this.$$url = qb(this.$$path) + (b ? "?" + b : "") + d, this.$$absUrl = a + c + this.$$url | |
| } | |
| } | |
| function zb(a) { | |
| return function() { | |
| return this[a] | |
| } | |
| } | |
| function Ab(a, b) { | |
| return function(c) { | |
| return q(c) ? this[a] : (this[a] = b(c), this.$$compose(), this) | |
| } | |
| } | |
| function Bb() { | |
| var a = "", | |
| b = { | |
| enabled: !1, | |
| requireBase: !0, | |
| rewriteLinks: !0 | |
| }; | |
| this.hashPrefix = function(b) { | |
| return r(b) ? (a = b, this) : a | |
| }, this.html5Mode = function(a) { | |
| return B(a) ? (b.enabled = a, this) : s(a) ? (B(a.enabled) && (b.enabled = a.enabled), B(a.requireBase) && (b.requireBase = a.requireBase), B(a.rewriteLinks) && (b.rewriteLinks = a.rewriteLinks), this) : b | |
| }, this.$get = ["$rootScope", "$browser", "$sniffer", "$rootElement", "$window", function(c, d, e, f, g) { | |
| function h(a, b, c) { | |
| var e = j.url(), | |
| f = j.$$state; | |
| try { | |
| d.url(a, b, c), j.$$state = d.state() | |
| } catch (a) { | |
| throw j.url(e), j.$$state = f, a | |
| } | |
| } | |
| function i(a, b) { | |
| c.$broadcast("$locationChangeSuccess", j.absUrl(), a, j.$$state, b) | |
| } | |
| var j, k; | |
| k = d.baseHref(); | |
| var l, m = d.url(); | |
| if (b.enabled) { | |
| if (!k && b.requireBase) throw je("nobase"); | |
| l = m.substring(0, m.indexOf("/", m.indexOf("//") + 2)) + (k || "/"), k = e.history ? wb : yb | |
| } else l = ub(m), k = xb; | |
| var n = l.substr(0, ub(l).lastIndexOf("/") + 1); | |
| j = new k(l, n, "#" + a), j.$$parseLinkUrl(m, m), j.$$state = d.state(); | |
| var o = /^\s*(javascript|mailto):/i; | |
| f.on("click", function(a) { | |
| if (b.rewriteLinks && !a.ctrlKey && !a.metaKey && !a.shiftKey && 2 != a.which && 2 != a.button) { | |
| for (var e = Sc(a.target); | |
| "a" !== F(e[0]);) | |
| if (e[0] === f[0] || !(e = e.parent())[0]) return; | |
| var h = e.prop("href"), | |
| i = e.attr("href") || e.attr("xlink:href"); | |
| s(h) && "[object SVGAnimatedString]" === h.toString() && (h = gc(h.animVal).href), o.test(h) || !h || e.attr("target") || a.isDefaultPrevented() || !j.$$parseLinkUrl(h, i) || (a.preventDefault(), j.absUrl() != d.url() && (c.$apply(), g.angular["ff-684208-preventDefault"] = !0)) | |
| } | |
| }), vb(j.absUrl()) != vb(m) && d.url(j.absUrl(), !0); | |
| var p = !0; | |
| return d.onUrlChange(function(a, b) { | |
| q(tb(n, a)) ? g.location.href = a : (c.$evalAsync(function() { | |
| var d, e = j.absUrl(), | |
| f = j.$$state; | |
| a = vb(a), j.$$parse(a), j.$$state = b, d = c.$broadcast("$locationChangeStart", a, e, b, f).defaultPrevented, j.absUrl() === a && (d ? (j.$$parse(e), j.$$state = f, h(e, !1, f)) : (p = !1, i(e, f))) | |
| }), c.$$phase || c.$digest()) | |
| }), c.$watch(function() { | |
| var a = vb(d.url()), | |
| b = vb(j.absUrl()), | |
| f = d.state(), | |
| g = j.$$replace, | |
| k = a !== b || j.$$html5 && e.history && f !== j.$$state; | |
| (p || k) && (p = !1, c.$evalAsync(function() { | |
| var b = j.absUrl(), | |
| d = c.$broadcast("$locationChangeStart", b, a, j.$$state, f).defaultPrevented; | |
| j.absUrl() === b && (d ? (j.$$parse(a), j.$$state = f) : (k && h(b, g, f === j.$$state ? null : j.$$state), i(a, f))) | |
| })), j.$$replace = !1 | |
| }), j | |
| }] | |
| } | |
| function Cb() { | |
| var a = !0, | |
| b = this; | |
| this.debugEnabled = function(b) { | |
| return r(b) ? (a = b, this) : a | |
| }, this.$get = ["$window", function(c) { | |
| function e(a) { | |
| return a instanceof Error && (a.stack ? a = a.message && -1 === a.stack.indexOf(a.message) ? "Error: " + a.message + "\n" + a.stack : a.stack : a.sourceURL && (a = a.message + "\n" + a.sourceURL + ":" + a.line)), a | |
| } | |
| function f(a) { | |
| var b = c.console || {}, | |
| f = b[a] || b.log || m; | |
| a = !1; | |
| try { | |
| a = !!f.apply | |
| } catch (a) {} | |
| return a ? function() { | |
| var a = []; | |
| return d(arguments, function(b) { | |
| a.push(e(b)) | |
| }), f.apply(b, a) | |
| } : function(a, b) { | |
| f(a, null == b ? "" : b) | |
| } | |
| } | |
| return { | |
| log: f("log"), | |
| info: f("info"), | |
| warn: f("warn"), | |
| error: f("error"), | |
| debug: function() { | |
| var c = f("debug"); | |
| return function() { | |
| a && c.apply(b, arguments) | |
| } | |
| }() | |
| } | |
| }] | |
| } | |
| function Db(a, b) { | |
| if ("__defineGetter__" === a || "__defineSetter__" === a || "__lookupGetter__" === a || "__lookupSetter__" === a || "__proto__" === a) throw le("isecfld", b); | |
| return a | |
| } | |
| function Eb(a) { | |
| return a + "" | |
| } | |
| function Fb(a, b) { | |
| if (a) { | |
| if (a.constructor === a) throw le("isecfn", b); | |
| if (a.window === a) throw le("isecwindow", b); | |
| if (a.children && (a.nodeName || a.prop && a.attr && a.find)) throw le("isecdom", b); | |
| if (a === Object) throw le("isecobj", b) | |
| } | |
| return a | |
| } | |
| function Gb(a, b) { | |
| if (a) { | |
| if (a.constructor === a) throw le("isecfn", b); | |
| if (a === me || a === ne || a === oe) throw le("isecff", b) | |
| } | |
| } | |
| function Hb(a, b) { | |
| if (a && (a === (0).constructor || a === (!1).constructor || a === "".constructor || a === {}.constructor || a === [].constructor || a === Function.constructor)) throw le("isecaf", b) | |
| } | |
| function Ib(a, b) { | |
| return "undefined" != typeof a ? a : b | |
| } | |
| function Jb(a, b) { | |
| return "undefined" == typeof a ? b : "undefined" == typeof b ? a : a + b | |
| } | |
| function Kb(a, b) { | |
| var c, e; | |
| switch (a.type) { | |
| case se.Program: | |
| c = !0, d(a.body, function(a) { | |
| Kb(a.expression, b), c = c && a.expression.constant | |
| }), a.constant = c; | |
| break; | |
| case se.Literal: | |
| a.constant = !0, a.toWatch = []; | |
| break; | |
| case se.UnaryExpression: | |
| Kb(a.argument, b), a.constant = a.argument.constant, a.toWatch = a.argument.toWatch; | |
| break; | |
| case se.BinaryExpression: | |
| Kb(a.left, b), Kb(a.right, b), a.constant = a.left.constant && a.right.constant, a.toWatch = a.left.toWatch.concat(a.right.toWatch); | |
| break; | |
| case se.LogicalExpression: | |
| Kb(a.left, b), Kb(a.right, b), a.constant = a.left.constant && a.right.constant, a.toWatch = a.constant ? [] : [a]; | |
| break; | |
| case se.ConditionalExpression: | |
| Kb(a.test, b), Kb(a.alternate, b), Kb(a.consequent, b), a.constant = a.test.constant && a.alternate.constant && a.consequent.constant, a.toWatch = a.constant ? [] : [a]; | |
| break; | |
| case se.Identifier: | |
| a.constant = !1, a.toWatch = [a]; | |
| break; | |
| case se.MemberExpression: | |
| Kb(a.object, b), a.computed && Kb(a.property, b), a.constant = a.object.constant && (!a.computed || a.property.constant), a.toWatch = [a]; | |
| break; | |
| case se.CallExpression: | |
| c = !!a.filter && !b(a.callee.name).$stateful, e = [], d(a.arguments, function(a) { | |
| Kb(a, b), c = c && a.constant, a.constant || e.push.apply(e, a.toWatch) | |
| }), a.constant = c, a.toWatch = a.filter && !b(a.callee.name).$stateful ? e : [a]; | |
| break; | |
| case se.AssignmentExpression: | |
| Kb(a.left, b), Kb(a.right, b), a.constant = a.left.constant && a.right.constant, a.toWatch = [a]; | |
| break; | |
| case se.ArrayExpression: | |
| c = !0, e = [], d(a.elements, function(a) { | |
| Kb(a, b), c = c && a.constant, a.constant || e.push.apply(e, a.toWatch) | |
| }), a.constant = c, a.toWatch = e; | |
| break; | |
| case se.ObjectExpression: | |
| c = !0, e = [], d(a.properties, function(a) { | |
| Kb(a.value, b), c = c && a.value.constant && !a.computed, a.value.constant || e.push.apply(e, a.value.toWatch) | |
| }), a.constant = c, a.toWatch = e; | |
| break; | |
| case se.ThisExpression: | |
| a.constant = !1, a.toWatch = []; | |
| break; | |
| case se.LocalsExpression: | |
| a.constant = !1, a.toWatch = [] | |
| } | |
| } | |
| function Lb(a) { | |
| if (1 == a.length) { | |
| a = a[0].expression; | |
| var b = a.toWatch; | |
| return 1 !== b.length ? b : b[0] !== a ? b : void 0 | |
| } | |
| } | |
| function Mb(a) { | |
| return a.type === se.Identifier || a.type === se.MemberExpression | |
| } | |
| function Nb(a) { | |
| if (1 === a.body.length && Mb(a.body[0].expression)) return { | |
| type: se.AssignmentExpression, | |
| left: a.body[0].expression, | |
| right: { | |
| type: se.NGValueParameter | |
| }, | |
| operator: "=" | |
| } | |
| } | |
| function Ob(a) { | |
| return 0 === a.body.length || 1 === a.body.length && (a.body[0].expression.type === se.Literal || a.body[0].expression.type === se.ArrayExpression || a.body[0].expression.type === se.ObjectExpression) | |
| } | |
| function Pb(a, b) { | |
| this.astBuilder = a, this.$filter = b | |
| } | |
| function Qb(a, b) { | |
| this.astBuilder = a, this.$filter = b | |
| } | |
| function Rb(a) { | |
| return "constructor" == a | |
| } | |
| function Sb(a) { | |
| return x(a.valueOf) ? a.valueOf() : ue.call(a) | |
| } | |
| function Tb() { | |
| var a, b, c = ga(), | |
| e = ga(), | |
| f = { | |
| true: !0, | |
| false: !1, | |
| null: null, | |
| undefined: void 0 | |
| }; | |
| this.addLiteral = function(a, b) { | |
| f[a] = b | |
| }, this.setIdentifierFns = function(c, d) { | |
| return a = c, b = d, this | |
| }, this.$get = ["$filter", function(g) { | |
| function h(a, b, d) { | |
| var f, h, j; | |
| switch (d = d || u, typeof a) { | |
| case "string": | |
| j = a = a.trim(); | |
| var q = d ? e : c; | |
| if (f = q[j], !f) { | |
| ":" === a.charAt(0) && ":" === a.charAt(1) && (h = !0, a = a.substring(2)), f = d ? t : s; | |
| var r = new re(f); | |
| f = new te(r, g, f).parse(a), f.constant ? f.$$watchDelegate = o : h ? f.$$watchDelegate = f.literal ? n : l : f.inputs && (f.$$watchDelegate = k), d && (f = i(f)), q[j] = f | |
| } | |
| return p(f, b); | |
| case "function": | |
| return p(a, b); | |
| default: | |
| return p(m, b) | |
| } | |
| } | |
| function i(a) { | |
| function b(b, c, d, e) { | |
| var f = u; | |
| u = !0; | |
| try { | |
| return a(b, c, d, e) | |
| } finally { | |
| u = f | |
| } | |
| } | |
| if (!a) return a; | |
| b.$$watchDelegate = a.$$watchDelegate, b.assign = i(a.assign), b.constant = a.constant, b.literal = a.literal; | |
| for (var c = 0; a.inputs && c < a.inputs.length; ++c) a.inputs[c] = i(a.inputs[c]); | |
| return b.inputs = a.inputs, b | |
| } | |
| function j(a, b) { | |
| return null == a || null == b ? a === b : ("object" != typeof a || (a = Sb(a), "object" != typeof a)) && (a === b || a !== a && b !== b) | |
| } | |
| function k(a, b, c, d, e) { | |
| var f, g = d.inputs; | |
| if (1 === g.length) { | |
| var h = j, | |
| g = g[0]; | |
| return a.$watch(function(a) { | |
| var b = g(a); | |
| return j(b, h) || (f = d(a, void 0, void 0, [b]), h = b && Sb(b)), f | |
| }, b, c, e) | |
| } | |
| for (var i = [], k = [], l = 0, m = g.length; l < m; l++) i[l] = j, k[l] = null; | |
| return a.$watch(function(a) { | |
| for (var b = !1, c = 0, e = g.length; c < e; c++) { | |
| var h = g[c](a); | |
| (b || (b = !j(h, i[c]))) && (k[c] = h, i[c] = h && Sb(h)) | |
| } | |
| return b && (f = d(a, void 0, void 0, k)), f | |
| }, b, c, e) | |
| } | |
| function l(a, b, c, d) { | |
| var e, f; | |
| return e = a.$watch(function(a) { | |
| return d(a) | |
| }, function(a, c, d) { | |
| f = a, x(b) && b.apply(this, arguments), r(a) && d.$$postDigest(function() { | |
| r(f) && e() | |
| }) | |
| }, c) | |
| } | |
| function n(a, b, c, e) { | |
| function f(a) { | |
| var b = !0; | |
| return d(a, function(a) { | |
| r(a) || (b = !1) | |
| }), b | |
| } | |
| var g, h; | |
| return g = a.$watch(function(a) { | |
| return e(a) | |
| }, function(a, c, d) { | |
| h = a, x(b) && b.call(this, a, c, d), f(a) && d.$$postDigest(function() { | |
| f(h) && g() | |
| }) | |
| }, c) | |
| } | |
| function o(a, b, c, d) { | |
| var e; | |
| return e = a.$watch(function(a) { | |
| return e(), d(a) | |
| }, b, c) | |
| } | |
| function p(a, b) { | |
| if (!b) return a; | |
| var c = a.$$watchDelegate, | |
| d = !1, | |
| c = c !== n && c !== l ? function(c, e, f, g) { | |
| return f = d && g ? g[0] : a(c, e, f, g), b(f, c, e) | |
| } : function(c, d, e, f) { | |
| return e = a(c, d, e, f), c = b(e, c, d), r(e) ? c : e | |
| }; | |
| return a.$$watchDelegate && a.$$watchDelegate !== k ? c.$$watchDelegate = a.$$watchDelegate : b.$stateful || (c.$$watchDelegate = k, d = !a.inputs, c.inputs = a.inputs ? a.inputs : [a]), c | |
| } | |
| var q = jd().noUnsafeEval, | |
| s = { | |
| csp: q, | |
| expensiveChecks: !1, | |
| literals: H(f), | |
| isIdentifierStart: x(a) && a, | |
| isIdentifierContinue: x(b) && b | |
| }, | |
| t = { | |
| csp: q, | |
| expensiveChecks: !0, | |
| literals: H(f), | |
| isIdentifierStart: x(a) && a, | |
| isIdentifierContinue: x(b) && b | |
| }, | |
| u = !1; | |
| return h.$$runningExpensiveChecks = function() { | |
| return u | |
| }, h | |
| }] | |
| } | |
| function Ub() { | |
| this.$get = ["$rootScope", "$exceptionHandler", function(a, b) { | |
| return Wb(function(b) { | |
| a.$evalAsync(b) | |
| }, b) | |
| }] | |
| } | |
| function Vb() { | |
| this.$get = ["$browser", "$exceptionHandler", function(a, b) { | |
| return Wb(function(b) { | |
| a.defer(b) | |
| }, b) | |
| }] | |
| } | |
| function Wb(a, c) { | |
| function e() { | |
| this.$$state = { | |
| status: 0 | |
| } | |
| } | |
| function f(a, b) { | |
| return function(c) { | |
| b.call(a, c) | |
| } | |
| } | |
| function g(b) { | |
| !b.processScheduled && b.pending && (b.processScheduled = !0, a(function() { | |
| var a, d, e; | |
| e = b.pending, b.processScheduled = !1, b.pending = void 0; | |
| for (var f = 0, g = e.length; f < g; ++f) { | |
| d = e[f][0], a = e[f][b.status]; | |
| try { | |
| x(a) ? d.resolve(a(b.value)) : 1 === b.status ? d.resolve(b.value) : d.reject(b.value) | |
| } catch (a) { | |
| d.reject(a), c(a) | |
| } | |
| } | |
| })) | |
| } | |
| function h() { | |
| this.promise = new e | |
| } | |
| var j = b("$q", TypeError); | |
| i(e.prototype, { | |
| then: function(a, b, c) { | |
| if (q(a) && q(b) && q(c)) return this; | |
| var d = new h; | |
| return this.$$state.pending = this.$$state.pending || [], this.$$state.pending.push([d, a, b, c]), 0 < this.$$state.status && g(this.$$state), d.promise | |
| }, | |
| catch: function(a) { | |
| return this.then(null, a) | |
| }, | |
| finally: function(a, b) { | |
| return this.then(function(b) { | |
| return l(b, !0, a) | |
| }, function(b) { | |
| return l(b, !1, a) | |
| }, b) | |
| } | |
| }), i(h.prototype, { | |
| resolve: function(a) { | |
| this.promise.$$state.status || (a === this.promise ? this.$$reject(j("qcycle", a)) : this.$$resolve(a)) | |
| }, | |
| $$resolve: function(a) { | |
| function b(a) { | |
| i || (i = !0, h.$$resolve(a)) | |
| } | |
| function d(a) { | |
| i || (i = !0, h.$$reject(a)) | |
| } | |
| var e, h = this, | |
| i = !1; | |
| try { | |
| (s(a) || x(a)) && (e = a && a.then), x(e) ? (this.promise.$$state.status = -1, e.call(a, b, d, f(this, this.notify))) : (this.promise.$$state.value = a, this.promise.$$state.status = 1, g(this.promise.$$state)) | |
| } catch (a) { | |
| d(a), c(a) | |
| } | |
| }, | |
| reject: function(a) { | |
| this.promise.$$state.status || this.$$reject(a) | |
| }, | |
| $$reject: function(a) { | |
| this.promise.$$state.value = a, this.promise.$$state.status = 2, g(this.promise.$$state) | |
| }, | |
| notify: function(b) { | |
| var d = this.promise.$$state.pending; | |
| 0 >= this.promise.$$state.status && d && d.length && a(function() { | |
| for (var a, e, f = 0, g = d.length; f < g; f++) { | |
| e = d[f][0], a = d[f][3]; | |
| try { | |
| e.notify(x(a) ? a(b) : b) | |
| } catch (a) { | |
| c(a) | |
| } | |
| } | |
| }) | |
| } | |
| }); | |
| var k = function(a, b) { | |
| var c = new h; | |
| return b ? c.resolve(a) : c.reject(a), c.promise | |
| }, | |
| l = function(a, b, c) { | |
| var d = null; | |
| try { | |
| x(c) && (d = c()) | |
| } catch (a) { | |
| return k(a, !1) | |
| } | |
| return d && x(d.then) ? d.then(function() { | |
| return k(a, b) | |
| }, function(a) { | |
| return k(a, !1) | |
| }) : k(a, b) | |
| }, | |
| m = function(a, b, c, d) { | |
| var e = new h; | |
| return e.resolve(a), e.promise.then(b, c, d) | |
| }, | |
| n = function(a) { | |
| if (!x(a)) throw j("norslvr", a); | |
| var b = new h; | |
| return a(function(a) { | |
| b.resolve(a) | |
| }, function(a) { | |
| b.reject(a) | |
| }), b.promise | |
| }; | |
| return n.prototype = e.prototype, n.defer = function() { | |
| var a = new h; | |
| return a.resolve = f(a, a.resolve), a.reject = f(a, a.reject), a.notify = f(a, a.notify), a | |
| }, n.reject = function(a) { | |
| var b = new h; | |
| return b.reject(a), b.promise | |
| }, n.when = m, n.resolve = m, n.all = function(a) { | |
| var b = new h, | |
| c = 0, | |
| e = fd(a) ? [] : {}; | |
| return d(a, function(a, d) { | |
| c++, m(a).then(function(a) { | |
| e.hasOwnProperty(d) || (e[d] = a, --c || b.resolve(e)) | |
| }, function(a) { | |
| e.hasOwnProperty(d) || b.reject(a) | |
| }) | |
| }), 0 === c && b.resolve(e), b.promise | |
| }, n | |
| } | |
| function Xb() { | |
| this.$get = ["$window", "$timeout", function(a, b) { | |
| var c = a.requestAnimationFrame || a.webkitRequestAnimationFrame, | |
| d = a.cancelAnimationFrame || a.webkitCancelAnimationFrame || a.webkitCancelRequestAnimationFrame, | |
| e = !!c, | |
| f = e ? function(a) { | |
| var b = c(a); | |
| return function() { | |
| d(b) | |
| } | |
| } : function(a) { | |
| var c = b(a, 16.66, !1); | |
| return function() { | |
| b.cancel(c) | |
| } | |
| }; | |
| return f.supported = e, f | |
| }] | |
| } | |
| function Yb() { | |
| function a(a) { | |
| function b() { | |
| this.$$watchers = this.$$nextSibling = this.$$childHead = this.$$childTail = null, this.$$listeners = {}, this.$$listenerCount = {}, this.$$watchersCount = 0, this.$id = ++ed, this.$$ChildScope = null | |
| } | |
| return b.prototype = a, b | |
| } | |
| var e = 10, | |
| f = b("$rootScope"), | |
| g = null, | |
| h = null; | |
| this.digestTtl = function(a) { | |
| return arguments.length && (e = a), e | |
| }, this.$get = ["$exceptionHandler", "$parse", "$browser", function(b, i, j) { | |
| function k(a) { | |
| a.currentScope.$$destroyed = !0 | |
| } | |
| function l(a) { | |
| 9 === Rc && (a.$$childHead && l(a.$$childHead), a.$$nextSibling && l(a.$$nextSibling)), a.$parent = a.$$nextSibling = a.$$prevSibling = a.$$childHead = a.$$childTail = a.$root = a.$$watchers = null | |
| } | |
| function n() { | |
| this.$id = ++ed, this.$$phase = this.$parent = this.$$watchers = this.$$nextSibling = this.$$prevSibling = this.$$childHead = this.$$childTail = null, this.$root = this, this.$$destroyed = !1, this.$$listeners = {}, this.$$listenerCount = {}, this.$$watchersCount = 0, this.$$isolateBindings = null | |
| } | |
| function o(a) { | |
| if (w.$$phase) throw f("inprog", w.$$phase); | |
| w.$$phase = a | |
| } | |
| function p(a, b) { | |
| do a.$$watchersCount += b; while (a = a.$parent) | |
| } | |
| function r(a, b, c) { | |
| do a.$$listenerCount[c] -= b, 0 === a.$$listenerCount[c] && delete a.$$listenerCount[c]; while (a = a.$parent) | |
| } | |
| function t() {} | |
| function u() { | |
| for (; A.length;) try { | |
| A.shift()() | |
| } catch (a) { | |
| b(a) | |
| } | |
| h = null | |
| } | |
| function v() { | |
| null === h && (h = j.defer(function() { | |
| w.$apply(u) | |
| })) | |
| } | |
| n.prototype = { | |
| constructor: n, | |
| $new: function(b, c) { | |
| var d; | |
| return c = c || this, b ? (d = new n, d.$root = this.$root) : (this.$$ChildScope || (this.$$ChildScope = a(this)), d = new this.$$ChildScope), d.$parent = c, d.$$prevSibling = c.$$childTail, c.$$childHead ? (c.$$childTail.$$nextSibling = d, c.$$childTail = d) : c.$$childHead = c.$$childTail = d, (b || c != this) && d.$on("$destroy", k), d | |
| }, | |
| $watch: function(a, b, c, d) { | |
| var e = i(a); | |
| if (e.$$watchDelegate) return e.$$watchDelegate(this, b, c, e, a); | |
| var f = this, | |
| h = f.$$watchers, | |
| j = { | |
| fn: b, | |
| last: t, | |
| get: e, | |
| exp: d || a, | |
| eq: !!c | |
| }; | |
| return g = null, x(b) || (j.fn = m), h || (h = f.$$watchers = []), h.unshift(j), p(this, 1), | |
| function() { | |
| 0 <= G(h, j) && p(f, -1), g = null | |
| } | |
| }, | |
| $watchGroup: function(a, b) { | |
| function c() { | |
| i = !1, j ? (j = !1, b(f, f, h)) : b(f, e, h) | |
| } | |
| var e = Array(a.length), | |
| f = Array(a.length), | |
| g = [], | |
| h = this, | |
| i = !1, | |
| j = !0; | |
| if (!a.length) { | |
| var k = !0; | |
| return h.$evalAsync(function() { | |
| k && b(f, f, h) | |
| }), | |
| function() { | |
| k = !1 | |
| } | |
| } | |
| return 1 === a.length ? this.$watch(a[0], function(a, c, d) { | |
| f[0] = a, e[0] = c, b(f, a === c ? f : e, d) | |
| }) : (d(a, function(a, b) { | |
| var d = h.$watch(a, function(a, d) { | |
| f[b] = a, e[b] = d, i || (i = !0, h.$evalAsync(c)) | |
| }); | |
| g.push(d) | |
| }), function() { | |
| for (; g.length;) g.shift()() | |
| }) | |
| }, | |
| $watchCollection: function(a, b) { | |
| function d(a) { | |
| e = a; | |
| var b, d, g, h; | |
| if (!q(e)) { | |
| if (s(e)) | |
| if (c(e)) | |
| for (f !== m && (f = m, p = f.length = 0, k++), a = e.length, p !== a && (k++, f.length = p = a), b = 0; b < a; b++) h = f[b], g = e[b], d = h !== h && g !== g, d || h === g || (k++, f[b] = g); | |
| else { | |
| f !== n && (f = n = {}, p = 0, k++), a = 0; | |
| for (b in e) Wc.call(e, b) && (a++, g = e[b], h = f[b], b in f ? (d = h !== h && g !== g, d || h === g || (k++, f[b] = g)) : (p++, f[b] = g, k++)); | |
| if (p > a) | |
| for (b in k++, f) Wc.call(e, b) || (p--, delete f[b]) | |
| } | |
| else f !== e && (f = e, k++); | |
| return k | |
| } | |
| } | |
| d.$stateful = !0; | |
| var e, f, g, h = this, | |
| j = 1 < b.length, | |
| k = 0, | |
| l = i(a, d), | |
| m = [], | |
| n = {}, | |
| o = !0, | |
| p = 0; | |
| return this.$watch(l, function() { | |
| if (o ? (o = !1, b(e, e, h)) : b(e, g, h), j) | |
| if (s(e)) | |
| if (c(e)) { | |
| g = Array(e.length); | |
| for (var a = 0; a < e.length; a++) g[a] = e[a] | |
| } else | |
| for (a in g = {}, e) Wc.call(e, a) && (g[a] = e[a]); | |
| else g = e | |
| }) | |
| }, | |
| $digest: function() { | |
| var a, c, d, i, k, l, m, n, p, q, r, s = e, | |
| v = []; | |
| o("$digest"), j.$$checkUrlChange(), this === w && null !== h && (j.defer.cancel(h), u()), g = null; | |
| do { | |
| for (n = !1, p = this, l = 0; l < y.length; l++) { | |
| try { | |
| r = y[l], r.scope.$eval(r.expression, r.locals) | |
| } catch (a) { | |
| b(a) | |
| } | |
| g = null | |
| } | |
| y.length = 0; | |
| a: do { | |
| if (l = p.$$watchers) | |
| for (m = l.length; m--;) try { | |
| if (a = l[m]) | |
| if (k = a.get, (c = k(p)) === (d = a.last) || (a.eq ? I(c, d) : "number" == typeof c && "number" == typeof d && isNaN(c) && isNaN(d))) { | |
| if (a === g) { | |
| n = !1; | |
| break a | |
| } | |
| } else n = !0, g = a, a.last = a.eq ? H(c, null) : c, i = a.fn, i(c, d === t ? c : d, p), 5 > s && (q = 4 - s, v[q] || (v[q] = []), v[q].push({ | |
| msg: x(a.exp) ? "fn: " + (a.exp.name || a.exp.toString()) : a.exp, | |
| newVal: c, | |
| oldVal: d | |
| })) | |
| } catch (a) { | |
| b(a) | |
| } | |
| if (!(l = p.$$watchersCount && p.$$childHead || p !== this && p.$$nextSibling)) | |
| for (; p !== this && !(l = p.$$nextSibling);) p = p.$parent | |
| } while (p = l); | |
| if ((n || y.length) && !s--) throw w.$$phase = null, f("infdig", e, v) | |
| } while (n || y.length); | |
| for (w.$$phase = null; B < z.length;) try { | |
| z[B++]() | |
| } catch (a) { | |
| b(a) | |
| } | |
| z.length = B = 0 | |
| }, | |
| $destroy: function() { | |
| if (!this.$$destroyed) { | |
| var a = this.$parent; | |
| this.$broadcast("$destroy"), this.$$destroyed = !0, this === w && j.$$applicationDestroyed(), p(this, -this.$$watchersCount); | |
| for (var b in this.$$listenerCount) r(this, this.$$listenerCount[b], b); | |
| a && a.$$childHead == this && (a.$$childHead = this.$$nextSibling), a && a.$$childTail == this && (a.$$childTail = this.$$prevSibling), this.$$prevSibling && (this.$$prevSibling.$$nextSibling = this.$$nextSibling), this.$$nextSibling && (this.$$nextSibling.$$prevSibling = this.$$prevSibling), this.$destroy = this.$digest = this.$apply = this.$evalAsync = this.$applyAsync = m, this.$on = this.$watch = this.$watchGroup = function() { | |
| return m | |
| }, this.$$listeners = {}, this.$$nextSibling = null, l(this) | |
| } | |
| }, | |
| $eval: function(a, b) { | |
| return i(a)(this, b) | |
| }, | |
| $evalAsync: function(a, b) { | |
| w.$$phase || y.length || j.defer(function() { | |
| y.length && w.$digest() | |
| }), y.push({ | |
| scope: this, | |
| expression: i(a), | |
| locals: b | |
| }) | |
| }, | |
| $$postDigest: function(a) { | |
| z.push(a) | |
| }, | |
| $apply: function(a) { | |
| try { | |
| o("$apply"); | |
| try { | |
| return this.$eval(a) | |
| } finally { | |
| w.$$phase = null | |
| } | |
| } catch (a) { | |
| b(a) | |
| } finally { | |
| try { | |
| w.$digest() | |
| } catch (a) { | |
| throw b(a), a | |
| } | |
| } | |
| }, | |
| $applyAsync: function(a) { | |
| function b() { | |
| c.$eval(a) | |
| } | |
| var c = this; | |
| a && A.push(b), a = i(a), v() | |
| }, | |
| $on: function(a, b) { | |
| var c = this.$$listeners[a]; | |
| c || (this.$$listeners[a] = c = []), c.push(b); | |
| var d = this; | |
| do d.$$listenerCount[a] || (d.$$listenerCount[a] = 0), d.$$listenerCount[a]++; while (d = d.$parent); | |
| var e = this; | |
| return function() { | |
| var d = c.indexOf(b); - 1 !== d && (c[d] = null, r(e, 1, a)) | |
| } | |
| }, | |
| $emit: function(a, c) { | |
| var d, e, f, g = [], | |
| h = this, | |
| i = !1, | |
| j = { | |
| name: a, | |
| targetScope: h, | |
| stopPropagation: function() { | |
| i = !0 | |
| }, | |
| preventDefault: function() { | |
| j.defaultPrevented = !0 | |
| }, | |
| defaultPrevented: !1 | |
| }, | |
| k = J([j], arguments, 1); | |
| do { | |
| for (d = h.$$listeners[a] || g, j.currentScope = h, e = 0, f = d.length; e < f; e++) | |
| if (d[e]) try { | |
| d[e].apply(null, k) | |
| } catch (a) { | |
| b(a) | |
| } else d.splice(e, 1), e--, f--; | |
| if (i) return j.currentScope = null, j; | |
| h = h.$parent | |
| } while (h); | |
| return j.currentScope = null, j | |
| }, | |
| $broadcast: function(a, c) { | |
| var d = this, | |
| e = this, | |
| f = { | |
| name: a, | |
| targetScope: this, | |
| preventDefault: function() { | |
| f.defaultPrevented = !0 | |
| }, | |
| defaultPrevented: !1 | |
| }; | |
| if (!this.$$listenerCount[a]) return f; | |
| for (var g, h, i = J([f], arguments, 1); d = e;) { | |
| for (f.currentScope = d, e = d.$$listeners[a] || [], g = 0, h = e.length; g < h; g++) | |
| if (e[g]) try { | |
| e[g].apply(null, i) | |
| } catch (a) { | |
| b(a) | |
| } else e.splice(g, 1), g--, h--; | |
| if (!(e = d.$$listenerCount[a] && d.$$childHead || d !== this && d.$$nextSibling)) | |
| for (; d !== this && !(e = d.$$nextSibling);) d = d.$parent | |
| } | |
| return f.currentScope = null, f | |
| } | |
| }; | |
| var w = new n, | |
| y = w.$$asyncQueue = [], | |
| z = w.$$postDigestQueue = [], | |
| A = w.$$applyAsyncQueue = [], | |
| B = 0; | |
| return w | |
| }] | |
| } | |
| function Zb() { | |
| var a = /^\s*(https?|ftp|mailto|tel|file):/, | |
| b = /^\s*((https?|ftp|file|blob):|data:image\/)/; | |
| this.aHrefSanitizationWhitelist = function(b) { | |
| return r(b) ? (a = b, this) : a | |
| }, this.imgSrcSanitizationWhitelist = function(a) { | |
| return r(a) ? (b = a, this) : b | |
| }, this.$get = function() { | |
| return function(c, d) { | |
| var e, f = d ? b : a; | |
| return e = gc(c).href, "" === e || e.match(f) ? c : "unsafe:" + e | |
| } | |
| } | |
| } | |
| function $b(a) { | |
| if ("self" === a) return a; | |
| if (u(a)) { | |
| if (-1 < a.indexOf("***")) throw ve("iwcard", a); | |
| return a = id(a).replace("\\*\\*", ".*").replace("\\*", "[^:/.?&;]*"), new RegExp("^" + a + "$") | |
| } | |
| if (y(a)) return new RegExp("^" + a.source + "$"); | |
| throw ve("imatcher") | |
| } | |
| function _b(a) { | |
| var b = []; | |
| return r(a) && d(a, function(a) { | |
| b.push($b(a)) | |
| }), b | |
| } | |
| function ac() { | |
| this.SCE_CONTEXTS = we; | |
| var a = ["self"], | |
| b = []; | |
| this.resourceUrlWhitelist = function(b) { | |
| return arguments.length && (a = _b(b)), a | |
| }, this.resourceUrlBlacklist = function(a) { | |
| return arguments.length && (b = _b(a)), b | |
| }, this.$get = ["$injector", function(c) { | |
| function d(a, b) { | |
| return "self" === a ? hc(b) : !!a.exec(b.href) | |
| } | |
| function e(a) { | |
| var b = function(a) { | |
| this.$$unwrapTrustedValue = function() { | |
| return a | |
| } | |
| }; | |
| return a && (b.prototype = new a), b.prototype.valueOf = function() { | |
| return this.$$unwrapTrustedValue() | |
| }, b.prototype.toString = function() { | |
| return this.$$unwrapTrustedValue().toString() | |
| }, b | |
| } | |
| var f = function(a) { | |
| throw ve("unsafe") | |
| }; | |
| c.has("$sanitize") && (f = c.get("$sanitize")); | |
| var g = e(), | |
| h = {}; | |
| return h[we.HTML] = e(g), h[we.CSS] = e(g), h[we.URL] = e(g), h[we.JS] = e(g), h[we.RESOURCE_URL] = e(h[we.URL]), { | |
| trustAs: function(a, b) { | |
| var c = h.hasOwnProperty(a) ? h[a] : null; | |
| if (!c) throw ve("icontext", a, b); | |
| if (null === b || q(b) || "" === b) return b; | |
| if ("string" != typeof b) throw ve("itype", a); | |
| return new c(b) | |
| }, | |
| getTrusted: function(c, e) { | |
| if (null === e || q(e) || "" === e) return e; | |
| var g = h.hasOwnProperty(c) ? h[c] : null; | |
| if (g && e instanceof g) return e.$$unwrapTrustedValue(); | |
| if (c === we.RESOURCE_URL) { | |
| var i, j, g = gc(e.toString()), | |
| k = !1; | |
| for (i = 0, j = a.length; i < j; i++) | |
| if (d(a[i], g)) { | |
| k = !0; | |
| break | |
| } | |
| if (k) | |
| for (i = 0, j = b.length; i < j; i++) | |
| if (d(b[i], g)) { | |
| k = !1; | |
| break | |
| } | |
| if (k) return e; | |
| throw ve("insecurl", e.toString()) | |
| } | |
| if (c === we.HTML) return f(e); | |
| throw ve("unsafe") | |
| }, | |
| valueOf: function(a) { | |
| return a instanceof g ? a.$$unwrapTrustedValue() : a | |
| } | |
| } | |
| }] | |
| } | |
| function bc() { | |
| var a = !0; | |
| this.enabled = function(b) { | |
| return arguments.length && (a = !!b), a | |
| }, this.$get = ["$parse", "$sceDelegate", function(b, c) { | |
| if (a && 8 > Rc) throw ve("iequirks"); | |
| var e = ia(we); | |
| e.isEnabled = function() { | |
| return a | |
| }, e.trustAs = c.trustAs, e.getTrusted = c.getTrusted, e.valueOf = c.valueOf, a || (e.trustAs = e.getTrusted = function(a, b) { | |
| return b | |
| }, e.valueOf = n), e.parseAs = function(a, c) { | |
| var d = b(c); | |
| return d.literal && d.constant ? d : b(c, function(b) { | |
| return e.getTrusted(a, b) | |
| }) | |
| }; | |
| var f = e.parseAs, | |
| g = e.getTrusted, | |
| h = e.trustAs; | |
| return d(we, function(a, b) { | |
| var c = Xc(b); | |
| e[ka("parse_as_" + c)] = function(b) { | |
| return f(a, b) | |
| }, e[ka("get_trusted_" + c)] = function(b) { | |
| return g(a, b) | |
| }, e[ka("trust_as_" + c)] = function(b) { | |
| return h(a, b) | |
| } | |
| }), e | |
| }] | |
| } | |
| function cc() { | |
| this.$get = ["$window", "$document", function(a, b) { | |
| var c, d = {}, | |
| e = !(a.chrome && a.chrome.app && a.chrome.app.runtime) && a.history && a.history.pushState, | |
| f = k((/android (\d+)/.exec(Xc((a.navigator || {}).userAgent)) || [])[1]), | |
| g = /Boxee/i.test((a.navigator || {}).userAgent), | |
| h = b[0] || {}, | |
| i = /^(Moz|webkit|ms)(?=[A-Z])/, | |
| j = h.body && h.body.style, | |
| l = !1, | |
| m = !1; | |
| if (j) { | |
| for (var n in j) | |
| if (l = i.exec(n)) { | |
| c = l[0], c = c[0].toUpperCase() + c.substr(1); | |
| break | |
| } | |
| c || (c = "WebkitOpacity" in j && "webkit"), l = !!("transition" in j || c + "Transition" in j), m = !!("animation" in j || c + "Animation" in j), !f || l && m || (l = u(j.webkitTransition), m = u(j.webkitAnimation)) | |
| } | |
| return { | |
| history: !(!e || 4 > f || g), | |
| hasEvent: function(a) { | |
| if ("input" === a && 11 >= Rc) return !1; | |
| if (q(d[a])) { | |
| var b = h.createElement("div"); | |
| d[a] = "on" + a in b | |
| } | |
| return d[a] | |
| }, | |
| csp: jd(), | |
| vendorPrefix: c, | |
| transitions: l, | |
| animations: m, | |
| android: f | |
| } | |
| }] | |
| } | |
| function dc() { | |
| var a; | |
| this.httpOptions = function(b) { | |
| return b ? (a = b, this) : a | |
| }, this.$get = ["$templateCache", "$http", "$q", "$sce", function(b, c, d, e) { | |
| function f(g, h) { | |
| f.totalPendingRequests++, u(g) && !q(b.get(g)) || (g = e.getTrustedResourceUrl(g)); | |
| var j = c.defaults && c.defaults.transformResponse; | |
| return fd(j) ? j = j.filter(function(a) { | |
| return a !== gb | |
| }) : j === gb && (j = null), c.get(g, i({ | |
| cache: b, | |
| transformResponse: j | |
| }, a)).finally(function() { | |
| f.totalPendingRequests-- | |
| }).then(function(a) { | |
| return b.put(g, a.data), a.data | |
| }, function(a) { | |
| if (!h) throw xe("tpload", g, a.status, a.statusText); | |
| return d.reject(a) | |
| }) | |
| } | |
| return f.totalPendingRequests = 0, f | |
| }] | |
| } | |
| function ec() { | |
| this.$get = ["$rootScope", "$browser", "$location", function(a, b, c) { | |
| return { | |
| findBindings: function(a, b, c) { | |
| a = a.getElementsByClassName("ng-binding"); | |
| var e = []; | |
| return d(a, function(a) { | |
| var f = dd.element(a).data("$binding"); | |
| f && d(f, function(d) { | |
| c ? new RegExp("(^|\\s)" + id(b) + "(\\s|\\||$)").test(d) && e.push(a) : -1 != d.indexOf(b) && e.push(a) | |
| }) | |
| }), e | |
| }, | |
| findModels: function(a, b, c) { | |
| for (var d = ["ng-", "data-ng-", "ng\\:"], e = 0; e < d.length; ++e) { | |
| var f = a.querySelectorAll("[" + d[e] + "model" + (c ? "=" : "*=") + '"' + b + '"]'); | |
| if (f.length) return f | |
| } | |
| }, | |
| getLocation: function() { | |
| return c.url() | |
| }, | |
| setLocation: function(b) { | |
| b !== c.url() && (c.url(b), a.$digest()) | |
| }, | |
| whenStable: function(a) { | |
| b.notifyWhenNoOutstandingRequests(a) | |
| } | |
| } | |
| }] | |
| } | |
| function fc() { | |
| this.$get = ["$rootScope", "$browser", "$q", "$$q", "$exceptionHandler", function(a, b, c, d, e) { | |
| function f(f, h, i) { | |
| x(f) || (i = h, h = f, f = m); | |
| var j, k = Zc.call(arguments, 3), | |
| l = r(i) && !i, | |
| n = (l ? d : c).defer(), | |
| o = n.promise; | |
| return j = b.defer(function() { | |
| try { | |
| n.resolve(f.apply(null, k)) | |
| } catch (a) { | |
| n.reject(a), e(a) | |
| } finally { | |
| delete g[o.$$timeoutId] | |
| } | |
| l || a.$apply() | |
| }, h), o.$$timeoutId = j, g[j] = n, o | |
| } | |
| var g = {}; | |
| return f.cancel = function(a) { | |
| return !!(a && a.$$timeoutId in g) && (g[a.$$timeoutId].reject("canceled"), delete g[a.$$timeoutId], b.defer.cancel(a.$$timeoutId)) | |
| }, f | |
| }] | |
| } | |
| function gc(a) { | |
| return Rc && (ye.setAttribute("href", a), a = ye.href), ye.setAttribute("href", a), { | |
| href: ye.href, | |
| protocol: ye.protocol ? ye.protocol.replace(/:$/, "") : "", | |
| host: ye.host, | |
| search: ye.search ? ye.search.replace(/^\?/, "") : "", | |
| hash: ye.hash ? ye.hash.replace(/^#/, "") : "", | |
| hostname: ye.hostname, | |
| port: ye.port, | |
| pathname: "/" === ye.pathname.charAt(0) ? ye.pathname : "/" + ye.pathname | |
| } | |
| } | |
| function hc(a) { | |
| return a = u(a) ? gc(a) : a, a.protocol === ze.protocol && a.host === ze.host | |
| } | |
| function ic() { | |
| this.$get = o(a) | |
| } | |
| function jc(a) { | |
| function b(a) { | |
| try { | |
| return decodeURIComponent(a) | |
| } catch (b) { | |
| return a | |
| } | |
| } | |
| var c = a[0] || {}, | |
| d = {}, | |
| e = ""; | |
| return function() { | |
| var a, f, g, h, i; | |
| if (a = c.cookie || "", a !== e) | |
| for (e = a, a = e.split("; "), d = {}, g = 0; g < a.length; g++) f = a[g], h = f.indexOf("="), 0 < h && (i = b(f.substring(0, h)), q(d[i]) && (d[i] = b(f.substring(h + 1)))); | |
| return d | |
| } | |
| } | |
| function kc() { | |
| this.$get = jc | |
| } | |
| function lc(a) { | |
| function b(c, e) { | |
| if (s(c)) { | |
| var f = {}; | |
| return d(c, function(a, c) { | |
| f[c] = b(c, a) | |
| }), f | |
| } | |
| return a.factory(c + "Filter", e) | |
| } | |
| this.register = b, this.$get = ["$injector", function(a) { | |
| return function(b) { | |
| return a.get(b + "Filter") | |
| } | |
| }], b("currency", qc), b("date", Bc), b("filter", mc), b("json", Cc), b("limitTo", Dc), b("lowercase", Ge), b("number", rc), b("orderBy", Fc), b("uppercase", He) | |
| } | |
| function mc() { | |
| return function(a, d, e) { | |
| if (!c(a)) { | |
| if (null == a) return a; | |
| throw b("filter")("notarray", a) | |
| } | |
| var f; | |
| switch (pc(d)) { | |
| case "function": | |
| break; | |
| case "boolean": | |
| case "null": | |
| case "number": | |
| case "string": | |
| f = !0; | |
| case "object": | |
| d = nc(d, e, f); | |
| break; | |
| default: | |
| return a | |
| } | |
| return Array.prototype.filter.call(a, d) | |
| } | |
| } | |
| function nc(a, b, c) { | |
| var d = s(a) && "$" in a; | |
| return !0 === b ? b = I : x(b) || (b = function(a, b) { | |
| return !q(a) && (null === a || null === b ? a === b : !(s(b) || s(a) && !p(a)) && (a = Xc("" + a), b = Xc("" + b), -1 !== a.indexOf(b))) | |
| }), | |
| function(e) { | |
| return d && !s(e) ? oc(e, a.$, b, !1) : oc(e, a, b, c) | |
| } | |
| } | |
| function oc(a, b, c, d, e) { | |
| var f = pc(a), | |
| g = pc(b); | |
| if ("string" === g && "!" === b.charAt(0)) return !oc(a, b.substring(1), c, d); | |
| if (fd(a)) return a.some(function(a) { | |
| return oc(a, b, c, d) | |
| }); | |
| switch (f) { | |
| case "object": | |
| var h; | |
| if (d) { | |
| for (h in a) | |
| if ("$" !== h.charAt(0) && oc(a[h], b, c, !0)) return !0; | |
| return !e && oc(a, b, c, !1) | |
| } | |
| if ("object" === g) { | |
| for (h in b) | |
| if (e = b[h], !x(e) && !q(e) && (f = "$" === h, !oc(f ? a : a[h], e, c, f, f))) return !1; | |
| return !0 | |
| } | |
| return c(a, b); | |
| case "function": | |
| return !1; | |
| default: | |
| return c(a, b) | |
| } | |
| } | |
| function pc(a) { | |
| return null === a ? "null" : typeof a | |
| } | |
| function qc(a) { | |
| var b = a.NUMBER_FORMATS; | |
| return function(a, c, d) { | |
| return q(c) && (c = b.CURRENCY_SYM), q(d) && (d = b.PATTERNS[1].maxFrac), null == a ? a : uc(a, b.PATTERNS[1], b.GROUP_SEP, b.DECIMAL_SEP, d).replace(/\u00A4/g, c) | |
| } | |
| } | |
| function rc(a) { | |
| var b = a.NUMBER_FORMATS; | |
| return function(a, c) { | |
| return null == a ? a : uc(a, b.PATTERNS[0], b.GROUP_SEP, b.DECIMAL_SEP, c) | |
| } | |
| } | |
| function sc(a) { | |
| var b, c, d, e, f, g = 0; | |
| for (-1 < (c = a.indexOf(Be)) && (a = a.replace(Be, "")), 0 < (d = a.search(/e/i)) ? (0 > c && (c = d), c += +a.slice(d + 1), a = a.substring(0, d)) : 0 > c && (c = a.length), d = 0; a.charAt(d) == Ce; d++); | |
| if (d == (f = a.length)) b = [0], c = 1; | |
| else { | |
| for (f--; a.charAt(f) == Ce;) f--; | |
| for (c -= d, b = [], e = 0; d <= f; d++, e++) b[e] = +a.charAt(d) | |
| } | |
| return c > Ae && (b = b.splice(0, Ae - 1), g = c - 1, c = 1), { | |
| d: b, | |
| e: g, | |
| i: c | |
| } | |
| } | |
| function tc(a, b, c, d) { | |
| var e = a.d, | |
| f = e.length - a.i; | |
| if (b = q(b) ? Math.min(Math.max(c, f), d) : +b, c = b + a.i, d = e[c], 0 < c) { | |
| e.splice(Math.max(a.i, c)); | |
| for (var g = c; g < e.length; g++) e[g] = 0 | |
| } else | |
| for (f = Math.max(0, f), a.i = 1, e.length = Math.max(1, c = b + 1), e[0] = 0, g = 1; g < c; g++) e[g] = 0; | |
| if (5 <= d) | |
| if (0 > c - 1) { | |
| for (d = 0; d > c; d--) e.unshift(0), a.i++; | |
| e.unshift(1), a.i++ | |
| } else e[c - 1]++; | |
| for (; f < Math.max(0, b); f++) e.push(0); | |
| (b = e.reduceRight(function(a, b, c, d) { | |
| return b += a, d[c] = b % 10, Math.floor(b / 10) | |
| }, 0)) && (e.unshift(b), a.i++) | |
| } | |
| function uc(a, b, c, d, e) { | |
| if (!u(a) && !v(a) || isNaN(a)) return ""; | |
| var f = !isFinite(a), | |
| g = !1, | |
| h = Math.abs(a) + "", | |
| i = ""; | |
| if (f) i = "∞"; | |
| else { | |
| for (g = sc(h), tc(g, e, b.minFrac, b.maxFrac), i = g.d, h = g.i, e = g.e, f = [], g = i.reduce(function(a, b) { | |
| return a && !b | |
| }, !0); 0 > h;) i.unshift(0), h++; | |
| for (0 < h ? f = i.splice(h, i.length) : (f = i, i = [0]), h = [], i.length >= b.lgSize && h.unshift(i.splice(-b.lgSize, i.length).join("")); i.length > b.gSize;) h.unshift(i.splice(-b.gSize, i.length).join("")); | |
| i.length && h.unshift(i.join("")), i = h.join(c), f.length && (i += d + f.join("")), e && (i += "e+" + e) | |
| } | |
| return 0 > a && !g ? b.negPre + i + b.negSuf : b.posPre + i + b.posSuf | |
| } | |
| function vc(a, b, c, d) { | |
| var e = ""; | |
| for ((0 > a || d && 0 >= a) && (d ? a = -a + 1 : (a = -a, e = "-")), a = "" + a; a.length < b;) a = Ce + a; | |
| return c && (a = a.substr(a.length - b)), e + a | |
| } | |
| function wc(a, b, c, d, e) { | |
| return c = c || 0, | |
| function(f) { | |
| return f = f["get" + a](), (0 < c || f > -c) && (f += c), 0 === f && -12 == c && (f = 12), vc(f, b, d, e) | |
| } | |
| } | |
| function xc(a, b, c) { | |
| return function(d, e) { | |
| var f = d["get" + a](), | |
| g = Yc((c ? "STANDALONE" : "") + (b ? "SHORT" : "") + a); | |
| return e[g][f] | |
| } | |
| } | |
| function yc(a) { | |
| var b = new Date(a, 0, 1).getDay(); | |
| return new Date(a, 0, (4 >= b ? 5 : 12) - b) | |
| } | |
| function zc(a) { | |
| return function(b) { | |
| var c = yc(b.getFullYear()); | |
| return b = +new Date(b.getFullYear(), b.getMonth(), b.getDate() + (4 - b.getDay())) - +c, b = 1 + Math.round(b / 6048e5), vc(b, a) | |
| } | |
| } | |
| function Ac(a, b) { | |
| return 0 >= a.getFullYear() ? b.ERAS[0] : b.ERAS[1] | |
| } | |
| function Bc(a) { | |
| function b(a) { | |
| var b; | |
| if (b = a.match(c)) { | |
| a = new Date(0); | |
| var d = 0, | |
| e = 0, | |
| f = b[8] ? a.setUTCFullYear : a.setFullYear, | |
| g = b[8] ? a.setUTCHours : a.setHours; | |
| b[9] && (d = k(b[9] + b[10]), e = k(b[9] + b[11])), f.call(a, k(b[1]), k(b[2]) - 1, k(b[3])), d = k(b[4] || 0) - d, e = k(b[5] || 0) - e, f = k(b[6] || 0), b = Math.round(1e3 * parseFloat("0." + (b[7] || 0))), g.call(a, d, e, f, b) | |
| } | |
| return a | |
| } | |
| var c = /^(\d{4})-?(\d\d)-?(\d\d)(?:T(\d\d)(?::?(\d\d)(?::?(\d\d)(?:\.(\d+))?)?)?(Z|([+-])(\d\d):?(\d\d))?)?$/; | |
| return function(c, e, f) { | |
| var g, h, i = "", | |
| j = []; | |
| if (e = e || "mediumDate", e = a.DATETIME_FORMATS[e] || e, u(c) && (c = Fe.test(c) ? k(c) : b(c)), v(c) && (c = new Date(c)), !w(c) || !isFinite(c.getTime())) return c; | |
| for (; e;)(h = Ee.exec(e)) ? (j = J(j, h, 1), e = j.pop()) : (j.push(e), e = null); | |
| var l = c.getTimezoneOffset(); | |
| return f && (l = O(f, l), c = P(c, f, !0)), d(j, function(b) { | |
| g = De[b], i += g ? g(c, a.DATETIME_FORMATS, l) : "''" === b ? "'" : b.replace(/(^'|'$)/g, "").replace(/''/g, "'") | |
| }), i | |
| } | |
| } | |
| function Cc() { | |
| return function(a, b) { | |
| return q(b) && (b = 2), M(a, b) | |
| } | |
| } | |
| function Dc() { | |
| return function(a, b, d) { | |
| return b = 1 / 0 === Math.abs(Number(b)) ? Number(b) : k(b), isNaN(b) ? a : (v(a) && (a = a.toString()), c(a) ? (d = !d || isNaN(d) ? 0 : k(d), d = 0 > d ? Math.max(0, a.length + d) : d, 0 <= b ? Ec(a, d, d + b) : 0 === d ? Ec(a, b, a.length) : Ec(a, Math.max(0, d + b), d)) : a) | |
| } | |
| } | |
| function Ec(a, b, c) { | |
| return u(a) ? a.slice(b, c) : Zc.call(a, b, c) | |
| } | |
| function Fc(a) { | |
| function d(b) { | |
| return b.map(function(b) { | |
| var c = 1, | |
| d = n; | |
| if (x(b)) d = b; | |
| else if (u(b) && ("+" != b.charAt(0) && "-" != b.charAt(0) || (c = "-" == b.charAt(0) ? -1 : 1, b = b.substring(1)), "" !== b && (d = a(b), d.constant))) var e = d(), | |
| d = function(a) { | |
| return a[e] | |
| }; | |
| return { | |
| get: d, | |
| descending: c | |
| } | |
| }) | |
| } | |
| function e(a) { | |
| switch (typeof a) { | |
| case "number": | |
| case "boolean": | |
| case "string": | |
| return !0; | |
| default: | |
| return !1 | |
| } | |
| } | |
| function f(a, b) { | |
| var c = 0, | |
| d = a.type, | |
| e = b.type; | |
| if (d === e) { | |
| var e = a.value, | |
| f = b.value; | |
| "string" === d ? (e = e.toLowerCase(), f = f.toLowerCase()) : "object" === d && (s(e) && (e = a.index), s(f) && (f = b.index)), e !== f && (c = e < f ? -1 : 1) | |
| } else c = d < e ? -1 : 1; | |
| return c | |
| } | |
| return function(a, g, h, i) { | |
| if (null == a) return a; | |
| if (!c(a)) throw b("orderBy")("notarray", a); | |
| fd(g) || (g = [g]), 0 === g.length && (g = ["+"]); | |
| var j = d(g), | |
| k = h ? -1 : 1, | |
| l = x(i) ? i : f; | |
| return a = Array.prototype.map.call(a, function(a, b) { | |
| return { | |
| value: a, | |
| tieBreaker: { | |
| value: b, | |
| type: "number", | |
| index: b | |
| }, | |
| predicateValues: j.map(function(c) { | |
| var d = c.get(a); | |
| return c = typeof d, null === d ? (c = "string", d = "null") : "object" === c && (x(d.valueOf) && (d = d.valueOf(), e(d)) || p(d) && (d = d.toString(), e(d))), { | |
| value: d, | |
| type: c, | |
| index: b | |
| } | |
| }) | |
| } | |
| }), a.sort(function(a, b) { | |
| for (var c = 0, d = j.length; c < d; c++) { | |
| var e = l(a.predicateValues[c], b.predicateValues[c]); | |
| if (e) return e * j[c].descending * k | |
| } | |
| return l(a.tieBreaker, b.tieBreaker) * k | |
| }), a = a.map(function(a) { | |
| return a.value | |
| }) | |
| } | |
| } | |
| function Gc(a) { | |
| return x(a) && (a = { | |
| link: a | |
| }), a.restrict = a.restrict || "AC", o(a) | |
| } | |
| function Hc(a, b, c, e, f) { | |
| var g = this, | |
| h = []; | |
| g.$error = {}, g.$$success = {}, g.$pending = void 0, g.$name = f(b.name || b.ngForm || "")(c), g.$dirty = !1, g.$pristine = !0, g.$valid = !0, g.$invalid = !1, g.$submitted = !1, g.$$parentForm = Ke, g.$rollbackViewValue = function() { | |
| d(h, function(a) { | |
| a.$rollbackViewValue() | |
| }) | |
| }, g.$commitViewValue = function() { | |
| d(h, function(a) { | |
| a.$commitViewValue() | |
| }) | |
| }, g.$addControl = function(a) { | |
| da(a.$name, "input"), h.push(a), a.$name && (g[a.$name] = a), a.$$parentForm = g | |
| }, g.$$renameControl = function(a, b) { | |
| var c = a.$name; | |
| g[c] === a && delete g[c], g[b] = a, a.$name = b | |
| }, g.$removeControl = function(a) { | |
| a.$name && g[a.$name] === a && delete g[a.$name], d(g.$pending, function(b, c) { | |
| g.$setValidity(c, null, a) | |
| }), d(g.$error, function(b, c) { | |
| g.$setValidity(c, null, a) | |
| }), d(g.$$success, function(b, c) { | |
| g.$setValidity(c, null, a) | |
| }), G(h, a), a.$$parentForm = Ke | |
| }, Pc({ | |
| ctrl: this, | |
| $element: a, | |
| set: function(a, b, c) { | |
| var d = a[b]; | |
| d ? -1 === d.indexOf(c) && d.push(c) : a[b] = [c] | |
| }, | |
| unset: function(a, b, c) { | |
| var d = a[b]; | |
| d && (G(d, c), 0 === d.length && delete a[b]) | |
| }, | |
| $animate: e | |
| }), g.$setDirty = function() { | |
| e.removeClass(a, tf), e.addClass(a, uf), g.$dirty = !0, g.$pristine = !1, g.$$parentForm.$setDirty() | |
| }, g.$setPristine = function() { | |
| e.setClass(a, tf, uf + " ng-submitted"), g.$dirty = !1, g.$pristine = !0, g.$submitted = !1, d(h, function(a) { | |
| a.$setPristine() | |
| }) | |
| }, g.$setUntouched = function() { | |
| d(h, function(a) { | |
| a.$setUntouched() | |
| }) | |
| }, g.$setSubmitted = function() { | |
| e.addClass(a, "ng-submitted"), g.$submitted = !0, g.$$parentForm.$setSubmitted() | |
| } | |
| } | |
| function Ic(a) { | |
| a.$formatters.push(function(b) { | |
| return a.$isEmpty(b) ? b : b.toString() | |
| }) | |
| } | |
| function Jc(a, b, c, d, e, f) { | |
| var g = Xc(b[0].type); | |
| if (!e.android) { | |
| var h = !1; | |
| b.on("compositionstart", function() { | |
| h = !0 | |
| }), b.on("compositionend", function() { | |
| h = !1, j() | |
| }) | |
| } | |
| var i, j = function(a) { | |
| if (i && (f.defer.cancel(i), i = null), !h) { | |
| var e = b.val(); | |
| a = a && a.type, "password" === g || c.ngTrim && "false" === c.ngTrim || (e = hd(e)), (d.$viewValue !== e || "" === e && d.$$hasNativeValidators) && d.$setViewValue(e, a) | |
| } | |
| }; | |
| if (e.hasEvent("input")) b.on("input", j); | |
| else { | |
| var k = function(a, b, c) { | |
| i || (i = f.defer(function() { | |
| i = null, b && b.value === c || j(a) | |
| })) | |
| }; | |
| b.on("keydown", function(a) { | |
| var b = a.keyCode; | |
| 91 === b || 15 < b && 19 > b || 37 <= b && 40 >= b || k(a, this, this.value) | |
| }), e.hasEvent("paste") && b.on("paste cut", k) | |
| } | |
| b.on("change", j), Xe[g] && d.$$hasNativeValidators && g === c.type && b.on("keydown wheel mousedown", function(a) { | |
| if (!i) { | |
| var b = this.validity, | |
| c = b.badInput, | |
| d = b.typeMismatch; | |
| i = f.defer(function() { | |
| i = null, b.badInput === c && b.typeMismatch === d || j(a) | |
| }) | |
| } | |
| }), d.$render = function() { | |
| var a = d.$isEmpty(d.$viewValue) ? "" : d.$viewValue; | |
| b.val() !== a && b.val(a) | |
| } | |
| } | |
| function Kc(a, b) { | |
| return function(c, e) { | |
| var f, g; | |
| if (w(c)) return c; | |
| if (u(c)) { | |
| if ('"' == c.charAt(0) && '"' == c.charAt(c.length - 1) && (c = c.substring(1, c.length - 1)), Oe.test(c)) return new Date(c); | |
| if (a.lastIndex = 0, f = a.exec(c)) return f.shift(), g = e ? { | |
| yyyy: e.getFullYear(), | |
| MM: e.getMonth() + 1, | |
| dd: e.getDate(), | |
| HH: e.getHours(), | |
| mm: e.getMinutes(), | |
| ss: e.getSeconds(), | |
| sss: e.getMilliseconds() / 1e3 | |
| } : { | |
| yyyy: 1970, | |
| MM: 1, | |
| dd: 1, | |
| HH: 0, | |
| mm: 0, | |
| ss: 0, | |
| sss: 0 | |
| }, d(f, function(a, c) { | |
| c < b.length && (g[b[c]] = +a) | |
| }), new Date(g.yyyy, g.MM - 1, g.dd, g.HH, g.mm, g.ss || 0, 1e3 * g.sss || 0) | |
| } | |
| return NaN | |
| } | |
| } | |
| function Lc(a, b, c, d) { | |
| return function(e, f, g, h, i, j, k) { | |
| function l(a) { | |
| return a && !(a.getTime && a.getTime() !== a.getTime()) | |
| } | |
| function m(a) { | |
| return r(a) && !w(a) ? c(a) || void 0 : a | |
| } | |
| Mc(e, f, g, h), Jc(e, f, g, h, i, j); | |
| var n, o = h && h.$options && h.$options.timezone; | |
| if (h.$$parserName = a, h.$parsers.push(function(a) { | |
| return h.$isEmpty(a) ? null : b.test(a) ? (a = c(a, n), o && (a = P(a, o)), a) : void 0 | |
| }), h.$formatters.push(function(a) { | |
| if (a && !w(a)) throw wf("datefmt", a); | |
| return l(a) ? ((n = a) && o && (n = P(n, o, !0)), k("date")(a, d, o)) : (n = null, "") | |
| }), r(g.min) || g.ngMin) { | |
| var p; | |
| h.$validators.min = function(a) { | |
| return !l(a) || q(p) || c(a) >= p | |
| }, g.$observe("min", function(a) { | |
| p = m(a), h.$validate() | |
| }) | |
| } | |
| if (r(g.max) || g.ngMax) { | |
| var s; | |
| h.$validators.max = function(a) { | |
| return !l(a) || q(s) || c(a) <= s | |
| }, g.$observe("max", function(a) { | |
| s = m(a), h.$validate() | |
| }) | |
| } | |
| } | |
| } | |
| function Mc(a, b, c, d) { | |
| (d.$$hasNativeValidators = s(b[0].validity)) && d.$parsers.push(function(a) { | |
| var c = b.prop("validity") || {}; | |
| return c.badInput || c.typeMismatch ? void 0 : a | |
| }) | |
| } | |
| function Nc(a, b, c, d, e) { | |
| if (r(d)) { | |
| if (a = a(d), !a.constant) throw wf("constexpr", c, d); | |
| return a(b) | |
| } | |
| return e | |
| } | |
| function Oc(a, b) { | |
| return a = "ngClass" + a, ["$animate", function(c) { | |
| function e(a, b) { | |
| var c = [], | |
| d = 0; | |
| a: for (; d < a.length; d++) { | |
| for (var e = a[d], f = 0; f < b.length; f++) | |
| if (e == b[f]) continue a; | |
| c.push(e) | |
| } | |
| return c | |
| } | |
| function f(a) { | |
| var b = []; | |
| return fd(a) ? (d(a, function(a) { | |
| b = b.concat(f(a)) | |
| }), b) : u(a) ? a.split(" ") : s(a) ? (d(a, function(a, c) { | |
| a && (b = b.concat(c.split(" "))) | |
| }), b) : a | |
| } | |
| return { | |
| restrict: "AC", | |
| link: function(g, h, i) { | |
| function j(a) { | |
| a = k(a, 1), i.$addClass(a) | |
| } | |
| function k(a, b) { | |
| var c = h.data("$classCounts") || ga(), | |
| e = []; | |
| return d(a, function(a) { | |
| (0 < b || c[a]) && (c[a] = (c[a] || 0) + b, c[a] === +(0 < b) && e.push(a)) | |
| }), h.data("$classCounts", c), e.join(" ") | |
| } | |
| function l(a, b) { | |
| var d = e(b, a), | |
| f = e(a, b), | |
| d = k(d, 1), | |
| f = k(f, -1); | |
| d && d.length && c.addClass(h, d), f && f.length && c.removeClass(h, f) | |
| } | |
| function m(a) { | |
| if (!0 === b || (1 & g.$index) === b) { | |
| var c = f(a || []); | |
| if (n) { | |
| if (!I(a, n)) { | |
| var d = f(n); | |
| l(d, c) | |
| } | |
| } else j(c) | |
| } | |
| n = fd(a) ? a.map(function(a) { | |
| return ia(a) | |
| }) : ia(a) | |
| } | |
| var n; | |
| g.$watch(i[a], m, !0), i.$observe("class", function(b) { | |
| m(g.$eval(i[a])) | |
| }), "ngClass" !== a && g.$watch("$index", function(c, d) { | |
| var e = 1 & c; | |
| if (e !== (1 & d)) { | |
| var h = f(g.$eval(i[a])); | |
| e === b ? j(h) : (e = k(h, -1), i.$removeClass(e)) | |
| } | |
| }) | |
| } | |
| } | |
| }] | |
| } | |
| function Pc(a) { | |
| function b(a, b) { | |
| b && !f[a] ? (i.addClass(e, a), f[a] = !0) : !b && f[a] && (i.removeClass(e, a), f[a] = !1) | |
| } | |
| function c(a, c) { | |
| a = a ? "-" + _(a, "-") : "", b(rf + a, !0 === c), b(sf + a, !1 === c) | |
| } | |
| var d = a.ctrl, | |
| e = a.$element, | |
| f = {}, | |
| g = a.set, | |
| h = a.unset, | |
| i = a.$animate; | |
| f[sf] = !(f[rf] = e.hasClass(rf)), d.$setValidity = function(a, e, f) { | |
| q(e) ? (d.$pending || (d.$pending = {}), g(d.$pending, a, f)) : (d.$pending && h(d.$pending, a, f), Qc(d.$pending) && (d.$pending = void 0)), B(e) ? e ? (h(d.$error, a, f), g(d.$$success, a, f)) : (g(d.$error, a, f), h(d.$$success, a, f)) : (h(d.$error, a, f), h(d.$$success, a, f)), d.$pending ? (b(vf, !0), d.$valid = d.$invalid = void 0, c("", null)) : (b(vf, !1), d.$valid = Qc(d.$error), d.$invalid = !d.$valid, c("", d.$valid)), e = d.$pending && d.$pending[a] ? void 0 : !d.$error[a] && (!!d.$$success[a] || null), c(a, e), d.$$parentForm.$setValidity(a, e, d) | |
| } | |
| } | |
| function Qc(a) { | |
| if (a) | |
| for (var b in a) | |
| if (a.hasOwnProperty(b)) return !1; | |
| return !0 | |
| } | |
| var Rc, Sc, Tc, Uc, Vc = /^\/(.+)\/([a-z]*)$/, | |
| Wc = Object.prototype.hasOwnProperty, | |
| Xc = function(a) { | |
| return u(a) ? a.toLowerCase() : a | |
| }, | |
| Yc = function(a) { | |
| return u(a) ? a.toUpperCase() : a | |
| }, | |
| Zc = [].slice, | |
| $c = [].splice, | |
| _c = [].push, | |
| ad = Object.prototype.toString, | |
| bd = Object.getPrototypeOf, | |
| cd = b("ng"), | |
| dd = a.angular || (a.angular = {}), | |
| ed = 0; | |
| Rc = a.document.documentMode, m.$inject = [], n.$inject = []; | |
| var fd = Array.isArray, | |
| gd = /^\[object (?:Uint8|Uint8Clamped|Uint16|Uint32|Int8|Int16|Int32|Float32|Float64)Array\]$/, | |
| hd = function(a) { | |
| return u(a) ? a.trim() : a | |
| }, | |
| id = function(a) { | |
| return a.replace(/([-()\[\]{}+?*.$\^|,:#<!\\])/g, "\\$1").replace(/\x08/g, "\\x08") | |
| }, | |
| jd = function() { | |
| if (!r(jd.rules)) { | |
| var b = a.document.querySelector("[ng-csp]") || a.document.querySelector("[data-ng-csp]"); | |
| if (b) { | |
| var c = b.getAttribute("ng-csp") || b.getAttribute("data-ng-csp"); | |
| jd.rules = { | |
| noUnsafeEval: !c || -1 !== c.indexOf("no-unsafe-eval"), | |
| noInlineStyle: !c || -1 !== c.indexOf("no-inline-style") | |
| } | |
| } else { | |
| b = jd; | |
| try { | |
| new Function(""), c = !1 | |
| } catch (a) { | |
| c = !0 | |
| } | |
| b.rules = { | |
| noUnsafeEval: c, | |
| noInlineStyle: !1 | |
| } | |
| } | |
| } | |
| return jd.rules | |
| }, | |
| kd = function() { | |
| if (r(kd.name_)) return kd.name_; | |
| var b, c, d, e, f = md.length; | |
| for (c = 0; c < f; ++c) | |
| if (d = md[c], b = a.document.querySelector("[" + d.replace(":", "\\:") + "jq]")) { | |
| e = b.getAttribute(d + "jq"); | |
| break | |
| } | |
| return kd.name_ = e | |
| }, | |
| ld = /:/g, | |
| md = ["ng-", "data-ng-", "ng:", "x-ng-"], | |
| nd = /[A-Z]/g, | |
| od = !1, | |
| pd = 3, | |
| qd = { | |
| full: "1.5.7", | |
| major: 1, | |
| minor: 5, | |
| dot: 7, | |
| codeName: "hexagonal-circumvolution" | |
| }; | |
| oa.expando = "ng339"; | |
| var rd = oa.cache = {}, | |
| sd = 1; | |
| oa._data = function(a) { | |
| return this.cache[a[this.expando]] || {} | |
| }; | |
| var td = /([\:\-\_]+(.))/g, | |
| ud = /^moz([A-Z])/, | |
| vd = { | |
| mouseleave: "mouseout", | |
| mouseenter: "mouseover" | |
| }, | |
| wd = b("jqLite"), | |
| xd = /^<([\w-]+)\s*\/?>(?:<\/\1>|)$/, | |
| yd = /<|&#?\w+;/, | |
| zd = /<([\w:-]+)/, | |
| Ad = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:-]+)[^>]*)\/>/gi, | |
| Bd = { | |
| option: [1, '<select multiple="multiple">', "</select>"], | |
| thead: [1, "<table>", "</table>"], | |
| col: [2, "<table><colgroup>", "</colgroup></table>"], | |
| tr: [2, "<table><tbody>", "</tbody></table>"], | |
| td: [3, "<table><tbody><tr>", "</tr></tbody></table>"], | |
| _default: [0, "", ""] | |
| }; | |
| Bd.optgroup = Bd.option, Bd.tbody = Bd.tfoot = Bd.colgroup = Bd.caption = Bd.thead, Bd.th = Bd.td; | |
| var Cd = a.Node.prototype.contains || function(a) { | |
| return !!(16 & this.compareDocumentPosition(a)) | |
| }, | |
| Dd = oa.prototype = { | |
| ready: function(b) { | |
| function c() { | |
| d || (d = !0, b()) | |
| } | |
| var d = !1; | |
| "complete" === a.document.readyState ? a.setTimeout(c) : (this.on("DOMContentLoaded", c), oa(a).on("load", c)) | |
| }, | |
| toString: function() { | |
| var a = []; | |
| return d(this, function(b) { | |
| a.push("" + b) | |
| }), "[" + a.join(", ") + "]" | |
| }, | |
| eq: function(a) { | |
| return Sc(0 <= a ? this[a] : this[this.length + a]) | |
| }, | |
| length: 0, | |
| push: _c, | |
| sort: [].sort, | |
| splice: [].splice | |
| }, | |
| Ed = {}; | |
| d("multiple selected checked disabled readOnly required open".split(" "), function(a) { | |
| Ed[Xc(a)] = a | |
| }); | |
| var Fd = {}; | |
| d("input select option textarea button form details".split(" "), function(a) { | |
| Fd[a] = !0 | |
| }); | |
| var Gd = { | |
| ngMinlength: "minlength", | |
| ngMaxlength: "maxlength", | |
| ngMin: "min", | |
| ngMax: "max", | |
| ngPattern: "pattern" | |
| }; | |
| d({ | |
| data: ua, | |
| removeData: sa, | |
| hasData: function(a) { | |
| for (var b in rd[a.ng339]) return !0; | |
| return !1 | |
| }, | |
| cleanData: function(a) { | |
| for (var b = 0, c = a.length; b < c; b++) sa(a[b]) | |
| } | |
| }, function(a, b) { | |
| oa[b] = a | |
| }), d({ | |
| data: ua, | |
| inheritedData: Aa, | |
| scope: function(a) { | |
| return Sc.data(a, "$scope") || Aa(a.parentNode || a, ["$isolateScope", "$scope"]) | |
| }, | |
| isolateScope: function(a) { | |
| return Sc.data(a, "$isolateScope") || Sc.data(a, "$isolateScopeNoTemplate") | |
| }, | |
| controller: za, | |
| injector: function(a) { | |
| return Aa(a, "$injector") | |
| }, | |
| removeAttr: function(a, b) { | |
| a.removeAttribute(b) | |
| }, | |
| hasClass: va, | |
| css: function(a, b, c) { | |
| return b = ka(b), r(c) ? void(a.style[b] = c) : a.style[b] | |
| }, | |
| attr: function(a, b, c) { | |
| var d = a.nodeType; | |
| if (d !== pd && 2 !== d && 8 !== d) | |
| if (d = Xc(b), Ed[d]) { | |
| if (!r(c)) return a[b] || (a.attributes.getNamedItem(b) || m).specified ? d : void 0; | |
| c ? (a[b] = !0, a.setAttribute(b, d)) : (a[b] = !1, a.removeAttribute(d)) | |
| } else if (r(c)) a.setAttribute(b, c); | |
| else if (a.getAttribute) return a = a.getAttribute(b, 2), null === a ? void 0 : a | |
| }, | |
| prop: function(a, b, c) { | |
| return r(c) ? void(a[b] = c) : a[b] | |
| }, | |
| text: function() { | |
| function a(a, b) { | |
| if (q(b)) { | |
| var c = a.nodeType; | |
| return 1 === c || c === pd ? a.textContent : "" | |
| } | |
| a.textContent = b | |
| } | |
| return a.$dv = "", a | |
| }(), | |
| val: function(a, b) { | |
| if (q(b)) { | |
| if (a.multiple && "select" === F(a)) { | |
| var c = []; | |
| return d(a.options, function(a) { | |
| a.selected && c.push(a.value || a.text) | |
| }), 0 === c.length ? null : c | |
| } | |
| return a.value | |
| } | |
| a.value = b | |
| }, | |
| html: function(a, b) { | |
| return q(b) ? a.innerHTML : (qa(a, !0), void(a.innerHTML = b)) | |
| }, | |
| empty: Ba | |
| }, function(a, b) { | |
| oa.prototype[b] = function(b, c) { | |
| var d, e, f = this.length; | |
| if (a !== Ba && q(2 == a.length && a !== va && a !== za ? b : c)) { | |
| if (s(b)) { | |
| for (d = 0; d < f; d++) | |
| if (a === ua) a(this[d], b); | |
| else | |
| for (e in b) a(this[d], e, b[e]); | |
| return this | |
| } | |
| for (d = a.$dv, f = q(d) ? Math.min(f, 1) : f, e = 0; e < f; e++) { | |
| var g = a(this[e], b, c); | |
| d = d ? d + g : g | |
| } | |
| return d | |
| } | |
| for (d = 0; d < f; d++) a(this[d], b, c); | |
| return this | |
| } | |
| }), d({ | |
| removeData: sa, | |
| on: function(a, b, c, d) { | |
| if (r(d)) throw wd("onargs"); | |
| if (la(a)) { | |
| d = ta(a, !0); | |
| var e = d.events, | |
| f = d.handle; | |
| f || (f = d.handle = Fa(a, e)), d = 0 <= b.indexOf(" ") ? b.split(" ") : [b]; | |
| for (var g = d.length, h = function(b, d, g) { | |
| var h = e[b]; | |
| h || (h = e[b] = [], h.specialHandlerWrapper = d, "$destroy" === b || g || a.addEventListener(b, f, !1)), h.push(c) | |
| }; g--;) b = d[g], vd[b] ? (h(vd[b], Ha), h(b, void 0, !0)) : h(b) | |
| } | |
| }, | |
| off: ra, | |
| one: function(a, b, c) { | |
| a = Sc(a), a.on(b, function d() { | |
| a.off(b, c), a.off(b, d) | |
| }), a.on(b, c) | |
| }, | |
| replaceWith: function(a, b) { | |
| var c, e = a.parentNode; | |
| qa(a), d(new oa(b), function(b) { | |
| c ? e.insertBefore(b, c.nextSibling) : e.replaceChild(b, a), c = b | |
| }) | |
| }, | |
| children: function(a) { | |
| var b = []; | |
| return d(a.childNodes, function(a) { | |
| 1 === a.nodeType && b.push(a) | |
| }), b | |
| }, | |
| contents: function(a) { | |
| return a.contentDocument || a.childNodes || [] | |
| }, | |
| append: function(a, b) { | |
| var c = a.nodeType; | |
| if (1 === c || 11 === c) { | |
| b = new oa(b); | |
| for (var c = 0, d = b.length; c < d; c++) a.appendChild(b[c]) | |
| } | |
| }, | |
| prepend: function(a, b) { | |
| if (1 === a.nodeType) { | |
| var c = a.firstChild; | |
| d(new oa(b), function(b) { | |
| a.insertBefore(b, c) | |
| }) | |
| } | |
| }, | |
| wrap: function(a, b) { | |
| na(a, Sc(b).eq(0).clone()[0]) | |
| }, | |
| remove: Ca, | |
| detach: function(a) { | |
| Ca(a, !0) | |
| }, | |
| after: function(a, b) { | |
| var c = a, | |
| d = a.parentNode; | |
| b = new oa(b); | |
| for (var e = 0, f = b.length; e < f; e++) { | |
| var g = b[e]; | |
| d.insertBefore(g, c.nextSibling), c = g | |
| } | |
| }, | |
| addClass: xa, | |
| removeClass: wa, | |
| toggleClass: function(a, b, c) { | |
| b && d(b.split(" "), function(b) { | |
| var d = c; | |
| q(d) && (d = !va(a, b)), (d ? xa : wa)(a, b) | |
| }) | |
| }, | |
| parent: function(a) { | |
| return (a = a.parentNode) && 11 !== a.nodeType ? a : null | |
| }, | |
| next: function(a) { | |
| return a.nextElementSibling | |
| }, | |
| find: function(a, b) { | |
| return a.getElementsByTagName ? a.getElementsByTagName(b) : [] | |
| }, | |
| clone: pa, | |
| triggerHandler: function(a, b, c) { | |
| var e, f, g = b.type || b, | |
| h = ta(a); | |
| (h = (h = h && h.events) && h[g]) && (e = { | |
| preventDefault: function() { | |
| this.defaultPrevented = !0 | |
| }, | |
| isDefaultPrevented: function() { | |
| return !0 === this.defaultPrevented | |
| }, | |
| stopImmediatePropagation: function() { | |
| this.immediatePropagationStopped = !0 | |
| }, | |
| isImmediatePropagationStopped: function() { | |
| return !0 === this.immediatePropagationStopped | |
| }, | |
| stopPropagation: m, | |
| type: g, | |
| target: a | |
| }, b.type && (e = i(e, b)), b = ia(h), f = c ? [e].concat(c) : [e], d(b, function(b) { | |
| e.isImmediatePropagationStopped() || b.apply(a, f) | |
| })) | |
| } | |
| }, function(a, b) { | |
| oa.prototype[b] = function(b, c, d) { | |
| for (var e, f = 0, g = this.length; f < g; f++) q(e) ? (e = a(this[f], b, c, d), r(e) && (e = Sc(e))) : ya(e, a(this[f], b, c, d)); | |
| return r(e) ? e : this | |
| }, oa.prototype.bind = oa.prototype.on, oa.prototype.unbind = oa.prototype.off | |
| }), Ka.prototype = { | |
| put: function(a, b) { | |
| this[Ja(a, this.nextUid)] = b | |
| }, | |
| get: function(a) { | |
| return this[Ja(a, this.nextUid)] | |
| }, | |
| remove: function(a) { | |
| var b = this[a = Ja(a, this.nextUid)]; | |
| return delete this[a], b | |
| } | |
| }; | |
| var Hd = [function() { | |
| this.$get = [function() { | |
| return Ka | |
| }] | |
| }], | |
| Id = /^([^\(]+?)=>/, | |
| Jd = /^[^\(]*\(\s*([^\)]*)\)/m, | |
| Kd = /,/, | |
| Ld = /^\s*(_?)(\S+?)\1\s*$/, | |
| Md = /((\/\/.*$)|(\/\*[\s\S]*?\*\/))/gm, | |
| Nd = b("$injector"); | |
| Na.$$annotate = function(a, b, c) { | |
| var e; | |
| if ("function" == typeof a) { | |
| if (!(e = a.$inject)) { | |
| if (e = [], a.length) { | |
| if (b) throw u(c) && c || (c = a.name || Ma(a)), Nd("strictdi", c); | |
| b = La(a), d(b[1].split(Kd), function(a) { | |
| a.replace(Ld, function(a, b, c) { | |
| e.push(c) | |
| }) | |
| }) | |
| } | |
| a.$inject = e | |
| } | |
| } else fd(a) ? (b = a.length - 1, ca(a[b], "fn"), e = a.slice(0, b)) : ca(a, "fn", !0); | |
| return e | |
| }; | |
| var Od = b("$animate"), | |
| Pd = function() { | |
| this.$get = m | |
| }, | |
| Qd = function() { | |
| var a = new Ka, | |
| b = []; | |
| this.$get = ["$$AnimateRunner", "$rootScope", function(c, e) { | |
| function f(a, b, c) { | |
| var e = !1; | |
| return b && (b = u(b) ? b.split(" ") : fd(b) ? b : [], d(b, function(b) { | |
| b && (e = !0, a[b] = c) | |
| })), e | |
| } | |
| function g() { | |
| d(b, function(b) { | |
| var c = a.get(b); | |
| if (c) { | |
| var e = Qa(b.attr("class")), | |
| f = "", | |
| g = ""; | |
| d(c, function(a, b) { | |
| a !== !!e[b] && (a ? f += (f.length ? " " : "") + b : g += (g.length ? " " : "") + b) | |
| }), d(b, function(a) { | |
| f && xa(a, f), g && wa(a, g) | |
| }), a.remove(b) | |
| } | |
| }), b.length = 0 | |
| } | |
| return { | |
| enabled: m, | |
| on: m, | |
| off: m, | |
| pin: m, | |
| push: function(d, h, i, j) { | |
| return j && j(), i = i || {}, i.from && d.css(i.from), i.to && d.css(i.to), (i.addClass || i.removeClass) && (h = i.addClass, j = i.removeClass, i = a.get(d) || {}, h = f(i, h, !0), j = f(i, j, !1), (h || j) && (a.put(d, i), b.push(d), 1 === b.length && e.$$postDigest(g))), d = new c, d.complete(), d | |
| } | |
| } | |
| }] | |
| }, | |
| Rd = ["$provide", function(a) { | |
| var b = this; | |
| this.$$registeredAnimations = Object.create(null), this.register = function(c, d) { | |
| if (c && "." !== c.charAt(0)) throw Od("notcsel", c); | |
| var e = c + "-animation"; | |
| b.$$registeredAnimations[c.substr(1)] = e, a.factory(e, d) | |
| }, this.classNameFilter = function(a) { | |
| if (1 === arguments.length && (this.$$classNameFilter = a instanceof RegExp ? a : null) && /(\s+|\/)ng-animate(\s+|\/)/.test(this.$$classNameFilter.toString())) throw Od("nongcls", "ng-animate"); | |
| return this.$$classNameFilter | |
| }, this.$get = ["$$animateQueue", function(a) { | |
| function b(a, b, c) { | |
| if (c) { | |
| var d; | |
| a: { | |
| for (d = 0; d < c.length; d++) { | |
| var e = c[d]; | |
| if (1 === e.nodeType) { | |
| d = e; | |
| break a | |
| } | |
| } | |
| d = void 0 | |
| }!d || d.parentNode || d.previousElementSibling || (c = null) | |
| } | |
| c ? c.after(a) : b.prepend(a) | |
| } | |
| return { | |
| on: a.on, | |
| off: a.off, | |
| pin: a.pin, | |
| enabled: a.enabled, | |
| cancel: function(a) { | |
| a.end && a.end() | |
| }, | |
| enter: function(c, d, e, f) { | |
| return d = d && Sc(d), e = e && Sc(e), d = d || e.parent(), b(c, d, e), a.push(c, "enter", Ra(f)) | |
| }, | |
| move: function(c, d, e, f) { | |
| return d = d && Sc(d), e = e && Sc(e), d = d || e.parent(), b(c, d, e), a.push(c, "move", Ra(f)) | |
| }, | |
| leave: function(b, c) { | |
| return a.push(b, "leave", Ra(c), function() { | |
| b.remove() | |
| }) | |
| }, | |
| addClass: function(b, c, d) { | |
| return d = Ra(d), d.addClass = Pa(d.addclass, c), a.push(b, "addClass", d) | |
| }, | |
| removeClass: function(b, c, d) { | |
| return d = Ra(d), d.removeClass = Pa(d.removeClass, c), a.push(b, "removeClass", d) | |
| }, | |
| setClass: function(b, c, d, e) { | |
| return e = Ra(e), e.addClass = Pa(e.addClass, c), e.removeClass = Pa(e.removeClass, d), a.push(b, "setClass", e) | |
| }, | |
| animate: function(b, c, d, e, f) { | |
| return f = Ra(f), f.from = f.from ? i(f.from, c) : c, f.to = f.to ? i(f.to, d) : d, f.tempClasses = Pa(f.tempClasses, e || "ng-inline-animate"), a.push(b, "animate", f) | |
| } | |
| } | |
| }] | |
| }], | |
| Sd = function() { | |
| this.$get = ["$$rAF", function(a) { | |
| function b(b) { | |
| c.push(b), 1 < c.length || a(function() { | |
| for (var a = 0; a < c.length; a++) c[a](); | |
| c = [] | |
| }) | |
| } | |
| var c = []; | |
| return function() { | |
| var a = !1; | |
| return b(function() { | |
| a = !0 | |
| }), | |
| function(c) { | |
| a ? c() : b(c) | |
| } | |
| } | |
| }] | |
| }, | |
| Td = function() { | |
| this.$get = ["$q", "$sniffer", "$$animateAsyncRun", "$document", "$timeout", function(a, b, c, e, f) { | |
| function g(a) { | |
| this.setHost(a); | |
| var b = c(); | |
| this._doneCallbacks = [], this._tick = function(a) { | |
| var c = e[0]; | |
| c && c.hidden ? f(a, 0, !1) : b(a) | |
| }, this._state = 0 | |
| } | |
| return g.chain = function(a, b) { | |
| function c() { | |
| d === a.length ? b(!0) : a[d](function(a) { | |
| !1 === a ? b(!1) : (d++, c()) | |
| }) | |
| } | |
| var d = 0; | |
| c() | |
| }, g.all = function(a, b) { | |
| function c(c) { | |
| f = f && c, ++e === a.length && b(f) | |
| } | |
| var e = 0, | |
| f = !0; | |
| d(a, function(a) { | |
| a.done(c) | |
| }) | |
| }, g.prototype = { | |
| setHost: function(a) { | |
| this.host = a || {} | |
| }, | |
| done: function(a) { | |
| 2 === this._state ? a() : this._doneCallbacks.push(a) | |
| }, | |
| progress: m, | |
| getPromise: function() { | |
| if (!this.promise) { | |
| var b = this; | |
| this.promise = a(function(a, c) { | |
| b.done(function(b) { | |
| !1 === b ? c() : a() | |
| }) | |
| }) | |
| } | |
| return this.promise | |
| }, | |
| then: function(a, b) { | |
| return this.getPromise().then(a, b) | |
| }, | |
| catch: function(a) { | |
| return this.getPromise().catch(a) | |
| }, | |
| finally: function(a) { | |
| return this.getPromise().finally(a) | |
| }, | |
| pause: function() { | |
| this.host.pause && this.host.pause() | |
| }, | |
| resume: function() { | |
| this.host.resume && this.host.resume() | |
| }, | |
| end: function() { | |
| this.host.end && this.host.end(), this._resolve(!0) | |
| }, | |
| cancel: function() { | |
| this.host.cancel && this.host.cancel(), this._resolve(!1) | |
| }, | |
| complete: function(a) { | |
| var b = this; | |
| 0 === b._state && (b._state = 1, b._tick(function() { | |
| b._resolve(a) | |
| })) | |
| }, | |
| _resolve: function(a) { | |
| 2 !== this._state && (d(this._doneCallbacks, function(b) { | |
| b(a) | |
| }), this._doneCallbacks.length = 0, this._state = 2) | |
| } | |
| }, g | |
| }] | |
| }, | |
| Ud = function() { | |
| this.$get = ["$$rAF", "$q", "$$AnimateRunner", function(a, b, c) { | |
| return function(b, d) { | |
| function e() { | |
| return a(function() { | |
| f.addClass && (b.addClass(f.addClass), f.addClass = null), f.removeClass && (b.removeClass(f.removeClass), f.removeClass = null), f.to && (b.css(f.to), f.to = null), g || h.complete(), g = !0 | |
| }), h | |
| } | |
| var f = d || {}; | |
| f.$$prepared || (f = H(f)), f.cleanupStyles && (f.from = f.to = null), f.from && (b.css(f.from), f.from = null); | |
| var g, h = new c; | |
| return { | |
| start: e, | |
| end: e | |
| } | |
| } | |
| }] | |
| }, | |
| Vd = b("$compile"), | |
| Wd = new function() {}; | |
| Wa.$inject = ["$provide", "$$sanitizeUriProvider"], Xa.prototype.isFirstChange = function() { | |
| return this.previousValue === Wd | |
| }; | |
| var Xd = /^((?:x|data)[\:\-_])/i, | |
| Yd = b("$controller"), | |
| Zd = /^(\S+)(\s+as\s+([\w$]+))?$/, | |
| $d = function() { | |
| this.$get = ["$document", function(a) { | |
| return function(b) { | |
| return b ? !b.nodeType && b instanceof Sc && (b = b[0]) : b = a[0].body, b.offsetWidth + 1 | |
| } | |
| }] | |
| }, | |
| _d = "application/json", | |
| ae = { | |
| "Content-Type": _d + ";charset=utf-8" | |
| }, | |
| be = /^\[|^\{(?!\{)/, | |
| ce = { | |
| "[": /]$/, | |
| "{": /}$/ | |
| }, | |
| de = /^\)\]\}',?\n/, | |
| ee = b("$http"), | |
| fe = function(a) { | |
| return function() { | |
| throw ee("legacy", a) | |
| } | |
| }, | |
| ge = dd.$interpolateMinErr = b("$interpolate"); | |
| ge.throwNoconcat = function(a) { | |
| throw ge("noconcat", a) | |
| }, ge.interr = function(a, b) { | |
| return ge("interr", a, b.toString()) | |
| }; | |
| var he = /^([^\?#]*)(\?([^#]*))?(#(.*))?$/, | |
| ie = { | |
| http: 80, | |
| https: 443, | |
| ftp: 21 | |
| }, | |
| je = b("$location"), | |
| ke = { | |
| $$absUrl: "", | |
| $$html5: !1, | |
| $$replace: !1, | |
| absUrl: zb("$$absUrl"), | |
| url: function(a) { | |
| if (q(a)) return this.$$url; | |
| var b = he.exec(a); | |
| return (b[1] || "" === a) && this.path(decodeURIComponent(b[1])), (b[2] || b[1] || "" === a) && this.search(b[3] || ""), this.hash(b[5] || ""), this | |
| }, | |
| protocol: zb("$$protocol"), | |
| host: zb("$$host"), | |
| port: zb("$$port"), | |
| path: Ab("$$path", function(a) { | |
| return a = null !== a ? a.toString() : "", "/" == a.charAt(0) ? a : "/" + a | |
| }), | |
| search: function(a, b) { | |
| switch (arguments.length) { | |
| case 0: | |
| return this.$$search; | |
| case 1: | |
| if (u(a) || v(a)) a = a.toString(), this.$$search = S(a); | |
| else { | |
| if (!s(a)) throw je("isrcharg"); | |
| a = H(a, {}), d(a, function(b, c) { | |
| null == b && delete a[c] | |
| }), this.$$search = a | |
| } | |
| break; | |
| default: | |
| q(b) || null === b ? delete this.$$search[a] : this.$$search[a] = b | |
| } | |
| return this.$$compose(), this | |
| }, | |
| hash: Ab("$$hash", function(a) { | |
| return null !== a ? a.toString() : "" | |
| }), | |
| replace: function() { | |
| return this.$$replace = !0, this | |
| } | |
| }; | |
| d([yb, xb, wb], function(a) { | |
| a.prototype = Object.create(ke), a.prototype.state = function(b) { | |
| if (!arguments.length) return this.$$state; | |
| if (a !== wb || !this.$$html5) throw je("nostate"); | |
| return this.$$state = q(b) ? null : b, this | |
| } | |
| }); | |
| var le = b("$parse"), | |
| me = Function.prototype.call, | |
| ne = Function.prototype.apply, | |
| oe = Function.prototype.bind, | |
| pe = ga(); | |
| d("+ - * / % === !== == != < > <= >= && || ! = |".split(" "), function(a) { | |
| pe[a] = !0 | |
| }); | |
| var qe = { | |
| n: "\n", | |
| f: "\f", | |
| r: "\r", | |
| t: "\t", | |
| v: "\v", | |
| "'": "'", | |
| '"': '"' | |
| }, | |
| re = function(a) { | |
| this.options = a | |
| }; | |
| re.prototype = { | |
| constructor: re, | |
| lex: function(a) { | |
| for (this.text = a, this.index = 0, this.tokens = []; this.index < this.text.length;) | |
| if (a = this.text.charAt(this.index), '"' === a || "'" === a) this.readString(a); | |
| else if (this.isNumber(a) || "." === a && this.isNumber(this.peek())) this.readNumber(); | |
| else if (this.isIdentifierStart(this.peekMultichar())) this.readIdent(); | |
| else if (this.is(a, "(){}[].,;:?")) this.tokens.push({ | |
| index: this.index, | |
| text: a | |
| }), this.index++; | |
| else if (this.isWhitespace(a)) this.index++; | |
| else { | |
| var b = a + this.peek(), | |
| c = b + this.peek(2), | |
| d = pe[b], | |
| e = pe[c]; | |
| pe[a] || d || e ? (a = e ? c : d ? b : a, this.tokens.push({ | |
| index: this.index, | |
| text: a, | |
| operator: !0 | |
| }), this.index += a.length) : this.throwError("Unexpected next character ", this.index, this.index + 1) | |
| } | |
| return this.tokens | |
| }, | |
| is: function(a, b) { | |
| return -1 !== b.indexOf(a) | |
| }, | |
| peek: function(a) { | |
| return a = a || 1, this.index + a < this.text.length && this.text.charAt(this.index + a) | |
| }, | |
| isNumber: function(a) { | |
| return "0" <= a && "9" >= a && "string" == typeof a | |
| }, | |
| isWhitespace: function(a) { | |
| return " " === a || "\r" === a || "\t" === a || "\n" === a || "\v" === a || " " === a | |
| }, | |
| isIdentifierStart: function(a) { | |
| return this.options.isIdentifierStart ? this.options.isIdentifierStart(a, this.codePointAt(a)) : this.isValidIdentifierStart(a) | |
| }, | |
| isValidIdentifierStart: function(a) { | |
| return "a" <= a && "z" >= a || "A" <= a && "Z" >= a || "_" === a || "$" === a | |
| }, | |
| isIdentifierContinue: function(a) { | |
| return this.options.isIdentifierContinue ? this.options.isIdentifierContinue(a, this.codePointAt(a)) : this.isValidIdentifierContinue(a) | |
| }, | |
| isValidIdentifierContinue: function(a, b) { | |
| return this.isValidIdentifierStart(a, b) || this.isNumber(a) | |
| }, | |
| codePointAt: function(a) { | |
| return 1 === a.length ? a.charCodeAt(0) : (a.charCodeAt(0) << 10) + a.charCodeAt(1) - 56613888 | |
| }, | |
| peekMultichar: function() { | |
| var a = this.text.charAt(this.index), | |
| b = this.peek(); | |
| if (!b) return a; | |
| var c = a.charCodeAt(0), | |
| d = b.charCodeAt(0); | |
| return 55296 <= c && 56319 >= c && 56320 <= d && 57343 >= d ? a + b : a | |
| }, | |
| isExpOperator: function(a) { | |
| return "-" === a || "+" === a || this.isNumber(a) | |
| }, | |
| throwError: function(a, b, c) { | |
| throw c = c || this.index, b = r(b) ? "s " + b + "-" + this.index + " [" + this.text.substring(b, c) + "]" : " " + c, le("lexerr", a, b, this.text) | |
| }, | |
| readNumber: function() { | |
| for (var a = "", b = this.index; this.index < this.text.length;) { | |
| var c = Xc(this.text.charAt(this.index)); | |
| if ("." == c || this.isNumber(c)) a += c; | |
| else { | |
| var d = this.peek(); | |
| if ("e" == c && this.isExpOperator(d)) a += c; | |
| else if (this.isExpOperator(c) && d && this.isNumber(d) && "e" == a.charAt(a.length - 1)) a += c; | |
| else { | |
| if (!this.isExpOperator(c) || d && this.isNumber(d) || "e" != a.charAt(a.length - 1)) break; | |
| this.throwError("Invalid exponent") | |
| } | |
| } | |
| this.index++ | |
| } | |
| this.tokens.push({ | |
| index: b, | |
| text: a, | |
| constant: !0, | |
| value: Number(a) | |
| }) | |
| }, | |
| readIdent: function() { | |
| var a = this.index; | |
| for (this.index += this.peekMultichar().length; this.index < this.text.length;) { | |
| var b = this.peekMultichar(); | |
| if (!this.isIdentifierContinue(b)) break; | |
| this.index += b.length | |
| } | |
| this.tokens.push({ | |
| index: a, | |
| text: this.text.slice(a, this.index), | |
| identifier: !0 | |
| }) | |
| }, | |
| readString: function(a) { | |
| var b = this.index; | |
| this.index++; | |
| for (var c = "", d = a, e = !1; this.index < this.text.length;) { | |
| var f = this.text.charAt(this.index), | |
| d = d + f; | |
| if (e) "u" === f ? (e = this.text.substring(this.index + 1, this.index + 5), e.match(/[\da-f]{4}/i) || this.throwError("Invalid unicode escape [\\u" + e + "]"), this.index += 4, c += String.fromCharCode(parseInt(e, 16))) : c += qe[f] || f, e = !1; | |
| else if ("\\" === f) e = !0; | |
| else { | |
| if (f === a) return this.index++, void this.tokens.push({ | |
| index: b, | |
| text: d, | |
| constant: !0, | |
| value: c | |
| }); | |
| c += f | |
| } | |
| this.index++ | |
| } | |
| this.throwError("Unterminated quote", b) | |
| } | |
| }; | |
| var se = function(a, b) { | |
| this.lexer = a, this.options = b | |
| }; | |
| se.Program = "Program", se.ExpressionStatement = "ExpressionStatement", se.AssignmentExpression = "AssignmentExpression", se.ConditionalExpression = "ConditionalExpression", se.LogicalExpression = "LogicalExpression", se.BinaryExpression = "BinaryExpression", se.UnaryExpression = "UnaryExpression", se.CallExpression = "CallExpression", se.MemberExpression = "MemberExpression", se.Identifier = "Identifier", se.Literal = "Literal", se.ArrayExpression = "ArrayExpression", se.Property = "Property", se.ObjectExpression = "ObjectExpression", se.ThisExpression = "ThisExpression", se.LocalsExpression = "LocalsExpression", se.NGValueParameter = "NGValueParameter", se.prototype = { | |
| ast: function(a) { | |
| return this.text = a, this.tokens = this.lexer.lex(a), a = this.program(), 0 !== this.tokens.length && this.throwError("is an unexpected token", this.tokens[0]), a | |
| }, | |
| program: function() { | |
| for (var a = [];;) | |
| if (0 < this.tokens.length && !this.peek("}", ")", ";", "]") && a.push(this.expressionStatement()), !this.expect(";")) return { | |
| type: se.Program, | |
| body: a | |
| } | |
| }, | |
| expressionStatement: function() { | |
| return { | |
| type: se.ExpressionStatement, | |
| expression: this.filterChain() | |
| } | |
| }, | |
| filterChain: function() { | |
| for (var a = this.expression(); this.expect("|");) a = this.filter(a); | |
| return a | |
| }, | |
| expression: function() { | |
| return this.assignment() | |
| }, | |
| assignment: function() { | |
| var a = this.ternary(); | |
| return this.expect("=") && (a = { | |
| type: se.AssignmentExpression, | |
| left: a, | |
| right: this.assignment(), | |
| operator: "=" | |
| }), a | |
| }, | |
| ternary: function() { | |
| var a, b, c = this.logicalOR(); | |
| return this.expect("?") && (a = this.expression(), this.consume(":")) ? (b = this.expression(), { | |
| type: se.ConditionalExpression, | |
| test: c, | |
| alternate: a, | |
| consequent: b | |
| }) : c | |
| }, | |
| logicalOR: function() { | |
| for (var a = this.logicalAND(); this.expect("||");) a = { | |
| type: se.LogicalExpression, | |
| operator: "||", | |
| left: a, | |
| right: this.logicalAND() | |
| }; | |
| return a | |
| }, | |
| logicalAND: function() { | |
| for (var a = this.equality(); this.expect("&&");) a = { | |
| type: se.LogicalExpression, | |
| operator: "&&", | |
| left: a, | |
| right: this.equality() | |
| }; | |
| return a | |
| }, | |
| equality: function() { | |
| for (var a, b = this.relational(); a = this.expect("==", "!=", "===", "!==");) b = { | |
| type: se.BinaryExpression, | |
| operator: a.text, | |
| left: b, | |
| right: this.relational() | |
| }; | |
| return b | |
| }, | |
| relational: function() { | |
| for (var a, b = this.additive(); a = this.expect("<", ">", "<=", ">=");) b = { | |
| type: se.BinaryExpression, | |
| operator: a.text, | |
| left: b, | |
| right: this.additive() | |
| }; | |
| return b | |
| }, | |
| additive: function() { | |
| for (var a, b = this.multiplicative(); a = this.expect("+", "-");) b = { | |
| type: se.BinaryExpression, | |
| operator: a.text, | |
| left: b, | |
| right: this.multiplicative() | |
| }; | |
| return b | |
| }, | |
| multiplicative: function() { | |
| for (var a, b = this.unary(); a = this.expect("*", "/", "%");) b = { | |
| type: se.BinaryExpression, | |
| operator: a.text, | |
| left: b, | |
| right: this.unary() | |
| }; | |
| return b | |
| }, | |
| unary: function() { | |
| var a; | |
| return (a = this.expect("+", "-", "!")) ? { | |
| type: se.UnaryExpression, | |
| operator: a.text, | |
| prefix: !0, | |
| argument: this.unary() | |
| } : this.primary() | |
| }, | |
| primary: function() { | |
| var a; | |
| this.expect("(") ? (a = this.filterChain(), this.consume(")")) : this.expect("[") ? a = this.arrayDeclaration() : this.expect("{") ? a = this.object() : this.selfReferential.hasOwnProperty(this.peek().text) ? a = H(this.selfReferential[this.consume().text]) : this.options.literals.hasOwnProperty(this.peek().text) ? a = { | |
| type: se.Literal, | |
| value: this.options.literals[this.consume().text] | |
| } : this.peek().identifier ? a = this.identifier() : this.peek().constant ? a = this.constant() : this.throwError("not a primary expression", this.peek()); | |
| for (var b; b = this.expect("(", "[", ".");) "(" === b.text ? (a = { | |
| type: se.CallExpression, | |
| callee: a, | |
| arguments: this.parseArguments() | |
| }, this.consume(")")) : "[" === b.text ? (a = { | |
| type: se.MemberExpression, | |
| object: a, | |
| property: this.expression(), | |
| computed: !0 | |
| }, this.consume("]")) : "." === b.text ? a = { | |
| type: se.MemberExpression, | |
| object: a, | |
| property: this.identifier(), | |
| computed: !1 | |
| } : this.throwError("IMPOSSIBLE"); | |
| return a | |
| }, | |
| filter: function(a) { | |
| a = [a]; | |
| for (var b = { | |
| type: se.CallExpression, | |
| callee: this.identifier(), | |
| arguments: a, | |
| filter: !0 | |
| }; this.expect(":");) a.push(this.expression()); | |
| return b | |
| }, | |
| parseArguments: function() { | |
| var a = []; | |
| if (")" !== this.peekToken().text) | |
| do a.push(this.filterChain()); while (this.expect(",")); | |
| return a | |
| }, | |
| identifier: function() { | |
| var a = this.consume(); | |
| return a.identifier || this.throwError("is not a valid identifier", a), { | |
| type: se.Identifier, | |
| name: a.text | |
| } | |
| }, | |
| constant: function() { | |
| return { | |
| type: se.Literal, | |
| value: this.consume().value | |
| } | |
| }, | |
| arrayDeclaration: function() { | |
| var a = []; | |
| if ("]" !== this.peekToken().text) | |
| do { | |
| if (this.peek("]")) break; | |
| a.push(this.expression()) | |
| } while (this.expect(",")); | |
| return this.consume("]"), { | |
| type: se.ArrayExpression, | |
| elements: a | |
| } | |
| }, | |
| object: function() { | |
| var a, b = []; | |
| if ("}" !== this.peekToken().text) | |
| do { | |
| if (this.peek("}")) break; | |
| a = { | |
| type: se.Property, | |
| kind: "init" | |
| }, this.peek().constant ? (a.key = this.constant(), a.computed = !1, this.consume(":"), a.value = this.expression()) : this.peek().identifier ? (a.key = this.identifier(), a.computed = !1, this.peek(":") ? (this.consume(":"), a.value = this.expression()) : a.value = a.key) : this.peek("[") ? (this.consume("["), a.key = this.expression(), this.consume("]"), a.computed = !0, this.consume(":"), a.value = this.expression()) : this.throwError("invalid key", this.peek()), b.push(a) | |
| } while (this.expect(",")); | |
| return this.consume("}"), { | |
| type: se.ObjectExpression, | |
| properties: b | |
| } | |
| }, | |
| throwError: function(a, b) { | |
| throw le("syntax", b.text, a, b.index + 1, this.text, this.text.substring(b.index)) | |
| }, | |
| consume: function(a) { | |
| if (0 === this.tokens.length) throw le("ueoe", this.text); | |
| var b = this.expect(a); | |
| return b || this.throwError("is unexpected, expecting [" + a + "]", this.peek()), b | |
| }, | |
| peekToken: function() { | |
| if (0 === this.tokens.length) throw le("ueoe", this.text); | |
| return this.tokens[0] | |
| }, | |
| peek: function(a, b, c, d) { | |
| return this.peekAhead(0, a, b, c, d) | |
| }, | |
| peekAhead: function(a, b, c, d, e) { | |
| if (this.tokens.length > a) { | |
| a = this.tokens[a]; | |
| var f = a.text; | |
| if (f === b || f === c || f === d || f === e || !(b || c || d || e)) return a | |
| } | |
| return !1 | |
| }, | |
| expect: function(a, b, c, d) { | |
| return !!(a = this.peek(a, b, c, d)) && (this.tokens.shift(), a) | |
| }, | |
| selfReferential: { | |
| this: { | |
| type: se.ThisExpression | |
| }, | |
| $locals: { | |
| type: se.LocalsExpression | |
| } | |
| } | |
| }, Pb.prototype = { | |
| compile: function(a, b) { | |
| var c = this, | |
| e = this.astBuilder.ast(a); | |
| this.state = { | |
| nextId: 0, | |
| filters: {}, | |
| expensiveChecks: b, | |
| fn: { | |
| vars: [], | |
| body: [], | |
| own: {} | |
| }, | |
| assign: { | |
| vars: [], | |
| body: [], | |
| own: {} | |
| }, | |
| inputs: [] | |
| }, Kb(e, c.$filter); | |
| var f, g = ""; | |
| return this.stage = "assign", (f = Nb(e)) && (this.state.computing = "assign", g = this.nextId(), this.recurse(f, g), this.return_(g), g = "fn.assign=" + this.generateFunction("assign", "s,v,l")), f = Lb(e.body), c.stage = "inputs", d(f, function(a, b) { | |
| var d = "fn" + b; | |
| c.state[d] = { | |
| vars: [], | |
| body: [], | |
| own: {} | |
| }, c.state.computing = d; | |
| var e = c.nextId(); | |
| c.recurse(a, e), c.return_(e), c.state.inputs.push(d), a.watchId = b | |
| }), this.state.computing = "fn", this.stage = "main", this.recurse(e), g = '"' + this.USE + " " + this.STRICT + '";\n' + this.filterPrefix() + "var fn=" + this.generateFunction("fn", "s,l,a,i") + g + this.watchFns() + "return fn;", g = new Function("$filter", "ensureSafeMemberName", "ensureSafeObject", "ensureSafeFunction", "getStringValue", "ensureSafeAssignContext", "ifDefined", "plus", "text", g)(this.$filter, Db, Fb, Gb, Eb, Hb, Ib, Jb, a), this.state = this.stage = void 0, g.literal = Ob(e), g.constant = e.constant, g | |
| }, | |
| USE: "use", | |
| STRICT: "strict", | |
| watchFns: function() { | |
| var a = [], | |
| b = this.state.inputs, | |
| c = this; | |
| return d(b, function(b) { | |
| a.push("var " + b + "=" + c.generateFunction(b, "s")) | |
| }), b.length && a.push("fn.inputs=[" + b.join(",") + "];"), a.join("") | |
| }, | |
| generateFunction: function(a, b) { | |
| return "function(" + b + "){" + this.varsPrefix(a) + this.body(a) + "};" | |
| }, | |
| filterPrefix: function() { | |
| var a = [], | |
| b = this; | |
| return d(this.state.filters, function(c, d) { | |
| a.push(c + "=$filter(" + b.escape(d) + ")") | |
| }), a.length ? "var " + a.join(",") + ";" : "" | |
| }, | |
| varsPrefix: function(a) { | |
| return this.state[a].vars.length ? "var " + this.state[a].vars.join(",") + ";" : "" | |
| }, | |
| body: function(a) { | |
| return this.state[a].body.join("") | |
| }, | |
| recurse: function(a, b, c, e, f, g) { | |
| var h, i, j, k, l, n = this; | |
| if (e = e || m, !g && r(a.watchId)) b = b || this.nextId(), this.if_("i", this.lazyAssign(b, this.computedMember("i", a.watchId)), this.lazyRecurse(a, b, c, e, f, !0)); | |
| else switch (a.type) { | |
| case se.Program: | |
| d(a.body, function(b, c) { | |
| n.recurse(b.expression, void 0, void 0, function(a) { | |
| i = a | |
| }), c !== a.body.length - 1 ? n.current().body.push(i, ";") : n.return_(i) | |
| }); | |
| break; | |
| case se.Literal: | |
| k = this.escape(a.value), this.assign(b, k), e(k); | |
| break; | |
| case se.UnaryExpression: | |
| this.recurse(a.argument, void 0, void 0, function(a) { | |
| i = a | |
| }), k = a.operator + "(" + this.ifDefined(i, 0) + ")", this.assign(b, k), e(k); | |
| break; | |
| case se.BinaryExpression: | |
| this.recurse(a.left, void 0, void 0, function(a) { | |
| h = a | |
| }), this.recurse(a.right, void 0, void 0, function(a) { | |
| i = a | |
| }), k = "+" === a.operator ? this.plus(h, i) : "-" === a.operator ? this.ifDefined(h, 0) + a.operator + this.ifDefined(i, 0) : "(" + h + ")" + a.operator + "(" + i + ")", this.assign(b, k), e(k); | |
| break; | |
| case se.LogicalExpression: | |
| b = b || this.nextId(), n.recurse(a.left, b), n.if_("&&" === a.operator ? b : n.not(b), n.lazyRecurse(a.right, b)), e(b); | |
| break; | |
| case se.ConditionalExpression: | |
| b = b || this.nextId(), n.recurse(a.test, b), n.if_(b, n.lazyRecurse(a.alternate, b), n.lazyRecurse(a.consequent, b)), e(b); | |
| break; | |
| case se.Identifier: | |
| b = b || this.nextId(), c && (c.context = "inputs" === n.stage ? "s" : this.assign(this.nextId(), this.getHasOwnProperty("l", a.name) + "?l:s"), c.computed = !1, c.name = a.name), Db(a.name), n.if_("inputs" === n.stage || n.not(n.getHasOwnProperty("l", a.name)), function() { | |
| n.if_("inputs" === n.stage || "s", function() { | |
| f && 1 !== f && n.if_(n.not(n.nonComputedMember("s", a.name)), n.lazyAssign(n.nonComputedMember("s", a.name), "{}")), n.assign(b, n.nonComputedMember("s", a.name)) | |
| }) | |
| }, b && n.lazyAssign(b, n.nonComputedMember("l", a.name))), (n.state.expensiveChecks || Rb(a.name)) && n.addEnsureSafeObject(b), e(b); | |
| break; | |
| case se.MemberExpression: | |
| h = c && (c.context = this.nextId()) || this.nextId(), b = b || this.nextId(), n.recurse(a.object, h, void 0, function() { | |
| n.if_(n.notNull(h), function() { | |
| f && 1 !== f && n.addEnsureSafeAssignContext(h), a.computed ? (i = n.nextId(), n.recurse(a.property, i), n.getStringValue(i), n.addEnsureSafeMemberName(i), f && 1 !== f && n.if_(n.not(n.computedMember(h, i)), n.lazyAssign(n.computedMember(h, i), "{}")), k = n.ensureSafeObject(n.computedMember(h, i)), n.assign(b, k), c && (c.computed = !0, c.name = i)) : (Db(a.property.name), f && 1 !== f && n.if_(n.not(n.nonComputedMember(h, a.property.name)), n.lazyAssign(n.nonComputedMember(h, a.property.name), "{}")), k = n.nonComputedMember(h, a.property.name), (n.state.expensiveChecks || Rb(a.property.name)) && (k = n.ensureSafeObject(k)), n.assign(b, k), c && (c.computed = !1, c.name = a.property.name)) | |
| }, function() { | |
| n.assign(b, "undefined") | |
| }), e(b) | |
| }, !!f); | |
| break; | |
| case se.CallExpression: | |
| b = b || this.nextId(), a.filter ? (i = n.filter(a.callee.name), j = [], d(a.arguments, function(a) { | |
| var b = n.nextId(); | |
| n.recurse(a, b), j.push(b) | |
| }), k = i + "(" + j.join(",") + ")", n.assign(b, k), e(b)) : (i = n.nextId(), h = {}, j = [], n.recurse(a.callee, i, h, function() { | |
| n.if_(n.notNull(i), function() { | |
| n.addEnsureSafeFunction(i), d(a.arguments, function(a) { | |
| n.recurse(a, n.nextId(), void 0, function(a) { | |
| j.push(n.ensureSafeObject(a)) | |
| }) | |
| }), h.name ? (n.state.expensiveChecks || n.addEnsureSafeObject(h.context), k = n.member(h.context, h.name, h.computed) + "(" + j.join(",") + ")") : k = i + "(" + j.join(",") + ")", k = n.ensureSafeObject(k), n.assign(b, k) | |
| }, function() { | |
| n.assign(b, "undefined") | |
| }), e(b) | |
| })); | |
| break; | |
| case se.AssignmentExpression: | |
| if (i = this.nextId(), h = {}, !Mb(a.left)) throw le("lval"); | |
| this.recurse(a.left, void 0, h, function() { | |
| n.if_(n.notNull(h.context), function() { | |
| n.recurse(a.right, i), n.addEnsureSafeObject(n.member(h.context, h.name, h.computed)), n.addEnsureSafeAssignContext(h.context), k = n.member(h.context, h.name, h.computed) + a.operator + i, n.assign(b, k), e(b || k) | |
| }) | |
| }, 1); | |
| break; | |
| case se.ArrayExpression: | |
| j = [], d(a.elements, function(a) { | |
| n.recurse(a, n.nextId(), void 0, function(a) { | |
| j.push(a) | |
| }) | |
| }), k = "[" + j.join(",") + "]", this.assign(b, k), e(k); | |
| break; | |
| case se.ObjectExpression: | |
| j = [], l = !1, d(a.properties, function(a) { | |
| a.computed && (l = !0) | |
| }), l ? (b = b || this.nextId(), this.assign(b, "{}"), d(a.properties, function(a) { | |
| a.computed ? (h = n.nextId(), n.recurse(a.key, h)) : h = a.key.type === se.Identifier ? a.key.name : "" + a.key.value, i = n.nextId(), n.recurse(a.value, i), n.assign(n.member(b, h, a.computed), i) | |
| })) : (d(a.properties, function(b) { | |
| n.recurse(b.value, a.constant ? void 0 : n.nextId(), void 0, function(a) { | |
| j.push(n.escape(b.key.type === se.Identifier ? b.key.name : "" + b.key.value) + ":" + a) | |
| }) | |
| }), k = "{" + j.join(",") + "}", this.assign(b, k)), e(b || k); | |
| break; | |
| case se.ThisExpression: | |
| this.assign(b, "s"), e("s"); | |
| break; | |
| case se.LocalsExpression: | |
| this.assign(b, "l"), e("l"); | |
| break; | |
| case se.NGValueParameter: | |
| this.assign(b, "v"), e("v") | |
| } | |
| }, | |
| getHasOwnProperty: function(a, b) { | |
| var c = a + "." + b, | |
| d = this.current().own; | |
| return d.hasOwnProperty(c) || (d[c] = this.nextId(!1, a + "&&(" + this.escape(b) + " in " + a + ")")), d[c] | |
| }, | |
| assign: function(a, b) { | |
| if (a) return this.current().body.push(a, "=", b, ";"), a | |
| }, | |
| filter: function(a) { | |
| return this.state.filters.hasOwnProperty(a) || (this.state.filters[a] = this.nextId(!0)), this.state.filters[a] | |
| }, | |
| ifDefined: function(a, b) { | |
| return "ifDefined(" + a + "," + this.escape(b) + ")" | |
| }, | |
| plus: function(a, b) { | |
| return "plus(" + a + "," + b + ")" | |
| }, | |
| return_: function(a) { | |
| this.current().body.push("return ", a, ";") | |
| }, | |
| if_: function(a, b, c) { | |
| if (!0 === a) b(); | |
| else { | |
| var d = this.current().body; | |
| d.push("if(", a, "){"), b(), d.push("}"), c && (d.push("else{"), c(), d.push("}")) | |
| } | |
| }, | |
| not: function(a) { | |
| return "!(" + a + ")" | |
| }, | |
| notNull: function(a) { | |
| return a + "!=null" | |
| }, | |
| nonComputedMember: function(a, b) { | |
| var c = /[^$_a-zA-Z0-9]/g; | |
| return /[$_a-zA-Z][$_a-zA-Z0-9]*/.test(b) ? a + "." + b : a + '["' + b.replace(c, this.stringEscapeFn) + '"]' | |
| }, | |
| computedMember: function(a, b) { | |
| return a + "[" + b + "]" | |
| }, | |
| member: function(a, b, c) { | |
| return c ? this.computedMember(a, b) : this.nonComputedMember(a, b) | |
| }, | |
| addEnsureSafeObject: function(a) { | |
| this.current().body.push(this.ensureSafeObject(a), ";") | |
| }, | |
| addEnsureSafeMemberName: function(a) { | |
| this.current().body.push(this.ensureSafeMemberName(a), ";") | |
| }, | |
| addEnsureSafeFunction: function(a) { | |
| this.current().body.push(this.ensureSafeFunction(a), ";") | |
| }, | |
| addEnsureSafeAssignContext: function(a) { | |
| this.current().body.push(this.ensureSafeAssignContext(a), ";") | |
| }, | |
| ensureSafeObject: function(a) { | |
| return "ensureSafeObject(" + a + ",text)" | |
| }, | |
| ensureSafeMemberName: function(a) { | |
| return "ensureSafeMemberName(" + a + ",text)" | |
| }, | |
| ensureSafeFunction: function(a) { | |
| return "ensureSafeFunction(" + a + ",text)" | |
| }, | |
| getStringValue: function(a) { | |
| this.assign(a, "getStringValue(" + a + ")") | |
| }, | |
| ensureSafeAssignContext: function(a) { | |
| return "ensureSafeAssignContext(" + a + ",text)" | |
| }, | |
| lazyRecurse: function(a, b, c, d, e, f) { | |
| var g = this; | |
| return function() { | |
| g.recurse(a, b, c, d, e, f) | |
| } | |
| }, | |
| lazyAssign: function(a, b) { | |
| var c = this; | |
| return function() { | |
| c.assign(a, b) | |
| } | |
| }, | |
| stringEscapeRegex: /[^ a-zA-Z0-9]/g, | |
| stringEscapeFn: function(a) { | |
| return "\\u" + ("0000" + a.charCodeAt(0).toString(16)).slice(-4) | |
| }, | |
| escape: function(a) { | |
| if (u(a)) return "'" + a.replace(this.stringEscapeRegex, this.stringEscapeFn) + "'"; | |
| if (v(a)) return a.toString(); | |
| if (!0 === a) return "true"; | |
| if (!1 === a) return "false"; | |
| if (null === a) return "null"; | |
| if ("undefined" == typeof a) return "undefined"; | |
| throw le("esc") | |
| }, | |
| nextId: function(a, b) { | |
| var c = "v" + this.state.nextId++; | |
| return a || this.current().vars.push(c + (b ? "=" + b : "")), c | |
| }, | |
| current: function() { | |
| return this.state[this.state.computing] | |
| } | |
| }, Qb.prototype = { | |
| compile: function(a, b) { | |
| var c = this, | |
| e = this.astBuilder.ast(a); | |
| this.expression = a, this.expensiveChecks = b, Kb(e, c.$filter); | |
| var f, g; | |
| (f = Nb(e)) && (g = this.recurse(f)), f = Lb(e.body); | |
| var h; | |
| f && (h = [], d(f, function(a, b) { | |
| var d = c.recurse(a); | |
| a.input = d, h.push(d), a.watchId = b | |
| })); | |
| var i = []; | |
| return d(e.body, function(a) { | |
| i.push(c.recurse(a.expression)) | |
| }), f = 0 === e.body.length ? m : 1 === e.body.length ? i[0] : function(a, b) { | |
| var c; | |
| return d(i, function(d) { | |
| c = d(a, b) | |
| }), c | |
| }, g && (f.assign = function(a, b, c) { | |
| return g(a, c, b) | |
| }), h && (f.inputs = h), f.literal = Ob(e), f.constant = e.constant, f | |
| }, | |
| recurse: function(a, b, c) { | |
| var e, f, g, h = this; | |
| if (a.input) return this.inputs(a.input, a.watchId); | |
| switch (a.type) { | |
| case se.Literal: | |
| return this.value(a.value, b); | |
| case se.UnaryExpression: | |
| return f = this.recurse(a.argument), this["unary" + a.operator](f, b); | |
| case se.BinaryExpression: | |
| return e = this.recurse(a.left), f = this.recurse(a.right), this["binary" + a.operator](e, f, b); | |
| case se.LogicalExpression: | |
| return e = this.recurse(a.left), f = this.recurse(a.right), this["binary" + a.operator](e, f, b); | |
| case se.ConditionalExpression: | |
| return this["ternary?:"](this.recurse(a.test), this.recurse(a.alternate), this.recurse(a.consequent), b); | |
| case se.Identifier: | |
| return Db(a.name, h.expression), h.identifier(a.name, h.expensiveChecks || Rb(a.name), b, c, h.expression); | |
| case se.MemberExpression: | |
| return e = this.recurse(a.object, !1, !!c), a.computed || (Db(a.property.name, h.expression), f = a.property.name), a.computed && (f = this.recurse(a.property)), a.computed ? this.computedMember(e, f, b, c, h.expression) : this.nonComputedMember(e, f, h.expensiveChecks, b, c, h.expression); | |
| case se.CallExpression: | |
| return g = [], d(a.arguments, function(a) { | |
| g.push(h.recurse(a)) | |
| }), a.filter && (f = this.$filter(a.callee.name)), a.filter || (f = this.recurse(a.callee, !0)), a.filter ? function(a, c, d, e) { | |
| for (var h = [], i = 0; i < g.length; ++i) h.push(g[i](a, c, d, e)); | |
| return a = f.apply(void 0, h, e), b ? { | |
| context: void 0, | |
| name: void 0, | |
| value: a | |
| } : a | |
| } : function(a, c, d, e) { | |
| var i, j = f(a, c, d, e); | |
| if (null != j.value) { | |
| Fb(j.context, h.expression), Gb(j.value, h.expression), i = []; | |
| for (var k = 0; k < g.length; ++k) i.push(Fb(g[k](a, c, d, e), h.expression)); | |
| i = Fb(j.value.apply(j.context, i), h.expression) | |
| } | |
| return b ? { | |
| value: i | |
| } : i | |
| }; | |
| case se.AssignmentExpression: | |
| return e = this.recurse(a.left, !0, 1), f = this.recurse(a.right), | |
| function(a, c, d, g) { | |
| var i = e(a, c, d, g); | |
| return a = f(a, c, d, g), Fb(i.value, h.expression), Hb(i.context), i.context[i.name] = a, b ? { | |
| value: a | |
| } : a | |
| }; | |
| case se.ArrayExpression: | |
| return g = [], d(a.elements, function(a) { | |
| g.push(h.recurse(a)) | |
| }), | |
| function(a, c, d, e) { | |
| for (var f = [], h = 0; h < g.length; ++h) f.push(g[h](a, c, d, e)); | |
| return b ? { | |
| value: f | |
| } : f | |
| }; | |
| case se.ObjectExpression: | |
| return g = [], d(a.properties, function(a) { | |
| a.computed ? g.push({ | |
| key: h.recurse(a.key), | |
| computed: !0, | |
| value: h.recurse(a.value) | |
| }) : g.push({ | |
| key: a.key.type === se.Identifier ? a.key.name : "" + a.key.value, | |
| computed: !1, | |
| value: h.recurse(a.value) | |
| }) | |
| }), | |
| function(a, c, d, e) { | |
| for (var f = {}, h = 0; h < g.length; ++h) g[h].computed ? f[g[h].key(a, c, d, e)] = g[h].value(a, c, d, e) : f[g[h].key] = g[h].value(a, c, d, e); | |
| return b ? { | |
| value: f | |
| } : f | |
| }; | |
| case se.ThisExpression: | |
| return function(a) { | |
| return b ? { | |
| value: a | |
| } : a | |
| }; | |
| case se.LocalsExpression: | |
| return function(a, c) { | |
| return b ? { | |
| value: c | |
| } : c | |
| }; | |
| case se.NGValueParameter: | |
| return function(a, c, d) { | |
| return b ? { | |
| value: d | |
| } : d | |
| } | |
| } | |
| }, | |
| "unary+": function(a, b) { | |
| return function(c, d, e, f) { | |
| return c = a(c, d, e, f), c = r(c) ? +c : 0, b ? { | |
| value: c | |
| } : c | |
| } | |
| }, | |
| "unary-": function(a, b) { | |
| return function(c, d, e, f) { | |
| return c = a(c, d, e, f), c = r(c) ? -c : 0, b ? { | |
| value: c | |
| } : c | |
| } | |
| }, | |
| "unary!": function(a, b) { | |
| return function(c, d, e, f) { | |
| return c = !a(c, d, e, f), b ? { | |
| value: c | |
| } : c | |
| } | |
| }, | |
| "binary+": function(a, b, c) { | |
| return function(d, e, f, g) { | |
| var h = a(d, e, f, g); | |
| return d = b(d, e, f, g), h = Jb(h, d), c ? { | |
| value: h | |
| } : h | |
| } | |
| }, | |
| "binary-": function(a, b, c) { | |
| return function(d, e, f, g) { | |
| var h = a(d, e, f, g); | |
| return d = b(d, e, f, g), h = (r(h) ? h : 0) - (r(d) ? d : 0), c ? { | |
| value: h | |
| } : h | |
| } | |
| }, | |
| "binary*": function(a, b, c) { | |
| return function(d, e, f, g) { | |
| return d = a(d, e, f, g) * b(d, e, f, g), c ? { | |
| value: d | |
| } : d | |
| } | |
| }, | |
| "binary/": function(a, b, c) { | |
| return function(d, e, f, g) { | |
| return d = a(d, e, f, g) / b(d, e, f, g), c ? { | |
| value: d | |
| } : d | |
| } | |
| }, | |
| "binary%": function(a, b, c) { | |
| return function(d, e, f, g) { | |
| return d = a(d, e, f, g) % b(d, e, f, g), c ? { | |
| value: d | |
| } : d | |
| } | |
| }, | |
| "binary===": function(a, b, c) { | |
| return function(d, e, f, g) { | |
| return d = a(d, e, f, g) === b(d, e, f, g), c ? { | |
| value: d | |
| } : d | |
| } | |
| }, | |
| "binary!==": function(a, b, c) { | |
| return function(d, e, f, g) { | |
| return d = a(d, e, f, g) !== b(d, e, f, g), c ? { | |
| value: d | |
| } : d | |
| } | |
| }, | |
| "binary==": function(a, b, c) { | |
| return function(d, e, f, g) { | |
| return d = a(d, e, f, g) == b(d, e, f, g), c ? { | |
| value: d | |
| } : d | |
| } | |
| }, | |
| "binary!=": function(a, b, c) { | |
| return function(d, e, f, g) { | |
| return d = a(d, e, f, g) != b(d, e, f, g), c ? { | |
| value: d | |
| } : d | |
| } | |
| }, | |
| "binary<": function(a, b, c) { | |
| return function(d, e, f, g) { | |
| return d = a(d, e, f, g) < b(d, e, f, g), c ? { | |
| value: d | |
| } : d | |
| } | |
| }, | |
| "binary>": function(a, b, c) { | |
| return function(d, e, f, g) { | |
| return d = a(d, e, f, g) > b(d, e, f, g), c ? { | |
| value: d | |
| } : d | |
| } | |
| }, | |
| "binary<=": function(a, b, c) { | |
| return function(d, e, f, g) { | |
| return d = a(d, e, f, g) <= b(d, e, f, g), c ? { | |
| value: d | |
| } : d | |
| } | |
| }, | |
| "binary>=": function(a, b, c) { | |
| return function(d, e, f, g) { | |
| return d = a(d, e, f, g) >= b(d, e, f, g), c ? { | |
| value: d | |
| } : d | |
| } | |
| }, | |
| "binary&&": function(a, b, c) { | |
| return function(d, e, f, g) { | |
| return d = a(d, e, f, g) && b(d, e, f, g), c ? { | |
| value: d | |
| } : d | |
| } | |
| }, | |
| "binary||": function(a, b, c) { | |
| return function(d, e, f, g) { | |
| return d = a(d, e, f, g) || b(d, e, f, g), c ? { | |
| value: d | |
| } : d | |
| } | |
| }, | |
| "ternary?:": function(a, b, c, d) { | |
| return function(e, f, g, h) { | |
| return e = a(e, f, g, h) ? b(e, f, g, h) : c(e, f, g, h), d ? { | |
| value: e | |
| } : e | |
| } | |
| }, | |
| value: function(a, b) { | |
| return function() { | |
| return b ? { | |
| context: void 0, | |
| name: void 0, | |
| value: a | |
| } : a | |
| } | |
| }, | |
| identifier: function(a, b, c, d, e) { | |
| return function(f, g, h, i) { | |
| return f = g && a in g ? g : f, d && 1 !== d && f && !f[a] && (f[a] = {}), g = f ? f[a] : void 0, b && Fb(g, e), c ? { | |
| context: f, | |
| name: a, | |
| value: g | |
| } : g | |
| } | |
| }, | |
| computedMember: function(a, b, c, d, e) { | |
| return function(f, g, h, i) { | |
| var j, k, l = a(f, g, h, i); | |
| return null != l && (j = b(f, g, h, i), j += "", Db(j, e), d && 1 !== d && (Hb(l), l && !l[j] && (l[j] = {})), k = l[j], Fb(k, e)), c ? { | |
| context: l, | |
| name: j, | |
| value: k | |
| } : k | |
| } | |
| }, | |
| nonComputedMember: function(a, b, c, d, e, f) { | |
| return function(g, h, i, j) { | |
| return g = a(g, h, i, j), e && 1 !== e && (Hb(g), g && !g[b] && (g[b] = {})), h = null != g ? g[b] : void 0, (c || Rb(b)) && Fb(h, f), d ? { | |
| context: g, | |
| name: b, | |
| value: h | |
| } : h | |
| } | |
| }, | |
| inputs: function(a, b) { | |
| return function(c, d, e, f) { | |
| return f ? f[b] : a(c, d, e) | |
| } | |
| } | |
| }; | |
| var te = function(a, b, c) { | |
| this.lexer = a, this.$filter = b, this.options = c, this.ast = new se(a, c), this.astCompiler = c.csp ? new Qb(this.ast, b) : new Pb(this.ast, b) | |
| }; | |
| te.prototype = { | |
| constructor: te, | |
| parse: function(a) { | |
| return this.astCompiler.compile(a, this.options.expensiveChecks) | |
| } | |
| }; | |
| var ue = Object.prototype.valueOf, | |
| ve = b("$sce"), | |
| we = { | |
| HTML: "html", | |
| CSS: "css", | |
| URL: "url", | |
| RESOURCE_URL: "resourceUrl", | |
| JS: "js" | |
| }, | |
| xe = b("$compile"), | |
| ye = a.document.createElement("a"), | |
| ze = gc(a.location.href); | |
| jc.$inject = ["$document"], lc.$inject = ["$provide"]; | |
| var Ae = 22, | |
| Be = ".", | |
| Ce = "0"; | |
| qc.$inject = ["$locale"], rc.$inject = ["$locale"]; | |
| var De = { | |
| yyyy: wc("FullYear", 4, 0, !1, !0), | |
| yy: wc("FullYear", 2, 0, !0, !0), | |
| y: wc("FullYear", 1, 0, !1, !0), | |
| MMMM: xc("Month"), | |
| MMM: xc("Month", !0), | |
| MM: wc("Month", 2, 1), | |
| M: wc("Month", 1, 1), | |
| LLLL: xc("Month", !1, !0), | |
| dd: wc("Date", 2), | |
| d: wc("Date", 1), | |
| HH: wc("Hours", 2), | |
| H: wc("Hours", 1), | |
| hh: wc("Hours", 2, -12), | |
| h: wc("Hours", 1, -12), | |
| mm: wc("Minutes", 2), | |
| m: wc("Minutes", 1), | |
| ss: wc("Seconds", 2), | |
| s: wc("Seconds", 1), | |
| sss: wc("Milliseconds", 3), | |
| EEEE: xc("Day"), | |
| EEE: xc("Day", !0), | |
| a: function(a, b) { | |
| return 12 > a.getHours() ? b.AMPMS[0] : b.AMPMS[1] | |
| }, | |
| Z: function(a, b, c) { | |
| return a = -1 * c, a = (0 <= a ? "+" : "") + (vc(Math[0 < a ? "floor" : "ceil"](a / 60), 2) + vc(Math.abs(a % 60), 2)) | |
| }, | |
| ww: zc(2), | |
| w: zc(1), | |
| G: Ac, | |
| GG: Ac, | |
| GGG: Ac, | |
| GGGG: function(a, b) { | |
| return 0 >= a.getFullYear() ? b.ERANAMES[0] : b.ERANAMES[1] | |
| } | |
| }, | |
| Ee = /((?:[^yMLdHhmsaZEwG']+)|(?:'(?:[^']|'')*')|(?:E+|y+|M+|L+|d+|H+|h+|m+|s+|a|Z|G+|w+))(.*)/, | |
| Fe = /^\-?\d+$/; | |
| Bc.$inject = ["$locale"]; | |
| var Ge = o(Xc), | |
| He = o(Yc); | |
| Fc.$inject = ["$parse"]; | |
| var Ie = o({ | |
| restrict: "E", | |
| compile: function(a, b) { | |
| if (!b.href && !b.xlinkHref) return function(a, b) { | |
| if ("a" === b[0].nodeName.toLowerCase()) { | |
| var c = "[object SVGAnimatedString]" === ad.call(b.prop("href")) ? "xlink:href" : "href"; | |
| b.on("click", function(a) { | |
| b.attr(c) || a.preventDefault() | |
| }) | |
| } | |
| } | |
| } | |
| }), | |
| Je = {}; | |
| d(Ed, function(a, b) { | |
| function c(a, c, e) { | |
| a.$watch(e[d], function(a) { | |
| e.$set(b, !!a) | |
| }) | |
| } | |
| if ("multiple" != a) { | |
| var d = Ya("ng-" + b), | |
| e = c; | |
| "checked" === a && (e = function(a, b, e) { | |
| e.ngModel !== e[d] && c(a, b, e) | |
| }), Je[d] = function() { | |
| return { | |
| restrict: "A", | |
| priority: 100, | |
| link: e | |
| } | |
| } | |
| } | |
| }), d(Gd, function(a, b) { | |
| Je[b] = function() { | |
| return { | |
| priority: 100, | |
| link: function(a, c, d) { | |
| return "ngPattern" === b && "/" == d.ngPattern.charAt(0) && (c = d.ngPattern.match(Vc)) ? void d.$set("ngPattern", new RegExp(c[1], c[2])) : void a.$watch(d[b], function(a) { | |
| d.$set(b, a) | |
| }) | |
| } | |
| } | |
| } | |
| }), d(["src", "srcset", "href"], function(a) { | |
| var b = Ya("ng-" + a); | |
| Je[b] = function() { | |
| return { | |
| priority: 99, | |
| link: function(c, d, e) { | |
| var f = a, | |
| g = a; | |
| "href" === a && "[object SVGAnimatedString]" === ad.call(d.prop("href")) && (g = "xlinkHref", e.$attr[g] = "xlink:href", f = null), e.$observe(b, function(b) { | |
| b ? (e.$set(g, b), Rc && f && d.prop(f, e[g])) : "href" === a && e.$set(g, null) | |
| }) | |
| } | |
| } | |
| } | |
| }); | |
| var Ke = { | |
| $addControl: m, | |
| $$renameControl: function(a, b) { | |
| a.$name = b | |
| }, | |
| $removeControl: m, | |
| $setValidity: m, | |
| $setDirty: m, | |
| $setPristine: m, | |
| $setSubmitted: m | |
| }; | |
| Hc.$inject = ["$element", "$attrs", "$scope", "$animate", "$interpolate"]; | |
| var Le = function(a) { | |
| return ["$timeout", "$parse", function(b, c) { | |
| function d(a) { | |
| return "" === a ? c('this[""]').assign : c(a).assign || m | |
| } | |
| return { | |
| name: "form", | |
| restrict: a ? "EAC" : "E", | |
| require: ["form", "^^?form"], | |
| controller: Hc, | |
| compile: function(c, e) { | |
| c.addClass(tf).addClass(rf); | |
| var f = e.name ? "name" : !(!a || !e.ngForm) && "ngForm"; | |
| return { | |
| pre: function(a, c, e, g) { | |
| var h = g[0]; | |
| if (!("action" in e)) { | |
| var j = function(b) { | |
| a.$apply(function() { | |
| h.$commitViewValue(), h.$setSubmitted() | |
| }), b.preventDefault() | |
| }; | |
| c[0].addEventListener("submit", j, !1), c.on("$destroy", function() { | |
| b(function() { | |
| c[0].removeEventListener("submit", j, !1) | |
| }, 0, !1) | |
| }) | |
| }(g[1] || h.$$parentForm).$addControl(h); | |
| var k = f ? d(h.$name) : m; | |
| f && (k(a, h), e.$observe(f, function(b) { | |
| h.$name !== b && (k(a, void 0), h.$$parentForm.$$renameControl(h, b), (k = d(h.$name))(a, h)) | |
| })), c.on("$destroy", function() { | |
| h.$$parentForm.$removeControl(h), k(a, void 0), i(h, Ke) | |
| }) | |
| } | |
| } | |
| } | |
| } | |
| }] | |
| }, | |
| Me = Le(), | |
| Ne = Le(!0), | |
| Oe = /^\d{4,}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d\.\d+(?:[+-][0-2]\d:[0-5]\d|Z)$/, | |
| Pe = /^[a-z][a-z\d.+-]*:\/*(?:[^:@]+(?::[^@]+)?@)?(?:[^\s:\/?#]+|\[[a-f\d:]+\])(?::\d+)?(?:\/[^?#]*)?(?:\?[^#]*)?(?:#.*)?$/i, | |
| Qe = /^(?=.{1,254}$)(?=.{1,64}@)[-!#$%&'*+\/0-9=?A-Z^_`a-z{|}~]+(\.[-!#$%&'*+\/0-9=?A-Z^_`a-z{|}~]+)*@[A-Za-z0-9]([A-Za-z0-9-]{0,61}[A-Za-z0-9])?(\.[A-Za-z0-9]([A-Za-z0-9-]{0,61}[A-Za-z0-9])?)*$/, | |
| Re = /^\s*(\-|\+)?(\d+|(\d*(\.\d*)))([eE][+-]?\d+)?\s*$/, | |
| Se = /^(\d{4,})-(\d{2})-(\d{2})$/, | |
| Te = /^(\d{4,})-(\d\d)-(\d\d)T(\d\d):(\d\d)(?::(\d\d)(\.\d{1,3})?)?$/, | |
| Ue = /^(\d{4,})-W(\d\d)$/, | |
| Ve = /^(\d{4,})-(\d\d)$/, | |
| We = /^(\d\d):(\d\d)(?::(\d\d)(\.\d{1,3})?)?$/, | |
| Xe = ga(); | |
| d(["date", "datetime-local", "month", "time", "week"], function(a) { | |
| Xe[a] = !0 | |
| }); | |
| var Ye = { | |
| text: function(a, b, c, d, e, f) { | |
| Jc(a, b, c, d, e, f), Ic(d) | |
| }, | |
| date: Lc("date", Se, Kc(Se, ["yyyy", "MM", "dd"]), "yyyy-MM-dd"), | |
| "datetime-local": Lc("datetimelocal", Te, Kc(Te, "yyyy MM dd HH mm ss sss".split(" ")), "yyyy-MM-ddTHH:mm:ss.sss"), | |
| time: Lc("time", We, Kc(We, ["HH", "mm", "ss", "sss"]), "HH:mm:ss.sss"), | |
| week: Lc("week", Ue, function(a, b) { | |
| if (w(a)) return a; | |
| if (u(a)) { | |
| Ue.lastIndex = 0; | |
| var c = Ue.exec(a); | |
| if (c) { | |
| var d = +c[1], | |
| e = +c[2], | |
| f = c = 0, | |
| g = 0, | |
| h = 0, | |
| i = yc(d), | |
| e = 7 * (e - 1); | |
| return b && (c = b.getHours(), f = b.getMinutes(), g = b.getSeconds(), h = b.getMilliseconds()), new Date(d, 0, i.getDate() + e, c, f, g, h) | |
| } | |
| } | |
| return NaN | |
| }, "yyyy-Www"), | |
| month: Lc("month", Ve, Kc(Ve, ["yyyy", "MM"]), "yyyy-MM"), | |
| number: function(a, b, c, d, e, f) { | |
| if (Mc(a, b, c, d), Jc(a, b, c, d, e, f), d.$$parserName = "number", d.$parsers.push(function(a) { | |
| return d.$isEmpty(a) ? null : Re.test(a) ? parseFloat(a) : void 0 | |
| }), d.$formatters.push(function(a) { | |
| if (!d.$isEmpty(a)) { | |
| if (!v(a)) throw wf("numfmt", a); | |
| a = a.toString() | |
| } | |
| return a | |
| }), r(c.min) || c.ngMin) { | |
| var g; | |
| d.$validators.min = function(a) { | |
| return d.$isEmpty(a) || q(g) || a >= g | |
| }, c.$observe("min", function(a) { | |
| r(a) && !v(a) && (a = parseFloat(a, 10)), g = v(a) && !isNaN(a) ? a : void 0, d.$validate() | |
| }) | |
| } | |
| if (r(c.max) || c.ngMax) { | |
| var h; | |
| d.$validators.max = function(a) { | |
| return d.$isEmpty(a) || q(h) || a <= h | |
| }, c.$observe("max", function(a) { | |
| r(a) && !v(a) && (a = parseFloat(a, 10)), h = v(a) && !isNaN(a) ? a : void 0, d.$validate() | |
| }) | |
| } | |
| }, | |
| url: function(a, b, c, d, e, f) { | |
| Jc(a, b, c, d, e, f), Ic(d), d.$$parserName = "url", d.$validators.url = function(a, b) { | |
| var c = a || b; | |
| return d.$isEmpty(c) || Pe.test(c) | |
| } | |
| }, | |
| email: function(a, b, c, d, e, f) { | |
| Jc(a, b, c, d, e, f), Ic(d), d.$$parserName = "email", d.$validators.email = function(a, b) { | |
| var c = a || b; | |
| return d.$isEmpty(c) || Qe.test(c) | |
| } | |
| }, | |
| radio: function(a, b, c, d) { | |
| q(c.name) && b.attr("name", ++ed), b.on("click", function(a) { | |
| b[0].checked && d.$setViewValue(c.value, a && a.type) | |
| }), d.$render = function() { | |
| b[0].checked = c.value == d.$viewValue | |
| }, c.$observe("value", d.$render) | |
| }, | |
| checkbox: function(a, b, c, d, e, f, g, h) { | |
| var i = Nc(h, a, "ngTrueValue", c.ngTrueValue, !0), | |
| j = Nc(h, a, "ngFalseValue", c.ngFalseValue, !1); | |
| b.on("click", function(a) { | |
| d.$setViewValue(b[0].checked, a && a.type) | |
| }), d.$render = function() { | |
| b[0].checked = d.$viewValue | |
| }, d.$isEmpty = function(a) { | |
| return !1 === a | |
| }, d.$formatters.push(function(a) { | |
| return I(a, i) | |
| }), d.$parsers.push(function(a) { | |
| return a ? i : j | |
| }) | |
| }, | |
| hidden: m, | |
| button: m, | |
| submit: m, | |
| reset: m, | |
| file: m | |
| }, | |
| Ze = ["$browser", "$sniffer", "$filter", "$parse", function(a, b, c, d) { | |
| return { | |
| restrict: "E", | |
| require: ["?ngModel"], | |
| link: { | |
| pre: function(e, f, g, h) { | |
| h[0] && (Ye[Xc(g.type)] || Ye.text)(e, f, g, h[0], b, a, c, d) | |
| } | |
| } | |
| } | |
| }], | |
| $e = /^(true|false|\d+)$/, | |
| _e = function() { | |
| return { | |
| restrict: "A", | |
| priority: 100, | |
| compile: function(a, b) { | |
| return $e.test(b.ngValue) ? function(a, b, c) { | |
| c.$set("value", a.$eval(c.ngValue)) | |
| } : function(a, b, c) { | |
| a.$watch(c.ngValue, function(a) { | |
| c.$set("value", a) | |
| }) | |
| } | |
| } | |
| } | |
| }, | |
| af = ["$compile", function(a) { | |
| return { | |
| restrict: "AC", | |
| compile: function(b) { | |
| return a.$$addBindingClass(b), | |
| function(b, c, d) { | |
| a.$$addBindingInfo(c, d.ngBind), c = c[0], b.$watch(d.ngBind, function(a) { | |
| c.textContent = q(a) ? "" : a | |
| }) | |
| } | |
| } | |
| } | |
| }], | |
| bf = ["$interpolate", "$compile", function(a, b) { | |
| return { | |
| compile: function(c) { | |
| return b.$$addBindingClass(c), | |
| function(c, d, e) { | |
| c = a(d.attr(e.$attr.ngBindTemplate)), b.$$addBindingInfo(d, c.expressions), d = d[0], e.$observe("ngBindTemplate", function(a) { | |
| d.textContent = q(a) ? "" : a | |
| }) | |
| } | |
| } | |
| } | |
| }], | |
| cf = ["$sce", "$parse", "$compile", function(a, b, c) { | |
| return { | |
| restrict: "A", | |
| compile: function(d, e) { | |
| var f = b(e.ngBindHtml), | |
| g = b(e.ngBindHtml, function(b) { | |
| return a.valueOf(b) | |
| }); | |
| return c.$$addBindingClass(d), | |
| function(b, d, e) { | |
| c.$$addBindingInfo(d, e.ngBindHtml), b.$watch(g, function() { | |
| var c = f(b); | |
| d.html(a.getTrustedHtml(c) || "") | |
| }) | |
| } | |
| } | |
| } | |
| }], | |
| df = o({ | |
| restrict: "A", | |
| require: "ngModel", | |
| link: function(a, b, c, d) { | |
| d.$viewChangeListeners.push(function() { | |
| a.$eval(c.ngChange) | |
| }) | |
| } | |
| }), | |
| ef = Oc("", !0), | |
| ff = Oc("Odd", 0), | |
| gf = Oc("Even", 1), | |
| hf = Gc({ | |
| compile: function(a, b) { | |
| b.$set("ngCloak", void 0), a.removeClass("ng-cloak") | |
| } | |
| }), | |
| jf = [function() { | |
| return { | |
| restrict: "A", | |
| scope: !0, | |
| controller: "@", | |
| priority: 500 | |
| } | |
| }], | |
| kf = {}, | |
| lf = { | |
| blur: !0, | |
| focus: !0 | |
| }; | |
| d("click dblclick mousedown mouseup mouseover mouseout mousemove mouseenter mouseleave keydown keyup keypress submit focus blur copy cut paste".split(" "), function(a) { | |
| var b = Ya("ng-" + a); | |
| kf[b] = ["$parse", "$rootScope", function(c, d) { | |
| return { | |
| restrict: "A", | |
| compile: function(e, f) { | |
| var g = c(f[b], null, !0); | |
| return function(b, c) { | |
| c.on(a, function(c) { | |
| var e = function() { | |
| g(b, { | |
| $event: c | |
| }) | |
| }; | |
| lf[a] && d.$$phase ? b.$evalAsync(e) : b.$apply(e) | |
| }) | |
| } | |
| } | |
| } | |
| }] | |
| }); | |
| var mf = ["$animate", "$compile", function(a, b) { | |
| return { | |
| multiElement: !0, | |
| transclude: "element", | |
| priority: 600, | |
| terminal: !0, | |
| restrict: "A", | |
| $$tlb: !0, | |
| link: function(c, d, e, f, g) { | |
| var h, i, j; | |
| c.$watch(e.ngIf, function(c) { | |
| c ? i || g(function(c, f) { | |
| i = f, c[c.length++] = b.$$createComment("end ngIf", e.ngIf), h = { | |
| clone: c | |
| }, a.enter(c, d.parent(), d) | |
| }) : (j && (j.remove(), j = null), i && (i.$destroy(), i = null), h && (j = fa(h.clone), a.leave(j).then(function() { | |
| j = null | |
| }), h = null)) | |
| }) | |
| } | |
| } | |
| }], | |
| nf = ["$templateRequest", "$anchorScroll", "$animate", function(a, b, c) { | |
| return { | |
| restrict: "ECA", | |
| priority: 400, | |
| terminal: !0, | |
| transclude: "element", | |
| controller: dd.noop, | |
| compile: function(d, e) { | |
| var f = e.ngInclude || e.src, | |
| g = e.onload || "", | |
| h = e.autoscroll; | |
| return function(d, e, i, j, k) { | |
| var l, m, n, o = 0, | |
| p = function() { | |
| m && (m.remove(), m = null), l && (l.$destroy(), l = null), n && (c.leave(n).then(function() { | |
| m = null | |
| }), m = n, n = null) | |
| }; | |
| d.$watch(f, function(f) { | |
| var i = function() { | |
| !r(h) || h && !d.$eval(h) || b() | |
| }, | |
| m = ++o; | |
| f ? (a(f, !0).then(function(a) { | |
| if (!d.$$destroyed && m === o) { | |
| var b = d.$new(); | |
| j.template = a, a = k(b, function(a) { | |
| p(), c.enter(a, null, e).then(i) | |
| }), l = b, n = a, l.$emit("$includeContentLoaded", f), d.$eval(g) | |
| } | |
| }, function() { | |
| d.$$destroyed || m !== o || (p(), d.$emit("$includeContentError", f)) | |
| }), d.$emit("$includeContentRequested", f)) : (p(), j.template = null) | |
| }) | |
| } | |
| } | |
| } | |
| }], | |
| of = ["$compile", function(b) { | |
| return { | |
| restrict: "ECA", | |
| priority: -400, | |
| require: "ngInclude", | |
| link: function(c, d, e, f) { | |
| ad.call(d[0]).match(/SVG/) ? (d.empty(), b(ma(f.template, a.document).childNodes)(c, function(a) { | |
| d.append(a) | |
| }, { | |
| futureParentElement: d | |
| })) : (d.html(f.template), b(d.contents())(c)) | |
| } | |
| } | |
| }], | |
| pf = Gc({ | |
| priority: 450, | |
| compile: function() { | |
| return { | |
| pre: function(a, b, c) { | |
| a.$eval(c.ngInit) | |
| } | |
| } | |
| } | |
| }), | |
| qf = function() { | |
| return { | |
| restrict: "A", | |
| priority: 100, | |
| require: "ngModel", | |
| link: function(a, b, c, e) { | |
| var f = b.attr(c.$attr.ngList) || ", ", | |
| g = "false" !== c.ngTrim, | |
| h = g ? hd(f) : f; | |
| e.$parsers.push(function(a) { | |
| if (!q(a)) { | |
| var b = []; | |
| return a && d(a.split(h), function(a) { | |
| a && b.push(g ? hd(a) : a) | |
| }), b | |
| } | |
| }), e.$formatters.push(function(a) { | |
| if (fd(a)) return a.join(f) | |
| }), e.$isEmpty = function(a) { | |
| return !a || !a.length | |
| } | |
| } | |
| } | |
| }, | |
| rf = "ng-valid", | |
| sf = "ng-invalid", | |
| tf = "ng-pristine", | |
| uf = "ng-dirty", | |
| vf = "ng-pending", | |
| wf = b("ngModel"), | |
| xf = ["$scope", "$exceptionHandler", "$attrs", "$element", "$parse", "$animate", "$timeout", "$rootScope", "$q", "$interpolate", function(a, b, c, e, f, g, h, i, j, k) { | |
| this.$modelValue = this.$viewValue = Number.NaN, this.$$rawModelValue = void 0, this.$validators = {}, this.$asyncValidators = {}, this.$parsers = [], this.$formatters = [], this.$viewChangeListeners = [], this.$untouched = !0, this.$touched = !1, this.$pristine = !0, this.$dirty = !1, this.$valid = !0, this.$invalid = !1, this.$error = {}, this.$$success = {}, this.$pending = void 0, this.$name = k(c.name || "", !1)(a), this.$$parentForm = Ke; | |
| var l, n = f(c.ngModel), | |
| o = n.assign, | |
| p = n, | |
| s = o, | |
| t = null, | |
| u = this; | |
| this.$$setOptions = function(a) { | |
| if ((u.$options = a) && a.getterSetter) { | |
| var b = f(c.ngModel + "()"), | |
| d = f(c.ngModel + "($$$p)"); | |
| p = function(a) { | |
| var c = n(a); | |
| return x(c) && (c = b(a)), c | |
| }, s = function(a, b) { | |
| x(n(a)) ? d(a, { | |
| $$$p: b | |
| }) : o(a, b) | |
| } | |
| } else if (!n.assign) throw wf("nonassign", c.ngModel, Q(e)) | |
| }, this.$render = m, this.$isEmpty = function(a) { | |
| return q(a) || "" === a || null === a || a !== a | |
| }, this.$$updateEmptyClasses = function(a) { | |
| u.$isEmpty(a) ? (g.removeClass(e, "ng-not-empty"), g.addClass(e, "ng-empty")) : (g.removeClass(e, "ng-empty"), g.addClass(e, "ng-not-empty")) | |
| }; | |
| var w = 0; | |
| Pc({ | |
| ctrl: this, | |
| $element: e, | |
| set: function(a, b) { | |
| a[b] = !0 | |
| }, | |
| unset: function(a, b) { | |
| delete a[b] | |
| }, | |
| $animate: g | |
| }), this.$setPristine = function() { | |
| u.$dirty = !1, u.$pristine = !0, g.removeClass(e, uf), g.addClass(e, tf) | |
| }, this.$setDirty = function() { | |
| u.$dirty = !0, u.$pristine = !1, g.removeClass(e, tf), g.addClass(e, uf), u.$$parentForm.$setDirty() | |
| }, this.$setUntouched = function() { | |
| u.$touched = !1, u.$untouched = !0, g.setClass(e, "ng-untouched", "ng-touched") | |
| }, this.$setTouched = function() { | |
| u.$touched = !0, u.$untouched = !1, g.setClass(e, "ng-touched", "ng-untouched") | |
| }, this.$rollbackViewValue = function() { | |
| h.cancel(t), u.$viewValue = u.$$lastCommittedViewValue, u.$render() | |
| }, this.$validate = function() { | |
| if (!v(u.$modelValue) || !isNaN(u.$modelValue)) { | |
| var a = u.$$rawModelValue, | |
| b = u.$valid, | |
| c = u.$modelValue, | |
| d = u.$options && u.$options.allowInvalid; | |
| u.$$runValidators(a, u.$$lastCommittedViewValue, function(e) { | |
| d || b === e || (u.$modelValue = e ? a : void 0, u.$modelValue !== c && u.$$writeModelToScope()) | |
| }) | |
| } | |
| }, this.$$runValidators = function(a, b, c) { | |
| function e() { | |
| var c = !0; | |
| return d(u.$validators, function(d, e) { | |
| var f = d(a, b); | |
| c = c && f, g(e, f) | |
| }), !!c || (d(u.$asyncValidators, function(a, b) { | |
| g(b, null) | |
| }), !1) | |
| } | |
| function f() { | |
| var c = [], | |
| e = !0; | |
| d(u.$asyncValidators, function(d, f) { | |
| var h = d(a, b); | |
| if (!h || !x(h.then)) throw wf("nopromise", h); | |
| g(f, void 0), c.push(h.then(function() { | |
| g(f, !0) | |
| }, function() { | |
| e = !1, g(f, !1) | |
| })) | |
| }), c.length ? j.all(c).then(function() { | |
| h(e) | |
| }, m) : h(!0) | |
| } | |
| function g(a, b) { | |
| i === w && u.$setValidity(a, b) | |
| } | |
| function h(a) { | |
| i === w && c(a) | |
| } | |
| w++; | |
| var i = w; | |
| (function() { | |
| var a = u.$$parserName || "parse"; | |
| return q(l) ? (g(a, null), !0) : (l || (d(u.$validators, function(a, b) { | |
| g(b, null) | |
| }), d(u.$asyncValidators, function(a, b) { | |
| g(b, null) | |
| })), g(a, l), l) | |
| })() && e() ? f() : h(!1) | |
| }, this.$commitViewValue = function() { | |
| var a = u.$viewValue; | |
| h.cancel(t), (u.$$lastCommittedViewValue !== a || "" === a && u.$$hasNativeValidators) && (u.$$updateEmptyClasses(a), u.$$lastCommittedViewValue = a, u.$pristine && this.$setDirty(), this.$$parseAndValidate()) | |
| }, this.$$parseAndValidate = function() { | |
| var b = u.$$lastCommittedViewValue; | |
| if (l = !q(b) || void 0) | |
| for (var c = 0; c < u.$parsers.length; c++) | |
| if (b = u.$parsers[c](b), q(b)) { | |
| l = !1; | |
| break | |
| } | |
| v(u.$modelValue) && isNaN(u.$modelValue) && (u.$modelValue = p(a)); | |
| var d = u.$modelValue, | |
| e = u.$options && u.$options.allowInvalid; | |
| u.$$rawModelValue = b, e && (u.$modelValue = b, u.$modelValue !== d && u.$$writeModelToScope()), u.$$runValidators(b, u.$$lastCommittedViewValue, function(a) { | |
| e || (u.$modelValue = a ? b : void 0, u.$modelValue !== d && u.$$writeModelToScope()) | |
| }) | |
| }, this.$$writeModelToScope = function() { | |
| s(a, u.$modelValue), d(u.$viewChangeListeners, function(a) { | |
| try { | |
| a() | |
| } catch (a) { | |
| b(a) | |
| } | |
| }) | |
| }, this.$setViewValue = function(a, b) { | |
| u.$viewValue = a, u.$options && !u.$options.updateOnDefault || u.$$debounceViewValueCommit(b) | |
| }, this.$$debounceViewValueCommit = function(b) { | |
| var c = 0, | |
| d = u.$options; | |
| d && r(d.debounce) && (d = d.debounce, v(d) ? c = d : v(d[b]) ? c = d[b] : v(d.default) && (c = d.default)), h.cancel(t), c ? t = h(function() { | |
| u.$commitViewValue() | |
| }, c) : i.$$phase ? u.$commitViewValue() : a.$apply(function() { | |
| u.$commitViewValue() | |
| }) | |
| }, a.$watch(function() { | |
| var b = p(a); | |
| if (b !== u.$modelValue && (u.$modelValue === u.$modelValue || b === b)) { | |
| u.$modelValue = u.$$rawModelValue = b, l = void 0; | |
| for (var c = u.$formatters, d = c.length, e = b; d--;) e = c[d](e); | |
| u.$viewValue !== e && (u.$$updateEmptyClasses(e), u.$viewValue = u.$$lastCommittedViewValue = e, u.$render(), u.$$runValidators(b, e, m)) | |
| } | |
| return b | |
| }) | |
| }], | |
| yf = ["$rootScope", function(a) { | |
| return { | |
| restrict: "A", | |
| require: ["ngModel", "^?form", "^?ngModelOptions"], | |
| controller: xf, | |
| priority: 1, | |
| compile: function(b) { | |
| return b.addClass(tf).addClass("ng-untouched").addClass(rf), { | |
| pre: function(a, b, c, d) { | |
| var e = d[0]; | |
| b = d[1] || e.$$parentForm, e.$$setOptions(d[2] && d[2].$options), b.$addControl(e), c.$observe("name", function(a) { | |
| e.$name !== a && e.$$parentForm.$$renameControl(e, a) | |
| }), a.$on("$destroy", function() { | |
| e.$$parentForm.$removeControl(e) | |
| }) | |
| }, | |
| post: function(b, c, d, e) { | |
| var f = e[0]; | |
| f.$options && f.$options.updateOn && c.on(f.$options.updateOn, function(a) { | |
| f.$$debounceViewValueCommit(a && a.type) | |
| }), c.on("blur", function() { | |
| f.$touched || (a.$$phase ? b.$evalAsync(f.$setTouched) : b.$apply(f.$setTouched)) | |
| }) | |
| } | |
| } | |
| } | |
| } | |
| }], | |
| zf = /(\s+|^)default(\s+|$)/, | |
| Af = function() { | |
| return { | |
| restrict: "A", | |
| controller: ["$scope", "$attrs", function(a, b) { | |
| var c = this; | |
| this.$options = H(a.$eval(b.ngModelOptions)), r(this.$options.updateOn) ? (this.$options.updateOnDefault = !1, this.$options.updateOn = hd(this.$options.updateOn.replace(zf, function() { | |
| return c.$options.updateOnDefault = !0, " " | |
| }))) : this.$options.updateOnDefault = !0 | |
| }] | |
| } | |
| }, | |
| Bf = Gc({ | |
| terminal: !0, | |
| priority: 1e3 | |
| }), | |
| Cf = b("ngOptions"), | |
| Df = /^\s*([\s\S]+?)(?:\s+as\s+([\s\S]+?))?(?:\s+group\s+by\s+([\s\S]+?))?(?:\s+disable\s+when\s+([\s\S]+?))?\s+for\s+(?:([\$\w][\$\w]*)|(?:\(\s*([\$\w][\$\w]*)\s*,\s*([\$\w][\$\w]*)\s*\)))\s+in\s+([\s\S]+?)(?:\s+track\s+by\s+([\s\S]+?))?$/, | |
| Ef = ["$compile", "$document", "$parse", function(b, e, f) { | |
| function g(a, b, d) { | |
| function e(a, b, c, d, e) { | |
| this.selectValue = a, this.viewValue = b, this.label = c, this.group = d, this.disabled = e | |
| } | |
| function g(a) { | |
| var b; | |
| if (!j && c(a)) b = a; | |
| else { | |
| b = []; | |
| for (var d in a) a.hasOwnProperty(d) && "$" !== d.charAt(0) && b.push(d) | |
| } | |
| return b | |
| } | |
| var h = a.match(Df); | |
| if (!h) throw Cf("iexp", a, Q(b)); | |
| var i = h[5] || h[7], | |
| j = h[6]; | |
| a = / as /.test(h[0]) && h[1]; | |
| var k = h[9]; | |
| b = f(h[2] ? h[1] : i); | |
| var l = a && f(a) || b, | |
| m = k && f(k), | |
| n = k ? function(a, b) { | |
| return m(d, b) | |
| } : function(a) { | |
| return Ja(a) | |
| }, | |
| o = function(a, b) { | |
| return n(a, u(a, b)) | |
| }, | |
| p = f(h[2] || h[1]), | |
| q = f(h[3] || ""), | |
| r = f(h[4] || ""), | |
| s = f(h[8]), | |
| t = {}, | |
| u = j ? function(a, b) { | |
| return t[j] = b, t[i] = a, t | |
| } : function(a) { | |
| return t[i] = a, t | |
| }; | |
| return { | |
| trackBy: k, | |
| getTrackByValue: o, | |
| getWatchables: f(s, function(a) { | |
| var b = []; | |
| a = a || []; | |
| for (var c = g(a), e = c.length, f = 0; f < e; f++) { | |
| var i = a === c ? f : c[f], | |
| j = a[i], | |
| i = u(j, i), | |
| j = n(j, i); | |
| b.push(j), (h[2] || h[1]) && (j = p(d, i), b.push(j)), h[4] && (i = r(d, i), b.push(i)) | |
| } | |
| return b | |
| }), | |
| getOptions: function() { | |
| for (var a = [], b = {}, c = s(d) || [], f = g(c), h = f.length, i = 0; i < h; i++) { | |
| var j = c === f ? i : f[i], | |
| m = u(c[j], j), | |
| t = l(d, m), | |
| j = n(t, m), | |
| v = p(d, m), | |
| w = q(d, m), | |
| m = r(d, m), | |
| t = new e(j, t, v, w, m); | |
| a.push(t), b[j] = t | |
| } | |
| return { | |
| items: a, | |
| selectValueMap: b, | |
| getOptionFromViewValue: function(a) { | |
| return b[o(a)] | |
| }, | |
| getViewValueFromOption: function(a) { | |
| return k ? dd.copy(a.viewValue) : a.viewValue | |
| } | |
| } | |
| } | |
| } | |
| } | |
| var h = a.document.createElement("option"), | |
| i = a.document.createElement("optgroup"); | |
| return { | |
| restrict: "A", | |
| terminal: !0, | |
| require: ["select", "ngModel"], | |
| link: { | |
| pre: function(a, b, c, d) { | |
| d[0].registerOption = m | |
| }, | |
| post: function(a, c, f, j) { | |
| function k(a, b) { | |
| a.element = b, b.disabled = a.disabled, a.label !== b.label && (b.label = a.label, b.textContent = a.label), a.value !== b.value && (b.value = a.selectValue) | |
| } | |
| function l() { | |
| var a = v && n.readValue(); | |
| if (v) | |
| for (var b = v.items.length - 1; 0 <= b; b--) { | |
| var d = v.items[b]; | |
| Ca(d.group ? d.element.parentNode : d.element) | |
| } | |
| v = w.getOptions(); | |
| var e = {}; | |
| t && c.prepend(m), v.items.forEach(function(a) { | |
| var b; | |
| if (r(a.group)) { | |
| b = e[a.group], b || (b = i.cloneNode(!1), x.appendChild(b), b.label = a.group, e[a.group] = b); | |
| var c = h.cloneNode(!1) | |
| } else b = x, c = h.cloneNode(!1); | |
| b.appendChild(c), k(a, c) | |
| }), c[0].appendChild(x), o.$render(), o.$isEmpty(a) || (b = n.readValue(), (w.trackBy || p ? I(a, b) : a === b) || (o.$setViewValue(b), o.$render())) | |
| } | |
| var m, n = j[0], | |
| o = j[1], | |
| p = f.multiple; | |
| j = 0; | |
| for (var q = c.children(), s = q.length; j < s; j++) | |
| if ("" === q[j].value) { | |
| m = q.eq(j); | |
| break | |
| } | |
| var t = !!m, | |
| u = Sc(h.cloneNode(!1)); | |
| u.val("?"); | |
| var v, w = g(f.ngOptions, c, a), | |
| x = e[0].createDocumentFragment(); | |
| p ? (o.$isEmpty = function(a) { | |
| return !a || 0 === a.length | |
| }, n.writeValue = function(a) { | |
| v.items.forEach(function(a) { | |
| a.element.selected = !1 | |
| }), a && a.forEach(function(a) { | |
| (a = v.getOptionFromViewValue(a)) && (a.element.selected = !0) | |
| }) | |
| }, n.readValue = function() { | |
| var a = c.val() || [], | |
| b = []; | |
| return d(a, function(a) { | |
| (a = v.selectValueMap[a]) && !a.disabled && b.push(v.getViewValueFromOption(a)) | |
| }), b | |
| }, w.trackBy && a.$watchCollection(function() { | |
| if (fd(o.$viewValue)) return o.$viewValue.map(function(a) { | |
| return w.getTrackByValue(a) | |
| }) | |
| }, function() { | |
| o.$render() | |
| })) : (n.writeValue = function(a) { | |
| var b = v.getOptionFromViewValue(a); | |
| b ? (c[0].value !== b.selectValue && (u.remove(), t || m.remove(), c[0].value = b.selectValue, b.element.selected = !0), b.element.setAttribute("selected", "selected")) : null === a || t ? (u.remove(), t || c.prepend(m), c.val(""), m.prop("selected", !0), m.attr("selected", !0)) : (t || m.remove(), c.prepend(u), c.val("?"), u.prop("selected", !0), u.attr("selected", !0)) | |
| }, n.readValue = function() { | |
| var a = v.selectValueMap[c.val()]; | |
| return a && !a.disabled ? (t || m.remove(), u.remove(), v.getViewValueFromOption(a)) : null | |
| }, w.trackBy && a.$watch(function() { | |
| return w.getTrackByValue(o.$viewValue) | |
| }, function() { | |
| o.$render() | |
| })), t ? (m.remove(), b(m)(a), m.removeClass("ng-scope")) : m = Sc(h.cloneNode(!1)), c.empty(), l(), a.$watchCollection(w.getWatchables, l) | |
| } | |
| } | |
| } | |
| }], | |
| Ff = ["$locale", "$interpolate", "$log", function(a, b, c) { | |
| var e = /{}/g, | |
| f = /^when(Minus)?(.+)$/; | |
| return { | |
| link: function(g, h, i) { | |
| function j(a) { | |
| h.text(a || "") | |
| } | |
| var k, l = i.count, | |
| n = i.$attr.when && h.attr(i.$attr.when), | |
| o = i.offset || 0, | |
| p = g.$eval(n) || {}, | |
| r = {}, | |
| s = b.startSymbol(), | |
| t = b.endSymbol(), | |
| u = s + l + "-" + o + t, | |
| w = dd.noop; | |
| d(i, function(a, b) { | |
| var c = f.exec(b); | |
| c && (c = (c[1] ? "-" : "") + Xc(c[2]), p[c] = h.attr(i.$attr[b])) | |
| }), d(p, function(a, c) { | |
| r[c] = b(a.replace(e, u)) | |
| }), g.$watch(l, function(b) { | |
| var d = parseFloat(b), | |
| e = isNaN(d); | |
| e || d in p || (d = a.pluralCat(d - o)), d === k || e && v(k) && isNaN(k) || (w(), e = r[d], q(e) ? (null != b && c.debug("ngPluralize: no rule defined for '" + d + "' in " + n), w = m, j()) : w = g.$watch(e, j), k = d) | |
| }) | |
| } | |
| } | |
| }], | |
| Gf = ["$parse", "$animate", "$compile", function(a, e, f) { | |
| var g = b("ngRepeat"), | |
| h = function(a, b, c, d, e, f, g) { | |
| a[c] = d, e && (a[e] = f), a.$index = b, a.$first = 0 === b, a.$last = b === g - 1, a.$middle = !(a.$first || a.$last), a.$odd = !(a.$even = 0 === (1 & b)) | |
| }; | |
| return { | |
| restrict: "A", | |
| multiElement: !0, | |
| transclude: "element", | |
| priority: 1e3, | |
| terminal: !0, | |
| $$tlb: !0, | |
| compile: function(b, i) { | |
| var j = i.ngRepeat, | |
| k = f.$$createComment("end ngRepeat", j), | |
| l = j.match(/^\s*([\s\S]+?)\s+in\s+([\s\S]+?)(?:\s+as\s+([\s\S]+?))?(?:\s+track\s+by\s+([\s\S]+?))?\s*$/); | |
| if (!l) throw g("iexp", j); | |
| var m = l[1], | |
| n = l[2], | |
| o = l[3], | |
| p = l[4], | |
| l = m.match(/^(?:(\s*[\$\w]+)|\(\s*([\$\w]+)\s*,\s*([\$\w]+)\s*\))$/); | |
| if (!l) throw g("iidexp", m); | |
| var q = l[3] || l[1], | |
| r = l[2]; | |
| if (o && (!/^[$a-zA-Z_][$a-zA-Z0-9_]*$/.test(o) || /^(null|undefined|this|\$index|\$first|\$middle|\$last|\$even|\$odd|\$parent|\$root|\$id)$/.test(o))) throw g("badident", o); | |
| var s, t, u, v, w = { | |
| $id: Ja | |
| }; | |
| return p ? s = a(p) : (u = function(a, b) { | |
| return Ja(b) | |
| }, v = function(a) { | |
| return a | |
| }), | |
| function(a, b, f, i, l) { | |
| s && (t = function(b, c, d) { | |
| return r && (w[r] = b), w[q] = c, w.$index = d, s(a, w) | |
| }); | |
| var m = ga(); | |
| a.$watchCollection(n, function(f) { | |
| var i, n, p, s, w, x, y, z, A, B, C = b[0], | |
| D = ga(); | |
| if (o && (a[o] = f), c(f)) z = f, n = t || u; | |
| else | |
| for (B in n = t || v, z = [], f) Wc.call(f, B) && "$" !== B.charAt(0) && z.push(B); | |
| for (s = z.length, B = Array(s), i = 0; i < s; i++) | |
| if (w = f === z ? i : z[i], x = f[w], y = n(w, x, i), m[y]) A = m[y], delete m[y], D[y] = A, B[i] = A; | |
| else { | |
| if (D[y]) throw d(B, function(a) { | |
| a && a.scope && (m[a.id] = a) | |
| }), g("dupes", j, y, x); | |
| B[i] = { | |
| id: y, | |
| scope: void 0, | |
| clone: void 0 | |
| }, D[y] = !0 | |
| } | |
| for (p in m) { | |
| if (A = m[p], y = fa(A.clone), e.leave(y), y[0].parentNode) | |
| for (i = 0, n = y.length; i < n; i++) y[i].$$NG_REMOVED = !0; | |
| A.scope.$destroy() | |
| } | |
| for (i = 0; i < s; i++) | |
| if (w = f === z ? i : z[i], x = f[w], A = B[i], A.scope) { | |
| p = C; | |
| do p = p.nextSibling; while (p && p.$$NG_REMOVED); | |
| A.clone[0] != p && e.move(fa(A.clone), null, C), C = A.clone[A.clone.length - 1], h(A.scope, i, q, x, r, w, s) | |
| } else l(function(a, b) { | |
| A.scope = b; | |
| var c = k.cloneNode(!1); | |
| a[a.length++] = c, e.enter(a, null, C), C = c, A.clone = a, D[A.id] = A, h(A.scope, i, q, x, r, w, s) | |
| }); | |
| m = D | |
| }) | |
| } | |
| } | |
| } | |
| }], | |
| Hf = ["$animate", function(a) { | |
| return { | |
| restrict: "A", | |
| multiElement: !0, | |
| link: function(b, c, d) { | |
| b.$watch(d.ngShow, function(b) { | |
| a[b ? "removeClass" : "addClass"](c, "ng-hide", { | |
| tempClasses: "ng-hide-animate" | |
| }) | |
| }) | |
| } | |
| } | |
| }], | |
| If = ["$animate", function(a) { | |
| return { | |
| restrict: "A", | |
| multiElement: !0, | |
| link: function(b, c, d) { | |
| b.$watch(d.ngHide, function(b) { | |
| a[b ? "addClass" : "removeClass"](c, "ng-hide", { | |
| tempClasses: "ng-hide-animate" | |
| }) | |
| }) | |
| } | |
| } | |
| }], | |
| Jf = Gc(function(a, b, c) { | |
| a.$watch(c.ngStyle, function(a, c) { | |
| c && a !== c && d(c, function(a, c) { | |
| b.css(c, "") | |
| }), a && b.css(a) | |
| }, !0) | |
| }), | |
| Kf = ["$animate", "$compile", function(a, b) { | |
| return { | |
| require: "ngSwitch", | |
| controller: ["$scope", function() { | |
| this.cases = {} | |
| }], | |
| link: function(c, e, f, g) { | |
| var h = [], | |
| i = [], | |
| j = [], | |
| k = [], | |
| l = function(a, b) { | |
| return function() { | |
| a.splice(b, 1) | |
| } | |
| }; | |
| c.$watch(f.ngSwitch || f.on, function(c) { | |
| var e, f; | |
| for (e = 0, f = j.length; e < f; ++e) a.cancel(j[e]); | |
| for (e = j.length = 0, f = k.length; e < f; ++e) { | |
| var m = fa(i[e].clone); | |
| k[e].$destroy(), (j[e] = a.leave(m)).then(l(j, e)) | |
| } | |
| i.length = 0, k.length = 0, (h = g.cases["!" + c] || g.cases["?"]) && d(h, function(c) { | |
| c.transclude(function(d, e) { | |
| k.push(e); | |
| var f = c.element; | |
| d[d.length++] = b.$$createComment("end ngSwitchWhen"), i.push({ | |
| clone: d | |
| }), a.enter(d, f.parent(), f) | |
| }) | |
| }) | |
| }) | |
| } | |
| } | |
| }], | |
| Lf = Gc({ | |
| transclude: "element", | |
| priority: 1200, | |
| require: "^ngSwitch", | |
| multiElement: !0, | |
| link: function(a, b, c, d, e) { | |
| d.cases["!" + c.ngSwitchWhen] = d.cases["!" + c.ngSwitchWhen] || [], d.cases["!" + c.ngSwitchWhen].push({ | |
| transclude: e, | |
| element: b | |
| }) | |
| } | |
| }), | |
| Mf = Gc({ | |
| transclude: "element", | |
| priority: 1200, | |
| require: "^ngSwitch", | |
| multiElement: !0, | |
| link: function(a, b, c, d, e) { | |
| d.cases["?"] = d.cases["?"] || [], d.cases["?"].push({ | |
| transclude: e, | |
| element: b | |
| }) | |
| } | |
| }), | |
| Nf = b("ngTransclude"), | |
| Of = Gc({ | |
| restrict: "EAC", | |
| link: function(a, b, c, d, e) { | |
| if (c.ngTransclude === c.$attr.ngTransclude && (c.ngTransclude = ""), !e) throw Nf("orphan", Q(b)); | |
| e(function(a) { | |
| a.length && (b.empty(), b.append(a)) | |
| }, null, c.ngTransclude || c.ngTranscludeSlot) | |
| } | |
| }), | |
| Pf = ["$templateCache", function(a) { | |
| return { | |
| restrict: "E", | |
| terminal: !0, | |
| compile: function(b, c) { | |
| "text/ng-template" == c.type && a.put(c.id, b[0].text) | |
| } | |
| } | |
| }], | |
| Qf = { | |
| $setViewValue: m, | |
| $render: m | |
| }, | |
| Rf = ["$element", "$scope", function(b, c) { | |
| var d = this, | |
| e = new Ka; | |
| d.ngModelCtrl = Qf, d.unknownOption = Sc(a.document.createElement("option")), d.renderUnknownOption = function(a) { | |
| a = "? " + Ja(a) + " ?", d.unknownOption.val(a), b.prepend(d.unknownOption), b.val(a) | |
| }, c.$on("$destroy", function() { | |
| d.renderUnknownOption = m | |
| }), d.removeUnknownOption = function() { | |
| d.unknownOption.parent() && d.unknownOption.remove() | |
| }, d.readValue = function() { | |
| return d.removeUnknownOption(), b.val() | |
| }, d.writeValue = function(a) { | |
| d.hasOption(a) ? (d.removeUnknownOption(), b.val(a), "" === a && d.emptyOption.prop("selected", !0)) : null == a && d.emptyOption ? (d.removeUnknownOption(), b.val("")) : d.renderUnknownOption(a) | |
| }, d.addOption = function(a, b) { | |
| if (8 !== b[0].nodeType) { | |
| da(a, '"option value"'), "" === a && (d.emptyOption = b); | |
| var c = e.get(a) || 0; | |
| e.put(a, c + 1), d.ngModelCtrl.$render(), b[0].hasAttribute("selected") && (b[0].selected = !0) | |
| } | |
| }, d.removeOption = function(a) { | |
| var b = e.get(a); | |
| b && (1 === b ? (e.remove(a), "" === a && (d.emptyOption = void 0)) : e.put(a, b - 1)) | |
| }, d.hasOption = function(a) { | |
| return !!e.get(a) | |
| }, d.registerOption = function(a, b, c, e, f) { | |
| if (e) { | |
| var g; | |
| c.$observe("value", function(a) { | |
| r(g) && d.removeOption(g), g = a, d.addOption(a, b) | |
| }) | |
| } else f ? a.$watch(f, function(a, e) { | |
| c.$set("value", a), e !== a && d.removeOption(e), d.addOption(a, b) | |
| }) : d.addOption(c.value, b); | |
| b.on("$destroy", function() { | |
| d.removeOption(c.value), d.ngModelCtrl.$render() | |
| }) | |
| } | |
| }], | |
| Sf = function() { | |
| return { | |
| restrict: "E", | |
| require: ["select", "?ngModel"], | |
| controller: Rf, | |
| priority: 1, | |
| link: { | |
| pre: function(a, b, c, e) { | |
| var f = e[1]; | |
| if (f) { | |
| var g = e[0]; | |
| if (g.ngModelCtrl = f, b.on("change", function() { | |
| a.$apply(function() { | |
| f.$setViewValue(g.readValue()) | |
| }) | |
| }), c.multiple) { | |
| g.readValue = function() { | |
| var a = []; | |
| return d(b.find("option"), function(b) { | |
| b.selected && a.push(b.value) | |
| }), a | |
| }, g.writeValue = function(a) { | |
| var c = new Ka(a); | |
| d(b.find("option"), function(a) { | |
| a.selected = r(c.get(a.value)) | |
| }) | |
| }; | |
| var h, i = NaN; | |
| a.$watch(function() { | |
| i !== f.$viewValue || I(h, f.$viewValue) || (h = ia(f.$viewValue), f.$render()), i = f.$viewValue | |
| }), f.$isEmpty = function(a) { | |
| return !a || 0 === a.length | |
| } | |
| } | |
| } | |
| }, | |
| post: function(a, b, c, d) { | |
| var e = d[1]; | |
| if (e) { | |
| var f = d[0]; | |
| e.$render = function() { | |
| f.writeValue(e.$viewValue) | |
| } | |
| } | |
| } | |
| } | |
| } | |
| }, | |
| Tf = ["$interpolate", function(a) { | |
| return { | |
| restrict: "E", | |
| priority: 100, | |
| compile: function(b, c) { | |
| if (r(c.value)) var d = a(c.value, !0); | |
| else { | |
| var e = a(b.text(), !0); | |
| e || c.$set("value", b.text()) | |
| } | |
| return function(a, b, c) { | |
| var f = b.parent(); | |
| (f = f.data("$selectController") || f.parent().data("$selectController")) && f.registerOption(a, b, c, d, e) | |
| } | |
| } | |
| } | |
| }], | |
| Uf = o({ | |
| restrict: "E", | |
| terminal: !1 | |
| }), | |
| Vf = function() { | |
| return { | |
| restrict: "A", | |
| require: "?ngModel", | |
| link: function(a, b, c, d) { | |
| d && (c.required = !0, d.$validators.required = function(a, b) { | |
| return !c.required || !d.$isEmpty(b) | |
| }, c.$observe("required", function() { | |
| d.$validate() | |
| })) | |
| } | |
| } | |
| }, | |
| Wf = function() { | |
| return { | |
| restrict: "A", | |
| require: "?ngModel", | |
| link: function(a, c, d, e) { | |
| if (e) { | |
| var f, g = d.ngPattern || d.pattern; | |
| d.$observe("pattern", function(a) { | |
| if (u(a) && 0 < a.length && (a = new RegExp("^" + a + "$")), a && !a.test) throw b("ngPattern")("noregexp", g, a, Q(c)); | |
| f = a || void 0, e.$validate() | |
| }), e.$validators.pattern = function(a, b) { | |
| return e.$isEmpty(b) || q(f) || f.test(b) | |
| } | |
| } | |
| } | |
| } | |
| }, | |
| Xf = function() { | |
| return { | |
| restrict: "A", | |
| require: "?ngModel", | |
| link: function(a, b, c, d) { | |
| if (d) { | |
| var e = -1; | |
| c.$observe("maxlength", function(a) { | |
| a = k(a), e = isNaN(a) ? -1 : a, d.$validate() | |
| }), d.$validators.maxlength = function(a, b) { | |
| return 0 > e || d.$isEmpty(b) || b.length <= e | |
| } | |
| } | |
| } | |
| } | |
| }, | |
| Yf = function() { | |
| return { | |
| restrict: "A", | |
| require: "?ngModel", | |
| link: function(a, b, c, d) { | |
| if (d) { | |
| var e = 0; | |
| c.$observe("minlength", function(a) { | |
| e = k(a) || 0, d.$validate() | |
| }), d.$validators.minlength = function(a, b) { | |
| return d.$isEmpty(b) || b.length >= e | |
| } | |
| } | |
| } | |
| } | |
| }; | |
| a.angular.bootstrap ? a.console && console.log("WARNING: Tried to load angular more than once.") : (aa(), ja(dd), dd.module("ngLocale", [], ["$provide", function(a) { | |
| function b(a) { | |
| a += ""; | |
| var b = a.indexOf("."); | |
| return -1 == b ? 0 : a.length - b - 1 | |
| } | |
| a.value("$locale", { | |
| DATETIME_FORMATS: { | |
| AMPMS: ["AM", "PM"], | |
| DAY: "Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "), | |
| ERANAMES: ["Before Christ", "Anno Domini"], | |
| ERAS: ["BC", "AD"], | |
| FIRSTDAYOFWEEK: 6, | |
| MONTH: "January February March April May June July August September October November December".split(" "), | |
| SHORTDAY: "Sun Mon Tue Wed Thu Fri Sat".split(" "), | |
| SHORTMONTH: "Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec".split(" "), | |
| STANDALONEMONTH: "January February March April May June July August September October November December".split(" "), | |
| WEEKENDRANGE: [5, 6], | |
| fullDate: "EEEE, MMMM d, y", | |
| longDate: "MMMM d, y", | |
| medium: "MMM d, y h:mm:ss a", | |
| mediumDate: "MMM d, y", | |
| mediumTime: "h:mm:ss a", | |
| short: "M/d/yy h:mm a", | |
| shortDate: "M/d/yy", | |
| shortTime: "h:mm a" | |
| }, | |
| NUMBER_FORMATS: { | |
| CURRENCY_SYM: "$", | |
| DECIMAL_SEP: ".", | |
| GROUP_SEP: ",", | |
| PATTERNS: [{ | |
| gSize: 3, | |
| lgSize: 3, | |
| maxFrac: 3, | |
| minFrac: 0, | |
| minInt: 1, | |
| negPre: "-", | |
| negSuf: "", | |
| posPre: "", | |
| posSuf: "" | |
| }, { | |
| gSize: 3, | |
| lgSize: 3, | |
| maxFrac: 2, | |
| minFrac: 2, | |
| minInt: 1, | |
| negPre: "-¤", | |
| negSuf: "", | |
| posPre: "¤", | |
| posSuf: "" | |
| }] | |
| }, | |
| id: "en-us", | |
| localeID: "en_US", | |
| pluralCat: function(a, c) { | |
| var d = 0 | a, | |
| e = c; | |
| return void 0 === e && (e = Math.min(b(a), 3)), | |
| Math.pow(10, e), 1 == d && 0 == e ? "one" : "other" | |
| } | |
| }) | |
| }]), Sc(a.document).ready(function() { | |
| X(a.document, Y) | |
| })) | |
| }(window), !window.angular.$$csp().noInlineStyle && window.angular.element(document.head).prepend('<style type="text/css">@charset "UTF-8";[ng\\:cloak],[ng-cloak],[data-ng-cloak],[x-ng-cloak],.ng-cloak,.x-ng-cloak,.ng-hide:not(.ng-hide-animate){display:none !important;}ng\\:form{display:block;}.ng-animate-shim{visibility:hidden;}.ng-anchor{position:absolute;}</style>'), "undefined" == typeof jQuery) throw new Error("Bootstrap's JavaScript requires jQuery"); + function(a) { | |
| "use strict"; | |
| var b = a.fn.jquery.split(" ")[0].split("."); | |
| if (b[0] < 2 && b[1] < 9 || 1 == b[0] && 9 == b[1] && b[2] < 1 || b[0] > 2) throw new Error("Bootstrap's JavaScript requires jQuery version 1.9.1 or higher, but lower than version 3") | |
| }(jQuery), + function(a) { | |
| "use strict"; | |
| function b() { | |
| var a = document.createElement("bootstrap"), | |
| b = { | |
| WebkitTransition: "webkitTransitionEnd", | |
| MozTransition: "transitionend", | |
| OTransition: "oTransitionEnd otransitionend", | |
| transition: "transitionend" | |
| }; | |
| for (var c in b) | |
| if (void 0 !== a.style[c]) return { | |
| end: b[c] | |
| }; | |
| return !1 | |
| } | |
| a.fn.emulateTransitionEnd = function(b) { | |
| var c = !1, | |
| d = this; | |
| a(this).one("bsTransitionEnd", function() { | |
| c = !0 | |
| }); | |
| var e = function() { | |
| c || a(d).trigger(a.support.transition.end) | |
| }; | |
| return setTimeout(e, b), this | |
| }, a(function() { | |
| a.support.transition = b(), a.support.transition && (a.event.special.bsTransitionEnd = { | |
| bindType: a.support.transition.end, | |
| delegateType: a.support.transition.end, | |
| handle: function(b) { | |
| return a(b.target).is(this) ? b.handleObj.handler.apply(this, arguments) : void 0 | |
| } | |
| }) | |
| }) | |
| }(jQuery), + function(a) { | |
| "use strict"; | |
| function b(b) { | |
| return this.each(function() { | |
| var c = a(this), | |
| e = c.data("bs.alert"); | |
| e || c.data("bs.alert", e = new d(this)), "string" == typeof b && e[b].call(c) | |
| }) | |
| } | |
| var c = '[data-dismiss="alert"]', | |
| d = function(b) { | |
| a(b).on("click", c, this.close) | |
| }; | |
| d.VERSION = "3.3.6", d.TRANSITION_DURATION = 150, d.prototype.close = function(b) { | |
| function c() { | |
| g.detach().trigger("closed.bs.alert").remove() | |
| } | |
| var e = a(this), | |
| f = e.attr("data-target"); | |
| f || (f = e.attr("href"), f = f && f.replace(/.*(?=#[^\s]*$)/, "")); | |
| var g = a(f); | |
| b && b.preventDefault(), g.length || (g = e.closest(".alert")), g.trigger(b = a.Event("close.bs.alert")), b.isDefaultPrevented() || (g.removeClass("in"), a.support.transition && g.hasClass("fade") ? g.one("bsTransitionEnd", c).emulateTransitionEnd(d.TRANSITION_DURATION) : c()) | |
| }; | |
| var e = a.fn.alert; | |
| a.fn.alert = b, a.fn.alert.Constructor = d, a.fn.alert.noConflict = function() { | |
| return a.fn.alert = e, this | |
| }, a(document).on("click.bs.alert.data-api", c, d.prototype.close) | |
| }(jQuery), + function(a) { | |
| "use strict"; | |
| function b(b) { | |
| return this.each(function() { | |
| var d = a(this), | |
| e = d.data("bs.button"), | |
| f = "object" == typeof b && b; | |
| e || d.data("bs.button", e = new c(this, f)), "toggle" == b ? e.toggle() : b && e.setState(b) | |
| }) | |
| } | |
| var c = function(b, d) { | |
| this.$element = a(b), this.options = a.extend({}, c.DEFAULTS, d), this.isLoading = !1 | |
| }; | |
| c.VERSION = "3.3.6", c.DEFAULTS = { | |
| loadingText: "loading..." | |
| }, c.prototype.setState = function(b) { | |
| var c = "disabled", | |
| d = this.$element, | |
| e = d.is("input") ? "val" : "html", | |
| f = d.data(); | |
| b += "Text", null == f.resetText && d.data("resetText", d[e]()), setTimeout(a.proxy(function() { | |
| d[e](null == f[b] ? this.options[b] : f[b]), "loadingText" == b ? (this.isLoading = !0, d.addClass(c).attr(c, c)) : this.isLoading && (this.isLoading = !1, d.removeClass(c).removeAttr(c)) | |
| }, this), 0) | |
| }, c.prototype.toggle = function() { | |
| var a = !0, | |
| b = this.$element.closest('[data-toggle="buttons"]'); | |
| if (b.length) { | |
| var c = this.$element.find("input"); | |
| "radio" == c.prop("type") ? (c.prop("checked") && (a = !1), b.find(".active").removeClass("active"), this.$element.addClass("active")) : "checkbox" == c.prop("type") && (c.prop("checked") !== this.$element.hasClass("active") && (a = !1), this.$element.toggleClass("active")), c.prop("checked", this.$element.hasClass("active")), a && c.trigger("change") | |
| } else this.$element.attr("aria-pressed", !this.$element.hasClass("active")), this.$element.toggleClass("active") | |
| }; | |
| var d = a.fn.button; | |
| a.fn.button = b, a.fn.button.Constructor = c, a.fn.button.noConflict = function() { | |
| return a.fn.button = d, this | |
| }, a(document).on("click.bs.button.data-api", '[data-toggle^="button"]', function(c) { | |
| var d = a(c.target); | |
| d.hasClass("btn") || (d = d.closest(".btn")), b.call(d, "toggle"), a(c.target).is('input[type="radio"]') || a(c.target).is('input[type="checkbox"]') || c.preventDefault() | |
| }).on("focus.bs.button.data-api blur.bs.button.data-api", '[data-toggle^="button"]', function(b) { | |
| a(b.target).closest(".btn").toggleClass("focus", /^focus(in)?$/.test(b.type)) | |
| }) | |
| }(jQuery), + function(a) { | |
| "use strict"; | |
| function b(b) { | |
| return this.each(function() { | |
| var d = a(this), | |
| e = d.data("bs.carousel"), | |
| f = a.extend({}, c.DEFAULTS, d.data(), "object" == typeof b && b), | |
| g = "string" == typeof b ? b : f.slide; | |
| e || d.data("bs.carousel", e = new c(this, f)), "number" == typeof b ? e.to(b) : g ? e[g]() : f.interval && e.pause().cycle() | |
| }) | |
| } | |
| var c = function(b, c) { | |
| this.$element = a(b), this.$indicators = this.$element.find(".carousel-indicators"), this.options = c, this.paused = null, this.sliding = null, this.interval = null, this.$active = null, this.$items = null, this.options.keyboard && this.$element.on("keydown.bs.carousel", a.proxy(this.keydown, this)), "hover" == this.options.pause && !("ontouchstart" in document.documentElement) && this.$element.on("mouseenter.bs.carousel", a.proxy(this.pause, this)).on("mouseleave.bs.carousel", a.proxy(this.cycle, this)) | |
| }; | |
| c.VERSION = "3.3.6", c.TRANSITION_DURATION = 600, c.DEFAULTS = { | |
| interval: 5e3, | |
| pause: "hover", | |
| wrap: !0, | |
| keyboard: !0 | |
| }, c.prototype.keydown = function(a) { | |
| if (!/input|textarea/i.test(a.target.tagName)) { | |
| switch (a.which) { | |
| case 37: | |
| this.prev(); | |
| break; | |
| case 39: | |
| this.next(); | |
| break; | |
| default: | |
| return | |
| } | |
| a.preventDefault() | |
| } | |
| }, c.prototype.cycle = function(b) { | |
| return b || (this.paused = !1), this.interval && clearInterval(this.interval), this.options.interval && !this.paused && (this.interval = setInterval(a.proxy(this.next, this), this.options.interval)), this | |
| }, c.prototype.getItemIndex = function(a) { | |
| return this.$items = a.parent().children(".item"), this.$items.index(a || this.$active) | |
| }, c.prototype.getItemForDirection = function(a, b) { | |
| var c = this.getItemIndex(b), | |
| d = "prev" == a && 0 === c || "next" == a && c == this.$items.length - 1; | |
| if (d && !this.options.wrap) return b; | |
| var e = "prev" == a ? -1 : 1, | |
| f = (c + e) % this.$items.length; | |
| return this.$items.eq(f) | |
| }, c.prototype.to = function(a) { | |
| var b = this, | |
| c = this.getItemIndex(this.$active = this.$element.find(".item.active")); | |
| return a > this.$items.length - 1 || 0 > a ? void 0 : this.sliding ? this.$element.one("slid.bs.carousel", function() { | |
| b.to(a) | |
| }) : c == a ? this.pause().cycle() : this.slide(a > c ? "next" : "prev", this.$items.eq(a)) | |
| }, c.prototype.pause = function(b) { | |
| return b || (this.paused = !0), this.$element.find(".next, .prev").length && a.support.transition && (this.$element.trigger(a.support.transition.end), this.cycle(!0)), this.interval = clearInterval(this.interval), this | |
| }, c.prototype.next = function() { | |
| return this.sliding ? void 0 : this.slide("next") | |
| }, c.prototype.prev = function() { | |
| return this.sliding ? void 0 : this.slide("prev") | |
| }, c.prototype.slide = function(b, d) { | |
| var e = this.$element.find(".item.active"), | |
| f = d || this.getItemForDirection(b, e), | |
| g = this.interval, | |
| h = "next" == b ? "left" : "right", | |
| i = this; | |
| if (f.hasClass("active")) return this.sliding = !1; | |
| var j = f[0], | |
| k = a.Event("slide.bs.carousel", { | |
| relatedTarget: j, | |
| direction: h | |
| }); | |
| if (this.$element.trigger(k), !k.isDefaultPrevented()) { | |
| if (this.sliding = !0, g && this.pause(), this.$indicators.length) { | |
| this.$indicators.find(".active").removeClass("active"); | |
| var l = a(this.$indicators.children()[this.getItemIndex(f)]); | |
| l && l.addClass("active") | |
| } | |
| var m = a.Event("slid.bs.carousel", { | |
| relatedTarget: j, | |
| direction: h | |
| }); | |
| return a.support.transition && this.$element.hasClass("slide") ? (f.addClass(b), f[0].offsetWidth, e.addClass(h), f.addClass(h), e.one("bsTransitionEnd", function() { | |
| f.removeClass([b, h].join(" ")).addClass("active"), e.removeClass(["active", h].join(" ")), i.sliding = !1, setTimeout(function() { | |
| i.$element.trigger(m) | |
| }, 0) | |
| }).emulateTransitionEnd(c.TRANSITION_DURATION)) : (e.removeClass("active"), f.addClass("active"), this.sliding = !1, this.$element.trigger(m)), g && this.cycle(), this | |
| } | |
| }; | |
| var d = a.fn.carousel; | |
| a.fn.carousel = b, a.fn.carousel.Constructor = c, a.fn.carousel.noConflict = function() { | |
| return a.fn.carousel = d, this | |
| }; | |
| var e = function(c) { | |
| var d, e = a(this), | |
| f = a(e.attr("data-target") || (d = e.attr("href")) && d.replace(/.*(?=#[^\s]+$)/, "")); | |
| if (f.hasClass("carousel")) { | |
| var g = a.extend({}, f.data(), e.data()), | |
| h = e.attr("data-slide-to"); | |
| h && (g.interval = !1), b.call(f, g), h && f.data("bs.carousel").to(h), c.preventDefault() | |
| } | |
| }; | |
| a(document).on("click.bs.carousel.data-api", "[data-slide]", e).on("click.bs.carousel.data-api", "[data-slide-to]", e), a(window).on("load", function() { | |
| a('[data-ride="carousel"]').each(function() { | |
| var c = a(this); | |
| b.call(c, c.data()) | |
| }) | |
| }) | |
| }(jQuery), + function(a) { | |
| "use strict"; | |
| function b(b) { | |
| var c, d = b.attr("data-target") || (c = b.attr("href")) && c.replace(/.*(?=#[^\s]+$)/, ""); | |
| return a(d) | |
| } | |
| function c(b) { | |
| return this.each(function() { | |
| var c = a(this), | |
| e = c.data("bs.collapse"), | |
| f = a.extend({}, d.DEFAULTS, c.data(), "object" == typeof b && b); | |
| !e && f.toggle && /show|hide/.test(b) && (f.toggle = !1), e || c.data("bs.collapse", e = new d(this, f)), "string" == typeof b && e[b]() | |
| }) | |
| } | |
| var d = function(b, c) { | |
| this.$element = a(b), this.options = a.extend({}, d.DEFAULTS, c), this.$trigger = a('[data-toggle="collapse"][href="#' + b.id + '"],[data-toggle="collapse"][data-target="#' + b.id + '"]'), this.transitioning = null, this.options.parent ? this.$parent = this.getParent() : this.addAriaAndCollapsedClass(this.$element, this.$trigger), this.options.toggle && this.toggle() | |
| }; | |
| d.VERSION = "3.3.6", d.TRANSITION_DURATION = 350, d.DEFAULTS = { | |
| toggle: !0 | |
| }, d.prototype.dimension = function() { | |
| var a = this.$element.hasClass("width"); | |
| return a ? "width" : "height" | |
| }, d.prototype.show = function() { | |
| if (!this.transitioning && !this.$element.hasClass("in")) { | |
| var b, e = this.$parent && this.$parent.children(".panel").children(".in, .collapsing"); | |
| if (!(e && e.length && (b = e.data("bs.collapse"), b && b.transitioning))) { | |
| var f = a.Event("show.bs.collapse"); | |
| if (this.$element.trigger(f), !f.isDefaultPrevented()) { | |
| e && e.length && (c.call(e, "hide"), b || e.data("bs.collapse", null)); | |
| var g = this.dimension(); | |
| this.$element.removeClass("collapse").addClass("collapsing")[g](0).attr("aria-expanded", !0), this.$trigger.removeClass("collapsed").attr("aria-expanded", !0), this.transitioning = 1; | |
| var h = function() { | |
| this.$element.removeClass("collapsing").addClass("collapse in")[g](""), this.transitioning = 0, this.$element.trigger("shown.bs.collapse") | |
| }; | |
| if (!a.support.transition) return h.call(this); | |
| var i = a.camelCase(["scroll", g].join("-")); | |
| this.$element.one("bsTransitionEnd", a.proxy(h, this)).emulateTransitionEnd(d.TRANSITION_DURATION)[g](this.$element[0][i]) | |
| } | |
| } | |
| } | |
| }, d.prototype.hide = function() { | |
| if (!this.transitioning && this.$element.hasClass("in")) { | |
| var b = a.Event("hide.bs.collapse"); | |
| if (this.$element.trigger(b), !b.isDefaultPrevented()) { | |
| var c = this.dimension(); | |
| this.$element[c](this.$element[c]())[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 e = function() { | |
| this.transitioning = 0, this.$element.removeClass("collapsing").addClass("collapse").trigger("hidden.bs.collapse") | |
| }; | |
| return a.support.transition ? void this.$element[c](0).one("bsTransitionEnd", a.proxy(e, this)).emulateTransitionEnd(d.TRANSITION_DURATION) : e.call(this) | |
| } | |
| } | |
| }, d.prototype.toggle = function() { | |
| this[this.$element.hasClass("in") ? "hide" : "show"]() | |
| }, d.prototype.getParent = function() { | |
| return a(this.options.parent).find('[data-toggle="collapse"][data-parent="' + this.options.parent + '"]').each(a.proxy(function(c, d) { | |
| var e = a(d); | |
| this.addAriaAndCollapsedClass(b(e), e) | |
| }, this)).end() | |
| }, d.prototype.addAriaAndCollapsedClass = function(a, b) { | |
| var c = a.hasClass("in"); | |
| a.attr("aria-expanded", c), b.toggleClass("collapsed", !c).attr("aria-expanded", c) | |
| }; | |
| var e = a.fn.collapse; | |
| a.fn.collapse = c, a.fn.collapse.Constructor = d, a.fn.collapse.noConflict = function() { | |
| return a.fn.collapse = e, this | |
| }, a(document).on("click.bs.collapse.data-api", '[data-toggle="collapse"]', function(d) { | |
| var e = a(this); | |
| e.attr("data-target") || d.preventDefault(); | |
| var f = b(e), | |
| g = f.data("bs.collapse"), | |
| h = g ? "toggle" : e.data(); | |
| c.call(f, h) | |
| }) | |
| }(jQuery), + function(a) { | |
| "use strict"; | |
| function b(b) { | |
| var c = b.attr("data-target"); | |
| c || (c = b.attr("href"), c = c && /#[A-Za-z]/.test(c) && c.replace(/.*(?=#[^\s]*$)/, "")); | |
| var d = c && a(c); | |
| return d && d.length ? d : b.parent() | |
| } | |
| function c(c) { | |
| c && 3 === c.which || (a(e).remove(), a(f).each(function() { | |
| var d = a(this), | |
| e = b(d), | |
| f = { | |
| relatedTarget: this | |
| }; | |
| e.hasClass("open") && (c && "click" == c.type && /input|textarea/i.test(c.target.tagName) && a.contains(e[0], c.target) || (e.trigger(c = a.Event("hide.bs.dropdown", f)), c.isDefaultPrevented() || (d.attr("aria-expanded", "false"), e.removeClass("open").trigger(a.Event("hidden.bs.dropdown", f))))) | |
| })) | |
| } | |
| function d(b) { | |
| return this.each(function() { | |
| var c = a(this), | |
| d = c.data("bs.dropdown"); | |
| d || c.data("bs.dropdown", d = new g(this)), "string" == typeof b && d[b].call(c) | |
| }) | |
| } | |
| var e = ".dropdown-backdrop", | |
| f = '[data-toggle="dropdown"]', | |
| g = function(b) { | |
| a(b).on("click.bs.dropdown", this.toggle) | |
| }; | |
| g.VERSION = "3.3.6", g.prototype.toggle = function(d) { | |
| var e = a(this); | |
| if (!e.is(".disabled, :disabled")) { | |
| var f = b(e), | |
| g = f.hasClass("open"); | |
| if (c(), !g) { | |
| "ontouchstart" in document.documentElement && !f.closest(".navbar-nav").length && a(document.createElement("div")).addClass("dropdown-backdrop").insertAfter(a(this)).on("click", c); | |
| var h = { | |
| relatedTarget: this | |
| }; | |
| if (f.trigger(d = a.Event("show.bs.dropdown", h)), d.isDefaultPrevented()) return; | |
| e.trigger("focus").attr("aria-expanded", "true"), f.toggleClass("open").trigger(a.Event("shown.bs.dropdown", h)) | |
| } | |
| return !1 | |
| } | |
| }, g.prototype.keydown = function(c) { | |
| if (/(38|40|27|32)/.test(c.which) && !/input|textarea/i.test(c.target.tagName)) { | |
| var d = a(this); | |
| if (c.preventDefault(), c.stopPropagation(), !d.is(".disabled, :disabled")) { | |
| var e = b(d), | |
| g = e.hasClass("open"); | |
| if (!g && 27 != c.which || g && 27 == c.which) return 27 == c.which && e.find(f).trigger("focus"), d.trigger("click"); | |
| var h = " li:not(.disabled):visible a", | |
| i = e.find(".dropdown-menu" + h); | |
| if (i.length) { | |
| var j = i.index(c.target); | |
| 38 == c.which && j > 0 && j--, 40 == c.which && j < i.length - 1 && j++, ~j || (j = 0), i.eq(j).trigger("focus") | |
| } | |
| } | |
| } | |
| }; | |
| var h = a.fn.dropdown; | |
| a.fn.dropdown = d, a.fn.dropdown.Constructor = g, a.fn.dropdown.noConflict = function() { | |
| return a.fn.dropdown = h, this | |
| }, a(document).on("click.bs.dropdown.data-api", c).on("click.bs.dropdown.data-api", ".dropdown form", function(a) { | |
| a.stopPropagation() | |
| }).on("click.bs.dropdown.data-api", f, g.prototype.toggle).on("keydown.bs.dropdown.data-api", f, g.prototype.keydown).on("keydown.bs.dropdown.data-api", ".dropdown-menu", g.prototype.keydown) | |
| }(jQuery), + function(a) { | |
| "use strict"; | |
| function b(b, d) { | |
| return this.each(function() { | |
| var e = a(this), | |
| f = e.data("bs.modal"), | |
| g = a.extend({}, c.DEFAULTS, e.data(), "object" == typeof b && b); | |
| f || e.data("bs.modal", f = new c(this, g)), "string" == typeof b ? f[b](d) : g.show && f.show(d) | |
| }) | |
| } | |
| var c = function(b, c) { | |
| this.options = c, this.$body = a(document.body), this.$element = a(b), this.$dialog = this.$element.find(".modal-dialog"), this.$backdrop = null, this.isShown = null, this.originalBodyPad = null, this.scrollbarWidth = 0, this.ignoreBackdropClick = !1, this.options.remote && this.$element.find(".modal-content").load(this.options.remote, a.proxy(function() { | |
| this.$element.trigger("loaded.bs.modal") | |
| }, this)) | |
| }; | |
| c.VERSION = "3.3.6", c.TRANSITION_DURATION = 300, c.BACKDROP_TRANSITION_DURATION = 150, c.DEFAULTS = { | |
| backdrop: !0, | |
| keyboard: !0, | |
| show: !0 | |
| }, c.prototype.toggle = function(a) { | |
| return this.isShown ? this.hide() : this.show(a) | |
| }, c.prototype.show = function(b) { | |
| var d = this, | |
| e = a.Event("show.bs.modal", { | |
| relatedTarget: b | |
| }); | |
| this.$element.trigger(e), this.isShown || e.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() { | |
| d.$element.one("mouseup.dismiss.bs.modal", function(b) { | |
| a(b.target).is(d.$element) && (d.ignoreBackdropClick = !0) | |
| }) | |
| }), this.backdrop(function() { | |
| var e = a.support.transition && d.$element.hasClass("fade"); | |
| d.$element.parent().length || d.$element.appendTo(d.$body), d.$element.show().scrollTop(0), d.adjustDialog(), e && d.$element[0].offsetWidth, d.$element.addClass("in"), d.enforceFocus(); | |
| var f = a.Event("shown.bs.modal", { | |
| relatedTarget: b | |
| }); | |
| e ? d.$dialog.one("bsTransitionEnd", function() { | |
| d.$element.trigger("focus").trigger(f) | |
| }).emulateTransitionEnd(c.TRANSITION_DURATION) : d.$element.trigger("focus").trigger(f) | |
| })) | |
| }, c.prototype.hide = function(b) { | |
| b && b.preventDefault(), b = a.Event("hide.bs.modal"), this.$element.trigger(b), this.isShown && !b.isDefaultPrevented() && (this.isShown = !1, this.escape(), this.resize(), a(document).off("focusin.bs.modal"), this.$element.removeClass("in").off("click.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(c.TRANSITION_DURATION) : this.hideModal()) | |
| }, c.prototype.enforceFocus = function() { | |
| a(document).off("focusin.bs.modal").on("focusin.bs.modal", a.proxy(function(a) { | |
| this.$element[0] === a.target || this.$element.has(a.target).length || this.$element.trigger("focus") | |
| }, this)) | |
| }, c.prototype.escape = function() { | |
| this.isShown && this.options.keyboard ? this.$element.on("keydown.dismiss.bs.modal", a.proxy(function(a) { | |
| 27 == a.which && this.hide() | |
| }, this)) : this.isShown || this.$element.off("keydown.dismiss.bs.modal") | |
| }, c.prototype.resize = function() { | |
| this.isShown ? a(window).on("resize.bs.modal", a.proxy(this.handleUpdate, this)) : a(window).off("resize.bs.modal") | |
| }, c.prototype.hideModal = function() { | |
| var a = this; | |
| this.$element.hide(), this.backdrop(function() { | |
| a.$body.removeClass("modal-open"), a.resetAdjustments(), a.resetScrollbar(), a.$element.trigger("hidden.bs.modal") | |
| }) | |
| }, c.prototype.removeBackdrop = function() { | |
| this.$backdrop && this.$backdrop.remove(), this.$backdrop = null | |
| }, c.prototype.backdrop = function(b) { | |
| var d = this, | |
| e = this.$element.hasClass("fade") ? "fade" : ""; | |
| if (this.isShown && this.options.backdrop) { | |
| var f = a.support.transition && e; | |
| if (this.$backdrop = a(document.createElement("div")).addClass("modal-backdrop " + e).appendTo(this.$body), this.$element.on("click.dismiss.bs.modal", a.proxy(function(a) { | |
| return this.ignoreBackdropClick ? void(this.ignoreBackdropClick = !1) : void(a.target === a.currentTarget && ("static" == this.options.backdrop ? this.$element[0].focus() : this.hide())) | |
| }, this)), f && this.$backdrop[0].offsetWidth, this.$backdrop.addClass("in"), !b) return; | |
| f ? this.$backdrop.one("bsTransitionEnd", b).emulateTransitionEnd(c.BACKDROP_TRANSITION_DURATION) : b() | |
| } else if (!this.isShown && this.$backdrop) { | |
| this.$backdrop.removeClass("in"); | |
| var g = function() { | |
| d.removeBackdrop(), b && b() | |
| }; | |
| a.support.transition && this.$element.hasClass("fade") ? this.$backdrop.one("bsTransitionEnd", g).emulateTransitionEnd(c.BACKDROP_TRANSITION_DURATION) : g() | |
| } else b && b() | |
| }, c.prototype.handleUpdate = function() { | |
| this.adjustDialog() | |
| }, c.prototype.adjustDialog = function() { | |
| var a = this.$element[0].scrollHeight > document.documentElement.clientHeight; | |
| this.$element.css({ | |
| paddingLeft: !this.bodyIsOverflowing && a ? this.scrollbarWidth : "", | |
| paddingRight: this.bodyIsOverflowing && !a ? this.scrollbarWidth : "" | |
| }) | |
| }, c.prototype.resetAdjustments = function() { | |
| this.$element.css({ | |
| paddingLeft: "", | |
| paddingRight: "" | |
| }) | |
| }, c.prototype.checkScrollbar = function() { | |
| var a = window.innerWidth; | |
| if (!a) { | |
| var b = document.documentElement.getBoundingClientRect(); | |
| a = b.right - Math.abs(b.left) | |
| } | |
| this.bodyIsOverflowing = document.body.clientWidth < a, this.scrollbarWidth = this.measureScrollbar() | |
| }, c.prototype.setScrollbar = function() { | |
| var a = parseInt(this.$body.css("padding-right") || 0, 10); | |
| this.originalBodyPad = document.body.style.paddingRight || "", this.bodyIsOverflowing && this.$body.css("padding-right", a + this.scrollbarWidth) | |
| }, c.prototype.resetScrollbar = function() { | |
| this.$body.css("padding-right", this.originalBodyPad) | |
| }, c.prototype.measureScrollbar = function() { | |
| var a = document.createElement("div"); | |
| a.className = "modal-scrollbar-measure", this.$body.append(a); | |
| var b = a.offsetWidth - a.clientWidth; | |
| return this.$body[0].removeChild(a), b | |
| }; | |
| var d = a.fn.modal; | |
| a.fn.modal = b, a.fn.modal.Constructor = c, a.fn.modal.noConflict = function() { | |
| return a.fn.modal = d, this | |
| }, a(document).on("click.bs.modal.data-api", '[data-toggle="modal"]', function(c) { | |
| var d = a(this), | |
| e = d.attr("href"), | |
| f = a(d.attr("data-target") || e && e.replace(/.*(?=#[^\s]+$)/, "")), | |
| g = f.data("bs.modal") ? "toggle" : a.extend({ | |
| remote: !/#/.test(e) && e | |
| }, f.data(), d.data()); | |
| d.is("a") && c.preventDefault(), f.one("show.bs.modal", function(a) { | |
| a.isDefaultPrevented() || f.one("hidden.bs.modal", function() { | |
| d.is(":visible") && d.trigger("focus") | |
| }) | |
| }), b.call(f, g, this) | |
| }) | |
| }(jQuery), + function(a) { | |
| "use strict"; | |
| function b(b) { | |
| return this.each(function() { | |
| var d = a(this), | |
| e = d.data("bs.tooltip"), | |
| f = "object" == typeof b && b; | |
| (e || !/destroy|hide/.test(b)) && (e || d.data("bs.tooltip", e = new c(this, f)), "string" == typeof b && e[b]()) | |
| }) | |
| } | |
| var c = function(a, b) { | |
| this.type = null, this.options = null, this.enabled = null, this.timeout = null, this.hoverState = null, this.$element = null, this.inState = null, this.init("tooltip", a, b) | |
| }; | |
| c.VERSION = "3.3.6", c.TRANSITION_DURATION = 150, c.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 | |
| } | |
| }, c.prototype.init = function(b, c, d) { | |
| if (this.enabled = !0, this.type = b, this.$element = a(c), this.options = this.getOptions(d), this.$viewport = this.options.viewport && a(a.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 e = this.options.trigger.split(" "), f = e.length; f--;) { | |
| var g = e[f]; | |
| if ("click" == g) this.$element.on("click." + this.type, this.options.selector, a.proxy(this.toggle, this)); | |
| else if ("manual" != g) { | |
| var h = "hover" == g ? "mouseenter" : "focusin", | |
| i = "hover" == g ? "mouseleave" : "focusout"; | |
| this.$element.on(h + "." + this.type, this.options.selector, a.proxy(this.enter, this)), this.$element.on(i + "." + this.type, this.options.selector, a.proxy(this.leave, this)) | |
| } | |
| } | |
| this.options.selector ? this._options = a.extend({}, this.options, { | |
| trigger: "manual", | |
| selector: "" | |
| }) : this.fixTitle() | |
| }, c.prototype.getDefaults = function() { | |
| return c.DEFAULTS | |
| }, c.prototype.getOptions = function(b) { | |
| return b = a.extend({}, this.getDefaults(), this.$element.data(), b), b.delay && "number" == typeof b.delay && (b.delay = { | |
| show: b.delay, | |
| hide: b.delay | |
| }), b | |
| }, c.prototype.getDelegateOptions = function() { | |
| var b = {}, | |
| c = this.getDefaults(); | |
| return this._options && a.each(this._options, function(a, d) { | |
| c[a] != d && (b[a] = d) | |
| }), b | |
| }, c.prototype.enter = function(b) { | |
| var c = b instanceof this.constructor ? b : a(b.currentTarget).data("bs." + this.type); | |
| return c || (c = new this.constructor(b.currentTarget, this.getDelegateOptions()), a(b.currentTarget).data("bs." + this.type, c)), b instanceof a.Event && (c.inState["focusin" == b.type ? "focus" : "hover"] = !0), c.tip().hasClass("in") || "in" == c.hoverState ? void(c.hoverState = "in") : (clearTimeout(c.timeout), c.hoverState = "in", c.options.delay && c.options.delay.show ? void(c.timeout = setTimeout(function() { | |
| "in" == c.hoverState && c.show() | |
| }, c.options.delay.show)) : c.show()) | |
| }, c.prototype.isInStateTrue = function() { | |
| for (var a in this.inState) | |
| if (this.inState[a]) return !0; | |
| return !1 | |
| }, c.prototype.leave = function(b) { | |
| var c = b instanceof this.constructor ? b : a(b.currentTarget).data("bs." + this.type); | |
| return c || (c = new this.constructor(b.currentTarget, this.getDelegateOptions()), a(b.currentTarget).data("bs." + this.type, c)), b instanceof a.Event && (c.inState["focusout" == b.type ? "focus" : "hover"] = !1), c.isInStateTrue() ? void 0 : (clearTimeout(c.timeout), c.hoverState = "out", c.options.delay && c.options.delay.hide ? void(c.timeout = setTimeout(function() { | |
| "out" == c.hoverState && c.hide() | |
| }, c.options.delay.hide)) : c.hide()) | |
| }, c.prototype.show = function() { | |
| var b = a.Event("show.bs." + this.type); | |
| if (this.hasContent() && this.enabled) { | |
| this.$element.trigger(b); | |
| var d = a.contains(this.$element[0].ownerDocument.documentElement, this.$element[0]); | |
| if (b.isDefaultPrevented() || !d) return; | |
| var e = this, | |
| f = this.tip(), | |
| g = this.getUID(this.type); | |
| this.setContent(), f.attr("id", g), this.$element.attr("aria-describedby", g), this.options.animation && f.addClass("fade"); | |
| var h = "function" == typeof this.options.placement ? this.options.placement.call(this, f[0], this.$element[0]) : this.options.placement, | |
| i = /\s?auto?\s?/i, | |
| j = i.test(h); | |
| j && (h = h.replace(i, "") || "top"), f.detach().css({ | |
| top: 0, | |
| left: 0, | |
| display: "block" | |
| }).addClass(h).data("bs." + this.type, this), this.options.container ? f.appendTo(this.options.container) : f.insertAfter(this.$element), this.$element.trigger("inserted.bs." + this.type); | |
| var k = this.getPosition(), | |
| l = f[0].offsetWidth, | |
| m = f[0].offsetHeight; | |
| if (j) { | |
| var n = h, | |
| o = this.getPosition(this.$viewport); | |
| h = "bottom" == h && k.bottom + m > o.bottom ? "top" : "top" == h && k.top - m < o.top ? "bottom" : "right" == h && k.right + l > o.width ? "left" : "left" == h && k.left - l < o.left ? "right" : h, f.removeClass(n).addClass(h) | |
| } | |
| var p = this.getCalculatedOffset(h, k, l, m); | |
| this.applyPlacement(p, h); | |
| var q = function() { | |
| var a = e.hoverState; | |
| e.$element.trigger("shown.bs." + e.type), e.hoverState = null, "out" == a && e.leave(e) | |
| }; | |
| a.support.transition && this.$tip.hasClass("fade") ? f.one("bsTransitionEnd", q).emulateTransitionEnd(c.TRANSITION_DURATION) : q() | |
| } | |
| }, c.prototype.applyPlacement = function(b, c) { | |
| var d = this.tip(), | |
| e = d[0].offsetWidth, | |
| f = d[0].offsetHeight, | |
| g = parseInt(d.css("margin-top"), 10), | |
| h = parseInt(d.css("margin-left"), 10); | |
| isNaN(g) && (g = 0), isNaN(h) && (h = 0), b.top += g, b.left += h, a.offset.setOffset(d[0], a.extend({ | |
| using: function(a) { | |
| d.css({ | |
| top: Math.round(a.top), | |
| left: Math.round(a.left) | |
| }) | |
| } | |
| }, b), 0), d.addClass("in"); | |
| var i = d[0].offsetWidth, | |
| j = d[0].offsetHeight; | |
| "top" == c && j != f && (b.top = b.top + f - j); | |
| var k = this.getViewportAdjustedDelta(c, b, i, j); | |
| k.left ? b.left += k.left : b.top += k.top; | |
| var l = /top|bottom/.test(c), | |
| m = l ? 2 * k.left - e + i : 2 * k.top - f + j, | |
| n = l ? "offsetWidth" : "offsetHeight"; | |
| d.offset(b), this.replaceArrow(m, d[0][n], l) | |
| }, c.prototype.replaceArrow = function(a, b, c) { | |
| this.arrow().css(c ? "left" : "top", 50 * (1 - a / b) + "%").css(c ? "top" : "left", "") | |
| }, c.prototype.setContent = function() { | |
| var a = this.tip(), | |
| b = this.getTitle(); | |
| a.find(".tooltip-inner")[this.options.html ? "html" : "text"](b), a.removeClass("fade in top bottom left right") | |
| }, c.prototype.hide = function(b) { | |
| function d() { | |
| "in" != e.hoverState && f.detach(), e.$element.removeAttr("aria-describedby").trigger("hidden.bs." + e.type), b && b() | |
| } | |
| var e = this, | |
| f = a(this.$tip), | |
| g = a.Event("hide.bs." + this.type); | |
| return this.$element.trigger(g), g.isDefaultPrevented() ? void 0 : (f.removeClass("in"), a.support.transition && f.hasClass("fade") ? f.one("bsTransitionEnd", d).emulateTransitionEnd(c.TRANSITION_DURATION) : d(), this.hoverState = null, this) | |
| }, c.prototype.fixTitle = function() { | |
| var a = this.$element; | |
| (a.attr("title") || "string" != typeof a.attr("data-original-title")) && a.attr("data-original-title", a.attr("title") || "").attr("title", "") | |
| }, c.prototype.hasContent = function() { | |
| return this.getTitle() | |
| }, c.prototype.getPosition = function(b) { | |
| b = b || this.$element; | |
| var c = b[0], | |
| d = "BODY" == c.tagName, | |
| e = c.getBoundingClientRect(); | |
| null == e.width && (e = a.extend({}, e, { | |
| width: e.right - e.left, | |
| height: e.bottom - e.top | |
| })); | |
| var f = d ? { | |
| top: 0, | |
| left: 0 | |
| } : b.offset(), | |
| g = { | |
| scroll: d ? document.documentElement.scrollTop || document.body.scrollTop : b.scrollTop() | |
| }, | |
| h = d ? { | |
| width: a(window).width(), | |
| height: a(window).height() | |
| } : null; | |
| return a.extend({}, e, g, h, f) | |
| }, c.prototype.getCalculatedOffset = function(a, b, c, d) { | |
| return "bottom" == a ? { | |
| top: b.top + b.height, | |
| left: b.left + b.width / 2 - c / 2 | |
| } : "top" == a ? { | |
| top: b.top - d, | |
| left: b.left + b.width / 2 - c / 2 | |
| } : "left" == a ? { | |
| top: b.top + b.height / 2 - d / 2, | |
| left: b.left - c | |
| } : { | |
| top: b.top + b.height / 2 - d / 2, | |
| left: b.left + b.width | |
| } | |
| }, c.prototype.getViewportAdjustedDelta = function(a, b, c, d) { | |
| var e = { | |
| top: 0, | |
| left: 0 | |
| }; | |
| if (!this.$viewport) return e; | |
| var f = this.options.viewport && this.options.viewport.padding || 0, | |
| g = this.getPosition(this.$viewport); | |
| if (/right|left/.test(a)) { | |
| var h = b.top - f - g.scroll, | |
| i = b.top + f - g.scroll + d; | |
| h < g.top ? e.top = g.top - h : i > g.top + g.height && (e.top = g.top + g.height - i) | |
| } else { | |
| var j = b.left - f, | |
| k = b.left + f + c; | |
| j < g.left ? e.left = g.left - j : k > g.right && (e.left = g.left + g.width - k) | |
| } | |
| return e | |
| }, c.prototype.getTitle = function() { | |
| var a, b = this.$element, | |
| c = this.options; | |
| return a = b.attr("data-original-title") || ("function" == typeof c.title ? c.title.call(b[0]) : c.title) | |
| }, c.prototype.getUID = function(a) { | |
| do a += ~~(1e6 * Math.random()); while (document.getElementById(a)); | |
| return a | |
| }, c.prototype.tip = function() { | |
| if (!this.$tip && (this.$tip = a(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 | |
| }, c.prototype.arrow = function() { | |
| return this.$arrow = this.$arrow || this.tip().find(".tooltip-arrow") | |
| }, c.prototype.enable = function() { | |
| this.enabled = !0 | |
| }, c.prototype.disable = function() { | |
| this.enabled = !1 | |
| }, c.prototype.toggleEnabled = function() { | |
| this.enabled = !this.enabled | |
| }, c.prototype.toggle = function(b) { | |
| var c = this; | |
| b && (c = a(b.currentTarget).data("bs." + this.type), c || (c = new this.constructor(b.currentTarget, this.getDelegateOptions()), a(b.currentTarget).data("bs." + this.type, c))), b ? (c.inState.click = !c.inState.click, c.isInStateTrue() ? c.enter(c) : c.leave(c)) : c.tip().hasClass("in") ? c.leave(c) : c.enter(c) | |
| }, c.prototype.destroy = function() { | |
| var a = this; | |
| clearTimeout(this.timeout), this.hide(function() { | |
| a.$element.off("." + a.type).removeData("bs." + a.type), a.$tip && a.$tip.detach(), a.$tip = null, a.$arrow = null, a.$viewport = null | |
| }) | |
| }; | |
| var d = a.fn.tooltip; | |
| a.fn.tooltip = b, a.fn.tooltip.Constructor = c, a.fn.tooltip.noConflict = function() { | |
| return a.fn.tooltip = d, this | |
| } | |
| }(jQuery), + function(a) { | |
| "use strict"; | |
| function b(b) { | |
| return this.each(function() { | |
| var d = a(this), | |
| e = d.data("bs.popover"), | |
| f = "object" == typeof b && b; | |
| (e || !/destroy|hide/.test(b)) && (e || d.data("bs.popover", e = new c(this, f)), "string" == typeof b && e[b]()) | |
| }) | |
| } | |
| var c = function(a, b) { | |
| this.init("popover", a, b) | |
| }; | |
| if (!a.fn.tooltip) throw new Error("Popover requires tooltip.js"); | |
| c.VERSION = "3.3.6", c.DEFAULTS = a.extend({}, a.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>' | |
| }), c.prototype = a.extend({}, a.fn.tooltip.Constructor.prototype), c.prototype.constructor = c, c.prototype.getDefaults = function() { | |
| return c.DEFAULTS | |
| }, c.prototype.setContent = function() { | |
| var a = this.tip(), | |
| b = this.getTitle(), | |
| c = this.getContent(); | |
| a.find(".popover-title")[this.options.html ? "html" : "text"](b), a.find(".popover-content").children().detach().end()[this.options.html ? "string" == typeof c ? "html" : "append" : "text"](c), a.removeClass("fade top bottom left right in"), a.find(".popover-title").html() || a.find(".popover-title").hide() | |
| }, c.prototype.hasContent = function() { | |
| return this.getTitle() || this.getContent() | |
| }, c.prototype.getContent = function() { | |
| var a = this.$element, | |
| b = this.options; | |
| return a.attr("data-content") || ("function" == typeof b.content ? b.content.call(a[0]) : b.content) | |
| }, c.prototype.arrow = function() { | |
| return this.$arrow = this.$arrow || this.tip().find(".arrow") | |
| }; | |
| var d = a.fn.popover; | |
| a.fn.popover = b, a.fn.popover.Constructor = c, a.fn.popover.noConflict = function() { | |
| return a.fn.popover = d, this | |
| } | |
| }(jQuery), + function(a) { | |
| "use strict"; | |
| function b(c, d) { | |
| this.$body = a(document.body), this.$scrollElement = a(a(c).is(document.body) ? window : c), this.options = a.extend({}, b.DEFAULTS, d), this.selector = (this.options.target || "") + " .nav li > a", this.offsets = [], this.targets = [], this.activeTarget = null, this.scrollHeight = 0, this.$scrollElement.on("scroll.bs.scrollspy", a.proxy(this.process, this)), this.refresh(), this.process() | |
| } | |
| function c(c) { | |
| return this.each(function() { | |
| var d = a(this), | |
| e = d.data("bs.scrollspy"), | |
| f = "object" == typeof c && c; | |
| e || d.data("bs.scrollspy", e = new b(this, f)), "string" == typeof c && e[c]() | |
| }) | |
| } | |
| b.VERSION = "3.3.6", b.DEFAULTS = { | |
| offset: 10 | |
| }, b.prototype.getScrollHeight = function() { | |
| return this.$scrollElement[0].scrollHeight || Math.max(this.$body[0].scrollHeight, document.documentElement.scrollHeight) | |
| }, b.prototype.refresh = function() { | |
| var b = this, | |
| c = "offset", | |
| d = 0; | |
| this.offsets = [], this.targets = [], this.scrollHeight = this.getScrollHeight(), a.isWindow(this.$scrollElement[0]) || (c = "position", d = this.$scrollElement.scrollTop()), this.$body.find(this.selector).map(function() { | |
| var b = a(this), | |
| e = b.data("target") || b.attr("href"), | |
| f = /^#./.test(e) && a(e); | |
| return f && f.length && f.is(":visible") && [ | |
| [f[c]().top + d, e] | |
| ] || null | |
| }).sort(function(a, b) { | |
| return a[0] - b[0] | |
| }).each(function() { | |
| b.offsets.push(this[0]), b.targets.push(this[1]) | |
| }) | |
| }, b.prototype.process = function() { | |
| var a, b = this.$scrollElement.scrollTop() + this.options.offset, | |
| c = this.getScrollHeight(), | |
| d = this.options.offset + c - this.$scrollElement.height(), | |
| e = this.offsets, | |
| f = this.targets, | |
| g = this.activeTarget; | |
| if (this.scrollHeight != c && this.refresh(), b >= d) return g != (a = f[f.length - 1]) && this.activate(a); | |
| if (g && b < e[0]) return this.activeTarget = null, this.clear(); | |
| for (a = e.length; a--;) g != f[a] && b >= e[a] && (void 0 === e[a + 1] || b < e[a + 1]) && this.activate(f[a]) | |
| }, b.prototype.activate = function(b) { | |
| this.activeTarget = b, this.clear(); | |
| var c = this.selector + '[data-target="' + b + '"],' + this.selector + '[href="' + b + '"]', | |
| d = a(c).parents("li").addClass("active"); | |
| d.parent(".dropdown-menu").length && (d = d.closest("li.dropdown").addClass("active")), d.trigger("activate.bs.scrollspy") | |
| }, b.prototype.clear = function() { | |
| a(this.selector).parentsUntil(this.options.target, ".active").removeClass("active") | |
| }; | |
| var d = a.fn.scrollspy; | |
| a.fn.scrollspy = c, a.fn.scrollspy.Constructor = b, a.fn.scrollspy.noConflict = function() { | |
| return a.fn.scrollspy = d, this | |
| }, a(window).on("load.bs.scrollspy.data-api", function() { | |
| a('[data-spy="scroll"]').each(function() { | |
| var b = a(this); | |
| c.call(b, b.data()) | |
| }) | |
| }) | |
| }(jQuery), + function(a) { | |
| "use strict"; | |
| function b(b) { | |
| return this.each(function() { | |
| var d = a(this), | |
| e = d.data("bs.tab"); | |
| e || d.data("bs.tab", e = new c(this)), "string" == typeof b && e[b]() | |
| }) | |
| } | |
| var c = function(b) { | |
| this.element = a(b) | |
| }; | |
| c.VERSION = "3.3.6", c.TRANSITION_DURATION = 150, c.prototype.show = function() { | |
| var b = this.element, | |
| c = b.closest("ul:not(.dropdown-menu)"), | |
| d = b.data("target"); | |
| if (d || (d = b.attr("href"), d = d && d.replace(/.*(?=#[^\s]*$)/, "")), !b.parent("li").hasClass("active")) { | |
| var e = c.find(".active:last a"), | |
| f = a.Event("hide.bs.tab", { | |
| relatedTarget: b[0] | |
| }), | |
| g = a.Event("show.bs.tab", { | |
| relatedTarget: e[0] | |
| }); | |
| if (e.trigger(f), b.trigger(g), !g.isDefaultPrevented() && !f.isDefaultPrevented()) { | |
| var h = a(d); | |
| this.activate(b.closest("li"), c), this.activate(h, h.parent(), function() { | |
| e.trigger({ | |
| type: "hidden.bs.tab", | |
| relatedTarget: b[0] | |
| }), b.trigger({ | |
| type: "shown.bs.tab", | |
| relatedTarget: e[0] | |
| }) | |
| }) | |
| } | |
| } | |
| }, c.prototype.activate = function(b, d, e) { | |
| function f() { | |
| g.removeClass("active").find("> .dropdown-menu > .active").removeClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded", !1), b.addClass("active").find('[data-toggle="tab"]').attr("aria-expanded", !0), h ? (b[0].offsetWidth, b.addClass("in")) : b.removeClass("fade"), b.parent(".dropdown-menu").length && b.closest("li.dropdown").addClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded", !0), e && e() | |
| } | |
| var g = d.find("> .active"), | |
| h = e && a.support.transition && (g.length && g.hasClass("fade") || !!d.find("> .fade").length); | |
| g.length && h ? g.one("bsTransitionEnd", f).emulateTransitionEnd(c.TRANSITION_DURATION) : f(), g.removeClass("in") | |
| }; | |
| var d = a.fn.tab; | |
| a.fn.tab = b, a.fn.tab.Constructor = c, a.fn.tab.noConflict = function() { | |
| return a.fn.tab = d, this | |
| }; | |
| var e = function(c) { | |
| c.preventDefault(), b.call(a(this), "show") | |
| }; | |
| a(document).on("click.bs.tab.data-api", '[data-toggle="tab"]', e).on("click.bs.tab.data-api", '[data-toggle="pill"]', e) | |
| }(jQuery), + function(a) { | |
| "use strict"; | |
| function b(b) { | |
| return this.each(function() { | |
| var d = a(this), | |
| e = d.data("bs.affix"), | |
| f = "object" == typeof b && b; | |
| e || d.data("bs.affix", e = new c(this, f)), "string" == typeof b && e[b]() | |
| }) | |
| } | |
| var c = function(b, d) { | |
| this.options = a.extend({}, c.DEFAULTS, d), this.$target = a(this.options.target).on("scroll.bs.affix.data-api", a.proxy(this.checkPosition, this)).on("click.bs.affix.data-api", a.proxy(this.checkPositionWithEventLoop, this)), this.$element = a(b), this.affixed = null, this.unpin = null, this.pinnedOffset = null, this.checkPosition() | |
| }; | |
| c.VERSION = "3.3.6", c.RESET = "affix affix-top affix-bottom", c.DEFAULTS = { | |
| offset: 0, | |
| target: window | |
| }, c.prototype.getState = function(a, b, c, d) { | |
| var e = this.$target.scrollTop(), | |
| f = this.$element.offset(), | |
| g = this.$target.height(); | |
| if (null != c && "top" == this.affixed) return c > e && "top"; | |
| if ("bottom" == this.affixed) return null != c ? !(e + this.unpin <= f.top) && "bottom" : !(a - d >= e + g) && "bottom"; | |
| var h = null == this.affixed, | |
| i = h ? e : f.top, | |
| j = h ? g : b; | |
| return null != c && c >= e ? "top" : null != d && i + j >= a - d && "bottom" | |
| }, c.prototype.getPinnedOffset = function() { | |
| if (this.pinnedOffset) return this.pinnedOffset; | |
| this.$element.removeClass(c.RESET).addClass("affix"); | |
| var a = this.$target.scrollTop(), | |
| b = this.$element.offset(); | |
| return this.pinnedOffset = b.top - a | |
| }, c.prototype.checkPositionWithEventLoop = function() { | |
| setTimeout(a.proxy(this.checkPosition, this), 1) | |
| }, c.prototype.checkPosition = function() { | |
| if (this.$element.is(":visible")) { | |
| var b = this.$element.height(), | |
| d = this.options.offset, | |
| e = d.top, | |
| f = d.bottom, | |
| g = Math.max(a(document).height(), a(document.body).height()); | |
| "object" != typeof d && (f = e = d), "function" == typeof e && (e = d.top(this.$element)), "function" == typeof f && (f = d.bottom(this.$element)); | |
| var h = this.getState(g, b, e, f); | |
| if (this.affixed != h) { | |
| null != this.unpin && this.$element.css("top", ""); | |
| var i = "affix" + (h ? "-" + h : ""), | |
| j = a.Event(i + ".bs.affix"); | |
| if (this.$element.trigger(j), j.isDefaultPrevented()) return; | |
| this.affixed = h, this.unpin = "bottom" == h ? this.getPinnedOffset() : null, this.$element.removeClass(c.RESET).addClass(i).trigger(i.replace("affix", "affixed") + ".bs.affix") | |
| } | |
| "bottom" == h && this.$element.offset({ | |
| top: g - b - f | |
| }) | |
| } | |
| }; | |
| var d = a.fn.affix; | |
| a.fn.affix = b, a.fn.affix.Constructor = c, a.fn.affix.noConflict = function() { | |
| return a.fn.affix = d, this | |
| }, a(window).on("load", function() { | |
| a('[data-spy="affix"]').each(function() { | |
| var c = a(this), | |
| d = c.data(); | |
| d.offset = d.offset || {}, null != d.offsetBottom && (d.offset.bottom = d.offsetBottom), null != d.offsetTop && (d.offset.top = d.offsetTop), b.call(c, d) | |
| }) | |
| }) | |
| }(jQuery), ! function(a, b) { | |
| "function" == typeof define && define.amd ? define(["jquery"], b) : b("object" == typeof exports ? require("jquery") : a.jQuery ? a.jQuery : a.Zepto) | |
| }(this, function(a, b) { | |
| a.fn.jPlayer = function(c) { | |
| var d = "jPlayer", | |
| e = "string" == typeof c, | |
| f = Array.prototype.slice.call(arguments, 1), | |
| g = this; | |
| return c = !e && f.length ? a.extend.apply(null, [!0, c].concat(f)) : c, e && "_" === c.charAt(0) ? g : (this.each(e ? function() { | |
| var e = a(this).data(d), | |
| h = e && a.isFunction(e[c]) ? e[c].apply(e, f) : e; | |
| return h !== e && h !== b ? (g = h, !1) : void 0 | |
| } : function() { | |
| var b = a(this).data(d); | |
| b ? b.option(c || {}) : a(this).data(d, new a.jPlayer(c, this)) | |
| }), g) | |
| }, a.jPlayer = function(b, c) { | |
| if (arguments.length) { | |
| this.element = a(c), this.options = a.extend(!0, {}, this.options, b); | |
| var d = this; | |
| this.element.bind("remove.jPlayer", function() { | |
| d.destroy() | |
| }), this._init() | |
| } | |
| }, "function" != typeof a.fn.stop && (a.fn.stop = function() {}), a.jPlayer.emulateMethods = "load play pause", a.jPlayer.emulateStatus = "src readyState networkState currentTime duration paused ended playbackRate", a.jPlayer.emulateOptions = "muted volume", a.jPlayer.reservedEvent = "ready flashreset resize repeat error warning", a.jPlayer.event = {}, a.each(["ready", "setmedia", "flashreset", "resize", "repeat", "click", "error", "warning", "loadstart", "progress", "suspend", "abort", "emptied", "stalled", "play", "pause", "loadedmetadata", "loadeddata", "waiting", "playing", "canplay", "canplaythrough", "seeking", "seeked", "timeupdate", "ended", "ratechange", "durationchange", "volumechange"], function() { | |
| a.jPlayer.event[this] = "jPlayer_" + this | |
| }), a.jPlayer.htmlEvent = ["loadstart", "abort", "emptied", "stalled", "loadedmetadata", "canplay", "canplaythrough"], a.jPlayer.pause = function() { | |
| a.jPlayer.prototype.destroyRemoved(), a.each(a.jPlayer.prototype.instances, function(a, b) { | |
| b.data("jPlayer").status.srcSet && b.jPlayer("pause") | |
| }) | |
| }, a.jPlayer.timeFormat = { | |
| showHour: !1, | |
| showMin: !0, | |
| showSec: !0, | |
| padHour: !1, | |
| padMin: !0, | |
| padSec: !0, | |
| sepHour: ":", | |
| sepMin: ":", | |
| sepSec: "" | |
| }; | |
| var c = function() { | |
| this.init() | |
| }; | |
| c.prototype = { | |
| init: function() { | |
| this.options = { | |
| timeFormat: a.jPlayer.timeFormat | |
| } | |
| }, | |
| time: function(a) { | |
| a = a && "number" == typeof a ? a : 0; | |
| var b = new Date(1e3 * a), | |
| c = b.getUTCHours(), | |
| d = this.options.timeFormat.showHour ? b.getUTCMinutes() : b.getUTCMinutes() + 60 * c, | |
| e = this.options.timeFormat.showMin ? b.getUTCSeconds() : b.getUTCSeconds() + 60 * d, | |
| f = this.options.timeFormat.padHour && 10 > c ? "0" + c : c, | |
| g = this.options.timeFormat.padMin && 10 > d ? "0" + d : d, | |
| h = this.options.timeFormat.padSec && 10 > e ? "0" + e : e, | |
| i = ""; | |
| return i += this.options.timeFormat.showHour ? f + this.options.timeFormat.sepHour : "", i += this.options.timeFormat.showMin ? g + this.options.timeFormat.sepMin : "", i += this.options.timeFormat.showSec ? h + this.options.timeFormat.sepSec : "" | |
| } | |
| }; | |
| var d = new c; | |
| a.jPlayer.convertTime = function(a) { | |
| return d.time(a) | |
| }, a.jPlayer.uaBrowser = function(a) { | |
| var b = a.toLowerCase(), | |
| c = /(webkit)[ \/]([\w.]+)/, | |
| d = /(opera)(?:.*version)?[ \/]([\w.]+)/, | |
| e = /(msie) ([\w.]+)/, | |
| f = /(mozilla)(?:.*? rv:([\w.]+))?/, | |
| g = c.exec(b) || d.exec(b) || e.exec(b) || b.indexOf("compatible") < 0 && f.exec(b) || []; | |
| return { | |
| browser: g[1] || "", | |
| version: g[2] || "0" | |
| } | |
| }, a.jPlayer.uaPlatform = function(a) { | |
| var b = a.toLowerCase(), | |
| c = /(ipad|iphone|ipod|android|blackberry|playbook|windows ce|webos)/, | |
| d = /(ipad|playbook)/, | |
| e = /(android)/, | |
| f = /(mobile)/, | |
| g = c.exec(b) || [], | |
| h = d.exec(b) || !f.exec(b) && e.exec(b) || []; | |
| return g[1] && (g[1] = g[1].replace(/\s/g, "_")), { | |
| platform: g[1] || "", | |
| tablet: h[1] || "" | |
| } | |
| }, a.jPlayer.browser = {}, a.jPlayer.platform = {}; | |
| var e = a.jPlayer.uaBrowser(navigator.userAgent); | |
| e.browser && (a.jPlayer.browser[e.browser] = !0, a.jPlayer.browser.version = e.version); | |
| var f = a.jPlayer.uaPlatform(navigator.userAgent); | |
| f.platform && (a.jPlayer.platform[f.platform] = !0, a.jPlayer.platform.mobile = !f.tablet, a.jPlayer.platform.tablet = !!f.tablet), a.jPlayer.getDocMode = function() { | |
| var b; | |
| return a.jPlayer.browser.msie && (document.documentMode ? b = document.documentMode : (b = 5, document.compatMode && "CSS1Compat" === document.compatMode && (b = 7))), b | |
| }, a.jPlayer.browser.documentMode = a.jPlayer.getDocMode(), a.jPlayer.nativeFeatures = { | |
| init: function() { | |
| var a, b, c, d = document, | |
| e = d.createElement("video"), | |
| f = { | |
| w3c: ["fullscreenEnabled", "fullscreenElement", "requestFullscreen", "exitFullscreen", "fullscreenchange", "fullscreenerror"], | |
| moz: ["mozFullScreenEnabled", "mozFullScreenElement", "mozRequestFullScreen", "mozCancelFullScreen", "mozfullscreenchange", "mozfullscreenerror"], | |
| webkit: ["", "webkitCurrentFullScreenElement", "webkitRequestFullScreen", "webkitCancelFullScreen", "webkitfullscreenchange", ""], | |
| webkitVideo: ["webkitSupportsFullscreen", "webkitDisplayingFullscreen", "webkitEnterFullscreen", "webkitExitFullscreen", "", ""], | |
| ms: ["", "msFullscreenElement", "msRequestFullscreen", "msExitFullscreen", "MSFullscreenChange", "MSFullscreenError"] | |
| }, | |
| g = ["w3c", "moz", "webkit", "webkitVideo", "ms"]; | |
| for (this.fullscreen = a = { | |
| support: { | |
| w3c: !!d[f.w3c[0]], | |
| moz: !!d[f.moz[0]], | |
| webkit: "function" == typeof d[f.webkit[3]], | |
| webkitVideo: "function" == typeof e[f.webkitVideo[2]], | |
| ms: "function" == typeof e[f.ms[2]] | |
| }, | |
| used: {} | |
| }, b = 0, c = g.length; c > b; b++) { | |
| var h = g[b]; | |
| if (a.support[h]) { | |
| a.spec = h, a.used[h] = !0; | |
| break | |
| } | |
| } | |
| if (a.spec) { | |
| var i = f[a.spec]; | |
| a.api = { | |
| fullscreenEnabled: !0, | |
| fullscreenElement: function(a) { | |
| return a = a ? a : d, a[i[1]] | |
| }, | |
| requestFullscreen: function(a) { | |
| return a[i[2]]() | |
| }, | |
| exitFullscreen: function(a) { | |
| return a = a ? a : d, a[i[3]]() | |
| } | |
| }, a.event = { | |
| fullscreenchange: i[4], | |
| fullscreenerror: i[5] | |
| } | |
| } else a.api = { | |
| fullscreenEnabled: !1, | |
| fullscreenElement: function() { | |
| return null | |
| }, | |
| requestFullscreen: function() {}, | |
| exitFullscreen: function() {} | |
| }, a.event = {} | |
| } | |
| }, a.jPlayer.nativeFeatures.init(), a.jPlayer.focus = null, a.jPlayer.keyIgnoreElementNames = "A INPUT TEXTAREA SELECT BUTTON"; | |
| var g = function(b) { | |
| var c, d = a.jPlayer.focus; | |
| d && (a.each(a.jPlayer.keyIgnoreElementNames.split(/\s+/g), function(a, d) { | |
| return b.target.nodeName.toUpperCase() === d.toUpperCase() ? (c = !0, !1) : void 0 | |
| }), c || a.each(d.options.keyBindings, function(c, e) { | |
| return e && a.isFunction(e.fn) && ("number" == typeof e.key && b.which === e.key || "string" == typeof e.key && b.key === e.key) ? (b.preventDefault(), e.fn(d), !1) : void 0 | |
| })) | |
| }; | |
| a.jPlayer.keys = function(b) { | |
| var c = "keydown.jPlayer"; | |
| a(document.documentElement).unbind(c), b && a(document.documentElement).bind(c, g) | |
| }, a.jPlayer.keys(!0), a.jPlayer.prototype = { | |
| count: 0, | |
| version: { | |
| script: "2.9.2", | |
| needFlash: "2.9.0", | |
| flash: "unknown" | |
| }, | |
| options: { | |
| swfPath: "js", | |
| solution: "html, flash", | |
| supplied: "mp3", | |
| auroraFormats: "wav", | |
| preload: "metadata", | |
| volume: .8, | |
| muted: !1, | |
| remainingDuration: !1, | |
| toggleDuration: !1, | |
| captureDuration: !0, | |
| playbackRate: 1, | |
| defaultPlaybackRate: 1, | |
| minPlaybackRate: .5, | |
| maxPlaybackRate: 4, | |
| wmode: "opaque", | |
| backgroundColor: "#000000", | |
| cssSelectorAncestor: "#jp_container_1", | |
| cssSelector: { | |
| videoPlay: ".jp-video-play", | |
| play: ".jp-play", | |
| pause: ".jp-pause", | |
| stop: ".jp-stop", | |
| seekBar: ".jp-seek-bar", | |
| playBar: ".jp-play-bar", | |
| mute: ".jp-mute", | |
| unmute: ".jp-unmute", | |
| volumeBar: ".jp-volume-bar", | |
| volumeBarValue: ".jp-volume-bar-value", | |
| volumeMax: ".jp-volume-max", | |
| playbackRateBar: ".jp-playback-rate-bar", | |
| playbackRateBarValue: ".jp-playback-rate-bar-value", | |
| currentTime: ".jp-current-time", | |
| duration: ".jp-duration", | |
| title: ".jp-title", | |
| fullScreen: ".jp-full-screen", | |
| restoreScreen: ".jp-restore-screen", | |
| repeat: ".jp-repeat", | |
| repeatOff: ".jp-repeat-off", | |
| gui: ".jp-gui", | |
| noSolution: ".jp-no-solution" | |
| }, | |
| stateClass: { | |
| playing: "jp-state-playing", | |
| seeking: "jp-state-seeking", | |
| muted: "jp-state-muted", | |
| looped: "jp-state-looped", | |
| fullScreen: "jp-state-full-screen", | |
| noVolume: "jp-state-no-volume" | |
| }, | |
| useStateClassSkin: !1, | |
| autoBlur: !0, | |
| smoothPlayBar: !1, | |
| fullScreen: !1, | |
| fullWindow: !1, | |
| autohide: { | |
| restored: !1, | |
| full: !0, | |
| fadeIn: 200, | |
| fadeOut: 600, | |
| hold: 1e3 | |
| }, | |
| loop: !1, | |
| repeat: function(b) { | |
| b.jPlayer.options.loop ? a(this).unbind(".jPlayerRepeat").bind(a.jPlayer.event.ended + ".jPlayer.jPlayerRepeat", function() { | |
| a(this).jPlayer("play") | |
| }) : a(this).unbind(".jPlayerRepeat") | |
| }, | |
| nativeVideoControls: {}, | |
| noFullWindow: { | |
| msie: /msie [0-6]\./, | |
| ipad: /ipad.*?os [0-4]\./, | |
| iphone: /iphone/, | |
| ipod: /ipod/, | |
| android_pad: /android [0-3]\.(?!.*?mobile)/, | |
| android_phone: /(?=.*android)(?!.*chrome)(?=.*mobile)/, | |
| blackberry: /blackberry/, | |
| windows_ce: /windows ce/, | |
| iemobile: /iemobile/, | |
| webos: /webos/ | |
| }, | |
| noVolume: { | |
| ipad: /ipad/, | |
| iphone: /iphone/, | |
| ipod: /ipod/, | |
| android_pad: /android(?!.*?mobile)/, | |
| android_phone: /android.*?mobile/, | |
| blackberry: /blackberry/, | |
| windows_ce: /windows ce/, | |
| iemobile: /iemobile/, | |
| webos: /webos/, | |
| playbook: /playbook/ | |
| }, | |
| timeFormat: {}, | |
| keyEnabled: !1, | |
| audioFullScreen: !1, | |
| keyBindings: { | |
| play: { | |
| key: 80, | |
| fn: function(a) { | |
| a.status.paused ? a.play() : a.pause() | |
| } | |
| }, | |
| fullScreen: { | |
| key: 70, | |
| fn: function(a) { | |
| (a.status.video || a.options.audioFullScreen) && a._setOption("fullScreen", !a.options.fullScreen) | |
| } | |
| }, | |
| muted: { | |
| key: 77, | |
| fn: function(a) { | |
| a._muted(!a.options.muted) | |
| } | |
| }, | |
| volumeUp: { | |
| key: 190, | |
| fn: function(a) { | |
| a.volume(a.options.volume + .1) | |
| } | |
| }, | |
| volumeDown: { | |
| key: 188, | |
| fn: function(a) { | |
| a.volume(a.options.volume - .1) | |
| } | |
| }, | |
| loop: { | |
| key: 76, | |
| fn: function(a) { | |
| a._loop(!a.options.loop) | |
| } | |
| } | |
| }, | |
| verticalVolume: !1, | |
| verticalPlaybackRate: !1, | |
| globalVolume: !1, | |
| idPrefix: "jp", | |
| noConflict: "jQuery", | |
| emulateHtml: !1, | |
| consoleAlerts: !0, | |
| errorAlerts: !1, | |
| warningAlerts: !1 | |
| }, | |
| optionsAudio: { | |
| size: { | |
| width: "0px", | |
| height: "0px", | |
| cssClass: "" | |
| }, | |
| sizeFull: { | |
| width: "0px", | |
| height: "0px", | |
| cssClass: "" | |
| } | |
| }, | |
| optionsVideo: { | |
| size: { | |
| width: "480px", | |
| height: "270px", | |
| cssClass: "jp-video-270p" | |
| }, | |
| sizeFull: { | |
| width: "100%", | |
| height: "100%", | |
| cssClass: "jp-video-full" | |
| } | |
| }, | |
| instances: {}, | |
| status: { | |
| src: "", | |
| media: {}, | |
| paused: !0, | |
| format: {}, | |
| formatType: "", | |
| waitForPlay: !0, | |
| waitForLoad: !0, | |
| srcSet: !1, | |
| video: !1, | |
| seekPercent: 0, | |
| currentPercentRelative: 0, | |
| currentPercentAbsolute: 0, | |
| currentTime: 0, | |
| duration: 0, | |
| remaining: 0, | |
| videoWidth: 0, | |
| videoHeight: 0, | |
| readyState: 0, | |
| networkState: 0, | |
| playbackRate: 1, | |
| ended: 0 | |
| }, | |
| internal: { | |
| ready: !1 | |
| }, | |
| solution: { | |
| html: !0, | |
| aurora: !0, | |
| flash: !0 | |
| }, | |
| format: { | |
| mp3: { | |
| codec: "audio/mpeg", | |
| flashCanPlay: !0, | |
| media: "audio" | |
| }, | |
| m4a: { | |
| codec: 'audio/mp4; codecs="mp4a.40.2"', | |
| flashCanPlay: !0, | |
| media: "audio" | |
| }, | |
| m3u8a: { | |
| codec: 'application/vnd.apple.mpegurl; codecs="mp4a.40.2"', | |
| flashCanPlay: !1, | |
| media: "audio" | |
| }, | |
| m3ua: { | |
| codec: "audio/mpegurl", | |
| flashCanPlay: !1, | |
| media: "audio" | |
| }, | |
| oga: { | |
| codec: 'audio/ogg; codecs="vorbis, opus"', | |
| flashCanPlay: !1, | |
| media: "audio" | |
| }, | |
| flac: { | |
| codec: "audio/x-flac", | |
| flashCanPlay: !1, | |
| media: "audio" | |
| }, | |
| wav: { | |
| codec: 'audio/wav; codecs="1"', | |
| flashCanPlay: !1, | |
| media: "audio" | |
| }, | |
| webma: { | |
| codec: 'audio/webm; codecs="vorbis"', | |
| flashCanPlay: !1, | |
| media: "audio" | |
| }, | |
| fla: { | |
| codec: "audio/x-flv", | |
| flashCanPlay: !0, | |
| media: "audio" | |
| }, | |
| rtmpa: { | |
| codec: 'audio/rtmp; codecs="rtmp"', | |
| flashCanPlay: !0, | |
| media: "audio" | |
| }, | |
| m4v: { | |
| codec: 'video/mp4; codecs="avc1.42E01E, mp4a.40.2"', | |
| flashCanPlay: !0, | |
| media: "video" | |
| }, | |
| m3u8v: { | |
| codec: 'application/vnd.apple.mpegurl; codecs="avc1.42E01E, mp4a.40.2"', | |
| flashCanPlay: !1, | |
| media: "video" | |
| }, | |
| m3uv: { | |
| codec: "audio/mpegurl", | |
| flashCanPlay: !1, | |
| media: "video" | |
| }, | |
| ogv: { | |
| codec: 'video/ogg; codecs="theora, vorbis"', | |
| flashCanPlay: !1, | |
| media: "video" | |
| }, | |
| webmv: { | |
| codec: 'video/webm; codecs="vorbis, vp8"', | |
| flashCanPlay: !1, | |
| media: "video" | |
| }, | |
| flv: { | |
| codec: "video/x-flv", | |
| flashCanPlay: !0, | |
| media: "video" | |
| }, | |
| rtmpv: { | |
| codec: 'video/rtmp; codecs="rtmp"', | |
| flashCanPlay: !0, | |
| media: "video" | |
| } | |
| }, | |
| _init: function() { | |
| var c = this; | |
| if (this.element.empty(), this.status = a.extend({}, this.status), this.internal = a.extend({}, this.internal), this.options.timeFormat = a.extend({}, a.jPlayer.timeFormat, this.options.timeFormat), this.internal.cmdsIgnored = a.jPlayer.platform.ipad || a.jPlayer.platform.iphone || a.jPlayer.platform.ipod, this.internal.domNode = this.element.get(0), this.options.keyEnabled && !a.jPlayer.focus && (a.jPlayer.focus = this), this.androidFix = { | |
| setMedia: !1, | |
| play: !1, | |
| pause: !1, | |
| time: NaN | |
| }, a.jPlayer.platform.android && (this.options.preload = "auto" !== this.options.preload ? "metadata" : "auto"), this.formats = [], this.solutions = [], this.require = {}, this.htmlElement = {}, this.html = {}, this.html.audio = {}, this.html.video = {}, this.aurora = {}, this.aurora.formats = [], this.aurora.properties = [], this.flash = {}, this.css = {}, this.css.cs = {}, this.css.jq = {}, this.ancestorJq = [], this.options.volume = this._limitValue(this.options.volume, 0, 1), a.each(this.options.supplied.toLowerCase().split(","), function(b, d) { | |
| var e = d.replace(/^\s+|\s+$/g, ""); | |
| if (c.format[e]) { | |
| var f = !1; | |
| a.each(c.formats, function(a, b) { | |
| return e === b ? (f = !0, !1) : void 0 | |
| }), f || c.formats.push(e) | |
| } | |
| }), a.each(this.options.solution.toLowerCase().split(","), function(b, d) { | |
| var e = d.replace(/^\s+|\s+$/g, ""); | |
| if (c.solution[e]) { | |
| var f = !1; | |
| a.each(c.solutions, function(a, b) { | |
| return e === b ? (f = !0, !1) : void 0 | |
| }), f || c.solutions.push(e) | |
| } | |
| }), a.each(this.options.auroraFormats.toLowerCase().split(","), function(b, d) { | |
| var e = d.replace(/^\s+|\s+$/g, ""); | |
| if (c.format[e]) { | |
| var f = !1; | |
| a.each(c.aurora.formats, function(a, b) { | |
| return e === b ? (f = !0, !1) : void 0 | |
| }), f || c.aurora.formats.push(e) | |
| } | |
| }), this.internal.instance = "jp_" + this.count, this.instances[this.internal.instance] = this.element, this.element.attr("id") || this.element.attr("id", this.options.idPrefix + "_jplayer_" + this.count), this.internal.self = a.extend({}, { | |
| id: this.element.attr("id"), | |
| jq: this.element | |
| }), this.internal.audio = a.extend({}, { | |
| id: this.options.idPrefix + "_audio_" + this.count, | |
| jq: b | |
| }), this.internal.video = a.extend({}, { | |
| id: this.options.idPrefix + "_video_" + this.count, | |
| jq: b | |
| }), this.internal.flash = a.extend({}, { | |
| id: this.options.idPrefix + "_flash_" + this.count, | |
| jq: b, | |
| swf: this.options.swfPath + (".swf" !== this.options.swfPath.toLowerCase().slice(-4) ? (this.options.swfPath && "/" !== this.options.swfPath.slice(-1) ? "/" : "") + "jquery.jplayer.swf" : "") | |
| }), this.internal.poster = a.extend({}, { | |
| id: this.options.idPrefix + "_poster_" + this.count, | |
| jq: b | |
| }), a.each(a.jPlayer.event, function(a, d) { | |
| c.options[a] !== b && (c.element.bind(d + ".jPlayer", c.options[a]), c.options[a] = b) | |
| }), this.require.audio = !1, this.require.video = !1, a.each(this.formats, function(a, b) { | |
| c.require[c.format[b].media] = !0 | |
| }), this.options = this.require.video ? a.extend(!0, {}, this.optionsVideo, this.options) : a.extend(!0, {}, this.optionsAudio, this.options), this._setSize(), this.status.nativeVideoControls = this._uaBlocklist(this.options.nativeVideoControls), this.status.noFullWindow = this._uaBlocklist(this.options.noFullWindow), this.status.noVolume = this._uaBlocklist(this.options.noVolume), a.jPlayer.nativeFeatures.fullscreen.api.fullscreenEnabled && this._fullscreenAddEventListeners(), this._restrictNativeVideoControls(), this.htmlElement.poster = document.createElement("img"), this.htmlElement.poster.id = this.internal.poster.id, this.htmlElement.poster.onload = function() { | |
| (!c.status.video || c.status.waitForPlay) && c.internal.poster.jq.show() | |
| }, this.element.append(this.htmlElement.poster), this.internal.poster.jq = a("#" + this.internal.poster.id), this.internal.poster.jq.css({ | |
| width: this.status.width, | |
| height: this.status.height | |
| }), this.internal.poster.jq.hide(), this.internal.poster.jq.bind("click.jPlayer", function() { | |
| c._trigger(a.jPlayer.event.click) | |
| }), this.html.audio.available = !1, this.require.audio && (this.htmlElement.audio = document.createElement("audio"), this.htmlElement.audio.id = this.internal.audio.id, this.html.audio.available = !!this.htmlElement.audio.canPlayType && this._testCanPlayType(this.htmlElement.audio)), this.html.video.available = !1, this.require.video && (this.htmlElement.video = document.createElement("video"), this.htmlElement.video.id = this.internal.video.id, this.html.video.available = !!this.htmlElement.video.canPlayType && this._testCanPlayType(this.htmlElement.video)), this.flash.available = this._checkForFlash(10.1), this.html.canPlay = {}, this.aurora.canPlay = {}, this.flash.canPlay = {}, a.each(this.formats, function(b, d) { | |
| c.html.canPlay[d] = c.html[c.format[d].media].available && "" !== c.htmlElement[c.format[d].media].canPlayType(c.format[d].codec), c.aurora.canPlay[d] = a.inArray(d, c.aurora.formats) > -1, c.flash.canPlay[d] = c.format[d].flashCanPlay && c.flash.available | |
| }), this.html.desired = !1, this.aurora.desired = !1, this.flash.desired = !1, a.each(this.solutions, function(b, d) { | |
| if (0 === b) c[d].desired = !0; | |
| else { | |
| var e = !1, | |
| f = !1; | |
| a.each(c.formats, function(a, b) { | |
| c[c.solutions[0]].canPlay[b] && ("video" === c.format[b].media ? f = !0 : e = !0) | |
| }), c[d].desired = c.require.audio && !e || c.require.video && !f | |
| } | |
| }), this.html.support = {}, this.aurora.support = {}, this.flash.support = {}, a.each(this.formats, function(a, b) { | |
| c.html.support[b] = c.html.canPlay[b] && c.html.desired, c.aurora.support[b] = c.aurora.canPlay[b] && c.aurora.desired, c.flash.support[b] = c.flash.canPlay[b] && c.flash.desired | |
| }), this.html.used = !1, this.aurora.used = !1, this.flash.used = !1, a.each(this.solutions, function(b, d) { | |
| a.each(c.formats, function(a, b) { | |
| return c[d].support[b] ? (c[d].used = !0, !1) : void 0 | |
| }) | |
| }), this._resetActive(), this._resetGate(), this._cssSelectorAncestor(this.options.cssSelectorAncestor), this.html.used || this.aurora.used || this.flash.used ? this.css.jq.noSolution.length && this.css.jq.noSolution.hide() : (this._error({ | |
| type: a.jPlayer.error.NO_SOLUTION, | |
| context: "{solution:'" + this.options.solution + "', supplied:'" + this.options.supplied + "'}", | |
| message: a.jPlayer.errorMsg.NO_SOLUTION, | |
| hint: a.jPlayer.errorHint.NO_SOLUTION | |
| }), this.css.jq.noSolution.length && this.css.jq.noSolution.show()), this.flash.used) { | |
| var d, e = "jQuery=" + encodeURI(this.options.noConflict) + "&id=" + encodeURI(this.internal.self.id) + "&vol=" + this.options.volume + "&muted=" + this.options.muted; | |
| if (a.jPlayer.browser.msie && (Number(a.jPlayer.browser.version) < 9 || a.jPlayer.browser.documentMode < 9)) { | |
| var f = '<object id="' + this.internal.flash.id + '" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="0" height="0" tabindex="-1"></object>', | |
| g = ['<param name="movie" value="' + this.internal.flash.swf + '" />', '<param name="FlashVars" value="' + e + '" />', '<param name="allowScriptAccess" value="always" />', '<param name="bgcolor" value="' + this.options.backgroundColor + '" />', '<param name="wmode" value="' + this.options.wmode + '" />']; | |
| d = document.createElement(f); | |
| for (var h = 0; h < g.length; h++) d.appendChild(document.createElement(g[h])) | |
| } else { | |
| var i = function(a, b, c) { | |
| var d = document.createElement("param"); | |
| d.setAttribute("name", b), d.setAttribute("value", c), a.appendChild(d) | |
| }; | |
| d = document.createElement("object"), d.setAttribute("id", this.internal.flash.id), d.setAttribute("name", this.internal.flash.id), d.setAttribute("data", this.internal.flash.swf), d.setAttribute("type", "application/x-shockwave-flash"), d.setAttribute("width", "1"), d.setAttribute("height", "1"), d.setAttribute("tabindex", "-1"), i(d, "flashvars", e), i(d, "allowscriptaccess", "always"), i(d, "bgcolor", this.options.backgroundColor), i(d, "wmode", this.options.wmode) | |
| } | |
| this.element.append(d), this.internal.flash.jq = a(d) | |
| } | |
| this.status.playbackRateEnabled = !(!this.html.used || this.flash.used) && this._testPlaybackRate("audio"), this._updatePlaybackRate(), this.html.used && (this.html.audio.available && (this._addHtmlEventListeners(this.htmlElement.audio, this.html.audio), this.element.append(this.htmlElement.audio), this.internal.audio.jq = a("#" + this.internal.audio.id)), this.html.video.available && (this._addHtmlEventListeners(this.htmlElement.video, this.html.video), this.element.append(this.htmlElement.video), this.internal.video.jq = a("#" + this.internal.video.id), this.internal.video.jq.css(this.status.nativeVideoControls ? { | |
| width: this.status.width, | |
| height: this.status.height | |
| } : { | |
| width: "0px", | |
| height: "0px" | |
| }), this.internal.video.jq.bind("click.jPlayer", function() { | |
| c._trigger(a.jPlayer.event.click) | |
| }))), this.aurora.used, this.options.emulateHtml && this._emulateHtmlBridge(), !this.html.used && !this.aurora.used || this.flash.used || setTimeout(function() { | |
| c.internal.ready = !0, c.version.flash = "n/a", c._trigger(a.jPlayer.event.repeat), c._trigger(a.jPlayer.event.ready) | |
| }, 100), this._updateNativeVideoControls(), this.css.jq.videoPlay.length && this.css.jq.videoPlay.hide(), a.jPlayer.prototype.count++ | |
| }, | |
| destroy: function() { | |
| this.clearMedia(), this._removeUiClass(), this.css.jq.currentTime.length && this.css.jq.currentTime.text(""), this.css.jq.duration.length && this.css.jq.duration.text(""), a.each(this.css.jq, function(a, b) { | |
| b.length && b.unbind(".jPlayer") | |
| }), this.internal.poster.jq.unbind(".jPlayer"), this.internal.video.jq && this.internal.video.jq.unbind(".jPlayer"), this._fullscreenRemoveEventListeners(), this === a.jPlayer.focus && (a.jPlayer.focus = null), this.options.emulateHtml && this._destroyHtmlBridge(), this.element.removeData("jPlayer"), this.element.unbind(".jPlayer"), this.element.empty(), delete this.instances[this.internal.instance] | |
| }, | |
| destroyRemoved: function() { | |
| var b = this; | |
| a.each(this.instances, function(a, c) { | |
| b.element !== c && (c.data("jPlayer") || (c.jPlayer("destroy"), delete b.instances[a])) | |
| }) | |
| }, | |
| enable: function() {}, | |
| disable: function() {}, | |
| _testCanPlayType: function(a) { | |
| try { | |
| return a.canPlayType(this.format.mp3.codec), !0 | |
| } catch (a) { | |
| return !1 | |
| } | |
| }, | |
| _testPlaybackRate: function(a) { | |
| var b, c = .5; | |
| a = "string" == typeof a ? a : "audio", b = document.createElement(a); | |
| try { | |
| return "playbackRate" in b && (b.playbackRate = c, b.playbackRate === c) | |
| } catch (a) { | |
| return !1 | |
| } | |
| }, | |
| _uaBlocklist: function(b) { | |
| var c = navigator.userAgent.toLowerCase(), | |
| d = !1; | |
| return a.each(b, function(a, b) { | |
| return b && b.test(c) ? (d = !0, !1) : void 0 | |
| }), d | |
| }, | |
| _restrictNativeVideoControls: function() { | |
| this.require.audio && this.status.nativeVideoControls && (this.status.nativeVideoControls = !1, this.status.noFullWindow = !0) | |
| }, | |
| _updateNativeVideoControls: function() { | |
| this.html.video.available && this.html.used && (this.htmlElement.video.controls = this.status.nativeVideoControls, this._updateAutohide(), this.status.nativeVideoControls && this.require.video ? (this.internal.poster.jq.hide(), this.internal.video.jq.css({ | |
| width: this.status.width, | |
| height: this.status.height | |
| })) : this.status.waitForPlay && this.status.video && (this.internal.poster.jq.show(), this.internal.video.jq.css({ | |
| width: "0px", | |
| height: "0px" | |
| }))) | |
| }, | |
| _addHtmlEventListeners: function(b, c) { | |
| var d = this; | |
| b.preload = this.options.preload, b.muted = this.options.muted, b.volume = this.options.volume, this.status.playbackRateEnabled && (b.defaultPlaybackRate = this.options.defaultPlaybackRate, b.playbackRate = this.options.playbackRate), b.addEventListener("progress", function() { | |
| c.gate && (d.internal.cmdsIgnored && this.readyState > 0 && (d.internal.cmdsIgnored = !1), d._getHtmlStatus(b), d._updateInterface(), d._trigger(a.jPlayer.event.progress)) | |
| }, !1), b.addEventListener("loadeddata", function() { | |
| c.gate && (d.androidFix.setMedia = !1, d.androidFix.play && (d.androidFix.play = !1, d.play(d.androidFix.time)), d.androidFix.pause && (d.androidFix.pause = !1, d.pause(d.androidFix.time)), d._trigger(a.jPlayer.event.loadeddata)) | |
| }, !1), b.addEventListener("timeupdate", function() { | |
| c.gate && (d._getHtmlStatus(b), d._updateInterface(), d._trigger(a.jPlayer.event.timeupdate)) | |
| }, !1), b.addEventListener("durationchange", function() { | |
| c.gate && (d._getHtmlStatus(b), d._updateInterface(), d._trigger(a.jPlayer.event.durationchange)) | |
| }, !1), b.addEventListener("play", function() { | |
| c.gate && (d._updateButtons(!0), d._html_checkWaitForPlay(), d._trigger(a.jPlayer.event.play)) | |
| }, !1), b.addEventListener("playing", function() { | |
| c.gate && (d._updateButtons(!0), d._seeked(), d._trigger(a.jPlayer.event.playing)) | |
| }, !1), b.addEventListener("pause", function() { | |
| c.gate && (d._updateButtons(!1), d._trigger(a.jPlayer.event.pause)) | |
| }, !1), b.addEventListener("waiting", function() { | |
| c.gate && (d._seeking(), d._trigger(a.jPlayer.event.waiting)) | |
| }, !1), b.addEventListener("seeking", function() { | |
| c.gate && (d._seeking(), d._trigger(a.jPlayer.event.seeking)) | |
| }, !1), b.addEventListener("seeked", function() { | |
| c.gate && (d._seeked(), d._trigger(a.jPlayer.event.seeked)) | |
| }, !1), b.addEventListener("volumechange", function() { | |
| c.gate && (d.options.volume = b.volume, d.options.muted = b.muted, d._updateMute(), d._updateVolume(), d._trigger(a.jPlayer.event.volumechange)) | |
| }, !1), b.addEventListener("ratechange", function() { | |
| c.gate && (d.options.defaultPlaybackRate = b.defaultPlaybackRate, d.options.playbackRate = b.playbackRate, d._updatePlaybackRate(), d._trigger(a.jPlayer.event.ratechange)) | |
| }, !1), b.addEventListener("suspend", function() { | |
| c.gate && (d._seeked(), d._trigger(a.jPlayer.event.suspend)) | |
| }, !1), b.addEventListener("ended", function() { | |
| c.gate && (a.jPlayer.browser.webkit || (d.htmlElement.media.currentTime = 0), d.htmlElement.media.pause(), d._updateButtons(!1), d._getHtmlStatus(b, !0), d._updateInterface(), d._trigger(a.jPlayer.event.ended)) | |
| }, !1), b.addEventListener("error", function() { | |
| c.gate && (d._updateButtons(!1), d._seeked(), d.status.srcSet && (clearTimeout(d.internal.htmlDlyCmdId), d.status.waitForLoad = !0, d.status.waitForPlay = !0, d.status.video && !d.status.nativeVideoControls && d.internal.video.jq.css({ | |
| width: "0px", | |
| height: "0px" | |
| }), d._validString(d.status.media.poster) && !d.status.nativeVideoControls && d.internal.poster.jq.show(), d.css.jq.videoPlay.length && d.css.jq.videoPlay.show(), d._error({ | |
| type: a.jPlayer.error.URL, | |
| context: d.status.src, | |
| message: a.jPlayer.errorMsg.URL, | |
| hint: a.jPlayer.errorHint.URL | |
| }))) | |
| }, !1), a.each(a.jPlayer.htmlEvent, function(e, f) { | |
| b.addEventListener(this, function() { | |
| c.gate && d._trigger(a.jPlayer.event[f]) | |
| }, !1) | |
| }) | |
| }, | |
| _addAuroraEventListeners: function(b, c) { | |
| var d = this; | |
| b.volume = 100 * this.options.volume, b.on("progress", function() { | |
| c.gate && (d.internal.cmdsIgnored && this.readyState > 0 && (d.internal.cmdsIgnored = !1), d._getAuroraStatus(b), d._updateInterface(), d._trigger(a.jPlayer.event.progress), b.duration > 0 && d._trigger(a.jPlayer.event.timeupdate)) | |
| }, !1), b.on("ready", function() { | |
| c.gate && d._trigger(a.jPlayer.event.loadeddata) | |
| }, !1), b.on("duration", function() { | |
| c.gate && (d._getAuroraStatus(b), d._updateInterface(), d._trigger(a.jPlayer.event.durationchange)) | |
| }, !1), b.on("end", function() { | |
| c.gate && (d._updateButtons(!1), d._getAuroraStatus(b, !0), d._updateInterface(), d._trigger(a.jPlayer.event.ended)) | |
| }, !1), b.on("error", function() { | |
| c.gate && (d._updateButtons(!1), d._seeked(), d.status.srcSet && (d.status.waitForLoad = !0, d.status.waitForPlay = !0, d.status.video && !d.status.nativeVideoControls && d.internal.video.jq.css({ | |
| width: "0px", | |
| height: "0px" | |
| }), d._validString(d.status.media.poster) && !d.status.nativeVideoControls && d.internal.poster.jq.show(), d.css.jq.videoPlay.length && d.css.jq.videoPlay.show(), d._error({ | |
| type: a.jPlayer.error.URL, | |
| context: d.status.src, | |
| message: a.jPlayer.errorMsg.URL, | |
| hint: a.jPlayer.errorHint.URL | |
| }))) | |
| }, !1) | |
| }, | |
| _getHtmlStatus: function(a, b) { | |
| var c = 0, | |
| d = 0, | |
| e = 0, | |
| f = 0; | |
| isFinite(a.duration) && (this.status.duration = a.duration), c = a.currentTime, d = this.status.duration > 0 ? 100 * c / this.status.duration : 0, "object" == typeof a.seekable && a.seekable.length > 0 ? (e = this.status.duration > 0 ? 100 * a.seekable.end(a.seekable.length - 1) / this.status.duration : 100, f = this.status.duration > 0 ? 100 * a.currentTime / a.seekable.end(a.seekable.length - 1) : 0) : (e = 100, f = d), b && (c = 0, f = 0, d = 0), this.status.seekPercent = e, this.status.currentPercentRelative = f, this.status.currentPercentAbsolute = d, this.status.currentTime = c, this.status.remaining = this.status.duration - this.status.currentTime, this.status.videoWidth = a.videoWidth, this.status.videoHeight = a.videoHeight, this.status.readyState = a.readyState, this.status.networkState = a.networkState, this.status.playbackRate = a.playbackRate, this.status.ended = a.ended | |
| }, | |
| _getAuroraStatus: function(a, b) { | |
| var c = 0, | |
| d = 0, | |
| e = 0, | |
| f = 0; | |
| this.status.duration = a.duration / 1e3, c = a.currentTime / 1e3, d = this.status.duration > 0 ? 100 * c / this.status.duration : 0, a.buffered > 0 ? (e = this.status.duration > 0 ? a.buffered * this.status.duration / this.status.duration : 100, f = this.status.duration > 0 ? c / (a.buffered * this.status.duration) : 0) : (e = 100, f = d), b && (c = 0, f = 0, d = 0), this.status.seekPercent = e, this.status.currentPercentRelative = f, this.status.currentPercentAbsolute = d, this.status.currentTime = c, this.status.remaining = this.status.duration - this.status.currentTime, this.status.readyState = 4, this.status.networkState = 0, this.status.playbackRate = 1, this.status.ended = !1 | |
| }, | |
| _resetStatus: function() { | |
| this.status = a.extend({}, this.status, a.jPlayer.prototype.status) | |
| }, | |
| _trigger: function(b, c, d) { | |
| var e = a.Event(b); | |
| e.jPlayer = {}, e.jPlayer.version = a.extend({}, this.version), e.jPlayer.options = a.extend(!0, {}, this.options), e.jPlayer.status = a.extend(!0, {}, this.status), e.jPlayer.html = a.extend(!0, {}, this.html), e.jPlayer.aurora = a.extend(!0, {}, this.aurora), e.jPlayer.flash = a.extend(!0, {}, this.flash), | |
| c && (e.jPlayer.error = a.extend({}, c)), d && (e.jPlayer.warning = a.extend({}, d)), this.element.trigger(e) | |
| }, | |
| jPlayerFlashEvent: function(b, c) { | |
| if (b === a.jPlayer.event.ready) | |
| if (this.internal.ready) { | |
| if (this.flash.gate) { | |
| if (this.status.srcSet) { | |
| var d = this.status.currentTime, | |
| e = this.status.paused; | |
| this.setMedia(this.status.media), this.volumeWorker(this.options.volume), d > 0 && (e ? this.pause(d) : this.play(d)) | |
| } | |
| this._trigger(a.jPlayer.event.flashreset) | |
| } | |
| } else this.internal.ready = !0, this.internal.flash.jq.css({ | |
| width: "0px", | |
| height: "0px" | |
| }), this.version.flash = c.version, this.version.needFlash !== this.version.flash && this._error({ | |
| type: a.jPlayer.error.VERSION, | |
| context: this.version.flash, | |
| message: a.jPlayer.errorMsg.VERSION + this.version.flash, | |
| hint: a.jPlayer.errorHint.VERSION | |
| }), this._trigger(a.jPlayer.event.repeat), this._trigger(b); | |
| if (this.flash.gate) switch (b) { | |
| case a.jPlayer.event.progress: | |
| this._getFlashStatus(c), this._updateInterface(), this._trigger(b); | |
| break; | |
| case a.jPlayer.event.timeupdate: | |
| this._getFlashStatus(c), this._updateInterface(), this._trigger(b); | |
| break; | |
| case a.jPlayer.event.play: | |
| this._seeked(), this._updateButtons(!0), this._trigger(b); | |
| break; | |
| case a.jPlayer.event.pause: | |
| this._updateButtons(!1), this._trigger(b); | |
| break; | |
| case a.jPlayer.event.ended: | |
| this._updateButtons(!1), this._trigger(b); | |
| break; | |
| case a.jPlayer.event.click: | |
| this._trigger(b); | |
| break; | |
| case a.jPlayer.event.error: | |
| this.status.waitForLoad = !0, this.status.waitForPlay = !0, this.status.video && this.internal.flash.jq.css({ | |
| width: "0px", | |
| height: "0px" | |
| }), this._validString(this.status.media.poster) && this.internal.poster.jq.show(), this.css.jq.videoPlay.length && this.status.video && this.css.jq.videoPlay.show(), this.status.video ? this._flash_setVideo(this.status.media) : this._flash_setAudio(this.status.media), this._updateButtons(!1), this._error({ | |
| type: a.jPlayer.error.URL, | |
| context: c.src, | |
| message: a.jPlayer.errorMsg.URL, | |
| hint: a.jPlayer.errorHint.URL | |
| }); | |
| break; | |
| case a.jPlayer.event.seeking: | |
| this._seeking(), this._trigger(b); | |
| break; | |
| case a.jPlayer.event.seeked: | |
| this._seeked(), this._trigger(b); | |
| break; | |
| case a.jPlayer.event.ready: | |
| break; | |
| default: | |
| this._trigger(b) | |
| } | |
| return !1 | |
| }, | |
| _getFlashStatus: function(a) { | |
| this.status.seekPercent = a.seekPercent, this.status.currentPercentRelative = a.currentPercentRelative, this.status.currentPercentAbsolute = a.currentPercentAbsolute, this.status.currentTime = a.currentTime, this.status.duration = a.duration, this.status.remaining = a.duration - a.currentTime, this.status.videoWidth = a.videoWidth, this.status.videoHeight = a.videoHeight, this.status.readyState = 4, this.status.networkState = 0, this.status.playbackRate = 1, this.status.ended = !1 | |
| }, | |
| _updateButtons: function(a) { | |
| a === b ? a = !this.status.paused : this.status.paused = !a, a ? this.addStateClass("playing") : this.removeStateClass("playing"), !this.status.noFullWindow && this.options.fullWindow ? this.addStateClass("fullScreen") : this.removeStateClass("fullScreen"), this.options.loop ? this.addStateClass("looped") : this.removeStateClass("looped"), this.css.jq.play.length && this.css.jq.pause.length && (a ? (this.css.jq.play.hide(), this.css.jq.pause.show()) : (this.css.jq.play.show(), this.css.jq.pause.hide())), this.css.jq.restoreScreen.length && this.css.jq.fullScreen.length && (this.status.noFullWindow ? (this.css.jq.fullScreen.hide(), this.css.jq.restoreScreen.hide()) : this.options.fullWindow ? (this.css.jq.fullScreen.hide(), this.css.jq.restoreScreen.show()) : (this.css.jq.fullScreen.show(), this.css.jq.restoreScreen.hide())), this.css.jq.repeat.length && this.css.jq.repeatOff.length && (this.options.loop ? (this.css.jq.repeat.hide(), this.css.jq.repeatOff.show()) : (this.css.jq.repeat.show(), this.css.jq.repeatOff.hide())) | |
| }, | |
| _updateInterface: function() { | |
| this.css.jq.seekBar.length && this.css.jq.seekBar.width(this.status.seekPercent + "%"), this.css.jq.playBar.length && (this.options.smoothPlayBar ? this.css.jq.playBar.stop().animate({ | |
| width: this.status.currentPercentAbsolute + "%" | |
| }, 250, "linear") : this.css.jq.playBar.width(this.status.currentPercentRelative + "%")); | |
| var a = ""; | |
| this.css.jq.currentTime.length && (a = this._convertTime(this.status.currentTime), a !== this.css.jq.currentTime.text() && this.css.jq.currentTime.text(this._convertTime(this.status.currentTime))); | |
| var b = "", | |
| c = this.status.duration, | |
| d = this.status.remaining; | |
| this.css.jq.duration.length && ("string" == typeof this.status.media.duration ? b = this.status.media.duration : ("number" == typeof this.status.media.duration && (c = this.status.media.duration, d = c - this.status.currentTime), b = this.options.remainingDuration ? (d > 0 ? "-" : "") + this._convertTime(d) : this._convertTime(c)), b !== this.css.jq.duration.text() && this.css.jq.duration.text(b)) | |
| }, | |
| _convertTime: c.prototype.time, | |
| _seeking: function() { | |
| this.css.jq.seekBar.length && this.css.jq.seekBar.addClass("jp-seeking-bg"), this.addStateClass("seeking") | |
| }, | |
| _seeked: function() { | |
| this.css.jq.seekBar.length && this.css.jq.seekBar.removeClass("jp-seeking-bg"), this.removeStateClass("seeking") | |
| }, | |
| _resetGate: function() { | |
| this.html.audio.gate = !1, this.html.video.gate = !1, this.aurora.gate = !1, this.flash.gate = !1 | |
| }, | |
| _resetActive: function() { | |
| this.html.active = !1, this.aurora.active = !1, this.flash.active = !1 | |
| }, | |
| _escapeHtml: function(a) { | |
| return a.split("&").join("&").split("<").join("<").split(">").join(">").split('"').join(""") | |
| }, | |
| _qualifyURL: function(a) { | |
| var b = document.createElement("div"); | |
| return b.innerHTML = '<a href="' + this._escapeHtml(a) + '">x</a>', b.firstChild.href | |
| }, | |
| _absoluteMediaUrls: function(b) { | |
| var c = this; | |
| return a.each(b, function(a, d) { | |
| d && c.format[a] && "data:" !== d.substr(0, 5) && (b[a] = c._qualifyURL(d)) | |
| }), b | |
| }, | |
| addStateClass: function(a) { | |
| this.ancestorJq.length && this.ancestorJq.addClass(this.options.stateClass[a]) | |
| }, | |
| removeStateClass: function(a) { | |
| this.ancestorJq.length && this.ancestorJq.removeClass(this.options.stateClass[a]) | |
| }, | |
| setMedia: function(b) { | |
| var c = this, | |
| d = !1, | |
| e = this.status.media.poster !== b.poster; | |
| this._resetMedia(), this._resetGate(), this._resetActive(), this.androidFix.setMedia = !1, this.androidFix.play = !1, this.androidFix.pause = !1, b = this._absoluteMediaUrls(b), a.each(this.formats, function(e, f) { | |
| var g = "video" === c.format[f].media; | |
| return a.each(c.solutions, function(e, h) { | |
| if (c[h].support[f] && c._validString(b[f])) { | |
| var i = "html" === h, | |
| j = "aurora" === h; | |
| return g ? (i ? (c.html.video.gate = !0, c._html_setVideo(b), c.html.active = !0) : (c.flash.gate = !0, c._flash_setVideo(b), c.flash.active = !0), c.css.jq.videoPlay.length && c.css.jq.videoPlay.show(), c.status.video = !0) : (i ? (c.html.audio.gate = !0, c._html_setAudio(b), c.html.active = !0, a.jPlayer.platform.android && (c.androidFix.setMedia = !0)) : j ? (c.aurora.gate = !0, c._aurora_setAudio(b), c.aurora.active = !0) : (c.flash.gate = !0, c._flash_setAudio(b), c.flash.active = !0), c.css.jq.videoPlay.length && c.css.jq.videoPlay.hide(), c.status.video = !1), d = !0, !1 | |
| } | |
| }), !d && void 0 | |
| }), d ? (this.status.nativeVideoControls && this.html.video.gate || this._validString(b.poster) && (e ? this.htmlElement.poster.src = b.poster : this.internal.poster.jq.show()), "string" == typeof b.title && (this.css.jq.title.length && this.css.jq.title.html(b.title), this.htmlElement.audio && this.htmlElement.audio.setAttribute("title", b.title), this.htmlElement.video && this.htmlElement.video.setAttribute("title", b.title)), this.status.srcSet = !0, this.status.media = a.extend({}, b), this._updateButtons(!1), this._updateInterface(), this._trigger(a.jPlayer.event.setmedia)) : this._error({ | |
| type: a.jPlayer.error.NO_SUPPORT, | |
| context: "{supplied:'" + this.options.supplied + "'}", | |
| message: a.jPlayer.errorMsg.NO_SUPPORT, | |
| hint: a.jPlayer.errorHint.NO_SUPPORT | |
| }) | |
| }, | |
| _resetMedia: function() { | |
| this._resetStatus(), this._updateButtons(!1), this._updateInterface(), this._seeked(), this.internal.poster.jq.hide(), clearTimeout(this.internal.htmlDlyCmdId), this.html.active ? this._html_resetMedia() : this.aurora.active ? this._aurora_resetMedia() : this.flash.active && this._flash_resetMedia() | |
| }, | |
| clearMedia: function() { | |
| this._resetMedia(), this.html.active ? this._html_clearMedia() : this.aurora.active ? this._aurora_clearMedia() : this.flash.active && this._flash_clearMedia(), this._resetGate(), this._resetActive() | |
| }, | |
| load: function() { | |
| this.status.srcSet ? this.html.active ? this._html_load() : this.aurora.active ? this._aurora_load() : this.flash.active && this._flash_load() : this._urlNotSetError("load") | |
| }, | |
| focus: function() { | |
| this.options.keyEnabled && (a.jPlayer.focus = this) | |
| }, | |
| play: function(a) { | |
| var b = "object" == typeof a; | |
| b && this.options.useStateClassSkin && !this.status.paused ? this.pause(a) : (a = "number" == typeof a ? a : NaN, this.status.srcSet ? (this.focus(), this.html.active ? this._html_play(a) : this.aurora.active ? this._aurora_play(a) : this.flash.active && this._flash_play(a)) : this._urlNotSetError("play")) | |
| }, | |
| videoPlay: function() { | |
| this.play() | |
| }, | |
| pause: function(a) { | |
| a = "number" == typeof a ? a : NaN, this.status.srcSet ? this.html.active ? this._html_pause(a) : this.aurora.active ? this._aurora_pause(a) : this.flash.active && this._flash_pause(a) : this._urlNotSetError("pause") | |
| }, | |
| tellOthers: function(b, c) { | |
| var d = this, | |
| e = "function" == typeof c, | |
| f = Array.prototype.slice.call(arguments); | |
| "string" == typeof b && (e && f.splice(1, 1), a.jPlayer.prototype.destroyRemoved(), a.each(this.instances, function() { | |
| d.element !== this && (!e || c.call(this.data("jPlayer"), d)) && this.jPlayer.apply(this, f) | |
| })) | |
| }, | |
| pauseOthers: function(a) { | |
| this.tellOthers("pause", function() { | |
| return this.status.srcSet | |
| }, a) | |
| }, | |
| stop: function() { | |
| this.status.srcSet ? this.html.active ? this._html_pause(0) : this.aurora.active ? this._aurora_pause(0) : this.flash.active && this._flash_pause(0) : this._urlNotSetError("stop") | |
| }, | |
| playHead: function(a) { | |
| a = this._limitValue(a, 0, 100), this.status.srcSet ? this.html.active ? this._html_playHead(a) : this.aurora.active ? this._aurora_playHead(a) : this.flash.active && this._flash_playHead(a) : this._urlNotSetError("playHead") | |
| }, | |
| _muted: function(a) { | |
| this.mutedWorker(a), this.options.globalVolume && this.tellOthers("mutedWorker", function() { | |
| return this.options.globalVolume | |
| }, a) | |
| }, | |
| mutedWorker: function(b) { | |
| this.options.muted = b, this.html.used && this._html_setProperty("muted", b), this.aurora.used && this._aurora_mute(b), this.flash.used && this._flash_mute(b), this.html.video.gate || this.html.audio.gate || (this._updateMute(b), this._updateVolume(this.options.volume), this._trigger(a.jPlayer.event.volumechange)) | |
| }, | |
| mute: function(a) { | |
| var c = "object" == typeof a; | |
| c && this.options.useStateClassSkin && this.options.muted ? this._muted(!1) : (a = a === b || !!a, this._muted(a)) | |
| }, | |
| unmute: function(a) { | |
| a = a === b || !!a, this._muted(!a) | |
| }, | |
| _updateMute: function(a) { | |
| a === b && (a = this.options.muted), a ? this.addStateClass("muted") : this.removeStateClass("muted"), this.css.jq.mute.length && this.css.jq.unmute.length && (this.status.noVolume ? (this.css.jq.mute.hide(), this.css.jq.unmute.hide()) : a ? (this.css.jq.mute.hide(), this.css.jq.unmute.show()) : (this.css.jq.mute.show(), this.css.jq.unmute.hide())) | |
| }, | |
| volume: function(a) { | |
| this.volumeWorker(a), this.options.globalVolume && this.tellOthers("volumeWorker", function() { | |
| return this.options.globalVolume | |
| }, a) | |
| }, | |
| volumeWorker: function(b) { | |
| b = this._limitValue(b, 0, 1), this.options.volume = b, this.html.used && this._html_setProperty("volume", b), this.aurora.used && this._aurora_volume(b), this.flash.used && this._flash_volume(b), this.html.video.gate || this.html.audio.gate || (this._updateVolume(b), this._trigger(a.jPlayer.event.volumechange)) | |
| }, | |
| volumeBar: function(b) { | |
| if (this.css.jq.volumeBar.length) { | |
| var c = a(b.currentTarget), | |
| d = c.offset(), | |
| e = b.pageX - d.left, | |
| f = c.width(), | |
| g = c.height() - b.pageY + d.top, | |
| h = c.height(); | |
| this.volume(this.options.verticalVolume ? g / h : e / f) | |
| } | |
| this.options.muted && this._muted(!1) | |
| }, | |
| _updateVolume: function(a) { | |
| a === b && (a = this.options.volume), a = this.options.muted ? 0 : a, this.status.noVolume ? (this.addStateClass("noVolume"), this.css.jq.volumeBar.length && this.css.jq.volumeBar.hide(), this.css.jq.volumeBarValue.length && this.css.jq.volumeBarValue.hide(), this.css.jq.volumeMax.length && this.css.jq.volumeMax.hide()) : (this.removeStateClass("noVolume"), this.css.jq.volumeBar.length && this.css.jq.volumeBar.show(), this.css.jq.volumeBarValue.length && (this.css.jq.volumeBarValue.show(), this.css.jq.volumeBarValue[this.options.verticalVolume ? "height" : "width"](100 * a + "%")), this.css.jq.volumeMax.length && this.css.jq.volumeMax.show()) | |
| }, | |
| volumeMax: function() { | |
| this.volume(1), this.options.muted && this._muted(!1) | |
| }, | |
| _cssSelectorAncestor: function(b) { | |
| var c = this; | |
| this.options.cssSelectorAncestor = b, this._removeUiClass(), this.ancestorJq = b ? a(b) : [], b && 1 !== this.ancestorJq.length && this._warning({ | |
| type: a.jPlayer.warning.CSS_SELECTOR_COUNT, | |
| context: b, | |
| message: a.jPlayer.warningMsg.CSS_SELECTOR_COUNT + this.ancestorJq.length + " found for cssSelectorAncestor.", | |
| hint: a.jPlayer.warningHint.CSS_SELECTOR_COUNT | |
| }), this._addUiClass(), a.each(this.options.cssSelector, function(a, b) { | |
| c._cssSelector(a, b) | |
| }), this._updateInterface(), this._updateButtons(), this._updateAutohide(), this._updateVolume(), this._updateMute() | |
| }, | |
| _cssSelector: function(b, c) { | |
| var d = this; | |
| if ("string" == typeof c) | |
| if (a.jPlayer.prototype.options.cssSelector[b]) { | |
| if (this.css.jq[b] && this.css.jq[b].length && this.css.jq[b].unbind(".jPlayer"), this.options.cssSelector[b] = c, this.css.cs[b] = this.options.cssSelectorAncestor + " " + c, this.css.jq[b] = c ? a(this.css.cs[b]) : [], this.css.jq[b].length && this[b]) { | |
| var e = function(c) { | |
| c.preventDefault(), d[b](c), d.options.autoBlur ? a(this).blur() : a(this).focus() | |
| }; | |
| this.css.jq[b].bind("click.jPlayer", e) | |
| } | |
| c && 1 !== this.css.jq[b].length && this._warning({ | |
| type: a.jPlayer.warning.CSS_SELECTOR_COUNT, | |
| context: this.css.cs[b], | |
| message: a.jPlayer.warningMsg.CSS_SELECTOR_COUNT + this.css.jq[b].length + " found for " + b + " method.", | |
| hint: a.jPlayer.warningHint.CSS_SELECTOR_COUNT | |
| }) | |
| } else this._warning({ | |
| type: a.jPlayer.warning.CSS_SELECTOR_METHOD, | |
| context: b, | |
| message: a.jPlayer.warningMsg.CSS_SELECTOR_METHOD, | |
| hint: a.jPlayer.warningHint.CSS_SELECTOR_METHOD | |
| }); | |
| else this._warning({ | |
| type: a.jPlayer.warning.CSS_SELECTOR_STRING, | |
| context: c, | |
| message: a.jPlayer.warningMsg.CSS_SELECTOR_STRING, | |
| hint: a.jPlayer.warningHint.CSS_SELECTOR_STRING | |
| }) | |
| }, | |
| duration: function(a) { | |
| this.options.toggleDuration && (this.options.captureDuration && a.stopPropagation(), this._setOption("remainingDuration", !this.options.remainingDuration)) | |
| }, | |
| seekBar: function(b) { | |
| if (this.css.jq.seekBar.length) { | |
| var c = a(b.currentTarget), | |
| d = c.offset(), | |
| e = b.pageX - d.left, | |
| f = c.width(), | |
| g = 100 * e / f; | |
| this.playHead(g) | |
| } | |
| }, | |
| playbackRate: function(a) { | |
| this._setOption("playbackRate", a) | |
| }, | |
| playbackRateBar: function(b) { | |
| if (this.css.jq.playbackRateBar.length) { | |
| var c, d, e = a(b.currentTarget), | |
| f = e.offset(), | |
| g = b.pageX - f.left, | |
| h = e.width(), | |
| i = e.height() - b.pageY + f.top, | |
| j = e.height(); | |
| c = this.options.verticalPlaybackRate ? i / j : g / h, d = c * (this.options.maxPlaybackRate - this.options.minPlaybackRate) + this.options.minPlaybackRate, this.playbackRate(d) | |
| } | |
| }, | |
| _updatePlaybackRate: function() { | |
| var a = this.options.playbackRate, | |
| b = (a - this.options.minPlaybackRate) / (this.options.maxPlaybackRate - this.options.minPlaybackRate); | |
| this.status.playbackRateEnabled ? (this.css.jq.playbackRateBar.length && this.css.jq.playbackRateBar.show(), this.css.jq.playbackRateBarValue.length && (this.css.jq.playbackRateBarValue.show(), this.css.jq.playbackRateBarValue[this.options.verticalPlaybackRate ? "height" : "width"](100 * b + "%"))) : (this.css.jq.playbackRateBar.length && this.css.jq.playbackRateBar.hide(), this.css.jq.playbackRateBarValue.length && this.css.jq.playbackRateBarValue.hide()) | |
| }, | |
| repeat: function(a) { | |
| var b = "object" == typeof a; | |
| this._loop(!(b && this.options.useStateClassSkin && this.options.loop)) | |
| }, | |
| repeatOff: function() { | |
| this._loop(!1) | |
| }, | |
| _loop: function(b) { | |
| this.options.loop !== b && (this.options.loop = b, this._updateButtons(), this._trigger(a.jPlayer.event.repeat)) | |
| }, | |
| option: function(c, d) { | |
| var e = c; | |
| if (0 === arguments.length) return a.extend(!0, {}, this.options); | |
| if ("string" == typeof c) { | |
| var f = c.split("."); | |
| if (d === b) { | |
| for (var g = a.extend(!0, {}, this.options), h = 0; h < f.length; h++) { | |
| if (g[f[h]] === b) return this._warning({ | |
| type: a.jPlayer.warning.OPTION_KEY, | |
| context: c, | |
| message: a.jPlayer.warningMsg.OPTION_KEY, | |
| hint: a.jPlayer.warningHint.OPTION_KEY | |
| }), b; | |
| g = g[f[h]] | |
| } | |
| return g | |
| } | |
| e = {}; | |
| for (var i = e, j = 0; j < f.length; j++) j < f.length - 1 ? (i[f[j]] = {}, i = i[f[j]]) : i[f[j]] = d | |
| } | |
| return this._setOptions(e), this | |
| }, | |
| _setOptions: function(b) { | |
| var c = this; | |
| return a.each(b, function(a, b) { | |
| c._setOption(a, b) | |
| }), this | |
| }, | |
| _setOption: function(b, c) { | |
| var d = this; | |
| switch (b) { | |
| case "volume": | |
| this.volume(c); | |
| break; | |
| case "muted": | |
| this._muted(c); | |
| break; | |
| case "globalVolume": | |
| this.options[b] = c; | |
| break; | |
| case "cssSelectorAncestor": | |
| this._cssSelectorAncestor(c); | |
| break; | |
| case "cssSelector": | |
| a.each(c, function(a, b) { | |
| d._cssSelector(a, b) | |
| }); | |
| break; | |
| case "playbackRate": | |
| this.options[b] = c = this._limitValue(c, this.options.minPlaybackRate, this.options.maxPlaybackRate), this.html.used && this._html_setProperty("playbackRate", c), this._updatePlaybackRate(); | |
| break; | |
| case "defaultPlaybackRate": | |
| this.options[b] = c = this._limitValue(c, this.options.minPlaybackRate, this.options.maxPlaybackRate), this.html.used && this._html_setProperty("defaultPlaybackRate", c), this._updatePlaybackRate(); | |
| break; | |
| case "minPlaybackRate": | |
| this.options[b] = c = this._limitValue(c, .1, this.options.maxPlaybackRate - .1), this._updatePlaybackRate(); | |
| break; | |
| case "maxPlaybackRate": | |
| this.options[b] = c = this._limitValue(c, this.options.minPlaybackRate + .1, 16), this._updatePlaybackRate(); | |
| break; | |
| case "fullScreen": | |
| if (this.options[b] !== c) { | |
| var e = a.jPlayer.nativeFeatures.fullscreen.used.webkitVideo; | |
| (!e || e && !this.status.waitForPlay) && (e || (this.options[b] = c), c ? this._requestFullscreen() : this._exitFullscreen(), e || this._setOption("fullWindow", c)) | |
| } | |
| break; | |
| case "fullWindow": | |
| this.options[b] !== c && (this._removeUiClass(), this.options[b] = c, this._refreshSize()); | |
| break; | |
| case "size": | |
| this.options.fullWindow || this.options[b].cssClass === c.cssClass || this._removeUiClass(), this.options[b] = a.extend({}, this.options[b], c), this._refreshSize(); | |
| break; | |
| case "sizeFull": | |
| this.options.fullWindow && this.options[b].cssClass !== c.cssClass && this._removeUiClass(), this.options[b] = a.extend({}, this.options[b], c), this._refreshSize(); | |
| break; | |
| case "autohide": | |
| this.options[b] = a.extend({}, this.options[b], c), this._updateAutohide(); | |
| break; | |
| case "loop": | |
| this._loop(c); | |
| break; | |
| case "remainingDuration": | |
| this.options[b] = c, this._updateInterface(); | |
| break; | |
| case "toggleDuration": | |
| this.options[b] = c; | |
| break; | |
| case "nativeVideoControls": | |
| this.options[b] = a.extend({}, this.options[b], c), this.status.nativeVideoControls = this._uaBlocklist(this.options.nativeVideoControls), this._restrictNativeVideoControls(), this._updateNativeVideoControls(); | |
| break; | |
| case "noFullWindow": | |
| this.options[b] = a.extend({}, this.options[b], c), this.status.nativeVideoControls = this._uaBlocklist(this.options.nativeVideoControls), this.status.noFullWindow = this._uaBlocklist(this.options.noFullWindow), this._restrictNativeVideoControls(), this._updateButtons(); | |
| break; | |
| case "noVolume": | |
| this.options[b] = a.extend({}, this.options[b], c), this.status.noVolume = this._uaBlocklist(this.options.noVolume), this._updateVolume(), this._updateMute(); | |
| break; | |
| case "emulateHtml": | |
| this.options[b] !== c && (this.options[b] = c, c ? this._emulateHtmlBridge() : this._destroyHtmlBridge()); | |
| break; | |
| case "timeFormat": | |
| this.options[b] = a.extend({}, this.options[b], c); | |
| break; | |
| case "keyEnabled": | |
| this.options[b] = c, c || this !== a.jPlayer.focus || (a.jPlayer.focus = null); | |
| break; | |
| case "keyBindings": | |
| this.options[b] = a.extend(!0, {}, this.options[b], c); | |
| break; | |
| case "audioFullScreen": | |
| this.options[b] = c; | |
| break; | |
| case "autoBlur": | |
| this.options[b] = c | |
| } | |
| return this | |
| }, | |
| _refreshSize: function() { | |
| this._setSize(), this._addUiClass(), this._updateSize(), this._updateButtons(), this._updateAutohide(), this._trigger(a.jPlayer.event.resize) | |
| }, | |
| _setSize: function() { | |
| this.options.fullWindow ? (this.status.width = this.options.sizeFull.width, this.status.height = this.options.sizeFull.height, this.status.cssClass = this.options.sizeFull.cssClass) : (this.status.width = this.options.size.width, this.status.height = this.options.size.height, this.status.cssClass = this.options.size.cssClass), this.element.css({ | |
| width: this.status.width, | |
| height: this.status.height | |
| }) | |
| }, | |
| _addUiClass: function() { | |
| this.ancestorJq.length && this.ancestorJq.addClass(this.status.cssClass) | |
| }, | |
| _removeUiClass: function() { | |
| this.ancestorJq.length && this.ancestorJq.removeClass(this.status.cssClass) | |
| }, | |
| _updateSize: function() { | |
| this.internal.poster.jq.css({ | |
| width: this.status.width, | |
| height: this.status.height | |
| }), !this.status.waitForPlay && this.html.active && this.status.video || this.html.video.available && this.html.used && this.status.nativeVideoControls ? this.internal.video.jq.css({ | |
| width: this.status.width, | |
| height: this.status.height | |
| }) : !this.status.waitForPlay && this.flash.active && this.status.video && this.internal.flash.jq.css({ | |
| width: this.status.width, | |
| height: this.status.height | |
| }) | |
| }, | |
| _updateAutohide: function() { | |
| var a = this, | |
| b = "mousemove.jPlayer", | |
| c = ".jPlayerAutohide", | |
| d = b + c, | |
| e = function(b) { | |
| var c, d, e = !1; | |
| "undefined" != typeof a.internal.mouse ? (c = a.internal.mouse.x - b.pageX, d = a.internal.mouse.y - b.pageY, e = Math.floor(c) > 0 || Math.floor(d) > 0) : e = !0, a.internal.mouse = { | |
| x: b.pageX, | |
| y: b.pageY | |
| }, e && a.css.jq.gui.fadeIn(a.options.autohide.fadeIn, function() { | |
| clearTimeout(a.internal.autohideId), a.internal.autohideId = setTimeout(function() { | |
| a.css.jq.gui.fadeOut(a.options.autohide.fadeOut) | |
| }, a.options.autohide.hold) | |
| }) | |
| }; | |
| this.css.jq.gui.length && (this.css.jq.gui.stop(!0, !0), clearTimeout(this.internal.autohideId), delete this.internal.mouse, this.element.unbind(c), this.css.jq.gui.unbind(c), this.status.nativeVideoControls ? this.css.jq.gui.hide() : this.options.fullWindow && this.options.autohide.full || !this.options.fullWindow && this.options.autohide.restored ? (this.element.bind(d, e), this.css.jq.gui.bind(d, e), this.css.jq.gui.hide()) : this.css.jq.gui.show()) | |
| }, | |
| fullScreen: function(a) { | |
| var b = "object" == typeof a; | |
| b && this.options.useStateClassSkin && this.options.fullScreen ? this._setOption("fullScreen", !1) : this._setOption("fullScreen", !0) | |
| }, | |
| restoreScreen: function() { | |
| this._setOption("fullScreen", !1) | |
| }, | |
| _fullscreenAddEventListeners: function() { | |
| var b = this, | |
| c = a.jPlayer.nativeFeatures.fullscreen; | |
| c.api.fullscreenEnabled && c.event.fullscreenchange && ("function" != typeof this.internal.fullscreenchangeHandler && (this.internal.fullscreenchangeHandler = function() { | |
| b._fullscreenchange() | |
| }), document.addEventListener(c.event.fullscreenchange, this.internal.fullscreenchangeHandler, !1)) | |
| }, | |
| _fullscreenRemoveEventListeners: function() { | |
| var b = a.jPlayer.nativeFeatures.fullscreen; | |
| this.internal.fullscreenchangeHandler && document.removeEventListener(b.event.fullscreenchange, this.internal.fullscreenchangeHandler, !1) | |
| }, | |
| _fullscreenchange: function() { | |
| this.options.fullScreen && !a.jPlayer.nativeFeatures.fullscreen.api.fullscreenElement() && this._setOption("fullScreen", !1) | |
| }, | |
| _requestFullscreen: function() { | |
| var b = this.ancestorJq.length ? this.ancestorJq[0] : this.element[0], | |
| c = a.jPlayer.nativeFeatures.fullscreen; | |
| c.used.webkitVideo && (b = this.htmlElement.video), c.api.fullscreenEnabled && c.api.requestFullscreen(b) | |
| }, | |
| _exitFullscreen: function() { | |
| var b, c = a.jPlayer.nativeFeatures.fullscreen; | |
| c.used.webkitVideo && (b = this.htmlElement.video), c.api.fullscreenEnabled && c.api.exitFullscreen(b) | |
| }, | |
| _html_initMedia: function(b) { | |
| var c = a(this.htmlElement.media).empty(); | |
| a.each(b.track || [], function(a, b) { | |
| var d = document.createElement("track"); | |
| d.setAttribute("kind", b.kind ? b.kind : ""), d.setAttribute("src", b.src ? b.src : ""), d.setAttribute("srclang", b.srclang ? b.srclang : ""), d.setAttribute("label", b.label ? b.label : ""), b.def && d.setAttribute("default", b.def), c.append(d) | |
| }), this.htmlElement.media.src = this.status.src, "none" !== this.options.preload && this._html_load(), this._trigger(a.jPlayer.event.timeupdate) | |
| }, | |
| _html_setFormat: function(b) { | |
| var c = this; | |
| a.each(this.formats, function(a, d) { | |
| return c.html.support[d] && b[d] ? (c.status.src = b[d], c.status.format[d] = !0, c.status.formatType = d, !1) : void 0 | |
| }) | |
| }, | |
| _html_setAudio: function(a) { | |
| this._html_setFormat(a), this.htmlElement.media = this.htmlElement.audio, this._html_initMedia(a) | |
| }, | |
| _html_setVideo: function(a) { | |
| this._html_setFormat(a), this.status.nativeVideoControls && (this.htmlElement.video.poster = this._validString(a.poster) ? a.poster : ""), this.htmlElement.media = this.htmlElement.video, this._html_initMedia(a) | |
| }, | |
| _html_resetMedia: function() { | |
| this.htmlElement.media && (this.htmlElement.media.id !== this.internal.video.id || this.status.nativeVideoControls || this.internal.video.jq.css({ | |
| width: "0px", | |
| height: "0px" | |
| }), this.htmlElement.media.pause()) | |
| }, | |
| _html_clearMedia: function() { | |
| this.htmlElement.media && (this.htmlElement.media.src = "about:blank", this.htmlElement.media.load()) | |
| }, | |
| _html_load: function() { | |
| this.status.waitForLoad && (this.status.waitForLoad = !1, this.htmlElement.media.load()), clearTimeout(this.internal.htmlDlyCmdId) | |
| }, | |
| _html_play: function(a) { | |
| var b = this, | |
| c = this.htmlElement.media; | |
| if (this.androidFix.pause = !1, this._html_load(), this.androidFix.setMedia) this.androidFix.play = !0, this.androidFix.time = a; | |
| else if (isNaN(a)) c.play(); | |
| else { | |
| this.internal.cmdsIgnored && c.play(); | |
| try { | |
| if (c.seekable && !("object" == typeof c.seekable && c.seekable.length > 0)) throw 1; | |
| c.currentTime = a, c.play() | |
| } catch (c) { | |
| return void(this.internal.htmlDlyCmdId = setTimeout(function() { | |
| b.play(a) | |
| }, 250)) | |
| } | |
| } | |
| this._html_checkWaitForPlay() | |
| }, | |
| _html_pause: function(a) { | |
| var b = this, | |
| c = this.htmlElement.media; | |
| if (this.androidFix.play = !1, a > 0 ? this._html_load() : clearTimeout(this.internal.htmlDlyCmdId), c.pause(), this.androidFix.setMedia) this.androidFix.pause = !0, this.androidFix.time = a; | |
| else if (!isNaN(a)) try { | |
| if (c.seekable && !("object" == typeof c.seekable && c.seekable.length > 0)) throw 1; | |
| c.currentTime = a | |
| } catch (c) { | |
| return void(this.internal.htmlDlyCmdId = setTimeout(function() { | |
| b.pause(a) | |
| }, 250)) | |
| } | |
| a > 0 && this._html_checkWaitForPlay() | |
| }, | |
| _html_playHead: function(a) { | |
| var b = this, | |
| c = this.htmlElement.media; | |
| this._html_load(); | |
| try { | |
| if ("object" == typeof c.seekable && c.seekable.length > 0) c.currentTime = a * c.seekable.end(c.seekable.length - 1) / 100; | |
| else { | |
| if (!(c.duration > 0) || isNaN(c.duration)) throw "e"; | |
| c.currentTime = a * c.duration / 100 | |
| } | |
| } catch (c) { | |
| return void(this.internal.htmlDlyCmdId = setTimeout(function() { | |
| b.playHead(a) | |
| }, 250)) | |
| } | |
| this.status.waitForLoad || this._html_checkWaitForPlay() | |
| }, | |
| _html_checkWaitForPlay: function() { | |
| this.status.waitForPlay && (this.status.waitForPlay = !1, this.css.jq.videoPlay.length && this.css.jq.videoPlay.hide(), this.status.video && (this.internal.poster.jq.hide(), this.internal.video.jq.css({ | |
| width: this.status.width, | |
| height: this.status.height | |
| }))) | |
| }, | |
| _html_setProperty: function(a, b) { | |
| this.html.audio.available && (this.htmlElement.audio[a] = b), this.html.video.available && (this.htmlElement.video[a] = b) | |
| }, | |
| _aurora_setAudio: function(b) { | |
| var c = this; | |
| a.each(this.formats, function(a, d) { | |
| return c.aurora.support[d] && b[d] ? (c.status.src = b[d], c.status.format[d] = !0, c.status.formatType = d, !1) : void 0 | |
| }), this.aurora.player = new AV.Player.fromURL(this.status.src), this._addAuroraEventListeners(this.aurora.player, this.aurora), "auto" === this.options.preload && (this._aurora_load(), this.status.waitForLoad = !1) | |
| }, | |
| _aurora_resetMedia: function() { | |
| this.aurora.player && this.aurora.player.stop() | |
| }, | |
| _aurora_clearMedia: function() {}, | |
| _aurora_load: function() { | |
| this.status.waitForLoad && (this.status.waitForLoad = !1, this.aurora.player.preload()) | |
| }, | |
| _aurora_play: function(b) { | |
| this.status.waitForLoad || isNaN(b) || this.aurora.player.seek(b), this.aurora.player.playing || this.aurora.player.play(), this.status.waitForLoad = !1, this._aurora_checkWaitForPlay(), this._updateButtons(!0), this._trigger(a.jPlayer.event.play) | |
| }, | |
| _aurora_pause: function(b) { | |
| isNaN(b) || this.aurora.player.seek(1e3 * b), this.aurora.player.pause(), b > 0 && this._aurora_checkWaitForPlay(), this._updateButtons(!1), this._trigger(a.jPlayer.event.pause) | |
| }, | |
| _aurora_playHead: function(a) { | |
| this.aurora.player.duration > 0 && this.aurora.player.seek(a * this.aurora.player.duration / 100), this.status.waitForLoad || this._aurora_checkWaitForPlay() | |
| }, | |
| _aurora_checkWaitForPlay: function() { | |
| this.status.waitForPlay && (this.status.waitForPlay = !1) | |
| }, | |
| _aurora_volume: function(a) { | |
| this.aurora.player.volume = 100 * a | |
| }, | |
| _aurora_mute: function(a) { | |
| a ? (this.aurora.properties.lastvolume = this.aurora.player.volume, this.aurora.player.volume = 0) : this.aurora.player.volume = this.aurora.properties.lastvolume, this.aurora.properties.muted = a | |
| }, | |
| _flash_setAudio: function(b) { | |
| var c = this; | |
| try { | |
| a.each(this.formats, function(a, d) { | |
| if (c.flash.support[d] && b[d]) { | |
| switch (d) { | |
| case "m4a": | |
| case "fla": | |
| c._getMovie().fl_setAudio_m4a(b[d]); | |
| break; | |
| case "mp3": | |
| c._getMovie().fl_setAudio_mp3(b[d]); | |
| break; | |
| case "rtmpa": | |
| c._getMovie().fl_setAudio_rtmp(b[d]) | |
| } | |
| return c.status.src = b[d], c.status.format[d] = !0, c.status.formatType = d, !1 | |
| } | |
| }), "auto" === this.options.preload && (this._flash_load(), this.status.waitForLoad = !1) | |
| } catch (a) { | |
| this._flashError(a) | |
| } | |
| }, | |
| _flash_setVideo: function(b) { | |
| var c = this; | |
| try { | |
| a.each(this.formats, function(a, d) { | |
| if (c.flash.support[d] && b[d]) { | |
| switch (d) { | |
| case "m4v": | |
| case "flv": | |
| c._getMovie().fl_setVideo_m4v(b[d]); | |
| break; | |
| case "rtmpv": | |
| c._getMovie().fl_setVideo_rtmp(b[d]) | |
| } | |
| return c.status.src = b[d], c.status.format[d] = !0, c.status.formatType = d, !1 | |
| } | |
| }), "auto" === this.options.preload && (this._flash_load(), this.status.waitForLoad = !1) | |
| } catch (a) { | |
| this._flashError(a) | |
| } | |
| }, | |
| _flash_resetMedia: function() { | |
| this.internal.flash.jq.css({ | |
| width: "0px", | |
| height: "0px" | |
| }), this._flash_pause(NaN) | |
| }, | |
| _flash_clearMedia: function() { | |
| try { | |
| this._getMovie().fl_clearMedia() | |
| } catch (a) { | |
| this._flashError(a) | |
| } | |
| }, | |
| _flash_load: function() { | |
| try { | |
| this._getMovie().fl_load() | |
| } catch (a) { | |
| this._flashError(a) | |
| } | |
| this.status.waitForLoad = !1 | |
| }, | |
| _flash_play: function(a) { | |
| try { | |
| this._getMovie().fl_play(a) | |
| } catch (a) { | |
| this._flashError(a) | |
| } | |
| this.status.waitForLoad = !1, this._flash_checkWaitForPlay() | |
| }, | |
| _flash_pause: function(a) { | |
| try { | |
| this._getMovie().fl_pause(a) | |
| } catch (a) { | |
| this._flashError(a) | |
| } | |
| a > 0 && (this.status.waitForLoad = !1, this._flash_checkWaitForPlay()) | |
| }, | |
| _flash_playHead: function(a) { | |
| try { | |
| this._getMovie().fl_play_head(a) | |
| } catch (a) { | |
| this._flashError(a) | |
| } | |
| this.status.waitForLoad || this._flash_checkWaitForPlay() | |
| }, | |
| _flash_checkWaitForPlay: function() { | |
| this.status.waitForPlay && (this.status.waitForPlay = !1, this.css.jq.videoPlay.length && this.css.jq.videoPlay.hide(), this.status.video && (this.internal.poster.jq.hide(), this.internal.flash.jq.css({ | |
| width: this.status.width, | |
| height: this.status.height | |
| }))) | |
| }, | |
| _flash_volume: function(a) { | |
| try { | |
| this._getMovie().fl_volume(a) | |
| } catch (a) { | |
| this._flashError(a) | |
| } | |
| }, | |
| _flash_mute: function(a) { | |
| try { | |
| this._getMovie().fl_mute(a) | |
| } catch (a) { | |
| this._flashError(a) | |
| } | |
| }, | |
| _getMovie: function() { | |
| return document[this.internal.flash.id] | |
| }, | |
| _getFlashPluginVersion: function() { | |
| var a, b = 0; | |
| if (window.ActiveXObject) try { | |
| if (a = new ActiveXObject("ShockwaveFlash.ShockwaveFlash")) { | |
| var c = a.GetVariable("$version"); | |
| c && (c = c.split(" ")[1].split(","), b = parseInt(c[0], 10) + "." + parseInt(c[1], 10)) | |
| } | |
| } catch (a) {} else navigator.plugins && navigator.mimeTypes.length > 0 && (a = navigator.plugins["Shockwave Flash"], a && (b = navigator.plugins["Shockwave Flash"].description.replace(/.*\s(\d+\.\d+).*/, "$1"))); | |
| return 1 * b | |
| }, | |
| _checkForFlash: function(a) { | |
| var b = !1; | |
| return this._getFlashPluginVersion() >= a && (b = !0), b | |
| }, | |
| _validString: function(a) { | |
| return a && "string" == typeof a | |
| }, | |
| _limitValue: function(a, b, c) { | |
| return b > a ? b : a > c ? c : a | |
| }, | |
| _urlNotSetError: function(b) { | |
| this._error({ | |
| type: a.jPlayer.error.URL_NOT_SET, | |
| context: b, | |
| message: a.jPlayer.errorMsg.URL_NOT_SET, | |
| hint: a.jPlayer.errorHint.URL_NOT_SET | |
| }) | |
| }, | |
| _flashError: function(b) { | |
| var c; | |
| c = this.internal.ready ? "FLASH_DISABLED" : "FLASH", this._error({ | |
| type: a.jPlayer.error[c], | |
| context: this.internal.flash.swf, | |
| message: a.jPlayer.errorMsg[c] + b.message, | |
| hint: a.jPlayer.errorHint[c] | |
| }), this.internal.flash.jq.css({ | |
| width: "1px", | |
| height: "1px" | |
| }) | |
| }, | |
| _error: function(b) { | |
| this._trigger(a.jPlayer.event.error, b), this.options.errorAlerts && this._alert("Error!" + (b.message ? "\n" + b.message : "") + (b.hint ? "\n" + b.hint : "") + "\nContext: " + b.context) | |
| }, | |
| _warning: function(c) { | |
| this._trigger(a.jPlayer.event.warning, b, c), this.options.warningAlerts && this._alert("Warning!" + (c.message ? "\n" + c.message : "") + (c.hint ? "\n" + c.hint : "") + "\nContext: " + c.context) | |
| }, | |
| _alert: function(a) { | |
| var b = "jPlayer " + this.version.script + " : id='" + this.internal.self.id + "' : " + a; | |
| this.options.consoleAlerts ? window.console && window.console.log && window.console.log(b) : alert(b) | |
| }, | |
| _emulateHtmlBridge: function() { | |
| var b = this; | |
| a.each(a.jPlayer.emulateMethods.split(/\s+/g), function(a, c) { | |
| b.internal.domNode[c] = function(a) { | |
| b[c](a) | |
| } | |
| }), a.each(a.jPlayer.event, function(c, d) { | |
| var e = !0; | |
| a.each(a.jPlayer.reservedEvent.split(/\s+/g), function(a, b) { | |
| return b === c ? (e = !1, !1) : void 0 | |
| }), e && b.element.bind(d + ".jPlayer.jPlayerHtml", function() { | |
| b._emulateHtmlUpdate(); | |
| var a = document.createEvent("Event"); | |
| a.initEvent(c, !1, !0), b.internal.domNode.dispatchEvent(a) | |
| }) | |
| }) | |
| }, | |
| _emulateHtmlUpdate: function() { | |
| var b = this; | |
| a.each(a.jPlayer.emulateStatus.split(/\s+/g), function(a, c) { | |
| b.internal.domNode[c] = b.status[c] | |
| }), a.each(a.jPlayer.emulateOptions.split(/\s+/g), function(a, c) { | |
| b.internal.domNode[c] = b.options[c] | |
| }) | |
| }, | |
| _destroyHtmlBridge: function() { | |
| var b = this; | |
| this.element.unbind(".jPlayerHtml"); | |
| var c = a.jPlayer.emulateMethods + " " + a.jPlayer.emulateStatus + " " + a.jPlayer.emulateOptions; | |
| a.each(c.split(/\s+/g), function(a, c) { | |
| delete b.internal.domNode[c] | |
| }) | |
| } | |
| }, a.jPlayer.error = { | |
| FLASH: "e_flash", | |
| FLASH_DISABLED: "e_flash_disabled", | |
| NO_SOLUTION: "e_no_solution", | |
| NO_SUPPORT: "e_no_support", | |
| URL: "e_url", | |
| URL_NOT_SET: "e_url_not_set", | |
| VERSION: "e_version" | |
| }, a.jPlayer.errorMsg = { | |
| FLASH: "jPlayer's Flash fallback is not configured correctly, or a command was issued before the jPlayer Ready event. Details: ", | |
| FLASH_DISABLED: "jPlayer's Flash fallback has been disabled by the browser due to the CSS rules you have used. Details: ", | |
| NO_SOLUTION: "No solution can be found by jPlayer in this browser. Neither HTML nor Flash can be used.", | |
| NO_SUPPORT: "It is not possible to play any media format provided in setMedia() on this browser using your current options.", | |
| URL: "Media URL could not be loaded.", | |
| URL_NOT_SET: "Attempt to issue media playback commands, while no media url is set.", | |
| VERSION: "jPlayer " + a.jPlayer.prototype.version.script + " needs Jplayer.swf version " + a.jPlayer.prototype.version.needFlash + " but found " | |
| }, a.jPlayer.errorHint = { | |
| FLASH: "Check your swfPath option and that Jplayer.swf is there.", | |
| FLASH_DISABLED: "Check that you have not display:none; the jPlayer entity or any ancestor.", | |
| NO_SOLUTION: "Review the jPlayer options: support and supplied.", | |
| NO_SUPPORT: "Video or audio formats defined in the supplied option are missing.", | |
| URL: "Check media URL is valid.", | |
| URL_NOT_SET: "Use setMedia() to set the media URL.", | |
| VERSION: "Update jPlayer files." | |
| }, a.jPlayer.warning = { | |
| CSS_SELECTOR_COUNT: "e_css_selector_count", | |
| CSS_SELECTOR_METHOD: "e_css_selector_method", | |
| CSS_SELECTOR_STRING: "e_css_selector_string", | |
| OPTION_KEY: "e_option_key" | |
| }, a.jPlayer.warningMsg = { | |
| CSS_SELECTOR_COUNT: "The number of css selectors found did not equal one: ", | |
| CSS_SELECTOR_METHOD: "The methodName given in jPlayer('cssSelector') is not a valid jPlayer method.", | |
| CSS_SELECTOR_STRING: "The methodCssSelector given in jPlayer('cssSelector') is not a String or is empty.", | |
| OPTION_KEY: "The option requested in jPlayer('option') is undefined." | |
| }, a.jPlayer.warningHint = { | |
| CSS_SELECTOR_COUNT: "Check your css selector and the ancestor.", | |
| CSS_SELECTOR_METHOD: "Check your method name.", | |
| CSS_SELECTOR_STRING: "Check your css selector is a string.", | |
| OPTION_KEY: "Check your option name." | |
| } | |
| }), | |
| function(a) { | |
| "function" == typeof define && define.amd ? define(["jquery"], a) : "object" == typeof module && module.exports ? module.exports = a(require("jquery")) : a(jQuery) | |
| }(function(a) { | |
| var b = Array.prototype.slice, | |
| c = Array.prototype.splice, | |
| d = { | |
| topSpacing: 0, | |
| bottomSpacing: 0, | |
| className: "is-sticky", | |
| wrapperClassName: "sticky-wrapper", | |
| center: !1, | |
| getWidthFrom: "", | |
| widthFromWrapper: !0, | |
| responsiveWidth: !1, | |
| zIndex: "auto" | |
| }, | |
| e = a(window), | |
| f = a(document), | |
| g = [], | |
| h = e.height(), | |
| i = function() { | |
| for (var b = e.scrollTop(), c = f.height(), d = c - h, i = b > d ? d - b : 0, j = 0, k = g.length; j < k; j++) { | |
| var l = g[j], | |
| m = l.stickyWrapper.offset().top, | |
| n = m - l.topSpacing - i; | |
| if (l.stickyWrapper.css("height", l.stickyElement.outerHeight()), b <= n) null !== l.currentTop && (l.stickyElement.css({ | |
| width: "", | |
| position: "", | |
| top: "", | |
| "z-index": "" | |
| }), l.stickyElement.parent().removeClass(l.className), l.stickyElement.trigger("sticky-end", [l]), l.currentTop = null); | |
| else { | |
| var o = c - l.stickyElement.outerHeight() - l.topSpacing - l.bottomSpacing - b - i; | |
| if (o < 0 ? o += l.topSpacing : o = l.topSpacing, l.currentTop !== o) { | |
| var p; | |
| l.getWidthFrom ? p = a(l.getWidthFrom).width() || null : l.widthFromWrapper && (p = l.stickyWrapper.width()), null == p && (p = l.stickyElement.width()), l.stickyElement.css("width", p).css("position", "fixed").css("top", o).css("z-index", l.zIndex), l.stickyElement.parent().addClass(l.className), null === l.currentTop ? l.stickyElement.trigger("sticky-start", [l]) : l.stickyElement.trigger("sticky-update", [l]), l.currentTop === l.topSpacing && l.currentTop > o || null === l.currentTop && o < l.topSpacing ? l.stickyElement.trigger("sticky-bottom-reached", [l]) : null !== l.currentTop && o === l.topSpacing && l.currentTop < o && l.stickyElement.trigger("sticky-bottom-unreached", [l]), l.currentTop = o | |
| } | |
| var q = l.stickyWrapper.parent(), | |
| r = l.stickyElement.offset().top + l.stickyElement.outerHeight() >= q.offset().top + q.outerHeight() && l.stickyElement.offset().top <= l.topSpacing; | |
| r ? l.stickyElement.css("position", "absolute").css("top", "").css("bottom", 0).css("z-index", "") : l.stickyElement.css("position", "fixed").css("top", o).css("bottom", "").css("z-index", l.zIndex) | |
| } | |
| } | |
| }, | |
| j = function() { | |
| h = e.height(); | |
| for (var b = 0, c = g.length; b < c; b++) { | |
| var d = g[b], | |
| f = null; | |
| d.getWidthFrom ? d.responsiveWidth && (f = a(d.getWidthFrom).width()) : d.widthFromWrapper && (f = d.stickyWrapper.width()), null != f && d.stickyElement.css("width", f) | |
| } | |
| }, | |
| k = { | |
| init: function(b) { | |
| return this.each(function() { | |
| var c = a.extend({}, d, b), | |
| e = a(this), | |
| f = e.attr("id"), | |
| h = f ? f + "-" + d.wrapperClassName : d.wrapperClassName, | |
| i = a("<div></div>").attr("id", h).addClass(c.wrapperClassName); | |
| e.wrapAll(function() { | |
| if (0 == a(this).parent("#" + h).length) return i | |
| }); | |
| var j = e.parent(); | |
| c.center && j.css({ | |
| width: e.outerWidth(), | |
| marginLeft: "auto", | |
| marginRight: "auto" | |
| }), "right" === e.css("float") && e.css({ | |
| float: "none" | |
| }).parent().css({ | |
| float: "right" | |
| }), c.stickyElement = e, c.stickyWrapper = j, c.currentTop = null, g.push(c), k.setWrapperHeight(this), k.setupChangeListeners(this) | |
| }) | |
| }, | |
| setWrapperHeight: function(b) { | |
| var c = a(b), | |
| d = c.parent(); | |
| d && d.css("height", c.outerHeight()) | |
| }, | |
| setupChangeListeners: function(a) { | |
| if (window.MutationObserver) { | |
| var b = new window.MutationObserver(function(b) { | |
| (b[0].addedNodes.length || b[0].removedNodes.length) && k.setWrapperHeight(a) | |
| }); | |
| b.observe(a, { | |
| subtree: !0, | |
| childList: !0 | |
| }) | |
| } else window.addEventListener ? (a.addEventListener("DOMNodeInserted", function() { | |
| k.setWrapperHeight(a) | |
| }, !1), a.addEventListener("DOMNodeRemoved", function() { | |
| k.setWrapperHeight(a) | |
| }, !1)) : window.attachEvent && (a.attachEvent("onDOMNodeInserted", function() { | |
| k.setWrapperHeight(a) | |
| }), a.attachEvent("onDOMNodeRemoved", function() { | |
| k.setWrapperHeight(a) | |
| })) | |
| }, | |
| update: i, | |
| unstick: function(b) { | |
| return this.each(function() { | |
| for (var b = this, d = a(b), e = -1, f = g.length; f-- > 0;) g[f].stickyElement.get(0) === b && (c.call(g, f, 1), e = f); | |
| e !== -1 && (d.unwrap(), d.css({ | |
| width: "", | |
| position: "", | |
| top: "", | |
| float: "", | |
| "z-index": "" | |
| })) | |
| }) | |
| } | |
| }; | |
| window.addEventListener ? (window.addEventListener("scroll", i, !1), window.addEventListener("resize", j, !1)) : window.attachEvent && (window.attachEvent("onscroll", i), window.attachEvent("onresize", j)), a.fn.sticky = function(c) { | |
| return k[c] ? k[c].apply(this, b.call(arguments, 1)) : "object" != typeof c && c ? void a.error("Method " + c + " does not exist on jQuery.sticky") : k.init.apply(this, arguments) | |
| }, a.fn.unstick = function(c) { | |
| return k[c] ? k[c].apply(this, b.call(arguments, 1)) : "object" != typeof c && c ? void a.error("Method " + c + " does not exist on jQuery.sticky") : k.unstick.apply(this, arguments) | |
| }, a(function() { | |
| setTimeout(i, 0) | |
| }) | |
| }), jQuery.easing.jswing = jQuery.easing.swing, jQuery.extend(jQuery.easing, { | |
| def: "easeOutQuad", | |
| swing: function(a, b, c, d, e) { | |
| return jQuery.easing[jQuery.easing.def](a, b, c, d, e) | |
| }, | |
| easeInQuad: function(a, b, c, d, e) { | |
| return d * (b /= e) * b + c | |
| }, | |
| easeOutQuad: function(a, b, c, d, e) { | |
| return -d * (b /= e) * (b - 2) + c | |
| }, | |
| easeInOutQuad: function(a, b, c, d, e) { | |
| return (b /= e / 2) < 1 ? d / 2 * b * b + c : -d / 2 * (--b * (b - 2) - 1) + c | |
| }, | |
| easeInCubic: function(a, b, c, d, e) { | |
| return d * (b /= e) * b * b + c | |
| }, | |
| easeOutCubic: function(a, b, c, d, e) { | |
| return d * ((b = b / e - 1) * b * b + 1) + c | |
| }, | |
| easeInOutCubic: function(a, b, c, d, e) { | |
| return (b /= e / 2) < 1 ? d / 2 * b * b * b + c : d / 2 * ((b -= 2) * b * b + 2) + c | |
| }, | |
| easeInQuart: function(a, b, c, d, e) { | |
| return d * (b /= e) * b * b * b + c | |
| }, | |
| easeOutQuart: function(a, b, c, d, e) { | |
| return -d * ((b = b / e - 1) * b * b * b - 1) + c | |
| }, | |
| easeInOutQuart: function(a, b, c, d, e) { | |
| return (b /= e / 2) < 1 ? d / 2 * b * b * b * b + c : -d / 2 * ((b -= 2) * b * b * b - 2) + c | |
| }, | |
| easeInQuint: function(a, b, c, d, e) { | |
| return d * (b /= e) * b * b * b * b + c | |
| }, | |
| easeOutQuint: function(a, b, c, d, e) { | |
| return d * ((b = b / e - 1) * b * b * b * b + 1) + c | |
| }, | |
| easeInOutQuint: function(a, b, c, d, e) { | |
| return (b /= e / 2) < 1 ? d / 2 * b * b * b * b * b + c : d / 2 * ((b -= 2) * b * b * b * b + 2) + c | |
| }, | |
| easeInSine: function(a, b, c, d, e) { | |
| return -d * Math.cos(b / e * (Math.PI / 2)) + d + c | |
| }, | |
| easeOutSine: function(a, b, c, d, e) { | |
| return d * Math.sin(b / e * (Math.PI / 2)) + c | |
| }, | |
| easeInOutSine: function(a, b, c, d, e) { | |
| return -d / 2 * (Math.cos(Math.PI * b / e) - 1) + c | |
| }, | |
| easeInExpo: function(a, b, c, d, e) { | |
| return 0 == b ? c : d * Math.pow(2, 10 * (b / e - 1)) + c | |
| }, | |
| easeOutExpo: function(a, b, c, d, e) { | |
| return b == e ? c + d : d * (-Math.pow(2, -10 * b / e) + 1) + c | |
| }, | |
| easeInOutExpo: function(a, b, c, d, e) { | |
| return 0 == b ? c : b == e ? c + d : (b /= e / 2) < 1 ? d / 2 * Math.pow(2, 10 * (b - 1)) + c : d / 2 * (-Math.pow(2, -10 * --b) + 2) + c | |
| }, | |
| easeInCirc: function(a, b, c, d, e) { | |
| return -d * (Math.sqrt(1 - (b /= e) * b) - 1) + c | |
| }, | |
| easeOutCirc: function(a, b, c, d, e) { | |
| return d * Math.sqrt(1 - (b = b / e - 1) * b) + c | |
| }, | |
| easeInOutCirc: function(a, b, c, d, e) { | |
| return (b /= e / 2) < 1 ? -d / 2 * (Math.sqrt(1 - b * b) - 1) + c : d / 2 * (Math.sqrt(1 - (b -= 2) * b) + 1) + c | |
| }, | |
| easeInElastic: function(a, b, c, d, e) { | |
| var f = 1.70158, | |
| g = 0, | |
| h = d; | |
| if (0 == b) return c; | |
| if (1 == (b /= e)) return c + d; | |
| if (g || (g = .3 * e), h < Math.abs(d)) { | |
| h = d; | |
| var f = g / 4 | |
| } else var f = g / (2 * Math.PI) * Math.asin(d / h); | |
| return -(h * Math.pow(2, 10 * (b -= 1)) * Math.sin((b * e - f) * (2 * Math.PI) / g)) + c | |
| }, | |
| easeOutElastic: function(a, b, c, d, e) { | |
| var f = 1.70158, | |
| g = 0, | |
| h = d; | |
| if (0 == b) return c; | |
| if (1 == (b /= e)) return c + d; | |
| if (g || (g = .3 * e), h < Math.abs(d)) { | |
| h = d; | |
| var f = g / 4 | |
| } else var f = g / (2 * Math.PI) * Math.asin(d / h); | |
| return h * Math.pow(2, -10 * b) * Math.sin((b * e - f) * (2 * Math.PI) / g) + d + c | |
| }, | |
| easeInOutElastic: function(a, b, c, d, e) { | |
| var f = 1.70158, | |
| g = 0, | |
| h = d; | |
| if (0 == b) return c; | |
| if (2 == (b /= e / 2)) return c + d; | |
| if (g || (g = e * (.3 * 1.5)), h < Math.abs(d)) { | |
| h = d; | |
| var f = g / 4 | |
| } else var f = g / (2 * Math.PI) * Math.asin(d / h); | |
| return b < 1 ? -.5 * (h * Math.pow(2, 10 * (b -= 1)) * Math.sin((b * e - f) * (2 * Math.PI) / g)) + c : h * Math.pow(2, -10 * (b -= 1)) * Math.sin((b * e - f) * (2 * Math.PI) / g) * .5 + d + c | |
| }, | |
| easeInBack: function(a, b, c, d, e, f) { | |
| return void 0 == f && (f = 1.70158), d * (b /= e) * b * ((f + 1) * b - f) + c | |
| }, | |
| easeOutBack: function(a, b, c, d, e, f) { | |
| return void 0 == f && (f = 1.70158), d * ((b = b / e - 1) * b * ((f + 1) * b + f) + 1) + c | |
| }, | |
| easeInOutBack: function(a, b, c, d, e, f) { | |
| return void 0 == f && (f = 1.70158), (b /= e / 2) < 1 ? d / 2 * (b * b * (((f *= 1.525) + 1) * b - f)) + c : d / 2 * ((b -= 2) * b * (((f *= 1.525) + 1) * b + f) + 2) + c | |
| }, | |
| easeInBounce: function(a, b, c, d, e) { | |
| return d - jQuery.easing.easeOutBounce(a, e - b, 0, d, e) + c | |
| }, | |
| easeOutBounce: function(a, b, c, d, e) { | |
| return (b /= e) < 1 / 2.75 ? d * (7.5625 * b * b) + c : b < 2 / 2.75 ? d * (7.5625 * (b -= 1.5 / 2.75) * b + .75) + c : b < 2.5 / 2.75 ? d * (7.5625 * (b -= 2.25 / 2.75) * b + .9375) + c : d * (7.5625 * (b -= 2.625 / 2.75) * b + .984375) + c | |
| }, | |
| easeInOutBounce: function(a, b, c, d, e) { | |
| return b < e / 2 ? .5 * jQuery.easing.easeInBounce(a, 2 * b, 0, d, e) + c : .5 * jQuery.easing.easeOutBounce(a, 2 * b - e, 0, d, e) + .5 * d + c | |
| } | |
| }), | |
| function() { | |
| var a, b, c, d, e, f = function(a, b) { | |
| return function() { | |
| return a.apply(b, arguments) | |
| } | |
| }, | |
| g = [].indexOf || function(a) { | |
| for (var b = 0, c = this.length; b < c; b++) | |
| if (b in this && this[b] === a) return b; | |
| return -1 | |
| }; | |
| b = function() { | |
| function a() {} | |
| return a.prototype.extend = function(a, b) { | |
| var c, d; | |
| for (c in b) d = b[c], null == a[c] && (a[c] = d); | |
| return a | |
| }, a.prototype.isMobile = function(a) { | |
| return /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(a) | |
| }, a.prototype.createEvent = function(a, b, c, d) { | |
| var e; | |
| return null == b && (b = !1), null == c && (c = !1), null == d && (d = null), null != document.createEvent ? (e = document.createEvent("CustomEvent"), e.initCustomEvent(a, b, c, d)) : null != document.createEventObject ? (e = document.createEventObject(), e.eventType = a) : e.eventName = a, e | |
| }, a.prototype.emitEvent = function(a, b) { | |
| return null != a.dispatchEvent ? a.dispatchEvent(b) : b in (null != a) ? a[b]() : "on" + b in (null != a) ? a["on" + b]() : void 0 | |
| }, a.prototype.addEvent = function(a, b, c) { | |
| return null != a.addEventListener ? a.addEventListener(b, c, !1) : null != a.attachEvent ? a.attachEvent("on" + b, c) : a[b] = c | |
| }, a.prototype.removeEvent = function(a, b, c) { | |
| return null != a.removeEventListener ? a.removeEventListener(b, c, !1) : null != a.detachEvent ? a.detachEvent("on" + b, c) : delete a[b] | |
| }, a.prototype.innerHeight = function() { | |
| return "innerHeight" in window ? window.innerHeight : document.documentElement.clientHeight | |
| }, a | |
| }(), c = this.WeakMap || this.MozWeakMap || (c = function() { | |
| function a() { | |
| this.keys = [], this.values = [] | |
| } | |
| return a.prototype.get = function(a) { | |
| var b, c, d, e, f; | |
| for (f = this.keys, b = d = 0, e = f.length; d < e; b = ++d) | |
| if (c = f[b], c === a) return this.values[b] | |
| }, a.prototype.set = function(a, b) { | |
| var c, d, e, f, g; | |
| for (g = this.keys, c = e = 0, f = g.length; e < f; c = ++e) | |
| if (d = g[c], d === a) return void(this.values[c] = b); | |
| return this.keys.push(a), this.values.push(b) | |
| }, a | |
| }()), a = this.MutationObserver || this.WebkitMutationObserver || this.MozMutationObserver || (a = function() { | |
| function a() { | |
| "undefined" != typeof console && null !== console && console.warn("MutationObserver is not supported by your browser."), "undefined" != typeof console && null !== console && console.warn("WOW.js cannot detect dom mutations, please call .sync() after loading new content.") | |
| } | |
| return a.notSupported = !0, a.prototype.observe = function() {}, a | |
| }()), d = this.getComputedStyle || function(a, b) { | |
| return this.getPropertyValue = function(b) { | |
| var c; | |
| return "float" === b && (b = "styleFloat"), e.test(b) && b.replace(e, function(a, b) { | |
| return b.toUpperCase() | |
| }), (null != (c = a.currentStyle) ? c[b] : void 0) || null | |
| }, this | |
| }, e = /(\-([a-z]){1})/g, this.WOW = function() { | |
| function e(a) { | |
| null == a && (a = {}), this.scrollCallback = f(this.scrollCallback, this), this.scrollHandler = f(this.scrollHandler, this), this.resetAnimation = f(this.resetAnimation, this), this.start = f(this.start, this), this.scrolled = !0, this.config = this.util().extend(a, this.defaults), this.animationNameCache = new c, this.wowEvent = this.util().createEvent(this.config.boxClass) | |
| } | |
| return e.prototype.defaults = { | |
| boxClass: "wow", | |
| animateClass: "animated", | |
| offset: 0, | |
| mobile: !0, | |
| live: !0, | |
| callback: null | |
| }, e.prototype.init = function() { | |
| var a; | |
| return this.element = window.document.documentElement, "interactive" === (a = document.readyState) || "complete" === a ? this.start() : this.util().addEvent(document, "DOMContentLoaded", this.start), this.finished = [] | |
| }, e.prototype.start = function() { | |
| var b, c, d, e; | |
| if (this.stopped = !1, this.boxes = function() { | |
| var a, c, d, e; | |
| for (d = this.element.querySelectorAll("." + this.config.boxClass), e = [], a = 0, c = d.length; a < c; a++) b = d[a], e.push(b); | |
| return e | |
| }.call(this), this.all = function() { | |
| var a, c, d, e; | |
| for (d = this.boxes, e = [], a = 0, c = d.length; a < c; a++) b = d[a], e.push(b); | |
| return e | |
| }.call(this), this.boxes.length) | |
| if (this.disabled()) this.resetStyle(); | |
| else | |
| for (e = this.boxes, c = 0, d = e.length; c < d; c++) b = e[c], this.applyStyle(b, !0); | |
| if (this.disabled() || (this.util().addEvent(window, "scroll", this.scrollHandler), this.util().addEvent(window, "resize", this.scrollHandler), this.interval = setInterval(this.scrollCallback, 50)), this.config.live) return new a(function(a) { | |
| return function(b) { | |
| var c, d, e, f, g; | |
| for (g = [], c = 0, d = b.length; c < d; c++) f = b[c], g.push(function() { | |
| var a, b, c, d; | |
| for (c = f.addedNodes || [], d = [], a = 0, b = c.length; a < b; a++) e = c[a], d.push(this.doSync(e)); | |
| return d | |
| }.call(a)); | |
| return g | |
| } | |
| }(this)).observe(document.body, { | |
| childList: !0, | |
| subtree: !0 | |
| }) | |
| }, e.prototype.stop = function() { | |
| if (this.stopped = !0, this.util().removeEvent(window, "scroll", this.scrollHandler), this.util().removeEvent(window, "resize", this.scrollHandler), null != this.interval) return clearInterval(this.interval) | |
| }, e.prototype.sync = function(b) { | |
| if (a.notSupported) return this.doSync(this.element) | |
| }, e.prototype.doSync = function(a) { | |
| var b, c, d, e, f; | |
| if (null == a && (a = this.element), 1 === a.nodeType) { | |
| for (a = a.parentNode || a, e = a.querySelectorAll("." + this.config.boxClass), f = [], c = 0, d = e.length; c < d; c++) b = e[c], g.call(this.all, b) < 0 ? (this.boxes.push(b), this.all.push(b), this.stopped || this.disabled() ? this.resetStyle() : this.applyStyle(b, !0), f.push(this.scrolled = !0)) : f.push(void 0); | |
| return f | |
| } | |
| }, e.prototype.show = function(a) { | |
| return this.applyStyle(a), a.className = a.className + " " + this.config.animateClass, null != this.config.callback && this.config.callback(a), this.util().emitEvent(a, this.wowEvent), this.util().addEvent(a, "animationend", this.resetAnimation), this.util().addEvent(a, "oanimationend", this.resetAnimation), this.util().addEvent(a, "webkitAnimationEnd", this.resetAnimation), this.util().addEvent(a, "MSAnimationEnd", this.resetAnimation), a | |
| }, e.prototype.applyStyle = function(a, b) { | |
| var c, d, e; | |
| return d = a.getAttribute("data-wow-duration"), c = a.getAttribute("data-wow-delay"), e = a.getAttribute("data-wow-iteration"), this.animate(function(f) { | |
| return function() { | |
| return f.customStyle(a, b, d, c, e) | |
| } | |
| }(this)) | |
| }, e.prototype.animate = function() { | |
| return "requestAnimationFrame" in window ? function(a) { | |
| return window.requestAnimationFrame(a) | |
| } : function(a) { | |
| return a() | |
| } | |
| }(), e.prototype.resetStyle = function() { | |
| var a, b, c, d, e; | |
| for (d = this.boxes, e = [], b = 0, c = d.length; b < c; b++) a = d[b], e.push(a.style.visibility = "visible"); | |
| return e | |
| }, e.prototype.resetAnimation = function(a) { | |
| var b; | |
| if (a.type.toLowerCase().indexOf("animationend") >= 0) return b = a.target || a.srcElement, b.className = b.className.replace(this.config.animateClass, "").trim() | |
| }, e.prototype.customStyle = function(a, b, c, d, e) { | |
| return b && this.cacheAnimationName(a), a.style.visibility = b ? "hidden" : "visible", c && this.vendorSet(a.style, { | |
| animationDuration: c | |
| }), d && this.vendorSet(a.style, { | |
| animationDelay: d | |
| }), e && this.vendorSet(a.style, { | |
| animationIterationCount: e | |
| }), this.vendorSet(a.style, { | |
| animationName: b ? "none" : this.cachedAnimationName(a) | |
| }), a | |
| }, e.prototype.vendors = ["moz", "webkit"], e.prototype.vendorSet = function(a, b) { | |
| var c, d, e, f; | |
| d = []; | |
| for (c in b) e = b[c], a["" + c] = e, d.push(function() { | |
| var b, d, g, h; | |
| for (g = this.vendors, h = [], b = 0, d = g.length; b < d; b++) f = g[b], h.push(a["" + f + c.charAt(0).toUpperCase() + c.substr(1)] = e); | |
| return h | |
| }.call(this)); | |
| return d | |
| }, e.prototype.vendorCSS = function(a, b) { | |
| var c, e, f, g, h, i; | |
| for (h = d(a), g = h.getPropertyCSSValue(b), f = this.vendors, c = 0, e = f.length; c < e; c++) i = f[c], g = g || h.getPropertyCSSValue("-" + i + "-" + b); | |
| return g | |
| }, e.prototype.animationName = function(a) { | |
| var b; | |
| try { | |
| b = this.vendorCSS(a, "animation-name").cssText | |
| } catch (c) { | |
| b = d(a).getPropertyValue("animation-name") | |
| } | |
| return "none" === b ? "" : b | |
| }, e.prototype.cacheAnimationName = function(a) { | |
| return this.animationNameCache.set(a, this.animationName(a)) | |
| }, e.prototype.cachedAnimationName = function(a) { | |
| return this.animationNameCache.get(a) | |
| }, e.prototype.scrollHandler = function() { | |
| return this.scrolled = !0 | |
| }, e.prototype.scrollCallback = function() { | |
| var a; | |
| if (this.scrolled && (this.scrolled = !1, this.boxes = function() { | |
| var b, c, d, e; | |
| for (d = this.boxes, e = [], b = 0, c = d.length; b < c; b++) a = d[b], a && (this.isVisible(a) ? this.show(a) : e.push(a)); | |
| return e | |
| }.call(this), !this.boxes.length && !this.config.live)) return this.stop() | |
| }, e.prototype.offsetTop = function(a) { | |
| for (var b; void 0 === a.offsetTop;) a = a.parentNode; | |
| for (b = a.offsetTop; a = a.offsetParent;) b += a.offsetTop; | |
| return b | |
| }, e.prototype.isVisible = function(a) { | |
| var b, c, d, e, f; | |
| return c = a.getAttribute("data-wow-offset") || this.config.offset, f = window.pageYOffset, e = f + Math.min(this.element.clientHeight, this.util().innerHeight()) - c, d = this.offsetTop(a), b = d + a.clientHeight, d <= e && b >= f | |
| }, e.prototype.util = function() { | |
| return null != this._util ? this._util : this._util = new b | |
| }, e.prototype.disabled = function() { | |
| return !this.config.mobile && this.util().isMobile(navigator.userAgent) | |
| }, e | |
| }() | |
| }.call(this), | |
| function(a) { | |
| "use strict"; | |
| a("body").scrollspy({ | |
| target: ".navbar-fixed-top", | |
| offset: 60 | |
| }), a("#topNav").affix({ | |
| offset: { | |
| top: 200 | |
| } | |
| }), (new WOW).init(), a("a.page-scroll").bind("click", function(b) { | |
| var c = a(this); | |
| a("html, body").stop().animate({ | |
| scrollTop: a(c.attr("href")).offset().top - 60 | |
| }, 1150, "easeInOutExpo"), b.preventDefault() | |
| }), a(".navbar-collapse ul li a").click(function() { | |
| a(".navbar-toggle:visible").click() | |
| }), a("#galleryModal").on("show.bs.modal", function(b) { | |
| a("#galleryImage").attr("src", a(b.relatedTarget).data("src")) | |
| }), a.ajaxSetup({ | |
| headers: { | |
| "X-CSRF-TOKEN": a('meta[name="csrf-token"]').attr("content") | |
| } | |
| }), a("#ad1").sticky({ | |
| topSpacing: 70 | |
| }), a("#ad2").sticky({ | |
| topSpacing: 70 | |
| }) | |
| }(jQuery), | |
| function(a, b) { | |
| "use strict"; | |
| function c(a, b, c) { | |
| if (!a) throw pa("areq", "Argument '{0}' is {1}", b || "?", c || "required"); | |
| return a | |
| } | |
| function d(a, b) { | |
| return a || b ? a ? b ? (Q(a) && (a = a.join(" ")), Q(b) && (b = b.join(" ")), a + " " + b) : a : b : "" | |
| } | |
| function e(a) { | |
| var b = {}; | |
| return a && (a.to || a.from) && (b.to = a.to, b.from = a.from), b | |
| } | |
| function f(a, b, c) { | |
| var d = ""; | |
| return a = Q(a) ? a : a && R(a) && a.length ? a.split(/\s+/) : [], P(a, function(a, e) { | |
| a && a.length > 0 && (d += e > 0 ? " " : "", d += c ? b + a : a + b) | |
| }), d | |
| } | |
| function g(a, b) { | |
| var c = a.indexOf(b); | |
| b >= 0 && a.splice(c, 1) | |
| } | |
| function h(a) { | |
| if (a instanceof O) switch (a.length) { | |
| case 0: | |
| return a; | |
| case 1: | |
| if (a[0].nodeType === X) return a; | |
| break; | |
| default: | |
| return O(i(a)) | |
| } | |
| if (a.nodeType === X) return O(a) | |
| } | |
| function i(a) { | |
| if (!a[0]) return a; | |
| for (var b = 0; b < a.length; b++) { | |
| var c = a[b]; | |
| if (c.nodeType == X) return c | |
| } | |
| } | |
| function j(a, b, c) { | |
| P(b, function(b) { | |
| a.addClass(b, c) | |
| }) | |
| } | |
| function k(a, b, c) { | |
| P(b, function(b) { | |
| a.removeClass(b, c) | |
| }) | |
| } | |
| function l(a) { | |
| return function(b, c) { | |
| c.addClass && (j(a, b, c.addClass), c.addClass = null), c.removeClass && (k(a, b, c.removeClass), c.removeClass = null) | |
| } | |
| } | |
| function m(a) { | |
| if (a = a || {}, !a.$$prepared) { | |
| var b = a.domOperation || L; | |
| a.domOperation = function() { | |
| a.$$domOperationFired = !0, b(), b = L | |
| }, a.$$prepared = !0 | |
| } | |
| return a | |
| } | |
| function n(a, b) { | |
| o(a, b), p(a, b) | |
| } | |
| function o(a, b) { | |
| b.from && (a.css(b.from), b.from = null) | |
| } | |
| function p(a, b) { | |
| b.to && (a.css(b.to), b.to = null) | |
| } | |
| function q(a, b, c) { | |
| var d = b.options || {}, | |
| e = c.options || {}, | |
| f = (d.addClass || "") + " " + (e.addClass || ""), | |
| g = (d.removeClass || "") + " " + (e.removeClass || ""), | |
| h = r(a.attr("class"), f, g); | |
| e.preparationClasses && (d.preparationClasses = y(e.preparationClasses, d.preparationClasses), delete e.preparationClasses); | |
| var i = d.domOperation !== L ? d.domOperation : null; | |
| return N(d, e), i && (d.domOperation = i), h.addClass ? d.addClass = h.addClass : d.addClass = null, h.removeClass ? d.removeClass = h.removeClass : d.removeClass = null, b.addClass = d.addClass, b.removeClass = d.removeClass, d | |
| } | |
| function r(a, b, c) { | |
| function d(a) { | |
| R(a) && (a = a.split(" ")); | |
| var b = {}; | |
| return P(a, function(a) { | |
| a.length && (b[a] = !0) | |
| }), b | |
| } | |
| var e = 1, | |
| f = -1, | |
| g = {}; | |
| a = d(a), b = d(b), P(b, function(a, b) { | |
| g[b] = e | |
| }), c = d(c), P(c, function(a, b) { | |
| g[b] = g[b] === e ? null : f | |
| }); | |
| var h = { | |
| addClass: "", | |
| removeClass: "" | |
| }; | |
| return P(g, function(b, c) { | |
| var d, g; | |
| b === e ? (d = "addClass", g = !a[c]) : b === f && (d = "removeClass", g = a[c]), g && (h[d].length && (h[d] += " "), h[d] += c) | |
| }), h | |
| } | |
| function s(a) { | |
| return a instanceof b.element ? a[0] : a | |
| } | |
| function t(a, b, c) { | |
| var d = ""; | |
| b && (d = f(b, $, !0)), c.addClass && (d = y(d, f(c.addClass, Y))), c.removeClass && (d = y(d, f(c.removeClass, Z))), d.length && (c.preparationClasses = d, a.addClass(d)) | |
| } | |
| function u(a, b) { | |
| b.preparationClasses && (a.removeClass(b.preparationClasses), b.preparationClasses = null), b.activeClasses && (a.removeClass(b.activeClasses), b.activeClasses = null) | |
| } | |
| function v(a, b) { | |
| var c = b ? "-" + b + "s" : ""; | |
| return x(a, [na, c]), [na, c] | |
| } | |
| function w(a, b) { | |
| var c = b ? "paused" : "", | |
| d = J + ja; | |
| return x(a, [d, c]), [d, c] | |
| } | |
| function x(a, b) { | |
| var c = b[0], | |
| d = b[1]; | |
| a.style[c] = d | |
| } | |
| function y(a, b) { | |
| return a ? b ? a + " " + b : a : b | |
| } | |
| function z(a) { | |
| return [ma, a + "s"] | |
| } | |
| function A(a, b) { | |
| var c = b ? la : na; | |
| return [c, a + "s"] | |
| } | |
| function B(a, b, c) { | |
| var d = Object.create(null), | |
| e = a.getComputedStyle(b) || {}; | |
| return P(c, function(a, b) { | |
| var c = e[a]; | |
| if (c) { | |
| var f = c.charAt(0); | |
| ("-" === f || "+" === f || f >= 0) && (c = C(c)), 0 === c && (c = null), d[b] = c | |
| } | |
| }), d | |
| } | |
| function C(a) { | |
| var b = 0, | |
| c = a.split(/\s*,\s*/); | |
| return P(c, function(a) { | |
| "s" == a.charAt(a.length - 1) && (a = a.substring(0, a.length - 1)), a = parseFloat(a) || 0, b = b ? Math.max(a, b) : a | |
| }), b | |
| } | |
| function D(a) { | |
| return 0 === a || null != a | |
| } | |
| function E(a, b) { | |
| var c = H, | |
| d = a + "s"; | |
| return b ? c += ea : d += " linear all", [c, d] | |
| } | |
| function F() { | |
| var a = Object.create(null); | |
| return { | |
| flush: function() { | |
| a = Object.create(null) | |
| }, | |
| count: function(b) { | |
| var c = a[b]; | |
| return c ? c.total : 0 | |
| }, | |
| get: function(b) { | |
| var c = a[b]; | |
| return c && c.value | |
| }, | |
| put: function(b, c) { | |
| a[b] ? a[b].total++ : a[b] = { | |
| total: 1, | |
| value: c | |
| } | |
| } | |
| } | |
| } | |
| function G(a, b, c) { | |
| P(c, function(c) { | |
| a[c] = U(a[c]) ? a[c] : b.style.getPropertyValue(c) | |
| }) | |
| } | |
| var H, I, J, K, L = b.noop, | |
| M = b.copy, | |
| N = b.extend, | |
| O = b.element, | |
| P = b.forEach, | |
| Q = b.isArray, | |
| R = b.isString, | |
| S = b.isObject, | |
| T = b.isUndefined, | |
| U = b.isDefined, | |
| V = b.isFunction, | |
| W = b.isElement, | |
| X = 1, | |
| Y = "-add", | |
| Z = "-remove", | |
| $ = "ng-", | |
| _ = "-active", | |
| aa = "-prepare", | |
| ba = "ng-animate", | |
| ca = "$$ngAnimateChildren", | |
| da = ""; | |
| T(a.ontransitionend) && U(a.onwebkittransitionend) ? (da = "-webkit-", H = "WebkitTransition", I = "webkitTransitionEnd transitionend") : (H = "transition", I = "transitionend"), T(a.onanimationend) && U(a.onwebkitanimationend) ? (da = "-webkit-", J = "WebkitAnimation", K = "webkitAnimationEnd animationend") : (J = "animation", K = "animationend"); | |
| var ea = "Duration", | |
| fa = "Property", | |
| ga = "Delay", | |
| ha = "TimingFunction", | |
| ia = "IterationCount", | |
| ja = "PlayState", | |
| ka = 9999, | |
| la = J + ga, | |
| ma = J + ea, | |
| na = H + ga, | |
| oa = H + ea, | |
| pa = b.$$minErr("ng"), | |
| qa = ["$$rAF", function(a) { | |
| function b(a) { | |
| d = d.concat(a), c() | |
| } | |
| function c() { | |
| if (d.length) { | |
| for (var b = d.shift(), f = 0; f < b.length; f++) b[f](); | |
| e || a(function() { | |
| e || c() | |
| }) | |
| } | |
| } | |
| var d, e; | |
| return d = b.queue = [], b.waitUntilQuiet = function(b) { | |
| e && e(), e = a(function() { | |
| e = null, b(), c() | |
| }) | |
| }, b | |
| }], | |
| ra = ["$interpolate", function(a) { | |
| return { | |
| link: function(c, d, e) { | |
| function f(a) { | |
| a = "on" === a || "true" === a, d.data(ca, a) | |
| } | |
| var g = e.ngAnimateChildren; | |
| b.isString(g) && 0 === g.length ? d.data(ca, !0) : (f(a(g)(c)), e.$observe("ngAnimateChildren", f)) | |
| } | |
| } | |
| }], | |
| sa = "$$animateCss", | |
| ta = 1e3, | |
| ua = 3, | |
| va = 1.5, | |
| wa = { | |
| transitionDuration: oa, | |
| transitionDelay: na, | |
| transitionProperty: H + fa, | |
| animationDuration: ma, | |
| animationDelay: la, | |
| animationIterationCount: J + ia | |
| }, | |
| xa = { | |
| transitionDuration: oa, | |
| transitionDelay: na, | |
| animationDuration: ma, | |
| animationDelay: la | |
| }, | |
| ya = ["$animateProvider", function(a) { | |
| var b = F(), | |
| c = F(); | |
| this.$get = ["$window", "$$jqLite", "$$AnimateRunner", "$timeout", "$$forceReflow", "$sniffer", "$$rAFScheduler", "$$animateQueue", function(a, d, h, i, j, k, q, r) { | |
| function t(a, b) { | |
| var c = "$$ngAnimateParentKey", | |
| d = a.parentNode, | |
| e = d[c] || (d[c] = ++O); | |
| return e + "-" + a.getAttribute("class") + "-" + b | |
| } | |
| function u(c, d, e, f) { | |
| var g = b.get(e); | |
| return g || (g = B(a, c, f), "infinite" === g.animationIterationCount && (g.animationIterationCount = 1)), b.put(e, g), g | |
| } | |
| function y(e, g, h, i) { | |
| var j; | |
| if (b.count(h) > 0 && (j = c.get(h), !j)) { | |
| var k = f(g, "-stagger"); | |
| d.addClass(e, k), j = B(a, e, i), j.animationDuration = Math.max(j.animationDuration, 0), j.transitionDuration = Math.max(j.transitionDuration, 0), d.removeClass(e, k), c.put(h, j) | |
| } | |
| return j || {} | |
| } | |
| function C(a) { | |
| R.push(a), q.waitUntilQuiet(function() { | |
| b.flush(), c.flush(); | |
| for (var a = j(), d = 0; d < R.length; d++) R[d](a); | |
| R.length = 0 | |
| }) | |
| } | |
| function F(a, b, c) { | |
| var d = u(a, b, c, wa), | |
| e = d.animationDelay, | |
| f = d.transitionDelay; | |
| return d.maxDelay = e && f ? Math.max(e, f) : e || f, d.maxDuration = Math.max(d.animationDuration * d.animationIterationCount, d.transitionDuration), d | |
| } | |
| var N = l(d), | |
| O = 0, | |
| R = []; | |
| return function(a, c) { | |
| function j() { | |
| q() | |
| } | |
| function l() { | |
| q(!0) | |
| } | |
| function q(b) { | |
| if (!(V || X && W)) { | |
| V = !0, W = !1, S.$$skipPreparationClasses || d.removeClass(a, wa), d.removeClass(a, za), w(U, !1), v(U, !1), P(ja, function(a) { | |
| U.style[a[0]] = "" | |
| }), N(a, S), n(a, S), Object.keys(T).length && P(T, function(a, b) { | |
| a ? U.style.setProperty(b, a) : U.style.removeProperty(b) | |
| }), S.onDone && S.onDone(), na && na.length && a.off(na.join(" "), O); | |
| var c = a.data(sa); | |
| c && (i.cancel(c[0].timer), a.removeData(sa)), aa && aa.complete(!b) | |
| } | |
| } | |
| function u(a) { | |
| Na.blockTransition && v(U, a), Na.blockKeyframeAnimation && w(U, !!a) | |
| } | |
| function B() { | |
| return aa = new h({ | |
| end: j, | |
| cancel: l | |
| }), C(L), q(), { | |
| $$willAnimate: !1, | |
| start: function() { | |
| return aa | |
| }, | |
| end: j | |
| } | |
| } | |
| function O(a) { | |
| a.stopPropagation(); | |
| var b = a.originalEvent || a, | |
| c = b.$manualTimeStamp || Date.now(), | |
| d = parseFloat(b.elapsedTime.toFixed(ua)); | |
| Math.max(c - ia, 0) >= da && d >= ea && (X = !0, q()) | |
| } | |
| function R() { | |
| function b() { | |
| if (!V) { | |
| if (u(!1), P(ja, function(a) { | |
| var b = a[0], | |
| c = a[1]; | |
| U.style[b] = c | |
| }), N(a, S), d.addClass(a, za), Na.recalculateTimingStyles) { | |
| if (ya = U.className + " " + wa, Ca = t(U, ya), La = F(U, ya, Ca), Ma = La.maxDelay, ca = Math.max(Ma, 0), ea = La.maxDuration, 0 === ea) return void q(); | |
| Na.hasTransitions = La.transitionDuration > 0, Na.hasAnimations = La.animationDuration > 0 | |
| } | |
| if (Na.applyAnimationDelay && (Ma = "boolean" != typeof S.delay && D(S.delay) ? parseFloat(S.delay) : Ma, ca = Math.max(Ma, 0), La.animationDelay = Ma, Oa = A(Ma, !0), ja.push(Oa), U.style[Oa[0]] = Oa[1]), da = ca * ta, ga = ea * ta, S.easing) { | |
| var b, e = S.easing; | |
| Na.hasTransitions && (b = H + ha, ja.push([b, e]), U.style[b] = e), Na.hasAnimations && (b = J + ha, ja.push([b, e]), U.style[b] = e) | |
| } | |
| La.transitionDuration && na.push(I), La.animationDuration && na.push(K), ia = Date.now(); | |
| var f = da + va * ga, | |
| g = ia + f, | |
| h = a.data(sa) || [], | |
| j = !0; | |
| if (h.length) { | |
| var k = h[0]; | |
| j = g > k.expectedEndTime, j ? i.cancel(k.timer) : h.push(q) | |
| } | |
| if (j) { | |
| var l = i(c, f, !1); | |
| h[0] = { | |
| timer: l, | |
| expectedEndTime: g | |
| }, h.push(q), a.data(sa, h) | |
| } | |
| na.length && a.on(na.join(" "), O), S.to && (S.cleanupStyles && G(T, U, Object.keys(S.to)), p(a, S)) | |
| } | |
| } | |
| function c() { | |
| var b = a.data(sa); | |
| if (b) { | |
| for (var c = 1; c < b.length; c++) b[c](); | |
| a.removeData(sa) | |
| } | |
| } | |
| if (!V) { | |
| if (!U.parentNode) return void q(); | |
| var e = function(a) { | |
| if (X) W && a && (W = !1, q()); | |
| else if (W = !a, La.animationDuration) { | |
| var b = w(U, W); | |
| W ? ja.push(b) : g(ja, b) | |
| } | |
| }, | |
| f = Ja > 0 && (La.transitionDuration && 0 === Da.transitionDuration || La.animationDuration && 0 === Da.animationDuration) && Math.max(Da.animationDelay, Da.transitionDelay); | |
| f ? i(b, Math.floor(f * Ja * ta), !1) : b(), ba.resume = function() { | |
| e(!0) | |
| }, ba.pause = function() { | |
| e(!1) | |
| } | |
| } | |
| } | |
| var S = c || {}; | |
| S.$$prepared || (S = m(M(S))); | |
| var T = {}, | |
| U = s(a); | |
| if (!U || !U.parentNode || !r.enabled()) return B(); | |
| var V, W, X, aa, ba, ca, da, ea, ga, ia, ja = [], | |
| la = a.attr("class"), | |
| ma = e(S), | |
| na = []; | |
| if (0 === S.duration || !k.animations && !k.transitions) return B(); | |
| var oa = S.event && Q(S.event) ? S.event.join(" ") : S.event, | |
| pa = oa && S.structural, | |
| qa = "", | |
| ra = ""; | |
| pa ? qa = f(oa, $, !0) : oa && (qa = oa), S.addClass && (ra += f(S.addClass, Y)), S.removeClass && (ra.length && (ra += " "), ra += f(S.removeClass, Z)), S.applyClassesEarly && ra.length && N(a, S); | |
| var wa = [qa, ra].join(" ").trim(), | |
| ya = la + " " + wa, | |
| za = f(wa, _), | |
| Aa = ma.to && Object.keys(ma.to).length > 0, | |
| Ba = (S.keyframeStyle || "").length > 0; | |
| if (!Ba && !Aa && !wa) return B(); | |
| var Ca, Da; | |
| if (S.stagger > 0) { | |
| var Ea = parseFloat(S.stagger); | |
| Da = { | |
| transitionDelay: Ea, | |
| animationDelay: Ea, | |
| transitionDuration: 0, | |
| animationDuration: 0 | |
| } | |
| } else Ca = t(U, ya), Da = y(U, wa, Ca, xa); | |
| S.$$skipPreparationClasses || d.addClass(a, wa); | |
| var Fa; | |
| if (S.transitionStyle) { | |
| var Ga = [H, S.transitionStyle]; | |
| x(U, Ga), ja.push(Ga) | |
| } | |
| if (S.duration >= 0) { | |
| Fa = U.style[H].length > 0; | |
| var Ha = E(S.duration, Fa); | |
| x(U, Ha), ja.push(Ha) | |
| } | |
| if (S.keyframeStyle) { | |
| var Ia = [J, S.keyframeStyle]; | |
| x(U, Ia), ja.push(Ia) | |
| } | |
| var Ja = Da ? S.staggerIndex >= 0 ? S.staggerIndex : b.count(Ca) : 0, | |
| Ka = 0 === Ja; | |
| Ka && !S.skipBlocking && v(U, ka); | |
| var La = F(U, ya, Ca), | |
| Ma = La.maxDelay; | |
| ca = Math.max(Ma, 0), ea = La.maxDuration; | |
| var Na = {}; | |
| if (Na.hasTransitions = La.transitionDuration > 0, Na.hasAnimations = La.animationDuration > 0, Na.hasTransitionAll = Na.hasTransitions && "all" == La.transitionProperty, Na.applyTransitionDuration = Aa && (Na.hasTransitions && !Na.hasTransitionAll || Na.hasAnimations && !Na.hasTransitions), Na.applyAnimationDuration = S.duration && Na.hasAnimations, Na.applyTransitionDelay = D(S.delay) && (Na.applyTransitionDuration || Na.hasTransitions), Na.applyAnimationDelay = D(S.delay) && Na.hasAnimations, Na.recalculateTimingStyles = ra.length > 0, (Na.applyTransitionDuration || Na.applyAnimationDuration) && (ea = S.duration ? parseFloat(S.duration) : ea, Na.applyTransitionDuration && (Na.hasTransitions = !0, La.transitionDuration = ea, Fa = U.style[H + fa].length > 0, ja.push(E(ea, Fa))), Na.applyAnimationDuration && (Na.hasAnimations = !0, La.animationDuration = ea, ja.push(z(ea)))), 0 === ea && !Na.recalculateTimingStyles) return B(); | |
| if (null != S.delay) { | |
| var Oa; | |
| "boolean" != typeof S.delay && (Oa = parseFloat(S.delay), ca = Math.max(Oa, 0)), Na.applyTransitionDelay && ja.push(A(Oa)), Na.applyAnimationDelay && ja.push(A(Oa, !0)) | |
| } | |
| return null == S.duration && La.transitionDuration > 0 && (Na.recalculateTimingStyles = Na.recalculateTimingStyles || Ka), da = ca * ta, ga = ea * ta, S.skipBlocking || (Na.blockTransition = La.transitionDuration > 0, Na.blockKeyframeAnimation = La.animationDuration > 0 && Da.animationDelay > 0 && 0 === Da.animationDuration), S.from && (S.cleanupStyles && G(T, U, Object.keys(S.from)), o(a, S)), Na.blockTransition || Na.blockKeyframeAnimation ? u(ea) : S.skipBlocking || v(U, !1), { | |
| $$willAnimate: !0, | |
| end: j, | |
| start: function() { | |
| if (!V) return ba = { | |
| end: j, | |
| cancel: l, | |
| resume: null, | |
| pause: null | |
| }, aa = new h(ba), C(R), aa | |
| } | |
| } | |
| } | |
| }] | |
| }], | |
| za = ["$$animationProvider", function(a) { | |
| function b(a) { | |
| return a.parentNode && 11 === a.parentNode.nodeType | |
| } | |
| a.drivers.push("$$animateCssDriver"); | |
| var c = "ng-animate-shim", | |
| d = "ng-anchor", | |
| e = "ng-anchor-out", | |
| f = "ng-anchor-in"; | |
| this.$get = ["$animateCss", "$rootScope", "$$AnimateRunner", "$rootElement", "$sniffer", "$$jqLite", "$document", function(a, g, h, i, j, k, m) { | |
| function n(a) { | |
| return a.replace(/\bng-\S+\b/g, "") | |
| } | |
| function o(a, b) { | |
| return R(a) && (a = a.split(" ")), R(b) && (b = b.split(" ")), a.filter(function(a) { | |
| return b.indexOf(a) === -1 | |
| }).join(" ") | |
| } | |
| function p(b, g, i) { | |
| function j(a) { | |
| var b = {}, | |
| c = s(a).getBoundingClientRect(); | |
| return P(["width", "height", "top", "left"], function(a) { | |
| var d = c[a]; | |
| switch (a) { | |
| case "top": | |
| d += t.scrollTop; | |
| break; | |
| case "left": | |
| d += t.scrollLeft | |
| } | |
| b[a] = Math.floor(d) + "px" | |
| }), b | |
| } | |
| function k() { | |
| var b = a(q, { | |
| addClass: e, | |
| delay: !0, | |
| from: j(g) | |
| }); | |
| return b.$$willAnimate ? b : null | |
| } | |
| function l(a) { | |
| return a.attr("class") || "" | |
| } | |
| function m() { | |
| var b = n(l(i)), | |
| c = o(b, r), | |
| d = o(r, b), | |
| g = a(q, { | |
| to: j(i), | |
| addClass: f + " " + c, | |
| removeClass: e + " " + d, | |
| delay: !0 | |
| }); | |
| return g.$$willAnimate ? g : null | |
| } | |
| function p() { | |
| q.remove(), g.removeClass(c), i.removeClass(c) | |
| } | |
| var q = O(s(g).cloneNode(!0)), | |
| r = n(l(q)); | |
| g.addClass(c), i.addClass(c), q.addClass(d), v.append(q); | |
| var u, w = k(); | |
| if (!w && (u = m(), !u)) return p(); | |
| var x = w || u; | |
| return { | |
| start: function() { | |
| function a() { | |
| c && c.end() | |
| } | |
| var b, c = x.start(); | |
| return c.done(function() { | |
| return c = null, !u && (u = m()) ? (c = u.start(), c.done(function() { | |
| c = null, p(), b.complete() | |
| }), c) : (p(), void b.complete()) | |
| }), b = new h({ | |
| end: a, | |
| cancel: a | |
| }) | |
| } | |
| } | |
| } | |
| function q(a, b, c, d) { | |
| var e = r(a, L), | |
| f = r(b, L), | |
| g = []; | |
| if (P(d, function(a) { | |
| var b = a.out, | |
| d = a.in, | |
| e = p(c, b, d); | |
| e && g.push(e) | |
| }), e || f || 0 !== g.length) return { | |
| start: function() { | |
| function a() { | |
| P(b, function(a) { | |
| a.end() | |
| }) | |
| } | |
| var b = []; | |
| e && b.push(e.start()), f && b.push(f.start()), P(g, function(a) { | |
| b.push(a.start()) | |
| }); | |
| var c = new h({ | |
| end: a, | |
| cancel: a | |
| }); | |
| return h.all(b, function(a) { | |
| c.complete(a) | |
| }), c | |
| } | |
| } | |
| } | |
| function r(b) { | |
| var c = b.element, | |
| d = b.options || {}; | |
| b.structural && (d.event = b.event, d.structural = !0, d.applyClassesEarly = !0, "leave" === b.event && (d.onDone = d.domOperation)), d.preparationClasses && (d.event = y(d.event, d.preparationClasses)); | |
| var e = a(c, d); | |
| return e.$$willAnimate ? e : null | |
| } | |
| if (!j.animations && !j.transitions) return L; | |
| var t = m[0].body, | |
| u = s(i), | |
| v = O(b(u) || t.contains(u) ? u : t); | |
| l(k); | |
| return function(a) { | |
| return a.from && a.to ? q(a.from, a.to, a.classes, a.anchors) : r(a); | |
| } | |
| }] | |
| }], | |
| Aa = ["$animateProvider", function(a) { | |
| this.$get = ["$injector", "$$AnimateRunner", "$$jqLite", function(b, c, d) { | |
| function e(c) { | |
| c = Q(c) ? c : c.split(" "); | |
| for (var d = [], e = {}, f = 0; f < c.length; f++) { | |
| var g = c[f], | |
| h = a.$$registeredAnimations[g]; | |
| h && !e[g] && (d.push(b.get(h)), e[g] = !0) | |
| } | |
| return d | |
| } | |
| var f = l(d); | |
| return function(a, b, d, g) { | |
| function h() { | |
| g.domOperation(), f(a, g) | |
| } | |
| function i() { | |
| o = !0, h(), n(a, g) | |
| } | |
| function j(a, b, d, e, f) { | |
| var g; | |
| switch (d) { | |
| case "animate": | |
| g = [b, e.from, e.to, f]; | |
| break; | |
| case "setClass": | |
| g = [b, r, s, f]; | |
| break; | |
| case "addClass": | |
| g = [b, r, f]; | |
| break; | |
| case "removeClass": | |
| g = [b, s, f]; | |
| break; | |
| default: | |
| g = [b, f] | |
| } | |
| g.push(e); | |
| var h = a.apply(a, g); | |
| if (h) | |
| if (V(h.start) && (h = h.start()), h instanceof c) h.done(f); | |
| else if (V(h)) return h; | |
| return L | |
| } | |
| function k(a, b, d, e, f) { | |
| var g = []; | |
| return P(e, function(e) { | |
| var h = e[f]; | |
| h && g.push(function() { | |
| var e, f, g = !1, | |
| i = function(a) { | |
| g || (g = !0, (f || L)(a), e.complete(!a)) | |
| }; | |
| return e = new c({ | |
| end: function() { | |
| i() | |
| }, | |
| cancel: function() { | |
| i(!0) | |
| } | |
| }), f = j(h, a, b, d, function(a) { | |
| var b = a === !1; | |
| i(b) | |
| }), e | |
| }) | |
| }), g | |
| } | |
| function l(a, b, d, e, f) { | |
| var g = k(a, b, d, e, f); | |
| if (0 === g.length) { | |
| var h, i; | |
| "beforeSetClass" === f ? (h = k(a, "removeClass", d, e, "beforeRemoveClass"), i = k(a, "addClass", d, e, "beforeAddClass")) : "setClass" === f && (h = k(a, "removeClass", d, e, "removeClass"), i = k(a, "addClass", d, e, "addClass")), h && (g = g.concat(h)), i && (g = g.concat(i)) | |
| } | |
| if (0 !== g.length) return function(a) { | |
| var b = []; | |
| return g.length && P(g, function(a) { | |
| b.push(a()) | |
| }), b.length ? c.all(b, a) : a(), | |
| function(a) { | |
| P(b, function(b) { | |
| a ? b.cancel() : b.end() | |
| }) | |
| } | |
| } | |
| } | |
| var o = !1; | |
| 3 === arguments.length && S(d) && (g = d, d = null), g = m(g), d || (d = a.attr("class") || "", g.addClass && (d += " " + g.addClass), g.removeClass && (d += " " + g.removeClass)); | |
| var p, q, r = g.addClass, | |
| s = g.removeClass, | |
| t = e(d); | |
| if (t.length) { | |
| var u, v; | |
| "leave" == b ? (v = "leave", u = "afterLeave") : (v = "before" + b.charAt(0).toUpperCase() + b.substr(1), u = b), "enter" !== b && "move" !== b && (p = l(a, b, g, t, v)), q = l(a, b, g, t, u) | |
| } | |
| if (p || q) { | |
| var w; | |
| return { | |
| $$willAnimate: !0, | |
| end: function() { | |
| return w ? w.end() : (i(), w = new c, w.complete(!0)), w | |
| }, | |
| start: function() { | |
| function a(a) { | |
| i(a), w.complete(a) | |
| } | |
| function b(b) { | |
| o || ((d || L)(b), a(b)) | |
| } | |
| if (w) return w; | |
| w = new c; | |
| var d, e = []; | |
| return p && e.push(function(a) { | |
| d = p(a) | |
| }), e.length ? e.push(function(a) { | |
| h(), a(!0) | |
| }) : h(), q && e.push(function(a) { | |
| d = q(a) | |
| }), w.setHost({ | |
| end: function() { | |
| b() | |
| }, | |
| cancel: function() { | |
| b(!0) | |
| } | |
| }), c.chain(e, a), w | |
| } | |
| } | |
| } | |
| } | |
| }] | |
| }], | |
| Ba = ["$$animationProvider", function(a) { | |
| a.drivers.push("$$animateJsDriver"), this.$get = ["$$animateJs", "$$AnimateRunner", function(a, b) { | |
| function c(b) { | |
| var c = b.element, | |
| d = b.event, | |
| e = b.options, | |
| f = b.classes; | |
| return a(c, d, f, e) | |
| } | |
| return function(a) { | |
| if (a.from && a.to) { | |
| var d = c(a.from), | |
| e = c(a.to); | |
| if (!d && !e) return; | |
| return { | |
| start: function() { | |
| function a() { | |
| return function() { | |
| P(f, function(a) { | |
| a.end() | |
| }) | |
| } | |
| } | |
| function c(a) { | |
| g.complete(a) | |
| } | |
| var f = []; | |
| d && f.push(d.start()), e && f.push(e.start()), b.all(f, c); | |
| var g = new b({ | |
| end: a(), | |
| cancel: a() | |
| }); | |
| return g | |
| } | |
| } | |
| } | |
| return c(a) | |
| } | |
| }] | |
| }], | |
| Ca = "data-ng-animate", | |
| Da = "$ngAnimatePin", | |
| Ea = ["$animateProvider", function(d) { | |
| function e(a) { | |
| if (!a) return null; | |
| var b = a.split(p), | |
| c = Object.create(null); | |
| return P(b, function(a) { | |
| c[a] = !0 | |
| }), c | |
| } | |
| function f(a, b) { | |
| if (a && b) { | |
| var c = e(b); | |
| return a.split(p).some(function(a) { | |
| return c[a] | |
| }) | |
| } | |
| } | |
| function g(a, b, c, d) { | |
| return r[a].some(function(a) { | |
| return a(b, c, d) | |
| }) | |
| } | |
| function j(a, b) { | |
| var c = (a.addClass || "").length > 0, | |
| d = (a.removeClass || "").length > 0; | |
| return b ? c && d : c || d | |
| } | |
| var k = 1, | |
| o = 2, | |
| p = " ", | |
| r = this.rules = { | |
| skip: [], | |
| cancel: [], | |
| join: [] | |
| }; | |
| r.join.push(function(a, b, c) { | |
| return !b.structural && j(b) | |
| }), r.skip.push(function(a, b, c) { | |
| return !b.structural && !j(b) | |
| }), r.skip.push(function(a, b, c) { | |
| return "leave" == c.event && b.structural | |
| }), r.skip.push(function(a, b, c) { | |
| return c.structural && c.state === o && !b.structural | |
| }), r.cancel.push(function(a, b, c) { | |
| return c.structural && b.structural | |
| }), r.cancel.push(function(a, b, c) { | |
| return c.state === o && b.structural | |
| }), r.cancel.push(function(a, b, c) { | |
| if (c.structural) return !1; | |
| var d = b.addClass, | |
| e = b.removeClass, | |
| g = c.addClass, | |
| h = c.removeClass; | |
| return !(T(d) && T(e) || T(g) && T(h)) && (f(d, h) || f(e, g)) | |
| }), this.$get = ["$$rAF", "$rootScope", "$rootElement", "$document", "$$HashMap", "$$animation", "$$AnimateRunner", "$templateRequest", "$$jqLite", "$$forceReflow", function(e, f, p, r, v, w, x, y, z, A) { | |
| function B() { | |
| var a = !1; | |
| return function(b) { | |
| a ? b() : f.$$postDigest(function() { | |
| a = !0, b() | |
| }) | |
| } | |
| } | |
| function C(a, b) { | |
| return q(a, b, {}) | |
| } | |
| function D(a, b, c) { | |
| var d = s(b), | |
| e = s(a), | |
| f = [], | |
| g = _[c]; | |
| return g && P(g, function(a) { | |
| ea.call(a.node, d) ? f.push(a.callback) : "leave" === c && ea.call(a.node, e) && f.push(a.callback) | |
| }), f | |
| } | |
| function E(a, b, c) { | |
| var d = i(b); | |
| return a.filter(function(a) { | |
| var b = a.node === d && (!c || a.callback === c); | |
| return !b | |
| }) | |
| } | |
| function F(a, b) { | |
| "close" !== a || b[0].parentNode || fa.off(b) | |
| } | |
| function G(a, b, c) { | |
| function d(b, c, d, f) { | |
| z(function() { | |
| var b = D(p, a, c); | |
| b.length ? e(function() { | |
| P(b, function(b) { | |
| b(a, d, f) | |
| }), F(d, a) | |
| }) : F(d, a) | |
| }), b.progress(c, d, f) | |
| } | |
| function i(b) { | |
| u(a, v), da(a, v), n(a, v), v.domOperation(), y.complete(!b) | |
| } | |
| var l, p, v = M(c); | |
| a = h(a), a && (l = s(a), p = a.parent()), v = m(v); | |
| var y = new x, | |
| z = B(); | |
| if (Q(v.addClass) && (v.addClass = v.addClass.join(" ")), v.addClass && !R(v.addClass) && (v.addClass = null), Q(v.removeClass) && (v.removeClass = v.removeClass.join(" ")), v.removeClass && !R(v.removeClass) && (v.removeClass = null), v.from && !S(v.from) && (v.from = null), v.to && !S(v.to) && (v.to = null), !l) return i(), y; | |
| var A = [l.className, v.addClass, v.removeClass].join(" "); | |
| if (!ba(A)) return i(), y; | |
| var E = ["enter", "move", "leave"].indexOf(b) >= 0, | |
| G = r[0].hidden, | |
| J = !Z || G || Y.get(l), | |
| N = !J && V.get(l) || {}, | |
| O = !!N.state; | |
| if (J || O && N.state == k || (J = !K(a, p, b)), J) return G && d(y, b, "start"), i(), G && d(y, b, "close"), y; | |
| E && H(a); | |
| var T = { | |
| structural: E, | |
| element: a, | |
| event: b, | |
| addClass: v.addClass, | |
| removeClass: v.removeClass, | |
| close: i, | |
| options: v, | |
| runner: y | |
| }; | |
| if (O) { | |
| var U = g("skip", a, T, N); | |
| if (U) return N.state === o ? (i(), y) : (q(a, N, T), N.runner); | |
| var W = g("cancel", a, T, N); | |
| if (W) | |
| if (N.state === o) N.runner.end(); | |
| else { | |
| if (!N.structural) return q(a, N, T), N.runner; | |
| N.close() | |
| } | |
| else { | |
| var X = g("join", a, T, N); | |
| if (X) { | |
| if (N.state !== o) return t(a, E ? b : null, v), b = T.event = N.event, v = q(a, N, T), N.runner; | |
| C(a, T) | |
| } | |
| } | |
| } else C(a, T); | |
| var $ = T.structural; | |
| if ($ || ($ = "animate" === T.event && Object.keys(T.options.to || {}).length > 0 || j(T)), !$) return i(), I(a), y; | |
| var _ = (N.counter || 0) + 1; | |
| return T.counter = _, L(a, k, T), f.$$postDigest(function() { | |
| var c = V.get(l), | |
| e = !c; | |
| c = c || {}; | |
| var f = a.parent() || [], | |
| g = f.length > 0 && ("animate" === c.event || c.structural || j(c)); | |
| if (e || c.counter !== _ || !g) return e && (da(a, v), n(a, v)), (e || E && c.event !== b) && (v.domOperation(), y.end()), void(g || I(a)); | |
| b = !c.structural && j(c, !0) ? "setClass" : c.event, L(a, o); | |
| var h = w(a, b, c.options); | |
| y.setHost(h), d(y, b, "start", {}), h.done(function(c) { | |
| i(!c); | |
| var e = V.get(l); | |
| e && e.counter === _ && I(s(a)), d(y, b, "close", {}) | |
| }) | |
| }), y | |
| } | |
| function H(a) { | |
| var b = s(a), | |
| c = b.querySelectorAll("[" + Ca + "]"); | |
| P(c, function(a) { | |
| var b = parseInt(a.getAttribute(Ca)), | |
| c = V.get(a); | |
| if (c) switch (b) { | |
| case o: | |
| c.runner.end(); | |
| case k: | |
| V.remove(a) | |
| } | |
| }) | |
| } | |
| function I(a) { | |
| var b = s(a); | |
| b.removeAttribute(Ca), V.remove(b) | |
| } | |
| function J(a, b) { | |
| return s(a) === s(b) | |
| } | |
| function K(a, b, c) { | |
| var d, e = O(r[0].body), | |
| f = J(a, e) || "HTML" === a[0].nodeName, | |
| g = J(a, p), | |
| h = !1, | |
| i = Y.get(s(a)), | |
| j = O.data(a[0], Da); | |
| for (j && (b = j), b = s(b); b && (g || (g = J(b, p)), b.nodeType === X);) { | |
| var k = V.get(b) || {}; | |
| if (!h) { | |
| var l = Y.get(b); | |
| if (l === !0 && i !== !1) { | |
| i = !0; | |
| break | |
| } | |
| l === !1 && (i = !1), h = k.structural | |
| } | |
| if (T(d) || d === !0) { | |
| var m = O.data(b, ca); | |
| U(m) && (d = m) | |
| } | |
| if (h && d === !1) break; | |
| if (f || (f = J(b, e)), f && g) break; | |
| b = g || !(j = O.data(b, Da)) ? b.parentNode : s(j) | |
| } | |
| var n = (!h || d) && i !== !0; | |
| return n && g && f | |
| } | |
| function L(a, b, c) { | |
| c = c || {}, c.state = b; | |
| var d = s(a); | |
| d.setAttribute(Ca, b); | |
| var e = V.get(d), | |
| f = e ? N(e, c) : c; | |
| V.put(d, f) | |
| } | |
| var V = new v, | |
| Y = new v, | |
| Z = null, | |
| $ = f.$watch(function() { | |
| return 0 === y.totalPendingRequests | |
| }, function(a) { | |
| a && ($(), f.$$postDigest(function() { | |
| f.$$postDigest(function() { | |
| null === Z && (Z = !0) | |
| }) | |
| })) | |
| }), | |
| _ = {}, | |
| aa = d.classNameFilter(), | |
| ba = aa ? function(a) { | |
| return aa.test(a) | |
| } : function() { | |
| return !0 | |
| }, | |
| da = l(z), | |
| ea = a.Node.prototype.contains || function(a) { | |
| return this === a || !!(16 & this.compareDocumentPosition(a)) | |
| }, | |
| fa = { | |
| on: function(a, b, c) { | |
| var d = i(b); | |
| _[a] = _[a] || [], _[a].push({ | |
| node: d, | |
| callback: c | |
| }), O(b).on("$destroy", function() { | |
| var e = V.get(d); | |
| e || fa.off(a, b, c) | |
| }) | |
| }, | |
| off: function(a, c, d) { | |
| if (1 !== arguments.length || b.isString(arguments[0])) { | |
| var e = _[a]; | |
| e && (_[a] = 1 === arguments.length ? null : E(e, c, d)) | |
| } else { | |
| c = arguments[0]; | |
| for (var f in _) _[f] = E(_[f], c) | |
| } | |
| }, | |
| pin: function(a, b) { | |
| c(W(a), "element", "not an element"), c(W(b), "parentElement", "not an element"), a.data(Da, b) | |
| }, | |
| push: function(a, b, c, d) { | |
| return c = c || {}, c.domOperation = d, G(a, b, c) | |
| }, | |
| enabled: function(a, b) { | |
| var c = arguments.length; | |
| if (0 === c) b = !!Z; | |
| else { | |
| var d = W(a); | |
| if (d) { | |
| var e = s(a), | |
| f = Y.get(e); | |
| 1 === c ? b = !f : Y.put(e, !b) | |
| } else b = Z = !!a | |
| } | |
| return b | |
| } | |
| }; | |
| return fa | |
| }] | |
| }], | |
| Fa = ["$animateProvider", function(a) { | |
| function b(a, b) { | |
| a.data(h, b) | |
| } | |
| function c(a) { | |
| a.removeData(h) | |
| } | |
| function e(a) { | |
| return a.data(h) | |
| } | |
| var f = "ng-animate-ref", | |
| g = this.drivers = [], | |
| h = "$$animationRunner"; | |
| this.$get = ["$$jqLite", "$rootScope", "$injector", "$$AnimateRunner", "$$HashMap", "$$rAFScheduler", function(a, h, i, j, k, o) { | |
| function p(a) { | |
| function b(a) { | |
| if (a.processed) return a; | |
| a.processed = !0; | |
| var c = a.domNode, | |
| d = c.parentNode; | |
| f.put(c, a); | |
| for (var g; d;) { | |
| if (g = f.get(d)) { | |
| g.processed || (g = b(g)); | |
| break | |
| } | |
| d = d.parentNode | |
| } | |
| return (g || e).children.push(a), a | |
| } | |
| function c(a) { | |
| var b, c = [], | |
| d = []; | |
| for (b = 0; b < a.children.length; b++) d.push(a.children[b]); | |
| var e = d.length, | |
| f = 0, | |
| g = []; | |
| for (b = 0; b < d.length; b++) { | |
| var h = d[b]; | |
| e <= 0 && (e = f, f = 0, c.push(g), g = []), g.push(h.fn), h.children.forEach(function(a) { | |
| f++, d.push(a) | |
| }), e-- | |
| } | |
| return g.length && c.push(g), c | |
| } | |
| var d, e = { | |
| children: [] | |
| }, | |
| f = new k; | |
| for (d = 0; d < a.length; d++) { | |
| var g = a[d]; | |
| f.put(g.domNode, a[d] = { | |
| domNode: g.domNode, | |
| fn: g.fn, | |
| children: [] | |
| }) | |
| } | |
| for (d = 0; d < a.length; d++) b(a[d]); | |
| return c(e) | |
| } | |
| var q = [], | |
| r = l(a); | |
| return function(k, l, t) { | |
| function u(a) { | |
| var b = "[" + f + "]", | |
| c = a.hasAttribute(f) ? [a] : a.querySelectorAll(b), | |
| d = []; | |
| return P(c, function(a) { | |
| var b = a.getAttribute(f); | |
| b && b.length && d.push(a) | |
| }), d | |
| } | |
| function v(a) { | |
| var b = [], | |
| c = {}; | |
| P(a, function(a, d) { | |
| var e = a.element, | |
| g = s(e), | |
| h = a.event, | |
| i = ["enter", "move"].indexOf(h) >= 0, | |
| j = a.structural ? u(g) : []; | |
| if (j.length) { | |
| var k = i ? "to" : "from"; | |
| P(j, function(a) { | |
| var b = a.getAttribute(f); | |
| c[b] = c[b] || {}, c[b][k] = { | |
| animationID: d, | |
| element: O(a) | |
| } | |
| }) | |
| } else b.push(a) | |
| }); | |
| var d = {}, | |
| e = {}; | |
| return P(c, function(c, f) { | |
| var g = c.from, | |
| h = c.to; | |
| if (!g || !h) { | |
| var i = g ? g.animationID : h.animationID, | |
| j = i.toString(); | |
| return void(d[j] || (d[j] = !0, b.push(a[i]))) | |
| } | |
| var k = a[g.animationID], | |
| l = a[h.animationID], | |
| m = g.animationID.toString(); | |
| if (!e[m]) { | |
| var n = e[m] = { | |
| structural: !0, | |
| beforeStart: function() { | |
| k.beforeStart(), l.beforeStart() | |
| }, | |
| close: function() { | |
| k.close(), l.close() | |
| }, | |
| classes: w(k.classes, l.classes), | |
| from: k, | |
| to: l, | |
| anchors: [] | |
| }; | |
| n.classes.length ? b.push(n) : (b.push(k), b.push(l)) | |
| } | |
| e[m].anchors.push({ | |
| out: g.element, | |
| in: h.element | |
| }) | |
| }), b | |
| } | |
| function w(a, b) { | |
| a = a.split(" "), b = b.split(" "); | |
| for (var c = [], d = 0; d < a.length; d++) { | |
| var e = a[d]; | |
| if ("ng-" !== e.substring(0, 3)) | |
| for (var f = 0; f < b.length; f++) | |
| if (e === b[f]) { | |
| c.push(e); | |
| break | |
| } | |
| } | |
| return c.join(" ") | |
| } | |
| function x(a) { | |
| for (var b = g.length - 1; b >= 0; b--) { | |
| var c = g[b], | |
| d = i.get(c), | |
| e = d(a); | |
| if (e) return e | |
| } | |
| } | |
| function y() { | |
| k.addClass(ba), F && a.addClass(k, F), G && (a.removeClass(k, G), G = null) | |
| } | |
| function z(a, b) { | |
| function c(a) { | |
| var c = e(a); | |
| c && c.setHost(b) | |
| } | |
| a.from && a.to ? (c(a.from.element), c(a.to.element)) : c(a.element) | |
| } | |
| function A() { | |
| var a = e(k); | |
| !a || "leave" === l && t.$$domOperationFired || a.end() | |
| } | |
| function B(b) { | |
| k.off("$destroy", A), c(k), r(k, t), n(k, t), t.domOperation(), F && a.removeClass(k, F), k.removeClass(ba), D.complete(!b) | |
| } | |
| t = m(t); | |
| var C = ["enter", "move", "leave"].indexOf(l) >= 0, | |
| D = new j({ | |
| end: function() { | |
| B() | |
| }, | |
| cancel: function() { | |
| B(!0) | |
| } | |
| }); | |
| if (!g.length) return B(), D; | |
| b(k, D); | |
| var E = d(k.attr("class"), d(t.addClass, t.removeClass)), | |
| F = t.tempClasses; | |
| F && (E += " " + F, t.tempClasses = null); | |
| var G; | |
| return C && (G = "ng-" + l + aa, a.addClass(k, G)), q.push({ | |
| element: k, | |
| classes: E, | |
| event: l, | |
| structural: C, | |
| options: t, | |
| beforeStart: y, | |
| close: B | |
| }), k.on("$destroy", A), q.length > 1 ? D : (h.$$postDigest(function() { | |
| var a = []; | |
| P(q, function(b) { | |
| e(b.element) ? a.push(b) : b.close() | |
| }), q.length = 0; | |
| var b = v(a), | |
| c = []; | |
| P(b, function(a) { | |
| c.push({ | |
| domNode: s(a.from ? a.from.element : a.element), | |
| fn: function() { | |
| a.beforeStart(); | |
| var b, c = a.close, | |
| d = a.anchors ? a.from.element || a.to.element : a.element; | |
| if (e(d)) { | |
| var f = x(a); | |
| f && (b = f.start) | |
| } | |
| if (b) { | |
| var g = b(); | |
| g.done(function(a) { | |
| c(!a) | |
| }), z(a, g) | |
| } else c() | |
| } | |
| }) | |
| }), o(p(c)) | |
| }), D) | |
| } | |
| }] | |
| }], | |
| Ga = ["$animate", "$rootScope", function(a, b) { | |
| return { | |
| restrict: "A", | |
| transclude: "element", | |
| terminal: !0, | |
| priority: 600, | |
| link: function(b, c, d, e, f) { | |
| var g, h; | |
| b.$watchCollection(d.ngAnimateSwap || d.for, function(d) { | |
| g && a.leave(g), h && (h.$destroy(), h = null), (d || 0 === d) && (h = b.$new(), f(h, function(b) { | |
| g = b, a.enter(b, null, c) | |
| })) | |
| }) | |
| } | |
| } | |
| }]; | |
| b.module("ngAnimate", []).directive("ngAnimateSwap", Ga).directive("ngAnimateChildren", ra).factory("$$rAFScheduler", qa).provider("$$animateQueue", Ea).provider("$$animation", Fa).provider("$animateCss", ya).provider("$$animateCssDriver", za).provider("$$animateJs", Aa).provider("$$animateJsDriver", Ba) | |
| }(window, window.angular), | |
| function(a, b) { | |
| "use strict"; | |
| function c() { | |
| function a(a, b, d, e) { | |
| return function(g, h, i) { | |
| var j = i.$normalize(b); | |
| !c[j] || f(h, d) || i[j] || g.$watch(i[a], function(a) { | |
| a = e ? !a : !!a, h.attr(b, a) | |
| }) | |
| } | |
| } | |
| var c = { | |
| ariaHidden: !0, | |
| ariaChecked: !0, | |
| ariaReadonly: !0, | |
| ariaDisabled: !0, | |
| ariaRequired: !0, | |
| ariaInvalid: !0, | |
| ariaValue: !0, | |
| tabindex: !0, | |
| bindKeypress: !0, | |
| bindRoleForClick: !0 | |
| }; | |
| this.config = function(a) { | |
| c = b.extend(c, a) | |
| }, this.$get = function() { | |
| return { | |
| config: function(a) { | |
| return c[a] | |
| }, | |
| $$watchExpr: a | |
| } | |
| } | |
| } | |
| var d = b.module("ngAria", ["ng"]).provider("$aria", c), | |
| e = ["BUTTON", "A", "INPUT", "TEXTAREA", "SELECT", "DETAILS", "SUMMARY"], | |
| f = function(a, b) { | |
| if (b.indexOf(a[0].nodeName) !== -1) return !0 | |
| }; | |
| d.directive("ngShow", ["$aria", function(a) { | |
| return a.$$watchExpr("ngShow", "aria-hidden", [], !0) | |
| }]).directive("ngHide", ["$aria", function(a) { | |
| return a.$$watchExpr("ngHide", "aria-hidden", [], !1) | |
| }]).directive("ngValue", ["$aria", function(a) { | |
| return a.$$watchExpr("ngValue", "aria-checked", e, !1) | |
| }]).directive("ngChecked", ["$aria", function(a) { | |
| return a.$$watchExpr("ngChecked", "aria-checked", e, !1) | |
| }]).directive("ngReadonly", ["$aria", function(a) { | |
| return a.$$watchExpr("ngReadonly", "aria-readonly", e, !1) | |
| }]).directive("ngRequired", ["$aria", function(a) { | |
| return a.$$watchExpr("ngRequired", "aria-required", e, !1) | |
| }]).directive("ngModel", ["$aria", function(a) { | |
| function b(b, c, d, g) { | |
| return a.config(c) && !d.attr(b) && (g || !f(d, e)) | |
| } | |
| function c(a, b) { | |
| return !b.attr("role") && b.attr("type") === a && "INPUT" !== b[0].nodeName | |
| } | |
| function d(a, b) { | |
| var c = a.type, | |
| d = a.role; | |
| return "checkbox" === (c || d) || "menuitemcheckbox" === d ? "checkbox" : "radio" === (c || d) || "menuitemradio" === d ? "radio" : "range" === c || "progressbar" === d || "slider" === d ? "range" : "" | |
| } | |
| return { | |
| restrict: "A", | |
| require: "ngModel", | |
| priority: 200, | |
| compile: function(e, f) { | |
| var g = d(f, e); | |
| return { | |
| pre: function(a, b, c, d) { | |
| "checkbox" === g && (d.$isEmpty = function(a) { | |
| return a === !1 | |
| }) | |
| }, | |
| post: function(d, e, f, h) { | |
| function i() { | |
| return h.$modelValue | |
| } | |
| function j(a) { | |
| var b = f.value == h.$viewValue; | |
| e.attr("aria-checked", b) | |
| } | |
| function k() { | |
| e.attr("aria-checked", !h.$isEmpty(h.$viewValue)) | |
| } | |
| var l = b("tabindex", "tabindex", e, !1); | |
| switch (g) { | |
| case "radio": | |
| case "checkbox": | |
| c(g, e) && e.attr("role", g), b("aria-checked", "ariaChecked", e, !1) && d.$watch(i, "radio" === g ? j : k), l && e.attr("tabindex", 0); | |
| break; | |
| case "range": | |
| if (c(g, e) && e.attr("role", "slider"), a.config("ariaValue")) { | |
| var m = !e.attr("aria-valuemin") && (f.hasOwnProperty("min") || f.hasOwnProperty("ngMin")), | |
| n = !e.attr("aria-valuemax") && (f.hasOwnProperty("max") || f.hasOwnProperty("ngMax")), | |
| o = !e.attr("aria-valuenow"); | |
| m && f.$observe("min", function(a) { | |
| e.attr("aria-valuemin", a) | |
| }), n && f.$observe("max", function(a) { | |
| e.attr("aria-valuemax", a) | |
| }), o && d.$watch(i, function(a) { | |
| e.attr("aria-valuenow", a) | |
| }) | |
| } | |
| l && e.attr("tabindex", 0) | |
| }!f.hasOwnProperty("ngRequired") && h.$validators.required && b("aria-required", "ariaRequired", e, !1) && f.$observe("required", function() { | |
| e.attr("aria-required", !!f.required) | |
| }), b("aria-invalid", "ariaInvalid", e, !0) && d.$watch(function() { | |
| return h.$invalid | |
| }, function(a) { | |
| e.attr("aria-invalid", !!a) | |
| }) | |
| } | |
| } | |
| } | |
| } | |
| }]).directive("ngDisabled", ["$aria", function(a) { | |
| return a.$$watchExpr("ngDisabled", "aria-disabled", e, !1) | |
| }]).directive("ngMessages", function() { | |
| return { | |
| restrict: "A", | |
| require: "?ngMessages", | |
| link: function(a, b, c, d) { | |
| b.attr("aria-live") || b.attr("aria-live", "assertive") | |
| } | |
| } | |
| }).directive("ngClick", ["$aria", "$parse", function(a, b) { | |
| return { | |
| restrict: "A", | |
| compile: function(c, d) { | |
| var g = b(d.ngClick, null, !0); | |
| return function(b, c, d) { | |
| f(c, e) || (a.config("bindRoleForClick") && !c.attr("role") && c.attr("role", "button"), a.config("tabindex") && !c.attr("tabindex") && c.attr("tabindex", 0), a.config("bindKeypress") && !d.ngKeypress && c.on("keypress", function(a) { | |
| function c() { | |
| g(b, { | |
| $event: a | |
| }) | |
| } | |
| var d = a.which || a.keyCode; | |
| 32 !== d && 13 !== d || b.$apply(c) | |
| })) | |
| } | |
| } | |
| } | |
| }]).directive("ngDblclick", ["$aria", function(a) { | |
| return function(b, c, d) { | |
| !a.config("tabindex") || c.attr("tabindex") || f(c, e) || c.attr("tabindex", 0) | |
| } | |
| }]) | |
| }(window, window.angular), ! function(a, b, c, d) { | |
| "use strict"; | |
| function e(a, b, c) { | |
| return setTimeout(j(a, c), b) | |
| } | |
| function f(a, b, c) { | |
| return !!Array.isArray(a) && (g(a, c[b], c), !0) | |
| } | |
| function g(a, b, c) { | |
| var e; | |
| if (a) | |
| if (a.forEach) a.forEach(b, c); | |
| else if (a.length !== d) | |
| for (e = 0; e < a.length;) b.call(c, a[e], e, a), e++; | |
| else | |
| for (e in a) a.hasOwnProperty(e) && b.call(c, a[e], e, a) | |
| } | |
| function h(b, c, d) { | |
| var e = "DEPRECATED METHOD: " + c + "\n" + d + " AT \n"; | |
| return function() { | |
| var c = new Error("get-stack-trace"), | |
| d = c && c.stack ? c.stack.replace(/^[^\(]+?[\n$]/gm, "").replace(/^\s+at\s+/gm, "").replace(/^Object.<anonymous>\s*\(/gm, "{anonymous}()@") : "Unknown Stack Trace", | |
| f = a.console && (a.console.warn || a.console.log); | |
| return f && f.call(a.console, e, d), b.apply(this, arguments) | |
| } | |
| } | |
| function i(a, b, c) { | |
| var d, e = b.prototype; | |
| d = a.prototype = Object.create(e), d.constructor = a, d._super = e, c && la(d, c) | |
| } | |
| function j(a, b) { | |
| return function() { | |
| return a.apply(b, arguments) | |
| } | |
| } | |
| function k(a, b) { | |
| return typeof a == oa ? a.apply(b ? b[0] || d : d, b) : a | |
| } | |
| function l(a, b) { | |
| return a === d ? b : a | |
| } | |
| function m(a, b, c) { | |
| g(q(b), function(b) { | |
| a.addEventListener(b, c, !1) | |
| }) | |
| } | |
| function n(a, b, c) { | |
| g(q(b), function(b) { | |
| a.removeEventListener(b, c, !1) | |
| }) | |
| } | |
| function o(a, b) { | |
| for (; a;) { | |
| if (a == b) return !0; | |
| a = a.parentNode | |
| } | |
| return !1 | |
| } | |
| function p(a, b) { | |
| return a.indexOf(b) > -1 | |
| } | |
| function q(a) { | |
| return a.trim().split(/\s+/g) | |
| } | |
| function r(a, b, c) { | |
| if (a.indexOf && !c) return a.indexOf(b); | |
| for (var d = 0; d < a.length;) { | |
| if (c && a[d][c] == b || !c && a[d] === b) return d; | |
| d++ | |
| } | |
| return -1 | |
| } | |
| function s(a) { | |
| return Array.prototype.slice.call(a, 0) | |
| } | |
| function t(a, b, c) { | |
| for (var d = [], e = [], f = 0; f < a.length;) { | |
| var g = b ? a[f][b] : a[f]; | |
| r(e, g) < 0 && d.push(a[f]), e[f] = g, f++ | |
| } | |
| return c && (d = b ? d.sort(function(a, c) { | |
| return a[b] > c[b] | |
| }) : d.sort()), d | |
| } | |
| function u(a, b) { | |
| for (var c, e, f = b[0].toUpperCase() + b.slice(1), g = 0; g < ma.length;) { | |
| if (c = ma[g], e = c ? c + f : b, e in a) return e; | |
| g++ | |
| } | |
| return d | |
| } | |
| function v() { | |
| return ua++ | |
| } | |
| function w(b) { | |
| var c = b.ownerDocument || b; | |
| return c.defaultView || c.parentWindow || a | |
| } | |
| function x(a, b) { | |
| var c = this; | |
| this.manager = a, this.callback = b, this.element = a.element, this.target = a.options.inputTarget, this.domHandler = function(b) { | |
| k(a.options.enable, [a]) && c.handler(b) | |
| }, this.init() | |
| } | |
| function y(a) { | |
| var b, c = a.options.inputClass; | |
| return new(b = c ? c : xa ? M : ya ? P : wa ? R : L)(a, z) | |
| } | |
| function z(a, b, c) { | |
| var d = c.pointers.length, | |
| e = c.changedPointers.length, | |
| f = b & Ea && d - e === 0, | |
| g = b & (Ga | Ha) && d - e === 0; | |
| c.isFirst = !!f, c.isFinal = !!g, f && (a.session = {}), c.eventType = b, A(a, c), a.emit("hammer.input", c), a.recognize(c), a.session.prevInput = c | |
| } | |
| function A(a, b) { | |
| var c = a.session, | |
| d = b.pointers, | |
| e = d.length; | |
| c.firstInput || (c.firstInput = D(b)), e > 1 && !c.firstMultiple ? c.firstMultiple = D(b) : 1 === e && (c.firstMultiple = !1); | |
| var f = c.firstInput, | |
| g = c.firstMultiple, | |
| h = g ? g.center : f.center, | |
| i = b.center = E(d); | |
| b.timeStamp = ra(), b.deltaTime = b.timeStamp - f.timeStamp, b.angle = I(h, i), b.distance = H(h, i), B(c, b), b.offsetDirection = G(b.deltaX, b.deltaY); | |
| var j = F(b.deltaTime, b.deltaX, b.deltaY); | |
| b.overallVelocityX = j.x, b.overallVelocityY = j.y, b.overallVelocity = qa(j.x) > qa(j.y) ? j.x : j.y, b.scale = g ? K(g.pointers, d) : 1, b.rotation = g ? J(g.pointers, d) : 0, b.maxPointers = c.prevInput ? b.pointers.length > c.prevInput.maxPointers ? b.pointers.length : c.prevInput.maxPointers : b.pointers.length, C(c, b); | |
| var k = a.element; | |
| o(b.srcEvent.target, k) && (k = b.srcEvent.target), b.target = k | |
| } | |
| function B(a, b) { | |
| var c = b.center, | |
| d = a.offsetDelta || {}, | |
| e = a.prevDelta || {}, | |
| f = a.prevInput || {}; | |
| b.eventType !== Ea && f.eventType !== Ga || (e = a.prevDelta = { | |
| x: f.deltaX || 0, | |
| y: f.deltaY || 0 | |
| }, d = a.offsetDelta = { | |
| x: c.x, | |
| y: c.y | |
| }), b.deltaX = e.x + (c.x - d.x), b.deltaY = e.y + (c.y - d.y) | |
| } | |
| function C(a, b) { | |
| var c, e, f, g, h = a.lastInterval || b, | |
| i = b.timeStamp - h.timeStamp; | |
| if (b.eventType != Ha && (i > Da || h.velocity === d)) { | |
| var j = b.deltaX - h.deltaX, | |
| k = b.deltaY - h.deltaY, | |
| l = F(i, j, k); | |
| e = l.x, f = l.y, c = qa(l.x) > qa(l.y) ? l.x : l.y, g = G(j, k), a.lastInterval = b | |
| } else c = h.velocity, e = h.velocityX, f = h.velocityY, g = h.direction; | |
| b.velocity = c, b.velocityX = e, b.velocityY = f, b.direction = g | |
| } | |
| function D(a) { | |
| for (var b = [], c = 0; c < a.pointers.length;) b[c] = { | |
| clientX: pa(a.pointers[c].clientX), | |
| clientY: pa(a.pointers[c].clientY) | |
| }, c++; | |
| return { | |
| timeStamp: ra(), | |
| pointers: b, | |
| center: E(b), | |
| deltaX: a.deltaX, | |
| deltaY: a.deltaY | |
| } | |
| } | |
| function E(a) { | |
| var b = a.length; | |
| if (1 === b) return { | |
| x: pa(a[0].clientX), | |
| y: pa(a[0].clientY) | |
| }; | |
| for (var c = 0, d = 0, e = 0; b > e;) c += a[e].clientX, d += a[e].clientY, e++; | |
| return { | |
| x: pa(c / b), | |
| y: pa(d / b) | |
| } | |
| } | |
| function F(a, b, c) { | |
| return { | |
| x: b / a || 0, | |
| y: c / a || 0 | |
| } | |
| } | |
| function G(a, b) { | |
| return a === b ? Ia : qa(a) >= qa(b) ? 0 > a ? Ja : Ka : 0 > b ? La : Ma | |
| } | |
| function H(a, b, c) { | |
| c || (c = Qa); | |
| var d = b[c[0]] - a[c[0]], | |
| e = b[c[1]] - a[c[1]]; | |
| return Math.sqrt(d * d + e * e) | |
| } | |
| function I(a, b, c) { | |
| c || (c = Qa); | |
| var d = b[c[0]] - a[c[0]], | |
| e = b[c[1]] - a[c[1]]; | |
| return 180 * Math.atan2(e, d) / Math.PI | |
| } | |
| function J(a, b) { | |
| return I(b[1], b[0], Ra) + I(a[1], a[0], Ra) | |
| } | |
| function K(a, b) { | |
| return H(b[0], b[1], Ra) / H(a[0], a[1], Ra) | |
| } | |
| function L() { | |
| this.evEl = Ta, this.evWin = Ua, this.pressed = !1, x.apply(this, arguments) | |
| } | |
| function M() { | |
| this.evEl = Xa, this.evWin = Ya, x.apply(this, arguments), this.store = this.manager.session.pointerEvents = [] | |
| } | |
| function N() { | |
| this.evTarget = $a, this.evWin = _a, this.started = !1, x.apply(this, arguments) | |
| } | |
| function O(a, b) { | |
| var c = s(a.touches), | |
| d = s(a.changedTouches); | |
| return b & (Ga | Ha) && (c = t(c.concat(d), "identifier", !0)), [c, d] | |
| } | |
| function P() { | |
| this.evTarget = bb, this.targetIds = {}, x.apply(this, arguments) | |
| } | |
| function Q(a, b) { | |
| var c = s(a.touches), | |
| d = this.targetIds; | |
| if (b & (Ea | Fa) && 1 === c.length) return d[c[0].identifier] = !0, [c, c]; | |
| var e, f, g = s(a.changedTouches), | |
| h = [], | |
| i = this.target; | |
| if (f = c.filter(function(a) { | |
| return o(a.target, i) | |
| }), b === Ea) | |
| for (e = 0; e < f.length;) d[f[e].identifier] = !0, e++; | |
| for (e = 0; e < g.length;) d[g[e].identifier] && h.push(g[e]), b & (Ga | Ha) && delete d[g[e].identifier], e++; | |
| return h.length ? [t(f.concat(h), "identifier", !0), h] : void 0 | |
| } | |
| function R() { | |
| x.apply(this, arguments); | |
| var a = j(this.handler, this); | |
| this.touch = new P(this.manager, a), this.mouse = new L(this.manager, a), this.primaryTouch = null, this.lastTouches = [] | |
| } | |
| function S(a, b) { | |
| a & Ea ? (this.primaryTouch = b.changedPointers[0].identifier, T.call(this, b)) : a & (Ga | Ha) && T.call(this, b) | |
| } | |
| function T(a) { | |
| var b = a.changedPointers[0]; | |
| if (b.identifier === this.primaryTouch) { | |
| var c = { | |
| x: b.clientX, | |
| y: b.clientY | |
| }; | |
| this.lastTouches.push(c); | |
| var d = this.lastTouches, | |
| e = function() { | |
| var a = d.indexOf(c); | |
| a > -1 && d.splice(a, 1) | |
| }; | |
| setTimeout(e, cb) | |
| } | |
| } | |
| function U(a) { | |
| for (var b = a.srcEvent.clientX, c = a.srcEvent.clientY, d = 0; d < this.lastTouches.length; d++) { | |
| var e = this.lastTouches[d], | |
| f = Math.abs(b - e.x), | |
| g = Math.abs(c - e.y); | |
| if (db >= f && db >= g) return !0 | |
| } | |
| return !1 | |
| } | |
| function V(a, b) { | |
| this.manager = a, this.set(b) | |
| } | |
| function W(a) { | |
| if (p(a, jb)) return jb; | |
| var b = p(a, kb), | |
| c = p(a, lb); | |
| return b && c ? jb : b || c ? b ? kb : lb : p(a, ib) ? ib : hb | |
| } | |
| function X() { | |
| if (!fb) return !1; | |
| var b = {}, | |
| c = a.CSS && a.CSS.supports; | |
| return ["auto", "manipulation", "pan-y", "pan-x", "pan-x pan-y", "none"].forEach(function(d) { | |
| b[d] = !c || a.CSS.supports("touch-action", d) | |
| }), b | |
| } | |
| function Y(a) { | |
| this.options = la({}, this.defaults, a || {}), this.id = v(), this.manager = null, this.options.enable = l(this.options.enable, !0), this.state = nb, this.simultaneous = {}, this.requireFail = [] | |
| } | |
| function Z(a) { | |
| return a & sb ? "cancel" : a & qb ? "end" : a & pb ? "move" : a & ob ? "start" : "" | |
| } | |
| function $(a) { | |
| return a == Ma ? "down" : a == La ? "up" : a == Ja ? "left" : a == Ka ? "right" : "" | |
| } | |
| function _(a, b) { | |
| var c = b.manager; | |
| return c ? c.get(a) : a | |
| } | |
| function aa() { | |
| Y.apply(this, arguments) | |
| } | |
| function ba() { | |
| aa.apply(this, arguments), this.pX = null, this.pY = null | |
| } | |
| function ca() { | |
| aa.apply(this, arguments) | |
| } | |
| function da() { | |
| Y.apply(this, arguments), this._timer = null, this._input = null | |
| } | |
| function ea() { | |
| aa.apply(this, arguments) | |
| } | |
| function fa() { | |
| aa.apply(this, arguments) | |
| } | |
| function ga() { | |
| Y.apply(this, arguments), this.pTime = !1, this.pCenter = !1, this._timer = null, this._input = null, this.count = 0 | |
| } | |
| function ha(a, b) { | |
| return b = b || {}, b.recognizers = l(b.recognizers, ha.defaults.preset), new ia(a, b) | |
| } | |
| function ia(a, b) { | |
| this.options = la({}, ha.defaults, b || {}), this.options.inputTarget = this.options.inputTarget || a, this.handlers = {}, this.session = {}, this.recognizers = [], this.oldCssProps = {}, this.element = a, this.input = y(this), this.touchAction = new V(this, this.options.touchAction), ja(this, !0), g(this.options.recognizers, function(a) { | |
| var b = this.add(new a[0](a[1])); | |
| a[2] && b.recognizeWith(a[2]), a[3] && b.requireFailure(a[3]) | |
| }, this) | |
| } | |
| function ja(a, b) { | |
| var c = a.element; | |
| if (c.style) { | |
| var d; | |
| g(a.options.cssProps, function(e, f) { | |
| d = u(c.style, f), b ? (a.oldCssProps[d] = c.style[d], c.style[d] = e) : c.style[d] = a.oldCssProps[d] || "" | |
| }), b || (a.oldCssProps = {}) | |
| } | |
| } | |
| function ka(a, c) { | |
| var d = b.createEvent("Event"); | |
| d.initEvent(a, !0, !0), d.gesture = c, c.target.dispatchEvent(d) | |
| } | |
| var la, ma = ["", "webkit", "Moz", "MS", "ms", "o"], | |
| na = b.createElement("div"), | |
| oa = "function", | |
| pa = Math.round, | |
| qa = Math.abs, | |
| ra = Date.now; | |
| la = "function" != typeof Object.assign ? function(a) { | |
| if (a === d || null === a) throw new TypeError("Cannot convert undefined or null to object"); | |
| for (var b = Object(a), c = 1; c < arguments.length; c++) { | |
| var e = arguments[c]; | |
| if (e !== d && null !== e) | |
| for (var f in e) e.hasOwnProperty(f) && (b[f] = e[f]) | |
| } | |
| return b | |
| } : Object.assign; | |
| var sa = h(function(a, b, c) { | |
| for (var e = Object.keys(b), f = 0; f < e.length;)(!c || c && a[e[f]] === d) && (a[e[f]] = b[e[f]]), f++; | |
| return a | |
| }, "extend", "Use `assign`."), | |
| ta = h(function(a, b) { | |
| return sa(a, b, !0) | |
| }, "merge", "Use `assign`."), | |
| ua = 1, | |
| va = /mobile|tablet|ip(ad|hone|od)|android/i, | |
| wa = "ontouchstart" in a, | |
| xa = u(a, "PointerEvent") !== d, | |
| ya = wa && va.test(navigator.userAgent), | |
| za = "touch", | |
| Aa = "pen", | |
| Ba = "mouse", | |
| Ca = "kinect", | |
| Da = 25, | |
| Ea = 1, | |
| Fa = 2, | |
| Ga = 4, | |
| Ha = 8, | |
| Ia = 1, | |
| Ja = 2, | |
| Ka = 4, | |
| La = 8, | |
| Ma = 16, | |
| Na = Ja | Ka, | |
| Oa = La | Ma, | |
| Pa = Na | Oa, | |
| Qa = ["x", "y"], | |
| Ra = ["clientX", "clientY"]; | |
| x.prototype = { | |
| handler: function() {}, | |
| init: function() { | |
| this.evEl && m(this.element, this.evEl, this.domHandler), this.evTarget && m(this.target, this.evTarget, this.domHandler), this.evWin && m(w(this.element), this.evWin, this.domHandler) | |
| }, | |
| destroy: function() { | |
| this.evEl && n(this.element, this.evEl, this.domHandler), this.evTarget && n(this.target, this.evTarget, this.domHandler), this.evWin && n(w(this.element), this.evWin, this.domHandler) | |
| } | |
| }; | |
| var Sa = { | |
| mousedown: Ea, | |
| mousemove: Fa, | |
| mouseup: Ga | |
| }, | |
| Ta = "mousedown", | |
| Ua = "mousemove mouseup"; | |
| i(L, x, { | |
| handler: function(a) { | |
| var b = Sa[a.type]; | |
| b & Ea && 0 === a.button && (this.pressed = !0), b & Fa && 1 !== a.which && (b = Ga), this.pressed && (b & Ga && (this.pressed = !1), this.callback(this.manager, b, { | |
| pointers: [a], | |
| changedPointers: [a], | |
| pointerType: Ba, | |
| srcEvent: a | |
| })) | |
| } | |
| }); | |
| var Va = { | |
| pointerdown: Ea, | |
| pointermove: Fa, | |
| pointerup: Ga, | |
| pointercancel: Ha, | |
| pointerout: Ha | |
| }, | |
| Wa = { | |
| 2: za, | |
| 3: Aa, | |
| 4: Ba, | |
| 5: Ca | |
| }, | |
| Xa = "pointerdown", | |
| Ya = "pointermove pointerup pointercancel"; | |
| a.MSPointerEvent && !a.PointerEvent && (Xa = "MSPointerDown", Ya = "MSPointerMove MSPointerUp MSPointerCancel"), i(M, x, { | |
| handler: function(a) { | |
| var b = this.store, | |
| c = !1, | |
| d = a.type.toLowerCase().replace("ms", ""), | |
| e = Va[d], | |
| f = Wa[a.pointerType] || a.pointerType, | |
| g = f == za, | |
| h = r(b, a.pointerId, "pointerId"); | |
| e & Ea && (0 === a.button || g) ? 0 > h && (b.push(a), h = b.length - 1) : e & (Ga | Ha) && (c = !0), 0 > h || (b[h] = a, this.callback(this.manager, e, { | |
| pointers: b, | |
| changedPointers: [a], | |
| pointerType: f, | |
| srcEvent: a | |
| }), c && b.splice(h, 1)) | |
| } | |
| }); | |
| var Za = { | |
| touchstart: Ea, | |
| touchmove: Fa, | |
| touchend: Ga, | |
| touchcancel: Ha | |
| }, | |
| $a = "touchstart", | |
| _a = "touchstart touchmove touchend touchcancel"; | |
| i(N, x, { | |
| handler: function(a) { | |
| var b = Za[a.type]; | |
| if (b === Ea && (this.started = !0), this.started) { | |
| var c = O.call(this, a, b); | |
| b & (Ga | Ha) && c[0].length - c[1].length === 0 && (this.started = !1), this.callback(this.manager, b, { | |
| pointers: c[0], | |
| changedPointers: c[1], | |
| pointerType: za, | |
| srcEvent: a | |
| }) | |
| } | |
| } | |
| }); | |
| var ab = { | |
| touchstart: Ea, | |
| touchmove: Fa, | |
| touchend: Ga, | |
| touchcancel: Ha | |
| }, | |
| bb = "touchstart touchmove touchend touchcancel"; | |
| i(P, x, { | |
| handler: function(a) { | |
| var b = ab[a.type], | |
| c = Q.call(this, a, b); | |
| c && this.callback(this.manager, b, { | |
| pointers: c[0], | |
| changedPointers: c[1], | |
| pointerType: za, | |
| srcEvent: a | |
| }) | |
| } | |
| }); | |
| var cb = 2500, | |
| db = 25; | |
| i(R, x, { | |
| handler: function(a, b, c) { | |
| var d = c.pointerType == za, | |
| e = c.pointerType == Ba; | |
| if (!(e && c.sourceCapabilities && c.sourceCapabilities.firesTouchEvents)) { | |
| if (d) S.call(this, b, c); | |
| else if (e && U.call(this, c)) return; | |
| this.callback(a, b, c) | |
| } | |
| }, | |
| destroy: function() { | |
| this.touch.destroy(), this.mouse.destroy() | |
| } | |
| }); | |
| var eb = u(na.style, "touchAction"), | |
| fb = eb !== d, | |
| gb = "compute", | |
| hb = "auto", | |
| ib = "manipulation", | |
| jb = "none", | |
| kb = "pan-x", | |
| lb = "pan-y", | |
| mb = X(); | |
| V.prototype = { | |
| set: function(a) { | |
| a == gb && (a = this.compute()), fb && this.manager.element.style && mb[a] && (this.manager.element.style[eb] = a), this.actions = a.toLowerCase().trim() | |
| }, | |
| update: function() { | |
| this.set(this.manager.options.touchAction) | |
| }, | |
| compute: function() { | |
| var a = []; | |
| return g(this.manager.recognizers, function(b) { | |
| k(b.options.enable, [b]) && (a = a.concat(b.getTouchAction())) | |
| }), W(a.join(" ")) | |
| }, | |
| preventDefaults: function(a) { | |
| var b = a.srcEvent, | |
| c = a.offsetDirection; | |
| if (this.manager.session.prevented) return void b.preventDefault(); | |
| var d = this.actions, | |
| e = p(d, jb) && !mb[jb], | |
| f = p(d, lb) && !mb[lb], | |
| g = p(d, kb) && !mb[kb]; | |
| if (e) { | |
| var h = 1 === a.pointers.length, | |
| i = a.distance < 2, | |
| j = a.deltaTime < 250; | |
| if (h && i && j) return | |
| } | |
| return g && f ? void 0 : e || f && c & Na || g && c & Oa ? this.preventSrc(b) : void 0 | |
| }, | |
| preventSrc: function(a) { | |
| this.manager.session.prevented = !0, a.preventDefault() | |
| } | |
| }; | |
| var nb = 1, | |
| ob = 2, | |
| pb = 4, | |
| qb = 8, | |
| rb = qb, | |
| sb = 16, | |
| tb = 32; | |
| Y.prototype = { | |
| defaults: {}, | |
| set: function(a) { | |
| return la(this.options, a), this.manager && this.manager.touchAction.update(), this | |
| }, | |
| recognizeWith: function(a) { | |
| if (f(a, "recognizeWith", this)) return this; | |
| var b = this.simultaneous; | |
| return a = _(a, this), b[a.id] || (b[a.id] = a, a.recognizeWith(this)), this | |
| }, | |
| dropRecognizeWith: function(a) { | |
| return f(a, "dropRecognizeWith", this) ? this : (a = _(a, this), delete this.simultaneous[a.id], this) | |
| }, | |
| requireFailure: function(a) { | |
| if (f(a, "requireFailure", this)) return this; | |
| var b = this.requireFail; | |
| return a = _(a, this), -1 === r(b, a) && (b.push(a), a.requireFailure(this)), this | |
| }, | |
| dropRequireFailure: function(a) { | |
| if (f(a, "dropRequireFailure", this)) return this; | |
| a = _(a, this); | |
| var b = r(this.requireFail, a); | |
| return b > -1 && this.requireFail.splice(b, 1), this | |
| }, | |
| hasRequireFailures: function() { | |
| return this.requireFail.length > 0 | |
| }, | |
| canRecognizeWith: function(a) { | |
| return !!this.simultaneous[a.id] | |
| }, | |
| emit: function(a) { | |
| function b(b) { | |
| c.manager.emit(b, a) | |
| } | |
| var c = this, | |
| d = this.state; | |
| qb > d && b(c.options.event + Z(d)), b(c.options.event), a.additionalEvent && b(a.additionalEvent), d >= qb && b(c.options.event + Z(d)) | |
| }, | |
| tryEmit: function(a) { | |
| return this.canEmit() ? this.emit(a) : void(this.state = tb) | |
| }, | |
| canEmit: function() { | |
| for (var a = 0; a < this.requireFail.length;) { | |
| if (!(this.requireFail[a].state & (tb | nb))) return !1; | |
| a++ | |
| } | |
| return !0 | |
| }, | |
| recognize: function(a) { | |
| var b = la({}, a); | |
| return k(this.options.enable, [this, b]) ? (this.state & (rb | sb | tb) && (this.state = nb), this.state = this.process(b), void(this.state & (ob | pb | qb | sb) && this.tryEmit(b))) : (this.reset(), void(this.state = tb)) | |
| }, | |
| process: function(a) {}, | |
| getTouchAction: function() {}, | |
| reset: function() {} | |
| }, i(aa, Y, { | |
| defaults: { | |
| pointers: 1 | |
| }, | |
| attrTest: function(a) { | |
| var b = this.options.pointers; | |
| return 0 === b || a.pointers.length === b | |
| }, | |
| process: function(a) { | |
| var b = this.state, | |
| c = a.eventType, | |
| d = b & (ob | pb), | |
| e = this.attrTest(a); | |
| return d && (c & Ha || !e) ? b | sb : d || e ? c & Ga ? b | qb : b & ob ? b | pb : ob : tb | |
| } | |
| }), i(ba, aa, { | |
| defaults: { | |
| event: "pan", | |
| threshold: 10, | |
| pointers: 1, | |
| direction: Pa | |
| }, | |
| getTouchAction: function() { | |
| var a = this.options.direction, | |
| b = []; | |
| return a & Na && b.push(lb), a & Oa && b.push(kb), b | |
| }, | |
| directionTest: function(a) { | |
| var b = this.options, | |
| c = !0, | |
| d = a.distance, | |
| e = a.direction, | |
| f = a.deltaX, | |
| g = a.deltaY; | |
| return e & b.direction || (b.direction & Na ? (e = 0 === f ? Ia : 0 > f ? Ja : Ka, c = f != this.pX, d = Math.abs(a.deltaX)) : (e = 0 === g ? Ia : 0 > g ? La : Ma, c = g != this.pY, d = Math.abs(a.deltaY))), a.direction = e, c && d > b.threshold && e & b.direction | |
| }, | |
| attrTest: function(a) { | |
| return aa.prototype.attrTest.call(this, a) && (this.state & ob || !(this.state & ob) && this.directionTest(a)) | |
| }, | |
| emit: function(a) { | |
| this.pX = a.deltaX, this.pY = a.deltaY; | |
| var b = $(a.direction); | |
| b && (a.additionalEvent = this.options.event + b), this._super.emit.call(this, a) | |
| } | |
| }), i(ca, aa, { | |
| defaults: { | |
| event: "pinch", | |
| threshold: 0, | |
| pointers: 2 | |
| }, | |
| getTouchAction: function() { | |
| return [jb] | |
| }, | |
| attrTest: function(a) { | |
| return this._super.attrTest.call(this, a) && (Math.abs(a.scale - 1) > this.options.threshold || this.state & ob) | |
| }, | |
| emit: function(a) { | |
| if (1 !== a.scale) { | |
| var b = a.scale < 1 ? "in" : "out"; | |
| a.additionalEvent = this.options.event + b | |
| } | |
| this._super.emit.call(this, a) | |
| } | |
| }), i(da, Y, { | |
| defaults: { | |
| event: "press", | |
| pointers: 1, | |
| time: 251, | |
| threshold: 9 | |
| }, | |
| getTouchAction: function() { | |
| return [hb] | |
| }, | |
| process: function(a) { | |
| var b = this.options, | |
| c = a.pointers.length === b.pointers, | |
| d = a.distance < b.threshold, | |
| f = a.deltaTime > b.time; | |
| if (this._input = a, !d || !c || a.eventType & (Ga | Ha) && !f) this.reset(); | |
| else if (a.eventType & Ea) this.reset(), this._timer = e(function() { | |
| this.state = rb, this.tryEmit() | |
| }, b.time, this); | |
| else if (a.eventType & Ga) return rb; | |
| return tb | |
| }, | |
| reset: function() { | |
| clearTimeout(this._timer) | |
| }, | |
| emit: function(a) { | |
| this.state === rb && (a && a.eventType & Ga ? this.manager.emit(this.options.event + "up", a) : (this._input.timeStamp = ra(), this.manager.emit(this.options.event, this._input))) | |
| } | |
| }), i(ea, aa, { | |
| defaults: { | |
| event: "rotate", | |
| threshold: 0, | |
| pointers: 2 | |
| }, | |
| getTouchAction: function() { | |
| return [jb] | |
| }, | |
| attrTest: function(a) { | |
| return this._super.attrTest.call(this, a) && (Math.abs(a.rotation) > this.options.threshold || this.state & ob); | |
| } | |
| }), i(fa, aa, { | |
| defaults: { | |
| event: "swipe", | |
| threshold: 10, | |
| velocity: .3, | |
| direction: Na | Oa, | |
| pointers: 1 | |
| }, | |
| getTouchAction: function() { | |
| return ba.prototype.getTouchAction.call(this) | |
| }, | |
| attrTest: function(a) { | |
| var b, c = this.options.direction; | |
| return c & (Na | Oa) ? b = a.overallVelocity : c & Na ? b = a.overallVelocityX : c & Oa && (b = a.overallVelocityY), this._super.attrTest.call(this, a) && c & a.offsetDirection && a.distance > this.options.threshold && a.maxPointers == this.options.pointers && qa(b) > this.options.velocity && a.eventType & Ga | |
| }, | |
| emit: function(a) { | |
| var b = $(a.offsetDirection); | |
| b && this.manager.emit(this.options.event + b, a), this.manager.emit(this.options.event, a) | |
| } | |
| }), i(ga, Y, { | |
| defaults: { | |
| event: "tap", | |
| pointers: 1, | |
| taps: 1, | |
| interval: 300, | |
| time: 250, | |
| threshold: 9, | |
| posThreshold: 10 | |
| }, | |
| getTouchAction: function() { | |
| return [ib] | |
| }, | |
| process: function(a) { | |
| var b = this.options, | |
| c = a.pointers.length === b.pointers, | |
| d = a.distance < b.threshold, | |
| f = a.deltaTime < b.time; | |
| if (this.reset(), a.eventType & Ea && 0 === this.count) return this.failTimeout(); | |
| if (d && f && c) { | |
| if (a.eventType != Ga) return this.failTimeout(); | |
| var g = !this.pTime || a.timeStamp - this.pTime < b.interval, | |
| h = !this.pCenter || H(this.pCenter, a.center) < b.posThreshold; | |
| this.pTime = a.timeStamp, this.pCenter = a.center, h && g ? this.count += 1 : this.count = 1, this._input = a; | |
| var i = this.count % b.taps; | |
| if (0 === i) return this.hasRequireFailures() ? (this._timer = e(function() { | |
| this.state = rb, this.tryEmit() | |
| }, b.interval, this), ob) : rb | |
| } | |
| return tb | |
| }, | |
| failTimeout: function() { | |
| return this._timer = e(function() { | |
| this.state = tb | |
| }, this.options.interval, this), tb | |
| }, | |
| reset: function() { | |
| clearTimeout(this._timer) | |
| }, | |
| emit: function() { | |
| this.state == rb && (this._input.tapCount = this.count, this.manager.emit(this.options.event, this._input)) | |
| } | |
| }), ha.VERSION = "2.0.8", ha.defaults = { | |
| domEvents: !1, | |
| touchAction: gb, | |
| enable: !0, | |
| inputTarget: null, | |
| inputClass: null, | |
| preset: [ | |
| [ea, { | |
| enable: !1 | |
| }], | |
| [ca, { | |
| enable: !1 | |
| }, | |
| ["rotate"] | |
| ], | |
| [fa, { | |
| direction: Na | |
| }], | |
| [ba, { | |
| direction: Na | |
| }, | |
| ["swipe"] | |
| ], | |
| [ga], | |
| [ga, { | |
| event: "doubletap", | |
| taps: 2 | |
| }, | |
| ["tap"] | |
| ], | |
| [da] | |
| ], | |
| cssProps: { | |
| userSelect: "none", | |
| touchSelect: "none", | |
| touchCallout: "none", | |
| contentZooming: "none", | |
| userDrag: "none", | |
| tapHighlightColor: "rgba(0,0,0,0)" | |
| } | |
| }; | |
| var ub = 1, | |
| vb = 2; | |
| ia.prototype = { | |
| set: function(a) { | |
| return la(this.options, a), a.touchAction && this.touchAction.update(), a.inputTarget && (this.input.destroy(), this.input.target = a.inputTarget, this.input.init()), this | |
| }, | |
| stop: function(a) { | |
| this.session.stopped = a ? vb : ub | |
| }, | |
| recognize: function(a) { | |
| var b = this.session; | |
| if (!b.stopped) { | |
| this.touchAction.preventDefaults(a); | |
| var c, d = this.recognizers, | |
| e = b.curRecognizer; | |
| (!e || e && e.state & rb) && (e = b.curRecognizer = null); | |
| for (var f = 0; f < d.length;) c = d[f], b.stopped === vb || e && c != e && !c.canRecognizeWith(e) ? c.reset() : c.recognize(a), !e && c.state & (ob | pb | qb) && (e = b.curRecognizer = c), f++ | |
| } | |
| }, | |
| get: function(a) { | |
| if (a instanceof Y) return a; | |
| for (var b = this.recognizers, c = 0; c < b.length; c++) | |
| if (b[c].options.event == a) return b[c]; | |
| return null | |
| }, | |
| add: function(a) { | |
| if (f(a, "add", this)) return this; | |
| var b = this.get(a.options.event); | |
| return b && this.remove(b), this.recognizers.push(a), a.manager = this, this.touchAction.update(), a | |
| }, | |
| remove: function(a) { | |
| if (f(a, "remove", this)) return this; | |
| if (a = this.get(a)) { | |
| var b = this.recognizers, | |
| c = r(b, a); - 1 !== c && (b.splice(c, 1), this.touchAction.update()) | |
| } | |
| return this | |
| }, | |
| on: function(a, b) { | |
| if (a !== d && b !== d) { | |
| var c = this.handlers; | |
| return g(q(a), function(a) { | |
| c[a] = c[a] || [], c[a].push(b) | |
| }), this | |
| } | |
| }, | |
| off: function(a, b) { | |
| if (a !== d) { | |
| var c = this.handlers; | |
| return g(q(a), function(a) { | |
| b ? c[a] && c[a].splice(r(c[a], b), 1) : delete c[a] | |
| }), this | |
| } | |
| }, | |
| emit: function(a, b) { | |
| this.options.domEvents && ka(a, b); | |
| var c = this.handlers[a] && this.handlers[a].slice(); | |
| if (c && c.length) { | |
| b.type = a, b.preventDefault = function() { | |
| b.srcEvent.preventDefault() | |
| }; | |
| for (var d = 0; d < c.length;) c[d](b), d++ | |
| } | |
| }, | |
| destroy: function() { | |
| this.element && ja(this, !1), this.handlers = {}, this.session = {}, this.input.destroy(), this.element = null | |
| } | |
| }, la(ha, { | |
| INPUT_START: Ea, | |
| INPUT_MOVE: Fa, | |
| INPUT_END: Ga, | |
| INPUT_CANCEL: Ha, | |
| STATE_POSSIBLE: nb, | |
| STATE_BEGAN: ob, | |
| STATE_CHANGED: pb, | |
| STATE_ENDED: qb, | |
| STATE_RECOGNIZED: rb, | |
| STATE_CANCELLED: sb, | |
| STATE_FAILED: tb, | |
| DIRECTION_NONE: Ia, | |
| DIRECTION_LEFT: Ja, | |
| DIRECTION_RIGHT: Ka, | |
| DIRECTION_UP: La, | |
| DIRECTION_DOWN: Ma, | |
| DIRECTION_HORIZONTAL: Na, | |
| DIRECTION_VERTICAL: Oa, | |
| DIRECTION_ALL: Pa, | |
| Manager: ia, | |
| Input: x, | |
| TouchAction: V, | |
| TouchInput: P, | |
| MouseInput: L, | |
| PointerEventInput: M, | |
| TouchMouseInput: R, | |
| SingleTouchInput: N, | |
| Recognizer: Y, | |
| AttrRecognizer: aa, | |
| Tap: ga, | |
| Pan: ba, | |
| Swipe: fa, | |
| Pinch: ca, | |
| Rotate: ea, | |
| Press: da, | |
| on: m, | |
| off: n, | |
| each: g, | |
| merge: ta, | |
| extend: sa, | |
| assign: la, | |
| inherit: i, | |
| bindFn: j, | |
| prefixed: u | |
| }); | |
| var wb = "undefined" != typeof a ? a : "undefined" != typeof self ? self : {}; | |
| wb.Hammer = ha, "function" == typeof define && define.amd ? define(function() { | |
| return ha | |
| }) : "undefined" != typeof module && module.exports ? module.exports = ha : a[c] = ha | |
| }(window, document, "Hammer"), | |
| function() { | |
| "use strict"; | |
| function a(a, b, c, d, e, f, g) { | |
| function h() { | |
| return v.length | |
| } | |
| function i(a) { | |
| if (1 !== arguments.length || a) | |
| if (a) o(a.toastId); | |
| else | |
| for (var b = 0; b < v.length; b++) o(v[b].toastId) | |
| } | |
| function j(a, b, c) { | |
| var d = q().iconClasses.error; | |
| return p(d, a, b, c) | |
| } | |
| function k(a, b, c) { | |
| var d = q().iconClasses.info; | |
| return p(d, a, b, c) | |
| } | |
| function l(a, b, c) { | |
| var d = q().iconClasses.success; | |
| return p(d, a, b, c) | |
| } | |
| function m(a, b, c) { | |
| var d = q().iconClasses.warning; | |
| return p(d, a, b, c) | |
| } | |
| function n(a, b) { | |
| a && a.isOpened && v.indexOf(a) >= 0 && a.scope.refreshTimer(b) | |
| } | |
| function o(b, c) { | |
| function d(a) { | |
| for (var b = 0; b < v.length; b++) | |
| if (v[b].toastId === a) return v[b] | |
| } | |
| function e() { | |
| return !v.length | |
| } | |
| var h = d(b); | |
| h && !h.deleting && (h.deleting = !0, h.isOpened = !1, a.leave(h.el).then(function() { | |
| h.scope.options.onHidden && h.scope.options.onHidden(!!c, h), h.scope.$destroy(); | |
| var a = v.indexOf(h); | |
| delete x[h.scope.message], v.splice(a, 1); | |
| var b = f.maxOpened; | |
| b && v.length >= b && v[b - 1].open.resolve(), e() && (t.remove(), t = null, y = g.defer()) | |
| })) | |
| } | |
| function p(a, b, c, d) { | |
| return angular.isObject(c) && (d = c, c = null), s({ | |
| iconClass: a, | |
| message: b, | |
| optionsOverride: d, | |
| title: c | |
| }) | |
| } | |
| function q() { | |
| return angular.extend({}, f) | |
| } | |
| function r(b) { | |
| if (t) return y.promise; | |
| t = angular.element("<div></div>"), t.attr("id", b.containerId), t.addClass(b.positionClass), t.css({ | |
| "pointer-events": "auto" | |
| }); | |
| var c = angular.element(document.querySelector(b.target)); | |
| if (!c || !c.length) throw "Target for toasts doesn't exist"; | |
| return a.enter(t, c).then(function() { | |
| y.resolve() | |
| }), y.promise | |
| } | |
| function s(c) { | |
| function f() { | |
| return m.autoDismiss && m.maxOpened && v.length > m.maxOpened | |
| } | |
| function h(a, b, c) { | |
| function d(b) { | |
| if (c[b]) return function() { | |
| c[b](a) | |
| } | |
| } | |
| c.allowHtml ? (a.scope.allowHtml = !0, a.scope.title = e.trustAsHtml(b.title), a.scope.message = e.trustAsHtml(b.message)) : (a.scope.title = b.title, a.scope.message = b.message), a.scope.toastType = a.iconClass, a.scope.toastId = a.toastId, a.scope.extraData = c.extraData, a.scope.options = { | |
| extendedTimeOut: c.extendedTimeOut, | |
| messageClass: c.messageClass, | |
| onHidden: c.onHidden, | |
| onShown: d("onShown"), | |
| onTap: d("onTap"), | |
| progressBar: c.progressBar, | |
| tapToDismiss: c.tapToDismiss, | |
| timeOut: c.timeOut, | |
| titleClass: c.titleClass, | |
| toastClass: c.toastClass | |
| }, c.closeButton && (a.scope.options.closeHtml = c.closeHtml) | |
| } | |
| function i() { | |
| function a(a) { | |
| for (var b = ["containerId", "iconClasses", "maxOpened", "newestOnTop", "positionClass", "preventDuplicates", "preventOpenDuplicates", "templates"], c = 0, d = b.length; c < d; c++) delete a[b[c]]; | |
| return a | |
| } | |
| var b = { | |
| toastId: u++, | |
| isOpened: !1, | |
| scope: d.$new(), | |
| open: g.defer() | |
| }; | |
| return b.iconClass = c.iconClass, c.optionsOverride && (angular.extend(m, a(c.optionsOverride)), b.iconClass = c.optionsOverride.iconClass || b.iconClass), h(b, c, m), b.el = j(b.scope), b | |
| } | |
| function j(a) { | |
| var c = angular.element("<div toast></div>"), | |
| d = b.get("$compile"); | |
| return d(c)(a) | |
| } | |
| function k() { | |
| return m.maxOpened && v.length <= m.maxOpened || !m.maxOpened | |
| } | |
| function l() { | |
| var a = m.preventDuplicates && c.message === w, | |
| b = m.preventOpenDuplicates && x[c.message]; | |
| return !(!a && !b) || (w = c.message, x[c.message] = !0, !1) | |
| } | |
| var m = q(); | |
| if (!l()) { | |
| var n = i(); | |
| if (v.push(n), f()) | |
| for (var p = v.slice(0, v.length - m.maxOpened), s = 0, y = p.length; s < y; s++) o(p[s].toastId); | |
| return k() && n.open.resolve(), n.open.promise.then(function() { | |
| r(m).then(function() { | |
| if (n.isOpened = !0, m.newestOnTop) a.enter(n.el, t).then(function() { | |
| n.scope.init() | |
| }); | |
| else { | |
| var b = t[0].lastChild ? angular.element(t[0].lastChild) : null; | |
| a.enter(n.el, t, b).then(function() { | |
| n.scope.init() | |
| }) | |
| } | |
| }) | |
| }), n | |
| } | |
| } | |
| var t, u = 0, | |
| v = [], | |
| w = "", | |
| x = {}, | |
| y = g.defer(), | |
| z = { | |
| active: h, | |
| clear: i, | |
| error: j, | |
| info: k, | |
| remove: o, | |
| success: l, | |
| warning: m, | |
| refreshTimer: n | |
| }; | |
| return z | |
| } | |
| angular.module("toastr", []).factory("toastr", a), a.$inject = ["$animate", "$injector", "$document", "$rootScope", "$sce", "toastrConfig", "$q"] | |
| }(), | |
| function() { | |
| "use strict"; | |
| angular.module("toastr").constant("toastrConfig", { | |
| allowHtml: !1, | |
| autoDismiss: !1, | |
| closeButton: !1, | |
| closeHtml: "<button>×</button>", | |
| containerId: "toast-container", | |
| extendedTimeOut: 1e3, | |
| iconClasses: { | |
| error: "toast-error", | |
| info: "toast-info", | |
| success: "toast-success", | |
| warning: "toast-warning" | |
| }, | |
| maxOpened: 0, | |
| messageClass: "toast-message", | |
| newestOnTop: !0, | |
| onHidden: null, | |
| onShown: null, | |
| onTap: null, | |
| positionClass: "toast-top-right", | |
| preventDuplicates: !1, | |
| preventOpenDuplicates: !1, | |
| progressBar: !1, | |
| tapToDismiss: !0, | |
| target: "body", | |
| templates: { | |
| toast: "directives/toast/toast.html", | |
| progressbar: "directives/progressbar/progressbar.html" | |
| }, | |
| timeOut: 5e3, | |
| titleClass: "toast-title", | |
| toastClass: "toast" | |
| }) | |
| }(), | |
| function() { | |
| "use strict"; | |
| function a(a) { | |
| function b(a, b, c, d) { | |
| function e() { | |
| var a = (h - (new Date).getTime()) / g * 100; | |
| b.css("width", a + "%") | |
| } | |
| var f, g, h; | |
| d.progressBar = a, a.start = function(a) { | |
| f && clearInterval(f), g = parseFloat(a), h = (new Date).getTime() + g, f = setInterval(e, 10) | |
| }, a.stop = function() { | |
| f && clearInterval(f) | |
| }, a.$on("$destroy", function() { | |
| clearInterval(f) | |
| }) | |
| } | |
| return { | |
| require: "^toast", | |
| templateUrl: function() { | |
| return a.templates.progressbar | |
| }, | |
| link: b | |
| } | |
| } | |
| angular.module("toastr").directive("progressBar", a), a.$inject = ["toastrConfig"] | |
| }(), | |
| function() { | |
| "use strict"; | |
| function a() { | |
| this.progressBar = null, this.startProgressBar = function(a) { | |
| this.progressBar && this.progressBar.start(a) | |
| }, this.stopProgressBar = function() { | |
| this.progressBar && this.progressBar.stop() | |
| } | |
| } | |
| angular.module("toastr").controller("ToastController", a) | |
| }(), | |
| function() { | |
| "use strict"; | |
| function a(a, b, c, d) { | |
| function e(c, e, f, g) { | |
| function h(a) { | |
| return g.startProgressBar(a), b(function() { | |
| g.stopProgressBar(), d.remove(c.toastId) | |
| }, a, 1) | |
| } | |
| function i() { | |
| c.progressBar = !1, g.stopProgressBar() | |
| } | |
| function j() { | |
| return c.options.closeHtml | |
| } | |
| var k; | |
| if (c.toastClass = c.options.toastClass, c.titleClass = c.options.titleClass, c.messageClass = c.options.messageClass, c.progressBar = c.options.progressBar, j()) { | |
| var l = angular.element(c.options.closeHtml), | |
| m = a.get("$compile"); | |
| l.addClass("toast-close-button"), l.attr("ng-click", "close(true, $event)"), m(l)(c), e.children().prepend(l) | |
| } | |
| c.init = function() { | |
| c.options.timeOut && (k = h(c.options.timeOut)), c.options.onShown && c.options.onShown() | |
| }, e.on("mouseenter", function() { | |
| i(), k && b.cancel(k) | |
| }), c.tapToast = function() { | |
| angular.isFunction(c.options.onTap) && c.options.onTap(), c.options.tapToDismiss && c.close(!0) | |
| }, c.close = function(a, b) { | |
| b && angular.isFunction(b.stopPropagation) && b.stopPropagation(), d.remove(c.toastId, a) | |
| }, c.refreshTimer = function(a) { | |
| k && (b.cancel(k), k = h(a || c.options.timeOut)) | |
| }, e.on("mouseleave", function() { | |
| 0 === c.options.timeOut && 0 === c.options.extendedTimeOut || (c.$apply(function() { | |
| c.progressBar = c.options.progressBar | |
| }), k = h(c.options.extendedTimeOut)) | |
| }) | |
| } | |
| return { | |
| templateUrl: function() { | |
| return c.templates.toast | |
| }, | |
| controller: "ToastController", | |
| link: e | |
| } | |
| } | |
| angular.module("toastr").directive("toast", a), a.$inject = ["$injector", "$interval", "toastrConfig", "toastr"] | |
| }(), angular.module("toastr").run(["$templateCache", function(a) { | |
| a.put("directives/progressbar/progressbar.html", '<div class="toast-progress"></div>\n'), a.put("directives/toast/toast.html", '<div class="{{toastClass}} {{toastType}}" ng-click="tapToast()">\n <div ng-switch on="allowHtml">\n <div ng-switch-default ng-if="title" class="{{titleClass}}" aria-label="{{title}}">{{title}}</div>\n <div ng-switch-default class="{{messageClass}}" aria-label="{{message}}">{{message}}</div>\n <div ng-switch-when="true" ng-if="title" class="{{titleClass}}" ng-bind-html="title"></div>\n <div ng-switch-when="true" class="{{messageClass}}" ng-bind-html="message"></div>\n </div>\n <progress-bar ng-if="progressBar"></progress-bar>\n</div>\n') | |
| }]), | |
| function(a, b, c) { | |
| "use strict"; | |
| ! function() { | |
| b.module("ngMaterial", ["ng", "ngAnimate", "ngAria", "material.core", "material.core.gestures", "material.core.layout", "material.core.theming.palette", "material.core.theming", "material.core.animate", "material.components.autocomplete", "material.components.backdrop", "material.components.button", "material.components.bottomSheet", "material.components.card", "material.components.checkbox", "material.components.chips", "material.components.colors", "material.components.content", "material.components.datepicker", "material.components.dialog", "material.components.divider", "material.components.fabActions", "material.components.fabShared", "material.components.fabSpeedDial", "material.components.fabToolbar", "material.components.fabTrigger", "material.components.gridList", "material.components.icon", "material.components.list", "material.components.input", "material.components.menuBar", "material.components.menu", "material.components.navBar", "material.components.panel", "material.components.progressCircular", "material.components.progressLinear", "material.components.radioButton", "material.components.sidenav", "material.components.select", "material.components.slider", "material.components.showHide", "material.components.swipe", "material.components.sticky", "material.components.switch", "material.components.subheader", "material.components.tabs", "material.components.toast", "material.components.toolbar", "material.components.tooltip", "material.components.virtualRepeat", "material.components.whiteframe"]) | |
| }(), | |
| function() { | |
| function a(a, b) { | |
| if (b.has("$swipe")) { | |
| var c = "You are using the ngTouch module. \nAngular Material already has mobile click, tap, and swipe support... \nngTouch is not supported with Angular Material!"; | |
| a.warn(c) | |
| } | |
| } | |
| function c(a, b) { | |
| a.decorator("$$rAF", ["$delegate", d]), b.theme("default").primaryPalette("indigo").accentPalette("pink").warnPalette("deep-orange").backgroundPalette("grey") | |
| } | |
| function d(a) { | |
| return a.throttle = function(b) { | |
| var c, d, e, f; | |
| return function() { | |
| c = arguments, f = this, e = b, d || (d = !0, a(function() { | |
| e.apply(f, Array.prototype.slice.call(c)), d = !1 | |
| })) | |
| } | |
| }, a | |
| } | |
| b.module("material.core", ["ngAnimate", "material.core.animate", "material.core.layout", "material.core.gestures", "material.core.theming"]).config(c).run(a), a.$inject = ["$log", "$injector"], c.$inject = ["$provide", "$mdThemingProvider"], d.$inject = ["$delegate"] | |
| }(), | |
| function() { | |
| function a() { | |
| return { | |
| restrict: "A", | |
| link: c | |
| } | |
| } | |
| function c(a, b, c) { | |
| var d = c.mdAutoFocus || c.mdAutofocus || c.mdSidenavFocus; | |
| a.$watch(d, function(a) { | |
| b.toggleClass("_md-autofocus", a) | |
| }) | |
| } | |
| b.module("material.core").directive("mdAutofocus", a).directive("mdAutoFocus", a).directive("mdSidenavFocus", a) | |
| }(), | |
| function() { | |
| function a() { | |
| function a(a) { | |
| var b = "#" === a[0] ? a.substr(1) : a, | |
| c = b.length / 3, | |
| d = b.substr(0, c), | |
| e = b.substr(c, c), | |
| f = b.substr(2 * c); | |
| return 1 === c && (d += d, e += e, f += f), "rgba(" + parseInt(d, 16) + "," + parseInt(e, 16) + "," + parseInt(f, 16) + ",0.1)" | |
| } | |
| function b(a) { | |
| a = a.match(/^rgba?[\s+]?\([\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?/i); | |
| var b = a && 4 === a.length ? "#" + ("0" + parseInt(a[1], 10).toString(16)).slice(-2) + ("0" + parseInt(a[2], 10).toString(16)).slice(-2) + ("0" + parseInt(a[3], 10).toString(16)).slice(-2) : ""; | |
| return b.toUpperCase() | |
| } | |
| function c(a) { | |
| return a.replace(")", ", 0.1)").replace("(", "a(") | |
| } | |
| function d(a) { | |
| return a ? a.replace("rgba", "rgb").replace(/,[^\),]+\)/, ")") : "rgb(0,0,0)" | |
| } | |
| return { | |
| rgbaToHex: b, | |
| hexToRgba: a, | |
| rgbToRgba: c, | |
| rgbaToRgb: d | |
| } | |
| } | |
| b.module("material.core").factory("$mdColorUtil", a) | |
| }(), | |
| function() { | |
| function a(a) { | |
| function c(a) { | |
| var b = f + "-" + a, | |
| c = e(b), | |
| g = c.charAt(0).toLowerCase() + c.substring(1); | |
| return d(a) ? a : d(c) ? c : d(g) ? g : a | |
| } | |
| function d(a) { | |
| return b.isDefined(i.style[a]) | |
| } | |
| function e(a) { | |
| return a.replace(h, function(a, b, c, d) { | |
| return d ? c.toUpperCase() : c | |
| }) | |
| } | |
| var f = a.vendorPrefix, | |
| g = /webkit/i.test(f), | |
| h = /([:\-_]+(.))/g, | |
| i = document.createElement("div"); | |
| return { | |
| KEY_CODE: { | |
| COMMA: 188, | |
| SEMICOLON: 186, | |
| ENTER: 13, | |
| ESCAPE: 27, | |
| SPACE: 32, | |
| PAGE_UP: 33, | |
| PAGE_DOWN: 34, | |
| END: 35, | |
| HOME: 36, | |
| LEFT_ARROW: 37, | |
| UP_ARROW: 38, | |
| RIGHT_ARROW: 39, | |
| DOWN_ARROW: 40, | |
| TAB: 9, | |
| BACKSPACE: 8, | |
| DELETE: 46 | |
| }, | |
| CSS: { | |
| TRANSITIONEND: "transitionend" + (g ? " webkitTransitionEnd" : ""), | |
| ANIMATIONEND: "animationend" + (g ? " webkitAnimationEnd" : ""), | |
| TRANSFORM: c("transform"), | |
| TRANSFORM_ORIGIN: c("transformOrigin"), | |
| TRANSITION: c("transition"), | |
| TRANSITION_DURATION: c("transitionDuration"), | |
| ANIMATION_PLAY_STATE: c("animationPlayState"), | |
| ANIMATION_DURATION: c("animationDuration"), | |
| ANIMATION_NAME: c("animationName"), | |
| ANIMATION_TIMING: c("animationTimingFunction"), | |
| ANIMATION_DIRECTION: c("animationDirection") | |
| }, | |
| MEDIA: { | |
| xs: "(max-width: 599px)", | |
| "gt-xs": "(min-width: 600px)", | |
| sm: "(min-width: 600px) and (max-width: 959px)", | |
| "gt-sm": "(min-width: 960px)", | |
| md: "(min-width: 960px) and (max-width: 1279px)", | |
| "gt-md": "(min-width: 1280px)", | |
| lg: "(min-width: 1280px) and (max-width: 1919px)", | |
| "gt-lg": "(min-width: 1920px)", | |
| xl: "(min-width: 1920px)", | |
| landscape: "(orientation: landscape)", | |
| portrait: "(orientation: portrait)", | |
| print: "print" | |
| }, | |
| MEDIA_PRIORITY: ["xl", "gt-lg", "lg", "gt-md", "md", "gt-sm", "sm", "gt-xs", "xs", "landscape", "portrait", "print"] | |
| } | |
| } | |
| b.module("material.core").factory("$mdConstant", a), a.$inject = ["$sniffer"] | |
| }(), | |
| function() { | |
| function a(a, c) { | |
| function d() { | |
| return [].concat(s) | |
| } | |
| function e() { | |
| return s.length | |
| } | |
| function f(a) { | |
| return s.length && a > -1 && a < s.length | |
| } | |
| function g(a) { | |
| return !!a && f(m(a) + 1) | |
| } | |
| function h(a) { | |
| return !!a && f(m(a) - 1) | |
| } | |
| function i(a) { | |
| return f(a) ? s[a] : null | |
| } | |
| function j(a, b) { | |
| return s.filter(function(c) { | |
| return c[a] === b | |
| }) | |
| } | |
| function k(a, c) { | |
| return a ? (b.isNumber(c) || (c = s.length), s.splice(c, 0, a), m(a)) : -1 | |
| } | |
| function l(a) { | |
| n(a) && s.splice(m(a), 1) | |
| } | |
| function m(a) { | |
| return s.indexOf(a) | |
| } | |
| function n(a) { | |
| return a && m(a) > -1 | |
| } | |
| function o() { | |
| return s.length ? s[0] : null | |
| } | |
| function p() { | |
| return s.length ? s[s.length - 1] : null | |
| } | |
| function q(a, d, e, g) { | |
| e = e || r; | |
| for (var h = m(d);;) { | |
| if (!f(h)) return null; | |
| var i = h + (a ? -1 : 1), | |
| j = null; | |
| if (f(i) ? j = s[i] : c && (j = a ? p() : o(), i = m(j)), null === j || i === g) return null; | |
| if (e(j)) return j; | |
| b.isUndefined(g) && (g = i), h = i | |
| } | |
| } | |
| var r = function() { | |
| return !0 | |
| }; | |
| a && !b.isArray(a) && (a = Array.prototype.slice.call(a)), c = !!c; | |
| var s = a || []; | |
| return { | |
| items: d, | |
| count: e, | |
| inRange: f, | |
| contains: n, | |
| indexOf: m, | |
| itemAt: i, | |
| findBy: j, | |
| add: k, | |
| remove: l, | |
| first: o, | |
| last: p, | |
| next: b.bind(null, q, !1), | |
| previous: b.bind(null, q, !0), | |
| hasPrevious: h, | |
| hasNext: g | |
| } | |
| } | |
| b.module("material.core").config(["$provide", function(b) { | |
| b.decorator("$mdUtil", ["$delegate", function(b) { | |
| return b.iterator = a, b | |
| }]) | |
| }]) | |
| }(), | |
| function() { | |
| function a(a, c, d) { | |
| function e(a) { | |
| var c = m[a]; | |
| b.isUndefined(c) && (c = m[a] = f(a)); | |
| var d = o[c]; | |
| return b.isUndefined(d) && (d = g(c)), d | |
| } | |
| function f(b) { | |
| return a.MEDIA[b] || ("(" !== b.charAt(0) ? "(" + b + ")" : b) | |
| } | |
| function g(a) { | |
| var b = n[a]; | |
| return b || (b = n[a] = d.matchMedia(a)), b.addListener(h), o[b.media] = !!b.matches | |
| } | |
| function h(a) { | |
| c.$evalAsync(function() { | |
| o[a.media] = !!a.matches | |
| }) | |
| } | |
| function i(a) { | |
| return n[a] | |
| } | |
| function j(b, c) { | |
| for (var d = 0; d < a.MEDIA_PRIORITY.length; d++) { | |
| var e = a.MEDIA_PRIORITY[d]; | |
| if (n[m[e]].matches) { | |
| var f = l(b, c + "-" + e); | |
| if (b[f]) return b[f] | |
| } | |
| } | |
| return b[l(b, c)] | |
| } | |
| function k(c, d, e) { | |
| var f = []; | |
| return c.forEach(function(c) { | |
| var g = l(d, c); | |
| b.isDefined(d[g]) && f.push(d.$observe(g, b.bind(void 0, e, null))); | |
| for (var h in a.MEDIA) g = l(d, c + "-" + h), b.isDefined(d[g]) && f.push(d.$observe(g, b.bind(void 0, e, h))) | |
| }), | |
| function() { | |
| f.forEach(function(a) { | |
| a() | |
| }) | |
| } | |
| } | |
| function l(a, b) { | |
| return p[b] || (p[b] = a.$normalize(b)) | |
| } | |
| var m = {}, | |
| n = {}, | |
| o = {}, | |
| p = {}; | |
| return e.getResponsiveAttribute = j, e.getQuery = i, e.watchResponsiveAttributes = k, e | |
| } | |
| b.module("material.core").factory("$mdMedia", a), a.$inject = ["$mdConstant", "$rootScope", "$window"] | |
| }(), | |
| function() { | |
| function a(a, c) { | |
| function d(a) { | |
| return a = b.isArray(a) ? a : [a], a.forEach(function(b) { | |
| g.forEach(function(c) { | |
| a.push(c + "-" + b) | |
| }) | |
| }), a | |
| } | |
| function e(a) { | |
| return a = b.isArray(a) ? a : [a], d(a).map(function(a) { | |
| return "[" + a + "]" | |
| }).join(",") | |
| } | |
| function f(a, b) { | |
| a = a[0] || a; | |
| for (var c = d(b), e = 0; e < c.length; e++) | |
| if (a.hasAttribute(c[e])) return !0; | |
| return !1 | |
| } | |
| var g = ["data", "x"]; | |
| return a ? c ? e(a) : d(a) : { | |
| buildList: d, | |
| buildSelector: e, | |
| hasAttribute: f | |
| } | |
| } | |
| b.module("material.core").config(["$provide", function(b) { | |
| b.decorator("$mdUtil", ["$delegate", function(b) { | |
| return b.prefixer = a, b | |
| }]) | |
| }]) | |
| }(), | |
| function() { | |
| function d(d, f, g, h, i, j, k, l, m) { | |
| function n(a) { | |
| return a[0] || a | |
| } | |
| var o = j.startSymbol(), | |
| p = j.endSymbol(), | |
| q = "{{" === o && "}}" === p, | |
| r = function(a, c, d) { | |
| var e = !1; | |
| if (a && a.length) { | |
| var f = m.getComputedStyle(a[0]); | |
| e = b.isDefined(f[c]) && (!d || f[c] == d) | |
| } | |
| return e | |
| }, | |
| s = { | |
| dom: {}, | |
| now: a.performance ? b.bind(a.performance, a.performance.now) : Date.now || function() { | |
| return (new Date).getTime() | |
| }, | |
| bidi: function(a, c, e, f) { | |
| function g(a) { | |
| return a ? h(a) ? a : a + "px" : "0" | |
| } | |
| function h(a) { | |
| return String(a).indexOf("px") > -1 | |
| } | |
| var i = !("rtl" == d[0].dir || "rtl" == d[0].body.dir); | |
| return 0 == arguments.length ? i ? "ltr" : "rtl" : void(i && b.isDefined(e) ? b.element(a).css(c, g(e)) : !i && b.isDefined(f) && b.element(a).css(c, g(f))) | |
| }, | |
| clientRect: function(a, b, c) { | |
| var d = n(a); | |
| b = n(b || d.offsetParent || document.body); | |
| var e = d.getBoundingClientRect(), | |
| f = c ? b.getBoundingClientRect() : { | |
| left: 0, | |
| top: 0, | |
| width: 0, | |
| height: 0 | |
| }; | |
| return { | |
| left: e.left - f.left, | |
| top: e.top - f.top, | |
| width: e.width, | |
| height: e.height | |
| } | |
| }, | |
| offsetRect: function(a, b) { | |
| return s.clientRect(a, b, !0) | |
| }, | |
| nodesToArray: function(a) { | |
| a = a || []; | |
| for (var b = [], c = 0; c < a.length; ++c) b.push(a.item(c)); | |
| return b | |
| }, | |
| scrollTop: function(a) { | |
| a = b.element(a || d[0].body); | |
| var e = a[0] == d[0].body ? d[0].body : c, | |
| f = e ? e.scrollTop + e.parentElement.scrollTop : 0; | |
| return f || Math.abs(a[0].getBoundingClientRect().top) | |
| }, | |
| findFocusTarget: function(a, c) { | |
| function d(a, c) { | |
| var d, e = a[0].querySelectorAll(c); | |
| return e && e.length && e.length && b.forEach(e, function(a) { | |
| a = b.element(a); | |
| var c = a.hasClass("_md-autofocus"); | |
| c && (d = a) | |
| }), d | |
| } | |
| var e, f = this.prefixer("md-autofocus", !0); | |
| return e = d(a, c || f), e || c == f || (e = d(a, this.prefixer("md-auto-focus", !0)), e || (e = d(a, f))), e | |
| }, | |
| disableScrollAround: function(a, c) { | |
| function e(a) { | |
| function c(a) { | |
| a.preventDefault() | |
| } | |
| a = b.element(a || h)[0]; | |
| var d = b.element('<div class="md-scroll-mask"> <div class="md-scroll-mask-bar"></div></div>'); | |
| return a.appendChild(d[0]), d.on("wheel", c), d.on("touchmove", c), | |
| function() { | |
| d.off("wheel"), d.off("touchmove"), d[0].parentNode.removeChild(d[0]), delete s.disableScrollAround._enableScrolling | |
| } | |
| } | |
| function f() { | |
| var a = h.parentNode, | |
| b = a.style.cssText || "", | |
| c = h.style.cssText || "", | |
| d = s.scrollTop(h), | |
| e = h.clientWidth; | |
| return h.scrollHeight > h.clientHeight + 1 && (g(h, { | |
| position: "fixed", | |
| width: "100%", | |
| top: -d + "px" | |
| }), a.style.overflowY = "scroll"), h.clientWidth < e && g(h, { | |
| overflow: "hidden" | |
| }), | |
| function() { | |
| h.style.cssText = c, a.style.cssText = b, h.scrollTop = d, a.scrollTop = d | |
| } | |
| } | |
| function g(a, b) { | |
| for (var c in b) a.style[c] = b[c] | |
| } | |
| if (s.disableScrollAround._count = s.disableScrollAround._count || 0, ++s.disableScrollAround._count, s.disableScrollAround._enableScrolling) return s.disableScrollAround._enableScrolling; | |
| var h = d[0].body, | |
| i = f(), | |
| j = e(c); | |
| return s.disableScrollAround._enableScrolling = function() { | |
| --s.disableScrollAround._count || (i(), j(), delete s.disableScrollAround._enableScrolling) | |
| } | |
| }, | |
| enableScrolling: function() { | |
| var a = this.disableScrollAround._enableScrolling; | |
| a && a() | |
| }, | |
| floatingScrollbars: function() { | |
| if (this.floatingScrollbars.cached === c) { | |
| var a = b.element("<div><div></div></div>").css({ | |
| width: "100%", | |
| "z-index": -1, | |
| position: "absolute", | |
| height: "35px", | |
| "overflow-y": "scroll" | |
| }); | |
| a.children().css("height", "60px"), d[0].body.appendChild(a[0]), this.floatingScrollbars.cached = a[0].offsetWidth == a[0].childNodes[0].offsetWidth, a.remove() | |
| } | |
| return this.floatingScrollbars.cached | |
| }, | |
| forceFocus: function(b) { | |
| var c = b[0] || b; | |
| document.addEventListener("click", function a(b) { | |
| b.target === c && b.$focus && (c.focus(), b.stopImmediatePropagation(), b.preventDefault(), c.removeEventListener("click", a)) | |
| }, !0); | |
| var d = document.createEvent("MouseEvents"); | |
| d.initMouseEvent("click", !1, !0, a, {}, 0, 0, 0, 0, !1, !1, !1, !1, 0, null), d.$material = !0, d.$focus = !0, c.dispatchEvent(d) | |
| }, | |
| createBackdrop: function(a, b) { | |
| return g(s.supplant('<md-backdrop class="{0}">', [b]))(a) | |
| }, | |
| supplant: function(a, b, c) { | |
| return c = c || /\{([^\{\}]*)\}/g, a.replace(c, function(a, c) { | |
| var d = c.split("."), | |
| e = b; | |
| try { | |
| for (var f in d) d.hasOwnProperty(f) && (e = e[d[f]]) | |
| } catch (b) { | |
| e = a | |
| } | |
| return "string" == typeof e || "number" == typeof e ? e : a | |
| }) | |
| }, | |
| fakeNgModel: function() { | |
| return { | |
| $fake: !0, | |
| $setTouched: b.noop, | |
| $setViewValue: function(a) { | |
| this.$viewValue = a, this.$render(a), this.$viewChangeListeners.forEach(function(a) { | |
| a() | |
| }) | |
| }, | |
| $isEmpty: function(a) { | |
| return 0 === ("" + a).length | |
| }, | |
| $parsers: [], | |
| $formatters: [], | |
| $viewChangeListeners: [], | |
| $render: b.noop | |
| } | |
| }, | |
| debounce: function(a, b, d, e) { | |
| var g; | |
| return function() { | |
| var h = d, | |
| i = Array.prototype.slice.call(arguments); | |
| f.cancel(g), g = f(function() { | |
| g = c, a.apply(h, i) | |
| }, b || 10, e) | |
| } | |
| }, | |
| throttle: function(a, b) { | |
| var c; | |
| return function() { | |
| var d = this, | |
| e = arguments, | |
| f = s.now(); | |
| (!c || f - c > b) && (a.apply(d, e), c = f) | |
| } | |
| }, | |
| time: function(a) { | |
| var b = s.now(); | |
| return a(), s.now() - b | |
| }, | |
| valueOnUse: function(a, b, c) { | |
| var d = null, | |
| e = Array.prototype.slice.call(arguments), | |
| f = e.length > 3 ? e.slice(3) : []; | |
| Object.defineProperty(a, b, { | |
| get: function() { | |
| return null === d && (d = c.apply(a, f)), d | |
| } | |
| }) | |
| }, | |
| nextUid: function() { | |
| return "" + e++ | |
| }, | |
| disconnectScope: function(a) { | |
| if (a && a.$root !== a && !a.$$destroyed) { | |
| var b = a.$parent; | |
| a.$$disconnected = !0, b.$$childHead === a && (b.$$childHead = a.$$nextSibling), b.$$childTail === a && (b.$$childTail = a.$$prevSibling), a.$$prevSibling && (a.$$prevSibling.$$nextSibling = a.$$nextSibling), a.$$nextSibling && (a.$$nextSibling.$$prevSibling = a.$$prevSibling), a.$$nextSibling = a.$$prevSibling = null | |
| } | |
| }, | |
| reconnectScope: function(a) { | |
| if (a && a.$root !== a && a.$$disconnected) { | |
| var b = a, | |
| c = b.$parent; | |
| b.$$disconnected = !1, b.$$prevSibling = c.$$childTail, c.$$childHead ? (c.$$childTail.$$nextSibling = b, c.$$childTail = b) : c.$$childHead = c.$$childTail = b | |
| } | |
| }, | |
| getClosest: function(a, c, d) { | |
| if (a instanceof b.element && (a = a[0]), c = c.toUpperCase(), d && (a = a.parentNode), !a) return null; | |
| do | |
| if (a.nodeName === c) return a; while (a = a.parentNode); | |
| return null | |
| }, | |
| elementContains: function(c, d) { | |
| var e = a.Node && a.Node.prototype && Node.prototype.contains, | |
| f = e ? b.bind(c, c.contains) : b.bind(c, function(a) { | |
| return c === d || !!(16 & this.compareDocumentPosition(a)) | |
| }); | |
| return f(d) | |
| }, | |
| extractElementByName: function(a, c, d, e) { | |
| function f(a) { | |
| return g(a) || (d ? h(a) : null) | |
| } | |
| function g(a) { | |
| if (a) | |
| for (var b = 0, d = a.length; b < d; b++) | |
| if (a[b].nodeName.toLowerCase() === c) return a[b]; | |
| return null | |
| } | |
| function h(a) { | |
| var b; | |
| if (a) | |
| for (var c = 0, d = a.length; c < d; c++) { | |
| var e = a[c]; | |
| if (!b) | |
| for (var g = 0, h = e.childNodes.length; g < h; g++) b = b || f([e.childNodes[g]]) | |
| } | |
| return b | |
| } | |
| var i = f(a); | |
| return !i && e && k.warn(s.supplant("Unable to find node '{0}' in element '{1}'.", [c, a[0].outerHTML])), b.element(i || a) | |
| }, | |
| initOptionalProperties: function(a, c, d) { | |
| d = d || {}, b.forEach(a.$$isolateBindings, function(e, f) { | |
| if (e.optional && b.isUndefined(a[f])) { | |
| var g = b.isDefined(c[e.attrName]); | |
| a[f] = b.isDefined(d[f]) ? d[f] : g | |
| } | |
| }) | |
| }, | |
| nextTick: function(a, b, c) { | |
| function d() { | |
| var a = e.queue, | |
| b = e.digest; | |
| e.queue = [], e.timeout = null, e.digest = !1, a.forEach(function(a) { | |
| var b = a.scope && a.scope.$$destroyed; | |
| b || a.callback() | |
| }), b && h.$digest() | |
| } | |
| var e = s.nextTick, | |
| g = e.timeout, | |
| i = e.queue || []; | |
| return i.push({ | |
| scope: c, | |
| callback: a | |
| }), null == b && (b = !0), e.digest = e.digest || b, e.queue = i, g || (e.timeout = f(d, 0, !1)) | |
| }, | |
| processTemplate: function(a) { | |
| return q ? a : a && b.isString(a) ? a.replace(/\{\{/g, o).replace(/}}/g, p) : a | |
| }, | |
| getParentWithPointerEvents: function(a) { | |
| for (var b = a.parent(); r(b, "pointer-events", "none");) b = b.parent(); | |
| return b | |
| }, | |
| getNearestContentElement: function(a) { | |
| for (var b = a.parent()[0]; b && b !== l[0] && b !== document.body && "MD-CONTENT" !== b.nodeName.toUpperCase();) b = b.parentNode; | |
| return b | |
| }, | |
| parseAttributeBoolean: function(a, b) { | |
| return "" === a || !!a && (b === !1 || "false" !== a && "0" !== a) | |
| }, | |
| hasComputedStyle: r | |
| }; | |
| return s.dom.animator = i(s), s | |
| } | |
| var e = 0; | |
| b.module("material.core").factory("$mdUtil", d), d.$inject = ["$document", "$timeout", "$compile", "$rootScope", "$$mdAnimate", "$interpolate", "$log", "$rootElement", "$window"], b.element.prototype.focus = b.element.prototype.focus || function() { | |
| return this.length && this[0].focus(), this | |
| }, b.element.prototype.blur = b.element.prototype.blur || function() { | |
| return this.length && this[0].blur(), this | |
| } | |
| }(), | |
| function() { | |
| function a(a, c, d, e) { | |
| function f(a, d, e) { | |
| var f = b.element(a)[0] || a; | |
| !f || f.hasAttribute(d) && 0 !== f.getAttribute(d).length || j(f, d) || (e = b.isString(e) ? e.trim() : "", e.length ? a.attr(d, e) : c.warn('ARIA: Attribute "', d, '", required for accessibility, is missing on node:', f)) | |
| } | |
| function g(b, c, d) { | |
| a(function() { | |
| f(b, c, d()) | |
| }) | |
| } | |
| function h(a, b) { | |
| var c = i(a) || "", | |
| d = c.indexOf(e.startSymbol()) > -1; | |
| d ? g(a, b, function() { | |
| return i(a) | |
| }) : f(a, b, c) | |
| } | |
| function i(a) { | |
| function b(b) { | |
| for (; b.parentNode && (b = b.parentNode) !== a;) | |
| if (b.getAttribute && "true" === b.getAttribute("aria-hidden")) return !0 | |
| } | |
| a = a[0] || a; | |
| for (var c, d = document.createTreeWalker(a, NodeFilter.SHOW_TEXT, null, !1), e = ""; c = d.nextNode();) b(c) || (e += c.textContent); | |
| return e.trim() || "" | |
| } | |
| function j(a, b) { | |
| function c(a) { | |
| var b = a.currentStyle ? a.currentStyle : d.getComputedStyle(a); | |
| return "none" === b.display | |
| } | |
| var e = a.hasChildNodes(), | |
| f = !1; | |
| if (e) | |
| for (var g = a.childNodes, h = 0; h < g.length; h++) { | |
| var i = g[h]; | |
| 1 === i.nodeType && i.hasAttribute(b) && (c(i) || (f = !0)) | |
| } | |
| return f | |
| } | |
| return { | |
| expect: f, | |
| expectAsync: g, | |
| expectWithText: h | |
| } | |
| } | |
| b.module("material.core").service("$mdAria", a), a.$inject = ["$$rAF", "$log", "$window", "$interpolate"] | |
| }(), | |
| function() { | |
| function a(a, c, d, e, f) { | |
| this.compile = function(g) { | |
| var h = g.templateUrl, | |
| i = g.template || "", | |
| j = g.controller, | |
| k = g.controllerAs, | |
| l = b.extend({}, g.resolve || {}), | |
| m = b.extend({}, g.locals || {}), | |
| n = g.transformTemplate || b.identity, | |
| o = g.bindToController; | |
| return b.forEach(l, function(a, c) { | |
| b.isString(a) ? l[c] = d.get(a) : l[c] = d.invoke(a) | |
| }), b.extend(l, m), h ? l.$template = c(h).then(function(a) { | |
| return a | |
| }) : l.$template = a.when(i), a.all(l).then(function(a) { | |
| var c, d = n(a.$template, g), | |
| h = g.element || b.element("<div>").html(d.trim()).contents(), | |
| i = e(h); | |
| return c = { | |
| locals: a, | |
| element: h, | |
| link: function(d) { | |
| if (a.$scope = d, j) { | |
| var e = f(j, a, !0); | |
| o && b.extend(e.instance, a); | |
| var g = e(); | |
| h.data("$ngControllerController", g), h.children().data("$ngControllerController", g), k && (d[k] = g), c.controller = g | |
| } | |
| return i(d) | |
| } | |
| } | |
| }) | |
| } | |
| } | |
| b.module("material.core").service("$mdCompiler", a), a.$inject = ["$q", "$templateRequest", "$injector", "$compile", "$controller"] | |
| }(), | |
| function() { | |
| function c() {} | |
| function d(c, d, e) { | |
| function f(a) { | |
| return function(b, c) { | |
| c.distance < this.state.options.maxDistance && this.dispatchEvent(b, a, c) | |
| } | |
| } | |
| function g(a, b, c) { | |
| var d = o[b.replace(/^\$md./, "")]; | |
| if (!d) throw new Error("Failed to register element with handler " + b + ". Available handlers: " + Object.keys(o).join(", ")); | |
| return d.registerElement(a, c) | |
| } | |
| function i(a, d) { | |
| var e = new c(a); | |
| return b.extend(e, d), o[a] = e, q | |
| } | |
| var j = navigator.userAgent || navigator.vendor || a.opera, | |
| l = j.match(/ipad|iphone|ipod/i), | |
| m = j.match(/android/i), | |
| n = "undefined" != typeof a.jQuery && b.element === a.jQuery, | |
| q = { | |
| handler: i, | |
| register: g, | |
| isHijackingClicks: (l || m) && !n && !p | |
| }; | |
| if (q.isHijackingClicks) { | |
| var r = 6; | |
| q.handler("click", { | |
| options: { | |
| maxDistance: r | |
| }, | |
| onEnd: f("click") | |
| }), q.handler("focus", { | |
| options: { | |
| maxDistance: r | |
| }, | |
| onEnd: function(a, b) { | |
| function c(a) { | |
| var b = ["INPUT", "SELECT", "BUTTON", "TEXTAREA", "VIDEO", "AUDIO"]; | |
| return "-1" != a.getAttribute("tabindex") && !a.hasAttribute("DISABLED") && (a.hasAttribute("tabindex") || a.hasAttribute("href") || b.indexOf(a.nodeName) != -1) | |
| } | |
| b.distance < this.state.options.maxDistance && c(a.target) && (this.dispatchEvent(a, "focus", b), a.target.focus()) | |
| } | |
| }), q.handler("mouseup", { | |
| options: { | |
| maxDistance: r | |
| }, | |
| onEnd: f("mouseup") | |
| }), q.handler("mousedown", { | |
| onStart: function(a) { | |
| this.dispatchEvent(a, "mousedown") | |
| } | |
| }) | |
| } | |
| return q.handler("press", { | |
| onStart: function(a, b) { | |
| this.dispatchEvent(a, "$md.pressdown") | |
| }, | |
| onEnd: function(a, b) { | |
| this.dispatchEvent(a, "$md.pressup") | |
| } | |
| }).handler("hold", { | |
| options: { | |
| maxDistance: 6, | |
| delay: 500 | |
| }, | |
| onCancel: function() { | |
| e.cancel(this.state.timeout) | |
| }, | |
| onStart: function(a, c) { | |
| return this.state.registeredParent ? (this.state.pos = { | |
| x: c.x, | |
| y: c.y | |
| }, void(this.state.timeout = e(b.bind(this, function() { | |
| this.dispatchEvent(a, "$md.hold"), this.cancel() | |
| }), this.state.options.delay, !1))) : this.cancel() | |
| }, | |
| onMove: function(a, b) { | |
| a.preventDefault(); | |
| var c = this.state.pos.x - b.x, | |
| d = this.state.pos.y - b.y; | |
| Math.sqrt(c * c + d * d) > this.options.maxDistance && this.cancel() | |
| }, | |
| onEnd: function() { | |
| this.onCancel() | |
| } | |
| }).handler("drag", { | |
| options: { | |
| minDistance: 6, | |
| horizontal: !0, | |
| cancelMultiplier: 1.5 | |
| }, | |
| onStart: function(a) { | |
| this.state.registeredParent || this.cancel() | |
| }, | |
| onMove: function(a, b) { | |
| var c, d; | |
| a.preventDefault(), this.state.dragPointer ? this.dispatchDragMove(a) : (this.state.options.horizontal ? (c = Math.abs(b.distanceX) > this.state.options.minDistance, d = Math.abs(b.distanceY) > this.state.options.minDistance * this.state.options.cancelMultiplier) : (c = Math.abs(b.distanceY) > this.state.options.minDistance, d = Math.abs(b.distanceX) > this.state.options.minDistance * this.state.options.cancelMultiplier), c ? (this.state.dragPointer = h(a), k(a, this.state.dragPointer), this.dispatchEvent(a, "$md.dragstart", this.state.dragPointer)) : d && this.cancel()) | |
| }, | |
| dispatchDragMove: d.throttle(function(a) { | |
| this.state.isRunning && (k(a, this.state.dragPointer), this.dispatchEvent(a, "$md.drag", this.state.dragPointer)) | |
| }), | |
| onEnd: function(a, b) { | |
| this.state.dragPointer && (k(a, this.state.dragPointer), this.dispatchEvent(a, "$md.dragend", this.state.dragPointer)) | |
| } | |
| }).handler("swipe", { | |
| options: { | |
| minVelocity: .65, | |
| minDistance: 10 | |
| }, | |
| onEnd: function(a, b) { | |
| var c; | |
| Math.abs(b.velocityX) > this.state.options.minVelocity && Math.abs(b.distanceX) > this.state.options.minDistance ? (c = "left" == b.directionX ? "$md.swipeleft" : "$md.swiperight", this.dispatchEvent(a, c)) : Math.abs(b.velocityY) > this.state.options.minVelocity && Math.abs(b.distanceY) > this.state.options.minDistance && (c = "up" == b.directionY ? "$md.swipeup" : "$md.swipedown", this.dispatchEvent(a, c)) | |
| } | |
| }) | |
| } | |
| function e(a) { | |
| this.name = a, this.state = {} | |
| } | |
| function f() { | |
| function c(a, c, d) { | |
| d = d || m; | |
| var e = new b.element.Event(c); | |
| e.$material = !0, e.pointer = d, e.srcEvent = a, b.extend(e, { | |
| clientX: d.x, | |
| clientY: d.y, | |
| screenX: d.x, | |
| screenY: d.y, | |
| pageX: d.x, | |
| pageY: d.y, | |
| ctrlKey: a.ctrlKey, | |
| altKey: a.altKey, | |
| shiftKey: a.shiftKey, | |
| metaKey: a.metaKey | |
| }), b.element(d.target).trigger(e) | |
| } | |
| function d(b, c, d) { | |
| d = d || m; | |
| var e; | |
| "click" === c || "mouseup" == c || "mousedown" == c ? (e = document.createEvent("MouseEvents"), e.initMouseEvent(c, !0, !0, a, b.detail, d.x, d.y, d.x, d.y, b.ctrlKey, b.altKey, b.shiftKey, b.metaKey, b.button, b.relatedTarget || null)) : (e = document.createEvent("CustomEvent"), e.initCustomEvent(c, !0, !0, {})), e.$material = !0, e.pointer = d, e.srcEvent = b, d.target.dispatchEvent(e) | |
| } | |
| var f = "undefined" != typeof a.jQuery && b.element === a.jQuery; | |
| return e.prototype = { | |
| options: {}, | |
| dispatchEvent: f ? c : d, | |
| onStart: b.noop, | |
| onMove: b.noop, | |
| onEnd: b.noop, | |
| onCancel: b.noop, | |
| start: function(a, c) { | |
| if (!this.state.isRunning) { | |
| var d = this.getNearestParent(a.target), | |
| e = d && d.$mdGesture[this.name] || {}; | |
| this.state = { | |
| isRunning: !0, | |
| options: b.extend({}, this.options, e), | |
| registeredParent: d | |
| }, this.onStart(a, c) | |
| } | |
| }, | |
| move: function(a, b) { | |
| this.state.isRunning && this.onMove(a, b) | |
| }, | |
| end: function(a, b) { | |
| this.state.isRunning && (this.onEnd(a, b), this.state.isRunning = !1) | |
| }, | |
| cancel: function(a, b) { | |
| this.onCancel(a, b), this.state = {} | |
| }, | |
| getNearestParent: function(a) { | |
| for (var b = a; b;) { | |
| if ((b.$mdGesture || {})[this.name]) return b; | |
| b = b.parentNode | |
| } | |
| return null | |
| }, | |
| registerElement: function(a, b) { | |
| function c() { | |
| delete a[0].$mdGesture[d.name], a.off("$destroy", c) | |
| } | |
| var d = this; | |
| return a[0].$mdGesture = a[0].$mdGesture || {}, a[0].$mdGesture[this.name] = b || {}, a.on("$destroy", c), c | |
| } | |
| }, e | |
| } | |
| function g(a, c) { | |
| function d(a) { | |
| var b = !a.clientX && !a.clientY; | |
| b || a.$material || a.isIonicTap || j(a) || (a.preventDefault(), a.stopPropagation()) | |
| } | |
| function e(a) { | |
| var b = 0 === a.clientX && 0 === a.clientY; | |
| b || a.$material || a.isIonicTap || j(a) ? (q = null, "label" == a.target.tagName.toLowerCase() && (q = { | |
| x: a.x, | |
| y: a.y | |
| })) : (a.preventDefault(), a.stopPropagation(), q = null) | |
| } | |
| function f(a, b) { | |
| var d; | |
| for (var e in o) d = o[e], d instanceof c && ("start" === a && d.cancel(), d[a](b, m)) | |
| } | |
| function g(a) { | |
| if (!m) { | |
| var b = +Date.now(); | |
| n && !i(a, n) && b - n.endTime < 1500 || (m = h(a), f("start", a)) | |
| } | |
| } | |
| function l(a) { | |
| m && i(a, m) && (k(a, m), f("move", a)) | |
| } | |
| function p(a) { | |
| m && i(a, m) && (k(a, m), m.endTime = +Date.now(), f("end", a), n = m, m = null) | |
| } | |
| document.contains || (document.contains = function(a) { | |
| return document.body.contains(a) | |
| }), !r && a.isHijackingClicks && (document.addEventListener("click", e, !0), document.addEventListener("mouseup", d, !0), document.addEventListener("mousedown", d, !0), document.addEventListener("focus", d, !0), r = !0); | |
| var s = "mousedown touchstart pointerdown", | |
| t = "mousemove touchmove pointermove", | |
| u = "mouseup mouseleave touchend touchcancel pointerup pointercancel"; | |
| b.element(document).on(s, g).on(t, l).on(u, p).on("$$mdGestureReset", function() { | |
| n = m = null | |
| }) | |
| } | |
| function h(a) { | |
| var b = l(a), | |
| c = { | |
| startTime: +Date.now(), | |
| target: a.target, | |
| type: a.type.charAt(0) | |
| }; | |
| return c.startX = c.x = b.pageX, c.startY = c.y = b.pageY, c | |
| } | |
| function i(a, b) { | |
| return a && b && a.type.charAt(0) === b.type | |
| } | |
| function j(a) { | |
| return q && q.x == a.x && q.y == a.y | |
| } | |
| function k(a, b) { | |
| var c = l(a), | |
| d = b.x = c.pageX, | |
| e = b.y = c.pageY; | |
| b.distanceX = d - b.startX, b.distanceY = e - b.startY, b.distance = Math.sqrt(b.distanceX * b.distanceX + b.distanceY * b.distanceY), b.directionX = b.distanceX > 0 ? "right" : b.distanceX < 0 ? "left" : "", b.directionY = b.distanceY > 0 ? "down" : b.distanceY < 0 ? "up" : "", b.duration = +Date.now() - b.startTime, b.velocityX = b.distanceX / b.duration, b.velocityY = b.distanceY / b.duration | |
| } | |
| function l(a) { | |
| return a = a.originalEvent || a, a.touches && a.touches[0] || a.changedTouches && a.changedTouches[0] || a | |
| } | |
| var m, n, o = {}, | |
| p = !1, | |
| q = null, | |
| r = !1; | |
| b.module("material.core.gestures", []).provider("$mdGesture", c).factory("$$MdGestureHandler", f).run(g), c.prototype = { | |
| skipClickHijack: function() { | |
| return p = !0 | |
| }, | |
| $get: ["$$MdGestureHandler", "$$rAF", "$timeout", function(a, b, c) { | |
| return new d(a, b, c) | |
| }] | |
| }, d.$inject = ["$$MdGestureHandler", "$$rAF", "$timeout"], g.$inject = ["$mdGesture", "$$MdGestureHandler"] | |
| }(), | |
| function() { | |
| function a() { | |
| function a(a) { | |
| function c(a) { | |
| return i.optionsFactory = a.options, i.methods = (a.methods || []).concat(g), j | |
| } | |
| function d(a, b) { | |
| return h[a] = b, j | |
| } | |
| function e(b, c) { | |
| if (c = c || {}, c.methods = c.methods || [], c.options = c.options || function() { | |
| return {} | |
| }, /^cancel|hide|show$/.test(b)) throw new Error("Preset '" + b + "' in " + a + " is reserved!"); | |
| if (c.methods.indexOf("_options") > -1) throw new Error("Method '_options' in " + a + " is reserved!"); | |
| return i.presets[b] = { | |
| methods: c.methods.concat(g), | |
| optionsFactory: c.options, | |
| argOption: c.argOption | |
| }, j | |
| } | |
| function f(c, d) { | |
| function e(a) { | |
| return a = a || {}, a._options && (a = a._options), l.show(b.extend({}, k, a)) | |
| } | |
| function f(a) { | |
| return l.destroy(a) | |
| } | |
| function g(b, c) { | |
| var e = {}; | |
| return e[a] = m, d.invoke(b || function() { | |
| return c | |
| }, {}, e) | |
| } | |
| var j, k, l = c(), | |
| m = { | |
| hide: l.hide, | |
| cancel: l.cancel, | |
| show: e, | |
| destroy: f | |
| }; | |
| return j = i.methods || [], k = g(i.optionsFactory, {}), b.forEach(h, function(a, b) { | |
| m[b] = a | |
| }), b.forEach(i.presets, function(a, c) { | |
| function d(a) { | |
| this._options = b.extend({}, e, a) | |
| } | |
| var e = g(a.optionsFactory, {}), | |
| f = (a.methods || []).concat(j); | |
| if (b.extend(e, { | |
| $type: c | |
| }), b.forEach(f, function(a) { | |
| d.prototype[a] = function(b) { | |
| return this._options[a] = b, this | |
| } | |
| }), a.argOption) { | |
| var h = "show" + c.charAt(0).toUpperCase() + c.slice(1); | |
| m[h] = function(a) { | |
| var b = m[c](a); | |
| return m.show(b) | |
| } | |
| } | |
| m[c] = function(c) { | |
| return arguments.length && a.argOption && !b.isObject(c) && !b.isArray(c) ? (new d)[a.argOption](c) : new d(c) | |
| } | |
| }), m | |
| } | |
| var g = ["onHide", "onShow", "onRemove"], | |
| h = {}, | |
| i = { | |
| presets: {} | |
| }, | |
| j = { | |
| setDefaults: c, | |
| addPreset: e, | |
| addMethod: d, | |
| $get: f | |
| }; | |
| return j.addPreset("build", { | |
| methods: ["controller", "controllerAs", "resolve", "template", "templateUrl", "themable", "transformTemplate", "parent"] | |
| }), f.$inject = ["$$interimElement", "$injector"], j | |
| } | |
| function d(a, d, e, f, g, h, i, j, k, l, m) { | |
| return function() { | |
| function n(a) { | |
| a = a || {}; | |
| var b = new r(a || {}), | |
| c = !a.skipHide && u.length ? s.cancel() : d.when(!0); | |
| return c.finally(function() { | |
| u.push(b), b.show().catch(function(a) { | |
| return a | |
| }) | |
| }), b.deferred.promise | |
| } | |
| function o(a, b) { | |
| function e(c) { | |
| return c.remove(a, !1, b || {}).catch(function(a) { | |
| return a | |
| }), c.deferred.promise | |
| } | |
| if (!u.length) return d.when(a); | |
| if (b = b || {}, b.closeAll) { | |
| var f = d.all(u.reverse().map(e)); | |
| return u = [], f | |
| } | |
| if (b.closeTo !== c) return d.all(u.splice(b.closeTo).map(e)); | |
| var g = u.pop(); | |
| return e(g) | |
| } | |
| function p(a, c) { | |
| var e = u.pop(); | |
| return e ? (e.remove(a, !0, c || {}).catch(function(a) { | |
| return a | |
| }), e.deferred.promise.catch(b.noop)) : d.when(a) | |
| } | |
| function q(a) { | |
| var c = a ? null : u.shift(), | |
| e = b.element(a).length ? b.element(a)[0].parentNode : null; | |
| if (e) { | |
| var f = u.filter(function(a) { | |
| var b = a.options.element[0]; | |
| return b === e | |
| }); | |
| f.length > 0 && (c = f[0], u.splice(u.indexOf(c), 1)) | |
| } | |
| return c ? c.remove(t, !1, { | |
| $destroy: !0 | |
| }) : d.when(t) | |
| } | |
| function r(m) { | |
| function n() { | |
| return d(function(a, b) { | |
| function c(a) { | |
| x.deferred.reject(a), b(a) | |
| } | |
| q(m).then(function(b) { | |
| y = r(b, m), z = v(y, m, b.controller).then(a, c) | |
| }, c) | |
| }) | |
| } | |
| function o(a, c, e) { | |
| function f(a) { | |
| x.deferred.resolve(a) | |
| } | |
| function g(a) { | |
| x.deferred.reject(a) | |
| } | |
| return y ? (m = b.extend(m || {}, e || {}), m.cancelAutoHide && m.cancelAutoHide(), m.element.triggerHandler("$mdInterimElementRemove"), m.$destroy === !0 ? w(m.element, m).then(function() { | |
| c && g(a) || f(a) | |
| }) : (d.when(z).finally(function() { | |
| w(m.element, m).then(function() { | |
| c && g(a) || f(a) | |
| }, g) | |
| }), x.deferred.promise)) : d.when(!1) | |
| } | |
| function p(a) { | |
| return a = a || {}, a.template && (a.template = j.processTemplate(a.template)), b.extend({ | |
| preserveScope: !1, | |
| cancelAutoHide: b.noop, | |
| scope: a.scope || f.$new(a.isolateScope), | |
| onShow: function(a, b, c) { | |
| return i.enter(b, c.parent) | |
| }, | |
| onRemove: function(a, b) { | |
| return b && i.leave(b) || d.when() | |
| } | |
| }, a) | |
| } | |
| function q(a) { | |
| var b = a.skipCompile ? null : k.compile(a); | |
| return b || d(function(b) { | |
| b({ | |
| locals: {}, | |
| link: function() { | |
| return a.element | |
| } | |
| }) | |
| }) | |
| } | |
| function r(a, c) { | |
| b.extend(a.locals, c); | |
| var d = a.link(c.scope); | |
| return c.element = d, c.parent = t(d, c), c.themable && l(d), d | |
| } | |
| function t(c, d) { | |
| var e = d.parent; | |
| if (e = b.isFunction(e) ? e(d.scope, c, d) : b.isString(e) ? b.element(a[0].querySelector(e)) : b.element(e), !(e || {}).length) { | |
| var f; | |
| return h[0] && h[0].querySelector && (f = h[0].querySelector(":not(svg) > body")), f || (f = h[0]), "#comment" == f.nodeName && (f = a[0].body), b.element(f) | |
| } | |
| return e | |
| } | |
| function u() { | |
| var a, d = b.noop; | |
| m.hideDelay && (a = g(s.hide, m.hideDelay), d = function() { | |
| g.cancel(a) | |
| }), m.cancelAutoHide = function() { | |
| d(), m.cancelAutoHide = c | |
| } | |
| } | |
| function v(a, c, e) { | |
| var f = c.onShowing || b.noop, | |
| g = c.onComplete || b.noop; | |
| return f(c.scope, a, c, e), d(function(b, f) { | |
| try { | |
| d.when(c.onShow(c.scope, a, c, e)).then(function() { | |
| g(c.scope, a, c), u(), b(a) | |
| }, f) | |
| } catch (a) { | |
| f(a.message) | |
| } | |
| }) | |
| } | |
| function w(a, c) { | |
| var d = c.onRemoving || b.noop; | |
| return e(function(b, f) { | |
| try { | |
| var g = e.when(c.onRemove(c.scope, a, c) || !0); | |
| d(a, g), 1 == c.$destroy ? b(a) : g.then(function() { | |
| !c.preserveScope && c.scope && c.scope.$destroy(), b(a) | |
| }, f) | |
| } catch (a) { | |
| f(a) | |
| } | |
| }) | |
| } | |
| var x, y, z = d.when(!0); | |
| return m = p(m), x = { | |
| options: m, | |
| deferred: d.defer(), | |
| show: n, | |
| remove: o | |
| } | |
| } | |
| var s, t = !1, | |
| u = []; | |
| return s = { | |
| show: n, | |
| hide: o, | |
| cancel: p, | |
| destroy: q, | |
| $injector_: m | |
| } | |
| } | |
| } | |
| return a.$get = d, d.$inject = ["$document", "$q", "$$q", "$rootScope", "$timeout", "$rootElement", "$animate", "$mdUtil", "$mdCompiler", "$mdTheming", "$injector"], a | |
| } | |
| b.module("material.core").provider("$$interimElement", a) | |
| }(), | |
| function() { | |
| ! function() { | |
| function a(a) { | |
| function g(a) { | |
| return a.replace(i, "").replace(j, function(a, b, c, d) { | |
| return d ? c.toUpperCase() : c | |
| }) | |
| } | |
| var i = /^((?:x|data)[\:\-_])/i, | |
| j = /([\:\-\_]+(.))/g, | |
| k = ["", "xs", "gt-xs", "sm", "gt-sm", "md", "gt-md", "lg", "gt-lg", "xl", "print"], | |
| l = ["layout", "flex", "flex-order", "flex-offset", "layout-align"], | |
| m = ["show", "hide", "layout-padding", "layout-margin"]; | |
| b.forEach(k, function(c) { | |
| b.forEach(l, function(b) { | |
| var d = c ? b + "-" + c : b; | |
| a.directive(g(d), e(d)) | |
| }), b.forEach(m, function(b) { | |
| var d = c ? b + "-" + c : b; | |
| a.directive(g(d), f(d)) | |
| }) | |
| }), a.directive("mdLayoutCss", c).directive("ngCloak", d("ng-cloak")).directive("layoutWrap", f("layout-wrap")).directive("layoutNowrap", f("layout-nowrap")).directive("layoutNoWrap", f("layout-no-wrap")).directive("layoutFill", f("layout-fill")).directive("layoutLtMd", h("layout-lt-md", !0)).directive("layoutLtLg", h("layout-lt-lg", !0)).directive("flexLtMd", h("flex-lt-md", !0)).directive("flexLtLg", h("flex-lt-lg", !0)).directive("layoutAlignLtMd", h("layout-align-lt-md")).directive("layoutAlignLtLg", h("layout-align-lt-lg")).directive("flexOrderLtMd", h("flex-order-lt-md")).directive("flexOrderLtLg", h("flex-order-lt-lg")).directive("offsetLtMd", h("flex-offset-lt-md")).directive("offsetLtLg", h("flex-offset-lt-lg")).directive("hideLtMd", h("hide-lt-md")).directive("hideLtLg", h("hide-lt-lg")).directive("showLtMd", h("show-lt-md")).directive("showLtLg", h("show-lt-lg")) | |
| } | |
| function c() { | |
| return { | |
| restrict: "A", | |
| priority: "900", | |
| compile: function(a, c) { | |
| return y.enabled = !1, b.noop | |
| } | |
| } | |
| } | |
| function d(a) { | |
| return ["$timeout", function(c) { | |
| return { | |
| restrict: "A", | |
| priority: -10, | |
| compile: function(d) { | |
| return y.enabled ? (d.addClass(a), function(b, d) { | |
| c(function() { | |
| d.removeClass(a) | |
| }, 10, !1) | |
| }) : b.noop | |
| } | |
| } | |
| }] | |
| } | |
| function e(a) { | |
| function c(b, c, d) { | |
| var e = g(c, a, d), | |
| f = d.$observe(d.$normalize(a), e); | |
| e(m(a, d, "")), b.$on("$destroy", function() { | |
| f() | |
| }) | |
| } | |
| return ["$mdUtil", "$interpolate", "$log", function(d, e, f) { | |
| return p = d, q = e, r = f, { | |
| restrict: "A", | |
| compile: function(d, e) { | |
| var f; | |
| return y.enabled && (i(a, e, d, r), j(a, m(a, e, ""), k(d, a, e)), f = c), f || b.noop | |
| } | |
| } | |
| }] | |
| } | |
| function f(a) { | |
| function c(b, c) { | |
| c.addClass(a) | |
| } | |
| return ["$mdUtil", "$interpolate", "$log", function(d, e, f) { | |
| return p = d, q = e, r = f, { | |
| restrict: "A", | |
| compile: function(d, e) { | |
| var f; | |
| return y.enabled && (j(a, m(a, e, ""), k(d, a, e)), c(null, d), f = c), f || b.noop | |
| } | |
| } | |
| }] | |
| } | |
| function g(a, c) { | |
| var d; | |
| return function(e) { | |
| var f = j(c, e || ""); | |
| b.isDefined(f) && (d && a.removeClass(d), d = f ? c + "-" + f.replace(t, "-") : c, a.addClass(d)) | |
| } | |
| } | |
| function h(a) { | |
| var c = a.split("-"); | |
| return ["$log", function(d) { | |
| return d.warn(a + "has been deprecated. Please use a `" + c[0] + "-gt-<xxx>` variant."), b.noop | |
| }] | |
| } | |
| function i(a, b, c, d) { | |
| var e, f, g, h = c[0].nodeName.toLowerCase(); | |
| switch (a.replace(s, "")) { | |
| case "flex": | |
| "md-button" != h && "fieldset" != h || (f = "<" + h + " " + a + "></" + h + ">", g = "https://github.com/philipwalton/flexbugs#9-some-html-elements-cant-be-flex-containers", e = "Markup '{0}' may not work as expected in IE Browsers. Consult '{1}' for details.", d.warn(p.supplant(e, [f, g]))) | |
| } | |
| } | |
| function j(a, c, d) { | |
| var e = c; | |
| if (!l(c)) { | |
| switch (a.replace(s, "")) { | |
| case "layout": | |
| n(c, v) || (c = v[0]); | |
| break; | |
| case "flex": | |
| n(c, u) || isNaN(c) && (c = ""); | |
| break; | |
| case "flex-offset": | |
| case "flex-order": | |
| c && !isNaN(+c) || (c = "0"); | |
| break; | |
| case "layout-align": | |
| var f = o(c); | |
| c = p.supplant("{main}-{cross}", f); | |
| break; | |
| case "layout-padding": | |
| case "layout-margin": | |
| case "layout-fill": | |
| case "layout-wrap": | |
| case "layout-nowrap": | |
| case "layout-nowrap": | |
| c = "" | |
| } | |
| c != e && (d || b.noop)(c) | |
| } | |
| return c | |
| } | |
| function k(a, b, c) { | |
| return function(a) { | |
| l(a) || (c[c.$normalize(b)] = a) | |
| } | |
| } | |
| function l(a) { | |
| return (a || "").indexOf(q.startSymbol()) > -1 | |
| } | |
| function m(a, b, c) { | |
| var d = b.$normalize(a); | |
| return b[d] ? b[d].replace(t, "-") : c || null | |
| } | |
| function n(a, b, c) { | |
| a = c && a ? a.replace(t, c) : a; | |
| var d = !1; | |
| return a && b.forEach(function(b) { | |
| b = c ? b.replace(t, c) : b, d = d || b === a | |
| }), d | |
| } | |
| function o(a) { | |
| var b, c = { | |
| main: "start", | |
| cross: "stretch" | |
| }; | |
| return a = a || "", 0 != a.indexOf("-") && 0 != a.indexOf(" ") || (a = "none" + a), b = a.toLowerCase().trim().replace(t, "-").split("-"), b.length && "space" === b[0] && (b = [b[0] + "-" + b[1], b[2]]), b.length > 0 && (c.main = b[0] || c.main), b.length > 1 && (c.cross = b[1] || c.cross), w.indexOf(c.main) < 0 && (c.main = "start"), x.indexOf(c.cross) < 0 && (c.cross = "stretch"), c | |
| } | |
| var p, q, r, s = /(-gt)?-(sm|md|lg|print)/g, | |
| t = /\s+/g, | |
| u = ["grow", "initial", "auto", "none", "noshrink", "nogrow"], | |
| v = ["row", "column"], | |
| w = ["", "start", "center", "end", "stretch", "space-around", "space-between"], | |
| x = ["", "start", "center", "end", "stretch"], | |
| y = { | |
| enabled: !0, | |
| breakpoints: [] | |
| }; | |
| a(b.module("material.core.layout", ["ng"])) | |
| }() | |
| }(), | |
| function() { | |
| function a(a, d) { | |
| function e(a) { | |
| return a && "" !== a | |
| } | |
| var f, g = [], | |
| h = {}; | |
| return f = { | |
| notFoundError: function(b, c) { | |
| a.error((c || "") + "No instance found for handle", b) | |
| }, | |
| getInstances: function() { | |
| return g | |
| }, | |
| get: function(a) { | |
| if (!e(a)) return null; | |
| var b, c, d; | |
| for (b = 0, c = g.length; b < c; b++) | |
| if (d = g[b], d.$$mdHandle === a) return d; | |
| return null | |
| }, | |
| register: function(a, c) { | |
| function d() { | |
| var b = g.indexOf(a); | |
| b !== -1 && g.splice(b, 1) | |
| } | |
| function e() { | |
| var b = h[c]; | |
| b && (b.forEach(function(b) { | |
| b.resolve(a) | |
| }), delete h[c]) | |
| } | |
| return c ? (a.$$mdHandle = c, g.push(a), e(), d) : b.noop | |
| }, | |
| when: function(a) { | |
| if (e(a)) { | |
| var b = d.defer(), | |
| g = f.get(a); | |
| return g ? b.resolve(g) : (h[a] === c && (h[a] = []), h[a].push(b)), b.promise | |
| } | |
| return d.reject("Invalid `md-component-id` value.") | |
| } | |
| } | |
| } | |
| b.module("material.core").factory("$mdComponentRegistry", a), a.$inject = ["$log", "$q"] | |
| }(), | |
| function() { | |
| ! function() { | |
| function a(a) { | |
| function c(a) { | |
| return a.hasClass("md-icon-button") ? { | |
| isMenuItem: a.hasClass("md-menu-item"), | |
| fitRipple: !0, | |
| center: !0 | |
| } : { | |
| isMenuItem: a.hasClass("md-menu-item"), | |
| dimBackground: !0 | |
| } | |
| } | |
| return { | |
| attach: function(d, e, f) { | |
| return f = b.extend(c(e), f), a.attach(d, e, f) | |
| } | |
| } | |
| } | |
| b.module("material.core").factory("$mdButtonInkRipple", a), a.$inject = ["$mdInkRipple"] | |
| }() | |
| }(), | |
| function() { | |
| ! function() { | |
| function a(a) { | |
| function c(c, d, e) { | |
| return a.attach(c, d, b.extend({ | |
| center: !0, | |
| dimBackground: !1, | |
| fitRipple: !0 | |
| }, e)) | |
| } | |
| return { | |
| attach: c | |
| } | |
| } | |
| b.module("material.core").factory("$mdCheckboxInkRipple", a), a.$inject = ["$mdInkRipple"] | |
| }() | |
| }(), | |
| function() { | |
| ! function() { | |
| function a(a) { | |
| function c(c, d, e) { | |
| return a.attach(c, d, b.extend({ | |
| center: !1, | |
| dimBackground: !0, | |
| outline: !1, | |
| rippleSize: "full" | |
| }, e)) | |
| } | |
| return { | |
| attach: c | |
| } | |
| } | |
| b.module("material.core").factory("$mdListInkRipple", a), a.$inject = ["$mdInkRipple"] | |
| }() | |
| }(), | |
| function() { | |
| function a(a, c) { | |
| return { | |
| controller: b.noop, | |
| link: function(b, d, e) { | |
| e.hasOwnProperty("mdInkRippleCheckbox") ? c.attach(b, d) : a.attach(b, d) | |
| } | |
| } | |
| } | |
| function c() { | |
| function a() { | |
| c = !0 | |
| } | |
| var c = !1; | |
| return { | |
| disableInkRipple: a, | |
| $get: ["$injector", function(a) { | |
| function e(e, f, g) { | |
| return c || f.controller("mdNoInk") ? b.noop : a.instantiate(d, { | |
| $scope: e, | |
| $element: f, | |
| rippleOptions: g | |
| }) | |
| } | |
| return { | |
| attach: e | |
| } | |
| }] | |
| } | |
| } | |
| function d(a, c, d, e, f, g, h) { | |
| this.$window = e, this.$timeout = f, this.$mdUtil = g, this.$mdColorUtil = h, this.$scope = a, this.$element = c, this.options = d, this.mousedown = !1, this.ripples = [], this.timeout = null, this.lastRipple = null, g.valueOnUse(this, "container", this.createContainer), this.$element.addClass("md-ink-ripple"), (c.controller("mdInkRipple") || {}).createRipple = b.bind(this, this.createRipple), (c.controller("mdInkRipple") || {}).setColor = b.bind(this, this.color), this.bindEvents() | |
| } | |
| function e(a, c) { | |
| (a.mousedown || a.lastRipple) && (a.mousedown = !1, a.$mdUtil.nextTick(b.bind(a, c), !1)) | |
| } | |
| function f() { | |
| return { | |
| controller: b.noop | |
| } | |
| } | |
| b.module("material.core").provider("$mdInkRipple", c).directive("mdInkRipple", a).directive("mdNoInk", f).directive("mdNoBar", f).directive("mdNoStretch", f); | |
| var g = 450; | |
| a.$inject = ["$mdButtonInkRipple", "$mdCheckboxInkRipple"], d.$inject = ["$scope", "$element", "rippleOptions", "$window", "$timeout", "$mdUtil", "$mdColorUtil"], d.prototype.color = function(a) { | |
| function c() { | |
| var a = d.options && d.options.colorElement ? d.options.colorElement : [], | |
| b = a.length ? a[0] : d.$element[0]; | |
| return b ? d.$window.getComputedStyle(b).color : "rgb(0,0,0)" | |
| } | |
| var d = this; | |
| return b.isDefined(a) && (d._color = d._parseColor(a)), d._color || d._parseColor(d.inkRipple()) || d._parseColor(c()) | |
| }, d.prototype.calculateColor = function() { | |
| return this.color() | |
| }, d.prototype._parseColor = function(a, b) { | |
| b = b || 1; | |
| var c = this.$mdColorUtil; | |
| if (a) return 0 === a.indexOf("rgba") ? a.replace(/\d?\.?\d*\s*\)\s*$/, (.1 * b).toString() + ")") : 0 === a.indexOf("rgb") ? c.rgbToRgba(a) : 0 === a.indexOf("#") ? c.hexToRgba(a) : void 0 | |
| }, d.prototype.bindEvents = function() { | |
| this.$element.on("mousedown", b.bind(this, this.handleMousedown)), this.$element.on("mouseup touchend", b.bind(this, this.handleMouseup)), this.$element.on("mouseleave", b.bind(this, this.handleMouseup)), this.$element.on("touchmove", b.bind(this, this.handleTouchmove)) | |
| }, d.prototype.handleMousedown = function(a) { | |
| if (!this.mousedown) | |
| if (a.hasOwnProperty("originalEvent") && (a = a.originalEvent), this.mousedown = !0, this.options.center) this.createRipple(this.container.prop("clientWidth") / 2, this.container.prop("clientWidth") / 2); | |
| else if (a.srcElement !== this.$element[0]) { | |
| var b = this.$element[0].getBoundingClientRect(), | |
| c = a.clientX - b.left, | |
| d = a.clientY - b.top; | |
| this.createRipple(c, d) | |
| } else this.createRipple(a.offsetX, a.offsetY) | |
| }, d.prototype.handleMouseup = function() { | |
| e(this, this.clearRipples) | |
| }, d.prototype.handleTouchmove = function() { | |
| e(this, this.deleteRipples) | |
| }, d.prototype.deleteRipples = function() { | |
| for (var a = 0; a < this.ripples.length; a++) this.ripples[a].remove() | |
| }, d.prototype.clearRipples = function() { | |
| for (var a = 0; a < this.ripples.length; a++) this.fadeInComplete(this.ripples[a]) | |
| }, d.prototype.createContainer = function() { | |
| var a = b.element('<div class="md-ripple-container"></div>'); | |
| return this.$element.append(a), a | |
| }, d.prototype.clearTimeout = function() { | |
| this.timeout && (this.$timeout.cancel(this.timeout), this.timeout = null) | |
| }, d.prototype.isRippleAllowed = function() { | |
| var a = this.$element[0]; | |
| do { | |
| if (!a.tagName || "BODY" === a.tagName) break; | |
| if (a && b.isFunction(a.hasAttribute)) { | |
| if (a.hasAttribute("disabled")) return !1; | |
| if ("false" === this.inkRipple() || "0" === this.inkRipple()) return !1 | |
| } | |
| } while (a = a.parentNode); | |
| return !0 | |
| }, d.prototype.inkRipple = function() { | |
| return this.$element.attr("md-ink-ripple") | |
| }, d.prototype.createRipple = function(a, c) { | |
| function d(a, b, c) { | |
| return a ? Math.max(b, c) : Math.sqrt(Math.pow(b, 2) + Math.pow(c, 2)) | |
| } | |
| if (this.isRippleAllowed()) { | |
| var e = this, | |
| f = e.$mdColorUtil, | |
| h = b.element('<div class="md-ripple"></div>'), | |
| i = this.$element.prop("clientWidth"), | |
| j = this.$element.prop("clientHeight"), | |
| k = 2 * Math.max(Math.abs(i - a), a), | |
| l = 2 * Math.max(Math.abs(j - c), c), | |
| m = d(this.options.fitRipple, k, l), | |
| n = this.calculateColor(); | |
| h.css({ | |
| left: a + "px", | |
| top: c + "px", | |
| background: "black", | |
| width: m + "px", | |
| height: m + "px", | |
| backgroundColor: f.rgbaToRgb(n), | |
| borderColor: f.rgbaToRgb(n) | |
| }), this.lastRipple = h, this.clearTimeout(), this.timeout = this.$timeout(function() { | |
| e.clearTimeout(), e.mousedown || e.fadeInComplete(h) | |
| }, .35 * g, !1), this.options.dimBackground && this.container.css({ | |
| backgroundColor: n | |
| }), this.container.append(h), this.ripples.push(h), h.addClass("md-ripple-placed"), this.$mdUtil.nextTick(function() { | |
| h.addClass("md-ripple-scaled md-ripple-active"), e.$timeout(function() { | |
| e.clearRipples() | |
| }, g, !1) | |
| }, !1) | |
| } | |
| }, d.prototype.fadeInComplete = function(a) { | |
| this.lastRipple === a ? this.timeout || this.mousedown || this.removeRipple(a) : this.removeRipple(a) | |
| }, d.prototype.removeRipple = function(a) { | |
| var b = this, | |
| c = this.ripples.indexOf(a); | |
| c < 0 || (this.ripples.splice(this.ripples.indexOf(a), 1), a.removeClass("md-ripple-active"), 0 === this.ripples.length && this.container.css({ | |
| backgroundColor: "" | |
| }), this.$timeout(function() { | |
| b.fadeOutComplete(a) | |
| }, g, !1)) | |
| }, d.prototype.fadeOutComplete = function(a) { | |
| a.remove(), this.lastRipple = null | |
| } | |
| }(), | |
| function() { | |
| ! function() { | |
| function a(a) { | |
| function c(c, d, e) { | |
| return a.attach(c, d, b.extend({ | |
| center: !1, | |
| dimBackground: !0, | |
| outline: !1, | |
| rippleSize: "full" | |
| }, e)) | |
| } | |
| return { | |
| attach: c | |
| } | |
| } | |
| b.module("material.core").factory("$mdTabInkRipple", a), a.$inject = ["$mdInkRipple"] | |
| }() | |
| }(), | |
| function() { | |
| b.module("material.core.theming.palette", []).constant("$mdColorPalette", { | |
| red: { | |
| 50: "#ffebee", | |
| 100: "#ffcdd2", | |
| 200: "#ef9a9a", | |
| 300: "#e57373", | |
| 400: "#ef5350", | |
| 500: "#f44336", | |
| 600: "#e53935", | |
| 700: "#d32f2f", | |
| 800: "#c62828", | |
| 900: "#b71c1c", | |
| A100: "#ff8a80", | |
| A200: "#ff5252", | |
| A400: "#ff1744", | |
| A700: "#d50000", | |
| contrastDefaultColor: "light", | |
| contrastDarkColors: "50 100 200 300 A100", | |
| contrastStrongLightColors: "400 500 600 700 A200 A400 A700" | |
| }, | |
| pink: { | |
| 50: "#fce4ec", | |
| 100: "#f8bbd0", | |
| 200: "#f48fb1", | |
| 300: "#f06292", | |
| 400: "#ec407a", | |
| 500: "#e91e63", | |
| 600: "#d81b60", | |
| 700: "#c2185b", | |
| 800: "#ad1457", | |
| 900: "#880e4f", | |
| A100: "#ff80ab", | |
| A200: "#ff4081", | |
| A400: "#f50057", | |
| A700: "#c51162", | |
| contrastDefaultColor: "light", | |
| contrastDarkColors: "50 100 200 A100", | |
| contrastStrongLightColors: "500 600 A200 A400 A700" | |
| }, | |
| purple: { | |
| 50: "#f3e5f5", | |
| 100: "#e1bee7", | |
| 200: "#ce93d8", | |
| 300: "#ba68c8", | |
| 400: "#ab47bc", | |
| 500: "#9c27b0", | |
| 600: "#8e24aa", | |
| 700: "#7b1fa2", | |
| 800: "#6a1b9a", | |
| 900: "#4a148c", | |
| A100: "#ea80fc", | |
| A200: "#e040fb", | |
| A400: "#d500f9", | |
| A700: "#aa00ff", | |
| contrastDefaultColor: "light", | |
| contrastDarkColors: "50 100 200 A100", | |
| contrastStrongLightColors: "300 400 A200 A400 A700" | |
| }, | |
| "deep-purple": { | |
| 50: "#ede7f6", | |
| 100: "#d1c4e9", | |
| 200: "#b39ddb", | |
| 300: "#9575cd", | |
| 400: "#7e57c2", | |
| 500: "#673ab7", | |
| 600: "#5e35b1", | |
| 700: "#512da8", | |
| 800: "#4527a0", | |
| 900: "#311b92", | |
| A100: "#b388ff", | |
| A200: "#7c4dff", | |
| A400: "#651fff", | |
| A700: "#6200ea", | |
| contrastDefaultColor: "light", | |
| contrastDarkColors: "50 100 200 A100", | |
| contrastStrongLightColors: "300 400 A200" | |
| }, | |
| indigo: { | |
| 50: "#e8eaf6", | |
| 100: "#c5cae9", | |
| 200: "#9fa8da", | |
| 300: "#7986cb", | |
| 400: "#5c6bc0", | |
| 500: "#3f51b5", | |
| 600: "#3949ab", | |
| 700: "#303f9f", | |
| 800: "#283593", | |
| 900: "#1a237e", | |
| A100: "#8c9eff", | |
| A200: "#536dfe", | |
| A400: "#3d5afe", | |
| A700: "#304ffe", | |
| contrastDefaultColor: "light", | |
| contrastDarkColors: "50 100 200 A100", | |
| contrastStrongLightColors: "300 400 A200 A400" | |
| }, | |
| blue: { | |
| 50: "#e3f2fd", | |
| 100: "#bbdefb", | |
| 200: "#90caf9", | |
| 300: "#64b5f6", | |
| 400: "#42a5f5", | |
| 500: "#2196f3", | |
| 600: "#1e88e5", | |
| 700: "#1976d2", | |
| 800: "#1565c0", | |
| 900: "#0d47a1", | |
| A100: "#82b1ff", | |
| A200: "#448aff", | |
| A400: "#2979ff", | |
| A700: "#2962ff", | |
| contrastDefaultColor: "light", | |
| contrastDarkColors: "50 100 200 300 400 A100", | |
| contrastStrongLightColors: "500 600 700 A200 A400 A700" | |
| }, | |
| "light-blue": { | |
| 50: "#e1f5fe", | |
| 100: "#b3e5fc", | |
| 200: "#81d4fa", | |
| 300: "#4fc3f7", | |
| 400: "#29b6f6", | |
| 500: "#03a9f4", | |
| 600: "#039be5", | |
| 700: "#0288d1", | |
| 800: "#0277bd", | |
| 900: "#01579b", | |
| A100: "#80d8ff", | |
| A200: "#40c4ff", | |
| A400: "#00b0ff", | |
| A700: "#0091ea", | |
| contrastDefaultColor: "dark", | |
| contrastLightColors: "600 700 800 900 A700", | |
| contrastStrongLightColors: "600 700 800 A700" | |
| }, | |
| cyan: { | |
| 50: "#e0f7fa", | |
| 100: "#b2ebf2", | |
| 200: "#80deea", | |
| 300: "#4dd0e1", | |
| 400: "#26c6da", | |
| 500: "#00bcd4", | |
| 600: "#00acc1", | |
| 700: "#0097a7", | |
| 800: "#00838f", | |
| 900: "#006064", | |
| A100: "#84ffff", | |
| A200: "#18ffff", | |
| A400: "#00e5ff", | |
| A700: "#00b8d4", | |
| contrastDefaultColor: "dark", | |
| contrastLightColors: "700 800 900", | |
| contrastStrongLightColors: "700 800 900" | |
| }, | |
| teal: { | |
| 50: "#e0f2f1", | |
| 100: "#b2dfdb", | |
| 200: "#80cbc4", | |
| 300: "#4db6ac", | |
| 400: "#26a69a", | |
| 500: "#009688", | |
| 600: "#00897b", | |
| 700: "#00796b", | |
| 800: "#00695c", | |
| 900: "#004d40", | |
| A100: "#a7ffeb", | |
| A200: "#64ffda", | |
| A400: "#1de9b6", | |
| A700: "#00bfa5", | |
| contrastDefaultColor: "dark", | |
| contrastLightColors: "500 600 700 800 900", | |
| contrastStrongLightColors: "500 600 700" | |
| }, | |
| green: { | |
| 50: "#e8f5e9", | |
| 100: "#c8e6c9", | |
| 200: "#a5d6a7", | |
| 300: "#81c784", | |
| 400: "#66bb6a", | |
| 500: "#4caf50", | |
| 600: "#43a047", | |
| 700: "#388e3c", | |
| 800: "#2e7d32", | |
| 900: "#1b5e20", | |
| A100: "#b9f6ca", | |
| A200: "#69f0ae", | |
| A400: "#00e676", | |
| A700: "#00c853", | |
| contrastDefaultColor: "dark", | |
| contrastLightColors: "500 600 700 800 900", | |
| contrastStrongLightColors: "500 600 700" | |
| }, | |
| "light-green": { | |
| 50: "#f1f8e9", | |
| 100: "#dcedc8", | |
| 200: "#c5e1a5", | |
| 300: "#aed581", | |
| 400: "#9ccc65", | |
| 500: "#8bc34a", | |
| 600: "#7cb342", | |
| 700: "#689f38", | |
| 800: "#558b2f", | |
| 900: "#33691e", | |
| A100: "#ccff90", | |
| A200: "#b2ff59", | |
| A400: "#76ff03", | |
| A700: "#64dd17", | |
| contrastDefaultColor: "dark", | |
| contrastLightColors: "700 800 900", | |
| contrastStrongLightColors: "700 800 900" | |
| }, | |
| lime: { | |
| 50: "#f9fbe7", | |
| 100: "#f0f4c3", | |
| 200: "#e6ee9c", | |
| 300: "#dce775", | |
| 400: "#d4e157", | |
| 500: "#cddc39", | |
| 600: "#c0ca33", | |
| 700: "#afb42b", | |
| 800: "#9e9d24", | |
| 900: "#827717", | |
| A100: "#f4ff81", | |
| A200: "#eeff41", | |
| A400: "#c6ff00", | |
| A700: "#aeea00", | |
| contrastDefaultColor: "dark", | |
| contrastLightColors: "900", | |
| contrastStrongLightColors: "900" | |
| }, | |
| yellow: { | |
| 50: "#fffde7", | |
| 100: "#fff9c4", | |
| 200: "#fff59d", | |
| 300: "#fff176", | |
| 400: "#ffee58", | |
| 500: "#ffeb3b", | |
| 600: "#fdd835", | |
| 700: "#fbc02d", | |
| 800: "#f9a825", | |
| 900: "#f57f17", | |
| A100: "#ffff8d", | |
| A200: "#ffff00", | |
| A400: "#ffea00", | |
| A700: "#ffd600", | |
| contrastDefaultColor: "dark" | |
| }, | |
| amber: { | |
| 50: "#fff8e1", | |
| 100: "#ffecb3", | |
| 200: "#ffe082", | |
| 300: "#ffd54f", | |
| 400: "#ffca28", | |
| 500: "#ffc107", | |
| 600: "#ffb300", | |
| 700: "#ffa000", | |
| 800: "#ff8f00", | |
| 900: "#ff6f00", | |
| A100: "#ffe57f", | |
| A200: "#ffd740", | |
| A400: "#ffc400", | |
| A700: "#ffab00", | |
| contrastDefaultColor: "dark" | |
| }, | |
| orange: { | |
| 50: "#fff3e0", | |
| 100: "#ffe0b2", | |
| 200: "#ffcc80", | |
| 300: "#ffb74d", | |
| 400: "#ffa726", | |
| 500: "#ff9800", | |
| 600: "#fb8c00", | |
| 700: "#f57c00", | |
| 800: "#ef6c00", | |
| 900: "#e65100", | |
| A100: "#ffd180", | |
| A200: "#ffab40", | |
| A400: "#ff9100", | |
| A700: "#ff6d00", | |
| contrastDefaultColor: "dark", | |
| contrastLightColors: "800 900", | |
| contrastStrongLightColors: "800 900" | |
| }, | |
| "deep-orange": { | |
| 50: "#fbe9e7", | |
| 100: "#ffccbc", | |
| 200: "#ffab91", | |
| 300: "#ff8a65", | |
| 400: "#ff7043", | |
| 500: "#ff5722", | |
| 600: "#f4511e", | |
| 700: "#e64a19", | |
| 800: "#d84315", | |
| 900: "#bf360c", | |
| A100: "#ff9e80", | |
| A200: "#ff6e40", | |
| A400: "#ff3d00", | |
| A700: "#dd2c00", | |
| contrastDefaultColor: "light", | |
| contrastDarkColors: "50 100 200 300 400 A100 A200", | |
| contrastStrongLightColors: "500 600 700 800 900 A400 A700" | |
| }, | |
| brown: { | |
| 50: "#efebe9", | |
| 100: "#d7ccc8", | |
| 200: "#bcaaa4", | |
| 300: "#a1887f", | |
| 400: "#8d6e63", | |
| 500: "#795548", | |
| 600: "#6d4c41", | |
| 700: "#5d4037", | |
| 800: "#4e342e", | |
| 900: "#3e2723", | |
| A100: "#d7ccc8", | |
| A200: "#bcaaa4", | |
| A400: "#8d6e63", | |
| A700: "#5d4037", | |
| contrastDefaultColor: "light", | |
| contrastDarkColors: "50 100 200 A100 A200", | |
| contrastStrongLightColors: "300 400" | |
| }, | |
| grey: { | |
| 50: "#fafafa", | |
| 100: "#f5f5f5", | |
| 200: "#eeeeee", | |
| 300: "#e0e0e0", | |
| 400: "#bdbdbd", | |
| 500: "#9e9e9e", | |
| 600: "#757575", | |
| 700: "#616161", | |
| 800: "#424242", | |
| 900: "#212121", | |
| A100: "#ffffff", | |
| A200: "#000000", | |
| A400: "#303030", | |
| A700: "#616161", | |
| contrastDefaultColor: "dark", | |
| contrastLightColors: "600 700 800 900 A200 A400 A700" | |
| }, | |
| "blue-grey": { | |
| 50: "#eceff1", | |
| 100: "#cfd8dc", | |
| 200: "#b0bec5", | |
| 300: "#90a4ae", | |
| 400: "#78909c", | |
| 500: "#607d8b", | |
| 600: "#546e7a", | |
| 700: "#455a64", | |
| 800: "#37474f", | |
| 900: "#263238", | |
| A100: "#cfd8dc", | |
| A200: "#b0bec5", | |
| A400: "#78909c", | |
| A700: "#455a64", | |
| contrastDefaultColor: "light", | |
| contrastDarkColors: "50 100 200 300 A100 A200", | |
| contrastStrongLightColors: "400 500 700" | |
| } | |
| }) | |
| }(), | |
| function() { | |
| function a(a) { | |
| function d(a, b) { | |
| return b = b || {}, l[a] = g(a, b), r | |
| } | |
| function e(a, c) { | |
| return g(a, b.extend({}, l[a] || {}, c)) | |
| } | |
| function g(a, b) { | |
| var c = y.filter(function(a) { | |
| return !b[a] | |
| }); | |
| if (c.length) throw new Error("Missing colors %1 in palette %2!".replace("%1", c.join(", ")).replace("%2", a)); | |
| return b | |
| } | |
| function i(a, c) { | |
| if (s[a]) return s[a]; | |
| c = c || "default"; | |
| var d = "string" == typeof c ? s[c] : c, | |
| e = new j(a); | |
| return d && b.forEach(d.colors, function(a, c) { | |
| e.colors[c] = { | |
| name: a.name, | |
| hues: b.extend({}, a.hues) | |
| } | |
| }), s[a] = e, e | |
| } | |
| function j(a) { | |
| function c(a) { | |
| if (a = 0 === arguments.length || !!a, a !== d.isDark) { | |
| d.isDark = a, d.foregroundPalette = d.isDark ? o : n, d.foregroundShadow = d.isDark ? p : q; | |
| var c = d.isDark ? x : w, | |
| e = d.isDark ? w : x; | |
| return b.forEach(c, function(a, b) { | |
| var c = d.colors[b], | |
| f = e[b]; | |
| if (c) | |
| for (var g in c.hues) c.hues[g] === f[g] && (c.hues[g] = a[g]) | |
| }), d | |
| } | |
| } | |
| var d = this; | |
| d.name = a, d.colors = {}, d.dark = c, c(!1), u.forEach(function(a) { | |
| var c = (d.isDark ? x : w)[a]; | |
| d[a + "Palette"] = function(e, f) { | |
| var g = d.colors[a] = { | |
| name: e, | |
| hues: b.extend({}, c, f) | |
| }; | |
| return Object.keys(g.hues).forEach(function(a) { | |
| if (!c[a]) throw new Error("Invalid hue name '%1' in theme %2's %3 color %4. Available hue names: %4".replace("%1", a).replace("%2", d.name).replace("%3", e).replace("%4", Object.keys(c).join(", "))) | |
| }), Object.keys(g.hues).map(function(a) { | |
| return g.hues[a] | |
| }).forEach(function(b) { | |
| if (y.indexOf(b) == -1) throw new Error("Invalid hue value '%1' in theme %2's %3 color %4. Available hue values: %5".replace("%1", b).replace("%2", d.name).replace("%3", a).replace("%4", e).replace("%5", y.join(", "))) | |
| }), d | |
| }, d[a + "Color"] = function() { | |
| var b = Array.prototype.slice.call(arguments); | |
| return console.warn("$mdThemingProviderTheme." + a + "Color() has been deprecated. Use $mdThemingProviderTheme." + a + "Palette() instead."), d[a + "Palette"].apply(d, b) | |
| } | |
| }) | |
| } | |
| function m(a, d) { | |
| function e(a) { | |
| return a === c || "" === a || g.THEMES[a] !== c | |
| } | |
| function f(c, f) { | |
| function g() { | |
| return i = f.controller("mdTheme") || c.data("$mdThemeController"), i && i.$mdTheme || ("default" == t ? "" : t) | |
| } | |
| function h(a) { | |
| if (a) { | |
| e(a) || d.warn("Attempted to use unregistered theme '" + a + "'. Register it with $mdThemingProvider.theme()."); | |
| var b = c.data("$mdThemeName"); | |
| b && c.removeClass("md-" + b + "-theme"), c.addClass("md-" + a + "-theme"), c.data("$mdThemeName", a), i && c.data("$mdThemeController", i) | |
| } | |
| } | |
| var i = f.controller("mdTheme"), | |
| j = c.attr("md-theme-watch"), | |
| k = (v || b.isDefined(j)) && "false" != j; | |
| h(g()), c.on("$destroy", k ? a.$watch(g, h) : b.noop) | |
| } | |
| var g = function(b, d) { | |
| d === c && (d = b, b = c), b === c && (b = a), g.inherit(d, d) | |
| }; | |
| return g.THEMES = b.extend({}, s), g.PALETTES = b.extend({}, l), g.inherit = f, g.registered = e, g.defaultTheme = function() { | |
| return t | |
| }, g.generateTheme = function(a) { | |
| h(s[a], a, A) | |
| }, g | |
| } | |
| l = {}; | |
| var r, s = {}, | |
| t = "default", | |
| v = !1; | |
| return b.extend(l, a), m.$inject = ["$rootScope", "$log"], r = { | |
| definePalette: d, | |
| extendPalette: e, | |
| theme: i, | |
| disableTheming: function() { | |
| B = !0 | |
| }, | |
| setNonce: function(a) { | |
| A = a | |
| }, | |
| setDefaultTheme: function(a) { | |
| t = a | |
| }, | |
| alwaysWatchTheme: function(a) { | |
| v = a | |
| }, | |
| generateThemesOnDemand: function(a) { | |
| z = a | |
| }, | |
| $get: m, | |
| _LIGHT_DEFAULT_HUES: w, | |
| _DARK_DEFAULT_HUES: x, | |
| _PALETTES: l, | |
| _THEMES: s, | |
| _parseRules: f, | |
| _rgba: k | |
| } | |
| } | |
| function d(a, c, d) { | |
| return { | |
| priority: 100, | |
| link: { | |
| pre: function(e, f, g) { | |
| var h = [], | |
| i = { | |
| registerChanges: function(a, c) { | |
| return c && (a = b.bind(c, a)), h.push(a), | |
| function() { | |
| var b = h.indexOf(a); | |
| b > -1 && h.splice(b, 1) | |
| } | |
| }, | |
| $setTheme: function(b) { | |
| a.registered(b) || d.warn("attempted to use unregistered theme '" + b + "'"), i.$mdTheme = b, h.forEach(function(a) { | |
| a() | |
| }) | |
| } | |
| }; | |
| f.data("$mdThemeController", i), i.$setTheme(c(g.mdTheme)(e)), g.$observe("mdTheme", i.$setTheme) | |
| } | |
| } | |
| } | |
| } | |
| function e(a) { | |
| return a | |
| } | |
| function f(a, c, d) { | |
| i(a, c), d = d.replace(/THEME_NAME/g, a.name); | |
| var e = [], | |
| f = a.colors[c], | |
| g = new RegExp(".md-" + a.name + "-theme", "g"), | |
| h = new RegExp("('|\")?{{\\s*(" + c + ")-(color|contrast)-?(\\d\\.?\\d*)?\\s*}}(\"|')?", "g"), | |
| j = /'?"?\{\{\s*([a-zA-Z]+)-(A?\d+|hue\-[0-3]|shadow|default)-?(\d\.?\d*)?(contrast)?\s*\}\}'?"?/g, | |
| m = l[f.name]; | |
| return d = d.replace(j, function(b, c, d, e, f) { | |
| return "foreground" === c ? "shadow" == d ? a.foregroundShadow : a.foregroundPalette[d] || a.foregroundPalette[1] : (0 !== d.indexOf("hue") && "default" !== d || (d = a.colors[c].hues[d]), k((l[a.colors[c].name][d] || "")[f ? "contrast" : "value"], e)) | |
| }), b.forEach(f.hues, function(b, c) { | |
| var f = d.replace(h, function(a, c, d, e, f) { | |
| return k(m[b]["color" === e ? "value" : "contrast"], f) | |
| }); | |
| if ("default" !== c && (f = f.replace(g, ".md-" + a.name + "-theme.md-" + c)), "default" == a.name) { | |
| var i = /((?:(?:(?: |>|\.|\w|-|:|\(|\)|\[|\]|"|'|=)+) )?)((?:(?:\w|\.|-)+)?)\.md-default-theme((?: |>|\.|\w|-|:|\(|\)|\[|\]|"|'|=)*)/g; | |
| f = f.replace(i, function(a, b, c, d) { | |
| return a + ", " + b + c + d | |
| }) | |
| } | |
| e.push(f) | |
| }), e | |
| } | |
| function g(a, c) { | |
| function d(a, c) { | |
| var d = a.contrastDefaultColor, | |
| e = a.contrastLightColors || [], | |
| f = a.contrastStrongLightColors || [], | |
| g = a.contrastDarkColors || []; | |
| "string" == typeof e && (e = e.split(" ")), "string" == typeof f && (f = f.split(" ")), "string" == typeof g && (g = g.split(" ")), delete a.contrastDefaultColor, delete a.contrastLightColors, delete a.contrastStrongLightColors, delete a.contrastDarkColors, b.forEach(a, function(c, h) { | |
| function i() { | |
| return "light" === d ? g.indexOf(h) > -1 ? r : f.indexOf(h) > -1 ? t : s : e.indexOf(h) > -1 ? f.indexOf(h) > -1 ? t : s : r | |
| } | |
| if (!b.isObject(c)) { | |
| var k = j(c); | |
| if (!k) throw new Error("Color %1, in palette %2's hue %3, is invalid. Hex or rgb(a) color expected.".replace("%1", c).replace("%2", a.name).replace("%3", h)); | |
| a[h] = { | |
| value: k, | |
| contrast: i() | |
| } | |
| } | |
| }) | |
| } | |
| var e = document.head, | |
| f = e ? e.firstElementChild : null, | |
| g = !B && a.has("$MD_THEME_CSS") ? a.get("$MD_THEME_CSS") : ""; | |
| if (f && 0 !== g.length) { | |
| b.forEach(l, d); | |
| var i = g.split(/\}(?!(\}|'|"|;))/).filter(function(a) { | |
| return a && a.length | |
| }).map(function(a) { | |
| return a.trim() + "}" | |
| }), | |
| k = new RegExp("md-(" + u.join("|") + ")", "g"); | |
| u.forEach(function(a) { | |
| C[a] = "" | |
| }), i.forEach(function(a) { | |
| for (var b, c = (a.match(k), 0); b = u[c]; c++) | |
| if (a.indexOf(".md-" + b) > -1) return C[b] += a; | |
| for (c = 0; b = u[c]; c++) | |
| if (a.indexOf(b) > -1) return C[b] += a; | |
| return C[v] += a | |
| }), z || b.forEach(c.THEMES, function(a) { | |
| m[a.name] || "default" !== c.defaultTheme() && "default" === a.name || h(a, a.name, A) | |
| }) | |
| } | |
| } | |
| function h(a, b, c) { | |
| var d = document.head, | |
| e = d ? d.firstElementChild : null; | |
| m[b] || (u.forEach(function(b) { | |
| for (var g = f(a, b, C[b]); g.length;) { | |
| var h = g.shift(); | |
| if (h) { | |
| var i = document.createElement("style"); | |
| i.setAttribute("md-theme-style", ""), c && i.setAttribute("nonce", c), i.appendChild(document.createTextNode(h)), d.insertBefore(i, e) | |
| } | |
| } | |
| }), m[a.name] = !0) | |
| } | |
| function i(a, b) { | |
| if (!l[(a.colors[b] || {}).name]) throw new Error("You supplied an invalid color palette for theme %1's %2 palette. Available palettes: %3".replace("%1", a.name).replace("%2", b).replace("%3", Object.keys(l).join(", "))) | |
| } | |
| function j(a) { | |
| if (b.isArray(a) && 3 == a.length) return a; | |
| if (/^rgb/.test(a)) return a.replace(/(^\s*rgba?\(|\)\s*$)/g, "").split(",").map(function(a, b) { | |
| return 3 == b ? parseFloat(a, 10) : parseInt(a, 10) | |
| }); | |
| if ("#" == a.charAt(0) && (a = a.substring(1)), /^([a-fA-F0-9]{3}){1,2}$/g.test(a)) { | |
| var c = a.length / 3, | |
| d = a.substr(0, c), | |
| e = a.substr(c, c), | |
| f = a.substr(2 * c); | |
| return 1 === c && (d += d, e += e, f += f), [parseInt(d, 16), parseInt(e, 16), parseInt(f, 16)] | |
| } | |
| } | |
| function k(a, c) { | |
| return a ? (4 == a.length && (a = b.copy(a), c ? a.pop() : c = a.pop()), c && ("number" == typeof c || "string" == typeof c && c.length) ? "rgba(" + a.join(",") + "," + c + ")" : "rgb(" + a.join(",") + ")") : "rgb('0,0,0')" | |
| } | |
| b.module("material.core.theming", ["material.core.theming.palette"]).directive("mdTheme", d).directive("mdThemable", e).provider("$mdTheming", a).run(g); | |
| var l, m = {}, | |
| n = { | |
| name: "dark", | |
| 1: "rgba(0,0,0,0.87)", | |
| 2: "rgba(0,0,0,0.54)", | |
| 3: "rgba(0,0,0,0.38)", | |
| 4: "rgba(0,0,0,0.12)" | |
| }, | |
| o = { | |
| name: "light", | |
| 1: "rgba(255,255,255,1.0)", | |
| 2: "rgba(255,255,255,0.7)", | |
| 3: "rgba(255,255,255,0.5)", | |
| 4: "rgba(255,255,255,0.12)" | |
| }, | |
| p = "1px 1px 0px rgba(0,0,0,0.4), -1px -1px 0px rgba(0,0,0,0.4)", | |
| q = "", | |
| r = j("rgba(0,0,0,0.87)"), | |
| s = j("rgba(255,255,255,0.87)"), | |
| t = j("rgb(255,255,255)"), | |
| u = ["primary", "accent", "warn", "background"], | |
| v = "primary", | |
| w = { | |
| accent: { | |
| default: "A200", | |
| "hue-1": "A100", | |
| "hue-2": "A400", | |
| "hue-3": "A700" | |
| }, | |
| background: { | |
| default: "50", | |
| "hue-1": "A100", | |
| "hue-2": "100", | |
| "hue-3": "300" | |
| } | |
| }, | |
| x = { | |
| background: { | |
| default: "A400", | |
| "hue-1": "800", | |
| "hue-2": "900", | |
| "hue-3": "A200" | |
| } | |
| }; | |
| u.forEach(function(a) { | |
| var b = { | |
| default: "500", | |
| "hue-1": "300", | |
| "hue-2": "800", | |
| "hue-3": "A100" | |
| }; | |
| w[a] || (w[a] = b), x[a] || (x[a] = b) | |
| }); | |
| var y = ["50", "100", "200", "300", "400", "500", "600", "700", "800", "900", "A100", "A200", "A400", "A700"], | |
| z = !1, | |
| A = null, | |
| B = !1; | |
| a.$inject = ["$mdColorPalette"], d.$inject = ["$mdTheming", "$interpolate", "$log"], e.$inject = ["$mdTheming"]; | |
| var C = {}; | |
| g.$inject = ["$injector", "$mdTheming"] | |
| }(), | |
| function() { | |
| function c(c, d, e, f, g) { | |
| var h; | |
| return h = { | |
| translate3d: function(a, b, c, d) { | |
| function e(c) { | |
| return g(a, { | |
| to: c || b, | |
| addClass: d.transitionOutClass, | |
| removeClass: d.transitionInClass | |
| }).start() | |
| } | |
| return g(a, { | |
| from: b, | |
| to: c, | |
| addClass: d.transitionInClass, | |
| removeClass: d.transitionOutClass | |
| }).start().then(function() { | |
| return e | |
| }) | |
| }, | |
| waitTransitionEnd: function(b, c) { | |
| var g = 3e3; | |
| return d(function(d, h) { | |
| function i(a) { | |
| a && a.target !== b[0] || (a && e.cancel(k), b.off(f.CSS.TRANSITIONEND, i), d()) | |
| } | |
| function j(c) { | |
| return c = c || a.getComputedStyle(b[0]), "0s" == c.transitionDuration || !c.transition && !c.transitionProperty | |
| } | |
| c = c || {}, j(c.cachedTransitionStyles) && (g = 0); | |
| var k = e(i, c.timeout || g); | |
| b.on(f.CSS.TRANSITIONEND, i) | |
| }) | |
| }, | |
| calculateTransformValues: function(a, b) { | |
| function c() { | |
| var b = a ? a.parent() : null, | |
| c = b ? b.parent() : null; | |
| return c ? h.clientRect(c) : null | |
| } | |
| var d = b.element, | |
| e = b.bounds; | |
| if (d || e) { | |
| var f = d ? h.clientRect(d) || c() : h.copyRect(e), | |
| g = h.copyRect(a[0].getBoundingClientRect()), | |
| i = h.centerPointFor(g), | |
| j = h.centerPointFor(f); | |
| return { | |
| centerX: j.x - i.x, | |
| centerY: j.y - i.y, | |
| scaleX: Math.round(100 * Math.min(.5, f.width / g.width)) / 100, | |
| scaleY: Math.round(100 * Math.min(.5, f.height / g.height)) / 100 | |
| } | |
| } | |
| return { | |
| centerX: 0, | |
| centerY: 0, | |
| scaleX: .5, | |
| scaleY: .5 | |
| } | |
| }, | |
| calculateZoomToOrigin: function(a, d) { | |
| var e = "translate3d( {centerX}px, {centerY}px, 0 ) scale( {scaleX}, {scaleY} )", | |
| f = b.bind(null, c.supplant, e); | |
| return f(h.calculateTransformValues(a, d)) | |
| }, | |
| calculateSlideToOrigin: function(a, d) { | |
| var e = "translate3d( {centerX}px, {centerY}px, 0 )", | |
| f = b.bind(null, c.supplant, e); | |
| return f(h.calculateTransformValues(a, d)) | |
| }, | |
| toCss: function(a) { | |
| function c(a, c, e) { | |
| b.forEach(c.split(" "), function(a) { | |
| d[a] = e | |
| }) | |
| } | |
| var d = {}, | |
| e = "left top right bottom width height x y min-width min-height max-width max-height"; | |
| return b.forEach(a, function(a, g) { | |
| if (!b.isUndefined(a)) | |
| if (e.indexOf(g) >= 0) d[g] = a + "px"; | |
| else switch (g) { | |
| case "transition": | |
| c(g, f.CSS.TRANSITION, a); | |
| break; | |
| case "transform": | |
| c(g, f.CSS.TRANSFORM, a); | |
| break; | |
| case "transformOrigin": | |
| c(g, f.CSS.TRANSFORM_ORIGIN, a) | |
| } | |
| }), d | |
| }, | |
| toTransformCss: function(a, c, d) { | |
| var e = {}; | |
| return b.forEach(f.CSS.TRANSFORM.split(" "), function(b) { | |
| e[b] = a | |
| }), c && (d = d || "all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1) !important", e.transition = d), e | |
| }, | |
| copyRect: function(a, c) { | |
| return a ? (c = c || {}, b.forEach("left top right bottom width height".split(" "), function(b) { | |
| c[b] = Math.round(a[b]) | |
| }), c.width = c.width || c.right - c.left, c.height = c.height || c.bottom - c.top, c) : null | |
| }, | |
| clientRect: function(a) { | |
| var c = b.element(a)[0].getBoundingClientRect(), | |
| d = function(a) { | |
| return a && a.width > 0 && a.height > 0 | |
| }; | |
| return d(c) ? h.copyRect(c) : null | |
| }, | |
| centerPointFor: function(a) { | |
| return a ? { | |
| x: Math.round(a.left + a.width / 2), | |
| y: Math.round(a.top + a.height / 2) | |
| } : { | |
| x: 0, | |
| y: 0 | |
| } | |
| } | |
| } | |
| } | |
| b.module("material.core").factory("$$mdAnimate", ["$q", "$timeout", "$mdConstant", "$animateCss", function(a, b, d, e) { | |
| return function(f) { | |
| return c(f, a, b, d, e) | |
| } | |
| }]) | |
| }(), | |
| function() { | |
| b.version.minor >= 4 ? b.module("material.core.animate", []) : ! function() { | |
| function a(a) { | |
| return a.replace(/-[a-z]/g, function(a) { | |
| return a.charAt(1).toUpperCase() | |
| }) | |
| } | |
| var c = b.forEach, | |
| d = b.isDefined(document.documentElement.style.WebkitAppearance), | |
| e = d ? "-webkit-" : "", | |
| f = (d ? "webkitTransitionEnd " : "") + "transitionend", | |
| g = (d ? "webkitAnimationEnd " : "") + "animationend", | |
| h = ["$document", function(a) { | |
| return function() { | |
| return a[0].body.clientWidth + 1 | |
| } | |
| }], | |
| i = ["$$rAF", function(a) { | |
| return function() { | |
| var b = !1; | |
| return a(function() { | |
| b = !0 | |
| }), | |
| function(c) { | |
| b ? c() : a(c) | |
| } | |
| } | |
| }], | |
| j = ["$q", "$$rAFMutex", function(a, d) { | |
| function e(a) { | |
| this.setHost(a), this._doneCallbacks = [], this._runInAnimationFrame = d(), this._state = 0 | |
| } | |
| var f = 0, | |
| g = 1, | |
| h = 2; | |
| return e.prototype = { | |
| setHost: function(a) { | |
| this.host = a || {} | |
| }, | |
| done: function(a) { | |
| this._state === h ? a() : this._doneCallbacks.push(a) | |
| }, | |
| progress: b.noop, | |
| getPromise: function() { | |
| if (!this.promise) { | |
| var b = this; | |
| this.promise = a(function(a, c) { | |
| b.done(function(b) { | |
| b === !1 ? c() : a() | |
| }) | |
| }) | |
| } | |
| return this.promise | |
| }, | |
| then: function(a, b) { | |
| return this.getPromise().then(a, b) | |
| }, | |
| catch: function(a) { | |
| return this.getPromise().catch(a) | |
| }, | |
| finally: function(a) { | |
| return this.getPromise().finally(a) | |
| }, | |
| pause: function() { | |
| this.host.pause && this.host.pause() | |
| }, | |
| resume: function() { | |
| this.host.resume && this.host.resume() | |
| }, | |
| end: function() { | |
| this.host.end && this.host.end(), this._resolve(!0) | |
| }, | |
| cancel: function() { | |
| this.host.cancel && this.host.cancel(), this._resolve(!1) | |
| }, | |
| complete: function(a) { | |
| var b = this; | |
| b._state === f && (b._state = g, b._runInAnimationFrame(function() { | |
| b._resolve(a) | |
| })) | |
| }, | |
| _resolve: function(a) { | |
| this._state !== h && (c(this._doneCallbacks, function(b) { | |
| b(a) | |
| }), this._doneCallbacks.length = 0, this._state = h) | |
| } | |
| }, e | |
| }]; | |
| b.module("material.core.animate", []).factory("$$forceReflow", h).factory("$$AnimateRunner", j).factory("$$rAFMutex", i).factory("$animateCss", ["$window", "$$rAF", "$$AnimateRunner", "$$forceReflow", "$$jqLite", "$timeout", "$animate", function(b, h, i, j, k, l, m) { | |
| function n(d, h) { | |
| var j = [], | |
| k = v(d), | |
| n = k && m.enabled(), | |
| q = !1, | |
| x = !1; | |
| n && (h.transitionStyle && j.push([e + "transition", h.transitionStyle]), h.keyframeStyle && j.push([e + "animation", h.keyframeStyle]), h.delay && j.push([e + "transition-delay", h.delay + "s"]), h.duration && j.push([e + "transition-duration", h.duration + "s"]), q = h.keyframeStyle || h.to && (h.duration > 0 || h.transitionStyle), x = !!h.addClass || !!h.removeClass, w(d, !0)); | |
| var y = n && (q || x); | |
| t(d, h); | |
| var z, A, B = !1; | |
| return { | |
| close: b.close, | |
| start: function() { | |
| function b() { | |
| if (!B) return B = !0, z && A && d.off(z, A), o(d, h), s(d, h), c(j, function(b) { | |
| k.style[a(b[0])] = "" | |
| }), m.complete(!0), m | |
| } | |
| var m = new i; | |
| return r(function() { | |
| if (w(d, !1), !y) return b(); | |
| c(j, function(b) { | |
| var c = b[0], | |
| d = b[1]; | |
| k.style[a(c)] = d | |
| }), o(d, h); | |
| var i = p(d); | |
| if (0 === i.duration) return b(); | |
| var m = []; | |
| h.easing && (i.transitionDuration && m.push([e + "transition-timing-function", h.easing]), i.animationDuration && m.push([e + "animation-timing-function", h.easing])), h.delay && i.animationDelay && m.push([e + "animation-delay", h.delay + "s"]), h.duration && i.animationDuration && m.push([e + "animation-duration", h.duration + "s"]), c(m, function(b) { | |
| var c = b[0], | |
| d = b[1]; | |
| k.style[a(c)] = d, j.push(b) | |
| }); | |
| var n = i.delay, | |
| q = 1e3 * n, | |
| r = i.duration, | |
| s = 1e3 * r, | |
| t = Date.now(); | |
| z = [], i.transitionDuration && z.push(f), i.animationDuration && z.push(g), z = z.join(" "), A = function(a) { | |
| a.stopPropagation(); | |
| var c = a.originalEvent || a, | |
| d = c.timeStamp || Date.now(), | |
| e = parseFloat(c.elapsedTime.toFixed(3)); | |
| Math.max(d - t, 0) >= q && e >= r && b() | |
| }, d.on(z, A), u(d, h), l(b, q + 1.5 * s, !1) | |
| }), m | |
| } | |
| } | |
| } | |
| function o(a, b) { | |
| b.addClass && (k.addClass(a, b.addClass), b.addClass = null), b.removeClass && (k.removeClass(a, b.removeClass), b.removeClass = null) | |
| } | |
| function p(a) { | |
| function c(a) { | |
| return d ? "Webkit" + a.charAt(0).toUpperCase() + a.substr(1) : a | |
| } | |
| var e = v(a), | |
| f = b.getComputedStyle(e), | |
| g = q(f[c("transitionDuration")]), | |
| h = q(f[c("animationDuration")]), | |
| i = q(f[c("transitionDelay")]), | |
| j = q(f[c("animationDelay")]); | |
| h *= parseInt(f[c("animationIterationCount")], 10) || 1; | |
| var k = Math.max(h, g), | |
| l = Math.max(j, i); | |
| return { | |
| duration: k, | |
| delay: l, | |
| animationDuration: h, | |
| transitionDuration: g, | |
| animationDelay: j, | |
| transitionDelay: i | |
| } | |
| } | |
| function q(a) { | |
| var b = 0, | |
| d = (a || "").split(/\s*,\s*/); | |
| return c(d, function(a) { | |
| "s" == a.charAt(a.length - 1) && (a = a.substring(0, a.length - 1)), a = parseFloat(a) || 0, b = b ? Math.max(a, b) : a | |
| }), b | |
| } | |
| function r(a) { | |
| x && x(), y.push(a), x = h(function() { | |
| x = null; | |
| for (var a = j(), b = 0; b < y.length; b++) y[b](a); | |
| y.length = 0 | |
| }) | |
| } | |
| function s(a, b) { | |
| t(a, b), u(a, b) | |
| } | |
| function t(a, b) { | |
| b.from && (a.css(b.from), b.from = null) | |
| } | |
| function u(a, b) { | |
| b.to && (a.css(b.to), b.to = null) | |
| } | |
| function v(a) { | |
| for (var b = 0; b < a.length; b++) | |
| if (1 === a[b].nodeType) return a[b] | |
| } | |
| function w(b, c) { | |
| var d = v(b), | |
| f = a(e + "transition-delay"); | |
| d.style[f] = c ? "-9999s" : "" | |
| } | |
| var x, y = []; | |
| return n | |
| }]) | |
| }() | |
| }(), | |
| function() { | |
| b.module("material.components.autocomplete", ["material.core", "material.components.icon", "material.components.virtualRepeat"]) | |
| }(), | |
| function() { | |
| b.module("material.components.backdrop", ["material.core"]).directive("mdBackdrop", ["$mdTheming", "$mdUtil", "$animate", "$rootElement", "$window", "$log", "$$rAF", "$document", function(a, b, c, d, e, f, g, h) { | |
| function i(b, i, k) { | |
| c.pin && c.pin(i, d), g(function() { | |
| var b = e.getComputedStyle(h[0].body); | |
| if ("fixed" == b.position) { | |
| var c = parseInt(b.height, 10) + Math.abs(parseInt(b.top, 10)); | |
| i.css({ | |
| height: c + "px" | |
| }) | |
| } | |
| var d = i.parent()[0]; | |
| if (d) { | |
| "BODY" == d.nodeName && i.css({ | |
| position: "fixed" | |
| }); | |
| var g = e.getComputedStyle(d); | |
| "static" == g.position && f.warn(j) | |
| } | |
| i.parent().length && a.inherit(i, i.parent()) | |
| }) | |
| } | |
| var j = "<md-backdrop> may not work properly in a scrolled, static-positioned parent container."; | |
| return { | |
| restrict: "E", | |
| link: i | |
| } | |
| }]) | |
| }(), | |
| function() { | |
| function a(a) { | |
| return { | |
| restrict: "E", | |
| link: function(b, c) { | |
| a(c) | |
| } | |
| } | |
| } | |
| function c(a, c, d, e) { | |
| function |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment