// (C) Novartis 
// Please scroll below the minified content to see the documented content
eval(function(p,a,c,k,e,r){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('o bv={bw:\'1.11\'};k $6c(N){m(N!=92)};k $F(N){B(!$6c(N))m O;B(N.4Q)m\'G\';o F=6d N;B(F==\'2B\'&&N.bx){22(N.7p){Y 1:m\'G\';Y 3:m(/\\S/).2s(N.93)?\'by\':\'bz\'}}B(F==\'2B\'||F==\'k\'){22(N.94){Y 2t:m\'1x\';Y 7q:m\'5r\';Y 18:m\'4R\'}B(6d N.V==\'4k\'){B(N.3g)m\'bA\';B(N.7r)m\'1a\'}}m F};k $29(){o 4S={};M(o i=0;i<1a.V;i++){M(o K 1b 1a[i]){o ap=1a[i][K];o 6e=4S[K];B(6e&&$F(ap)==\'2B\'&&$F(6e)==\'2B\')4S[K]=$29(6e,ap);12 4S[K]=ap}}m 4S};o $R=k(){o 1p=1a;B(!1p[1])1p=[c,1p[0]];M(o K 1b 1p[1])1p[0][K]=1p[1][K];m 1p[0]};o $4T=k(){M(o i=0,l=1a.V;i<l;i++){1a[i].R=k(1U){M(o 1V 1b 1U){B(!c.1I[1V])c.1I[1V]=1U[1V];B(!c[1V])c[1V]=$4T.6f(1V)}}}};$4T.6f=k(1V){m k(W){m c.1I[1V].3V(W,2t.1I.95.1W(1a,1))}};$4T(7s,2t,6g,96);k $2u(N){m!!(N||N===0)};k $4U(N,97){m $6c(N)?N:97};k $7t(3h,1A){m 1c.98(1c.7t()*(1A-3h+1)+3h)};k $3u(){m L 99().9a()};k $4V(1G){bB(1G);bC(1G);m 1m};o 3v=k(N){N=N||{};N.R=$R;m N};o bD=L 3v(U);o bE=L 3v(Q);Q.6h=Q.33(\'6h\')[0];U.3W=!!(Q.5s);B(U.9b)U.2K=U[U.6i?\'bF\':\'9c\']=1d;12 B(Q.9d&&!Q.bG&&!bH.bI)U.4l=U[U.3W?\'bJ\':\'5t\']=1d;12 B(Q.bK!=1m)U.7u=1d;U.bL=U.4l;7v.R=$R;B(6d 5u==\'92\'){o 5u=k(){};B(U.4l)Q.9e("bM");5u.1I=(U.4l)?U["[[bN.1I]]"]:{}}5u.1I.4Q=k(){};B(U.9c)4W{Q.bO("bP",O,1d)}4X(e){};o 18=k(1J){o 5v=k(){m(1a[0]!==1m&&c.1h&&$F(c.1h)==\'k\')?c.1h.3V(c,1a):c};$R(5v,c);5v.1I=1J;5v.94=18;m 5v};18.1l=k(){};18.1I={R:k(1J){o 6j=L c(1m);M(o K 1b 1J){o 9f=6j[K];6j[K]=18.9g(9f,1J[K])}m L 18(6j)},3i:k(){M(o i=0,l=1a.V;i<l;i++)$R(c.1I,1a[i])}};18.9g=k(2g,2h){B(2g&&2g!=2h){o F=$F(2h);B(F!=$F(2g))m 2h;22(F){Y\'k\':o 7w=k(){c.1r=1a.7r.1r;m 2h.3V(c,1a)};7w.1r=2g;m 7w;Y\'2B\':m $29(2g,2h)}}m 2h};o 7x=L 18({bQ:k(fn){c.4m=c.4m||[];c.4m.1j(fn);m c},7y:k(){B(c.4m&&c.4m.V)c.4m.9h().2i(10,c)},bR:k(){c.4m=[]}});o 2o=L 18({1B:k(F,fn){B(fn!=18.1l){c.$19=c.$19||{};c.$19[F]=c.$19[F]||[];c.$19[F].5w(fn)}m c},1i:k(F,1p,2i){B(c.$19&&c.$19[F]){c.$19[F].1q(k(fn){fn.34({\'W\':c,\'2i\':2i,\'1a\':1p})()},c)}m c},4n:k(F,fn){B(c.$19&&c.$19[F])c.$19[F].2L(fn);m c}});o 3X=L 18({2R:k(){c.C=$29.3V(1m,[c.C].R(1a));B(c.1B){M(o 3w 1b c.C){B($F(c.C[3w]==\'k\')&&(/^5x[A-Z]/).2s(3w))c.1B(3w,c.C[3w])}}m c}});2t.R({6k:k(fn,W){M(o i=0,j=c.V;i<j;i++)fn.1W(W,c[i],i,c)},35:k(fn,W){o 4Y=[];M(o i=0,j=c.V;i<j;i++){B(fn.1W(W,c[i],i,c))4Y.1j(c[i])}m 4Y},2C:k(fn,W){o 4Y=[];M(o i=0,j=c.V;i<j;i++)4Y[i]=fn.1W(W,c[i],i,c);m 4Y},4o:k(fn,W){M(o i=0,j=c.V;i<j;i++){B(!fn.1W(W,c[i],i,c))m O}m 1d},bS:k(fn,W){M(o i=0,j=c.V;i<j;i++){B(fn.1W(W,c[i],i,c))m 1d}m O},3j:k(3g,15){o 3x=c.V;M(o i=(15<0)?1c.1A(0,3x+15):15||0;i<3x;i++){B(c[i]===3g)m i}m-1},7z:k(1g,V){1g=1g||0;B(1g<0)1g=c.V+1g;V=V||(c.V-1g);o 7A=[];M(o i=0;i<V;i++)7A[i]=c[1g++];m 7A},2L:k(3g){o i=0;o 3x=c.V;6l(i<3x){B(c[i]===3g){c.6m(i,1);3x--}12{i++}}m c},1k:k(3g,15){m c.3j(3g,15)!=-1},bT:k(1O){o N={},V=1c.3h(c.V,1O.V);M(o i=0;i<V;i++)N[1O[i]]=c[i];m N},R:k(1x){M(o i=0,j=1x.V;i<j;i++)c.1j(1x[i]);m c},29:k(1x){M(o i=0,l=1x.V;i<l;i++)c.5w(1x[i]);m c},5w:k(3g){B(!c.1k(3g))c.1j(3g);m c},bU:k(){m c[$7t(0,c.V-1)]||1m},7B:k(){m c[c.V-1]||1m}});2t.1I.1q=2t.1I.6k;2t.1q=2t.6k;k $A(1x){m 2t.7z(1x)};k $1q(3Y,fn,W){B(3Y&&6d 3Y.V==\'4k\'&&$F(3Y)!=\'2B\'){2t.6k(3Y,fn,W)}12{M(o 1w 1b 3Y)fn.1W(W||3Y,3Y[1w],1w)}};2t.1I.2s=2t.1I.1k;6g.R({2s:k(6n,2S){m(($F(6n)==\'2v\')?L 7q(6n,2S):6n).2s(c)},36:k(){m 5y(c,10)},9i:k(){m 5z(c)},7C:k(){m c.3k(/-\\D/g,k(2T){m 2T.7D(1).7E()})},9j:k(){m c.3k(/\\w[A-Z]/g,k(2T){m(2T.7D(0)+\'-\'+2T.7D(1).5A())})},7F:k(){m c.3k(/\\b[a-z]/g,k(2T){m 2T.7E()})},5B:k(){m c.3k(/^\\s+|\\s+$/g,\'\')},7G:k(){m c.3k(/\\s{2,}/g,\' \').5B()},5C:k(1x){o 1s=c.2T(/\\d{1,3}/g);m(1s)?1s.5C(1x):O},5D:k(1x){o 3y=c.2T(/^#?(\\w{1,2})(\\w{1,2})(\\w{1,2})$/);m(3y)?3y.95(1).5D(1x):O},1k:k(2v,s){m(s)?(s+c+s).3j(s+2v+s)>-1:c.3j(2v)>-1},9k:k(){m c.3k(/([.*+?^${}()|[\\]\\/\\\\])/g,\'\\\\$1\')}});2t.R({5C:k(1x){B(c.V<3)m O;B(c.V==4&&c[3]==0&&!1x)m\'bV\';o 3y=[];M(o i=0;i<3;i++){o 4Z=(c[i]-0).4p(16);3y.1j((4Z.V==1)?\'0\'+4Z:4Z)}m 1x?3y:\'#\'+3y.2a(\'\')},5D:k(1x){B(c.V!=3)m O;o 1s=[];M(o i=0;i<3;i++){1s.1j(5y((c[i].V==1)?c[i]+c[i]:c[i],16))}m 1x?1s:\'1s(\'+1s.2a(\',\')+\')\'}});7s.R({34:k(C){o fn=c;C=$29({\'W\':fn,\'I\':O,\'1a\':1m,\'2i\':O,\'3Z\':O,\'6o\':O},C);B($2u(C.1a)&&$F(C.1a)!=\'1x\')C.1a=[C.1a];m k(I){o 1p;B(C.I){I=I||U.I;1p=[(C.I===1d)?I:L C.I(I)];B(C.1a)1p.R(C.1a)}12 1p=C.1a||1a;o 3z=k(){m fn.3V($4U(C.W,fn),1p)};B(C.2i)m 9l(3z,C.2i);B(C.3Z)m bW(3z,C.3Z);B(C.6o)4W{m 3z()}4X(bX){m O};m 3z()}},bY:k(1p,W){m c.34({\'1a\':1p,\'W\':W})},6o:k(1p,W){m c.34({\'1a\':1p,\'W\':W,\'6o\':1d})()},W:k(W,1p){m c.34({\'W\':W,\'1a\':1p})},bZ:k(W,1p){m c.34({\'W\':W,\'I\':1d,\'1a\':1p})},2i:k(2i,W,1p){m c.34({\'2i\':2i,\'W\':W,\'1a\':1p})()},3Z:k(9m,W,1p){m c.34({\'3Z\':9m,\'W\':W,\'1a\':1p})()}});96.R({36:k(){m 5y(c)},9i:k(){m 5z(c)},1E:k(3h,1A){m 1c.3h(1A,1c.1A(3h,c))},2p:k(5E){5E=1c.3A(10,5E||0);m 1c.2p(c*5E)/5E},c0:k(fn){M(o i=0;i<c;i++)fn(i)}});o P=L 18({1h:k(el,1U){B($F(el)==\'2v\'){B(U.2K&&1U&&(1U.1w||1U.F)){o 1w=(1U.1w)?\' 1w="\'+1U.1w+\'"\':\'\';o F=(1U.F)?\' F="\'+1U.F+\'"\':\'\';51 1U.1w;51 1U.F;el=\'<\'+el+1w+F+\'>\'}el=Q.9e(el)}el=$(el);m(!1U||!el)?el:el.2j(1U)}});o 23=L 18({1h:k(T){m(T)?$R(T,c):c}});23.R=k(1U){M(o 1V 1b 1U){c.1I[1V]=1U[1V];c[1V]=$4T.6f(1V)}};k $(el){B(!el)m 1m;B(el.4Q)m 2D.52(el);B([U,Q].1k(el))m el;o F=$F(el);B(F==\'2v\'){el=Q.6p(el);F=(el)?\'G\':O}B(F!=\'G\')m 1m;B(el.4Q)m 2D.52(el);B([\'2B\',\'c1\'].1k(el.6q.5A()))m el;$R(el,P.1I);el.4Q=k(){};m 2D.52(el)};Q.6r=Q.33;k $$(){o T=[];M(o i=0,j=1a.V;i<j;i++){o 1P=1a[i];22($F(1P)){Y\'G\':T.1j(1P);Y\'c2\':1C;Y O:1C;Y\'2v\':1P=Q.6r(1P,1d);5F:T.R(1P)}}m $$.5G(T)};$$.5G=k(1x){o T=[];M(o i=0,l=1x.V;i<l;i++){B(1x[i].$6s)6t;o G=$(1x[i]);B(G&&!G.$6s){G.$6s=1d;T.1j(G)}}M(o n=0,d=T.V;n<d;n++)T[n].$6s=1m;m L 23(T)};23.6u=k(K){m k(){o 1p=1a;o 1y=[];o T=1d;M(o i=0,j=c.V,3z;i<j;i++){3z=c[i][K].3V(c[i],1p);B($F(3z)!=\'G\')T=O;1y.1j(3z)};m(T)?$$.5G(1y):1y}};P.R=k(1J){M(o K 1b 1J){5u.1I[K]=1J[K];P.1I[K]=1J[K];P[K]=$4T.6f(K);o 9n=(2t.1I[K])?K+\'23\':K;23.1I[9n]=23.6u(K)}};P.R({2j:k(1U){M(o 1V 1b 1U){o 4q=1U[1V];22(1V){Y\'7H\':c.4r(4q);1C;Y\'19\':B(c.6v)c.6v(4q);1C;Y\'1J\':c.6w(4q);1C;5F:c.6x(1V,4q)}}m c},25:k(el,9o){el=$(el);22(9o){Y\'9p\':el.3l.7I(c,el);1C;Y\'9q\':o 3B=el.7J();B(!3B)el.3l.7K(c);12 el.3l.7I(c,3B);1C;Y\'1n\':o 7L=el.7M;B(7L){el.7I(c,7L);1C}5F:el.7K(c)}m c},7N:k(el){m c.25(el,\'9p\')},6y:k(el){m c.25(el,\'9q\')},c3:k(el){m c.25(el,\'3C\')},c4:k(el){m c.25(el,\'1n\')},9r:k(){o T=[];$1q(1a,k(4s){T=T.7O(4s)});$$(T).25(c);m c},2L:k(){m c.3l.9s(c)},9t:k(9u){o el=$(c.c5(9u!==O));B(!el.$19)m el;el.$19={};M(o F 1b c.$19)el.$19[F]={\'1O\':$A(c.$19[F].1O),\'1K\':$A(c.$19[F].1K)};m el.6z()},c6:k(el){el=$(el);c.3l.c7(el,c);m el},9v:k(1L){c.7K(Q.c8(1L));m c},7P:k(1D){m c.1D.1k(1D,\' \')},9w:k(1D){B(!c.7P(1D))c.1D=(c.1D+\' \'+1D).7G();m c},9x:k(1D){c.1D=c.1D.3k(L 7q(\'(^|\\\\s)\'+1D+\'(?:\\\\s|$)\'),\'$1\').7G();m c},c9:k(1D){m c.7P(1D)?c.9x(1D):c.9w(1D)},1Q:k(K,J){22(K){Y\'1Y\':m c.9y(5z(J));Y\'ca\':K=(U.2K)?\'cb\':\'cc\'}K=K.7C();22($F(J)){Y\'4k\':B(![\'cd\',\'9z\'].1k(K))J+=\'53\';1C;Y\'1x\':J=\'1s(\'+J.2a(\',\')+\')\'}c.1M[K]=J;m c},4r:k(1Z){22($F(1Z)){Y\'2B\':P.6A(c,\'1Q\',1Z);1C;Y\'2v\':c.1M.7Q=1Z}m c},9y:k(1Y){B(1Y==0){B(c.1M.4t!="4u")c.1M.4t="4u"}12{B(c.1M.4t!="7R")c.1M.4t="7R"}B(!c.6B||!c.6B.ce)c.1M.9z=1;B(U.2K)c.1M.35=(1Y==1)?\'\':"6C(1Y="+1Y*3a+")";c.1M.1Y=c.$1X.1Y=1Y;m c},2k:k(K){K=K.7C();o 1N=c.1M[K];B(!$2u(1N)){B(K==\'1Y\')m c.$1X.1Y;1N=[];M(o 1M 1b P.41){B(K==1M){P.41[1M].1q(k(s){o 1M=c.2k(s);1N.1j(5y(1M)?1M:\'9A\')},c);B(K==\'2U\'){o 4o=1N.4o(k(4Z){m(4Z==1N[0])});m(4o)?1N[0]:O}m 1N.2a(\' \')}}B(K.1k(\'2U\')){B(P.41.2U.1k(K)){m[\'9B\',\'7S\',\'2M\'].2C(k(p){m c.2k(K+p)},c).2a(\' \')}12 B(P.9C.1k(K)){m[\'9D\',\'9E\',\'9F\',\'9G\'].2C(k(p){m c.2k(\'2U\'+p+K.3k(\'2U\',\'\'))},c).2a(\' \')}}B(Q.9H)1N=Q.9H.cf(c,1m).cg(K.9j());12 B(c.6B)1N=c.6B[K]}B(U.2K)1N=P.9I(K,1N,c);B(1N&&K.2s(/2E/i)&&1N.1k(\'1s\')){m 1N.5H(\'1s\').6m(1,4).2C(k(2E){m 2E.5C()}).2a(\' \')}m 1N},9J:k(){m P.7T(c,\'2k\',1a)},5I:k(6D,1g){6D+=\'ch\';o el=(1g)?c[1g]:c[6D];6l(el&&$F(el)!=\'G\')el=el[6D];m $(el)},9K:k(){m c.5I(\'2g\')},7J:k(){m c.5I(\'3B\')},ci:k(){m c.5I(\'3B\',\'7M\')},7B:k(){m c.5I(\'2g\',\'cj\')},ck:k(){m $(c.3l)},7U:k(){m $$(c.9d)},7V:k(el){m!!$A(c.33(\'*\')).1k(el)},5J:k(K){o 26=P.6E[K];B(26)m c[26];o 7W=P.9L[K]||0;B(!U.2K||7W)m c.cl(K,7W);o 7X=c.cm[K];m(7X)?7X.93:1m},cn:k(K){o 26=P.6E[K];B(26)c[26]=\'\';12 c.9M(K);m c},co:k(){m P.7T(c,\'5J\',1a)},6x:k(K,J){o 26=P.6E[K];B(26)c[26]=J;12 c.cp(K,J);m c},6w:k(1Z){m P.6A(c,\'6x\',1Z)},5K:k(){c.9N=$A(1a).2a(\'\');m c},cq:k(1L){o 3m=c.4v();B([\'1M\',\'2w\'].1k(3m)){B(U.2K){B(3m==\'1M\')c.9O.7Q=1L;12 B(3m==\'2w\')c.6x(\'1L\',1L);m c}12{c.9s(c.7M);m c.9v(1L)}}c[$6c(c.7Y)?\'7Y\':\'9P\']=1L;m c},cr:k(){o 3m=c.4v();B([\'1M\',\'2w\'].1k(3m)){B(U.2K){B(3m==\'1M\')m c.9O.7Q;12 B(3m==\'2w\')m c.5J(\'1L\')}12{m c.9N}}m($4U(c.7Y,c.9P))},4v:k(){m c.6q.5A()},1l:k(){2D.42(c.33(\'*\'));m c.5K(\'\')}});P.9I=k(K,1N,G){B($2u(5y(1N)))m 1N;B([\'2N\',\'2x\'].1k(K)){o 1K=(K==\'2x\')?[\'1t\',\'4w\']:[\'1n\',\'3C\'];o 3n=0;1K.1q(k(J){3n+=G.2k(\'2U-\'+J+\'-2x\').36()+G.2k(\'4x-\'+J).36()});m G[\'1F\'+K.7F()]-3n+\'53\'}12 B(K.2s(/2U(.+)9B|3b|4x/)){m\'9A\'}m 1N};P.41={\'2U\':[],\'4x\':[],\'3b\':[]};[\'9D\',\'9E\',\'9F\',\'9G\'].1q(k(9Q){M(o 1M 1b P.41)P.41[1M].1j(1M+9Q)});P.9C=[\'cs\',\'ct\',\'cu\'];P.7T=k(el,28,1O){o 1N={};$1q(1O,k(1u){1N[1u]=el[28](1u)});m 1N};P.6A=k(el,28,7Z){M(o 1u 1b 7Z)el[28](1u,7Z[1u]);m el};P.6E=L 3v({\'4R\':\'1D\',\'M\':\'cv\',\'cw\':\'cx\',\'cy\':\'cz\',\'cA\':\'cB\',\'cC\':\'cD\',\'cE\':\'cF\',\'cG\':\'cH\',\'cI\':\'cJ\',\'J\':\'J\',\'80\':\'80\',\'81\':\'81\',\'82\':\'82\',\'83\':\'83\'});P.9L={\'4y\':2,\'4z\':2};P.2F={6F:{2G:k(F,fn){B(c.84)c.84(F,fn,O);12 c.cK(\'5x\'+F,fn);m c},3o:k(F,fn){B(c.9R)c.9R(F,fn,O);12 c.cL(\'5x\'+F,fn);m c}}};U.R(P.2F.6F);Q.R(P.2F.6F);P.R(P.2F.6F);o 2D={T:[],52:k(el){B(!el.$1X){2D.T.1j(el);el.$1X={\'1Y\':1}}m el},42:k(T){M(o i=0,j=T.V,el;i<j;i++){B(!(el=T[i])||!el.$1X)6t;B(el.$19)el.1i(\'42\').6z();M(o p 1b el.$1X)el.$1X[p]=1m;M(o d 1b P.1I)el[d]=1m;2D.T[2D.T.3j(el)]=1m;el.4Q=el.$1X=el=1m}2D.T.2L(1m)},1l:k(){2D.52(U);2D.52(Q);2D.42(2D.T)}};U.2G(\'9S\',k(){U.2G(\'85\',2D.1l);B(U.2K)U.2G(\'85\',cM)});o 2V=L 18({1h:k(I){B(I&&I.$9T)m I;c.$9T=1d;I=I||U.I;c.I=I;c.F=I.F;c.3D=I.3D||I.cN;B(c.3D.7p==3)c.3D=c.3D.3l;c.9h=I.cO;c.cP=I.cQ;c.cR=I.cS;c.cT=I.cU;B([\'86\',\'54\'].1k(c.F)){c.cV=(I.9U)?I.9U/cW:-(I.cX||0)/3}12 B(c.F.1k(\'1u\')){c.6G=I.9V||I.cY;M(o 1w 1b 2V.1O){B(2V.1O[1w]==c.6G){c.1u=1w;1C}}B(c.F==\'9W\'){o 6H=c.6G-cZ;B(6H>0&&6H<13)c.1u=\'f\'+6H}c.1u=c.1u||6g.d0(c.6G).5A()}12 B(c.F.2s(/(6I|3p|d1)/)){c.21={\'x\':I.87||I.9X+Q.2W.5L,\'y\':I.88||I.9Y+Q.2W.5M};c.9Z={\'x\':I.87?I.87-U.a0:I.9X,\'y\':I.88?I.88-U.a1:I.9Y};c.d2=(I.9V==3)||(I.d3==2);22(c.F){Y\'89\':c.2q=I.2q||I.d4;1C;Y\'8a\':c.2q=I.2q||I.8b}c.a2()}m c},1R:k(){m c.6J().6K()},6J:k(){B(c.I.6J)c.I.6J();12 c.I.d5=1d;m c},6K:k(){B(c.I.6K)c.I.6K();12 c.I.d6=O;m c}});2V.6L={2q:k(){B(c.2q&&c.2q.7p==3)c.2q=c.2q.3l},a3:k(){4W{2V.6L.2q.1W(c)}4X(e){c.2q=c.3D}}};2V.1I.a2=(U.7u)?2V.6L.a3:2V.6L.2q;2V.1O=L 3v({\'d7\':13,\'6M\':38,\'d8\':40,\'1t\':37,\'4w\':39,\'d9\':27,\'da\':32,\'db\':8,\'dc\':9,\'51\':46});P.2F.2o={1B:k(F,fn){c.$19=c.$19||{};c.$19[F]=c.$19[F]||{\'1O\':[],\'1K\':[]};B(c.$19[F].1O.1k(fn))m c;c.$19[F].1O.1j(fn);o 6N=F;o 2y=P.2o[F];B(2y){B(2y.8c)2y.8c.1W(c,fn);B(2y.2C)fn=2y.2C;B(2y.F)6N=2y.F}B(!c.84)fn=fn.34({\'W\':c,\'I\':1d});c.$19[F].1K.1j(fn);m(P.8d.1k(6N))?c.2G(6N,fn):c},4n:k(F,fn){B(!c.$19||!c.$19[F])m c;o 1o=c.$19[F].1O.3j(fn);B(1o==-1)m c;o 1u=c.$19[F].1O.6m(1o,1)[0];o J=c.$19[F].1K.6m(1o,1)[0];o 2y=P.2o[F];B(2y){B(2y.2L)2y.2L.1W(c,fn);B(2y.F)F=2y.F}m(P.8d.1k(F))?c.3o(F,J):c},6v:k(1Z){m P.6A(c,\'1B\',1Z)},6z:k(F){B(!c.$19)m c;B(!F){M(o 6O 1b c.$19)c.6z(6O);c.$19=1m}12 B(c.$19[F]){c.$19[F].1O.1q(k(fn){c.4n(F,fn)},c);c.$19[F]=1m}m c},1i:k(F,1p,2i){B(c.$19&&c.$19[F]){c.$19[F].1O.1q(k(fn){fn.34({\'W\':c,\'2i\':2i,\'1a\':1p})()},c)}m c},a4:k(15,F){B(!15.$19)m c;B(!F){M(o 6O 1b 15.$19)c.a4(15,6O)}12 B(15.$19[F]){15.$19[F].1O.1q(k(fn){c.1B(F,fn)},c)}m c}};U.R(P.2F.2o);Q.R(P.2F.2o);P.R(P.2F.2o);P.2o=L 3v({\'8e\':{F:\'89\',2C:k(I){I=L 2V(I);B(I.2q!=c&&!c.7V(I.2q))c.1i(\'8e\',I)}},\'8f\':{F:\'8a\',2C:k(I){I=L 2V(I);B(I.2q!=c&&!c.7V(I.2q))c.1i(\'8f\',I)}},\'54\':{F:(U.7u)?\'86\':\'54\'}});P.8d=[\'6I\',\'dd\',\'5N\',\'55\',\'54\',\'86\',\'89\',\'8a\',\'2O\',\'9W\',\'de\',\'df\',\'43\',\'85\',\'9S\',\'dg\',\'56\',\'dh\',\'di\',\'3E\',\'dj\',\'dk\',\'44\',\'a5\',\'8g\',\'dl\',\'2H\'];7s.R({3c:k(W,1p){m c.34({\'W\':W,\'1a\':1p,\'I\':2V})}});23.R({dm:k(3m){m L 23(c.35(k(el){m(P.4v(el)==3m)}))},a6:k(1D,2I){o T=c.35(k(el){m(el.1D&&el.1D.1k(1D,\' \'))});m(2I)?T:L 23(T)},a7:k(4A,2I){o T=c.35(k(el){m(el.4A==4A)});m(2I)?T:L 23(T)},a8:k(1w,8h,J,2I){o T=c.35(k(el){o 2h=P.5J(el,1w);B(!2h)m O;B(!8h)m 1d;22(8h){Y\'=\':m(2h==J);Y\'*=\':m(2h.1k(J));Y\'^=\':m(2h.6P(0,J.V)==J);Y\'$=\':m(2h.6P(2h.V-J.V)==J);Y\'!=\':m(2h!=J);Y\'~=\':m 2h.1k(J,\' \')}m O});m(2I)?T:L 23(T)}});k $E(1P,35){m($(35)||Q).a9(1P)};k $dn(1P,35){m($(35)||Q).6r(1P)};$$.3F={\'5r\':/^(\\w*|\\*)(?:#([\\w-]+)|\\.([\\w-]+))?(?:\\[(\\w+)(?:([!*^$]?=)["\']?([^"\'\\]]*)["\']?)?])?$/,\'3W\':{8i:k(1y,3d,1e,i){o 2r=[3d.dp?\'8j:\':\'\',1e[1]];B(1e[2])2r.1j(\'[@4A="\',1e[2],\'"]\');B(1e[3])2r.1j(\'[1k(7O(" ", @4R, " "), " \',1e[3],\' ")]\');B(1e[4]){B(1e[5]&&1e[6]){22(1e[5]){Y\'*=\':2r.1j(\'[1k(@\',1e[4],\', "\',1e[6],\'")]\');1C;Y\'^=\':2r.1j(\'[dq-dr(@\',1e[4],\', "\',1e[6],\'")]\');1C;Y\'$=\':2r.1j(\'[ds(@\',1e[4],\', 2v-V(@\',1e[4],\') - \',1e[6].V,\' + 1) = "\',1e[6],\'"]\');1C;Y\'=\':2r.1j(\'[@\',1e[4],\'="\',1e[6],\'"]\');1C;Y\'!=\':2r.1j(\'[@\',1e[4],\'!="\',1e[6],\'"]\')}}12{2r.1j(\'[@\',1e[4],\']\')}}1y.1j(2r.2a(\'\'));m 1y},8k:k(1y,3d,2I){o T=[];o 3W=Q.5s(\'.//\'+1y.2a(\'//\'),3d,$$.3F.aa,dt.du,1m);M(o i=0,j=3W.dv;i<j;i++)T.1j(3W.dw(i));m(2I)?T:L 23(T.2C($))}},\'ab\':{8i:k(1y,3d,1e,i){B(i==0){B(1e[2]){o el=3d.6p(1e[2]);B(!el||((1e[1]!=\'*\')&&(P.4v(el)!=1e[1])))m O;1y=[el]}12{1y=$A(3d.33(1e[1]))}}12{1y=$$.3F.33(1y,1e[1]);B(1e[2])1y=23.a7(1y,1e[2],1d)}B(1e[3])1y=23.a6(1y,1e[3],1d);B(1e[4])1y=23.a8(1y,1e[4],1e[5],1e[6],1d);m 1y},8k:k(1y,3d,2I){m(2I)?1y:$$.5G(1y)}},aa:k(ac){m(ac==\'8j\')?\'ad://ae.dx.dy/dz/8j\':O},33:k(3d,6q){o 8l=[];M(o i=0,j=3d.V;i<j;i++)8l.R(3d[i].33(6q));m 8l}};$$.3F.28=(U.3W)?\'3W\':\'ab\';P.2F.8m={6Q:k(1P,2I){o 1y=[];1P=1P.5B().5H(\' \');M(o i=0,j=1P.V;i<j;i++){o af=1P[i];o 1e=af.2T($$.3F.5r);B(!1e)1C;1e[1]=1e[1]||\'*\';o 2r=$$.3F[$$.3F.28].8i(1y,c,1e,i);B(!2r)1C;1y=2r}m $$.3F[$$.3F.28].8k(1y,c,2I)},a9:k(1P){m $(c.6Q(1P,1d)[0]||O)},6r:k(1P,2I){o T=[];1P=1P.5H(\',\');M(o i=0,j=1P.V;i<j;i++)T=T.7O(c.6Q(1P[i],1d));m(2I)?T:$$.5G(T)}};P.R({6p:k(4A){o el=Q.6p(4A);B(!el)m O;M(o 1r=el.3l;1r!=c;1r=1r.3l){B(!1r)m O}m el},dA:k(1D){m c.6Q(\'.\'+1D)}});Q.R(P.2F.8m);P.R(P.2F.8m);P.R({45:k(){22(c.4v()){Y\'44\':o 1K=[];$1q(c.C,k(3w){B(3w.83)1K.1j($4U(3w.J,3w.1L))});m(c.82)?1K:1K[0];Y\'ag\':B(!(c.81&&[\'dB\',\'dC\'].1k(c.F))&&![\'4u\',\'1L\',\'dD\'].1k(c.F))1C;Y\'ah\':m c.J}m O},ai:k(){m $$(c.33(\'ag\'),c.33(\'44\'),c.33(\'ah\'))},5O:k(){o 57=[];c.ai().1q(k(el){o 1w=el.1w;o J=el.45();B(J===O||!1w||el.80)m;o 8n=k(4q){57.1j(1w+\'=\'+6R(4q))};B($F(J)==\'1x\')J.1q(8n);12 8n(J)});m 57.2a(\'&\')}});P.R({3G:k(x,y){c.5L=x;c.5M=y},6S:k(){m{\'2H\':{\'x\':c.5L,\'y\':c.5M},\'3n\':{\'x\':c.47,\'y\':c.3H},\'6T\':{\'x\':c.6U,\'y\':c.5P}}},3q:k(2l){2l=2l||[];o el=c,1t=0,1n=0;do{1t+=el.dE||0;1n+=el.dF||0;el=el.dG}6l(el);2l.1q(k(G){1t-=G.5L||0;1n-=G.5M||0});m{\'x\':1t,\'y\':1n}},aj:k(2l){m c.3q(2l).y},ak:k(2l){m c.3q(2l).x},4B:k(2l){o 1v=c.3q(2l);o N={\'2x\':c.47,\'2N\':c.3H,\'1t\':1v.x,\'1n\':1v.y};N.4w=N.1t+N.2x;N.3C=N.1n+N.2N;m N}});P.2o.8o={8c:k(fn){B(U.6V){fn.1W(c);m}o 5Q=k(){B(U.6V)m;U.6V=1d;U.1G=$4V(U.1G);c.1i(\'8o\')}.W(c);B(Q.58&&U.4l){U.1G=k(){B([\'6V\',\'8p\'].1k(Q.58))5Q()}.3Z(50)}12 B(Q.58&&U.2K){B(!$(\'8q\')){o 4z=(U.59.dH==\'dI:\')?\'://0\':\'8r:dJ(0)\';Q.dK(\'<2w 4A="8q" dL 4z="\'+4z+\'"><\\/2w>\');$(\'8q\').6W=k(){B(c.58==\'8p\')5Q()}}}12{U.2G("43",5Q);Q.2G("dM",5Q)}}};U.dN=k(fn){m c.1B(\'8o\',fn)};U.R({8s:k(){B(c.5t)m c.dO;B(c.al)m Q.4C.am;m Q.2W.am},8t:k(){B(c.5t)m c.dP;B(c.al)m Q.4C.an;m Q.2W.an},ao:k(){B(c.2K)m 1c.1A(Q.2W.47,Q.2W.6U);B(c.4l)m Q.4C.6U;m Q.2W.6U},aq:k(){B(c.2K)m 1c.1A(Q.2W.3H,Q.2W.5P);B(c.4l)m Q.4C.5P;m Q.2W.5P},8u:k(){m c.a0||Q.2W.5L},8v:k(){m c.a1||Q.2W.5M},6S:k(){m{\'3n\':{\'x\':c.8s(),\'y\':c.8t()},\'6T\':{\'x\':c.ao(),\'y\':c.aq()},\'2H\':{\'x\':c.8u(),\'y\':c.8v()}}},3q:k(){m{\'x\':0,\'y\':0}}});o 1f={};1f.2X=L 18({C:{48:18.1l,1S:18.1l,8w:18.1l,2b:k(p){m-(1c.ar(1c.8x*p)-1)/2},49:dQ,2z:\'53\',3I:1d,as:50},1h:k(C){c.G=c.G||1m;c.2R(C);B(c.C.1h)c.C.1h.1W(c)},2m:k(){o 3u=$3u();B(3u<c.3u+c.C.49){c.4D=c.C.2b((3u-c.3u)/c.C.49);c.4E();c.4F()}12{c.1R(1d);c.2j(c.17);c.1i(\'1S\',c.G,10);c.7y()}},2j:k(17){c.14=17;c.4F();m c},4E:k(){c.14=c.4G(c.15,c.17)},4G:k(15,17){m(17-15)*c.4D+15},1g:k(15,17){B(!c.C.3I)c.1R();12 B(c.1G)m c;c.15=15;c.17=17;c.3E=c.17-c.15;c.3u=$3u();c.1G=c.2m.3Z(1c.2p(at/c.C.as),c);c.1i(\'48\',c.G);m c},1R:k(2c){B(!c.1G)m c;c.1G=$4V(c.1G);B(!2c)c.1i(\'8w\',c.G);m c},2y:k(15,17){m c.1g(15,17)},dR:k(2c){m c.1R(2c)}});1f.2X.3i(L 7x,L 2o,L 3X);1f.3r={44:k(K,17){B(K.2s(/2E/i))m c.2M;o F=$F(17);B((F==\'1x\')||(F==\'2v\'&&17.1k(\' \')))m c.6u;m c.au},2Y:k(el,K,5a){B(!5a.1j)5a=[5a];o 15=5a[0],17=5a[1];B(!$2u(17)){17=15;15=el.2k(K)}o 1z=c.44(K,17);m{\'15\':1z.2Y(15),\'17\':1z.2Y(17),\'1z\':1z}}};1f.3r.au={2Y:k(J){m 5z(J)},5b:k(15,17,2P){m 2P.4G(15,17)},45:k(J,2z,K){B(2z==\'53\'&&K!=\'1Y\')J=1c.2p(J);m J+2z}};1f.3r.6u={2Y:k(J){m J.1j?J:J.5H(\' \').2C(k(v){m 5z(v)})},5b:k(15,17,2P){o 14=[];M(o i=0;i<15.V;i++)14[i]=2P.4G(15[i],17[i]);m 14},45:k(J,2z,K){B(2z==\'53\'&&K!=\'1Y\')J=J.2C(1c.2p);m J.2a(2z+\' \')+2z}};1f.3r.2M={2Y:k(J){m J.1j?J:J.5D(1d)},5b:k(15,17,2P){o 14=[];M(o i=0;i<15.V;i++)14[i]=1c.2p(2P.4G(15[i],17[i]));m 14},45:k(J){m\'1s(\'+J.2a(\',\')+\')\'}};1f.7S=1f.2X.R({1h:k(el,K,C){c.G=$(el);c.K=K;c.1r(C)},4a:k(){m c.2j(0)},4E:k(){c.14=c.1z.5b(c.15,c.17,c)},2j:k(17){c.1z=1f.3r.44(c.K,17);m c.1r(c.1z.2Y(17))},1g:k(15,17){B(c.1G&&c.C.3I)m c;o 2d=1f.3r.2Y(c.G,c.K,[15,17]);c.1z=2d.1z;m c.1r(2d.15,2d.17)},4F:k(){c.G.1Q(c.K,c.1z.45(c.14,c.C.2z,c.K))}});P.R({dS:k(K,C){m L 1f.7S(c,K,C)}});1f.41=1f.2X.R({1h:k(el,C){c.G=$(el);c.1r(C)},4E:k(){M(o p 1b c.15)c.14[p]=c.1z[p].5b(c.15[p],c.17[p],c)},2j:k(17){o 2d={};c.1z={};M(o p 1b 17){c.1z[p]=1f.3r.44(p,17[p]);2d[p]=c.1z[p].2Y(17[p])}m c.1r(2d)},1g:k(N){B(c.1G&&c.C.3I)m c;c.14={};c.1z={};o 15={},17={};M(o p 1b N){o 2d=1f.3r.2Y(c.G,p,N[p]);15[p]=2d.15;17[p]=2d.17;c.1z[p]=2d.1z}m c.1r(15,17)},4F:k(){M(o p 1b c.14)c.G.1Q(p,c.1z[p].45(c.14[p],c.C.2z,p))}});P.R({3J:k(C){m L 1f.41(c,C)}});1f.23=1f.2X.R({1h:k(T,C){c.T=$$(T);c.1r(C)},4E:k(){M(o i 1b c.15){o 5R=c.15[i],4b=c.17[i],3K=c.1z[i],5S=c.14[i]={};M(o p 1b 5R)5S[p]=3K[p].5b(5R[p],4b[p],c)}},2j:k(17){o 2d={};c.1z={};M(o i 1b 17){o 4b=17[i],3K=c.1z[i]={},av=2d[i]={};M(o p 1b 4b){3K[p]=1f.3r.44(p,4b[p]);av[p]=3K[p].2Y(4b[p])}}m c.1r(2d)},1g:k(N){B(c.1G&&c.C.3I)m c;c.14={};c.1z={};o 15={},17={};M(o i 1b N){o 8y=N[i],5R=15[i]={},4b=17[i]={},3K=c.1z[i]={};M(o p 1b 8y){o 2d=1f.3r.2Y(c.T[i],p,8y[p]);5R[p]=2d.15;4b[p]=2d.17;3K[p]=2d.1z}}m c.1r(15,17)},4F:k(){M(o i 1b c.14){o 5S=c.14[i],3K=c.1z[i];M(o p 1b 5S)c.T[i].1Q(p,3K[p].45(5S[p],c.C.2z,p))}}});1f.aw=1f.2X.R({C:{2l:[],1F:{\'x\':0,\'y\':0},ax:1d},1h:k(G,C){c.14=[];c.G=$(G);c.1H={\'1R\':c.1R.W(c,O)};c.1r(C);B(c.C.ax){c.1B(\'48\',k(){Q.1B(\'54\',c.1H.1R)}.W(c));c.1B(\'1S\',k(){Q.4n(\'54\',c.1H.1R)}.W(c))}},4E:k(){M(o i=0;i<2;i++)c.14[i]=c.4G(c.15[i],c.17[i])},3G:k(x,y){B(c.1G&&c.C.3I)m c;o el=c.G.6S();o 1K={\'x\':x,\'y\':y};M(o z 1b el.3n){o 1A=el.6T[z]-el.3n[z];B($2u(1K[z]))1K[z]=($F(1K[z])==\'4k\')?1K[z].1E(0,1A):1A;12 1K[z]=el.2H[z];1K[z]+=c.C.1F[z]}m c.1g([el.2H.x,el.2H.y],[1K.x,1K.y])},dT:k(){m c.3G(O,0)},dU:k(){m c.3G(O,\'ay\')},dV:k(){m c.3G(0,O)},dW:k(){m c.3G(\'ay\',O)},8b:k(el){o 1r=c.G.3q(c.C.2l);o 3D=$(el).3q(c.C.2l);m c.3G(3D.x-1r.x,3D.y-1r.y)},4F:k(){c.G.3G(c.14[0],c.14[1])}});1f.dX=1f.2X.R({C:{2e:\'8z\'},1h:k(el,C){c.G=$(el);c.3e=L P(\'5c\',{\'7H\':$R(c.G.9J(\'3b\'),{\'az\':\'4u\'})}).6y(c.G).9r(c.G);c.G.1Q(\'3b\',0);c.2R(C);c.14=[];c.1r(c.C);c.5d=1d;c.1B(\'1S\',k(){c.5d=(c.14[0]===0)});B(U.5t)c.1B(\'1S\',k(){B(c.5d)c.G.2L().25(c.3e)})},4E:k(){M(o i=0;i<2;i++)c.14[i]=c.4G(c.15[i],c.17[i])},8z:k(){c.3b=\'3b-1n\';c.5T=\'2N\';c.1F=c.G.3H},8A:k(){c.3b=\'3b-1t\';c.5T=\'2x\';c.1F=c.G.47},aA:k(2e){c[2e||c.C.2e]();m c.1g([c.G.2k(c.3b).36(),c.3e.2k(c.5T).36()],[0,c.1F])},aB:k(2e){c[2e||c.C.2e]();m c.1g([c.G.2k(c.3b).36(),c.3e.2k(c.5T).36()],[-c.1F,0])},4a:k(2e){c[2e||c.C.2e]();c.5d=O;m c.2j([-c.1F,0])},4c:k(2e){c[2e||c.C.2e]();c.5d=1d;m c.2j([0,c.1F])},dY:k(2e){B(c.3e.3H==0||c.3e.47==0)m c.aA(2e);m c.aB(2e)},4F:k(){c.G.1Q(c.3b,c.14[0]+c.C.2z);c.3e.1Q(c.5T,c.14[1]+c.C.2z)}});1f.8B=k(2b,2S){2S=2S||[];B($F(2S)!=\'1x\')2S=[2S];m $R(2b,{dZ:k(1o){m 2b(1o,2S)},e0:k(1o){m 1-2b(1-1o,2S)},e1:k(1o){m(1o<=0.5)?2b(2*1o,2S)/2:(2-2b(2*(1-1o),2S))/2}})};1f.3s=L 3v({e2:k(p){m p}});1f.3s.R=k(8C){M(o 2b 1b 8C){1f.3s[2b]=L 1f.8B(8C[2b]);1f.3s.8D(2b)}};1f.3s.8D=k(2b){[\'e3\',\'e4\',\'e5\'].1q(k(8E){1f.3s[2b.5A()+8E]=1f.3s[2b][\'e6\'+8E]})};1f.3s.R({e7:k(p,x){m 1c.3A(p,x[0]||6)},e8:k(p){m 1c.3A(2,8*(p-1))},e9:k(p){m 1-1c.aC(1c.ea(p))},eb:k(p){m 1-1c.aC((1-p)*1c.8x/2)},ec:k(p,x){x=x[0]||1.ed;m 1c.3A(p,2)*((x+1)*p-x)},ee:k(p){o J;M(o a=0,b=1;1;a+=b,b/=2){B(p>=(7-4*a)/11){J=-1c.3A((11-6*a-11*p)/4,2)+b*b;1C}}m J},ef:k(p,x){m 1c.3A(2,10*--p)*1c.ar(20*p*1c.8x*(x[0]||1)/3)}});[\'eg\',\'eh\',\'ei\',\'ej\'].1q(k(2b,i){1f.3s[2b]=L 1f.8B(k(p){m 1c.3A(p,[i+2])});1f.3s.8D(2b)});o 4d={};4d.2X=L 18({C:{3L:O,2z:\'53\',48:18.1l,aD:18.1l,1S:18.1l,aE:18.1l,8F:18.1l,1E:O,3M:{x:\'1t\',y:\'1n\'},4H:O,6X:6},1h:k(el,C){c.2R(C);c.G=$(el);c.3L=$(c.C.3L)||c.G;c.3p={\'14\':{},\'1o\':{}};c.J={\'1g\':{},\'14\':{}};c.1H={\'1g\':c.1g.3c(c),\'4e\':c.4e.3c(c),\'3N\':c.3N.3c(c),\'1R\':c.1R.W(c)};c.6Y();B(c.C.1h)c.C.1h.1W(c)},6Y:k(){c.3L.1B(\'55\',c.1H.1g);m c},aF:k(){c.3L.4n(\'55\',c.1H.1g);m c},1g:k(I){c.1i(\'aD\',c.G);c.3p.1g=I.21;o 1E=c.C.1E;c.1E={\'x\':[],\'y\':[]};M(o z 1b c.C.3M){B(!c.C.3M[z])6t;c.J.14[z]=c.G.2k(c.C.3M[z]).36();c.3p.1o[z]=I.21[z]-c.J.14[z];B(1E&&1E[z]){M(o i=0;i<2;i++){B($2u(1E[z][i]))c.1E[z][i]=($F(1E[z][i])==\'k\')?1E[z][i]():1E[z][i]}}}B($F(c.C.4H)==\'4k\')c.C.4H={\'x\':c.C.4H,\'y\':c.C.4H};Q.2G(\'2O\',c.1H.4e);Q.2G(\'5N\',c.1H.1R);c.1i(\'48\',c.G);I.1R()},4e:k(I){o aG=1c.2p(1c.ek(1c.3A(I.21.x-c.3p.1g.x,2)+1c.3A(I.21.y-c.3p.1g.y,2)));B(aG>c.C.6X){Q.3o(\'2O\',c.1H.4e);Q.2G(\'2O\',c.1H.3N);c.3N(I);c.1i(\'aE\',c.G)}I.1R()},3N:k(I){c.5U=O;c.3p.14=I.21;M(o z 1b c.C.3M){B(!c.C.3M[z])6t;c.J.14[z]=c.3p.14[z]-c.3p.1o[z];B(c.1E[z]){B($2u(c.1E[z][1])&&(c.J.14[z]>c.1E[z][1])){c.J.14[z]=c.1E[z][1];c.5U=1d}12 B($2u(c.1E[z][0])&&(c.J.14[z]<c.1E[z][0])){c.J.14[z]=c.1E[z][0];c.5U=1d}}B(c.C.4H[z])c.J.14[z]-=(c.J.14[z]%c.C.4H[z]);c.G.1Q(c.C.3M[z],c.J.14[z]+c.C.2z)}c.1i(\'8F\',c.G);I.1R()},1R:k(){Q.3o(\'2O\',c.1H.4e);Q.3o(\'2O\',c.1H.3N);Q.3o(\'5N\',c.1H.1R);c.1i(\'1S\',c.G)}});4d.2X.3i(L 2o,L 3X);P.R({em:k(C){m L 4d.2X(c,$29({3M:{x:\'2x\',y:\'2N\'}},C))}});4d.aH=4d.2X.R({C:{6Z:[],2f:O,2l:[]},1h:k(el,C){c.2R(C);c.G=$(el);c.6Z=$$(c.C.6Z);c.2f=$(c.C.2f);c.1v={\'G\':c.G.2k(\'1v\'),\'2f\':O};B(c.2f)c.1v.2f=c.2f.2k(\'1v\');B(![\'70\',\'4f\',\'5e\'].1k(c.1v.G))c.1v.G=\'4f\';o 1n=c.G.2k(\'1n\').36();o 1t=c.G.2k(\'1t\').36();B(c.1v.G==\'4f\'&&![\'70\',\'4f\',\'5e\'].1k(c.1v.2f)){1n=$2u(1n)?1n:c.G.aj(c.C.2l);1t=$2u(1t)?1t:c.G.ak(c.C.2l)}12{1n=$2u(1n)?1n:0;1t=$2u(1t)?1t:0}c.G.4r({\'1n\':1n,\'1t\':1t,\'1v\':c.1v.G});c.1r(c.G)},1g:k(I){c.3f=1m;B(c.2f){o 4I=c.2f.4B();o el=c.G.4B();B(c.1v.G==\'4f\'&&![\'70\',\'4f\',\'5e\'].1k(c.1v.2f)){c.C.1E={\'x\':[4I.1t,4I.4w-el.2x],\'y\':[4I.1n,4I.3C-el.2N]}}12{c.C.1E={\'y\':[0,4I.2N-el.2N],\'x\':[0,4I.2x-el.2x]}}}c.1r(I)},3N:k(I){c.1r(I);o 3f=c.5U?O:c.6Z.35(c.aI,c).7B();B(c.3f!=3f){B(c.3f)c.3f.1i(\'en\',[c.G,c]);c.3f=3f?3f.1i(\'eo\',[c.G,c]):1m}m c},aI:k(el){el=el.4B(c.C.2l);o 14=c.3p.14;m(14.x>el.1t&&14.x<el.4w&&14.y<el.3C&&14.y>el.1n)},1R:k(){B(c.3f&&!c.5U)c.3f.1i(\'ep\',[c.G,c]);12 c.G.1i(\'eq\',c);c.1r();m c}});P.R({er:k(C){m L 4d.aH(c,C)}});o 71=L 18({C:{28:\'5f\',aJ:1d,aK:18.1l,5g:18.1l,72:18.1l,aL:1d,5V:\'es-8\',aM:O,4J:{}},8G:k(){c.2A=(U.6i)?L 6i():(U.2K?L 9b(\'et.eu\'):O);m c},1h:k(C){c.8G().2R(C);c.C.5W=c.C.5W||c.5W;c.4J={};B(c.C.aL&&c.C.28==\'5f\'){o 5V=(c.C.5V)?\'; ev=\'+c.C.5V:\'\';c.5h(\'aN-F\',\'aO/x-ae-ew-ex\'+5V)}B(c.C.1h)c.C.1h.1W(c)},aP:k(){B(c.2A.58!=4||!c.5i)m;c.5i=O;o 4K=0;4W{4K=c.2A.4K}4X(e){};B(c.C.5W.1W(c,4K))c.5g();12 c.72();c.2A.6W=18.1l},5W:k(4K){m((4K>=ey)&&(4K<ez))},5g:k(){c.3O={\'1L\':c.2A.eA,\'5X\':c.2A.eB};c.1i(\'5g\',[c.3O.1L,c.3O.5X]);c.7y()},72:k(){c.1i(\'72\',c.2A)},5h:k(1w,J){c.4J[1w]=J;m c},5Y:k(2Q,1T){B(c.C.aM)c.aQ();12 B(c.5i)m c;c.5i=1d;B(1T&&c.C.28==\'5j\'){2Q=2Q+(2Q.1k(\'?\')?\'&\':\'?\')+1T;1T=1m}c.2A.5d(c.C.28.7E(),2Q,c.C.aJ);c.2A.6W=c.aP.W(c);B((c.C.28==\'5f\')&&c.2A.eC)c.5h(\'eD\',\'eE\');$R(c.4J,c.C.4J);M(o F 1b c.4J)4W{c.2A.eF(F,c.4J[F])}4X(e){};c.1i(\'aK\');c.2A.5Y($4U(1T,1m));m c},aQ:k(){B(!c.5i)m c;c.5i=O;c.2A.8g();c.2A.6W=18.1l;c.8G();c.1i(\'8w\');m c}});71.3i(L 7x,L 2o,L 3X);o aR=71.R({C:{1T:1m,8H:1m,1S:18.1l,73:O,8I:O},1h:k(2Q,C){c.1B(\'5g\',c.1S);c.2R(C);c.C.1T=c.C.1T||c.C.eG;B(![\'5f\',\'5j\'].1k(c.C.28)){c.5Z=\'5Z=\'+c.C.28;c.C.28=\'5f\'}c.1r();c.5h(\'X-eH-eI\',\'6i\');c.5h(\'eJ\',\'1L/8r, 1L/eK, aO/5X, 1L/5X, */*\');c.2Q=2Q},1S:k(){B(c.C.8H)$(c.C.8H).1l().5K(c.3O.1L);B(c.C.73||c.C.8I)c.73();c.1i(\'1S\',[c.3O.1L,c.3O.5X],20)},aS:k(1T){1T=1T||c.C.1T;22($F(1T)){Y\'G\':1T=$(1T).5O();1C;Y\'2B\':1T=7v.5O(1T)}B(c.5Z)1T=(1T)?[c.5Z,1T].2a(\'&\'):c.5Z;m c.5Y(c.2Q,1T)},73:k(){o 2w,3P;B(c.C.8I||(/(eL|eM)2w/).2s(c.aT(\'aN-F\')))3P=c.3O.1L;12{3P=[];o 5r=/<2w[^>]*>([\\s\\S]*?)<\\/2w>/eN;6l((2w=5r.eO(c.3O.1L)))3P.1j(2w[1]);3P=3P.2a(\'\\n\')}B(3P)(U.aU)?U.aU(3P):U.9l(3P,0)},aT:k(1w){4W{m c.2A.eP(1w)}4X(e){};m 1m}});7v.5O=k(1Z){o 57=[];M(o K 1b 1Z)57.1j(6R(K)+\'=\'+6R(1Z[K]));m 57.2a(\'&\')};P.R({5Y:k(C){m L aR(c.5J(\'eQ\'),$29({1T:c.5O()},C,{28:\'5f\'})).aS()}});o 3Q=L 3v({C:{74:O,75:O,49:O,5k:O},2j:k(1u,J,C){C=$29(c.C,C);J=6R(J);B(C.74)J+=\'; 74=\'+C.74;B(C.75)J+=\'; 75=\'+C.75;B(C.49){o 76=L 99();76.eR(76.9a()+C.49*24*60*60*at);J+=\'; eS=\'+76.eT()}B(C.5k)J+=\'; 5k\';Q.4L=1u+\'=\'+J;m $R(C,{\'1u\':1u,\'J\':J})},5j:k(1u){o J=Q.4L.2T(\'(?:^|;)\\\\s*\'+1u.9k()+\'=([^;]*)\');m J?eU(J[1]):O},2L:k(4L,C){B($F(4L)==\'2B\')c.2j(4L.1u,\'\',$29(4L,{49:-1}));12 c.2j(4L,\'\',$29(C,{49:-1}))}});o 3R={4p:k(N){22($F(N)){Y\'2v\':m\'"\'+N.3k(/(["\\\\])/g,\'\\\\$1\')+\'"\';Y\'1x\':m\'[\'+N.2C(3R.4p).2a(\',\')+\']\';Y\'2B\':o 2v=[];M(o K 1b N)2v.1j(3R.4p(K)+\':\'+3R.4p(N[K]));m\'{\'+2v.2a(\',\')+\'}\';Y\'4k\':B(eV(N))1C;Y O:m\'1m\'}m 6g(N)},5s:k(4M,5k){m(($F(4M)!=\'2v\')||(5k&&!4M.2s(/^("(\\\\.|[^"\\\\\\n\\r])*?"|[,:{}\\[\\]0-9.\\-+eW-u \\n\\r\\t])+?$/)))?1m:eX(\'(\'+4M+\')\')}};3R.eY=71.R({1h:k(2Q,C){c.2Q=2Q;c.1B(\'5g\',c.1S);c.1r(C);c.5h(\'X-eZ\',\'f0\')},5Y:k(N){m c.1r(c.2Q,\'f1=\'+3R.4p(N))},1S:k(){c.1i(\'1S\',[3R.5s(c.3O.1L,c.C.5k)])}});o aV=L 3v({8r:k(1Z,1J){1J=$29({\'61\':18.1l},1J);o 2w=L P(\'2w\',{\'4z\':1Z}).6v({\'43\':1J.61,\'f2\':k(){B(c.58==\'8p\')c.1i(\'43\')}});51 1J.61;m 2w.6w(1J).25(Q.6h)},1z:k(1Z,1J){m L P(\'4N\',$29({\'aW\':\'f3\',\'f4\':\'f5\',\'F\':\'1L/1z\',\'4y\':1Z},1J)).25(Q.6h)},5l:k(1Z,1J){1J=$29({\'61\':18.1l,\'f6\':18.1l,\'f7\':18.1l},1J);o 5l=L f8();5l.4z=1Z;o G=L P(\'8J\',{\'4z\':1Z});[\'43\',\'8g\',\'a5\'].1q(k(F){o I=1J[\'5x\'+F];51 1J[\'5x\'+F];G.1B(F,k(){c.4n(F,1a.7r);I.1W(c)})});B(5l.2x&&5l.2N)G.1i(\'43\',G,1);m G.6w(1J)},77:k(5m,C){C=$29({1S:18.1l,aX:18.1l},C);B(!5m.1j)5m=[5m];o 77=[];o 78=0;5m.1q(k(1Z){o 8J=L aV.5l(1Z,{\'61\':k(){C.aX.1W(c,78);78++;B(78==5m.V)C.1S()}});77.1j(8J)});m L 23(77)}});o 3S=L 18({V:0,1h:k(2B){c.N=2B||{};c.62()},5j:k(1u){m(c.79(1u))?c.N[1u]:1m},79:k(1u){m(1u 1b c.N)},2j:k(1u,J){B(!c.79(1u))c.V++;c.N[1u]=J;m c},62:k(){c.V=0;M(o p 1b c.N)c.V++;m c},2L:k(1u){B(c.79(1u)){51 c.N[1u];c.V--}m c},1q:k(fn,W){$1q(c.N,fn,W)},R:k(N){$R(c.N,N);m c.62()},29:k(){c.N=$29.3V(1m,[c.N].R(1a));m c.62()},1l:k(){c.N={};c.V=0;m c},1O:k(){o 1O=[];M(o K 1b c.N)1O.1j(K);m 1O},1K:k(){o 1K=[];M(o K 1b c.N)1K.1j(c.N[K]);m 1K}});k $H(N){m L 3S(N)};3S.3Q=3S.R({1h:k(1w,C){c.1w=1w;c.C=$R({\'aY\':1d},C||{});c.43()},aZ:k(){B(c.V==0){3Q.2L(c.1w,c.C);m 1d}o 4M=3R.4p(c.N);B(4M.V>f9)m O;3Q.2j(c.1w,4M,c.C);m 1d},43:k(){c.N=3R.5s(3Q.5j(c.1w),1d)||{};c.62()}});3S.3Q.2F={};[\'R\',\'2j\',\'29\',\'1l\',\'2L\'].1q(k(28){3S.3Q.2F[28]=k(){3S.1I[28].3V(c,1a);B(c.C.aY)c.aZ();m c}});3S.3Q.3i(3S.3Q.2F);o 2M=L 18({1h:k(2E,F){F=F||(2E.1j?\'1s\':\'3y\');o 1s,2n;22(F){Y\'1s\':1s=2E;2n=1s.8K();1C;Y\'2n\':1s=2E.b0();2n=2E;1C;5F:1s=2E.5D(1d);2n=1s.8K()}1s.2n=2n;1s.3y=1s.5C();m $R(1s,2M.1I)},4S:k(){o 63=$A(1a);o 6C=($F(63[63.V-1])==\'4k\')?63.fa():50;o 1s=c.7z();63.1q(k(2E){2E=L 2M(2E);M(o i=0;i<3;i++)1s[i]=1c.2p((1s[i]/3a*(3a-6C))+(2E[i]/3a*6C))});m L 2M(1s,\'1s\')},fb:k(){m L 2M(c.2C(k(J){m 5n-J}))},fc:k(J){m L 2M([J,c.2n[1],c.2n[2]],\'2n\')},fd:k(7a){m L 2M([c.2n[0],7a,c.2n[2]],\'2n\')},fe:k(7a){m L 2M([c.2n[0],c.2n[1],7a],\'2n\')}});k $ff(r,g,b){m L 2M([r,g,b],\'1s\')};k $fg(h,s,b){m L 2M([h,s,b],\'2n\')};2t.R({8K:k(){o 64=c[0],65=c[1],7b=c[2];o 2Z,7c,8L;o 1A=1c.1A(64,65,7b),3h=1c.3h(64,65,7b);o 4D=1A-3h;8L=1A/5n;7c=(1A!=0)?4D/1A:0;B(7c==0){2Z=0}12{o 8M=(1A-64)/4D;o 8N=(1A-65)/4D;o br=(1A-7b)/4D;B(64==1A)2Z=br-8N;12 B(65==1A)2Z=2+8M-br;12 2Z=4+8N-8M;2Z/=6;B(2Z<0)2Z++}m[1c.2p(2Z*b1),1c.2p(7c*3a),1c.2p(8L*3a)]},b0:k(){o br=1c.2p(c[2]/3a*5n);B(c[1]==0){m[br,br,br]}12{o 2Z=c[0]%b1;o f=2Z%60;o p=1c.2p((c[2]*(3a-c[1]))/fh*5n);o q=1c.2p((c[2]*(b2-c[1]*f))/b3*5n);o t=1c.2p((c[2]*(b2-c[1]*(60-f)))/b3*5n);22(1c.98(2Z/60)){Y 0:m[br,t,p];Y 1:m[q,br,p];Y 2:m[p,br,t];Y 3:m[p,q,br];Y 4:m[t,p,br];Y 5:m[br,p,q]}}m O}});o b4=L 18({C:{66:20,8O:1,7d:k(x,y){c.G.3G(x,y)}},1h:k(G,C){c.2R(C);c.G=$(G);c.8P=([U,Q].1k(G))?$(Q.4C):c.G},1g:k(){c.8Q=c.b5.3c(c);c.8P.2G(\'2O\',c.8Q)},1R:k(){c.8P.3o(\'2O\',c.8Q);c.1G=$4V(c.1G)},b5:k(I){c.21=(c.G==U)?I.9Z:I.21;B(!c.1G)c.1G=c.2H.3Z(50,c)},2H:k(){o el=c.G.6S();o 1o=c.G.3q();o 3E={\'x\':0,\'y\':0};M(o z 1b c.21){B(c.21[z]<(c.C.66+1o[z])&&el.2H[z]!=0)3E[z]=(c.21[z]-c.C.66-1o[z])*c.C.8O;12 B(c.21[z]+c.C.66>(el.3n[z]+1o[z])&&el.2H[z]+el.3n[z]!=el.6T[z])3E[z]=(c.21[z]-el.3n[z]+c.C.66-1o[z])*c.C.8O}B(3E.y||3E.x)c.1i(\'7d\',[el.2H.x+3E.x,el.2H.y+3E.y])}});b4.3i(L 2o,L 3X);o 8R=L 18({C:{7d:18.1l,1S:18.1l,8S:k(1o){c.4g.1Q(c.p,1o)},2e:\'8A\',7e:3a,1F:0},1h:k(el,4g,C){c.G=$(el);c.4g=$(4g);c.2R(C);c.8T=-1;c.8U=-1;c.2m=-1;c.G.1B(\'55\',c.b6.3c(c));o 7f,1F;22(c.C.2e){Y\'8A\':c.z=\'x\';c.p=\'1t\';7f={\'x\':\'1t\',\'y\':O};1F=\'47\';1C;Y\'8z\':c.z=\'y\';c.p=\'1n\';7f={\'x\':O,\'y\':\'1n\'};1F=\'3H\'}c.1A=c.G[1F]-c.4g[1F]+(c.C.1F*2);c.b7=c.4g[1F]/2;c.b8=c.G[\'5j\'+c.p.7F()].W(c.G);c.4g.1Q(\'1v\',\'70\').1Q(c.p,-c.C.1F);o 8V={};8V[c.z]=[-c.C.1F,c.1A-c.C.1F];c.3N=L 4d.2X(c.4g,{1E:8V,3M:7f,6X:0,48:k(){c.7g()}.W(c),8F:k(){c.7g()}.W(c),1S:k(){c.7g();c.2c()}.W(c)});B(c.C.1h)c.C.1h.1W(c)},2j:k(2m){c.2m=2m.1E(0,c.C.7e);c.7h();c.2c();c.1i(\'8S\',c.b9(c.2m));m c},b6:k(I){o 1v=I.21[c.z]-c.b8()-c.b7;1v=1v.1E(-c.C.1F,c.1A-c.C.1F);c.2m=c.8W(1v);c.7h();c.2c();c.1i(\'8S\',1v)},7g:k(){c.2m=c.8W(c.3N.J.14[c.z]);c.7h()},7h:k(){B(c.8T!=c.2m){c.8T=c.2m;c.1i(\'7d\',c.2m)}},2c:k(){B(c.8U!==c.2m){c.8U=c.2m;c.1i(\'1S\',c.2m+\'\')}},8W:k(1v){m 1c.2p((1v+c.C.1F)/c.1A*c.C.7e)},b9:k(2m){m c.1A*2m/c.C.7e}});8R.3i(L 2o);8R.3i(L 3X);o fi=1f.aw.R({1h:k(C){c.1r(U,C);c.67=(c.C.67)?$$(c.C.67):$$(Q.67);o 59=U.59.4y.2T(/^[^#]*/)[0]+\'#\';c.67.1q(k(4N){B(4N.4y.3j(59)!=0)m;o 3T=4N.4y.6P(59.V);B(3T&&$(3T))c.ba(4N,3T)},c);B(!U.5t)c.1B(\'1S\',k(){U.59.fj=c.3T})},ba:k(4N,3T){4N.1B(\'6I\',k(I){c.3T=3T;c.8b(3T);I.1R()}.3c(c))}});o bb=L 18({C:{4O:O,48:18.1l,1S:18.1l,31:1d,6X:3,bc:k(G,31){31.1Q(\'1Y\',0.7);G.1Q(\'1Y\',0.7)},bd:k(G,31){G.1Q(\'1Y\',1);31.2L();c.42.2L()}},1h:k(5o,C){c.2R(C);c.5o=$(5o);c.T=c.5o.7U();c.4O=(c.C.4O)?$$(c.C.4O):c.T;c.1H={\'1g\':[],\'68\':c.68.3c(c)};M(o i=0,l=c.4O.V;i<l;i++){c.1H.1g[i]=c.1g.3c(c,c.T[i])}c.6Y();B(c.C.1h)c.C.1h.1W(c);c.1H.56=c.56.3c(c);c.1H.2c=c.2c.W(c)},6Y:k(){c.4O.1q(k(3L,i){3L.1B(\'55\',c.1H.1g[i])},c)},aF:k(){c.4O.1q(k(3L,i){3L.4n(\'55\',c.1H.1g[i])},c)},1g:k(I,el){c.4P=el;c.8X=c.5o.4B();B(c.C.31){o 1v=el.3q();c.1F=I.21.y-1v.y;c.42=L P(\'5c\').25(Q.4C);c.31=el.9t().25(c.42).4r({\'1v\':\'4f\',\'1t\':1v.x,\'1n\':I.21.y-c.1F});Q.2G(\'2O\',c.1H.68);c.1i(\'bc\',[el,c.31])}Q.2G(\'2O\',c.1H.56);Q.2G(\'5N\',c.1H.2c);c.1i(\'48\',el);I.1R()},68:k(I){o J=I.21.y-c.1F;J=J.1E(c.8X.1n,c.8X.3C-c.31.3H);c.31.1Q(\'1n\',J);I.1R()},56:k(I){o 14=I.21.y;c.2g=c.2g||14;o 6M=((c.2g-14)>0);o 7i=c.4P.9K();o 3B=c.4P.7J();B(7i&&6M&&14<7i.4B().3C)c.4P.7N(7i);B(3B&&!6M&&14>3B.4B().1n)c.4P.6y(3B);c.2g=14},fk:k(be){m c.5o.7U().2C(be||k(el){m c.T.3j(el)},c)},2c:k(){c.2g=1m;Q.3o(\'2O\',c.1H.56);Q.3o(\'5N\',c.1H.2c);B(c.C.31){Q.3o(\'2O\',c.1H.68);c.1i(\'bd\',[c.4P,c.31])}c.1i(\'1S\',c.4P)}});bb.3i(L 2o,L 3X);o bf=L 18({C:{bg:k(4h){4h.1Q(\'4t\',\'7R\')},bh:k(4h){4h.1Q(\'4t\',\'4u\')},8Y:30,bi:3a,bj:3a,1D:\'fl\',69:{\'x\':16,\'y\':16},5e:O},1h:k(T,C){c.2R(C);c.4i=L P(\'5c\',{\'4R\':c.C.1D+\'-4h\',\'7H\':{\'1v\':\'4f\',\'1n\':\'0\',\'1t\':\'0\',\'4t\':\'4u\'}}).25(Q.4C);c.3e=L P(\'5c\').25(c.4i);$$(T).1q(c.bk,c);B(c.C.1h)c.C.1h.1W(c)},bk:k(el){el.$1X.4j=(el.4y&&el.4v()==\'a\')?el.4y.3k(\'ad://\',\'\'):(el.aW||O);B(el.5p){o 7j=el.5p.5H(\'::\');B(7j.V>1){el.$1X.4j=7j[0].5B();el.$1X.6a=7j[1].5B()}12{el.$1X.6a=el.5p}el.9M(\'5p\')}12{el.$1X.6a=O}B(el.$1X.4j&&el.$1X.4j.V>c.C.8Y)el.$1X.4j=el.$1X.4j.6P(0,c.C.8Y-1)+"&fm;";el.1B(\'8e\',k(I){c.1g(el);B(!c.C.5e)c.8Z(I);12 c.1v(el)}.W(c));B(!c.C.5e)el.1B(\'2O\',c.8Z.3c(c));o 2c=c.2c.W(c);el.1B(\'8f\',2c);el.1B(\'42\',2c)},1g:k(el){c.3e.1l();B(el.$1X.4j){c.5p=L P(\'bl\').25(L P(\'5c\',{\'4R\':c.C.1D+\'-5p\'}).25(c.3e)).5K(el.$1X.4j)}B(el.$1X.6a){c.1L=L P(\'bl\').25(L P(\'5c\',{\'4R\':c.C.1D+\'-1L\'}).25(c.3e)).5K(el.$1X.6a)}$4V(c.1G);c.1G=c.4c.2i(c.C.bi,c)},2c:k(I){$4V(c.1G);c.1G=c.4a.2i(c.C.bj,c)},1v:k(G){o 1o=G.3q();c.4i.4r({\'1t\':1o.x+c.C.69.x,\'1n\':1o.y+c.C.69.y})},8Z:k(I){o bm={\'x\':U.8s(),\'y\':U.8t()};o 2H={\'x\':U.8u(),\'y\':U.8v()};o 4h={\'x\':c.4i.47,\'y\':c.4i.3H};o 1V={\'x\':\'1t\',\'y\':\'1n\'};M(o z 1b 1V){o 1o=I.21[z]+c.C.69[z];B((1o+4h[z]-2H[z])>bm[z])1o=I.21[z]-c.C.69[z]-4h[z];c.4i.1Q(1V[z],1o)}},4c:k(){B(c.C.bn)c.1G=c.4a.2i(c.C.bn,c);c.1i(\'bg\',[c.4i])},4a:k(){c.1i(\'bh\',[c.4i])}});bf.3i(L 2o,L 3X);o fo=L 18({1h:k(){c.7k=$A(1a);c.19={};c.5q={}},1B:k(F,fn){c.5q[F]=c.5q[F]||{};c.19[F]=c.19[F]||[];B(c.19[F].1k(fn))m O;12 c.19[F].1j(fn);c.7k.1q(k(6b,i){6b.1B(F,c.4e.W(c,[F,6b,i]))},c);m c},4e:k(F,6b,i){c.5q[F][i]=1d;o 4o=c.7k.4o(k(2h,j){m c.5q[F][j]||O},c);B(!4o)m;c.5q[F]={};c.19[F].1q(k(I){I.1W(c,c.7k,6b)},c)}});o 90=1f.23.R({C:{91:18.1l,bo:18.1l,3U:0,4c:O,2N:1d,2x:O,1Y:1d,7l:O,7m:O,3I:O,7n:O},1h:k(){o C,2J,T,2f;$1q(1a,k(4s,i){22($F(4s)){Y\'2B\':C=4s;1C;Y\'G\':2f=$(4s);1C;5F:o 2r=$$(4s);B(!2J)2J=2r;12 T=2r}});c.2J=2J||[];c.T=T||[];c.2f=$(2f);c.2R(C);c.2g=-1;B(c.C.7n)c.C.3I=1d;B($2u(c.C.4c)){c.C.3U=O;c.2g=c.C.4c}B(c.C.1g){c.C.3U=O;c.C.4c=O}c.3J={};B(c.C.1Y)c.3J.1Y=\'bp\';B(c.C.2x)c.3J.2x=c.C.7m?\'bq\':\'47\';B(c.C.2N)c.3J.2N=c.C.7l?\'bs\':\'5P\';M(o i=0,l=c.2J.V;i<l;i++)c.bt(c.2J[i],c.T[i]);c.T.1q(k(el,i){B(c.C.4c===i){c.1i(\'91\',[c.2J[i],el])}12{M(o 2P 1b c.3J)el.1Q(2P,0)}},c);c.1r(c.T);B($2u(c.C.3U))c.3U(c.C.3U)},bt:k(3t,G,1o){3t=$(3t);G=$(G);o 2s=c.2J.1k(3t);o 3x=c.2J.V;c.2J.5w(3t);c.T.5w(G);B(3x&&(!2s||1o)){1o=$4U(1o,3x-1);3t.7N(c.2J[1o]);G.6y(3t)}12 B(c.2f&&!2s){3t.25(c.2f);G.25(c.2f)}o bu=c.2J.3j(3t);3t.1B(\'6I\',c.3U.W(c,bu));B(c.C.2N)G.4r({\'4x-1n\':0,\'2U-1n\':\'7o\',\'4x-3C\':0,\'2U-3C\':\'7o\'});B(c.C.2x)G.4r({\'4x-1t\':0,\'2U-1t\':\'7o\',\'4x-4w\':0,\'2U-4w\':\'7o\'});G.bp=1;B(c.C.7m)G.bq=c.C.7m;B(c.C.7l)G.bs=c.C.7l;G.1Q(\'az\',\'4u\');B(!2s){M(o 2P 1b c.3J)G.1Q(2P,0)}m c},3U:k(26){26=($F(26)==\'G\')?c.T.3j(26):26;B((c.1G&&c.C.3I)||(26===c.2g&&!c.C.7n))m c;c.2g=26;o N={};c.T.1q(k(el,i){N[i]={};o 4a=(i!=26)||(c.C.7n&&(el.3H>0));c.1i(4a?\'bo\':\'91\',[c.2J[i],el]);M(o 2P 1b c.3J)N[i][2P]=4a?0:el[c.3J[2P]]},c);m c.1g(N)},fp:k(26){m c.3U(26)}});1f.90=90;',62,956,'||||||||||||this||||||||function||return||var|||||||||||||if|options|||type|element||event|value|property|new|for|obj|false|Element|document|extend||elements|window|length|bind||case||||else||now|from||to|Class|events|arguments|in|Math|true|param|Fx|start|initialize|fireEvent|push|contains|empty|null|top|pos|args|each|parent|rgb|left|key|position|name|array|items|css|max|addEvent|break|className|limit|offset|timer|bound|prototype|properties|values|text|style|result|keys|selector|setStyle|stop|onComplete|data|props|prop|call|tmp|opacity|source||page|switch|Elements||inject|index||method|merge|join|transition|end|parsed|mode|container|previous|current|delay|set|getStyle|overflown|step|hsb|Events|round|relatedTarget|temp|test|Array|chk|string|script|width|custom|unit|transport|object|map|Garbage|color|Methods|addListener|scroll|nocash|togglers|ie|remove|Color|height|mousemove|fx|url|setOptions|params|match|border|Event|documentElement|Base|parse|hue||ghost||getElementsByTagName|create|filter|toInt||||100|margin|bindWithEvent|context|wrapper|overed|item|min|implement|indexOf|replace|parentNode|tag|size|removeListener|mouse|getPosition|CSS|Transitions|toggler|time|Abstract|option|len|hex|returns|pow|next|bottom|target|change|shared|scrollTo|offsetHeight|wait|effects|iCss|handle|modifiers|drag|response|scripts|Cookie|Json|Hash|anchor|display|apply|xpath|Options|iterable|periodical||Styles|trash|load|select|getValue||offsetWidth|onStart|duration|hide|iTo|show|Drag|check|absolute|knob|tip|toolTip|myTitle|number|webkit|chains|removeEvent|every|toString|val|setStyles|argument|visibility|hidden|getTag|right|padding|href|src|id|getCoordinates|body|delta|setNow|increase|compute|grid|cont|headers|status|cookie|str|link|handles|active|htmlElement|class|mix|native|pick|clear|try|catch|results|bit||delete|collect|px|mousewheel|mousedown|move|queryString|readyState|location|fromTo|getNow|div|open|fixed|post|onSuccess|setHeader|running|get|secure|image|sources|255|list|title|checker|regexp|evaluate|webkit419|HTMLElement|klass|include|on|parseInt|parseFloat|toLowerCase|trim|rgbToHex|hexToRgb|precision|default|unique|split|walk|getProperty|setHTML|scrollLeft|scrollTop|mouseup|toQueryString|scrollHeight|domReady|iFrom|iNow|layout|out|encoding|isSuccess|xml|send|_method||onload|setLength|colors|red|green|area|links|moveGhost|offsets|myText|instance|defined|typeof|mp|generic|String|head|XMLHttpRequest|proto|forEach|while|splice|regex|attempt|getElementById|tagName|getElementsBySelector|included|continue|Multi|addEvents|setProperties|setProperty|injectAfter|removeEvents|setMany|currentStyle|alpha|brother|Properties|Listeners|code|fKey|click|stopPropagation|preventDefault|fix|up|realType|evType|substr|getElements|encodeURIComponent|getSize|scrollSize|scrollWidth|loaded|onreadystatechange|snap|attach|droppables|relative|XHR|onFailure|evalScripts|domain|path|date|images|counter|hasKey|percent|blue|saturation|onChange|steps|mod|draggedKnob|checkStep|prev|dual|instances|fixedHeight|fixedWidth|alwaysHide|none|nodeType|RegExp|callee|Function|random|gecko|Object|merged|Chain|callChain|copy|newArray|getLast|camelCase|charAt|toUpperCase|capitalize|clean|styles|insertBefore|getNext|appendChild|first|firstChild|injectBefore|concat|hasClass|cssText|visible|Style|getMany|getChildren|hasChild|flag|node|innerText|pairs|disabled|checked|multiple|selected|addEventListener|unload|DOMMouseScroll|pageX|pageY|mouseover|mouseout|toElement|add|NativeEvents|mouseenter|mouseleave|abort|operator|getParam|xhtml|getItems|found|Dom|qs|domready|complete|ie_ready|javascript|getWidth|getHeight|getScrollLeft|getScrollTop|onCancel|PI|iProps|vertical|horizontal|Transition|transitions|compat|easeType|onDrag|setTransport|update|evalResponse|img|rgbToHsb|brightness|rr|gr|velocity|mousemover|coord|Slider|onTick|previousChange|previousEnd|lim|toStep|coordinates|maxTitleChars|locate|Accordion|onActive|undefined|nodeValue|constructor|slice|Number|picked|floor|Date|getTime|ActiveXObject|ie6|childNodes|createElement|pp|Merge|shift|toFloat|hyphenate|escapeRegExp|setTimeout|interval|elementsProperty|where|before|after|adopt|removeChild|clone|contents|appendText|addClass|removeClass|setOpacity|zoom|0px|Width|borderShort|Top|Right|Bottom|Left|defaultView|fixStyle|getStyles|getPrevious|PropertiesIFlag|removeAttribute|innerHTML|styleSheet|textContent|direction|removeEventListener|beforeunload|extended|wheelDelta|which|keydown|clientX|clientY|client|pageXOffset|pageYOffset|fixRelatedTarget|relatedTargetGecko|cloneEvents|error|filterByClass|filterById|filterByAttribute|getElement|resolver|normal|prefix|http|www|sel|input|textarea|getFormElements|getTop|getLeft|opera|clientWidth|clientHeight|getScrollWidth||getScrollHeight|cos|fps|1000|Single|iParsed|Scroll|wheelStops|full|overflow|slideIn|slideOut|sin|onBeforeStart|onSnap|detach|distance|Move|checkAgainst|async|onRequest|urlEncoded|autoCancel|Content|application|onStateChange|cancel|Ajax|request|getHeader|execScript|Asset|rel|onProgress|autoSave|save|hsbToRgb|360|6000|600000|Scroller|getCoords|clickedElement|half|getPos|toPosition|useLink|Sortables|onDragStart|onDragComplete|converter|Tips|onShow|onHide|showDelay|hideDelay|build|span|win|timeout|onBackground|fullOpacity|fullWidth||fullHeight|addSection|idx|MooTools|version|nodeName|textnode|whitespace|collection|clearTimeout|clearInterval|Window|Document|ie7|all|navigator|taintEnabled|webkit420|getBoxObjectFor|khtml|iframe|DOMElement|execCommand|BackgroundImageCache|chain|clearChain|some|associate|getRandom|transparent|setInterval|err|pass|bindAsEventListener|times|embed|boolean|injectInside|injectTop|cloneNode|replaceWith|replaceChild|createTextNode|toggleClass|float|styleFloat|cssFloat|zIndex|hasLayout|getComputedStyle|getPropertyValue|Sibling|getFirst|lastChild|getParent|getAttribute|attributes|removeProperty|getProperties|setAttribute|setText|getText|borderWidth|borderStyle|borderColor|htmlFor|colspan|colSpan|rowspan|rowSpan|accesskey|accessKey|tabindex|tabIndex|maxlength|maxLength|readonly|readOnly|frameborder|frameBorder|attachEvent|detachEvent|CollectGarbage|srcElement|shiftKey|control|ctrlKey|alt|altKey|meta|metaKey|wheel|120|detail|keyCode|111|fromCharCode|menu|rightClick|button|fromElement|cancelBubble|returnValue|enter|down|esc|space|backspace|tab|dblclick|keypress|keyup|resize|focus|blur|submit|reset|contextmenu|filterByTag|ES||namespaceURI|starts|with|substring|XPathResult|UNORDERED_NODE_SNAPSHOT_TYPE|snapshotLength|snapshotItem|w3|org|1999|getElementsByClassName|checkbox|radio|password|offsetLeft|offsetTop|offsetParent|protocol|https|void|write|defer|DOMContentLoaded|onDomReady|innerWidth|innerHeight|500|clearTimer|effect|toTop|toBottom|toLeft|toRight|Slide|toggle|easeIn|easeOut|easeInOut|linear|In|Out|InOut|ease|Pow|Expo|Circ|acos|Sine|Back|618|Bounce|Elastic|Quad|Cubic|Quart|Quint|sqrt||makeResizable|leave|over|drop|emptydrop|makeDraggable|utf|Microsoft|XMLHTTP|charset|form|urlencoded|200|300|responseText|responseXML|overrideMimeType|Connection|close|setRequestHeader|postBody|Requested|With|Accept|html|ecma|java|gi|exec|getResponseHeader|action|setTime|expires|toGMTString|decodeURIComponent|isFinite|Eaeflnr|eval|Remote|Request|JSON|json|readystatechange|stylesheet|media|screen|onabort|onerror|Image|4096|pop|invert|setHue|setSaturation|setBrightness|RGB|HSB|10000|SmoothScroll|hash|serialize|tool|hellip||Group|showThisHideOpen'.split('|'),0,{}))


/****************************************************BUI CUSTOM FUNCTIONS***********************************************************/

// CheckBounds function
/* Checks whether the Co-Ordinate speficied by Left,Top is inside a bounding rectangle.    
   Takes Care of window's scroll positions.
   Returns : Boolean
   Syntax and Parameters:
   CheckBounds(Left,Top,TopLeft,TopTop,BottomLeft,BottomBottom);
  	Left,Top = The X and Y cordinates to be tested
	TopLeft,TopTop = Top Left cordinates of the bounding recangle
	BottomLeft,BottomBottom = Bottom Right Cordinates of the bounding rectangle
*/
function CheckBounds(Left,Top,TopLeft,TopTop,BottomLeft,BottomBottom)
{
 Left+=window.getScrollLeft();
 Top+=window.getScrollTop();
 if(Left >= TopLeft && Left <= BottomLeft)
  if(Top >= TopTop && Top <= BottomBottom)
   return true;
 return false;
}

// next: anonymous function
/* Runs automatically when the Browser DOM is ready
   Checks the theme which is implemented, and attaches a javascript for navigation
*/
window.addEvent("domready",function()
{
 $E("head").getElements("style").each(function(node)
 {
  var CSSRule=node.innerHTML;
  if(CSSRule && node.title.test("buiTheme")==true)
  {
   try
   {
	CSSRule=CSSRule.replace("<!",        "");
	CSSRule=CSSRule.replace("--/",       "");
	CSSRule=CSSRule.replace("*--",       "");
	CSSRule=CSSRule.replace("><![CDAT",  "");
	CSSRule=CSSRule.replace("A[/",       "");
	CSSRule=CSSRule.replace("*><!-",     "");
	CSSRule=CSSRule.replace("-*",        "");
	CSSRule=CSSRule.replace("\/",        "");
	CSSRule=CSSRule.replace("*]]",       "");
	CSSRule=CSSRule.replace(">*",        "");
	CSSRule=CSSRule.replace("\/-",       "");
	CSSRule=CSSRule.replace("\/-",       "");												
	CSSRule=CSSRule.replace(">",         "");
	CSSRule=CSSRule.clean();
	CSSRule=CSSRule.replace("@import","");
	CSSRule=CSSRule.clean();	
	CSSRule=CSSRule.replace("/css/",   "/javascript/");
	CSSRule=CSSRule.replace("\"",   "");												
	CSSRule=CSSRule.replace(";",   "");																								
	CSSRule=CSSRule.replace("styles.screen.","");
	CSSRule=CSSRule.replace(".css",".js");
	while(CSSRule.test("\"")==true)CSSRule=CSSRule.replace("\"","");
	CSSRule.clean();
	var myNavigation = new Element("script");
	myNavigation.setProperty("type","text/javascript");
	myNavigation.setProperty("src",CSSRule);
	myNavigation.injectInside($E("head"));
   }
   catch(e)
   {
	alert("Theme incorrectly implemented, please follow the documentation guidelines for BUI2 theme implementation");
	return;
   }													
  }
 });
 TextSize();
});
// PrintThisPage function
/* Opens a new popup, copies the current page's content to it, clears out the navigation part and sends the document to print    
   Returns : Nothing
   Syntax and Parameters:
    PrintThisPage(GenericCSSPath,PrintCSSPath)
    GenericCSSPath -  The Path to the Generic CSS which is included in the document and BUI2 framework
	PrintCSSPath -  The Path to the Print CSS which is included in the document and BUI2 framework
*/
function PrintThisPage(GenericCSSPath,PrintCSSPath)
{
	var myWindow=window.open('','','width=1024,height=700,scrollbars=yes');
	myWindow.document.open("text/html");
	var myText='<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"><head>';
	myText+="<link rel='stylesheet' media='screen, print' href='"+ GenericCSSPath +"' />";	
	myText+="<title>" + $E('title').innerHTML + "</title>";
	$E("head").getElements("style").each(function(node)
	{
	 var CSSRule=node.innerHTML;
	 if(CSSRule && node.title.test("buiTheme")==true)
			myText+="<style type='text/css'>"+CSSRule+"</style>";
	});
	myText+="<link rel='stylesheet' media='screen, print' href='"+ PrintCSSPath +"' />";
	myText+="</head><body id=\"novartis-subpage\" class=\"\"><div id='pageContainer'><div id='globalHeader'>";
	myText+=$("globalHeader").innerHTML;
	myText+="</div>";
	myText+="<div id='articleContainer'>";
	myText+=$("articleContainer").innerHTML;
	myText+="</div>";
	myText+="<div id='globalFooter'>";
	myText+=$("globalFooter").innerHTML;
	myText+="</div>";
	myText+="</div></body></html>";
	myWindow.document.write(myText);
	myWindow.document.close();
	myWindow.print();
	myWindow.close();
}

// Bui2Regex
/* 
	Carries handy regular expressions for validation and other stuffs. Some regular expressions:
	Email: for email address testing
	OneName: for validating one par of the name (E.g.: FirstName, LastName)
	Name: for validating the complete name. Name can carry multpile OneNames
	Phone: for validating a phone number
*/

var BUI2Regex = function()
{
	this.Email=/^([a-zA-Z0-9_\-\.\+]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/
	this.OneName=/^([A-Z]+)([a-z]+)/;
	this.Name=/^([A-Z|a-z|\s]+)$/;
	this.Phone=/^([\-\+0-9]+)/;
	return this;
}

/* Some global variables to help through the settings */
var ValidationRegex					=new BUI2Regex();	//An object of type BUI2Regex, you can use this throughout the project to access the regular expressions
var ValidationToolTipAnimation		=true;				//Decides whether the error message is displayed smoothly or instantly
var ValidationToolTipAnimationDelay	=100;				//If smooth, what is the time taken to make it completely visible
var OverlayAnimation				=true;				//Decides whether the forms loaded through ajax (Email this page) are displayed smoothly or instantly
var OverlayAnimationDelay			=500;				//If smooth, what is the time taken to make it completely visible
var OverlayOpacity					=0.9;				//Decides the opacity level of the overlay screen that disables the rest of the page when a form is loaded
var DefaultSize						=62.5;				//Decides the default font-size of the pages
var FontResizeSteps					=5;					//Decides how much should the text resize, if user clicks on resize buttons (in percentage)


// ResizeOverlay Function
/* 
   **USED INTERNALLY**
   Takes care that the overlay screen is always fitted to the browser pane in IE6    
*/
function ResizeOverlay()
{
	var OverlayDiv=$("overlayDiv");
	OverlayDiv.setStyles({'height':window.getHeight(),'width':window.getWidth(),'left':window.getScrollLeft(),'top':window.getScrollTop()});
}

// ShowOverlay Function
/* Inserts an overlay object on screen to disable user interaction. Prepares hacks and fixes for IE too
   ShowOverlay()
   Returns : Boolean
   Syntax and Parameters:
   CheckBounds(Left,Top,TopLeft,TopTop,BottomLeft,BottomBottom);
  	Left,Top = The X and Y cordinates to be tested
	TopLeft,TopTop = Top Left cordinates of the bounding recangle
	BottomLeft,BottomBottom = Bottom Right Cordinates of the bounding rectangle
*/

function ShowOverlay()
{
	var OverlayDiv=new Element('div').setProperties({'id':'overlayDiv'}).setStyles({'opacity':'0'});
	OverlayDiv.injectInside($E('body'));	
	if(window.ie6)
	{
 	 $$("select").each(function(node){;node.setStyle('display','none');});
 	 OverlayDiv.setProperties({'class':'overlayDiv'});
	 ResizeOverlay();
	 window.addEvent("resize",ResizeOverlay);
	 window.addEvent("scroll",ResizeOverlay);	 
	}
	if(OverlayAnimation==true)
		OverlayDiv.effect("opacity",{duration:OverlayAnimationDelay}).start(0,OverlayOpacity);
	else 
		OverlayDiv.setStyle('opacity',OverlayOpacity);
	
}

// HideOverlay function
/* 
   Hides the overlay screen, the window that has been loaded and any validation notification on screen. 
   Its recommended to have an element call this function from the Form window, so that the user close the window anytime
   HideOverlay()
*/

function HideOverlay()
{
	if(window.ie6)
	{
	 window.removeEvent("resize",ResizeOverlay);	
	 window.removeEvent("scroll",ResizeOverlay);		 
 	 $$("select").each(function(node){;node.setStyle('display','block');});
	}
	if(OverlayAnimation==true)
		$("overlayDiv").effect("opacity",{duration:OverlayAnimationDelay}).start(OverlayOpacity,0).chain(function(){$("overlayDiv").remove();});
	else 
		$("overlayDiv").remove();
	try
	{	
	 $("FormWindow").remove();
	}
	catch(err){}
}

// LoadForm function
/* 
	Displays the overlay screen, loads the form through an AJAX call and displays it in another window.
	LoadForm(formURL,LoadingMessage)
	Returns: Nothing
	Parameters: 
     formURL: the URL where the form resides
	 LoadingMessage: what message should be shown while the form is being loaded through the ajax call	
*/

function LoadForm(formURL,LoadingMessage)
{
	ShowOverlay();
	var Window=new Element('div').setProperties({'id':'LoadingMessage'});
	Window.innerHTML=LoadingMessage;
	Window.setStyles({'left':window.getWidth()/2 - Window.offsetWidth/2 + window.getScrollLeft(),'top':window.getHeight()/2 - Window.offsetWidth/2 + window.getScrollTop()});
	Window.injectInside($E('body'));
	var Form=new Element('div').setProperties({'id':'FormWindow','class':'FormWindow'});
	Form.setStyle('display','none');
	Form.injectInside($E('body'));
	(new Ajax(formURL + "?" + (new Date()).getTime(),{method:'get',update:$('FormWindow'),onComplete:function(){ShowWindow(false)}})).request();
}

// ShowWindow function
/* 
   **USED INTERNALLY**
   ShowWindow(loaded)
   Shows the loaded window that has been grabbed in through AJAX call
*/

function ShowWindow(loaded)
{	
	$('LoadingMessage').remove();
	$('FormWindow').setStyle('display','block');
	$('FormWindow').setStyles({'position':'absolute','left':window.getWidth()/2 - $('FormWindow').offsetWidth/2 + window.getScrollLeft()   , 'top' : window.getHeight()/2 - $('FormWindow').offsetHeight/2 + window.getScrollTop()});		
}

// TextSize function
/* 
   Resizes the browser text. Saves user's preference in cookie
   TextSize(Command)
   Returns: Nothing
   Parameters: 
    Command: 1 to increase font size, -1 to decrease font size, pass nothing to read cookie and set font size;
*/

function TextSize(Command)
{	
	if($type(Command)==false)
	{
	 var FontSize=Cookie.get("BUI2FontSize");
	 if(FontSize==false)Command=0;	
	 else DefaultSize=FontSize.toFloat();
	}
	if(Command==1)
	 DefaultSize+=FontResizeSteps;	//Decrease
	else if(Command==-1)
	 DefaultSize-=FontResizeSteps;	//Increase
	
	$E("body").setStyle("fontSize",DefaultSize + "%");
	Cookie.set("BUI2FontSize",DefaultSize,{duration:999,path:'/'});
}

// ShowValidationTip function
/* 
   Shows the Validation Tooltip 
   ShowValidationTip(Target,Text,Class)
   Returns : Nothing
   Parameters:
    Target: ID or reference to the target
	Text: The text to display
	Class: Any class name which user wants to attach
*/

function ShowValidationTip(Target,Text,Class)
{
 var TargetElement=true;
 if($type(Target)=="string")
 {
  if(Target.charAt(0)=="{")
  {
  	TargetElement=false;
  	Target=Json.evaluate(Target);
  }
  else
   Target=$(Target);
 }
 if(!Target)return;
 
 if(TargetElement==true)
 {
	 try{if($('buiTooltip'))$('buiTooltip').remove();}catch(err){}
	 var ToolTipDiv=new Element("div").setProperties({"id":"buiTooltip"}).setStyles({"position":"absolute","display":"block","opacity":"0","left":Target.getLeft(),"top":Target.getTop() + Target.offsetHeight,"z-index":999});
	 if($type(Class))ToolTipDiv.className=Class;
	 ToolTipDiv.innerHTML=Text; 
	 ToolTipDiv.injectInside($E('body'));
	 if(ValidationToolTipAnimation==true)
	  ToolTipDiv.effect("opacity",{duration:ValidationToolTipAnimationDelay}).start(0,1).chain(function(){Target.addEvent('blur',HideValidationTip);});
	 else  
	  ToolTipDiv.setStyle('opacity',1);  
	 if(ToolTipDiv.offsetWidth<Target.offsetWidth)ToolTipDiv.setStyle("width",Target.offsetWidth - ToolTipDiv.getStyle("paddingLeft").toInt() - ToolTipDiv.getStyle("paddingRight").toInt());
	 Target.focus();
 }
 else
 {
	 try{if($('buiTooltip'))$('buiTooltip').remove();}catch(err){}
	 var ToolTipDiv=new Element("div").setProperties({"id":"buiTooltip"}).setStyles({"position":"absolute","display":"block","opacity":"0","left":Target.left,"top":Target.top,"z-index":999});
	 if($type(Class))ToolTipDiv.className=Class;
	 ToolTipDiv.innerHTML=Text; 
	 ToolTipDiv.injectInside($E('body'));
	 if(ValidationToolTipAnimation==true)
	  ToolTipDiv.effect("opacity",{duration:ValidationToolTipAnimationDelay}).start(0,1);
	 else  
	  ToolTipDiv.setStyle('opacity',1);  
 }
}

// HideValidationTip function
/* 
   Removes the Validation Top 
   HideValidationTip()
*/

function HideValidationTip()
{
	try{   $("buiTooltip").remove();}catch(err){}
}

// CheckValidation function
/* 
   Validates a field, on a regular expression and required constraint.
   CheckValidation(FieldToCheck,RegularExpression,Required)
   Returns: Boolean
   Parameters: 
   	FieldToCheck: can be an id or reference to any input element
	RegularExpression: optional, pass the regular expression to validate the field against. Its possible to use the members of BUI2 validation class
*/
function CheckValidation(FieldToCheck,RegularExpression,Required)
{	
	var ValidationResult=true;
	if($type(FieldToCheck)=="string") FieldToCheck=$(FieldToCheck);
	if($type(FieldToCheck)!="element")return false;
	if(FieldToCheck.type=="text" || FieldToCheck.type=="textarea")
	{ 
		FieldToCheck.value=FieldToCheck.value.trim();
		if($type(RegularExpression)!=false)
		 if(FieldToCheck.value.length<=0 && (Required==false || !Required))ValidationResult=ValidationResult && true;
		  else ValidationResult=ValidationResult && FieldToCheck.value.test(RegularExpression);
		if($type(Required)!=false && Required==true)
	 	 ValidationResult=ValidationResult && (FieldToCheck.value.length>0)? true:false;
	}
	return ValidationResult;
}

// SendEmail function
/* 
   Validates email this page form and sends the form to a target JSP page
   
   SendEmail(FieldInfo,Evt)
   Returns : Nothing
   Parameters:
    FieldInfo: a JSON object that has following members:
	  FieldInfo.Name:the ID or reference of the Name field
	  FieldInfo.Email:the ID or reference of the Email field
	  FieldInfo.FriendsMail:the ID or reference of the Friend's Email field
	  FieldInfo.Page:URL of the target JSP page where form data has to be submitted.
	 Evt: The target button from which the method has been called
*/

var LastButton;
function SendEmail(FieldInfo,Evt)
{
	if($type(FieldInfo.Name)=="string")
		FieldInfo.Name=$(FieldInfo.Name);
	if($type(FieldInfo.Email)=="string")
		FieldInfo.Email=$(FieldInfo.Email);
	if($type(FieldInfo.FriendsMail)=="string")
		FieldInfo.FriendsMail=$(FieldInfo.FriendsMail);
	
	if(CheckValidation(FieldInfo.Name,ValidationRegex.Name,true)==false)
	{
		ShowValidationTip(FieldInfo.Name,"Enter the correct name.","buiTooltipRed");	
		return;
	}
	if(CheckValidation(FieldInfo.Email,ValidationRegex.Email,true)==false)
	{
		ShowValidationTip(FieldInfo.Email,"Please enter a correct email address.","buiTooltipRed");	
		return;
	}
	if(CheckValidation(FieldInfo.FriendsMail,ValidationRegex.Email,true)==false)
	{
		ShowValidationTip(FieldInfo.FriendsMail,"Please enter a correct email address.","buiTooltipRed");	
		return;
	}	
	var myForm	= new Element("form").setProperties({"method":"post","action":FieldInfo.Page});
	var name	= new Element("input").setProperties({"name":"Name","type":"text","value":FieldInfo.Name.value});
	var email	= new Element("input").setProperties({"name":"Email","type":"text","value":FieldInfo.Email.value});
	var fmail	= new Element("input").setProperties({"name":"Fmail","type":"text","value":FieldInfo.FriendsMail.value});
	var page	= new Element("input").setProperties({"name":"pageURL","type":"hidden","value":window.location.href});
	name.injectInside(myForm);
	email.injectInside(myForm);
	fmail.injectInside(myForm);
	page.injectInside(myForm);
		
	(myForm.send({method:'post',onComplete:ProcessFormResponse}));

	LastButton=Evt;	
	LastButton.disabled=true;
}

// ProcessFormResponse
/* 
	**USED INTERNALLY**
*/

var LastForm;
function ProcessFormResponse(Response)
{
 var myResponse = Json.evaluate(Response);
 if(myResponse.Status=="success")
 {
 	ShowValidationTip("{'left':window.getWidth()/2 + window.getScrollLeft(),'top':window.getHeight()/2 + window.getScrollTop()}",myResponse.Message,"buiAbsolutePositionAdjustment");
 	$("FormWindow").remove();
 	window.setTimeout("HideValidationTip();HideOverlay();",3000);
 }
 
 if(myResponse.Status=="error")
 {
 	ShowValidationTip(myResponse.Field,myResponse.Message,"buiTooltipRed");
 	LastButton.disabled=false; 	
 }
 try
 {
 	LastForm.remove();
 }catch(err){}
}
function bui_leaving_popup( page ) 
{
  parentDest=page;
  inttemp=window.open( '/jsp/utils/interstit.jsp', 'interstit','height=180,width=420');
  inttemp.focus();
}
pdfDest='';
function bui_pdfxfer( page ) 
{
  pdfDest=page;
  pdftemp=window.open( '/jsp/utils/pdfxfer/prepdf.jsp', 'pdfxfer','height=250,width=420');
  pdftemp.focus();
}
// AddActiveClassToNavigation function
/* 
   **USED INTERNALLY**
*/
function AddActiveClassToNavigation(Location)
{
	Target=$(Location);
	if($type(Target)!=false)
	{
		Target.className+=" active";
		Target.parentNode.className+= " active";
	}
}
// SetActive function
/* 
   Takes the IDs of the navigational elements which have to be marked active, sets them active
   SetActive(id1[,id2[,id3[,id4[,id5......]]]])
   Returns: Nothing
   Parameters: IDs of the navigational elements which have to me marked active.
*/
function SetActive()
{
	var Arguments;
	var i;
	for(i=1;i<SetActive.arguments.length;i++)
		if($type(SetActive.arguments[i])!=false)
		 AddActiveClassToNavigation(SetActive.arguments[i]);
}

// AddCSS function
/* 
   Adds a CSS file to the document
   AddCSS(Path)
   Returns: nothing
   Parameters:
    Path: the path to the CSS file
*/

function AddCSS(Path)
{
	var CSSEnter = new Element('link',{'rel':'stylesheet','href':Path,'media':'screen'});
	CSSEnter.injectInside($E('head'));
}
// PatchCSS function
/* 
   Adds a CSS for a specific browser. Can take multiple browser's command paths at a time
   PatchCSS(IE,IE6,IE7,Gecko,Safari,Opera)
   Returns : nothing
   Parameters:
    IE: Path of a CSS that can be applied to all IE browsers
	IE6: Path to the CSS that can be applied to IE6
	IE7: Path to the CSS that can be applied to IE7
	Gecko: Path of the CSS that can be applied to firefox and netscape navigator
	Safari: Path of the CSS that can be applied to Safari
	Opera: Path of the CSS that can be applied to Opera
	
	* Please pass null, in the place of the parameter you dont want to use
*/

function PatchCSS(IE,IE6,IE7,Gecko,Safari,Opera)
{
	if(IE 		&& window.ie	) 	{	AddCSS(IE);			}
	if(IE6 		&& window.ie6	)	{	AddCSS(IE6);		}
	if(IE7 		&& window.ie7	)	{	AddCSS(IE7);		}
	if(Gecko 	&& window.gecko	)	{	AddCSS(Gecko);		}
	if(Safari 	&& window.webkit)	{	AddCSS(Safari);		}
	if(Opera 	&& window.opera	)	{	AddCSS(Opera);		}	
}