bandido 0.0.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (57) hide show
  1. data/.gitignore +5 -0
  2. data/Gemfile +4 -0
  3. data/LICENSE +674 -0
  4. data/README.rdoc +77 -0
  5. data/Rakefile +34 -0
  6. data/bandit.gemspec +22 -0
  7. data/lib/bandit/config.rb +33 -0
  8. data/lib/bandit/date_hour.rb +82 -0
  9. data/lib/bandit/exceptions.rb +10 -0
  10. data/lib/bandit/experiment.rb +63 -0
  11. data/lib/bandit/extensions/array.rb +3 -0
  12. data/lib/bandit/extensions/controller_concerns.rb +33 -0
  13. data/lib/bandit/extensions/string.rb +5 -0
  14. data/lib/bandit/extensions/time.rb +5 -0
  15. data/lib/bandit/extensions/view_concerns.rb +40 -0
  16. data/lib/bandit/memoizable.rb +32 -0
  17. data/lib/bandit/players/base.rb +37 -0
  18. data/lib/bandit/players/epsilon_greedy.rb +32 -0
  19. data/lib/bandit/players/round_robin.rb +7 -0
  20. data/lib/bandit/storage/base.rb +134 -0
  21. data/lib/bandit/storage/memcache.rb +44 -0
  22. data/lib/bandit/storage/memory.rb +31 -0
  23. data/lib/bandit/storage/redis.rb +47 -0
  24. data/lib/bandit/version.rb +3 -0
  25. data/lib/bandit.rb +69 -0
  26. data/lib/generators/bandit/USAGE +3 -0
  27. data/lib/generators/bandit/dashboard_generator.rb +31 -0
  28. data/lib/generators/bandit/install_generator.rb +22 -0
  29. data/lib/generators/bandit/templates/bandit.rake +20 -0
  30. data/lib/generators/bandit/templates/bandit.rb +18 -0
  31. data/lib/generators/bandit/templates/bandit.yml +16 -0
  32. data/lib/generators/bandit/templates/bandit_controller.rb +30 -0
  33. data/lib/generators/bandit/templates/dashboard/bandit.html.erb +43 -0
  34. data/lib/generators/bandit/templates/dashboard/css/application.css +7 -0
  35. data/lib/generators/bandit/templates/dashboard/css/base.css +28 -0
  36. data/lib/generators/bandit/templates/dashboard/css/toupee/buttons.css +101 -0
  37. data/lib/generators/bandit/templates/dashboard/css/toupee/forms.css +89 -0
  38. data/lib/generators/bandit/templates/dashboard/css/toupee/modules.css +30 -0
  39. data/lib/generators/bandit/templates/dashboard/css/toupee/reset.css +42 -0
  40. data/lib/generators/bandit/templates/dashboard/css/toupee/structure.css +124 -0
  41. data/lib/generators/bandit/templates/dashboard/css/toupee/typography.css +103 -0
  42. data/lib/generators/bandit/templates/dashboard/helpers/bandit_helper.rb +23 -0
  43. data/lib/generators/bandit/templates/dashboard/js/bandit.js +51 -0
  44. data/lib/generators/bandit/templates/dashboard/js/highstock.js +215 -0
  45. data/lib/generators/bandit/templates/dashboard/js/jquery.min.js +154 -0
  46. data/lib/generators/bandit/templates/dashboard/view/_experiment_table.html.erb +19 -0
  47. data/lib/generators/bandit/templates/dashboard/view/index.html.erb +14 -0
  48. data/lib/generators/bandit/templates/dashboard/view/show.html.erb +19 -0
  49. data/players.rdoc +21 -0
  50. data/test/config.yml +7 -0
  51. data/test/helper.rb +18 -0
  52. data/test/memcache_storage_test.rb +17 -0
  53. data/test/memory_storage_test.rb +16 -0
  54. data/test/redis_storage_test.rb +17 -0
  55. data/test/storage_test_base.rb +54 -0
  56. data/whybandit.rdoc +31 -0
  57. metadata +166 -0
