Ext.define("Ext.chart.Callout",{constructor:function(a){if(a.callouts){a.callouts.styles=Ext.applyIf(a.callouts.styles||{},{color:"#000",font:"11px Helvetica, sans-serif"});this.callouts=Ext.apply(this.callouts||{},a.callouts);this.calloutsArray=[]}},renderCallouts:function(){if(!this.callouts){return}var u=this,l=u.items,a=u.chart.animate,t=u.callouts,g=t.styles,e=u.calloutsArray,b=u.chart.getChartStore(),r=b.getCount(),d=l.length/r,k=[],q,c,o,m,s,f,h,n;for(q=0,c=0;qb){e=d[a];for(c in e){if(e[c]){e[c].hide(true)}}}}});Ext.define("Ext.draw.CompositeSprite",{extend:"Ext.util.MixedCollection",mixins:{animate:"Ext.util.Animate"},autoDestroy:false,isCompositeSprite:true,constructor:function(a){var b=this;Ext.apply(b,a);b.id=Ext.id(null,"ext-sprite-group-");b.callParent()},onClick:function(a){this.fireEvent("click",a)},onMouseUp:function(a){this.fireEvent("mouseup",a)},onMouseDown:function(a){this.fireEvent("mousedown",a)},onMouseOver:function(a){this.fireEvent("mouseover",a)},onMouseOut:function(a){this.fireEvent("mouseout",a)},attachEvents:function(b){var a=this;b.on({scope:a,mousedown:a.onMouseDown,mouseup:a.onMouseUp,mouseover:a.onMouseOver,mouseout:a.onMouseOut,click:a.onClick})},add:function(b,c){var a=this.callParent(arguments);this.attachEvents(a);return a},insert:function(a,b,c){return this.callParent(arguments)},remove:function(b){var a=this;b.un({scope:a,mousedown:a.onMouseDown,mouseup:a.onMouseUp,mouseover:a.onMouseOver,mouseout:a.onMouseOut,click:a.onClick});return a.callParent(arguments)},getBBox:function(){var e=0,m,h,j=this.items,f=this.length,g=Infinity,c=g,l=-g,b=g,k=-g,d,a;for(;e0){b=d.first();d.remove(b);a.remove(b,c)}}d.clearListeners()}});Ext.define("Ext.draw.Surface",{mixins:{observable:"Ext.util.Observable"},requires:["Ext.draw.CompositeSprite"],uses:["Ext.draw.engine.Svg","Ext.draw.engine.Vml","Ext.draw.engine.SvgExporter","Ext.draw.engine.ImageExporter"],separatorRe:/[, ]+/,enginePriority:["Svg","Vml"],statics:{create:function(b,d){d=d||this.prototype.enginePriority;var c=0,a=d.length;for(;c1,a,d,c,g,f;if(h||Ext.isArray(b[0])){a=h?b:b[0];d=[];for(c=0,g=a.length;cg){b=h-1}else{if(a-1;b--){this.remove(a[b],d)}},onRemove:Ext.emptyFn,onDestroy:Ext.emptyFn,applyViewBox:function(){var d=this,l=d.viewBox,a=d.width||1,g=d.height||1,f,e,j,b,h,c,k;if(l&&(a||g)){f=l.x;e=l.y;j=l.width;b=l.height;h=g/b;c=a/j;k=Math.min(c,h);if(j*k=360){e-=360}}return[e,o,c]},getHSV:function(){var j=this,a=j.r/255,f=j.g/255,k=j.b/255,l=Math.max(a,f,k),d=Math.min(a,f,k),c=l-d,e,n=0,m=l;if(d!=l){n=m?c/m:0;if(a===l){e=60*(f-k)/c}else{if(f===l){e=60*(k-a)/c+120}else{e=60*(a-f)/c+240}}if(e<0){e+=360}if(e>=360){e-=360}}return[e,n,m]},getLighter:function(b){var a=this.getHSL();b=b||this.lightnessFactor;a[2]=Ext.Number.constrain(a[2]+b,0,1);return this.fromHSL(a[0],a[1],a[2])},getDarker:function(a){a=a||this.lightnessFactor;return this.getLighter(-a)},toString:function(){var f=this,c=Math.round,e=c(f.r).toString(16),d=c(f.g).toString(16),a=c(f.b).toString(16);e=(e.length==1)?"0"+e:e;d=(d.length==1)?"0"+d:d;a=(a.length==1)?"0"+a:a;return["#",e,d,a].join("")},toHex:function(b){if(Ext.isArray(b)){b=b[0]}if(!Ext.isString(b)){return""}if(b.substr(0,1)==="#"){return b}var e=this.colorToHexRe.exec(b),f,d,a,c;if(Ext.isArray(e)){f=parseInt(e[2],10);d=parseInt(e[3],10);a=parseInt(e[4],10);c=a|(d<<8)|(f<<16);return e[1]+"#"+("000000"+c.toString(16)).slice(-6)}else{return b}},fromString:function(k){var c,h,f,a,j=parseInt,e=k.substr(0,1),d;if(e!="#"){d=Ext.draw.Color.cssColors[k];if(d){k=d;e=k.substr(0,1)}}if((k.length==4||k.length==7)&&e==="#"){c=k.match(this.hexRe);if(c){h=j(c[1],16)>>0;f=j(c[2],16)>>0;a=j(c[3],16)>>0;if(k.length==4){h+=(h*16);f+=(f*16);a+=(a*16)}}}else{c=k.match(this.rgbRe);if(c){h=c[1];f=c[2];a=c[3]}}return(typeof h=="undefined")?undefined:new Ext.draw.Color(h,f,a)},getGrayscale:function(){return this.r*0.3+this.g*0.59+this.b*0.11},fromHSL:function(f,e,c){var g,j,b,d=[],a=Math.abs;if(e==0||f==null){d=[c,c,c]}else{f/=60;g=e*(1-a(2*c-1));j=g*(1-a(f%2-1));b=c-g/2;switch(Math.floor(f)){case 0:d=[g,j,0];break;case 1:d=[j,g,0];break;case 2:d=[0,g,j];break;case 3:d=[0,j,g];break;case 4:d=[j,0,g];break;case 5:d=[g,0,j];break}d=[d[0]+b,d[1]+b,d[2]+b]}return new Ext.draw.Color(d[0]*255,d[1]*255,d[2]*255)},fromHSV:function(e,d,b){var f,g,a,c=[];if(d==0||e==null){c=[b,b,b]}else{e/=60;f=b*d;g=f*(1-Math.abs(e%2-1));a=b-f;switch(Math.floor(e)){case 0:c=[f,g,0];break;case 1:c=[g,f,0];break;case 2:c=[0,f,g];break;case 3:c=[0,g,f];break;case 4:c=[g,0,f];break;case 5:c=[f,0,g];break}c=[c[0]+a,c[1]+a,c[2]+a]}return new Ext.draw.Color(c[0]*255,c[1]*255,c[2]*255)}},function(){var a=this.prototype,b=["fromHSL","fromHSV","fromString","toHex"],c={};Ext.Array.each(b,function(d){c[d]=function(){return a[d].apply(a,arguments)}});c.cssColors={aliceblue:"#F0F8FF",antiquewhite:"#FAEBD7",aqua:"#00FFFF",aquamarine:"#7FFFD4",azure:"#F0FFFF",beige:"#F5F5DC",bisque:"#FFE4C4",black:"#000000",blanchedalmond:"#FFEBCD",blue:"#0000FF",blueviolet:"#8A2BE2",brown:"#A52A2A",burlywood:"#DEB887",cadetblue:"#5F9EA0",chartreuse:"#7FFF00",chocolate:"#D2691E",coral:"#FF7F50",cornflowerblue:"#6495ED",cornsilk:"#FFF8DC",crimson:"#DC143C",cyan:"#00FFFF",darkblue:"#00008B",darkcyan:"#008B8B",darkgoldenrod:"#B8860B",darkgray:"#A9A9A9",darkgreen:"#006400",darkgrey:"#A9A9A9",darkkhaki:"#BDB76B",darkmagenta:"#8B008B",darkolivegreen:"#556B2F",darkorange:"#FF8C00",darkorchid:"#9932CC",darkred:"#8B0000",darksalmon:"#E9967A",darkseagreen:"#8FBC8F",darkslateblue:"#483D8B",darkslategray:"#2F4F4F",darkslategrey:"#2F4F4F",darkturquoise:"#00CED1",darkviolet:"#9400D3",deeppink:"#FF1493",deepskyblue:"#00BFFF",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1E90FF",firebrick:"#B22222",floralwhite:"#FFFAF0",forestgreen:"#228B22",fuchsia:"#FF00FF",gainsboro:"#DCDCDC",ghostwhite:"#F8F8FF",gold:"#FFD700",goldenrod:"#DAA520",gray:"#808080",grey:"#808080",green:"#008000",greenyellow:"#ADFF2F",honeydew:"#F0FFF0",hotpink:"#FF69B4",indianred:"#CD5C5C",indigo:"#4B0082",ivory:"#FFFFF0",khaki:"#F0E68C",lavender:"#E6E6FA",lavenderblush:"#FFF0F5",lawngreen:"#7CFC00",lemonchiffon:"#FFFACD",lightblue:"#ADD8E6",lightcoral:"#F08080",lightcyan:"#E0FFFF",lightgoldenrodyellow:"#FAFAD2",lightgray:"#D3D3D3",lightgreen:"#90EE90",lightgrey:"#D3D3D3",lightpink:"#FFB6C1",lightsalmon:"#FFA07A",lightseagreen:"#20B2AA",lightskyblue:"#87CEFA",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#B0C4DE",lightyellow:"#FFFFE0",lime:"#00FF00",limegreen:"#32CD32",linen:"#FAF0E6",magenta:"#FF00FF",maroon:"#800000",mediumaquamarine:"#66CDAA",mediumblue:"#0000CD",mediumorchid:"#BA55D3",mediumpurple:"#9370DB",mediumseagreen:"#3CB371",mediumslateblue:"#7B68EE",mediumspringgreen:"#00FA9A",mediumturquoise:"#48D1CC",mediumvioletred:"#C71585",midnightblue:"#191970",mintcream:"#F5FFFA",mistyrose:"#FFE4E1",moccasin:"#FFE4B5",navajowhite:"#FFDEAD",navy:"#000080",oldlace:"#FDF5E6",olive:"#808000",olivedrab:"#6B8E23",orange:"#FFA500",orangered:"#FF4500",orchid:"#DA70D6",palegoldenrod:"#EEE8AA",palegreen:"#98FB98",paleturquoise:"#AFEEEE",palevioletred:"#DB7093",papayawhip:"#FFEFD5",peachpuff:"#FFDAB9",peru:"#CD853F",pink:"#FFC0CB",plum:"#DDA0DD",powderblue:"#B0E0E6",purple:"#800080",red:"#FF0000",rosybrown:"#BC8F8F",royalblue:"#4169E1",saddlebrown:"#8B4513",salmon:"#FA8072",sandybrown:"#F4A460",seagreen:"#2E8B57",seashell:"#FFF5EE",sienna:"#A0522D",silver:"#C0C0C0",skyblue:"#87CEEB",slateblue:"#6A5ACD",slategray:"#708090",slategrey:"#708090",snow:"#FFFAFA",springgreen:"#00FF7F",steelblue:"#4682B4",tan:"#D2B48C",teal:"#008080",thistle:"#D8BFD8",tomato:"#FF6347",turquoise:"#40E0D0",violet:"#EE82EE",wheat:"#F5DEB3",white:"#FFFFFF",whitesmoke:"#F5F5F5",yellow:"#FFFF00",yellowgreen:"#9ACD32"};this.addStatics(c)});Ext.chart=Ext.chart||{};Ext.define("Ext.chart.theme.Theme",(function(){(function(){Ext.chart.theme=function(c,b){c=c||{};var k=0,o=Ext.Date.now(),h,a,j,q,r,f,n,p,m=[],e,g;if(c.baseColor){e=Ext.draw.Color.fromString(c.baseColor);g=e.getHSL()[2];if(g<0.15){e=e.getLighter(0.3)}else{if(g<0.3){e=e.getLighter(0.15)}else{if(g>0.85){e=e.getDarker(0.3)}else{if(g>0.7){e=e.getDarker(0.15)}}}}c.colors=[e.getDarker(0.3).toString(),e.getDarker(0.15).toString(),e.toString(),e.getLighter(0.15).toString(),e.getLighter(0.3).toString()];delete c.baseColor}if(c.colors){a=c.colors.slice();r=b.markerThemes;q=b.seriesThemes;h=a.length;b.colors=a;for(;k0?p:p+a)+g.el.getX(),y:(n>0?m:m+n)+g.el.getY(),width:r(a),height:r(n)};g.mask.updateBox(g.maskSelection);g.mask.show();g.maskSprite.setAttributes({hidden:true},true)}else{if(s=="horizontal"){q=["M",p,j,"L",p,n]}else{if(s=="vertical"){q=["M",l,m,"L",a,m]}else{q=["M",p,j,"L",p,n,"M",l,m,"L",a,m]}}g.maskSprite.setAttributes({path:q,"stroke-width":s===true?1:1,hidden:false},true)}}},onMouseLeave:function(b){var a=this;a.mouseMoved=false;a.mouseDown=false;a.maskMouseDown=false;a.mask.hide();a.maskSprite.hide(true)}});Ext.define("Ext.chart.Navigation",{mixinId:"navigation",setZoom:function(o){var s=this,n=s.axes.items,q,l,c,a=s.chartBBox,t=a.width,d=a.height,f={x:o.x-s.el.getX(),y:o.y-s.el.getY(),width:o.width,height:o.height},h,m,p,b,g,k,j,e,r;for(q=0,l=n.length;q0.5?0.2:0.8;J.setAttributes({fill:String(m.fromHSL.apply({},E))},true)}if(p.stacked&&d&&(x.totalPositiveValues||x.totalNegativeValues)){S=(x.totalPositiveValues||0);H=(x.totalNegativeValues||0);A=S+H;if(d=="total"){n=y(A)}else{if(d=="balances"){if(S==0&&H==0){n=y(0)}else{n=y(S);M=y(H)}}}if(n){J=r.getAt(c);if(!J){J=p.onCreateLabel(R,x,O,"over")}E=m.fromString(J.attr.color||J.attr.fill).getHSL();J.setAttributes({text:n,style:D.font,fill:String(m.fromHSL.apply({},E))},true);p.onPlaceLabel(J,R,x,O,"over",L,B);c++}if(M){J=r.getAt(c);if(!J){J=p.onCreateLabel(R,x,O,"under")}E=m.fromString(J.attr.color||J.attr.fill).getHSL();J.setAttributes({text:M,style:D.font,fill:String(m.fromHSL.apply({},E))},true);p.onPlaceLabel(J,R,x,O,"under",L,B);c++}}}I++;B++}}l=r.length;while(l>c){P.push(c);c++}}p.hideLabels(P)},hideLabels:function(b){var a=this.labelsGroup,c=!!b&&b.length;if(!a){return}if(c===false){c=a.getCount();while(c--){a.getAt(c).hide(true)}}else{while(c--){a.getAt(b[c]).hide(true)}}}});Ext.define("Ext.chart.TipSurface",{extend:"Ext.draw.Component",spriteArray:false,renderFirst:true,constructor:function(a){this.callParent([a]);if(a.sprites){this.spriteArray=[].concat(a.sprites);delete a.sprites}},onRender:function(){var c=this,b=0,a=0,d,e;this.callParent(arguments);e=c.spriteArray;if(c.renderFirst&&e){c.renderFirst=false;for(a=e.length;b2){c.push([e].concat(Ext.Array.splice(h,0,2)));g="l";e=(e=="m")?"l":"L"}while(h.length>=d[g]){c.push([e].concat(Ext.Array.splice(h,0,d[g])));if(!d[g]){break}}})}c.toString=b.path2string;return c},mapPath:function(k,f){if(!f){return k}var g,e,c,h,a,d,b;k=this.path2curve(k);for(c=0,h=k.length;c7){g[b].shift();e=g[b];while(e.length){Ext.Array.splice(g,b++,0,["C"].concat(Ext.Array.splice(e,0,6)))}Ext.Array.erase(g,b,1);c=g.length;b--}a=g[b];f=a.length;h.x=a[f-2];h.y=a[f-1];h.bx=parseFloat(a[f-4])||h.x;h.by=parseFloat(a[f-3])||h.y}return g},interpolatePaths:function(q,k){var h=this,d=h.pathToAbsolute(q),l=h.pathToAbsolute(k),m={x:0,y:0,bx:0,by:0,X:0,Y:0,qx:null,qy:null},a={x:0,y:0,bx:0,by:0,X:0,Y:0,qx:null,qy:null},b=function(p,r){if(p[r].length>7){p[r].shift();var s=p[r];while(s.length){Ext.Array.splice(p,r++,0,["C"].concat(Ext.Array.splice(s,0,6)))}Ext.Array.erase(p,r,1);n=Math.max(d.length,l.length||0)}},c=function(u,t,r,p,s){if(u&&t&&u[s][0]=="M"&&t[s][0]!="M"){Ext.Array.splice(t,s,0,["M",p.x,p.y]);r.bx=0;r.by=0;r.x=u[s][1];r.y=u[s][2];n=Math.max(d.length,l.length||0)}},g,n,f,o,e,j;for(g=0,n=Math.max(d.length,l.length||0);g1){Z=U(Z);G=Z*G;E=Z*E}c=G*G;Q=E*E;T=(m==f?-1:1)*U(s((c*Q-c*M*M-Q*N*N)/(c*M*M+Q*N*N)));B=T*G*M/E+(r+q)/2;A=T*-E*N/G+(ae+ad)/2;l=n(((ae-A)/E).toFixed(7));j=n(((ad-A)/E).toFixed(7));l=rj){l=l-d*2}if(!f&&j>l){j=j-d*2}}else{l=z[0];j=z[1];B=z[2];A=z[3]}p=j-l;if(s(p)>D){C=j;F=q;o=ad;j=l+D*(f&&j>l?1:-1);q=B+G*S(j);ad=A+E*a(j);L=u.arc2curve(q,ad,G,E,w,0,f,F,o,[j,C,B,A])}p=j-l;g=S(l);ac=a(l);e=S(j);ab=a(j);O=I.tan(p/4);R=4/3*G*O;P=4/3*E*O;aa=[r,ae];Y=[r+R*ac,ae-P*g];X=[q+R*ab,ad-P*e];V=[q,ad];Y[0]=2*aa[0]-Y[0];Y[1]=2*aa[1]-Y[1];if(z){return[Y,X,V].concat(L)}else{L=[Y,X,V].concat(L).join().split(",");K=[];J=L.length;for(W=0;W(a[1]-c[1])*(b[0]-c[0])},intersectIntersection:function(n,m,f,d){var c=[],b=f[0]-d[0],a=f[1]-d[1],k=n[0]-m[0],h=n[1]-m[1],l=f[0]*d[1]-f[1]*d[0],j=n[0]*m[1]-n[1]*m[0],g=1/(b*h-a*k);c[0]=(l*k-j*b)*g;c[1]=(l*h-j*a)*g;return c},intersect:function(n,c){var m=this,h=0,l=c.length,g=c[l-1],o=n,f,p,k,a,b,d;for(;h0){u.push(f)}}else{h=q-3*p+3*m-l;o=2*(q-p-p+m);g=q-p;t=o*o-4*h*g;e=h+h;if(t===0){f=o/e;if(f<1&&f>0){u.push(f)}}else{if(t>0){v=Math.sqrt(t);f=(v+o)/e;if(f<1&&f>0){u.push(f)}f=(o-v)/e;if(f<1&&f>0){u.push(f)}}}}j=Math.min(q,l);n=Math.max(q,l);for(k=0;k=d&&j>=u)||(j<=d&&j<=u)){g=l=r}else{g=f((k-e)/m(j-d));if(dr){c-=p}g+=c;l+=c;o=k-t*a(g);n=j+t*b(g);x=k+s*a(l);w=j+s*b(l);if((j>d&&nd)){o+=m(d-n)*(o-k)/(n-j);n=d}if((j>u&&wu)){x-=m(u-w)*(x-k)/(w-j);w=u}return{x1:o,y1:n,x2:x,y2:w}},smooth:function(a,o){var n=this.path2curve(a),c=[n[0]],f=n[0][1],e=n[0][2],p,r,s=1,g=n.length,d=1,k=f,h=e,v,u,t,l,q,m,b;for(;s0){p=Math.floor((n-(l/10))/l)*l}if(t){for(o=0;o=0){d=0;while(d>n){d-=e;a++}n=+d.toFixed(10);d=0;while(d=15){l=1;if(++e>11){j++}}else{l=15}break;case 1/3:if(l>=20){l=1;if(++e>11){j++}}else{if(l>=10){l=20}else{l=10}}break;case 1/4:if(l>=22){l=1;if(++e>11){j++}}else{if(l>=15){l=22}else{if(l>=8){l=15}else{l=8}}}break}q.setYear(j);q.setMonth(e);q.setDate(l);k.push(new Date(q))}else{if(h){q=Ext.Date.add(q,g,f);k.push(new Date(q))}else{q=Ext.Date.add(q,g,f);k++}}}if(p){q=n}if(h){return{from:+c,to:+q,steps:k}}else{return{from:+c,to:+q,step:(q-c)/k,steps:k}}},sorter:function(d,c){return d.offset-c.offset},rad:function(a){return a%360*Math.PI/180},normalizeRadians:function(b){var a=2*Math.PI;if(b>=0){return b%a}return((b%a)+a)%a},degrees:function(a){return a*180/Math.PI%360},normalizeDegrees:function(a){if(a>=0){return a%360}return((a%360)+360)%360},withinBox:function(a,c,b){b=b||{};return(a>=b.x&&a<=(b.x+b.width)&&c>=b.y&&c<=(b.y+b.height))},parseGradient:function(k){var e=this,f=k.type||"linear",c=k.angle||0,h=e.radian,l=k.stops,a=[],j,b,g,d;if(f=="linear"){b=[0,0,Math.cos(c*h),Math.sin(c*h)];g=1/(Math.max(Math.abs(b[2]),Math.abs(b[3]))||1);b[2]*=g;b[3]*=g;if(b[2]<0){b[0]=-b[2];b[2]=0}if(b[3]<0){b[1]=-b[3];b[3]=0}}for(j in l){if(l.hasOwnProperty(j)&&e.stopsRE.test(j)){d={offset:parseInt(j,10),color:Ext.draw.Color.toHex(l[j].color)||"#ffffff",opacity:l[j].opacity||1};a.push(d)}}Ext.Array.sort(a,e.sorter);if(f=="linear"){return{id:k.id,type:f,vector:b,stops:a}}else{return{id:k.id,type:f,centerX:k.centerX,centerY:k.centerY,focalX:k.focalX,focalY:k.focalY,radius:k.radius,vector:b,stops:a}}}});Ext.define("Ext.chart.axis.Axis",{extend:"Ext.chart.axis.Abstract",alternateClassName:"Ext.chart.Axis",requires:["Ext.draw.Draw"],hidden:false,forceMinMax:false,dashSize:3,position:"bottom",skipFirst:false,length:0,width:0,adjustEnd:true,majorTickSteps:false,nullGutters:{lower:0,upper:0,verticalAxis:undefined},applyData:Ext.emptyFn,getRange:function(){var B=this,o=B.chart,h=o.getChartStore(),D=h.data.items,n=o.series.items,C=B.position,x,a=Ext.chart.series,t=[],s=Infinity,w=-Infinity,c=B.position==="left"||B.position==="right"||B.position==="radial",y,m,d,v,u,l=D.length,f,A={},r={},z=true,p,g,e,b,q;p=B.fields;for(v=0,m=p.length;vq){s=q}if(w=0){t[u].positiveValue+=q;if(w0){s=0}}else{t[u].negativeValue+=q;if(s>t[u].negativeValue){s=t[u].negativeValue}if(w<0){w=0}}}}}}if(!isFinite(w)){w=B.prevMax||0}if(!isFinite(s)){s=B.prevMin||0}if(typeof s==="number"){s=Ext.Number.correctFloat(s)}if(typeof w==="number"){w=Ext.Number.correctFloat(w)}if(s!=w&&(w!=Math.floor(w)||s!=Math.floor(s))){s=Math.floor(s);w=Math.floor(w)+1}if(!isNaN(B.minimum)){s=B.minimum}if(!isNaN(B.maximum)){w=B.maximum}if(s>=w){s=Math.floor(s);w=s+1}return{min:s,max:w}},calcEnds:function(){var g=this,d=g.getRange(),f=d.min,a=d.max,c,h,e,b;c=(Ext.isNumber(g.majorTickSteps)?g.majorTickSteps+1:g.steps);h=!(Ext.isNumber(g.maximum)&&Ext.isNumber(g.minimum)&&Ext.isNumber(g.majorTickSteps)&&g.majorTickSteps>0);e=Ext.draw.Draw.snapEnds(f,a,c,h);if(Ext.isNumber(g.maximum)){e.to=g.maximum;b=true}if(Ext.isNumber(g.minimum)){e.from=g.minimum;b=true}if(g.adjustMaximumByMajorUnit){e.to=Math.ceil(e.to/e.step)*e.step;b=true}if(g.adjustMinimumByMajorUnit){e.from=Math.floor(e.from/e.step)*e.step;b=true}if(b){e.steps=Math.ceil((e.to-e.from)/e.step)}g.prevMin=(f==a?0:f);g.prevMax=a;return e},drawAxis:function(O){var n=this,Q,I=n.x,H=n.y,V=n.dashSize,q=n.length,J=n.position,b=(J=="left"||J=="right"),l=[],k=(n.isNumericAxis),u=n.applyData(),A=u.step,E=u.steps,G=Ext.isArray(E),j=u.from,U=u.to,h=(U-j)||1,S,z,w,M,C=n.minorTickSteps||0,B=n.minorTickSteps||0,p=Math.max(C+1,0),o=Math.max(B+1,0),K=(J=="left"||J=="top"?-1:1),e=V*K,d=n.chart.series.items,N=d[0],r=Ext.clone(N?N.nullGutters:n.nullGutters),T,f,c,P,R,s,F=0,D=0,a,L,v,t,g,m;n.from=j;n.to=U;if(n.hidden||(j>U)){return}if((G&&(E.length==0))||(!G&&isNaN(A))){return}if(G){E=Ext.Array.filter(E,function(y,x,W){return(+y>+n.from&&+y<+n.to)},this);E=Ext.Array.union([n.from],E,[n.to])}else{E=new Array();for(t=+n.from;t<+n.to;t+=A){E.push(t)}E.push(+n.to)}D=E.length;for(Q=0,v=d.length;Q0){s=A/(R+1)}}if(r&&s){for(a=0;a=0){if(!this.sprites){for(e=0;e<=k;e++){m=a.add({type:"path",path:["M",d+(l-c)*n(e/k*f-f),b+(l-c)*j(e/k*f-f),"L",d+l*n(e/k*f-f),b+l*j(e/k*f-f),"Z"],stroke:"#ccc"});m.setAttributes({hidden:false},true);g.push(m)}}else{g=this.sprites;for(e=0;e<=k;e++){g[e].setAttributes({path:["M",d+(l-c)*n(e/k*f-f),b+(l-c)*j(e/k*f-f),"L",d+l*n(e/k*f-f),b+l*j(e/k*f-f),"Z"],stroke:"#ccc"},true)}}}this.sprites=g;this.drawLabel();if(this.title){this.drawTitle()}},drawTitle:function(){var e=this,d=e.chart,a=d.surface,f=d.chartBBox,c=e.titleSprite,b;if(!c){e.titleSprite=c=a.add(Ext.apply({type:"text",zIndex:2},e.axisTitleStyle,e.labelTitle))}c.setAttributes(Ext.apply({text:e.title},e.label||{}),true);b=c.getBBox();c.setAttributes({x:f.x+(f.width/2)-(b.width/2),y:f.y+f.height-(b.height/2)-4},true)},setTitle:function(a){this.title=a;this.drawTitle()},drawLabel:function(){var x=this,m=x.chart,q=m.surface,b=m.chartBBox,j=b.x+(b.width/2),g=b.y+b.height,n=x.margin||10,d=Math.min(b.width,2*b.height)/2+2*n,v=Math.round,o=[],f,t=x.maximum||0,l=x.minimum||0,s=x.steps,u=Math.PI,c=Math.cos,a=Math.sin,e=this.label,p=e.renderer||Ext.identityFn,h=x.reverse,r,w,k;if(!this.labelArray){for(r=0;r<=s;r++){w=(r===0||r===s)?7:0;k=h?s-r:r;f=q.add({type:"text",text:p(v(l+k/s*(t-l))),x:j+d*c(r/s*u-u),y:g+d*a(r/s*u-u)-w,"text-anchor":"middle","stroke-width":0.2,zIndex:10,stroke:"#333"});f.setAttributes({hidden:false},true);o.push(f)}}else{o=this.labelArray;for(r=0;r<=s;r++){w=(r===0||r===s)?7:0;k=h?s-r:r;o[r].setAttributes({text:p(v(l+k/s*(t-l))),x:j+d*c(r/s*u-u),y:g+d*a(r/s*u-u)-w},true)}}this.labelArray=o}});Ext.define("Ext.rtl.chart.axis.Gauge",{override:"Ext.chart.axis.Gauge",constructor:function(){var a=this;a.callParent(arguments);if(a.chart.getInherited().rtl){a.reverse=true}}});Ext.define("Ext.chart.axis.Numeric",{extend:"Ext.chart.axis.Axis",alternateClassName:"Ext.chart.NumericAxis",type:"Numeric",isNumericAxis:true,alias:"axis.numeric",uses:["Ext.data.Store"],constructor:function(c){var d=this,a=!!(c.label&&c.label.renderer),b;d.callParent([c]);b=d.label;if(c.constrain==null){d.constrain=(c.minimum!=null&&c.maximum!=null)}if(!a){b.renderer=function(e){return d.roundToDecimal(e,d.decimals)}}},roundToDecimal:function(a,c){var b=Math.pow(10,c||0);return Math.round(a*b)/b},minimum:NaN,maximum:NaN,constrain:true,decimals:2,scale:"linear",doConstrain:function(){var t=this,g=t.chart,b=g.getChartStore(),h=b.data.items,s,v,a,e=g.series.items,j=t.fields,c=j.length,f=t.calcEnds(),m=f.from,p=f.to,q,n,r=false,k,u=[],o;for(s=0,v=h.length;s+p){o=false;break}}if(o){u.push(a)}}g.setSubStore(new Ext.data.Store({model:b.model,data:u}))},position:"left",adjustMaximumByMajorUnit:false,adjustMinimumByMajorUnit:false,processView:function(){var e=this,d=e.chart,c=d.series.items,b,a;for(b=0,a=c.length;b>0),e)}}}},processView:function(){var a=this;if(a.fromDate){a.minimum=+a.fromDate}if(a.toDate){a.maximum=+a.toDate}if(a.constrain){a.doConstrain()}},calcEnds:function(){var c=this,a,b=c.step;if(b){a=c.getRange();a=Ext.draw.Draw.snapEndsByDateAndStep(new Date(a.min),new Date(a.max),Ext.isNumber(b)?[Date.MILLI,b]:b);if(c.minimum){a.from=c.minimum}if(c.maximum){a.to=c.maximum}return a}else{return c.callParent(arguments)}}});Ext.define("Ext.chart.series.Series",{mixins:{observable:"Ext.util.Observable",labels:"Ext.chart.Label",highlights:"Ext.chart.Highlight",tips:"Ext.chart.Tip",callouts:"Ext.chart.Callout"},type:null,title:null,showInLegend:true,renderer:function(e,a,c,d,b){return c},shadowAttributes:null,animating:false,nullGutters:{lower:0,upper:0,verticalAxis:undefined},nullPadding:{left:0,right:0,width:0,bottom:0,top:0,height:0},constructor:function(a){var b=this;if(a){Ext.apply(b,a)}b.shadowGroups=[];b.mixins.labels.constructor.call(b,a);b.mixins.highlights.constructor.call(b,a);b.mixins.tips.constructor.call(b,a);b.mixins.callouts.constructor.call(b,a);b.mixins.observable.constructor.call(b,a);b.on({scope:b,itemmouseover:b.onItemMouseOver,itemmouseout:b.onItemMouseOut,mouseleave:b.onMouseLeave});if(b.style){Ext.apply(b.seriesStyle,b.style)}},initialize:Ext.emptyFn,onRedraw:Ext.emptyFn,eachRecord:function(c,b){var a=this.chart;a.getChartStore().each(c,b)},getRecordCount:function(){var b=this.chart,a=b.getChartStore();return a?a.getCount():0},isExcluded:function(a){var b=this.__excludes;return !!(b&&b[a])},setBBox:function(a){var d=this,c=d.chart,b=c.chartBBox,g=a?{left:0,right:0,bottom:0,top:0}:c.maxGutters,e,f;e={x:b.x,y:b.y,width:b.width,height:b.height};d.clipBox=e;f={x:(e.x+g.left)-(c.zoom.x*c.zoom.width),y:(e.y+g.bottom)-(c.zoom.y*c.zoom.height),width:(e.width-(g.left+g.right))*c.zoom.width,height:(e.height-(g.bottom+g.top))*c.zoom.height};d.bbox=f},onAnimate:function(b,a){var c=this;b.stopAnimation();if(c.animating){return b.animate(Ext.applyIf(a,c.chart.animate))}else{c.animating=true;return b.animate(Ext.apply(Ext.applyIf(a,c.chart.animate),{callback:function(){c.animating=false;c.fireEvent("afterrender",c)}}))}},getGutters:function(){return this.nullGutters},getPadding:function(){return this.nullPadding},onItemMouseOver:function(b){var a=this;if(b.series===a){if(a.highlight){a.highlightItem(b)}if(a.tooltip){a.showTip(b)}}},onItemMouseOut:function(b){var a=this;if(b.series===a){a.unHighlightItem();if(a.tooltip){a.hideTip(b)}}},onMouseLeave:function(){var a=this;a.unHighlightItem();if(a.tooltip){a.hideTip()}},getItemForPoint:function(a,h){if(!this.items||!this.items.length||this.seriesIsHidden){return null}var f=this,b=f.items,g=f.bbox,e,c,d;if(!Ext.draw.Draw.withinBox(a,h,g)){return null}for(c=0,d=b.length;c0){c=Infinity;l=-c;for(e=0,h=d.length;el){l=b}if(bl){l=r}if(r0){b=Infinity;l=-b;for(d=0,h=c.length;dl){l=n}if(m-1){b="top"}else{if(Ext.Array.indexOf(d,"bottom")>-1){b="bottom"}else{if(l.get("top")&&l.get("bottom")){for(g=0,k=o.length;g-1){a=f?"right":"left"}else{if(Ext.Array.indexOf(d,"right")>-1){a=f?"left":"right"}else{if(l.get("left")&&l.get("right")){for(g=0,k=e.length;g0&&q){D=L[0].get(h.xField);if(typeof D!="number"){D=+D;if(isNaN(D)){q=false}}}for(I=0;Ij.width)&&h.areas){H=h.shrink(y,C,j.width);y=H.x;C=H.y}return{bbox:j,minX:B,minY:A,xValues:y,yValues:C,xScale:g,yScale:E,areasLen:z}},getPaths:function(){var A=this,n=A.chart,c=n.getChartStore(),e=true,f=A.getBounds(),a=f.bbox,o=A.items=[],z=[],b,d=0,q=[],g=A.reverse,t,j,k,h,r,v,l,B,s,w,p,u,m;j=f.xValues.length;for(t=0;ta.x+a.width){g=a.x+a.width-l}}f=f-k;if(fa.y+a.height){f-=2*k}}if(t.chart.animate&&!t.chart.resizing){e.show(true);t.onAnimate(e,{to:{x:g,y:f}})}else{e.setAttributes({x:g,y:f},true);if(q&&t.animation){t.animation.on("afteranimate",function(){e.show(true)})}else{e.show(true)}}},onPlaceCallout:function(l,q,I,F,E,d,j){var L=this,r=L.chart,C=r.surface,G=r.resizing,K=L.callouts,s=L.items,u=(F==0)?false:s[F-1].point,w=(F==s.length-1)?false:s[F+1].point,c=I.point,z,f,M,J,n,o,b=(l&&l.label?l.label.getBBox():{width:0,height:0}),H=30,B=10,A=3,g,e,h,v,t,D=L.clipRect,m,k;if(!b.width||!b.height){return}if(!u){u=c}if(!w){w=c}J=(w[1]-u[1])/(w[0]-u[0]);n=(c[1]-u[1])/(c[0]-u[0]);o=(w[1]-c[1])/(w[0]-c[0]);f=Math.sqrt(1+J*J);z=[1/f,J/f];M=[-z[1],z[0]];if(n>0&&o<0&&M[1]<0||n<0&&o>0&&M[1]>0){M[0]*=-1;M[1]*=-1}else{if(Math.abs(n)Math.abs(o)&&M[0]>0){M[0]*=-1;M[1]*=-1}}m=c[0]+M[0]*H;k=c[1]+M[1]*H;g=m+(M[0]>0?0:-(b.width+2*A));e=k-b.height/2-A;h=b.width+2*A;v=b.height+2*A;if(g(D[0]+D[2])){M[0]*=-1}if(e(D[1]+D[3])){M[1]*=-1}m=c[0]+M[0]*H;k=c[1]+M[1]*H;g=m+(M[0]>0?0:-(b.width+2*A));e=k-b.height/2-A;h=b.width+2*A;v=b.height+2*A;l.lines.setAttributes({path:["M",c[0],c[1],"L",m,k,"Z"]},true);l.box.setAttributes({x:g,y:e,width:h,height:v},true);l.label.setAttributes({x:m+(M[0]>0?A:-(b.width+A)),y:k},true);for(t in l){l[t].show(true)}},isItemInPoint:function(j,h,m,c){var g=this,b=m.pointsUp,e=m.pointsDown,q=Math.abs,o=false,l=false,d=g.reverse,f=Infinity,a,n,k;for(a=0,n=b.length;aq(j-k[0])){f=q(j-k[0]);o=true;if(l){++a}}if(!o||(o&&l)){k=b[a-1];if(h>=k[1]&&(!e.length||h<=(e[a-1][1]))){idx=d?n-a:a-1;m.storeIndex=idx;m.storeField=g.yField[c];m.storeItem=g.chart.getChartStore().getAt(idx);m._points=e.length?[k,e[a-1]]:[k];return true}else{break}}}return false},highlightSeries:function(){var a,c,b;if(this._index!==undefined){a=this.areas[this._index];if(a.__highlightAnim){a.__highlightAnim.paused=true}a.__highlighted=true;a.__prevOpacity=a.__prevOpacity||a.attr.opacity||1;a.__prevFill=a.__prevFill||a.attr.fill;a.__prevLineWidth=a.__prevLineWidth||a.attr.lineWidth;b=Ext.draw.Color.fromString(a.__prevFill);c={lineWidth:(a.__prevLineWidth||0)+2};if(b){c.fill=b.getLighter(0.2).toString()}else{c.opacity=Math.max(a.__prevOpacity-0.3,0)}if(this.chart.animate){a.__highlightAnim=new Ext.fx.Anim(Ext.apply({target:a,to:c},this.chart.animate))}else{a.setAttributes(c,true)}}},unHighlightSeries:function(){var a;if(this._index!==undefined){a=this.areas[this._index];if(a.__highlightAnim){a.__highlightAnim.paused=true}if(a.__highlighted){a.__highlighted=false;a.__highlightAnim=new Ext.fx.Anim({target:a,to:{fill:a.__prevFill,opacity:a.__prevOpacity,lineWidth:a.__prevLineWidth}})}}},highlightItem:function(c){var b=this,a,d;if(!c){this.highlightSeries();return}a=c._points;if(a.length===2){d=["M",a[0][0],a[0][1],"L",a[1][0],a[1][1]]}else{d=["M",a[0][0],a[0][1],"L",a[0][0],b.bbox.y+b.bbox.height]}b.highlightSprite.setAttributes({path:d,hidden:false},true)},unHighlightItem:function(a){if(!a){this.unHighlightSeries()}if(this.highlightSprite){this.highlightSprite.hide(true)}},hideAll:function(a){var b=this;a=(isNaN(b._index)?a:b._index)||0;b.__excludes[a]=true;b.areas[a].hide(true);b.redraw()},showAll:function(a){var b=this;a=(isNaN(b._index)?a:b._index)||0;b.__excludes[a]=false;b.areas[a].show(true);b.redraw()},redraw:function(){var a=this,b;b=a.chart.legend.rebuild;a.chart.legend.rebuild=false;a.chart.redraw();a.chart.legend.rebuild=b},hide:function(){if(this.areas){var g=this,b=g.areas,d,c,a,f,e;if(b&&b.length){for(d=0,f=b.length;d0)][T]+=o(N)}}A[+(t>0)].push(o(t));A[+(J>0)].push(o(J));g=k.apply(y,A[0]);e=k.apply(y,A[1]);D=(M?s.height-R.height:s.width-R.width)/(e+g);a=a+g*D*(M?-1:1)}else{if(J/t<0){a=a-J*D*(M?-1:1)}}if(q.boundColumn){w=V.axes.get(K.xAxis);if(w){S=w.applyData();L=S.from;v=S.to}if(q.xField&&!Ext.isNumber(L)){I=q.getMinMaxYValues();L=I[0];v=I[1]}if(!Ext.isNumber(L)){L=0}if(!Ext.isNumber(v)){v=0}u=q.getGutters();O=(s.width-(u.lower+u.upper))/((v-L)||1);h=s.x+u.lower;m=[];for(T=0,B=U.length;T=U.length){m=[];for(T=0,B=U.length;T=0){ah+=ag}else{F+=ag}f=Math.round((ag-o(J.minY,0))*J.scale);ac=h+(v>1?Z:0);r={fill:R[ac%k]};if(Q){ac=S?(H-ab-1):ab;B=S?(v-g-1):g;if(u.boundColumn){D=J.barsLoc[ac]}else{if(u.configuredColumnGirth&&J.barsLoc.length){D=J.barsLoc[ac]+B*J.groupBarWidth*(1+d)*!W}else{D=x.x+aa.left+(C-N)*0.5+ac*C*(1+m)+B*J.groupBarWidth*(1+d)*!W}}Ext.apply(r,{height:f,width:o(J.groupBarWidth,0),x:D,y:b-f})}else{P=(H-1)-ab;a=f+(b==J.zero);D=b+(b!=J.zero);if(S){D=J.zero+x.width-a-(A===0?1:0);if(W){D-=A;A+=a}}if(u.configuredColumnGirth&&J.barsLoc.length){af=J.barsLoc[ab]+g*J.groupBarWidth*(1+d)*!W}else{af=x.y+aa.top+(C-N)*0.5+P*C*(1+m)+g*J.groupBarWidth*(1+d)*!W+1}Ext.apply(r,{height:o(J.groupBarWidth,0),width:a,x:D,y:af})}if(f<0){if(Q){r.y=l;r.height=t(f)}else{r.x=l+f;r.width=t(f)}}if(W){if(f<0){l+=f*(Q?-1:1)}else{b+=f*(Q?-1:1)}M+=t(f);if(f<0){G+=t(f)}}r.x=Math.floor(r.x)+1;K=Math.floor(r.y);if(Ext.isIE8&&r.y>K){K--}r.y=K;r.width=Math.floor(r.width);r.height=Math.floor(r.height);y.push({series:u,yField:T[Z],storeItem:O,value:[O.get(u.xField),ag],attr:r,point:Q?[r.x+r.width/2,ag>=0?r.y:r.y+r.height]:[ag>=0?r.x+r.width:r.x,r.y+r.height/2]});if(Y&&ae.resizing){p=Q?{x:r.x,y:J.zero,width:r.width,height:0}:{x:J.zero,y:r.y,width:0,height:r.height};if(n&&(W&&!s||!W)){s=true;for(e=0;e=0?(k.y-u.y):(u.y+u.height-k.y-k.height));if(wk.height){p=j}}if(!B){B=k.y;if(R>=0){switch(p){case q:B+=k.height+(N?-E:-c/2);break;case P:B+=(N?c+G:c/2);break;case j:B+=(N?-E:-c/2);break}}else{switch(p){case q:B+=(N?c+E:c/2);break;case P:B+=(N?k.height-E:k.height-c/2);break;case j:B+=(N?k.height+c+E:k.height+c/2);break}}}}else{if(!a||!c||(K&&!k.width)){J.hide(true);return}B=k.y+(N?(d+c)/2:d/2);if(p==j){var w=(R>=0?(u.x+u.width-k.x-k.width):(k.x-u.x));if(w=k.width){if(K){if(c>k.width){J.hide(true);return}D=k.x+k.width/2;N=true}else{p=j}}}if(!D){D=k.x;if(R>=0){switch(p){case q:if(I){D+=k.width+(N?-a/2:-a-G)}else{D+=(N?a/2:G)}break;case P:if(I){D-=N?-a/2:-a-G}else{D+=k.width+(N?-a/2:-a-G)}break;case j:if(I){D-=a+(N?a/2:G)}else{D+=k.width+(N?a/2:G)}break}}else{switch(p){case q:if(I){D-=N?-a/2:-a-G}else{D+=k.width+(N?-a/2:-a-G)}break;case P:if(I){D+=k.width+(N?-a/2:-a-G)}else{D+=(N?a/2:G)}break;case j:if(I){D-=a+(N?a/2:G)}else{D+=(N?-a/2:-a-G)}break}}}}}else{if(p==F||p==n){if(K&&g){r=J.attr.text;J.setAttributes({style:Ext.applyIf((J.attr&&J.attr.style)||{},{"font-weight":"bold","font-size":"14px"})});f=l.getLabelSize(r,J.attr.style);a=f.width;c=f.height;switch(p){case F:if(H){D=k.x+(N?d/2:(d-a)/2);B=b-(s.totalDim-s.totalNegDim)-c/2-E}else{D=b+(s.totalDim-s.totalNegDim)+G;B=k.y+(N?(d+c)/2:d/2)}break;case n:if(H){D=k.x+(N?d/2:(d-a)/2);B=b+s.totalNegDim+c/2}else{D=b-s.totalNegDim-a-G;B=k.y+(N?(d+c)/2:d/2)}break}}}}if(D==undefined||B==undefined){J.hide(true);return}J.isOutside=(p==j);J.setAttributes({text:r});z={x:D,y:B};z.rotate=N?{x:D,y:B,degrees:270}:l.defaultRotate;if(L&&C){if(H){D=k.x+k.width/2;B=b}else{D=b;B=k.y+k.height/2}J.setAttributes({x:D,y:B},true);if(N){J.setAttributes({rotate:{x:D,y:B,degrees:270}},true)}}if(L){l.onAnimate(J,{zero:s.point[0],to:z})}else{J.setAttributes(Ext.apply(z,{hidden:false}),true)}},getLabelSize:function(g,f){var l=this.testerLabel,a=this.label,d=Ext.apply({},a,f,this.seriesLabelStyle||{}),b=a.orientation==="vertical",k,j,e,c;if(!l){l=this.testerLabel=this.chart.surface.add(Ext.apply({type:"text",opacity:0},d))}l.setAttributes({style:f,text:g},true);k=l.getBBox();j=k.width;e=k.height;return{width:b?e:j,height:b?j:e}},onAnimate:function(k,e){var f=this,j=e.to,c=f.stacked,d=f.reverse,a=0,b,l,g,h;k.show();if(!f.column){if(d){l=k.getBBox();b=k.type=="text";if(!f.inHighlight){if(!c){if(b){g=l.x>=5?g:e.zero}else{if(l.width){a=l.width}g=l.width?l.x:j.x+j.width}}else{g=e.zero}}e.from={x:g,width:a}}if(c){h=e.from;if(!h){h=e.from={}}h.y=j.y;if(!d){h.x=e.zero;if(k.isShadow){h.width=0}}}}return this.callParent(arguments)},isItemInPoint:function(a,d,b){var c=b.sprite.getBBox();return c.x<=a&&c.y<=d&&(c.x+c.width)>=a&&(c.y+c.height)>=d},hideAll:function(a){var e=this.chart.axes,c=e.items,d=c.length,b=0;a=(isNaN(this._index)?a:this._index)||0;if(!this.__excludes){this.__excludes=[]}this.__excludes[a]=true;this.drawSeries();for(b;b0){d.yField.push(e[0].get(b.field))}},getSegment:function(b){var C=this,B=C.rad,d=Math.cos,a=Math.sin,n=Math.abs,k=C.centerX,h=C.centerY,w=0,v=0,u=0,s=0,g=0,f=0,e=0,c=0,z=0.01,m=b.endRho-b.startRho,q=b.startAngle,p=b.endAngle,j=(q+p)/2*B,l=b.margin||0,t=n(p-q)>180,D=Math.min(q,p)*B,A=Math.max(q,p)*B,o=false;k+=l*d(j);h+=l*a(j);w=k+b.startRho*d(D);g=h+b.startRho*a(D);v=k+b.endRho*d(D);f=h+b.endRho*a(D);u=k+b.startRho*d(A);e=h+b.startRho*a(A);s=k+b.endRho*d(A);c=h+b.endRho*a(A);if(n(w-u)<=z&&n(g-e)<=z){o=true}if(o){return{path:[["M",w,g],["L",v,f],["A",b.endRho,b.endRho,0,+t,1,s,c],["Z"]]}}else{return{path:[["M",w,g],["L",v,f],["A",b.endRho,b.endRho,0,+t,1,s,c],["L",u,e],["A",b.startRho,b.startRho,0,+t,0,w,g],["Z"]]}}},calcMiddle:function(p){var k=this,l=k.rad,o=p.slice,n=k.centerX,m=k.centerY,j=o.startAngle,e=o.endAngle,h=Math.max(("rho" in o)?o.rho:k.radius,k.label.minMargin),g=+k.donut,b=Math.min(j,e)*l,a=Math.max(j,e)*l,d=-(b+(a-b)/2),f=n+(p.endRho+p.startRho)/2*Math.cos(d),c=m-(p.endRho+p.startRho)/2*Math.sin(d);p.middle={x:f,y:c}},drawSeries:function(){var w=this,V=w.chart,b=V.getChartStore(),A=w.group,R=w.chart.animate,D=w.chart.axes.get(0),E=D&&D.minimum||w.minimum||0,I=D&&D.maximum||w.maximum||0,n=w.angleField||w.field||w.xField,K=V.surface,H=V.chartBBox,h=w.rad,d=+w.donut,W={},B=[],m=w.seriesStyle,a=w.seriesLabelStyle,g=w.colorArrayStyle,z=g&&g.length||0,k=Math.cos,s=Math.sin,c=-180,O=w.reverse,t,f,e,v,r,C,M,F,G,J,T,S,l,U,x,o,P,Q,q,y,u,N,L;Ext.apply(m,w.style||{});w.setBBox();y=w.bbox;if(w.colorSet){g=w.colorSet;z=g.length}if(!b||!b.getCount()||w.seriesIsHidden){w.hide();w.items=[];return}f=w.centerX=H.x+(H.width/2);e=w.centerY=H.y+H.height;w.radius=Math.min(f-H.x,e-H.y);w.slices=r=[];w.items=B=[];if(!w.value){J=b.getAt(0);w.value=J.get(n)}M=O?I-w.value:w.value;if(w.needle){N={series:w,value:M,startAngle:c,endAngle:0,rho:w.radius};u=c*(1-(M-E)/(I-E));r.push(N)}else{u=c*(1-(M-E)/(I-E));N={series:w,value:M,startAngle:c,endAngle:u,rho:w.radius};L={series:w,value:I-M,startAngle:u,endAngle:0,rho:w.radius};if(O){r.push(L,N)}else{r.push(N,L)}}for(T=0,G=r.length;T=f&&b=m.startRho&&j<=m.endRho)},getLegendColor:function(b){var a=this.colorSet||this.colorArrayStyle;return a[b%a.length]}});Ext.define("Ext.rtl.chart.series.Gauge",{override:"Ext.chart.series.Gauge",initialize:function(){var a=this;a.callParent(arguments);if(a.chart.getInherited().rtl){a.reverse=true}}});Ext.define("Ext.chart.series.Line",{extend:"Ext.chart.series.Cartesian",alternateClassName:["Ext.chart.LineSeries","Ext.chart.LineChart"],requires:["Ext.chart.axis.Axis","Ext.chart.Shape","Ext.draw.Draw","Ext.fx.Anim"],type:"line",alias:"series.line",selectionTolerance:20,showMarkers:true,markerConfig:{},style:{},smooth:false,defaultSmoothness:3,fill:false,constructor:function(c){this.callParent(arguments);var e=this,a=e.chart.surface,f=e.chart.shadow,d,b;c.highlightCfg=Ext.Object.merge({"stroke-width":3},c.highlightCfg);Ext.apply(e,c,{shadowAttributes:[{"stroke-width":6,"stroke-opacity":0.05,stroke:"rgb(0, 0, 0)",translate:{x:1,y:1}},{"stroke-width":4,"stroke-opacity":0.1,stroke:"rgb(0, 0, 0)",translate:{x:1,y:1}},{"stroke-width":2,"stroke-opacity":0.15,stroke:"rgb(0, 0, 0)",translate:{x:1,y:1}}]});e.group=a.getGroup(e.seriesId);if(e.showMarkers){e.markerGroup=a.getGroup(e.seriesId+"-markers")}if(f){for(d=0,b=e.shadowAttributes.length;daw.width){a=ap.shrink(aD,ag,aw.width);aD=a.x;ag=a.y}ap.items=[];m=0;aB=aD.length;for(Q=0;Qa.x+a.width){j-=z}else{j+=z}g.setAttributes({rotation:{x:j,y:h,degrees:-45}},true)}else{if(p=="under"||p=="over"){g.setAttributes({rotation:{degrees:0}},true);if(ja.x+a.width){j=a.x+a.width-n}}f=o.height/2+m;h=h+(p=="over"?-f:f);if(ha.y+a.height){h-=2*f}}}}if(w.chart.animate&&!w.chart.resizing){g.show(true);w.onAnimate(g,{to:{x:j,y:h}})}else{g.setAttributes({x:j,y:h},true);if(t&&l.animate){w.on({single:true,afterrender:function(){g.show(true)}})}else{g.show(true)}}},highlightItem:function(){var b=this,a=b.line;b.callParent(arguments);if(a&&!b.highlighted){if(!("__strokeWidth" in a)){a.__strokeWidth=parseFloat(a.attr["stroke-width"])||0}if(a.__anim){a.__anim.paused=true}a.__anim=new Ext.fx.Anim({target:a,to:{"stroke-width":a.__strokeWidth+3}});b.highlighted=true}},unHighlightItem:function(){var c=this,a=c.line,b;c.callParent(arguments);if(a&&c.highlighted){b=a.__strokeWidth||parseFloat(a.attr["stroke-width"])||0;a.__anim=new Ext.fx.Anim({target:a,to:{"stroke-width":b}});c.highlighted=false}},onPlaceCallout:function(l,q,I,F,E,d,j){if(!E){return}var L=this,r=L.chart,C=r.surface,G=r.resizing,K=L.callouts,s=L.items,u=F==0?false:s[F-1].point,w=(F==s.length-1)?false:s[F+1].point,c=[+I.point[0],+I.point[1]],z,f,M,J,n,o,H=K.offsetFromViz||30,B=K.offsetToSide||10,A=K.offsetBox||3,g,e,h,v,t,D=L.clipRect,b={width:K.styles.width||10,height:K.styles.height||10},m,k;if(!u){u=c}if(!w){w=c}J=(w[1]-u[1])/(w[0]-u[0]);n=(c[1]-u[1])/(c[0]-u[0]);o=(w[1]-c[1])/(w[0]-c[0]);f=Math.sqrt(1+J*J);z=[1/f,J/f];M=[-z[1],z[0]];if(n>0&&o<0&&M[1]<0||n<0&&o>0&&M[1]>0){M[0]*=-1;M[1]*=-1}else{if(Math.abs(n)Math.abs(o)&&M[0]>0){M[0]*=-1;M[1]*=-1}}m=c[0]+M[0]*H;k=c[1]+M[1]*H;g=m+(M[0]>0?0:-(b.width+2*A));e=k-b.height/2-A;h=b.width+2*A;v=b.height+2*A;if(g(D[0]+D[2])){M[0]*=-1}if(e(D[1]+D[3])){M[1]*=-1}m=c[0]+M[0]*H;k=c[1]+M[1]*H;g=m+(M[0]>0?0:-(b.width+2*A));e=k-b.height/2-A;h=b.width+2*A;v=b.height+2*A;if(r.animate){L.onAnimate(l.lines,{to:{path:["M",c[0],c[1],"L",m,k,"Z"]}});if(l.panel){l.panel.setPosition(g,e,true)}}else{l.lines.setAttributes({path:["M",c[0],c[1],"L",m,k,"Z"]},true);if(l.panel){l.panel.setPosition(g,e)}}for(t in l){l[t].show(true)}},isItemInPoint:function(h,f,s,m){var t=this,j=t.items,g=j.length,n=t.selectionTolerance,r,c,l,p,q,o,b,a,e,d,k,u=Math.sqrt;c=j[m];r=m&&j[m-1];if(m>=g){r=j[g-1]}l=r&&r.point;p=c&&c.point;q=r?l[0]:p[0]-n;b=r?l[1]:p[1];o=c?p[0]:l[0]+n;a=c?p[1]:l[1];e=u((h-q)*(h-q)+(f-b)*(f-b));d=u((h-o)*(h-o)+(f-a)*(f-a));k=Math.min(e,d);if(k<=n){return k==e?r:c}return false},toggleAll:function(a){var e=this,b,d,f,c;if(!a){Ext.chart.series.Cartesian.prototype.hideAll.call(e)}else{Ext.chart.series.Cartesian.prototype.showAll.call(e)}if(e.line){e.line.setAttributes({hidden:!a},true);if(e.line.shadows){for(b=0,c=e.line.shadows,d=c.length;b1?T:U)%v]}||{}));C=Ext.apply({},n.segment,{slice:q,series:r,storeItem:q.storeItem,index:U});r.calcMiddle(C);if(f){C.shadows=q.shadowAttrs[T]}x[U]=C;if(!y){l=Ext.apply({type:"path",group:w,middle:C.middle},Ext.apply(g,e&&{fill:e[(K>1?T:U)%v]}||{}));y=J.add(Ext.apply(l,n))}q.sprite=q.sprite||[];C.sprite=y;q.sprite.push(y);q.point=[C.middle.x,C.middle.y];if(S){n=r.renderer(y,I,n,U,a);y._to=n;y._animating=true;r.onAnimate(y,{to:n,listeners:{afteranimate:{fn:function(){this._animating=false},scope:y}}})}else{n=r.renderer(y,I,Ext.apply(n,{hidden:false}),U,a);y.setAttributes(n,true)}A+=o}}F=w.getCount();for(U=0;U>0]&&w.getAt(U)){w.getAt(U).hide(true)}}if(f){aa=Q.length;for(D=0;D>0]){for(T=0;T=0?k:-k);R.setAttributes({rotation:{degrees:0}},true);U=R.getBBox();a=U.width/2*Math.cos(A);c=U.height/2*Math.sin(A);a+=w;c+=u;J+=Math.sqrt(a*a+c*c);B.x=J*Math.cos(A)+e;B.y=J*Math.sin(A)+d;break;case"rotate":r=Ext.draw.Draw.normalizeDegrees(r);r=(r>90&&r<270)?r+180:r;h=R.attr.rotation.degrees;if(h!=null&&Math.abs(h-r)>180*0.5){if(r>h){r-=360}else{r+=360}r=r%360}else{r=Ext.draw.Draw.normalizeDegrees(r)}B.rotate={degrees:r,x:B.x,y:B.y};break;default:break}B.translate={x:0,y:0};if(V&&!M&&(D!="rotate"||h!=null)){z.onAnimate(R,{to:B})}else{R.setAttributes(B,true)}R._from=t;if(R.isOutside&&T){var n=R.lineSprite,b=V,v={x:(E.endRho-C/2)*Math.cos(A)+e,y:(E.endRho-C/2)*Math.sin(A)+d},L={x:B.x,y:B.y},ab={};function q(y){return y?y<0?-1:1:0}if(T&&T.length){ab={x:(E.endRho+T.length)*Math.cos(A)+e,y:(E.endRho+T.length)*Math.sin(A)+d}}else{var s=Ext.draw.Draw.normalizeRadians(-A),g=Math.cos(s),p=Math.sin(s),j=(U.width+C+4)/2,P=(U.height+C+4)/2;if(Math.abs(g)*P>Math.abs(p)*j){ab.x=L.x-j*q(g);ab.y=L.y+j*p/g*q(g)}else{ab.x=L.x-P*g/p*q(p);ab.y=L.y+P*q(p)}}if(!n){n=R.lineSprite=z.createLabelLine(W,B.hidden);b=false}z.drawLabelLine(R,v,ab,b)}else{delete R.lineSprite}},onPlaceCallout:function(k,n,w,u,t,d,e){var z=this,o=z.chart,h=z.centerX,g=z.centerY,A=w.middle,b={x:A.x,y:A.y},l=A.x-h,j=A.y-g,c=1,m,f=Math.atan2(j,l||1),a=(k&&k.label?k.label.getBBox():{width:0,height:0}),v=20,s=10,r=10,q;if(!a.width||!a.height){return}c=w.endRho+v;m=(w.endRho+w.startRho)/2+(w.endRho-w.startRho)/3;b.x=c*Math.cos(f)+h;b.y=c*Math.sin(f)+g;l=m*Math.cos(f);j=m*Math.sin(f);if(o.animate){z.onAnimate(k.lines,{to:{path:["M",l+h,j+g,"L",b.x,b.y,"Z","M",b.x,b.y,"l",l>0?s:-s,0,"z"]}});z.onAnimate(k.box,{to:{x:b.x+(l>0?s:-(s+a.width+2*r)),y:b.y+(j>0?(-a.height-r/2):(-a.height-r/2)),width:a.width+2*r,height:a.height+2*r}});z.onAnimate(k.label,{to:{x:b.x+(l>0?(s+r):-(s+a.width+r)),y:b.y+(j>0?-a.height/4:-a.height/4)}})}else{k.lines.setAttributes({path:["M",l+h,j+g,"L",b.x,b.y,"Z","M",b.x,b.y,"l",l>0?s:-s,0,"z"]},true);k.box.setAttributes({x:b.x+(l>0?s:-(s+a.width+2*r)),y:b.y+(j>0?(-a.height-r/2):(-a.height-r/2)),width:a.width+2*r,height:a.height+2*r},true);k.label.setAttributes({x:b.x+(l>0?(s+r):-(s+a.width+r)),y:b.y+(j>0?-a.height/4:-a.height/4)},true)}for(q in k){k[q].show(true)}},onAnimate:function(b,a){b.show();return this.callParent(arguments)},isItemInPoint:function(k,h,m,e){var g=this,d=g.centerX,c=g.centerY,o=Math.abs,n=o(k-d),l=o(h-c),f=m.startAngle,a=m.endAngle,j=Math.sqrt(n*n+l*l),b=Math.atan2(h-c,k-d)/g.rad;if(g.clockwise){if(bg.firstAngle){b-=g.accuracy}}return(b<=f&&b>a&&j>=m.startRho&&j<=m.endRho)},hideAll:function(e){var c,a,f,b,d,h,g;e=(isNaN(this._index)?e:this._index)||0;this.__excludes=this.__excludes||[];this.__excludes[e]=true;g=this.slices[e].sprite;for(d=0,h=g.length;d=p){h=p-1}f=[];K=[];for(M=0;M45&&m<135)||(m>225&&m<315)){v=(m>45&&m<135?1:-1);b.y+=v*q.height/2}else{v=(m>=135&&m<=225?-1:1);b.x+=v*q.width/2}if(t){g.setAttributes({x:j,y:h},true)}if(d){g.show(true);z.onAnimate(g,{to:b})}else{g.setAttributes(b,true);g.show(true)}},toggleAll:function(a){var e=this,b,d,f,c;if(!a){Ext.chart.series.Radar.superclass.hideAll.call(e)}else{Ext.chart.series.Radar.superclass.showAll.call(e)}if(e.radar){e.radar.setAttributes({hidden:!a},true);if(e.radar.shadows){for(b=0,c=e.radar.shadows,d=c.length;ba.x+a.width){j-=A}else{j+=A}g.setAttributes({rotation:{x:j,y:h,degrees:-45}},true)}else{if(q=="under"||q=="over"){g.setAttributes({rotation:{degrees:0}},true);if(ja.x+a.width){j=a.x+a.width-n}}f=o.height/2+m;h=h+(q=="over"?-f:f);if(ha.y+a.height){h-=2*f}}}}if(!l.animate){g.setAttributes({x:j,y:h},true);g.show(true)}else{if(u){p=v.sprite.getActiveAnimation();if(p){p.on("afteranimate",function(){g.setAttributes({x:j,y:h},true);g.show(true)})}else{g.show(true)}}else{z.onAnimate(g,{to:{x:j,y:h}})}}},onPlaceCallout:function(j,l,A,w,v,c,g){var D=this,m=D.chart,t=m.surface,z=m.resizing,C=D.callouts,n=D.items,b=A.point,E,a=j.label.getBBox(),B=30,s=10,r=3,e,d,f,q,o,u=D.bbox,k,h;E=[Math.cos(Math.PI/4),-Math.sin(Math.PI/4)];k=b[0]+E[0]*B;h=b[1]+E[1]*B;e=k+(E[0]>0?0:-(a.width+2*r));d=h-a.height/2-r;f=a.width+2*r;q=a.height+2*r;if(e(u[0]+u[2])){E[0]*=-1}if(d(u[1]+u[3])){E[1]*=-1}k=b[0]+E[0]*B;h=b[1]+E[1]*B;e=k+(E[0]>0?0:-(a.width+2*r));d=h-a.height/2-r;f=a.width+2*r;q=a.height+2*r;if(m.animate){D.onAnimate(j.lines,{to:{path:["M",b[0],b[1],"L",k,h,"Z"]}},true);D.onAnimate(j.box,{to:{x:e,y:d,width:f,height:q}},true);D.onAnimate(j.label,{to:{x:k+(E[0]>0?r:-(a.width+r)),y:h}},true)}else{j.lines.setAttributes({path:["M",b[0],b[1],"L",k,h,"Z"]},true);j.box.setAttributes({x:e,y:d,width:f,height:q},true);j.label.setAttributes({x:k+(E[0]>0?r:-(a.width+r)),y:h},true)}for(o in j){j[o].show(true)}},onAnimate:function(b,a){b.show();return this.callParent(arguments)},isItemInPoint:function(c,g,e){var b,d=10,a=Math.abs;function f(h){var k=a(h[0]-c),j=a(h[1]-g);return Math.sqrt(k*k+j*j)}b=e.point;return(b[0]-d<=c&&b[0]+d>=c&&b[1]-d<=g&&b[1]+d>=g)}});Ext.define("Ext.draw.Matrix",{requires:["Ext.draw.Draw"],constructor:function(h,g,m,l,k,j){if(h!=null){this.matrix=[[h,m,k],[g,l,j],[0,0,1]]}else{this.matrix=[[1,0,0],[0,1,0],[0,0,1]]}},add:function(t,q,n,l,j,h){var o=this,g=[[],[],[]],s=[[t,n,j],[q,l,h],[0,0,1]],r,p,m,k;for(r=0;r<3;r++){for(p=0;p<3;p++){k=0;for(m=0;m<3;m++){k+=o.matrix[r][m]*s[m][p]}g[r][p]=k}}o.matrix=g},prepend:function(t,q,n,l,j,h){var o=this,g=[[],[],[]],s=[[t,n,j],[q,l,h],[0,0,1]],r,p,m,k;for(r=0;r<3;r++){for(p=0;p<3;p++){k=0;for(m=0;m<3;m++){k+=s[r][m]*o.matrix[m][p]}g[r][p]=k}}o.matrix=g},invert:function(){var k=this.matrix,j=k[0][0],h=k[1][0],o=k[0][1],n=k[1][1],m=k[0][2],l=k[1][2],g=j*n-h*o;return new Ext.draw.Matrix(n/g,-h/g,-o/g,j/g,(o*l-n*m)/g,(h*m-j*l)/g)},clone:function(){var j=this.matrix,h=j[0][0],g=j[1][0],n=j[0][1],m=j[1][1],l=j[0][2],k=j[1][2];return new Ext.draw.Matrix(h,g,n,m,l,k)},translate:function(a,b){this.prepend(1,0,0,1,a,b)},scale:function(b,e,a,d){var c=this;if(e==null){e=b}c.add(b,0,0,e,a*(1-b),d*(1-e))},rotate:function(c,b,g){c=Ext.draw.Draw.rad(c);var e=this,f=+Math.cos(c).toFixed(9),d=+Math.sin(c).toFixed(9);e.add(f,d,-d,f,b-f*b+d*g,-(d*b)+g-f*g)},x:function(a,c){var b=this.matrix;return a*b[0][0]+c*b[0][1]+b[0][2]},y:function(a,c){var b=this.matrix;return a*b[1][0]+c*b[1][1]+b[1][2]},get:function(b,a){return +this.matrix[b][a].toFixed(4)},toString:function(){var a=this;return[a.get(0,0),a.get(0,1),a.get(1,0),a.get(1,1),0,0].join()},toSvg:function(){var a=this;return"matrix("+[a.get(0,0),a.get(1,0),a.get(0,1),a.get(1,1),a.get(0,2),a.get(1,2)].join()+")"},toFilter:function(b,a){var c=this;b=b||0;a=a||0;return"progid:DXImageTransform.Microsoft.Matrix(sizingMethod='auto expand', filterType='bilinear', M11="+c.get(0,0)+", M12="+c.get(0,1)+", M21="+c.get(1,0)+", M22="+c.get(1,1)+", Dx="+(c.get(0,2)+b)+", Dy="+(c.get(1,2)+a)+")"},offset:function(){var a=this.matrix;return[(a[0][2]||0).toFixed(4),(a[1][2]||0).toFixed(4)]},split:function(){function d(f){return f[0]*f[0]+f[1]*f[1]}function b(f){var g=Math.sqrt(d(f));f[0]/=g;f[1]/=g}var a=this.matrix,c={translateX:a[0][2],translateY:a[1][2]},e;e=[[a[0][0],a[0][1]],[a[1][1],a[1][1]]];c.scaleX=Math.sqrt(d(e[0]));b(e[0]);c.shear=e[0][0]*e[1][0]+e[0][1]*e[1][1];e[1]=[e[1][0]-e[0][0]*c.shear,e[1][1]-e[0][1]*c.shear];c.scaleY=Math.sqrt(d(e[1]));b(e[1]);c.shear/=c.scaleY;c.rotate=Math.asin(-e[0][1]);c.isSimple=!+c.shear.toFixed(9)&&(c.scaleX.toFixed(9)==c.scaleY.toFixed(9)||!c.rotate);return c}});Ext.define("Ext.draw.SpriteDD",{extend:"Ext.dd.DragSource",constructor:function(b,a){var d=this,c=b.el;d.sprite=b;d.el=c;d.dragData={el:c,sprite:b};d.callParent([c,a]);d.sprite.setStyle("cursor","move")},showFrame:Ext.emptyFn,createFrame:Ext.emptyFn,getDragEl:function(a){return this.el},getRegion:function(){var j=this,f=j.el,m,d,c,o,n,s,a,k,g,q,p;p=j.sprite;q=p.getBBox();try{m=Ext.Element.getXY(f)}catch(h){}if(!m){return null}d=m[0];c=d+q.width;o=m[1];n=o+q.height;return new Ext.util.Region(o,c,n,d)},startDrag:function(b,d){var c=this,a=c.sprite.attr;c.prev=c.sprite.surface.transformToViewBox(b,d)},onDrag:function(h){var g=h.getXY(),f=this,d=f.sprite,a=d.attr,c,b;g=f.sprite.surface.transformToViewBox(g[0],g[1]);c=g[0]-f.prev[0];b=g[1]-f.prev[1];d.setAttributes({translate:{x:a.translation.x+c,y:a.translation.y+b}},true);f.prev=g},setDragElPos:function(){return false}});Ext.define("Ext.draw.Sprite",{mixins:{observable:"Ext.util.Observable",animate:"Ext.util.Animate"},requires:["Ext.draw.SpriteDD"],dirty:false,dirtyHidden:false,dirtyTransform:false,dirtyPath:true,dirtyFont:true,zIndexDirty:true,isSprite:true,zIndex:0,fontProperties:["font","font-size","font-weight","font-style","font-family","text-anchor","text"],pathProperties:["x","y","d","path","height","width","radius","r","rx","ry","cx","cy"],constructor:function(a){var b=this;a=Ext.merge({},a||{});b.id=Ext.id(null,"ext-sprite-");b.transformations=[];Ext.copyTo(this,a,"surface,group,type,draggable");b.bbox={};b.attr={zIndex:0,translation:{x:null,y:null},rotation:{degrees:null,x:null,y:null},scaling:{x:null,y:null,cx:null,cy:null}};delete a.surface;delete a.group;delete a.type;delete a.draggable;b.setAttributes(a);b.mixins.observable.constructor.apply(this,arguments)},initDraggable:function(){var a=this;if(!a.el){a.surface.createSpriteElement(a)}a.dd=new Ext.draw.SpriteDD(a,Ext.isBoolean(a.draggable)?null:a.draggable);a.on("beforedestroy",a.dd.destroy,a.dd)},setAttributes:function(k,n){var s=this,h=s.fontProperties,p=h.length,g=s.pathProperties,f=g.length,q=!!s.surface,a=q&&s.surface.customAttributes||{},c=s.attr,b=false,l,o,j,d,r,m,t,e;k=Ext.apply({},k);for(l in a){if(k.hasOwnProperty(l)&&typeof a[l]=="function"){Ext.apply(k,a[l].apply(s,[].concat(k[l])))}}if(!!k.hidden!==!!c.hidden){s.dirtyHidden=true}for(o=0;o-1)&&(s in c)){s=c[s]}if(t=="hidden"&&k.type=="text"){continue}if(t in e){b.dom.setAttribute(t,e[t](s,k,r))}else{b.dom.setAttribute(t,s);if(d.test(t)){h=h||{};h[t]=s;b.setStyle(t,s)}}}}if(k.type=="text"){r.tuneText(k,m)}k.dirtyFont=false;o=l.style;if(o){b.setStyle(o)}k.dirty=false;if(Ext.isSafari3){r.webkitRect.show();Ext.defer(function(){r.webkitRect.hide()},1)}},setClip:function(b,f){var e=this,d=f["clip-rect"],a,c;if(d){if(b.clip){b.clip.parentNode.parentNode.removeChild(b.clip.parentNode)}a=e.createSvgElement("clipPath");c=e.createSvgElement("rect");a.id=Ext.id(null,"ext-clip-");c.setAttribute("x",d.x);c.setAttribute("y",d.y);c.setAttribute("width",d.width);c.setAttribute("height",d.height);a.appendChild(c);e.getDefs().appendChild(a);b.el.dom.setAttribute("clip-path","url(#"+a.id+")");b.clip=c}},applyZIndex:function(d){var f=this,b=f.items,a=b.indexOf(d),e=d.el,c;if(f.el.dom.childNodes[a+2]!==e.dom){if(a>0){do{c=b.getAt(--a).el}while(!c&&a>0)}e.insertAfter(c||f.bgRect)}d.zIndexDirty=false},createItem:function(a){var b=new Ext.draw.Sprite(a);b.surface=this;return b},addGradient:function(g){g=Ext.draw.Draw.parseGradient(g);var e=this,d=g.stops.length,a=g.vector,k=Ext.isSafari&&!Ext.isStrict,h,f,j,c,b;b=e.gradientsMap||{};if(!k){if(g.type=="linear"){h=e.createSvgElement("linearGradient");h.setAttribute("x1",a[0]);h.setAttribute("y1",a[1]);h.setAttribute("x2",a[2]);h.setAttribute("y2",a[3])}else{h=e.createSvgElement("radialGradient");h.setAttribute("cx",g.centerX);h.setAttribute("cy",g.centerY);h.setAttribute("r",g.radius);if(Ext.isNumber(g.focalX)&&Ext.isNumber(g.focalY)){h.setAttribute("fx",g.focalX);h.setAttribute("fy",g.focalY)}}h.id=g.id;e.getDefs().appendChild(h);for(c=0;c"},text:function(u){var r=u.attr,q=c.exec(r.font),w=(q&&q[1])||"12",p=(q&&q[3])||"Arial",v=r.text,t=(Ext.isFF3_0||Ext.isFF3_5)?2:4,o="",s;u.getBBox();o+='';o+=Ext.htmlEncode(v)+"";s=d({x:r.x,y:r.y,"font-size":w,"font-family":p,"font-weight":r["font-weight"],"text-anchor":r["text-anchor"],fill:r.fill||"#000","fill-opacity":r.opacity,transform:u.matrix.toSvg()});return""+o+""},rect:function(p){var o=p.attr,q=d({x:o.x,y:o.y,rx:o.rx,ry:o.ry,width:o.width,height:o.height,fill:o.fill||"none","fill-opacity":o.opacity,stroke:o.stroke,"stroke-opacity":o["stroke-opacity"],"stroke-width":o["stroke-width"],transform:p.matrix&&p.matrix.toSvg()});return""},circle:function(p){var o=p.attr,q=d({cx:o.x,cy:o.y,r:o.radius,fill:o.translation.fill||o.fill||"none","fill-opacity":o.opacity,stroke:o.stroke,"stroke-opacity":o["stroke-opacity"],"stroke-width":o["stroke-width"],transform:p.matrix.toSvg()});return""},image:function(p){var o=p.attr,q=d({x:o.x-(o.width/2>>0),y:o.y-(o.height/2>>0),width:o.width,height:o.height,"xlink:href":o.src,transform:p.matrix.toSvg()});return""}},a=function(){var o='';o+='';return o},l=function(){var w='',p="",H,F,v,q,G,J,z,x,t,y,B,o,K,u,E,C,I,D,s,r;v=f.items.items;F=v.length;G=function(O){var V=O.childNodes,S=V.length,R=0,P,Q,L="",M,U,N,T;for(;R0){L+=G(M)}L+=""}return L};if(f.getDefs){p=G(f.getDefs())}else{x=f.gradientsColl;if(x){t=x.keys;y=x.items;B=0;o=t.length}for(;B';var A=q.colors.replace(j,"rgb($1|$2|$3)");A=A.replace(g,"rgba($1|$2|$3|$4)");J=A.split(",");for(E=0,I=J.length;E'}p+=""}}w+=""+p+"";w+=k.rect({attr:{width:"100%",height:"100%",fill:"#fff",stroke:"none",opacity:"0"}});D=new Array(F);for(E=0;E";return w},d=function(q){var p="",o;for(o in q){if(q.hasOwnProperty(o)&&q[o]!=null){p+=o+'="'+q[o]+'" '}}return p};return{singleton:true,generate:function(o,p){p=p||{};n(o);return a()+l()}}});Ext.define("Ext.draw.engine.Vml",{extend:"Ext.draw.Surface",requires:["Ext.draw.Draw","Ext.draw.Color","Ext.draw.Sprite","Ext.draw.Matrix","Ext.Element"],engine:"Vml",map:{M:"m",L:"l",C:"c",Z:"x",m:"t",l:"r",c:"v",z:"x"},bitesRe:/([clmz]),?([^clmz]*)/gi,valRe:/-?[^,\s\-]+/g,fillUrlRe:/^url\(\s*['"]?([^\)]+?)['"]?\s*\)$/i,pathlike:/^(path|rect)$/,NonVmlPathRe:/[ahqstv]/ig,partialPathRe:/[clmz]/g,fontFamilyRe:/^['"]+|['"]+$/g,baseVmlCls:Ext.baseCSSPrefix+"vml-base",vmlGroupCls:Ext.baseCSSPrefix+"vml-group",spriteCls:Ext.baseCSSPrefix+"vml-sprite",measureSpanCls:Ext.baseCSSPrefix+"vml-measure-span",zoom:21600,coordsize:1000,coordorigin:"0 0",zIndexShift:0,orderSpritesByZIndex:false,path2vml:function(s){var m=this,t=m.NonVmlPathRe,b=m.map,e=m.valRe,q=m.zoom,d=m.bitesRe,f=Ext.Function.bind(Ext.draw.Draw.pathToAbsolute,Ext.draw.Draw),l,n,c,a,h,o,g,k;if(String(s).match(t)){f=Ext.Function.bind(Ext.draw.Draw.path2curve,Ext.draw.Draw)}else{if(!String(s).match(m.partialPathRe)){l=String(s).replace(d,function(u,w,p){var v=[],j=w.toLowerCase()=="m",r=b[w];p.replace(e,function(x){if(j&&v.length===2){r+=v+b[w=="m"?"l":"L"];v=[]}v.push(Math.round(x*q))});return r+v});return l}}n=f(s);l=[];for(h=0,o=n.length;h")}a.W=g.span.offsetWidth;a.H=g.span.offsetHeight+2;if(c["text-anchor"]=="middle"){e["v-text-align"]="center"}else{if(c["text-anchor"]=="end"){e["v-text-align"]="right";a.bbx=-Math.round(a.W/2)}else{e["v-text-align"]="left";a.bbx=Math.round(a.W/2)}}}a.X=c.x;a.Y=c.y;a.path.v=Ext.String.format("m{0},{1}l{2},{1}",Math.round(a.X*j),Math.round(a.Y*j),Math.round(a.X*j)+1);h.bbox.plain=null;h.bbox.transform=null;h.dirtyFont=false},setText:function(a,b){a.vml.textpath.string=Ext.htmlDecode(b)},hide:function(){this.el.hide()},show:function(){this.el.show()},hidePrim:function(a){a.el.addCls(Ext.baseCSSPrefix+"hide-visibility")},showPrim:function(a){a.el.removeCls(Ext.baseCSSPrefix+"hide-visibility")},setSize:function(b,a){var c=this;b=b||c.width;a=a||c.height;c.width=b;c.height=a;if(c.el){if(b!=undefined){c.el.setWidth(b)}if(a!=undefined){c.el.setHeight(a)}}c.callParent(arguments)},applyViewBox:function(){var f=this,g=f.viewBox,e=f.width,b=f.height,c,a,d;f.callParent();if(g&&(e||b)){c=f.items.items;a=c.length;for(d=0;d')}}catch(d){c.createNode=function(e){return f.createElement("<"+e+' xmlns="urn:schemas-microsoft.com:vml" class="rvml">')}}}if(!c.el){b=f.createElement("div");c.el=Ext.get(b);c.el.addCls(c.baseVmlCls);c.span=f.createElement("span");Ext.get(c.span).addCls(c.measureSpanCls);b.appendChild(c.span);c.el.setSize(c.width||0,c.height||0);a.appendChild(b);c.el.on({scope:c,mouseup:c.onMouseUp,mousedown:c.onMouseDown,mouseover:c.onMouseOver,mouseout:c.onMouseOut,mousemove:c.onMouseMove,mouseenter:c.onMouseEnter,mouseleave:c.onMouseLeave,click:c.onClick,dblclick:c.onDblClick})}c.renderAll()},renderAll:function(){this.items.each(this.renderItem,this)},redraw:function(a){a.dirty=true;this.renderItem(a)},renderItem:function(a){if(!this.el){return}if(!a.el){this.createSpriteElement(a)}if(a.dirty){this.applyAttrs(a);if(a.dirtyTransform){this.applyTransformations(a)}}},rotationCompensation:function(d,c,a){var b=new Ext.draw.Matrix();b.rotate(-d,0.5,0.5);return{x:b.x(c,a),y:b.y(c,a)}},transform:function(m,t){var s=this,a=s.getBBox(m,true),o=new Ext.draw.Matrix(),j=m.transformations,l=j.length,p=0,h=0,c=1,b=1,d=m.el,q=d.dom,n=q.style,e=m.skew,r=s.viewBoxShift,k,f,g;for(;p32767){g[0]=32767}else{if(g[0]<-32768){g[0]=-32768}}if(g[1]>32767){g[1]=32767}else{if(g[1]<-32768){g[1]=-32768}}e.offset=g}else{n.filter=o.toFilter();n.left=Math.min(o.x(a.x,a.y),o.x(a.x+a.width,a.y),o.x(a.x,a.y+a.height),o.x(a.x+a.width,a.y+a.height))+"px";n.top=Math.min(o.y(a.x,a.y),o.y(a.x+a.width,a.y),o.y(a.x,a.y+a.height),o.y(a.x+a.width,a.y+a.height))+"px"}},createItem:function(a){return Ext.create("Ext.draw.Sprite",a)},getRegion:function(){return this.el.getRegion()},addCls:function(a,b){if(a&&a.el){a.el.addCls(b)}},removeCls:function(a,b){if(a&&a.el){a.el.removeCls(b)}},addGradient:function(f){var d=this.gradientsColl||(this.gradientsColl=Ext.create("Ext.util.MixedCollection")),a=[],h=Ext.create("Ext.util.MixedCollection"),k,e,b,g,j,c;h.addAll(f.stops);h.sortByKey("ASC",function(m,l){m=parseInt(m,10);l=parseInt(l,10);return m>l?1:(m