Apply For a Small Business Loan or Line of Credit Online| TD Bank (2024)

").append(m.parseHTML(a)).find(d) : a)}).complete(c && function(a, b) {g.each(c, e || [a.responseText, b, a])}), this}, m.expr.filters.animated = function(a) {return m.grep(m.timers, function(b) {return a === b.elem}).length};var cd = a.document.documentElement;function dd(a) {return m.isWindow(a) ? a : 9 === a.nodeType ? a.defaultView || a.parentWindow : !1}m.offset = {setOffset: function(a, b, c) {var d, e, f, g, h, i, j, k = m.css(a, "position"),l = m(a),n = {};"static" === k && (a.style.position = "relative"), h = l.offset(), f = m.css(a, "top"), i = m.css(a, "left"), j = ("absolute" === k || "fixed" === k) && m.inArray("auto", [f, i]) > -1, j ? (d = l.position(), g = d.top, e = d.left) : (g = parseFloat(f) || 0, e = parseFloat(i) || 0), m.isFunction(b) && (b = b.call(a, c, h)), null != b.top && (n.top = b.top - h.top + g), null != b.left && (n.left = b.left - h.left + e), "using" in b ? b.using.call(a, n) : l.css(n)}}, m.fn.extend({offset: function(a) {if(arguments.length) return void 0 === a ? this : this.each(function(b) {m.offset.setOffset(this, a, b)});var b, c, d = {top: 0,left: 0},e = this[0],f = e && e.ownerDocument;if(f) return b = f.documentElement, m.contains(b, e) ? (typeof e.getBoundingClientRect !== K && (d = e.getBoundingClientRect()), c = dd(f), {top: d.top + (c.pageYOffset || b.scrollTop) - (b.clientTop || 0),left: d.left + (c.pageXOffset || b.scrollLeft) - (b.clientLeft || 0)}) : d},position: function() {if(this[0]) {var a, b, c = {top: 0,left: 0},d = this[0];return "fixed" === m.css(d, "position") ? b = d.getBoundingClientRect() : (a = this.offsetParent(), b = this.offset(), m.nodeName(a[0], "html") || (c = a.offset()), c.top += m.css(a[0], "borderTopWidth", !0), c.left += m.css(a[0], "borderLeftWidth", !0)), {top: b.top - c.top - m.css(d, "marginTop", !0),left: b.left - c.left - m.css(d, "marginLeft", !0)}}},offsetParent: function() {return this.map(function() {var a = this.offsetParent || cd;while(a && !m.nodeName(a, "html") && "static" === m.css(a, "position")) a = a.offsetParent;return a || cd})}}), m.each({scrollLeft: "pageXOffset",scrollTop: "pageYOffset"}, function(a, b) {var c = /Y/.test(b);m.fn[a] = function(d) {return V(this, function(a, d, e) {var f = dd(a);return void 0 === e ? f ? b in f ? f[b] : f.document.documentElement[d] : a[d] : void(f ? f.scrollTo(c ? m(f).scrollLeft() : e, c ? e : m(f).scrollTop()) : a[d] = e)}, a, d, arguments.length, null)}}), m.each(["top", "left"], function(a, b) {m.cssHooks[b] = Lb(k.pixelPosition, function(a, c) {return c ? (c = Jb(a, b), Hb.test(c) ? m(a).position()[b] + "px" : c) : void 0})}), m.each({Height: "height",Width: "width"}, function(a, b) {m.each({padding: "inner" + a,content: b,"": "outer" + a}, function(c, d) {m.fn[d] = function(d, e) {var f = arguments.length && (c || "boolean" != typeof d),g = c || (d === !0 || e === !0 ? "margin" : "border");return V(this, function(b, c, d) {var e;return m.isWindow(b) ? b.document.documentElement["client" + a] : 9 === b.nodeType ? (e = b.documentElement, Math.max(b.body["scroll" + a], e["scroll" + a], b.body["offset" + a], e["offset" + a], e["client" + a])) : void 0 === d ? m.css(b, c, g) : m.style(b, c, d, g)}, b, f ? d : void 0, f, null)}})}), m.fn.size = function() {return this.length}, m.fn.andSelf = m.fn.addBack, "function" == typeof define && define.amd && define("jquery", [], function() {return m});var ed = a.jQuery,fd = a.$;return m.noConflict = function(b) {return a.$ === m && (a.$ = fd), b && a.jQuery === m && (a.jQuery = ed), m}, typeof b === K && (a.jQuery = a.$ = m), m});; /* Metadata - jQuery plugin for parsing metadata from elements Copyright (c) 2006 John Resig, Yehuda Katz, J�örn Zaefferer, Paul McLanahan Dual licensed under the MIT and GPL licenses:*/(function($) {$.extend({metadata: {defaults: {type: "class",name: "metadata",cre: /({.*})/,single: "metadata"},setType: function(type, name) {this.defaults.type = type;this.defaults.name = name},get: function(elem, opts) {var settings = $.extend({}, this.defaults, opts);if(!settings.single.length) {settings.single = "metadata"}var data = $.data(elem, settings.single);if(data) {return data}data = "{}";var getData = function(data) {if(typeof data != "string") {return data}if(data.indexOf("{") < 0) {data = eval("(" + data + ")")}};var getObject = function(data) {if(typeof data != "string") {return data}data = eval("(" + data + ")");return data};if(settings.type == "html5") {var object = {};$(elem.attributes).each(function() {var name = this.nodeName;if(name.match(/^data-/)) {name = name.replace(/^data-/, "")} else {return true}object[name] = getObject(this.nodeValue)})} else {if(settings.type == "class") {var m = settings.cre.exec(elem.className);if(m) {data = m[1]}} else {if(settings.type == "elem") {if(!elem.getElementsByTagName) {return}var e = elem.getElementsByTagName(settings.name);if(e.length) {data = $.trim(e[0].innerHTML)}} else {if(elem.getAttribute != undefined) {var attr = elem.getAttribute(settings.name);if(attr) {data = attr}}}}object = getObject(data.indexOf("{") < 0 ? "{" + data + "}" : data)}$.data(elem, settings.single, object);return object}}});$.fn.metadata = function(opts) {return $.metadata.get(this[0], opts)}})(jQuery);;/* Modernizr 2.8.3 (Custom Build) | MIT & BSD * Build: http://modernizr.com/download/#-fontface-backgroundsize-borderimage-borderradius-boxshadow-flexbox-flexboxlegacy-hsla-multiplebgs-opacity-rgba-textshadow-cssanimations-csscolumns-generatedcontent-cssgradients-cssreflections-csstransforms-csstransforms3d-csstransitions-touch-cssclasses-teststyles-testprop-testallprops-hasevent-prefixes-domprefixes */;window.Modernizr = function(a, b, c) {function B(a) {j.cssText = a}function C(a, b) {return B(n.join(a + ";") + (b || ""))}function D(a, b) {return typeof a === b}function E(a, b) {return !!~("" + a).indexOf(b)}function F(a, b) {for(var d in a) {var e = a[d];if(!E(e, "-") && j[e] !== c) return b == "pfx" ? e : !0}return !1}function G(a, b, d) {for(var e in a) {var f = b[a[e]];if(f !== c) return d === !1 ? a[e] : D(f, "function") ? f.bind(d || b) : f}return !1}function H(a, b, c) {var d = a.charAt(0).toUpperCase() + a.slice(1),e = (a + " " + p.join(d + " ") + d).split(" ");return D(b, "string") || D(b, "undefined") ? F(e, b) : (e = (a + " " + q.join(d + " ") + d).split(" "), G(e, b, c))}var d = "2.8.3",e = {},f = !0,g = b.documentElement,h = "modernizr",i = b.createElement(h),j = i.style,k, l = ":)",m = {}.toString,n = " -webkit- -moz- -o- -ms- ".split(" "),o = "Webkit Moz O ms",p = o.split(" "),q = o.toLowerCase().split(" "),r = {},s = {},t = {},u = [],v = u.slice,w, x = function(a, c, d, e) {var f, i, j, k, l = b.createElement("div"),m = b.body,n = m || b.createElement("body");if(parseInt(d, 10))while(d--) j = b.createElement("div"), j.id = e ? e[d] : h + (d + 1), l.appendChild(j);return f = ["­", '

"].join(""), l.id = h, (m ? l : n).innerHTML += f, n.appendChild(l), m || (n.style.background = "", n.style.overflow = "hidden", k = g.style.overflow, g.style.overflow = "hidden", g.appendChild(n)), i = c(l, a), m ? l.parentNode.removeChild(l) : (n.parentNode.removeChild(n), g.style.overflow = k), !!i},y = function() {function d(d, e) {e = e || b.createElement(a[d] || "div"), d = "on" + d;var f = d in e;return f || (e.setAttribute || (e = b.createElement("div")), e.setAttribute && e.removeAttribute && (e.setAttribute(d, ""), f = D(e[d], "function"), D(e[d], "undefined") || (e[d] = c), e.removeAttribute(d))), e = null, f}var a = {select: "input",change: "input",submit: "form",reset: "form",error: "img",load: "img",abort: "img"};return d}(),z = {}.hasOwnProperty,A;!D(z, "undefined") && !D(z.call, "undefined") ? A = function(a, b) {return z.call(a, b)} : A = function(a, b) {return b in a && D(a.constructor.prototype[b], "undefined")}, Function.prototype.bind || (Function.prototype.bind = function(b) {var c = this;if(typeof c != "function") throw new TypeError;var d = v.call(arguments, 1),e = function() {if(this instanceof e) {var a = function() {};a.prototype = c.prototype;var f = new a,g = c.apply(f, d.concat(v.call(arguments)));return Object(g) === g ? g : f}return c.apply(b, d.concat(v.call(arguments)))};return e}), r.flexbox = function() {return H("flexWrap")}, r.flexboxlegacy = function() {return H("boxDirection")}, r.touch = function() {var c;return "ontouchstart" in a || a.DocumentTouch && b instanceof DocumentTouch ? c = !0 : x(["@media (", n.join("touch-enabled),("), h, ")", "{#modernizr{top:9px;position:absolute}}"].join(""), function(a) {c = a.offsetTop === 9}), c}, r.rgba = function() {return B("background-color:rgba(150,255,150,.5)"), E(j.backgroundColor, "rgba")}, r.hsla = function() {return B("background-color:hsla(120,40%,100%,.5)"), E(j.backgroundColor, "rgba") || E(j.backgroundColor, "hsla")}, r.multiplebgs = function() {return B("background:url(https://),url(https://),red url(https://)"), /(url\s*\(.*?){3}/.test(j.background)}, r.backgroundsize = function() {return H("backgroundSize")}, r.borderimage = function() {return H("borderImage")}, r.borderradius = function() {return H("borderRadius")}, r.boxshadow = function() {return H("boxShadow")}, r.textshadow = function() {return b.createElement("div").style.textShadow === ""}, r.opacity = function() {return C("opacity:.55"), /^0.55$/.test(j.opacity)}, r.cssanimations = function() {return H("animationName")}, r.csscolumns = function() {return H("columnCount")}, r.cssgradients = function() {var a = "background-image:",b = "gradient(linear,left top,right bottom,from(#9f9),to(white));",c = "linear-gradient(left top,#9f9, white);";return B((a + "-webkit- ".split(" ").join(b + a) + n.join(c + a)).slice(0, -a.length)), E(j.backgroundImage, "gradient")}, r.cssreflections = function() {return H("boxReflect")}, r.csstransforms = function() {return !!H("transform")}, r.csstransforms3d = function() {var a = !!H("perspective");return a && "webkitPerspective" in g.style && x("@media (transform-3d),(-webkit-transform-3d){#modernizr{left:9px;position:absolute;height:3px;}}", function(b, c) {a = b.offsetLeft === 9 && b.offsetHeight === 3}), a}, r.csstransitions = function() {return H("transition")}, r.fontface = function() {var a;return x('@font-face {font-family:"font";src:url("https://")}', function(c, d) {var e = b.getElementById("smodernizr"),f = e.sheet || e.styleSheet,g = f ? f.cssRules && f.cssRules[0] ? f.cssRules[0].cssText : f.cssText || "" : "";a = /src/i.test(g) && g.indexOf(d.split(" ")[0]) === 0}), a}, r.generatedcontent = function() {var a;return x(["#", h, "{font:0/0 a}#", h, ':after{content:"', l, '";visibility:hidden;font:3px/1 a}'].join(""), function(b) {a = b.offsetHeight >= 3}), a};for(var I in r) A(r, I) && (w = I.toLowerCase(), e[w] = r[I](), u.push((e[w] ? "" : "no-") + w));return e.addTest = function(a, b) {if(typeof a == "object")for(var d in a) A(a, d) && e.addTest(d, a[d]);else {a = a.toLowerCase();if(e[a] !== c) return e;b = typeof b == "function" ? b() : b, typeof f != "undefined" && f && (g.className += " " + (b ? "" : "no-") + a), e[a] = b}return e}, B(""), i = k = null, e._version = d, e._prefixes = n, e._domPrefixes = q, e._cssomPrefixes = p, e.hasEvent = y, e.testProp = function(a) {return F([a])}, e.testAllProps = H, e.testStyles = x, g.className = g.className.replace(/(^|\s)no-js(\s|$)/, "$1$2") + (f ? " js " + u.join(" ") : ""), e}(this, this.document);;! function(a, b) {"function" == typeof define && define.amd ? define(b) : a.Dragdealer = b()}(this, function() {function j(a) {var b = "Webkit Moz ms O".split(" "),c = document.documentElement.style;if(void 0 !== c[a]) return a;a = a.charAt(0).toUpperCase() + a.substr(1);for(var d = 0; d < b.length; d++)if(void 0 !== c[b[d] + a]) return b[d] + a}function k(a) {i.backfaceVisibility && i.perspective && (a.style[i.perspective] = "1000px", a.style[i.backfaceVisibility] = "hidden")}var a = function(a, b) {this.options = this.applyDefaults(b || {}), this.bindMethods(), this.wrapper = this.getWrapperElement(a), this.wrapper && (this.handle = this.getHandleElement(this.wrapper, this.options.handleClass), this.handle && (this.init(), this.bindEventListeners()))};a.prototype = {defaults: {disabled: !1,horizontal: !0,vertical: !1,slide: !0,steps: 0,snap: !1,loose: !1,speed: .1,xPrecision: 0,yPrecision: 0,handleClass: "handle",css3: !0,activeClass: "active",tapping: !0},init: function() {this.options.css3 && k(this.handle), this.value = {prev: [-1, -1],current: [this.options.x || 0, this.options.y || 0],target: [this.options.x || 0, this.options.y || 0]}, this.offset = {wrapper: [0, 0],mouse: [0, 0],prev: [-999999, -999999],current: [0, 0],target: [0, 0]}, this.change = [0, 0], this.stepRatios = this.calculateStepRatios(), this.activity = !1, this.dragging = !1, this.tapping = !1, this.reflow(), this.options.disabled && this.disable()},applyDefaults: function(a) {for(var b in this.defaults) a.hasOwnProperty(b) || (a[b] = this.defaults[b]);return a},getWrapperElement: function(a) {return "string" == typeof a ? document.getElementById(a) : a},getHandleElement: function(a, b) {var c, d, e;if(a.getElementsByClassName) {if(c = a.getElementsByClassName(b), c.length > 0) return c[0]} elsefor(d = new RegExp("(^|\\s)" + b + "(\\s|$)"), c = a.getElementsByTagName("*"), e = 0; e < c.length; e++)if(d.test(c[e].className)) return c[e]},calculateStepRatios: function() {var a = [];if(this.options.steps >= 1)for(var b = 0; b <= this.options.steps - 1; b++) a[b] = this.options.steps > 1 ? b / (this.options.steps - 1) : 0;return a},setWrapperOffset: function() {this.offset.wrapper = h.get(this.wrapper)},calculateBounds: function() {var a = {top: this.options.top || 0,bottom: -(this.options.bottom || 0) + this.wrapper.offsetHeight,left: this.options.left || 0,right: -(this.options.right || 0) + this.wrapper.offsetWidth};return a.availWidth = a.right - a.left - this.handle.offsetWidth, a.availHeight = a.bottom - a.top - this.handle.offsetHeight, a},calculateValuePrecision: function() {var a = this.options.xPrecision || Math.abs(this.bounds.availWidth),b = this.options.yPrecision || Math.abs(this.bounds.availHeight);return [a ? 1 / a : 0, b ? 1 / b : 0]},bindMethods: function() {this.requestAnimationFrame = "function" == typeof this.options.customRequestAnimationFrame ? b(this.options.customRequestAnimationFrame, window) : b(m, window), this.cancelAnimationFrame = "function" == typeof this.options.customCancelAnimationFrame ? b(this.options.customCancelAnimationFrame, window) : b(n, window), this.animateWithRequestAnimationFrame = b(this.animateWithRequestAnimationFrame, this), this.animate = b(this.animate, this), this.onHandleMouseDown = b(this.onHandleMouseDown, this), this.onHandleTouchStart = b(this.onHandleTouchStart, this), this.onDocumentMouseMove = b(this.onDocumentMouseMove, this), this.onWrapperTouchMove = b(this.onWrapperTouchMove, this), this.onWrapperMouseDown = b(this.onWrapperMouseDown, this), this.onWrapperTouchStart = b(this.onWrapperTouchStart, this), this.onDocumentMouseUp = b(this.onDocumentMouseUp, this), this.onDocumentTouchEnd = b(this.onDocumentTouchEnd, this), this.onHandleClick = b(this.onHandleClick, this), this.onWindowResize = b(this.onWindowResize, this)},bindEventListeners: function() {c(this.handle, "mousedown", this.onHandleMouseDown), c(this.handle, "touchstart", this.onHandleTouchStart), c(document, "mousemove", this.onDocumentMouseMove), c(this.wrapper, "touchmove", this.onWrapperTouchMove), c(this.wrapper, "mousedown", this.onWrapperMouseDown), c(this.wrapper, "touchstart", this.onWrapperTouchStart), c(document, "mouseup", this.onDocumentMouseUp), c(document, "touchend", this.onDocumentTouchEnd), c(this.handle, "click", this.onHandleClick), c(window, "resize", this.onWindowResize), this.animate(!1, !0), this.interval = this.requestAnimationFrame(this.animateWithRequestAnimationFrame)},unbindEventListeners: function() {d(this.handle, "mousedown", this.onHandleMouseDown), d(this.handle, "touchstart", this.onHandleTouchStart), d(document, "mousemove", this.onDocumentMouseMove), d(this.wrapper, "touchmove", this.onWrapperTouchMove), d(this.wrapper, "mousedown", this.onWrapperMouseDown), d(this.wrapper, "touchstart", this.onWrapperTouchStart), d(document, "mouseup", this.onDocumentMouseUp), d(document, "touchend", this.onDocumentTouchEnd), d(this.handle, "click", this.onHandleClick), d(window, "resize", this.onWindowResize), this.cancelAnimationFrame(this.interval)},onHandleMouseDown: function(a) {g.refresh(a), e(a), f(a), this.activity = !1, this.startDrag()},onHandleTouchStart: function(a) {g.refresh(a), f(a), this.activity = !1, this.startDrag()},onDocumentMouseMove: function(a) {g.refresh(a), this.dragging && (this.activity = !0, e(a))},onWrapperTouchMove: function(a) {return g.refresh(a), !this.activity && this.draggingOnDisabledAxis() ? (this.dragging && this.stopDrag(), void 0) : (e(a), this.activity = !0, void 0)},onWrapperMouseDown: function(a) {g.refresh(a), e(a), this.startTap()},onWrapperTouchStart: function(a) {g.refresh(a), e(a), this.startTap()},onDocumentMouseUp: function() {this.stopDrag(), this.stopTap()},onDocumentTouchEnd: function() {this.stopDrag(), this.stopTap()},onHandleClick: function(a) {this.activity && (e(a), f(a))},onWindowResize: function() {this.reflow()},enable: function() {this.disabled = !1, this.handle.className = this.handle.className.replace(/\s?disabled/g, "")},disable: function() {this.disabled = !0, this.handle.className += " disabled"},reflow: function() {this.setWrapperOffset(), this.bounds = this.calculateBounds(), this.valuePrecision = this.calculateValuePrecision(), this.updateOffsetFromValue()},getStep: function() {return [this.getStepNumber(this.value.target[0]), this.getStepNumber(this.value.target[1])]},getValue: function() {return this.value.target},setStep: function(a, b, c) {this.setValue(this.options.steps && a > 1 ? (a - 1) / (this.options.steps - 1) : 0, this.options.steps && b > 1 ? (b - 1) / (this.options.steps - 1) : 0, c)},setValue: function(a, b, c) {this.setTargetValue([a, b || 0]), c && (this.groupCopy(this.value.current, this.value.target), this.updateOffsetFromValue(), this.callAnimationCallback())},startTap: function() {!this.disabled && this.options.tapping && (this.tapping = !0, this.setWrapperOffset(), this.setTargetValueByOffset([g.x - this.offset.wrapper[0] - this.handle.offsetWidth / 2, g.y - this.offset.wrapper[1] - this.handle.offsetHeight / 2]))},stopTap: function() {!this.disabled && this.tapping && (this.tapping = !1, this.setTargetValue(this.value.current))},startDrag: function() {this.disabled || (this.dragging = !0, this.setWrapperOffset(), this.offset.mouse = [g.x - h.get(this.handle)[0], g.y - h.get(this.handle)[1]], this.wrapper.className.match(this.options.activeClass) || (this.wrapper.className += " " + this.options.activeClass), this.callDragStartCallback())},stopDrag: function() {if(!this.disabled && this.dragging) {this.dragging = !1;var a = this.groupClone(this.value.current);if(this.options.slide) {var b = this.change;a[0] += 4 * b[0], a[1] += 4 * b[1]}this.setTargetValue(a), this.wrapper.className = this.wrapper.className.replace(" " + this.options.activeClass, ""), this.callDragStopCallback()}},callAnimationCallback: function() {var a = this.value.current;this.options.snap && this.options.steps > 1 && (a = this.getClosestSteps(a)), this.groupCompare(a, this.value.prev) || ("function" == typeof this.options.animationCallback && this.options.animationCallback.call(this, a[0], a[1]), this.groupCopy(this.value.prev, a))},callTargetCallback: function() {"function" == typeof this.options.callback && this.options.callback.call(this, this.value.target[0], this.value.target[1])},callDragStartCallback: function() {"function" == typeof this.options.dragStartCallback && this.options.dragStartCallback.call(this, this.value.target[0], this.value.target[1])},callDragStopCallback: function() {"function" == typeof this.options.dragStopCallback && this.options.dragStopCallback.call(this, this.value.target[0], this.value.target[1])},animateWithRequestAnimationFrame: function(a) {a ? (this.timeOffset = this.timeStamp ? a - this.timeStamp : 0, this.timeStamp = a) : this.timeOffset = 25, this.animate(), this.interval = this.requestAnimationFrame(this.animateWithRequestAnimationFrame)},animate: function(a, b) {if(!a || this.dragging) {if(this.dragging) {var c = this.groupClone(this.value.target),d = [g.x - this.offset.wrapper[0] - this.offset.mouse[0], g.y - this.offset.wrapper[1] - this.offset.mouse[1]];this.setTargetValueByOffset(d, this.options.loose), this.change = [this.value.target[0] - c[0], this.value.target[1] - c[1]]}(this.dragging || b) && this.groupCopy(this.value.current, this.value.target), (this.dragging || this.glide() || b) && (this.updateOffsetFromValue(), this.callAnimationCallback())}},glide: function() {var a = [this.value.target[0] - this.value.current[0], this.value.target[1] - this.value.current[1]];return a[0] || a[1] ? (Math.abs(a[0]) > this.valuePrecision[0] || Math.abs(a[1]) > this.valuePrecision[1] ? (this.value.current[0] += a[0] * Math.min(this.options.speed * this.timeOffset / 25, 1), this.value.current[1] += a[1] * Math.min(this.options.speed * this.timeOffset / 25, 1)) : this.groupCopy(this.value.current, this.value.target), !0) : !1},updateOffsetFromValue: function() {this.offset.current = this.options.snap ? this.getOffsetsByRatios(this.getClosestSteps(this.value.current)) : this.getOffsetsByRatios(this.value.current), this.groupCompare(this.offset.current, this.offset.prev) || (this.renderHandlePosition(), this.groupCopy(this.offset.prev, this.offset.current))},renderHandlePosition: function() {var a = "";return this.options.css3 && i.transform ? (this.options.horizontal && (a += "translateX(" + this.offset.current[0] + "px)"), this.options.vertical && (a += " translateY(" + this.offset.current[1] + "px)"), this.handle.style[i.transform] = a, void 0) : (this.options.horizontal && (this.handle.style.left = this.offset.current[0] + "px"), this.options.vertical && (this.handle.style.top = this.offset.current[1] + "px"), void 0)},setTargetValue: function(a, b) {var c = b ? this.getLooseValue(a) : this.getProperValue(a);this.groupCopy(this.value.target, c), this.offset.target = this.getOffsetsByRatios(c), this.callTargetCallback()},setTargetValueByOffset: function(a, b) {var c = this.getRatiosByOffsets(a),d = b ? this.getLooseValue(c) : this.getProperValue(c);this.groupCopy(this.value.target, d), this.offset.target = this.getOffsetsByRatios(d)},getLooseValue: function(a) {var b = this.getProperValue(a);return [b[0] + (a[0] - b[0]) / 4, b[1] + (a[1] - b[1]) / 4]},getProperValue: function(a) {var b = this.groupClone(a);return b[0] = Math.max(b[0], 0), b[1] = Math.max(b[1], 0), b[0] = Math.min(b[0], 1), b[1] = Math.min(b[1], 1), (!this.dragging && !this.tapping || this.options.snap) && this.options.steps > 1 && (b = this.getClosestSteps(b)), b},getRatiosByOffsets: function(a) {return [this.getRatioByOffset(a[0], this.bounds.availWidth, this.bounds.left), this.getRatioByOffset(a[1], this.bounds.availHeight, this.bounds.top)]},getRatioByOffset: function(a, b, c) {return b ? (a - c) / b : 0},getOffsetsByRatios: function(a) {return [this.getOffsetByRatio(a[0], this.bounds.availWidth, this.bounds.left), this.getOffsetByRatio(a[1], this.bounds.availHeight, this.bounds.top)]},getOffsetByRatio: function(a, b, c) {return Math.round(a * b) + c},getStepNumber: function(a) {return this.getClosestStep(a) * (this.options.steps - 1) + 1},getClosestSteps: function(a) {return [this.getClosestStep(a[0]), this.getClosestStep(a[1])]},getClosestStep: function(a) {for(var b = 0, c = 1, d = 0; d <= this.options.steps - 1; d++) Math.abs(this.stepRatios[d] - a) < c && (c = Math.abs(this.stepRatios[d] - a), b = d);return this.stepRatios[b]},groupCompare: function(a, b) {return a[0] == b[0] && a[1] == b[1]},groupCopy: function(a, b) {a[0] = b[0], a[1] = b[1]},groupClone: function(a) {return [a[0], a[1]]},draggingOnDisabledAxis: function() {return !this.options.horizontal && g.xDiff > g.yDiff || !this.options.vertical && g.yDiff > g.xDiff}};for(var b = function(a, b) {return function() {return a.apply(b, arguments)}}, c = function(a, b, c) {a.addEventListener ? a.addEventListener(b, c, !1) : a.attachEvent && a.attachEvent("on" + b, c)}, d = function(a, b, c) {a.removeEventListener ? a.removeEventListener(b, c, !1) : a.detachEvent && a.detachEvent("on" + b, c)}, e = function(a) {a || (a = window.event), a.preventDefault && a.preventDefault(), a.returnValue = !1}, f = function(a) {a || (a = window.event), a.stopPropagation && a.stopPropagation(), a.cancelBubble = !0}, g = {x: 0,y: 0,xDiff: 0,yDiff: 0,refresh: function(a) {a || (a = window.event), "mousemove" == a.type ? this.set(a) : a.touches && this.set(a.touches[0])},set: function(a) {var b = this.x,c = this.y;a.clientX || a.clientY ? (this.x = a.clientX, this.y = a.clientY) : (a.pageX || a.pageY) && (this.x = a.pageX - document.body.scrollLeft - document.documentElement.scrollLeft, this.y = a.pageY - document.body.scrollTop - document.documentElement.scrollTop), this.xDiff = Math.abs(this.x - b), this.yDiff = Math.abs(this.y - c)}}, h = {get: function(a) {var b = {left: 0,top: 0};return void 0 !== a.getBoundingClientRect && (b = a.getBoundingClientRect()), [b.left, b.top]}}, i = {transform: j("transform"),perspective: j("perspective"),backfaceVisibility: j("backfaceVisibility")}, l = ["webkit", "moz"], m = window.requestAnimationFrame, n = window.cancelAnimationFrame, o = 0; o < l.length && !m; ++o) m = window[l[o] + "RequestAnimationFrame"], n = window[l[o] + "CancelAnimationFrame"] || window[l[o] + "CancelRequestAnimationFrame"];return m || (m = function(a) {return setTimeout(a, 25)}, n = clearTimeout), a});;/*! picturefill - v3.0.2 - 2016-02-12 * https://scottjehl.github.io/picturefill/ * Copyright (c) 2016 https://github.com/scottjehl/picturefill/blob/master/Authors.txt; Licensed MIT */! function(a) {var b = navigator.userAgent;a.HTMLPictureElement && /ecko/.test(b) && b.match(/rv\:(\d+)/) && RegExp.$1 < 45 && addEventListener("resize", function() {var b, c = document.createElement("source"),d = function(a) {var b, d, e = a.parentNode;"PICTURE" === e.nodeName.toUpperCase() ? (b = c.cloneNode(), e.insertBefore(b, e.firstElementChild), setTimeout(function() {e.removeChild(b)})) : (!a._pfLastSize || a.offsetWidth > a._pfLastSize) && (a._pfLastSize = a.offsetWidth, d = a.sizes, a.sizes += ",100vw", setTimeout(function() {a.sizes = d}))},e = function() {var a, b = document.querySelectorAll("picture > img, img[srcset][sizes]");for(a = 0; a < b.length; a++) d(b[a])},f = function() {clearTimeout(b), b = setTimeout(e, 99)},g = a.matchMedia && matchMedia("(orientation: landscape)"),h = function() {f(), g && g.addListener && g.addListener(f)};return c.srcset = "data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==", /^[c|i]|d$/.test(document.readyState || "") ? h() : document.addEventListener("DOMContentLoaded", h), f}())}(window),function(a, b, c) {"use strict";function d(a) {return " " === a || "" === a || "\n" === a || "\f" === a || "\r" === a}function e(b, c) {var d = new a.Image;return d.onerror = function() {A[b] = !1, ba()}, d.onload = function() {A[b] = 1 === d.width, ba()}, d.src = c, "pending"}function f() {M = !1, P = a.devicePixelRatio, N = {}, O = {}, s.DPR = P || 1, Q.width = Math.max(a.innerWidth || 0, z.clientWidth), Q.height = Math.max(a.innerHeight || 0, z.clientHeight), Q.vw = Q.width / 100, Q.vh = Q.height / 100, r = [Q.height, Q.width, P].join("-"), Q.em = s.getEmValue(), Q.rem = Q.em}function g(a, b, c, d) {var e, f, g, h;return "saveData" === B.algorithm ? a > 2.7 ? h = c + 1 : (f = b - c, e = Math.pow(a - .6, 1.5), g = f * e, d && (g += .1 * e), h = a + g) : h = c > 1 ? Math.sqrt(a * b) : a, h > c}function h(a) {var b, c = s.getSet(a),d = !1;"pending" !== c && (d = r, c && (b = s.setRes(c), s.applySetCandidate(b, a))), a[s.ns].evaled = d}function i(a, b) {return a.res - b.res}function j(a, b, c) {var d;return !c && b && (c = a[s.ns].sets, c = c && c[c.length - 1]), d = k(b, c), d && (b = s.makeUrl(b), a[s.ns].curSrc = b, a[s.ns].curCan = d, d.res || aa(d, d.set.sizes)), d}function k(a, b) {var c, d, e;if(a && b)for(e = s.parseSet(b), a = s.makeUrl(a), c = 0; c < e.length; c++)if(a === s.makeUrl(e[c].url)) {d = e[c];break}return d}function l(a, b) {var c, d, e, f, g = a.getElementsByTagName("source");for(c = 0, d = g.length; d > c; c++) e = g[c], e[s.ns] = !0, f = e.getAttribute("srcset"), f && b.push({srcset: f,media: e.getAttribute("media"),type: e.getAttribute("type"),sizes: e.getAttribute("sizes")})}function m(a, b) {function c(b) {var c, d = b.exec(a.substring(m));return d ? (c = d[0], m += c.length, c) : void 0}function e() {var a, c, d, e, f, i, j, k, l, m = !1,o = {};for(e = 0; e < h.length; e++) f = h[e], i = f[f.length - 1], j = f.substring(0, f.length - 1), k = parseInt(j, 10), l = parseFloat(j), X.test(j) && "w" === i ? ((a || c) && (m = !0), 0 === k ? m = !0 : a = k) : Y.test(j) && "x" === i ? ((a || c || d) && (m = !0), 0 > l ? m = !0 : c = l) : X.test(j) && "h" === i ? ((d || c) && (m = !0), 0 === k ? m = !0 : d = k) : m = !0;m || (o.url = g, a && (o.w = a), c && (o.d = c), d && (o.h = d), d || c || a || (o.d = 1), 1 === o.d && (b.has1x = !0), o.set = b, n.push(o))}function f() {for(c(T), i = "", j = "in descriptor";;) {if(k = a.charAt(m), "in descriptor" === j)if(d(k)) i && (h.push(i), i = "", j = "after descriptor");else {if("," === k) return m += 1, i && h.push(i), void e();if("(" === k) i += k, j = "in parens";else {if("" === k) return i && h.push(i), void e();i += k}} else if("in parens" === j)if(")" === k) i += k, j = "in descriptor";else {if("" === k) return h.push(i), void e();i += k} else if("after descriptor" === j)if(d(k));else {if("" === k) return void e();j = "in descriptor", m -= 1}m += 1}}for(var g, h, i, j, k, l = a.length, m = 0, n = [];;) {if(c(U), m >= l) return n;g = c(V), h = [], "," === g.slice(-1) ? (g = g.replace(W, ""), e()) : f()}}function n(a) {function b(a) {function b() {f && (g.push(f), f = "")}function c() {g[0] && (h.push(g), g = [])}for(var e, f = "", g = [], h = [], i = 0, j = 0, k = !1;;) {if(e = a.charAt(j), "" === e) return b(), c(), h;if(k) {if("*" === e && "/" === a[j + 1]) {k = !1, j += 2, b();continue}j += 1} else {if(d(e)) {if(a.charAt(j - 1) && d(a.charAt(j - 1)) || !f) {j += 1;continue}if(0 === i) {b(), j += 1;continue}e = " "} else if("(" === e) i += 1;else if(")" === e) i -= 1;else {if("," === e) {b(), c(), j += 1;continue}if("/" === e && "*" === a.charAt(j + 1)) {k = !0, j += 2;continue}}f += e, j += 1}}}function c(a) {return k.test(a) && parseFloat(a) >= 0 ? !0 : l.test(a) ? !0 : "0" === a || "-0" === a || "+0" === a ? !0 : !1}var e, f, g, h, i, j, k = /^(?:[+-]?[0-9]+|[0-9]*\.[0-9]+)(?:[eE][+-]?[0-9]+)?(?:ch|cm|em|ex|in|mm|pc|pt|px|rem|vh|vmin|vmax|vw)$/i,l = /^calc\((?:[0-9a-z \.\+\-\*\/\(\)]+)\)$/i;for(f = b(a), g = f.length, e = 0; g > e; e++)if(h = f[e], i = h[h.length - 1], c(i)) {if(j = i, h.pop(), 0 === h.length) return j;if(h = h.join(" "), s.matchesMedia(h)) return j}return "100vw"}b.createElement("picture");var o, p, q, r, s = {},t = !1,u = function() {},v = b.createElement("img"),w = v.getAttribute,x = v.setAttribute,y = v.removeAttribute,z = b.documentElement,A = {},B = {algorithm: ""},C = "data-pfsrc",D = C + "set",E = navigator.userAgent,F = /rident/.test(E) || /ecko/.test(E) && E.match(/rv\:(\d+)/) && RegExp.$1 > 35,G = "currentSrc",H = /\s+\+?\d+(e\d+)?w/,I = /(\([^)]+\))?\s*(.+)/,J = a.picturefillCFG,K = "position:absolute;left:0;visibility:hidden;display:block;padding:0;border:none;font-size:1em;width:1em;overflow:hidden;clip:rect(0px, 0px, 0px, 0px)",L = "font-size:100%!important;",M = !0,N = {},O = {},P = a.devicePixelRatio,Q = {px: 1,"in": 96},R = b.createElement("a"),S = !1,T = /^[ \t\n\r\u000c]+/,U = /^[, \t\n\r\u000c]+/,V = /^[^ \t\n\r\u000c]+/,W = /[,]+$/,X = /^\d+$/,Y = /^-?(?:[0-9]+|[0-9]*\.[0-9]+)(?:[eE][+-]?[0-9]+)?$/,Z = function(a, b, c, d) {a.addEventListener ? a.addEventListener(b, c, d || !1) : a.attachEvent && a.attachEvent("on" + b, c)},$ = function(a) {var b = {};return function(c) {return c in b || (b[c] = a(c)), b[c]}},_ = function() {var a = /^([\d\.]+)(em|vw|px)$/,b = function() {for(var a = arguments, b = 0, c = a[0]; ++b in a;) c = c.replace(a[b], a[++b]);return c},c = $(function(a) {return "return " + b((a || "").toLowerCase(), /\band\b/g, "&&", /,/g, "||", /min-([a-z-\s]+):/g, "e.$1>=", /max-([a-z-\s]+):/g, "e.$1<=", /calc([^)]+)/g, "($1)", /(\d+[\.]*[\d]*)([a-z]+)/g, "($1 * e.$2)", /^(?!(e.[a-z]|[0-9\.&=|><\+\-\*\(\)\/])).*/gi, "") + ";"});return function(b, d) {var e;if(!(b in N))if(N[b] = !1, d && (e = b.match(a))) N[b] = e[1] * Q[e[2]];else try {N[b] = new Function("e", c(b))(Q)} catch(f) {}return N[b]}}(),aa = function(a, b) {return a.w ? (a.cWidth = s.calcListLength(b || "100vw"), a.res = a.w / a.cWidth) : a.res = a.d, a},ba = function(a) {if(t) {var c, d, e, f = a || {};if(f.elements && 1 === f.elements.nodeType && ("IMG" === f.elements.nodeName.toUpperCase() ? f.elements = [f.elements] : (f.context = f.elements, f.elements = null)), c = f.elements || s.qsa(f.context || b, f.reevaluate || f.reselect ? s.sel : s.selShort), e = c.length) {for(s.setupRun(f), S = !0, d = 0; e > d; d++) s.fillImg(c[d], f);s.teardownRun(f)}}};o = a.console && console.warn ? function(a) {console.warn(a)} : u, G in v || (G = "src"), A["image/jpeg"] = !0, A["image/gif"] = !0, A["image/png"] = !0, A["image/svg+xml"] = b.implementation.hasFeature("http://www.w3.org/TR/SVG11/feature#Image", "1.1"), s.ns = ("pf" + (new Date).getTime()).substr(0, 9), s.supSrcset = "srcset" in v, s.supSizes = "sizes" in v, s.supPicture = !!a.HTMLPictureElement, s.supSrcset && s.supPicture && !s.supSizes && ! function(a) {v.srcset = "data:,a", a.src = "data:,a", s.supSrcset = v.complete === a.complete, s.supPicture = s.supSrcset && s.supPicture}(b.createElement("img")), s.supSrcset && !s.supSizes ? ! function() {var a = "data:image/gif;base64,R0lGODlhAgABAPAAAP///wAAACH5BAAAAAAALAAAAAACAAEAAAICBAoAOw==",c = "data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==",d = b.createElement("img"),e = function() {var a = d.width;2 === a && (s.supSizes = !0), q = s.supSrcset && !s.supSizes, t = !0, setTimeout(ba)};d.onload = e, d.onerror = e, d.setAttribute("sizes", "9px"), d.srcset = c + " 1w," + a + " 9w", d.src = c}() : t = !0, s.selShort = "picture>img,img[srcset]", s.sel = s.selShort, s.cfg = B, s.DPR = P || 1, s.u = Q, s.types = A, s.setSize = u, s.makeUrl = $(function(a) {return R.href = a, R.href}), s.qsa = function(a, b) {return "querySelector" in a ? a.querySelectorAll(b) : []}, s.matchesMedia = function() {return a.matchMedia && (matchMedia("(min-width: 0.1em)") || {}).matches ? s.matchesMedia = function(a) {return !a || matchMedia(a).matches} : s.matchesMedia = s.mMQ, s.matchesMedia.apply(this, arguments)}, s.mMQ = function(a) {return a ? _(a) : !0}, s.calcLength = function(a) {var b = _(a, !0) || !1;return 0 > b && (b = !1), b}, s.supportsType = function(a) {return a ? A[a] : !0}, s.parseSize = $(function(a) {var b = (a || "").match(I);return {media: b && b[1],length: b && b[2]}}), s.parseSet = function(a) {return a.cands || (a.cands = m(a.srcset, a)), a.cands}, s.getEmValue = function() {var a;if(!p && (a = b.body)) {var c = b.createElement("div"),d = z.style.cssText,e = a.style.cssText;c.style.cssText = K, z.style.cssText = L, a.style.cssText = L, a.appendChild(c), p = c.offsetWidth, a.removeChild(c), p = parseFloat(p, 10), z.style.cssText = d, a.style.cssText = e}return p || 16}, s.calcListLength = function(a) {if(!(a in O) || B.uT) {var b = s.calcLength(n(a));O[a] = b ? b : Q.width}return O[a]}, s.setRes = function(a) {var b;if(a) {b = s.parseSet(a);for(var c = 0, d = b.length; d > c; c++) aa(b[c], a.sizes)}return b}, s.setRes.res = aa, s.applySetCandidate = function(a, b) {if(a.length) {var c, d, e, f, h, k, l, m, n, o = b[s.ns],p = s.DPR;if(k = o.curSrc || b[G], l = o.curCan || j(b, k, a[0].set), l && l.set === a[0].set && (n = F && !b.complete && l.res - .1 > p, n || (l.cached = !0, l.res >= p && (h = l))), !h)for(a.sort(i), f = a.length, h = a[f - 1], d = 0; f > d; d++)if(c = a[d], c.res >= p) {e = d - 1, h = a[e] && (n || k !== s.makeUrl(c.url)) && g(a[e].res, c.res, p, a[e].cached) ? a[e] : c;break}h && (m = s.makeUrl(h.url), o.curSrc = m, o.curCan = h, m !== k && s.setSrc(b, h), s.setSize(b))}}, s.setSrc = function(a, b) {var c;a.src = b.url, "image/svg+xml" === b.set.type && (c = a.style.width, a.style.width = a.offsetWidth + 1 + "px", a.offsetWidth + 1 && (a.style.width = c))}, s.getSet = function(a) {var b, c, d, e = !1,f = a[s.ns].sets;for(b = 0; b < f.length && !e; b++)if(c = f[b], c.srcset && s.matchesMedia(c.media) && (d = s.supportsType(c.type))) {"pending" === d && (c = d), e = c;break}return e}, s.parseSets = function(a, b, d) {var e, f, g, h, i = b && "PICTURE" === b.nodeName.toUpperCase(),j = a[s.ns];(j.src === c || d.src) && (j.src = w.call(a, "src"), j.src ? x.call(a, C, j.src) : y.call(a, C)), (j.srcset === c || d.srcset || !s.supSrcset || a.srcset) && (e = w.call(a, "srcset"), j.srcset = e, h = !0), j.sets = [], i && (j.pic = !0, l(b, j.sets)), j.srcset ? (f = {srcset: j.srcset,sizes: w.call(a, "sizes")}, j.sets.push(f), g = (q || j.src) && H.test(j.srcset || ""), g || !j.src || k(j.src, f) || f.has1x || (f.srcset += ", " + j.src, f.cands.push({url: j.src,d: 1,set: f}))) : j.src && j.sets.push({srcset: j.src,sizes: null}), j.curCan = null, j.curSrc = c, j.supported = !(i || f && !s.supSrcset || g && !s.supSizes), h && s.supSrcset && !j.supported && (e ? (x.call(a, D, e), a.srcset = "") : y.call(a, D)), j.supported && !j.srcset && (!j.src && a.src || a.src !== s.makeUrl(j.src)) && (null === j.src ? a.removeAttribute("src") : a.src = j.src), j.parsed = !0}, s.fillImg = function(a, b) {var c, d = b.reselect || b.reevaluate;a[s.ns] || (a[s.ns] = {}), c = a[s.ns], (d || c.evaled !== r) && ((!c.parsed || b.reevaluate) && s.parseSets(a, a.parentNode, b), c.supported ? c.evaled = r : h(a))}, s.setupRun = function() {(!S || M || P !== a.devicePixelRatio) && f()}, s.supPicture ? (ba = u, s.fillImg = u) : ! function() {var c, d = a.attachEvent ? /d$|^c/ : /d$|^c|^i/,e = function() {var a = b.readyState || "";f = setTimeout(e, "loading" === a ? 200 : 999), b.body && (s.fillImgs(), c = c || d.test(a), c && clearTimeout(f))},f = setTimeout(e, b.body ? 9 : 99),g = function(a, b) {var c, d, e = function() {var f = new Date - d;b > f ? c = setTimeout(e, b - f) : (c = null, a())};return function() {d = new Date, c || (c = setTimeout(e, b))}},h = z.clientHeight,i = function() {M = Math.max(a.innerWidth || 0, z.clientWidth) !== Q.width || z.clientHeight !== h, h = z.clientHeight, M && s.fillImgs()};Z(a, "resize", g(i, 99)), Z(b, "readystatechange", e)}(), s.picturefill = ba, s.fillImgs = ba, s.teardownRun = u, ba._ = s, a.picturefillCFG = {pf: s,push: function(a) {var b = a.shift();"function" == typeof s[b] ? s[b].apply(s, a) : (B[b] = a[0], S && s.fillImgs({reselect: !0}))}};for(; J && J.length;) a.picturefillCFG.push(J.shift());a.picturefill = ba, "object" == typeof module && "object" == typeof module.exports ? module.exports = ba : "function" == typeof define && define.amd && define("picturefill", function() {return ba}), s.supPicture || (A["image/webp"] = e("image/webp", "data:image/webp;base64,UklGRkoAAABXRUJQVlA4WAoAAAAQAAAAAAAAAAAAQUxQSAwAAAABBxAR/Q9ERP8DAABWUDggGAAAADABAJ0BKgEAAQADADQlpAADcAD++/1QAA=="))}(window, document);/*! td-standards-responsive - v0.0.1 - 2022-03-14, 03:03:05 */ ! function(a) {"use strict";function b(a, b) {return b = b || Error,function() {var c, d, e = 2,f = arguments,g = f[0],h = "[" + (a ? a + ":" : "") + g + "] ",i = f[1];for(h += i.replace(/\{\d+\}/g, function(a) {var b = +a.slice(1, -1),c = b + e;return c < f.length ? sa(f[c]) : a}), h += "\nhttp://errors.angularjs.org/1.5.8/" + (a ? a + "/" : "") + g, d = e, c = "?"; d < f.length; d++, c = "&") h += c + "p" + (d - e) + "=" + encodeURIComponent(sa(f[d]));return new b(h)}}function c(a) {if(null == a || A(a)) return !1;if(Wd(a) || v(a) || Ld && a instanceof Ld) return !0;var b = "length" in Object(a) && a.length;return w(b) && (b >= 0 && (b - 1 in a || a instanceof Array) || "function" == typeof a.item)}function d(a, b, e) {var f, g;if(a)if(y(a))for(f in a) "prototype" == f || "length" == f || "name" == f || a.hasOwnProperty && !a.hasOwnProperty(f) || b.call(e, a[f], f, a);else if(Wd(a) || c(a)) {var h = "object" != typeof a;for(f = 0, g = a.length; f < g; f++)(h || f in a) && b.call(e, a[f], f, a)} else if(a.forEach && a.forEach !== d) a.forEach(b, e, a);else if(u(a))for(f in a) b.call(e, a[f], f, a);else if("function" == typeof a.hasOwnProperty)for(f in a) a.hasOwnProperty(f) && b.call(e, a[f], f, a);elsefor(f in a) Fd.call(a, f) && b.call(e, a[f], f, a);return a}function e(a, b, c) {for(var d = Object.keys(a).sort(), e = 0; e < d.length; e++) b.call(c, a[d[e]], d[e]);return d}function f(a) {return function(b, c) {a(c, b)}}function g() {return ++Vd}function h(a, b) {b ? a.$$hashKey = b : delete a.$$hashKey}function i(a, b, c) {for(var d = a.$$hashKey, e = 0, f = b.length; e < f; ++e) {var g = b[e];if(t(g) || y(g))for(var j = Object.keys(g), k = 0, l = j.length; k < l; k++) {var m = j[k],n = g[m];c && t(n) ? x(n) ? a[m] = new Date(n.valueOf()) : z(n) ? a[m] = new RegExp(n) : n.nodeName ? a[m] = n.cloneNode(!0) : J(n) ? a[m] = n.clone() : (t(a[m]) || (a[m] = Wd(n) ? [] : {}), i(a[m], [n], !0)) : a[m] = n}}return h(a, d), a}function j(a) {return i(a, Od.call(arguments, 1), !1)}function k(a) {return i(a, Od.call(arguments, 1), !0)}function l(a) {return parseInt(a, 10)}function m(a, b) {return j(Object.create(a), b)}function n() {}function o(a) {return a}function p(a) {return function() {return a}}function q(a) {return y(a.toString) && a.toString !== Rd}function r(a) {return void 0 === a}function s(a) {return void 0 !== a}function t(a) {return null !== a && "object" == typeof a}function u(a) {return null !== a && "object" == typeof a && !Sd(a)}function v(a) {return "string" == typeof a}function w(a) {return "number" == typeof a}function x(a) {return "[object Date]" === Rd.call(a)}function y(a) {return "function" == typeof a}function z(a) {return "[object RegExp]" === Rd.call(a)}function A(a) {return a && a.window === a}function B(a) {return a && a.$evalAsync && a.$watch}function C(a) {return "[object File]" === Rd.call(a)}function D(a) {return "[object FormData]" === Rd.call(a)}function E(a) {return "[object Blob]" === Rd.call(a)}function F(a) {return "boolean" == typeof a}function G(a) {return a && y(a.then)}function H(a) {return a && w(a.length) && Xd.test(Rd.call(a))}function I(a) {return "[object ArrayBuffer]" === Rd.call(a)}function J(a) {return !(!a || !(a.nodeName || a.prop && a.attr && a.find))}function K(a) {var b, c = {},d = a.split(",");for(b = 0; b < d.length; b++) c[d[b]] = !0;return c}function L(a) {return Gd(a.nodeName || a[0] && a[0].nodeName)}function M(a, b) {var c = a.indexOf(b);return c >= 0 && a.splice(c, 1), c}function N(a, b) {function c(a, b) {var c, d = b.$$hashKey;if(Wd(a))for(var f = 0, g = a.length; f < g; f++) b.push(e(a[f]));else if(u(a))for(c in a) b[c] = e(a[c]);else if(a && "function" == typeof a.hasOwnProperty)for(c in a) a.hasOwnProperty(c) && (b[c] = e(a[c]));elsefor(c in a) Fd.call(a, c) && (b[c] = e(a[c]));return h(b, d), b}function e(a) {if(!t(a)) return a;var b = g.indexOf(a);if(b !== -1) return i[b];if(A(a) || B(a)) throw Td("cpws", "Can't copy! Making copies of Window or Scope instances is not supported.");var d = !1,e = f(a);return void 0 === e && (e = Wd(a) ? [] : Object.create(Sd(a)), d = !0), g.push(a), i.push(e), d ? c(a, e) : e}function f(a) {switch(Rd.call(a)) {case "[object Int8Array]":case "[object Int16Array]":case "[object Int32Array]":case "[object Float32Array]":case "[object Float64Array]":case "[object Uint8Array]":case "[object Uint8ClampedArray]":case "[object Uint16Array]":case "[object Uint32Array]":return new a.constructor(e(a.buffer), a.byteOffset, a.length);case "[object ArrayBuffer]":if(!a.slice) {var b = new ArrayBuffer(a.byteLength);return new Uint8Array(b).set(new Uint8Array(a)), b}return a.slice(0);case "[object Boolean]":case "[object Number]":case "[object String]":case "[object Date]":return new a.constructor(a.valueOf());case "[object RegExp]":var c = new RegExp(a.source, a.toString().match(/[^\/]*$/)[0]);return c.lastIndex = a.lastIndex, c;case "[object Blob]":return new a.constructor([a], {type: a.type})}if(y(a.cloneNode)) return a.cloneNode(!0)}var g = [],i = [];if(b) {if(H(b) || I(b)) throw Td("cpta", "Can't copy! TypedArray destination cannot be mutated.");if(a === b) throw Td("cpi", "Can't copy! Source and destination are identical.");return Wd(b) ? b.length = 0 : d(b, function(a, c) {"$$hashKey" !== c && delete b[c]}), g.push(a), i.push(b), c(a, b)}return e(a)}function O(a, b) {if(a === b) return !0;if(null === a || null === b) return !1;if(a !== a && b !== b) return !0;var c, d, e, f = typeof a,g = typeof b;if(f == g && "object" == f) {if(!Wd(a)) {if(x(a)) return !!x(b) && O(a.getTime(), b.getTime());if(z(a)) return !!z(b) && a.toString() == b.toString();if(B(a) || B(b) || A(a) || A(b) || Wd(b) || x(b) || z(b)) return !1;e = oa();for(d in a)if("$" !== d.charAt(0) && !y(a[d])) {if(!O(a[d], b[d])) return !1;e[d] = !0}for(d in b)if(!(d in e) && "$" !== d.charAt(0) && s(b[d]) && !y(b[d])) return !1;return !0}if(!Wd(b)) return !1;if((c = a.length) == b.length) {for(d = 0; d < c; d++)if(!O(a[d], b[d])) return !1;return !0}}return !1}function P(a, b, c) {return a.concat(Od.call(b, c))}function Q(a, b) {return Od.call(a, b || 0)}function R(a, b) {var c = arguments.length > 2 ? Q(arguments, 2) : [];return !y(b) || b instanceof RegExp ? b : c.length ? function() {return arguments.length ? b.apply(a, P(c, arguments, 0)) : b.apply(a, c)} : function() {return arguments.length ? b.apply(a, arguments) : b.call(a)}}function S(b, c) {var d = c;return "string" == typeof b && "$" === b.charAt(0) && "$" === b.charAt(1) ? d = void 0 : A(c) ? d = "$WINDOW" : c && a.document === c ? d = "$DOCUMENT" : B(c) && (d = "$SCOPE"), d}function T(a, b) {if(!r(a)) return w(b) || (b = b ? 2 : null), JSON.stringify(a, S, b)}function U(a) {return v(a) ? JSON.parse(a) : a}function V(a, b) {a = a.replace(ae, "");var c = Date.parse("Jan 01, 1970 00:00:00 " + a) / 6e4;return isNaN(c) ? b : c}function W(a, b) {return a = new Date(a.getTime()), a.setMinutes(a.getMinutes() + b), a}function X(a, b, c) {c = c ? -1 : 1;var d = a.getTimezoneOffset();return W(a, c * (V(b, d) - d))}function Y(a) {a = Ld(a).clone();try {a.empty()} catch(a) {}var b = Ld("

").append(a).html();try {return a[0].nodeType === ge ? Gd(b) : b.match(/^(<[^>]+>)/)[1].replace(/^<([\w\-]+)/, function(a, b) {return "<" + Gd(b)})} catch(a) {return Gd(b)}}function Z(a) {try {return decodeURIComponent(a)} catch(a) {}}function $(a) {var b = {};return d((a || "").split("&"), function(a) {var c, d, e;a && (d = a = a.replace(/\+/g, "%20"), c = a.indexOf("="), c !== -1 && (d = a.substring(0, c), e = a.substring(c + 1)), d = Z(d), s(d) && (e = !s(e) || Z(e), Fd.call(b, d) ? Wd(b[d]) ? b[d].push(e) : b[d] = [b[d], e] : b[d] = e))}), b}function _(a) {var b = [];return d(a, function(a, c) {Wd(a) ? d(a, function(a) {b.push(ba(c, !0) + (a === !0 ? "" : "=" + ba(a, !0)))}) : b.push(ba(c, !0) + (a === !0 ? "" : "=" + ba(a, !0)))}), b.length ? b.join("&") : ""}function aa(a) {return ba(a, !0).replace(/%26/gi, "&").replace(/%3D/gi, "=").replace(/%2B/gi, "+")}function ba(a, b) {return encodeURIComponent(a).replace(/%40/gi, "@").replace(/%3A/gi, ":").replace(/%24/g, "$").replace(/%2C/gi, ",").replace(/%3B/gi, ";").replace(/%20/g, b ? "%20" : "+")}function ca(a, b) {var c, d, e = be.length;for(d = 0; d < e; ++d)if(c = be[d] + b, v(c = a.getAttribute(c))) return c;return null}function da(a, b) {var c, e, f = {};d(be, function(b) {var d = b + "app";!c && a.hasAttribute && a.hasAttribute(d) && (c = a, e = a.getAttribute(d))}), d(be, function(b) {var d, f = b + "app";!c && (d = a.querySelector("[" + f.replace(":", "\\:") + "]")) && (c = d, e = d.getAttribute(f))}), c && (f.strictDi = null !== ca(c, "strict-di"), b(c, e ? [e] : [], f))}function ea(b, c, e) {t(e) || (e = {}), e = j({strictDi: !1}, e);var f = function() {if(b = Ld(b), b.injector()) {throw Td("btstrpd", "App already bootstrapped with this element '{0}'", (b[0] === a.document ? "document" : Y(b)).replace(/, "<").replace(/>/, ">"))}c = c || [], c.unshift(["$provide", function(a) {a.value("$rootElement", b)}]), e.debugInfoEnabled && c.push(["$compileProvider", function(a) {a.debugInfoEnabled(!0)}]), c.unshift("ng");var d = db(c, e.strictDi);return d.invoke(["$rootScope", "$rootElement", "$compile", "$injector", function(a, b, c, d) {a.$apply(function() {b.data("$injector", d), c(b)(a)})}]), d},g = /^NG_ENABLE_DEBUG_INFO!/,h = /^NG_DEFER_BOOTSTRAP!/;if(a && g.test(a.name) && (e.debugInfoEnabled = !0, a.name = a.name.replace(g, "")), a && !h.test(a.name)) return f();a.name = a.name.replace(h, ""), Ud.resumeBootstrap = function(a) {return d(a, function(a) {c.push(a)}), f()}, y(Ud.resumeDeferredBootstrap) && Ud.resumeDeferredBootstrap()}function fa() {a.name = "NG_ENABLE_DEBUG_INFO!" + a.name, a.location.reload()}function ga(a) {var b = Ud.element(a).injector();if(!b) throw Td("test", "no injector found for element argument to getTestability");return b.get("$$testability")}function ha(a, b) {return b = b || "_", a.replace(ce, function(a, c) {return(c ? b : "") + a.toLowerCase()})}function ia() {var b;if(!de) {var c = _d();Md = r(c) ? a.jQuery : c ? a[c] : void 0, Md && Md.fn.on ? (Ld = Md, j(Md.fn, {scope: ze.scope,isolateScope: ze.isolateScope,controller: ze.controller,injector: ze.injector,inheritedData: ze.inheritedData}), b = Md.cleanData, Md.cleanData = function(a) {for(var c, d, e = 0; null != (d = a[e]); e++)(c = Md._data(d, "events")) && c.$destroy && Md(d).triggerHandler("$destroy");b(a)}) : Ld = Da, Ud.element = Ld, de = !0}}function ja(a, b, c) {if(!a) throw Td("areq", "Argument '{0}' is {1}", b || "?", c || "required");return a}function ka(a, b, c) {return c && Wd(a) && (a = a[a.length - 1]), ja(y(a), b, "not a function, got " + (a && "object" == typeof a ? a.constructor.name || "Object" : typeof a)), a}function la(a, b) {if("hasOwnProperty" === a) throw Td("badname", "hasOwnProperty is not a valid {0} name", b)}function ma(a, b, c) {if(!b) return a;for(var d, e = b.split("."), f = a, g = e.length, h = 0; h < g; h++) d = e[h], a && (a = (f = a)[d]);return !c && y(a) ? R(f, a) : a}function na(a) {for(var b, c = a[0], d = a[a.length - 1], e = 1; c !== d && (c = c.nextSibling); e++)(b || a[e] !== c) && (b || (b = Ld(Od.call(a, 0, e))), b.push(c));return b || a}function oa() {return Object.create(null)}function pa(a) {function c(a, b, c) {return a[b] || (a[b] = c())}var d = b("$injector"),e = b("ng"),f = c(a, "angular", Object);return f.$$minErr = f.$$minErr || b, c(f, "module", function() {var a = {};return function(b, f, g) {return function(a, b) {if("hasOwnProperty" === a) throw e("badname", "hasOwnProperty is not a valid {0} name", b)}(b, "module"), f && a.hasOwnProperty(b) && (a[b] = null), c(a, b, function() {function a(a, b, c, d) {return d || (d = e),function() {return d[c || "push"]([a, b, arguments]), k}}function c(a, c) {return function(d, f) {return f && y(f) && (f.$$moduleName = b), e.push([a, c, arguments]), k}}if(!f) throw d("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.", b);var e = [],h = [],i = [],j = a("$injector", "invoke", "push", h),k = {_invokeQueue: e,_configBlocks: h,_runBlocks: i,requires: f,name: b,provider: c("$provide", "provider"),factory: c("$provide", "factory"),service: c("$provide", "service"),value: a("$provide", "value"),constant: a("$provide", "constant", "unshift"),decorator: c("$provide", "decorator"),animation: c("$animateProvider", "register"),filter: c("$filterProvider", "register"),controller: c("$controllerProvider", "register"),directive: c("$compileProvider", "directive"),component: c("$compileProvider", "component"),config: j,run: function(a) {return i.push(a), this}};return g && j(g), k})}})}function qa(a, b) {if(Wd(a)) {b = b || [];for(var c = 0, d = a.length; c < d; c++) b[c] = a[c]} else if(t(a)) {b = b || {};for(var e in a) "$" === e.charAt(0) && "$" === e.charAt(1) || (b[e] = a[e])}return b || a}function ra(a) {var b = [];return JSON.stringify(a, function(a, c) {if(c = S(a, c), t(c)) {if(b.indexOf(c) >= 0) return "...";b.push(c)}return c})}function sa(a) {return "function" == typeof a ? a.toString().replace(/ \{[\s\S]*$/, "") : r(a) ? "undefined" : "string" != typeof a ? ra(a) : a}function ta(c) {j(c, {bootstrap: ea,copy: N,extend: j,merge: k,equals: O,element: Ld,forEach: d,injector: db,noop: n,bind: R,toJson: T,fromJson: U,identity: o,isUndefined: r,isDefined: s,isString: v,isFunction: y,isObject: t,isNumber: w,isElement: J,isArray: Wd,version: ke,isDate: x,lowercase: Gd,uppercase: Hd,callbacks: {$$counter: 0},getTestability: ga,$$minErr: b,$$csp: $d,reloadWithDebugInfo: fa}), (Nd = pa(a))("ng", ["ngLocale"], ["$provide", function(a) {a.provider({$$sanitizeUri: yc}), a.provider("$compile", ob).directive({a: If,input: _f,textarea: _f,form: Nf,script: Wg,select: Zg,style: _g,option: $g,ngBind: cg,ngBindHtml: eg,ngBindTemplate: dg,ngClass: gg,ngClassEven: ig,ngClassOdd: hg,ngCloak: jg,ngController: kg,ngForm: Of,ngHide: Pg,ngIf: ng,ngInclude: og,ngInit: qg,ngNonBindable: Gg,ngPluralize: Kg,ngRepeat: Lg,ngShow: Og,ngStyle: Qg,ngSwitch: Rg,ngSwitchWhen: Sg,ngSwitchDefault: Tg,ngOptions: Jg,ngTransclude: Vg,ngModel: Dg,ngList: rg,ngChange: fg,pattern: bh,ngPattern: bh,required: ah,ngRequired: ah,minlength: dh,ngMinlength: dh,maxlength: ch,ngMaxlength: ch,ngValue: bg,ngModelOptions: Fg}).directive({ngInclude: pg}).directive(Jf).directive(lg), a.provider({$anchorScroll: eb,$animate: Pe,$animateCss: Se,$$animateJs: Ne,$$animateQueue: Oe,$$AnimateRunner: Re,$$animateAsyncRun: Qe,$browser: kb,$cacheFactory: lb,$controller: ub,$document: vb,$exceptionHandler: wb,$filter: Mc,$$forceReflow: Ye,$interpolate: Kb,$interval: Lb,$http: Gb,$httpParamSerializer: yb,$httpParamSerializerJQLike: zb,$httpBackend: Ib,$xhrFactory: Hb,$jsonpCallbacks: ff,$location: $b,$log: _b,$parse: sc,$rootScope: xc,$q: tc,$$q: uc,$sce: Cc,$sceDelegate: Bc,$sniffer: Dc,$templateCache: mb,$templateRequest: Ec,$$testability: Fc,$timeout: Gc,$window: Jc,$$rAF: wc,$$jqLite: Ya,$$HashMap: De,$$cookieReader: Lc})}])}function ua() {return ++me}function va(a) {return a.replace(pe, function(a, b, c, d) {return d ? c.toUpperCase() : c}).replace(qe, "Moz$1")}function wa(a) {return !ue.test(a)}function xa(a) {var b = a.nodeType;return b === ee || !b || b === ie}function ya(a) {for(var b in le[a.ng339]) return !0;return !1}function za(a) {for(var b = 0, c = a.length; b < c; b++) Ha(a[b])}function Aa(a, b) {var c, e, f, g, h = b.createDocumentFragment(),i = [];if(wa(a)) i.push(b.createTextNode(a));else {for(c = h.appendChild(b.createElement("div")), e = (ve.exec(a) || ["", ""])[1].toLowerCase(), f = xe[e] || xe._default, c.innerHTML = f[1] + a.replace(we, "<$1>$2>") + f[2], g = f[0]; g--;) c = c.lastChild;i = P(i, c.childNodes), c = h.firstChild, c.textContent = ""}return h.textContent = "", h.innerHTML = "", d(i, function(a) {h.appendChild(a)}), h}function Ba(b, c) {c = c || a.document;var d;return(d = te.exec(b)) ? [c.createElement(d[1])] : (d = Aa(b, c)) ? d.childNodes : []}function Ca(a, b) {var c = a.parentNode;c && c.replaceChild(b, a), b.appendChild(a)}function Da(a) {if(a instanceof Da) return a;var b;if(v(a) && (a = Yd(a), b = !0), !(this instanceof Da)) {if(b && "<" != a.charAt(0)) throw se("nosel", "Looking up elements via selectors is not supported by jqLite! See: http://docs.angularjs.org/api/angular.element");return new Da(a)}b ? Na(this, Ba(a)) : Na(this, a)}function Ea(a) {return a.cloneNode(!0)}function Fa(a, b) {if(b || Ha(a), a.querySelectorAll)for(var c = a.querySelectorAll("*"), d = 0, e = c.length; d < e; d++) Ha(c[d])}function Ga(a, b, c, e) {if(s(e)) throw se("offargs", "jqLite#off() does not support the `selector` argument");var f = Ia(a),g = f && f.events,h = f && f.handle;if(h)if(b) {var i = function(b) {var d = g[b];s(c) && M(d || [], c), s(c) && d && d.length > 0 || (oe(a, b, h), delete g[b])};d(b.split(" "), function(a) {i(a), re[a] && i(re[a])})} elsefor(b in g) "$destroy" !== b && oe(a, b, h), delete g[b]}function Ha(a, b) {var c = a.ng339,d = c && le[c];if(d) {if(b) return void delete d.data[b];d.handle && (d.events.$destroy && d.handle({}, "$destroy"), Ga(a)), delete le[c], a.ng339 = void 0}}function Ia(a, b) {var c = a.ng339,d = c && le[c];return b && !d && (a.ng339 = c = ua(), d = le[c] = {events: {},data: {},handle: void 0}), d}function Ja(a, b, c) {if(xa(a)) {var d = s(c),e = !d && b && !t(b),f = !b,g = Ia(a, !e),h = g && g.data;if(d) h[b] = c;else {if(f) return h;if(e) return h && h[b];j(h, b)}}}function Ka(a, b) {return !!a.getAttribute && (" " + (a.getAttribute("class") || "") + " ").replace(/[\n\t]/g, " ").indexOf(" " + b + " ") > -1}function La(a, b) {b && a.setAttribute && d(b.split(" "), function(b) {a.setAttribute("class", Yd((" " + (a.getAttribute("class") || "") + " ").replace(/[\n\t]/g, " ").replace(" " + Yd(b) + " ", " ")))})}function Ma(a, b) {if(b && a.setAttribute) {var c = (" " + (a.getAttribute("class") || "") + " ").replace(/[\n\t]/g, " ");d(b.split(" "), function(a) {a = Yd(a), c.indexOf(" " + a + " ") === -1 && (c += a + " ")}), a.setAttribute("class", Yd(c))}}function Na(a, b) {if(b)if(b.nodeType) a[a.length++] = b;else {var c = b.length;if("number" == typeof c && b.window !== b) {if(c)for(var d = 0; d < c; d++) a[a.length++] = b[d]} else a[a.length++] = b}}function Oa(a, b) {return Pa(a, "$" + (b || "ngController") + "Controller")}function Pa(a, b, c) {a.nodeType == ie && (a = a.documentElement);for(var d = Wd(b) ? b : [b]; a;) {for(var e = 0, f = d.length; e < f; e++)if(s(c = Ld.data(a, d[e]))) return c;a = a.parentNode || a.nodeType === je && a.host}}function Qa(a) {for(Fa(a, !0); a.firstChild;) a.removeChild(a.firstChild)}function Ra(a, b) {b || Fa(a);var c = a.parentNode;c && c.removeChild(a)}function Sa(b, c) {c = c || a, "complete" === c.document.readyState ? c.setTimeout(b) : Ld(c).on("load", b)}function Ta(a, b) {var c = Ae[b.toLowerCase()];return c && Be[L(a)] && c}function Ua(a) {return Ce[a]}function Va(a, b) {var c = function(c, d) {c.isDefaultPrevented = function() {return c.defaultPrevented};var e = b[d || c.type],f = e ? e.length : 0;if(f) {if(r(c.immediatePropagationStopped)) {var g = c.stopImmediatePropagation;c.stopImmediatePropagation = function() {c.immediatePropagationStopped = !0, c.stopPropagation && c.stopPropagation(), g && g.call(c)}}c.isImmediatePropagationStopped = function() {return c.immediatePropagationStopped === !0};var h = e.specialHandlerWrapper || Wa;f > 1 && (e = qa(e));for(var i = 0; i < f; i++) c.isImmediatePropagationStopped() || h(a, c, e[i])}};return c.elem = a, c}function Wa(a, b, c) {c.call(a, b)}function Xa(a, b, c) {var d = b.relatedTarget;d && (d === a || ye.call(a, d)) || c.call(a, b)}function Ya() {this.$get = function() {return j(Da, {hasClass: function(a, b) {return a.attr && (a = a[0]), Ka(a, b)},addClass: function(a, b) {return a.attr && (a = a[0]), Ma(a, b)},removeClass: function(a, b) {return a.attr && (a = a[0]), La(a, b)}})}}function Za(a, b) {var c = a && a.$$hashKey;if(c) return "function" == typeof c && (c = a.$$hashKey()), c;var d = typeof a;return c = "function" == d || "object" == d && null !== a ? a.$$hashKey = d + ":" + (b || g)() : d + ":" + a}function $a(a, b) {if(b) {var c = 0;this.nextUid = function() {return ++c}}d(a, this.put, this)}function _a(a) {return Function.prototype.toString.call(a) + " "}function ab(a) {var b = _a(a).replace(Ie, "");return b.match(Ee) || b.match(Fe)}function bb(a) {var b = ab(a);return b ? "function(" + (b[1] || "").replace(/[\s\r\n]+/, " ") + ")" : "fn"}function cb(a, b, c) {var e, f, g;if("function" == typeof a) {if(!(e = a.$inject)) {if(e = [], a.length) {if(b) throw v(c) && c || (c = a.name || bb(a)), Je("strictdi", "{0} is not using explicit annotation and cannot be invoked in strict mode", c);f = ab(a), d(f[1].split(Ge), function(a) {a.replace(He, function(a, b, c) {e.push(c)})})}a.$inject = e}} else Wd(a) ? (g = a.length - 1, ka(a[g], "fn"), e = a.slice(0, g)) : ka(a, "fn", !0);return e}function db(a, b) {function c(a) {return function(b, c) {if(!t(b)) return a(b, c);d(b, f(a))}}function e(a, b) {if(la(a, "service"), (y(b) || Wd(b)) && (b = x.instantiate(b)), !b.$get) throw Je("pget", "Provider '{0}' must define $get factory method.", a);return w[a + q] = b}function g(a, b) {return function() {var c = B.invoke(b, this);if(r(c)) throw Je("undef", "Provider '{0}' must return a value from $get factory method.", a);return c}}function h(a, b, c) {return e(a, {$get: c !== !1 ? g(a, b) : b})}function i(a, b) {return h(a, ["$injector", function(a) {return a.instantiate(b)}])}function j(a, b) {return h(a, p(b), !1)}function k(a, b) {la(a, "constant"), w[a] = b, z[a] = b}function l(a, b) {var c = x.get(a + q),d = c.$get;c.$get = function() {var a = B.invoke(d, c);return B.invoke(b, null, {$delegate: a})}}function m(a) {ja(r(a) || Wd(a), "modulesToLoad", "not an array");var b, c = [];return d(a, function(a) {function d(a) {var b, c;for(b = 0, c = a.length; b < c; b++) {var d = a[b],e = x.get(d[0]);e[d[1]].apply(e, d[2])}}if(!u.get(a)) {u.put(a, !0);try {v(a) ? (b = Nd(a), c = c.concat(m(b.requires)).concat(b._runBlocks), d(b._invokeQueue), d(b._configBlocks)) : y(a) ? c.push(x.invoke(a)) : Wd(a) ? c.push(x.invoke(a)) : ka(a, "module")} catch(b) {throw Wd(a) && (a = a[a.length - 1]), b.message && b.stack && b.stack.indexOf(b.message) == -1 && (b = b.message + "\n" + b.stack), Je("modulerr", "Failed to instantiate module {0} due to:\n{1}", a, b.stack || b.message || b)}}}), c}function n(a, c) {function d(b, d) {if(a.hasOwnProperty(b)) {if(a[b] === o) throw Je("cdep", "Circular dependency found: {0}", b + " <- " + s.join(" <- "));return a[b]}try {return s.unshift(b), a[b] = o, a[b] = c(b, d)} catch(c) {throw a[b] === o && delete a[b], c} finally {s.shift()}}function e(a, c, e) {for(var f = [], g = db.$$annotate(a, b, e), h = 0, i = g.length; h < i; h++) {var j = g[h];if("string" != typeof j) throw Je("itkn", "Incorrect injection token! Expected service name as string, got {0}", j);f.push(c && c.hasOwnProperty(j) ? c[j] : d(j, e))}return f}function f(a) {return !(Kd <= 11) && ("function" == typeof a && /^(?:class\b|constructor\()/.test(_a(a)))}function g(a, b, c, d) {"string" == typeof c && (d = c, c = null);var g = e(a, c, d);return Wd(a) && (a = a[a.length - 1]), f(a) ? (g.unshift(null), new(Function.prototype.bind.apply(a, g))) : a.apply(b, g)}function h(a, b, c) {var d = Wd(a) ? a[a.length - 1] : a,f = e(a, b, c);return f.unshift(null), new(Function.prototype.bind.apply(d, f))}return {invoke: g,instantiate: h,get: d,annotate: db.$$annotate,has: function(b) {return w.hasOwnProperty(b + q) || a.hasOwnProperty(b)}}}b = b === !0;var o = {},q = "Provider",s = [],u = new $a([], !0),w = {$provide: {provider: c(e),factory: c(h),service: c(i),value: c(j),constant: c(k),decorator: l}},x = w.$injector = n(w, function(a, b) {throw Ud.isString(b) && s.push(b), Je("unpr", "Unknown provider: {0}", s.join(" <- "))}),z = {},A = n(z, function(a, b) {var c = x.get(a + q, b);return B.invoke(c.$get, c, void 0, a)}),B = A;w["$injector" + q] = {$get: p(A)};var C = m(a);return B = A.get("$injector"), B.strictDi = b, d(C, function(a) {a && B.invoke(a)}), B}function eb() {var a = !0;this.disableAutoScrolling = function() {a = !1}, this.$get = ["$window", "$location", "$rootScope", function(b, c, d) {function e(a) {var b = null;return Array.prototype.some.call(a, function(a) {if("a" === L(a)) return b = a, !0}), b}function f() {var a = h.yOffset;if(y(a)) a = a();else if(J(a)) {var c = a[0],d = b.getComputedStyle(c);a = "fixed" !== d.position ? 0 : c.getBoundingClientRect().bottom} else w(a) || (a = 0);return a}function g(a) {if(a) {a.scrollIntoView();var c = f();if(c) {var d = a.getBoundingClientRect().top;b.scrollBy(0, d - c)}} else b.scrollTo(0, 0)}function h(a) {a = v(a) ? a : c.hash();var b;a ? (b = i.getElementById(a)) ? g(b) : (b = e(i.getElementsByName(a))) ? g(b) : "top" === a && g(null) : g(null)}var i = b.document;return a && d.$watch(function() {return c.hash()}, function(a, b) {a === b && "" === a || Sa(function() {d.$evalAsync(h)})}), h}]}function fb(a, b) {return a || b ? a ? b ? (Wd(a) && (a = a.join(" ")), Wd(b) && (b = b.join(" ")), a + " " + b) : a : b : ""}function gb(a) {for(var b = 0; b < a.length; b++) {var c = a[b];if(c.nodeType === Le) return c}}function hb(a) {v(a) && (a = a.split(" "));var b = oa();return d(a, function(a) {a.length && (b[a] = !0)}), b}function ib(a) {return t(a) ? a : {}}function jb(a, b, c, e) {function f(a) {try {a.apply(null, Q(arguments, 1))} finally {if(0 === --s)for(; t.length;) try {t.pop()()} catch(a) {c.error(a)}}}function g(a) {var b = a.indexOf("#");return b === -1 ? "" : a.substr(b)}function h() {y = null, i(), j()}function i() {u = z(), u = r(u) ? null : u, O(u, C) && (u = C), C = u}function j() {w === k.url() && v === u || (w = k.url(), v = u, d(A, function(a) {a(k.url(), u)}))}var k = this,l = a.location,m = a.history,o = a.setTimeout,p = a.clearTimeout,q = {};k.isMock = !1;var s = 0,t = [];k.$$completeOutstandingRequest = f, k.$$incOutstandingRequestCount = function() {s++}, k.notifyWhenNoOutstandingRequests = function(a) {0 === s ? a() : t.push(a)};var u, v, w = l.href,x = b.find("base"),y = null,z = e.history ? function() {try {return m.state} catch(a) {}} : n;i(), v = u, k.url = function(b, c, d) {if(r(d) && (d = null), l !== a.location && (l = a.location), m !== a.history && (m = a.history), b) {var f = v === d;if(w === b && (!e.history || f)) return k;var h = w && Rb(w) === Rb(b);return w = b, v = d, !e.history || h && f ? (h || (y = b), c ? l.replace(b) : h ? l.hash = g(b) : l.href = b, l.href !== b && (y = b)) : (m[c ? "replaceState" : "pushState"](d, "", b), i(), v = u), y && (y = b), k}return y || l.href.replace(/%27/g, "'")}, k.state = function() {return u};var A = [],B = !1,C = null;k.onUrlChange = function(b) {return B || (e.history && Ld(a).on("popstate", h), Ld(a).on("hashchange", h), B = !0), A.push(b), b}, k.$$applicationDestroyed = function() {Ld(a).off("hashchange popstate", h)}, k.$$checkUrlChange = j, k.baseHref = function() {var a = x.attr("href");return a ? a.replace(/^(https?\:)?\/\/[^\/]*/, "") : ""}, k.defer = function(a, b) {var c;return s++, c = o(function() {delete q[c], f(a)}, b || 0), q[c] = !0, c}, k.defer.cancel = function(a) {return !!q[a] && (delete q[a], p(a), f(n), !0)}}function kb() {this.$get = ["$window", "$log", "$sniffer", "$document", function(a, b, c, d) {return new jb(a, d, b, c)}]}function lb() {this.$get = function() {function a(a, d) {function e(a) {a != m && (n ? n == a && (n = a.n) : n = a, f(a.n, a.p), f(a, m), m = a, m.n = null)}function f(a, b) {a != b && (a && (a.p = b), b && (b.n = a))}if(a in c) throw b("$cacheFactory")("iid", "CacheId '{0}' is already taken!", a);var g = 0,h = j({}, d, {id: a}),i = oa(),k = d && d.capacity || Number.MAX_VALUE,l = oa(),m = null,n = null;return c[a] = {put: function(a, b) {if(!r(b)) {if(k < Number.MAX_VALUE) {e(l[a] || (l[a] = {key: a}))}return a in i || g++, i[a] = b, g > k && this.remove(n.key), b}},get: function(a) {if(k < Number.MAX_VALUE) {var b = l[a];if(!b) return;e(b)}return i[a]},remove: function(a) {if(k < Number.MAX_VALUE) {var b = l[a];if(!b) return;b == m && (m = b.p), b == n && (n = b.n), f(b.n, b.p), delete l[a]}a in i && (delete i[a], g--)},removeAll: function() {i = oa(), g = 0, l = oa(), m = n = null},destroy: function() {i = null, h = null, l = null, delete c[a]},info: function() {return j({}, h, {size: g})}}}var c = {};return a.info = function() {var a = {};return d(c, function(b, c) {a[c] = b.info()}), a}, a.get = function(a) {return c[a]}, a}}function mb() {this.$get = ["$cacheFactory", function(a) {return a("templates")}]}function nb() {}function ob(b, c) {function e(a, b, c) {var e = /^\s*([@&<]|=(\*?))(\??)\s*(\w*)\s*$/,f = oa();return d(a, function(a, d) {if(a in A) return void(f[d] = A[a]);var g = a.match(e);if(!g) throw Te("iscp", "Invalid {3} for directive '{0}'. Definition: {... {1}: '{2}' ...}", b, d, a, c ? "controller bindings definition" : "isolate scope definition");f[d] = {mode: g[1][0],collection: "*" === g[2],optional: "?" === g[3],attrName: g[4] || d}, g[4] && (A[a] = f[d])}), f}function g(a, b) {var c = {isolateScope: null,bindToController: null};if(t(a.scope) && (a.bindToController === !0 ? (c.bindToController = e(a.scope, b, !0), c.isolateScope = {}) : c.isolateScope = e(a.scope, b, !1)), t(a.bindToController) && (c.bindToController = e(a.bindToController, b, !0)), t(c.bindToController)) {var d = a.controller,f = a.controllerAs;if(!d) throw Te("noctrl", "Cannot bind to controller without directive '{0}'s controller.", b);if(!tb(d, f)) throw Te("noident", "Cannot bind to controller without identifier for directive '{0}'.", b)}return c}function h(a) {var b = a.charAt(0);if(!b || b !== Gd(b)) throw Te("baddir", "Directive/Component name '{0}' is invalid. The first character must be a lowercase letter", a);if(a !== a.trim()) throw Te("baddir", "Directive/Component name '{0}' is invalid. The name should not contain leading or trailing whitespaces", a)}function i(a) {var b = a.require || a.controller && a.name;return !Wd(b) && t(b) && d(b, function(a, c) {var d = a.match(x);a.substring(d[0].length) || (b[c] = d[0] + c)}), b}var k = {},l = "Directive",q = /^\s*directive\:\s*([\w\-]+)\s+(.*)$/,u = /(([\w\-]+)(?:\:([^;]+))?;?)/,w = K("ngSrc,ngSrcset,src,srcset"),x = /^(?:(\^\^?)?(\?)?(\^\^?)?)?/,z = /^(on[a-z]+|formaction)$/,A = oa();this.directive = function a(c, e) {return la(c, "directive"), v(c) ? (h(c), ja(e, "directiveFactory"), k.hasOwnProperty(c) || (k[c] = [], b.factory(c + l, ["$injector", "$exceptionHandler", function(a, b) {var e = [];return d(k[c], function(d, f) {try {var g = a.invoke(d);y(g) ? g = {compile: p(g)} : !g.compile && g.link && (g.compile = p(g.link)), g.priority = g.priority || 0, g.index = f, g.name = g.name || c, g.require = i(g), g.restrict = g.restrict || "EA", g.$$moduleName = d.$$moduleName, e.push(g)} catch(a) {b(a)}}), e}])), k[c].push(e)) : d(c, f(a)), this}, this.component = function(a, b) {function c(a) {function c(b) {return y(b) || Wd(b) ? function(c, d) {return a.invoke(b, this, {$element: c,$attrs: d})} : b}var f = b.template || b.templateUrl ? b.template : "",g = {controller: e,controllerAs: tb(b.controller) || b.controllerAs || "$ctrl",template: c(f),templateUrl: c(b.templateUrl),transclude: b.transclude,scope: {},bindToController: b.bindings || {},restrict: "E",require: b.require};return d(b, function(a, b) {"$" === b.charAt(0) && (g[b] = a)}), g}var e = b.controller || function() {};return d(b, function(a, b) {"$" === b.charAt(0) && (c[b] = a, y(e) && (e[b] = a))}), c.$inject = ["$injector"], this.directive(a, c)}, this.aHrefSanitizationWhitelist = function(a) {return s(a) ? (c.aHrefSanitizationWhitelist(a), this) : c.aHrefSanitizationWhitelist()}, this.imgSrcSanitizationWhitelist = function(a) {return s(a) ? (c.imgSrcSanitizationWhitelist(a), this) : c.imgSrcSanitizationWhitelist()};var C = !0;this.debugInfoEnabled = function(a) {return s(a) ? (C = a, this) : C};var D = 10;this.onChangesTtl = function(a) {return arguments.length ? (D = a, this) : D}, this.$get = ["$injector", "$interpolate", "$exceptionHandler", "$templateRequest", "$parse", "$controller", "$rootScope", "$sce", "$animate", "$$sanitizeUri", function(b, c, e, f, h, i, p, A, E, G) {function H() {try {if(!--xa) throw ta = void 0, Te("infchng", "{0} $onChanges() iterations reached. Aborting!\n", D);p.$apply(function() {for(var a = [], b = 0, c = ta.length; b < c; ++b) try {ta[b]()} catch(b) {a.push(b)}if(ta = void 0, a.length) throw a})} finally {xa++}}function I(a, b) {if(b) {var c, d, e, f = Object.keys(b);for(c = 0, d = f.length; c < d; c++) e = f[c], this[e] = b[e]} else this.$attr = {};this.$$element = a}function J(a, b, c) {va.innerHTML = "";var d = va.firstChild.attributes,e = d[0];d.removeNamedItem(e.name), e.value = c, a.attributes.setNamedItem(e)}function K(a, b) {try {a.addClass(b)} catch(a) {}}function N(b, c, d, e, f) {b instanceof Ld || (b = Ld(b));for(var g = /\S+/, h = 0, i = b.length; h < i; h++) {var j = b[h];j.nodeType === ge && j.nodeValue.match(g) && Ca(j, b[h] = a.document.createElement("span"))}var k = S(b, c, b, d, e, f);N.$$addScopeClass(b);var l = null;return function(a, c, d) {ja(a, "scope"), f && f.needsNewScope && (a = a.$parent.$new()), d = d || {};var e = d.parentBoundTranscludeFn,g = d.transcludeControllers,h = d.futureParentElement;e && e.$$boundTransclude && (e = e.$$boundTransclude), l || (l = P(h));var i;if(i = "html" !== l ? Ld(la(l, Ld("

").append(b).html())) : c ? ze.clone.call(b) : b, g)for(var j in g) i.data("$" + j + "Controller", g[j].instance);return N.$$addScopeInfo(i, a), c && c(i, a), k && k(a, i, i, e), i}}function P(a) {var b = a && a[0];return b && "foreignobject" !== L(b) && Rd.call(b).match(/SVG/) ? "svg" : "html"}function S(a, b, c, d, e, f) {function g(a, c, d, e) {var f, g, h, i, j, k, l, m, p;if(n) {var q = c.length;for(p = new Array(q), j = 0; j < o.length; j += 3) l = o[j], p[l] = c[l]} else p = c;for(j = 0, k = o.length; j < k;) h = p[o[j++]], f = o[j++], g = o[j++], f ? (f.scope ? (i = a.$new(), N.$$addScopeInfo(Ld(h), i)) : i = a, m = f.transcludeOnThisElement ? T(a, f.transclude, e) : !f.templateOnThisElement && e ? e : !e && b ? T(a, b) : null, f(g, i, h, d, m)) : g && g(a, h.childNodes, void 0, e)}for(var h, i, j, k, l, m, n, o = [], p = 0; p < a.length; p++) h = new I, i = U(a[p], [], h, 0 === p ? d : void 0, e), j = i.length ? $(i, a[p], h, b, c, null, [], [], f) : null, j && j.scope && N.$$addScopeClass(h.$$element), l = j && j.terminal || !(k = a[p].childNodes) || !k.length ? null : S(k, j ? (j.transcludeOnThisElement || !j.templateOnThisElement) && j.transclude : b), (j || l) && (o.push(p, j, l), m = !0, n = n || j), f = null;return m ? g : null}function T(a, b, c) {function d(d, e, f, g, h) {return d || (d = a.$new(!1, h), d.$$transcluded = !0), b(d, e, {parentBoundTranscludeFn: c,transcludeControllers: f,futureParentElement: g})}var e = d.$$slots = oa();for(var f in b.$$slots) b.$$slots[f] ? e[f] = T(a, b.$$slots[f], c) : e[f] = null;return d}function U(a, b, c, d, e) {var f, g, h = a.nodeType,i = c.$attr;switch(h) {case ee:ca(b, qb(L(a)), "E", d, e);for(var j, k, l, m, n, o, p = a.attributes, q = 0, r = p && p.length; q < r; q++) {var s = !1,w = !1;j = p[q], k = j.name, n = Yd(j.value), m = qb(k), (o = Ba.test(m)) && (k = k.replace(Ve, "").substr(8).replace(/_(.)/g, function(a, b) {return b.toUpperCase()}));var x = m.match(Da);x && da(x[1]) && (s = k, w = k.substr(0, k.length - 5) + "end", k = k.substr(0, k.length - 6)), l = qb(k.toLowerCase()), i[l] = k, !o && c.hasOwnProperty(l) || (c[l] = n, Ta(a, l) && (c[l] = !0)), na(a, b, n, l, o), ca(b, l, "A", d, e, s, w)}if(g = a.className, t(g) && (g = g.animVal), v(g) && "" !== g)for(; f = u.exec(g);) l = qb(f[2]), ca(b, l, "C", d, e) && (c[l] = Yd(f[3])), g = g.substr(f.index + f[0].length);break;case ge:if(11 === Kd)for(; a.parentNode && a.nextSibling && a.nextSibling.nodeType === ge;) a.nodeValue = a.nodeValue + a.nextSibling.nodeValue, a.parentNode.removeChild(a.nextSibling);ka(b, a.nodeValue);break;case he:V(a, b, c, d, e)}return b.sort(ga), b}function V(a, b, c, d, e) {try {var f = q.exec(a.nodeValue);if(f) {var g = qb(f[1]);ca(b, g, "M", d, e) && (c[g] = Yd(f[2]))}} catch(a) {}}function W(a, b, c) {var d = [],e = 0;if(b && a.hasAttribute && a.hasAttribute(b))do {if(!a) throw Te("uterdir", "Unterminated attribute, found '{0}' but no matching '{1}' found.", b, c);a.nodeType == ee && (a.hasAttribute(b) && e++, a.hasAttribute(c) && e--), d.push(a), a = a.nextSibling} while (e > 0);else d.push(a);return Ld(d)}function X(a, b, c) {return function(d, e, f, g, h) {return e = W(e[0], b, c), a(d, e, f, g, h)}}function Z(a, b, c, d, e, f) {var g;return a ? N(b, c, d, e, f) : function() {return g || (g = N(b, c, d, e, f), b = c = f = null), g.apply(this, arguments)}}function $(a, b, c, f, g, h, i, k, l) {function m(a, b, c, d) {a && (c && (a = X(a, c, d)), a.require = o.require, a.directiveName = p, (z === o || o.$$isolateScope) && (a = qa(a, {isolateScope: !0})), i.push(a)), b && (c && (b = X(b, c, d)), b.require = o.require, b.directiveName = p, (z === o || o.$$isolateScope) && (b = qa(b, {isolateScope: !0})), k.push(b))}function n(a, f, g, h, l) {function m(a, b, c, d) {var e;if(B(a) || (d = c, c = b, b = a, a = void 0), F && (e = u), c || (c = F ? C.parent() : C), !d) return l(a, b, e, c, M);var f = l.$$slots[d];if(f) return f(a, b, e, c, M);if(r(f)) throw Te("noslot", 'No parent directive that requires a transclusion with slot name "{0}". Element: {1}', d, Y(C))}var n, o, p, q, s, u, v, C, D, E;b === g ? (D = c, C = c.$$element) : (C = Ld(g), D = new I(C, c)), s = f, z ? q = f.$new(!0) : w && (s = f.$parent), l && (v = m, v.$$boundTransclude = l, v.isSlotFilled = function(a) {return !!l.$$slots[a]}), x && (u = aa(C, D, v, x, q, f, z)), z && (N.$$addScopeInfo(C, q, !0, !(A && (A === z || A === z.$$originalDirective))), N.$$addScopeClass(C, !0), q.$$isolateBindings = z.$$isolateBindings, E = sa(f, D, q, q.$$isolateBindings, z), E.removeWatches && q.$on("$destroy", E.removeWatches));for(var G in u) {var H = x[G],J = u[G],K = H.$$bindings.bindToController;J.identifier && K ? J.bindingInfo = sa(s, D, J.instance, K, H) : J.bindingInfo = {};var L = J();L !== J.instance && (J.instance = L, C.data("$" + H.name + "Controller", L), J.bindingInfo.removeWatches && J.bindingInfo.removeWatches(), J.bindingInfo = sa(s, D, J.instance, K, H))}for(d(x, function(a, b) {var c = a.require;a.bindToController && !Wd(c) && t(c) && j(u[b].instance, _(b, c, C, u))}), d(u, function(a) {var b = a.instance;if(y(b.$onChanges)) try {b.$onChanges(a.bindingInfo.initialChanges)} catch(a) {e(a)}if(y(b.$onInit)) try {b.$onInit()} catch(a) {e(a)}y(b.$doCheck) && (s.$watch(function() {b.$doCheck()}), b.$doCheck()), y(b.$onDestroy) && s.$on("$destroy", function() {b.$onDestroy()})}), n = 0, o = i.length; n < o; n++) p = i[n], ra(p, p.isolateScope ? q : f, C, D, p.require && _(p.directiveName, p.require, C, u), v);var M = f;for(z && (z.template || null === z.templateUrl) && (M = q), a && a(M, g.childNodes, void 0, l), n = k.length - 1; n >= 0; n--) p = k[n], ra(p, p.isolateScope ? q : f, C, D, p.require && _(p.directiveName, p.require, C, u), v);d(u, function(a) {var b = a.instance;y(b.$postLink) && b.$postLink()})}l = l || {};for(var o, p, q, s, u, v = -Number.MAX_VALUE, w = l.newScopeDirective, x = l.controllerDirectives, z = l.newIsolateScopeDirective, A = l.templateDirective, C = l.nonTlbTranscludeDirective, D = !1, E = !1, F = l.hasElementTranscludeDirective, G = c.$$element = Ld(b), H = h, J = f, K = !1, M = !1, O = 0, P = a.length; O < P; O++) {o = a[O];var S = o.$$start,T = o.$$end;if(S && (G = W(b, S, T)), q = void 0, v > o.priority) break;if((u = o.scope) && (o.templateUrl || (t(u) ? (ia("new/isolated scope", z || w, o, G), z = o) : ia("new/isolated scope", z, o, G)), w = w || o), p = o.name, !K && (o.replace && (o.templateUrl || o.template) || o.transclude && !o.$$tlb)) {for(var V, $ = O + 1; V = a[$++];)if(V.transclude && !V.$$tlb || V.replace && (V.templateUrl || V.template)) {M = !0;break}K = !0}if(!o.templateUrl && o.controller && (u = o.controller, x = x || oa(), ia("'" + p + "' controller", x[p], o, G), x[p] = o), u = o.transclude)if(D = !0, o.$$tlb || (ia("transclusion", C, o, G), C = o), "element" == u) F = !0, v = o.priority, q = G, G = c.$$element = Ld(N.$$createComment(p, c[p])), b = G[0], pa(g, Q(q), b), q[0].$$parentNode = q[0].parentNode, J = Z(M, q, f, v, H && H.name, {nonTlbTranscludeDirective: C});else {var ca = oa();if(q = Ld(Ea(b)).contents(), t(u)) {q = [];var da = oa(),ga = oa();d(u, function(a, b) {var c = "?" === a.charAt(0);a = c ? a.substring(1) : a, da[a] = b, ca[b] = null, ga[b] = c}), d(G.contents(), function(a) {var b = da[qb(L(a))];b ? (ga[b] = !0, ca[b] = ca[b] || [], ca[b].push(a)) : q.push(a)}), d(ga, function(a, b) {if(!a) throw Te("reqslot", "Required transclusion slot `{0}` was not filled.", b)});for(var ha in ca) ca[ha] && (ca[ha] = Z(M, ca[ha], f))}G.empty(), J = Z(M, q, f, void 0, void 0, {needsNewScope: o.$$isolateScope || o.$$newScope}), J.$$slots = ca}if(o.template)if(E = !0, ia("template", A, o, G), A = o, u = y(o.template) ? o.template(G, c) : o.template, u = Aa(u), o.replace) {if(H = o, q = wa(u) ? [] : sb(la(o.templateNamespace, Yd(u))), b = q[0], 1 != q.length || b.nodeType !== ee) throw Te("tplrt", "Template for directive '{0}' must have exactly one root element. {1}", p, "");pa(g, G, b);var ja = {$attr: {}},ka = U(b, [], ja),ma = a.splice(O + 1, a.length - (O + 1));(z || w) && ba(ka, z, w), a = a.concat(ka).concat(ma), ea(c, ja), P = a.length} else G.html(u);if(o.templateUrl) E = !0, ia("template", A, o, G), A = o, o.replace && (H = o), n = fa(a.splice(O, a.length - O), G, c, g, D && J, i, k, {controllerDirectives: x,newScopeDirective: w !== o && w,newIsolateScopeDirective: z,templateDirective: A,nonTlbTranscludeDirective: C}), P = a.length;else if(o.compile) try {s = o.compile(G, c, J);var na = o.$$originalDirective || o;y(s) ? m(null, R(na, s), S, T) : s && m(R(na, s.pre), R(na, s.post), S, T)} catch(a) {e(a, Y(G))}o.terminal && (n.terminal = !0, v = Math.max(v, o.priority))}return n.scope = w && w.scope === !0, n.transcludeOnThisElement = D, n.templateOnThisElement = E, n.transclude = J, l.hasElementTranscludeDirective = F, n}function _(a, b, c, e) {var f;if(v(b)) {var g = b.match(x),h = b.substring(g[0].length),i = g[1] || g[3],j = "?" === g[2];if("^^" === i ? c = c.parent() : (f = e && e[h], f = f && f.instance), !f) {var k = "$" + h + "Controller";f = i ? c.inheritedData(k) : c.data(k)}if(!f && !j) throw Te("ctreq", "Controller '{0}', required by directive '{1}', can't be found!", h, a)} else if(Wd(b)) {f = [];for(var l = 0, m = b.length; l < m; l++) f[l] = _(a, b[l], c, e)} else t(b) && (f = {}, d(b, function(b, d) {f[d] = _(a, b, c, e)}));return f || null}function aa(a, b, c, d, e, f, g) {var h = oa();for(var j in d) {var k = d[j],l = {$scope: k === g || k.$$isolateScope ? e : f,$element: a,$attrs: b,$transclude: c},m = k.controller;"@" == m && (m = b[k.name]);var n = i(m, l, !0, k.controllerAs);h[k.name] = n, a.data("$" + k.name + "Controller", n.instance)}return h}function ba(a, b, c) {for(var d = 0, e = a.length; d < e; d++) a[d] = m(a[d], {$$isolateScope: b,$$newScope: c})}function ca(a, c, d, f, h, i, j) {if(c === h) return null;var n = null;if(k.hasOwnProperty(c))for(var o, p = b.get(c + l), q = 0, s = p.length; q < s; q++) try {if(o = p[q], (r(f) || f > o.priority) && o.restrict.indexOf(d) != -1) {if(i && (o = m(o, {$$start: i,$$end: j})), !o.$$bindings) {var u = o.$$bindings = g(o, o.name);t(u.isolateScope) && (o.$$isolateBindings = u.isolateScope)}a.push(o), n = o}} catch(a) {e(a)}return n}function da(a) {if(k.hasOwnProperty(a))for(var c, d = b.get(a + l), e = 0, f = d.length; e < f; e++)if(c = d[e], c.multiElement) return !0;return !1}function ea(a, b) {var c = b.$attr,e = a.$attr;a.$$element;d(a, function(d, e) {"$" != e.charAt(0) && (b[e] && b[e] !== d && (d += ("style" === e ? ";" : " ") + b[e]), a.$set(e, d, !0, c[e]))}), d(b, function(b, d) {a.hasOwnProperty(d) || "$" === d.charAt(0) || (a[d] = b, "class" !== d && "style" !== d && (e[d] = c[d]))})}function fa(a, b, c, e, g, h, i, j) {var k, l, n = [],o = b[0],p = a.shift(),q = m(p, {templateUrl: null,transclude: null,replace: null,$$originalDirective: p}),r = y(p.templateUrl) ? p.templateUrl(b, c) : p.templateUrl,s = p.templateNamespace;return b.empty(), f(r).then(function(f) {var m, u, v, w;if(f = Aa(f), p.replace) {if(v = wa(f) ? [] : sb(la(s, Yd(f))), m = v[0], 1 != v.length || m.nodeType !== ee) throw Te("tplrt", "Template for directive '{0}' must have exactly one root element. {1}", p.name, r);u = {$attr: {}}, pa(e, b, m);var x = U(m, [], u);t(p.scope) && ba(x, !0), a = x.concat(a), ea(c, u)} else m = o, b.html(f);for(a.unshift(q), k = $(a, m, c, g, b, p, h, i, j), d(e, function(a, c) {a == m && (e[c] = b[0])}), l = S(b[0].childNodes, g); n.length;) {var y = n.shift(),z = n.shift(),A = n.shift(),B = n.shift(),C = b[0];if(!y.$$destroyed) {if(z !== o) {var D = z.className;j.hasElementTranscludeDirective && p.replace || (C = Ea(m)), pa(A, Ld(z), C), K(Ld(C), D)}w = k.transcludeOnThisElement ? T(y, k.transclude, B) : B, k(l, y, C, e, w)}}n = null}),function(a, b, c, d, e) {var f = e;b.$$destroyed || (n ? n.push(b, c, d, f) : (k.transcludeOnThisElement && (f = T(b, k.transclude, e)), k(l, b, c, d, f)))}}function ga(a, b) {var c = b.priority - a.priority;return 0 !== c ? c : a.name !== b.name ? a.name < b.name ? -1 : 1 : a.index - b.index}function ia(a, b, c, d) {function e(a) {return a ? " (module: " + a + ")" : ""}if(b) throw Te("multidir", "Multiple directives [{0}{1}, {2}{3}] asking for {4} on: {5}", b.name, e(b.$$moduleName), c.name, e(c.$$moduleName), a, Y(d))}function ka(a, b) {var d = c(b, !0);d && a.push({priority: 0,compile: function(a) {var b = a.parent(),c = !!b.length;return c && N.$$addBindingClass(b),function(a, b) {var e = b.parent();c || N.$$addBindingClass(e), N.$$addBindingInfo(e, d.expressions), a.$watch(d, function(a) {b[0].nodeValue = a})}}})}function la(b, c) {switch(b = Gd(b || "html")) {case "svg":case "math":var d = a.document.createElement("div");return d.innerHTML = "<" + b + ">" + c + "" + b + ">", d.childNodes[0].childNodes;default:return c}}function ma(a, b) {if("srcdoc" == b) return A.HTML;var c = L(a);return "xlinkHref" == b || "form" == c && "action" == b || "img" != c && ("src" == b || "ngSrc" == b) ? A.RESOURCE_URL : void 0}function na(a, b, d, e, f) {var g = ma(a, e);f = w[e] || f;var h = c(d, !0, g, f);if(h) {if("multiple" === e && "select" === L(a)) throw Te("selmulti", "Binding to the 'multiple' attribute is not supported. Element: {0}", Y(a));b.push({priority: 100,compile: function() {return {pre: function(a, b, i) {var j = i.$$observers || (i.$$observers = oa());if(z.test(e)) throw Te("nodomevents", "Interpolations for HTML DOM event attributes are disallowed. Please use the ng- versions (such as ng-click instead of onclick) instead.");var k = i[e];k !== d && (h = k && c(k, !0, g, f), d = k), h && (i[e] = h(a), (j[e] || (j[e] = [])).$$inter = !0, (i.$$observers && i.$$observers[e].$$scope || a).$watch(h, function(a, b) {"class" === e && a != b ? i.$updateClass(a, b) : i.$set(e, a)}))}}}})}}function pa(b, c, d) {var e, f, g = c[0],h = c.length,i = g.parentNode;if(b)for(e = 0, f = b.length; e < f; e++)if(b[e] == g) {b[e++] = d;for(var j = e, k = j + h - 1, l = b.length; j < l; j++, k++) k < l ? b[j] = b[k] : delete b[j];b.length -= h - 1, b.context === g && (b.context = d);break}i && i.replaceChild(d, g);var m = a.document.createDocumentFragment();for(e = 0; e < h; e++) m.appendChild(c[e]);for(Ld.hasData(g) && (Ld.data(d, Ld.data(g)), Ld(g).off("$destroy")), Ld.cleanData(m.querySelectorAll("*")), e = 1; e < h; e++) delete c[e];c[0] = d, c.length = 1}function qa(a, b) {return j(function() {return a.apply(null, arguments)}, a, b)}function ra(a, b, c, d, f, g) {try {a(b, c, d, f, g)} catch(a) {e(a, Y(c))}}function sa(a, b, e, f, g) {function i(b, c, d) {y(e.$onChanges) && c !== d && (ta || (a.$$postDigest(H), ta = []), k || (k = {}, ta.push(j)), k[b] && (d = k[b].previousValue), k[b] = new pb(d, c))}function j() {e.$onChanges(k), k = void 0}var k, l = [],m = {};return d(f, function(d, f) {var j, k, o, p, q, r = d.attrName,s = d.optional,t = d.mode;switch(t) {case "@":s || Fd.call(b, r) || (e[f] = b[r] = void 0), b.$observe(r, function(a) {if(v(a) || F(a)) {i(f, a, e[f]), e[f] = a}}), b.$$observers[r].$$scope = a, j = b[r], v(j) ? e[f] = c(j)(a) : F(j) && (e[f] = j), m[f] = new pb(Ue, e[f]);break;case "=":if(!Fd.call(b, r)) {if(s) break;b[r] = void 0}if(s && !b[r]) break;k = h(b[r]), p = k.literal ? O : function(a, b) {return a === b || a !== a && b !== b}, o = k.assign || function() {throw j = e[f] = k(a), Te("nonassign", "Expression '{0}' in attribute '{1}' used with directive '{2}' is non-assignable!", b[r], r, g.name)}, j = e[f] = k(a);var u = function(b) {return p(b, e[f]) || (p(b, j) ? o(a, b = e[f]) : e[f] = b), j = b};u.$stateful = !0, q = d.collection ? a.$watchCollection(b[r], u) : a.$watch(h(b[r], u), null, k.literal), l.push(q);break;case "<":if(!Fd.call(b, r)) {if(s) break;b[r] = void 0}if(s && !b[r]) break;k = h(b[r]);var w = e[f] = k(a);m[f] = new pb(Ue, e[f]), q = a.$watch(k, function(a, b) {if(b === a) {if(b === w) return;b = w}i(f, a, b), e[f] = a}, k.literal), l.push(q);break;case "&":if((k = b.hasOwnProperty(r) ? h(b[r]) : n) === n && s) break;e[f] = function(b) {return k(a, b)}}}), {initialChanges: m,removeWatches: l.length && function() {for(var a = 0, b = l.length; a < b; ++a) l[a]()}}}var ta, ua = /^\w/,va = a.document.createElement("div"),xa = D;I.prototype = {$normalize: qb,$addClass: function(a) {a && a.length > 0 && E.addClass(this.$$element, a)},$removeClass: function(a) {a && a.length > 0 && E.removeClass(this.$$element, a)},$updateClass: function(a, b) {var c = rb(a, b);c && c.length && E.addClass(this.$$element, c);var d = rb(b, a);d && d.length && E.removeClass(this.$$element, d)},$set: function(a, b, c, f) {var g, h = this.$$element[0],i = Ta(h, a),j = Ua(a),k = a;if(i ? (this.$$element.prop(a, b), f = i) : j && (this[j] = b, k = j), this[a] = b, f ? this.$attr[a] = f : (f = this.$attr[a]) || (this.$attr[a] = f = ha(a, "-")), "a" === (g = L(this.$$element)) && ("href" === a || "xlinkHref" === a) || "img" === g && "src" === a) this[a] = b = G(b, "src" === a);else if("img" === g && "srcset" === a && s(b)) {for(var l = "", m = Yd(b), n = /(\s+\d+x\s*,|\s+\d+w\s*,|\s+,|,\s+)/, o = /\s/.test(m) ? n : /(,)/, p = m.split(o), q = Math.floor(p.length / 2), t = 0; t < q; t++) {var u = 2 * t;l += G(Yd(p[u]), !0), l += " " + Yd(p[u + 1])}var v = Yd(p[2 * t]).split(/\s/);l += G(Yd(v[0]), !0), 2 === v.length && (l += " " + Yd(v[1])), this[a] = b = l}c !== !1 && (null === b || r(b) ? this.$$element.removeAttr(f) : ua.test(f) ? this.$$element.attr(f, b) : J(this.$$element[0], f, b));var w = this.$$observers;w && d(w[k], function(a) {try {a(b)} catch(a) {e(a)}})},$observe: function(a, b) {var c = this,d = c.$$observers || (c.$$observers = oa()),e = d[a] || (d[a] = []);return e.push(b), p.$evalAsync(function() {e.$$inter || !c.hasOwnProperty(a) || r(c[a]) || b(c[a])}),function() {M(e, b)}}};var ya = c.startSymbol(),za = c.endSymbol(),Aa = "{{" == ya && "}}" == za ? o : function(a) {return a.replace(/\{\{/g, ya).replace(/}}/g, za)},Ba = /^ngAttr[A-Z]/,Da = /^(.+)Start$/;return N.$$addBindingInfo = C ? function(a, b) {var c = a.data("$binding") || [];Wd(b) ? c = c.concat(b) : c.push(b), a.data("$binding", c)} : n, N.$$addBindingClass = C ? function(a) {K(a, "ng-binding")} : n, N.$$addScopeInfo = C ? function(a, b, c, d) {var e = c ? d ? "$isolateScopeNoTemplate" : "$isolateScope" : "$scope";a.data(e, b)} : n, N.$$addScopeClass = C ? function(a, b) {K(a, b ? "ng-isolate-scope" : "ng-scope")} : n, N.$$createComment = function(b, c) {var d = "";return C && (d = " " + (b || "") + ": ", c && (d += c + " ")), a.document.createComment(d)}, N}]}function pb(a, b) {this.previousValue = a, this.currentValue = b}function qb(a) {return va(a.replace(Ve, ""))}function rb(a, b) {var c = "",d = a.split(/\s+/),e = b.split(/\s+/);a: for(var f = 0; f < d.length; f++) {for(var g = d[f], h = 0; h < e.length; h++)if(g == e[h]) continue a;c += (c.length > 0 ? " " : "") + g}return c}function sb(a) {a = Ld(a);var b = a.length;if(b <= 1) return a;for(; b--;) {a[b].nodeType === he && Pd.call(a, b, 1)}return a}function tb(a, b) {if(b && v(b)) return b;if(v(a)) {var c = Xe.exec(a);if(c) return c[3]}}function ub() {var a = {},c = !1;this.has = function(b) {return a.hasOwnProperty(b)}, this.register = function(b, c) {la(b, "controller"), t(b) ? j(a, b) : a[b] = c}, this.allowGlobals = function() {c = !0}, this.$get = ["$injector", "$window", function(d, e) {function f(a, c, d, e) {if(!a || !t(a.$scope)) throw b("$controller")("noscp", "Cannot export controller '{0}' as '{1}'! No $scope object provided via `locals`.", e, c);a.$scope[c] = d}return function(b, g, h, i) {var k, l, m, n;if(h = h === !0, i && v(i) && (n = i), v(b)) {if(!(l = b.match(Xe))) throw We("ctrlfmt", "Badly formed controller string '{0}'. Must match `__name__ as __id__` or `__name__`.", b);m = l[1], n = n || l[3], b = a.hasOwnProperty(m) ? a[m] : ma(g.$scope, m, !0) || (c ? ma(e, m, !0) : void 0), ka(b, m, !0)}if(h) {var o = (Wd(b) ? b[b.length - 1] : b).prototype;k = Object.create(o || null), n && f(g, n, k, m || b.name);return j(function() {var a = d.invoke(b, k, g, m);return a !== k && (t(a) || y(a)) && (k = a, n && f(g, n, k, m || b.name)), k}, {instance: k,identifier: n})}return k = d.instantiate(b, g, m), n && f(g, n, k, m || b.name), k}}]}function vb() {this.$get = ["$window", function(a) {return Ld(a.document)}]}function wb() {this.$get = ["$log", function(a) {return function(b, c) {a.error.apply(a, arguments)}}]}function xb(a) {return t(a) ? x(a) ? a.toISOString() : T(a) : a}function yb() {this.$get = function() {return function(a) {if(!a) return "";var b = [];return e(a, function(a, c) {null === a || r(a) || (Wd(a) ? d(a, function(a) {b.push(ba(c) + "=" + ba(xb(a)))}) : b.push(ba(c) + "=" + ba(xb(a))))}), b.join("&")}}}function zb() {this.$get = function() {return function(a) {function b(a, f, g) {null === a || r(a) || (Wd(a) ? d(a, function(a, c) {b(a, f + "[" + (t(a) ? c : "") + "]")}) : t(a) && !x(a) ? e(a, function(a, c) {b(a, f + (g ? "" : "[") + c + (g ? "" : "]"))}) : c.push(ba(f) + "=" + ba(xb(a))))}if(!a) return "";var c = [];return b(a, "", !0), c.join("&")}}}function Ab(a, b) {if(v(a)) {var c = a.replace(bf, "").trim();if(c) {var d = b("Content-Type");(d && 0 === d.indexOf(Ze) || Bb(c)) && (a = U(c))}}return a}function Bb(a) {var b = a.match(_e);return b && af[b[0]].test(a)}function Cb(a) {function b(a, b) {a && (e[a] = e[a] ? e[a] + ", " + b : b)}var c, e = oa();return v(a) ? d(a.split("\n"), function(a) {c = a.indexOf(":"), b(Gd(Yd(a.substr(0, c))), Yd(a.substr(c + 1)))}) : t(a) && d(a, function(a, c) {b(Gd(c), Yd(a))}), e}function Db(a) {var b;return function(c) {if(b || (b = Cb(a)), c) {var d = b[Gd(c)];return void 0 === d && (d = null), d}return b}}function Eb(a, b, c, e) {return y(e) ? e(a, b, c) : (d(e, function(d) {a = d(a, b, c)}), a)}function Fb(a) {return 200 <= a && a < 300}function Gb() {var a = this.defaults = {transformResponse: [Ab],transformRequest: [function(a) {return !t(a) || C(a) || E(a) || D(a) ? a : T(a)}],headers: {common: {Accept: "application/json, text/plain, */*"},post: qa($e),put: qa($e),patch: qa($e)},xsrfCookieName: "XSRF-TOKEN",xsrfHeaderName: "X-XSRF-TOKEN",paramSerializer: "$httpParamSerializer"},c = !1;this.useApplyAsync = function(a) {return s(a) ? (c = !!a, this) : c};var e = !0;this.useLegacyPromiseExtensions = function(a) {return s(a) ? (e = !!a, this) : e};var f = this.interceptors = [];this.$get = ["$httpBackend", "$$cookieReader", "$cacheFactory", "$rootScope", "$q", "$injector", function(g, h, i, k, l, m) {function n(c) {function f(a, b) {for(var c = 0, d = b.length; c < d;) {var e = b[c++],f = b[c++];a = a.then(e, f)}return b.length = 0, a}function g(a, b) {var c, e = {};return d(a, function(a, d) {y(a) ? null != (c = a(b)) && (e[d] = c) : e[d] = a}), e}function h(b) {var c, d, e, f = a.headers,h = j({}, b.headers);f = j({}, f.common, f[Gd(b.method)]);a: for(c in f) {d = Gd(c);for(e in h)if(Gd(e) === d) continue a;h[c] = f[c]}return g(h, qa(b))}function i(b) {var c = b.headers,e = Eb(b.data, Db(c), void 0, b.transformRequest);return r(e) && d(c, function(a, b) {"content-type" === Gd(b) && delete c[b]}), r(b.withCredentials) && !r(a.withCredentials) && (b.withCredentials = a.withCredentials), q(b, e).then(k, k)}function k(a) {var b = j({}, a);return b.data = Eb(a.data, a.headers, a.status, n.transformResponse), Fb(a.status) ? b : l.reject(b)}if(!t(c)) throw b("$http")("badreq", "Http request configuration must be an object. Received: {0}", c);if(!v(c.url)) throw b("$http")("badreq", "Http request configuration url must be a string. Received: {0}", c.url);var n = j({method: "get",transformRequest: a.transformRequest,transformResponse: a.transformResponse,paramSerializer: a.paramSerializer}, c);n.headers = h(c), n.method = Hd(n.method), n.paramSerializer = v(n.paramSerializer) ? m.get(n.paramSerializer) : n.paramSerializer;var o = [],p = [],s = l.when(n);return d(x, function(a) {(a.request || a.requestError) && o.unshift(a.request, a.requestError), (a.response || a.responseError) && p.push(a.response, a.responseError)}), s = f(s, o), s = s.then(i), s = f(s, p), e ? (s.success = function(a) {return ka(a, "fn"), s.then(function(b) {a(b.data, b.status, b.headers, n)}), s}, s.error = function(a) {return ka(a, "fn"), s.then(null, function(b) {a(b.data, b.status, b.headers, n)}), s}) : (s.success = df("success"), s.error = df("error")), s}function o(a) {d(arguments, function(a) {n[a] = function(b, c) {return n(j({}, c || {}, {method: a,url: b}))}})}function p(a) {d(arguments, function(a) {n[a] = function(b, c, d) {return n(j({}, d || {}, {method: a,url: b,data: c}))}})}function q(b, e) {function f(a) {if(a) {var b = {};return d(a, function(a, d) {b[d] = function(b) {function d() {a(b)}c ? k.$applyAsync(d) : k.$$phase ? d() : k.$apply(d)}}), b}}function i(a, b, d, e) {function f() {j(b, a, d, e)}p && (Fb(a) ? p.put(z, [a, b, Cb(d), e]) : p.remove(z)), c ? k.$applyAsync(f) : (f(), k.$$phase || k.$apply())}function j(a, c, d, e) {c = c >= -1 ? c : 0, (Fb(c) ? v.resolve : v.reject)({data: a,status: c,headers: Db(d),config: b,statusText: e})}function m(a) {j(a.data, a.status, qa(a.headers()), a.statusText)}function o() {var a = n.pendingRequests.indexOf(b);a !== -1 && n.pendingRequests.splice(a, 1)}var p, q, v = l.defer(),x = v.promise,y = b.headers,z = u(b.url, b.paramSerializer(b.params));if(n.pendingRequests.push(b), x.then(o, o), !b.cache && !a.cache || b.cache === !1 || "GET" !== b.method && "JSONP" !== b.method || (p = t(b.cache) ? b.cache : t(a.cache) ? a.cache : w), p && (q = p.get(z), s(q) ? G(q) ? q.then(m, m) : Wd(q) ? j(q[1], q[0], qa(q[2]), q[3]) : j(q, 200, {}, "OK") : p.put(z, x)), r(q)) {var A = Ic(b.url) ? h()[b.xsrfCookieName || a.xsrfCookieName] : void 0;A && (y[b.xsrfHeaderName || a.xsrfHeaderName] = A), g(b.method, z, e, i, y, b.timeout, b.withCredentials, b.responseType, f(b.eventHandlers), f(b.uploadEventHandlers))}return x}function u(a, b) {return b.length > 0 && (a += (a.indexOf("?") == -1 ? "?" : "&") + b), a}var w = i("$http");a.paramSerializer = v(a.paramSerializer) ? m.get(a.paramSerializer) : a.paramSerializer;var x = [];return d(f, function(a) {x.unshift(v(a) ? m.get(a) : m.invoke(a))}), n.pendingRequests = [], o("get", "delete", "head", "jsonp"), p("post", "put", "patch"), n.defaults = a, n}]}function Hb() {this.$get = function() {return function() {return new a.XMLHttpRequest}}}function Ib() {this.$get = ["$browser", "$jsonpCallbacks", "$document", "$xhrFactory", function(a, b, c, d) {return Jb(a, d, a.defer, b, c[0])}]}function Jb(a, b, c, e, f) {function g(a, b, c) {a = a.replace("JSON_CALLBACK", b);var d = f.createElement("script"),g = null;return d.type = "text/javascript", d.src = a, d.async = !0, g = function(a) {oe(d, "load", g), oe(d, "error", g), f.body.removeChild(d), d = null;var h = -1,i = "unknown";a && ("load" !== a.type || e.wasCalled(b) || (a = {type: "error"}), i = a.type, h = "error" === a.type ? 404 : 200), c && c(h, i)}, ne(d, "load", g), ne(d, "error", g), f.body.appendChild(d), g}return function(f, h, i, j, k, l, m, o, p, q) {function t() {w && w(), x && x.abort()}function u(b, d, e, f, g) {s(z) && c.cancel(z), w = x = null, b(d, e, f, g), a.$$completeOutstandingRequest(n)}if(a.$$incOutstandingRequestCount(), h = h || a.url(), "jsonp" === Gd(f)) var v = e.createCallback(h),w = g(h, v, function(a, b) {u(j, a, 200 === a && e.getResponse(v), "", b), e.removeCallback(v)});else {var x = b(f, h);x.open(f, h, !0), d(k, function(a, b) {s(a) && x.setRequestHeader(b, a)}), x.onload = function() {var a = x.statusText || "",b = "response" in x ? x.response : x.responseText,c = 1223 === x.status ? 204 : x.status;0 === c && (c = b ? 200 : "file" == Hc(h).protocol ? 404 : 0), u(j, c, b, x.getAllResponseHeaders(), a)};var y = function() {u(j, -1, null, null, "")};if(x.onerror = y, x.onabort = y, d(p, function(a, b) {x.addEventListener(b, a)}), d(q, function(a, b) {x.upload.addEventListener(b, a)}), m && (x.withCredentials = !0), o) try {x.responseType = o} catch(a) {if("json" !== o) throw a}x.send(r(i) ? null : i)}if(l > 0) var z = c(t, l);else G(l) && l.then(t)}}function Kb() {var a = "{{",b = "}}";this.startSymbol = function(b) {return b ? (a = b, this) : a}, this.endSymbol = function(a) {return a ? (b = a, this) : b}, this.$get = ["$parse", "$exceptionHandler", "$sce", function(c, d, e) {function f(a) {return "\\\\\\" + a}function g(c) {return c.replace(n, a).replace(o, b)}function h(a) {if(null == a) return "";switch(typeof a) {case "string":break;case "number":a = "" + a;break;default:a = T(a)}return a}function i(a, b, c, d) {var e;return e = a.$watch(function(a) {return e(), d(a)}, b, c)}function k(f, k, n, o) {function q(a) {try {return a = F(a), o && !s(a) ? a : h(a)} catch(a) {d(ef.interr(f, a))}}if(!f.length || f.indexOf(a) === -1) {var t;if(!k) {t = p(g(f)), t.exp = f, t.expressions = [], t.$$watchDelegate = i}return t}o = !!o;for(var u, v, w, x = 0, z = [], A = [], B = f.length, C = [], D = []; x < B;) {if((u = f.indexOf(a, x)) == -1 || (v = f.indexOf(b, u + l)) == -1) {x !== B && C.push(g(f.substring(x)));break}x !== u && C.push(g(f.substring(x, u))), w = f.substring(u + l, v), z.push(w), A.push(c(w, q)), x = v + m, D.push(C.length), C.push("")}if(n && C.length > 1 && ef.throwNoconcat(f), !k || z.length) {var E = function(a) {for(var b = 0, c = z.length; b < c; b++) {if(o && r(a[b])) return;C[D[b]] = a[b]}return C.join("")},F = function(a) {return n ? e.getTrusted(n, a) : e.valueOf(a)};return j(function(a) {var b = 0,c = z.length,e = new Array(c);try {for(; b < c; b++) e[b] = A[b](a);return E(e)} catch(a) {d(ef.interr(f, a))}}, {exp: f,expressions: z,$$watchDelegate: function(a, b) {var c;return a.$watchGroup(A, function(d, e) {var f = E(d);y(b) && b.call(this, f, d !== e ? c : f, a), c = f})}})}}var l = a.length,m = b.length,n = new RegExp(a.replace(/./g, f), "g"),o = new RegExp(b.replace(/./g, f), "g");return k.startSymbol = function() {return a}, k.endSymbol = function() {return b}, k}]}function Lb() {this.$get = ["$rootScope", "$window", "$q", "$$q", "$browser", function(a, b, c, d, e) {function f(f, h, i, j) {function k() {l ? f.apply(null, m) : f(p)}var l = arguments.length > 4,m = l ? Q(arguments, 4) : [],n = b.setInterval,o = b.clearInterval,p = 0,q = s(j) && !j,r = (q ? d : c).defer(),t = r.promise;return i = s(i) ? i : 0, t.$$intervalId = n(function() {q ? e.defer(k) : a.$evalAsync(k), r.notify(p++), i > 0 && p >= i && (r.resolve(p), o(t.$$intervalId), delete g[t.$$intervalId]), q || a.$apply()}, h), g[t.$$intervalId] = r, t}var g = {};return f.cancel = function(a) {return !!(a && a.$$intervalId in g) && (g[a.$$intervalId].reject("canceled"), b.clearInterval(a.$$intervalId), delete g[a.$$intervalId], !0)}, f}]}function Mb(a) {for(var b = a.split("/"), c = b.length; c--;) b[c] = aa(b[c]);return b.join("/")}function Nb(a, b) {var c = Hc(a);b.$$protocol = c.protocol, b.$$host = c.hostname, b.$$port = l(c.port) || hf[c.protocol] || null}function Ob(a, b) {var c = "/" !== a.charAt(0);c && (a = "/" + a);var d = Hc(a);b.$$path = decodeURIComponent(c && "/" === d.pathname.charAt(0) ? d.pathname.substring(1) : d.pathname), b.$$search = $(d.search), b.$$hash = decodeURIComponent(d.hash), b.$$path && "/" != b.$$path.charAt(0) && (b.$$path = "/" + b.$$path)}function Pb(a, b) {return 0 === a.lastIndexOf(b, 0)}function Qb(a, b) {if(Pb(b, a)) return b.substr(a.length)}function Rb(a) {var b = a.indexOf("#");return b == -1 ? a : a.substr(0, b)}function Sb(a) {return a.replace(/(#.+)|#$/, "$1")}function Tb(a) {return a.substr(0, Rb(a).lastIndexOf("/") + 1)}function Ub(a) {return a.substring(0, a.indexOf("/", a.indexOf("//") + 2))}function Vb(a, b, c) {this.$$html5 = !0, c = c || "", Nb(a, this), this.$$parse = function(a) {var c = Qb(b, a);if(!v(c)) throw jf("ipthprfx", 'Invalid url "{0}", missing path prefix "{1}".', a, b);Ob(c, this), this.$$path || (this.$$path = "/"), this.$$compose()}, this.$$compose = function() {var a = _(this.$$search),c = this.$$hash ? "#" + aa(this.$$hash) : "";this.$$url = Mb(this.$$path) + (a ? "?" + a : "") + c, this.$$absUrl = b + this.$$url.substr(1)}, this.$$parseLinkUrl = function(d, e) {if(e && "#" === e[0]) return this.hash(e.slice(1)), !0;var f, g, h;return s(f = Qb(a, d)) ? (g = f, h = s(f = Qb(c, f)) ? b + (Qb("/", f) || f) : a + g) : s(f = Qb(b, d)) ? h = b + f : b == d + "/" && (h = b), h && this.$$parse(h), !!h}}function Wb(a, b, c) {Nb(a, this), this.$$parse = function(d) {function e(a, b, c) {var d, e = /^\/[A-Z]:(\/.*)/;return Pb(b, c) && (b = b.replace(c, "")), e.exec(b) ? a : (d = e.exec(a), d ? d[1] : a)}var f, g = Qb(a, d) || Qb(b, d);r(g) || "#" !== g.charAt(0) ? this.$$html5 ? f = g : (f = "", r(g) && (a = d, this.replace())) : (f = Qb(c, g), r(f) && (f = g)), Ob(f, this), this.$$path = e(this.$$path, f, a), this.$$compose()}, this.$$compose = function() {var b = _(this.$$search),d = this.$$hash ? "#" + aa(this.$$hash) : "";this.$$url = Mb(this.$$path) + (b ? "?" + b : "") + d, this.$$absUrl = a + (this.$$url ? c + this.$$url : "")}, this.$$parseLinkUrl = function(b, c) {return Rb(a) == Rb(b) && (this.$$parse(b), !0)}}function Xb(a, b, c) {this.$$html5 = !0, Wb.apply(this, arguments), this.$$parseLinkUrl = function(d, e) {if(e && "#" === e[0]) return this.hash(e.slice(1)), !0;var f, g;return a == Rb(d) ? f = d : (g = Qb(b, d)) ? f = a + c + g : b === d + "/" && (f = b), f && this.$$parse(f), !!f}, this.$$compose = function() {var b = _(this.$$search),d = this.$$hash ? "#" + aa(this.$$hash) : "";this.$$url = Mb(this.$$path) + (b ? "?" + b : "") + d, this.$$absUrl = a + c + this.$$url}}function Yb(a) {return function() {return this[a]}}function Zb(a, b) {return function(c) {return r(c) ? this[a] : (this[a] = b(c), this.$$compose(), this)}}function $b() {var a = "",b = {enabled: !1,requireBase: !0,rewriteLinks: !0};this.hashPrefix = function(b) {return s(b) ? (a = b, this) : a}, this.html5Mode = function(a) {return F(a) ? (b.enabled = a, this) : t(a) ? (F(a.enabled) && (b.enabled = a.enabled), F(a.requireBase) && (b.requireBase = a.requireBase), F(a.rewriteLinks) && (b.rewriteLinks = a.rewriteLinks), this) : b}, this.$get = ["$rootScope", "$browser", "$sniffer", "$rootElement", "$window", function(c, d, e, f, g) {function h(a, b, c) {var e = j.url(),f = j.$$state;try {d.url(a, b, c), j.$$state = d.state()} catch(a) {throw j.url(e), j.$$state = f, a}}function i(a, b) {c.$broadcast("$locationChangeSuccess", j.absUrl(), a, j.$$state, b)}var j, k, l, m = d.baseHref(),n = d.url();if(b.enabled) {if(!m && b.requireBase) throw jf("nobase", "$location in HTML5 mode requires a

tag to be present!");l = Ub(n) + (m || "/"), k = e.history ? Vb : Xb} else l = Rb(n), k = Wb;var o = Tb(l);j = new k(l, o, "#" + a), j.$$parseLinkUrl(n, n), j.$$state = d.state();var p = /^\s*(javascript|mailto):/i;f.on("click", function(a) {if(b.rewriteLinks && !a.ctrlKey && !a.metaKey && !a.shiftKey && 2 != a.which && 2 != a.button) {for(var e = Ld(a.target);"a" !== L(e[0]);)if(e[0] === f[0] || !(e = e.parent())[0]) return;var h = e.prop("href"),i = e.attr("href") || e.attr("xlink:href");t(h) && "[object SVGAnimatedString]" === h.toString() && (h = Hc(h.animVal).href), p.test(h) || !h || e.attr("target") || a.isDefaultPrevented() || j.$$parseLinkUrl(h, i) && (a.preventDefault(), j.absUrl() != d.url() && (c.$apply(), g.angular["ff-684208-preventDefault"] = !0))}}), Sb(j.absUrl()) != Sb(n) && d.url(j.absUrl(), !0);var q = !0;return d.onUrlChange(function(a, b) {if(r(Qb(o, a))) return void(g.location.href = a);c.$evalAsync(function() {var d, e = j.absUrl(),f = j.$$state;a = Sb(a), j.$$parse(a), j.$$state = b, d = c.$broadcast("$locationChangeStart", a, e, b, f).defaultPrevented, j.absUrl() === a && (d ? (j.$$parse(e), j.$$state = f, h(e, !1, f)) : (q = !1, i(e, f)))}), c.$$phase || c.$digest()}), c.$watch(function() {var a = Sb(d.url()),b = Sb(j.absUrl()),f = d.state(),g = j.$$replace,k = a !== b || j.$$html5 && e.history && f !== j.$$state;(q || k) && (q = !1, c.$evalAsync(function() {var b = j.absUrl(),d = c.$broadcast("$locationChangeStart", b, a, j.$$state, f).defaultPrevented;j.absUrl() === b && (d ? (j.$$parse(a), j.$$state = f) : (k && h(b, g, f === j.$$state ? null : j.$$state), i(a, f)))})), j.$$replace = !1}), j}]}function _b() {var a = !0,b = this;this.debugEnabled = function(b) {return s(b) ? (a = b, this) : a}, this.$get = ["$window", function(c) {function e(a) {return a instanceof Error && (a.stack ? a = a.message && a.stack.indexOf(a.message) === -1 ? "Error: " + a.message + "\n" + a.stack : a.stack : a.sourceURL && (a = a.message + "\n" + a.sourceURL + ":" + a.line)), a}function f(a) {var b = c.console || {},f = b[a] || b.log || n,g = !1;try {g = !!f.apply} catch(a) {}return g ? function() {var a = [];return d(arguments, function(b) {a.push(e(b))}), f.apply(b, a)} : function(a, b) {f(a, null == b ? "" : b)}}return {log: f("log"),info: f("info"),warn: f("warn"),error: f("error"),debug: function() {var c = f("debug");return function() {a && c.apply(b, arguments)}}()}}]}function ac(a, b) {if("__defineGetter__" === a || "__defineSetter__" === a || "__lookupGetter__" === a || "__lookupSetter__" === a || "__proto__" === a) throw lf("isecfld", "Attempting to access a disallowed field in Angular expressions! Expression: {0}", b);return a}function bc(a) {return a + ""}function cc(a, b) {if(a) {if(a.constructor === a) throw lf("isecfn", "Referencing Function in Angular expressions is disallowed! Expression: {0}", b);if(a.window === a) throw lf("isecwindow", "Referencing the Window in Angular expressions is disallowed! Expression: {0}", b);if(a.children && (a.nodeName || a.prop && a.attr && a.find)) throw lf("isecdom", "Referencing DOM nodes in Angular expressions is disallowed! Expression: {0}", b);if(a === Object) throw lf("isecobj", "Referencing Object in Angular expressions is disallowed! Expression: {0}", b)}return a}function dc(a, b) {if(a) {if(a.constructor === a) throw lf("isecfn", "Referencing Function in Angular expressions is disallowed! Expression: {0}", b);if(a === mf || a === nf || a === of) throw lf("isecff", "Referencing call, apply or bind in Angular expressions is disallowed! Expression: {0}", b)}}function ec(a, b) {if(a && (a === (0).constructor || a === (!1).constructor || a === "".constructor || a === {}.constructor || a === [].constructor || a === Function.constructor)) throw lf("isecaf", "Assigning to a constructor is disallowed! Expression: {0}", b)}function fc(a, b) {return void 0 !== a ? a : b}function gc(a, b) {return void 0 === a ? b : void 0 === b ? a : a + b}function hc(a, b) {return !a(b).$stateful}function ic(a, b) {var c, e;switch(a.type) {case sf.Program:c = !0, d(a.body, function(a) {ic(a.expression, b), c = c && a.expression.constant}), a.constant = c;break;case sf.Literal:a.constant = !0, a.toWatch = [];break;case sf.UnaryExpression:ic(a.argument, b), a.constant = a.argument.constant, a.toWatch = a.argument.toWatch;break;case sf.BinaryExpression:ic(a.left, b), ic(a.right, b), a.constant = a.left.constant && a.right.constant, a.toWatch = a.left.toWatch.concat(a.right.toWatch);break;case sf.LogicalExpression:ic(a.left, b), ic(a.right, b), a.constant = a.left.constant && a.right.constant, a.toWatch = a.constant ? [] : [a];break;case sf.ConditionalExpression:ic(a.test, b), ic(a.alternate, b), ic(a.consequent, b), a.constant = a.test.constant && a.alternate.constant && a.consequent.constant, a.toWatch = a.constant ? [] : [a];break;case sf.Identifier:a.constant = !1, a.toWatch = [a];break;case sf.MemberExpression:ic(a.object, b), a.computed && ic(a.property, b), a.constant = a.object.constant && (!a.computed || a.property.constant), a.toWatch = [a];break;case sf.CallExpression:c = !!a.filter && hc(b, a.callee.name), e = [], d(a.arguments, function(a) {ic(a, b), c = c && a.constant, a.constant || e.push.apply(e, a.toWatch)}), a.constant = c, a.toWatch = a.filter && hc(b, a.callee.name) ? e : [a];break;case sf.AssignmentExpression:ic(a.left, b), ic(a.right, b), a.constant = a.left.constant && a.right.constant, a.toWatch = [a];break;case sf.ArrayExpression:c = !0, e = [], d(a.elements, function(a) {ic(a, b), c = c && a.constant, a.constant || e.push.apply(e, a.toWatch)}), a.constant = c, a.toWatch = e;break;case sf.ObjectExpression:c = !0, e = [], d(a.properties, function(a) {ic(a.value, b), c = c && a.value.constant && !a.computed, a.value.constant || e.push.apply(e, a.value.toWatch)}), a.constant = c, a.toWatch = e;break;case sf.ThisExpression:a.constant = !1, a.toWatch = [];break;case sf.LocalsExpression:a.constant = !1, a.toWatch = []}}function jc(a) {if(1 == a.length) {var b = a[0].expression,c = b.toWatch;return 1 !== c.length ? c : c[0] !== b ? c : void 0}}function kc(a) {return a.type === sf.Identifier || a.type === sf.MemberExpression}function lc(a) {if(1 === a.body.length && kc(a.body[0].expression)) return {type: sf.AssignmentExpression,left: a.body[0].expression,right: {type: sf.NGValueParameter},operator: "="}}function mc(a) {return 0 === a.body.length || 1 === a.body.length && (a.body[0].expression.type === sf.Literal || a.body[0].expression.type === sf.ArrayExpression || a.body[0].expression.type === sf.ObjectExpression)}function nc(a) {return a.constant}function oc(a, b) {this.astBuilder = a, this.$filter = b}function pc(a, b) {this.astBuilder = a, this.$filter = b}function qc(a) {return "constructor" == a}function rc(a) {return y(a.valueOf) ? a.valueOf() : uf.call(a)}function sc() {var a, b, c = oa(),e = oa(),f = {true: !0,false: !1,null: null,undefined: void 0};this.addLiteral = function(a, b) {f[a] = b}, this.setIdentifierFns = function(c, d) {return a = c, b = d, this}, this.$get = ["$filter", function(g) {function h(a, b, d) {var f, h, j;switch(d = d || u, typeof a) {case "string":a = a.trim(), j = a;var q = d ? e : c;if(!(f = q[j])) {":" === a.charAt(0) && ":" === a.charAt(1) && (h = !0, a = a.substring(2));var s = d ? t : r;f = new tf(new rf(s), g, s).parse(a), f.constant ? f.$$watchDelegate = o : h ? f.$$watchDelegate = f.literal ? m : l : f.inputs && (f.$$watchDelegate = k), d && (f = i(f)), q[j] = f}return p(f, b);case "function":return p(a, b);default:return p(n, b)}}function i(a) {function b(b, c, d, e) {var f = u;u = !0;try {return a(b, c, d, e)} finally {u = f}}if(!a) return a;b.$$watchDelegate = a.$$watchDelegate, b.assign = i(a.assign), b.constant = a.constant, b.literal = a.literal;for(var c = 0; a.inputs && c < a.inputs.length; ++c) a.inputs[c] = i(a.inputs[c]);return b.inputs = a.inputs, b}function j(a, b) {return null == a || null == b ? a === b : ("object" != typeof a || "object" != typeof(a = rc(a))) && (a === b || a !== a && b !== b)}function k(a, b, c, d, e) {var f, g = d.inputs;if(1 === g.length) {var h = j;return g = g[0], a.$watch(function(a) {var b = g(a);return j(b, h) || (f = d(a, void 0, void 0, [b]), h = b && rc(b)), f}, b, c, e)}for(var i = [], k = [], l = 0, m = g.length; l < m; l++) i[l] = j, k[l] = null;return a.$watch(function(a) {for(var b = !1, c = 0, e = g.length; c < e; c++) {var h = g[c](a);(b || (b = !j(h, i[c]))) && (k[c] = h, i[c] = h && rc(h))}return b && (f = d(a, void 0, void 0, k)), f}, b, c, e)}function l(a, b, c, d) {var e, f;return e = a.$watch(function(a) {return d(a)}, function(a, c, d) {f = a, y(b) && b.apply(this, arguments), s(a) && d.$$postDigest(function() {s(f) && e()})}, c)}function m(a, b, c, e) {function f(a) {var b = !0;return d(a, function(a) {s(a) || (b = !1)}), b}var g, h;return g = a.$watch(function(a) {return e(a)}, function(a, c, d) {h = a, y(b) && b.call(this, a, c, d), f(a) && d.$$postDigest(function() {f(h) && g()})}, c)}function o(a, b, c, d) {var e;return e = a.$watch(function(a) {return e(), d(a)}, b, c)}function p(a, b) {if(!b) return a;var c = a.$$watchDelegate,d = !1,e = c !== m && c !== l,f = e ? function(c, e, f, g) {return b(d && g ? g[0] : a(c, e, f, g), c, e)} : function(c, d, e, f) {var g = a(c, d, e, f),h = b(g, c, d);return s(g) ? h : g};return a.$$watchDelegate && a.$$watchDelegate !== k ? f.$$watchDelegate = a.$$watchDelegate : b.$stateful || (f.$$watchDelegate = k, d = !a.inputs, f.inputs = a.inputs ? a.inputs : [a]), f}var q = $d().noUnsafeEval,r = {csp: q,expensiveChecks: !1,literals: N(f),isIdentifierStart: y(a) && a,isIdentifierContinue: y(b) && b},t = {csp: q,expensiveChecks: !0,literals: N(f),isIdentifierStart: y(a) && a,isIdentifierContinue: y(b) && b},u = !1;return h.$$runningExpensiveChecks = function() {return u}, h}]}function tc() {this.$get = ["$rootScope", "$exceptionHandler", function(a, b) {return vc(function(b) {a.$evalAsync(b)}, b)}]}function uc() {this.$get = ["$browser", "$exceptionHandler", function(a, b) {return vc(function(b) {a.defer(b)}, b)}]}function vc(a, c) {function e() {this.$$state = {status: 0}}function f(a, b) {return function(c) {b.call(a, c)}}function g(a) {var b, d, e;e = a.pending, a.processScheduled = !1, a.pending = void 0;for(var f = 0, g = e.length; f < g; ++f) {d = e[f][0], b = e[f][a.status];try {y(b) ? d.resolve(b(a.value)) : 1 === a.status ? d.resolve(a.value) : d.reject(a.value)} catch(a) {d.reject(a), c(a)}}}function h(b) {!b.processScheduled && b.pending && (b.processScheduled = !0, a(function() {g(b)}))}function i() {this.promise = new e}function k(a) {var b = new i,c = 0,e = Wd(a) ? [] : {};return d(a, function(a, d) {c++, s(a).then(function(a) {e.hasOwnProperty(d) || (e[d] = a, --c || b.resolve(e))}, function(a) {e.hasOwnProperty(d) || b.reject(a)})}), 0 === c && b.resolve(e), b.promise}function l(a) {var b = n();return d(a, function(a) {s(a).then(b.resolve, b.reject)}), b.promise}var m = b("$q", TypeError),n = function() {var a = new i;return a.resolve = f(a, a.resolve), a.reject = f(a, a.reject), a.notify = f(a, a.notify), a};j(e.prototype, {then: function(a, b, c) {if(r(a) && r(b) && r(c)) return this;var d = new i;return this.$$state.pending = this.$$state.pending || [], this.$$state.pending.push([d, a, b, c]), this.$$state.status > 0 && h(this.$$state), d.promise},catch: function(a) {return this.then(null, a)},finally: function(a, b) {return this.then(function(b) {return q(b, !0, a)}, function(b) {return q(b, !1, a)}, b)}}), j(i.prototype, {resolve: function(a) {this.promise.$$state.status || (a === this.promise ? this.$$reject(m("qcycle", "Expected promise to be resolved with value other than itself '{0}'", a)) : this.$$resolve(a))},$$resolve: function(a) {function b(a) {i || (i = !0, g.$$resolve(a))}function d(a) {i || (i = !0, g.$$reject(a))}var e, g = this,i = !1;try {(t(a) || y(a)) && (e = a && a.then), y(e) ? (this.promise.$$state.status = -1, e.call(a, b, d, f(this, this.notify))) : (this.promise.$$state.value = a, this.promise.$$state.status = 1, h(this.promise.$$state))} catch(a) {d(a), c(a)}},reject: function(a) {this.promise.$$state.status || this.$$reject(a)},$$reject: function(a) {this.promise.$$state.value = a, this.promise.$$state.status = 2, h(this.promise.$$state)},notify: function(b) {var d = this.promise.$$state.pending;this.promise.$$state.status <= 0 && d && d.length && a(function() {for(var a, e, f = 0, g = d.length; f < g; f++) {e = d[f][0], a = d[f][3];try {e.notify(y(a) ? a(b) : b)} catch(a) {c(a)}}})}});var o = function(a) {var b = new i;return b.reject(a), b.promise},p = function(a, b) {var c = new i;return b ? c.resolve(a) : c.reject(a), c.promise},q = function(a, b, c) {var d = null;try {y(c) && (d = c())} catch(a) {return p(a, !1)}return G(d) ? d.then(function() {return p(a, b)}, function(a) {return p(a, !1)}) : p(a, b)},s = function(a, b, c, d) {var e = new i;return e.resolve(a), e.promise.then(b, c, d)},u = s,v = function(a) {function b(a) {d.resolve(a)}function c(a) {d.reject(a)}if(!y(a)) throw m("norslvr", "Expected resolverFn, got '{0}'", a);var d = new i;return a(b, c), d.promise};return v.prototype = e.prototype, v.defer = n, v.reject = o, v.when = s, v.resolve = u, v.all = k, v.race = l, v}function wc() {this.$get = ["$window", "$timeout", function(a, b) {var c = a.requestAnimationFrame || a.webkitRequestAnimationFrame,d = a.cancelAnimationFrame || a.webkitCancelAnimationFrame || a.webkitCancelRequestAnimationFrame,e = !!c,f = e ? function(a) {var b = c(a);return function() {d(b)}} : function(a) {var c = b(a, 16.66, !1);return function() {b.cancel(c)}};return f.supported = e, f}]}function xc() {function a(a) {function b() {this.$$watchers = this.$$nextSibling = this.$$childHead = this.$$childTail = null, this.$$listeners = {}, this.$$listenerCount = {}, this.$$watchersCount = 0, this.$id = g(), this.$$ChildScope = null}return b.prototype = a, b}var e = 10,f = b("$rootScope"),h = null,i = null;this.digestTtl = function(a) {return arguments.length && (e = a), e}, this.$get = ["$exceptionHandler", "$parse", "$browser", function(b, j, k) {function l(a) {a.currentScope.$$destroyed = !0}function m(a) {9 === Kd && (a.$$childHead && m(a.$$childHead), a.$$nextSibling && m(a.$$nextSibling)), a.$parent = a.$$nextSibling = a.$$prevSibling = a.$$childHead = a.$$childTail = a.$root = a.$$watchers = null}function o() {this.$id = g(), this.$$phase = this.$parent = this.$$watchers = this.$$nextSibling = this.$$prevSibling = this.$$childHead = this.$$childTail = null, this.$root = this, this.$$destroyed = !1, this.$$listeners = {}, this.$$listenerCount = {}, this.$$watchersCount = 0, this.$$isolateBindings = null}function p(a) {if(z.$$phase) throw f("inprog", "{0} already in progress", z.$$phase);z.$$phase = a}function q() {z.$$phase = null}function s(a, b) {do {a.$$watchersCount += b} while (a = a.$parent)}function u(a, b, c) {do {a.$$listenerCount[c] -= b, 0 === a.$$listenerCount[c] && delete a.$$listenerCount[c]} while (a = a.$parent)}function v() {}function w() {for(; C.length;) try {C.shift()()} catch(a) {b(a)}i = null}function x() {null === i && (i = k.defer(function() {z.$apply(w)}))}o.prototype = {constructor: o,$new: function(b, c) {var d;return c = c || this, b ? (d = new o, d.$root = this.$root) : (this.$$ChildScope || (this.$$ChildScope = a(this)), d = new this.$$ChildScope), d.$parent = c, d.$$prevSibling = c.$$childTail, c.$$childHead ? (c.$$childTail.$$nextSibling = d, c.$$childTail = d) : c.$$childHead = c.$$childTail = d, (b || c != this) && d.$on("$destroy", l), d},$watch: function(a, b, c, d) {var e = j(a);if(e.$$watchDelegate) return e.$$watchDelegate(this, b, c, e, a);var f = this,g = f.$$watchers,i = {fn: b,last: v,get: e,exp: d || a,eq: !!c};return h = null, y(b) || (i.fn = n), g || (g = f.$$watchers = []), g.unshift(i), s(this, 1),function() {M(g, i) >= 0 && s(f, -1), h = null}},$watchGroup: function(a, b) {function c() {i = !1, j ? (j = !1, b(f, f, h)) : b(f, e, h)}var e = new Array(a.length),f = new Array(a.length),g = [],h = this,i = !1,j = !0;if(!a.length) {var k = !0;return h.$evalAsync(function() {k && b(f, f, h)}),function() {k = !1}}return 1 === a.length ? this.$watch(a[0], function(a, c, d) {f[0] = a, e[0] = c, b(f, a === c ? f : e, d)}) : (d(a, function(a, b) {var d = h.$watch(a, function(a, d) {f[b] = a, e[b] = d, i || (i = !0, h.$evalAsync(c))});g.push(d)}), function() {for(; g.length;) g.shift()()})},$watchCollection: function(a, b) {function d(a) {f = a;var b, d, e, h;if(!r(f)) {if(t(f))if(c(f)) {g !== n && (g = n, q = g.length = 0, l++), b = f.length, q !== b && (l++, g.length = q = b);for(var i = 0; i < b; i++) h = g[i], e = f[i], h !== h && e !== e || h === e || (l++, g[i] = e)} else {g !== o && (g = o = {}, q = 0, l++), b = 0;for(d in f) Fd.call(f, d) && (b++, e = f[d], h = g[d], d in g ? h !== h && e !== e || h === e || (l++, g[d] = e) : (q++, g[d] = e, l++));if(q > b) {l++;for(d in g) Fd.call(f, d) || (q--, delete g[d])}} else g !== f && (g = f, l++);return l}}function e() {if(p ? (p = !1, b(f, f, i)) : b(f, h, i), k)if(t(f))if(c(f)) {h = new Array(f.length);for(var a = 0; a < f.length; a++) h[a] = f[a]} else {h = {};for(var d in f) Fd.call(f, d) && (h[d] = f[d])} else h = f}d.$stateful = !0;var f, g, h, i = this,k = b.length > 1,l = 0,m = j(a, d),n = [],o = {},p = !0,q = 0;return this.$watch(m, e)},$digest: function() {var a, c, d, g, j, l, m, n, o, r, s, t, u = e,x = this,C = [];p("$digest"), k.$$checkUrlChange(), this === z && null !== i && (k.defer.cancel(i), w()), h = null;do {n = !1, r = x;for(var E = 0; E < A.length; E++) {try {t = A[E], t.scope.$eval(t.expression, t.locals)} catch(a) {b(a)}h = null}A.length = 0;a: do {if(l = r.$$watchers)for(m = l.length; m--;) try {if(a = l[m])if(j = a.get, (c = j(r)) === (d = a.last) || (a.eq ? O(c, d) : "number" == typeof c && "number" == typeof d && isNaN(c) && isNaN(d))) {if(a === h) {n = !1;break a}} else n = !0, h = a, a.last = a.eq ? N(c, null) : c, g = a.fn, g(c, d === v ? c : d, r), u < 5 && (s = 4 - u, C[s] || (C[s] = []), C[s].push({msg: y(a.exp) ? "fn: " + (a.exp.name || a.exp.toString()) : a.exp,newVal: c,oldVal: d}))} catch(a) {b(a)}if(!(o = r.$$watchersCount && r.$$childHead || r !== x && r.$$nextSibling))for(; r !== x && !(o = r.$$nextSibling);) r = r.$parent} while (r = o);if((n || A.length) && !u--) throw q(), f("infdig", "{0} $digest() iterations reached. Aborting!\nWatchers fired in the last 5 iterations: {1}", e, C)} while (n || A.length);for(q(); D < B.length;) try {B[D++]()} catch(a) {b(a)}B.length = D = 0},$destroy: function() {if(!this.$$destroyed) {var a = this.$parent;this.$broadcast("$destroy"), this.$$destroyed = !0, this === z && k.$$applicationDestroyed(), s(this, -this.$$watchersCount);for(var b in this.$$listenerCount) u(this, this.$$listenerCount[b], b);a && a.$$childHead == this && (a.$$childHead = this.$$nextSibling), a && a.$$childTail == this && (a.$$childTail = this.$$prevSibling), this.$$prevSibling && (this.$$prevSibling.$$nextSibling = this.$$nextSibling), this.$$nextSibling && (this.$$nextSibling.$$prevSibling = this.$$prevSibling), this.$destroy = this.$digest = this.$apply = this.$evalAsync = this.$applyAsync = n, this.$on = this.$watch = this.$watchGroup = function() {return n}, this.$$listeners = {}, this.$$nextSibling = null, m(this)}},$eval: function(a, b) {return j(a)(this, b)},$evalAsync: function(a, b) {z.$$phase || A.length || k.defer(function() {A.length && z.$digest()}), A.push({scope: this,expression: j(a),locals: b})},$$postDigest: function(a) {B.push(a)},$apply: function(a) {try {p("$apply");try {return this.$eval(a)} finally {q()}} catch(a) {b(a)} finally {try {z.$digest()} catch(a) {throw b(a), a}}},$applyAsync: function(a) {function b() {c.$eval(a)}var c = this;a && C.push(b), a = j(a), x()},$on: function(a, b) {var c = this.$$listeners[a];c || (this.$$listeners[a] = c = []), c.push(b);var d = this;do {d.$$listenerCount[a] || (d.$$listenerCount[a] = 0), d.$$listenerCount[a]++} while (d = d.$parent);var e = this;return function() {var d = c.indexOf(b);d !== -1 && (c[d] = null, u(e, 1, a))}},$emit: function(a, c) {var d, e, f, g = [],h = this,i = !1,j = {name: a,targetScope: h,stopPropagation: function() {i = !0},preventDefault: function() {j.defaultPrevented = !0},defaultPrevented: !1},k = P([j], arguments, 1);do {for(d = h.$$listeners[a] || g, j.currentScope = h, e = 0, f = d.length; e < f; e++)if(d[e]) try {d[e].apply(null, k)} catch(a) {b(a)} else d.splice(e, 1), e--, f--;if(i) return j.currentScope = null, j;h = h.$parent} while (h);return j.currentScope = null, j},$broadcast: function(a, c) {var d = this,e = d,f = d,g = {name: a,targetScope: d,preventDefault: function() {g.defaultPrevented = !0},defaultPrevented: !1};if(!d.$$listenerCount[a]) return g;for(var h, i, j, k = P([g], arguments, 1); e = f;) {for(g.currentScope = e, h = e.$$listeners[a] || [], i = 0, j = h.length; i < j; i++)if(h[i]) try {h[i].apply(null, k)} catch(a) {b(a)} else h.splice(i, 1), i--, j--;if(!(f = e.$$listenerCount[a] && e.$$childHead || e !== d && e.$$nextSibling))for(; e !== d && !(f = e.$$nextSibling);) e = e.$parent}return g.currentScope = null, g}};var z = new o,A = z.$$asyncQueue = [],B = z.$$postDigestQueue = [],C = z.$$applyAsyncQueue = [],D = 0;return z}]}function yc() {var a = /^\s*(https?|ftp|mailto|tel|file):/,b = /^\s*((https?|ftp|file|blob):|data:image\/)/;this.aHrefSanitizationWhitelist = function(b) {return s(b) ? (a = b, this) : a}, this.imgSrcSanitizationWhitelist = function(a) {return s(a) ? (b = a, this) : b}, this.$get = function() {return function(c, d) {var e, f = d ? b : a;return e = Hc(c).href, "" === e || e.match(f) ? c : "unsafe:" + e}}}function zc(a) {if("self" === a) return a;if(v(a)) {if(a.indexOf("***") > -1) throw vf("iwcard", "Illegal sequence *** in string matcher. String: {0}", a);return a = Zd(a).replace("\\*\\*", ".*").replace("\\*", "[^:/.?&;]*"), new RegExp("^" + a + "$")}if(z(a)) return new RegExp("^" + a.source + "$");throw vf("imatcher", 'Matchers may only be "self", string patterns or RegExp objects')}function Ac(a) {var b = [];return s(a) && d(a, function(a) {b.push(zc(a))}), b}function Bc() {this.SCE_CONTEXTS = wf;var a = ["self"],b = [];this.resourceUrlWhitelist = function(b) {return arguments.length && (a = Ac(b)), a}, this.resourceUrlBlacklist = function(a) {return arguments.length && (b = Ac(a)), b}, this.$get = ["$injector", function(c) {function d(a, b) {return "self" === a ? Ic(b) : !!a.exec(b.href)}function e(c) {var e, f, g = Hc(c.toString()),h = !1;for(e = 0, f = a.length; e < f; e++)if(d(a[e], g)) {h = !0;break}if(h)for(e = 0, f = b.length; e < f; e++)if(d(b[e], g)) {h = !1;break}return h}function f(a) {var b = function(a) {this.$$unwrapTrustedValue = function() {return a}};return a && (b.prototype = new a), b.prototype.valueOf = function() {return this.$$unwrapTrustedValue()}, b.prototype.toString = function() {return this.$$unwrapTrustedValue().toString()}, b}function g(a, b) {var c = l.hasOwnProperty(a) ? l[a] : null;if(!c) throw vf("icontext", "Attempted to trust a value in invalid context. Context: {0}; Value: {1}", a, b);if(null === b || r(b) || "" === b) return b;if("string" != typeof b) throw vf("itype", "Attempted to trust a non-string value in a content requiring a string: Context: {0}", a);return new c(b)}function h(a) {return a instanceof k ? a.$$unwrapTrustedValue() : a}function i(a, b) {if(null === b || r(b) || "" === b) return b;var c = l.hasOwnProperty(a) ? l[a] : null;if(c && b instanceof c) return b.$$unwrapTrustedValue();if(a === wf.RESOURCE_URL) {if(e(b)) return b;throw vf("insecurl", "Blocked loading resource from url not allowed by $sceDelegate policy. URL: {0}", b.toString())}if(a === wf.HTML) return j(b);throw vf("unsafe", "Attempting to use an unsafe value in a safe context.")}var j = function(a) {throw vf("unsafe", "Attempting to use an unsafe value in a safe context.")};c.has("$sanitize") && (j = c.get("$sanitize"));var k = f(),l = {};return l[wf.HTML] = f(k), l[wf.CSS] = f(k), l[wf.URL] = f(k), l[wf.JS] = f(k), l[wf.RESOURCE_URL] = f(l[wf.URL]), {trustAs: g,getTrusted: i,valueOf: h}}]}function Cc() {var a = !0;this.enabled = function(b) {return arguments.length && (a = !!b), a}, this.$get = ["$parse", "$sceDelegate", function(b, c) {if(a && Kd < 8) throw vf("iequirks", "Strict Contextual Escaping does not support Internet Explorer version < 11 in quirks mode. You can fix this by adding the text to the top of your HTML document. See http://docs.angularjs.org/api/ng.$sce for more information.");var e = qa(wf);e.isEnabled = function() {return a}, e.trustAs = c.trustAs, e.getTrusted = c.getTrusted, e.valueOf = c.valueOf, a || (e.trustAs = e.getTrusted = function(a, b) {return b}, e.valueOf = o), e.parseAs = function(a, c) {var d = b(c);return d.literal && d.constant ? d : b(c, function(b) {return e.getTrusted(a, b)})};var f = e.parseAs,g = e.getTrusted,h = e.trustAs;return d(wf, function(a, b) {var c = Gd(b);e[va("parse_as_" + c)] = function(b) {return f(a, b)}, e[va("get_trusted_" + c)] = function(b) {return g(a, b)}, e[va("trust_as_" + c)] = function(b) {return h(a, b)}}), e}]}function Dc() {this.$get = ["$window", "$document", function(a, b) {var c, d, e = {},f = a.chrome && a.chrome.app && a.chrome.app.runtime,g = !f && a.history && a.history.pushState,h = l((/android (\d+)/.exec(Gd((a.navigator || {}).userAgent)) || [])[1]),i = /Boxee/i.test((a.navigator || {}).userAgent),j = b[0] || {},k = /^(Moz|webkit|ms)(?=[A-Z])/,m = j.body && j.body.style,n = !1,o = !1;if(m) {for(var p in m)if(d = k.exec(p)) {c = d[0], c = c[0].toUpperCase() + c.substr(1);break}c || (c = "WebkitOpacity" in m && "webkit"), n = !!("transition" in m || c + "Transition" in m), o = !!("animation" in m || c + "Animation" in m), !h || n && o || (n = v(m.webkitTransition), o = v(m.webkitAnimation))}return {history: !(!g || h < 4 || i),hasEvent: function(a) {if("input" === a && Kd <= 11) return !1;if(r(e[a])) {var b = j.createElement("div");e[a] = "on" + a in b}return e[a]},csp: $d(),vendorPrefix: c,transitions: n,animations: o,android: h}}]}function Ec() {var a;this.httpOptions = function(b) {return b ? (a = b, this) : a}, this.$get = ["$templateCache", "$http", "$q", "$sce", function(b, c, d, e) {function f(g, h) {function i(a) {if(!h) throw xf("tpload", "Failed to load template: {0} (HTTP status: {1} {2})", g, a.status, a.statusText);return d.reject(a)}f.totalPendingRequests++, v(g) && !r(b.get(g)) || (g = e.getTrustedResourceUrl(g));var k = c.defaults && c.defaults.transformResponse;return Wd(k) ? k = k.filter(function(a) {return a !== Ab}) : k === Ab && (k = null), c.get(g, j({cache: b,transformResponse: k}, a)).finally(function() {f.totalPendingRequests--}).then(function(a) {return b.put(g, a.data), a.data}, i)}return f.totalPendingRequests = 0, f}]}function Fc() {this.$get = ["$rootScope", "$browser", "$location", function(a, b, c) {var e = {};return e.findBindings = function(a, b, c) {var e = a.getElementsByClassName("ng-binding"),f = [];return d(e, function(a) {var e = Ud.element(a).data("$binding");e && d(e, function(d) {if(c) {new RegExp("(^|\\s)" + Zd(b) + "(\\s|\\||$)").test(d) && f.push(a)} else d.indexOf(b) != -1 && f.push(a)})}), f}, e.findModels = function(a, b, c) {for(var d = ["ng-", "data-ng-", "ng\\:"], e = 0; e < d.length; ++e) {var f = c ? "=" : "*=",g = "[" + d[e] + "model" + f + '"' + b + '"]',h = a.querySelectorAll(g);if(h.length) return h}}, e.getLocation = function() {return c.url()}, e.setLocation = function(b) {b !== c.url() && (c.url(b), a.$digest())}, e.whenStable = function(a) {b.notifyWhenNoOutstandingRequests(a)}, e}]}function Gc() {this.$get = ["$rootScope", "$browser", "$q", "$$q", "$exceptionHandler", function(a, b, c, d, e) {function f(f, h, i) {y(f) || (i = h, h = f, f = n);var j, k = Q(arguments, 3),l = s(i) && !i,m = (l ? d : c).defer(),o = m.promise;return j = b.defer(function() {try {m.resolve(f.apply(null, k))} catch(a) {m.reject(a), e(a)} finally {delete g[o.$$timeoutId]}l || a.$apply()}, h), o.$$timeoutId = j, g[j] = m, o}var g = {};return f.cancel = function(a) {return !!(a && a.$$timeoutId in g) && (g[a.$$timeoutId].reject("canceled"), delete g[a.$$timeoutId], b.defer.cancel(a.$$timeoutId))}, f}]}function Hc(a) {var b = a;return Kd && (yf.setAttribute("href", b), b = yf.href), yf.setAttribute("href", b), {href: yf.href,protocol: yf.protocol ? yf.protocol.replace(/:$/, "") : "",host: yf.host,search: yf.search ? yf.search.replace(/^\?/, "") : "",hash: yf.hash ? yf.hash.replace(/^#/, "") : "",hostname: yf.hostname,port: yf.port,pathname: "/" === yf.pathname.charAt(0) ? yf.pathname : "/" + yf.pathname}}function Ic(a) {var b = v(a) ? Hc(a) : a;return b.protocol === zf.protocol && b.host === zf.host}function Jc() {this.$get = p(a)}function Kc(a) {function b(a) {try {return decodeURIComponent(a)} catch(b) {return a}}var c = a[0] || {},d = {},e = "";return function() {var a, f, g, h, i, j = c.cookie || "";if(j !== e)for(e = j, a = e.split("; "), d = {}, g = 0; g < a.length; g++) f = a[g], (h = f.indexOf("=")) > 0 && (i = b(f.substring(0, h)), r(d[i]) && (d[i] = b(f.substring(h + 1))));return d}}function Lc() {this.$get = Kc}function Mc(a) {function b(e, f) {if(t(e)) {var g = {};return d(e, function(a, c) {g[c] = b(c, a)}), g}return a.factory(e + c, f)}var c = "Filter";this.register = b, this.$get = ["$injector", function(a) {return function(b) {return a.get(b + c)}}], b("currency", Rc), b("date", ed), b("filter", Nc), b("json", fd), b("limitTo", gd), b("lowercase", Gf), b("number", Sc), b("orderBy", id), b("uppercase", Hf)}function Nc() {return function(a, d, e, f) {if(!c(a)) {if(null == a) return a;throw b("filter")("notarray", "Expected array but received: {0}", a)}f = f || "$";var g, h, i = Qc(d);switch(i) {case "function":g = d;break;case "boolean":case "null":case "number":case "string":h = !0;case "object":g = Oc(d, e, f, h);break;default:return a}return Array.prototype.filter.call(a, g)}}function Oc(a, b, c, d) {var e = t(a) && c in a;return b === !0 ? b = O : y(b) || (b = function(a, b) {return !r(a) && (null === a || null === b ? a === b : !(t(b) || t(a) && !q(a)) && (a = Gd("" + a), b = Gd("" + b), a.indexOf(b) !== -1))}),function(f) {return e && !t(f) ? Pc(f, a[c], b, c, !1) : Pc(f, a, b, c, d)}}function Pc(a, b, c, d, e, f) {var g = Qc(a),h = Qc(b);if("string" === h && "!" === b.charAt(0)) return !Pc(a, b.substring(1), c, d, e);if(Wd(a)) return a.some(function(a) {return Pc(a, b, c, d, e)});switch(g) {case "object":var i;if(e) {for(i in a)if("$" !== i.charAt(0) && Pc(a[i], b, c, d, !0)) return !0;return !f && Pc(a, b, c, d, !1)}if("object" === h) {for(i in b) {var j = b[i];if(!y(j) && !r(j)) {var k = i === d;if(!Pc(k ? a : a[i], j, c, d, k, k)) return !1}}return !0}return c(a, b);case "function":return !1;default:return c(a, b)}}function Qc(a) {return null === a ? "null" : typeof a}function Rc(a) {var b = a.NUMBER_FORMATS;return function(a, c, d) {return r(c) && (c = b.CURRENCY_SYM), r(d) && (d = b.PATTERNS[1].maxFrac), null == a ? a : Vc(a, b.PATTERNS[1], b.GROUP_SEP, b.DECIMAL_SEP, d).replace(/\u00A4/g, c)}}function Sc(a) {var b = a.NUMBER_FORMATS;return function(a, c) {return null == a ? a : Vc(a, b.PATTERNS[0], b.GROUP_SEP, b.DECIMAL_SEP, c)}}function Tc(a) {var b, c, d, e, f, g = 0;for((c = a.indexOf(Bf)) > -1 && (a = a.replace(Bf, "")), (d = a.search(/e/i)) > 0 ? (c < 0 && (c = d), c += +a.slice(d + 1), a = a.substring(0, d)) : c < 0 && (c = a.length), d = 0; a.charAt(d) == Cf; d++);if(d == (f = a.length)) b = [0], c = 1;else {for(f--; a.charAt(f) == Cf;) f--;for(c -= d, b = [], e = 0; d <= f; d++, e++) b[e] = +a.charAt(d)}return c > Af && (b = b.splice(0, Af - 1), g = c - 1, c = 1), {d: b,e: g,i: c}}function Uc(a, b, c, d) {var e = a.d,f = e.length - a.i;b = r(b) ? Math.min(Math.max(c, f), d) : +b;var g = b + a.i,h = e[g];if(g > 0) {e.splice(Math.max(a.i, g));for(var i = g; i < e.length; i++) e[i] = 0} else {f = Math.max(0, f), a.i = 1, e.length = Math.max(1, g = b + 1), e[0] = 0;for(var j = 1; j < g; j++) e[j] = 0}if(h >= 5)if(g - 1 < 0) {for(var k = 0; k > g; k--) e.unshift(0), a.i++;e.unshift(1), a.i++} else e[g - 1]++;for(; f < Math.max(0, b); f++) e.push(0);var l = e.reduceRight(function(a, b, c, d) {return b += a, d[c] = b % 10, Math.floor(b / 10)}, 0);l && (e.unshift(l), a.i++)}function Vc(a, b, c, d, e) {if(!v(a) && !w(a) || isNaN(a)) return "";var f, g = !isFinite(a),h = !1,i = Math.abs(a) + "",j = "";if(g) j = "∞";else {f = Tc(i), Uc(f, e, b.minFrac, b.maxFrac);var k = f.d,l = f.i,m = f.e,n = [];for(h = k.reduce(function(a, b) {return a && !b}, !0); l < 0;) k.unshift(0), l++;l > 0 ? n = k.splice(l, k.length) : (n = k, k = [0]);var o = [];for(k.length >= b.lgSize && o.unshift(k.splice(-b.lgSize, k.length).join("")); k.length > b.gSize;) o.unshift(k.splice(-b.gSize, k.length).join(""));k.length && o.unshift(k.join("")), j = o.join(c), n.length && (j += d + n.join("")), m && (j += "e+" + m)}return a < 0 && !h ? b.negPre + j + b.negSuf : b.posPre + j + b.posSuf}function Wc(a, b, c, d) {var e = "";for((a < 0 || d && a <= 0) && (d ? a = 1 - a : (a = -a, e = "-")), a = "" + a; a.length < b;) a = Cf + a;return c && (a = a.substr(a.length - b)), e + a}function Xc(a, b, c, d, e) {return c = c || 0,function(f) {var g = f["get" + a]();return(c > 0 || g > -c) && (g += c), 0 === g && c == -12 && (g = 12), Wc(g, b, d, e)}}function Yc(a, b, c) {return function(d, e) {var f = d["get" + a]();return e[Hd((c ? "STANDALONE" : "") + (b ? "SHORT" : "") + a)][f]}}function Zc(a, b, c) {var d = -1 * c,e = d >= 0 ? "+" : "";return e += Wc(Math[d > 0 ? "floor" : "ceil"](d / 60), 2) + Wc(Math.abs(d % 60), 2)}function $c(a) {var b = new Date(a, 0, 1).getDay();return new Date(a, 0, (b <= 4 ? 5 : 12) - b)}function _c(a) {return new Date(a.getFullYear(), a.getMonth(), a.getDate() + (4 - a.getDay()))}function ad(a) {return function(b) {var c = $c(b.getFullYear()),d = _c(b),e = +d - +c;return Wc(1 + Math.round(e / 6048e5), a)}}function bd(a, b) {return a.getHours() < 12 ? b.AMPMS[0] : b.AMPMS[1]}function cd(a, b) {return a.getFullYear() <= 0 ? b.ERAS[0] : b.ERAS[1]}function dd(a, b) {return a.getFullYear() <= 0 ? b.ERANAMES[0] : b.ERANAMES[1]}function ed(a) {function b(a) {var b;if(b = a.match(c)) {var d = new Date(0),e = 0,f = 0,g = b[8] ? d.setUTCFullYear : d.setFullYear,h = b[8] ? d.setUTCHours : d.setHours;b[9] && (e = l(b[9] + b[10]), f = l(b[9] + b[11])), g.call(d, l(b[1]), l(b[2]) - 1, l(b[3]));var i = l(b[4] || 0) - e,j = l(b[5] || 0) - f,k = l(b[6] || 0),m = Math.round(1e3 * parseFloat("0." + (b[7] || 0)));return h.call(d, i, j, k, m), d}return a}var c = /^(\d{4})-?(\d\d)-?(\d\d)(?:T(\d\d)(?::?(\d\d)(?::?(\d\d)(?:\.(\d+))?)?)?(Z|([+-])(\d\d):?(\d\d))?)?$/;return function(c, e, f) {var g, h, i = "",j = [];if(e = e || "mediumDate", e = a.DATETIME_FORMATS[e] || e, v(c) && (c = Ff.test(c) ? l(c) : b(c)), w(c) && (c = new Date(c)), !x(c) || !isFinite(c.getTime())) return c;for(; e;) h = Ef.exec(e), h ? (j = P(j, h, 1), e = j.pop()) : (j.push(e), e = null);var k = c.getTimezoneOffset();return f && (k = V(f, k), c = X(c, f, !0)), d(j, function(b) {g = Df[b], i += g ? g(c, a.DATETIME_FORMATS, k) : "''" === b ? "'" : b.replace(/(^'|'$)/g, "").replace(/''/g, "'")}), i}}function fd() {return function(a, b) {return r(b) && (b = 2), T(a, b)}}function gd() {return function(a, b, d) {return b = Math.abs(Number(b)) === 1 / 0 ? Number(b) : l(b), isNaN(b) ? a : (w(a) && (a = a.toString()), c(a) ? (d = !d || isNaN(d) ? 0 : l(d), d = d < 0 ? Math.max(0, a.length + d) : d, b >= 0 ? hd(a, d, d + b) : 0 === d ? hd(a, b, a.length) : hd(a, Math.max(0, d + b), d)) : a)}}function hd(a, b, c) {return v(a) ? a.slice(b, c) : Od.call(a, b, c)}function id(a) {function d(b) {return b.map(function(b) {var c = 1,d = o;if(y(b)) d = b;else if(v(b) && ("+" != b.charAt(0) && "-" != b.charAt(0) || (c = "-" == b.charAt(0) ? -1 : 1, b = b.substring(1)), "" !== b && (d = a(b), d.constant))) {var e = d();d = function(a) {return a[e]}}return {get: d,descending: c}})}function e(a) {switch(typeof a) {case "number":case "boolean":case "string":return !0;default:return !1}}function f(a) {return y(a.valueOf) && (a = a.valueOf(), e(a)) ? a : (q(a) && (a = a.toString(), e(a)), a)}function g(a, b) {var c = typeof a;return null === a ? (c = "string", a = "null") : "object" === c && (a = f(a)), {value: a,type: c,index: b}}function h(a, b) {var c = 0,d = a.type,e = b.type;if(d === e) {var f = a.value,g = b.value;"string" === d ? (f = f.toLowerCase(), g = g.toLowerCase()) : "object" === d && (t(f) && (f = a.index), t(g) && (g = b.index)), f !== g && (c = f < g ? -1 : 1)} else c = d < e ? -1 : 1;return c}return function(a, e, f, i) {function j(a, b) {return {value: a,tieBreaker: {value: b,type: "number",index: b},predicateValues: l.map(function(c) {return g(c.get(a), b)})}}function k(a, b) {for(var c = 0, d = l.length; c < d; c++) {var e = n(a.predicateValues[c], b.predicateValues[c]);if(e) return e * l[c].descending * m}return n(a.tieBreaker, b.tieBreaker) * m}if(null == a) return a;if(!c(a)) throw b("orderBy")("notarray", "Expected array but received: {0}", a);Wd(e) || (e = [e]), 0 === e.length && (e = ["+"]);var l = d(e),m = f ? -1 : 1,n = y(i) ? i : h,o = Array.prototype.map.call(a, j);return o.sort(k), a = o.map(function(a) {return a.value})}}function jd(a) {return y(a) && (a = {link: a}), a.restrict = a.restrict || "AC", p(a)}function kd(a, b) {a.$name = b}function ld(a, b, c, e, f) {var g = this,h = [];g.$error = {}, g.$$success = {}, g.$pending = void 0, g.$name = f(b.name || b.ngForm || "")(c), g.$dirty = !1, g.$pristine = !0, g.$valid = !0, g.$invalid = !1, g.$submitted = !1, g.$$parentForm = Kf, g.$rollbackViewValue = function() {d(h, function(a) {a.$rollbackViewValue()})}, g.$commitViewValue = function() {d(h, function(a) {a.$commitViewValue()})}, g.$addControl = function(a) {la(a.$name, "input"), h.push(a), a.$name && (g[a.$name] = a), a.$$parentForm = g}, g.$$renameControl = function(a, b) {var c = a.$name;g[c] === a && delete g[c], g[b] = a, a.$name = b}, g.$removeControl = function(a) {a.$name && g[a.$name] === a && delete g[a.$name], d(g.$pending, function(b, c) {g.$setValidity(c, null, a)}), d(g.$error, function(b, c) {g.$setValidity(c, null, a)}), d(g.$$success, function(b, c) {g.$setValidity(c, null, a)}), M(h, a), a.$$parentForm = Kf}, Ad({ctrl: this,$element: a,set: function(a, b, c) {var d = a[b];if(d) {d.indexOf(c) === -1 && d.push(c)} else a[b] = [c]},unset: function(a, b, c) {var d = a[b];d && (M(d, c), 0 === d.length && delete a[b])},$animate: e}), g.$setDirty = function() {e.removeClass(a, ug), e.addClass(a, vg), g.$dirty = !0, g.$pristine = !1, g.$$parentForm.$setDirty()}, g.$setPristine = function() {e.setClass(a, ug, vg + " " + Lf), g.$dirty = !1, g.$pristine = !0, g.$submitted = !1, d(h, function(a) {a.$setPristine()})}, g.$setUntouched = function() {d(h, function(a) {a.$setUntouched()})}, g.$setSubmitted = function() {e.addClass(a, Lf), g.$submitted = !0, g.$$parentForm.$setSubmitted()}}function md(a) {a.$formatters.push(function(b) {return a.$isEmpty(b) ? b : b.toString()})}function nd(a, b, c, d, e, f) {od(a, b, c, d, e, f), md(d)}function od(a, b, c, d, e, f) {var g = Gd(b[0].type);if(!e.android) {var h = !1;b.on("compositionstart", function() {h = !0}), b.on("compositionend", function() {h = !1, j()})}var i, j = function(a) {if(i && (f.defer.cancel(i), i = null), !h) {var e = b.val(),j = a && a.type;"password" === g || c.ngTrim && "false" === c.ngTrim || (e = Yd(e)), (d.$viewValue !== e || "" === e && d.$$hasNativeValidators) && d.$setViewValue(e, j)}};if(e.hasEvent("input")) b.on("input", j);else {var k = function(a, b, c) {i || (i = f.defer(function() {i = null, b && b.value === c || j(a)}))};b.on("keydown", function(a) {var b = a.keyCode;91 === b || 15 < b && b < 19 || 37 <= b && b <= 40 || k(a, this, this.value)}), e.hasEvent("paste") && b.on("paste cut", k)}b.on("change", j), Zf[g] && d.$$hasNativeValidators && g === c.type && b.on(Yf, function(a) {if(!i) {var b = this[Ed],c = b.badInput,d = b.typeMismatch;i = f.defer(function() {i = null, b.badInput === c && b.typeMismatch === d || j(a)})}}), d.$render = function() {var a = d.$isEmpty(d.$viewValue) ? "" : d.$viewValue;b.val() !== a && b.val(a)}}function pd(a, b) {if(x(a)) return a;if(v(a)) {Vf.lastIndex = 0;var c = Vf.exec(a);if(c) {var d = +c[1],e = +c[2],f = 0,g = 0,h = 0,i = 0,j = $c(d),k = 7 * (e - 1);return b && (f = b.getHours(), g = b.getMinutes(), h = b.getSeconds(), i = b.getMilliseconds()), new Date(d, 0, j.getDate() + k, f, g, h, i)}}return NaN}function qd(a, b) {return function(c, e) {var f, g;if(x(c)) return c;if(v(c)) {if('"' == c.charAt(0) && '"' == c.charAt(c.length - 1) && (c = c.substring(1, c.length - 1)), Pf.test(c)) return new Date(c);if(a.lastIndex = 0, f = a.exec(c)) return f.shift(), g = e ? {yyyy: e.getFullYear(),MM: e.getMonth() + 1,dd: e.getDate(),HH: e.getHours(),mm: e.getMinutes(),ss: e.getSeconds(),sss: e.getMilliseconds() / 1e3} : {yyyy: 1970,MM: 1,dd: 1,HH: 0,mm: 0,ss: 0,sss: 0}, d(f, function(a, c) {c < b.length && (g[b[c]] = +a)}), new Date(g.yyyy, g.MM - 1, g.dd, g.HH, g.mm, g.ss || 0, 1e3 * g.sss || 0)}return NaN}}function rd(a, b, c, d) {return function(e, f, g, h, i, j, k) {function l(a) {return a && !(a.getTime && a.getTime() !== a.getTime())}function m(a) {return s(a) && !x(a) ? c(a) || void 0 : a}sd(e, f, g, h), od(e, f, g, h, i, j);var n, o = h && h.$options && h.$options.timezone;if(h.$$parserName = a, h.$parsers.push(function(a) {if(h.$isEmpty(a)) return null;if(b.test(a)) {var d = c(a, n);return o && (d = X(d, o)), d}}), h.$formatters.push(function(a) {if(a && !x(a)) throw Bg("datefmt", "Expected `{0}` to be a date", a);return l(a) ? (n = a, n && o && (n = X(n, o, !0)), k("date")(a, d, o)) : (n = null, "")}), s(g.min) || g.ngMin) {var p;h.$validators.min = function(a) {return !l(a) || r(p) || c(a) >= p}, g.$observe("min", function(a) {p = m(a), h.$validate()})}if(s(g.max) || g.ngMax) {var q;h.$validators.max = function(a) {return !l(a) || r(q) || c(a) <= q}, g.$observe("max", function(a) {q = m(a), h.$validate()})}}}function sd(a, b, c, d) {var e = b[0];(d.$$hasNativeValidators = t(e.validity)) && d.$parsers.push(function(a) {var c = b.prop(Ed) || {};return c.badInput || c.typeMismatch ? void 0 : a})}function td(a, b, c, d, e, f) {if(sd(a, b, c, d), od(a, b, c, d, e, f), d.$$parserName = "number", d.$parsers.push(function(a) {return d.$isEmpty(a) ? null : Sf.test(a) ? parseFloat(a) : void 0}), d.$formatters.push(function(a) {if(!d.$isEmpty(a)) {if(!w(a)) throw Bg("numfmt", "Expected `{0}` to be a number", a);a = a.toString()}return a}), s(c.min) || c.ngMin) {var g;d.$validators.min = function(a) {return d.$isEmpty(a) || r(g) || a >= g}, c.$observe("min", function(a) {s(a) && !w(a) && (a = parseFloat(a)), g = w(a) && !isNaN(a) ? a : void 0, d.$validate()})}if(s(c.max) || c.ngMax) {var h;d.$validators.max = function(a) {return d.$isEmpty(a) || r(h) || a <= h}, c.$observe("max", function(a) {s(a) && !w(a) && (a = parseFloat(a)), h = w(a) && !isNaN(a) ? a : void 0, d.$validate()})}}function ud(a, b, c, d, e, f) {od(a, b, c, d, e, f), md(d), d.$$parserName = "url", d.$validators.url = function(a, b) {var c = a || b;return d.$isEmpty(c) || Qf.test(c)}}function vd(a, b, c, d, e, f) {od(a, b, c, d, e, f), md(d), d.$$parserName = "email", d.$validators.email = function(a, b) {var c = a || b;return d.$isEmpty(c) || Rf.test(c)}}function wd(a, b, c, d) {r(c.name) && b.attr("name", g());var e = function(a) {b[0].checked && d.$setViewValue(c.value, a && a.type)};b.on("click", e), d.$render = function() {var a = c.value;b[0].checked = a == d.$viewValue}, c.$observe("value", d.$render)}function xd(a, b, c, d, e) {var f;if(s(d)) {if(f = a(d), !f.constant) throw Bg("constexpr", "Expected constant expression for `{0}`, but saw `{1}`.", c, d);return f(b)}return e}function yd(a, b, c, d, e, f, g, h) {var i = xd(h, a, "ngTrueValue", c.ngTrueValue, !0),j = xd(h, a, "ngFalseValue", c.ngFalseValue, !1),k = function(a) {d.$setViewValue(b[0].checked, a && a.type)};b.on("click", k), d.$render = function() {b[0].checked = d.$viewValue}, d.$isEmpty = function(a) {return a === !1}, d.$formatters.push(function(a) {return O(a, i)}), d.$parsers.push(function(a) {return a ? i : j})}function zd(a, b) {return a = "ngClass" + a, ["$animate", function(c) {function e(a, b) {var c = [];a: for(var d = 0; d < a.length; d++) {for(var e = a[d], f = 0; f < b.length; f++)if(e == b[f]) continue a;c.push(e)}return c}function f(a) {var b = [];return Wd(a) ? (d(a, function(a) {b = b.concat(f(a))}), b) : v(a) ? a.split(" ") : t(a) ? (d(a, function(a, c) {a && (b = b.concat(c.split(" ")))}), b) : a}return {restrict: "AC",link: function(g, h, i) {function j(a) {var b = l(a, 1);i.$addClass(b)}function k(a) {var b = l(a, -1);i.$removeClass(b)}function l(a, b) {var c = h.data("$classCounts") || oa(),e = [];return d(a, function(a) {(b > 0 || c[a]) && (c[a] = (c[a] || 0) + b, c[a] === +(b > 0) && e.push(a))}), h.data("$classCounts", c), e.join(" ")}function m(a, b) {var d = e(b, a),f = e(a, b);d = l(d, 1), f = l(f, -1), d && d.length && c.addClass(h, d), f && f.length && c.removeClass(h, f)}function n(a) {if(b === !0 || (1 & g.$index) === b) {var c = f(a || []);if(o) {if(!O(a, o)) {var d = f(o);m(d, c)}} else j(c)}o = Wd(a) ? a.map(function(a) {return qa(a)}) : qa(a)}var o;g.$watch(i[a], n, !0), i.$observe("class", function(b) {n(g.$eval(i[a]))}), "ngClass" !== a && g.$watch("$index", function(c, d) {var e = 1 & c;if(e !== (1 & d)) {var h = f(g.$eval(i[a]));e === b ? j(h) : k(h)}})}}}]}function Ad(a) {function b(a, b, h) {r(b) ? c("$pending", a, h) : d("$pending", a, h), F(b) ? b ? (k(g.$error, a, h), j(g.$$success, a, h)) : (j(g.$error, a, h), k(g.$$success, a, h)) : (k(g.$error, a, h), k(g.$$success, a, h)), g.$pending ? (e(yg, !0), g.$valid = g.$invalid = void 0, f("", null)) : (e(yg, !1), g.$valid = Bd(g.$error), g.$invalid = !g.$valid, f("", g.$valid));var i;i = g.$pending && g.$pending[a] ? void 0 : !g.$error[a] && (!!g.$$success[a] || null), f(a, i), g.$$parentForm.$setValidity(a, i, g)}function c(a, b, c) {g[a] || (g[a] = {}), j(g[a], b, c)}function d(a, b, c) {g[a] && k(g[a], b, c), Bd(g[a]) && (g[a] = void 0)}function e(a, b) {b && !i[a] ? (l.addClass(h, a), i[a] = !0) : !b && i[a] && (l.removeClass(h, a), i[a] = !1)}function f(a, b) {a = a ? "-" + ha(a, "-") : "", e(sg + a, b === !0), e(tg + a, b === !1)}var g = a.ctrl,h = a.$element,i = {},j = a.set,k = a.unset,l = a.$animate;i[tg] = !(i[sg] = h.hasClass(sg)), g.$setValidity = b}function Bd(a) {if(a)for(var b in a)if(a.hasOwnProperty(b)) return !1;return !0}function Cd(a) {a[0].hasAttribute("selected") && (a[0].selected = !0)}var Dd = /^\/(.+)\/([a-z]*)$/,Ed = "validity",Fd = Object.prototype.hasOwnProperty,Gd = function(a) {return v(a) ? a.toLowerCase() : a},Hd = function(a) {return v(a) ? a.toUpperCase() : a},Id = function(a) {return v(a) ? a.replace(/[A-Z]/g, function(a) {return String.fromCharCode(32 | a.charCodeAt(0))}) : a},Jd = function(a) {return v(a) ? a.replace(/[a-z]/g, function(a) {return String.fromCharCode(a.charCodeAt(0) & -33)}) : a};"i" !== "I".toLowerCase() && (Gd = Id, Hd = Jd);var Kd, Ld, Md, Nd, Od = [].slice,Pd = [].splice,Qd = [].push,Rd = Object.prototype.toString,Sd = Object.getPrototypeOf,Td = b("ng"),Ud = a.angular || (a.angular = {}),Vd = 0;Kd = a.document.documentMode, n.$inject = [], o.$inject = [];var Wd = Array.isArray,Xd = /^\[object (?:Uint8|Uint8Clamped|Uint16|Uint32|Int8|Int16|Int32|Float32|Float64)Array\]$/,Yd = function(a) {return v(a) ? a.trim() : a},Zd = function(a) {return a.replace(/([-()\[\]{}+?*.$\^|,:#<!\\])/g, "\\$1").replace(/\x08/g, "\\x08")},$d = function() {function b() {try {return new Function(""), !1} catch(a) {return !0}}if(!s($d.rules)) {var c = a.document.querySelector("[ng-csp]") || a.document.querySelector("[data-ng-csp]");if(c) {var d = c.getAttribute("ng-csp") || c.getAttribute("data-ng-csp");$d.rules = {noUnsafeEval: !d || d.indexOf("no-unsafe-eval") !== -1,noInlineStyle: !d || d.indexOf("no-inline-style") !== -1}} else $d.rules = {noUnsafeEval: b(),noInlineStyle: !1}}return $d.rules},_d = function() {if(s(_d.name_)) return _d.name_;var b, c, d, e, f = be.length;for(c = 0; c < f; ++c)if(d = be[c], b = a.document.querySelector("[" + d.replace(":", "\\:") + "jq]")) {e = b.getAttribute(d + "jq");break}return _d.name_ = e},ae = /:/g,be = ["ng-", "data-ng-", "ng:", "x-ng-"],ce = /[A-Z]/g,de = !1,ee = 1,fe = 2,ge = 3,he = 8,ie = 9,je = 11,ke = {full: "1.5.8",major: 1,minor: 5,dot: 8,codeName: "arbitrary-fallbacks"};Da.expando = "ng339";var le = Da.cache = {},me = 1,ne = function(a, b, c) {a.addEventListener(b, c, !1)},oe = function(a, b, c) {a.removeEventListener(b, c, !1)};Da._data = function(a) {return this.cache[a[this.expando]] || {}};var pe = /([\:\-\_]+(.))/g,qe = /^moz([A-Z])/,re = {mouseleave: "mouseout",mouseenter: "mouseover"},se = b("jqLite"),te = /^<([\w-]+)\s*\/?>(?:<\/\1>|)$/,ue = /<|?\w+;/,ve = /<([\w:-]+)/,we = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:-]+)[^>]*)\/>/gi,xe = {option: [1, '"],thead: [1, "

", "

"],col: [2, "

", "

"],tr: [2, "

", "

"],td: [3, "

", "

"],_default: [0, "", ""]};xe.optgroup = xe.option, xe.tbody = xe.tfoot = xe.colgroup = xe.caption = xe.thead, xe.th = xe.td;var ye = a.Node.prototype.contains || function(a) {return !!(16 & this.compareDocumentPosition(a))},ze = Da.prototype = {ready: function(b) {function c() {d || (d = !0, b())}var d = !1;"complete" === a.document.readyState ? a.setTimeout(c) : (this.on("DOMContentLoaded", c), Da(a).on("load", c))},toString: function() {var a = [];return d(this, function(b) {a.push("" + b)}), "[" + a.join(", ") + "]"},eq: function(a) {return Ld(a >= 0 ? this[a] : this[this.length + a])},length: 0,push: Qd,sort: [].sort,splice: [].splice},Ae = {};d("multiple,selected,checked,disabled,readOnly,required,open".split(","), function(a) {Ae[Gd(a)] = a});var Be = {};d("input,select,option,textarea,button,form,details".split(","), function(a) {Be[a] = !0});var Ce = {ngMinlength: "minlength",ngMaxlength: "maxlength",ngMin: "min",ngMax: "max",ngPattern: "pattern"};d({data: Ja,removeData: Ha,hasData: ya,cleanData: za}, function(a, b) {Da[b] = a}), d({data: Ja,inheritedData: Pa,scope: function(a) {return Ld.data(a, "$scope") || Pa(a.parentNode || a, ["$isolateScope", "$scope"])},isolateScope: function(a) {return Ld.data(a, "$isolateScope") || Ld.data(a, "$isolateScopeNoTemplate")},controller: Oa,injector: function(a) {return Pa(a, "$injector")},removeAttr: function(a, b) {a.removeAttribute(b)},hasClass: Ka,css: function(a, b, c) {if(b = va(b), !s(c)) return a.style[b];a.style[b] = c},attr: function(a, b, c) {var d = a.nodeType;if(d !== ge && d !== fe && d !== he) {var e = Gd(b);if(Ae[e]) {if(!s(c)) return a[b] || (a.attributes.getNamedItem(b) || n).specified ? e : void 0;c ? (a[b] = !0, a.setAttribute(b, e)) : (a[b] = !1, a.removeAttribute(e))} else if(s(c)) a.setAttribute(b, c);else if(a.getAttribute) {var f = a.getAttribute(b, 2);return null === f ? void 0 : f}}},prop: function(a, b, c) {if(!s(c)) return a[b];a[b] = c},text: function() {function a(a, b) {if(r(b)) {var c = a.nodeType;return c === ee || c === ge ? a.textContent : ""}a.textContent = b}return a.$dv = "", a}(),val: function(a, b) {if(r(b)) {if(a.multiple && "select" === L(a)) {var c = [];return d(a.options, function(a) {a.selected && c.push(a.value || a.text)}), 0 === c.length ? null : c}return a.value}a.value = b},html: function(a, b) {if(r(b)) return a.innerHTML;Fa(a, !0), a.innerHTML = b},empty: Qa}, function(a, b) {Da.prototype[b] = function(b, c) {var d, e, f = this.length;if(a !== Qa && r(2 == a.length && a !== Ka && a !== Oa ? b : c)) {if(t(b)) {for(d = 0; d < f; d++)if(a === Ja) a(this[d], b);elsefor(e in b) a(this[d], e, b[e]);return this}for(var g = a.$dv, h = r(g) ? Math.min(f, 1) : f, i = 0; i < h; i++) {var j = a(this[i], b, c);g = g ? g + j : j}return g}for(d = 0; d < f; d++) a(this[d], b, c);return this}}), d({removeData: Ha,on: function(a, b, c, d) {if(s(d)) throw se("onargs", "jqLite#on() does not support the `selector` or `eventData` parameters");if(xa(a)) {var e = Ia(a, !0),f = e.events,g = e.handle;g || (g = e.handle = Va(a, f));for(var h = b.indexOf(" ") >= 0 ? b.split(" ") : [b], i = h.length, j = function(b, d, e) {var h = f[b];h || (h = f[b] = [], h.specialHandlerWrapper = d, "$destroy" === b || e || ne(a, b, g)), h.push(c)}; i--;) b = h[i], re[b] ? (j(re[b], Xa), j(b, void 0, !0)) : j(b)}},off: Ga,one: function(a, b, c) {a = Ld(a), a.on(b, function d() {a.off(b, c), a.off(b, d)}), a.on(b, c)},replaceWith: function(a, b) {var c, e = a.parentNode;Fa(a), d(new Da(b), function(b) {c ? e.insertBefore(b, c.nextSibling) : e.replaceChild(b, a), c = b})},children: function(a) {var b = [];return d(a.childNodes, function(a) {a.nodeType === ee && b.push(a)}), b},contents: function(a) {return a.contentDocument || a.childNodes || []},append: function(a, b) {var c = a.nodeType;if(c === ee || c === je) {b = new Da(b);for(var d = 0, e = b.length; d < e; d++) {var f = b[d];a.appendChild(f)}}},prepend: function(a, b) {if(a.nodeType === ee) {var c = a.firstChild;d(new Da(b), function(b) {a.insertBefore(b, c)})}},wrap: function(a, b) {Ca(a, Ld(b).eq(0).clone()[0])},remove: Ra,detach: function(a) {Ra(a, !0)},after: function(a, b) {var c = a,d = a.parentNode;b = new Da(b);for(var e = 0, f = b.length; e < f; e++) {var g = b[e];d.insertBefore(g, c.nextSibling), c = g}},addClass: Ma,removeClass: La,toggleClass: function(a, b, c) {b && d(b.split(" "), function(b) {var d = c;r(d) && (d = !Ka(a, b)), (d ? Ma : La)(a, b)})},parent: function(a) {var b = a.parentNode;return b && b.nodeType !== je ? b : null},next: function(a) {return a.nextElementSibling},find: function(a, b) {return a.getElementsByTagName ? a.getElementsByTagName(b) : []},clone: Ea,triggerHandler: function(a, b, c) {var e, f, g, h = b.type || b,i = Ia(a),k = i && i.events,l = k && k[h];l && (e = {preventDefault: function() {this.defaultPrevented = !0},isDefaultPrevented: function() {return this.defaultPrevented === !0},stopImmediatePropagation: function() {this.immediatePropagationStopped = !0},isImmediatePropagationStopped: function() {return this.immediatePropagationStopped === !0},stopPropagation: n,type: h,target: a}, b.type && (e = j(e, b)), f = qa(l), g = c ? [e].concat(c) : [e], d(f, function(b) {e.isImmediatePropagationStopped() || b.apply(a, g)}))}}, function(a, b) {Da.prototype[b] = function(b, c, d) {for(var e, f = 0, g = this.length; f < g; f++) r(e) ? (e = a(this[f], b, c, d), s(e) && (e = Ld(e))) : Na(e, a(this[f], b, c, d));return s(e) ? e : this}, Da.prototype.bind = Da.prototype.on, Da.prototype.unbind = Da.prototype.off}), $a.prototype = {put: function(a, b) {this[Za(a, this.nextUid)] = b},get: function(a) {return this[Za(a, this.nextUid)]},remove: function(a) {var b = this[a = Za(a, this.nextUid)];return delete this[a], b}};var De = [function() {this.$get = [function() {return $a}]}],Ee = /^([^\(]+?)=>/,Fe = /^[^\(]*\(\s*([^\)]*)\)/m,Ge = /,/,He = /^\s*(_?)(\S+?)\1\s*$/,Ie = /((\/\/.*$)|(\/\*[\s\S]*?\*\/))/gm,Je = b("$injector");db.$$annotate = cb;var Ke = b("$animate"),Le = 1,Me = "ng-animate",Ne = function() {this.$get = n},Oe = function() {var a = new $a,b = [];this.$get = ["$$AnimateRunner", "$rootScope", function(c, e) {function f(a, b, c) {var e = !1;return b && (b = v(b) ? b.split(" ") : Wd(b) ? b : [], d(b, function(b) {b && (e = !0, a[b] = c)})), e}function g() {d(b, function(b) {var c = a.get(b);if(c) {var e = hb(b.attr("class")),f = "",g = "";d(c, function(a, b) {a !== !!e[b] && (a ? f += (f.length ? " " : "") + b : g += (g.length ? " " : "") + b)}), d(b, function(a) {f && Ma(a, f), g && La(a, g)}), a.remove(b)}}), b.length = 0}function h(c, d, h) {var i = a.get(c) || {},j = f(i, d, !0),k = f(i, h, !1);(j || k) && (a.put(c, i), b.push(c), 1 === b.length && e.$$postDigest(g))}return {enabled: n,on: n,off: n,pin: n,push: function(a, b, d, e) {e && e(), d = d || {}, d.from && a.css(d.from), d.to && a.css(d.to), (d.addClass || d.removeClass) && h(a, d.addClass, d.removeClass);var f = new c;return f.complete(), f}}}]},Pe = ["$provide", function(a) {var b = this;this.$$registeredAnimations = Object.create(null), this.register = function(c, d) {if(c && "." !== c.charAt(0)) throw Ke("notcsel", "Expecting class selector starting with '.' got '{0}'.", c);var e = c + "-animation";b.$$registeredAnimations[c.substr(1)] = e, a.factory(e, d)}, this.classNameFilter = function(a) {if(1 === arguments.length && (this.$$classNameFilter = a instanceof RegExp ? a : null, this.$$classNameFilter)) {if(new RegExp("(\\s+|\\/)" + Me + "(\\s+|\\/)").test(this.$$classNameFilter.toString())) throw Ke("nongcls", '$animateProvider.classNameFilter(regex) prohibits accepting a regex value which matches/contains the "{0}" CSS class.', Me)}return this.$$classNameFilter}, this.$get = ["$$animateQueue", function(a) {function b(a, b, c) {if(c) {var d = gb(c);!d || d.parentNode || d.previousElementSibling || (c = null)}c ? c.after(a) : b.prepend(a)}return {on: a.on,off: a.off,pin: a.pin,enabled: a.enabled,cancel: function(a) {a.end && a.end()},enter: function(c, d, e, f) {return d = d && Ld(d), e = e && Ld(e), d = d || e.parent(), b(c, d, e), a.push(c, "enter", ib(f))},move: function(c, d, e, f) {return d = d && Ld(d), e = e && Ld(e), d = d || e.parent(), b(c, d, e), a.push(c, "move", ib(f))},leave: function(b, c) {return a.push(b, "leave", ib(c), function() {b.remove()})},addClass: function(b, c, d) {return d = ib(d), d.addClass = fb(d.addclass, c), a.push(b, "addClass", d)},removeClass: function(b, c, d) {return d = ib(d), d.removeClass = fb(d.removeClass, c), a.push(b, "removeClass", d)},setClass: function(b, c, d, e) {return e = ib(e), e.addClass = fb(e.addClass, c), e.removeClass = fb(e.removeClass, d), a.push(b, "setClass", e)},animate: function(b, c, d, e, f) {return f = ib(f), f.from = f.from ? j(f.from, c) : c, f.to = f.to ? j(f.to, d) : d, e = e || "ng-inline-animate", f.tempClasses = fb(f.tempClasses, e), a.push(b, "animate", f)}}}]}],Qe = function() {this.$get = ["$$rAF", function(a) {function b(b) {c.push(b), c.length > 1 || a(function() {for(var a = 0; a < c.length; a++) c[a]();c = []})}var c = [];return function() {var a = !1;return b(function() {a = !0}),function(c) {a ? c() : b(c)}}}]},Re = function() {this.$get = ["$q", "$sniffer", "$$animateAsyncRun", "$document", "$timeout", function(a, b, c, e, f) {function g(a) {this.setHost(a);var b = c(),d = function(a) {f(a, 0, !1)};this._doneCallbacks = [], this._tick = function(a) {var c = e[0];c && c.hidden ? d(a) : b(a)}, this._state = 0}var h = 2;return g.chain = function(a, b) {function c() {if(d === a.length) return void b(!0);a[d](function(a) {if(a === !1) return void b(!1);d++, c()})}var d = 0;c()}, g.all = function(a, b) {function c(c) {f = f && c, ++e === a.length && b(f)}var e = 0,f = !0;d(a, function(a) {a.done(c)})}, g.prototype = {setHost: function(a) {this.host = a || {}},done: function(a) {this._state === h ? a() : this._doneCallbacks.push(a)},progress: n,getPromise: function() {if(!this.promise) {var b = this;this.promise = a(function(a, c) {b.done(function(b) {b === !1 ? c() : a()})})}return this.promise},then: function(a, b) {return this.getPromise().then(a, b)},catch: function(a) {return this.getPromise().catch(a)},finally: function(a) {return this.getPromise().finally(a)},pause: function() {this.host.pause && this.host.pause()},resume: function() {this.host.resume && this.host.resume()},end: function() {this.host.end && this.host.end(), this._resolve(!0)},cancel: function() {this.host.cancel && this.host.cancel(), this._resolve(!1)},complete: function(a) {var b = this;0 === b._state && (b._state = 1, b._tick(function() {b._resolve(a)}))},_resolve: function(a) {this._state !== h && (d(this._doneCallbacks, function(b) {b(a)}), this._doneCallbacks.length = 0, this._state = h)}}, g}]},Se = function() {this.$get = ["$$rAF", "$q", "$$AnimateRunner", function(a, b, c) {return function(b, d) {function e() {return a(function() {f(), h || i.complete(), h = !0}), i}function f() {g.addClass && (b.addClass(g.addClass), g.addClass = null), g.removeClass && (b.removeClass(g.removeClass), g.removeClass = null), g.to && (b.css(g.to), g.to = null)}var g = d || {};g.$$prepared || (g = N(g)), g.cleanupStyles && (g.from = g.to = null), g.from && (b.css(g.from), g.from = null);var h, i = new c;return {start: e,end: e}}}]},Te = b("$compile"),Ue = new nb;ob.$inject = ["$provide", "$$sanitizeUriProvider"], pb.prototype.isFirstChange = function() {return this.previousValue === Ue};var Ve = /^((?:x|data)[\:\-_])/i,We = b("$controller"),Xe = /^(\S+)(\s+as\s+([\w$]+))?$/,Ye = function() {this.$get = ["$document", function(a) {return function(b) {return b ? !b.nodeType && b instanceof Ld && (b = b[0]) : b = a[0].body, b.offsetWidth + 1}}]},Ze = "application/json",$e = {"Content-Type": Ze + ";charset=utf-8"},_e = /^\[|^\{(?!\{)/,af = {"[": /]$/,"{": /}$/},bf = /^\)\]\}',?\n/,cf = b("$http"),df = function(a) {return function() {throw cf("legacy", "The method `{0}` on the promise returned from `$http` has been disabled.", a)}},ef = Ud.$interpolateMinErr = b("$interpolate");ef.throwNoconcat = function(a) {throw ef("noconcat", "Error while interpolating: {0}\nStrict Contextual Escaping disallows interpolations that concatenate multiple expressions when a trusted value is required. See http://docs.angularjs.org/api/ng.$sce", a)}, ef.interr = function(a, b) {return ef("interr", "Can't interpolate: {0}\n{1}", a, b.toString())};var ff = function() {this.$get = ["$window", function(a) {function b(a) {var b = function(a) {b.data = a, b.called = !0};return b.id = a, b}var c = a.angular.callbacks,d = {};return {createCallback: function(a) {var e = "_" + (c.$$counter++).toString(36),f = "angular.callbacks." + e,g = b(e);return d[f] = c[e] = g, f},wasCalled: function(a) {return d[a].called},getResponse: function(a) {return d[a].data},removeCallback: function(a) {delete c[d[a].id], delete d[a]}}}]},gf = /^([^\?#]*)(\?([^#]*))?(#(.*))?$/,hf = {http: 80,https: 443,ftp: 21},jf = b("$location"),kf = {$$absUrl: "",$$html5: !1,$$replace: !1,absUrl: Yb("$$absUrl"),url: function(a) {if(r(a)) return this.$$url;var b = gf.exec(a);return(b[1] || "" === a) && this.path(decodeURIComponent(b[1])), (b[2] || b[1] || "" === a) && this.search(b[3] || ""), this.hash(b[5] || ""), this},protocol: Yb("$$protocol"),host: Yb("$$host"),port: Yb("$$port"),path: Zb("$$path", function(a) {return a = null !== a ? a.toString() : "", "/" == a.charAt(0) ? a : "/" + a}),search: function(a, b) {switch(arguments.length) {case 0:return this.$$search;case 1:if(v(a) || w(a)) a = a.toString(), this.$$search = $(a);else {if(!t(a)) throw jf("isrcharg", "The first argument of the `$location#search()` call must be a string or an object.");a = N(a, {}), d(a, function(b, c) {null == b && delete a[c]}), this.$$search = a}break;default:r(b) || null === b ? delete this.$$search[a] : this.$$search[a] = b}return this.$$compose(), this},hash: Zb("$$hash", function(a) {return null !== a ? a.toString() : ""}),replace: function() {return this.$$replace = !0, this}};d([Xb, Wb, Vb], function(a) {a.prototype = Object.create(kf), a.prototype.state = function(b) {if(!arguments.length) return this.$$state;if(a !== Vb || !this.$$html5) throw jf("nostate", "History API state support is available only in HTML5 mode and only in browsers supporting HTML5 History API");return this.$$state = r(b) ? null : b, this}});var lf = b("$parse"),mf = Function.prototype.call,nf = Function.prototype.apply,of = Function.prototype.bind,pf = oa();d("+ - * / % === !== == != < > <= >= && || ! = |".split(" "), function(a) {pf[a] = !0});var qf = {n: "\n",f: "\f",r: "\r",t: "\t",v: "\v","'": "'",'"': '"'},rf = function(a) {this.options = a};rf.prototype = {constructor: rf,lex: function(a) {for(this.text = a, this.index = 0, this.tokens = []; this.index < this.text.length;) {var b = this.text.charAt(this.index);if('"' === b || "'" === b) this.readString(b);else if(this.isNumber(b) || "." === b && this.isNumber(this.peek())) this.readNumber();else if(this.isIdentifierStart(this.peekMultichar())) this.readIdent();else if(this.is(b, "(){}[].,;:?")) this.tokens.push({index: this.index,text: b}), this.index++;else if(this.isWhitespace(b)) this.index++;else {var c = b + this.peek(),d = c + this.peek(2),e = pf[b],f = pf[c],g = pf[d];if(e || f || g) {var h = g ? d : f ? c : b;this.tokens.push({index: this.index,text: h,operator: !0}), this.index += h.length} else this.throwError("Unexpected next character ", this.index, this.index + 1)}}return this.tokens},is: function(a, b) {return b.indexOf(a) !== -1},peek: function(a) {var b = a || 1;return this.index + b < this.text.length && this.text.charAt(this.index + b)},isNumber: function(a) {return "0" <= a && a <= "9" && "string" == typeof a},isWhitespace: function(a) {return " " === a || "\r" === a || "\t" === a || "\n" === a || "\v" === a || " " === a},isIdentifierStart: function(a) {return this.options.isIdentifierStart ? this.options.isIdentifierStart(a, this.codePointAt(a)) : this.isValidIdentifierStart(a)},isValidIdentifierStart: function(a) {return "a" <= a && a <= "z" || "A" <= a && a <= "Z" || "_" === a || "$" === a},isIdentifierContinue: function(a) {return this.options.isIdentifierContinue ? this.options.isIdentifierContinue(a, this.codePointAt(a)) : this.isValidIdentifierContinue(a)},isValidIdentifierContinue: function(a, b) {return this.isValidIdentifierStart(a, b) || this.isNumber(a)},codePointAt: function(a) {return 1 === a.length ? a.charCodeAt(0) : (a.charCodeAt(0) << 10) + a.charCodeAt(1) - 56613888},peekMultichar: function() {var a = this.text.charAt(this.index),b = this.peek();if(!b) return a;var c = a.charCodeAt(0),d = b.charCodeAt(0);return c >= 55296 && c <= 56319 && d >= 56320 && d <= 57343 ? a + b : a},isExpOperator: function(a) {return "-" === a || "+" === a || this.isNumber(a)},throwError: function(a, b, c) {throw c = c || this.index, lf("lexerr", "Lexer Error: {0} at column{1} in expression [{2}].", a, s(b) ? "s " + b + "-" + this.index + " [" + this.text.substring(b, c) + "]" : " " + c, this.text)},readNumber: function() {for(var a = "", b = this.index; this.index < this.text.length;) {var c = Gd(this.text.charAt(this.index));if("." == c || this.isNumber(c)) a += c;else {var d = this.peek();if("e" == c && this.isExpOperator(d)) a += c;else if(this.isExpOperator(c) && d && this.isNumber(d) && "e" == a.charAt(a.length - 1)) a += c;else {if(!this.isExpOperator(c) || d && this.isNumber(d) || "e" != a.charAt(a.length - 1)) break;this.throwError("Invalid exponent")}}this.index++}this.tokens.push({index: b,text: a,constant: !0,value: Number(a)})},readIdent: function() {var a = this.index;for(this.index += this.peekMultichar().length; this.index < this.text.length;) {var b = this.peekMultichar();if(!this.isIdentifierContinue(b)) break;this.index += b.length}this.tokens.push({index: a,text: this.text.slice(a, this.index),identifier: !0})},readString: function(a) {var b = this.index;this.index++;for(var c = "", d = a, e = !1; this.index < this.text.length;) {var f = this.text.charAt(this.index);if(d += f, e) {if("u" === f) {var g = this.text.substring(this.index + 1, this.index + 5);g.match(/[\da-f]{4}/i) || this.throwError("Invalid unicode escape [\\u" + g + "]"), this.index += 4, c += String.fromCharCode(parseInt(g, 16))} else {c += qf[f] || f}e = !1} else if("\\" === f) e = !0;else {if(f === a) return this.index++, void this.tokens.push({index: b,text: d,constant: !0,value: c});c += f}this.index++}this.throwError("Unterminated quote", b)}};var sf = function(a, b) {this.lexer = a, this.options = b};sf.Program = "Program", sf.ExpressionStatement = "ExpressionStatement", sf.AssignmentExpression = "AssignmentExpression", sf.ConditionalExpression = "ConditionalExpression", sf.LogicalExpression = "LogicalExpression", sf.BinaryExpression = "BinaryExpression", sf.UnaryExpression = "UnaryExpression", sf.CallExpression = "CallExpression", sf.MemberExpression = "MemberExpression", sf.Identifier = "Identifier", sf.Literal = "Literal", sf.ArrayExpression = "ArrayExpression", sf.Property = "Property", sf.ObjectExpression = "ObjectExpression", sf.ThisExpression = "ThisExpression", sf.LocalsExpression = "LocalsExpression", sf.NGValueParameter = "NGValueParameter", sf.prototype = {ast: function(a) {this.text = a, this.tokens = this.lexer.lex(a);var b = this.program();return 0 !== this.tokens.length && this.throwError("is an unexpected token", this.tokens[0]), b},program: function() {for(var a = [];;)if(this.tokens.length > 0 && !this.peek("}", ")", ";", "]") && a.push(this.expressionStatement()), !this.expect(";")) return {type: sf.Program,body: a}},expressionStatement: function() {return {type: sf.ExpressionStatement,expression: this.filterChain()}},filterChain: function() {for(var a = this.expression(); this.expect("|");) a = this.filter(a);return a},expression: function() {return this.assignment()},assignment: function() {var a = this.ternary();return this.expect("=") && (a = {type: sf.AssignmentExpression,left: a,right: this.assignment(),operator: "="}), a},ternary: function() {var a, b, c = this.logicalOR();return this.expect("?") && (a = this.expression(), this.consume(":")) ? (b = this.expression(), {type: sf.ConditionalExpression,test: c,alternate: a,consequent: b}) : c},logicalOR: function() {for(var a = this.logicalAND(); this.expect("||");) a = {type: sf.LogicalExpression,operator: "||",left: a,right: this.logicalAND()};return a},logicalAND: function() {for(var a = this.equality(); this.expect("&&");) a = {type: sf.LogicalExpression,operator: "&&",left: a,right: this.equality()};return a},equality: function() {for(var a, b = this.relational(); a = this.expect("==", "!=", "===", "!==");) b = {type: sf.BinaryExpression,operator: a.text,left: b,right: this.relational()};return b},relational: function() {for(var a, b = this.additive(); a = this.expect("<", ">", "<=", ">=");) b = {type: sf.BinaryExpression,operator: a.text,left: b,right: this.additive()};return b},additive: function() {for(var a, b = this.multiplicative(); a = this.expect("+", "-");) b = {type: sf.BinaryExpression,operator: a.text,left: b,right: this.multiplicative()};return b},multiplicative: function() {for(var a, b = this.unary(); a = this.expect("*", "/", "%");) b = {type: sf.BinaryExpression,operator: a.text,left: b,right: this.unary()};return b},unary: function() {var a;return(a = this.expect("+", "-", "!")) ? {type: sf.UnaryExpression,operator: a.text,prefix: !0,argument: this.unary()} : this.primary()},primary: function() {var a;this.expect("(") ? (a = this.filterChain(), this.consume(")")) : this.expect("[") ? a = this.arrayDeclaration() : this.expect("{") ? a = this.object() : this.selfReferential.hasOwnProperty(this.peek().text) ? a = N(this.selfReferential[this.consume().text]) : this.options.literals.hasOwnProperty(this.peek().text) ? a = {type: sf.Literal,value: this.options.literals[this.consume().text]} : this.peek().identifier ? a = this.identifier() : this.peek().constant ? a = this.constant() : this.throwError("not a primary expression", this.peek());for(var b; b = this.expect("(", "[", ".");) "(" === b.text ? (a = {type: sf.CallExpression,callee: a,arguments: this.parseArguments()}, this.consume(")")) : "[" === b.text ? (a = {type: sf.MemberExpression,object: a,property: this.expression(),computed: !0}, this.consume("]")) : "." === b.text ? a = {type: sf.MemberExpression,object: a,property: this.identifier(),computed: !1} : this.throwError("IMPOSSIBLE");return a},filter: function(a) {for(var b = [a], c = {type: sf.CallExpression,callee: this.identifier(),arguments: b,filter: !0}; this.expect(":");) b.push(this.expression());return c},parseArguments: function() {var a = [];if(")" !== this.peekToken().text)do {a.push(this.filterChain())} while (this.expect(","));return a},identifier: function() {var a = this.consume();return a.identifier || this.throwError("is not a valid identifier", a), {type: sf.Identifier,name: a.text}},constant: function() {return {type: sf.Literal,value: this.consume().value}},arrayDeclaration: function() {var a = [];if("]" !== this.peekToken().text)do {if(this.peek("]")) break;a.push(this.expression())} while (this.expect(","));return this.consume("]"), {type: sf.ArrayExpression,elements: a}},object: function() {var a, b = [];if("}" !== this.peekToken().text)do {if(this.peek("}")) break;a = {type: sf.Property,kind: "init"}, this.peek().constant ? (a.key = this.constant(), a.computed = !1, this.consume(":"), a.value = this.expression()) : this.peek().identifier ? (a.key = this.identifier(), a.computed = !1, this.peek(":") ? (this.consume(":"), a.value = this.expression()) : a.value = a.key) : this.peek("[") ? (this.consume("["), a.key = this.expression(), this.consume("]"), a.computed = !0, this.consume(":"), a.value = this.expression()) : this.throwError("invalid key", this.peek()), b.push(a)} while (this.expect(","));return this.consume("}"), {type: sf.ObjectExpression,properties: b}},throwError: function(a, b) {throw lf("syntax", "Syntax Error: Token '{0}' {1} at column {2} of the expression [{3}] starting at [{4}].", b.text, a, b.index + 1, this.text, this.text.substring(b.index))},consume: function(a) {if(0 === this.tokens.length) throw lf("ueoe", "Unexpected end of expression: {0}", this.text);var b = this.expect(a);return b || this.throwError("is unexpected, expecting [" + a + "]", this.peek()), b},peekToken: function() {if(0 === this.tokens.length) throw lf("ueoe", "Unexpected end of expression: {0}", this.text);return this.tokens[0]},peek: function(a, b, c, d) {return this.peekAhead(0, a, b, c, d)},peekAhead: function(a, b, c, d, e) {if(this.tokens.length > a) {var f = this.tokens[a],g = f.text;if(g === b || g === c || g === d || g === e || !b && !c && !d && !e) return f}return !1},expect: function(a, b, c, d) {var e = this.peek(a, b, c, d);return !!e && (this.tokens.shift(), e)},selfReferential: {this: {type: sf.ThisExpression},$locals: {type: sf.LocalsExpression}}}, oc.prototype = {compile: function(a, b) {var c = this,e = this.astBuilder.ast(a);this.state = {nextId: 0,filters: {},expensiveChecks: b,fn: {vars: [],body: [],own: {}},assign: {vars: [],body: [],own: {}},inputs: []}, ic(e, c.$filter);var f, g = "";if(this.stage = "assign", f = lc(e)) {this.state.computing = "assign";var h = this.nextId();this.recurse(f, h), this.return_(h), g = "fn.assign=" + this.generateFunction("assign", "s,v,l")}var i = jc(e.body);c.stage = "inputs", d(i, function(a, b) {var d = "fn" + b;c.state[d] = {vars: [],body: [],own: {}}, c.state.computing = d;var e = c.nextId();c.recurse(a, e), c.return_(e), c.state.inputs.push(d), a.watchId = b}), this.state.computing = "fn", this.stage = "main", this.recurse(e);var j = '"' + this.USE + " " + this.STRICT + '";\n' + this.filterPrefix() + "var fn=" + this.generateFunction("fn", "s,l,a,i") + g + this.watchFns() + "return fn;",k = new Function("$filter", "ensureSafeMemberName", "ensureSafeObject", "ensureSafeFunction", "getStringValue", "ensureSafeAssignContext", "ifDefined", "plus", "text", j)(this.$filter, ac, cc, dc, bc, ec, fc, gc, a);return this.state = this.stage = void 0, k.literal = mc(e), k.constant = nc(e), k},USE: "use",STRICT: "strict",watchFns: function() {var a = [],b = this.state.inputs,c = this;return d(b, function(b) {a.push("var " + b + "=" + c.generateFunction(b, "s"))}), b.length && a.push("fn.inputs=[" + b.join(",") + "];"), a.join("")},generateFunction: function(a, b) {return "function(" + b + "){" + this.varsPrefix(a) + this.body(a) + "};"},filterPrefix: function() {var a = [],b = this;return d(this.state.filters, function(c, d) {a.push(c + "=$filter(" + b.escape(d) + ")")}), a.length ? "var " + a.join(",") + ";" : ""},varsPrefix: function(a) {return this.state[a].vars.length ? "var " + this.state[a].vars.join(",") + ";" : ""},body: function(a) {return this.state[a].body.join("")},recurse: function(a, b, c, e, f, g) {var h, i, j, k, l, m = this;if(e = e || n, !g && s(a.watchId)) return b = b || this.nextId(), void this.if_("i", this.lazyAssign(b, this.computedMember("i", a.watchId)), this.lazyRecurse(a, b, c, e, f, !0));switch(a.type) {case sf.Program:d(a.body, function(b, c) {m.recurse(b.expression, void 0, void 0, function(a) {i = a}), c !== a.body.length - 1 ? m.current().body.push(i, ";") : m.return_(i)});break;case sf.Literal:k = this.escape(a.value), this.assign(b, k), e(k);break;case sf.UnaryExpression:this.recurse(a.argument, void 0, void 0, function(a) {i = a}), k = a.operator + "(" + this.ifDefined(i, 0) + ")", this.assign(b, k), e(k);break;case sf.BinaryExpression:this.recurse(a.left, void 0, void 0, function(a) {h = a}), this.recurse(a.right, void 0, void 0, function(a) {i = a}), k = "+" === a.operator ? this.plus(h, i) : "-" === a.operator ? this.ifDefined(h, 0) + a.operator + this.ifDefined(i, 0) : "(" + h + ")" + a.operator + "(" + i + ")", this.assign(b, k), e(k);break;case sf.LogicalExpression:b = b || this.nextId(), m.recurse(a.left, b), m.if_("&&" === a.operator ? b : m.not(b), m.lazyRecurse(a.right, b)), e(b);break;case sf.ConditionalExpression:b = b || this.nextId(), m.recurse(a.test, b), m.if_(b, m.lazyRecurse(a.alternate, b), m.lazyRecurse(a.consequent, b)), e(b);break;case sf.Identifier:b = b || this.nextId(), c && (c.context = "inputs" === m.stage ? "s" : this.assign(this.nextId(), this.getHasOwnProperty("l", a.name) + "?l:s"), c.computed = !1, c.name = a.name), ac(a.name), m.if_("inputs" === m.stage || m.not(m.getHasOwnProperty("l", a.name)), function() {m.if_("inputs" === m.stage || "s", function() {f && 1 !== f && m.if_(m.not(m.nonComputedMember("s", a.name)), m.lazyAssign(m.nonComputedMember("s", a.name), "{}")), m.assign(b, m.nonComputedMember("s", a.name))})}, b && m.lazyAssign(b, m.nonComputedMember("l", a.name))), (m.state.expensiveChecks || qc(a.name)) && m.addEnsureSafeObject(b), e(b);break;case sf.MemberExpression:h = c && (c.context = this.nextId()) || this.nextId(), b = b || this.nextId(), m.recurse(a.object, h, void 0, function() {m.if_(m.notNull(h), function() {f && 1 !== f && m.addEnsureSafeAssignContext(h), a.computed ? (i = m.nextId(), m.recurse(a.property, i), m.getStringValue(i), m.addEnsureSafeMemberName(i), f && 1 !== f && m.if_(m.not(m.computedMember(h, i)), m.lazyAssign(m.computedMember(h, i), "{}")), k = m.ensureSafeObject(m.computedMember(h, i)), m.assign(b, k), c && (c.computed = !0, c.name = i)) : (ac(a.property.name), f && 1 !== f && m.if_(m.not(m.nonComputedMember(h, a.property.name)), m.lazyAssign(m.nonComputedMember(h, a.property.name), "{}")), k = m.nonComputedMember(h, a.property.name), (m.state.expensiveChecks || qc(a.property.name)) && (k = m.ensureSafeObject(k)), m.assign(b, k), c && (c.computed = !1, c.name = a.property.name))}, function() {m.assign(b, "undefined")}), e(b)}, !!f);break;case sf.CallExpression:b = b || this.nextId(), a.filter ? (i = m.filter(a.callee.name), j = [], d(a.arguments, function(a) {var b = m.nextId();m.recurse(a, b), j.push(b)}), k = i + "(" + j.join(",") + ")", m.assign(b, k), e(b)) : (i = m.nextId(), h = {}, j = [], m.recurse(a.callee, i, h, function() {m.if_(m.notNull(i), function() {m.addEnsureSafeFunction(i), d(a.arguments, function(a) {m.recurse(a, m.nextId(), void 0, function(a) {j.push(m.ensureSafeObject(a))})}), h.name ? (m.state.expensiveChecks || m.addEnsureSafeObject(h.context), k = m.member(h.context, h.name, h.computed) + "(" + j.join(",") + ")") : k = i + "(" + j.join(",") + ")", k = m.ensureSafeObject(k), m.assign(b, k)}, function() {m.assign(b, "undefined")}), e(b)}));break;case sf.AssignmentExpression:if(i = this.nextId(), h = {}, !kc(a.left)) throw lf("lval", "Trying to assign a value to a non l-value");this.recurse(a.left, void 0, h, function() {m.if_(m.notNull(h.context), function() {m.recurse(a.right, i), m.addEnsureSafeObject(m.member(h.context, h.name, h.computed)), m.addEnsureSafeAssignContext(h.context), k = m.member(h.context, h.name, h.computed) + a.operator + i, m.assign(b, k), e(b || k)})}, 1);break;case sf.ArrayExpression:j = [], d(a.elements, function(a) {m.recurse(a, m.nextId(), void 0, function(a) {j.push(a)})}), k = "[" + j.join(",") + "]", this.assign(b, k), e(k);break;case sf.ObjectExpression:j = [], l = !1, d(a.properties, function(a) {a.computed && (l = !0)}), l ? (b = b || this.nextId(), this.assign(b, "{}"), d(a.properties, function(a) {a.computed ? (h = m.nextId(), m.recurse(a.key, h)) : h = a.key.type === sf.Identifier ? a.key.name : "" + a.key.value, i = m.nextId(), m.recurse(a.value, i), m.assign(m.member(b, h, a.computed), i)})) : (d(a.properties, function(b) {m.recurse(b.value, a.constant ? void 0 : m.nextId(), void 0, function(a) {j.push(m.escape(b.key.type === sf.Identifier ? b.key.name : "" + b.key.value) + ":" + a)})}), k = "{" + j.join(",") + "}", this.assign(b, k)), e(b || k);break;case sf.ThisExpression:this.assign(b, "s"), e("s");break;case sf.LocalsExpression:this.assign(b, "l"), e("l");break;case sf.NGValueParameter:this.assign(b, "v"), e("v")}},getHasOwnProperty: function(a, b) {var c = a + "." + b,d = this.current().own;return d.hasOwnProperty(c) || (d[c] = this.nextId(!1, a + "&&(" + this.escape(b) + " in " + a + ")")), d[c]},assign: function(a, b) {if(a) return this.current().body.push(a, "=", b, ";"), a},filter: function(a) {return this.state.filters.hasOwnProperty(a) || (this.state.filters[a] = this.nextId(!0)), this.state.filters[a]},ifDefined: function(a, b) {return "ifDefined(" + a + "," + this.escape(b) + ")"},plus: function(a, b) {return "plus(" + a + "," + b + ")"},return_: function(a) {this.current().body.push("return ", a, ";")},if_: function(a, b, c) {if(a === !0) b();else {var d = this.current().body;d.push("if(", a, "){"), b(), d.push("}"), c && (d.push("else{"), c(), d.push("}"))}},not: function(a) {return "!(" + a + ")"},notNull: function(a) {return a + "!=null"},nonComputedMember: function(a, b) {var c = /[$_a-zA-Z][$_a-zA-Z0-9]*/,d = /[^$_a-zA-Z0-9]/g;return c.test(b) ? a + "." + b : a + '["' + b.replace(d, this.stringEscapeFn) + '"]'},computedMember: function(a, b) {return a + "[" + b + "]"},member: function(a, b, c) {return c ? this.computedMember(a, b) : this.nonComputedMember(a, b)},addEnsureSafeObject: function(a) {this.current().body.push(this.ensureSafeObject(a), ";")},addEnsureSafeMemberName: function(a) {this.current().body.push(this.ensureSafeMemberName(a), ";")},addEnsureSafeFunction: function(a) {this.current().body.push(this.ensureSafeFunction(a), ";")},addEnsureSafeAssignContext: function(a) {this.current().body.push(this.ensureSafeAssignContext(a), ";")},ensureSafeObject: function(a) {return "ensureSafeObject(" + a + ",text)"},ensureSafeMemberName: function(a) {return "ensureSafeMemberName(" + a + ",text)"},ensureSafeFunction: function(a) {return "ensureSafeFunction(" + a + ",text)"},getStringValue: function(a) {this.assign(a, "getStringValue(" + a + ")")},ensureSafeAssignContext: function(a) {return "ensureSafeAssignContext(" + a + ",text)"},lazyRecurse: function(a, b, c, d, e, f) {var g = this;return function() {g.recurse(a, b, c, d, e, f)}},lazyAssign: function(a, b) {var c = this;return function() {c.assign(a, b)}},stringEscapeRegex: /[^ a-zA-Z0-9]/g,stringEscapeFn: function(a) {return "\\u" + ("0000" + a.charCodeAt(0).toString(16)).slice(-4)},escape: function(a) {if(v(a)) return "'" + a.replace(this.stringEscapeRegex, this.stringEscapeFn) + "'";if(w(a)) return a.toString();if(a === !0) return "true";if(a === !1) return "false";if(null === a) return "null";if(void 0 === a) return "undefined";throw lf("esc", "IMPOSSIBLE")},nextId: function(a, b) {var c = "v" + this.state.nextId++;return a || this.current().vars.push(c + (b ? "=" + b : "")), c},current: function() {return this.state[this.state.computing]}}, pc.prototype = {compile: function(a, b) {var c = this,e = this.astBuilder.ast(a);this.expression = a, this.expensiveChecks = b, ic(e, c.$filter);var f, g;(f = lc(e)) && (g = this.recurse(f));var h, i = jc(e.body);i && (h = [], d(i, function(a, b) {var d = c.recurse(a);a.input = d, h.push(d), a.watchId = b}));var j = [];d(e.body, function(a) {j.push(c.recurse(a.expression))});var k = 0 === e.body.length ? n : 1 === e.body.length ? j[0] : function(a, b) {var c;return d(j, function(d) {c = d(a, b)}), c};return g && (k.assign = function(a, b, c) {return g(a, c, b)}), h && (k.inputs = h), k.literal = mc(e), k.constant = nc(e), k},recurse: function(a, b, c) {var e, f, g, h = this;if(a.input) return this.inputs(a.input, a.watchId);switch(a.type) {case sf.Literal:return this.value(a.value, b);case sf.UnaryExpression:return f = this.recurse(a.argument), this["unary" + a.operator](f, b);case sf.BinaryExpression:return e = this.recurse(a.left), f = this.recurse(a.right), this["binary" + a.operator](e, f, b);case sf.LogicalExpression:return e = this.recurse(a.left), f = this.recurse(a.right), this["binary" + a.operator](e, f, b);case sf.ConditionalExpression:return this["ternary?:"](this.recurse(a.test), this.recurse(a.alternate), this.recurse(a.consequent), b);case sf.Identifier:return ac(a.name, h.expression), h.identifier(a.name, h.expensiveChecks || qc(a.name), b, c, h.expression);case sf.MemberExpression:return e = this.recurse(a.object, !1, !!c), a.computed || (ac(a.property.name, h.expression), f = a.property.name), a.computed && (f = this.recurse(a.property)), a.computed ? this.computedMember(e, f, b, c, h.expression) : this.nonComputedMember(e, f, h.expensiveChecks, b, c, h.expression);case sf.CallExpression:return g = [], d(a.arguments, function(a) {g.push(h.recurse(a))}), a.filter && (f = this.$filter(a.callee.name)), a.filter || (f = this.recurse(a.callee, !0)), a.filter ? function(a, c, d, e) {for(var h = [], i = 0; i < g.length; ++i) h.push(g[i](a, c, d, e));var j = f.apply(void 0, h, e);return b ? {context: void 0,name: void 0,value: j} : j} : function(a, c, d, e) {var i, j = f(a, c, d, e);if(null != j.value) {cc(j.context, h.expression), dc(j.value, h.expression);for(var k = [], l = 0; l < g.length; ++l) k.push(cc(g[l](a, c, d, e), h.expression));i = cc(j.value.apply(j.context, k), h.expression)}return b ? {value: i} : i};case sf.AssignmentExpression:return e = this.recurse(a.left, !0, 1), f = this.recurse(a.right),function(a, c, d, g) {var i = e(a, c, d, g),j = f(a, c, d, g);return cc(i.value, h.expression), ec(i.context), i.context[i.name] = j, b ? {value: j} : j};case sf.ArrayExpression:return g = [], d(a.elements, function(a) {g.push(h.recurse(a))}),function(a, c, d, e) {for(var f = [], h = 0; h < g.length; ++h) f.push(g[h](a, c, d, e));return b ? {value: f} : f};case sf.ObjectExpression:return g = [], d(a.properties, function(a) {a.computed ? g.push({key: h.recurse(a.key),computed: !0,value: h.recurse(a.value)}) : g.push({key: a.key.type === sf.Identifier ? a.key.name : "" + a.key.value,computed: !1,value: h.recurse(a.value)})}),function(a, c, d, e) {for(var f = {}, h = 0; h < g.length; ++h) g[h].computed ? f[g[h].key(a, c, d, e)] = g[h].value(a, c, d, e) : f[g[h].key] = g[h].value(a, c, d, e);return b ? {value: f} : f};case sf.ThisExpression:return function(a) {return b ? {value: a} : a};case sf.LocalsExpression:return function(a, c) {return b ? {value: c} : c};case sf.NGValueParameter:return function(a, c, d) {return b ? {value: d} : d}}},"unary+": function(a, b) {return function(c, d, e, f) {var g = a(c, d, e, f);return g = s(g) ? +g : 0, b ? {value: g} : g}},"unary-": function(a, b) {return function(c, d, e, f) {var g = a(c, d, e, f);return g = s(g) ? -g : 0, b ? {value: g} : g}},"unary!": function(a, b) {return function(c, d, e, f) {var g = !a(c, d, e, f);return b ? {value: g} : g}},"binary+": function(a, b, c) {return function(d, e, f, g) {var h = a(d, e, f, g),i = b(d, e, f, g),j = gc(h, i);return c ? {value: j} : j}},"binary-": function(a, b, c) {return function(d, e, f, g) {var h = a(d, e, f, g),i = b(d, e, f, g),j = (s(h) ? h : 0) - (s(i) ? i : 0);return c ? {value: j} : j}},"binary*": function(a, b, c) {return function(d, e, f, g) {var h = a(d, e, f, g) * b(d, e, f, g);return c ? {value: h} : h}},"binary/": function(a, b, c) {return function(d, e, f, g) {var h = a(d, e, f, g) / b(d, e, f, g);return c ? {value: h} : h}},"binary%": function(a, b, c) {return function(d, e, f, g) {var h = a(d, e, f, g) % b(d, e, f, g);return c ? {value: h} : h}},"binary===": function(a, b, c) {return function(d, e, f, g) {var h = a(d, e, f, g) === b(d, e, f, g);return c ? {value: h} : h}},"binary!==": function(a, b, c) {return function(d, e, f, g) {var h = a(d, e, f, g) !== b(d, e, f, g);return c ? {value: h} : h}},"binary==": function(a, b, c) {return function(d, e, f, g) {var h = a(d, e, f, g) == b(d, e, f, g);return c ? {value: h} : h}},"binary!=": function(a, b, c) {return function(d, e, f, g) {var h = a(d, e, f, g) != b(d, e, f, g);return c ? {value: h} : h}},"binary<": function(a, b, c) {return function(d, e, f, g) {var h = a(d, e, f, g) < b(d, e, f, g);return c ? {value: h} : h}},"binary>": function(a, b, c) {return function(d, e, f, g) {var h = a(d, e, f, g) > b(d, e, f, g);return c ? {value: h} : h}},"binary<=": function(a, b, c) {return function(d, e, f, g) {var h = a(d, e, f, g) <= b(d, e, f, g);return c ? {value: h} : h}},"binary>=": function(a, b, c) {return function(d, e, f, g) {var h = a(d, e, f, g) >= b(d, e, f, g);return c ? {value: h} : h}},"binary&&": function(a, b, c) {return function(d, e, f, g) {var h = a(d, e, f, g) && b(d, e, f, g);return c ? {value: h} : h}},"binary||": function(a, b, c) {return function(d, e, f, g) {var h = a(d, e, f, g) || b(d, e, f, g);return c ? {value: h} : h}},"ternary?:": function(a, b, c, d) {return function(e, f, g, h) {var i = a(e, f, g, h) ? b(e, f, g, h) : c(e, f, g, h);return d ? {value: i} : i}},value: function(a, b) {return function() {return b ? {context: void 0,name: void 0,value: a} : a}},identifier: function(a, b, c, d, e) {return function(f, g, h, i) {var j = g && a in g ? g : f;d && 1 !== d && j && !j[a] && (j[a] = {});var k = j ? j[a] : void 0;return b && cc(k, e), c ? {context: j,name: a,value: k} : k}},computedMember: function(a, b, c, d, e) {return function(f, g, h, i) {var j, k, l = a(f, g, h, i);return null != l && (j = b(f, g, h, i), j = bc(j), ac(j, e), d && 1 !== d && (ec(l), l && !l[j] && (l[j] = {})), k = l[j], cc(k, e)), c ? {context: l,name: j,value: k} : k}},nonComputedMember: function(a, b, c, d, e, f) {return function(g, h, i, j) {var k = a(g, h, i, j);e && 1 !== e && (ec(k), k && !k[b] && (k[b] = {}));var l = null != k ? k[b] : void 0;return(c || qc(b)) && cc(l, f), d ? {context: k,name: b,value: l} : l}},inputs: function(a, b) {return function(c, d, e, f) {return f ? f[b] : a(c, d, e)}}};var tf = function(a, b, c) {this.lexer = a, this.$filter = b, this.options = c, this.ast = new sf(a, c), this.astCompiler = c.csp ? new pc(this.ast, b) : new oc(this.ast, b)};tf.prototype = {constructor: tf,parse: function(a) {return this.astCompiler.compile(a, this.options.expensiveChecks)}};var uf = Object.prototype.valueOf,vf = b("$sce"),wf = {HTML: "html",CSS: "css",URL: "url",RESOURCE_URL: "resourceUrl",JS: "js"},xf = b("$compile"),yf = a.document.createElement("a"),zf = Hc(a.location.href);Kc.$inject = ["$document"], Mc.$inject = ["$provide"];var Af = 22,Bf = ".",Cf = "0";Rc.$inject = ["$locale"], Sc.$inject = ["$locale"];var Df = {yyyy: Xc("FullYear", 4, 0, !1, !0),yy: Xc("FullYear", 2, 0, !0, !0),y: Xc("FullYear", 1, 0, !1, !0),MMMM: Yc("Month"),MMM: Yc("Month", !0),MM: Xc("Month", 2, 1),M: Xc("Month", 1, 1),LLLL: Yc("Month", !1, !0),dd: Xc("Date", 2),d: Xc("Date", 1),HH: Xc("Hours", 2),H: Xc("Hours", 1),hh: Xc("Hours", 2, -12),h: Xc("Hours", 1, -12),mm: Xc("Minutes", 2),m: Xc("Minutes", 1),ss: Xc("Seconds", 2),s: Xc("Seconds", 1),sss: Xc("Milliseconds", 3),EEEE: Yc("Day"),EEE: Yc("Day", !0),a: bd,Z: Zc,ww: ad(2),w: ad(1),G: cd,GG: cd,GGG: cd,GGGG: dd},Ef = /((?:[^yMLdHhmsaZEwG']+)|(?:'(?:[^']|'')*')|(?:E+|y+|M+|L+|d+|H+|h+|m+|s+|a|Z|G+|w+))(.*)/,Ff = /^\-?\d+$/;ed.$inject = ["$locale"];var Gf = p(Gd),Hf = p(Hd);id.$inject = ["$parse"];var If = p({restrict: "E",compile: function(a, b) {if(!b.href && !b.xlinkHref) return function(a, b) {if("a" === b[0].nodeName.toLowerCase()) {var c = "[object SVGAnimatedString]" === Rd.call(b.prop("href")) ? "xlink:href" : "href";b.on("click", function(a) {b.attr(c) || a.preventDefault()})}}}}),Jf = {};d(Ae, function(a, b) {function c(a, c, e) {a.$watch(e[d], function(a) {e.$set(b, !!a)})}if("multiple" != a) {var d = qb("ng-" + b),e = c;"checked" === a && (e = function(a, b, e) {e.ngModel !== e[d] && c(a, b, e)}), Jf[d] = function() {return {restrict: "A",priority: 100,link: e}}}}), d(Ce, function(a, b) {Jf[b] = function() {return {priority: 100,link: function(a, c, d) {if("ngPattern" === b && "/" == d.ngPattern.charAt(0)) {var e = d.ngPattern.match(Dd);if(e) return void d.$set("ngPattern", new RegExp(e[1], e[2]))}a.$watch(d[b], function(a) {d.$set(b, a)})}}}}), d(["src", "srcset", "href"], function(a) {var b = qb("ng-" + a);Jf[b] = function() {return {priority: 99,link: function(c, d, e) {var f = a,g = a;"href" === a && "[object SVGAnimatedString]" === Rd.call(d.prop("href")) && (g = "xlinkHref", e.$attr[g] = "xlink:href", f = null), e.$observe(b, function(b) {if(!b) return void("href" === a && e.$set(g, null));e.$set(g, b), Kd && f && d.prop(f, e[g])})}}}});var Kf = {$addControl: n,$$renameControl: kd,$removeControl: n,$setValidity: n,$setDirty: n,$setPristine: n,$setSubmitted: n},Lf = "ng-submitted";ld.$inject = ["$element", "$attrs", "$scope", "$animate", "$interpolate"];var Mf = function(a) {return ["$timeout", "$parse", function(b, c) {function d(a) {return "" === a ? c('this[""]').assign : c(a).assign || n}return {name: "form",restrict: a ? "EAC" : "E",require: ["form", "^^?form"],controller: ld,compile: function(c, e) {c.addClass(ug).addClass(sg);var f = e.name ? "name" : !(!a || !e.ngForm) && "ngForm";return {pre: function(a, c, e, g) {var h = g[0];if(!("action" in e)) {var i = function(b) {a.$apply(function() {h.$commitViewValue(), h.$setSubmitted()}), b.preventDefault()};ne(c[0], "submit", i), c.on("$destroy", function() {b(function() {oe(c[0], "submit", i)}, 0, !1)})}(g[1] || h.$$parentForm).$addControl(h);var k = f ? d(h.$name) : n;f && (k(a, h), e.$observe(f, function(b) {h.$name !== b && (k(a, void 0), h.$$parentForm.$$renameControl(h, b), (k = d(h.$name))(a, h))})), c.on("$destroy", function() {h.$$parentForm.$removeControl(h), k(a, void 0), j(h, Kf)})}}}}}]},Nf = Mf(),Of = Mf(!0),Pf = /^\d{4,}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d\.\d+(?:[+-][0-2]\d:[0-5]\d|Z)$/,Qf = /^[a-z][a-z\d.+-]*:\/*(?:[^:@]+(?::[^@]+)?@)?(?:[^\s:\/?#]+|\[[a-f\d:]+\])(?::\d+)?(?:\/[^?#]*)?(?:\?[^#]*)?(?:#.*)?$/i,Rf = /^(?=.{1,254}$)(?=.{1,64}@)[-!#$%&'*+\/0-9=?A-Z^_`a-z{|}~]+(\.[-!#$%&'*+\/0-9=?A-Z^_`a-z{|}~]+)*@[A-Za-z0-9]([A-Za-z0-9-]{0,61}[A-Za-z0-9])?(\.[A-Za-z0-9]([A-Za-z0-9-]{0,61}[A-Za-z0-9])?)*$/,Sf = /^\s*(\-|\+)?(\d+|(\d*(\.\d*)))([eE][+-]?\d+)?\s*$/,Tf = /^(\d{4,})-(\d{2})-(\d{2})$/,Uf = /^(\d{4,})-(\d\d)-(\d\d)T(\d\d):(\d\d)(?::(\d\d)(\.\d{1,3})?)?$/,Vf = /^(\d{4,})-W(\d\d)$/,Wf = /^(\d{4,})-(\d\d)$/,Xf = /^(\d\d):(\d\d)(?::(\d\d)(\.\d{1,3})?)?$/,Yf = "keydown wheel mousedown",Zf = oa();d("date,datetime-local,month,time,week".split(","), function(a) {Zf[a] = !0});var $f = {text: nd,date: rd("date", Tf, qd(Tf, ["yyyy", "MM", "dd"]), "yyyy-MM-dd"),"datetime-local": rd("datetimelocal", Uf, qd(Uf, ["yyyy", "MM", "dd", "HH", "mm", "ss", "sss"]), "yyyy-MM-ddTHH:mm:ss.sss"),time: rd("time", Xf, qd(Xf, ["HH", "mm", "ss", "sss"]), "HH:mm:ss.sss"),week: rd("week", Vf, pd, "yyyy-Www"),month: rd("month", Wf, qd(Wf, ["yyyy", "MM"]), "yyyy-MM"),number: td,url: ud,email: vd,radio: wd,checkbox: yd,hidden: n,button: n,submit: n,reset: n,file: n},_f = ["$browser", "$sniffer", "$filter", "$parse", function(a, b, c, d) {return {restrict: "E",require: ["?ngModel"],link: {pre: function(e, f, g, h) {h[0] && ($f[Gd(g.type)] || $f.text)(e, f, g, h[0], b, a, c, d)}}}}],ag = /^(true|false|\d+)$/,bg = function() {return {restrict: "A",priority: 100,compile: function(a, b) {return ag.test(b.ngValue) ? function(a, b, c) {c.$set("value", a.$eval(c.ngValue))} : function(a, b, c) {a.$watch(c.ngValue, function(a) {c.$set("value", a)})}}}},cg = ["$compile", function(a) {return {restrict: "AC",compile: function(b) {return a.$$addBindingClass(b),function(b, c, d) {a.$$addBindingInfo(c, d.ngBind), c = c[0], b.$watch(d.ngBind, function(a) {c.textContent = r(a) ? "" : a})}}}}],dg = ["$interpolate", "$compile", function(a, b) {return {compile: function(c) {return b.$$addBindingClass(c),function(c, d, e) {var f = a(d.attr(e.$attr.ngBindTemplate));b.$$addBindingInfo(d, f.expressions), d = d[0], e.$observe("ngBindTemplate", function(a) {d.textContent = r(a) ? "" : a})}}}}],eg = ["$sce", "$parse", "$compile", function(a, b, c) {return {restrict: "A",compile: function(d, e) {var f = b(e.ngBindHtml),g = b(e.ngBindHtml, function(b) {return a.valueOf(b)});return c.$$addBindingClass(d),function(b, d, e) {c.$$addBindingInfo(d, e.ngBindHtml), b.$watch(g, function() {var c = f(b);d.html(a.getTrustedHtml(c) || "")})}}}}],fg = p({restrict: "A",require: "ngModel",link: function(a, b, c, d) {d.$viewChangeListeners.push(function() {a.$eval(c.ngChange)})}}),gg = zd("", !0),hg = zd("Odd", 0),ig = zd("Even", 1),jg = jd({compile: function(a, b) {b.$set("ngCloak", void 0), a.removeClass("ng-cloak")}}),kg = [function() {return {restrict: "A",scope: !0,controller: "@",priority: 500}}],lg = {},mg = {blur: !0,focus: !0};d("click dblclick mousedown mouseup mouseover mouseout mousemove mouseenter mouseleave keydown keyup keypress submit focus blur copy cut paste".split(" "), function(a) {var b = qb("ng-" + a);lg[b] = ["$parse", "$rootScope", function(c, d) {return {restrict: "A",compile: function(e, f) {var g = c(f[b], null, !0);return function(b, c) {c.on(a, function(c) {var e = function() {g(b, {$event: c})};mg[a] && d.$$phase ? b.$evalAsync(e) : b.$apply(e)})}}}}]});var ng = ["$animate", "$compile", function(a, b) {return {multiElement: !0,transclude: "element",priority: 600,terminal: !0,restrict: "A",$$tlb: !0,link: function(c, d, e, f, g) {var h, i, j;c.$watch(e.ngIf, function(c) {c ? i || g(function(c, f) {i = f, c[c.length++] = b.$$createComment("end ngIf", e.ngIf), h = {clone: c}, a.enter(c, d.parent(), d)}) : (j && (j.remove(), j = null), i && (i.$destroy(), i = null), h && (j = na(h.clone), a.leave(j).then(function() {j = null}), h = null))})}}}],og = ["$templateRequest", "$anchorScroll", "$animate", function(a, b, c) {return {restrict: "ECA",priority: 400,terminal: !0,transclude: "element",controller: Ud.noop,compile: function(d, e) {var f = e.ngInclude || e.src,g = e.onload || "",h = e.autoscroll;return function(d, e, i, j, k) {var l, m, n, o = 0,p = function() {m && (m.remove(), m = null), l && (l.$destroy(), l = null), n && (c.leave(n).then(function() {m = null}), m = n, n = null)};d.$watch(f, function(f) {var i = function() {!s(h) || h && !d.$eval(h) || b()},m = ++o;f ? (a(f, !0).then(function(a) {if(!d.$$destroyed && m === o) {var b = d.$new();j.template = a;var h = k(b, function(a) {p(), c.enter(a, null, e).then(i)});l = b, n = h, l.$emit("$includeContentLoaded", f), d.$eval(g)}}, function() {d.$$destroyed || m === o && (p(), d.$emit("$includeContentError", f))}), d.$emit("$includeContentRequested", f)) : (p(), j.template = null)})}}}}],pg = ["$compile", function(b) {return {restrict: "ECA",priority: -400,require: "ngInclude",link: function(c, d, e, f) {if(Rd.call(d[0]).match(/SVG/)) return d.empty(), void b(Aa(f.template, a.document).childNodes)(c, function(a) {d.append(a)}, {futureParentElement: d});d.html(f.template), b(d.contents())(c)}}}],qg = jd({priority: 450,compile: function() {return {pre: function(a, b, c) {a.$eval(c.ngInit)}}}}),rg = function() {return {restrict: "A",priority: 100,require: "ngModel",link: function(a, b, c, e) {var f = b.attr(c.$attr.ngList) || ", ",g = "false" !== c.ngTrim,h = g ? Yd(f) : f,i = function(a) {if(!r(a)) {var b = [];return a && d(a.split(h), function(a) {a && b.push(g ? Yd(a) : a)}), b}};e.$parsers.push(i), e.$formatters.push(function(a) {if(Wd(a)) return a.join(f)}), e.$isEmpty = function(a) {return !a || !a.length}}}},sg = "ng-valid",tg = "ng-invalid",ug = "ng-pristine",vg = "ng-dirty",wg = "ng-untouched",xg = "ng-touched",yg = "ng-pending",zg = "ng-empty",Ag = "ng-not-empty",Bg = b("ngModel"),Cg = ["$scope", "$exceptionHandler", "$attrs", "$element", "$parse", "$animate", "$timeout", "$rootScope", "$q", "$interpolate", function(a, b, c, e, f, g, h, i, j, k) {this.$viewValue = Number.NaN, this.$modelValue = Number.NaN, this.$$rawModelValue = void 0, this.$validators = {}, this.$asyncValidators = {}, this.$parsers = [], this.$formatters = [], this.$viewChangeListeners = [], this.$untouched = !0, this.$touched = !1, this.$pristine = !0, this.$dirty = !1, this.$valid = !0, this.$invalid = !1, this.$error = {}, this.$$success = {}, this.$pending = void 0, this.$name = k(c.name || "", !1)(a), this.$$parentForm = Kf;var l, m = f(c.ngModel),o = m.assign,p = m,q = o,t = null,u = this;this.$$setOptions = function(a) {if(u.$options = a, a && a.getterSetter) {var b = f(c.ngModel + "()"),d = f(c.ngModel + "($$$p)");p = function(a) {var c = m(a);return y(c) && (c = b(a)), c}, q = function(a, b) {y(m(a)) ? d(a, {$$$p: b}) : o(a, b)}} else if(!m.assign) throw Bg("nonassign", "Expression '{0}' is non-assignable. Element: {1}", c.ngModel, Y(e))}, this.$render = n, this.$isEmpty = function(a) {return r(a) || "" === a || null === a || a !== a}, this.$$updateEmptyClasses = function(a) {u.$isEmpty(a) ? (g.removeClass(e, Ag), g.addClass(e, zg)) : (g.removeClass(e, zg), g.addClass(e, Ag))};var v = 0;Ad({ctrl: this,$element: e,set: function(a, b) {a[b] = !0},unset: function(a, b) {delete a[b]},$animate: g}), this.$setPristine = function() {u.$dirty = !1, u.$pristine = !0, g.removeClass(e, vg), g.addClass(e, ug)}, this.$setDirty = function() {u.$dirty = !0, u.$pristine = !1, g.removeClass(e, ug), g.addClass(e, vg), u.$$parentForm.$setDirty()}, this.$setUntouched = function() {u.$touched = !1, u.$untouched = !0, g.setClass(e, wg, xg)}, this.$setTouched = function() {u.$touched = !0, u.$untouched = !1, g.setClass(e, xg, wg)}, this.$rollbackViewValue = function() {h.cancel(t), u.$viewValue = u.$$lastCommittedViewValue, u.$render()}, this.$validate = function() {if(!w(u.$modelValue) || !isNaN(u.$modelValue)) {var a = u.$$lastCommittedViewValue,b = u.$$rawModelValue,c = u.$valid,d = u.$modelValue,e = u.$options && u.$options.allowInvalid;u.$$runValidators(b, a, function(a) {e || c === a || (u.$modelValue = a ? b : void 0, u.$modelValue !== d && u.$$writeModelToScope())})}}, this.$$runValidators = function(a, b, c) {function e() {var a = u.$$parserName || "parse";return r(l) ? (h(a, null), !0) : (l || (d(u.$validators, function(a, b) {h(b, null)}), d(u.$asyncValidators, function(a, b) {h(b, null)})), h(a, l), l)}function f() {var c = !0;return d(u.$validators, function(d, e) {var f = d(a, b);c = c && f, h(e, f)}), !!c || (d(u.$asyncValidators, function(a, b) {h(b, null)}), !1)}function g() {var c = [],e = !0;d(u.$asyncValidators, function(d, f) {var g = d(a, b);if(!G(g)) throw Bg("nopromise", "Expected asynchronous validator to return a promise but got '{0}' instead.", g);h(f, void 0), c.push(g.then(function() {h(f, !0)}, function() {e = !1, h(f, !1)}))}), c.length ? j.all(c).then(function() {i(e)}, n) : i(!0)}function h(a, b) {k === v && u.$setValidity(a, b)}function i(a) {k === v && c(a)}v++;var k = v;return e() && f() ? void g() : void i(!1)}, this.$commitViewValue = function() {var a = u.$viewValue;h.cancel(t), (u.$$lastCommittedViewValue !== a || "" === a && u.$$hasNativeValidators) && (u.$$updateEmptyClasses(a), u.$$lastCommittedViewValue = a, u.$pristine && this.$setDirty(), this.$$parseAndValidate())}, this.$$parseAndValidate = function() {function b() {u.$modelValue !== f && u.$$writeModelToScope()}var c = u.$$lastCommittedViewValue,d = c;if(l = !r(d) || void 0)for(var e = 0; e < u.$parsers.length; e++)if(d = u.$parsers[e](d), r(d)) {l = !1;break}w(u.$modelValue) && isNaN(u.$modelValue) && (u.$modelValue = p(a));var f = u.$modelValue,g = u.$options && u.$options.allowInvalid;u.$$rawModelValue = d, g && (u.$modelValue = d, b()), u.$$runValidators(d, u.$$lastCommittedViewValue, function(a) {g || (u.$modelValue = a ? d : void 0, b())})}, this.$$writeModelToScope = function() {q(a, u.$modelValue), d(u.$viewChangeListeners, function(a) {try {a()} catch(a) {b(a)}})}, this.$setViewValue = function(a, b) {u.$viewValue = a, u.$options && !u.$options.updateOnDefault || u.$$debounceViewValueCommit(b)}, this.$$debounceViewValueCommit = function(b) {var c, d = 0,e = u.$options;e && s(e.debounce) && (c = e.debounce, w(c) ? d = c : w(c[b]) ? d = c[b] : w(c.default) && (d = c.default)), h.cancel(t), d ? t = h(function() {u.$commitViewValue()}, d) : i.$$phase ? u.$commitViewValue() : a.$apply(function() {u.$commitViewValue()})}, a.$watch(function() {var b = p(a);if(b !== u.$modelValue && (u.$modelValue === u.$modelValue || b === b)) {u.$modelValue = u.$$rawModelValue = b, l = void 0;for(var c = u.$formatters, d = c.length, e = b; d--;) e = c[d](e);u.$viewValue !== e && (u.$$updateEmptyClasses(e), u.$viewValue = u.$$lastCommittedViewValue = e, u.$render(), u.$$runValidators(b, e, n))}return b})}],Dg = ["$rootScope", function(a) {return {restrict: "A",require: ["ngModel", "^?form", "^?ngModelOptions"],controller: Cg,priority: 1,compile: function(b) {return b.addClass(ug).addClass(wg).addClass(sg), {pre: function(a, b, c, d) {var e = d[0],f = d[1] || e.$$parentForm;e.$$setOptions(d[2] && d[2].$options), f.$addControl(e), c.$observe("name", function(a) {e.$name !== a && e.$$parentForm.$$renameControl(e, a)}), a.$on("$destroy", function() {e.$$parentForm.$removeControl(e)})},post: function(b, c, d, e) {var f = e[0];f.$options && f.$options.updateOn && c.on(f.$options.updateOn, function(a) {f.$$debounceViewValueCommit(a && a.type)}), c.on("blur", function() {f.$touched || (a.$$phase ? b.$evalAsync(f.$setTouched) : b.$apply(f.$setTouched))})}}}}}],Eg = /(\s+|^)default(\s+|$)/,Fg = function() {return {restrict: "A",controller: ["$scope", "$attrs", function(a, b) {var c = this;this.$options = N(a.$eval(b.ngModelOptions)), s(this.$options.updateOn) ? (this.$options.updateOnDefault = !1, this.$options.updateOn = Yd(this.$options.updateOn.replace(Eg, function() {return c.$options.updateOnDefault = !0, " "}))) : this.$options.updateOnDefault = !0}]}},Gg = jd({terminal: !0,priority: 1e3}),Hg = b("ngOptions"),Ig = /^\s*([\s\S]+?)(?:\s+as\s+([\s\S]+?))?(?:\s+group\s+by\s+([\s\S]+?))?(?:\s+disable\s+when\s+([\s\S]+?))?\s+for\s+(?:([\$\w][\$\w]*)|(?:\(\s*([\$\w][\$\w]*)\s*,\s*([\$\w][\$\w]*)\s*\)))\s+in\s+([\s\S]+?)(?:\s+track\s+by\s+([\s\S]+?))?$/,Jg = ["$compile", "$document", "$parse", function(b, e, f) {function g(a, b, d) {function e(a, b, c, d, e) {this.selectValue = a, this.viewValue = b, this.label = c, this.group = d, this.disabled = e}function g(a) {var b;if(!j && c(a)) b = a;else {b = [];for(var d in a) a.hasOwnProperty(d) && "$" !== d.charAt(0) && b.push(d)}return b}var h = a.match(Ig);if(!h) throw Hg("iexp", "Expected expression in form of '_select_ (as _label_)? for (_key_,)?_value_ in _collection_' but got '{0}'. Element: {1}", a, Y(b));var i = h[5] || h[7],j = h[6],k = / as /.test(h[0]) && h[1],l = h[9],m = f(h[2] ? h[1] : i),n = k && f(k),o = n || m,p = l && f(l),q = l ? function(a, b) {return p(d, b)} : function(a) {return Za(a)},r = function(a, b) {return q(a, x(a, b))},s = f(h[2] || h[1]),t = f(h[3] || ""),u = f(h[4] || ""),v = f(h[8]),w = {},x = j ? function(a, b) {return w[j] = b, w[i] = a, w} : function(a) {return w[i] = a, w};return {trackBy: l,getTrackByValue: r,getWatchables: f(v, function(a) {var b = [];a = a || [];for(var c = g(a), e = c.length, f = 0; f < e; f++) {var i = a === c ? f : c[f],j = a[i],k = x(j, i),l = q(j, k);if(b.push(l), h[2] || h[1]) {var m = s(d, k);b.push(m)}if(h[4]) {var n = u(d, k);b.push(n)}}return b}),getOptions: function() {for(var a = [], b = {}, c = v(d) || [], f = g(c), h = f.length, i = 0; i < h; i++) {var j = c === f ? i : f[i],k = c[j],m = x(k, j),n = o(d, m),p = q(n, m),w = s(d, m),y = t(d, m),z = u(d, m),A = new e(p, n, w, y, z);a.push(A), b[p] = A}return {items: a,selectValueMap: b,getOptionFromViewValue: function(a) {return b[r(a)]},getViewValueFromOption: function(a) {return l ? Ud.copy(a.viewValue) : a.viewValue}}}}}function h(a, c, f, h) {function k(a, b) {var c = i.cloneNode(!1);b.appendChild(c), l(a, c)}function l(a, b) {a.element = b, b.disabled = a.disabled, a.label !== b.label && (b.label = a.label, b.textContent = a.label), a.value !== b.value && (b.value = a.selectValue)}function m() {var a = x && o.readValue();if(x)for(var b = x.items.length - 1; b >= 0; b--) {var d = x.items[b];Ra(s(d.group) ? d.element.parentNode : d.element)}x = y.getOptions();var e = {};if(v && c.prepend(n), x.items.forEach(function(a) {var b;s(a.group) ? (b = e[a.group], b || (b = j.cloneNode(!1), z.appendChild(b), b.label = null === a.group ? "null" : a.group, e[a.group] = b), k(a, b)) : k(a, z)}), c[0].appendChild(z), p.$render(), !p.$isEmpty(a)) {var f = o.readValue();(y.trackBy || q ? O(a, f) : a === f) || (p.$setViewValue(f), p.$render())}}for(var n, o = h[0], p = h[1], q = f.multiple, r = 0, t = c.children(), u = t.length; r < u; r++)if("" === t[r].value) {n = t.eq(r);break}var v = !!n,w = Ld(i.cloneNode(!1));w.val("?");var x, y = g(f.ngOptions, c, a),z = e[0].createDocumentFragment(),A = function() {v || c.prepend(n), c.val(""), n.prop("selected", !0), n.attr("selected", !0)},B = function() {v || n.remove()},C = function() {c.prepend(w), c.val("?"), w.prop("selected", !0), w.attr("selected", !0)},D = function() {w.remove()};q ? (p.$isEmpty = function(a) {return !a || 0 === a.length}, o.writeValue = function(a) {x.items.forEach(function(a) {a.element.selected = !1}), a && a.forEach(function(a) {var b = x.getOptionFromViewValue(a);b && (b.element.selected = !0)})}, o.readValue = function() {var a = c.val() || [],b = [];return d(a, function(a) {var c = x.selectValueMap[a];c && !c.disabled && b.push(x.getViewValueFromOption(c))}), b}, y.trackBy && a.$watchCollection(function() {if(Wd(p.$viewValue)) return p.$viewValue.map(function(a) {return y.getTrackByValue(a)})}, function() {p.$render()})) : (o.writeValue = function(a) {var b = x.getOptionFromViewValue(a);b ? (c[0].value !== b.selectValue && (D(), B(), c[0].value = b.selectValue, b.element.selected = !0), b.element.setAttribute("selected", "selected")) : null === a || v ? (D(), A()) : (B(), C())}, o.readValue = function() {var a = x.selectValueMap[c.val()];return a && !a.disabled ? (B(), D(), x.getViewValueFromOption(a)) : null}, y.trackBy && a.$watch(function() {return y.getTrackByValue(p.$viewValue)}, function() {p.$render()})), v ? (n.remove(), b(n)(a), n.removeClass("ng-scope")) : n = Ld(i.cloneNode(!1)), c.empty(), m(), a.$watchCollection(y.getWatchables, m)}var i = a.document.createElement("option"),j = a.document.createElement("optgroup");return {restrict: "A",terminal: !0,require: ["select", "ngModel"],link: {pre: function(a, b, c, d) {d[0].registerOption = n},post: h}}}],Kg = ["$locale", "$interpolate", "$log", function(a, b, c) {var e = /{}/g,f = /^when(Minus)?(.+)$/;return {link: function(g, h, i) {function j(a) {h.text(a || "")}var k, l = i.count,m = i.$attr.when && h.attr(i.$attr.when),o = i.offset || 0,p = g.$eval(m) || {},q = {},s = b.startSymbol(),t = b.endSymbol(),u = s + l + "-" + o + t,v = Ud.noop;d(i, function(a, b) {var c = f.exec(b);if(c) {p[(c[1] ? "-" : "") + Gd(c[2])] = h.attr(i.$attr[b])}}), d(p, function(a, c) {q[c] = b(a.replace(e, u))}), g.$watch(l, function(b) {var d = parseFloat(b),e = isNaN(d);if(e || d in p || (d = a.pluralCat(d - o)), d !== k && !(e && w(k) && isNaN(k))) {v();var f = q[d];r(f) ? (null != b && c.debug("ngPluralize: no rule defined for '" + d + "' in " + m), v = n, j()) : v = g.$watch(f, j), k = d}})}}}],Lg = ["$parse", "$animate", "$compile", function(a, e, f) {var g = "$$NG_REMOVED",h = b("ngRepeat"),i = function(a, b, c, d, e, f, g) {a[c] = d, e && (a[e] = f), a.$index = b, a.$first = 0 === b, a.$last = b === g - 1, a.$middle = !(a.$first || a.$last), a.$odd = !(a.$even = 0 == (1 & b))},j = function(a) {return a.clone[0]},k = function(a) {return a.clone[a.clone.length - 1]};return {restrict: "A",multiElement: !0,transclude: "element",priority: 1e3,terminal: !0,$$tlb: !0,compile: function(b, l) {var m = l.ngRepeat,n = f.$$createComment("end ngRepeat", m),o = m.match(/^\s*([\s\S]+?)\s+in\s+([\s\S]+?)(?:\s+as\s+([\s\S]+?))?(?:\s+track\s+by\s+([\s\S]+?))?\s*$/);if(!o) throw h("iexp", "Expected expression in form of '_item_ in _collection_[ track by _id_]' but got '{0}'.", m);var p = o[1],q = o[2],r = o[3],s = o[4];if(!(o = p.match(/^(?:(\s*[\$\w]+)|\(\s*([\$\w]+)\s*,\s*([\$\w]+)\s*\))$/))) throw h("iidexp", "'_item_' in '_item_ in _collection_' should be an identifier or '(_key_, _value_)' expression, but got '{0}'.", p);var t = o[3] || o[1],u = o[2];if(r && (!/^[$a-zA-Z_][$a-zA-Z0-9_]*$/.test(r) || /^(null|undefined|this|\$index|\$first|\$middle|\$last|\$even|\$odd|\$parent|\$root|\$id)$/.test(r))) throw h("badident", "alias '{0}' is invalid --- must be a valid JS identifier which is not a reserved name.", r);var v, w, x, y, z = {$id: Za};return s ? v = a(s) : (x = function(a, b) {return Za(b)}, y = function(a) {return a}),function(a, b, f, l, o) {v && (w = function(b, c, d) {return u && (z[u] = b), z[t] = c, z.$index = d, v(a, z)});var p = oa();a.$watchCollection(q, function(f) {var l, q, s, v, z, A, B, C, D, E, F, G, H = b[0],I = oa();if(r && (a[r] = f), c(f)) D = f, C = w || x;else {C = w || y, D = [];for(var J in f) Fd.call(f, J) && "$" !== J.charAt(0) && D.push(J)}for(v = D.length, F = new Array(v), l = 0; l < v; l++)if(z = f === D ? l : D[l], A = f[z], B = C(z, A, l), p[B]) E = p[B], delete p[B], I[B] = E, F[l] = E;else {if(I[B]) throw d(F, function(a) {a && a.scope && (p[a.id] = a)}), h("dupes", "Duplicates in a repeater are not allowed. Use 'track by' expression to specify unique keys. Repeater: {0}, Duplicate key: {1}, Duplicate value: {2}", m, B, A);F[l] = {id: B,scope: void 0,clone: void 0}, I[B] = !0}for(var K in p) {if(E = p[K], G = na(E.clone), e.leave(G), G[0].parentNode)for(l = 0, q = G.length; l < q; l++) G[l][g] = !0;E.scope.$destroy()}for(l = 0; l < v; l++)if(z = f === D ? l : D[l], A = f[z], E = F[l], E.scope) {s = H;do {s = s.nextSibling} while (s && s[g]);j(E) != s && e.move(na(E.clone), null, H), H = k(E), i(E.scope, l, t, A, u, z, v)} else o(function(a, b) {E.scope = b;var c = n.cloneNode(!1);a[a.length++] = c, e.enter(a, null, H), H = c, E.clone = a, I[E.id] = E, i(E.scope, l, t, A, u, z, v)});p = I})}}}}],Mg = "ng-hide",Ng = "ng-hide-animate",Og = ["$animate", function(a) {return {restrict: "A",multiElement: !0,link: function(b, c, d) {b.$watch(d.ngShow, function(b) {a[b ? "removeClass" : "addClass"](c, Mg, {tempClasses: Ng})})}}}],Pg = ["$animate", function(a) {return {restrict: "A",multiElement: !0,link: function(b, c, d) {b.$watch(d.ngHide, function(b) {a[b ? "addClass" : "removeClass"](c, Mg, {tempClasses: Ng})})}}}],Qg = jd(function(a, b, c) {a.$watch(c.ngStyle, function(a, c) {c && a !== c && d(c, function(a, c) {b.css(c, "")}), a && b.css(a)}, !0)}),Rg = ["$animate", "$compile", function(a, b) {return {require: "ngSwitch",controller: ["$scope", function() {this.cases = {}}],link: function(c, e, f, g) {var h = f.ngSwitch || f.on,i = [],j = [],k = [],l = [],m = function(a, b) {return function() {a.splice(b, 1)}};c.$watch(h, function(c) {var e, f;for(e = 0, f = k.length; e < f; ++e) a.cancel(k[e]);for(k.length = 0, e = 0, f = l.length; e < f; ++e) {var h = na(j[e].clone);l[e].$destroy();(k[e] = a.leave(h)).then(m(k, e))}j.length = 0, l.length = 0, (i = g.cases["!" + c] || g.cases["?"]) && d(i, function(c) {c.transclude(function(d, e) {l.push(e);var f = c.element;d[d.length++] = b.$$createComment("end ngSwitchWhen");var g = {clone: d};j.push(g), a.enter(d, f.parent(), f)})})})}}}],Sg = jd({transclude: "element",priority: 1200,require: "^ngSwitch",multiElement: !0,link: function(a, b, c, d, e) {d.cases["!" + c.ngSwitchWhen] = d.cases["!" + c.ngSwitchWhen] || [], d.cases["!" + c.ngSwitchWhen].push({transclude: e,element: b})}}),Tg = jd({transclude: "element",priority: 1200,require: "^ngSwitch",multiElement: !0,link: function(a, b, c, d, e) {d.cases["?"] = d.cases["?"] || [], d.cases["?"].push({transclude: e,element: b})}}),Ug = b("ngTransclude"),Vg = ["$compile", function(a) {return {restrict: "EAC",terminal: !0,compile: function(b) {var c = a(b.contents());return b.empty(),function(a, b, d, e, f) {function g(a, c) {a.length ? b.append(a) : (h(), c.$destroy())}function h() {c(a, function(a) {b.append(a)})}if(!f) throw Ug("orphan", "Illegal use of ngTransclude directive in the template! No parent directive that requires a transclusion found. Element: {0}", Y(b));d.ngTransclude === d.$attr.ngTransclude && (d.ngTransclude = "");var i = d.ngTransclude || d.ngTranscludeSlot;f(g, null, i), i && !f.isSlotFilled(i) && h()}}}}],Wg = ["$templateCache", function(a) {return {restrict: "E",terminal: !0,compile: function(b, c) {if("text/ng-template" == c.type) {var d = c.id,e = b[0].text;a.put(d, e)}}}}],Xg = {$setViewValue: n,$render: n},Yg = ["$element", "$scope", function(b, c) {var d = this,e = new $a;d.ngModelCtrl = Xg, d.unknownOption = Ld(a.document.createElement("option")), d.renderUnknownOption = function(a) {var c = "? " + Za(a) + " ?";d.unknownOption.val(c), b.prepend(d.unknownOption), b.val(c)}, c.$on("$destroy", function() {d.renderUnknownOption = n}), d.removeUnknownOption = function() {d.unknownOption.parent() && d.unknownOption.remove()}, d.readValue = function() {return d.removeUnknownOption(), b.val()}, d.writeValue = function(a) {d.hasOption(a) ? (d.removeUnknownOption(), b.val(a), "" === a && d.emptyOption.prop("selected", !0)) : null == a && d.emptyOption ? (d.removeUnknownOption(), b.val("")) : d.renderUnknownOption(a)}, d.addOption = function(a, b) {if(b[0].nodeType !== he) {la(a, '"option value"'), "" === a && (d.emptyOption = b);var c = e.get(a) || 0;e.put(a, c + 1), d.ngModelCtrl.$render(), Cd(b)}}, d.removeOption = function(a) {var b = e.get(a);b && (1 === b ? (e.remove(a), "" === a && (d.emptyOption = void 0)) : e.put(a, b - 1))}, d.hasOption = function(a) {return !!e.get(a)}, d.registerOption = function(a, b, c, e, f) {if(e) {var g;c.$observe("value", function(a) {s(g) && d.removeOption(g), g = a, d.addOption(a, b)})} else f ? a.$watch(f, function(a, e) {c.$set("value", a), e !== a && d.removeOption(e), d.addOption(a, b)}) : d.addOption(c.value, b);b.on("$destroy", function() {d.removeOption(c.value), d.ngModelCtrl.$render()})}}],Zg = function() {function a(a, b, c, e) {var f = e[1];if(f) {var g = e[0];if(g.ngModelCtrl = f, b.on("change", function() {a.$apply(function() {f.$setViewValue(g.readValue())})}), c.multiple) {g.readValue = function() {var a = [];return d(b.find("option"), function(b) {b.selected && a.push(b.value)}), a}, g.writeValue = function(a) {var c = new $a(a);d(b.find("option"), function(a) {a.selected = s(c.get(a.value))})};var h, i = NaN;a.$watch(function() {i !== f.$viewValue || O(h, f.$viewValue) || (h = qa(f.$viewValue), f.$render()), i = f.$viewValue}), f.$isEmpty = function(a) {return !a || 0 === a.length}}}}function b(a, b, c, d) {var e = d[1];if(e) {var f = d[0];e.$render = function() {f.writeValue(e.$viewValue)}}}return {restrict: "E",require: ["select", "?ngModel"],controller: Yg,priority: 1,link: {pre: a,post: b}}},$g = ["$interpolate", function(a) {return {restrict: "E",priority: 100,compile: function(b, c) {if(s(c.value)) var d = a(c.value, !0);else {var e = a(b.text(), !0);e || c.$set("value", b.text())}return function(a, b, c) {var f = "$selectController",g = b.parent(),h = g.data(f) || g.parent().data(f);h && h.registerOption(a, b, c, d, e)}}}}],_g = p({restrict: "E",terminal: !1}),ah = function() {return {restrict: "A",require: "?ngModel",link: function(a, b, c, d) {d && (c.required = !0, d.$validators.required = function(a, b) {return !c.required || !d.$isEmpty(b)}, c.$observe("required", function() {d.$validate()}))}}},bh = function() {return {restrict: "A",require: "?ngModel",link: function(a, c, d, e) {if(e) {var f, g = d.ngPattern || d.pattern;d.$observe("pattern", function(a) {if(v(a) && a.length > 0 && (a = new RegExp("^" + a + "$")), a && !a.test) throw b("ngPattern")("noregexp", "Expected {0} to be a RegExp but was {1}. Element: {2}", g, a, Y(c));f = a || void 0, e.$validate()}), e.$validators.pattern = function(a, b) {return e.$isEmpty(b) || r(f) || f.test(b)}}}}},ch = function() {return {restrict: "A",require: "?ngModel",link: function(a, b, c, d) {if(d) {var e = -1;c.$observe("maxlength", function(a) {var b = l(a);e = isNaN(b) ? -1 : b, d.$validate()}), d.$validators.maxlength = function(a, b) {return e < 0 || d.$isEmpty(b) || b.length <= e}}}}},dh = function() {return {restrict: "A",require: "?ngModel",link: function(a, b, c, d) {if(d) {var e = 0;c.$observe("minlength", function(a) {e = l(a) || 0, d.$validate()}), d.$validators.minlength = function(a, b) {return d.$isEmpty(b) || b.length >= e}}}}};if(a.angular.bootstrap) return void(a.console && console.log("WARNING: Tried to load angular more than once."));ia(), ta(Ud), Ud.module("ngLocale", [], ["$provide", function(a) {function b(a) {a += "";var b = a.indexOf(".");return b == -1 ? 0 : a.length - b - 1}function c(a, c) {var d = c;void 0 === d && (d = Math.min(b(a), 3));var e = Math.pow(10, d);return {v: d,f: (a * e | 0) % e}}var d = {ZERO: "zero",ONE: "one",TWO: "two",FEW: "few",MANY: "many",OTHER: "other"};a.value("$locale", {DATETIME_FORMATS: {AMPMS: ["AM", "PM"],DAY: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"],ERANAMES: ["Before Christ", "Anno Domini"],ERAS: ["BC", "AD"],FIRSTDAYOFWEEK: 6,MONTH: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"],SHORTDAY: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"],SHORTMONTH: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"],STANDALONEMONTH: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"],WEEKENDRANGE: [5, 6],fullDate: "EEEE, MMMM d, y",longDate: "MMMM d, y",medium: "MMM d, y h:mm:ss a",mediumDate: "MMM d, y",mediumTime: "h:mm:ss a",short: "M/d/yy h:mm a",shortDate: "M/d/yy",shortTime: "h:mm a"},NUMBER_FORMATS: {CURRENCY_SYM: "$",DECIMAL_SEP: ".",GROUP_SEP: ",",PATTERNS: [{gSize: 3,lgSize: 3,maxFrac: 3,minFrac: 0,minInt: 1,negPre: "-",negSuf: "",posPre: "",posSuf: ""}, {gSize: 3,lgSize: 3,maxFrac: 2,minFrac: 2,minInt: 1,negPre: "-¤",negSuf: "",posPre: "¤",posSuf: ""}]},id: "en-us",localeID: "en_US",pluralCat: function(a, b) {var e = 0 | a,f = c(a, b);return 1 == e && 0 == f.v ? d.ONE : d.OTHER}})}]), Ld(a.document).ready(function() {da(a.document, ea)})}(window), !window.angular.$$csp().noInlineStyle && window.angular.element(document.head).prepend('

'),function(a, b) {"use strict";function c(a, b, c) {if(!a) throw oa("areq", "Argument '{0}' is {1}", b || "?", c || "required");return a}function d(a, b) {return a || b ? a ? b ? (W(a) && (a = a.join(" ")), W(b) && (b = b.join(" ")), a + " " + b) : a : b : ""}function e(a) {var b = {};return a && (a.to || a.from) && (b.to = a.to, b.from = a.from), b}function f(a, b, c) {var d = "";return a = W(a) ? a : a && _(a) && a.length ? a.split(/\s+/) : [], V(a, function(a, e) {a && a.length > 0 && (d += e > 0 ? " " : "", d += c ? b + a : a + b)}), d}function g(a, b) {var c = a.indexOf(b);b >= 0 && a.splice(c, 1)}function h(a) {if(a instanceof ba) switch(a.length) {case 0:return a;case 1:if(a[0].nodeType === L) return a;break;default:return ba(i(a))}if(a.nodeType === L) return ba(a)}function i(a) {if(!a[0]) return a;for(var b = 0; b < a.length; b++) {var c = a[b];if(c.nodeType == L) return c}}function j(a, b, c) {V(b, function(b) {a.addClass(b, c)})}function k(a, b, c) {V(b, function(b) {a.removeClass(b, c)})}function l(a) {return function(b, c) {c.addClass && (j(a, b, c.addClass), c.addClass = null), c.removeClass && (k(a, b, c.removeClass), c.removeClass = null)}}function m(a) {if(a = a || {}, !a.$$prepared) {var b = a.domOperation || ca;a.domOperation = function() {a.$$domOperationFired = !0, b(), b = ca}, a.$$prepared = !0}return a}function n(a, b) {o(a, b), p(a, b)}function o(a, b) {b.from && (a.css(b.from), b.from = null)}function p(a, b) {b.to && (a.css(b.to), b.to = null)}function q(a, b, c) {var d = b.options || {},e = c.options || {},f = (d.addClass || "") + " " + (e.addClass || ""),g = (d.removeClass || "") + " " + (e.removeClass || ""),h = r(a.attr("class"), f, g);e.preparationClasses && (d.preparationClasses = y(e.preparationClasses, d.preparationClasses), delete e.preparationClasses);var i = d.domOperation !== ca ? d.domOperation : null;return U(d, e), i && (d.domOperation = i), h.addClass ? d.addClass = h.addClass : d.addClass = null, h.removeClass ? d.removeClass = h.removeClass : d.removeClass = null, b.addClass = d.addClass, b.removeClass = d.removeClass, d}function r(a, b, c) {function d(a) {_(a) && (a = a.split(" "));var b = {};return V(a, function(a) {a.length && (b[a] = !0)}), b}var e = 1,f = -1,g = {};a = d(a), b = d(b), V(b, function(a, b) {g[b] = e}), c = d(c), V(c, function(a, b) {g[b] = g[b] === e ? null : f});var h = {addClass: "",removeClass: ""};return V(g, function(b, c) {var d, g;b === e ? (d = "addClass", g = !a[c] || a[c + N]) : b === f && (d = "removeClass", g = a[c] || a[c + M]), g && (h[d].length && (h[d] += " "), h[d] += c)}), h}function s(a) {return a instanceof ba ? a[0] : a}function t(a, b, c) {var d = "";b && (d = f(b, O, !0)), c.addClass && (d = y(d, f(c.addClass, M))), c.removeClass && (d = y(d, f(c.removeClass, N))), d.length && (c.preparationClasses = d, a.addClass(d))}function u(a, b) {b.preparationClasses && (a.removeClass(b.preparationClasses), b.preparationClasses = null), b.activeClasses && (a.removeClass(b.activeClasses), b.activeClasses = null)}function v(a, b) {var c = b ? "-" + b + "s" : "";return x(a, [ma, c]), [ma, c]}function w(a, b) {var c = b ? "paused" : "",d = J + ia;return x(a, [d, c]), [d, c]}function x(a, b) {var c = b[0],d = b[1];a.style[c] = d}function y(a, b) {return a ? b ? a + " " + b : a : b}function z(a) {return [la, a + "s"]}function A(a, b) {return [b ? ka : ma, a + "s"]}function B(a, b, c) {var d = Object.create(null),e = a.getComputedStyle(b) || {};return V(c, function(a, b) {var c = e[a];if(c) {var f = c.charAt(0);("-" === f || "+" === f || f >= 0) && (c = C(c)), 0 === c && (c = null), d[b] = c}}), d}function C(a) {var b = 0;return V(a.split(/\s*,\s*/), function(a) {"s" == a.charAt(a.length - 1) && (a = a.substring(0, a.length - 1)), a = parseFloat(a) || 0, b = b ? Math.max(a, b) : a}), b}function D(a) {return 0 === a || null != a}function E(a, b) {var c = H,d = a + "s";return b ? c += da : d += " linear all", [c, d]}function F() {var a = Object.create(null);return {flush: function() {a = Object.create(null)},count: function(b) {var c = a[b];return c ? c.total : 0},get: function(b) {var c = a[b];return c && c.value},put: function(b, c) {a[b] ? a[b].total++ : a[b] = {total: 1,value: c}}}}function G(a, b, c) {V(c, function(c) {a[c] = X(a[c]) ? a[c] : b.style.getPropertyValue(c)})}var H, I, J, K, L = 1,M = "-add",N = "-remove",O = "ng-",P = "-active",Q = "-prepare",R = "ng-animate",S = "$$ngAnimateChildren";void 0 === a.ontransitionend && void 0 !== a.onwebkittransitionend ? ("-webkit-", H = "WebkitTransition", I = "webkitTransitionEnd transitionend") : (H = "transition", I = "transitionend"), void 0 === a.onanimationend && void 0 !== a.onwebkitanimationend ? ("-webkit-", J = "WebkitAnimation", K = "webkitAnimationEnd animationend") : (J = "animation", K = "animationend");var T, U, V, W, X, Y, Z, $, _, aa, ba, ca, da = "Duration",ea = "Property",fa = "Delay",ga = "TimingFunction",ha = "IterationCount",ia = "PlayState",ja = 9999,ka = J + fa,la = J + da,ma = H + fa,na = H + da,oa = b.$$minErr("ng"),pa = ["$$rAF", function(a) {function b(a) {d = d.concat(a), c()}function c() {if(d.length) {for(var b = d.shift(), f = 0; f < b.length; f++) b[f]();e || a(function() {e || c()})}}var d, e;return d = b.queue = [], b.waitUntilQuiet = function(b) {e && e(), e = a(function() {e = null, b(), c()})}, b}],qa = ["$interpolate", function(a) {return {link: function(b, c, d) {function e(a) {a = "on" === a || "true" === a, c.data(S, a)}var f = d.ngAnimateChildren;_(f) && 0 === f.length ? c.data(S, !0) : (e(a(f)(b)), d.$observe("ngAnimateChildren", e))}}}],ra = "$$animateCss",sa = 1e3,ta = 3,ua = 1.5,va = {transitionDuration: na,transitionDelay: ma,transitionProperty: H + ea,animationDuration: la,animationDelay: ka,animationIterationCount: J + ha},wa = {transitionDuration: na,transitionDelay: ma,animationDuration: la,animationDelay: ka},xa = ["$animateProvider", function(a) {var b = F(),c = F();this.$get = ["$window", "$$jqLite", "$$AnimateRunner", "$timeout", "$$forceReflow", "$sniffer", "$$rAFScheduler", "$$animateQueue", function(a, d, h, i, j, k, q, r) {function t(a, b) {var c = "$$ngAnimateParentKey",d = a.parentNode;return(d[c] || (d[c] = ++Q)) + "-" + a.getAttribute("class") + "-" + b}function u(c, d, e, f) {var g = b.get(e);return g || (g = B(a, c, f), "infinite" === g.animationIterationCount && (g.animationIterationCount = 1)), b.put(e, g), g}function y(e, g, h, i) {var j;if(b.count(h) > 0 && !(j = c.get(h))) {var k = f(g, "-stagger");d.addClass(e, k), j = B(a, e, i), j.animationDuration = Math.max(j.animationDuration, 0), j.transitionDuration = Math.max(j.transitionDuration, 0), d.removeClass(e, k), c.put(h, j)}return j || {}}function C(a) {R.push(a), q.waitUntilQuiet(function() {b.flush(), c.flush();for(var a = j(), d = 0; d < R.length; d++) R[d](a);R.length = 0})}function F(a, b, c) {var d = u(a, b, c, va),e = d.animationDelay,f = d.transitionDelay;return d.maxDelay = e && f ? Math.max(e, f) : e || f, d.maxDuration = Math.max(d.animationDuration * d.animationIterationCount, d.transitionDuration), d}var L = l(d),Q = 0,R = [];return function(a, c) {function j() {q()}function l() {q(!0)}function q(b) {if(!(Y || $ && Z)) {Y = !0, Z = !1, S.$$skipPreparationClasses || d.removeClass(a, xa), d.removeClass(a, za), w(X, !1), v(X, !1), V(ka, function(a) {X.style[a[0]] = ""}), L(a, S), n(a, S), Object.keys(U).length && V(U, function(a, b) {a ? X.style.setProperty(b, a) : X.style.removeProperty(b)}), S.onDone && S.onDone(), na && na.length && a.off(na.join(" "), Q);var c = a.data(ra);c && (i.cancel(c[0].timer), a.removeData(ra)), _ && _.complete(!b)}}function u(a) {Ma.blockTransition && v(X, a), Ma.blockKeyframeAnimation && w(X, !!a)}function B() {return _ = new h({end: j,cancel: l}), C(ca), q(), {$$willAnimate: !1,start: function() {return _},end: j}}function Q(a) {a.stopPropagation();var b = a.originalEvent || a,c = b.$manualTimeStamp || Date.now(),d = parseFloat(b.elapsedTime.toFixed(ta));Math.max(c - ia, 0) >= da && d >= fa && ($ = !0, q())}function R() {function b() {if(!Y) {if(u(!1), V(ka, function(a) {var b = a[0],c = a[1];X.style[b] = c}), L(a, S), d.addClass(a, za), Ma.recalculateTimingStyles) {if(ya = X.className + " " + xa, Ba = t(X, ya), Ka = F(X, ya, Ba), La = Ka.maxDelay, ba = Math.max(La, 0), 0 === (fa = Ka.maxDuration)) return void q();Ma.hasTransitions = Ka.transitionDuration > 0, Ma.hasAnimations = Ka.animationDuration > 0}if(Ma.applyAnimationDelay && (La = "boolean" != typeof S.delay && D(S.delay) ? parseFloat(S.delay) : La, ba = Math.max(La, 0), Ka.animationDelay = La, Na = A(La, !0), ka.push(Na), X.style[Na[0]] = Na[1]), da = ba * sa, ha = fa * sa, S.easing) {var b, e = S.easing;Ma.hasTransitions && (b = H + ga, ka.push([b, e]), X.style[b] = e), Ma.hasAnimations && (b = J + ga, ka.push([b, e]), X.style[b] = e)}Ka.transitionDuration && na.push(I), Ka.animationDuration && na.push(K), ia = Date.now();var f = da + ua * ha,g = ia + f,h = a.data(ra) || [],j = !0;if(h.length) {var k = h[0];j = g > k.expectedEndTime, j ? i.cancel(k.timer) : h.push(q)}if(j) {var l = i(c, f, !1);h[0] = {timer: l,expectedEndTime: g}, h.push(q), a.data(ra, h)}na.length && a.on(na.join(" "), Q), S.to && (S.cleanupStyles && G(U, X, Object.keys(S.to)), p(a, S))}}function c() {var b = a.data(ra);if(b) {for(var c = 1; c < b.length; c++) b[c]();a.removeData(ra)}}if(!Y) {if(!X.parentNode) return void q();var e = function(a) {if($) Z && a && (Z = !1, q());else if(Z = !a, Ka.animationDuration) {var b = w(X, Z);Z ? ka.push(b) : g(ka, b)}},f = Ia > 0 && (Ka.transitionDuration && 0 === Ca.transitionDuration || Ka.animationDuration && 0 === Ca.animationDuration) && Math.max(Ca.animationDelay, Ca.transitionDelay);f ? i(b, Math.floor(f * Ia * sa), !1) : b(), aa.resume = function() {e(!0)}, aa.pause = function() {e(!1)}}}var S = c || {};S.$$prepared || (S = m(T(S)));var U = {},X = s(a);if(!X || !X.parentNode || !r.enabled()) return B();var Y, Z, $, _, aa, ba, da, fa, ha, ia, ka = [],la = a.attr("class"),ma = e(S),na = [];if(0 === S.duration || !k.animations && !k.transitions) return B();var oa = S.event && W(S.event) ? S.event.join(" ") : S.event,pa = oa && S.structural,qa = "",va = "";pa ? qa = f(oa, O, !0) : oa && (qa = oa), S.addClass && (va += f(S.addClass, M)), S.removeClass && (va.length && (va += " "), va += f(S.removeClass, N)), S.applyClassesEarly && va.length && L(a, S);var xa = [qa, va].join(" ").trim(),ya = la + " " + xa,za = f(xa, P),Aa = ma.to && Object.keys(ma.to).length > 0;if(!((S.keyframeStyle || "").length > 0 || Aa || xa)) return B();var Ba, Ca;if(S.stagger > 0) {var Da = parseFloat(S.stagger);Ca = {transitionDelay: Da,animationDelay: Da,transitionDuration: 0,animationDuration: 0}} else Ba = t(X, ya), Ca = y(X, xa, Ba, wa);S.$$skipPreparationClasses || d.addClass(a, xa);var Ea;if(S.transitionStyle) {var Fa = [H, S.transitionStyle];x(X, Fa), ka.push(Fa)}if(S.duration >= 0) {Ea = X.style[H].length > 0;var Ga = E(S.duration, Ea);x(X, Ga), ka.push(Ga)}if(S.keyframeStyle) {var Ha = [J, S.keyframeStyle];x(X, Ha), ka.push(Ha)}var Ia = Ca ? S.staggerIndex >= 0 ? S.staggerIndex : b.count(Ba) : 0,Ja = 0 === Ia;Ja && !S.skipBlocking && v(X, ja);var Ka = F(X, ya, Ba),La = Ka.maxDelay;ba = Math.max(La, 0), fa = Ka.maxDuration;var Ma = {};if(Ma.hasTransitions = Ka.transitionDuration > 0, Ma.hasAnimations = Ka.animationDuration > 0, Ma.hasTransitionAll = Ma.hasTransitions && "all" == Ka.transitionProperty, Ma.applyTransitionDuration = Aa && (Ma.hasTransitions && !Ma.hasTransitionAll || Ma.hasAnimations && !Ma.hasTransitions), Ma.applyAnimationDuration = S.duration && Ma.hasAnimations, Ma.applyTransitionDelay = D(S.delay) && (Ma.applyTransitionDuration || Ma.hasTransitions), Ma.applyAnimationDelay = D(S.delay) && Ma.hasAnimations, Ma.recalculateTimingStyles = va.length > 0, (Ma.applyTransitionDuration || Ma.applyAnimationDuration) && (fa = S.duration ? parseFloat(S.duration) : fa, Ma.applyTransitionDuration && (Ma.hasTransitions = !0, Ka.transitionDuration = fa, Ea = X.style[H + ea].length > 0, ka.push(E(fa, Ea))), Ma.applyAnimationDuration && (Ma.hasAnimations = !0, Ka.animationDuration = fa, ka.push(z(fa)))), 0 === fa && !Ma.recalculateTimingStyles) return B();if(null != S.delay) {var Na;"boolean" != typeof S.delay && (Na = parseFloat(S.delay), ba = Math.max(Na, 0)), Ma.applyTransitionDelay && ka.push(A(Na)), Ma.applyAnimationDelay && ka.push(A(Na, !0))}return null == S.duration && Ka.transitionDuration > 0 && (Ma.recalculateTimingStyles = Ma.recalculateTimingStyles || Ja), da = ba * sa, ha = fa * sa, S.skipBlocking || (Ma.blockTransition = Ka.transitionDuration > 0, Ma.blockKeyframeAnimation = Ka.animationDuration > 0 && Ca.animationDelay > 0 && 0 === Ca.animationDuration), S.from && (S.cleanupStyles && G(U, X, Object.keys(S.from)), o(a, S)), Ma.blockTransition || Ma.blockKeyframeAnimation ? u(fa) : S.skipBlocking || v(X, !1), {$$willAnimate: !0,end: j,start: function() {if(!Y) return aa = {end: j,cancel: l,resume: null,pause: null}, _ = new h(aa), C(R), _}}}}]}],ya = ["$$animationProvider", function(a) {function b(a) {return a.parentNode && 11 === a.parentNode.nodeType}a.drivers.push("$$animateCssDriver");var c = "ng-animate-shim",d = "ng-anchor-out";this.$get = ["$animateCss", "$rootScope", "$$AnimateRunner", "$rootElement", "$sniffer", "$$jqLite", "$document", function(a, e, f, g, h, i, j) {function k(a) {return a.replace(/\bng-\S+\b/g, "")}function m(a, b) {return _(a) && (a = a.split(" ")), _(b) && (b = b.split(" ")), a.filter(function(a) {return b.indexOf(a) === -1}).join(" ")}function n(b, e, g) {function h(a) {var b = {},c = s(a).getBoundingClientRect();return V(["width", "height", "top", "left"], function(a) {var d = c[a];switch(a) {case "top":d += q.scrollTop;break;case "left":d += q.scrollLeft}b[a] = Math.floor(d) + "px"}), b}function i() {var b = a(o, {addClass: d,delay: !0,from: h(e)});return b.$$willAnimate ? b : null}function j(a) {return a.attr("class") || ""}function l() {var b = k(j(g)),c = m(b, p),e = m(p, b),f = a(o, {to: h(g),addClass: "ng-anchor-in " + c,removeClass: d + " " + e,delay: !0});return f.$$willAnimate ? f : null}function n() {o.remove(), e.removeClass(c), g.removeClass(c)}var o = ba(s(e).cloneNode(!0)),p = k(j(o));e.addClass(c), g.addClass(c), o.addClass("ng-anchor"), t.append(o);var r, u = i();if(!u && !(r = l())) return n();var v = u || r;return {start: function() {function a() {c && c.end()}var b, c = v.start();return c.done(function() {if(c = null, !r && (r = l())) return c = r.start(), c.done(function() {c = null, n(), b.complete()}), c;n(), b.complete()}), b = new f({end: a,cancel: a})}}}function o(a, b, c, d) {var e = p(a, ca),g = p(b, ca),h = [];if(V(d, function(a) {var b = a.out,d = a.in,e = n(c, b, d);e && h.push(e)}), e || g || 0 !== h.length) return {start: function() {function a() {V(b, function(a) {a.end()})}var b = [];e && b.push(e.start()), g && b.push(g.start()), V(h, function(a) {b.push(a.start())});var c = new f({end: a,cancel: a});return f.all(b, function(a) {c.complete(a)}), c}}}function p(b) {var c = b.element,d = b.options || {};b.structural && (d.event = b.event, d.structural = !0, d.applyClassesEarly = !0, "leave" === b.event && (d.onDone = d.domOperation)), d.preparationClasses && (d.event = y(d.event, d.preparationClasses));var e = a(c, d);return e.$$willAnimate ? e : null}if(!h.animations && !h.transitions) return ca;var q = j[0].body,r = s(g),t = ba(b(r) || q.contains(r) ? r : q);return l(i),function(a) {return a.from && a.to ? o(a.from, a.to, a.classes, a.anchors) : p(a)}}]}],za = ["$animateProvider", function(a) {this.$get = ["$injector", "$$AnimateRunner", "$$jqLite", function(b, c, d) {function e(c) {c = W(c) ? c : c.split(" ");for(var d = [], e = {}, f = 0; f < c.length; f++) {var g = c[f],h = a.$$registeredAnimations[g];h && !e[g] && (d.push(b.get(h)), e[g] = !0)}return d}var f = l(d);return function(a, b, d, g) {function h() {g.domOperation(), f(a, g)}function i() {o = !0, h(), n(a, g)}function j(a, b, d, e, f) {var g;switch(d) {case "animate":g = [b, e.from, e.to, f];break;case "setClass":g = [b, r, s, f];break;case "addClass":g = [b, r, f];break;case "removeClass":g = [b, s, f];break;default:g = [b, f]}g.push(e);var h = a.apply(a, g);if(h)if(Z(h.start) && (h = h.start()), h instanceof c) h.done(f);else if(Z(h)) return h;return ca}function k(a, b, d, e, f) {var g = [];return V(e, function(e) {var h = e[f];h && g.push(function() {var e, f, g = !1,i = function(a) {g || (g = !0, (f || ca)(a), e.complete(!a))};return e = new c({end: function() {i()},cancel: function() {i(!0)}}), f = j(h, a, b, d, function(a) {i(a === !1)}), e})}), g}function l(a, b, d, e, f) {var g = k(a, b, d, e, f);if(0 === g.length) {var h, i;"beforeSetClass" === f ? (h = k(a, "removeClass", d, e, "beforeRemoveClass"), i = k(a, "addClass", d, e, "beforeAddClass")) : "setClass" === f && (h = k(a, "removeClass", d, e, "removeClass"), i = k(a, "addClass", d, e, "addClass")), h && (g = g.concat(h)), i && (g = g.concat(i))}if(0 !== g.length) return function(a) {var b = [];return g.length && V(g, function(a) {b.push(a())}), b.length ? c.all(b, a) : a(),function(a) {V(b, function(b) {a ? b.cancel() : b.end()})}}}var o = !1;3 === arguments.length && $(d) && (g = d, d = null), g = m(g), d || (d = a.attr("class") || "", g.addClass && (d += " " + g.addClass), g.removeClass && (d += " " + g.removeClass));var p, q, r = g.addClass,s = g.removeClass,t = e(d);if(t.length) {var u, v;"leave" == b ? (v = "leave", u = "afterLeave") : (v = "before" + b.charAt(0).toUpperCase() + b.substr(1), u = b), "enter" !== b && "move" !== b && (p = l(a, b, g, t, v)), q = l(a, b, g, t, u)}if(p || q) {var w;return {$$willAnimate: !0,end: function() {return w ? w.end() : (i(), w = new c, w.complete(!0)), w},start: function() {function a(a) {i(a), w.complete(a)}function b(b) {o || ((d || ca)(b), a(b))}if(w) return w;w = new c;var d, e = [];return p && e.push(function(a) {d = p(a)}), e.length ? e.push(function(a) {h(), a(!0)}) : h(), q && e.push(function(a) {d = q(a)}), w.setHost({end: function() {b()},cancel: function() {b(!0)}}), c.chain(e, a), w}}}}}]}],Aa = ["$$animationProvider", function(a) {a.drivers.push("$$animateJsDriver"), this.$get = ["$$animateJs", "$$AnimateRunner", function(a, b) {function c(b) {var c = b.element,d = b.event,e = b.options;return a(c, d, b.classes, e)}return function(a) {if(a.from && a.to) {var d = c(a.from),e = c(a.to);if(!d && !e) return;return {start: function() {function a() {return function() {V(f, function(a) {a.end()})}}function c(a) {g.complete(a)}var f = [];d && f.push(d.start()), e && f.push(e.start()), b.all(f, c);var g = new b({end: a(),cancel: a()});return g}}}return c(a)}}]}],Ba = "data-ng-animate",Ca = "$ngAnimatePin",Da = ["$animateProvider", function(b) {function d(a) {if(!a) return null;var b = a.split(o),c = Object.create(null);return V(b, function(a) {c[a] = !0}), c}function e(a, b) {if(a && b) {var c = d(b);return a.split(o).some(function(a) {return c[a]})}}function f(a, b, c, d) {return p[a].some(function(a) {return a(b, c, d)})}function g(a, b) {var c = (a.addClass || "").length > 0,d = (a.removeClass || "").length > 0;return b ? c && d : c || d}var j = 1,k = 2,o = " ",p = this.rules = {skip: [],cancel: [],join: []};p.join.push(function(a, b, c) {return !b.structural && g(b)}), p.skip.push(function(a, b, c) {return !b.structural && !g(b)}), p.skip.push(function(a, b, c) {return "leave" == c.event && b.structural}), p.skip.push(function(a, b, c) {return c.structural && c.state === k && !b.structural}), p.cancel.push(function(a, b, c) {return c.structural && b.structural}), p.cancel.push(function(a, b, c) {return c.state === k && b.structural}), p.cancel.push(function(a, b, c) {if(c.structural) return !1;var d = b.addClass,f = b.removeClass,g = c.addClass,h = c.removeClass;return !(aa(d) && aa(f) || aa(g) && aa(h)) && (e(d, h) || e(f, g))}), this.$get = ["$$rAF", "$rootScope", "$rootElement", "$document", "$$HashMap", "$$animation", "$$AnimateRunner", "$templateRequest", "$$jqLite", "$$forceReflow", function(d, e, o, p, r, v, w, x, y, z) {function A() {var a = !1;return function(b) {a ? b() : e.$$postDigest(function() {a = !0, b()})}}function B(a, b) {return q(a, b, {})}function C(a, b, c) {var d = s(b),e = s(a),f = [],g = Q[c];return g && V(g, function(a) {da.call(a.node, d) ? f.push(a.callback) : "leave" === c && da.call(a.node, e) && f.push(a.callback)}), f}function D(a, b, c) {var d = i(b);return a.filter(function(a) {return !(a.node === d && (!c || a.callback === c))})}function E(a, b) {"close" !== a || b[0].parentNode || ea.off(b)}function F(a, b, c) {function i(b, c, e, f) {z(function() {var b = C(r, a, c);b.length ? d(function() {V(b, function(b) {b(a, e, f)}), E(e, a)}) : E(e, a)}), b.progress(c, e, f)}function l(b) {u(a, x), ca(a, x), n(a, x), x.domOperation(), y.complete(!b)}var o, r, x = T(c);a = h(a), a && (o = s(a), r = a.parent()), x = m(x);var y = new w,z = A();if(W(x.addClass) && (x.addClass = x.addClass.join(" ")), x.addClass && !_(x.addClass) && (x.addClass = null), W(x.removeClass) && (x.removeClass = x.removeClass.join(" ")), x.removeClass && !_(x.removeClass) && (x.removeClass = null), x.from && !$(x.from) && (x.from = null), x.to && !$(x.to) && (x.to = null), !o) return l(), y;if(!Z([o.className, x.addClass, x.removeClass].join(" "))) return l(), y;var D = ["enter", "move", "leave"].indexOf(b) >= 0,F = p[0].hidden,I = !O || F || N.get(o),L = !I && M.get(o) || {},P = !!L.state;if(I || P && L.state == j || (I = !J(a, r, b)), I) return F && i(y, b, "start"), l(), F && i(y, b, "close"), y;D && G(a);var Q = {structural: D,element: a,event: b,addClass: x.addClass,removeClass: x.removeClass,close: l,options: x,runner: y};if(P) {if(f("skip", a, Q, L)) return L.state === k ? (l(), y) : (q(a, L, Q), L.runner);if(f("cancel", a, Q, L))if(L.state === k) L.runner.end();else {if(!L.structural) return q(a, L, Q), L.runner;L.close()} else {if(f("join", a, Q, L)) {if(L.state !== k) return t(a, D ? b : null, x), b = Q.event = L.event, x = q(a, L, Q), L.runner;B(a, Q)}}} else B(a, Q);var R = Q.structural;if(R || (R = "animate" === Q.event && Object.keys(Q.options.to || {}).length > 0 || g(Q)), !R) return l(), H(a), y;var S = (L.counter || 0) + 1;return Q.counter = S, K(a, j, Q), e.$$postDigest(function() {var c = M.get(o),d = !c;c = c || {};var e = a.parent() || [],f = e.length > 0 && ("animate" === c.event || c.structural || g(c));if(d || c.counter !== S || !f) return d && (ca(a, x), n(a, x)), (d || D && c.event !== b) && (x.domOperation(), y.end()), void(f || H(a));b = !c.structural && g(c, !0) ? "setClass" : c.event, K(a, k);var h = v(a, b, c.options);y.setHost(h), i(y, b, "start", {}), h.done(function(c) {l(!c);var d = M.get(o);d && d.counter === S && H(s(a)), i(y, b, "close", {})})}), y}function G(a) {V(s(a).querySelectorAll("[" + Ba + "]"), function(a) {var b = parseInt(a.getAttribute(Ba)),c = M.get(a);if(c) switch(b) {case k:c.runner.end();case j:M.remove(a)}})}function H(a) {var b = s(a);b.removeAttribute(Ba), M.remove(b)}function I(a, b) {return s(a) === s(b)}function J(a, b, c) {var d, e = ba(p[0].body),f = I(a, e) || "HTML" === a[0].nodeName,g = I(a, o),h = !1,i = N.get(s(a)),j = ba.data(a[0], Ca);for(j && (b = j), b = s(b); b && (g || (g = I(b, o)), b.nodeType === L);) {var k = M.get(b) || {};if(!h) {var l = N.get(b);if(l === !0 && i !== !1) {i = !0;break}l === !1 && (i = !1), h = k.structural}if(aa(d) || d === !0) {var m = ba.data(b, S);X(m) && (d = m)}if(h && d === !1) break;if(f || (f = I(b, e)), f && g) break;b = g || !(j = ba.data(b, Ca)) ? b.parentNode : s(j)}return(!h || d) && i !== !0 && g && f}function K(a, b, c) {c = c || {}, c.state = b;var d = s(a);d.setAttribute(Ba, b);var e = M.get(d),f = e ? U(e, c) : c;M.put(d, f)}var M = new r,N = new r,O = null,P = e.$watch(function() {return 0 === x.totalPendingRequests}, function(a) {a && (P(), e.$$postDigest(function() {e.$$postDigest(function() {null === O && (O = !0)})}))}),Q = Object.create(null),R = b.classNameFilter(),Z = R ? function(a) {return R.test(a)} : function() {return !0},ca = l(y),da = a.Node.prototype.contains || function(a) {return this === a || !!(16 & this.compareDocumentPosition(a))},ea = {on: function(a, b, c) {var d = i(b);Q[a] = Q[a] || [], Q[a].push({node: d,callback: c}), ba(b).on("$destroy", function() {M.get(d) || ea.off(a, b, c)})},off: function(a, b, c) {if(1 !== arguments.length || _(arguments[0])) {var d = Q[a];d && (Q[a] = 1 === arguments.length ? null : D(d, b, c))} else {b = arguments[0];for(var e in Q) Q[e] = D(Q[e], b)}},pin: function(a, b) {c(Y(a), "element", "not an element"), c(Y(b), "parentElement", "not an element"), a.data(Ca, b)},push: function(a, b, c, d) {return c = c || {}, c.domOperation = d, F(a, b, c)},enabled: function(a, b) {var c = arguments.length;if(0 === c) b = !!O;else {if(Y(a)) {var d = s(a);1 === c ? b = !N.get(d) : N.put(d, !b)} else b = O = !!a}return b}};return ea}]}],Ea = ["$animateProvider", function(a) {function b(a, b) {a.data(h, b)}function c(a) {a.removeData(h)}function e(a) {return a.data(h)}var f = "ng-animate-ref",g = this.drivers = [],h = "$$animationRunner";this.$get = ["$$jqLite", "$rootScope", "$injector", "$$AnimateRunner", "$$HashMap", "$$rAFScheduler", function(a, h, i, j, k, o) {function p(a) {function b(a) {if(a.processed) return a;a.processed = !0;var c = a.domNode,d = c.parentNode;f.put(c, a);for(var g; d;) {if(g = f.get(d)) {g.processed || (g = b(g));break}d = d.parentNode}return(g || e).children.push(a), a}function c(a) {var b, c = [],d = [];for(b = 0; b < a.children.length; b++) d.push(a.children[b]);var e = d.length,f = 0,g = [];for(b = 0; b < d.length; b++) {var h = d[b];e <= 0 && (e = f, f = 0, c.push(g), g = []), g.push(h.fn), h.children.forEach(function(a) {f++, d.push(a)}), e--}return g.length && c.push(g), c}var d, e = {children: []},f = new k;for(d = 0; d < a.length; d++) {var g = a[d];f.put(g.domNode, a[d] = {domNode: g.domNode,fn: g.fn,children: []})}for(d = 0; d < a.length; d++) b(a[d]);return c(e)}var q = [],r = l(a);return function(k, l, t) {function u(a) {var b = "[" + f + "]",c = a.hasAttribute(f) ? [a] : a.querySelectorAll(b),d = [];return V(c, function(a) {var b = a.getAttribute(f);b && b.length && d.push(a)}), d}function v(a) {var b = [],c = {};V(a, function(a, d) {var e = a.element,g = s(e),h = a.event,i = ["enter", "move"].indexOf(h) >= 0,j = a.structural ? u(g) : [];if(j.length) {var k = i ? "to" : "from";V(j, function(a) {var b = a.getAttribute(f);c[b] = c[b] || {}, c[b][k] = {animationID: d,element: ba(a)}})} else b.push(a)});var d = {},e = {};return V(c, function(c, f) {var g = c.from,h = c.to;if(!g || !h) {var i = g ? g.animationID : h.animationID,j = i.toString();return void(d[j] || (d[j] = !0, b.push(a[i])))}var k = a[g.animationID],l = a[h.animationID],m = g.animationID.toString();if(!e[m]) {var n = e[m] = {structural: !0,beforeStart: function() {k.beforeStart(), l.beforeStart()},close: function() {k.close(), l.close()},classes: w(k.classes, l.classes),from: k,to: l,anchors: []};n.classes.length ? b.push(n) : (b.push(k), b.push(l))}e[m].anchors.push({out: g.element,in : h.element})}), b}function w(a, b) {a = a.split(" "), b = b.split(" ");for(var c = [], d = 0; d < a.length; d++) {var e = a[d];if("ng-" !== e.substring(0, 3))for(var f = 0; f < b.length; f++)if(e === b[f]) {c.push(e);break}}return c.join(" ")}function x(a) {for(var b = g.length - 1; b >= 0; b--) {var c = g[b],d = i.get(c),e = d(a);if(e) return e}}function y() {k.addClass(R), F && a.addClass(k, F), G && (a.removeClass(k, G), G = null)}function z(a, b) {function c(a) {var c = e(a);c && c.setHost(b)}a.from && a.to ? (c(a.from.element), c(a.to.element)) : c(a.element)}function A() {var a = e(k);!a || "leave" === l && t.$$domOperationFired || a.end()}function B(b) {k.off("$destroy", A), c(k), r(k, t), n(k, t), t.domOperation(), F && a.removeClass(k, F), k.removeClass(R), D.complete(!b)}t = m(t);var C = ["enter", "move", "leave"].indexOf(l) >= 0,D = new j({end: function() {B()},cancel: function() {B(!0)}});if(!g.length) return B(), D;b(k, D);var E = d(k.attr("class"), d(t.addClass, t.removeClass)),F = t.tempClasses;F && (E += " " + F, t.tempClasses = null);var G;return C && (G = "ng-" + l + Q, a.addClass(k, G)), q.push({element: k,classes: E,event: l,structural: C,options: t,beforeStart: y,close: B}), k.on("$destroy", A), q.length > 1 ? D : (h.$$postDigest(function() {var a = [];V(q, function(b) {e(b.element) ? a.push(b) : b.close()}), q.length = 0;var b = v(a),c = [];V(b, function(a) {c.push({domNode: s(a.from ? a.from.element : a.element),fn: function() {a.beforeStart();var b, c = a.close;if(e(a.anchors ? a.from.element || a.to.element : a.element)) {var d = x(a);d && (b = d.start)}if(b) {var f = b();f.done(function(a) {c(!a)}), z(a, f)} else c()}})}), o(p(c))}), D)}}]}],Fa = ["$animate", "$rootScope", function(a, b) {return {restrict: "A",transclude: "element",terminal: !0,priority: 600,link: function(b, c, d, e, f) {var g, h;b.$watchCollection(d.ngAnimateSwap || d.for, function(d) {g && a.leave(g), h && (h.$destroy(), h = null), (d || 0 === d) && (h = b.$new(), f(h, function(b) {g = b, a.enter(b, null, c)}))})}}}];b.module("ngAnimate", [], function() {ca = b.noop, T = b.copy, U = b.extend, ba = b.element, V = b.forEach, W = b.isArray, _ = b.isString, $ = b.isObject, aa = b.isUndefined, X = b.isDefined, Z = b.isFunction, Y = b.isElement}).directive("ngAnimateSwap", Fa).directive("ngAnimateChildren", qa).factory("$$rAFScheduler", pa).provider("$$animateQueue", Da).provider("$$animation", Ea).provider("$animateCss", xa).provider("$$animateCssDriver", ya).provider("$$animateJs", za).provider("$$animateJsDriver", Aa)}(window, window.angular),function(a, b) {"use strict";function c(a, b) {if(h(a)) {b = b || [];for(var c = 0, d = a.length; c < d; c++) b[c] = a[c]} else if(i(a)) {b = b || {};for(var e in a) "$" === e.charAt(0) && "$" === e.charAt(1) || (b[e] = a[e])}return b || a}function d() {function a(a, c) {return b.extend(Object.create(a), c)}function d(a, b) {var c = b.caseInsensitiveMatch,d = {originalPath: a,regexp: a},e = d.keys = [];return a = a.replace(/([().])/g, "\\$1").replace(/(\/)?:(\w+)(\*\?|[\?\*])?/g, function(a, b, c, d) {var f = "?" === d || "*?" === d ? "?" : null,g = "*" === d || "*?" === d ? "*" : null;return e.push({name: c,optional: !!f}), b = b || "", (f ? "" : b) + "(?:" + (f ? b : "") + (g && "(.+?)" || "([^/]+)") + (f || "") + ")" + (f || "")}).replace(/([\/$\*])/g, "\\$1"), d.regexp = new RegExp("^" + a + "$", c ? "i" : ""), d}h = b.isArray, i = b.isObject;var e = {};this.when = function(a, f) {var g = c(f);if(b.isUndefined(g.reloadOnSearch) && (g.reloadOnSearch = !0), b.isUndefined(g.caseInsensitiveMatch) && (g.caseInsensitiveMatch = this.caseInsensitiveMatch), e[a] = b.extend(g, a && d(a, g)), a) {var h = "/" == a[a.length - 1] ? a.substr(0, a.length - 1) : a + "/";e[h] = b.extend({redirectTo: a}, d(h, g))}return this}, this.caseInsensitiveMatch = !1, this.otherwise = function(a) {return "string" == typeof a && (a = {redirectTo: a}), this.when(null, a), this}, this.$get = ["$rootScope", "$location", "$routeParams", "$q", "$injector", "$templateRequest", "$sce", function(c, d, f, g, h, i, j) {function l(a, b) {var c = b.keys,d = {};if(!b.regexp) return null;var e = b.regexp.exec(a);if(!e) return null;for(var f = 1, g = e.length; f < g; ++f) {var h = c[f - 1],i = e[f];h && i && (d[h.name] = i)}return d}function m(a) {var d = v.current;s = q(), (t = s && d && s.$$route === d.$$route && b.equals(s.pathParams, d.pathParams) && !s.reloadOnSearch && !u) || !d && !s || c.$broadcast("$routeChangeStart", s, d).defaultPrevented && a && a.preventDefault()}function n() {var a = v.current,e = s;t ? (a.params = e.params, b.copy(a.params, f), c.$broadcast("$routeUpdate", a)) : (e || a) && (u = !1, v.current = e, e && e.redirectTo && (b.isString(e.redirectTo) ? d.path(r(e.redirectTo, e.params)).search(e.params).replace() : d.url(e.redirectTo(e.pathParams, d.path(), d.search())).replace()), g.when(e).then(o).then(function(d) {e == v.current && (e && (e.locals = d, b.copy(e.params, f)), c.$broadcast("$routeChangeSuccess", e, a))}, function(b) {e == v.current && c.$broadcast("$routeChangeError", e, a, b)}))}function o(a) {if(a) {var c = b.extend({}, a.resolve);b.forEach(c, function(a, d) {c[d] = b.isString(a) ? h.get(a) : h.invoke(a, null, null, d)});var d = p(a);return b.isDefined(d) && (c.$template = d), g.all(c)}}function p(a) {var c, d;return b.isDefined(c = a.template) ? b.isFunction(c) && (c = c(a.params)) : b.isDefined(d = a.templateUrl) && (b.isFunction(d) && (d = d(a.params)), b.isDefined(d) && (a.loadedTemplateUrl = j.valueOf(d), c = i(d))), c}function q() {var c, f;return b.forEach(e, function(e, g) {!f && (c = l(d.path(), e)) && (f = a(e, {params: b.extend({}, d.search(), c),pathParams: c}), f.$$route = e)}), f || e[null] && a(e[null], {params: {},pathParams: {}})}function r(a, c) {var d = [];return b.forEach((a || "").split(":"), function(a, b) {if(0 === b) d.push(a);else {var e = a.match(/(\w+)(?:[?*])?(.*)/),f = e[1];d.push(c[f]), d.push(e[2] || ""), delete c[f]}}), d.join("")}var s, t, u = !1,v = {routes: e,reload: function() {u = !0;var a = {defaultPrevented: !1,preventDefault: function() {this.defaultPrevented = !0, u = !1}};c.$evalAsync(function() {m(a), a.defaultPrevented || n()})},updateParams: function(a) {if(!this.current || !this.current.$$route) throw k("norout", "Tried updating route when with no current route");a = b.extend({}, this.current.params, a), d.path(r(this.current.$$route.originalPath, a)), d.search(a)}};return c.$on("$locationChangeStart", m), c.$on("$locationChangeSuccess", n), v}]}function e() {this.$get = function() {return {}}}function f(a, c, d) {return {restrict: "ECA",terminal: !0,priority: 400,transclude: "element",link: function(e, f, g, h, i) {function j() {n && (d.cancel(n), n = null), l && (l.$destroy(), l = null), m && (n = d.leave(m), n.then(function() {n = null}), m = null)}function k() {var g = a.current && a.current.locals,h = g && g.$template;if(b.isDefined(h)) {var k = e.$new(),n = a.current;m = i(k, function(a) {d.enter(a, null, m || f).then(function() {!b.isDefined(o) || o && !e.$eval(o) || c()}), j()}), l = n.scope = k, l.$emit("$viewContentLoaded"), l.$eval(p)} else j()}var l, m, n, o = g.autoscroll,p = g.onload || "";e.$on("$routeChangeSuccess", k), k()}}}function g(a, b, c) {return {restrict: "ECA",priority: -400,link: function(d, e) {var f = c.current,g = f.locals;e.html(g.$template);var h = a(e.contents());if(f.controller) {g.$scope = d;var i = b(f.controller, g);f.controllerAs && (d[f.controllerAs] = i), e.data("$ngControllerController", i), e.children().data("$ngControllerController", i)}d[f.resolveAs || "$resolve"] = g, h(d)}}}var h, i, j = b.module("ngRoute", ["ng"]).provider("$route", d),k = b.$$minErr("ngRoute");j.provider("$routeParams", e), j.directive("ngView", f), j.directive("ngView", g), f.$inject = ["$route", "$anchorScroll", "$animate"], g.$inject = ["$compile", "$controller", "$route"]}(window, window.angular),function(a, b) {"use strict";function c(a) {return null != a && "" !== a && "hasOwnProperty" !== a && g.test("." + a)}function d(a, d) {if(!c(d)) throw f("badmember", 'Dotted member path "@{0}" is invalid.', d);for(var e = d.split("."), g = 0, h = e.length; g < h && b.isDefined(a); g++) {var i = e[g];a = null !== a ? a[i] : void 0}return a}function e(a, c) {c = c || {}, b.forEach(c, function(a, b) {delete c[b]});for(var d in a) !a.hasOwnProperty(d) || "$" === d.charAt(0) && "$" === d.charAt(1) || (c[d] = a[d]);return c}var f = b.$$minErr("$resource"),g = /^(\.[a-zA-Z_$@][0-9a-zA-Z_$@]*)+$/;b.module("ngResource", ["ng"]).provider("$resource", function() {var a = /^https?:\/\/[^\/]*/,c = this;this.defaults = {stripTrailingSlashes: !0,cancellable: !1,actions: {get: {method: "GET"},save: {method: "POST"},query: {method: "GET",isArray: !0},remove: {method: "DELETE"},delete: {method: "DELETE"}}}, this.$get = ["$http", "$log", "$q", "$timeout", function(g, h, i, j) {function k(a) {return l(a, !0).replace(/%26/gi, "&").replace(/%3D/gi, "=").replace(/%2B/gi, "+")}function l(a, b) {return encodeURIComponent(a).replace(/%40/gi, "@").replace(/%3A/gi, ":").replace(/%24/g, "$").replace(/%2C/gi, ",").replace(/%20/g, b ? "%20" : "+")}function m(a, b) {this.template = a, this.defaults = q({}, c.defaults, b), this.urlParams = {}}function n(a, k, l, t) {function u(a, b) {var c = {};return b = q({}, k, b), p(b, function(b, e) {s(b) && (b = b(a)), c[e] = b && b.charAt && "@" == b.charAt(0) ? d(a, b.substr(1)) : b}), c}function v(a) {return a.resource}function w(a) {e(a || {}, this)}var x = new m(a, t);return l = q({}, c.defaults.actions, l), w.prototype.toJSON = function() {var a = q({}, this);return delete a.$promise, delete a.$resolved, a}, p(l, function(a, d) {var k = /^(POST|PUT|PATCH)$/i.test(a.method),l = a.timeout,m = b.isDefined(a.cancellable) ? a.cancellable : t && b.isDefined(t.cancellable) ? t.cancellable : c.defaults.cancellable;l && !b.isNumber(l) && (h.debug("ngResource:\n Only numeric values are allowed as `timeout`.\n Promises are not supported in $resource, because the same value would be used for multiple requests. If you are looking for a way to cancel requests, you should use the `cancellable` option."), delete a.timeout, l = null), w[d] = function(c, h, n, t) {var y, z, A, B = {};switch(arguments.length) {case 4:A = t, z = n;case 3:case 2:if(!s(h)) {B = c, y = h, z = n;break}if(s(c)) {z = c, A = h;break}z = h, A = n;case 1:s(c) ? z = c : k ? y = c : B = c;break;case 0:break;default:throw f("badargs", "Expected up to 4 arguments [params, data, success, error], got {0} arguments", arguments.length)}var C, D, E = this instanceof w,F = E ? y : a.isArray ? [] : new w(y),G = {},H = a.interceptor && a.interceptor.response || v,I = a.interceptor && a.interceptor.responseError || void 0;p(a, function(a, b) {switch(b) {default: G[b] = r(a);break;case "params":case "isArray":case "interceptor":case "cancellable":}}), !E && m && (C = i.defer(), G.timeout = C.promise, l && (D = j(C.resolve, l))), k && (G.data = y), x.setUrlParams(G, q({}, u(y, a.params || {}), B), a.url);var J = g(G).then(function(c) {var g = c.data;if(g) {if(b.isArray(g) !== !!a.isArray) throw f("badcfg", "Error in resource configuration for action `{0}`. Expected response to contain an {1} but got an {2} (Request: {3} {4})", d, a.isArray ? "array" : "object", b.isArray(g) ? "array" : "object", G.method, G.url);if(a.isArray) F.length = 0, p(g, function(a) {"object" == typeof a ? F.push(new w(a)) : F.push(a)});else {var h = F.$promise;e(g, F), F.$promise = h}}return c.resource = F, c}, function(a) {return(A || o)(a), i.reject(a)});return J.finally(function() {F.$resolved = !0, !E && m && (F.$cancelRequest = b.noop, j.cancel(D), C = D = G.timeout = null)}), J = J.then(function(a) {var b = H(a);return(z || o)(b, a.headers), b}, I), E ? J : (F.$promise = J, F.$resolved = !1, m && (F.$cancelRequest = C.resolve), F)}, w.prototype["$" + d] = function(a, b, c) {s(a) && (c = b, b = a, a = {});var e = w[d].call(this, a, this, b, c);return e.$promise || e}}), w.bind = function(b) {return n(a, q({}, k, b), l)}, w}var o = b.noop,p = b.forEach,q = b.extend,r = b.copy,s = b.isFunction;return m.prototype = {setUrlParams: function(c, d, e) {var g, h, i = this,j = e || i.template,m = "",n = i.urlParams = {};p(j.split(/\W/), function(a) {if("hasOwnProperty" === a) throw f("badname", "hasOwnProperty is not a valid parameter name.");!new RegExp("^\\d+$").test(a) && a && new RegExp("(^|[^\\\\]):" + a + "(\\W|$)").test(j) && (n[a] = {isQueryParamValue: new RegExp("\\?.*=:" + a + "(?:\\W|$)").test(j)})}), j = j.replace(/\\:/g, ":"), j = j.replace(a, function(a) {return m = a, ""}), d = d || {}, p(i.urlParams, function(a, c) {g = d.hasOwnProperty(c) ? d[c] : i.defaults[c], b.isDefined(g) && null !== g ? (h = a.isQueryParamValue ? l(g, !0) : k(g), j = j.replace(new RegExp(":" + c + "(\\W|$)", "g"), function(a, b) {return h + b})) : j = j.replace(new RegExp("(/?):" + c + "(\\W|$)", "g"), function(a, b, c) {return "/" == c.charAt(0) ? c : b + c})}), i.defaults.stripTrailingSlashes && (j = j.replace(/\/+$/, "") || "/"), j = j.replace(/\/\.(?=\w+($|\?))/, "."), c.url = m + j.replace(/\/\\\./, "/."), p(d, function(a, b) {i.urlParams[b] || (c.params = c.params || {}, c.params[b] = a)})}}, n}]})}(window, window.angular),function(a, b) {"use strict";function c() {function a(a, b) {if(a) return e(a) ? a.indexOf(b) >= 0 : a.hasOwnProperty(b)}return ["$animate", function(b) {return {restrict: "AE",transclude: "element",priority: 1,terminal: !0,require: "^^ngMessages",link: function(c, d, f, g, h) {var i, j = d[0],k = f.ngMessage || f.when,l = f.ngMessageExp || f.whenExp,m = function(a) {i = a ? e(a) ? a : a.split(/[\s,]+/) : null, g.reRender()};l ? (m(c.$eval(l)), c.$watchCollection(l, m)) : m(k);var n, o;g.register(j, o = {test: function(b) {return a(i, b)},attach: function() {n || h(function(a, c) {b.enter(a, null, d), n = a;var e = n.$$attachId = g.getAttachId();n.on("$destroy", function() {n && n.$$attachId === e && (g.deregister(j), o.detach()), c.$destroy()})})},detach: function() {if(n) {var a = n;n = null, b.leave(a)}}})}}}]}var d, e, f, g;b.module("ngMessages", [], function() {d = b.forEach, e = b.isArray, f = b.isString, g = b.element}).directive("ngMessages", ["$animate", function(a) {function b(a, b) {return f(b) && 0 === b.length || c(a.$eval(b))}function c(a) {return f(a) ? a.length : !!a}var e = "ng-active",g = "ng-inactive";return {require: "ngMessages",restrict: "AE",controller: ["$element", "$scope", "$attrs", function(f, h, i) {function j(a, b) {for(var c = b, d = []; c && c !== a;) {var e = c.$$ngMessageNode;if(e && e.length) return r[e];c.childNodes.length && d.indexOf(c) === -1 ? (d.push(c), c = c.childNodes[c.childNodes.length - 1]) : c.previousSibling ? c = c.previousSibling : (c = c.parentNode, d.push(c))}}function k(a, b, c) {var d = r[c];if(m.head) {var e = j(a, b);e ? (d.next = e.next, e.next = d) : (d.next = m.head, m.head = d)} else m.head = d}function l(a, b, c) {var d = r[c],e = j(a, b);e ? e.next = d.next : m.head = d.next}var m = this,n = 0,o = 0;this.getAttachId = function() {return o++};var p, q, r = this.messages = {};this.render = function(j) {j = j || {}, p = !1, q = j;for(var k = b(h, i.ngMessagesMultiple) || b(h, i.multiple), l = [], n = {}, o = m.head, r = !1, s = 0; null != o;) {s++;var t = o.message,u = !1;r || d(j, function(a, b) {if(!u && c(a) && t.test(b)) {if(n[b]) return;n[b] = !0, u = !0, t.attach()}}), u ? r = !k : l.push(t), o = o.next}d(l, function(a) {a.detach()}), l.length !== s ? a.setClass(f, e, g) : a.setClass(f, g, e)}, h.$watchCollection(i.ngMessages || i.for, m.render), f.on("$destroy", function() {d(r, function(a) {a.message.detach()})}), this.reRender = function() {p || (p = !0, h.$evalAsync(function() {p && q && m.render(q)}))}, this.register = function(a, b) {var c = n.toString();r[c] = {message: b}, k(f[0], a, c), a.$$ngMessageNode = c, n++, m.reRender()}, this.deregister = function(a) {var b = a.$$ngMessageNode;delete a.$$ngMessageNode, l(f[0], a, b), delete r[b], m.reRender()}}]}}]).directive("ngMessagesInclude", ["$templateRequest", "$document", "$compile", function(a, b, c) {function d(a, d) {var e = c.$$createComment ? c.$$createComment("ngMessagesInclude", d) : b[0].createComment(" ngMessagesInclude: " + d + " "),f = g(e);a.after(f), a.remove()}return {restrict: "AE",require: "^^ngMessages",link: function(b, e, g) {var h = g.ngMessagesInclude || g.src;a(h).then(function(a) {b.$$destroyed || (f(a) && !a.trim() ? d(e, h) : c(a)(b, function(a) {e.after(a), d(e, h)}))})}}}]).directive("ngMessage", c()).directive("ngMessageExp", c())}(window, window.angular),function(a, b) {"use strict";function c() {function a(a, b, d, e) {return function(g, h, i) {var j = i.$normalize(b);!c[j] || f(h, d) || i[j] || g.$watch(i[a], function(a) {a = e ? !a : !!a, h.attr(b, a)})}}var c = {ariaHidden: !0,ariaChecked: !0,ariaReadonly: !0,ariaDisabled: !0,ariaRequired: !0,ariaInvalid: !0,ariaValue: !0,tabindex: !0,bindKeypress: !0,bindRoleForClick: !0};this.config = function(a) {c = b.extend(c, a)}, this.$get = function() {return {config: function(a) {return c[a]},$$watchExpr: a}}}var d = b.module("ngAria", ["ng"]).provider("$aria", c),e = ["BUTTON", "A", "INPUT", "TEXTAREA", "SELECT", "DETAILS", "SUMMARY"],f = function(a, b) {if(b.indexOf(a[0].nodeName) !== -1) return !0};d.directive("ngShow", ["$aria", function(a) {return a.$$watchExpr("ngShow", "aria-hidden", [], !0)}]).directive("ngHide", ["$aria", function(a) {return a.$$watchExpr("ngHide", "aria-hidden", [], !1)}]).directive("ngValue", ["$aria", function(a) {return a.$$watchExpr("ngValue", "aria-checked", e, !1)}]).directive("ngChecked", ["$aria", function(a) {return a.$$watchExpr("ngChecked", "aria-checked", e, !1)}]).directive("ngReadonly", ["$aria", function(a) {return a.$$watchExpr("ngReadonly", "aria-readonly", e, !1)}]).directive("ngRequired", ["$aria", function(a) {return a.$$watchExpr("ngRequired", "aria-required", e, !1)}]).directive("ngModel", ["$aria", function(a) {function b(b, c, d, g) {return a.config(c) && !d.attr(b) && (g || !f(d, e))}function c(a, b) {return !b.attr("role") && b.attr("type") === a && "INPUT" !== b[0].nodeName}function d(a, b) {var c = a.type,d = a.role;return "checkbox" === (c || d) || "menuitemcheckbox" === d ? "checkbox" : "radio" === (c || d) || "menuitemradio" === d ? "radio" : "range" === c || "progressbar" === d || "slider" === d ? "range" : ""}return {restrict: "A",require: "ngModel",priority: 200,compile: function(e, f) {var g = d(f, e);return {pre: function(a, b, c, d) {"checkbox" === g && (d.$isEmpty = function(a) {return a === !1})},post: function(d, e, f, h) {function i() {return h.$modelValue}function j(a) {var b = f.value == h.$viewValue;e.attr("aria-checked", b)}function k() {e.attr("aria-checked", !h.$isEmpty(h.$viewValue))}var l = b("tabindex", "tabindex", e, !1);switch(g) {case "radio":case "checkbox":c(g, e) && e.attr("role", g), b("aria-checked", "ariaChecked", e, !1) && d.$watch(i, "radio" === g ? j : k), l && e.attr("tabindex", 0);break;case "range":if(c(g, e) && e.attr("role", "slider"), a.config("ariaValue")) {var m = !e.attr("aria-valuemin") && (f.hasOwnProperty("min") || f.hasOwnProperty("ngMin")),n = !e.attr("aria-valuemax") && (f.hasOwnProperty("max") || f.hasOwnProperty("ngMax")),o = !e.attr("aria-valuenow");m && f.$observe("min", function(a) {e.attr("aria-valuemin", a)}), n && f.$observe("max", function(a) {e.attr("aria-valuemax", a)}), o && d.$watch(i, function(a) {e.attr("aria-valuenow", a)})}l && e.attr("tabindex", 0)}!f.hasOwnProperty("ngRequired") && h.$validators.required && b("aria-required", "ariaRequired", e, !1) && f.$observe("required", function() {e.attr("aria-required", !!f.required)}), b("aria-invalid", "ariaInvalid", e, !0) && d.$watch(function() {return h.$invalid}, function(a) {e.attr("aria-invalid", !!a)})}}}}}]).directive("ngDisabled", ["$aria", function(a) {return a.$$watchExpr("ngDisabled", "aria-disabled", e, !1)}]).directive("ngMessages", function() {return {restrict: "A",require: "?ngMessages",link: function(a, b, c, d) {b.attr("aria-live") || b.attr("aria-live", "assertive")}}}).directive("ngClick", ["$aria", "$parse", function(a, b) {return {restrict: "A",compile: function(c, d) {var g = b(d.ngClick, null, !0);return function(b, c, d) {f(c, e) || (a.config("bindRoleForClick") && !c.attr("role") && c.attr("role", "button"), a.config("tabindex") && !c.attr("tabindex") && c.attr("tabindex", 0), a.config("bindKeypress") && !d.ngKeypress && c.on("keypress", function(a) {function c() {g(b, {$event: a})}var d = a.which || a.keyCode;32 !== d && 13 !== d || b.$apply(c)}))}}}}]).directive("ngDblclick", ["$aria", function(a) {return function(b, c, d) {!a.config("tabindex") || c.attr("tabindex") || f(c, e) || c.attr("tabindex", 0)}}])}(window, window.angular);var _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(a) {return typeof a} : function(a) {return a && "function" == typeof Symbol && a.constructor === Symbol ? "symbol" : typeof a},windowIsDefined = "object" === ("undefined" == typeof window ? "undefined" : _typeof(window));! function(a) {if("function" == typeof define && define.amd) define(["jquery"], a);else if("object" === ("undefined" == typeof module ? "undefined" : _typeof(module)) && module.exports) {var b;try {b = require("jquery")} catch(a) {b = null}module.exports = a(b)} else window && (window.Slider = a(window.jQuery))}(function(a) {var b = "slider",c = "bootstrapSlider";windowIsDefined && !window.console && (window.console = {}), windowIsDefined && !window.console.log && (window.console.log = function() {}), windowIsDefined && !window.console.warn && (window.console.warn = function() {});var d;return function(a) {function b() {}function c(a) {function c(b) {b.prototype.option || (b.prototype.option = function(b) {a.isPlainObject(b) && (this.options = a.extend(!0, this.options, b))})}function e(b, c) {a.fn[b] = function(e) {if("string" == typeof e) {for(var g = d.call(arguments, 1), h = 0, i = this.length; i > h; h++) {var j = this[h],k = a.data(j, b);if(k)if(a.isFunction(k[e]) && "_" !== e.charAt(0)) {var l = k[e].apply(k, g);if(void 0 !== l && l !== k) return l} else f("no such method '" + e + "' for " + b + " instance");else f("cannot call methods on " + b + " prior to initialization; attempted to call '" + e + "'")}return this}var m = this.map(function() {var d = a.data(this, b);return d ? (d.option(e), d._init()) : (d = new c(this, e), a.data(this, b, d)), a(this)});return !m || m.length > 1 ? m : m[0]}}if(a) {var f = "undefined" == typeof console ? b : function(a) {console.error(a)};return a.bridget = function(a, b) {c(b), e(a, b)}, a.bridget}}var d = Array.prototype.slice;c(a)}(a),function(a) {function e(b, c) {function d(a, b) {var c = "data-slider-" + b.replace(/_/g, "-"),d = a.getAttribute(c);try {return JSON.parse(d)} catch(a) {return d}}this._state = {value: null,enabled: null,offset: null,size: null,percentage: null,inDrag: !1,over: !1}, "string" == typeof b ? this.element = document.querySelector(b) : b instanceof HTMLElement && (this.element = b), c = c ? c : {};for(var e = Object.keys(this.defaultOptions), f = 0; f < e.length; f++) {var h = e[f],i = c[h];i = void 0 !== i ? i : d(this.element, h), i = null !== i ? i : this.defaultOptions[h], this.options || (this.options = {}), this.options[h] = i}"vertical" !== this.options.orientation || "top" !== this.options.tooltip_position && "bottom" !== this.options.tooltip_position ? "horizontal" !== this.options.orientation || "left" !== this.options.tooltip_position && "right" !== this.options.tooltip_position || (this.options.tooltip_position = "top") : this.options.tooltip_position = "right";var j, k, l, m, n, o = this.element.style.width,p = !1,q = this.element.parentNode;if(this.sliderElem) p = !0;else {this.sliderElem = document.createElement("div"), this.sliderElem.className = "slider";var r = document.createElement("div");r.className = "slider-track", k = document.createElement("div"), k.className = "slider-track-low", j = document.createElement("div"), j.className = "slider-selection", l = document.createElement("div"), l.className = "slider-track-high", m = document.createElement("div"), m.className = "slider-handle min-slider-handle", m.setAttribute("role", "slider"), m.setAttribute("aria-valuemin", this.options.min), m.setAttribute("aria-valuemax", this.options.max), n = document.createElement("div"), n.className = "slider-handle max-slider-handle", n.setAttribute("role", "slider"), n.setAttribute("aria-valuemin", this.options.min), n.setAttribute("aria-valuemax", this.options.max), r.appendChild(k), r.appendChild(j), r.appendChild(l);var s = Array.isArray(this.options.labelledby);if(s && this.options.labelledby[0] && m.setAttribute("aria-labelledby", this.options.labelledby[0]), s && this.options.labelledby[1] && n.setAttribute("aria-labelledby", this.options.labelledby[1]), !s && this.options.labelledby && (m.setAttribute("aria-labelledby", this.options.labelledby), n.setAttribute("aria-labelledby", this.options.labelledby)), this.ticks = [], Array.isArray(this.options.ticks) && this.options.ticks.length > 0) {for(this.ticksContainer = document.createElement("div"), this.ticksContainer.className = "slider-tick-container", f = 0; f < this.options.ticks.length; f++) {var t = document.createElement("div");t.className = "slider-tick", this.ticks.push(t), this.ticksContainer.appendChild(t)}j.className += " tick-slider-selection"}if(this.tickLabels = [], Array.isArray(this.options.ticks_labels) && this.options.ticks_labels.length > 0)for(this.tickLabelContainer = document.createElement("div"), this.tickLabelContainer.className = "slider-tick-label-container", f = 0; f < this.options.ticks_labels.length; f++) {var u = document.createElement("div"),v = 0 === this.options.ticks_positions.length,w = this.options.reversed && v ? this.options.ticks_labels.length - (f + 1) : f;u.className = "slider-tick-label", u.innerHTML = this.options.ticks_labels[w], this.tickLabels.push(u), this.tickLabelContainer.appendChild(u)}var x = function(a) {var b = document.createElement("div");b.className = "tooltip-arrow";var c = document.createElement("div");c.className = "tooltip-inner", a.appendChild(b), a.appendChild(c)},y = document.createElement("div");y.className = "tooltip tooltip-main", y.setAttribute("role", "presentation"), x(y);var z = document.createElement("div");z.className = "tooltip tooltip-min", z.setAttribute("role", "presentation"), x(z);var A = document.createElement("div");A.className = "tooltip tooltip-max", A.setAttribute("role", "presentation"), x(A), this.sliderElem.appendChild(r), this.sliderElem.appendChild(y), this.sliderElem.appendChild(z), this.sliderElem.appendChild(A), this.tickLabelContainer && this.sliderElem.appendChild(this.tickLabelContainer), this.ticksContainer && this.sliderElem.appendChild(this.ticksContainer), this.sliderElem.appendChild(m), this.sliderElem.appendChild(n), q.insertBefore(this.sliderElem, this.element), this.element.style.display = "none"}if(a && (this.$element = a(this.element), this.$sliderElem = a(this.sliderElem)), this.eventToCallbackMap = {}, this.sliderElem.id = this.options.id, this.touchCapable = "ontouchstart" in window || window.DocumentTouch && document instanceof window.DocumentTouch, this.touchX = 0, this.touchY = 0, this.tooltip = this.sliderElem.querySelector(".tooltip-main"), this.tooltipInner = this.tooltip.querySelector(".tooltip-inner"), this.tooltip_min = this.sliderElem.querySelector(".tooltip-min"), this.tooltipInner_min = this.tooltip_min.querySelector(".tooltip-inner"), this.tooltip_max = this.sliderElem.querySelector(".tooltip-max"), this.tooltipInner_max = this.tooltip_max.querySelector(".tooltip-inner"), g[this.options.scale] && (this.options.scale = g[this.options.scale]), p === !0 && (this._removeClass(this.sliderElem, "slider-horizontal"), this._removeClass(this.sliderElem, "slider-vertical"), this._removeClass(this.tooltip, "hide"), this._removeClass(this.tooltip_min, "hide"), this._removeClass(this.tooltip_max, "hide"), ["left", "top", "width", "height"].forEach(function(a) {this._removeProperty(this.trackLow, a), this._removeProperty(this.trackSelection, a), this._removeProperty(this.trackHigh, a)}, this), [this.handle1, this.handle2].forEach(function(a) {this._removeProperty(a, "left"), this._removeProperty(a, "top")}, this), [this.tooltip, this.tooltip_min, this.tooltip_max].forEach(function(a) {this._removeProperty(a, "left"), this._removeProperty(a, "top"), this._removeProperty(a, "margin-left"), this._removeProperty(a, "margin-top"), this._removeClass(a, "right"), this._removeClass(a, "top")}, this)), "vertical" === this.options.orientation ? (this._addClass(this.sliderElem, "slider-vertical"), this.stylePos = "top", this.mousePos = "pageY", this.sizePos = "offsetHeight") : (this._addClass(this.sliderElem, "slider-horizontal"), this.sliderElem.style.width = o, this.options.orientation = "horizontal", this.stylePos = "left", this.mousePos = "pageX", this.sizePos = "offsetWidth"), this._setTooltipPosition(), Array.isArray(this.options.ticks) && this.options.ticks.length > 0 && (this.options.max = Math.max.apply(Math, this.options.ticks), this.options.min = Math.min.apply(Math, this.options.ticks)), Array.isArray(this.options.value) ? (this.options.range = !0, this._state.value = this.options.value) : this.options.range ? this._state.value = [this.options.value, this.options.max] : this._state.value = this.options.value, this.trackLow = k || this.trackLow, this.trackSelection = j || this.trackSelection, this.trackHigh = l || this.trackHigh, "none" === this.options.selection && (this._addClass(this.trackLow, "hide"), this._addClass(this.trackSelection, "hide"), this._addClass(this.trackHigh, "hide")), this.handle1 = m || this.handle1, this.handle2 = n || this.handle2, p === !0)for(this._removeClass(this.handle1, "round triangle"), this._removeClass(this.handle2, "round triangle hide"), f = 0; f < this.ticks.length; f++) this._removeClass(this.ticks[f], "round triangle hide");if(-1 !== ["round", "triangle", "custom"].indexOf(this.options.handle))for(this._addClass(this.handle1, this.options.handle), this._addClass(this.handle2, this.options.handle), f = 0; f < this.ticks.length; f++) this._addClass(this.ticks[f], this.options.handle);this._state.offset = this._offset(this.sliderElem), this._state.size = this.sliderElem[this.sizePos], this.setValue(this._state.value), this.handle1Keydown = this._keydown.bind(this, 0), this.handle1.addEventListener("keydown", this.handle1Keydown, !1), this.handle2Keydown = this._keydown.bind(this, 1), this.handle2.addEventListener("keydown", this.handle2Keydown, !1), this.mousedown = this._mousedown.bind(this), this.touchstart = this._touchstart.bind(this), this.touchmove = this._touchmove.bind(this), this.touchCapable && (this.sliderElem.addEventListener("touchstart", this.touchstart, !1), this.sliderElem.addEventListener("touchmove", this.touchmove, !1)), this.sliderElem.addEventListener("mousedown", this.mousedown, !1), this.resize = this._resize.bind(this), window.addEventListener("resize", this.resize, !1), "hide" === this.options.tooltip ? (this._addClass(this.tooltip, "hide"), this._addClass(this.tooltip_min, "hide"), this._addClass(this.tooltip_max, "hide")) : "always" === this.options.tooltip ? (this._showTooltip(), this._alwaysShowTooltip = !0) : (this.showTooltip = this._showTooltip.bind(this), this.hideTooltip = this._hideTooltip.bind(this), this.sliderElem.addEventListener("mouseenter", this.showTooltip, !1), this.sliderElem.addEventListener("mouseleave", this.hideTooltip, !1), this.handle1.addEventListener("focus", this.showTooltip, !1), this.handle1.addEventListener("blur", this.hideTooltip, !1), this.handle2.addEventListener("focus", this.showTooltip, !1), this.handle2.addEventListener("blur", this.hideTooltip, !1)), this.options.enabled ? this.enable() : this.disable()}var f = {formatInvalidInputErrorMsg: function(a) {return "Invalid input value '" + a + "' passed in"},callingContextNotSliderInstance: "Calling context element does not have instance of Slider bound to it. Check your code to make sure the JQuery object returned from the call to the slider() initializer is calling the method"},g = {linear: {toValue: function(a) {var b = a / 100 * (this.options.max - this.options.min),c = !0;if(this.options.ticks_positions.length > 0) {for(var d, e, f, g = 0, h = 1; h < this.options.ticks_positions.length; h++)if(a <= this.options.ticks_positions[h]) {d = this.options.ticks[h - 1], f = this.options.ticks_positions[h - 1], e = this.options.ticks[h], g = this.options.ticks_positions[h];break}b = d + (a - f) / (g - f) * (e - d), c = !1}var i = c ? this.options.min : 0,j = i + Math.round(b / this.options.step) * this.options.step;return j < this.options.min ? this.options.min : j > this.options.max ? this.options.max : j},toPercentage: function(a) {if(this.options.max === this.options.min) return 0;if(this.options.ticks_positions.length > 0) {for(var b, c, d, e = 0, f = 0; f < this.options.ticks.length; f++)if(a <= this.options.ticks[f]) {b = f > 0 ? this.options.ticks[f - 1] : 0, d = f > 0 ? this.options.ticks_positions[f - 1] : 0, c = this.options.ticks[f], e = this.options.ticks_positions[f];break}if(f > 0) {return d + (a - b) / (c - b) * (e - d)}}return 100 * (a - this.options.min) / (this.options.max - this.options.min)}},logarithmic: {toValue: function(a) {var b = 0 === this.options.min ? 0 : Math.log(this.options.min),c = Math.log(this.options.max),d = Math.exp(b + (c - b) * a / 100);return d = this.options.min + Math.round((d - this.options.min) / this.options.step) * this.options.step, d < this.options.min ? this.options.min : d > this.options.max ? this.options.max : d},toPercentage: function(a) {if(this.options.max === this.options.min) return 0;var b = Math.log(this.options.max),c = 0 === this.options.min ? 0 : Math.log(this.options.min);return 100 * ((0 === a ? 0 : Math.log(a)) - c) / (b - c)}}};d = function(a, b) {return e.call(this, a, b), this}, d.prototype = {_init: function() {},constructor: d,defaultOptions: {id: "",min: 0,max: 10,step: 1,precision: 0,orientation: "horizontal",value: 5,range: !1,selection: "before",tooltip: "show",tooltip_split: !1,handle: "round",reversed: !1,enabled: !0,formatter: function(a) {return Array.isArray(a) ? a[0] + " : " + a[1] : a},natural_arrow_keys: !1,ticks: [],ticks_positions: [],ticks_labels: [],ticks_snap_bounds: 0,scale: "linear",focus: !1,tooltip_position: null,labelledby: null},getElement: function() {return this.sliderElem},getValue: function() {return this.options.range ? this._state.value : this._state.value[0]},setValue: function(a, b, c) {a || (a = 0);var d = this.getValue();this._state.value = this._validateInputValue(a);var e = this._applyPrecision.bind(this);this.options.range ? (this._state.value[0] = e(this._state.value[0]), this._state.value[1] = e(this._state.value[1]), this._state.value[0] = Math.max(this.options.min, Math.min(this.options.max, this._state.value[0])), this._state.value[1] = Math.max(this.options.min, Math.min(this.options.max, this._state.value[1]))) : (this._state.value = e(this._state.value), this._state.value = [Math.max(this.options.min, Math.min(this.options.max, this._state.value))], this._addClass(this.handle2, "hide"), "after" === this.options.selection ? this._state.value[1] = this.options.max : this._state.value[1] = this.options.min), this.options.max > this.options.min ? this._state.percentage = [this._toPercentage(this._state.value[0]), this._toPercentage(this._state.value[1]), 100 * this.options.step / (this.options.max - this.options.min)] : this._state.percentage = [0, 0, 100], this._layout();var f = this.options.range ? this._state.value : this._state.value[0];return this._setDataVal(f), b === !0 && this._trigger("slide", f), d !== f && c === !0 && this._trigger("change", {oldValue: d,newValue: f}), this},destroy: function() {this._removeSliderEventHandlers(), this.sliderElem.parentNode.removeChild(this.sliderElem), this.element.style.display = "", this._cleanUpEventCallbacksMap(), this.element.removeAttribute("data"), a && (this._unbindJQueryEventHandlers(), this.$element.removeData("slider"))},disable: function() {return this._state.enabled = !1, this.handle1.removeAttribute("tabindex"), this.handle2.removeAttribute("tabindex"), this._addClass(this.sliderElem, "slider-disabled"), this._trigger("slideDisabled"), this},enable: function() {return this._state.enabled = !0, this.handle1.setAttribute("tabindex", 0), this.handle2.setAttribute("tabindex", 0), this._removeClass(this.sliderElem, "slider-disabled"), this._trigger("slideEnabled"), this},toggle: function() {return this._state.enabled ? this.disable() : this.enable(), this},isEnabled: function() {return this._state.enabled},on: function(a, b) {return this._bindNonQueryEventHandler(a, b), this},off: function(b, c) {a ? (this.$element.off(b, c), this.$sliderElem.off(b, c)) : this._unbindNonQueryEventHandler(b, c)},getAttribute: function(a) {return a ? this.options[a] : this.options},setAttribute: function(a, b) {return this.options[a] = b, this},refresh: function() {return this._removeSliderEventHandlers(), e.call(this, this.element, this.options), a && a.data(this.element, "slider", this), this},relayout: function() {return this._resize(), this._layout(), this},_removeSliderEventHandlers: function() {this.handle1.removeEventListener("keydown", this.handle1Keydown, !1), this.handle2.removeEventListener("keydown", this.handle2Keydown, !1), this.showTooltip && (this.handle1.removeEventListener("focus", this.showTooltip, !1), this.handle2.removeEventListener("focus", this.showTooltip, !1)), this.hideTooltip && (this.handle1.removeEventListener("blur", this.hideTooltip, !1), this.handle2.removeEventListener("blur", this.hideTooltip, !1)), this.showTooltip && this.sliderElem.removeEventListener("mouseenter", this.showTooltip, !1), this.hideTooltip && this.sliderElem.removeEventListener("mouseleave", this.hideTooltip, !1), this.sliderElem.removeEventListener("touchstart", this.touchstart, !1), this.sliderElem.removeEventListener("touchmove", this.touchmove, !1), this.sliderElem.removeEventListener("mousedown", this.mousedown, !1), window.removeEventListener("resize", this.resize, !1)},_bindNonQueryEventHandler: function(a, b) {void 0 === this.eventToCallbackMap[a] && (this.eventToCallbackMap[a] = []), this.eventToCallbackMap[a].push(b)},_unbindNonQueryEventHandler: function(a, b) {var c = this.eventToCallbackMap[a];if(void 0 !== c)for(var d = 0; d < c.length; d++)if(c[d] === b) {c.splice(d, 1);break}},_cleanUpEventCallbacksMap: function() {for(var a = Object.keys(this.eventToCallbackMap), b = 0; b < a.length; b++) {var c = a[b];this.eventToCallbackMap[c] = null}},_showTooltip: function() {this.options.tooltip_split === !1 ? (this._addClass(this.tooltip, "in"), this.tooltip_min.style.display = "none", this.tooltip_max.style.display = "none") : (this._addClass(this.tooltip_min, "in"), this._addClass(this.tooltip_max, "in"), this.tooltip.style.display = "none"), this._state.over = !0},_hideTooltip: function() {this._state.inDrag === !1 && this.alwaysShowTooltip !== !0 && (this._removeClass(this.tooltip, "in"), this._removeClass(this.tooltip_min, "in"), this._removeClass(this.tooltip_max, "in")), this._state.over = !1},_layout: function() {var a;if(a = this.options.reversed ? [100 - this._state.percentage[0], this.options.range ? 100 - this._state.percentage[1] : this._state.percentage[1]] : [this._state.percentage[0], this._state.percentage[1]], this.handle1.style[this.stylePos] = a[0] + "%", this.handle1.setAttribute("aria-valuenow", this._state.value[0]), this.handle2.style[this.stylePos] = a[1] + "%", this.handle2.setAttribute("aria-valuenow", this._state.value[1]), Array.isArray(this.options.ticks) && this.options.ticks.length > 0) {var b = "vertical" === this.options.orientation ? "height" : "width",c = "vertical" === this.options.orientation ? "marginTop" : "marginLeft",d = this._state.size / (this.options.ticks.length - 1);if(this.tickLabelContainer) {var e = 0;if(0 === this.options.ticks_positions.length) "vertical" !== this.options.orientation && (this.tickLabelContainer.style[c] = -d / 2 + "px"), e = this.tickLabelContainer.offsetHeight;elsefor(f = 0; f < this.tickLabelContainer.childNodes.length; f++) this.tickLabelContainer.childNodes[f].offsetHeight > e && (e = this.tickLabelContainer.childNodes[f].offsetHeight);"horizontal" === this.options.orientation && (this.sliderElem.style.marginBottom = e + "px")}for(var f = 0; f < this.options.ticks.length; f++) {var g = this.options.ticks_positions[f] || this._toPercentage(this.options.ticks[f]);this.options.reversed && (g = 100 - g), this.ticks[f].style[this.stylePos] = g + "%", this._removeClass(this.ticks[f], "in-selection"), this.options.range ? g >= a[0] && g <= a[1] && this._addClass(this.ticks[f], "in-selection") : "after" === this.options.selection && g >= a[0] ? this._addClass(this.ticks[f], "in-selection") : "before" === this.options.selection && g <= a[0] && this._addClass(this.ticks[f], "in-selection"), this.tickLabels[f] && (this.tickLabels[f].style[b] = d + "px", "vertical" !== this.options.orientation && void 0 !== this.options.ticks_positions[f] ? (this.tickLabels[f].style.position = "absolute", this.tickLabels[f].style[this.stylePos] = g + "%", this.tickLabels[f].style[c] = -d / 2 + "px") : "vertical" === this.options.orientation && (this.tickLabels[f].style.marginLeft = this.sliderElem.offsetWidth + "px", this.tickLabelContainer.style.marginTop = this.sliderElem.offsetWidth / 2 * -1 + "px"))}}var h;if(this.options.range) {h = this.options.formatter(this._state.value), this._setText(this.tooltipInner, h), this.tooltip.style[this.stylePos] = (a[1] + a[0]) / 2 + "%", "vertical" === this.options.orientation ? this._css(this.tooltip, "margin-top", -this.tooltip.offsetHeight / 2 + "px") : this._css(this.tooltip, "margin-left", -this.tooltip.offsetWidth / 2 + "px"), "vertical" === this.options.orientation ? this._css(this.tooltip, "margin-top", -this.tooltip.offsetHeight / 2 + "px") : this._css(this.tooltip, "margin-left", -this.tooltip.offsetWidth / 2 + "px");var i = this.options.formatter(this._state.value[0]);this._setText(this.tooltipInner_min, i);var j = this.options.formatter(this._state.value[1]);this._setText(this.tooltipInner_max, j), this.tooltip_min.style[this.stylePos] = a[0] + "%", "vertical" === this.options.orientation ? this._css(this.tooltip_min, "margin-top", -this.tooltip_min.offsetHeight / 2 + "px") : this._css(this.tooltip_min, "margin-left", -this.tooltip_min.offsetWidth / 2 + "px"), this.tooltip_max.style[this.stylePos] = a[1] + "%", "vertical" === this.options.orientation ? this._css(this.tooltip_max, "margin-top", -this.tooltip_max.offsetHeight / 2 + "px") : this._css(this.tooltip_max, "margin-left", -this.tooltip_max.offsetWidth / 2 + "px")} else h = this.options.formatter(this._state.value[0]), this._setText(this.tooltipInner, h), this.tooltip.style[this.stylePos] = a[0] + "%", "vertical" === this.options.orientation ? this._css(this.tooltip, "margin-top", -this.tooltip.offsetHeight / 2 + "px") : this._css(this.tooltip, "margin-left", -this.tooltip.offsetWidth / 2 + "px");if("vertical" === this.options.orientation) this.trackLow.style.top = "0", this.trackLow.style.height = Math.min(a[0], a[1]) + "%", this.trackSelection.style.top = Math.min(a[0], a[1]) + "%", this.trackSelection.style.height = Math.abs(a[0] - a[1]) + "%", this.trackHigh.style.bottom = "0", this.trackHigh.style.height = 100 - Math.min(a[0], a[1]) - Math.abs(a[0] - a[1]) + "%";else {this.trackLow.style.left = "0", this.trackLow.style.width = Math.min(a[0], a[1]) + "%", this.trackSelection.style.left = Math.min(a[0], a[1]) + "%", this.trackSelection.style.width = Math.abs(a[0] - a[1]) + "%", this.trackHigh.style.right = "0", this.trackHigh.style.width = 100 - Math.min(a[0], a[1]) - Math.abs(a[0] - a[1]) + "%";var k = this.tooltip_min.getBoundingClientRect(),l = this.tooltip_max.getBoundingClientRect();"bottom" === this.options.tooltip_position ? k.right > l.left ? (this._removeClass(this.tooltip_max, "bottom"), this._addClass(this.tooltip_max, "top"), this.tooltip_max.style.top = "", this.tooltip_max.style.bottom = "22px") : (this._removeClass(this.tooltip_max, "top"), this._addClass(this.tooltip_max, "bottom"), this.tooltip_max.style.top = this.tooltip_min.style.top, this.tooltip_max.style.bottom = "") : k.right > l.left ? (this._removeClass(this.tooltip_max, "top"), this._addClass(this.tooltip_max, "bottom"), this.tooltip_max.style.top = "18px") : (this._removeClass(this.tooltip_max, "bottom"), this._addClass(this.tooltip_max, "top"), this.tooltip_max.style.top = this.tooltip_min.style.top)}},_resize: function(a) {this._state.offset = this._offset(this.sliderElem), this._state.size = this.sliderElem[this.sizePos], this._layout()},_removeProperty: function(a, b) {a.style.removeProperty ? a.style.removeProperty(b) : a.style.removeAttribute(b)},_mousedown: function(a) {if(!this._state.enabled) return !1;this._state.offset = this._offset(this.sliderElem), this._state.size = this.sliderElem[this.sizePos];var b = this._getPercentage(a);if(this.options.range) {var c = Math.abs(this._state.percentage[0] - b),d = Math.abs(this._state.percentage[1] - b);this._state.dragged = d > c ? 0 : 1, this._adjustPercentageForRangeSliders(b)} else this._state.dragged = 0;this._state.percentage[this._state.dragged] = b, this._layout(), this.touchCapable && (document.removeEventListener("touchmove", this.mousemove, !1), document.removeEventListener("touchend", this.mouseup, !1)), this.mousemove && document.removeEventListener("mousemove", this.mousemove, !1), this.mouseup && document.removeEventListener("mouseup", this.mouseup, !1), this.mousemove = this._mousemove.bind(this), this.mouseup = this._mouseup.bind(this), this.touchCapable && (document.addEventListener("touchmove", this.mousemove, !1), document.addEventListener("touchend", this.mouseup, !1)), document.addEventListener("mousemove", this.mousemove, !1), document.addEventListener("mouseup", this.mouseup, !1), this._state.inDrag = !0;var e = this._calculateValue();return this._trigger("slideStart", e), this._setDataVal(e), this.setValue(e, !1, !0), this._pauseEvent(a), this.options.focus && this._triggerFocusOnHandle(this._state.dragged), !0},_touchstart: function(a) {if(void 0 === a.changedTouches) return void this._mousedown(a);var b = a.changedTouches[0];this.touchX = b.pageX, this.touchY = b.pageY},_triggerFocusOnHandle: function(a) {0 === a && this.handle1.focus(), 1 === a && this.handle2.focus()},_keydown: function(a, b) {if(!this._state.enabled) return !1;var c;switch(b.keyCode) {case 37:case 40:c = -1;break;case 39:case 38:c = 1}if(c) {if(this.options.natural_arrow_keys) {var d = "vertical" === this.options.orientation && !this.options.reversed,e = "horizontal" === this.options.orientation && this.options.reversed;(d || e) && (c = -c)}var f = this._state.value[a] + c * this.options.step;return this.options.range && (f = [a ? this._state.value[0] : f, a ? f : this._state.value[1]]), this._trigger("slideStart", f), this._setDataVal(f), this.setValue(f, !0, !0), this._setDataVal(f), this._trigger("slideStop", f), this._layout(), this._pauseEvent(b), !1}},_pauseEvent: function(a) {a.stopPropagation && a.stopPropagation(), a.preventDefault && a.preventDefault(), a.cancelBubble = !0, a.returnValue = !1},_mousemove: function(a) {if(!this._state.enabled) return !1;var b = this._getPercentage(a);this._adjustPercentageForRangeSliders(b), this._state.percentage[this._state.dragged] = b, this._layout();var c = this._calculateValue(!0);return this.setValue(c, !0, !0), !1},_touchmove: function(a) {if(void 0 !== a.changedTouches) {var b = a.changedTouches[0],c = b.pageX - this.touchX,d = b.pageY - this.touchY;this._state.inDrag || ("vertical" === this.options.orientation && 5 >= c && c >= -5 && (d >= 15 || -15 >= d) ? this._mousedown(a) : 5 >= d && d >= -5 && (c >= 15 || -15 >= c) && this._mousedown(a))}},_adjustPercentageForRangeSliders: function(a) {if(this.options.range) {var b = this._getNumDigitsAfterDecimalPlace(a);b = b ? b - 1 : 0;var c = this._applyToFixedAndParseFloat(a, b);0 === this._state.dragged && this._applyToFixedAndParseFloat(this._state.percentage[1], b) < c ? (this._state.percentage[0] = this._state.percentage[1], this._state.dragged = 1) : 1 === this._state.dragged && this._applyToFixedAndParseFloat(this._state.percentage[0], b) > c && (this._state.percentage[1] = this._state.percentage[0], this._state.dragged = 0)}},_mouseup: function() {if(!this._state.enabled) return !1;this.touchCapable && (document.removeEventListener("touchmove", this.mousemove, !1), document.removeEventListener("touchend", this.mouseup, !1)), document.removeEventListener("mousemove", this.mousemove, !1), document.removeEventListener("mouseup", this.mouseup, !1), this._state.inDrag = !1, this._state.over === !1 && this._hideTooltip();var a = this._calculateValue(!0);return this._layout(), this._setDataVal(a), this._trigger("slideStop", a), !1},_calculateValue: function(a) {var b;if(this.options.range ? (b = [this.options.min, this.options.max], 0 !== this._state.percentage[0] && (b[0] = this._toValue(this._state.percentage[0]), b[0] = this._applyPrecision(b[0])), 100 !== this._state.percentage[1] && (b[1] = this._toValue(this._state.percentage[1]), b[1] = this._applyPrecision(b[1]))) : (b = this._toValue(this._state.percentage[0]), b = parseFloat(b), b = this._applyPrecision(b)), a) {for(var c = [b, 1 / 0], d = 0; d < this.options.ticks.length; d++) {var e = Math.abs(this.options.ticks[d] - b);e <= c[1] && (c = [this.options.ticks[d], e])}if(c[1] <= this.options.ticks_snap_bounds) return c[0]}return b},_applyPrecision: function(a) {var b = this.options.precision || this._getNumDigitsAfterDecimalPlace(this.options.step);return this._applyToFixedAndParseFloat(a, b)},_getNumDigitsAfterDecimalPlace: function(a) {var b = ("" + a).match(/(?:\.(\d+))?(?:[eE]([+-]?\d+))?$/);return b ? Math.max(0, (b[1] ? b[1].length : 0) - (b[2] ? +b[2] : 0)) : 0},_applyToFixedAndParseFloat: function(a, b) {var c = a.toFixed(b);return parseFloat(c)},_getPercentage: function(a) {!this.touchCapable || "touchstart" !== a.type && "touchmove" !== a.type || (a = a.touches[0]);var b = a[this.mousePos],c = this._state.offset[this.stylePos],d = b - c,e = d / this._state.size * 100;return e = Math.round(e / this._state.percentage[2]) * this._state.percentage[2], this.options.reversed && (e = 100 - e), Math.max(0, Math.min(100, e))},_validateInputValue: function(a) {if("number" == typeof a) return a;if(Array.isArray(a)) return this._validateArray(a), a;throw new Error(f.formatInvalidInputErrorMsg(a))},_validateArray: function(a) {for(var b = 0; b < a.length; b++) {var c = a[b];if("number" != typeof c) throw new Error(f.formatInvalidInputErrorMsg(c))}},_setDataVal: function(a) {this.element.setAttribute("data-value", a), this.element.setAttribute("value", a), this.element.value = a},_trigger: function(b, c) {c = c || 0 === c ? c : void 0;var d = this.eventToCallbackMap[b];if(d && d.length)for(var e = 0; e < d.length; e++) {var f = d[e];f(c)}a && this._triggerJQueryEvent(b, c)},_triggerJQueryEvent: function(a, b) {var c = {type: a,value: b};this.$element.trigger(c), this.$sliderElem.trigger(c)},_unbindJQueryEventHandlers: function() {this.$element.off(), this.$sliderElem.off()},_setText: function(a, b) {void 0 !== a.textContent ? a.textContent = b : void 0 !== a.innerText && (a.innerText = b)},_removeClass: function(a, b) {for(var c = b.split(" "), d = a.className, e = 0; e < c.length; e++) {var f = c[e],g = new RegExp("(?:\\s|^)" + f + "(?:\\s|$)");d = d.replace(g, " ")}a.className = d.trim()},_addClass: function(a, b) {for(var c = b.split(" "), d = a.className, e = 0; e < c.length; e++) {var f = c[e];new RegExp("(?:\\s|^)" + f + "(?:\\s|$)").test(d) || (d += " " + f)}a.className = d.trim()},_offsetLeft: function(a) {return a.getBoundingClientRect().left},_offsetTop: function(a) {for(var b = a.offsetTop;(a = a.offsetParent) && !isNaN(a.offsetTop);) b += a.offsetTop, "BODY" !== a.tagName && (b -= a.scrollTop);return b},_offset: function(a) {return {left: this._offsetLeft(a),top: this._offsetTop(a)}},_css: function(b, c, d) {if(a) a.style(b, c, d);else {var e = c.replace(/^-ms-/, "ms-").replace(/-([\da-z])/gi, function(a, b) {return b.toUpperCase()});b.style[e] = d}},_toValue: function(a) {return this.options.scale.toValue.apply(this, [a])},_toPercentage: function(a) {return this.options.scale.toPercentage.apply(this, [a])},_setTooltipPosition: function() {var a = [this.tooltip, this.tooltip_min, this.tooltip_max];if("vertical" === this.options.orientation) {var b = this.options.tooltip_position || "right",c = "left" === b ? "right" : "left";a.forEach(function(a) {this._addClass(a, b), a.style[c] = "100%"}.bind(this))} else "bottom" === this.options.tooltip_position ? a.forEach(function(a) {this._addClass(a, "bottom"), a.style.top = "22px"}.bind(this)) : a.forEach(function(a) {this._addClass(a, "top"), a.style.top = -this.tooltip.outerHeight - 14 + "px"}.bind(this))}}, a && function() {var e = void 0;a.fn.slider ? (windowIsDefined && window.console.warn("bootstrap-slider.js - WARNING: $.fn.slider namespace is already bound. Use the $.fn.bootstrapSlider namespace instead."), e = c) : (a.bridget(b, d), e = b), a.bridget(c, d), a(function() {a("input[data-provide=slider]")[e]()})}()}(a), d});var ExprEval = function() {"use strict";function a(a, b) {for(var c = 0; c < a.length; c++)if(a[c] === b) return c;return -1}function b(a, b) {this.type = a, this.value = void 0 !== b && null !== b ? b : 0}function c(a, b) {this.tokens = a, this.parser = b, this.unaryOps = b.unaryOps, this.binaryOps = b.binaryOps, this.ternaryOps = b.ternaryOps, this.functions = b.functions}function d(a) {return "string" == typeof a ? JSON.stringify(a).replace(/\u2028/g, "\\u2028").replace(/\u2029/g, "\\u2029") : a}function e(a, c, d, f, g) {for(var h, i, j, k, l = [], m = [], n = 0, o = a.length; n < o; n++) {var p = a[n],q = p.type;if(q === V) l.push(p);else if(q === Z && g.hasOwnProperty(p.value)) p = new b(V, g[p.value]), l.push(p);else if(q === X && l.length > 1) i = l.pop(), h = l.pop(), k = d[p.value], p = new b(V, k(h.value, i.value)), l.push(p);else if(q === Y && l.length > 2) j = l.pop(), i = l.pop(), h = l.pop(), "?" === p.value ? l.push(h.value ? i.value : j.value) : (k = f[p.value], p = new b(V, k(h.value, i.value, j.value)), l.push(p));else if(q === W && l.length > 0) h = l.pop(), k = c[p.value], p = new b(V, k(h.value)), l.push(p);else if(q === _) {for(; l.length > 0;) m.push(l.shift());m.push(new b(_, e(p.value, c, d, f, g)))} else if(q === aa && l.length > 0) h = l.pop(), l.push(new b(V, h.value[p.value]));else {for(; l.length > 0;) m.push(l.shift());m.push(p)}}for(; l.length > 0;) m.push(l.shift());return m}function f(a, c, d) {for(var e = [], g = 0, h = a.length; g < h; g++) {var i = a[g],j = i.type;if(j === Z && i.value === c)for(var k = 0; k < d.tokens.length; k++) {var l, m = d.tokens[k];l = m.type === W ? Q(m.value) : m.type === X ? R(m.value) : m.type === Y ? S(m.value) : new b(m.type, m.value), e.push(l)} else j === _ ? e.push(new b(_, f(i.value, c, d))) : e.push(i)}return e}function g(a, b, c) {for(var d, e, f, h, i = [], j = 0, k = a.length; j < k; j++) {var l = a[j],m = l.type;if(m === V) i.push(l.value);else if(m === X) e = i.pop(), d = i.pop(), h = b.binaryOps[l.value], i.push(h(d, e));else if(m === Y) f = i.pop(), e = i.pop(), d = i.pop(), "?" === l.value ? i.push(g(d ? e : f, b, c)) : (h = b.ternaryOps[l.value], i.push(h(d, e, f)));else if(m === Z)if(l.value in b.functions) i.push(b.functions[l.value]);else {var n = c[l.value];if(void 0 === n) throw new Error("undefined variable: " + l.value);i.push(n)} else if(m === W) d = i.pop(), h = b.unaryOps[l.value], i.push(h(d));else if(m === $) {for(var o = l.value, p = []; o-- > 0;) p.unshift(i.pop());if(h = i.pop(), !h.apply || !h.call) throw new Error(h + " is not a function");i.push(h.apply(void 0, p))} else if(m === _) i.push(l.value);else {if(m !== aa) throw new Error("invalid Expression");d = i.pop(), i.push(d[l.value])}}if(i.length > 1) throw new Error("invalid Expression (parity)");return i[0]}function h(a, b) {for(var c, e, f, g, i = [], j = 0, k = a.length; j < k; j++) {var l = a[j],m = l.type;if(m === V) "number" == typeof l.value && l.value < 0 ? i.push("(" + l.value + ")") : i.push(d(l.value));else if(m === X) e = i.pop(), c = i.pop(), g = l.value, b ? "^" === g ? i.push("Math.pow(" + c + ", " + e + ")") : "and" === g ? i.push("(!!" + c + " && !!" + e + ")") : "or" === g ? i.push("(!!" + c + " || !!" + e + ")") : "||" === g ? i.push("(String(" + c + ") + String(" + e + "))") : "==" === g ? i.push("(" + c + " === " + e + ")") : "!=" === g ? i.push("(" + c + " !== " + e + ")") : i.push("(" + c + " " + g + " " + e + ")") : i.push("(" + c + " " + g + " " + e + ")");else if(m === Y) {if(f = i.pop(), e = i.pop(), c = i.pop(), "?" !== (g = l.value)) throw new Error("invalid Expression");i.push("(" + c + " ? " + e + " : " + f + ")")} else if(m === Z) i.push(l.value);else if(m === W) c = i.pop(), g = l.value, "-" === g || "+" === g ? i.push("(" + g + c + ")") : b ? "not" === g ? i.push("(!" + c + ")") : "!" === g ? i.push("fac(" + c + ")") : i.push(g + "(" + c + ")") : "!" === g ? i.push("(" + c + "!)") : i.push("(" + g + " " + c + ")");else if(m === $) {for(var n = l.value, o = []; n-- > 0;) o.unshift(i.pop());g = i.pop(), i.push(g + "(" + o.join(", ") + ")")} else if(m === aa) c = i.pop(), i.push(c + "." + l.value);else {if(m !== _) throw new Error("invalid Expression");i.push("(" + h(l.value, b) + ")")}}if(i.length > 1) throw new Error("invalid Expression (parity)");return i[0]}function i(b, c) {for(var d = 0, e = b.length; d < e; d++) {var f = b[d];f.type === Z && a(c, f.value) === -1 ? c.push(f.value) : f.type === _ && i(f.value, c)}}function j(a, b) {return Number(a) + Number(b)}function k(a, b) {return a - b}function l(a, b) {return a * b}function m(a, b) {return a / b}function n(a, b) {return a % b}function o(a, b) {return "" + a + b}function p(a, b) {return a === b}function q(a, b) {return a !== b}function r(a, b) {return a > b}function s(a, b) {return a < b}function t(a, b) {return a >= b}function u(a, b) {return a <= b}function v(a, b) {return Boolean(a && b)}function w(a, b) {return Boolean(a || b)}function x(a) {return(Math.exp(a) - Math.exp(-a)) / 2}function y(a) {return(Math.exp(a) + Math.exp(-a)) / 2}function z(a) {return a === 1 / 0 ? 1 : a === -(1 / 0) ? -1 : (Math.exp(a) - Math.exp(-a)) / (Math.exp(a) + Math.exp(-a))}function A(a) {return a === -(1 / 0) ? a : Math.log(a + Math.sqrt(a * a + 1))}function B(a) {return Math.log(a + Math.sqrt(a * a - 1))}function C(a) {return Math.log((1 + a) / (1 - a)) / 2}function D(a) {return Math.log(a) * Math.LOG10E}function E(a) {return -a}function F(a) {return !a}function G(a) {return a < 0 ? Math.ceil(a) : Math.floor(a)}function H(a) {return Math.random() * (a || 1)}function I(a) {return N(a + 1)}function J(a) {return String(a).length}function K() {for(var a = 0, b = 0, c = 0, d = arguments.length; c < d; c++) {var e, f = Math.abs(arguments[c]);b < f ? (e = b / f, a = a * e * e + 1, b = f) : f > 0 ? (e = f / b, a += e * e) : a += f}return b === 1 / 0 ? 1 / 0 : b * Math.sqrt(a)}function L(a, b, c) {return a ? b : c}function M(a) {return isFinite(a) && a === Math.round(a)}function N(a) {var b, c;if(M(a)) {if(a <= 0) return isFinite(a) ? 1 / 0 : NaN;if(a > 171) return 1 / 0;for(var d = a - 2, e = a - 1; d > 1;) e *= d, d--;return 0 === e && (e = 1), e}if(a < .5) return Math.PI / (Math.sin(Math.PI * a) * N(1 - a));if(a >= 171.35) return 1 / 0;if(a > 85) {var f = a * a,g = f * a,h = g * a,i = h * a;return Math.sqrt(2 * Math.PI / a) * Math.pow(a / Math.E, a) * (1 + 1 / (12 * a) + 1 / (288 * f) - 139 / (51840 * g) - 571 / (2488320 * h) + 163879 / (209018880 * i) + 5246819 / (75246796800 * i * a))}--a, c = ca[0];for(var j = 1; j < ca.length; ++j) c += ca[j] / (a + j);return b = a + ba + .5, Math.sqrt(2 * Math.PI) * Math.pow(b, a + .5) * Math.exp(-b) * c}function O(a, b, c, d) {this.type = a, this.value = b, this.line = c, this.column = d}function P(a, b, c, d, e) {this.pos = 0, this.line = 0, this.column = 0, this.current = null, this.unaryOps = b, this.binaryOps = c, this.ternaryOps = d, this.consts = e, this.expression = a, this.savedPosition = 0, this.savedCurrent = null, this.savedLine = 0, this.savedColumn = 0}function Q(a) {var c = la[a];return c || (c = la[a] = new b(W, a)), c}function R(a) {var c = ma[a];return c || (c = ma[a] = new b(X, a)), c}function S(a) {var c = na[a];return c || (c = na[a] = new b(Y, a)), c}function T(a, b, c) {this.parser = a, this.tokens = b, this.current = null, this.nextToken = null, this.next(), this.savedCurrent = null, this.savedNextToken = null, this.allowMemberAccess = c.allowMemberAccess !== !1}function U(a) {this.options = a || {}, this.unaryOps = {sin: Math.sin,cos: Math.cos,tan: Math.tan,asin: Math.asin,acos: Math.acos,atan: Math.atan,sinh: Math.sinh || x,cosh: Math.cosh || y,tanh: Math.tanh || z,asinh: Math.asinh || A,acosh: Math.acosh || B,atanh: Math.atanh || C,sqrt: Math.sqrt,log: Math.log,ln: Math.log,lg: Math.log10 || D,log10: Math.log10 || D,abs: Math.abs,ceil: Math.ceil,floor: Math.floor,round: Math.round,trunc: Math.trunc || G,"-": E,"+": Number,exp: Math.exp,not: F,length: J,"!": I}, this.binaryOps = {"+": j,"-": k,"*": l,"/": m,"%": n,"^": Math.pow,"||": o,"==": p,"!=": q,">": r,"<": s,">=": t,"<=": u,and: v,or: w}, this.ternaryOps = {"?": L}, this.functions = {random: H,fac: I,min: Math.min,max: Math.max,hypot: Math.hypot || K,pyt: Math.hypot || K,pow: Math.pow,atan2: Math.atan2,if: L,gamma: N}, this.consts = {E: Math.E,PI: Math.PI,true: !0,false: !1}}var V = "INUMBER",W = "IOP1",X = "IOP2",Y = "IOP3",Z = "IVAR",$ = "IFUNCALL",_ = "IEXPR",aa = "IMEMBER";b.prototype.toString = function() {switch(this.type) {case V:case W:case X:case Y:case Z:return this.value;case $:return "CALL " + this.value;case aa:return "." + this.value;default:return "Invalid Instruction"}}, c.prototype.simplify = function(a) {return a = a || {}, new c(e(this.tokens, this.unaryOps, this.binaryOps, this.ternaryOps, a), this.parser)}, c.prototype.substitute = function(a, b) {return b instanceof c || (b = this.parser.parse(String(b))), new c(f(this.tokens, a, b), this.parser)}, c.prototype.evaluate = function(a) {return a = a || {}, g(this.tokens, this, a)}, c.prototype.toString = function() {return h(this.tokens, !1)}, c.prototype.symbols = function() {var a = [];return i(this.tokens, a), a}, c.prototype.variables = function() {var a = [];i(this.tokens, a);var b = this.functions;return a.filter(function(a) {return !(a in b)})}, c.prototype.toJSFunction = function(a, b) {var c = this,d = new Function(a, "with(this.functions) with (this.ternaryOps) with (this.binaryOps) with (this.unaryOps) { return " + h(this.simplify(b).tokens, !0) + "; }");return function() {return d.apply(c, arguments)}};var ba = 4.7421875,ca = [.9999999999999971, 57.15623566586292, -59.59796035547549, 14.136097974741746, -.4919138160976202, 3399464998481189e-20, 4652362892704858e-20, -9837447530487956e-20, .0001580887032249125, -.00021026444172410488, .00021743961811521265, -.0001643181065367639, 8441822398385275e-20, -26190838401581408e-21, 36899182659531625e-22],da = "TEOF",ea = "TOP",fa = "TNUMBER",ga = "TSTRING",ha = "TPAREN",ia = "TCOMMA",ja = "TNAME";O.prototype.toString = function() {return this.type + ": " + this.value}, P.prototype.newToken = function(a, b, c, d) {return new O(a, b, null != c ? c : this.line, null != d ? d : this.column)}, P.prototype.save = function() {this.savedPosition = this.pos, this.savedCurrent = this.current, this.savedLine = this.line, this.savedColumn = this.column}, P.prototype.restore = function() {this.pos = this.savedPosition, this.current = this.savedCurrent, this.line = this.savedLine, this.column = this.savedColumn}, P.prototype.next = function() {return this.pos >= this.expression.length ? this.newToken(da, "EOF") : this.isWhitespace() || this.isComment() ? this.next() : this.isNumber() || this.isOperator() || this.isString() || this.isParen() || this.isComma() || this.isNamedOp() || this.isConst() || this.isName() ? this.current : void this.parseError('Unknown character "' + this.expression.charAt(this.pos) + '"')}, P.prototype.isString = function() {var a = !1,b = this.line,c = this.column,d = this.pos,e = this.expression.charAt(d);if("'" === e || '"' === e) {this.pos++, this.column++;for(var f = this.expression.indexOf(e, d + 1); f >= 0 && this.pos < this.expression.length;) {if(this.pos = f + 1, "\\" !== this.expression.charAt(f - 1)) {var g = this.expression.substring(d + 1, f);this.current = this.newToken(ga, this.unescape(g), b, c);for(var h = g.indexOf("\n"), i = -1; h >= 0;) this.line++, this.column = 0, i = h, h = g.indexOf("\n", h + 1);this.column += g.length - i, a = !0;break}f = this.expression.indexOf(e, f + 1)}}return a}, P.prototype.isParen = function() {var a = this.expression.charAt(this.pos);return("(" === a || ")" === a) && (this.current = this.newToken(ha, a), this.pos++, this.column++, !0)}, P.prototype.isComma = function() {return "," === this.expression.charAt(this.pos) && (this.current = this.newToken(ia, ","), this.pos++, this.column++, !0)}, P.prototype.isConst = function() {for(var a = this.pos, b = a; b < this.expression.length; b++) {var c = this.expression.charAt(b);if(c.toUpperCase() === c.toLowerCase() && (b === this.pos || "_" !== c && "." !== c && (c < "0" || c > "9"))) break}if(b > a) {var d = this.expression.substring(a, b);if(d in this.consts) return this.current = this.newToken(fa, this.consts[d]), this.pos += d.length, this.column += d.length, !0}return !1}, P.prototype.isNamedOp = function() {for(var a = this.pos, b = a; b < this.expression.length; b++) {var c = this.expression.charAt(b);if(c.toUpperCase() === c.toLowerCase() && (b === this.pos || "_" !== c && (c < "0" || c > "9"))) break}if(b > a) {var d = this.expression.substring(a, b);if(d in this.binaryOps || d in this.unaryOps || d in this.ternaryOps) return this.current = this.newToken(ea, d), this.pos += d.length, this.column += d.length, !0}return !1}, P.prototype.isName = function() {for(var a = this.pos, b = a; b < this.expression.length; b++) {var c = this.expression.charAt(b);if(c.toUpperCase() === c.toLowerCase() && (b === this.pos || "_" !== c && (c < "0" || c > "9"))) break}if(b > a) {var d = this.expression.substring(a, b);return this.current = this.newToken(ja, d), this.pos += d.length, this.column += d.length, !0}return !1}, P.prototype.isWhitespace = function() {for(var a = !1, b = this.expression.charAt(this.pos);(" " === b || "\t" === b || "\n" === b || "\r" === b) && (a = !0, this.pos++, this.column++, "\n" === b && (this.line++, this.column = 0), !(this.pos >= this.expression.length));) b = this.expression.charAt(this.pos);return a};var ka = /^[0-9a-f]{4}$/i;P.prototype.unescape = function(a) {var b = a.indexOf("\\");if(b < 0) return a;for(var c = a.substring(0, b); b >= 0;) {var d = a.charAt(++b);switch(d) {case "'":c += "'";break;case '"':c += '"';break;case "\\":c += "\\";break;case "/":c += "/";break;case "b":c += "\b";break;case "f":c += "\f";break;case "n":c += "\n";break;case "r":c += "\r";break;case "t":c += "\t";break;case "u":var e = a.substring(b + 1, b + 5);ka.test(e) || this.parseError("Illegal escape sequence: \\u" + e), c += String.fromCharCode(parseInt(e, 16)), b += 4;break;default:throw this.parseError('Illegal escape sequence: "\\' + d + '"')}++b;var f = a.indexOf("\\", b);c += a.substring(b, f < 0 ? a.length : f), b = f}return c}, P.prototype.isComment = function() {if("/" === this.expression.charAt(this.pos) && "*" === this.expression.charAt(this.pos + 1)) {var a = this.pos;this.pos = this.expression.indexOf("*/", this.pos) + 2, 1 === this.pos && (this.pos = this.expression.length);for(var b = this.expression.substring(a, this.pos), c = b.indexOf("\n"); c >= 0;) this.line++, this.column = b.length - c, c = b.indexOf("\n", c + 1);return !0}return !1}, P.prototype.isNumber = function() {for(var a, b = !1, c = this.pos, d = c, e = c, f = this.column, g = f, h = !1, i = !1; c < this.expression.length && ((a = this.expression.charAt(c)) >= "0" && a <= "9" || !h && "." === a);) "." === a ? h = !0 : i = !0, c++, f++, b = i;if(b && (e = c, g = f), "e" === a || "E" === a) {c++, f++;for(var j = !0, k = !1; c < this.expression.length;) {if(a = this.expression.charAt(c), !j || "+" !== a && "-" !== a) {if(!(a >= "0" && a <= "9")) break;k = !0, j = !1} else j = !1;c++, f++}k || (c = e, f = g)}return b ? (this.current = this.newToken(fa, parseFloat(this.expression.substring(d, c))), this.pos = c, this.column = f) : (this.pos = e, this.column = g), b}, P.prototype.isOperator = function() {var a = this.expression.charAt(this.pos);if("+" === a || "-" === a || "*" === a || "/" === a || "%" === a || "^" === a || "?" === a || ":" === a || "." === a) this.current = this.newToken(ea, a);else if("∙" === a || "•" === a) this.current = this.newToken(ea, "*");else if(">" === a) "=" === this.expression.charAt(this.pos + 1) ? (this.current = this.newToken(ea, ">="), this.pos++, this.column++) : this.current = this.newToken(ea, ">");else if("<" === a) "=" === this.expression.charAt(this.pos + 1) ? (this.current = this.newToken(ea, "<="), this.pos++, this.column++) : this.current = this.newToken(ea, "<");else if("|" === a) {if("|" !== this.expression.charAt(this.pos + 1)) return !1;this.current = this.newToken(ea, "||"), this.pos++, this.column++} else if("=" === a) {if("=" !== this.expression.charAt(this.pos + 1)) return !1;this.current = this.newToken(ea, "=="), this.pos++, this.column++} else {if("!" !== a) return !1;"=" === this.expression.charAt(this.pos + 1) ? (this.current = this.newToken(ea, "!="), this.pos++, this.column++) : this.current = this.newToken(ea, a)}return this.pos++, this.column++, !0}, P.prototype.parseError = function(a) {throw new Error("parse error [" + (this.line + 1) + ":" + (this.column + 1) + "]: " + a)};var la = {},ma = {},na = {};T.prototype.next = function() {return this.current = this.nextToken, this.nextToken = this.tokens.next()}, T.prototype.tokenMatches = function(b, c) {return void 0 === c || (Array.isArray(c) ? a(c, b.value) >= 0 : "function" == typeof c ? c(b) : b.value === c)}, T.prototype.save = function() {this.savedCurrent = this.current, this.savedNextToken = this.nextToken, this.tokens.save()}, T.prototype.restore = function() {this.tokens.restore(), this.current = this.savedCurrent, this.nextToken = this.savedNextToken}, T.prototype.accept = function(a, b) {return !(this.nextToken.type !== a || !this.tokenMatches(this.nextToken, b)) && (this.next(), !0)}, T.prototype.expect = function(a, b) {if(!this.accept(a, b)) throw new Error("parse error [" + this.tokens.line + ":" + this.tokens.column + "]: Expected " + (b || a))}, T.prototype.parseAtom = function(a) {if(this.accept(ja)) a.push(new b(Z, this.current.value));else if(this.accept(fa)) a.push(new b(V, this.current.value));else if(this.accept(ga)) a.push(new b(V, this.current.value));else {if(!this.accept(ha, "(")) throw new Error("unexpected " + this.nextToken);this.parseExpression(a), this.expect(ha, ")")}}, T.prototype.parseExpression = function(a) {this.parseConditionalExpression(a)}, T.prototype.parseConditionalExpression = function(a) {for(this.parseOrExpression(a); this.accept(ea, "?");) {var c = [],d = [];this.parseConditionalExpression(c), this.expect(ea, ":"), this.parseConditionalExpression(d), a.push(new b(_, c)), a.push(new b(_, d)), a.push(S("?"))}}, T.prototype.parseOrExpression = function(a) {for(this.parseAndExpression(a); this.accept(ea, "or");) this.parseAndExpression(a), a.push(R("or"))}, T.prototype.parseAndExpression = function(a) {for(this.parseComparison(a); this.accept(ea, "and");) this.parseComparison(a), a.push(R("and"))}, T.prototype.parseComparison = function(a) {for(this.parseAddSub(a); this.accept(ea, ["==", "!=", "<", "<=", ">=", ">"]);) {var b = this.current;this.parseAddSub(a), a.push(R(b.value))}}, T.prototype.parseAddSub = function(a) {for(this.parseTerm(a); this.accept(ea, ["+", "-", "||"]);) {var b = this.current;this.parseTerm(a), a.push(R(b.value))}}, T.prototype.parseTerm = function(a) {for(this.parseFactor(a); this.accept(ea, ["*", "/", "%"]);) {var b = this.current;this.parseFactor(a), a.push(R(b.value))}}, T.prototype.parseFactor = function(a) {function b(a) {return a.value in c}var c = this.tokens.unaryOps;if(this.save(), this.accept(ea, b))if("-" !== this.current.value && "+" !== this.current.value && this.nextToken.type === ha && "(" === this.nextToken.value) this.restore(), this.parseExponential(a);else {var d = this.current;this.parseFactor(a), a.push(Q(d.value))} else this.parseExponential(a)}, T.prototype.parseExponential = function(a) {for(this.parsePostfixExpression(a); this.accept(ea, "^");) this.parseFactor(a), a.push(R("^"))}, T.prototype.parsePostfixExpression = function(a) {for(this.parseFunctionCall(a); this.accept(ea, "!");) a.push(Q("!"))}, T.prototype.parseFunctionCall = function(a) {function c(a) {return a.value in d}var d = this.tokens.unaryOps;if(this.accept(ea, c)) {var e = this.current;this.parseAtom(a), a.push(Q(e.value))} elsefor(this.parseMemberExpression(a); this.accept(ha, "(");)if(this.accept(ha, ")")) a.push(new b($, 0));else {var f = this.parseArgumentList(a);a.push(new b($, f))}}, T.prototype.parseArgumentList = function(a) {for(var b = 0; !this.accept(ha, ")");)for(this.parseExpression(a), ++b; this.accept(ia);) this.parseExpression(a), ++b;return b}, T.prototype.parseMemberExpression = function(a) {for(this.parseAtom(a); this.accept(ea, ".");) {if(!this.allowMemberAccess) throw new Error('unexpected ".", member access is not permitted');this.expect(ja), a.push(new b(aa, this.current.value))}}, U.prototype.parse = function(a) {var b = [],d = new T(this, new P(a, this.unaryOps, this.binaryOps, this.ternaryOps, this.consts), {allowMemberAccess: this.options.allowMemberAccess});return d.parseExpression(b), d.expect(da, "EOF"), new c(b, this)}, U.prototype.evaluate = function(a, b) {return this.parse(a).evaluate(b)};var oa = new U;return U.parse = function(a) {return oa.parse(a)}, U.evaluate = function(a, b) {return oa.parse(a).evaluate(b)}, {Parser: U,Expression: c}}();! function(a, b) {"use strict";function c() {function c(a, b) {var c, d = {},e = a.split(",");for(c = 0; c < e.length; c++) d[b ? i(e[c]) : e[c]] = !0;return d}function d(b, c) {null === b || void 0 === b ? b = "" : "string" != typeof b && (b = "" + b), s.innerHTML = b;var d = 5;do {if(0 === d) throw m("uinput", "Failed to sanitize html because the input is unstable");d--, a.document.documentMode && q(s), b = s.innerHTML, s.innerHTML = b} while (b !== s.innerHTML);for(var e = s.firstChild; e;) {switch(e.nodeType) {case 1:c.start(e.nodeName.toLowerCase(), n(e.attributes));break;case 3:c.chars(e.textContent)}var f;if(!((f = e.firstChild) || (1 === e.nodeType && c.end(e.nodeName.toLowerCase()), f = e.nextSibling)))for(; null == f && (e = e.parentNode) !== s;) f = e.nextSibling, 1 === e.nodeType && c.end(e.nodeName.toLowerCase());e = f}for(; e = s.firstChild;) s.removeChild(e)}function n(a) {for(var b = {}, c = 0, d = a.length; c < d; c++) {var e = a[c];b[e.name] = e.value}return b}function o(a) {return a.replace(/&/g, "&").replace(t, function(a) {return "" + (1024 * (a.charCodeAt(0) - 55296) + (a.charCodeAt(1) - 56320) + 65536) + ";"}).replace(u, function(a) {return "" + a.charCodeAt(0) + ";"}).replace(//g, ">")}function p(a, b) {var c = !1,d = e(a, a.push);return {start: function(a, e) {a = i(a), !c && C[a] && (c = a), c || D[a] !== !0 || (d("<"), d(a), g(e, function(c, e) {var f = i(e),g = "img" === a && "src" === f || "background" === f;H[f] !== !0 || E[f] === !0 && !b(c, g) || (d(" "), d(e), d('="'), d(o(c)), d('"'))}), d(">"))},end: function(a) {a = i(a), c || D[a] !== !0 || v[a] === !0 || (d(""), d(a), d(">")), a == c && (c = !1)},chars: function(a) {c || d(o(a))}}}function q(b) {for(; b;) {if(b.nodeType === a.Node.ELEMENT_NODE)for(var c = b.attributes, d = 0, e = c.length; d < e; d++) {var f = c[d],g = f.name.toLowerCase();"xmlns:ns1" !== g && 0 !== g.lastIndexOf("ns1:", 0) || (b.removeAttributeNode(f), d--, e--)}var h = b.firstChild;h && q(h), b = b.nextSibling}}var r = !1;this.$get = ["$$sanitizeUri", function(a) {return r && f(D, B),function(b) {var c = [];return k(b, l(c, function(b, c) {return !/^unsafe:/.test(a(b, c))})), c.join("")}}], this.enableSvg = function(a) {return h(a) ? (r = a, this) : r}, e = b.bind, f = b.extend, g = b.forEach, h = b.isDefined, i = b.lowercase, j = b.noop, k = d, l = p;var s, t = /[\uD800-\uDBFF][\uDC00-\uDFFF]/g,u = /([^#-~ |!])/g,v = c("area,br,col,hr,img,wbr"),w = c("colgroup,dd,dt,li,p,tbody,td,tfoot,th,thead,tr"),x = c("rp,rt"),y = f({}, x, w),z = f({}, w, c("address,article,aside,blockquote,caption,center,del,dir,div,dl,figure,figcaption,footer,h1,h2,h3,h4,h5,h6,header,hgroup,hr,ins,map,menu,nav,ol,pre,section,table,ul")),A = f({}, x, c("a,abbr,acronym,b,bdi,bdo,big,br,cite,code,del,dfn,em,font,i,img,ins,kbd,label,map,mark,q,ruby,rp,rt,s,samp,small,span,strike,strong,sub,sup,time,tt,u,var")),B = c("circle,defs,desc,ellipse,font-face,font-face-name,font-face-src,g,glyph,hkern,image,linearGradient,line,marker,metadata,missing-glyph,mpath,path,polygon,polyline,radialGradient,rect,stop,svg,switch,text,title,tspan"),C = c("script,style"),D = f({}, v, z, A, y),E = c("background,cite,href,longdesc,src,xlink:href"),F = c("abbr,align,alt,axis,bgcolor,border,cellpadding,cellspacing,class,clear,color,cols,colspan,compact,coords,dir,face,headers,height,hreflang,hspace,ismap,lang,language,nohref,nowrap,rel,rev,rows,rowspan,rules,scope,scrolling,shape,size,span,start,summary,tabindex,target,title,type,valign,value,vspace,width"),G = c("accent-height,accumulate,additive,alphabetic,arabic-form,ascent,baseProfile,bbox,begin,by,calcMode,cap-height,class,color,color-rendering,content,cx,cy,d,dx,dy,descent,display,dur,end,fill,fill-rule,font-family,font-size,font-stretch,font-style,font-variant,font-weight,from,fx,fy,g1,g2,glyph-name,gradientUnits,hanging,height,horiz-adv-x,horiz-origin-x,ideographic,k,keyPoints,keySplines,keyTimes,lang,marker-end,marker-mid,marker-start,markerHeight,markerUnits,markerWidth,mathematical,max,min,offset,opacity,orient,origin,overline-position,overline-thickness,panose-1,path,pathLength,points,preserveAspectRatio,r,refX,refY,repeatCount,repeatDur,requiredExtensions,requiredFeatures,restart,rotate,rx,ry,slope,stemh,stemv,stop-color,stop-opacity,strikethrough-position,strikethrough-thickness,stroke,stroke-dasharray,stroke-dashoffset,stroke-linecap,stroke-linejoin,stroke-miterlimit,stroke-opacity,stroke-width,systemLanguage,target,text-anchor,to,transform,type,u1,u2,underline-position,underline-thickness,unicode,unicode-range,units-per-em,values,version,viewBox,visibility,width,widths,x,x-height,x1,x2,xlink:actuate,xlink:arcrole,xlink:role,xlink:show,xlink:title,xlink:type,xml:base,xml:lang,xml:space,xmlns,xmlns:xlink,y,y1,y2,zoomAndPan", !0),H = f({}, E, G, F);! function(a) {var b;if(!a.document || !a.document.implementation) throw m("noinert", "Can't create an inert html document");b = a.document.implementation.createHTMLDocument("inert");var c = b.documentElement || b.getDocumentElement(),d = c.getElementsByTagName("body");if(1 === d.length) s = d[0];else {var e = b.createElement("html");s = b.createElement("body"), e.appendChild(s), b.appendChild(e)}}(a)}function d(a) {var b = [];return l(b, j).chars(a), b.join("")}var e, f, g, h, i, j, k, l, m = b.$$minErr("$sanitize");b.module("ngSanitize", []).provider("$sanitize", c), b.module("ngSanitize").filter("linky", ["$sanitize", function(a) {var c = /((ftp|https?):\/\/|(www\.)|(mailto:)?[A-Za-z0-9._%+-]+@)\S*[^\s.;,(){}<>"\u201d\u2019]/i,e = /^mailto:/i,f = b.$$minErr("linky"),g = b.isDefined,h = b.isFunction,i = b.isObject,j = b.isString;return function(b, k, l) {function m(a) {a && t.push(d(a))}function n(a, b) {var c, d = r(a);t.push("'), m(b), t.push("")}if(null == b || "" === b) return b;if(!j(b)) throw f("notstring", "Expected string but received: {0}", b);for(var o, p, q, r = h(l) ? l : i(l) ? function() {return l} : function() {return {}}, s = b, t = []; o = s.match(c);) p = o[0], o[2] || o[4] || (p = (o[3] ? "http://" : "mailto:") + p), q = o.index, m(s.substr(0, q)), n(p, o[0].replace(e, "")), s = s.substring(q + o[0].length);return m(s), a(t.join(""))}}])}(window, window.angular),function() {"use strict";function a() {function a() {b.data = {}, Number.prototype.formatMoney = function(a, b) {b = isNaN(b = Math.abs(b)) ? 2 : b;var c = this,d = "en" === a ? "." : ",",e = "en" === a ? "," : " ",f = c < 0 ? "-" : "",g = parseInt(c = Math.abs(+c || 0).toFixed(b)) + "",h = (h = g.length) > 3 ? h % 3 : 0;return f + (h ? g.substr(0, h) + e : "") + g.substr(h).replace(/(\d{3})(?=\d)/g, "$1" + e) + (b ? d + Math.abs(c - g).toFixed(b).slice(2) : "")}}var b = this;a()}angular.module("tdct", ["app.components", "app.services", "ngAria", "tdFilters", "tdCommonFactory"]).controller("AppController", a), a.$inject = []}(),function() {"use strict";angular.module("app.components", ["app.logicTools", "app.forms"])}(),function() {"use strict";angular.module("app.forms", [])}(),function() {"use strict";angular.module("app.logicTools", ["tdcards", "tdborrowing", "ngSanitize"])}(),function() {"use strict";angular.module("app.projectionTools", ["tdProjection"])}(),function() {"use strict";function a() {function a(a, b, c) {b.bind("mouseDown click", function() {/Trident.*rv[ :]*11\./.test(navigator.userAgent) || b[0].blur()})}return {restrict: "A",link: a}}angular.module("app.forms").directive("tdFocus", a), a.$inject = []}(),function() {"use strict";function a(a, b, c) {function d(b, c, d, e, f) {function g() {function f(a, b, c) {l[a] = b || c}function g(a, b, c) {l[a] = b || 0 === b ? parseFloat(b) : c}function j(a, b, c) {l[a] = b ? b + "" == "true" : c}function k(a) {return angular.isString(a) && 0 === a.indexOf("[") ? angular.fromJson(a) : a}var l = {};f("id", b.sliderid), f("orientation", d.orientation, "horizontal"), f("selection", d.selection, "before"), f("handle", d.handle, "round"), f("tooltip", d.sliderTooltip || d.tooltip, "show"), f("tooltip_position", d.sliderTooltipPosition, "top"), f("tooltipseparator", d.tooltipseparator, ":"), f("ticks", b.ticks), f("ticks_labels", b.ticksLabels), f("ticks_snap_bounds", b.ticksSnapBounds), f("ticks_positions", b.ticksPositions), f("scale", b.scale, "linear"), f("focus", b.focus), g("min", b.min, 0), g("max", b.max, 10), g("step", b.step, 1);var m = l.step + "",n = m.search(/[^.,]*$/),o = m.substring(n);if(g("precision", d.precision, o.length), j("tooltip_split", d.tooltipsplit, !1), j("enabled", d.enabled, !0), j("naturalarrowkeys", d.naturalarrowkeys, !1), j("reversed", d.reversed, !1), j("range", b.range, !1), l.range) {if(angular.isArray(b.value)) l.value = b.value;else if(angular.isString(b.value)) {if(l.value = k(b.value), !angular.isArray(l.value)) {var p = parseFloat(b.value);isNaN(p) && (p = 5), p < b.min ? (p = b.min, l.value = [p, l.max]) : p > b.max ? (p = b.max, l.value = [l.min, p]) : l.value = [l.min, l.max]}} else l.value = [l.min, l.max];b.ngModel = l.value} else g("value", b.value, 5);d.formatter && (l.formatter = function(a) {return b.formatter({value: a})});var q = "false";void 0 !== d.tooltipAriatag && (q = d.tooltipAriatag), "$" in window && $.fn.slider && ($.fn.slider.constructor.prototype.disable = function() {this.picker.off()}, $.fn.slider.constructor.prototype.enable = function() {this.picker.on()}), c[0].__slider && c[0].__slider.destroy();var r = new Slider(c[0].getElementsByClassName("slider-input")[0], l);c[0].__slider = r, "true" == q && angular.element(c[0].__slider.element).prev().children().next().attr("aria-live", "assertive"), angular.element(document).ready(function() {angular.element(c[0].__slider.element).prev().children().next().next().next().next().attr("tabindex", "-1")});var s = k(d.updateevent);s = angular.isString(s) ? [s] : ["slide"], angular.forEach(s, function(a) {r.on(a, function(a) {e.$setViewValue(a)})}), r.on("change", function(a) {e.$setViewValue(a.newValue)});var t = {slideStart: "onStartSlide",slide: "onSlide",slideStop: "onStopSlide"};return angular.forEach(t, function(c, e) {var f = a(d[c]);r.on(e, function(a) {b[c] && b.$apply(function() {f(b.$parent, {$event: a,value: a})})})}), angular.isFunction(i) && (i(), i = null), i = b.$watch("ngDisabled", function(a) {a ? r.disable() : r.enable()}), angular.isFunction(h) && h(), h = b.$watch("ngModel", function(a) {b.range ? r.setValue(a) : r.setValue(parseFloat(a)), r.relayout()}, !0), r}var h, i, j = g(),k = ["min", "max", "step", "range", "scale", "ticksLabels"];angular.forEach(k, function(a) {b.$watch(a, function() {j = g()})});var l = ["relayout", "refresh", "resize"];angular.forEach(l, function(a) {angular.isFunction(j[a]) && b.$on("slider:" + a, function() {j[a]()})})}return {link: d,restrict: "AE",replace: !0,template: '

',require: "ngModel",scope: {max: "=",min: "=",step: "=",value: "=",ngModel: "=",ngDisabled: "=",range: "=",sliderid: "=",ticks: "=",ticksLabels: "=",ticksSnapBounds: "=",ticksPositions: "=",scale: "=",focus: "=",formatter: "&",onStartSlide: "&",onStopSlide: "&",onSlide: "&"}}}angular.module("app.forms").directive("tdRangeSlider", a), a.$inject = ["$parse", "$timeout", "$rootScope"]}(),function() {"use strict";function a(a, b, c, d, e, f, g) {var h = this,i = b.find(".td-borrowing-tool .td-form-col"),j = b.find(".td-borrowing-tool .td-form-col:last-child > div");h.loanAmount = {}, h.input = [], h.slider = [];var k, l, m = new g.tdCommon;"psi" == h.options.borrowing_type && (l = new e.PSI(h.options.dataUrl, d), l.obj_http.then(function(a) {l.__set_data(a.data);var b = l.__get_data();l.__set_r2_formula(b), l.__set_payment_formula_case_1(b), l.__set_payment_formula_case_2(b), h.loanCalculator(), document.addEventListener("tdActiveTabChangedExternal", function(a) {a.stopPropagation(), h.td_form_col_height(i)})}, function(a) {})), "uloc" == h.options.borrowing_type && (l = new e.ULOC(h.options.dataUrl, d), l.obj_http.then(function(a) {l.__set_data(a.data);var b = l.__get_data();l.__set_payment_formula_case_1(b), l.__set_payment_formula_case_2(b), l.__set_payment_formula_case_3(b), h.loanCalculator(), document.addEventListener("tdActiveTabChangedExternal", function(a) {a.stopPropagation(), h.td_form_col_height(i)})}, function(a) {})), h.loanAmount.value = h.options.input[0].value, h.loanAmount.dollars = 0, h.calculatorResult = 0, h.calculatorResultFormatted = 0, "uloc" != h.options.borrowing_type ? h.slider.push({value: h.options.slider[0].value}) : h.options.slider.forEach(function(a, b, c) {var d, e, f, g;g = a.value, d = a.value.formatMoney(h.options.lang, 0), e = a.min.formatMoney(h.options.lang, 0), f = a.max.formatMoney(h.options.lang, 0), e = "fr" === h.options.lang ? e + " $" : "$" + e, f = "fr" === h.options.lang ? f + " $" : "$" + f, h.slider.push({value: g,dollars: d,labelMin: e,labelMax: f,description: a.description,label: a.label})}), h.updateSlider = function(a) {var b;b = h.slider[a].dollars.replace(/\D/g, ""), b = b ? parseInt(b, 10) : 0, b > h.options.slider[a].max && (b = h.options.slider[a].max), h.slider[a].dollars = b.formatMoney(h.options.lang, 0), h.slider[a].value = b, void 0 !== h.interestRate && h.loanCalculator()}, h.updateDollars = function(a) {h.slider[a].dollars = h.slider[a].value.formatMoney(h.options.lang, 0), void 0 !== h.interestRate && h.loanCalculator()}, h.updateLoanAmount = function() {var a;a = h.loanAmount.dollars.replace(/\D/g, ""), a > h.options.input[0].max && (a = h.options.input[0].max), a = a ? parseInt(a, 10) : 0, h.loanAmount.dollars = a.formatMoney(h.options.lang, 0), h.loanAmount.value = a, h.loanCalculator()}, h.updateRate = function() {var a = h.interestRate.replace(/[^\d.]/, "");a < 0 && (a = ""), "uloc" != h.options.borrowing_type ? a > h.options.input[1].max && (a = h.options.input[1].max) : a > h.options.input[0].max && (a = h.options.input[0].max), h.interestRate = a, h.loanCalculator()}, h.updateTerm = function(a) {var b;b = h.slider[a].value.replace(/\D/g, ""), console.log(b), k = document.forms["td-logic-tool-form"].slider1.value, 0 == k && "" != k && (b = 1), b > h.options.slider[a].max && (b = h.options.slider[a].max), h.slider[a].value = b, h.loanCalculator()}, h.loanCalculator = function() {var a = h.interestRate;if(void 0 === a || "" == a) {h.calculatorResultFormatted = (0).formatMoney(h.options.lang, 2)} else void 0 !== l && ("uloc" != h.options.borrowing_type ? "" != k && (h.calculatorResult = l.calculation(h.loanAmount.value, a, h.slider[0].value), h.calculatorResultFormatted = h.calculatorResult.formatMoney(h.options.lang, 2)) : (h.calculatorResult = l.calculation(h.slider[0].value, a), h.slider[0].value <= l.__get_payment_formula_case_3() && (h.calculatorResult = h.slider[0].value), h.calculatorResultFormatted = h.calculatorResult.formatMoney(h.options.lang, 2)));h.td_form_col_height(i)}, h.toolFormSubmit = function() {var a;a = h.options.formAction.openInNewWindow === !0 ? "_blank" : "_self", window.open(h.options.formAction.url, a)}, h.td_form_col_height = function(a) {c.innerWidth < 768 ? (a.css("height", "auto"), j.removeClass("gcenter")) : (a.css("height", "auto"), h.equalHeight(a), j.addClass("gcenter"))}, h.equalHeight = function(a) {var b = m.__equalHeight(a);a.css("height", b + "px")}, h.autoTextSelector = function(a) {m.__autoTextSelector(a)}, h.to_trusted = function(a) {return f.trustAsHtml(a)}, angular.element(c).bind("resize", function() {h.td_form_col_height(i)})}angular.module("app.logicTools").component("tdBorrowingTool", {controller: a,bindings: {data: "<",options: "="},template: '\n

\n\n

\n

\n

\n

\n

\n

\n\n

\n

\n

\n

\n

\n

\n\n

\n

\n

\n\n

\n

\n\t

\n\t\t

\n\t\t\t

\n\t\t\t

\n\t\t

\n\t

\n

'}), a.$inject = ["tsService", "$element", "$window", "$http", "tdBorrowingInfo", "$sce", "tdCommonFactory"]}(),function() {"use strict";function a(a, b, c, d, e, f, g) {function h(a) {return a.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",")}var i = this,j = b.find(".td-logic-tools-banner > div > div:last-child");j.find("img");i.slider = [];var k = new g.tdCommon,l = new e.OtherCardRewards(i.options.dataUrl, d);l.obj_http.then(function(a) {l.__set_data(a.data);var b = l.__get_data();l.__set_td_points_per_dollar(b), l.__set_welcome_bonus(b), l.__set_base_redemption_td_point(b), l.__set_base_redemption_dollar(b), l.__set_td_points_in_year_one_formula(b), l.__set_value_of_travel_rewards_formula(b), l.__set_bucket_print(b), i.pointsCalculator(), i.leftHeadervalue()}, function(a) {}), i.options.slider.forEach(function(a, b, c) {var d, e, f, g;g = a.value, d = a.value.formatMoney(i.options.lang, 0), e = a.min.formatMoney(i.options.lang, 0), f = a.max.formatMoney(i.options.lang, 0), e = "fr" === i.options.lang ? e + " $" : "$" + e, f = "fr" === i.options.lang ? f + " $" : "$" + f, i.slider.push({value: g,dollars: d,labelMin: e,labelMax: f,description: a.description,label: a.label})}), i.updateSlider = function(a) {var b;b = i.slider[a].dollars.replace(/\D/g, ""), b = b ? parseInt(b, 10) : 0, b < i.options.slider[a].min && (b = i.options.slider[a].min), b > i.options.slider[a].max && (b = i.options.slider[a].max), i.slider[a].dollars = b.formatMoney(i.options.lang, 0), i.slider[a].value = b, i.pointsCalculator(), i.leftHeadervalue()}, i.updateDollars = function(a) {i.slider[a].dollars = i.slider[a].value.formatMoney(i.options.lang, 0), i.pointsCalculator(), i.leftHeadervalue()}, i.pointsCalculator = function() {var a = l.calculation_points(i.slider[0].value),b = l.calculation(i.slider[0].value);i.cashDiscount = parseFloat(a).toFixed(2), i.additonalDiscount = parseFloat(b).toFixed(2), i.totalFinalDiscount = parseFloat(a + b).toFixed(2)}, i.leftHeadervalue = function() {var a = h(i.slider[0].value);if("" == i.previousvalue) {var b = i.options.results.headingPart2,c = b.replace("Slider", a);i.previousvalue = c, document.getElementById("spend_header").innerHTML = c} else {var b = i.options.results.headingPart2,c = b.replace("Slider", a);document.getElementById("spend_header").innerHTML = c, i.previousvalue = c}}, i.autoTextSelector = function(a) {k.__autoTextSelector(a)}, i.to_trusted = function(a) {return f.trustAsHtml(a)}}angular.module("app.logicTools").component("tdPoints2xTool", {controller: a,bindings: {data: "<",options: "="},template: '\n

'}), a.$inject = ["tsService", "$element", "$window", "$http", "tdCardInfo", "$sce", "tdCommonFactory"]}(),function() {"use strict";function a(a, b, c, d, e, f, g) {var h = this,i = b.find(".td-logic-tools-banner > div > div:last-child");i.find("img");h.slider = [];var j, k, l = new g.tdCommon,m = new e.OtherCardRewards(h.options.dataUrl, d);m.obj_http.then(function(a) {m.__set_data(a.data);var b = m.__get_data();m.__set_td_points_per_dollar(b), m.__set_welcome_bonus(b), m.__set_base_redemption_td_point(b), m.__set_base_redemption_dollar(b), m.__set_td_points_in_year_one_formula(b), m.__set_value_of_travel_rewards_formula(b), m.__set_bucket_print(b), h.pointsCalculator()}, function(a) {}), h.options.slider.forEach(function(a, b, c) {var d, e, f, g;g = a.value, d = a.value.formatMoney(h.options.lang, 0), e = a.min.formatMoney(h.options.lang, 0), f = a.max.formatMoney(h.options.lang, 0), e = "fr" === h.options.lang ? e + " $" : "$" + e, f = "fr" === h.options.lang ? f + " $" : "$" + f, h.slider.push({value: g,dollars: d,labelMin: e,labelMax: f,description: a.description,label: a.label})}), h.updateSlider = function(a) {var b;b = h.slider[a].dollars.replace(/\D/g, ""), b = b ? parseInt(b, 10) : 0, b < h.options.slider[a].min && (b = h.options.slider[a].min), b > h.options.slider[a].max && (b = h.options.slider[a].max), h.slider[a].dollars = b.formatMoney(h.options.lang, 0), h.slider[a].value = b, h.pointsCalculator()}, h.updateDollars = function(a) {h.slider[a].dollars = h.slider[a].value.formatMoney(h.options.lang, 0), h.pointsCalculator()}, h.pointsCalculator = function() {var a = m.calculation_points(h.slider[0].value),b = m.calculation(a),d = m.__get_bucket_print(),e = "";if(void 0 !== d) {if(e = m.bucket_print(d, h.slider[0].value), j = m.__get_bucket_imgs(), k = m.__get_bucket_img_alts(), h.options.banner.description = f.trustAsHtml(e), void 0 !== j) {var g = m.bucket_img(j, m.__get_breakpoint(c.innerWidth));void 0 !== g && (h.options.banner.img = f.trustAsUrl(g))} else h.options.banner.img = f.trustAsUrl("");if(void 0 !== k) {var i = m.bucket_img_alt(k, m.__get_breakpoint(c.innerWidth));void 0 !== i && (h.options.banner.alt = f.trustAsHtml(i))} else h.options.banner.alt = f.trustAsHtml("")}h.calculatorPointsResult = a.formatMoney(h.options.lang, 0), h.calculatorResultFormatted = b.formatMoney(h.options.lang, 2)}, h.toolFormSubmit = function() {var a;a = h.options.formAction.openInNewWindow === !0 ? "_blank" : "_self", window.open(h.options.formAction.url, a)}, h.toolBannerSubmit = function() {var a;a = h.options.bannerAction.openInNewWindow === !0 ? "_blank" : "_self", window.open(h.options.bannerAction.url, a)}, h.image_load = function() {if(c.innerWidth < 768) i.css("display", "none").attr("aria-hidden", !0);else {if(void 0 !== j) {var a = m.bucket_img(j, m.__get_breakpoint(c.innerWidth));void 0 !== a && i.find("img").attr("src", a)} else i.find("img").attr("src", "");if(void 0 !== k) {var b = m.bucket_img_alt(k, m.__get_breakpoint(c.innerWidth));void 0 !== b && i.find("img").attr("alt", b)} else i.find("img").attr("alt", "");i.css("display", "block").attr("aria-hidden", !1)}}, angular.element(c).bind("resize", function() {h.image_load()}), h.image_load(), h.autoTextSelector = function(a) {l.__autoTextSelector(a)}, h.to_trusted = function(a) {return f.trustAsHtml(a)}}angular.module("app.logicTools").component("tdPointsTool", {controller: a,bindings: {data: "<",options: "="},template: '\n

\n\n

\n

\n

\n

\n

\n

\n\n

\n

\n

\n

\n

\n

\n\n

\n

\n

\n\n

\n

\n \n

\n\n

\n

\n

\n

\n \n

\n

\n\n

\n\t\t\tApply For a Small Business Loan or Line of Credit Online| TD Bank (1)\n

\n

\n

\n\n

\n

\n\t

\n\t\t

\n\t\t\t

\n\t\t\t

\n\t\t

\n\t

\n

'}), a.$inject = ["tsService", "$element", "$window", "$http", "tdCardInfo", "$sce", "tdCommonFactory"]}(),function() {"use strict";function a(a, b, c, d, e, f, g) {var h = this,i = b.find(".td-reward-tool .td-form-col"),j = b.find(".td-reward-tool .td-form-col:last-child > div");h.slider = [];var k, l, m, n = new g.tdCommon,o = new e.OtherCardRewards(h.options.dataUrl, d);o.obj_http.then(function(a) {o.__set_data(a.data);var b = o.__get_data();k = new e.Reward, k.__set_bonus_rate(b), k.__set_rate1(b), k.__set_rate2(b), k.__set_threshold1(b), k.__set_threshold2(b), k.__set_base_redemption_td_point(b), k.__set_td_points_in_year_one_formula(b), k.__set_value_of_travel_rewards_formula(b), 1 == h.options.banner_status && k.__set_bucket_print(b), h.pointsCalculator(), document.addEventListener("tdActiveTabChangedExternal", function(a) {a.stopPropagation(), h.image_load(), h.td_form_col_height(i)})}, function(a) {}), h.options.slider.forEach(function(a, b, c) {var d, e, f, g;g = a.value, d = a.value.formatMoney(h.options.lang, 0), e = a.min.formatMoney(h.options.lang, 0), f = a.max.formatMoney(h.options.lang, 0), e = "fr" === h.options.lang ? e + " $" : "$" + e, f = "fr" === h.options.lang ? f + " $" : "$" + f, h.slider.push({value: g,dollars: d,labelMin: e,labelMax: f,description: a.description,label: a.label})}), h.updateSlider = function(a) {var b;b = h.slider[a].dollars.replace(/\D/g, ""), b = b ? parseInt(b, 10) : 0, b < 0 && (b = ""), b > h.options.slider[a].max && (b = h.options.slider[a].max), h.slider[a].dollars = b.formatMoney(h.options.lang, 0), h.slider[a].value = b, h.pointsCalculator()}, h.updateDollars = function(a) {h.slider[a].dollars = h.slider[a].value.formatMoney(h.options.lang, 0), h.pointsCalculator()}, h.toolFormSubmit = function() {var a;a = h.options.formAction.openInNewWindow === !0 ? "_blank" : "_self", window.open(h.options.formAction.url, a)}, h.toolBannerSubmit = function() {var a;a = h.options.bannerAction.openInNewWindow === !0 ? "_blank" : "_self", window.open(h.options.bannerAction.url, a)}, h.pointsCalculator = function() {var a = k.calculation_points(h.slider[0].value, h.slider[1].value),b = k.calculation(a),d = k.__get_bucket_print(),e = "";if(void 0 !== d) {if(e = k.bucket_print(d, b), l = k.__get_bucket_imgs(), m = k.__get_bucket_img_alts(), h.options.banner.description = f.trustAsHtml(e), void 0 !== l) {var g = k.bucket_img(l, k.__get_breakpoint(c.innerWidth));void 0 !== g && (h.options.banner.img = f.trustAsUrl(g))} else h.options.banner.img = f.trustAsUrl("");if(void 0 !== m) {var j = k.bucket_img_alt(m, k.__get_breakpoint(c.innerWidth));void 0 !== j && (h.options.banner.alt = f.trustAsHtml(j))} else h.options.banner.alt = f.trustAsHtml("")}h.calculatorPointsResult = a.formatMoney(h.options.lang, 0), h.calculatorResultFormatted = b.formatMoney(h.options.lang, 2), h.td_form_col_height(i)}, h.td_form_col_height = function(a) {c.innerWidth < 768 ? (a.css("height", "auto"), j.removeClass("gcenter")) : (a.css("height", "auto"), h.equalHeight(a), j.addClass("gcenter"))}, h.equalHeight = function(a) {var b = n.__equalHeight(a);a.css("height", b + "px")}, h.autoTextSelector = function(a) {n.__autoTextSelector(a)}, h.to_trusted = function(a) {return f.trustAsHtml(a)}, h.image_load = function() {if(1 == h.options.banner_status) {var a = b.find(".td-logic-tools-banner > div > div:last-child");if(c.innerWidth < 768) a.css("display", "none").attr("aria-hidden", !0);else {if(void 0 !== l) {var d = k.bucket_img(l, k.__get_breakpoint(c.innerWidth));void 0 !== d && a.find("img").attr("src", d)} else a.find("img").attr("src", "");if(void 0 !== m) {var e = k.bucket_img_alt(m, k.__get_breakpoint(c.innerWidth));void 0 !== e && a.find("img").attr("alt", e)} else a.find("img").attr("alt", "");a.css("display", "block").attr("aria-hidden", !1)}} else {b.find(".td-logic-tools-banner").css("display", "none").attr("aria-hidden", !0)}}, angular.element(c).bind("resize", function() {h.image_load(), h.td_form_col_height(i)}), h.image_load()}angular.module("app.logicTools").component("tdPointsToolReward", {controller: a,bindings: {data: "<",options: "="},template: '\n

\n\n

\n

\n

\n

\n

\n

\n\n

\n

\n

\n

\n

\n

\n\n

\n

\n

\n\n

\n

\n \n

\n\n

\n

\n

\n

\n \n

\n

\n\n

\n\t\t\tApply For a Small Business Loan or Line of Credit Online| TD Bank (2)\n

\n

\n

\n\n

\n

\n\t

\n\t\t

\n\t\t\t

\n\t\t\t

\n\t\t

\n\t

\n

'}), a.$inject = ["tsService", "$element", "$window", "$http", "tdCardInfo", "$sce", "tdCommonFactory"]}(), setTimeout(function() {$("#controllerID_Investment_Calc").length > 0 && window.addEventListener("orientationchange", function() {setTimeout(function() {$(window).width() > 768 ? ($("#closeButton").trigger("click"), angular.element($("#controllerID_Investment_Calc")).scope().$ctrl.updateCalculator()) : angular.element($("#controllerID_Investment_Calc")).scope().$ctrl.updateCalculator()}, 100)}, !1)}, 100), $(function() {$("input[id=termYear]").on("input", function() {var a = $("input[id=termYear]").val().length;1 == a && ("0" === $(this).val() || isNaN(a)) && (this.placeholder = "1", $(this).val(""))})}), $(function() {$("input[id=interestRateInvestment]").on("input", function() {match = /(\d{0,2})[^.]*((?:\.\d{0,2})?)/g.exec(this.value.replace(/[^\d.]/g, ""));var a = match[1] + match[2];a.indexOf(".") < 0 && (a = match[0]), this.value = a})}),function() {"use strict";function a(a, b, c, d) {function e() {h.balance = h.upfrontContribution1, h.contribution = h.upfrontContribution1, h.rate = h.interestRateInvestment / 100;for(var a = 1; a <= h.termMonth; a++) 1 == a ? (h.balance = h.balance * (Math.pow(1 + h.rate, 1 / 12) - 1) + h.balance, h.balanceArray[a - 1] = h.balance - h.contribution, h.contributionArray[a - 1] = h.contribution, h.results.push({balance: h.balanceArray[a - 1],contribution: h.contributionArray[a - 1]})) : (h.balance = h.balance * (Math.pow(1 + h.rate, 1 / 12) - 1) + h.regularContribution + h.balance, h.contribution = h.regularContribution + h.contribution, h.balanceArray[a - 1] = h.balance - h.contribution, h.contributionArray[a - 1] = h.contribution, h.results.push({balance: h.balanceArray[a - 1],contribution: h.contributionArray[a - 1]}));g(), h.savingAmount = Math.round(parseFloat(h.balanceArrayYear[h.balanceArrayYear.length - 1]) + parseFloat(h.contributionArrayYear[h.balanceArrayYear.length - 1])), h.savingAmount = h.savingAmount.formatMoney(h.options.lang, 0);for(var b = 0; b < h.balanceArrayYear.length; b++) h.resultsYear.push({balance: h.balanceArrayYear[b],contribution: h.contributionArrayYear[b]});h.resultsYear = h.resultsYear.splice(1), f()}function f() {setTimeout(function() {Highcharts.setOptions({lang: {useHTML: !0,thousandsSep: ",",noData: "" + h.options.noDataDisplayMessage + ""}}), Highcharts.chart("container", {colors: ["#54B846", "#038203"],chart: {type: "column",marginTop: 110,description: h.options.chartScreenReaderText},title: {text: "",y: 60},exporting: {enabled: !1},xAxis: {description: h.options.chartXaxeScreenReaderText,categories: h.chartXaxiesArray},credits: {enabled: !1},yAxis: {min: 0,description: h.options.chartYaxeScreenReaderText,title: {text: "",description: ""},stackLabels: {enabled: !0,formatter: function() {return "en" == h.options.lang ? "$" + Math.round(this.total).formatMoney(h.options.lang, 0) : Math.round(this.total).formatMoney(h.options.lang, 0) + " $"},style: {fontWeight: "bold",color: Highcharts.theme && Highcharts.theme.textColor || "gray"}}},tooltip: {useHTML: !0,height: "100px",width: "100px",formatter: function() {return "en" == h.options.lang ? "

" + this.x + "
" + this.series.name + ":
$" + Math.round(this.y).formatMoney(h.options.lang, 0) + "
" + h.options.totalLabel + ":
$" + Math.round(this.total).formatMoney(h.options.lang, 0) + "

" : "

" + this.x + "
" + this.series.name + ":
" + Math.round(this.y).formatMoney(h.options.lang, 0) + " $
" + h.options.totalLabel + ":
" + Math.round(this.total).formatMoney(h.options.lang, 0) + " $

"}},plotOptions: {column: {stacking: "normal",events: {legendItemClick: function() {return !1}}},allowPointSelect: !1,series: {stickyTracking: !0,whiskerWidth: 5},dataLabels: {enabled: !0,color: Highcharts.theme && Highcharts.theme.dataLabelsColor || "white"}},legend: {reversed: !0,align: "left",x: 0,verticalAlign: "top",y: 10,floating: !0,layout: "vertical",itemStyle: {cursor: "default"}},series: [{name: h.options.legendLabelBalance,data: h.balanceArrayYear1}, {name: h.options.legendLabelContribution,data: h.contributionArrayYear1}],noData: {useHTML: !0,position: {textAlign: "center",verticalAlign: "middle"},style: {color: "#1C1C1C",fontWeight: "bold",fontSize: "18px",textAlign: "center",fontFamily: "WeblySleek SemiBold",wordwrap: "break-all",textOverflow: "ellipsis",whiteSpace: "nowrap",paddingleft: "10px"}},accessibility: {describeSingleSeries: !0,enabled: !0,keyboardNavigation: {enabled: !0,skipNullPoints: !0},pointDescriptionFormatter: function(a) {return a.category + ", " + a.series.name + " " + Math.round(a.y) + ", " + h.options.totalLabel + Math.round(a.stackTotal)},seriesDescriptionFormatter: function(a) {return a.name}}}), Highcharts.chart("container1", {colors: ["#54B846", "#038203"],chart: {styledMode: !0,useHTML: !0,type: "column",marginTop: 100,description: h.options.chartScreenReaderText},title: {useHTML: !0,text: h.options.graphTitleMobile,align: "left",marginTop: 30,fontSize: "20px",style: {marginTop: 30}},exporting: {enabled: !1},xAxis: {description: h.options.chartXaxeScreenReaderText,categories: h.chartXaxiesArray},credits: {enabled: !1},yAxis: {min: 0,description: h.options.chartYaxeScreenReaderText,title: {text: "",description: "",margin: 30},stackLabels: {enabled: !0,formatter: function() {return "en" == h.options.lang ? "$" + Math.round(this.total).formatMoney(h.options.lang, 0) : Math.round(this.total).formatMoney(h.options.lang, 0) + " $"},style: {fontWeight: "bold",color: Highcharts.theme && Highcharts.theme.textColor || "gray"}}},tooltip: {useHTML: !0,height: "100px",width: "100px",formatter: function() {return "en" == h.options.lang ? "

" + this.x + "
" + this.series.name + ":
$" + Math.round(this.y).formatMoney(h.options.lang, 0) + "
" + h.options.totalLabel + ":
$" + Math.round(this.total).formatMoney(h.options.lang, 0) + "

" : "

" + this.x + "
" + this.series.name + ":
" + Math.round(this.y).formatMoney(h.options.lang, 0) + " $
" + h.options.totalLabel + ":
" + Math.round(this.total).formatMoney(h.options.lang, 0) + " $

"}},plotOptions: {column: {stacking: "normal",events: {legendItemClick: function() {return !1}}},allowPointSelect: !1,series: {stickyTracking: !0,whiskerWidth: 5},dataLabels: {enabled: !0,color: Highcharts.theme && Highcharts.theme.dataLabelsColor || "white"}},legend: {reversed: !0,align: "left",margin: 30,x: 0,verticalAlign: "top",y: 20,floating: !0,layout: "vertical",itemStyle: {cursor: "default"}},series: [{name: h.options.legendLabelBalance,data: h.balanceArrayYear1}, {name: h.options.legendLabelContribution,data: h.contributionArrayYear1}],noData: {useHTML: !0,position: {textAlign: "center",verticalAlign: "middle"},style: {color: "#1C1C1C",fontWeight: "bold",fontSize: "18px",textAlign: "center",fontFamily: "WeblySleek SemiBold",wordwrap: "break-all",textOverflow: "ellipsis",whiteSpace: "nowrap",paddingleft: "10%"}},accessibility: {describeSingleSeries: !0,enabled: !0,keyboardNavigation: {enabled: !0,skipNullPoints: !0},pointDescriptionFormatter: function(a) {return a.category + ", " + a.series.name + " " + Math.round(a.y) + ", " + h.options.totalLabel + Math.round(a.stackTotal)},seriesDescriptionFormatter: function(a) {return a.name}}})}, 1)}function g() {if(1 == h.termYear1) {for(var a = 0; a < h.balanceArray.length; a++)(a + 1) % 12 == 0 && h.balanceArrayYear.push(h.balanceArray[a].toFixed(2));for(var a = 0; a < h.contributionArray.length; a++)(a + 1) % 12 == 0 && h.contributionArrayYear.push(h.contributionArray[a]);for(var a = 1; a <= h.termYear1; a++) h.chartXaxiesArray.push(a + " " + h.options.inputYearLabel)} else if(h.termYear1 <= 5) {for(var a = 0; a < h.balanceArray.length; a++)(a + 1) % 12 == 0 && h.balanceArrayYear.push(h.balanceArray[a].toFixed(2));for(var a = 0; a < h.contributionArray.length; a++)(a + 1) % 12 == 0 && h.contributionArrayYear.push(h.contributionArray[a]);for(var a = 1; a <= h.termYear1; a++) 1 == a ? h.chartXaxiesArray.push(a + " " + h.options.inputYearLabel) : h.chartXaxiesArray.push(a + " " + h.options.inputYearsLabel)} else if(h.termYear1 > 5 && h.termYear1 % 2 == 0 && h.termYear1 <= 9) {for(var a = 0; a < h.balanceArray.length; a++)(a + 1) % 24 == 0 && h.balanceArrayYear.push(h.balanceArray[a].toFixed(2));for(var a = 0; a < h.contributionArray.length; a++)(a + 1) % 24 == 0 && h.contributionArrayYear.push(h.contributionArray[a]);for(var a = 2; a <= h.termYear1; a += 2) h.chartXaxiesArray.push(a + " " + h.options.inputYearsLabel)} else if(h.termYear1 > 5 && h.termYear1 % 2 != 0 && h.termYear1 <= 9) {for(var a = 0; a < h.balanceArray.length; a++)(a + 1) % 24 == 0 && h.balanceArrayYear.push(h.balanceArray[a].toFixed(2));h.balanceArrayYear.push(h.balanceArray[12 * h.termYear - 1].toFixed(2));for(var a = 0; a < h.contributionArray.length; a++)(a + 1) % 24 == 0 && h.contributionArrayYear.push(h.contributionArray[a]);h.contributionArrayYear.push(h.contributionArray[12 * h.termYear1 - 1]);for(var a = 2; a <= h.termYear; a += 2) h.chartXaxiesArray.push(a + " " + h.options.inputYearsLabel);h.chartXaxiesArray.push(h.termYear1 + " " + h.options.inputYearsLabel)} else if(h.termYear1 > 9 && h.termYear1 % 5 != 0 && h.termYear1 <= 25) {for(var a = 0; a < h.balanceArray.length; a++)(a + 1) % 60 == 0 && h.balanceArrayYear.push(Math.round(h.balanceArray[a].toFixed(2)));h.balanceArrayYear.push(Math.round(h.balanceArray[12 * h.termYear1 - 1]));for(var a = 0; a < h.contributionArray.length; a++)(a + 1) % 60 == 0 && h.contributionArrayYear.push(h.contributionArray[a]);h.contributionArrayYear.push(h.contributionArray[12 * h.termYear1 - 1]);for(var a = 5; a <= h.termYear; a += 5) h.chartXaxiesArray.push(a + " " + h.options.inputYearsLabel);h.chartXaxiesArray.push(h.termYear1 + " " + h.options.inputYearsLabel)} else if(h.termYear1 > 9 && h.termYear1 % 5 == 0 && h.termYear1 <= 25) {for(var a = 0; a < h.balanceArray.length; a++)(a + 1) % 60 == 0 && h.balanceArrayYear.push(h.balanceArray[a].toFixed(2));for(var a = 0; a < h.contributionArray.length; a++)(a + 1) % 60 == 0 && h.contributionArrayYear.push(h.contributionArray[a]);for(var a = 5; a <= h.termYear1; a += 5) h.chartXaxiesArray.push(a + " " + h.options.inputYearsLabel)} else if(h.termYear1 > 25 && h.termYear1 % 10 == 0 && h.termYear1 <= 50) {for(var a = 0; a < h.balanceArray.length; a++)(a + 1) % 120 == 0 && h.balanceArrayYear.push(h.balanceArray[a].toFixed(2));for(var a = 0; a < h.contributionArray.length; a++)(a + 1) % 120 == 0 && h.contributionArrayYear.push(h.contributionArray[a]);for(var a = 10; a <= h.termYear1; a += 10) h.chartXaxiesArray.push(a + " " + h.options.inputYearsLabel)} else if(h.termYear1 > 25 && h.termYear1 % 10 != 0 && h.termYear1 <= 50) {for(var a = 0; a < h.balanceArray.length; a++)(a + 1) % 120 == 0 && h.balanceArrayYear.push(h.balanceArray[a].toFixed(2));h.balanceArrayYear.push(h.balanceArray[12 * h.termYear1 - 1]);for(var a = 0; a < h.contributionArray.length; a++)(a + 1) % 120 == 0 && h.contributionArrayYear.push(h.contributionArray[a]);h.contributionArrayYear.push(h.contributionArray[12 * h.termYear1 - 1]);for(var a = 10; a <= h.termYear1; a += 10) h.chartXaxiesArray.push(a + " " + h.options.inputYearsLabel);h.chartXaxiesArray.push(h.termYear1 + " " + h.options.inputYearsLabel)}h.balanceArrayYear1 = h.balanceArrayYear.map(parseFloat), h.contributionArrayYear1 = h.contributionArrayYear.map(parseFloat);for(var a = 0; a < h.balanceArrayYear.length; a++) h.balanceArrayYear1[a] = h.balanceArrayYear1[a], h.contributionArrayYear1[a] = h.contributionArrayYear1[a]}var h = this,i = a.find(".td-projection-tool .td-form-col"),j = a.find(".td-projection-tool .td-form-col:last-child > div");h.input = [];var k = new d.tdCommon;h.doubleZero = ".00", h.termYear1 = parseInt(h.options.input[3].value, 10), h.regularContribution = h.options.input[1].value, h.upfrontContribution1 = h.options.input[0].value, h.upfrontContribution = h.options.input[0].value.formatMoney(h.options.lang, 0), h.balance1 = h.upfrontContribution1, h.interestRateInvestment = h.options.input[2].value + h.doubleZero, h.interestRate1 = parseInt(h.options.input[2].value, 10), h.termYear = h.options.input[3].value, h.maxUpfrontContribution = h.options.input[0].max.formatMoney(h.options.lang, 0), h.maxRegularContribution = h.options.input[1].max.formatMoney(h.options.lang, 0), h.description1 = h.options.results.descriptionLine1, h.description2 = " " + h.termYear + " " + h.options.inputYrsLabel, h.finalDescription = h.description1 + h.description2.bold(), h.graphMobileLabel = h.options.graphLabelMobile, h.calculatorResult = 0, h.calculatorResultFormatted = 0, h.dropdownMonthVal = h.options.dropdownMonthVal, h.dropdownvalue = h.contributiondropdown, h.selectedFrequency = 101, h.regularContribution1 = 200, h.count = 0, h.balanceArray = [], h.contributionArray = [], h.balanceArrayYear = [], h.contributionArrayYear = [], h.results = [{}], h.resultsYear = [{}], h.savingAmount = 0, h.chartXaxiesArray = [], h.balanceArrayYear1 = [], h.contributionArrayYear1 = [], h.balance = 0, h.contribution = 0, h.rate = 0, h.avgWeekPerMonth = 4.345238095, h.termMonth = 12 * h.termYear, h.maxRegularLimit = h.options.maxRegularLimitMonthly, h.maxRegularLimit = parseInt(h.maxRegularLimit, 10), h.maxRegularLimitFormatted = h.maxRegularLimit.formatMoney(h.options.lang, 0), h.calculatorResult = 0, h.calculatorResultFormatted = 0, h.labelZeroContribution = !1, h.dropdownMonthVal = h.options.dropdownMonthVal;var l = "

" + h.options.footnotes.footnote1 + "

";$("body").append(l), ($(window).width() < 768 || /Android|webOS|iPhone|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)) && $("#showGraph .td_rq_scrollbar").tdScrollbar(), e(), h.updateCalculator = function() {h.count = h.count + 1, h.count > 0 && (h.balanceArray = [], h.contributionArray = [], h.results = [{}], h.resultsYear = [{}], h.balanceArrayYear = [], h.contributionArrayYear = [], h.chartXaxiesArray = []), h.balance = h.balance1, h.contribution = h.balance1, h.rate = h.interestRate1 / 100;for(var a = 1; a <= h.termMonth; a++) 101 == h.selectedFrequency ? 1 == a ? (h.balance = h.balance * (Math.pow(1 + h.rate, 1 / 12) - 1) + h.balance, h.balanceArray[a - 1] = h.balance - h.contribution, h.contributionArray[a - 1] = h.contribution, h.results.push({balance: h.balanceArray[a - 1],contribution: h.contributionArray[a - 1]})) : (h.balance = h.balance * (Math.pow(1 + h.rate, 1 / 12) - 1) + h.regularContribution1 + h.balance, h.contribution = h.regularContribution1 + h.contribution, h.balanceArray[a - 1] = h.balance - h.contribution, h.contributionArray[a - 1] = h.contribution, h.results.push({balance: h.balanceArray[a - 1],contribution: h.contributionArray[a - 1]})) : 102 == h.selectedFrequency ? (a - 1) % 12 == 0 && a > 12 ? (h.balance = h.balance * (Math.pow(1 + h.rate, 1 / 12) - 1) + h.regularContribution1 + h.balance, h.contribution = h.regularContribution1 + h.contribution, h.balanceArray[a - 1] = h.balance - h.contribution, h.contributionArray[a - 1] = h.contribution, h.results.push({balance: h.balanceArray[a - 1],contribution: h.contributionArray[a - 1]})) : (h.balance = h.balance * (Math.pow(1 + h.rate, 1 / 12) - 1) + h.balance, h.balanceArray[a - 1] = h.balance - h.contribution, h.contributionArray[a - 1] = h.contribution, h.results.push({balance: h.balanceArray[a - 1],contribution: h.contributionArray[a - 1]})) : 103 == h.selectedFrequency && (h.balance = h.balance * (Math.pow(1 + h.rate, 1 / 12) - 1) + h.regularContribution1 * h.avgWeekPerMonth + h.balance, h.contribution = h.regularContribution1 * h.avgWeekPerMonth + h.contribution, h.balanceArray[a - 1] = h.balance - h.contribution, h.contributionArray[a - 1] = h.contribution, h.results.push({balance: h.balanceArray[a - 1],contribution: h.contributionArray[a - 1]}));g(), h.savingAmount = Math.round(parseFloat(h.balanceArrayYear[h.balanceArrayYear.length - 1]) + parseFloat(h.contributionArrayYear[h.balanceArrayYear.length - 1])), h.savingAmount = h.savingAmount.formatMoney(h.options.lang, 0);for(var b = 0; b < h.balanceArrayYear.length; b++) h.resultsYear.push({balance: h.balanceArrayYear[b],contribution: h.contributionArrayYear[b]});h.resultsYear = h.resultsYear.splice(1), 0 == h.balance1 && 0 == h.regularContribution1 && (h.contributionArrayYear1 = [], h.balanceArrayYear1 = [], h.labelZeroContribution = !0, $("#regularContribution").addClass("label-zero-contribution"), $("#upfrontContribution").addClass("label-zero-contribution")), (h.balance1 > 0 || h.regularContribution1 > 0) && (h.labelZeroContribution = !1, $("#regularContribution").removeClass("label-zero-contribution"), $("#upfrontContribution").removeClass("label-zero-contribution")), setTimeout(function() {f()}, 900)}, h.validateFrequency = function(a) {if(h.selectedFrequency = a, 102 == a && (h.maxRegularLimit = h.options.maxRegularLimitAnnually, h.maxRegularLimit = parseInt(h.maxRegularLimit, 10), h.maxRegularLimitFormatted = h.maxRegularLimit.formatMoney(h.options.lang, 0)), 101 == a && (h.maxRegularLimit = h.options.maxRegularLimitMonthly, h.maxRegularLimit = parseInt(h.maxRegularLimit, 10), h.maxRegularLimitFormatted = h.maxRegularLimit.formatMoney(h.options.lang, 0)), 103 == a && (h.maxRegularLimit = h.options.maxRegularLimitWeekly, h.maxRegularLimit = parseInt(h.maxRegularLimit, 10), h.maxRegularLimitFormatted = h.maxRegularLimit.formatMoney(h.options.lang, 0)), h.regularContribution1 > h.maxRegularLimit) {h.regularContribution = h.maxRegularLimitFormatted;var b = h.regularContribution.replace(/\D/g, "");b = b ? parseInt(b, 10) : 0, h.regularContribution1 = b}h.updateCalculator()}, h.validateRate = function() {var a = h.interestRateInvestment,b = !0,c = !1,d = h.interestRateInvestment.replace(/[^\d.]/g, "");0 == d.indexOf(".") && d.length > 3 && (b = !1, d = d.substring(0, d.length - 1)), 1 == d.indexOf(".") && d.length > 4 && (b = !1, d = d.substring(0, d.length - 1)), 0 == d.indexOf(".") && 1 == d.length && (b = !1), h.options.input[2].max = parseInt(h.options.input[2].max, 10), d > h.options.input[2].max && (d = h.options.input[2].max), d == h.interestRate1 && (c = !0), h.interestRateInvestment = d, "." == a && (h.interestRateInvestment = ""), "" == h.interestRateInvestment || isNaN(h.interestRateInvestment) ? (h.interestRate1 = .01, c = !1) : (d = parseFloat(d), h.interestRate1 = d), c && !b || isNaN(a) || " " == a || c || h.updateCalculator()}, h.validateTerm = function() {var a = h.termYear,b = !1,c = h.termYear.replace(/\D/g, "");c > h.options.input[3].max && (c = h.options.input[3].max), c == h.termYear1 && (b = !0), c = parseInt(c), h.termYear = c, "" == h.termYear || isNaN(h.termYear) ? (h.termYear1 = 1, h.termMonth = 12 * h.termYear1) : (h.termYear1 = h.termYear, h.termMonth = 12 * h.termYear), h.description1 = h.options.results.descriptionLine1, 1 == h.termYear1 ? h.description2 = h.termYear1 + " " + h.options.inputYrLabel : h.description2 = h.termYear1 + " " + h.options.inputYrsLabel, h.finalDescription = h.description1 + " " + h.description2.bold(), b || isNaN(a) || " " == a || h.updateCalculator()}, h.validateRegularContribution = function() {var a = !1,b = h.regularContribution.replace(/\D/g, "");b > h.maxRegularLimit && (b = h.maxRegularLimit), b == h.regularContribution1 && (a = !0), b = b ? parseInt(b, 10) : 0, "" == h.regularContribution ? h.regularContribution1 = 0 : (h.regularContribution1 = b, h.regularContribution = b.formatMoney(h.options.lang, 0)), a || h.updateCalculator()}, h.validateUpfrontContribution = function() {var a = !1,b = h.upfrontContribution.replace(/\D/g, "");b > h.options.input[0].max && (b = h.options.input[0].max), b == h.balance1 && (a = !0), b = b ? parseInt(b, 10) : 0, "" == h.upfrontContribution ? h.balance1 = 0 : (h.balance1 = b, h.upfrontContribution = b.formatMoney(h.options.lang, 0)), a || h.updateCalculator()}, h.toolFormSubmit = function() {var a;a = h.options.formAction.openInNewWindow === !0 ? "_blank" : "_self", window.open(h.options.formAction.url, a)}, h.td_form_col_height = function(a) {b.innerWidth < 768 ? (a.css("height", "auto"), j.removeClass("gcenter")) : (a.css("height", "auto"), h.equalHeight(a), j.addClass("gcenter"))}, h.equalHeight = function(a) {var b = k.__equalHeight(a);a.css("height", b + "px")}, h.to_trusted = function(a) {return c.trustAsHtml(a)}, angular.element(b).bind("resize", function() {h.td_form_col_height(i)})}angular.module("app.projectionTools").component("tdProjectionTool", {controller: a,bindings: {data: "<",options: "="},template: '\t

\t\n\t\t\t\t

\n\t\t\t\t

\n\t\t\t\t\t

\n\t\t\t\t\t\t

\n\t\t\t\t\t

\n\t\t\t\t

\n\t\t\t\t

\n\t\t\t\t

\n\t\t\t\t\t

\n\t\t\t\t\t\t

\n\t\t\t\t\t\t

\n\t\t\t\t\t

\n\t\t\t\t

\n\t\t\t\t

\n\t\t\t\t

\t\n\t\t\t\t

\n\t\t\t\t\t\t

\n\t\t\t\t\t\t\t

\n\t\t\t\t\t\t

\t\t\t\t\t\t\n\t\t\t

'}), a.$inject = ["$element", "$window", "$sce", "tdCommonFactory"]}(),function() {"use strict";function a(a, b, c) {return {restrict: "E",template: "

",scope: {title: "@",data: "=",dynamicData: "="},link: function(a, c) {function d() {Highcharts.setOptions({lang: {useHTML: !0,thousandsSep: ",",noData: "" + a.data.chart.noDataDisplayMessage + ""}});var b = {colors: ["#AAD8AA", "#54B846", "#038203"],chart: {type: "column",backgroundColor: "transparent",description: a.data.chart.chartScreenReaderText,animation: !1},title: {text: " ",y: 60},exporting: {enabled: !1},xAxis: {description: a.data.chart.chartXaxeScreenReaderText,categories: a.dynamicData.chartYearlyList,crosshair: {color: "rgba(187, 232, 133, 0.25)"},labels: {style: {fontFamily: "TD Graphik SemiLight",fontSize: "13px",color: "#1c1c1c"}}},credits: {enabled: !1},yAxis: {min: 0,description: a.data.chart.chartYaxeScreenReaderText,title: {text: "",description: ""},stackLabels: {enabled: !0,formatter: function() {return "en" == a.data.lang ? "$" + Math.round(this.total).formatMoney(a.data.lang, 0) : Math.round(this.total).formatMoney(a.data.lang, 0) + " $"},style: {fontFamily: "TD Graphik SemiLight",fontSize: "13px",fontWeight: "normal",color: Highcharts.theme && Highcharts.theme.textColor || "#1c1c1c"}},labels: {style: {fontFamily: "TD Graphik SemiLight",fontSize: "13px",color: "#1C1C1C",fontWeight: "normal"}}},tooltip: {useHTML: !0,shadow: !0,backgroundColor: "#ffffff",borderRadius: 10,borderWidth: 0,hideDelay: 0,shared: !0,formatter: function() {var b = '

' + this.x + a.data.chart.tooltipTFSA + '

',c = this.points.length;return $.each(this.points, function(d, e) {b += "en" == a.data.lang ? '

' + e.series.name + ':

$' + Math.round(e.y).formatMoney(a.data.lang, 0) + "

" + (d == c - 1 ? '

' + a.data.chart.totalLabel + ':

$' + Math.round(e.total).formatMoney(a.data.lang, 0) + "

" : "") : '

' + e.series.name + ':

' + Math.round(e.y).formatMoney(a.data.lang, 0) + " $

" + (d == c - 1 ? '

' + a.data.chart.totalLabel + ':

' + Math.round(e.total).formatMoney(a.data.lang, 0) + " $

" : "")}), b},style: {fontFamily: "TD Graphik SemiLight",fontSize: "13px"}},plotOptions: {column: {stacking: "normal",events: {legendItemClick: function() {return !1}}},allowPointSelect: !1,series: {whiskerWidth: 5,borderWidth: 0},dataLabels: {enabled: !0,color: Highcharts.theme && Highcharts.theme.dataLabelsColor || "white",style: {fontFamily: "TD Graphik SemiLight",fontSize: "13px"}}},legend: {enabled: !1},series: [{name: a.data.chart.legendLabelTaxSaving,data: a.dynamicData.taxSavingList}, {name: a.data.chart.legendLabelBalance,data: a.dynamicData.earnedAfterTaxList}, {name: a.data.chart.legendLabelContribution,data: a.dynamicData.contributionYearlyList}],noData: {useHTML: !0,position: {textAlign: "center",verticalAlign: "middle"},style: {color: "#1C1C1C",fontWeight: "bold",fontSize: "18px",textAlign: "center",fontFamily: "TD Graphik Semibold",wordwrap: "break-all",textOverflow: "ellipsis",whiteSpace: "nowrap",paddingleft: "10px"}},accessibility: {screenReaderSectionFormatter: function(a) {return " "},describeSingleSeries: !0,enabled: !0,keyboardNavigation: {enabled: !0,skipNullPoints: !0},pointDescriptionFormatter: function(b) {return b.category + ", " + b.series.name + " " + Math.round(b.y) + ", " + a.data.chart.totalLabel + Math.round(b.stackTotal)},seriesDescriptionFormatter: function(a) {return a.name}}};Highcharts.chart(c[0], b), a.$on("chartData", function(a, d) {var e;"mobile" == d && window.innerWidth < 768 ? (e = window.innerWidth < 960 ? window.innerWidth - 40 : 900, Highcharts.chart(c[0], b).setSize(e, "auto")) : (e = $(".tfsa-result-block").innerWidth() - (window.innerWidth <= 768 ? 20 : 40), Highcharts.chart(c[0], b).setSize(e, "auto"))}), $(window).resize(function() {var a;$(".td-header-nav").hasClass("td-modal-hidden-element") ? (a = window.innerWidth < 960 ? window.innerWidth - 40 : 900, Highcharts.chart(c[0], b).setSize(a, "auto")) : (a = $(".tfsa-result-block").innerWidth() - (window.innerWidth <= 768 ? 20 : 40), Highcharts.chart(c[0], b).setSize(a, "auto"))}), a.$watch("dynamicData", function(a) {a && (b.series[0].data = a.taxSavingList, b.series[1].data = a.earnedAfterTaxList, b.series[2].data = a.contributionYearlyList, b.xAxis.categories = a.chartYearlyList, Highcharts.chart(c[0], b))}, !0)}function e(c) {c > 0 ? b(function() {void 0 !== a.data.chart ? d() : e(c - 1)}, f) : console.log("highchart cannot be shown because scope.data.chart is not available.")}var f = 400;e(6)}}}angular.module("app.projectionTools").directive("highChart", a), a.$inject = ["$parse", "$timeout", "$rootScope"]}(),function() {"use strict";function a() {return {restrict: "A",link: function(a, b, c) {var d = RegExp(c.restrictTo),e = /Backspace|Enter|Tab|Delete|Del|ArrowUp|Up|ArrowDown|Down|ArrowLeft|Left|ArrowRight|Right/;b[0].addEventListener("keydown", function(a) {e.test(a.key) || d.test(a.key) || a.preventDefault()})}}}angular.module("app.projectionTools").directive("restrictTo", a), a.$inject = []}(),function() {"use strict";function a(a, b, c, d, e, f, g, h) {function i() {x.overallChartDataList.earnedAfterTaxList = [], x.overallChartDataList.contributionYearlyList = [], x.overallChartDataList.taxSavingList = [], x.overallChartDataList.chartYearlyList = [];var a, b, c, d = [],e = [],f = [];switch(!0) {case x.termYear <= 5:c = 1;break;case x.termYear < 10:c = 2;break;case x.termYear <= 25:c = 5;break;default:c = 10}if(x.arrCompResult.length > 0) {a = 0;for(var g = c; g < x.arrCompResult.length; g += c) a += c, b = 1 == a ? x.data.chart.inputYearLabel : x.data.chart.inputYearsLabel, d.push(x.arrCompResult[a - 1].growth.toFixed(2) - x.arrCompResult[a - 1].taxSaving.toFixed(2)), e.push(x.arrCompResult[a - 1].contribution.toFixed(2)), f.push(x.arrCompResult[a - 1].taxSaving.toFixed(2)), x.overallChartDataList.chartYearlyList.push(a + " " + b);if(a < x.arrCompResult.length) {var h = x.arrCompResult.length - 1;b = 0 == a ? x.data.chart.inputYearLabel : x.data.chart.inputYearsLabel, d.push(x.arrCompResult[h].growth.toFixed(2) - x.arrCompResult[h].taxSaving.toFixed(2)), e.push(x.arrCompResult[h].contribution.toFixed(2)), f.push(x.arrCompResult[h].taxSaving.toFixed(2)), x.overallChartDataList.chartYearlyList.push(h + 1 + " " + b)}x.overallChartDataList.earnedAfterTaxList = d.map(parseFloat), x.overallChartDataList.contributionYearlyList = e.map(parseFloat), x.overallChartDataList.taxSavingList = f.map(parseFloat)}}var j, k, l, m, n, o, p, q, r, s, t, u, v, w, x = this,y = 4.345238095;x.arrCompResult = [], x.tfsaSavings = 0, x.nonTfsaSavings = 0, x.pattern = "fr" == x.options.lang ? "^[0-9,]" : "^[0-9.]", x.overallChartDataList = {earnedAfterTaxList: [],contributionYearlyList: [],taxSavingList: [],chartYearlyList: []};var z = new g.tdCommon,A = new e.CompoundIntest,B = new e.Tax,C = function(a) {var b;return "fr" == x.options.lang ? (b = a.replace(/[^\d,]/, ""), b = b.replace(",", ".")) : b = a.replace(/[^\d.]/, ""), parseFloat(b)};x.broadcastChartData = function(b) {a.$broadcast("chartData", b)}, x.highlightBg = function(a) {a.addClass("highlight")}, x.reset_highlight = function() {I(q), m.removeClass("highlight")}, x.validateRange = function(a, b, c, d, e, f) {return isNaN(a) || a < b ? (a = b, void 0 !== e && void 0 !== f && H(e)) : a > c && (a = c, void 0 !== d && x.highlightBg(d), void 0 !== e && H(e)), a}, x.adjustOverLimit = function(a) {var b = 1;switch(x.frequency) {case "m":b = 12;break;case "w":b = parseInt(12 * y);break;case "b":b = parseInt(12 * y / 2)}var c = x.upfrontContribVal + x.regularContribVal * b - x.data.rules.tfsa_max,d = c > 0;if(d) switch(a) {case "upfrontContrib":x.upfrontContribVal = parseInt(x.upfrontContribVal - c), x.upfrontContrib = x.upfrontContribVal.formatMoney(x.options.lang, 0), x.highlightBg(n), H(r);break;case "regularContrib":case "frequency":x.regularContribVal = parseInt(x.regularContribVal - c / b), x.regularContrib = x.regularContribVal.formatMoney(x.options.lang, 0), H(s)}return d}, x.updateCalculator = function() {x.arrCompResult = A.interstCalculation(x.upfrontContribVal, x.regularContribVal, x.rateVal, x.termMonth, x.frequency, y), E(), i()}, x.onChangeProvince = function() {x.reset_highlight(), x.updateCalculator()}, x.onChangeIncome = function() {x.reset_highlight();var a = Math.round(C(x.income));x.incomeVal = x.validateRange(a, x.data.rules.income.min, x.data.rules.income.max), x.income = x.incomeVal.formatMoney(x.options.lang, 0), x.updateCalculator()}, x.onChangeUpfrontContrib = function() {x.reset_highlight(), x.upfrontContribVal = Math.round(C(x.upfrontContrib)), isNaN(x.upfrontContribVal) && (x.upfrontContribVal = x.data.rules.upfrontContrib.min), x.upfrontContrib = x.upfrontContribVal.formatMoney(x.options.lang, 0), x.adjustOverLimit("upfrontContrib"), x.updateCalculator()}, x.onChangeFrequency = function() {x.reset_highlight(), x.adjustOverLimit("frequency"), x.updateCalculator()}, x.onChangeRegularContrib = function() {x.reset_highlight(), x.regularContribVal = Math.round(C(x.regularContrib)), isNaN(x.regularContribVal) && (x.regularContribVal = x.data.rules.regularContrib.min), x.regularContrib = x.regularContribVal.formatMoney(x.options.lang, 0), x.adjustOverLimit("regularContrib"), x.updateCalculator()}, x.onChangeRate = function() {x.reset_highlight();var a = C(x.rate);a = x.validateRange(parseFloat(a), x.data.rules.rate.min, x.data.rules.rate.max, o, t, !0), x.rateVal = a, x.rate = a.formatMoney(x.options.lang, 2), x.updateCalculator()}, x.onChangeTerm = function() {x.reset_highlight();var a = Math.round(C(x.termYear));x.termYear = x.validateRange(a, x.data.rules.term.min, x.data.rules.term.max, p, u, !0), x.termMonth = 12 * x.termYear, x.updateCalculator()}, x.td_form_col_height = function(a, b) {c.innerWidth < 768 ? a.css("height", "auto") : (a.css("height", "auto"), void 0 !== b ? (l.css("opacity", "0"), h(function() {x.equalHeight(a), l.animate({opacity: 1}, 600)}, 30)) : x.equalHeight(a))}, x.equalHeight = function(a) {var b = z.__equalHeight(a);a.css("height", b + "px")}, x.autoTextSelector = function(a) {z.__autoTextSelector(a)}, x.to_trusted = function(a) {return f.trustAsHtml(a)}, a.getTemplate = function() {return x.options.templateUrl};var D = function(a) {var c = a.toString().length,d = b.find(".td-calculator-result");switch(d.length > 0) {case c <= 5:d.css("font-size", "");break;case c <= 8:d.css("font-size", "37px");break;default:d.css("font-size", "34px")}},E = function() {var a = x.arrCompResult.length - 1,b = parseFloat(x.incomeVal);B.getTaxSaving(b, x.provinceCode, x.arrCompResult);var c = Math.round(x.arrCompResult[a].growth + x.arrCompResult[a].contribution);D(c), x.tfsaSavings = c.formatMoney(x.options.lang, 0), x.taxSavings = Math.round(x.arrCompResult[a].taxSaving), x.nonTfsaSavings = Math.round(x.arrCompResult[a].earnedAfterTax).formatMoney(x.options.lang, 0);var d = x.termYear + " " + (1 == x.termYear ? x.data.results.termYr : x.data.results.termYrs);v.html(d), w.html(x.taxSavings.formatMoney(x.options.lang, 0))},F = function() {x.td_form_col_height(k, !0)},G = function() {x.td_form_col_height(j), F(), $("#showGraph .td_rq_scrollbar").tdScrollbar()},H = function(a) {a.stop().delay(400).slideDown({duration: 400,start: function() {j.css("height", "auto")},complete: function() {x.td_form_col_height(j)}})},I = function(a) {a.stop().slideUp({complete: function() {x.td_form_col_height(j)}})};angular.element(c).bind("resize", function() {G()}),function() {z.__getDataFromUrl(x.options.dataUrl, d).then(function(a) {x.data = a.data, x.data.lang = x.options.lang, x.frequencies = x.data.frequencies, x.provinceCode = x.data.rules.province.default, x.income = x.data.rules.income.default.formatMoney(x.options.lang, 0), x.upfrontContrib = x.data.rules.upfrontContrib.default.formatMoney(x.options.lang, 0), x.frequency = x.data.rules.frequency.default, x.regularContrib = x.data.rules.regularContrib.default.formatMoney(x.options.lang, 0), x.rate = x.data.rules.rate.default.formatMoney(x.options.lang, 2), x.termYear = x.data.rules.term.default, x.incomeVal = x.data.rules.income.default, x.upfrontContribVal = x.data.rules.upfrontContrib.default, x.regularContribVal = x.data.rules.regularContrib.default, x.rateVal = x.data.rules.rate.default, x.termMonth = 12 * x.termYear, B.__set_data(a.data.tax), h(function() {$(".td-descriptor").tdDescriptor(), $.isFunction($(".td-descriptor").tdDescriptorCustom) && $(".td-descriptor").tdDescriptorCustom(), j = b.find(".td-projection-tool .td-form-col"), k = b.find(".td-projection-tool .tfsa-result-head"), l = b.find(".td-projection-tool .td-calculator-result"), m = b.find(".tfsa-hint>span"), n = b.find(".tfsa-upfrontContrib .tfsa-hint>span"), o = b.find(".tfsa-rate .tfsa-hint>span"), p = b.find(".tfsa-term .tfsa-hint>span"), q = b.find(".tfsa-guide"), r = b.find(".tfsa-upfrontContrib .tfsa-guide"), s = b.find(".tfsa-regularContrib .tfsa-guide"), t = b.find(".tfsa-rate .tfsa-guide"), u = b.find(".tfsa-term .tfsa-guide"), v = b.find(".tfsaTerm"), w = b.find(".taxAmount"), $("#showGraph").detach().appendTo("body"), G(), x.updateCalculator()}, 1e3)}, function(a) {console.log("error when reading :" + x.options.dataUrl + ", response :" + a)})}()}angular.module("app.projectionTools").component("tdTfsaTool", {controller: a,bindings: {data: "<",options: "="},template: '

'}), a.$inject = ["$scope", "$element", "$window", "$http", "tdProjectionInfo", "$sce", "tdCommonFactory", "$timeout"]}(),function() {"use strict";angular.module("app.cts", [])}(),function() {"use strict";angular.module("app.events", [])}(),function() {"use strict";angular.module("app.messaging", [])}(),function() {"use strict";angular.module("app.services", ["app.cts", "app.messaging", "app.events"])}(),function() {"use strict";function a(a) {function b() {a.log("I'm a line from api.js")}b()}angular.module("app.cts").controller("ctsController", a), a.$inject = ["$log"]}(),function() {"use strict";function a(a) {function b(b) {return a.get(b + ".json").then(function(a) {return a.data}, function() {})}this.getJson = b}angular.module("app.cts").service("tsService", a), a.$inject = ["$http"]}(),function() {"use strict";angular.module("app.events").constant("Events", {message: {_SERVER_REQUEST_STARTED_: "_SERVER_REQUEST_STARTED_",_SERVER_REQUEST_ENDED_: "_SERVER_REQUEST_ENDED_"}})}(),function() {"use strict";function a() {function a(a, b) {return d[a] || (d[a] = []), d[a].push(b), [a, b]}function b(a, b) {d[a] && angular.forEach(d[a], function(a) {a.apply(null, b || [])})}function c(a) {var b = a[0];if(d[b])for(var c = 0; c < d[b].length; c++) d[b][c] === a[1] && d[b].splice(c, 1)}this.publish = b, this.subscribe = a, this.unsubscribe = c;var d = {}}angular.module("app.messaging").service("Messaging", a), a.$inject = []}(),function() {"use strict";function a() {return function(a, b, c, d) {if(isNaN(a)) return a;var c = c || "$",b = b || "en",d = void 0 === d || d;return "fr" == b ? a.formatMoney(b, 0) + " " + c : d === !0 ? c + a.formatMoney(b, 0) : a.formatMoney(b, 0) + c}}angular.module("tdFilters", []).filter("tdCurrency", a)}(),function() {"use strict";function a() {return c.prototype = new b, d.prototype = new b, {PSI: c,ULOC: d}}function b(a, b) {var c, d = new ExprEval.Parser;this.url = a, this.obj_http, this.__construct = function(a, b) {void 0 !== a && (this.obj_http = b({method: "GET",url: a}))}, this.__construct(this.url, b), this.__set_data = function(a) {c = a[0]}, this.__get_data = function() {return c}, this.__get_mathParser = function() {return d}}function c(a, c) {b.call(this), this.url = a;var d, e, f;this.__construct(this.url, c), this.__set_formula = function(a) {s_formula = a.formula}, this.__get_formula = function() {return s_formula}, this.__set_r2_formula = function(a) {d = a.formula[0].revised_rate}, this.__get_r2_formula = function() {return d}, this.__set_payment_formula_case_1 = function(a) {e = a.formula[0].payment[0].case1}, this.__get_payment_formula_case_1 = function() {return e}, this.__set_payment_formula_case_2 = function(a) {f = a.formula[0].payment[0].case2}, this.__get_payment_formula_case_2 = function() {return f}, this.calculation = function(a, b, c) {var d, e = this.__get_r2_formula(),f = this.__get_mathParser().parse(e),g = this.__get_payment_formula_case_1(),h = this.__get_mathParser().parse(g),i = this.__get_payment_formula_case_2(),j = this.__get_mathParser().parse(i);return d = f.evaluate({int_rate: b}), 0 == d ? h.evaluate({debt: a,payoffMonths: c}) : j.evaluate({debt: a,payoffMonths: c,r2: d})}}function d(a, c) {b.call(this), this.url = a;var d, e, f;this.__construct(this.url, c), this.__set_formula = function(a) {s_formula = a.formula}, this.__get_formula = function() {return s_formula}, this.__set_payment_formula_case_1 = function(a) {d = a.formula[0].payment[0].case1}, this.__get_payment_formula_case_1 = function() {return d}, this.__set_payment_formula_case_2 = function(a) {e = a.formula[0].payment[0].case2}, this.__get_payment_formula_case_2 = function() {return e}, this.__set_payment_formula_case_3 = function(a) {f = a.formula[0].payment[0].case3}, this.__get_payment_formula_case_3 = function() {return f}, this.calculation = function(a, b) {var c = this.__get_payment_formula_case_1(),d = this.__get_mathParser().parse(c),e = this.__get_payment_formula_case_2(),f = this.__get_mathParser().parse(e),g = this.__get_payment_formula_case_3(),h = this.__get_mathParser().parse(g);return Math.max(d.evaluate({debt: a}), f.evaluate({debt: a,int_rate: b}), h.evaluate())}}angular.module("tdborrowing", []).factory("tdBorrowingInfo", a).service("tdBorrowing", b).service("tdPSI", c).service("tdULOC", d)}(),function() {"use strict";function a() {return c.prototype = new b, d.prototype = new b, e.prototype = new d, f.prototype = new d, g.prototype = new b, h.prototype = new b, {AeroplanRewards: c,OtherCardRewards: d,Reward: e,Cashback: f,CashbackVisa: g,FlexibleRewards: h}}function b(a, b) {var c, d, e, f, g = new ExprEval.Parser;this.url = a, this.obj_http, this.__construct = function(a, b) {void 0 !== a && (this.obj_http = b({method: "GET",url: a}))}, this.__construct(this.url, b), this.__set_data = function(a) {c = a[0]}, this.__get_data = function() {return c}, this.__get_mathParser = function() {return g}, this.__get_breakpoint = function(a) {return a >= 1200 ? "lg" : a >= 1024 ? "md" : a >= 768 ? "sm" : "xs"}, this.__set_bucket_print = function(a) {d = a.bucket_print}, this.__get_bucket_print = function() {return d}, this.__set_bucket_imgs = function(a) {e = a}, this.__get_bucket_imgs = function() {return e}, this.__set_bucket_img_alts = function(a) {f = a}, this.__get_bucket_img_alts = function() {return f}, this.bucket_print = function(a, b) {for(var c = "", d = 0; d <= a.length - 1; d++) {var e = a[d].startRange,f = a[d].endRange;if(e <= b && f >= b) return c = a[d].message, this.__set_bucket_imgs(a[d].img), this.__set_bucket_img_alts(a[d].alt), c}return c}, this.bucket_img = function(a, b) {return a[0][b]}, this.bucket_img_alt = function(a, b) {return a[0][b]}}function c(a, c) {b.call(this), this.url = a;var d, e;this.__construct(this.url, c), this.__set_base_aeroplan_mile = function(a) {d = a.base_aeroplan_mile}, this.__get_base_aeroplan_mile = function() {return d}, this.__set_formula = function(a) {e = a.formula}, this.__get_formula = function() {return e}, this.calculation = function(a, b) {var c = this.__get_base_aeroplan_mile(),d = this.__get_formula();return this.__get_mathParser().parse(d).evaluate({primarySpent: a,secondarySpent: b,base_aeroplan_mile: c})}}function d(a, c) {b.call(this), this.url = a, this.http = c;var d, e, f, g, h, i, j, k, l, m, n;this.__construct(this.url, c), this.__set_td_points_per_dollar = function(a) {d = a.td_points_per_dollar}, this.__get_td_points_per_dollar = function() {return d}, this.__set_welcome_bonus = function(a) {e = a.welcome_bonus}, this.__get_welcome_bonus = function() {return e}, this.__set_base_redemption_td_point = function(a) {f = a.base_redemption_td_point}, this.__get_base_redemption_td_point = function() {return f}, this.__set_base_redemption_dollar = function(a) {g = a.base_redemption_dollar}, this.__get_base_redemption_dollar = function() {return g}, this.__set_bonus_rate = function(a) {j = a.bonus_rate}, this.__get_bonus_rate = function() {return j}, this.__set_rate1 = function(a) {k = a.rate1}, this.__get_rate1 = function() {return k}, this.__set_rate2 = function(a) {l = a.rate2}, this.__get_rate2 = function() {return l}, this.__set_threshold1 = function(a) {m = a.threshold1}, this.__get_threshold1 = function() {return m}, this.__set_threshold2 = function(a) {n = a.threshold2}, this.__get_threshold2 = function() {return n}, this.__set_td_points_in_year_one_formula = function(a) {h = a.formulas[0].td_points_in_year_one}, this.__get_td_points_in_year_one_formula = function() {return h}, this.__set_value_of_travel_rewards_formula = function(a) {i = a.formulas[0].value_of_travel_rewards}, this.__get_value_of_travel_rewards_formula = function() {return i}, this.calculation_points = function(a) {var b = this.__get_td_points_per_dollar(),c = this.__get_welcome_bonus();return this.__get_mathParser().parse(this.__get_td_points_in_year_one_formula()).evaluate({monthlySpent: a,td_points_per_dollar: b,welcome_bonus: c})}, this.calculation = function(a) {var b = this.__get_base_redemption_td_point(),c = this.__get_base_redemption_dollar();return this.__get_mathParser().parse(this.__get_value_of_travel_rewards_formula()).evaluate({td_points_in_year_one: a,base_redemption_td_point: b,base_redemption_dollar: c})}}function e(a, b) {d.call(this), this.calculation_points = function(a, b) {var c = this.__get_bonus_rate(),d = this.__get_rate1(),e = this.__get_rate2(),f = this.__get_threshold1(),g = this.__get_threshold2();return this.__get_mathParser().parse(this.__get_td_points_in_year_one_formula()).evaluate({primarySpent: a,secondarySpent: b,rate1: d,rate2: e,threshold1: f,bonus_rate: c,threshold2: g})}, this.calculation = function(a) {var b = this.__get_base_redemption_td_point();return this.__get_mathParser().parse(this.__get_value_of_travel_rewards_formula()).evaluate({td_points_in_year_one: a,base_redemption_td_point: b})}}function f() {d.call(this);var a, b;this.__construct(this.url, this.http), this.__set_cashback_per_dollar = function(b) {a = b.cash_back_per_dollar}, this.__get_cashback_per_dollar = function() {return a}, this.__set_formula = function(a) {b = a.formula}, this.__get_formula = function() {return b}, this.calculation = function(a) {var b = this.__get_welcome_bonus(),c = this.__get_cashback_per_dollar();return this.__get_mathParser().parse(this.__get_formula()).evaluate({monthlySpent: a,cash_back_per_dollar: c,welcome_bonus: b})}}function g(a, c) {b.call(this), this.url = a;var d, e, f, g, h, i;this.__construct(this.url, c), this.__set_bonus_rate = function(a) {d = a.bonus_rate}, this.__get_bonus_rate = function() {return d}, this.__set_rate1 = function(a) {e = a.rate1}, this.__get_rate1 = function() {return e}, this.__set_rate2 = function(a) {f = a.rate2}, this.__get_rate2 = function() {return f}, this.__set_threshold1 = function(a) {g = a.threshold1}, this.__get_threshold1 = function() {return g}, this.__set_threshold2 = function(a) {h = a.threshold2}, this.__get_threshold2 = function() {return h}, this.__set_formula = function(a) {i = a.formula}, this.__get_formula = function() {return i}, this.calculation = function(a, b) {var c = this.__get_bonus_rate(),d = this.__get_rate1(),e = this.__get_rate2(),f = this.__get_threshold1(),g = this.__get_threshold2(),h = this.__get_formula(),i = this.__get_mathParser().parse(h);return 0 == parseInt(c) && 0 == parseInt(g) ? i.evaluate({primarySpent: a,secondarySpent: b,rate1: d,rate2: e,threshold1: f}) : i.evaluate({primarySpent: a,secondarySpent: b,bonus_rate: c,rate1: d,rate2: e,threshold1: f,threshold2: g})}}function h(a, c) {b.call(this);var d;this.url = a, this.http = c, this.__construct(this.url, c), this.__set_formula = function(a) {d = a.formula}, this.__get_formula = function() {return d}, this.first_calculation = function(a) {for(var b = this.__get_formula()[0].formula1, c = this.__get_mathParser().parse(b), d = {}, e = 0; e <= a.length - 1; e++) d["sliderVal" + (e + 1)] = a[e].value;return c.evaluate(d)}, this.second_calculation = function(a) {var b, c = this.__get_formula()[0].formula2;return void 0 === c ? (console.log("The 'formula2' is missing from JSON file. fyi: the 'formula1_result' can be used in the 'formaul2'."), 0) : (b = this.__get_mathParser().parse(c), b.evaluate({formula1_result: a}))}, this.total_spent_calculation = function(a) {for(var b = 0, c = 0; c <= a.length - 1; c++) b += a[c].value;return b}}angular.module("tdcards", []).factory("tdCardInfo", a).service("tdCardRewards", b).service("tdAeroplanRewards", c).service("tdOtherCardRewards", d).service("tdReward", e).service("tdCashback", f).service("tdCashbackVisa", g).service("tdFlexibleRewards", h)}(),function() {"use strict";function a() {return c.prototype = new b, {tdCommon: c}}function b() {}function c() {b.call(this), this.__autoTextSelector = function(a) {var b = a.target;return b.setSelectionRange(0, b.value.length)}, this.__equalHeight = function(a, b) {var c, d = 0,e = !1,f = !1;return void 0 !== b && ("" != b.no_ani && (e = b.na), void 0 !== b.full && (f = b.full)), a.each(function() {c = $(this), e && c.css({height: "auto"}), d = Math.max(d, c.outerHeight(f))}), d}, this.__getDataFromUrl = function(a, b) {if(void 0 !== a) return b({method: "GET",url: a})}}angular.module("tdCommonFactory", []).factory("tdCommonFactory", a).service("tdInit", b).service("tdCommonClass", c)}(),function() {"use strict";function a() {return b.prototype = new b, c.prototype = new c, {CompoundIntest: b,Tax: c}}function b() {this.interstCalculation = function(a, b, c, d, e, f) {var g, h, i = 0,j = 0,k = 0,l = a,m = a,n = [];"y" == e ? k = b : "m" == e ? j = b : "w" == e ? i = b * f : "b" == e && (i = b * f / 2);for(var o = 1; o <= d; o++) h = o % 12, g = i, o > 1 && (g += j + (1 == h ? k : 0)), m += m * (Math.pow(1 + c / 100, 1 / 12) - 1) + g, l += g, 0 == h && n.push({growth: Math.round(100 * (m - l)) / 100,contribution: Math.round(100 * l) / 100});return n}}function c() {var a;this.__set_data = function(b) {a = b}, this.__get_data = function() {return a}, this.__getIncomeTax = function(b, c) {var d, e, f = 0,g = 0;if(void 0 === (d = void 0 !== c ? $(a.prov_tax).filter(function(a, b) {return b.prov_code == c})[0].rates : a.fed_tax) || !Array.isArray(d) || b <= 0) return 0;for(var h = 0; h < d.length; h++) e = 0, b > f && b <= d[h].upper_bound ? e = b - f : b > d[h].upper_bound && (e = d[h].upper_bound - d[h].lower_bound), g += d[h].rate / 100 * e, f = d[h].upper_bound;return g}, this.getTaxSaving = function(b, c, d) {if(void 0 !== a)for(var e = d.length - 1, f = 0, g = 0, h = 0; h <= e; h++) {var i = d[h].growth,j = i - f,k = this.__getIncomeTax(b + j) + this.__getIncomeTax(b + j, c),l = this.__getIncomeTax(b) + this.__getIncomeTax(b, c);g += Math.round(100 * (k - l)) / 100;var m = Math.round(100 * (d[h].contribution + i - g)) / 100;d[h].earnedAfterTax = m, d[h].taxSaving = g, f = i}}}angular.module("tdProjection", []).factory("tdProjectionInfo", a).service("tdCompoundIntest", b).service("tdTax", c)}();

Apply For a Small Business Loan or Line of Credit Online| TD Bank (2024)
Top Articles
Latest Posts
Article information

Author: Ray Christiansen

Last Updated:

Views: 6040

Rating: 4.9 / 5 (69 voted)

Reviews: 92% of readers found this page helpful

Author information

Name: Ray Christiansen

Birthday: 1998-05-04

Address: Apt. 814 34339 Sauer Islands, Hirtheville, GA 02446-8771

Phone: +337636892828

Job: Lead Hospitality Designer

Hobby: Urban exploration, Tai chi, Lockpicking, Fashion, Gunsmithing, Pottery, Geocaching

Introduction: My name is Ray Christiansen, I am a fair, good, cute, gentle, vast, glamorous, excited person who loves writing and wants to share my knowledge and understanding with you.