/* Highcharts JS v7.0.3 (2019-02-06) Gantt series (c) 2016-2019 Lars A. V. Cabrera License: www.highcharts.com/license */ (function(B){"object"===typeof module&&module.exports?(B["default"]=B,module.exports=B):"function"===typeof define&&define.amd?define(function(){return B}):B("undefined"!==typeof Highcharts?Highcharts:void 0)})(function(B){(function(b){var k=b.addEvent,u=b.PlotLineOrBand,t=b.merge,r={currentDateIndicator:!0,color:"#ccd6eb",width:2,label:{format:"%a, %b %d %Y, %H:%M",formatter:void 0,rotation:0,style:{fontSize:"10px"}}};k(b.Axis,"afterSetOptions",function(){var b=this.options,q=b.currentDateIndicator; q&&("object"===typeof q?(q.label&&q.label.format&&(q.label.formatter=void 0),q=t(r,q)):q=t(r),q.value=new Date,b.plotLines||(b.plotLines=[]),b.plotLines.push(q))});k(u,"render",function(){var n=this.options,q,p;n.currentDateIndicator&&n.label&&(q=n.label.format,p=n.label.formatter,n.value=new Date,n.label.text="function"===typeof p?p(this):b.dateFormat(q,new Date),this.label&&this.label.attr({text:n.label.text}))})})(B);(function(b){var k=b.addEvent,u=b.dateFormat,t=b.defined,r=b.isArray,n=b.isNumber, q=function(a){return b.isObject(a,!0)},p=b.merge,m=b.pick,a=b.wrap,f=b.Axis,e=b.Tick,h={top:0,right:1,bottom:2,left:3,0:"top",1:"right",2:"bottom",3:"left"};f.prototype.isNavigatorAxis=function(){return/highcharts-navigator-[xy]axis/.test(this.options.className)};f.prototype.isOuterAxis=function(){var a=this,g=-1,c=!0;a.chart.axes.forEach(function(d,l){d.side!==a.side||d.isNavigatorAxis()||(d===a?g=l:0<=g&&l>g&&(c=!1))});return c};f.prototype.getMaxLabelDimensions=function(a,g){var c={width:0,height:0}; g.forEach(function(d){d=a[d];var g;q(d)&&(g=q(d.label)?d.label:{},d=g.getBBox?g.getBBox().height:0,g=n(g.textPxLength)?g.textPxLength:0,c.height=Math.max(d,c.height),c.width=Math.max(g,c.width))});return c};b.dateFormats={W:function(a){a=new Date(a);var g;a.setHours(0,0,0,0);a.setDate(a.getDate()-(a.getDay()||7));g=new Date(a.getFullYear(),0,1);return Math.ceil(((a-g)/864E5+1)/7)},E:function(a){return u("%a",a,!0).charAt(0)}};k(e,"afterGetLabelPosition",function(a){var g=this.label,c=this.axis,d= c.reversed,l=c.chart,v=c.options,f=v&&q(v.grid)?v.grid:{},v=c.options.labels,b=v.align,e=h[c.side],x=a.tickmarkOffset,m=c.tickPositions,p=this.pos-x,m=n(m[a.index+1])?m[a.index+1]-x:c.max+x,C=c.tickSize("tick",!0),x=r(C)?C[0]:0,C=C&&C[1]/2,D;!0===f.enabled&&("top"===e?(f=c.top+c.offset,D=f-x):"bottom"===e?(D=l.chartHeight-c.bottom+c.offset,f=D+x):(f=c.top+c.len-c.translate(d?m:p),D=c.top+c.len-c.translate(d?p:m)),"right"===e?(e=l.chartWidth-c.right+c.offset,d=e+x):"left"===e?(d=c.left+c.offset,e= d-x):(e=Math.round(c.left+c.translate(d?m:p))-C,d=Math.round(c.left+c.translate(d?p:m))-C),this.slotWidth=d-e,a.pos.x="left"===b?e:"right"===b?d:e+(d-e)/2,a.pos.y=D+(f-D)/2,l=l.renderer.fontMetrics(v.style.fontSize,g.element),g=g.getBBox().height,v.useHTML?a.pos.y+=l.b+-(g/2):(g=Math.round(g/l.h),a.pos.y+=(l.b-(l.h-l.f))/2+-((g-1)*l.h/2)),a.pos.x+=c.horiz&&v.x||0)});k(f,"afterTickSize",function(a){var g=this.maxLabelDimensions,c=this.options;!0===(c&&q(c.grid)?c.grid:{}).enabled&&(c=2*Math.abs(this.defaultLeftAxisOptions.labels.x), g=c+(this.horiz?g.height:g.width),r(a.tickSize)?a.tickSize[0]=g:a.tickSize=[g])});k(f,"afterGetTitlePosition",function(a){var g=this.options;if(!0===(g&&q(g.grid)?g.grid:{}).enabled){var c=this.axisTitle,d=c&&c.getBBox().width,l=this.horiz,v=this.left,f=this.top,e=this.width,b=this.height,x=g.title,g=this.opposite,p=this.offset,n=this.tickSize()||[0],C=x.x||0,D=x.y||0,z=m(x.margin,l?5:10),c=this.chart.renderer.fontMetrics(x.style&&x.style.fontSize,c).f,n=(l?f+b:v)+n[0]/2*(g?-1:1)*(l?1:-1)+(this.side=== h.bottom?c:0);a.titlePosition.x=l?v-d/2-z+C:n+(g?e:0)+p+C;a.titlePosition.y=l?n-(g?b:0)+(g?c:-c)/2+p+D:f-z+D}});a(f.prototype,"unsquish",function(a){var g=this.options;return!0===(g&&q(g.grid)?g.grid:{}).enabled&&this.categories?this.tickInterval:a.apply(this,Array.prototype.slice.call(arguments,1))});k(f,"afterSetOptions",function(a){var g=this.options;a=a.userOptions;var c,d=g&&q(g.grid)?g.grid:{};!0===d.enabled&&(c=p(!0,{className:"highcharts-grid-axis "+(a.className||""),dateTimeLabelFormats:{hour:{list:["%H:%M", "%H"]},day:{list:["%A, %e. %B","%a, %e. %b","%E"]},week:{list:["Week %W","W%W"]},month:{list:["%B","%b","%o"]}},grid:{borderWidth:1},labels:{padding:2,style:{fontSize:"13px"}},margin:0,title:{text:null,reserveSpace:!1,rotation:0},units:[["millisecond",[1,10,100]],["second",[1,10]],["minute",[1,5,15]],["hour",[1,6]],["day",[1]],["week",[1]],["month",[1]],["year",null]]},a),"xAxis"===this.coll&&(t(a.linkedTo)&&!t(a.tickPixelInterval)&&(c.tickPixelInterval=350),t(a.tickPixelInterval)||!t(a.linkedTo)|| t(a.tickPositioner)||t(a.tickInterval)||(c.tickPositioner=function(d,g){var a=this.linkedParent&&this.linkedParent.tickPositions&&this.linkedParent.tickPositions.info;if(a){var l,f,v,e,h=c.units;for(e=0;ee||le)&&!a.startOnTick&&(d[0]=e),(fh&&f-bl?c:l;h=h+1+a.descendants;x=Math.max(a.height+1,x);return a});a&&(a.start=t(a.start,d),a.end=t(a.end,l));k(p,{children:c,descendants:h,height:x});"function"===typeof g&&g(p,e);return p};return{getListOfParents:r,getNode:n,getTree:function(b,p){var m=b.map(function(a){return a.id});b=r(b,m);return n("",null,1,null,b,p)}}}(B),I=function(b){var k=b.extend,u=b.isArray,t=b.isObject,r=b.isNumber,n=b.merge,q=b.pick;return{getColor:function(p, m){var a=m.index,f=m.mapOptionsToLevel,e=m.parentColor,h=m.parentColorIndex,x=m.series,g=m.colors,c=m.siblings,d=x.points,l=x.chart.options.chart,v,w,y,k;if(p){d=d[p.i];p=f[p.level]||{};if(f=d&&p.colorByPoint)w=d.index%(g?g.length:l.colorCount),v=g&&g[w];if(!x.chart.styledMode){g=d&&d.options.color;l=p&&p.color;if(y=e)y=(y=p&&p.colorVariation)&&"brightness"===y.key?b.color(e).brighten(a/c*y.to).get():e;y=q(g,l,v,y,x.color)}k=q(d&&d.options.colorIndex,p&&p.colorIndex,w,h,m.colorIndex)}return{color:y, colorIndex:k}},getLevelOptions:function(b){var m=null,a,f,e,h;if(t(b))for(m={},e=r(b.from)?b.from:1,h=b.levels,f={},a=t(b.defaults)?b.defaults:{},u(h)&&(f=h.reduce(function(b,g){var c,d;t(g)&&r(g.level)&&(d=n({},g),c="boolean"===typeof d.levelIsConstant?d.levelIsConstant:a.levelIsConstant,delete d.levelIsConstant,delete d.level,g=g.level+(c?0:e-1),t(b[g])?k(b[g],d):b[g]=d);return b},{})),h=r(b.to)?b.to:1,b=0;b<=h;b++)m[b]=n({},a,t(f[b])?f[b]:{});return m},setTreeValues:function m(a,b){var e=b.before, f=b.idRoot,x=b.mapIdToNode[f],g=b.points[a.i],c=g&&g.options||{},d=0,l=[];k(a,{levelDynamic:a.level-(("boolean"===typeof b.levelIsConstant?b.levelIsConstant:1)?0:x.level),name:q(g&&g.name,""),visible:f===a.id||("boolean"===typeof b.visible?b.visible:!1)});"function"===typeof e&&(a=e(a,b));a.children.forEach(function(c,g){var e=k({},b);k(e,{index:g,siblings:a.children.length,visible:a.visible});c=m(c,e);l.push(c);c.visible&&(d+=c.val)});a.visible=0=e?(a-e)%f:f-(e-a)%f;return b.inclusive?a<=h:a=a)break;else if(h.isInBreak(d,a)){c-=a-d.from;break}return c}function e(a){var c,d;for(d=0;d=a);d++)c.tof;)k-=e;for(;ka.to||k>a.from&&ca.from&&ca.from&&c>a.to&&ck&&(k=a);e--;)f[e+1].x-f[e].x>k&&(a=(f[e].x+f[e+1].x)/2,f.splice(e+ 1,0,{isNull:!0,x:a}),this.options.stacking&&(a=h.stacks[this.stackKey][a]=new b.StackItem(h,h.options.stackLabels,!1,a,this.stack),a.total=0));return this.getGraphPath(f)}})(B);(function(b,k,u){var t=b.addEvent,r=function(a){return Array.prototype.slice.call(a,1)},n=b.defined,q=b.extend,p=b.find,m=b.fireEvent,a=u.getLevelOptions,f=b.merge,e=b.isNumber,h=function(a){return b.isObject(a,!0)},x=b.isString,g=b.pick,c=b.wrap;u=b.Axis;var d=b.Tick,l=function(a,d){var g,b;for(g in d)d.hasOwnProperty(g)&& (b=d[g],c(a,g,b))},v=function(a,c){var d=a.collapseStart;a=a.collapseEnd;a>=c&&(d-=.5);return{from:d,to:a,showPoints:!1}},w=function(a){return Object.keys(a.mapOfPosToGridNode).reduce(function(c,d){d=+d;a.min<=d&&a.max>=d&&!a.isInAnyBreak(d)&&c.push(d);return c},[])},y=function(a,c){var d=a.options.breaks||[],g=v(c,a.max);return d.some(function(a){return a.from===g.from&&a.to===g.to})},E=function(a,c){var d=a.options.breaks||[];a=v(c,a.max);d.push(a);return d},A=function(a,c){var d=a.options.breaks|| [],g=v(c,a.max);return d.reduce(function(a,c){c.to===g.to&&c.from===g.from||a.push(c);return a},[])},G=function(a,c){var d=a.labelIcon,e=!d,f=c.renderer,l=c.xy,h=c.options,v=h.width,z=h.height,k=l.x-v/2-h.padding,l=l.y-z/2,w=c.collapsed?90:180,y=c.show&&b.isNumber(l);e&&(a.labelIcon=d=f.path(f.symbols[h.type](h.x,h.y,v,z)).addClass("highcharts-label-icon").add(c.group));y||d.attr({y:-9999});f.styledMode||d.attr({"stroke-width":1,fill:g(c.color,"#666666")}).css({cursor:"pointer",stroke:h.lineColor, strokeWidth:h.lineWidth});d[e?"attr":"animate"]({translateX:k,translateY:l,rotation:w})},F=function(c){c.target.axes.filter(function(a){return"treegrid"===a.options.type}).forEach(function(c){var d=c.options&&c.options.labels,g;c.updateYNames();c.series.forEach(function(a){a.yData=a.options.data.map(function(a){return a.y})});c.mapOptionsToLevel=a({defaults:d,from:1,levels:d.levels,to:c.tree.height});g=b.addEvent(c,"foundExtremes",function(){c.collapsedNodes.forEach(function(a){a=E(c,a);c.setBreaks(a, !1)});g()})})},C=function(a,c,d){var g=[],b=[],e={},l={},f=-1,v="boolean"===typeof c?c:!1;a=k.getTree(a,{after:function(a){a=l[a.pos];var c=0,d=0;a.children.forEach(function(a){d+=a.descendants+1;c=Math.max(a.height+1,c)});a.descendants=d;a.height=c;a.collapsed&&b.push(a)},before:function(a){var c=h(a.data)?a.data:{},d=x(c.name)?c.name:"",b=e[a.parent],b=h(b)?l[b.pos]:null,k=function(a){return a.name===d},w;v&&h(b)&&(w=p(b.children,k))?(k=w.pos,w.nodes.push(a)):k=f++;l[k]||(l[k]=w={depth:b?b.depth+ 1:0,name:d,nodes:[a],children:[],pos:k},-1!==k&&g.push(d),h(b)&&b.children.push(w));x(a.id)&&(e[a.id]=a);!0===c.collapsed&&(w.collapsed=!0);a.pos=k}});l=function(a,c){var d=function(a,g,b){var e=g+(-1===g?0:c-1),l=(e-g)/2,f=g+l;a.nodes.forEach(function(a){var c=a.data;h(c)&&(c.y=g+c.seriesIndex,delete c.seriesIndex);a.pos=f});b[f]=a;a.pos=f;a.tickmarkOffset=l+.5;a.collapseStart=e+.5;a.children.forEach(function(a){d(a,e+1,b);e=a.collapseEnd-.5});a.collapseEnd=e+.5;return b};return d(a["-1"],-1,{})}(l, d);return{categories:g,mapOfIdToNode:e,mapOfPosToGridNode:l,collapsedNodes:b,tree:a}};l(u.prototype,{init:function(a,c,d){var g="treegrid"===d.type;g&&(t(c,"beforeRender",F),t(c,"beforeRedraw",F),d=f({grid:{enabled:!0},labels:{align:"left",levels:[{level:void 0},{level:1,style:{fontWeight:"bold"}}],symbol:{type:"triangle",x:-5,y:-5,height:10,width:10,padding:5}},uniqueNames:!1},d,{reversed:!0,grid:{columns:void 0}}));a.apply(this,[c,d]);g&&(this.hasNames=!0,this.options.showLastLabel=!0)},getMaxLabelDimensions:function(a){var c= this.options,d=c&&c.labels,c=d&&e(d.indentation)?c.labels.indentation:0,d=a.apply(this,r(arguments)),g;"treegrid"===this.options.type&&this.mapOfPosToGridNode&&(g=this.mapOfPosToGridNode[-1].height,d.width+=c*(g-1));return d},generateTick:function(a,c){var g=h(this.mapOptionsToLevel)?this.mapOptionsToLevel:{},b=this.ticks,e=b[c],l,f;"treegrid"===this.options.type?(f=this.mapOfPosToGridNode[c],(g=g[f.depth])&&(l={labels:g}),e?(e.parameters.category=f.name,e.options=l,e.addLabel()):b[c]=new d(this, c,null,void 0,{category:f.name,tickmarkOffset:f.tickmarkOffset,options:l})):a.apply(this,r(arguments))},setTickInterval:function(a){var c=this.options;"treegrid"===c.type?(this.min=g(this.userMin,c.min,this.dataMin),this.max=g(this.userMax,c.max,this.dataMax),m(this,"foundExtremes"),this.setAxisTranslation(!0),this.tickmarkOffset=.5,this.tickInterval=1,this.tickPositions=this.mapOfPosToGridNode?w(this):[]):a.apply(this,r(arguments))}});l(d.prototype,{getLabelPosition:function(a,c,d,b,l,f,v,k,w){var y= g(this.options&&this.options.labels,f);f=this.pos;var A=this.axis,J="treegrid"===A.options.type;a=a.apply(this,[c,d,b,l,y,v,k,w]);J&&(c=y&&h(y.symbol)?y.symbol:{},y=y&&e(y.indentation)?y.indentation:0,f=(f=(A=A.mapOfPosToGridNode)&&A[f])&&f.depth||1,a.x+=c.width+2*c.padding+(f-1)*y);return a},renderLabel:function(a){var c=this,d=c.pos,e=c.axis,f=c.label,l=e.mapOfPosToGridNode,v=e.options,k=g(c.options&&c.options.labels,v&&v.labels),w=k&&h(k.symbol)?k.symbol:{},A=(l=l&&l[d])&&l.depth,v="treegrid"=== v.type,p=!(!f||!f.element),m=-1>1,g=b-a[k].xMin,0g)f=k-1;else return k;return 0=b.x)f=a[e], f=b.x<=f.xMax&&b.x>=f.xMin&&b.y<=f.yMax&&b.y>=f.yMin;if(f)return e}return-1}function t(a){var b=[];if(a.length){b.push("M",a[0].start.x,a[0].start.y);for(var e=0;ep(c[d]-a[d+"Max"]);return f(c,d,a,d+(b?"Max":"Min"),b?1:-1)}var g=[],c,d=m(e.startDirectionX,p(b.x-a.x)>p(b.y-a.y))?"x":"y",l=e.chartObstacles,v=u(l,a);e=u(l,b);var w;-1a[d]===e[d]>w[d]&&(d="y"===d?"x":"y",b=a[d]h?n(k(z,g.x),z.length-1):0;z[f]&&(0h&&z[f].xMax>=b.x);){if(z[f].xMin<=g.x&&z[f].xMax>=b.x&&z[f].yMin<=e.y&&z[f].yMax>=l.y)return d?{y:a.y,x:a.x< c.x?z[f].xMin-1:z[f].xMax+1,obstacle:z[f]}:{x:a.x,y:a.y=e[h+"Max"];var e=a[h+"Min"]<=e[h+"Min"],w=a[h+"Max"]>=l[h+"Max"],l=a[h+"Min"]<=l[h+"Min"],y=p(a[h+"Min"]-c[h]),A=p(a[h+"Max"]-c[h]);d=10>p(y-A)?c[h]p(b.y-a.y)),l=d?"x":"y",v,w,y=[],E=!1,A=e.obstacleMetrics,G=n(a.x,b.x)-A.maxWidth-10,F=q(a.x,b.x)+A.maxWidth+10,C=n(a.y,b.y)-A.maxHeight-10,D=q(a.y,b.y)+A.maxHeight+10,z=e.chartObstacles;v=k(z,G);A=k(z,F);z=z.slice(v,A+1);-1<(A=u(z,b))&&(w=c(z[A],b,a),y.push({end:b,start:w}),b=w);for(;-1<(A=u(z,b));)v=0>b[l]-a[l],w={x:b.x,y:b.y},w[l]=z[A][v?l+"Max":l+"Min"]+(v?1:-1),y.push({end:b, start:w}),b=w;a=g(a,b,d);a=a.concat(y.reverse());return{path:t(a),obstacles:a}},{requiresObstacles:!0})}}(B);(function(b){b.SVGRenderer.prototype.symbols.arrow=function(b,u,t,r){return["M",b,u+r/2,"L",b+t,u,"L",b,u+r/2,"L",b+t,u+r]};b.SVGRenderer.prototype.symbols["arrow-half"]=function(k,u,t,r){return b.SVGRenderer.prototype.symbols.arrow(k,u,t/2,r)};b.SVGRenderer.prototype.symbols["triangle-left"]=function(b,u,t,r){return["M",b+t,u,"L",b,u+r/2,"L",b+t,u+r,"Z"]};b.SVGRenderer.prototype.symbols["arrow-filled"]= b.SVGRenderer.prototype.symbols["triangle-left"];b.SVGRenderer.prototype.symbols["triangle-left-half"]=function(k,u,t,r){return b.SVGRenderer.prototype.symbols["triangle-left"](k,u,t/2,r)};b.SVGRenderer.prototype.symbols["arrow-filled-half"]=b.SVGRenderer.prototype.symbols["triangle-left-half"]})(B);(function(b,k){function u(a){var c=a.shapeArgs;return c?{xMin:c.x,xMax:c.x+c.width,yMin:c.y,yMax:c.y+c.height}:(c=a.graphic&&a.graphic.getBBox())?{xMin:a.plotX-c.width/2,xMax:a.plotX+c.width/2,yMin:a.plotY- c.height/2,yMax:a.plotY+c.height/2}:null}function t(a){for(var c=a.length,b=0,e,f,k=[],p=function(a,c,d){d=h(d,10);var b=a.yMax+d>c.yMin-d&&a.yMin-dc.xMin-d&&a.xMin-dc.xMax?a.xMin-c.xMax:c.xMin-a.xMax:Infinity,f=e?a.yMin>c.yMax?a.yMin-c.yMax:c.yMin-a.yMax:Infinity;return e&&b?d?p(a,c,Math.floor(d/2)):Infinity:g(l,f)};bf&&k.push(f);k.push(80);return x(Math.floor(k.sort(function(a,c){return a-c})[Math.floor(k.length/ 10)]/2-1),1)}function r(a,d,b){this.init(a,d,b)}function n(a){this.init(a)}function q(a){if(a.options.pathfinder||a.series.reduce(function(a,c){c.options&&e(!0,c.options.connectors=c.options.connectors||{},c.options.pathfinder);return a||c.options&&c.options.pathfinder},!1))e(!0,a.options.connectors=a.options.connectors||{},a.options.pathfinder),b.error('WARNING: Pathfinder options have been renamed. Use "chart.connectors" or "series.connectors" instead.')}var p=b.defined,m=b.deg2rad,a=b.extend,f= b.addEvent,e=b.merge,h=b.pick,x=Math.max,g=Math.min;a(b.defaultOptions,{connectors:{type:"straight",lineWidth:1,marker:{enabled:!1,align:"center",verticalAlign:"middle",inside:!1,lineWidth:1},startMarker:{symbol:"diamond"},endMarker:{symbol:"arrow-filled"}}});r.prototype={init:function(a,d,b){this.fromPoint=a;this.toPoint=d;this.options=b;this.chart=a.series.chart;this.pathfinder=this.chart.pathfinder},renderPath:function(a,d,b){var c=this.chart,g=c.styledMode,e=c.pathfinder,l=!c.options.chart.forExport&& !1!==b,f=this.graphics&&this.graphics.path;e.group||(e.group=c.renderer.g().addClass("highcharts-pathfinder-group").attr({zIndex:-1}).add(c.seriesGroup));e.group.translate(c.plotLeft,c.plotTop);f&&f.renderer||(f=c.renderer.path().add(e.group),g||f.attr({opacity:0}));f.attr(d);a={d:a};g||(a.opacity=1);f[l?"animate":"attr"](a,b);this.graphics=this.graphics||{};this.graphics.path=f},addMarker:function(a,d,b){var c=this.fromPoint.series.chart,g=c.pathfinder,c=c.renderer,e="start"===a?this.fromPoint:this.toPoint, f=e.getPathfinderAnchorPoint(d),l,h;d.enabled&&(b="start"===a?{x:b[4],y:b[5]}:{x:b[b.length-5],y:b[b.length-4]},b=e.getRadiansToVector(b,f),f=e.getMarkerVector(b,d.radius,f),b=-b/m,d.width&&d.height?(l=d.width,h=d.height):l=h=2*d.radius,this.graphics=this.graphics||{},f={x:f.x-l/2,y:f.y-h/2,width:l,height:h,rotation:b,rotationOriginX:f.x,rotationOriginY:f.y},this.graphics[a]?this.graphics[a].animate(f):(this.graphics[a]=c.symbol(d.symbol).addClass("highcharts-point-connecting-path-"+a+"-marker").attr(f).add(g.group), c.styledMode||this.graphics[a].attr({fill:d.color||this.fromPoint.color,stroke:d.lineColor,"stroke-width":d.lineWidth,opacity:0}).animate({opacity:1},e.series.options.animation)))},getPath:function(a){var c=this.pathfinder,g=this.chart,f=c.algorithms[a.type],h=c.chartObstacles;if("function"!==typeof f)b.error('"'+a.type+'" is not a Pathfinder algorithm.');else return f.requiresObstacles&&!h&&(h=c.chartObstacles=c.getChartObstacles(a),g.options.connectors.algorithmMargin=a.algorithmMargin,c.chartObstacleMetrics= c.getObstacleMetrics(h)),f(this.fromPoint.getPathfinderAnchorPoint(a.startMarker),this.toPoint.getPathfinderAnchorPoint(a.endMarker),e({chartObstacles:h,lineObstacles:c.lineObstacles||[],obstacleMetrics:c.chartObstacleMetrics,hardBounds:{xMin:0,xMax:g.plotWidth,yMin:0,yMax:g.plotHeight},obstacleOptions:{margin:a.algorithmMargin},startDirectionX:c.getAlgorithmStartDirection(a.startMarker)},a))},render:function(){var a=this.fromPoint,b=a.series,f=b.chart,h=f.pathfinder,k=e(f.options.connectors,b.options.connectors, a.options.connectors,this.options),m={};f.styledMode||(m.stroke=k.lineColor||a.color,m["stroke-width"]=k.lineWidth,k.dashStyle&&(m.dashstyle=k.dashStyle));m.class="highcharts-point-connecting-path highcharts-color-"+a.colorIndex;k=e(m,k);p(k.marker.radius)||(k.marker.radius=g(x(Math.ceil((k.algorithmMargin||8)/2)-1,1),5));a=this.getPath(k);f=a.path;a.obstacles&&(h.lineObstacles=h.lineObstacles||[],h.lineObstacles=h.lineObstacles.concat(a.obstacles));this.renderPath(f,m,b.options.animation);this.addMarker("start", e(k.marker,k.startMarker),f);this.addMarker("end",e(k.marker,k.endMarker),f)},destroy:function(){this.graphics&&(b.objectEach(this.graphics,function(a){a.destroy()}),delete this.graphics)}};n.prototype={algorithms:k,init:function(a){this.chart=a;this.connections=[];f(a,"redraw",function(){this.pathfinder.update()})},update:function(a){var c=this.chart,g=this,e=g.connections;g.connections=[];c.series.forEach(function(a){a.visible&&a.points.forEach(function(a){var d,e=a.options&&a.options.connect&& b.splat(a.options.connect);a.visible&&!1!==a.isInside&&e&&e.forEach(function(e){d=c.get("string"===typeof e?e:e.to);d instanceof b.Point&&d.series.visible&&d.visible&&!1!==d.isInside&&g.connections.push(new r(a,d,"string"===typeof e?{}:e))})})});for(var f=0,h,k,p=e.length,m=g.connections.length;fMath.PI;)a-=c;c=Math.tan(a);a>-h&&a<=h?(t=-1,l=!0):a>h&&a<=Math.PI-h?t=-1:a>Math.PI-h||a<=-(Math.PI-h)?(r=-1,l=!0):r=-1;l?(p+=r*e,n+=t*e*c):(p+= f/(2*c)*r,n+=t*k);g.x!==m&&(p=g.x);g.y!==d&&(n=g.y);q.x=p+b*Math.cos(a);q.y=n-b*Math.sin(a);return q}});b.Chart.prototype.callbacks.push(function(a){!1!==a.options.connectors.enabled&&(q(a),this.pathfinder=new n(this),this.pathfinder.update(!0))})})(B,H);(function(b){var k=b.addEvent,u=b.defined,t=b.Color,r=b.seriesTypes.column,n=b.correctFloat,q=b.isNumber,p=b.isObject,m=b.merge,a=b.pick,f=b.seriesType,e=b.Axis,h=b.Point,x=b.Series;f("xrange","column",{colorByPoint:!0,dataLabels:{verticalAlign:"middle", inside:!0,formatter:function(){var a=this.point.partialFill;p(a)&&(a=a.amount);u(a)||(a=0);return n(100*a)+"%"}},tooltip:{headerFormat:'\x3cspan style\x3d"font-size: 10px"\x3e{point.x} - {point.x2}\x3c/span\x3e\x3cbr/\x3e',pointFormat:'\x3cspan style\x3d"color:{point.color}"\x3e\u25cf\x3c/span\x3e {series.name}: \x3cb\x3e{point.yCategory}\x3c/b\x3e\x3cbr/\x3e'},borderRadius:3,pointRange:0},{type:"xrange",parallelArrays:["x","x2","y"],requireSorting:!1,animate:b.seriesTypes.line.prototype.animate, cropShoulder:1,getExtremesFromAll:!0,autoIncrement:b.noop,getColumnMetrics:function(){function a(){b.series.forEach(function(a){var c=a.xAxis;a.xAxis=a.yAxis;a.yAxis=c})}var c,b=this.chart;a();c=r.prototype.getColumnMetrics.call(this);a();return c},cropData:function(a,c,b,e){c=x.prototype.cropData.call(this,this.x2Data,c,b,e);c.xData=a.slice(c.start,c.end);return c},translatePoint:function(b){var c=this.xAxis,d=this.yAxis,g=this.columnMetrics,e=this.options,f=e.minPointLength||0,h=b.plotX,k=a(b.x2, b.x+(b.len||0)),n=c.translate(k,0,0,0,1),k=Math.abs(n-h),r=this.chart.inverted,t=a(e.borderWidth,1)%2/2,x=g.offset,B=Math.round(g.width);f&&(f-=k,0>f&&(f=0),h-=f/2,n+=f/2);h=Math.max(h,-10);n=Math.min(Math.max(n,-10),c.len+10);u(b.options.pointWidth)&&(x-=(Math.ceil(b.options.pointWidth)-B)/2,B=Math.ceil(b.options.pointWidth));e.pointPlacement&&q(b.plotY)&&d.categories&&(b.plotY=d.translate(b.y,0,1,0,1,e.pointPlacement));b.shapeArgs={x:Math.floor(Math.min(h,n))+t,y:Math.floor(b.plotY+x)+t,width:Math.round(Math.abs(n- h)),height:B,r:this.options.borderRadius};e=b.shapeArgs.x;f=e+b.shapeArgs.width;0>e||f>c.len?(e=Math.min(c.len,Math.max(0,e)),f=Math.max(0,Math.min(f,c.len)),n=f-e,b.dlBox=m(b.shapeArgs,{x:e,width:f-e,centerX:n?n/2:null})):b.dlBox=null;r?(b.tooltipPos[1]+=k/2*(c.reversed?1:-1),b.tooltipPos[0]+=g.width/2,b.tooltipPos[1]=Math.max(Math.min(b.tooltipPos[1],c.len-1),0),b.tooltipPos[0]=Math.max(Math.min(b.tooltipPos[0],d.len-1),0)):(b.tooltipPos[0]+=k/2*(c.reversed?-1:1),b.tooltipPos[1]-=g.width/2,b.tooltipPos[0]= Math.max(Math.min(b.tooltipPos[0],c.len-1),0),b.tooltipPos[1]=Math.max(Math.min(b.tooltipPos[1],d.len-1),0));if(d=b.partialFill)p(d)&&(d=d.amount),q(d)||(d=0),c=b.shapeArgs,b.partShapeArgs={x:c.x,y:c.y,width:c.width,height:c.height,r:this.options.borderRadius},b.clipRectArgs={x:c.x,y:c.y,width:Math.max(Math.round(k*d+(b.plotX-h)),0),height:c.height}},translate:function(){r.prototype.translate.apply(this,arguments);this.points.forEach(function(a){this.translatePoint(a)},this)},drawPoint:function(a, c){var b=this.options,e=this.chart.renderer,g=a.graphic,f=a.shapeType,h=a.shapeArgs,k=a.partShapeArgs,n=a.clipRectArgs,q=a.partialFill,r=a.selected&&"select",u=b.stacking&&!b.borderRadius;if(a.isNull)g&&(a.graphic=g.destroy());else{if(g)a.graphicOriginal[c](m(h));else a.graphic=g=e.g("point").addClass(a.getClassName()).add(a.group||this.group),a.graphicOriginal=e[f](h).addClass(a.getClassName()).addClass("highcharts-partfill-original").add(g);k&&(a.graphicOverlay?(a.graphicOverlay[c](m(k)),a.clipRect.animate(m(n))): (a.clipRect=e.clipRect(n.x,n.y,n.width,n.height),a.graphicOverlay=e[f](k).addClass("highcharts-partfill-overlay").add(g).clip(a.clipRect)));this.chart.styledMode||(a.graphicOriginal.attr(this.pointAttribs(a,r)).shadow(b.shadow,null,u),k&&(p(q)||(q={}),p(b.partialFill)&&(q=m(q,b.partialFill)),c=q.fill||t(a.color||this.color).brighten(-.3).get(),a.graphicOverlay.attr(this.pointAttribs(a,r)).attr({fill:c}).shadow(b.shadow,null,u)))}},drawPoints:function(){var a=this,c=a.getAnimationVerb();a.points.forEach(function(b){a.drawPoint(b, c)})},getAnimationVerb:function(){return this.chart.pointCount<(this.options.animationLimit||250)?"animate":"attr"}},{applyOptions:function(){var a,c=h.prototype.applyOptions.apply(this,arguments),b=c.series;if(b.options.colorByPoint&&!c.options.color){a=b.options.colors||b.chart.options.colors;var e=c.y%(a?a.length:b.chart.options.chart.colorCount);a=a&&a[e];b.chart.styledMode||(c.color=a);c.options.colorIndex||(c.colorIndex=e)}return c},init:function(){h.prototype.init.apply(this,arguments);this.y|| (this.y=0);return this},setState:function(){h.prototype.setState.apply(this,arguments);this.series.drawPoint(this,this.series.getAnimationVerb())},getLabelConfig:function(){var a=h.prototype.getLabelConfig.call(this),b=this.series.yAxis.categories;a.x2=this.x2;a.yCategory=this.yCategory=b&&b[this.y];return a},tooltipDateKeys:["x","x2"],isValid:function(){return"number"===typeof this.x&&"number"===typeof this.x2}});k(e,"afterGetSeriesExtremes",function(){var b=this.series,c,d;this.isXAxis&&(c=a(this.dataMax, -Number.MAX_VALUE),b.forEach(function(a){a.x2Data&&a.x2Data.forEach(function(a){a>c&&(c=a,d=!0)})}),d&&(this.dataMax=c))})})(B);(function(b){var k=b.dateFormat,u=b.isObject,t=b.isNumber,r=b.merge,n=b.pick,q=b.seriesType,p=b.stop,m=b.seriesTypes.xrange;q("gantt","xrange",{grouping:!1,dataLabels:{enabled:!0,formatter:function(){var a=this.point.partialFill;u(a)&&(a=a.amount);if(t(a)&&0