/*! insight-bitcore 0.1.3 */ !function(D,U,s){"use strict";function F(b){return function(){var c,a=arguments[0],a="["+(b?b+":":"")+a+"] http://errors.angularjs.org/1.2.15-build.2399+sha.ca4ddfa/"+(b?b+"/":"")+a;for(c=1;c0&&a-1 in b}function r(b,a,c){var d;if(b)if(O(b))for(d in b)"prototype"==d||"length"==d||"name"==d||b.hasOwnProperty&&!b.hasOwnProperty(d)||a.call(c,b[d],d);else if(b.forEach&&b.forEach!==r)b.forEach(a,c);else if(xb(b))for(d=0;d=0&&b.splice(c,1),a}function ba(b,a){if(za(b)||b&&b.$evalAsync&&b.$watch)throw Na("cpws");if(a){if(b===a)throw Na("cpi");if(I(b))for(var c=a.length=0;cd;d++)if(!ta(b[d],a[d]))return!1;return!0}}return!1}function Xb(){return U.securityPolicy&&U.securityPolicy.isActive||U.querySelector&&!(!U.querySelector("[ng-csp]")&&!U.querySelector("[data-ng-csp]"))}function db(b,a){var c=2").append(b).html();try{return 3===b[0].nodeType?P(c):c.match(/^(<[^>]+>)/)[1].replace(/^<([\w\-]+)/,function(a,b){return"<"+P(b)})}catch(d){return P(c)}}function Zb(b){try{return decodeURIComponent(b)}catch(a){}}function $b(b){var c,d,a={};return r((b||"").split("&"),function(b){b&&(c=b.split("="),d=Zb(c[0]),v(d)&&(b=v(c[1])?Zb(c[1]):!0,a[d]?I(a[d])?a[d].push(b):a[d]=[a[d],b]:a[d]=b))}),a}function ac(b){var a=[];return r(b,function(b,d){I(b)?r(b,function(b){a.push(va(d,!0)+(!0===b?"":"="+va(b,!0)))}):a.push(va(d,!0)+(!0===b?"":"="+va(b,!0)))}),a.length?a.join("&"):""}function zb(b){return va(b,!0).replace(/%26/gi,"&").replace(/%3D/gi,"=").replace(/%2B/gi,"+")}function va(b,a){return encodeURIComponent(b).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,a?"%20":"+")}function cd(b,a){function c(a){a&&d.push(a)}var e,f,d=[b],h=["ng:app","ng-app","x-ng-app","data-ng-app"],g=/\sng[:\-]app(:\s*([\w\d_]+);?)?\s/;r(h,function(a){h[a]=!0,c(U.getElementById(a)),a=a.replace(":","\\:"),b.querySelectorAll&&(r(b.querySelectorAll("."+a),c),r(b.querySelectorAll("."+a+"\\:"),c),r(b.querySelectorAll("["+a+"]"),c))}),r(d,function(a){if(!e){var b=g.exec(" "+a.className+" ");b?(e=a,f=(b[2]||"").replace(/\s+/g,",")):r(a.attributes,function(b){!e&&h[b.name]&&(e=a,f=b.value)})}}),e&&a(e,f?[f]:[])}function bc(b,a){var c=function(){if(b=z(b),b.injector()){var c=b[0]===U?"document":fa(b);throw Na("btstrpd",c)}return a=a||[],a.unshift(["$provide",function(a){a.value("$rootElement",b)}]),a.unshift("ng"),c=cc(a),c.invoke(["$rootScope","$rootElement","$compile","$injector","$animate",function(a,b,c,d){a.$apply(function(){b.data("$injector",d),c(b)(a)})}]),c},d=/^NG_DEFER_BOOTSTRAP!/;return D&&!d.test(D.name)?c():(D.name=D.name.replace(d,""),void(Ca.resumeBootstrap=function(b){r(b,function(b){a.push(b)}),c()}))}function eb(b,a){return a=a||"_",b.replace(dd,function(b,d){return(d?a:"")+b.toLowerCase()})}function Ab(b,a,c){if(!b)throw Na("areq",a||"?",c||"required");return b}function Pa(b,a,c){return c&&I(b)&&(b=b[b.length-1]),Ab(O(b),a,"not a function, got "+(b&&"object"==typeof b?b.constructor.name||"Object":typeof b)),b}function wa(b,a){if("hasOwnProperty"===b)throw Na("badname",a)}function dc(b,a,c){if(!a)return b;a=a.split(".");for(var d,e=b,f=a.length,h=0;f>h;h++)d=a[h],b&&(b=(e=b)[d]);return!c&&O(b)?db(e,b):b}function Bb(b){var a=b[0];if(b=b[b.length-1],a===b)return z(a);var c=[a];do{if(a=a.nextSibling,!a)break;c.push(a)}while(a!==b);return z(c)}function ed(b){var a=F("$injector"),c=F("ng");return b=b.angular||(b.angular={}),b.$$minErr=b.$$minErr||F,b.module||(b.module=function(){var b={};return function(e,f,h){if("hasOwnProperty"===e)throw c("badname","module");return f&&b.hasOwnProperty(e)&&(b[e]=null),b[e]||(b[e]=function(){function b(a,d,e){return function(){return c[e||"push"]([a,d,arguments]),n}}if(!f)throw a("nomod",e);var c=[],d=[],l=b("$injector","invoke"),n={_invokeQueue:c,_runBlocks:d,requires:f,name:e,provider:b("$provide","provider"),factory:b("$provide","factory"),service:b("$provide","service"),value:b("$provide","value"),constant:b("$provide","constant","unshift"),animation:b("$animateProvider","register"),filter:b("$filterProvider","register"),controller:b("$controllerProvider","register"),directive:b("$compileProvider","directive"),config:l,run:function(a){return d.push(a),this}};return h&&l(h),n}())}}())}function Qa(b){return b.replace(fd,function(a,b,d,e){return e?d.toUpperCase():d}).replace(gd,"Moz$1")}function Cb(b,a,c,d){function e(b){var k,l,n,q,p,A,e=c&&b?[this.filter(b)]:[this],m=a;if(!d||null!=b)for(;e.length;)for(k=e.shift(),l=0,n=k.length;n>l;l++)for(q=z(k[l]),m?q.triggerHandler("$destroy"):m=!m,p=0,q=(A=q.children()).length;q>p;p++)e.push(Da(A[p]));return f.apply(this,arguments)}var f=Da.fn[b],f=f.$original||f;e.$original=f,Da.fn[b]=e}function S(b){if(b instanceof S)return b;if(y(b)&&(b=ca(b)),!(this instanceof S)){if(y(b)&&"<"!=b.charAt(0))throw Db("nosel");return new S(b)}if(y(b)){var a=U.createElement("div");a.innerHTML="
 
"+b,a.removeChild(a.firstChild),Eb(this,a.childNodes),z(U.createDocumentFragment()).append(this)}else Eb(this,b)}function Fb(b){return b.cloneNode(!0)}function Ea(b){ec(b);var a=0;for(b=b.childNodes||[];ad;d++)if((c=b.data(a[d]))!==s)return c;b=b.parent()}}function ic(b){for(var a=0,c=b.childNodes;a=Q?(c.preventDefault=null,c.stopPropagation=null,c.isDefaultPrevented=null):(delete c.preventDefault,delete c.stopPropagation,delete c.isDefaultPrevented)};return c.elem=b,c}function Fa(b){var c,a=typeof b;return"object"==a&&null!==b?"function"==typeof(c=b.$$hashKey)?c=b.$$hashKey():c===s&&(c=b.$$hashKey=ab()):c=b,a+":"+c}function Sa(b){r(b,this.put,this)}function lc(b){var a,c;return"function"==typeof b?(a=b.$inject)||(a=[],b.length&&(c=b.toString().replace(jd,""),c=c.match(kd),r(c[1].split(ld),function(b){b.replace(md,function(b,c,d){a.push(d)})})),b.$inject=a):I(b)?(c=b.length-1,Pa(b[c],"fn"),a=b.slice(0,c)):Pa(b,"fn",!0),a}function cc(b){function a(a){return function(b,c){return X(b)?void r(b,Tb(a)):a(b,c)}}function c(a,b){if(wa(a,"service"),(O(b)||I(b))&&(b=n.instantiate(b)),!b.$get)throw Ta("pget",a);return l[a+g]=b}function d(a,b){return c(a,{$get:b})}function e(a){var c,d,f,g,b=[];return r(a,function(a){if(!k.get(a)){k.put(a,!0);try{if(y(a))for(c=Ua(a),b=b.concat(e(c.requires)).concat(c._runBlocks),d=c._invokeQueue,f=0,g=d.length;g>f;f++){var h=d[f],m=n.get(h[0]);m[h[1]].apply(m,h[2])}else O(a)?b.push(n.invoke(a)):I(a)?b.push(n.invoke(a)):Pa(a,"module")}catch(l){throw I(a)&&(a=a[a.length-1]),l.message&&l.stack&&-1==l.stack.indexOf(l.message)&&(l=l.message+"\n"+l.stack),Ta("modulerr",a,l.stack||l.message||l)}}}),b}function f(a,b){function c(d){if(a.hasOwnProperty(d)){if(a[d]===h)throw Ta("cdep",m.join(" <- "));return a[d]}try{return m.unshift(d),a[d]=h,a[d]=b(d)}catch(e){throw a[d]===h&&delete a[d],e}finally{m.shift()}}function d(a,b,e){var h,k,m,f=[],g=lc(a);for(k=0,h=g.length;h>k;k++){if(m=g[k],"string"!=typeof m)throw Ta("itkn",m);f.push(e&&e.hasOwnProperty(m)?e[m]:c(m))}return a.$inject||(a=a[h]),a.apply(b,f)}return{invoke:d,instantiate:function(a,b){var e,c=function(){};return c.prototype=(I(a)?a[a.length-1]:a).prototype,c=new c,e=d(a,c,b),X(e)||O(e)?e:c},get:c,annotate:lc,has:function(b){return l.hasOwnProperty(b+g)||a.hasOwnProperty(b)}}}var h={},g="Provider",m=[],k=new Sa,l={$provide:{provider:a(c),factory:a(d),service:a(function(a,b){return d(a,["$injector",function(a){return a.instantiate(b)}])}),value:a(function(a,b){return d(a,$(b))}),constant:a(function(a,b){wa(a,"constant"),l[a]=b,q[a]=b}),decorator:function(a,b){var c=n.get(a+g),d=c.$get;c.$get=function(){var a=p.invoke(d,c);return p.invoke(b,null,{$delegate:a})}}}},n=l.$injector=f(l,function(){throw Ta("unpr",m.join(" <- "))}),q={},p=q.$injector=f(q,function(a){return a=n.get(a+g),p.invoke(a.$get,a)});return r(e(b),function(a){p.invoke(a||x)}),p}function nd(){var b=!0;this.disableAutoScrolling=function(){b=!1},this.$get=["$window","$location","$rootScope",function(a,c,d){function e(a){var b=null;return r(a,function(a){b||"a"!==P(a.nodeName)||(b=a)}),b}function f(){var d,b=c.hash();b?(d=h.getElementById(b))?d.scrollIntoView():(d=e(h.getElementsByName(b)))?d.scrollIntoView():"top"===b&&a.scrollTo(0,0):a.scrollTo(0,0)}var h=a.document;return b&&d.$watch(function(){return c.hash()},function(){d.$evalAsync(f)}),f}]}function od(){this.$get=["$$rAF","$timeout",function(b,a){return b.supported?function(a){return b(a)}:function(b){return a(b,0,!1)}}]}function pd(b,a,c,d){function e(a){try{a.apply(null,ua.call(arguments,1))}finally{if(A--,0===A)for(;E.length;)try{E.pop()()}catch(b){c.error(b)}}}function f(a,b){!function lb(){r(B,function(a){a()}),u=b(lb,a)}()}function h(){w=null,H!=g.url()&&(H=g.url(),r(Y,function(a){a(g.url())}))}var g=this,m=a[0],k=b.location,l=b.history,n=b.setTimeout,q=b.clearTimeout,p={};g.isMock=!1;var A=0,E=[];g.$$completeOutstandingRequest=e,g.$$incOutstandingRequestCount=function(){A++},g.notifyWhenNoOutstandingRequests=function(a){r(B,function(a){a()}),0===A?a():E.push(a)};var u,B=[];g.addPollFn=function(a){return C(u)&&f(100,n),B.push(a),a};var H=k.href,J=a.find("base"),w=null;g.url=function(a,c){return k!==b.location&&(k=b.location),l!==b.history&&(l=b.history),a?H!=a?(H=a,d.history?c?l.replaceState(null,"",a):(l.pushState(null,"",a),J.attr("href",J.attr("href"))):(w=a,c?k.replace(a):k.href=a),g):void 0:w||k.href.replace(/%27/g,"'")};var Y=[],T=!1;g.onUrlChange=function(a){return T||(d.history&&z(b).on("popstate",h),d.hashchange?z(b).on("hashchange",h):g.addPollFn(h),T=!0),Y.push(a),a},g.baseHref=function(){var a=J.attr("href");return a?a.replace(/^(https?\:)?\/\/[^\/]*/,""):""};var M={},aa="",V=g.baseHref();g.cookies=function(a,b){var d,e,f,g;if(!a){if(m.cookie!==aa)for(aa=m.cookie,d=aa.split("; "),M={},f=0;f0&&(a=unescape(e.substring(0,g)),M[a]===s&&(M[a]=unescape(e.substring(g+1))));return M}b===s?m.cookie=escape(a)+"=;path="+V+";expires=Thu, 01 Jan 1970 00:00:00 GMT":y(b)&&(d=(m.cookie=escape(a)+"="+escape(b)+";path="+V).length+1,d>4096&&c.warn("Cookie '"+a+"' possibly not set or overflowed because it was too large ("+d+" > 4096 bytes)!"))},g.defer=function(a,b){var c;return A++,c=n(function(){delete p[c],e(a)},b||0),p[c]=!0,c},g.defer.cancel=function(a){return p[a]?(delete p[a],q(a),e(x),!0):!1}}function qd(){this.$get=["$window","$log","$sniffer","$document",function(b,a,c,d){return new pd(b,d,a,c)}]}function rd(){this.$get=function(){function b(b,d){function e(a){a!=n&&(q?q==a&&(q=a.n):q=a,f(a.n,a.p),f(a,n),n=a,n.n=null)}function f(a,b){a!=b&&(a&&(a.p=b),b&&(b.n=a))}if(b in a)throw F("$cacheFactory")("iid",b);var h=0,g=t({},d,{id:b}),m={},k=d&&d.capacity||Number.MAX_VALUE,l={},n=null,q=null;return a[b]={put:function(a,b){if(kk&&this.remove(q.key),b)},get:function(a){if(k]*)?>/i,g=/^(on[a-z]+|formaction)$/;this.directive=function k(a,e){return wa(a,"directive"),y(a)?(Ab(e,"directiveFactory"),c.hasOwnProperty(a)||(c[a]=[],b.factory(a+d,["$injector","$exceptionHandler",function(b,d){var e=[];return r(c[a],function(c,f){try{var g=b.invoke(c);O(g)?g={compile:$(g)}:!g.compile&&g.link&&(g.compile=$(g.link)),g.priority=g.priority||0,g.index=f,g.name=g.name||a,g.require=g.require||g.controller&&g.name,g.restrict=g.restrict||"A",e.push(g)}catch(h){d(h)}}),e}])),c[a].push(e)):r(a,Tb(k)),this},this.aHrefSanitizationWhitelist=function(b){return v(b)?(a.aHrefSanitizationWhitelist(b),this):a.aHrefSanitizationWhitelist()},this.imgSrcSanitizationWhitelist=function(b){return v(b)?(a.imgSrcSanitizationWhitelist(b),this):a.imgSrcSanitizationWhitelist()},this.$get=["$injector","$interpolate","$exceptionHandler","$http","$templateCache","$parse","$controller","$rootScope","$document","$sce","$animate","$$sanitizeUri",function(a,b,n,q,p,A,E,B,u,H,J,w){function Y(a,b,c,d,e){a instanceof z||(a=z(a)),r(a,function(b,c){3==b.nodeType&&b.nodeValue.match(/\S+/)&&(a[c]=z(b).wrap("").parent()[0])});var f=M(a,b,a,c,d,e);return T(a,"ng-scope"),function(b,c,d){Ab(b,"scope");var e=c?Ga.clone.call(a):a;r(d,function(a,b){e.data("$"+b+"Controller",a)}),d=0;for(var g=e.length;g>d;d++){var h=e[d].nodeType;1!==h&&9!==h||e.eq(d).data("$scope",b)}return c&&c(e,b),f&&f(b,e,e),e}}function T(a,b){try{a.addClass(b)}catch(c){}}function M(a,b,c,d,e,f){function g(a,c,d,e){var f,k,l,n,p,q,A;f=c.length;var L=Array(f);for(p=0;f>p;p++)L[p]=c[p];for(A=p=0,q=h.length;q>p;A++)k=L[A],c=h[p++],f=h[p++],l=z(k),c?(c.scope?(n=a.$new(),l.data("$scope",n)):n=a,(l=c.transclude)||!e&&b?c(f,n,k,d,aa(a,l||b)):c(f,n,k,d,e)):f&&f(a,k.childNodes,s,e)}for(var k,l,n,p,h=[],q=0;qq;q++){var E=!1,H=!1;if(l=k[q],!Q||Q>=8||l.specified){n=l.name,p=ka(n),pa.test(p)&&(n=eb(p.substr(6),"-"));var B=p.replace(/(Start|End)$/,"");p===B+"Start"&&(E=n,H=n.substr(0,n.length-5)+"end",n=n.substr(0,n.length-6)),p=ka(n.toLowerCase()),h[p]=n,c[p]=l=ca(l.value),jc(a,p)&&(c[p]=!0),ga(a,b,l,p),v(b,p,"A",d,g,E,H)}}if(a=a.className,y(a)&&""!==a)for(;k=f.exec(a);)p=ka(k[2]),v(b,p,"C",d,g)&&(c[p]=ca(k[3])),a=a.substr(k.index+k[0].length);break;case 3:D(b,a.nodeValue);break;case 8:try{(k=e.exec(a.nodeValue))&&(p=ka(k[1]),v(b,p,"M",d,g)&&(c[p]=ca(k[2])))}catch(w){}}return b.sort(F),b}function N(a,b,c){var d=[],e=0;if(b&&a.hasAttribute&&a.hasAttribute(b)){do{if(!a)throw ha("uterdir",b,c);1==a.nodeType&&(a.hasAttribute(b)&&e++,a.hasAttribute(c)&&e--),d.push(a),a=a.nextSibling}while(e>0)}else d.push(a);return z(d)}function kb(a,b,c){return function(d,e,f,g,h){return e=N(e[0],b,c),a(d,e,f,g,h)}}function Va(a,c,d,e,f,g,h,k,p){function q(a,b,c,d){a&&(c&&(a=kb(a,c,d)),a.require=G.require,(M===G||G.$$isolateScope)&&(a=nc(a,{isolateScope:!0})),h.push(a)),b&&(c&&(b=kb(b,c,d)),b.require=G.require,(M===G||G.$$isolateScope)&&(b=nc(b,{isolateScope:!0})),k.push(b))}function H(a,b,c){var d,e="data",f=!1;if(y(a)){for(;"^"==(d=a.charAt(0))||"?"==d;)a=a.substr(1),"^"==d&&(e="inheritedData"),f=f||"?"==d;if(d=null,c&&"data"===e&&(d=c[a]),d=d||b[e]("$"+a+"Controller"),!d&&!f)throw ha("ctreq",a,ga)}else I(a)&&(d=[],r(a,function(a){d.push(H(a,b,c))}));return d}function B(a,e,f,g,p){function q(a,b){var c;return 2>arguments.length&&(b=a,a=s),Ia&&(c=v),p(a,b,c)}var L,w,u,Y,N,V,mb,v={};if(L=c===f?d:Wb(d,new Ib(z(f),d.$attr)),w=L.$$element,M){var t=/^\s*([@=&])(\??)\s*(\w*)\s*$/;g=z(f),V=e.$new(!0),aa&&aa===M.$$originalDirective?g.data("$isolateScope",V):g.data("$isolateScopeNoTemplate",V),T(g,"ng-isolate-scope"),r(M.scope,function(a,c){var h,k,p,n,d=a.match(t)||[],f=d[3]||c,g="?"==d[2],d=d[1];switch(V.$$isolateBindings[c]=d+f,d){case"@":L.$observe(f,function(a){V[c]=a}),L.$$observers[f].$$scope=e,L[f]&&(V[c]=b(L[f])(e));break;case"=":if(g&&!L[f])break;k=A(L[f]),n=k.literal?ta:function(a,b){return a===b},p=k.assign||function(){throw h=V[c]=k(e),ha("nonassign",L[f],M.name)},h=V[c]=k(e),V.$watch(function(){var a=k(e);return n(a,V[c])||(n(a,h)?p(e,a=V[c]):V[c]=a),h=a},null,k.literal);break;case"&":k=A(L[f]),V[c]=function(a){return k(e,a)};break;default:throw ha("iscp",M.name,c,a)}})}for(mb=p&&q,J&&r(J,function(a){var c,b={$scope:a===M||a.$$isolateScope?V:e,$element:w,$attrs:L,$transclude:mb};N=a.controller,"@"==N&&(N=L[a.name]),c=E(N,b),v[a.name]=c,Ia||w.data("$"+a.name+"Controller",c),a.controllerAs&&(b.$scope[a.controllerAs]=c)}),g=0,u=h.length;u>g;g++)try{(Y=h[g])(Y.isolateScope?V:e,w,L,Y.require&&H(Y.require,w,v),mb)}catch(K){n(K,fa(w))}for(g=e,M&&(M.template||null===M.templateUrl)&&(g=V),a&&a(g,f.childNodes,s,p),g=k.length-1;g>=0;g--)try{(Y=k[g])(Y.isolateScope?V:e,w,L,Y.require&&H(Y.require,w,v),mb)}catch(kb){n(kb,fa(w))}}p=p||{};for(var u,G,ga,t,pa,w=-Number.MAX_VALUE,J=p.controllerDirectives,M=p.newIsolateScopeDirective,aa=p.templateDirective,v=p.nonTlbTranscludeDirective,Va=!1,Ia=p.hasElementTranscludeDirective,K=d.$$element=z(c),F=e,D=0,Q=a.length;Q>D;D++){G=a[D];var R=G.$$start,W=G.$$end;if(R&&(K=N(c,R,W)),t=s,w>G.priority)break;if((t=G.scope)&&(u=u||G,G.templateUrl||(S("new/isolated scope",M,G,K),X(t)&&(M=G))),ga=G.name,!G.templateUrl&&G.controller&&(t=G.controller,J=J||{},S("'"+ga+"' controller",J[ga],G,K),J[ga]=G),(t=G.transclude)&&(Va=!0,G.$$tlb||(S("transclusion",v,G,K),v=G),"element"==t?(Ia=!0,w=G.priority,t=N(c,R,W),K=d.$$element=z(U.createComment(" "+ga+": "+d[ga]+" ")),c=K[0],nb(f,z(ua.call(t,0)),c),F=Y(t,e,w,g&&g.name,{nonTlbTranscludeDirective:v})):(t=z(Fb(c)).contents(),K.empty(),F=Y(t,e))),G.template)if(S("template",aa,G,K),aa=G,t=O(G.template)?G.template(K,d):G.template,t=oc(t),G.replace){if(g=G,t=C(t),c=t[0],1!=t.length||1!==c.nodeType)throw ha("tplrt",ga,"");nb(f,K,c),Q={$attr:{}},t=V(c,[],Q);var Z=a.splice(D+1,a.length-(D+1));M&&lb(t),a=a.concat(t).concat(Z),x(d,Q),Q=a.length}else K.html(t);if(G.templateUrl)S("template",aa,G,K),aa=G,G.replace&&(g=G),B=P(a.splice(D,a.length-D),K,d,f,F,h,k,{controllerDirectives:J,newIsolateScopeDirective:M,templateDirective:aa,nonTlbTranscludeDirective:v}),Q=a.length;else if(G.compile)try{pa=G.compile(K,d,F),O(pa)?q(null,pa,R,W):pa&&q(pa.pre,pa.post,R,W)}catch($){n($,fa(K))}G.terminal&&(B.terminal=!0,w=Math.max(w,G.priority))}return B.scope=u&&!0===u.scope,B.transclude=Va&&F,p.hasElementTranscludeDirective=Ia,B}function lb(a){for(var b=0,c=a.length;c>b;b++)a[b]=Vb(a[b],{$$isolateScope:!0})}function v(b,e,f,g,h,l,p){if(e===h)return null;if(h=null,c.hasOwnProperty(e)){var q;e=a.get(e+d);for(var A=0,E=e.length;E>A;A++)try{q=e[A],(g===s||g>q.priority)&&-1!=q.restrict.indexOf(f)&&(l&&(q=Vb(q,{$$start:l,$$end:p})),b.push(q),h=q)}catch(H){n(H)}}return h}function x(a,b){var c=b.$attr,d=a.$attr,e=a.$$element;r(a,function(d,e){"$"!=e.charAt(0)&&(b[e]&&(d+=("style"===e?";":" ")+b[e]),a.$set(e,d,!0,c[e]))}),r(b,function(b,f){"class"==f?(T(e,b),a["class"]=(a["class"]?a["class"]+" ":"")+b):"style"==f?(e.attr("style",e.attr("style")+";"+b),a.style=(a.style?a.style+";":"")+b):"$"==f.charAt(0)||a.hasOwnProperty(f)||(a[f]=b,d[f]=c[f])})}function C(a){var b;return a=ca(a),(b=h.exec(a))?(b=b[1].toLowerCase(),a=z(""+a+"
"),/(thead|tbody|tfoot)/.test(b)?a.children(b):(a=a.children("tbody"),"tr"===b?a.children("tr"):a.children("tr").contents())):z("
"+a+"
").contents()}function P(a,b,c,d,e,f,g,h){var l,n,k=[],A=b[0],E=a.shift(),w=t({},E,{templateUrl:null,transclude:null,replace:null,$$originalDirective:E}),B=O(E.templateUrl)?E.templateUrl(b,c):E.templateUrl;return b.empty(),q.get(H.getTrustedResourceUrl(B),{cache:p}).success(function(p){var q,H;if(p=oc(p),E.replace){if(p=C(p),q=p[0],1!=p.length||1!==q.nodeType)throw ha("tplrt",E.name,B);p={$attr:{}},nb(d,b,q);var u=V(q,[],p);X(E.scope)&&lb(u),a=u.concat(a),x(c,p)}else q=A,b.html(p);for(a.unshift(w),l=Va(a,q,c,e,b,E,f,g,h),r(d,function(a,c){a==q&&(d[c]=b[0])}),n=M(b[0].childNodes,e);k.length;){p=k.shift(),H=k.shift();var J=k.shift(),Y=k.shift(),u=b[0];if(H!==A){var N=H.className;h.hasElementTranscludeDirective&&E.replace||(u=Fb(q)),nb(J,z(H),u),T(z(u),N)}H=l.transclude?aa(p,l.transclude):Y,l(n,p,u,d,H)}k=null}).error(function(a,b,c,d){throw ha("tpload",d.url)}),function(a,b,c,d,e){k?(k.push(b),k.push(c),k.push(d),k.push(e)):l(n,b,c,d,e)}}function F(a,b){var c=b.priority-a.priority;return 0!==c?c:a.name!==b.name?a.nameg;g++)if(a[g]==d){a[g++]=c,h=g+e-1;for(var k=a.length;k>g;g++,h++)k>h?a[g]=a[h]:delete a[g];a.length-=e-1;break}for(f&&f.replaceChild(c,d),a=U.createDocumentFragment(),a.appendChild(d),c[z.expando]=d[z.expando],d=1,e=b.length;e>d;d++)f=b[d],z(f).remove(),a.appendChild(f),delete b[d];b[0]=c,b.length=1}function nc(a,b){return t(function(){return a.apply(null,arguments)},a,b)}var Ib=function(a,b){this.$$element=a,this.$attr=b||{}};Ib.prototype={$normalize:ka,$addClass:function(a){a&&0a.status?b:n.reject(b)}var d={method:"get",transformRequest:e.transformRequest,transformResponse:e.transformResponse},f=function(a){function b(a){var c;r(a,function(b,d){O(b)&&(c=b(),null!=c?a[d]=c:delete a[d])})}var f,g,c=e.headers,d=t({},a.headers),c=t({},c.common,c[P(a.method)]);b(c),b(d);a:for(f in c){a=P(f);for(g in d)if(P(g)===a)continue a;d[f]=c[f]}return d}(a);t(d,a),d.headers=f,d.method=Ja(d.method),(a=Jb(d.url)?b.cookies()[d.xsrfCookieName||e.xsrfCookieName]:s)&&(f[d.xsrfHeaderName||e.xsrfHeaderName]=a);var g=[function(a){f=a.headers;var b=sc(a.data,rc(f),a.transformRequest);return C(a.data)&&r(f,function(a,b){"content-type"===P(b)&&delete f[b]}),C(a.withCredentials)&&!C(e.withCredentials)&&(a.withCredentials=e.withCredentials),A(a,b,f).then(c,c)},s],h=n.when(d);for(r(u,function(a){(a.request||a.requestError)&&g.unshift(a.request,a.requestError),(a.response||a.responseError)&&g.push(a.response,a.responseError)});g.length;){a=g.shift();var k=g.shift(),h=h.then(a,k)}return h.success=function(a){return h.then(function(b){a(b.data,b.status,b.headers,d)}),h},h.error=function(a){return h.then(null,function(b){a(b.data,b.status,b.headers,d)}),h},h}function A(b,c,f){function h(a,b,c){u&&(a>=200&&300>a?u.put(s,[a,b,qc(c)]):u.remove(s)),k(b,a,c),d.$$phase||d.$apply()}function k(a,c,d){c=Math.max(c,0),(c>=200&&300>c?q.resolve:q.reject)({data:a,status:c,headers:rc(d),config:b})}function m(){var a=cb(p.pendingRequests,b);-1!==a&&p.pendingRequests.splice(a,1)}var u,r,q=n.defer(),A=q.promise,s=E(b.url,b.params);if(p.pendingRequests.push(b),A.then(m,m),(b.cache||e.cache)&&!1!==b.cache&&"GET"==b.method&&(u=X(b.cache)?b.cache:X(e.cache)?e.cache:B),u)if(r=u.get(s),v(r)){if(r.then)return r.then(m,m),r; I(r)?k(r[1],r[0],ba(r[2])):k(r,200,{})}else u.put(s,A);return C(r)&&a(b.method,s,c,h,f,b.timeout,b.withCredentials,b.responseType),A}function E(a,b){if(!b)return a;var c=[];return Zc(b,function(a,b){null===a||C(a)||(I(a)||(a=[a]),r(a,function(a){X(a)&&(a=oa(a)),c.push(va(b)+"="+va(a))}))}),0=Q&&(!b.match(/^(get|post|head|put|delete|options)$/i)||!D.XMLHttpRequest))return new D.ActiveXObject("Microsoft.XMLHTTP");if(D.XMLHttpRequest)return new D.XMLHttpRequest;throw F("$httpBackend")("noxhr")}function zd(){this.$get=["$browser","$window","$document",function(b,a,c){return Ad(b,yd,b.defer,a.angular.callbacks,c[0])}]}function Ad(b,a,c,d,e){function f(a,b){var c=e.createElement("script"),d=function(){c.onreadystatechange=c.onload=c.onerror=null,e.body.removeChild(c),b&&b()};return c.type="text/javascript",c.src=a,Q&&8>=Q?c.onreadystatechange=function(){/loaded|complete/.test(c.readyState)&&d()}:c.onload=c.onerror=function(){d()},e.body.appendChild(c),d}var h=-1;return function(e,m,k,l,n,q,p,A){function E(){u=h,J&&J(),w&&w.abort()}function B(a,d,e,f){T&&c.cancel(T),J=w=null,d=0===d?e?200:404:d,a(1223==d?204:d,e,f),b.$$completeOutstandingRequest(x)}var u;if(b.$$incOutstandingRequestCount(),m=m||b.url(),"jsonp"==P(e)){var H="_"+(d.counter++).toString(36);d[H]=function(a){d[H].data=a};var J=f(m.replace("JSON_CALLBACK","angular.callbacks."+H),function(){d[H].data?B(l,200,d[H].data):B(l,u||-2),d[H]=Ca.noop})}else{var w=a(e);if(w.open(e,m,!0),r(n,function(a,b){v(a)&&w.setRequestHeader(b,a)}),w.onreadystatechange=function(){if(w&&4==w.readyState){var a=null,b=null;u!==h&&(a=w.getAllResponseHeaders(),b="response"in w?w.response:w.responseText),B(l,u||w.status,b,a)}},p&&(w.withCredentials=!0),A)try{w.responseType=A}catch(s){if("json"!==A)throw s}w.send(k||null)}if(q>0)var T=c(E,q);else q&&q.then&&q.then(E)}}function Bd(){var b="{{",a="}}";this.startSymbol=function(a){return a?(b=a,this):b},this.endSymbol=function(b){return b?(a=b,this):a},this.$get=["$parse","$exceptionHandler","$sce",function(c,d,e){function f(f,k,l){for(var n,q,p=0,A=[],E=f.length,B=!1,u=[];E>p;)-1!=(n=f.indexOf(b,p))&&-1!=(q=f.indexOf(a,n+h))?(p!=n&&A.push(f.substring(p,n)),A.push(p=c(B=f.substring(n+h,q))),p.exp=B,p=q+g,B=!0):(p!=E&&A.push(f.substring(p)),p=E);if((E=A.length)||(A.push(""),E=1),l&&1b;b++)"function"==typeof(g=A[b])&&(g=g(a),g=l?e.getTrusted(l,g):e.valueOf(g),null===g||C(g)?g="":"string"!=typeof g&&(g=oa(g))),u[b]=g;return u.join("")}catch(h){a=tc("interr",f,h.toString()),d(a)}},p.exp=f,p.parts=A,p):void 0}var h=b.length,g=a.length;return f.startSymbol=function(){return b},f.endSymbol=function(){return a},f}]}function Cd(){this.$get=["$rootScope","$window","$q",function(b,a,c){function d(d,h,g,m){var k=a.setInterval,l=a.clearInterval,n=c.defer(),q=n.promise,p=0,A=v(m)&&!m;return g=v(g)?g:0,q.then(null,null,d),q.$$intervalId=k(function(){n.notify(p++),g>0&&p>=g&&(n.resolve(p),l(q.$$intervalId),delete e[q.$$intervalId]),A||b.$apply()},h),e[q.$$intervalId]=n,q}var e={};return d.cancel=function(a){return a&&a.$$intervalId in e?(e[a.$$intervalId].reject("canceled"),clearInterval(a.$$intervalId),delete e[a.$$intervalId],!0):!1},d}]}function Dd(){this.$get=function(){return{id:"en-us",NUMBER_FORMATS:{DECIMAL_SEP:".",GROUP_SEP:",",PATTERNS:[{minInt:1,minFrac:0,maxFrac:3,posPre:"",posSuf:"",negPre:"-",negSuf:"",gSize:3,lgSize:3},{minInt:1,minFrac:2,maxFrac:2,posPre:"¤",posSuf:"",negPre:"(¤",negSuf:")",gSize:3,lgSize:3}],CURRENCY_SYM:"$"},DATETIME_FORMATS:{MONTH:"January February March April May June July August September October November December".split(" "),SHORTMONTH:"Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec".split(" "),DAY:"Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),SHORTDAY:"Sun Mon Tue Wed Thu Fri Sat".split(" "),AMPMS:["AM","PM"],medium:"MMM d, y h:mm:ss a","short":"M/d/yy h:mm a",fullDate:"EEEE, MMMM d, y",longDate:"MMMM d, y",mediumDate:"MMM d, y",shortDate:"M/d/yy",mediumTime:"h:mm:ss a",shortTime:"h:mm a"},pluralCat:function(b){return 1===b?"one":"other"}}}}function uc(b){b=b.split("/");for(var a=b.length;a--;)b[a]=zb(b[a]);return b.join("/")}function vc(b,a,c){b=xa(b,c),a.$$protocol=b.protocol,a.$$host=b.hostname,a.$$port=R(b.port)||Ed[b.protocol]||null}function wc(b,a,c){var d="/"!==b.charAt(0);d&&(b="/"+b),b=xa(b,c),a.$$path=decodeURIComponent(d&&"/"===b.pathname.charAt(0)?b.pathname.substring(1):b.pathname),a.$$search=$b(b.search),a.$$hash=decodeURIComponent(b.hash),a.$$path&&"/"!=a.$$path.charAt(0)&&(a.$$path="/"+a.$$path)}function la(b,a){return 0===a.indexOf(b)?a.substr(b.length):void 0}function Wa(b){var a=b.indexOf("#");return-1==a?b:b.substr(0,a)}function Kb(b){return b.substr(0,Wa(b).lastIndexOf("/")+1)}function xc(b,a){this.$$html5=!0,a=a||"";var c=Kb(b);vc(b,this,b),this.$$parse=function(a){var e=la(c,a);if(!y(e))throw Lb("ipthprfx",a,c);wc(e,this,b),this.$$path||(this.$$path="/"),this.$$compose()},this.$$compose=function(){var a=ac(this.$$search),b=this.$$hash?"#"+zb(this.$$hash):"";this.$$url=uc(this.$$path)+(a?"?"+a:"")+b,this.$$absUrl=c+this.$$url.substr(1)},this.$$rewrite=function(d){var e;return(e=la(b,d))!==s?(d=e,(e=la(a,e))!==s?c+(la("/",e)||e):b+d):(e=la(c,d))!==s?c+e:c==d+"/"?c:void 0}}function Mb(b,a){var c=Kb(b);vc(b,this,b),this.$$parse=function(d){var e=la(b,d)||la(c,d),e="#"==e.charAt(0)?la(a,e):this.$$html5?e:"";if(!y(e))throw Lb("ihshprfx",d,a);wc(e,this,b),d=this.$$path;var f=/^\/?.*?:(\/.*)/;0===e.indexOf(b)&&(e=e.replace(b,"")),f.exec(e)||(d=(e=f.exec(d))?e[1]:d),this.$$path=d,this.$$compose()},this.$$compose=function(){var c=ac(this.$$search),e=this.$$hash?"#"+zb(this.$$hash):"";this.$$url=uc(this.$$path)+(c?"?"+c:"")+e,this.$$absUrl=b+(this.$$url?a+this.$$url:"")},this.$$rewrite=function(a){return Wa(b)==Wa(a)?a:void 0}}function yc(b,a){this.$$html5=!0,Mb.apply(this,arguments);var c=Kb(b);this.$$rewrite=function(d){var e;return b==Wa(d)?d:(e=la(c,d))?b+a+e:c===d+"/"?c:void 0}}function ob(b){return function(){return this[b]}}function zc(b,a){return function(c){return C(c)?this[b]:(this[b]=a(c),this.$$compose(),this)}}function Fd(){var b="",a=!1;this.hashPrefix=function(a){return v(a)?(b=a,this):b},this.html5Mode=function(b){return v(b)?(a=b,this):a},this.$get=["$rootScope","$browser","$sniffer","$rootElement",function(c,d,e,f){function h(a){c.$broadcast("$locationChangeSuccess",g.absUrl(),a)}var g,m=d.baseHref(),k=d.url();a?(m=k.substring(0,k.indexOf("/",k.indexOf("//")+2))+(m||"/"),e=e.history?xc:yc):(m=Wa(k),e=Mb),g=new e(m,"#"+b),g.$$parse(g.$$rewrite(k)),f.on("click",function(a){if(!a.ctrlKey&&!a.metaKey&&2!=a.which){for(var b=z(a.target);"a"!==P(b[0].nodeName);)if(b[0]===f[0]||!(b=b.parent())[0])return;var e=b.prop("href");X(e)&&"[object SVGAnimatedString]"===e.toString()&&(e=xa(e.animVal).href);var h=g.$$rewrite(e);e&&!b.attr("target")&&h&&!a.isDefaultPrevented()&&(a.preventDefault(),h!=d.url()&&(g.$$parse(h),c.$apply(),D.angular["ff-684208-preventDefault"]=!0))}}),g.absUrl()!=k&&d.url(g.absUrl(),!0),d.onUrlChange(function(a){g.absUrl()!=a&&(c.$evalAsync(function(){var b=g.absUrl();g.$$parse(a),c.$broadcast("$locationChangeStart",a,b).defaultPrevented?(g.$$parse(b),d.url(b)):h(b)}),c.$$phase||c.$digest())});var l=0;return c.$watch(function(){var a=d.url(),b=g.$$replace;return l&&a==g.absUrl()||(l++,c.$evalAsync(function(){c.$broadcast("$locationChangeStart",g.absUrl(),a).defaultPrevented?g.$$parse(a):(d.url(g.absUrl(),b),h(a))})),g.$$replace=!1,l}),g}]}function Gd(){var b=!0,a=this;this.debugEnabled=function(a){return v(a)?(b=a,this):b},this.$get=["$window",function(c){function d(a){return a instanceof Error&&(a.stack?a=a.message&&-1===a.stack.indexOf(a.message)?"Error: "+a.message+"\n"+a.stack:a.stack:a.sourceURL&&(a=a.message+"\n"+a.sourceURL+":"+a.line)),a}function e(a){var b=c.console||{},e=b[a]||b.log||x;a=!1;try{a=!!e.apply}catch(m){}return a?function(){var a=[];return r(arguments,function(b){a.push(d(b))}),e.apply(b,a)}:function(a,b){e(a,null==b?"":b)}}return{log:e("log"),info:e("info"),warn:e("warn"),error:e("error"),debug:function(){var c=e("debug");return function(){b&&c.apply(a,arguments)}}()}}]}function da(b,a){if("constructor"===b)throw ya("isecfld",a);return b}function Xa(b,a){if(b){if(b.constructor===b)throw ya("isecfn",a);if(b.document&&b.location&&b.alert&&b.setInterval)throw ya("isecwindow",a);if(b.children&&(b.nodeName||b.prop&&b.attr&&b.find))throw ya("isecdom",a)}return b}function pb(b,a,c,d,e){e=e||{},a=a.split(".");for(var f,h=0;1e?Ac(d[0],d[1],d[2],d[3],d[4],c,a):function(b,f){var h,g=0;do h=Ac(d[g++],d[g++],d[g++],d[g++],d[g++],c,a)(b,f),f=s,b=h;while(e>g);return h};else{var h="var p;\n";r(d,function(b,d){da(b,c),h+="if(s == null) return undefined;\ns="+(d?"s":'((k&&k.hasOwnProperty("'+b+'"))?k:s)')+'["'+b+'"];\n'+(a.unwrapPromises?'if (s && s.then) {\n pw("'+c.replace(/(["\r\n])/g,"\\$1")+'");\n if (!("$$v" in s)) {\n p=s;\n p.$$v = undefined;\n p.then(function(v) {p.$$v=v;});\n}\n s=s.$$v\n}\n':"")});var h=h+"return s;",g=new Function("s","k","pw",h);g.toString=$(h),f=a.unwrapPromises?function(a,b){return g(a,b,qa)}:g}else f=Id(d[0],d[1],c);else f=Hd(d[0],c);return"hasOwnProperty"!==b&&(Nb[b]=f),f}function Jd(){var b={},a={csp:!1,unwrapPromises:!1,logPromiseWarnings:!0};this.unwrapPromises=function(b){return v(b)?(a.unwrapPromises=!!b,this):a.unwrapPromises},this.logPromiseWarnings=function(b){return v(b)?(a.logPromiseWarnings=b,this):a.logPromiseWarnings},this.$get=["$filter","$sniffer","$log",function(c,d,e){return a.csp=d.csp,qa=function(b){a.logPromiseWarnings&&!Cc.hasOwnProperty(b)&&(Cc[b]=!0,e.warn("[$parse] Promise found in the expression `"+b+"`. Automatic unwrapping of promises in Angular expressions is deprecated."))},function(d){var e;switch(typeof d){case"string":return b.hasOwnProperty(d)?b[d]:(e=new Ob(a),e=new Ya(e,c,a).parse(d,!1),"hasOwnProperty"!==d&&(b[d]=e),e);case"function":return d;default:return x}}}]}function Kd(){this.$get=["$rootScope","$exceptionHandler",function(b,a){return Ld(function(a){b.$evalAsync(a)},a)}]}function Ld(b,a){function c(a){return a}function d(a){return h(a)}var e=function(){var k,l,h=[];return l={resolve:function(a){if(h){var c=h;h=s,k=f(a),c.length&&b(function(){for(var a,b=0,d=c.length;d>b;b++)a=c[b],k.then(a[0],a[1],a[2])})}},reject:function(a){l.resolve(g(a))},notify:function(a){if(h){var c=h;h.length&&b(function(){for(var b,d=0,e=c.length;e>d;d++)b=c[d],b[2](a)})}},promise:{then:function(b,f,g){var l=e(),E=function(d){try{l.resolve((O(b)?b:c)(d))}catch(e){l.reject(e),a(e)}},B=function(b){try{l.resolve((O(f)?f:d)(b))}catch(c){l.reject(c),a(c)}},u=function(b){try{l.notify((O(g)?g:c)(b))}catch(d){a(d)}};return h?h.push([E,B,u]):k.then(E,B,u),l.promise},"catch":function(a){return this.then(null,a)},"finally":function(a){function b(a,c){var d=e();return c?d.resolve(a):d.reject(a),d.promise}function d(e,f){var g=null;try{g=(a||c)()}catch(h){return b(h,!1)}return g&&O(g.then)?g.then(function(){return b(e,f)},function(a){return b(a,!1)}):b(e,f)}return this.then(function(a){return d(a,!0)},function(a){return d(a,!1)})}}}},f=function(a){return a&&O(a.then)?a:{then:function(c){var d=e();return b(function(){d.resolve(c(a))}),d.promise}}},h=function(a){var b=e();return b.reject(a),b.promise},g=function(c){return{then:function(f,g){var h=e();return b(function(){try{h.resolve((O(g)?g:d)(c))}catch(b){h.reject(b),a(b)}}),h.promise}}};return{defer:e,reject:h,when:function(g,k,l,n){var p,q=e(),A=function(b){try{return(O(k)?k:c)(b)}catch(d){return a(d),h(d)}},E=function(b){try{return(O(l)?l:d)(b)}catch(c){return a(c),h(c)}},B=function(b){try{return(O(n)?n:c)(b)}catch(d){a(d)}};return b(function(){f(g).then(function(a){p||(p=!0,q.resolve(f(a).then(A,E,B)))},function(a){p||(p=!0,q.resolve(E(a)))},function(a){p||q.notify(B(a))})}),q.promise},all:function(a){var b=e(),c=0,d=I(a)?[]:{};return r(a,function(a,e){c++,f(a).then(function(a){d.hasOwnProperty(e)||(d[e]=a,--c||b.resolve(d))},function(a){d.hasOwnProperty(e)||b.reject(a)})}),0===c&&b.resolve(d),b.promise}}}function Md(){this.$get=["$window",function(b){var a=b.requestAnimationFrame||b.webkitRequestAnimationFrame,c=b.cancelAnimationFrame||b.webkitCancelAnimationFrame;return b=function(b){var e=a(b);return function(){c(e)}},b.supported=!!a,b}]}function Nd(){var b=10,a=F("$rootScope"),c=null;this.digestTtl=function(a){return arguments.length&&(b=a),b},this.$get=["$injector","$exceptionHandler","$parse","$browser",function(d,e,f,h){function g(){this.$id=ab(),this.$$phase=this.$parent=this.$$watchers=this.$$nextSibling=this.$$prevSibling=this.$$childHead=this.$$childTail=null,this["this"]=this.$root=this,this.$$destroyed=!1,this.$$asyncQueue=[],this.$$postDigestQueue=[],this.$$listeners={},this.$$listenerCount={},this.$$isolateBindings={}}function m(b){if(q.$$phase)throw a("inprog",q.$$phase);q.$$phase=b}function k(a,b){var c=f(a);return Pa(c,b),c}function l(a,b,c){do a.$$listenerCount[c]-=b,0===a.$$listenerCount[c]&&delete a.$$listenerCount[c];while(a=a.$parent)}function n(){}g.prototype={constructor:g,$new:function(a){return a?(a=new g,a.$root=this.$root,a.$$asyncQueue=this.$$asyncQueue,a.$$postDigestQueue=this.$$postDigestQueue):(a=function(){},a.prototype=this,a=new a,a.$id=ab()),a["this"]=a,a.$$listeners={},a.$$listenerCount={},a.$parent=this,a.$$watchers=a.$$nextSibling=a.$$childHead=a.$$childTail=null,a.$$prevSibling=this.$$childTail,this.$$childHead?this.$$childTail=this.$$childTail.$$nextSibling=a:this.$$childHead=this.$$childTail=a,a},$watch:function(a,b,d){var e=k(a,"watch"),f=this.$$watchers,g={fn:b,last:n,get:e,exp:a,eq:!!d};if(c=null,!O(b)){var h=k(b||x,"listener");g.fn=function(a,b,c){h(c)}}if("string"==typeof a&&e.constant){var l=g.fn;g.fn=function(a,b,c){l.call(this,a,b,c),Ma(f,g)}}return f||(f=this.$$watchers=[]),f.unshift(g),function(){Ma(f,g),c=null}},$watchCollection:function(a,b){var d,e,c=this,g=0,h=f(a),k=[],l={},m=0;return this.$watch(function(){e=h(c);var a,b;if(X(e))if(xb(e))for(d!==k&&(d=k,m=d.length=0,g++),a=e.length,m!==a&&(g++,d.length=m=a),b=0;a>b;b++)d[b]!==e[b]&&(g++,d[b]=e[b]);else{d!==l&&(d=l={},m=0,g++),a=0;for(b in e)e.hasOwnProperty(b)&&(a++,d.hasOwnProperty(b)?d[b]!==e[b]&&(g++,d[b]=e[b]):(m++,d[b]=e[b],g++));if(m>a)for(b in g++,d)d.hasOwnProperty(b)&&!e.hasOwnProperty(b)&&(m--,delete d[b])}else d!==e&&(d=e,g++);return g},function(){b(e,d,c)})},$digest:function(){var d,f,g,h,r,w,T,v,t,N,k=this.$$asyncQueue,l=this.$$postDigestQueue,s=b,M=[];m("$digest"),c=null;do{for(w=!1,T=this;k.length;){try{N=k.shift(),N.scope.$eval(N.expression)}catch(z){q.$$phase=null,e(z)}c=null}a:do{if(h=T.$$watchers)for(r=h.length;r--;)try{if(d=h[r])if((f=d.get(T))===(g=d.last)||(d.eq?ta(f,g):"number"==typeof f&&"number"==typeof g&&isNaN(f)&&isNaN(g))){if(d===c){w=!1;break a}}else w=!0,c=d,d.last=d.eq?ba(f):f,d.fn(f,g===n?f:g,T),5>s&&(v=4-s,M[v]||(M[v]=[]),t=O(d.exp)?"fn: "+(d.exp.name||d.exp.toString()):d.exp,t+="; newVal: "+oa(f)+"; oldVal: "+oa(g),M[v].push(t))}catch(y){q.$$phase=null,e(y)}if(!(h=T.$$childHead||T!==this&&T.$$nextSibling))for(;T!==this&&!(h=T.$$nextSibling);)T=T.$parent}while(T=h);if((w||k.length)&&!s--)throw q.$$phase=null,a("infdig",b,oa(M))}while(w||k.length);for(q.$$phase=null;l.length;)try{l.shift()()}catch(x){e(x)}},$destroy:function(){if(!this.$$destroyed){var a=this.$parent;this.$broadcast("$destroy"),this.$$destroyed=!0,this!==q&&(r(this.$$listenerCount,db(null,l,this)),a.$$childHead==this&&(a.$$childHead=this.$$nextSibling),a.$$childTail==this&&(a.$$childTail=this.$$prevSibling),this.$$prevSibling&&(this.$$prevSibling.$$nextSibling=this.$$nextSibling),this.$$nextSibling&&(this.$$nextSibling.$$prevSibling=this.$$prevSibling),this.$parent=this.$$nextSibling=this.$$prevSibling=this.$$childHead=this.$$childTail=null)}},$eval:function(a,b){return f(a)(this,b)},$evalAsync:function(a){q.$$phase||q.$$asyncQueue.length||h.defer(function(){q.$$asyncQueue.length&&q.$digest()}),this.$$asyncQueue.push({scope:this,expression:a})},$$postDigest:function(a){this.$$postDigestQueue.push(a)},$apply:function(a){try{return m("$apply"),this.$eval(a)}catch(b){e(b)}finally{q.$$phase=null;try{q.$digest()}catch(c){throw e(c),c}}},$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(){c[cb(c,b)]=null,l(e,1,a)}},$emit:function(a){var d,l,m,c=[],f=this,g=!1,h={name:a,targetScope:f,stopPropagation:function(){g=!0},preventDefault:function(){h.defaultPrevented=!0},defaultPrevented:!1},k=[h].concat(ua.call(arguments,1));do{for(d=f.$$listeners[a]||c,h.currentScope=f,l=0,m=d.length;m>l;l++)if(d[l])try{d[l].apply(null,k)}catch(n){e(n)}else d.splice(l,1),l--,m--;if(g)break;f=f.$parent}while(f);return h},$broadcast:function(a){for(var h,k,c=this,d=this,f={name:a,targetScope:this,preventDefault:function(){f.defaultPrevented=!0},defaultPrevented:!1},g=[f].concat(ua.call(arguments,1));c=d;){for(f.currentScope=c,d=c.$$listeners[a]||[],h=0,k=d.length;k>h;h++)if(d[h])try{d[h].apply(null,g)}catch(l){e(l)}else d.splice(h,1),h--,k--;if(!(d=c.$$listenerCount[a]&&c.$$childHead||c!==this&&c.$$nextSibling))for(;c!==this&&!(d=c.$$nextSibling);)c=c.$parent}return f}};var q=new g;return q}]}function Od(){var b=/^\s*(https?|ftp|mailto|tel|file):/,a=/^\s*(https?|ftp|file):|data:image\//;this.aHrefSanitizationWhitelist=function(a){return v(a)?(b=a,this):b},this.imgSrcSanitizationWhitelist=function(b){return v(b)?(a=b,this):a},this.$get=function(){return function(c,d){var f,e=d?a:b;return Q&&!(Q>=8)||(f=xa(c).href,""===f||f.match(e))?c:"unsafe:"+f}}}function Pd(b){if("self"===b)return b;if(y(b)){if(-1l;l++)if("self"===b[l]?Jb(f):b[l].exec(f.href)){q=!0;break}if(q)for(l=0,n=a.length;n>l;l++)if("self"===a[l]?Jb(f):a[l].exec(f.href)){q=!1;break}if(q)return d;throw ra("insecurl",d.toString())}if(c===ea.HTML)return e(d);throw ra("unsafe")},valueOf:function(a){return a instanceof f?a.$$unwrapTrustedValue():a}}}]}function Rd(){var b=!0;this.enabled=function(a){return arguments.length&&(b=!!a),b},this.$get=["$parse","$sniffer","$sceDelegate",function(a,c,d){if(b&&c.msie&&8>c.msieDocumentMode)throw ra("iequirks");var e=ba(ea);e.isEnabled=function(){return b},e.trustAs=d.trustAs,e.getTrusted=d.getTrusted,e.valueOf=d.valueOf,b||(e.trustAs=e.getTrusted=function(a,b){return b},e.valueOf=Aa),e.parseAs=function(b,c){var d=a(c);return d.literal&&d.constant?d:function(a,c){return e.getTrusted(b,d(a,c))}};var f=e.parseAs,h=e.getTrusted,g=e.trustAs;return r(ea,function(a,b){var c=P(b);e[Qa("parse_as_"+c)]=function(b){return f(a,b)},e[Qa("get_trusted_"+c)]=function(b){return h(a,b)},e[Qa("trust_as_"+c)]=function(b){return g(a,b)}}),e}]}function Sd(){this.$get=["$window","$document",function(b,a){var g,c={},d=R((/android (\d+)/.exec(P((b.navigator||{}).userAgent))||[])[1]),e=/Boxee/i.test((b.navigator||{}).userAgent),f=a[0]||{},h=f.documentMode,m=/^(Moz|webkit|O|ms)(?=[A-Z])/,k=f.body&&f.body.style,l=!1,n=!1;if(k){for(var q in k)if(l=m.exec(q)){g=l[0],g=g.substr(0,1).toUpperCase()+g.substr(1);break}g||(g="WebkitOpacity"in k&&"webkit"),l=!!("transition"in k||g+"Transition"in k),n=!!("animation"in k||g+"Animation"in k),!d||l&&n||(l=y(f.body.style.webkitTransition),n=y(f.body.style.webkitAnimation))}return{history:!(!b.history||!b.history.pushState||4>d||e),hashchange:"onhashchange"in b&&(!h||h>7),hasEvent:function(a){if("input"==a&&9==Q)return!1;if(C(c[a])){var b=f.createElement("div");c[a]="on"+a in b}return c[a]},csp:Xb(),vendorPrefix:g,transitions:l,animations:n,android:d,msie:Q,msieDocumentMode:h}}]}function Td(){this.$get=["$rootScope","$browser","$q","$exceptionHandler",function(b,a,c,d){function e(e,g,m){var k=c.defer(),l=k.promise,n=v(m)&&!m;return g=a.defer(function(){try{k.resolve(e())}catch(a){k.reject(a),d(a)}finally{delete f[l.$$timeoutId]}n||b.$apply()},g),l.$$timeoutId=g,f[g]=k,l}var f={};return e.cancel=function(b){return b&&b.$$timeoutId in f?(f[b.$$timeoutId].reject("canceled"),delete f[b.$$timeoutId],a.defer.cancel(b.$$timeoutId)):!1},e}]}function xa(b){var c=b;return Q&&(W.setAttribute("href",c),c=W.href),W.setAttribute("href",c),{href:W.href,protocol:W.protocol?W.protocol.replace(/:$/,""):"",host:W.host,search:W.search?W.search.replace(/^\?/,""):"",hash:W.hash?W.hash.replace(/^#/,""):"",hostname:W.hostname,port:W.port,pathname:"/"===W.pathname.charAt(0)?W.pathname:"/"+W.pathname}}function Jb(b){return b=y(b)?xa(b):b,b.protocol===Ec.protocol&&b.host===Ec.host}function Ud(){this.$get=$(D)}function Fc(b){function a(d,e){if(X(d)){var f={};return r(d,function(b,c){f[c]=a(c,b)}),f}return b.factory(d+c,e)}var c="Filter";this.register=a,this.$get=["$injector",function(a){return function(b){return a.get(b+c)}}],a("currency",Gc),a("date",Hc),a("filter",Vd),a("json",Wd),a("limitTo",Xd),a("lowercase",Yd),a("number",Ic),a("orderBy",Jc),a("uppercase",Zd)}function Vd(){return function(b,a,c){if(!I(b))return b;var d=typeof c,e=[];e.check=function(a){for(var b=0;bb;b=Math.abs(b);var h=b+"",g="",m=[],k=!1;if(-1!==h.indexOf("e")){var l=h.match(/([\d\.]+)e(-?)(\d+)/);l&&"-"==l[2]&&l[3]>e+1?h="0":(g=h,k=!0)}if(k)e>0&&b>-1&&1>b&&(g=b.toFixed(e));else{h=(h.split(Lc)[1]||"").length,C(e)&&(e=Math.min(Math.max(a.minFrac,h),a.maxFrac)),h=Math.pow(10,e),b=Math.round(b*h)/h,b=(""+b).split(Lc),h=b[0],b=b[1]||"";var l=0,n=a.lgSize,q=a.gSize;if(h.length>=n+q)for(l=h.length-n,k=0;l>k;k++)0===(l-k)%q&&0!==k&&(g+=c),g+=h.charAt(k);for(k=l;kb&&(d="-",b=-b),b=""+b;b.length0||e>-c)&&(e+=c),0===e&&-12==c&&(e=12),qb(e,a,d)}}function rb(b,a){return function(c,d){var e=c["get"+b](),f=Ja(a?"SHORT"+b:b);return d[f][e]}}function Mc(b){var a=new Date(b,0,1).getDay();return new Date(b,0,(4>=a?5:12)-a)}function Nc(b){return function(a){var c=Mc(a.getFullYear());return a=+new Date(a.getFullYear(),a.getMonth(),a.getDate()+(4-a.getDay()))-+c,a=1+Math.round(a/6048e5),qb(a,b)}}function Hc(b){function a(a){var b;if(b=a.match(c)){a=new Date(0);var f=0,h=0,g=b[8]?a.setUTCFullYear:a.setFullYear,m=b[8]?a.setUTCHours:a.setHours;b[9]&&(f=R(b[9]+b[10]),h=R(b[9]+b[11])),g.call(a,R(b[1]),R(b[2])-1,R(b[3])),f=R(b[4]||0)-f,h=R(b[5]||0)-h,g=R(b[6]||0),b=Math.round(1e3*parseFloat("0."+(b[7]||0))),m.call(a,f,h,g,b)}return a}var c=/^(\d{4})-?(\d\d)-?(\d\d)(?:T(\d\d)(?::?(\d\d)(?::?(\d\d)(?:\.(\d+))?)?)?(Z|([+-])(\d\d):?(\d\d))?)?$/;return function(c,e){var g,m,f="",h=[];if(e=e||"mediumDate",e=b.DATETIME_FORMATS[e]||e,y(c)&&(c=ae.test(c)?R(c):a(c)),yb(c)&&(c=new Date(c)),!na(c))return c;for(;e;)(m=be.exec(e))?(h=h.concat(ua.call(m,1)),e=h.pop()):(h.push(e),e=null);return r(h,function(a){g=ce[a],f+=g?g(c,b.DATETIME_FORMATS):a.replace(/(^'|'$)/g,"").replace(/''/g,"'")}),f}}function Wd(){return function(b){return oa(b,!0)}}function Xd(){return function(b,a){if(!I(b)&&!y(b))return b;if(a=R(a),y(b))return a?a>=0?b.slice(0,a):b.slice(a,b.length):"";var d,e,c=[];for(a>b.length?a=b.length:a<-b.length&&(a=-b.length),a>0?(d=0,e=a):(d=b.length+a,e=b.length);e>d;d++)c.push(b[d]);return c}}function Jc(b){return function(a,c,d){function e(a,b){return Oa(b)?function(b,c){return a(c,b)}:a}if(!I(a)||!c)return a;c=I(c)?c:[c],c=ad(c,function(a){var c=!1,d=a||Aa;return y(a)&&(("+"==a.charAt(0)||"-"==a.charAt(0))&&(c="-"==a.charAt(0),a=a.substring(1)),d=b(a)),e(function(a,b){var c;c=d(a);var e=d(b),f=typeof c,g=typeof e;return f==g?("string"==f&&(c=c.toLowerCase(),e=e.toLowerCase()),c=c===e?0:e>c?-1:1):c=g>f?-1:1,c},c)});for(var f=[],h=0;h15&&19>a||a>=37&&40>=a||l()}),e.hasEvent("paste")&&a.on("paste cut",l)}a.on("change",m),d.$render=function(){a.val(d.$isEmpty(d.$viewValue)?"":d.$viewValue)};var n=c.ngPattern;if(n&&((e=n.match(/^\/(.*)\/([gim]*)$/))?(n=RegExp(e[1],e[2]),e=function(a){return ma(d,"pattern",d.$isEmpty(a)||n.test(a),a)}):e=function(c){var e=b.$eval(n);if(!e||!e.test)throw F("ngPattern")("noregexp",n,e,fa(a));return ma(d,"pattern",d.$isEmpty(c)||e.test(c),c)},d.$formatters.push(e),d.$parsers.push(e)),c.ngMinlength){var q=R(c.ngMinlength);e=function(a){return ma(d,"minlength",d.$isEmpty(a)||a.length>=q,a)},d.$parsers.push(e),d.$formatters.push(e)}if(c.ngMaxlength){var p=R(c.ngMaxlength);e=function(a){return ma(d,"maxlength",d.$isEmpty(a)||a.length<=p,a)},d.$parsers.push(e),d.$formatters.push(e)}}function wb(b,a){return function(c){var d;return na(c)?c:y(c)&&(b.lastIndex=0,c=b.exec(c))?(c.shift(),d={yyyy:0,MM:1,dd:1,HH:0,mm:0},r(c,function(b,c){c=c(h.min);return g.$setValidity("min",b),b?a:s },g.$parsers.push(e),g.$formatters.push(e)),h.max&&(e=function(a){var b=g.$isEmpty(a)||c(a)<=c(h.max);return g.$setValidity("max",b),b?a:s},g.$parsers.push(e),g.$formatters.push(e))}}function Pb(b,a){return b="ngClass"+b,function(){return{restrict:"AC",link:function(c,d,e){function f(b){if(!0===a||c.$index%2===a){var d=h(b||"");g?ta(b,g)||e.$updateClass(d,h(g)):e.$addClass(d)}g=ba(b)}function h(a){if(I(a))return a.join(" ");if(X(a)){var b=[];return r(a,function(a,c){a&&b.push(c)}),b.join(" ")}return a}var g;c.$watch(e[b],f,!0),e.$observe("class",function(){f(c.$eval(e[b]))}),"ngClass"!==b&&c.$watch("$index",function(d,f){var g=1&d;if(g!==f&1){var n=h(c.$eval(e[b]));g===a?e.$addClass(n):e.$removeClass(n)}})}}}}var Q,z,Da,Ua,Ha,P=function(b){return y(b)?b.toLowerCase():b},$d=Object.prototype.hasOwnProperty,Ja=function(b){return y(b)?b.toUpperCase():b},ua=[].slice,ee=[].push,Ba=Object.prototype.toString,Na=F("ng"),Ca=D.angular||(D.angular={}),ia=["0","0","0"];Q=R((/msie (\d+)/.exec(P(navigator.userAgent))||[])[1]),isNaN(Q)&&(Q=R((/trident\/.*; rv:(\d+)/.exec(P(navigator.userAgent))||[])[1])),x.$inject=[],Aa.$inject=[];var ca=function(){return String.prototype.trim?function(b){return y(b)?b.trim():b}:function(b){return y(b)?b.replace(/^\s\s*/,"").replace(/\s\s*$/,""):b}}();Ha=9>Q?function(b){return b=b.nodeName?b:b[0],b.scopeName&&"HTML"!=b.scopeName?Ja(b.scopeName+":"+b.nodeName):b.nodeName}:function(b){return b.nodeName?b.nodeName:b[0].nodeName};var dd=/[A-Z]/g,fe={full:"1.2.15-build.2399+sha.ca4ddfa",major:1,minor:2,dot:15,codeName:"snapshot"},Ra=S.cache={},fb=S.expando="ng-"+(new Date).getTime(),hd=1,Pc=D.document.addEventListener?function(b,a,c){b.addEventListener(a,c,!1)}:function(b,a,c){b.attachEvent("on"+a,c)},Gb=D.document.removeEventListener?function(b,a,c){b.removeEventListener(a,c,!1)}:function(b,a,c){b.detachEvent("on"+a,c)};S._data=function(b){return this.cache[b[this.expando]]||{}};var fd=/([\:\-\_]+(.))/g,gd=/^moz([A-Z])/,Db=F("jqLite"),Ga=S.prototype={ready:function(b){function a(){c||(c=!0,b())}var c=!1;"complete"===U.readyState?setTimeout(a):(this.on("DOMContentLoaded",a),S(D).on("load",a))},toString:function(){var b=[];return r(this,function(a){b.push(""+a)}),"["+b.join(", ")+"]"},eq:function(b){return z(b>=0?this[b]:this[this.length+b])},length:0,push:ee,sort:[].sort,splice:[].splice},jb={};r("multiple selected checked disabled readOnly required open".split(" "),function(b){jb[P(b)]=b});var kc={};r("input select option textarea button form details".split(" "),function(b){kc[Ja(b)]=!0}),r({data:gc,inheritedData:ib,scope:function(b){return z(b).data("$scope")||ib(b.parentNode||b,["$isolateScope","$scope"])},isolateScope:function(b){return z(b).data("$isolateScope")||z(b).data("$isolateScopeNoTemplate")},controller:hc,injector:function(b){return ib(b,"$injector")},removeAttr:function(b,a){b.removeAttribute(a)},hasClass:Hb,css:function(b,a,c){if(a=Qa(a),!v(c)){var d;return 8>=Q&&(d=b.currentStyle&&b.currentStyle[a],""===d&&(d="auto")),d=d||b.style[a],8>=Q&&(d=""===d?s:d),d}b.style[a]=c},attr:function(b,a,c){var d=P(a);if(jb[d]){if(!v(c))return b[a]||(b.attributes.getNamedItem(a)||x).specified?d:s;c?(b[a]=!0,b.setAttribute(a,d)):(b[a]=!1,b.removeAttribute(d))}else if(v(c))b.setAttribute(a,c);else if(b.getAttribute)return b=b.getAttribute(a,2),null===b?s:b},prop:function(b,a,c){return v(c)?void(b[a]=c):b[a]},text:function(){function b(b,d){var e=a[b.nodeType];return C(d)?e?b[e]:"":void(b[e]=d)}var a=[];return 9>Q?(a[1]="innerText",a[3]="nodeValue"):a[1]=a[3]="textContent",b.$dv="",b}(),val:function(b,a){if(C(a)){if("SELECT"===Ha(b)&&b.multiple){var c=[];return r(b.options,function(a){a.selected&&c.push(a.value||a.text)}),0===c.length?null:c}return b.value}b.value=a},html:function(b,a){if(C(a))return b.innerHTML;for(var c=0,d=b.childNodes;ch;h++){var g=b(this[h],a,d);e=e?e+g:g}return e}for(e=0;e":function(a,c,d,e){return d(a,c)>e(a,c)},"<=":function(a,c,d,e){return d(a,c)<=e(a,c)},">=":function(a,c,d,e){return d(a,c)>=e(a,c)},"&&":function(a,c,d,e){return d(a,c)&&e(a,c)},"||":function(a,c,d,e){return d(a,c)||e(a,c)},"&":function(a,c,d,e){return d(a,c)&e(a,c)},"|":function(a,c,d,e){return e(a,c)(a,c,d(a,c))},"!":function(a,c,d){return!d(a,c)}},je={n:"\n",f:"\f",r:"\r",t:" ",v:" ","'":"'",'"':'"'},Ob=function(a){this.options=a};Ob.prototype={constructor:Ob,lex:function(a){this.text=a,this.index=0,this.ch=s,this.lastCh=":",this.tokens=[];var c;for(a=[];this.index="0"&&"9">=a},isWhitespace:function(a){return" "===a||"\r"===a||" "===a||"\n"===a||" "===a||" "===a},isIdent:function(a){return a>="a"&&"z">=a||a>="A"&&"Z">=a||"_"===a||"$"===a},isExpOperator:function(a){return"-"===a||"+"===a||this.isNumber(a)},throwError:function(a,c,d){throw d=d||this.index,c=v(c)?"s "+c+"-"+this.index+" ["+this.text.substring(c,d)+"]":" "+d,ya("lexerr",a,c,this.text)},readNumber:function(){for(var a="",c=this.index;this.index","<=",">="))&&(a=this.binaryFn(a,c.fn,this.relational())),a},additive:function(){for(var c,a=this.multiplicative();c=this.expect("+","-");)a=this.binaryFn(a,c.fn,this.multiplicative());return a},multiplicative:function(){for(var c,a=this.unary();c=this.expect("*","/","%");)a=this.binaryFn(a,c.fn,this.unary());return a},unary:function(){var a;return this.expect("+")?this.primary():(a=this.expect("-"))?this.binaryFn(Ya.ZERO,a.fn,this.unary()):(a=this.expect("!"))?this.unaryFn(a.fn,this.unary()):this.primary()},fieldAccess:function(a){var c=this,d=this.expect().text,e=Bc(d,this.options,this.text);return t(function(c,d,g){return e(g||a(c,d))},{assign:function(e,h,g){return pb(a(e,g),d,h,c.text,c.options)}})},objectIndex:function(a){var c=this,d=this.expression();return this.consume("]"),t(function(e,f){var m,h=a(e,f),g=d(e,f);return h?((h=Xa(h[g],c.text))&&h.then&&c.options.unwrapPromises&&(m=h,"$$v"in h||(m.$$v=s,m.then(function(a){m.$$v=a})),h=h.$$v),h):s},{assign:function(e,f,h){var g=d(e,h);return Xa(a(e,h),c.text)[g]=f}})},functionCall:function(a,c){var d=[];if(")"!==this.peekToken().text)do d.push(this.expression());while(this.expect(","));this.consume(")");var e=this;return function(f,h){for(var g=[],m=c?c(f,h):f,k=0;ka.getHours()?c.AMPMS[0]:c.AMPMS[1]},Z:function(a){return a=-1*a.getTimezoneOffset(),a=(a>=0?"+":"")+(qb(Math[a>0?"floor":"ceil"](a/60),2)+qb(Math.abs(a%60),2))},ww:Nc(2),w:Nc(1)},be=/((?:[^yMdHhmsaZEw']+)|(?:'(?:[^']|'')*')|(?:E+|y+|M+|d+|H+|h+|m+|s+|a|Z|w+))(.*)/,ae=/^\-?\d+$/;Hc.$inject=["$locale"];var Yd=$(P),Zd=$(Ja);Jc.$inject=["$parse"];var ke=$({restrict:"E",compile:function(a,c){return 8>=Q&&(c.href||c.name||c.$set("href",""),a.append(U.createComment("IE fix"))),c.href||c.xlinkHref||c.name?void 0:function(a,c){var f="[object SVGAnimatedString]"===Ba.call(c.prop("href"))?"xlink:href":"href";c.on("click",function(a){c.attr(f)||a.preventDefault()})}}}),Qb={};r(jb,function(a,c){if("multiple"!=a){var d=ka("ng-"+c);Qb[d]=function(){return{priority:100,link:function(a,f,h){a.$watch(h[d],function(a){h.$set(c,!!a)})}}}}}),r(["src","srcset","href"],function(a){var c=ka("ng-"+a);Qb[c]=function(){return{priority:99,link:function(d,e,f){var h=a,g=a;"href"===a&&"[object SVGAnimatedString]"===Ba.call(e.prop("href"))&&(g="xlinkHref",f.$attr[g]="xlink:href",h=null),f.$observe(c,function(a){a&&(f.$set(g,a),Q&&h&&e.prop(h,f[g]))})}}}});var ub={$addControl:x,$removeControl:x,$setValidity:x,$setDirty:x,$setPristine:x};Oc.$inject=["$element","$attrs","$scope","$animate"];var Qc=function(a){return["$timeout",function(c){return{name:"form",restrict:a?"EAC":"E",controller:Oc,compile:function(){return{pre:function(a,e,f,h){if(!f.action){var g=function(a){a.preventDefault?a.preventDefault():a.returnValue=!1};Pc(e[0],"submit",g),e.on("$destroy",function(){c(function(){Gb(e[0],"submit",g)},0,!1)})}var m=e.parent().controller("form"),k=f.name||f.ngForm;k&&pb(a,k,h,k),m&&e.on("$destroy",function(){m.$removeControl(h),k&&pb(a,k,s,k),t(h,ub)})}}}}}]},le=Qc(),me=Qc(!0),ne=/^(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?$/,oe=/^[a-z0-9!#$%&'*+/=?^_`{|}~.-]+@[a-z0-9-]+(\.[a-z0-9-]+)*$/i,pe=/^\s*(\-|\+)?(\d+|(\d*(\.\d*)))\s*$/,Rc=/^(\d{4})-(\d{2})-(\d{2})$/,Sc=/^(\d{4})-(\d\d)-(\d\d)T(\d\d):(\d\d)$/,Rb=/^(\d{4})-W(\d\d)$/,Tc=/^(\d{4})-(\d\d)$/,Uc=/^(\d\d):(\d\d)$/,Vc={text:Za,date:$a("date",Rc,wb(Rc,["yyyy","MM","dd"]),"yyyy-MM-dd"),"datetime-local":$a("datetimelocal",Sc,wb(Sc,["yyyy","MM","dd","HH","mm"]),"yyyy-MM-ddTHH:mm"),time:$a("time",Uc,wb(Uc,["HH","mm"]),"HH:mm"),week:$a("week",Rb,function(a){if(na(a))return a;if(y(a)){Rb.lastIndex=0;var c=Rb.exec(a);if(c){a=+c[1];var d=+c[2],c=Mc(a),d=7*(d-1);return new Date(a,0,c.getDate()+d)}}return 0/0},"yyyy-Www"),month:$a("month",Tc,wb(Tc,["yyyy","MM"]),"yyyy-MM"),number:function(a,c,d,e,f,h){Za(a,c,d,e,f,h),e.$parsers.push(function(a){var c=e.$isEmpty(a);return c||pe.test(a)?(e.$setValidity("number",!0),""===a?null:c?a:parseFloat(a)):(e.$setValidity("number",!1),s)}),de(e,"number",c),e.$formatters.push(function(a){return e.$isEmpty(a)?"":""+a}),d.min&&(a=function(a){var c=parseFloat(d.min);return ma(e,"min",e.$isEmpty(a)||a>=c,a)},e.$parsers.push(a),e.$formatters.push(a)),d.max&&(a=function(a){var c=parseFloat(d.max);return ma(e,"max",e.$isEmpty(a)||c>=a,a)},e.$parsers.push(a),e.$formatters.push(a)),e.$formatters.push(function(a){return ma(e,"number",e.$isEmpty(a)||yb(a),a)})},url:function(a,c,d,e,f,h){Za(a,c,d,e,f,h),a=function(a){return ma(e,"url",e.$isEmpty(a)||ne.test(a),a)},e.$formatters.push(a),e.$parsers.push(a)},email:function(a,c,d,e,f,h){Za(a,c,d,e,f,h),a=function(a){return ma(e,"email",e.$isEmpty(a)||oe.test(a),a)},e.$formatters.push(a),e.$parsers.push(a)},radio:function(a,c,d,e){C(d.name)&&c.attr("name",ab()),c.on("click",function(){c[0].checked&&a.$apply(function(){e.$setViewValue(d.value)})}),e.$render=function(){c[0].checked=d.value==e.$viewValue},d.$observe("value",e.$render)},checkbox:function(a,c,d,e){var f=d.ngTrueValue,h=d.ngFalseValue;y(f)||(f=!0),y(h)||(h=!1),c.on("click",function(){a.$apply(function(){e.$setViewValue(c[0].checked)})}),e.$render=function(){c[0].checked=e.$viewValue},e.$isEmpty=function(a){return a!==f},e.$formatters.push(function(a){return a===f}),e.$parsers.push(function(a){return a?f:h})},hidden:x,button:x,submit:x,reset:x,file:x},Wc=["$browser","$sniffer","$filter",function(a,c,d){return{restrict:"E",require:"?ngModel",link:function(e,f,h,g){g&&(Vc[P(h.type)]||Vc.text)(e,f,h,g,c,a,d)}}}],tb="ng-valid",sb="ng-invalid",Ka="ng-pristine",vb="ng-dirty",qe=["$scope","$exceptionHandler","$attrs","$element","$parse","$animate",function(a,c,d,e,f,h){function g(a,c){c=c?"-"+eb(c,"-"):"",h.removeClass(e,(a?sb:tb)+c),h.addClass(e,(a?tb:sb)+c)}this.$modelValue=this.$viewValue=Number.NaN,this.$parsers=[],this.$formatters=[],this.$viewChangeListeners=[],this.$pristine=!0,this.$dirty=!1,this.$valid=!0,this.$invalid=!1,this.$name=d.name;var m=f(d.ngModel),k=m.assign;if(!k)throw F("ngModel")("nonassign",d.ngModel,fa(e));this.$render=x,this.$isEmpty=function(a){return C(a)||""===a||null===a||a!==a};var l=e.inheritedData("$formController")||ub,n=0,q=this.$error={};e.addClass(Ka),g(!0),this.$setValidity=function(a,c){q[a]!==!c&&(c?(q[a]&&n--,n||(g(!0),this.$valid=!0,this.$invalid=!1)):(g(!1),this.$invalid=!0,this.$valid=!1,n++),q[a]=!c,g(c,a),l.$setValidity(a,c,this))},this.$setPristine=function(){this.$dirty=!1,this.$pristine=!0,h.removeClass(e,vb),h.addClass(e,Ka)},this.$setViewValue=function(d){this.$viewValue=d,this.$pristine&&(this.$dirty=!0,this.$pristine=!1,h.removeClass(e,Ka),h.addClass(e,vb),l.$setDirty()),r(this.$parsers,function(a){d=a(d)}),this.$modelValue!==d&&(this.$modelValue=d,k(a,d),r(this.$viewChangeListeners,function(a){try{a()}catch(d){c(d)}}))};var p=this;a.$watch(function(){var c=m(a);if(p.$modelValue!==c){var d=p.$formatters,e=d.length;for(p.$modelValue=c;e--;)c=d[e](c);p.$viewValue!==c&&(p.$viewValue=c,p.$render())}return c})}],re=function(){return{require:["ngModel","^?form"],controller:qe,link:function(a,c,d,e){var f=e[0],h=e[1]||ub;h.$addControl(f),a.$on("$destroy",function(){h.$removeControl(f)})}}},se=$({require:"ngModel",link:function(a,c,d,e){e.$viewChangeListeners.push(function(){a.$eval(d.ngChange)})}}),Xc=function(){return{require:"?ngModel",link:function(a,c,d,e){if(e){d.required=!0;var f=function(a){return d.required&&e.$isEmpty(a)?void e.$setValidity("required",!1):(e.$setValidity("required",!0),a)};e.$formatters.push(f),e.$parsers.unshift(f),d.$observe("required",function(){f(e.$viewValue)})}}}},te=function(){return{require:"ngModel",link:function(a,c,d,e){var f=(a=/\/(.*)\//.exec(d.ngList))&&RegExp(a[1])||d.ngList||",";e.$parsers.push(function(a){if(!C(a)){var c=[];return a&&r(a.split(f),function(a){a&&c.push(ca(a))}),c}}),e.$formatters.push(function(a){return I(a)?a.join(", "):s}),e.$isEmpty=function(a){return!a||!a.length}}}},ue=/^(true|false|\d+)$/,ve=function(){return{priority:100,compile:function(a,c){return ue.test(c.ngValue)?function(a,c,f){f.$set("value",a.$eval(f.ngValue))}:function(a,c,f){a.$watch(f.ngValue,function(a){f.$set("value",a)})}}}},we=sa(function(a,c,d){c.addClass("ng-binding").data("$binding",d.ngBind),a.$watch(d.ngBind,function(a){c.text(a==s?"":a)})}),xe=["$interpolate",function(a){return function(c,d,e){c=a(d.attr(e.$attr.ngBindTemplate)),d.addClass("ng-binding").data("$binding",c),e.$observe("ngBindTemplate",function(a){d.text(a)})}}],ye=["$sce","$parse",function(a,c){return function(d,e,f){e.addClass("ng-binding").data("$binding",f.ngBindHtml);var h=c(f.ngBindHtml);d.$watch(function(){return(h(d)||"").toString()},function(){e.html(a.getTrustedHtml(h(d))||"")})}}],ze=Pb("",!0),Ae=Pb("Odd",0),Be=Pb("Even",1),Ce=sa({compile:function(a,c){c.$set("ngCloak",s),a.removeClass("ng-cloak")}}),De=[function(){return{scope:!0,controller:"@",priority:500}}],Yc={};r("click dblclick mousedown mouseup mouseover mouseout mousemove mouseenter mouseleave keydown keyup keypress submit focus blur copy cut paste".split(" "),function(a){var c=ka("ng-"+a);Yc[c]=["$parse",function(d){return{compile:function(e,f){var h=d(f[c]);return function(c,d){d.on(P(a),function(a){c.$apply(function(){h(c,{$event:a})})})}}}}]});var Ee=["$animate",function(a){return{transclude:"element",priority:600,terminal:!0,restrict:"A",$$tlb:!0,link:function(c,d,e,f,h){var g,m,k;c.$watch(e.ngIf,function(f){Oa(f)?m||(m=c.$new(),h(m,function(c){c[c.length++]=U.createComment(" end ngIf: "+e.ngIf+" "),g={clone:c},a.enter(c,d.parent(),d)})):(k&&(k.remove(),k=null),m&&(m.$destroy(),m=null),g&&(k=Bb(g.clone),a.leave(k,function(){k=null}),g=null))})}}}],Fe=["$http","$templateCache","$anchorScroll","$animate","$sce",function(a,c,d,e,f){return{restrict:"ECA",priority:400,terminal:!0,transclude:"element",controller:Ca.noop,compile:function(h,g){var m=g.ngInclude||g.src,k=g.onload||"",l=g.autoscroll;return function(g,h,p,r,s){var u,z,J,t=0,w=function(){z&&(z.remove(),z=null),u&&(u.$destroy(),u=null),J&&(e.leave(J,function(){z=null}),z=J,J=null)};g.$watch(f.parseAsResourceUrl(m),function(f){var m=function(){!v(l)||l&&!g.$eval(l)||d()},p=++t;f?(a.get(f,{cache:c}).success(function(a){if(p===t){var c=g.$new();r.template=a,a=s(c,function(a){w(),e.enter(a,null,h,m)}),u=c,J=a,u.$emit("$includeContentLoaded"),g.$eval(k)}}).error(function(){p===t&&w()}),g.$emit("$includeContentRequested")):(w(),r.template=null)})}}}}],Ge=["$compile",function(a){return{restrict:"ECA",priority:-400,require:"ngInclude",link:function(c,d,e,f){d.html(f.template),a(d.contents())(c)}}}],He=sa({priority:450,compile:function(){return{pre:function(a,c,d){a.$eval(d.ngInit)}}}}),Ie=sa({terminal:!0,priority:1e3}),Je=["$locale","$interpolate",function(a,c){var d=/{}/g;return{restrict:"EA",link:function(e,f,h){var g=h.count,m=h.$attr.when&&f.attr(h.$attr.when),k=h.offset||0,l=e.$eval(m)||{},n={},q=c.startSymbol(),p=c.endSymbol(),s=/^when(Minus)?(.+)$/;r(h,function(a,c){s.test(c)&&(l[P(c.replace("when","").replace("Minus","-"))]=f.attr(h.$attr[c]))}),r(l,function(a,e){n[e]=c(a.replace(d,q+g+"-"+k+p))}),e.$watch(function(){var c=parseFloat(e.$eval(g));return isNaN(c)?"":(c in l||(c=a.pluralCat(c-k)),n[c](e,f,!0))},function(a){f.text(a)})}}}],Ke=["$parse","$animate",function(a,c){var d=F("ngRepeat");return{transclude:"element",priority:1e3,terminal:!0,$$tlb:!0,link:function(e,f,h,g,m){var n,q,p,s,t,v,k=h.ngRepeat,l=k.match(/^\s*([\s\S]+?)\s+in\s+([\s\S]+?)(?:\s+track\s+by\s+([\s\S]+?))?\s*$/),u={$id:Fa};if(!l)throw d("iexp",k);if(h=l[1],g=l[2],(l=l[3])?(n=a(l),q=function(a,c,d){return v&&(u[v]=a),u[t]=c,u.$index=d,n(e,u)}):(p=function(a,c){return Fa(c)},s=function(a){return a}),l=h.match(/^(?:([\$\w]+)|\(([\$\w]+)\s*,\s*([\$\w]+)\))$/),!l)throw d("iidexp",h);t=l[3]||l[1],v=l[2];var H={};e.$watchCollection(g,function(a){var g,h,n,y,N,x,C,F,K,l=f[0],u={},I=[];if(xb(a))F=a,n=q||p;else{n=q||s,F=[];for(x in a)a.hasOwnProperty(x)&&"$"!=x.charAt(0)&&F.push(x);F.sort()}for(y=F.length,h=I.length=F.length,g=0;h>g;g++)if(x=a===F?g:F[g],C=a[x],C=n(x,C,g),wa(C,"`track by` id"),H.hasOwnProperty(C))K=H[C],delete H[C],u[C]=K,I[g]=K;else{if(u.hasOwnProperty(C))throw r(I,function(a){a&&a.scope&&(H[a.id]=a)}),d("dupes",k,C);I[g]={id:C},u[C]=!1}for(x in H)H.hasOwnProperty(x)&&(K=H[x],g=Bb(K.clone),c.leave(g),r(g,function(a){a.$$NG_REMOVED=!0}),K.scope.$destroy());for(g=0,h=F.length;h>g;g++){if(x=a===F?g:F[g],C=a[x],K=I[g],I[g-1]&&(l=I[g-1].clone[I[g-1].clone.length-1]),K.scope){N=K.scope,n=l;do n=n.nextSibling;while(n&&n.$$NG_REMOVED);K.clone[0]!=n&&c.move(Bb(K.clone),null,z(l)),l=K.clone[K.clone.length-1]}else N=e.$new();N[t]=C,v&&(N[v]=x),N.$index=g,N.$first=0===g,N.$last=g===y-1,N.$middle=!(N.$first||N.$last),N.$odd=!(N.$even=0===(1&g)),K.scope||m(N,function(a){a[a.length++]=U.createComment(" end ngRepeat: "+k+" "),c.enter(a,null,z(l)),l=a,K.scope=N,K.clone=a,u[K.id]=K})}H=u})}}}],Le=["$animate",function(a){return function(c,d,e){c.$watch(e.ngShow,function(c){a[Oa(c)?"removeClass":"addClass"](d,"ng-hide")})}}],Me=["$animate",function(a){return function(c,d,e){c.$watch(e.ngHide,function(c){a[Oa(c)?"addClass":"removeClass"](d,"ng-hide")})}}],Ne=sa(function(a,c,d){a.$watch(d.ngStyle,function(a,d){d&&a!==d&&r(d,function(a,d){c.css(d,"")}),a&&c.css(a)},!0)}),Oe=["$animate",function(a){return{restrict:"EA",require:"ngSwitch",controller:["$scope",function(){this.cases={}}],link:function(c,d,e,f){var h,g,m,k=[];c.$watch(e.ngSwitch||e.on,function(d){var n,q=k.length;if(q>0){if(m){for(n=0;q>n;n++)m[n].remove();m=null}for(m=[],n=0;q>n;n++){var p=g[n];k[n].$destroy(),m[n]=p,a.leave(p,function(){m.splice(n,1),0===m.length&&(m=null)})}}g=[],k=[],(h=f.cases["!"+d]||f.cases["?"])&&(c.$eval(e.change),r(h,function(d){var e=c.$new(); k.push(e),d.transclude(e,function(c){var e=d.element;g.push(c),a.enter(c,e.parent(),e)})}))})}}}],Pe=sa({transclude:"element",priority:800,require:"^ngSwitch",link:function(a,c,d,e,f){e.cases["!"+d.ngSwitchWhen]=e.cases["!"+d.ngSwitchWhen]||[],e.cases["!"+d.ngSwitchWhen].push({transclude:f,element:c})}}),Qe=sa({transclude:"element",priority:800,require:"^ngSwitch",link:function(a,c,d,e,f){e.cases["?"]=e.cases["?"]||[],e.cases["?"].push({transclude:f,element:c})}}),Re=sa({link:function(a,c,d,e,f){if(!f)throw F("ngTransclude")("orphan",fa(c));f(function(a){c.empty(),c.append(a)})}}),Se=["$templateCache",function(a){return{restrict:"E",terminal:!0,compile:function(c,d){"text/ng-template"==d.type&&a.put(d.id,c[0].text)}}}],Te=F("ngOptions"),Ue=$({terminal:!0}),Ve=["$compile","$parse",function(a,c){var d=/^\s*([\s\S]+?)(?:\s+as\s+([\s\S]+?))?(?:\s+group\s+by\s+([\s\S]+?))?\s+for\s+(?:([\$\w][\$\w]*)|(?:\(\s*([\$\w][\$\w]*)\s*,\s*([\$\w][\$\w]*)\s*\)))\s+in\s+([\s\S]+?)(?:\s+track\s+by\s+([\s\S]+?))?$/,e={$setViewValue:x};return{restrict:"E",require:["select","?ngModel"],controller:["$element","$scope","$attrs",function(a,c,d){var n,m=this,k={},l=e;m.databound=d.ngModel,m.init=function(a,c,d){l=a,n=d},m.addOption=function(c){wa(c,'"option value"'),k[c]=!0,l.$viewValue==c&&(a.val(c),n.parent()&&n.remove())},m.removeOption=function(a){this.hasOption(a)&&(delete k[a],l.$viewValue==a&&this.renderUnknownOption(a))},m.renderUnknownOption=function(c){c="? "+Fa(c)+" ?",n.val(c),a.prepend(n),a.val(c),n.prop("selected",!0)},m.hasOption=function(a){return k.hasOwnProperty(a)},c.$on("$destroy",function(){m.renderUnknownOption=x})}],link:function(e,h,g,m){function k(a,c,d,e){d.$render=function(){var a=d.$viewValue;e.hasOption(a)?(y.parent()&&y.remove(),c.val(a),""===a&&x.prop("selected",!0)):C(a)&&x?c.val(""):e.renderUnknownOption(a)},c.on("change",function(){a.$apply(function(){y.parent()&&y.remove(),d.$setViewValue(c.val())})})}function l(a,c,d){var e;d.$render=function(){var a=new Sa(d.$viewValue);r(c.find("option"),function(c){c.selected=v(a.get(c.value))})},a.$watch(function(){ta(e,d.$viewValue)||(e=ba(d.$viewValue),d.$render())}),c.on("change",function(){a.$apply(function(){var a=[];r(c.find("option"),function(c){c.selected&&a.push(c.value)}),d.$setViewValue(a)})})}function n(e,f,g){function h(){var d,k,s,t,y,a={"":[]},c=[""];t=g.$modelValue,y=z(e)||[];var C,B,D,A=n?Sb(y):y;B={},s=!1;var L,J;if(p)if(w&&I(t))for(s=new Sa([]),D=0;DD;D++){if(k=D,n){if(k=A[D],"$"===k.charAt(0))continue;B[n]=k}B[m]=y[k],d=q(e,B)||"",(k=a[d])||(k=a[d]=[],c.push(d)),p?d=v(s.remove(w?w(e,B):r(e,B))):(w?(d={},d[m]=t,d=w(e,d)===w(e,B)):d=t===r(e,B),s=s||d),L=l(e,B),L=v(L)?L:"",k.push({id:w?w(e,B):n?A[D]:D,label:L,selected:d})}for(p||(E||null===t?a[""].unshift({id:"",label:"",selected:!s}):s||a[""].unshift({id:"?",label:"",selected:!0})),B=0,A=c.length;A>B;B++){for(d=c[B],k=a[d],x.length<=B?(t={element:F.clone().attr("label",d),label:k.label},y=[t],x.push(y),f.append(t.element)):(y=x[B],t=y[0],t.label!=d&&t.element.attr("label",t.label=d)),L=null,D=0,C=k.length;C>D;D++)s=k[D],(d=y[D+1])?(L=d.element,d.label!==s.label&&L.text(d.label=s.label),d.id!==s.id&&L.val(d.id=s.id),L[0].selected!==s.selected&&L.prop("selected",d.selected=s.selected)):(""===s.id&&E?J=E:(J=u.clone()).val(s.id).attr("selected",s.selected).text(s.label),y.push({element:J,label:s.label,id:s.id,selected:s.selected}),L?L.after(J):t.element.append(J),L=J);for(D++;y.length>D;)y.pop().element.remove()}for(;x.length>B;)x.pop()[0].element.remove()}var k;if(!(k=t.match(d)))throw Te("iexp",t,fa(f));var l=c(k[2]||k[1]),m=k[4]||k[6],n=k[5],q=c(k[3]||""),r=c(k[2]?k[1]:m),z=c(k[7]),w=k[8]?c(k[8]):null,x=[[{element:f,label:""}]];E&&(a(E)(e),E.removeClass("ng-scope"),E.remove()),f.empty(),f.on("change",function(){e.$apply(function(){var a,h,k,l,q,t,v,u,c=z(e)||[],d={};if(p){for(k=[],q=0,v=x.length;v>q;q++)for(a=x[q],l=1,t=a.length;t>l;l++)if((h=a[l].element)[0].selected){if(h=h.val(),n&&(d[n]=h),w)for(u=0;ug;g++)if(""===w[g].value){x=E=w.eq(g);break}q.init(m,E,y),p&&(m.$isEmpty=function(a){return!a||0===a.length}),t?n(e,h,m):p?l(e,h,m):k(e,h,m,q)}}}}],We=["$interpolate",function(a){var c={addOption:x,removeOption:x};return{restrict:"E",priority:100,compile:function(d,e){if(C(e.value)){var f=a(d.text(),!0);f||e.$set("value",d.text())}return function(a,d,e){var k=d.parent(),l=k.data("$selectController")||k.parent().data("$selectController");l&&l.databound?d.prop("selected",!1):l=c,f?a.$watch(f,function(a,c){e.$set("value",a),a!==c&&l.removeOption(c),l.addOption(a)}):l.addOption(e.value),d.on("$destroy",function(){l.removeOption(e.value)})}}}}],Xe=$({restrict:"E",terminal:!1});(Da=D.jQuery)?(z=Da,t(Da.fn,{scope:Ga.scope,isolateScope:Ga.isolateScope,controller:Ga.controller,injector:Ga.injector,inheritedData:Ga.inheritedData}),Cb("remove",!0,!0,!1),Cb("empty",!1,!1,!1),Cb("html",!1,!1,!0)):z=S,Ca.element=z,function(a){t(a,{bootstrap:bc,copy:ba,extend:t,equals:ta,element:z,forEach:r,injector:cc,noop:x,bind:db,toJson:oa,fromJson:Yb,identity:Aa,isUndefined:C,isDefined:v,isString:y,isFunction:O,isObject:X,isNumber:yb,isElement:$c,isArray:I,version:fe,isDate:na,lowercase:P,uppercase:Ja,callbacks:{counter:0},$$minErr:F,$$csp:Xb}),Ua=ed(D);try{Ua("ngLocale")}catch(c){Ua("ngLocale",[]).provider("$locale",Dd)}Ua("ng",["ngLocale"],["$provide",function(a){a.provider({$$sanitizeUri:Od}),a.provider("$compile",mc).directive({a:ke,input:Wc,textarea:Wc,form:le,script:Se,select:Ve,style:Xe,option:We,ngBind:we,ngBindHtml:ye,ngBindTemplate:xe,ngClass:ze,ngClassEven:Be,ngClassOdd:Ae,ngCloak:Ce,ngController:De,ngForm:me,ngHide:Me,ngIf:Ee,ngInclude:Fe,ngInit:He,ngNonBindable:Ie,ngPluralize:Je,ngRepeat:Ke,ngShow:Le,ngStyle:Ne,ngSwitch:Oe,ngSwitchWhen:Pe,ngSwitchDefault:Qe,ngOptions:Ue,ngTransclude:Re,ngModel:re,ngList:te,ngChange:se,required:Xc,ngRequired:Xc,ngValue:ve}).directive({ngInclude:Ge}).directive(Qb).directive(Yc),a.provider({$anchorScroll:nd,$animate:he,$browser:qd,$cacheFactory:rd,$controller:ud,$document:vd,$exceptionHandler:wd,$filter:Fc,$interpolate:Bd,$interval:Cd,$http:xd,$httpBackend:zd,$location:Fd,$log:Gd,$parse:Jd,$rootScope:Nd,$q:Kd,$sce:Rd,$sceDelegate:Qd,$sniffer:Sd,$templateCache:sd,$timeout:Td,$window:Ud,$$rAF:Md,$$asyncCallback:od})}])}(Ca),z(U).ready(function(){cd(U,bc)})}(window,document),!angular.$$csp()&&angular.element(document).find("head").prepend(''),function(H,a,A){"use strict";function D(p,g){g=g||{},a.forEach(g,function(a,c){delete g[c]});for(var c in p)!p.hasOwnProperty(c)||"$"===c.charAt(0)&&"$"===c.charAt(1)||(g[c]=p[c]);return g}var v=a.$$minErr("$resource"),C=/^(\.[a-zA-Z_$][0-9a-zA-Z_$]*)+$/;a.module("ngResource",["ng"]).factory("$resource",["$http","$q",function(p,g){function c(a,c){this.template=a,this.defaults=c||{},this.urlParams={}}function t(n,w,l){function r(h,d){var e={};return d=x({},w,d),s(d,function(b,d){u(b)&&(b=b());var k;if(b&&b.charAt&&"@"==b.charAt(0)){k=h;var a=b.substr(1);if(null==a||""===a||"hasOwnProperty"===a||!C.test("."+a))throw v("badmember",a);for(var a=a.split("."),f=0,c=a.length;c>f&&k!==A;f++){var g=a[f];k=null!==k?k[g]:A}}else k=b;e[d]=k}),e}function e(a){return a.resource}function f(a){D(a||{},this)}var F=new c(n);return l=x({},B,l),s(l,function(h,d){var c=/^(POST|PUT|PATCH)$/i.test(h.method);f[d]=function(b,d,k,w){var n,l,y,q={};switch(arguments.length){case 4:y=w,l=k;case 3:case 2:if(!u(d)){q=b,n=d,l=k;break}if(u(b)){l=b,y=d;break}l=d,y=k;case 1:u(b)?l=b:c?n=b:q=b;break;case 0:break;default:throw v("badargs",arguments.length)}var t=this instanceof f,m=t?n:h.isArray?[]:new f(n),z={},B=h.interceptor&&h.interceptor.response||e,C=h.interceptor&&h.interceptor.responseError||A;return s(h,function(a,b){"params"!=b&&"isArray"!=b&&"interceptor"!=b&&(z[b]=G(a))}),c&&(z.data=n),F.setUrlParams(z,x({},r(n,h.params||{}),q),h.url),q=p(z).then(function(b){var d=b.data,k=m.$promise;if(d){if(a.isArray(d)!==!!h.isArray)throw v("badcfg",h.isArray?"array":"object",a.isArray(d)?"array":"object");h.isArray?(m.length=0,s(d,function(b){m.push(new f(b))})):(D(d,m),m.$promise=k)}return m.$resolved=!0,b.resource=m,b},function(b){return m.$resolved=!0,(y||E)(b),g.reject(b)}),q=q.then(function(b){var a=B(b);return(l||E)(a,b.headers),a},C),t?q:(m.$promise=q,m.$resolved=!1,m)},f.prototype["$"+d]=function(b,a,k){return u(b)&&(k=a,a=b,b={}),b=f[d].call(this,b,this,a,k),b.$promise||b}}),f.bind=function(a){return t(n,x({},w,a),l)},f}var B={get:{method:"GET"},save:{method:"POST"},query:{method:"GET",isArray:!0},remove:{method:"DELETE"},"delete":{method:"DELETE"}},E=a.noop,s=a.forEach,x=a.extend,G=a.copy,u=a.isFunction;return c.prototype={setUrlParams:function(c,g,l){var f,p,r=this,e=l||r.template,h=r.urlParams={};s(e.split(/\W/),function(a){if("hasOwnProperty"===a)throw v("badname");!/^\d+$/.test(a)&&a&&RegExp("(^|[^\\\\]):"+a+"(\\W|$)").test(e)&&(h[a]=!0)}),e=e.replace(/\\:/g,":"),g=g||{},s(r.urlParams,function(d,c){f=g.hasOwnProperty(c)?g[c]:r.defaults[c],a.isDefined(f)&&null!==f?(p=encodeURIComponent(f).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"%20").replace(/%26/gi,"&").replace(/%3D/gi,"=").replace(/%2B/gi,"+"),e=e.replace(RegExp(":"+c+"(\\W|$)","g"),function(a,c){return p+c})):e=e.replace(RegExp("(/?):"+c+"(\\W|$)","g"),function(a,c,d){return"/"==d.charAt(0)?d:c+d})}),e=e.replace(/\/+$/,"")||"/",e=e.replace(/\/\.(?=\w+($|\?))/,"."),c.url=e.replace(/\/\\\./,"/."),s(g,function(a,e){r.urlParams[e]||(c.params=c.params||{},c.params[e]=a)})}},t}])}(window,window.angular),function(n,e){"use strict";function x(s,g,k){return{restrict:"ECA",terminal:!0,priority:400,transclude:"element",link:function(a,c,b,f,w){function y(){p&&(p.remove(),p=null),h&&(h.$destroy(),h=null),l&&(k.leave(l,function(){p=null}),p=l,l=null)}function v(){var b=s.current&&s.current.locals;if(e.isDefined(b&&b.$template)){var b=a.$new(),d=s.current;l=w(b,function(d){k.enter(d,null,l||c,function(){!e.isDefined(t)||t&&!a.$eval(t)||g()}),y()}),h=d.scope=b,h.$emit("$viewContentLoaded"),h.$eval(u)}else y()}var h,l,p,t=b.autoscroll,u=b.onload||"";a.$on("$routeChangeSuccess",v),v()}}}function z(e,g,k){return{restrict:"ECA",priority:-400,link:function(a,c){var b=k.current,f=b.locals;c.html(f.$template);var w=e(c.contents());b.controller&&(f.$scope=a,f=g(b.controller,f),b.controllerAs&&(a[b.controllerAs]=f),c.data("$ngControllerController",f),c.children().data("$ngControllerController",f)),w(a)}}}n=e.module("ngRoute",["ng"]).provider("$route",function(){function s(a,c){return e.extend(new(e.extend(function(){},{prototype:a})),c)}function g(a,e){var b=e.caseInsensitiveMatch,f={originalPath:a,regexp:a},k=f.keys=[];return a=a.replace(/([().])/g,"\\$1").replace(/(\/)?:(\w+)([\?\*])?/g,function(a,e,b,c){return a="?"===c?c:null,c="*"===c?c:null,k.push({name:b,optional:!!a}),e=e||"",""+(a?"":e)+"(?:"+(a?e:"")+(c&&"(.+?)"||"([^/]+)")+(a||"")+")"+(a||"")}).replace(/([\/$\*])/g,"\\$1"),f.regexp=RegExp("^"+a+"$",b?"i":""),f}var k={};this.when=function(a,c){if(k[a]=e.extend({reloadOnSearch:!0},c,a&&g(a,c)),a){var b="/"==a[a.length-1]?a.substr(0,a.length-1):a+"/";k[b]=e.extend({redirectTo:a},g(b,c))}return this},this.otherwise=function(a){return this.when(null,a),this},this.$get=["$rootScope","$location","$routeParams","$q","$injector","$http","$templateCache","$sce",function(a,c,b,f,g,n,v,h){function l(){var d=p(),m=r.current;d&&m&&d.$$route===m.$$route&&e.equals(d.pathParams,m.pathParams)&&!d.reloadOnSearch&&!u?(m.params=d.params,e.copy(m.params,b),a.$broadcast("$routeUpdate",m)):(d||m)&&(u=!1,a.$broadcast("$routeChangeStart",d,m),(r.current=d)&&d.redirectTo&&(e.isString(d.redirectTo)?c.path(t(d.redirectTo,d.params)).search(d.params).replace():c.url(d.redirectTo(d.pathParams,c.path(),c.search())).replace()),f.when(d).then(function(){if(d){var c,b,a=e.extend({},d.resolve);return e.forEach(a,function(d,c){a[c]=e.isString(d)?g.get(d):g.invoke(d)}),e.isDefined(c=d.template)?e.isFunction(c)&&(c=c(d.params)):e.isDefined(b=d.templateUrl)&&(e.isFunction(b)&&(b=b(d.params)),b=h.getTrustedResourceUrl(b),e.isDefined(b)&&(d.loadedTemplateUrl=b,c=n.get(b,{cache:v}).then(function(a){return a.data}))),e.isDefined(c)&&(a.$template=c),f.all(a)}}).then(function(c){d==r.current&&(d&&(d.locals=c,e.copy(d.params,b)),a.$broadcast("$routeChangeSuccess",d,m))},function(c){d==r.current&&a.$broadcast("$routeChangeError",d,m,c)}))}function p(){var a,b;return e.forEach(k,function(f){var q;if(q=!b){var g=c.path();q=f.keys;var l={};if(f.regexp)if(g=f.regexp.exec(g)){for(var h=1,p=g.length;p>h;++h){var n=q[h-1],r="string"==typeof g[h]?decodeURIComponent(g[h]):g[h];n&&r&&(l[n.name]=r)}q=l}else q=null;else q=null;q=a=q}q&&(b=s(f,{params:e.extend({},c.search(),a),pathParams:a}),b.$$route=f)}),b||k[null]&&s(k[null],{params:{},pathParams:{}})}function t(a,c){var b=[];return e.forEach((a||"").split(":"),function(a,d){if(0===d)b.push(a);else{var e=a.match(/(\w+)(.*)/),f=e[1];b.push(c[f]),b.push(e[2]||""),delete c[f]}}),b.join("")}var u=!1,r={routes:k,reload:function(){u=!0,a.$evalAsync(l)}};return a.$on("$locationChangeSuccess",l),r}]}),n.provider("$routeParams",function(){this.$get=function(){return{}}}),n.directive("ngView",x),n.directive("ngView",z),x.$inject=["$route","$anchorScroll","$animate"],z.$inject=["$compile","$controller","$route"]}(window,window.angular),angular.module("monospaced.qrcode",[]).directive("qrcode",["$window",function($window){var canvas2D=!!$window.CanvasRenderingContext2D,levels={L:"Low",M:"Medium",Q:"Quartile",H:"High"},draw=function(context,qr,modules,tile){for(var row=0;modules>row;row++)for(var col=0;modules>col;col++){var w=Math.ceil((col+1)*tile)-Math.floor(col*tile),h=Math.ceil((row+1)*tile)-Math.floor(row*tile);context.fillStyle=qr.isDark(row,col)?"#000":"#fff",context.fillRect(Math.round(col*tile),Math.round(row*tile),w,h)}};return{restrict:"E",template:"",link:function(scope,element,attrs){var error,version,errorCorrectionLevel,data,size,modules,tile,qr,domElement=element[0],canvas=element.find("canvas")[0],context=canvas2D?canvas.getContext("2d"):null,trim=/^\s+|\s+$/g,setVersion=function(value){version=Math.max(1,Math.min(parseInt(value,10),10))||4},setErrorCorrectionLevel=function(value){errorCorrectionLevel=value in levels?value:"M"},setData=function(value){if(value){data=value.replace(trim,""),qr=qrcode(version,errorCorrectionLevel),qr.addData(data);try{qr.make()}catch(e){return void(error=e.message)}error=!1,modules=qr.getModuleCount()}},setSize=function(value){size=parseInt(value,10)||2*modules,tile=size/modules,canvas.width=canvas.height=size},render=function(){return qr?error?(canvas2D||(domElement.innerHTML=''),void scope.$emit("qrcode:error",error)):void(canvas2D?draw(context,qr,modules,tile):domElement.innerHTML=qr.createImgTag(tile,0)):void 0};setVersion(attrs.version),setErrorCorrectionLevel(attrs.errorCorrectionLevel),setSize(attrs.size),attrs.$observe("version",function(value){value&&(setVersion(value),setData(data),setSize(size),render())}),attrs.$observe("errorCorrectionLevel",function(value){value&&(setErrorCorrectionLevel(value),setData(data),setSize(size),render())}),attrs.$observe("data",function(value){value&&(setData(value),setSize(size),render())}),attrs.$observe("size",function(value){value&&(setSize(value),render())})}}}]),function(G,g,Q){"use strict";g.module("ngAnimate",["ng"]).factory("$$animateReflow",["$$rAF","$document",function(g){return function(e){return g(function(){e()})}}]).config(["$provide","$animateProvider",function(W,H){function e(e){for(var m=0;m0){if(l=[],p.isClassBased)"setClass"==C.event?(l.push(C),E(c,b)):f[b]&&(x=f[b],x.event==a?d=!0:(l.push(x),E(c,b)));else if("leave"==a&&f["ng-leave"])d=!0;else{for(var x in f)l.push(f[x]),E(c,x);f={},u=0}0=b||(B.cancel(ea),fa=b,ea=B(function(){K(Z),Z=[]},k,!1))}function K(a){m(a,function(a){(a=a.data(l))&&(a.closeAnimationFn||r)()})}function R(a,k){var b=k?N[k]:null;if(!b){var l,$,t,g,c=0,d=0,e=0,f=0;m(a,function(a){if(a.nodeType==ba){a=h.getComputedStyle(a)||{},t=a[J+y],c=Math.max(M(t),c),g=a[J+v],l=a[J+z],d=Math.max(M(l),d),$=a[n+z],f=Math.max(M($),f);var k=M(a[n+y]);k>0&&(k*=parseInt(a[n+p],10)||1),e=Math.max(k,e)}}),b={total:0,transitionPropertyStyle:g,transitionDurationStyle:t,transitionDelayStyle:l,transitionDelay:d,transitionDuration:c,animationDelayStyle:$,animationDelay:f,animationDuration:e},k&&(N[k]=b)}return b}function M(a){var k=0;return a=g.isString(a)?a.split(/\s*,\s*/):[],m(a,function(a){k=Math.max(parseFloat(a)||0,k)}),k}function s(a){var k=a.parent(),b=k.data(w);return b||(k.data(w,++da),b=da),b+"-"+e(a).className}function U(a,k,b,c){var d=s(k),f=d+" "+b,m=N[f]?++N[f].total:0,g={};if(m>0){var h=b+"-stagger",g=d+" "+h;(d=!N[g])&&k.addClass(h),g=R(k,g),d&&k.removeClass(h)}c=c||function(a){return a()},k.addClass(b);var h=k.data(l)||{},t=c(function(){return R(k,f)});return c=t.transitionDuration,d=t.animationDuration,0===c&&0===d?(k.removeClass(b),!1):(k.data(l,{running:h.running||0,itemIndex:m,stagger:g,timings:t,closeAnimationFn:r}),a=00&&E(k,b,a),d>0&&0=x&&b>=v&&f()}var p=e(b);if(a=b.data(l),-1!=p.className.indexOf(c)&&a){var q="";m(c.split(" "),function(a,b){q+=(b>0?" ":"")+a+"-active"});var n=a.stagger,t=a.timings,r=a.itemIndex,v=Math.max(t.transitionDuration,t.animationDuration),w=Math.max(t.transitionDelay,t.animationDelay),x=w*ca,z=Date.now(),y=A+" "+H,s="",u=[];if(00&&(00?",":"")+(c*b+parseInt(a,10))+"s"}),d}function a(a,b,c,e){return U(a,b,c,e)?function(a){a&&d(b,c)}:void 0}function b(a,b,c,e){return b.data(l)?V(a,b,c,e):(d(b,c),void e())}function c(c,d,e,f){var g=a(c,d,e);if(g){var h=g;return F(d,function(){O(d,e),P(d),h=b(c,d,e,f)}),function(a){(h||r)(a)}}f()}function d(a,b){a.removeClass(b);var c=a.data(l);c&&(c.running&&c.running--,c.running&&0!==c.running||a.removeData(l))}function f(a,b){var c="";return a=g.isArray(a)?a:a.split(/\s+/),m(a,function(a,d){a&&00?" ":"")+a+b)}),c}var J,H,n,A,D="";G.ontransitionend===Q&&G.onwebkittransitionend!==Q?(D="-webkit-",J="WebkitTransition",H="webkitTransitionEnd transitionend"):(J="transition",H="transitionend"),G.onanimationend===Q&&G.onwebkitanimationend!==Q?(D="-webkit-",n="WebkitAnimation",A="webkitAnimationEnd animationend"):(n="animation",A="animationend");var S,y="Duration",v="Property",z="Delay",p="IterationCount",w="$$ngAnimateKey",l="$$ngAnimateCSS3Data",u="ng-animate-block-transitions",C=3,W=1.5,ca=1e3,N={},da=0,X=[],ea=null,fa=0,Z=[];return{enter:function(a,b){return c("enter",a,"ng-enter",b)},leave:function(a,b){return c("leave",a,"ng-leave",b)},move:function(a,b){return c("move",a,"ng-move",b)},beforeSetClass:function(b,c,d,e){var g=f(d,"-remove")+" "+f(c,"-add"),h=a("setClass",b,g,function(a){var e=b.attr("class");return b.removeClass(d),b.addClass(c),a=a(),b.attr("class",e),a});return h?(F(b,function(){O(b,g),P(b),e()}),h):void e()},beforeAddClass:function(b,c,d){var e=a("addClass",b,f(c,"-add"),function(a){return b.addClass(c),a=a(),b.removeClass(c),a});return e?(F(b,function(){O(b,c),P(b),d()}),e):void d()},setClass:function(a,c,d,e){return d=f(d,"-remove"),c=f(c,"-add"),b("setClass",a,d+" "+c,e)},addClass:function(a,c,d){return b("addClass",a,f(c,"-add"),d)},beforeRemoveClass:function(b,c,d){var e=a("removeClass",b,f(c,"-remove"),function(a){var d=b.attr("class");return b.removeClass(c),a=a(),b.attr("class",d),a});return e?(F(b,function(){O(b,c),P(b),d()}),e):void d()},removeClass:function(a,c,d){return b("removeClass",a,f(c,"-remove"),d)}}}])}])}(window,window.angular),angular.module("ui.bootstrap",["ui.bootstrap.transition","ui.bootstrap.collapse","ui.bootstrap.accordion","ui.bootstrap.alert","ui.bootstrap.bindHtml","ui.bootstrap.buttons","ui.bootstrap.carousel","ui.bootstrap.position","ui.bootstrap.datepicker","ui.bootstrap.dropdownToggle","ui.bootstrap.modal","ui.bootstrap.pagination","ui.bootstrap.tooltip","ui.bootstrap.popover","ui.bootstrap.progressbar","ui.bootstrap.rating","ui.bootstrap.tabs","ui.bootstrap.timepicker","ui.bootstrap.typeahead"]),angular.module("ui.bootstrap.transition",[]).factory("$transition",["$q","$timeout","$rootScope",function($q,$timeout,$rootScope){function findEndEventName(endEventNames){for(var name in endEventNames)if(void 0!==transElement.style[name])return endEventNames[name]}var $transition=function(element,trigger,options){options=options||{};var deferred=$q.defer(),endEventName=$transition[options.animation?"animationEndEventName":"transitionEndEventName"],transitionEndHandler=function(){$rootScope.$apply(function(){element.unbind(endEventName,transitionEndHandler),deferred.resolve(element)})};return endEventName&&element.bind(endEventName,transitionEndHandler),$timeout(function(){angular.isString(trigger)?element.addClass(trigger):angular.isFunction(trigger)?trigger(element):angular.isObject(trigger)&&element.css(trigger),endEventName||deferred.resolve(element)}),deferred.promise.cancel=function(){endEventName&&element.unbind(endEventName,transitionEndHandler),deferred.reject("Transition cancelled")},deferred.promise},transElement=document.createElement("trans"),transitionEndEventNames={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd",transition:"transitionend"},animationEndEventNames={WebkitTransition:"webkitAnimationEnd",MozTransition:"animationend",OTransition:"oAnimationEnd",transition:"animationend"};return $transition.transitionEndEventName=findEndEventName(transitionEndEventNames),$transition.animationEndEventName=findEndEventName(animationEndEventNames),$transition}]),angular.module("ui.bootstrap.collapse",["ui.bootstrap.transition"]).directive("collapse",["$transition",function($transition){return{link:function(scope,element,attrs){function doTransition(change){function newTransitionDone(){currentTransition===newTransition&&(currentTransition=void 0)}var newTransition=$transition(element,change);return currentTransition&¤tTransition.cancel(),currentTransition=newTransition,newTransition.then(newTransitionDone,newTransitionDone),newTransition}function expand(){initialAnimSkip?(initialAnimSkip=!1,expandDone()):(element.removeClass("collapse").addClass("collapsing"),doTransition({height:element[0].scrollHeight+"px"}).then(expandDone))}function expandDone(){element.removeClass("collapsing"),element.addClass("collapse in"),element.css({height:"auto"})}function collapse(){if(initialAnimSkip)initialAnimSkip=!1,collapseDone(),element.css({height:0});else{element.css({height:element[0].scrollHeight+"px"});{element[0].offsetWidth}element.removeClass("collapse in").addClass("collapsing"),doTransition({height:0}).then(collapseDone)}}function collapseDone(){element.removeClass("collapsing"),element.addClass("collapse")}var currentTransition,initialAnimSkip=!0;scope.$watch(attrs.collapse,function(shouldCollapse){shouldCollapse?collapse():expand()})}}}]),angular.module("ui.bootstrap.accordion",["ui.bootstrap.collapse"]).constant("accordionConfig",{closeOthers:!0}).controller("AccordionController",["$scope","$attrs","accordionConfig",function($scope,$attrs,accordionConfig){this.groups=[],this.closeOthers=function(openGroup){var closeOthers=angular.isDefined($attrs.closeOthers)?$scope.$eval($attrs.closeOthers):accordionConfig.closeOthers;closeOthers&&angular.forEach(this.groups,function(group){group!==openGroup&&(group.isOpen=!1)})},this.addGroup=function(groupScope){var that=this;this.groups.push(groupScope),groupScope.$on("$destroy",function(){that.removeGroup(groupScope)})},this.removeGroup=function(group){var index=this.groups.indexOf(group);-1!==index&&this.groups.splice(this.groups.indexOf(group),1)}}]).directive("accordion",function(){return{restrict:"EA",controller:"AccordionController",transclude:!0,replace:!1,templateUrl:"template/accordion/accordion.html"}}).directive("accordionGroup",["$parse",function($parse){return{require:"^accordion",restrict:"EA",transclude:!0,replace:!0,templateUrl:"template/accordion/accordion-group.html",scope:{heading:"@"},controller:function(){this.setHeading=function(element){this.heading=element}},link:function(scope,element,attrs,accordionCtrl){var getIsOpen,setIsOpen;accordionCtrl.addGroup(scope),scope.isOpen=!1,attrs.isOpen&&(getIsOpen=$parse(attrs.isOpen),setIsOpen=getIsOpen.assign,scope.$parent.$watch(getIsOpen,function(value){scope.isOpen=!!value})),scope.$watch("isOpen",function(value){value&&accordionCtrl.closeOthers(scope),setIsOpen&&setIsOpen(scope.$parent,value)})}}}]).directive("accordionHeading",function(){return{restrict:"EA",transclude:!0,template:"",replace:!0,require:"^accordionGroup",compile:function(element,attr,transclude){return function(scope,element,attr,accordionGroupCtrl){accordionGroupCtrl.setHeading(transclude(scope,function(){}))}}}}).directive("accordionTransclude",function(){return{require:"^accordionGroup",link:function(scope,element,attr,controller){scope.$watch(function(){return controller[attr.accordionTransclude] },function(heading){heading&&(element.html(""),element.append(heading))})}}}),angular.module("ui.bootstrap.alert",[]).controller("AlertController",["$scope","$attrs",function($scope,$attrs){$scope.closeable="close"in $attrs}]).directive("alert",function(){return{restrict:"EA",controller:"AlertController",templateUrl:"template/alert/alert.html",transclude:!0,replace:!0,scope:{type:"=",close:"&"}}}),angular.module("ui.bootstrap.bindHtml",[]).directive("bindHtmlUnsafe",function(){return function(scope,element,attr){element.addClass("ng-binding").data("$binding",attr.bindHtmlUnsafe),scope.$watch(attr.bindHtmlUnsafe,function(value){element.html(value||"")})}}),angular.module("ui.bootstrap.buttons",[]).constant("buttonConfig",{activeClass:"active",toggleEvent:"click"}).controller("ButtonsController",["buttonConfig",function(buttonConfig){this.activeClass=buttonConfig.activeClass||"active",this.toggleEvent=buttonConfig.toggleEvent||"click"}]).directive("btnRadio",function(){return{require:["btnRadio","ngModel"],controller:"ButtonsController",link:function(scope,element,attrs,ctrls){var buttonsCtrl=ctrls[0],ngModelCtrl=ctrls[1];ngModelCtrl.$render=function(){element.toggleClass(buttonsCtrl.activeClass,angular.equals(ngModelCtrl.$modelValue,scope.$eval(attrs.btnRadio)))},element.bind(buttonsCtrl.toggleEvent,function(){element.hasClass(buttonsCtrl.activeClass)||scope.$apply(function(){ngModelCtrl.$setViewValue(scope.$eval(attrs.btnRadio)),ngModelCtrl.$render()})})}}}).directive("btnCheckbox",function(){return{require:["btnCheckbox","ngModel"],controller:"ButtonsController",link:function(scope,element,attrs,ctrls){function getTrueValue(){return getCheckboxValue(attrs.btnCheckboxTrue,!0)}function getFalseValue(){return getCheckboxValue(attrs.btnCheckboxFalse,!1)}function getCheckboxValue(attributeValue,defaultValue){var val=scope.$eval(attributeValue);return angular.isDefined(val)?val:defaultValue}var buttonsCtrl=ctrls[0],ngModelCtrl=ctrls[1];ngModelCtrl.$render=function(){element.toggleClass(buttonsCtrl.activeClass,angular.equals(ngModelCtrl.$modelValue,getTrueValue()))},element.bind(buttonsCtrl.toggleEvent,function(){scope.$apply(function(){ngModelCtrl.$setViewValue(element.hasClass(buttonsCtrl.activeClass)?getFalseValue():getTrueValue()),ngModelCtrl.$render()})})}}}),angular.module("ui.bootstrap.carousel",["ui.bootstrap.transition"]).controller("CarouselController",["$scope","$timeout","$transition","$q",function($scope,$timeout,$transition){function restartTimer(){resetTimer();var interval=+$scope.interval;!isNaN(interval)&&interval>=0&&(currentTimeout=$timeout(timerFn,interval))}function resetTimer(){currentTimeout&&($timeout.cancel(currentTimeout),currentTimeout=null)}function timerFn(){isPlaying?($scope.next(),restartTimer()):$scope.pause()}var currentTimeout,isPlaying,self=this,slides=self.slides=[],currentIndex=-1;self.currentSlide=null;var destroyed=!1;self.select=function(nextSlide,direction){function goNext(){if(!destroyed){if(self.currentSlide&&angular.isString(direction)&&!$scope.noTransition&&nextSlide.$element){nextSlide.$element.addClass(direction);{nextSlide.$element[0].offsetWidth}angular.forEach(slides,function(slide){angular.extend(slide,{direction:"",entering:!1,leaving:!1,active:!1})}),angular.extend(nextSlide,{direction:direction,active:!0,entering:!0}),angular.extend(self.currentSlide||{},{direction:direction,leaving:!0}),$scope.$currentTransition=$transition(nextSlide.$element,{}),function(next,current){$scope.$currentTransition.then(function(){transitionDone(next,current)},function(){transitionDone(next,current)})}(nextSlide,self.currentSlide)}else transitionDone(nextSlide,self.currentSlide);self.currentSlide=nextSlide,currentIndex=nextIndex,restartTimer()}}function transitionDone(next,current){angular.extend(next,{direction:"",active:!0,leaving:!1,entering:!1}),angular.extend(current||{},{direction:"",active:!1,leaving:!1,entering:!1}),$scope.$currentTransition=null}var nextIndex=slides.indexOf(nextSlide);void 0===direction&&(direction=nextIndex>currentIndex?"next":"prev"),nextSlide&&nextSlide!==self.currentSlide&&($scope.$currentTransition?($scope.$currentTransition.cancel(),$timeout(goNext)):goNext())},$scope.$on("$destroy",function(){destroyed=!0}),self.indexOfSlide=function(slide){return slides.indexOf(slide)},$scope.next=function(){var newIndex=(currentIndex+1)%slides.length;return $scope.$currentTransition?void 0:self.select(slides[newIndex],"next")},$scope.prev=function(){var newIndex=0>currentIndex-1?slides.length-1:currentIndex-1;return $scope.$currentTransition?void 0:self.select(slides[newIndex],"prev")},$scope.select=function(slide){self.select(slide)},$scope.isActive=function(slide){return self.currentSlide===slide},$scope.slides=function(){return slides},$scope.$watch("interval",restartTimer),$scope.$on("$destroy",resetTimer),$scope.play=function(){isPlaying||(isPlaying=!0,restartTimer())},$scope.pause=function(){$scope.noPause||(isPlaying=!1,resetTimer())},self.addSlide=function(slide,element){slide.$element=element,slides.push(slide),1===slides.length||slide.active?(self.select(slides[slides.length-1]),1==slides.length&&$scope.play()):slide.active=!1},self.removeSlide=function(slide){var index=slides.indexOf(slide);slides.splice(index,1),slides.length>0&&slide.active?self.select(index>=slides.length?slides[index-1]:slides[index]):currentIndex>index&¤tIndex--}}]).directive("carousel",[function(){return{restrict:"EA",transclude:!0,replace:!0,controller:"CarouselController",require:"carousel",templateUrl:"template/carousel/carousel.html",scope:{interval:"=",noTransition:"=",noPause:"="}}}]).directive("slide",["$parse",function($parse){return{require:"^carousel",restrict:"EA",transclude:!0,replace:!0,templateUrl:"template/carousel/slide.html",scope:{},link:function(scope,element,attrs,carouselCtrl){if(attrs.active){var getActive=$parse(attrs.active),setActive=getActive.assign,lastValue=scope.active=getActive(scope.$parent);scope.$watch(function(){var parentActive=getActive(scope.$parent);return parentActive!==scope.active&&(parentActive!==lastValue?lastValue=scope.active=parentActive:setActive(scope.$parent,parentActive=lastValue=scope.active)),parentActive})}carouselCtrl.addSlide(scope,element),scope.$on("$destroy",function(){carouselCtrl.removeSlide(scope)}),scope.$watch("active",function(active){active&&carouselCtrl.select(scope)})}}}]),angular.module("ui.bootstrap.position",[]).factory("$position",["$document","$window",function($document,$window){function getStyle(el,cssprop){return el.currentStyle?el.currentStyle[cssprop]:$window.getComputedStyle?$window.getComputedStyle(el)[cssprop]:el.style[cssprop]}function isStaticPositioned(element){return"static"===(getStyle(element,"position")||"static")}var parentOffsetEl=function(element){for(var docDomEl=$document[0],offsetParent=element.offsetParent||docDomEl;offsetParent&&offsetParent!==docDomEl&&isStaticPositioned(offsetParent);)offsetParent=offsetParent.offsetParent;return offsetParent||docDomEl};return{position:function(element){var elBCR=this.offset(element),offsetParentBCR={top:0,left:0},offsetParentEl=parentOffsetEl(element[0]);offsetParentEl!=$document[0]&&(offsetParentBCR=this.offset(angular.element(offsetParentEl)),offsetParentBCR.top+=offsetParentEl.clientTop-offsetParentEl.scrollTop,offsetParentBCR.left+=offsetParentEl.clientLeft-offsetParentEl.scrollLeft);var boundingClientRect=element[0].getBoundingClientRect();return{width:boundingClientRect.width||element.prop("offsetWidth"),height:boundingClientRect.height||element.prop("offsetHeight"),top:elBCR.top-offsetParentBCR.top,left:elBCR.left-offsetParentBCR.left}},offset:function(element){var boundingClientRect=element[0].getBoundingClientRect();return{width:boundingClientRect.width||element.prop("offsetWidth"),height:boundingClientRect.height||element.prop("offsetHeight"),top:boundingClientRect.top+($window.pageYOffset||$document[0].body.scrollTop||$document[0].documentElement.scrollTop),left:boundingClientRect.left+($window.pageXOffset||$document[0].body.scrollLeft||$document[0].documentElement.scrollLeft)}}}}]),angular.module("ui.bootstrap.datepicker",["ui.bootstrap.position"]).constant("datepickerConfig",{dayFormat:"dd",monthFormat:"MMMM",yearFormat:"yyyy",dayHeaderFormat:"EEE",dayTitleFormat:"MMMM yyyy",monthTitleFormat:"yyyy",showWeeks:!0,startingDay:0,yearRange:20,minDate:null,maxDate:null}).controller("DatepickerController",["$scope","$attrs","dateFilter","datepickerConfig",function($scope,$attrs,dateFilter,dtConfig){function getValue(value,defaultValue){return angular.isDefined(value)?$scope.$parent.$eval(value):defaultValue}function getDaysInMonth(year,month){return new Date(year,month,0).getDate()}function getDates(startDate,n){for(var dates=new Array(n),current=startDate,i=0;n>i;)dates[i++]=new Date(current),current.setDate(current.getDate()+1);return dates}function makeDate(date,format,isSelected,isSecondary){return{date:date,label:dateFilter(date,format),selected:!!isSelected,secondary:!!isSecondary}}var format={day:getValue($attrs.dayFormat,dtConfig.dayFormat),month:getValue($attrs.monthFormat,dtConfig.monthFormat),year:getValue($attrs.yearFormat,dtConfig.yearFormat),dayHeader:getValue($attrs.dayHeaderFormat,dtConfig.dayHeaderFormat),dayTitle:getValue($attrs.dayTitleFormat,dtConfig.dayTitleFormat),monthTitle:getValue($attrs.monthTitleFormat,dtConfig.monthTitleFormat)},startingDay=getValue($attrs.startingDay,dtConfig.startingDay),yearRange=getValue($attrs.yearRange,dtConfig.yearRange);this.minDate=dtConfig.minDate?new Date(dtConfig.minDate):null,this.maxDate=dtConfig.maxDate?new Date(dtConfig.maxDate):null,this.modes=[{name:"day",getVisibleDates:function(date,selected){var year=date.getFullYear(),month=date.getMonth(),firstDayOfMonth=new Date(year,month,1),difference=startingDay-firstDayOfMonth.getDay(),numDisplayedFromPreviousMonth=difference>0?7-difference:-difference,firstDate=new Date(firstDayOfMonth),numDates=0;numDisplayedFromPreviousMonth>0&&(firstDate.setDate(-numDisplayedFromPreviousMonth+1),numDates+=numDisplayedFromPreviousMonth),numDates+=getDaysInMonth(year,month+1),numDates+=(7-numDates%7)%7;for(var days=getDates(firstDate,numDates),labels=new Array(7),i=0;numDates>i;i++){var dt=new Date(days[i]);days[i]=makeDate(dt,format.day,selected&&selected.getDate()===dt.getDate()&&selected.getMonth()===dt.getMonth()&&selected.getFullYear()===dt.getFullYear(),dt.getMonth()!==month)}for(var j=0;7>j;j++)labels[j]=dateFilter(days[j].date,format.dayHeader);return{objects:days,title:dateFilter(date,format.dayTitle),labels:labels}},compare:function(date1,date2){return new Date(date1.getFullYear(),date1.getMonth(),date1.getDate())-new Date(date2.getFullYear(),date2.getMonth(),date2.getDate())},split:7,step:{months:1}},{name:"month",getVisibleDates:function(date,selected){for(var months=new Array(12),year=date.getFullYear(),i=0;12>i;i++){var dt=new Date(year,i,1);months[i]=makeDate(dt,format.month,selected&&selected.getMonth()===i&&selected.getFullYear()===year)}return{objects:months,title:dateFilter(date,format.monthTitle)}},compare:function(date1,date2){return new Date(date1.getFullYear(),date1.getMonth())-new Date(date2.getFullYear(),date2.getMonth())},split:3,step:{years:1}},{name:"year",getVisibleDates:function(date,selected){for(var years=new Array(yearRange),year=date.getFullYear(),startYear=parseInt((year-1)/yearRange,10)*yearRange+1,i=0;yearRange>i;i++){var dt=new Date(startYear+i,0,1);years[i]=makeDate(dt,format.year,selected&&selected.getFullYear()===dt.getFullYear())}return{objects:years,title:[years[0].label,years[yearRange-1].label].join(" - ")}},compare:function(date1,date2){return date1.getFullYear()-date2.getFullYear()},split:5,step:{years:yearRange}}],this.isDisabled=function(date,mode){var currentMode=this.modes[mode||0];return this.minDate&¤tMode.compare(date,this.minDate)<0||this.maxDate&¤tMode.compare(date,this.maxDate)>0||$scope.dateDisabled&&$scope.dateDisabled({date:date,mode:currentMode.name})}}]).directive("datepicker",["dateFilter","$parse","datepickerConfig","$log",function(dateFilter,$parse,datepickerConfig,$log){return{restrict:"EA",replace:!0,templateUrl:"template/datepicker/datepicker.html",scope:{dateDisabled:"&"},require:["datepicker","?^ngModel"],controller:"DatepickerController",link:function(scope,element,attrs,ctrls){function updateShowWeekNumbers(){scope.showWeekNumbers=0===mode&&showWeeks}function split(arr,size){for(var arrays=[];arr.length>0;)arrays.push(arr.splice(0,size));return arrays}function refill(updateSelected){var date=null,valid=!0;ngModel.$modelValue&&(date=new Date(ngModel.$modelValue),isNaN(date)?(valid=!1,$log.error('Datepicker directive: "ng-model" value must be a Date object, a number of milliseconds since 01.01.1970 or a string representing an RFC2822 or ISO 8601 date.')):updateSelected&&(selected=date)),ngModel.$setValidity("date",valid);var currentMode=datepickerCtrl.modes[mode],data=currentMode.getVisibleDates(selected,date);angular.forEach(data.objects,function(obj){obj.disabled=datepickerCtrl.isDisabled(obj.date,mode)}),ngModel.$setValidity("date-disabled",!date||!datepickerCtrl.isDisabled(date)),scope.rows=split(data.objects,currentMode.split),scope.labels=data.labels||[],scope.title=data.title}function setMode(value){mode=value,updateShowWeekNumbers(),refill()}function getISO8601WeekNumber(date){var checkDate=new Date(date);checkDate.setDate(checkDate.getDate()+4-(checkDate.getDay()||7));var time=checkDate.getTime();return checkDate.setMonth(0),checkDate.setDate(1),Math.floor(Math.round((time-checkDate)/864e5)/7)+1}var datepickerCtrl=ctrls[0],ngModel=ctrls[1];if(ngModel){var mode=0,selected=new Date,showWeeks=datepickerConfig.showWeeks;attrs.showWeeks?scope.$parent.$watch($parse(attrs.showWeeks),function(value){showWeeks=!!value,updateShowWeekNumbers()}):updateShowWeekNumbers(),attrs.min&&scope.$parent.$watch($parse(attrs.min),function(value){datepickerCtrl.minDate=value?new Date(value):null,refill()}),attrs.max&&scope.$parent.$watch($parse(attrs.max),function(value){datepickerCtrl.maxDate=value?new Date(value):null,refill()}),ngModel.$render=function(){refill(!0)},scope.select=function(date){if(0===mode){var dt=ngModel.$modelValue?new Date(ngModel.$modelValue):new Date(0,0,0,0,0,0,0);dt.setFullYear(date.getFullYear(),date.getMonth(),date.getDate()),ngModel.$setViewValue(dt),refill(!0)}else selected=date,setMode(mode-1)},scope.move=function(direction){var step=datepickerCtrl.modes[mode].step;selected.setMonth(selected.getMonth()+direction*(step.months||0)),selected.setFullYear(selected.getFullYear()+direction*(step.years||0)),refill()},scope.toggleMode=function(){setMode((mode+1)%datepickerCtrl.modes.length)},scope.getWeekNumber=function(row){return 0===mode&&scope.showWeekNumbers&&7===row.length?getISO8601WeekNumber(row[0].date):null}}}}}]).constant("datepickerPopupConfig",{dateFormat:"yyyy-MM-dd",currentText:"Today",toggleWeeksText:"Weeks",clearText:"Clear",closeText:"Done",closeOnDateSelection:!0,appendToBody:!1,showButtonBar:!0}).directive("datepickerPopup",["$compile","$parse","$document","$position","dateFilter","datepickerPopupConfig","datepickerConfig",function($compile,$parse,$document,$position,dateFilter,datepickerPopupConfig,datepickerConfig){return{restrict:"EA",require:"ngModel",link:function(originalScope,element,attrs,ngModel){function setOpen(value){setIsOpen?setIsOpen(originalScope,!!value):scope.isOpen=!!value}function parseDate(viewValue){if(viewValue){if(angular.isDate(viewValue))return ngModel.$setValidity("date",!0),viewValue;if(angular.isString(viewValue)){var date=new Date(viewValue);return isNaN(date)?void ngModel.$setValidity("date",!1):(ngModel.$setValidity("date",!0),date)}return void ngModel.$setValidity("date",!1)}return ngModel.$setValidity("date",!0),null}function addWatchableAttribute(attribute,scopeProperty,datepickerAttribute){attribute&&(originalScope.$watch($parse(attribute),function(value){scope[scopeProperty]=value}),datepickerEl.attr(datepickerAttribute||scopeProperty,scopeProperty))}function updatePosition(){scope.position=appendToBody?$position.offset(element):$position.position(element),scope.position.top=scope.position.top+element.prop("offsetHeight")}var dateFormat,scope=originalScope.$new(),closeOnDateSelection=angular.isDefined(attrs.closeOnDateSelection)?originalScope.$eval(attrs.closeOnDateSelection):datepickerPopupConfig.closeOnDateSelection,appendToBody=angular.isDefined(attrs.datepickerAppendToBody)?originalScope.$eval(attrs.datepickerAppendToBody):datepickerPopupConfig.appendToBody;attrs.$observe("datepickerPopup",function(value){dateFormat=value||datepickerPopupConfig.dateFormat,ngModel.$render()}),scope.showButtonBar=angular.isDefined(attrs.showButtonBar)?originalScope.$eval(attrs.showButtonBar):datepickerPopupConfig.showButtonBar,originalScope.$on("$destroy",function(){$popup.remove(),scope.$destroy()}),attrs.$observe("currentText",function(text){scope.currentText=angular.isDefined(text)?text:datepickerPopupConfig.currentText}),attrs.$observe("toggleWeeksText",function(text){scope.toggleWeeksText=angular.isDefined(text)?text:datepickerPopupConfig.toggleWeeksText}),attrs.$observe("clearText",function(text){scope.clearText=angular.isDefined(text)?text:datepickerPopupConfig.clearText}),attrs.$observe("closeText",function(text){scope.closeText=angular.isDefined(text)?text:datepickerPopupConfig.closeText});var getIsOpen,setIsOpen;attrs.isOpen&&(getIsOpen=$parse(attrs.isOpen),setIsOpen=getIsOpen.assign,originalScope.$watch(getIsOpen,function(value){scope.isOpen=!!value})),scope.isOpen=getIsOpen?getIsOpen(originalScope):!1;var documentClickBind=function(event){scope.isOpen&&event.target!==element[0]&&scope.$apply(function(){setOpen(!1)})},elementFocusBind=function(){scope.$apply(function(){setOpen(!0)})},popupEl=angular.element("
");popupEl.attr({"ng-model":"date","ng-change":"dateSelection()"});var datepickerEl=angular.element(popupEl.children()[0]),datepickerOptions={};attrs.datepickerOptions&&(datepickerOptions=originalScope.$eval(attrs.datepickerOptions),datepickerEl.attr(angular.extend({},datepickerOptions))),ngModel.$parsers.unshift(parseDate),scope.dateSelection=function(dt){angular.isDefined(dt)&&(scope.date=dt),ngModel.$setViewValue(scope.date),ngModel.$render(),closeOnDateSelection&&setOpen(!1)},element.bind("input change keyup",function(){scope.$apply(function(){scope.date=ngModel.$modelValue})}),ngModel.$render=function(){var date=ngModel.$viewValue?dateFilter(ngModel.$viewValue,dateFormat):"";element.val(date),scope.date=ngModel.$modelValue},addWatchableAttribute(attrs.min,"min"),addWatchableAttribute(attrs.max,"max"),attrs.showWeeks?addWatchableAttribute(attrs.showWeeks,"showWeeks","show-weeks"):(scope.showWeeks="show-weeks"in datepickerOptions?datepickerOptions["show-weeks"]:datepickerConfig.showWeeks,datepickerEl.attr("show-weeks","showWeeks")),attrs.dateDisabled&&datepickerEl.attr("date-disabled",attrs.dateDisabled);var documentBindingInitialized=!1,elementFocusInitialized=!1;scope.$watch("isOpen",function(value){value?(updatePosition(),$document.bind("click",documentClickBind),elementFocusInitialized&&element.unbind("focus",elementFocusBind),element[0].focus(),documentBindingInitialized=!0):(documentBindingInitialized&&$document.unbind("click",documentClickBind),element.bind("focus",elementFocusBind),elementFocusInitialized=!0),setIsOpen&&setIsOpen(originalScope,value)}),scope.today=function(){scope.dateSelection(new Date)},scope.clear=function(){scope.dateSelection(null)};var $popup=$compile(popupEl)(scope);appendToBody?$document.find("body").append($popup):element.after($popup)}}}]).directive("datepickerPopupWrap",function(){return{restrict:"EA",replace:!0,transclude:!0,templateUrl:"template/datepicker/popup.html",link:function(scope,element){element.bind("click",function(event){event.preventDefault(),event.stopPropagation()})}}}),angular.module("ui.bootstrap.dropdownToggle",[]).directive("dropdownToggle",["$document","$location",function($document){var openElement=null,closeMenu=angular.noop;return{restrict:"CA",link:function(scope,element){scope.$watch("$location.path",function(){closeMenu()}),element.parent().bind("click",function(){closeMenu()}),element.bind("click",function(event){var elementWasOpen=element===openElement;event.preventDefault(),event.stopPropagation(),openElement&&closeMenu(),elementWasOpen||element.hasClass("disabled")||element.prop("disabled")||(element.parent().addClass("open"),openElement=element,closeMenu=function(event){event&&(event.preventDefault(),event.stopPropagation()),$document.unbind("click",closeMenu),element.parent().removeClass("open"),closeMenu=angular.noop,openElement=null},$document.bind("click",closeMenu))})}}}]),angular.module("ui.bootstrap.modal",["ui.bootstrap.transition"]).factory("$$stackedMap",function(){return{createNew:function(){var stack=[];return{add:function(key,value){stack.push({key:key,value:value})},get:function(key){for(var i=0;i0)}function checkRemoveBackdrop(){if(backdropDomEl&&-1==backdropIndex()){var backdropScopeRef=backdropScope;removeAfterAnimate(backdropDomEl,backdropScope,150,function(){backdropScopeRef.$destroy(),backdropScopeRef=null}),backdropDomEl=void 0,backdropScope=void 0}}function removeAfterAnimate(domEl,scope,emulateTime,done){function afterAnimating(){afterAnimating.done||(afterAnimating.done=!0,domEl.remove(),done&&done())}scope.animate=!1;var transitionEndEventName=$transition.transitionEndEventName;if(transitionEndEventName){var timeout=$timeout(afterAnimating,emulateTime);domEl.bind(transitionEndEventName,function(){$timeout.cancel(timeout),afterAnimating(),scope.$apply()})}else $timeout(afterAnimating,0)}var backdropDomEl,backdropScope,OPENED_MODAL_CLASS="modal-open",openedWindows=$$stackedMap.createNew(),$modalStack={};return $rootScope.$watch(backdropIndex,function(newBackdropIndex){backdropScope&&(backdropScope.index=newBackdropIndex)}),$document.bind("keydown",function(evt){var modal;27===evt.which&&(modal=openedWindows.top(),modal&&modal.value.keyboard&&$rootScope.$apply(function(){$modalStack.dismiss(modal.key)}))}),$modalStack.open=function(modalInstance,modal){openedWindows.add(modalInstance,{deferred:modal.deferred,modalScope:modal.scope,backdrop:modal.backdrop,keyboard:modal.keyboard});var body=$document.find("body").eq(0),currBackdropIndex=backdropIndex();currBackdropIndex>=0&&!backdropDomEl&&(backdropScope=$rootScope.$new(!0),backdropScope.index=currBackdropIndex,backdropDomEl=$compile("
")(backdropScope),body.append(backdropDomEl));var angularDomEl=angular.element("
");angularDomEl.attr("window-class",modal.windowClass),angularDomEl.attr("index",openedWindows.length()-1),angularDomEl.attr("animate","animate"),angularDomEl.html(modal.content);var modalDomEl=$compile(angularDomEl)(modal.scope);openedWindows.top().value.modalDomEl=modalDomEl,body.append(modalDomEl),body.addClass(OPENED_MODAL_CLASS)},$modalStack.close=function(modalInstance,result){var modalWindow=openedWindows.get(modalInstance).value;modalWindow&&(modalWindow.deferred.resolve(result),removeModalWindow(modalInstance))},$modalStack.dismiss=function(modalInstance,reason){var modalWindow=openedWindows.get(modalInstance).value;modalWindow&&(modalWindow.deferred.reject(reason),removeModalWindow(modalInstance))},$modalStack.dismissAll=function(reason){for(var topModal=this.getTop();topModal;)this.dismiss(topModal.key,reason),topModal=this.getTop()},$modalStack.getTop=function(){return openedWindows.top()},$modalStack}]).provider("$modal",function(){var $modalProvider={options:{backdrop:!0,keyboard:!0},$get:["$injector","$rootScope","$q","$http","$templateCache","$controller","$modalStack",function($injector,$rootScope,$q,$http,$templateCache,$controller,$modalStack){function getTemplatePromise(options){return options.template?$q.when(options.template):$http.get(options.templateUrl,{cache:$templateCache}).then(function(result){return result.data})}function getResolvePromises(resolves){var promisesArr=[];return angular.forEach(resolves,function(value){(angular.isFunction(value)||angular.isArray(value))&&promisesArr.push($q.when($injector.invoke(value)))}),promisesArr}var $modal={};return $modal.open=function(modalOptions){var modalResultDeferred=$q.defer(),modalOpenedDeferred=$q.defer(),modalInstance={result:modalResultDeferred.promise,opened:modalOpenedDeferred.promise,close:function(result){$modalStack.close(modalInstance,result)},dismiss:function(reason){$modalStack.dismiss(modalInstance,reason)}};if(modalOptions=angular.extend({},$modalProvider.options,modalOptions),modalOptions.resolve=modalOptions.resolve||{},!modalOptions.template&&!modalOptions.templateUrl)throw new Error("One of template or templateUrl options is required.");var templateAndResolvePromise=$q.all([getTemplatePromise(modalOptions)].concat(getResolvePromises(modalOptions.resolve)));return templateAndResolvePromise.then(function(tplAndVars){var modalScope=(modalOptions.scope||$rootScope).$new();modalScope.$close=modalInstance.close,modalScope.$dismiss=modalInstance.dismiss;var ctrlInstance,ctrlLocals={},resolveIter=1;modalOptions.controller&&(ctrlLocals.$scope=modalScope,ctrlLocals.$modalInstance=modalInstance,angular.forEach(modalOptions.resolve,function(value,key){ctrlLocals[key]=tplAndVars[resolveIter++]}),ctrlInstance=$controller(modalOptions.controller,ctrlLocals)),$modalStack.open(modalInstance,{scope:modalScope,deferred:modalResultDeferred,content:tplAndVars[0],backdrop:modalOptions.backdrop,keyboard:modalOptions.keyboard,windowClass:modalOptions.windowClass})},function(reason){modalResultDeferred.reject(reason)}),templateAndResolvePromise.then(function(){modalOpenedDeferred.resolve(!0)},function(){modalOpenedDeferred.reject(!1)}),modalInstance},$modal}]};return $modalProvider}),angular.module("ui.bootstrap.pagination",[]).controller("PaginationController",["$scope","$attrs","$parse","$interpolate",function($scope,$attrs,$parse,$interpolate){var self=this,setNumPages=$attrs.numPages?$parse($attrs.numPages).assign:angular.noop;this.init=function(defaultItemsPerPage){$attrs.itemsPerPage?$scope.$parent.$watch($parse($attrs.itemsPerPage),function(value){self.itemsPerPage=parseInt(value,10),$scope.totalPages=self.calculateTotalPages()}):this.itemsPerPage=defaultItemsPerPage},this.noPrevious=function(){return 1===this.page},this.noNext=function(){return this.page===$scope.totalPages},this.isActive=function(page){return this.page===page},this.calculateTotalPages=function(){var totalPages=this.itemsPerPage<1?1:Math.ceil($scope.totalItems/this.itemsPerPage);return Math.max(totalPages||0,1)},this.getAttributeValue=function(attribute,defaultValue,interpolate){return angular.isDefined(attribute)?interpolate?$interpolate(attribute)($scope.$parent):$scope.$parent.$eval(attribute):defaultValue},this.render=function(){this.page=parseInt($scope.page,10)||1,this.page>0&&this.page<=$scope.totalPages&&($scope.pages=this.getPages(this.page,$scope.totalPages))},$scope.selectPage=function(page){!self.isActive(page)&&page>0&&page<=$scope.totalPages&&($scope.page=page,$scope.onSelectPage({page:page}))},$scope.$watch("page",function(){self.render()}),$scope.$watch("totalItems",function(){$scope.totalPages=self.calculateTotalPages()}),$scope.$watch("totalPages",function(value){setNumPages($scope.$parent,value),self.page>value?$scope.selectPage(value):self.render()})}]).constant("paginationConfig",{itemsPerPage:10,boundaryLinks:!1,directionLinks:!0,firstText:"First",previousText:"Previous",nextText:"Next",lastText:"Last",rotate:!0}).directive("pagination",["$parse","paginationConfig",function($parse,config){return{restrict:"EA",scope:{page:"=",totalItems:"=",onSelectPage:" &"},controller:"PaginationController",templateUrl:"template/pagination/pagination.html",replace:!0,link:function(scope,element,attrs,paginationCtrl){function makePage(number,text,isActive,isDisabled){return{number:number,text:text,active:isActive,disabled:isDisabled}}var maxSize,boundaryLinks=paginationCtrl.getAttributeValue(attrs.boundaryLinks,config.boundaryLinks),directionLinks=paginationCtrl.getAttributeValue(attrs.directionLinks,config.directionLinks),firstText=paginationCtrl.getAttributeValue(attrs.firstText,config.firstText,!0),previousText=paginationCtrl.getAttributeValue(attrs.previousText,config.previousText,!0),nextText=paginationCtrl.getAttributeValue(attrs.nextText,config.nextText,!0),lastText=paginationCtrl.getAttributeValue(attrs.lastText,config.lastText,!0),rotate=paginationCtrl.getAttributeValue(attrs.rotate,config.rotate);paginationCtrl.init(config.itemsPerPage),attrs.maxSize&&scope.$parent.$watch($parse(attrs.maxSize),function(value){maxSize=parseInt(value,10),paginationCtrl.render()}),paginationCtrl.getPages=function(currentPage,totalPages){var pages=[],startPage=1,endPage=totalPages,isMaxSized=angular.isDefined(maxSize)&&totalPages>maxSize;isMaxSized&&(rotate?(startPage=Math.max(currentPage-Math.floor(maxSize/2),1),endPage=startPage+maxSize-1,endPage>totalPages&&(endPage=totalPages,startPage=endPage-maxSize+1)):(startPage=(Math.ceil(currentPage/maxSize)-1)*maxSize+1,endPage=Math.min(startPage+maxSize-1,totalPages)));for(var number=startPage;endPage>=number;number++){var page=makePage(number,number,paginationCtrl.isActive(number),!1);pages.push(page)}if(isMaxSized&&!rotate){if(startPage>1){var previousPageSet=makePage(startPage-1,"...",!1,!1);pages.unshift(previousPageSet)}if(totalPages>endPage){var nextPageSet=makePage(endPage+1,"...",!1,!1);pages.push(nextPageSet)}}if(directionLinks){var previousPage=makePage(currentPage-1,previousText,!1,paginationCtrl.noPrevious());pages.unshift(previousPage);var nextPage=makePage(currentPage+1,nextText,!1,paginationCtrl.noNext());pages.push(nextPage)}if(boundaryLinks){var firstPage=makePage(1,firstText,!1,paginationCtrl.noPrevious());pages.unshift(firstPage);var lastPage=makePage(totalPages,lastText,!1,paginationCtrl.noNext());pages.push(lastPage)}return pages}}}}]).constant("pagerConfig",{itemsPerPage:10,previousText:"« Previous",nextText:"Next »",align:!0}).directive("pager",["pagerConfig",function(config){return{restrict:"EA",scope:{page:"=",totalItems:"=",onSelectPage:" &"},controller:"PaginationController",templateUrl:"template/pagination/pager.html",replace:!0,link:function(scope,element,attrs,paginationCtrl){function makePage(number,text,isDisabled,isPrevious,isNext){return{number:number,text:text,disabled:isDisabled,previous:align&&isPrevious,next:align&&isNext} }var previousText=paginationCtrl.getAttributeValue(attrs.previousText,config.previousText,!0),nextText=paginationCtrl.getAttributeValue(attrs.nextText,config.nextText,!0),align=paginationCtrl.getAttributeValue(attrs.align,config.align);paginationCtrl.init(config.itemsPerPage),paginationCtrl.getPages=function(currentPage){return[makePage(currentPage-1,previousText,paginationCtrl.noPrevious(),!0,!1),makePage(currentPage+1,nextText,paginationCtrl.noNext(),!1,!0)]}}}}]),angular.module("ui.bootstrap.tooltip",["ui.bootstrap.position","ui.bootstrap.bindHtml"]).provider("$tooltip",function(){function snake_case(name){var regexp=/[A-Z]/g,separator="-";return name.replace(regexp,function(letter,pos){return(pos?separator:"")+letter.toLowerCase()})}var defaultOptions={placement:"top",animation:!0,popupDelay:0},triggerMap={mouseenter:"mouseleave",click:"click",focus:"blur"},globalOptions={};this.options=function(value){angular.extend(globalOptions,value)},this.setTriggers=function(triggers){angular.extend(triggerMap,triggers)},this.$get=["$window","$compile","$timeout","$parse","$document","$position","$interpolate",function($window,$compile,$timeout,$parse,$document,$position,$interpolate){return function(type,prefix,defaultTriggerShow){function getTriggers(trigger){var show=trigger||options.trigger||defaultTriggerShow,hide=triggerMap[show]||show;return{show:show,hide:hide}}var options=angular.extend({},defaultOptions,globalOptions),directiveName=snake_case(type),startSym=$interpolate.startSymbol(),endSym=$interpolate.endSymbol(),template="
';return{restrict:"EA",scope:!0,compile:function(){var tooltipLinker=$compile(template);return function(scope,element,attrs){function toggleTooltipBind(){scope.tt_isOpen?hideTooltipBind():showTooltipBind()}function showTooltipBind(){(!hasEnableExp||scope.$eval(attrs[prefix+"Enable"]))&&(scope.tt_popupDelay?(popupTimeout=$timeout(show,scope.tt_popupDelay,!1),popupTimeout.then(function(reposition){reposition()})):show()())}function hideTooltipBind(){scope.$apply(function(){hide()})}function show(){return scope.tt_content?(createTooltip(),transitionTimeout&&$timeout.cancel(transitionTimeout),tooltip.css({top:0,left:0,display:"block"}),appendToBody?$document.find("body").append(tooltip):element.after(tooltip),positionTooltip(),scope.tt_isOpen=!0,scope.$digest(),positionTooltip):angular.noop}function hide(){scope.tt_isOpen=!1,$timeout.cancel(popupTimeout),scope.tt_animation?transitionTimeout=$timeout(removeTooltip,500):removeTooltip()}function createTooltip(){tooltip&&removeTooltip(),tooltip=tooltipLinker(scope,function(){}),scope.$digest()}function removeTooltip(){tooltip&&(tooltip.remove(),tooltip=null)}var tooltip,transitionTimeout,popupTimeout,appendToBody=angular.isDefined(options.appendToBody)?options.appendToBody:!1,triggers=getTriggers(void 0),hasRegisteredTriggers=!1,hasEnableExp=angular.isDefined(attrs[prefix+"Enable"]),positionTooltip=function(){var position,ttWidth,ttHeight,ttPosition;switch(position=appendToBody?$position.offset(element):$position.position(element),ttWidth=tooltip.prop("offsetWidth"),ttHeight=tooltip.prop("offsetHeight"),scope.tt_placement){case"right":ttPosition={top:position.top+position.height/2-ttHeight/2,left:position.left+position.width};break;case"bottom":ttPosition={top:position.top+position.height,left:position.left+position.width/2-ttWidth/2};break;case"left":ttPosition={top:position.top+position.height/2-ttHeight/2,left:position.left-ttWidth};break;default:ttPosition={top:position.top-ttHeight,left:position.left+position.width/2-ttWidth/2}}ttPosition.top+="px",ttPosition.left+="px",tooltip.css(ttPosition)};scope.tt_isOpen=!1,attrs.$observe(type,function(val){scope.tt_content=val,!val&&scope.tt_isOpen&&hide()}),attrs.$observe(prefix+"Title",function(val){scope.tt_title=val}),attrs.$observe(prefix+"Placement",function(val){scope.tt_placement=angular.isDefined(val)?val:options.placement}),attrs.$observe(prefix+"PopupDelay",function(val){var delay=parseInt(val,10);scope.tt_popupDelay=isNaN(delay)?options.popupDelay:delay});var unregisterTriggers=function(){hasRegisteredTriggers&&(element.unbind(triggers.show,showTooltipBind),element.unbind(triggers.hide,hideTooltipBind))};attrs.$observe(prefix+"Trigger",function(val){unregisterTriggers(),triggers=getTriggers(val),triggers.show===triggers.hide?element.bind(triggers.show,toggleTooltipBind):(element.bind(triggers.show,showTooltipBind),element.bind(triggers.hide,hideTooltipBind)),hasRegisteredTriggers=!0});var animation=scope.$eval(attrs[prefix+"Animation"]);scope.tt_animation=angular.isDefined(animation)?!!animation:options.animation,attrs.$observe(prefix+"AppendToBody",function(val){appendToBody=angular.isDefined(val)?$parse(val)(scope):appendToBody}),appendToBody&&scope.$on("$locationChangeSuccess",function(){scope.tt_isOpen&&hide()}),scope.$on("$destroy",function(){$timeout.cancel(transitionTimeout),$timeout.cancel(popupTimeout),unregisterTriggers(),removeTooltip()})}}}}}]}).directive("tooltipPopup",function(){return{restrict:"EA",replace:!0,scope:{content:"@",placement:"@",animation:"&",isOpen:"&"},templateUrl:"template/tooltip/tooltip-popup.html"}}).directive("tooltip",["$tooltip",function($tooltip){return $tooltip("tooltip","tooltip","mouseenter")}]).directive("tooltipHtmlUnsafePopup",function(){return{restrict:"EA",replace:!0,scope:{content:"@",placement:"@",animation:"&",isOpen:"&"},templateUrl:"template/tooltip/tooltip-html-unsafe-popup.html"}}).directive("tooltipHtmlUnsafe",["$tooltip",function($tooltip){return $tooltip("tooltipHtmlUnsafe","tooltip","mouseenter")}]),angular.module("ui.bootstrap.popover",["ui.bootstrap.tooltip"]).directive("popoverPopup",function(){return{restrict:"EA",replace:!0,scope:{title:"@",content:"@",placement:"@",animation:"&",isOpen:"&"},templateUrl:"template/popover/popover.html"}}).directive("popover",["$tooltip",function($tooltip){return $tooltip("popover","popover","click")}]),angular.module("ui.bootstrap.progressbar",["ui.bootstrap.transition"]).constant("progressConfig",{animate:!0,max:100}).controller("ProgressController",["$scope","$attrs","progressConfig","$transition",function($scope,$attrs,progressConfig,$transition){var self=this,bars=[],max=angular.isDefined($attrs.max)?$scope.$parent.$eval($attrs.max):progressConfig.max,animate=angular.isDefined($attrs.animate)?$scope.$parent.$eval($attrs.animate):progressConfig.animate;this.addBar=function(bar,element){var oldValue=0,index=bar.$parent.$index;angular.isDefined(index)&&bars[index]&&(oldValue=bars[index].value),bars.push(bar),this.update(element,bar.value,oldValue),bar.$watch("value",function(value,oldValue){value!==oldValue&&self.update(element,value,oldValue)}),bar.$on("$destroy",function(){self.removeBar(bar)})},this.update=function(element,newValue,oldValue){var percent=this.getPercentage(newValue);animate?(element.css("width",this.getPercentage(oldValue)+"%"),$transition(element,{width:percent+"%"})):element.css({transition:"none",width:percent+"%"})},this.removeBar=function(bar){bars.splice(bars.indexOf(bar),1)},this.getPercentage=function(value){return Math.round(100*value/max)}}]).directive("progress",function(){return{restrict:"EA",replace:!0,transclude:!0,controller:"ProgressController",require:"progress",scope:{},template:'
'}}).directive("bar",function(){return{restrict:"EA",replace:!0,transclude:!0,require:"^progress",scope:{value:"=",type:"@"},templateUrl:"template/progressbar/bar.html",link:function(scope,element,attrs,progressCtrl){progressCtrl.addBar(scope,element)}}}).directive("progressbar",function(){return{restrict:"EA",replace:!0,transclude:!0,controller:"ProgressController",scope:{value:"=",type:"@"},templateUrl:"template/progressbar/progressbar.html",link:function(scope,element,attrs,progressCtrl){progressCtrl.addBar(scope,angular.element(element.children()[0]))}}}),angular.module("ui.bootstrap.rating",[]).constant("ratingConfig",{max:5,stateOn:null,stateOff:null}).controller("RatingController",["$scope","$attrs","$parse","ratingConfig",function($scope,$attrs,$parse,ratingConfig){this.maxRange=angular.isDefined($attrs.max)?$scope.$parent.$eval($attrs.max):ratingConfig.max,this.stateOn=angular.isDefined($attrs.stateOn)?$scope.$parent.$eval($attrs.stateOn):ratingConfig.stateOn,this.stateOff=angular.isDefined($attrs.stateOff)?$scope.$parent.$eval($attrs.stateOff):ratingConfig.stateOff,this.createRateObjects=function(states){for(var defaultOptions={stateOn:this.stateOn,stateOff:this.stateOff},i=0,n=states.length;n>i;i++)states[i]=angular.extend({index:i},defaultOptions,states[i]);return states},$scope.range=this.createRateObjects(angular.isDefined($attrs.ratingStates)?angular.copy($scope.$parent.$eval($attrs.ratingStates)):new Array(this.maxRange)),$scope.rate=function(value){$scope.value===value||$scope.readonly||($scope.value=value)},$scope.enter=function(value){$scope.readonly||($scope.val=value),$scope.onHover({value:value})},$scope.reset=function(){$scope.val=angular.copy($scope.value),$scope.onLeave()},$scope.$watch("value",function(value){$scope.val=value}),$scope.readonly=!1,$attrs.readonly&&$scope.$parent.$watch($parse($attrs.readonly),function(value){$scope.readonly=!!value})}]).directive("rating",function(){return{restrict:"EA",scope:{value:"=",onHover:"&",onLeave:"&"},controller:"RatingController",templateUrl:"template/rating/rating.html",replace:!0}}),angular.module("ui.bootstrap.tabs",[]).controller("TabsetController",["$scope",function($scope){var ctrl=this,tabs=ctrl.tabs=$scope.tabs=[];ctrl.select=function(tab){angular.forEach(tabs,function(tab){tab.active=!1}),tab.active=!0},ctrl.addTab=function(tab){tabs.push(tab),(1===tabs.length||tab.active)&&ctrl.select(tab)},ctrl.removeTab=function(tab){var index=tabs.indexOf(tab);if(tab.active&&tabs.length>1){var newActiveIndex=index==tabs.length-1?index-1:index+1;ctrl.select(tabs[newActiveIndex])}tabs.splice(index,1)}}]).directive("tabset",function(){return{restrict:"EA",transclude:!0,replace:!0,scope:{},controller:"TabsetController",templateUrl:"template/tabs/tabset.html",link:function(scope,element,attrs){scope.vertical=angular.isDefined(attrs.vertical)?scope.$parent.$eval(attrs.vertical):!1,scope.justified=angular.isDefined(attrs.justified)?scope.$parent.$eval(attrs.justified):!1,scope.type=angular.isDefined(attrs.type)?scope.$parent.$eval(attrs.type):"tabs"}}}).directive("tab",["$parse",function($parse){return{require:"^tabset",restrict:"EA",replace:!0,templateUrl:"template/tabs/tab.html",transclude:!0,scope:{heading:"@",onSelect:"&select",onDeselect:"&deselect"},controller:function(){},compile:function(elm,attrs,transclude){return function(scope,elm,attrs,tabsetCtrl){var getActive,setActive;attrs.active?(getActive=$parse(attrs.active),setActive=getActive.assign,scope.$parent.$watch(getActive,function(value,oldVal){value!==oldVal&&(scope.active=!!value)}),scope.active=getActive(scope.$parent)):setActive=getActive=angular.noop,scope.$watch("active",function(active){setActive(scope.$parent,active),active?(tabsetCtrl.select(scope),scope.onSelect()):scope.onDeselect()}),scope.disabled=!1,attrs.disabled&&scope.$parent.$watch($parse(attrs.disabled),function(value){scope.disabled=!!value}),scope.select=function(){scope.disabled||(scope.active=!0)},tabsetCtrl.addTab(scope),scope.$on("$destroy",function(){tabsetCtrl.removeTab(scope)}),scope.$transcludeFn=transclude}}}}]).directive("tabHeadingTransclude",[function(){return{restrict:"A",require:"^tab",link:function(scope,elm){scope.$watch("headingElement",function(heading){heading&&(elm.html(""),elm.append(heading))})}}}]).directive("tabContentTransclude",function(){function isTabHeading(node){return node.tagName&&(node.hasAttribute("tab-heading")||node.hasAttribute("data-tab-heading")||"tab-heading"===node.tagName.toLowerCase()||"data-tab-heading"===node.tagName.toLowerCase())}return{restrict:"A",require:"^tabset",link:function(scope,elm,attrs){var tab=scope.$eval(attrs.tabContentTransclude);tab.$transcludeFn(tab.$parent,function(contents){angular.forEach(contents,function(node){isTabHeading(node)?tab.headingElement=node:elm.append(node)})})}}}),angular.module("ui.bootstrap.timepicker",[]).constant("timepickerConfig",{hourStep:1,minuteStep:1,showMeridian:!0,meridians:null,readonlyInput:!1,mousewheel:!0}).directive("timepicker",["$parse","$log","timepickerConfig","$locale",function($parse,$log,timepickerConfig,$locale){return{restrict:"EA",require:"?^ngModel",replace:!0,scope:{},templateUrl:"template/timepicker/timepicker.html",link:function(scope,element,attrs,ngModel){function getHoursFromTemplate(){var hours=parseInt(scope.hours,10),valid=scope.showMeridian?hours>0&&13>hours:hours>=0&&24>hours;return valid?(scope.showMeridian&&(12===hours&&(hours=0),scope.meridian===meridians[1]&&(hours+=12)),hours):void 0}function getMinutesFromTemplate(){var minutes=parseInt(scope.minutes,10);return minutes>=0&&60>minutes?minutes:void 0}function pad(value){return angular.isDefined(value)&&value.toString().length<2?"0"+value:value}function refresh(keyboardChange){makeValid(),ngModel.$setViewValue(new Date(selected)),updateTemplate(keyboardChange)}function makeValid(){ngModel.$setValidity("time",!0),scope.invalidHours=!1,scope.invalidMinutes=!1}function updateTemplate(keyboardChange){var hours=selected.getHours(),minutes=selected.getMinutes();scope.showMeridian&&(hours=0===hours||12===hours?12:hours%12),scope.hours="h"===keyboardChange?hours:pad(hours),scope.minutes="m"===keyboardChange?minutes:pad(minutes),scope.meridian=selected.getHours()<12?meridians[0]:meridians[1]}function addMinutes(minutes){var dt=new Date(selected.getTime()+6e4*minutes);selected.setHours(dt.getHours(),dt.getMinutes()),refresh()}if(ngModel){var selected=new Date,meridians=angular.isDefined(attrs.meridians)?scope.$parent.$eval(attrs.meridians):timepickerConfig.meridians||$locale.DATETIME_FORMATS.AMPMS,hourStep=timepickerConfig.hourStep;attrs.hourStep&&scope.$parent.$watch($parse(attrs.hourStep),function(value){hourStep=parseInt(value,10)});var minuteStep=timepickerConfig.minuteStep;attrs.minuteStep&&scope.$parent.$watch($parse(attrs.minuteStep),function(value){minuteStep=parseInt(value,10)}),scope.showMeridian=timepickerConfig.showMeridian,attrs.showMeridian&&scope.$parent.$watch($parse(attrs.showMeridian),function(value){if(scope.showMeridian=!!value,ngModel.$error.time){var hours=getHoursFromTemplate(),minutes=getMinutesFromTemplate();angular.isDefined(hours)&&angular.isDefined(minutes)&&(selected.setHours(hours),refresh())}else updateTemplate()});var inputs=element.find("input"),hoursInputEl=inputs.eq(0),minutesInputEl=inputs.eq(1),mousewheel=angular.isDefined(attrs.mousewheel)?scope.$eval(attrs.mousewheel):timepickerConfig.mousewheel;if(mousewheel){var isScrollingUp=function(e){e.originalEvent&&(e=e.originalEvent);var delta=e.wheelDelta?e.wheelDelta:-e.deltaY;return e.detail||delta>0};hoursInputEl.bind("mousewheel wheel",function(e){scope.$apply(isScrollingUp(e)?scope.incrementHours():scope.decrementHours()),e.preventDefault()}),minutesInputEl.bind("mousewheel wheel",function(e){scope.$apply(isScrollingUp(e)?scope.incrementMinutes():scope.decrementMinutes()),e.preventDefault()})}if(scope.readonlyInput=angular.isDefined(attrs.readonlyInput)?scope.$eval(attrs.readonlyInput):timepickerConfig.readonlyInput,scope.readonlyInput)scope.updateHours=angular.noop,scope.updateMinutes=angular.noop;else{var invalidate=function(invalidHours,invalidMinutes){ngModel.$setViewValue(null),ngModel.$setValidity("time",!1),angular.isDefined(invalidHours)&&(scope.invalidHours=invalidHours),angular.isDefined(invalidMinutes)&&(scope.invalidMinutes=invalidMinutes)};scope.updateHours=function(){var hours=getHoursFromTemplate();angular.isDefined(hours)?(selected.setHours(hours),refresh("h")):invalidate(!0)},hoursInputEl.bind("blur",function(){!scope.validHours&&scope.hours<10&&scope.$apply(function(){scope.hours=pad(scope.hours)})}),scope.updateMinutes=function(){var minutes=getMinutesFromTemplate();angular.isDefined(minutes)?(selected.setMinutes(minutes),refresh("m")):invalidate(void 0,!0)},minutesInputEl.bind("blur",function(){!scope.invalidMinutes&&scope.minutes<10&&scope.$apply(function(){scope.minutes=pad(scope.minutes)})})}ngModel.$render=function(){var date=ngModel.$modelValue?new Date(ngModel.$modelValue):null;isNaN(date)?(ngModel.$setValidity("time",!1),$log.error('Timepicker directive: "ng-model" value must be a Date object, a number of milliseconds since 01.01.1970 or a string representing an RFC2822 or ISO 8601 date.')):(date&&(selected=date),makeValid(),updateTemplate())},scope.incrementHours=function(){addMinutes(60*hourStep)},scope.decrementHours=function(){addMinutes(60*-hourStep)},scope.incrementMinutes=function(){addMinutes(minuteStep)},scope.decrementMinutes=function(){addMinutes(-minuteStep)},scope.toggleMeridian=function(){addMinutes(720*(selected.getHours()<12?1:-1))}}}}}]),angular.module("ui.bootstrap.typeahead",["ui.bootstrap.position","ui.bootstrap.bindHtml"]).factory("typeaheadParser",["$parse",function($parse){var TYPEAHEAD_REGEXP=/^\s*(.*?)(?:\s+as\s+(.*?))?\s+for\s+(?:([\$\w][\$\w\d]*))\s+in\s+(.*)$/;return{parse:function(input){var match=input.match(TYPEAHEAD_REGEXP);if(!match)throw new Error("Expected typeahead specification in form of '_modelValue_ (as _label_)? for _item_ in _collection_' but got '"+input+"'.");return{itemName:match[3],source:$parse(match[4]),viewMapper:$parse(match[2]||match[1]),modelMapper:$parse(match[1])}}}}]).directive("typeahead",["$compile","$parse","$q","$timeout","$document","$position","typeaheadParser",function($compile,$parse,$q,$timeout,$document,$position,typeaheadParser){var HOT_KEYS=[9,13,27,38,40];return{require:"ngModel",link:function(originalScope,element,attrs,modelCtrl){var hasFocus,minSearch=originalScope.$eval(attrs.typeaheadMinLength)||1,waitTime=originalScope.$eval(attrs.typeaheadWaitMs)||0,isEditable=originalScope.$eval(attrs.typeaheadEditable)!==!1,isLoadingSetter=$parse(attrs.typeaheadLoading).assign||angular.noop,onSelectCallback=$parse(attrs.typeaheadOnSelect),inputFormatter=attrs.typeaheadInputFormatter?$parse(attrs.typeaheadInputFormatter):void 0,appendToBody=attrs.typeaheadAppendToBody?$parse(attrs.typeaheadAppendToBody):!1,$setModelValue=$parse(attrs.ngModel).assign,parserResult=typeaheadParser.parse(attrs.typeahead),popUpEl=angular.element("
");popUpEl.attr({matches:"matches",active:"activeIdx",select:"select(activeIdx)",query:"query",position:"position"}),angular.isDefined(attrs.typeaheadTemplateUrl)&&popUpEl.attr("template-url",attrs.typeaheadTemplateUrl);var scope=originalScope.$new();originalScope.$on("$destroy",function(){scope.$destroy()});var resetMatches=function(){scope.matches=[],scope.activeIdx=-1},getMatchesAsync=function(inputValue){var locals={$viewValue:inputValue};isLoadingSetter(originalScope,!0),$q.when(parserResult.source(originalScope,locals)).then(function(matches){if(inputValue===modelCtrl.$viewValue&&hasFocus){if(matches.length>0){scope.activeIdx=0,scope.matches.length=0;for(var i=0;i=minSearch?waitTime>0?(timeoutPromise&&$timeout.cancel(timeoutPromise),timeoutPromise=$timeout(function(){getMatchesAsync(inputValue)},waitTime)):getMatchesAsync(inputValue):(isLoadingSetter(originalScope,!1),resetMatches()),isEditable?inputValue:inputValue?void modelCtrl.$setValidity("editable",!1):(modelCtrl.$setValidity("editable",!0),inputValue)}),modelCtrl.$formatters.push(function(modelValue){var candidateViewValue,emptyViewValue,locals={};return inputFormatter?(locals.$model=modelValue,inputFormatter(originalScope,locals)):(locals[parserResult.itemName]=modelValue,candidateViewValue=parserResult.viewMapper(originalScope,locals),locals[parserResult.itemName]=void 0,emptyViewValue=parserResult.viewMapper(originalScope,locals),candidateViewValue!==emptyViewValue?candidateViewValue:modelValue)}),scope.select=function(activeIdx){var model,item,locals={};locals[parserResult.itemName]=item=scope.matches[activeIdx].model,model=parserResult.modelMapper(originalScope,locals),$setModelValue(originalScope,model),modelCtrl.$setValidity("editable",!0),onSelectCallback(originalScope,{$item:item,$model:model,$label:parserResult.viewMapper(originalScope,locals)}),resetMatches(),element[0].focus()},element.bind("keydown",function(evt){0!==scope.matches.length&&-1!==HOT_KEYS.indexOf(evt.which)&&(evt.preventDefault(),40===evt.which?(scope.activeIdx=(scope.activeIdx+1)%scope.matches.length,scope.$digest()):38===evt.which?(scope.activeIdx=(scope.activeIdx?scope.activeIdx:scope.matches.length)-1,scope.$digest()):13===evt.which||9===evt.which?scope.$apply(function(){scope.select(scope.activeIdx)}):27===evt.which&&(evt.stopPropagation(),resetMatches(),scope.$digest()))}),element.bind("blur",function(){hasFocus=!1});var dismissClickHandler=function(evt){element[0]!==evt.target&&(resetMatches(),scope.$digest())};$document.bind("click",dismissClickHandler),originalScope.$on("$destroy",function(){$document.unbind("click",dismissClickHandler)});var $popup=$compile(popUpEl)(scope);appendToBody?$document.find("body").append($popup):element.after($popup)}}}]).directive("typeaheadPopup",function(){return{restrict:"EA",scope:{matches:"=",query:"=",active:"=",position:"=",select:"&"},replace:!0,templateUrl:"template/typeahead/typeahead-popup.html",link:function(scope,element,attrs){scope.templateUrl=attrs.templateUrl,scope.isOpen=function(){return scope.matches.length>0},scope.isActive=function(matchIdx){return scope.active==matchIdx},scope.selectActive=function(matchIdx){scope.active=matchIdx},scope.selectMatch=function(activeIdx){scope.select({activeIdx:activeIdx})}}}}).directive("typeaheadMatch",["$http","$templateCache","$compile","$parse",function($http,$templateCache,$compile,$parse){return{restrict:"EA",scope:{index:"=",match:"=",query:"="},link:function(scope,element,attrs){var tplUrl=$parse(attrs.templateUrl)(scope.$parent)||"template/typeahead/typeahead-match.html";$http.get(tplUrl,{cache:$templateCache}).success(function(tplContent){element.replaceWith($compile(tplContent.trim())(scope))})}}}]).filter("typeaheadHighlight",function(){function escapeRegexp(queryToEscape){return queryToEscape.replace(/([.?*+^$[\]\\(){}|-])/g,"\\$1")}return function(matchItem,query){return query?matchItem.replace(new RegExp(escapeRegexp(query),"gi"),"$&"):matchItem}}),angular.module("ui.bootstrap",["ui.bootstrap.tpls","ui.bootstrap.transition","ui.bootstrap.collapse","ui.bootstrap.accordion","ui.bootstrap.alert","ui.bootstrap.bindHtml","ui.bootstrap.buttons","ui.bootstrap.carousel","ui.bootstrap.position","ui.bootstrap.datepicker","ui.bootstrap.dropdownToggle","ui.bootstrap.modal","ui.bootstrap.pagination","ui.bootstrap.tooltip","ui.bootstrap.popover","ui.bootstrap.progressbar","ui.bootstrap.rating","ui.bootstrap.tabs","ui.bootstrap.timepicker","ui.bootstrap.typeahead"]),angular.module("ui.bootstrap.tpls",["template/accordion/accordion-group.html","template/accordion/accordion.html","template/alert/alert.html","template/carousel/carousel.html","template/carousel/slide.html","template/datepicker/datepicker.html","template/datepicker/popup.html","template/modal/backdrop.html","template/modal/window.html","template/pagination/pager.html","template/pagination/pagination.html","template/tooltip/tooltip-html-unsafe-popup.html","template/tooltip/tooltip-popup.html","template/popover/popover.html","template/progressbar/bar.html","template/progressbar/progress.html","template/progressbar/progressbar.html","template/rating/rating.html","template/tabs/tab.html","template/tabs/tabset.html","template/timepicker/timepicker.html","template/typeahead/typeahead-match.html","template/typeahead/typeahead-popup.html"]),angular.module("ui.bootstrap.transition",[]).factory("$transition",["$q","$timeout","$rootScope",function($q,$timeout,$rootScope){function findEndEventName(endEventNames){for(var name in endEventNames)if(void 0!==transElement.style[name])return endEventNames[name]}var $transition=function(element,trigger,options){options=options||{};var deferred=$q.defer(),endEventName=$transition[options.animation?"animationEndEventName":"transitionEndEventName"],transitionEndHandler=function(){$rootScope.$apply(function(){element.unbind(endEventName,transitionEndHandler),deferred.resolve(element)})};return endEventName&&element.bind(endEventName,transitionEndHandler),$timeout(function(){angular.isString(trigger)?element.addClass(trigger):angular.isFunction(trigger)?trigger(element):angular.isObject(trigger)&&element.css(trigger),endEventName||deferred.resolve(element)}),deferred.promise.cancel=function(){endEventName&&element.unbind(endEventName,transitionEndHandler),deferred.reject("Transition cancelled")},deferred.promise},transElement=document.createElement("trans"),transitionEndEventNames={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd",transition:"transitionend"},animationEndEventNames={WebkitTransition:"webkitAnimationEnd",MozTransition:"animationend",OTransition:"oAnimationEnd",transition:"animationend"};return $transition.transitionEndEventName=findEndEventName(transitionEndEventNames),$transition.animationEndEventName=findEndEventName(animationEndEventNames),$transition}]),angular.module("ui.bootstrap.collapse",["ui.bootstrap.transition"]).directive("collapse",["$transition",function($transition){return{link:function(scope,element,attrs){function doTransition(change){function newTransitionDone(){currentTransition===newTransition&&(currentTransition=void 0)}var newTransition=$transition(element,change);return currentTransition&¤tTransition.cancel(),currentTransition=newTransition,newTransition.then(newTransitionDone,newTransitionDone),newTransition}function expand(){initialAnimSkip?(initialAnimSkip=!1,expandDone()):(element.removeClass("collapse").addClass("collapsing"),doTransition({height:element[0].scrollHeight+"px"}).then(expandDone))}function expandDone(){element.removeClass("collapsing"),element.addClass("collapse in"),element.css({height:"auto"})}function collapse(){if(initialAnimSkip)initialAnimSkip=!1,collapseDone(),element.css({height:0});else{element.css({height:element[0].scrollHeight+"px"});{element[0].offsetWidth}element.removeClass("collapse in").addClass("collapsing"),doTransition({height:0}).then(collapseDone)}}function collapseDone(){element.removeClass("collapsing"),element.addClass("collapse")}var currentTransition,initialAnimSkip=!0;scope.$watch(attrs.collapse,function(shouldCollapse){shouldCollapse?collapse():expand()})}}}]),angular.module("ui.bootstrap.accordion",["ui.bootstrap.collapse"]).constant("accordionConfig",{closeOthers:!0}).controller("AccordionController",["$scope","$attrs","accordionConfig",function($scope,$attrs,accordionConfig){this.groups=[],this.closeOthers=function(openGroup){var closeOthers=angular.isDefined($attrs.closeOthers)?$scope.$eval($attrs.closeOthers):accordionConfig.closeOthers;closeOthers&&angular.forEach(this.groups,function(group){group!==openGroup&&(group.isOpen=!1)})},this.addGroup=function(groupScope){var that=this;this.groups.push(groupScope),groupScope.$on("$destroy",function(){that.removeGroup(groupScope)})},this.removeGroup=function(group){var index=this.groups.indexOf(group);-1!==index&&this.groups.splice(this.groups.indexOf(group),1)}}]).directive("accordion",function(){return{restrict:"EA",controller:"AccordionController",transclude:!0,replace:!1,templateUrl:"template/accordion/accordion.html"}}).directive("accordionGroup",["$parse",function($parse){return{require:"^accordion",restrict:"EA",transclude:!0,replace:!0,templateUrl:"template/accordion/accordion-group.html",scope:{heading:"@"},controller:function(){this.setHeading=function(element){this.heading=element}},link:function(scope,element,attrs,accordionCtrl){var getIsOpen,setIsOpen;accordionCtrl.addGroup(scope),scope.isOpen=!1,attrs.isOpen&&(getIsOpen=$parse(attrs.isOpen),setIsOpen=getIsOpen.assign,scope.$parent.$watch(getIsOpen,function(value){scope.isOpen=!!value})),scope.$watch("isOpen",function(value){value&&accordionCtrl.closeOthers(scope),setIsOpen&&setIsOpen(scope.$parent,value)})}}}]).directive("accordionHeading",function(){return{restrict:"EA",transclude:!0,template:"",replace:!0,require:"^accordionGroup",compile:function(element,attr,transclude){return function(scope,element,attr,accordionGroupCtrl){accordionGroupCtrl.setHeading(transclude(scope,function(){}))}}}}).directive("accordionTransclude",function(){return{require:"^accordionGroup",link:function(scope,element,attr,controller){scope.$watch(function(){return controller[attr.accordionTransclude]},function(heading){heading&&(element.html(""),element.append(heading))})}}}),angular.module("ui.bootstrap.alert",[]).controller("AlertController",["$scope","$attrs",function($scope,$attrs){$scope.closeable="close"in $attrs}]).directive("alert",function(){return{restrict:"EA",controller:"AlertController",templateUrl:"template/alert/alert.html",transclude:!0,replace:!0,scope:{type:"=",close:"&"}}}),angular.module("ui.bootstrap.bindHtml",[]).directive("bindHtmlUnsafe",function(){return function(scope,element,attr){element.addClass("ng-binding").data("$binding",attr.bindHtmlUnsafe),scope.$watch(attr.bindHtmlUnsafe,function(value){element.html(value||"")})}}),angular.module("ui.bootstrap.buttons",[]).constant("buttonConfig",{activeClass:"active",toggleEvent:"click"}).controller("ButtonsController",["buttonConfig",function(buttonConfig){this.activeClass=buttonConfig.activeClass||"active",this.toggleEvent=buttonConfig.toggleEvent||"click"}]).directive("btnRadio",function(){return{require:["btnRadio","ngModel"],controller:"ButtonsController",link:function(scope,element,attrs,ctrls){var buttonsCtrl=ctrls[0],ngModelCtrl=ctrls[1];ngModelCtrl.$render=function(){element.toggleClass(buttonsCtrl.activeClass,angular.equals(ngModelCtrl.$modelValue,scope.$eval(attrs.btnRadio)))},element.bind(buttonsCtrl.toggleEvent,function(){element.hasClass(buttonsCtrl.activeClass)||scope.$apply(function(){ngModelCtrl.$setViewValue(scope.$eval(attrs.btnRadio)),ngModelCtrl.$render()})})}}}).directive("btnCheckbox",function(){return{require:["btnCheckbox","ngModel"],controller:"ButtonsController",link:function(scope,element,attrs,ctrls){function getTrueValue(){return getCheckboxValue(attrs.btnCheckboxTrue,!0)}function getFalseValue(){return getCheckboxValue(attrs.btnCheckboxFalse,!1)}function getCheckboxValue(attributeValue,defaultValue){var val=scope.$eval(attributeValue);return angular.isDefined(val)?val:defaultValue}var buttonsCtrl=ctrls[0],ngModelCtrl=ctrls[1];ngModelCtrl.$render=function(){element.toggleClass(buttonsCtrl.activeClass,angular.equals(ngModelCtrl.$modelValue,getTrueValue()))},element.bind(buttonsCtrl.toggleEvent,function(){scope.$apply(function(){ngModelCtrl.$setViewValue(element.hasClass(buttonsCtrl.activeClass)?getFalseValue():getTrueValue()),ngModelCtrl.$render()})})}}}),angular.module("ui.bootstrap.carousel",["ui.bootstrap.transition"]).controller("CarouselController",["$scope","$timeout","$transition","$q",function($scope,$timeout,$transition){function restartTimer(){resetTimer();var interval=+$scope.interval;!isNaN(interval)&&interval>=0&&(currentTimeout=$timeout(timerFn,interval)) }function resetTimer(){currentTimeout&&($timeout.cancel(currentTimeout),currentTimeout=null)}function timerFn(){isPlaying?($scope.next(),restartTimer()):$scope.pause()}var currentTimeout,isPlaying,self=this,slides=self.slides=[],currentIndex=-1;self.currentSlide=null;var destroyed=!1;self.select=function(nextSlide,direction){function goNext(){if(!destroyed){if(self.currentSlide&&angular.isString(direction)&&!$scope.noTransition&&nextSlide.$element){nextSlide.$element.addClass(direction);{nextSlide.$element[0].offsetWidth}angular.forEach(slides,function(slide){angular.extend(slide,{direction:"",entering:!1,leaving:!1,active:!1})}),angular.extend(nextSlide,{direction:direction,active:!0,entering:!0}),angular.extend(self.currentSlide||{},{direction:direction,leaving:!0}),$scope.$currentTransition=$transition(nextSlide.$element,{}),function(next,current){$scope.$currentTransition.then(function(){transitionDone(next,current)},function(){transitionDone(next,current)})}(nextSlide,self.currentSlide)}else transitionDone(nextSlide,self.currentSlide);self.currentSlide=nextSlide,currentIndex=nextIndex,restartTimer()}}function transitionDone(next,current){angular.extend(next,{direction:"",active:!0,leaving:!1,entering:!1}),angular.extend(current||{},{direction:"",active:!1,leaving:!1,entering:!1}),$scope.$currentTransition=null}var nextIndex=slides.indexOf(nextSlide);void 0===direction&&(direction=nextIndex>currentIndex?"next":"prev"),nextSlide&&nextSlide!==self.currentSlide&&($scope.$currentTransition?($scope.$currentTransition.cancel(),$timeout(goNext)):goNext())},$scope.$on("$destroy",function(){destroyed=!0}),self.indexOfSlide=function(slide){return slides.indexOf(slide)},$scope.next=function(){var newIndex=(currentIndex+1)%slides.length;return $scope.$currentTransition?void 0:self.select(slides[newIndex],"next")},$scope.prev=function(){var newIndex=0>currentIndex-1?slides.length-1:currentIndex-1;return $scope.$currentTransition?void 0:self.select(slides[newIndex],"prev")},$scope.select=function(slide){self.select(slide)},$scope.isActive=function(slide){return self.currentSlide===slide},$scope.slides=function(){return slides},$scope.$watch("interval",restartTimer),$scope.$on("$destroy",resetTimer),$scope.play=function(){isPlaying||(isPlaying=!0,restartTimer())},$scope.pause=function(){$scope.noPause||(isPlaying=!1,resetTimer())},self.addSlide=function(slide,element){slide.$element=element,slides.push(slide),1===slides.length||slide.active?(self.select(slides[slides.length-1]),1==slides.length&&$scope.play()):slide.active=!1},self.removeSlide=function(slide){var index=slides.indexOf(slide);slides.splice(index,1),slides.length>0&&slide.active?self.select(index>=slides.length?slides[index-1]:slides[index]):currentIndex>index&¤tIndex--}}]).directive("carousel",[function(){return{restrict:"EA",transclude:!0,replace:!0,controller:"CarouselController",require:"carousel",templateUrl:"template/carousel/carousel.html",scope:{interval:"=",noTransition:"=",noPause:"="}}}]).directive("slide",["$parse",function($parse){return{require:"^carousel",restrict:"EA",transclude:!0,replace:!0,templateUrl:"template/carousel/slide.html",scope:{},link:function(scope,element,attrs,carouselCtrl){if(attrs.active){var getActive=$parse(attrs.active),setActive=getActive.assign,lastValue=scope.active=getActive(scope.$parent);scope.$watch(function(){var parentActive=getActive(scope.$parent);return parentActive!==scope.active&&(parentActive!==lastValue?lastValue=scope.active=parentActive:setActive(scope.$parent,parentActive=lastValue=scope.active)),parentActive})}carouselCtrl.addSlide(scope,element),scope.$on("$destroy",function(){carouselCtrl.removeSlide(scope)}),scope.$watch("active",function(active){active&&carouselCtrl.select(scope)})}}}]),angular.module("ui.bootstrap.position",[]).factory("$position",["$document","$window",function($document,$window){function getStyle(el,cssprop){return el.currentStyle?el.currentStyle[cssprop]:$window.getComputedStyle?$window.getComputedStyle(el)[cssprop]:el.style[cssprop]}function isStaticPositioned(element){return"static"===(getStyle(element,"position")||"static")}var parentOffsetEl=function(element){for(var docDomEl=$document[0],offsetParent=element.offsetParent||docDomEl;offsetParent&&offsetParent!==docDomEl&&isStaticPositioned(offsetParent);)offsetParent=offsetParent.offsetParent;return offsetParent||docDomEl};return{position:function(element){var elBCR=this.offset(element),offsetParentBCR={top:0,left:0},offsetParentEl=parentOffsetEl(element[0]);offsetParentEl!=$document[0]&&(offsetParentBCR=this.offset(angular.element(offsetParentEl)),offsetParentBCR.top+=offsetParentEl.clientTop-offsetParentEl.scrollTop,offsetParentBCR.left+=offsetParentEl.clientLeft-offsetParentEl.scrollLeft);var boundingClientRect=element[0].getBoundingClientRect();return{width:boundingClientRect.width||element.prop("offsetWidth"),height:boundingClientRect.height||element.prop("offsetHeight"),top:elBCR.top-offsetParentBCR.top,left:elBCR.left-offsetParentBCR.left}},offset:function(element){var boundingClientRect=element[0].getBoundingClientRect();return{width:boundingClientRect.width||element.prop("offsetWidth"),height:boundingClientRect.height||element.prop("offsetHeight"),top:boundingClientRect.top+($window.pageYOffset||$document[0].body.scrollTop||$document[0].documentElement.scrollTop),left:boundingClientRect.left+($window.pageXOffset||$document[0].body.scrollLeft||$document[0].documentElement.scrollLeft)}}}}]),angular.module("ui.bootstrap.datepicker",["ui.bootstrap.position"]).constant("datepickerConfig",{dayFormat:"dd",monthFormat:"MMMM",yearFormat:"yyyy",dayHeaderFormat:"EEE",dayTitleFormat:"MMMM yyyy",monthTitleFormat:"yyyy",showWeeks:!0,startingDay:0,yearRange:20,minDate:null,maxDate:null}).controller("DatepickerController",["$scope","$attrs","dateFilter","datepickerConfig",function($scope,$attrs,dateFilter,dtConfig){function getValue(value,defaultValue){return angular.isDefined(value)?$scope.$parent.$eval(value):defaultValue}function getDaysInMonth(year,month){return new Date(year,month,0).getDate()}function getDates(startDate,n){for(var dates=new Array(n),current=startDate,i=0;n>i;)dates[i++]=new Date(current),current.setDate(current.getDate()+1);return dates}function makeDate(date,format,isSelected,isSecondary){return{date:date,label:dateFilter(date,format),selected:!!isSelected,secondary:!!isSecondary}}var format={day:getValue($attrs.dayFormat,dtConfig.dayFormat),month:getValue($attrs.monthFormat,dtConfig.monthFormat),year:getValue($attrs.yearFormat,dtConfig.yearFormat),dayHeader:getValue($attrs.dayHeaderFormat,dtConfig.dayHeaderFormat),dayTitle:getValue($attrs.dayTitleFormat,dtConfig.dayTitleFormat),monthTitle:getValue($attrs.monthTitleFormat,dtConfig.monthTitleFormat)},startingDay=getValue($attrs.startingDay,dtConfig.startingDay),yearRange=getValue($attrs.yearRange,dtConfig.yearRange);this.minDate=dtConfig.minDate?new Date(dtConfig.minDate):null,this.maxDate=dtConfig.maxDate?new Date(dtConfig.maxDate):null,this.modes=[{name:"day",getVisibleDates:function(date,selected){var year=date.getFullYear(),month=date.getMonth(),firstDayOfMonth=new Date(year,month,1),difference=startingDay-firstDayOfMonth.getDay(),numDisplayedFromPreviousMonth=difference>0?7-difference:-difference,firstDate=new Date(firstDayOfMonth),numDates=0;numDisplayedFromPreviousMonth>0&&(firstDate.setDate(-numDisplayedFromPreviousMonth+1),numDates+=numDisplayedFromPreviousMonth),numDates+=getDaysInMonth(year,month+1),numDates+=(7-numDates%7)%7;for(var days=getDates(firstDate,numDates),labels=new Array(7),i=0;numDates>i;i++){var dt=new Date(days[i]);days[i]=makeDate(dt,format.day,selected&&selected.getDate()===dt.getDate()&&selected.getMonth()===dt.getMonth()&&selected.getFullYear()===dt.getFullYear(),dt.getMonth()!==month)}for(var j=0;7>j;j++)labels[j]=dateFilter(days[j].date,format.dayHeader);return{objects:days,title:dateFilter(date,format.dayTitle),labels:labels}},compare:function(date1,date2){return new Date(date1.getFullYear(),date1.getMonth(),date1.getDate())-new Date(date2.getFullYear(),date2.getMonth(),date2.getDate())},split:7,step:{months:1}},{name:"month",getVisibleDates:function(date,selected){for(var months=new Array(12),year=date.getFullYear(),i=0;12>i;i++){var dt=new Date(year,i,1);months[i]=makeDate(dt,format.month,selected&&selected.getMonth()===i&&selected.getFullYear()===year)}return{objects:months,title:dateFilter(date,format.monthTitle)}},compare:function(date1,date2){return new Date(date1.getFullYear(),date1.getMonth())-new Date(date2.getFullYear(),date2.getMonth())},split:3,step:{years:1}},{name:"year",getVisibleDates:function(date,selected){for(var years=new Array(yearRange),year=date.getFullYear(),startYear=parseInt((year-1)/yearRange,10)*yearRange+1,i=0;yearRange>i;i++){var dt=new Date(startYear+i,0,1);years[i]=makeDate(dt,format.year,selected&&selected.getFullYear()===dt.getFullYear())}return{objects:years,title:[years[0].label,years[yearRange-1].label].join(" - ")}},compare:function(date1,date2){return date1.getFullYear()-date2.getFullYear()},split:5,step:{years:yearRange}}],this.isDisabled=function(date,mode){var currentMode=this.modes[mode||0];return this.minDate&¤tMode.compare(date,this.minDate)<0||this.maxDate&¤tMode.compare(date,this.maxDate)>0||$scope.dateDisabled&&$scope.dateDisabled({date:date,mode:currentMode.name})}}]).directive("datepicker",["dateFilter","$parse","datepickerConfig","$log",function(dateFilter,$parse,datepickerConfig,$log){return{restrict:"EA",replace:!0,templateUrl:"template/datepicker/datepicker.html",scope:{dateDisabled:"&"},require:["datepicker","?^ngModel"],controller:"DatepickerController",link:function(scope,element,attrs,ctrls){function updateShowWeekNumbers(){scope.showWeekNumbers=0===mode&&showWeeks}function split(arr,size){for(var arrays=[];arr.length>0;)arrays.push(arr.splice(0,size));return arrays}function refill(updateSelected){var date=null,valid=!0;ngModel.$modelValue&&(date=new Date(ngModel.$modelValue),isNaN(date)?(valid=!1,$log.error('Datepicker directive: "ng-model" value must be a Date object, a number of milliseconds since 01.01.1970 or a string representing an RFC2822 or ISO 8601 date.')):updateSelected&&(selected=date)),ngModel.$setValidity("date",valid);var currentMode=datepickerCtrl.modes[mode],data=currentMode.getVisibleDates(selected,date);angular.forEach(data.objects,function(obj){obj.disabled=datepickerCtrl.isDisabled(obj.date,mode)}),ngModel.$setValidity("date-disabled",!date||!datepickerCtrl.isDisabled(date)),scope.rows=split(data.objects,currentMode.split),scope.labels=data.labels||[],scope.title=data.title}function setMode(value){mode=value,updateShowWeekNumbers(),refill()}function getISO8601WeekNumber(date){var checkDate=new Date(date);checkDate.setDate(checkDate.getDate()+4-(checkDate.getDay()||7));var time=checkDate.getTime();return checkDate.setMonth(0),checkDate.setDate(1),Math.floor(Math.round((time-checkDate)/864e5)/7)+1}var datepickerCtrl=ctrls[0],ngModel=ctrls[1];if(ngModel){var mode=0,selected=new Date,showWeeks=datepickerConfig.showWeeks;attrs.showWeeks?scope.$parent.$watch($parse(attrs.showWeeks),function(value){showWeeks=!!value,updateShowWeekNumbers()}):updateShowWeekNumbers(),attrs.min&&scope.$parent.$watch($parse(attrs.min),function(value){datepickerCtrl.minDate=value?new Date(value):null,refill()}),attrs.max&&scope.$parent.$watch($parse(attrs.max),function(value){datepickerCtrl.maxDate=value?new Date(value):null,refill()}),ngModel.$render=function(){refill(!0)},scope.select=function(date){if(0===mode){var dt=ngModel.$modelValue?new Date(ngModel.$modelValue):new Date(0,0,0,0,0,0,0);dt.setFullYear(date.getFullYear(),date.getMonth(),date.getDate()),ngModel.$setViewValue(dt),refill(!0)}else selected=date,setMode(mode-1)},scope.move=function(direction){var step=datepickerCtrl.modes[mode].step;selected.setMonth(selected.getMonth()+direction*(step.months||0)),selected.setFullYear(selected.getFullYear()+direction*(step.years||0)),refill()},scope.toggleMode=function(){setMode((mode+1)%datepickerCtrl.modes.length)},scope.getWeekNumber=function(row){return 0===mode&&scope.showWeekNumbers&&7===row.length?getISO8601WeekNumber(row[0].date):null}}}}}]).constant("datepickerPopupConfig",{dateFormat:"yyyy-MM-dd",currentText:"Today",toggleWeeksText:"Weeks",clearText:"Clear",closeText:"Done",closeOnDateSelection:!0,appendToBody:!1,showButtonBar:!0}).directive("datepickerPopup",["$compile","$parse","$document","$position","dateFilter","datepickerPopupConfig","datepickerConfig",function($compile,$parse,$document,$position,dateFilter,datepickerPopupConfig,datepickerConfig){return{restrict:"EA",require:"ngModel",link:function(originalScope,element,attrs,ngModel){function setOpen(value){setIsOpen?setIsOpen(originalScope,!!value):scope.isOpen=!!value}function parseDate(viewValue){if(viewValue){if(angular.isDate(viewValue))return ngModel.$setValidity("date",!0),viewValue;if(angular.isString(viewValue)){var date=new Date(viewValue);return isNaN(date)?void ngModel.$setValidity("date",!1):(ngModel.$setValidity("date",!0),date)}return void ngModel.$setValidity("date",!1)}return ngModel.$setValidity("date",!0),null}function addWatchableAttribute(attribute,scopeProperty,datepickerAttribute){attribute&&(originalScope.$watch($parse(attribute),function(value){scope[scopeProperty]=value}),datepickerEl.attr(datepickerAttribute||scopeProperty,scopeProperty))}function updatePosition(){scope.position=appendToBody?$position.offset(element):$position.position(element),scope.position.top=scope.position.top+element.prop("offsetHeight")}var dateFormat,scope=originalScope.$new(),closeOnDateSelection=angular.isDefined(attrs.closeOnDateSelection)?originalScope.$eval(attrs.closeOnDateSelection):datepickerPopupConfig.closeOnDateSelection,appendToBody=angular.isDefined(attrs.datepickerAppendToBody)?originalScope.$eval(attrs.datepickerAppendToBody):datepickerPopupConfig.appendToBody;attrs.$observe("datepickerPopup",function(value){dateFormat=value||datepickerPopupConfig.dateFormat,ngModel.$render()}),scope.showButtonBar=angular.isDefined(attrs.showButtonBar)?originalScope.$eval(attrs.showButtonBar):datepickerPopupConfig.showButtonBar,originalScope.$on("$destroy",function(){$popup.remove(),scope.$destroy()}),attrs.$observe("currentText",function(text){scope.currentText=angular.isDefined(text)?text:datepickerPopupConfig.currentText}),attrs.$observe("toggleWeeksText",function(text){scope.toggleWeeksText=angular.isDefined(text)?text:datepickerPopupConfig.toggleWeeksText}),attrs.$observe("clearText",function(text){scope.clearText=angular.isDefined(text)?text:datepickerPopupConfig.clearText}),attrs.$observe("closeText",function(text){scope.closeText=angular.isDefined(text)?text:datepickerPopupConfig.closeText});var getIsOpen,setIsOpen;attrs.isOpen&&(getIsOpen=$parse(attrs.isOpen),setIsOpen=getIsOpen.assign,originalScope.$watch(getIsOpen,function(value){scope.isOpen=!!value})),scope.isOpen=getIsOpen?getIsOpen(originalScope):!1;var documentClickBind=function(event){scope.isOpen&&event.target!==element[0]&&scope.$apply(function(){setOpen(!1)})},elementFocusBind=function(){scope.$apply(function(){setOpen(!0)})},popupEl=angular.element("
");popupEl.attr({"ng-model":"date","ng-change":"dateSelection()"});var datepickerEl=angular.element(popupEl.children()[0]),datepickerOptions={};attrs.datepickerOptions&&(datepickerOptions=originalScope.$eval(attrs.datepickerOptions),datepickerEl.attr(angular.extend({},datepickerOptions))),ngModel.$parsers.unshift(parseDate),scope.dateSelection=function(dt){angular.isDefined(dt)&&(scope.date=dt),ngModel.$setViewValue(scope.date),ngModel.$render(),closeOnDateSelection&&setOpen(!1)},element.bind("input change keyup",function(){scope.$apply(function(){scope.date=ngModel.$modelValue})}),ngModel.$render=function(){var date=ngModel.$viewValue?dateFilter(ngModel.$viewValue,dateFormat):"";element.val(date),scope.date=ngModel.$modelValue},addWatchableAttribute(attrs.min,"min"),addWatchableAttribute(attrs.max,"max"),attrs.showWeeks?addWatchableAttribute(attrs.showWeeks,"showWeeks","show-weeks"):(scope.showWeeks="show-weeks"in datepickerOptions?datepickerOptions["show-weeks"]:datepickerConfig.showWeeks,datepickerEl.attr("show-weeks","showWeeks")),attrs.dateDisabled&&datepickerEl.attr("date-disabled",attrs.dateDisabled);var documentBindingInitialized=!1,elementFocusInitialized=!1;scope.$watch("isOpen",function(value){value?(updatePosition(),$document.bind("click",documentClickBind),elementFocusInitialized&&element.unbind("focus",elementFocusBind),element[0].focus(),documentBindingInitialized=!0):(documentBindingInitialized&&$document.unbind("click",documentClickBind),element.bind("focus",elementFocusBind),elementFocusInitialized=!0),setIsOpen&&setIsOpen(originalScope,value)}),scope.today=function(){scope.dateSelection(new Date)},scope.clear=function(){scope.dateSelection(null)};var $popup=$compile(popupEl)(scope);appendToBody?$document.find("body").append($popup):element.after($popup)}}}]).directive("datepickerPopupWrap",function(){return{restrict:"EA",replace:!0,transclude:!0,templateUrl:"template/datepicker/popup.html",link:function(scope,element){element.bind("click",function(event){event.preventDefault(),event.stopPropagation()})}}}),angular.module("ui.bootstrap.dropdownToggle",[]).directive("dropdownToggle",["$document","$location",function($document){var openElement=null,closeMenu=angular.noop;return{restrict:"CA",link:function(scope,element){scope.$watch("$location.path",function(){closeMenu()}),element.parent().bind("click",function(){closeMenu()}),element.bind("click",function(event){var elementWasOpen=element===openElement;event.preventDefault(),event.stopPropagation(),openElement&&closeMenu(),elementWasOpen||element.hasClass("disabled")||element.prop("disabled")||(element.parent().addClass("open"),openElement=element,closeMenu=function(event){event&&(event.preventDefault(),event.stopPropagation()),$document.unbind("click",closeMenu),element.parent().removeClass("open"),closeMenu=angular.noop,openElement=null},$document.bind("click",closeMenu))})}}}]),angular.module("ui.bootstrap.modal",["ui.bootstrap.transition"]).factory("$$stackedMap",function(){return{createNew:function(){var stack=[];return{add:function(key,value){stack.push({key:key,value:value})},get:function(key){for(var i=0;i0)}function checkRemoveBackdrop(){if(backdropDomEl&&-1==backdropIndex()){var backdropScopeRef=backdropScope;removeAfterAnimate(backdropDomEl,backdropScope,150,function(){backdropScopeRef.$destroy(),backdropScopeRef=null}),backdropDomEl=void 0,backdropScope=void 0}}function removeAfterAnimate(domEl,scope,emulateTime,done){function afterAnimating(){afterAnimating.done||(afterAnimating.done=!0,domEl.remove(),done&&done())}scope.animate=!1;var transitionEndEventName=$transition.transitionEndEventName;if(transitionEndEventName){var timeout=$timeout(afterAnimating,emulateTime);domEl.bind(transitionEndEventName,function(){$timeout.cancel(timeout),afterAnimating(),scope.$apply()})}else $timeout(afterAnimating,0)}var backdropDomEl,backdropScope,OPENED_MODAL_CLASS="modal-open",openedWindows=$$stackedMap.createNew(),$modalStack={};return $rootScope.$watch(backdropIndex,function(newBackdropIndex){backdropScope&&(backdropScope.index=newBackdropIndex)}),$document.bind("keydown",function(evt){var modal;27===evt.which&&(modal=openedWindows.top(),modal&&modal.value.keyboard&&$rootScope.$apply(function(){$modalStack.dismiss(modal.key)}))}),$modalStack.open=function(modalInstance,modal){openedWindows.add(modalInstance,{deferred:modal.deferred,modalScope:modal.scope,backdrop:modal.backdrop,keyboard:modal.keyboard});var body=$document.find("body").eq(0),currBackdropIndex=backdropIndex();currBackdropIndex>=0&&!backdropDomEl&&(backdropScope=$rootScope.$new(!0),backdropScope.index=currBackdropIndex,backdropDomEl=$compile("
")(backdropScope),body.append(backdropDomEl));var angularDomEl=angular.element("
");angularDomEl.attr("window-class",modal.windowClass),angularDomEl.attr("index",openedWindows.length()-1),angularDomEl.attr("animate","animate"),angularDomEl.html(modal.content);var modalDomEl=$compile(angularDomEl)(modal.scope);openedWindows.top().value.modalDomEl=modalDomEl,body.append(modalDomEl),body.addClass(OPENED_MODAL_CLASS)},$modalStack.close=function(modalInstance,result){var modalWindow=openedWindows.get(modalInstance).value;modalWindow&&(modalWindow.deferred.resolve(result),removeModalWindow(modalInstance))},$modalStack.dismiss=function(modalInstance,reason){var modalWindow=openedWindows.get(modalInstance).value;modalWindow&&(modalWindow.deferred.reject(reason),removeModalWindow(modalInstance))},$modalStack.dismissAll=function(reason){for(var topModal=this.getTop();topModal;)this.dismiss(topModal.key,reason),topModal=this.getTop()},$modalStack.getTop=function(){return openedWindows.top()},$modalStack}]).provider("$modal",function(){var $modalProvider={options:{backdrop:!0,keyboard:!0},$get:["$injector","$rootScope","$q","$http","$templateCache","$controller","$modalStack",function($injector,$rootScope,$q,$http,$templateCache,$controller,$modalStack){function getTemplatePromise(options){return options.template?$q.when(options.template):$http.get(options.templateUrl,{cache:$templateCache}).then(function(result){return result.data})}function getResolvePromises(resolves){var promisesArr=[];return angular.forEach(resolves,function(value){(angular.isFunction(value)||angular.isArray(value))&&promisesArr.push($q.when($injector.invoke(value)))}),promisesArr}var $modal={};return $modal.open=function(modalOptions){var modalResultDeferred=$q.defer(),modalOpenedDeferred=$q.defer(),modalInstance={result:modalResultDeferred.promise,opened:modalOpenedDeferred.promise,close:function(result){$modalStack.close(modalInstance,result)},dismiss:function(reason){$modalStack.dismiss(modalInstance,reason)}};if(modalOptions=angular.extend({},$modalProvider.options,modalOptions),modalOptions.resolve=modalOptions.resolve||{},!modalOptions.template&&!modalOptions.templateUrl)throw new Error("One of template or templateUrl options is required.");var templateAndResolvePromise=$q.all([getTemplatePromise(modalOptions)].concat(getResolvePromises(modalOptions.resolve)));return templateAndResolvePromise.then(function(tplAndVars){var modalScope=(modalOptions.scope||$rootScope).$new();modalScope.$close=modalInstance.close,modalScope.$dismiss=modalInstance.dismiss;var ctrlInstance,ctrlLocals={},resolveIter=1;modalOptions.controller&&(ctrlLocals.$scope=modalScope,ctrlLocals.$modalInstance=modalInstance,angular.forEach(modalOptions.resolve,function(value,key){ctrlLocals[key]=tplAndVars[resolveIter++]}),ctrlInstance=$controller(modalOptions.controller,ctrlLocals)),$modalStack.open(modalInstance,{scope:modalScope,deferred:modalResultDeferred,content:tplAndVars[0],backdrop:modalOptions.backdrop,keyboard:modalOptions.keyboard,windowClass:modalOptions.windowClass})},function(reason){modalResultDeferred.reject(reason)}),templateAndResolvePromise.then(function(){modalOpenedDeferred.resolve(!0)},function(){modalOpenedDeferred.reject(!1)}),modalInstance},$modal}]};return $modalProvider}),angular.module("ui.bootstrap.pagination",[]).controller("PaginationController",["$scope","$attrs","$parse","$interpolate",function($scope,$attrs,$parse,$interpolate){var self=this,setNumPages=$attrs.numPages?$parse($attrs.numPages).assign:angular.noop;this.init=function(defaultItemsPerPage){$attrs.itemsPerPage?$scope.$parent.$watch($parse($attrs.itemsPerPage),function(value){self.itemsPerPage=parseInt(value,10),$scope.totalPages=self.calculateTotalPages()}):this.itemsPerPage=defaultItemsPerPage},this.noPrevious=function(){return 1===this.page},this.noNext=function(){return this.page===$scope.totalPages},this.isActive=function(page){return this.page===page},this.calculateTotalPages=function(){var totalPages=this.itemsPerPage<1?1:Math.ceil($scope.totalItems/this.itemsPerPage);return Math.max(totalPages||0,1)},this.getAttributeValue=function(attribute,defaultValue,interpolate){return angular.isDefined(attribute)?interpolate?$interpolate(attribute)($scope.$parent):$scope.$parent.$eval(attribute):defaultValue},this.render=function(){this.page=parseInt($scope.page,10)||1,this.page>0&&this.page<=$scope.totalPages&&($scope.pages=this.getPages(this.page,$scope.totalPages))},$scope.selectPage=function(page){!self.isActive(page)&&page>0&&page<=$scope.totalPages&&($scope.page=page,$scope.onSelectPage({page:page}))},$scope.$watch("page",function(){self.render()}),$scope.$watch("totalItems",function(){$scope.totalPages=self.calculateTotalPages()}),$scope.$watch("totalPages",function(value){setNumPages($scope.$parent,value),self.page>value?$scope.selectPage(value):self.render()})}]).constant("paginationConfig",{itemsPerPage:10,boundaryLinks:!1,directionLinks:!0,firstText:"First",previousText:"Previous",nextText:"Next",lastText:"Last",rotate:!0}).directive("pagination",["$parse","paginationConfig",function($parse,config){return{restrict:"EA",scope:{page:"=",totalItems:"=",onSelectPage:" &"},controller:"PaginationController",templateUrl:"template/pagination/pagination.html",replace:!0,link:function(scope,element,attrs,paginationCtrl){function makePage(number,text,isActive,isDisabled){return{number:number,text:text,active:isActive,disabled:isDisabled}}var maxSize,boundaryLinks=paginationCtrl.getAttributeValue(attrs.boundaryLinks,config.boundaryLinks),directionLinks=paginationCtrl.getAttributeValue(attrs.directionLinks,config.directionLinks),firstText=paginationCtrl.getAttributeValue(attrs.firstText,config.firstText,!0),previousText=paginationCtrl.getAttributeValue(attrs.previousText,config.previousText,!0),nextText=paginationCtrl.getAttributeValue(attrs.nextText,config.nextText,!0),lastText=paginationCtrl.getAttributeValue(attrs.lastText,config.lastText,!0),rotate=paginationCtrl.getAttributeValue(attrs.rotate,config.rotate);paginationCtrl.init(config.itemsPerPage),attrs.maxSize&&scope.$parent.$watch($parse(attrs.maxSize),function(value){maxSize=parseInt(value,10),paginationCtrl.render()}),paginationCtrl.getPages=function(currentPage,totalPages){var pages=[],startPage=1,endPage=totalPages,isMaxSized=angular.isDefined(maxSize)&&totalPages>maxSize;isMaxSized&&(rotate?(startPage=Math.max(currentPage-Math.floor(maxSize/2),1),endPage=startPage+maxSize-1,endPage>totalPages&&(endPage=totalPages,startPage=endPage-maxSize+1)):(startPage=(Math.ceil(currentPage/maxSize)-1)*maxSize+1,endPage=Math.min(startPage+maxSize-1,totalPages)));for(var number=startPage;endPage>=number;number++){var page=makePage(number,number,paginationCtrl.isActive(number),!1);pages.push(page)}if(isMaxSized&&!rotate){if(startPage>1){var previousPageSet=makePage(startPage-1,"...",!1,!1);pages.unshift(previousPageSet)}if(totalPages>endPage){var nextPageSet=makePage(endPage+1,"...",!1,!1);pages.push(nextPageSet)}}if(directionLinks){var previousPage=makePage(currentPage-1,previousText,!1,paginationCtrl.noPrevious());pages.unshift(previousPage);var nextPage=makePage(currentPage+1,nextText,!1,paginationCtrl.noNext());pages.push(nextPage)}if(boundaryLinks){var firstPage=makePage(1,firstText,!1,paginationCtrl.noPrevious());pages.unshift(firstPage);var lastPage=makePage(totalPages,lastText,!1,paginationCtrl.noNext());pages.push(lastPage)}return pages}}}}]).constant("pagerConfig",{itemsPerPage:10,previousText:"« Previous",nextText:"Next »",align:!0}).directive("pager",["pagerConfig",function(config){return{restrict:"EA",scope:{page:"=",totalItems:"=",onSelectPage:" &"},controller:"PaginationController",templateUrl:"template/pagination/pager.html",replace:!0,link:function(scope,element,attrs,paginationCtrl){function makePage(number,text,isDisabled,isPrevious,isNext){return{number:number,text:text,disabled:isDisabled,previous:align&&isPrevious,next:align&&isNext}}var previousText=paginationCtrl.getAttributeValue(attrs.previousText,config.previousText,!0),nextText=paginationCtrl.getAttributeValue(attrs.nextText,config.nextText,!0),align=paginationCtrl.getAttributeValue(attrs.align,config.align);paginationCtrl.init(config.itemsPerPage),paginationCtrl.getPages=function(currentPage){return[makePage(currentPage-1,previousText,paginationCtrl.noPrevious(),!0,!1),makePage(currentPage+1,nextText,paginationCtrl.noNext(),!1,!0)]}}}}]),angular.module("ui.bootstrap.tooltip",["ui.bootstrap.position","ui.bootstrap.bindHtml"]).provider("$tooltip",function(){function snake_case(name){var regexp=/[A-Z]/g,separator="-";return name.replace(regexp,function(letter,pos){return(pos?separator:"")+letter.toLowerCase()})}var defaultOptions={placement:"top",animation:!0,popupDelay:0},triggerMap={mouseenter:"mouseleave",click:"click",focus:"blur"},globalOptions={};this.options=function(value){angular.extend(globalOptions,value)},this.setTriggers=function(triggers){angular.extend(triggerMap,triggers)},this.$get=["$window","$compile","$timeout","$parse","$document","$position","$interpolate",function($window,$compile,$timeout,$parse,$document,$position,$interpolate){return function(type,prefix,defaultTriggerShow){function getTriggers(trigger){var show=trigger||options.trigger||defaultTriggerShow,hide=triggerMap[show]||show;return{show:show,hide:hide}}var options=angular.extend({},defaultOptions,globalOptions),directiveName=snake_case(type),startSym=$interpolate.startSymbol(),endSym=$interpolate.endSymbol(),template="
';return{restrict:"EA",scope:!0,compile:function(){var tooltipLinker=$compile(template);return function(scope,element,attrs){function toggleTooltipBind(){scope.tt_isOpen?hideTooltipBind():showTooltipBind()}function showTooltipBind(){(!hasEnableExp||scope.$eval(attrs[prefix+"Enable"]))&&(scope.tt_popupDelay?(popupTimeout=$timeout(show,scope.tt_popupDelay,!1),popupTimeout.then(function(reposition){reposition() })):show()())}function hideTooltipBind(){scope.$apply(function(){hide()})}function show(){return scope.tt_content?(createTooltip(),transitionTimeout&&$timeout.cancel(transitionTimeout),tooltip.css({top:0,left:0,display:"block"}),appendToBody?$document.find("body").append(tooltip):element.after(tooltip),positionTooltip(),scope.tt_isOpen=!0,scope.$digest(),positionTooltip):angular.noop}function hide(){scope.tt_isOpen=!1,$timeout.cancel(popupTimeout),scope.tt_animation?transitionTimeout=$timeout(removeTooltip,500):removeTooltip()}function createTooltip(){tooltip&&removeTooltip(),tooltip=tooltipLinker(scope,function(){}),scope.$digest()}function removeTooltip(){tooltip&&(tooltip.remove(),tooltip=null)}var tooltip,transitionTimeout,popupTimeout,appendToBody=angular.isDefined(options.appendToBody)?options.appendToBody:!1,triggers=getTriggers(void 0),hasRegisteredTriggers=!1,hasEnableExp=angular.isDefined(attrs[prefix+"Enable"]),positionTooltip=function(){var position,ttWidth,ttHeight,ttPosition;switch(position=appendToBody?$position.offset(element):$position.position(element),ttWidth=tooltip.prop("offsetWidth"),ttHeight=tooltip.prop("offsetHeight"),scope.tt_placement){case"right":ttPosition={top:position.top+position.height/2-ttHeight/2,left:position.left+position.width};break;case"bottom":ttPosition={top:position.top+position.height,left:position.left+position.width/2-ttWidth/2};break;case"left":ttPosition={top:position.top+position.height/2-ttHeight/2,left:position.left-ttWidth};break;default:ttPosition={top:position.top-ttHeight,left:position.left+position.width/2-ttWidth/2}}ttPosition.top+="px",ttPosition.left+="px",tooltip.css(ttPosition)};scope.tt_isOpen=!1,attrs.$observe(type,function(val){scope.tt_content=val,!val&&scope.tt_isOpen&&hide()}),attrs.$observe(prefix+"Title",function(val){scope.tt_title=val}),attrs.$observe(prefix+"Placement",function(val){scope.tt_placement=angular.isDefined(val)?val:options.placement}),attrs.$observe(prefix+"PopupDelay",function(val){var delay=parseInt(val,10);scope.tt_popupDelay=isNaN(delay)?options.popupDelay:delay});var unregisterTriggers=function(){hasRegisteredTriggers&&(element.unbind(triggers.show,showTooltipBind),element.unbind(triggers.hide,hideTooltipBind))};attrs.$observe(prefix+"Trigger",function(val){unregisterTriggers(),triggers=getTriggers(val),triggers.show===triggers.hide?element.bind(triggers.show,toggleTooltipBind):(element.bind(triggers.show,showTooltipBind),element.bind(triggers.hide,hideTooltipBind)),hasRegisteredTriggers=!0});var animation=scope.$eval(attrs[prefix+"Animation"]);scope.tt_animation=angular.isDefined(animation)?!!animation:options.animation,attrs.$observe(prefix+"AppendToBody",function(val){appendToBody=angular.isDefined(val)?$parse(val)(scope):appendToBody}),appendToBody&&scope.$on("$locationChangeSuccess",function(){scope.tt_isOpen&&hide()}),scope.$on("$destroy",function(){$timeout.cancel(transitionTimeout),$timeout.cancel(popupTimeout),unregisterTriggers(),removeTooltip()})}}}}}]}).directive("tooltipPopup",function(){return{restrict:"EA",replace:!0,scope:{content:"@",placement:"@",animation:"&",isOpen:"&"},templateUrl:"template/tooltip/tooltip-popup.html"}}).directive("tooltip",["$tooltip",function($tooltip){return $tooltip("tooltip","tooltip","mouseenter")}]).directive("tooltipHtmlUnsafePopup",function(){return{restrict:"EA",replace:!0,scope:{content:"@",placement:"@",animation:"&",isOpen:"&"},templateUrl:"template/tooltip/tooltip-html-unsafe-popup.html"}}).directive("tooltipHtmlUnsafe",["$tooltip",function($tooltip){return $tooltip("tooltipHtmlUnsafe","tooltip","mouseenter")}]),angular.module("ui.bootstrap.popover",["ui.bootstrap.tooltip"]).directive("popoverPopup",function(){return{restrict:"EA",replace:!0,scope:{title:"@",content:"@",placement:"@",animation:"&",isOpen:"&"},templateUrl:"template/popover/popover.html"}}).directive("popover",["$tooltip",function($tooltip){return $tooltip("popover","popover","click")}]),angular.module("ui.bootstrap.progressbar",["ui.bootstrap.transition"]).constant("progressConfig",{animate:!0,max:100}).controller("ProgressController",["$scope","$attrs","progressConfig","$transition",function($scope,$attrs,progressConfig,$transition){var self=this,bars=[],max=angular.isDefined($attrs.max)?$scope.$parent.$eval($attrs.max):progressConfig.max,animate=angular.isDefined($attrs.animate)?$scope.$parent.$eval($attrs.animate):progressConfig.animate;this.addBar=function(bar,element){var oldValue=0,index=bar.$parent.$index;angular.isDefined(index)&&bars[index]&&(oldValue=bars[index].value),bars.push(bar),this.update(element,bar.value,oldValue),bar.$watch("value",function(value,oldValue){value!==oldValue&&self.update(element,value,oldValue)}),bar.$on("$destroy",function(){self.removeBar(bar)})},this.update=function(element,newValue,oldValue){var percent=this.getPercentage(newValue);animate?(element.css("width",this.getPercentage(oldValue)+"%"),$transition(element,{width:percent+"%"})):element.css({transition:"none",width:percent+"%"})},this.removeBar=function(bar){bars.splice(bars.indexOf(bar),1)},this.getPercentage=function(value){return Math.round(100*value/max)}}]).directive("progress",function(){return{restrict:"EA",replace:!0,transclude:!0,controller:"ProgressController",require:"progress",scope:{},template:'
'}}).directive("bar",function(){return{restrict:"EA",replace:!0,transclude:!0,require:"^progress",scope:{value:"=",type:"@"},templateUrl:"template/progressbar/bar.html",link:function(scope,element,attrs,progressCtrl){progressCtrl.addBar(scope,element)}}}).directive("progressbar",function(){return{restrict:"EA",replace:!0,transclude:!0,controller:"ProgressController",scope:{value:"=",type:"@"},templateUrl:"template/progressbar/progressbar.html",link:function(scope,element,attrs,progressCtrl){progressCtrl.addBar(scope,angular.element(element.children()[0]))}}}),angular.module("ui.bootstrap.rating",[]).constant("ratingConfig",{max:5,stateOn:null,stateOff:null}).controller("RatingController",["$scope","$attrs","$parse","ratingConfig",function($scope,$attrs,$parse,ratingConfig){this.maxRange=angular.isDefined($attrs.max)?$scope.$parent.$eval($attrs.max):ratingConfig.max,this.stateOn=angular.isDefined($attrs.stateOn)?$scope.$parent.$eval($attrs.stateOn):ratingConfig.stateOn,this.stateOff=angular.isDefined($attrs.stateOff)?$scope.$parent.$eval($attrs.stateOff):ratingConfig.stateOff,this.createRateObjects=function(states){for(var defaultOptions={stateOn:this.stateOn,stateOff:this.stateOff},i=0,n=states.length;n>i;i++)states[i]=angular.extend({index:i},defaultOptions,states[i]);return states},$scope.range=this.createRateObjects(angular.isDefined($attrs.ratingStates)?angular.copy($scope.$parent.$eval($attrs.ratingStates)):new Array(this.maxRange)),$scope.rate=function(value){$scope.value===value||$scope.readonly||($scope.value=value)},$scope.enter=function(value){$scope.readonly||($scope.val=value),$scope.onHover({value:value})},$scope.reset=function(){$scope.val=angular.copy($scope.value),$scope.onLeave()},$scope.$watch("value",function(value){$scope.val=value}),$scope.readonly=!1,$attrs.readonly&&$scope.$parent.$watch($parse($attrs.readonly),function(value){$scope.readonly=!!value})}]).directive("rating",function(){return{restrict:"EA",scope:{value:"=",onHover:"&",onLeave:"&"},controller:"RatingController",templateUrl:"template/rating/rating.html",replace:!0}}),angular.module("ui.bootstrap.tabs",[]).controller("TabsetController",["$scope",function($scope){var ctrl=this,tabs=ctrl.tabs=$scope.tabs=[];ctrl.select=function(tab){angular.forEach(tabs,function(tab){tab.active=!1}),tab.active=!0},ctrl.addTab=function(tab){tabs.push(tab),(1===tabs.length||tab.active)&&ctrl.select(tab)},ctrl.removeTab=function(tab){var index=tabs.indexOf(tab);if(tab.active&&tabs.length>1){var newActiveIndex=index==tabs.length-1?index-1:index+1;ctrl.select(tabs[newActiveIndex])}tabs.splice(index,1)}}]).directive("tabset",function(){return{restrict:"EA",transclude:!0,replace:!0,scope:{},controller:"TabsetController",templateUrl:"template/tabs/tabset.html",link:function(scope,element,attrs){scope.vertical=angular.isDefined(attrs.vertical)?scope.$parent.$eval(attrs.vertical):!1,scope.justified=angular.isDefined(attrs.justified)?scope.$parent.$eval(attrs.justified):!1,scope.type=angular.isDefined(attrs.type)?scope.$parent.$eval(attrs.type):"tabs"}}}).directive("tab",["$parse",function($parse){return{require:"^tabset",restrict:"EA",replace:!0,templateUrl:"template/tabs/tab.html",transclude:!0,scope:{heading:"@",onSelect:"&select",onDeselect:"&deselect"},controller:function(){},compile:function(elm,attrs,transclude){return function(scope,elm,attrs,tabsetCtrl){var getActive,setActive;attrs.active?(getActive=$parse(attrs.active),setActive=getActive.assign,scope.$parent.$watch(getActive,function(value,oldVal){value!==oldVal&&(scope.active=!!value)}),scope.active=getActive(scope.$parent)):setActive=getActive=angular.noop,scope.$watch("active",function(active){setActive(scope.$parent,active),active?(tabsetCtrl.select(scope),scope.onSelect()):scope.onDeselect()}),scope.disabled=!1,attrs.disabled&&scope.$parent.$watch($parse(attrs.disabled),function(value){scope.disabled=!!value}),scope.select=function(){scope.disabled||(scope.active=!0)},tabsetCtrl.addTab(scope),scope.$on("$destroy",function(){tabsetCtrl.removeTab(scope)}),scope.$transcludeFn=transclude}}}}]).directive("tabHeadingTransclude",[function(){return{restrict:"A",require:"^tab",link:function(scope,elm){scope.$watch("headingElement",function(heading){heading&&(elm.html(""),elm.append(heading))})}}}]).directive("tabContentTransclude",function(){function isTabHeading(node){return node.tagName&&(node.hasAttribute("tab-heading")||node.hasAttribute("data-tab-heading")||"tab-heading"===node.tagName.toLowerCase()||"data-tab-heading"===node.tagName.toLowerCase())}return{restrict:"A",require:"^tabset",link:function(scope,elm,attrs){var tab=scope.$eval(attrs.tabContentTransclude);tab.$transcludeFn(tab.$parent,function(contents){angular.forEach(contents,function(node){isTabHeading(node)?tab.headingElement=node:elm.append(node)})})}}}),angular.module("ui.bootstrap.timepicker",[]).constant("timepickerConfig",{hourStep:1,minuteStep:1,showMeridian:!0,meridians:null,readonlyInput:!1,mousewheel:!0}).directive("timepicker",["$parse","$log","timepickerConfig","$locale",function($parse,$log,timepickerConfig,$locale){return{restrict:"EA",require:"?^ngModel",replace:!0,scope:{},templateUrl:"template/timepicker/timepicker.html",link:function(scope,element,attrs,ngModel){function getHoursFromTemplate(){var hours=parseInt(scope.hours,10),valid=scope.showMeridian?hours>0&&13>hours:hours>=0&&24>hours;return valid?(scope.showMeridian&&(12===hours&&(hours=0),scope.meridian===meridians[1]&&(hours+=12)),hours):void 0}function getMinutesFromTemplate(){var minutes=parseInt(scope.minutes,10);return minutes>=0&&60>minutes?minutes:void 0}function pad(value){return angular.isDefined(value)&&value.toString().length<2?"0"+value:value}function refresh(keyboardChange){makeValid(),ngModel.$setViewValue(new Date(selected)),updateTemplate(keyboardChange)}function makeValid(){ngModel.$setValidity("time",!0),scope.invalidHours=!1,scope.invalidMinutes=!1}function updateTemplate(keyboardChange){var hours=selected.getHours(),minutes=selected.getMinutes();scope.showMeridian&&(hours=0===hours||12===hours?12:hours%12),scope.hours="h"===keyboardChange?hours:pad(hours),scope.minutes="m"===keyboardChange?minutes:pad(minutes),scope.meridian=selected.getHours()<12?meridians[0]:meridians[1]}function addMinutes(minutes){var dt=new Date(selected.getTime()+6e4*minutes);selected.setHours(dt.getHours(),dt.getMinutes()),refresh()}if(ngModel){var selected=new Date,meridians=angular.isDefined(attrs.meridians)?scope.$parent.$eval(attrs.meridians):timepickerConfig.meridians||$locale.DATETIME_FORMATS.AMPMS,hourStep=timepickerConfig.hourStep;attrs.hourStep&&scope.$parent.$watch($parse(attrs.hourStep),function(value){hourStep=parseInt(value,10)});var minuteStep=timepickerConfig.minuteStep;attrs.minuteStep&&scope.$parent.$watch($parse(attrs.minuteStep),function(value){minuteStep=parseInt(value,10)}),scope.showMeridian=timepickerConfig.showMeridian,attrs.showMeridian&&scope.$parent.$watch($parse(attrs.showMeridian),function(value){if(scope.showMeridian=!!value,ngModel.$error.time){var hours=getHoursFromTemplate(),minutes=getMinutesFromTemplate();angular.isDefined(hours)&&angular.isDefined(minutes)&&(selected.setHours(hours),refresh())}else updateTemplate()});var inputs=element.find("input"),hoursInputEl=inputs.eq(0),minutesInputEl=inputs.eq(1),mousewheel=angular.isDefined(attrs.mousewheel)?scope.$eval(attrs.mousewheel):timepickerConfig.mousewheel;if(mousewheel){var isScrollingUp=function(e){e.originalEvent&&(e=e.originalEvent);var delta=e.wheelDelta?e.wheelDelta:-e.deltaY;return e.detail||delta>0};hoursInputEl.bind("mousewheel wheel",function(e){scope.$apply(isScrollingUp(e)?scope.incrementHours():scope.decrementHours()),e.preventDefault()}),minutesInputEl.bind("mousewheel wheel",function(e){scope.$apply(isScrollingUp(e)?scope.incrementMinutes():scope.decrementMinutes()),e.preventDefault()})}if(scope.readonlyInput=angular.isDefined(attrs.readonlyInput)?scope.$eval(attrs.readonlyInput):timepickerConfig.readonlyInput,scope.readonlyInput)scope.updateHours=angular.noop,scope.updateMinutes=angular.noop;else{var invalidate=function(invalidHours,invalidMinutes){ngModel.$setViewValue(null),ngModel.$setValidity("time",!1),angular.isDefined(invalidHours)&&(scope.invalidHours=invalidHours),angular.isDefined(invalidMinutes)&&(scope.invalidMinutes=invalidMinutes)};scope.updateHours=function(){var hours=getHoursFromTemplate();angular.isDefined(hours)?(selected.setHours(hours),refresh("h")):invalidate(!0)},hoursInputEl.bind("blur",function(){!scope.validHours&&scope.hours<10&&scope.$apply(function(){scope.hours=pad(scope.hours)})}),scope.updateMinutes=function(){var minutes=getMinutesFromTemplate();angular.isDefined(minutes)?(selected.setMinutes(minutes),refresh("m")):invalidate(void 0,!0)},minutesInputEl.bind("blur",function(){!scope.invalidMinutes&&scope.minutes<10&&scope.$apply(function(){scope.minutes=pad(scope.minutes)})})}ngModel.$render=function(){var date=ngModel.$modelValue?new Date(ngModel.$modelValue):null;isNaN(date)?(ngModel.$setValidity("time",!1),$log.error('Timepicker directive: "ng-model" value must be a Date object, a number of milliseconds since 01.01.1970 or a string representing an RFC2822 or ISO 8601 date.')):(date&&(selected=date),makeValid(),updateTemplate())},scope.incrementHours=function(){addMinutes(60*hourStep)},scope.decrementHours=function(){addMinutes(60*-hourStep)},scope.incrementMinutes=function(){addMinutes(minuteStep)},scope.decrementMinutes=function(){addMinutes(-minuteStep)},scope.toggleMeridian=function(){addMinutes(720*(selected.getHours()<12?1:-1))}}}}}]),angular.module("ui.bootstrap.typeahead",["ui.bootstrap.position","ui.bootstrap.bindHtml"]).factory("typeaheadParser",["$parse",function($parse){var TYPEAHEAD_REGEXP=/^\s*(.*?)(?:\s+as\s+(.*?))?\s+for\s+(?:([\$\w][\$\w\d]*))\s+in\s+(.*)$/;return{parse:function(input){var match=input.match(TYPEAHEAD_REGEXP);if(!match)throw new Error("Expected typeahead specification in form of '_modelValue_ (as _label_)? for _item_ in _collection_' but got '"+input+"'.");return{itemName:match[3],source:$parse(match[4]),viewMapper:$parse(match[2]||match[1]),modelMapper:$parse(match[1])}}}}]).directive("typeahead",["$compile","$parse","$q","$timeout","$document","$position","typeaheadParser",function($compile,$parse,$q,$timeout,$document,$position,typeaheadParser){var HOT_KEYS=[9,13,27,38,40];return{require:"ngModel",link:function(originalScope,element,attrs,modelCtrl){var hasFocus,minSearch=originalScope.$eval(attrs.typeaheadMinLength)||1,waitTime=originalScope.$eval(attrs.typeaheadWaitMs)||0,isEditable=originalScope.$eval(attrs.typeaheadEditable)!==!1,isLoadingSetter=$parse(attrs.typeaheadLoading).assign||angular.noop,onSelectCallback=$parse(attrs.typeaheadOnSelect),inputFormatter=attrs.typeaheadInputFormatter?$parse(attrs.typeaheadInputFormatter):void 0,appendToBody=attrs.typeaheadAppendToBody?$parse(attrs.typeaheadAppendToBody):!1,$setModelValue=$parse(attrs.ngModel).assign,parserResult=typeaheadParser.parse(attrs.typeahead),popUpEl=angular.element("
");popUpEl.attr({matches:"matches",active:"activeIdx",select:"select(activeIdx)",query:"query",position:"position"}),angular.isDefined(attrs.typeaheadTemplateUrl)&&popUpEl.attr("template-url",attrs.typeaheadTemplateUrl);var scope=originalScope.$new();originalScope.$on("$destroy",function(){scope.$destroy()});var resetMatches=function(){scope.matches=[],scope.activeIdx=-1},getMatchesAsync=function(inputValue){var locals={$viewValue:inputValue};isLoadingSetter(originalScope,!0),$q.when(parserResult.source(originalScope,locals)).then(function(matches){if(inputValue===modelCtrl.$viewValue&&hasFocus){if(matches.length>0){scope.activeIdx=0,scope.matches.length=0;for(var i=0;i=minSearch?waitTime>0?(timeoutPromise&&$timeout.cancel(timeoutPromise),timeoutPromise=$timeout(function(){getMatchesAsync(inputValue)},waitTime)):getMatchesAsync(inputValue):(isLoadingSetter(originalScope,!1),resetMatches()),isEditable?inputValue:inputValue?void modelCtrl.$setValidity("editable",!1):(modelCtrl.$setValidity("editable",!0),inputValue)}),modelCtrl.$formatters.push(function(modelValue){var candidateViewValue,emptyViewValue,locals={};return inputFormatter?(locals.$model=modelValue,inputFormatter(originalScope,locals)):(locals[parserResult.itemName]=modelValue,candidateViewValue=parserResult.viewMapper(originalScope,locals),locals[parserResult.itemName]=void 0,emptyViewValue=parserResult.viewMapper(originalScope,locals),candidateViewValue!==emptyViewValue?candidateViewValue:modelValue)}),scope.select=function(activeIdx){var model,item,locals={};locals[parserResult.itemName]=item=scope.matches[activeIdx].model,model=parserResult.modelMapper(originalScope,locals),$setModelValue(originalScope,model),modelCtrl.$setValidity("editable",!0),onSelectCallback(originalScope,{$item:item,$model:model,$label:parserResult.viewMapper(originalScope,locals)}),resetMatches(),element[0].focus()},element.bind("keydown",function(evt){0!==scope.matches.length&&-1!==HOT_KEYS.indexOf(evt.which)&&(evt.preventDefault(),40===evt.which?(scope.activeIdx=(scope.activeIdx+1)%scope.matches.length,scope.$digest()):38===evt.which?(scope.activeIdx=(scope.activeIdx?scope.activeIdx:scope.matches.length)-1,scope.$digest()):13===evt.which||9===evt.which?scope.$apply(function(){scope.select(scope.activeIdx)}):27===evt.which&&(evt.stopPropagation(),resetMatches(),scope.$digest()))}),element.bind("blur",function(){hasFocus=!1});var dismissClickHandler=function(evt){element[0]!==evt.target&&(resetMatches(),scope.$digest())};$document.bind("click",dismissClickHandler),originalScope.$on("$destroy",function(){$document.unbind("click",dismissClickHandler)});var $popup=$compile(popUpEl)(scope);appendToBody?$document.find("body").append($popup):element.after($popup)}}}]).directive("typeaheadPopup",function(){return{restrict:"EA",scope:{matches:"=",query:"=",active:"=",position:"=",select:"&"},replace:!0,templateUrl:"template/typeahead/typeahead-popup.html",link:function(scope,element,attrs){scope.templateUrl=attrs.templateUrl,scope.isOpen=function(){return scope.matches.length>0},scope.isActive=function(matchIdx){return scope.active==matchIdx},scope.selectActive=function(matchIdx){scope.active=matchIdx},scope.selectMatch=function(activeIdx){scope.select({activeIdx:activeIdx})}}}}).directive("typeaheadMatch",["$http","$templateCache","$compile","$parse",function($http,$templateCache,$compile,$parse){return{restrict:"EA",scope:{index:"=",match:"=",query:"="},link:function(scope,element,attrs){var tplUrl=$parse(attrs.templateUrl)(scope.$parent)||"template/typeahead/typeahead-match.html";$http.get(tplUrl,{cache:$templateCache}).success(function(tplContent){element.replaceWith($compile(tplContent.trim())(scope))})}}}]).filter("typeaheadHighlight",function(){function escapeRegexp(queryToEscape){return queryToEscape.replace(/([.?*+^$[\]\\(){}|-])/g,"\\$1")}return function(matchItem,query){return query?matchItem.replace(new RegExp(escapeRegexp(query),"gi"),"$&"):matchItem}}),angular.module("template/accordion/accordion-group.html",[]).run(["$templateCache",function($templateCache){$templateCache.put("template/accordion/accordion-group.html",'
\n
\n

\n {{heading}}\n

\n
\n
\n
\n
\n
')}]),angular.module("template/accordion/accordion.html",[]).run(["$templateCache",function($templateCache){$templateCache.put("template/accordion/accordion.html",'
')}]),angular.module("template/alert/alert.html",[]).run(["$templateCache",function($templateCache){$templateCache.put("template/alert/alert.html","
\n \n
\n
\n")}]),angular.module("template/carousel/carousel.html",[]).run(["$templateCache",function($templateCache){$templateCache.put("template/carousel/carousel.html",'\n')}]),angular.module("template/carousel/slide.html",[]).run(["$templateCache",function($templateCache){$templateCache.put("template/carousel/slide.html","
\n")}]),angular.module("template/datepicker/datepicker.html",[]).run(["$templateCache",function($templateCache){$templateCache.put("template/datepicker/datepicker.html",'\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
#{{label}}
{{ getWeekNumber(row) }}\n \n
\n')}]),angular.module("template/datepicker/popup.html",[]).run(["$templateCache",function($templateCache){$templateCache.put("template/datepicker/popup.html","
    \n
  • \n"+'
  • \n \n \n \n \n \n \n
  • \n
\n')}]),angular.module("template/modal/backdrop.html",[]).run(["$templateCache",function($templateCache){$templateCache.put("template/modal/backdrop.html",'')}]),angular.module("template/modal/window.html",[]).run(["$templateCache",function($templateCache){$templateCache.put("template/modal/window.html",'')}]),angular.module("template/pagination/pager.html",[]).run(["$templateCache",function($templateCache){$templateCache.put("template/pagination/pager.html",'')}]),angular.module("template/pagination/pagination.html",[]).run(["$templateCache",function($templateCache){$templateCache.put("template/pagination/pagination.html",'')}]),angular.module("template/tooltip/tooltip-html-unsafe-popup.html",[]).run(["$templateCache",function($templateCache){$templateCache.put("template/tooltip/tooltip-html-unsafe-popup.html",'
\n
\n
\n
\n')}]),angular.module("template/tooltip/tooltip-popup.html",[]).run(["$templateCache",function($templateCache){$templateCache.put("template/tooltip/tooltip-popup.html",'
\n
\n
\n
\n')}]),angular.module("template/popover/popover.html",[]).run(["$templateCache",function($templateCache){$templateCache.put("template/popover/popover.html",'
\n
\n\n
\n

\n
\n
\n
\n')}]),angular.module("template/progressbar/bar.html",[]).run(["$templateCache",function($templateCache){$templateCache.put("template/progressbar/bar.html",'
')}]),angular.module("template/progressbar/progress.html",[]).run(["$templateCache",function($templateCache){$templateCache.put("template/progressbar/progress.html",'
')}]),angular.module("template/progressbar/progressbar.html",[]).run(["$templateCache",function($templateCache){$templateCache.put("template/progressbar/progressbar.html",'
')}]),angular.module("template/rating/rating.html",[]).run(["$templateCache",function($templateCache){$templateCache.put("template/rating/rating.html",'\n \n')}]),angular.module("template/tabs/tab.html",[]).run(["$templateCache",function($templateCache){$templateCache.put("template/tabs/tab.html",'
  • \n {{heading}}\n
  • \n')}]),angular.module("template/tabs/tabset-titles.html",[]).run(["$templateCache",function($templateCache){$templateCache.put("template/tabs/tabset-titles.html","
      \n
    \n")}]),angular.module("template/tabs/tabset.html",[]).run(["$templateCache",function($templateCache){$templateCache.put("template/tabs/tabset.html",'\n
    \n \n
    \n
    \n
    \n
    \n
    \n')}]),angular.module("template/timepicker/timepicker.html",[]).run(["$templateCache",function($templateCache){$templateCache.put("template/timepicker/timepicker.html",'\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')}]),angular.module("template/typeahead/typeahead-match.html",[]).run(["$templateCache",function($templateCache){$templateCache.put("template/typeahead/typeahead-match.html",'') }]),angular.module("template/typeahead/typeahead-popup.html",[]).run(["$templateCache",function($templateCache){$templateCache.put("template/typeahead/typeahead-popup.html","
      \n"+'
    • \n
      \n
    • \n
    ')}]),angular.module("ui.alias",[]).config(["$compileProvider","uiAliasConfig",function(a,b){b=b||{},angular.forEach(b,function(b,c){angular.isString(b)&&(b={replace:!0,template:b}),a.directive(c,function(){return b})})}]),angular.module("ui.event",[]).directive("uiEvent",["$parse",function(a){return function(b,c,d){var e=b.$eval(d.uiEvent);angular.forEach(e,function(d,e){var f=a(d);c.bind(e,function(a){var c=Array.prototype.slice.call(arguments);c=c.splice(1),f(b,{$event:a,$params:c}),b.$$phase||b.$apply()})})}}]),angular.module("ui.format",[]).filter("format",function(){return function(a,b){var c=a;if(angular.isString(c)&&void 0!==b)if(angular.isArray(b)||angular.isObject(b)||(b=[b]),angular.isArray(b)){var d=b.length,e=function(a,c){return c=parseInt(c,10),c>=0&&d>c?b[c]:a};c=c.replace(/\$([0-9]+)/g,e)}else angular.forEach(b,function(a,b){c=c.split(":"+b).join(a)});return c}}),angular.module("ui.highlight",[]).filter("highlight",function(){return function(a,b,c){return b||angular.isNumber(b)?(a=a.toString(),b=b.toString(),c?a.split(b).join(''+b+""):a.replace(new RegExp(b,"gi"),'$&')):a}}),angular.module("ui.include",[]).directive("uiInclude",["$http","$templateCache","$anchorScroll","$compile",function(a,b,c,d){return{restrict:"ECA",terminal:!0,compile:function(e,f){var g=f.uiInclude||f.src,h=f.fragment||"",i=f.onload||"",j=f.autoscroll;return function(e,f){function k(){var k=++m,o=e.$eval(g),p=e.$eval(h);o?a.get(o,{cache:b}).success(function(a){if(k===m){l&&l.$destroy(),l=e.$new();var b;b=p?angular.element("
    ").html(a).find(p):angular.element("
    ").html(a).contents(),f.html(b),d(b)(l),!angular.isDefined(j)||j&&!e.$eval(j)||c(),l.$emit("$includeContentLoaded"),e.$eval(i)}}).error(function(){k===m&&n()}):n()}var l,m=0,n=function(){l&&(l.$destroy(),l=null),f.html("")};e.$watch(h,k),e.$watch(g,k)}}}}]),angular.module("ui.indeterminate",[]).directive("uiIndeterminate",[function(){return{compile:function(a,b){return b.type&&"checkbox"===b.type.toLowerCase()?function(a,b,c){a.$watch(c.uiIndeterminate,function(a){b[0].indeterminate=!!a})}:angular.noop}}}]),angular.module("ui.inflector",[]).filter("inflector",function(){function a(a){return a.replace(/^([a-z])|\s+([a-z])/g,function(a){return a.toUpperCase()})}function b(a,b){return a.replace(/[A-Z]/g,function(a){return b+a})}var c={humanize:function(c){return a(b(c," ").split("_").join(" "))},underscore:function(a){return a.substr(0,1).toLowerCase()+b(a.substr(1),"_").toLowerCase().split(" ").join("_")},variable:function(b){return b=b.substr(0,1).toLowerCase()+a(b.split("_").join(" ")).substr(1).split(" ").join("")}};return function(a,b){return b!==!1&&angular.isString(a)?(b=b||"humanize",c[b](a)):a}}),angular.module("ui.jq",[]).value("uiJqConfig",{}).directive("uiJq",["uiJqConfig","$timeout",function(a,b){return{restrict:"A",compile:function(c,d){if(!angular.isFunction(c[d.uiJq]))throw new Error('ui-jq: The "'+d.uiJq+'" function does not exist');var e=a&&a[d.uiJq];return function(a,c,d){function f(){b(function(){c[d.uiJq].apply(c,g)},0,!1)}var g=[];d.uiOptions?(g=a.$eval("["+d.uiOptions+"]"),angular.isObject(e)&&angular.isObject(g[0])&&(g[0]=angular.extend({},e,g[0]))):e&&(g=[e]),d.ngModel&&c.is("select,input,textarea")&&c.bind("change",function(){c.trigger("input")}),d.uiRefresh&&a.$watch(d.uiRefresh,function(){f()}),f()}}}}]),angular.module("ui.keypress",[]).factory("keypressHelper",["$parse",function(a){var b={8:"backspace",9:"tab",13:"enter",27:"esc",32:"space",33:"pageup",34:"pagedown",35:"end",36:"home",37:"left",38:"up",39:"right",40:"down",45:"insert",46:"delete"},c=function(a){return a.charAt(0).toUpperCase()+a.slice(1)};return function(d,e,f,g){var h,i=[];h=e.$eval(g["ui"+c(d)]),angular.forEach(h,function(b,c){var d,e;e=a(b),angular.forEach(c.split(" "),function(a){d={expression:e,keys:{}},angular.forEach(a.split("-"),function(a){d.keys[a]=!0}),i.push(d)})}),f.bind(d,function(a){var c=!(!a.metaKey||a.ctrlKey),f=!!a.altKey,g=!!a.ctrlKey,h=!!a.shiftKey,j=a.keyCode;"keypress"===d&&!h&&j>=97&&122>=j&&(j-=32),angular.forEach(i,function(d){var i=d.keys[b[j]]||d.keys[j.toString()],k=!!d.keys.meta,l=!!d.keys.alt,m=!!d.keys.ctrl,n=!!d.keys.shift;i&&k===c&&l===f&&m===g&&n===h&&e.$apply(function(){d.expression(e,{$event:a})})})})}}]),angular.module("ui.keypress").directive("uiKeydown",["keypressHelper",function(a){return{link:function(b,c,d){a("keydown",b,c,d)}}}]),angular.module("ui.keypress").directive("uiKeypress",["keypressHelper",function(a){return{link:function(b,c,d){a("keypress",b,c,d)}}}]),angular.module("ui.keypress").directive("uiKeyup",["keypressHelper",function(a){return{link:function(b,c,d){a("keyup",b,c,d)}}}]),angular.module("ui.mask",[]).value("uiMaskConfig",{maskDefinitions:{9:/\d/,A:/[a-zA-Z]/,"*":/[a-zA-Z0-9]/}}).directive("uiMask",["uiMaskConfig",function(a){return{priority:100,require:"ngModel",restrict:"A",compile:function(){var b=a;return function(a,c,d,e){function f(a){return angular.isDefined(a)?(s(a),N?(k(),l(),!0):j()):j()}function g(a){angular.isDefined(a)&&(D=a,N&&w())}function h(a){return N?(G=o(a||""),I=n(G),e.$setValidity("mask",I),I&&G.length?p(G):void 0):a}function i(a){return N?(G=o(a||""),I=n(G),e.$viewValue=G.length?p(G):"",e.$setValidity("mask",I),""===G&&void 0!==e.$error.required&&e.$setValidity("required",!1),I?G:void 0):a}function j(){return N=!1,m(),angular.isDefined(P)?c.attr("placeholder",P):c.removeAttr("placeholder"),angular.isDefined(Q)?c.attr("maxlength",Q):c.removeAttr("maxlength"),c.val(e.$modelValue),e.$viewValue=e.$modelValue,!1}function k(){G=K=o(e.$modelValue||""),H=J=p(G),I=n(G);var a=I&&G.length?H:"";d.maxlength&&c.attr("maxlength",2*B[B.length-1]),c.attr("placeholder",D),c.val(a),e.$viewValue=a}function l(){O||(c.bind("blur",t),c.bind("mousedown mouseup",u),c.bind("input keyup click focus",w),O=!0)}function m(){O&&(c.unbind("blur",t),c.unbind("mousedown",u),c.unbind("mouseup",u),c.unbind("input",w),c.unbind("keyup",w),c.unbind("click",w),c.unbind("focus",w),O=!1)}function n(a){return a.length?a.length>=F:!0}function o(a){var b="",c=C.slice();return a=a.toString(),angular.forEach(E,function(b){a=a.replace(b,"")}),angular.forEach(a.split(""),function(a){c.length&&c[0].test(a)&&(b+=a,c.shift())}),b}function p(a){var b="",c=B.slice();return angular.forEach(D.split(""),function(d,e){a.length&&e===c[0]?(b+=a.charAt(0)||"_",a=a.substr(1),c.shift()):b+=d}),b}function q(a){var b=d.placeholder;return"undefined"!=typeof b&&b[a]?b[a]:"_"}function r(){return D.replace(/[_]+/g,"_").replace(/([^_]+)([a-zA-Z0-9])([^_])/g,"$1$2_$3").split("_")}function s(a){var b=0;if(B=[],C=[],D="","string"==typeof a){F=0;var c=!1,d=a.split("");angular.forEach(d,function(a,d){R.maskDefinitions[a]?(B.push(b),D+=q(d),C.push(R.maskDefinitions[a]),b++,c||F++):"?"===a?c=!0:(D+=a,b++)})}B.push(B.slice().pop()+1),E=r(),N=B.length>1?!0:!1}function t(){L=0,M=0,I&&0!==G.length||(H="",c.val(""),a.$apply(function(){e.$setViewValue("")}))}function u(a){"mousedown"===a.type?c.bind("mouseout",v):c.unbind("mouseout",v)}function v(){M=A(this),c.unbind("mouseout",v)}function w(b){b=b||{};var d=b.which,f=b.type;if(16!==d&&91!==d){var g,h=c.val(),i=J,j=o(h),k=K,l=!1,m=y(this)||0,n=L||0,q=m-n,r=B[0],s=B[j.length]||B.slice().shift(),t=M||0,u=A(this)>0,v=t>0,w=h.length>i.length||t&&h.length>i.length-t,C=h.length=37&&40>=d&&b.shiftKey,E=37===d,F=8===d||"keyup"!==f&&C&&-1===q,G=46===d||"keyup"!==f&&C&&0===q&&!v,H=(E||F||"click"===f)&&m>r;if(M=A(this),!D&&(!u||"click"!==f&&"keyup"!==f)){if("input"===f&&C&&!v&&j===k){for(;F&&m>r&&!x(m);)m--;for(;G&&s>m&&-1===B.indexOf(m);)m++;var I=B.indexOf(m);j=j.substring(0,I)+j.substring(I+1),l=!0}for(g=p(j),J=g,K=j,c.val(g),l&&a.$apply(function(){e.$setViewValue(j)}),w&&r>=m&&(m=r+1),H&&m--,m=m>s?s:r>m?r:m;!x(m)&&m>r&&s>m;)m+=H?-1:1;(H&&s>m||w&&!x(n))&&m++,L=m,z(this,m)}}}function x(a){return B.indexOf(a)>-1}function y(a){if(!a)return 0;if(void 0!==a.selectionStart)return a.selectionStart;if(document.selection){a.focus();var b=document.selection.createRange();return b.moveStart("character",-a.value.length),b.text.length}return 0}function z(a,b){if(!a)return 0;if(0!==a.offsetWidth&&0!==a.offsetHeight)if(a.setSelectionRange)a.focus(),a.setSelectionRange(b,b);else if(a.createTextRange){var c=a.createTextRange();c.collapse(!0),c.moveEnd("character",b),c.moveStart("character",b),c.select()}}function A(a){return a?void 0!==a.selectionStart?a.selectionEnd-a.selectionStart:document.selection?document.selection.createRange().text.length:0:0}var B,C,D,E,F,G,H,I,J,K,L,M,N=!1,O=!1,P=d.placeholder,Q=d.maxlength,R={};d.uiOptions?(R=a.$eval("["+d.uiOptions+"]"),angular.isObject(R[0])&&(R=function(a,b){for(var c in a)Object.prototype.hasOwnProperty.call(a,c)&&(b[c]?angular.extend(b[c],a[c]):b[c]=angular.copy(a[c]));return b}(b,R[0]))):R=b,d.$observe("uiMask",f),d.$observe("placeholder",g),e.$formatters.push(h),e.$parsers.push(i),c.bind("mousedown mouseup",u),Array.prototype.indexOf||(Array.prototype.indexOf=function(a){if(null===this)throw new TypeError;var b=Object(this),c=b.length>>>0;if(0===c)return-1;var d=0;if(arguments.length>1&&(d=Number(arguments[1]),d!==d?d=0:0!==d&&1/0!==d&&d!==-1/0&&(d=(d>0||-1)*Math.floor(Math.abs(d)))),d>=c)return-1;for(var e=d>=0?d:Math.max(c-Math.abs(d),0);c>e;e++)if(e in b&&b[e]===a)return e;return-1})}}}}]),angular.module("ui.reset",[]).value("uiResetConfig",null).directive("uiReset",["uiResetConfig",function(a){var b=null;return void 0!==a&&(b=a),{require:"ngModel",link:function(a,c,d,e){var f;f=angular.element(''),c.wrap('').after(f),f.bind("click",function(c){c.preventDefault(),a.$apply(function(){e.$setViewValue(d.uiReset?a.$eval(d.uiReset):b),e.$render()})})}}}]),angular.module("ui.route",[]).directive("uiRoute",["$location","$parse",function(a,b){return{restrict:"AC",scope:!0,compile:function(c,d){var e;if(d.uiRoute)e="uiRoute";else if(d.ngHref)e="ngHref";else{if(!d.href)throw new Error("uiRoute missing a route or href property on "+c[0]);e="href"}return function(c,d,f){function g(b){var d=b.indexOf("#");d>-1&&(b=b.substr(d+1)),(j=function(){i(c,a.path().indexOf(b)>-1)})()}function h(b){var d=b.indexOf("#");d>-1&&(b=b.substr(d+1)),(j=function(){var d=new RegExp("^"+b+"$",["i"]);i(c,d.test(a.path()))})()}var i=b(f.ngModel||f.routeModel||"$uiRoute").assign,j=angular.noop;switch(e){case"uiRoute":f.uiRoute?h(f.uiRoute):f.$observe("uiRoute",h);break;case"ngHref":f.ngHref?g(f.ngHref):f.$observe("ngHref",g);break;case"href":g(f.href)}c.$on("$routeChangeSuccess",function(){j()}),c.$on("$stateChangeSuccess",function(){j()})}}}}]),angular.module("ui.scroll.jqlite",["ui.scroll"]).service("jqLiteExtras",["$log","$window",function(a,b){return{registerFor:function(a){var c,d,e,f,g,h,i;return d=angular.element.prototype.css,a.prototype.css=function(a,b){var c,e;return e=this,c=e[0],c&&3!==c.nodeType&&8!==c.nodeType&&c.style?d.call(e,a,b):void 0},h=function(a){return a&&a.document&&a.location&&a.alert&&a.setInterval},i=function(a,b,c){var d,e,f,g,i;return d=a[0],i={top:["scrollTop","pageYOffset","scrollLeft"],left:["scrollLeft","pageXOffset","scrollTop"]}[b],e=i[0],g=i[1],f=i[2],h(d)?angular.isDefined(c)?d.scrollTo(a[f].call(a),c):g in d?d[g]:d.document.documentElement[e]:angular.isDefined(c)?d[e]=c:d[e]},b.getComputedStyle?(f=function(a){return b.getComputedStyle(a,null)},c=function(a,b){return parseFloat(b)}):(f=function(a){return a.currentStyle},c=function(a,b){var c,d,e,f,g,h,i;return c=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,f=new RegExp("^("+c+")(?!px)[a-z%]+$","i"),f.test(b)?(i=a.style,d=i.left,g=a.runtimeStyle,h=g&&g.left,g&&(g.left=i.left),i.left=b,e=i.pixelLeft,i.left=d,h&&(g.left=h),e):parseFloat(b)}),e=function(a,b){var d,e,g,i,j,k,l,m,n,o,p,q,r;return h(a)?(d=document.documentElement[{height:"clientHeight",width:"clientWidth"}[b]],{base:d,padding:0,border:0,margin:0}):(r={width:[a.offsetWidth,"Left","Right"],height:[a.offsetHeight,"Top","Bottom"]}[b],d=r[0],l=r[1],m=r[2],k=f(a),p=c(a,k["padding"+l])||0,q=c(a,k["padding"+m])||0,e=c(a,k["border"+l+"Width"])||0,g=c(a,k["border"+m+"Width"])||0,i=k["margin"+l],j=k["margin"+m],n=c(a,i)||0,o=c(a,j)||0,{base:d,padding:p+q,border:e+g,margin:n+o})},g=function(a,b,c){var d,g,h;return g=e(a,b),g.base>0?{base:g.base-g.padding-g.border,outer:g.base,outerfull:g.base+g.margin}[c]:(d=f(a),h=d[b],(0>h||null===h)&&(h=a.style[b]||0),h=parseFloat(h)||0,{base:h-g.padding-g.border,outer:h,outerfull:h+g.padding+g.border+g.margin}[c])},angular.forEach({before:function(a){var b,c,d,e,f,g,h;if(f=this,c=f[0],e=f.parent(),b=e.contents(),b[0]===c)return e.prepend(a);for(d=g=1,h=b.length-1;h>=1?h>=g:g>=h;d=h>=1?++g:--g)if(b[d]===c)return void angular.element(b[d-1]).after(a);throw new Error("invalid DOM structure "+c.outerHTML)},height:function(a){var b;return b=this,angular.isDefined(a)?(angular.isNumber(a)&&(a+="px"),d.call(b,"height",a)):g(this[0],"height","base")},outerHeight:function(a){return g(this[0],"height",a?"outerfull":"outer")},offset:function(a){var b,c,d,e,f,g;return f=this,arguments.length?void 0===a?f:a:(b={top:0,left:0},e=f[0],(c=e&&e.ownerDocument)?(d=c.documentElement,e.getBoundingClientRect&&(b=e.getBoundingClientRect()),g=c.defaultView||c.parentWindow,{top:b.top+(g.pageYOffset||d.scrollTop)-(d.clientTop||0),left:b.left+(g.pageXOffset||d.scrollLeft)-(d.clientLeft||0)}):void 0)},scrollTop:function(a){return i(this,"top",a)},scrollLeft:function(a){return i(this,"left",a)}},function(b,c){return a.prototype[c]?void 0:a.prototype[c]=b})}}}]).run(["$log","$window","jqLiteExtras",function(a,b,c){return b.jQuery?void 0:c.registerFor(angular.element)}]),angular.module("ui.scroll",[]).directive("ngScrollViewport",["$log",function(){return{controller:["$scope","$element",function(a,b){return b}]}}]).directive("ngScroll",["$log","$injector","$rootScope","$timeout",function(a,b,c,d){return{require:["?^ngScrollViewport"],transclude:"element",priority:1e3,terminal:!0,compile:function(e,f,g){return function(f,h,i,j){var k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T;if(H=i.ngScroll.match(/^\s*(\w+)\s+in\s+(\w+)\s*$/),!H)throw new Error('Expected ngScroll in form of "item_ in _datasource_" but got "'+i.ngScroll+'"');if(F=H[1],v=H[2],D=function(a){return angular.isObject(a)&&a.get&&angular.isFunction(a.get)},u=f[v],!D(u)&&(u=b.get(v),!D(u)))throw new Error(v+" is not a valid datasource");return r=Math.max(3,+i.bufferSize||10),q=function(){return T.height()*Math.max(.1,+i.padding||.1)},O=function(a){return a[0].scrollHeight||a[0].document.documentElement.scrollHeight},k=null,g(R=f.$new(),function(a){var b,c,d,f,g,h;if(f=a[0].localName,"dl"===f)throw new Error("ng-scroll directive does not support <"+a[0].localName+"> as a repeating tag: "+a[0].outerHTML);return"li"!==f&&"tr"!==f&&(f="div"),h=j[0]||angular.element(window),h.css({"overflow-y":"auto",display:"block"}),d=function(a){var b,c,d;switch(a){case"tr":return d=angular.element("
    "),b=d.find("div"),c=d.find("tr"),c.paddingHeight=function(){return b.height.apply(b,arguments)},c;default:return c=angular.element("<"+a+">"),c.paddingHeight=c.height,c}},c=function(a,b,c){return b[{top:"before",bottom:"after"}[c]](a),{paddingHeight:function(){return a.paddingHeight.apply(a,arguments)},insert:function(b){return a[{top:"after",bottom:"before"}[c]](b)}}},g=c(d(f),e,"top"),b=c(d(f),e,"bottom"),R.$destroy(),k={viewport:h,topPadding:g.paddingHeight,bottomPadding:b.paddingHeight,append:b.insert,prepend:g.insert,bottomDataPos:function(){return O(h)-b.paddingHeight()},topDataPos:function(){return g.paddingHeight()}}}),T=k.viewport,B=1,I=1,p=[],J=[],x=!1,n=!1,G=u.loading||function(){},E=!1,L=function(a,b){var c,d;for(c=d=a;b>=a?b>d:d>b;c=b>=a?++d:--d)p[c].scope.$destroy(),p[c].element.remove();return p.splice(a,b-a)},K=function(){return B=1,I=1,L(0,p.length),k.topPadding(0),k.bottomPadding(0),J=[],x=!1,n=!1,l(!1)},o=function(){return T.scrollTop()+T.height()},S=function(){return T.scrollTop()},P=function(){return!x&&k.bottomDataPos()=g?0>=f:f>=0)&&(d=p[c].element.outerHeight(!0),k.bottomDataPos()-b-d>o()+q());c=0>=g?++f:--f)b+=d,e++,x=!1;return e>0?(k.bottomPadding(k.bottomPadding()+b),L(p.length-e,p.length),I-=e,a.log("clipped off bottom "+e+" bottom padding "+k.bottomPadding())):void 0},Q=function(){return!n&&k.topDataPos()>S()-q()},t=function(){var b,c,d,e,f,g;for(e=0,d=0,f=0,g=p.length;g>f&&(b=p[f],c=b.element.outerHeight(!0),k.topDataPos()+e+c0?(k.topPadding(k.topPadding()+e),L(0,d),B+=d,a.log("clipped off top "+d+" top padding "+k.topPadding())):void 0},w=function(a,b){return E||(E=!0,G(!0)),1===J.push(a)?z(b):void 0},C=function(a,b){var c,d,e;return c=f.$new(),c[F]=b,d=a>B,c.$index=a,d&&c.$index--,e={scope:c},g(c,function(b){return e.element=b,d?a===I?(k.append(b),p.push(e)):(p[a-B].element.after(b),p.splice(a-B+1,0,e)):(k.prepend(b),p.unshift(e))}),{appended:d,wrapper:e}},m=function(a,b){var c;return a?k.bottomPadding(Math.max(0,k.bottomPadding()-b.element.outerHeight(!0))):(c=k.topPadding()-b.element.outerHeight(!0),c>=0?k.topPadding(c):T.scrollTop(T.scrollTop()+b.element.outerHeight(!0)))},l=function(b,c,e){var f;return f=function(){return a.log("top {actual="+k.topDataPos()+" visible from="+S()+" bottom {visible through="+o()+" actual="+k.bottomDataPos()+"}"),P()?w(!0,b):Q()&&w(!1,b),e?e():void 0},c?d(function(){var a,b,d;for(b=0,d=c.length;d>b;b++)a=c[b],m(a.appended,a.wrapper);return f()}):f()},A=function(a,b){return l(a,b,function(){return J.shift(),0===J.length?(E=!1,G(!1)):z(a)})},z=function(b){var c;return c=J[0],c?p.length&&!P()?A(b):u.get(I,r,function(c){var d,e,f,g;if(e=[],0===c.length)x=!0,k.bottomPadding(0),a.log("appended: requested "+r+" records starting from "+I+" recieved: eof");else{for(t(),f=0,g=c.length;g>f;f++)d=c[f],e.push(C(++I,d));a.log("appended: requested "+r+" received "+c.length+" buffer size "+p.length+" first "+B+" next "+I)}return A(b,e)}):p.length&&!Q()?A(b):u.get(B-r,r,function(c){var d,e,f,g;if(e=[],0===c.length)n=!0,k.topPadding(0),a.log("prepended: requested "+r+" records starting from "+(B-r)+" recieved: bof");else{for(s(),d=f=g=c.length-1;0>=g?0>=f:f>=0;d=0>=g?++f:--f)e.unshift(C(--B,c[d]));a.log("prepended: requested "+r+" received "+c.length+" buffer size "+p.length+" first "+B+" next "+I)}return A(b,e)})},M=function(){return c.$$phase||E?void 0:(l(!1),f.$apply())},T.bind("resize",M),N=function(){return c.$$phase||E?void 0:(l(!0),f.$apply())},T.bind("scroll",N),f.$watch(u.revision,function(){return K()}),y=u.scope?u.scope.$new():f.$new(),f.$on("$destroy",function(){return y.$destroy(),T.unbind("resize",M),T.unbind("scroll",N)}),y.$on("update.items",function(a,b,c){var d,e,f,g,h;if(angular.isFunction(b))for(e=function(a){return b(a.scope)},f=0,g=p.length;g>f;f++)d=p[f],e(d);else 0<=(h=b-B-1)&&hh;h++)d=p[h],e.unshift(d);for(g=function(a){return b(a.scope)?(L(e.length-1-c,e.length-c),I--):void 0},c=i=0,m=e.length;m>i;c=++i)f=e[c],g(f)}else 0<=(o=b-B-1)&&oj;c=++j)d=p[c],d.scope.$index=B+c;return l(!1)}),y.$on("insert.item",function(a,b,c){var d,e,f,g,h,i,j,k,m,n,o,q;if(e=[],angular.isFunction(b)){for(f=[],i=0,m=p.length;m>i;i++)c=p[i],f.unshift(c);for(h=function(a){var f,g,h,i,j;if(g=b(a.scope)){if(C=function(a,b){return C(a,b),I++},angular.isArray(g)){for(j=[],f=h=0,i=g.length;i>h;f=++h)c=g[f],j.push(e.push(C(d+f,c)));return j}return e.push(C(d,g))}},d=j=0,n=f.length;n>j;d=++j)g=f[d],h(g)}else 0<=(q=b-B-1)&&qk;d=++k)c=p[d],c.scope.$index=B+d;return l(!1,e)})}}}}]),angular.module("ui.scrollfix",[]).directive("uiScrollfix",["$window",function(a){return{require:"^?uiScrollfixTarget",link:function(b,c,d,e){function f(){var b;if(angular.isDefined(a.pageYOffset))b=a.pageYOffset;else{var e=document.compatMode&&"BackCompat"!==document.compatMode?document.documentElement:document.body;b=e.scrollTop}!c.hasClass("ui-scrollfix")&&b>d.uiScrollfix?c.addClass("ui-scrollfix"):c.hasClass("ui-scrollfix")&&b")(i);j.append(k),i.count=f,void 0!==g&&k.eq(0).children().css("height",g),void 0!==h&&(k.eq(0).children().css("background-color",h),k.eq(0).children().css("color",h));var l=0;return{start:function(){this.show();var a=this;l=setInterval(function(){if(isNaN(f))clearInterval(l),f=0,a.hide();else{var b=100-f;f+=.15*Math.pow(1-Math.sqrt(b),2),a.updateCount(f)}},200)},updateCount:function(a){i.count=a,i.$$phase||i.$apply()},height:function(a){return void 0!==a&&(g=a,i.height=g,i.$$phase||i.$apply()),g},color:function(a){return void 0!==a&&(h=a,i.color=h,i.$$phase||i.$apply()),h},hide:function(){k.children().css("opacity","0");var a=this;e(function(){k.children().css("width","0%"),e(function(){a.show()},500)},500)},show:function(){e(function(){k.children().css("opacity","1")},100)},status:function(){return f},stop:function(){clearInterval(l)},set:function(a){return this.show(),this.updateCount(a),f=a,clearInterval(l),f},css:function(a){return k.children().css(a)},reset:function(){return clearInterval(l),f=0,this.updateCount(f),0},complete:function(){f=100,this.updateCount(f);var a=this;return e(function(){a.hide(),e(function(){f=0,a.updateCount(f)},500)},1e3),f}}}],this.setColor=function(a){return void 0!==a&&(this.color=a),this.color},this.setHeight=function(a){return void 0!==a&&(this.height=a),this.height}}),angular.module("ngProgress.directive",[]).directive("ngProgress",["$window","$rootScope",function(a,b){var c={replace:!0,restrict:"E",link:function(a,c){b.$watch("count",function(b){(void 0!==b||null!==b)&&(a.counter=b,c.eq(0).children().css("width",b+"%"))}),b.$watch("color",function(b){(void 0!==b||null!==b)&&(a.color=b,c.eq(0).children().css("background-color",b),c.eq(0).children().css("color",b))}),b.$watch("height",function(b){(void 0!==b||null!==b)&&(a.height=b,c.eq(0).children().css("height",b))})},template:'
    '};return c}]),angular.module("ngProgress",["ngProgress.directive","ngProgress.provider"]);