!(function(t, e, n) {
"use strict"; function r(t, e) { return ( (e = e || Error), function() { var n, r, i = arguments[0], a = "[" + (t ? t + ":" : "") + i + "] ", o = arguments[1], s = arguments; for ( n = a + o.replace(/\{\d+\}/g, function(t) { var e = +t.slice(1, -1); return e + 2 < s.length ? de(s[e + 2]) : t; }), n = n + "\nhttp://errors.angularjs.org/1.3.13/" + (t ? t + "/" : "") + i, r = 2; r < arguments.length; r++ ) n = n + (2 == r ? "?" : "&") + "p" + (r - 2) + "=" + encodeURIComponent(de(arguments[r])); return new e(n); } ); } function i(t) { if (null == t || C(t)) return !1; var e = t.length; return t.nodeType === gi && e ? !0 : b(t) || ci(t) || 0 === e || ("number" == typeof e && e > 0 && e - 1 in t); } function a(t, e, n) { var r, o; if (t) if (k(t)) for (r in t) "prototype" == r || "length" == r || "name" == r || (t.hasOwnProperty && !t.hasOwnProperty(r)) || e.call(n, t[r], r, t); else if (ci(t) || i(t)) { var s = "object" != typeof t; for (r = 0, o = t.length; o > r; r++) (s || r in t) && e.call(n, t[r], r, t); } else if (t.forEach && t.forEach !== a) t.forEach(e, n, t); else for (r in t) t.hasOwnProperty(r) && e.call(n, t[r], r, t); return t; } function o(t) { return Object.keys(t).sort(); } function s(t, e, n) { for (var r = o(t), i = 0; i < r.length; i++) e.call(n, t[r[i]], r[i]); return r; } function u(t) { return function(e, n) { t(n, e); }; } function l() { return ++ui; } function c(t, e) { e ? (t.$$hashKey = e) : delete t.$$hashKey; } function f(t) { for (var e = t.$$hashKey, n = 1, r = arguments.length; r > n; n++) { var i = arguments[n]; if (i) for (var a = Object.keys(i), o = 0, s = a.length; s > o; o++) { var u = a[o]; t[u] = i[u]; } } return c(t, e), t; } function d(t) { return parseInt(t, 10); } function h(t, e) { return f(Object.create(t), e); } function p() {} function $(t) { return t; } function m(t) { return function() { return t; }; } function g(t) { return "undefined" == typeof t; } function v(t) { return "undefined" != typeof t; } function y(t) { return null !== t && "object" == typeof t; } function b(t) { return "string" == typeof t; } function w(t) { return "number" == typeof t; } function x(t) { return "[object Date]" === ai.call(t); } function k(t) { return "function" == typeof t; } function S(t) { return "[object RegExp]" === ai.call(t); } function C(t) { return t && t.window === t; } function A(t) { return t && t.$evalAsync && t.$watch; } function O(t) { return "[object File]" === ai.call(t); } function E(t) { return "[object FormData]" === ai.call(t); } function j(t) { return "[object Blob]" === ai.call(t); } function N(t) { return "boolean" == typeof t; } function T(t) { return t && k(t.then); } function M(t) { return !(!t || !(t.nodeName || (t.prop && t.attr && t.find))); } function P(t) { var e, n = {}, r = t.split(","); for (e = 0; e < r.length; e++) n[r[e]] = !0; return n; } function V(t) { return Wr(t.nodeName || (t[0] && t[0].nodeName)); } function q(t, e) { var n = t.indexOf(e); return n >= 0 && t.splice(n, 1), e; } function D(t, e, n, r) { if (C(t) || A(t)) throw oi( "cpws", "Can't copy! Making copies of Window or Scope instances is not supported." ); if (e) { if (t === e) throw oi("cpi", "Can't copy! Source and destination are identical."); if (((n = n || []), (r = r || []), y(t))) { var i = n.indexOf(t); if (-1 !== i) return r[i]; n.push(t), r.push(e); } var o; if (ci(t)) { e.length = 0; for (var s = 0; s < t.length; s++) (o = D(t[s], null, n, r)), y(t[s]) && (n.push(t[s]), r.push(o)), e.push(o); } else { var u = e.$$hashKey; ci(e) ? (e.length = 0) : a(e, function(t, n) { delete e[n]; }); for (var l in t) t.hasOwnProperty(l) && ((o = D(t[l], null, n, r)), y(t[l]) && (n.push(t[l]), r.push(o)), (e[l] = o)); c(e, u); } } else if (((e = t), t)) if (ci(t)) e = D(t, [], n, r); else if (x(t)) e = new Date(t.getTime()); else if (S(t)) (e = new RegExp(t.source, t.toString().match(/[^\/]*$/)[0])), (e.lastIndex = t.lastIndex); else if (y(t)) { var f = Object.create(Object.getPrototypeOf(t)); e = D(t, f, n, r); } return e; } function R(t, e) { if (ci(t)) { e = e || []; for (var n = 0, r = t.length; r > n; n++) e[n] = t[n]; } else if (y(t)) { e = e || {}; for (var i in t) ("$" !== i.charAt(0) || "$" !== i.charAt(1)) && (e[i] = t[i]); } return e || t; } function I(t, e) { if (t === e) return !0; if (null === t || null === e) return !1; if (t !== t && e !== e) return !0; var r, i, a, o = typeof t, s = typeof e; if (o == s && "object" == o) { if (!ci(t)) { if (x(t)) return x(e) ? I(t.getTime(), e.getTime()) : !1; if (S(t) && S(e)) return t.toString() == e.toString(); if (A(t) || A(e) || C(t) || C(e) || ci(e)) return !1; a = {}; for (i in t) if ("$" !== i.charAt(0) && !k(t[i])) { if (!I(t[i], e[i])) return !1; a[i] = !0; } for (i in e) if ( !a.hasOwnProperty(i) && "$" !== i.charAt(0) && e[i] !== n && !k(e[i]) ) return !1; return !0; } if (!ci(e)) return !1; if ((r = t.length) == e.length) { for (i = 0; r > i; i++) if (!I(t[i], e[i])) return !1; return !0; } } return !1; } function _(t, e, n) { return t.concat(ni.call(e, n)); } function U(t, e) { return ni.call(t, e || 0); } function L(t, e) { var n = arguments.length > 2 ? U(arguments, 2) : []; return !k(e) || e instanceof RegExp ? e : n.length ? function() { return arguments.length ? e.apply(t, _(n, arguments, 0)) : e.apply(t, n); } : function() { return arguments.length ? e.apply(t, arguments) : e.call(t); }; } function F(t, r) { var i = r; return ( "string" == typeof t && "$" === t.charAt(0) && "$" === t.charAt(1) ? (i = n) : C(r) ? (i = "$WINDOW") : r && e === r ? (i = "$DOCUMENT") : A(r) && (i = "$SCOPE"), i ); } function H(t, e) { return "undefined" == typeof t ? n : (w(e) || (e = e ? 2 : null), JSON.stringify(t, F, e)); } function B(t) { return b(t) ? JSON.parse(t) : t; } function z(t) { t = Qr(t).clone(); try { t.empty(); } catch (e) {}var n = Qr("
")
.append(t) .html(); try { return t[0].nodeType === vi ? Wr(n) : n.match(/^(<[^>]+>)/)[1].replace(/^<([\w\-]+)/, function(t, e) { return "<" + Wr(e); }); } catch (e) { return Wr(n); } } function G(t) { try { return decodeURIComponent(t); } catch (e) {} } function W(t) { var e, n, r = {}; return ( a((t || "").split("&"), function(t) { if ( t && ((e = t.replace(/\+/g, "%20").split("=")), (n = G(e[0])), v(n)) ) { var i = v(e[1]) ? G(e[1]) : !0; Jr.call(r, n) ? ci(r[n]) ? r[n].push(i) : (r[n] = [r[n], i]) : (r[n] = i); } }), r ); } function J(t) { var e = []; return ( a(t, function(t, n) { ci(t) ? a(t, function(t) { e.push(Z(n, !0) + (t === !0 ? "" : "=" + Z(t, !0))); }) : e.push(Z(n, !0) + (t === !0 ? "" : "=" + Z(t, !0))); }), e.length ? e.join("&") : "" ); } function Y(t) { return Z(t, !0) .replace(/%26/gi, "&") .replace(/%3D/gi, "=") .replace(/%2B/gi, "+"); } function Z(t, e) { return encodeURIComponent(t) .replace(/%40/gi, "@") .replace(/%3A/gi, ":") .replace(/%24/g, "$") .replace(/%2C/gi, ",") .replace(/%3B/gi, ";") .replace(/%20/g, e ? "%20" : "+"); } function K(t, e) { var n, r, i = pi.length; for (t = Qr(t), r = 0; i > r; ++r) if (((n = pi[r] + e), b((n = t.attr(n))))) return n; return null; } function X(t, e) { var n, r, i = {}; a(pi, function(e) { var i = e + "app"; !n && t.hasAttribute && t.hasAttribute(i) && ((n = t), (r = t.getAttribute(i))); }), a(pi, function(e) { var i, a = e + "app"; !n && (i = t.querySelector("[" + a.replace(":", "\\:") + "]")) && ((n = i), (r = i.getAttribute(a))); }), n && ((i.strictDi = null !== K(n, "strict-di")), e(n, r ? [r] : [], i)); } function Q(n, r, i) { y(i) || (i = {}); var o = { strictDi: !1 }; i = f(o, i); var s = function() { if (((n = Qr(n)), n.injector())) { var t = n[0] === e ? "document" : z(n); throw oi( "btstrpd", "App Already Bootstrapped with this Element '{0}'", t.replace(/</, "<").replace(/>/, ">") ); } (r = r || []), r.unshift([ "$provide", function(t) { t.value("$rootElement", n); } ]), i.debugInfoEnabled && r.push([ "$compileProvider", function(t) { t.debugInfoEnabled(!0); } ]), r.unshift("ng"); var a = Be(r, i.strictDi); return ( a.invoke([ "$rootScope", "$rootElement", "$compile", "$injector", function(t, e, n, r) { t.$apply(function() { e.data("$injector", r), n(e)(t); }); } ]), a ); }, u = /^NG_ENABLE_DEBUG_INFO!/, l = /^NG_DEFER_BOOTSTRAP!/; return ( t && u.test(t.name) && ((i.debugInfoEnabled = !0), (t.name = t.name.replace(u, ""))), t && !l.test(t.name) ? s() : ((t.name = t.name.replace(l, "")), (si.resumeBootstrap = function(t) { return ( a(t, function(t) { r.push(t); }), s() ); }), k(si.resumeDeferredBootstrap) && si.resumeDeferredBootstrap(), void 0) ); } function te() { (t.name = "NG_ENABLE_DEBUG_INFO!" + t.name), t.location.reload(); } function ee(t) { var e = si.element(t).injector(); if (!e) throw oi( "test", "no injector found for element argument to getTestability" ); return e.get("$$testability"); } function ne(t, e) { return ( (e = e || "_"), t.replace($i, function(t, n) { return (n ? e : "") + t.toLowerCase(); }) ); } function re() { var e; mi || ((ti = t.jQuery), ti && ti.fn.on ? ((Qr = ti), f(ti.fn, { scope: Di.scope, isolateScope: Di.isolateScope, controller: Di.controller, injector: Di.injector, inheritedData: Di.inheritedData }), (e = ti.cleanData), (ti.cleanData = function(t) { var n; if (li) li = !1; else for (var r, i = 0; null != (r = t[i]); i++) (n = ti._data(r, "events")), n && n.$destroy && ti(r).triggerHandler("$destroy"); e(t); })) : (Qr = be), (si.element = Qr), (mi = !0)); } function ie(t, e, n) { if (!t) throw oi("areq", "Argument '{0}' is {1}", e || "?", n || "required"); return t; } function ae(t, e, n) { return ( n && ci(t) && (t = t[t.length - 1]), ie( k(t), e, "not a function, got " + (t && "object" == typeof t ? t.constructor.name || "Object" : typeof t) ), t ); } function oe(t, e) { if ("hasOwnProperty" === t) throw oi("badname", "hasOwnProperty is not a valid {0} name", e); } function se(t, e, n) { if (!e) return t; for (var r, i = e.split("."), a = t, o = i.length, s = 0; o > s; s++) (r = i[s]), t && (t = (a = t)[r]); return !n && k(t) ? L(a, t) : t; } function ue(t) { var e = t[0], n = t[t.length - 1], r = [e]; do { if (((e = e.nextSibling), !e)) break; r.push(e); } while (e !== n); return Qr(r); } function le() { return Object.create(null); } function ce(t) { function e(t, e, n) { return t[e] || (t[e] = n()); } var n = r("$injector"), i = r("ng"), a = e(t, "angular", Object); return ( (a.$$minErr = a.$$minErr || r), e(a, "module", function() { var t = {}; return function(r, a, o) { var s = function(t, e) { if ("hasOwnProperty" === t) throw i("badname", "hasOwnProperty is not a valid {0} name", e); }; return ( s(r, "module"), a && t.hasOwnProperty(r) && (t[r] = null), e(t, r, function() { function t(t, n, r, i) { return ( i || (i = e), function() { return i[r || "push"]([t, n, arguments]), l; } ); } if (!a) throw n( "nomod", "Module '{0}' is not available! You either misspelled the module name or forgot to load it. If registering a module ensure that you specify the dependencies as the second argument.", r ); var e = [], i = [], s = [], u = t("$injector", "invoke", "push", i), l = { _invokeQueue: e, _configBlocks: i, _runBlocks: s, requires: a, name: r, provider: t("$provide", "provider"), factory: t("$provide", "factory"), service: t("$provide", "service"), value: t("$provide", "value"), constant: t("$provide", "constant", "unshift"), animation: t("$animateProvider", "register"), filter: t("$filterProvider", "register"), controller: t("$controllerProvider", "register"), directive: t("$compileProvider", "directive"), config: u, run: function(t) { return s.push(t), this; } }; return o && u(o), l; }) ); }; }) ); } function fe(t) { var e = []; return JSON.stringify(t, function(t, n) { if (((n = F(t, n)), y(n))) { if (e.indexOf(n) >= 0) return "<<already seen>>"; e.push(n); } return n; }); } function de(t) { return "function" == typeof t ? t.toString().replace(/ \{[\s\S]*$/, "") : "undefined" == typeof t ? "undefined" : "string" != typeof t ? fe(t) : t; } function he(e) { f(e, { bootstrap: Q, copy: D, extend: f, equals: I, element: Qr, forEach: a, injector: Be, noop: p, bind: L, toJson: H, fromJson: B, identity: $, isUndefined: g, isDefined: v, isString: b, isFunction: k, isObject: y, isNumber: w, isElement: M, isArray: ci, version: xi, isDate: x, lowercase: Wr, uppercase: Yr, callbacks: { counter: 0 }, getTestability: ee, $$minErr: r, $$csp: hi, reloadWithDebugInfo: te }), (ei = ce(t)); try { ei("ngLocale"); } catch (n) { ei("ngLocale", []).provider("$locale", gn); } ei( "ng", ["ngLocale"], [ "$provide", function(t) { t.provider({ $$sanitizeUri: Yn }), t .provider("$compile", Ke) .directive({ a: Ea, input: za, textarea: za, form: Pa, script: qo, select: Io, style: Uo, option: _o, ngBind: Ja, ngBindHtml: Za, ngBindTemplate: Ya, ngClass: Xa, ngClassEven: to, ngClassOdd: Qa, ngCloak: eo, ngController: no, ngForm: Va, ngHide: jo, ngIf: ao, ngInclude: oo, ngInit: uo, ngNonBindable: ko, ngPluralize: So, ngRepeat: Co, ngShow: Eo, ngStyle: No, ngSwitch: To, ngSwitchWhen: Mo, ngSwitchDefault: Po, ngOptions: Ro, ngTransclude: Vo, ngModel: bo, ngList: lo, ngChange: Ka, pattern: Fo, ngPattern: Fo, required: Lo, ngRequired: Lo, minlength: Bo, ngMinlength: Bo, maxlength: Ho, ngMaxlength: Ho, ngValue: Wa, ngModelOptions: xo }) .directive({ ngInclude: so }) .directive(ja) .directive(ro), t.provider({ $anchorScroll: ze, $animate: Gi, $browser: Je, $cacheFactory: Ye, $controller: en, $document: nn, $exceptionHandler: rn, $filter: sr, $interpolate: $n, $interval: mn, $http: fn, $httpBackend: hn, $location: Tn, $log: Mn, $parse: Hn, $rootScope: Jn, $q: Bn, $$q: zn, $sce: Qn, $sceDelegate: Xn, $sniffer: tr, $templateCache: Ze, $templateRequest: er, $$testability: nr, $timeout: rr, $window: or, $$rAF: Wn, $$asyncCallback: Ge, $$jqLite: _e }); } ] ); } function pe() { return ++Si; } function $e(t) { return t .replace(Oi, function(t, e, n, r) { return r ? n.toUpperCase() : n; }) .replace(Ei, "Moz$1"); } function me(t) { return !Mi.test(t); } function ge(t) { var e = t.nodeType; return e === gi || !e || e === bi; } function ve(t, e) { var n, r, i, o, s = e.createDocumentFragment(), u = []; if (me(t)) u.push(e.createTextNode(t)); else { for ( n = n || s.appendChild(e.createElement("div")), r = (Pi.exec(t) || ["", ""])[1].toLowerCase(), i = qi[r] || qi._default, n.innerHTML = i[1] + t.replace(Vi, "<$1></$2>") + i[2], o = i[0]; o--;
) n = n.lastChild; (u = _(u, n.childNodes)), (n = s.firstChild), (n.textContent = ""); } return ( (s.textContent = ""), (s.innerHTML = ""), a(u, function(t) { s.appendChild(t); }), s ); } function ye(t, n) { n = n || e; var r; return (r = Ti.exec(t)) ? [n.createElement(r[1])] : (r = ve(t, n)) ? r.childNodes : []; } function be(t) { if (t instanceof be) return t; var e; if ((b(t) && ((t = fi(t)), (e = !0)), !(this instanceof be))) { if (e && "<" != t.charAt(0)) throw Ni( "nosel", "Looking up elements via selectors is not supported by jqLite! See: http://docs.angularjs.org/api/angular.element" ); return new be(t); } e ? Ne(this, ye(t)) : Ne(this, t); } function we(t) { return t.cloneNode(!0); } function xe(t, e) { if ((e || Se(t), t.querySelectorAll)) for (var n = t.querySelectorAll("*"), r = 0, i = n.length; i > r; r++) Se(n[r]); } function ke(t, e, n, r) { if (v(r)) throw Ni( "offargs", "jqLite#off() does not support the `selector` argument" ); var i = Ce(t), o = i && i.events, s = i && i.handle; if (s) if (e) a(e.split(" "), function(e) { if (v(n)) { var r = o[e]; if ((q(r || [], n), r && r.length > 0)) return; } Ai(t, e, s), delete o[e]; }); else for (e in o) "$destroy" !== e && Ai(t, e, s), delete o[e]; } function Se(t, e) { var r = t.ng339, i = r && ki[r]; if (i) { if (e) return delete i.data[e], void 0; i.handle && (i.events.$destroy && i.handle({}, "$destroy"), ke(t)), delete ki[r], (t.ng339 = n); } } function Ce(t, e) { var r = t.ng339, i = r && ki[r]; return ( e && !i && ((t.ng339 = r = pe()), (i = ki[r] = { events: {}, data: {}, handle: n })), i ); } function Ae(t, e, n) { if (ge(t)) { var r = v(n), i = !r && e && !y(e), a = !e, o = Ce(t, !i), s = o && o.data; if (r) s[e] = n; else { if (a) return s; if (i) return s && s[e]; f(s, e); } } } function Oe(t, e) { return t.getAttribute ? (" " + (t.getAttribute("class") || "") + " ") .replace(/[\n\t]/g, " ") .indexOf(" " + e + " ") > -1 : !1; } function Ee(t, e) { e && t.setAttribute && a(e.split(" "), function(e) { t.setAttribute( "class", fi( (" " + (t.getAttribute("class") || "") + " ") .replace(/[\n\t]/g, " ") .replace(" " + fi(e) + " ", " ") ) ); }); } function je(t, e) { if (e && t.setAttribute) { var n = (" " + (t.getAttribute("class") || "") + " ").replace( /[\n\t]/g, " " ); a(e.split(" "), function(t) { (t = fi(t)), -1 === n.indexOf(" " + t + " ") && (n += t + " "); }), t.setAttribute("class", fi(n)); } } function Ne(t, e) { if (e) if (e.nodeType) t[t.length++] = e; else { var n = e.length; if ("number" == typeof n && e.window !== e) { if (n) for (var r = 0; n > r; r++) t[t.length++] = e[r]; } else t[t.length++] = e; } } function Te(t, e) { return Me(t, "$" + (e || "ngController") + "Controller"); } function Me(t, e, r) { t.nodeType == bi && (t = t.documentElement); for (var i = ci(e) ? e : [e]; t; ) { for (var a = 0, o = i.length; o > a; a++) if ((r = Qr.data(t, i[a])) !== n) return r; t = t.parentNode || (t.nodeType === wi && t.host); } } function Pe(t) { for (xe(t, !0); t.firstChild; ) t.removeChild(t.firstChild); } function Ve(t, e) { e || xe(t); var n = t.parentNode; n && n.removeChild(t); } function qe(e, n) { (n = n || t), "complete" === n.document.readyState ? n.setTimeout(e) : Qr(n).on("load", e); } function De(t, e) { var n = Ri[e.toLowerCase()]; return n && Ii[V(t)] && n; } function Re(t, e) { var n = t.nodeName; return ("INPUT" === n || "TEXTAREA" === n) && _i[e]; } function Ie(t, e) { var n = function(n, r) { n.isDefaultPrevented = function() { return n.defaultPrevented; }; var i = e[r || n.type], a = i ? i.length : 0; if (a) { if (g(n.immediatePropagationStopped)) { var o = n.stopImmediatePropagation; n.stopImmediatePropagation = function() { (n.immediatePropagationStopped = !0), n.stopPropagation && n.stopPropagation(), o && o.call(n); }; } (n.isImmediatePropagationStopped = function() { return n.immediatePropagationStopped === !0; }), a > 1 && (i = R(i)); for (var s = 0; a > s; s++) n.isImmediatePropagationStopped() || i[s].call(t, n); } }; return (n.elem = t), n; } function _e() { this.$get = function() { return f(be, { hasClass: function(t, e) { return t.attr && (t = t[0]), Oe(t, e); }, addClass: function(t, e) { return t.attr && (t = t[0]), je(t, e); }, removeClass: function(t, e) { return t.attr && (t = t[0]), Ee(t, e); } }); }; } function Ue(t, e) { var n = t && t.$$hashKey; if (n) return "function" == typeof n && (n = t.$$hashKey()), n; var r = typeof t; return (n = "function" == r || ("object" == r && null !== t) ? (t.$$hashKey = r + ":" + (e || l)()) : r + ":" + t); } function Le(t, e) { if (e) { var n = 0; this.nextUid = function() { return ++n; }; } a(t, this.put, this); } function Fe(t) { var e = t.toString().replace(Hi, ""), n = e.match(Ui); return n ? "function(" + (n[1] || "").replace(/[\s\r\n]+/, " ") + ")" : "fn"; } function He(t, e, n) { var r, i, o, s; if ("function" == typeof t) { if (!(r = t.$inject)) { if (((r = []), t.length)) { if (e) throw ((b(n) && n) || (n = t.name || Fe(t)), Bi( "strictdi", "{0} is not using explicit annotation and cannot be invoked in strict mode", n )); (i = t.toString().replace(Hi, "")), (o = i.match(Ui)), a(o[1].split(Li), function(t) { t.replace(Fi, function(t, e, n) { r.push(n); }); }); } t.$inject = r; } } else ci(t) ? ((s = t.length - 1), ae(t[s], "fn"), (r = t.slice(0, s))) : ae(t, "fn", !0); return r; } function Be(t, e) { function r(t) { return function(e, n) { return y(e) ? (a(e, u(t)), void 0) : t(e, n); }; } function i(t, e) { if ( (oe(t, "service"), (k(e) || ci(e)) && (e = A.instantiate(e)), !e.$get) ) throw Bi("pget", "Provider '{0}' must define $get factory method.", t); return (C[t + w] = e); } function o(t, e) { return function() { var n = E.invoke(e, this); if (g(n)) throw Bi( "undef", "Provider '{0}' must return a value from $get factory method.", t ); return n; }; } function s(t, e, n) { return i(t, { $get: n !== !1 ? o(t, e) : e }); } function l(t, e) { return s(t, [ "$injector", function(t) { return t.instantiate(e); } ]); } function c(t, e) { return s(t, m(e), !1); } function f(t, e) { oe(t, "constant"), (C[t] = e), (O[t] = e); } function d(t, e) { var n = A.get(t + w), r = n.$get; n.$get = function() { var t = E.invoke(r, n); return E.invoke(e, null, { $delegate: t }); }; } function h(t) { var e, n = []; return ( a(t, function(t) { function r(t) { var e, n; for (e = 0, n = t.length; n > e; e++) { var r = t[e], i = A.get(r[0]); i[r[1]].apply(i, r[2]); } } if (!S.get(t)) { S.put(t, !0); try { b(t) ? ((e = ei(t)), (n = n.concat(h(e.requires)).concat(e._runBlocks)), r(e._invokeQueue), r(e._configBlocks)) : k(t) ? n.push(A.invoke(t)) : ci(t) ? n.push(A.invoke(t)) : ae(t, "module"); } catch (i) { throw (ci(t) && (t = t[t.length - 1]), i.message && i.stack && -1 == i.stack.indexOf(i.message) && (i = i.message + "\n" + i.stack), Bi( "modulerr", "Failed to instantiate module {0} due to:\n{1}", t, i.stack || i.message || i )); } } }), n ); } function $(t, n) { function r(e, r) { if (t.hasOwnProperty(e)) { if (t[e] === v) throw Bi( "cdep", "Circular dependency found: {0}", e + " <- " + x.join(" <- ") ); return t[e]; } try { return x.unshift(e), (t[e] = v), (t[e] = n(e, r)); } catch (i) { throw (t[e] === v && delete t[e], i); } finally { x.shift(); } } function i(t, n, i, a) { "string" == typeof i && ((a = i), (i = null)); var o, s, u, l = [], c = Be.$$annotate(t, e, a); for (s = 0, o = c.length; o > s; s++) { if (((u = c[s]), "string" != typeof u)) throw Bi( "itkn", "Incorrect injection token! Expected service name as string, got {0}", u ); l.push(i && i.hasOwnProperty(u) ? i[u] : r(u, a)); } return ci(t) && (t = t[o]), t.apply(n, l); } function a(t, e, n) { var r = Object.create((ci(t) ? t[t.length - 1] : t).prototype || null), a = i(t, r, e, n); return y(a) || k(a) ? a : r; } return { invoke: i, instantiate: a, get: r, annotate: Be.$$annotate, has: function(e) { return C.hasOwnProperty(e + w) || t.hasOwnProperty(e); } }; } e = e === !0; var v = {}, w = "Provider", x = [], S = new Le([], !0), C = { $provide: { provider: r(i), factory: r(s), service: r(l), value: r(c), constant: r(f), decorator: d } }, A = (C.$injector = $(C, function(t, e) { throw (si.isString(e) && x.push(e), Bi("unpr", "Unknown provider: {0}", x.join(" <- "))); })), O = {}, E = (O.$injector = $(O, function(t, e) { var r = A.get(t + w, e); return E.invoke(r.$get, r, n, t); })); return ( a(h(t), function(t) { E.invoke(t || p); }), E ); } function ze() { var t = !0; (this.disableAutoScrolling = function() { t = !1; }), (this.$get = [ "$window", "$location", "$rootScope", function(e, n, r) { function i(t) { var e = null; return ( Array.prototype.some.call(t, function(t) { return "a" === V(t) ? ((e = t), !0) : void 0; }), e ); } function a() { var t = s.yOffset; if (k(t)) t = t(); else if (M(t)) { var n = t[0], r = e.getComputedStyle(n); t = "fixed" !== r.position ? 0 : n.getBoundingClientRect().bottom; } else w(t) || (t = 0); return t; } function o(t) { if (t) { t.scrollIntoView(); var n = a(); if (n) { var r = t.getBoundingClientRect().top; e.scrollBy(0, r - n); } } else e.scrollTo(0, 0); } function s() { var t, e = n.hash(); e ? (t = u.getElementById(e)) ? o(t) : (t = i(u.getElementsByName(e))) ? o(t) : "top" === e && o(null) : o(null); } var u = e.document; return ( t && r.$watch( function() { return n.hash(); }, function(t, e) { (t !== e || "" !== t) && qe(function() { r.$evalAsync(s); }); } ), s ); } ]); } function Ge() { this.$get = [ "$$rAF", "$timeout", function(t, e) { return t.supported ? function(e) { return t(e); } : function(t) { return e(t, 0, !1); }; } ]; } function We(t, e, r, i) { function o(t) { try { t.apply(null, U(arguments, 1)); } finally { if ((k--, 0 === k)) for (; S.length; ) try { S.pop()(); } catch (e) { r.error(e); } } } function s(t) { var e = t.indexOf("#"); return -1 === e ? "" : t.substr(e + 1); } function u(t, e) { !(function n() { a(A, function(t) { t(); }), (C = e(n, t)); })(); } function l() { c(), f(); } function c() { (O = t.history.state), (O = g(O) ? null : O), I(O, V) && (O = V), (V = O); } function f() { (j !== h.url() || E !== O) && ((j = h.url()), (E = O), a(M, function(t) { t(h.url(), O); })); } function d(t) { try { return decodeURIComponent(t); } catch (e) { return t; } } var h = this, $ = e[0], m = t.location, v = t.history, y = t.setTimeout, w = t.clearTimeout, x = {}; h.isMock = !1; var k = 0, S = []; (h.$$completeOutstandingRequest = o), (h.$$incOutstandingRequestCount = function() { k++; }), (h.notifyWhenNoOutstandingRequests = function(t) { a(A, function(t) { t(); }), 0 === k ? t() : S.push(t); }); var C, A = []; h.addPollFn = function(t) { return g(C) && u(100, y), A.push(t), t; }; var O, E, j = m.href, N = e.find("base"), T = null; c(), (E = O), (h.url = function(e, n, r) { if ( (g(r) && (r = null), m !== t.location && (m = t.location), v !== t.history && (v = t.history), e) ) { var a = E === r; if (j === e && (!i.history || a)) return h; var o = j && xn(j) === xn(e); return ( (j = e), (E = r), !i.history || (o && a) ? (o || (T = e), n ? m.replace(e) : o ? (m.hash = s(e)) : (m.href = e)) : (v[n ? "replaceState" : "pushState"](r, "", e), c(), (E = O)), h ); } return T || m.href.replace(/%27/g, "'"); }), (h.state = function() { return O; }); var M = [], P = !1, V = null; (h.onUrlChange = function(e) { return ( P || (i.history && Qr(t).on("popstate", l), Qr(t).on("hashchange", l), (P = !0)), M.push(e), e ); }), (h.$$checkUrlChange = f), (h.baseHref = function() { var t = N.attr("href"); return t ? t.replace(/^(https?\:)?\/\/[^\/]*/, "") : ""; }); var q = {}, D = "", R = h.baseHref(); (h.cookies = function(t, e) { var i, a, o, s, u; if (!t) { if ($.cookie !== D) for ( D = $.cookie, a = D.split("; "), q = {}, s = 0; s < a.length; s++ ) (o = a[s]), (u = o.indexOf("=")), u > 0 && ((t = d(o.substring(0, u))), q[t] === n && (q[t] = d(o.substring(u + 1)))); return q; } e === n ? ($.cookie = encodeURIComponent(t) + "=;path=" + R + ";expires=Thu, 01 Jan 1970 00:00:00 GMT") : b(e) && ((i = ($.cookie = encodeURIComponent(t) + "=" + encodeURIComponent(e) + ";path=" + R).length + 1), i > 4096 && r.warn( "Cookie '" + t + "' possibly not set or overflowed because it was too large (" + i + " > 4096 bytes)!" )); }), (h.defer = function(t, e) { var n; return ( k++, (n = y(function() { delete x[n], o(t); }, e || 0)), (x[n] = !0), n ); }), (h.defer.cancel = function(t) { return x[t] ? (delete x[t], w(t), o(p), !0) : !1; }); } function Je() { this.$get = [ "$window", "$log", "$sniffer", "$document", function(t, e, n, r) { return new We(t, r, e, n); } ]; } function Ye() { this.$get = function() { function t(t, n) { function i(t) { t != d && (h ? h == t && (h = t.n) : (h = t), a(t.n, t.p), a(t, d), (d = t), (d.n = null)); } function a(t, e) { t != e && (t && (t.p = e), e && (e.n = t)); } if (t in e) throw r("$cacheFactory")("iid", "CacheId '{0}' is already taken!", t); var o = 0, s = f({}, n, { id: t }), u = {}, l = (n && n.capacity) || Number.MAX_VALUE, c = {}, d = null, h = null; return (e[t] = { put: function(t, e) { if (l < Number.MAX_VALUE) { var n = c[t] || (c[t] = { key: t }); i(n); } if (!g(e)) return t in u || o++, (u[t] = e), o > l && this.remove(h.key), e; }, get: function(t) { if (l < Number.MAX_VALUE) { var e = c[t]; if (!e) return; i(e); } return u[t]; }, remove: function(t) { if (l < Number.MAX_VALUE) { var e = c[t]; if (!e) return; e == d && (d = e.p), e == h && (h = e.n), a(e.n, e.p), delete c[t]; } delete u[t], o--; }, removeAll: function() { (u = {}), (o = 0), (c = {}), (d = h = null); }, destroy: function() { (u = null), (s = null), (c = null), delete e[t]; }, info: function() { return f({}, s, { size: o }); } }); } var e = {}; return ( (t.info = function() { var t = {}; return ( a(e, function(e, n) { t[n] = e.info(); }), t ); }), (t.get = function(t) { return e[t]; }), t ); }; } function Ze() { this.$get = [ "$cacheFactory", function(t) { return t("templates"); } ]; } function Ke(t, r) { function i(t, e) { var n = /^\s*([@&]|=(\*?))(\??)\s*(\w*)\s*$/, r = {}; return ( a(t, function(t, i) { var a = t.match(n); if (!a) throw Wi( "iscp", "Invalid isolate scope definition for directive '{0}'. Definition: {... {1}: '{2}' ...}", e, i, t ); r[i] = { mode: a[1][0], collection: "*" === a[2], optional: "?" === a[3], attrName: a[4] || i }; }), r ); } var o = {}, s = "Directive", l = /^\s*directive\:\s*([\w\-]+)\s+(.*)$/, c = /(([\w\-]+)(?:\:([^;]+))?;?)/, d = P("ngSrc,ngSrcset,src,srcset"), g = /^(?:(\^\^?)?(\?)?(\^\^?)?)?/, w = /^(on[a-z]+|formaction)$/; (this.directive = function S(e, n) { return ( oe(e, "directive"), b(e) ? (ie(n, "directiveFactory"), o.hasOwnProperty(e) || ((o[e] = []), t.factory(e + s, [ "$injector", "$exceptionHandler", function(t, n) { var r = []; return ( a(o[e], function(a, o) { try { var s = t.invoke(a); k(s) ? (s = { compile: m(s) }) : !s.compile && s.link && (s.compile = m(s.link)), (s.priority = s.priority || 0), (s.index = o), (s.name = s.name || e), (s.require = s.require || (s.controller && s.name)), (s.restrict = s.restrict || "EA"), y(s.scope) && (s.$$isolateBindings = i(s.scope, s.name)), r.push(s); } catch (u) { n(u); } }), r ); } ])), o[e].push(n)) : a(e, u(S)), this ); }), (this.aHrefSanitizationWhitelist = function(t) { return v(t) ? (r.aHrefSanitizationWhitelist(t), this) : r.aHrefSanitizationWhitelist(); }), (this.imgSrcSanitizationWhitelist = function(t) { return v(t) ? (r.imgSrcSanitizationWhitelist(t), this) : r.imgSrcSanitizationWhitelist(); }); var x = !0; (this.debugInfoEnabled = function(t) { return v(t) ? ((x = t), this) : x; }), (this.$get = [ "$injector", "$interpolate", "$exceptionHandler", "$templateRequest", "$parse", "$controller", "$rootScope", "$document", "$sce", "$animate", "$$sanitizeUri", function(t, r, i, u, m, v, S, C, O, E, j) { function N(t, e) { try { t.addClass(e); } catch (n) {} } function T(t, e, n, r, i) { t instanceof Qr || (t = Qr(t)), a(t, function(e, n) { e.nodeType == vi && e.nodeValue.match(/\S+/) && (t[n] = Qr(e) .wrap("") .parent()[0]); }); var o = P(t, e, t, n, r, i); T.$$addScopeClass(t); var s = null; return function(e, n, r) { ie(e, "scope"), (r = r || {}); var i = r.parentBoundTranscludeFn, a = r.transcludeControllers, u = r.futureParentElement; i && i.$$boundTransclude && (i = i.$$boundTransclude), s || (s = M(u)); var l; if ( ((l = "html" !== s ? Qr( X( s,Qr("
")
", "
"],
col: [2, "<colgroup>", "</colgroup>
"],
tr: [2, "<tbody>", "</tbody>
"],
td: [3, "<tbody>
"],
.append(t) .html() ) ) : n ? Di.clone.call(t) : t), a) ) for (var c in a) l.data("$" + c + "Controller", a[c].instance); return ( T.$$addScopeInfo(l, e), n && n(l, e), o && o(e, l, l, i), l ); }; } function M(t) { var e = t && t[0]; return e ? "foreignobject" !== V(e) && e.toString().match(/SVG/) ? "svg" : "html" : "html"; } function P(t, e, r, i, a, o) { function s(t, r, i, a) { var o, s, u, l, c, f, d, h, m; if (p) { var g = r.length; for (m = new Array(g), c = 0; c < $.length; c += 3) (d = $[c]), (m[d] = r[d]); } else m = r; for (c = 0, f = $.length; f > c; ) (u = m[$[c++]]), (o = $[c++]), (s = $[c++]), o ? (o.scope ? ((l = t.$new()), T.$$addScopeInfo(Qr(u), l)) : (l = t), (h = o.transcludeOnThisElement ? D( t, o.transclude, a, o.elementTranscludeOnThisElement ) : !o.templateOnThisElement && a ? a : !a && e ? D(t, e) : null), o(s, l, u, i, h)) : s && s(t, u.childNodes, n, a); } for (var u, l, c, f, d, h, p, $ = [], m = 0; m < t.length; m++) (u = new oe()), (l = R(t[m], [], u, 0 === m ? i : n, a)), (c = l.length ? F(l, t[m], u, e, r, null, [], [], o) : null), c && c.scope && T.$$addScopeClass(u.$$element), (d = (c && c.terminal) || !(f = t[m].childNodes) || !f.length ? null : P( f, c ? (c.transcludeOnThisElement || !c.templateOnThisElement) && c.transclude : e )), (c || d) && ($.push(m, c, d), (h = !0), (p = p || c)), (o = null); return h ? s : null; } function D(t, e, n) { var r = function(r, i, a, o, s) { return ( r || ((r = t.$new(!1, s)), (r.$$transcluded = !0)), e(r, i, { parentBoundTranscludeFn: n, transcludeControllers: a, futureParentElement: o }) ); }; return r; } function R(t, e, n, r, i) { var a, o, s = t.nodeType, u = n.$attr; switch (s) { case gi: B(e, Xe(V(t)), "E", r, i); for ( var f, d, h, p, $, m, g = t.attributes, v = 0, w = g && g.length; w > v; v++ ) { var x = !1, k = !1; (f = g[v]), (d = f.name), ($ = fi(f.value)), (p = Xe(d)), (m = fe.test(p)) && (d = d .replace(Ji, "") .substr(8) .replace(/_(.)/g, function(t, e) { return e.toUpperCase(); })); var S = p.replace(/(Start|End)$/, ""); G(S) && p === S + "Start" && ((x = d), (k = d.substr(0, d.length - 5) + "end"), (d = d.substr(0, d.length - 6))), (h = Xe(d.toLowerCase())), (u[h] = d), (m || !n.hasOwnProperty(h)) && ((n[h] = $), De(t, h) && (n[h] = !0)), te(t, e, $, h, m), B(e, h, "A", r, i, x, k); } if ( ((o = t.className), y(o) && (o = o.animVal), b(o) && "" !== o) ) for (; (a = c.exec(o)); ) (h = Xe(a[2])), B(e, h, "C", r, i) && (n[h] = fi(a[3])), (o = o.substr(a.index + a[0].length)); break; case vi: K(e, t.nodeValue); break; case yi: try { (a = l.exec(t.nodeValue)), a && ((h = Xe(a[1])), B(e, h, "M", r, i) && (n[h] = fi(a[2]))); } catch (C) {} } return e.sort(Y), e; } function _(t, e, n) { var r = [], i = 0; if (e && t.hasAttribute && t.hasAttribute(e)) { do { if (!t) throw Wi( "uterdir", "Unterminated attribute, found '{0}' but no matching '{1}' found.", e, n ); t.nodeType == gi && (t.hasAttribute(e) && i++, t.hasAttribute(n) && i--), r.push(t), (t = t.nextSibling); } while (i > 0); } else r.push(t); return Qr(r); } function L(t, e, n) { return function(r, i, a, o, s) { return (i = _(i[0], e, n)), t(r, i, a, o, s); }; } function F(t, o, s, u, l, c, f, d, h) { function p(t, e, n, r) { t && (n && (t = L(t, n, r)), (t.require = C.require), (t.directiveName = O), (V === C || C.$$isolateScope) && (t = re(t, { isolateScope: !0 })), f.push(t)), e && (n && (e = L(e, n, r)), (e.require = C.require), (e.directiveName = O), (V === C || C.$$isolateScope) && (e = re(e, { isolateScope: !0 })), d.push(e)); } function $(t, e, n, r) { var i, o, s = "data", u = !1, l = n; if (b(e)) { if ( ((o = e.match(g)), (e = e.substring(o[0].length)), o[3] && (o[1] ? (o[3] = null) : (o[1] = o[3])), "^" === o[1] ? (s = "inheritedData") : "^^" === o[1] && ((s = "inheritedData"), (l = n.parent())), "?" === o[2] && (u = !0), (i = null), r && "data" === s && (i = r[e]) && (i = i.instance), (i = i || l[s]("$" + e + "Controller")), !i && !u) ) throw Wi( "ctreq", "Controller '{0}', required by directive '{1}', can't be found!", e, t ); return i || null; } return ( ci(e) && ((i = []), a(e, function(e) { i.push($(t, e, n, r)); })), i ); } function w(t, e, i, u, l) { function c(t, e, r) { var i; return ( A(t) || ((r = e), (e = t), (t = n)), G && (i = w), r || (r = G ? k.parent() : k), l(t, e, i, r, j) ); } var h, p, g, y, b, w, x, k, C; if ( (o === i ? ((C = s), (k = s.$$element)) : ((k = Qr(i)), (C = new oe(k, s))), V && (b = e.$new(!0)), l && ((x = c), (x.$$boundTransclude = l)), P && ((S = {}), (w = {}), a(P, function(t) { var n, r = { $scope: t === V || t.$$isolateScope ? b : e, $element: k, $attrs: C, $transclude: x }; (y = t.controller), "@" == y && (y = C[t.name]), (n = v(y, r, !0, t.controllerAs)), (w[t.name] = n), G || k.data("$" + t.name + "Controller", n.instance), (S[t.name] = n); })), V) ) { T.$$addScopeInfo( k, b, !0, !(q && (q === V || q === V.$$originalDirective)) ), T.$$addScopeClass(k, !0); var O = S && S[V.name], E = b; O && O.identifier && V.bindToController === !0 && (E = O.instance), a((b.$$isolateBindings = V.$$isolateBindings), function( t, n ) { var i, a, o, s, u = t.attrName, l = t.optional, c = t.mode; switch (c) { case "@": C.$observe(u, function(t) { E[n] = t; }), (C.$$observers[u].$$scope = e), C[u] && (E[n] = r(C[u])(e)); break; case "=": if (l && !C[u]) return; (a = m(C[u])), (s = a.literal ? I : function(t, e) { return t === e || (t !== t && e !== e); }), (o = a.assign || function() { throw ((i = E[n] = a(e)), Wi( "nonassign", "Expression '{0}' used with directive '{1}' is non-assignable!", C[u], V.name )); }), (i = E[n] = a(e)); var f = function(t) { return ( s(t, E[n]) || (s(t, i) ? o(e, (t = E[n])) : (E[n] = t)), (i = t) ); }; f.$stateful = !0; var d; (d = t.collection ? e.$watchCollection(C[u], f) : e.$watch(m(C[u], f), null, a.literal)), b.$on("$destroy", d); break; case "&": (a = m(C[u])), (E[n] = function(t) { return a(e, t); }); } }); } for ( S && (a(S, function(t) { t(); }), (S = null)), h = 0, p = f.length; p > h; h++ ) (g = f[h]), ae( g, g.isolateScope ? b : e, k, C, g.require && $(g.directiveName, g.require, k, w), x ); var j = e; for ( V && (V.template || null === V.templateUrl) && (j = b), t && t(j, i.childNodes, n, l), h = d.length - 1; h >= 0; h-- ) (g = d[h]), ae( g, g.isolateScope ? b : e, k, C, g.require && $(g.directiveName, g.require, k, w), x ); } h = h || {}; for ( var x, S, C, O, E, j, N, M = -Number.MAX_VALUE, P = h.controllerDirectives, V = h.newIsolateScopeDirective, q = h.templateDirective, D = h.nonTlbTranscludeDirective, F = !1, B = !1, G = h.hasElementTranscludeDirective, Y = (s.$$element = Qr(o)), K = c, Q = u, te = 0, ne = t.length; ne > te; te++ ) { C = t[te]; var ie = C.$$start, se = C.$$end; if ((ie && (Y = _(o, ie, se)), (E = n), M > C.priority)) break; if ( ((N = C.scope) && (C.templateUrl || (y(N) ? (Z("new/isolated scope", V || x, C, Y), (V = C)) : Z("new/isolated scope", V, C, Y)), (x = x || C)), (O = C.name), !C.templateUrl && C.controller && ((N = C.controller), (P = P || {}), Z("'" + O + "' controller", P[O], C, Y), (P[O] = C)), (N = C.transclude) && ((F = !0), C.$$tlb || (Z("transclusion", D, C, Y), (D = C)), "element" == N ? ((G = !0), (M = C.priority), (E = Y), (Y = s.$$element = Qr( e.createComment(" " + O + ": " + s[O] + " ") )), (o = Y[0]), ee(l, U(E), o), (Q = T(E, u, M, K && K.name, { nonTlbTranscludeDirective: D }))) : ((E = Qr(we(o)).contents()), Y.empty(), (Q = T(E, u)))), C.template) ) if ( ((B = !0), Z("template", q, C, Y), (q = C), (N = k(C.template) ? C.template(Y, s) : C.template), (N = ce(N)), C.replace) ) { if ( ((K = C), (E = me(N) ? [] : tn(X(C.templateNamespace, fi(N)))), (o = E[0]), 1 != E.length || o.nodeType !== gi) ) throw Wi( "tplrt", "Template for directive '{0}' must have exactly one root element. {1}", O, "" ); ee(l, Y, o); var ue = { $attr: {} }, le = R(o, [], ue), fe = t.splice(te + 1, t.length - (te + 1)); V && H(le), (t = t.concat(le).concat(fe)), W(s, ue), (ne = t.length); } else Y.html(N); if (C.templateUrl) (B = !0), Z("template", q, C, Y), (q = C), C.replace && (K = C), (w = J(t.splice(te, t.length - te), Y, s, l, F && Q, f, d, { controllerDirectives: P, newIsolateScopeDirective: V, templateDirective: q, nonTlbTranscludeDirective: D })), (ne = t.length); else if (C.compile) try { (j = C.compile(Y, s, Q)), k(j) ? p(null, j, ie, se) : j && p(j.pre, j.post, ie, se); } catch (de) { i(de, z(Y)); } C.terminal && ((w.terminal = !0), (M = Math.max(M, C.priority))); } return ( (w.scope = x && x.scope === !0), (w.transcludeOnThisElement = F), (w.elementTranscludeOnThisElement = G), (w.templateOnThisElement = B), (w.transclude = Q), (h.hasElementTranscludeDirective = G), w ); } function H(t) { for (var e = 0, n = t.length; n > e; e++) t[e] = h(t[e], { $$isolateScope: !0 }); } function B(e, r, a, u, l, c, f) { if (r === l) return null; var d = null; if (o.hasOwnProperty(r)) for (var p, $ = t.get(r + s), m = 0, g = $.length; g > m; m++) try { (p = $[m]), (u === n || u > p.priority) && -1 != p.restrict.indexOf(a) && (c && (p = h(p, { $$start: c, $$end: f })), e.push(p), (d = p)); } catch (v) { i(v); } return d; } function G(e) { if (o.hasOwnProperty(e)) for (var n, r = t.get(e + s), i = 0, a = r.length; a > i; i++) if (((n = r[i]), n.multiElement)) return !0; return !1; } function W(t, e) { var n = e.$attr, r = t.$attr, i = t.$$element; a(t, function(r, i) { "$" != i.charAt(0) && (e[i] && e[i] !== r && (r += ("style" === i ? ";" : " ") + e[i]), t.$set(i, r, !0, n[i])); }), a(e, function(e, a) { "class" == a ? (N(i, e), (t["class"] = (t["class"] ? t["class"] + " " : "") + e)) : "style" == a ? (i.attr("style", i.attr("style") + ";" + e), (t.style = (t.style ? t.style + ";" : "") + e)) : "$" == a.charAt(0) || t.hasOwnProperty(a) || ((t[a] = e), (r[a] = n[a])); }); } function J(t, e, n, r, i, o, s, l) { var c, f, d = [], p = e[0], $ = t.shift(), m = h($, { templateUrl: null, transclude: null, replace: null, $$originalDirective: $ }), g = k($.templateUrl) ? $.templateUrl(e, n) : $.templateUrl, v = $.templateNamespace; return ( e.empty(), u(O.getTrustedResourceUrl(g)).then(function(u) { var h, b, w, x; if (((u = ce(u)), $.replace)) { if ( ((w = me(u) ? [] : tn(X(v, fi(u)))), (h = w[0]), 1 != w.length || h.nodeType !== gi) ) throw Wi( "tplrt", "Template for directive '{0}' must have exactly one root element. {1}", $.name, g ); (b = { $attr: {} }), ee(r, e, h); var k = R(h, [], b); y($.scope) && H(k), (t = k.concat(t)), W(n, b); } else (h = p), e.html(u); for ( t.unshift(m), c = F(t, h, n, i, e, $, o, s, l), a(r, function(t, n) { t == h && (r[n] = e[0]); }), f = P(e[0].childNodes, i); d.length;
) { var S = d.shift(), C = d.shift(), A = d.shift(), O = d.shift(), E = e[0]; if (!S.$$destroyed) { if (C !== p) { var j = C.className; (l.hasElementTranscludeDirective && $.replace) || (E = we(h)), ee(A, Qr(C), E), N(Qr(E), j); } (x = c.transcludeOnThisElement ? D(S, c.transclude, O) : O), c(f, S, E, r, x); } } d = null; }), function(t, e, n, r, i) { var a = i; e.$$destroyed || (d ? d.push(e, n, r, a) : (c.transcludeOnThisElement && (a = D(e, c.transclude, i)), c(f, e, n, r, a))); } ); } function Y(t, e) { var n = e.priority - t.priority; return 0 !== n ? n : t.name !== e.name ? t.name < e.name ? -1 : 1 : t.index - e.index; } function Z(t, e, n, r) { if (e) throw Wi( "multidir", "Multiple directives [{0}, {1}] asking for {2} on: {3}", e.name, n.name, t, z(r) ); } function K(t, e) { var n = r(e, !0); n && t.push({ priority: 0, compile: function(t) { var e = t.parent(), r = !!e.length; return ( r && T.$$addBindingClass(e), function(t, e) { var i = e.parent(); r || T.$$addBindingClass(i), T.$$addBindingInfo(i, n.expressions), t.$watch(n, function(t) { e[0].nodeValue = t; }); } ); } }); } function X(t, n) { switch ((t = Wr(t || "html"))) { case "svg": case "math": var r = e.createElement("div"); return ( (r.innerHTML = "<" + t + ">" + n + "</" + t + ">"), r.childNodes[0].childNodes ); default: return n; } } function Q(t, e) { if ("srcdoc" == e) return O.HTML; var n = V(t); return "xlinkHref" == e || ("form" == n && "action" == e) || ("img" != n && ("src" == e || "ngSrc" == e)) ? O.RESOURCE_URL : void 0; } function te(t, e, n, i, a) { var o = Q(t, i); a = d[i] || a; var s = r(n, !0, o, a); if (s) { if ("multiple" === i && "select" === V(t)) throw Wi( "selmulti", "Binding to the 'multiple' attribute is not supported. Element: {0}", z(t) ); e.push({ priority: 100, compile: function() { return { pre: function(t, e, u) { var l = u.$$observers || (u.$$observers = {}); if (w.test(i)) throw Wi( "nodomevents", "Interpolations for HTML DOM event attributes are disallowed. Please use the ng- versions (such as ng-click instead of onclick) instead." ); var c = u[i]; c !== n && ((s = c && r(c, !0, o, a)), (n = c)), s && ((u[i] = s(t)), ((l[i] || (l[i] = [])).$$inter = !0), ( (u.$$observers && u.$$observers[i].$$scope) || t ).$watch(s, function(t, e) { "class" === i && t != e ? u.$updateClass(t, e) : u.$set(i, t); })); } }; } }); } } function ee(t, n, r) { var i, a, o = n[0], s = n.length, u = o.parentNode; if (t) for (i = 0, a = t.length; a > i; i++) if (t[i] == o) { t[i++] = r; for (var l = i, c = l + s - 1, f = t.length; f > l; l++, c++) f > c ? (t[l] = t[c]) : delete t[l]; (t.length -= s - 1), t.context === o && (t.context = r); break; } u && u.replaceChild(r, o); var d = e.createDocumentFragment(); d.appendChild(o), Qr(r).data(Qr(o).data()), ti ? ((li = !0), ti.cleanData([o])) : delete Qr.cache[o[Qr.expando]]; for (var h = 1, p = n.length; p > h; h++) { var $ = n[h]; Qr($).remove(), d.appendChild($), delete n[h]; } (n[0] = r), (n.length = 1); } function re(t, e) { return f( function() { return t.apply(null, arguments); }, t, e ); } function ae(t, e, n, r, a, o) { try { t(e, n, r, a, o); } catch (s) { i(s, z(n)); } } var oe = function(t, e) { if (e) { var n, r, i, a = Object.keys(e); for (n = 0, r = a.length; r > n; n++) (i = a[n]), (this[i] = e[i]); } else this.$attr = {}; this.$$element = t; }; oe.prototype = { $normalize: Xe, $addClass: function(t) { t && t.length > 0 && E.addClass(this.$$element, t); }, $removeClass: function(t) { t && t.length > 0 && E.removeClass(this.$$element, t); }, $updateClass: function(t, e) { var n = Qe(t, e); n && n.length && E.addClass(this.$$element, n); var r = Qe(e, t); r && r.length && E.removeClass(this.$$element, r); }, $set: function(t, e, r, o) { var s, u = this.$$element[0], l = De(u, t), c = Re(u, t), f = t; if ( (l ? (this.$$element.prop(t, e), (o = l)) : c && ((this[c] = e), (f = c)), (this[t] = e), o ? (this.$attr[t] = o) : ((o = this.$attr[t]), o || (this.$attr[t] = o = ne(t, "-"))), (s = V(this.$$element)), ("a" === s && "href" === t) || ("img" === s && "src" === t)) ) this[t] = e = j(e, "src" === t); else if ("img" === s && "srcset" === t) { for ( var d = "", h = fi(e), p = /(\s+\d+x\s*,|\s+\d+w\s*,|\s+,|,\s+)/, $ = /\s/.test(h) ? p : /(,)/, m = h.split($), g = Math.floor(m.length / 2), v = 0; g > v; v++ ) { var y = 2 * v; (d += j(fi(m[y]), !0)), (d += " " + fi(m[y + 1])); } var b = fi(m[2 * v]).split(/\s/); (d += j(fi(b[0]), !0)), 2 === b.length && (d += " " + fi(b[1])), (this[t] = e = d); } r !== !1 && (null === e || e === n ? this.$$element.removeAttr(o) : this.$$element.attr(o, e)); var w = this.$$observers; w && a(w[f], function(t) { try { t(e); } catch (n) { i(n); } }); }, $observe: function(t, e) { var n = this, r = n.$$observers || (n.$$observers = le()), i = r[t] || (r[t] = []); return ( i.push(e), S.$evalAsync(function() { !i.$$inter && n.hasOwnProperty(t) && e(n[t]); }), function() { q(i, e); } ); } }; var se = r.startSymbol(), ue = r.endSymbol(), ce = "Template:" == se" == ue ? $ : function(t) { return t.replace(/\{\{/g, se).replace(/}}/g, ue); }, fe = /^ngAttr[A-Z]/; return ( (T.$$addBindingInfo = x ? function(t, e) { var n = t.data("$binding") || []; ci(e) ? (n = n.concat(e)) : n.push(e), t.data("$binding", n); } : p), (T.$$addBindingClass = x ? function(t) { N(t, "ng-binding"); } : p), (T.$$addScopeInfo = x ? function(t, e, n, r) { var i = n ? r ? "$isolateScopeNoTemplate" : "$isolateScope" : "$scope"; t.data(i, e); } : p), (T.$$addScopeClass = x ? function(t, e) { N(t, e ? "ng-isolate-scope" : "ng-scope"); } : p), T ); } ]); } function Xe(t) { return $e(t.replace(Ji, "")); } function Qe(t, e) { var n = "", r = t.split(/\s+/), i = e.split(/\s+/); t: for (var a = 0; a < r.length; a++) { for (var o = r[a], s = 0; s < i.length; s++) if (o == i[s]) continue t; n += (n.length > 0 ? " " : "") + o; } return n; } function tn(t) { t = Qr(t); var e = t.length; if (1 >= e) return t; for (; e--; ) { var n = t[e]; n.nodeType === yi && ri.call(t, e, 1); } return t; } function en() { var t = {}, e = !1, i = /^(\S+)(\s+as\s+(\w+))?$/; (this.register = function(e, n) { oe(e, "controller"), y(e) ? f(t, e) : (t[e] = n); }), (this.allowGlobals = function() { e = !0; }), (this.$get = [ "$injector", "$window", function(a, o) { function s(t, e, n, i) { if (!t || !y(t.$scope)) throw r("$controller")( "noscp", "Cannot export controller '{0}' as '{1}'! No $scope object provided via `locals`.", i, e ); t.$scope[e] = n; } return function(r, u, l, c) { var d, h, p, $; if (((l = l === !0), c && b(c) && ($ = c), b(r))) { if (((h = r.match(i)), !h)) throw Yi( "ctrlfmt", "Badly formed controller string '{0}'. Must match `__name__ as __id__` or `__name__`.", r ); (p = h[1]), ($ = $ || h[3]), (r = t.hasOwnProperty(p) ? t[p] : se(u.$scope, p, !0) || (e ? se(o, p, !0) : n)), ae(r, p, !0); } if (l) { var m = (ci(r) ? r[r.length - 1] : r).prototype; return ( (d = Object.create(m || null)), $ && s(u, $, d, p || r.name), f( function() { return a.invoke(r, d, u, p), d; }, { instance: d, identifier: $ } ) ); } return ( (d = a.instantiate(r, u, p)), $ && s(u, $, d, p || r.name), d ); }; } ]); } function nn() { this.$get = [ "$window", function(t) { return Qr(t.document); } ]; } function rn() { this.$get = [ "$log", function(t) { return function() { t.error.apply(t, arguments); }; } ]; } function an(t, e) { if (b(t)) { var n = t.replace(ta, "").trim(); if (n) { var r = e("Content-Type"); ((r && 0 === r.indexOf(Zi)) || on(n)) && (t = B(n)); } } return t; } function on(t) { var e = t.match(Xi); return e && Qi[e[0]].test(t); } function sn(t) { var e, n, r, i = le(); return t ? (a(t.split("\n"), function(t) { (r = t.indexOf(":")), (e = Wr(fi(t.substr(0, r)))), (n = fi(t.substr(r + 1))), e && (i[e] = i[e] ? i[e] + ", " + n : n); }), i) : i; } function un(t) { var e = y(t) ? t : n; return function(n) { if ((e || (e = sn(t)), n)) { var r = e[Wr(n)]; return void 0 === r && (r = null), r; } return e; }; } function ln(t, e, n, r) { return k(r) ? r(t, e, n) : (a(r, function(r) { t = r(t, e, n); }), t); } function cn(t) { return t >= 200 && 300 > t; } function fn() { var t = (this.defaults = { transformResponse: [an], transformRequest: [ function(t) { return !y(t) || O(t) || j(t) || E(t) ? t : H(t); } ], headers: { common: { Accept: "application/json, text/plain, */*" }, post: R(Ki), put: R(Ki), patch: R(Ki) }, xsrfCookieName: "XSRF-TOKEN", xsrfHeaderName: "X-XSRF-TOKEN" }), e = !1; this.useApplyAsync = function(t) { return v(t) ? ((e = !!t), this) : e; }; var i = (this.interceptors = []); this.$get = [ "$httpBackend", "$browser", "$cacheFactory", "$rootScope", "$q", "$injector", function(o, u, l, c, d, h) { function p(e) { function i(t) { var e = f({}, t); return ( (e.data = t.data ? ln(t.data, t.headers, t.status, u.transformResponse) : t.data), cn(t.status) ? e : d.reject(e) ); } function o(t) { var e, n = {}; return ( a(t, function(t, r) { k(t) ? ((e = t()), null != e && (n[r] = e)) : (n[r] = t); }), n ); } function s(e) { var n, r, i, a = t.headers, s = f({}, e.headers); a = f({}, a.common, a[Wr(e.method)]); t: for (n in a) { r = Wr(n); for (i in s) if (Wr(i) === r) continue t; s[n] = a[n]; } return o(s); } if (!si.isObject(e)) throw r("$http")( "badreq", "Http request configuration must be an object. Received: {0}", e ); var u = f( { method: "get", transformRequest: t.transformRequest, transformResponse: t.transformResponse }, e ); (u.headers = s(e)), (u.method = Yr(u.method)); var l = function(e) { var r = e.headers, o = ln(e.data, un(r), n, e.transformRequest); return ( g(o) && a(r, function(t, e) { "content-type" === Wr(e) && delete r[e]; }), g(e.withCredentials) && !g(t.withCredentials) && (e.withCredentials = t.withCredentials), w(e, o).then(i, i) ); }, c = [l, n], h = d.when(u); for ( a(A, function(t) { (t.request || t.requestError) && c.unshift(t.request, t.requestError), (t.response || t.responseError) && c.push(t.response, t.responseError); }); c.length;
) { var p = c.shift(), $ = c.shift(); h = h.then(p, $); } return ( (h.success = function(t) { return ( h.then(function(e) { t(e.data, e.status, e.headers, u); }), h ); }), (h.error = function(t) { return ( h.then(null, function(e) { t(e.data, e.status, e.headers, u); }), h ); }), h ); } function $() { a(arguments, function(t) { p[t] = function(e, n) { return p(f(n || {}, { method: t, url: e })); }; }); } function m() { a(arguments, function(t) { p[t] = function(e, n, r) { return p(f(r || {}, { method: t, url: e, data: n })); }; }); } function w(r, i) { function a(t, n, r, i) { function a() { s(n, t, r, i); } h && (cn(t) ? h.put(x, [t, n, sn(r), i]) : h.remove(x)), e ? c.$applyAsync(a) : (a(), c.$$phase || c.$apply()); } function s(t, e, n, i) { (e = Math.max(e, 0)), (cn(e) ? m.resolve : m.reject)({ data: t, status: e, headers: un(n), config: r, statusText: i }); } function l(t) { s(t.data, t.status, R(t.headers()), t.statusText); } function f() { var t = p.pendingRequests.indexOf(r); -1 !== t && p.pendingRequests.splice(t, 1); } var h, $, m = d.defer(), b = m.promise, w = r.headers, x = S(r.url, r.params); if ( (p.pendingRequests.push(r), b.then(f, f), (!r.cache && !t.cache) || r.cache === !1 || ("GET" !== r.method && "JSONP" !== r.method) || (h = y(r.cache) ? r.cache : y(t.cache) ? t.cache : C), h && (($ = h.get(x)), v($) ? T($) ? $.then(l, l) : ci($) ? s($[1], $[0], R($[2]), $[3]) : s($, 200, {}, "OK") : h.put(x, b)), g($)) ) { var k = ar(r.url) ? u.cookies()[r.xsrfCookieName || t.xsrfCookieName] : n; k && (w[r.xsrfHeaderName || t.xsrfHeaderName] = k), o( r.method, x, i, a, w, r.timeout, r.withCredentials, r.responseType ); } return b; } function S(t, e) { if (!e) return t; var n = []; return ( s(e, function(t, e) { null === t || g(t) || (ci(t) || (t = [t]), a(t, function(t) { y(t) && (t = x(t) ? t.toISOString() : H(t)), n.push(Z(e) + "=" + Z(t)); })); }), n.length > 0 && (t += (-1 == t.indexOf("?") ? "?" : "&") + n.join("&")), t ); } var C = l("$http"), A = []; return ( a(i, function(t) { A.unshift(b(t) ? h.get(t) : h.invoke(t)); }), (p.pendingRequests = []), $("get", "delete", "head", "jsonp"), m("post", "put", "patch"), (p.defaults = t), p ); } ]; } function dn() { return new t.XMLHttpRequest(); } function hn() { this.$get = [ "$browser", "$window", "$document", function(t, e, n) { return pn(t, dn, t.defer, e.angular.callbacks, n[0]); } ]; } function pn(t, e, r, i, o) { function s(t, e, n) { var r = o.createElement("script"), a = null; return ( (r.type = "text/javascript"), (r.src = t), (r.async = !0), (a = function(t) { Ai(r, "load", a), Ai(r, "error", a), o.body.removeChild(r), (r = null); var s = -1, u = "unknown"; t && ("load" !== t.type || i[e].called || (t = { type: "error" }), (u = t.type), (s = "error" === t.type ? 404 : 200)), n && n(s, u); }), Ci(r, "load", a), Ci(r, "error", a), o.body.appendChild(r), a ); } return function(o, u, l, c, f, d, h, $) { function m() { b && b(), w && w.abort(); } function g(e, i, a, o, s) { S !== n && r.cancel(S), (b = w = null), e(i, a, o, s), t.$$completeOutstandingRequest(p); } if ( (t.$$incOutstandingRequestCount(), (u = u || t.url()), "jsonp" == Wr(o)) ) { var y = "_" + (i.counter++).toString(36); i[y] = function(t) { (i[y].data = t), (i[y].called = !0); }; var b = s( u.replace("JSON_CALLBACK", "angular.callbacks." + y), y, function(t, e) { g(c, t, i[y].data, "", e), (i[y] = p); } ); } else { var w = e(); w.open(o, u, !0), a(f, function(t, e) { v(t) && w.setRequestHeader(e, t); }), (w.onload = function() { var t = w.statusText || "", e = "response" in w ? w.response : w.responseText, n = 1223 === w.status ? 204 : w.status; 0 === n && (n = e ? 200 : "file" == ir(u).protocol ? 404 : 0), g(c, n, e, w.getAllResponseHeaders(), t); }); var x = function() { g(c, -1, null, null, ""); }; if ( ((w.onerror = x), (w.onabort = x), h && (w.withCredentials = !0), $) ) try { w.responseType = $; } catch (k) { if ("json" !== $) throw k; } w.send(l || null); } if (d > 0) var S = r(m, d); else T(d) && d.then(m); }; } function $n() { var t = "{{", e = "}}"; (this.startSymbol = function(e) { return e ? ((t = e), this) : t; }), (this.endSymbol = function(t) { return t ? ((e = t), this) : e; }), (this.$get = [ "$parse", "$exceptionHandler", "$sce", function(n, r, i) { function a(t) { return "\\\\\\" + t; } function o(a, o, d, h) { function p(n) { return n.replace(l, t).replace(c, e); } function $(t) { try { return (t = j(t)), h && !v(t) ? t : N(t); } catch (e) { var n = ea( "interr", "Can't interpolate: {0}\n{1}", a, e.toString() ); r(n); } } h = !!h; for ( var m, y, b, w = 0, x = [], S = [], C = a.length, A = [], O = []; C > w;
) { if ( -1 == (m = a.indexOf(t, w)) || -1 == (y = a.indexOf(e, m + s)) ) { w !== C && A.push(p(a.substring(w))); break; } w !== m && A.push(p(a.substring(w, m))), (b = a.substring(m + s, y)), x.push(b), S.push(n(b, $)), (w = y + u), O.push(A.length), A.push(""); } if (d && A.length > 1) throw ea( "noconcat", "Error while interpolating: {0}\nStrict Contextual Escaping disallows interpolations that concatenate multiple expressions when a trusted value is required. See http://docs.angularjs.org/api/ng.$sce", a ); if (!o || x.length) { var E = function(t) { for (var e = 0, n = x.length; n > e; e++) { if (h && g(t[e])) return; A[O[e]] = t[e]; } return A.join(""); }, j = function(t) { return d ? i.getTrusted(d, t) : i.valueOf(t); }, N = function(t) { if (null == t) return ""; switch (typeof t) { case "string": break; case "number": t = "" + t; break; default: t = H(t); } return t; }; return f( function(t) { var e = 0, n = x.length, i = new Array(n); try { for (; n > e; e++) i[e] = S[e](t); return E(i); } catch (o) { var s = ea( "interr", "Can't interpolate: {0}\n{1}", a, o.toString() ); r(s); } }, { exp: a, expressions: x, $$watchDelegate: function(t, e, n) { var r; return t.$watchGroup( S, function(n, i) { var a = E(n); k(e) && e.call(this, a, n !== i ? r : a, t), (r = a); }, n ); } } ); } } var s = t.length, u = e.length, l = new RegExp(t.replace(/./g, a), "g"), c = new RegExp(e.replace(/./g, a), "g"); return ( (o.startSymbol = function() { return t; }), (o.endSymbol = function() { return e; }), o ); } ]); } function mn() { this.$get = [ "$rootScope", "$window", "$q", "$$q", function(t, e, n, r) { function i(i, o, s, u) { var l = e.setInterval, c = e.clearInterval, f = 0, d = v(u) && !u, h = (d ? r : n).defer(), p = h.promise; return ( (s = v(s) ? s : 0), p.then(null, null, i), (p.$$intervalId = l(function() { h.notify(f++), s > 0 && f >= s && (h.resolve(f), c(p.$$intervalId), delete a[p.$$intervalId]), d || t.$apply(); }, o)), (a[p.$$intervalId] = h), p ); } var a = {}; return ( (i.cancel = function(t) { return t && t.$$intervalId in a ? (a[t.$$intervalId].reject("canceled"), e.clearInterval(t.$$intervalId), delete a[t.$$intervalId], !0) : !1; }), i ); } ]; } function gn() { this.$get = function() { return { id: "en-us", NUMBER_FORMATS: { DECIMAL_SEP: ".", GROUP_SEP: ",", PATTERNS: [ { minInt: 1, minFrac: 0, maxFrac: 3, posPre: "", posSuf: "", negPre: "-", negSuf: "", gSize: 3, lgSize: 3 }, { minInt: 1, minFrac: 2, maxFrac: 2, posPre: "¤", posSuf: "", negPre: "(¤", negSuf: ")", gSize: 3, lgSize: 3 } ], CURRENCY_SYM: "$" }, DATETIME_FORMATS: { MONTH: "January,February,March,April,May,June,July,August,September,October,November,December".split( "," ), SHORTMONTH: "Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec".split( "," ), DAY: "Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday".split( "," ), SHORTDAY: "Sun,Mon,Tue,Wed,Thu,Fri,Sat".split(","), AMPMS: ["AM", "PM"], medium: "MMM d, y h:mm:ss a", short: "M/d/yy h:mm a", fullDate: "EEEE, MMMM d, y", longDate: "MMMM d, y", mediumDate: "MMM d, y", shortDate: "M/d/yy", mediumTime: "h:mm:ss a", shortTime: "h:mm a" }, pluralCat: function(t) { return 1 === t ? "one" : "other"; } }; }; } function vn(t) { for (var e = t.split("/"), n = e.length; n--; ) e[n] = Y(e[n]); return e.join("/"); } function yn(t, e) { var n = ir(t); (e.$$protocol = n.protocol), (e.$$host = n.hostname), (e.$$port = d(n.port) || ra[n.protocol] || null); } function bn(t, e) { var n = "/" !== t.charAt(0); n && (t = "/" + t); var r = ir(t); (e.$$path = decodeURIComponent( n && "/" === r.pathname.charAt(0) ? r.pathname.substring(1) : r.pathname )), (e.$$search = W(r.search)), (e.$$hash = decodeURIComponent(r.hash)), e.$$path && "/" != e.$$path.charAt(0) && (e.$$path = "/" + e.$$path); } function wn(t, e) { return 0 === e.indexOf(t) ? e.substr(t.length) : void 0; } function xn(t) { var e = t.indexOf("#"); return -1 == e ? t : t.substr(0, e); } function kn(t) { return t.replace(/(#.+)|#$/, "$1"); } function Sn(t) { return t.substr(0, xn(t).lastIndexOf("/") + 1); } function Cn(t) { return t.substring(0, t.indexOf("/", t.indexOf("//") + 2)); } function An(t, e) { (this.$$html5 = !0), (e = e || ""); var r = Sn(t); yn(t, this), (this.$$parse = function(t) { var e = wn(r, t); if (!b(e)) throw ia( "ipthprfx", 'Invalid url "{0}", missing path prefix "{1}".', t, r ); bn(e, this), this.$$path || (this.$$path = "/"), this.$$compose(); }), (this.$$compose = function() { var t = J(this.$$search), e = this.$$hash ? "#" + Y(this.$$hash) : ""; (this.$$url = vn(this.$$path) + (t ? "?" + t : "") + e), (this.$$absUrl = r + this.$$url.substr(1)); }), (this.$$parseLinkUrl = function(i, a) { if (a && "#" === a[0]) return this.hash(a.slice(1)), !0; var o, s, u; return ( (o = wn(t, i)) !== n ? ((s = o), (u = (o = wn(e, o)) !== n ? r + (wn("/", o) || o) : t + s)) : (o = wn(r, i)) !== n ? (u = r + o) : r == i + "/" && (u = r), u && this.$$parse(u), !!u ); }); } function On(t, e) { var n = Sn(t); yn(t, this), (this.$$parse = function(r) { function i(t, e, n) { var r, i = /^\/[A-Z]:(\/.*)/; return ( 0 === e.indexOf(n) && (e = e.replace(n, "")), i.exec(e) ? t : ((r = i.exec(t)), r ? r[1] : t) ); } var a, o = wn(t, r) || wn(n, r); "#" === o.charAt(0) ? ((a = wn(e, o)), g(a) && (a = o)) : (a = this.$$html5 ? o : ""), bn(a, this), (this.$$path = i(this.$$path, a, t)), this.$$compose(); }), (this.$$compose = function() { var n = J(this.$$search), r = this.$$hash ? "#" + Y(this.$$hash) : ""; (this.$$url = vn(this.$$path) + (n ? "?" + n : "") + r), (this.$$absUrl = t + (this.$$url ? e + this.$$url : "")); }), (this.$$parseLinkUrl = function(e) { return xn(t) == xn(e) ? (this.$$parse(e), !0) : !1; }); } function En(t, e) { (this.$$html5 = !0), On.apply(this, arguments); var n = Sn(t); (this.$$parseLinkUrl = function(r, i) { if (i && "#" === i[0]) return this.hash(i.slice(1)), !0; var a, o; return ( t == xn(r) ? (a = r) : (o = wn(n, r)) ? (a = t + e + o) : n === r + "/" && (a = n), a && this.$$parse(a), !!a ); }), (this.$$compose = function() { var n = J(this.$$search), r = this.$$hash ? "#" + Y(this.$$hash) : ""; (this.$$url = vn(this.$$path) + (n ? "?" + n : "") + r), (this.$$absUrl = t + e + this.$$url); }); } function jn(t) { return function() { return this[t]; }; } function Nn(t, e) { return function(n) { return g(n) ? this[t] : ((this[t] = e(n)), this.$$compose(), this); }; } function Tn() { var t = "", e = { enabled: !1, requireBase: !0, rewriteLinks: !0 }; (this.hashPrefix = function(e) { return v(e) ? ((t = e), this) : t; }), (this.html5Mode = function(t) { return N(t) ? ((e.enabled = t), this) : y(t) ? (N(t.enabled) && (e.enabled = t.enabled), N(t.requireBase) && (e.requireBase = t.requireBase), N(t.rewriteLinks) && (e.rewriteLinks = t.rewriteLinks), this) : e; }), (this.$get = [ "$rootScope", "$browser", "$sniffer", "$rootElement", "$window", function(n, r, i, a, o) { function s(t, e, n) { var i = l.url(), a = l.$$state; try { r.url(t, e, n), (l.$$state = r.state()); } catch (o) { throw (l.url(i), (l.$$state = a), o); } } function u(t, e) { n.$broadcast("$locationChangeSuccess", l.absUrl(), t, l.$$state, e); } var l, c, f, d = r.baseHref(), h = r.url(); if (e.enabled) { if (!d && e.requireBase) throw ia( "nobase", "$location in HTML5 mode requires a <base> tag to be present!" ); (f = Cn(h) + (d || "/")), (c = i.history ? An : En); } else (f = xn(h)), (c = On); (l = new c(f, "#" + t)), l.$$parseLinkUrl(h, h), (l.$$state = r.state()); var p = /^\s*(javascript|mailto):/i; a.on("click", function(t) { if ( e.rewriteLinks && !t.ctrlKey && !t.metaKey && !t.shiftKey && 2 != t.which && 2 != t.button ) { for (var i = Qr(t.target); "a" !== V(i[0]); ) if (i[0] === a[0] || !(i = i.parent())[0]) return; var s = i.prop("href"), u = i.attr("href") || i.attr("xlink:href"); y(s) && "[object SVGAnimatedString]" === s.toString() && (s = ir(s.animVal).href), p.test(s) || !s || i.attr("target") || t.isDefaultPrevented() || (l.$$parseLinkUrl(s, u) && (t.preventDefault(), l.absUrl() != r.url() && (n.$apply(), (o.angular["ff-684208-preventDefault"] = !0)))); } }), kn(l.absUrl()) != kn(h) && r.url(l.absUrl(), !0); var $ = !0; return ( r.onUrlChange(function(t, e) { n.$evalAsync(function() { var r, i = l.absUrl(), a = l.$$state; l.$$parse(t), (l.$$state = e), (r = n.$broadcast("$locationChangeStart", t, i, e, a) .defaultPrevented), l.absUrl() === t && (r ? (l.$$parse(i), (l.$$state = a), s(i, !1, a)) : (($ = !1), u(i, a))); }), n.$$phase || n.$digest(); }), n.$watch(function() { var t = kn(r.url()), e = kn(l.absUrl()), a = r.state(), o = l.$$replace, c = t !== e || (l.$$html5 && i.history && a !== l.$$state); ($ || c) && (($ = !1), n.$evalAsync(function() { var e = l.absUrl(), r = n.$broadcast("$locationChangeStart", e, t, l.$$state, a) .defaultPrevented; l.absUrl() === e && (r ? (l.$$parse(t), (l.$$state = a)) : (c && s(e, o, a === l.$$state ? null : l.$$state), u(t, a))); })), (l.$$replace = !1); }), l ); } ]); } function Mn() { var t = !0, e = this; (this.debugEnabled = function(e) { return v(e) ? ((t = e), this) : t; }), (this.$get = [ "$window", function(n) { function r(t) { return ( t instanceof Error && (t.stack ? (t = t.message && -1 === t.stack.indexOf(t.message) ? "Error: " + t.message + "\n" + t.stack : t.stack) : t.sourceURL && (t = t.message + "\n" + t.sourceURL + ":" + t.line)), t ); } function i(t) { var e = n.console || {}, i = e[t] || e.log || p, o = !1; try { o = !!i.apply; } catch (s) {} return o ? function() { var t = []; return ( a(arguments, function(e) { t.push(r(e)); }), i.apply(e, t) ); } : function(t, e) { i(t, null == e ? "" : e); }; } return { log: i("log"), info: i("info"), warn: i("warn"), error: i("error"), debug: (function() { var n = i("debug"); return function() { t && n.apply(e, arguments); }; })() }; } ]); } function Pn(t, e) { if ( "__defineGetter__" === t || "__defineSetter__" === t || "__lookupGetter__" === t || "__lookupSetter__" === t || "__proto__" === t ) throw oa( "isecfld", "Attempting to access a disallowed field in Angular expressions! Expression: {0}", e ); return t; } function Vn(t, e) { if (t) { if (t.constructor === t) throw oa( "isecfn", "Referencing Function in Angular expressions is disallowed! Expression: {0}", e ); if (t.window === t) throw oa( "isecwindow", "Referencing the Window in Angular expressions is disallowed! Expression: {0}", e ); if (t.children && (t.nodeName || (t.prop && t.attr && t.find))) throw oa( "isecdom", "Referencing DOM nodes in Angular expressions is disallowed! Expression: {0}", e ); if (t === Object) throw oa( "isecobj", "Referencing Object in Angular expressions is disallowed! Expression: {0}", e ); } return t; } function qn(t, e) { if (t) { if (t.constructor === t) throw oa( "isecfn", "Referencing Function in Angular expressions is disallowed! Expression: {0}", e ); if (t === sa || t === ua || t === la) throw oa( "isecff", "Referencing call, apply or bind in Angular expressions is disallowed! Expression: {0}", e ); } } function Dn(t) { return t.constant; } function Rn(t, e, n, r, i) { Vn(t, i), Vn(e, i); for (var a, o = n.split("."), s = 0; o.length > 1; s++) { a = Pn(o.shift(), i); var u = (0 === s && e && e[a]) || t[a]; u || ((u = {}), (t[a] = u)), (t = Vn(u, i)); } return (a = Pn(o.shift(), i)), Vn(t[a], i), (t[a] = r), r; } function In(t) { return "constructor" == t; } function _n(t, e, r, i, a, o, s) { Pn(t, o), Pn(e, o), Pn(r, o), Pn(i, o), Pn(a, o); var u = function(t) { return Vn(t, o); }, l = s || In(t) ? u : $, c = s || In(e) ? u : $, f = s || In(r) ? u : $, d = s || In(i) ? u : $, h = s || In(a) ? u : $; return function(o, s) { var u = s && s.hasOwnProperty(t) ? s : o; return null == u ? u : ((u = l(u[t])), e ? null == u ? n : ((u = c(u[e])), r ? null == u ? n : ((u = f(u[r])), i ? null == u ? n : ((u = d(u[i])), a ? (null == u ? n : (u = h(u[a]))) : u) : u) : u) : u); }; } function Un(t, e) { return function(n, r) { return t(n, r, Vn, e); }; } function Ln(t, e, r) { var i = e.expensiveChecks, o = i ? ma : $a, s = o[t]; if (s) return s; var u = t.split("."), l = u.length; if (e.csp) s = 6 > l ? _n(u[0], u[1], u[2], u[3], u[4], r, i) : function(t, e) { var a, o = 0; do (a = _n(u[o++], u[o++], u[o++], u[o++], u[o++], r, i)(t, e)), (e = n), (t = a); while (l > o); return a; }; else { var c = ""; i && (c += "s = eso(s, fe);\nl = eso(l, fe);\n"); var f = i; a(u, function(t, e) { Pn(t, r); var n = (e ? "s" : '((l&&l.hasOwnProperty("' + t + '"))?l:s)') + "." + t; (i || In(t)) && ((n = "eso(" + n + ", fe)"), (f = !0)), (c += "if(s == null) return undefined;\ns=" + n + ";\n"); }), (c += "return s;"); var d = new Function("s", "l", "eso", "fe", c); (d.toString = m(c)), f && (d = Un(d, r)), (s = d); } return ( (s.sharedGetter = !0), (s.assign = function(e, n, r) { return Rn(e, r, t, n, t); }), (o[t] = s), s ); } function Fn(t) { return k(t.valueOf) ? t.valueOf() : ga.call(t); } function Hn() { var t = le(), e = le(); this.$get = [ "$filter", "$sniffer", function(n, r) { function i(t) { var e = t; return ( t.sharedGetter && ((e = function(e, n) { return t(e, n); }), (e.literal = t.literal), (e.constant = t.constant), (e.assign = t.assign)), e ); } function o(t, e) { for (var n = 0, r = t.length; r > n; n++) { var i = t[n]; i.constant || (i.inputs ? o(i.inputs, e) : -1 === e.indexOf(i) && e.push(i)); } return e; } function s(t, e) { return null == t || null == e ? t === e : "object" == typeof t && ((t = Fn(t)), "object" == typeof t) ? !1 : t === e || (t !== t && e !== e); } function u(t, e, n, r) { var i, a = r.$$inputs || (r.$$inputs = o(r.inputs, [])); if (1 === a.length) { var u = s; return ( (a = a[0]), t.$watch( function(t) { var e = a(t); return s(e, u) || ((i = r(t)), (u = e && Fn(e))), i; }, e, n ) ); } for (var l = [], c = 0, f = a.length; f > c; c++) l[c] = s; return t.$watch( function(t) { for (var e = !1, n = 0, o = a.length; o > n; n++) { var u = a[n](t); (e || (e = !s(u, l[n]))) && (l[n] = u && Fn(u)); } return e && (i = r(t)), i; }, e, n ); } function l(t, e, n, r) { var i, a; return (i = t.$watch( function(t) { return r(t); }, function(t, n, r) { (a = t), k(e) && e.apply(this, arguments), v(t) && r.$$postDigest(function() { v(a) && i(); }); }, n )); } function c(t, e, n, r) { function i(t) { var e = !0; return ( a(t, function(t) { v(t) || (e = !1); }), e ); } var o, s; return (o = t.$watch( function(t) { return r(t); }, function(t, n, r) { (s = t), k(e) && e.call(this, t, n, r), i(t) && r.$$postDigest(function() { i(s) && o(); }); }, n )); } function f(t, e, n, r) { var i; return (i = t.$watch( function(t) { return r(t); }, function() { k(e) && e.apply(this, arguments), i(); }, n )); } function d(t, e) { if (!e) return t; var n = t.$$watchDelegate, r = n !== c && n !== l, i = r ? function(n, r) { var i = t(n, r); return e(i, n, r); } : function(n, r) { var i = t(n, r), a = e(i, n, r); return v(i) ? a : i; }; return ( t.$$watchDelegate && t.$$watchDelegate !== u ? (i.$$watchDelegate = t.$$watchDelegate) : e.$stateful || ((i.$$watchDelegate = u), (i.inputs = [t])), i ); } var h = { csp: r.csp, expensiveChecks: !1 }, $ = { csp: r.csp, expensiveChecks: !0 }; return function(r, a, o) { var s, m, g; switch (typeof r) { case "string": g = r = r.trim(); var v = o ? e : t; if (((s = v[g]), !s)) { ":" === r.charAt(0) && ":" === r.charAt(1) && ((m = !0), (r = r.substring(2))); var y = o ? $ : h, b = new ha(y), w = new pa(b, n, y); (s = w.parse(r)), s.constant ? (s.$$watchDelegate = f) : m ? ((s = i(s)), (s.$$watchDelegate = s.literal ? c : l)) : s.inputs && (s.$$watchDelegate = u), (v[g] = s); } return d(s, a); case "function": return d(r, a); default: return d(p, a); } }; } ]; } function Bn() { this.$get = [ "$rootScope", "$exceptionHandler", function(t, e) { return Gn(function(e) { t.$evalAsync(e); }, e); } ]; } function zn() { this.$get = [ "$browser", "$exceptionHandler", function(t, e) { return Gn(function(e) { t.defer(e); }, e); } ]; } function Gn(t, e) { function i(t, e, n) { function r(e) { return function(n) { i || ((i = !0), e.call(t, n)); }; } var i = !1; return [r(e), r(n)]; } function o() { this.$$state = { status: 0 }; } function s(t, e) { return function(n) { e.call(t, n); }; } function u(t) { var r, i, a; (a = t.pending), (t.processScheduled = !1), (t.pending = n); for (var o = 0, s = a.length; s > o; ++o) { (i = a[o][0]), (r = a[o][t.status]); try { k(r) ? i.resolve(r(t.value)) : 1 === t.status ? i.resolve(t.value) : i.reject(t.value); } catch (u) { i.reject(u), e(u); } } } function l(e) { !e.processScheduled && e.pending && ((e.processScheduled = !0), t(function() { u(e); })); } function c() { (this.promise = new o()), (this.resolve = s(this, this.resolve)), (this.reject = s(this, this.reject)), (this.notify = s(this, this.notify)); } function f(t) { var e = new c(), n = 0, r = ci(t) ? [] : {}; return ( a(t, function(t, i) { n++, g(t).then( function(t) { r.hasOwnProperty(i) || ((r[i] = t), --n || e.resolve(r)); }, function(t) { r.hasOwnProperty(i) || e.reject(t); } ); }), 0 === n && e.resolve(r), e.promise ); } var d = r("$q", TypeError), h = function() { return new c(); }; (o.prototype = { then: function(t, e, n) { var r = new c(); return ( (this.$$state.pending = this.$$state.pending || []), this.$$state.pending.push([r, t, e, n]), this.$$state.status > 0 && l(this.$$state), r.promise ); }, catch: function(t) { return this.then(null, t); }, finally: function(t, e) { return this.then( function(e) { return m(e, !0, t); }, function(e) { return m(e, !1, t); }, e ); } }), (c.prototype = { resolve: function(t) { this.promise.$$state.status || (t === this.promise ? this.$$reject( d( "qcycle", "Expected promise to be resolved with value other than itself '{0}'", t ) ) : this.$$resolve(t)); }, $$resolve: function(t) { var n, r; r = i(this, this.$$resolve, this.$$reject); try { (y(t) || k(t)) && (n = t && t.then), k(n) ? ((this.promise.$$state.status = -1), n.call(t, r[0], r[1], this.notify)) : ((this.promise.$$state.value = t), (this.promise.$$state.status = 1), l(this.promise.$$state)); } catch (a) { r[1](a), e(a); } }, reject: function(t) { this.promise.$$state.status || this.$$reject(t); }, $$reject: function(t) { (this.promise.$$state.value = t), (this.promise.$$state.status = 2), l(this.promise.$$state); }, notify: function(n) { var r = this.promise.$$state.pending; this.promise.$$state.status <= 0 && r && r.length && t(function() { for (var t, i, a = 0, o = r.length; o > a; a++) { (i = r[a][0]), (t = r[a][3]); try { i.notify(k(t) ? t(n) : n); } catch (s) { e(s); } } }); } }); var p = function(t) { var e = new c(); return e.reject(t), e.promise; }, $ = function(t, e) { var n = new c(); return e ? n.resolve(t) : n.reject(t), n.promise; }, m = function(t, e, n) { var r = null; try { k(n) && (r = n()); } catch (i) { return $(i, !1); } return T(r) ? r.then( function() { return $(t, e); }, function(t) { return $(t, !1); } ) : $(t, e); }, g = function(t, e, n, r) { var i = new c(); return i.resolve(t), i.promise.then(e, n, r); }, v = function b(t) { function e(t) { r.resolve(t); } function n(t) { r.reject(t); } if (!k(t)) throw d("norslvr", "Expected resolverFn, got '{0}'", t); if (!(this instanceof b)) return new b(t); var r = new c(); return t(e, n), r.promise; }; return (v.defer = h), (v.reject = p), (v.when = g), (v.all = f), v; } function Wn() { this.$get = [ "$window", "$timeout", function(t, e) { var n = t.requestAnimationFrame || t.webkitRequestAnimationFrame, r = t.cancelAnimationFrame || t.webkitCancelAnimationFrame || t.webkitCancelRequestAnimationFrame, i = !!n, a = i ? function(t) { var e = n(t); return function() { r(e); }; } : function(t) { var n = e(t, 16.66, !1); return function() { e.cancel(n); }; }; return (a.supported = i), a; } ]; } function Jn() { var t = 10, e = r("$rootScope"), n = null, o = null; (this.digestTtl = function(e) { return arguments.length && (t = e), t; }), (this.$get = [ "$injector", "$exceptionHandler", "$parse", "$browser", function(r, s, u, c) { function f() { (this.$id = l()), (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.$$isolateBindings = null); } function d(t) { if (w.$$phase) throw e("inprog", "{0} already in progress", w.$$phase); w.$$phase = t; } function h() { w.$$phase = null; } function $(t, e, n) { do (t.$$listenerCount[n] -= e), 0 === t.$$listenerCount[n] && delete t.$$listenerCount[n]; while ((t = t.$parent)); } function m() {} function v() { for (; C.length; ) try { C.shift()(); } catch (t) { s(t); } o = null; } function b() { null === o && (o = c.defer(function() { w.$apply(v); })); } f.prototype = { constructor: f, $new: function(t, e) { function n() { r.$$destroyed = !0; } var r; return ( (e = e || this), t ? ((r = new f()), (r.$root = this.$root)) : (this.$$ChildScope || ((this.$$ChildScope = function() { (this.$$watchers = this.$$nextSibling = this.$$childHead = this.$$childTail = null), (this.$$listeners = {}), (this.$$listenerCount = {}), (this.$id = l()), (this.$$ChildScope = null); }), (this.$$ChildScope.prototype = this)), (r = new this.$$ChildScope())), (r.$parent = e), (r.$$prevSibling = e.$$childTail), e.$$childHead ? ((e.$$childTail.$$nextSibling = r), (e.$$childTail = r)) : (e.$$childHead = e.$$childTail = r), (t || e != this) && r.$on("$destroy", n), r ); }, $watch: function(t, e, r) { var i = u(t); if (i.$$watchDelegate) return i.$$watchDelegate(this, e, r, i); var a = this, o = a.$$watchers, s = { fn: e, last: m, get: i, exp: t, eq: !!r }; return ( (n = null), k(e) || (s.fn = p), o || (o = a.$$watchers = []), o.unshift(s), function() { q(o, s), (n = null); } ); }, $watchGroup: function(t, e) { function n() { (u = !1), l ? ((l = !1), e(i, i, s)) : e(i, r, s); } var r = new Array(t.length), i = new Array(t.length), o = [], s = this, u = !1, l = !0; if (!t.length) { var c = !0; return ( s.$evalAsync(function() { c && e(i, i, s); }), function() { c = !1; } ); } return 1 === t.length ? this.$watch(t[0], function(t, n, a) { (i[0] = t), (r[0] = n), e(i, t === n ? i : r, a); }) : (a(t, function(t, e) { var a = s.$watch(t, function(t, a) { (i[e] = t), (r[e] = a), u || ((u = !0), s.$evalAsync(n)); }); o.push(a); }), function() { for (; o.length; ) o.shift()(); }); }, $watchCollection: function(t, e) { function n(t) { a = t; var e, n, r, s, u; if (!g(a)) { if (y(a)) if (i(a)) { o !== h && ((o = h), (m = o.length = 0), f++), (e = a.length), m !== e && (f++, (o.length = m = e)); for (var l = 0; e > l; l++) (u = o[l]), (s = a[l]), (r = u !== u && s !== s), r || u === s || (f++, (o[l] = s)); } else { o !== p && ((o = p = {}), (m = 0), f++), (e = 0); for (n in a) a.hasOwnProperty(n) && (e++, (s = a[n]), (u = o[n]), n in o ? ((r = u !== u && s !== s), r || u === s || (f++, (o[n] = s))) : (m++, (o[n] = s), f++)); if (m > e) { f++; for (n in o) a.hasOwnProperty(n) || (m--, delete o[n]); } } else o !== a && ((o = a), f++); return f; } } function r() { if (($ ? (($ = !1), e(a, a, l)) : e(a, s, l), c)) if (y(a)) if (i(a)) { s = new Array(a.length); for (var t = 0; t < a.length; t++) s[t] = a[t]; } else { s = {}; for (var n in a) Jr.call(a, n) && (s[n] = a[n]); } else s = a; } n.$stateful = !0; var a, o, s, l = this, c = e.length > 1, f = 0, d = u(t, n), h = [], p = {}, $ = !0, m = 0; return this.$watch(d, r); }, $digest: function() { var r, i, a, u, l, f, p, $, g, y, b = t, C = this, A = []; d("$digest"), c.$$checkUrlChange(), this === w && null !== o && (c.defer.cancel(o), v()), (n = null); do { for (f = !1, $ = C; x.length; ) { try { (y = x.shift()), y.scope.$eval(y.expression, y.locals); } catch (O) { s(O); } n = null; } t: do { if ((u = $.$$watchers)) for (l = u.length; l--; ) try { if ((r = u[l])) if ( (i = r.get($)) === (a = r.last) || (r.eq ? I(i, a) : "number" == typeof i && "number" == typeof a && isNaN(i) && isNaN(a)) ) { if (r === n) { f = !1; break t; } } else (f = !0), (n = r), (r.last = r.eq ? D(i, null) : i), r.fn(i, a === m ? i : a, $), 5 > b && ((g = 4 - b), A[g] || (A[g] = []), A[g].push({ msg: k(r.exp) ? "fn: " + (r.exp.name || r.exp.toString()) : r.exp, newVal: i, oldVal: a })); } catch (O) { s(O); } if (!(p = $.$$childHead || ($ !== C && $.$$nextSibling))) for (; $ !== C && !(p = $.$$nextSibling); ) $ = $.$parent; } while (($ = p)); if ((f || x.length) && !b--) throw (h(), e( "infdig", "{0} $digest() iterations reached. Aborting!\nWatchers fired in the last 5 iterations: {1}", t, A )); } while (f || x.length); for (h(); S.length; ) try { S.shift()(); } catch (O) { s(O); } }, $destroy: function() { if (!this.$$destroyed) { var t = this.$parent; if ( (this.$broadcast("$destroy"), (this.$$destroyed = !0), this !== w) ) { for (var e in this.$$listenerCount) $(this, this.$$listenerCount[e], e); t.$$childHead == this && (t.$$childHead = this.$$nextSibling), t.$$childTail == this && (t.$$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 = p), (this.$on = this.$watch = this.$watchGroup = function() { return p; }), (this.$$listeners = {}), (this.$parent = this.$$nextSibling = this.$$prevSibling = this.$$childHead = this.$$childTail = this.$root = this.$$watchers = null); } } }, $eval: function(t, e) { return u(t)(this, e); }, $evalAsync: function(t, e) { w.$$phase || x.length || c.defer(function() { x.length && w.$digest(); }), x.push({ scope: this, expression: t, locals: e }); }, $$postDigest: function(t) { S.push(t); }, $apply: function(t) { try { return d("$apply"), this.$eval(t); } catch (e) { s(e); } finally { h(); try { w.$digest(); } catch (e) { throw (s(e), e); } } }, $applyAsync: function(t) { function e() { n.$eval(t); } var n = this; t && C.push(e), b(); }, $on: function(t, e) { var n = this.$$listeners[t]; n || (this.$$listeners[t] = n = []), n.push(e); var r = this; do r.$$listenerCount[t] || (r.$$listenerCount[t] = 0), r.$$listenerCount[t]++; while ((r = r.$parent)); var i = this; return function() { var r = n.indexOf(e); -1 !== r && ((n[r] = null), $(i, 1, t)); }; }, $emit: function(t) { var e, n, r, i = [], a = this, o = !1, u = { name: t, targetScope: a, stopPropagation: function() { o = !0; }, preventDefault: function() { u.defaultPrevented = !0; }, defaultPrevented: !1 }, l = _([u], arguments, 1); do { for ( e = a.$$listeners[t] || i, u.currentScope = a, n = 0, r = e.length; r > n; n++ ) if (e[n]) try { e[n].apply(null, l); } catch (c) { s(c); } else e.splice(n, 1), n--, r--; if (o) return (u.currentScope = null), u; a = a.$parent; } while (a); return (u.currentScope = null), u; }, $broadcast: function(t) { var e = this, n = e, r = e, i = { name: t, targetScope: e, preventDefault: function() { i.defaultPrevented = !0; }, defaultPrevented: !1 }; if (!e.$$listenerCount[t]) return i; for (var a, o, u, l = _([i], arguments, 1); (n = r); ) { for ( i.currentScope = n, a = n.$$listeners[t] || [], o = 0, u = a.length; u > o; o++ ) if (a[o]) try { a[o].apply(null, l); } catch (c) { s(c); } else a.splice(o, 1), o--, u--; if ( !(r = (n.$$listenerCount[t] && n.$$childHead) || (n !== e && n.$$nextSibling)) ) for (; n !== e && !(r = n.$$nextSibling); ) n = n.$parent; } return (i.currentScope = null), i; } }; var w = new f(), x = (w.$$asyncQueue = []), S = (w.$$postDigestQueue = []), C = (w.$$applyAsyncQueue = []); return w; } ]); } function Yn() { var t = /^\s*(https?|ftp|mailto|tel|file):/, e = /^\s*((https?|ftp|file|blob):|data:image\/)/; (this.aHrefSanitizationWhitelist = function(e) { return v(e) ? ((t = e), this) : t; }), (this.imgSrcSanitizationWhitelist = function(t) { return v(t) ? ((e = t), this) : e; }), (this.$get = function() { return function(n, r) { var i, a = r ? e : t; return (i = ir(n).href), "" === i || i.match(a) ? n : "unsafe:" + i; }; }); } function Zn(t) { if ("self" === t) return t; if (b(t)) { if (t.indexOf("***") > -1) throw va( "iwcard", "Illegal sequence *** in string matcher. String: {0}", t ); return ( (t = di(t) .replace("\\*\\*", ".*") .replace("\\*", "[^:/.?&;]*")), new RegExp("^" + t + "$") ); } if (S(t)) return new RegExp("^" + t.source + "$"); throw va( "imatcher", 'Matchers may only be "self", string patterns or RegExp objects' ); } function Kn(t) { var e = []; return ( v(t) && a(t, function(t) { e.push(Zn(t)); }), e ); } function Xn() { this.SCE_CONTEXTS = ya; var t = ["self"], e = []; (this.resourceUrlWhitelist = function(e) { return arguments.length && (t = Kn(e)), t; }), (this.resourceUrlBlacklist = function(t) { return arguments.length && (e = Kn(t)), e; }), (this.$get = [ "$injector", function(r) { function i(t, e) { return "self" === t ? ar(e) : !!t.exec(e.href); } function a(n) { var r, a, o = ir(n.toString()), s = !1; for (r = 0, a = t.length; a > r; r++) if (i(t[r], o)) { s = !0; break; } if (s) for (r = 0, a = e.length; a > r; r++) if (i(e[r], o)) { s = !1; break; } return s; } function o(t) { var e = function(t) { this.$$unwrapTrustedValue = function() { return t; }; }; return ( t && (e.prototype = new t()), (e.prototype.valueOf = function() { return this.$$unwrapTrustedValue(); }), (e.prototype.toString = function() { return this.$$unwrapTrustedValue().toString(); }), e ); } function s(t, e) { var r = d.hasOwnProperty(t) ? d[t] : null; if (!r) throw va( "icontext", "Attempted to trust a value in invalid context. Context: {0}; Value: {1}", t, e ); if (null === e || e === n || "" === e) return e; if ("string" != typeof e) throw va( "itype", "Attempted to trust a non-string value in a content requiring a string: Context: {0}", t ); return new r(e); } function u(t) { return t instanceof f ? t.$$unwrapTrustedValue() : t; } function l(t, e) { if (null === e || e === n || "" === e) return e; var r = d.hasOwnProperty(t) ? d[t] : null; if (r && e instanceof r) return e.$$unwrapTrustedValue(); if (t === ya.RESOURCE_URL) { if (a(e)) return e; throw va( "insecurl", "Blocked loading resource from url not allowed by $sceDelegate policy. URL: {0}", e.toString() ); } if (t === ya.HTML) return c(e); throw va( "unsafe", "Attempting to use an unsafe value in a safe context." ); } var c = function() { throw va( "unsafe", "Attempting to use an unsafe value in a safe context." ); }; r.has("$sanitize") && (c = r.get("$sanitize")); var f = o(), d = {}; return ( (d[ya.HTML] = o(f)), (d[ya.CSS] = o(f)), (d[ya.URL] = o(f)), (d[ya.JS] = o(f)), (d[ya.RESOURCE_URL] = o(d[ya.URL])), { trustAs: s, getTrusted: l, valueOf: u } ); } ]); } function Qn() { var t = !0; (this.enabled = function(e) { return arguments.length && (t = !!e), t; }), (this.$get = [ "$parse", "$sceDelegate", function(e, n) { if (t && 8 > Xr) throw va( "iequirks", "Strict Contextual Escaping does not support Internet Explorer version < 11 in quirks mode. You can fix this by adding the text <!doctype html> to the top of your HTML document. See http://docs.angularjs.org/api/ng.$sce for more information." ); var r = R(ya); (r.isEnabled = function() { return t; }), (r.trustAs = n.trustAs), (r.getTrusted = n.getTrusted), (r.valueOf = n.valueOf), t || ((r.trustAs = r.getTrusted = function(t, e) { return e; }), (r.valueOf = $)), (r.parseAs = function(t, n) { var i = e(n); return i.literal && i.constant ? i : e(n, function(e) { return r.getTrusted(t, e); }); }); var i = r.parseAs, o = r.getTrusted, s = r.trustAs; return ( a(ya, function(t, e) { var n = Wr(e); (r[$e("parse_as_" + n)] = function(e) { return i(t, e); }), (r[$e("get_trusted_" + n)] = function(e) { return o(t, e); }), (r[$e("trust_as_" + n)] = function(e) { return s(t, e); }); }), r ); } ]); } function tr() { this.$get = [ "$window", "$document", function(t, e) { var n, r, i = {}, a = d( (/android (\d+)/.exec(Wr((t.navigator || {}).userAgent)) || [])[1] ), o = /Boxee/i.test((t.navigator || {}).userAgent), s = e[0] || {}, u = /^(Moz|webkit|ms)(?=[A-Z])/, l = s.body && s.body.style, c = !1, f = !1; if (l) { for (var h in l) if ((r = u.exec(h))) { (n = r[0]), (n = n.substr(0, 1).toUpperCase() + n.substr(1)); break; } n || (n = "WebkitOpacity" in l && "webkit"), (c = !!("transition" in l || n + "Transition" in l)), (f = !!("animation" in l || n + "Animation" in l)), !a || (c && f) || ((c = b(s.body.style.webkitTransition)), (f = b(s.body.style.webkitAnimation))); } return { history: !(!t.history || !t.history.pushState || 4 > a || o), hasEvent: function(t) { if ("input" === t && 11 >= Xr) return !1; if (g(i[t])) { var e = s.createElement("div"); i[t] = "on" + t in e; } return i[t]; }, csp: hi(), vendorPrefix: n, transitions: c, animations: f, android: a }; } ]; } function er() { this.$get = [ "$templateCache", "$http", "$q", function(t, e, n) { function r(i, a) { function o(t) { if (!a) throw Wi("tpload", "Failed to load template: {0}", i); return n.reject(t); } r.totalPendingRequests++; var s = e.defaults && e.defaults.transformResponse; ci(s) ? (s = s.filter(function(t) { return t !== an; })) : s === an && (s = null); var u = { cache: t, transformResponse: s }; return e .get(i, u) .finally(function() { r.totalPendingRequests--; }) .then(function(t) { return t.data; }, o); } return (r.totalPendingRequests = 0), r; } ]; } function nr() { this.$get = [ "$rootScope", "$browser", "$location", function(t, e, n) { var r = {}; return ( (r.findBindings = function(t, e, n) { var r = t.getElementsByClassName("ng-binding"), i = []; return ( a(r, function(t) { var r = si.element(t).data("$binding"); r && a(r, function(r) { if (n) { var a = new RegExp("(^|\\s)" + di(e) + "(\\s|\\||$)"); a.test(r) && i.push(t); } else -1 != r.indexOf(e) && i.push(t); }); }), i ); }), (r.findModels = function(t, e, n) { for ( var r = ["ng-", "data-ng-", "ng\\:"], i = 0; i < r.length; ++i ) { var a = n ? "=" : "*=", o = "[" + r[i] + "model" + a + '"' + e + '"]', s = t.querySelectorAll(o); if (s.length) return s; } }), (r.getLocation = function() { return n.url(); }), (r.setLocation = function(e) { e !== n.url() && (n.url(e), t.$digest()); }), (r.whenStable = function(t) { e.notifyWhenNoOutstandingRequests(t); }), r ); } ]; } function rr() { this.$get = [ "$rootScope", "$browser", "$q", "$$q", "$exceptionHandler", function(t, e, n, r, i) { function a(a, s, u) { var l, c = v(u) && !u, f = (c ? r : n).defer(), d = f.promise; return ( (l = e.defer(function() { try { f.resolve(a()); } catch (e) { f.reject(e), i(e); } finally { delete o[d.$$timeoutId]; } c || t.$apply(); }, s)), (d.$$timeoutId = l), (o[l] = f), d ); } var o = {}; return ( (a.cancel = function(t) { return t && t.$$timeoutId in o ? (o[t.$$timeoutId].reject("canceled"), delete o[t.$$timeoutId], e.defer.cancel(t.$$timeoutId)) : !1; }), a ); } ]; } function ir(t) { var e = t; return ( Xr && (ba.setAttribute("href", e), (e = ba.href)), ba.setAttribute("href", e), { href: ba.href, protocol: ba.protocol ? ba.protocol.replace(/:$/, "") : "", host: ba.host, search: ba.search ? ba.search.replace(/^\?/, "") : "", hash: ba.hash ? ba.hash.replace(/^#/, "") : "", hostname: ba.hostname, port: ba.port, pathname: "/" === ba.pathname.charAt(0) ? ba.pathname : "/" + ba.pathname } ); } function ar(t) { var e = b(t) ? ir(t) : t; return e.protocol === wa.protocol && e.host === wa.host; } function or() { this.$get = m(t); } function sr(t) { function e(r, i) { if (y(r)) { var o = {}; return ( a(r, function(t, n) { o[n] = e(n, t); }), o ); } return t.factory(r + n, i); } var n = "Filter"; (this.register = e), (this.$get = [ "$injector", function(t) { return function(e) { return t.get(e + n); }; } ]), e("currency", fr), e("date", xr), e("filter", ur), e("json", kr), e("limitTo", Sr), e("lowercase", Aa), e("number", dr), e("orderBy", Cr), e("uppercase", Oa); } function ur() { return function(t, e, n) { if (!ci(t)) return t; var r, i; switch (typeof e) { case "function": r = e; break; case "boolean": case "number": case "string": i = !0; case "object": r = lr(e, n, i); break; default: return t; } return t.filter(r); }; } function lr(t, e, n) { var r, i = y(t) && "$" in t; return ( e === !0 ? (e = I) : k(e) || (e = function(t, e) { return y(t) || y(e) ? !1 : ((t = Wr("" + t)), (e = Wr("" + e)), -1 !== t.indexOf(e)); }), (r = function(r) { return i && !y(r) ? cr(r, t.$, e, !1) : cr(r, t, e, n); }) ); } function cr(t, e, n, r, i) { var a = typeof t, o = typeof e; if ("string" === o && "!" === e.charAt(0)) return !cr(t, e.substring(1), n, r); if (ci(t)) return t.some(function(t) { return cr(t, e, n, r); }); switch (a) { case "object": var s; if (r) { for (s in t) if ("$" !== s.charAt(0) && cr(t[s], e, n, !0)) return !0; return i ? !1 : cr(t, e, n, !1); } if ("object" === o) { for (s in e) { var u = e[s]; if (!k(u)) { var l = "$" === s, c = l ? t : t[s]; if (!cr(c, u, n, l, l)) return !1; } } return !0; } return n(t, e); case "function": return !1; default: return n(t, e); } } function fr(t) { var e = t.NUMBER_FORMATS; return function(t, n, r) { return ( g(n) && (n = e.CURRENCY_SYM), g(r) && (r = e.PATTERNS[1].maxFrac), null == t ? t : hr(t, e.PATTERNS[1], e.GROUP_SEP, e.DECIMAL_SEP, r).replace( /\u00A4/g, n ) ); }; } function dr(t) { var e = t.NUMBER_FORMATS; return function(t, n) { return null == t ? t : hr(t, e.PATTERNS[0], e.GROUP_SEP, e.DECIMAL_SEP, n); }; } function hr(t, e, n, r, i) { if (!isFinite(t) || y(t)) return ""; var a = 0 > t; t = Math.abs(t); var o = t + "", s = "", u = [], l = !1; if (-1 !== o.indexOf("e")) { var c = o.match(/([\d\.]+)e(-?)(\d+)/); c && "-" == c[2] && c[3] > i + 1 ? (t = 0) : ((s = o), (l = !0)); } if (l) i > 0 && 1 > t && ((s = t.toFixed(i)), (t = parseFloat(s))); else { var f = (o.split(xa)[1] || "").length; g(i) && (i = Math.min(Math.max(e.minFrac, f), e.maxFrac)), (t = +(Math.round(+(t.toString() + "e" + i)).toString() + "e" + -i)); var d = ("" + t).split(xa), h = d[0]; d = d[1] || ""; var p, $ = 0, m = e.lgSize, v = e.gSize; if (h.length >= m + v) for ($ = h.length - m, p = 0; $ > p; p++) ($ - p) % v === 0 && 0 !== p && (s += n), (s += h.charAt(p)); for (p = $; p < h.length; p++) (h.length - p) % m === 0 && 0 !== p && (s += n), (s += h.charAt(p)); for (; d.length < i; ) d += "0"; i && "0" !== i && (s += r + d.substr(0, i)); } return ( 0 === t && (a = !1), u.push(a ? e.negPre : e.posPre, s, a ? e.negSuf : e.posSuf), u.join("") ); } function pr(t, e, n) { var r = ""; for (0 > t && ((r = "-"), (t = -t)), t = "" + t; t.length < e; ) t = "0" + t; return n && (t = t.substr(t.length - e)), r + t; } function $r(t, e, n, r) { return ( (n = n || 0), function(i) { var a = i["get" + t](); return ( (n > 0 || a > -n) && (a += n), 0 === a && -12 == n && (a = 12), pr(a, e, r) ); } ); } function mr(t, e) { return function(n, r) { var i = n["get" + t](), a = Yr(e ? "SHORT" + t : t); return r[a][i]; }; } function gr(t) { var e = -1 * t.getTimezoneOffset(), n = e >= 0 ? "+" : ""; return (n += pr(Math[e > 0 ? "floor" : "ceil"](e / 60), 2) + pr(Math.abs(e % 60), 2)); } function vr(t) { var e = new Date(t, 0, 1).getDay(); return new Date(t, 0, (4 >= e ? 5 : 12) - e); } function yr(t) { return new Date( t.getFullYear(), t.getMonth(), t.getDate() + (4 - t.getDay()) ); } function br(t) { return function(e) { var n = vr(e.getFullYear()), r = yr(e), i = +r - +n, a = 1 + Math.round(i / 6048e5); return pr(a, t); }; } function wr(t, e) { return t.getHours() < 12 ? e.AMPMS[0] : e.AMPMS[1]; } function xr(t) { function e(t) { var e; if ((e = t.match(n))) { var r = new Date(0), i = 0, a = 0, o = e[8] ? r.setUTCFullYear : r.setFullYear, s = e[8] ? r.setUTCHours : r.setHours; e[9] && ((i = d(e[9] + e[10])), (a = d(e[9] + e[11]))), o.call(r, d(e[1]), d(e[2]) - 1, d(e[3])); var u = d(e[4] || 0) - i, l = d(e[5] || 0) - a, c = d(e[6] || 0), f = Math.round(1e3 * parseFloat("0." + (e[7] || 0))); return s.call(r, u, l, c, f), r; } return t; } var n = /^(\d{4})-?(\d\d)-?(\d\d)(?:T(\d\d)(?::?(\d\d)(?::?(\d\d)(?:\.(\d+))?)?)?(Z|([+-])(\d\d):?(\d\d))?)?$/; return function(n, r, i) { var o, s, u = "", l = []; if ( ((r = r || "mediumDate"), (r = t.DATETIME_FORMATS[r] || r), b(n) && (n = Ca.test(n) ? d(n) : e(n)), w(n) && (n = new Date(n)), !x(n)) ) return n; for (; r; ) (s = Sa.exec(r)), s ? ((l = _(l, s, 1)), (r = l.pop())) : (l.push(r), (r = null)); return ( i && "UTC" === i && ((n = new Date(n.getTime())), n.setMinutes(n.getMinutes() + n.getTimezoneOffset())), a(l, function(e) { (o = ka[e]), (u += o ? o(n, t.DATETIME_FORMATS) : e.replace(/(^'|'$)/g, "").replace(//g, "'")); }), u ); }; } function kr() { return function(t, e) { return g(e) && (e = 2), H(t, e); }; } function Sr() { return function(t, e) { return ( w(t) && (t = t.toString()), ci(t) || b(t) ? ((e = 1 / 0 === Math.abs(Number(e)) ? Number(e) : d(e)), e ? (e > 0 ? t.slice(0, e) : t.slice(e)) : b(t) ? "" : []) : t ); }; } function Cr(t) { return function(e, n, r) { function a(t, e) { for (var r = 0; r < n.length; r++) { var i = n[r](t, e); if (0 !== i) return i; } return 0; } function o(t, e) { return e ? function(e, n) { return t(n, e); } : t; } function s(t) { switch (typeof t) { case "number": case "boolean": case "string": return !0; default: return !1; } } function u(t) { return null === t ? "null" : "function" == typeof t.valueOf && ((t = t.valueOf()), s(t)) ? t : "function" == typeof t.toString && ((t = t.toString()), s(t)) ? t : ""; } function l(t, e) { var n = typeof t, r = typeof e; return ( n === r && "object" === n && ((t = u(t)), (e = u(e))), n === r ? ("string" === n && ((t = t.toLowerCase()), (e = e.toLowerCase())), t === e ? 0 : e > t ? -1 : 1) : r > n ? -1 : 1 ); } return i(e) ? ((n = ci(n) ? n : [n]), 0 === n.length && (n = ["+"]), (n = n.map(function(e) { var n = !1, r = e || $; if (b(e)) { if ( (("+" == e.charAt(0) || "-" == e.charAt(0)) && ((n = "-" == e.charAt(0)), (e = e.substring(1))), "" === e) ) return o(l, n); if (((r = t(e)), r.constant)) { var i = r(); return o(function(t, e) { return l(t[i], e[i]); }, n); } } return o(function(t, e) { return l(r(t), r(e)); }, n); })), ni.call(e).sort(o(a, r))) : e; }; } function Ar(t) { return k(t) && (t = { link: t }), (t.restrict = t.restrict || "AC"), m(t); } function Or(t, e) { t.$name = e; } function Er(t, e, r, i, o) { var s = this, u = [], l = (s.$$parentForm = t.parent().controller("form") || Na); (s.$error = {}), (s.$$success = {}), (s.$pending = n), (s.$name = o(e.name || e.ngForm || "")(r)), (s.$dirty = !1), (s.$pristine = !0), (s.$valid = !0), (s.$invalid = !1), (s.$submitted = !1), l.$addControl(s), (s.$rollbackViewValue = function() { a(u, function(t) { t.$rollbackViewValue(); }); }), (s.$commitViewValue = function() { a(u, function(t) { t.$commitViewValue(); }); }), (s.$addControl = function(t) { oe(t.$name, "input"), u.push(t), t.$name && (s[t.$name] = t); }), (s.$$renameControl = function(t, e) { var n = t.$name; s[n] === t && delete s[n], (s[e] = t), (t.$name = e); }), (s.$removeControl = function(t) { t.$name && s[t.$name] === t && delete s[t.$name], a(s.$pending, function(e, n) { s.$setValidity(n, null, t); }), a(s.$error, function(e, n) { s.$setValidity(n, null, t); }), a(s.$$success, function(e, n) { s.$setValidity(n, null, t); }), q(u, t); }), Hr({ ctrl: this, $element: t, set: function(t, e, n) { var r = t[e]; if (r) { var i = r.indexOf(n); -1 === i && r.push(n); } else t[e] = [n]; }, unset: function(t, e, n) { var r = t[e]; r && (q(r, n), 0 === r.length && delete t[e]); }, parentForm: l, $animate: i }), (s.$setDirty = function() { i.removeClass(t, ho), i.addClass(t, po), (s.$dirty = !0), (s.$pristine = !1), l.$setDirty(); }), (s.$setPristine = function() { i.setClass(t, ho, po + " " + Ta), (s.$dirty = !1), (s.$pristine = !0), (s.$submitted = !1), a(u, function(t) { t.$setPristine(); }); }), (s.$setUntouched = function() { a(u, function(t) { t.$setUntouched(); }); }), (s.$setSubmitted = function() { i.addClass(t, Ta), (s.$submitted = !0), l.$setSubmitted(); }); } function jr(t) { t.$formatters.push(function(e) { return t.$isEmpty(e) ? e : e.toString(); }); } function Nr(t, e, n, r, i, a) { Tr(t, e, n, r, i, a), jr(r); } function Tr(t, e, n, r, i, a) { var o = Wr(e[0].type); if (!i.android) { var s = !1; e.on("compositionstart", function() { s = !0; }), e.on("compositionend", function() { (s = !1), u(); }); } var u = function(t) { if ((l && (a.defer.cancel(l), (l = null)), !s)) { var i = e.val(), u = t && t.type; "password" === o || (n.ngTrim && "false" === n.ngTrim) || (i = fi(i)), (r.$viewValue !== i || ("" === i && r.$$hasNativeValidators)) && r.$setViewValue(i, u); } }; if (i.hasEvent("input")) e.on("input", u); else { var l, c = function(t, e, n) { l || (l = a.defer(function() { (l = null), (e && e.value === n) || u(t); })); }; e.on("keydown", function(t) { var e = t.keyCode; 91 === e || (e > 15 && 19 > e) || (e >= 37 && 40 >= e) || c(t, this, this.value); }), i.hasEvent("paste") && e.on("paste cut", c); } e.on("change", u), (r.$render = function() { e.val(r.$isEmpty(r.$viewValue) ? "" : r.$viewValue); }); } function Mr(t, e) { if (x(t)) return t; if (b(t)) { La.lastIndex = 0; var n = La.exec(t); if (n) { var r = +n[1], i = +n[2], a = 0, o = 0, s = 0, u = 0, l = vr(r), c = 7 * (i - 1); return ( e && ((a = e.getHours()), (o = e.getMinutes()), (s = e.getSeconds()), (u = e.getMilliseconds())), new Date(r, 0, l.getDate() + c, a, o, s, u) ); } } return 0 / 0; } function Pr(t, e) { return function(n, r) { var i, o; if (x(n)) return n; if (b(n)) { if ( ('"' == n.charAt(0) && '"' == n.charAt(n.length - 1) && (n = n.substring(1, n.length - 1)), qa.test(n)) ) return new Date(n); if (((t.lastIndex = 0), (i = t.exec(n)))) return ( i.shift(), (o = r ? { yyyy: r.getFullYear(), MM: r.getMonth() + 1, dd: r.getDate(), HH: r.getHours(), mm: r.getMinutes(), ss: r.getSeconds(), sss: r.getMilliseconds() / 1e3 } : { yyyy: 1970, MM: 1, dd: 1, HH: 0, mm: 0, ss: 0, sss: 0 }), a(i, function(t, n) { n < e.length && (o[e[n]] = +t); }), new Date( o.yyyy, o.MM - 1, o.dd, o.HH, o.mm, o.ss || 0, 1e3 * o.sss || 0 ) ); } return 0 / 0; }; } function Vr(t, e, r, i) { return function(a, o, s, u, l, c, f) { function d(t) { return t && !(t.getTime && t.getTime() !== t.getTime()); } function h(t) { return v(t) ? (x(t) ? t : r(t)) : n; } qr(a, o, s, u), Tr(a, o, s, u, l, c); var p, $ = u && u.$options && u.$options.timezone; if ( ((u.$$parserName = t), u.$parsers.push(function(t) { if (u.$isEmpty(t)) return null; if (e.test(t)) { var i = r(t, p); return ( "UTC" === $ && i.setMinutes(i.getMinutes() - i.getTimezoneOffset()), i ); } return n; }), u.$formatters.push(function(t) { if (t && !x(t)) throw vo("datefmt", "Expected `{0}` to be a date", t); if (d(t)) { if (((p = t), p && "UTC" === $)) { var e = 6e4 * p.getTimezoneOffset(); p = new Date(p.getTime() + e); } return f("date")(t, i, $); } return (p = null), ""; }), v(s.min) || s.ngMin) ) { var m; (u.$validators.min = function(t) { return !d(t) || g(m) || r(t) >= m; }), s.$observe("min", function(t) { (m = h(t)), u.$validate(); }); } if (v(s.max) || s.ngMax) { var y; (u.$validators.max = function(t) { return !d(t) || g(y) || r(t) <= y; }), s.$observe("max", function(t) { (y = h(t)), u.$validate(); }); } }; } function qr(t, e, r, i) { var a = e[0], o = (i.$$hasNativeValidators = y(a.validity)); o && i.$parsers.push(function(t) { var r = e.prop(Gr) || {}; return r.badInput && !r.typeMismatch ? n : t; }); } function Dr(t, e, r, i, a, o) { if ( (qr(t, e, r, i), Tr(t, e, r, i, a, o), (i.$$parserName = "number"), i.$parsers.push(function(t) { return i.$isEmpty(t) ? null : Ia.test(t) ? parseFloat(t) : n; }), i.$formatters.push(function(t) { if (!i.$isEmpty(t)) { if (!w(t)) throw vo("numfmt", "Expected `{0}` to be a number", t); t = t.toString(); } return t; }), r.min || r.ngMin) ) { var s; (i.$validators.min = function(t) { return i.$isEmpty(t) || g(s) || t >= s; }), r.$observe("min", function(t) { v(t) && !w(t) && (t = parseFloat(t, 10)), (s = w(t) && !isNaN(t) ? t : n), i.$validate(); }); } if (r.max || r.ngMax) { var u; (i.$validators.max = function(t) { return i.$isEmpty(t) || g(u) || u >= t; }), r.$observe("max", function(t) { v(t) && !w(t) && (t = parseFloat(t, 10)), (u = w(t) && !isNaN(t) ? t : n), i.$validate(); }); } } function Rr(t, e, n, r, i, a) { Tr(t, e, n, r, i, a), jr(r), (r.$$parserName = "url"), (r.$validators.url = function(t, e) { var n = t || e; return r.$isEmpty(n) || Da.test(n); }); } function Ir(t, e, n, r, i, a) { Tr(t, e, n, r, i, a), jr(r), (r.$$parserName = "email"), (r.$validators.email = function(t, e) { var n = t || e; return r.$isEmpty(n) || Ra.test(n); }); } function _r(t, e, n, r) { g(n.name) && e.attr("name", l()); var i = function(t) { e[0].checked && r.$setViewValue(n.value, t && t.type); }; e.on("click", i), (r.$render = function() { var t = n.value; e[0].checked = t == r.$viewValue; }), n.$observe("value", r.$render); } function Ur(t, e, n, i, a) { var o; if (v(i)) { if (((o = t(i)), !o.constant)) throw r("ngModel")( "constexpr", "Expected constant expression for `{0}`, but saw `{1}`.", n, i ); return o(e); } return a; } function Lr(t, e, n, r, i, a, o, s) { var u = Ur(s, t, "ngTrueValue", n.ngTrueValue, !0), l = Ur(s, t, "ngFalseValue", n.ngFalseValue, !1), c = function(t) { r.$setViewValue(e[0].checked, t && t.type); }; e.on("click", c), (r.$render = function() { e[0].checked = r.$viewValue; }), (r.$isEmpty = function(t) { return t === !1; }), r.$formatters.push(function(t) { return I(t, u); }), r.$parsers.push(function(t) { return t ? u : l; }); } function Fr(t, e) { return ( (t = "ngClass" + t), [ "$animate", function(n) { function r(t, e) { var n = []; t: for (var r = 0; r < t.length; r++) { for (var i = t[r], a = 0; a < e.length; a++) if (i == e[a]) continue t; n.push(i); } return n; } function i(t) { if (ci(t)) return t; if (b(t)) return t.split(" "); if (y(t)) { var e = []; return ( a(t, function(t, n) { t && (e = e.concat(n.split(" "))); }), e ); } return t; } return { restrict: "AC", link: function(o, s, u) { function l(t) { var e = f(t, 1); u.$addClass(e); } function c(t) { var e = f(t, -1); u.$removeClass(e); } function f(t, e) { var n = s.data("$classCounts") || {}, r = []; return ( a(t, function(t) { (e > 0 || n[t]) && ((n[t] = (n[t] || 0) + e), n[t] === +(e > 0) && r.push(t)); }), s.data("$classCounts", n), r.join(" ") ); } function d(t, e) { var i = r(e, t), a = r(t, e); (i = f(i, 1)), (a = f(a, -1)), i && i.length && n.addClass(s, i), a && a.length && n.removeClass(s, a); } function h(t) { if (e === !0 || o.$index % 2 === e) { var n = i(t || []); if (p) { if (!I(t, p)) { var r = i(p); d(r, n); } } else l(n); } p = R(t); } var p; o.$watch(u[t], h, !0), u.$observe("class", function() { h(o.$eval(u[t])); }), "ngClass" !== t && o.$watch("$index", function(n, r) { var a = 1 & n; if (a !== (1 & r)) { var s = i(o.$eval(u[t])); a === e ? l(s) : c(s); } }); } }; } ] ); } function Hr(t) { function e(t, e, u) { e === n ? r("$pending", t, u) : i("$pending", t, u), N(e) ? e ? (f(s.$error, t, u), c(s.$$success, t, u)) : (c(s.$error, t, u), f(s.$$success, t, u)) : (f(s.$error, t, u), f(s.$$success, t, u)), s.$pending ? (a(go, !0), (s.$valid = s.$invalid = n), o("", null)) : (a(go, !1), (s.$valid = Br(s.$error)), (s.$invalid = !s.$valid), o("", s.$valid)); var l; (l = s.$pending && s.$pending[t] ? n : s.$error[t] ? !1 : s.$$success[t] ? !0 : null), o(t, l), d.$setValidity(t, l, s); } function r(t, e, n) { s[t] || (s[t] = {}), c(s[t], e, n); } function i(t, e, r) { s[t] && f(s[t], e, r), Br(s[t]) && (s[t] = n); } function a(t, e) { e && !l[t] ? (h.addClass(u, t), (l[t] = !0)) : !e && l[t] && (h.removeClass(u, t), (l[t] = !1)); } function o(t, e) { (t = t ? "-" + ne(t, "-") : ""), a(co + t, e === !0), a(fo + t, e === !1); } var s = t.ctrl, u = t.$element, l = {}, c = t.set, f = t.unset, d = t.parentForm, h = t.$animate; (l[fo] = !(l[co] = u.hasClass(co))), (s.$setValidity = e); } function Br(t) { if (t) for (var e in t) return !1; return !0; } var zr = /^\/(.+)\/([a-z]*)$/, Gr = "validity", Wr = function(t) { return b(t) ? t.toLowerCase() : t; }, Jr = Object.prototype.hasOwnProperty, Yr = function(t) { return b(t) ? t.toUpperCase() : t; }, Zr = function(t) { return b(t) ? t.replace(/[A-Z]/g, function(t) { return String.fromCharCode(32 | t.charCodeAt(0)); }) : t; }, Kr = function(t) { return b(t) ? t.replace(/[a-z]/g, function(t) { return String.fromCharCode(-33 & t.charCodeAt(0)); }) : t; }; "i" !== "I".toLowerCase() && ((Wr = Zr), (Yr = Kr)); var Xr, Qr, ti, ei, ni = [].slice, ri = [].splice, ii = [].push, ai = Object.prototype.toString, oi = r("ng"), si = t.angular || (t.angular = {}), ui = 0; (Xr = e.documentMode), (p.$inject = []), ($.$inject = []); var li, ci = Array.isArray, fi = function(t) { return b(t) ? t.trim() : t; }, di = function(t) { return t .replace(/([-()\[\]{}+?*.$\^|,:#<!\\])/g, "\\$1") .replace(/\x08/g, "\\x08"); }, hi = function() { if (v(hi.isActive_)) return hi.isActive_; var t = !( !e.querySelector("[ng-csp]") && !e.querySelector("[data-ng-csp]") ); if (!t) try { new Function(""); } catch (n) { t = !0; } return (hi.isActive_ = t); }, pi = ["ng-", "data-ng-", "ng:", "x-ng-"], $i = /[A-Z]/g, mi = !1, gi = 1, vi = 3, yi = 8, bi = 9, wi = 11, xi = { full: "1.3.13", major: 1, minor: 3, dot: 13, codeName: "meticulous-riffleshuffle" }; be.expando = "ng339"; var ki = (be.cache = {}), Si = 1, Ci = function(t, e, n) { t.addEventListener(e, n, !1); }, Ai = function(t, e, n) { t.removeEventListener(e, n, !1); }; be._data = function(t) { return this.cache[t[this.expando]] || {}; }; var Oi = /([\:\-\_]+(.))/g, Ei = /^moz([A-Z])/, ji = { mouseleave: "mouseout", mouseenter: "mouseover" }, Ni = r("jqLite"), Ti = /^<(\w+)\s*\/?>(?:<\/\1>|)$/, Mi = /<|&#?\w+;/, Pi = /<([\w:]+)/, Vi = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi, qi = { option: [1, '<select multiple="multiple">', "</select>"],thead: [1, "
_default: [0, "", ""] }; (qi.optgroup = qi.option), (qi.tbody = qi.tfoot = qi.colgroup = qi.caption = qi.thead), (qi.th = qi.td); var Di = (be.prototype = { ready: function(n) { function r() { i || ((i = !0), n()); } var i = !1; "complete" === e.readyState ? setTimeout(r) : (this.on("DOMContentLoaded", r), be(t).on("load", r)); }, toString: function() { var t = []; return ( a(this, function(e) { t.push("" + e); }), "[" + t.join(", ") + "]" ); }, eq: function(t) { return t >= 0 ? Qr(this[t]) : Qr(this[this.length + t]); }, length: 0, push: ii, sort: [].sort, splice: [].splice }), Ri = {}; a( "multiple,selected,checked,disabled,readOnly,required,open".split(","), function(t) { Ri[Wr(t)] = t; } ); var Ii = {}; a("input,select,option,textarea,button,form,details".split(","), function(t) { Ii[t] = !0; }); var _i = { ngMinlength: "minlength", ngMaxlength: "maxlength", ngMin: "min", ngMax: "max", ngPattern: "pattern" }; a({ data: Ae, removeData: Se }, function(t, e) { be[e] = t; }), a( { data: Ae, inheritedData: Me, scope: function(t) { return ( Qr.data(t, "$scope") || Me(t.parentNode || t, ["$isolateScope", "$scope"]) ); }, isolateScope: function(t) { return ( Qr.data(t, "$isolateScope") || Qr.data(t, "$isolateScopeNoTemplate") ); }, controller: Te, injector: function(t) { return Me(t, "$injector"); }, removeAttr: function(t, e) { t.removeAttribute(e); }, hasClass: Oe, css: function(t, e, n) { return (e = $e(e)), v(n) ? ((t.style[e] = n), void 0) : t.style[e]; }, attr: function(t, e, r) { var i = Wr(e); if (Ri[i]) { if (!v(r)) return t[e] || (t.attributes.getNamedItem(e) || p).specified ? i : n; r ? ((t[e] = !0), t.setAttribute(e, i)) : ((t[e] = !1), t.removeAttribute(i)); } else if (v(r)) t.setAttribute(e, r); else if (t.getAttribute) { var a = t.getAttribute(e, 2); return null === a ? n : a; } }, prop: function(t, e, n) { return v(n) ? ((t[e] = n), void 0) : t[e]; }, text: (function() { function t(t, e) { if (g(e)) { var n = t.nodeType; return n === gi || n === vi ? t.textContent : ""; } t.textContent = e; } return (t.$dv = ""), t; })(), val: function(t, e) { if (g(e)) { if (t.multiple && "select" === V(t)) { var n = []; return ( a(t.options, function(t) { t.selected && n.push(t.value || t.text); }), 0 === n.length ? null : n ); } return t.value; } t.value = e; }, html: function(t, e) { return g(e) ? t.innerHTML : (xe(t, !0), (t.innerHTML = e), void 0); }, empty: Pe }, function(t, e) { be.prototype[e] = function(e, r) { var i, a, o = this.length; if ( t !== Pe && (2 == t.length && t !== Oe && t !== Te ? e : r) === n ) { if (y(e)) { for (i = 0; o > i; i++) if (t === Ae) t(this[i], e); else for (a in e) t(this[i], a, e[a]); return this; } for ( var s = t.$dv, u = s === n ? Math.min(o, 1) : o, l = 0; u > l; l++ ) { var c = t(this[l], e, r); s = s ? s + c : c; } return s; } for (i = 0; o > i; i++) t(this[i], e, r); return this; }; } ), a( { removeData: Se, on: function zo(t, e, n, r) { if (v(r)) throw Ni( "onargs", "jqLite#on() does not support the `selector` or `eventData` parameters" ); if (ge(t)) { var i = Ce(t, !0), a = i.events, o = i.handle; o || (o = i.handle = Ie(t, a)); for ( var s = e.indexOf(" ") >= 0 ? e.split(" ") : [e], u = s.length; u--;
) { e = s[u]; var l = a[e]; l || ((a[e] = []), "mouseenter" === e || "mouseleave" === e ? zo(t, ji[e], function(t) { var n = this, r = t.relatedTarget; (!r || (r !== n && !n.contains(r))) && o(t, e); }) : "$destroy" !== e && Ci(t, e, o), (l = a[e])), l.push(n); } } }, off: ke, one: function(t, e, n) { (t = Qr(t)), t.on(e, function r() { t.off(e, n), t.off(e, r); }), t.on(e, n); }, replaceWith: function(t, e) { var n, r = t.parentNode; xe(t), a(new be(e), function(e) { n ? r.insertBefore(e, n.nextSibling) : r.replaceChild(e, t), (n = e); }); }, children: function(t) { var e = []; return ( a(t.childNodes, function(t) { t.nodeType === gi && e.push(t); }), e ); }, contents: function(t) { return t.contentDocument || t.childNodes || []; }, append: function(t, e) { var n = t.nodeType; if (n === gi || n === wi) { e = new be(e); for (var r = 0, i = e.length; i > r; r++) { var a = e[r]; t.appendChild(a); } } }, prepend: function(t, e) { if (t.nodeType === gi) { var n = t.firstChild; a(new be(e), function(e) { t.insertBefore(e, n); }); } }, wrap: function(t, e) { e = Qr(e) .eq(0) .clone()[0]; var n = t.parentNode; n && n.replaceChild(e, t), e.appendChild(t); }, remove: Ve, detach: function(t) { Ve(t, !0); }, after: function(t, e) { var n = t, r = t.parentNode; e = new be(e); for (var i = 0, a = e.length; a > i; i++) { var o = e[i]; r.insertBefore(o, n.nextSibling), (n = o); } }, addClass: je, removeClass: Ee, toggleClass: function(t, e, n) { e && a(e.split(" "), function(e) { var r = n; g(r) && (r = !Oe(t, e)), (r ? je : Ee)(t, e); }); }, parent: function(t) { var e = t.parentNode; return e && e.nodeType !== wi ? e : null; }, next: function(t) { return t.nextElementSibling; }, find: function(t, e) { return t.getElementsByTagName ? t.getElementsByTagName(e) : []; }, clone: we, triggerHandler: function(t, e, n) { var r, i, o, s = e.type || e, u = Ce(t), l = u && u.events, c = l && l[s]; c && ((r = { preventDefault: function() { this.defaultPrevented = !0; }, isDefaultPrevented: function() { return this.defaultPrevented === !0; }, stopImmediatePropagation: function() { this.immediatePropagationStopped = !0; }, isImmediatePropagationStopped: function() { return this.immediatePropagationStopped === !0; }, stopPropagation: p, type: s, target: t }), e.type && (r = f(r, e)), (i = R(c)), (o = n ? [r].concat(n) : [r]), a(i, function(e) { r.isImmediatePropagationStopped() || e.apply(t, o); })); } }, function(t, e) { (be.prototype[e] = function(e, n, r) { for (var i, a = 0, o = this.length; o > a; a++) g(i) ? ((i = t(this[a], e, n, r)), v(i) && (i = Qr(i))) : Ne(i, t(this[a], e, n, r)); return v(i) ? i : this; }), (be.prototype.bind = be.prototype.on), (be.prototype.unbind = be.prototype.off); } ), (Le.prototype = { put: function(t, e) { this[Ue(t, this.nextUid)] = e; }, get: function(t) { return this[Ue(t, this.nextUid)]; }, remove: function(t) { var e = this[(t = Ue(t, this.nextUid))]; return delete this[t], e; } }); var Ui = /^function\s*[^\(]*\(\s*([^\)]*)\)/m, Li = /,/, Fi = /^\s*(_?)(\S+?)\1\s*$/, Hi = /((\/\/.*$)|(\/\*[\s\S]*?\*\/))/gm, Bi = r("$injector"); Be.$$annotate = He; var zi = r("$animate"), Gi = [ "$provide", function(t) { (this.$$selectors = {}), (this.register = function(e, n) { var r = e + "-animation"; if (e && "." != e.charAt(0)) throw zi( "notcsel", "Expecting class selector starting with '.' got '{0}'.", e ); (this.$$selectors[e.substr(1)] = r), t.factory(r, n); }), (this.classNameFilter = function(t) { return ( 1 === arguments.length && (this.$$classNameFilter = t instanceof RegExp ? t : null), this.$$classNameFilter ); }), (this.$get = [ "$$q", "$$asyncCallback", "$rootScope", function(t, e, n) { function r(e) { var r, i = t.defer(); return ( (i.promise.$$cancelFn = function() { r && r(); }), n.$$postDigest(function() { r = e(function() { i.resolve(); }); }), i.promise ); } function i(t, e) { var n = [], r = [], i = le(); return ( a((t.attr("class") || "").split(/\s+/), function(t) { i[t] = !0; }), a(e, function(t, e) { var a = i[e]; t === !1 && a ? r.push(e) : t !== !0 || a || n.push(e); }), n.length + r.length > 0 && [ n.length ? n : null, r.length ? r : null ] ); } function o(t, e, n) { for (var r = 0, i = e.length; i > r; ++r) { var a = e[r]; t[a] = n; } } function s() { return ( l || ((l = t.defer()), e(function() { l.resolve(), (l = null); })), l.promise ); } function u(t, e) { if (si.isObject(e)) { var n = f(e.from || {}, e.to || {}); t.css(n); } } var l; return { animate: function(t, e, n) { return u(t, { from: e, to: n }), s(); }, enter: function(t, e, n, r) { return u(t, r), n ? n.after(t) : e.prepend(t), s(); }, leave: function(t) { return t.remove(), s(); }, move: function(t, e, n, r) { return this.enter(t, e, n, r); }, addClass: function(t, e, n) { return this.setClass(t, e, [], n); }, $$addClassImmediately: function(t, e, n) { return ( (t = Qr(t)), (e = b(e) ? e : ci(e) ? e.join(" ") : ""), a(t, function(t) { je(t, e); }), u(t, n), s() ); }, removeClass: function(t, e, n) { return this.setClass(t, [], e, n); }, $$removeClassImmediately: function(t, e, n) { return ( (t = Qr(t)), (e = b(e) ? e : ci(e) ? e.join(" ") : ""), a(t, function(t) { Ee(t, e); }), u(t, n), s() ); }, setClass: function(t, e, n, a) { var s = this, u = "$$animateClasses", l = !1; t = Qr(t); var c = t.data(u); c ? a && c.options && (c.options = si.extend(c.options || {}, a)) : ((c = { classes: {}, options: a }), (l = !0)); var f = c.classes; return ( (e = ci(e) ? e : e.split(" ")), (n = ci(n) ? n : n.split(" ")), o(f, e, !0), o(f, n, !1), l && ((c.promise = r(function(e) { var n = t.data(u); if ((t.removeData(u), n)) { var r = i(t, n.classes); r && s.$$setClassImmediately(t, r[0], r[1], n.options); } e(); })), t.data(u, c)), c.promise ); }, $$setClassImmediately: function(t, e, n, r) { return ( e && this.$$addClassImmediately(t, e), n && this.$$removeClassImmediately(t, n), u(t, r), s() ); }, enabled: p, cancel: p }; } ]); } ], Wi = r("$compile"); Ke.$inject = ["$provide", "$$sanitizeUriProvider"]; var Ji = /^((?:x|data)[\:\-_])/i, Yi = r("$controller"), Zi = "application/json", Ki = { "Content-Type": Zi + ";charset=utf-8" }, Xi = /^\[|^\{(?!\{)/, Qi = { "[": /]$/, "{": /}$/ }, ta = /^\)\]\}',?\n/, ea = r("$interpolate"), na = /^([^\?#]*)(\?([^#]*))?(#(.*))?$/, ra = { http: 80, https: 443, ftp: 21 }, ia = r("$location"), aa = { $$html5: !1, $$replace: !1, absUrl: jn("$$absUrl"), url: function(t) { if (g(t)) return this.$$url; var e = na.exec(t); return ( (e[1] || "" === t) && this.path(decodeURIComponent(e[1])), (e[2] || e[1] || "" === t) && this.search(e[3] || ""), this.hash(e[5] || ""), this ); }, protocol: jn("$$protocol"), host: jn("$$host"), port: jn("$$port"), path: Nn("$$path", function(t) { return ( (t = null !== t ? t.toString() : ""), "/" == t.charAt(0) ? t : "/" + t ); }), search: function(t, e) { switch (arguments.length) { case 0: return this.$$search; case 1: if (b(t) || w(t)) (t = t.toString()), (this.$$search = W(t)); else { if (!y(t)) throw ia( "isrcharg", "The first argument of the `$location#search()` call must be a string or an object." ); (t = D(t, {})), a(t, function(e, n) { null == e && delete t[n]; }), (this.$$search = t); } break; default: g(e) || null === e ? delete this.$$search[t] : (this.$$search[t] = e); } return this.$$compose(), this; }, hash: Nn("$$hash", function(t) { return null !== t ? t.toString() : ""; }), replace: function() { return (this.$$replace = !0), this; } }; a([En, On, An], function(t) { (t.prototype = Object.create(aa)), (t.prototype.state = function(e) { if (!arguments.length) return this.$$state; if (t !== An || !this.$$html5) throw ia( "nostate", "History API state support is available only in HTML5 mode and only in browsers supporting HTML5 History API" ); return (this.$$state = g(e) ? null : e), this; }); }); var oa = r("$parse"), sa = Function.prototype.call, ua = Function.prototype.apply, la = Function.prototype.bind, ca = le(); a( { null: function() { return null; }, true: function() { return !0; }, false: function() { return !1; }, undefined: function() {} }, function(t, e) { (t.constant = t.literal = t.sharedGetter = !0), (ca[e] = t); } ), (ca["this"] = function(t) { return t; }), (ca["this"].sharedGetter = !0); var fa = f(le(), { "+": function(t, e, r, i) { return ( (r = r(t, e)), (i = i(t, e)), v(r) ? (v(i) ? r + i : r) : v(i) ? i : n ); }, "-": function(t, e, n, r) { return (n = n(t, e)), (r = r(t, e)), (v(n) ? n : 0) - (v(r) ? r : 0); }, "*": function(t, e, n, r) { return n(t, e) * r(t, e); }, "/": function(t, e, n, r) { return n(t, e) / r(t, e); }, "%": function(t, e, n, r) { return n(t, e) % r(t, e); }, "===": function(t, e, n, r) { return n(t, e) === r(t, e); }, "!==": function(t, e, n, r) { return n(t, e) !== r(t, e); }, "==": function(t, e, n, r) { return n(t, e) == r(t, e); }, "!=": function(t, e, n, r) { return n(t, e) != r(t, e); }, "<": function(t, e, n, r) { return n(t, e) < r(t, e); }, ">": function(t, e, n, r) { return n(t, e) > r(t, e); }, "<=": function(t, e, n, r) { return n(t, e) <= r(t, e); }, ">=": function(t, e, n, r) { return n(t, e) >= r(t, e); }, "&&": function(t, e, n, r) { return n(t, e) && r(t, e); }, "||": function(t, e, n, r) { return n(t, e) || r(t, e); }, "!": function(t, e, n) { return !n(t, e); }, "=": !0, "|": !0 }), da = { n: "\n", f: "\f", r: "\r", t: " ", v: "�", "'": "'", '"': '"' }, ha = function(t) { this.options = t; }; ha.prototype = { constructor: ha, lex: function(t) { for ( this.text = t, this.index = 0, this.tokens = []; this.index < this.text.length;
) { var e = this.text.charAt(this.index); if ('"' === e || "'" === e) this.readString(e); else if (this.isNumber(e) || ("." === e && this.isNumber(this.peek()))) this.readNumber(); else if (this.isIdent(e)) this.readIdent(); else if (this.is(e, "(){}[].,;:?")) this.tokens.push({ index: this.index, text: e }), this.index++; else if (this.isWhitespace(e)) this.index++; else { var n = e + this.peek(), r = n + this.peek(2), i = fa[e], a = fa[n], o = fa[r]; if (i || a || o) { var s = o ? r : a ? n : e; this.tokens.push({ index: this.index, text: s, operator: !0 }), (this.index += s.length); } else this.throwError( "Unexpected next character ", this.index, this.index + 1 ); } } return this.tokens; }, is: function(t, e) { return -1 !== e.indexOf(t); }, peek: function(t) { var e = t || 1; return this.index + e < this.text.length ? this.text.charAt(this.index + e) : !1; }, isNumber: function(t) { return t >= "0" && "9" >= t && "string" == typeof t; }, isWhitespace: function(t) { return ( " " === t || "\r" === t || " " === t || "\n" === t || "�" === t || " " === t ); }, isIdent: function(t) { return ( (t >= "a" && "z" >= t) || (t >= "A" && "Z" >= t) || "_" === t || "$" === t ); }, isExpOperator: function(t) { return "-" === t || "+" === t || this.isNumber(t); }, throwError: function(t, e, n) { n = n || this.index; var r = v(e) ? "s " + e + "-" + this.index + " [" + this.text.substring(e, n) + "]" : " " + n; throw oa( "lexerr", "Lexer Error: {0} at column{1} in expression [{2}].", t, r, this.text ); }, readNumber: function() { for (var t = "", e = this.index; this.index < this.text.length; ) { var n = Wr(this.text.charAt(this.index)); if ("." == n || this.isNumber(n)) t += n; else { var r = this.peek(); if ("e" == n && this.isExpOperator(r)) t += n; else if ( this.isExpOperator(n) && r && this.isNumber(r) && "e" == t.charAt(t.length - 1) ) t += n; else { if ( !this.isExpOperator(n) || (r && this.isNumber(r)) || "e" != t.charAt(t.length - 1) ) break; this.throwError("Invalid exponent"); } } this.index++; } this.tokens.push({ index: e, text: t, constant: !0, value: Number(t) }); }, readIdent: function() { for (var t = this.index; this.index < this.text.length; ) { var e = this.text.charAt(this.index); if (!this.isIdent(e) && !this.isNumber(e)) break; this.index++; } this.tokens.push({ index: t, text: this.text.slice(t, this.index), identifier: !0 }); }, readString: function(t) { var e = this.index; this.index++; for (var n = "", r = t, i = !1; this.index < this.text.length; ) { var a = this.text.charAt(this.index); if (((r += a), i)) { if ("u" === a) { var o = this.text.substring(this.index + 1, this.index + 5); o.match(/[\da-f]{4}/i) || this.throwError("Invalid unicode escape [\\u" + o + "]"), (this.index += 4), (n += String.fromCharCode(parseInt(o, 16))); } else { var s = da[a]; n += s || a; } i = !1; } else if ("\\" === a) i = !0; else { if (a === t) return ( this.index++, this.tokens.push({ index: e, text: r, constant: !0, value: n }), void 0 ); n += a; } this.index++; } this.throwError("Unterminated quote", e); } }; var pa = function(t, e, n) { (this.lexer = t), (this.$filter = e), (this.options = n); }; (pa.ZERO = f( function() { return 0; }, { sharedGetter: !0, constant: !0 } )), (pa.prototype = { constructor: pa, parse: function(t) { (this.text = t), (this.tokens = this.lexer.lex(t)); var e = this.statements(); return ( 0 !== this.tokens.length && this.throwError("is an unexpected token", this.tokens[0]), (e.literal = !!e.literal), (e.constant = !!e.constant), e ); }, primary: function() { var t; this.expect("(") ? ((t = this.filterChain()), this.consume(")")) : this.expect("[") ? (t = this.arrayDeclaration()) : this.expect("{") ? (t = this.object()) : this.peek().identifier && this.peek().text in ca ? (t = ca[this.consume().text]) : this.peek().identifier ? (t = this.identifier()) : this.peek().constant ? (t = this.constant()) : this.throwError("not a primary expression", this.peek()); for (var e, n; (e = this.expect("(", "[", ".")); ) "(" === e.text ? ((t = this.functionCall(t, n)), (n = null)) : "[" === e.text ? ((n = t), (t = this.objectIndex(t))) : "." === e.text ? ((n = t), (t = this.fieldAccess(t))) : this.throwError("IMPOSSIBLE"); return t; }, throwError: function(t, e) { throw oa( "syntax", "Syntax Error: Token '{0}' {1} at column {2} of the expression [{3}] starting at [{4}].", e.text, t, e.index + 1, this.text, this.text.substring(e.index) ); }, peekToken: function() { if (0 === this.tokens.length) throw oa("ueoe", "Unexpected end of expression: {0}", this.text); return this.tokens[0]; }, peek: function(t, e, n, r) { return this.peekAhead(0, t, e, n, r); }, peekAhead: function(t, e, n, r, i) { if (this.tokens.length > t) { var a = this.tokens[t], o = a.text; if ( o === e || o === n || o === r || o === i || (!e && !n && !r && !i) ) return a; } return !1; }, expect: function(t, e, n, r) { var i = this.peek(t, e, n, r); return i ? (this.tokens.shift(), i) : !1; }, consume: function(t) { if (0 === this.tokens.length) throw oa("ueoe", "Unexpected end of expression: {0}", this.text); var e = this.expect(t); return ( e || this.throwError( "is unexpected, expecting [" + t + "]", this.peek() ), e ); }, unaryFn: function(t, e) { var n = fa[t]; return f( function(t, r) { return n(t, r, e); }, { constant: e.constant, inputs: [e] } ); }, binaryFn: function(t, e, n, r) { var i = fa[e]; return f( function(e, r) { return i(e, r, t, n); }, { constant: t.constant && n.constant, inputs: !r && [t, n] } ); }, identifier: function() { for ( var t = this.consume().text; this.peek(".") && this.peekAhead(1).identifier && !this.peekAhead(2, "(");
) t += this.consume().text + this.consume().text; return Ln(t, this.options, this.text); }, constant: function() { var t = this.consume().value; return f( function() { return t; }, { constant: !0, literal: !0 } ); }, statements: function() { for (var t = []; ; ) if ( (this.tokens.length > 0 && !this.peek("}", ")", ";", "]") && t.push(this.filterChain()), !this.expect(";")) ) return 1 === t.length ? t[0] : function(e, n) { for (var r, i = 0, a = t.length; a > i; i++) r = t[i](e, n); return r; }; }, filterChain: function() { for (var t, e = this.expression(); (t = this.expect("|")); ) e = this.filter(e); return e; }, filter: function(t) { var e, r, i = this.$filter(this.consume().text); if (this.peek(":")) for (e = [], r = []; this.expect(":"); ) e.push(this.expression()); var a = [t].concat(e || []); return f( function(a, o) { var s = t(a, o); if (r) { r[0] = s; for (var u = e.length; u--; ) r[u + 1] = e[u](a, o); return i.apply(n, r); } return i(s); }, { constant: !i.$stateful && a.every(Dn), inputs: !i.$stateful && a } ); }, expression: function() { return this.assignment(); }, assignment: function() { var t, e, n = this.ternary(); return (e = this.expect("=")) ? (n.assign || this.throwError( "implies assignment but [" + this.text.substring(0, e.index) + "] can not be assigned to", e ), (t = this.ternary()), f( function(e, r) { return n.assign(e, t(e, r), r); }, { inputs: [n, t] } )) : n; }, ternary: function() { var t, e, n = this.logicalOR(); if ( (e = this.expect("?")) && ((t = this.assignment()), this.consume(":")) ) { var r = this.assignment(); return f( function(e, i) { return n(e, i) ? t(e, i) : r(e, i); }, { constant: n.constant && t.constant && r.constant } ); } return n; }, logicalOR: function() { for (var t, e = this.logicalAND(); (t = this.expect("||")); ) e = this.binaryFn(e, t.text, this.logicalAND(), !0); return e; }, logicalAND: function() { for (var t, e = this.equality(); (t = this.expect("&&")); ) e = this.binaryFn(e, t.text, this.equality(), !0); return e; }, equality: function() { for ( var t, e = this.relational(); (t = this.expect("==", "!=", "===", "!=="));
) e = this.binaryFn(e, t.text, this.relational()); return e; }, relational: function() { for ( var t, e = this.additive(); (t = this.expect("<", ">", "<=", ">="));
) e = this.binaryFn(e, t.text, this.additive()); return e; }, additive: function() { for (var t, e = this.multiplicative(); (t = this.expect("+", "-")); ) e = this.binaryFn(e, t.text, this.multiplicative()); return e; }, multiplicative: function() { for (var t, e = this.unary(); (t = this.expect("*", "/", "%")); ) e = this.binaryFn(e, t.text, this.unary()); return e; }, unary: function() { var t; return this.expect("+") ? this.primary() : (t = this.expect("-")) ? this.binaryFn(pa.ZERO, t.text, this.unary()) : (t = this.expect("!")) ? this.unaryFn(t.text, this.unary()) : this.primary(); }, fieldAccess: function(t) { var e = this.identifier(); return f( function(r, i, a) { var o = a || t(r, i); return null == o ? n : e(o); }, { assign: function(n, r, i) { var a = t(n, i); return a || t.assign(n, (a = {}), i), e.assign(a, r); } } ); }, objectIndex: function(t) { var e = this.text, r = this.expression(); return ( this.consume("]"), f( function(i, a) { var o, s = t(i, a), u = r(i, a); return Pn(u, e), s ? (o = Vn(s[u], e)) : n; }, { assign: function(n, i, a) { var o = Pn(r(n, a), e), s = Vn(t(n, a), e); return s || t.assign(n, (s = {}), a), (s[o] = i); } } ) ); }, functionCall: function(t, e) { var r = []; if (")" !== this.peekToken().text) do r.push(this.expression()); while (this.expect(",")); this.consume(")"); var i = this.text, a = r.length ? [] : null; return function(o, s) { var u = e ? e(o, s) : v(e) ? n : o, l = t(o, s, u) || p; if (a) for (var c = r.length; c--; ) a[c] = Vn(r[c](o, s), i); Vn(u, i), qn(l, i); var f = l.apply ? l.apply(u, a) : l(a[0], a[1], a[2], a[3], a[4]); return a && (a.length = 0), Vn(f, i); }; }, arrayDeclaration: function() { var t = []; if ("]" !== this.peekToken().text) do { if (this.peek("]")) break; t.push(this.expression()); } while (this.expect(",")); return ( this.consume("]"), f( function(e, n) { for (var r = [], i = 0, a = t.length; a > i; i++) r.push(t[i](e, n)); return r; }, { literal: !0, constant: t.every(Dn), inputs: t } ) ); }, object: function() { var t = [], e = []; if ("}" !== this.peekToken().text) do { if (this.peek("}")) break; var n = this.consume(); n.constant ? t.push(n.value) : n.identifier ? t.push(n.text) : this.throwError("invalid key", n), this.consume(":"), e.push(this.expression()); } while (this.expect(",")); return ( this.consume("}"), f( function(n, r) { for (var i = {}, a = 0, o = e.length; o > a; a++) i[t[a]] = e[a](n, r); return i; }, { literal: !0, constant: e.every(Dn), inputs: e } ) ); } }); var $a = le(), ma = le(), ga = Object.prototype.valueOf, va = r("$sce"), ya = { HTML: "html", CSS: "css", URL: "url", RESOURCE_URL: "resourceUrl", JS: "js" }, Wi = r("$compile"), ba = e.createElement("a"), wa = ir(t.location.href); (sr.$inject = ["$provide"]), (fr.$inject = ["$locale"]), (dr.$inject = ["$locale"]); var xa = ".", ka = { yyyy: $r("FullYear", 4), yy: $r("FullYear", 2, 0, !0), y: $r("FullYear", 1), MMMM: mr("Month"), MMM: mr("Month", !0), MM: $r("Month", 2, 1), M: $r("Month", 1, 1), dd: $r("Date", 2), d: $r("Date", 1), HH: $r("Hours", 2), H: $r("Hours", 1), hh: $r("Hours", 2, -12), h: $r("Hours", 1, -12), mm: $r("Minutes", 2), m: $r("Minutes", 1), ss: $r("Seconds", 2), s: $r("Seconds", 1), sss: $r("Milliseconds", 3), EEEE: mr("Day"), EEE: mr("Day", !0), a: wr, Z: gr, ww: br(2), w: br(1) }, Sa = /((?:[^yMdHhmsaZEw']+)|(?:'(?:[^']|)*')|(?:E+|y+|M+|d+|H+|h+|m+|s+|a|Z|w+))(.*)/, Ca = /^\-?\d+$/; xr.$inject = ["$locale"]; var Aa = m(Wr), Oa = m(Yr); Cr.$inject = ["$parse"]; var Ea = m({ restrict: "E", compile: function(t, e) { return e.href || e.xlinkHref || e.name ? void 0 : function(t, e) { if ("a" === e[0].nodeName.toLowerCase()) { var n = "[object SVGAnimatedString]" === ai.call(e.prop("href")) ? "xlink:href" : "href"; e.on("click", function(t) { e.attr(n) || t.preventDefault(); }); } }; } }), ja = {}; a(Ri, function(t, e) { if ("multiple" != t) { var n = Xe("ng-" + e); ja[n] = function() { return { restrict: "A", priority: 100, link: function(t, r, i) { t.$watch(i[n], function(t) { i.$set(e, !!t); }); } }; }; } }), a(_i, function(t, e) { ja[e] = function() { return { priority: 100, link: function(t, n, r) { if ("ngPattern" === e && "/" == r.ngPattern.charAt(0)) { var i = r.ngPattern.match(zr); if (i) return r.$set("ngPattern", new RegExp(i[1], i[2])), void 0; } t.$watch(r[e], function(t) { r.$set(e, t); }); } }; }; }), a(["src", "srcset", "href"], function(t) { var e = Xe("ng-" + t); ja[e] = function() { return { priority: 99, link: function(n, r, i) { var a = t, o = t; "href" === t && "[object SVGAnimatedString]" === ai.call(r.prop("href")) && ((o = "xlinkHref"), (i.$attr[o] = "xlink:href"), (a = null)), i.$observe(e, function(e) { return e ? (i.$set(o, e), Xr && a && r.prop(a, i[o]), void 0) : ("href" === t && i.$set(o, null), void 0); }); } }; }; }); var Na = { $addControl: p, $$renameControl: Or, $removeControl: p, $setValidity: p, $setDirty: p, $setPristine: p, $setSubmitted: p }, Ta = "ng-submitted"; Er.$inject = ["$element", "$attrs", "$scope", "$animate", "$interpolate"]; var Ma = function(t) { return [ "$timeout", function(e) { var r = { name: "form", restrict: t ? "EAC" : "E", controller: Er, compile: function(t) { return ( t.addClass(ho).addClass(co), { pre: function(t, r, i, a) { if (!("action" in i)) { var o = function(e) { t.$apply(function() { a.$commitViewValue(), a.$setSubmitted(); }), e.preventDefault(); }; Ci(r[0], "submit", o), r.on("$destroy", function() { e( function() { Ai(r[0], "submit", o); }, 0, !1 ); }); } var s = a.$$parentForm, u = a.$name; u && (Rn(t, null, u, a, u), i.$observe(i.name ? "name" : "ngForm", function(e) { u !== e && (Rn(t, null, u, n, u), (u = e), Rn(t, null, u, a, u), s.$$renameControl(a, u)); })), r.on("$destroy", function() { s.$removeControl(a), u && Rn(t, null, u, n, u), f(a, Na); }); } } ); } }; return r; } ]; }, Pa = Ma(), Va = Ma(!0), qa = /\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d\.\d+([+-][0-2]\d:[0-5]\d|Z)/, Da = /^(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?$/, Ra = /^[a-z0-9!#$%&'*+\/=?^_`{|}~.-]+@[a-z0-9]([a-z0-9-]*[a-z0-9])?(\.[a-z0-9]([a-z0-9-]*[a-z0-9])?)*$/i, Ia = /^\s*(\-|\+)?(\d+|(\d*(\.\d*)))\s*$/, _a = /^(\d{4})-(\d{2})-(\d{2})$/, Ua = /^(\d{4})-(\d\d)-(\d\d)T(\d\d):(\d\d)(?::(\d\d)(\.\d{1,3})?)?$/, La = /^(\d{4})-W(\d\d)$/, Fa = /^(\d{4})-(\d\d)$/, Ha = /^(\d\d):(\d\d)(?::(\d\d)(\.\d{1,3})?)?$/, Ba = { text: Nr, date: Vr("date", _a, Pr(_a, ["yyyy", "MM", "dd"]), "yyyy-MM-dd"), "datetime-local": Vr( "datetimelocal", Ua, Pr(Ua, ["yyyy", "MM", "dd", "HH", "mm", "ss", "sss"]), "yyyy-MM-ddTHH:mm:ss.sss" ), time: Vr("time", Ha, Pr(Ha, ["HH", "mm", "ss", "sss"]), "HH:mm:ss.sss"), week: Vr("week", La, Mr, "yyyy-Www"), month: Vr("month", Fa, Pr(Fa, ["yyyy", "MM"]), "yyyy-MM"), number: Dr, url: Rr, email: Ir, radio: _r, checkbox: Lr, hidden: p, button: p, submit: p, reset: p, file: p }, za = [ "$browser", "$sniffer", "$filter", "$parse", function(t, e, n, r) { return { restrict: "E", require: ["?ngModel"], link: { pre: function(i, a, o, s) { s[0] && (Ba[Wr(o.type)] || Ba.text)(i, a, o, s[0], e, t, n, r); } } }; } ], Ga = /^(true|false|\d+)$/, Wa = function() { return { restrict: "A", priority: 100, compile: function(t, e) { return Ga.test(e.ngValue) ? function(t, e, n) { n.$set("value", t.$eval(n.ngValue)); } : function(t, e, n) { t.$watch(n.ngValue, function(t) { n.$set("value", t); }); }; } }; }, Ja = [ "$compile", function(t) { return { restrict: "AC", compile: function(e) { return ( t.$$addBindingClass(e), function(e, r, i) { t.$$addBindingInfo(r, i.ngBind), (r = r[0]), e.$watch(i.ngBind, function(t) { r.textContent = t === n ? "" : t; }); } ); } }; } ], Ya = [ "$interpolate", "$compile", function(t, e) { return { compile: function(r) { return ( e.$$addBindingClass(r), function(r, i, a) { var o = t(i.attr(a.$attr.ngBindTemplate)); e.$$addBindingInfo(i, o.expressions), (i = i[0]), a.$observe("ngBindTemplate", function(t) { i.textContent = t === n ? "" : t; }); } ); } }; } ], Za = [ "$sce", "$parse", "$compile", function(t, e, n) { return { restrict: "A", compile: function(r, i) { var a = e(i.ngBindHtml), o = e(i.ngBindHtml, function(t) { return (t || "").toString(); }); return ( n.$$addBindingClass(r), function(e, r, i) { n.$$addBindingInfo(r, i.ngBindHtml), e.$watch(o, function() { r.html(t.getTrustedHtml(a(e)) || ""); }); } ); } }; } ], Ka = m({ restrict: "A", require: "ngModel", link: function(t, e, n, r) { r.$viewChangeListeners.push(function() { t.$eval(n.ngChange); }); } }), Xa = Fr("", !0), Qa = Fr("Odd", 0), to = Fr("Even", 1), eo = Ar({ compile: function(t, e) { e.$set("ngCloak", n), t.removeClass("ng-cloak"); } }), no = [ function() { return { restrict: "A", scope: !0, controller: "@", priority: 500 }; } ], ro = {}, io = { blur: !0, focus: !0 }; a( "click dblclick mousedown mouseup mouseover mouseout mousemove mouseenter mouseleave keydown keyup keypress submit focus blur copy cut paste".split( " " ), function(t) { var e = Xe("ng-" + t); ro[e] = [ "$parse", "$rootScope", function(n, r) { return { restrict: "A", compile: function(i, a) { var o = n(a[e], null, !0); return function(e, n) { n.on(t, function(n) { var i = function() { o(e, { $event: n }); }; io[t] && r.$$phase ? e.$evalAsync(i) : e.$apply(i); }); }; } }; } ]; } ); var ao = [ "$animate", function(t) { return { multiElement: !0, transclude: "element", priority: 600, terminal: !0, restrict: "A", $$tlb: !0, link: function(n, r, i, a, o) { var s, u, l; n.$watch(i.ngIf, function(n) { n ? u || o(function(n, a) { (u = a), (n[n.length++] = e.createComment( " end ngIf: " + i.ngIf + " " )), (s = { clone: n }), t.enter(n, r.parent(), r); }) : (l && (l.remove(), (l = null)), u && (u.$destroy(), (u = null)), s && ((l = ue(s.clone)), t.leave(l).then(function() { l = null; }), (s = null))); }); } }; } ], oo = [ "$templateRequest", "$anchorScroll", "$animate", "$sce", function(t, e, n, r) { return { restrict: "ECA", priority: 400, terminal: !0, transclude: "element", controller: si.noop, compile: function(i, a) { var o = a.ngInclude || a.src, s = a.onload || "", u = a.autoscroll; return function(i, a, l, c, f) { var d, h, p, $ = 0, m = function() { h && (h.remove(), (h = null)), d && (d.$destroy(), (d = null)), p && (n.leave(p).then(function() { h = null; }), (h = p), (p = null)); }; i.$watch(r.parseAsResourceUrl(o), function(r) { var o = function() { !v(u) || (u && !i.$eval(u)) || e(); }, l = ++$; r ? (t(r, !0).then( function(t) { if (l === $) { var e = i.$new(); c.template = t; var u = f(e, function(t) { m(), n.enter(t, null, a).then(o); }); (d = e), (p = u), d.$emit("$includeContentLoaded", r), i.$eval(s); } }, function() { l === $ && (m(), i.$emit("$includeContentError", r)); } ), i.$emit("$includeContentRequested", r)) : (m(), (c.template = null)); }); }; } }; } ], so = [ "$compile", function(t) { return { restrict: "ECA", priority: -400, require: "ngInclude", link: function(n, r, i, a) { return /SVG/.test(r[0].toString()) ? (r.empty(), t(ve(a.template, e).childNodes)( n, function(t) { r.append(t); }, { futureParentElement: r } ), void 0) : (r.html(a.template), t(r.contents())(n), void 0); } }; } ], uo = Ar({ priority: 450, compile: function() { return { pre: function(t, e, n) { t.$eval(n.ngInit); } }; } }), lo = function() { return { restrict: "A", priority: 100, require: "ngModel", link: function(t, e, r, i) { var o = e.attr(r.$attr.ngList) || ", ", s = "false" !== r.ngTrim, u = s ? fi(o) : o, l = function(t) { if (!g(t)) { var e = []; return ( t && a(t.split(u), function(t) { t && e.push(s ? fi(t) : t); }), e ); } }; i.$parsers.push(l), i.$formatters.push(function(t) { return ci(t) ? t.join(o) : n; }), (i.$isEmpty = function(t) { return !t || !t.length; }); } }; }, co = "ng-valid", fo = "ng-invalid", ho = "ng-pristine", po = "ng-dirty", $o = "ng-untouched", mo = "ng-touched", go = "ng-pending", vo = new r("ngModel"), yo = [ "$scope", "$exceptionHandler", "$attrs", "$element", "$parse", "$animate", "$timeout", "$rootScope", "$q", "$interpolate", function(t, e, r, i, o, s, u, l, c, f) { (this.$viewValue = Number.NaN), (this.$modelValue = Number.NaN), (this.$$rawModelValue = n), (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 = n), (this.$name = f(r.name || "", !1)(t)); var d = o(r.ngModel), h = d.assign, $ = d, m = h, y = null, b = this; (this.$$setOptions = function(t) { if (((b.$options = t), t && t.getterSetter)) { var e = o(r.ngModel + "()"), n = o(r.ngModel + "($$$p)"); ($ = function(t) { var n = d(t); return k(n) && (n = e(t)), n; }), (m = function(t) { k(d(t)) ? n(t, { $$$p: b.$modelValue }) : h(t, b.$modelValue); }); } else if (!d.assign) throw vo( "nonassign", "Expression '{0}' is non-assignable. Element: {1}", r.ngModel, z(i) ); }), (this.$render = p), (this.$isEmpty = function(t) { return g(t) || "" === t || null === t || t !== t; }); var x = i.inheritedData("$formController") || Na, S = 0; Hr({ ctrl: this, $element: i, set: function(t, e) { t[e] = !0; }, unset: function(t, e) { delete t[e]; }, parentForm: x, $animate: s }), (this.$setPristine = function() { (b.$dirty = !1), (b.$pristine = !0), s.removeClass(i, po), s.addClass(i, ho); }), (this.$setDirty = function() { (b.$dirty = !0), (b.$pristine = !1), s.removeClass(i, ho), s.addClass(i, po), x.$setDirty(); }), (this.$setUntouched = function() { (b.$touched = !1), (b.$untouched = !0), s.setClass(i, $o, mo); }), (this.$setTouched = function() { (b.$touched = !0), (b.$untouched = !1), s.setClass(i, mo, $o); }), (this.$rollbackViewValue = function() { u.cancel(y), (b.$viewValue = b.$$lastCommittedViewValue), b.$render(); }), (this.$validate = function() { if (!w(b.$modelValue) || !isNaN(b.$modelValue)) { var t = b.$$lastCommittedViewValue, e = b.$$rawModelValue, r = b.$$parserName || "parse", i = b.$error[r] ? !1 : n, a = b.$valid, o = b.$modelValue, s = b.$options && b.$options.allowInvalid; b.$$runValidators(i, e, t, function(t) { s || a === t || ((b.$modelValue = t ? e : n), b.$modelValue !== o && b.$$writeModelToScope()); }); } }), (this.$$runValidators = function(t, e, r, i) { function o(t) { var e = b.$$parserName || "parse"; if (t === n) l(e, null); else if ((l(e, t), !t)) return ( a(b.$validators, function(t, e) { l(e, null); }), a(b.$asyncValidators, function(t, e) { l(e, null); }), !1 ); return !0; } function s() { var t = !0; return ( a(b.$validators, function(n, i) { var a = n(e, r); (t = t && a), l(i, a); }), t ? !0 : (a(b.$asyncValidators, function(t, e) { l(e, null); }), !1) ); } function u() { var t = [], i = !0; a(b.$asyncValidators, function(a, o) { var s = a(e, r); if (!T(s)) throw vo( "$asyncValidators", "Expected asynchronous validator to return a promise but got '{0}' instead.", s ); l(o, n), t.push( s.then( function() { l(o, !0); }, function() { (i = !1), l(o, !1); } ) ); }), t.length ? c.all(t).then(function() { f(i); }, p) : f(!0); } function l(t, e) { d === S && b.$setValidity(t, e); } function f(t) { d === S && i(t); } S++; var d = S; return o(t) ? s() ? (u(), void 0) : (f(!1), void 0) : (f(!1), void 0); }), (this.$commitViewValue = function() { var t = b.$viewValue; u.cancel(y), (b.$$lastCommittedViewValue !== t || ("" === t && b.$$hasNativeValidators)) && ((b.$$lastCommittedViewValue = t), b.$pristine && this.$setDirty(), this.$$parseAndValidate()); }), (this.$$parseAndValidate = function() { function e() { b.$modelValue !== s && b.$$writeModelToScope(); } var r = b.$$lastCommittedViewValue, i = r, a = g(i) ? n : !0; if (a) for (var o = 0; o < b.$parsers.length; o++) if (((i = b.$parsers[o](i)), g(i))) { a = !1; break; } w(b.$modelValue) && isNaN(b.$modelValue) && (b.$modelValue = $(t)); var s = b.$modelValue, u = b.$options && b.$options.allowInvalid; (b.$$rawModelValue = i), u && ((b.$modelValue = i), e()), b.$$runValidators(a, i, b.$$lastCommittedViewValue, function(t) { u || ((b.$modelValue = t ? i : n), e()); }); }), (this.$$writeModelToScope = function() { m(t, b.$modelValue), a(b.$viewChangeListeners, function(t) { try { t(); } catch (n) { e(n); } }); }), (this.$setViewValue = function(t, e) { (b.$viewValue = t), (!b.$options || b.$options.updateOnDefault) && b.$$debounceViewValueCommit(e); }), (this.$$debounceViewValueCommit = function(e) { var n, r = 0, i = b.$options; i && v(i.debounce) && ((n = i.debounce), w(n) ? (r = n) : w(n[e]) ? (r = n[e]) : w(n["default"]) && (r = n["default"])), u.cancel(y), r ? (y = u(function() { b.$commitViewValue(); }, r)) : l.$$phase ? b.$commitViewValue() : t.$apply(function() { b.$commitViewValue(); }); }), t.$watch(function() { var e = $(t); if (e !== b.$modelValue) { b.$modelValue = b.$$rawModelValue = e; for (var r = b.$formatters, i = r.length, a = e; i--; ) a = r[i](a); b.$viewValue !== a && ((b.$viewValue = b.$$lastCommittedViewValue = a), b.$render(), b.$$runValidators(n, e, a, p)); } return e; }); } ], bo = [ "$rootScope", function(t) { return { restrict: "A", require: ["ngModel", "^?form", "^?ngModelOptions"], controller: yo, priority: 1, compile: function(e) { return ( e .addClass(ho) .addClass($o) .addClass(co), { pre: function(t, e, n, r) { var i = r[0], a = r[1] || Na; i.$$setOptions(r[2] && r[2].$options), a.$addControl(i), n.$observe("name", function(t) { i.$name !== t && a.$$renameControl(i, t); }), t.$on("$destroy", function() { a.$removeControl(i); }); }, post: function(e, n, r, i) { var a = i[0]; a.$options && a.$options.updateOn && n.on(a.$options.updateOn, function(t) { a.$$debounceViewValueCommit(t && t.type); }), n.on("blur", function() { a.$touched || (t.$$phase ? e.$evalAsync(a.$setTouched) : e.$apply(a.$setTouched)); }); } } ); } }; } ], wo = /(\s+|^)default(\s+|$)/, xo = function() { return { restrict: "A", controller: [ "$scope", "$attrs", function(t, e) { var r = this; (this.$options = t.$eval(e.ngModelOptions)), this.$options.updateOn !== n ? ((this.$options.updateOnDefault = !1), (this.$options.updateOn = fi( this.$options.updateOn.replace(wo, function() { return (r.$options.updateOnDefault = !0), " "; }) ))) : (this.$options.updateOnDefault = !0); } ] }; }, ko = Ar({ terminal: !0, priority: 1e3 }), So = [ "$locale", "$interpolate", function(t, e) { var n = /{}/g, r = /^when(Minus)?(.+)$/; return { restrict: "EA", link: function(i, o, s) { function u(t) { o.text(t || ""); } var l, c = s.count, f = s.$attr.when && o.attr(s.$attr.when), d = s.offset || 0, h = i.$eval(f) || {}, p = {}, $ = e.startSymbol(), m = e.endSymbol(), g = $ + c + "-" + d + m, v = si.noop; a(s, function(t, e) { var n = r.exec(e); if (n) { var i = (n[1] ? "-" : "") + Wr(n[2]); h[i] = o.attr(s.$attr[e]); } }), a(h, function(t, r) { p[r] = e(t.replace(n, g)); }), i.$watch(c, function(e) { var n = parseFloat(e), r = isNaN(n); r || n in h || (n = t.pluralCat(n - d)), n === l || (r && isNaN(l)) || (v(), (v = i.$watch(p[n], u)), (l = n)); }); } }; } ], Co = [ "$parse", "$animate", function(t, o) { var s = "$$NG_REMOVED", u = r("ngRepeat"), l = function(t, e, n, r, i, a, o) { (t[n] = r), i && (t[i] = a), (t.$index = e), (t.$first = 0 === e), (t.$last = e === o - 1), (t.$middle = !(t.$first || t.$last)), (t.$odd = !(t.$even = 0 === (1 & e))); }, c = function(t) { return t.clone[0]; }, f = function(t) { return t.clone[t.clone.length - 1]; }; return { restrict: "A", multiElement: !0, transclude: "element", priority: 1e3, terminal: !0, $$tlb: !0, compile: function(r, d) { var h = d.ngRepeat, p = e.createComment(" end ngRepeat: " + h + " "), $ = h.match( /^\s*([\s\S]+?)\s+in\s+([\s\S]+?)(?:\s+as\s+([\s\S]+?))?(?:\s+track\s+by\s+([\s\S]+?))?\s*$/ ); if (!$) throw u( "iexp", "Expected expression in form of '_item_ in _collection_[ track by _id_]' but got '{0}'.", h ); var m = $[1], g = $[2], v = $[3], y = $[4]; if ( (($ = m.match( /^(?:(\s*[\$\w]+)|\(\s*([\$\w]+)\s*,\s*([\$\w]+)\s*\))$/ )), !$) ) throw u( "iidexp", "'_item_' in '_item_ in _collection_' should be an identifier or '(_key_, _value_)' expression, but got '{0}'.", m ); var b = $[3] || $[1], w = $[2]; if ( v && (!/^[$a-zA-Z_][$a-zA-Z0-9_]*$/.test(v) || /^(null|undefined|this|\$index|\$first|\$middle|\$last|\$even|\$odd|\$parent|\$root|\$id)$/.test( v )) ) throw u( "badident", "alias '{0}' is invalid --- must be a valid JS identifier which is not a reserved name.", v ); var x, k, S, C, A = { $id: Ue }; return ( y ? (x = t(y)) : ((S = function(t, e) { return Ue(e); }), (C = function(t) { return t; })), function(t, e, r, d, $) { x && (k = function(e, n, r) { return w && (A[w] = e), (A[b] = n), (A.$index = r), x(t, A); }); var m = le(); t.$watchCollection(g, function(r) { var d, g, y, x, A, O, E, j, N, T, M, P, V = e[0], q = le(); if ((v && (t[v] = r), i(r))) (N = r), (j = k || S); else { (j = k || C), (N = []); for (var D in r) r.hasOwnProperty(D) && "$" != D.charAt(0) && N.push(D); N.sort(); } for (x = N.length, M = new Array(x), d = 0; x > d; d++) if ( ((A = r === N ? d : N[d]), (O = r[A]), (E = j(A, O, d)), m[E]) ) (T = m[E]), delete m[E], (q[E] = T), (M[d] = T); else { if (q[E]) throw (a(M, function(t) { t && t.scope && (m[t.id] = t); }), u( "dupes", "Duplicates in a repeater are not allowed. Use 'track by' expression to specify unique keys. Repeater: {0}, Duplicate key: {1}, Duplicate value: {2}", h, E, O )); (M[d] = { id: E, scope: n, clone: n }), (q[E] = !0); } for (var R in m) { if ( ((T = m[R]), (P = ue(T.clone)), o.leave(P), P[0].parentNode) ) for (d = 0, g = P.length; g > d; d++) P[d][s] = !0; T.scope.$destroy(); } for (d = 0; x > d; d++) if ( ((A = r === N ? d : N[d]), (O = r[A]), (T = M[d]), T.scope) ) { y = V; do y = y.nextSibling; while (y && y[s]); c(T) != y && o.move(ue(T.clone), null, Qr(V)), (V = f(T)), l(T.scope, d, b, O, w, A, x); } else $(function(t, e) { T.scope = e; var n = p.cloneNode(!1); (t[t.length++] = n), o.enter(t, null, Qr(V)), (V = n), (T.clone = t), (q[T.id] = T), l(T.scope, d, b, O, w, A, x); }); m = q; }); } ); } }; } ], Ao = "ng-hide", Oo = "ng-hide-animate", Eo = [ "$animate", function(t) { return { restrict: "A", multiElement: !0, link: function(e, n, r) { e.$watch(r.ngShow, function(e) { t[e ? "removeClass" : "addClass"](n, Ao, { tempClasses: Oo }); }); } }; } ], jo = [ "$animate", function(t) { return { restrict: "A", multiElement: !0, link: function(e, n, r) { e.$watch(r.ngHide, function(e) { t[e ? "addClass" : "removeClass"](n, Ao, { tempClasses: Oo }); }); } }; } ], No = Ar(function(t, e, n) { t.$watchCollection(n.ngStyle, function(t, n) { n && t !== n && a(n, function(t, n) { e.css(n, ""); }), t && e.css(t); }); }), To = [ "$animate", function(t) { return { restrict: "EA", require: "ngSwitch", controller: [ "$scope", function() { this.cases = {}; } ], link: function(n, r, i, o) { var s = i.ngSwitch || i.on, u = [], l = [], c = [], f = [], d = function(t, e) { return function() { t.splice(e, 1); }; }; n.$watch(s, function(n) { var r, i; for (r = 0, i = c.length; i > r; ++r) t.cancel(c[r]); for (c.length = 0, r = 0, i = f.length; i > r; ++r) { var s = ue(l[r].clone); f[r].$destroy(); var h = (c[r] = t.leave(s)); h.then(d(c, r)); } (l.length = 0), (f.length = 0), (u = o.cases["!" + n] || o.cases["?"]) && a(u, function(n) { n.transclude(function(r, i) { f.push(i); var a = n.element; r[r.length++] = e.createComment(" end ngSwitchWhen: "); var o = { clone: r }; l.push(o), t.enter(r, a.parent(), a); }); }); }); } }; } ], Mo = Ar({ transclude: "element", priority: 1200, require: "^ngSwitch", multiElement: !0, link: function(t, e, n, r, i) { (r.cases["!" + n.ngSwitchWhen] = r.cases["!" + n.ngSwitchWhen] || []), r.cases["!" + n.ngSwitchWhen].push({ transclude: i, element: e }); } }), Po = Ar({ transclude: "element", priority: 1200, require: "^ngSwitch", multiElement: !0, link: function(t, e, n, r, i) { (r.cases["?"] = r.cases["?"] || []), r.cases["?"].push({ transclude: i, element: e }); } }), Vo = Ar({ restrict: "EAC", link: function(t, e, n, i, a) { if (!a) throw r("ngTransclude")( "orphan", "Illegal use of ngTransclude directive in the template! No parent directive that requires a transclusion found. Element: {0}", z(e) ); a(function(t) { e.empty(), e.append(t); }); } }), qo = [ "$templateCache", function(t) { return { restrict: "E", terminal: !0, compile: function(e, n) { if ("text/ng-template" == n.type) { var r = n.id, i = e[0].text; t.put(r, i); } } }; } ], Do = r("ngOptions"), Ro = m({ restrict: "A", terminal: !0 }), Io = [ "$compile", "$parse", function(t, r) { var i = /^\s*([\s\S]+?)(?:\s+as\s+([\s\S]+?))?(?:\s+group\s+by\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]+?))?$/, s = { $setViewValue: p }; return { restrict: "E", require: ["select", "?ngModel"], controller: [ "$element", "$scope", "$attrs", function(t, e, n) { var r, i, a = this, o = {}, u = s; (a.databound = n.ngModel), (a.init = function(t, e, n) { (u = t), (r = e), (i = n); }), (a.addOption = function(e, n) { oe(e, '"option value"'), (o[e] = !0), u.$viewValue == e && (t.val(e), i.parent() && i.remove()), n && n[0].hasAttribute("selected") && (n[0].selected = !0); }), (a.removeOption = function(t) { this.hasOption(t) && (delete o[t], u.$viewValue === t && this.renderUnknownOption(t)); }), (a.renderUnknownOption = function(e) { var n = "? " + Ue(e) + " ?"; i.val(n), t.prepend(i), t.val(n), i.prop("selected", !0); }), (a.hasOption = function(t) { return o.hasOwnProperty(t); }), e.$on("$destroy", function() { a.renderUnknownOption = p; }); } ], link: function(s, u, l, c) { function f(t, e, n, r) { (n.$render = function() { var t = n.$viewValue; r.hasOption(t) ? (C.parent() && C.remove(), e.val(t), "" === t && p.prop("selected", !0)) : g(t) && p ? e.val("") : r.renderUnknownOption(t); }), e.on("change", function() { t.$apply(function() { C.parent() && C.remove(), n.$setViewValue(e.val()); }); }); } function d(t, e, n) { var r; (n.$render = function() { var t = new Le(n.$viewValue); a(e.find("option"), function(e) { e.selected = v(t.get(e.value)); }); }), t.$watch(function() { I(r, n.$viewValue) || ((r = R(n.$viewValue)), n.$render()); }), e.on("change", function() { t.$apply(function() { var t = []; a(e.find("option"), function(e) { e.selected && t.push(e.value); }), n.$setViewValue(t); }); }); } function h(e, s, u) { function l(t, n, r) { return (I[O] = r), N && (I[N] = n), t(e, I); } function c() { e.$apply(function() { var t, n = P(e) || []; if (y) (t = []), a(s.val(), function(e) { (e = q ? D[e] : e), t.push(f(e, n[e])); }); else { var r = q ? D[s.val()] : s.val(); t = f(r, n[r]); } u.$setViewValue(t), g(); }); } function f(t, e) { if ("?" === t) return n; if ("" === t) return null; var r = j ? j : M; return l(r, t, e); } function d() { var t, n = P(e); if (n && ci(n)) { t = new Array(n.length); for (var r = 0, i = n.length; i > r; r++) t[r] = l(A, r, n[r]); return t; } if (n) { t = {}; for (var a in n) n.hasOwnProperty(a) && (t[a] = l(A, a, n[a])); } return t; } function h(t) { var e; if (y) if (q && ci(t)) { e = new Le([]); for (var n = 0; n < t.length; n++) e.put(l(q, null, t[n]), !0); } else e = new Le(t); else q && (t = l(q, null, t)); return function(n, r) { var i; return ( (i = q ? q : j ? j : M), y ? v(e.remove(l(i, n, r))) : t === l(i, n, r) ); }; } function p() { x || (e.$$postDigest(g), (x = !0)); } function m(t, e, n) { (t[e] = t[e] || 0), (t[e] += n ? 1 : -1); } function g() { x = !1; var t, n, r, i, c, f, d, p, g, b, C, O, E, j, M, V, _, U = { "": [] }, L = [""], F = u.$viewValue, H = P(e) || [], B = N ? o(H) : H, z = {}, G = h(F), W = !1; for (D = {}, O = 0; (b = B.length), b > O; O++) (d = O), (N && ((d = B[O]), "$" === d.charAt(0))) || ((p = H[d]), (t = l(T, d, p) || ""), (n = U[t]) || ((n = U[t] = []), L.push(t)), (E = G(d, p)), (W = W || E), (V = l(A, d, p)), (V = v(V) ? V : ""), (_ = q ? q(e, I) : N ? B[O] : O), q && (D[_] = d), n.push({ id: _, label: V, selected: E })); for ( y || (w || null === F ? U[""].unshift({ id: "", label: "", selected: !W }) : W || U[""].unshift({ id: "?", label: "", selected: !0 })), C = 0, g = L.length; g > C; C++ ) { for ( t = L[C], n = U[t], R.length <= C ? ((i = { element: S.clone().attr("label", t), label: n.label }), (c = [i]), R.push(c), s.append(i.element)) : ((c = R[C]), (i = c[0]), i.label != t && i.element.attr("label", (i.label = t))), j = null, O = 0, b = n.length; b > O; O++ ) (r = n[O]), (f = c[O + 1]) ? ((j = f.element), f.label !== r.label && (m(z, f.label, !1), m(z, r.label, !0), j.text((f.label = r.label)), j.prop("label", f.label)), f.id !== r.id && j.val((f.id = r.id)), j[0].selected !== r.selected && (j.prop("selected", (f.selected = r.selected)), Xr && j.prop("selected", f.selected))) : ("" === r.id && w ? (M = w) : (M = k.clone()) .val(r.id) .prop("selected", r.selected) .attr("selected", r.selected) .prop("label", r.label) .text(r.label), c.push( (f = { element: M, label: r.label, id: r.id, selected: r.selected }) ), m(z, r.label, !0), j ? j.after(M) : i.element.append(M), (j = M)); for (O++; c.length > O; ) (r = c.pop()), m(z, r.label, !1), r.element.remove(); } for (; R.length > C; ) { for (n = R.pop(), O = 1; O < n.length; ++O) m(z, n[O].label, !1); n[0].element.remove(); } a(z, function(t, e) { t > 0 ? $.addOption(e) : 0 > t && $.removeOption(e); }); } var C; if (!(C = b.match(i))) throw Do( "iexp", "Expected expression in form of '_select_ (as _label_)? for (_key_,)?_value_ in _collection_' but got '{0}'. Element: {1}", b, z(s) ); var A = r(C[2] || C[1]), O = C[4] || C[6], E = / as /.test(C[0]) && C[1], j = E ? r(E) : null, N = C[5], T = r(C[3] || ""), M = r(C[2] ? C[1] : O), P = r(C[7]), V = C[8], q = V ? r(C[8]) : null, D = {}, R = [[{ element: s, label: "" }]], I = {}; w && (t(w)(e), w.removeClass("ng-scope"), w.remove()), s.empty(), s.on("change", c), (u.$render = g), e.$watchCollection(P, p), e.$watchCollection(d, p), y && e.$watchCollection(function() { return u.$modelValue; }, p); } if (c[1]) { for ( var p, $ = c[0], m = c[1], y = l.multiple, b = l.ngOptions, w = !1, x = !1, k = Qr(e.createElement("option")), S = Qr(e.createElement("optgroup")), C = k.clone(), A = 0, O = u.children(), E = O.length; E > A; A++ ) if ("" === O[A].value) { p = w = O.eq(A); break; } $.init(m, w, C), y && (m.$isEmpty = function(t) { return !t || 0 === t.length; }), b ? h(s, u, m) : y ? d(s, u, m) : f(s, u, m, $); } } }; } ], _o = [ "$interpolate", function(t) { var e = { addOption: p, removeOption: p }; return { restrict: "E", priority: 100, compile: function(n, r) { if (g(r.value)) { var i = t(n.text(), !0); i || r.$set("value", n.text()); } return function(t, n, r) { var a = "$selectController", o = n.parent(), s = o.data(a) || o.parent().data(a); (s && s.databound) || (s = e), i ? t.$watch(i, function(t, e) { r.$set("value", t), e !== t && s.removeOption(e), s.addOption(t, n); }) : s.addOption(r.value, n), n.on("$destroy", function() { s.removeOption(r.value); }); }; } }; } ], Uo = m({ restrict: "E", terminal: !1 }), Lo = function() { return { restrict: "A", require: "?ngModel", link: function(t, e, n, r) { r && ((n.required = !0), (r.$validators.required = function(t, e) { return !n.required || !r.$isEmpty(e); }), n.$observe("required", function() { r.$validate(); })); } }; }, Fo = function() { return { restrict: "A", require: "?ngModel", link: function(t, e, i, a) { if (a) { var o, s = i.ngPattern || i.pattern; i.$observe("pattern", function(t) { if ( (b(t) && t.length > 0 && (t = new RegExp("^" + t + "$")), t && !t.test) ) throw r("ngPattern")( "noregexp", "Expected {0} to be a RegExp but was {1}. Element: {2}", s, t, z(e) ); (o = t || n), a.$validate(); }), (a.$validators.pattern = function(t) { return a.$isEmpty(t) || g(o) || o.test(t); }); } } }; }, Ho = function() { return { restrict: "A", require: "?ngModel", link: function(t, e, n, r) { if (r) { var i = -1; n.$observe("maxlength", function(t) { var e = d(t); (i = isNaN(e) ? -1 : e), r.$validate(); }), (r.$validators.maxlength = function(t, e) { return 0 > i || r.$isEmpty(e) || e.length <= i; }); } } }; }, Bo = function() { return { restrict: "A", require: "?ngModel", link: function(t, e, n, r) { if (r) { var i = 0; n.$observe("minlength", function(t) { (i = d(t) || 0), r.$validate(); }), (r.$validators.minlength = function(t, e) { return r.$isEmpty(e) || e.length >= i; }); } } }; }; return t.angular.bootstrap ? (console.log("WARNING: Tried to load angular more than once."), void 0) : (re(), he(si), Qr(e).ready(function() { X(e, Q); }), void 0);
})(window, document),
!window.angular.$$csp() && window.angular .element(document) .find("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;}</style>' ), angular.module("app", ["angularplasmid"]), (function() { "use strict"; angular .module("angularplasmid.services", []) .factory("SVGUtil", function() { function t(t, e) { var n = "round"; return "undefined" == typeof e || 0 === +e ? Math[n](t) : ((t = +t), (e = +e), isNaN(t) || "number" != typeof e || e % 1 !== 0 ? 0 / 0 : ((t = t.toString().split("e")), (t = Math[n](+(t[0] + "e" + (t[1] ? +t[1] - e : -e)))), (t = t.toString().split("e")), +(t[0] + "e" + (t[1] ? +t[1] + e : e)))); } function e(t) { d.push(t); } function n(t) { var e; for (e = 0; e < d.length; e += 1) if (d[e].id === t) return d[e]; } function r(t, e, n, r) { var i = ((r - 90) * Math.PI) / 180; return { x: t + n * Math.cos(i), y: e + n * Math.sin(i) }; } function i(t, e) { var n, r, i = [ "id", "name", "class", "style", "filter", "ng-attr-style", "ng-attr-class", "ng-class" ]; for (r = 0; r < i.length; r += 1) (n = i[r]), t[0].hasAttribute(n) && (e.attr(n, t.attr(n)), t.removeAttr(n)); } function a(t, e, n) { var r, i = "http://www.w3.org/2000/svg", a = document.createElementNS(i, t); return ( (n = n || []), angular.forEach(e, function(t) { n.indexOf(t) < 0 && ((r = e[t]), null === r || t.match(/\$/) || ("string" == typeof r && "" === r) || a.setAttribute(t, r)); }), a ); } function o(t) { angular.forEach(["id", "class", "style"], function(e) { t.removeAttribute(e); }); } function s(t, e, n, i) { var a, o, s; return ( (t = Number(t || 0)), (e = Number(e || 0)), (n = Number(n || 0)), (i = Number(i || 0)), (a = { start: r(t, e, n, 359.99), end: r(t, e, n, 0) }), (o = { start: r(t, e, n + i, 359.99), end: r(t, e, n + i, 0) }), (s = [ "M", a.start.x, a.start.y, "A", n, n, 0, 1, 0, a.end.x, a.end.y, "M", o.start.x, o.start.y, "A", n + i, n + i, 0, 1, 0, o.end.x, o.end.y ].join(" ")) ); } function u(t, e, n, i, a, o, s, u) { var l, c, f, d, h, p, $, m, g, v, y, b, w; return ( (t = Number(t)), (e = Number(e)), (n = Number(n)), (i = Number(i)), (a = Number(a)), (o = Number(o)), (s = s || { width: 0, length: 0, angle: 0 }), (u = u || { width: 0, length: 0, angle: 0 }), i === a ? ((c = r(t, e, n, i)), (d = r(t, e, n + o, i)), (l = ["M", c.x, c.y, "L", d.x, d.y].join(" "))) : 1 === o ? ((c = r(t, e, n, i)), (d = r(t, e, n, a)), (h = a > i ? 180 >= a - i ? "0" : "1" : 180 >= a - i ? "1" : "0"), (l = ["M", c.x, c.y, "A", n, n, 0, h, 1, d.x, d.y].join(" "))) : ((a -= u.length < 0 ? 0 : u.length), (i += s.length < 0 ? 0 : s.length), (c = r(t, e, n, a)), (d = r(t, e, n, i)), (p = r(t, e, n - s.width, i + s.angle)), ($ = r(t, e, n + o / 2, i - s.length)), (m = r(t, e, n + o + s.width, i + s.angle)), (g = r(t, e, n + o, i)), (v = r(t, e, n + o + u.width, a - u.angle)), (y = r(t, e, n + o / 2, a + u.length)), (b = r(t, e, n - u.width, a - u.angle)), (w = r(t, e, n, a)), (f = r(t, e, n + o, a)), (h = 180 >= a - i ? "0" : "1"), (l = [ "M", c.x, c.y, "A", n, n, 0, h, 0, d.x, d.y, "L", p.x, p.y, "L", $.x, $.y, "L", m.x, m.y, "L", g.x, g.y, "A", n + o, n + o, 0, h, 1, f.x, f.y, "L", v.x, v.y, "L", y.x, y.y, "L", b.x, b.y, "L", w.x, w.y, "z" ].join(" "))), l ); } function l(e, n, r, i, a, o) { (e = Number(e || 0)), (n = Number(n || 0)), (r = Number(r || 0)), (i = Number(i || 0)), (a = Number(a || 0)), (o = Number(o || 2)); var s, u, l, c, f = Number(i) > 0 ? Number(a) / Number(i) : 0, d = (2 * Math.PI) / f, h = -1, p = ""; for (c = 0; f > c; c += 1) (s = d * c - Math.PI / 2), (l = Math.cos(s)), (u = Math.sin(s)), (p += "M" + t(e + r * l, h) + "," + t(n + r * u, h) + " L" + t(e + (r + o) * l, h) + "," + t(n + (r + o) * u, h) + " "); return (p = p || "M 0,0"); } function c(e, n, r, i, a) { (e = Number(e)), (n = Number(n)), (r = Number(r)), (i = Number(i)), (a = Number(a)); var o, s, u, l, c = Number(i) > 0 ? Number(a) / Number(i) : 0, f = (2 * Math.PI) / c, d = -1, h = []; for (l = 0; c > l; l += 1) (o = f * l - Math.PI / 2), (u = Math.cos(o)), (s = Math.sin(o)), h.push({ x: t(e + r * u, d), y: t(n + r * s, d), text: i * l }); return h; } function f(t, e) { return isNaN(t) ? e || 0 : Number(t); } var d = [], h = [], p = []; return { api: { addPlasmid: e, plasmids: d, plasmid: n, plasmidtracks: h, trackmarkers: p }, util: { polarToCartesian: r, swapProperties: i, Numeric: f }, svg: { createNode: a, removeAttributes: o, path: { donut: s, arc: u, scale: l }, element: { scalelabels: c } } }; }); })(), (function() { "use strict"; angular .module("angularplasmid", ["angularplasmid.services"]) .directive("plasmidapi", [ "SVGUtil", function(t) { return { restrict: "AE", link: function(e, n, r) { e[r.name] = t.api; } }; } ]) .directive("plasmid", [ "SVGUtil", function() { return { restrict: "AE", type: "svg", template: '<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"></svg>', replace: !0, transclude: !0, require: "plasmid", scope: { plasmidheight: "@", plasmidwidth: "@", sequencelength: "@", sequence: "@", plasmidclass: "@", plasmidstyle: "@" }, link: { pre: function(t, e, n, r) { r.init(e); }, post: function(t, e, n, r, i) { i(t.$parent, function(t) { e.append(t); }), t.$watchGroup( [ "plasmidheight", "plasmidwidth", "sequencelength", "sequence", "plasmidclass", "plasmidstyle" ], function() { r.draw(); } ); } }, controller: [ "$scope", "SVGUtil", function(t, e) { var n, r, i = []; (r = this), (r.elementtype = "plasmid"), (r.init = function(t) { e.api.addPlasmid(r), (n = t), (r.id = n.attr("id")); }), (r.draw = function() { var t = r.dimensions, e = n.plasmidclass, a = n.plasmidstyle; n.attr("height", t.height), n.attr("width", t.width), e && n.attr("class", e), a && n.attr("style", a), angular.forEach(i, function(t) { t.draw(); }); }), (r.addTrack = function(t) { i.push(t); }), Object.defineProperty(r, "center", { get: function() { var t = r.dimensions; return { x: t.width / 2, y: t.height / 2 }; } }), Object.defineProperty(r, "dimensions", { get: function() { return { height: e.util.Numeric(t.plasmidheight, 300), width: e.util.Numeric(t.plasmidwidth, 300) }; } }), Object.defineProperty(r, "sequencelength", { get: function() { return r.sequence ? r.sequence.length : e.util.Numeric(t.sequencelength); } }), Object.defineProperty(r, "sequence", { get: function() { return t.sequence; } }), Object.defineProperty(r, "plasmidclass", { get: function() { return t.plasmidclass; } }), Object.defineProperty(r, "plasmidstyle", { get: function() { return t.plasmidstyle; } }), (r.tracks = i); } ] }; } ]) .directive("plasmidtrack", [ "SVGUtil", "$compile", function(t, e) { return { restrict: "AE", type: "svg", template: "<g><path></path></g>", replace: !0, transclude: !0, require: ["plasmidtrack", "^plasmid"], scope: { radius: "@", width: "@", trackclass: "@", trackstyle: "@", trackclick: "&" }, link: { pre: function(t, e, n, r) { var i = r[0], a = r[1], o = angular.element(e.children()[0]); i.init(o, a); }, post: function(n, r, i, a, o) { o(n.$parent, function(t) { r.append(t); }); var s = angular.element(r), u = angular.element(r.children()[0]), l = a[0]; t.util.swapProperties(s, u), u.attr("fill-rule", "evenodd"), e(u)(n.$parent), u.on("click", function(t) { n.trackclick({ $event: t, $track: l }); }), n.$watchGroup( ["radius", "width", "trackstyle", "trackclass"], function() { l.draw(); } ); } }, controller: [ "$scope", function(e) { var n, r, i, a = [], o = [], s = []; (i = this), (i.elementtype = "plasmidtrack"), (i.init = function(t, e) { (n = e), n.addTrack(i), (i.plasmid = n), (r = t); }), (i.draw = function() { var e = i.center, n = t.svg.path.donut(e.x, e.y, i.radius, i.width), u = i.trackclass, l = i.trackstyle; r.attr("d", n), u && r.attr("class", u), l && r.attr("style", l), angular.forEach(a, function(t) { t.draw(); }), angular.forEach(o, function(t) { t.draw(); }), angular.forEach(s, function(t) { t.draw(); }); }), (i.addMarker = function(t) { a.push(t); }), (i.addScale = function(t) { o.push(t); }), (i.addLabel = function(t) { s.push(t); }), (i.markergroup = function(t) { var e = []; return ( angular.forEach(a, function(n) { n.markergroup === t && e.push(n); }), e ); }), (i.getPosition = function(e, r, a) { (a = Number(a || 0)), (e = Number(e)); var o, s, u = 1, l = 2, c = i.center, f = n.sequencelength; if (f > 0) { switch (((s = (e / f) * 360), r)) { case u: o = i.radius + a; break; case l: o = i.radius + i.width + a; break; default: o = i.radius + i.width / 2 + a; } return t.util.polarToCartesian(c.x, c.y, o, s); } }), Object.defineProperty(i, "center", { get: function() { return n.center; } }), Object.defineProperty(i, "radius", { get: function() { return t.util.Numeric(e.radius, 100); } }), Object.defineProperty(i, "width", { get: function() { return t.util.Numeric(e.width, 25); } }), Object.defineProperty(i, "trackclass", { get: function() { return e.trackclass; } }), Object.defineProperty(i, "trackstyle", { get: function() { return e.trackstyle; } }), (i.markers = a), (i.scales = o), (i.labels = s); } ] }; } ]) .directive("trackscale", [ "SVGUtil", "$compile", function(t, e) { return { restrict: "AE", type: "svg", template: "<g><path></path><g></g></g>", replace: !0, transclude: !0, require: ["trackscale", "^plasmidtrack"], scope: { interval: "@", vadjust: "@", ticksize: "@", direction: "@", showlabels: "@", labelvadjust: "@", labelclass: "@", labelstyle: "@", tickclass: "@", tickstyle: "@", scaleclick: "&" }, link: { pre: function(t, e, n, r) { var i = r[0], a = r[1], o = angular.element(e.children()[0]), s = angular.element(e.children()[1]); i.init(o, s, a); }, post: function(n, r, i, a, o) { var s, u, l; o(n.$parent, function(t) { r.append(t); }), (s = angular.element(r)), (u = angular.element(r.children()[0])), t.util.swapProperties(s, u), e(u)(n.$parent), u.on("click", function(t) { n.scaleclick({ $event: t, $scale: l }); }), (l = a[0]), n.$watchGroup( [ "interval", "vadjust", "ticksize", "labelvadjust", "direction", "showlabels", "labelstyle", "labelclass", "tickstyle", "tickclass" ], function() { l.draw(); } ); } }, controller: [ "$scope", function(e) { var n, r, i, a, o = 15, s = 3; (r = this), (r.elementtype = "trackscale"), (r.init = function(t, e, o) { (n = o), n.addScale(r), (r.track = n), (i = t), (a = e); }), (r.draw = function() { var e = r.tickclass, o = r.tickstyle, s = n.center, u = t.svg.path.scale( s.x, s.y, r.radius, r.interval, r.total, r.ticksize ); i.attr("d", u), e && i.attr("class", e), o && i.attr("style", o), r.showlabels ? r.drawLabel() : a.empty(); }), (r.drawLabel = function() { function i(t) { e.scaleclick({ $event: t, $scale: r }); } var o, s, u, l = n.center; for ( u = t.svg.element.scalelabels( l.x, l.y, r.labelradius, r.interval, r.total ), a.empty(), o = 0; o <= u.length - 1; o += 1 ) (s = angular.element(t.svg.createNode("text"))), r.labelclass && s.attr("class", r.labelclass), r.labelstyle && s.attr("style", r.labelstyle), s.attr("x", u[o].x), s.attr("y", u[o].y), s.attr("text-anchor", "middle"), s.attr("alignment-baseline", "middle"), s.text(u[o].text), s.on("click", i), a.append(s); }), Object.defineProperty(r, "radius", { get: function() { return ( (r.inwardflg ? n.radius : n.radius + n.width) + (r.inwardflg ? -1 : 1) * r.vadjust + (r.inwardflg ? -r.ticksize : 0) ); } }), Object.defineProperty(r, "interval", { get: function() { return t.util.Numeric(e.interval); } }), Object.defineProperty(r, "vadjust", { get: function() { return t.util.Numeric(e.vadjust); } }), Object.defineProperty(r, "ticksize", { get: function() { return t.util.Numeric(e.ticksize, s); } }), Object.defineProperty(r, "inwardflg", { get: function() { return "in" === e.direction ? !0 : !1; } }), Object.defineProperty(r, "total", { get: function() { return n.plasmid.sequencelength; } }), Object.defineProperty(r, "showlabels", { get: function() { return "1" === e.showlabels ? !0 : !1; } }), Object.defineProperty(r, "labelvadjust", { get: function() { return t.util.Numeric(e.labelvadjust, o); } }), Object.defineProperty(r, "tickclass", { get: function() { return e.tickclass; } }), Object.defineProperty(r, "tickstyle", { get: function() { return e.tickstyle; } }), Object.defineProperty(r, "labelclass", { get: function() { return e.labelclass; } }), Object.defineProperty(r, "labelstyle", { get: function() { return e.labelstyle; } }), Object.defineProperty(r, "labelradius", { get: function() { return r.radius + r.labelvadjust * (r.inwardflg ? -1 : 1); } }); } ] }; } ]) .directive("tracklabel", [ "SVGUtil", function(t) { return { restrict: "AE", type: "svg", template: "<text></text>", replace: !0, transclude: !0, require: ["tracklabel", "^plasmidtrack"], scope: { text: "@", hadjust: "@", vadjust: "@", labelclass: "@", labelstyle: "@", labelclick: "&" }, link: { pre: function(t, e, n, r) { var i = r[0], a = r[1], o = angular.element(e[0]); i.init(o, a); }, post: function(t, e, n, r, i) { var a; i(t.$parent, function(t) { e.append(t); }), e.attr("text-anchor", "middle"), e.attr("alignment-baseline", "middle"), e.on("click", function(e) { t.labelclick({ $event: e, $label: a }); }), (a = r[0]), t.$watchGroup( ["text", "vadjust", "hadjust", "labelstyle", "labelclass"], function() { a.draw(); } ); } }, controller: [ "$scope", function(e) { var n, r, i; (r = this), (r.elementtype = "tracklabel"), (r.init = function(t, e) { (n = e), n.addLabel(r), (r.track = n), (i = t); }), (r.draw = function() { var t = n.center, e = r.labelclass, a = r.labelstyle; i.attr("x", t.x + r.hadjust), i.attr("y", t.y + r.vadjust), i.text(r.text), e && i.attr("class", e), a && i.attr("style", a); }), Object.defineProperty(r, "center", { get: function() { return n.center; } }), Object.defineProperty(r, "text", { get: function() { return e.text; } }), Object.defineProperty(r, "labelclass", { get: function() { return e.labelclass; } }), Object.defineProperty(r, "labelstyle", { get: function() { return e.labelstyle; } }), Object.defineProperty(r, "hadjust", { get: function() { return t.util.Numeric(e.hadjust, 0); } }), Object.defineProperty(r, "vadjust", { get: function() { return t.util.Numeric(e.vadjust, 0); } }), Object.defineProperty(r, "dimensions", { get: function() { return i[0].getBBox(); } }); } ] }; } ]) .directive("trackmarker", [ "SVGUtil", "$compile", function(t, e) { return { restrict: "AE", type: "svg", template: "<g><path></path></g>", replace: !0, transclude: !0, require: ["trackmarker", "^plasmidtrack"], scope: { start: "@", end: "@", vadjust: "@", wadjust: "@", markergroup: "@", arrowstartlength: "@", arrowstartwidth: "@", arrowstartangle: "@", arrowendlength: "@", arrowendwidth: "@", arrowendangle: "@", markerclass: "@", markerstyle: "@", markerclick: "&" }, link: { pre: function(t, e, n, r) { var i = r[0], a = r[1], o = angular.element(e.children()[0]); i.init(o, a); }, post: function(n, r, i, a, o) { var s, u, l = a[0]; o(n.$parent, function(t) { r.append(t); }), (s = angular.element(r)), (u = angular.element(r.children()[0])), t.util.swapProperties(s, u), e(u)(n.$parent), u.on("click", function(t) { n.markerclick({ $event: t, $marker: l }); }), n.$watchGroup( [ "start", "end", "vadjust", "wadjust", "markergroup", "markerclass", "markerstyle", "arrowstartlength", "arrowstartwidth", "arrowstartangle", "arrowendlength", "arrowendwidth", "arrowendangle" ], function() { l.draw(); } ); } }, controller: [ "$scope", function(e) { var n, r, i, a = []; (r = this), (r.elementtype = "trackmarker"), (r.init = function(t, e) { (n = e), n.addMarker(r), (i = t), (r.track = n); }), (r.draw = function() { var t = r.markerclass, e = r.markerstyle; i.attr("d", r.getPath()), t && i.attr("class", t), e && i.attr("style", e), angular.forEach(a, function(t) { t.draw(); }); }), (r.addMarkerLabel = function(t) { a.push(t); }), (r.getPath = function() { var e = n.center, i = r.angle, a = r.radius; return t.svg.path.arc( e.x, e.y, a.inner, i.start, i.end, r.width, r.arrowstart, r.arrowend ); }), (r.getPosition = function(e, i, a, o) { var s, u, l, c, f, d = "start", h = "end", p = "inner", $ = "outer"; if ( ((s = n.center), (c = r.radius), (f = r.angle), (e = t.util.Numeric(e)), (i = t.util.Numeric(i)), void 0 !== o && void 0 !== a) ) { switch (o) { case p: u = c.inner + i; break; case $: u = c.outer + i; break; default: u = c.middle + i; } switch (a) { case d: l = f.start + e; break; case h: l = f.end + e; break; default: l = f.middle + e; } return t.util.polarToCartesian(s.x, s.y, u, l); } return ( (u = { outer: c.outer + i, inner: c.inner + i, middle: c.middle + i }), (l = { begin: f.start + e, end: f.end + e, middle: f.middle + e }), { outer: { begin: t.util.polarToCartesian( s.x, s.y, u.outer, l.begin ), middle: t.util.polarToCartesian( s.x, s.y, u.outer, l.middle ), end: t.util.polarToCartesian(s.x, s.y, u.outer, l.end) }, middle: { begin: t.util.polarToCartesian( s.x, s.y, u.middle, l.begin ), middle: t.util.polarToCartesian( s.x, s.y, u.middle, l.middle ), end: t.util.polarToCartesian( s.x, s.y, u.middle, l.end ) }, inner: { begin: t.util.polarToCartesian( s.x, s.y, u.inner, l.begin ), middle: t.util.polarToCartesian( s.x, s.y, u.inner, l.middle ), end: t.util.polarToCartesian(s.x, s.y, u.inner, l.end) } } ); }), (r.fireClick = function(t) { e.markerclick({ $event: t.$event, $marker: t.$marker }); }), Object.defineProperty(r, "center", { get: function() { return n.center; } }), Object.defineProperty(r, "radius", { get: function() { return { inner: n.radius + r.vadjust, outer: n.radius + r.vadjust + r.width, middle: n.radius + r.vadjust + r.width / 2 }; } }), Object.defineProperty(r, "angle", { get: function() { var i, a, o, s; return ( (i = (r.start / n.plasmid.sequencelength) * 360), (s = e.end || e.start), (a = (t.util.Numeric(s) / n.plasmid.sequencelength) * 360), (a += i > a ? 360 : 0), (o = i + (a - i) / 2), { start: i, middle: o, end: a } ); } }), Object.defineProperty(r, "vadjust", { get: function() { return t.util.Numeric(e.vadjust); } }), Object.defineProperty(r, "wadjust", { get: function() { return t.util.Numeric(e.wadjust); } }), Object.defineProperty(r, "width", { get: function() { return n.width + r.wadjust; } }), Object.defineProperty(r, "start", { get: function() { return t.util.Numeric(e.start); } }), Object.defineProperty(r, "end", { get: function() { return t.util.Numeric(e.end); } }), Object.defineProperty(r, "arrowstart", { get: function() { return { width: t.util.Numeric(e.arrowstartwidth), length: t.util.Numeric(e.arrowstartlength), angle: t.util.Numeric(e.arrowstartangle) }; } }), Object.defineProperty(r, "arrowend", { get: function() { return { width: t.util.Numeric(e.arrowendwidth), length: t.util.Numeric(e.arrowendlength), angle: t.util.Numeric(e.arrowendangle) }; } }), Object.defineProperty(r, "markergroup", { get: function() { return e.markergroup; } }), Object.defineProperty(r, "markerclass", { get: function() { return e.markerclass; } }), Object.defineProperty(r, "markerstyle", { get: function() { return e.markerstyle; } }), Object.defineProperty(r, "sequence", { get: function() { var t = r.track.plasmid.sequence; return r.start > r.end ? t.substring(r.start - 1, t.length - 1) + t.substring(0, r.end - 1) : t.substring(r.start - 1, r.end - 1); } }), (r.labels = a); } ] }; } ]) .directive("markerlabel", [ "SVGUtil", "$compile", function(t, e) { return { restrict: "AE", type: "svg", transclude: !0, template: '<g><path></path><path id="" style="fill:none;stroke:none"></path><text></text></g>', require: ["markerlabel", "^trackmarker"], replace: !0, scope: { text: "@", valign: "@", vadjust: "@", halign: "@", hadjust: "@", type: "@", showline: "@", linestyle: "@", lineclass: "@", labelstyle: "@", labelclass: "@", linevadjust: "@", labelclick: "&" }, link: { pre: function(t, e, n, r) { var i = r[0], a = r[1], o = angular.element(e[0]), s = angular.element(e.children()[0]), u = angular.element(e.children()[1]), l = angular.element(e.children()[2]); i.init(l, o, u, s, a); }, post: function(n, r, i, a, o) { o(n.$parent, function(t) { r.append(t); }); var s = a[0], u = a[1], l = angular.element(r), c = angular.element(r.children()[2]); c.attr("text-anchor", "middle"), c.attr("alignment-baseline", "middle"), t.util.swapProperties(l, c), e(c)(n.$parent), i.labelclick ? c.on("click", function(t) { n.labelclick({ $event: t, $label: s }); }) : c.on("click", function(t) { u.fireClick({ $event: t, $marker: u }); }), n.$watchGroup( [ "text", "type", "valign", "vadjust", "halign", "hadjust", "showline", "linevadjust", "linestyle", "labelclass", "labelstyle" ], function() { s.draw(); } ); } }, controller: [ "$scope", "$compile", function(e, n) { var r, i, a, o, s, u, l, c; (i = this), (i.elementtype = "markerlabel"), (i.init = function(t, e, n, s, u) { var f = "TPATH" + (Math.random() + 1).toString(36).substring(3, 7); (r = u), r.addMarkerLabel(i), (i.marker = r), (a = t), (o = n), (l = s), (c = e), o.attr("id", f); }), (i.draw = function() { var t, c, f, d, h, p = "middle", $ = "inner", m = "outer", g = "start", v = "end", y = 0, b = 0, w = i.labelclass, x = i.labelstyle; if ( (w && a.attr("class", w), x && a.attr("style", x), "path" === i.type) ) switch ( (a.attr("x", ""), a.attr("y", ""), s || ((u = document.createElementNS( "http://www.w3.org/2000/svg", "textPath" )), u.setAttributeNS( "http://www.w3.org/1999/xlink", "href", "#" + o.attr("id") ), (s = angular.element(u)), n(s)(e), a.empty(), a.append(s)), (u.textContent = i.text), (y = window .getComputedStyle(a[0]) .fontSize.replace("px", "")), (b = i.valign === m ? 0 : i.valign === $ ? Number(y || 0) : Number(y || 0) / 2), o.attr( "d", i.getPath( i.hadjust, i.vadjust - b, i.halign, i.valign ) ), i.halign) ) { case g: a.attr("text-anchor", "start"), s[0].setAttribute("startOffset", "0%"); break; case v: a.attr("text-anchor", "end"), s[0].setAttribute("startOffset", "100%"); break; default: a.attr("text-anchor", "middle"), s[0].setAttribute("startOffset", "50%"); } else s && (s.remove(), (s = null)), (t = r.getPosition( i.hadjust, i.vadjust, i.halign, i.valign )), a.attr("x", t.x), a.attr("y", t.y), a.text(i.text); i.showlineflg ? ((c = r.getPosition( i.hadjust, i.vadjust + i.linevadjust, i.halign, i.valign )), (d = r.getPosition()), (h = i.valign === $ ? d.inner : i.valign === p ? d.middle : d.outer), (f = i.halign === g ? h.begin : i.halign === v ? h.end : h.middle), l.attr("d", ["M", c.x, c.y, "L", f.x, f.y].join(" ")), i.linestyle || i.lineclass || l.attr("style", "stroke:#000"), i.linestyle && l.attr("style", i.linestyle), i.lineclass && l.attr("class", i.lineclass)) : l.removeAttr("d"); }), (i.getPath = function(e, n, i, a) { var o, s, u, l, c, f = "inner", d = "outer", h = "start", p = "end", $ = r.center; switch (((s = r.radius), a)) { case f: o = s.inner; break; case d: o = s.outer; break; default: o = s.middle; } switch (((u = r.angle), i)) { case h: (l = u.start), (c = u.start + 359.99); break; case p: (l = u.end + 1), (c = u.end); break; default: (l = u.middle + 180.05), (c = u.middle + 179.95); } return t.svg.path.arc( $.x, $.y, o + Number(n || 0), l + Number(e || 0), c + Number(e || 0), 1 ); }), Object.defineProperty(i, "showlineflg", { get: function() { return "1" === e.showline ? !0 : !1; } }), Object.defineProperty(i, "halign", { get: function() { return e.halign || "middle"; } }), Object.defineProperty(i, "valign", { get: function() { return e.valign || "middle"; } }), Object.defineProperty(i, "hadjust", { get: function() { return t.util.Numeric(e.hadjust); } }), Object.defineProperty(i, "vadjust", { get: function() { return t.util.Numeric(e.vadjust); } }), Object.defineProperty(i, "type", { get: function() { return e.type; } }), Object.defineProperty(i, "linevadjust", { get: function() { return t.util.Numeric(e.linevadjust); } }), Object.defineProperty(i, "labelclass", { get: function() { return e.labelclass; } }), Object.defineProperty(i, "labelstyle", { get: function() { return e.labelstyle; } }), Object.defineProperty(i, "linestyle", { get: function() { return e.linestyle; } }), Object.defineProperty(i, "lineclass", { get: function() { return e.lineclass; } }), Object.defineProperty(i, "text", { get: function() { return e.text; } }); } ] }; } ]) .directive("svgelement", [ "SVGUtil", function() { return { restrict: "AE", template: function(t, e) { return "<" + e.type + "></" + e.type + ">"; }, type: "svg", replace: !0, transclude: !0, require: ["^plasmid"], scope: {}, link: function(t, e, n, r, i) { i(t.$parent, function(t) { e.append(t); }); } }; } ]); })(), (function() { "use strict"; angular.element(document).ready(function() { angular.bootstrap(document, ["app"]); });})();