Move paper method to prototype.
authorDmitry Baranovskiy <dbaranovskiy@Fresh-Air.sydney.atlassian.com>
Mon, 21 Dec 2009 23:00:10 +0000 (10:00 +1100)
committerDmitry Baranovskiy <dbaranovskiy@Fresh-Air.sydney.atlassian.com>
Mon, 21 Dec 2009 23:00:10 +0000 (10:00 +1100)
First attempt to recognise VML support.

raphael-min.js
raphael.js

index be006af..bbea2c6 100644 (file)
@@ -4,4 +4,4 @@
  * Copyright (c) 2008 - 2009 Dmitry Baranovskiy (http://raphaeljs.com)
  * Licensed under the MIT (http://www.opensource.org/licenses/mit-license.php) license.
  */
-window.Raphael=(function(){var a=/[, ]+/,aH=/^(circle|rect|path|ellipse|text|image)$/,G=document,an=window,k={was:"Raphael" in an,is:an.Raphael},ai=function(){if(ai.is(arguments[0],"array")){var e=arguments[0],E=t[aO](ai,e.splice(0,3+ai.is(e[0],ag))),aS=E.set();for(var S=0,aT=e[l];S<aT;S++){var R=e[S]||{};aH.test(R.type)&&aS[d](E[R.type]().attr(R));}return aS;}return t[aO](ai,arguments);},aE="appendChild",aO="apply",aL="concat",am="",ah=" ",A="click dblclick mousedown mousemove mouseout mouseover mouseup".split(ah),L="hasOwnProperty",ae=/^\[object\s+|\]$/gi,ar="join",l="length",aQ="prototype",aR=String[aQ].toLowerCase,W=Math,f=W.max,aB=W.min,ag="number",at="toString",ap=Object[aQ][at],aJ={},aF=W.pow,d="push",aM=/^(?=[\da-f]$)/,c=/^url\(['"]?([^\)]+)['"]?\)$/i,u=/^\s*((#[a-f\d]{6})|(#[a-f\d]{3})|rgb\(\s*([\d\.]+\s*,\s*[\d\.]+\s*,\s*[\d\.]+)\s*\)|rgb\(\s*([\d\.]+%\s*,\s*[\d\.]+%\s*,\s*[\d\.]+%)\s*\)|hs[bl]\(\s*([\d\.]+\s*,\s*[\d\.]+\s*,\s*[\d\.]+)\s*\)|hs[bl]\(\s*([\d\.]+%\s*,\s*[\d\.]+%\s*,\s*[\d\.]+%)\s*\))\s*$/i,J=W.round,s="setAttribute",w="split",P=parseFloat,B=parseInt,aG=String[aQ].toUpperCase,h={"clip-rect":"0 0 10e9 10e9",cursor:"default",cx:0,cy:0,fill:"#fff","fill-opacity":1,font:'10px "Arial"',"font-family":'"Arial"',"font-size":"10","font-style":"normal","font-weight":400,gradient:0,height:0,href:"http://raphaeljs.com/",opacity:1,path:"M0,0",r:0,rotation:0,rx:0,ry:0,scale:"1 1",src:"",stroke:"#000","stroke-dasharray":"","stroke-linecap":"butt","stroke-linejoin":"butt","stroke-miterlimit":0,"stroke-opacity":1,"stroke-width":1,target:"_blank","text-anchor":"middle",title:"Raphael",translation:"0 0",width:0,x:0,y:0},U={"clip-rect":"csv",cx:ag,cy:ag,fill:"colour","fill-opacity":ag,"font-size":ag,height:ag,opacity:ag,path:"path",r:ag,rotation:"csv",rx:ag,ry:ag,scale:"csv",stroke:"colour","stroke-opacity":ag,"stroke-width":ag,translation:"csv",width:ag,x:ag,y:ag},aI="replace";ai.version="1.2.9dev";ai.type=(an.SVGAngle||G.implementation.hasFeature("http://www.w3.org/TR/SVG11/feature#BasicStructure","1.1")?"SVG":"VML");ai.svg=!(ai.vml=ai.type=="VML");ai._id=0;ai._oid=0;ai.fn={};ai.is=function(i,e){e=aR.call(e);return((e=="object"||e=="undefined")&&typeof i==e)||(i==null&&e=="null")||aR.call(ap.call(i)[aI](ae,am))==e;};ai.setWindow=function(e){an=e;G=an.document;};var aw=function(E){if(ai.vml){var e=/^\s+|\s+$/g;aw=ad(function(S){var aS;S=(S+am)[aI](e,am);try{var aT=new ActiveXObject("htmlfile");aT.write("<body>");aT.close();aS=aT.body;}catch(aV){aS=createPopup().document.body;}var i=aS.createTextRange();try{aS.style.color=S;var aU=i.queryCommandValue("ForeColor");aU=((aU&255)<<16)|(aU&65280)|((aU&16711680)>>>16);return"#"+("000000"+aU[at](16)).slice(-6);}catch(aV){return"none";}});}else{var R=G.createElement("i");R.title="Rapha\xebl Colour Picker";R.style.display="none";G.body[aE](R);aw=ad(function(i){R.style.color=i;return G.defaultView.getComputedStyle(R,am).getPropertyValue("color");});}return aw(E);};ai.hsb2rgb=ad(function(aW,aU,a0){if(ai.is(aW,"object")&&"h" in aW&&"s" in aW&&"b" in aW){a0=aW.b;aU=aW.s;aW=aW.h;}var S,aS,a1;if(a0==0){return{r:0,g:0,b:0,hex:"#000"};}if(aW>1||aU>1||a0>1){aW/=255;aU/=255;a0/=255;}var aT=~~(aW*6),aX=(aW*6)-aT,R=a0*(1-aU),E=a0*(1-(aU*aX)),a2=a0*(1-(aU*(1-aX)));S=[a0,E,R,R,a2,a0,a0][aT];aS=[a2,a0,a0,E,R,R,a2][aT];a1=[R,R,a2,a0,a0,E,R][aT];S*=255;aS*=255;a1*=255;var aY={r:S,g:aS,b:a1},e=(~~S)[at](16),aV=(~~aS)[at](16),aZ=(~~a1)[at](16);e=e[aI](aM,"0");aV=aV[aI](aM,"0");aZ=aZ[aI](aM,"0");aY.hex="#"+e+aV+aZ;return aY;},ai);ai.rgb2hsb=ad(function(e,i,aU){if(ai.is(e,"object")&&"r" in e&&"g" in e&&"b" in e){aU=e.b;i=e.g;e=e.r;}if(ai.is(e,"string")){var aW=ai.getRGB(e);e=aW.r;i=aW.g;aU=aW.b;}if(e>1||i>1||aU>1){e/=255;i/=255;aU/=255;}var aT=f(e,i,aU),E=aB(e,i,aU),S,R,aS=aT;if(E==aT){return{h:0,s:0,b:aT};}else{var aV=(aT-E);R=aV/aT;if(e==aT){S=(i-aU)/aV;}else{if(i==aT){S=2+((aU-e)/aV);}else{S=4+((e-i)/aV);}}S/=6;S<0&&S++;S>1&&S--;}return{h:S,s:R,b:aS};},ai);var ax=/,?([achlmqrstvxz]),?/gi;ai._path2string=function(){return this.join(",")[aI](ax,"$1");};function ad(R,i,e){function E(){var S=Array[aQ].slice.call(arguments,0),aT=S[ar]("\u25ba"),aS=E.cache=E.cache||{},aU=E.count=E.count||[];if(aS[L](aT)){return e?e(aS[aT]):aS[aT];}aU[l]>=1000&&delete aS[aU.shift()];aU[d](aT);aS[aT]=R[aO](i,S);return e?e(aS[aT]):aS[aT];}return E;}ai.getRGB=ad(function(e){if(!e||!!((e=e+am).indexOf("-")+1)){return{r:-1,g:-1,b:-1,hex:"none",error:1};}if(e=="none"){return{r:-1,g:-1,b:-1,hex:"none"};}!(({hs:1,rg:1})[L](e.substring(0,2))||e.charAt()=="#")&&(e=aw(e));var aS,E,R,aV,aW,aT=e.match(u);if(aT){if(aT[2]){aV=B(aT[2].substring(5),16);R=B(aT[2].substring(3,5),16);E=B(aT[2].substring(1,3),16);}if(aT[3]){aV=B((aW=aT[3].charAt(3))+aW,16);R=B((aW=aT[3].charAt(2))+aW,16);E=B((aW=aT[3].charAt(1))+aW,16);}if(aT[4]){aT=aT[4][w](/\s*,\s*/);E=P(aT[0]);R=P(aT[1]);aV=P(aT[2]);}if(aT[5]){aT=aT[5][w](/\s*,\s*/);E=P(aT[0])*2.55;R=P(aT[1])*2.55;aV=P(aT[2])*2.55;}if(aT[6]){aT=aT[6][w](/\s*,\s*/);E=P(aT[0]);R=P(aT[1]);aV=P(aT[2]);return ai.hsb2rgb(E,R,aV);}if(aT[7]){aT=aT[7][w](/\s*,\s*/);E=P(aT[0])*2.55;R=P(aT[1])*2.55;aV=P(aT[2])*2.55;return ai.hsb2rgb(E,R,aV);}aT={r:E,g:R,b:aV};var i=(~~E)[at](16),S=(~~R)[at](16),aU=(~~aV)[at](16);i=i[aI](aM,"0");S=S[aI](aM,"0");aU=aU[aI](aM,"0");aT.hex="#"+i+S+aU;return aT;}return{r:-1,g:-1,b:-1,hex:"none",error:1};},ai);ai.getColor=function(i){var E=this.getColor.start=this.getColor.start||{h:0,s:1,b:i||0.75},e=this.hsb2rgb(E.h,E.s,E.b);E.h+=0.075;if(E.h>1){E.h=0;E.s-=0.2;E.s<=0&&(this.getColor.start={h:0,s:1,b:E.b});}return e.hex;};ai.getColor.reset=function(){delete this.start;};ai.parsePathString=ad(function(e){if(!e){return null;}var E={a:7,c:6,h:1,l:2,m:2,q:4,s:4,t:2,v:1,z:0},i=[];if(ai.is(e,"array")&&ai.is(e[0],"array")){i=ao(e);}if(!i[l]){(e+am)[aI](/([achlmqstvz])[\s,]*((-?\d*\.?\d*(?:e[-+]?\d+)?\s*,?\s*)+)/ig,function(S,R,aU){var aT=[],aS=aR.call(R);aU[aI](/(-?\d*\.?\d*(?:e[-+]?\d+)?)\s*,?\s*/ig,function(aW,aV){aV&&aT[d](+aV);});while(aT[l]>=E[aS]){i[d]([R][aL](aT.splice(0,E[aS])));if(!E[aS]){break;}}});}i[at]=ai._path2string;return i;});var N=ad(function(aY){if(!aY){return{x:0,y:0,width:0,height:0};}aY=C(aY);var aV=0,aU=0,S=[],E=[],R;for(var aS=0,aX=aY[l];aS<aX;aS++){R=aY[aS];if(R[0]=="M"){aV=R[1];aU=R[2];S[d](aV);E[d](aU);}else{var aT=au(aV,aU,R[1],R[2],R[3],R[4],R[5],R[6]);S=S[aL](aT.min.x,aT.max.x);E=E[aL](aT.min.y,aT.max.y);aV=R[5];aU=R[6];}}var e=aB[aO](0,S),aW=aB[aO](0,E);return{x:e,y:aW,width:f[aO](0,S)-e,height:f[aO](0,E)-aW};}),ao=function(aT){var R=[];if(!ai.is(aT,"array")||!ai.is(aT&&aT[0],"array")){aT=ai.parsePathString(aT);}for(var E=0,S=aT[l];E<S;E++){R[E]=[];for(var e=0,aS=aT[E][l];e<aS;e++){R[E][e]=aT[E][e];}}R[at]=ai._path2string;return R;},Y=ad(function(S){if(!ai.is(S,"array")||!ai.is(S&&S[0],"array")){S=ai.parsePathString(S);}var aX=[],aZ=0,aY=0,a2=0,a1=0,R=0;if(S[0][0]=="M"){aZ=S[0][1];aY=S[0][2];a2=aZ;a1=aY;R++;aX[d](["M",aZ,aY]);}for(var aU=R,a3=S[l];aU<a3;aU++){var e=aX[aU]=[],a0=S[aU];if(a0[0]!=aR.call(a0[0])){e[0]=aR.call(a0[0]);switch(e[0]){case"a":e[1]=a0[1];e[2]=a0[2];e[3]=a0[3];e[4]=a0[4];e[5]=a0[5];e[6]=+(a0[6]-aZ).toFixed(3);e[7]=+(a0[7]-aY).toFixed(3);break;case"v":e[1]=+(a0[1]-aY).toFixed(3);break;case"m":a2=a0[1];a1=a0[2];default:for(var aT=1,aV=a0[l];aT<aV;aT++){e[aT]=+(a0[aT]-((aT%2)?aZ:aY)).toFixed(3);}}}else{e=aX[aU]=[];if(a0[0]=="m"){a2=a0[1]+aZ;a1=a0[2]+aY;}for(var aS=0,E=a0[l];aS<E;aS++){aX[aU][aS]=a0[aS];}}var aW=aX[aU][l];switch(aX[aU][0]){case"z":aZ=a2;aY=a1;break;case"h":aZ+=+aX[aU][aW-1];break;case"v":aY+=+aX[aU][aW-1];break;default:aZ+=+aX[aU][aW-2];aY+=+aX[aU][aW-1];}}aX[at]=ai._path2string;return aX;},0,ao),p=ad(function(S){if(!ai.is(S,"array")||!ai.is(S&&S[0],"array")){S=ai.parsePathString(S);}var aW=[],aY=0,aX=0,a1=0,a0=0,R=0;if(S[0][0]=="M"){aY=+S[0][1];aX=+S[0][2];a1=aY;a0=aX;R++;aW[0]=["M",aY,aX];}for(var aU=R,a2=S[l];aU<a2;aU++){var e=aW[aU]=[],aZ=S[aU];if(aZ[0]!=aG.call(aZ[0])){e[0]=aG.call(aZ[0]);switch(e[0]){case"A":e[1]=aZ[1];e[2]=aZ[2];e[3]=aZ[3];e[4]=aZ[4];e[5]=aZ[5];e[6]=+(aZ[6]+aY);e[7]=+(aZ[7]+aX);break;case"V":e[1]=+aZ[1]+aX;break;case"H":e[1]=+aZ[1]+aY;break;case"M":a1=+aZ[1]+aY;a0=+aZ[2]+aX;default:for(var aT=1,aV=aZ[l];aT<aV;aT++){e[aT]=+aZ[aT]+((aT%2)?aY:aX);}}}else{for(var aS=0,E=aZ[l];aS<E;aS++){aW[aU][aS]=aZ[aS];}}switch(e[0]){case"Z":aY=a1;aX=a0;break;case"H":aY=e[1];break;case"V":aX=e[1];break;default:aY=aW[aU][aW[aU][l]-2];aX=aW[aU][aW[aU][l]-1];}}aW[at]=ai._path2string;return aW;},null,ao),aP=function(i,R,e,E){return[i,R,e,E,e,E];},aD=function(i,R,aT,S,e,E){var aS=1/3,aU=2/3;return[aS*i+aU*aT,aS*R+aU*S,aS*e+aU*aT,aS*E+aU*S,e,E];},F=function(a2,bw,bb,a9,a3,aX,aS,a1,bv,a4){var S=W.PI,a8=S*120/180,e=S/180*(+a3||0),bf=[],bc,bs=ad(function(bx,bA,i){var bz=bx*W.cos(i)-bA*W.sin(i),by=bx*W.sin(i)+bA*W.cos(i);return{x:bz,y:by};});if(!a4){bc=bs(a2,bw,-e);a2=bc.x;bw=bc.y;bc=bs(a1,bv,-e);a1=bc.x;bv=bc.y;var E=W.cos(S/180*a3),aZ=W.sin(S/180*a3),bh=(a2-a1)/2,bg=(bw-bv)/2;bb=f(bb,W.abs(bh));a9=f(a9,W.abs(bg));var R=bb*bb,bk=a9*a9,bm=(aX==aS?-1:1)*W.sqrt(W.abs((R*bk-R*bg*bg-bk*bh*bh)/(R*bg*bg+bk*bh*bh))),a6=bm*bb*bg/a9+(a2+a1)/2,a5=bm*-a9*bh/bb+(bw+bv)/2,aW=W.asin(((bw-a5)/a9).toFixed(7)),aV=W.asin(((bv-a5)/a9).toFixed(7));aW=a2<a6?S-aW:aW;aV=a1<a6?S-aV:aV;aW<0&&(aW=S*2+aW);aV<0&&(aV=S*2+aV);if(aS&&aW>aV){aW=aW-S*2;}if(!aS&&aV>aW){aV=aV-S*2;}}else{aW=a4[0];aV=a4[1];a6=a4[2];a5=a4[3];}var a0=aV-aW;if(W.abs(a0)>a8){var a7=aV,ba=a1,aY=bv;aV=aW+a8*(aS&&aV>aW?1:-1);a1=a6+bb*W.cos(aV);bv=a5+a9*W.sin(aV);bf=F(a1,bv,bb,a9,a3,0,aS,ba,aY,[aV,a7,a6,a5]);}a0=aV-aW;var aU=W.cos(aW),bu=W.sin(aW),aT=W.cos(aV),bt=W.sin(aV),bi=W.tan(a0/4),bl=4/3*bb*bi,bj=4/3*a9*bi,br=[a2,bw],bq=[a2+bl*bu,bw-bj*aU],bp=[a1+bl*bt,bv-bj*aT],bn=[a1,bv];bq[0]=2*br[0]-bq[0];bq[1]=2*br[1]-bq[1];if(a4){return[bq,bp,bn][aL](bf);}else{bf=[bq,bp,bn][aL](bf)[ar]()[w](",");var bd=[];for(var bo=0,be=bf[l];bo<be;bo++){bd[bo]=bo%2?bs(bf[bo-1],bf[bo],e).y:bs(bf[bo],bf[bo+1],e).x;}return bd;}},H=ad(function(i,e,R,E,aV,aU,aT,aS,aW){var S=1-aW;return{x:aF(S,3)*i+aF(S,2)*3*aW*R+S*3*aW*aW*aV+aF(aW,3)*aT,y:aF(S,3)*e+aF(S,2)*3*aW*E+S*3*aW*aW*aU+aF(aW,3)*aS};}),av=ad(function(i,e,a6,a4,aS,S,aU,aT,a0){var aY=1-a0,aX=aF(aY,3)*i+aF(aY,2)*3*a0*a6+aY*3*a0*a0*aS+aF(a0,3)*aU,aV=aF(aY,3)*e+aF(aY,2)*3*a0*a4+aY*3*a0*a0*S+aF(a0,3)*aT,a2=i+2*a0*(a6-i)+a0*a0*(aS-2*a6+i),a1=e+2*a0*(a4-e)+a0*a0*(S-2*a4+e),a5=a6+2*a0*(aS-a6)+a0*a0*(aU-2*aS+a6),a3=a4+2*a0*(S-a4)+a0*a0*(aT-2*S+a4),aZ=(1-a0)*i+a0*a6,aW=(1-a0)*e+a0*a4,R=(1-a0)*aS+a0*aU,E=(1-a0)*S+a0*aT;return{x:aX,y:aV,m:{x:a2,y:a1},n:{x:a5,y:a3},start:{x:aZ,y:aW},end:{x:R,y:E}};}),au=ad(function(E,e,S,R,a2,a1,aY,aV){var a0=(a2-2*S+E)-(aY-2*a2+S),aX=2*(S-E)-2*(a2-S),aU=E-S,aT=(-aX+W.sqrt(aX*aX-4*a0*aU))/2/a0,aS=(-aX-W.sqrt(aX*aX-4*a0*aU))/2/a0,aW=[e,aV],aZ=[E,aY],i;W.abs(aT)>1000000000000&&(aT=0.5);W.abs(aS)>1000000000000&&(aS=0.5);if(aT>0&&aT<1){i=H(E,e,S,R,a2,a1,aY,aV,aT);aZ[d](i.x);aW[d](i.y);}if(aS>0&&aS<1){i=H(E,e,S,R,a2,a1,aY,aV,aS);aZ[d](i.x);aW[d](i.y);}a0=(a1-2*R+e)-(aV-2*a1+R);aX=2*(R-e)-2*(a1-R);aU=e-R;aT=(-aX+W.sqrt(aX*aX-4*a0*aU))/2/a0;aS=(-aX-W.sqrt(aX*aX-4*a0*aU))/2/a0;W.abs(aT)>1000000000000&&(aT=0.5);W.abs(aS)>1000000000000&&(aS=0.5);if(aT>0&&aT<1){i=H(E,e,S,R,a2,a1,aY,aV,aT);aZ[d](i.x);aW[d](i.y);}if(aS>0&&aS<1){i=H(E,e,S,R,a2,a1,aY,aV,aS);aZ[d](i.x);aW[d](i.y);}return{min:{x:aB[aO](0,aZ),y:aB[aO](0,aW)},max:{x:f[aO](0,aZ),y:f[aO](0,aW)}};}),C=ad(function(a2,aX){var S=p(a2),aY=aX&&p(aX),aZ={x:0,y:0,bx:0,by:0,X:0,Y:0,qx:null,qy:null},e={x:0,y:0,bx:0,by:0,X:0,Y:0,qx:null,qy:null},aT=function(a3,a4){var i,a5;if(!a3){return["C",a4.x,a4.y,a4.x,a4.y,a4.x,a4.y];}!(a3[0] in {T:1,Q:1})&&(a4.qx=a4.qy=null);switch(a3[0]){case"M":a4.X=a3[1];a4.Y=a3[2];break;case"A":a3=["C"][aL](F[aO](0,[a4.x,a4.y][aL](a3.slice(1))));break;case"S":i=a4.x+(a4.x-(a4.bx||a4.x));a5=a4.y+(a4.y-(a4.by||a4.y));a3=["C",i,a5][aL](a3.slice(1));break;case"T":a4.qx=a4.x+(a4.x-(a4.qx||a4.x));a4.qy=a4.y+(a4.y-(a4.qy||a4.y));a3=["C"][aL](aD(a4.x,a4.y,a4.qx,a4.qy,a3[1],a3[2]));break;case"Q":a4.qx=a3[1];a4.qy=a3[2];a3=["C"][aL](aD(a4.x,a4.y,a3[1],a3[2],a3[3],a3[4]));break;case"L":a3=["C"][aL](aP(a4.x,a4.y,a3[1],a3[2]));break;case"H":a3=["C"][aL](aP(a4.x,a4.y,a3[1],a4.y));break;case"V":a3=["C"][aL](aP(a4.x,a4.y,a4.x,a3[1]));break;case"Z":a3=["C"][aL](aP(a4.x,a4.y,a4.X,a4.Y));break;}return a3;},E=function(a3,a4){if(a3[a4][l]>7){a3[a4].shift();var a5=a3[a4];while(a5[l]){a3.splice(a4++,0,["C"][aL](a5.splice(0,6)));}a3.splice(a4,1);a0=f(S[l],aY&&aY[l]||0);}},R=function(a7,a6,a4,a3,a5){if(a7&&a6&&a7[a5][0]=="M"&&a6[a5][0]!="M"){a6.splice(a5,0,["M",a3.x,a3.y]);a4.bx=0;a4.by=0;a4.x=a7[a5][1];a4.y=a7[a5][2];a0=f(S[l],aY&&aY[l]||0);}};for(var aV=0,a0=f(S[l],aY&&aY[l]||0);aV<a0;aV++){S[aV]=aT(S[aV],aZ);E(S,aV);aY&&(aY[aV]=aT(aY[aV],e));aY&&E(aY,aV);R(S,aY,aZ,e,aV);R(aY,S,e,aZ,aV);var aU=S[aV],a1=aY&&aY[aV],aS=aU[l],aW=aY&&a1[l];aZ.x=aU[aS-2];aZ.y=aU[aS-1];aZ.bx=P(aU[aS-4])||aZ.x;aZ.by=P(aU[aS-3])||aZ.y;e.bx=aY&&(P(a1[aW-4])||e.x);e.by=aY&&(P(a1[aW-3])||e.y);e.x=aY&&a1[aW-2];e.y=aY&&a1[aW-1];}return aY?[S,aY]:S;},null,ao),n=ad(function(aW){var aV=[];for(var aS=0,aX=aW[l];aS<aX;aS++){var e={},aU=aW[aS].match(/^([^:]*):?([\d\.]*)/);e.color=ai.getRGB(aU[1]);if(e.color.error){return null;}e.color=e.color.hex;aU[2]&&(e.offset=aU[2]+"%");aV[d](e);}for(var aS=1,aX=aV[l]-1;aS<aX;aS++){if(!aV[aS].offset){var E=P(aV[aS-1].offset||0),R=0;for(var S=aS+1;S<aX;S++){if(aV[S].offset){R=aV[S].offset;break;}}if(!R){R=100;S=aX;}R=P(R);var aT=(R-E)/(S-aS+1);for(;aS<S;aS++){E+=aT;aV[aS].offset=E+"%";}}}return aV;}),aj=function(){var E,i,S,R,e;if(ai.is(arguments[0],"string")||ai.is(arguments[0],"object")){if(ai.is(arguments[0],"string")){E=G.getElementById(arguments[0]);}else{E=arguments[0];}if(E.tagName){if(arguments[1]==null){return{container:E,width:E.style.pixelWidth||E.offsetWidth,height:E.style.pixelHeight||E.offsetHeight};}else{return{container:E,width:arguments[1],height:arguments[2]};}}}else{if(ai.is(arguments[0],ag)&&arguments[l]>3){return{container:1,x:arguments[0],y:arguments[1],width:arguments[2],height:arguments[3]};}}},az=function(e,E){var i=this;for(var R in E){if(E[L](R)&&!(R in e)){switch(typeof E[R]){case"function":(function(S){e[R]=e===i?S:function(){return S[aO](i,arguments);};})(E[R]);break;case"object":e[R]=e[R]||{};az.call(this,e[R],E[R]);break;default:e[R]=E[R];break;}}}},af=function(e,i){e==i.top&&(i.top=e.prev);e==i.bottom&&(i.bottom=e.next);e.next&&(e.next.prev=e.prev);e.prev&&(e.prev.next=e.next);},T=function(e,i){if(i.top===e){return;}af(e,i);e.next=null;e.prev=i.top;i.top.next=e;i.top=e;},j=function(e,i){if(i.bottom===e){return;}af(e,i);e.next=i.bottom;e.prev=null;i.bottom.prev=e;i.bottom=e;},x=function(i,e,E){af(i,E);e==E.top&&(E.top=i);e.next&&(e.next.prev=i);i.next=e.next;i.prev=e;e.next=i;},ak=function(i,e,E){af(i,E);e==E.bottom&&(E.bottom=i);e.prev&&(e.prev.next=i);i.prev=e.prev;e.prev=i;i.next=e;},al=/^r(?:\(([^,]+?)\s*,\s*([^\)]+?)\))?/;if(ai.svg){aJ.svgns="http://www.w3.org/2000/svg";aJ.xlink="http://www.w3.org/1999/xlink";var J=function(e){return +e+(~~e===e)*0.5;},O=function(aS){for(var E=0,R=aS[l];E<R;E++){if(aR.call(aS[E][0])!="a"){for(var e=1,S=aS[E][l];e<S;e++){aS[E][e]=J(aS[E][e]);}}else{aS[E][6]=J(aS[E][6]);aS[E][7]=J(aS[E][7]);}}return aS;},aC=function(E,e){if(e){for(var i in e){if(e[L](i)){E[s](i,e[i]);}}}else{return G.createElementNS(aJ.svgns,E);}};ai[at]=function(){return"Your browser supports SVG.\nYou are running Rapha\xebl "+this.version;};var o=function(e,R){var i=aC("path");R.canvas&&R.canvas[aE](i);var E=new aq(i,R);E.type="path";V(E,{fill:"none",stroke:"#000",path:e});return E;};var b=function(R,a0,e){var aX="linear",aU=0.5,aS=0.5,a2=R.style;a0=(a0+am)[aI](al,function(a4,i,a5){aX="radial";if(i&&a5){aU=P(i);aS=P(a5);var a3=((aS>0.5)*2-1);aF(aU-0.5,2)+aF(aS-0.5,2)>0.25&&(aS=W.sqrt(0.25-aF(aU-0.5,2))*a3+0.5)&&aS!=0.5&&(aS=aS.toFixed(5)-0.00001*a3);}return am;});a0=a0[w](/\s*\-\s*/);if(aX=="linear"){var aT=a0.shift();aT=-P(aT);if(isNaN(aT)){return null;}var S=[0,0,W.cos(aT*W.PI/180),W.sin(aT*W.PI/180)],aZ=1/(f(W.abs(S[2]),W.abs(S[3]))||1);S[2]*=aZ;S[3]*=aZ;if(S[2]<0){S[0]=-S[2];S[2]=0;}if(S[3]<0){S[1]=-S[3];S[3]=0;}}var aW=n(a0);if(!aW){return null;}var E=aC(aX+"Gradient");E.id="r"+(ai._id++)[at](36);aC(E,aX=="radial"?{fx:aU,fy:aS}:{x1:S[0],y1:S[1],x2:S[2],y2:S[3]});e.defs[aE](E);for(var aV=0,a1=aW[l];aV<a1;aV++){var aY=aC("stop");aC(aY,{offset:aW[aV].offset?aW[aV].offset:!aV?"0%":"100%","stop-color":aW[aV].color||"#fff"});E[aE](aY);}aC(R,{fill:"url(#"+E.id+")",opacity:1,"fill-opacity":1});a2.fill=am;a2.opacity=1;a2.fillOpacity=1;return 1;};var I=function(i){var e=i.getBBox();aC(i.pattern,{patternTransform:ai.format("translate({0},{1})",e.x,e.y)});};var V=function(aZ,a8){var a2={"":[0],none:[0],"-":[3,1],".":[1,1],"-.":[3,1,1,1],"-..":[3,1,1,1,1,1],". ":[1,3],"- ":[4,3],"--":[8,3],"- .":[4,3,1,3],"--.":[8,3,1,3],"--..":[8,3,1,3,1,3]},a4=aZ.node,a0=aZ.attrs,aW=aZ.rotate(),aS=function(bf,be){be=a2[aR.call(be)];if(be){var bc=bf.attrs["stroke-width"]||"1",ba={round:bc,square:bc,butt:0}[bf.attrs["stroke-linecap"]||a8["stroke-linecap"]]||0,bd=[];var bb=be[l];while(bb--){bd[bb]=be[bb]*bc+((bb%2)?1:-1)*ba;}aC(a4,{"stroke-dasharray":bd[ar](",")});}};a8[L]("rotation")&&(aW=a8.rotation);var aV=(aW+am)[w](a);if(!(aV.length-1)){aV=null;}else{aV[1]=+aV[1];aV[2]=+aV[2];}P(aW)&&aZ.rotate(0,true);for(var a3 in a8){if(a8[L](a3)){if(!h[L](a3)){continue;}var a1=a8[a3];a0[a3]=a1;switch(a3){case"rotation":aZ.rotate(a1,true);break;case"href":case"title":case"target":var a6=a4.parentNode;if(aR.call(a6.tagName)!="a"){var R=aC("a");a6.insertBefore(R,a4);R[aE](a4);a6=R;}a6.setAttributeNS(aZ.paper.xlink,a3,a1);break;case"cursor":a4.style.cursor=a1;break;case"clip-rect":var i=(a1+am)[w](a);if(i[l]==4){aZ.clip&&aZ.clip.parentNode.parentNode.removeChild(aZ.clip.parentNode);var E=aC("clipPath"),a5=aC("rect");E.id="r"+(ai._id++)[at](36);aC(a5,{x:i[0],y:i[1],width:i[2],height:i[3]});E[aE](a5);aZ.paper.defs[aE](E);aC(a4,{"clip-path":"url(#"+E.id+")"});aZ.clip=a5;}if(!a1){var a7=G.getElementById(a4.getAttribute("clip-path")[aI](/(^url\(#|\)$)/g,am));a7&&a7.parentNode.removeChild(a7);aC(a4,{"clip-path":am});delete aZ.clip;}break;case"path":if(a1&&aZ.type=="path"){a0.path=O(p(a1));aC(a4,{d:a0.path});}break;case"width":a4[s](a3,a1);if(a0.fx){a3="x";a1=a0.x;}else{break;}case"x":if(a0.fx){a1=-a0.x-(a0.width||0);}case"rx":if(a3=="rx"&&aZ.type=="rect"){break;}case"cx":aV&&(a3=="x"||a3=="cx")&&(aV[1]+=a1-a0[a3]);a4[s](a3,J(a1));aZ.pattern&&I(aZ);break;case"height":a4[s](a3,a1);if(a0.fy){a3="y";a1=a0.y;}else{break;}case"y":if(a0.fy){a1=-a0.y-(a0.height||0);}case"ry":if(a3=="ry"&&aZ.type=="rect"){break;}case"cy":aV&&(a3=="y"||a3=="cy")&&(aV[2]+=a1-a0[a3]);a4[s](a3,J(a1));aZ.pattern&&I(aZ);break;case"r":if(aZ.type=="rect"){aC(a4,{rx:a1,ry:a1});}else{a4[s](a3,a1);}break;case"src":if(aZ.type=="image"){a4.setAttributeNS(aZ.paper.xlink,"href",a1);}break;case"stroke-width":a4.style.strokeWidth=a1;a4[s](a3,a1);if(a0["stroke-dasharray"]){aS(aZ,a0["stroke-dasharray"]);}break;case"stroke-dasharray":aS(aZ,a1);break;case"translation":var aT=(a1+am)[w](a);aT[0]=+aT[0]||0;aT[1]=+aT[1]||0;if(aV){aV[1]+=aT[0];aV[2]+=aT[1];}q.call(aZ,aT[0],aT[1]);break;case"scale":var aT=(a1+am)[w](a);aZ.scale(+aT[0]||1,+aT[1]||+aT[0]||1,+aT[2]||null,+aT[3]||null);break;case"fill":var S=(a1+am).match(c);if(S){var E=aC("pattern"),aY=aC("image");E.id="r"+(ai._id++)[at](36);aC(E,{x:0,y:0,patternUnits:"userSpaceOnUse",height:1,width:1});aC(aY,{x:0,y:0});aY.setAttributeNS(aZ.paper.xlink,"href",S[1]);E[aE](aY);var a9=G.createElement("img");a9.style.cssText="position:absolute;left:-9999em;top-9999em";a9.onload=function(){aC(E,{width:this.offsetWidth,height:this.offsetHeight});aC(aY,{width:this.offsetWidth,height:this.offsetHeight});G.body.removeChild(this);aJ.safari();};G.body[aE](a9);a9.src=S[1];aZ.paper.defs[aE](E);a4.style.fill="url(#"+E.id+")";aC(a4,{fill:"url(#"+E.id+")"});aZ.pattern=E;aZ.pattern&&I(aZ);break;}if(!ai.getRGB(a1).error){delete a8.gradient;delete a0.gradient;!ai.is(a0.opacity,"undefined")&&ai.is(a8.opacity,"undefined")&&aC(a4,{opacity:a0.opacity});!ai.is(a0["fill-opacity"],"undefined")&&ai.is(a8["fill-opacity"],"undefined")&&aC(a4,{"fill-opacity":a0["fill-opacity"]});}else{if((({circle:1,ellipse:1})[L](aZ.type)||(a1+am).charAt()!="r")&&b(a4,a1,aZ.paper)){a0.gradient=a1;a0.fill="none";break;}}case"stroke":a4[s](a3,ai.getRGB(a1).hex);break;case"gradient":(({circle:1,ellipse:1})[L](aZ.type)||(a1+am).charAt()!="r")&&b(a4,a1,aZ.paper);break;case"opacity":case"fill-opacity":if(a0.gradient){var e=G.getElementById(a4.getAttribute("fill")[aI](/^url\(#|\)$/g,am));if(e){var aU=e.getElementsByTagName("stop");aU[aU[l]-1][s]("stop-opacity",a1);}break;}default:a3=="font-size"&&(a1=B(a1,10)+"px");var aX=a3[aI](/(\-.)/g,function(ba){return aG.call(ba.substring(1));});a4.style[aX]=a1;a4[s](a3,a1);break;}}}z(aZ,a8);if(aV){aZ.rotate(aV.join(ah));}else{P(aW)&&aZ.rotate(aW,true);}};var g=1.2;var z=function(e,S){if(e.type!="text"||!(S[L]("text")||S[L]("font")||S[L]("font-size")||S[L]("x")||S[L]("y"))){return;}var aW=e.attrs,E=e.node,aY=E.firstChild?B(G.defaultView.getComputedStyle(E.firstChild,am).getPropertyValue("font-size"),10):10;if(S[L]("text")){aW.text=S.text;while(E.firstChild){E.removeChild(E.firstChild);}var R=(S.text+am)[w]("\n");for(var aS=0,aX=R[l];aS<aX;aS++){if(R[aS]){var aU=aC("tspan");aS&&aC(aU,{dy:aY*g,x:aW.x});aU[aE](G.createTextNode(R[aS]));E[aE](aU);}}}else{var R=E.getElementsByTagName("tspan");for(var aS=0,aX=R[l];aS<aX;aS++){aS&&aC(R[aS],{dy:aY*g,x:aW.x});}}aC(E,{y:aW.y});var aT=e.getBBox(),aV=aW.y-(aT.y+aT.height/2);aV&&isFinite(aV)&&aC(E,{y:aW.y+aV});};var aq=function(i,e){var R=0,E=0;this[0]=i;this.id=ai._oid++;this.node=i;i.raphael=this;this.paper=e;this.attrs=this.attrs||{};this.transformations=[];this._={tx:0,ty:0,rt:{deg:0,cx:0,cy:0},sx:1,sy:1};!e.bottom&&(e.bottom=this);this.prev=e.top;e.top&&(e.top.next=this);e.top=this;this.next=null;};aq[aQ].rotate=function(i,e,R){if(this.removed){return this;}if(i==null){if(this._.rt.cx){return[this._.rt.deg,this._.rt.cx,this._.rt.cy][ar](ah);}return this._.rt.deg;}var E=this.getBBox();i=(i+am)[w](a);if(i[l]-1){e=P(i[1]);R=P(i[2]);}i=P(i[0]);if(e!=null){this._.rt.deg=i;}else{this._.rt.deg+=i;}(R==null)&&(e=null);this._.rt.cx=e;this._.rt.cy=R;e=e==null?E.x+E.width/2:e;R=R==null?E.y+E.height/2:R;if(this._.rt.deg){this.transformations[0]=ai.format("rotate({0} {1} {2})",this._.rt.deg,e,R);this.clip&&aC(this.clip,{transform:ai.format("rotate({0} {1} {2})",-this._.rt.deg,e,R)});}else{this.transformations[0]=am;this.clip&&aC(this.clip,{transform:am});}aC(this.node,{transform:this.transformations[ar](ah)});return this;};aq[aQ].hide=function(){!this.removed&&(this.node.style.display="none");return this;};aq[aQ].show=function(){!this.removed&&(this.node.style.display="");return this;};aq[aQ].remove=function(){if(this.removed){return;}af(this,this.paper);this.node.parentNode.removeChild(this.node);for(var e in this){delete this[e];}this.removed=true;};aq[aQ].getBBox=function(){if(this.removed){return this;}if(this.type=="path"){return N(this.attrs.path);}if(this.node.style.display=="none"){this.show();var R=true;}var aU={};try{aU=this.node.getBBox();}catch(aS){}finally{aU=aU||{};}if(this.type=="text"){aU={x:aU.x,y:Infinity,width:0,height:0};for(var E=0,S=this.node.getNumberOfChars();E<S;E++){var aT=this.node.getExtentOfChar(E);(aT.y<aU.y)&&(aU.y=aT.y);(aT.y+aT.height-aU.y>aU.height)&&(aU.height=aT.y+aT.height-aU.y);(aT.x+aT.width-aU.x>aU.width)&&(aU.width=aT.x+aT.width-aU.x);}}R&&this.hide();return aU;};aq[aQ].attr=function(){if(this.removed){return this;}if(arguments[l]==0){var S={};for(var R in this.attrs){if(this.attrs[L](R)){S[R]=this.attrs[R];}}this._.rt.deg&&(S.rotation=this.rotate());(this._.sx!=1||this._.sy!=1)&&(S.scale=this.scale());S.gradient&&S.fill=="none"&&(S.fill=S.gradient)&&delete S.gradient;return S;}if(arguments[l]==1&&ai.is(arguments[0],"string")){if(arguments[0]=="translation"){return q.call(this);}if(arguments[0]=="rotation"){return this.rotate();}if(arguments[0]=="scale"){return this.scale();}if(arguments[0]=="fill"&&this.attrs.fill=="none"&&this.attrs.gradient){return this.attrs.gradient;}return this.attrs[arguments[0]];}if(arguments[l]==1&&ai.is(arguments[0],"array")){var e={};for(var E in arguments[0]){if(arguments[0][L](E)){e[arguments[0][E]]=this.attrs[arguments[0][E]];}}return e;}if(arguments[l]==2){var aS={};aS[arguments[0]]=arguments[1];V(this,aS);}else{if(arguments[l]==1&&ai.is(arguments[0],"object")){V(this,arguments[0]);}}return this;};aq[aQ].toFront=function(){if(this.removed){return this;}this.node.parentNode[aE](this.node);var e=this.paper;e.top!=this&&T(this,e);return this;};aq[aQ].toBack=function(){if(this.removed){return this;}if(this.node.parentNode.firstChild!=this.node){this.node.parentNode.insertBefore(this.node,this.node.parentNode.firstChild);j(this,this.paper);var e=this.paper;}return this;};aq[aQ].insertAfter=function(i){if(this.removed){return this;}var e=this.paper,E=i.node;if(E.nextSibling){E.parentNode.insertBefore(this.node,E.nextSibling);}else{E.parentNode[aE](this.node);}x(this,i,this.paper);return this;};aq[aQ].insertBefore=function(e){if(this.removed){return this;}var i=e.node;i.parentNode.insertBefore(this.node,i);ak(this,e,this.paper);return this;};var K=function(i,e,aS,S){e=J(e);aS=J(aS);var R=aC("circle");i.canvas&&i.canvas[aE](R);var E=new aq(R,i);E.attrs={cx:e,cy:aS,r:S,fill:"none",stroke:"#000"};E.type="circle";aC(R,E.attrs);return E;};var ay=function(E,e,aU,i,aS,aT){e=J(e);aU=J(aU);var S=aC("rect");E.canvas&&E.canvas[aE](S);var R=new aq(S,E);R.attrs={x:e,y:aU,width:i,height:aS,r:aT||0,rx:aT||0,ry:aT||0,fill:"none",stroke:"#000"};R.type="rect";aC(S,R.attrs);return R;};var ac=function(i,e,aT,aS,S){e=J(e);aT=J(aT);var R=aC("ellipse");i.canvas&&i.canvas[aE](R);var E=new aq(R,i);E.attrs={cx:e,cy:aT,rx:aS,ry:S,fill:"none",stroke:"#000"};E.type="ellipse";aC(R,E.attrs);return E;};var m=function(E,aT,e,aU,i,aS){var S=aC("image");aC(S,{x:e,y:aU,width:i,height:aS,preserveAspectRatio:"none"});S.setAttributeNS(E.xlink,"href",aT);E.canvas&&E.canvas[aE](S);var R=new aq(S,E);R.attrs={x:e,y:aU,width:i,height:aS,src:aT};R.type="image";return R;};var Q=function(i,e,aS,S){var R=aC("text");aC(R,{x:e,y:aS,"text-anchor":"middle"});i.canvas&&i.canvas[aE](R);var E=new aq(R,i);E.attrs={x:e,y:aS,"text-anchor":"middle",text:S,font:h.font,stroke:"none",fill:"#000"};E.type="text";V(E,E.attrs);return E;};var aN=function(i,e){this.width=i||this.width;this.height=e||this.height;this.canvas[s]("width",this.width);this.canvas[s]("height",this.height);return this;};var t=function(){var R=aj[aO](null,arguments),E=R&&R.container,i=R.x,aU=R.y,S=R.width,e=R.height;if(!E){throw new Error("SVG container not found.");}aJ.canvas=aC("svg");var aT=aJ.canvas;aJ.width=S||512;aJ.height=e||342;aC(aT,{xmlns:"http://www.w3.org/2000/svg",version:1.1,width:aJ.width,height:aJ.height});if(E==1){aT.style.cssText="position:absolute;left:"+i+"px;top:"+aU+"px";G.body[aE](aT);}else{if(E.firstChild){E.insertBefore(aT,E.firstChild);}else{E[aE](aT);}}E={canvas:aT};for(var aS in aJ){if(aJ[L](aS)){E[aS]=aJ[aS];}}E.bottom=E.top=null;az.call(E,E,ai.fn);E.clear();E.raphael=ai;return E;};aJ.clear=function(){var e=this.canvas;while(e.firstChild){e.removeChild(e.firstChild);}this.bottom=this.top=null;(this.desc=aC("desc"))[aE](G.createTextNode("Created with Rapha\xebl"));e[aE](this.desc);e[aE](this.defs=aC("defs"));};aJ.remove=function(){this.canvas.parentNode&&this.canvas.parentNode.removeChild(this.canvas);for(var e in this){delete this[e];}};}if(ai.vml){var aA=function(a1){var aY=/[ahqtv]/ig,aT=p;(a1+am).match(aY)&&(aT=C);aY=/[clmz]/g;if(aT==p&&!(a1+am).match(aY)){var E={M:"m",L:"l",C:"c",Z:"x",m:"t",l:"r",c:"v",z:"x"},S=/([clmz]),?([^clmz]*)/gi,aS=/-?[^,\s-]+/g;var aX=(a1+am)[aI](S,function(a2,a4,i){var a3=[];i[aI](aS,function(a5){a3[d](J(a5));});return E[a4]+a3;});return aX;}var aZ=aT(a1),R,aX=[],e;for(var aV=0,a0=aZ[l];aV<a0;aV++){R=aZ[aV];e=aR.call(aZ[aV][0]);e=="z"&&(e="x");for(var aU=1,aW=R[l];aU<aW;aU++){e+=J(R[aU])+(aU!=aW-1?",":am);}aX[d](e);}return aX[ar](ah);};ai[at]=function(){return"Your browser doesn\u2019t support SVG. Falling down to VML.\nYou are running Rapha\xebl "+this.version;};var o=function(e,aS){var R=ab("group");R.style.cssText="position:absolute;left:0;top:0;width:"+aS.width+"px;height:"+aS.height+"px";R.coordsize=aS.coordsize;R.coordorigin=aS.coordorigin;var E=ab("shape"),i=E.style;i.width=aS.width+"px";i.height=aS.height+"px";E.coordsize=this.coordsize;E.coordorigin=this.coordorigin;R[aE](E);var S=new aq(E,R,aS);S.isAbsolute=true;S.type="path";S.path=[];S.Path=am;e&&V(S,{fill:"none",stroke:"#000",path:e});aS.canvas[aE](R);return S;};var V=function(aW,a1){aW.attrs=aW.attrs||{};var aZ=aW.node,a2=aW.attrs,aT=aZ.style,R,a6=aW;for(var aU in a1){if(a1[L](aU)){a2[aU]=a1[aU];}}a1.href&&(aZ.href=a1.href);a1.title&&(aZ.title=a1.title);a1.target&&(aZ.target=a1.target);a1.cursor&&(aT.cursor=a1.cursor);if(a1.path&&aW.type=="path"){a2.path=a1.path;aZ.path=aA(a2.path);}if(a1.rotation!=null){aW.rotate(a1.rotation,true);}if(a1.translation){R=(a1.translation+am)[w](a);q.call(aW,R[0],R[1]);if(aW._.rt.cx!=null){aW._.rt.cx+=+R[0];aW._.rt.cy+=+R[1];aW.setBox(aW.attrs,R[0],R[1]);}}if(a1.scale){R=(a1.scale+am)[w](a);aW.scale(+R[0]||1,+R[1]||+R[0]||1,+R[2]||null,+R[3]||null);}if("clip-rect" in a1){var e=(a1["clip-rect"]+am)[w](a);if(e[l]==4){e[2]=+e[2]+(+e[0]);e[3]=+e[3]+(+e[1]);var aV=aZ.clipRect||G.createElement("div"),a5=aV.style,aS=aZ.parentNode;a5.clip=ai.format("rect({1}px {2}px {3}px {0}px)",e);if(!aZ.clipRect){a5.position="absolute";a5.top=0;a5.left=0;a5.width=aW.paper.width+"px";a5.height=aW.paper.height+"px";aS.parentNode.insertBefore(aV,aS);aV[aE](aS);aZ.clipRect=aV;}}if(!a1["clip-rect"]){aZ.clipRect&&(aZ.clipRect.style.clip=am);}}if(aW.type=="image"&&a1.src){aZ.src=a1.src;}if(aW.type=="image"&&a1.opacity){aZ.filterOpacity=" progid:DXImageTransform.Microsoft.Alpha(opacity="+(a1.opacity*100)+")";aT.filter=(aZ.filterMatrix||am)+(aZ.filterOpacity||am);}a1.font&&(aT.font=a1.font);a1["font-family"]&&(aT.fontFamily='"'+a1["font-family"][w](",")[0][aI](/^['"]+|['"]+$/g,am)+'"');a1["font-size"]&&(aT.fontSize=a1["font-size"]);a1["font-weight"]&&(aT.fontWeight=a1["font-weight"]);a1["font-style"]&&(aT.fontStyle=a1["font-style"]);if(a1.opacity!=null||a1["stroke-width"]!=null||a1.fill!=null||a1.stroke!=null||a1["stroke-width"]!=null||a1["stroke-opacity"]!=null||a1["fill-opacity"]!=null||a1["stroke-dasharray"]!=null||a1["stroke-miterlimit"]!=null||a1["stroke-linejoin"]!=null||a1["stroke-linecap"]!=null){aZ=aW.shape||aZ;var a0=(aZ.getElementsByTagName("fill")&&aZ.getElementsByTagName("fill")[0]),a3=false;!a0&&(a3=a0=ab("fill"));if("fill-opacity" in a1||"opacity" in a1){var i=((+a2["fill-opacity"]+1||2)-1)*((+a2.opacity+1||2)-1);i<0&&(i=0);i>1&&(i=1);a0.opacity=i;}a1.fill&&(a0.on=true);if(a0.on==null||a1.fill=="none"){a0.on=false;}if(a0.on&&a1.fill){var E=a1.fill.match(c);if(E){a0.src=E[1];a0.type="tile";}else{a0.color=ai.getRGB(a1.fill).hex;a0.src=am;a0.type="solid";if(ai.getRGB(a1.fill).error&&(a6.type in {circle:1,ellipse:1}||(a1.fill+am).charAt()!="r")&&b(a6,a1.fill)){a2.fill="none";a2.gradient=a1.fill;}}}a3&&aZ[aE](a0);var S=(aZ.getElementsByTagName("stroke")&&aZ.getElementsByTagName("stroke")[0]),a4=false;!S&&(a4=S=ab("stroke"));if((a1.stroke&&a1.stroke!="none")||a1["stroke-width"]||a1["stroke-opacity"]!=null||a1["stroke-dasharray"]||a1["stroke-miterlimit"]||a1["stroke-linejoin"]||a1["stroke-linecap"]){S.on=true;}(a1.stroke=="none"||S.on==null||a1.stroke==0||a1["stroke-width"]==0)&&(S.on=false);S.on&&a1.stroke&&(S.color=ai.getRGB(a1.stroke).hex);var i=((+a2["stroke-opacity"]+1||2)-1)*((+a2.opacity+1||2)-1),aX=(P(a1["stroke-width"])||1)*0.75;i<0&&(i=0);i>1&&(i=1);a1["stroke-width"]==null&&(aX=a2["stroke-width"]);a1["stroke-width"]&&(S.weight=aX);aX&&aX<1&&(i*=aX)&&(S.weight=1);S.opacity=i;a1["stroke-linejoin"]&&(S.joinstyle=a1["stroke-linejoin"]||"miter");S.miterlimit=a1["stroke-miterlimit"]||8;a1["stroke-linecap"]&&(S.endcap=a1["stroke-linecap"]=="butt"?"flat":a1["stroke-linecap"]=="square"?"square":"round");if(a1["stroke-dasharray"]){var aY={"-":"shortdash",".":"shortdot","-.":"shortdashdot","-..":"shortdashdotdot",". ":"dot","- ":"dash","--":"longdash","- .":"dashdot","--.":"longdashdot","--..":"longdashdotdot"};S.dashstyle=aY[L](a1["stroke-dasharray"])?aY[a1["stroke-dasharray"]]:am;}a4&&aZ[aE](S);}if(a6.type=="text"){var aT=a6.paper.span.style;a2.font&&(aT.font=a2.font);a2["font-family"]&&(aT.fontFamily=a2["font-family"]);a2["font-size"]&&(aT.fontSize=a2["font-size"]);a2["font-weight"]&&(aT.fontWeight=a2["font-weight"]);a2["font-style"]&&(aT.fontStyle=a2["font-style"]);a6.node.string&&(a6.paper.span.innerHTML=(a6.node.string+am)[aI](/</g,"&#60;")[aI](/&/g,"&#38;")[aI](/\n/g,"<br>"));a6.W=a2.w=a6.paper.span.offsetWidth;a6.H=a2.h=a6.paper.span.offsetHeight;a6.X=a2.x;a6.Y=a2.y+J(a6.H/2);switch(a2["text-anchor"]){case"start":a6.node.style["v-text-align"]="left";a6.bbx=J(a6.W/2);break;case"end":a6.node.style["v-text-align"]="right";a6.bbx=-J(a6.W/2);break;default:a6.node.style["v-text-align"]="center";break;}}};var b=function(e,aU){e.attrs=e.attrs||{};var aV=e.attrs,aX=e.node.getElementsByTagName("fill"),aS="linear",aT=".5 .5";e.attrs.gradient=aU;aU=(aU+am)[aI](al,function(aZ,a0,i){aS="radial";if(a0&&i){a0=P(a0);i=P(i);aF(a0-0.5,2)+aF(i-0.5,2)>0.25&&(i=W.sqrt(0.25-aF(a0-0.5,2))*((i>0.5)*2-1)+0.5);aT=a0+ah+i;}return am;});aU=aU[w](/\s*\-\s*/);if(aS=="linear"){var E=aU.shift();E=-P(E);if(isNaN(E)){return null;}}var S=n(aU);if(!S){return null;}e=e.shape||e.node;aX=aX[0]||ab("fill");if(S[l]){aX.on=true;aX.method="none";aX.type=(aS=="radial")?"gradientradial":"gradient";aX.color=S[0].color;aX.color2=S[S[l]-1].color;var aY=[];for(var R=0,aW=S[l];R<aW;R++){S[R].offset&&aY[d](S[R].offset+ah+S[R].color);}aX.colors&&(aX.colors.value=aY[l]?aY[ar](","):"0% "+aX.color);if(aS=="radial"){aX.focus="100%";aX.focussize=aT;aX.focusposition=aT;}else{aX.angle=(270-E)%360;}}return 1;};var aq=function(S,aT,e){var aS=0,E=0,i=0,R=1;this[0]=S;this.id=ai._oid++;this.node=S;S.raphael=this;this.X=0;this.Y=0;this.attrs={};this.Group=aT;this.paper=e;this._={tx:0,ty:0,rt:{deg:0},sx:1,sy:1};!e.bottom&&(e.bottom=this);this.prev=e.top;e.top&&(e.top.next=this);e.top=this;this.next=null;};aq[aQ].rotate=function(i,e,E){if(this.removed){return this;}if(i==null){if(this._.rt.cx){return[this._.rt.deg,this._.rt.cx,this._.rt.cy][ar](ah);}return this._.rt.deg;}i=(i+am)[w](a);if(i[l]-1){e=P(i[1]);E=P(i[2]);}i=P(i[0]);if(e!=null){this._.rt.deg=i;}else{this._.rt.deg+=i;}E==null&&(e=null);this._.rt.cx=e;this._.rt.cy=E;this.setBox(this.attrs,e,E);this.Group.style.rotation=this._.rt.deg;return this;};aq[aQ].setBox=function(a4,E,e){if(this.removed){return this;}var aY=this.Group.style,S=(this.shape&&this.shape.style)||this.node.style;a4=a4||{};for(var a2 in a4){if(a4[L](a2)){this.attrs[a2]=a4[a2];}}E=E||this._.rt.cx;e=e||this._.rt.cy;var a0=this.attrs,aU,aT,aV,a3;switch(this.type){case"circle":aU=a0.cx-a0.r;aT=a0.cy-a0.r;aV=a3=a0.r*2;break;case"ellipse":aU=a0.cx-a0.rx;aT=a0.cy-a0.ry;aV=a0.rx*2;a3=a0.ry*2;break;case"rect":case"image":aU=+a0.x;aT=+a0.y;aV=a0.width||0;a3=a0.height||0;break;case"text":this.textpath.v=["m",J(a0.x),", ",J(a0.y-2),"l",J(a0.x)+1,", ",J(a0.y-2)][ar](am);aU=a0.x-J(this.W/2);aT=a0.y-this.H/2;aV=this.W;a3=this.H;break;case"path":if(!this.attrs.path){aU=0;aT=0;aV=this.paper.width;a3=this.paper.height;}else{var a1=N(this.attrs.path);aU=a1.x;aT=a1.y;aV=a1.width;a3=a1.height;}break;default:aU=0;aT=0;aV=this.paper.width;a3=this.paper.height;break;}E=(E==null)?aU+aV/2:E;e=(e==null)?aT+a3/2:e;var R=E-this.paper.width/2,aX=e-this.paper.height/2;if(this.type=="path"||this.type=="text"){(aY.left!=R+"px")&&(aY.left=R+"px");(aY.top!=aX+"px")&&(aY.top=aX+"px");this.X=this.type=="text"?aU:-R;this.Y=this.type=="text"?aT:-aX;this.W=aV;this.H=a3;(S.left!=-R+"px")&&(S.left=-R+"px");(S.top!=-aX+"px")&&(S.top=-aX+"px");}else{(aY.left!=R+"px")&&(aY.left=R+"px");(aY.top!=aX+"px")&&(aY.top=aX+"px");this.X=aU;this.Y=aT;this.W=aV;this.H=a3;(aY.width!=this.paper.width+"px")&&(aY.width=this.paper.width+"px");(aY.height!=this.paper.height+"px")&&(aY.height=this.paper.height+"px");(S.left!=aU-R+"px")&&(S.left=aU-R+"px");(S.top!=aT-aX+"px")&&(S.top=aT-aX+"px");(S.width!=aV+"px")&&(S.width=aV+"px");(S.height!=a3+"px")&&(S.height=a3+"px");var aS=(+a4.r||0)/aB(aV,a3);if(this.type=="rect"&&this.arcsize.toFixed(4)!=aS.toFixed(4)&&(aS||this.arcsize)){var aZ=ab("roundrect"),a5={},a2=0,aW=this.events&&this.events[l];aZ.arcsize=aS;aZ.raphael=this;this.Group[aE](aZ);this.Group.removeChild(this.node);this[0]=this.node=aZ;this.arcsize=aS;for(var a2 in a0){a5[a2]=a0[a2];}delete a5.scale;this.attr(a5);if(this.events){for(;a2<aW;a2++){this.events[a2].unbind=Z(this.node,this.events[a2].name,this.events[a2].f,this);}}}}};aq[aQ].hide=function(){!this.removed&&(this.Group.style.display="none");return this;};aq[aQ].show=function(){!this.removed&&(this.Group.style.display="block");return this;};aq[aQ].getBBox=function(){if(this.removed){return this;}if(this.type=="path"){return N(this.attrs.path);}return{x:this.X+(this.bbx||0),y:this.Y,width:this.W,height:this.H};};aq[aQ].remove=function(){if(this.removed){return;}af(this,this.paper);this.node.parentNode.removeChild(this.node);this.Group.parentNode.removeChild(this.Group);this.shape&&this.shape.parentNode.removeChild(this.shape);for(var e in this){delete this[e];}this.removed=true;};aq[aQ].attr=function(){if(this.removed){return this;}if(arguments[l]==0){var R={};for(var E in this.attrs){if(this.attrs[L](E)){R[E]=this.attrs[E];}}this._.rt.deg&&(R.rotation=this.rotate());(this._.sx!=1||this._.sy!=1)&&(R.scale=this.scale());R.gradient&&R.fill=="none"&&(R.fill=R.gradient)&&delete R.gradient;return R;}if(arguments[l]==1&&ai.is(arguments[0],"string")){if(arguments[0]=="translation"){return q.call(this);}if(arguments[0]=="rotation"){return this.rotate();}if(arguments[0]=="scale"){return this.scale();}if(arguments[0]=="fill"&&this.attrs.fill=="none"&&this.attrs.gradient){return this.attrs.gradient;}return this.attrs[arguments[0]];}if(this.attrs&&arguments[l]==1&&ai.is(arguments[0],"array")){var e={};for(var E=0,S=arguments[0][l];E<S;E++){e[arguments[0][E]]=this.attrs[arguments[0][E]];}return e;}var aS;if(arguments[l]==2){aS={};aS[arguments[0]]=arguments[1];}arguments[l]==1&&ai.is(arguments[0],"object")&&(aS=arguments[0]);if(aS){if(aS.text&&this.type=="text"){this.node.string=aS.text;}V(this,aS);if(aS.gradient&&(({circle:1,ellipse:1})[L](this.type)||(aS.gradient+am).charAt()!="r")){b(this,aS.gradient);}(this.type!="path"||this._.rt.deg)&&this.setBox(this.attrs);}return this;};aq[aQ].toFront=function(){!this.removed&&this.Group.parentNode[aE](this.Group);this.paper.top!=this&&T(this,this.paper);return this;};aq[aQ].toBack=function(){if(this.removed){return this;}if(this.Group.parentNode.firstChild!=this.Group){this.Group.parentNode.insertBefore(this.Group,this.Group.parentNode.firstChild);j(this,this.paper);}return this;};aq[aQ].insertAfter=function(e){if(this.removed){return this;}if(e.Group.nextSibling){e.Group.parentNode.insertBefore(this.Group,e.Group.nextSibling);}else{e.Group.parentNode[aE](this.Group);}x(this,e,this.paper);return this;};aq[aQ].insertBefore=function(e){if(this.removed){return this;}e.Group.parentNode.insertBefore(this.Group,e.Group);ak(this,e,this.paper);return this;};var K=function(i,e,aU,aS){var S=ab("group"),aT=ab("oval"),E=aT.style;S.style.cssText="position:absolute;left:0;top:0;width:"+i.width+"px;height:"+i.height+"px";S.coordsize=i.coordsize;S.coordorigin=i.coordorigin;S[aE](aT);var R=new aq(aT,S,i);R.type="circle";V(R,{stroke:"#000",fill:"none"});R.attrs.cx=e;R.attrs.cy=aU;R.attrs.r=aS;R.setBox({x:e-aS,y:aU-aS,width:aS*2,height:aS*2});i.canvas[aE](S);return R;};var ay=function(i,aU,aT,aV,R,e){var S=ab("group"),E=ab("roundrect"),aW=(+e||0)/(aB(aV,R));S.style.cssText="position:absolute;left:0;top:0;width:"+i.width+"px;height:"+i.height+"px";S.coordsize=i.coordsize;S.coordorigin=i.coordorigin;S[aE](E);E.arcsize=aW;var aS=new aq(E,S,i);aS.type="rect";V(aS,{stroke:"#000"});aS.arcsize=aW;aS.setBox({x:aU,y:aT,width:aV,height:R,r:e});i.canvas[aE](S);return aS;};var ac=function(e,aV,aU,E,i){var S=ab("group"),R=ab("oval"),aT=R.style;S.style.cssText="position:absolute;left:0;top:0;width:"+e.width+"px;height:"+e.height+"px";S.coordsize=e.coordsize;S.coordorigin=e.coordorigin;S[aE](R);var aS=new aq(R,S,e);aS.type="ellipse";V(aS,{stroke:"#000"});aS.attrs.cx=aV;aS.attrs.cy=aU;aS.attrs.rx=E;aS.attrs.ry=i;aS.setBox({x:aV-E,y:aU-i,width:E*2,height:i*2});e.canvas[aE](S);return aS;};var m=function(i,e,aV,aU,aW,R){var S=ab("group"),E=ab("image"),aT=E.style;S.style.cssText="position:absolute;left:0;top:0;width:"+i.width+"px;height:"+i.height+"px";S.coordsize=i.coordsize;S.coordorigin=i.coordorigin;E.src=e;S[aE](E);var aS=new aq(E,S,i);aS.type="image";aS.attrs.src=e;aS.attrs.x=aV;aS.attrs.y=aU;aS.attrs.w=aW;aS.attrs.h=R;aS.setBox({x:aV,y:aU,width:aW,height:R});i.canvas[aE](S);return aS;};var Q=function(i,aV,aU,aW){var S=ab("group"),R=ab("shape"),aT=R.style,aX=ab("path"),e=aX.style,E=ab("textpath");S.style.cssText="position:absolute;left:0;top:0;width:"+i.width+"px;height:"+i.height+"px";S.coordsize=i.coordsize;S.coordorigin=i.coordorigin;aX.v=ai.format("m{0},{1}l{2},{1}",J(aV),J(aU),J(aV)+1);aX.textpathok=true;aT.width=i.width;aT.height=i.height;E.string=aW+am;E.on=true;R[aE](E);R[aE](aX);S[aE](R);var aS=new aq(E,S,i);aS.shape=R;aS.textpath=aX;aS.type="text";aS.attrs.text=aW;aS.attrs.x=aV;aS.attrs.y=aU;aS.attrs.w=1;aS.attrs.h=1;V(aS,{font:h.font,stroke:"none",fill:"#000"});aS.setBox();i.canvas[aE](S);return aS;};var aN=function(E,e){var i=this.canvas.style;E==+E&&(E+="px");e==+e&&(e+="px");i.width=E;i.height=e;i.clip="rect(0 "+E+" "+e+" 0)";return this;};G.createStyleSheet().addRule(".rvml","behavior:url(#default#VML)");try{!G.namespaces.rvml&&G.namespaces.add("rvml","urn:schemas-microsoft-com:vml");var ab=function(e){return G.createElement("<rvml:"+e+' class="rvml">');};}catch(aa){var ab=function(e){return G.createElement("<"+e+' xmlns="urn:schemas-microsoft.com:vml" class="rvml">');};}var t=function(){var R=aj[aO](null,arguments),i=R.container,aW=R.height,aX,E=R.width,aV=R.x,aU=R.y;if(!i){throw new Error("VML container not found.");}var aS={},aT=aS.canvas=G.createElement("div"),S=aT.style;E=E||512;aW=aW||342;E==+E&&(E+="px");aW==+aW&&(aW+="px");aS.width=1000;aS.height=1000;aS.coordsize="1000 1000";aS.coordorigin="0 0";aS.span=G.createElement("span");aS.span.style.cssText="position:absolute;left:-9999px;top:-9999px;padding:0;margin:0;line-height:1;display:inline;";aT[aE](aS.span);S.cssText=ai.format("width:{0};height:{1};position:absolute;clip:rect(0 {0} {1} 0);overflow:hidden",E,aW);if(i==1){G.body[aE](aT);S.left=aV+"px";S.top=aU+"px";i={style:{width:E,height:aW}};}else{i.style.width=E;i.style.height=aW;if(i.firstChild){i.insertBefore(aT,i.firstChild);}else{i[aE](aT);}}for(var e in aJ){if(aJ[L](e)){aS[e]=aJ[e];}}az.call(aS,aS,ai.fn);aS.top=aS.bottom=null;aS.raphael=ai;return aS;};aJ.clear=function(){this.canvas.innerHTML=am;this.bottom=this.top=null;};aJ.remove=function(){this.canvas.parentNode.removeChild(this.canvas);for(var e in this){delete this[e];}};}if((/^Apple|^Google/).test(navigator.vendor)&&!(navigator.userAgent.indexOf("Version/4.0")+1)){aJ.safari=function(){var e=this.rect(-99,-99,this.width+99,this.height+99);setTimeout(function(){e.remove();});};}else{aJ.safari=function(){};}var Z=(function(){if(G.addEventListener){return function(S,E,i,e){var R=function(aS){return i.call(e,aS);};S.addEventListener(E,R,false);return function(){S.removeEventListener(E,R,false);return true;};};}else{if(G.attachEvent){return function(aS,R,E,i){var S=function(aT){return E.call(i,aT||an.event);};aS.attachEvent("on"+R,S);var e=function(){aS.detachEvent("on"+R,S);return true;};return e;};}}})();for(var X=A[l];X--;){(function(e){aq[aQ][e]=function(i){if(ai.is(i,"function")){this.events=this.events||[];this.events.push({name:e,f:i,unbind:Z(this.shape||this.node,e,i,this)});}return this;};aq[aQ]["un"+e]=function(R){var E=this.events,i=E[l];while(i--){if(E[i].name==e&&E[i].f==R){E[i].unbind();E.splice(i,1);!E.length&&delete this.events;return this;}}return this;};})(A[X]);}aq[aQ].hover=function(i,e){return this.mouseover(i).mouseout(e);};aq[aQ].unhover=function(i,e){return this.unmouseover(i).unmouseout(e);};aJ.circle=function(e,E,i){return K(this,e||0,E||0,i||0);};aJ.rect=function(e,S,i,E,R){return ay(this,e||0,S||0,i||0,E||0,R||0);};aJ.ellipse=function(e,R,E,i){return ac(this,e||0,R||0,E||0,i||0);};aJ.path=function(e){e&&!ai.is(e,"string")&&!ai.is(e[0],"array")&&(e+=am);return o(ai.format[aO](ai,arguments),this);};aJ.image=function(R,e,S,i,E){return m(this,R||"about:blank",e||0,S||0,i||0,E||0);};aJ.text=function(e,E,i){return Q(this,e||0,E||0,i||am);};aJ.set=function(e){arguments[l]>1&&(e=Array[aQ].splice.call(arguments,0,arguments[l]));return new M(e);};aJ.setSize=aN;function r(){return this.x+ah+this.y;}aq[aQ].scale=function(aZ,aY,R,E){if(aZ==null&&aY==null){return{x:this._.sx,y:this._.sy,toString:r};}aY=aY||aZ;!+aY&&(aY=aZ);var a3,a1,a2,a0,bf=this.attrs;if(aZ!=0){var aX=this.getBBox(),aU=aX.x+aX.width/2,S=aX.y+aX.height/2,be=aZ/this._.sx,bd=aY/this._.sy;R=(+R||R==0)?R:aU;E=(+E||E==0)?E:S;var aW=~~(aZ/W.abs(aZ)),aT=~~(aY/W.abs(aY)),a5=this.node.style,bh=R+(aU-R)*be,bg=E+(S-E)*bd;switch(this.type){case"rect":case"image":var aV=bf.width*aW*be,a8=bf.height*aT*bd;this.attr({height:newh,r:bf.r*aB(aW*be,aT*bd),width:aV,x:bh-aV/2,y:bg-newh/2});break;case"circle":case"ellipse":this.attr({rx:bf.rx*aW*be,ry:bf.ry*aT*bd,r:bf.r*aB(aW*be,aT*bd),cx:bh,cy:bg});break;case"path":var a7=Y(bf.path),a9=true;for(var bc=0,a4=a7[l];bc<a4;bc++){var a6=a7[bc],ba,aS=aG.call(a6[0]);if(aS=="M"&&a9){continue;}else{a9=false;}if(aS=="A"){a6[a7[bc][l]-2]*=be;a6[a7[bc][l]-1]*=bd;a6[1]*=aW*be;a6[2]*=aT*bd;a6[5]=+(aW+aT?!!+a6[5]:!+a6[5]);}else{if(aS=="H"){for(ba=1,jj=a6[l];ba<jj;ba++){a6[ba]*=be;}}else{if(aS=="V"){for(ba=1,jj=a6[l];ba<jj;ba++){a6[ba]*=bd;}}else{for(ba=1,jj=a6[l];ba<jj;ba++){a6[ba]*=(ba%2)?be:bd;}}}}}var e=N(a7),a3=bh-e.x-e.width/2,a1=bg-e.y-e.height/2;a7[0][1]+=a3;a7[0][2]+=a1;this.attr({path:a7});break;}if(this.type in {text:1,image:1}&&(aW!=1||aT!=1)){if(this.transformations){this.transformations[2]="scale("[aL](aW,",",aT,")");this.node[s]("transform",this.transformations[ar](ah));a3=(aW==-1)?-bf.x-(aV||0):bf.x;a1=(aT==-1)?-bf.y-(newh||0):bf.y;this.attr({x:a3,y:a1});bf.fx=aW-1;bf.fy=aT-1;}else{this.node.filterMatrix=" progid:DXImageTransform.Microsoft.Matrix(M11="[aL](aW,", M12=0, M21=0, M22=",aT,", Dx=0, Dy=0, sizingmethod='auto expand', filtertype='bilinear')");a5.filter=(this.node.filterMatrix||am)+(this.node.filterOpacity||am);}}else{if(this.transformations){this.transformations[2]=am;this.node[s]("transform",this.transformations[ar](ah));bf.fx=0;bf.fy=0;}else{this.node.filterMatrix=am;a5.filter=(this.node.filterMatrix||am)+(this.node.filterOpacity||am);}}bf.scale=[aZ,aY,R,E][ar](ah);this._.sx=aZ;this._.sy=aY;}return this;};aq[aQ].clone=function(){var e=this.attr();delete e.scale;delete e.translation;return this.paper[this.type]().attr(e);};ai.easing_formulas={linear:function(e){return e;},"<":function(e){return aF(e,3);},">":function(e){return aF(e-1,3)+1;},"<>":function(e){e=e*2;if(e<1){return aF(e,3)/2;}e-=2;return(aF(e,3)+2)/2;},backIn:function(i){var e=1.70158;return i*i*((e+1)*i-e);},backOut:function(i){i=i-1;var e=1.70158;return i*i*((e+1)*i+e)+1;},elastic:function(E){if(E==0||E==1){return E;}var i=0.3,e=i/4;return aF(2,-10*E)*W.sin((E-e)*(2*W.PI)/i)+1;},bounce:function(R){var i=7.5625,E=2.75,e;if(R<(1/E)){e=i*R*R;}else{if(R<(2/E)){R-=(1.5/E);e=i*R*R+0.75;}else{if(R<(2.5/E)){R-=(2.25/E);e=i*R*R+0.9375;}else{R-=(2.625/E);e=i*R*R+0.984375;}}}return e;}};var D={length:0},aK=function(){var aV=+new Date;for(var a6 in D){if(a6!="length"&&D[L](a6)){var bb=D[a6];if(bb.stop){delete D[a6];D[l]--;continue;}var aT=aV-bb.start,a4=bb.ms,a3=bb.easing,a7=bb.from,a0=bb.diff,R=bb.to,aZ=bb.t,a2=bb.prev||0,aU=bb.el,S=bb.callback,a1={},E;if(aT<a4){var aS=ai.easing_formulas[a3]?ai.easing_formulas[a3](aT/a4):aT/a4;for(var a5 in a7){if(a7[L](a5)){switch(U[a5]){case"number":E=+a7[a5]+aS*a4*a0[a5];break;case"colour":E="rgb("+[y(J(a7[a5].r+aS*a4*a0[a5].r)),y(J(a7[a5].g+aS*a4*a0[a5].g)),y(J(a7[a5].b+aS*a4*a0[a5].b))][ar](",")+")";break;case"path":E=[];for(var a9=0,aY=a7[a5][l];a9<aY;a9++){E[a9]=[a7[a5][a9][0]];for(var a8=1,ba=a7[a5][a9][l];a8<ba;a8++){E[a9][a8]=+a7[a5][a9][a8]+aS*a4*a0[a5][a9][a8];}E[a9]=E[a9][ar](ah);}E=E[ar](ah);break;case"csv":switch(a5){case"translation":var aX=a0[a5][0]*(aT-a2),aW=a0[a5][1]*(aT-a2);aZ.x+=aX;aZ.y+=aW;E=aX+ah+aW;break;case"rotation":E=+a7[a5][0]+aS*a4*a0[a5][0];a7[a5][1]&&(E+=","+a7[a5][1]+","+a7[a5][2]);break;case"scale":E=[+a7[a5][0]+aS*a4*a0[a5][0],+a7[a5][1]+aS*a4*a0[a5][1],(2 in R[a5]?R[a5][2]:am),(3 in R[a5]?R[a5][3]:am)][ar](ah);break;case"clip-rect":E=[];var a9=4;while(a9--){E[a9]=+a7[a5][a9]+aS*a4*a0[a5][a9];}break;}break;}a1[a5]=E;}}aU.attr(a1);aU._run&&aU._run.call(aU);}else{(aZ.x||aZ.y)&&aU.translate(-aZ.x,-aZ.y);R.scale&&(R.scale=R.scale+am);aU.attr(R);delete D[a6];D[l]--;aU.in_animation=null;ai.is(S,"function")&&S.call(aU);}bb.prev=aT;}}ai.svg&&aJ.safari();D[l]&&setTimeout(aK);},y=function(e){return e>255?255:(e<0?0:e);},q=function(e,E){if(e==null){return{x:this._.tx,y:this._.ty,toString:r};}this._.tx+=+e;this._.ty+=+E;switch(this.type){case"circle":case"ellipse":this.attr({cx:+e+this.attrs.cx,cy:+E+this.attrs.cy});break;case"rect":case"image":case"text":this.attr({x:+e+this.attrs.x,y:+E+this.attrs.y});break;case"path":var i=Y(this.attrs.path);i[0][1]+=+e;i[0][2]+=+E;this.attr({path:i});break;}return this;};aq[aQ].animateWith=function(i,E,e,S,R){D[i.id]&&(E.start=D[i.id].start);return this.animate(E,e,S,R);};aq[aQ].onAnimation=function(e){this._run=e||null;return this;};aq[aQ].animate=function(S,e,aY,a4){if(ai.is(aY,"function")||!aY){a4=aY||null;}var aZ={},a0={},a1={};for(var aX in S){if(S[L](aX)){if(U[L](aX)){aZ[aX]=this.attr(aX);(aZ[aX]==null)&&(aZ[aX]=h[aX]);a0[aX]=S[aX];switch(U[aX]){case"number":a1[aX]=(a0[aX]-aZ[aX])/e;break;case"colour":aZ[aX]=ai.getRGB(aZ[aX]);var aV=ai.getRGB(a0[aX]);a1[aX]={r:(aV.r-aZ[aX].r)/e,g:(aV.g-aZ[aX].g)/e,b:(aV.b-aZ[aX].b)/e};break;case"path":var E=C(aZ[aX],a0[aX]);aZ[aX]=E[0];var R=E[1];a1[aX]=[];for(var aU=0,a3=aZ[aX][l];aU<a3;aU++){a1[aX][aU]=[0];for(var aS=1,aW=aZ[aX][aU][l];aS<aW;aS++){a1[aX][aU][aS]=(R[aU][aS]-aZ[aX][aU][aS])/e;}}break;case"csv":var a2=(S[aX]+am)[w](a),aT=(aZ[aX]+am)[w](a);switch(aX){case"translation":aZ[aX]=[0,0];a1[aX]=[a2[0]/e,a2[1]/e];break;case"rotation":aZ[aX]=(aT[1]==a2[1]&&aT[2]==a2[2])?aT:[0,a2[1],a2[2]];a1[aX]=[(a2[0]-aZ[aX][0])/e,0,0];break;case"scale":S[aX]=a2;aZ[aX]=(aZ[aX]+am)[w](a);a1[aX]=[(a2[0]-aZ[aX][0])/e,(a2[1]-aZ[aX][1])/e,0,0];break;case"clip-rect":aZ[aX]=(aZ[aX]+am)[w](a);a1[aX]=[];var aU=4;while(aU--){a1[aX][aU]=(a2[aU]-aZ[aX][aU])/e;}break;}a0[aX]=a2;}}}}this.stop();this.in_animation=1;D[this.id]={start:S.start||+new Date,ms:e,easing:aY,from:aZ,diff:a1,to:a0,el:this,callback:a4,t:{x:0,y:0}};++D[l]==1&&aK();return this;};aq[aQ].stop=function(){D[this.id]&&D[l]--;delete D[this.id];return this;};aq[aQ].translate=function(e,i){return this.attr({translation:e+" "+i});};aq[aQ][at]=function(){return"Rapha\xebl\u2019s object";};ai.ae=D;var M=function(e){this.items=[];this[l]=0;if(e){for(var E=0,R=e[l];E<R;E++){if(e[E]&&(e[E].constructor==aq||e[E].constructor==M)){this[this.items[l]]=this.items[this.items[l]]=e[E];this[l]++;}}}};M[aQ][d]=function(){var S,e;for(var E=0,R=arguments[l];E<R;E++){S=arguments[E];if(S&&(S.constructor==aq||S.constructor==M)){e=this.items[l];this[e]=this.items[e]=S;this[l]++;}}return this;};M[aQ].pop=function(){delete this[this[l]--];return this.items.pop();};for(var v in aq[aQ]){if(aq[aQ][L](v)){M[aQ][v]=(function(e){return function(){for(var E=0,R=this.items[l];E<R;E++){this.items[E][e][aO](this.items[E],arguments);}return this;};})(v);}}M[aQ].attr=function(E,aT){if(E&&ai.is(E,"array")&&ai.is(E[0],"object")){for(var e=0,aS=E[l];e<aS;e++){this.items[e].attr(E[e]);}}else{for(var R=0,S=this.items[l];R<S;R++){this.items[R].attr[aO](this.items[R],arguments);}}return this;};M[aQ].animate=function(aS,E,aV,aU){(ai.is(aV,"function")||!aV)&&(aU=aV||null);var e=this.items[l],R=e,aT=this,S;aU&&(S=function(){!--e&&aU.call(aT);});this.items[--R].animate(aS,E,aV||S,S);while(R--){this.items[R].animateWith(this.items[e-1],aS,E,aV||S,S);}return this;};M[aQ].insertAfter=function(E){var e=this.items[l];while(e--){this.items[e].insertAfter(E);}return this;};M[aQ].getBBox=function(){var e=[],aT=[],E=[],S=[];for(var R=this.items[l];R--;){var aS=this.items[R].getBBox();e[d](aS.x);aT[d](aS.y);E[d](aS.x+aS.width);S[d](aS.y+aS.height);}e=aB[aO](0,e);aT=aB[aO](0,aT);return{x:e,y:aT,width:f[aO](0,E)-e,height:f[aO](0,S)-aT};};ai.registerFont=function(i){if(!i.face){return i;}this.fonts=this.fonts||{};var R={w:i.w,face:{},glyphs:{}},E=i.face["font-family"];for(var aT in i.face){if(i.face[L](aT)){R.face[aT]=i.face[aT];}}if(this.fonts[E]){this.fonts[E][d](R);}else{this.fonts[E]=[R];}if(!i.svg){R.face["units-per-em"]=B(i.face["units-per-em"],10);for(var S in i.glyphs){if(i.glyphs[L](S)){var aS=i.glyphs[S];R.glyphs[S]={w:aS.w,k:{},d:aS.d&&"M"+aS.d[aI](/[mlcxtrv]/g,function(aU){return{l:"L",c:"C",x:"z",t:"m",r:"l",v:"c"}[aU]||"M";})+"z"};if(aS.k){for(var e in aS.k){if(aS[L](e)){R.glyphs[S].k[e]=aS.k[e];}}}}}}return i;};aJ.getFont=function(aV,aW,E,S){S=S||"normal";E=E||"normal";aW=+aW||{normal:400,bold:700,lighter:300,bolder:800}[aW]||400;var aS=ai.fonts[aV];if(!aS){var R=new RegExp("(^|\\s)"+aV[aI](/[^\w\d\s+!~.:_-]/g,am)+"(\\s|$)","i");for(var e in ai.fonts){if(ai.fonts[L](e)){if(R.test(e)){aS=ai.fonts[e];break;}}}}var aT;if(aS){for(var aU=0,aX=aS[l];aU<aX;aU++){aT=aS[aU];if(aT.face["font-weight"]==aW&&(aT.face["font-style"]==E||!aT.face["font-style"])&&aT.face["font-stretch"]==S){break;}}}return aT;};aJ.print=function(S,R,e,aU,aV,a4){a4=a4||"middle";var a0=this.set(),a3=(e+am)[w](am),a1=0,aX=am,a5;ai.is(aU,"string")&&(aU=this.getFont(aU));if(aU){a5=(aV||16)/aU.face["units-per-em"];var E=aU.face.bbox.split(a),aT=+E[0],aW=+E[1]+(a4=="baseline"?E[3]-E[1]+(+aU.face.descent):(E[3]-E[1])/2);for(var aZ=0,aS=a3[l];aZ<aS;aZ++){var aY=aZ&&aU.glyphs[a3[aZ-1]]||{},a2=aU.glyphs[a3[aZ]];a1+=aZ?(aY.w||aU.w)+(aY.k&&aY.k[a3[aZ]]||0):0;a2&&a2.d&&a0[d](this.path(a2.d).attr({fill:"#000",stroke:"none",translation:[a1,0]}));}a0.scale(a5,a5,aT,aW).translate(S-aT,R-aW);}return a0;};ai.format=function(E){var i=ai.is(arguments[1],"array")?[0][aL](arguments[1]):arguments,e=/\{(\d+)\}/g;E&&ai.is(E,"string")&&i[l]-1&&(E=E[aI](e,function(S,R){return i[++R]==null?am:i[R];}));return E||am;};ai.ninja=function(){var E=an.Raphael,i;if(k.was){an.Raphael=k.is;}else{try{delete an.Raphael;}catch(R){an.Raphael=i;}}return E;};ai.el=aq[aQ];return ai;})();
\ No newline at end of file
+window.Raphael=(function(){var a=/[, ]+/,aK=/^(circle|rect|path|ellipse|text|image)$/,I=document,aq=window,l={was:"Raphael" in aq,is:aq.Raphael},al=function(){if(al.is(arguments[0],"array")){var d=arguments[0],e=v[aS](al,d.splice(0,3+al.is(d[0],aj))),S=e.set();for(var R=0,aW=d[m];R<aW;R++){var E=d[R]||{};aK.test(E.type)&&S[f](e[E.type]().attr(E));}return S;}return v[aS](al,arguments);},aP=function(){},aH="appendChild",aS="apply",aO="concat",ap="",ak=" ",C="click dblclick mousedown mousemove mouseout mouseover mouseup".split(ak),N="hasOwnProperty",ah=/^\[object\s+|\]$/gi,av="join",m="length",aU="prototype",aV=String[aU].toLowerCase,Y=Math,g=Y.max,aE=Y.min,aj="number",aw="toString",at=Object[aU][aw],aM={},aI=Y.pow,f="push",aQ=/^(?=[\da-f]$)/,c=/^url\(['"]?([^\)]+)['"]?\)$/i,w=/^\s*((#[a-f\d]{6})|(#[a-f\d]{3})|rgb\(\s*([\d\.]+\s*,\s*[\d\.]+\s*,\s*[\d\.]+)\s*\)|rgb\(\s*([\d\.]+%\s*,\s*[\d\.]+%\s*,\s*[\d\.]+%)\s*\)|hs[bl]\(\s*([\d\.]+\s*,\s*[\d\.]+\s*,\s*[\d\.]+)\s*\)|hs[bl]\(\s*([\d\.]+%\s*,\s*[\d\.]+%\s*,\s*[\d\.]+%)\s*\))\s*$/i,L=Y.round,u="setAttribute",y="split",T=parseFloat,D=parseInt,aJ=String[aU].toUpperCase,j={"clip-rect":"0 0 10e9 10e9",cursor:"default",cx:0,cy:0,fill:"#fff","fill-opacity":1,font:'10px "Arial"',"font-family":'"Arial"',"font-size":"10","font-style":"normal","font-weight":400,gradient:0,height:0,href:"http://raphaeljs.com/",opacity:1,path:"M0,0",r:0,rotation:0,rx:0,ry:0,scale:"1 1",src:"",stroke:"#000","stroke-dasharray":"","stroke-linecap":"butt","stroke-linejoin":"butt","stroke-miterlimit":0,"stroke-opacity":1,"stroke-width":1,target:"_blank","text-anchor":"middle",title:"Raphael",translation:"0 0",width:0,x:0,y:0},W={"clip-rect":"csv",cx:aj,cy:aj,fill:"colour","fill-opacity":aj,"font-size":aj,height:aj,opacity:aj,path:"path",r:aj,rotation:"csv",rx:aj,ry:aj,scale:"csv",stroke:"colour","stroke-opacity":aj,"stroke-width":aj,translation:"csv",width:aj,x:aj,y:aj},aL="replace";al.version="1.2.9dev";al.type=(aq.SVGAngle||I.implementation.hasFeature("http://www.w3.org/TR/SVG11/feature#BasicStructure",1.1)?"SVG":"VML");if(al.type=="VML"){var ad=document.createElement("div");ad.innerHTML="<!--[if vml]><br><br><![endif]-->";if(ad.childNodes[m]!=2){return null;}}al.svg=!(al.vml=al.type=="VML");al._id=0;al._oid=0;al.fn={};al.is=function(e,d){d=aV.call(d);return((d=="object"||d=="undefined")&&typeof e==d)||(e==null&&d=="null")||aV.call(at.call(e)[aL](ah,ap))==d;};al.setWindow=function(d){aq=d;I=aq.document;};var az=function(e){if(al.vml){var d=/^\s+|\s+$/g;az=ag(function(R){var S;R=(R+ap)[aL](d,ap);try{var aW=new ActiveXObject("htmlfile");aW.write("<body>");aW.close();S=aW.body;}catch(aY){S=createPopup().document.body;}var i=S.createTextRange();try{S.style.color=R;var aX=i.queryCommandValue("ForeColor");aX=((aX&255)<<16)|(aX&65280)|((aX&16711680)>>>16);return"#"+("000000"+aX[aw](16)).slice(-6);}catch(aY){return"none";}});}else{var E=I.createElement("i");E.title="Rapha\xebl Colour Picker";E.style.display="none";I.body[aH](E);az=ag(function(i){E.style.color=i;return I.defaultView.getComputedStyle(E,ap).getPropertyValue("color");});}return az(e);};al.hsb2rgb=ag(function(aZ,aX,a3){if(al.is(aZ,"object")&&"h" in aZ&&"s" in aZ&&"b" in aZ){a3=aZ.b;aX=aZ.s;aZ=aZ.h;}var R,S,a4;if(a3==0){return{r:0,g:0,b:0,hex:"#000"};}if(aZ>1||aX>1||a3>1){aZ/=255;aX/=255;a3/=255;}var aW=~~(aZ*6),a0=(aZ*6)-aW,E=a3*(1-aX),e=a3*(1-(aX*a0)),a5=a3*(1-(aX*(1-a0)));R=[a3,e,E,E,a5,a3,a3][aW];S=[a5,a3,a3,e,E,E,a5][aW];a4=[E,E,a5,a3,a3,e,E][aW];R*=255;S*=255;a4*=255;var a1={r:R,g:S,b:a4},d=(~~R)[aw](16),aY=(~~S)[aw](16),a2=(~~a4)[aw](16);d=d[aL](aQ,"0");aY=aY[aL](aQ,"0");a2=a2[aL](aQ,"0");a1.hex="#"+d+aY+a2;return a1;},al);al.rgb2hsb=ag(function(d,e,aX){if(al.is(d,"object")&&"r" in d&&"g" in d&&"b" in d){aX=d.b;e=d.g;d=d.r;}if(al.is(d,"string")){var aZ=al.getRGB(d);d=aZ.r;e=aZ.g;aX=aZ.b;}if(d>1||e>1||aX>1){d/=255;e/=255;aX/=255;}var aW=g(d,e,aX),i=aE(d,e,aX),R,E,S=aW;if(i==aW){return{h:0,s:0,b:aW};}else{var aY=(aW-i);E=aY/aW;if(d==aW){R=(e-aX)/aY;}else{if(e==aW){R=2+((aX-d)/aY);}else{R=4+((d-e)/aY);}}R/=6;R<0&&R++;R>1&&R--;}return{h:R,s:E,b:S};},al);var aA=/,?([achlmqrstvxz]),?/gi;al._path2string=function(){return this.join(",")[aL](aA,"$1");};function ag(E,e,d){function i(){var R=Array[aU].slice.call(arguments,0),aW=R[av]("\u25ba"),S=i.cache=i.cache||{},aX=i.count=i.count||[];if(S[N](aW)){return d?d(S[aW]):S[aW];}aX[m]>=1000&&delete S[aX.shift()];aX[f](aW);S[aW]=E[aS](e,R);return d?d(S[aW]):S[aW];}return i;}al.getRGB=ag(function(d){if(!d||!!((d=d+ap).indexOf("-")+1)){return{r:-1,g:-1,b:-1,hex:"none",error:1};}if(d=="none"){return{r:-1,g:-1,b:-1,hex:"none"};}!(({hs:1,rg:1})[N](d.substring(0,2))||d.charAt()=="#")&&(d=az(d));var S,i,E,aY,aZ,aW=d.match(w);if(aW){if(aW[2]){aY=D(aW[2].substring(5),16);E=D(aW[2].substring(3,5),16);i=D(aW[2].substring(1,3),16);}if(aW[3]){aY=D((aZ=aW[3].charAt(3))+aZ,16);E=D((aZ=aW[3].charAt(2))+aZ,16);i=D((aZ=aW[3].charAt(1))+aZ,16);}if(aW[4]){aW=aW[4][y](/\s*,\s*/);i=T(aW[0]);E=T(aW[1]);aY=T(aW[2]);}if(aW[5]){aW=aW[5][y](/\s*,\s*/);i=T(aW[0])*2.55;E=T(aW[1])*2.55;aY=T(aW[2])*2.55;}if(aW[6]){aW=aW[6][y](/\s*,\s*/);i=T(aW[0]);E=T(aW[1]);aY=T(aW[2]);return al.hsb2rgb(i,E,aY);}if(aW[7]){aW=aW[7][y](/\s*,\s*/);i=T(aW[0])*2.55;E=T(aW[1])*2.55;aY=T(aW[2])*2.55;return al.hsb2rgb(i,E,aY);}aW={r:i,g:E,b:aY};var e=(~~i)[aw](16),R=(~~E)[aw](16),aX=(~~aY)[aw](16);e=e[aL](aQ,"0");R=R[aL](aQ,"0");aX=aX[aL](aQ,"0");aW.hex="#"+e+R+aX;return aW;}return{r:-1,g:-1,b:-1,hex:"none",error:1};},al);al.getColor=function(e){var i=this.getColor.start=this.getColor.start||{h:0,s:1,b:e||0.75},d=this.hsb2rgb(i.h,i.s,i.b);i.h+=0.075;if(i.h>1){i.h=0;i.s-=0.2;i.s<=0&&(this.getColor.start={h:0,s:1,b:i.b});}return d.hex;};al.getColor.reset=function(){delete this.start;};al.parsePathString=ag(function(d){if(!d){return null;}var i={a:7,c:6,h:1,l:2,m:2,q:4,s:4,t:2,v:1,z:0},e=[];if(al.is(d,"array")&&al.is(d[0],"array")){e=ar(d);}if(!e[m]){(d+ap)[aL](/([achlmqstvz])[\s,]*((-?\d*\.?\d*(?:e[-+]?\d+)?\s*,?\s*)+)/ig,function(R,E,aX){var aW=[],S=aV.call(E);aX[aL](/(-?\d*\.?\d*(?:e[-+]?\d+)?)\s*,?\s*/ig,function(aZ,aY){aY&&aW[f](+aY);});while(aW[m]>=i[S]){e[f]([E][aO](aW.splice(0,i[S])));if(!i[S]){break;}}});}e[aw]=al._path2string;return e;});var P=ag(function(a1){if(!a1){return{x:0,y:0,width:0,height:0};}a1=F(a1);var aY=0,aX=0,R=[],e=[],E;for(var S=0,a0=a1[m];S<a0;S++){E=a1[S];if(E[0]=="M"){aY=E[1];aX=E[2];R[f](aY);e[f](aX);}else{var aW=ax(aY,aX,E[1],E[2],E[3],E[4],E[5],E[6]);R=R[aO](aW.min.x,aW.max.x);e=e[aO](aW.min.y,aW.max.y);aY=E[5];aX=E[6];}}var d=aE[aS](0,R),aZ=aE[aS](0,e);return{x:d,y:aZ,width:g[aS](0,R)-d,height:g[aS](0,e)-aZ};}),ar=function(aW){var E=[];if(!al.is(aW,"array")||!al.is(aW&&aW[0],"array")){aW=al.parsePathString(aW);}for(var e=0,R=aW[m];e<R;e++){E[e]=[];for(var d=0,S=aW[e][m];d<S;d++){E[e][d]=aW[e][d];}}E[aw]=al._path2string;return E;},aa=ag(function(R){if(!al.is(R,"array")||!al.is(R&&R[0],"array")){R=al.parsePathString(R);}var a0=[],a2=0,a1=0,a5=0,a4=0,E=0;if(R[0][0]=="M"){a2=R[0][1];a1=R[0][2];a5=a2;a4=a1;E++;a0[f](["M",a2,a1]);}for(var aX=E,a6=R[m];aX<a6;aX++){var d=a0[aX]=[],a3=R[aX];if(a3[0]!=aV.call(a3[0])){d[0]=aV.call(a3[0]);switch(d[0]){case"a":d[1]=a3[1];d[2]=a3[2];d[3]=a3[3];d[4]=a3[4];d[5]=a3[5];d[6]=+(a3[6]-a2).toFixed(3);d[7]=+(a3[7]-a1).toFixed(3);break;case"v":d[1]=+(a3[1]-a1).toFixed(3);break;case"m":a5=a3[1];a4=a3[2];default:for(var aW=1,aY=a3[m];aW<aY;aW++){d[aW]=+(a3[aW]-((aW%2)?a2:a1)).toFixed(3);}}}else{d=a0[aX]=[];if(a3[0]=="m"){a5=a3[1]+a2;a4=a3[2]+a1;}for(var S=0,e=a3[m];S<e;S++){a0[aX][S]=a3[S];}}var aZ=a0[aX][m];switch(a0[aX][0]){case"z":a2=a5;a1=a4;break;case"h":a2+=+a0[aX][aZ-1];break;case"v":a1+=+a0[aX][aZ-1];break;default:a2+=+a0[aX][aZ-2];a1+=+a0[aX][aZ-1];}}a0[aw]=al._path2string;return a0;},0,ar),q=ag(function(R){if(!al.is(R,"array")||!al.is(R&&R[0],"array")){R=al.parsePathString(R);}var aZ=[],a1=0,a0=0,a4=0,a3=0,E=0;if(R[0][0]=="M"){a1=+R[0][1];a0=+R[0][2];a4=a1;a3=a0;E++;aZ[0]=["M",a1,a0];}for(var aX=E,a5=R[m];aX<a5;aX++){var d=aZ[aX]=[],a2=R[aX];if(a2[0]!=aJ.call(a2[0])){d[0]=aJ.call(a2[0]);switch(d[0]){case"A":d[1]=a2[1];d[2]=a2[2];d[3]=a2[3];d[4]=a2[4];d[5]=a2[5];d[6]=+(a2[6]+a1);d[7]=+(a2[7]+a0);break;case"V":d[1]=+a2[1]+a0;break;case"H":d[1]=+a2[1]+a1;break;case"M":a4=+a2[1]+a1;a3=+a2[2]+a0;default:for(var aW=1,aY=a2[m];aW<aY;aW++){d[aW]=+a2[aW]+((aW%2)?a1:a0);}}}else{for(var S=0,e=a2[m];S<e;S++){aZ[aX][S]=a2[S];}}switch(d[0]){case"Z":a1=a4;a0=a3;break;case"H":a1=d[1];break;case"V":a0=d[1];break;default:a1=aZ[aX][aZ[aX][m]-2];a0=aZ[aX][aZ[aX][m]-1];}}aZ[aw]=al._path2string;return aZ;},null,ar),aT=function(e,E,d,i){return[e,E,d,i,d,i];},aG=function(e,E,aW,R,d,i){var S=1/3,aX=2/3;return[S*e+aX*aW,S*E+aX*R,S*d+aX*aW,S*i+aX*R,d,i];},H=function(a5,bz,be,bc,a6,a0,S,a4,by,a7){var R=Y.PI,bb=R*120/180,d=R/180*(+a6||0),bi=[],bf,bv=ag(function(bA,bD,i){var bC=bA*Y.cos(i)-bD*Y.sin(i),bB=bA*Y.sin(i)+bD*Y.cos(i);return{x:bC,y:bB};});if(!a7){bf=bv(a5,bz,-d);a5=bf.x;bz=bf.y;bf=bv(a4,by,-d);a4=bf.x;by=bf.y;var e=Y.cos(R/180*a6),a2=Y.sin(R/180*a6),bk=(a5-a4)/2,bj=(bz-by)/2;be=g(be,Y.abs(bk));bc=g(bc,Y.abs(bj));var E=be*be,bn=bc*bc,bp=(a0==S?-1:1)*Y.sqrt(Y.abs((E*bn-E*bj*bj-bn*bk*bk)/(E*bj*bj+bn*bk*bk))),a9=bp*be*bj/bc+(a5+a4)/2,a8=bp*-bc*bk/be+(bz+by)/2,aZ=Y.asin(((bz-a8)/bc).toFixed(7)),aY=Y.asin(((by-a8)/bc).toFixed(7));aZ=a5<a9?R-aZ:aZ;aY=a4<a9?R-aY:aY;aZ<0&&(aZ=R*2+aZ);aY<0&&(aY=R*2+aY);if(S&&aZ>aY){aZ=aZ-R*2;}if(!S&&aY>aZ){aY=aY-R*2;}}else{aZ=a7[0];aY=a7[1];a9=a7[2];a8=a7[3];}var a3=aY-aZ;if(Y.abs(a3)>bb){var ba=aY,bd=a4,a1=by;aY=aZ+bb*(S&&aY>aZ?1:-1);a4=a9+be*Y.cos(aY);by=a8+bc*Y.sin(aY);bi=H(a4,by,be,bc,a6,0,S,bd,a1,[aY,ba,a9,a8]);}a3=aY-aZ;var aX=Y.cos(aZ),bx=Y.sin(aZ),aW=Y.cos(aY),bw=Y.sin(aY),bl=Y.tan(a3/4),bo=4/3*be*bl,bm=4/3*bc*bl,bu=[a5,bz],bt=[a5+bo*bx,bz-bm*aX],bs=[a4+bo*bw,by-bm*aW],bq=[a4,by];bt[0]=2*bu[0]-bt[0];bt[1]=2*bu[1]-bt[1];if(a7){return[bt,bs,bq][aO](bi);}else{bi=[bt,bs,bq][aO](bi)[av]()[y](",");var bg=[];for(var br=0,bh=bi[m];br<bh;br++){bg[br]=br%2?bv(bi[br-1],bi[br],d).y:bv(bi[br],bi[br+1],d).x;}return bg;}},J=ag(function(e,d,E,i,aY,aX,aW,S,aZ){var R=1-aZ;return{x:aI(R,3)*e+aI(R,2)*3*aZ*E+R*3*aZ*aZ*aY+aI(aZ,3)*aW,y:aI(R,3)*d+aI(R,2)*3*aZ*i+R*3*aZ*aZ*aX+aI(aZ,3)*S};}),ay=ag(function(e,d,a9,a7,S,R,aX,aW,a3){var a1=1-a3,a0=aI(a1,3)*e+aI(a1,2)*3*a3*a9+a1*3*a3*a3*S+aI(a3,3)*aX,aY=aI(a1,3)*d+aI(a1,2)*3*a3*a7+a1*3*a3*a3*R+aI(a3,3)*aW,a5=e+2*a3*(a9-e)+a3*a3*(S-2*a9+e),a4=d+2*a3*(a7-d)+a3*a3*(R-2*a7+d),a8=a9+2*a3*(S-a9)+a3*a3*(aX-2*S+a9),a6=a7+2*a3*(R-a7)+a3*a3*(aW-2*R+a7),a2=(1-a3)*e+a3*a9,aZ=(1-a3)*d+a3*a7,E=(1-a3)*S+a3*aX,i=(1-a3)*R+a3*aW;return{x:a0,y:aY,m:{x:a5,y:a4},n:{x:a8,y:a6},start:{x:a2,y:aZ},end:{x:E,y:i}};}),ax=ag(function(i,d,R,E,a5,a4,a1,aY){var a3=(a5-2*R+i)-(a1-2*a5+R),a0=2*(R-i)-2*(a5-R),aX=i-R,aW=(-a0+Y.sqrt(a0*a0-4*a3*aX))/2/a3,S=(-a0-Y.sqrt(a0*a0-4*a3*aX))/2/a3,aZ=[d,aY],a2=[i,a1],e;Y.abs(aW)>1000000000000&&(aW=0.5);Y.abs(S)>1000000000000&&(S=0.5);if(aW>0&&aW<1){e=J(i,d,R,E,a5,a4,a1,aY,aW);a2[f](e.x);aZ[f](e.y);}if(S>0&&S<1){e=J(i,d,R,E,a5,a4,a1,aY,S);a2[f](e.x);aZ[f](e.y);}a3=(a4-2*E+d)-(aY-2*a4+E);a0=2*(E-d)-2*(a4-E);aX=d-E;aW=(-a0+Y.sqrt(a0*a0-4*a3*aX))/2/a3;S=(-a0-Y.sqrt(a0*a0-4*a3*aX))/2/a3;Y.abs(aW)>1000000000000&&(aW=0.5);Y.abs(S)>1000000000000&&(S=0.5);if(aW>0&&aW<1){e=J(i,d,R,E,a5,a4,a1,aY,aW);a2[f](e.x);aZ[f](e.y);}if(S>0&&S<1){e=J(i,d,R,E,a5,a4,a1,aY,S);a2[f](e.x);aZ[f](e.y);}return{min:{x:aE[aS](0,a2),y:aE[aS](0,aZ)},max:{x:g[aS](0,a2),y:g[aS](0,aZ)}};}),F=ag(function(a5,a0){var R=q(a5),a1=a0&&q(a0),a2={x:0,y:0,bx:0,by:0,X:0,Y:0,qx:null,qy:null},d={x:0,y:0,bx:0,by:0,X:0,Y:0,qx:null,qy:null},aW=function(a6,a7){var i,a8;if(!a6){return["C",a7.x,a7.y,a7.x,a7.y,a7.x,a7.y];}!(a6[0] in {T:1,Q:1})&&(a7.qx=a7.qy=null);switch(a6[0]){case"M":a7.X=a6[1];a7.Y=a6[2];break;case"A":a6=["C"][aO](H[aS](0,[a7.x,a7.y][aO](a6.slice(1))));break;case"S":i=a7.x+(a7.x-(a7.bx||a7.x));a8=a7.y+(a7.y-(a7.by||a7.y));a6=["C",i,a8][aO](a6.slice(1));break;case"T":a7.qx=a7.x+(a7.x-(a7.qx||a7.x));a7.qy=a7.y+(a7.y-(a7.qy||a7.y));a6=["C"][aO](aG(a7.x,a7.y,a7.qx,a7.qy,a6[1],a6[2]));break;case"Q":a7.qx=a6[1];a7.qy=a6[2];a6=["C"][aO](aG(a7.x,a7.y,a6[1],a6[2],a6[3],a6[4]));break;case"L":a6=["C"][aO](aT(a7.x,a7.y,a6[1],a6[2]));break;case"H":a6=["C"][aO](aT(a7.x,a7.y,a6[1],a7.y));break;case"V":a6=["C"][aO](aT(a7.x,a7.y,a7.x,a6[1]));break;case"Z":a6=["C"][aO](aT(a7.x,a7.y,a7.X,a7.Y));break;}return a6;},e=function(a6,a7){if(a6[a7][m]>7){a6[a7].shift();var a8=a6[a7];while(a8[m]){a6.splice(a7++,0,["C"][aO](a8.splice(0,6)));}a6.splice(a7,1);a3=g(R[m],a1&&a1[m]||0);}},E=function(ba,a9,a7,a6,a8){if(ba&&a9&&ba[a8][0]=="M"&&a9[a8][0]!="M"){a9.splice(a8,0,["M",a6.x,a6.y]);a7.bx=0;a7.by=0;a7.x=ba[a8][1];a7.y=ba[a8][2];a3=g(R[m],a1&&a1[m]||0);}};for(var aY=0,a3=g(R[m],a1&&a1[m]||0);aY<a3;aY++){R[aY]=aW(R[aY],a2);e(R,aY);a1&&(a1[aY]=aW(a1[aY],d));a1&&e(a1,aY);E(R,a1,a2,d,aY);E(a1,R,d,a2,aY);var aX=R[aY],a4=a1&&a1[aY],S=aX[m],aZ=a1&&a4[m];a2.x=aX[S-2];a2.y=aX[S-1];a2.bx=T(aX[S-4])||a2.x;a2.by=T(aX[S-3])||a2.y;d.bx=a1&&(T(a4[aZ-4])||d.x);d.by=a1&&(T(a4[aZ-3])||d.y);d.x=a1&&a4[aZ-2];d.y=a1&&a4[aZ-1];}return a1?[R,a1]:R;},null,ar),o=ag(function(a0){var aZ=[];for(var aW=0,a1=a0[m];aW<a1;aW++){var e={},aY=a0[aW].match(/^([^:]*):?([\d\.]*)/);e.color=al.getRGB(aY[1]);if(e.color.error){return null;}e.color=e.color.hex;aY[2]&&(e.offset=aY[2]+"%");aZ[f](e);}for(var aW=1,a1=aZ[m]-1;aW<a1;aW++){if(!aZ[aW].offset){var E=T(aZ[aW-1].offset||0),R=0;for(var S=aW+1;S<a1;S++){if(aZ[S].offset){R=aZ[S].offset;break;}}if(!R){R=100;S=a1;}R=T(R);var aX=(R-E)/(S-aW+1);for(;aW<S;aW++){E+=aX;aZ[aW].offset=E+"%";}}}return aZ;}),am=function(){var i,e,R,E,d;if(al.is(arguments[0],"string")||al.is(arguments[0],"object")){if(al.is(arguments[0],"string")){i=I.getElementById(arguments[0]);}else{i=arguments[0];}if(i.tagName){if(arguments[1]==null){return{container:i,width:i.style.pixelWidth||i.offsetWidth,height:i.style.pixelHeight||i.offsetHeight};}else{return{container:i,width:arguments[1],height:arguments[2]};}}}else{if(al.is(arguments[0],aj)&&arguments[m]>3){return{container:1,x:arguments[0],y:arguments[1],width:arguments[2],height:arguments[3]};}}},aC=function(d,i){var e=this;for(var E in i){if(i[N](E)&&!(E in d)){switch(typeof i[E]){case"function":(function(R){d[E]=d===e?R:function(){return R[aS](e,arguments);};})(i[E]);break;case"object":d[E]=d[E]||{};aC.call(this,d[E],i[E]);break;default:d[E]=i[E];break;}}}},ai=function(d,e){d==e.top&&(e.top=d.prev);d==e.bottom&&(e.bottom=d.next);d.next&&(d.next.prev=d.prev);d.prev&&(d.prev.next=d.next);},V=function(d,e){if(e.top===d){return;}ai(d,e);d.next=null;d.prev=e.top;e.top.next=d;e.top=d;},k=function(d,e){if(e.bottom===d){return;}ai(d,e);d.next=e.bottom;d.prev=null;e.bottom.prev=d;e.bottom=d;},z=function(e,d,i){ai(e,i);d==i.top&&(i.top=e);d.next&&(d.next.prev=e);e.next=d.next;e.prev=d;d.next=e;},an=function(e,d,i){ai(e,i);d==i.bottom&&(i.bottom=e);d.prev&&(d.prev.next=e);e.prev=d.prev;d.prev=e;e.next=d;},r=function(d){return function(){throw new Error("Rapha\xebl: you are calling to method \u201c"+d+"\u201d of removed object");};},ao=/^r(?:\(([^,]+?)\s*,\s*([^\)]+?)\))?/;if(al.svg){aP[aU].svgns="http://www.w3.org/2000/svg";aP[aU].xlink="http://www.w3.org/1999/xlink";var L=function(d){return +d+(~~d===d)*0.5;},Q=function(S){for(var e=0,E=S[m];e<E;e++){if(aV.call(S[e][0])!="a"){for(var d=1,R=S[e][m];d<R;d++){S[e][d]=L(S[e][d]);}}else{S[e][6]=L(S[e][6]);S[e][7]=L(S[e][7]);}}return S;},aF=function(i,d){if(d){for(var e in d){if(d[N](e)){i[u](e,d[e]);}}}else{return I.createElementNS(aP[aU].svgns,i);}};al[aw]=function(){return"Your browser supports SVG.\nYou are running Rapha\xebl "+this.version;};var p=function(d,E){var e=aF("path");E.canvas&&E.canvas[aH](e);var i=new au(e,E);i.type="path";X(i,{fill:"none",stroke:"#000",path:d});return i;};var b=function(E,a3,d){var a0="linear",aX=0.5,S=0.5,a5=E.style;a3=(a3+ap)[aL](ao,function(a7,i,a8){a0="radial";if(i&&a8){aX=T(i);S=T(a8);var a6=((S>0.5)*2-1);aI(aX-0.5,2)+aI(S-0.5,2)>0.25&&(S=Y.sqrt(0.25-aI(aX-0.5,2))*a6+0.5)&&S!=0.5&&(S=S.toFixed(5)-0.00001*a6);}return ap;});a3=a3[y](/\s*\-\s*/);if(a0=="linear"){var aW=a3.shift();aW=-T(aW);if(isNaN(aW)){return null;}var R=[0,0,Y.cos(aW*Y.PI/180),Y.sin(aW*Y.PI/180)],a2=1/(g(Y.abs(R[2]),Y.abs(R[3]))||1);R[2]*=a2;R[3]*=a2;if(R[2]<0){R[0]=-R[2];R[2]=0;}if(R[3]<0){R[1]=-R[3];R[3]=0;}}var aZ=o(a3);if(!aZ){return null;}var e=aF(a0+"Gradient");e.id="r"+(al._id++)[aw](36);aF(e,a0=="radial"?{fx:aX,fy:S}:{x1:R[0],y1:R[1],x2:R[2],y2:R[3]});d.defs[aH](e);for(var aY=0,a4=aZ[m];aY<a4;aY++){var a1=aF("stop");aF(a1,{offset:aZ[aY].offset?aZ[aY].offset:!aY?"0%":"100%","stop-color":aZ[aY].color||"#fff"});e[aH](a1);}aF(E,{fill:"url(#"+e.id+")",opacity:1,"fill-opacity":1});a5.fill=ap;a5.opacity=1;a5.fillOpacity=1;return 1;};var K=function(e){var d=e.getBBox();aF(e.pattern,{patternTransform:al.format("translate({0},{1})",d.x,d.y)});};var X=function(a2,bb){var a5={"":[0],none:[0],"-":[3,1],".":[1,1],"-.":[3,1,1,1],"-..":[3,1,1,1,1,1],". ":[1,3],"- ":[4,3],"--":[8,3],"- .":[4,3,1,3],"--.":[8,3,1,3],"--..":[8,3,1,3,1,3]},a7=a2.node,a3=a2.attrs,aZ=a2.rotate(),S=function(bi,bh){bh=a5[aV.call(bh)];if(bh){var bf=bi.attrs["stroke-width"]||"1",bd={round:bf,square:bf,butt:0}[bi.attrs["stroke-linecap"]||bb["stroke-linecap"]]||0,bg=[];var be=bh[m];while(be--){bg[be]=bh[be]*bf+((be%2)?1:-1)*bd;}aF(a7,{"stroke-dasharray":bg[av](",")});}};bb[N]("rotation")&&(aZ=bb.rotation);var aY=(aZ+ap)[y](a);if(!(aY.length-1)){aY=null;}else{aY[1]=+aY[1];aY[2]=+aY[2];}T(aZ)&&a2.rotate(0,true);for(var a6 in bb){if(bb[N](a6)){if(!j[N](a6)){continue;}var a4=bb[a6];a3[a6]=a4;switch(a6){case"rotation":a2.rotate(a4,true);break;case"href":case"title":case"target":var a9=a7.parentNode;if(aV.call(a9.tagName)!="a"){var E=aF("a");a9.insertBefore(E,a7);E[aH](a7);a9=E;}a9.setAttributeNS(a2.Paper[aU].xlink,a6,a4);break;case"cursor":a7.style.cursor=a4;break;case"clip-rect":var e=(a4+ap)[y](a);if(e[m]==4){a2.clip&&a2.clip.parentNode.parentNode.removeChild(a2.clip.parentNode);var i=aF("clipPath"),a8=aF("rect");i.id="r"+(al._id++)[aw](36);aF(a8,{x:e[0],y:e[1],width:e[2],height:e[3]});i[aH](a8);a2.paper.defs[aH](i);aF(a7,{"clip-path":"url(#"+i.id+")"});a2.clip=a8;}if(!a4){var ba=I.getElementById(a7.getAttribute("clip-path")[aL](/(^url\(#|\)$)/g,ap));ba&&ba.parentNode.removeChild(ba);aF(a7,{"clip-path":ap});delete a2.clip;}break;case"path":if(a4&&a2.type=="path"){a3.path=Q(q(a4));aF(a7,{d:a3.path});}break;case"width":a7[u](a6,a4);if(a3.fx){a6="x";a4=a3.x;}else{break;}case"x":if(a3.fx){a4=-a3.x-(a3.width||0);}case"rx":if(a6=="rx"&&a2.type=="rect"){break;}case"cx":aY&&(a6=="x"||a6=="cx")&&(aY[1]+=a4-a3[a6]);a7[u](a6,L(a4));a2.pattern&&K(a2);break;case"height":a7[u](a6,a4);if(a3.fy){a6="y";a4=a3.y;}else{break;}case"y":if(a3.fy){a4=-a3.y-(a3.height||0);}case"ry":if(a6=="ry"&&a2.type=="rect"){break;}case"cy":aY&&(a6=="y"||a6=="cy")&&(aY[2]+=a4-a3[a6]);a7[u](a6,L(a4));a2.pattern&&K(a2);break;case"r":if(a2.type=="rect"){aF(a7,{rx:a4,ry:a4});}else{a7[u](a6,a4);}break;case"src":if(a2.type=="image"){a7.setAttributeNS(a2.paper.xlink,"href",a4);}break;case"stroke-width":a7.style.strokeWidth=a4;a7[u](a6,a4);if(a3["stroke-dasharray"]){S(a2,a3["stroke-dasharray"]);}break;case"stroke-dasharray":S(a2,a4);break;case"translation":var aW=(a4+ap)[y](a);aW[0]=+aW[0]||0;aW[1]=+aW[1]||0;if(aY){aY[1]+=aW[0];aY[2]+=aW[1];}s.call(a2,aW[0],aW[1]);break;case"scale":var aW=(a4+ap)[y](a);a2.scale(+aW[0]||1,+aW[1]||+aW[0]||1,+aW[2]||null,+aW[3]||null);break;case"fill":var R=(a4+ap).match(c);if(R){var i=aF("pattern"),a1=aF("image");i.id="r"+(al._id++)[aw](36);aF(i,{x:0,y:0,patternUnits:"userSpaceOnUse",height:1,width:1});aF(a1,{x:0,y:0});a1.setAttributeNS(a2.paper.xlink,"href",R[1]);i[aH](a1);var bc=I.createElement("img");bc.style.cssText="position:absolute;left:-9999em;top-9999em";bc.onload=function(){aF(i,{width:this.offsetWidth,height:this.offsetHeight});aF(a1,{width:this.offsetWidth,height:this.offsetHeight});I.body.removeChild(this);a2.paper.safari();};I.body[aH](bc);bc.src=R[1];a2.paper.defs[aH](i);a7.style.fill="url(#"+i.id+")";aF(a7,{fill:"url(#"+i.id+")"});a2.pattern=i;a2.pattern&&K(a2);break;}if(!al.getRGB(a4).error){delete bb.gradient;delete a3.gradient;!al.is(a3.opacity,"undefined")&&al.is(bb.opacity,"undefined")&&aF(a7,{opacity:a3.opacity});!al.is(a3["fill-opacity"],"undefined")&&al.is(bb["fill-opacity"],"undefined")&&aF(a7,{"fill-opacity":a3["fill-opacity"]});}else{if((({circle:1,ellipse:1})[N](a2.type)||(a4+ap).charAt()!="r")&&b(a7,a4,a2.paper)){a3.gradient=a4;a3.fill="none";break;}}case"stroke":a7[u](a6,al.getRGB(a4).hex);break;case"gradient":(({circle:1,ellipse:1})[N](a2.type)||(a4+ap).charAt()!="r")&&b(a7,a4,a2.paper);break;case"opacity":case"fill-opacity":if(a3.gradient){var d=I.getElementById(a7.getAttribute("fill")[aL](/^url\(#|\)$/g,ap));if(d){var aX=d.getElementsByTagName("stop");aX[aX[m]-1][u]("stop-opacity",a4);}break;}default:a6=="font-size"&&(a4=D(a4,10)+"px");var a0=a6[aL](/(\-.)/g,function(bd){return aJ.call(bd.substring(1));});a7.style[a0]=a4;a7[u](a6,a4);break;}}}B(a2,bb);if(aY){a2.rotate(aY.join(ak));}else{T(aZ)&&a2.rotate(aZ,true);}};var h=1.2;var B=function(d,R){if(d.type!="text"||!(R[N]("text")||R[N]("font")||R[N]("font-size")||R[N]("x")||R[N]("y"))){return;}var aZ=d.attrs,e=d.node,a1=e.firstChild?D(I.defaultView.getComputedStyle(e.firstChild,ap).getPropertyValue("font-size"),10):10;if(R[N]("text")){aZ.text=R.text;while(e.firstChild){e.removeChild(e.firstChild);}var E=(R.text+ap)[y]("\n");for(var S=0,a0=E[m];S<a0;S++){if(E[S]){var aX=aF("tspan");S&&aF(aX,{dy:a1*h,x:aZ.x});aX[aH](I.createTextNode(E[S]));e[aH](aX);}}}else{var E=e.getElementsByTagName("tspan");for(var S=0,a0=E[m];S<a0;S++){S&&aF(E[S],{dy:a1*h,x:aZ.x});}}aF(e,{y:aZ.y});var aW=d.getBBox(),aY=aZ.y-(aW.y+aW.height/2);aY&&isFinite(aY)&&aF(e,{y:aZ.y+aY});};var au=function(e,d){var E=0,i=0;this[0]=e;this.id=al._oid++;this.node=e;e.raphael=this;this.paper=d;this.attrs=this.attrs||{};this.transformations=[];this._={tx:0,ty:0,rt:{deg:0,cx:0,cy:0},sx:1,sy:1};!d.bottom&&(d.bottom=this);this.prev=d.top;d.top&&(d.top.next=this);d.top=this;this.next=null;};au[aU].rotate=function(e,d,E){if(this.removed){return this;}if(e==null){if(this._.rt.cx){return[this._.rt.deg,this._.rt.cx,this._.rt.cy][av](ak);}return this._.rt.deg;}var i=this.getBBox();e=(e+ap)[y](a);if(e[m]-1){d=T(e[1]);E=T(e[2]);}e=T(e[0]);if(d!=null){this._.rt.deg=e;}else{this._.rt.deg+=e;}(E==null)&&(d=null);this._.rt.cx=d;this._.rt.cy=E;d=d==null?i.x+i.width/2:d;E=E==null?i.y+i.height/2:E;if(this._.rt.deg){this.transformations[0]=al.format("rotate({0} {1} {2})",this._.rt.deg,d,E);this.clip&&aF(this.clip,{transform:al.format("rotate({0} {1} {2})",-this._.rt.deg,d,E)});}else{this.transformations[0]=ap;this.clip&&aF(this.clip,{transform:ap});}aF(this.node,{transform:this.transformations[av](ak)});return this;};au[aU].hide=function(){!this.removed&&(this.node.style.display="none");return this;};au[aU].show=function(){!this.removed&&(this.node.style.display="");return this;};au[aU].remove=function(){if(this.removed){return;}ai(this,this.paper);this.node.parentNode.removeChild(this.node);for(var d in this){delete this[d];}this.removed=true;};au[aU].getBBox=function(){if(this.removed){return this;}if(this.type=="path"){return P(this.attrs.path);}if(this.node.style.display=="none"){this.show();var E=true;}var aX={};try{aX=this.node.getBBox();}catch(S){}finally{aX=aX||{};}if(this.type=="text"){aX={x:aX.x,y:Infinity,width:0,height:0};for(var d=0,R=this.node.getNumberOfChars();d<R;d++){var aW=this.node.getExtentOfChar(d);(aW.y<aX.y)&&(aX.y=aW.y);(aW.y+aW.height-aX.y>aX.height)&&(aX.height=aW.y+aW.height-aX.y);(aW.x+aW.width-aX.x>aX.width)&&(aX.width=aW.x+aW.width-aX.x);}}E&&this.hide();return aX;};au[aU].attr=function(){if(this.removed){return this;}if(arguments[m]==0){var R={};for(var E in this.attrs){if(this.attrs[N](E)){R[E]=this.attrs[E];}}this._.rt.deg&&(R.rotation=this.rotate());(this._.sx!=1||this._.sy!=1)&&(R.scale=this.scale());R.gradient&&R.fill=="none"&&(R.fill=R.gradient)&&delete R.gradient;return R;}if(arguments[m]==1&&al.is(arguments[0],"string")){if(arguments[0]=="translation"){return s.call(this);}if(arguments[0]=="rotation"){return this.rotate();}if(arguments[0]=="scale"){return this.scale();}if(arguments[0]=="fill"&&this.attrs.fill=="none"&&this.attrs.gradient){return this.attrs.gradient;}return this.attrs[arguments[0]];}if(arguments[m]==1&&al.is(arguments[0],"array")){var d={};for(var e in arguments[0]){if(arguments[0][N](e)){d[arguments[0][e]]=this.attrs[arguments[0][e]];}}return d;}if(arguments[m]==2){var S={};S[arguments[0]]=arguments[1];X(this,S);}else{if(arguments[m]==1&&al.is(arguments[0],"object")){X(this,arguments[0]);}}return this;};au[aU].toFront=function(){if(this.removed){return this;}this.node.parentNode[aH](this.node);var d=this.paper;d.top!=this&&V(this,d);return this;};au[aU].toBack=function(){if(this.removed){return this;}if(this.node.parentNode.firstChild!=this.node){this.node.parentNode.insertBefore(this.node,this.node.parentNode.firstChild);k(this,this.paper);var d=this.paper;}return this;};au[aU].insertAfter=function(e){if(this.removed){return this;}var d=this.paper,i=e.node;if(i.nextSibling){i.parentNode.insertBefore(this.node,i.nextSibling);}else{i.parentNode[aH](this.node);}z(this,e,this.paper);return this;};au[aU].insertBefore=function(d){if(this.removed){return this;}var e=d.node;e.parentNode.insertBefore(this.node,e);an(this,d,this.paper);return this;};var M=function(e,d,S,R){d=L(d);S=L(S);var E=aF("circle");e.canvas&&e.canvas[aH](E);var i=new au(E,e);i.attrs={cx:d,cy:S,r:R,fill:"none",stroke:"#000"};i.type="circle";aF(E,i.attrs);return i;};var aB=function(i,d,aX,e,S,aW){d=L(d);aX=L(aX);var R=aF("rect");i.canvas&&i.canvas[aH](R);var E=new au(R,i);E.attrs={x:d,y:aX,width:e,height:S,r:aW||0,rx:aW||0,ry:aW||0,fill:"none",stroke:"#000"};E.type="rect";aF(R,E.attrs);return E;};var af=function(e,d,aW,S,R){d=L(d);aW=L(aW);var E=aF("ellipse");e.canvas&&e.canvas[aH](E);var i=new au(E,e);i.attrs={cx:d,cy:aW,rx:S,ry:R,fill:"none",stroke:"#000"};i.type="ellipse";aF(E,i.attrs);return i;};var n=function(i,aW,d,aX,e,S){var R=aF("image");aF(R,{x:d,y:aX,width:e,height:S,preserveAspectRatio:"none"});R.setAttributeNS(i.xlink,"href",aW);i.canvas&&i.canvas[aH](R);var E=new au(R,i);E.attrs={x:d,y:aX,width:e,height:S,src:aW};E.type="image";return E;};var U=function(e,d,S,R){var E=aF("text");aF(E,{x:d,y:S,"text-anchor":"middle"});e.canvas&&e.canvas[aH](E);var i=new au(E,e);i.attrs={x:d,y:S,"text-anchor":"middle",text:R,font:j.font,stroke:"none",fill:"#000"};i.type="text";X(i,i.attrs);return i;};var aR=function(e,d){this.width=e||this.width;this.height=d||this.height;this.canvas[u]("width",this.width);this.canvas[u]("height",this.height);return this;};var v=function(){var E=am[aS](null,arguments),i=E&&E.container,e=E.x,aW=E.y,R=E.width,d=E.height;if(!i){throw new Error("SVG container not found.");}var S=aF("svg");R=R||512;d=d||342;aF(S,{xmlns:"http://www.w3.org/2000/svg",version:1.1,width:R,height:d});if(i==1){S.style.cssText="position:absolute;left:"+e+"px;top:"+aW+"px";I.body[aH](S);}else{if(i.firstChild){i.insertBefore(S,i.firstChild);}else{i[aH](S);}}i=new aP;i.width=R;i.height=d;i.canvas=S;aC.call(i,i,al.fn);i.clear();return i;};aP[aU].clear=function(){var d=this.canvas;while(d.firstChild){d.removeChild(d.firstChild);}this.bottom=this.top=null;(this.desc=aF("desc"))[aH](I.createTextNode("Created with Rapha\xebl"));d[aH](this.desc);d[aH](this.defs=aF("defs"));};aP[aU].remove=function(){this.canvas.parentNode&&this.canvas.parentNode.removeChild(this.canvas);for(var d in this){this[d]=r(d);}};}if(al.vml){var aD=function(a4){var a1=/[ahqtv]/ig,aW=q;(a4+ap).match(a1)&&(aW=F);a1=/[clmz]/g;if(aW==q&&!(a4+ap).match(a1)){var e={M:"m",L:"l",C:"c",Z:"x",m:"t",l:"r",c:"v",z:"x"},R=/([clmz]),?([^clmz]*)/gi,S=/-?[^,\s-]+/g;var a0=(a4+ap)[aL](R,function(a5,a7,i){var a6=[];i[aL](S,function(a8){a6[f](L(a8));});return e[a7]+a6;});return a0;}var a2=aW(a4),E,a0=[],d;for(var aY=0,a3=a2[m];aY<a3;aY++){E=a2[aY];d=aV.call(a2[aY][0]);d=="z"&&(d="x");for(var aX=1,aZ=E[m];aX<aZ;aX++){d+=L(E[aX])+(aX!=aZ-1?",":ap);}a0[f](d);}return a0[av](ak);};al[aw]=function(){return"Your browser doesn\u2019t support SVG. Falling down to VML.\nYou are running Rapha\xebl "+this.version;};var p=function(d,S){var E=ae("group");E.style.cssText="position:absolute;left:0;top:0;width:"+S.width+"px;height:"+S.height+"px";E.coordsize=S.coordsize;E.coordorigin=S.coordorigin;var i=ae("shape"),e=i.style;e.width=S.width+"px";e.height=S.height+"px";i.coordsize=this.coordsize;i.coordorigin=this.coordorigin;E[aH](i);var R=new au(i,E,S);R.isAbsolute=true;R.type="path";R.path=[];R.Path=ap;d&&X(R,{fill:"none",stroke:"#000",path:d});S.canvas[aH](E);return R;};var X=function(aZ,a4){aZ.attrs=aZ.attrs||{};var a2=aZ.node,a5=aZ.attrs,aW=a2.style,E,a9=aZ;for(var aX in a4){if(a4[N](aX)){a5[aX]=a4[aX];}}a4.href&&(a2.href=a4.href);a4.title&&(a2.title=a4.title);a4.target&&(a2.target=a4.target);a4.cursor&&(aW.cursor=a4.cursor);if(a4.path&&aZ.type=="path"){a5.path=a4.path;a2.path=aD(a5.path);}if(a4.rotation!=null){aZ.rotate(a4.rotation,true);}if(a4.translation){E=(a4.translation+ap)[y](a);s.call(aZ,E[0],E[1]);if(aZ._.rt.cx!=null){aZ._.rt.cx+=+E[0];aZ._.rt.cy+=+E[1];aZ.setBox(aZ.attrs,E[0],E[1]);}}if(a4.scale){E=(a4.scale+ap)[y](a);aZ.scale(+E[0]||1,+E[1]||+E[0]||1,+E[2]||null,+E[3]||null);}if("clip-rect" in a4){var d=(a4["clip-rect"]+ap)[y](a);if(d[m]==4){d[2]=+d[2]+(+d[0]);d[3]=+d[3]+(+d[1]);var aY=a2.clipRect||I.createElement("div"),a8=aY.style,S=a2.parentNode;a8.clip=al.format("rect({1}px {2}px {3}px {0}px)",d);if(!a2.clipRect){a8.position="absolute";a8.top=0;a8.left=0;a8.width=aZ.paper.width+"px";a8.height=aZ.paper.height+"px";S.parentNode.insertBefore(aY,S);aY[aH](S);a2.clipRect=aY;}}if(!a4["clip-rect"]){a2.clipRect&&(a2.clipRect.style.clip=ap);}}if(aZ.type=="image"&&a4.src){a2.src=a4.src;}if(aZ.type=="image"&&a4.opacity){a2.filterOpacity=" progid:DXImageTransform.Microsoft.Alpha(opacity="+(a4.opacity*100)+")";aW.filter=(a2.filterMatrix||ap)+(a2.filterOpacity||ap);}a4.font&&(aW.font=a4.font);a4["font-family"]&&(aW.fontFamily='"'+a4["font-family"][y](",")[0][aL](/^['"]+|['"]+$/g,ap)+'"');a4["font-size"]&&(aW.fontSize=a4["font-size"]);a4["font-weight"]&&(aW.fontWeight=a4["font-weight"]);a4["font-style"]&&(aW.fontStyle=a4["font-style"]);if(a4.opacity!=null||a4["stroke-width"]!=null||a4.fill!=null||a4.stroke!=null||a4["stroke-width"]!=null||a4["stroke-opacity"]!=null||a4["fill-opacity"]!=null||a4["stroke-dasharray"]!=null||a4["stroke-miterlimit"]!=null||a4["stroke-linejoin"]!=null||a4["stroke-linecap"]!=null){a2=aZ.shape||a2;var a3=(a2.getElementsByTagName("fill")&&a2.getElementsByTagName("fill")[0]),a6=false;!a3&&(a6=a3=ae("fill"));if("fill-opacity" in a4||"opacity" in a4){var e=((+a5["fill-opacity"]+1||2)-1)*((+a5.opacity+1||2)-1);e<0&&(e=0);e>1&&(e=1);a3.opacity=e;}a4.fill&&(a3.on=true);if(a3.on==null||a4.fill=="none"){a3.on=false;}if(a3.on&&a4.fill){var i=a4.fill.match(c);if(i){a3.src=i[1];a3.type="tile";}else{a3.color=al.getRGB(a4.fill).hex;a3.src=ap;a3.type="solid";if(al.getRGB(a4.fill).error&&(a9.type in {circle:1,ellipse:1}||(a4.fill+ap).charAt()!="r")&&b(a9,a4.fill)){a5.fill="none";a5.gradient=a4.fill;}}}a6&&a2[aH](a3);var R=(a2.getElementsByTagName("stroke")&&a2.getElementsByTagName("stroke")[0]),a7=false;!R&&(a7=R=ae("stroke"));if((a4.stroke&&a4.stroke!="none")||a4["stroke-width"]||a4["stroke-opacity"]!=null||a4["stroke-dasharray"]||a4["stroke-miterlimit"]||a4["stroke-linejoin"]||a4["stroke-linecap"]){R.on=true;}(a4.stroke=="none"||R.on==null||a4.stroke==0||a4["stroke-width"]==0)&&(R.on=false);R.on&&a4.stroke&&(R.color=al.getRGB(a4.stroke).hex);var e=((+a5["stroke-opacity"]+1||2)-1)*((+a5.opacity+1||2)-1),a0=(T(a4["stroke-width"])||1)*0.75;e<0&&(e=0);e>1&&(e=1);a4["stroke-width"]==null&&(a0=a5["stroke-width"]);a4["stroke-width"]&&(R.weight=a0);a0&&a0<1&&(e*=a0)&&(R.weight=1);R.opacity=e;a4["stroke-linejoin"]&&(R.joinstyle=a4["stroke-linejoin"]||"miter");R.miterlimit=a4["stroke-miterlimit"]||8;a4["stroke-linecap"]&&(R.endcap=a4["stroke-linecap"]=="butt"?"flat":a4["stroke-linecap"]=="square"?"square":"round");if(a4["stroke-dasharray"]){var a1={"-":"shortdash",".":"shortdot","-.":"shortdashdot","-..":"shortdashdotdot",". ":"dot","- ":"dash","--":"longdash","- .":"dashdot","--.":"longdashdot","--..":"longdashdotdot"};R.dashstyle=a1[N](a4["stroke-dasharray"])?a1[a4["stroke-dasharray"]]:ap;}a7&&a2[aH](R);}if(a9.type=="text"){var aW=a9.paper.span.style;a5.font&&(aW.font=a5.font);a5["font-family"]&&(aW.fontFamily=a5["font-family"]);a5["font-size"]&&(aW.fontSize=a5["font-size"]);a5["font-weight"]&&(aW.fontWeight=a5["font-weight"]);a5["font-style"]&&(aW.fontStyle=a5["font-style"]);a9.node.string&&(a9.paper.span.innerHTML=(a9.node.string+ap)[aL](/</g,"&#60;")[aL](/&/g,"&#38;")[aL](/\n/g,"<br>"));a9.W=a5.w=a9.paper.span.offsetWidth;a9.H=a5.h=a9.paper.span.offsetHeight;a9.X=a5.x;a9.Y=a5.y+L(a9.H/2);switch(a5["text-anchor"]){case"start":a9.node.style["v-text-align"]="left";a9.bbx=L(a9.W/2);break;case"end":a9.node.style["v-text-align"]="right";a9.bbx=-L(a9.W/2);break;default:a9.node.style["v-text-align"]="center";break;}}};var b=function(d,aX){d.attrs=d.attrs||{};var aY=d.attrs,a0=d.node.getElementsByTagName("fill"),S="linear",aW=".5 .5";d.attrs.gradient=aX;aX=(aX+ap)[aL](ao,function(a2,a3,i){S="radial";if(a3&&i){a3=T(a3);i=T(i);aI(a3-0.5,2)+aI(i-0.5,2)>0.25&&(i=Y.sqrt(0.25-aI(a3-0.5,2))*((i>0.5)*2-1)+0.5);aW=a3+ak+i;}return ap;});aX=aX[y](/\s*\-\s*/);if(S=="linear"){var e=aX.shift();e=-T(e);if(isNaN(e)){return null;}}var R=o(aX);if(!R){return null;}d=d.shape||d.node;a0=a0[0]||ae("fill");if(R[m]){a0.on=true;a0.method="none";a0.type=(S=="radial")?"gradientradial":"gradient";a0.color=R[0].color;a0.color2=R[R[m]-1].color;var a1=[];for(var E=0,aZ=R[m];E<aZ;E++){R[E].offset&&a1[f](R[E].offset+ak+R[E].color);}a0.colors&&(a0.colors.value=a1[m]?a1[av](","):"0% "+a0.color);if(S=="radial"){a0.focus="100%";a0.focussize=aW;a0.focusposition=aW;}else{a0.angle=(270-e)%360;}}return 1;};var au=function(R,aW,d){var S=0,i=0,e=0,E=1;this[0]=R;this.id=al._oid++;this.node=R;R.raphael=this;this.X=0;this.Y=0;this.attrs={};this.Group=aW;this.paper=d;this._={tx:0,ty:0,rt:{deg:0},sx:1,sy:1};!d.bottom&&(d.bottom=this);this.prev=d.top;d.top&&(d.top.next=this);d.top=this;this.next=null;};au[aU].rotate=function(e,d,i){if(this.removed){return this;}if(e==null){if(this._.rt.cx){return[this._.rt.deg,this._.rt.cx,this._.rt.cy][av](ak);}return this._.rt.deg;}e=(e+ap)[y](a);if(e[m]-1){d=T(e[1]);i=T(e[2]);}e=T(e[0]);if(d!=null){this._.rt.deg=e;}else{this._.rt.deg+=e;}i==null&&(d=null);this._.rt.cx=d;this._.rt.cy=i;this.setBox(this.attrs,d,i);this.Group.style.rotation=this._.rt.deg;return this;};au[aU].setBox=function(a7,e,d){if(this.removed){return this;}var a1=this.Group.style,R=(this.shape&&this.shape.style)||this.node.style;a7=a7||{};for(var a5 in a7){if(a7[N](a5)){this.attrs[a5]=a7[a5];}}e=e||this._.rt.cx;d=d||this._.rt.cy;var a3=this.attrs,aX,aW,aY,a6;switch(this.type){case"circle":aX=a3.cx-a3.r;aW=a3.cy-a3.r;aY=a6=a3.r*2;break;case"ellipse":aX=a3.cx-a3.rx;aW=a3.cy-a3.ry;aY=a3.rx*2;a6=a3.ry*2;break;case"rect":case"image":aX=+a3.x;aW=+a3.y;aY=a3.width||0;a6=a3.height||0;break;case"text":this.textpath.v=["m",L(a3.x),", ",L(a3.y-2),"l",L(a3.x)+1,", ",L(a3.y-2)][av](ap);aX=a3.x-L(this.W/2);aW=a3.y-this.H/2;aY=this.W;a6=this.H;break;case"path":if(!this.attrs.path){aX=0;aW=0;aY=this.paper.width;a6=this.paper.height;}else{var a4=P(this.attrs.path);aX=a4.x;aW=a4.y;aY=a4.width;a6=a4.height;}break;default:aX=0;aW=0;aY=this.paper.width;a6=this.paper.height;break;}e=(e==null)?aX+aY/2:e;d=(d==null)?aW+a6/2:d;var E=e-this.paper.width/2,a0=d-this.paper.height/2;if(this.type=="path"||this.type=="text"){(a1.left!=E+"px")&&(a1.left=E+"px");(a1.top!=a0+"px")&&(a1.top=a0+"px");this.X=this.type=="text"?aX:-E;this.Y=this.type=="text"?aW:-a0;this.W=aY;this.H=a6;(R.left!=-E+"px")&&(R.left=-E+"px");(R.top!=-a0+"px")&&(R.top=-a0+"px");}else{(a1.left!=E+"px")&&(a1.left=E+"px");(a1.top!=a0+"px")&&(a1.top=a0+"px");this.X=aX;this.Y=aW;this.W=aY;this.H=a6;(a1.width!=this.paper.width+"px")&&(a1.width=this.paper.width+"px");(a1.height!=this.paper.height+"px")&&(a1.height=this.paper.height+"px");(R.left!=aX-E+"px")&&(R.left=aX-E+"px");(R.top!=aW-a0+"px")&&(R.top=aW-a0+"px");(R.width!=aY+"px")&&(R.width=aY+"px");(R.height!=a6+"px")&&(R.height=a6+"px");var S=(+a7.r||0)/aE(aY,a6);if(this.type=="rect"&&this.arcsize.toFixed(4)!=S.toFixed(4)&&(S||this.arcsize)){var a2=ae("roundrect"),a8={},a5=0,aZ=this.events&&this.events[m];a2.arcsize=S;a2.raphael=this;this.Group[aH](a2);this.Group.removeChild(this.node);this[0]=this.node=a2;this.arcsize=S;for(var a5 in a3){a8[a5]=a3[a5];}delete a8.scale;this.attr(a8);if(this.events){for(;a5<aZ;a5++){this.events[a5].unbind=ab(this.node,this.events[a5].name,this.events[a5].f,this);}}}}};au[aU].hide=function(){!this.removed&&(this.Group.style.display="none");return this;};au[aU].show=function(){!this.removed&&(this.Group.style.display="block");return this;};au[aU].getBBox=function(){if(this.removed){return this;}if(this.type=="path"){return P(this.attrs.path);}return{x:this.X+(this.bbx||0),y:this.Y,width:this.W,height:this.H};};au[aU].remove=function(){if(this.removed){return;}ai(this,this.paper);this.node.parentNode.removeChild(this.node);this.Group.parentNode.removeChild(this.Group);this.shape&&this.shape.parentNode.removeChild(this.shape);for(var d in this){delete this[d];}this.removed=true;};au[aU].attr=function(){if(this.removed){return this;}if(arguments[m]==0){var E={};for(var e in this.attrs){if(this.attrs[N](e)){E[e]=this.attrs[e];}}this._.rt.deg&&(E.rotation=this.rotate());(this._.sx!=1||this._.sy!=1)&&(E.scale=this.scale());E.gradient&&E.fill=="none"&&(E.fill=E.gradient)&&delete E.gradient;return E;}if(arguments[m]==1&&al.is(arguments[0],"string")){if(arguments[0]=="translation"){return s.call(this);}if(arguments[0]=="rotation"){return this.rotate();}if(arguments[0]=="scale"){return this.scale();}if(arguments[0]=="fill"&&this.attrs.fill=="none"&&this.attrs.gradient){return this.attrs.gradient;}return this.attrs[arguments[0]];}if(this.attrs&&arguments[m]==1&&al.is(arguments[0],"array")){var d={};for(var e=0,R=arguments[0][m];e<R;e++){d[arguments[0][e]]=this.attrs[arguments[0][e]];}return d;}var S;if(arguments[m]==2){S={};S[arguments[0]]=arguments[1];}arguments[m]==1&&al.is(arguments[0],"object")&&(S=arguments[0]);if(S){if(S.text&&this.type=="text"){this.node.string=S.text;}X(this,S);if(S.gradient&&(({circle:1,ellipse:1})[N](this.type)||(S.gradient+ap).charAt()!="r")){b(this,S.gradient);}(this.type!="path"||this._.rt.deg)&&this.setBox(this.attrs);}return this;};au[aU].toFront=function(){!this.removed&&this.Group.parentNode[aH](this.Group);this.paper.top!=this&&V(this,this.paper);return this;};au[aU].toBack=function(){if(this.removed){return this;}if(this.Group.parentNode.firstChild!=this.Group){this.Group.parentNode.insertBefore(this.Group,this.Group.parentNode.firstChild);k(this,this.paper);}return this;};au[aU].insertAfter=function(d){if(this.removed){return this;}if(d.Group.nextSibling){d.Group.parentNode.insertBefore(this.Group,d.Group.nextSibling);}else{d.Group.parentNode[aH](this.Group);}z(this,d,this.paper);return this;};au[aU].insertBefore=function(d){if(this.removed){return this;}d.Group.parentNode.insertBefore(this.Group,d.Group);an(this,d,this.paper);return this;};var M=function(e,d,aX,S){var R=ae("group"),aW=ae("oval"),i=aW.style;R.style.cssText="position:absolute;left:0;top:0;width:"+e.width+"px;height:"+e.height+"px";R.coordsize=e.coordsize;R.coordorigin=e.coordorigin;R[aH](aW);var E=new au(aW,R,e);E.type="circle";X(E,{stroke:"#000",fill:"none"});E.attrs.cx=d;E.attrs.cy=aX;E.attrs.r=S;E.setBox({x:d-S,y:aX-S,width:S*2,height:S*2});e.canvas[aH](R);return E;},aB=function(e,aX,aW,aY,E,d){var R=ae("group"),i=ae("roundrect"),aZ=(+d||0)/(aE(aY,E));R.style.cssText="position:absolute;left:0;top:0;width:"+e.width+"px;height:"+e.height+"px";R.coordsize=e.coordsize;R.coordorigin=e.coordorigin;R[aH](i);i.arcsize=aZ;var S=new au(i,R,e);S.type="rect";X(S,{stroke:"#000"});S.arcsize=aZ;S.setBox({x:aX,y:aW,width:aY,height:E,r:d});e.canvas[aH](R);return S;},af=function(d,aY,aX,i,e){var R=ae("group"),E=ae("oval"),aW=E.style;R.style.cssText="position:absolute;left:0;top:0;width:"+d.width+"px;height:"+d.height+"px";R.coordsize=d.coordsize;R.coordorigin=d.coordorigin;R[aH](E);var S=new au(E,R,d);S.type="ellipse";X(S,{stroke:"#000"});S.attrs.cx=aY;S.attrs.cy=aX;S.attrs.rx=i;S.attrs.ry=e;S.setBox({x:aY-i,y:aX-e,width:i*2,height:e*2});d.canvas[aH](R);return S;},n=function(e,d,aY,aX,aZ,E){var R=ae("group"),i=ae("image"),aW=i.style;R.style.cssText="position:absolute;left:0;top:0;width:"+e.width+"px;height:"+e.height+"px";R.coordsize=e.coordsize;R.coordorigin=e.coordorigin;i.src=d;R[aH](i);var S=new au(i,R,e);S.type="image";S.attrs.src=d;S.attrs.x=aY;S.attrs.y=aX;S.attrs.w=aZ;S.attrs.h=E;S.setBox({x:aY,y:aX,width:aZ,height:E});e.canvas[aH](R);return S;},U=function(e,aY,aX,aZ){var R=ae("group"),E=ae("shape"),aW=E.style,a0=ae("path"),d=a0.style,i=ae("textpath");R.style.cssText="position:absolute;left:0;top:0;width:"+e.width+"px;height:"+e.height+"px";R.coordsize=e.coordsize;R.coordorigin=e.coordorigin;a0.v=al.format("m{0},{1}l{2},{1}",L(aY),L(aX),L(aY)+1);a0.textpathok=true;aW.width=e.width;aW.height=e.height;i.string=aZ+ap;i.on=true;E[aH](i);E[aH](a0);R[aH](E);var S=new au(i,R,e);S.shape=E;S.textpath=a0;S.type="text";S.attrs.text=aZ;S.attrs.x=aY;S.attrs.y=aX;S.attrs.w=1;S.attrs.h=1;X(S,{font:j.font,stroke:"none",fill:"#000"});S.setBox();e.canvas[aH](R);return S;},aR=function(i,d){var e=this.canvas.style;i==+i&&(i+="px");d==+d&&(d+="px");e.width=i;e.height=d;e.clip="rect(0 "+i+" "+d+" 0)";return this;},ae;I.createStyleSheet().addRule(".rvml","behavior:url(#default#VML)");try{!I.namespaces.rvml&&I.namespaces.add("rvml","urn:schemas-microsoft-com:vml");ae=function(d){return I.createElement("<rvml:"+d+' class="rvml">');};}catch(ac){ae=function(d){return I.createElement("<"+d+' xmlns="urn:schemas-microsoft.com:vml" class="rvml">');};}var v=function(){var i=am[aS](null,arguments),d=i.container,aY=i.height,aZ,e=i.width,aX=i.x,aW=i.y;if(!d){throw new Error("VML container not found.");}var R=new aP,S=R.canvas=I.createElement("div"),E=S.style;e=e||512;aY=aY||342;e==+e&&(e+="px");aY==+aY&&(aY+="px");R.width=1000;R.height=1000;R.coordsize="1000 1000";R.coordorigin="0 0";R.span=I.createElement("span");R.span.style.cssText="position:absolute;left:-9999px;top:-9999px;padding:0;margin:0;line-height:1;display:inline;";S[aH](R.span);E.cssText=al.format("width:{0};height:{1};position:absolute;clip:rect(0 {0} {1} 0);overflow:hidden",e,aY);if(d==1){I.body[aH](S);E.left=aX+"px";E.top=aW+"px";}else{d.style.width=e;d.style.height=aY;if(d.firstChild){d.insertBefore(S,d.firstChild);}else{d[aH](S);}}aC.call(R,R,al.fn);return R;};aP[aU].clear=function(){this.canvas.innerHTML=ap;this.bottom=this.top=null;};aP[aU].remove=function(){this.canvas.parentNode.removeChild(this.canvas);for(var d in this){this[d]=r(d);}};}if((/^Apple|^Google/).test(navigator.vendor)&&!(navigator.userAgent.indexOf("Version/4.0")+1)){aP[aU].safari=function(){var d=this.rect(-99,-99,this.width+99,this.height+99);setTimeout(function(){d.remove();});};}else{aP[aU].safari=function(){};}var ab=(function(){if(I.addEventListener){return function(R,i,e,d){var E=function(S){return e.call(d,S);};R.addEventListener(i,E,false);return function(){R.removeEventListener(i,E,false);return true;};};}else{if(I.attachEvent){return function(S,E,i,e){var R=function(aW){return i.call(e,aW||aq.event);};S.attachEvent("on"+E,R);var d=function(){S.detachEvent("on"+E,R);return true;};return d;};}}})();for(var Z=C[m];Z--;){(function(d){au[aU][d]=function(e){if(al.is(e,"function")){this.events=this.events||[];this.events.push({name:d,f:e,unbind:ab(this.shape||this.node,d,e,this)});}return this;};au[aU]["un"+d]=function(E){var i=this.events,e=i[m];while(e--){if(i[e].name==d&&i[e].f==E){i[e].unbind();i.splice(e,1);!i.length&&delete this.events;return this;}}return this;};})(C[Z]);}au[aU].hover=function(e,d){return this.mouseover(e).mouseout(d);};au[aU].unhover=function(e,d){return this.unmouseover(e).unmouseout(d);};aP[aU].circle=function(d,i,e){return M(this,d||0,i||0,e||0);};aP[aU].rect=function(d,R,e,i,E){return aB(this,d||0,R||0,e||0,i||0,E||0);};aP[aU].ellipse=function(d,E,i,e){return af(this,d||0,E||0,i||0,e||0);};aP[aU].path=function(d){d&&!al.is(d,"string")&&!al.is(d[0],"array")&&(d+=ap);return p(al.format[aS](al,arguments),this);};aP[aU].image=function(E,d,R,e,i){return n(this,E||"about:blank",d||0,R||0,e||0,i||0);};aP[aU].text=function(d,i,e){return U(this,d||0,i||0,e||ap);};aP[aU].set=function(d){arguments[m]>1&&(d=Array[aU].splice.call(arguments,0,arguments[m]));return new O(d);};aP[aU].setSize=aR;aP[aU].top=aP[aU].bottom=null;aP[aU].raphael=al;function t(){return this.x+ak+this.y;}au[aU].scale=function(a2,a1,E,e){if(a2==null&&a1==null){return{x:this._.sx,y:this._.sy,toString:t};}a1=a1||a2;!+a1&&(a1=a2);var a6,a4,a5,a3,bi=this.attrs;if(a2!=0){var a0=this.getBBox(),aX=a0.x+a0.width/2,R=a0.y+a0.height/2,bh=a2/this._.sx,bg=a1/this._.sy;E=(+E||E==0)?E:aX;e=(+e||e==0)?e:R;var aZ=~~(a2/Y.abs(a2)),aW=~~(a1/Y.abs(a1)),a8=this.node.style,bk=E+(aX-E)*bh,bj=e+(R-e)*bg;switch(this.type){case"rect":case"image":var aY=bi.width*aZ*bh,bc=bi.height*aW*bg;this.attr({height:newh,r:bi.r*aE(aZ*bh,aW*bg),width:aY,x:bk-aY/2,y:bj-newh/2});break;case"circle":case"ellipse":this.attr({rx:bi.rx*aZ*bh,ry:bi.ry*aW*bg,r:bi.r*aE(aZ*bh,aW*bg),cx:bk,cy:bj});break;case"path":var ba=aa(bi.path),bd=true;for(var bf=0,a7=ba[m];bf<a7;bf++){var a9=ba[bf],be,S=aJ.call(a9[0]);if(S=="M"&&bd){continue;}else{bd=false;}if(S=="A"){a9[ba[bf][m]-2]*=bh;a9[ba[bf][m]-1]*=bg;a9[1]*=aZ*bh;a9[2]*=aW*bg;a9[5]=+(aZ+aW?!!+a9[5]:!+a9[5]);}else{if(S=="H"){for(be=1,jj=a9[m];be<jj;be++){a9[be]*=bh;}}else{if(S=="V"){for(be=1,jj=a9[m];be<jj;be++){a9[be]*=bg;}}else{for(be=1,jj=a9[m];be<jj;be++){a9[be]*=(be%2)?bh:bg;}}}}}var d=P(ba),a6=bk-d.x-d.width/2,a4=bj-d.y-d.height/2;ba[0][1]+=a6;ba[0][2]+=a4;this.attr({path:ba});break;}if(this.type in {text:1,image:1}&&(aZ!=1||aW!=1)){if(this.transformations){this.transformations[2]="scale("[aO](aZ,",",aW,")");this.node[u]("transform",this.transformations[av](ak));a6=(aZ==-1)?-bi.x-(aY||0):bi.x;a4=(aW==-1)?-bi.y-(newh||0):bi.y;this.attr({x:a6,y:a4});bi.fx=aZ-1;bi.fy=aW-1;}else{this.node.filterMatrix=" progid:DXImageTransform.Microsoft.Matrix(M11="[aO](aZ,", M12=0, M21=0, M22=",aW,", Dx=0, Dy=0, sizingmethod='auto expand', filtertype='bilinear')");a8.filter=(this.node.filterMatrix||ap)+(this.node.filterOpacity||ap);}}else{if(this.transformations){this.transformations[2]=ap;this.node[u]("transform",this.transformations[av](ak));bi.fx=0;bi.fy=0;}else{this.node.filterMatrix=ap;a8.filter=(this.node.filterMatrix||ap)+(this.node.filterOpacity||ap);}}bi.scale=[a2,a1,E,e][av](ak);this._.sx=a2;this._.sy=a1;}return this;};au[aU].clone=function(){var d=this.attr();delete d.scale;delete d.translation;return this.paper[this.type]().attr(d);};al.easing_formulas={linear:function(d){return d;},"<":function(d){return aI(d,3);},">":function(d){return aI(d-1,3)+1;},"<>":function(d){d=d*2;if(d<1){return aI(d,3)/2;}d-=2;return(aI(d,3)+2)/2;},backIn:function(e){var d=1.70158;return e*e*((d+1)*e-d);},backOut:function(e){e=e-1;var d=1.70158;return e*e*((d+1)*e+d)+1;},elastic:function(i){if(i==0||i==1){return i;}var e=0.3,d=e/4;return aI(2,-10*i)*Y.sin((i-d)*(2*Y.PI)/e)+1;},bounce:function(E){var e=7.5625,i=2.75,d;if(E<(1/i)){d=e*E*E;}else{if(E<(2/i)){E-=(1.5/i);d=e*E*E+0.75;}else{if(E<(2.5/i)){E-=(2.25/i);d=e*E*E+0.9375;}else{E-=(2.625/i);d=e*E*E+0.984375;}}}return d;}};var G={length:0},aN=function(){var aY=+new Date;for(var a9 in G){if(a9!="length"&&G[N](a9)){var be=G[a9];if(be.stop){delete G[a9];G[m]--;continue;}var aW=aY-be.start,a7=be.ms,a6=be.easing,ba=be.from,a3=be.diff,E=be.to,a2=be.t,a5=be.prev||0,aX=be.el,R=be.callback,a4={},d;if(aW<a7){var S=al.easing_formulas[a6]?al.easing_formulas[a6](aW/a7):aW/a7;for(var a8 in ba){if(ba[N](a8)){switch(W[a8]){case"number":d=+ba[a8]+S*a7*a3[a8];break;case"colour":d="rgb("+[A(L(ba[a8].r+S*a7*a3[a8].r)),A(L(ba[a8].g+S*a7*a3[a8].g)),A(L(ba[a8].b+S*a7*a3[a8].b))][av](",")+")";break;case"path":d=[];for(var bc=0,a1=ba[a8][m];bc<a1;bc++){d[bc]=[ba[a8][bc][0]];for(var bb=1,bd=ba[a8][bc][m];bb<bd;bb++){d[bc][bb]=+ba[a8][bc][bb]+S*a7*a3[a8][bc][bb];}d[bc]=d[bc][av](ak);}d=d[av](ak);break;case"csv":switch(a8){case"translation":var a0=a3[a8][0]*(aW-a5),aZ=a3[a8][1]*(aW-a5);a2.x+=a0;a2.y+=aZ;d=a0+ak+aZ;break;case"rotation":d=+ba[a8][0]+S*a7*a3[a8][0];ba[a8][1]&&(d+=","+ba[a8][1]+","+ba[a8][2]);break;case"scale":d=[+ba[a8][0]+S*a7*a3[a8][0],+ba[a8][1]+S*a7*a3[a8][1],(2 in E[a8]?E[a8][2]:ap),(3 in E[a8]?E[a8][3]:ap)][av](ak);break;case"clip-rect":d=[];var bc=4;while(bc--){d[bc]=+ba[a8][bc]+S*a7*a3[a8][bc];}break;}break;}a4[a8]=d;}}aX.attr(a4);aX._run&&aX._run.call(aX);}else{(a2.x||a2.y)&&aX.translate(-a2.x,-a2.y);E.scale&&(E.scale=E.scale+ap);aX.attr(E);delete G[a9];G[m]--;aX.in_animation=null;al.is(R,"function")&&R.call(aX);}be.prev=aW;}}al.svg&&aX.paper.safari();G[m]&&setTimeout(aN);},A=function(d){return d>255?255:(d<0?0:d);},s=function(d,i){if(d==null){return{x:this._.tx,y:this._.ty,toString:t};}this._.tx+=+d;this._.ty+=+i;switch(this.type){case"circle":case"ellipse":this.attr({cx:+d+this.attrs.cx,cy:+i+this.attrs.cy});break;case"rect":case"image":case"text":this.attr({x:+d+this.attrs.x,y:+i+this.attrs.y});break;case"path":var e=aa(this.attrs.path);e[0][1]+=+d;e[0][2]+=+i;this.attr({path:e});break;}return this;};au[aU].animateWith=function(e,i,d,R,E){G[e.id]&&(i.start=G[e.id].start);return this.animate(i,d,R,E);};au[aU].onAnimation=function(d){this._run=d||null;return this;};au[aU].animate=function(R,d,a1,a7){if(al.is(a1,"function")||!a1){a7=a1||null;}var a2={},a3={},a4={};for(var a0 in R){if(R[N](a0)){if(W[N](a0)){a2[a0]=this.attr(a0);(a2[a0]==null)&&(a2[a0]=j[a0]);a3[a0]=R[a0];switch(W[a0]){case"number":a4[a0]=(a3[a0]-a2[a0])/d;break;case"colour":a2[a0]=al.getRGB(a2[a0]);var aY=al.getRGB(a3[a0]);a4[a0]={r:(aY.r-a2[a0].r)/d,g:(aY.g-a2[a0].g)/d,b:(aY.b-a2[a0].b)/d};break;case"path":var e=F(a2[a0],a3[a0]);a2[a0]=e[0];var E=e[1];a4[a0]=[];for(var aX=0,a6=a2[a0][m];aX<a6;aX++){a4[a0][aX]=[0];for(var S=1,aZ=a2[a0][aX][m];S<aZ;S++){a4[a0][aX][S]=(E[aX][S]-a2[a0][aX][S])/d;}}break;case"csv":var a5=(R[a0]+ap)[y](a),aW=(a2[a0]+ap)[y](a);switch(a0){case"translation":a2[a0]=[0,0];a4[a0]=[a5[0]/d,a5[1]/d];break;case"rotation":a2[a0]=(aW[1]==a5[1]&&aW[2]==a5[2])?aW:[0,a5[1],a5[2]];a4[a0]=[(a5[0]-a2[a0][0])/d,0,0];break;case"scale":R[a0]=a5;a2[a0]=(a2[a0]+ap)[y](a);a4[a0]=[(a5[0]-a2[a0][0])/d,(a5[1]-a2[a0][1])/d,0,0];break;case"clip-rect":a2[a0]=(a2[a0]+ap)[y](a);a4[a0]=[];var aX=4;while(aX--){a4[a0][aX]=(a5[aX]-a2[a0][aX])/d;}break;}a3[a0]=a5;}}}}this.stop();this.in_animation=1;G[this.id]={start:R.start||+new Date,ms:d,easing:a1,from:a2,diff:a4,to:a3,el:this,callback:a7,t:{x:0,y:0}};++G[m]==1&&aN();return this;};au[aU].stop=function(){G[this.id]&&G[m]--;delete G[this.id];return this;};au[aU].translate=function(d,e){return this.attr({translation:d+" "+e});};au[aU][aw]=function(){return"Rapha\xebl\u2019s object";};al.ae=G;var O=function(d){this.items=[];this[m]=0;if(d){for(var e=0,E=d[m];e<E;e++){if(d[e]&&(d[e].constructor==au||d[e].constructor==O)){this[this.items[m]]=this.items[this.items[m]]=d[e];this[m]++;}}}};O[aU][f]=function(){var R,d;for(var e=0,E=arguments[m];e<E;e++){R=arguments[e];if(R&&(R.constructor==au||R.constructor==O)){d=this.items[m];this[d]=this.items[d]=R;this[m]++;}}return this;};O[aU].pop=function(){delete this[this[m]--];return this.items.pop();};for(var x in au[aU]){if(au[aU][N](x)){O[aU][x]=(function(d){return function(){for(var e=0,E=this.items[m];e<E;e++){this.items[e][d][aS](this.items[e],arguments);}return this;};})(x);}}O[aU].attr=function(e,aW){if(e&&al.is(e,"array")&&al.is(e[0],"object")){for(var d=0,S=e[m];d<S;d++){this.items[d].attr(e[d]);}}else{for(var E=0,R=this.items[m];E<R;E++){this.items[E].attr[aS](this.items[E],arguments);}}return this;};O[aU].animate=function(S,e,aY,aX){(al.is(aY,"function")||!aY)&&(aX=aY||null);var d=this.items[m],E=d,aW=this,R;aX&&(R=function(){!--d&&aX.call(aW);});this.items[--E].animate(S,e,aY||R,R);while(E--){this.items[E].animateWith(this.items[d-1],S,e,aY||R,R);}return this;};O[aU].insertAfter=function(e){var d=this.items[m];while(d--){this.items[d].insertAfter(e);}return this;};O[aU].getBBox=function(){var d=[],aW=[],e=[],R=[];for(var E=this.items[m];E--;){var S=this.items[E].getBBox();d[f](S.x);aW[f](S.y);e[f](S.x+S.width);R[f](S.y+S.height);}d=aE[aS](0,d);aW=aE[aS](0,aW);return{x:d,y:aW,width:g[aS](0,e)-d,height:g[aS](0,R)-aW};};al.registerFont=function(e){if(!e.face){return e;}this.fonts=this.fonts||{};var E={w:e.w,face:{},glyphs:{}},i=e.face["font-family"];for(var aW in e.face){if(e.face[N](aW)){E.face[aW]=e.face[aW];}}if(this.fonts[i]){this.fonts[i][f](E);}else{this.fonts[i]=[E];}if(!e.svg){E.face["units-per-em"]=D(e.face["units-per-em"],10);for(var R in e.glyphs){if(e.glyphs[N](R)){var S=e.glyphs[R];E.glyphs[R]={w:S.w,k:{},d:S.d&&"M"+S.d[aL](/[mlcxtrv]/g,function(aX){return{l:"L",c:"C",x:"z",t:"m",r:"l",v:"c"}[aX]||"M";})+"z"};if(S.k){for(var d in S.k){if(S[N](d)){E.glyphs[R].k[d]=S.k[d];}}}}}}return e;};aP[aU].getFont=function(aY,aZ,e,R){R=R||"normal";e=e||"normal";aZ=+aZ||{normal:400,bold:700,lighter:300,bolder:800}[aZ]||400;var S=al.fonts[aY];if(!S){var E=new RegExp("(^|\\s)"+aY[aL](/[^\w\d\s+!~.:_-]/g,ap)+"(\\s|$)","i");for(var d in al.fonts){if(al.fonts[N](d)){if(E.test(d)){S=al.fonts[d];break;}}}}var aW;if(S){for(var aX=0,a0=S[m];aX<a0;aX++){aW=S[aX];if(aW.face["font-weight"]==aZ&&(aW.face["font-style"]==e||!aW.face["font-style"])&&aW.face["font-stretch"]==R){break;}}}return aW;};aP[aU].print=function(R,E,d,aX,aY,a7){a7=a7||"middle";var a3=this.set(),a6=(d+ap)[y](ap),a4=0,a0=ap,a8;al.is(aX,"string")&&(aX=this.getFont(aX));if(aX){a8=(aY||16)/aX.face["units-per-em"];var e=aX.face.bbox.split(a),aW=+e[0],aZ=+e[1]+(a7=="baseline"?e[3]-e[1]+(+aX.face.descent):(e[3]-e[1])/2);for(var a2=0,S=a6[m];a2<S;a2++){var a1=a2&&aX.glyphs[a6[a2-1]]||{},a5=aX.glyphs[a6[a2]];a4+=a2?(a1.w||aX.w)+(a1.k&&a1.k[a6[a2]]||0):0;a5&&a5.d&&a3[f](this.path(a5.d).attr({fill:"#000",stroke:"none",translation:[a4,0]}));}a3.scale(a8,a8,aW,aZ).translate(R-aW,E-aZ);}return a3;};al.format=function(i){var e=al.is(arguments[1],"array")?[0][aO](arguments[1]):arguments,d=/\{(\d+)\}/g;i&&al.is(i,"string")&&e[m]-1&&(i=i[aL](d,function(R,E){return e[++E]==null?ap:e[E];}));return i||ap;};al.ninja=function(){var i=aq.Raphael,d;if(l.was){aq.Raphael=l.is;}else{try{delete aq.Raphael;}catch(E){aq.Raphael=d;}}return i;};al.el=au[aU];return al;})();
\ No newline at end of file
index de231d0..6e6f9ae 100644 (file)
@@ -28,6 +28,7 @@ window.Raphael = (function () {
             }
             return create[apply](R, arguments);
         },
+        Paper = function () {},
         appendChild = "appendChild",
         apply = "apply",
         concat = "concat",
@@ -62,7 +63,14 @@ window.Raphael = (function () {
         availableAnimAttrs = {"clip-rect": "csv", cx: nu, cy: nu, fill: "colour", "fill-opacity": nu, "font-size": nu, height: nu, opacity: nu, path: "path", r: nu, rotation: "csv", rx: nu, ry: nu, scale: "csv", stroke: "colour", "stroke-opacity": nu, "stroke-width": nu, translation: "csv", width: nu, x: nu, y: nu},
         rp = "replace";
     R.version = "1.2.9dev";
-    R.type = (win.SVGAngle || doc.implementation.hasFeature("http://www.w3.org/TR/SVG11/feature#BasicStructure", "1.1") ? "SVG" : "VML");
+    R.type = (win.SVGAngle || doc.implementation.hasFeature("http://www.w3.org/TR/SVG11/feature#BasicStructure", 1.1) ? "SVG" : "VML");
+    if (R.type == "VML") {
+        var d = document.createElement("div");
+        d.innerHTML = '<!--[if vml]><br><br><![endif]-->';
+        if (d.childNodes[length] != 2) {
+            return null;
+        }
+    }
     R.svg = !(R.vml = R.type == "VML");
     R._id = 0;
     R._oid = 0;
@@ -892,12 +900,17 @@ window.Raphael = (function () {
             el2.prev = el;
             el.next = el2;
         },
+        removed = function (methodname) {
+            return function () {
+                throw new Error("Rapha\xebl: you are calling to method \u201c" + methodname + "\u201d of removed object");
+            };
+        },
         radial_gradient = /^r(?:\(([^,]+?)\s*,\s*([^\)]+?)\))?/;
 
     // SVG
     if (R.svg) {
-        paper.svgns = "http://www.w3.org/2000/svg";
-        paper.xlink = "http://www.w3.org/1999/xlink";
+        Paper[proto].svgns = "http://www.w3.org/2000/svg";
+        Paper[proto].xlink = "http://www.w3.org/1999/xlink";
         var round = function (num) {
             return +num + (~~num === num) * .5;
         },
@@ -920,7 +933,7 @@ window.Raphael = (function () {
                         el[setAttribute](key, attr[key]);
                     }
                 } else {
-                    return doc.createElementNS(paper.svgns, el);
+                    return doc.createElementNS(Paper[proto].svgns, el);
                 }
             };
         R[toString] = function () {
@@ -1062,7 +1075,7 @@ window.Raphael = (function () {
                             hl[appendChild](node);
                             pn = hl;
                         }
-                        pn.setAttributeNS(o.paper.xlink, att, value);
+                        pn.setAttributeNS(o.Paper[proto].xlink, att, value);
                         break;
                     case "cursor":
                         node.style.cursor = value;
@@ -1194,7 +1207,7 @@ window.Raphael = (function () {
                                 $(el, {width: this.offsetWidth, height: this.offsetHeight});
                                 $(ig, {width: this.offsetWidth, height: this.offsetHeight});
                                 doc.body.removeChild(this);
-                                paper.safari();
+                                o.paper.safari();
                             };
                             doc.body[appendChild](img);
                             img.src = isURL[1];
@@ -1555,15 +1568,14 @@ window.Raphael = (function () {
             if (!container) {
                 throw new Error("SVG container not found.");
             }
-            paper.canvas = $("svg");
-            var cnvs = paper.canvas;
-            paper.width = width || 512;
-            paper.height = height || 342;
+            var cnvs = $("svg");
+            width = width || 512;
+            height = height || 342;
             $(cnvs, {
                 xmlns: "http://www.w3.org/2000/svg",
                 version: 1.1,
-                width: paper.width,
-                height: paper.height
+                width: width,
+                height: height
             });
             if (container == 1) {
                 cnvs.style.cssText = "position:absolute;left:" + x + "px;top:" + y + "px";
@@ -1575,17 +1587,15 @@ window.Raphael = (function () {
                     container[appendChild](cnvs);
                 }
             }
-            container = { canvas: cnvs };
-            for (var prop in paper) if (paper[has](prop)) {
-                container[prop] = paper[prop];
-            }
-            container.bottom = container.top = null;
+            container = new Paper;
+            container.width = width;
+            container.height = height;
+            container.canvas = cnvs;
             plugins.call(container, container, R.fn);
             container.clear();
-            container.raphael = R;
             return container;
         };
-        paper.clear = function () {
+        Paper[proto].clear = function () {
             var c = this.canvas;
             while (c.firstChild) {
                 c.removeChild(c.firstChild);
@@ -1595,10 +1605,10 @@ window.Raphael = (function () {
             c[appendChild](this.desc);
             c[appendChild](this.defs = $("defs"));
         };
-        paper.remove = function () {
+        Paper[proto].remove = function () {
             this.canvas.parentNode && this.canvas.parentNode.removeChild(this.canvas);
             for (var i in this) {
-                delete this[i];
+                this[i] = removed(i);
             }
         };
     }
@@ -2210,8 +2220,8 @@ window.Raphael = (function () {
             res.setBox({x: x - r, y: y - r, width: r * 2, height: r * 2});
             vml.canvas[appendChild](g);
             return res;
-        };
-        var theRect = function (vml, x, y, w, h, r) {
+        },
+        theRect = function (vml, x, y, w, h, r) {
             var g = createNode("group"),
                 o = createNode("roundrect"),
                 arcsize = (+r || 0) / (mmin(w, h));
@@ -2227,8 +2237,8 @@ window.Raphael = (function () {
             res.setBox({x: x, y: y, width: w, height: h, r: r});
             vml.canvas[appendChild](g);
             return res;
-        };
-        var theEllipse = function (vml, x, y, rx, ry) {
+        },
+        theEllipse = function (vml, x, y, rx, ry) {
             var g = createNode("group"),
                 o = createNode("oval"),
                 ol = o.style;
@@ -2246,8 +2256,8 @@ window.Raphael = (function () {
             res.setBox({x: x - rx, y: y - ry, width: rx * 2, height: ry * 2});
             vml.canvas[appendChild](g);
             return res;
-        };
-        var theImage = function (vml, src, x, y, w, h) {
+        },
+        theImage = function (vml, src, x, y, w, h) {
             var g = createNode("group"),
                 o = createNode("image"),
                 ol = o.style;
@@ -2266,8 +2276,8 @@ window.Raphael = (function () {
             res.setBox({x: x, y: y, width: w, height: h});
             vml.canvas[appendChild](g);
             return res;
-        };
-        var theText = function (vml, x, y, text) {
+        },
+        theText = function (vml, x, y, text) {
             var g = createNode("group"),
                 el = createNode("shape"),
                 ol = el.style,
@@ -2299,8 +2309,8 @@ window.Raphael = (function () {
             res.setBox();
             vml.canvas[appendChild](g);
             return res;
-        };
-        var setSize = function (width, height) {
+        },
+        setSize = function (width, height) {
             var cs = this.canvas.style;
             width == +width && (width += "px");
             height == +height && (height += "px");
@@ -2308,15 +2318,16 @@ window.Raphael = (function () {
             cs.height = height;
             cs.clip = "rect(0 " + width + " " + height + " 0)";
             return this;
-        };
+        },
+        createNode;
         doc.createStyleSheet().addRule(".rvml", "behavior:url(#default#VML)");
         try {
             !doc.namespaces.rvml && doc.namespaces.add("rvml", "urn:schemas-microsoft-com:vml");
-            var createNode = function (tagName) {
+            createNode = function (tagName) {
                 return doc.createElement('<rvml:' + tagName + ' class="rvml">');
             };
         } catch (e) {
-            var createNode = function (tagName) {
+            createNode = function (tagName) {
                 return doc.createElement('<' + tagName + ' xmlns="urn:schemas-microsoft.com:vml" class="rvml">');
             };
         }
@@ -2331,7 +2342,7 @@ window.Raphael = (function () {
             if (!container) {
                 throw new Error("VML container not found.");
             }
-            var res = {},
+            var res = new Paper,
                 c = res.canvas = doc.createElement("div"),
                 cs = c.style;
             width = width || 512;
@@ -2350,12 +2361,6 @@ window.Raphael = (function () {
                 doc.body[appendChild](c);
                 cs.left = x + "px";
                 cs.top = y + "px";
-                container = {
-                    style: {
-                        width: width,
-                        height: height
-                    }
-                };
             } else {
                 container.style.width = width;
                 container.style.height = height;
@@ -2365,22 +2370,17 @@ window.Raphael = (function () {
                     container[appendChild](c);
                 }
             }
-            for (var prop in paper) if (paper[has](prop)) {
-                res[prop] = paper[prop];
-            }
             plugins.call(res, res, R.fn);
-            res.top = res.bottom = null;
-            res.raphael = R;
             return res;
         };
-        paper.clear = function () {
+        Paper[proto].clear = function () {
             this.canvas.innerHTML = E;
             this.bottom = this.top = null;
         };
-        paper.remove = function () {
+        Paper[proto].remove = function () {
             this.canvas.parentNode.removeChild(this.canvas);
             for (var i in this) {
-                delete this[i];
+                this[i] = removed(i);
             }
         };
     }
@@ -2388,12 +2388,12 @@ window.Raphael = (function () {
     // rest
     // Safari or Chrome (WebKit) rendering bug workaround method
     if ((/^Apple|^Google/).test(navigator.vendor) && !(navigator.userAgent.indexOf("Version/4.0") + 1)) {
-        paper.safari = function () {
+        Paper[proto].safari = function () {
             var rect = this.rect(-99, -99, this.width + 99, this.height + 99);
             setTimeout(function () {rect.remove();});
         };
     } else {
-        paper.safari = function () {};
+        Paper[proto].safari = function () {};
     }
 
     // Events
@@ -2451,30 +2451,32 @@ window.Raphael = (function () {
     Element[proto].unhover = function (f_in, f_out) {
         return this.unmouseover(f_in).unmouseout(f_out);
     };
-    paper.circle = function (x, y, r) {
+    Paper[proto].circle = function (x, y, r) {
         return theCircle(this, x || 0, y || 0, r || 0);
     };
-    paper.rect = function (x, y, w, h, r) {
+    Paper[proto].rect = function (x, y, w, h, r) {
         return theRect(this, x || 0, y || 0, w || 0, h || 0, r || 0);
     };
-    paper.ellipse = function (x, y, rx, ry) {
+    Paper[proto].ellipse = function (x, y, rx, ry) {
         return theEllipse(this, x || 0, y || 0, rx || 0, ry || 0);
     };
-    paper.path = function (pathString) {
+    Paper[proto].path = function (pathString) {
         pathString && !R.is(pathString, "string") && !R.is(pathString[0], "array") && (pathString += E);
         return thePath(R.format[apply](R, arguments), this);
     };
-    paper.image = function (src, x, y, w, h) {
+    Paper[proto].image = function (src, x, y, w, h) {
         return theImage(this, src || "about:blank", x || 0, y || 0, w || 0, h || 0);
     };
-    paper.text = function (x, y, text) {
+    Paper[proto].text = function (x, y, text) {
         return theText(this, x || 0, y || 0, text || E);
     };
-    paper.set = function (itemsArray) {
+    Paper[proto].set = function (itemsArray) {
         arguments[length] > 1 && (itemsArray = Array[proto].splice.call(arguments, 0, arguments[length]));
         return new Set(itemsArray);
     };
-    paper.setSize = setSize;
+    Paper[proto].setSize = setSize;
+    Paper[proto].top = Paper[proto].bottom = null;
+    Paper[proto].raphael = R;
     function x_y() {
         return this.x + S + this.y;
     };
@@ -2756,7 +2758,7 @@ window.Raphael = (function () {
                 }
                 e.prev = time;
             }
-            R.svg && paper.safari();
+            R.svg && that.paper.safari();
             animationElements[length] && setTimeout(animation);
         },
         upto255 = function (color) {
@@ -3026,7 +3028,7 @@ window.Raphael = (function () {
         }
         return font;
     };
-    paper.getFont = function (family, weight, style, stretch) {
+    Paper[proto].getFont = function (family, weight, style, stretch) {
         stretch = stretch || "normal";
         style = style || "normal";
         weight = +weight || {normal: 400, bold: 700, lighter: 300, bolder: 800}[weight] || 400;
@@ -3051,7 +3053,7 @@ window.Raphael = (function () {
         }
         return thefont;
     };
-    paper.print = function (x, y, string, font, size, origin) {
+    Paper[proto].print = function (x, y, string, font, size, origin) {
         origin = origin || "middle"; // baseline|middle
         var out = this.set(),
             letters = (string + E)[split](E),