From f4ff8147db3786071478a71eddbcca4d09438230 Mon Sep 17 00:00:00 2001 From: Dmitry Baranovskiy Date: Mon, 4 Jan 2010 18:24:12 +1100 Subject: [PATCH] Add animateAlongBack method --- raphael-min.js | 4 +-- raphael.js | 55 ++++++++++++++++++------------- reference.html | 87 ++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 122 insertions(+), 24 deletions(-) diff --git a/raphael-min.js b/raphael-min.js index 6c3727f..cdfdfbb 100644 --- a/raphael-min.js +++ b/raphael-min.js @@ -1,7 +1,7 @@ -/*! +/* * Raphael 1.3.0dev - JavaScript Vector Library * * Copyright (c) 2008 - 2009 Dmitry Baranovskiy (http://raphaeljs.com) * Licensed under the MIT (http://www.opensource.org/licenses/mit-license.php) license. */ -eval(function(p,a,c,k,e,r){e=function(c){return(c35?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}('6Z.32=(14(){11 a=/[, ]+/,6X=/^(2p|1M|1s|2u|1D|2i)$/,K=4k,ar=6Z,l={6J:"32"1y ar,1u:ar.32},am=14(){12(am.1u(1f[0],"2g")){11 d=1f[0],e=x[1R](am,d.2Y(0,3+am.1u(d[0],ak))),S=e.4U();1i(11 R=0,15=d[m];R<15;R++){11 E=d[R]||{};6X.58(E.1p)&&S[f](e[E.1p]().1V(E))}13 S}13 x[1R](am,1f)},1I=14(){},1q="9r",1R="9q",21="9o",aq="",al=" ",A="5Y",F="9i 9h 9g 9f 5M 5L 9c"[A](al),P="9a",aw="5G",m="3v",1c="94",2M=5U[1c].91,aa=8Y,g=aa.4j,aF=aa.4x,ak="5c",ax="5a",au=8P[1c][ax],8O={},1K=aa.8M,f="63",3q=/^(?=[\\8J-f]$)/,c=/^3a\\([\'"]?([^\\)]+)[\'"]?\\)$/i,y=/^\\s*((#[a-f\\d]{6})|(#[a-f\\d]{3})|4X\\(\\s*([\\d\\.]+\\s*,\\s*[\\d\\.]+\\s*,\\s*[\\d\\.]+)\\s*\\)|4X\\(\\s*([\\d\\.]+%\\s*,\\s*[\\d\\.]+%\\s*,\\s*[\\d\\.]+%)\\s*\\)|4W[2k]\\(\\s*([\\d\\.]+\\s*,\\s*[\\d\\.]+\\s*,\\s*[\\d\\.]+)\\s*\\)|4W[2k]\\(\\s*([\\d\\.]+%\\s*,\\s*[\\d\\.]+%\\s*,\\s*[\\d\\.]+%)\\s*\\))\\s*$/i,N=aa.4V,w="8y",V=8w,G=8u,3V=5U[1c].8s,j={"1P-1M":"0 0 65 65",3B:"2O",1Q:0,1Y:0,1m:"#6n","1m-1z":1,1v:\'8f "6G"\',"1v-3L":\'"6G"\',"1v-2W":"10","1v-1k":"4v","1v-30":5o,1S:0,1d:0,3e:"3Y://82.5h/",1z:1,1s:"80,0",r:0,2f:0,2z:0,2t:0,1J:"1 1",2K:"",1g:"#2n","1g-2S":"","1g-34":"4r","1g-46":"4r","1g-4b":0,"1g-1z":1,"1g-18":1,4i:"7K","1D-4l":"4o",3D:"32",2C:"0 0",18:0,x:0,y:0},Y={3d:"3d","1P-1M":"3C",1Q:ak,1Y:ak,1m:"4L","1m-1z":ak,"1v-2W":ak,1d:ak,1z:ak,1s:"1s",r:ak,2f:"3C",2z:ak,2t:ak,1J:"3C",1g:"4L","1g-1z":ak,"1g-18":ak,2C:"3C",18:ak,x:ak,y:ak},1L="7A";am.4B="1.3.7y";am.1p=(ar.7x||K.7w.7v("3Y://4m.4I.4J/7s/7r/7q#7p","1.1")?"4C":"3w");12(am.1p=="3w"){11 5r=4k.2X("4S");5r.5b="";12(5r.7f[m]!=2){13 1h}}am.3j=!(am.3E=am.1p=="3w");1I[1c]=am[1c];am.4n=0;am.5v=0;am.5w={};am.1u=14(e,d){d=2M.1F(d);13((d=="2R"||d=="4f")&&6U e==d)||(e==1h&&d=="1h")||2M.1F(au.1F(e).40(8,-1))==d};am.71=14(d){ar=d;K=ar.4k};11 3Z=14(e){12(am.3E){11 d=/^\\s+|\\s+$/g;3Z=ai(14(R){11 S;R=(R+aq)[1L](d,aq);41{11 a=1U 72("73");a.74("<35>");a.76();S=a.35}4h(19){S=77().4k.35}11 i=S.78();41{S.1k.28=R;11 b=i.79("7a");b=((b&2s)<<16)|(b&7b)|((b&7c)>>>16);13"#"+("7d"+b[ax](16)).40(-6)}4h(19){13"1C"}})}1n{11 E=K.2X("i");E.3D="3K\\3J 7e 7h";E.1k.3g="1C";K.35[1q](E);3Z=ai(14(i){E.1k.28=i;13 K.6y.6x(E,aq).6w("28")})}13 3Z(e)};am.4p=ai(14(a,b,c){12(am.1u(a,"2R")&&"h"1y a&&"s"1y a&&"b"1y a){c=a.b;b=a.s;a=a.h}11 R,S,a5;12(c==0){13{r:0,g:0,b:0,2F:"#2n"}}12(a>1||b>1||c>1){a/=2s;b/=2s;c/=2s}11 f=~~(a*6),a1=(a*6)-f,E=c*(1-b),e=c*(1-(b*a1)),a6=c*(1-(b*(1-a1)));R=[c,e,E,E,a6,c,c][f];S=[a6,c,c,e,E,E,a6][f];a5=[E,E,a6,c,c,e,E][f];R*=2s;S*=2s;a5*=2s;11 g={r:R,g:S,b:a5},d=(~~R)[ax](16),19=(~~S)[ax](16),a3=(~~a5)[ax](16);d=d[1L](3q,"0");19=19[1L](3q,"0");a3=a3[1L](3q,"0");g.2F="#"+d+19+a3;13 g},am);am.7i=ai(14(d,e,a){12(am.1u(d,"2R")&&"r"1y d&&"g"1y d&&"b"1y d){a=d.b;e=d.g;d=d.r}12(am.1u(d,"2l")){11 b=am.2P(d);d=b.r;e=b.g;a=b.b}12(d>1||e>1||a>1){d/=2s;e/=2s;a/=2s}11 c=g(d,e,a),i=aF(d,e,a),R,E,S=c;12(i==c){13{h:0,s:0,b:c}}1n{11 f=(c-i);E=f/c;12(d==c){R=(e-a)/f}1n{12(e==c){R=2+((a-d)/f)}1n{R=4+((d-e)/f)}}R/=6;R<0&&R++;R>1&&R--}13{h:R,s:E,b:S}},am);11 6k=/,?([7j]),?/6i;am.3S=14(){13 9.5G(",")[1L](6k,"$1")};14 ai(E,e,d){14 i(){11 R=6f[1c].40.1F(1f,0),15=R[aw]("\\7k"),S=i.6d=i.6d||{},1b=i.6b=i.6b||[];12(S[P](15)){13 d?d(S[15]):S[15]}1b[m]>=3P&&22 S[1b.4P()];1b[f](15);S[15]=E[1R](e,R);13 d?d(S[15]):S[15]}13 i}am.2P=ai(14(d){12(!d||!!((d=d+aq).67("-")+1)){13{r:-1,g:-1,b:-1,2F:"1C",3Q:1}}12(d=="1C"){13{r:-1,g:-1,b:-1,2F:"1C"}}!(({4W:1,7l:1})[P](d.3W(0,2))||d.31()=="#")&&(d=3Z(d));11 S,i,E,19,a0,15=d.3z(y);12(15){12(15[2]){19=G(15[2].3W(5),16);E=G(15[2].3W(3,5),16);i=G(15[2].3W(1,3),16)}12(15[3]){19=G((a0=15[3].31(3))+a0,16);E=G((a0=15[3].31(2))+a0,16);i=G((a0=15[3].31(1))+a0,16)}12(15[4]){15=15[4][A](/\\s*,\\s*/);i=V(15[0]);E=V(15[1]);19=V(15[2])}12(15[5]){15=15[5][A](/\\s*,\\s*/);i=V(15[0])*2.55;E=V(15[1])*2.55;19=V(15[2])*2.55}12(15[6]){15=15[6][A](/\\s*,\\s*/);i=V(15[0]);E=V(15[1]);19=V(15[2]);13 am.4p(i,E,19)}12(15[7]){15=15[7][A](/\\s*,\\s*/);i=V(15[0])*2.55;E=V(15[1])*2.55;19=V(15[2])*2.55;13 am.4p(i,E,19)}15={r:i,g:E,b:19};11 e=(~~i)[ax](16),R=(~~E)[ax](16),1b=(~~19)[ax](16);e=e[1L](3q,"0");R=R[1L](3q,"0");1b=1b[1L](3q,"0");15.2F="#"+e+R+1b;13 15}13{r:-1,g:-1,b:-1,2F:"1C",3Q:1}},am);am.4a=14(e){11 i=9.4a.2a=9.4a.2a||{h:0,s:1,b:e||0.75},d=9.4p(i.h,i.s,i.b);i.h+=0.7m;12(i.h>1){i.h=0;i.s-=0.2;i.s<=0&&(9.4a.2a={h:0,s:1,b:i.b})}13 d.2F};am.4a.7n=14(){22 9.2a};am.4z=ai(14(d){12(!d){13 1h}11 i={a:7,c:6,h:1,l:2,m:2,q:4,s:4,t:2,v:1,z:0},e=[];12(am.1u(d,"2g")&&am.1u(d[0],"2g")){e=at(d)}12(!e[m]){(d+aq)[1L](/([7o])[\\s,]*((-?\\d*\\.?\\d*(?:e[-+]?\\d+)?\\s*,?\\s*)+)/5C,14(R,E,c){11 d=[],S=2M.1F(E);c[1L](/(-?\\d*\\.?\\d*(?:e[-+]?\\d+)?)\\s*,?\\s*/5C,14(a,b){b&&d[f](+b)});2N(d[m]>=i[S]){e[f]([E][21](d.2Y(0,i[S])));12(!i[S]){1a}}})}e[ax]=am.3S;13 e});am.4F=14(e,d,a,b,c,R,f,g,h){11 j=1-h,a2=1K(j,3)*e+1K(j,2)*3*h*a+j*3*h*h*c+1K(h,3)*f,a0=1K(j,3)*d+1K(j,2)*3*h*b+j*3*h*h*R+1K(h,3)*g,a7=e+2*h*(a-e)+h*h*(c-2*a+e),a6=d+2*h*(b-d)+h*h*(R-2*b+d),1A=a+2*h*(c-a)+h*h*(f-2*c+a),a8=b+2*h*(R-b)+h*h*(g-2*R+b),a4=(1-h)*e+h*a,a1=(1-h)*d+h*b,E=(1-h)*c+h*f,i=(1-h)*R+h*g,S=(90-aa.7t((a7-1A)/(a6-a8))*37/aa.3T);(a7>1A||a619){a0=a0-R*2}12(!S&&19>a0){19=19-R*2}}1n{a0=q[0];19=q[1];1A=q[2];a9=q[3]}11 r=19-a0;12(aa.2A(r)>1W){11 s=19,3k=o,a2=p;19=a0+1W*(S&&19>a0?1:-1);o=1A+j*aa.3t(19);p=a9+k*aa.3f(19);1H=J(o,p,j,k,l,0,S,3k,a2,[19,s,1A,a9])}r=19-a0;11 t=aa.3t(a0),39=aa.3f(a0),15=aa.3t(19),33=aa.3f(19),57=aa.7z(r/4),54=4/3*j*57,53=4/3*k*57,52=[f,h],3p=[f+54*39,h-53*t],50=[o+54*33,p-53*15],3F=[o,p];3p[0]=2*52[0]-3p[0];3p[1]=2*52[1]-3p[1];12(q){13[3p,50,3F][21](1H)}1n{1H=[3p,50,3F][21](1H)[aw]()[A](",");11 u=[];1i(11 v=0,2D=1H[m];v<2D;v++){u[v]=v%2?4c(1H[v-1],1H[v],d).y:4c(1H[v],1H[v+1],d).x}13 u}},L=14(e,d,E,i,a,b,c,S,f){11 R=1-f;13{x:1K(R,3)*e+1K(R,2)*3*f*E+R*3*f*f*a+1K(f,3)*c,y:1K(R,3)*d+1K(R,2)*3*f*i+R*3*f*f*b+1K(f,3)*S}},az=ai(14(i,d,R,E,a,b,c,h){11 j=(a-2*R+i)-(c-2*a+R),a1=2*(R-i)-2*(a-R),1b=i-R,15=(-a1+aa.3b(a1*a1-4*j*1b))/2/j,S=(-a1-aa.3b(a1*a1-4*j*1b))/2/j,a0=[d,h],a3=[i,c],e;aa.2A(15)>4D&&(15=0.5);aa.2A(S)>4D&&(S=0.5);12(15>0&&15<1){e=L(i,d,R,E,a,b,c,h,15);a3[f](e.x);a0[f](e.y)}12(S>0&&S<1){e=L(i,d,R,E,a,b,c,h,S);a3[f](e.x);a0[f](e.y)}j=(b-2*E+d)-(h-2*b+E);a1=2*(E-d)-2*(b-E);1b=d-E;15=(-a1+aa.3b(a1*a1-4*j*1b))/2/j;S=(-a1-aa.3b(a1*a1-4*j*1b))/2/j;aa.2A(15)>4D&&(15=0.5);aa.2A(S)>4D&&(S=0.5);12(15>0&&15<1){e=L(i,d,R,E,a,b,c,h,15);a3[f](e.x);a0[f](e.y)}12(S>0&&S<1){e=L(i,d,R,E,a,b,c,h,S);a3[f](e.x);a0[f](e.y)}13{4x:{x:aF[1R](0,a3),y:aF[1R](0,a0)},4j:{x:g[1R](0,a3),y:g[1R](0,a0)}}}),H=ai(14(f,h){11 R=s(f),a2=h&&s(h),a3={x:0,y:0,33:0,39:0,X:0,Y:0,3m:1h,3l:1h},d={x:0,y:0,33:0,39:0,X:0,Y:0,3m:1h,3l:1h},15=14(a,b){11 i,a9;12(!a){13["C",b.x,b.y,b.x,b.y,b.x,b.y]}!(a[0]1y{T:1,Q:1})&&(b.3m=b.3l=1h);2b(a[0]){17"M":b.X=a[1];b.Y=a[2];1a;17"A":a=["C"][21](J[1R](0,[b.x,b.y][21](a.40(1))));1a;17"S":i=b.x+(b.x-(b.33||b.x));a9=b.y+(b.y-(b.39||b.y));a=["C",i,a9][21](a.40(1));1a;17"T":b.3m=b.x+(b.x-(b.3m||b.x));b.3l=b.y+(b.y-(b.3l||b.y));a=["C"][21](5s(b.x,b.y,b.3m,b.3l,a[1],a[2]));1a;17"Q":b.3m=a[1];b.3l=a[2];a=["C"][21](5s(b.x,b.y,a[1],a[2],a[3],a[4]));1a;17"L":a=["C"][21](49(b.x,b.y,a[1],a[2]));1a;17"H":a=["C"][21](49(b.x,b.y,a[1],b.y));1a;17"V":a=["C"][21](49(b.x,b.y,b.x,a[1]));1a;17"Z":a=["C"][21](49(b.x,b.y,b.X,b.Y));1a}13 a},e=14(a,b){12(a[b][m]>7){a[b].4P();11 c=a[b];2N(c[m]){a.2Y(b++,0,["C"][21](c.2Y(0,6)))}a.2Y(b,1);a4=g(R[m],a2&&a2[m]||0)}},E=14(a,b,c,d,e){12(a&&b&&a[e][0]=="M"&&b[e][0]!="M"){b.2Y(e,0,["M",d.x,d.y]);c.33=0;c.39=0;c.x=a[e][1];c.y=a[e][2];a4=g(R[m],a2&&a2[m]||0)}};1i(11 j=0,a4=g(R[m],a2&&a2[m]||0);j3){13{3n:1,x:1f[0],y:1f[1],18:1f[2],1d:1f[3]}}}},aD=14(d,i){11 e=9;1i(11 E 1y i){12(i[P](E)&&!(E 1y d)){2b(6U i[E]){17"14":(14(R){d[E]=d===e?R:14(){13 R[1R](e,1f)}})(i[E]);1a;17"2R":d[E]=d[E]||{};aD.1F(9,d[E],i[E]);1a;2O:d[E]=i[E];1a}}}},aj=14(d,e){d==e.1w&&(e.1w=d.20);d==e.2e&&(e.2e=d.1Z);d.1Z&&(d.1Z.20=d.20);d.20&&(d.20.1Z=d.1Z)},X=14(d,e){12(e.1w===d){13}aj(d,e);d.1Z=1h;d.20=e.1w;e.1w.1Z=d;e.1w=d},k=14(d,e){12(e.2e===d){13}aj(d,e);d.1Z=e.2e;d.20=1h;e.2e.20=d;e.2e=d},B=14(e,d,i){aj(e,i);d==i.1w&&(i.1w=e);d.1Z&&(d.1Z.20=e);e.1Z=d.1Z;e.20=d;d.1Z=e},ao=14(e,d,i){aj(e,i);d==i.2e&&(i.2e=e);d.20&&(d.20.1Z=e);e.20=d.20;d.20=e;e.1Z=d},t=14(d){13 14(){51 1U 56("3K\\3J: 7D 59 7E 4y 6l \\7F"+d+"\\7G 7H 1O 2R");}},ap=/^r(?:\\(([^,]+?)\\s*,\\s*([^\\)]+?)\\))?/;12(am.3j){1I[1c].6o="3Y://4m.4I.4J/6u/3j";1I[1c].3u="3Y://4m.4I.4J/7I/3u";11 N=14(d){13+d+(~~d===d)*0.5},U=14(S){1i(11 e=0,E=S[m];e0.5)*2-1);1K(1b-0.5,2)+1K(S-0.5,2)>0.25&&(S=aa.3b(0.25-1K(1b-0.5,2))*c+0.5)&&S!=0.5&&(S=S.2T(5)-0.7M*c)}13 aq});f=f[A](/\\s*\\-\\s*/);12(h=="4e"){11 j=f.4P();j=-V(j);12(6H(j)){13 1h}11 R=[0,0,aa.3t(j*aa.3T/37),aa.3f(j*aa.3T/37)],a3=1/(g(aa.2A(R[2]),aa.2A(R[3]))||1);R[2]*=a3;R[3]*=a3;12(R[2]<0){R[0]=-R[2];R[2]=0}12(R[3]<0){R[1]=-R[3];R[3]=0}}11 k=p(f);12(!k){13 1h}11 e=1r(h+"7N");e.2h="r"+(am.4n++)[ax](36);1r(e,h=="4d"?{48:1b,47:S}:{7O:R[0],7P:R[1],7Q:R[2],7R:R[3]});d.42[1q](e);1i(11 l=0,a5=k[m];la.1d)&&(a.1d=b.y+b.1d-a.y);(b.x+b.18-a.x>a.18)&&(a.18=b.x+b.18-a.x)}}E&&9.5k();13 a};1j[1c].1V=14(){12(9.1O){13 9}12(1f[m]==0){11 R={};1i(11 E 1y 9.1e){12(9.1e[P](E)){R[E]=9.1e[E]}}9.1t.1B.24&&(R.2f=9.23());(9.1t.2y!=1||9.1t.2o!=1)&&(R.1J=9.1J());R.1S&&R.1m=="1C"&&(R.1m=R.1S)&&22 R.1S;13 R}12(1f[m]==1&&am.1u(1f[0],"2l")){12(1f[0]=="2C"){13 u.1F(9)}12(1f[0]=="2f"){13 9.23()}12(1f[0]=="1J"){13 9.1J()}12(1f[0]=="1m"&&9.1e.1m=="1C"&&9.1e.1S){13 9.1e.1S}13 9.1e[1f[0]]}12(1f[m]==1&&am.1u(1f[0],"2g")){11 d={};1i(11 e 1y 1f[0]){12(1f[0][P](e)){d[1f[0][e]]=9.1e[1f[0][e]]}}13 d}12(1f[m]==2){11 S={};S[1f[0]]=1f[1];Z(9,S)}1n{12(1f[m]==1&&am.1u(1f[0],"2R")){Z(9,1f[0])}}13 9};1j[1c].6R=14(){12(9.1O){13 9}9.1o.1G[1q](9.1o);11 d=9.1x;d.1w!=9&&X(9,d);13 9};1j[1c].6Q=14(){12(9.1O){13 9}12(9.1o.1G.2j!=9.1o){9.1o.1G.2B(9.1o,9.1o.1G.2j);k(9,9.1x);11 d=9.1x}13 9};1j[1c].4q=14(d){12(9.1O){13 9}11 e=d.1o;12(e.4A){e.1G.2B(9.1o,e.4A)}1n{e.1G[1q](9.1o)}B(9,d,9.1x);13 9};1j[1c].2B=14(d){12(9.1O){13 9}11 e=d.1o;e.1G.2B(9.1o,e);ao(9,d,9.1x);13 9};1j[1c].3O=14(){12(9.1p!="1s"){13-1}13 9.1o.3O()};11 O=14(e,d,S,R){d=N(d);S=N(S);11 E=1r("2p");e.1E&&e.1E[1q](E);11 i=1U 1j(E,e);i.1e={1Q:d,1Y:S,r:R,1m:"1C",1g:"#2n"};i.1p="2p";1r(E,i.1e);13 i};11 5F=14(i,d,a,e,S,b){d=N(d);a=N(a);11 R=1r("1M");i.1E&&i.1E[1q](R);11 E=1U 1j(R,i);E.1e={x:d,y:a,18:e,1d:S,r:b||0,2z:b||0,2t:b||0,1m:"1C",1g:"#2n"};E.1p="1M";1r(R,E.1e);13 E};11 5D=14(e,d,a,S,R){d=N(d);a=N(a);11 E=1r("2u");e.1E&&e.1E[1q](E);11 i=1U 1j(E,e);i.1e={1Q:d,1Y:a,2z:S,2t:R,1m:"1C",1g:"#2n"};i.1p="2u";1r(E,i.1e);13 i};11 o=14(i,a,d,b,e,S){11 R=1r("2i");1r(R,{x:d,y:b,18:e,1d:S,88:"1C"});R.4u(i.3u,"3e",a);i.1E&&i.1E[1q](R);11 E=1U 1j(R,i);E.1e={x:d,y:b,18:e,1d:S,2K:a};E.1p="2i";13 E};11 W=14(e,d,S,R){11 E=1r("1D");1r(E,{x:d,y:S,"1D-4l":"4o"});e.1E&&e.1E[1q](E);11 i=1U 1j(E,e);i.1e={x:d,y:S,"1D-4l":"4o",1D:R,1v:j.1v,1g:"1C",1m:"#2n"};i.1p="1D";Z(i,i.1e);13 i};11 5B=14(e,d){9.18=e||9.18;9.1d=d||9.1d;9.1E[w]("18",9.18);9.1E[w]("1d",9.1d);13 9};11 x=14(){11 E=an[1R](1h,1f),i=E&&E.3n,e=E.x,15=E.y,R=E.18,d=E.1d;12(!i){51 1U 56("4C 3n 6P 6O.");}11 S=1r("3j");R=R||6N;d=d||6L;1r(S,{6K:"3Y://4m.4I.4J/6u/3j",4B:1.1,18:R,1d:d});12(i==1){S.1k.2G="2v:2q;1X:"+e+"1l;1w:"+15+"1l";K.35[1q](S)}1n{12(i.2j){i.2B(S,i.2j)}1n{i[1q](S)}}i=1U 1I;i.18=R;i.1d=d;i.1E=S;aD.1F(i,i,am.5w);i.5u();13 i};1I[1c].5u=14(){11 d=9.1E;2N(d.2j){d.2w(d.2j)}9.2e=9.1w=1h;(9.5t=1r("5t"))[1q](K.6W("89 8a 3K\\3J"));d[1q](9.5t);d[1q](9.42=1r("42"))};1I[1c].3H=14(){9.1E.1G&&9.1E.1G.2w(9.1E);1i(11 d 1y 9){9[d]=t(d)}}}12(am.3E){11 6I=14(g){11 h=/[8b]/5C,15=s;(g+aq).3z(h)&&(15=H);h=/[5q]/g;12(15==s&&!(g+aq).3z(h)){11 e={M:"m",L:"l",C:"c",Z:"x",m:"t",l:"r",c:"v",z:"x"},R=/([5q]),?([^5q]*)/6i,S=/-?[^,\\s-]+/g;11 j=(g+aq)[1L](R,14(b,c,i){11 d=[];i[1L](S,14(a){d[f](N(a))});13 e[c]+d});13 j}11 k=15(g),E,j=[],d;1i(11 l=0,a4=k[m];l1&&(e=1);l.1z=e}g.1m&&(l.2r=27);12(l.2r==1h||g.1m=="1C"){l.2r=3o}12(l.2r&&g.1m){11 i=g.1m.3z(c);12(i){l.2K=i[1];l.1p="8l"}1n{l.28=am.2P(g.1m).2F;l.2K=aq;l.1p="8m";12(am.2P(g.1m).3Q&&(1A.1p 1y{2p:1,2u:1}||(g.1m+aq).31()!="r")&&b(1A,g.1m)){a6.1m="1C";a6.1S=g.1m}}}a7&&h[1q](l);11 R=(h.3r("1g")&&h.3r("1g")[0]),a8=3o;!R&&(a8=R=ag("1g"));12((g.1g&&g.1g!="1C")||g["1g-18"]||g["1g-1z"]!=1h||g["1g-2S"]||g["1g-4b"]||g["1g-46"]||g["1g-34"]){R.2r=27}(g.1g=="1C"||R.2r==1h||g.1g==0||g["1g-18"]==0)&&(R.2r=3o);R.2r&&g.1g&&(R.28=am.2P(g.1g).2F);11 e=((+a6["1g-1z"]+1||2)-1)*((+a6.1z+1||2)-1),a1=(V(g["1g-18"])||1)*0.75;e<0&&(e=0);e>1&&(e=1);g["1g-18"]==1h&&(a1=a6["1g-18"]);g["1g-18"]&&(R.30=a1);a1&&a1<1&&(e*=a1)&&(R.30=1);R.1z=e;g["1g-46"]&&(R.8n=g["1g-46"]||"8o");R.4b=g["1g-4b"]||8;g["1g-34"]&&(R.8p=g["1g-34"]=="4r"?"8q":g["1g-34"]=="5E"?"5E":"4V");12(g["1g-2S"]){11 n={"-":"8r",".":"8t","-.":"8v","-..":"8x",". ":"8z","- ":"8A","--":"8B","- .":"8C","--.":"8D","--..":"8E"};R.8F=n[P](g["1g-2S"])?n[g["1g-2S"]]:aq}a8&&h[1q](R)}12(1A.1p=="1D"){11 o=1A.1x.2x.1k;a6.1v&&(o.1v=a6.1v);a6["1v-3L"]&&(o.6e=a6["1v-3L"]);a6["1v-2W"]&&(o.6a=a6["1v-2W"]);a6["1v-30"]&&(o.69=a6["1v-30"]);a6["1v-1k"]&&(o.66=a6["1v-1k"]);1A.1o.2l&&(1A.1x.2x.5b=(1A.1o.2l+aq)[1L](/"));1A.W=a6.w=1A.1x.2x.4M;1A.H=a6.h=1A.1x.2x.4K;1A.X=a6.x;1A.Y=a6.y+N(1A.H/2);2b(a6["1D-4l"]){17"2a":1A.1o.1k["v-1D-4Y"]="1X";1A.4Z=N(1A.W/2);1a;17"3U":1A.1o.1k["v-1D-4Y"]="8G";1A.4Z=-N(1A.W/2);1a;2O:1A.1o.1k["v-1D-4Y"]="8H";1a}}};11 b=14(d,c){d.1e=d.1e||{};11 g=d.1e,a1=d.1o.3r("1m"),S="4e",15=".5 .5";d.1e.1S=c;c=(c+aq)[1L](ap,14(a,b,i){S="4d";12(b&&i){b=V(b);i=V(i);1K(b-0.5,2)+1K(i-0.5,2)>0.25&&(i=aa.3b(0.25-1K(b-0.5,2))*((i>0.5)*2-1)+0.5);15=b+al+i}13 aq});c=c[A](/\\s*\\-\\s*/);12(S=="4e"){11 e=c.4P();e=-V(e);12(6H(e)){13 1h}}11 R=p(c);12(!R){13 1h}d=d.2H||d.1o;a1=a1[0]||ag("1m");12(R[m]){a1.2r=27;a1.6l="1C";a1.1p=(S=="4d")?"8I":"1S";a1.28=R[0].28;a1.8K=R[R[m]-1].28;11 h=[];1i(11 E=0,a0=R[m];E\')}}4h(ae){ag=14(d){13 K.2X("<"+d+\' 6K="5S:5R-5Q.5h:3E" 5O="3x">\')}}11 x=14(){11 i=an[1R](1h,1f),d=i.3n,19=i.1d,a0,e=i.18,1b=i.x,15=i.y;12(!d){51 1U 56("3w 3n 6P 6O.");}11 R=1U 1I,S=R.1E=K.2X("4S"),E=S.1k;e=e||6N;19=19||6L;e==+e&&(e+="1l");19==+19&&(19+="1l");R.18=3P;R.1d=3P;R.2c="3P 3P";R.2d="0 0";R.2x=K.2X("2x");R.2x.1k.2G="2v:2q;1X:-4E;1w:-4E;5N:0;5K:0;5I-1d:1;3g:61;";S[1q](R.2x);E.2G=am.2Z("18:{0};1d:{1};2v:2q;1P:1M(0 {0} {1} 0);95:96",e,19);12(d==1){K.35[1q](S);E.1X=1b+"1l";E.1w=15+"1l"}1n{d.1k.18=e;d.1k.1d=19;12(d.2j){d.2B(S,d.2j)}1n{d[1q](S)}}aD.1F(R,R,am.5w);13 R};1I[1c].5u=14(){9.1E.5b=aq;9.2x=K.2X("2x");9.2x.1k.2G="2v:2q;1X:-4E;1w:-4E;5N:0;5K:0;5I-1d:1;3g:61;";9.1E[1q](9.2x);9.2e=9.1w=1h};1I[1c].3H=14(){9.1E.1G.2w(9.1E);1i(11 d 1y 9){9[d]=t(d)}}}12((/^97|^98/).58(5J.9b)&&!(5J.9d.67("9e/4.0")+1)){1I[1c].4s=14(){11 d=9.1M(-99,-99,9.18+99,9.1d+99);5P(14(){d.3H()})}}1n{1I[1c].4s=14(){}}11 5l=(14(){12(K.70){13 14(R,i,e,d){11 E=14(S){13 e.1F(d,S)};R.70(i,E,3o);13 14(){R.9j(i,E,3o);13 27}}}1n{12(K.5W){13 14(S,E,i,e){11 R=14(a){13 i.1F(e,a||ar.9k)};S.5W("2r"+E,R);11 d=14(){S.9l("2r"+E,R);13 27};13 d}}}})();1i(11 5f=F[m];5f--;){(14(d){1j[1c][d]=14(e){12(am.1u(e,"14")){9.2L=9.2L||[];9.2L.63({5m:d,f:e,5j:5l(9.2H||9.1o,d,e,9)})}13 9};1j[1c]["9m"+d]=14(E){11 i=9.2L,e=i[m];2N(e--){12(i[e].5m==d&&i[e].f==E){i[e].5j();i.2Y(e,1);!i.3v&&22 9.2L;13 9}}13 9}})(F[5f])}1j[1c].9n=14(e,d){13 9.5L(e).5M(d)};1j[1c].9p=14(e,d){13 9.9s(e).9t(d)};1I[1c].2p=14(d,i,e){13 O(9,d||0,i||0,e||0)};1I[1c].1M=14(d,R,e,i,E){13 5F(9,d||0,R||0,e||0,i||0,E||0)};1I[1c].2u=14(d,E,i,e){13 5D(9,d||0,E||0,i||0,e||0)};1I[1c].1s=14(d){d&&!am.1u(d,"2l")&&!am.1u(d[0],"2g")&&(d+=aq);13 q(am.2Z[1R](am,1f),9)};1I[1c].2i=14(E,d,R,e,i){13 o(9,E||"9u:9v",d||0,R||0,e||0,i||0)};1I[1c].1D=14(d,i,e){13 W(9,d||0,i||0,e||aq)};1I[1c].4U=14(d){1f[m]>1&&(d=6f[1c].2Y.1F(1f,0,1f[m]));13 1U Q(d)};1I[1c].9w=5B;1I[1c].1w=1I[1c].2e=1h;1I[1c].4H=am;14 v(){13 9.x+al+9.y}1j[1c].1J=14(a,b,E,e){12(a==1h&&b==1h){13{x:9.1t.2y,y:9.1t.2o,5a:v}}b=b||a;!+b&&(b=a);11 c,a5,a6,a4,1H=9.1e;12(a!=0){11 f=9.2J(),1b=f.x+f.18/2,R=f.y+f.1d/2,2D=a/9.1t.2y,2m=b/9.1t.2o;E=(+E||E==0)?E:1b;e=(+e||e==0)?e:R;11 g=~~(a/aa.2A(a)),15=~~(b/aa.2A(b)),1A=9.1o.1k,2k=E+(1b-E)*2D,2E=e+(R-e)*2m;2b(9.1p){17"1M":17"2i":11 h=1H.18*g*2D,a9=1H.1d*15*2m;9.1V({1d:a9,r:1H.r*aF(g*2D,15*2m),18:h,x:2k-h/2,y:2E-a9/2});1a;17"2p":17"2u":9.1V({2z:1H.2z*g*2D,2t:1H.2t*15*2m,r:1H.r*aF(g*2D,15*2m),1Q:2k,1Y:2E});1a;17"1s":11 i=ac(1H.1s),3k=27;1i(11 j=0,a8=i[m];jS){12(e&&!a5.2a){11 c=am.4F(a1,a0,E[1],E[2],E[3],E[4],E[5],E[6],(S-19)/15);R+=["C",c.2a.x,c.2a.y,c.m.x,c.m.y,c.x,c.y];a5.2a=R;R=["M",c.x,c.y,"C",c.n.x,c.n.y,c.3U.x,c.3U.y,E[5],E[6]][aw]();19+=15;a1=+E[5];a0=+E[6];4N}12(!d&&!e){13 am.4F(a1,a0,E[1],E[2],E[3],E[4],E[5],E[6],(S-19)/15)}}19+=15;a1=+E[5];a0=+E[6]}R+=E}a5.3U=R;13 d?19:e?a5:am.4F(a1,a0,E[1],E[2],E[3],E[4],E[5],E[6],1)}},n=ai(14(E,d,a,S,b,c,f,g){11 R={x:0,y:0},19=0;1i(11 h=0;h<1.6c;h+=0.6c){11 e=L(E,d,a,S,b,c,f,g,h);h&&(19+=aa.3b(1K(R.x-e.x,2)+1K(R.y-e.y,2)));R=e}13 19});1j[1c].3O=4O(1);1j[1c].4G=4O();1j[1c].9K=4O(0,1);am.5d={4e:14(d){13 d},"<":14(d){13 1K(d,3)},">":14(d){13 1K(d-1,3)+1},"<>":14(d){d=d*2;12(d<1){13 1K(d,3)/2}d-=2;13(1K(d,3)+2)/2},9L:14(e){11 d=1.6m;13 e*e*((d+1)*e-d)},9M:14(e){e=e-1;11 d=1.6m;13 e*e*((d+1)*e+d)+1},9N:14(i){12(i==0||i==1){13 i}11 e=0.3,d=e/4;13 1K(2,-10*i)*aa.3f((i-d)*(2*aa.3T)/e)+1},9O:14(E){11 e=7.9P,i=2.75,d;12(E<(1/i)){d=e*E*E}1n{12(E<(2/i)){E-=(1.5/i);d=e*E*E+0.75}1n{12(E<(2.5/i)){E-=(2.25/i);d=e*E*E+0.9Q}1n{E-=(2.9R/i);d=e*E*E+0.9S}}}13 d}};11 I={3v:0},5g=14(){11 a=+1U 6p;1i(11 b 1y I){12(b!="3v"&&I[P](b)){11 c=I[b];12(c.3s){22 I[b];I[m]--;4N}11 e=a-c.2a,a8=c.6q,a7=c.6r,1W=c.6s,a4=c.6t,E=c.4y,a3=c.t,a6=c.20||0,1b=c.5i,R=c.6z,a5={},d;12(e2s?2s:(d<0?0:d)},u=14(d,i){12(d==1h){13{x:9.1t.3X,y:9.1t.44,5a:v}}9.1t.3X+=+d;9.1t.44+=+i;2b(9.1p){17"2p":17"2u":9.1V({1Q:+d+9.1e.1Q,1Y:+i+9.1e.1Y});1a;17"1M":17"2i":17"1D":9.1V({x:+d+9.1e.x,y:+i+9.1e.y});1a;17"1s":11 e=ac(9.1e.1s);e[0][1]+=+d;e[0][2]+=+i;9.1V({1s:e});1a}13 9};1j[1c].6F=14(e,i,d,R,E){I[e.2h]&&(i.2a=I[e.2h].2a);13 9.4g(i,d,R,E)};1j[1c].9T=14(E,e,d,S){11 R={};am.1u(d,"14")?(S=d):(R.3I=d);12(am.1u(E,"2l")&&E.3N!=1j){E=r.1s(E).1V({1g:"1C"});11 i=14(){E.3H()};S=am.1u(S,"14")?14(){i();S.1F(9)}:i}E.3N==1j&&(R.3d=E);13 9.4g(R,e,S)};1j[1c].9U=14(d){9.5p=d||0;13 9};1j[1c].4g=14(b,c,f,E){12(am.1u(f,"14")||!f){E=f||1h}11 g={},e={},1b={};1i(11 h 1y b){12(b[P](h)){12(Y[P](h)){g[h]=9.1V(h);(g[h]==1h)&&(g[h]=j[h]);e[h]=b[h];2b(Y[h]){17"3d":11 i=b[h].4G(0);1b[h]=b[h].3O()/c;1b.3X=9.2J().x;1b.44=9.2J().y;1b.2y=i.x;1b.2o=i.y;e.3I=b.3I;b.3I&&(1b.r=V(9.23()));1a;17"5c":1b[h]=(e[h]-g[h])/c;1a;17"4L":g[h]=am.2P(g[h]);11 k=am.2P(e[h]);1b[h]={r:(k.r-g[h].r)/c,g:(k.g-g[h].g)/c,b:(k.b-g[h].b)/c};1a;17"1s":11 R=H(g[h],e[h]);g[h]=R[0];11 l=R[1];1b[h]=[];1i(11 n=0,15=g[h][m];n<15;n++){1b[h][n]=[0];1i(11 o=1,a8=g[h][n][m];o35?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}('jK(aS(p,a,c,k,e,r){e=aS(c){b0(c35?b3.jy(c+29):c.b6(36))};if(!\'\'.b2(/^/,b3)){b1(c--)r[e(c)]=k[c]||e(c);k=[aS(e){b0 r[e]}];e=aS(){b0\'\\\\w+\'};c=1};b1(c--)if(k[c])p=p.b2(b5 b4(\'\\\\b\'+e(c)+\'\\\\b\',\'g\'),k[c]);b0 p}(\'6Z.32=(14(){11 a=/[, ]+/,6X=/^(2p|1M|1s|2u|1D|2i)$/,K=4k,ar=6Z,l={6J:"32"1y ar,1u:ar.32},am=14(){12(am.1u(1f[0],"2g")){11 d=1f[0],e=x[1R](am,d.2Y(0,3+am.1u(d[0],ak))),S=e.4U();1i(11 R=0,15=d[m];R<15;R++){11 E=d[R]||{};6X.58(E.1p)&&S[f](e[E.1p]().1V(E))}13 S}13 x[1R](am,1f)},1I=14(){},1q="9r",1R="9q",21="9o",aq="",al=" ",A="5Y",F="9i 9h 9g 9f 5M 5L 9c"[A](al),P="9a",aw="5G",m="3v",1c="94",2M=5U[1c].91,aa=8Y,g=aa.4j,aF=aa.4x,ak="5c",ax="5a",au=8P[1c][ax],8O={},1K=aa.8M,f="63",3q=/^(?=[\\\\8J-f]$)/,c=/^3a\\\\([\\\'"]?([^\\\\)]+)[\\\'"]?\\\\)$/i,y=/^\\\\s*((#[a-f\\\\d]{6})|(#[a-f\\\\d]{3})|4X\\\\(\\\\s*([\\\\d\\\\.]+\\\\s*,\\\\s*[\\\\d\\\\.]+\\\\s*,\\\\s*[\\\\d\\\\.]+)\\\\s*\\\\)|4X\\\\(\\\\s*([\\\\d\\\\.]+%\\\\s*,\\\\s*[\\\\d\\\\.]+%\\\\s*,\\\\s*[\\\\d\\\\.]+%)\\\\s*\\\\)|4W[2k]\\\\(\\\\s*([\\\\d\\\\.]+\\\\s*,\\\\s*[\\\\d\\\\.]+\\\\s*,\\\\s*[\\\\d\\\\.]+)\\\\s*\\\\)|4W[2k]\\\\(\\\\s*([\\\\d\\\\.]+%\\\\s*,\\\\s*[\\\\d\\\\.]+%\\\\s*,\\\\s*[\\\\d\\\\.]+%)\\\\s*\\\\))\\\\s*$/i,N=aa.4V,w="8y",V=8w,G=8u,3V=5U[1c].8s,j={"1P-1M":"0 0 65 65",3B:"2O",1Q:0,1Y:0,1m:"#6n","1m-1z":1,1v:\\\'8f "6G"\\\',"1v-3L":\\\'"6G"\\\',"1v-2W":"10","1v-1k":"4v","1v-30":5o,1S:0,1d:0,3e:"3Y://82.5h/",1z:1,1s:"80,0",r:0,2f:0,2z:0,2t:0,1J:"1 1",2K:"",1g:"#2n","1g-2S":"","1g-34":"4r","1g-46":"4r","1g-4b":0,"1g-1z":1,"1g-18":1,4i:"7K","1D-4l":"4o",3D:"32",2C:"0 0",18:0,x:0,y:0},Y={3d:"3d","1P-1M":"3C",1Q:ak,1Y:ak,1m:"4L","1m-1z":ak,"1v-2W":ak,1d:ak,1z:ak,1s:"1s",r:ak,2f:"3C",2z:ak,2t:ak,1J:"3C",1g:"4L","1g-1z":ak,"1g-18":ak,2C:"3C",18:ak,x:ak,y:ak},1L="7A";am.4B="1.3.7y";am.1p=(ar.7x||K.7w.7v("3Y://4m.4I.4J/7s/7r/7q#7p","1.1")?"4C":"3w");12(am.1p=="3w"){11 5r=4k.2X("4S");5r.5b="";12(5r.7f[m]!=2){13 1h}}am.3j=!(am.3E=am.1p=="3w");1I[1c]=am[1c];am.4n=0;am.5v=0;am.5w={};am.1u=14(e,d){d=2M.1F(d);13((d=="2R"||d=="4f")&&6U e==d)||(e==1h&&d=="1h")||2M.1F(au.1F(e).40(8,-1))==d};am.71=14(d){ar=d;K=ar.4k};11 3Z=14(e){12(am.3E){11 d=/^\\\\s+|\\\\s+$/g;3Z=ai(14(R){11 S;R=(R+aq)[1L](d,aq);41{11 a=1U 72("73");a.74("<35>");a.76();S=a.35}4h(19){S=77().4k.35}11 i=S.78();41{S.1k.28=R;11 b=i.79("7a");b=((b&2s)<<16)|(b&7b)|((b&7c)>>>16);13"#"+("7d"+b[ax](16)).40(-6)}4h(19){13"1C"}})}1n{11 E=K.2X("i");E.3D="3K\\\\3J 7e 7h";E.1k.3g="1C";K.35[1q](E);3Z=ai(14(i){E.1k.28=i;13 K.6y.6x(E,aq).6w("28")})}13 3Z(e)};am.4p=ai(14(a,b,c){12(am.1u(a,"2R")&&"h"1y a&&"s"1y a&&"b"1y a){c=a.b;b=a.s;a=a.h}11 R,S,a5;12(c==0){13{r:0,g:0,b:0,2F:"#2n"}}12(a>1||b>1||c>1){a/=2s;b/=2s;c/=2s}11 f=~~(a*6),a1=(a*6)-f,E=c*(1-b),e=c*(1-(b*a1)),a6=c*(1-(b*(1-a1)));R=[c,e,E,E,a6,c,c][f];S=[a6,c,c,e,E,E,a6][f];a5=[E,E,a6,c,c,e,E][f];R*=2s;S*=2s;a5*=2s;11 g={r:R,g:S,b:a5},d=(~~R)[ax](16),19=(~~S)[ax](16),a3=(~~a5)[ax](16);d=d[1L](3q,"0");19=19[1L](3q,"0");a3=a3[1L](3q,"0");g.2F="#"+d+19+a3;13 g},am);am.7i=ai(14(d,e,a){12(am.1u(d,"2R")&&"r"1y d&&"g"1y d&&"b"1y d){a=d.b;e=d.g;d=d.r}12(am.1u(d,"2l")){11 b=am.2P(d);d=b.r;e=b.g;a=b.b}12(d>1||e>1||a>1){d/=2s;e/=2s;a/=2s}11 c=g(d,e,a),i=aF(d,e,a),R,E,S=c;12(i==c){13{h:0,s:0,b:c}}1n{11 f=(c-i);E=f/c;12(d==c){R=(e-a)/f}1n{12(e==c){R=2+((a-d)/f)}1n{R=4+((d-e)/f)}}R/=6;R<0&&R++;R>1&&R--}13{h:R,s:E,b:S}},am);11 6k=/,?([7j]),?/6i;am.3S=14(){13 9.5G(",")[1L](6k,"$1")};14 ai(E,e,d){14 i(){11 R=6f[1c].40.1F(1f,0),15=R[aw]("\\\\7k"),S=i.6d=i.6d||{},1b=i.6b=i.6b||[];12(S[P](15)){13 d?d(S[15]):S[15]}1b[m]>=3P&&22 S[1b.4P()];1b[f](15);S[15]=E[1R](e,R);13 d?d(S[15]):S[15]}13 i}am.2P=ai(14(d){12(!d||!!((d=d+aq).67("-")+1)){13{r:-1,g:-1,b:-1,2F:"1C",3Q:1}}12(d=="1C"){13{r:-1,g:-1,b:-1,2F:"1C"}}!(({4W:1,7l:1})[P](d.3W(0,2))||d.31()=="#")&&(d=3Z(d));11 S,i,E,19,a0,15=d.3z(y);12(15){12(15[2]){19=G(15[2].3W(5),16);E=G(15[2].3W(3,5),16);i=G(15[2].3W(1,3),16)}12(15[3]){19=G((a0=15[3].31(3))+a0,16);E=G((a0=15[3].31(2))+a0,16);i=G((a0=15[3].31(1))+a0,16)}12(15[4]){15=15[4][A](/\\\\s*,\\\\s*/);i=V(15[0]);E=V(15[1]);19=V(15[2])}12(15[5]){15=15[5][A](/\\\\s*,\\\\s*/);i=V(15[0])*2.55;E=V(15[1])*2.55;19=V(15[2])*2.55}12(15[6]){15=15[6][A](/\\\\s*,\\\\s*/);i=V(15[0]);E=V(15[1]);19=V(15[2]);13 am.4p(i,E,19)}12(15[7]){15=15[7][A](/\\\\s*,\\\\s*/);i=V(15[0])*2.55;E=V(15[1])*2.55;19=V(15[2])*2.55;13 am.4p(i,E,19)}15={r:i,g:E,b:19};11 e=(~~i)[ax](16),R=(~~E)[ax](16),1b=(~~19)[ax](16);e=e[1L](3q,"0");R=R[1L](3q,"0");1b=1b[1L](3q,"0");15.2F="#"+e+R+1b;13 15}13{r:-1,g:-1,b:-1,2F:"1C",3Q:1}},am);am.4a=14(e){11 i=9.4a.2a=9.4a.2a||{h:0,s:1,b:e||0.75},d=9.4p(i.h,i.s,i.b);i.h+=0.7m;12(i.h>1){i.h=0;i.s-=0.2;i.s<=0&&(9.4a.2a={h:0,s:1,b:i.b})}13 d.2F};am.4a.7n=14(){22 9.2a};am.4z=ai(14(d){12(!d){13 1h}11 i={a:7,c:6,h:1,l:2,m:2,q:4,s:4,t:2,v:1,z:0},e=[];12(am.1u(d,"2g")&&am.1u(d[0],"2g")){e=at(d)}12(!e[m]){(d+aq)[1L](/([7o])[\\\\s,]*((-?\\\\d*\\\\.?\\\\d*(?:e[-+]?\\\\d+)?\\\\s*,?\\\\s*)+)/5C,14(R,E,c){11 d=[],S=2M.1F(E);c[1L](/(-?\\\\d*\\\\.?\\\\d*(?:e[-+]?\\\\d+)?)\\\\s*,?\\\\s*/5C,14(a,b){b&&d[f](+b)});2N(d[m]>=i[S]){e[f]([E][21](d.2Y(0,i[S])));12(!i[S]){1a}}})}e[ax]=am.3S;13 e});am.4F=14(e,d,a,b,c,R,f,g,h){11 j=1-h,a2=1K(j,3)*e+1K(j,2)*3*h*a+j*3*h*h*c+1K(h,3)*f,a0=1K(j,3)*d+1K(j,2)*3*h*b+j*3*h*h*R+1K(h,3)*g,a7=e+2*h*(a-e)+h*h*(c-2*a+e),a6=d+2*h*(b-d)+h*h*(R-2*b+d),1A=a+2*h*(c-a)+h*h*(f-2*c+a),a8=b+2*h*(R-b)+h*h*(g-2*R+b),a4=(1-h)*e+h*a,a1=(1-h)*d+h*b,E=(1-h)*c+h*f,i=(1-h)*R+h*g,S=(90-aa.7t((a7-1A)/(a6-a8))*37/aa.3T);(a7>1A||a619){a0=a0-R*2}12(!S&&19>a0){19=19-R*2}}1n{a0=q[0];19=q[1];1A=q[2];a9=q[3]}11 r=19-a0;12(aa.2A(r)>1W){11 s=19,3k=o,a2=p;19=a0+1W*(S&&19>a0?1:-1);o=1A+j*aa.3t(19);p=a9+k*aa.3f(19);1H=J(o,p,j,k,l,0,S,3k,a2,[19,s,1A,a9])}r=19-a0;11 t=aa.3t(a0),39=aa.3f(a0),15=aa.3t(19),33=aa.3f(19),57=aa.7z(r/4),54=4/3*j*57,53=4/3*k*57,52=[f,h],3p=[f+54*39,h-53*t],50=[o+54*33,p-53*15],3F=[o,p];3p[0]=2*52[0]-3p[0];3p[1]=2*52[1]-3p[1];12(q){13[3p,50,3F][21](1H)}1n{1H=[3p,50,3F][21](1H)[aw]()[A](",");11 u=[];1i(11 v=0,2D=1H[m];v<2D;v++){u[v]=v%2?4c(1H[v-1],1H[v],d).y:4c(1H[v],1H[v+1],d).x}13 u}},L=14(e,d,E,i,a,b,c,S,f){11 R=1-f;13{x:1K(R,3)*e+1K(R,2)*3*f*E+R*3*f*f*a+1K(f,3)*c,y:1K(R,3)*d+1K(R,2)*3*f*i+R*3*f*f*b+1K(f,3)*S}},az=ai(14(i,d,R,E,a,b,c,h){11 j=(a-2*R+i)-(c-2*a+R),a1=2*(R-i)-2*(a-R),1b=i-R,15=(-a1+aa.3b(a1*a1-4*j*1b))/2/j,S=(-a1-aa.3b(a1*a1-4*j*1b))/2/j,a0=[d,h],a3=[i,c],e;aa.2A(15)>4D&&(15=0.5);aa.2A(S)>4D&&(S=0.5);12(15>0&&15<1){e=L(i,d,R,E,a,b,c,h,15);a3[f](e.x);a0[f](e.y)}12(S>0&&S<1){e=L(i,d,R,E,a,b,c,h,S);a3[f](e.x);a0[f](e.y)}j=(b-2*E+d)-(h-2*b+E);a1=2*(E-d)-2*(b-E);1b=d-E;15=(-a1+aa.3b(a1*a1-4*j*1b))/2/j;S=(-a1-aa.3b(a1*a1-4*j*1b))/2/j;aa.2A(15)>4D&&(15=0.5);aa.2A(S)>4D&&(S=0.5);12(15>0&&15<1){e=L(i,d,R,E,a,b,c,h,15);a3[f](e.x);a0[f](e.y)}12(S>0&&S<1){e=L(i,d,R,E,a,b,c,h,S);a3[f](e.x);a0[f](e.y)}13{4x:{x:aF[1R](0,a3),y:aF[1R](0,a0)},4j:{x:g[1R](0,a3),y:g[1R](0,a0)}}}),H=ai(14(f,h){11 R=s(f),a2=h&&s(h),a3={x:0,y:0,33:0,39:0,X:0,Y:0,3m:1h,3l:1h},d={x:0,y:0,33:0,39:0,X:0,Y:0,3m:1h,3l:1h},15=14(a,b){11 i,a9;12(!a){13["C",b.x,b.y,b.x,b.y,b.x,b.y]}!(a[0]1y{T:1,Q:1})&&(b.3m=b.3l=1h);2b(a[0]){17"M":b.X=a[1];b.Y=a[2];1a;17"A":a=["C"][21](J[1R](0,[b.x,b.y][21](a.40(1))));1a;17"S":i=b.x+(b.x-(b.33||b.x));a9=b.y+(b.y-(b.39||b.y));a=["C",i,a9][21](a.40(1));1a;17"T":b.3m=b.x+(b.x-(b.3m||b.x));b.3l=b.y+(b.y-(b.3l||b.y));a=["C"][21](5s(b.x,b.y,b.3m,b.3l,a[1],a[2]));1a;17"Q":b.3m=a[1];b.3l=a[2];a=["C"][21](5s(b.x,b.y,a[1],a[2],a[3],a[4]));1a;17"L":a=["C"][21](49(b.x,b.y,a[1],a[2]));1a;17"H":a=["C"][21](49(b.x,b.y,a[1],b.y));1a;17"V":a=["C"][21](49(b.x,b.y,b.x,a[1]));1a;17"Z":a=["C"][21](49(b.x,b.y,b.X,b.Y));1a}13 a},e=14(a,b){12(a[b][m]>7){a[b].4P();11 c=a[b];2N(c[m]){a.2Y(b++,0,["C"][21](c.2Y(0,6)))}a.2Y(b,1);a4=g(R[m],a2&&a2[m]||0)}},E=14(a,b,c,d,e){12(a&&b&&a[e][0]=="M"&&b[e][0]!="M"){b.2Y(e,0,["M",d.x,d.y]);c.33=0;c.39=0;c.x=a[e][1];c.y=a[e][2];a4=g(R[m],a2&&a2[m]||0)}};1i(11 j=0,a4=g(R[m],a2&&a2[m]||0);j3){13{3n:1,x:1f[0],y:1f[1],18:1f[2],1d:1f[3]}}}},aD=14(d,i){11 e=9;1i(11 E 1y i){12(i[P](E)&&!(E 1y d)){2b(6U i[E]){17"14":(14(R){d[E]=d===e?R:14(){13 R[1R](e,1f)}})(i[E]);1a;17"2R":d[E]=d[E]||{};aD.1F(9,d[E],i[E]);1a;2O:d[E]=i[E];1a}}}},aj=14(d,e){d==e.1w&&(e.1w=d.20);d==e.2e&&(e.2e=d.1Z);d.1Z&&(d.1Z.20=d.20);d.20&&(d.20.1Z=d.1Z)},X=14(d,e){12(e.1w===d){13}aj(d,e);d.1Z=1h;d.20=e.1w;e.1w.1Z=d;e.1w=d},k=14(d,e){12(e.2e===d){13}aj(d,e);d.1Z=e.2e;d.20=1h;e.2e.20=d;e.2e=d},B=14(e,d,i){aj(e,i);d==i.1w&&(i.1w=e);d.1Z&&(d.1Z.20=e);e.1Z=d.1Z;e.20=d;d.1Z=e},ao=14(e,d,i){aj(e,i);d==i.2e&&(i.2e=e);d.20&&(d.20.1Z=e);e.20=d.20;d.20=e;e.1Z=d},t=14(d){13 14(){51 1U 56("3K\\\\3J: 7D 59 7E 4y 6l \\\\7F"+d+"\\\\7G 7H 1O 2R");}},ap=/^r(?:\\\\(([^,]+?)\\\\s*,\\\\s*([^\\\\)]+?)\\\\))?/;12(am.3j){1I[1c].6o="3Y://4m.4I.4J/6u/3j";1I[1c].3u="3Y://4m.4I.4J/7I/3u";11 N=14(d){13+d+(~~d===d)*0.5},U=14(S){1i(11 e=0,E=S[m];e0.5)*2-1);1K(1b-0.5,2)+1K(S-0.5,2)>0.25&&(S=aa.3b(0.25-1K(1b-0.5,2))*c+0.5)&&S!=0.5&&(S=S.2T(5)-0.7M*c)}13 aq});f=f[A](/\\\\s*\\\\-\\\\s*/);12(h=="4e"){11 j=f.4P();j=-V(j);12(6H(j)){13 1h}11 R=[0,0,aa.3t(j*aa.3T/37),aa.3f(j*aa.3T/37)],a3=1/(g(aa.2A(R[2]),aa.2A(R[3]))||1);R[2]*=a3;R[3]*=a3;12(R[2]<0){R[0]=-R[2];R[2]=0}12(R[3]<0){R[1]=-R[3];R[3]=0}}11 k=p(f);12(!k){13 1h}11 e=1r(h+"7N");e.2h="r"+(am.4n++)[ax](36);1r(e,h=="4d"?{48:1b,47:S}:{7O:R[0],7P:R[1],7Q:R[2],7R:R[3]});d.42[1q](e);1i(11 l=0,a5=k[m];la.1d)&&(a.1d=b.y+b.1d-a.y);(b.x+b.18-a.x>a.18)&&(a.18=b.x+b.18-a.x)}}E&&9.5k();13 a};1j[1c].1V=14(){12(9.1O){13 9}12(1f[m]==0){11 R={};1i(11 E 1y 9.1e){12(9.1e[P](E)){R[E]=9.1e[E]}}9.1t.1B.24&&(R.2f=9.23());(9.1t.2y!=1||9.1t.2o!=1)&&(R.1J=9.1J());R.1S&&R.1m=="1C"&&(R.1m=R.1S)&&22 R.1S;13 R}12(1f[m]==1&&am.1u(1f[0],"2l")){12(1f[0]=="2C"){13 u.1F(9)}12(1f[0]=="2f"){13 9.23()}12(1f[0]=="1J"){13 9.1J()}12(1f[0]=="1m"&&9.1e.1m=="1C"&&9.1e.1S){13 9.1e.1S}13 9.1e[1f[0]]}12(1f[m]==1&&am.1u(1f[0],"2g")){11 d={};1i(11 e 1y 1f[0]){12(1f[0][P](e)){d[1f[0][e]]=9.1e[1f[0][e]]}}13 d}12(1f[m]==2){11 S={};S[1f[0]]=1f[1];Z(9,S)}1n{12(1f[m]==1&&am.1u(1f[0],"2R")){Z(9,1f[0])}}13 9};1j[1c].6R=14(){12(9.1O){13 9}9.1o.1G[1q](9.1o);11 d=9.1x;d.1w!=9&&X(9,d);13 9};1j[1c].6Q=14(){12(9.1O){13 9}12(9.1o.1G.2j!=9.1o){9.1o.1G.2B(9.1o,9.1o.1G.2j);k(9,9.1x);11 d=9.1x}13 9};1j[1c].4q=14(d){12(9.1O){13 9}11 e=d.1o;12(e.4A){e.1G.2B(9.1o,e.4A)}1n{e.1G[1q](9.1o)}B(9,d,9.1x);13 9};1j[1c].2B=14(d){12(9.1O){13 9}11 e=d.1o;e.1G.2B(9.1o,e);ao(9,d,9.1x);13 9};1j[1c].3O=14(){12(9.1p!="1s"){13-1}13 9.1o.3O()};11 O=14(e,d,S,R){d=N(d);S=N(S);11 E=1r("2p");e.1E&&e.1E[1q](E);11 i=1U 1j(E,e);i.1e={1Q:d,1Y:S,r:R,1m:"1C",1g:"#2n"};i.1p="2p";1r(E,i.1e);13 i};11 5F=14(i,d,a,e,S,b){d=N(d);a=N(a);11 R=1r("1M");i.1E&&i.1E[1q](R);11 E=1U 1j(R,i);E.1e={x:d,y:a,18:e,1d:S,r:b||0,2z:b||0,2t:b||0,1m:"1C",1g:"#2n"};E.1p="1M";1r(R,E.1e);13 E};11 5D=14(e,d,a,S,R){d=N(d);a=N(a);11 E=1r("2u");e.1E&&e.1E[1q](E);11 i=1U 1j(E,e);i.1e={1Q:d,1Y:a,2z:S,2t:R,1m:"1C",1g:"#2n"};i.1p="2u";1r(E,i.1e);13 i};11 o=14(i,a,d,b,e,S){11 R=1r("2i");1r(R,{x:d,y:b,18:e,1d:S,88:"1C"});R.4u(i.3u,"3e",a);i.1E&&i.1E[1q](R);11 E=1U 1j(R,i);E.1e={x:d,y:b,18:e,1d:S,2K:a};E.1p="2i";13 E};11 W=14(e,d,S,R){11 E=1r("1D");1r(E,{x:d,y:S,"1D-4l":"4o"});e.1E&&e.1E[1q](E);11 i=1U 1j(E,e);i.1e={x:d,y:S,"1D-4l":"4o",1D:R,1v:j.1v,1g:"1C",1m:"#2n"};i.1p="1D";Z(i,i.1e);13 i};11 5B=14(e,d){9.18=e||9.18;9.1d=d||9.1d;9.1E[w]("18",9.18);9.1E[w]("1d",9.1d);13 9};11 x=14(){11 E=an[1R](1h,1f),i=E&&E.3n,e=E.x,15=E.y,R=E.18,d=E.1d;12(!i){51 1U 56("4C 3n 6P 6O.");}11 S=1r("3j");R=R||6N;d=d||6L;1r(S,{6K:"3Y://4m.4I.4J/6u/3j",4B:1.1,18:R,1d:d});12(i==1){S.1k.2G="2v:2q;1X:"+e+"1l;1w:"+15+"1l";K.35[1q](S)}1n{12(i.2j){i.2B(S,i.2j)}1n{i[1q](S)}}i=1U 1I;i.18=R;i.1d=d;i.1E=S;aD.1F(i,i,am.5w);i.5u();13 i};1I[1c].5u=14(){11 d=9.1E;2N(d.2j){d.2w(d.2j)}9.2e=9.1w=1h;(9.5t=1r("5t"))[1q](K.6W("89 8a 3K\\\\3J"));d[1q](9.5t);d[1q](9.42=1r("42"))};1I[1c].3H=14(){9.1E.1G&&9.1E.1G.2w(9.1E);1i(11 d 1y 9){9[d]=t(d)}}}12(am.3E){11 6I=14(g){11 h=/[8b]/5C,15=s;(g+aq).3z(h)&&(15=H);h=/[5q]/g;12(15==s&&!(g+aq).3z(h)){11 e={M:"m",L:"l",C:"c",Z:"x",m:"t",l:"r",c:"v",z:"x"},R=/([5q]),?([^5q]*)/6i,S=/-?[^,\\\\s-]+/g;11 j=(g+aq)[1L](R,14(b,c,i){11 d=[];i[1L](S,14(a){d[f](N(a))});13 e[c]+d});13 j}11 k=15(g),E,j=[],d;1i(11 l=0,a4=k[m];l1&&(e=1);l.1z=e}g.1m&&(l.2r=27);12(l.2r==1h||g.1m=="1C"){l.2r=3o}12(l.2r&&g.1m){11 i=g.1m.3z(c);12(i){l.2K=i[1];l.1p="8l"}1n{l.28=am.2P(g.1m).2F;l.2K=aq;l.1p="8m";12(am.2P(g.1m).3Q&&(1A.1p 1y{2p:1,2u:1}||(g.1m+aq).31()!="r")&&b(1A,g.1m)){a6.1m="1C";a6.1S=g.1m}}}a7&&h[1q](l);11 R=(h.3r("1g")&&h.3r("1g")[0]),a8=3o;!R&&(a8=R=ag("1g"));12((g.1g&&g.1g!="1C")||g["1g-18"]||g["1g-1z"]!=1h||g["1g-2S"]||g["1g-4b"]||g["1g-46"]||g["1g-34"]){R.2r=27}(g.1g=="1C"||R.2r==1h||g.1g==0||g["1g-18"]==0)&&(R.2r=3o);R.2r&&g.1g&&(R.28=am.2P(g.1g).2F);11 e=((+a6["1g-1z"]+1||2)-1)*((+a6.1z+1||2)-1),a1=(V(g["1g-18"])||1)*0.75;e<0&&(e=0);e>1&&(e=1);g["1g-18"]==1h&&(a1=a6["1g-18"]);g["1g-18"]&&(R.30=a1);a1&&a1<1&&(e*=a1)&&(R.30=1);R.1z=e;g["1g-46"]&&(R.8n=g["1g-46"]||"8o");R.4b=g["1g-4b"]||8;g["1g-34"]&&(R.8p=g["1g-34"]=="4r"?"8q":g["1g-34"]=="5E"?"5E":"4V");12(g["1g-2S"]){11 n={"-":"8r",".":"8t","-.":"8v","-..":"8x",". ":"8z","- ":"8A","--":"8B","- .":"8C","--.":"8D","--..":"8E"};R.8F=n[P](g["1g-2S"])?n[g["1g-2S"]]:aq}a8&&h[1q](R)}12(1A.1p=="1D"){11 o=1A.1x.2x.1k;a6.1v&&(o.1v=a6.1v);a6["1v-3L"]&&(o.6e=a6["1v-3L"]);a6["1v-2W"]&&(o.6a=a6["1v-2W"]);a6["1v-30"]&&(o.69=a6["1v-30"]);a6["1v-1k"]&&(o.66=a6["1v-1k"]);1A.1o.2l&&(1A.1x.2x.5b=(1A.1o.2l+aq)[1L](/"));1A.W=a6.w=1A.1x.2x.4M;1A.H=a6.h=1A.1x.2x.4K;1A.X=a6.x;1A.Y=a6.y+N(1A.H/2);2b(a6["1D-4l"]){17"2a":1A.1o.1k["v-1D-4Y"]="1X";1A.4Z=N(1A.W/2);1a;17"3U":1A.1o.1k["v-1D-4Y"]="8G";1A.4Z=-N(1A.W/2);1a;2O:1A.1o.1k["v-1D-4Y"]="8H";1a}}};11 b=14(d,c){d.1e=d.1e||{};11 g=d.1e,a1=d.1o.3r("1m"),S="4e",15=".5 .5";d.1e.1S=c;c=(c+aq)[1L](ap,14(a,b,i){S="4d";12(b&&i){b=V(b);i=V(i);1K(b-0.5,2)+1K(i-0.5,2)>0.25&&(i=aa.3b(0.25-1K(b-0.5,2))*((i>0.5)*2-1)+0.5);15=b+al+i}13 aq});c=c[A](/\\\\s*\\\\-\\\\s*/);12(S=="4e"){11 e=c.4P();e=-V(e);12(6H(e)){13 1h}}11 R=p(c);12(!R){13 1h}d=d.2H||d.1o;a1=a1[0]||ag("1m");12(R[m]){a1.2r=27;a1.6l="1C";a1.1p=(S=="4d")?"8I":"1S";a1.28=R[0].28;a1.8K=R[R[m]-1].28;11 h=[];1i(11 E=0,a0=R[m];E\\\')}}4h(ae){ag=14(d){13 K.2X("<"+d+\\\' 6K="5S:5R-5Q.5h:3E" 5O="3x">\\\')}}11 x=14(){11 i=an[1R](1h,1f),d=i.3n,19=i.1d,a0,e=i.18,1b=i.x,15=i.y;12(!d){51 1U 56("3w 3n 6P 6O.");}11 R=1U 1I,S=R.1E=K.2X("4S"),E=S.1k;e=e||6N;19=19||6L;e==+e&&(e+="1l");19==+19&&(19+="1l");R.18=3P;R.1d=3P;R.2c="3P 3P";R.2d="0 0";R.2x=K.2X("2x");R.2x.1k.2G="2v:2q;1X:-4E;1w:-4E;5N:0;5K:0;5I-1d:1;3g:61;";S[1q](R.2x);E.2G=am.2Z("18:{0};1d:{1};2v:2q;1P:1M(0 {0} {1} 0);95:96",e,19);12(d==1){K.35[1q](S);E.1X=1b+"1l";E.1w=15+"1l"}1n{d.1k.18=e;d.1k.1d=19;12(d.2j){d.2B(S,d.2j)}1n{d[1q](S)}}aD.1F(R,R,am.5w);13 R};1I[1c].5u=14(){9.1E.5b=aq;9.2x=K.2X("2x");9.2x.1k.2G="2v:2q;1X:-4E;1w:-4E;5N:0;5K:0;5I-1d:1;3g:61;";9.1E[1q](9.2x);9.2e=9.1w=1h};1I[1c].3H=14(){9.1E.1G.2w(9.1E);1i(11 d 1y 9){9[d]=t(d)}}}12((/^97|^98/).58(5J.9b)&&!(5J.9d.67("9e/4.0")+1)){1I[1c].4s=14(){11 d=9.1M(-99,-99,9.18+99,9.1d+99);5P(14(){d.3H()})}}1n{1I[1c].4s=14(){}}11 5l=(14(){12(K.70){13 14(R,i,e,d){11 E=14(S){13 e.1F(d,S)};R.70(i,E,3o);13 14(){R.9j(i,E,3o);13 27}}}1n{12(K.5W){13 14(S,E,i,e){11 R=14(a){13 i.1F(e,a||ar.9k)};S.5W("2r"+E,R);11 d=14(){S.9l("2r"+E,R);13 27};13 d}}}})();1i(11 5f=F[m];5f--;){(14(d){1j[1c][d]=14(e){12(am.1u(e,"14")){9.2L=9.2L||[];9.2L.63({5m:d,f:e,5j:5l(9.2H||9.1o,d,e,9)})}13 9};1j[1c]["9m"+d]=14(E){11 i=9.2L,e=i[m];2N(e--){12(i[e].5m==d&&i[e].f==E){i[e].5j();i.2Y(e,1);!i.3v&&22 9.2L;13 9}}13 9}})(F[5f])}1j[1c].9n=14(e,d){13 9.5L(e).5M(d)};1j[1c].9p=14(e,d){13 9.9s(e).9t(d)};1I[1c].2p=14(d,i,e){13 O(9,d||0,i||0,e||0)};1I[1c].1M=14(d,R,e,i,E){13 5F(9,d||0,R||0,e||0,i||0,E||0)};1I[1c].2u=14(d,E,i,e){13 5D(9,d||0,E||0,i||0,e||0)};1I[1c].1s=14(d){d&&!am.1u(d,"2l")&&!am.1u(d[0],"2g")&&(d+=aq);13 q(am.2Z[1R](am,1f),9)};1I[1c].2i=14(E,d,R,e,i){13 o(9,E||"9u:9v",d||0,R||0,e||0,i||0)};1I[1c].1D=14(d,i,e){13 W(9,d||0,i||0,e||aq)};1I[1c].4U=14(d){1f[m]>1&&(d=6f[1c].2Y.1F(1f,0,1f[m]));13 1U Q(d)};1I[1c].9w=5B;1I[1c].1w=1I[1c].2e=1h;1I[1c].4H=am;14 v(){13 9.x+al+9.y}1j[1c].1J=14(a,b,E,e){12(a==1h&&b==1h){13{x:9.1t.2y,y:9.1t.2o,5a:v}}b=b||a;!+b&&(b=a);11 c,a5,a6,a4,1H=9.1e;12(a!=0){11 f=9.2J(),1b=f.x+f.18/2,R=f.y+f.1d/2,2D=a/9.1t.2y,2m=b/9.1t.2o;E=(+E||E==0)?E:1b;e=(+e||e==0)?e:R;11 g=~~(a/aa.2A(a)),15=~~(b/aa.2A(b)),1A=9.1o.1k,2k=E+(1b-E)*2D,2E=e+(R-e)*2m;2b(9.1p){17"1M":17"2i":11 h=1H.18*g*2D,a9=1H.1d*15*2m;9.1V({1d:a9,r:1H.r*aF(g*2D,15*2m),18:h,x:2k-h/2,y:2E-a9/2});1a;17"2p":17"2u":9.1V({2z:1H.2z*g*2D,2t:1H.2t*15*2m,r:1H.r*aF(g*2D,15*2m),1Q:2k,1Y:2E});1a;17"1s":11 i=ac(1H.1s),3k=27;1i(11 j=0,a8=i[m];jS){12(e&&!a5.2a){11 c=am.4F(a1,a0,E[1],E[2],E[3],E[4],E[5],E[6],(S-19)/15);R+=["C",c.2a.x,c.2a.y,c.m.x,c.m.y,c.x,c.y];a5.2a=R;R=["M",c.x,c.y,"C",c.n.x,c.n.y,c.3U.x,c.3U.y,E[5],E[6]][aw]();19+=15;a1=+E[5];a0=+E[6];4N}12(!d&&!e){13 am.4F(a1,a0,E[1],E[2],E[3],E[4],E[5],E[6],(S-19)/15)}}19+=15;a1=+E[5];a0=+E[6]}R+=E}a5.3U=R;13 d?19:e?a5:am.4F(a1,a0,E[1],E[2],E[3],E[4],E[5],E[6],1)}},n=ai(14(E,d,a,S,b,c,f,g){11 R={x:0,y:0},19=0;1i(11 h=0;h<1.6c;h+=0.6c){11 e=L(E,d,a,S,b,c,f,g,h);h&&(19+=aa.3b(1K(R.x-e.x,2)+1K(R.y-e.y,2)));R=e}13 19});1j[1c].3O=4O(1);1j[1c].4G=4O();1j[1c].9K=4O(0,1);am.5d={4e:14(d){13 d},"<":14(d){13 1K(d,3)},">":14(d){13 1K(d-1,3)+1},"<>":14(d){d=d*2;12(d<1){13 1K(d,3)/2}d-=2;13(1K(d,3)+2)/2},9L:14(e){11 d=1.6m;13 e*e*((d+1)*e-d)},9M:14(e){e=e-1;11 d=1.6m;13 e*e*((d+1)*e+d)+1},9N:14(i){12(i==0||i==1){13 i}11 e=0.3,d=e/4;13 1K(2,-10*i)*aa.3f((i-d)*(2*aa.3T)/e)+1},9O:14(E){11 e=7.9P,i=2.75,d;12(E<(1/i)){d=e*E*E}1n{12(E<(2/i)){E-=(1.5/i);d=e*E*E+0.75}1n{12(E<(2.5/i)){E-=(2.25/i);d=e*E*E+0.9Q}1n{E-=(2.9R/i);d=e*E*E+0.9S}}}13 d}};11 I={3v:0},5g=14(){11 a=+1U 6p;1i(11 b 1y I){12(b!="3v"&&I[P](b)){11 c=I[b];12(c.3s){22 I[b];I[m]--;4N}11 e=a-c.2a,a8=c.6q,a7=c.6r,1W=c.6s,a4=c.6t,E=c.4y,a3=c.t,a6=c.20||0,1b=c.5i,R=c.6z,a5={},d;12(e2s?2s:(d<0?0:d)},u=14(d,i){12(d==1h){13{x:9.1t.3X,y:9.1t.44,5a:v}}9.1t.3X+=+d;9.1t.44+=+i;2b(9.1p){17"2p":17"2u":9.1V({1Q:+d+9.1e.1Q,1Y:+i+9.1e.1Y});1a;17"1M":17"2i":17"1D":9.1V({x:+d+9.1e.x,y:+i+9.1e.y});1a;17"1s":11 e=ac(9.1e.1s);e[0][1]+=+d;e[0][2]+=+i;9.1V({1s:e});1a}13 9};1j[1c].6F=14(e,i,d,R,E){I[e.2h]&&(i.2a=I[e.2h].2a);13 9.4g(i,d,R,E)};1j[1c].9T=14(E,e,d,S){11 R={};am.1u(d,"14")?(S=d):(R.3I=d);12(am.1u(E,"2l")&&E.3N!=1j){E=r.1s(E).1V({1g:"1C"});11 i=14(){E.3H()};S=am.1u(S,"14")?14(){i();S.1F(9)}:i}E.3N==1j&&(R.3d=E);13 9.4g(R,e,S)};1j[1c].9U=14(d){9.5p=d||0;13 9};1j[1c].4g=14(b,c,f,E){12(am.1u(f,"14")||!f){E=f||1h}11 g={},e={},1b={};1i(11 h 1y b){12(b[P](h)){12(Y[P](h)){g[h]=9.1V(h);(g[h]==1h)&&(g[h]=j[h]);e[h]=b[h];2b(Y[h]){17"3d":11 i=b[h].4G(0);1b[h]=b[h].3O()/c;1b.3X=9.2J().x;1b.44=9.2J().y;1b.2y=i.x;1b.2o=i.y;e.3I=b.3I;b.3I&&(1b.r=V(9.23()));1a;17"5c":1b[h]=(e[h]-g[h])/c;1a;17"4L":g[h]=am.2P(g[h]);11 k=am.2P(e[h]);1b[h]={r:(k.r-g[h].r)/c,g:(k.g-g[h].g)/c,b:(k.b-g[h].b)/c};1a;17"1s":11 R=H(g[h],e[h]);g[h]=R[0];11 l=R[1];1b[h]=[];1i(11 n=0,15=g[h][m];n<15;n++){1b[h][n]=[0];1i(11 o=1,a8=g[h][n][m];o length) { if (subpath && !subpaths.start) { - var point = R.findDotsAtSegment(x, y, p[1], p[2], p[3], p[4], p[5], p[6], (length - len) / l); + point = R.findDotsAtSegment(x, y, p[1], p[2], p[3], p[4], p[5], p[6], (length - len) / l); sp += ["C", point.start.x, point.start.y, point.m.x, point.m.y, point.x, point.y]; subpaths.start = sp; sp = ["M", point.x, point.y, "C", point.n.x, point.n.y, point.end.x, point.end.y, p[5], p[6]][join](); @@ -2638,7 +2638,8 @@ window.Raphael = (function () { continue; } if (!istotal && !subpath) { - return R.findDotsAtSegment(x, y, p[1], p[2], p[3], p[4], p[5], p[6], (length - len) / l); + point = R.findDotsAtSegment(x, y, p[1], p[2], p[3], p[4], p[5], p[6], (length - len) / l); + return {x: point.x, y: point.y, alpha: point.alpha}; } } len += l; @@ -2648,7 +2649,9 @@ window.Raphael = (function () { sp += p; } subpaths.end = sp; - return istotal ? len : subpath ? subpaths : R.findDotsAtSegment(x, y, p[1], p[2], p[3], p[4], p[5], p[6], 1); + point = istotal ? len : subpath ? subpaths : R.findDotsAtSegment(x, y, p[1], p[2], p[3], p[4], p[5], p[6], 1); + point.alpha && (point = {x: point.x, y: point.y, alpha: point.alpha}); + return point; }; }, segmentLength = cacher(function (p1x, p1y, c1x, c1y, c2x, c2y, p2x, p2y) { @@ -2663,7 +2666,7 @@ window.Raphael = (function () { }); Element[proto].getTotalLength = getLengthFactory(1); Element[proto].getPointAtLength = getLengthFactory(); - Element[proto].getSubpathToLength = getLengthFactory(0, 1); + Element[proto].getSubpathsAtLength = getLengthFactory(0, 1); // animation easing formulas R.easing_formulas = { @@ -2753,6 +2756,7 @@ window.Raphael = (function () { switch (availableAnimAttrs[attr]) { case "along": now = pos * ms * diff[attr]; + to.back && (now = to.len - now); var point = to[attr].getPointAtLength(now); that.translate(diff.sx - diff.x || 0, diff.sy - diff.y || 0); diff.x = point.x; @@ -2813,7 +2817,7 @@ window.Raphael = (function () { that._run && that._run.call(that); } else { if (to.along) { - var point = to.along.getPointAtLength(to.along.getTotalLength()); + var point = to.along.getPointAtLength(to.len * !to.back); that.translate(diff.sx - (diff.x || 0) + point.x - diff.sx, diff.sy - (diff.y || 0) + point.y - diff.sy); to.rot && that.rotate(diff.r + point.alpha, point.x, point.y); } @@ -2862,19 +2866,23 @@ window.Raphael = (function () { animationElements[element.id] && (params.start = animationElements[element.id].start); return this.animate(params, ms, easing, callback); }; - Element[proto].animateAlong = function (path, ms, rotate, callback) { - var params = {}; - R.is(rotate, "function") ? (callback = rotate) : (params.rot = rotate); - if (R.is(path, "string") && path.constructor != Element) { - path = r.path(path).attr({stroke: "none"}); - var f = function () { - path.remove(); - }; - callback = R.is(callback, "function") ? function () { f(); callback.call(this); } : f; - } - path.constructor == Element && (params.along = path); - return this.animate(params, ms, callback); - }; + Element[proto].animateAlong = along(); + Element[proto].animateAlongBack = along(1); + function along(isBack) { + return function (path, ms, rotate, callback) { + var params = {back: isBack}; + R.is(rotate, "function") ? (callback = rotate) : (params.rot = rotate); + if (R.is(path, "string") && path.constructor != Element) { + path = r.path(path).attr({stroke: "none"}); + var f = function () { + path.remove(); + }; + callback = R.is(callback, "function") ? function () { f(); callback.call(this); } : f; + } + path.constructor == Element && (params.along = path); + return this.animate(params, ms, callback); + }; + } Element[proto].onAnimation = function (f) { this._run = f || 0; return this; @@ -2893,15 +2901,18 @@ window.Raphael = (function () { to[attr] = params[attr]; switch (availableAnimAttrs[attr]) { case "along": - var point = params[attr].getPointAtLength(0), + var len = params[attr].getTotalLength(), + point = params[attr].getPointAtLength(len * !!params.back), bb = this.getBBox(); - diff[attr] = params[attr].getTotalLength() / ms; + diff[attr] = len / ms; diff.tx = bb.x; diff.ty = bb.y; diff.sx = point.x; diff.sy = point.y; to.rot = params.rot; - params.rot && (diff.r = toFloat(this.rotate())); + to.back = params.back; + to.len = len; + params.rot && (diff.r = toFloat(this.rotate()) || 0); break; case "number": diff[attr] = (to[attr] - from[attr]) / ms; diff --git a/reference.html b/reference.html index fdb816a..49e9b6d 100644 --- a/reference.html +++ b/reference.html @@ -292,6 +292,49 @@ c.attr({fill: "90-#fff-#000", "stroke-dasharray": "-..", "clip-rect": "10, 10, 1
var c = paper.circle(10, 10, 10);
 c.animate({cx: 20, r: 20}, 2000);
 c.animate({cx: 20, r: 20}, 2000, "bounce");
+

+ animateWith +

+

+ The same as animate method, but synchronise animation with another element. +

+

Parameters

+

The same as for animate method, but first argument is an element.

+

Usage

+
var c = paper.circle(10, 10, 10),
+    r = paper.rect(10, 10, 10, 10);
+c.animate({cx: 20, r: 20}, 2000);
+r.animateWith(c, {x: 20}, 2000);
+

+ animateAlong +

+

+ Animates element along the given path. As an option it could rotate element along the path. +

+

Parameters

+
    +
  1. path object or string path element or path string along which the element will be animated
  2. +
  3. ms number The duration of the animation, given in milliseconds.
  4. +
  5. rotate boolean [optional] if true, element will be rotated along the path
  6. +
  7. callback function [optional]
  8. +
+

Usage

+
var p = r.path("M100,100c0,50 100-50 100,0c0,50 -100-50 -100,0z").attr({stroke: "#ddd"}),
+    e = r.ellipse(104, 100, 4, 4).attr({stroke: "none", fill: "#f00"}),
+    b = r.rect(0, 0, 620, 400).attr({stroke: "none", fill: "#000", opacity: 0}).click(function () {
+        e.attr({rx: 5, ry: 3}).animateAlong(p, 4000, true, function () {
+            e.attr({rx: 4, ry: 4});
+        });
+    });
+

+ toFront +

+

+ Moves the element so it is the closest to the viewer’s eyes, on top of other elements. +

+

Usage

+
var c = paper.circle(10, 10, 10);
+c.toFront();

getBBox

@@ -364,6 +407,35 @@ var c = r.clone(); hsb.h = 1; this.attr({fill: this.paper.raphael.hsb2rgb(hsb).hex}); } +

+ getTotalLength +

+

+ Path specific method. Returns length of the path in pixels. +

+

Usage

+
var p = r.path("M100,100c0,50 100-50 100,0c0,50 -100-50 -100,0z");
+    alert(p.getTotalLength());
+

+ getPointAtLength +

+

+ Path specific method. Returns point description at given length. +

+

Parameters

+
    +
  1. length number length in pixels from the beginining of the path to the point
  2. +
+

Usage

+
var p = r.path("M100,100c0,50 100-50 100,0c0,50 -100-50 -100,0z");
+    var point = p.getPointAtLength(30);
+    r.circle(point.x, point.y, 3);
+

Returned object format:

+
    +
  • x – x coordinate of the point
  • +
  • y – y coordinate of the point
  • +
  • alpha – angle of the path at the point
  • +

setSize

@@ -685,6 +757,12 @@ paper.circle(100, 100, 20).red();
  • animate
  • +
  • + animateWith +
  • +
  • + animateAlong +
  • getBBox
  • @@ -706,6 +784,15 @@ paper.circle(100, 100, 20).red();
  • raphael
  • +
  • + getTotalLength +
  • +
  • + getPointAtLength +
  • +
  • + getSubpathsAtLength +
  • setSize
  • -- 2.39.2