@@ -0,0 +1,215 @@
1
+ /*
2
+ Highcharts Stock v1.0 Beta (2011-07-05)
3
+
4
+ (c) 2009-2011 Torstein H?nsi
5
+
6
+ License: www.highcharts.com/license
7
+ */
8
+ (function(){function ca(a,b){var d;a||(a={});for(d in b)a[d]=b[d];return a}function Yb(){for(var a=0,b=arguments,d=b.length,c={};a<d;a++)c[b[a++]]=b[a];return c}function la(a,b){return parseInt(a,b||10)}function nc(a){return typeof a==="string"}function bc(a){return typeof a==="object"}function Xc(a){return typeof a==="number"}function Yc(a,b){for(var d=a.length;d--;)if(a[d]===b){a.splice(d,1);break}}function M(a){return a!==ha&&a!==null}function Aa(a,b,d){var c,e;if(nc(b))if(M(d))a.setAttribute(b,
9
+ d);else{if(a&&a.getAttribute)e=a.getAttribute(b)}else if(M(b)&&bc(b))for(c in b)a.setAttribute(c,b[c]);return e}function oc(a){if(!a||a.constructor!==Array)a=[a];return a}function C(){var a=arguments,b,d,c=a.length;for(b=0;b<c;b++){d=a[b];if(typeof d!=="undefined"&&d!==null)return d}}function Ja(a,b){if(Zc)if(b&&b.opacity!==ha)b.filter="alpha(opacity="+b.opacity*100+")";ca(a.style,b)}function mb(a,b,d,c,e){a=Da.createElement(a);b&&ca(a,b);e&&Ja(a,{padding:0,border:Jb,margin:0});d&&Ja(a,d);c&&c.appendChild(a);
10
+ return a}function yb(a,b){var d=function(){};d.prototype=new a;ca(d.prototype,b);return d}function Qd(a,b,d,c){var e=Ra.lang;a=a;var f=isNaN(b=nb(b))?2:b;b=d===undefined?e.decimalPoint:d;c=c===undefined?e.thousandsSep:c;e=a<0?"-":"";d=String(la(a=nb(+a||0).toFixed(f)));var g=d.length>3?d.length%3:0;return e+(g?d.substr(0,g)+c:"")+d.substr(g).replace(/(\d{3})(?=\d)/g,"$1"+c)+(f?b+nb(a-d).toFixed(f).slice(2):"")}function Rd(a,b,d,c){var e;d=C(d,1);e=a/d;if(!b){b=[1,2,2.5,5,10];if(c&&c.allowDecimals===
11
+ false)if(d===1)b=[1,2,5,10];else if(d<=0.1)b=[1/d]}for(c=0;c<b.length;c++){a=b[c];if(e<=(b[c]+(b[c+1]||b[c]))/2)break}a*=d;return a}function Sd(a,b,d,c,e){var f=[],g=Ra.global.useUTC,h=1E3/Ob,i=6E4/Ob,j=36E5/Ob,k=864E5/Ob,m=6048E5/Ob,t=2592E6/Ob,B=31556952E3/Ob,v=Yb(Td,1,Ud,h,Vd,i,Wd,j,Xd,k,Yd,m,Zd,t,$d,B),J=e||[["millisecond",[1,2,5,10,20,25,50,100,200,500]],["second",[1,2,5,10,15,30]],["minute",[1,2,5,10,15,30]],["hour",[1,2,3,4,6,8,12]],["day",[1,2]],["week",[1,2]],["month",[1,2,3,4,6]],["year",
12
+ null]],x=J[J.length-1],o=v[x[0]],s=x[1];for(e=0;e<J.length;e++){x=J[e];o=v[x[0]];s=x[1];if(J[e+1])if(a<=(o*s[s.length-1]+v[J[e+1][0]])/2)break}if(o===B&&a<5*o)s=[1,2,5];a=Rd(a/o,s);var q;b=new Date(b*Ob);b.setMilliseconds(0);if(o>=h)b.setSeconds(o>=i?0:a*Kb(b.getSeconds()/a));if(o>=i)b[ae](o>=j?0:a*Kb(b[wd]()/a));if(o>=j)b[be](o>=k?0:a*Kb(b[xd]()/a));if(o>=k)b[yd](o>=t?1:a*Kb(b[Oc]()/a));if(o>=t){b[ce](o>=B?0:a*Kb(b[$c]()/a));q=b[ad]()}if(o>=B){q-=q%a;b[de](q)}o===m&&b[yd](b[Oc]()-b[zd]()+C(c,1));
13
+ e=1;q=b[ad]();c=b.getTime()/Ob;h=b[$c]();for(i=b[Oc]();c<d;){f.push(c);if(o===B)c=bd(q+e*a,0)/Ob;else if(o===t)c=bd(q,h+e*a)/Ob;else if(!g&&(o===k||o===m))c=bd(q,h,i+e*a*(o===k?1:7));else c+=o*a;e++}f.push(c);f.unit=x;return f}function ee(){this.symbol=this.color=0}function xc(a,b){cd=C(a,b.animation)}function fe(){var a=Ra.global.useUTC;bd=a?Date.UTC:function(b,d,c,e,f,g){return(new Date(b,d,C(c,1),C(e,0),C(f,0),C(g,0))).getTime()};wd=a?"getUTCMinutes":"getMinutes";xd=a?"getUTCHours":"getHours";
14
+ zd=a?"getUTCDay":"getDay";Oc=a?"getUTCDate":"getDate";$c=a?"getUTCMonth":"getMonth";ad=a?"getUTCFullYear":"getFullYear";ae=a?"setUTCMinutes":"setMinutes";be=a?"setUTCHours":"setHours";yd=a?"setUTCDate":"setDate";ce=a?"setUTCMonth":"setMonth";de=a?"setUTCFullYear":"setFullYear"}function dd(a){ed||(ed=mb(cc));a&&ed.appendChild(a);ed.innerHTML=""}function fd(){}function gd(a,b){function d(l){function u(p,w){this.pos=p;this.minor=w;this.isNew=true;w||this.addLabel()}function G(p){if(p){this.options=p;
15
+ this.id=p.id}return this}function I(p,w,H){this.isNegative=w;this.options=p;this.x=H;this.alignOptions={align:p.align||(ya?w?"left":"right":"center"),verticalAlign:p.verticalAlign||(ya?"middle":w?"bottom":"top"),y:C(p.y,ya?4:w?14:-6),x:C(p.x,ya?w?-6:6:0)};this.textAlign=p.textAlign||(ya?w?"right":"left":"center")}function da(){var p=[],w=[],H,K;za=ub=null;Zb=[];A(Ka,function(E){var ia=E.options;K=false;A(["xAxis","yAxis"],function(Pc){if(E.isCartesian&&(Pc==="xAxis"&&Ba||Pc==="yAxis"&&!Ba)&&(ia[Pc]===
16
+ l.index||ia[Pc]===ha&&l.index===0)){E[Pc]=O;Zb.push(E);if(E.options.padXAxis)ge=true;K=true}});if(!E.visible&&o.ignoreHiddenSeries)K=false;if(K){var W,fa,jb,Ya,Q;if(!Ba){W=ia.stacking;hd=W==="percent";if(W){Ya=E.type+C(ia.stack,"");Q="-"+Ya;E.stackKey=Ya;fa=p[Ya]||[];p[Ya]=fa;jb=w[Q]||[];w[Q]=jb}if(hd){za=0;ub=99}}if(E.isCartesian){var wa,zb,vb,ob,hb=ia.threshold,Pb,yc=[],he=0;if(Ba){wa=E.xData;za=Ea(C(za,wa[0]),Ea.apply(na,wa));ub=ja(C(ub,wa[0]),ja.apply(na,wa))}else{var Ad,id,zc;E.processData();
17
+ wa=E.processedXData;zb=E.processedYData;Pb=zb.length;for(H=0;H<Pb;H++){ob=zb[H];if(ob!==null&&ob!==ha){if(W){vb=wa[H];id=(Ad=ob<0)?jb:fa;zc=Ad?Q:Ya;ob=id[vb]=M(id[vb])?id[vb]+ob:ob;R[zc]||(R[zc]={});R[zc][vb]||(R[zc][vb]=new I(l.stackLabels,Ad,vb));R[zc][vb].setTotal(ob)}if(vb=ob.length)for(;vb--;)yc[he++]=ob[vb];else yc[he++]=ob}}if(!hd){za=Ea(C(za,yc[0]),Ea.apply(na,yc));ub=ja(C(ub,yc[0]),ja.apply(na,yc))}if(E.useThreshold&&hb!==null)if(za>=hb){za=hb;ie=true}else if(ub<hb){ub=hb;je=true}}}}})}function qa(p){var w;
18
+ w=p;Ac=C(Ac,na.pow(10,Kb(na.log(kb)/na.LN10)));if(Ac<1){w=N(1/Ac)*10;w=N(p*w)/w}return w}function T(p){var w,H,K,E=l.tickInterval,ia=l.tickPixelInterval;w=l.maxZoom||(Ba&&!M(l.min)&&!M(l.max)?Ea(n.smallestInterval*5,ub-za):null);Z=aa?Qb:Rb;if(dc){H=n[Ba?"xAxis":"yAxis"][l.linkedTo];K=H.getExtremes();ka=C(K.min,K.dataMin);oa=C(K.max,K.dataMax)}else{ka=C(Bc,l.min,za);oa=C(Cc,l.max,ub)}if(z){ka=na.log(ka)/na.LN10;oa=na.log(oa)/na.LN10}if(ec){Bc=ka=oa-ec;Cc=oa;if(p)ec=null}if(oa-ka<w){p=(w-oa+ka)/2;ka=
19
+ ja(ka-p,C(l.min,ka-p),za);oa=Ea(ka+w,C(l.max,ka+w),ub)}if(!lb&&!hd&&!dc&&M(ka)&&M(oa)){w=oa-ka||1;if(!M(l.min)&&!M(Bc)&&ke&&(za<0||!ie))ka-=w*ke;if(!M(l.max)&&!M(Cc)&&le&&(ub>0||!je))oa+=w*le}kb=ka===oa||ka===undefined||oa===undefined?1:dc&&!E&&ia===H.options.tickPixelInterval?H.tickInterval:C(E,lb?1:(oa-ka)*ia/(Z||1));if(!D){Ac=na.pow(10,Kb(na.log(kb)/na.LN10));M(l.tickInterval)||(kb=Rd(kb,null,Ac,l))}O.tickInterval=kb;jd=l.minorTickInterval==="auto"&&kb?kb/5:l.minorTickInterval;if(D){xa=Sd(kb,ka,
20
+ oa,l.startOfWeek);kd=l.dateTimeLabelFormats[xa.unit[0]]}else{E=qa(Kb(ka/kb)*kb);H=qa(ld(oa/kb)*kb);xa=[];for(E=qa(E);E<=H;){xa.push(E);E=qa(E+kb)}}if(!dc){if(lb||ge){H=(lb?1:kb)*0.5;if(lb||!M(C(l.min,Bc)))ka-=H;if(lb||!M(C(l.max,Cc)))oa+=H}H=xa[0];E=xa[xa.length-1];if(l.startOnTick)ka=H;else ka>H&&xa.shift();if(l.endOnTick)oa=E;else oa<E&&xa.pop();$b||($b={x:0,y:0});if(!D&&xa.length>$b[ma]&&l.alignTicks!==false)$b[ma]=xa.length}}function ta(){var p,w;Qc=ka;me=oa;da();T();Ab=ba;ba=Z/(oa-ka||1);if(!Ba)for(p in R)for(w in R[p])R[p][w].cum=
21
+ R[p][w].total;if(!O.isDirty)O.isDirty=ka!==Qc||oa!==me}function Za(p){p=(new G(p)).render();fc.push(p);return p}function La(){var p=l.title,w=l.stackLabels,H=l.alternateGridColor,K=l.lineWidth,E,ia,W=n.hasRendered,fa=W&&M(Qc)&&!isNaN(Qc);if(Zb.length&&M(ka)&&M(oa)||dc){if(jd&&!lb)for(E=ka+(xa[0]-ka)%jd;E<=oa;E+=jd){pc[E]||(pc[E]=new u(E,true));fa&&pc[E].isNew&&pc[E].render(null,true);pc[E].isActive=true;pc[E].render()}A(xa,function(Q,wa){if(!dc||Q>=ka&&Q<=oa){fa&&Bb[Q].isNew&&Bb[Q].render(wa,true);
22
+ Bb[Q].isActive=true;Bb[Q].render(wa)}});H&&A(xa,function(Q,wa){if(wa%2===0&&Q<oa){Dc[Q]||(Dc[Q]=new G);Dc[Q].options={from:Q,to:xa[wa+1]!==ha?xa[wa+1]:oa,color:H};Dc[Q].render();Dc[Q].isActive=true}});W||A((l.plotLines||[]).concat(l.plotBands||[]),function(Q){fc.push((new G(Q)).render())})}A([Bb,pc,Dc],function(Q){for(var wa in Q)if(Q[wa].isActive)Q[wa].isActive=false;else{Q[wa].destroy();delete Q[wa]}});if(K){E=Sa+(Fa?Qb:0)+L;ia=Ma-gc-(Fa?Rb:0)+L;E=pa.crispLine([$a,aa?Sa:E,aa?ia:Gb,Ga,aa?Va-P:E,
23
+ aa?ia:Ma-gc],K);if(ab)ab.animate({d:E});else ab=pa.path(E).attr({stroke:l.lineColor,"stroke-width":K,zIndex:7}).add()}if(O.axisTitle){E=aa?Sa:Gb;K=la(p.style.fontSize||12);E={low:E+(aa?0:Z),middle:E+Z/2,high:E+(aa?Z:0)}[p.align];K=(aa?Gb+Rb:Sa)+(aa?1:-1)*(Fa?-1:1)*Bd+(Wa===2?K:0);O.axisTitle[W?"animate":"attr"]({x:aa?E:K+(Fa?Qb:0)+L+(p.x||0),y:aa?K-(Fa?Rb:0)+L:E+(p.y||0)})}if(w&&w.enabled){var jb,Ya;w=O.stackTotalGroup;if(!w)O.stackTotalGroup=w=pa.g("stack-labels").attr({visibility:Lb,zIndex:6}).translate(ga,
24
+ ea).add();for(jb in R){p=R[jb];for(Ya in p)p[Ya].render(w)}}O.isDirty=false}function pb(p){for(var w=fc.length;w--;)fc[w].id===p&&fc[w].destroy()}var Ba=l.isX,Fa=l.opposite,aa=ya?!Ba:Ba,Wa=aa?Fa?0:2:Fa?1:3,R={};l=Y(Ba?md:Cd,[ze,Ae,ne,Be][Wa],l);var O=this,F=l.type,D=F==="datetime",z=F==="logarithmic",L=l.offset||0,ma=Ba?"x":"y",Z,ba,Na,Ab,Sa,Gb,Qb,Rb,gc,P,ua,va,Ca,cb,ab,za,ub,Zb,ec=l.range,Bc,Cc,oa=null,ka=null,Qc,me,ke=l.minPadding,le=l.maxPadding,dc=M(l.linkedTo),ie,je,hd;F=l.events;var Dd,ge,fc=
25
+ [],kb,jd,Ac,xa,Bb={},pc={},Dc={},Ec,Fc,Bd,kd,lb=l.categories,Ce=l.labels.formatter||function(){var p=this.value;return kd?Gc(kd,p):kb%1E6===0?p/1E6+"M":kb%1E3===0?p/1E3+"k":!lb&&p>=1E3?Qd(p,0):p},nd=aa&&l.labels.staggerLines,qc=l.reversed,rc=lb&&l.tickmarkPlacement==="between"?0.5:0;u.prototype={attachLabel:function(){var p=this.label;if(p&&!this.added){p.deferUpdateTransform=true;p.add(Ca)}},updateTransformLabel:function(){var p=this.label;if(p){p.deferUpdateTransform=false;p.updateTransform()}},
26
+ computeBBox:function(){var p=this.label,w;if(p){w=p.getBBox();p.elemWidth=w.width;p.elemHeight=w.height}},addLabel:function(){var p=this.pos,w=l.labels,H=!(p===ka&&!C(l.showFirstLabel,1)||p===oa&&!C(l.showLastLabel,0)),K=lb&&aa&&lb.length&&!w.step&&!w.staggerLines&&!w.rotation&&db/lb.length||!aa&&db/2,E=this.label;p=Ce.call({isFirst:p===xa[0],isLast:p===xa[xa.length-1],dateTimeLabelFormat:kd,value:lb&&lb[p]?lb[p]:p});K=K&&{width:ja(1,N(K-2*(w.padding||10)))+qb};K=ca(K,w.style);if(M(E))E&&E.attr({text:p}).css(K);
27
+ else this.label=M(p)&&H&&w.enabled?pa.text(p,0,0).attr({align:w.align,rotation:w.rotation}).css(K):null},getLabelSize:function(){var p=this.label;return p?(this.labelBBox=p.getBBox())[aa?"height":"width"]:0},render:function(p,w){var H=!this.minor,K=this.label,E=this.pos,ia=l.labels,W=this.gridLine,fa=H?l.gridLineWidth:l.minorGridLineWidth,jb=H?l.gridLineColor:l.minorGridLineColor,Ya=H?l.gridLineDashStyle:l.minorGridLineDashStyle,Q=this.mark,wa=H?l.tickLength:l.minorTickLength,zb=H?l.tickWidth:l.minorTickWidth||
28
+ 0,vb=H?l.tickColor:l.minorTickColor,ob=H?l.tickPosition:l.minorTickPosition;H=ia.step;var hb=w&&sc||Ma,Pb;Pb=aa?ua(E+rc,null,null,w)+Na:Sa+L+(Fa?(w&&Wb||Va)-P-Sa:0);hb=aa?hb-gc+L-(Fa?Rb:0):hb-ua(E+rc,null,null,w)-Na;if(fa){E=va(E+rc,fa,w);if(W===ha){W={stroke:jb,"stroke-width":fa};if(Ya)W.dashstyle=Ya;this.gridLine=W=fa?pa.path(E).attr(W).add(cb):null}W&&E&&W.animate({d:E})}if(zb){if(ob==="inside")wa=-wa;if(Fa)wa=-wa;fa=pa.crispLine([$a,Pb,hb,Ga,Pb+(aa?0:-wa),hb+(aa?wa:0)],zb);if(Q)Q.animate({d:fa});
29
+ else this.mark=pa.path(fa).attr({stroke:vb,"stroke-width":zb}).add(Ca)}if(K&&!isNaN(Pb)){Pb=Pb+ia.x-(rc&&aa?rc*ba*(qc?-1:1):0);hb=hb+ia.y-(rc&&!aa?rc*ba*(qc?1:-1):0);M(ia.y)||(hb+=la(K.styles.lineHeight)*0.9-K.getBBox().height/2);if(nd)hb+=p/(H||1)%nd*16;if(H)K[p%H?"hide":"show"]();K[this.isNew?"attr":"animate"]({x:Pb,y:hb})}this.isNew=false},destroy:function(){for(var p in this)this[p]&&this[p].destroy&&this[p].destroy()}};G.prototype={render:function(){var p=this,w=p.options,H=w.label,K=p.label,
30
+ E=w.width,ia=w.to,W,fa=w.from,jb=w.dashStyle,Ya=p.svgElem,Q=[],wa,zb,vb=w.color;zb=w.zIndex;var ob=w.events;if(E){Q=va(w.value,E);w={stroke:vb,"stroke-width":E};if(jb)w.dashstyle=jb}else if(M(fa)&&M(ia)){fa=ja(fa,ka);ia=Ea(ia,oa);W=va(ia);if((Q=va(fa))&&W)Q.push(W[4],W[5],W[1],W[2]);else Q=null;w={fill:vb}}else return;if(M(zb))w.zIndex=zb;if(Ya)if(Q)Ya.animate({d:Q},null,Ya.onGetPath);else{Ya.hide();Ya.onGetPath=function(){Ya.show()}}else if(Q&&Q.length){p.svgElem=Ya=pa.path(Q).attr(w).add();if(ob){jb=
31
+ function(hb){Ya.on(hb,function(Pb){ob[hb].apply(p,[Pb])})};for(wa in ob)jb(wa)}}if(H&&M(H.text)&&Q&&Q.length&&Qb>0&&Rb>0){H=Y({align:aa&&W&&"center",x:aa?!W&&4:10,verticalAlign:!aa&&W&&"middle",y:aa?W?16:10:W?6:-4,rotation:aa&&!W&&90},H);if(!K)p.label=K=pa.text(H.text,0,0).attr({align:H.textAlign||H.align,rotation:H.rotation,zIndex:zb}).css(H.style).add();W=[Q[1],Q[4],C(Q[6],Q[1])];Q=[Q[2],Q[5],C(Q[7],Q[2])];wa=Ea.apply(na,W);zb=Ea.apply(na,Q);K.align(H,false,{x:wa,y:zb,width:ja.apply(na,W)-wa,height:ja.apply(na,
32
+ Q)-zb});K.show()}else K&&K.hide();return p},destroy:function(){for(var p in this){this[p]&&this[p].destroy&&this[p].destroy();delete this[p]}Yc(fc,this)}};I.prototype={setTotal:function(p){this.cum=this.total=p},render:function(p){var w=this.options.formatter.call(this);if(this.label)this.label.attr({text:w,visibility:Cb});else this.label=n.renderer.text(w,0,0).css(this.options.style).attr({align:this.textAlign,rotation:this.options.rotation,visibility:Cb}).add(p)},setOffset:function(p,w){var H=this.isNegative,
33
+ K=O.translate(this.total),E=O.translate(0);E=nb(K-E);var ia=n.xAxis[0].translate(this.x)+p,W=n.plotHeight;H={x:ya?H?K:K-E:ia,y:ya?W-ia-w:H?W-K-E:W-K,width:ya?E:w,height:ya?w:E};this.label&&this.label.align(this.alignOptions,null,H).attr({visibility:Lb})}};ua=function(p,w,H,K,E){var ia=1,W=0,fa=K?Ab:ba;K=K?Qc:ka;fa||(fa=ba);if(H){ia*=-1;W=Z}if(qc){ia*=-1;W-=ia*Z}if(w){if(qc)p=Z-p;p=p/fa+K;if(z&&E)p=na.pow(10,p)}else{if(z&&E)p=na.log(p)/na.LN10;p=ia*(p-K)*fa+W}return p};va=function(p,w,H){var K,E,ia;
34
+ p=ua(p,null,null,H);var W=H&&sc||Ma,fa=H&&Wb||Va,jb;H=E=N(p+Na);K=ia=N(W-p-Na);if(isNaN(p))jb=true;else if(aa){K=Gb;ia=W-gc;if(H<Sa||H>Sa+Qb)jb=true}else{H=Sa;E=fa-P;if(K<Gb||K>Gb+Rb)jb=true}return jb?null:pa.crispLine([$a,H,K,Ga,E,ia],w||0)};wb.push(O);n[Ba?"xAxis":"yAxis"].push(O);if(ya&&Ba&&qc===ha)qc=true;ca(O,{addPlotBand:Za,addPlotLine:Za,adjustTickAmount:function(){if($b&&!D&&!lb&&!dc&&l.alignTicks!==false){var p=Ec,w=xa.length;Ec=$b[ma];if(w<Ec){for(;xa.length<Ec;)xa.push(qa(xa[xa.length-
35
+ 1]+kb));ba*=(w-1)/(Ec-1);oa=xa[xa.length-1]}if(M(p)&&Ec!==p)O.isDirty=true}},categories:lb,getExtremes:function(){return{min:ka,max:oa,dataMin:za,dataMax:ub,userMin:Bc,userMax:Cc}},getPlotLinePath:va,getThreshold:function(p){if(ka>p||p===null)p=ka;else if(oa<p)p=oa;return ua(p,0,1)},isXAxis:Ba,options:l,plotLinesAndBands:fc,getOffset:function(){var p=Zb.length&&M(ka)&&M(oa),w=0,H=0,K=l.title,E=l.labels,ia=[-1,1,1,-1][Wa],W;if(!Ca){Ca=pa.g("axis").attr({zIndex:7}).add();cb=pa.g("grid").attr({zIndex:1}).add()}Fc=
36
+ 0;if(p||dc){A(xa,function(fa){if(Bb[fa])Bb[fa].addLabel();else Bb[fa]=new u(fa)});A(xa,function(fa){Bb[fa].attachLabel()});A(xa,function(fa){Bb[fa].computeBBox()});A(xa,function(fa){Bb[fa].updateTransformLabel()});A(xa,function(fa){if(Wa===0||Wa===2||{1:"left",3:"right"}[Wa]===E.align)Fc=ja(Bb[fa].getLabelSize(),Fc)});if(nd)Fc+=(nd-1)*16}else for(W in Bb){Bb[W].destroy();delete Bb[W]}if(K&&K.text){if(!O.axisTitle)O.axisTitle=pa.text(K.text,0,0).attr({zIndex:7,rotation:K.rotation||0,align:K.textAlign||
37
+ {low:"left",middle:"center",high:"right"}[K.align]}).css(K.style).add();w=O.axisTitle.getBBox()[aa?"height":"width"];H=C(K.margin,aa?5:10)}L=ia*C(l.offset,rb[Wa]);Bd=Fc+(Wa!==2&&Fc&&ia*l.labels[aa?"y":"x"])+H;rb[Wa]=ja(rb[Wa],Bd+w+ia*L)},render:La,setAxisSize:function(){var p=l.offsetLeft||0,w=l.offsetRight||0;Sa=C(l.left,ga+p);Gb=C(l.top,ea);Qb=C(l.width,db-p+w);Rb=C(l.height,eb);gc=Ma-Rb-Gb;P=Va-Qb-Sa;O.left=Sa;O.top=Gb;Z=aa?Qb:Rb;ba=Z/(oa-ka||1);Na=aa?Sa:gc},setCategories:function(p,w){O.categories=
38
+ lb=p;A(Zb,function(H){H.translate();H.setTooltipPoints(true)});O.isDirty=true;C(w,true)&&n.redraw()},setExtremes:function(p,w,H,K){H=C(H,true);Ha(O,"setExtremes",{min:p,max:w},function(){Bc=p;Cc=w;H&&n.redraw(K)})},setScale:ta,setTickPositions:T,translate:ua,redraw:function(){Hc.resetTracker&&Hc.resetTracker();La();A(fc,function(p){p.render()});A(Zb,function(p){p.isDirty=true})},removePlotBand:pb,removePlotLine:pb,reversed:qc,stacks:R});for(Dd in F)ra(O,Dd,F[Dd]);ta()}function c(){var l={};return{add:function(u,
39
+ G,I,da){if(!l[u]){G=pa.text(G,0,0).css(a.toolbar.itemStyle).align({align:"right",x:-Xb-20,y:ea+30}).on("click",da).attr({align:"right",zIndex:20}).add();l[u]=G}},remove:function(u){dd(l[u].element);l[u]=null}}}function e(l){function u(){var D=this.points||oc(this),z=D[0].series.xAxis,L=this.x;z=z&&z.options.type==="datetime";var ma=nc(L)||z,Z=D[0].series,ba;ba=ma?['<span style="font-size: 10px">'+(z?Gc("%A, %b %e, %Y",L):L)+"</span>"]:[];A(D,function(Na){Z=Na.series;ba.push(Z.tooltipFormatter&&Z.tooltipFormatter(Na)||
40
+ Na.point.tooltipFormatter(ma))});return ba.join("<br/>")}function G(D,z){R=Fa?D:(2*R+D)/3;O=Fa?z:(O+z)/2;F.attr({x:R,y:O});Ed=nb(D-R)>1||nb(z-O)>1?function(){G(D,z)}:null}function I(){if(!Fa){var D=n.hoverPoints;F.hide();A(ta,function(z){z&&z.hide()});D&&A(D,function(z){z.setState()});n.hoverPoints=null;Fa=true}}var da,qa=l.borderWidth,T=l.crosshairs,ta=[],Za=l.style,La=l.shared,pb=la(Za.padding),Ba=qa+pb,Fa=true,aa,Wa,R=0,O=0;Za.padding=0;var F=pa.label("",0,0).attr({padding:pb,fill:l.backgroundColor,
41
+ "stroke-width":qa,r:l.borderRadius,zIndex:8}).css(Za).hide().add().shadow(1);return{shared:La,refresh:function(D){var z,L,ma,Z,ba={},Na=[];ma=D.tooltipPos;z=l.formatter||u;ba=n.hoverPoints;if(La&&!(D.series&&D.series.noSharedTooltip)){Z=0;ba&&A(ba,function(Ab){Ab.setState()});n.hoverPoints=D;A(D,function(Ab){Ab.setState(Tb);Z+=Ab.plotY;Na.push(Ab.getLabelConfig())});L=D[0].plotX;Z=N(Z)/D.length;ba={x:D[0].category};ba.points=Na;D=D[0]}else ba=D.getLabelConfig();ba=z.call(ba);da=D.series;L=C(L,D.plotX);
42
+ Z=C(Z,D.plotY);z=N(ma?ma[0]:ya?db-Z:L);L=N(ma?ma[1]:ya?eb-L:Z);ma=La||!D.series.isCartesian||ib(z,L);if(ba===false||!ma)I();else{if(Fa){F.show();Fa=false}F.attr({text:ba});ma=F.getBBox();aa=ma.width;Wa=ma.height;F.attr({stroke:l.borderColor||D.color||da.color||"#606060"});z=z-aa+ga-25;L=L-Wa+ea+10;if(z<7){z=7;L-=30}if(L<ea+5)L=ea+5;else if(L+Wa>Ma)L=Ma-Wa-5;G(N(z-Ba),N(L-Ba))}if(T){T=oc(T);for(z=T.length;z--;){L=D.series[z?"yAxis":"xAxis"];if(T[z]&&L){L=L.getPlotLinePath(D[z?"y":"x"],1);if(ta[z])ta[z].attr({d:L,
43
+ visibility:Lb});else{ma={"stroke-width":T[z].width||1,stroke:T[z].color||"#C0C0C0",zIndex:2};if(T[z].dashStyle)ma.dashstyle=T[z].dashStyle;ta[z]=pa.path(L).attr(ma).add()}}}}},hide:I}}function f(l,u){function G(R){var O,F=oe&&Da.width/Da.documentElement.clientWidth-1,D,z,L;R=R||sb.event;if(!R.target)R.target=R.srcElement;if(R.originalEvent)R=R.originalEvent;O=R.touches?R.touches.item(0):R;if(R.type!=="mousemove"||sb.opera||F){D=sa;z={left:D.offsetLeft,top:D.offsetTop};for(D=D.offsetParent;D;){z.left+=
44
+ D.offsetLeft;z.top+=D.offsetTop;if(D!==Da.body&&D!==Da.documentElement){z.left-=D.scrollLeft;z.top-=D.scrollTop}D=D.offsetParent}Rc=z;D=Rc.left;z=Rc.top}if(Zc){L=R.x;O=R.y}else if(O.layerX===ha){L=O.pageX-D;O=O.pageY-z}else{L=R.layerX;O=R.layerY}if(F){L+=N((F+1)*D-D);O+=N((F+1)*z-z)}return ca(R,{chartX:L,chartY:O})}function I(R){var O={xAxis:[],yAxis:[]};A(wb,function(F){var D=F.translate,z=F.isXAxis;O[z?"xAxis":"yAxis"].push({axis:F,value:D((ya?!z:z)?R.chartX-ga:eb-R.chartY+ea,true)})});return O}
45
+ function da(){var R=l.hoverSeries,O=l.hoverPoint;O&&O.onMouseOut();R&&R.onMouseOut();Oa&&Oa.hide();Fd=null}function qa(){if(La){var R={xAxis:[],yAxis:[]},O=La.getBBox(),F=O.x-ga,D=O.y-ea;if(Za){A(wb,function(z){if(z.options.zoomEnabled!==false){var L=z.translate,ma=z.isXAxis,Z=ya?!ma:ma,ba=L(Z?F:eb-D-O.height,true,0,0,1);L=L(Z?F+O.width:eb-D,true,0,0,1);R[ma?"xAxis":"yAxis"].push({axis:z,min:Ea(ba,L),max:ja(ba,L)})}});Ha(l,"selection",R,Gd)}La=La.destroy()}Ja(sa,{cursor:"auto"});l.mouseIsDown=ac=
46
+ Za=false;Ub(Da,Hb?"touchend":"mouseup",qa)}var T,ta,Za,La,pb=o.zoomType,Ba=/x/.test(pb),Fa=/y/.test(pb),aa=Ba&&!ya||Fa&&ya,Wa=Fa&&!ya||Ba&&ya;od=function(){if(pd){pd.translate(ga,ea);ya&&pd.attr({width:l.plotWidth,height:l.plotHeight}).invert()}else l.trackerGroup=pd=pa.g("tracker").attr({zIndex:9}).add()};od();if(u.enabled)l.tooltip=Oa=e(u);(function(){var R=true;sa.onmousedown=function(F){F=G(F);l.mouseIsDown=ac=true;T=F.chartX;ta=F.chartY;ra(Da,Hb?"touchend":"mouseup",qa)};var O=function(F){if(!(F&&
47
+ F.touches&&F.touches.length>1)){F=G(F);if(!Hb)F.returnValue=false;var D=F.chartX,z=F.chartY,L=!ib(D-ga,z-ea);if(Hb&&F.type==="touchstart")if(Aa(F.target,"isTracker"))l.runTrackerClick||F.preventDefault();else!Ta&&!L&&F.preventDefault();if(L){R||da();if(D<ga)D=ga;else if(D>ga+db)D=ga+db;if(z<ea)z=ea;else if(z>ea+eb)z=ea+eb}if(ac&&F.type!=="touchstart"){Za=Math.sqrt(Math.pow(T-D,2)+Math.pow(ta-z,2));if(Za>10){var ma=ib(T-ga,ta-ea);if(Ic&&(Ba||Fa)&&ma)La||(La=pa.rect(ga,ea,aa?1:db,Wa?1:eb,0).attr({fill:"rgba(69,114,167,0.25)",
48
+ zIndex:7}).add());if(La&&aa){F=D-T;La.attr({width:nb(F),x:(F>0?0:F)+T})}if(La&&Wa){z=z-ta;La.attr({height:nb(z),y:(z>0?0:z)+ta})}if(ma&&!La&&o.panning){z=l.xAxis[0];F=z.getExtremes();ma=F.dataMin;F=F.dataMax;var Z=z.translate(T-D,true),ba=z.translate(T+db-D,true);Z>ma&&ba<F&&z.setExtremes(Z,ba,true,false);T=D;Ja(sa,{cursor:"move"})}}}else if(!L){D=l.hoverPoint;z=l.hoverSeries;var Na;ma=Va;var Ab=ya?F.chartY:F.chartX-ga;if(Oa&&u.shared&&!(z&&z.noSharedTooltip)){Z=[];ba=Ka.length;for(Na=0;Na<ba;Na++)if(Ka[Na].visible&&
49
+ Ka[Na].tooltipPoints.length&&Ka[Na].options.enableMouseTracking!==false&&!Ka[Na].noSharedTooltip){F=Ka[Na].tooltipPoints[Ab];F._dist=nb(Ab-F.plotX);ma=Ea(ma,F._dist);Z.push(F)}for(ba=Z.length;ba--;)Z[ba]._dist>ma&&Z.splice(ba,1);if(Z.length&&Z[0].plotX!==Fd){Oa.refresh(Z);Fd=Z[0].plotX}}if(z&&z.tracker)(F=z.tooltipPoints[Ab])&&F!==D&&F.onMouseOver()}return(R=L)||!Ic}};sa.onmousemove=O;ra(sa,"mouseleave",da);sa.ontouchstart=function(F){if(Ba||Fa)sa.onmousedown(F);O(F)};sa.ontouchmove=O;sa.ontouchend=
50
+ function(){Za&&da()};sa.onclick=function(F){var D=l.hoverPoint;F=G(F);F.cancelBubble=true;if(!Za)if(D&&Aa(F.target,"isTracker")){var z=D.plotX,L=D.plotY;ca(D,{pageX:Rc.left+ga+(ya?db-L:z),pageY:Rc.top+ea+(ya?eb-z:L)});Ha(D.series,"click",ca(F,{point:D}));D.firePointEvent("click",F)}else{ca(F,I(F));ib(F.chartX-ga,F.chartY-ea)&&Ha(l,"click",F)}Za=false}})();pe=setInterval(function(){Ed&&Ed()},32);ca(this,{zoomX:Ba,zoomY:Fa,resetTracker:da,normalizeMouseEvent:G})}function g(l){var u=l.type||o.type||
51
+ o.defaultSeriesType,G=fb[u],I=n.hasRendered;if(I)if(ya&&u==="column")G=fb.bar;else if(!ya&&u==="bar")G=fb.column;u=new G;u.init(n,l);if(!I&&u.inverted)ya=true;if(u.isCartesian)Ic=u.isCartesian;Ka.push(u);return u}function h(){o.alignTicks!==false&&A(wb,function(l){l.adjustTickAmount()});$b=null}function i(l){var u=n.isDirtyLegend,G,I=n.isDirtyBox,da=Ka.length,qa=da,T=n.clipRect;for(xc(l,n);qa--;){l=Ka[qa];if(l.isDirty&&l.options.stacking){G=true;break}}if(G)for(qa=da;qa--;){l=Ka[qa];if(l.options.stacking)l.isDirty=
52
+ true}A(Ka,function(ta){if(ta.isDirty)if(ta.options.legendType==="point")u=true});if(u&&Hd.renderLegend){Hd.renderLegend();n.isDirtyLegend=false}if(Ic){if(!qd){$b=null;A(wb,function(ta){ta.leastDistance=ha;ta.setScale()})}h();Sc();A(wb,function(ta){if(ta.isDirty||I){ta.redraw();I=true}})}if(I){Id();od();if(T){rd(T);T.animate({width:n.plotSizeX,height:n.plotSizeY})}}A(Ka,function(ta){if(ta.isDirty&&ta.visible&&(!ta.isCartesian||ta.xAxis))ta.redraw()});Hc&&Hc.resetTracker&&Hc.resetTracker();Ha(n,"redraw")}
53
+ function j(){var l=a.xAxis||{},u=a.yAxis||{};l=oc(l);A(l,function(G,I){G.index=I;G.isX=true});u=oc(u);A(u,function(G,I){G.index=I});l=l.concat(u);A(l,function(G){new d(G)});h()}function k(l,u){gb=Y(a.title,l);$=Y(a.subtitle,u);A([["title",l,gb],["subtitle",u,$]],function(G){var I=G[0],da=n[I],qa=G[1];G=G[2];if(da&&qa){da.destroy();da=null}if(G&&G.text&&!da)n[I]=pa.text(G.text,0,0).attr({align:G.align,"class":"highcharts-"+I,zIndex:1}).css(G.style).add().align(G,false,Ia)})}function m(){Pa=o.renderTo;
54
+ Sb=Jc+Jd++;if(nc(Pa))Pa=Da.getElementById(Pa);Pa.innerHTML="";if(!Pa.offsetWidth){Xa=Pa.cloneNode(0);Ja(Xa,{position:Kc,top:"-9999px",display:""});Da.body.appendChild(Xa)}tc=(Xa||Pa).offsetWidth;hc=(Xa||Pa).offsetHeight;n.chartWidth=Va=o.width||tc||600;n.chartHeight=Ma=o.height||(hc>19?hc:400);n.container=sa=mb(cc,{className:"highcharts-container"+(o.className?" "+o.className:""),id:Sb},ca({position:qe,overflow:Cb,width:Va+qb,height:Ma+qb,textAlign:"left"},o.style),Xa||Pa);n.renderer=pa=o.forExport?
55
+ new sd(sa,Va,Ma,true):new Tc(sa,Va,Ma);var l,u;if(re&&sa.getBoundingClientRect){l=function(){Ja(sa,{left:0,top:0});u=sa.getBoundingClientRect();Ja(sa,{left:-(u.left-la(u.left))+qb,top:-(u.top-la(u.top))+qb})};l();ra(sb,"resize",l);ra(n,"destroy",function(){Ub(sb,"resize",l)})}}function t(){function l(){var G=o.width||Pa.offsetWidth,I=o.height||Pa.offsetHeight;if(G&&I){if(G!==tc||I!==hc){clearTimeout(u);u=setTimeout(function(){Kd(G,I,false)},100)}tc=G;hc=I}}var u;ra(sb,"resize",l);ra(n,"destroy",function(){Ub(sb,
56
+ "resize",l)})}function B(){var l=a.labels,u=a.credits,G;k();Hd=n.legend=new De(n);Sc();A(wb,function(I){I.setTickPositions(true)});h();Sc();Id();Ic&&A(wb,function(I){I.render()});if(!n.seriesGroup)n.seriesGroup=pa.g("series-group").attr({zIndex:3}).add();A(Ka,function(I){I.translate();I.setTooltipPoints();I.render()});l.items&&A(l.items,function(){var I=ca(l.style,this.style),da=la(I.left)+ga,qa=la(I.top)+ea+12;delete I.left;delete I.top;pa.text(this.html,da,qa).attr({zIndex:2}).css(I).add()});if(!n.toolbar)n.toolbar=
57
+ c(n);if(u.enabled&&!n.credits){G=u.href;pa.text(u.text,0,0).on("click",function(){if(G)location.href=G}).attr({align:u.position.align,zIndex:8}).css(u.style).add().align(u.position)}od();n.hasRendered=true;if(Xa){Pa.appendChild(sa);dd(Xa)}}function v(){var l=Ka.length,u=sa&&sa.parentNode;Ha(n,"destroy");Ub(sb,"unload",v);Ub(n);for(A(wb,function(G){Ub(G)});l--;)Ka[l].destroy();if(sa){sa.innerHTML="";Ub(sa);u&&u.removeChild(sa);sa=null}if(pa)pa.alignedObjects=null;clearInterval(pe);for(l in n)delete n[l]}
58
+ function J(){if(!Uc&&sb==sb.top&&Da.readyState!=="complete")Da.attachEvent("onreadystatechange",function(){Da.detachEvent("onreadystatechange",J);Da.readyState==="complete"&&J()});else{m();Ha(n,"init");if(se&&a.rangeSelector.enabled)n.rangeSelector=new se(n);Ld();Md();A(a.series||[],function(l){g(l)});n.inverted=ya=C(ya,a.chart.inverted);j();if(te&&a.navigator.enabled||a.scrollbar.enabled)n.scroller=new te(n);n.render=B;n.tracker=Hc=new f(n,a.tooltip);B();b&&b.apply(n,[n]);A(n.callbacks,function(l){l.apply(n,
59
+ [n])});Ha(n,"load")}}md=Y(md,Ra.xAxis);Cd=Y(Cd,Ra.yAxis);Ra.xAxis=Ra.yAxis=null;var x=a.series;a.series=null;a=Y(Ra,a);a.series=x;var o=a.chart;x=o.margin;x=bc(x)?x:[x,x,x,x];var s=C(o.marginTop,x[0]),q=C(o.marginRight,x[1]),r=C(o.marginBottom,x[2]),y=C(o.marginLeft,x[3]),U=o.spacingTop,X=o.spacingRight,Ua=o.spacingBottom,bb=o.spacingLeft,Ia,gb,$,ea,Xb,tb,ga,rb,Pa,Xa,sa,Sb,tc,hc,Va,Ma,Wb,sc,uc,Lc,ic,V,n=this,Ta=(x=o.events)&&!!x.click,Db,ib,Oa,ac,Eb,vc,wc,eb,db,Hc,pd,od,Hd,jc,kc,Rc,Ic=o.showAxes,
60
+ qd=0,wb=[],$b,Ka=[],ya,pa,Ed,pe,Fd,Id,Sc,Ld,Md,Kd,Gd,ue,De=function(l){function u(P,ua){var va=P.legendItem,Ca=P.legendLine,cb=P.legendSymbol,ab=Wa.color,za=ua?T.itemStyle.color:ab;ab=ua?P.color:ab;va&&va.css({fill:za});Ca&&Ca.attr({stroke:ab});cb&&cb.attr({stroke:ab,fill:ab})}function G(P,ua,va){var Ca=P.legendItem,cb=P.legendLine,ab=P.legendSymbol;P=P.checkbox;Ca&&Ca.attr({x:ua,y:va});cb&&cb.translate(ua,va-4);ab&&ab.attr({x:ua+ab.xOff,y:va+ab.yOff});if(P){P.x=ua;P.y=va}}function I(){A(pb,function(P){var ua=
61
+ P.checkbox,va=Sa.alignAttr;ua&&Ja(ua,{left:va.translateX+P.legendItemWidth+ua.x-40+qb,top:va.translateY+ua.y-11+qb})})}function da(P){var ua,va,Ca,cb,ab=P.legendItem;cb=P.series||P;var za=cb.options,ub=za&&za.borderWidth||0;if(!ab){cb=/^(bar|pie|area|column)$/.test(cb.type);P.legendItem=ab=pa.text(T.labelFormatter.call(P),0,0).css(P.visible?Fa:Wa).on("mouseover",function(){P.setState(Tb);ab.css(aa)}).on("mouseout",function(){ab.css(P.visible?Fa:Wa);P.setState()}).on("click",function(){var ec=function(){P.setVisible()};
62
+ P.firePointEvent?P.firePointEvent("legendItemClick",null,ec):Ha(P,"legendItemClick",null,ec)}).attr({zIndex:2}).add(Sa);if(!cb&&za&&za.lineWidth){var Zb={"stroke-width":za.lineWidth,zIndex:2};if(za.dashStyle)Zb.dashstyle=za.dashStyle;P.legendLine=pa.path([$a,-Za-La,0,Ga,-La,0]).attr(Zb).add(Sa)}if(cb)Ca=pa.rect(ua=-Za-La,va=-11,Za,12,2).attr({zIndex:3}).add(Sa);else if(za&&za.marker&&za.marker.enabled){Ca=za.marker.radius;Ca=pa.symbol(P.symbol,ua=-Za/2-La-Ca,va=-4-Ca,2*Ca,2*Ca).attr(P.pointAttr[Ib]).attr({zIndex:3}).add(Sa)}if(Ca){Ca.xOff=
63
+ ua+ub%2/2;Ca.yOff=va+ub%2/2}P.legendSymbol=Ca;u(P,P.visible);if(za&&za.showCheckbox){P.checkbox=mb("input",{type:"checkbox",checked:P.selected,defaultChecked:P.selected},T.itemCheckboxStyle,sa);ra(P.checkbox,"click",function(ec){Ha(P,"checkboxClick",{checked:ec.target.checked},function(){P.select()})})}}ua=ab.getBBox();va=P.legendItemWidth=T.itemWidth||Za+La+ua.width+O;Z=ua.height;if(ta&&z-D+va>(Qb||Va-2*R-D)){z=D;L+=Z}ma=L;G(P,z,L);if(ta)z+=va;else L+=Z;Gb=Qb||ja(ta?z-D:va,Gb)}function qa(){z=D;
64
+ L=F;ma=Gb=0;Sa||(Sa=pa.g("legend").attr({zIndex:7}).add());pb=[];A(Rb,function(Ca){var cb=Ca.options;if(cb.showInLegend)pb=pb.concat(cb.legendType==="point"?Ca.data:Ca)});pb.sort(function(Ca,cb){return(Ca.options.legendIndex||0)-(cb.options.legendIndex||0)});gc&&pb.reverse();A(pb,da);jc=Qb||Gb;kc=ma-F+Z;if(Na||Ab){jc+=2*R;kc+=2*R;if(ba)jc>0&&kc>0&&ba.animate(ba.crisp(null,null,null,jc,kc));else ba=pa.rect(0,0,jc,kc,T.borderRadius,Na||0).attr({stroke:T.borderColor,"stroke-width":Na||0,fill:Ab||Jb}).add(Sa).shadow(T.shadow);
65
+ ba[pb.length?"show":"hide"]()}for(var P=["left","right","top","bottom"],ua,va=4;va--;){ua=P[va];if(Ba[ua]&&Ba[ua]!=="auto"){T[va<2?"align":"verticalAlign"]=ua;T[va<2?"x":"y"]=la(Ba[ua])*(va%2?-1:1)}}Sa.align(ca(T,{width:jc,height:kc}),true,Ia);qd||I()}var T=l.options.legend;if(T.enabled){var ta=T.layout==="horizontal",Za=T.symbolWidth,La=T.symbolPadding,pb,Ba=T.style,Fa=T.itemStyle,aa=T.itemHoverStyle,Wa=T.itemHiddenStyle,R=la(Ba.padding),O=20,F=18,D=4+R+Za+La,z,L,ma,Z=0,ba,Na=T.borderWidth,Ab=T.backgroundColor,
66
+ Sa,Gb,Qb=T.width,Rb=l.series,gc=T.reversed;qa();ra(l,"endResize",I);return{colorizeItem:u,destroyItem:function(P){var ua=P.checkbox;A(["legendItem","legendLine","legendSymbol"],function(va){P[va]&&P[va].destroy()});ua&&dd(P.checkbox)},renderLegend:qa}}};ib=function(l,u){return l>=0&&l<=db&&u>=0&&u<=eb};ue=function(){Ha(n,"selection",{resetSelection:true},Gd);n.toolbar.remove("zoom")};Gd=function(l){var u=Ra.lang,G=n.pointCount<100;n.resetZoomEnabled!==false&&n.toolbar.add("zoom",u.resetZoom,u.resetZoomTitle,
67
+ ue);!l||l.resetSelection?A(wb,function(I){I.options.zoomEnabled!==false&&I.setExtremes(null,null,false,G)}):A(l.xAxis.concat(l.yAxis),function(I){var da=I.axis;if(n.tracker[da.isXAxis?"zoomX":"zoomY"])da.setExtremes(I.min,I.max,false,G)});i()};Sc=function(){var l=a.legend,u=C(l.margin,10),G=l.x,I=l.y,da=l.align,qa=l.verticalAlign,T;Ld();if((n.title||n.subtitle)&&!M(s))if(T=ja(n.title&&!gb.floating&&!gb.verticalAlign&&gb.y||0,n.subtitle&&!$.floating&&!$.verticalAlign&&$.y||0))ea=ja(ea,T+C(gb.margin,
68
+ 15)+U);if(l.enabled&&!l.floating)if(da==="right")M(q)||(Xb=ja(Xb,jc-G+u+X));else if(da==="left")M(y)||(ga=ja(ga,jc+G+u+bb));else if(qa==="top")M(s)||(ea=ja(ea,kc+I+u+U));else if(qa==="bottom")M(r)||(tb=ja(tb,kc-I+u+Ua));if(n.extraBottomMargin)tb+=n.extraBottomMargin;if(n.extraTopMargin)ea+=n.extraTopMargin;Ic&&A(wb,function(ta){ta.getOffset()});M(y)||(ga+=rb[3]);M(s)||(ea+=rb[0]);M(r)||(tb+=rb[2]);M(q)||(Xb+=rb[1]);Md()};Kd=function(l,u,G){var I=n.title,da=n.subtitle;qd+=1;xc(G,n);sc=Ma;Wb=Va;if(M(l))n.chartWidth=
69
+ Va=N(l);if(M(u))n.chartHeight=Ma=N(u);Ja(sa,{width:Va+qb,height:Ma+qb});pa.setSize(Va,Ma,G);db=Va-ga-Xb;eb=Ma-ea-tb;$b=null;A(wb,function(qa){qa.isDirty=true;qa.setScale()});A(Ka,function(qa){qa.isDirty=true});n.isDirtyLegend=true;n.isDirtyBox=true;Sc();I&&I.align(null,null,Ia);da&&da.align(null,null,Ia);i(G);sc=null;Ha(n,"resize");setTimeout(function(){Ha(n,"endResize",null,function(){qd-=1})},cd&&cd.duration||500)};Md=function(){n.plotLeft=ga=N(ga);n.plotTop=ea=N(ea);n.plotWidth=db=N(Va-ga-Xb);
70
+ n.plotHeight=eb=N(Ma-ea-tb);n.plotSizeX=ya?eb:db;n.plotSizeY=ya?db:eb;Ia={x:bb,y:U,width:Va-bb-X,height:Ma-U-Ua};A(wb,function(l){l.setAxisSize()})};Ld=function(){ea=C(s,U);Xb=C(q,X);tb=C(r,Ua);ga=C(y,bb);rb=[0,0,0,0]};Id=function(){var l=o.borderWidth||0,u=o.backgroundColor,G=o.plotBackgroundColor,I=o.plotBackgroundImage,da,qa={x:ga,y:ea,width:db,height:eb};da=l+(o.shadow?8:0);if(l||u)if(uc)uc.animate(uc.crisp(null,null,null,Va-da,Ma-da));else uc=pa.rect(da/2,da/2,Va-da,Ma-da,o.borderRadius,l).attr({stroke:o.borderColor,
71
+ "stroke-width":l,fill:u||Jb}).add().shadow(o.shadow);if(G)if(Lc)Lc.animate(qa);else Lc=pa.rect(ga,ea,db,eb,0).attr({fill:G}).add().shadow(o.plotShadow);if(I)if(ic)ic.animate(qa);else ic=pa.image(I,ga,ea,db,eb).add();if(o.plotBorderWidth)if(V)V.animate(V.crisp(null,ga,ea,db,eb));else V=pa.rect(ga,ea,db,eb,0,o.plotBorderWidth).attr({stroke:o.plotBorderColor,"stroke-width":o.plotBorderWidth,zIndex:4}).add();n.isDirtyBox=false};ra(sb,"unload",v);o.reflow!==false&&ra(n,"load",t);if(x)for(Db in x)ra(n,
72
+ Db,x[Db]);n.options=a;n.series=Ka;n.xAxis=[];n.yAxis=[];n.addSeries=function(l,u,G){var I;if(l){xc(G,n);u=C(u,true);Ha(n,"addSeries",{options:l},function(){I=g(l);I.isDirty=true;n.isDirtyLegend=true;u&&n.redraw()})}return I};n.animation=C(o.animation,true);n.Axis=d;n.destroy=v;n.get=function(l){var u,G,I;for(u=0;u<wb.length;u++)if(wb[u].options.id===l)return wb[u];for(u=0;u<Ka.length;u++)if(Ka[u].options.id===l)return Ka[u];for(u=0;u<Ka.length;u++){I=Ka[u].points;for(G=0;G<I.length;G++)if(I[G].id===
73
+ l)return I[G]}return null};n.getSelectedPoints=function(){var l=[];A(Ka,function(u){l=l.concat(Nd(u.points,function(G){return G.selected}))});return l};n.getSelectedSeries=function(){return Nd(Ka,function(l){return l.selected})};n.hideLoading=function(){td(Eb,{opacity:0},{duration:a.loading.hideDuration,complete:function(){Ja(Eb,{display:Jb})}});wc=false};n.initSeries=g;n.isInsidePlot=ib;n.redraw=i;n.setSize=Kd;n.setTitle=k;n.showLoading=function(l){var u=a.loading;if(!Eb){Eb=mb(cc,{className:"highcharts-loading"},
74
+ ca(u.style,{left:ga+qb,top:ea+qb,width:db+qb,height:eb+qb,zIndex:10,display:Jb}),sa);vc=mb("span",null,u.labelStyle,Eb)}vc.innerHTML=l||a.lang.loading;if(!wc){Ja(Eb,{opacity:0,display:""});td(Eb,{opacity:u.style.opacity},{duration:u.showDuration});wc=true}};n.pointCount=0;n.counters=new ee;J()}function te(a){function b(V,n){var Ta={fill:bb.backgroundColor,stroke:bb.borderColor,"stroke-width":1};if(!sa){Ma[n]=f.g().css({cursor:"e-resize"}).attr({zIndex:3}).add();f.rect(-4.5,0,9,16,3,1).attr(Ta).add(Ma[n]);
75
+ f.path(["M",-1.5,4,"L",-1.5,12,"M",0.5,4,"L",0.5,12]).attr(Ta).add(Ma[n])}Ma[n].translate(Pa+$+parseInt(V,10),tb+Ia/2-8)}function d(V){if(!sa){ic[V]=f.g().add(Wb);f.rect(-0.5,-0.5,$+1,$+1,m.buttonBorderRadius,m.buttonBorderWidth).attr({stroke:m.buttonBorderColor,"stroke-width":m.buttonBorderWidth,fill:m.buttonBackgroundColor}).add(ic[V]);f.path(["M",$/2+(V?-1:1),$/2-3,"L",$/2+(V?-1:1),$/2+3,$/2+(V?2:-2),$/2]).attr({fill:m.buttonArrowColor}).add(ic[V])}V&&ic[V].attr({translateX:Xa-$})}function c(V,
76
+ n,Ta,Db){var ib=m.barBorderWidth;rb=tb+ga;Pa=a.plotLeft;Xa=a.plotWidth;j=Pa+$;Ta=C(Ta,q.translate(V));Db=C(Db,q.translate(n));if(sa&&q.getExtremes){V=a.xAxis[0].getExtremes();n=q.getExtremes();if(V.dataMin!==n.min||V.dataMax!==n.max)q.setExtremes(V.dataMin,V.dataMax)}r=parseInt(Ea(Ta,Db),10);y=parseInt(ja(Ta,Db),10);U=y-r;if(!sa){if(i){tc=f.rect().attr({fill:h.maskFill,zIndex:3}).add();hc=f.rect().attr({fill:h.maskFill,zIndex:3}).add();Va=f.path().attr({"stroke-width":gb,stroke:h.outlineColor,zIndex:3}).add()}if(t){Wb=
77
+ f.g().add();Ta=m.trackBorderWidth;sc=f.rect().attr({y:-Ta%2/2,fill:m.trackBackgroundColor,stroke:m.trackBorderColor,"stroke-width":Ta,r:m.trackBorderRadius||0,height:$}).add(Wb);uc=f.rect().attr({y:-ib%2/2,height:$,fill:m.barBackgroundColor,stroke:m.barBorderColor,"stroke-width":ib,rx:Xb,ry:Xb}).add(Wb);Lc=f.path().attr({stroke:m.rifleColor,"stroke-width":1}).add(Wb)}}if(i){tc.attr({x:j,y:tb,width:r,height:Ia});hc.attr({x:j+y,y:tb,width:Xa-y-2*$,height:Ia});Va.attr({d:["M",Pa,rb,"L",j+r-ga,rb,j+r-
78
+ ga,rb+ea,j+y+ga,rb+ea,j+y+ga,rb,Pa+Xa,rb]});b(r-ga,0);b(y+ga,1)}if(t){d(0);d(1);Wb.translate(Pa,N(rb+Ia));sc.attr({width:Xa});uc.attr({x:N($+r)+ib%2/2,width:U});ib=$+r+U/2-0.5;Lc.attr({d:[$a,ib-3,$/4,Ga,ib-3,2*$/3,$a,ib,$/4,Ga,ib,2*$/3,$a,ib+3,$/4,Ga,ib+3,2*$/3],visibility:U>12?Lb:Cb})}sa=true}function e(){ra(a.container,ve,function(V){V=a.tracker.normalizeMouseEvent(V);var n=V.chartX,Ta=V.chartY,Db=Hb?10:7;if(Ta>tb&&Ta<tb+Ia+$)if((Ta=!t||Ta<tb+Ia)&&na.abs(n-r-j)<Db){B=true;x=y}else if(Ta&&na.abs(n-
79
+ y-j)<Db){v=true;x=r}else if(n>j+r&&n<j+y){J=n;Ua=X.cursor;X.cursor="ew-resize";o=n-r}else if(n>Pa&&n<Pa+Xa){n=Ta?n-j-U/2:n<j?r-Ea(10,U):n>Pa+Xa-$?r+Ea(10,U):n<j+r?r-U:y;if(n<0)n=0;else if(n+U>Xa-2*$)n=Xa-U-2*$;a.xAxis[0].setExtremes(q.translate(n,true),q.translate(n+U,true),true,false)}V.preventDefault&&V.preventDefault()});ra(a.container,Ee,function(V){V=a.tracker.normalizeMouseEvent(V);V=V.chartX;if(V<j)V=j;else if(V>Pa+Xa-$)V=Pa+Xa-$;if(B){s=true;c(0,0,V-j,x)}else if(v){s=true;c(0,0,x,V-j)}else if(J){s=
80
+ true;if(V<o)V=o;else if(V>Xa+o-U-2*$)V=Xa+o-U-2*$;c(0,0,V-o,V-o+U)}});ra(document,Fe,function(){s&&a.xAxis[0].setExtremes(q.translate(r,true),q.translate(y,true),true,false);B=v=J=s=o=null;X.cursor=Ua})}var f=a.renderer,g=a.options,h=g.navigator,i=h.enabled,j,k,m=g.scrollbar,t=m.enabled,B,v,J,x,o,s,q,r,y,U,X=document.body.style,Ua,bb=h.handles,Ia=i?h.height:0,gb=h.outlineWidth,$=t?m.height:0,ea=Ia+$,Xb=m.barBorderRadius,tb=h.top||a.chartHeight-Ia-$-g.chart.spacingBottom,ga=gb/2,rb,Pa,Xa,sa;g=h.baseSeries;
81
+ var Sb=a.series[g]||typeof g==="string"&&a.get(g)||a.series[0],tc,hc,Va,Ma=[],Wb,sc,uc,Lc,ic=[];a.resetZoomEnabled=false;(function(){var V=a.xAxis.length,n=a.yAxis.length;a.extraBottomMargin=ea+h.margin;if(i){var Ta=Sb.options,Db,ib=Ta.data;Ta.data=null;Db=Y(Sb.options,h.series,{threshold:null,clip:false,enableMouseTracking:false,group:"nav",padXAxis:false,xAxis:V,yAxis:n,name:"Navigator",showInLegend:false});Ta.data=Db.data=ib;k=a.initSeries(Db);ra(Sb,"updatedData",function(){var Oa=Sb.xAxis.getExtremes(),
82
+ ac=Oa.max-Oa.min,Eb=Oa.max>=k.xData[k.xData.length-1],vc=Oa.min-ac<=k.xData[0];k.options.pointStart=Sb.xData[0];k.setData(Sb.options.data);if(Eb){Oa=Oa.dataMax;Sb.xAxis.setExtremes(Oa-ac,Oa)}else if(vc){Oa=Oa.dataMin;Sb.xAxis.setExtremes(Oa,Oa+ac)}else c(ja(Oa.min,Oa.dataMin),Ea(Oa.max,Oa.dataMax))});q=new a.Axis(Y(h.xAxis,{isX:true,type:"datetime",index:V,height:Ia,top:tb,offset:0,offsetLeft:$,offsetRight:-$,startOnTick:false,endOnTick:false,minPadding:0,maxPadding:0,zoomEnabled:false}));new a.Axis(Y(h.yAxis,
83
+ {alignTicks:false,height:Ia,top:tb,offset:0,index:n,zoomEnabled:false}))}else q={translate:function(Oa,ac){var Eb=Sb.xAxis.getExtremes(),vc=a.plotWidth-2*$,wc=Eb.dataMin;Eb=Eb.dataMax-wc;return ac?Oa*Eb/vc+wc:vc*(Oa-wc)/Eb}};e()})();return{render:c}}function se(a){function b(x,o,s){var q=a.xAxis[0],r=q&&q.getExtremes(),y,U=r&&r.dataMin,X=r&&r.dataMax,Ua,bb=q&&Ea(r.max,X);r=new Date(bb);y=o.type;o=o.count;var Ia,gb,$={millisecond:1,second:1E3,minute:6E4,hour:36E5,day:864E5,week:6048E5};if(!(U===null||
84
+ X===null)){if($[y]){Ia=$[y]*o;Ua=ja(bb-Ia,U)}else if(y==="month"){r.setMonth(r.getMonth()-o);Ua=ja(r.getTime(),U);Ia=2592E6*o}else if(y==="ytd"){r=new Date(0);y=new Date;gb=y.getFullYear();r.setFullYear(gb);String(gb)!==Gc("%Y",r)&&r.setFullYear(gb-1);Ua=gb=ja(U||0,r.getTime());y=y.getTime();bb=Ea(X||y,y)}else if(y==="year"){r.setFullYear(r.getFullYear()-o);Ua=ja(U,r.getTime());Ia=31536E6*o}else if(y==="all"&&q){Ua=U;bb=X}t[x]&&t[x].setState(2);if(q)setTimeout(function(){q.setExtremes(Ua,bb,C(s,1),
85
+ 0);m=x},1);else{a.options.xAxis=Y(a.options.xAxis,{range:Ia,min:gb});m=x}}}function d(x,o){var s=x.hasFocus?"%Y-%m-%d":"%b %e, %Y";if(o)x.HCTime=o;x.value=Gc(s,x.HCTime)}function c(x){var o=x==="min",s;mb("span",{innerHTML:h[o?"rangeSelectorFrom":"rangeSelectorTo"]},v.labelStyle,i);s=mb("input",{name:x,className:"highcharts-range-selector",type:"text"},ca({width:"80px",height:"16px",border:"1px solid silver",marginLeft:"5px",marginRight:o?"5px":"0",textAlign:"center"},v.inputStyle),i);s.onfocus=s.onblur=
86
+ function(q){q=q||window.event;s.hasFocus=q.type==="focus";d(s)};s.onchange=function(){var q=s.value,r=Date.parse(q),y=a.xAxis[0].getExtremes();if(isNaN(r)){r=q.split("-");r=Date.UTC(la(r[0]),la(r[1])-1,la(r[2]))}if(!isNaN(r)&&(o&&r>y.dataMin&&r<k.HCTime||!o&&r<y.dataMax&&r>j.HCTime))a.xAxis[0].setExtremes(o?r:y.min,o?y.max:r)};return s}var e=a.renderer,f,g=a.container,h=Ra.lang,i,j,k,m,t=[],B,v,J=[{type:"month",count:1,text:"1m"},{type:"month",count:3,text:"3m"},{type:"month",count:6,text:"6m"},{type:"ytd",
87
+ text:"YTD"},{type:"year",count:1,text:"1y"},{type:"all",text:"All"}];a.resetZoomEnabled=false;(function(){a.extraTopMargin=25;v=a.options.rangeSelector;B=v.buttons||J;m=v.selected;ra(g,ve,function(){j&&j.blur();k&&k.blur()});m!==ha&&B[m]&&b(m,B[m],false);ra(a,"load",function(){ra(a.xAxis[0],"setExtremes",function(){t[m]&&t[m].setState(0)})})})();return{render:function(x,o){var s=a.options.chart.style,q=v.buttonTheme,r=v.inputEnabled!==false,y=q&&q.states;if(!f){e.text(h.rangeSelectorZoom,a.plotLeft,
88
+ a.plotTop-10).css(v.labelStyle).add();A(B,function(U,X){t[X]=e.button(U.text,a.plotLeft+50+X*30,a.plotTop-25,function(){b(X,U);this.isActive=true},ca(q,{padding:1,r:0}),y&&y.hover,y&&y.select).attr({width:28,height:16}).css({textAlign:"center"}).add();m===X&&t[X].setState(2)});if(r){i=mb("div",null,{position:"relative",height:0,fontFamily:s.fontFamily,fontSize:s.fontSize},g.parentNode);i=mb("div",null,ca({position:"absolute",top:-a.chartHeight+a.plotTop-25+"px",right:a.chartWidth-a.plotLeft-a.plotWidth+
89
+ "px"},v.inputBoxStyle),i);j=c("min");k=c("max")}}if(r){d(j,x);d(k,o)}f=true}}}var Da=document,sb=window,na=Math,N=na.round,Kb=na.floor,ld=na.ceil,ja=na.max,Ea=na.min,nb=na.abs,Mb=na.cos,Vb=na.sin,lc=na.PI,we=lc*2/360,Mc=navigator.userAgent,Zc=/msie/i.test(Mc)&&!sb.opera,Vc=Da.documentMode===8,oe=/AppleWebKit/.test(Mc),re=/Firefox/.test(Mc),Uc=!!Da.createElementNS&&!!Da.createElementNS("http://www.w3.org/2000/svg","svg").createSVGRect,Tc,Hb=Da.documentElement.ontouchstart!==undefined,xe={},Jd=0,Ob=
90
+ 1,ed,Ra,Gc,cd,ud,ha,cc="div",Kc="absolute",qe="relative",Cb="hidden",Jc="highcharts-",Lb="visible",qb="px",Jb="none",$a="M",Ga="L",ye="rgba(192,192,192,"+(Uc?1.0E-6:0.0020)+")",Ib="",Tb="hover",Td="millisecond",Ud="second",Vd="minute",Wd="hour",Xd="day",Yd="week",Zd="month",$d="year",bd,wd,xd,zd,Oc,$c,ad,ae,be,yd,ce,de,S=sb.HighchartsAdapter,Fb=S||{},A=Fb.each,Nd=Fb.grep,Wc=Fb.map,Y=Fb.merge,ra=Fb.addEvent,Ub=Fb.removeEvent,Ha=Fb.fireEvent,td=Fb.animate,rd=Fb.stop,fb={};sb.Highcharts={};Gc=function(a,
91
+ b,d){function c(B,v){B=B.toString().replace(/^([0-9])$/,"0$1");if(v===3)B=B.toString().replace(/^([0-9]{2})$/,"0$1");return B}if(!M(b)||isNaN(b))return"Invalid date";a=C(a,"%Y-%m-%d %H:%M:%S");var e=new Date(b*Ob),f,g=e[xd](),h=e[zd](),i=e[Oc](),j=e[$c](),k=e[ad](),m=Ra.lang,t=m.weekdays;m=m.months;b={a:t[h].substr(0,3),A:t[h],d:c(i),e:i,b:m[j].substr(0,3),B:m[j],m:c(j+1),y:k.toString().substr(2,2),Y:k,H:c(g),I:c(g%12||12),l:g%12||12,M:c(e[wd]()),p:g<12?"AM":"PM",P:g<12?"am":"pm",S:c(e.getSeconds()),
92
+ L:c(b%1E3,3)};for(f in b)a=a.replace("%"+f,b[f]);return d?a.substr(0,1).toUpperCase()+a.substr(1):a};ee.prototype={wrapColor:function(a){if(this.color>=a)this.color=0},wrapSymbol:function(a){if(this.symbol>=a)this.symbol=0}};S&&S.init&&S.init();if(!S&&sb.jQuery){var Nb=jQuery;A=function(a,b){for(var d=0,c=a.length;d<c;d++)if(b.call(a[d],a[d],d,a)===false)return d};Nd=Nb.grep;Wc=function(a,b){for(var d=[],c=0,e=a.length;c<e;c++)d[c]=b.call(a[c],a[c],c,a);return d};Y=function(){var a=arguments;return Nb.extend(true,
93
+ null,a[0],a[1],a[2],a[3])};ra=function(a,b,d){Nb(a).bind(b,d)};Ub=function(a,b,d){var c=Da.removeEventListener?"removeEventListener":"detachEvent";if(Da[c]&&!a[c])a[c]=function(){};Nb(a).unbind(b,d)};Ha=function(a,b,d,c){var e=Nb.Event(b),f="detached"+b;ca(e,d);if(a[b]){a[f]=a[b];a[b]=null}Nb(a).trigger(e);if(a[f]){a[b]=a[f];a[f]=null}c&&!e.isDefaultPrevented()&&c(e)};td=function(a,b,d){var c=Nb(a);if(b.d){a.toD=b.d;b.d=1}c.stop();c.animate(b,d)};rd=function(a){Nb(a).stop()};Nb.extend(Nb.easing,{easeOutQuad:function(a,
94
+ b,d,c,e){return-c*(b/=e)*(b-2)+d}});var Ge=jQuery.fx.step._default,He=jQuery.fx.prototype.cur;Nb.fx.step._default=function(a){var b=a.elem;b.attr?b.attr(a.prop,a.now):Ge.apply(this,arguments)};Nb.fx.step.d=function(a){var b=a.elem;if(!a.started){var d=ud.init(b,b.d,b.toD);a.start=d[0];a.end=d[1];a.started=true}b.attr("d",ud.step(a.start,a.end,a.pos,b.toD))};Nb.fx.prototype.cur=function(){var a=this.elem;return a.attr?a.attr(this.prop):He.apply(this,arguments)}}ud={init:function(a,b,d){b=b||"";var c=
95
+ a.shift,e=b.indexOf("C")>-1,f=e?7:3,g;b=b.split(" ");d=[].concat(d);var h,i,j=function(k){for(g=k.length;g--;)k[g]===$a&&k.splice(g+1,0,k[g+1],k[g+2],k[g+1],k[g+2])};if(e){j(b);j(d)}if(a.isArea){h=b.splice(b.length-6,6);i=d.splice(d.length-6,6)}if(c===1)d=[].concat(d).splice(0,f).concat(d);a.shift=0;if(b.length)for(a=d.length;b.length<a;){c=[].concat(b).splice(b.length-f,f);if(e){c[f-6]=c[f-2];c[f-5]=c[f-1]}b=b.concat(c)}if(h){b=b.concat(h);d=d.concat(i)}return[b,d]},step:function(a,b,d,c){var e=
96
+ [],f=a.length;if(d===1)e=c;else if(f===b.length&&d<1)for(;f--;){c=parseFloat(a[f]);e[f]=isNaN(c)?a[f]:d*parseFloat(b[f]-c)+c}else e=b;return e}};S={enabled:true,align:"center",x:0,y:15,style:{color:"#666",fontSize:"11px",lineHeight:"14px"}};Ra={colors:["#4572A7","#AA4643","#89A54E","#80699B","#3D96AE","#DB843D","#92A8CD","#A47D7C","#B5CA92"],symbols:["circle","diamond","square","triangle","triangle-down"],lang:{loading:"Loading...",months:["January","February","March","April","May","June","July",
97
+ "August","September","October","November","December"],weekdays:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],decimalPoint:".",resetZoom:"Reset zoom",resetZoomTitle:"Reset zoom level 1:1",thousandsSep:","},global:{useUTC:true},chart:{borderColor:"#4572A7",borderRadius:5,defaultSeriesType:"line",ignoreHiddenSeries:true,spacingTop:10,spacingRight:10,spacingBottom:15,spacingLeft:10,style:{fontFamily:'"Lucida Grande", "Lucida Sans Unicode", Verdana, Arial, Helvetica, sans-serif',
98
+ fontSize:"12px"},backgroundColor:"#FFFFFF",plotBorderColor:"#C0C0C0"},title:{text:"Chart title",align:"center",y:15,style:{color:"#3E576F",fontSize:"16px"}},subtitle:{text:"",align:"center",y:30,style:{color:"#6D869F"}},plotOptions:{line:{allowPointSelect:false,showCheckbox:false,animation:{duration:1E3},events:{},lineWidth:2,shadow:true,marker:{enabled:true,lineWidth:0,radius:4,lineColor:"#FFFFFF",states:{hover:{},select:{fillColor:"#FFFFFF",lineColor:"#000000",lineWidth:2}}},point:{events:{}},dataLabels:Y(S,
99
+ {enabled:false,y:-6,formatter:function(){return this.y}}),cropThreshold:300,showInLegend:true,states:{hover:{marker:{}},select:{marker:{}}},stickyTracking:true}},labels:{style:{position:Kc,color:"#3E576F"}},legend:{enabled:true,align:"center",layout:"horizontal",labelFormatter:function(){return this.name},borderWidth:1,borderColor:"#909090",borderRadius:5,shadow:false,style:{padding:"5px"},itemStyle:{cursor:"pointer",color:"#3E576F"},itemHoverStyle:{cursor:"pointer",color:"#000000"},itemHiddenStyle:{color:"#C0C0C0"},
100
+ itemCheckboxStyle:{position:Kc,width:"13px",height:"13px"},symbolWidth:16,symbolPadding:5,verticalAlign:"bottom",x:0,y:0},loading:{hideDuration:100,labelStyle:{fontWeight:"bold",position:qe,top:"1em"},showDuration:100,style:{position:Kc,backgroundColor:"white",opacity:0.5,textAlign:"center"}},tooltip:{enabled:true,backgroundColor:"rgba(255, 255, 255, .85)",borderWidth:2,borderRadius:5,shadow:true,snap:Hb?25:10,style:{color:"#333333",fontSize:"12px",padding:"5px",whiteSpace:"nowrap"}},toolbar:{itemStyle:{color:"#4572A7",
101
+ cursor:"pointer"}},credits:{enabled:true,text:"Highstock Beta",href:"http://www.highcharts.com",position:{align:"right",x:-10,verticalAlign:"bottom",y:-5},style:{cursor:"pointer",color:"#909090",fontSize:"10px"}}};var md={dateTimeLabelFormats:Yb(Td,"%H:%M:%S.%L",Ud,"%H:%M:%S",Vd,"%H:%M",Wd,"%H:%M",Xd,"%e. %b",Yd,"%e. %b",Zd,"%b '%y",$d,"%Y"),endOnTick:false,gridLineColor:"#C0C0C0",labels:S,lineColor:"#C0D0E0",lineWidth:1,max:null,min:null,minPadding:0.01,maxPadding:0.01,minorGridLineColor:"#E0E0E0",
102
+ minorGridLineWidth:1,minorTickColor:"#A0A0A0",minorTickLength:2,minorTickPosition:"outside",startOfWeek:1,startOnTick:false,tickColor:"#C0D0E0",tickLength:5,tickmarkPlacement:"between",tickPixelInterval:100,tickPosition:"outside",tickWidth:1,title:{align:"middle",style:{color:"#6D869F",fontWeight:"bold"}},type:"linear"},Cd=Y(md,{endOnTick:true,gridLineWidth:1,tickPixelInterval:72,showLastLabel:true,labels:{align:"right",x:-8,y:3},lineWidth:0,maxPadding:0.05,minPadding:0.05,startOnTick:true,tickWidth:0,
103
+ title:{rotation:270,text:"Y-values"},stackLabels:{enabled:false,formatter:function(){return this.total},style:S.style}}),Be={labels:{align:"right",x:-8,y:null},title:{rotation:270}},Ae={labels:{align:"left",x:8,y:null},title:{rotation:90}},ne={labels:{align:"center",x:0,y:14},title:{rotation:0}},ze=Y(ne,{labels:{y:-5}}),Qa=Ra.plotOptions;S=Qa.line;Qa.spline=Y(S);Qa.scatter=Y(S,{lineWidth:0,states:{hover:{lineWidth:0}}});Qa.area=Y(S,{threshold:0});Qa.areaspline=Y(Qa.area);Qa.column=Y(S,{borderColor:"#FFFFFF",
104
+ borderWidth:1,borderRadius:0,groupPadding:0.2,marker:null,pointPadding:0.1,minPointLength:0,cropThreshold:50,padXAxis:true,states:{hover:{brightness:0.1,shadow:false},select:{color:"#C0C0C0",borderColor:"#000000",shadow:false}},dataLabels:{y:null,verticalAlign:null},threshold:0});Qa.bar=Y(Qa.column,{dataLabels:{align:"left",x:5,y:0}});Qa.pie=Y(S,{borderColor:"#FFFFFF",borderWidth:1,center:["50%","50%"],colorByPoint:true,dataLabels:{distance:30,enabled:true,formatter:function(){return this.point.name},
105
+ y:5},legendType:"point",marker:null,size:"75%",showInLegend:false,slicedOffset:10,states:{hover:{brightness:0.1,shadow:false}}});fe();var mc=function(a){var b=[],d;(function(c){if(d=/rgba\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]?(?:\.[0-9]+)?)\s*\)/.exec(c))b=[la(d[1]),la(d[2]),la(d[3]),parseFloat(d[4],10)];else if(d=/#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/.exec(c))b=[la(d[1],16),la(d[2],16),la(d[3],16),1]})(a);return{get:function(c){return b&&!isNaN(b[0])?c===
106
+ "rgb"?"rgb("+b[0]+","+b[1]+","+b[2]+")":c==="a"?b[3]:"rgba("+b.join(",")+")":a},brighten:function(c){if(Xc(c)&&c!==0){var e;for(e=0;e<3;e++){b[e]+=la(c*255);if(b[e]<0)b[e]=0;if(b[e]>255)b[e]=255}}return this},setOpacity:function(c){b[3]=c;return this}}};fd.prototype={init:function(a,b){this.element=Da.createElementNS("http://www.w3.org/2000/svg",b);this.renderer=a},animate:function(a,b,d){if(b=C(b,cd,true)){b=Y(b);if(d)b.complete=d;td(this,a,b)}else{this.attr(a);d&&d()}},attr:function(a,b){var d=
107
+ this,c,e,f,g,h,i=d.element,j=i.nodeName,k=d.renderer,m,t=d.shadows,B,v=d;if(nc(a)&&M(b)){c=a;a={};a[c]=b}if(nc(a)){c=a;if(j==="circle")c={x:"cx",y:"cy"}[c]||c;else if(c==="strokeWidth")c="stroke-width";v=Aa(i,c)||d[c]||0;if(c!=="d"&&c!=="visibility")v=parseFloat(v)}else for(c in a){m=false;e=a[c];Ha(d,"setAttr",{key:c,value:e},function(J){f=J.result;if(M(f)&&f!==false)e=f;if(c==="d"){if(e&&e.join)e=e.join(" ");if(/(NaN| {2}|^$)/.test(e))e="M 0 0";d.d=e}else if(c==="x"&&j==="text"){for(g=0;g<i.childNodes.length;g++){h=
108
+ i.childNodes[g];Aa(h,"x")===Aa(i,"x")&&Aa(h,"x",e)}if(d.rotation)Aa(i,"transform","rotate("+d.rotation+" "+e+" "+la(a.y||Aa(i,"y"))+")")}else if(c==="fill")e=k.color(e,i,c);else if(j==="circle"&&(c==="x"||c==="y"))c={x:"cx",y:"cy"}[c]||c;else if(j==="rect"&&c==="r"){Aa(i,{rx:e,ry:e});m=true}else if(c==="translateX"||c==="translateY"||c==="rotation"||c==="verticalAlign"){d[c]=e;d.updateTransform();m=true}else if(c==="stroke")e=k.color(e,i,c);else if(c==="dashstyle"){c="stroke-dasharray";e=e&&e.toLowerCase();
109
+ if(e==="solid")e=Jb;else if(e){e=e.replace("shortdashdotdot","3,1,1,1,1,1,").replace("shortdashdot","3,1,1,1").replace("shortdot","1,1,").replace("shortdash","3,1,").replace("longdash","8,3,").replace(/dot/g,"1,3,").replace("dash","4,3,").replace(/,$/,"").split(",");for(g=e.length;g--;)e[g]=la(e[g])*a["stroke-width"];e=e.join(",")}}else if(c==="isTracker")d[c]=e;else if(c==="width")e=la(e);else if(c==="align"){c="text-anchor";e={left:"start",center:"middle",right:"end"}[e]}if(c==="strokeWidth")c=
110
+ "stroke-width";if(oe&&c==="stroke-width"&&e===0)e=1.0E-6;if(d.symbolName&&/^(x|y|r|start|end|innerR)/.test(c)){if(!B){d.symbolAttr(a);B=true}m=true}if(t&&/^(width|height|visibility|x|y|d|transform)$/.test(c))for(g=t.length;g--;)Aa(t[g],c,e);if((c==="width"||c==="height")&&j==="rect"&&e<0)e=0;if(c==="text"){d.textStr=e;d.added&&k.buildText(d)}else m||Aa(i,c,e);J.callback&&J.callback()})}return v},symbolAttr:function(a){var b=this;A(["x","y","r","start","end","width","height","innerR","anchorX","anchorY"],
111
+ function(d){b[d]=C(a[d],b[d])});b.attr({d:b.renderer.symbols[b.symbolName](b.x,b.y,b.width,b.height,b)})},clip:function(a){return this.attr("clip-path","url("+this.renderer.url+"#"+a.id+")")},crisp:function(a,b,d,c,e){var f,g={},h={},i;a=a||this.strokeWidth||this.attr&&this.attr("stroke-width")||0;i=a%2/2;h.x=Kb(b||this.x||0)+i;h.y=Kb(d||this.y||0)+i;h.width=Kb((c||this.width||0)-2*i);h.height=Kb((e||this.height||0)-2*i);h.strokeWidth=a;for(f in h)if(this[f]!==h[f])this[f]=g[f]=h[f];return g},css:function(a){var b=
112
+ this.element;b=a&&a.width&&b.nodeName==="text";var d,c,e=function(f,g){return"-"+g.toLowerCase()};if(a&&a.color)a.fill=a.color;this.styles=a=ca(this.styles,a);if(Zc&&!Uc){b&&delete a.width;Ja(this.element,a)}else{for(d in a)c+=d.replace(/([A-Z])/g,e)+":"+a[d]+";";this.attr({style:c})}b&&this.added&&this.renderer.buildText(this);return this},on:function(a,b){var d=b;if(Hb&&a==="click"){a="touchstart";d=function(c){c.preventDefault();b()}}this.element["on"+a]=d;return this},translate:function(a,b){return this.attr({translateX:a,
113
+ translateY:b})},invert:function(){this.inverted=true;this.updateTransform();return this},updateTransform:function(){var a=this.translateX||0,b=this.translateY||0,d=this.inverted,c=this.rotation,e=this.shadows,f=[];if(d){a+=this.attr("width");b+=this.attr("height")}if(a||b)f.push("translate("+a+","+b+")");if(d)f.push("rotate(90) scale(-1,1)");else c&&f.push("rotate("+c+" "+this.x+" "+this.y+")");if(f.length){Aa(this.element,"transform",f.join(" "));e&&A(e,function(g){Aa(g,"transform","translate("+
114
+ (a+1)+","+(b+1)+")")})}},toFront:function(){var a=this.element;a.parentNode.appendChild(a);return this},align:function(a,b,d){if(a){this.alignOptions=a;this.alignByTranslate=b;d||this.renderer.alignedObjects.push(this)}else{a=this.alignOptions;b=this.alignByTranslate}d=C(d,this.renderer);var c=a.align,e=a.verticalAlign,f=(d.x||0)+(a.x||0),g=(d.y||0)+(a.y||0),h={};if(/^(right|center)$/.test(c))f+=(d.width-(a.width||0))/{right:1,center:2}[c];h[b?"translateX":"x"]=N(f);if(/^(bottom|middle)$/.test(e))g+=
115
+ (d.height-(a.height||0))/({bottom:1,middle:2}[e]||1);h[b?"translateY":"y"]=N(g);this[this.placed?"animate":"attr"](h);this.placed=true;this.alignAttr=h;return this},getBBox:function(){var a,b,d,c=this.rotation,e=c*we;try{a=ca({},this.element.getBBox())}catch(f){a={width:0,height:0}}b=a.width;d=a.height;if(c){a.width=nb(d*Vb(e))+nb(b*Mb(e));a.height=nb(d*Mb(e))+nb(b*Vb(e))}return a},show:function(){return this.attr({visibility:Lb})},hide:function(){return this.attr({visibility:Cb})},add:function(a){var b=
116
+ this.renderer,d=a||b,c=d.element||b.box,e=c.childNodes,f=this.element,g=Aa(f,"zIndex"),h;this.parentInverted=a&&a.inverted;this.textStr!==undefined&&b.buildText(this);if(g){d.handleZ=true;g=la(g)}if(d.handleZ)for(d=0;d<e.length;d++){a=e[d];b=Aa(a,"zIndex");if(a!==f&&(la(b)>g||!M(g)&&M(b))){c.insertBefore(f,a);h=true;break}}h||c.appendChild(f);this.added=true;Ha(this,"add");return this},destroy:function(){var a=this.element||{},b=this.shadows,d=this.box,c=a.parentNode,e;a.onclick=a.onmouseout=a.onmouseover=
117
+ a.onmousemove=null;rd(this);c&&c.removeChild(a);b&&A(b,function(f){(c=f.parentNode)&&c.removeChild(f)});d&&d.destroy();Yc(this.renderer.alignedObjects,this);for(e in this)delete this[e];return null},empty:function(){for(var a=this.element,b=a.childNodes,d=b.length;d--;)a.removeChild(b[d])},shadow:function(a,b){var d=[],c,e,f=this.element,g=this.parentInverted?"(-1,-1)":"(1,1)";if(a){for(c=1;c<=3;c++){e=f.cloneNode(0);Aa(e,{isShadow:"true",stroke:"rgb(0, 0, 0)","stroke-opacity":0.05*c,"stroke-width":7-
118
+ 2*c,transform:"translate"+g,fill:Jb});b?b.element.appendChild(e):f.parentNode.insertBefore(e,f);d.push(e)}this.shadows=d}return this}};var sd=function(){this.init.apply(this,arguments)};sd.prototype={Element:fd,init:function(a,b,d,c){var e=location,f;f=this.createElement("svg").attr({xmlns:"http://www.w3.org/2000/svg",version:"1.1"});a.appendChild(f.element);this.box=f.element;this.boxWrapper=f;this.alignedObjects=[];this.url=Zc?"":e.href.replace(/#.*?$/,"");this.defs=this.createElement("defs").add();
119
+ this.forExport=c;this.setSize(b,d,false)},createElement:function(a){var b=new this.Element;b.init(this,a);return b},buildText:function(a){for(var b=a.element,d=C(a.textStr,"").toString().replace(/<(b|strong)>/g,'<span style="font-weight:bold">').replace(/<(i|em)>/g,'<span style="font-style:italic">').replace(/<a/g,"<span").replace(/<\/(b|strong|i|em|a)>/g,"</span>").split(/<br.*?>/g),c=b.childNodes,e=/style="([^"]+)"/,f=/href="([^"]+)"/,g=Aa(b,"x"),h=a.styles,i=re&&h&&h.HcDirection==="rtl"&&!this.forExport&&
120
+ la(Mc.split("Firefox/")[1])<4,j,k=h&&la(h.width),m=h&&h.lineHeight,t,B=c.length;B--;)b.removeChild(c[B]);k&&!a.added&&this.box.appendChild(b);A(d,function(v,J){var x,o=0,s;v=v.replace(/<span/g,"|||<span").replace(/<\/span>/g,"</span>|||");x=v.split("|||");A(x,function(q){if(q!==""||x.length===1){var r={},y=Da.createElementNS("http://www.w3.org/2000/svg","tspan");e.test(q)&&Aa(y,"style",q.match(e)[1].replace(/(;| |^)color([ :])/,"$1fill$2"));if(f.test(q)){Aa(y,"onclick",'location.href="'+q.match(f)[1]+
121
+ '"');Ja(y,{cursor:"pointer"})}q=(q.replace(/<(.|\n)*?>/g,"")||" ").replace(/&lt;/g,"<").replace(/&gt;/g,">");if(i){j=[];for(B=q.length;B--;)j.push(q.charAt(B));q=j.join("")}y.appendChild(Da.createTextNode(q));if(o)r.dx=3;else r.x=g;if(!o){if(J){!Uc&&a.renderer.forExport&&Ja(y,{display:"block"});s=sb.getComputedStyle&&sb.getComputedStyle(t,null).getPropertyValue("line-height");if(!s||isNaN(s))s=m||t.offsetHeight||18;Aa(y,"dy",s)}t=y}Aa(y,r);b.appendChild(y);o++;if(k){q=q.replace(/-/g,"- ").split(" ");
122
+ for(var U,X=[];q.length||X.length;){U=b.getBBox().width;r=U>k;if(!r||q.length===1){q=X;X=[];if(q.length){y=Da.createElementNS("http://www.w3.org/2000/svg","tspan");Aa(y,{dy:m||16,x:g});b.appendChild(y);if(U>k)k=U}}else{y.removeChild(y.firstChild);X.unshift(q.pop())}q.length&&y.appendChild(Da.createTextNode(q.join(" ").replace(/- /g,"-")))}}}})})},button:function(a,b,d,c,e,f,g){var h=this.label(a,b,d),i=0,j,k,m,t,B;e=Y(Yb("stroke-width",1,"stroke","#999","fill",Yb("linearGradient",[0,0,0,14],"stops",
123
+ [[0,"#FFF"],[1,"#DDD"]]),"r",3,"padding",3,"style",Yb("color","black")),e);m=e.style;delete e.style;f=Y(e,Yb("stroke","#68A","fill",Yb("linearGradient",[0,0,0,14],"stops",[[0,"#FFF"],[1,"#ACF"]])),f);t=f.style;delete f.style;g=Y(e,Yb("stroke","#68A","fill",Yb("linearGradient",[0,0,0,14],"stops",[[0,"#9BD"],[1,"#CDF"]])),g);B=g.style;delete g.style;ra(h.element,"mouseenter",function(){h.attr(f).css(t)});ra(h.element,"mouseleave",function(){j=[e,f,g][i];k=[m,t,B][i];h.attr(j).css(k)});h.setState=function(v){if(i=
124
+ v)v===2&&h.attr(g).css(B);else h.attr(e).css(m)};return h.on("click",function(){c.call(h)}).attr(e).css(ca({cursor:"default"},m))},crispLine:function(a,b){if(a[1]===a[4])a[1]=a[4]=N(a[1])+b%2/2;if(a[2]===a[5])a[2]=a[5]=N(a[2])+b%2/2;return a},path:function(a){return this.createElement("path").attr({d:a,fill:Jb})},circle:function(a,b,d){a=bc(a)?a:{x:a,y:b,r:d};return this.createElement("circle").attr(a)},arc:function(a,b,d,c,e,f){if(bc(a)){b=a.y;d=a.r;c=a.innerR;e=a.start;f=a.end;a=a.x}return this.symbol("arc",
125
+ a||0,b||0,d||0,d||0,{innerR:c||0,start:e||0,end:f||0})},rect:function(a,b,d,c,e,f){if(bc(a)){b=a.y;d=a.width;c=a.height;e=a.r;f=a.strokeWidth;a=a.x}e=this.createElement("rect").attr({rx:e,ry:e,fill:Jb});return e.attr(e.crisp(f,a,b,ja(d,0),ja(c,0)))},setSize:function(a,b,d){var c=this.alignedObjects,e=c.length;this.width=a;this.height=b;for(this.boxWrapper[C(d,true)?"animate":"attr"]({width:a,height:b});e--;)c[e].align()},g:function(a){return this.createElement("g").attr(M(a)&&{"class":Jc+a})},image:function(a,
126
+ b,d,c,e){var f={preserveAspectRatio:Jb};arguments.length>1&&ca(f,{x:b,y:d,width:c,height:e});f=this.createElement("image").attr(f);f.element.setAttributeNS?f.element.setAttributeNS("http://www.w3.org/1999/xlink","href",a):f.element.setAttribute("hc-svg-href",a);return f},symbol:function(a,b,d,c,e,f){var g,h=this.symbols[a];h=h&&h(N(b),N(d),c,e,f);var i=/^url\((.*?)\)$/,j;if(h){g=this.path(h);ca(g,{symbolName:a,x:b,y:d,width:c,height:e});f&&ca(g,f)}else if(i.test(a)){var k=function(m,t){m.attr({width:t[0],
127
+ height:t[1]}).translate(-N(t[0]/2),-N(t[1]/2))};j=a.match(i)[1];a=xe[j];g=this.image(j).attr({x:b,y:d});if(a)k(g,a);else{g.attr({width:0,height:0});mb("img",{onload:function(){k(g,xe[j]=[this.width,this.height])},src:j})}}return g},symbols:{circle:function(a,b,d,c){var e=0.166*d;return[$a,a+d/2,b,"C",a+d+e,b,a+d+e,b+c,a+d/2,b+c,"C",a-e,b+c,a-e,b,a+d/2,b,"Z"]},square:function(a,b,d,c){return[$a,a,b,Ga,a+d,b,a+d,b+c,a,b+c,"Z"]},triangle:function(a,b,d,c){return[$a,a+d/2,b,Ga,a+d,b+c,a,b+c,"Z"]},"triangle-down":function(a,
128
+ b,d,c){return[$a,a,b,Ga,a+d,b,a+d/2,b+c,"Z"]},diamond:function(a,b,d,c){return[$a,a+d/2,b,Ga,a+d,b+c/2,a+d/2,b+c,a,b+c/2,"Z"]},arc:function(a,b,d,c,e){var f=e.start,g=e.end-1.0E-6;c=e.innerR;var h=Mb(f),i=Vb(f),j=Mb(g);g=Vb(g);e=e.end-f<lc?0:1;return[$a,a+d*h,b+d*i,"A",d,d,0,e,1,a+d*j,b+d*g,Ga,a+c*j,b+c*g,"A",c,c,0,e,0,a+c*h,b+c*i,"Z"]}},clipRect:function(a,b,d,c){var e=Jc+Jd++,f=this.createElement("clipPath").attr({id:e}).add(this.defs);a=this.rect(a,b,d,c,0).add(f);a.id=e;return a},color:function(a,
129
+ b,d){var c,e=/^rgba/;if(a&&a.linearGradient){var f=this;b=a.linearGradient;d=Jc+Jd++;var g,h,i;g=f.createElement("linearGradient").attr({id:d,gradientUnits:"userSpaceOnUse",x1:b[0],y1:b[1],x2:b[2],y2:b[3]}).add(f.defs);A(a.stops,function(j){if(e.test(j[1])){c=mc(j[1]);h=c.get("rgb");i=c.get("a")}else{h=j[1];i=1}f.createElement("stop").attr({offset:j[0],"stop-color":h,"stop-opacity":i}).add(g)});return"url("+this.url+"#"+d+")"}else if(e.test(a)){c=mc(a);Aa(b,d+"-opacity",c.get("a"));return c.get("rgb")}else return a},
130
+ text:function(a,b,d){var c=Ra.chart.style;b=N(C(b,0));d=N(C(d,0));a=this.createElement("text").attr({x:b,y:d,text:a}).css({fontFamily:c.fontFamily,fontSize:c.fontSize});a.x=b;a.y=d;return a},label:function(a,b,d,c,e,f){function g(){m=(v===undefined||J===undefined||j.styles.textAlign)&&j.getBBox(true);var s=(v||m.width)+2*B,q=(J||m.height)+2*B,r;x=N(s*{left:0,center:0.5,right:1}[t]);r=e!==undefined&&{anchorX:e-b+x,anchorY:f-d};if(!k){j.box=k=c?i.symbol(c,0,0,s,q,r):i.rect(0,0,s,q,0,o["stroke-width"]);
131
+ k.add()}k.attr(Y({width:s,height:q},r,o));o=null}function h(s,q){if(k)k.attr(s,q);else o[s]=q}var i=this,j=i.text(a),k,m,t="left",B=2,v,J,x,o={};ra(j,"add",function(){g();var s=k.element,q=j.element,r=Aa(q,"zIndex");M(r)&&Aa(s,"zIndex",r);q.parentNode.insertBefore(s,q);j.attr({x:b,y:d})});ra(j,"setAttr",function(s){var q=s.key,r=s.value,y;if(q==="width"){v=r;y=false}else if(q==="height"){J=r;y=false}else if(q==="padding"){B=r;y=false}else if(q==="align")t=r;else if(q==="visibility"||q==="zIndex")h(q,
132
+ r);else if(q==="stroke"||q==="stroke-width"||q==="fill"||q==="r"){h(q,r);y=false}else if(q==="x"){s=j.styles.textAlign;h("translateX",r-x);if(t==="left"&&M(v)&&(s==="center"||s==="right"))r+={center:0.5,right:1}[s]*(v-m.width);y=N(r+{left:1,center:0,right:-1}[t]*B)}else if(q==="y"){h("translateY",r);y=N(r+la(j.styles.fontSize||12)*1.2)}else if(q==="text")s.callback=g;if(y!==ha)return y});j.txtToFront=j.toFront;return ca(j,{shadow:function(s){k.shadow(s);return j},toFront:function(){k.toFront();j.txtToFront()}})}};
133
+ Tc=sd;if(!Uc){Fb=yb(fd,{init:function(a,b){var d=["<",b,' filled="f" stroked="f"'],c=["position: ",Kc,";"];if(b==="shape"||b===cc)c.push("left:0;top:0;width:10px;height:10px;");if(Vc)c.push("visibility: ",b===cc?Cb:Lb);d.push(' style="',c.join(""),'"/>');if(b){d=b===cc||b==="span"||b==="img"?d.join(""):a.prepVML(d);this.element=mb(d)}this.renderer=a},add:function(a){var b=this.renderer,d=this.element,c=b.box;c=a?a.element||a:c;a&&a.inverted&&b.invertChild(d,c);Vc&&c.gVis===Cb&&Ja(d,{visibility:Cb});
134
+ c.appendChild(d);this.added=true;this.alignOnAdd&&!this.deferUpdateTransform&&this.updateTransform();Ha(this,"add");return this},attr:function(a,b){var d=this,c,e,f,g,h=d.element||{},i=h.style,j=h.nodeName,k=d.renderer,m=d.symbolName,t,B,v=d.shadows,J,x=d;if(nc(a)&&M(b)){c=a;a={};a[c]=b}if(nc(a)){c=a;x=c==="strokeWidth"||c==="stroke-width"?d.strokeweight:d[c]}else for(c in a){e=a[c];J=false;Ha(d,"setAttr",{key:c,value:e},function(o){g=o.result;if(M(g)&&g!==false)e=g;if(m&&/^(x|y|r|start|end|width|height|innerR)/.test(c)){if(!B){d.symbolAttr(a);
135
+ B=true}J=true}else if(c==="d"){e=e||[];d.d=e.join(" ");f=e.length;for(var s=[];f--;)s[f]=Xc(e[f])?N(e[f]*10)-5:e[f]==="Z"?"x":e[f];e=s.join(" ")||"x";h.path=e;if(v)for(f=v.length;f--;)v[f].path=e;J=true}else if(c==="zIndex"||c==="visibility"){if(Vc&&c==="visibility"&&j==="DIV"){h.gVis=e;t=h.childNodes;for(f=t.length;f--;)Ja(t[f],{visibility:e});if(e===Lb)e=null}if(e)i[c]=e;J=true}else if(c==="width"||c==="height"){if(d.updateClipping){d[c]=e;d.updateClipping()}else i[c]=e;J=true}else if(/^(x|y)$/.test(c)){d[c]=
136
+ e;if(h.tagName==="SPAN")d.updateTransform();else i[{x:"left",y:"top"}[c]]=e}else if(c==="class")h.className=e;else if(c==="stroke"){e=k.color(e,h,c);c="strokecolor"}else if(c==="stroke-width"||c==="strokeWidth"){h.stroked=e?true:false;c="strokeweight";d[c]=e;if(Xc(e))e+=qb}else if(c==="dashstyle"){(h.getElementsByTagName("stroke")[0]||mb(k.prepVML(["<stroke/>"]),null,null,h))[c]=e||"solid";d.dashstyle=e;J=true}else if(c==="fill")if(j==="SPAN")i.color=e;else{h.filled=e!==Jb?true:false;e=k.color(e,
137
+ h,c);c="fillcolor"}else if(c==="translateX"||c==="translateY"||c==="rotation"||c==="align"){if(c==="align")c="textAlign";d[c]=e;d.updateTransform();J=true}else if(c==="text"){this.bBox=null;h.innerHTML=e;J=true}if(v&&c==="visibility")for(f=v.length;f--;)v[f].style[c]=e;if(!J)if(Vc)try{h[c]=e}catch(q){console.log([h.tagName,c,e].join(", "))}else Aa(h,c,e);o.callback&&o.callback()})}return x},clip:function(a){var b=this,d=a.members;d.push(b);b.destroyClip=function(){Yc(d,b)};return b.css(a.getCSS(b.inverted))},
138
+ css:function(a){var b=this.element;if(b=a&&b.tagName==="SPAN"&&a.width){delete a.width;this.textWidth=b;this.updateTransform()}this.styles=ca(this.styles,a);Ja(this.element,a);return this},destroy:function(){this.destroyClip&&this.destroyClip();fd.prototype.destroy.apply(this)},empty:function(){for(var a=this.element.childNodes,b=a.length,d;b--;){d=a[b];d.parentNode.removeChild(d)}},getBBox:function(a){var b=this.element,d=this.bBox;if(!d||a){if(b.nodeName==="text")b.style.position=Kc;d=this.bBox=
139
+ {x:b.offsetLeft,y:b.offsetTop,width:b.offsetWidth,height:b.offsetHeight}}return d},on:function(a,b){this.element["on"+a]=function(){var d=sb.event;d.target=d.srcElement;b(d)};return this},updateTransform:function(){if(this.added){var a=this,b=a.element,d=a.translateX||0,c=a.translateY||0,e=a.x||0,f=a.y||0,g=a.textAlign||"left",h={left:0,center:0.5,right:1}[g],i=g&&g!=="left",j=a.shadows;if(d||c){Ja(b,{marginLeft:d,marginTop:c});j&&A(j,function(q){Ja(q,{marginLeft:d+1,marginTop:c+1})})}a.inverted&&
140
+ A(b.childNodes,function(q){a.renderer.invertChild(q,b)});if(b.tagName==="SPAN"){var k,m;j=a.rotation;var t;k=0;var B=1,v=0,J;t=la(a.textWidth);var x=a.xCorr||0,o=a.yCorr||0,s=[j,g,b.innerHTML,a.textWidth].join(",");if(s!==a.cTT){if(M(j)){k=j*we;B=Mb(k);v=Vb(k);Ja(b,{filter:j?["progid:DXImageTransform.Microsoft.Matrix(M11=",B,", M12=",-v,", M21=",v,", M22=",B,", sizingMethod='auto expand')"].join(""):Jb})}k=C(a.elemWidth,b.offsetWidth);m=C(a.elemHeight,b.offsetHeight);if(k>t){Ja(b,{width:t+qb,display:"block",
141
+ whiteSpace:"normal"});k=t}t=N((la(b.style.fontSize)||12)*1.2);x=B<0&&-k;o=v<0&&-m;J=B*v<0;x+=v*t*(J?1-h:h);o-=B*t*(j?J?h:1-h:1);if(i){x-=k*h*(B<0?-1:1);if(j)o-=m*h*(v<0?-1:1);Ja(b,{textAlign:g})}a.xCorr=x;a.yCorr=o}Ja(b,{left:e+x,top:f+o});a.cTT=s}}else this.alignOnAdd=true},shadow:function(a,b){var d=[],c,e=this.element,f=this.renderer,g,h=e.style,i,j=e.path;if(j&&typeof j.value!=="string")j="x";if(a){for(c=1;c<=3;c++){i=['<shape isShadow="true" strokeweight="',7-2*c,'" filled="false" path="',j,
142
+ '" coordsize="100,100" style="',e.style.cssText,'" />'];g=mb(f.prepVML(i),null,{left:la(h.left)+1,top:la(h.top)+1});i=['<stroke color="black" opacity="',0.05*c,'"/>'];mb(f.prepVML(i),null,null,g);b?b.element.appendChild(g):e.parentNode.insertBefore(g,e);d.push(g)}this.shadows=d}return this}});S=function(){this.init.apply(this,arguments)};S.prototype=Y(sd.prototype,{Element:Fb,isIE8:Mc.indexOf("MSIE 8.0")>-1,init:function(a,b,d){var c;this.alignedObjects=[];c=this.createElement(cc);a.appendChild(c.element);
143
+ this.box=c.element;this.boxWrapper=c;this.setSize(b,d,false);if(!Da.namespaces.hcv){Da.namespaces.add("hcv","urn:schemas-microsoft-com:vml");Da.createStyleSheet().cssText="hcv\\:fill, hcv\\:path, hcv\\:shape, hcv\\:stroke{ behavior:url(#default#VML); display: inline-block; } "}},clipRect:function(a,b,d,c){var e=this.createElement();return ca(e,{members:[],left:a,top:b,width:d,height:c,getCSS:function(f){var g=this.top,h=this.left,i=h+this.width,j=g+this.height;g={clip:"rect("+N(f?h:g)+"px,"+N(f?j:
144
+ i)+"px,"+N(f?i:j)+"px,"+N(f?g:h)+"px)"};!f&&Vc&&ca(g,{width:i+qb,height:j+qb});return g},updateClipping:function(){A(e.members,function(f){f.css(e.getCSS(f.inverted))})}})},color:function(a,b,d){var c,e=/^rgba/;if(a&&a.linearGradient){var f,g,h=a.linearGradient,i,j,k,m;A(a.stops,function(t,B){if(e.test(t[1])){c=mc(t[1]);f=c.get("rgb");g=c.get("a")}else{f=t[1];g=1}if(B){k=f;m=g}else{i=f;j=g}});a=90-na.atan((h[3]-h[1])/(h[2]-h[0]))*180/lc;d=["<",d,' colors="0% ',i,",100% ",k,'" angle="',a,'" opacity="',
145
+ m,'" o:opacity2="',j,'" type="gradient" focus="100%" />'];mb(this.prepVML(d),null,null,b)}else if(e.test(a)&&b.tagName!=="IMG"){c=mc(a);d=["<",d,' opacity="',c.get("a"),'"/>'];mb(this.prepVML(d),null,null,b);return c.get("rgb")}else return a},prepVML:function(a){var b=this.isIE8;a=a.join("");if(b){a=a.replace("/>",' xmlns="urn:schemas-microsoft-com:vml" />');a=a.indexOf('style="')===-1?a.replace("/>",' style="display:inline-block;behavior:url(#default#VML);" />'):a.replace('style="','style="display:inline-block;behavior:url(#default#VML);')}else a=
146
+ a.replace("<","<hcv:");return a},text:function(a,b,d){var c=Ra.chart.style;return this.createElement("span").attr({text:a,x:N(b),y:N(d)}).css({whiteSpace:"nowrap",fontFamily:c.fontFamily,fontSize:c.fontSize})},path:function(a){return this.createElement("shape").attr({coordsize:"100 100",d:a})},circle:function(a,b,d){return this.symbol("circle").attr({x:a,y:b,r:d})},g:function(a){var b;if(a)b={className:Jc+a,"class":Jc+a};return this.createElement(cc).attr(b)},image:function(a,b,d,c,e){var f=this.createElement("img").attr({src:a});
147
+ arguments.length>1&&f.css({left:b,top:d,width:c,height:e});return f},rect:function(a,b,d,c,e,f){if(bc(a)){b=a.y;d=a.width;c=a.height;f=a.strokeWidth;a=a.x}var g=this.symbol("rect");g.r=e;return g.attr(g.crisp(f,a,b,ja(d,0),ja(c,0)))},invertChild:function(a,b){var d=b.style;Ja(a,{flip:"x",left:la(d.width)-10,top:la(d.height)-10,rotation:-90})},symbols:{arc:function(a,b,d,c,e){c=e.start;var f=e.end,g=Mb(c),h=Vb(c),i=Mb(f),j=Vb(f);e=e.innerR;var k=0.07/d,m=e&&0.1/e||0;if(f-c===0)return["x"];else if(2*
148
+ lc-f+c<k)i=-k;else if(f-c<m)i=Mb(c+m);return["wa",a-d,b-d,a+d,b+d,a+d*g,b+d*h,a+d*i,b+d*j,"at",a-e,b-e,a+e,b+e,a+e*i,b+e*j,a+e*g,b+e*h,"x","e"]},circle:function(a,b,d,c){return["wa",a,b,a+d,b+c,a+d,b+c/2,a+d,b+c/2,"e"]},rect:function(a,b,d,c,e){if(!M(e))return[];var f=a+d,g=b+c;d=Ea(e.r||0,d,c);return[$a,a+d,b,Ga,f-d,b,"wa",f-2*d,b,f,b+2*d,f-d,b,f,b+d,Ga,f,g-d,"wa",f-2*d,g-2*d,f,g,f,g-d,f-d,g,Ga,a+d,g,"wa",a,g-2*d,a+2*d,g,a+d,g,a,g-d,Ga,a,b+d,"wa",a,b,a+2*d,b+2*d,a,b+d,a+d,b,"x","e"]}}});Tc=S}gd.prototype.callbacks=
149
+ [];var Nc=function(){};Nc.prototype={init:function(a,b,d){var c=a.chart.counters;this.series=a;this.applyOptions(b,d);this.pointAttr={};if(a.options.colorByPoint){b=a.chart.options.colors;if(!this.options)this.options={};this.color=this.options.color=this.color||b[c.color++];c.wrapColor(b.length)}a.chart.pointCount++;return this},applyOptions:function(a,b){var d=this.series,c=typeof a;this.config=a;if(c==="number"||a===null)this.y=a;else if(typeof a[0]==="number"){this.x=a[0];this.y=a[1]}else if(c===
150
+ "object"&&typeof a.length!=="number"){ca(this,a);this.options=a}else if(typeof a[0]==="string"){this.name=a[0];this.y=a[1]}if(this.x===ha)this.x=b===ha?d.autoIncrement():b},destroy:function(){var a=this.series,b;a.chart.pointCount--;this===a.chart.hoverPoint&&this.onMouseOut();a.chart.hoverPoints=null;if(this.graphic){Ub(this);this.destroyElements()}this.legendItem&&this.series.chart.legend.destroyItem(this);for(b in this)this[b]=null},destroyElements:function(){for(var a=["graphic","tracker","dataLabel",
151
+ "group","connector"],b,d=5;d--;){b=a[d];if(this[b])this[b]=this[b].destroy()}},getLabelConfig:function(){return{x:this.category,y:this.y,series:this.series,point:this,percentage:this.percentage,total:this.total||this.stackTotal}},select:function(a,b){var d=this,c=d.series.chart;d.selected=a=C(a,!d.selected);d.firePointEvent(a?"select":"unselect");d.setState(a&&"select");b||A(c.getSelectedPoints(),function(e){if(e.selected&&e!==d){e.selected=false;e.setState(Ib);e.firePointEvent("unselect")}})},onMouseOver:function(){var a=
152
+ this.series,b=a.chart,d=b.tooltip,c=b.hoverPoint;c&&c!==this&&c.onMouseOut();this.firePointEvent("mouseOver");if(d&&(!d.shared||a.noSharedTooltip))d.refresh(this);this.setState(Tb);b.hoverPoint=this},onMouseOut:function(){this.firePointEvent("mouseOut");this.setState();this.series.chart.hoverPoint=null},tooltipFormatter:function(a){var b=this.series;return['<span style="color:'+b.color+'">',this.name||b.name,"</span>: ",!a?"<b>x = "+(this.name||this.x)+",</b> ":"","<b>",!a?"y = ":"",this.y,"</b>"].join("")},
153
+ update:function(a,b,d){var c=this,e=c.series,f=c.graphic,g,h=e.data,i=h.length,j=e.chart;b=C(b,true);c.firePointEvent("update",{options:a},function(){c.applyOptions(a);if(bc(a)){e.getAttribs();f&&f.attr(c.pointAttr[e.state])}for(g=0;g<i;g++)if(h[g]===c){e.xData[g]=c.x;e.yData[g]=c.y;e.options.data[g]=a;break}e.isDirty=true;e.isDirtyData=true;b&&j.redraw(d)})},remove:function(a,b){var d=this,c=d.series,e=c.chart,f,g=c.data,h=g.length;xc(b,e);a=C(a,true);d.firePointEvent("remove",null,function(){for(f=
154
+ 0;f<h;f++)if(g[f]===d){g.splice(f,1);c.options.data.splice(f,1);c.xData.splice(f,1);c.yData.splice(f,1);break}d.destroy();c.isDirty=true;c.isDirtyData=true;a&&e.redraw()})},firePointEvent:function(a,b,d){var c=this,e=this.series.options;if(e.point.events[a]||c.options&&c.options.events&&c.options.events[a])this.importEvents();if(a==="click"&&e.allowPointSelect)d=function(f){c.select(null,f.ctrlKey||f.metaKey||f.shiftKey)};Ha(this,a,b,d)},importEvents:function(){if(!this.hasImportedEvents){var a=Y(this.series.options.point,
155
+ this.options).events,b;this.events=a;for(b in a)ra(this,b,a[b]);this.hasImportedEvents=true}},setState:function(a){var b=this.series,d=b.options.states,c=Qa[b.type].marker&&b.options.marker,e=c&&!c.enabled,f=c&&c.states[a],g=f&&f.enabled===false,h=b.stateMarkerGraphic,i=b.chart,j=this.pointAttr;a=a||Ib;if(!(a===this.state||this.selected&&a!=="select"||d[a]&&d[a].enabled===false||a&&(g||e&&!f.enabled))){if(this.graphic)this.graphic.attr(j[a]);else{if(a){if(!h){d=c.radius;b.stateMarkerGraphic=h=i.renderer.symbol(b.symbol,
156
+ -d,-d,2*d,2*d).attr(j[a]).add(b.group)}h.translate(this.plotX,this.plotY)}if(h)h[a?"show":"hide"]()}this.state=a}}};var xb=function(){};xb.prototype={isCartesian:true,type:"line",pointClass:Nc,pointAttrToOptions:{stroke:"lineColor","stroke-width":"lineWidth",fill:"fillColor",r:"radius"},init:function(a,b){var d,c;c=a.series.length;this.chart=a;b=this.setOptions(b);ca(this,{index:c,options:b,name:b.name||"Series "+(c+1),state:Ib,pointAttr:{},visible:b.visible!==false,selected:b.selected===true});c=
157
+ b.events;for(d in c)ra(this,d,c[d]);if(c&&c.click||b.point&&b.point.events&&b.point.events.click||b.allowPointSelect)a.runTrackerClick=true;this.getColor();this.getSymbol();this.setData(b.data,false)},autoIncrement:function(){var a=this.options,b=this.xIncrement;b=C(b,a.pointStart,0);this.pointInterval=C(this.pointInterval,a.pointInterval,1);this.xIncrement=b+this.pointInterval;return b},getSegments:function(){var a=-1,b=[],d=this.points;A(d,function(c,e){if(c.y===null){e>a+1&&b.push(d.slice(a+1,
158
+ e));a=e}else e===d.length-1&&b.push(d.slice(a+1,e+1))});this.segments=b},setOptions:function(a){var b=this.chart.options.plotOptions,d=a.data;a.data=null;a=Y(b[this.type],b.series,a);a.data=d;return a},getColor:function(){var a=this.chart.options.colors,b=this.chart.counters;this.color=this.options.color||a[b.color++]||"#0000ff";b.wrapColor(a.length)},getSymbol:function(){var a=this.chart.options.symbols,b=this.chart.counters;this.symbol=this.options.marker.symbol||a[b.symbol++];b.wrapSymbol(a.length)},
159
+ addPoint:function(a,b,d,c){var e=this.data,f=this.graph,g=this.area,h=this.chart,i=this.xData,j=this.yData,k=f.shift||0,m=this.options.data;xc(c,h);if(f&&d)f.shift=k+1;if(g){g.shift=k+1;g.isArea=true}b=C(b,true);c={series:this};this.pointClass.prototype.applyOptions.apply(c,[a]);i.push(c.x);j.push(c.y);m.push(a);if(d)if(e[0])e[0].remove(false);else{e.shift();i.shift();j.shift();m.shift()}this.getAttribs();this.isDirtyData=this.isDirty=true;b&&h.redraw()},setData:function(a,b){var d=this.points,c=
160
+ this.options,e=this.initialColor,f=this.chart;this.xIncrement=null;if(M(e))f.counters.color=e;e=[];var g=[],h=a.length,i;if(h>(c.turboThreshold||1E3))if(Xc(a[0])){i=C(c.pointStart,0);var j=C(c.pointInterval,1);for(c=0;c<h;c++){e[c]=i;g[c]=a[c];i+=j}this.xIncrement=i}else{if(a[0].constructor===Array)if(this.valueCount===4)for(c=0;c<h;c++){i=a[c];e[c]=i[0];g[c]=i.slice(1,5)}else for(c=0;c<h;c++){i=a[c];e[c]=i[0];g[c]=i[1]}}else for(c=0;c<h;c++){i={series:this};this.pointClass.prototype.applyOptions.apply(i,
161
+ [a[c]]);e[c]=i.x;g[c]=i.y}this.data=null;this.options.data=a;this.xData=e;this.yData=g;for(c=d&&d.length||0;c--;)d[c].destroy();this.isDirty=this.isDirtyData=f.isDirtyBox=true;C(b,true)&&f.redraw(false)},remove:function(a,b){var d=this,c=d.chart;a=C(a,true);if(!d.isRemoving){d.isRemoving=true;Ha(d,"remove",null,function(){d.destroy();c.isDirtyLegend=c.isDirtyBox=true;a&&c.redraw(b)})}d.isRemoving=false},processData:function(){var a=this.xData,b=this.yData,d=a.length,c=0,e,f=this.options.cropThreshold;
162
+ if(!f||d>f){e=this.xAxis.getExtremes();f=e.min;var g=e.max,h=d-1;if(a[0]<f||a[h]>g){for(e=0;e<d;e++)if(a[e]>=f){c=ja(0,e-1);break}for(;e<d;e++)if(a[e]>g){h=e+1;break}a=a.slice(c,h);b=b.slice(c,h)}}this.cropStart=c;this.processedXData=a;this.processedYData=b},generatePoints:function(){var a=this.options.data,b=this.data,d,c=this.processedXData,e=this.processedYData,f=this.pointClass,g=c.length,h=this.cropStart||0,i,j=this.hasGroupedData,k=[],m;if(!b&&!j){b=[];b.length=a.length;b=this.data=b}for(m=
163
+ 0;m<g;m++){i=h+m;if(j)k[m]=(new f).init(this,[c[m]].concat(oc(e[m])));else{if(b[i])i=b[i];else b[i]=i=(new f).init(this,a[i],c[m]);k[m]=i}}if(b&&g!==(d=b.length))for(m=0;m<d;m++){if(m===h&&!j)m+=g;b[m]&&b[m].destroyElements()}this.data=b;this.points=k},translate:function(){this.processedXData||this.processData();this.generatePoints();var a=this.chart,b=this.options.stacking,d=this.xAxis,c=d.categories,e=this.yAxis,f=this.points,g=f.length,h=d.leastDistance,i;for(i=0;i<g;i++){var j=f[i],k=j.x,m=j.y,
164
+ t=j.low,B=e.stacks[(m<0?"-":"")+this.stackKey];j.plotX=this.xAxis.translate(k);if(b&&this.visible&&B&&B[k]){t=B[k];k=t.total;t.cum=t=t.cum-m;m=t+m;if(b==="percent"){t=k?t*100/k:0;m=k?m*100/k:0}j.percentage=k?j.y*100/k:0;j.stackTotal=k}if(M(t))j.yBottom=e.translate(t,0,1,0,1);if(m!==null)j.plotY=e.translate(m,0,1,0,1);j.clientX=a.inverted?a.plotHeight-j.plotX:j.plotX;j.category=c&&c[j.x]!==ha?c[j.x]:j.x;if(this.getDistance&&i){j=nb(j.plotX-f[i-1].plotX);h=h===ha?j:Ea(j,h)}}d.leastDistance=h;this.getSegments()},
165
+ setTooltipPoints:function(a){var b=this.chart,d=b.inverted,c=[];b=N((d?b.plotTop:b.plotLeft)+b.plotSizeX);var e,f;e=this.xAxis;var g,h,i=[];if(a)this.tooltipPoints=null;A(this.segments||this.points,function(j){c=c.concat(j)});if(e&&e.reversed)c=c.reverse();a=c.length;for(h=0;h<a;h++){g=c[h];e=c[h-1]?c[h-1]._high+1:0;for(f=g._high=c[h+1]?Kb((g.plotX+(c[h+1]?c[h+1].plotX:b))/2):b;e<=f;)i[d?b-e++:e++]=g}this.tooltipPoints=i},onMouseOver:function(){var a=this.chart,b=a.hoverSeries;if(!(!Hb&&a.mouseIsDown)){b&&
166
+ b!==this&&b.onMouseOut();this.options.events.mouseOver&&Ha(this,"mouseOver");this.setState(Tb);a.hoverSeries=this}},onMouseOut:function(){var a=this.options,b=this.chart,d=b.tooltip,c=b.hoverPoint;c&&c.onMouseOut();this&&a.events.mouseOut&&Ha(this,"mouseOut");d&&!a.stickyTracking&&d.hide();this.setState();b.hoverSeries=null},animate:function(a){var b=this.chart,d=this.clipRect,c=this.options.animation;if(c&&!bc(c))c={};if(a){if(!d.isAnimating){d.attr("width",0);d.isAnimating=true}}else{d.animate({width:b.plotSizeX},
167
+ c);this.animate=null}},drawPoints:function(){var a,b=this.points,d=this.chart,c,e,f,g,h,i;if(this.options.marker.enabled)for(f=b.length;f--;){g=b[f];c=g.plotX;e=g.plotY;i=g.graphic;if(e!==ha&&!isNaN(e)){a=g.pointAttr[g.selected?"select":Ib];h=a.r;if(i)i.animate({x:c-h,y:e-h,width:2*h,height:2*h});else g.graphic=d.renderer.symbol(C(g.marker&&g.marker.symbol,this.symbol),c-h,e-h,2*h,2*h).attr(a).add(this.group)}}},convertAttribs:function(a,b,d,c){var e=this.pointAttrToOptions,f,g,h={};a=a||{};b=b||
168
+ {};d=d||{};c=c||{};for(f in e){g=e[f];h[f]=C(a[g],b[f],d[f],c[f])}return h},getAttribs:function(){var a=this,b=Qa[a.type].marker?a.options.marker:a.options,d=b.states,c=d[Tb],e,f=a.color,g={stroke:f,fill:f},h=a.points,i=[],j,k=a.pointAttrToOptions,m;if(a.options.marker){c.radius=c.radius||b.radius+2;c.lineWidth=c.lineWidth||b.lineWidth+1}else c.color=c.color||mc(c.color||f).brighten(c.brightness).get();i[Ib]=a.convertAttribs(b,g);A([Tb,"select"],function(t){i[t]=a.convertAttribs(d[t],i[Ib])});a.pointAttr=
169
+ i;for(f=h.length;f--;){g=h[f];if((b=g.options&&g.options.marker||g.options)&&b.enabled===false)b.radius=0;e=false;if(g.options)for(m in k)if(M(b[k[m]]))e=true;if(e){j=[];d=b.states||{};e=d[Tb]=d[Tb]||{};if(!a.options.marker)e.color=mc(e.color||g.options.color).brighten(e.brightness||c.brightness).get();j[Ib]=a.convertAttribs(b,i[Ib]);j[Tb]=a.convertAttribs(d[Tb],i[Tb],j[Ib]);j.select=a.convertAttribs(d.select,i.select,j[Ib])}else j=i;g.pointAttr=j}},destroy:function(){var a=this,b=a.chart,d=/\/5[0-9\.]+ (Safari|Mobile)\//.test(Mc),
170
+ c,e,f=a.data||[],g,h;Ub(a);a.legendItem&&a.chart.legend.destroyItem(a);for(e=f.length;e--;)(g=f[e])&&g.destroy&&g.destroy();a.points=null;A(["area","graph","dataLabelsGroup","group","tracker"],function(i){if(a[i]){c=d&&i==="group"?"hide":"destroy";a[i][c]()}});if(b.hoverSeries===a)b.hoverSeries=null;Yc(b.series,a);for(h in a)delete a[h]},drawDataLabels:function(){if(this.options.dataLabels.enabled){var a=this,b,d,c=a.points,e=a.options.dataLabels,f,g=a.dataLabelsGroup,h=a.chart,i=h.inverted,j=a.type,
171
+ k;k=a.options.stacking;var m=j==="column"||j==="bar",t=e.verticalAlign===null,B=e.y===null;if(m)if(k){if(t)e=Y(e,{verticalAlign:"middle"});if(B)e=Y(e,{y:{top:14,middle:4,bottom:-6}[e.verticalAlign]})}else{if(t)e=Y(e,{verticalAlign:"top"});if(B)e=Y(e,{y:-6})}if(!g)g=a.dataLabelsGroup=h.renderer.g("data-labels").attr({visibility:a.visible?Lb:Cb,zIndex:6}).translate(h.plotLeft,h.plotTop).add();k=e.color;if(k==="auto")k=null;e.style.color=C(k,a.color);A(c,function(v){var J=v.barX,x=J&&J+v.barW/2||v.plotX||
172
+ -999,o=C(v.plotY,-999),s=v.dataLabel,q=e.align,r=B?v.y>0?-6:12:e.y;f=e.formatter.call(v.getLabelConfig());b=(i?h.plotWidth-o:x)+e.x;d=(i?h.plotHeight-x:o)+r;if(j==="column")b+={left:-1,right:1}[q]*v.barW/2||0;if(s){if(i&&!e.y)d=d+la(s.styles.lineHeight)*0.9-s.getBBox().height/2;s.attr({text:f}).animate({x:b,y:d})}else if(M(f)){s=v.dataLabel=h.renderer.text(f,b,d).attr({align:q,rotation:e.rotation,zIndex:1}).css(e.style).add(g);i&&!e.y&&s.attr({y:d+la(s.styles.lineHeight)*0.9-s.getBBox().height/2})}if(m&&
173
+ a.options.stacking){x=v.barY;o=v.barW;v=v.barH;s.align(e,null,{x:i?h.plotWidth-x-v:J,y:i?h.plotHeight-J-o:x,width:i?v:o,height:i?o:v})}})}},drawGraph:function(){var a=this,b=a.options,d=a.graph,c=[],e,f=a.area,g=a.group,h=b.lineColor||a.color,i=b.lineWidth,j=b.dashStyle,k,m=a.chart.renderer,t=a.yAxis.getThreshold(b.threshold),B=/^area/.test(a.type),v=[],J=[];A(a.segments,function(x){k=[];A(x,function(r,y){if(a.getPointSpline)k.push.apply(k,a.getPointSpline(x,r,y));else{k.push(y?Ga:$a);y&&b.step&&
174
+ k.push(r.plotX,x[y-1].plotY);k.push(r.plotX,r.plotY)}});if(x.length>1)c=c.concat(k);else v.push(x[0]);if(B){var o=[],s,q=k.length;for(s=0;s<q;s++)o.push(k[s]);q===3&&o.push(Ga,k[1],k[2]);if(b.stacking&&a.type!=="areaspline")for(s=x.length-1;s>=0;s--)o.push(x[s].plotX,x[s].yBottom);else o.push(Ga,x[x.length-1].plotX,t,Ga,x[0].plotX,t);J=J.concat(o)}});a.graphPath=c;a.singlePoints=v;if(B){e=C(b.fillColor,mc(a.color).setOpacity(b.fillOpacity||0.75).get());if(f)f.animate({d:J});else a.area=a.chart.renderer.path(J).attr({fill:e}).add(g)}if(d)d.animate({d:c});
175
+ else if(i){d={stroke:h,"stroke-width":i};if(j)d.dashstyle=j;a.graph=m.path(c).attr(d).add(g).shadow(b.shadow)}},render:function(){var a=this,b=a.chart,d,c,e=a.options,f=e.clip!==false,g=e.animation,h=g&&a.animate;g=h?g&&g.duration||500:0;var i=a.clipRect;c=b.renderer;if(!i){i=a.clipRect=!b.hasRendered&&b.clipRect?b.clipRect:c.clipRect(0,0,b.plotSizeX,b.plotSizeY);if(!b.clipRect)b.clipRect=i}if(!a.group){d=a.group=c.g("series");if(b.inverted){c=function(){d.attr({width:b.plotWidth,height:b.plotHeight}).invert()};
176
+ c();ra(b,"resize",c)}f&&d.clip(a.clipRect);d.attr({visibility:a.visible?Lb:Cb,zIndex:e.zIndex}).translate(a.xAxis.left,a.yAxis.top).add(b.seriesGroup)}a.drawDataLabels();h&&a.animate(true);a.getAttribs();a.drawGraph&&a.drawGraph();a.drawPoints();a.options.enableMouseTracking!==false&&a.drawTracker();h&&a.animate();setTimeout(function(){i.isAnimating=false;if((d=a.group)&&i!==b.clipRect&&i.renderer){if(f)d.clip(a.clipRect=b.clipRect);i.destroy()}},g);a.isDirty=a.isDirtyData=false},redraw:function(){var a=
177
+ this.chart,b=this.group;if(b){a.inverted&&b.attr({width:a.plotWidth,height:a.plotHeight});b.animate({translateX:this.xAxis.left,translateY:this.yAxis.top})}this.translate();this.setTooltipPoints(true);this.isDirtyData&&Ha(this,"updatedData");this.render()},setState:function(a){var b=this.options,d=this.graph,c=b.states;b=b.lineWidth;a=a||Ib;if(this.state!==a){this.state=a;if(!(c[a]&&c[a].enabled===false)){if(a)b=c[a].lineWidth||b+1;if(d&&!d.dashstyle)d.attr({"stroke-width":b},a?0:500)}}},setVisible:function(a,
178
+ b){var d=this.chart,c=this.legendItem,e=this.group,f=this.tracker,g=this.dataLabelsGroup,h,i=this.points,j=d.options.chart.ignoreHiddenSeries;h=this.visible;h=(this.visible=a=a===ha?!h:a)?"show":"hide";e&&e[h]();if(f)f[h]();else for(e=i.length;e--;){f=i[e];f.tracker&&f.tracker[h]()}g&&g[h]();c&&d.legend.colorizeItem(this,a);this.isDirty=true;this.options.stacking&&A(d.series,function(k){if(k.options.stacking&&k.visible)k.isDirty=true});if(j)d.isDirtyBox=true;b!==false&&d.redraw();Ha(this,h)},show:function(){this.setVisible(true)},
179
+ hide:function(){this.setVisible(false)},select:function(a){this.selected=a=a===ha?!this.selected:a;if(this.checkbox)this.checkbox.checked=a;Ha(this,a?"select":"unselect")},drawTracker:function(){var a=this,b=a.options,d=[].concat(a.graphPath),c=d.length,e=a.chart,f=e.options.tooltip.snap,g=a.tracker,h=b.cursor;h=h&&{cursor:h};var i=a.singlePoints,j;if(c)for(j=c+1;j--;){d[j]===$a&&d.splice(j+1,0,d[j+1]-f,d[j+2],Ga);if(j&&d[j]===$a||j===c)d.splice(j,0,Ga,d[j-2]+f,d[j-1])}for(j=0;j<i.length;j++){c=i[j];
180
+ d.push($a,c.plotX-f,c.plotY,Ga,c.plotX+f,c.plotY)}if(g)g.attr({d:d});else a.tracker=e.renderer.path(d).attr({isTracker:true,stroke:ye,fill:Jb,"stroke-width":b.lineWidth+2*f,visibility:a.visible?Lb:Cb,zIndex:1}).on(Hb?"touchstart":"mouseover",function(){e.hoverSeries!==a&&a.onMouseOver()}).on("mouseout",function(){b.stickyTracking||a.onMouseOut()}).css(h).add(e.trackerGroup)}};S=yb(xb);fb.line=S;S=yb(xb,{type:"area",useThreshold:true});fb.area=S;S=yb(xb,{type:"spline",getPointSpline:function(a,b,d){var c=
181
+ b.plotX,e=b.plotY,f=a[d-1],g=a[d+1],h,i,j,k;if(d&&d<a.length-1){a=f.plotY;j=g.plotX;g=g.plotY;var m;h=(1.5*c+f.plotX)/2.5;i=(1.5*e+a)/2.5;j=(1.5*c+j)/2.5;k=(1.5*e+g)/2.5;m=(k-i)*(j-c)/(j-h)+e-k;i+=m;k+=m;if(i>a&&i>e){i=ja(a,e);k=2*e-i}else if(i<a&&i<e){i=Ea(a,e);k=2*e-i}if(k>g&&k>e){k=ja(g,e);i=2*e-k}else if(k<g&&k<e){k=Ea(g,e);i=2*e-k}b.rightContX=j;b.rightContY=k}if(d){b=["C",f.rightContX||f.plotX,f.rightContY||f.plotY,h||c,i||e,c,e];f.rightContX=f.rightContY=null}else b=[$a,c,e];return b}});fb.spline=
182
+ S;S=yb(S,{type:"areaspline",useThreshold:true});fb.areaspline=S;var vd=yb(xb,{type:"column",useThreshold:true,getDistance:true,pointAttrToOptions:{stroke:"borderColor","stroke-width":"borderWidth",fill:"color",r:"borderRadius"},init:function(){xb.prototype.init.apply(this,arguments);var a=this,b=a.chart;b.hasRendered&&A(b.series,function(d){if(d.type===a.type)d.isDirty=true})},translate:function(){var a=this,b=a.chart,d=a.options,c=d.stacking,e=d.borderWidth,f=0,g=a.xAxis,h=g.reversed,i=g.categories,
183
+ j={},k,m;xb.prototype.translate.apply(a);A(b.series,function(r){if(r.type===a.type&&r.visible&&a.options.group===r.options.group){if(r.options.stacking){k=r.stackKey;if(j[k]===ha)j[k]=f++;m=j[k]}else m=f++;r.columnIndex=m}});var t=a.points;g=nb(C(g.leastDistance,b.plotSizeX/(i&&i.length||1)));i=g*d.groupPadding;var B=(g-2*i)/f,v=d.pointWidth,J=M(v)?(B-v)/2:B*d.pointPadding,x=ld(ja(C(v,B-2*J),1)),o=J+(i+((h?f-a.columnIndex:a.columnIndex)||0)*B-g/2)*(h?-1:1),s=a.yAxis.getThreshold(d.threshold),q=C(d.minPointLength,
184
+ 5);A(t,function(r){var y=r.plotY,U=r.yBottom||s,X=r.plotX+o,Ua=ld(Ea(y,U)),bb=ld(ja(y,U)-Ua),Ia=a.yAxis.stacks[(r.y<0?"-":"")+a.stackKey],gb;c&&a.visible&&Ia&&Ia[r.x]&&Ia[r.x].setOffset(o,x);if(nb(bb)<q){if(q){bb=q;Ua=nb(Ua-s)>q?U-q:s-(y<=s?q:0)}gb=Ua-3}ca(r,{barX:X,barY:Ua,barW:x,barH:bb});r.shapeType="rect";y=ca(b.renderer.Element.prototype.crisp.apply({},[e,X,Ua,x,bb]),{r:d.borderRadius});if(e%2){y.y-=1;y.height+=1}r.shapeArgs=y;r.trackerArgs=M(gb)&&Y(r.shapeArgs,{height:ja(6,bb+3),y:gb})})},getSymbol:function(){},
185
+ drawGraph:function(){},drawPoints:function(){var a=this,b=a.options,d=a.chart.renderer,c,e;A(a.points,function(f){var g=f.plotY;if(g!==ha&&!isNaN(g)&&f.y!==null){c=f.graphic;e=f.shapeArgs;if(c){rd(c);c.animate(e)}else f.graphic=c=d[f.shapeType](e).attr(f.pointAttr[f.selected?"select":Ib]).add(a.group).shadow(b.shadow)}})},drawTracker:function(){var a=this,b=a.chart,d=b.renderer,c,e,f=+new Date,g=a.options.cursor,h=g&&{cursor:g},i;A(a.points,function(j){e=j.tracker;c=j.trackerArgs||j.shapeArgs;delete c.strokeWidth;
186
+ if(j.y!==null)if(e)e.attr(c);else j.tracker=d[j.shapeType](c).attr({isTracker:f,fill:ye,visibility:a.visible?Lb:Cb,zIndex:1}).on(Hb?"touchstart":"mouseover",function(k){i=k.relatedTarget||k.fromElement;b.hoverSeries!==a&&Aa(i,"isTracker")!==f&&a.onMouseOver();j.onMouseOver()}).on("mouseout",function(k){if(!a.options.stickyTracking){i=k.relatedTarget||k.toElement;Aa(i,"isTracker")!==f&&a.onMouseOut()}}).css(h).add(j.group||b.trackerGroup)})},animate:function(a){var b=this,d=b.points;if(!a){A(d,function(c){var e=
187
+ c.graphic;c=c.shapeArgs;if(e){e.attr({height:0,y:b.yAxis.translate(0,0,1)});e.animate({height:c.height,y:c.y},b.options.animation)}});b.animate=null}},remove:function(){var a=this,b=a.chart;b.hasRendered&&A(b.series,function(d){if(d.type===a.type)d.isDirty=true});xb.prototype.remove.apply(a,arguments)}});fb.column=vd;S=yb(vd,{type:"bar",init:function(a){a.inverted=this.inverted=true;vd.prototype.init.apply(this,arguments)}});fb.bar=S;S=yb(xb,{type:"scatter",translate:function(){var a=this;xb.prototype.translate.apply(a);
188
+ A(a.points,function(b){b.shapeType="circle";b.shapeArgs={x:b.plotX,y:b.plotY,r:a.chart.options.tooltip.snap}})},drawTracker:function(){var a=this,b=a.options.cursor,d=b&&{cursor:b},c;A(a.points,function(e){(c=e.graphic)&&c.attr({isTracker:true}).on("mouseover",function(){a.onMouseOver();e.onMouseOver()}).on("mouseout",function(){a.options.stickyTracking||a.onMouseOut()}).css(d)})}});fb.scatter=S;S=yb(Nc,{init:function(){Nc.prototype.init.apply(this,arguments);var a=this,b;ca(a,{visible:a.visible!==
189
+ false,name:C(a.name,"Slice")});b=function(){a.slice()};ra(a,"select",b);ra(a,"unselect",b);return a},setVisible:function(a){var b=this.series.chart,d=this.tracker,c=this.dataLabel,e=this.connector,f;f=(this.visible=a=a===ha?!this.visible:a)?"show":"hide";this.group[f]();d&&d[f]();c&&c[f]();e&&e[f]();this.legendItem&&b.legend.colorizeItem(this,a)},slice:function(a,b,d){var c=this.series.chart,e=this.slicedTranslation;xc(d,c);C(b,true);a=this.sliced=M(a)?a:!this.sliced;a={translateX:a?e[0]:c.plotLeft,
190
+ translateY:a?e[1]:c.plotTop};this.group.animate(a);this.shadowGroup&&this.shadowGroup.animate(a)}});S=yb(xb,{type:"pie",isCartesian:false,pointClass:S,pointAttrToOptions:{stroke:"borderColor","stroke-width":"borderWidth",fill:"color"},getColor:function(){this.initialColor=this.chart.counters.color},animate:function(){var a=this;A(a.points,function(b){var d=b.graphic;b=b.shapeArgs;var c=-lc/2;if(d){d.attr({r:0,start:c,end:c});d.animate({r:b.r,start:b.start,end:b.end},a.options.animation)}});a.animate=
191
+ null},setData:function(){xb.prototype.setData.apply(this,arguments);this.processData();this.generatePoints()},translate:function(){var a=0,b=-0.25,d=this.options,c=d.slicedOffset,e=c+d.borderWidth,f=d.center.concat([d.size,d.innerSize||0]),g=this.chart,h=g.plotWidth,i=g.plotHeight,j,k,m,t=this.points,B=2*lc,v,J=Ea(h,i),x,o,s,q=d.dataLabels.distance;f=Wc(f,function(r,y){return(x=/%$/.test(r))?[h,i,J,J][y]*la(r)/100:r});this.getX=function(r,y){m=na.asin((r-f[1])/(f[2]/2+q));return f[0]+(y?-1:1)*Mb(m)*
192
+ (f[2]/2+q)};this.center=f;A(t,function(r){a+=r.y});A(t,function(r){v=a?r.y/a:0;j=N(b*B*1E3)/1E3;b+=v;k=N(b*B*1E3)/1E3;r.shapeType="arc";r.shapeArgs={x:f[0],y:f[1],r:f[2]/2,innerR:f[3]/2,start:j,end:k};m=(k+j)/2;r.slicedTranslation=Wc([Mb(m)*c+g.plotLeft,Vb(m)*c+g.plotTop],N);o=Mb(m)*f[2]/2;s=Vb(m)*f[2]/2;r.tooltipPos=[f[0]+o*0.7,f[1]+s*0.7];r.labelPos=[f[0]+o+Mb(m)*q,f[1]+s+Vb(m)*q,f[0]+o+Mb(m)*e,f[1]+s+Vb(m)*e,f[0]+o,f[1]+s,q<0?"center":m<B/4?"left":"right",m];r.percentage=v*100;r.total=a});this.setTooltipPoints()},
193
+ render:function(){this.getAttribs();this.drawPoints();this.options.enableMouseTracking!==false&&this.drawTracker();this.drawDataLabels();this.options.animation&&this.animate&&this.animate();this.isDirty=this.isDirtyData=false},drawPoints:function(){var a=this.chart,b=a.renderer,d,c,e,f=this.options.shadow,g,h;A(this.points,function(i){c=i.graphic;h=i.shapeArgs;e=i.group;g=i.shadowGroup;if(f&&!g)g=i.shadowGroup=b.g("shadow").attr({zIndex:4}).add();if(!e)e=i.group=b.g("point").attr({zIndex:5}).add();
194
+ d=i.sliced?i.slicedTranslation:[a.plotLeft,a.plotTop];e.translate(d[0],d[1]);g&&g.translate(d[0],d[1]);if(c)c.animate(h);else i.graphic=b.arc(h).attr(ca(i.pointAttr[Ib],{"stroke-linejoin":"round"})).add(i.group).shadow(f,g);i.visible===false&&i.setVisible(false)})},drawDataLabels:function(){var a=this.points,b,d=this.chart,c=this.options.dataLabels,e=C(c.connectorPadding,10),f=C(c.connectorWidth,1),g,h,i=c.distance>0,j,k,m=this.center[1],t=[[],[],[],[]],B,v,J,x,o,s,q,r=4,y;xb.prototype.drawDataLabels.apply(this);
195
+ A(a,function(U){var X=U.labelPos[7];t[X<0?0:X<lc/2?1:X<lc?2:3].push(U)});t[1].reverse();t[3].reverse();for(q=function(U,X){return U.y>X.y};r--;){a=0;b=[].concat(t[r]);b.sort(q);for(y=b.length;y--;)b[y].rank=y;for(x=0;x<2;x++){k=(s=r%3)?9999:-9999;o=s?-1:1;for(y=0;y<t[r].length;y++){b=t[r][y];if(g=b.dataLabel){h=b.labelPos;J=Lb;B=h[0];v=h[1];j||(j=g&&g.getBBox().height);if(i)if(x&&b.rank<a)J=Cb;else if(!s&&v<k+j||s&&v>k-j){v=k+o*j;B=this.getX(v,r>1);if(!s&&v+j>m||s&&v-j<m)if(x)J=Cb;else a++}if(b.visible===
196
+ false)J=Cb;if(J===Lb)k=v;if(x){g.attr({visibility:J,align:h[6]})[g.moved?"animate":"attr"]({x:B+c.x+({left:e,right:-e}[h[6]]||0),y:v+c.y});g.moved=true;if(i&&f){g=b.connector;h=[$a,B+(h[6]==="left"?5:-5),v,Ga,B,v,Ga,h[2],h[3],Ga,h[4],h[5]];if(g){g.animate({d:h});g.attr("visibility",J)}else b.connector=g=this.chart.renderer.path(h).attr({"stroke-width":f,stroke:c.connectorColor||"#606060",visibility:J,zIndex:3}).translate(d.plotLeft,d.plotTop).add()}}}}}}},drawTracker:vd.prototype.drawTracker,getSymbol:function(){}});
197
+ fb.pie=S;S=xb.prototype;var Ie=S.processData,Je=S.generatePoints,Ke=S.destroy;S.processData=function(){var a=this.options,b=a.dataGrouping;Ie.apply(this);if(!(!b||b.enabled===false)){var d,c=this.processedXData,e=this.processedYData,f=this.data;a=a.data;d=this.chart.plotSizeX;var g=b.groupPixelWidth,h=d/g,i=b.approximation,j=i==="average"||i==="sum",k=c.length,m=this.valueCount===4,t=this.groupedData,B=[],v=[];A(t||[],function(Ua,bb){if(Ua)t[bb]=Ua.destroy()});this.hasGroupedData=false;if(k>h){this.hasGroupedData=
198
+ true;this.points=null;h=c[0];var J=c[k-1];g=g*(J-h)/d;var x=Sd(g,h,J,null,b.units),o,s,q=ha,r=null,y=null,U=null,X=null;for(d=o=0;d<k;d++){for(;x[1]!==ha&&c[d]>=x[1];){if(i==="average"&&q!==ha&&q!==null)q/=o;o=x.shift();if(q!==ha||m){B.push(o);if(m){v.push([r,y,U,X]);r=y=U=X=null}else v.push(q)}q=ha;o=0}s=e[d];if(j&&!m)q=q===ha||q===null?s:q+s;else if(m){X=this.cropStart+d;X=f&&f[X]||this.pointClass.prototype.applyOptions.apply({},[a[X]]);if(r===null)r=X.open;y=y===null?X.high:ja(y,X.high);U=U===
199
+ null?X.low:Ea(U,X.low);X=X.close}else if(i==="open"&&q===ha)q=s;else if(i==="high")q=q===ha?s:ja(q,s);else if(i==="low")q=q===ha?s:Ea(q,s);else if(i==="close")q=s;o++}if(b.smoothed){d=B.length-1;for(B[d]=J;d--&&d;)B[d]+=g/2;B[0]=h}this.tooltipHeaderFormat=b.dateTimeLabelFormats[x.unit[0]];this.unit=x.unit}else{B=c;v=e;this.unit=this.tooltipHeaderFormat=null}this.processedXData=B;this.processedYData=v}};S.generatePoints=function(){Je.apply(this);this.groupedData=this.hasGroupedData?this.points:null};
200
+ S.destroy=function(){for(var a=this.groupedData||[],b=a.length;b--;)a[b]&&a[b].destroy();Ke.apply(this)};S={second:"%A, %b %e, %H:%M:%S",minute:"%A, %b %e, %H:%M",hour:"%A, %b %e, %H:%M",day:"%A, %b %e, %Y",week:"Week from %A, %b %e, %Y",month:"%B %Y",year:"%Y"};Qa.line.dataGrouping=Qa.spline.dataGrouping=Qa.area.dataGrouping=Qa.areaspline.dataGrouping={approximation:"average",groupPixelWidth:2,dateTimeLabelFormats:S,units:[["millisecond",[1,2,5,10,20,25,50,100,200,500]],["second",[1,2,5,10,15,30]],
201
+ ["minute",[1,2,5,10,15,30]],["hour",[1,2,3,4,6,8,12]],["day",[1]],["week",[1]],["month",[1,3,6]],["year",null]]};Qa.column.dataGrouping={approximation:"sum",groupPixelWidth:10,dateTimeLabelFormats:S};Qa.ohlc=Y(Qa.column,{lineWidth:1,dataGrouping:{groupPixelWidth:5},states:{hover:{lineWidth:3}}});S=yb(Nc,{applyOptions:function(a){var b=this.series,d=0;if(typeof a==="object"&&typeof a.length!=="number"){ca(this,a);this.options=a}else if(a.length){if(a.length===5){if(typeof a[0]==="string")this.name=
202
+ a[0];else if(typeof a[0]==="number")this.x=a[0];d++}this.open=a[d++];this.high=a[d++];this.low=a[d++];this.close=a[d++]}this.y=this.high;if(this.x===ha&&b)this.x=b.autoIncrement();return this},tooltipFormatter:function(){var a=this.series;return['<span style="color:'+a.color+';font-weight:bold">',this.name||a.name,"</span><br/> Open: ",this.open,"<br/>High: ",this.high,"<br/>Low: ",this.low,"<br/>Close: ",this.close,"<br/>"].join("")}});var Od=yb(fb.column,{type:"ohlc",valueCount:4,pointClass:S,useThreshold:false,
203
+ pointAttrToOptions:{stroke:"color","stroke-width":"lineWidth"},translate:function(){var a=this.yAxis;fb.column.prototype.translate.apply(this);A(this.points,function(b){if(b.open!==null)b.plotOpen=a.translate(b.open,0,1);if(b.close!==null)b.plotClose=a.translate(b.close,0,1)})},drawPoints:function(){var a=this,b=a.chart,d,c,e,f,g,h,i,j;A(a.points,function(k){if(k.plotY!==ha){i=k.graphic;d=k.pointAttr[k.selected?"selected":""];f=d["stroke-width"]%2/2;j=N(k.plotX)+f;g=N(k.barW/2);h=["M",j,N(k.yBottom),
204
+ "L",j,N(k.plotY)];if(k.open!==null){c=N(k.plotOpen)+f;h.push("M",j,c,"L",j-g,c)}if(k.close!==null){e=N(k.plotClose)+f;h.push("M",j,e,"L",j+g,e)}if(i)i.animate({d:h});else k.graphic=b.renderer.path(h).attr(d).add(a.group)}})},animate:null});fb.ohlc=Od;Qa.candlestick=Y(Qa.column,{lineColor:"black",lineWidth:1,upColor:"white",states:{hover:{lineWidth:2}}});S=yb(Od,{type:"candlestick",pointAttrToOptions:{fill:"color",stroke:"lineColor","stroke-width":"lineWidth"},getAttribs:function(){Od.prototype.getAttribs.apply(this,
205
+ arguments);var a=this.options,b=a.states;a=a.upColor;var d=Y(this.pointAttr);d[""].fill=a;d.hover.fill=b.hover.upColor||a;d.select.fill=b.select.upColor||a;A(this.points,function(c){if(c.open<c.close)c.pointAttr=d})},drawPoints:function(){var a=this,b=a.chart,d,c,e,f,g,h,i,j,k,m;A(a.points,function(t){j=t.graphic;if(t.plotY!==ha){d=t.pointAttr[t.selected?"selected":""];h=d["stroke-width"]%2/2;i=N(t.plotX)+h;c=N(t.plotOpen)+h;e=N(t.plotClose)+h;f=na.min(c,e);g=na.max(c,e);m=N(t.barW/2);k=["M",i-m,
206
+ g,"L",i-m,f,"L",i+m,f,"L",i+m,g,"L",i-m,g,"M",i,g,"L",i,N(t.yBottom),"M",i,f,"L",i,N(t.plotY),"Z"];if(j)j.animate({d:k});else t.graphic=b.renderer.path(k).attr(d).add(a.group)}})}});fb.candlestick=S;var Pd=Tc.prototype.symbols;Qa.flags=Y(Qa.column,{fillColor:"white",lineWidth:1,shape:"flag",stackDistance:7,states:{hover:{lineColor:"black",fillColor:"#FCFFC5"}},style:{fontSize:"11px",fontWeight:"bold",textAlign:"center"},y:-30});fb.flags=yb(fb.column,{type:"flags",noSharedTooltip:true,useThreshold:false,
207
+ init:xb.prototype.init,pointAttrToOptions:{fill:"fillColor",stroke:"color","stroke-width":"lineWidth",r:"radius"},translate:function(){fb.column.prototype.translate.apply(this);var a=this.chart,b=this.points,d=b.length-1,c,e,f,g=(c=this.options.onSeries)&&a.get(c),h,i;if(g){h=g.points;c=h.length;for(b.sort(function(j,k){return j.x-k.x});c--&&b[d];){e=b[d];i=h[c];if(i.x<=e.x){e.plotY=i.plotY;d--;c++;if(d<0)break}}}A(b,function(j,k){if(!g)j.plotY=a.plotHeight;if((f=b[k-1])&&f.plotX===j.plotX){if(f.stackIndex===
208
+ ha)f.stackIndex=0;j.stackIndex=f.stackIndex+1}})},drawPoints:function(){var a,b=this.points,d=this.chart.renderer,c,e,f=this.options,g=f.y,h=f.shape,i,j,k,m,t=f.lineWidth%2/2,B;for(j=b.length;j--;){k=b[j];c=k.plotX+t;a=k.stackIndex;e=k.plotY+g+t-(a!==ha&&a*f.stackDistance);if(isNaN(e))e=0;i=a?ha:k.plotX+t;B=a?ha:k.plotY;m=k.graphic;if(e!==ha){a=k.pointAttr[k.selected?"select":""];if(m)m.attr({x:c,y:e,r:a.r});else m=k.graphic=d.label(k.options.title||f.title||"A",c,e,h,i,B).css(Y(f.style,k.style)).attr(a).attr({align:h===
209
+ "flag"?"left":"center",width:f.width,height:f.height}).add(this.group);i=m.box;a=i.getBBox();k.shapeArgs=ca(a,{x:c-(h==="flag"?0:i.attr("width")/2),y:e})}}},drawTracker:function(){fb.column.prototype.drawTracker.apply(this);A(this.points,function(a){ra(a.tracker.element,"mouseover",function(){a.graphic.toFront()})})},tooltipFormatter:function(a){return a.point.text},animate:function(){}});Pd.flag=function(a,b,d,c,e){var f=e&&e.anchorX||a;e=e&&e.anchorY||b;return["M",f,e,"L",a,b+c,a,b,a+d,b,a+d,b+
210
+ c,a,b+c,"M",f,e,"Z"]};A(["circle","square"],function(a){Pd[a+"pin"]=function(b,d,c,e,f){var g=f&&f.anchorX;f=f&&f.anchorY;var h=Pd[a](b,d,c,e);g&&f&&h.push("M",b+c/2,d+e,"L",g,f);return h}});var ve=Hb?"touchstart":"mousedown",Ee=Hb?"touchmove":"mousemove",Fe=Hb?"touchend":"mouseup";S={linearGradient:[0,0,0,14],stops:[[0,"#FFF"],[1,"#CCC"]]};Fb=[].concat(Qa.line.dataGrouping.units);Fb[4][1]=[1,2,3,4];Fb[5][1]=[1,2,3];ca(Ra,{navigator:{handles:{backgroundColor:"#FFF",borderColor:"#666"},height:40,margin:10,
211
+ maskFill:"rgba(255, 255, 255, 0.75)",outlineColor:"#444",outlineWidth:1,series:{type:"areaspline",color:"#4572A7",fillOpacity:0.4,dataGrouping:{smoothed:true,units:Fb},lineWidth:1,marker:{enabled:false},shadow:false},xAxis:{tickWidth:0,lineWidth:0,gridLineWidth:1,tickPixelInterval:200,labels:{align:"left",x:3,y:-4}},yAxis:{gridLineWidth:0,startOnTick:false,endOnTick:false,minPadding:0.1,maxPadding:0.1,labels:{enabled:false},title:{text:null},tickWidth:0}},scrollbar:{height:Hb?20:14,barBackgroundColor:S,
212
+ barBorderRadius:2,barBorderWidth:1,barBorderColor:"#666",buttonArrowColor:"#666",buttonBackgroundColor:S,buttonBorderColor:"#666",buttonBorderRadius:2,buttonBorderWidth:1,rifleColor:"#666",trackBackgroundColor:{linearGradient:[0,0,0,10],stops:[[0,"#EEE"],[1,"#FFF"]]},trackBorderColor:"#CCC",trackBorderWidth:1}});ca(Ra,{rangeSelector:{}});Ra.lang=Y(Ra.lang,{rangeSelectorZoom:"Zoom",rangeSelectorFrom:"From:",rangeSelectorTo:"To:"});gd.prototype.callbacks.push(function(a){function b(){c=a.xAxis[0].getExtremes();
213
+ e.render(ja(c.min,c.dataMin),Ea(c.max,c.dataMax))}function d(){c=a.xAxis[0].getExtremes();f.render(c.min,c.max)}var c,e=a.scroller,f=a.rangeSelector;if(e){ra(a.xAxis[0],"setExtremes",function(g){e.render(g.min,g.max)});ra(a,"resize",b);b()}if(f){ra(a.xAxis[0],"setExtremes",function(g){f.render(g.min,g.max)});ra(a,"resize",d);d()}});Highcharts.StockChart=function(a,b){var d=a.series,c={marker:{enabled:false,states:{hover:{enabled:true,radius:5}}},shadow:false,states:{hover:{lineWidth:2}}};a.yAxis=
214
+ Wc(oc(a.yAxis||{}),function(e){return Y({labels:{align:"left",x:2,y:-2},showLastLabel:false,title:{text:null}},e)});a.series=null;a=Y({chart:{panning:true},navigator:{enabled:true},scrollbar:{enabled:true},rangeSelector:{enabled:true},title:{text:null},tooltip:{shared:true,crosshairs:true},legend:{enabled:false},xAxis:{title:{text:null},showLastLabel:true},plotOptions:{line:c,spline:c,area:c,areaspline:c,column:{shadow:false,borderWidth:0}}},a,{chart:{inverted:false},xAxis:{type:"datetime",categories:null}});
215
+ a.series=d;return new gd(a,b)};ca(Highcharts,{Chart:gd,dateFormat:Gc,pathAnim:ud,getOptions:function(){return Ra},numberFormat:Qd,Point:Nc,Color:mc,Renderer:Tc,seriesTypes:fb,setOptions:function(a){Ra=Y(Ra,a);fe();return Ra},Series:xb,addEvent:ra,removeEvent:Ub,createElement:mb,discardElement:dd,css:Ja,each:A,extend:ca,map:Wc,merge:Y,pick:C,splat:oc,extendClass:yb,version:"Highstock 1.0 Beta"})})();