(function(n, t, i) {
"use strict"; function y(n) { return function() { var r = arguments[0], f = "[" + (n ? n + ":": "") + r + "] ", e = arguments[1], u = arguments, o = function(n) { return typeof n == "function" ? n.toString().replace(/ \{[\s\S]*$/, "") : typeof n == "undefined" ? "undefined": typeof n != "string" ? JSON.stringify(n) : n }, t, i; for (t = f + e.replace(/\{\d+\}/g, function(n) { var i = +n.slice(1, -1), t; return i + 2 < u.length ? (t = u[i + 2], typeof t == "function") ? t.toString().replace(/ ?\{[\s\S]*$/, "") : typeof t == "undefined" ? "undefined": typeof t != "string" ? ht(t) : t: n }), t = t + "\nhttp://errors.angularjs.org/1.2.19/" + (n ? n + "/": "") + r, i = 2; i < arguments.length; i++) t = t + (i == 2 ? "?": "&") + "p" + (i - 2) + "=" + encodeURIComponent(o(arguments[i])); return new Error(t) } } function hr(n) { if (n == null || ei(n)) return ! 1; var t = n.length; return n.nodeType === 1 && t ? !0 : e(n) || s(n) || t === 0 || typeof t == "number" && t > 0 && t - 1 in n } function r(n, t, i) { var u; if (n) if (h(n)) for (u in n) u != "prototype" && u != "length" && u != "name" && (!n.hasOwnProperty || n.hasOwnProperty(u)) && t.call(i, n[u], u); else if (n.forEach && n.forEach !== r) n.forEach(t, i); else if (hr(n)) for (u = 0; u < n.length; u++) t.call(i, n[u], u); else for (u in n) n.hasOwnProperty(u) && t.call(i, n[u], u); return n } function wf(n) { var i = [], t; for (t in n) n.hasOwnProperty(t) && i.push(t); return i.sort() } function as(n, t, i) { for (var u = wf(n), r = 0; r < u.length; r++) t.call(i, n[u[r]], u[r]); return u } function bf(n) { return function(t, i) { n(i, t) } } function cr() { for (var n = ot.length, t; n;) { if (n--, t = ot[n].charCodeAt(0), t == 57) return ot[n] = "A", ot.join(""); if (t == 90) ot[n] = "0"; else return ot[n] = String.fromCharCode(t + 1), ot.join("") } return ot.unshift("0"), ot.join("") } function kf(n, t) { t ? n.$$hashKey = t: delete n.$$hashKey } function c(n) { var t = n.$$hashKey; return r(arguments, function(t) { t !== n && r(t, function(t, i) { n[i] = t }) }), kf(n, t), n } function k(n) { return parseInt(n, 10) } function df(n, t) { return c(new(c(function() {}, { prototype: n })), t) } function o() {} function fi(n) { return n } function nt(n) { return function() { return n } } function l(n) { return typeof n == "undefined" } function f(n) { return typeof n != "undefined" } function a(n) { return n != null && typeof n == "object" } function e(n) { return typeof n == "string" } function hu(n) { return typeof n == "number" } function wi(n) { return gt.call(n) === "[object Date]" } function h(n) { return typeof n == "function" } function lr(n) { return gt.call(n) === "[object RegExp]" } function ei(n) { return n && n.document && n.location && n.alert && n.setInterval } function ar(n) { return n && n.$evalAsync && n.$watch } function vs(n) { return gt.call(n) === "[object File]" } function ys(n) { return gt.call(n) === "[object Blob]" } function ps(n) { return !! (n && (n.nodeName || n.prop && n.attr && n.find)) } function ws(n, t, i) { var u = []; return r(n, function(n, r, f) { u.push(t.call(i, n, r, f)) }), u } function bs(n, t) { return bi(n, t) != -1 } function bi(n, t) { if (n.indexOf) return n.indexOf(t); for (var i = 0; i < n.length; i++) if (t === n[i]) return i; return - 1 } function ki(n, t) { var i = bi(n, t); return i >= 0 && n.splice(i, 1), t } function oi(n, t, i, u) { var h, f, e, c, o; if (ei(n) || ar(n)) throw vi("cpws", "Can't copy! Making copies of Window or Scope instances is not supported."); if (t) { if (n === t) throw vi("cpi", "Can't copy! Source and destination are identical."); if (i = i || [], u = u || [], a(n)) { if (h = bi(i, n), h !== -1) return u[h]; i.push(n), u.push(t) } if (s(n)) for (t.length = 0, e = 0; e < n.length; e++) f = oi(n[e], null, i, u), a(n[e]) && (i.push(n[e]), u.push(f)), t.push(f); else { c = t.$$hashKey, r(t, function(n, i) { delete t[i] }); for (o in n) f = oi(n[o], null, i, u), a(n[o]) && (i.push(n[o]), u.push(f)), t[o] = f; kf(t, c) } } else t = n, n && (s(n) ? t = oi(n, [], i, u) : wi(n) ? t = new Date(n.getTime()) : lr(n) ? t = new RegExp(n.source) : a(n) && (t = oi(n, {}, i, u))); return t } function st(n, t) { var r, i; if (s(n)) for (t = t || [], r = 0; r < n.length; r++) t[r] = n[r]; else if (a(n)) { t = t || {}; for (i in n) ! ou.call(n, i) || i.charAt(0) === "$" && i.charAt(1) === "$" || (t[i] = n[i]) } return t || n } function ni(n, t) { if (n === t) return ! 0; if (n === null || t === null) return ! 1; if (n !== n && t !== t) return ! 0; var f = typeof n, o = typeof t, e, r, u; if (f == o && f == "object") if (s(n)) { if (!s(t)) return ! 1; if ((e = n.length) == t.length) { for (r = 0; r < e; r++) if (!ni(n[r], t[r])) return ! 1; return ! 0 } } else { if (wi(n)) return wi(t) && n.getTime() == t.getTime(); if (lr(n) && lr(t)) return n.toString() == t.toString(); if (ar(n) || ar(t) || ei(n) || ei(t) || s(t)) return ! 1; u = {}; for (r in n) if (r.charAt(0) !== "$" && !h(n[r])) { if (!ni(n[r], t[r])) return ! 1; u[r] = !0 } for (r in t) if (!u.hasOwnProperty(r) && r.charAt(0) !== "$" && t[r] !== i && !h(t[r])) return ! 1; return ! 0 } return ! 1 } function gf() { return t.securityPolicy && t.securityPolicy.isActive || t.querySelector && !!(t.querySelector("[ng-csp]") || t.querySelector("[data-ng-csp]")) } function cu(n, t, i) { return n.concat(su.call(t, i)) } function lu(n, t) { return su.call(n, t || 0) } function au(n, t) { var i = arguments.length > 2 ? lu(arguments, 2) : []; return ! h(t) || t instanceof RegExp ? t: i.length ? function() { return arguments.length ? t.apply(n, i.concat(su.call(arguments, 0))) : t.apply(n, i) }: function() { return arguments.length ? t.apply(n, arguments) : t.call(n) } } function ks(n, r) { var u = r; return typeof n == "string" && n.charAt(0) === "$" ? u = i: ei(r) ? u = "$WINDOW": r && t === r ? u = "$DOCUMENT": ar(r) && (u = "$SCOPE"), u } function ht(n, t) { return typeof n == "undefined" ? i: JSON.stringify(n, ks, t ? " ": null) } function ne(n) { return e(n) ? JSON.parse(n) : n } function di(n) { if (typeof n == "function") n = !0; else if (n && n.length !== 0) { var t = v("" + n); n = !(t == "f" || t == "0" || t == "false" || t == "no" || t == "n" || t == "[]") } else n = !1; return n } function et(n) { n = u(n).clone(); try { n.empty() } catch(i) {}var t = u("
").append(n).html();
try { return n[0].nodeType === 3 ? v(t) : t.match(/^(<[^>]+>)/)[1].replace(/^<([\w\-]+)/, function(n, t) { return "<" + v(t) }) } catch(i) { return v(t) } } function te(n) { try { return decodeURIComponent(n) } catch(t) {} } function ie(n) { var i = {}, u, t; return r((n || "").split("&"), function(n) { if (n && (u = n.split("="), t = te(u[0]), f(t))) { var r = f(u[1]) ? te(u[1]) : !0; i[t] ? s(i[t]) ? i[t].push(r) : i[t] = [i[t], r] : i[t] = r } }), i } function vu(n) { var t = []; return r(n, function(n, i) { s(n) ? r(n, function(n) { t.push(ti(i, !0) + (n === !0 ? "": "=" + ti(n, !0))) }) : t.push(ti(i, !0) + (n === !0 ? "": "=" + ti(n, !0))) }), t.length ? t.join("&") : "" } function vr(n) { return ti(n, !0).replace(/%26/gi, "&").replace(/%3D/gi, "=").replace(/%2B/gi, "+") } function ti(n, t) { return encodeURIComponent(n).replace(/%40/gi, "@").replace(/%3A/gi, ":").replace(/%24/g, "$").replace(/%2C/gi, ",").replace(/%20/g, t ? "%20": "+") } function ds(n, i) { function e(n) { n && s.push(n) } var s = [n], u, f, o = ["ng:app", "ng-app", "x-ng-app", "data-ng-app"], h = /\sng[:\-]app(:\s*([\w\d_]+);?)?\s/; r(o, function(i) { o[i] = !0, e(t.getElementById(i)), i = i.replace(":", "\\:"), n.querySelectorAll && (r(n.querySelectorAll("." + i), e), r(n.querySelectorAll("." + i + "\\:"), e), r(n.querySelectorAll("[" + i + "]"), e)) }), r(s, function(n) { if (!u) { var i = " " + n.className + " ", t = h.exec(i); t ? (u = n, f = (t[2] || "").replace(/\s+/g, ",")) : r(n.attributes, function(t) { ! u && o[t.name] && (u = n, f = t.value) }) } }), u && i(u, f ? [f] : []) } function re(i, f) { var e = function() { var r, n; if (i = u(i), i.injector()) { r = i[0] === t ? "document": et(i); throw vi("btstrpd", "App Already Bootstrapped with this Element '{0}'", r); } return f = f || [], f.unshift(["$provide", function(n) { n.value("$rootElement", i) }]), f.unshift("ng"), n = ye(f), n.invoke(["$rootScope", "$rootElement", "$compile", "$injector", "$animate", function(n, t, i, r) { n.$apply(function() { t.data("$injector", r), i(t)(n) }) }]), n }, o = /^NG_DEFER_BOOTSTRAP!/; if (n && !o.test(n.name)) return e(); n.name = n.name.replace(o, ""), yi.resumeBootstrap = function(n) { r(n, function(n) { f.push(n) }), e() } } function yr(n, t) { return t = t || "_", n.replace(ue, function(n, i) { return (i ? t: "") + n.toLowerCase() }) } function gs() { yt = n.jQuery, yt && yt.fn.on ? (u = yt, c(yt.fn, { scope: ri.scope, isolateScope: ri.isolateScope, controller: ri.controller, injector: ri.injector, inheritedData: ri.inheritedData }), bu("remove", !0, !0, !1), bu("empty", !1, !1, !1), bu("html", !1, !1, !0)) : u = w, yi.element = u } function yu(n, t, i) { if (!n) throw vi("areq", "Argument '{0}' is {1}", t || "?", i || "required"); return n } function gi(n, t, i) { return i && s(n) && (n = n[n.length - 1]), yu(h(n), t, "not a function, got " + (n && typeof n == "object" ? n.constructor.name || "Object": typeof n)), n } function ii(n, t) { if (n === "hasOwnProperty") throw vi("badname", "hasOwnProperty is not a valid {0} name", t); } function fe(n, t, i) { var r; if (!t) return n; var u = t.split("."), f, e = n, o = u.length; for (r = 0; r < o; r++) f = u[r], n && (n = (e = n)[f]); return ! i && h(n) ? au(e, n) : n } function pu(n) { var i = n[0], f = n[n.length - 1], t, r; if (i === f) return u(i); t = i, r = [t]; do { if (t = t.nextSibling, !t) break; r.push(t) } while ( t !== f ); return u(r) } function nh(n) { function t(n, t, i) { return n[t] || (n[t] = i()) } var r = y("$injector"), u = y("ng"), i = t(n, "angular", Object); return i.$$minErr = i.$$minErr || y, t(i, "module", function() { var n = {}; return function(i, f, e) { var o = function(n, t) { if (n === "hasOwnProperty") throw u("badname", "hasOwnProperty is not a valid {0} name", t); }; return o(i, "module"), f && n.hasOwnProperty(i) && (n[i] = null), t(n, i, function() { function n(n, i, r) { return function() { return t[r || "push"]([n, i, arguments]), s } } if (!f) throw r("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.", i); var t = [], u = [], o = n("$injector", "invoke"), s = { _invokeQueue: t, _runBlocks: u, requires: f, name: i, provider: n("$provide", "provider"), factory: n("$provide", "factory"), service: n("$provide", "service"), value: n("$provide", "value"), constant: n("$provide", "constant", "unshift"), animation: n("$animateProvider", "register"), filter: n("$filterProvider", "register"), controller: n("$controllerProvider", "register"), directive: n("$compileProvider", "directive"), config: o, run: function(n) { return u.push(n), this } }; return e && o(e), s }) } }) } function th(t) { c(t, { bootstrap: re, copy: oi, extend: c, equals: ni, element: u, forEach: r, injector: ye, noop: o, bind: au, toJson: ht, fromJson: ne, identity: fi, isUndefined: l, isDefined: f, isString: e, isFunction: h, isObject: a, isNumber: hu, isElement: ps, isArray: s, version: ee, isDate: wi, lowercase: v, uppercase: dt, callbacks: { counter: 0 }, $$minErr: y, $$csp: gf }), pi = nh(n); try { pi("ngLocale") } catch(i) { pi("ngLocale", []).provider("$locale", ac) } pi("ng", ["ngLocale"], ["$provide", function(n) { n.provider({ $$sanitizeUri: sl }), n.provider("$compile", be).directive({ a: go, input: fs, textarea: fs, form: ra, script: ny, select: ry, style: fy, option: uy, ngBind: ga, ngBindHtml: tv, ngBindTemplate: nv, ngClass: iv, ngClassEven: uv, ngClassOdd: rv, ngCloak: fv, ngController: ev, ngForm: ua, ngHide: pv, ngIf: ov, ngInclude: sv, ngInit: cv, ngNonBindable: lv, ngPluralize: av, ngRepeat: vv, ngShow: yv, ngStyle: wv, ngSwitch: bv, ngSwitchWhen: kv, ngSwitchDefault: dv, ngOptions: iy, ngTransclude: gv, ngModel: pa, ngList: ba, ngChange: wa, required: es, ngRequired: es, ngValue: da }).directive({ ngInclude: hv }).directive(iu).directive(os), n.provider({ $anchorScroll: kh, $animate: we, $browser: nc, $cacheFactory: tc, $controller: rc, $document: uc, $exceptionHandler: fc, $filter: lo, $interpolate: cc, $interval: lc, $http: ec, $httpBackend: sc, $location: wc, $log: bc, $parse: rl, $rootScope: ol, $q: ul, $sce: al, $sceDelegate: ll, $sniffer: vl, $templateCache: ic, $timeout: yl, $window: pl, $$rAF: el, $$asyncCallback: dh }) }]) } function rh() { return++ih } function ir(n) { return n.replace(uh, function(n, t, i, r) { return r ? i.toUpperCase() : i }).replace(fh, "Moz$1") } function bu(n, t, i, r) { function e(n) { var s = i && n ? [this.filter(n)] : [this], h = t, c, e, a, l, o, v, y; if (!r || n != null) while (s.length) for (c = s.shift(), e = 0, a = c.length; e < a; e++) for (l = u(c[e]), h ? l.triggerHandler("$destroy") : h = !h, o = 0, v = (y = l.children()).length; o < v; o++) s.push(yt(y[o])); return f.apply(this, arguments) } var f = yt.fn[n]; f = f.$original || f, e.$original = f, yt.fn[n] = e } function ku(n) { return ! oh.test(n) } function ch(n, t) { var i, o, r, u = t.createDocumentFragment(), e = [], s, f, h; if (ku(n)) e.push(t.createTextNode(n)); else {for (i = u.appendChild(t.createElement("div")), o = (sh.exec(n) || ["", ""])[1].toLowerCase(), r = rt[o] || rt._default, i.innerHTML = "
<\/div>" + r[1] + n.replace(hh, "<$1><\/$2>") + r[2], i.removeChild(i.firstChild), s = r[0]; s--;) i = i.lastChild;
", "<\/table>"],
col: [2, "<colgroup>", "<\/colgroup><\/table>"],
tr: [2, "<tbody>", "<\/tbody><\/table>"],
td: [3, "<tbody>
for (f = 0, h = i.childNodes.length; f < h; ++f) e.push(i.childNodes[f]);
i = u.firstChild,
i.textContent = ""
}
return u.textContent = "",
u.innerHTML = "",
e
}
function lh(n, i) {
i = i || t;
var r;
return (r = eh.exec(n)) ? [i.createElement(r[1])] : ch(n, i)
}
function w(n) {
if (n instanceof w) return n;
if (e(n) && (n = g(n)), !(this instanceof w)) {
if (e(n) && n.charAt(0) != "<") throw wu("nosel", "Looking up elements via selectors is not supported by jqLite! See: http://docs.angularjs.org/api/angular.element");
return new w(n)
}
if (e(n)) {
nf(this, lh(n));
var i = u(t.createDocumentFragment());
i.append(this)
} else nf(this, n)
}
function du(n) {
return n.cloneNode(!0)
}
function si(n) {
se(n);
for (var t = 0,
i = n.childNodes || []; t < i.length; t++) si(i[t])
}
function oe(n, t, i, u) {
if (f(u)) throw wu("offargs", "jqLite#off() does not support the `selector` argument");
var e = ct(n, "events"),
o = ct(n, "handle");
o && (l(t) ? r(e,
function(t, i) {
tr(n, i, t),
delete e[i]
}) : r(t.split(" "),
function(t) {
l(i) ? (tr(n, t, e[t]), delete e[t]) : ki(e[t] || [], i)
}))
}
function se(n, t) {
var u = n.ng339,
r = nr[u];
if (r) {
if (t) {
delete nr[u].data[t];
return
}
r.handle && (r.events.$destroy && r.handle({},
"$destroy"), oe(n)),
delete nr[u],
n.ng339 = i
}
}
function ct(n, t, i) {
var u = n.ng339,
r = nr[u || -1];
if (f(i)) r || (n.ng339 = u = rh(), r = nr[u] = {}),
r[t] = i;
else return r && r[t]
}
function he(n, t, i) {
var r = ct(n, "data"),
u = f(i),
e = !u && f(t),
o = e && !a(t);
if (r || o || ct(n, "data", r = {}), u) r[t] = i;
else if (e) {
if (o) return r && r[t];
c(r, t)
} else return r
}
function gu(n, t) {
return n.getAttribute ? (" " + (n.getAttribute("class") || "") + " ").replace(/[\n\t]/g, " ").indexOf(" " + t + " ") > -1 : !1
}
function wr(n, t) {
t && n.setAttribute && r(t.split(" "),
function(t) {
n.setAttribute("class", g((" " + (n.getAttribute("class") || "") + " ").replace(/[\n\t]/g, " ").replace(" " + g(t) + " ", " ")))
})
}
function br(n, t) {
if (t && n.setAttribute) {
var i = (" " + (n.getAttribute("class") || "") + " ").replace(/[\n\t]/g, " ");
r(t.split(" "),
function(n) {
n = g(n),
i.indexOf(" " + n + " ") === -1 && (i += n + " ")
}),
n.setAttribute("class", g(i))
}
}
function nf(n, t) {
if (t) {
t = !t.nodeName && f(t.length) && !ei(t) ? t: [t];
for (var i = 0; i < t.length; i++) n.push(t[i])
}
}
function ce(n, t) {
return kr(n, "$" + (t || "ngController") + "Controller")
}
function kr(n, t, r) {
var o, f, e, h;
for (n = u(n), n[0].nodeType == 9 && (n = n.find("html")), o = s(t) ? t: [t]; n.length;) {
for (f = n[0], e = 0, h = o.length; e < h; e++) if ((r = n.data(o[e])) !== i) return r;
n = u(f.parentNode || f.nodeType === 11 && f.host)
}
}
function le(n) {
for (var t = 0,
i = n.childNodes; t < i.length; t++) si(i[t]);
while (n.firstChild) n.removeChild(n.firstChild)
}
function ae(n, t) {
var i = rr[t.toLowerCase()];
return i && tf[n.nodeName] && i
}
function ah(n, i) {
var u = function(u, f) {
var e, o;
u.preventDefault || (u.preventDefault = function() {
u.returnValue = !1
}),
u.stopPropagation || (u.stopPropagation = function() {
u.cancelBubble = !0
}),
u.target || (u.target = u.srcElement || t),
l(u.defaultPrevented) && (e = u.preventDefault, u.preventDefault = function() {
u.defaultPrevented = !0,
e.call(u)
},
u.defaultPrevented = !1),
u.isDefaultPrevented = function() {
return u.defaultPrevented || u.returnValue === !1
},
o = st(i[f || u.type] || []),
r(o,
function(t) {
t.call(n, u)
}),
p <= 8 ? (u.preventDefault = null, u.stopPropagation = null, u.isDefaultPrevented = null) : (delete u.preventDefault, delete u.stopPropagation, delete u.isDefaultPrevented)
};
return u.elem = n,
u
}
function hi(n, t) {
var u = typeof n,
r;
return u == "function" || u == "object" && n !== null ? typeof(r = n.$$hashKey) == "function" ? r = n.$$hashKey() : r === i && (r = n.$$hashKey = (t || cr)()) : r = n,
u + ":" + r
}
function ur(n, t) {
if (t) {
var i = 0;
this.nextUid = function() {
return++i
}
}
r(n, this.put, this)
}
function ve(n) {
var t, u, f, i;
return typeof n == "function" ? (t = n.$inject) || (t = [], n.length && (u = n.toString().replace(bh, ""), f = u.match(yh), r(f[1].split(ph),
function(n) {
n.replace(wh,
function(n, i, r) {
t.push(r)
})
})), n.$inject = t) : s(n) ? (i = n.length - 1, gi(n[i], "fn"), t = n.slice(0, i)) : gi(n, "fn", !0),
t
}
function ye(n) {
function f(n) {
return function(t, i) {
if (a(t)) r(t, bf(n));
else return n(t, i)
}
}
function b(n, r) {
if (ii(n, "service"), (h(r) || s(r)) && (r = t.instantiate(r)), !r.$get) throw fr("pget", "Provider '{0}' must define $get factory method.", n);
return i[n + c] = r
}
function p(n, t) {
return b(n, {
$get: t
})
}
function g(n, t) {
return p(n, ["$injector",
function(n) {
return n.instantiate(t)
}])
}
function tt(n, t) {
return p(n, nt(t))
}
function it(n, t) {
ii(n, "constant"),
i[n] = t,
y[n] = t
}
function rt(n, i) {
var r = t.get(n + c),
f = r.$get;
r.$get = function() {
var n = u.invoke(f, r);
return u.invoke(i, null, {
$delegate: n
})
}
}
function k(n) {
var i = [],
u,
o,
f,
c;
return r(n,
function(n) {
if (!w.get(n)) {
w.put(n, !0);
try {
if (e(n)) for (u = pi(n), i = i.concat(k(u.requires)).concat(u._runBlocks), o = u._invokeQueue, f = 0, c = o.length; f < c; f++) {
var l = o[f],
a = t.get(l[0]);
a[l[1]].apply(a, l[2])
} else h(n) ? i.push(t.invoke(n)) : s(n) ? i.push(t.invoke(n)) : gi(n, "module")
} catch(r) {
s(n) && (n = n[n.length - 1]),
r.message && r.stack && r.stack.indexOf(r.message) == -1 && (r = r.message + "\n" + r.stack);
throw fr("modulerr", "Failed to instantiate module {0} due to:\n{1}", n, r.stack || r.message || r);
}
}
}),
i
}
function d(n, t) {
function r(i) {
if (n.hasOwnProperty(i)) {
if (n[i] === v) throw fr("cdep", "Circular dependency found: {0}", i + " <- " + l.join(" <- "));
return n[i]
}
try {
return l.unshift(i),
n[i] = v,
n[i] = t(i)
} catch(r) {
n[i] === v && delete n[i];
throw r;
} finally {
l.shift()
}
}
function u(n, t, i) {
for (var o = [], h = ve(n), u, f = 0, e = h.length; f < e; f++) {
if (u = h[f], typeof u != "string") throw fr("itkn", "Incorrect injection token! Expected service name as string, got {0}", u);
o.push(i && i.hasOwnProperty(u) ? i[u] : r(u))
}
return s(n) && (n = n[e]),
n.apply(t, o)
}
function f(n, t) {
var f = function() {},
r,
i;
return f.prototype = (s(n) ? n[n.length - 1] : n).prototype,
r = new f,
i = u(n, r, t),
a(i) || h(i) ? i: r
}
return {
invoke: u,
instantiate: f,
get: r,
annotate: ve,
has: function(t) {
return i.hasOwnProperty(t + c) || n.hasOwnProperty(t)
}
}
}
var v = {},
c = "Provider",
l = [],
w = new ur([], !0),
i = {
$provide: {
provider: f(b),
factory: f(p),
service: f(g),
value: f(tt),
constant: f(it),
decorator: rt
}
},
t = i.$injector = d(i,
function() {
throw fr("unpr", "Unknown provider: {0}", l.join(" <- "));
}),
y = {},
u = y.$injector = d(y,
function(n) {
var i = t.get(n + c);
return u.invoke(i.$get, i)
});
return r(k(n),
function(n) {
u.invoke(n || o)
}),
u
}
function kh() {
var n = !0;
this.disableAutoScrolling = function() {
n = !1
},
this.$get = ["$window", "$location", "$rootScope",
function(t, i, u) {
function o(n) {
var t = null;
return r(n,
function(n) {
t || v(n.nodeName) !== "a" || (t = n)
}),
t
}
function e() {
var n = i.hash(),
r;
n ? (r = f.getElementById(n)) ? r.scrollIntoView() : (r = o(f.getElementsByName(n))) ? r.scrollIntoView() : n === "top" && t.scrollTo(0, 0) : t.scrollTo(0, 0)
}
var f = t.document;
return n && u.$watch(function() {
return i.hash()
},
function() {
u.$evalAsync(e)
}),
e
}]
}
function dh() {
this.$get = ["$$rAF", "$timeout",
function(n, t) {
return n.supported ?
function(t) {
return n(t)
}: function(n) {
return t(n, 0, !1)
}
}]
}
function gh(n, t, f, s) {
function g(n) {
try {
n.apply(null, lu(arguments, 1))
} finally {
if (a--, a === 0) while (w.length) try {
w.pop()()
} catch(t) {
f.error(t)
}
}
}
function ct(n, t) { (function i() {
r(b,
function(n) {
n()
}),
ot = t(i, n)
})()
}
function ut() { (tt = null, k != h.url()) && (k = h.url(), r(it,
function(n) {
n(h.url())
}))
}
var h = this,
v = t[0],
c = n.location,
y = n.history,
et = n.setTimeout,
ht = n.clearTimeout,
p = {},
a,
w,
b,
ot,
it,
rt;
h.isMock = !1,
a = 0,
w = [],
h.$$completeOutstandingRequest = g,
h.$$incOutstandingRequestCount = function() {
a++
},
h.notifyWhenNoOutstandingRequests = function(n) {
r(b,
function(n) {
n()
}),
a === 0 ? n() : w.push(n)
},
b = [],
h.addPollFn = function(n) {
return l(ot) && ct(100, et),
b.push(n),
n
};
var k = c.href,
nt = t.find("base"),
tt = null;
h.url = function(t, i) {
return c !== n.location && (c = n.location),
y !== n.history && (y = n.history),
t ? k == t ? void 0 : (k = t, s.history ? i ? y.replaceState(null, "", t) : (y.pushState(null, "", t), nt.attr("href", nt.attr("href"))) : (tt = t, i ? c.replace(t) : c.href = t), h) : tt || c.href.replace(/%27/g, "'")
},
it = [],
rt = !1,
h.onUrlChange = function(t) {
if (!rt) {
if (s.history) u(n).on("popstate", ut);
if (s.hashchange) u(n).on("hashchange", ut);
else h.addPollFn(ut);
rt = !0
}
return it.push(t),
t
},
h.baseHref = function() {
var n = nt.attr("href");
return n ? n.replace(/^(https?\:)?\/\/[^\/]*/, "") : ""
};
var d = {},
ft = "",
st = h.baseHref();
h.cookies = function(n, t) {
var s, h, r, u, o;
if (n) t === i ? v.cookie = escape(n) + "=;path=" + st + ";expires=Thu, 01 Jan 1970 00:00:00 GMT": e(t) && (s = (v.cookie = escape(n) + "=" + escape(t) + ";path=" + st).length + 1, s > 4096 && f.warn("Cookie '" + n + "' possibly not set or overflowed because it was too large (" + s + " > 4096 bytes)!"));
else {
if (v.cookie !== ft) for (ft = v.cookie, h = ft.split("; "), d = {},
u = 0; u < h.length; u++) r = h[u],
o = r.indexOf("="),
o > 0 && (n = unescape(r.substring(0, o)), d[n] === i && (d[n] = unescape(r.substring(o + 1))));
return d
}
},
h.defer = function(n, t) {
var i;
return a++,
i = et(function() {
delete p[i],
g(n)
},
t || 0),
p[i] = !0,
i
},
h.defer.cancel = function(n) {
return p[n] ? (delete p[n], ht(n), g(o), !0) : !1
}
}
function nc() {
this.$get = ["$window", "$log", "$sniffer", "$document",
function(n, t, i, r) {
return new gh(n, r, t, i)
}]
}
function tc() {
this.$get = function() {
function t(t, i) {
function v(n) {
n != f && (r ? r == n && (r = n.n) : r = n, h(n.n, n.p), h(n, f), f = n, f.n = null)
}
function h(n, t) {
n != t && (n && (n.p = t), t && (t.n = n))
}
if (t in n) throw y("$cacheFactory")("iid", "CacheId '{0}' is already taken!", t);
var o = 0,
a = c({},
i, {
id: t
}),
e = {},
s = i && i.capacity || Number.MAX_VALUE,
u = {},
f = null,
r = null;
return n[t] = {
put: function(n, t) {
if (s < Number.MAX_VALUE) {
var i = u[n] || (u[n] = {
key: n
});
v(i)
}
if (!l(t)) return n in e || o++,
e[n] = t,
o > s && this.remove(r.key),
t
},
get: function(n) {
if (s < Number.MAX_VALUE) {
var t = u[n];
if (!t) return;
v(t)
}
return e[n]
},
remove: function(n) {
if (s < Number.MAX_VALUE) {
var t = u[n];
if (!t) return;
t == f && (f = t.p),
t == r && (r = t.n),
h(t.n, t.p),
delete u[n]
}
delete e[n],
o--
},
removeAll: function() {
e = {},
o = 0,
u = {},
f = r = null
},
destroy: function() {
e = null,
a = null,
u = null,
delete n[t]
},
info: function() {
return c({},
a, {
size: o
})
}
}
}
var n = {};
return t.info = function() {
var t = {};
return r(n,
function(n, i) {
t[i] = n.info()
}),
t
},
t.get = function(t) {
return n[t]
},
t
}
}
function ic() {
this.$get = ["$cacheFactory",
function(n) {
return n("templates")
}]
}
function be(n, o) {
var l = {},
v = "Directive",
y = /^\s*directive\:\s*([\d\w_\-]+)\s+(.*)$/,
w = /(([\d\w_\-]+)(?:\:([^;]+))?;?)/,
b = /^(on[a-z]+|formaction)$/;
this.directive = function k(t, i) {
return ii(t, "directive"),
e(t) ? (yu(i, "directiveFactory"), l.hasOwnProperty(t) || (l[t] = [], n.factory(t + v, ["$injector", "$exceptionHandler",
function(n, i) {
var u = [];
return r(l[t],
function(r, f) {
try {
var e = n.invoke(r);
h(e) ? e = {
compile: nt(e)
}: !e.compile && e.link && (e.compile = nt(e.link)),
e.priority = e.priority || 0,
e.index = f,
e.name = e.name || t,
e.require = e.require || e.controller && e.name,
e.restrict = e.restrict || "A",
u.push(e)
} catch(o) {
i(o)
}
}),
u
}])), l[t].push(i)) : r(t, bf(k)),
this
},
this.aHrefSanitizationWhitelist = function(n) {
return f(n) ? (o.aHrefSanitizationWhitelist(n), this) : o.aHrefSanitizationWhitelist()
},
this.imgSrcSanitizationWhitelist = function(n) {
return f(n) ? (o.imgSrcSanitizationWhitelist(n), this) : o.imgSrcSanitizationWhitelist()
},
this.$get = ["$injector", "$interpolate", "$exceptionHandler", "$http", "$templateCache", "$parse", "$controller", "$rootScope", "$document", "$sce", "$animate", "$$sanitizeUri",
function(n, f, o, k, d, nt, tt, it, rt, ft, ot, ht) {
function bt(n, t, i, f, e) {
n instanceof u || (n = u(n)),
r(n,
function(t, i) {
t.nodeType == 3 && t.nodeValue.match(/\S+/) && (n[i] = t = u(t).wrap("<\/span>").parent()[0])
});
var o = kt(n, t, n, i, f, e);
return ct(n, "ng-scope"),
function(t, i, u, f) {
var e, s, c, l, h;
for (yu(t, "scope"), e = i ? ri.clone.call(n) : n, r(u,
function(n, t) {
e.data("$" + t + "Controller", n)
}), s = 0, c = e.length; s < c; s++) l = e[s],
h = l.nodeType,
(h === 1 || h === 9) && e.eq(s).data("$scope", t);
return i && i(e, t),
o && o(t, e, e, f),
e
}
}
function ct(n, t) {
try {
n.addClass(t)
} catch(i) {}
}
function kt(n, t, r, f, e, o) {
function w(n, r, f, e) {
for (var s, h, l, y, a, p, v, w, b = r.length,
k = new Array(b), o = 0; o < b; o++) k[o] = r[o];
for (o = 0, v = 0, p = c.length; o < p; v++) l = k[v],
s = c[o++],
h = c[o++],
y = u(l),
s ? (s.scope ? (a = n.$new(), y.data("$scope", a)) : a = n, w = s.transcludeOnThisElement ? vt(n, s.transclude, e) : !s.templateOnThisElement && e ? e: !e && t ? vt(n, t) : null, s(h, a, l, f, w)) : h && h(n, l.childNodes, i, e)
}
for (var c = [], l, a, s, v, y, p, h = 0; h < n.length; h++) l = new wt,
a = dt(n[h], [], l, h === 0 ? f: i, e),
s = a.length ? si(a, n[h], l, t, r, null, [], [], o) : null,
s && s.scope && ct(u(n[h]), "ng-scope"),
y = s && s.terminal || !(v = n[h].childNodes) || !v.length ? null: kt(v, s ? (s.transcludeOnThisElement || !s.templateOnThisElement) && s.transclude: t),
c.push(s, y),
p = p || s || y,
o = null;
return p ? w: null
}
function vt(n, t, i) {
return function(r, u, f) {
var o = !1,
e;
if (r || (r = n.$new(), r.$$transcluded = !0, o = !0), e = t(r, u, f, i), o) e.on("$destroy",
function() {
r.$destroy()
});
return e
}
}
function dt(n, t, i, r, u) {
var it = n.nodeType,
rt = i.$attr,
s, h, k, d, tt;
switch (it) {
case 1:
yt(t, lt(ui(n).toLowerCase()), "E", r, u);
for (var l, o, f, c, a, nt, v = n.attributes,
b = 0,
ut = v && v.length; b < ut; b++) k = !1,
d = !1,
l = v[b],
(!p || p >= 8 || l.specified) && (o = l.name, a = g(l.value), c = lt(o), (nt = ai.test(c)) && (o = yr(c.substr(6), "-")), tt = c.replace(/(Start|End)$/, ""), c === tt + "Start" && (k = o, d = o.substr(0, o.length - 5) + "end", o = o.substr(0, o.length - 6)), f = lt(o.toLowerCase()), rt[f] = o, (nt || !i.hasOwnProperty(f)) && (i[f] = a, ae(n, f) && (i[f] = !0)), bi(n, t, a, f), yt(t, f, "A", r, u, k, d));
if (h = n.className, e(h) && h !== "") while (s = w.exec(h)) f = lt(s[2]),
yt(t, f, "C", r, u) && (i[f] = g(s[3])),
h = h.substr(s.index + s[0].length);
break;
case 3:
pi(t, n.nodeValue);
break;
case 8:
try {
s = y.exec(n.nodeValue),
s && (f = lt(s[1]), yt(t, f, "M", r, u) && (i[f] = g(s[2])))
} catch(ft) {}
}
return t.sort(yi),
t
}
function gt(n, t, i) {
var r = [],
f = 0,
e;
if (t && n.hasAttribute && n.hasAttribute(t)) {
e = n;
do {
if (!n) throw ut("uterdir", "Unterminated attribute, found '{0}' but no matching '{1}' found.", t, i);
n.nodeType == 1 && (n.hasAttribute(t) && f++, n.hasAttribute(i) && f--), r.push(n), n = n.nextSibling
} while ( f > 0 )
} else r.push(n);
return u(r)
}
function oi(n, t, i) {
return function(r, u, f, e, o) {
return u = gt(u[0], t, i),
n(r, u, f, e, o)
}
}
function si(n, c, l, v, y, p, w, b, k) {
function tr(n, t, i, r) {
n && (i && (n = oi(n, i, r)), n.require = d.require, n.directiveName = ot, (it === d || d.$$isolateScope) && (n = li(n, {
isolateScope: !0
})), w.push(n)),
t && (i && (t = oi(t, i, r)), t.require = d.require, t.directiveName = ot, (it === d || d.$$isolateScope) && (t = li(t, {
isolateScope: !0
})), b.push(t))
}
function di(n, t, i, u) {
var f, o = "data",
h = !1;
if (e(t)) {
while ((f = t.charAt(0)) == "^" || f == "?") t = t.substr(1),
f == "^" && (o = "inheritedData"),
h = h || f == "?";
if (f = null, u && o === "data" && (f = u[t]), f = f || i[o]("$" + t + "Controller"), !f && !h) throw ut("ctreq", "Controller '{0}', required by directive '{1}', can't be found!", t, n);
return f
}
return s(t) && (f = [], r(t,
function(t) {
f.push(di(n, t, i, u))
})),
f
}
function kt(n, t, e, s, h) {
function pt(n, t) {
var r;
return arguments.length < 2 && (t = n, n = i),
yi && (r = g),
h(n, t, r)
}
var v, p, k, ht, y, d, a, g = {},
rt, at, ft, ot;
for (v = c === e ? l: st(l, new wt(u(e), l.$attr)), p = v.$$element, it && (at = /^\s*([@=&])(\??)\s*(\w*)\s*$/, ft = u(e), a = t.$new(!0), lt && (lt === it || lt === it.$$originalDirective) ? ft.data("$isolateScope", a) : ft.data("$isolateScopeNoTemplate", a), ct(ft, "ng-isolate-scope"), r(it.scope,
function(n, i) {
var o = n.match(at) || [],
r = o[3] || i,
l = o[2] == "?",
h = o[1],
e,
u,
c,
s;
a.$$isolateBindings[i] = h + r;
switch (h) {
case "@":
v.$observe(r,
function(n) {
a[i] = n
}),
v.$$observers[r].$$scope = t,
v[r] && (a[i] = f(v[r])(t));
break;
case "=":
if (l && !v[r]) return;
u = nt(v[r]),
s = u.literal ? ni: function(n, t) {
return n === t
},
c = u.assign ||
function() {
e = a[i] = u(t);
throw ut("nonassign", "Expression '{0}' used with directive '{1}' is non-assignable!", v[r], it.name);
},
e = a[i] = u(t),
a.$watch(function() {
var n = u(t);
return s(n, a[i]) || (s(n, e) ? c(t, n = a[i]) : a[i] = n),
e = n
},
null, u.literal);
break;
case "&":
u = nt(v[r]),
a[i] = function(n) {
return u(t, n)
};
break;
default:
throw ut("iscp", "Invalid isolate scope definition for directive '{0}'. Definition: {... {1}: '{2}' ...}", it.name, i, n);
}
})), rt = h && pt, yt && r(yt,
function(n) {
var r = {
$scope: n === it || n.$$isolateScope ? a: t,
$element: p,
$attrs: v,
$transclude: rt
},
i;
d = n.controller,
d == "@" && (d = v[n.name]),
i = tt(d, r),
g[n.name] = i,
yi || p.data("$" + n.name + "Controller", i),
n.controllerAs && (r.$scope[n.controllerAs] = i)
}), k = 0, ht = w.length; k < ht; k++) try {
y = w[k],
y(y.isolateScope ? a: t, p, v, y.require && di(y.directiveName, y.require, p, g), rt)
} catch(vt) {
o(vt, et(p))
}
for (ot = t, it && (it.template || it.templateUrl === null) && (ot = a), n && n(ot, e.childNodes, i, h), k = b.length - 1; k >= 0; k--) try {
y = b[k],
y(y.isolateScope ? a: t, p, v, y.require && di(y.directiveName, y.require, p, g), rt)
} catch(vt) {
o(vt, et(p))
}
}
var vt, wi, ii, fi;
k = k || {};
var ri = -Number.MAX_VALUE,
si, yt = k.controllerDirectives,
it = k.newIsolateScopeDirective,
lt = k.templateDirective,
ai = k.nonTlbTranscludeDirective,
bi = !1,
ki = !1,
yi = k.hasElementTranscludeDirective,
rt = l.$$element = u(c),
d,
ot,
ht,
pi = p,
ui = v,
ti,
ft;
for (vt = 0, wi = n.length; vt < wi; vt++) {
if (d = n[vt], ii = d.$$start, fi = d.$$end, ii && (rt = gt(c, ii, fi)), ht = i, ri > d.priority) break;
if ((ft = d.scope) && (si = si || d, d.templateUrl || (at("new/isolated scope", it, d, rt), a(ft) && (it = d))), ot = d.name, !d.templateUrl && d.controller && (ft = d.controller, yt = yt || {},
at("'" + ot + "' controller", yt[ot], d, rt), yt[ot] = d), (ft = d.transclude) && (bi = !0, d.$$tlb || (at("transclusion", ai, d, rt), ai = d), ft == "element" ? (yi = !0, ri = d.priority, ht = gt(c, ii, fi), rt = l.$$element = u(t.createComment(" " + ot + ": " + l[ot] + " ")), c = rt[0], pt(y, u(lu(ht)), c), ui = bt(ht, v, ri, pi && pi.name, {
nonTlbTranscludeDirective: ai
})) : (ht = u(du(c)).contents(), rt.empty(), ui = bt(ht, v))), d.template) if (ki = !0, at("template", lt, d, rt), lt = d, ft = h(d.template) ? d.template(rt, l) : d.template, ft = ei(ft), d.replace) {
if (pi = d, ht = ku(ft) ? [] : u(g(ft)), c = ht[0], ht.length != 1 || c.nodeType !== 1) throw ut("tplrt", "Template for directive '{0}' must have exactly one root element. {1}", ot, "");
pt(y, rt, c);
var gi = {
$attr: {}
},
nr = dt(c, [], gi),
ir = n.splice(vt + 1, n.length - (vt + 1));
it && hi(nr),
n = n.concat(nr).concat(ir),
ci(l, gi),
wi = n.length
} else rt.html(ft);
if (d.templateUrl) ki = !0,
at("template", lt, d, rt),
lt = d,
d.replace && (pi = d),
kt = vi(n.splice(vt, n.length - vt), rt, l, y, bi && ui, w, b, {
controllerDirectives: yt,
newIsolateScopeDirective: it,
templateDirective: lt,
nonTlbTranscludeDirective: ai
}),
wi = n.length;
else if (d.compile) try {
ti = d.compile(rt, l, ui),
h(ti) ? tr(null, ti, ii, fi) : ti && tr(ti.pre, ti.post, ii, fi)
} catch(rr) {
o(rr, et(rt))
}
d.terminal && (kt.terminal = !0, ri = Math.max(ri, d.priority))
}
return kt.scope = si && si.scope === !0,
kt.transcludeOnThisElement = bi,
kt.templateOnThisElement = ki,
kt.transclude = ui,
k.hasElementTranscludeDirective = yi,
kt
}
function hi(n) {
for (var t = 0,
i = n.length; t < i; t++) n[t] = df(n[t], {
$$isolateScope: !0
})
}
function yt(t, r, u, f, e, s, h) {
var a;
if (r === e) return null;
if (a = null, l.hasOwnProperty(r)) for (var c, p = n.get(r + v), y = 0, w = p.length; y < w; y++) try {
c = p[y],
(f === i || f > c.priority) && c.restrict.indexOf(u) != -1 && (s && (c = df(c, {
$$start: s,
$$end: h
})), t.push(c), a = c)
} catch(b) {
o(b)
}
return a
}
function ci(n, t) {
var u = t.$attr,
f = n.$attr,
i = n.$$element;
r(n,
function(i, r) {
r.charAt(0) != "$" && (t[r] && t[r] !== i && (i += (r === "style" ? ";": " ") + t[r]), n.$set(r, i, !0, u[r]))
}),
r(t,
function(t, r) {
r == "class" ? (ct(i, t), n["class"] = (n["class"] ? n["class"] + " ": "") + t) : r == "style" ? (i.attr("style", i.attr("style") + ";" + t), n.style = (n.style ? n.style + ";": "") + t) : r.charAt(0) == "$" || n.hasOwnProperty(r) || (n[r] = t, f[r] = u[r])
})
}
function vi(n, t, i, f, e, o, s, l) {
var v = [],
p,
w,
b = t[0],
y = n.shift(),
tt = c({},
y, {
templateUrl: null,
transclude: null,
replace: null,
$$originalDirective: y
}),
nt = h(y.templateUrl) ? y.templateUrl(t, i) : y.templateUrl;
return t.empty(),
k.get(ft.getTrustedResourceUrl(nt), {
cache: d
}).success(function(h) {
var c, d, it, et, rt, ht;
if (h = ei(h), y.replace) {
if (it = ku(h) ? [] : u(g(h)), c = it[0], it.length != 1 || c.nodeType !== 1) throw ut("tplrt", "Template for directive '{0}' must have exactly one root element. {1}", y.name, nt);
d = {
$attr: {}
},
pt(f, t, c),
rt = dt(c, [], d),
a(y.scope) && hi(rt),
n = rt.concat(n),
ci(i, d)
} else c = b,
t.html(h);
for (n.unshift(tt), p = si(n, c, i, e, t, y, o, s, l), r(f,
function(n, i) {
n == c && (f[i] = t[0])
}), w = kt(t[0].childNodes, e); v.length;) {
var ot = v.shift(),
ft = v.shift(),
lt = v.shift(),
st = v.shift(),
k = t[0];
ft !== b && (ht = ft.className, l.hasElementTranscludeDirective && y.replace || (k = du(c)), pt(lt, u(ft), k), ct(u(k), ht)),
et = p.transcludeOnThisElement ? vt(ot, p.transclude, st) : st,
p(w, ot, k, f, et)
}
v = null
}).error(function(n, t, i, r) {
throw ut("tpload", "Failed to load template: {0}", r.url);
}),
function(n, t, i, r, u) {
var f = u;
v ? (v.push(t), v.push(i), v.push(r), v.push(f)) : (p.transcludeOnThisElement && (f = vt(t, p.transclude, u)), p(w, t, i, r, f))
}
}
function yi(n, t) {
var i = t.priority - n.priority;
return i !== 0 ? i: n.name !== t.name ? n.name < t.name ? -1 : 1 : n.index - t.index
}
function at(n, t, i, r) {
if (t) throw ut("multidir", "Multiple directives [{0}, {1}] asking for {2} on: {3}", t.name, i.name, n, et(r));
}
function pi(n, t) {
var i = f(t, !0);
i && n.push({
priority: 0,
compile: function(n) {
var r = n.parent(),
t = r.length;
return t && ct(n.parent(), "ng-binding"),
function(n, r) {
var u = r.parent(),
f = u.data("$binding") || [];
f.push(i),
u.data("$binding", f),
t || ct(u, "ng-binding"),
n.$watch(i,
function(n) {
r[0].nodeValue = n
})
}
}
})
}
function wi(n, t) {
if (t == "srcdoc") return ft.HTML;
var i = ui(n);
if (t == "xlinkHref" || i == "FORM" && t == "action" || i != "IMG" && (t == "src" || t == "ngSrc")) return ft.RESOURCE_URL
}
function bi(n, t, i, r) {
var u = f(i, !0);
if (u) {
if (r === "multiple" && ui(n) === "SELECT") throw ut("selmulti", "Binding to the 'multiple' attribute is not supported. Element: {0}", et(n));
t.push({
priority: 100,
compile: function() {
return {
pre: function(t, i, e) {
var o = e.$$observers || (e.$$observers = {});
if (b.test(r)) throw ut("nodomevents", "Interpolations for HTML DOM event attributes are disallowed. Please use the ng- versions (such as ng-click instead of onclick) instead."); (u = f(e[r], !0, wi(n, r)), u) && (e[r] = u(t), (o[r] || (o[r] = [])).$$inter = !0, (e.$$observers && e.$$observers[r].$$scope || t).$watch(u,
function(n, t) {
r === "class" && n != t ? e.$updateClass(n, t) : e.$set(r, n)
}))
}
}
}
})
}
}
function pt(n, i, r) {
var e = i[0],
a = i.length,
v = e.parentNode,
f,
y,
c,
s,
w,
l;
if (n) for (f = 0, y = n.length; f < y; f++) if (n[f] == e) {
n[f++] = r;
for (var o = f,
h = o + a - 1,
p = n.length; o < p; o++, h++) h < p ? n[o] = n[h] : delete n[o];
n.length -= a - 1;
break
}
for (v && v.replaceChild(r, e), c = t.createDocumentFragment(), c.appendChild(e), r[u.expando] = e[u.expando], s = 1, w = i.length; s < w; s++) l = i[s],
u(l).remove(),
c.appendChild(l),
delete i[s];
i[0] = r,
i.length = 1
}
function li(n, t) {
return c(function() {
return n.apply(null, arguments)
},
n, t)
}
var wt = function(n, t) {
this.$$element = n,
this.$attr = t || {}
};
wt.prototype = {
$normalize: lt,
$addClass: function(n) {
n && n.length > 0 && ot.addClass(this.$$element, n)
},
$removeClass: function(n) {
n && n.length > 0 && ot.removeClass(this.$$element, n)
},
$updateClass: function(n, t) {
var i = de(n, t),
r = de(t, n);
i.length === 0 ? ot.removeClass(this.$$element, r) : r.length === 0 ? ot.addClass(this.$$element, i) : ot.setClass(this.$$element, i, r)
},
$set: function(n, t, u, f) {
var h = ae(this.$$element[0], n),
e,
s;
h && (this.$$element.prop(n, t), f = h),
this[n] = t,
f ? this.$attr[n] = f: (f = this.$attr[n], f || (this.$attr[n] = f = yr(n, "-"))),
e = ui(this.$$element),
(e === "A" && n === "href" || e === "IMG" && n === "src") && (this[n] = t = ht(t, n === "src")),
u !== !1 && (t === null || t === i ? this.$$element.removeAttr(f) : this.$$element.attr(f, t)),
s = this.$$observers,
s && r(s[n],
function(n) {
try {
n(t)
} catch(i) {
o(i)
}
})
},
$observe: function(n, t) {
var i = this,
r = i.$$observers || (i.$$observers = {}),
u = r[n] || (r[n] = []);
return u.push(t),
it.$evalAsync(function() {
u.$$inter || t(i[n])
}),
t
}
};
var ti = f.startSymbol(),
ii = f.endSymbol(),
ei = ti == "Template:"" ? fi: function(n) {
return n.replace(/\{\{/g, ti).replace(/}}/g, ii)
},
ai = /^ngAttr[A-Z]/;
return bt
}]
}
function lt(n) {
return ir(n.replace(ke, ""))
}
function de(n, t) {
var u = "",
e = n.split(/\s+/),
o = t.split(/\s+/),
i,
f,
r;
n: for (i = 0; i < e.length; i++) {
for (f = e[i], r = 0; r < o.length; r++) if (f == o[r]) continue n;
u += (u.length > 0 ? " ": "") + f
}
return u
}
function rc() {
var n = {},
t = /^(\S+)(\s+as\s+(\w+))?$/;
this.register = function(t, i) {
ii(t, "controller"),
a(t) ? c(n, t) : n[t] = i
},
this.$get = ["$injector", "$window",
function(i, r) {
return function(u, f) {
var h, c, o, s;
if (e(u) && (c = u.match(t), o = c[1], s = c[3], u = n.hasOwnProperty(o) ? n[o] : fe(f.$scope, o, !0) || fe(r, o, !0), gi(u, o, !0)), h = i.instantiate(u, f), s) {
if (! (f && typeof f.$scope == "object")) throw y("$controller")("noscp", "Cannot export controller '{0}' as '{1}'! No $scope object provided via `locals`.", o || u.name, s);
f.$scope[s] = h
}
return h
}
}]
}
function uc() {
this.$get = ["$window",
function(n) {
return u(n.document)
}]
}
function fc() {
this.$get = ["$log",
function(n) {
return function() {
n.error.apply(n, arguments)
}
}]
}
function ge(n) {
var t = {},
i, u, f;
return n ? (r(n.split("\n"),
function(n) {
f = n.indexOf(":"),
i = v(g(n.substr(0, f))),
u = g(n.substr(f + 1)),
i && (t[i] ? t[i] += ", " + u: t[i] = u)
}), t) : t
}
function no(n) {
var t = a(n) ? n: i;
return function(i) {
return (t || (t = ge(n)), i) ? t[v(i)] || null: t
}
}
function to(n, t, i) {
return h(i) ? i(n, t) : (r(i,
function(i) {
n = i(n, t)
}), n)
}
function rf(n) {
return 200 <= n && n < 300
}
function ec() {
var u = /^\s*(\[|\{[^\{])/,
o = /[\}\]]\s*$/,
y = /^\)\]\}',?\n/,
t = {
"Content-Type": "application/json;charset=utf-8"
},
n = this.defaults = {
transformResponse: [function(n) {
return e(n) && (n = n.replace(y, ""), u.test(n) && o.test(n) && (n = ne(n))),
n
}],
transformRequest: [function(n) {
return a(n) && !vs(n) && !ys(n) ? ht(n) : n
}],
headers: {
common: {
Accept: "application/json, text/plain, */*"
},
post: st(t),
put: st(t),
patch: st(t)
},
xsrfCookieName: "XSRF-TOKEN",
xsrfHeaderName: "X-XSRF-TOKEN"
},
p = this.interceptors = [],
w = this.responseInterceptors = [];
this.$get = ["$httpBackend", "$browser", "$cacheFactory", "$rootScope", "$q", "$injector",
function(t, u, o, y, b, k) {
function d(t) {
function y(n) {
var t = c({},
n, {
data: to(n.data, n.headers, f.transformResponse)
});
return rf(n.status) ? t: b.reject(t)
}
function w(t) {
function s(n) {
var t;
r(n,
function(i, r) {
h(i) && (t = i(), t != null ? n[r] = t: delete n[r])
})
}
var i = n.headers,
u = c({},
t.headers),
f,
e,
o;
i = c({},
i.common, i[v(t.method)]),
s(i),
s(u);
n: for (f in i) {
e = v(f);
for (o in u) if (v(o) === e) continue n;
u[f] = i[f]
}
return u
}
var f = {
method: "get",
transformRequest: n.transformRequest,
transformResponse: n.transformResponse
},
e = w(t),
s,
a;
c(f, t),
f.headers = e,
f.method = dt(f.method);
var p = function(t) {
e = t.headers;
var i = to(t.data, no(e), t.transformRequest);
return l(t.data) && r(e,
function(n, t) {
v(t) === "content-type" && delete e[t]
}),
l(t.withCredentials) && !l(n.withCredentials) && (t.withCredentials = n.withCredentials),
rt(t, i, e).then(y, y)
},
o = [p, i],
u = b.when(f);
for (r(g,
function(n) { (n.request || n.requestError) && o.unshift(n.request, n.requestError),
(n.response || n.responseError) && o.push(n.response, n.responseError)
}); o.length;) s = o.shift(),
a = o.shift(),
u = u.then(s, a);
return u.success = function(n) {
return u.then(function(t) {
n(t.data, t.status, t.headers, f)
}),
u
},
u.error = function(n) {
return u.then(null,
function(t) {
n(t.data, t.status, t.headers, f)
}),
u
},
u
}
function tt() {
r(arguments,
function(n) {
d[n] = function(t, i) {
return d(c(i || {},
{
method: n,
url: t
}))
}
})
}
function it() {
r(arguments,
function(n) {
d[n] = function(t, i, r) {
return d(c(r || {},
{
method: n,
url: t,
data: i
}))
}
})
}
function rt(r, e, o) {
function it(n, t, i, r) {
c && (rf(n) ? c.put(v, [n, t, ge(i), r]) : c.remove(v)),
tt(t, n, i, r),
y.$$phase || y.$apply()
}
function tt(n, t, i, u) {
t = Math.max(t, 0),
(rf(t) ? w.resolve: w.reject)({
data: n,
status: t,
headers: no(i),
config: r,
statusText: u
})
}
function p() {
var n = bi(d.pendingRequests, r);
n !== -1 && d.pendingRequests.splice(n, 1)
}
var w = b.defer(),
k = w.promise,
c,
h,
v = ut(r.url, r.params),
g;
if (d.pendingRequests.push(r), k.then(p, p), (r.cache || n.cache) && r.cache !== !1 && r.method == "GET" && (c = a(r.cache) ? r.cache: a(n.cache) ? n.cache: nt), c) if (h = c.get(v), f(h)) {
if (h.then) return h.then(p, p),
h;
s(h) ? tt(h[1], h[0], st(h[2]), h[3]) : tt(h, 200, {},
"OK")
} else c.put(v, k);
return l(h) && (g = co(r.url) ? u.cookies()[r.xsrfCookieName || n.xsrfCookieName] : i, g && (o[r.xsrfHeaderName || n.xsrfHeaderName] = g), t(r.method, v, e, it, o, r.timeout, r.withCredentials, r.responseType)),
k
}
function ut(n, t) {
if (!t) return n;
var i = [];
return as(t,
function(n, t) {
n === null || l(n) || (s(n) || (n = [n]), r(n,
function(n) {
a(n) && (n = ht(n)),
i.push(ti(t) + "=" + ti(n))
}))
}),
i.length > 0 && (n += (n.indexOf("?") == -1 ? "?": "&") + i.join("&")),
n
}
var nt = o("$http"),
g = [];
return r(p,
function(n) {
g.unshift(e(n) ? k.get(n) : k.invoke(n))
}),
r(w,
function(n, t) {
var i = e(n) ? k.get(n) : k.invoke(n);
g.splice(t, 0, {
response: function(n) {
return i(b.when(n))
},
responseError: function(n) {
return i(b.reject(n))
}
})
}),
d.pendingRequests = [],
tt("get", "delete", "head", "jsonp"),
it("post", "put"),
d.defaults = n,
d
}]
}
function oc(t) {
if (p <= 8 && (!t.match(/^(get|post|head|put|delete|options)$/i) || !n.XMLHttpRequest)) return new n.ActiveXObject("Microsoft.XMLHTTP");
if (n.XMLHttpRequest) return new n.XMLHttpRequest;
throw y("$httpBackend")("noxhr", "This browser does not support XMLHttpRequest.");
}
function sc() {
this.$get = ["$browser", "$window", "$document",
function(n, t, i) {
return hc(n, oc, n.defer, t.angular.callbacks, i[0])
}]
}
function hc(n, t, i, u, s) {
function c(n, t, i) {
var r = s.createElement("script"),
f = null;
return r.type = "text/javascript",
r.src = n,
r.async = !0,
f = function(n) {
tr(r, "load", f),
tr(r, "error", f),
s.body.removeChild(r),
r = null;
var e = -1,
o = "unknown";
n && (n.type !== "load" || u[t].called || (n = {
type: "error"
}), o = n.type, e = n.type === "error" ? 404 : 200),
i && i(e, o)
},
pr(r, "load", f),
pr(r, "error", f),
p <= 8 && (r.onreadystatechange = function() {
e(r.readyState) && /loaded|complete/.test(r.readyState) && (r.onreadystatechange = null, f({
type: "load"
}))
}),
s.body.appendChild(r),
f
}
var h = -1;
return function(e, s, l, a, y, w, b, k) {
function rt() {
nt = h,
tt && tt(),
d && d.abort()
}
function ut(t, r, u, f, e) {
it && i.cancel(it),
tt = d = null,
r === 0 && (r = u ? 200 : wt(s).protocol == "file" ? 404 : 0),
r = r === 1223 ? 204 : r,
e = e || "",
t(r, u, f, e),
n.$$completeOutstandingRequest(o)
}
var nt, g, tt, d, it;
if (n.$$incOutstandingRequestCount(), s = s || n.url(), v(e) == "jsonp") g = "_" + (u.counter++).toString(36),
u[g] = function(n) {
u[g].data = n,
u[g].called = !0
},
tt = c(s.replace("JSON_CALLBACK", "angular.callbacks." + g), g,
function(n, t) {
ut(a, n, u[g].data, "", t),
u[g] = o
});
else {
if (d = t(e), d.open(e, s, !0), r(y,
function(n, t) {
f(n) && d.setRequestHeader(t, n)
}), d.onreadystatechange = function() {
if (d && d.readyState == 4) {
var n = null,
t = null,
i = "";
nt !== h && (n = d.getAllResponseHeaders(), t = "response" in d ? d.response: d.responseText),
nt === h && p < 10 || (i = d.statusText),
ut(a, nt || d.status, t, n, i)
}
},
b && (d.withCredentials = !0), k) try {
d.responseType = k
} catch(ft) {
if (k !== "json") throw ft;
}
d.send(l || null)
}
w > 0 ? it = i(rt, w) : w && w.then && w.then(rt)
}
}
function cc() {
var n = "{{",
t = "}}";
this.startSymbol = function(t) {
return t ? (n = t, this) : n
},
this.endSymbol = function(n) {
return n ? (t = n, this) : t
},
this.$get = ["$parse", "$exceptionHandler", "$sce",
function(i, r, u) {
function f(f, s, h) {
for (var y, p, c = 0,
l = [], a = f.length, b = !1, v, k, w = []; c < a;)(y = f.indexOf(n, c)) != -1 && (p = f.indexOf(t, y + e)) != -1 ? (c != y && l.push(f.substring(c, y)), l.push(v = i(k = f.substring(y + e, p))), v.exp = k, c = p + o, b = !0) : (c != a && l.push(f.substring(c)), c = a);
if ((a = l.length) || (l.push(""), a = 1), h && l.length > 1) throw uf("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", f);
if (!s || b) return w.length = a,
v = function(n) {
var i, e, t, o;
try {
for (i = 0, e = a; i < e; i++) {
if (typeof(t = l[i]) == "function") if (t = t(n), t = h ? u.getTrusted(h, t) : u.valueOf(t), t == null) t = "";
else switch (typeof t) {
case "string":
break;
case "number":
t = "" + t;
break;
default:
t = ht(t)
}
w[i] = t
}
return w.join("")
} catch(s) {
o = uf("interr", "Can't interpolate: {0}\n{1}", f, s.toString()),
r(o)
}
},
v.exp = f,
v.parts = l,
v
}
var e = n.length,
o = t.length;
return f.startSymbol = function() {
return n
},
f.endSymbol = function() {
return t
},
f
}]
}
function lc() {
this.$get = ["$rootScope", "$window", "$q",
function(n, t, i) {
function u(u, e, o, s) {
var a = t.setInterval,
v = t.clearInterval,
c = i.defer(),
h = c.promise,
l = 0,
y = f(s) && !s;
return o = f(o) ? o: 0,
h.then(null, null, u),
h.$$intervalId = a(function() {
c.notify(l++),
o > 0 && l >= o && (c.resolve(l), v(h.$$intervalId), delete r[h.$$intervalId]),
y || n.$apply()
},
e),
r[h.$$intervalId] = c,
h
}
var r = {};
return u.cancel = function(n) {
return n && n.$$intervalId in r ? (r[n.$$intervalId].reject("canceled"), t.clearInterval(n.$$intervalId), delete r[n.$$intervalId], !0) : !1
},
u
}]
}
function ac() {
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(n) {
return n === 1 ? "one": "other"
}
}
}
}
function ef(n) {
for (var t = n.split("/"), i = t.length; i--;) t[i] = vr(t[i]);
return t.join("/")
}
function io(n, t, i) {
var r = wt(n, i);
t.$$protocol = r.protocol,
t.$$host = r.hostname,
t.$$port = k(r.port) || yc[r.protocol] || null
}
function ro(n, t, i) {
var u = n.charAt(0) !== "/",
r;
u && (n = "/" + n),
r = wt(n, i),
t.$$path = decodeURIComponent(u && r.pathname.charAt(0) === "/" ? r.pathname.substring(1) : r.pathname),
t.$$search = ie(r.search),
t.$$hash = decodeURIComponent(r.hash),
t.$$path && t.$$path.charAt(0) != "/" && (t.$$path = "/" + t.$$path)
}
function at(n, t) {
if (t.indexOf(n) === 0) return t.substr(n.length)
}
function er(n) {
var t = n.indexOf("#");
return t == -1 ? n: n.substr(0, t)
}
function of(n) {
return n.substr(0, er(n).lastIndexOf("/") + 1)
}
function pc(n) {
return n.substring(0, n.indexOf("/", n.indexOf("//") + 2))
}
function uo(n, t) {
this.$$html5 = !0,
t = t || "";
var r = of(n);
io(n, this, n),
this.$$parse = function(t) {
var i = at(r, t);
if (!e(i)) throw ff("ipthprfx", 'Invalid url "{0}", missing path prefix "{1}".', t, r);
ro(i, this, n),
this.$$path || (this.$$path = "/"),
this.$$compose()
},
this.$$compose = function() {
var n = vu(this.$$search),
t = this.$$hash ? "#" + vr(this.$$hash) : "";
this.$$url = ef(this.$$path) + (n ? "?" + n: "") + t,
this.$$absUrl = r + this.$$url.substr(1)
},
this.$$rewrite = function(u) {
var f, e;
return (f = at(n, u)) !== i ? (e = f, (f = at(t, f)) !== i ? r + (at("/", f) || f) : n + e) : (f = at(r, u)) !== i ? r + f: r == u + "/" ? r: void 0
}
}
function sf(n, t) {
var i = of(n);
io(n, this, n),
this.$$parse = function(r) {
function o(n, t, i) {
var u = /^\/[A-Z]:(\/.*)/,
r;
return (t.indexOf(i) === 0 && (t = t.replace(i, "")), u.exec(t)) ? n: (r = u.exec(n), r ? r[1] : n)
}
var u = at(n, r) || at(i, r),
f = u.charAt(0) == "#" ? at(t, u) : this.$$html5 ? u: "";
if (!e(f)) throw ff("ihshprfx", 'Invalid url "{0}", missing hash prefix "{1}".', r, t);
ro(f, this, n),
this.$$path = o(this.$$path, f, n),
this.$$compose()
},
this.$$compose = function() {
var i = vu(this.$$search),
r = this.$$hash ? "#" + vr(this.$$hash) : "";
this.$$url = ef(this.$$path) + (i ? "?" + i: "") + r,
this.$$absUrl = n + (this.$$url ? t + this.$$url: "")
},
this.$$rewrite = function(t) {
if (er(n) == er(t)) return t
}
}
function hf(n, t) {
this.$$html5 = !0,
sf.apply(this, arguments);
var i = of(n);
this.$$rewrite = function(r) {
var u;
return n == er(r) ? r: (u = at(i, r)) ? n + t + u: i === r + "/" ? i: void 0
},
this.$$compose = function() {
var i = vu(this.$$search),
r = this.$$hash ? "#" + vr(this.$$hash) : "";
this.$$url = ef(this.$$path) + (i ? "?" + i: "") + r,
this.$$absUrl = n + t + this.$$url
}
}
function dr(n) {
return function() {
return this[n]
}
}
function fo(n, t) {
return function(i) {
return l(i) ? this[n] : (this[n] = t(i), this.$$compose(), this)
}
}
function wc() {
var t = "",
i = !1;
this.hashPrefix = function(n) {
return f(n) ? (t = n, this) : t
},
this.html5Mode = function(n) {
return f(n) ? (i = n, this) : i
},
this.$get = ["$rootScope", "$browser", "$sniffer", "$rootElement",
function(r, f, e, o) {
function p(n) {
r.$broadcast("$locationChangeSuccess", s.absUrl(), n)
}
var s, c, w = f.baseHref(),
l = f.url(),
h,
y;
i ? (h = pc(l) + (w || "/"), c = e.history ? uo: hf) : (h = er(l), c = sf),
s = new c(h, "#" + t),
s.$$parse(s.$$rewrite(l));
o.on("click",
function(i) {
var l, e, y, b, k, w, p, d;
if (!i.ctrlKey && !i.metaKey && i.which != 2) {
for (l = u(i.target); v(l[0].nodeName) !== "a";) if (l[0] === o[0] || !(l = l.parent())[0]) return;
if (e = l.prop("href"), a(e) && e.toString() === "[object SVGAnimatedString]" && (e = wt(e.animVal).href), c === hf && (y = l.attr("href") || l.attr("xlink:href"), y.indexOf("://") < 0)) if (b = "#" + t, y[0] == "/") e = h + b + y;
else if (y[0] == "#") e = h + b + (s.path() || "/") + y;
else {
for (k = s.path().split("/"), w = y.split("/"), p = 0; p < w.length; p++) if (w[p] == ".") continue;
else w[p] == ".." ? k.pop() : w[p].length && k.push(w[p]);
e = h + b + k.join("/")
}
d = s.$$rewrite(e),
e && !l.attr("target") && d && !i.isDefaultPrevented() && (i.preventDefault(), d != f.url() && (s.$$parse(d), r.$apply(), n.angular["ff-684208-preventDefault"] = !0))
}
});
s.absUrl() != l && f.url(s.absUrl(), !0);
f.onUrlChange(function(n) {
s.absUrl() != n && (r.$evalAsync(function() {
var t = s.absUrl();
s.$$parse(n),
r.$broadcast("$locationChangeStart", n, t).defaultPrevented ? (s.$$parse(t), f.url(t)) : p(t)
}), r.$$phase || r.$digest())
});
return y = 0,
r.$watch(function() {
var n = f.url(),
t = s.$$replace;
return y && n == s.absUrl() || (y++, r.$evalAsync(function() {
r.$broadcast("$locationChangeStart", s.absUrl(), n).defaultPrevented ? s.$$parse(n) : (f.url(s.absUrl(), t), p(n))
})),
s.$$replace = !1,
y
}),
s
}]
}
function bc() {
var n = !0,
t = this;
this.debugEnabled = function(t) {
return f(t) ? (n = t, this) : n
},
this.$get = ["$window",
function(i) {
function f(n) {
return n instanceof Error && (n.stack ? n = n.message && n.stack.indexOf(n.message) === -1 ? "Error: " + n.message + "\n" + n.stack: n.stack: n.sourceURL && (n = n.message + "\n" + n.sourceURL + ":" + n.line)),
n
}
function u(n) {
var t = i.console || {},
u = t[n] || t.log || o,
e = !1;
try {
e = !!u.apply
} catch(s) {}
return e ?
function() {
var n = [];
return r(arguments,
function(t) {
n.push(f(t))
}),
u.apply(t, n)
}: function(n, t) {
u(n, t == null ? "": t)
}
}
return {
log: u("log"),
info: u("info"),
warn: u("warn"),
error: u("error"),
debug: function() {
var i = u("debug");
return function() {
n && i.apply(t, arguments)
}
} ()
}
}]
}
function tt(n, t) {
if (n === "__defineGetter__" || n === "__defineSetter__" || n === "__lookupGetter__" || n === "__lookupSetter__" || n === "__proto__") throw ft("isecfld", "Attempting to access a disallowed field in Angular expressions! Expression: {0}", t);
return n
}
function ci(n, t) {
if (n) if (n.constructor === n) throw ft("isecfn", "Referencing Function in Angular expressions is disallowed! Expression: {0}", t);
else if (n.document && n.location && n.alert && n.setInterval) throw ft("isecwindow", "Referencing the Window in Angular expressions is disallowed! Expression: {0}", t);
else if (n.children && (n.nodeName || n.prop && n.attr && n.find)) throw ft("isecdom", "Referencing DOM nodes in Angular expressions is disallowed! Expression: {0}", t);
else if (n === Object) throw ft("isecobj", "Referencing Object in Angular expressions is disallowed! Expression: {0}", t);
return n
}
function gc(n, t) {
if (n) if (n.constructor === n) throw ft("isecfn", "Referencing Function in Angular expressions is disallowed! Expression: {0}", t);
else if (n === kc || n === dc || eo && n === eo) throw ft("isecff", "Referencing call, apply or bind in Angular expressions is disallowed! Expression: {0}", t);
}
function gr(n, t, r, u, f) {
var s, e, h, o;
for (f = f || {},
s = t.split("."), h = 0; s.length > 1; h++) e = tt(s.shift(), u),
o = n[e],
o || (o = {},
n[e] = o),
n = o,
n.then && f.unwrapPromises && (pt(u), "$$v" in n ||
function(n) {
n.then(function(t) {
n.$$v = t
})
} (n), n.$$v === i && (n.$$v = {}), n = n.$$v);
return e = tt(s.shift(), u),
ci(n, u),
ci(n[e], u),
n[e] = r,
r
}
function oo(n, t, r, u, f, e, o) {
return tt(n, e),
tt(t, e),
tt(r, e),
tt(u, e),
tt(f, e),
o.unwrapPromises ?
function(o, s) {
var h = s && s.hasOwnProperty(n) ? s: o,
c;
return h == null ? h: (h = h[n], h && h.then && (pt(e), "$$v" in h || (c = h, c.$$v = i, c.then(function(n) {
c.$$v = n
})), h = h.$$v), !t) ? h: h == null ? i: (h = h[t], h && h.then && (pt(e), "$$v" in h || (c = h, c.$$v = i, c.then(function(n) {
c.$$v = n
})), h = h.$$v), !r) ? h: h == null ? i: (h = h[r], h && h.then && (pt(e), "$$v" in h || (c = h, c.$$v = i, c.then(function(n) {
c.$$v = n
})), h = h.$$v), !u) ? h: h == null ? i: (h = h[u], h && h.then && (pt(e), "$$v" in h || (c = h, c.$$v = i, c.then(function(n) {
c.$$v = n
})), h = h.$$v), !f) ? h: h == null ? i: (h = h[f], h && h.then && (pt(e), "$$v" in h || (c = h, c.$$v = i, c.then(function(n) {
c.$$v = n
})), h = h.$$v), h)
}: function(e, o) {
var s = o && o.hasOwnProperty(n) ? o: e;
return s == null ? s: (s = s[n], !t) ? s: s == null ? i: (s = s[t], !r) ? s: s == null ? i: (s = s[r], !u) ? s: s == null ? i: (s = s[u], !f) ? s: s == null ? i: s[f]
}
}
function tl(n, t) {
return tt(n, t),
function(t, r) {
return t == null ? i: (r && r.hasOwnProperty(n) ? r: t)[n]
}
}
function il(n, t, r) {
return tt(n, r),
tt(t, r),
function(r, u) {
return r == null ? i: (r = (u && u.hasOwnProperty(n) ? u: r)[n], r == null ? i: r[t])
}
}
function so(n, t, u) {
var f, o, e, s, h;
return nu.hasOwnProperty(n) ? nu[n] : (f = n.split("."), o = f.length, t.unwrapPromises || o !== 1 ? t.unwrapPromises || o !== 2 ? t.csp ? e = o < 6 ? oo(f[0], f[1], f[2], f[3], f[4], u, t) : function(n, r) {
var e = 0,
s;
do s = oo(f[e++], f[e++], f[e++], f[e++], f[e++], u, t)(n, r),
r = i,
n = s;
while (e < o);
return s
}: (s = "var p;\n", r(f,
function(n, i) {
tt(n, u),
s += "if(s == null) return undefined;\ns=" + (i ? "s": '((k&&k.hasOwnProperty("' + n + '"))?k:s)') + '["' + n + '"];\n' + (t.unwrapPromises ? 'if (s && s.then) {\n pw("' + u.replace(/(["\r\n])/g, "\\$1") + '");\n if (!("$$v" in s)) {\n p=s;\n p.$$v = undefined;\n p.then(function(v) {p.$$v=v;});\n}\n s=s.$$v\n}\n': "")
}), s += "return s;", h = new Function("s", "k", "pw", s), h.toString = nt(s), e = t.unwrapPromises ?
function(n, t) {
return h(n, t, pt)
}: h) : e = il(f[0], f[1], u) : e = tl(f[0], u), n !== "hasOwnProperty" && (nu[n] = e), e)
}
function rl() {
var t = {},
n = {
csp: !1,
unwrapPromises: !1,
logPromiseWarnings: !0
};
this.unwrapPromises = function(t) {
return f(t) ? (n.unwrapPromises = !!t, this) : n.unwrapPromises
},
this.logPromiseWarnings = function(t) {
return f(t) ? (n.logPromiseWarnings = t, this) : n.logPromiseWarnings
},
this.$get = ["$filter", "$sniffer", "$log",
function(i, r, u) {
return n.csp = r.csp,
pt = function(t) {
n.logPromiseWarnings && !cf.hasOwnProperty(t) && (cf[t] = !0, u.warn("[$parse] Promise found in the expression `" + t + "`. Automatic unwrapping of promises in Angular expressions is deprecated."))
},
function(r) {
var u, f, e;
switch (typeof r) {
case "string":
return t.hasOwnProperty(r) ? t[r] : (f = new lf(n), e = new li(f, i, n), u = e.parse(r), r !== "hasOwnProperty" && (t[r] = u), u);
case "function":
return r;
default:
return o
}
}
}]
}
function ul() {
this.$get = ["$rootScope", "$exceptionHandler",
function(n, t) {
return fl(function(t) {
n.$evalAsync(t)
},
t)
}]
}
function fl(n, t) {
function f(n) {
return n
}
function c(n) {
return o(n)
}
function v(n) {
var i = u(),
f = 0,
t = s(n) ? [] : {};
return r(n,
function(n, r) {
f++,
e(n).then(function(n) {
t.hasOwnProperty(r) || (t[r] = n, --f || i.resolve(t))
},
function(n) {
t.hasOwnProperty(r) || i.reject(n)
})
}),
f === 0 && i.resolve(t),
i.promise
}
var u = function() {
var r = [],
o,
s;
return s = {
resolve: function(t) {
if (r) {
var u = r;
r = i,
o = e(t),
u.length && n(function() {
for (var n, t = 0,
i = u.length; t < i; t++) n = u[t],
o.then(n[0], n[1], n[2])
})
}
},
reject: function(n) {
s.resolve(l(n))
},
notify: function(t) {
if (r) {
var i = r;
r.length && n(function() {
for (var r, n = 0,
u = i.length; n < u; n++) r = i[n],
r[2](t)
})
}
},
promise: {
then: function(n, i, e) {
var s = u(),
l = function(i) {
try {
s.resolve((h(n) ? n: f)(i))
} catch(r) {
s.reject(r),
t(r)
}
},
a = function(n) {
try {
s.resolve((h(i) ? i: c)(n))
} catch(r) {
s.reject(r),
t(r)
}
},
v = function(n) {
try {
s.notify((h(e) ? e: f)(n))
} catch(i) {
t(i)
}
};
return r ? r.push([l, a, v]) : o.then(l, a, v),
s.promise
},
"catch": function(n) {
return this.then(null, n)
},
"finally": function(n) {
function t(n, t) {
var i = u();
return t ? i.resolve(n) : i.reject(n),
i.promise
}
function i(i, r) {
var u = null;
try {
u = (n || f)()
} catch(e) {
return t(e, !1)
}
return u && h(u.then) ? u.then(function() {
return t(i, r)
},
function(n) {
return t(n, !1)
}) : t(i, r)
}
return this.then(function(n) {
return i(n, !0)
},
function(n) {
return i(n, !1)
})
}
}
}
},
e = function(t) {
return t && h(t.then) ? t: {
then: function(i) {
var r = u();
return n(function() {
r.resolve(i(t))
}),
r.promise
}
}
},
o = function(n) {
var t = u();
return t.reject(n),
t.promise
},
l = function(i) {
return {
then: function(r, f) {
var e = u();
return n(function() {
try {
e.resolve((h(f) ? f: c)(i))
} catch(n) {
e.reject(n),
t(n)
}
}),
e.promise
}
}
},
a = function(i, r, s, l) {
var v = u(),
a,
w = function(n) {
try {
return (h(r) ? r: f)(n)
} catch(i) {
return t(i),
o(i)
}
},
y = function(n) {
try {
return (h(s) ? s: c)(n)
} catch(i) {
return t(i),
o(i)
}
},
p = function(n) {
try {
return (h(l) ? l: f)(n)
} catch(i) {
t(i)
}
};
return n(function() {
e(i).then(function(n) {
a || (a = !0, v.resolve(e(n).then(w, y, p)))
},
function(n) {
a || (a = !0, v.resolve(y(n)))
},
function(n) {
a || v.notify(p(n))
})
}),
v.promise
};
return {
defer: u,
reject: o,
when: a,
all: v
}
}
function el() {
this.$get = ["$window", "$timeout",
function(n, t) {
var i = n.requestAnimationFrame || n.webkitRequestAnimationFrame || n.mozRequestAnimationFrame,
f = n.cancelAnimationFrame || n.webkitCancelAnimationFrame || n.mozCancelAnimationFrame || n.webkitCancelRequestAnimationFrame,
r = !!i,
u = r ?
function(n) {
var t = i(n);
return function() {
f(t)
}
}: function(n) {
var i = t(n, 16.66, !1);
return function() {
t.cancel(i)
}
};
return u.supported = r,
u
}]
}
function ol() {
var t = 10,
i = y("$rootScope"),
n = null;
this.digestTtl = function(n) {
return arguments.length && (t = n),
t
},
this.$get = ["$injector", "$exceptionHandler", "$parse", "$browser",
function(u, f, e, s) {
function v() {
this.$id = cr(),
this.$$phase = this.$parent = this.$$watchers = this.$$nextSibling = this.$$prevSibling = this.$$childHead = this.$$childTail = null,
this["this"] = this.$root = this,
this.$$destroyed = !1,
this.$$asyncQueue = [],
this.$$postDigestQueue = [],
this.$$listeners = {},
this.$$listenerCount = {},
this.$$isolateBindings = {}
}
function y(n) {
if (c.$$phase) throw i("inprog", "{0} already in progress", c.$$phase);
c.$$phase = n
}
function l() {
c.$$phase = null
}
function p(n, t) {
var i = e(n);
return gi(i, t),
i
}
function w(n, t, i) {
do n.$$listenerCount[i] -= t,
n.$$listenerCount[i] === 0 && delete n.$$listenerCount[i];
while (n = n.$parent)
}
function b() {}
v.prototype = {
constructor: v,
$new: function(n) {
var t;
return n ? (t = new v, t.$root = this.$root, t.$$asyncQueue = this.$$asyncQueue, t.$$postDigestQueue = this.$$postDigestQueue) : (this.$$childScopeClass || (this.$$childScopeClass = function() {
this.$$watchers = this.$$nextSibling = this.$$childHead = this.$$childTail = null,
this.$$listeners = {},
this.$$listenerCount = {},
this.$id = cr(),
this.$$childScopeClass = null
},
this.$$childScopeClass.prototype = this), t = new this.$$childScopeClass),
t["this"] = t,
t.$parent = this,
t.$$prevSibling = this.$$childTail,
this.$$childHead ? (this.$$childTail.$$nextSibling = t, this.$$childTail = t) : this.$$childHead = this.$$childTail = t,
t
},
$watch: function(t, i, r) {
var e = this,
s = p(t, "watch"),
f = e.$$watchers,
u = {
fn: i,
last: b,
get: s,
exp: t,
eq: !!r
},
c,
l;
return n = null,
h(i) || (c = p(i || o, "listener"), u.fn = function(n, t, i) {
c(i)
}),
typeof t == "string" && s.constant && (l = u.fn, u.fn = function(n, t, i) {
l.call(this, n, t, i),
ki(f, u)
}),
f || (f = e.$$watchers = []),
f.unshift(u),
function() {
ki(f, u),
n = null
}
},
$watchCollection: function(n, t) {
function p() {
var e, n, t, o;
if (i = y(s), a(i)) if (hr(i)) for (r !== h && (r = h, f = r.length = 0, u++), e = i.length, f !== e && (u++, r.length = f = e), t = 0; t < e; t++) o = r[t] !== r[t] && i[t] !== i[t],
o || r[t] === i[t] || (u++, r[t] = i[t]);
else {
r !== c && (r = c = {},
f = 0, u++),
e = 0;
for (n in i) i.hasOwnProperty(n) && (e++, r.hasOwnProperty(n) ? r[n] !== i[n] && (u++, r[n] = i[n]) : (f++, r[n] = i[n], u++));
if (f > e) {
u++;
for (n in r) r.hasOwnProperty(n) && !i.hasOwnProperty(n) && (f--, delete r[n])
}
} else r !== i && (r = i, u++);
return u
}
function w() {
var n, r;
if (l ? (l = !1, t(i, i, s)) : t(i, o, s), v) if (a(i)) if (hr(i)) for (o = new Array(i.length), n = 0; n < i.length; n++) o[n] = i[n];
else {
o = {};
for (r in i) ou.call(i, r) && (o[r] = i[r])
} else o = i
}
var s = this,
i, r, o, v = t.length > 1,
u = 0,
y = e(n),
h = [],
c = {},
l = !0,
f = 0;
return this.$watch(p, w)
},
$digest: function() {
var r, e, o, p, c = this.$$asyncQueue,
rt = this.$$postDigestQueue,
w, s, k = t,
d, u, g = this,
a = [],
v,
nt,
tt;
y("$digest"),
n = null;
do {
for (s = !1, u = g; c.length;) {
try {
tt = c.shift(),
tt.scope.$eval(tt.expression)
} catch(it) {
l(),
f(it)
}
n = null
}
n: do {
if (p = u.$$watchers) for (w = p.length; w--;) try {
if (r = p[w], r) if ((e = r.get(u)) === (o = r.last) || (r.eq ? ni(e, o) : typeof e == "number" && typeof o == "number" && isNaN(e) && isNaN(o))) {
if (r === n) {
s = !1;
break n
}
} else s = !0,
n = r,
r.last = r.eq ? oi(e, null) : e,
r.fn(e, o === b ? e: o, u),
k < 5 && (v = 4 - k, a[v] || (a[v] = []), nt = h(r.exp) ? "fn: " + (r.exp.name || r.exp.toString()) : r.exp, nt += "; newVal: " + ht(e) + "; oldVal: " + ht(o), a[v].push(nt))
} catch(it) {
l(),
f(it)
}
if (! (d = u.$$childHead || u !== g && u.$$nextSibling)) while (u !== g && !(d = u.$$nextSibling)) u = u.$parent
} while ( u = d );
if ((s || c.length) && !k--) {
l();
throw i("infdig", "{0} $digest() iterations reached. Aborting!\nWatchers fired in the last 5 iterations: {1}", t, ht(a));
}
} while ( s || c . length );
for (l(); rt.length;) try {
rt.shift()()
} catch(it) {
f(it)
}
},
$destroy: function() {
if (!this.$$destroyed) {
var n = this.$parent; (this.$broadcast("$destroy"), this.$$destroyed = !0, this !== c) && (r(this.$$listenerCount, au(null, w, this)), n.$$childHead == this && (n.$$childHead = this.$$nextSibling), n.$$childTail == this && (n.$$childTail = this.$$prevSibling), this.$$prevSibling && (this.$$prevSibling.$$nextSibling = this.$$nextSibling), this.$$nextSibling && (this.$$nextSibling.$$prevSibling = this.$$prevSibling), this.$parent = this.$$nextSibling = this.$$prevSibling = this.$$childHead = this.$$childTail = this.$root = null, this.$$listeners = {},
this.$$watchers = this.$$asyncQueue = this.$$postDigestQueue = [], this.$destroy = this.$digest = this.$apply = o, this.$on = this.$watch = function() {
return o
})
}
},
$eval: function(n, t) {
return e(n)(this, t)
},
$evalAsync: function(n) {
c.$$phase || c.$$asyncQueue.length || s.defer(function() {
c.$$asyncQueue.length && c.$digest()
}),
this.$$asyncQueue.push({
scope: this,
expression: n
})
},
$$postDigest: function(n) {
this.$$postDigestQueue.push(n)
},
$apply: function(n) {
try {
return y("$apply"),
this.$eval(n)
} catch(t) {
f(t)
} finally {
l();
try {
c.$digest()
} catch(t) {
f(t);
throw t;
}
}
},
$on: function(n, t) {
var r = this.$$listeners[n],
i,
u;
r || (this.$$listeners[n] = r = []),
r.push(t),
i = this;
do i.$$listenerCount[n] || (i.$$listenerCount[n] = 0),
i.$$listenerCount[n]++;
while (i = i.$parent);
return u = this,
function() {
r[bi(r, t)] = null,
w(u, 1, n)
}
},
$emit: function(n) {
var r, i = this,
o = !1,
u = {
name: n,
targetScope: i,
stopPropagation: function() {
o = !0
},
preventDefault: function() {
u.defaultPrevented = !0
},
defaultPrevented: !1
},
s = cu([u], arguments, 1),
t,
e;
do {
for (r = i.$$listeners[n] || [], u.currentScope = i, t = 0, e = r.length; t < e; t++) {
if (!r[t]) {
r.splice(t, 1),
t--,
e--;
continue
}
try {
r[t].apply(null, s)
} catch(h) {
f(h)
}
}
if (o) return u;
i = i.$parent
} while ( i );
return u
},
$broadcast: function(n) {
for (var r = this,
t = r,
o = r,
e = {
name: n,
targetScope: r,
preventDefault: function() {
e.defaultPrevented = !0
},
defaultPrevented: !1
},
h = cu([e], arguments, 1), u, i, s; t = o;) {
for (e.currentScope = t, u = t.$$listeners[n] || [], i = 0, s = u.length; i < s; i++) {
if (!u[i]) {
u.splice(i, 1),
i--,
s--;
continue
}
try {
u[i].apply(null, h)
} catch(c) {
f(c)
}
}
if (! (o = t.$$listenerCount[n] && t.$$childHead || t !== r && t.$$nextSibling)) while (t !== r && !(o = t.$$nextSibling)) t = t.$parent
}
return e
}
};
var c = new v;
return c
}]
}
function sl() {
var n = /^\s*(https?|ftp|mailto|tel|file):/,
t = /^\s*(https?|ftp|file):|data:image\//;
this.aHrefSanitizationWhitelist = function(t) {
return f(t) ? (n = t, this) : n
},
this.imgSrcSanitizationWhitelist = function(n) {
return f(n) ? (t = n, this) : t
},
this.$get = function() {
return function(i, r) {
var f = r ? t: n,
u;
return (!p || p >= 8) && (u = wt(i).href, u !== "" && !u.match(f)) ? "unsafe:" + u: i
}
}
}
function hl(n) {
return n.replace(/([-()\[\]{}+?*.$\^|,:#<!\\])/g, "\\$1").replace(/\x08/g, "\\x08")
}
function cl(n) {
if (n === "self") return n;
if (e(n)) {
if (n.indexOf("***") > -1) throw vt("iwcard", "Illegal sequence *** in string matcher. String: {0}", n);
return n = hl(n).replace("\\*\\*", ".*").replace("\\*", "[^:/.?&;]*"),
new RegExp("^" + n + "$")
}
if (lr(n)) return new RegExp("^" + n.source + "$");
throw vt("imatcher", 'Matchers may only be "self", string patterns or RegExp objects');
}
function ho(n) {
var t = [];
return f(n) && r(n,
function(n) {
t.push(cl(n))
}),
t
}
function ll() {
this.SCE_CONTEXTS = it;
var n = ["self"],
t = [];
this.resourceUrlWhitelist = function(t) {
return arguments.length && (n = ho(t)),
n
},
this.resourceUrlBlacklist = function(n) {
return arguments.length && (t = ho(n)),
t
},
this.$get = ["$injector",
function(r) {
function s(n, t) {
return n === "self" ? co(t) : !!n.exec(t.href)
}
function h(i) {
for (var e = wt(i.toString()), f = !1, r = 0, u = n.length; r < u; r++) if (s(n[r], e)) {
f = !0;
break
}
if (f) for (r = 0, u = t.length; r < u; r++) if (s(t[r], e)) {
f = !1;
break
}
return f
}
function f(n) {
var t = function(n) {
this.$$unwrapTrustedValue = function() {
return n
}
};
return n && (t.prototype = new n),
t.prototype.valueOf = function() {
return this.$$unwrapTrustedValue()
},
t.prototype.toString = function() {
return this.$$unwrapTrustedValue().toString()
},
t
}
function c(n, t) {
var r = u.hasOwnProperty(n) ? u[n] : null;
if (!r) throw vt("icontext", "Attempted to trust a value in invalid context. Context: {0}; Value: {1}", n, t);
if (t === null || t === i || t === "") return t;
if (typeof t != "string") throw vt("itype", "Attempted to trust a non-string value in a content requiring a string: Context: {0}", n);
return new r(t)
}
function l(n) {
return n instanceof e ? n.$$unwrapTrustedValue() : n
}
function a(n, t) {
if (t === null || t === i || t === "") return t;
var r = u.hasOwnProperty(n) ? u[n] : null;
if (r && t instanceof r) return t.$$unwrapTrustedValue();
if (n === it.RESOURCE_URL) {
if (h(t)) return t;
throw vt("insecurl", "Blocked loading resource from url not allowed by $sceDelegate policy. URL: {0}", t.toString());
} else if (n === it.HTML) return o(t);
throw vt("unsafe", "Attempting to use an unsafe value in a safe context.");
}
var o = function() {
throw vt("unsafe", "Attempting to use an unsafe value in a safe context.");
},
e,
u;
return r.has("$sanitize") && (o = r.get("$sanitize")),
e = f(),
u = {},
u[it.HTML] = f(e),
u[it.CSS] = f(e),
u[it.URL] = f(e),
u[it.JS] = f(e),
u[it.RESOURCE_URL] = f(u[it.URL]),
{
trustAs: c,
getTrusted: a,
valueOf: l
}
}]
}
function al() {
var n = !0;
this.enabled = function(t) {
return arguments.length && (n = !!t),
n
},
this.$get = ["$parse", "$sniffer", "$sceDelegate",
function(t, i, u) {
var f;
if (n && i.msie && i.msieDocumentMode < 8) throw vt("iequirks", "Strict Contextual Escaping does not support Internet Explorer version < 9 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.");
f = st(it),
f.isEnabled = function() {
return n
},
f.trustAs = u.trustAs,
f.getTrusted = u.getTrusted,
f.valueOf = u.valueOf,
n || (f.trustAs = f.getTrusted = function(n, t) {
return t
},
f.valueOf = fi),
f.parseAs = function(n, i) {
var r = t(i);
return r.literal && r.constant ? r: function(t, i) {
return f.getTrusted(n, r(t, i))
}
};
var e = f.parseAs,
o = f.getTrusted,
s = f.trustAs;
return r(it,
function(n, t) {
var i = v(t);
f[ir("parse_as_" + i)] = function(t) {
return e(n, t)
},
f[ir("get_trusted_" + i)] = function(t) {
return o(n, t)
},
f[ir("trust_as_" + i)] = function(t) {
return s(n, t)
}
}),
f
}]
}
function vl() {
this.$get = ["$window", "$document",
function(n, t) {
var s = {},
h = k((/android (\d+)/.exec(v((n.navigator || {}).userAgent)) || [])[1]),
w = /Boxee/i.test((n.navigator || {}).userAgent),
u = t[0] || {},
c = u.documentMode,
i,
r = u.body && u.body.style,
f = !1,
o = !1,
a,
y;
if (r) {
for (y in r) if (a = /^(Moz|webkit|O|ms)(?=[A-Z])/.exec(y)) {
i = a[0],
i = i.substr(0, 1).toUpperCase() + i.substr(1);
break
}
i || (i = "WebkitOpacity" in r && "webkit"),
f = !!("transition" in r || i + "Transition" in r),
o = !!("animation" in r || i + "Animation" in r),
!h || f && o || (f = e(u.body.style.webkitTransition), o = e(u.body.style.webkitAnimation))
}
return {
history: !!(n.history && n.history.pushState && !(h < 4) && !w),
hashchange: "onhashchange" in n && (!c || c > 7),
hasEvent: function(n) {
if (n == "input" && p == 9) return ! 1;
if (l(s[n])) {
var t = u.createElement("div");
s[n] = "on" + n in t
}
return s[n]
},
csp: gf(),
vendorPrefix: i,
transitions: f,
animations: o,
android: h,
msie: p,
msieDocumentMode: c
}
}]
}
function yl() {
this.$get = ["$rootScope", "$browser", "$q", "$exceptionHandler",
function(n, t, i, r) {
function e(e, o, s) {
var h = i.defer(),
c = h.promise,
a = f(s) && !s,
l;
return l = t.defer(function() {
try {
h.resolve(e())
} catch(t) {
h.reject(t),
r(t)
} finally {
delete u[c.$$timeoutId]
}
a || n.$apply()
},
o),
c.$$timeoutId = l,
u[l] = h,
c
}
var u = {};
return e.cancel = function(n) {
return n && n.$$timeoutId in u ? (u[n.$$timeoutId].reject("canceled"), delete u[n.$$timeoutId], t.defer.cancel(n.$$timeoutId)) : !1
},
e
}]
}
function wt(n) {
var t = n;
return p && (b.setAttribute("href", t), t = b.href),
b.setAttribute("href", t),
{
href: b.href,
protocol: b.protocol ? b.protocol.replace(/:$/, "") : "",
host: b.host,
search: b.search ? b.search.replace(/^\?/, "") : "",
hash: b.hash ? b.hash.replace(/^#/, "") : "",
hostname: b.hostname,
port: b.port,
pathname: b.pathname.charAt(0) === "/" ? b.pathname: "/" + b.pathname
}
}
function co(n) {
var t = e(n) ? wt(n) : n;
return t.protocol === af.protocol && t.host === af.host
}
function pl() {
this.$get = nt(n)
}
function lo(n) {
function t(u, f) {
if (a(u)) {
var e = {};
return r(u,
function(n, i) {
e[i] = t(i, n)
}),
e
}
return n.factory(u + i, f)
}
var i = "Filter";
this.register = t,
this.$get = ["$injector",
function(n) {
return function(t) {
return n.get(t + i)
}
}],
t("currency", ao),
t("date", po),
t("filter", wl),
t("json", ta),
t("limitTo", ia),
t("lowercase", wo),
t("number", vo),
t("orderBy", ko),
t("uppercase", bo)
}
function wl() {
return function(n, t, i) {
var e, r, u, c, o, f, h;
if (!s(n)) return n;
e = typeof i,
r = [],
r.check = function(n) {
for (var t = 0; t < r.length; t++) if (!r[t](n)) return ! 1;
return ! 0
},
e !== "function" && (i = e === "boolean" && i ?
function(n, t) {
return yi.equals(n, t)
}: function(n, t) {
if (n && t && typeof n == "object" && typeof t == "object") {
for (var r in n) if (r.charAt(0) !== "$" && ou.call(n, r) && i(n[r], t[r])) return ! 0;
return ! 1
}
return t = ("" + t).toLowerCase(),
("" + n).toLowerCase().indexOf(t) > -1
}),
u = function(n, t) {
var f, r;
if (typeof t == "string" && t.charAt(0) === "!") return ! u(n, t.substr(1));
switch (typeof n) {
case "boolean":
case "number":
case "string":
return i(n, t);
case "object":
switch (typeof t) {
case "object":
return i(n, t);
default:
for (f in n) if (f.charAt(0) !== "$" && u(n[f], t)) return ! 0
}
return ! 1;
case "array":
for (r = 0; r < n.length; r++) if (u(n[r], t)) return ! 0;
return ! 1;
default:
return ! 1
}
};
switch (typeof t) {
case "boolean":
case "number":
case "string":
t = {
$: t
};
case "object":
for (c in t)(function(n) {
typeof t[n] != "undefined" && r.push(function(i) {
return u(n == "$" ? i: i && i[n], t[n])
})
})(c);
break;
case "function":
r.push(t);
break;
default:
return n
}
for (o = [], f = 0; f < n.length; f++) h = n[f],
r.check(h) && o.push(h);
return o
}
}
function ao(n) {
var t = n.NUMBER_FORMATS;
return function(n, i) {
return l(i) && (i = t.CURRENCY_SYM),
yo(n, t.PATTERNS[1], t.GROUP_SEP, t.DECIMAL_SEP, 2).replace(/\u00A4/g, i)
}
}
function vo(n) {
var t = n.NUMBER_FORMATS;
return function(n, i) {
return yo(n, t.PATTERNS[0], t.GROUP_SEP, t.DECIMAL_SEP, i)
}
}
function yo(n, t, i, r, u) {
var p, v, k, o, s;
if (n == null || !isFinite(n) || a(n)) return "";
p = n < 0,
n = Math.abs(n);
var h = n + "",
e = "",
c = [],
b = !1;
if (h.indexOf("e") !== -1 && (v = h.match(/([\d\.]+)e(-?)(\d+)/), v && v[2] == "-" && v[3] > u + 1 ? (h = "0", n = 0) : (e = h, b = !0)), b) u > 0 && n > -1 && n < 1 && (e = n.toFixed(u));
else {
k = (h.split(vf)[1] || "").length,
l(u) && (u = Math.min(Math.max(t.minFrac, k), t.maxFrac)),
n = +(Math.round( + (n.toString() + "e" + u)).toString() + "e" + -u),
o = ("" + n).split(vf),
s = o[0],
o = o[1] || "";
var f, y = 0,
w = t.lgSize,
d = t.gSize;
if (s.length >= w + d) for (y = s.length - w, f = 0; f < y; f++)(y - f) % d == 0 && f !== 0 && (e += i),
e += s.charAt(f);
for (f = y; f < s.length; f++)(s.length - f) % w == 0 && f !== 0 && (e += i),
e += s.charAt(f);
while (o.length < u) o += "0";
u && u !== "0" && (e += r + o.substr(0, u))
}
return c.push(p ? t.negPre: t.posPre),
c.push(e),
c.push(p ? t.negSuf: t.posSuf),
c.join("")
}
function yf(n, t, i) {
var r = "";
for (n < 0 && (r = "-", n = -n), n = "" + n; n.length < t;) n = "0" + n;
return i && (n = n.substr(n.length - t)),
r + n
}
function d(n, t, i, r) {
return i = i || 0,
function(u) {
var f = u["get" + n]();
return (i > 0 || f > -i) && (f += i),
f === 0 && i == -12 && (f = 12),
yf(f, t, r)
}
}
function tu(n, t) {
return function(i, r) {
var u = i["get" + n](),
f = dt(t ? "SHORT" + n: n);
return r[f][u]
}
}
function bl(n) {
var t = -1 * n.getTimezoneOffset(),
i = t >= 0 ? "+": "";
return i + (yf(Math[t > 0 ? "floor": "ceil"](t / 60), 2) + yf(Math.abs(t % 60), 2))
}
function kl(n, t) {
return n.getHours() < 12 ? t.AMPMS[0] : t.AMPMS[1]
}
function po(n) {
function i(n) {
var i;
if (i = n.match(t)) {
var r = new Date(0),
u = 0,
f = 0,
e = i[8] ? r.setUTCFullYear: r.setFullYear,
o = i[8] ? r.setUTCHours: r.setHours;
i[9] && (u = k(i[9] + i[10]), f = k(i[9] + i[11])),
e.call(r, k(i[1]), k(i[2]) - 1, k(i[3]));
var s = k(i[4] || 0) - u,
h = k(i[5] || 0) - f,
c = k(i[6] || 0),
l = Math.round(parseFloat("0." + (i[7] || 0)) * 1e3);
return o.call(r, s, h, c, l),
r
}
return n
}
var t = /^(\d{4})-?(\d\d)-?(\d\d)(?:T(\d\d)(?::?(\d\d)(?::?(\d\d)(?:\.(\d+))?)?)?(Z|([+-])(\d\d):?(\d\d))?)?$/;
return function(t, u) {
var h = "",
f = [],
o,
s;
if (u = u || "mediumDate", u = n.DATETIME_FORMATS[u] || u, e(t) && (t = na.test(t) ? k(t) : i(t)), hu(t) && (t = new Date(t)), !wi(t)) return t;
while (u) s = gl.exec(u),
s ? (f = cu(f, s, 1), u = f.pop()) : (f.push(u), u = null);
return r(f,
function(i) {
o = dl[i],
h += o ? o(t, n.DATETIME_FORMATS) : i.replace(/(^'|'$)/g, "").replace(//g, "'")
}),
h
}
}
function ta() {
return function(n) {
return ht(n, !0)
}
}
function ia() {
return function(n, t) {
if (!s(n) && !e(n)) return n;
if (t = Math.abs(Number(t)) === Infinity ? Number(t) : k(t), e(n)) return t ? t >= 0 ? n.slice(0, t) : n.slice(t, n.length) : "";
var u = [],
i,
r;
for (t > n.length ? t = n.length: t < -n.length && (t = -n.length), t > 0 ? (i = 0, r = t) : (i = n.length + t, r = n.length); i < r; i++) u.push(n[i]);
return u
}
}
function ko(n) {
return function(t, i, r) {
function c(n, t) {
for (var u, r = 0; r < i.length; r++) if (u = i[r](n, t), u !== 0) return u;
return 0
}
function o(n, t) {
return di(t) ?
function(t, i) {
return n(i, t)
}: n
}
function h(n, t) {
var i = typeof n,
r = typeof t;
return i == r ? (i == "string" && (n = n.toLowerCase(), t = t.toLowerCase()), n === t) ? 0 : n < t ? -1 : 1 : i < r ? -1 : 1
}
var f, u;
if (!s(t) || !i) return t;
for (i = s(i) ? i: [i], i = ws(i,
function(t) {
var r = !1,
i = t || fi,
u;
return e(t) && ((t.charAt(0) == "+" || t.charAt(0) == "-") && (r = t.charAt(0) == "-", t = t.substring(1)), i = n(t), i.constant) ? (u = i(), o(function(n, t) {
return h(n[u], t[u])
},
r)) : o(function(n, t) {
return h(i(n), i(t))
},
r)
}), f = [], u = 0; u < t.length; u++) f.push(t[u]);
return f.sort(o(c, r))
}
}
function bt(n) {
return h(n) && (n = {
link: n
}),
n.restrict = n.restrict || "AC",
nt(n)
}
function ns(n, t, i, u) {
function e(t, i) {
i = i ? "-" + yr(i, "-") : "",
u.removeClass(n, (t ? fu: uu) + i),
u.addClass(n, (t ? uu: fu) + i)
}
var f = this,
o = n.parent().controller("form") || sr,
s = 0,
h = f.$error = {},
c = [];
f.$name = t.name || t.ngForm,
f.$dirty = !1,
f.$pristine = !0,
f.$valid = !0,
f.$invalid = !1,
o.$addControl(f),
n.addClass(ai),
e(!0),
f.$addControl = function(n) {
ii(n.$name, "input"),
c.push(n),
n.$name && (f[n.$name] = n)
},
f.$removeControl = function(n) {
n.$name && f[n.$name] === n && delete f[n.$name],
r(h,
function(t, i) {
f.$setValidity(i, !0, n)
}),
ki(c, n)
},
f.$setValidity = function(n, t, i) {
var r = h[n];
if (t) r && (ki(r, i), r.length || (s--, s || (e(t), f.$valid = !0, f.$invalid = !1), h[n] = !1, e(!0, n), o.$setValidity(n, !0, f)));
else {
if (s || e(t), r) {
if (bs(r, i)) return
} else h[n] = r = [],
s++,
e(!1, n),
o.$setValidity(n, !1, f);
r.push(i),
f.$valid = !1,
f.$invalid = !0
}
},
f.$setDirty = function() {
u.removeClass(n, ai),
u.addClass(n, eu),
f.$dirty = !0,
f.$pristine = !1,
o.$setDirty()
},
f.$setPristine = function() {
u.removeClass(n, eu),
u.addClass(n, ai),
f.$dirty = !1,
f.$pristine = !0,
r(c,
function(n) {
n.$setPristine()
})
}
}
function kt(n, t, r, u) {
return n.$setValidity(t, r),
r ? u: i
}
function rs(n, t) {
var i, r;
if (t) for (i = 0; i < t.length; ++i) if (r = t[i], n[r]) return ! 0;
return ! 1
}
function sa(n, t, i, r, u) {
if (a(u)) {
n.$$hasNativeValidators = !0;
var f = function(f) {
if (!n.$error[t] && !rs(u, r) && rs(u, i)) {
n.$setValidity(t, !1);
return
}
return f
};
n.$parsers.push(f)
}
}
function ru(n, t, i, r, u, f) {
var d = t.prop(ss),
nt = t[0].placeholder,
rt = {},
s,
o,
l,
a,
e,
h,
c,
v,
tt,
w,
it,
b;
if (r.$$validityState = d, !u.android) {
s = !1;
t.on("compositionstart",
function() {
s = !0
});
t.on("compositionend",
function() {
s = !1,
o()
})
}
if (o = function(u) {
var f, e;
if (!s) {
if (f = t.val(), p && (u || rt).type === "input" && t[0].placeholder !== nt) {
nt = t[0].placeholder;
return
}
di(i.ngTrim || "T") && (f = g(f)),
e = d && r.$$hasNativeValidators,
(r.$viewValue !== f || f === "" && e) && (n.$$phase ? r.$setViewValue(f) : n.$apply(function() {
r.$setViewValue(f)
}))
}
},
u.hasEvent("input")) t.on("input", o);
else {
a = function() {
l || (l = f.defer(function() {
o(),
l = null
}))
};
t.on("keydown",
function(n) {
var t = n.keyCode;
t === 91 || 15 < t && t < 19 || 37 <= t && t <= 40 || a()
});
if (u.hasEvent("paste")) t.on("paste cut", a)
}
t.on("change", o);
r.$render = function() {
t.val(r.$isEmpty(r.$viewValue) ? "": r.$viewValue)
},
e = i.ngPattern,
e && (v = function(n, t) {
return kt(r, "pattern", r.$isEmpty(t) || n.test(t), t)
},
c = e.match(/^\/(.*)\/([gim]*)$/), c ? (e = new RegExp(c[1], c[2]), h = function(n) {
return v(e, n)
}) : h = function(i) {
var r = n.$eval(e);
if (!r || !r.test) throw y("ngPattern")("noregexp", "Expected {0} to be a RegExp but was {1}. Element: {2}", e, r, et(t));
return v(r, i)
},
r.$formatters.push(h), r.$parsers.push(h)),
i.ngMinlength && (tt = k(i.ngMinlength), w = function(n) {
return kt(r, "minlength", r.$isEmpty(n) || n.length >= tt, n)
},
r.$parsers.push(w), r.$formatters.push(w)),
i.ngMaxlength && (it = k(i.ngMaxlength), b = function(n) {
return kt(r, "maxlength", r.$isEmpty(n) || n.length <= it, n)
},
r.$parsers.push(b), r.$formatters.push(b))
}
function ha(n, t, r, u, f, e) {
var o, s;
ru(n, t, r, u, f, e),
u.$parsers.push(function(n) {
var t = u.$isEmpty(n);
return t || oa.test(n) ? (u.$setValidity("number", !0), n === "" ? null: t ? n: parseFloat(n)) : (u.$setValidity("number", !1), i)
}),
sa(u, "number", us, null, u.$$validityState),
u.$formatters.push(function(n) {
return u.$isEmpty(n) ? "": "" + n
}),
r.min && (o = function(n) {
var t = parseFloat(r.min);
return kt(u, "min", u.$isEmpty(n) || n >= t, n)
},
u.$parsers.push(o), u.$formatters.push(o)),
r.max && (s = function(n) {
var t = parseFloat(r.max);
return kt(u, "max", u.$isEmpty(n) || n <= t, n)
},
u.$parsers.push(s), u.$formatters.push(s)),
u.$formatters.push(function(n) {
return kt(u, "number", u.$isEmpty(n) || hu(n), n)
})
}
function ca(n, t, i, r, u, f) {
ru(n, t, i, r, u, f);
var e = function(n) {
return kt(r, "url", r.$isEmpty(n) || fa.test(n), n)
};
r.$formatters.push(e),
r.$parsers.push(e)
}
function la(n, t, i, r, u, f) {
ru(n, t, i, r, u, f);
var e = function(n) {
return kt(r, "email", r.$isEmpty(n) || ea.test(n), n)
};
r.$formatters.push(e),
r.$parsers.push(e)
}
function aa(n, t, i, r) {
l(i.name) && t.attr("name", cr());
t.on("click",
function() {
t[0].checked && n.$apply(function() {
r.$setViewValue(i.value)
})
});
r.$render = function() {
var n = i.value;
t[0].checked = n == r.$viewValue
},
i.$observe("value", r.$render)
}
function va(n, t, i, r) {
var u = i.ngTrueValue,
f = i.ngFalseValue;
e(u) || (u = !0),
e(f) || (f = !1);
t.on("click",
function() {
n.$apply(function() {
r.$setViewValue(t[0].checked)
})
});
r.$render = function() {
t[0].checked = r.$viewValue
},
r.$isEmpty = function(n) {
return n !== u
},
r.$formatters.push(function(n) {
return n === u
}),
r.$parsers.push(function(n) {
return n ? u: f
})
}
function pf(n, t) {
return n = "ngClass" + n,
["$animate",
function(i) {
function f(n, t) {
var f = [],
i,
u,
r;
n: for (i = 0; i < n.length; i++) {
for (u = n[i], r = 0; r < t.length; r++) if (u == t[r]) continue n;
f.push(u)
}
return f
}
function u(n) {
if (s(n)) return n;
if (e(n)) return n.split(" ");
if (a(n)) {
var t = [];
return r(n,
function(n, i) {
n && (t = t.concat(i.split(" ")))
}),
t
}
return n
}
return {
restrict: "AC",
link: function(e, o, s) {
function l(n) {
var t = c(n, 1);
s.$addClass(t)
}
function v(n) {
var t = c(n, -1);
s.$removeClass(t)
}
function c(n, t) {
var i = o.data("$classCounts") || {},
u = [];
return r(n,
function(n) { (t > 0 || i[n]) && (i[n] = (i[n] || 0) + t, i[n] === +(t > 0) && u.push(n))
}),
o.data("$classCounts", i),
u.join(" ")
}
function y(n, t) {
var r = f(t, n),
u = f(n, t);
u = c(u, -1),
r = c(r, 1),
r.length === 0 ? i.removeClass(o, u) : u.length === 0 ? i.addClass(o, r) : i.setClass(o, r, u)
}
function a(n) {
var i, r; (t === !0 || e.$index % 2 === t) && (i = u(n || []), h ? ni(n, h) || (r = u(h), y(r, i)) : l(i)),
h = st(n)
}
var h;
e.$watch(s[n], a, !0),
s.$observe("class",
function() {
a(e.$eval(s[n]))
}),
n !== "ngClass" && e.$watch("$index",
function(i, r) {
var o = i & 1,
f;
o !== (r & 1) && (f = u(e.$eval(s[n])), o === t ? l(f) : v(f))
})
}
}
}]
}
var ss = "validity",
v = function(n) {
return e(n) ? n.toLowerCase() : n
},
ou = Object.prototype.hasOwnProperty,
dt = function(n) {
return e(n) ? n.toUpperCase() : n
},
hs = function(n) {
return e(n) ? n.replace(/[A-Z]/g,
function(n) {
return String.fromCharCode(n.charCodeAt(0) | 32)
}) : n
},
cs = function(n) {
return e(n) ? n.replace(/[a-z]/g,
function(n) {
return String.fromCharCode(n.charCodeAt(0) & -33)
}) : n
},
s,
g,
ue,
ee,
ri,
rr,
tf,
pe,
we,
ut,
ke,
uf,
ft,
cf,
pt,
li,
nu,
vt,
it,
b,
af,
vf,
wo,
bo,
go,
iu,
sr,
us;
"i" !== "I".toLowerCase() && (v = hs, dt = cs);
var p, u, yt, su = [].slice,
ls = [].push,
gt = Object.prototype.toString,
vi = y("ng"),
yi = n.angular || (n.angular = {}),
pi,
ui,
ot = ["0", "0", "0"];
p = k((/msie (\d+)/.exec(v(navigator.userAgent)) || [])[1]),
isNaN(p) && (p = k((/trident\/.*; rv:(\d+)/.exec(v(navigator.userAgent)) || [])[1])),
o.$inject = [],
fi.$inject = [],
s = function() {
return h(Array.isArray) ? Array.isArray: function(n) {
return gt.call(n) === "[object Array]"
}
} (),
g = function() {
return String.prototype.trim ?
function(n) {
return e(n) ? n.trim() : n
}: function(n) {
return e(n) ? n.replace(/^\s\s*/, "").replace(/\s\s*$/, "") : n
}
} (),
ui = p < 9 ?
function(n) {
return n = n.nodeName ? n: n[0],
n.scopeName && n.scopeName != "HTML" ? dt(n.scopeName + ":" + n.nodeName) : n.nodeName
}: function(n) {
return n.nodeName ? n.nodeName: n[0].nodeName
},
ue = /[A-Z]/g,
ee = {
full: "1.2.19",
major: 1,
minor: 2,
dot: 19,
codeName: "precognitive-flashbacks"
},
w.expando = "ng339";
var nr = w.cache = {},
ih = 1,
pr = n.document.addEventListener ?
function(n, t, i) {
n.addEventListener(t, i, !1)
}: function(n, t, i) {
n.attachEvent("on" + t, i)
},
tr = n.document.removeEventListener ?
function(n, t, i) {
n.removeEventListener(t, i, !1)
}: function(n, t, i) {
n.detachEvent("on" + t, i)
},
ey = w._data = function(n) {
return this.cache[n[this.expando]] || {}
};
var uh = /([\:\-\_]+(.))/g,
fh = /^moz([A-Z])/,
wu = y("jqLite");
var eh = /^<(\w+)\s*\/?>(?:<\/\1>|)$/,
oh = /<|&#?\w+;/,
sh = /<([\w:]+)/,
hh = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,
rt = {
option: [1, '<select multiple="multiple">', "<\/select>"],
thead: [1, "