13 lines
146 KiB
JavaScript
13 lines
146 KiB
JavaScript
/*
|
|
* Kendo UI v2015.3.1111 (http://www.telerik.com/kendo-ui)
|
|
* Copyright 2015 Telerik AD. All rights reserved.
|
|
*
|
|
* Kendo UI commercial licenses may be obtained at
|
|
* http://www.telerik.com/purchase/license-agreement/kendo-ui-complete
|
|
* If you do not own a commercial license, this file shall be governed by the trial license terms.
|
|
*/
|
|
!function(e,define){define(["./kendo.data.min","./kendo.userevents.min","./kendo.dataviz.core.min","./kendo.drawing.min","./kendo.dataviz.themes.min"],e)}(function(){return function(e,t){function n(){return this}function i(){this._defaults={}}function r(e,t,n,i){var r,o,a=(i.x-n.x)*(e.y-n.y)-(i.y-n.y)*(e.x-n.x),s=(i.y-n.y)*(t.x-e.x)-(i.x-n.x)*(t.y-e.y);return 0!==s&&(o=a/s,r=new Xt(e.x+o*(t.x-e.x),e.y+o*(t.y-e.y))),r}function o(e,t){var n,i,r,o=e.series,s=o.length,l=e.seriesDefaults,c=Bt({},e.seriesDefaults),u=t?Bt({},t.seriesDefaults):{},d=Bt({},u);for(a(c),a(d),n=0;s>n;n++)i=o[n].type||e.seriesDefaults.type,r=Bt({data:[]},d,u[i],{tooltip:e.tooltip},c,l[i]),o[n]._defaults=r,o[n]=Bt({},r,o[n])}function a(e){delete e.bar,delete e.column,delete e.rangeColumn,delete e.line,delete e.verticalLine,delete e.pie,delete e.donut,delete e.area,delete e.verticalArea,delete e.scatter,delete e.scatterLine,delete e.bubble,delete e.candlestick,delete e.ohlc,delete e.boxPlot,delete e.bullet,delete e.verticalBullet,delete e.polarArea,delete e.polarLine,delete e.radarArea,delete e.radarLine,delete e.waterfall}function s(e){var t,n,i,r,o=e.series,a=e.seriesColors||[];for(t=0;o.length>t;t++)n=o[t],i=a[t%a.length],n.color=n.color||i,r=n._defaults,r&&(r.color=r.color||i)}function l(e){var t;kt([Un,Gr,Zr,eo],function(){t=this+"Axes",e[t]&&(e[this+"Axis"]=e[t],delete e[t])})}function c(t,n){var i=(n||{}).axisDefaults||{};kt([Un,Gr,Zr,eo],function(){var n=this+"Axis",r=[].concat(t[n]),o=t.axisDefaults||{};r=e.map(r,function(e){var t=(e||{}).color,r=Bt({},i,i[n],o,o[n],{line:{color:t},labels:{color:t},title:{color:t}},e);return delete r[n],r}),t[n]=r.length>1?r:r[0]})}function u(e){var t,n=e.length,i=0;for(t=0;n>t;t++)i=Tt.max(i,e[t].data.length);return i}function d(e){return e*e}function h(e,t){if(null===t)return t;var n=zt(e,!0);return n(t)}function f(e,t){if(null===t)return t;var n="_date_"+e,i=t[n];return i||(i=p(zt(e,!0)(t)),t[n]=i),i}function p(e){var t,n;if(e instanceof Date)t=e;else if(typeof e===Er)t=Mt.parseDate(e)||new Date(e);else if(e)if(xt(e))for(t=[],n=0;e.length>n;n++)t.push(p(e[n]));else t=new Date(e);return t}function g(e){return xt(e)?St(e,g):e?p(e).getTime():t}function m(e,t,n,i){var r,o=e;return e&&(e=p(e),r=e.getHours(),n===to?(o=new Date(e.getFullYear()+t,0,1),Mt.date.adjustDST(o,0)):n===qi?(o=new Date(e.getFullYear(),e.getMonth()+t,1),Mt.date.adjustDST(o,r)):n===Xr?(o=m(v(e,i),7*t,ni),Mt.date.adjustDST(o,r)):n===ni?(o=new Date(e.getFullYear(),e.getMonth(),e.getDate()+t),Mt.date.adjustDST(o,r)):n===Ti?(o=new Date(e.getFullYear(),e.getMonth(),e.getDate(),e.getHours()+t),t>0&&T(e,o)&&(o=m(e,t+1,n,i))):n===ji?(o=new Date(e.getTime()+t*Rr),o.getSeconds()>0&&o.setSeconds(0)):n===_r&&(o=new Date(e.getTime()+t*Ir)),o.getMilliseconds()>0&&o.setMilliseconds(0)),o}function v(e,t){var n=e.getDay(),i=0;if(!isNaN(n))for(t=t||0;n!==t;)0===n?n=6:n--,i++;return y(e,-i*Pr)}function _(e,t,n){return e=p(e),m(e,0,t,n)}function b(e,t,n){return e=p(e),e&&_(e,t,n).getTime()===e.getTime()?e:m(e,1,t,n)}function w(e,t){var n=e.getTime()-t,i=e.getTimezoneOffset()-t.getTimezoneOffset();return n-i*Rr}function y(e,t){var n=e.getTimezoneOffset(),i=new Date(e.getTime()+t),r=i.getTimezoneOffset()-n;return new Date(i.getTime()+r*Rr)}function k(e,t,n){var i;return i=n===to?t.getFullYear()-e.getFullYear():n===qi?12*k(e,t,to)+t.getMonth()-e.getMonth():Tt.floor(n===ni?w(t,e)/Pr:(t-e)/Hr[n])}function x(e){return 1===e.length?e[0]:e}function C(e){var t,n,i,r=e.length;if(r>0)for(n=0;r>n;n++)i=e[n].contentBox(),t?t.wrap(i):t=i.clone();return t||Ut()}function S(e,t){return e&&t?e.toLowerCase()===t.toLowerCase():e===t}function T(e,t){return e&&t?g(e)===g(t):e===t}function D(e,t){null!==t&&e.push(t)}function A(e,t){for(var n,i,r=0,o=t.length-1;o>=r;)if(n=Tt.floor((r+o)/2),i=t[n],e>i)r=n+1;else{if(!(i>e)){for(;T(t[n-1],e);)n--;return n}o=n-1}return e>=t[n]?n:n-1}function E(e){return"number"==typeof e&&!isNaN(e)}function M(e){var t,n,i=e.length,r=0;for(t=0;i>t;t++)n=e[t],E(n)&&r++;return r}function I(e){return M(e)===e.length}function R(e){var t,n,i,r={};for(t=0;e.length>t;t++)n=e[t],i=n.options.name,i&&(r[i]=n.range());return r}function F(e,t,n,i){var r,o,a,s,l,c=!1;if(n=n||{},a=n.excluded=n.excluded||[],s=n.defaults=n.defaults||{},l=n.depth=n.depth||0,!(l>Oi)){for(r in e)!cn(r,n.excluded)&&e.hasOwnProperty(r)&&(o=e[r],Lt(o)?(c=!0,i||(e[r]=kn(o(t),s[r]))):typeof o===ir&&(n.defaults=s[r],n.depth++,c=F(o,t,n,i)||c,n.depth--));return c}}function P(e,n){var i,r,o,a=[],s=e.groupNameTemplate,l=n.length;if(0===l)return o=Bt({},e),o.visibleInLegend=!1,[o];for(gn(s)?(Mt.logToConsole("'groupNameTemplate' is obsolete and will be removed in future versions. Specify the group name template as 'series.name'"),s&&(i=Ht(s))):(i=Ht(e.name||""),0===i._slotCount&&(i=Ht(gn(e.name)?"#= group.value #: #= series.name #":"#= group.value #"))),r=0;l>r;r++)o=Bt({},e),Lt(o.color)||(o.color=t),o._groupIx=r,a.push(o),i&&(o.name=i({series:o,group:n[r]}));return a}function B(e,t){var n,i,r=[];for(t=[].concat(t),n=0;e.length>n;n++)i=e[n],cn(i.type,t)&&r.push(i);return r}function z(t,n){if(t instanceof Date){for(var i=0,r=n.length;r>i;i++)if(T(n[i],t))return i;return-1}return e.inArray(t,n)}function L(e,t){t=t||sn;for(var n=1,i=e.length;i>n;n++)if(t(e[n],e[n-1])<0){e.sort(t);break}return e}function H(e,t){var n,i=L(e,t),r=i.length,o=r>0?[i[0]]:[];for(t=t||sn,n=1;r>n;n++)0!==t(i[n],mn(o))&&o.push(i[n]);return o}function N(e,t){var n=e.type,i=t instanceof Date;return!n&&i||S(n,ti)}function O(e){var t,n,i,r,o=[],a=e.length;for(t=0;a>t;t++)for(n=e[t],r=n.length,i=0;r>i;i++)o[i]=o[i]||[],o[i].push(n[i]);return o}function V(e,t){if(e.indexOf(".")>-1)for(var n,i=e.split("."),r="";i.length>1;)r+=i.shift(),n=Mt.getter(r)(t)||{},Mt.setter(r)(t,n),r+="."}function U(e){var t,n,i,r=e.data,o=0;for(t=0;r.length>t;t++)n=X.current.bindPoint(e,t),i=n.valueFields.value,typeof i===Er&&(i=parseFloat(i)),E(i)&&n.fields.visible!==!1&&(o+=Tt.abs(i));return o}function W(e){var t=e.overlay;return t&&t.gradient&&"none"!=t.gradient}function j(e){for(var t=0;e.length>t;t++)if(gn(e[t].zIndex))return!0}function q(){this._defaultPrevented=!0}function G(e,t){if(e)for(var n=0;e.length>n;n++)if(e[n].category===t)return[e[n]]}function $(e){return gn(e)&&null!==e}function Y(e){var t,n,i={};for(n=0;e.length>n;n++)t=e[n],t.axis.options.name&&(i[t.axis.options.name]={min:t.range.min,max:t.range.max});return i}function K(e,t){var n=(t||"").toLowerCase(),i="none"==n&&!(e.ctrlKey||e.shiftKey||e.altKey)||e[n+"Key"];return i}var Q,X,J,Z,ee,te,ne,ie,re,oe,ae,se,le,ce,ue,de,he,fe,pe,ge,me,ve,_e,be,we,ye,ke,xe,Ce,Se,Te,De,Ae,Ee,Me,Ie,Re,Fe,Pe,Be,ze,Le,He,Ne,Oe,Ve,Ue,We,je,qe,Ge,$e,Ye,Ke,Qe,Xe,Je,Ze,et,tt,nt,it,rt,ot,at,st,lt,ct,ut,dt,ht,ft,pt,gt,mt,vt,_t,bt,wt,yt,kt=e.each,xt=e.isArray,Ct=e.isPlainObject,St=e.map,Tt=Math,Dt=e.noop,At=e.extend,Et=e.proxy,Mt=window.kendo,It=Mt.Class,Rt=Mt.Observable,Ft=Mt.data.DataSource,Pt=Mt.ui.Widget,Bt=Mt.deepExtend,zt=Mt.getter,Lt=Mt.isFunction,Ht=Mt.template,Nt=Mt.dataviz,Ot=Nt.Axis,Vt=Nt.AxisLabel,Ut=Nt.Box2D,Wt=Nt.BoxElement,jt=Nt.ChartElement,qt=Mt.drawing.Color,Gt=Nt.CurveProcessor,$t=Nt.FloatElement,Yt=Nt.Note,Kt=Nt.LogarithmicAxis,Qt=Nt.NumericAxis,Xt=Nt.Point2D,Jt=Nt.RootElement,Zt=Nt.Ring,en=Nt.ShapeElement,tn=Nt.ShapeBuilder,nn=Nt.TextBox,rn=Nt.Title,on=Nt.alignPathToPixel,an=Nt.autoFormat,sn=Nt.dateComparer,ln=Nt.getSpacing,cn=Nt.inArray,un=Nt.interpolateValue,dn=Nt.mwDelta,hn=Nt.round,fn=Mt.util,pn=fn.append,gn=fn.defined,mn=fn.last,vn=fn.limitValue,_n=fn.sparseArrayLimits,bn=fn.sparseArrayMin,wn=fn.sparseArrayMax,yn=fn.renderTemplate,kn=fn.valueOrDefault,xn=Nt.geometry,Cn=Nt.drawing,Sn=".kendoChart",Tn="above",Dn="area",An="auto",En="fit",Mn=Nt.AXIS_LABEL_CLICK,In="bar",Rn=6,Fn=.8,Pn="below",Bn="#000",zn="both",Ln="bottom",Hn="boxPlot",Nn="bubble",On="bullet",Vn="candlestick",Un="category",Wn="center",jn="change",qn="circle",Gn="contextmenu"+Sn,$n=Nt.CLIP,Yn="color",Kn="column",Qn=Nt.COORD_PRECISION,Xn="cross",Jn="k-",Zn="custom",ei="dataBound",ti="date",ni="days",ii=Nt.DEFAULT_FONT,ri=Nt.DEFAULT_HEIGHT,oi=Nt.DEFAULT_PRECISION,ai=Nt.DEFAULT_WIDTH,si=4,li="donut",ci=50,ui="drag",di="dragEnd",hi="dragStart",fi="errorLow",pi="errorHigh",gi="xErrorLow",mi="xErrorHigh",vi="yErrorLow",_i="yErrorHigh",bi="fadeIn",wi="first",yi="from",ki="funnel",xi="glass",Ci="horizontal",Si="horizontalWaterfall",Ti="hours",Di=Nt.INITIAL_ANIMATION_DURATION,Ai="insideBase",Ei="insideEnd",Mi="interpolate",Ii="leave",Ri="left",Fi="legendItemClick",Pi="legendItemHover",Bi="line",zi=8,Li="linear",Hi="log",Ni="max",Oi=5,Vi=Number.MAX_VALUE,Ui="min",Wi=-Number.MAX_VALUE,ji="minutes",qi="months",Gi="mouseleave"+Sn,$i="mousemove.tracking",Yi="mouseover"+Sn,Ki="mouseout"+Sn,Qi="mousemove"+Sn,Xi=20,Ji=150,Zi="DOMMouseScroll"+Sn+" mousewheel"+Sn,er=Nt.NOTE_CLICK,tr=Nt.NOTE_HOVER,nr="noteText",ir="object",rr="ohlc",or="outsideEnd",ar="pie",sr=70,lr="plotAreaClick",cr="pointer",ur="rangeBar",dr="rangeColumn",hr="render",fr="right",pr="roundedBevel",gr="roundedGlass",mr="scatter",vr="scatterLine",_r="seconds",br="selectStart",wr="select",yr="selectEnd",kr="seriesClick",xr="seriesHover",Cr=.001,Sr="step",Tr="smooth",Dr="stderr",Ar="stddev",Er="string",Mr="summary",Ir=1e3,Rr=60*Ir,Fr=60*Rr,Pr=24*Fr,Br=7*Pr,zr=31*Pr,Lr=365*Pr,Hr={years:Lr,months:zr,weeks:Br,days:Pr,hours:Fr,minutes:Rr,seconds:Ir},Nr="to",Or="top",Vr=150,Ur=5,Wr=100,jr=100,qr="chart-tooltip-inverse",Gr="value",$r="verticalArea",Yr="verticalBullet",Kr="verticalLine",Qr="waterfall",Xr="weeks",Jr="#fff",Zr="x",eo="y",to="years",no="zero",io=3,ro="zoomStart",oo="zoom",ao="zoomEnd",so=[_r,ji,Ti,ni,Xr,qi,to],lo=[In,Kn,rr,Vn,Hn,On,dr,ur,Qr,Si],co={seconds:"HH:mm:ss",minutes:"HH:mm",hours:"HH:mm",days:"M/d",weeks:"M/d",months:"MMM 'yy",years:"yyyy"},uo=Pt.extend({init:function(e,n){var i,r,o=this;Mt.destroy(e),Pt.fn.init.call(o,e),o.element.addClass(Jn+this.options.name.toLowerCase()).css("position","relative"),n&&(r=n.dataSource,n.dataSource=t),i=Bt({},o.options,n),o._originalOptions=Bt({},i),o._initTheme(i),o._initSurface(),o.bind(o.events,o.options),o.wrapper=o.element,n&&(n.dataSource=r),o._initDataSource(n),Mt.notify(o,Nt.ui)},_initTheme:function(n){var i,r=this,o=Nt.ui.themes||{},a=n.theme,c=o[a]||o[a.toLowerCase()],u=a&&c?c.chart:{},d=[],h=n.series||[];for(i=0;h.length>i;i++)d.push(e.extend({},h[i]));n.series=d,l(n),r._applyDefaults(n,u),null===n.seriesColors&&(n.seriesColors=t),r.options=Bt({},u,n),s(r.options)},_initDataSource:function(e){var t=this,n=(e||{}).dataSource;t._dataChangeHandler=Et(t._onDataChanged,t),t.dataSource=Ft.create(n).bind(jn,t._dataChangeHandler),t._bindCategories(),n&&(t._hasDataSource=!0),t._redraw(),t._attachEvents(),n&&t.options.autoBind&&t.dataSource.fetch()},setDataSource:function(e){var t=this;t.dataSource.unbind(jn,t._dataChangeHandler),t.dataSource=e=Ft.create(e),t._hasDataSource=!0,t._hasData=!1,e.bind(jn,t._dataChangeHandler),t.options.autoBind&&e.fetch()},events:[ei,kr,xr,Mn,Fi,Pi,lr,hi,ui,di,ro,oo,ao,br,wr,yr,er,tr,hr],items:function(){return e()},options:{name:"Chart",renderAs:"",theme:"default",chartArea:{},legend:{visible:!0,labels:{}},categoryAxis:{},autoBind:!0,seriesDefaults:{type:Kn,data:[],highlight:{visible:!0},labels:{},negativeValues:{visible:!1}},series:[],seriesColors:null,tooltip:{visible:!1},transitions:!0,valueAxis:{},plotArea:{},title:{},xAxis:{},yAxis:{},panes:[{}],pannable:!1,zoomable:!1},refresh:function(){var e=this;e._applyDefaults(e.options),s(e.options),e._bindSeries(),e._bindCategories(),e.trigger(ei),e._redraw()},getSize:function(){return Mt.dimensions(this.element)},_resize:function(){var e=this.options.transitions;this.options.transitions=!1,this._redraw(),this.options.transitions=e},redraw:function(e){var t,n,i=this;i._applyDefaults(i.options),s(i.options),e?(n=i._model._plotArea,t=n.findPane(e),n.redraw(t)):i._redraw()},getAxis:function(e){var t,n=this._plotArea.axes;for(t=0;n.length>t;t++)if(n[t].options.name===e)return new yt(n[t])},toggleHighlight:function(e,t){var n,i,r,o,a=this._plotArea,s=this._highlight,l=(a.srcSeries||a.series||[])[0];if(Ct(t)?(n=t.series,i=t.category):n=i=t,r=l.type===li?G(a.pointsBySeriesName(n),i):l.type===ar||l.type===ki?G((a.charts[0]||{}).points,i):a.pointsBySeriesName(n))for(o=0;r.length>o;o++)s.togglePointHighlight(r[o],e)},_initSurface:function(){var e=this.surface,t=this._surfaceWrap(),n=this.options.chartArea;n.width&&t.css("width",n.width),n.height&&t.css("height",n.height),e&&e.options.type===this.options.renderAs?(this.surface.clear(),this.surface.resize()):(e&&e.destroy(),this.surface=Cn.Surface.create(t,{type:this.options.renderAs}))},_surfaceWrap:function(){return this.element},_redraw:function(){var e,t=this,n=t._getModel();t._destroyView(),t._model=n,t._plotArea=n._plotArea,n.renderVisual(),this.options.transitions!==!1&&n.traverse(function(e){e.animation&&e.animation.setup()}),t._initSurface(),t.surface.draw(n.visual),this.options.transitions!==!1&&n.traverse(function(e){e.animation&&e.animation.play()}),t._tooltip=t._createTooltip(),t._highlight=new ct(e),t._setupSelection(),t._createPannable(),t._createZoomSelection(),t._createMousewheelZoom(),t._hasDataSource&&!t._hasData&&t.options.autoBind||t.trigger(hr)},exportVisual:function(e){var t,n,i,r;return e&&(e.width||e.height)?(n=this.options.chartArea,i=this._originalOptions.chartArea,Bt(n,e),r=this._getModel(),n.width=i.width,n.height=i.height,r.renderVisual(),t=r.visual):t=this.surface.exportVisual(),t},_sharedTooltip:function(){var e=this,t=e.options;return e._plotArea instanceof nt&&t.tooltip.shared},_createPannable:function(){var e=this.options;e.pannable!==!1&&(this._pannable=new vt(this._plotArea,e.pannable))},_createZoomSelection:function(){var e=this.options.zoomable,t=(e||{}).selection;e!==!1&&t!==!1&&(this._zoomSelection=new _t(this,t))},_createMousewheelZoom:function(){var e=this.options.zoomable,t=(e||{}).mousewheel;e!==!1&&t!==!1&&(this._mousewheelZoom=new bt(this._plotArea,t))},_createTooltip:function(){var e,t=this,n=t.options,i=t.element;return e=t._sharedTooltip()?new ht(i,t._plotArea,n.tooltip):new dt(i,n.tooltip),e.bind(Ii,Et(t._tooltipleave,t)),e},_tooltipleave:function(){var e=this,t=e._plotArea,n=e._highlight;t.hideCrosshairs(),n.hide()},_applyDefaults:function(e,t){c(e,t),o(e,t)},_getModel:function(){var e,t=this,n=t.options,i=new Jt(t._modelOptions());return i.chart=t,rn.buildTitle(n.title,i),e=i._plotArea=t._createPlotArea(),n.legend.visible&&i.append(new te(e.options.legend)),i.append(e),i.reflow(),i},_modelOptions:function(){var e=this,t=e.options,n=e.element,i=Tt.floor(n.height()),r=Tt.floor(n.width());return e._size=null,Bt({width:r||ai,height:i||ri,transitions:t.transitions},t.chartArea)},_createPlotArea:function(e){var t=this,n=t.options;return Q.current.create(e?[]:n.series,n)},_setupSelection:function(){var e,t,n,i,r,o,a=this,s=a._plotArea,l=s.axes,c=a._selections=[];for(a._selectStartHandler||(a._selectStartHandler=Et(a._selectStart,a),a._selectHandler=Et(a._select,a),a._selectEndHandler=Et(a._selectEnd,a)),t=0;l.length>t;t++)n=l[t],o=n.options,n instanceof ne&&o.select&&!o.vertical&&(i=0,r=o.categories.length-1,n instanceof ie&&(i=o.categories[i],r=o.categories[r]),o.justified||(n instanceof ie?r=m(r,1,o.baseUnit,o.weekStartDay):r++),e=new mt(a,n,Bt({min:i,max:r},o.select)),e.bind(br,a._selectStartHandler),e.bind(wr,a._selectHandler),e.bind(yr,a._selectEndHandler),c.push(e))},_selectStart:function(e){return this.trigger(br,e)},_select:function(e){return this.trigger(wr,e)},_selectEnd:function(e){return this.trigger(yr,e)},_attachEvents:function(){var e=this,t=e.element;t.on(Gn,Et(e._click,e)),t.on(Yi,Et(e._mouseover,e)),t.on(Ki,Et(e._mouseout,e)),t.on(Zi,Et(e._mousewheel,e)),t.on(Gi,Et(e._mouseleave,e)),e._mousemove=Mt.throttle(Et(e._mousemove,e),Xi),e._shouldAttachMouseMove()&&t.on(Qi,e._mousemove),Mt.UserEvents&&(e._userEvents=new Mt.UserEvents(t,{global:!0,filter:":not(.k-selector)",multiTouch:!1,tap:Et(e._tap,e),start:Et(e._start,e),move:Et(e._move,e),end:Et(e._end,e)}))},_mouseout:function(e){var t=this,n=t._getChartElement(e);n&&n.leave&&n.leave(t,e)},_start:function(e){var t=this,n=t._events;gn(n[hi]||n[ui]||n[di])&&t._startNavigation(e,hi),t._pannable&&t._pannable.start(e),t._zoomSelection&&t._zoomSelection.start(e)},_move:function(e){var t,n,i,r,o,a,s=this,l=s._navState,c=s._pannable,u={};if(c)e.preventDefault(),u=c.move(e),u&&!s.trigger(ui,{axisRanges:u,originalEvent:e})&&c.pan();else if(l){for(e.preventDefault(),t=l.axes,n=0;t.length>n;n++)i=t[n],r=i.options.name,r&&(o=i.options.vertical?e.y:e.x,a=o.startLocation-o.location,0!==a&&(u[i.options.name]=i.translateRange(a)));l.axisRanges=u,s.trigger(ui,{axisRanges:u,originalEvent:e})}s._zoomSelection&&s._zoomSelection.move(e)},_end:function(e){if(this._endNavigation(e,di),this._zoomSelection){var t=this._zoomSelection.end(e);t&&!this.trigger(oo,{axisRanges:t,originalEvent:e})&&this._zoomSelection.zoom()}this._pannable&&this._pannable.end(e)},_mousewheel:function(e){var t,n,i,r,o,a,s=this,l=e.originalEvent,c=dn(e),u=s._navState,d={},h=s._mousewheelZoom;if(h)e.preventDefault(),d=h.updateRanges(c),d&&!s.trigger(oo,{delta:c,axisRanges:d,originalEvent:e})&&h.zoom();else if(u||(t=s._startNavigation(l,ro),t||(u=s._navState)),u){for(n=u.totalDelta||c,u.totalDelta=n+c,i=s._navState.axes,r=0;i.length>r;r++)o=i[r],a=o.options.name,a&&(d[a]=o.scaleRange(-n));s.trigger(oo,{delta:c,axisRanges:d,originalEvent:e}),s._mwTimeout&&clearTimeout(s._mwTimeout),s._mwTimeout=setTimeout(function(){s._endNavigation(e,ao)},Ji)}},_startNavigation:function(e,t){var n,i,r,o=this,a=o._eventCoordinates(e),s=o._model._plotArea,l=s.findPointPane(a),c=s.axes.slice(0),u=!1;if(l){for(n=0;c.length>n;n++)if(i=c[n],i.box.containsPoint(a)){u=!0;break}!u&&s.backgroundBox().containsPoint(a)&&(r=o.trigger(t,{axisRanges:R(c),originalEvent:e}),r?o._userEvents.cancel():(o._suppressHover=!0,o._unsetActivePoint(),o._navState={pane:l,axes:c}))}},_endNavigation:function(e,t){var n=this;n._navState&&(n.trigger(t,{axisRanges:n._navState.axisRanges,originalEvent:e}),n._suppressHover=!1,n._navState=null)},_getChartElement:function(e,n){var i,r=this.surface.eventTarget(e);if(r){for(;r&&!i;)i=r.chartElement,r=r.parent;return i?(i.aliasFor&&(i=i.aliasFor(e,this._eventCoordinates(e))),n&&(i=i.closest(n)),i):t}},_eventCoordinates:function(e){var t=this,n=gn((e.x||{}).client),i=n?e.x.client:e.clientX,r=n?e.y.client:e.clientY;return t._toModelCoordinates(i,r)},_toModelCoordinates:function(t,n){var i=this.element,r=i.offset(),o=parseInt(i.css("paddingLeft"),10),a=parseInt(i.css("paddingTop"),10),s=e(window);return new Xt(t-r.left-o+s.scrollLeft(),n-r.top-a+s.scrollTop())},_tap:function(e){var t=this,n=t._getChartElement(e);t._activePoint===n?t._click(e):(t._startHover(e)||t._unsetActivePoint(),t._click(e))},_click:function(e){for(var t=this,n=t._getChartElement(e);n;)n.click&&n.click(t,e),n=n.parent},_startHover:function(e){var n,i=this,r=i._getChartElement(e),o=i._tooltip,a=i._highlight,s=i.options.tooltip;if(!i._suppressHover&&a&&!a.isHighlighted(r)&&!i._sharedTooltip())return n=i._getChartElement(e,function(e){return e.hover}),n&&!n.hover(i,e)?(i._activePoint=n,s=Bt({},s,n.options.tooltip),s.visible&&o.show(n),a.show(n),n.tooltipTracking):t},_mouseover:function(t){var n=this;n._startHover(t)&&e(document).on($i,Et(n._mouseMoveTracking,n))},_mouseMoveTracking:function(t){var n,i,r=this,o=r.options,a=r._tooltip,s=r._highlight,l=r._eventCoordinates(t),c=r._activePoint;r._plotArea.box.containsPoint(l)?c&&c.tooltipTracking&&c.series&&c.parent.getNearestPoint&&(i=c.parent.getNearestPoint(l.x,l.y,c.seriesIx),i&&i!=c&&(i.hover(r,t),r._activePoint=i,n=Bt({},o.tooltip,c.options.tooltip),n.visible&&a.show(i),s.show(i))):(e(document).off($i),r._unsetActivePoint())},_mousemove:function(e){var t=this._eventCoordinates(e);this._trackCrosshairs(t),this._sharedTooltip()&&this._trackSharedTooltip(t,e)},_trackCrosshairs:function(e){var t,n,i=this._plotArea.crosshairs;for(t=0;i.length>t;t++)n=i[t],n.box.containsPoint(e)?n.showAt(e):n.hide()},_trackSharedTooltip:function(t,n){var i,r,o,a,s=this,l=s.options,c=s._plotArea,u=c.categoryAxis,d=s._tooltip,h=l.tooltip,f=s._highlight;c.box.containsPoint(t)&&(i=u.pointCategoryIndex(t),i!==s._tooltipCategoryIx&&(r=c.pointsByCategoryIndex(i),o=e.map(r,function(e){return e.eventArgs(n)}),a=o[0]||{},a.categoryPoints=o,r.length>0&&!this.trigger(xr,a)?(h.visible&&d.showAt(r,t),f.show(r)):d.hide(),s._tooltipCategoryIx=i))},_mouseleave:function(t){var n=this,i=n._plotArea,r=n._tooltip,o=n._highlight,a=t.relatedTarget;a&&e(a).closest(r.element).length||(n._mousemove.cancel(),i.hideCrosshairs(),o.hide(),setTimeout(Et(r.hide,r),jr),n._tooltipCategoryIx=null)},_unsetActivePoint:function(){var e=this,t=e._tooltip,n=e._highlight;e._activePoint=null,t&&t.hide(),n&&n.hide()},_onDataChanged:function(){var e,t,n=this,i=n.options,r=n._sourceSeries||i.series,o=r.length,a=n.dataSource.view(),l=(n.dataSource.group()||[]).length>0,c=[];for(e=0;o>e;e++)t=r[e],n._isBindable(t)&&l?pn(c,P(t,a)):c.push(t||[]);n._sourceSeries=r,i.series=c,s(n.options),n._bindSeries(),n._bindCategories(),n._hasData=!0,n._deferRedraw()},_deferRedraw:function(){var e=this;Mt.support.vml?(e._clearRedrawTimeout(),e._redrawTimeout=setTimeout(function(){e.surface&&(e.trigger(ei),e._redraw())},0)):(e.trigger(ei),e._redraw())},_clearRedrawTimeout:function(){this._redrawTimeout&&(clearInterval(this._redrawTimeout),this._redrawTimeout=null)},_bindSeries:function(){var e,t,n,i,r=this,o=r.dataSource.view(),a=r.options.series,s=a.length;for(e=0;s>e;e++)t=a[e],r._isBindable(t)&&(n=t._groupIx,i=gn(n)?(o[n]||{}).items:o,t.autoBind!==!1&&(t.data=i))},_bindCategories:function(){var e,t,n=this,i=n.dataSource.view()||[],r=(n.dataSource.group()||[]).length>0,o=i,a=n.options,s=[].concat(a.categoryAxis);for(r&&i.length&&(o=i[0].items),e=0;s.length>e;e++)t=s[e],t.autoBind!==!1&&n._bindCategoryAxis(t,o,e)},_bindCategoryAxis:function(e,t,n){var i,r,o,a=(t||[]).length;if(e.field)for(e.categories=[],i=0;a>i;i++)o=t[i],r=h(e.field,o),0===i?(e.categories=[r],e.dataItems=[o]):(e.categories.push(r),e.dataItems.push(o));else this._bindCategoryAxisFromSeries(e,n)},_bindCategoryAxisFromSeries:function(e,t){var n,i,r,o,a,s,l,c,u,d,p,g=this,m=[],v=g.options.series,_=v.length,b={};for(i=0;_>i;i++)if(r=v[i],o=r.categoryAxis===e.name||!r.categoryAxis&&0===t,a=r.data,l=a.length,r.categoryField&&o&&l>0)for(p=N(e,h(r.categoryField,a[0])),d=p?f:h,s=0;l>s;s++)c=a[s],u=d(r.categoryField,c),(p||!b[u])&&(m.push([u,c]),p||(b[u]=!0));m.length>0&&(p&&(m=H(m,function(e,t){return sn(e[0],t[0])})),n=O(m),e.categories=n[0],e.dataItems=n[1])},_isBindable:function(e){var t,n,i=X.current.valueFields(e),r=!0;for(n=0;i.length>n;n++)if(t=i[n],t===Gr?t="field":t+="Field",!gn(e[t])){r=!1;break}return r},_legendItemClick:function(e,t){var n,i,r,o=this,a=o._plotArea,s=(a.srcSeries||a.series)[e],l=(o._sourceSeries||[])[e]||s;cn(s.type,[ar,li,ki])?(r=l.data[t],i=gn(r.visible)?!r.visible:!1,r.visible=i):(i=!l.visible,l.visible=i,s.visible=i),o.options.transitions&&(o.options.transitions=!1,n=!0),o.redraw(),n&&(o.options.transitions=!0)},_legendItemHover:function(e,t){var n,i,r=this,o=r._plotArea,a=r._highlight,s=(o.srcSeries||o.series)[e];n=cn(s.type,[ar,li,ki])?t:e,i=o.pointsBySeriesIndex(n),a.show(i)},_shouldAttachMouseMove:function(){var e=this;return e._plotArea.crosshairs.length||e._tooltip&&e._sharedTooltip()},setOptions:function(n){var i=this,r=n.dataSource;n.dataSource=t,i._originalOptions=Bt(i._originalOptions,n),i.options=Bt({},i._originalOptions),i._sourceSeries=null,e(document).off(Qi),Pt.fn._setEvents.call(i,n),i._initTheme(i.options),r&&i.setDataSource(r),i._hasDataSource?i._onDataChanged():(i._bindCategories(),i.redraw()),i._shouldAttachMouseMove()&&i.element.on(Qi,i._mousemove)},destroy:function(){var t=this,n=t.dataSource;t.element.off(Sn),n.unbind(jn,t._dataChangeHandler),e(document).off($i),t._userEvents&&t._userEvents.destroy(),t._destroyView(),t.surface.destroy(),t.surface=null,t._clearRedrawTimeout(),Pt.fn.destroy.call(t)},_destroyView:function(){var e=this,t=e._model,n=e._selections;if(t&&(t.destroy(),e._model=null),n)for(;n.length>0;)n.shift().destroy();e._unsetActivePoint(),e._tooltip&&e._tooltip.destroy(),e._highlight&&e._highlight.destroy(),e._zoomSelection&&e._zoomSelection.destroy()}});Nt.ExportMixin.extend(uo.fn),Mt.PDFMixin&&Mt.PDFMixin.extend(uo.fn),Q=It.extend({init:function(){this._registry=[]},register:function(e,t){this._registry.push({type:e,seriesTypes:t})},create:function(e,t){var n,i,r,o=this._registry,a=o[0];for(n=0;o.length>n;n++)if(i=o[n],r=B(e,i.seriesTypes),r.length>0){a=i;break}return new a.type(r,t)}}),Q.current=new Q,X=It.extend({init:function(){this._valueFields={},this._otherFields={},this._nullValue={},this._undefinedValue={}},register:function(e,n,i){var r,o,a=this;for(n=n||[Gr],r=0;e.length>r;r++)o=e[r],a._valueFields[o]=n,a._otherFields[o]=i,a._nullValue[o]=a._makeValue(n,null),a._undefinedValue[o]=a._makeValue(n,t)},canonicalFields:function(e){return this.valueFields(e).concat(this.otherFields(e))},valueFields:function(e){return this._valueFields[e.type]||[Gr]},otherFields:function(e){return this._otherFields[e.type]||[Gr]},bindPoint:function(e,t){var n,i,r,o,a,s=this,l=e.data,c=l[t],u={valueFields:{value:c}},d=s.valueFields(e),h=s._otherFields[e.type];return null===c?a=s._nullValue[e.type]:gn(c)?xt(c)?(i=c.slice(d.length),a=s._bindFromArray(c,d),n=s._bindFromArray(i,h)):typeof c===ir&&(r=s.sourceFields(e,d),o=s.sourceFields(e,h),a=s._bindFromObject(c,d,r),n=s._bindFromObject(c,h,o)):a=s._undefinedValue[e.type],gn(a)&&(1===d.length?u.valueFields.value=a[d[0]]:u.valueFields=a),u.fields=n||{},u},_makeValue:function(e,t){var n,i,r={},o=e.length;for(n=0;o>n;n++)i=e[n],r[i]=t;return r},_bindFromArray:function(e,t){var n,i,r={};if(t)for(i=Tt.min(t.length,e.length),n=0;i>n;n++)r[t[n]]=e[n];return r},_bindFromObject:function(e,t,n){var i,r,o,a,s={};if(t)for(r=t.length,n=n||t,i=0;r>i;i++)o=t[i],a=n[i],s[o]=h(a,e);return s},sourceFields:function(e,t){var n,i,r,o,a;if(t)for(i=t.length,o=[],n=0;i>n;n++)r=t[n],a=r===Gr?"field":r+"Field",o.push(e[a]||r);return o}}),X.current=new X,J=jt.extend({init:function(e,t){var n=this;jt.fn.init.call(n,t),this.textBox=new nn(e,n.options),n.append(this.textBox)},options:{position:or,margin:ln(3),padding:ln(4),color:Bn,background:"",border:{width:1,color:""},aboveAxis:!0,vertical:!1,animation:{type:bi,delay:Di},zIndex:2},createVisual:function(){this.textBox.options.noclip=this.options.noclip},reflow:function(e){var t=this,n=t.options,i=n.vertical,r=n.aboveAxis,o=t.children[0],a=o.box,s=o.options.padding;o.options.align=i?Wn:Ri,o.options.vAlign=i?Or:Wn,n.position==Ei?i?(o.options.vAlign=Or,!r&&a.height()<e.height()&&(o.options.vAlign=Ln)):o.options.align=r?fr:Ri:n.position==Wn?(o.options.vAlign=Wn,o.options.align=Wn):n.position==Ai?i?o.options.vAlign=r?Ln:Or:o.options.align=r?Ri:fr:n.position==or&&(i?e=r?new Ut(e.x1,e.y1-a.height(),e.x2,e.y1):new Ut(e.x1,e.y2,e.x2,e.y2+a.height()):(o.options.align=Wn,e=r?new Ut(e.x2,e.y1,e.x2+a.width(),e.y2):new Ut(e.x1-a.width(),e.y1,e.x1,e.y2))),n.rotation||(i?s.left=s.right=(e.width()-o.contentBox.width())/2:s.top=s.bottom=(e.height()-o.contentBox.height())/2),o.reflow(e)},alignToClipBox:function(e){var t,n=this,i=n.options.vertical,r=i?eo:Zr,o=r+"1",a=r+"2",s=n.children[0],l=n.parent.box;(e[o]>l[o]||l[a]>e[a])&&(t=s.paddingBox.clone(),t[o]=Tt.max(l[o],e[o]),t[a]=Tt.min(l[a],e[a]),this.reflow(t))}}),Z=Wt.extend({init:function(e){var t=this;Wt.fn.init.call(t,e),t.createContainer(),t.createMarker(),t.createLabel()},createContainer:function(){var e=this;e.container=new $t({vertical:!1,wrap:!1,align:Wn}),e.append(e.container)},createMarker:function(){this.container.append(new en(this.markerOptions()))},markerOptions:function(){var e=this.options,t=e.markerColor;return Bt({},e.markers,{background:t,border:{color:t}})},createLabel:function(){var e=this,t=e.options,n=Bt({},t.labels);e.container.append(new nn(t.text,n))},renderComplete:function(){var e,t;jt.fn.renderComplete.call(this),e=this.options.cursor||{},t=this._itemOverlay=Cn.Path.fromRect(this.container.box.toRect(),{fill:{color:Jr,opacity:0},stroke:null,cursor:e.style||e}),this.appendVisual(t)},click:function(e,t){var n=this.eventArgs(t);e.trigger(Fi,n)||(t.preventDefault(),e._legendItemClick(n.seriesIndex,n.pointIndex))},hover:function(e,t){var n=this.eventArgs(t);return e.trigger(Pi,n)||(t.preventDefault(),e._legendItemHover(n.seriesIndex,n.pointIndex)),!0},leave:function(e){e._unsetActivePoint()},eventArgs:function(t){var n=this.options;return{element:e(t.target),text:n.text,series:n.series,seriesIndex:n.series.index,pointIndex:n.pointIndex}},renderVisual:function(){var e=this,t=e.options,n=t.visual;n?(e.visual=n({active:t.active,series:t.series,pointIndex:t.pointIndex,options:{markers:e.markerOptions(),labels:t.labels},createVisual:function(){e.createVisual(),e.renderChildren(),e.renderComplete();var t=e.visual;return delete e.visual,t}}),this.addVisual()):jt.fn.renderVisual.call(e)}}),ee=jt.extend({render:function(){var e,t,n=this.children,i=this.options,r=i.vertical;for(this.visual=new Cn.Layout(null,{spacing:r?0:i.spacing,lineSpacing:r?i.spacing:0,orientation:r?"vertical":"horizontal"}),t=0;n.length>t;t++)e=n[t],e.reflow(new Ut),e.renderVisual()},reflow:function(e){this.visual.rect(e.toRect()),this.visual.reflow();var t=this.visual.clippedBBox();this.box=t?Nt.rectToBox(t):new Ut},renderVisual:function(){this.addVisual()},createVisual:Dt}),te=jt.extend({init:function(e){var t=this;jt.fn.init.call(t,e),cn(t.options.position,[Or,fr,Ln,Ri,Zn])||(t.options.position=fr),t.createContainer(),t.createItems()},options:{position:fr,items:[],labels:{margin:{left:6}},offsetX:0,offsetY:0,margin:ln(5),padding:ln(5),border:{color:Bn,width:0},item:{cursor:cr},spacing:6,background:"",zIndex:1,markers:{border:{width:1},width:7,height:7,type:"rect",align:Ri,vAlign:Wn}},createContainer:function(){var e=this,t=e.options,n=t.align,i=t.position,r=i,o=Wn;i==Zn?r=Ri:cn(i,[Or,Ln])?(r="start"==n?Ri:"end"==n?fr:Wn,o=i):n&&("start"==n?o=Or:"end"==n&&(o=Ln)),e.container=new Wt({margin:t.margin,padding:t.padding,background:t.background,border:t.border,vAlign:o,align:r,zIndex:t.zIndex,shrinkToFit:!0}),e.append(e.container)},createItems:function(){var e,t,n,i=this,r=i.options,o=r.items,a=o.length,s=i.isVertical();for(e=new ee({vertical:s,spacing:r.spacing}),r.reverse&&(o=o.slice(0).reverse()),t=0;a>t;t++)n=o[t],e.append(new Z(Bt({},{markers:r.markers,labels:r.labels},r.item,n)));e.render(),i.container.append(e)},isVertical:function(){var e=this,t=e.options,n=t.orientation,i=t.position,r=i==Zn&&n!=Ci||(gn(n)?n!=Ci:cn(i,[Ri,fr]));return r},hasItems:function(){return this.container.children[0].children.length>0},reflow:function(e){var n=this,i=n.options;return e=e.clone(),n.hasItems()?(i.position===Zn?(n.containerCustomReflow(e),n.box=e):n.containerReflow(e),t):(n.box=e,t)},containerReflow:function(e){var t,n=this,i=n.options,r=i.position,o=r==Or||r==Ln?Zr:eo,a=e.clone(),s=n.container,l=i.width,c=i.height,u=n.isVertical(),d=e.clone();(r==Ri||r==fr)&&(a.y1=d.y1=0),u&&c?(a.y2=a.y1+c,a.align(d,eo,s.options.vAlign)):!u&&l&&(a.x2=a.x1+l,a.align(d,Zr,s.options.align)),s.reflow(a),a=s.box,t=a.clone(),(i.offsetX||i.offsetY)&&(a.translate(i.offsetX,i.offsetY),n.container.reflow(a)),t[o+1]=e[o+1],t[o+2]=e[o+2],n.box=t},containerCustomReflow:function(e){var t=this,n=t.options,i=n.offsetX,r=n.offsetY,o=t.container,a=n.width,s=n.height,l=t.isVertical(),c=e.clone();l&&s?c.y2=c.y1+s:!l&&a&&(c.x2=c.x1+a),o.reflow(c),c=o.box,o.reflow(Ut(i,r,i+c.width(),r+c.height()))},renderVisual:function(){this.hasItems()&&jt.fn.renderVisual.call(this)}}),ne=Ot.extend({init:function(e){var t=this;e=e||{},this._initFields(),this._initCategories(e),Ot.fn.init.call(t,e)},_initFields:function(){this._ticks={},this.outOfRangeMin=0,this.outOfRangeMax=0},_initCategories:function(e){var t,n,i=(e.categories||[]).slice(0);e.categories=i,e.limitCategories&&(gn(e.min)||gn(e.max))&&i.length&&(e.srcCategories=e.categories,
|
|
t=gn(e.min)?Tt.floor(e.min):0,n=gn(e.max)?Tt.ceil(e.max)+1:i.length,e.outOfRangePoints&&(t-1>=0&&(t--,this.outOfRangeMin=1),e.srcCategories.length>n+1&&(n++,this.outOfRangeMax=1)),e.categories=e.categories.slice(t,n))},options:{type:Un,categories:[],vertical:!1,majorGridLines:{visible:!1,width:1,color:Bn},labels:{zIndex:1},justified:!1},rangeIndices:function(){var e,t,n,i,r=this.options;return r.limitCategories?(t=(r.categories.length||1)-1,n=this.outOfRangeMin+(gn(r.min)?r.min%1:0),i=(gn(r.max)&&r.max%1!==0?t-(1-r.max%1):t)-this.outOfRangeMax,e={min:n,max:i}):e=this.totalRangeIndices(),e},totalRangeIndices:function(){var e=this.options;return{min:E(e.min)?e.min:0,max:E(e.max)?e.max:((e.srcCategories||e.categories).length||1)-1}},range:function(){var e=this.options;return{min:E(e.min)?e.min:0,max:E(e.max)?e.max:e.categories.length}},totalRange:function(){return{min:0,max:(this.options.srcCategories||this.options.categories).length}},getScale:function(){var e=this.rangeIndices(),t=e.min,n=e.max+(this.options.justified?0:1),i=this.lineBox(),r=this.options.vertical?i.height():i.width(),o=r/(n-t||1);return o*(this.options.reverse?-1:1)},getTickPositions:function(e){for(var t=this,n=t.options,i=n.vertical,r=t.lineBox(),o=n.reverse,a=t.getScale(),s=t.rangeIndices(),l=s.min,c=s.max+(n.justified?0:1),u=l%1!==0?Tt.floor(l/1)+e:l,d=r[(i?eo:Zr)+(o?2:1)],h=[];c>=u;)h.push(d+hn(a*(u-l),Qn)),u+=e;return h},getLabelsTickPositions:function(){var e=this.getMajorTickPositions().slice(0),t=this.rangeIndices(),n=this.getScale();return t.min%1!==0&&e.unshift(e[0]-n),t.max%1!==0&&e.push(mn(e)+n),e},labelTickIndex:function(e){var t=e.index,n=this.rangeIndices();return n.min>0&&(t-=Tt.floor(n.min)),t},arrangeLabels:function(){Ot.fn.arrangeLabels.call(this),this.hideOutOfRangeLabels()},hideOutOfRangeLabels:function(){var e=this.box,t=this.labels,n=this.options.vertical?eo:Zr,i=e[n+1],r=e[n+2],o=t[0],a=mn(t);t.length&&((o.box[n+1]>r||i>o.box[n+2])&&(o.options.visible=!1),(a.box[n+1]>r||i>a.box[n+2])&&(a.options.visible=!1))},getMajorTickPositions:function(){return this.getTicks().majorTicks},getMinorTickPositions:function(){return this.getTicks().minorTicks},getTicks:function(){var e,t=this,n=t._ticks,i=t.options,r=t.rangeIndices(),o=i.reverse,a=i.justified,s=t.lineBox();return e=s.getHash()+r.min+","+r.max+o+a,n._hash!==e&&(n._hash=e,n.majorTicks=t.getTickPositions(1),n.minorTicks=t.getTickPositions(.5)),n},getSlot:function(e,t,n){var i,r,o=this,a=o.options,s=a.reverse,l=a.justified,c=a.vertical?eo:Zr,u=o.lineBox(),d=o.totalRange(),h=o.rangeIndices(),f=h.min,p=this.getScale(),g=u[c+(s?2:1)],m=u.clone(),v=!gn(t);return e=kn(e,0),t=kn(t,e),e=vn(e,d.min,d.max||1),t=vn(t-1,e,d.max||1),t=Tt.max(e,t),i=g+(e-f)*p,r=g+(t+1-f)*p,v&&l&&(r=i),n&&(i=vn(i,u[c+1],u[c+2]),r=vn(r,u[c+1],u[c+2])),m[c+1]=s?r:i,m[c+2]=s?i:r,m},pointCategoryIndex:function(e){var t,n,i,r=this,o=r.options,a=o.reverse,s=o.justified,l=o.vertical?eo:Zr,c=r.lineBox(),u=r.rangeIndices(),d=a?u.max+(s?0:1):u.min,h=this.getScale(),f=c[l+1],p=c[l+2],g=e[l];return f>g||g>p?null:(t=g-f,n=t/h,n=d+n,i=n%1,s?n=Tt.round(n):0===i&&n>0&&n--,Tt.floor(n))},getCategory:function(e){var t=this.pointCategoryIndex(e);return null===t?null:this.options.categories[t]},categoryIndex:function(e){return z(e,this.options.categories)},translateRange:function(e){var t=this,n=t.options,i=t.lineBox(),r=n.vertical?i.height():i.width(),o=n.categories.length,a=r/o,s=hn(e/a,oi);return{min:s,max:o+s}},zoomRange:function(e){var n=this.totalRangeIndices(),i=this.totalRange(),r=i.max-1,o=i.min,a=vn(n.min+e,o,r),s=vn(n.max-e,o,r);return s-a>=0?{min:a,max:s}:t},scaleRange:function(e){var t=this,n=t.options,i=n.categories.length,r=e*i;return{min:-r,max:i+r}},labelsCount:function(){var e=this.labelsRange();return e.max-e.min},labelsRange:function(){var e,t=this.options,n=t.labels,i=t.justified,r=this.totalRangeIndices(),o=r.min,a=r.max,s=t.limitCategories?Tt.floor(o)-this.outOfRangeMin:0;return i?(o=Tt.ceil(o),a=Tt.floor(a)):(o=Tt.floor(o),a=Tt.ceil(a)),e=o>n.skip?n.skip+n.step*Tt.ceil((o-n.skip)/n.step):n.skip,{min:e-s,max:(t.categories.length?a+1:0)-s}},createAxisLabel:function(e,t){var n=this,i=n.options,r=i.dataItems?i.dataItems[e]:null,o=kn(i.categories[e],""),a=n.axisLabelText(o,r,t);return new Vt(o,a,e,r,t)},shouldRenderNote:function(e){var t=this.options.categories;return t.length&&t.length>e&&e>=0},pan:function(e){var t=this.totalRangeIndices(),n=this.getScale(),i=hn(e/n,oi),r=this.totalRange(),o=t.min+i,a=t.max+i;return this.limitRange(o,a,r.min,r.max-1)},pointsRange:function(e,t,n){var i=this,r=i.options,o=r.reverse,a=r.justified,s=r.vertical?eo:Zr,l=i.lineBox(),c=i.totalRangeIndices(),u=this.getScale(),d=l[s+(o?2:1)],h=e[s]-d,f=t[s]-d,p=c.min+h/u,g=c.min+f/u;return p=Tt.min(p,g),g=Tt.max(p,g),n||a||g--,{min:p,max:g}}}),ie=ne.extend({init:function(e){var t,n,i=this;e=e||{},e=Bt({roundToBaseUnit:!0},e,{categories:p(e.categories),min:p(e.min),max:p(e.max)}),e.categories&&e.categories.length>0?(t=(e.baseUnit||"").toLowerCase(),n=t!==En&&!cn(t,so),n&&(e.baseUnit=i.defaultBaseUnit(e)),(t===En||e.baseUnitStep===An)&&i.autoBaseUnit(e),i.groupCategories(e)):e.baseUnit=e.baseUnit||ni,this._initFields(),Ot.fn.init.call(i,e)},options:{type:ti,labels:{dateFormats:co},autoBaseUnitSteps:{seconds:[1,2,5,15,30],minutes:[1,2,5,15,30],hours:[1,2,3],days:[1,2,3],weeks:[1,2],months:[1,2,3,6],years:[1,2,3,5,10,25,50]},maxDateGroups:10},shouldRenderNote:function(e){var t=this,n=t.range(),i=t.options.categories||[];return sn(e,n.min)>=0&&sn(e,n.max)<=0&&i.length},parseNoteValue:function(e){return p(e)},translateRange:function(e){var t,n,i=this,r=i.options,o=r.baseUnit,a=r.weekStartDay,s=i.lineBox(),l=r.vertical?s.height():s.width(),c=i.range(),u=l/(c.max-c.min),d=hn(e/u,oi);return c.min&&c.max&&(t=y(r.min||c.min,d),n=y(r.max||c.max,d),c={min:m(t,0,o,a),max:m(n,0,o,a)}),c},scaleRange:function(e){var t,n=this,i=Tt.abs(e),r=n.range(),o=r.min,a=r.max;if(r.min&&r.max){for(;i--;)r=w(o,a),t=Tt.round(.1*r),0>e?(o=y(o,t),a=y(a,-t)):(o=y(o,-t),a=y(a,t));r={min:o,max:a}}return r},defaultBaseUnit:function(e){var t,n,i,r,o,a=e.categories,s=gn(a)?a.length:0,l=Vi;for(t=0;s>t;t++)n=a[t],n&&r&&(i=w(n,r),i>0&&(l=Tt.min(l,i),o=l>=Lr?to:l>=zr-3*Pr?qi:l>=Br?Xr:l>=Pr?ni:l>=Fr?Ti:l>=Rr?ji:_r)),r=n;return o||ni},_categoryRange:function(e){var t=e._range;return t||(t=e._range=_n(e)),t},totalRange:function(){return{min:0,max:this.options.categories.length}},rangeIndices:function(){var e,t=this.options,n=t.categories,i=this._categoryRange(t.srcCategories||n),r=t.min||p(i.min),o=t.max||p(i.max),a=n.length-1,s=0,l=0;return n.length&&(e=w(mn(n),n[0])||1,s=w(r,n[0])/e*a,l=a-w(mn(n),o)/e*a,t.justified||t.roundToBaseUnit||l==a||l--,t.roundToBaseUnit&&(s=Tt.floor(s),l=Tt.floor(l))),{min:s,max:l}},labelsRange:function(){var e=this.options,t=e.labels,n=this.rangeIndices(),i=Tt.floor(n.min),r=Tt.ceil(n.max);return{min:i+t.skip,max:e.categories.length?r+1:0}},panRange:function(e,t){var n=this._categoryRange(this.options.srcCategories),i=this.options,r=i.baseUnit,o=i.baseUnitStep||1,a=i.weekStartDay,s=g(m(n.min,0,r,a)),l=g(m(n.max,i.justified||i.roundToBaseUnit?0:o,r,a));return this.limitRange(e,t,s,l)},datesRange:function(){var e=this._categoryRange(this.options.srcCategories);return{min:p(e.min),max:p(e.max)}},pan:function(e){var t,n,i,r=this,o=r.options,a=o.baseUnit,s=r.lineBox(),l=o.vertical?s.height():s.width(),c=r.range(),u=l/(c.max-c.min),d=hn(e/u,oi);return c.min&&c.max&&(n=y(o.min||c.min,d),i=y(o.max||c.max,d),t=this.panRange(n,i),t&&(t.baseUnit=a,t.baseUnitStep=o.baseUnitStep||1)),t},pointsRange:function(e,t){var n=ne.fn.pointsRange.call(this,e,t,!0),i=this.options.categories,r=i.length-1,o=w(mn(i),i[0]),a=y(i[0],n.min/r*o),s=y(i[0],n.max/r*o);return{min:a,max:s}},zoomRange:function(e){var n=this.options,i=this._categoryRange(this.options.categories),r=this._categoryRange(this.options.srcCategories),o=n.baseUnit,a=n.baseUnitStep||1,s=n.weekStartDay,l=m(p(n.min||i.min),e*a,o,s),c=m(p(n.max||i.max),-e*a,o,s),u=Hr[o]*a;return l=p(vn(l,r.min,r.max)),c=p(vn(c,r.min,r.max)),w(c,l)>u?{min:m(l,0,o,s),max:m(c,0,o,s)}:t},range:function(e){var t,n,i,r,o,a,s,l,c,u,d,h;return e=e||this.options,t=e.categories,n=e.baseUnit===En,i=n?so[0]:e.baseUnit,r=e.baseUnitStep||1,o=g(e.min),a=g(e.max),s=this._categoryRange(t),l=this._categoryRange(e.srcCategories||t),c=g(s.min),u=g(s.max),d=m(o||c,0,i,e.weekStartDay),h=m(a||u,r,i,e.weekStartDay),e.outOfRangePoints&&(d>l.min&&(d=m(d,-r,i,e.weekStartDay)),l.max>=h&&(h=m(h,r,i,e.weekStartDay))),e.limitRange&&(h=vn(h,l.min,m(l.max,r,i,e.weekStartDay))),{min:p(d),max:p(h)}},autoBaseUnit:function(e){for(var t,n,i,r=this,o=r.range(Bt({},e,{baseUnitStep:1})),a=e.baseUnit===En,s=0,l=a?so[s++]:e.baseUnit,c=o.max-o.min,u=c/Hr[l],d=u,h=e.maxDateGroups||r.options.maxDateGroups,f=Bt({},r.options.autoBaseUnitSteps,e.autoBaseUnitSteps);!n||u>h;)if(t=t||f[l].slice(0),i=t.shift())n=i,u=d/n;else{if(l===mn(so)){n=Tt.ceil(d/h);break}if(!a){u>h&&(n=Tt.ceil(d/h));break}l=so[s++]||mn(so),d=c/Hr[l],t=null}e.baseUnitStep=n,e.baseUnit=l},_timeScale:function(){var e,t,n,i=this,r=i.range(),o=i.options,a=i.lineBox(),s=o.vertical,l=s?a.height():a.width();return o.justified&&o._collapse!==!1?(t=this._categoryRange(o.categories),n=g(t.max),e=p(n)-r.min):e=r.max-r.min,l/e},groupCategories:function(e){var t,n,i=this,r=e.categories,o=p(wn(r)),a=e.baseUnit,s=e.baseUnitStep||1,l=i.range(e),c=l.max,u=[];for(t=l.min;c>t&&(u.push(t),n=m(t,s,a,e.weekStartDay),!(n>o)||e.max);t=n);e.srcCategories=r,e.categories=u},createAxisLabel:function(e,n){var i,r,o=this.options,a=o.dataItems?o.dataItems[e]:null,s=o.categories[e],l=o.baseUnit,c=!0,u=n.dateFormats[l];return o.justified?(i=_(s,l,o.weekStartDay),c=T(i,s)):o.roundToBaseUnit||(c=!T(this.range().max,s)),c&&(n.format=n.format||u,r=this.axisLabelText(s,a,n))?new Vt(s,r,e,a,n):t},categoryIndex:function(e,t,n){var i,r=this,o=r.options,a=o.categories;return e=p(e),t=t||r.range(),n&&e&&o.roundToBaseUnit&&e>=t.max?a.length:!e||t.min>e||e>=t.max?-1:i=A(e,a)},getSlot:function(e,t,n){var i=this;return typeof e===ir&&(e=i.categoryIndex(e,null,n)),typeof t===ir&&(t=i.categoryIndex(t,null,n)),ne.fn.getSlot.call(i,e,t,n)}}),re=Ot.extend({init:function(e,t,n){var i=this;n=n||{},Bt(n,{min:p(n.min),max:p(n.max),axisCrossingValue:p(n.axisCrossingValues||n.axisCrossingValue)}),n=i.applyDefaults(p(e),p(t),n),Ot.fn.init.call(i,n)},options:{type:ti,majorGridLines:{visible:!0,width:1,color:Bn},labels:{dateFormats:co}},applyDefaults:function(e,n,i){var r=this,o=i.min||e,a=i.max||n,s=i.baseUnit||r.timeUnits(a-o),l=Hr[s],c=_(g(o)-1,s)||p(a),u=b(g(a)+1,s),d=i.majorUnit?i.majorUnit:t,h=d||Nt.ceil(Nt.autoMajorUnit(c.getTime(),u.getTime()),l)/l,f=k(c,u,s),v=Nt.ceil(f,h),w=v-f,y=Tt.floor(w/2),x=w-y;return i.baseUnit||delete i.baseUnit,i.baseUnit=i.baseUnit||s,i.min=i.min||m(c,-y,s),i.max=i.max||m(u,x,s),i.minorUnit=i.minorUnit||h/5,i.majorUnit=h,this.totalMin=g(_(g(e)-1,s)),this.totalMax=g(b(g(n)+1,s)),i},range:function(){var e=this.options;return{min:e.min,max:e.max}},getDivisions:function(e){var t=this.options;return Tt.floor(k(t.min,t.max,t.baseUnit)/e+1)},getTickPositions:function(e){var t,n,i,r=this.options,o=r.vertical,a=r.reverse,s=this.lineBox(),l=(o?-1:1)*(a?-1:1),c=1===l?1:2,u=s[(o?eo:Zr)+c],d=this.getDivisions(e),h=r.max-r.min,f=o?s.height():s.width(),p=f/h,g=[u];for(t=1;d>t;t++)n=m(r.min,t*r.majorUnit,r.baseUnit),i=u+(n-r.min)*p*l,g.push(hn(i,Qn));return g},getMajorTickPositions:function(){var e=this;return e.getTickPositions(e.options.majorUnit)},getMinorTickPositions:function(){var e=this;return e.getTickPositions(e.options.minorUnit)},getSlot:function(e,t,n){return Qt.fn.getSlot.call(this,p(e),p(t),n)},getValue:function(e){var t=Qt.fn.getValue.call(this,e);return null!==t?p(t):null},labelsCount:function(){return this.getDivisions(this.options.majorUnit)},createAxisLabel:function(e,t){var n,i,r=this.options,o=e*r.majorUnit,a=r.min;return o>0&&(a=m(a,o,r.baseUnit)),n=t.dateFormats[r.baseUnit],t.format=t.format||n,i=this.axisLabelText(a,null,t),new Vt(a,i,e,null,t)},timeUnits:function(e){var t=Ti;return e>=Lr?t=to:e>=zr?t=qi:e>=Br?t=Xr:e>=Pr&&(t=ni),t},translateRange:function(e,t){var n=this,i=n.options,r=i.baseUnit,o=i.weekStartDay,a=n.lineBox(),s=i.vertical?a.height():a.width(),l=n.range(),c=s/(l.max-l.min),u=hn(e/c,oi),d=y(i.min,u),h=y(i.max,u);return t||(d=m(d,0,r,o),h=m(h,0,r,o)),{min:d,max:h}},scaleRange:function(e){for(var t,n,i=this,r=i.options,o=Tt.abs(e),a=r.min,s=r.max;o--;)t=w(a,s),n=Tt.round(.1*t),0>e?(a=y(a,n),s=y(s,-n)):(a=y(a,-n),s=y(s,n));return{min:a,max:s}},shouldRenderNote:function(e){var t=this.range();return sn(e,t.min)>=0&&sn(e,t.max)<=0},pan:function(e){var n=this.translateRange(e,!0),i=this.limitRange(g(n.min),g(n.max),this.totalMin,this.totalMax);return i?{min:p(i.min),max:p(i.max)}:t},pointsRange:function(e,t){var n=this.getValue(e),i=this.getValue(t),r=Tt.min(n,i),o=Tt.max(n,i);return{min:p(r),max:p(o)}},zoomRange:function(e){var t=this.scaleRange(e),n=p(vn(g(t.min),this.totalMin,this.totalMax)),i=p(vn(g(t.max),this.totalMin,this.totalMax));return{min:n,max:i}}}),oe=jt.extend({options:{vertical:!1,gap:0,spacing:0},reflow:function(e){var t,n,i=this,r=i.options,o=r.vertical,a=o?eo:Zr,s=i.children,l=r.gap,c=r.spacing,u=s.length,d=u+l+c*(u-1),h=(o?e.height():e.width())/d,f=e[a+1]+h*(l/2);for(n=0;u>n;n++)t=(s[n].box||e).clone(),t[a+1]=f,t[a+2]=f+h,s[n].reflow(t),u-1>n&&(f+=h*c),f+=h}}),ae=jt.extend({options:{vertical:!0},reflow:function(e){var t,n,i,r=this.options,o=r.vertical,a=o?Zr:eo,s=this.children,l=this.box=new Ut,c=s.length;for(t=0;c>t;t++)n=s[t],n.visible!==!1&&(i=n.box.clone(),i.snapTo(e,a),0===t&&(l=this.box=i.clone()),n.reflow(i),l.wrap(i))}}),se={click:function(e,t){return e.trigger(kr,this.eventArgs(t))},hover:function(e,t){return e.trigger(xr,this.eventArgs(t))},eventArgs:function(t){return{value:this.value,percentage:this.percentage,category:this.category,series:this.series,dataItem:this.dataItem,runningTotal:this.runningTotal,total:this.total,element:e((t||{}).target),originalEvent:t,point:this}}},le={createNote:function(){var e=this,t=e.options.notes,n=e.noteText||t.label.text;t.visible!==!1&&gn(n)&&null!==n&&(e.note=new Yt(e.value,n,e.dataItem,e.category,e.series,e.options.notes),e.append(e.note))}},ce=jt.extend({init:function(e,t){var n=this;jt.fn.init.call(n),n.options=t,n.color=t.color||Jr,n.aboveAxis=kn(n.options.aboveAxis,!0),n.value=e},defaults:{border:{width:1},vertical:!0,overlay:{gradient:xi},labels:{visible:!1,format:"{0}"},opacity:1,notes:{label:{}}},render:function(){this._rendered||(this._rendered=!0,this.createLabel(),this.createNote(),this.errorBar&&this.append(this.errorBar))},createLabel:function(){var e,t,n=this.options,i=n.labels;i.visible&&(i.template?(t=Ht(i.template),e=t({dataItem:this.dataItem,category:this.category,value:this.value,percentage:this.percentage,runningTotal:this.runningTotal,total:this.total,series:this.series})):e=this.formatValue(i.format),this.label=new J(e,Bt({vertical:n.vertical},n.labels)),this.append(this.label))},formatValue:function(e){return this.owner.formatPointValue(this,e)},reflow:function(e){var t,n,i;if(this.render(),t=this,n=t.label,t.box=e,n&&(n.options.aboveAxis=t.aboveAxis,n.reflow(e)),t.note&&t.note.reflow(e),t.errorBars)for(i=0;t.errorBars.length>i;i++)t.errorBars[i].reflow(e)},createVisual:function(){var e,t=this,n=t.box,i=t.options,r=i.visual;t.visible!==!1&&(jt.fn.createVisual.call(t),r?(e=this.rectVisual=r({category:t.category,dataItem:t.dataItem,value:t.value,sender:t.getChart(),series:t.series,percentage:t.percentage,runningTotal:t.runningTotal,total:t.total,rect:n.toRect(),createVisual:function(){var e=new Cn.Group;return t.createRect(e),e},options:i}),e&&t.visual.append(e)):n.width()>0&&n.height()>0&&t.createRect(t.visual))},createRect:function(e){var n,i,r,o,a=this.options,s=a.border,l=gn(s.opacity)?s.opacity:a.opacity,c=this.box.toRect();c.size.width=Math.round(c.size.width),n=this.rectVisual=Cn.Path.fromRect(c,{fill:{color:this.color,opacity:a.opacity},stroke:{color:this.getBorderColor(),width:s.width,opacity:l,dashType:s.dashType}}),i=this.box.width(),r=this.box.height(),o=a.vertical?i:r,o>Rn&&(on(n),(1>i||1>r)&&(n.options.stroke.lineJoin="round")),e.append(n),W(a)&&e.append(this.createGradientOverlay(n,{baseColor:this.color},Bt({end:a.vertical?t:[0,1]},a.overlay)))},createHighlight:function(e){var t=Cn.Path.fromRect(this.box.toRect(),e);return on(t)},highlightVisual:function(){return this.rectVisual},highlightVisualArgs:function(){return{options:this.options,rect:this.box.toRect(),visual:this.rectVisual}},getBorderColor:function(){var e=this,t=e.options,n=e.color,i=t.border,r=i.color,o=i._brightness||Fn;return gn(r)||(r=new qt(n).brightness(o).toHex()),r},tooltipAnchor:function(e,t){var n,i,r,o,a=this,s=a.options,l=a.box,c=s.vertical,u=a.aboveAxis,d=a.owner.pane.clipBox()||l;return c?(n=l.x2+Ur,i=u?Tt.max(l.y1,d.y1):Tt.min(l.y2,d.y2)-t):(r=Tt.max(l.x1,d.x1),o=Tt.min(l.x2,d.x2),s.isStacked?(n=u?o-e:r,i=l.y1-t-Ur):(n=u?o+Ur:r-e-Ur,i=l.y1)),new Xt(n,i)}}),Bt(ce.fn,se),Bt(ce.fn,le),ue=Cn.Animation.extend({options:{duration:Di},setup:function(){var e,t,n=this.element,i=this.options,r=n.bbox();r?(this.origin=i.origin,e=i.vertical?eo:Zr,t=this.fromScale=new xn.Point(1,1),t[e]=Cr,n.transform(xn.transform().scale(t.x,t.y))):this.abort()},step:function(e){var t=un(this.fromScale.x,1,e),n=un(this.fromScale.y,1,e);this.element.transform(xn.transform().scale(t,n,this.origin))},abort:function(){Cn.Animation.fn.abort.call(this),this.element.transform(null)}}),Cn.AnimationFactory.current.register(In,ue),de=Cn.Animation.extend({options:{duration:200,easing:Li},setup:function(){this.fadeTo=this.element.opacity(),this.element.opacity(0)},step:function(e){this.element.opacity(e*this.fadeTo)}}),Cn.AnimationFactory.current.register(bi,de),he=function(e,t,n){var i=this;i.initGlobalRanges(e,t,n)},he.prototype=he.fn={percentRegex:/percent(?:\w*)\((\d+)\)/,standardDeviationRegex:RegExp("^"+Ar+"(?:\\((\\d+(?:\\.\\d+)?)\\))?$"),initGlobalRanges:function(e,t,n){var i,r,o,a,s,l=this,c=t.data,u=l.standardDeviationRegex.exec(e);u?(l.valueGetter=l.createValueGetter(t,n),i=l.getAverage(c),r=l.getStandardDeviation(c,i,!1),o=u[1]?parseFloat(u[1]):1,a={low:i.value-r*o,high:i.value+r*o},l.globalRange=function(){return a}):e.indexOf&&e.indexOf(Dr)>=0&&(l.valueGetter=l.createValueGetter(t,n),s=l.getStandardError(c,l.getAverage(c)),l.globalRange=function(e){return{low:e-s,high:e+s}})},createValueGetter:function(e,t){var n,i,r,o=e.data,a=X.current,s=a.valueFields(e),l=gn(o[0])?o[0]:{};return xt(l)?(n=t?z(t,s):0,r=zt("["+n+"]")):E(l)?r=zt():typeof l===ir&&(i=a.sourceFields(e,s),r=zt(i[z(t,s)])),r},getErrorRange:function(e,t){var n,i,r,o,a=this;if(gn(t)){if(a.globalRange)return a.globalRange(e);if(xt(t))n=e-t[0],i=e+t[1];else if(E(r=parseFloat(t)))n=e-r,i=e+r;else{if(!(r=a.percentRegex.exec(t)))throw Error("Invalid ErrorBar value: "+t);o=e*(parseFloat(r[1])/100),n=e-Tt.abs(o),i=e+Tt.abs(o)}return{low:n,high:i}}},getStandardError:function(e,t){return this.getStandardDeviation(e,t,!0)/Tt.sqrt(t.count)},getStandardDeviation:function(e,t,n){var i,r,o=0,a=e.length,s=n?t.count-1:t.count;for(r=0;a>r;r++)i=this.valueGetter(e[r]),E(i)&&(o+=Tt.pow(i-t.value,2));return Tt.sqrt(o/s)},getAverage:function(e){var t,n,i=0,r=0,o=e.length;for(n=0;o>n;n++)t=this.valueGetter(e[n]),E(t)&&(i+=t,r++);return{value:i/r,count:r}}},fe=jt.extend({init:function(e,t){var n=this;jt.fn.init.call(n,t),n.plotArea=e,n.categoryAxis=e.seriesCategoryAxis(t.series[0]),n.valueAxisRanges={},n.points=[],n.categoryPoints=[],n.seriesPoints=[],n.seriesOptions=[],n._evalSeries=[],n.render()},options:{series:[],invertAxes:!1,isStacked:!1,clip:!0},render:function(){var e=this;e.traverseDataPoints(Et(e.addValue,e))},pointOptions:function(e,t){var n,i=this.seriesOptions[t];return i||(n=this.pointType().fn.defaults,this.seriesOptions[t]=i=Bt({},n,{vertical:!this.options.invertAxes},e)),i},plotValue:function(e){var t,n,i,r,o,a,s,l;if(!e)return 0;if(this.options.isStacked100&&E(e.value)){for(t=e.categoryIx,n=this.categoryPoints[t],i=0,r=[],o=0;n.length>o;o++)if(a=n[o]){if(s=e.series.stack,l=a.series.stack,s&&l&&s.group!==l.group)continue;E(a.value)&&(i+=Tt.abs(a.value),r.push(Tt.abs(a.value)))}if(i>0)return e.value/i}return e.value},plotRange:function(e,t){var n,i,r,o,a,s,l,c,u,d,h,f,p=e.categoryIx,g=this.categoryPoints[p];if(this.options.isStacked){for(t=t||0,n=this.plotValue(e),i=n>=0,r=t,o=!1,a=0;g.length>a&&(s=g[a],e!==s);a++){if(l=e.series.stack,c=s.series.stack,l&&c){if(typeof l===Er&&l!==c)continue;if(l.group&&l.group!==c.group)continue}u=this.plotValue(s),(u>=0&&i||0>u&&!i)&&(r+=u,n+=u,o=!0,this.options.isStacked100&&(n=Tt.min(n,1)))}return o&&(r-=t),[r,n]}return d=e.series,h=this.seriesValueAxis(d),f=this.categoryAxisCrossingValue(h),[f,e.value||f]},stackLimits:function(e,t){var n,i,r,o,a,s=Vi,l=Wi;for(n=0;this.categoryPoints.length>n;n++)for(i=this.categoryPoints[n],r=0;i.length>r;r++)o=i[r],o&&(o.series.stack===t||o.series.axis===e)&&(a=this.plotRange(o,0)[1],gn(a)&&isFinite(a)&&(l=Tt.max(l,a),s=Tt.min(s,a)));return{min:s,max:l}},updateStackRange:function(){var e,t,n,i,r,o,a=this,s=a.options.series,l=a.options.isStacked,c={};if(l)for(t=0;s.length>t;t++)n=s[t],i=n.axis,r=i+n.stack,e=c[r],e||(e=a.stackLimits(i,n.stack),o=a.errorTotals,o&&(o.negative.length&&(e.min=Tt.min(e.min,bn(o.negative))),o.positive.length&&(e.max=Tt.max(e.max,wn(o.positive)))),e.min!==Vi||e.max!==Wi?c[r]=e:e=null),e&&(a.valueAxisRanges[i]=e)},addErrorBar:function(e,t,n){var i,r=this,o=e.value,a=e.series,s=e.seriesIx,l=e.options.errorBars,c=t.fields[fi],u=t.fields[pi];E(c)&&E(u)?i={low:c,high:u}:l&&gn(l.value)&&(r.seriesErrorRanges=r.seriesErrorRanges||[],r.seriesErrorRanges[s]=r.seriesErrorRanges[s]||new he(l.value,a,Gr),i=r.seriesErrorRanges[s].getErrorRange(o,l.value)),i&&(e.low=i.low,e.high=i.high,r.addPointErrorBar(e,n))},addPointErrorBar:function(e,t){var n,i,r,o=this,a=e.series,s=e.low,l=e.high,c=!o.options.invertAxes,u=e.options.errorBars;o.options.isStacked?(i=o.stackedErrorRange(e,t),s=i.low,l=i.high):(r={categoryIx:t,series:a},o.updateRange({value:s},r),o.updateRange({value:l},r)),n=new ye(s,l,c,o,a,u),e.errorBars=[n],e.append(n)},stackedErrorRange:function(e,t){var n=this,i=n.plotRange(e,0)[1]-e.value,r=e.low+i,o=e.high+i;return n.errorTotals=n.errorTotals||{positive:[],negative:[]},0>r&&(n.errorTotals.negative[t]=Tt.min(n.errorTotals.negative[t]||0,r)),o>0&&(n.errorTotals.positive[t]=Tt.max(n.errorTotals.positive[t]||0,o)),{low:r,high:o}},addValue:function(t,n){var i,r,o=this,a=n.categoryIx,s=n.series,l=n.seriesIx,c=o.categoryPoints[a];c||(o.categoryPoints[a]=c=[]),i=o.seriesPoints[l],i||(o.seriesPoints[l]=i=[]),r=o.createPoint(t,n),r&&(e.extend(r,n),r.owner=o,r.dataItem=s.data[a],r.noteText=t.fields.noteText,o.addErrorBar(r,t,a)),o.points.push(r),i.push(r),c.push(r),o.updateRange(t.valueFields,n)},evalPointOptions:function(e,t,n,i,r,o){var a={defaults:r._defaults,excluded:["data","aggregate","_events","tooltip","template","visual","toggle"]},s=this._evalSeries[o];return gn(s)||(this._evalSeries[o]=s=F(e,{},a,!0)),s&&(e=Bt({},e),F(e,{value:t,category:n,index:i,series:r,dataItem:r.data[i]},a)),e},updateRange:function(e,t){var n=this,i=t.series.axis,r=e.value,o=n.valueAxisRanges[i];isFinite(r)&&null!==r&&(o=n.valueAxisRanges[i]=o||{min:Vi,max:Wi},o.min=Tt.min(o.min,r),o.max=Tt.max(o.max,r))},seriesValueAxis:function(e){var t=this.plotArea,n=e.axis,i=n?t.namedValueAxes[n]:t.valueAxis;if(!i)throw Error("Unable to locate value axis with name "+n);return i},reflow:function(e){var t,n,i,r=this,o=0,a=r.categorySlots=[],s=r.points,l=r.categoryAxis;r.traverseDataPoints(function(e,c){var u,d,h,f,p=c.categoryIx,g=c.series;t=r.pointValue(e),n=r.seriesValueAxis(g),i=s[o++],u=a[p],u||(a[p]=u=r.categorySlot(l,p,n)),i&&(d=r.plotRange(i,n.startValue()),h=n.getSlot(d[0],d[1],!r.options.clip),h?(f=r.pointSlot(u,h),i.aboveAxis=r.aboveAxis(i,n),r.options.isStacked100&&(i.percentage=r.plotValue(i)),r.reflowPoint(i,f)):i.visible=!1)}),r.reflowCategories(a),r.box=e},aboveAxis:function(e,t){var n=this.categoryAxisCrossingValue(t),i=e.value;return t.options.reverse?n>i:i>=n},categoryAxisCrossingValue:function(e){var t=this.categoryAxis,n=e.options,i=[].concat(n.axisCrossingValues||n.axisCrossingValue);return i[t.axisIndex||0]||0},reflowPoint:function(e,t){e.reflow(t)},reflowCategories:function(){},pointSlot:function(e,t){var n=this,i=n.options,r=i.invertAxes,o=r?t:e,a=r?e:t;return new Ut(o.x1,a.y1,o.x2,a.y2)},categorySlot:function(e,t){return e.getSlot(t)},traverseDataPoints:function(e){var t,n,i,r,o,a=this,s=a.options,l=s.series,c=a.categoryAxis.options.categories||[],d=u(l),h=l.length;for(t=0;d>t;t++)for(n=0;h>n;n++)o=l[n],r=c[t],i=this._bindPoint(o,n,t),e(i,{category:r,categoryIx:t,series:o,seriesIx:n})},_bindPoint:function(e,t,n){var i,r;return this._bindCache||(this._bindCache=[]),i=this._bindCache[t],i||(i=this._bindCache[t]=[]),r=i[n],r||(r=i[n]=X.current.bindPoint(e,n)),r},formatPointValue:function(e,t){return null===e.value?"":an(t,e.value)},pointValue:function(e){return e.valueFields.value}}),pe=fe.extend({options:{animation:{type:In}},render:function(){var e=this;fe.fn.render.apply(e),e.updateStackRange()},pointType:function(){return ce},clusterType:function(){return oe},stackType:function(){return ae},stackLimits:function(e,t){var n=fe.fn.stackLimits.call(this,e,t);return n},createPoint:function(e,t){var n,i,r,o,a=this,s=t.categoryIx,l=t.category,c=t.series,u=t.seriesIx,d=a.pointValue(e),h=a.options,f=a.children,p=a.options.isStacked,g=a.pointType(),m=a.clusterType(),v=this.pointOptions(c,u),_=v.labels;return p&&_.position==or&&(_.position=Ei),v.isStacked=p,r=e.fields.color||c.color,0>d&&v.negativeColor&&(r=v.negativeColor),v=a.evalPointOptions(v,d,l,s,c,u),Mt.isFunction(c.color)&&(r=v.color),n=new g(d,v),n.color=r,i=f[s],i||(i=new m({vertical:h.invertAxes,gap:h.gap,spacing:h.spacing}),a.append(i)),p?(o=a.getStackWrap(c,i),o.append(n)):i.append(n),n},getStackWrap:function(e,t){var n,i,r,o=e.stack,a=o?o.group||o:o,s=t.children;if(typeof a===Er){for(i=0;s.length>i;i++)if(s[i]._stackGroup===a){n=s[i];break}}else n=s[0];return n||(r=this.stackType(),n=new r({vertical:!this.options.invertAxes}),n._stackGroup=a,t.append(n)),n},categorySlot:function(e,t,n){var i,r,o=this,a=o.options,s=e.getSlot(t),l=n.startValue();return a.isStacked&&(r=n.getSlot(l,l,!0),i=a.invertAxes?Zr:eo,s[i+1]=s[i+2]=r[i+1]),s},reflowCategories:function(e){var t,n=this,i=n.children,r=i.length;for(t=0;r>t;t++)i[t].reflow(e[t])},createAnimation:function(){this._setAnimationOptions(),jt.fn.createAnimation.call(this),j(this.options.series)&&this._setChildrenAnimation()},_setChildrenAnimation:function(){var e,t,n,i=this.points;for(n=0;i.length>n;n++)e=i[n],t=e.visual,t&&gn(t.options.zIndex)&&(e.options.animation=this.options.animation,e.createAnimation())},_setAnimationOptions:function(){var e,t,n=this.options,i=n.animation||{};this.options.isStacked?(t=this.seriesValueAxis(n.series[0]),e=t.getSlot(t.startValue())):e=this.categoryAxis.getSlot(0),i.origin=new xn.Point(e.x1,e.y1),i.vertical=!n.invertAxes}}),ge=ce.extend({defaults:{labels:{format:"{0} - {1}"},tooltip:{format:"{1}"}},createLabel:function(){var e=this.options.labels,t=Bt({},e,e.from),n=Bt({},e,e.to);t.visible&&(this.labelFrom=this._createLabel(t),this.append(this.labelFrom)),n.visible&&(this.labelTo=this._createLabel(n),this.append(this.labelTo))},_createLabel:function(e){var t,n;return e.template?(n=Ht(e.template),t=n({dataItem:this.dataItem,category:this.category,value:this.value,percentage:this.percentage,runningTotal:this.runningTotal,total:this.total,series:this.series})):t=this.formatValue(e.format),new J(t,Bt({vertical:this.options.vertical},e))},reflow:function(e){this.render();var t=this,n=t.labelFrom,i=t.labelTo;t.box=e,n&&(n.options.aboveAxis=t.value.from>t.value.to,n.reflow(e)),i&&(i.options.aboveAxis=t.value.to>t.value.from,i.reflow(e)),t.note&&t.note.reflow(e)}}),me=pe.extend({pointType:function(){return ge},pointValue:function(e){return e.valueFields},formatPointValue:function(e,t){return null===e.value.from&&null===e.value.to?"":an(t,e.value.from,e.value.to)},plotLimits:fe.fn.plotLimits,plotRange:function(e){return e?[e.value.from,e.value.to]:0},updateRange:function(e,t){var n=this,i=t.series.axis,r=e.from,o=e.to,a=n.valueAxisRanges[i];null!==e&&E(r)&&E(o)&&(a=n.valueAxisRanges[i]=a||{min:Vi,max:Wi},a.min=Tt.min(a.min,r),a.max=Tt.max(a.max,r),a.min=Tt.min(a.min,o),a.max=Tt.max(a.max,o))},aboveAxis:function(e){var t=e.value;return t.to>t.from}}),ve=fe.extend({init:function(e,t){var n=this;n.wrapData(t),fe.fn.init.call(n,e,t)},options:{animation:{type:In}},wrapData:function(e){var t,n,i,r=e.series;for(t=0;r.length>t;t++)i=r[t],n=i.data,n&&!xt(n[0])&&typeof n[0]!=ir&&(i.data=[n])},reflowCategories:function(e){var t,n=this,i=n.children,r=i.length;for(t=0;r>t;t++)i[t].reflow(e[t])},plotRange:function(e){var t=e.series,n=this.seriesValueAxis(t),i=this.categoryAxisCrossingValue(n);return[i,e.value.current||i]},createPoint:function(e,t){var n,i,r=this,o=t.categoryIx,a=t.category,s=t.series,l=t.seriesIx,c=e.valueFields,u=r.options,d=r.children,h=Bt({vertical:!u.invertAxes,overlay:s.overlay,categoryIx:o,invertAxes:u.invertAxes},s),f=e.fields.color||s.color;return h=r.evalPointOptions(h,c,a,o,s,l),Mt.isFunction(s.color)&&(f=h.color),n=new _e(c,h),n.color=f,i=d[o],i||(i=new oe({vertical:u.invertAxes,gap:u.gap,spacing:u.spacing}),r.append(i)),i.append(n),n},updateRange:function(e,t){var n=this,i=t.series.axis,r=e.current,o=e.target,a=n.valueAxisRanges[i];gn(r)&&!isNaN(r)&&gn(o&&!isNaN(o))&&(a=n.valueAxisRanges[i]=a||{min:Vi,max:Wi},a.min=Tt.min.apply(Tt,[a.min,r,o]),a.max=Tt.max.apply(Tt,[a.max,r,o]))},formatPointValue:function(e,t){return an(t,e.value.current,e.value.target)},pointValue:function(e){return e.valueFields.current},aboveAxis:function(e){var t=e.value.current;return t>0},createAnimation:function(){var e,t,n=this.points;for(this._setAnimationOptions(),t=0;n.length>t;t++)e=n[t],e.options.animation=this.options.animation,e.createAnimation()},_setAnimationOptions:pe.fn._setAnimationOptions}),_e=jt.extend({init:function(e,t){var n=this;jt.fn.init.call(n,t),n.aboveAxis=n.options.aboveAxis,n.color=t.color||Jr,n.value=e},options:{border:{width:1},vertical:!1,opacity:1,target:{shape:"",border:{width:0,color:"green"},line:{width:2}},tooltip:{format:"Current: {0}</br>Target: {1}"}},render:function(){var e=this,t=e.options;e._rendered||(e._rendered=!0,gn(e.value.target)&&(e.target=new be({type:t.target.shape,background:t.target.color||e.color,opacity:t.opacity,zIndex:t.zIndex,border:t.target.border,vAlign:Or,align:fr}),e.append(e.target)),e.createNote())},reflow:function(e){this.render();var t,n=this,i=n.options,r=n.owner,o=n.target,a=i.invertAxes,s=r.seriesValueAxis(n.options),l=r.categorySlot(r.categoryAxis,i.categoryIx,s),c=s.getSlot(n.value.target),u=a?c:l,d=a?l:c;o&&(t=new Ut(u.x1,d.y1,u.x2,d.y2),o.options.height=a?t.height():i.target.line.width,o.options.width=a?i.target.line.width:t.width(),o.reflow(t)),n.note&&n.note.reflow(e),n.box=e},createVisual:function(){var e,t;jt.fn.createVisual.call(this),e=this.options,t=Cn.Path.fromRect(this.box.toRect(),{fill:{color:this.color,opacity:e.opacity},stroke:null}),e.border.width>0&&t.options.set("stroke",{color:e.border.color||this.color,width:e.border.width,dashType:e.border.dashType,opacity:kn(e.border.opacity,e.opacity)}),this.bodyVisual=t,on(t),this.visual.append(t)},createAnimation:function(){this.bodyVisual&&(this.animation=Cn.Animation.create(this.bodyVisual,this.options.animation))},tooltipAnchor:function(e,t){var n,i,r,o,a=this,s=a.options,l=a.box,c=s.vertical,u=a.aboveAxis,d=a.owner.pane.clipBox()||l;return c?(n=l.x2+Ur,i=u?Tt.max(l.y1,d.y1):Tt.min(l.y2,d.y2)-t):(r=Tt.max(l.x1,d.x1),o=Tt.min(l.x2,d.x2),s.isStacked?(n=u?o-e:r,i=l.y1-t-Ur):(n=u?o+Ur:r-e-Ur,i=l.y1)),new Xt(n,i)},createHighlight:function(e){return Cn.Path.fromRect(this.box.toRect(),e);
|
|
},highlightVisual:function(){return this.bodyVisual},highlightVisualArgs:function(){return{rect:this.box.toRect(),visual:this.bodyVisual,options:this.options}},formatValue:function(e){var t=this;return t.owner.formatPointValue(t,e)}}),Bt(_e.fn,se),Bt(_e.fn,le),be=en.extend(),Bt(be.fn,se),we=jt.extend({init:function(e,t,n,i,r,o){var a=this;a.low=e,a.high=t,a.isVertical=n,a.chart=i,a.series=r,jt.fn.init.call(a,o)},options:{animation:{type:bi,delay:Di},endCaps:!0,line:{width:1},zIndex:1},getAxis:function(){},reflow:function(e){var t,n=this,i=n.options.endCaps,r=n.isVertical,o=n.getAxis(),a=o.getSlot(n.low,n.high),s=e.center(),l=n.getCapsWidth(e,r),c=r?s.x:s.y,u=c-l,d=c+l;r?(t=[Xt(s.x,a.y1),Xt(s.x,a.y2)],i&&t.push(Xt(u,a.y1),Xt(d,a.y1),Xt(u,a.y2),Xt(d,a.y2)),n.box=Ut(u,a.y1,d,a.y2)):(t=[Xt(a.x1,s.y),Xt(a.x2,s.y)],i&&t.push(Xt(a.x1,u),Xt(a.x1,d),Xt(a.x2,u),Xt(a.x2,d)),n.box=Ut(a.x1,u,a.x2,d)),n.linePoints=t},getCapsWidth:function(e,t){var n=t?e.width():e.height(),i=Tt.min(Tt.floor(n/2),si)||si;return i},createVisual:function(){var e=this,t=e.options,n=t.visual;n?e.visual=n({low:e.low,high:e.high,rect:e.box.toRect(),sender:e.getChart(),options:{endCaps:t.endCaps,color:t.color,line:t.line},createVisual:function(){e.createDefaultVisual();var t=e.visual;return delete e.visual,t}}):e.createDefaultVisual()},createDefaultVisual:function(){var e,t,n=this,i=n.options,r={stroke:{color:i.color,width:i.line.width,dashType:i.line.dashType}},o=n.linePoints;for(jt.fn.createVisual.call(this),e=0;o.length>e;e+=2)t=new Cn.Path(r).moveTo(o[e].x,o[e].y).lineTo(o[e+1].x,o[e+1].y),this.visual.append(t)}}),ye=we.extend({getAxis:function(){var e=this,t=e.chart,n=e.series,i=t.seriesValueAxis(n);return i}}),ke=we.extend({getAxis:function(){var e=this,t=e.chart,n=e.series,i=t.seriesAxes(n),r=e.isVertical?i.y:i.x;return r}}),xe=jt.extend({init:function(e,t){var n=this;jt.fn.init.call(n),n.value=e,n.options=t,n.aboveAxis=kn(n.options.aboveAxis,!0),n.tooltipTracking=!0},defaults:{vertical:!0,markers:{visible:!0,background:Jr,size:zi,type:qn,border:{width:2},opacity:1},labels:{visible:!1,position:Tn,margin:ln(3),padding:ln(4),animation:{type:bi,delay:Di}},notes:{label:{}},highlight:{markers:{border:{}}}},render:function(){var e,t=this,n=t.options,i=n.markers,r=n.labels,o=t.value;t._rendered||(t._rendered=!0,i.visible&&i.size&&(t.marker=t.createMarker(),t.append(t.marker)),r.visible&&(r.template?(e=Ht(r.template),o=e({dataItem:t.dataItem,category:t.category,value:t.value,percentage:t.percentage,series:t.series})):r.format&&(o=t.formatValue(r.format)),t.label=new nn(o,Bt({align:Wn,vAlign:Wn,margin:{left:5,right:5},zIndex:kn(r.zIndex,this.series.zIndex)},r)),t.append(t.label)),t.createNote(),t.errorBar&&t.append(t.errorBar))},markerBorder:function(){var e=this.options.markers,t=e.background,n=Bt({color:this.color},e.border);return gn(n.color)||(n.color=new qt(t).brightness(Fn).toHex()),n},createVisual:Dt,createMarker:function(){var e=this.options.markers,t=new en({type:e.type,width:e.size,height:e.size,rotation:e.rotation,background:e.background,border:this.markerBorder(),opacity:e.opacity,zIndex:kn(e.zIndex,this.series.zIndex),animation:e.animation,visual:e.visual},{dataItem:this.dataItem,value:this.value,series:this.series,category:this.category});return t},markerBox:function(){return this.marker||(this.marker=this.createMarker(),this.marker.reflow(this._childBox)),this.marker.box},reflow:function(e){var t,n,i,r,o=this,a=o.options,s=a.vertical,l=o.aboveAxis;if(o.render(),o.box=e,t=e.clone(),s?l?t.y1-=t.height():t.y2+=t.height():l?t.x1+=t.width():t.x2-=t.width(),o._childBox=t,o.marker&&o.marker.reflow(t),o.reflowLabel(t),o.errorBars)for(i=0;o.errorBars.length>i;i++)o.errorBars[i].reflow(t);o.note&&(r=o.markerBox(),o.marker||(n=r.center(),r=Ut(n.x,n.y,n.x,n.y)),o.note.reflow(r))},reflowLabel:function(e){var t=this,n=t.options,i=t.label,r=n.labels.position;i&&(r=r===Tn?Or:r,r=r===Pn?Ln:r,i.reflow(e),i.box.alignTo(t.markerBox(),r),i.reflow(i.box))},createHighlight:function(){var e=this.options.highlight,t=e.markers,n=this.markerBorder().color,i=this.options.markers,r=new en({type:i.type,width:i.size,height:i.size,rotation:i.rotation,background:t.color||n,border:{color:t.border.color,width:t.border.width,opacity:kn(t.border.opacity,1)},opacity:kn(t.opacity,1)});return r.reflow(this._childBox),r.getElement()},highlightVisual:function(){return(this.marker||{}).visual},highlightVisualArgs:function(){var e,t,n,i,r,o=this.marker;return o?(t=o.paddingBox.toRect(),e=o.visual):(n=this.options.markers.size,i=n/2,r=this.box.center(),t=new xn.Rect([r.x-i,r.y-i],[n,n])),{options:this.options,rect:t,visual:e}},tooltipAnchor:function(e,n){var i=this,r=i.markerBox(),o=i.aboveAxis,a=r.x2+Ur,s=o?r.y1-n:r.y2,l=i.owner.pane.clipBox(),c=!l||l.overlaps(r);return c?Xt(a,s):t},formatValue:function(e){var t=this;return t.owner.formatPointValue(t,e)}}),Bt(xe.fn,se),Bt(xe.fn,le),Ce=xe.extend({init:function(e,t){var n=this;xe.fn.init.call(n,e,t),n.category=e.category},defaults:{labels:{position:Wn},highlight:{opacity:1,border:{width:1,opacity:1}}},createHighlight:function(){var e=this.options.highlight,t=e.border,n=this.options.markers,i=this.box.center(),r=n.size/2-t.width/2,o=new Cn.Circle(new xn.Circle([i.x,i.y],r),{stroke:{color:t.color||new qt(n.background).brightness(Fn).toHex(),width:t.width,opacity:t.opacity},fill:{color:n.background,opacity:e.opacity}});return o}}),Se=jt.extend({init:function(e,t,n){var i=this;jt.fn.init.call(i),i.linePoints=e,i.series=t,i.seriesIx=n},options:{closed:!1},points:function(e){var t,n,i=this,r=i.linePoints.concat(e||[]),o=[];for(t=0,n=r.length;n>t;t++)r[t].visible!==!1&&o.push(r[t]._childBox.toRect().center());return o},createVisual:function(){var e,t=this.options,n=this.series,i=n._defaults,r=n.color;Lt(r)&&i&&(r=i.color),e=Cn.Path.fromPoints(this.points(),{stroke:{color:r,width:n.width,opacity:n.opacity,dashType:n.dashType},zIndex:n.zIndex}),t.closed&&e.close(),this.visual=e},aliasFor:function(e,t){var n=this,i=n.seriesIx;return n.parent.getNearestPoint(t.x,t.y,i)}}),Te={renderSegments:function(){var e,t,n,i,r,o,a,s,l=this,c=l.options,u=c.series,d=l.seriesPoints,h=d.length;for(this._segments=[],t=0;h>t;t++){for(e=u[t],n=l.sortPoints(d[t]),a=n.length,i=[],o=0;a>o;o++)r=n[o],r?i.push(r):l.seriesMissingValues(e)!==Mi&&(i.length>1&&(s=l.createSegment(i,e,t,s),this._addSegment(s)),i=[]);i.length>1&&(s=l.createSegment(i,e,t,s),this._addSegment(s))}this.children.unshift.apply(this.children,this._segments)},_addSegment:function(e){this._segments.push(e),e.parent=this},sortPoints:function(e){return e},seriesMissingValues:function(e){var t=e.missingValues,n=!t&&this.options.isStacked;return n?no:t||Mi},getNearestPoint:function(e,t,n){var i,r,o,a,s,l=new Xt(e,t),c=this.seriesPoints[n],u=Vi;for(r=0;c.length>r;r++)o=c[r],o&&gn(o.value)&&null!==o.value&&o.visible!==!1&&(a=o.box,s=a.center().distanceTo(l),u>s&&(i=o,u=s));return i}},De={createAnimation:function(){var e,t,n=this.getRoot();n&&(n.options||{}).transitions!==!1&&(e=n.box,t=Cn.Path.fromRect(e.toRect()),this.visual.clip(t),this.animation=new Ee(t,{box:e}),j(this.options.series)&&this._setChildrenAnimation(t))},_setChildrenAnimation:function(e){var t,n,i=this.animationPoints();for(n=0;i.length>n;n++)t=i[n],t&&t.visual&&gn(t.visual.options.zIndex)&&t.visual.clip(e)}},Ae=fe.extend({render:function(){var e=this;fe.fn.render.apply(e),e.updateStackRange(),e.renderSegments()},pointType:function(){return xe},createPoint:function(e,t){var n,i,r,o=this,a=t.categoryIx,s=t.category,l=t.series,c=t.seriesIx,u=e.valueFields.value,d=o.seriesMissingValues(l);if(!gn(u)||null===u){if(d!==no)return null;u=0}return i=this.pointOptions(l,c),i=o.evalPointOptions(i,u,s,a,l,c),r=e.fields.color||l.color,Mt.isFunction(l.color)&&(r=i.color),n=new xe(u,i),n.color=r,o.append(n),n},plotRange:function(e){var t,n,i,r,o=this.plotValue(e);if(this.options.isStacked)for(t=e.categoryIx,n=this.categoryPoints[t],i=0;n.length>i&&(r=n[i],e!==r);i++)o+=this.plotValue(r);return[o,o]},createSegment:function(e,t,n){var i,r=t.style;return new(i=r===Sr?Me:r===Tr?Ie:Se)(e,t,n)},animationPoints:function(){var e,t=this.points,n=[];for(e=0;t.length>e;e++)n.push((t[e]||{}).marker);return n.concat(this._segments)}}),Bt(Ae.fn,Te,De),Ee=Cn.Animation.extend({options:{duration:Di},setup:function(){this._setEnd(this.options.box.x1)},step:function(e){var t=this.options.box;this._setEnd(un(t.x1,t.x2,e))},_setEnd:function(e){var t=this.element,n=t.segments,i=n[1].anchor(),r=n[2].anchor();t.suspend(),i.setX(e),t.resume(),r.setX(e)}}),Cn.AnimationFactory.current.register($n,Ee),Me=Se.extend({points:function(e){var t,n=this;return t=n.calculateStepPoints(n.linePoints),e&&e.length&&(t=t.concat(n.calculateStepPoints(e).reverse())),t},calculateStepPoints:function(e){var t,n,i,r,o,a=this,s=a.parent,l=s.plotArea,c=l.seriesCategoryAxis(a.series),u=s.seriesMissingValues(a.series)===Mi,d=e.length,h=c.options.reverse,f=c.options.vertical,p=h?2:1,g=h?1:2,m=[];for(i=1;d>i;i++)t=e[i-1],n=e[i],r=t.markerBox().center(),o=n.markerBox().center(),c.options.justified?(m.push(new xn.Point(r.x,r.y)),m.push(f?new xn.Point(r.x,o.y):new xn.Point(o.x,r.y)),m.push(new xn.Point(o.x,o.y))):f?(m.push(new xn.Point(r.x,t.box[eo+p])),m.push(new xn.Point(r.x,t.box[eo+g])),u&&m.push(new xn.Point(r.x,n.box[eo+p])),m.push(new xn.Point(o.x,n.box[eo+p])),m.push(new xn.Point(o.x,n.box[eo+g]))):(m.push(new xn.Point(t.box[Zr+p],r.y)),m.push(new xn.Point(t.box[Zr+g],r.y)),u&&m.push(new xn.Point(n.box[Zr+p],r.y)),m.push(new xn.Point(n.box[Zr+p],o.y)),m.push(new xn.Point(n.box[Zr+g],o.y)));return m||[]}}),Ie=Se.extend({createVisual:function(){var e,t,n,i=this.series,r=i._defaults,o=i.color;Lt(o)&&r&&(o=r.color),e=new Gt(this.options.closed),t=e.process(this.points()),n=new Cn.Path({stroke:{color:o,width:i.width,opacity:i.opacity,dashType:i.dashType},zIndex:i.zIndex}),n.segments.push.apply(n.segments,t),this.visual=n}}),Re={points:function(){var e,t,n=this,i=n.parent,r=i.plotArea,o=i.options.invertAxes,a=i.seriesValueAxis(n.series),s=a.lineBox(),l=r.seriesCategoryAxis(n.series),c=l.lineBox(),u=o?c.x1:c.y1,d=n.stackPoints,h=n._linePoints(d),f=o?Zr:eo;return u=vn(u,s[f+1],s[f+2]),!n.stackPoints&&h.length>1&&(e=h[0],t=mn(h),o?(h.unshift(new xn.Point(u,e.y)),h.push(new xn.Point(u,t.y))):(h.unshift(new xn.Point(e.x,u)),h.push(new xn.Point(t.x,u)))),h},createVisual:function(){var e=this.series,t=e._defaults,n=e.color;Lt(n)&&t&&(n=t.color),this.visual=new Cn.Group({zIndex:e.zIndex}),this.createArea(n),this.createLine(n)},createLine:function(e){var t,n=this.series,i=Bt({color:e,opacity:n.opacity},n.line);i.visible!==!1&&i.width>0&&(t=Cn.Path.fromPoints(this._linePoints(),{stroke:{color:i.color,width:i.width,opacity:i.opacity,dashType:i.dashType,lineCap:"butt"}}),this.visual.append(t))},createArea:function(e){var t=this.series,n=Cn.Path.fromPoints(this.points(),{fill:{color:e,opacity:t.opacity},stroke:null});this.visual.append(n)}},Fe=Se.extend({init:function(e,t,n,i){var r=this;r.stackPoints=t,Se.fn.init.call(r,e,n,i)},_linePoints:Se.fn.points}),Bt(Fe.fn,Re),Pe=Ae.extend({createSegment:function(e,t,n,i){var r,o,a,s=this,l=s.options,c=l.isStacked,u=(t.line||{}).style;return c&&n>0&&i&&(a=this.seriesMissingValues(t),r="gap"!=a?i.linePoints:this._gapStackPoints(e,n,u),u!==Sr&&(r=r.slice(0).reverse())),u===Tr?new Be(e,i,c,t,n):new(o=u===Sr?ze:Fe)(e,r,t,n)},reflow:function(e){var t,n,i,r;if(Ae.fn.reflow.call(this,e),t=this._stackPoints)for(r=0;t.length>r;r++)n=t[r],i=this.categoryAxis.getSlot(n.categoryIx),n.reflow(i)},_gapStackPoints:function(e,t,n){var i,r,o,a,s=this.seriesPoints,l=e[0].categoryIx,c=l+e.length,u=[];for(this._stackPoints=this._stackPoints||[],a=l;c>a;a++){i=t;do i--,r=s[i][a];while(i>0&&!r);r?(n!==Sr&&a>l&&!s[i][a-1]&&u.push(this._previousSegmentPoint(a,a-1,i)),u.push(r),n!==Sr&&c>a+1&&!s[i][a+1]&&u.push(this._previousSegmentPoint(a,a+1,i))):(o=this._createGapStackPoint(a),this._stackPoints.push(o),u.push(o))}return u},_previousSegmentPoint:function(e,t,n){for(var i,r=this.seriesPoints;n>0&&!i;)n--,i=r[n][t];return i?i=r[n][e]:(i=this._createGapStackPoint(e),this._stackPoints.push(i)),i},_createGapStackPoint:function(e){var t=this.pointOptions({},0),n=new xe(0,t);return n.categoryIx=e,n.series={},n},seriesMissingValues:function(e){return e.missingValues||no}}),Be=Fe.extend({init:function(e,t,n,i,r){var o=this;o.prevSegment=t,o.isStacked=n,Se.fn.init.call(o,e,i,r)},strokeSegments:function(){var e,t,n=this._strokeSegments;return n||(e=new Gt(this.options.closed),t=Se.fn.points.call(this),n=this._strokeSegments=e.process(t)),n},createVisual:function(){var e=this.series,t=e._defaults,n=e.color;Lt(n)&&t&&(n=t.color),this.visual=new Cn.Group({zIndex:e.zIndex}),this.createFill({fill:{color:n,opacity:e.opacity},stroke:null}),this.createStroke({stroke:Bt({color:n,opacity:e.opacity,lineCap:"butt"},e.line)})},createFill:function(t){var n,i,r,o,a,s=this.strokeSegments(),l=s.slice(0),c=this.prevSegment;this.isStacked&&c&&(n=c.strokeSegments(),i=mn(n).anchor(),l.push(new Cn.Segment(i,i,mn(s).anchor())),r=e.map(n,function(e){return new Cn.Segment(e.anchor(),e.controlOut(),e.controlIn())}).reverse(),pn(l,r),o=l[0].anchor(),l.push(new Cn.Segment(o,o,mn(r).anchor()))),a=new Cn.Path(t),a.segments.push.apply(a.segments,l),this.closeFill(a),this.visual.append(a)},closeFill:function(e){var t=this,n=t.parent,i=t.prevSegment,r=n.plotArea,o=n.options.invertAxes,a=n.seriesValueAxis(t.series),s=a.lineBox(),l=r.seriesCategoryAxis(t.series),c=l.lineBox(),u=o?c.x1:c.y1,d=o?Zr:eo,h=t.strokeSegments(),f=h[0].anchor(),p=mn(h).anchor();u=vn(u,s[d+1],s[d+2]),n.options.isStacked&&i||!(h.length>1)||(o?e.lineTo(u,p.y).lineTo(u,f.y):e.lineTo(p.x,u).lineTo(f.x,u))},createStroke:function(e){if(e.stroke.width>0){var t=new Cn.Path(e);t.segments.push.apply(t.segments,this.strokeSegments()),this.visual.append(t)}}}),ze=Me.extend({init:function(e,t,n,i){var r=this;r.stackPoints=t,Me.fn.init.call(r,e,n,i)},_linePoints:Me.fn.points}),Bt(ze.fn,Re),Le=jt.extend({init:function(e,t){var n=this;jt.fn.init.call(n,t),n.plotArea=e,n.xAxisRanges={},n.yAxisRanges={},n.points=[],n.seriesPoints=[],n.seriesOptions=[],n._evalSeries=[],n.render()},options:{series:[],tooltip:{format:"{0}, {1}"},labels:{format:"{0}, {1}"},clip:!0},render:function(){var e=this;e.traverseDataPoints(Et(e.addValue,e))},addErrorBar:function(e,t,n){var i,r=this,o=e.value[t],a=t+"Value",s=t+"ErrorLow",l=t+"ErrorHigh",c=n.seriesIx,u=n.series,d=e.options.errorBars,h=n[s],f=n[l];E(o)&&(E(h)&&E(f)&&(i={low:h,high:f}),d&&gn(d[a])&&(r.seriesErrorRanges=r.seriesErrorRanges||{x:[],y:[]},r.seriesErrorRanges[t][c]=r.seriesErrorRanges[t][c]||new he(d[a],u,t),i=r.seriesErrorRanges[t][c].getErrorRange(o,d[a])),i&&r.addPointErrorBar(i,e,t))},addPointErrorBar:function(e,t,n){var i,r=this,o=e.low,a=e.high,s=t.series,l=n===eo,c=t.options.errorBars,u={};t[n+"Low"]=o,t[n+"High"]=a,t.errorBars=t.errorBars||[],i=new ke(o,a,l,r,s,c),t.errorBars.push(i),t.append(i),u[n]=o,r.updateRange(u,s),u[n]=a,r.updateRange(u,s)},addValue:function(e,t){var n,i=this,r=e.x,o=e.y,a=t.seriesIx,s=this.options.series[a],l=this.seriesMissingValues(s),c=i.seriesPoints[a];$(r)&&$(o)||(e=this.createMissingValue(e,l)),e&&(n=i.createPoint(e,t),n&&(At(n,t),i.addErrorBar(n,Zr,t),i.addErrorBar(n,eo,t)),i.updateRange(e,t.series)),i.points.push(n),c.push(n)},seriesMissingValues:function(e){return e.missingValues},createMissingValue:Dt,updateRange:function(e,t){var n=this,i=e.x,r=e.y,o=t.xAxis,a=t.yAxis,s=n.xAxisRanges[o],l=n.yAxisRanges[a];$(i)&&(s=n.xAxisRanges[o]=s||{min:Vi,max:Wi},typeof i===Er&&(i=p(i)),s.min=Tt.min(s.min,i),s.max=Tt.max(s.max,i)),$(r)&&(l=n.yAxisRanges[a]=l||{min:Vi,max:Wi},typeof r===Er&&(r=p(r)),l.min=Tt.min(l.min,r),l.max=Tt.max(l.max,r))},evalPointOptions:function(e,t,n){var i=n.series,r=n.seriesIx,o={defaults:i._defaults,excluded:["data","tooltip","tempate","visual","toggle"]},a=this._evalSeries[r];return gn(a)||(this._evalSeries[r]=a=F(e,{},o,!0)),a&&(e=Bt({},e),F(e,{value:t,series:i,dataItem:n.dataItem},o)),e},pointType:function(){return xe},pointOptions:function(e,t){var n,i=this.seriesOptions[t];return i||(n=this.pointType().fn.defaults,this.seriesOptions[t]=i=Bt({},n,{markers:{opacity:e.opacity},tooltip:{format:this.options.tooltip.format},labels:{format:this.options.labels.format}},e)),i},createPoint:function(e,t){var n,i=this,r=t.series,o=this.pointOptions(r,t.seriesIx),a=t.color||r.color;return o=i.evalPointOptions(o,e,t),Mt.isFunction(r.color)&&(a=o.color),n=new xe(e,o),n.color=a,i.append(n),n},seriesAxes:function(e){var t=this.plotArea,n=e.xAxis,i=n?t.namedXAxes[n]:t.axisX,r=e.yAxis,o=r?t.namedYAxes[r]:t.axisY;if(!i)throw Error("Unable to locate X axis with name "+n);if(!o)throw Error("Unable to locate Y axis with name "+r);return{x:i,y:o}},reflow:function(e){var t,n,i=this,r=i.points,o=0,a=!i.options.clip;i.traverseDataPoints(function(e,s){t=r[o++],n=i.seriesAxes(s.series);var l,c=n.x.getSlot(e.x,e.x,a),u=n.y.getSlot(e.y,e.y,a);t&&(c&&u?(l=i.pointSlot(c,u),t.reflow(l)):t.visible=!1)}),i.box=e},pointSlot:function(e,t){return new Ut(e.x1,t.y1,e.x2,t.y2)},traverseDataPoints:function(e){var t,n,i,r,o,a,s,l=this,c=l.options,u=c.series,d=l.seriesPoints;for(n=0;u.length>n;n++)for(i=u[n],r=d[n],r||(d[n]=[]),t=0;i.data.length>t;t++)o=this._bindPoint(i,n,t),a=o.valueFields,s=o.fields,e(a,Bt({pointIx:t,series:i,seriesIx:n,dataItem:i.data[t],owner:l},s))},_bindPoint:fe.fn._bindPoint,formatPointValue:function(e,t){var n=e.value;return an(t,n.x,n.y)},animationPoints:function(){var e,t=this.points,n=[];for(e=0;t.length>e;e++)n.push((t[e]||{}).marker);return n}}),Bt(Le.fn,De),He=Le.extend({render:function(){var e=this;Le.fn.render.call(e),e.renderSegments()},createSegment:function(e,t,n){var i,r=t.style;return new(i=r===Tr?Ie:Se)(e,t,n)},animationPoints:function(){var e=Le.fn.animationPoints.call(this);return e.concat(this._segments)},createMissingValue:function(e,t){if(t===no){var n={x:e.x,y:e.y};return $(n.x)||(n.x=0),$(n.y)||(n.y=0),n}}}),Bt(He.fn,Te),Ne=Le.extend({init:function(e,t){this._maxSize=Wi,Le.fn.init.call(this,e,t)},options:{tooltip:{format:"{3}"},labels:{format:"{3}"}},addValue:function(e,t){null!==e.size&&(e.size>0||0>e.size&&t.series.negativeValues.visible)?(this._maxSize=Tt.max(this._maxSize,Tt.abs(e.size)),Le.fn.addValue.call(this,e,t)):(this.points.push(null),this.seriesPoints[t.seriesIx].push(null))},reflow:function(e){var t=this;t.updateBubblesSize(e),Le.fn.reflow.call(t,e)},pointType:function(){return Ce},createPoint:function(e,t){var n,i,r=this,o=t.series,a=o.data.length,s=t.pointIx*(Di/a),l={delay:s,duration:Di-s,type:Nn},c=t.color||o.color;return 0>e.size&&o.negativeValues.visible&&(c=kn(o.negativeValues.color,c)),i=Bt({labels:{animation:{delay:s,duration:Di-s}}},this.pointOptions(o,t.seriesIx),{markers:{type:qn,border:o.border,opacity:o.opacity,animation:l}}),i=r.evalPointOptions(i,e,t),Mt.isFunction(o.color)&&(c=i.color),i.markers.background=c,n=new Ce(e,i),n.color=c,r.append(n),n},updateBubblesSize:function(e){var t,n,i,r,o,a,s,l,c,u,d,h,f,p,g,m,v,_=this,b=_.options,w=b.series,y=Tt.min(e.width(),e.height());for(t=0;w.length>t;t++)for(i=w[t],r=_.seriesPoints[t],o=i.minSize||Tt.max(.02*y,10),a=i.maxSize||.2*y,s=o/2,l=a/2,c=Tt.PI*s*s,u=Tt.PI*l*l,d=u-c,h=d/_._maxSize,n=0;r.length>n;n++)f=r[n],f&&(p=Tt.abs(f.value.size)*h,g=Tt.sqrt((c+p)/Tt.PI),m=kn(f.options.zIndex,0),v=m+(1-g/l),Bt(f.options,{zIndex:v,markers:{size:2*g,zIndex:v},labels:{zIndex:v+1}}))},formatPointValue:function(e,t){var n=e.value;return an(t,n.x,n.y,n.size,e.category)},createAnimation:Dt,createVisual:Dt}),Oe=jt.extend({init:function(e,t){jt.fn.init.call(this,t),this.value=e},options:{border:{_brightness:.8},line:{width:2},overlay:{gradient:xi},tooltip:{format:"<table style='text-align: left;'><th colspan='2'>{4:d}</th><tr><td>Open:</td><td>{0:C}</td></tr><tr><td>High:</td><td>{1:C}</td></tr><tr><td>Low:</td><td>{2:C}</td></tr><tr><td>Close:</td><td>{3:C}</td></tr></table>"},highlight:{opacity:1,border:{width:1,opacity:1},line:{width:1,opacity:1}},notes:{visible:!0,label:{}}},reflow:function(e){var t,n,i,r=this,o=r.options,a=r.owner,s=r.value,l=a.seriesValueAxis(o),c=[];n=l.getSlot(s.open,s.close),i=l.getSlot(s.low,s.high),n.x1=i.x1=e.x1,n.x2=i.x2=e.x2,r.realBody=n,t=i.center().x,c.push([[t,i.y1],[t,n.y1]]),c.push([[t,n.y2],[t,i.y2]]),r.lines=c,r.box=i.clone().wrap(n),r._rendered||(r._rendered=!0,r.createNote()),r.reflowNote()},reflowNote:function(){var e=this;e.note&&e.note.reflow(e.box)},createVisual:function(){jt.fn.createVisual.call(this),this._mainVisual=this.mainVisual(this.options),this.visual.append(this._mainVisual),this.createOverlay()},mainVisual:function(e){var t=new Cn.Group;return this.createBody(t,e),this.createLines(t,e),t},createBody:function(e,t){var n=Cn.Path.fromRect(this.realBody.toRect(),{fill:{color:this.color,opacity:t.opacity},stroke:null});t.border.width>0&&n.options.set("stroke",{color:this.getBorderColor(),width:t.border.width,dashType:t.border.dashType,opacity:kn(t.border.opacity,t.opacity)}),on(n),e.append(n),W(t)&&e.append(this.createGradientOverlay(n,{baseColor:this.color},Bt({},t.overlay)))},createLines:function(e,t){this.drawLines(e,t,this.lines,t.line)},drawLines:function(e,t,n,i){var r,o,a;if(n)for(r={stroke:{color:i.color||this.color,opacity:kn(i.opacity,t.opacity),width:i.width,dashType:i.dashType,lineCap:"butt"}},o=0;n.length>o;o++)a=Cn.Path.fromPoints(n[o],r),on(a),e.append(a)},getBorderColor:function(){var e=this,t=e.options,n=t.border,i=n.color;return gn(i)||(i=new qt(e.color).brightness(n._brightness).toHex()),i},createOverlay:function(){var e=Cn.Path.fromRect(this.box.toRect(),{fill:{color:Jr,opacity:0},stroke:null});this.visual.append(e)},createHighlight:function(){var e,t=this.options.highlight,n=this.color;return this.color=t.color||this.color,e=this.mainVisual(Bt({},this.options,{line:{color:this.getBorderColor()}},t)),this.color=n,e},highlightVisual:function(){return this._mainVisual},highlightVisualArgs:function(){return{options:this.options,rect:this.box.toRect(),visual:this._mainVisual}},tooltipAnchor:function(){var e=this,t=e.box,n=e.owner.pane.clipBox()||t;return new Xt(t.x2+Ur,Tt.max(t.y1,n.y1)+Ur)},formatValue:function(e){var t=this;return t.owner.formatPointValue(t,e)}}),Bt(Oe.fn,se),Bt(Oe.fn,le),Ve=fe.extend({options:{},reflowCategories:function(e){var t,n=this,i=n.children,r=i.length;for(t=0;r>t;t++)i[t].reflow(e[t])},addValue:function(e,t){var n,i,r=this,o=t.categoryIx,a=t.category,s=t.series,l=t.seriesIx,c=r.options,u=e.valueFields,d=r.children,h=r.splitValue(u),f=I(h),p=r.categoryPoints[o],g=s.data[o];p||(r.categoryPoints[o]=p=[]),f&&(n=r.createPoint(e,t)),i=d[o],i||(i=new oe({vertical:c.invertAxes,gap:c.gap,spacing:c.spacing}),r.append(i)),n&&(r.updateRange(u,t),i.append(n),n.categoryIx=o,n.category=a,n.series=s,n.seriesIx=l,n.owner=r,n.dataItem=g,n.noteText=e.fields.noteText),r.points.push(n),p.push(n)},pointType:function(){return Oe},createPoint:function(e,t){var n,i=this,r=t.categoryIx,o=t.category,a=t.series,s=t.seriesIx,l=e.valueFields,c=Bt({},a),u=i.pointType(),d=e.fields.color||a.color;return c=i.evalPointOptions(c,l,o,r,a,s),a.type==Vn&&l.open>l.close&&(d=e.fields.downColor||a.downColor||a.color),Mt.isFunction(a.color)&&(d=c.color),n=new u(l,c),n.color=d,n},splitValue:function(e){return[e.low,e.open,e.close,e.high]},updateRange:function(e,t){var n=this,i=t.series.axis,r=n.valueAxisRanges[i],o=n.splitValue(e);r=n.valueAxisRanges[i]=r||{min:Vi,max:Wi},r=n.valueAxisRanges[i]={min:Tt.min.apply(Tt,o.concat([r.min])),max:Tt.max.apply(Tt,o.concat([r.max]))}},formatPointValue:function(e,t){var n=e.value;return an(t,n.open,n.high,n.low,n.close,e.category)},animationPoints:function(){return this.points}}),Bt(Ve.fn,De),Ue=Oe.extend({reflow:function(e){var t,n,i,r,o=this,a=o.options,s=o.owner,l=o.value,c=s.seriesValueAxis(a),u=[],d=[],h=[];r=c.getSlot(l.low,l.high),n=c.getSlot(l.open,l.open),i=c.getSlot(l.close,l.close),n.x1=i.x1=r.x1=e.x1,n.x2=i.x2=r.x2=e.x2,t=r.center().x,u.push([n.x1,n.y1]),u.push([t,n.y1]),d.push([t,i.y1]),d.push([i.x2,i.y1]),h.push([t,r.y1]),h.push([t,r.y2]),o.lines=[u,d,h],o.box=r.clone().wrap(n.clone().wrap(i)),o.reflowNote()},createBody:e.noop}),We=Ve.extend({pointType:function(){return Ue}}),je=Ve.extend({addValue:function(e,t){var n,i,r=this,o=t.categoryIx,a=t.category,s=t.series,l=t.seriesIx,c=r.options,u=r.children,d=e.valueFields,h=r.splitValue(d),f=I(h),p=r.categoryPoints[o],g=s.data[o];p||(r.categoryPoints[o]=p=[]),f&&(n=r.createPoint(e,t)),i=u[o],i||(i=new oe({vertical:c.invertAxes,gap:c.gap,spacing:c.spacing}),r.append(i)),n&&(r.updateRange(d,t),i.append(n),n.categoryIx=o,n.category=a,n.series=s,n.seriesIx=l,n.owner=r,n.dataItem=g),r.points.push(n),p.push(n)},pointType:function(){return qe},splitValue:function(e){return[e.lower,e.q1,e.median,e.q3,e.upper]},updateRange:function(e,t){var n=this,i=t.series.axis,r=n.valueAxisRanges[i],o=n.splitValue(e).concat(n.filterOutliers(e.outliers));gn(e.mean)&&(o=o.concat(e.mean)),r=n.valueAxisRanges[i]=r||{min:Vi,max:Wi},r=n.valueAxisRanges[i]={min:Tt.min.apply(Tt,o.concat([r.min])),max:Tt.max.apply(Tt,o.concat([r.max]))}},formatPointValue:function(e,t){var n=e.value;return an(t,n.lower,n.q1,n.median,n.q3,n.upper,n.mean,e.category)},filterOutliers:function(e){var t,n,i=(e||[]).length,r=[];for(t=0;i>t;t++)n=e[t],gn(n)&&D(r,n);return r}}),qe=Oe.extend({init:function(e,t){var n=this;jt.fn.init.call(n,t),n.value=e,n.createNote()},options:{border:{_brightness:.8},line:{width:2},mean:{width:2,dashType:"dash"},overlay:{gradient:xi},tooltip:{format:"<table style='text-align: left;'><th colspan='2'>{6:d}</th><tr><td>Lower:</td><td>{0:C}</td></tr><tr><td>Q1:</td><td>{1:C}</td></tr><tr><td>Median:</td><td>{2:C}</td></tr><tr><td>Mean:</td><td>{5:C}</td></tr><tr><td>Q3:</td><td>{3:C}</td></tr><tr><td>Upper:</td><td>{4:C}</td></tr></table>"},highlight:{opacity:1,border:{width:1,opacity:1},line:{width:1,opacity:1}},notes:{visible:!0,label:{}},outliers:{visible:!0,size:zi,type:Xn,background:Jr,border:{width:2,opacity:1},opacity:0},extremes:{visible:!0,size:zi,type:qn,background:Jr,border:{width:2,opacity:1},opacity:0}},reflow:function(e){var t,n,i,r,o,a=this,s=a.options,l=a.owner,c=a.value,u=l.seriesValueAxis(s);i=u.getSlot(c.q1,c.q3),a.boxSlot=i,n=u.getSlot(c.lower,c.upper),r=u.getSlot(c.median),i.x1=n.x1=e.x1,i.x2=n.x2=e.x2,a.realBody=i,c.mean&&(o=u.getSlot(c.mean),a.meanPoints=[[[e.x1,o.y1],[e.x2,o.y1]]]),t=n.center().x,a.whiskerPoints=[[[t-5,n.y1],[t+5,n.y1],[t,n.y1],[t,i.y1]],[[t-5,n.y2],[t+5,n.y2],[t,n.y2],[t,i.y2]]],a.medianPoints=[[[e.x1,r.y1],[e.x2,r.y1]]],a.box=n.clone().wrap(i),a.reflowNote()},renderOutliers:function(e){var t,n,i,r,o=this,a=e.markers||{},s=o.value,l=s.outliers||[],c=3*Tt.abs(s.q3-s.q1),u=[];for(r=0;l.length>r;r++)i=l[r],a=s.q3+c>i&&i>s.q1-c?e.outliers:e.extremes,t=Bt({},a.border),gn(t.color)||(t.color=gn(o.color)?o.color:new qt(a.background).brightness(Fn).toHex()),n=new en({type:a.type,width:a.size,height:a.size,rotation:a.rotation,background:a.background,border:t,opacity:a.opacity}),n.value=i,u.push(n);return this.reflowOutliers(u),u},reflowOutliers:function(e){var t,n,i,r=this.owner.seriesValueAxis(this.options),o=this.box.center().x;for(t=0;e.length>t;t++)n=e[t].value,i=r.getSlot(n).move(o),this.box=this.box.wrap(i),e[t].reflow(i)},mainVisual:function(e){var t,n,i=Oe.fn.mainVisual.call(this,e),r=this.renderOutliers(e);for(t=0;r.length>t;t++)n=r[t].getElement(),n&&i.append(n);return i},createLines:function(e,t){this.drawLines(e,t,this.whiskerPoints,t.line),this.drawLines(e,t,this.medianPoints,t.median),this.drawLines(e,t,this.meanPoints,t.mean)},getBorderColor:function(){return this.color?this.color:Oe.getBorderColor.call(this)}}),Bt(qe.fn,se),Ge=jt.extend({init:function(e,t,n){var i=this;i.value=e,i.sector=t,jt.fn.init.call(i,n)},options:{color:Jr,overlay:{gradient:pr},border:{width:.5},labels:{visible:!1,distance:35,font:ii,margin:ln(.5),align:qn,zIndex:1,position:or},animation:{type:ar},highlight:{visible:!0,border:{width:1}},visible:!0},render:function(){var e,t=this,n=t.options,i=n.labels,r=t.value;t._rendered||t.visible===!1||(t._rendered=!0,i.template?(e=Ht(i.template),r=e({dataItem:t.dataItem,category:t.category,value:t.value,series:t.series,percentage:t.percentage})):i.format&&(r=an(i.format,r)),i.visible&&r&&(t.label=new nn(r,Bt({},i,{align:Wn,vAlign:"",animation:{type:bi,delay:t.animationDelay}})),t.append(t.label)))},reflow:function(e){var t=this;t.render(),t.box=e,t.reflowLabel()},reflowLabel:function(){var e,t,n,i,r=this,o=r.sector.clone(),a=r.options,s=r.label,l=a.labels,c=l.distance,u=o.middle();s&&(i=s.box.height(),n=s.box.width(),l.position==Wn?(o.r=Tt.abs((o.r-i)/2)+i,e=o.point(u),s.reflow(Ut(e.x,e.y-i/2,e.x,e.y))):l.position==Ei?(o.r=o.r-i/2,e=o.point(u),s.reflow(Ut(e.x,e.y-i/2,e.x,e.y))):(e=o.clone().expand(c).point(u),e.x>=o.c.x?(t=e.x+n,s.orientation=fr):(t=e.x-n,s.orientation=Ri),s.reflow(Ut(t,e.y-i,e.x,e.y))))},createVisual:function(){var e,t,n=this,i=n.sector,r=n.options;jt.fn.createVisual.call(this),n.value&&(r.visual?(e=(i.startAngle+180)%360,t=r.visual({category:n.category,dataItem:n.dataItem,value:n.value,series:n.series,percentage:n.percentage,center:new xn.Point(i.c.x,i.c.y),radius:i.r,innerRadius:i.ir,startAngle:e,endAngle:e+i.angle,options:r,createVisual:function(){var e=new Cn.Group;return n.createSegmentVisual(e),e}}),t&&n.visual.append(t)):n.createSegmentVisual(n.visual))},createSegmentVisual:function(e){var t,n=this,i=n.sector,r=n.options,o=r.border||{},a=o.width>0?{stroke:{color:o.color,width:o.width,opacity:o.opacity,dashType:o.dashType}}:{},s=r.color,l={color:s,opacity:r.opacity};t=n.createSegment(i,Bt({fill:l,stroke:{opacity:r.opacity},zIndex:r.zIndex},a)),e.append(t),W(r)&&e.append(this.createGradientOverlay(t,{baseColor:s,fallbackFill:l},Bt({center:[i.c.x,i.c.y],innerRadius:i.ir,radius:i.r,userSpace:!0},r.overlay)))},createSegment:function(e,t){return t.singleSegment?new Cn.Circle(new xn.Circle(new xn.Point(e.c.x,e.c.y),e.r),t):tn.current.createRing(e,t)},createAnimation:function(){var e=this.options,t=this.sector.c;Bt(e,{animation:{center:[t.x,t.y],delay:this.animationDelay}}),jt.fn.createAnimation.call(this)},createHighlight:function(e){var t=this,n=t.options.highlight||{},i=n.border||{};return t.createSegment(t.sector,Bt({},e,{fill:{color:n.color,opacity:n.opacity},stroke:{opacity:i.opacity,width:i.width,color:i.color}}))},highlightVisual:function(){return this.visual.children[0]},highlightVisualArgs:function(){var e=this.sector;return{options:this.options,radius:e.r,innerRadius:e.ir,center:new xn.Point(e.c.x,e.c.y),startAngle:e.startAngle,endAngle:e.angle+e.startAngle,visual:this.visual}},tooltipAnchor:function(e,t){var n=this,i=n.sector.adjacentBox(Ur,e,t);return new Xt(i.x1,i.y1)},formatValue:function(e){var t=this;return t.owner.formatPointValue(t,e)}}),Bt(Ge.fn,se),$e={createLegendItem:function(e,t,n){var i,r,o,a,s,l=this,c=l.options.legend||{},u=c.labels||{},d=c.inactiveItems||{},h=d.labels||{};n&&n.visibleInLegend!==!1&&(s=n.visible!==!1,i=n.category||"",r=s?u.template:h.template||u.template,r&&(i=Ht(r)({text:i,series:n.series,dataItem:n.dataItem,percentage:n.percentage,value:e})),s?(a={},o=t.color):(a={color:h.color,font:h.font},o=(d.markers||{}).color),i&&l.legendItems.push({pointIndex:n.index,text:i,series:n.series,markerColor:o,labels:a}))}},Ye=jt.extend({init:function(e,t){var n=this;jt.fn.init.call(n,t),n.plotArea=e,n.points=[],n.legendItems=[],n.render()},options:{startAngle:90,connectors:{width:1,color:"#939393",padding:4},inactiveItems:{markers:{},labels:{}}},render:function(){var e=this;e.traverseDataPoints(Et(e.addValue,e))},traverseDataPoints:function(e){var t,n,i,r,o,a,s,l,c,u,d,h,f,p=this,g=p.options,m=p.plotArea.options.seriesColors||[],v=m.length,_=g.series,b=_.length,w=0;for(r=0;b>r;r++){for(t=_[r],a=t.data,d=U(t),s=360/d,h=gn(t.startAngle)?t.startAngle:g.startAngle,r!=b-1&&t.labels.position==or&&(t.labels.position=Wn),f=0;a.length>f;f++)n=X.current.bindPoint(t,f),l=n.valueFields.value,
|
|
c=Tt.abs(l),i=n.fields,o=c*s,u=1!=a.length&&!!i.explode,Lt(t.color)||(t.color=i.color||m[f%v]),e(l,new Zt(null,0,0,h,o),{owner:p,category:i.category||"",index:w,series:t,seriesIx:r,dataItem:a[f],percentage:0!==d?c/d:0,explode:u,visibleInLegend:i.visibleInLegend,visible:i.visible,zIndex:b-r,animationDelay:p.animationDelay(f,r,b)}),n.fields.visible!==!1&&(h+=o),w++;w=0}},evalSegmentOptions:function(e,t,n){var i=n.series;F(e,{value:t,series:i,dataItem:n.dataItem,category:n.category,percentage:n.percentage},{defaults:i._defaults,excluded:["data","template","visual","toggle"]})},addValue:function(e,t,n){var i,r=this,o=Bt({},n.series,{index:n.index});r.evalSegmentOptions(o,e,n),r.createLegendItem(e,o,n),n.visible!==!1&&(i=new Ge(e,t,o),At(i,n),r.append(i),r.points.push(i))},reflow:function(e){var t,n,i,r,o,a,s,l,c=this,u=c.options,d=e.clone(),h=5,f=Tt.min(d.width(),d.height()),p=f/2,g=f-.85*f,m=kn(u.padding,g),v=Ut(d.x1,d.y1,d.x1+f,d.y1+f),_=v.center(),b=c.seriesConfigs||[],w=d.center(),y=c.points,k=y.length,x=u.series.length,C=[],S=[];for(m=m>p-h?p-h:m,v.translate(w.x-_.x,w.y-_.y),a=p-m,l=Xt(a+v.x1+m,a+v.y1+m),s=0;k>s;s++)r=y[s],o=r.sector,o.r=a,o.c=l,n=r.seriesIx,b.length&&(t=b[n],o.ir=t.ir,o.r=t.r),n==x-1&&r.explode&&(o.c=o.clone().radius(.15*o.r).point(o.middle())),r.reflow(v),i=r.label,i&&i.options.position===or&&n==x-1&&(i.orientation===fr?S.push(i):C.push(i));C.length>0&&(C.sort(c.labelComparator(!0)),c.leftLabelsReflow(C)),S.length>0&&(S.sort(c.labelComparator(!1)),c.rightLabelsReflow(S)),c.box=v},leftLabelsReflow:function(e){var t=this,n=t.distanceBetweenLabels(e);t.distributeLabels(n,e)},rightLabelsReflow:function(e){var t=this,n=t.distanceBetweenLabels(e);t.distributeLabels(n,e)},distanceBetweenLabels:function(e){var t,n,i,r=this,o=r.points,a=o[o.length-1],s=a.sector,l=e[0].box,c=e.length-1,u=s.r+a.options.labels.distance,d=[];for(n=hn(l.y1-(s.c.y-u-l.height()-l.height()/2)),d.push(n),i=0;c>i;i++)l=e[i].box,t=e[i+1].box,n=hn(t.y1-l.y2),d.push(n);return n=hn(s.c.y+u-e[c].box.y2-e[c].box.height()/2),d.push(n),d},distributeLabels:function(e,t){var n,i,r,o,a=this,s=e.length;for(o=0;s>o;o++)for(i=r=o,n=-e[o];n>0&&(i>=0||s>r);)n=a._takeDistance(e,o,--i,n),n=a._takeDistance(e,o,++r,n);a.reflowLabels(e,t)},_takeDistance:function(e,t,n,i){if(e[n]>0){var r=Tt.min(e[n],i);i-=r,e[n]-=r,e[t]+=r}return i},reflowLabels:function(e,t){var n,i,r,o,a=this,s=a.points,l=s[s.length-1],c=l.sector,u=t.length,d=l.options.labels,h=d.distance,f=c.c.y-(c.r+h)-t[0].box.height();for(e[0]+=2,o=0;u>o;o++)n=t[o],f+=e[o],r=n.box,i=a.hAlignLabel(r.x2,c.clone().expand(h),f,f+r.height(),n.orientation==fr),n.orientation==fr?(d.align!==qn&&(i=c.r+c.c.x+h),n.reflow(Ut(i+r.width(),f,i,f))):(d.align!==qn&&(i=c.c.x-c.r-h),n.reflow(Ut(i-r.width(),f,i,f))),f+=r.height()},createVisual:function(){var e,t,n,i,o,a,s,l,c,u,d,h,f,p,g=this,m=g.options,v=m.connectors,_=g.points,b=_.length,w=4;for(jt.fn.createVisual.call(this),this._connectorLines=[],s=0;b>s;s++)i=_[s],t=i.sector,n=t.middle(),a=i.label,o={seriesId:i.seriesIx},a&&(e=new Cn.Path({stroke:{color:v.color,width:v.width},animation:{type:bi,delay:i.animationDelay}}),a.options.position===or&&0!==i.value&&(l=a.box,c=t.c,u=t.point(n),d=Xt(l.x1,l.center().y),u=t.clone().expand(v.padding).point(n),e.moveTo(u.x,u.y),a.orientation==fr?(f=Xt(l.x1-v.padding,l.center().y),p=r(c,u,d,f),d=Xt(f.x-w,f.y),p=p||d,p.x=Tt.min(p.x,d.x),g.pointInCircle(p,t.c,t.r+w)||t.c.x>p.x?(h=t.c.x+t.r+w,i.options.labels.align!==Kn?d.x>h?e.lineTo(h,u.y):e.lineTo(u.x+2*w,u.y):e.lineTo(h,u.y),e.lineTo(d.x,f.y)):(p.y=f.y,e.lineTo(p.x,p.y))):(f=Xt(l.x2+v.padding,l.center().y),p=r(c,u,d,f),d=Xt(f.x+w,f.y),p=p||d,p.x=Tt.max(p.x,d.x),g.pointInCircle(p,t.c,t.r+w)||p.x>t.c.x?(h=t.c.x-t.r-w,i.options.labels.align!==Kn?h>d.x?e.lineTo(h,u.y):e.lineTo(u.x-2*w,u.y):e.lineTo(h,u.y),e.lineTo(d.x,f.y)):(p.y=f.y,e.lineTo(p.x,p.y))),e.lineTo(f.x,f.y),this._connectorLines.push(e),this.visual.append(e)))},labelComparator:function(e){return e=e?-1:1,function(t,n){return t=(t.parent.sector.middle()+270)%360,n=(n.parent.sector.middle()+270)%360,(t-n)*e}},hAlignLabel:function(e,t,n,i,r){var o=t.c.x,a=t.c.y,s=t.r,l=Tt.min(Tt.abs(a-n),Tt.abs(a-i));return l>s?e:o+Tt.sqrt(s*s-l*l)*(r?1:-1)},pointInCircle:function(e,t,n){return d(t.x-e.x)+d(t.y-e.y)<d(n)},formatPointValue:function(e,t){return an(t,e.value)},animationDelay:function(e){return e*sr}}),Bt(Ye.fn,$e),Ke=Ge.extend({options:{overlay:{gradient:gr},labels:{position:Wn},animation:{type:ar}},reflowLabel:function(){var e,t,n=this,i=n.sector.clone(),r=n.options,o=n.label,a=r.labels,s=i.middle();o&&(t=o.box.height(),a.position==Wn?(i.r-=(i.r-i.ir)/2,e=i.point(s),o.reflow(new Ut(e.x,e.y-t/2,e.x,e.y))):Ge.fn.reflowLabel.call(n))},createSegment:function(e,t){return tn.current.createRing(e,t)}}),Bt(Ke.fn,se),Qe=Ye.extend({options:{startAngle:90,connectors:{width:1,color:"#939393",padding:4}},addValue:function(e,t,n){var i,r=this,o=Bt({},n.series,{index:n.index});r.evalSegmentOptions(o,e,n),r.createLegendItem(e,o,n),e&&n.visible!==!1&&(i=new Ke(e,t,o),At(i,n),r.append(i),r.points.push(i))},reflow:function(e){var t,n,i,r,o,a,s=this,l=s.options,c=e.clone(),u=5,d=Tt.min(c.width(),c.height()),h=d/2,f=d-.85*d,p=kn(l.padding,f),g=l.series,m=g.length,v=0,_=0,b=0,w=0;for(s.seriesConfigs=[],p=p>h-u?h-u:p,i=h-p,o=0;m>o;o++)t=g[o],0===o&&gn(t.holeSize)&&(n=t.holeSize,i-=t.holeSize),gn(t.size)?i-=t.size:v++,gn(t.margin)&&o!=m-1&&(i-=t.margin);for(gn(n)||(w=(h-p)/(m+.75),n=.75*w,i-=n),b=n,o=0;m>o;o++)t=g[o],r=kn(t.size,i/v),b+=_,a=b+r,s.seriesConfigs.push({ir:b,r:a}),_=t.margin||0,b=a;Ye.fn.reflow.call(s,e)},animationDelay:function(e,t,n){return e*ci+Di*(t+1)/(n+1)}}),Xe=pe.extend({render:function(){pe.fn.render.call(this),this.createSegments()},traverseDataPoints:function(e){var t,n,i,r,o,a,s,l,c,d,h=this.options.series,f=this.categoryAxis.options.categories||[],p=u(h),g=!this.options.invertAxes;for(t=0;h.length>t;t++)for(n=h[t],i=0,r=0,o=0;p>o;o++)a=X.current.bindPoint(n,o),s=a.valueFields.value,l=a.fields.summary,c=i,l?"total"===l.toLowerCase()?(a.valueFields.value=i,c=0,d=i):(a.valueFields.value=r,d=c-r,r=0):E(s)&&(r+=s,i+=s,d=i),e(a,{category:f[o],categoryIx:o,series:n,seriesIx:t,total:i,runningTotal:r,from:c,to:d,isVertical:g})},updateRange:function(e,t){pe.fn.updateRange.call(this,{value:t.to},t)},aboveAxis:function(e){return e.value>=0},plotRange:function(e){return[e.from,e.to]},createSegments:function(){var e,t,n,i,r,o,a,s=this.options.series,l=this.seriesPoints,c=this.segments=[];for(e=0;s.length>e;e++)if(t=s[e],n=l[e])for(r=0;n.length>r;r++)o=n[r],o&&i&&(a=new Je(i,o,t),c.push(a),this.append(a)),i=o}}),Je=jt.extend({init:function(e,t,n){var i=this;jt.fn.init.call(i),i.from=e,i.to=t,i.series=n},options:{animation:{type:bi,delay:Di}},linePoints:function(){var e,t,n=[],i=this.from,r=i.box,o=this.to.box;return i.isVertical?(e=i.aboveAxis?r.y1:r.y2,n.push([r.x1,e],[o.x2,e])):(t=i.aboveAxis?r.x2:r.x1,n.push([t,r.y1],[t,o.y2])),n},createVisual:function(){var e,t;jt.fn.createVisual.call(this),e=this.series.line||{},t=Cn.Path.fromPoints(this.linePoints(),{stroke:{color:e.color,width:e.width,opacity:e.opacity,dashType:e.dashType}}),on(t),this.visual.append(t)}}),Ze=Wt.extend({init:function(e){var t=this;Wt.fn.init.call(t,e),e=t.options,t.id=Mt.guid(),t.createTitle(),t.content=new jt,t.chartContainer=new et({},t),t.append(t.content),t.axes=[],t.charts=[]},options:{zIndex:-1,shrinkToFit:!0,title:{align:Ri},visible:!0},createTitle:function(){var e=this,t=e.options.title;typeof t===ir&&(t=Bt({},t,{align:t.position,position:Or})),e.title=rn.buildTitle(t,e,Ze.fn.options.title)},appendAxis:function(e){var t=this;t.content.append(e),t.axes.push(e),e.pane=t},appendChart:function(e){var t=this;t.chartContainer.parent!==t.content&&t.content.append(t.chartContainer),t.charts.push(e),t.chartContainer.append(e),e.pane=t},empty:function(){var e,t=this,n=t.parent;if(n){for(e=0;t.axes.length>e;e++)n.removeAxis(t.axes[e]);for(e=0;t.charts.length>e;e++)n.removeChart(t.charts[e])}t.axes=[],t.charts=[],t.content.destroy(),t.content.children=[],t.chartContainer.children=[]},reflow:function(e){var t,n=this;mn(n.children)===n.content&&(t=n.children.pop()),Wt.fn.reflow.call(n,e),t&&n.children.push(t),n.title&&(n.contentBox.y1+=n.title.box.height())},visualStyle:function(){var e=Wt.fn.visualStyle.call(this);return e.zIndex=-10,e},renderComplete:function(){this.options.visible&&this.createGridLines()},stackRoot:n,clipRoot:n,createGridLines:function(){var e,t,n,i,r,o,a=this,s=a.axes,l=s.concat(a.parent.axes),c=[],u=[];for(t=0;s.length>t;t++)for(i=s[t],r=i.options.vertical,e=r?c:u,n=0;l.length>n;n++)0===e.length&&(o=l[n],r!==o.options.vertical&&pn(e,i.createGridLines(o)))},refresh:function(){this.visual.clear(),this.content.parent=null,this.content.createGradient=e.proxy(this.createGradient,this),this.content.renderVisual(),this.content.parent=this,this.title&&this.visual.append(this.title.visual),this.visual.append(this.content.visual),this.renderComplete()},clipBox:function(){return this.chartContainer.clipBox}}),et=jt.extend({init:function(e,t){var n=this;jt.fn.init.call(n,e),n.pane=t},shouldClip:function(){var e,t=this,n=t.children,i=n.length;for(e=0;i>e;e++)if(n[e].options.clip===!0)return!0;return!1},_clipBox:function(){var e,t,n,i,r=this,o=r.pane,a=o.axes,s=a.length,l=o.box.clone();for(t=0;s>t;t++)i=a[t],e=i.options.vertical?eo:Zr,n=i.lineBox(),l[e+1]=n[e+1],l[e+2]=n[e+2];return l},createVisual:function(){var e,t,n;this.visual=new Cn.Group({zIndex:0}),this.shouldClip()&&(e=this.clipBox=this._clipBox(),t=e.toRect(),n=Cn.Path.fromRect(t),this.visual.clip(n),this.unclipLabels())},stackRoot:n,unclipLabels:function(){var e,t,n,i,r,o=this,a=o.children,s=o.clipBox;for(n=0;a.length>n;n++)for(e=a[n].points||{},r=e.length,i=0;r>i;i++)t=e[i],t&&t.label&&t.label.options.visible&&t.box.overlaps(s)&&(t.label.alignToClipBox&&t.label.alignToClipBox(s),t.label.options.noclip=!0)},destroy:function(){jt.fn.destroy.call(this),delete this.parent}}),tt=jt.extend({init:function(e,t){var n=this;jt.fn.init.call(n,t),n.series=e,n.initSeries(),n.charts=[],n.options.legend.items=[],n.axes=[],n.crosshairs=[],n.createPanes(),n.render(),n.createCrosshairs()},options:{series:[],plotArea:{margin:{}},background:"",border:{color:Bn,width:0},legend:{inactiveItems:{labels:{color:"#919191"},markers:{color:"#919191"}}}},initSeries:function(){var e,t,n=this.series;for(e=0;n.length>e;e++)t=n[e],t.index=e},createPanes:function(){var e,t,n=this,i=[],r=n.options.panes||[],o=Tt.max(r.length,1);for(e=0;o>e;e++)t=new Ze(r[e]),t.paneIndex=e,i.push(t),n.append(t);n.panes=i},createCrosshairs:function(e){var t,n,i,r,o,a=this;for(e=e||a.panes,t=0;e.length>t;t++)for(i=e[t],n=0;i.axes.length>n;n++)r=i.axes[n],r.options.crosshair&&r.options.crosshair.visible&&(o=new ft(r,r.options.crosshair),a.crosshairs.push(o),i.content.append(o))},removeCrosshairs:function(e){var t,n,i=this,r=i.crosshairs,o=e.axes;for(t=r.length-1;t>=0;t--)for(n=0;o.length>n;n++)if(r[t].axis===o[n]){r.splice(t,1);break}},hideCrosshairs:function(){var e,t=this.crosshairs;for(e=0;t.length>e;e++)t[e].hide()},findPane:function(e){var t,n,i=this,r=i.panes;for(t=0;r.length>t;t++)if(r[t].options.name===e){n=r[t];break}return n||r[0]},findPointPane:function(e){var t,n,i=this,r=i.panes;for(t=0;r.length>t;t++)if(r[t].box.containsPoint(e)){n=r[t];break}return n},appendAxis:function(e){var t=this,n=t.findPane(e.options.pane);n.appendAxis(e),t.axes.push(e),e.plotArea=t},removeAxis:function(e){var t,n,i=this,r=[];for(t=0;i.axes.length>t;t++)n=i.axes[t],e!==n?r.push(n):n.destroy();i.axes=r},appendChart:function(e,t){var n=this;n.charts.push(e),t?t.appendChart(e):n.append(e)},removeChart:function(e){var t,n,i=this,r=[];for(t=0;i.charts.length>t;t++)n=i.charts[t],n!==e?r.push(n):n.destroy();i.charts=r},addToLegend:function(e){var t,n,i,r,o,a,s,l,c,u=e.length,d=[],h=this.options.legend,f=h.labels||{},p=h.inactiveItems||{},g=p.labels||{};for(t=0;u>t;t++)n=e[t],l=n.visible!==!1,n.visibleInLegend!==!1&&(i=n.name||"",c=l?f.template:g.template||f.template,c&&(i=Ht(c)({text:i,series:n})),r=n.color,s=n._defaults,Lt(r)&&s&&(r=s.color),l?(o={},a=r):(o={color:g.color,font:g.font},a=p.markers.color),i&&d.push({text:i,labels:o,markerColor:a,series:n,active:l}));pn(h.items,d)},groupAxes:function(e){var t,n,i,r,o=[],a=[];for(i=0;e.length>i;i++)for(t=e[i].axes,r=0;t.length>r;r++)n=t[r],n.options.vertical?a.push(n):o.push(n);return{x:o,y:a,any:o.concat(a)}},groupSeriesByPane:function(){var e,t,n,i=this,r=i.series,o={};for(e=0;r.length>e;e++)n=r[e],t=i.seriesPaneName(n),o[t]?o[t].push(n):o[t]=[n];return o},filterVisibleSeries:function(e){var t,n,i=[];for(t=0;e.length>t;t++)n=e[t],n.visible!==!1&&i.push(n);return i},reflow:function(e){var t=this,n=t.options.plotArea,i=t.panes,r=ln(n.margin);t.box=e.clone().unpad(r),t.reflowPanes(),t.reflowAxes(i),t.reflowCharts(i)},redraw:function(e){var t,n=this;for(e=[].concat(e),this.initSeries(),t=0;e.length>t;t++)n.removeCrosshairs(e[t]),e[t].empty();for(n.render(e),n.reflowAxes(n.panes),n.reflowCharts(e),n.createCrosshairs(e),t=0;e.length>t;t++)e[t].refresh()},axisCrossingValues:function(e,t){var n,i=e.options,r=[].concat(i.axisCrossingValues||i.axisCrossingValue),o=t.length-r.length,a=r[0]||0;for(n=0;o>n;n++)r.push(a);return r},alignAxisTo:function(e,t,n,i){var r=e.getSlot(n,n,!0),o=e.options.reverse?2:1,a=t.getSlot(i,i,!0),s=t.options.reverse?2:1,l=e.box.translate(a[Zr+s]-r[Zr+o],a[eo+s]-r[eo+o]);e.pane!==t.pane&&l.translate(0,e.pane.box.y1-t.pane.box.y1),e.reflow(l)},alignAxes:function(e,t){var n,i,r,o,a=this,s=e[0],l=t[0],c=a.axisCrossingValues(s,t),u=a.axisCrossingValues(l,e),d={},h={},f={},p={};for(o=0;t.length>o;o++)r=t[o],n=r.pane,i=n.id,a.alignAxisTo(r,s,u[o],c[o]),r.options._overlap||(hn(r.lineBox().x1)===hn(s.lineBox().x1)&&(d[i]&&r.reflow(r.box.alignTo(d[i].box,Ri).translate(-r.options.margin,0)),d[i]=r),hn(r.lineBox().x2)===hn(s.lineBox().x2)&&(r._mirrored||(r.options.labels.mirror=!r.options.labels.mirror,r._mirrored=!0),a.alignAxisTo(r,s,u[o],c[o]),h[i]&&r.reflow(r.box.alignTo(h[i].box,fr).translate(r.options.margin,0)),h[i]=r),0!==o&&l.pane===r.pane&&(r.alignTo(l),r.reflow(r.box)));for(o=0;e.length>o;o++)r=e[o],n=r.pane,i=n.id,a.alignAxisTo(r,l,c[o],u[o]),r.options._overlap||(hn(r.lineBox().y1)===hn(l.lineBox().y1)&&(r._mirrored||(r.options.labels.mirror=!r.options.labels.mirror,r._mirrored=!0),a.alignAxisTo(r,l,c[o],u[o]),f[i]&&r.reflow(r.box.alignTo(f[i].box,Or).translate(0,-r.options.margin)),f[i]=r),hn(r.lineBox().y2,Qn)===hn(l.lineBox().y2,Qn)&&(p[i]&&r.reflow(r.box.alignTo(p[i].box,Ln).translate(0,r.options.margin)),p[i]=r),0!==o&&(r.alignTo(s),r.reflow(r.box)))},shrinkAxisWidth:function(e){var t,n,i,r=this,o=r.groupAxes(e).any,a=C(o),s=0;for(t=0;e.length>t;t++)n=e[t],n.axes.length>0&&(s=Tt.max(s,a.width()-n.contentBox.width()));if(0!==s)for(t=0;o.length>t;t++)i=o[t],i.options.vertical||i.reflow(i.box.shrink(s,0))},shrinkAxisHeight:function(e){var t,n,i,r,o,a,s;for(t=0;e.length>t;t++)if(n=e[t],i=n.axes,r=Tt.max(0,C(i).height()-n.contentBox.height()),0!==r){for(o=0;i.length>o;o++)a=i[o],a.options.vertical&&a.reflow(a.box.shrink(0,r));s=!0}return s},fitAxes:function(e){var t,n,i,r,o,a,s,l,c=this,u=c.groupAxes(e).any,d=0;for(s=0;e.length>s;s++)if(o=e[s],t=o.axes,n=o.contentBox,t.length>0)for(i=C(t),d=Tt.max(d,n.x1-i.x1),r=Tt.max(n.y1-i.y1,n.y2-i.y2),l=0;t.length>l;l++)a=t[l],a.reflow(a.box.translate(0,r));for(s=0;u.length>s;s++)a=u[s],a.reflow(a.box.translate(d,0))},reflowAxes:function(e){var t,n=this,i=n.groupAxes(e);for(t=0;e.length>t;t++)n.reflowPaneAxes(e[t]);i.x.length>0&&i.y.length>0&&(n.alignAxes(i.x,i.y),n.shrinkAxisWidth(e),n.autoRotateAxisLabels(i),n.alignAxes(i.x,i.y),n.shrinkAxisWidth(e)&&n.alignAxes(i.x,i.y),n.shrinkAxisHeight(e),n.alignAxes(i.x,i.y),n.shrinkAxisHeight(e)&&n.alignAxes(i.x,i.y),n.fitAxes(e))},autoRotateAxisLabels:function(e){var t,n,i,r=this.axes,o=this.panes;for(n=0;r.length>n;n++)t=r[n],t.autoRotateLabels()&&(i=!0);if(i){for(n=0;o.length>n;n++)this.reflowPaneAxes(o[n]);e.x.length>0&&e.y.length>0&&(this.alignAxes(e.x,e.y),this.shrinkAxisWidth(o))}},reflowPaneAxes:function(e){var t,n=e.axes,i=n.length;if(i>0)for(t=0;i>t;t++)n[t].reflow(e.contentBox)},reflowCharts:function(e){var t,n,i=this,r=i.charts,o=r.length,a=i.box;for(n=0;o>n;n++)t=r[n].pane,(!t||cn(t,e))&&r[n].reflow(a)},reflowPanes:function(){var e,t,n,i,r,o=this,a=o.box,s=o.panes,l=s.length,c=a.height(),u=l,d=0,h=a.y1;for(e=0;l>e;e++)t=s[e],i=t.options.height,t.options.width=a.width(),t.options.height?(i.indexOf&&i.indexOf("%")&&(r=parseInt(i,10)/100,t.options.height=r*a.height()),t.reflow(a.clone()),c-=t.options.height):d++;for(e=0;l>e;e++)t=s[e],t.options.height||(t.options.height=c/d);for(e=0;l>e;e++)t=s[e],n=a.clone().move(a.x1,h),t.reflow(n),u--,h+=t.options.height},backgroundBox:function(){var e,t,n,i,r,o,a=this,s=a.axes,l=s.length;for(n=0;l>n;n++)for(r=s[n],i=0;l>i;i++)o=s[i],r.options.vertical!==o.options.vertical&&(e=r.lineBox().clone().wrap(o.lineBox()),t=t?t.wrap(e):e);return t||a.box},createVisual:function(){var e,t,n,i,r,o;jt.fn.createVisual.call(this),e=this.backgroundBox(),t=this.options.plotArea,n=t.border||{},i=t.background,r=t.opacity,fn.isTransparent(i)&&(i=Jr,r=0),o=this._bgVisual=Cn.Path.fromRect(e.toRect(),{fill:{color:i,opacity:r},stroke:{color:n.width?n.color:"",width:n.width,dashType:n.dashType},zIndex:-1}),this.appendVisual(o)},pointsByCategoryIndex:function(e){var t,n,i,r,o,a=this.charts,s=[];if(null!==e)for(t=0;a.length>t;t++)if(o=a[t],"_navigator"!==o.pane.options.name&&(i=a[t].categoryPoints[e],i&&i.length))for(n=0;i.length>n;n++)r=i[n],r&&gn(r.value)&&null!==r.value&&s.push(r);return s},pointsBySeriesIndex:function(e){var t,n,i,r,o,a=this.charts,s=[];for(i=0;a.length>i;i++)for(o=a[i],t=o.points,r=0;t.length>r;r++)n=t[r],n&&n.options.index===e&&s.push(n);return s},pointsBySeriesName:function(e){var t,n,i,r,o,a=this.charts,s=[];for(i=0;a.length>i;i++)for(o=a[i],t=o.points,r=0;t.length>r;r++)n=t[r],n&&n.series.name===e&&s.push(n);return s},paneByPoint:function(e){var t,n,i=this,r=i.panes;for(n=0;r.length>n;n++)if(t=r[n],t.box.containsPoint(e))return t}}),nt=tt.extend({init:function(e,t){var n,i,r=this;if(r.namedCategoryAxes={},r.namedValueAxes={},r.valueAxisRangeTracker=new it,e.length>0)for(r.invertAxes=cn(e[0].type,[In,On,Kr,$r,ur,Si]),n=0;e.length>n;n++)if(i=e[n].stack,i&&"100%"===i.type){r.stack100=!0;break}tt.fn.init.call(r,e,t)},options:{categoryAxis:{categories:[]},valueAxis:{}},render:function(e){var t=this;e=e||t.panes,t.createCategoryAxes(e),t.aggregateCategories(e),t.createCategoryAxesLabels(e),t.createCharts(e),t.createValueAxes(e)},removeAxis:function(e){var t=this,n=e.options.name;tt.fn.removeAxis.call(t,e),e instanceof ne?delete t.namedCategoryAxes[n]:(t.valueAxisRangeTracker.reset(n),delete t.namedValueAxes[n]),e===t.categoryAxis&&delete t.categoryAxis,e===t.valueAxis&&delete t.valueAxis},createCharts:function(e){var t,n,i,r,o,a,s=this.groupSeriesByPane();for(t=0;e.length>t;t++)if(n=e[t],i=s[n.options.name||"default"]||[],this.addToLegend(i),r=this.filterVisibleSeries(i))for(o=this.groupSeriesByCategoryAxis(r),a=0;o.length>a;a++)this.createChartGroup(o[a],n)},createChartGroup:function(e,t){this.createAreaChart(B(e,[Dn,$r]),t),this.createBarChart(B(e,[Kn,In]),t),this.createRangeBarChart(B(e,[dr,ur]),t),this.createBulletChart(B(e,[On,Yr]),t),this.createCandlestickChart(B(e,Vn),t),this.createBoxPlotChart(B(e,Hn),t),this.createOHLCChart(B(e,rr),t),this.createWaterfallChart(B(e,[Qr,Si]),t),this.createLineChart(B(e,[Bi,Kr]),t)},aggregateCategories:function(e){var t,n,i,r,o,a=this,s=a.srcSeries||a.series,l=[];for(t=0;s.length>t;t++)n=s[t],i=a.seriesCategoryAxis(n),r=a.findPane(i.options.pane),o=S(i.options.type,ti),(o||n.categoryField)&&cn(r,e)&&(n=a.aggregateSeries(n,i)),l.push(n);a.srcSeries=s,a.series=l},aggregateSeries:function(e,t){var n,r,o,a,s,l=t.options,c=S(t.options.type,ti),u=l.categories,d=l.srcCategories||u,p=e.data,g=[],m=t.range(),v=Bt({},e),_=Bt({},e),b=l.dataItems||[],w=h;for(v.data=a=[],c&&(w=f),n=0;p.length>n;n++)r=e.categoryField?w(e.categoryField,p[n]):d[n],o=t.categoryIndex(r,m),o>-1&&(g[o]=g[o]||[],g[o].push(n));for(s=new wt(_,X.current,i.current),n=0;u.length>n;n++)a[n]=s.aggregatePoints(g[n],u[n]),g[n]&&(b[n]=a[n]);return t.options.dataItems=b,v},appendChart:function(e,t){for(var n=this,i=e.options.series,r=n.seriesCategoryAxis(i[0]),o=r.options.categories,a=Tt.max(0,u(i)-o.length);a--;)o.push("");n.valueAxisRangeTracker.update(e.valueAxisRanges),tt.fn.appendChart.call(n,e,t)},seriesPaneName:function(t){var n=this,i=n.options,r=t.axis,o=[].concat(i.valueAxis),a=e.grep(o,function(e){return e.name===r})[0],s=i.panes||[{}],l=(s[0]||{}).name||"default",c=(a||{}).pane||l;return c},seriesCategoryAxis:function(e){var t=this,n=e.categoryAxis,i=n?t.namedCategoryAxes[n]:t.categoryAxis;if(!i)throw Error("Unable to locate category axis with name "+n);return i},stackableChartOptions:function(e,t){var n,i=e.stack,r=i&&"100%"===i.type;return gn(t.options.clip)?n=t.options.clip:r&&(n=!1),{isStacked:i,isStacked100:r,clip:n}},groupSeriesByCategoryAxis:function(n){function i(t,i){return e.grep(n,function(e){return 0===i&&!e.categoryAxis||e.categoryAxis==t})}var r,o,a,s={},l=e.map(n,function(e){var n=e.categoryAxis||"$$default$$";return s.hasOwnProperty(n)?t:(s[n]=!0,n)}),c=[];for(r=0;l.length>r;r++)o=l[r],a=i(o,r),0!==a.length&&c.push(a);return c},createBarChart:function(e,t){if(0!==e.length){var n=this,i=e[0],r=new pe(n,At({series:e,invertAxes:n.invertAxes,gap:i.gap,spacing:i.spacing},n.stackableChartOptions(i,t)));n.appendChart(r,t)}},createRangeBarChart:function(e,t){if(0!==e.length){var n=this,i=e[0],r=new me(n,{series:e,invertAxes:n.invertAxes,gap:i.gap,spacing:i.spacing});n.appendChart(r,t)}},createBulletChart:function(e,t){if(0!==e.length){var n=this,i=e[0],r=new ve(n,{series:e,invertAxes:n.invertAxes,gap:i.gap,spacing:i.spacing,clip:t.options.clip});n.appendChart(r,t)}},createLineChart:function(e,t){if(0!==e.length){var n=this,i=e[0],r=new Ae(n,At({invertAxes:n.invertAxes,series:e},n.stackableChartOptions(i,t)));n.appendChart(r,t)}},createAreaChart:function(e,t){if(0!==e.length){var n=this,i=e[0],r=new Pe(n,At({invertAxes:n.invertAxes,series:e},n.stackableChartOptions(i,t)));n.appendChart(r,t)}},createOHLCChart:function(e,t){if(0!==e.length){var n=this,i=e[0],r=new We(n,{invertAxes:n.invertAxes,gap:i.gap,series:e,spacing:i.spacing,clip:t.options.clip});n.appendChart(r,t)}},createCandlestickChart:function(e,t){if(0!==e.length){var n=this,i=e[0],r=new Ve(n,{invertAxes:n.invertAxes,gap:i.gap,series:e,spacing:i.spacing,clip:t.options.clip});n.appendChart(r,t)}},createBoxPlotChart:function(e,t){if(0!==e.length){var n=this,i=e[0],r=new je(n,{invertAxes:n.invertAxes,gap:i.gap,series:e,spacing:i.spacing,clip:t.options.clip});n.appendChart(r,t)}},createWaterfallChart:function(e,t){if(0!==e.length){var n=this,i=e[0],r=new Xe(n,{series:e,invertAxes:n.invertAxes,gap:i.gap,spacing:i.spacing});n.appendChart(r,t)}},axisRequiresRounding:function(e,t){var n,i,r,o,a=this,s=B(a.series,lo);for(n=0;a.series.length>n;n++)r=a.series[n],(r.type===Bi||r.type===Dn)&&(o=r.line,o&&o.style===Sr&&s.push(r));for(n=0;s.length>n;n++)if(i=s[n].categoryAxis||"",i===e||!i&&0===t)return!0},aggregatedAxis:function(e,t){var n,i,r=this,o=r.series;for(n=0;o.length>n;n++)if(i=o[n].categoryAxis||"",(i===e||!i&&0===t)&&o[n].categoryField)return!0},axisRequiresOutOfRangePoints:function(e,t){var n,i,r,o=this,a=B(o.series,[Bi,Kr,Dn,$r]);for(n=0;a.length>n;n++)if(r=a[n].categoryAxis||"",i=a[n].line,!(r!==e&&(r||0!==t)||i&&i.style===Sr))return!0},createCategoryAxesLabels:function(){var e,t=this.axes;for(e=0;t.length>e;e++)t[e]instanceof ne&&t[e].createLabels()},createCategoryAxes:function(e){var t,n,i,r,o,a,s,l,c=this,u=c.invertAxes,d=[].concat(c.options.categoryAxis),h=[];for(t=0;d.length>t;t++)if(n=d[t],i=c.findPane(n.pane),cn(i,e)){if(a=n.name,r=n.categories||[],o=n.type||"",n=Bt({vertical:u,axisCrossingValue:u?Vi:0,_deferLabels:!0},n),gn(n.justified)||(n.justified=c.isJustified()),c.axisRequiresRounding(a,t)&&(n.justified=!1),c.axisRequiresOutOfRangePoints(a,t)&&(n.outOfRangePoints=!0),N(n,r[0])?s=new ie(n):(n.limitCategories=c.aggregatedAxis(a,t),s=new ne(n)),a){if(c.namedCategoryAxes[a])throw Error("Category axis with name "+a+" is already defined");c.namedCategoryAxes[a]=s}s.axisIndex=t,h.push(s),c.appendAxis(s)}l=c.categoryAxis||h[0],c.categoryAxis=l,u?c.axisY=l:c.axisX=l},isJustified:function(){var e,t,n=this,i=n.series;for(e=0;i.length>e;e++)if(t=i[e],!cn(t.type,[Dn,$r]))return!1;return!0},createValueAxes:function(e){var t,n,i,r,o,a,s,l,c,u=this,d=u.valueAxisRangeTracker,h=d.query(),f=[].concat(u.options.valueAxis),p=u.invertAxes,g={vertical:!p},m=[];for(u.stack100&&(g.roundToMajorUnit=!1,g.labels={format:"P0"}),c=0;f.length>c;c++)if(t=f[c],n=u.findPane(t.pane),cn(n,e)){if(l=t.name,s=S(t.type,Hi)?{min:.1,max:1}:{min:0,max:1},o=d.query(l)||h||s,0===c&&o&&h&&(o.min=Tt.min(o.min,h.min),o.max=Tt.max(o.max,h.max)),a=S(t.type,Hi)?Kt:Qt,i=new a(o.min,o.max,Bt({},g,t)),l){if(u.namedValueAxes[l])throw Error("Value axis with name "+l+" is already defined");u.namedValueAxes[l]=i}i.axisIndex=c,m.push(i),u.appendAxis(i)}r=u.valueAxis||m[0],u.valueAxis=r,p?u.axisX=r:u.axisY=r},click:function(t,n){var i,r,o,a=this,s=t._eventCoordinates(n),l=new Xt(s.x,s.y),c=a.pointPane(l),u=[],d=[];if(c){for(i=c.axes,r=0;i.length>r;r++)o=i[r],o.getValue?D(d,o.getValue(l)):D(u,o.getCategory(l));0===u.length&&D(u,a.categoryAxis.getCategory(l)),u.length>0&&d.length>0&&t.trigger(lr,{element:e(n.target),originalEvent:n,category:x(u),value:x(d)})}},pointPane:function(e){var t,n,i=this,r=i.panes;for(n=0;r.length>n;n++)if(t=r[n],t.contentBox.containsPoint(e))return t},updateAxisOptions:function(e,t){var n=[].concat(e instanceof ne?this.options.categoryAxis:this.options.valueAxis);Bt(n[e.axisIndex],t)}}),it=It.extend({init:function(){var e=this;e.axisRanges={}},update:function(e){var t,n,i,r=this,o=r.axisRanges;for(i in e)t=o[i],n=e[i],o[i]=t=t||{min:Vi,max:Wi},t.min=Tt.min(t.min,n.min),t.max=Tt.max(t.max,n.max)},reset:function(e){this.axisRanges[e]=t},query:function(e){return this.axisRanges[e]}}),rt=tt.extend({init:function(e,t){var n=this;n.namedXAxes={},n.namedYAxes={},n.xAxisRangeTracker=new it,n.yAxisRangeTracker=new it,tt.fn.init.call(n,e,t)},options:{xAxis:{},yAxis:{}},render:function(e){var t,n,i,r,o=this,a=o.groupSeriesByPane();for(e=e||o.panes,t=0;e.length>t;t++)n=e[t],i=a[n.options.name||"default"]||[],o.addToLegend(i),r=o.filterVisibleSeries(i),r&&(o.createScatterChart(B(r,mr),n),o.createScatterLineChart(B(r,vr),n),o.createBubbleChart(B(r,Nn),n));o.createAxes(e)},appendChart:function(e,t){var n=this;n.xAxisRangeTracker.update(e.xAxisRanges),n.yAxisRangeTracker.update(e.yAxisRanges),tt.fn.appendChart.call(n,e,t)},removeAxis:function(e){var t=this,n=e.options.name;tt.fn.removeAxis.call(t,e),e.options.vertical?(t.yAxisRangeTracker.reset(n),delete t.namedYAxes[n]):(t.xAxisRangeTracker.reset(n),delete t.namedXAxes[n]),e===t.axisX&&delete t.axisX,e===t.axisY&&delete t.axisY},seriesPaneName:function(t){var n=this,i=n.options,r=t.xAxis,o=[].concat(i.xAxis),a=e.grep(o,function(e){return e.name===r})[0],s=t.yAxis,l=[].concat(i.yAxis),c=e.grep(l,function(e){return e.name===s})[0],u=i.panes||[{}],d=u[0].name||"default",h=(a||{}).pane||(c||{}).pane||d;return h},createScatterChart:function(e,t){var n=this;e.length>0&&n.appendChart(new Le(n,{series:e,clip:t.options.clip}),t)},createScatterLineChart:function(e,t){var n=this;e.length>0&&n.appendChart(new He(n,{series:e,clip:t.options.clip}),t)},createBubbleChart:function(e,t){var n=this;e.length>0&&n.appendChart(new Ne(n,{series:e,clip:t.options.clip}),t)},createXYAxis:function(e,t,n){var i,r,o,a,s,l,c,u,d=this,h=e.name,f=t?d.namedYAxes:d.namedXAxes,p=t?d.yAxisRangeTracker:d.xAxisRangeTracker,g=Bt({},e,{vertical:t}),m=S(g.type,Hi),v=p.query(),_=m?{min:.1,max:1}:{min:0,max:1},b=p.query(h)||v||_,w=d.series,y=[g.min,g.max];for(o=0;w.length>o;o++)if(a=w[o],s=a[t?"yAxis":"xAxis"],s==g.name||0===n&&!s){l=X.current.bindPoint(a,0).valueFields,y.push(l[t?"y":"x"]);break}for(0===n&&v&&(b.min=Tt.min(b.min,v.min),b.max=Tt.max(b.max,v.max)),u=0;y.length>u;u++)if(y[u]instanceof Date){c=!0;break}if(r=S(g.type,ti)||!g.type&&c?re:m?Kt:Qt,i=new r(b.min,b.max,g),h){if(f[h])throw Error((t?"Y":"X")+" axis with name "+h+" is already defined");f[h]=i}return d.appendAxis(i),i},createAxes:function(e){var t,n=this,i=n.options,r=[].concat(i.xAxis),o=[],a=[].concat(i.yAxis),s=[];kt(r,function(i){t=n.findPane(this.pane),cn(t,e)&&o.push(n.createXYAxis(this,!1,i))}),kt(a,function(i){t=n.findPane(this.pane),cn(t,e)&&s.push(n.createXYAxis(this,!0,i))}),n.axisX=n.axisX||o[0],n.axisY=n.axisY||s[0]},click:function(t,n){var i,r,o,a,s=this,l=t._eventCoordinates(n),c=new Xt(l.x,l.y),u=s.axes,d=u.length,h=[],f=[];for(i=0;d>i;i++)r=u[i],a=r.options.vertical?f:h,o=r.getValue(c),null!==o&&a.push(o);h.length>0&&f.length>0&&t.trigger(lr,{element:e(n.target),originalEvent:n,x:x(h),y:x(f)})},updateAxisOptions:function(e,t){var n=e.options.vertical,i=z(e,[].concat(n?this.axisY:this.axisX)),r=[].concat(n?this.options.yAxis:this.options.xAxis)[i];Bt(r,t)}}),ot=tt.extend({render:function(){var e=this,t=e.series;e.createPieChart(t)},createPieChart:function(e){var t=this,n=e[0],i=new Ye(t,{series:e,padding:n.padding,startAngle:n.startAngle,connectors:n.connectors,legend:t.options.legend});t.appendChart(i)},appendChart:function(e,t){tt.fn.appendChart.call(this,e,t),pn(this.options.legend.items,e.legendItems)}}),at=ot.extend({render:function(){var e=this,t=e.series;e.createDonutChart(t)},createDonutChart:function(e){var t=this,n=e[0],i=new Qe(t,{series:e,padding:n.padding,connectors:n.connectors,legend:t.options.legend});t.appendChart(i)}}),st=Cn.Animation.extend({options:{easing:"easeOutElastic",duration:Di},setup:function(){this.element.transform(xn.transform().scale(Cr,Cr,this.options.center))},step:function(e){this.element.transform(xn.transform().scale(e,e,this.options.center))}}),Cn.AnimationFactory.current.register(ar,st),lt=Cn.Animation.extend({options:{easing:"easeOutElastic"},setup:function(){var e=this.center=this.element.bbox().center();this.element.transform(xn.transform().scale(Cr,Cr,e))},step:function(e){this.element.transform(xn.transform().scale(e,e,this.center))}}),Cn.AnimationFactory.current.register(Nn,lt),ct=It.extend({init:function(){this._points=[]},destroy:function(){this._points=[]},show:function(e){var t,n;for(e=[].concat(e),this.hide(),t=0;e.length>t;t++)n=e[t],n&&n.toggleHighlight&&n.hasHighlight()&&(this.togglePointHighlight(n,!0),this._points.push(n))},togglePointHighlight:function(e,t){var n,i=(e.options.highlight||{}).toggle;i?(n={category:e.category,series:e.series,dataItem:e.dataItem,value:e.value,preventDefault:q,visual:e.highlightVisual(),show:t},i(n),n._defaultPrevented||e.toggleHighlight(t)):e.toggleHighlight(t)},hide:function(){for(var e=this._points;e.length;)this.togglePointHighlight(e.pop(),!1)},isHighlighted:function(e){var t,n,i=this._points;for(t=0;i.length>t;t++)if(n=i[t],e==n)return!0;return!1}}),ut=Rt.extend({init:function(t,n){var i,r,o=this;Rt.fn.init.call(o),o.options=Bt({},o.options,n),o.chartElement=t,o.template=ut.template,o.template||(o.template=ut.template=yn("<div class='"+Jn+"tooltip "+Jn+"chart-tooltip' style='display:none; position: absolute; font: #= d.font #;border: #= d.border.width #px solid;opacity: #= d.opacity #; filter: alpha(opacity=#= d.opacity * 100 #);'></div>")),i=ln(o.options.padding||{},"auto"),o.element=e(o.template(o.options)).css({"padding-top":i.top,"padding-right":i.right,"padding-bottom":i.bottom,"padding-left":i.left}),o.move=Et(o.move,o),o._mouseleave=Et(o._mouseleave,o),r=Mt.format("[{0}='content'],[{0}='scroller']",Mt.attr("role")),o._mobileScroller=t.closest(r).data("kendoMobileScroller")},destroy:function(){this._clearShowTimeout(),this.element&&(this.element.off(Gi).remove(),this.element=null)},options:{border:{width:1},opacity:1,animation:{
|
|
duration:Vr}},move:function(){var e,t=this,n=t.options,i=t.element;t.anchor&&t.element&&(e=t._offset(),t.visible||i.css({top:e.top,left:e.left}),t.visible=!0,t._ensureElement(document.body),i.stop(!0,!0).show().animate({left:e.left,top:e.top},n.animation.duration))},_clearShowTimeout:function(){this.showTimeout&&(clearTimeout(this.showTimeout),this.showTimeout=null)},_padding:function(){if(!this._chartPadding){var e=this.chartElement;this._chartPadding={top:parseInt(e.css("paddingTop"),10),left:parseInt(e.css("paddingLeft"),10)}}return this._chartPadding},_offset:function(){var t,n,i=this,r=i._measure(),o=i.anchor,a=i._padding(),s=i.chartElement.offset(),l=hn(o.y+a.top+s.top),c=hn(o.x+a.left+s.left),u=Mt.support.zoomLevel(),d=e(window),h=window.pageYOffset||document.documentElement.scrollTop||0,f=window.pageXOffset||document.documentElement.scrollLeft||0,p=(this._mobileScroller||{}).movable;return p&&1!==p.scale?(t=xn.transform().scale(p.scale,p.scale,[p.x,p.y]),n=new xn.Point(c,l).transform(t),c=n.x,l=n.y):(l+=i._fit(l-h,r.height,d.outerHeight()/u),c+=i._fit(c-f,r.width,d.outerWidth()/u)),{top:l,left:c}},setStyle:function(e,t){var n,i,r=e.background,o=e.border.color;t&&(n=t.color||t.options.color,r=kn(r,n),o=kn(o,n)),gn(e.color)||(i=new qt(r).percBrightness(),this.element.toggleClass(Jn+qr,i>180)),this.element.css({backgroundColor:r,borderColor:o,font:e.font,color:e.color,opacity:e.opacity,borderWidth:e.border.width})},show:function(){this._clearShowTimeout(),this.showTimeout=setTimeout(this.move,Wr)},hide:function(){var e=this;clearTimeout(e.showTimeout),e._hideElement(),e.visible&&(e.point=null,e.visible=!1,e.index=null)},_measure:function(){this._ensureElement();var e={width:this.element.outerWidth(),height:this.element.outerHeight()};return e},_ensureElement:function(){this.element&&this.element.appendTo(document.body).on(Gi,this._mouseleave)},_mouseleave:function(t){var n=t.relatedTarget,i=this.chartElement[0];n&&n!==i&&!e.contains(i,n)&&(this.trigger(Ii),this.hide())},_hideElement:function(){var e=this,t=this.element;t&&t.fadeOut({always:function(){e.visible||t.off(Gi).remove()}})},_pointContent:function(e){var t,n,i=this,r=Bt({},i.options,e.options.tooltip);return gn(e.value)&&(t=""+e.value),r.template?(n=Ht(r.template),t=n({value:e.value,category:e.category,series:e.series,dataItem:e.dataItem,percentage:e.percentage,runningTotal:e.runningTotal,total:e.total,low:e.low,high:e.high,xLow:e.xLow,xHigh:e.xHigh,yLow:e.yLow,yHigh:e.yHigh})):r.format&&(t=e.formatValue(r.format)),t},_pointAnchor:function(e){var t=this._measure();return e.tooltipAnchor(t.width,t.height)},_fit:function(e,t,n){var i=0;return e+t>n&&(i=n-(e+t)),0>e&&(i=-e),i}}),dt=ut.extend({show:function(e){var t=this,n=Bt({},t.options,e.options.tooltip);e&&e.tooltipAnchor&&t.element&&(t.element.html(t._pointContent(e)),t.anchor=t._pointAnchor(e),t.anchor?(t.setStyle(n,e),ut.fn.show.call(t,e)):t.hide())}}),ht=ut.extend({init:function(e,t,n){var i=this;ut.fn.init.call(i,e,n),i.plotArea=t},options:{sharedTemplate:"<table><th colspan='2'>#= categoryText #</th># for(var i = 0; i < points.length; i++) { ## var point = points[i]; #<tr># if(point.series.name) { # <td> #= point.series.name #:</td># } #<td>#= content(point) #</td></tr># } #</table>",categoryFormat:"{0:d}"},showAt:function(t,n){var i,r=this,o=r.options,a=r.plotArea,s=a.categoryAxis,l=s.pointCategoryIndex(n),c=s.getCategory(n),u=s.getSlot(l);t=e.grep(t,function(e){var t=e.series.tooltip,n=t&&t.visible===!1;return!n}),t.length>0&&(i=r._content(t,c),r.element.html(i),r.anchor=r._slotAnchor(n,u),r.setStyle(o,t[0]),ut.fn.show.call(r))},_slotAnchor:function(e,t){var n,i=this,r=i.plotArea,o=r.categoryAxis,a=this._measure(),s=e.y-a.height/2;return n=o.options.vertical?Xt(e.x,s):Xt(t.center().x,s)},_content:function(e,t){var n,i,r=this;return n=Mt.template(r.options.sharedTemplate),i=n({points:e,category:t,categoryText:an(r.options.categoryFormat,t),content:r._pointContent})}}),ft=jt.extend({init:function(e,t){jt.fn.init.call(this,t),this.axis=e,this.stickyMode=e instanceof ne},options:{color:Bn,width:1,zIndex:-1,tooltip:{visible:!1}},showAt:function(e){this.point=e,this.moveLine(),this.line.visible(!0);var t=this.options.tooltip;t.visible&&(this.tooltip||(this.tooltip=new pt(this,Bt({},t,{stickyMode:this.stickyMode}))),this.tooltip.showAt(e))},hide:function(){this.line.visible(!1),this.tooltip&&this.tooltip.hide()},moveLine:function(){var e,t,n,i=this,r=i.axis,o=r.options.vertical,a=i.getBox(),s=i.point,l=o?eo:Zr;t=new xn.Point(a.x1,a.y1),n=o?new xn.Point(a.x2,a.y1):new xn.Point(a.x1,a.y2),s&&(i.stickyMode?(e=r.getSlot(r.pointCategoryIndex(s)),t[l]=n[l]=e.center()[l]):t[l]=n[l]=s[l]),i.box=a,this.line.moveTo(t).lineTo(n)},getBox:function(){var e,t,n,i=this,r=i.axis,o=r.pane.axes,a=o.length,s=r.options.vertical,l=r.lineBox().clone(),c=s?Zr:eo;for(n=0;a>n;n++)t=o[n],t.options.vertical!=s&&(e?e.wrap(t.lineBox()):e=t.lineBox().clone());return l[c+1]=e[c+1],l[c+2]=e[c+2],l},createVisual:function(){jt.fn.createVisual.call(this);var e=this.options;this.line=new Cn.Path({stroke:{color:e.color,width:e.width,opacity:e.opacity,dashType:e.dashType},visible:!1}),this.moveLine(),this.visual.append(this.line)},destroy:function(){var e=this;e.tooltip&&e.tooltip.destroy(),jt.fn.destroy.call(e)}}),pt=ut.extend({init:function(e,t){var n=this,i=e.axis.getRoot().chart.element;n.crosshair=e,ut.fn.init.call(n,i,Bt({},n.options,{background:e.axis.plotArea.options.seriesColors[0]},t)),n.setStyle(n.options)},options:{padding:10},showAt:function(e){var t=this,n=t.element;n&&(t.point=e,t.element.html(t.content(e)),t.anchor=t.getAnchor(),t.move())},move:function(){var e=this,t=e.element,n=e._offset();e._ensureElement(),t.css({top:n.top,left:n.left}).show()},content:function(e){var t,n,i,r=this,o=r.options,a=r.crosshair.axis,s=a.options;return n=t=a[o.stickyMode?"getCategory":"getValue"](e),o.template?(i=Ht(o.template),t=i({value:n})):o.format?t=an(o.format,n):s.type===ti&&(t=an(s.labels.dateFormats[s.baseUnit],n)),t},getAnchor:function(){var e,t=this,n=t.options,i=n.position,r=this.crosshair,o=!r.axis.options.vertical,a=r.line.bbox(),s=this._measure(),l=s.width/2,c=s.height/2,u=n.padding;return e=o?i===Ln?a.bottomLeft().translate(-l,u):a.topLeft().translate(-l,-s.height-u):i===Ri?a.topLeft().translate(-s.width-u,-c):a.topRight().translate(u,-c)},hide:function(){this.element.hide(),this.point=null},destroy:function(){ut.fn.destroy.call(this),this.point=null}}),gt={min:function(e){var t,n,i=Vi,r=e.length;for(t=0;r>t;t++)n=e[t],E(n)&&(i=Tt.min(i,n));return i===Vi?e[0]:i},max:function(e){var t,n,i=Wi,r=e.length;for(t=0;r>t;t++)n=e[t],E(n)&&(i=Tt.max(i,n));return i===Wi?e[0]:i},sum:function(e){var t,n,i=e.length,r=0;for(t=0;i>t;t++)n=e[t],E(n)&&(r+=n);return r},sumOrNull:function(e){var t=null;return M(e)&&(t=gt.sum(e)),t},count:function(e){var t,n,i=e.length,r=0;for(t=0;i>t;t++)n=e[t],null!==n&&gn(n)&&r++;return r},avg:function(e){var t=e[0],n=M(e);return n>0&&(t=gt.sum(e)/n),t},first:function(e){var t,n,i=e.length;for(t=0;i>t;t++)if(n=e[t],null!==n&&gn(n))return n;return e[0]}},i.prototype={register:function(e,t){for(var n=0;e.length>n;n++)this._defaults[e[n]]=t},query:function(e){return this._defaults[e]}},i.current=new i,mt=Rt.extend({init:function(t,n,i){var r,o,a=this,s=t.element,l=n.lineBox(),c=a.getValueAxis(n),u=c.lineBox(),d="."+Jn;Rt.fn.init.call(a),a.options=Bt({},a.options,i),i=a.options,a.chart=t,a.chartElement=s,a.categoryAxis=n,a._dateAxis=a.categoryAxis instanceof ie,a.valueAxis=c,a._dateAxis&&Bt(i,{min:p(i.min),max:p(i.max),from:p(i.from),to:p(i.to)}),a.template=mt.template,a.template||(a.template=mt.template=yn("<div class='"+Jn+"selector' style='width: #= d.width #px; height: #= d.height #px; top: #= d.offset.top #px; left: #= d.offset.left #px;'><div class='"+Jn+"mask'></div><div class='"+Jn+"mask'></div><div class='"+Jn+"selection'><div class='"+Jn+"selection-bg'></div><div class='"+Jn+"handle "+Jn+"leftHandle'><div></div></div><div class='"+Jn+"handle "+Jn+"rightHandle'><div></div></div></div></div>")),o={left:parseInt(s.css("paddingLeft"),10),right:parseInt(s.css("paddingTop"),10)},a.options=Bt({},{width:l.width(),height:u.height(),padding:o,offset:{left:u.x2+o.left,top:u.y1+o.right},from:i.min,to:i.max},i),a.options.visible&&(a.wrapper=r=e(a.template(a.options)).appendTo(s),a.selection=r.find(d+"selection"),a.leftMask=r.find(d+"mask").first(),a.rightMask=r.find(d+"mask").last(),a.leftHandle=r.find(d+"leftHandle"),a.rightHandle=r.find(d+"rightHandle"),a.options.selection={border:{left:parseFloat(a.selection.css("border-left-width"),10),right:parseFloat(a.selection.css("border-right-width"),10)}},a.leftHandle.css("top",(a.selection.height()-a.leftHandle.height())/2),a.rightHandle.css("top",(a.selection.height()-a.rightHandle.height())/2),a.set(a._index(i.from),a._index(i.to)),a.bind(a.events,a.options),a.wrapper[0].style.cssText=a.wrapper[0].style.cssText,a.wrapper.on(Zi,Et(a._mousewheel,a)),Mt.UserEvents?a.userEvents=new Mt.UserEvents(a.wrapper,{global:!0,stopPropagation:!0,multiTouch:!0,start:Et(a._start,a),move:Et(a._move,a),end:Et(a._end,a),tap:Et(a._tap,a),gesturestart:Et(a._gesturechange,a),gesturechange:Et(a._gesturechange,a)}):a.leftHandle.add(a.rightHandle).removeClass(Jn+"handle"))},events:[br,wr,yr],options:{visible:!0,mousewheel:{zoom:zn},min:Wi,max:Vi},destroy:function(){var e=this,t=e.userEvents;t&&t.destroy(),clearTimeout(e._mwTimeout),e._state=null,e.wrapper.remove()},_rangeEventArgs:function(e){var t=this;return{axis:t.categoryAxis.options,from:t._value(e.from),to:t._value(e.to)}},_start:function(t){var n,i=this,r=i.options,o=e(t.event.target);!i._state&&o&&(i.chart._unsetActivePoint(),i._state={moveTarget:o.parents(".k-handle").add(o).first(),startLocation:t.x?t.x.location:0,range:{from:i._index(r.from),to:i._index(r.to)}},n=i._rangeEventArgs({from:i._index(r.from),to:i._index(r.to)}),i.trigger(br,n)&&(i.userEvents.cancel(),i._state=null))},_move:function(e){if(this._state){var t=this,n=t._state,i=t.options,r=t.categoryAxis.options.categories,o=t._index(i.from),a=t._index(i.to),s=t._index(i.min),l=t._index(i.max),c=n.startLocation-e.x.location,u=n.range,d={from:u.from,to:u.to},h=u.to-u.from,f=n.moveTarget,p=t.wrapper.width()/(r.length-1),g=Tt.round(c/p);f&&(e.preventDefault(),f.is(".k-selection, .k-selection-bg")?(u.from=Tt.min(Tt.max(s,o-g),l-h),u.to=Tt.min(u.from+h,l)):f.is(".k-leftHandle")?(u.from=Tt.min(Tt.max(s,o-g),l-1),u.to=Tt.max(u.from+1,u.to)):f.is(".k-rightHandle")&&(u.to=Tt.min(Tt.max(s+1,a-g),l),u.from=Tt.min(u.to-1,u.from)),(u.from!==d.from||u.to!==d.to)&&(t.move(u.from,u.to),t.trigger(wr,t._rangeEventArgs(u))))}},_end:function(){var e=this,t=e._state.range;delete e._state,e.set(t.from,t.to),e.trigger(yr,e._rangeEventArgs(t))},_gesturechange:function(e){if(this._state){var t=this,n=t.chart,i=t._state,r=t.options,o=t.categoryAxis,a=i.range,s=n._toModelCoordinates(e.touches[0].x.location).x,l=n._toModelCoordinates(e.touches[1].x.location).x,c=Tt.min(s,l),u=Tt.max(s,l);e.preventDefault(),i.moveTarget=null,a.from=o.pointCategoryIndex(new Nt.Point2D(c))||r.min,a.to=o.pointCategoryIndex(new Nt.Point2D(u))||r.max,t.move(a.from,a.to)}},_tap:function(e){var t=this,n=t.options,i=t.chart._eventCoordinates(e),r=t.categoryAxis,o=r.pointCategoryIndex(new Nt.Point2D(i.x,r.box.y1)),a=t._index(n.from),s=t._index(n.to),l=t._index(n.min),c=t._index(n.max),u=s-a,d=a+u/2,h=Tt.round(d-o),f={},p=3===e.event.which;t._state||p||(e.preventDefault(),t.chart._unsetActivePoint(),r.options.justified||h--,f.from=Tt.min(Tt.max(l,a-h),c-u),f.to=Tt.min(f.from+u,c),t._start(e),t._state&&(t._state.range=f,t.trigger(wr,t._rangeEventArgs(f)),t._end()))},_mousewheel:function(e){var t,n=this,i=n.options,r=dn(e);n._start({event:{target:n.selection}}),n._state&&(t=n._state.range,e.preventDefault(),e.stopPropagation(),Tt.abs(r)>1&&(r*=io),i.mousewheel.reverse&&(r*=-1),n.expand(r)&&n.trigger(wr,{axis:n.categoryAxis.options,delta:r,originalEvent:e,from:n._value(t.from),to:n._value(t.to)}),n._mwTimeout&&clearTimeout(n._mwTimeout),n._mwTimeout=setTimeout(function(){n._end()},Ji))},_index:function(e){var t=this,n=t.categoryAxis,i=n.options.categories,r=e;return e instanceof Date&&(r=A(e,i),!n.options.justified&&e>mn(i)&&(r+=1)),r},_value:function(e){var t=this,n=this.categoryAxis,i=n.options.categories,r=e;return t._dateAxis&&(r=e>i.length-1?t.options.max:i[e]),r},_slot:function(e){var t=this,n=this.categoryAxis;return n.getSlot(t._index(e))},move:function(e,t){var n,i,r,o,a=this,s=a.options,l=s.offset,c=s.padding,u=s.selection.border;r=a._slot(e),n=hn(r.x1-l.left+c.left),a.leftMask.width(n),a.selection.css("left",n),r=a._slot(t),i=hn(s.width-(r.x1-l.left+c.left)),a.rightMask.width(i),o=s.width-i,o!=s.width&&(o+=u.right),a.rightMask.css("left",o),a.selection.width(Tt.max(s.width-(n+i)-u.right,0))},set:function(e,t){var n=this,i=n.options,r=n._index(i.min),o=n._index(i.max);e=vn(n._index(e),r,o),t=vn(n._index(t),e+1,o),i.visible&&n.move(e,t),i.from=n._value(e),i.to=n._value(t)},expand:function(e){var n=this,i=n.options,r=n._index(i.min),o=n._index(i.max),a=i.mousewheel.zoom,s=n._index(i.from),l=n._index(i.to),c={from:s,to:l},u=Bt({},c);return n._state&&(c=n._state.range),a!==fr&&(c.from=vn(vn(s-e,0,l-1),r,o)),a!==Ri&&(c.to=vn(vn(l+e,c.from+1,o),r,o)),c.from!==u.from||c.to!==u.to?(n.set(c.from,c.to),!0):t},getValueAxis:function(e){var t,n,i=e.pane.axes,r=i.length;for(t=0;r>t;t++)if(n=i[t],n.options.vertical!==e.options.vertical)return n}}),vt=It.extend({init:function(e,t){this.plotArea=e,this.options=Bt({},this.options,t)},options:{key:"none",lock:"none"},start:function(e){this._active=K(e.event,this.options.key)},move:function(e){if(this._active){var t=this.axisRanges=this._panAxes(e,Zr).concat(this._panAxes(e,eo));if(t.length)return this.axisRanges=t,Y(t)}},end:function(){this._active=!1},pan:function(){var e,t,n=this.plotArea,i=this.axisRanges;if(i.length){for(t=0;i.length>t;t++)e=i[t],n.updateAxisOptions(e.axis,e.range);n.redraw(n.panes)}},_panAxes:function(e,t){var n,i,r,o,a=this.plotArea,s=-e[t].delta,l=(this.options.lock||"").toLowerCase(),c=[];if(0!==s&&(l||"").toLowerCase()!=t)for(n=a.axes,o=0;n.length>o;o++)i=n[o],(t==Zr&&!i.options.vertical||t==eo&&i.options.vertical)&&(r=i.pan(s),r&&(r.limitRange=!0,c.push({axis:i,range:r})));return c}}),_t=It.extend({init:function(t,n){this.chart=t,this.options=Bt({},this.options,n),this._marquee=e("<div class='k-marquee'><div class='k-marquee-color'></div></div>")},options:{key:"shift",lock:"none"},start:function(e){var t,n,i,r,o;K(e.event,this.options.key)&&(t=this.chart,n=t._toModelCoordinates(e.x.client,e.y.client),i=this._zoomPane=t._plotArea.paneByPoint(n),i&&(r=i.clipBox().clone(),o=this._elementOffset(),r.translate(o.left,o.top),this._zoomPaneClipBox=r,this._marquee.appendTo(document.body).css({left:e.x.client+1,top:e.y.client+1,width:0,height:0})))},_elementOffset:function(){var e=this.chart.element,t=e.offset();return{left:parseInt(e.css("paddingTop"),10)+t.left,top:parseInt(e.css("paddingLeft"),10)+t.top}},move:function(e){var t,n=this._zoomPane;n&&(t=this._selectionPosition(e),this._marquee.css(t))},end:function(e){var n,i,r,o,a=this._zoomPane;return a?(n=this._elementOffset(),i=this._selectionPosition(e),i.left-=n.left,i.top-=n.top,r={x:i.left,y:i.top},o={x:i.left+i.width,y:i.top+i.height},this._updateAxisRanges(r,o),this._marquee.remove(),delete this._zoomPane,Y(this.axisRanges)):t},zoom:function(){var e,t,n,i=this.axisRanges;if(i&&i.length){for(e=this.chart._plotArea,n=0;i.length>n;n++)t=i[n],e.updateAxisOptions(t.axis,t.range);e.redraw(e.panes)}},destroy:function(){this._marquee.remove(),delete this._marquee},_updateAxisRanges:function(e,t){var n,i,r,o,a=(this.options.lock||"").toLowerCase(),s=[],l=this._zoomPane.axes;for(r=0;l.length>r;r++)n=l[r],i=n.options.vertical,a==Zr&&!i||a===eo&&i||(o=n.pointsRange(e,t),s.push({axis:n,range:o}));this.axisRanges=s},_selectionPosition:function(e){var t=(this.options.lock||"").toLowerCase(),n=Tt.min(e.x.startLocation,e.x.location),i=Tt.min(e.y.startLocation,e.y.location),r=Tt.abs(e.x.initialDelta),o=Tt.abs(e.y.initialDelta),a=this._zoomPaneClipBox;return t==Zr&&(n=a.x1,r=a.width()),t==eo&&(i=a.y1,o=a.height()),e.x.location>a.x2&&(r=a.x2-e.x.startLocation),a.x1>e.x.location&&(r=e.x.startLocation-a.x1),e.y.location>a.y2&&(o=a.y2-e.y.startLocation),a.y1>e.y.location&&(o=e.y.startLocation-a.y1),{left:Tt.max(n,a.x1),top:Tt.max(i,a.y1),width:r,height:o}}}),bt=It.extend({init:function(e,t){this.plotArea=e,this.options=Bt({},this.options,t)},updateRanges:function(e){var t,n,i,r,o=(this.options.lock||"").toLowerCase(),a=[],s=this.plotArea.axes;for(i=0;s.length>i;i++)t=s[i],n=t.options.vertical,o==Zr&&!n||o===eo&&n||(r=t.zoomRange(-e),r&&a.push({axis:t,range:r}));return this.axisRanges=a,Y(a)},zoom:function(){var e,t,n,i=this.axisRanges;if(i&&i.length){for(e=this.plotArea,n=0;i.length>n;n++)t=i[n],e.updateAxisOptions(t.axis,t.range);e.redraw(e.panes)}}}),wt=function(e,t,n){var i,r,o,a=this,s=t.canonicalFields(e),l=t.valueFields(e),c=t.sourceFields(e,s),u=a._seriesFields=[],d=n.query(e.type),h=e.aggregate||d;for(a._series=e,a._binder=t,i=0;s.length>i;i++){if(r=s[i],typeof h===ir)o=h[r];else{if(0!==i&&!cn(r,l))break;o=h}o&&u.push({canonicalName:r,name:c[i],transform:Lt(o)?o:gt[o]})}},wt.prototype={aggregatePoints:function(e,t){var n,i,r,o,a,s=this,l=s._bindPoints(e||[]),c=s._series,u=s._seriesFields,d=l.dataItems[0],h={};for(!d||E(d)||xt(d)||(a=function(){},a.prototype=d,h=new a),n=0;u.length>n;n++){if(i=u[n],r=s._bindField(l.values,i.canonicalName),o=i.transform(r,c,l.dataItems,t),null!==o&&typeof o===ir&&!gn(o.length)){h=o;break}gn(o)&&(V(i.name,h),Mt.setter(i.name)(h,o))}return h},_bindPoints:function(e){var t,n,i=this,r=i._binder,o=i._series,a=[],s=[];for(t=0;e.length>t;t++)n=e[t],a.push(r.bindPoint(o,n)),s.push(o.data[n]);return{values:a,dataItems:s}},_bindField:function(e,t){var n,i,r,o,a=[],s=e.length;for(n=0;s>n;n++)i=e[n],o=i.valueFields,r=gn(o[t])?o[t]:i.fields[t],a.push(r);return a}},yt=It.extend({init:function(e){this._axis=e},slot:function(e,t){return this._axis.slot(e,t)},range:function(){return this._axis.range()}}),At(e.easing,{easeOutElastic:function(e,t,n,i){var r=1.70158,o=0,a=i;return 0===e?n:1===e?n+i:(o||(o=.5),a<Tt.abs(i)?(a=i,r=o/4):r=o/(2*Tt.PI)*Tt.asin(i/a),a*Tt.pow(2,-10*e)*Tt.sin((1*e-r)*(1.1*Tt.PI)/o)+i+n)}}),Nt.ui.plugin(uo),Q.current.register(nt,[In,Kn,Bi,Kr,Dn,$r,Vn,rr,On,Yr,Hn,dr,ur,Qr,Si]),Q.current.register(rt,[mr,vr,Nn]),Q.current.register(ot,[ar]),Q.current.register(at,[li]),X.current.register([In,Kn,Bi,Kr,Dn,$r],[Gr],[Un,Yn,nr,fi,pi]),X.current.register([dr,ur],[yi,Nr],[Un,Yn,nr]),X.current.register([Qr,Si],[Gr],[Un,Yn,nr,Mr]),i.current.register([In,Kn,Bi,Kr,Dn,$r,Qr,Si],{value:Ni,color:wi,noteText:wi,errorLow:Ui,errorHigh:Ni}),i.current.register([dr,ur],{from:Ui,to:Ni,color:wi,noteText:wi}),X.current.register([mr,vr,Nn],[Zr,eo],[Yn,nr,gi,mi,vi,_i]),X.current.register([Nn],[Zr,eo,"size"],[Yn,Un,nr]),X.current.register([Vn,rr],["open","high","low","close"],[Un,Yn,"downColor",nr]),i.current.register([Vn,rr],{open:Ni,high:Ni,low:Ui,close:Ni,color:wi,downColor:wi,noteText:wi}),X.current.register([Hn],["lower","q1","median","q3","upper","mean","outliers"],[Un,Yn,nr]),i.current.register([Hn],{lower:Ni,q1:Ni,median:Ni,q3:Ni,upper:Ni,mean:Ni,outliers:wi,color:wi,noteText:wi}),X.current.register([On,Yr],["current","target"],[Un,Yn,"visibleInLegend",nr]),i.current.register([On,Yr],{current:Ni,target:Ni,color:wi,noteText:wi}),X.current.register([ar,li],[Gr],[Un,Yn,"explode","visibleInLegend","visible"]),Bt(Nt,{EQUALLY_SPACED_SERIES:lo,Aggregates:gt,AreaChart:Pe,AreaSegment:Fe,AxisGroupRangeTracker:it,Bar:ce,BarChart:pe,BarLabel:J,BubbleChart:Ne,Bullet:_e,BulletChart:ve,CandlestickChart:Ve,Candlestick:Oe,CategoricalChart:fe,CategoricalErrorBar:ye,CategoricalPlotArea:nt,CategoryAxis:ne,ChartAxis:yt,ChartContainer:et,ClipAnimation:Ee,ClusterLayout:oe,Crosshair:ft,CrosshairTooltip:pt,DateCategoryAxis:ie,DateValueAxis:re,DefaultAggregates:i,DonutChart:Qe,DonutPlotArea:at,DonutSegment:Ke,ErrorBarBase:we,ErrorRangeCalculator:he,Highlight:ct,SharedTooltip:ht,Legend:te,LegendItem:Z,LegendLayout:ee,LineChart:Ae,LinePoint:xe,LineSegment:Se,Pane:Ze,PieAnimation:st,PieChart:Ye,PieChartMixin:$e,PiePlotArea:ot,PieSegment:Ge,PlotAreaBase:tt,PlotAreaFactory:Q,PointEventsMixin:se,RangeBar:ge,RangeBarChart:me,ScatterChart:Le,ScatterErrorBar:ke,ScatterLineChart:He,Selection:mt,SeriesAggregator:wt,SeriesBinder:X,ShapeElement:en,SplineSegment:Ie,SplineAreaSegment:Be,StackWrap:ae,Tooltip:dt,OHLCChart:We,OHLCPoint:Ue,WaterfallChart:Xe,WaterfallSegment:Je,XYPlotArea:rt,addDuration:m,areNumbers:I,axisGroupBox:C,categoriesCount:u,ceilDate:b,countNumbers:M,duration:k,ensureTree:V,indexOf:z,isNumber:E,floorDate:_,filterSeriesByType:B,hasValue:$,lteDateIndex:A,evalOptions:F,seriesTotal:U,singleItemOrArray:x,sortDates:L,startOfWeek:v,transpose:O,toDate:p,toTime:g,uniqueDates:H})}(window.kendo.jQuery),window.kendo},"function"==typeof define&&define.amd?define:function(e,t){t()}); |