(function(){function s(n,t,i){i=(i||0)-1;for(var r=n?n.length:0;++i<r;)if(n[i]===t)return i;return-1}function d(n,t){var i=typeof t,r;return(n=n.l,"boolean"==i||null==t)?n[t]?0:-1:("number"!=i&&"string"!=i&&(i="object"),r="number"==i?t:st+t,n=(n=n[i])&&n[r],"object"==i?n&&-1<s(n,t)?0:-1:n?0:-1)}function bt(n){var i=this.l,t=typeof n,r;"boolean"==t||null==n?i[n]=!0:("number"!=t&&"string"!=t&&(t="object"),r="number"==t?n:st+n,i=i[t]||(i[t]={}),"object"==t?(i[r]||(i[r]=[])).push(n):i[r]=!0)}function ct(n){return n.charCodeAt(0)}function kt(n,t){for(var i,r,f=n.m,e=t.m,u=-1,o=f.length;++u<o;)if(i=f[u],r=e[u],i!==r){if(i>r||typeof i=="undefined")return 1;if(i<r||typeof r=="undefined")return-1}return n.n-t.n}function rt(n){var u=-1,r=n.length,t=n[0],i=n[r/2|0],f=n[r-1];if(t&&typeof t=="object"&&i&&typeof i=="object"&&f&&typeof f=="object")return!1;for(t=ut(),t["false"]=t["null"]=t["true"]=t.undefined=!1,i=ut(),i.k=n,i.l=t,i.push=bt;++u<r;)i.push(n[u]);return i}function dt(n){return"\\"+hi[n]}function r(){return et.pop()||[]}function ut(){return ot.pop()||{k:null,l:null,m:null,"false":!1,n:0,"null":!1,number:null,object:null,push:null,string:null,"true":!1,undefined:!1,o:null}}function i(n){n.length=0;et.length<lt&&et.push(n)}function a(n){var t=n.l;t&&a(t);n.k=n.l=n.m=n.object=n.number=n.string=n.o=null;ot.length<lt&&ot.push(n)}function n(n,t,i){var r,u;for(t||(t=0),typeof i=="undefined"&&(i=n?n.length:0),r=-1,i=i-t||0,u=Array(0>i?0:i);++r<i;)u[r]=n[t+r];return u}function ft(l){function it(n,i,r){if(!n||!t[typeof n])return n;i=i&&typeof r=="undefined"?i:ai(i,r,3);for(var f=-1,u=t[typeof n]&&li(n),e=u?u.length:0;++f<e&&(r=u[f],!1!==i(n[r],r,n)););return n}function wi(n,i,r){var u;if(!n||!t[typeof n])return n;i=i&&typeof r=="undefined"?i:ai(i,r,3);for(u in n)if(!1===i(n[u],u,n))break;return n}function ou(n,i,r){var f,u=n,e=u;if(!u)return e;for(var s=arguments,h=0,l=typeof r=="number"?2:s.length;++h<l;)if((u=s[h])&&t[typeof u])for(var c=-1,o=t[typeof u]&&li(u),a=o?o.length:0;++c<a;)f=o[c],"undefined"==typeof e[f]&&(e[f]=u[f]);return e}function kr(n,i,r){var o,u=n,s=u,h;if(!u)return s;var e=arguments,l=0,f=typeof r=="number"?2:e.length;for(3<f&&"function"==typeof e[f-2]?h=ai(e[--f-1],e[f--],2):2<f&&"function"==typeof e[f-1]&&(h=e[--f]);++l<f;)if((u=e[l])&&t[typeof u])for(var a=-1,c=t[typeof u]&&li(u),v=c?c.length:0;++a<v;)o=c[a],s[o]=h?h(s[o],u[o]):u[o];return s}function le(n){var i,r=[];if(!n||!t[typeof n])return r;for(i in n)ci.call(n,i)&&r.push(i);return r}function tt(n){return n&&typeof n=="object"&&!ot(n)&&ci.call(n,"__wrapped__")?n:new tr(n)}function tr(n,t){this.__chain__=!!t;this.__wrapped__=n}function ae(t){function i(){var e,t;return(u&&(t=n(u),pr.apply(t,arguments)),this instanceof i)?(e=sr(r.prototype),t=r.apply(e,t||arguments),lt(t)?t:e):r.apply(f,t||arguments)}var r=t[0],u=t[2],f=t[4];return nf(i,t),i}function su(t,f,e,o,s){var c,l,a,y,v;if(e&&(c=e(t),typeof c!="undefined"))return c;if(!lt(t)||(l=hi.call(t),!u[l]))return t;a=ki[l];switch(l){case p:case w:return new a(+t);case b:case h:return new a(t);case k:return c=a(t.source,ui.exec(t)),c.lastIndex=t.lastIndex,c}if(l=ot(t),f){for(y=!o,o||(o=r()),s||(s=r()),v=o.length;v--;)if(o[v]==t)return s[v];c=l?a(t.length):{}}else c=l?n(t):kr({},t);return l&&(ci.call(t,"index")&&(c.index=t.index),ci.call(t,"input")&&(c.input=t.input)),f?(o.push(t),s.push(c),(l?bt:it)(t,function(n,t){c[t]=su(n,f,e,o,s)}),y&&(i(o),i(s)),c):c}function sr(n){return lt(n)?fu(n):{}}function ai(n,t,i){var r,u;if(typeof n!="function")return wu;if(typeof t=="undefined"||!("prototype"in n)||(r=n.__bindData__,typeof r!="undefined"||(or.funcNames&&(r=!n.name),r=r||!or.funcDecomp,r)||(u=no.call(n),or.funcNames||(r=!fi.test(u)),r||(r=yt.test(u),nf(n,r))),!1===r||!0!==r&&1&r[1]))return n;switch(i){case 1:return function(i){return n.call(t,i)};case 2:return function(i,r){return n.call(t,i,r)};case 3:return function(i,r,u){return n.call(t,i,r,u)};case 4:return function(i,r,u,f){return n.call(t,i,r,u,f)}}return te(n,t)}function ff(t){function u(){var y=c?o:this,t;return e&&(t=n(e),pr.apply(t,arguments)),(f||h)&&(t||(t=n(arguments)),f&&pr.apply(t,f),h&&t.length<s)?(i|=16,ff([r,a?i:-4&i,t,null,o,s])):(t||(t=arguments),l&&(r=y[v]),this instanceof u?(y=sr(r.prototype),t=r.apply(y,t),lt(t)?t:y):r.apply(y,t))}var r=t[0],i=t[1],e=t[2],f=t[3],o=t[4],s=t[5],c=1&i,l=2&i,h=4&i,a=8&i,v=r;return nf(u,t),u}function hr(n,t){var f=-1,r=dr(),e=n?n.length:0,u=e>=ht&&r===s,o=[],i;for(u&&(i=rt(t),i?(r=d,t=i):u=!1);++f<e;)i=n[f],0>r(t,i)&&o.push(i);return u&&a(t),o}function di(n,t,i,r){var e,f,u;for(r=(r||0)-1,e=n?n.length:0,f=[];++r<e;)if(u=n[r],u&&typeof u=="object"&&typeof u.length=="number"&&(ot(u)||gr(u))){t||(u=di(u,t,i));var o=-1,s=u.length,h=f.length;for(f.length+=s;++o<s;)f[h++]=u[o]}else i||f.push(u);return f}function rr(n,u,f,e,s,c){var a,g,l,tt,nt,d;if(f&&(d=f(n,u),typeof d!="undefined"))return!!d;if(n===u)return 0!==n||1/n==1/u;if(n===n&&!(n&&t[typeof n]||u&&t[typeof u]))return!1;if(null==n||null==u)return n===u;if(a=hi.call(n),g=hi.call(u),a==v&&(a=o),g==v&&(g=o),a!=g)return!1;switch(a){case p:case w:return+n==+u;case b:return n!=+n?u!=+u:0==n?1/n==1/u:n==+u;case k:case h:return n==nr(u)}if(g=a==y,!g){if(l=ci.call(n,"__wrapped__"),tt=ci.call(u,"__wrapped__"),l||tt)return rr(l?n.__wrapped__:n,tt?u.__wrapped__:u,f,e,s,c);if(a!=o||(a=n.constructor,l=u.constructor,a!=l&&!(et(a)&&a instanceof a&&et(l)&&l instanceof l)&&"constructor"in n&&"constructor"in u))return!1}for(a=!s,s||(s=r()),c||(c=r()),l=s.length;l--;)if(s[l]==n)return c[l]==u;if(nt=0,d=!0,s.push(n),c.push(u),g){if(l=n.length,nt=u.length,(d=nt==l)||e)for(;nt--;)if(g=l,tt=u[nt],e)for(;g--&&!(d=rr(n[g],tt,f,e,s,c)););else if(!(d=rr(n[nt],tt,f,e,s,c)))break}else wi(u,function(t,i,r){if(ci.call(r,i))return(nt++,d=ci.call(n,i)&&rr(n[i],t,f,e,s,c))}),d&&!e&&wi(n,function(n,t,i){if(ci.call(i,t))return d=-1<--nt});return s.pop(),c.pop(),a&&(i(s),i(c)),d}function ef(n,t,i,r,u){(ot(t)?bt:it)(t,function(t,f){var h,c,o=t,e=n[f],s;if(t&&((c=ot(t))||rf(t))){for(o=r.length;o--;)if(h=r[o]==t){e=u[o];break}h||(i&&(o=i(e,t),s=typeof o!="undefined")&&(e=o),s||(e=c?ot(e)?e:[]:rf(e)?e:{}),r.push(t),u.push(e),s||ef(e,t,i,r,u))}else i&&(o=i(e,t),typeof o=="undefined"&&(o=t)),typeof o!="undefined"&&(e=o);n[f]=e})}function hu(n,t){return n+ge(he()*(t-n+1))}function cu(n,t,u){var e=-1,l=dr(),y=n?n.length:0,v=[],o=!t&&y>=ht&&l===s,f=u||o?r():v,h,c;for(o&&(f=rt(f),l=d);++e<y;)h=n[e],c=u?u(h,e,n):h,(t?!e||f[f.length-1]!==c:0>l(f,c))&&((u||o)&&f.push(c),v.push(h));return o?(i(f.k),a(f)):u&&i(f),v}function lu(n){return function(t,i,r){var u={},f,e;if(i=tt.createCallback(i,r,3),r=-1,f=t?t.length:0,typeof f=="number")for(;++r<f;)e=t[r],n(u,e,i(e,r,t),t);else it(t,function(t,r,f){n(u,t,i(t,r,f),f)});return u}}function pi(t,i,r,u,f,e){var c=1&i,l=4&i,s=16&i,h=32&i,o;if(!(2&i||et(t)))throw new bi;return s&&!r.length&&(i&=-17,s=r=!1),h&&!u.length&&(i&=-33,h=u=!1),o=t&&t.__bindData__,o&&!0!==o?(o=n(o),o[2]&&(o[2]=n(o[2])),o[3]&&(o[3]=n(o[3])),!c||1&o[1]||(o[4]=f),!c&&1&o[1]&&(i|=8),!l||4&o[1]||(o[5]=e),s&&pr.apply(o[2]||(o[2]=[]),r),h&&to.apply(o[3]||(o[3]=[]),u),o[1]|=i,pi.apply(null,o)):(1==i||17===i?ae:ff)([t,i,r,u,f,e])}function ve(n){return tf[n]}function dr(){var n=(n=tt.indexOf)===bf?s:n;return n}function gi(n){return typeof n=="function"&&ke.test(n)}function of(n){var t,i;return n&&hi.call(n)==o&&(t=n.constructor,!et(t)||t instanceof t)?(wi(n,function(n,t){i=t}),typeof i=="undefined"||ci.call(n,i)):!1}function ye(n){return ce[n]}function gr(n){return n&&typeof n=="object"&&typeof n.length=="number"&&hi.call(n)==v||!1}function sf(n,t,i){var r=li(n),u=r.length;for(t=ai(t,i,3);u--&&(i=r[u],!1!==t(n[i],i,n)););return n}function cr(n){var t=[];return wi(n,function(n,i){et(n)&&t.push(i)}),t.sort()}function hf(n){for(var t,i=-1,r=li(n),f=r.length,u={};++i<f;)t=r[i],u[n[t]]=t;return u}function et(n){return typeof n=="function"}function lt(n){return!(!n||!t[typeof n])}function cf(n){return typeof n=="number"||n&&typeof n=="object"&&hi.call(n)==b||!1}function lr(n){return typeof n=="string"||n&&typeof n=="object"&&hi.call(n)==h||!1}function nu(n){for(var t=-1,i=li(n),r=i.length,u=vi(r);++t<r;)u[t]=n[i[t]];return u}function lf(n,t,i){var e=-1,u=dr(),f=n?n.length:0,r=!1;return i=(0>i?yi(0,f+i):i)||0,ot(n)?r=-1<u(n,t,i):typeof f=="number"?r=-1<(lr(n)?n.indexOf(t,i):u(n,t,i)):it(n,function(n){if(!(++e<i))return!(r=n===t)}),r}function af(n,t,i){var r=!0,u;if(t=tt.createCallback(t,i,3),i=-1,u=n?n.length:0,typeof u=="number")for(;++i<u&&(r=!!t(n[i],i,n)););else it(n,function(n,i,u){return r=!!t(n,i,u)});return r}function tu(n,t,i){var r=[],u,f;if(t=tt.createCallback(t,i,3),i=-1,u=n?n.length:0,typeof u=="number")for(;++i<u;)f=n[i],t(f,i,n)&&r.push(f);else it(n,function(n,i,u){t(n,i,u)&&r.push(n)});return r}function au(n,t,i){var r,f,u;if(t=tt.createCallback(t,i,3),i=-1,r=n?n.length:0,typeof r!="number")return it(n,function(n,i,r){if(t(n,i,r))return(f=n,!1)}),f;for(;++i<r;)if(u=n[i],t(u,i,n))return u}function bt(n,t,i){var r=-1,u=n?n.length:0;if(t=t&&typeof i=="undefined"?t:ai(t,i,3),typeof u=="number")for(;++r<u&&!1!==t(n[r],r,n););else it(n,t);return n}function iu(n,t,i){var r=n?n.length:0,u;if(t=t&&typeof i=="undefined"?t:ai(t,i,3),typeof r=="number")for(;r--&&!1!==t(n[r],r,n););else u=li(n),r=u.length,it(n,function(n,i,f){return i=u?u[--r]:--r,t(f[i],i,f)});return n}function ar(n,t,i){var r=-1,f=n?n.length:0,u;if(t=tt.createCallback(t,i,3),typeof f=="number")for(u=vi(f);++r<f;)u[r]=t(n[r],r,n);else u=[],it(n,function(n,i,f){u[++r]=t(n,i,f)});return u}function vf(n,t,i){var u=-1/0,r=u,e,f;if(typeof t!="function"&&i&&i[t]===n&&(t=null),null==t&&ot(n))for(i=-1,e=n.length;++i<e;)f=n[i],f>r&&(r=f);else t=null==t&&lr(n)?ct:tt.createCallback(t,i,3),bt(n,function(n,i,f){i=t(n,i,f);i>u&&(u=i,r=n)});return r}function vu(n,t,i,r){var f,u,e;if(!n)return i;if(f=3>arguments.length,t=tt.createCallback(t,r,4),u=-1,e=n.length,typeof e=="number")for(f&&(i=n[++u]);++u<e;)i=t(i,n[u],u,n);else it(n,function(n,r,u){i=f?(f=!1,n):t(i,n,r,u)});return i}function yf(n,t,i,r){var u=3>arguments.length;return t=tt.createCallback(t,r,4),iu(n,function(n,r,f){i=u?(u=!1,n):t(i,n,r,f)}),i}function pf(n){var i=-1,r=n?n.length:0,t=vi(typeof r=="number"?r:0);return bt(n,function(n){var r=hu(0,++i);t[i]=t[r];t[r]=n}),t}function wf(n,t,i){var r,u;if(t=tt.createCallback(t,i,3),i=-1,u=n?n.length:0,typeof u=="number")for(;++i<u&&!(r=t(n[i],i,n)););else it(n,function(n,i,u){return!(r=t(n,i,u))});return!!r}function yu(t,i,r){var u=0,o=t?t.length:0,f;if(typeof i!="number"&&null!=i)for(f=-1,i=tt.createCallback(i,r,3);++f<o&&i(t[f],f,t);)u++;else if(u=i,null==u||r)return t?t[0]:e;return n(t,0,br(yi(0,u),o))}function bf(n,t,i){if(typeof i=="number"){var r=n?n.length:0;i=0>i?yi(0,r+i):i||0}else if(i)return i=kf(n,t),n[i]===t?i:-1;return s(n,t,i)}function pu(t,i,r){if(typeof i!="number"&&null!=i){var u=0,f=-1,e=t?t.length:0;for(i=tt.createCallback(i,r,3);++f<e&&i(t[f],f,t);)u++}else u=null==i||r?1:yi(0,i);return n(t,u)}function kf(n,t,i,r){var u=0,f=n?n.length:u;for(i=i?tt.createCallback(i,r,1):wu,t=i(t);u<f;)r=u+f>>>1,i(n[r])<t?u=r+1:f=r;return u}function df(n,t,i,r){return typeof t!="boolean"&&null!=t&&(r=i,i=typeof t!="function"&&r&&r[t]===n?null:t,t=!1),null!=i&&(i=tt.createCallback(i,r,3)),cu(n,t,i)}function gf(){for(var n=1<arguments.length?arguments:arguments[0],t=-1,i=n?vf(uf(n,"length")):0,r=vi(0>i?0:i);++t<i;)r[t]=uf(n,t);return r}function ne(n,t){var r=-1,f=n?n.length:0,u={},i;for(t||!f||ot(n[0])||(t=[]);++r<f;)i=n[r],t?u[i]=t[r]:i&&(u[i[0]]=i[1]);return u}function te(t,i){return 2<arguments.length?pi(t,17,n(arguments,2),null,i):pi(t,1,null,null,i)}function ie(n,t,i){function w(){r&&uu(r);u=r=y=e;(a||l!==t)&&(c=ir(),s=n.apply(o,f),r||u||(f=o=null))}function p(){var i=t-(ir()-h);0<i?r=wr(p,i):(u&&uu(u),i=y,u=r=y=e,i&&(c=ir(),s=n.apply(o,f),r||u||(f=o=null)))}var f,u,s,h,o,r,y,c=0,l=!1,a=!0,v;if(!et(n))throw new bi;return(t=yi(0,t)||0,!0===i)?(v=!0,a=!1):lt(i)&&(v=i.leading,l="maxWait"in i&&(yi(t,i.maxWait)||0),a="trailing"in i?i.trailing:a),function(){var b,e,i;return(f=arguments,h=ir(),o=this,y=a&&(r||!v),!1===l)?b=v&&!r:(u||v||(c=h),e=l-(h-c),i=0>=e,i?(u&&(u=uu(u)),c=h,s=n.apply(o,f)):u||(u=wr(w,e))),i&&r?r=uu(r):r||t===l||(r=wr(p,t)),b&&(i=!0,s=n.apply(o,f)),!i||r||u||(f=o=null),s}}function wu(n){return n}function bu(n,t,i){var u=!0,f=t&&cr(t),r,e;t&&(i||f.length)||(null==i&&(i=t),r=tr,t=n,n=tt,f=cr(t));!1===i?u=!1:lt(i)&&"chain"in i&&(u=i.chain);r=n;e=et(r);bt(f,function(i){var f=n[i]=t[i];e&&(r.prototype[i]=function(){var i=this.__chain__,e=this.__wrapped__,t=[e];if(pr.apply(t,arguments),t=f.apply(n,t),u||i){if(e===t&&lt(t))return this;t=new r(t);t.__chain__=i}return t})})}function re(){}function ue(n){return function(t){return t[n]}}function fe(){return this.__wrapped__}var or;l=l?f.defaults(c.Object(),l,f.pick(c,si)):c;var vi=l.Array,pe=l.Boolean,ku=l.Date,ru=l.Function,vr=l.Math,we=l.Number,ur=l.Object,yr=l.RegExp,nr=l.String,bi=l.TypeError,fr=[],ee=ur.prototype,be=l._,hi=ee.toString,ke=yr("^"+nr(hi).replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/toString| for [^\]]+/g,".*?")+"$"),de=vr.ceil,uu=l.clearTimeout,ge=vr.floor,no=ru.prototype.toString,er=gi(er=ur.getPrototypeOf)&&er,ci=ee.hasOwnProperty,pr=fr.push,wr=l.setTimeout,oe=fr.splice,to=fr.unshift,se=function(){try{var t={},n=gi(n=ur.defineProperty)&&n,i=n(t,t,t)&&n}catch(r){}return i}(),fu=gi(fu=ur.create)&&fu,du=gi(du=vi.isArray)&&du,io=l.isFinite,ro=l.isNaN,eu=gi(eu=ur.keys)&&eu,yi=vr.max,br=vr.min,gu=l.parseInt,he=vr.random,ki={};ki[y]=vi;ki[p]=pe;ki[w]=ku;ki[pt]=ru;ki[o]=ur;ki[b]=we;ki[k]=yr;ki[h]=nr;tr.prototype=tt.prototype;or=tt.support={};or.funcDecomp=!gi(l.a)&&yt.test(ft);or.funcNames=typeof ru.name=="string";tt.templateSettings={escape:/<%-([\s\S]+?)%>/g,evaluate:/<%([\s\S]+?)%>/g,interpolate:vt,variable:"",imports:{_:tt}};fu||(sr=function(){function n(){}return function(t){if(lt(t)){n.prototype=t;var i=new n;n.prototype=null}return i||l.Object()}}());var nf=se?function(n,t){wt.value=t;se(n,"__bindData__",wt)}:re,ot=du||function(n){return n&&typeof n=="object"&&typeof n.length=="number"&&hi.call(n)==y||!1},li=eu?function(n){return lt(n)?eu(n):[]}:le,tf={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},ce=hf(tf),uo=yr("("+li(ce).join("|")+")","g"),fo=yr("["+li(tf).join("")+"]","g"),rf=er?function(n){if(!n||hi.call(n)!=o)return!1;var i=n.valueOf,t=gi(i)&&(t=er(i))&&er(t);return t?n==t||er(n)==t:of(n)}:of,eo=lu(function(n,t,i){ci.call(n,i)?n[i]++:n[i]=1}),oo=lu(function(n,t,i){(ci.call(n,i)?n[i]:n[i]=[]).push(t)}),so=lu(function(n,t,i){n[i]=t}),uf=ar,ir=gi(ir=ku.now)&&ir||function(){return(new ku).getTime()},ho=8==gu(at+"08")?gu:function(n,t){return gu(lr(n)?n.replace(ei,""):n,t||0)};return tt.after=function(n,t){if(!et(t))throw new bi;return function(){if(1>--n)return t.apply(this,arguments)}},tt.assign=kr,tt.at=function(n){for(var t=arguments,i=-1,r=di(t,!0,!1,1),t=t[2]&&t[2][t[1]]===n?1:r.length,u=vi(t);++i<t;)u[i]=n[r[i]];return u},tt.bind=te,tt.bindAll=function(n){for(var t,i=1<arguments.length?di(arguments,!0,!1,1):cr(n),r=-1,u=i.length;++r<u;)t=i[r],n[t]=pi(n[t],1,null,null,n);return n},tt.bindKey=function(t,i){return 2<arguments.length?pi(i,19,n(arguments,2),null,t):pi(i,3,null,null,t)},tt.chain=function(n){return n=new tr(n),n.__chain__=!0,n},tt.compact=function(n){for(var t,i=-1,u=n?n.length:0,r=[];++i<u;)t=n[i],t&&r.push(t);return r},tt.compose=function(){for(var n=arguments,t=n.length;t--;)if(!et(n[t]))throw new bi;return function(){for(var t=arguments,i=n.length;i--;)t=[n[i].apply(this,t)];return t[0]}},tt.constant=function(n){return function(){return n}},tt.countBy=eo,tt.create=function(n,t){var i=sr(n);return t?kr(i,t):i},tt.createCallback=function(n,t,i){var f=typeof n;if(null==n||"function"==f)return ai(n,t,i);if("object"!=f)return ue(n);var u=li(n),e=u[0],r=n[e];return 1!=u.length||r!==r||lt(r)?function(t){for(var i=u.length,r=!1;i--&&(r=rr(t[u[i]],n[u[i]],null,!0)););return r}:function(n){return n=n[e],r===n&&(0!==r||1/r==1/n)}},tt.curry=function(n,t){return t=typeof t=="number"?t:+t||n.length,pi(n,4,null,null,null,t)},tt.debounce=ie,tt.defaults=ou,tt.defer=function(t){if(!et(t))throw new bi;var i=n(arguments,1);return wr(function(){t.apply(e,i)},1)},tt.delay=function(t,i){if(!et(t))throw new bi;var r=n(arguments,2);return wr(function(){t.apply(e,r)},i)},tt.difference=function(n){return hr(n,di(arguments,!0,!0,1))},tt.filter=tu,tt.flatten=function(n,t,i,r){return typeof t!="boolean"&&null!=t&&(r=i,i=typeof t!="function"&&r&&r[t]===n?null:t,t=!1),null!=i&&(n=ar(n,i,r)),di(n,t)},tt.forEach=bt,tt.forEachRight=iu,tt.forIn=wi,tt.forInRight=function(n,t,i){var r=[],u;for(wi(n,function(n,t){r.push(t,n)}),u=r.length,t=ai(t,i,3);u--&&!1!==t(r[u--],r[u],n););return n},tt.forOwn=it,tt.forOwnRight=sf,tt.functions=cr,tt.groupBy=oo,tt.indexBy=so,tt.initial=function(t,i,r){var u=0,e=t?t.length:0,f;if(typeof i!="number"&&null!=i)for(f=e,i=tt.createCallback(i,r,3);f--&&i(t[f],f,t);)u++;else u=null==i||r?1:i||u;return n(t,0,br(yi(0,e-u),e))},tt.intersection=function(){for(var t,n,e=[],u=-1,o=arguments.length,f=r(),l=dr(),h=l===s,c=r();++u<o;)n=arguments[u],(ot(n)||gr(n))&&(e.push(n),f.push(h&&n.length>=ht&&rt(u?e[u]:c)));var h=e[0],v=-1,p=h?h.length:0,y=[];n:for(;++v<p;)if(t=f[0],n=h[v],0>(t?d(t,n):l(c,n))){for(u=o,(t||c).push(n);--u;)if(t=f[u],0>(t?d(t,n):l(e[u],n)))continue n;y.push(n)}for(;o--;)(t=f[o])&&a(t);return i(f),i(c),y},tt.invert=hf,tt.invoke=function(t,i){var f=n(arguments,2),e=-1,o=typeof i=="function",r=t?t.length:0,u=vi(typeof r=="number"?r:0);return bt(t,function(n){u[++e]=(o?i:n[i]).apply(n,f)}),u},tt.keys=li,tt.map=ar,tt.mapValues=function(n,t,i){var r={};return t=tt.createCallback(t,i,3),it(n,function(n,i,u){r[i]=t(n,i,u)}),r},tt.max=vf,tt.memoize=function(n,t){function i(){var r=i.cache,u=t?t.apply(this,arguments):st+arguments[0];return ci.call(r,u)?r[u]:r[u]=n.apply(this,arguments)}if(!et(n))throw new bi;return i.cache={},i},tt.merge=function(t){var f=arguments,u=2,e;if(!lt(t))return t;("number"!=typeof f[2]&&(u=f.length),3<u&&"function"==typeof f[u-2])?e=ai(f[--u-1],f[u--],2):2<u&&"function"==typeof f[u-1]&&(e=f[--u]);for(var f=n(arguments,1,u),o=-1,s=r(),h=r();++o<u;)ef(t,f[o],e,s,h);return i(s),i(h),t},tt.min=function(n,t,i){var u=1/0,r=u,e,f;if(typeof t!="function"&&i&&i[t]===n&&(t=null),null==t&&ot(n))for(i=-1,e=n.length;++i<e;)f=n[i],f<r&&(r=f);else t=null==t&&lr(n)?ct:tt.createCallback(t,i,3),bt(n,function(n,i,f){i=t(n,i,f);i<u&&(u=i,r=n)});return r},tt.omit=function(n,t,i){var u={},r,f;if(typeof t!="function"){r=[];wi(n,function(n,t){r.push(t)});for(var r=hr(r,di(arguments,!0,!1,1)),e=-1,o=r.length;++e<o;)f=r[e],u[f]=n[f]}else t=tt.createCallback(t,i,3),wi(n,function(n,i,r){t(n,i,r)||(u[i]=n)});return u},tt.once=function(n){var i,t;if(!et(n))throw new bi;return function(){return i?t:(i=!0,t=n.apply(this,arguments),n=null,t)}},tt.pairs=function(n){for(var i,t=-1,r=li(n),u=r.length,f=vi(u);++t<u;)i=r[t],f[t]=[i,n[i]];return f},tt.partial=function(t){return pi(t,16,n(arguments,1))},tt.partialRight=function(t){return pi(t,32,null,n(arguments,1))},tt.pick=function(n,t,i){var u={},r;if(typeof t!="function")for(var f=-1,e=di(arguments,!0,!1,1),o=lt(n)?e.length:0;++f<o;)r=e[f],r in n&&(u[r]=n[r]);else t=tt.createCallback(t,i,3),wi(n,function(n,i,r){t(n,i,r)&&(u[i]=n)});return u},tt.pluck=uf,tt.property=ue,tt.pull=function(n){for(var t,f,i=arguments,r=0,e=i.length,u=n?n.length:0;++r<e;)for(t=-1,f=i[r];++t<u;)n[t]===f&&(oe.call(n,t--,1),u--);return n},tt.range=function(n,t,i){var r,u;for(n=+n||0,i=typeof i=="number"?i:+i||1,null==t&&(t=n,n=0),r=-1,t=yi(0,de((t-n)/(i||1))),u=vi(t);++r<t;)u[r]=n,n+=i;return u},tt.reject=function(n,t,i){return t=tt.createCallback(t,i,3),tu(n,function(n,i,r){return!t(n,i,r)})},tt.remove=function(n,t,i){var r=-1,u=n?n.length:0,f=[];for(t=tt.createCallback(t,i,3);++r<u;)i=n[r],t(i,r,n)&&(f.push(i),oe.call(n,r--,1),u--);return f},tt.rest=pu,tt.shuffle=pf,tt.sortBy=function(n,t,u){var s=-1,o=ot(t),f=n?n.length:0,e=vi(typeof f=="number"?f:0);for(o||(t=tt.createCallback(t,u,3)),bt(n,function(n,i,u){var f=e[++s]=ut();o?f.m=ar(t,function(t){return n[t]}):(f.m=r())[0]=t(n,i,u);f.n=s;f.o=n}),f=e.length,e.sort(kt);f--;)n=e[f],e[f]=n.o,o||i(n.m),a(n);return e},tt.tap=function(n,t){return t(n),n},tt.throttle=function(n,t,i){var r=!0,u=!0;if(!et(n))throw new bi;return!1===i?r=!1:lt(i)&&(r="leading"in i?i.leading:r,u="trailing"in i?i.trailing:u),nt.leading=r,nt.maxWait=t,nt.trailing=u,ie(n,t,nt)},tt.times=function(n,t,i){n=-1<(n=+n)?n:0;var r=-1,u=vi(n);for(t=ai(t,i,1);++r<n;)u[r]=t(r);return u},tt.toArray=function(t){return t&&typeof t.length=="number"?n(t):nu(t)},tt.transform=function(n,t,i,r){var f=ot(n),u;return null==i&&(f?i=[]:(u=n&&n.constructor,i=sr(u&&u.prototype))),t&&(t=tt.createCallback(t,r,4),(f?bt:it)(n,function(n,r,u){return t(i,n,r,u)})),i},tt.union=function(){return cu(di(arguments,!0,!0))},tt.uniq=df,tt.values=nu,tt.where=tu,tt.without=function(t){return hr(t,n(arguments,1))},tt.wrap=function(n,t){return pi(t,16,[n])},tt.xor=function(){for(var n,t,i=-1,r=arguments.length;++i<r;)n=arguments[i],(ot(n)||gr(n))&&(t=t?cu(hr(t,n).concat(hr(n,t))):n);return t||[]},tt.zip=gf,tt.zipObject=ne,tt.collect=ar,tt.drop=pu,tt.each=bt,tt.eachRight=iu,tt.extend=kr,tt.methods=cr,tt.object=ne,tt.select=tu,tt.tail=pu,tt.unique=df,tt.unzip=gf,bu(tt),tt.clone=function(n,t,i,r){return typeof t!="boolean"&&null!=t&&(r=i,i=t,t=!1),su(n,t,typeof i=="function"&&ai(i,r,1))},tt.cloneDeep=function(n,t,i){return su(n,!0,typeof t=="function"&&ai(t,i,1))},tt.contains=lf,tt.escape=function(n){return null==n?"":nr(n).replace(fo,ve)},tt.every=af,tt.find=au,tt.findIndex=function(n,t,i){var r=-1,u=n?n.length:0;for(t=tt.createCallback(t,i,3);++r<u;)if(t(n[r],r,n))return r;return-1},tt.findKey=function(n,t,i){var r;return t=tt.createCallback(t,i,3),it(n,function(n,i,u){if(t(n,i,u))return(r=i,!1)}),r},tt.findLast=function(n,t,i){var r;return t=tt.createCallback(t,i,3),iu(n,function(n,i,u){if(t(n,i,u))return(r=n,!1)}),r},tt.findLastIndex=function(n,t,i){var r=n?n.length:0;for(t=tt.createCallback(t,i,3);r--;)if(t(n[r],r,n))return r;return-1},tt.findLastKey=function(n,t,i){var r;return t=tt.createCallback(t,i,3),sf(n,function(n,i,u){if(t(n,i,u))return(r=i,!1)}),r},tt.has=function(n,t){return n?ci.call(n,t):!1},tt.identity=wu,tt.indexOf=bf,tt.isArguments=gr,tt.isArray=ot,tt.isBoolean=function(n){return!0===n||!1===n||n&&typeof n=="object"&&hi.call(n)==p||!1},tt.isDate=function(n){return n&&typeof n=="object"&&hi.call(n)==w||!1},tt.isElement=function(n){return n&&1===n.nodeType||!1},tt.isEmpty=function(n){var i=!0,t,r;return n?(t=hi.call(n),r=n.length,t==y||t==h||t==v||t==o&&typeof r=="number"&&et(n.splice)?!r:(it(n,function(){return i=!1}),i)):i},tt.isEqual=function(n,t,i,r){return rr(n,t,typeof i=="function"&&ai(i,r,2))},tt.isFinite=function(n){return io(n)&&!ro(parseFloat(n))},tt.isFunction=et,tt.isNaN=function(n){return cf(n)&&n!=+n},tt.isNull=function(n){return null===n},tt.isNumber=cf,tt.isObject=lt,tt.isPlainObject=rf,tt.isRegExp=function(n){return n&&typeof n=="object"&&hi.call(n)==k||!1},tt.isString=lr,tt.isUndefined=function(n){return typeof n=="undefined"},tt.lastIndexOf=function(n,t,i){var r=n?n.length:0;for(typeof i=="number"&&(r=(0>i?yi(0,r+i):br(i,r-1))+1);r--;)if(n[r]===t)return r;return-1},tt.mixin=bu,tt.noConflict=function(){return l._=be,this},tt.noop=re,tt.now=ir,tt.parseInt=ho,tt.random=function(n,t,i){var u=null==n,r=null==t;return null==i&&(typeof n=="boolean"&&r?(i=n,n=1):r||typeof t!="boolean"||(i=t,r=!0)),u&&r&&(t=1),n=+n||0,r?(t=n,n=0):t=+t||0,i||n%1||t%1?(i=he(),br(n+i*(t-n+parseFloat("1e-"+((i+"").length-1))),t)):hu(n,t)},tt.reduce=vu,tt.reduceRight=yf,tt.result=function(n,t){if(n){var i=n[t];return et(i)?n[t]():i}},tt.runInContext=ft,tt.size=function(n){var t=n?n.length:0;return typeof t=="number"?t:li(n).length},tt.some=wf,tt.sortedIndex=kf,tt.template=function(n,t,i){var o=tt.templateSettings,f;n=nr(n||"");i=ou({},i,o);var s,h=ou({},i.imports,o.imports),o=li(h),h=nu(h),c=0,u=i.interpolate||g,r="__p+='",u=yr((i.escape||g).source+"|"+u.source+"|"+(u===vt?ri:g).source+"|"+(i.evaluate||g).source+"|$","g");n.replace(u,function(t,i,u,f,e,o){return u||(u=f),r+=n.slice(c,o).replace(oi,dt),i&&(r+="'+__e("+i+")+'"),e&&(s=!0,r+="';"+e+";\n__p+='"),u&&(r+="'+((__t=("+u+"))==null?'':__t)+'"),c=o+t.length,t});r+="';";u=i=i.variable;u||(i="obj",r="with("+i+"){"+r+"}");r=(s?r.replace(ni,""):r).replace(ti,"$1").replace(ii,"$1;");r="function("+i+"){"+(u?"":i+"||("+i+"={});")+"var __t,__p='',__e=_.escape"+(s?",__j=Array.prototype.join;function print(){__p+=__j.call(arguments,'')}":";")+r+"return __p}";try{f=ru(o,"return "+r).apply(e,h)}catch(l){throw l.source=r,l;}return t?f(t):(f.source=r,f)},tt.unescape=function(n){return null==n?"":nr(n).replace(uo,ye)},tt.uniqueId=function(n){var t=++gt;return nr(null==n?"":n)+t},tt.all=af,tt.any=wf,tt.detect=au,tt.findWhere=au,tt.foldl=vu,tt.foldr=yf,tt.include=lf,tt.inject=vu,bu(function(){var n={};return it(tt,function(t,i){tt.prototype[i]||(n[i]=t)}),n}(),!1),tt.first=yu,tt.last=function(t,i,r){var u=0,o=t?t.length:0,f;if(typeof i!="number"&&null!=i)for(f=o,i=tt.createCallback(i,r,3);f--&&i(t[f],f,t);)u++;else if(u=i,null==u||r)return t?t[o-1]:e;return n(t,yi(0,o-u))},tt.sample=function(n,t,i){return n&&typeof n.length!="number"&&(n=nu(n)),null==t||i?n?n[hu(0,n.length-1)]:e:(n=pf(n),n.length=br(yi(0,t),n.length),n)},tt.take=yu,tt.head=yu,it(tt,function(n,t){var i="sample"!==t;tt.prototype[t]||(tt.prototype[t]=function(t,r){var u=this.__chain__,f=n(this.__wrapped__,t,r);return u||null!=t&&(!r||i&&typeof t=="function")?new tr(f,u):f})}),tt.VERSION="2.4.1",tt.prototype.chain=function(){return this.__chain__=!0,this},tt.prototype.toString=function(){return nr(this.__wrapped__)},tt.prototype.value=fe,tt.prototype.valueOf=fe,bt(["join","pop","shift"],function(n){var t=fr[n];tt.prototype[n]=function(){var n=this.__chain__,i=t.apply(this.__wrapped__,arguments);return n?new tr(i,n):i}}),bt(["push","reverse","sort","unshift"],function(n){var t=fr[n];tt.prototype[n]=function(){return t.apply(this.__wrapped__,arguments),this}}),bt(["concat","slice","splice"],function(n){var t=fr[n];tt.prototype[n]=function(){return new tr(t.apply(this.__wrapped__,arguments),this.__chain__)}}),tt}var e,et=[],ot=[],gt=0,st=+new Date+"",ht=75,lt=40,at=" \t\x0b\f ﻿\n\r\u2028\u2029 ᠎             　",ni=/\b__p\+='';/g,ti=/\b(__p\+=)''\+/g,ii=/(__e\(.*?\)|\b__t\))\+'';/g,ri=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,ui=/\w*$/,fi=/^\s*function[ \n\r\t]+\w/,vt=/<%=([\s\S]+?)%>/g,ei=RegExp("^["+at+"]*0+(?=.$)"),g=/($^)/,yt=/\bthis\b/,oi=/['\n\r\t\u2028\u2029\\]/g,si="Array Boolean Date Function Math Number Object RegExp String _ attachEvent clearTimeout isFinite isNaN parseInt setTimeout".split(" "),v="[object Arguments]",y="[object Array]",p="[object Boolean]",w="[object Date]",pt="[object Function]",b="[object Number]",o="[object Object]",k="[object RegExp]",h="[object String]",u={},f;u[pt]=!1;u[v]=u[y]=u[p]=u[w]=u[b]=u[o]=u[k]=u[h]=!0;var nt={leading:!1,maxWait:0,trailing:!1},wt={configurable:!1,enumerable:!1,value:null,writable:!1},t={boolean:!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},hi={"\\":"\\","'":"'","\n":"n","\r":"r","\t":"t","\u2028":"u2028","\u2029":"u2029"},c=t[typeof window]&&window||this,tt=t[typeof exports]&&exports&&!exports.nodeType&&exports,it=t[typeof module]&&module&&!module.nodeType&&module,ci=it&&it.exports===tt&&tt,l=t[typeof global]&&global;l&&(l.global===l||l.window===l)&&(c=l);f=ft();typeof define=="function"&&typeof define.amd=="object"&&define.amd?(c._=f,define(function(){return f})):tt&&it?ci?(it.exports=f)._=f:tt._=f:c._=f}).call(this),function(n,t,i){"use strict";function u(n,i){i=i||{};t.forEach(i,function(n,t){delete i[t]});for(var r in n)n.hasOwnProperty(r)&&("$"!==r.charAt(0)||"$"!==r.charAt(1))&&(i[r]=n[r]);return i}var r=t.$$minErr("$resource"),f=/^(\.[a-zA-Z_$][0-9a-zA-Z_$]*)+$/;t.module("ngResource",["ng"]).provider("$resource",function(){var n=this;this.defaults={stripTrailingSlashes:!0,actions:{get:{method:"GET"},save:{method:"POST"},query:{method:"GET",isArray:!0},remove:{method:"DELETE"},"delete":{method:"DELETE"}}};this.$get=["$http","$q",function(e,o){function l(t,i){this.template=t;this.defaults=h({},n.defaults,i);this.urlParams={}}function a(p,w,b,k){function g(n,t){var u={};return t=h({},w,t),s(t,function(t,e){var s,o,l;if(c(t)&&(t=t()),t&&t.charAt&&"@"==t.charAt(0)){if(s=n,o=t.substr(1),null==o||""===o||"hasOwnProperty"===o||!f.test("."+o))throw r("badmember",o);for(var o=o.split("."),h=0,a=o.length;h<a&&s!==i;h++)l=o[h],s=null!==s?s[l]:i}else s=t;u[e]=s}),u}function nt(n){return n.resource}function d(n){u(n||{},this)}var tt=new l(p,k);return b=h({},n.defaults.actions,b),d.prototype.toJSON=function(){var n=h({},this);return delete n.$promise,delete n.$resolved,n},s(b,function(n,f){var l=/^(POST|PUT|PATCH)$/i.test(n.method);d[f]=function(a,p,w,b){var it={},rt,ut,ft;switch(arguments.length){case 4:ft=b;ut=w;case 3:case 2:if(c(p)){if(c(a)){ut=a;ft=p;break}ut=p;ft=w}else{it=a;rt=p;ut=w;break}case 1:c(a)?ut=a:l?rt=a:it=a;break;case 0:break;default:throw r("badargs",arguments.length);}var ot=this instanceof d,k=ot?rt:n.isArray?[]:new d(rt),et={},st=n.interceptor&&n.interceptor.response||nt,ht=n.interceptor&&n.interceptor.responseError||i;return s(n,function(n,t){"params"!=t&&"isArray"!=t&&"interceptor"!=t&&(et[t]=y(n))}),l&&(et.data=rt),tt.setUrlParams(et,h({},g(rt,n.params||{}),it),n.url),it=e(et).then(function(i){var e=i.data,o=k.$promise;if(e){if(t.isArray(e)!==!!n.isArray)throw r("badcfg",f,n.isArray?"array":"object",t.isArray(e)?"array":"object");n.isArray?(k.length=0,s(e,function(n){"object"==typeof n?k.push(new d(n)):k.push(n)})):(u(e,k),k.$promise=o)}return k.$resolved=!0,i.resource=k,i},function(n){return k.$resolved=!0,(ft||v)(n),o.reject(n)}),it=it.then(function(n){var t=st(n);return(ut||v)(t,n.headers),t},ht),ot?it:(k.$promise=it,k.$resolved=!1,k)};d.prototype["$"+f]=function(n,t,i){return c(n)&&(i=t,t=n,n={}),n=d[f].call(this,n,this,t,i),n.$promise||n}}),d.bind=function(n){return a(p,h({},w,n),b)},d}var v=t.noop,s=t.forEach,h=t.extend,y=t.copy,c=t.isFunction;return l.prototype={setUrlParams:function(n,i,u){var e=this,f=u||e.template,o,h,c=e.urlParams={};s(f.split(/\W/),function(n){if("hasOwnProperty"===n)throw r("badname");!/^\d+$/.test(n)&&n&&new RegExp("(^|[^\\\\]):"+n+"(\\W|$)").test(f)&&(c[n]=!0)});f=f.replace(/\\:/g,":");i=i||{};s(e.urlParams,function(n,r){o=i.hasOwnProperty(r)?i[r]:e.defaults[r];t.isDefined(o)&&null!==o?(h=encodeURIComponent(o).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,"+"),f=f.replace(new RegExp(":"+r+"(\\W|$)","g"),function(n,t){return h+t})):f=f.replace(new RegExp("(/?):"+r+"(\\W|$)","g"),function(n,t,i){return"/"==i.charAt(0)?i:t+i})});e.defaults.stripTrailingSlashes&&(f=f.replace(/\/+$/,"")||"/");f=f.replace(/\/\.(?=\w+($|\?))/,".");n.url=f.replace(/\/\\\./,"/.");s(i,function(t,i){e.urlParams[i]||(n.params=n.params||{},n.params[i]=t)})}},a}]})}(window,window.angular);angular.module("ivpusic.cookie",["ipCookie"]);angular.module("ipCookie",["ng"]).factory("ipCookie",["$document",function(n){"use strict";function t(n){try{return decodeURIComponent(n)}catch(t){}}return function(){function i(i,r,u){var o,s,h,c,l,e,a,v,f;if(u=u||{},void 0!==r)return r="object"==typeof r?JSON.stringify(r):r+"","number"==typeof u.expires&&(f=u.expires,u.expires=new Date,-1===f?u.expires=new Date("Thu, 01 Jan 1970 00:00:00 GMT"):void 0!==u.expirationUnit?"hours"===u.expirationUnit?u.expires.setHours(u.expires.getHours()+f):"minutes"===u.expirationUnit?u.expires.setMinutes(u.expires.getMinutes()+f):"seconds"===u.expirationUnit?u.expires.setSeconds(u.expires.getSeconds()+f):u.expires.setDate(u.expires.getDate()+f):u.expires.setDate(u.expires.getDate()+f)),n[0].cookie=[encodeURIComponent(i),"=",encodeURIComponent(r),u.expires?"; expires="+u.expires.toUTCString():"",u.path?"; path="+u.path:"",u.domain?"; domain="+u.domain:"",u.secure?"; secure":""].join("");for(s=[],v=n[0].cookie,v&&(s=v.split("; ")),o={},a=!1,h=0;s.length>h;++h)if(s[h]){if(c=s[h],l=c.indexOf("="),e=c.substring(0,l),r=t(c.substring(l+1)),angular.isUndefined(r))continue;if(void 0===i||i===e){try{o[e]=JSON.parse(r)}catch(y){o[e]=r}if(i===e)return o[e];a=!0}}if(a&&void 0===i)return o}return i.remove=function(n,t){var r=void 0!==i(n);return r&&(t||(t={}),t.expires=-1,i(n,"",t)),r},i}()}]);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.dateparser","ui.bootstrap.position","ui.bootstrap.datepicker","ui.bootstrap.dropdown","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/day.html","template/datepicker/month.html","template/datepicker/popup.html","template/datepicker/year.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(n,t,i){function u(n){for(var t in n)if(void 0!==f.style[t])return n[t]}var r=function(u,f,e){e=e||{};var s=n.defer(),o=r[e.animation?"animationEndEventName":"transitionEndEventName"],h=function(){i.$apply(function(){u.unbind(o,h);s.resolve(u)})};return o&&u.bind(o,h),t(function(){angular.isString(f)?u.addClass(f):angular.isFunction(f)?f(u):angular.isObject(f)&&u.css(f);o||s.resolve(u)}),s.promise.cancel=function(){o&&u.unbind(o,h);s.reject("Transition cancelled")},s.promise},f=document.createElement("trans");return r.transitionEndEventName=u({WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd",transition:"transitionend"}),r.animationEndEventName=u({WebkitTransition:"webkitAnimationEnd",MozTransition:"animationend",OTransition:"oAnimationEnd",transition:"animationend"}),r}]);angular.module("ui.bootstrap.collapse",["ui.bootstrap.transition"]).directive("collapse",["$transition",function(n){return{link:function(t,i,r){function e(t){function f(){u===r&&(u=void 0)}var r=n(i,t);return u&&u.cancel(),u=r,r.then(f,f),r}function h(){f?(f=!1,o()):(i.removeClass("collapse").addClass("collapsing"),e({height:i[0].scrollHeight+"px"}).then(o))}function o(){i.removeClass("collapsing");i.addClass("collapse in");i.css({height:"auto"})}function c(){f?(f=!1,s(),i.css({height:0})):(i.css({height:i[0].scrollHeight+"px"}),i[0].offsetWidth,i.removeClass("collapse in").addClass("collapsing"),e({height:0}).then(s))}function s(){i.removeClass("collapsing");i.addClass("collapse")}var u,f=!0;t.$watch(r.collapse,function(n){n?c():h()})}}}]);angular.module("ui.bootstrap.accordion",["ui.bootstrap.collapse"]).constant("accordionConfig",{closeOthers:!0}).controller("AccordionController",["$scope","$attrs","accordionConfig",function(n,t,i){this.groups=[];this.closeOthers=function(r){var u=angular.isDefined(t.closeOthers)?n.$eval(t.closeOthers):i.closeOthers;u&&angular.forEach(this.groups,function(n){n!==r&&(n.isOpen=!1)})};this.addGroup=function(n){var t=this;this.groups.push(n);n.$on("$destroy",function(){t.removeGroup(n)})};this.removeGroup=function(n){var t=this.groups.indexOf(n);-1!==t&&this.groups.splice(t,1)}}]).directive("accordion",function(){return{restrict:"EA",controller:"AccordionController",transclude:!0,replace:!1,templateUrl:"template/accordion/accordion.html"}}).directive("accordionGroup",function(){return{require:"^accordion",restrict:"EA",transclude:!0,replace:!0,templateUrl:"template/accordion/accordion-group.html",scope:{heading:"@",isOpen:"=?",isDisabled:"=?"},controller:function(){this.setHeading=function(n){this.heading=n}},link:function(n,t,i,r){r.addGroup(n);n.$watch("isOpen",function(t){t&&r.closeOthers(n)});n.toggleOpen=function(){n.isDisabled||(n.isOpen=!n.isOpen)}}}}).directive("accordionHeading",function(){return{restrict:"EA",transclude:!0,template:"",replace:!0,require:"^accordionGroup",link:function(n,t,i,r,u){r.setHeading(u(n,function(){}))}}}).directive("accordionTransclude",function(){return{require:"^accordionGroup",link:function(n,t,i,r){n.$watch(function(){return r[i.accordionTransclude]},function(n){n&&(t.html(""),t.append(n))})}}});angular.module("ui.bootstrap.alert",[]).controller("AlertController",["$scope","$attrs",function(n,t){n.closeable="close"in t;this.close=n.close}]).directive("alert",function(){return{restrict:"EA",controller:"AlertController",templateUrl:"template/alert/alert.html",transclude:!0,replace:!0,scope:{type:"@",close:"&"}}}).directive("dismissOnTimeout",["$timeout",function(n){return{require:"alert",link:function(t,i,r,u){n(function(){u.close()},parseInt(r.dismissOnTimeout,10))}}}]);angular.module("ui.bootstrap.bindHtml",[]).directive("bindHtmlUnsafe",function(){return function(n,t,i){t.addClass("ng-binding").data("$binding",i.bindHtmlUnsafe);n.$watch(i.bindHtmlUnsafe,function(n){t.html(n||"")})}});angular.module("ui.bootstrap.buttons",[]).constant("buttonConfig",{activeClass:"active",toggleEvent:"click"}).controller("ButtonsController",["buttonConfig",function(n){this.activeClass=n.activeClass||"active";this.toggleEvent=n.toggleEvent||"click"}]).directive("btnRadio",function(){return{require:["btnRadio","ngModel"],controller:"ButtonsController",link:function(n,t,i,r){var f=r[0],u=r[1];u.$render=function(){t.toggleClass(f.activeClass,angular.equals(u.$modelValue,n.$eval(i.btnRadio)))};t.bind(f.toggleEvent,function(){var r=t.hasClass(f.activeClass);(!r||angular.isDefined(i.uncheckable))&&n.$apply(function(){u.$setViewValue(r?null:n.$eval(i.btnRadio));u.$render()})})}}}).directive("btnCheckbox",function(){return{require:["btnCheckbox","ngModel"],controller:"ButtonsController",link:function(n,t,i,r){function e(){return o(i.btnCheckboxTrue,!0)}function s(){return o(i.btnCheckboxFalse,!1)}function o(t,i){var r=n.$eval(t);return angular.isDefined(r)?r:i}var f=r[0],u=r[1];u.$render=function(){t.toggleClass(f.activeClass,angular.equals(u.$modelValue,e()))};t.bind(f.toggleEvent,function(){n.$apply(function(){u.$setViewValue(t.hasClass(f.activeClass)?s():e());u.$render()})})}}});angular.module("ui.bootstrap.carousel",["ui.bootstrap.transition"]).controller("CarouselController",["$scope","$timeout","$interval","$transition",function(n,t,i,r){function h(){c();var t=+n.interval;!isNaN(t)&&t>0&&(o=i(a,t))}function c(){o&&(i.cancel(o),o=null)}function a(){var t=+n.interval;s&&!isNaN(t)&&t>0?n.next():n.pause()}var o,s,f=this,u=f.slides=n.slides=[],e=-1,l;f.currentSlide=null;l=!1;f.select=n.select=function(i,o){function c(){l||(f.currentSlide&&angular.isString(o)&&!n.noTransition&&i.$element?(i.$element.addClass(o),i.$element[0].offsetWidth,angular.forEach(u,function(n){angular.extend(n,{direction:"",entering:!1,leaving:!1,active:!1})}),angular.extend(i,{direction:o,active:!0,entering:!0}),angular.extend(f.currentSlide||{},{direction:o,leaving:!0}),n.$currentTransition=r(i.$element,{}),function(t,i){n.$currentTransition.then(function(){s(t,i)},function(){s(t,i)})}(i,f.currentSlide)):s(i,f.currentSlide),f.currentSlide=i,e=a,h())}function s(t,i){angular.extend(t,{direction:"",active:!0,leaving:!1,entering:!1});angular.extend(i||{},{direction:"",active:!1,leaving:!1,entering:!1});n.$currentTransition=null}var a=u.indexOf(i);void 0===o&&(o=a>e?"next":"prev");i&&i!==f.currentSlide&&(n.$currentTransition?(n.$currentTransition.cancel(),t(c)):c())};n.$on("$destroy",function(){l=!0});f.indexOfSlide=function(n){return u.indexOf(n)};n.next=function(){var t=(e+1)%u.length;if(!n.$currentTransition)return f.select(u[t],"next")};n.prev=function(){var t=0>e-1?u.length-1:e-1;if(!n.$currentTransition)return f.select(u[t],"prev")};n.isActive=function(n){return f.currentSlide===n};n.$watch("interval",h);n.$on("$destroy",c);n.play=function(){s||(s=!0,h())};n.pause=function(){n.noPause||(s=!1,c())};f.addSlide=function(t,i){t.$element=i;u.push(t);1===u.length||t.active?(f.select(u[u.length-1]),1==u.length&&n.play()):t.active=!1};f.removeSlide=function(n){var t=u.indexOf(n);u.splice(t,1);u.length>0&&n.active?f.select(t>=u.length?u[t-1]:u[t]):e>t&&e--}}]).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",function(){return{require:"^carousel",restrict:"EA",transclude:!0,replace:!0,templateUrl:"template/carousel/slide.html",scope:{active:"=?"},link:function(n,t,i,r){r.addSlide(n,t);n.$on("$destroy",function(){r.removeSlide(n)});n.$watch("active",function(t){t&&r.select(n)})}}});angular.module("ui.bootstrap.dateparser",[]).service("dateParser",["$locale","orderByFilter",function(n,t){function i(n){var r=[],i=n.split("");return angular.forEach(u,function(t,u){var f=n.indexOf(u),e,o;if(f>-1){for(n=n.split(""),i[f]="("+t.regex+")",n[f]="$",e=f+1,o=f+u.length;o>e;e++)i[e]="",n[e]="$";n=n.join("");r.push({index:f,apply:t.apply})}}),{regex:new RegExp("^"+i.join("")+"$"),map:t(r,"index")}}function r(n,t,i){return 1===t&&i>28?29===i&&(n%4==0&&n%100!=0||n%400==0):3===t||5===t||8===t||10===t?31>i:!0}this.parsers={};var u={yyyy:{regex:"\\d{4}",apply:function(n){this.year=+n}},yy:{regex:"\\d{2}",apply:function(n){this.year=+n+2e3}},y:{regex:"\\d{1,4}",apply:function(n){this.year=+n}},MMMM:{regex:n.DATETIME_FORMATS.MONTH.join("|"),apply:function(t){this.month=n.DATETIME_FORMATS.MONTH.indexOf(t)}},MMM:{regex:n.DATETIME_FORMATS.SHORTMONTH.join("|"),apply:function(t){this.month=n.DATETIME_FORMATS.SHORTMONTH.indexOf(t)}},MM:{regex:"0[1-9]|1[0-2]",apply:function(n){this.month=n-1}},M:{regex:"[1-9]|1[0-2]",apply:function(n){this.month=n-1}},dd:{regex:"[0-2][0-9]{1}|3[0-1]{1}",apply:function(n){this.date=+n}},d:{regex:"[1-2]?[0-9]{1}|3[0-1]{1}",apply:function(n){this.date=+n}},EEEE:{regex:n.DATETIME_FORMATS.DAY.join("|")},EEE:{regex:n.DATETIME_FORMATS.SHORTDAY.join("|")}};this.parse=function(t,u){var s;if(!angular.isString(t)||!u)return t;u=n.DATETIME_FORMATS[u]||u;this.parsers[u]||(this.parsers[u]=i(u));var h=this.parsers[u],l=h.regex,a=h.map,e=t.match(l);if(e&&e.length){for(var c,f={year:1900,month:0,date:1,hours:0},o=1,v=e.length;v>o;o++)s=a[o-1],s.apply&&s.apply.call(f,e[o]);return r(f.year,f.month,f.date)&&(c=new Date(f.year,f.month,f.date,f.hours)),c}}}]);angular.module("ui.bootstrap.position",[]).factory("$position",["$document","$window",function(n,t){function i(n,i){return n.currentStyle?n.currentStyle[i]:t.getComputedStyle?t.getComputedStyle(n)[i]:n.style[i]}function r(n){return"static"===(i(n,"position")||"static")}var u=function(t){for(var u=n[0],i=t.offsetParent||u;i&&i!==u&&r(i);)i=i.offsetParent;return i||u};return{position:function(t){var e=this.offset(t),r={top:0,left:0},i=u(t[0]),f;return i!=n[0]&&(r=this.offset(angular.element(i)),r.top+=i.clientTop-i.scrollTop,r.left+=i.clientLeft-i.scrollLeft),f=t[0].getBoundingClientRect(),{width:f.width||t.prop("offsetWidth"),height:f.height||t.prop("offsetHeight"),top:e.top-r.top,left:e.left-r.left}},offset:function(i){var r=i[0].getBoundingClientRect();return{width:r.width||i.prop("offsetWidth"),height:r.height||i.prop("offsetHeight"),top:r.top+(t.pageYOffset||n[0].documentElement.scrollTop),left:r.left+(t.pageXOffset||n[0].documentElement.scrollLeft)}},positionElements:function(n,t,i,r){var u,h,c,f,a=i.split("-"),l=a[0],e=a[1]||"center",o,s;u=r?this.offset(n):this.position(n);h=t.prop("offsetWidth");c=t.prop("offsetHeight");o={center:function(){return u.left+u.width/2-h/2},left:function(){return u.left},right:function(){return u.left+u.width}};s={center:function(){return u.top+u.height/2-c/2},top:function(){return u.top},bottom:function(){return u.top+u.height}};switch(l){case"right":f={top:s[e](),left:o[l]()};break;case"left":f={top:s[e](),left:u.left-h};break;case"bottom":f={top:s[l](),left:o[e]()};break;default:f={top:u.top-c,left:o[e]()}}return f}}}]);angular.module("ui.bootstrap.datepicker",["ui.bootstrap.dateparser","ui.bootstrap.position"]).constant("datepickerConfig",{formatDay:"dd",formatMonth:"MMMM",formatYear:"yyyy",formatDayHeader:"EEE",formatDayTitle:"MMMM yyyy",formatMonthTitle:"yyyy",datepickerMode:"day",minMode:"day",maxMode:"year",showWeeks:!0,startingDay:0,yearRange:20,minDate:null,maxDate:null}).controller("DatepickerController",["$scope","$attrs","$parse","$interpolate","$timeout","$log","dateFilter","datepickerConfig",function(n,t,i,r,u,f,e,o){var s=this,h={$setViewValue:angular.noop},c;this.modes=["day","month","year"];angular.forEach(["formatDay","formatMonth","formatYear","formatDayHeader","formatDayTitle","formatMonthTitle","minMode","maxMode","showWeeks","startingDay","yearRange"],function(i,u){s[i]=angular.isDefined(t[i])?8>u?r(t[i])(n.$parent):n.$parent.$eval(t[i]):o[i]});angular.forEach(["minDate","maxDate"],function(r){t[r]?n.$parent.$watch(i(t[r]),function(n){s[r]=n?new Date(n):null;s.refreshView()}):s[r]=o[r]?new Date(o[r]):null});n.datepickerMode=n.datepickerMode||o.datepickerMode;n.uniqueId="datepicker-"+n.$id+"-"+Math.floor(1e4*Math.random());this.activeDate=angular.isDefined(t.initDate)?n.$parent.$eval(t.initDate):new Date;n.isActive=function(t){return 0===s.compare(t.date,s.activeDate)?(n.activeDateId=t.uid,!0):!1};this.init=function(n){h=n;h.$render=function(){s.render()}};this.render=function(){if(h.$modelValue){var n=new Date(h.$modelValue),t=!isNaN(n);t?this.activeDate=n:f.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.');h.$setValidity("date",t)}this.refreshView()};this.refreshView=function(){if(this.element){this._refreshView();var n=h.$modelValue?new Date(h.$modelValue):null;h.$setValidity("date-disabled",!n||this.element&&!this.isDisabled(n))}};this.createDateObject=function(n,t){var i=h.$modelValue?new Date(h.$modelValue):null;return{date:n,label:e(n,t),selected:i&&0===this.compare(n,i),disabled:this.isDisabled(n),current:0===this.compare(n,new Date)}};this.isDisabled=function(i){return this.minDate&&this.compare(i,this.minDate)<0||this.maxDate&&this.compare(i,this.maxDate)>0||t.dateDisabled&&n.dateDisabled({date:i,mode:n.datepickerMode})};this.split=function(n,t){for(var i=[];n.length>0;)i.push(n.splice(0,t));return i};n.select=function(t){if(n.datepickerMode===s.minMode){var i=h.$modelValue?new Date(h.$modelValue):new Date(0,0,0,0,0,0,0);i.setFullYear(t.getFullYear(),t.getMonth(),t.getDate());h.$setViewValue(i);h.$render()}else s.activeDate=t,n.datepickerMode=s.modes[s.modes.indexOf(n.datepickerMode)-1]};n.move=function(n){var t=s.activeDate.getFullYear()+n*(s.step.years||0),i=s.activeDate.getMonth()+n*(s.step.months||0);s.activeDate.setFullYear(t,i,1);s.refreshView()};n.toggleMode=function(t){t=t||1;n.datepickerMode===s.maxMode&&1===t||n.datepickerMode===s.minMode&&-1===t||(n.datepickerMode=s.modes[s.modes.indexOf(n.datepickerMode)+t])};n.keys={13:"enter",32:"space",33:"pageup",34:"pagedown",35:"end",36:"home",37:"left",38:"up",39:"right",40:"down"};c=function(){u(function(){s.element[0].focus()},0,!1)};n.$on("datepicker.focus",c);n.keydown=function(t){var i=n.keys[t.which];if(i&&!t.shiftKey&&!t.altKey)if(t.preventDefault(),t.stopPropagation(),"enter"===i||"space"===i){if(s.isDisabled(s.activeDate))return;n.select(s.activeDate);c()}else!t.ctrlKey||"up"!==i&&"down"!==i?(s.handleKeyDown(i,t),s.refreshView()):(n.toggleMode("up"===i?1:-1),c())}}]).directive("datepicker",function(){return{restrict:"EA",replace:!0,templateUrl:"template/datepicker/datepicker.html",scope:{datepickerMode:"=?",dateDisabled:"&"},require:["datepicker","?^ngModel"],controller:"DatepickerController",link:function(n,t,i,r){var f=r[0],u=r[1];u&&f.init(u)}}}).directive("daypicker",["dateFilter",function(n){return{restrict:"EA",replace:!0,templateUrl:"template/datepicker/day.html",require:"^datepicker",link:function(t,i,r,u){function f(n,t){return 1!==t||n%4!=0||n%100==0&&n%400!=0?s[t]:29}function e(n,t){var r=new Array(t),i=new Date(n),u=0;for(i.setHours(12);t>u;)r[u++]=new Date(i),i.setDate(i.getDate()+1);return r}function o(n){var t=new Date(n),i;return t.setDate(t.getDate()+4-(t.getDay()||7)),i=t.getTime(),t.setMonth(0),t.setDate(1),Math.floor(Math.round((i-t)/864e5)/7)+1}t.showWeeks=u.showWeeks;u.step={months:1};u.element=i;var s=[31,28,31,30,31,30,31,31,30,31,30,31];u._refreshView=function(){var p=u.activeDate.getFullYear(),h=u.activeDate.getMonth(),c=new Date(p,h,1),s=u.startingDay-c.getDay(),l=s>0?7-s:-s,a=new Date(c),i,r,f,v,y;for(l>0&&a.setDate(-l+1),i=e(a,42),r=0;42>r;r++)i[r]=angular.extend(u.createDateObject(i[r],u.formatDay),{secondary:i[r].getMonth()!==h,uid:t.uniqueId+"-"+r});for(t.labels=new Array(7),f=0;7>f;f++)t.labels[f]={abbr:n(i[f].date,u.formatDayHeader),full:n(i[f].date,"EEEE")};if(t.title=n(u.activeDate,u.formatDayTitle),t.rows=u.split(i,7),t.showWeeks)for(t.weekNumbers=[],v=o(t.rows[0][0].date),y=t.rows.length;t.weekNumbers.push(v++)<y;);};u.compare=function(n,t){return new Date(n.getFullYear(),n.getMonth(),n.getDate())-new Date(t.getFullYear(),t.getMonth(),t.getDate())};u.handleKeyDown=function(n){var t=u.activeDate.getDate(),i;"left"===n?t-=1:"up"===n?t-=7:"right"===n?t+=1:"down"===n?t+=7:"pageup"===n||"pagedown"===n?(i=u.activeDate.getMonth()+("pageup"===n?-1:1),u.activeDate.setMonth(i,1),t=Math.min(f(u.activeDate.getFullYear(),u.activeDate.getMonth()),t)):"home"===n?t=1:"end"===n&&(t=f(u.activeDate.getFullYear(),u.activeDate.getMonth()));u.activeDate.setDate(t)};u.refreshView()}}}]).directive("monthpicker",["dateFilter",function(n){return{restrict:"EA",replace:!0,templateUrl:"template/datepicker/month.html",require:"^datepicker",link:function(t,i,r,u){u.step={years:1};u.element=i;u._refreshView=function(){for(var r=new Array(12),f=u.activeDate.getFullYear(),i=0;12>i;i++)r[i]=angular.extend(u.createDateObject(new Date(f,i,1),u.formatMonth),{uid:t.uniqueId+"-"+i});t.title=n(u.activeDate,u.formatMonthTitle);t.rows=u.split(r,3)};u.compare=function(n,t){return new Date(n.getFullYear(),n.getMonth())-new Date(t.getFullYear(),t.getMonth())};u.handleKeyDown=function(n){var t=u.activeDate.getMonth(),i;"left"===n?t-=1:"up"===n?t-=3:"right"===n?t+=1:"down"===n?t+=3:"pageup"===n||"pagedown"===n?(i=u.activeDate.getFullYear()+("pageup"===n?-1:1),u.activeDate.setFullYear(i)):"home"===n?t=0:"end"===n&&(t=11);u.activeDate.setMonth(t)};u.refreshView()}}}]).directive("yearpicker",["dateFilter",function(){return{restrict:"EA",replace:!0,templateUrl:"template/datepicker/year.html",require:"^datepicker",link:function(n,t,i,r){function f(n){return parseInt((n-1)/u,10)*u+1}var u=r.yearRange;r.step={years:u};r.element=t;r._refreshView=function(){for(var i=new Array(u),t=0,e=f(r.activeDate.getFullYear());u>t;t++)i[t]=angular.extend(r.createDateObject(new Date(e+t,0,1),r.formatYear),{uid:n.uniqueId+"-"+t});n.title=[i[0].label,i[u-1].label].join(" - ");n.rows=r.split(i,5)};r.compare=function(n,t){return n.getFullYear()-t.getFullYear()};r.handleKeyDown=function(n){var t=r.activeDate.getFullYear();"left"===n?t-=1:"up"===n?t-=5:"right"===n?t+=1:"down"===n?t+=5:"pageup"===n||"pagedown"===n?t+=("pageup"===n?-1:1)*r.step.years:"home"===n?t=f(r.activeDate.getFullYear()):"end"===n&&(t=f(r.activeDate.getFullYear())+u-1);r.activeDate.setFullYear(t)};r.refreshView()}}}]).constant("datepickerPopupConfig",{datepickerPopup:"yyyy-MM-dd",currentText:"Today",clearText:"Clear",closeText:"Done",closeOnDateSelection:!0,appendToBody:!1,showButtonBar:!0}).directive("datepickerPopup",["$compile","$parse","$document","$position","dateFilter","dateParser","datepickerPopupConfig",function(n,t,i,r,u,f,e){return{restrict:"EA",require:"ngModel",scope:{isOpen:"=?",currentText:"@",clearText:"@",closeText:"@",dateDisabled:"&"},link:function(o,s,h,c){function b(n){return n.replace(/([A-Z])/g,function(n){return"-"+n.toLowerCase()})}function k(n){if(n){if(angular.isDate(n)&&!isNaN(n))return c.$setValidity("date",!0),n;if(angular.isString(n)){var t=f.parse(n,p)||new Date(n);return isNaN(t)?void c.$setValidity("date",!1):(c.$setValidity("date",!0),t)}return void c.$setValidity("date",!1)}return c.$setValidity("date",!0),null}var p,g=angular.isDefined(h.closeOnDateSelection)?o.$parent.$eval(h.closeOnDateSelection):e.closeOnDateSelection,d=angular.isDefined(h.datepickerAppendToBody)?o.$parent.$eval(h.datepickerAppendToBody):e.appendToBody,l,a,v,w,y;o.showButtonBar=angular.isDefined(h.showButtonBar)?o.$parent.$eval(h.showButtonBar):e.showButtonBar;o.getText=function(n){return o[n+"Text"]||e[n+"Text"]};h.$observe("datepickerPopup",function(n){p=n||e.datepickerPopup;c.$render()});l=angular.element("<div datepicker-popup-wrap><div datepicker><\/div><\/div>");l.attr({"ng-model":"date","ng-change":"dateSelection()"});a=angular.element(l.children()[0]);h.datepickerOptions&&angular.forEach(o.$parent.$eval(h.datepickerOptions),function(n,t){a.attr(b(t),n)});o.watchData={};angular.forEach(["minDate","maxDate","datepickerMode"],function(n){var i,r;h[n]&&(i=t(h[n]),(o.$parent.$watch(i,function(t){o.watchData[n]=t}),a.attr(b(n),"watchData."+n),"datepickerMode"===n)&&(r=i.assign,o.$watch("watchData."+n,function(n,t){n!==t&&r(o.$parent,n)})))});h.dateDisabled&&a.attr("date-disabled","dateDisabled({ date: date, mode: mode })");c.$parsers.unshift(k);o.dateSelection=function(n){angular.isDefined(n)&&(o.date=n);c.$setViewValue(o.date);c.$render();g&&(o.isOpen=!1,s[0].focus())};s.bind("input change keyup",function(){o.$apply(function(){o.date=c.$modelValue})});c.$render=function(){var n=c.$viewValue?u(c.$viewValue,p):"";s.val(n);o.date=k(c.$modelValue)};v=function(n){o.isOpen&&n.target!==s[0]&&o.$apply(function(){o.isOpen=!1})};w=function(n){o.keydown(n)};s.bind("keydown",w);o.keydown=function(n){27===n.which?(n.preventDefault(),n.stopPropagation(),o.close()):40!==n.which||o.isOpen||(o.isOpen=!0)};o.$watch("isOpen",function(n){n?(o.$broadcast("datepicker.focus"),o.position=d?r.offset(s):r.position(s),o.position.top=o.position.top+s.prop("offsetHeight"),i.bind("click",v)):i.unbind("click",v)});o.select=function(n){if("today"===n){var t=new Date;angular.isDate(c.$modelValue)?(n=new Date(c.$modelValue),n.setFullYear(t.getFullYear(),t.getMonth(),t.getDate())):n=new Date(t.setHours(0,0,0,0))}o.dateSelection(n)};o.close=function(){o.isOpen=!1;s[0].focus()};y=n(l)(o);l.remove();d?i.find("body").append(y):s.after(y);o.$on("$destroy",function(){y.remove();s.unbind("keydown",w);i.unbind("click",v)})}}}]).directive("datepickerPopupWrap",function(){return{restrict:"EA",replace:!0,transclude:!0,templateUrl:"template/datepicker/popup.html",link:function(n,t){t.bind("click",function(n){n.preventDefault();n.stopPropagation()})}}});angular.module("ui.bootstrap.dropdown",[]).constant("dropdownConfig",{openClass:"open"}).service("dropdownService",["$document",function(n){var t=null,i,r;this.open=function(u){t||(n.bind("click",i),n.bind("keydown",r));t&&t!==u&&(t.isOpen=!1);t=u};this.close=function(u){t===u&&(t=null,n.unbind("click",i),n.unbind("keydown",r))};i=function(n){if(t){var i=t.getToggleElement();n&&i&&i[0].contains(n.target)||t.$apply(function(){t.isOpen=!1})}};r=function(n){27===n.which&&(t.focusToggleElement(),i())}}]).controller("DropdownController",["$scope","$attrs","$parse","dropdownConfig","dropdownService","$animate",function(n,t,i,r,u,f){var s,o=this,e=n.$new(),c=r.openClass,h=angular.noop,l=t.onToggle?i(t.onToggle):angular.noop;this.init=function(r){o.$element=r;t.isOpen&&(s=i(t.isOpen),h=s.assign,n.$watch(s,function(n){e.isOpen=!!n}))};this.toggle=function(n){return e.isOpen=arguments.length?!!n:!e.isOpen};this.isOpen=function(){return e.isOpen};e.getToggleElement=function(){return o.toggleElement};e.focusToggleElement=function(){o.toggleElement&&o.toggleElement[0].focus()};e.$watch("isOpen",function(t,i){f[t?"addClass":"removeClass"](o.$element,c);t?(e.focusToggleElement(),u.open(e)):u.close(e);h(n,t);angular.isDefined(t)&&t!==i&&l(n,{open:!!t})});n.$on("$locationChangeSuccess",function(){e.isOpen=!1});n.$on("$destroy",function(){e.$destroy()})}]).directive("dropdown",function(){return{controller:"DropdownController",link:function(n,t,i,r){r.init(t)}}}).directive("dropdownToggle",function(){return{require:"?^dropdown",link:function(n,t,i,r){if(r){r.toggleElement=t;var u=function(u){u.preventDefault();t.hasClass("disabled")||i.disabled||n.$apply(function(){r.toggle()})};t.bind("click",u);t.attr({"aria-haspopup":!0,"aria-expanded":!1});n.$watch(r.isOpen,function(n){t.attr("aria-expanded",!!n)});n.$on("$destroy",function(){t.unbind("click",u)})}}}});angular.module("ui.bootstrap.modal",["ui.bootstrap.transition"]).factory("$$stackedMap",function(){return{createNew:function(){var n=[];return{add:function(t,i){n.push({key:t,value:i})},get:function(t){for(var i=0;i<n.length;i++)if(t==n[i].key)return n[i]},keys:function(){for(var i=[],t=0;t<n.length;t++)i.push(n[t].key);return i},top:function(){return n[n.length-1]},remove:function(t){for(var r=-1,i=0;i<n.length;i++)if(t==n[i].key){r=i;break}return n.splice(r,1)[0]},removeTop:function(){return n.splice(n.length-1,1)[0]},length:function(){return n.length}}}}}).directive("modalBackdrop",["$timeout",function(n){return{restrict:"EA",replace:!0,templateUrl:"template/modal/backdrop.html",link:function(t,i,r){t.backdropClass=r.backdropClass||"";t.animate=!1;n(function(){t.animate=!0})}}}]).directive("modalWindow",["$modalStack","$timeout",function(n,t){return{restrict:"EA",scope:{index:"@",animate:"="},replace:!0,transclude:!0,templateUrl:function(n,t){return t.templateUrl||"template/modal/window.html"},link:function(i,r,u){r.addClass(u.windowClass||"");i.size=u.size;t(function(){i.animate=!0;r[0].querySelectorAll("[autofocus]").length||r[0].focus()});i.close=function(t){var i=n.getTop();i&&i.value.backdrop&&"static"!=i.value.backdrop&&t.target===t.currentTarget&&(t.preventDefault(),t.stopPropagation(),n.dismiss(i.key,"backdrop click"))}}}}]).directive("modalTransclude",function(){return{link:function(n,t,i,r,u){u(n.$parent,function(n){t.empty();t.append(n)})}}}).factory("$modalStack",["$transition","$timeout","$document","$compile","$rootScope","$$stackedMap",function(n,t,i,r,u,f){function c(){for(var t=-1,i=e.keys(),n=0;n<i.length;n++)e.get(i[n]).value.backdrop&&(t=n);return t}function l(n){var r=i.find("body").eq(0),t=e.get(n).value;e.remove(n);a(t.modalDomEl,t.modalScope,300,function(){t.modalScope.$destroy();r.toggleClass(v,e.length()>0);y()})}function y(){if(h&&-1==c()){var n=o;a(h,o,150,function(){n.$destroy();n=null});h=void 0;o=void 0}}function a(i,r,u,f){function e(){e.done||(e.done=!0,i.remove(),f&&f())}var o,s;r.animate=!1;o=n.transitionEndEventName;o?(s=t(e,u),i.bind(o,function(){t.cancel(s);e();r.$apply()})):t(e)}var h,o,v="modal-open",e=f.createNew(),s={};return u.$watch(c,function(n){o&&(o.index=n)}),i.bind("keydown",function(n){var t;27===n.which&&(t=e.top(),t&&t.value.keyboard&&(n.preventDefault(),u.$apply(function(){s.dismiss(t.key,"escape key press")})))}),s.open=function(n,t){var f,s,l,a,y;e.add(n,{deferred:t.deferred,modalScope:t.scope,backdrop:t.backdrop,keyboard:t.keyboard});f=i.find("body").eq(0);s=c();s>=0&&!h&&(o=u.$new(!0),o.index=s,l=angular.element("<div modal-backdrop><\/div>"),l.attr("backdrop-class",t.backdropClass),h=r(l)(o),f.append(h));a=angular.element("<div modal-window><\/div>");a.attr({"template-url":t.windowTemplateUrl,"window-class":t.windowClass,size:t.size,index:e.length()-1,animate:"animate"}).html(t.content);y=r(a)(t.scope);e.top().value.modalDomEl=y;f.append(y);f.addClass(v)},s.close=function(n,t){var i=e.get(n);i&&(i.value.deferred.resolve(t),l(n))},s.dismiss=function(n,t){var i=e.get(n);i&&(i.value.deferred.reject(t),l(n))},s.dismissAll=function(n){for(var t=this.getTop();t;)this.dismiss(t.key,n),t=this.getTop()},s.getTop=function(){return e.top()},s}]).provider("$modal",function(){var n={options:{backdrop:!0,keyboard:!0},$get:["$injector","$rootScope","$q","$http","$templateCache","$controller","$modalStack",function(t,i,r,u,f,e,o){function h(n){return n.template?r.when(n.template):u.get(angular.isFunction(n.templateUrl)?n.templateUrl():n.templateUrl,{cache:f}).then(function(n){return n.data})}function c(n){var i=[];return angular.forEach(n,function(n){(angular.isFunction(n)||angular.isArray(n))&&i.push(r.when(t.invoke(n)))}),i}var s={};return s.open=function(t){var f=r.defer(),s=r.defer(),u={result:f.promise,opened:s.promise,close:function(n){o.close(u,n)},dismiss:function(n){o.dismiss(u,n)}},l;if(t=angular.extend({},n.options,t),t.resolve=t.resolve||{},!t.template&&!t.templateUrl)throw new Error("One of template or templateUrl options is required.");return l=r.all([h(t)].concat(c(t.resolve))),l.then(function(n){var r=(t.scope||i).$new(),h,s,c;r.$close=u.close;r.$dismiss=u.dismiss;s={};c=1;t.controller&&(s.$scope=r,s.$modalInstance=u,angular.forEach(t.resolve,function(t,i){s[i]=n[c++]}),h=e(t.controller,s),t.controllerAs&&(r[t.controllerAs]=h));o.open(u,{scope:r,deferred:f,content:n[0],backdrop:t.backdrop,keyboard:t.keyboard,backdropClass:t.backdropClass,windowClass:t.windowClass,windowTemplateUrl:t.windowTemplateUrl,size:t.size})},function(n){f.reject(n)}),l.then(function(){s.resolve(!0)},function(){s.reject(!1)}),u},s}]};return n});angular.module("ui.bootstrap.pagination",[]).controller("PaginationController",["$scope","$attrs","$parse",function(n,t,i){var u=this,r={$setViewValue:angular.noop},f=t.numPages?i(t.numPages).assign:angular.noop;this.init=function(f,e){r=f;this.config=e;r.$render=function(){u.render()};t.itemsPerPage?n.$parent.$watch(i(t.itemsPerPage),function(t){u.itemsPerPage=parseInt(t,10);n.totalPages=u.calculateTotalPages()}):this.itemsPerPage=e.itemsPerPage};this.calculateTotalPages=function(){var t=this.itemsPerPage<1?1:Math.ceil(n.totalItems/this.itemsPerPage);return Math.max(t||0,1)};this.render=function(){n.page=parseInt(r.$viewValue,10)||1};n.selectPage=function(t){n.page!==t&&t>0&&t<=n.totalPages&&(r.$setViewValue(t),r.$render())};n.getText=function(t){return n[t+"Text"]||u.config[t+"Text"]};n.noPrevious=function(){return 1===n.page};n.noNext=function(){return n.page===n.totalPages};n.$watch("totalItems",function(){n.totalPages=u.calculateTotalPages()});n.$watch("totalPages",function(t){f(n.$parent,t);n.page>t?n.selectPage(t):r.$render()})}]).constant("paginationConfig",{itemsPerPage:10,boundaryLinks:!1,directionLinks:!0,firstText:"First",previousText:"Previous",nextText:"Next",lastText:"Last",rotate:!0}).directive("pagination",["$parse","paginationConfig",function(n,t){return{restrict:"EA",scope:{totalItems:"=",firstText:"@",previousText:"@",nextText:"@",lastText:"@"},require:["pagination","?ngModel"],controller:"PaginationController",templateUrl:"template/pagination/pagination.html",replace:!0,link:function(i,r,u,f){function s(n,t,i){return{number:n,text:t,active:i}}function a(n,t){var f=[],i=1,r=t,o=angular.isDefined(e)&&t>e,u,c,l,a;for(o&&(h?(i=Math.max(n-Math.floor(e/2),1),r=i+e-1,r>t&&(r=t,i=r-e+1)):(i=(Math.ceil(n/e)-1)*e+1,r=Math.min(i+e-1,t))),u=i;r>=u;u++)c=s(u,u,u===n),f.push(c);return o&&!h&&(i>1&&(l=s(i-1,"...",!1),f.unshift(l)),t>r&&(a=s(r+1,"...",!1),f.push(a))),f}var o=f[0],c=f[1],e,h,l;c&&(e=angular.isDefined(u.maxSize)?i.$parent.$eval(u.maxSize):t.maxSize,h=angular.isDefined(u.rotate)?i.$parent.$eval(u.rotate):t.rotate,i.boundaryLinks=angular.isDefined(u.boundaryLinks)?i.$parent.$eval(u.boundaryLinks):t.boundaryLinks,i.directionLinks=angular.isDefined(u.directionLinks)?i.$parent.$eval(u.directionLinks):t.directionLinks,o.init(c,t),u.maxSize&&i.$parent.$watch(n(u.maxSize),function(n){e=parseInt(n,10);o.render()}),l=o.render,o.render=function(){l();i.page>0&&i.page<=i.totalPages&&(i.pages=a(i.page,i.totalPages))})}}}]).constant("pagerConfig",{itemsPerPage:10,previousText:"« Previous",nextText:"Next »",align:!0}).directive("pager",["pagerConfig",function(n){return{restrict:"EA",scope:{totalItems:"=",previousText:"@",nextText:"@"},require:["pager","?ngModel"],controller:"PaginationController",templateUrl:"template/pagination/pager.html",replace:!0,link:function(t,i,r,u){var e=u[0],f=u[1];f&&(t.align=angular.isDefined(r.align)?t.$parent.$eval(r.align):n.align,e.init(f,n))}}}]);angular.module("ui.bootstrap.tooltip",["ui.bootstrap.position","ui.bootstrap.bindHtml"]).provider("$tooltip",function(){function i(n){var t="-";return n.replace(/[A-Z]/g,function(n,i){return(i?t:"")+n.toLowerCase()})}var r={placement:"top",animation:!0,popupDelay:0},n={mouseenter:"mouseleave",click:"click",focus:"blur"},t={};this.options=function(n){angular.extend(t,n)};this.setTriggers=function(t){angular.extend(n,t)};this.$get=["$window","$compile","$timeout","$document","$position","$interpolate",function(u,f,e,o,s,h){return function(u,c,l){function p(t){var i=t||a.trigger||l,r=n[i]||i;return{show:i,hide:r}}var a=angular.extend({},r,t),w=i(u),v=h.startSymbol(),y=h.endSymbol(),b="<div "+w+'-popup title="'+v+"title"+y+'" content="'+v+"content"+y+'" placement="'+v+"placement"+y+'" animation="animation" is-open="isOpen"><\/div>';return{restrict:"EA",compile:function(){var n=f(b);return function(t,i,r){function et(){f.isOpen?g():d()}function d(){(!at||t.$eval(r[c+"Enable"]))&&(st(),f.popupDelay?y||(y=e(ut,f.popupDelay,!1),y.then(function(n){n()})):ut()())}function g(){t.$apply(function(){nt()})}function ut(){return y=null,v&&(e.cancel(v),v=null),f.content?(ot(),h.css({top:0,left:0,display:"block"}),b?o.find("body").append(h):i.after(h),ft(),f.isOpen=!0,f.$digest(),ft):angular.noop}function nt(){f.isOpen=!1;e.cancel(y);y=null;f.animation?v||(v=e(k,500)):k()}function ot(){h&&k();w=f.$new();h=n(w,angular.noop)}function k(){v=null;h&&(h.remove(),h=null);w&&(w.$destroy(),w=null)}function st(){ht();ct()}function ht(){var n=r[c+"Placement"];f.placement=angular.isDefined(n)?n:a.placement}function ct(){var t=r[c+"PopupDelay"],n=parseInt(t,10);f.popupDelay=isNaN(n)?a.popupDelay:n}function lt(){var n=r[c+"Trigger"];tt();l=p(n);l.show===l.hide?i.bind(l.show,et):(i.bind(l.show,d),i.bind(l.hide,g))}var h,w,v,y,b=angular.isDefined(a.appendToBody)?a.appendToBody:!1,l=p(void 0),at=angular.isDefined(r[c+"Enable"]),f=t.$new(!0),ft=function(){var n=s.positionElements(i,h,f.placement,b);n.top+="px";n.left+="px";h.css(n)},tt,it,rt;f.isOpen=!1;r.$observe(u,function(n){f.content=n;!n&&f.isOpen&&nt()});r.$observe(c+"Title",function(n){f.title=n});tt=function(){i.unbind(l.show,d);i.unbind(l.hide,g)};lt();it=t.$eval(r[c+"Animation"]);f.animation=angular.isDefined(it)?!!it:a.animation;rt=t.$eval(r[c+"AppendToBody"]);b=angular.isDefined(rt)?rt:b;b&&t.$on("$locationChangeSuccess",function(){f.isOpen&&nt()});t.$on("$destroy",function(){e.cancel(v);e.cancel(y);tt();k();f=null})}}}}}]}).directive("tooltipPopup",function(){return{restrict:"EA",replace:!0,scope:{content:"@",placement:"@",animation:"&",isOpen:"&"},templateUrl:"template/tooltip/tooltip-popup.html"}}).directive("tooltip",["$tooltip",function(n){return n("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(n){return n("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(n){return n("popover","popover","click")}]);angular.module("ui.bootstrap.progressbar",[]).constant("progressConfig",{animate:!0,max:100}).controller("ProgressController",["$scope","$attrs","progressConfig",function(n,t,i){var r=this,u=angular.isDefined(t.animate)?n.$parent.$eval(t.animate):i.animate;this.bars=[];n.max=angular.isDefined(t.max)?n.$parent.$eval(t.max):i.max;this.addBar=function(t,i){u||i.css({transition:"none"});this.bars.push(t);t.$watch("value",function(i){t.percent=+(100*i/n.max).toFixed(2)});t.$on("$destroy",function(){i=null;r.removeBar(t)})};this.removeBar=function(n){this.bars.splice(this.bars.indexOf(n),1)}}]).directive("progress",function(){return{restrict:"EA",replace:!0,transclude:!0,controller:"ProgressController",require:"progress",scope:{},templateUrl:"template/progressbar/progress.html"}}).directive("bar",function(){return{restrict:"EA",replace:!0,transclude:!0,require:"^progress",scope:{value:"=",type:"@"},templateUrl:"template/progressbar/bar.html",link:function(n,t,i,r){r.addBar(n,t)}}}).directive("progressbar",function(){return{restrict:"EA",replace:!0,transclude:!0,controller:"ProgressController",scope:{value:"=",type:"@"},templateUrl:"template/progressbar/progressbar.html",link:function(n,t,i,r){r.addBar(n,angular.element(t.children()[0]))}}});angular.module("ui.bootstrap.rating",[]).constant("ratingConfig",{max:5,stateOn:null,stateOff:null}).controller("RatingController",["$scope","$attrs","ratingConfig",function(n,t,i){var r={$setViewValue:angular.noop};this.init=function(u){r=u;r.$render=this.render;this.stateOn=angular.isDefined(t.stateOn)?n.$parent.$eval(t.stateOn):i.stateOn;this.stateOff=angular.isDefined(t.stateOff)?n.$parent.$eval(t.stateOff):i.stateOff;var f=angular.isDefined(t.ratingStates)?n.$parent.$eval(t.ratingStates):new Array(angular.isDefined(t.max)?n.$parent.$eval(t.max):i.max);n.range=this.buildTemplateObjects(f)};this.buildTemplateObjects=function(n){for(var t=0,i=n.length;i>t;t++)n[t]=angular.extend({index:t},{stateOn:this.stateOn,stateOff:this.stateOff},n[t]);return n};n.rate=function(t){!n.readonly&&t>=0&&t<=n.range.length&&(r.$setViewValue(t),r.$render())};n.enter=function(t){n.readonly||(n.value=t);n.onHover({value:t})};n.reset=function(){n.value=r.$viewValue;n.onLeave()};n.onKeydown=function(t){/(37|38|39|40)/.test(t.which)&&(t.preventDefault(),t.stopPropagation(),n.rate(n.value+(38===t.which||39===t.which?1:-1)))};this.render=function(){n.value=r.$viewValue}}]).directive("rating",function(){return{restrict:"EA",require:["rating","ngModel"],scope:{readonly:"=?",onHover:"&",onLeave:"&"},controller:"RatingController",templateUrl:"template/rating/rating.html",replace:!0,link:function(n,t,i,r){var f=r[0],u=r[1];u&&f.init(u)}}});angular.module("ui.bootstrap.tabs",[]).controller("TabsetController",["$scope",function(n){var i=this,t=i.tabs=n.tabs=[],r;i.select=function(n){angular.forEach(t,function(t){t.active&&t!==n&&(t.active=!1,t.onDeselect())});n.active=!0;n.onSelect()};i.addTab=function(n){t.push(n);1===t.length?n.active=!0:n.active&&i.select(n)};i.removeTab=function(n){var u=t.indexOf(n),f;n.active&&t.length>1&&!r&&(f=u==t.length-1?u-1:u+1,i.select(t[f]));t.splice(u,1)};n.$on("$destroy",function(){r=!0})}]).directive("tabset",function(){return{restrict:"EA",transclude:!0,replace:!0,scope:{type:"@"},controller:"TabsetController",templateUrl:"template/tabs/tabset.html",link:function(n,t,i){n.vertical=angular.isDefined(i.vertical)?n.$parent.$eval(i.vertical):!1;n.justified=angular.isDefined(i.justified)?n.$parent.$eval(i.justified):!1}}}).directive("tab",["$parse",function(n){return{require:"^tabset",restrict:"EA",replace:!0,templateUrl:"template/tabs/tab.html",transclude:!0,scope:{active:"=?",heading:"@",onSelect:"&select",onDeselect:"&deselect"},controller:function(){},compile:function(t,i,r){return function(t,i,u,f){t.$watch("active",function(n){n&&f.select(t)});t.disabled=!1;u.disabled&&t.$parent.$watch(n(u.disabled),function(n){t.disabled=!!n});t.select=function(){t.disabled||(t.active=!0)};f.addTab(t);t.$on("$destroy",function(){f.removeTab(t)});t.$transcludeFn=r}}}}]).directive("tabHeadingTransclude",[function(){return{restrict:"A",require:"^tab",link:function(n,t){n.$watch("headingElement",function(n){n&&(t.html(""),t.append(n))})}}}]).directive("tabContentTransclude",function(){function n(n){return n.tagName&&(n.hasAttribute("tab-heading")||n.hasAttribute("data-tab-heading")||"tab-heading"===n.tagName.toLowerCase()||"data-tab-heading"===n.tagName.toLowerCase())}return{restrict:"A",require:"^tabset",link:function(t,i,r){var u=t.$eval(r.tabContentTransclude);u.$transcludeFn(u.$parent,function(t){angular.forEach(t,function(t){n(t)?u.headingElement=t:i.append(t)})})}}});angular.module("ui.bootstrap.timepicker",[]).constant("timepickerConfig",{hourStep:1,minuteStep:1,showMeridian:!0,meridians:null,readonlyInput:!1,mousewheel:!0}).controller("TimepickerController",["$scope","$attrs","$parse","$log","$locale","timepickerConfig",function(n,t,i,r,u,f){function p(){var t=parseInt(n.hours,10),i=n.showMeridian?t>0&&13>t:t>=0&&24>t;if(i)return(n.showMeridian&&(12===t&&(t=0),n.meridian===y[1]&&(t+=12)),t)}function w(){var t=parseInt(n.minutes,10);if(t>=0&&60>t)return t}function h(n){return angular.isDefined(n)&&n.toString().length<2?"0"+n:n}function c(n){b();o.$setViewValue(new Date(e));v(n)}function b(){o.$setValidity("time",!0);n.invalidHours=!1;n.invalidMinutes=!1}function v(t){var i=e.getHours(),r=e.getMinutes();n.showMeridian&&(i=0===i||12===i?12:i%12);n.hours="h"===t?i:h(i);n.minutes="m"===t?r:h(r);n.meridian=e.getHours()<12?y[0]:y[1]}function s(n){var t=new Date(e.getTime()+6e4*n);e.setHours(t.getHours(),t.getMinutes());c()}var e=new Date,o={$setViewValue:angular.noop},y=angular.isDefined(t.meridians)?n.$parent.$eval(t.meridians):f.meridians||u.DATETIME_FORMATS.AMPMS,l,a;this.init=function(i,r){o=i;o.$render=this.render;var u=r.eq(0),e=r.eq(1),s=angular.isDefined(t.mousewheel)?n.$parent.$eval(t.mousewheel):f.mousewheel;s&&this.setupMousewheelEvents(u,e);n.readonlyInput=angular.isDefined(t.readonlyInput)?n.$parent.$eval(t.readonlyInput):f.readonlyInput;this.setupInputEvents(u,e)};l=f.hourStep;t.hourStep&&n.$parent.$watch(i(t.hourStep),function(n){l=parseInt(n,10)});a=f.minuteStep;t.minuteStep&&n.$parent.$watch(i(t.minuteStep),function(n){a=parseInt(n,10)});n.showMeridian=f.showMeridian;t.showMeridian&&n.$parent.$watch(i(t.showMeridian),function(t){if(n.showMeridian=!!t,o.$error.time){var i=p(),r=w();angular.isDefined(i)&&angular.isDefined(r)&&(e.setHours(i),c())}else v()});this.setupMousewheelEvents=function(t,i){var r=function(n){n.originalEvent&&(n=n.originalEvent);var t=n.wheelDelta?n.wheelDelta:-n.deltaY;return n.detail||t>0};t.bind("mousewheel wheel",function(t){n.$apply(r(t)?n.incrementHours():n.decrementHours());t.preventDefault()});i.bind("mousewheel wheel",function(t){n.$apply(r(t)?n.incrementMinutes():n.decrementMinutes());t.preventDefault()})};this.setupInputEvents=function(t,i){if(n.readonlyInput)return n.updateHours=angular.noop,void(n.updateMinutes=angular.noop);var r=function(t,i){o.$setViewValue(null);o.$setValidity("time",!1);angular.isDefined(t)&&(n.invalidHours=t);angular.isDefined(i)&&(n.invalidMinutes=i)};n.updateHours=function(){var n=p();angular.isDefined(n)?(e.setHours(n),c("h")):r(!0)};t.bind("blur",function(){!n.invalidHours&&n.hours<10&&n.$apply(function(){n.hours=h(n.hours)})});n.updateMinutes=function(){var n=w();angular.isDefined(n)?(e.setMinutes(n),c("m")):r(void 0,!0)};i.bind("blur",function(){!n.invalidMinutes&&n.minutes<10&&n.$apply(function(){n.minutes=h(n.minutes)})})};this.render=function(){var n=o.$modelValue?new Date(o.$modelValue):null;isNaN(n)?(o.$setValidity("time",!1),r.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.')):(n&&(e=n),b(),v())};n.incrementHours=function(){s(60*l)};n.decrementHours=function(){s(60*-l)};n.incrementMinutes=function(){s(a)};n.decrementMinutes=function(){s(-a)};n.toggleMeridian=function(){s(720*(e.getHours()<12?1:-1))}}]).directive("timepicker",function(){return{restrict:"EA",require:["timepicker","?^ngModel"],controller:"TimepickerController",replace:!0,scope:{},templateUrl:"template/timepicker/timepicker.html",link:function(n,t,i,r){var f=r[0],u=r[1];u&&f.init(u,t.find("input"))}}});angular.module("ui.bootstrap.typeahead",["ui.bootstrap.position","ui.bootstrap.bindHtml"]).factory("typeaheadParser",["$parse",function(n){var t=/^\s*([\s\S]+?)(?:\s+as\s+([\s\S]+?))?\s+for\s+(?:([\$\w][\$\w\d]*))\s+in\s+([\s\S]+?)$/;return{parse:function(i){var r=i.match(t);if(!r)throw new Error('Expected typeahead specification in form of "_modelValue_ (as _label_)? for _item_ in _collection_" but got "'+i+'".');return{itemName:r[3],source:n(r[4]),viewMapper:n(r[2]||r[1]),modelMapper:n(r[1])}}}}]).directive("typeahead",["$compile","$parse","$q","$timeout","$document","$position","typeaheadParser",function(n,t,i,r,u,f,e){var o=[9,13,27,38,40];return{require:"ngModel",link:function(s,h,c,l){var d,st=s.$eval(c.typeaheadMinLength)||1,ft=s.$eval(c.typeaheadWaitMs)||0,ht=s.$eval(c.typeaheadEditable)!==!1,p=t(c.typeaheadLoading).assign||angular.noop,ct=t(c.typeaheadOnSelect),et=c.typeaheadInputFormatter?t(c.typeaheadInputFormatter):void 0,g=c.typeaheadAppendToBody?s.$eval(c.typeaheadAppendToBody):!1,lt=s.$eval(c.typeaheadFocusFirst)!==!1,at=t(c.ngModel).assign,v=e.parse(c.typeahead),a=s.$new(),w,b,y,nt,tt,it,ot,rt,ut,k;s.$on("$destroy",function(){a.$destroy()});w="typeahead-"+a.$id+"-"+Math.floor(1e4*Math.random());h.attr({"aria-autocomplete":"list","aria-expanded":!1,"aria-owns":w});b=angular.element("<div typeahead-popup><\/div>");b.attr({id:w,matches:"matches",active:"activeIdx",select:"select(activeIdx)",query:"query",position:"position"});angular.isDefined(c.typeaheadTemplateUrl)&&b.attr("template-url",c.typeaheadTemplateUrl);y=function(){a.matches=[];a.activeIdx=-1;h.attr("aria-expanded",!1)};nt=function(n){return w+"-option-"+n};a.$watch("activeIdx",function(n){0>n?h.removeAttr("aria-activedescendant"):h.attr("aria-activedescendant",nt(n))});tt=function(n){var t={$viewValue:n};p(s,!0);i.when(v.source(s,t)).then(function(i){var u=n===l.$viewValue,r;if(u&&d)if(i.length>0){for(a.activeIdx=lt?0:-1,a.matches.length=0,r=0;r<i.length;r++)t[v.itemName]=i[r],a.matches.push({id:nt(r),label:v.viewMapper(a,t),model:i[r]});a.query=n;a.position=g?f.offset(h):f.position(h);a.position.top=a.position.top+h.prop("offsetHeight");h.attr("aria-expanded",!0)}else y();u&&p(s,!1)},function(){y();p(s,!1)})};y();a.query=void 0;ot=function(n){it=r(function(){tt(n)},ft)};rt=function(){it&&r.cancel(it)};l.$parsers.unshift(function(n){return d=!0,n&&n.length>=st?ft>0?(rt(),ot(n)):tt(n):(p(s,!1),rt(),y()),ht?n:n?void l.$setValidity("editable",!1):(l.$setValidity("editable",!0),n)});l.$formatters.push(function(n){var i,r,t={};return et?(t.$model=n,et(s,t)):(t[v.itemName]=n,i=v.viewMapper(s,t),t[v.itemName]=void 0,r=v.viewMapper(s,t),i!==r?i:n)});a.select=function(n){var t,u,i={};i[v.itemName]=u=a.matches[n].model;t=v.modelMapper(s,i);at(s,t);l.$setValidity("editable",!0);ct(s,{$item:u,$model:t,$label:v.viewMapper(s,i)});y();r(function(){h[0].focus()},0,!1)};h.bind("keydown",function(n){0!==a.matches.length&&-1!==o.indexOf(n.which)&&(-1!=a.activeIdx||13!==n.which&&9!==n.which)&&(n.preventDefault(),40===n.which?(a.activeIdx=(a.activeIdx+1)%a.matches.length,a.$digest()):38===n.which?(a.activeIdx=(a.activeIdx>0?a.activeIdx:a.matches.length)-1,a.$digest()):13===n.which||9===n.which?a.$apply(function(){a.select(a.activeIdx)}):27===n.which&&(n.stopPropagation(),y(),a.$digest()))});h.bind("blur",function(){d=!1});ut=function(n){h[0]!==n.target&&(y(),a.$digest())};u.bind("click",ut);s.$on("$destroy",function(){u.unbind("click",ut);g&&k.remove()});k=n(b)(a);g?u.find("body").append(k):h.after(k)}}}]).directive("typeaheadPopup",function(){return{restrict:"EA",scope:{matches:"=",query:"=",active:"=",position:"=",select:"&"},replace:!0,templateUrl:"template/typeahead/typeahead-popup.html",link:function(n,t,i){n.templateUrl=i.templateUrl;n.isOpen=function(){return n.matches.length>0};n.isActive=function(t){return n.active==t};n.selectActive=function(t){n.active=t};n.selectMatch=function(t){n.select({activeIdx:t})}}}}).directive("typeaheadMatch",["$http","$templateCache","$compile","$parse",function(n,t,i,r){return{restrict:"EA",scope:{index:"=",match:"=",query:"="},link:function(u,f,e){var o=r(e.templateUrl)(u.$parent)||"template/typeahead/typeahead-match.html";n.get(o,{cache:t}).success(function(n){f.replaceWith(i(n.trim())(u))})}}}]).filter("typeaheadHighlight",function(){function n(n){return n.replace(/([.?*+^$[\]\\(){}|-])/g,"\\$1")}return function(t,i){return i?(""+t).replace(new RegExp(n(i),"gi"),"<strong>$&<\/strong>"):t}});angular.module("template/accordion/accordion-group.html",[]).run(["$templateCache",function(n){n.put("template/accordion/accordion-group.html",'<div class="panel panel-default">\n  <div class="panel-heading">\n    <h4 class="panel-title">\n      <a href class="accordion-toggle" ng-click="toggleOpen()" accordion-transclude="heading"><span ng-class="{\'text-muted\': isDisabled}">{{heading}}<\/span><\/a>\n    <\/h4>\n  <\/div>\n  <div class="panel-collapse" collapse="!isOpen">\n\t  <div class="panel-body" ng-transclude><\/div>\n  <\/div>\n<\/div>\n')}]);angular.module("template/accordion/accordion.html",[]).run(["$templateCache",function(n){n.put("template/accordion/accordion.html",'<div class="panel-group" ng-transclude><\/div>')}]);angular.module("template/alert/alert.html",[]).run(["$templateCache",function(n){n.put("template/alert/alert.html",'<div class="alert" ng-class="[\'alert-\' + (type || \'warning\'), closeable ? \'alert-dismissable\' : null]" role="alert">\n    <button ng-show="closeable" type="button" class="close" ng-click="close()">\n        <span aria-hidden="true">&times;<\/span>\n        <span class="sr-only">Close<\/span>\n    <\/button>\n    <div ng-transclude><\/div>\n<\/div>\n')}]);angular.module("template/carousel/carousel.html",[]).run(["$templateCache",function(n){n.put("template/carousel/carousel.html",'<div ng-mouseenter="pause()" ng-mouseleave="play()" class="carousel" ng-swipe-right="prev()" ng-swipe-left="next()">\n    <ol class="carousel-indicators" ng-show="slides.length > 1">\n        <li ng-repeat="slide in slides track by $index" ng-class="{active: isActive(slide)}" ng-click="select(slide)"><\/li>\n    <\/ol>\n    <div class="carousel-inner" ng-transclude><\/div>\n    <a class="left carousel-control" ng-click="prev()" ng-show="slides.length > 1"><span class="glyphicon glyphicon-chevron-left"><\/span><\/a>\n    <a class="right carousel-control" ng-click="next()" ng-show="slides.length > 1"><span class="glyphicon glyphicon-chevron-right"><\/span><\/a>\n<\/div>\n')}]);angular.module("template/carousel/slide.html",[]).run(["$templateCache",function(n){n.put("template/carousel/slide.html","<div ng-class=\"{\n    'active': leaving || (active && !entering),\n    'prev': (next || active) && direction=='prev',\n    'next': (next || active) && direction=='next',\n    'right': direction=='prev',\n    'left': direction=='next'\n  }\" class=\"item text-center\" ng-transclude><\/div>\n")}]);angular.module("template/datepicker/datepicker.html",[]).run(["$templateCache",function(n){n.put("template/datepicker/datepicker.html",'<div ng-switch="datepickerMode" role="application" ng-keydown="keydown($event)">\n  <daypicker ng-switch-when="day" tabindex="0"><\/daypicker>\n  <monthpicker ng-switch-when="month" tabindex="0"><\/monthpicker>\n  <yearpicker ng-switch-when="year" tabindex="0"><\/yearpicker>\n<\/div>')}]);angular.module("template/datepicker/day.html",[]).run(["$templateCache",function(n){n.put("template/datepicker/day.html",'<table role="grid" aria-labelledby="{{uniqueId}}-title" aria-activedescendant="{{activeDateId}}">\n  <thead>\n    <tr>\n      <th><button type="button" class="btn btn-default btn-sm pull-left" ng-click="move(-1)" tabindex="-1"><i class="glyphicon glyphicon-chevron-left"><\/i><\/button><\/th>\n      <th colspan="{{5 + showWeeks}}"><button id="{{uniqueId}}-title" role="heading" aria-live="assertive" aria-atomic="true" type="button" class="btn btn-default btn-sm" ng-click="toggleMode()" tabindex="-1" style="width:100%;"><strong>{{title}}<\/strong><\/button><\/th>\n      <th><button type="button" class="btn btn-default btn-sm pull-right" ng-click="move(1)" tabindex="-1"><i class="glyphicon glyphicon-chevron-right"><\/i><\/button><\/th>\n    <\/tr>\n    <tr>\n      <th ng-show="showWeeks" class="text-center"><\/th>\n      <th ng-repeat="label in labels track by $index" class="text-center"><small aria-label="{{label.full}}">{{label.abbr}}<\/small><\/th>\n    <\/tr>\n  <\/thead>\n  <tbody>\n    <tr ng-repeat="row in rows track by $index">\n      <td ng-show="showWeeks" class="text-center h6"><em>{{ weekNumbers[$index] }}<\/em><\/td>\n      <td ng-repeat="dt in row track by dt.date" class="text-center" role="gridcell" id="{{dt.uid}}" aria-disabled="{{!!dt.disabled}}">\n        <button type="button" style="width:100%;" class="btn btn-default btn-sm" ng-class="{\'btn-info\': dt.selected, active: isActive(dt)}" ng-click="select(dt.date)" ng-disabled="dt.disabled" tabindex="-1"><span ng-class="{\'text-muted\': dt.secondary, \'text-info\': dt.current}">{{dt.label}}<\/span><\/button>\n      <\/td>\n    <\/tr>\n  <\/tbody>\n<\/table>\n')}]);angular.module("template/datepicker/month.html",[]).run(["$templateCache",function(n){n.put("template/datepicker/month.html",'<table role="grid" aria-labelledby="{{uniqueId}}-title" aria-activedescendant="{{activeDateId}}">\n  <thead>\n    <tr>\n      <th><button type="button" class="btn btn-default btn-sm pull-left" ng-click="move(-1)" tabindex="-1"><i class="glyphicon glyphicon-chevron-left"><\/i><\/button><\/th>\n      <th><button id="{{uniqueId}}-title" role="heading" aria-live="assertive" aria-atomic="true" type="button" class="btn btn-default btn-sm" ng-click="toggleMode()" tabindex="-1" style="width:100%;"><strong>{{title}}<\/strong><\/button><\/th>\n      <th><button type="button" class="btn btn-default btn-sm pull-right" ng-click="move(1)" tabindex="-1"><i class="glyphicon glyphicon-chevron-right"><\/i><\/button><\/th>\n    <\/tr>\n  <\/thead>\n  <tbody>\n    <tr ng-repeat="row in rows track by $index">\n      <td ng-repeat="dt in row track by dt.date" class="text-center" role="gridcell" id="{{dt.uid}}" aria-disabled="{{!!dt.disabled}}">\n        <button type="button" style="width:100%;" class="btn btn-default" ng-class="{\'btn-info\': dt.selected, active: isActive(dt)}" ng-click="select(dt.date)" ng-disabled="dt.disabled" tabindex="-1"><span ng-class="{\'text-info\': dt.current}">{{dt.label}}<\/span><\/button>\n      <\/td>\n    <\/tr>\n  <\/tbody>\n<\/table>\n')}]);angular.module("template/datepicker/popup.html",[]).run(["$templateCache",function(n){n.put("template/datepicker/popup.html",'<ul class="dropdown-menu" ng-style="{display: (isOpen && \'block\') || \'none\', top: position.top+\'px\', left: position.left+\'px\'}" ng-keydown="keydown($event)">\n\t<li ng-transclude><\/li>\n\t<li ng-if="showButtonBar" style="padding:10px 9px 2px">\n\t\t<span class="btn-group pull-left">\n\t\t\t<button type="button" class="btn btn-sm btn-info" ng-click="select(\'today\')">{{ getText(\'current\') }}<\/button>\n\t\t\t<button type="button" class="btn btn-sm btn-danger" ng-click="select(null)">{{ getText(\'clear\') }}<\/button>\n\t\t<\/span>\n\t\t<button type="button" class="btn btn-sm btn-success pull-right" ng-click="close()">{{ getText(\'close\') }}<\/button>\n\t<\/li>\n<\/ul>\n')}]);angular.module("template/datepicker/year.html",[]).run(["$templateCache",function(n){n.put("template/datepicker/year.html",'<table role="grid" aria-labelledby="{{uniqueId}}-title" aria-activedescendant="{{activeDateId}}">\n  <thead>\n    <tr>\n      <th><button type="button" class="btn btn-default btn-sm pull-left" ng-click="move(-1)" tabindex="-1"><i class="glyphicon glyphicon-chevron-left"><\/i><\/button><\/th>\n      <th colspan="3"><button id="{{uniqueId}}-title" role="heading" aria-live="assertive" aria-atomic="true" type="button" class="btn btn-default btn-sm" ng-click="toggleMode()" tabindex="-1" style="width:100%;"><strong>{{title}}<\/strong><\/button><\/th>\n      <th><button type="button" class="btn btn-default btn-sm pull-right" ng-click="move(1)" tabindex="-1"><i class="glyphicon glyphicon-chevron-right"><\/i><\/button><\/th>\n    <\/tr>\n  <\/thead>\n  <tbody>\n    <tr ng-repeat="row in rows track by $index">\n      <td ng-repeat="dt in row track by dt.date" class="text-center" role="gridcell" id="{{dt.uid}}" aria-disabled="{{!!dt.disabled}}">\n        <button type="button" style="width:100%;" class="btn btn-default" ng-class="{\'btn-info\': dt.selected, active: isActive(dt)}" ng-click="select(dt.date)" ng-disabled="dt.disabled" tabindex="-1"><span ng-class="{\'text-info\': dt.current}">{{dt.label}}<\/span><\/button>\n      <\/td>\n    <\/tr>\n  <\/tbody>\n<\/table>\n')}]);angular.module("template/modal/backdrop.html",[]).run(["$templateCache",function(n){n.put("template/modal/backdrop.html",'<div class="modal-backdrop fade {{ backdropClass }}"\n     ng-class="{in: animate}"\n     ng-style="{\'z-index\': 1040 + (index && 1 || 0) + index*10}"\n><\/div>\n')}]);angular.module("template/modal/window.html",[]).run(["$templateCache",function(n){n.put("template/modal/window.html",'<div tabindex="-1" role="dialog" class="modal fade" ng-class="{in: animate}" ng-style="{\'z-index\': 1050 + index*10, display: \'block\'}" ng-click="close($event)">\n    <div class="modal-dialog" ng-class="{\'modal-sm\': size == \'sm\', \'modal-lg\': size == \'lg\'}"><div class="modal-content" modal-transclude><\/div><\/div>\n<\/div>')}]);angular.module("template/pagination/pager.html",[]).run(["$templateCache",function(n){n.put("template/pagination/pager.html",'<ul class="pager">\n  <li ng-class="{disabled: noPrevious(), previous: align}"><a href ng-click="selectPage(page - 1)">{{getText(\'previous\')}}<\/a><\/li>\n  <li ng-class="{disabled: noNext(), next: align}"><a href ng-click="selectPage(page + 1)">{{getText(\'next\')}}<\/a><\/li>\n<\/ul>')}]);angular.module("template/pagination/pagination.html",[]).run(["$templateCache",function(n){n.put("template/pagination/pagination.html",'<ul class="pagination">\n  <li ng-if="boundaryLinks" ng-class="{disabled: noPrevious()}"><a href ng-click="selectPage(1)">{{getText(\'first\')}}<\/a><\/li>\n  <li ng-if="directionLinks" ng-class="{disabled: noPrevious()}"><a href ng-click="selectPage(page - 1)">{{getText(\'previous\')}}<\/a><\/li>\n  <li ng-repeat="page in pages track by $index" ng-class="{active: page.active}"><a href ng-click="selectPage(page.number)">{{page.text}}<\/a><\/li>\n  <li ng-if="directionLinks" ng-class="{disabled: noNext()}"><a href ng-click="selectPage(page + 1)">{{getText(\'next\')}}<\/a><\/li>\n  <li ng-if="boundaryLinks" ng-class="{disabled: noNext()}"><a href ng-click="selectPage(totalPages)">{{getText(\'last\')}}<\/a><\/li>\n<\/ul>')}]);angular.module("template/tooltip/tooltip-html-unsafe-popup.html",[]).run(["$templateCache",function(n){n.put("template/tooltip/tooltip-html-unsafe-popup.html",'<div class="tooltip {{placement}}" ng-class="{ in: isOpen(), fade: animation() }">\n  <div class="tooltip-arrow"><\/div>\n  <div class="tooltip-inner" bind-html-unsafe="content"><\/div>\n<\/div>\n')}]);angular.module("template/tooltip/tooltip-popup.html",[]).run(["$templateCache",function(n){n.put("template/tooltip/tooltip-popup.html",'<div class="tooltip {{placement}}" ng-class="{ in: isOpen(), fade: animation() }">\n  <div class="tooltip-arrow"><\/div>\n  <div class="tooltip-inner" ng-bind="content"><\/div>\n<\/div>\n')}]);angular.module("template/popover/popover.html",[]).run(["$templateCache",function(n){n.put("template/popover/popover.html",'<div class="popover {{placement}}" ng-class="{ in: isOpen(), fade: animation() }">\n  <div class="arrow"><\/div>\n\n  <div class="popover-inner">\n      <h3 class="popover-title" ng-bind="title" ng-show="title"><\/h3>\n      <div class="popover-content" ng-bind="content"><\/div>\n  <\/div>\n<\/div>\n')}]);angular.module("template/progressbar/bar.html",[]).run(["$templateCache",function(n){n.put("template/progressbar/bar.html",'<div class="progress-bar" ng-class="type && \'progress-bar-\' + type" role="progressbar" aria-valuenow="{{value}}" aria-valuemin="0" aria-valuemax="{{max}}" ng-style="{width: percent + \'%\'}" aria-valuetext="{{percent | number:0}}%" ng-transclude><\/div>')}]);angular.module("template/progressbar/progress.html",[]).run(["$templateCache",function(n){n.put("template/progressbar/progress.html",'<div class="progress" ng-transclude><\/div>')}]);angular.module("template/progressbar/progressbar.html",[]).run(["$templateCache",function(n){n.put("template/progressbar/progressbar.html",'<div class="progress">\n  <div class="progress-bar" ng-class="type && \'progress-bar-\' + type" role="progressbar" aria-valuenow="{{value}}" aria-valuemin="0" aria-valuemax="{{max}}" ng-style="{width: percent + \'%\'}" aria-valuetext="{{percent | number:0}}%" ng-transclude><\/div>\n<\/div>')}]);angular.module("template/rating/rating.html",[]).run(["$templateCache",function(n){n.put("template/rating/rating.html",'<span ng-mouseleave="reset()" ng-keydown="onKeydown($event)" tabindex="0" role="slider" aria-valuemin="0" aria-valuemax="{{range.length}}" aria-valuenow="{{value}}">\n    <i ng-repeat="r in range track by $index" ng-mouseenter="enter($index + 1)" ng-click="rate($index + 1)" class="glyphicon" ng-class="$index < value && (r.stateOn || \'glyphicon-star\') || (r.stateOff || \'glyphicon-star-empty\')">\n        <span class="sr-only">({{ $index < value ? \'*\' : \' \' }})<\/span>\n    <\/i>\n<\/span>')}]);angular.module("template/tabs/tab.html",[]).run(["$templateCache",function(n){n.put("template/tabs/tab.html",'<li ng-class="{active: active, disabled: disabled}">\n  <a href ng-click="select()" tab-heading-transclude>{{heading}}<\/a>\n<\/li>\n')}]);angular.module("template/tabs/tabset.html",[]).run(["$templateCache",function(n){n.put("template/tabs/tabset.html",'<div>\n  <ul class="nav nav-{{type || \'tabs\'}}" ng-class="{\'nav-stacked\': vertical, \'nav-justified\': justified}" ng-transclude><\/ul>\n  <div class="tab-content">\n    <div class="tab-pane" \n         ng-repeat="tab in tabs" \n         ng-class="{active: tab.active}"\n         tab-content-transclude="tab">\n    <\/div>\n  <\/div>\n<\/div>\n')}]);angular.module("template/timepicker/timepicker.html",[]).run(["$templateCache",function(n){n.put("template/timepicker/timepicker.html",'<table>\n\t<tbody>\n\t\t<tr class="text-center">\n\t\t\t<td><a ng-click="incrementHours()" class="btn btn-link"><span class="glyphicon glyphicon-chevron-up"><\/span><\/a><\/td>\n\t\t\t<td>&nbsp;<\/td>\n\t\t\t<td><a ng-click="incrementMinutes()" class="btn btn-link"><span class="glyphicon glyphicon-chevron-up"><\/span><\/a><\/td>\n\t\t\t<td ng-show="showMeridian"><\/td>\n\t\t<\/tr>\n\t\t<tr>\n\t\t\t<td style="width:50px;" class="form-group" ng-class="{\'has-error\': invalidHours}">\n\t\t\t\t<input type="text" ng-model="hours" ng-change="updateHours()" class="form-control text-center" ng-mousewheel="incrementHours()" ng-readonly="readonlyInput" maxlength="2">\n\t\t\t<\/td>\n\t\t\t<td>:<\/td>\n\t\t\t<td style="width:50px;" class="form-group" ng-class="{\'has-error\': invalidMinutes}">\n\t\t\t\t<input type="text" ng-model="minutes" ng-change="updateMinutes()" class="form-control text-center" ng-readonly="readonlyInput" maxlength="2">\n\t\t\t<\/td>\n\t\t\t<td ng-show="showMeridian"><button type="button" class="btn btn-default text-center" ng-click="toggleMeridian()">{{meridian}}<\/button><\/td>\n\t\t<\/tr>\n\t\t<tr class="text-center">\n\t\t\t<td><a ng-click="decrementHours()" class="btn btn-link"><span class="glyphicon glyphicon-chevron-down"><\/span><\/a><\/td>\n\t\t\t<td>&nbsp;<\/td>\n\t\t\t<td><a ng-click="decrementMinutes()" class="btn btn-link"><span class="glyphicon glyphicon-chevron-down"><\/span><\/a><\/td>\n\t\t\t<td ng-show="showMeridian"><\/td>\n\t\t<\/tr>\n\t<\/tbody>\n<\/table>\n')}]);angular.module("template/typeahead/typeahead-match.html",[]).run(["$templateCache",function(n){n.put("template/typeahead/typeahead-match.html",'<a tabindex="-1" bind-html-unsafe="match.label | typeaheadHighlight:query"><\/a>')}]);angular.module("template/typeahead/typeahead-popup.html",[]).run(["$templateCache",function(n){n.put("template/typeahead/typeahead-popup.html",'<ul class="dropdown-menu" ng-show="isOpen()" ng-style="{top: position.top+\'px\', left: position.left+\'px\'}" style="display: block;" role="listbox" aria-hidden="{{!isOpen()}}">\n    <li ng-repeat="match in matches track by $index" ng-class="{active: isActive($index) }" ng-mouseenter="selectActive($index)" ng-click="selectMatch($index)" role="option" id="{{match.id}}">\n        <div typeahead-match index="$index" match="match" query="query" template-url="templateUrl"><\/div>\n    <\/li>\n<\/ul>\n')}]),function(){var i="angularUtils.directives.dirPagination",n="__default",t;try{t=angular.module(i)}catch(r){t=angular.module(i,[])}t.directive("dirPaginate",["$compile","$parse","$timeout","paginationService",function(t,i,r,u){return{terminal:!0,multiElement:!0,priority:5e3,compile:function(r,f){var e=f.dirPaginate,o=e.match(/^\s*([\s\S]+?)\s+in\s+([\s\S]+?)(?:\s+track\s+by\s+([\s\S]+?))?\s*$/),s=/\|\s*itemsPerPage\s*:[^|]*/;if(o[2].match(s)===null)throw"pagination directive: the 'itemsPerPage' filter must be set.";var h=o[2].replace(s,""),c=i(h),l=f.paginationId||n;return u.registerInstance(l),function(r,f,o){var s=i(o.paginationId)(r)||o.paginationId||n,h,v,y,l,a;u.registerInstance(s);v=!!e.match(/(\|\s*itemsPerPage\s*:[^|]*:[^|]*)/);h=s===n||v?e:e.replace(/(\|\s*itemsPerPage\s*:[^|]*)/,"$1 : '"+s+"'");f[0].hasAttribute("dir-paginate-start")||f[0].hasAttribute("data-dir-paginate-start")?(o.$set("ngRepeatStart",h),f.eq(f.length-1).attr("ng-repeat-end",!0)):o.$set("ngRepeat",h);y=t(f,!1,5e3);o.currentPage?l=i(o.currentPage):(a=s+"__currentPage",r[a]=1,l=i(a));u.setCurrentPageParser(s,l,r);typeof o.totalItems!="undefined"?(u.setAsyncModeTrue(s),r.$watch(function(){return i(o.totalItems)(r)},function(n){0<=n&&u.setCollectionLength(s,n)})):r.$watchCollection(function(){return c(r)},function(n){n&&u.setCollectionLength(s,n.length)});y(r)}}}}]);t.directive("dirPaginationControls",["paginationService","paginationTemplate",function(t,i){function r(n,t,i,r){var s=[],o=Math.ceil(t/i),h=Math.ceil(r/2),e,c,u;for(e=n<=h?"start":o-h<n?"end":"middle",c=r<o,u=1;u<=o&&u<=r;){var l=f(u,n,r,o),a=u===2&&(e==="middle"||e==="end"),v=u===r-1&&(e==="middle"||e==="start");c&&(a||v)?s.push("..."):s.push(l);u++}return s}function f(n,t,i,r){var u=Math.ceil(i/2);return n===i?r:n===1?n:i<r?r-u<t?r-i+n:u<t?t-u+n:n:n}var u=/^\d+$/;return{restrict:"AE",templateUrl:function(n,t){return t.templateUrl||i.getPath()},scope:{maxSize:"=?",onPageChange:"&?",paginationId:"=?"},link:function(i,f,e){function c(n){if(a(n)&&(i.pages=r(n,t.getCollectionLength(o),t.getItemsPerPage(o),s),i.pagination.current=n,l(),i.onPageChange))i.onPageChange({newPageNumber:n})}function y(){var n=parseInt(t.getCurrentPage(o))||1;i.pages=r(n,t.getCollectionLength(o),t.getItemsPerPage(o),s);i.pagination.current=n;i.pagination.last=i.pages[i.pages.length-1];i.pagination.last<i.pagination.current?i.setCurrent(i.pagination.last):l()}function l(){var n=t.getCurrentPage(o),r=t.getItemsPerPage(o),u=t.getCollectionLength(o);i.range.lower=(n-1)*r+1;i.range.upper=Math.min(n*r,u);i.range.total=u}function a(n){return u.test(n)&&0<n&&n<=i.pagination.last}var v=e.paginationId||n,o=i.paginationId||e.paginationId||n,h,s;if(!t.isRegistered(o)&&!t.isRegistered(v)){h=o!==n?" (id: "+o+") ":" ";throw"pagination directive: the pagination controls"+h+"cannot be used without the corresponding pagination directive.";}i.maxSize||(i.maxSize=9);i.directionLinks=angular.isDefined(e.directionLinks)?i.$parent.$eval(e.directionLinks):!0;i.boundaryLinks=angular.isDefined(e.boundaryLinks)?i.$parent.$eval(e.boundaryLinks):!1;s=Math.max(i.maxSize,5);i.pages=[];i.pagination={last:1,current:1};i.range={lower:1,upper:1,total:1};i.$watch(function(){return(t.getCollectionLength(o)+1)*t.getItemsPerPage(o)},function(n){0<n&&y()});i.$watch(function(){return t.getItemsPerPage(o)},function(n,t){n!=t&&c(i.pagination.current)});i.$watch(function(){return t.getCurrentPage(o)},function(n,t){n!=t&&c(n)});i.setCurrent=function(n){a(n)&&t.setCurrentPage(o,n)}}}}]);t.filter("itemsPerPage",["paginationService",function(t){return function(i,r,u){if(typeof u=="undefined"&&(u=n),!t.isRegistered(u))throw"pagination directive: the itemsPerPage id argument (id: "+u+") does not match a registered pagination-id.";var e,f;return i instanceof Array?(r=parseInt(r)||9999999999,f=t.isAsyncMode(u)?0:(t.getCurrentPage(u)-1)*r,e=f+r,t.setItemsPerPage(u,r),i.slice(f,e)):i}}]);t.service("paginationService",function(){var n={},t;this.registerInstance=function(i){typeof n[i]=="undefined"&&(n[i]={asyncMode:!1},t=i)};this.isRegistered=function(t){return typeof n[t]!="undefined"};this.getLastInstanceId=function(){return t};this.setCurrentPageParser=function(t,i,r){n[t].currentPageParser=i;n[t].context=r};this.setCurrentPage=function(t,i){n[t].currentPageParser.assign(n[t].context,i)};this.getCurrentPage=function(t){var i=n[t].currentPageParser;return i?i(n[t].context):1};this.setItemsPerPage=function(t,i){n[t].itemsPerPage=i};this.getItemsPerPage=function(t){return n[t].itemsPerPage};this.setCollectionLength=function(t,i){n[t].collectionLength=i};this.getCollectionLength=function(t){return n[t].collectionLength};this.setAsyncModeTrue=function(t){n[t].asyncMode=!0};this.isAsyncMode=function(t){return n[t].asyncMode}});t.provider("paginationTemplate",function(){var n="directives/pagination/dirPagination.tpl.html";this.setPath=function(t){n=t};this.$get=function(){return{getPath:function(){return n}}}})}();angular.module("ProductPortal",["ngResource","ppControllers"]);angular.module("ppControllers",["ui.bootstrap","ipCookie","angularUtils.directives.dirPagination"]).constant("_",window._);angular.module("ppControllers").factory("AlertsService",["$rootScope","$q",function(n,t){function i(i){t.when(i).then(function(t){n.$broadcast(BroadcastEvents.ShowSuccessMessage,t)})}function r(i){t.when(i).then(function(t){n.$broadcast(BroadcastEvents.ShowErrorMessage,t)})}function u(){n.$broadcast(BroadcastEvents.HideAllMessages)}return{showSuccess:i,showError:r,hideAll:u}}]);angular.module("ppControllers").factory("CommunicationService",["$http","$q","AlertsService","LoaderService",function(n,t,i,r){function u(n,u){i.hideAll();r.showLoader();var f=n.then(function(n){return r.hideLoader(),n.data.data?n.data.data:n.data},function(n){var u=n.data?n.data.message:"An unknown error occurred";return i.showError(u),r.hideLoader(),t.reject(u)});return f.abort=function(){u.resolve()},f.finally(function(){f.abort=angular.noop;u=n=f=null}),f}function f(i,r,f){var e=t.defer(),o=$("html").attr("lang"),s=n({method:"get",url:"/api/"+(i?i+"/":"")+o+"/"+r+"/",timeout:e.promise,params:f});return u(s,e)}function e(i,r,f){var e=t.defer(),o=$("html").attr("lang"),s=n({method:"post",url:"/api/"+(i?i+"/":"")+o+"/"+r+"/",timeout:e.promise,params:f});return u(s,e)}return{get:f,post:e}}]);angular.module("ppControllers").factory("CookieStore",["ipCookie",function(n){function t(t){return n(t)}function i(t,i){return n(t,i,{path:"/"})}return{get:t,put:i}}]);angular.module("ppControllers").factory("LoaderService",["$rootScope",function(n){function t(){n.$broadcast(BroadcastEvents.ShowLoader)}function i(){n.$broadcast(BroadcastEvents.HideLoader)}return{showLoader:t,hideLoader:i}}]);angular.module("ppControllers").factory("LocalizationService",["CommunicationService",function(n){function r(){return i||(i=n.get("localization","get-product-set-localization")),i}function t(n){return r().then(function(t){return t[n]!=null?t[n]:n.split(/[/]+/).pop()})}var i=null;return{addToProductSetModal:{messages:{successProductSetCreated:t("/productSets/addToProductSetModal/messages/successProductSetCreated"),successProductAdded:t("/productSets/addToProductSetModal/messages/successProductAdded"),errorProductSetNotSelected:t("/productSets/addToProductSetModal/messages/errorProductSetNotSelected"),errorExistingProductSetNotSelected:t("/productSets/addToProductSetModal/messages/errorExistingProductSetNotSelected"),errorNewProductSetNameNotSet:t("/productSets/addToProductSetModal/messages/errorNewProductSetNameNotSet")}},deleteProductSetConfirmModal:{title:t("/productSets/deleteProductSetConfirmModal/title"),body:t("/productSets/deleteProductSetConfirmModal/body"),no:t("/productSets/deleteProductSetConfirmModal/no"),yes:t("/productSets/deleteProductSetConfirmModal/yes")},removeProductConfirmModal:{title:t("/productSets/removeProductConfirmModal/title"),body:t("/productSets/removeProductConfirmModal/body"),no:t("/productSets/removeProductConfirmModal/no"),yes:t("/productSets/removeProductConfirmModal/yes")},productSetDetails:{messages:{successProductSetRenamed:t("/productSets/productSetDetails/messages/successProductSetRenamed"),successProductSetDeleted:t("/productSets/productSetDetails/messages/successProductSetDeleted"),successProductRemoved:t("/productSets/productSetDetails/messages/successProductRemoved"),errorNewNameIsRequired:t("/productSets/productSetDetails/messages/errorNewNameIsRequired")}},editPermissionsModal:{messages:{successProductSetShared:t("/productSets/editPermissionsModal/messages/successProductSetShared"),successProductSetUnshared:t("/productSets/editPermissionsModal/messages/successProductSetUnshared"),successAccessLevelChanged:t("/productSets/editPermissionsModal/messages/successAccessLevelChanged"),successClassificationChanged:t("/productSets/editPermissionsModal/messages/successClassificationChanged"),errorInvalidEmail:t("/productSets/editPermissionsModal/messages/errorInvalidEmail")}}}}]);angular.module("ppControllers").factory("ModalService",["$modal","$q",function(n,t){function u(n,r,u,e){var o=[t.when(n),t.when(r),t.when(u),t.when(e)];return t.all(o).then(function(n){var t={templateUrl:"ConfirmModal",controller:f,resolve:{data:function(){return{headerText:n[0],bodyText:n[1],actionButtonText:n[2],closeButtonText:n[3]}}}};return i(t)})}function i(t){var i=angular.copy(r);return angular.extend(i,t),n.open(i).result}var r={backdrop:!0,keyboard:!0,modalFade:!0,windowClass:"saferoad-modal"},f=["$scope","$modalInstance","data",function(n,t,i){n.data=i;n.ok=function(){t.close()};n.close=function(){t.dismiss()}}];return{showConfirmationModal:u,showModal:i}}]);angular.module("ppControllers").factory("VocabularyListService",["CommunicationService",function(n){return{get:function(t){return n.get("vocabulary-lists","get",t)}}}]);angular.module("ppControllers").controller("AlertsController",["$scope","$timeout",function(n,t){function u(t){t.length>0&&r(t);n.$on(BroadcastEvents.ShowSuccessMessage,function(n,t){o([t])});n.$on(BroadcastEvents.ShowErrorMessage,function(n,t){r([t])});n.$on(BroadcastEvents.HideAllMessages,function(n,t){i(t)})}function f(){return n.type=="error"}function e(){return n.type=="success"}function o(r){n.messages=r;n.type="success";n.isActive=!0;t(i,5e3,!0)}function r(t,i){n.messages=t;n.type="error";n.isActive=!0;n.showLink=i}function i(){n.isActive=!1}n.messages=null;n.type=null;n.isActive=!1;n.isError=f;n.isSuccess=e;n.activate=u;n.HideAll=i}]);angular.module("ppControllers").controller("LoaderController",["$scope","$timeout",function(n){function t(){n.$on(BroadcastEvents.ShowLoader,function(){i()});n.$on(BroadcastEvents.HideLoader,function(){r()})}function i(){n.isActive=!0}function r(){n.isActive=!1}n.isActive=!1;n.init=t;t();n.delayTimer=null}]);var AccessLevelEnum={None:0,ReadOnly:10,FullAccess:20,Owner:30},AccessLevelEnumLocalization={0:"No access",10:"Read only",20:"Full access",30:"Owner"},BroadcastEvents={ShowErrorMessage:"show-error-message",ShowSuccessMessage:"show-success-message",HideAllMessages:"hide-all-messages",ProductSetChanged:"productset-changed",ShowLoader:"show-loader",HideLoader:"hide-loader"};angular.module("ppControllers").factory("ProductSetService",["CommunicationService",function(n){var t="product-sets";return{getProductSets:function(i){return n.get(t,"get-product-sets",{minAccessLevel:i})},createNewProductSetWithSingleProduct:function(i,r){return n.post(t,"create-new-product-set-with-single-product",{productSetName:i,productId:r})},addProductToExistingProductSet:function(i,r){return n.post(t,"add-product-to-existing-product-set",{productSetId:i,productId:r})},getProductSetById:function(i){return n.get(t,"get-product-set-by-id",{productSetId:i})},shareProductSet:function(i,r,u,f,e){return n.post(t,"share-product-set",{productSetId:i,email:r,accessLevel:u,classification:f,notify:e})},unshareProductSet:function(i,r){return n.post(t,"unshare-product-set",{productSetId:i,permissionId:r})},changeAccessLevel:function(i,r,u){return n.post(t,"change-access-level",{productSetId:i,permissionId:r,accessLevel:u})},changeClassification:function(i,r,u){return n.post(t,"change-classification",{productSetId:i,permissionId:r,classification:u})},renameProductSet:function(i,r){return n.post(t,"rename-product-set",{productSetId:i,newName:r})},deleteProductSet:function(i){return n.post(t,"delete-product-set",{productSetId:i})},removeProduct:function(i,r){return n.post(t,"remove-product",{productSetId:i,productId:r})}}}]);angular.module("ppControllers").controller("AddToProductSetModalController",["$scope","$modalInstance","LocalizationService","AlertsService","ProductSetService","product","CookieStore",function(n,t,i,r,u,f,e){function h(){n.loading=!0;c().then(function(t){n.productSets=t;n.productSets.length>0?l():o()},function(t){n.error=t}).finally(function(){n.loading=!1})}function c(){return u.getProductSets(AccessLevelEnum.FullAccess)}function l(){var i=e.get("lastUsedProductSetId"),t;i&&(t=Enumerable.From(n.productSets).FirstOrDefault(!1,function(n){return n.id==i}),t&&(s(),n.existingProductSet=t))}function o(){n.productSetType=n.ProductSetTypeEnum.NewSet;n.existingProductSet=null}function s(){n.productSetType=n.ProductSetTypeEnum.ExistingSet;n.newProductSetName=null}function a(){return n.productSetType==n.ProductSetTypeEnum.NewSet}function v(){return n.productSetType==n.ProductSetTypeEnum.ExistingSet}function y(n,f){u.createNewProductSetWithSingleProduct(n,f).then(function(n){e.put("lastUsedProductSetId",n.id);t.close(n);r.showSuccess(i.addToProductSetModal.messages.successProductSetCreated)})}function p(n,f){u.addProductToExistingProductSet(n,f).then(function(u){e.put("lastUsedProductSetId",n);t.close(u);r.showSuccess(i.addToProductSetModal.messages.successProductAdded)})}function w(){k()&&(n.productSetType==n.ProductSetTypeEnum.NewSet&&y(n.newProductSetName,f.id),n.productSetType==n.ProductSetTypeEnum.ExistingSet&&p(n.existingProductSet.id,f.id))}function b(){t.dismiss("cancel")}function k(){return n.validationErrors=null,n.productSetType!=n.ProductSetTypeEnum.NewSet&&n.productSetType!=n.ProductSetTypeEnum.ExistingSet&&(r.showError(i.addToProductSetModal.messages.errorProductSetNotSelected),n.validationErrors=n.validationErrors||{},n.validationErrors.productSetType=!0),n.productSetType!=n.ProductSetTypeEnum.NewSet||n.newProductSetName||(r.showError(i.addToProductSetModal.messages.errorNewProductSetNameNotSet,!0),n.validationErrors=n.validationErrors||{},n.validationErrors.newProductSetName=!0),n.productSetType!=n.ProductSetTypeEnum.ExistingSet||n.existingProductSet||(r.showError(i.addToProductSetModal.messages.errorExistingProductSetNotSelected),n.validationErrors=n.validationErrors||{},n.validationErrors.existingProductSet=!0),!n.validationErrors}function d(t){return n.validationErrors?!n.validationErrors[t]:!0}n.ProductSetTypeEnum={NewSet:"new-set",ExistingSet:"existing-set"};n.product=f;n.productSets=null;n.existingProductSet=null;n.newProductSetName=null;n.productSetType=null;n.validationErrors=null;n.isValid=d;n.setProductSetTypeNew=o;n.setProductSetTypeExisting=s;n.isProductSetTypeNew=a;n.isProductSetTypeExisting=v;n.ok=w;n.cancel=b;h()}]);angular.module("ppControllers").controller("EditPermissionsModalController",["$rootScope","$scope","$modalInstance","LocalizationService","AlertsService","ProductSetService","productSet",function(n,t,i,r,u,f,e){function h(){o.productSet=e;o.shareToSectionEmail=null;o.shareToSectionAccessLevel=Enumerable.From(o.productSet.availableAccessLevels).FirstOrDefault(null);o.shareToSectionClassification=Enumerable.From(o.productSet.availableClassifications).FirstOrDefault(null)}function c(n){o.shareToSectionAccessLevel=n}function l(n){o.shareToSectionClassification=n}function a(){v()&&f.shareProductSet(o.productSet.id,o.shareToSectionEmail,o.shareToSectionAccessLevel.key,o.shareToSectionClassification.key,o.shareToSectionNotify).then(function(n){s(n);tt();u.showSuccess(r.editPermissionsModal.messages.successProductSetShared)})}function v(){return o.validationErrors=null,rt(o.shareToSectionEmail)||(u.showError(r.editPermissionsModal.messages.errorInvalidEmail),o.validationErrors=o.validationErrors||{},o.validationErrors.errorInvalidEmail=!0),!o.validationErrors}function y(n){o.permissionSectionPermission=n}function p(n){f.changeAccessLevel(o.productSet.id,o.permissionSectionPermission.id,n.key).then(function(n){s(n);u.showSuccess(r.editPermissionsModal.messages.successAccessLevelChanged)})}function w(n){o.permissionSectionPermission=n}function b(n){f.changeClassification(o.productSet.id,o.permissionSectionPermission.id,n.key).then(function(n){s(n);u.showSuccess(r.editPermissionsModal.messages.successClassificationChanged)})}function k(n){o.unshareSectionPermission=n}function d(){f.unshareProductSet(o.productSet.id,o.unshareSectionPermission.id).then(function(n){s(n);g();u.showSuccess(r.editPermissionsModal.messages.successProductSetUnshared)})}function g(){o.unshareSectionPermission=null}function nt(){i.close(o.productSet)}function tt(){o.shareToEmail="";o.shareToAccessLevel=AccessLevelEnum.ReadOnly;o.shareToNotify=!0}function s(t){o.productSet=t;n.$broadcast(BroadcastEvents.ProductSetChanged,t)}function it(n){return o.validationErrors?!o.validationErrors[n]:!0}function rt(n){return/^.+@.+\..+$/.test(n)}var o=this;o.productSet=null;o.shareToSectionEmail=null;o.shareToSectionAccessLevel=null;o.shareToSectionClassification=null;o.shareToSectionNotify=!0;o.unshareSectionPermission=null;o.permissionSectionPermission=null;o.validationErrors=null;o.shareToSectionChangeAccessLevel=c;o.shareToSectionChangeClassification=l;o.shareToSectionCommit=a;o.unshareSectionActivate=k;o.unshareSectionCommit=d;o.permissionSectionChangeAccessLevelActivate=y;o.permissionSectionChangeAccessLevelCommit=p;o.permissionSectionChangeClassificationActivate=w;o.permissionSectionChangeClassificationCommit=b;o.closeModal=nt;o.isValid=it;h()}]);angular.module("ppControllers").controller("ProductDetailsController",["$scope","ModalService","AlertsService",function(n,t,i){function r(t,i){n.product={id:t,name:i}}function u(){var r={templateUrl:"AddToProductSetModal",controller:"AddToProductSetModalController",resolve:{product:function(){return n.product}}};t.showModal(r).finally(i.hideAll)}function f(){window.history.back()}n.product=null;n.activate=r;n.openAddToProductSetModal=u;n.goBack=f}]);angular.module("ppControllers").controller("ProductSetDetailsController",["$scope","ProductSetService","ModalService","LocalizationService","AlertsService",function(n,t,i,r,u){function s(i){f.productSetId=i;n.$on(BroadcastEvents.ProductSetChanged,function(n,t){t.id===f.productSet.id&&(f.productSet=t)});t.getProductSetById(f.productSetId).then(function(n){f.productSet=n})}function h(){var n=r.deleteProductSetConfirmModal.title,t=r.deleteProductSetConfirmModal.body,u=r.deleteProductSetConfirmModal.yes,f=r.deleteProductSetConfirmModal.no;i.showConfirmationModal(n,t,u,f).then(function(){c()})}function c(){t.deleteProductSet(f.productSetId).then(function(){window.location.href="../";u.showSuccess(r.productSetDetails.messages.successProductSetDeleted)})}function l(){f.newName=f.productSet.name;e();f.currentAction="rename"}function o(){f.newName=null;e();f.currentAction=null}function a(n,i){w()&&t.renameProductSet(n,i).then(function(n){f.productSet=n;o();u.showSuccess(r.productSetDetails.messages.successProductSetRenamed)})}function v(n,t){var u=r.removeProductConfirmModal.title,f=r.removeProductConfirmModal.body,e=r.removeProductConfirmModal.yes,o=r.removeProductConfirmModal.no;i.showConfirmationModal(u,f,e,o).then(function(){y(n,t)})}function y(n,i){t.removeProduct(n,i).then(function(n){f.productSet=n;u.showSuccess(r.productSetDetails.messages.successProductRemoved)})}function p(){var n={templateUrl:"EditPermissionsModal",controller:"EditPermissionsModalController as vm",size:"lg",resolve:{productSet:function(){return f.productSet}}};i.showModal(n).finally(u.hideAll)}function e(){f.validationErrors=null}function w(){return e(),f.newName||(u.showError(r.productSetDetails.messages.errorNewNameIsRequired),f.validationErrors=f.validationErrors||{},f.validationErrors.errorNewNameIsRequired=!0),!f.validationErrors}function b(n){return f.validationErrors?!f.validationErrors[n]:!0}function k(n,t){window._gaq&&window._gaq._getTracker&&ga("send","event","download","resource-projectroom",n,t)}var f=this;f.aclProductSetRename=!0;f.currentAction=null;f.newName=null;f.productSet=null;f.productSetId=null;f.validationErrors=null;f.activate=s;f.startRename=l;f.endRename=o;f.commitRename=a;f.openDeleteProductSetConfirmModal=h;f.openEditPermissionsModal=p;f.openRemoveProductConfirmModal=v;f.isValid=b;f.attachmentClick=k}]);angular.module("ppControllers").controller("ProductSetOverviewController",["$scope","$rootScope","$window","ProductSetService",function(n,t,i,r){function u(t){n.detailsPageUrl=t;r.getProductSets(AccessLevelEnum.ReadOnly).then(function(t){n.productSets=t})}n.productSets=undefined;n.activate=u}]);angular.module("ppControllers").factory("ProductFilterService",["CommunicationService",function(n){return{get:function(t){return n.get("product-catalog","find",t)},getlightingcolumns:function(t){return n.get("product-catalog","findlightingcolumns",t)},getrelatedproducts:function(t){return n.get("product-catalog","getrelatedproducts",t)}}}]);angular.module("ppControllers").controller("ProductFinderController",["$scope","$location","ProductFilterService","_",function(n,t,i,r){n.reset=function(){n.entries=[];n.totalCount=0;n.mainFieldKeys=[];n.tableViewKeys=[];n.initialized=!1;n.error="";n.page=t.$$search.page?t.$$search.page:1};n.reset();n.pageSize=10;n.loadData=function(){n.loading=!0;var e=t.$$search,u=r.assign({pageSize:n.pageSize,page:n.page,categoryId:n.categoryId,productType:n.productType},e),o,s=n.productType==="LightingColumns"?i.getlightingcolumns(u):i.get(u);(o=s).then(function(t){var e,o,i,r,u;n.entries=t.entries;n.totalCount=t.totalCount;e=[];o=[];for(i in t.entries)if(t.entries.hasOwnProperty(i)){r=t.entries[i].mainFields;for(f in r)r.hasOwnProperty(f)&&e.push(r[f].key);u=t.entries[i].mainFieldsForGrid;for(j in u)u.hasOwnProperty(j)&&o.push(u[j].key)}n.mainFieldKeys=e.filter(function(n,t,i){return t===i.indexOf(n)});n.tableViewKeys=o.filter(function(n,t,i){return t===i.indexOf(n)});n.loading=!1;n.initialized=!0},function(t){t!=="rejected"&&(console.error(t),n.error=t,n.loading=!1,n.initialized=!0)})};n.setPage=function(n){t.search("page",n)};n.$on("$locationChangeSuccess",function(){n.reset();n.loadData()})}]);angular.module("ppControllers").controller("ProductFinderLightingColumnsFilterFormController",["$scope","$controller","$location","CookieStore","VocabularyListService",function(n,t,i,r,u){function p(){var t={ParentId:n.parentId?n.parentId.key:undefined,LightingColumnProductFamily:n.family,LightingColumnFoundation:n.foundation,SurfaceTreatment:n.surfaceTreatment,NominalHeight:n.nominalHeight,TopDiameter:n.topDiameter};return _.omit(t,function(n){return!n})}function w(n){var i="",r=0;for(var t in n)n.hasOwnProperty(t)&&n[t]&&(i+=(r===0?"":"&")+t+":"+n[t],r++);return i}function b(t){var i=[];t.indexOf("&")!==-1?i=t.split("&"):i[0]=t;_.forOwn(i,function(t){if(t.indexOf(":")!==-1){var r=t.substring(0,t.indexOf(":")),i=t.substring(t.indexOf(":")+1);_.forOwn(n,function(t,u){u.toLowerCase()===r.toLowerCase()&&n[u]!==i&&(u==="parentId"&&(i=_.find(n.productTypes,{key:i})),n[u]=i)})}})}function k(t){n.parentId=_.find(n.productTypes,{key:t.parentId});n.family=t.family;n.foundation=t.foundation;n.surfaceTreatment=t.surfaceTreatment;n.nominalHeight=t.nominalHeight;n.topDiameter=t.topDiameter}function d(n){var t=[],i={};return n&&(n.indexOf("&")!==-1?t=n.split("&"):t[0]=n,_.forOwn(t,function(n){if(n.indexOf(":")!==-1){var t=n.substring(0,n.indexOf(":")),r=n.substring(n.indexOf(":")+1);i[t]=r}})),i}function v(n){f.productType=e(y,n.parentId&&n.parentId.key?n.parentId.key:n.parentId);f.families=e(s,n.family);f.foundations=e(h,n.foundation);f.surfaceTreatments=e(c,n.surfaceTreatment);f.topDiameters=e(a,n.topDiameter);f.nominalHeights=e(l,n.nominalHeight)}function e(n,t){return t?n+"_"+t:n}var y="LightingColumnTypeOfProduct",s="LightingColumnProductFamily",h="LightingColumnFoundation",c="LightingColumnSurfaceTreatment",l="NominalHeight",a="TopDiameter",o="structure_"+n.categoryId,f={productTypes:o,families:s,foundations:h,surfaceTreatments:c,nominalHeights:l,topDiameters:a,LightingColumnsFinder:"LightingColumnsFinder"};n.activate=function(t){n.categoryId=t;var r=i.$$search;!n.markets||r.query||r.filters||n.productSearch()};n.productSearch=function(){var t={query:n.query,view:i.$$search.view,filters:w(p())};t=_.omit(t,function(n){return!n});i.search(t)};n.$on("$locationChangeSuccess",function(){var t=i.$$search;t.query&&(n.query=t.query);t.filters&&b(t.filters)});n.populateFields=function(t,i){u.get(t).then(function(t){t&&(t[o]&&(n.productTypes=t[o]),t.LightingColumnProductFamily&&(n.families=t.LightingColumnProductFamily),t.NominalHeight&&(n.nominalHeights=t.NominalHeight),t.TopDiameter&&(n.topDiameters=t.TopDiameter),t.LightingColumnSurfaceTreatment&&(n.surfaceTreatments=t.LightingColumnSurfaceTreatment),t.LightingColumnFoundation&&(n.foundations=t.LightingColumnFoundation));i&&k(i);n.loading=!1},function(t){t!=="rejected"&&(console.error(t),n.error=t,n.loading=!1)})};n.resetSearchFields=function(){n.parentId="";n.family="";n.nominalHeight="";n.topDiameter="";n.foundation="";n.surfaceTreatment="";n.query="";n.repopulateFields();n.productSearch()};n.initialize=function(){var u;n.loading=!0;var e=i.$$search,t=d(e.filters),r={topDiameter:t.TopDiameter,nominalHeight:t.NominalHeight,parentId:t.ParentId,family:t.LightingColumnProductFamily,foundation:t.LightingColumnFoundation,surfaceTreatment:t.SurfaceTreatment};v(r);u={keys:_.values(f).join("|")};n.populateFields(u,r)};n.repopulateFields=function(){v(n);var t={keys:_.values(f).join("|")};n.loading=!0;n.populateFields(t)};n.initialize()}]);angular.module("ppControllers").controller("ProductRelatedFinderController",["$scope","$location","ProductFilterService","_",function(n,t,i,r){n.reset=function(){n.entries=[];n.totalCount=0;n.mainFieldKeys=[];n.tableViewKeys=[];n.initialized=!1;n.error="";n.page=t.$$search.page?t.$$search.page:1};n.reset();n.pageSize=10;n.loadData=function(){n.loading=!0;var u=t.$$search,e=r.assign({pageSize:n.pageSize,page:n.page,query:n.query},u),o,s=i.getrelatedproducts(e);(o=s).then(function(t){var e,o,i,r,u;n.entries=t.entries;n.totalCount=t.totalCount;e=[];o=[];for(i in t.entries)if(t.entries.hasOwnProperty(i)){r=t.entries[i].mainFields;for(f in r)r.hasOwnProperty(f)&&e.push(r[f].key);u=t.entries[i].mainFieldsForGrid;for(j in u)u.hasOwnProperty(j)&&o.push(u[j].key)}n.mainFieldKeys=e.filter(function(n,t,i){return t===i.indexOf(n)});n.tableViewKeys=o.filter(function(n,t,i){return t===i.indexOf(n)});n.loading=!1;n.initialized=!0},function(t){t!=="rejected"&&(console.error(t),n.error=t,n.loading=!1,n.initialized=!0)})};n.setPage=function(n){t.search("page",n)};n.$on("$locationChangeSuccess",function(){n.reset();n.loadData()})}]);angular.module("ppControllers").controller("ProductFinderRrsFilterFormController",["$scope","$location","CookieStore","VocabularyListService",function(n,t,i,r){function s(){var t={ParentId:n.parentId,ContainmentLevel:n.containmentLevel,Markets:n.markets==="all"?"":n.markets};return _.omit(t,function(n){return!n})}function h(){var t={"WorkingWidth>":n.workingWidthFrom,"WorkingWidth<":n.workingWidthTo};return _.omit(t,function(n){return!n})}function f(n){var i="",r=0;for(var t in n)n.hasOwnProperty(t)&&n[t]&&(i+=(r===0?"":"&")+t+":"+n[t],r++);return i}function c(t){var i=[];t.indexOf("&")!==-1?i=t.split("&"):i[0]=t;_.forOwn(i,function(t){if(t.indexOf(":")!==-1){var r=t.substring(0,t.indexOf(":")),i=t.substring(t.indexOf(":")+1);_.forOwn(n,function(t,u){u.toLowerCase()===r.toLowerCase()&&n[u]!==i&&(n[u]=i)})}})}function l(t){var i=[];t.indexOf("&")!==-1?i=t.split("&"):i[0]=t;_.forOwn(i,function(t){if(t.indexOf(":")!==-1){var i=t.substring(0,t.indexOf(":")),r=t.substring(t.indexOf(":")+1);i.indexOf("<")>-1?i=i.substring(0,i.indexOf("<"))+"To":i.indexOf(">")>-1&&(i=i.substring(0,i.indexOf(">"))+"From");_.forOwn(n,function(t,u){u.toLowerCase()===i.toLowerCase()&&n[u]!==r&&(n[u]=r)})}})}var u={productTypes:"structure_"+n.categoryId,containments:"RrsContainmentLevel",allMarkets:"Markets",widths:"RrsWorkingWidth"},e={keys:_.values(u).join("|")},o;n.activate=function(r){n.categoryId=r;n.markets=i.get("lastMarket");var u=t.$$search;!n.markets||u.query||u.filters||n.productSearch()};n.reset=function(){n.error="";n.query="";n.productTypes=[];n.parentId="";n.containments=[];n.containmentLevel="";n.widths=[];n.workingWidthFrom="";n.workingWidthTo="";n.allMarkets=[];n.markets=""};n.reset();n.loading=!0;(o=r.get(e)).then(function(t){t&&_.forOwn(u,function(i,r){_.forOwn(t,function(t,u){u.toLowerCase()===i.toLowerCase()&&(n[r]=t)})});n.loading=!1},function(t){t!=="rejected"&&(console.error(t),n.error=t,n.loading=!1)});n.productSearch=function(){var r={query:n.query,filters:f(s()),rangeFilters:f(h())};i.put("lastMarket",n.markets);r=_.omit(r,function(n){return!n});console.log("Search params: "+JSON.stringify(r));console.log("scope.markets: ");console.log(n.markets);t.search(r)};n.$on("$locationChangeSuccess",function(){var i=t.$$search;i.query&&(n.query=i.query);i.filters&&c(i.filters);i.rangeFilters&&l(i.rangeFilters)});n.$watch("workingWidthFrom",function(t){t&&!n.workingWidthTo&&(n.workingWidthTo=t)});n.$watch("workingWidthTo",function(t){t&&!n.workingWidthFrom&&(n.workingWidthFrom=t)});n.resetForm=function(){n.query="";n.parentId="";n.containment="";n.workingWidthFrom="";n.workingWidthTo="";n.markets!==i.lastMarket&&(n.markets=i.lastMarket);n.filterForm.$setPristine()}}])