highcharts 8.2.0 → 8.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (731) hide show
  1. package/bower.json +1 -1
  2. package/es-modules/Accessibility/Accessibility.js +3 -2
  3. package/es-modules/Accessibility/AccessibilityComponent.js +7 -8
  4. package/es-modules/Accessibility/Components/ContainerComponent.js +6 -7
  5. package/es-modules/Accessibility/Components/InfoRegionsComponent.js +0 -1
  6. package/es-modules/Accessibility/Components/RangeSelectorComponent.js +4 -4
  7. package/es-modules/Accessibility/Components/SeriesComponent/ForcedMarkers.js +4 -4
  8. package/es-modules/Accessibility/Components/SeriesComponent/NewDataAnnouncer.js +3 -2
  9. package/es-modules/Accessibility/Components/SeriesComponent/SeriesDescriber.js +4 -4
  10. package/es-modules/Accessibility/Components/SeriesComponent/SeriesKeyboardNavigation.js +8 -6
  11. package/es-modules/Accessibility/Components/ZoomComponent.js +7 -6
  12. package/es-modules/Accessibility/KeyboardNavigation.js +7 -3
  13. package/es-modules/Accessibility/Options/Options.js +1 -2
  14. package/es-modules/Accessibility/Utils/ChartUtilities.js +4 -4
  15. package/es-modules/Accessibility/Utils/DOMElementProvider.js +3 -3
  16. package/es-modules/Accessibility/Utils/HTMLUtilities.js +2 -3
  17. package/es-modules/Core/Animation/AnimationUtilities.js +193 -0
  18. package/es-modules/Core/Animation/Fx.js +378 -0
  19. package/es-modules/Core/Axis/Axis.js +12 -6
  20. package/es-modules/Core/Axis/BrokenAxis.js +4 -6
  21. package/es-modules/Core/Axis/ColorAxis.js +11 -10
  22. package/es-modules/Core/Axis/GridAxis.js +113 -57
  23. package/es-modules/Core/Axis/OrdinalAxis.js +4 -5
  24. package/es-modules/Core/Axis/PlotLineOrBand.js +11 -4
  25. package/es-modules/Core/Axis/StackingAxis.js +3 -1
  26. package/es-modules/Core/Axis/TreeGridAxis.js +52 -7
  27. package/es-modules/Core/Chart/Chart.js +13 -8
  28. package/es-modules/Core/Chart/Chart3D.js +2 -1
  29. package/es-modules/Core/Chart/GanttChart.js +5 -9
  30. package/es-modules/Core/Chart/StockChart.js +6 -7
  31. package/es-modules/Core/Color/Color.js +419 -0
  32. package/es-modules/Core/Color/ColorType.js +9 -0
  33. package/es-modules/Core/Dynamics.js +54 -23
  34. package/es-modules/Core/Globals.js +1 -1
  35. package/es-modules/Core/Interaction.js +9 -6
  36. package/es-modules/Core/Legend.js +3 -1
  37. package/es-modules/Core/Navigator.js +8 -4
  38. package/es-modules/Core/Options.js +13 -11
  39. package/es-modules/Core/Pointer.js +2 -2
  40. package/es-modules/Core/Renderer/DOMElementType.js +9 -0
  41. package/es-modules/Core/Renderer/HTML/HTMLElement.js +220 -0
  42. package/es-modules/Core/Renderer/HTML/{HTML.js → HTMLRenderer.js} +8 -202
  43. package/es-modules/Core/Renderer/SVG/SVGElement.js +14 -8
  44. package/es-modules/Core/Renderer/SVG/SVGLabel.js +0 -1
  45. package/es-modules/Core/Renderer/SVG/SVGRenderer.js +2 -3
  46. package/es-modules/Core/Renderer/SVG/SVGRenderer3D.js +5 -3
  47. package/es-modules/Core/Series/BaseSeries.js +157 -0
  48. package/es-modules/Core/Series/CartesianSeries.js +5553 -0
  49. package/es-modules/Core/Series/DataLabels.js +11 -9
  50. package/es-modules/Core/Series/Point.js +5 -3
  51. package/es-modules/Core/Series/Series.js +138 -5528
  52. package/es-modules/Core/Series/Series3D.js +1 -1
  53. package/es-modules/Core/Tooltip.js +2 -1
  54. package/es-modules/Core/Utilities.js +0 -582
  55. package/es-modules/Extensions/Annotations/Annotations.js +4 -2
  56. package/es-modules/Extensions/Annotations/Mixins/ControllableMixin.js +3 -3
  57. package/es-modules/Extensions/Annotations/MockPoint.js +3 -3
  58. package/es-modules/Extensions/Annotations/NavigationBindings.js +5 -4
  59. package/es-modules/Extensions/Annotations/Popup.js +1 -2
  60. package/es-modules/Extensions/Annotations/Types/Measure.js +0 -1
  61. package/es-modules/Extensions/Boost/Boost.js +3 -3
  62. package/es-modules/Extensions/Boost/BoostAttach.js +5 -4
  63. package/es-modules/Extensions/Boost/BoostInit.js +1 -1
  64. package/es-modules/Extensions/Boost/BoostOverrides.js +1 -1
  65. package/es-modules/Extensions/Boost/BoostUtils.js +1 -1
  66. package/es-modules/Extensions/Boost/NamedColors.js +1 -1
  67. package/es-modules/Extensions/Boost/WGLRenderer.js +4 -4
  68. package/es-modules/Extensions/Boost/WGLShader.js +1 -2
  69. package/es-modules/Extensions/BoostCanvas.js +9 -6
  70. package/es-modules/Extensions/CurrentDateIndication.js +3 -7
  71. package/es-modules/Extensions/Data.js +7 -9
  72. package/es-modules/Extensions/DataGrouping.js +3 -2
  73. package/es-modules/Extensions/Debugger.js +3 -2
  74. package/es-modules/Extensions/DownloadURL.js +5 -3
  75. package/es-modules/Extensions/DragPanes.js +1 -1
  76. package/es-modules/Extensions/DraggablePoints.js +6 -5
  77. package/es-modules/Extensions/Drilldown.js +24 -10
  78. package/es-modules/Extensions/ExportData.js +1 -2
  79. package/es-modules/Extensions/Exporting.js +9 -2
  80. package/es-modules/Extensions/MarkerClusters.js +8 -5
  81. package/es-modules/Extensions/NoDataToDisplay.js +13 -13
  82. package/es-modules/Extensions/OfflineExporting.js +14 -14
  83. package/es-modules/Extensions/{Oldie.js → Oldie/Oldie.js} +15 -12
  84. package/es-modules/{Core/Axis → Extensions/Oldie}/VMLAxis3D.js +1 -1
  85. package/es-modules/Extensions/Oldie/VMLRenderer3D.js +46 -0
  86. package/es-modules/Extensions/OverlappingDataLabels.js +4 -0
  87. package/es-modules/Extensions/Pane.js +1 -1
  88. package/es-modules/Extensions/ParallelCoordinates.js +1 -1
  89. package/es-modules/Extensions/PatternFill.js +10 -7
  90. package/es-modules/Extensions/Polar.js +4 -2
  91. package/es-modules/Extensions/ScrollablePlotArea.js +3 -1
  92. package/es-modules/Extensions/SeriesLabel.js +4 -3
  93. package/es-modules/{modules/sonification/chartSonify.js → Extensions/Sonification/ChartSonify.js} +1 -1
  94. package/es-modules/{modules/sonification → Extensions/Sonification}/Earcon.js +0 -0
  95. package/es-modules/{modules/sonification → Extensions/Sonification}/Instrument.js +7 -2
  96. package/es-modules/{modules/sonification/instrumentDefinitions.js → Extensions/Sonification/InstrumentDefinitions.js} +1 -1
  97. package/es-modules/{modules/sonification/musicalFrequencies.js → Extensions/Sonification/MusicalFrequencies.js} +0 -0
  98. package/es-modules/{modules/sonification/options.js → Extensions/Sonification/Options.js} +0 -0
  99. package/es-modules/{modules/sonification/pointSonify.js → Extensions/Sonification/PointSonify.js} +1 -1
  100. package/es-modules/{modules/sonification/sonification.js → Extensions/Sonification/Sonification.js} +10 -9
  101. package/es-modules/{modules/sonification → Extensions/Sonification}/Timeline.js +1 -1
  102. package/es-modules/{modules/sonification/utilities.js → Extensions/Sonification/Utilities.js} +1 -1
  103. package/es-modules/Extensions/Stacking.js +1 -1
  104. package/es-modules/Extensions/StaticScale.js +3 -3
  105. package/es-modules/Extensions/Themes/Avocado.js +3 -4
  106. package/es-modules/Extensions/Themes/DarkUnica.js +5 -7
  107. package/es-modules/Extensions/Themes/Gray.js +3 -4
  108. package/es-modules/Extensions/Themes/HighContrastDark.js +3 -4
  109. package/es-modules/Extensions/Themes/Sunset.js +3 -4
  110. package/es-modules/Gantt/Pathfinder.js +6 -0
  111. package/es-modules/Maps/Map.js +9 -5
  112. package/es-modules/Maps/MapNavigation.js +0 -1
  113. package/es-modules/{mixins → Mixins}/CenteredSeries.js +0 -0
  114. package/es-modules/{mixins → Mixins}/ColorMapSeries.js +7 -3
  115. package/es-modules/{mixins → Mixins}/ColorSeries.js +7 -3
  116. package/es-modules/{mixins → Mixins}/DerivedSeries.js +1 -1
  117. package/es-modules/{mixins → Mixins}/DrawPoint.js +0 -0
  118. package/es-modules/{mixins → Mixins}/Geometry.js +0 -0
  119. package/es-modules/{mixins → Mixins}/GeometryCircles.js +0 -0
  120. package/es-modules/{mixins → Mixins}/IndicatorRequired.js +0 -0
  121. package/es-modules/{mixins → Mixins}/LegendSymbol.js +0 -0
  122. package/es-modules/{mixins → Mixins}/MultipleLines.js +0 -0
  123. package/es-modules/{mixins → Mixins}/Navigation.js +0 -0
  124. package/es-modules/{mixins → Mixins}/NelderMead.js +0 -0
  125. package/es-modules/{mixins → Mixins}/Nodes.js +1 -1
  126. package/es-modules/{mixins → Mixins}/OnSeries.js +1 -1
  127. package/es-modules/{mixins → Mixins}/Polygon.js +0 -0
  128. package/es-modules/{mixins → Mixins}/ReduceArray.js +0 -0
  129. package/es-modules/{mixins → Mixins}/TreeSeries.js +1 -1
  130. package/es-modules/Series/AreaRangeSeries.js +57 -21
  131. package/es-modules/Series/AreaSeries.js +38 -6
  132. package/es-modules/Series/AreaSplineRangeSeries.js +44 -7
  133. package/es-modules/Series/AreaSplineSeries.js +43 -6
  134. package/es-modules/Series/BarSeries.js +2 -5
  135. package/es-modules/Series/BellcurveSeries.js +45 -5
  136. package/es-modules/Series/BoxPlotSeries.js +7 -6
  137. package/es-modules/Series/Bubble/BubbleLegend.js +3 -3
  138. package/es-modules/Series/Bubble/BubbleSeries.js +13 -11
  139. package/es-modules/Series/BulletSeries.js +5 -5
  140. package/es-modules/Series/CandlestickSeries.js +7 -6
  141. package/es-modules/Series/Column3DSeries.js +77 -23
  142. package/es-modules/Series/ColumnPyramidSeries.js +5 -6
  143. package/es-modules/Series/ColumnRangeSeries.js +17 -16
  144. package/es-modules/Series/ColumnSeries.js +18 -14
  145. package/es-modules/Series/CylinderSeries.js +8 -11
  146. package/es-modules/Series/DependencyWheelSeries.js +11 -9
  147. package/es-modules/Series/DotplotSeries.js +3 -11
  148. package/es-modules/Series/DumbbellSeries.js +11 -7
  149. package/es-modules/Series/ErrorBarSeries.js +3 -5
  150. package/es-modules/Series/FlagsSeries.js +13 -9
  151. package/es-modules/Series/Funnel3DSeries.js +8 -12
  152. package/es-modules/Series/FunnelSeries.js +6 -6
  153. package/es-modules/Series/GanttSeries.js +11 -12
  154. package/es-modules/Series/GaugeSeries.js +6 -5
  155. package/es-modules/Series/HeatmapSeries.js +9 -7
  156. package/es-modules/Series/HistogramSeries.js +6 -5
  157. package/es-modules/Series/ItemSeries.js +5 -5
  158. package/es-modules/Series/LineSeries.js +13 -0
  159. package/es-modules/Series/LollipopSeries.js +11 -7
  160. package/es-modules/Series/MapBubbleSeries.js +4 -5
  161. package/es-modules/Series/MapLineSeries.js +4 -6
  162. package/es-modules/Series/MapPointSeries.js +6 -5
  163. package/es-modules/Series/MapSeries.js +15 -12
  164. package/es-modules/Series/Networkgraph/DraggableNodes.js +8 -6
  165. package/es-modules/Series/Networkgraph/Layouts.js +3 -1
  166. package/es-modules/Series/Networkgraph/Networkgraph.js +8 -7
  167. package/es-modules/Series/OHLCSeries.js +4 -6
  168. package/es-modules/Series/OrganizationSeries.js +7 -4
  169. package/es-modules/Series/PackedBubbleSeries.js +10 -10
  170. package/es-modules/Series/ParetoSeries.js +6 -5
  171. package/es-modules/Series/Pie3DSeries.js +3 -2
  172. package/es-modules/Series/PieSeries.js +36 -10
  173. package/es-modules/Series/PolygonSeries.js +6 -6
  174. package/es-modules/Series/Pyramid3DSeries.js +3 -5
  175. package/es-modules/Series/SankeySeries.js +13 -12
  176. package/es-modules/Series/Scatter3DSeries.js +4 -6
  177. package/es-modules/Series/ScatterSeries.js +10 -5
  178. package/es-modules/Series/SolidGaugeSeries.js +7 -7
  179. package/es-modules/Series/SplineSeries.js +5 -3
  180. package/es-modules/Series/StreamgraphSeries.js +41 -5
  181. package/es-modules/Series/SunburstSeries.js +15 -11
  182. package/es-modules/Series/TilemapSeries.js +8 -6
  183. package/es-modules/Series/TimelineSeries.js +6 -5
  184. package/es-modules/Series/TreemapSeries.js +36 -50
  185. package/es-modules/Series/VariablePieSeries.js +9 -7
  186. package/es-modules/Series/VariwideSeries.js +7 -6
  187. package/es-modules/Series/VectorSeries.js +5 -3
  188. package/es-modules/Series/VennSeries.js +20 -17
  189. package/es-modules/Series/WaterfallSeries.js +6 -4
  190. package/es-modules/Series/WindbarbSeries.js +9 -6
  191. package/es-modules/Series/WordcloudSeries.js +11 -9
  192. package/es-modules/Series/XRangeSeries.js +8 -7
  193. package/es-modules/Stock/Indicators/ABIndicator.js +7 -7
  194. package/es-modules/Stock/Indicators/ADIndicator.js +4 -3
  195. package/es-modules/Stock/Indicators/AOIndicator.js +5 -4
  196. package/es-modules/Stock/Indicators/APOIndicator.js +7 -7
  197. package/es-modules/Stock/Indicators/ATRIndicator.js +5 -5
  198. package/es-modules/Stock/Indicators/AroonIndicator.js +6 -5
  199. package/es-modules/Stock/Indicators/AroonOscillatorIndicator.js +5 -5
  200. package/es-modules/Stock/Indicators/BBIndicator.js +7 -7
  201. package/es-modules/Stock/Indicators/CCIIndicator.js +4 -3
  202. package/es-modules/Stock/Indicators/CMFIndicator.js +3 -4
  203. package/es-modules/Stock/Indicators/ChaikinIndicator.js +9 -8
  204. package/es-modules/Stock/Indicators/DEMAIndicator.js +7 -7
  205. package/es-modules/Stock/Indicators/DPOIndicator.js +4 -3
  206. package/es-modules/Stock/Indicators/EMAIndicator.js +3 -3
  207. package/es-modules/Stock/Indicators/IKHIndicator.js +22 -19
  208. package/es-modules/Stock/Indicators/KeltnerChannelsIndicator.js +10 -7
  209. package/es-modules/Stock/Indicators/MACDIndicator.js +7 -4
  210. package/es-modules/Stock/Indicators/MFIIndicator.js +4 -3
  211. package/es-modules/Stock/Indicators/MomentumIndicator.js +4 -3
  212. package/es-modules/Stock/Indicators/NATRIndicator.js +4 -6
  213. package/es-modules/Stock/Indicators/PCIndicator.js +8 -7
  214. package/es-modules/Stock/Indicators/PPOIndicator.js +7 -7
  215. package/es-modules/Stock/Indicators/PSARIndicator.js +3 -4
  216. package/es-modules/Stock/Indicators/PivotPointsIndicator.js +5 -5
  217. package/es-modules/Stock/Indicators/PriceEnvelopesIndicator.js +5 -5
  218. package/es-modules/Stock/Indicators/ROCIndicator.js +4 -3
  219. package/es-modules/Stock/Indicators/RSIIndicator.js +4 -3
  220. package/es-modules/Stock/Indicators/RegressionIndicators.js +7 -6
  221. package/es-modules/Stock/Indicators/{Indicators.js → SMAIndicator.js} +9 -6
  222. package/es-modules/Stock/Indicators/SlowStochasticIndicator.js +6 -8
  223. package/es-modules/Stock/Indicators/StochasticIndicator.js +8 -8
  224. package/es-modules/Stock/Indicators/SupertrendIndicator.js +7 -6
  225. package/es-modules/Stock/Indicators/TEMAIndicator.js +7 -7
  226. package/es-modules/Stock/Indicators/TRIXIndicator.js +7 -7
  227. package/es-modules/Stock/Indicators/TrendLineIndicator.js +4 -3
  228. package/es-modules/Stock/Indicators/VBPIndicator.js +7 -4
  229. package/es-modules/Stock/Indicators/VWAPIndicator.js +4 -3
  230. package/es-modules/Stock/Indicators/WMAIndicator.js +4 -3
  231. package/es-modules/Stock/Indicators/WilliamsRIndicator.js +6 -5
  232. package/es-modules/Stock/Indicators/ZigzagIndicator.js +5 -7
  233. package/es-modules/Stock/StockToolsBindings.js +16 -2
  234. package/es-modules/Stock/StockToolsGui.js +9 -9
  235. package/es-modules/masters/highcharts-3d.src.js +1 -2
  236. package/es-modules/masters/highcharts-gantt.src.js +1 -1
  237. package/es-modules/masters/highcharts-more.src.js +1 -1
  238. package/es-modules/masters/highcharts.src.js +3 -2
  239. package/es-modules/masters/highmaps.src.js +1 -1
  240. package/es-modules/masters/highstock.src.js +1 -1
  241. package/es-modules/masters/indicators/acceleration-bands.src.js +1 -1
  242. package/es-modules/masters/indicators/accumulation-distribution.src.js +1 -1
  243. package/es-modules/masters/indicators/ao.src.js +1 -1
  244. package/es-modules/masters/indicators/apo.src.js +1 -1
  245. package/es-modules/masters/indicators/aroon-oscillator.src.js +1 -1
  246. package/es-modules/masters/indicators/aroon.src.js +1 -1
  247. package/es-modules/masters/indicators/atr.src.js +1 -1
  248. package/es-modules/masters/indicators/bollinger-bands.src.js +1 -1
  249. package/es-modules/masters/indicators/cci.src.js +1 -1
  250. package/es-modules/masters/indicators/chaikin.src.js +1 -1
  251. package/es-modules/masters/indicators/cmf.src.js +1 -1
  252. package/es-modules/masters/indicators/dema.src.js +1 -1
  253. package/es-modules/masters/indicators/dpo.src.js +1 -1
  254. package/es-modules/masters/indicators/ema.src.js +1 -1
  255. package/es-modules/masters/indicators/ichimoku-kinko-hyo.src.js +1 -1
  256. package/es-modules/masters/indicators/indicators-all.src.js +2 -2
  257. package/es-modules/masters/indicators/indicators.src.js +2 -2
  258. package/es-modules/masters/indicators/keltner-channels.src.js +1 -1
  259. package/es-modules/masters/indicators/macd.src.js +1 -1
  260. package/es-modules/masters/indicators/mfi.src.js +1 -1
  261. package/es-modules/masters/indicators/momentum.src.js +1 -1
  262. package/es-modules/masters/indicators/natr.src.js +1 -1
  263. package/es-modules/masters/indicators/pivot-points.src.js +1 -1
  264. package/es-modules/masters/indicators/ppo.src.js +1 -1
  265. package/es-modules/masters/indicators/price-channel.src.js +1 -1
  266. package/es-modules/masters/indicators/price-envelopes.src.js +1 -1
  267. package/es-modules/masters/indicators/psar.src.js +1 -1
  268. package/es-modules/masters/indicators/regressions.src.js +1 -1
  269. package/es-modules/masters/indicators/roc.src.js +1 -1
  270. package/es-modules/masters/indicators/rsi.src.js +1 -1
  271. package/es-modules/masters/indicators/slow-stochastic.src.js +1 -1
  272. package/es-modules/masters/indicators/stochastic.src.js +1 -1
  273. package/es-modules/masters/indicators/supertrend.src.js +1 -1
  274. package/es-modules/masters/indicators/tema.src.js +1 -1
  275. package/es-modules/masters/indicators/trendline.src.js +1 -1
  276. package/es-modules/masters/indicators/trix.src.js +1 -1
  277. package/es-modules/masters/indicators/volume-by-price.src.js +1 -1
  278. package/es-modules/masters/indicators/vwap.src.js +1 -1
  279. package/es-modules/masters/indicators/williams-r.src.js +1 -1
  280. package/es-modules/masters/indicators/wma.src.js +1 -1
  281. package/es-modules/masters/indicators/zigzag.src.js +1 -1
  282. package/es-modules/masters/modules/accessibility.src.js +1 -1
  283. package/es-modules/masters/modules/annotations-advanced.src.js +1 -1
  284. package/es-modules/masters/modules/annotations.src.js +1 -1
  285. package/es-modules/masters/modules/arrow-symbols.src.js +1 -1
  286. package/es-modules/masters/modules/boost-canvas.src.js +1 -1
  287. package/es-modules/masters/modules/boost.src.js +1 -1
  288. package/es-modules/masters/modules/broken-axis.src.js +1 -1
  289. package/es-modules/masters/modules/bullet.src.js +1 -1
  290. package/es-modules/masters/modules/coloraxis.src.js +1 -1
  291. package/es-modules/masters/modules/current-date-indicator.src.js +1 -1
  292. package/es-modules/masters/modules/cylinder.src.js +1 -1
  293. package/es-modules/masters/modules/data.src.js +1 -1
  294. package/es-modules/masters/modules/datagrouping.src.js +1 -1
  295. package/es-modules/masters/modules/debugger.src.js +1 -1
  296. package/es-modules/masters/modules/dependency-wheel.src.js +1 -1
  297. package/es-modules/masters/modules/dotplot.src.js +1 -1
  298. package/es-modules/masters/modules/drag-panes.src.js +1 -1
  299. package/es-modules/masters/modules/draggable-points.src.js +1 -1
  300. package/es-modules/masters/modules/drilldown.src.js +1 -1
  301. package/es-modules/masters/modules/dumbbell.src.js +1 -1
  302. package/es-modules/masters/modules/export-data.src.js +1 -1
  303. package/es-modules/masters/modules/exporting.src.js +1 -1
  304. package/es-modules/masters/modules/full-screen.src.js +1 -1
  305. package/es-modules/masters/modules/funnel.src.js +1 -1
  306. package/es-modules/masters/modules/funnel3d.src.js +1 -1
  307. package/es-modules/masters/modules/gantt.src.js +1 -1
  308. package/es-modules/masters/modules/grid-axis.src.js +1 -1
  309. package/es-modules/masters/modules/heatmap.src.js +1 -1
  310. package/es-modules/masters/modules/histogram-bellcurve.src.js +1 -1
  311. package/es-modules/masters/modules/item-series.src.js +1 -1
  312. package/es-modules/masters/modules/lollipop.src.js +1 -1
  313. package/es-modules/masters/modules/map.src.js +1 -1
  314. package/es-modules/masters/modules/marker-clusters.src.js +1 -1
  315. package/es-modules/masters/modules/networkgraph.src.js +1 -1
  316. package/es-modules/masters/modules/no-data-to-display.src.js +1 -1
  317. package/es-modules/masters/modules/offline-exporting.src.js +1 -1
  318. package/es-modules/masters/modules/oldie-polyfills.src.js +1 -1
  319. package/es-modules/masters/modules/oldie.src.js +2 -2
  320. package/es-modules/masters/modules/organization.src.js +1 -1
  321. package/es-modules/masters/modules/overlapping-datalabels.src.js +1 -1
  322. package/es-modules/masters/modules/parallel-coordinates.src.js +1 -1
  323. package/es-modules/masters/modules/pareto.src.js +1 -1
  324. package/es-modules/masters/modules/pathfinder.src.js +1 -1
  325. package/es-modules/masters/modules/pattern-fill.src.js +1 -1
  326. package/es-modules/masters/modules/price-indicator.src.js +1 -1
  327. package/es-modules/masters/modules/pyramid3d.src.js +1 -1
  328. package/es-modules/masters/modules/sankey.src.js +1 -1
  329. package/es-modules/masters/modules/series-label.src.js +1 -1
  330. package/es-modules/masters/modules/solid-gauge.src.js +1 -1
  331. package/es-modules/masters/modules/sonification.src.js +2 -2
  332. package/es-modules/masters/modules/static-scale.src.js +1 -1
  333. package/es-modules/masters/modules/stock-tools.src.js +1 -1
  334. package/es-modules/masters/modules/stock.src.js +1 -1
  335. package/es-modules/masters/modules/streamgraph.src.js +1 -1
  336. package/es-modules/masters/modules/sunburst.src.js +1 -1
  337. package/es-modules/masters/modules/tilemap.src.js +1 -1
  338. package/es-modules/masters/modules/timeline.src.js +1 -1
  339. package/es-modules/masters/modules/treegrid.src.js +1 -1
  340. package/es-modules/masters/modules/treemap.src.js +1 -1
  341. package/es-modules/masters/modules/variable-pie.src.js +1 -1
  342. package/es-modules/masters/modules/variwide.src.js +1 -1
  343. package/es-modules/masters/modules/vector.src.js +1 -1
  344. package/es-modules/masters/modules/venn.src.js +1 -1
  345. package/es-modules/masters/modules/windbarb.src.js +1 -1
  346. package/es-modules/masters/modules/wordcloud.src.js +1 -1
  347. package/es-modules/masters/modules/xrange.src.js +1 -1
  348. package/es-modules/masters/themes/avocado.src.js +1 -1
  349. package/es-modules/masters/themes/dark-blue.src.js +1 -1
  350. package/es-modules/masters/themes/dark-green.src.js +1 -1
  351. package/es-modules/masters/themes/dark-unica.src.js +1 -1
  352. package/es-modules/masters/themes/gray.src.js +1 -1
  353. package/es-modules/masters/themes/grid-light.src.js +1 -1
  354. package/es-modules/masters/themes/grid.src.js +1 -1
  355. package/es-modules/masters/themes/high-contrast-dark.src.js +1 -1
  356. package/es-modules/masters/themes/high-contrast-light.src.js +1 -1
  357. package/es-modules/masters/themes/sand-signika.src.js +1 -1
  358. package/es-modules/masters/themes/skies.src.js +1 -1
  359. package/es-modules/masters/themes/sunset.src.js +1 -1
  360. package/highcharts-3d.js +86 -89
  361. package/highcharts-3d.js.map +1 -1
  362. package/highcharts-3d.src.js +88 -149
  363. package/highcharts-gantt.js +729 -717
  364. package/highcharts-gantt.js.map +1 -1
  365. package/highcharts-gantt.src.js +5570 -5094
  366. package/highcharts-more.js +164 -163
  367. package/highcharts-more.js.map +1 -1
  368. package/highcharts-more.src.js +182 -118
  369. package/highcharts.d.ts +89 -159
  370. package/highcharts.js +537 -530
  371. package/highcharts.js.map +1 -1
  372. package/highcharts.src.d.ts +89 -159
  373. package/highcharts.src.js +5341 -4976
  374. package/highmaps.js +635 -627
  375. package/highmaps.js.map +1 -1
  376. package/highmaps.src.js +5907 -5530
  377. package/highstock.js +696 -689
  378. package/highstock.js.map +1 -1
  379. package/highstock.src.js +5384 -5026
  380. package/indicators/acceleration-bands.js +8 -8
  381. package/indicators/acceleration-bands.js.map +1 -1
  382. package/indicators/acceleration-bands.src.js +7 -7
  383. package/indicators/accumulation-distribution.js +4 -4
  384. package/indicators/accumulation-distribution.js.map +1 -1
  385. package/indicators/accumulation-distribution.src.js +5 -5
  386. package/indicators/ao.js +5 -5
  387. package/indicators/ao.js.map +1 -1
  388. package/indicators/ao.src.js +6 -6
  389. package/indicators/apo.js +5 -5
  390. package/indicators/apo.js.map +1 -1
  391. package/indicators/apo.src.js +7 -7
  392. package/indicators/aroon-oscillator.js +8 -8
  393. package/indicators/aroon-oscillator.js.map +1 -1
  394. package/indicators/aroon-oscillator.src.js +6 -6
  395. package/indicators/aroon.js +7 -7
  396. package/indicators/aroon.js.map +1 -1
  397. package/indicators/aroon.src.js +6 -6
  398. package/indicators/atr.js +4 -4
  399. package/indicators/atr.js.map +1 -1
  400. package/indicators/atr.src.js +6 -14
  401. package/indicators/bollinger-bands.js +8 -8
  402. package/indicators/bollinger-bands.js.map +1 -1
  403. package/indicators/bollinger-bands.src.js +7 -7
  404. package/indicators/cci.js +4 -4
  405. package/indicators/cci.js.map +1 -1
  406. package/indicators/cci.src.js +5 -5
  407. package/indicators/chaikin.js +6 -6
  408. package/indicators/chaikin.js.map +1 -1
  409. package/indicators/chaikin.src.js +75 -74
  410. package/indicators/cmf.js +2 -2
  411. package/indicators/cmf.js.map +1 -1
  412. package/indicators/cmf.src.js +4 -4
  413. package/indicators/dema.js +5 -5
  414. package/indicators/dema.js.map +1 -1
  415. package/indicators/dema.src.js +7 -7
  416. package/indicators/dpo.js +4 -4
  417. package/indicators/dpo.js.map +1 -1
  418. package/indicators/dpo.src.js +5 -5
  419. package/indicators/ema.js +4 -4
  420. package/indicators/ema.js.map +1 -1
  421. package/indicators/ema.src.js +4 -5
  422. package/indicators/ichimoku-kinko-hyo.js +13 -13
  423. package/indicators/ichimoku-kinko-hyo.js.map +1 -1
  424. package/indicators/ichimoku-kinko-hyo.src.js +21 -20
  425. package/indicators/indicators-all.js +118 -118
  426. package/indicators/indicators-all.js.map +1 -1
  427. package/indicators/indicators-all.src.js +227 -230
  428. package/indicators/indicators.js +9 -9
  429. package/indicators/indicators.js.map +1 -1
  430. package/indicators/indicators.src.js +7 -7
  431. package/indicators/keltner-channels.js +8 -8
  432. package/indicators/keltner-channels.js.map +1 -1
  433. package/indicators/keltner-channels.src.js +12 -9
  434. package/indicators/macd.js +10 -10
  435. package/indicators/macd.js.map +1 -1
  436. package/indicators/macd.src.js +8 -7
  437. package/indicators/mfi.js +4 -4
  438. package/indicators/mfi.js.map +1 -1
  439. package/indicators/mfi.src.js +5 -5
  440. package/indicators/momentum.js +4 -4
  441. package/indicators/momentum.js.map +1 -1
  442. package/indicators/momentum.src.js +5 -5
  443. package/indicators/natr.js +3 -3
  444. package/indicators/natr.js.map +1 -1
  445. package/indicators/natr.src.js +5 -5
  446. package/indicators/pivot-points.js +8 -8
  447. package/indicators/pivot-points.js.map +1 -1
  448. package/indicators/pivot-points.src.js +6 -6
  449. package/indicators/ppo.js +5 -5
  450. package/indicators/ppo.js.map +1 -1
  451. package/indicators/ppo.src.js +7 -7
  452. package/indicators/price-channel.js +8 -8
  453. package/indicators/price-channel.js.map +1 -1
  454. package/indicators/price-channel.src.js +65 -65
  455. package/indicators/price-envelopes.js +7 -7
  456. package/indicators/price-envelopes.js.map +1 -1
  457. package/indicators/price-envelopes.src.js +6 -6
  458. package/indicators/psar.js +2 -2
  459. package/indicators/psar.js.map +1 -1
  460. package/indicators/psar.src.js +4 -4
  461. package/indicators/regressions.js +6 -6
  462. package/indicators/regressions.js.map +1 -1
  463. package/indicators/regressions.src.js +8 -8
  464. package/indicators/roc.js +3 -3
  465. package/indicators/roc.js.map +1 -1
  466. package/indicators/roc.src.js +5 -5
  467. package/indicators/rsi.js +4 -4
  468. package/indicators/rsi.js.map +1 -1
  469. package/indicators/rsi.src.js +5 -5
  470. package/indicators/slow-stochastic.js +5 -5
  471. package/indicators/slow-stochastic.js.map +1 -1
  472. package/indicators/slow-stochastic.src.js +6 -6
  473. package/indicators/stochastic.js +9 -9
  474. package/indicators/stochastic.js.map +1 -1
  475. package/indicators/stochastic.src.js +66 -66
  476. package/indicators/supertrend.js +9 -9
  477. package/indicators/supertrend.js.map +1 -1
  478. package/indicators/supertrend.src.js +9 -7
  479. package/indicators/tema.js +6 -6
  480. package/indicators/tema.js.map +1 -1
  481. package/indicators/tema.src.js +7 -7
  482. package/indicators/trendline.js +3 -3
  483. package/indicators/trendline.js.map +1 -1
  484. package/indicators/trendline.src.js +5 -5
  485. package/indicators/trix.js +4 -4
  486. package/indicators/trix.js.map +1 -1
  487. package/indicators/trix.src.js +7 -7
  488. package/indicators/volume-by-price.js +13 -13
  489. package/indicators/volume-by-price.js.map +1 -1
  490. package/indicators/volume-by-price.src.js +7 -8
  491. package/indicators/vwap.js +4 -4
  492. package/indicators/vwap.js.map +1 -1
  493. package/indicators/vwap.src.js +5 -5
  494. package/indicators/williams-r.js +4 -4
  495. package/indicators/williams-r.js.map +1 -1
  496. package/indicators/williams-r.src.js +6 -6
  497. package/indicators/wma.js +4 -4
  498. package/indicators/wma.js.map +1 -1
  499. package/indicators/wma.src.js +5 -5
  500. package/indicators/zigzag.js +4 -4
  501. package/indicators/zigzag.js.map +1 -1
  502. package/indicators/zigzag.src.js +6 -7
  503. package/modules/accessibility.js +148 -147
  504. package/modules/accessibility.js.map +1 -1
  505. package/modules/accessibility.src.js +104 -96
  506. package/modules/annotations-advanced.js +158 -158
  507. package/modules/annotations-advanced.js.map +1 -1
  508. package/modules/annotations-advanced.src.js +15 -14
  509. package/modules/annotations.js +105 -105
  510. package/modules/annotations.js.map +1 -1
  511. package/modules/annotations.src.js +15 -14
  512. package/modules/arrow-symbols.js +1 -1
  513. package/modules/arrow-symbols.src.js +1 -1
  514. package/modules/boost-canvas.js +15 -15
  515. package/modules/boost-canvas.js.map +1 -1
  516. package/modules/boost-canvas.src.js +16 -16
  517. package/modules/boost.d.ts +4 -0
  518. package/modules/boost.js +77 -64
  519. package/modules/boost.js.map +1 -1
  520. package/modules/boost.src.d.ts +4 -0
  521. package/modules/boost.src.js +561 -14
  522. package/modules/broken-axis.js +12 -12
  523. package/modules/broken-axis.js.map +1 -1
  524. package/modules/broken-axis.src.js +4 -5
  525. package/modules/bullet.js +6 -6
  526. package/modules/bullet.js.map +1 -1
  527. package/modules/bullet.src.js +5 -6
  528. package/modules/coloraxis.js +22 -21
  529. package/modules/coloraxis.js.map +1 -1
  530. package/modules/coloraxis.src.js +46 -41
  531. package/modules/current-date-indicator.js +4 -4
  532. package/modules/current-date-indicator.js.map +1 -1
  533. package/modules/current-date-indicator.src.js +4 -6
  534. package/modules/cylinder.js +8 -8
  535. package/modules/cylinder.js.map +1 -1
  536. package/modules/cylinder.src.js +18 -21
  537. package/modules/data.js +32 -32
  538. package/modules/data.js.map +1 -1
  539. package/modules/data.src.js +7 -11
  540. package/modules/datagrouping.js +17 -17
  541. package/modules/datagrouping.js.map +1 -1
  542. package/modules/datagrouping.src.js +3 -4
  543. package/modules/debugger.js +4 -4
  544. package/modules/debugger.js.map +1 -1
  545. package/modules/debugger.src.js +4 -4
  546. package/modules/dependency-wheel.js +8 -8
  547. package/modules/dependency-wheel.js.map +1 -1
  548. package/modules/dependency-wheel.src.js +9 -9
  549. package/modules/dotplot.js +5 -5
  550. package/modules/dotplot.js.map +1 -1
  551. package/modules/dotplot.src.js +4 -12
  552. package/modules/drag-panes.js +7 -7
  553. package/modules/drag-panes.js.map +1 -1
  554. package/modules/drag-panes.src.js +2 -2
  555. package/modules/draggable-points.js +33 -33
  556. package/modules/draggable-points.js.map +1 -1
  557. package/modules/draggable-points.src.js +6 -6
  558. package/modules/drilldown.js +23 -22
  559. package/modules/drilldown.js.map +1 -1
  560. package/modules/drilldown.src.js +21 -11
  561. package/modules/dumbbell.js +24 -20
  562. package/modules/dumbbell.js.map +1 -1
  563. package/modules/dumbbell.src.js +396 -136
  564. package/modules/export-data.js +21 -21
  565. package/modules/export-data.js.map +1 -1
  566. package/modules/export-data.src.js +8 -7
  567. package/modules/exporting.js +32 -32
  568. package/modules/exporting.js.map +1 -1
  569. package/modules/exporting.src.js +10 -3
  570. package/modules/full-screen.js +1 -1
  571. package/modules/full-screen.src.js +1 -1
  572. package/modules/funnel.js +9 -9
  573. package/modules/funnel.js.map +1 -1
  574. package/modules/funnel.src.js +6 -8
  575. package/modules/funnel3d.js +17 -17
  576. package/modules/funnel3d.js.map +1 -1
  577. package/modules/funnel3d.src.js +9 -12
  578. package/modules/gantt.js +194 -189
  579. package/modules/gantt.js.map +1 -1
  580. package/modules/gantt.src.js +232 -121
  581. package/modules/grid-axis.js +22 -19
  582. package/modules/grid-axis.js.map +1 -1
  583. package/modules/grid-axis.src.js +130 -64
  584. package/modules/heatmap.js +33 -33
  585. package/modules/heatmap.js.map +1 -1
  586. package/modules/heatmap.src.js +93 -84
  587. package/modules/histogram-bellcurve.js +10 -10
  588. package/modules/histogram-bellcurve.js.map +1 -1
  589. package/modules/histogram-bellcurve.src.js +49 -11
  590. package/modules/item-series.js +9 -9
  591. package/modules/item-series.js.map +1 -1
  592. package/modules/item-series.src.js +5 -6
  593. package/modules/lollipop.d.ts +20 -1
  594. package/modules/lollipop.js +26 -4
  595. package/modules/lollipop.js.map +1 -1
  596. package/modules/lollipop.src.d.ts +20 -1
  597. package/modules/lollipop.src.js +1431 -9
  598. package/modules/map.d.ts +1 -1
  599. package/modules/map.js +99 -99
  600. package/modules/map.js.map +1 -1
  601. package/modules/map.src.d.ts +1 -1
  602. package/modules/map.src.js +1421 -1409
  603. package/modules/marker-clusters.js +35 -35
  604. package/modules/marker-clusters.js.map +1 -1
  605. package/modules/marker-clusters.src.js +5 -5
  606. package/modules/networkgraph.js +47 -46
  607. package/modules/networkgraph.js.map +1 -1
  608. package/modules/networkgraph.src.js +18 -17
  609. package/modules/no-data-to-display.js +4 -4
  610. package/modules/no-data-to-display.js.map +1 -1
  611. package/modules/no-data-to-display.src.js +15 -12
  612. package/modules/offline-exporting.js +15 -15
  613. package/modules/offline-exporting.js.map +1 -1
  614. package/modules/offline-exporting.src.js +20 -18
  615. package/modules/oldie-polyfills.js +1 -1
  616. package/modules/oldie-polyfills.src.js +1 -1
  617. package/modules/oldie.js +52 -26
  618. package/modules/oldie.js.map +1 -1
  619. package/modules/oldie.src.js +1401 -22
  620. package/modules/organization.js +11 -11
  621. package/modules/organization.js.map +1 -1
  622. package/modules/organization.src.js +6 -5
  623. package/modules/overlapping-datalabels.js +1 -1
  624. package/modules/overlapping-datalabels.src.js +1 -1
  625. package/modules/parallel-coordinates.js +1 -1
  626. package/modules/parallel-coordinates.src.js +1 -1
  627. package/modules/pareto.js +5 -5
  628. package/modules/pareto.js.map +1 -1
  629. package/modules/pareto.src.js +5 -6
  630. package/modules/pathfinder.js +20 -20
  631. package/modules/pathfinder.js.map +1 -1
  632. package/modules/pathfinder.src.js +7 -1
  633. package/modules/pattern-fill.js +13 -13
  634. package/modules/pattern-fill.js.map +1 -1
  635. package/modules/pattern-fill.src.js +10 -10
  636. package/modules/price-indicator.js +1 -1
  637. package/modules/price-indicator.src.js +1 -1
  638. package/modules/pyramid3d.js +3 -3
  639. package/modules/pyramid3d.js.map +1 -1
  640. package/modules/pyramid3d.src.js +3 -4
  641. package/modules/sankey.js +25 -25
  642. package/modules/sankey.js.map +1 -1
  643. package/modules/sankey.src.js +15 -15
  644. package/modules/series-label.js +17 -17
  645. package/modules/series-label.js.map +1 -1
  646. package/modules/series-label.src.js +3 -3
  647. package/modules/solid-gauge.js +8 -8
  648. package/modules/solid-gauge.js.map +1 -1
  649. package/modules/solid-gauge.src.js +4 -5
  650. package/modules/sonification.js +46 -46
  651. package/modules/sonification.js.map +1 -1
  652. package/modules/sonification.src.js +21 -16
  653. package/modules/static-scale.js +4 -4
  654. package/modules/static-scale.js.map +1 -1
  655. package/modules/static-scale.src.js +3 -4
  656. package/modules/stock-tools.js +142 -141
  657. package/modules/stock-tools.js.map +1 -1
  658. package/modules/stock-tools.src.js +40 -21
  659. package/modules/stock.js +161 -161
  660. package/modules/stock.js.map +1 -1
  661. package/modules/stock.src.js +41 -48
  662. package/modules/streamgraph.js +2 -2
  663. package/modules/streamgraph.js.map +1 -1
  664. package/modules/streamgraph.src.js +41 -4
  665. package/modules/sunburst.js +51 -50
  666. package/modules/sunburst.js.map +1 -1
  667. package/modules/sunburst.src.js +134 -65
  668. package/modules/tilemap.js +14 -14
  669. package/modules/tilemap.js.map +1 -1
  670. package/modules/tilemap.src.js +9 -9
  671. package/modules/timeline.js +14 -14
  672. package/modules/timeline.js.map +1 -1
  673. package/modules/timeline.src.js +7 -8
  674. package/modules/treegrid.js +57 -52
  675. package/modules/treegrid.js.map +1 -1
  676. package/modules/treegrid.src.js +191 -77
  677. package/modules/treemap.js +35 -34
  678. package/modules/treemap.js.map +1 -1
  679. package/modules/treemap.src.js +205 -138
  680. package/modules/variable-pie.js +8 -8
  681. package/modules/variable-pie.js.map +1 -1
  682. package/modules/variable-pie.src.js +10 -9
  683. package/modules/variwide.js +8 -8
  684. package/modules/variwide.js.map +1 -1
  685. package/modules/variwide.src.js +6 -7
  686. package/modules/vector.js +6 -6
  687. package/modules/vector.js.map +1 -1
  688. package/modules/vector.src.js +6 -7
  689. package/modules/venn.js +26 -26
  690. package/modules/venn.js.map +1 -1
  691. package/modules/venn.src.js +23 -23
  692. package/modules/windbarb.js +11 -11
  693. package/modules/windbarb.js.map +1 -1
  694. package/modules/windbarb.src.js +8 -9
  695. package/modules/wordcloud.js +19 -19
  696. package/modules/wordcloud.js.map +1 -1
  697. package/modules/wordcloud.src.js +14 -14
  698. package/modules/xrange.js +12 -12
  699. package/modules/xrange.js.map +1 -1
  700. package/modules/xrange.src.js +8 -9
  701. package/package.json +1 -1
  702. package/themes/avocado.js +1 -1
  703. package/themes/avocado.js.map +1 -1
  704. package/themes/avocado.src.js +4 -4
  705. package/themes/dark-blue.js +1 -1
  706. package/themes/dark-blue.src.js +1 -1
  707. package/themes/dark-green.js +1 -1
  708. package/themes/dark-green.src.js +1 -1
  709. package/themes/dark-unica.js +1 -1
  710. package/themes/dark-unica.js.map +1 -1
  711. package/themes/dark-unica.src.js +6 -7
  712. package/themes/gray.js +1 -1
  713. package/themes/gray.js.map +1 -1
  714. package/themes/gray.src.js +4 -4
  715. package/themes/grid-light.js +1 -1
  716. package/themes/grid-light.src.js +1 -1
  717. package/themes/grid.js +1 -1
  718. package/themes/grid.src.js +1 -1
  719. package/themes/high-contrast-dark.js +1 -1
  720. package/themes/high-contrast-dark.js.map +1 -1
  721. package/themes/high-contrast-dark.src.js +4 -4
  722. package/themes/high-contrast-light.js +1 -1
  723. package/themes/high-contrast-light.src.js +1 -1
  724. package/themes/sand-signika.js +1 -1
  725. package/themes/sand-signika.src.js +1 -1
  726. package/themes/skies.js +1 -1
  727. package/themes/skies.src.js +1 -1
  728. package/themes/sunset.js +1 -1
  729. package/themes/sunset.js.map +1 -1
  730. package/themes/sunset.src.js +4 -4
  731. package/es-modules/Core/Renderer/VML/VMLRenderer3D.js +0 -37
package/modules/boost.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /*
2
- Highcharts JS v8.2.0 (2020-08-20)
2
+ Highcharts JS v8.2.2 (2020-10-22)
3
3
 
4
4
  Boost module
5
5
 
@@ -70,67 +70,80 @@
70
70
  usePreallocated: boolean - default: false
71
71
  }
72
72
  */
73
- (function(b){"object"===typeof module&&module.exports?(b["default"]=b,module.exports=b):"function"===typeof define&&define.amd?define("highcharts/modules/boost",["highcharts"],function(n){b(n);b.Highcharts=n;return b}):b("undefined"!==typeof Highcharts?Highcharts:void 0)})(function(b){function n(b,l,E,m){b.hasOwnProperty(l)||(b[l]=m.apply(null,E))}b=b?b._modules:{};n(b,"Extensions/Boost/Boostables.js",[],function(){return"area arearange column columnrange bar line scatter heatmap bubble treemap".split(" ")});
74
- n(b,"Extensions/Boost/BoostableMap.js",[b["Extensions/Boost/Boostables.js"]],function(b){var v={};b.forEach(function(b){v[b]=1});return v});n(b,"Extensions/Boost/WGLShader.js",[b["Core/Utilities.js"]],function(b){var v=b.clamp,E=b.error,m=b.pick;return function(d){function b(){k.length&&E("[highcharts boost] shader error - "+k.join("\n"))}function g(c,a){var e=d.createShader("vertex"===a?d.VERTEX_SHADER:d.FRAGMENT_SHADER);d.shaderSource(e,c);d.compileShader(e);return d.getShaderParameter(e,d.COMPILE_STATUS)?
75
- e:(k.push("when compiling "+a+" shader:\n"+d.getShaderInfoLog(e)),!1)}function z(){function c(c){return d.getUniformLocation(a,c)}var H=g("#version 100\n#define LN10 2.302585092994046\nprecision highp float;\nattribute vec4 aVertexPosition;\nattribute vec4 aColor;\nvarying highp vec2 position;\nvarying highp vec4 vColor;\nuniform mat4 uPMatrix;\nuniform float pSize;\nuniform float translatedThreshold;\nuniform bool hasThreshold;\nuniform bool skipTranslation;\nuniform float xAxisTrans;\nuniform float xAxisMin;\nuniform float xAxisMinPad;\nuniform float xAxisPointRange;\nuniform float xAxisLen;\nuniform bool xAxisPostTranslate;\nuniform float xAxisOrdinalSlope;\nuniform float xAxisOrdinalOffset;\nuniform float xAxisPos;\nuniform bool xAxisCVSCoord;\nuniform bool xAxisIsLog;\nuniform bool xAxisReversed;\nuniform float yAxisTrans;\nuniform float yAxisMin;\nuniform float yAxisMinPad;\nuniform float yAxisPointRange;\nuniform float yAxisLen;\nuniform bool yAxisPostTranslate;\nuniform float yAxisOrdinalSlope;\nuniform float yAxisOrdinalOffset;\nuniform float yAxisPos;\nuniform bool yAxisCVSCoord;\nuniform bool yAxisIsLog;\nuniform bool yAxisReversed;\nuniform bool isBubble;\nuniform bool bubbleSizeByArea;\nuniform float bubbleZMin;\nuniform float bubbleZMax;\nuniform float bubbleZThreshold;\nuniform float bubbleMinSize;\nuniform float bubbleMaxSize;\nuniform bool bubbleSizeAbs;\nuniform bool isInverted;\nfloat bubbleRadius(){\nfloat value = aVertexPosition.w;\nfloat zMax = bubbleZMax;\nfloat zMin = bubbleZMin;\nfloat radius = 0.0;\nfloat pos = 0.0;\nfloat zRange = zMax - zMin;\nif (bubbleSizeAbs){\nvalue = value - bubbleZThreshold;\nzMax = max(zMax - bubbleZThreshold, zMin - bubbleZThreshold);\nzMin = 0.0;\n}\nif (value < zMin){\nradius = bubbleZMin / 2.0 - 1.0;\n} else {\npos = zRange > 0.0 ? (value - zMin) / zRange : 0.5;\nif (bubbleSizeByArea && pos > 0.0){\npos = sqrt(pos);\n}\nradius = ceil(bubbleMinSize + pos * (bubbleMaxSize - bubbleMinSize)) / 2.0;\n}\nreturn radius * 2.0;\n}\nfloat translate(float val,\nfloat pointPlacement,\nfloat localA,\nfloat localMin,\nfloat minPixelPadding,\nfloat pointRange,\nfloat len,\nbool cvsCoord,\nbool isLog,\nbool reversed\n){\nfloat sign = 1.0;\nfloat cvsOffset = 0.0;\nif (cvsCoord) {\nsign *= -1.0;\ncvsOffset = len;\n}\nif (isLog) {\nval = log(val) / LN10;\n}\nif (reversed) {\nsign *= -1.0;\ncvsOffset -= sign * len;\n}\nreturn sign * (val - localMin) * localA + cvsOffset + \n(sign * minPixelPadding);\n}\nfloat xToPixels(float value) {\nif (skipTranslation){\nreturn value;// + xAxisPos;\n}\nreturn translate(value, 0.0, xAxisTrans, xAxisMin, xAxisMinPad, xAxisPointRange, xAxisLen, xAxisCVSCoord, xAxisIsLog, xAxisReversed);// + xAxisPos;\n}\nfloat yToPixels(float value, float checkTreshold) {\nfloat v;\nif (skipTranslation){\nv = value;// + yAxisPos;\n} else {\nv = translate(value, 0.0, yAxisTrans, yAxisMin, yAxisMinPad, yAxisPointRange, yAxisLen, yAxisCVSCoord, yAxisIsLog, yAxisReversed);// + yAxisPos;\nif (v > yAxisLen) {\nv = yAxisLen;\n}\n}\nif (checkTreshold > 0.0 && hasThreshold) {\nv = min(v, translatedThreshold);\n}\nreturn v;\n}\nvoid main(void) {\nif (isBubble){\ngl_PointSize = bubbleRadius();\n} else {\ngl_PointSize = pSize;\n}\nvColor = aColor;\nif (skipTranslation && isInverted) {\ngl_Position = uPMatrix * vec4(aVertexPosition.y + yAxisPos, aVertexPosition.x + xAxisPos, 0.0, 1.0);\n} else if (isInverted) {\ngl_Position = uPMatrix * vec4(yToPixels(aVertexPosition.y, aVertexPosition.z) + yAxisPos, xToPixels(aVertexPosition.x) + xAxisPos, 0.0, 1.0);\n} else {\ngl_Position = uPMatrix * vec4(xToPixels(aVertexPosition.x) + xAxisPos, yToPixels(aVertexPosition.y, aVertexPosition.z) + yAxisPos, 0.0, 1.0);\n}\n}",
76
- "vertex"),e=g("precision highp float;\nuniform vec4 fillColor;\nvarying highp vec2 position;\nvarying highp vec4 vColor;\nuniform sampler2D uSampler;\nuniform bool isCircle;\nuniform bool hasColor;\nvoid main(void) {\nvec4 col = fillColor;\nvec4 tcol;\nif (hasColor) {\ncol = vColor;\n}\nif (isCircle) {\ntcol = texture2D(uSampler, gl_PointCoord.st);\ncol *= tcol;\nif (tcol.r < 0.0) {\ndiscard;\n} else {\ngl_FragColor = col;\n}\n} else {\ngl_FragColor = col;\n}\n}","fragment");if(!H||!e)return a=!1,
77
- b(),!1;a=d.createProgram();d.attachShader(a,H);d.attachShader(a,e);d.linkProgram(a);if(!d.getProgramParameter(a,d.LINK_STATUS))return k.push(d.getProgramInfoLog(a)),b(),a=!1;d.useProgram(a);d.bindAttribLocation(a,0,"aVertexPosition");w=c("uPMatrix");p=c("pSize");f=c("fillColor");B=c("isBubble");O=c("bubbleSizeAbs");h=c("bubbleSizeByArea");I=c("uSampler");l=c("skipTranslation");G=c("isCircle");t=c("isInverted");return!0}function q(c,k){d&&a&&(c=r[c]=r[c]||d.getUniformLocation(a,c),d.uniform1f(c,k))}
78
- var r={},a,w,p,f,B,O,h,l,G,t,k=[],I;return d&&!z()?!1:{psUniform:function(){return p},pUniform:function(){return w},fillColorUniform:function(){return f},setBubbleUniforms:function(c,k,e){var t=c.options,b=Number.MAX_VALUE,p=-Number.MAX_VALUE;d&&a&&"bubble"===c.type&&(b=m(t.zMin,v(k,!1===t.displayNegative?t.zThreshold:-Number.MAX_VALUE,b)),p=m(t.zMax,Math.max(p,e)),d.uniform1i(B,1),d.uniform1i(G,1),d.uniform1i(h,"width"!==c.options.sizeBy),d.uniform1i(O,c.options.sizeByAbsoluteValue),q("bubbleZMin",
79
- b),q("bubbleZMax",p),q("bubbleZThreshold",c.options.zThreshold),q("bubbleMinSize",c.minPxSize),q("bubbleMaxSize",c.maxPxSize))},bind:function(){d&&a&&d.useProgram(a)},program:function(){return a},create:z,setUniform:q,setPMatrix:function(c){d&&a&&d.uniformMatrix4fv(w,!1,c)},setColor:function(c){d&&a&&d.uniform4f(f,c[0]/255,c[1]/255,c[2]/255,c[3])},setPointSize:function(c){d&&a&&d.uniform1f(p,c)},setSkipTranslation:function(c){d&&a&&d.uniform1i(l,!0===c?1:0)},setTexture:function(c){d&&a&&d.uniform1i(I,
80
- c)},setDrawAsCircle:function(c){d&&a&&d.uniform1i(G,c?1:0)},reset:function(){d&&a&&(d.uniform1i(B,0),d.uniform1i(G,0))},setInverted:function(c){d&&a&&d.uniform1i(t,c)},destroy:function(){d&&a&&(d.deleteProgram(a),a=!1)}}}});n(b,"Extensions/Boost/WGLVBuffer.js",[],function(){return function(b,l,E){function m(){d&&(b.deleteBuffer(d),v=d=!1);q=0;g=E||2;r=[]}var d=!1,v=!1,g=E||2,z=!1,q=0,r;return{destroy:m,bind:function(){if(!d)return!1;b.vertexAttribPointer(v,g,b.FLOAT,!1,0,0)},data:r,build:function(a,
81
- w,p){var f;r=a||[];if(!(r&&0!==r.length||z))return m(),!1;g=p||g;d&&b.deleteBuffer(d);z||(f=new Float32Array(r));d=b.createBuffer();b.bindBuffer(b.ARRAY_BUFFER,d);b.bufferData(b.ARRAY_BUFFER,z||f,b.STATIC_DRAW);v=b.getAttribLocation(l.program(),w);b.enableVertexAttribArray(v);return!0},render:function(a,m,p){var f=z?z.length:r.length;if(!d||!f)return!1;if(!a||a>f||0>a)a=0;if(!m||m>f)m=f;b.drawArrays(b[(p||"points").toUpperCase()],a/g,(m-a)/g);return!0},allocate:function(a){q=-1;z=new Float32Array(4*
82
- a)},push:function(a,b,d,f){z&&(z[++q]=a,z[++q]=b,z[++q]=d,z[++q]=f)}}}});n(b,"Extensions/Boost/WGLRenderer.js",[b["Core/Globals.js"],b["Extensions/Boost/WGLShader.js"],b["Extensions/Boost/WGLVBuffer.js"],b["Core/Color.js"],b["Core/Utilities.js"]],function(b,l,E,m,d){var v=m.parse,g=d.isNumber,z=d.isObject,q=d.merge,r=d.objectEach,a=d.pick,w=b.win.document;return function(d){function p(c){if(c.isSeriesBoosting){var a=!!c.options.stacking;var e=c.xData||c.options.xData||c.processedXData;a=(a?c.data:
83
- e||c.options.data).length;"treemap"===c.type?a*=12:"heatmap"===c.type?a*=6:ma[c.type]&&(a*=2);return a}return 0}function B(){e.clear(e.COLOR_BUFFER_BIT|e.DEPTH_BUFFER_BIT)}function O(c,a){function e(c){c&&(a.colorData.push(c[0]),a.colorData.push(c[1]),a.colorData.push(c[2]),a.colorData.push(c[3]))}function b(c,a,b,k,d){e(d);y.usePreallocated?H.push(c,a,b?1:0,k||1):(N.push(c),N.push(a),N.push(b?1:0),N.push(k||1))}function k(){a.segments.length&&(a.segments[a.segments.length-1].to=N.length)}function d(){a.segments.length&&
84
- a.segments[a.segments.length-1].from===N.length||(k(),a.segments.push({from:N.length}))}function t(c,a,k,d,t){e(t);b(c+k,a);e(t);b(c,a);e(t);b(c,a+d);e(t);b(c,a+d);e(t);b(c+k,a+d);e(t);b(c+k,a)}function p(c,e){y.useGPUTranslations||(a.skipTranslation=!0,c.x=w.toPixels(c.x,!0),c.y=n.toPixels(c.y,!0));e?N=[c.x,c.y,0,2].concat(N):b(c.x,c.y,0,2)}var Z=c.pointArrayMap&&"low,high"===c.pointArrayMap.join(","),P=c.chart,f=c.options,G=!!f.stacking,I=f.data,g=c.xAxis.getExtremes(),h=g.min;g=g.max;var B=c.yAxis.getExtremes(),
85
- q=B.min;B=B.max;var l=c.xData||f.xData||c.processedXData,O=c.yData||f.yData||c.processedYData,r=c.zData||f.zData||c.processedZData,n=c.yAxis,w=c.xAxis,E=c.chart.plotWidth,J=!l||0===l.length,L=f.connectNulls,u=c.points||!1,F=!1,K=!1,Q;l=G?c.data:l||I;var X={x:Number.MAX_VALUE,y:0},M={x:-Number.MAX_VALUE,y:0},T=0,W=!1,D=-1,S=!1,U=!1,ka="undefined"===typeof P.index,fa=!1,ha=!1;var x=!1;var za=ma[c.type],ia=!1,sa=!0,ta=!0,Y=f.zones||!1,V=!1,ua=f.threshold,ja=!1;if(!(f.boostData&&0<f.boostData.length)){f.gapSize&&
86
- (ja="value"!==f.gapUnit?f.gapSize*c.closestPointRange:f.gapSize);Y&&(Y.some(function(c){return"undefined"===typeof c.value?(V=new m(c.color),!0):!1}),V||(V=c.pointAttribs&&c.pointAttribs().fill||c.color,V=new m(V)));P.inverted&&(E=c.chart.plotHeight);c.closestPointRangePx=Number.MAX_VALUE;d();if(u&&0<u.length)a.skipTranslation=!0,a.drawMode="triangles",u[0].node&&u[0].node.levelDynamic&&u.sort(function(c,a){if(c.node){if(c.node.levelDynamic>a.node.levelDynamic)return 1;if(c.node.levelDynamic<a.node.levelDynamic)return-1}return 0}),
87
- u.forEach(function(a){var e=a.plotY;if("undefined"!==typeof e&&!isNaN(e)&&null!==a.y){e=a.shapeArgs;var b=P.styledMode?a.series.colorAttribs(a):b=a.series.pointAttribs(a);a=b["stroke-width"]||0;x=v(b.fill).rgba;x[0]/=255;x[1]/=255;x[2]/=255;"treemap"===c.type&&(a=a||1,Q=v(b.stroke).rgba,Q[0]/=255,Q[1]/=255,Q[2]/=255,t(e.x,e.y,e.width,e.height,Q),a/=2);"heatmap"===c.type&&P.inverted&&(e.x=w.len-e.x,e.y=n.len-e.y,e.width=-e.width,e.height=-e.height);t(e.x+a,e.y+a,e.width-2*a,e.height-2*a,x)}});else{for(;D<
88
- l.length-1;){var C=l[++D];if(ka)break;u=I&&I[D];!J&&z(u,!0)&&u.color&&(x=v(u.color).rgba,x[0]/=255,x[1]/=255,x[2]/=255);if(J){u=C[0];var A=C[1];l[D+1]&&(U=l[D+1][0]);l[D-1]&&(S=l[D-1][0]);if(3<=C.length){var va=C[2];C[2]>a.zMax&&(a.zMax=C[2]);C[2]<a.zMin&&(a.zMin=C[2])}}else u=C,A=O[D],l[D+1]&&(U=l[D+1]),l[D-1]&&(S=l[D-1]),r&&r.length&&(va=r[D],r[D]>a.zMax&&(a.zMax=r[D]),r[D]<a.zMin&&(a.zMin=r[D]));if(L||null!==u&&null!==A){U&&U>=h&&U<=g&&(fa=!0);S&&S>=h&&S<=g&&(ha=!0);if(Z){J&&(A=C.slice(1,3));var ba=
89
- A[0];A=A[1]}else G&&(u=C.x,A=C.stackY,ba=A-C.y);null!==q&&"undefined"!==typeof q&&null!==B&&"undefined"!==typeof B&&(sa=A>=q&&A<=B);u>g&&M.x<g&&(M.x=u,M.y=A);u<h&&X.x>h&&(X.x=u,X.y=A);if(null!==A||!L)if(null!==A&&(sa||fa||ha)){if((U>=h||u>=h)&&(S<=g||u<=g)&&(ia=!0),ia||fa||ha){ja&&u-S>ja&&d();Y&&(x=V.rgba,Y.some(function(c,a){a=Y[a-1];if("undefined"!==typeof c.value&&A<=c.value){if(!a||A>=a.value)x=v(c.color).rgba;return!0}return!1}),x[0]/=255,x[1]/=255,x[2]/=255);if(!y.useGPUTranslations&&(a.skipTranslation=
90
- !0,u=w.toPixels(u,!0),A=n.toPixels(A,!0),u>E&&"points"===a.drawMode))continue;if(za){C=ba;if(!1===ba||"undefined"===typeof ba)C=0>A?A:0;Z||G||(C=Math.max(null===ua?q:ua,q));y.useGPUTranslations||(C=n.toPixels(C,!0));b(u,C,0,0,x)}a.hasMarkers&&ia&&!1!==F&&(c.closestPointRangePx=Math.min(c.closestPointRangePx,Math.abs(u-F)));!y.useGPUTranslations&&!y.usePreallocated&&F&&1>Math.abs(u-F)&&K&&1>Math.abs(A-K)?y.debug.showSkipSummary&&++T:(f.step&&!ta&&b(u,K,0,2,x),b(u,A,0,"bubble"===c.type?va||1:2,x),F=
91
- u,K=A,W=!0,ta=!1)}}else d()}else d()}y.debug.showSkipSummary&&console.log("skipped points:",T);W||!1===L||"line_strip"!==c.drawMode||(X.x<Number.MAX_VALUE&&p(X,!0),M.x>-Number.MAX_VALUE&&p(M))}k()}}function h(){F=[];W.data=N=[];L=[];H&&H.destroy()}function J(a){c&&(c.setUniform("xAxisTrans",a.transA),c.setUniform("xAxisMin",a.min),c.setUniform("xAxisMinPad",a.minPixelPadding),c.setUniform("xAxisPointRange",a.pointRange),c.setUniform("xAxisLen",a.len),c.setUniform("xAxisPos",a.pos),c.setUniform("xAxisCVSCoord",
92
- !a.horiz),c.setUniform("xAxisIsLog",!!a.logarithmic),c.setUniform("xAxisReversed",!!a.reversed))}function G(a){c&&(c.setUniform("yAxisTrans",a.transA),c.setUniform("yAxisMin",a.min),c.setUniform("yAxisMinPad",a.minPixelPadding),c.setUniform("yAxisPointRange",a.pointRange),c.setUniform("yAxisLen",a.len),c.setUniform("yAxisPos",a.pos),c.setUniform("yAxisCVSCoord",!a.horiz),c.setUniform("yAxisIsLog",!!a.logarithmic),c.setUniform("yAxisReversed",!!a.reversed))}function t(a,e){c.setUniform("hasThreshold",
93
- a);c.setUniform("translatedThreshold",e)}function k(k){if(k)n=k.chartWidth||800,K=k.chartHeight||400;else return!1;if(!(e&&n&&K&&c))return!1;y.debug.timeRendering&&console.time("gl rendering");e.canvas.width=n;e.canvas.height=K;c.bind();e.viewport(0,0,n,K);c.setPMatrix([2/n,0,0,0,0,-(2/K),0,0,0,0,-2,0,-1,1,-1,1]);1<y.lineWidth&&!b.isMS&&e.lineWidth(y.lineWidth);H.build(W.data,"aVertexPosition",4);H.bind();c.setInverted(k.inverted);F.forEach(function(b,d){var f=b.series.options,p=f.marker;var h="undefined"!==
94
- typeof f.lineWidth?f.lineWidth:1;var I=f.threshold,l=g(I),B=b.series.yAxis.getThreshold(I);I=a(f.marker?f.marker.enabled:null,b.series.xAxis.isRadial?!0:null,b.series.closestPointRangePx>2*((f.marker?f.marker.radius:10)||10));p=M[p&&p.symbol||b.series.symbol]||M.circle;if(!(0===b.segments.length||b.segmentslength&&b.segments[0].from===b.segments[0].to)){p.isReady&&(e.bindTexture(e.TEXTURE_2D,p.handle),c.setTexture(p.handle));k.styledMode?p=b.series.markerGroup&&b.series.markerGroup.getStyle("fill"):
95
- (p=b.series.pointAttribs&&b.series.pointAttribs().fill||b.series.color,f.colorByPoint&&(p=b.series.chart.options.colors[d]));b.series.fillOpacity&&f.fillOpacity&&(p=(new m(p)).setOpacity(a(f.fillOpacity,1)).get());p=v(p).rgba;y.useAlpha||(p[3]=1);"lines"===b.drawMode&&y.useAlpha&&1>p[3]&&(p[3]/=10);"add"===f.boostBlending?(e.blendFunc(e.SRC_ALPHA,e.ONE),e.blendEquation(e.FUNC_ADD)):"mult"===f.boostBlending||"multiply"===f.boostBlending?e.blendFunc(e.DST_COLOR,e.ZERO):"darken"===f.boostBlending?(e.blendFunc(e.ONE,
96
- e.ONE),e.blendEquation(e.FUNC_MIN)):e.blendFuncSeparate(e.SRC_ALPHA,e.ONE_MINUS_SRC_ALPHA,e.ONE,e.ONE_MINUS_SRC_ALPHA);c.reset();0<b.colorData.length&&(c.setUniform("hasColor",1),d=E(e,c),d.build(b.colorData,"aColor",4),d.bind());c.setColor(p);J(b.series.xAxis);G(b.series.yAxis);t(l,B);"points"===b.drawMode&&(f.marker&&g(f.marker.radius)?c.setPointSize(2*f.marker.radius):c.setPointSize(1));c.setSkipTranslation(b.skipTranslation);"bubble"===b.series.type&&c.setBubbleUniforms(b.series,b.zMin,b.zMax);
97
- c.setDrawAsCircle(ka[b.series.type]||!1);if(0<h||"line_strip"!==b.drawMode)for(h=0;h<b.segments.length;h++)H.render(b.segments[h].from,b.segments[h].to,b.drawMode);if(b.hasMarkers&&I)for(f.marker&&g(f.marker.radius)?c.setPointSize(2*f.marker.radius):c.setPointSize(10),c.setDrawAsCircle(!0),h=0;h<b.segments.length;h++)H.render(b.segments[h].from,b.segments[h].to,"POINTS")}});y.debug.timeRendering&&console.timeEnd("gl rendering");d&&d();h()}function I(a){B();if(a.renderer.forExport)return k(a);T?k(a):
98
- setTimeout(function(){I(a)},1)}var c=!1,H=!1,e=!1,n=0,K=0,N=!1,L=!1,W={},T=!1,F=[],M={},ma={column:!0,columnrange:!0,bar:!0,area:!0,arearange:!0},ka={scatter:!0,bubble:!0},y={pointSize:1,lineWidth:1,fillColor:"#AA00AA",useAlpha:!0,usePreallocated:!1,useGPUTranslations:!1,debug:{timeRendering:!1,timeSeriesProcessing:!1,timeSetup:!1,timeBufferCopy:!1,timeKDTree:!1,showSkipSummary:!1}};return W={allocateBufferForSingleSeries:function(a){var c=0;y.usePreallocated&&(a.isSeriesBoosting&&(c=p(a)),H.allocate(c))},
99
- pushSeries:function(a){0<F.length&&F[F.length-1].hasMarkers&&(F[F.length-1].markerTo=L.length);y.debug.timeSeriesProcessing&&console.time("building "+a.type+" series");F.push({segments:[],markerFrom:L.length,colorData:[],series:a,zMin:Number.MAX_VALUE,zMax:-Number.MAX_VALUE,hasMarkers:a.options.marker?!1!==a.options.marker.enabled:!1,showMarkers:!0,drawMode:{area:"lines",arearange:"lines",areaspline:"line_strip",column:"lines",columnrange:"lines",bar:"lines",line:"line_strip",scatter:"points",heatmap:"triangles",
100
- treemap:"triangles",bubble:"points"}[a.type]||"line_strip"});O(a,F[F.length-1]);y.debug.timeSeriesProcessing&&console.timeEnd("building "+a.type+" series")},setSize:function(a,b){n===a&&K===b||!c||(n=a,K=b,c.bind(),c.setPMatrix([2/n,0,0,0,0,-(2/K),0,0,0,0,-2,0,-1,1,-1,1]))},inited:function(){return T},setThreshold:t,init:function(a,b){function k(a,c){var b={isReady:!1,texture:w.createElement("canvas"),handle:e.createTexture()},k=b.texture.getContext("2d");M[a]=b;b.texture.width=512;b.texture.height=
101
- 512;k.mozImageSmoothingEnabled=!1;k.webkitImageSmoothingEnabled=!1;k.msImageSmoothingEnabled=!1;k.imageSmoothingEnabled=!1;k.strokeStyle="rgba(255, 255, 255, 0)";k.fillStyle="#FFF";c(k);try{e.activeTexture(e.TEXTURE0),e.bindTexture(e.TEXTURE_2D,b.handle),e.texImage2D(e.TEXTURE_2D,0,e.RGBA,e.RGBA,e.UNSIGNED_BYTE,b.texture),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,e.LINEAR),
102
- e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.LINEAR),e.bindTexture(e.TEXTURE_2D,null),b.isReady=!0}catch(R){}}var d=0,f=["webgl","experimental-webgl","moz-webgl","webkit-3d"];T=!1;if(!a)return!1;for(y.debug.timeSetup&&console.time("gl setup");d<f.length&&!(e=a.getContext(f[d],{}));d++);if(e)b||h();else return!1;e.enable(e.BLEND);e.blendFunc(e.SRC_ALPHA,e.ONE_MINUS_SRC_ALPHA);e.disable(e.DEPTH_TEST);e.depthFunc(e.LESS);c=l(e);if(!c)return!1;H=E(e,c);k("circle",function(a){a.beginPath();a.arc(256,
103
- 256,256,0,2*Math.PI);a.stroke();a.fill()});k("square",function(a){a.fillRect(0,0,512,512)});k("diamond",function(a){a.beginPath();a.moveTo(256,0);a.lineTo(512,256);a.lineTo(256,512);a.lineTo(0,256);a.lineTo(256,0);a.fill()});k("triangle",function(a){a.beginPath();a.moveTo(0,512);a.lineTo(256,0);a.lineTo(512,512);a.lineTo(0,512);a.fill()});k("triangle-down",function(a){a.beginPath();a.moveTo(0,0);a.lineTo(256,512);a.lineTo(512,0);a.lineTo(0,0);a.fill()});T=!0;y.debug.timeSetup&&console.timeEnd("gl setup");
104
- return!0},render:I,settings:y,valid:function(){return!1!==e},clear:B,flush:h,setXAxis:J,setYAxis:G,data:N,gl:function(){return e},allocateBuffer:function(a){var c=0;y.usePreallocated&&(a.series.forEach(function(a){a.isSeriesBoosting&&(c+=p(a))}),H.allocate(c))},destroy:function(){h();H.destroy();c.destroy();e&&(r(M,function(a){a.handle&&e.deleteTexture(a.handle)}),e.canvas.width=1,e.canvas.height=1)},setOptions:function(a){q(!0,y,a)}}}});n(b,"Extensions/Boost/BoostAttach.js",[b["Extensions/Boost/WGLRenderer.js"],
105
- b["Core/Globals.js"],b["Core/Utilities.js"]],function(b,l,n){var m=l.doc,d=n.error,v=m.createElement("canvas");return function(g,n){var q=g.chartWidth,r=g.chartHeight,a=g,w=g.seriesGroup||n.group,p=m.implementation.hasFeature("www.http://w3.org/TR/SVG11/feature#Extensibility","1.1");a=g.isChartSeriesBoosting()?g:n;p=!1;a.renderTarget||(a.canvas=v,g.renderer.forExport||!p?(a.renderTarget=g.renderer.image("",0,0,q,r).addClass("highcharts-boost-canvas").add(w),a.boostClear=function(){a.renderTarget.attr({href:""})},
106
- a.boostCopy=function(){a.boostResizeTarget();a.renderTarget.attr({href:a.canvas.toDataURL("image/png")})}):(a.renderTargetFo=g.renderer.createElement("foreignObject").add(w),a.renderTarget=m.createElement("canvas"),a.renderTargetCtx=a.renderTarget.getContext("2d"),a.renderTargetFo.element.appendChild(a.renderTarget),a.boostClear=function(){a.renderTarget.width=a.canvas.width;a.renderTarget.height=a.canvas.height},a.boostCopy=function(){a.renderTarget.width=a.canvas.width;a.renderTarget.height=a.canvas.height;
107
- a.renderTargetCtx.drawImage(a.canvas,0,0)}),a.boostResizeTarget=function(){q=g.chartWidth;r=g.chartHeight;(a.renderTargetFo||a.renderTarget).attr({x:0,y:0,width:q,height:r}).css({pointerEvents:"none",mixedBlendMode:"normal",opacity:1});a instanceof l.Chart&&a.markerGroup.translate(g.plotLeft,g.plotTop)},a.boostClipRect=g.renderer.clipRect(),(a.renderTargetFo||a.renderTarget).clip(a.boostClipRect),a instanceof l.Chart&&(a.markerGroup=a.renderer.g().add(w),a.markerGroup.translate(n.xAxis.pos,n.yAxis.pos)));
108
- a.canvas.width=q;a.canvas.height=r;a.boostClipRect.attr(g.getBoostClipRect(a));a.boostResizeTarget();a.boostClear();a.ogl||(a.ogl=b(function(){a.ogl.settings.debug.timeBufferCopy&&console.time("buffer copy");a.boostCopy();a.ogl.settings.debug.timeBufferCopy&&console.timeEnd("buffer copy")}),a.ogl.init(a.canvas)||d("[highcharts boost] - unable to init WebGL renderer"),a.ogl.setOptions(g.options.boost||{}),a instanceof l.Chart&&a.ogl.allocateBuffer(g));a.ogl.setSize(q,r);return a.ogl}});n(b,"Extensions/Boost/BoostUtils.js",
109
- [b["Core/Globals.js"],b["Extensions/Boost/BoostableMap.js"],b["Extensions/Boost/BoostAttach.js"],b["Core/Utilities.js"]],function(b,l,n,m){function d(){for(var a=[],b=0;b<arguments.length;b++)a[b]=arguments[b];var d=-Number.MAX_VALUE;a.forEach(function(a){if("undefined"!==typeof a&&null!==a&&"undefined"!==typeof a.length&&0<a.length)return d=a.length,!0});return d}function v(a,b,d){a&&b.renderTarget&&b.canvas&&!(d||b.chart).isChartSeriesBoosting()&&a.render(d||b.chart)}function g(a,b){a&&b.renderTarget&&
110
- b.canvas&&!b.chart.isChartSeriesBoosting()&&a.allocateBufferForSingleSeries(b)}function z(a,b,d,g,h,l){h=h||0;g=g||3E3;for(var f=h+g,t=!0;t&&h<f&&h<a.length;)t=b(a[h],h),++h;t&&(h<a.length?l?z(a,b,d,g,h,l):r.requestAnimationFrame?r.requestAnimationFrame(function(){z(a,b,d,g,h)}):setTimeout(function(){z(a,b,d,g,h)}):d&&d())}function q(){var b=0,d,g=["webgl","experimental-webgl","moz-webgl","webkit-3d"],l=!1;if("undefined"!==typeof r.WebGLRenderingContext)for(d=a.createElement("canvas");b<g.length;b++)try{if(l=
111
- d.getContext(g[b]),"undefined"!==typeof l&&null!==l)return!0}catch(h){}return!1}var r=b.win,a=b.doc,w=m.pick;m={patientMax:d,boostEnabled:function(a){return w(a&&a.options&&a.options.boost&&a.options.boost.enabled,!0)},shouldForceChartSeriesBoosting:function(a){var b=0,g=0,p=w(a.options.boost&&a.options.boost.allowForce,!0);if("undefined"!==typeof a.boostForceChartBoost)return a.boostForceChartBoost;if(1<a.series.length)for(var h=0;h<a.series.length;h++){var m=a.series[h];0!==m.options.boostThreshold&&
112
- !1!==m.visible&&"heatmap"!==m.type&&(l[m.type]&&++g,d(m.processedXData,m.options.data,m.points)>=(m.options.boostThreshold||Number.MAX_VALUE)&&++b)}a.boostForceChartBoost=p&&(g===a.series.length&&0<b||5<b);return a.boostForceChartBoost},renderIfNotSeriesBoosting:v,allocateIfNotSeriesBoosting:g,eachAsync:z,hasWebGLSupport:q,pointDrawHandler:function(a){var b=!0;this.chart.options&&this.chart.options.boost&&(b="undefined"===typeof this.chart.options.boost.enabled?!0:this.chart.options.boost.enabled);
113
- if(!b||!this.isSeriesBoosting)return a.call(this);this.chart.isBoosting=!0;if(a=n(this.chart,this))g(a,this),a.pushSeries(this);v(a,this)}};b.hasWebGLSupport=q;return m});n(b,"Extensions/Boost/BoostInit.js",[b["Core/Chart/Chart.js"],b["Core/Globals.js"],b["Core/Utilities.js"],b["Extensions/Boost/BoostUtils.js"],b["Extensions/Boost/BoostAttach.js"]],function(b,l,n,m,d){var v=n.addEvent,g=n.extend,z=n.fireEvent,q=n.wrap,r=l.Series,a=l.seriesTypes,w=function(){},p=m.eachAsync,f=m.pointDrawHandler,B=
114
- m.allocateIfNotSeriesBoosting,E=m.renderIfNotSeriesBoosting,h=m.shouldForceChartSeriesBoosting,J;return function(){g(r.prototype,{renderCanvas:function(){function a(a,c){var b=!1,d="undefined"===typeof g.index,k=!0;if(!d){if(pa){var t=a[0];var f=a[1]}else t=a,f=m[c];la?(pa&&(f=a.slice(1,3)),b=f[0],f=f[1]):na&&(t=a.x,f=a.stackY,b=f-a.y);wa||(k=f>=v&&f<=M);if(null!==f&&t>=q&&t<=r&&k)if(a=e.toPixels(t,!0),y){if("undefined"===typeof R||a===O){la||(b=f);if("undefined"===typeof aa||f>da)da=f,aa=c;if("undefined"===
115
- typeof R||b<ca)ca=b,R=c}a!==O&&("undefined"!==typeof R&&(f=h.toPixels(da,!0),P=h.toPixels(ca,!0),ea(a,f,aa),P!==f&&ea(a,P,R)),R=aa=void 0,O=a)}else f=Math.ceil(h.toPixels(f,!0)),ea(a,f,c)}return!d}function b(){z(k,"renderedCanvas");delete k.buildKDTree;k.buildKDTree();ra.debug.timeKDTree&&console.timeEnd("kd tree building")}var k=this,f=k.options||{},c=!1,g=k.chart,e=this.xAxis,h=this.yAxis,l=f.xData||k.processedXData,m=f.yData||k.processedYData,n=f.data;c=e.getExtremes();var q=c.min,r=c.max;c=h.getExtremes();
116
- var v=c.min,M=c.max,L={},O,y=!!k.sampling,Z=!1!==f.enableMouseTracking,P=h.getThreshold(f.threshold),la=k.pointArrayMap&&"low,high"===k.pointArrayMap.join(","),na=!!f.stacking,oa=k.cropStart||0,wa=k.requireSorting,pa=!l,ca,da,R,aa,xa="x"===f.findNearestPointBy,qa=this.xData||this.options.xData||this.processedXData||!1,ea=function(a,c,b){a=Math.ceil(a);J=xa?a:a+","+c;Z&&!L[J]&&(L[J]=!0,g.inverted&&(a=e.len-a,c=h.len-c),ya.push({x:qa?qa[oa+b]:!1,clientX:a,plotX:a,plotY:c,i:oa+b}))};c=d(g,k);g.isBoosting=
117
- !0;var ra=c.settings;if(this.visible){(this.points||this.graph)&&this.destroyGraphics();g.isChartSeriesBoosting()?(this.markerGroup&&this.markerGroup!==g.markerGroup&&this.markerGroup.destroy(),this.markerGroup=g.markerGroup,this.renderTarget&&(this.renderTarget=this.renderTarget.destroy())):(this.markerGroup===g.markerGroup&&(this.markerGroup=void 0),this.markerGroup=k.plotGroup("markerGroup","markers",!0,1,g.seriesGroup));var ya=this.points=[];k.buildKDTree=w;c&&(B(c,this),c.pushSeries(k),E(c,this,
118
- g));g.renderer.forExport||(ra.debug.timeKDTree&&console.time("kd tree building"),p(na?k.data:l||n,a,b))}}});["heatmap","treemap"].forEach(function(b){a[b]&&q(a[b].prototype,"drawPoints",f)});a.bubble&&(delete a.bubble.prototype.buildKDTree,q(a.bubble.prototype,"markerAttribs",function(a){return this.isSeriesBoosting?!1:a.apply(this,[].slice.call(arguments,1))}));a.scatter.prototype.fill=!0;g(a.area.prototype,{fill:!0,fillOpacity:!0,sampling:!0});g(a.column.prototype,{fill:!0,sampling:!0});b.prototype.callbacks.push(function(a){v(a,
119
- "predraw",function(){a.boostForceChartBoost=void 0;a.boostForceChartBoost=h(a);a.isBoosting=!1;!a.isChartSeriesBoosting()&&a.didBoost&&(a.didBoost=!1);a.boostClear&&a.boostClear();a.canvas&&a.ogl&&a.isChartSeriesBoosting()&&(a.didBoost=!0,a.ogl.allocateBuffer(a));a.markerGroup&&a.xAxis&&0<a.xAxis.length&&a.yAxis&&0<a.yAxis.length&&a.markerGroup.translate(a.xAxis[0].pos,a.yAxis[0].pos)});v(a,"render",function(){a.ogl&&a.isChartSeriesBoosting()&&a.ogl.render(a)})})}});n(b,"Extensions/Boost/BoostOverrides.js",
120
- [b["Core/Chart/Chart.js"],b["Core/Globals.js"],b["Core/Series/Point.js"],b["Core/Utilities.js"],b["Extensions/Boost/BoostUtils.js"],b["Extensions/Boost/Boostables.js"],b["Extensions/Boost/BoostableMap.js"]],function(b,l,n,m,d,L,g){var v=m.addEvent,q=m.error,r=m.getOptions,a=m.isArray,w=m.isNumber,p=m.pick,f=m.wrap,B=d.boostEnabled,E=d.shouldForceChartSeriesBoosting,h=l.Series,J=l.seriesTypes,G=r().plotOptions;b.prototype.isChartSeriesBoosting=function(){return p(this.options.boost&&this.options.boost.seriesThreshold,
121
- 50)<=this.series.length||E(this)};b.prototype.getBoostClipRect=function(a){var b={x:this.plotLeft,y:this.plotTop,width:this.plotWidth,height:this.plotHeight};a===this&&this.yAxis.forEach(function(a){b.y=Math.min(a.pos,b.y);b.height=Math.max(a.pos-this.plotTop+a.len,b.height)},this);return b};h.prototype.getPoint=function(a){var b=a,d=this.xData||this.options.xData||this.processedXData||!1;!a||a instanceof this.pointClass||(b=(new this.pointClass).init(this,this.options.data[a.i],d?d[a.i]:void 0),
122
- b.category=p(this.xAxis.categories?this.xAxis.categories[b.x]:b.x,b.x),b.dist=a.dist,b.distX=a.distX,b.plotX=a.plotX,b.plotY=a.plotY,b.index=a.i,b.isInside=this.isPointInside(a));return b};f(h.prototype,"searchPoint",function(a){return this.getPoint(a.apply(this,[].slice.call(arguments,1)))});f(n.prototype,"haloPath",function(a){var b=this.series,d=this.plotX,c=this.plotY,f=b.chart.inverted;b.isSeriesBoosting&&f&&(this.plotX=b.yAxis.len-c,this.plotY=b.xAxis.len-d);var e=a.apply(this,Array.prototype.slice.call(arguments,
123
- 1));b.isSeriesBoosting&&f&&(this.plotX=d,this.plotY=c);return e});f(h.prototype,"markerAttribs",function(a,b){var d=b.plotX,c=b.plotY,f=this.chart.inverted;this.isSeriesBoosting&&f&&(b.plotX=this.yAxis.len-c,b.plotY=this.xAxis.len-d);var e=a.apply(this,Array.prototype.slice.call(arguments,1));this.isSeriesBoosting&&f&&(b.plotX=d,b.plotY=c);return e});v(h,"destroy",function(){var a=this,b=a.chart;b.markerGroup===a.markerGroup&&(a.markerGroup=null);b.hoverPoints&&(b.hoverPoints=b.hoverPoints.filter(function(b){return b.series===
124
- a}));b.hoverPoint&&b.hoverPoint.series===a&&(b.hoverPoint=null)});f(h.prototype,"getExtremes",function(a){return this.isSeriesBoosting&&this.hasExtremes&&this.hasExtremes()?{}:a.apply(this,Array.prototype.slice.call(arguments,1))});["translate","generatePoints","drawTracker","drawPoints","render"].forEach(function(a){function b(b){var c=this.options.stacking&&("translate"===a||"generatePoints"===a);if(!this.isSeriesBoosting||c||!B(this.chart)||"heatmap"===this.type||"treemap"===this.type||!g[this.type]||
125
- 0===this.options.boostThreshold)b.call(this);else if(this[a+"Canvas"])this[a+"Canvas"]()}f(h.prototype,a,b);"translate"===a&&"column bar arearange columnrange heatmap treemap".split(" ").forEach(function(d){J[d]&&f(J[d].prototype,a,b)})});f(h.prototype,"processData",function(b){function d(a){return f.chart.isChartSeriesBoosting()||(a?a.length:0)>=(f.options.boostThreshold||Number.MAX_VALUE)}var f=this,c=this.options.data;B(this.chart)&&g[this.type]?(d(c)&&"heatmap"!==this.type&&"treemap"!==this.type&&
126
- !this.options.stacking&&this.hasExtremes&&this.hasExtremes(!0)||(b.apply(this,Array.prototype.slice.call(arguments,1)),c=this.processedXData),(this.isSeriesBoosting=d(c))?(c=this.getFirstValidPoint(this.options.data),w(c)||a(c)||q(12,!1,this.chart),this.enterBoost()):this.exitBoost&&this.exitBoost()):b.apply(this,Array.prototype.slice.call(arguments,1))});v(h,"hide",function(){this.canvas&&this.renderTarget&&(this.ogl&&this.ogl.clear(),this.boostClear())});h.prototype.enterBoost=function(){this.alteredByBoost=
127
- [];["allowDG","directTouch","stickyTracking"].forEach(function(a){this.alteredByBoost.push({prop:a,val:this[a],own:Object.hasOwnProperty.call(this,a)})},this);this.directTouch=this.allowDG=!1;this.finishedAnimating=this.stickyTracking=!0;this.labelBySeries&&(this.labelBySeries=this.labelBySeries.destroy())};h.prototype.exitBoost=function(){(this.alteredByBoost||[]).forEach(function(a){a.own?this[a.prop]=a.val:delete this[a.prop]},this);this.boostClear&&this.boostClear()};h.prototype.hasExtremes=function(a){var b=
128
- this.options,d=this.xAxis&&this.xAxis.options,c=this.yAxis&&this.yAxis.options,f=this.colorAxis&&this.colorAxis.options;return b.data.length>(b.boostThreshold||Number.MAX_VALUE)&&w(c.min)&&w(c.max)&&(!a||w(d.min)&&w(d.max))&&(!f||w(f.min)&&w(f.max))};h.prototype.destroyGraphics=function(){var a=this,b=this.points,d,c;if(b)for(c=0;c<b.length;c+=1)(d=b[c])&&d.destroyElements&&d.destroyElements();["graph","area","tracker"].forEach(function(b){a[b]&&(a[b]=a[b].destroy())})};L.forEach(function(a){G[a]&&
129
- (G[a].boostThreshold=5E3,G[a].boostData=[],J[a].prototype.fillOpacity=!0)})});n(b,"Extensions/Boost/NamedColors.js",[b["Core/Color.js"]],function(b){var l={aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",
130
- crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dodgerblue:"#1e90ff",feldspar:"#d19275",firebrick:"#b22222",
131
- floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gray:"#808080",green:"#008000",greenyellow:"#adff2f",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgrey:"#d3d3d3",lightgreen:"#90ee90",
132
- lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslateblue:"#8470ff",lightslategray:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370d8",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",
133
- mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#d87093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",
134
- sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",snow:"#fffafa",springgreen:"#00ff7f",steelblue:"#4682b4",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",tomato:"#ff6347",turquoise:"#40e0d0",violet:"#ee82ee",violetred:"#d02090",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"};return b.names=l});n(b,"Extensions/Boost/Boost.js",[b["Core/Globals.js"],b["Extensions/Boost/BoostUtils.js"],
135
- b["Extensions/Boost/BoostInit.js"],b["Core/Utilities.js"]],function(b,l,n,m){m=m.error;l=l.hasWebGLSupport;l()?n():"undefined"!==typeof b.initCanvasBoost?b.initCanvasBoost():m(26)});n(b,"masters/modules/boost.src.js",[],function(){})});
73
+ (function(d){"object"===typeof module&&module.exports?(d["default"]=d,module.exports=d):"function"===typeof define&&define.amd?define("highcharts/modules/boost",["highcharts"],function(r){d(r);d.Highcharts=r;return d}):d("undefined"!==typeof Highcharts?Highcharts:void 0)})(function(d){function r(d,C,q,l){d.hasOwnProperty(C)||(d[C]=l.apply(null,q))}d=d?d._modules:{};r(d,"Extensions/Boost/Boostables.js",[],function(){return"area arearange column columnrange bar line scatter heatmap bubble treemap".split(" ")});
74
+ r(d,"Extensions/Boost/BoostableMap.js",[d["Extensions/Boost/Boostables.js"]],function(d){var x={};d.forEach(function(d){x[d]=1});return x});r(d,"Extensions/Boost/WGLShader.js",[d["Core/Utilities.js"]],function(d){var x=d.clamp,q=d.error,l=d.pick;return function(b){function d(){g.length&&q("[highcharts boost] shader error - "+g.join("\n"))}function w(a,c){var f=b.createShader("vertex"===c?b.VERTEX_SHADER:b.FRAGMENT_SHADER);b.shaderSource(f,a);b.compileShader(f);return b.getShaderParameter(f,b.COMPILE_STATUS)?
75
+ f:(g.push("when compiling "+c+" shader:\n"+b.getShaderInfoLog(f)),!1)}function p(){function a(a){return b.getUniformLocation(h,a)}var L=w("#version 100\n#define LN10 2.302585092994046\nprecision highp float;\nattribute vec4 aVertexPosition;\nattribute vec4 aColor;\nvarying highp vec2 position;\nvarying highp vec4 vColor;\nuniform mat4 uPMatrix;\nuniform float pSize;\nuniform float translatedThreshold;\nuniform bool hasThreshold;\nuniform bool skipTranslation;\nuniform float xAxisTrans;\nuniform float xAxisMin;\nuniform float xAxisMinPad;\nuniform float xAxisPointRange;\nuniform float xAxisLen;\nuniform bool xAxisPostTranslate;\nuniform float xAxisOrdinalSlope;\nuniform float xAxisOrdinalOffset;\nuniform float xAxisPos;\nuniform bool xAxisCVSCoord;\nuniform bool xAxisIsLog;\nuniform bool xAxisReversed;\nuniform float yAxisTrans;\nuniform float yAxisMin;\nuniform float yAxisMinPad;\nuniform float yAxisPointRange;\nuniform float yAxisLen;\nuniform bool yAxisPostTranslate;\nuniform float yAxisOrdinalSlope;\nuniform float yAxisOrdinalOffset;\nuniform float yAxisPos;\nuniform bool yAxisCVSCoord;\nuniform bool yAxisIsLog;\nuniform bool yAxisReversed;\nuniform bool isBubble;\nuniform bool bubbleSizeByArea;\nuniform float bubbleZMin;\nuniform float bubbleZMax;\nuniform float bubbleZThreshold;\nuniform float bubbleMinSize;\nuniform float bubbleMaxSize;\nuniform bool bubbleSizeAbs;\nuniform bool isInverted;\nfloat bubbleRadius(){\nfloat value = aVertexPosition.w;\nfloat zMax = bubbleZMax;\nfloat zMin = bubbleZMin;\nfloat radius = 0.0;\nfloat pos = 0.0;\nfloat zRange = zMax - zMin;\nif (bubbleSizeAbs){\nvalue = value - bubbleZThreshold;\nzMax = max(zMax - bubbleZThreshold, zMin - bubbleZThreshold);\nzMin = 0.0;\n}\nif (value < zMin){\nradius = bubbleZMin / 2.0 - 1.0;\n} else {\npos = zRange > 0.0 ? (value - zMin) / zRange : 0.5;\nif (bubbleSizeByArea && pos > 0.0){\npos = sqrt(pos);\n}\nradius = ceil(bubbleMinSize + pos * (bubbleMaxSize - bubbleMinSize)) / 2.0;\n}\nreturn radius * 2.0;\n}\nfloat translate(float val,\nfloat pointPlacement,\nfloat localA,\nfloat localMin,\nfloat minPixelPadding,\nfloat pointRange,\nfloat len,\nbool cvsCoord,\nbool isLog,\nbool reversed\n){\nfloat sign = 1.0;\nfloat cvsOffset = 0.0;\nif (cvsCoord) {\nsign *= -1.0;\ncvsOffset = len;\n}\nif (isLog) {\nval = log(val) / LN10;\n}\nif (reversed) {\nsign *= -1.0;\ncvsOffset -= sign * len;\n}\nreturn sign * (val - localMin) * localA + cvsOffset + \n(sign * minPixelPadding);\n}\nfloat xToPixels(float value) {\nif (skipTranslation){\nreturn value;// + xAxisPos;\n}\nreturn translate(value, 0.0, xAxisTrans, xAxisMin, xAxisMinPad, xAxisPointRange, xAxisLen, xAxisCVSCoord, xAxisIsLog, xAxisReversed);// + xAxisPos;\n}\nfloat yToPixels(float value, float checkTreshold) {\nfloat v;\nif (skipTranslation){\nv = value;// + yAxisPos;\n} else {\nv = translate(value, 0.0, yAxisTrans, yAxisMin, yAxisMinPad, yAxisPointRange, yAxisLen, yAxisCVSCoord, yAxisIsLog, yAxisReversed);// + yAxisPos;\nif (v > yAxisLen) {\nv = yAxisLen;\n}\n}\nif (checkTreshold > 0.0 && hasThreshold) {\nv = min(v, translatedThreshold);\n}\nreturn v;\n}\nvoid main(void) {\nif (isBubble){\ngl_PointSize = bubbleRadius();\n} else {\ngl_PointSize = pSize;\n}\nvColor = aColor;\nif (skipTranslation && isInverted) {\ngl_Position = uPMatrix * vec4(aVertexPosition.y + yAxisPos, aVertexPosition.x + xAxisPos, 0.0, 1.0);\n} else if (isInverted) {\ngl_Position = uPMatrix * vec4(yToPixels(aVertexPosition.y, aVertexPosition.z) + yAxisPos, xToPixels(aVertexPosition.x) + xAxisPos, 0.0, 1.0);\n} else {\ngl_Position = uPMatrix * vec4(xToPixels(aVertexPosition.x) + xAxisPos, yToPixels(aVertexPosition.y, aVertexPosition.z) + yAxisPos, 0.0, 1.0);\n}\n}",
76
+ "vertex"),f=w("precision highp float;\nuniform vec4 fillColor;\nvarying highp vec2 position;\nvarying highp vec4 vColor;\nuniform sampler2D uSampler;\nuniform bool isCircle;\nuniform bool hasColor;\nvoid main(void) {\nvec4 col = fillColor;\nvec4 tcol = texture2D(uSampler, gl_PointCoord.st);\nif (hasColor) {\ncol = vColor;\n}\nif (isCircle) {\ncol *= tcol;\nif (tcol.r < 0.0) {\ndiscard;\n} else {\ngl_FragColor = col;\n}\n} else {\ngl_FragColor = col;\n}\n}","fragment");if(!L||!f)return h=!1,d(),!1;
77
+ h=b.createProgram();b.attachShader(h,L);b.attachShader(h,f);b.linkProgram(h);if(!b.getProgramParameter(h,b.LINK_STATUS))return g.push(b.getProgramInfoLog(h)),d(),h=!1;b.useProgram(h);b.bindAttribLocation(h,0,"aVertexPosition");e=a("uPMatrix");n=a("pSize");m=a("fillColor");P=a("isBubble");t=a("bubbleSizeAbs");k=a("bubbleSizeByArea");K=a("uSampler");G=a("skipTranslation");c=a("isCircle");u=a("isInverted");return!0}function D(a,c){b&&h&&(a=y[a]=y[a]||b.getUniformLocation(h,a),b.uniform1f(a,c))}var y=
78
+ {},h,e,n,m,P,t,k,G,c,u,g=[],K;return b&&!p()?!1:{psUniform:function(){return n},pUniform:function(){return e},fillColorUniform:function(){return m},setBubbleUniforms:function(a,g,f){var u=a.options,e=Number.MAX_VALUE,d=-Number.MAX_VALUE;b&&h&&"bubble"===a.type&&(e=l(u.zMin,x(g,!1===u.displayNegative?u.zThreshold:-Number.MAX_VALUE,e)),d=l(u.zMax,Math.max(d,f)),b.uniform1i(P,1),b.uniform1i(c,1),b.uniform1i(k,"width"!==a.options.sizeBy),b.uniform1i(t,a.options.sizeByAbsoluteValue),D("bubbleZMin",e),
79
+ D("bubbleZMax",d),D("bubbleZThreshold",a.options.zThreshold),D("bubbleMinSize",a.minPxSize),D("bubbleMaxSize",a.maxPxSize))},bind:function(){b&&h&&b.useProgram(h)},program:function(){return h},create:p,setUniform:D,setPMatrix:function(a){b&&h&&b.uniformMatrix4fv(e,!1,a)},setColor:function(a){b&&h&&b.uniform4f(m,a[0]/255,a[1]/255,a[2]/255,a[3])},setPointSize:function(a){b&&h&&b.uniform1f(n,a)},setSkipTranslation:function(a){b&&h&&b.uniform1i(G,!0===a?1:0)},setTexture:function(a){b&&h&&b.uniform1i(K,
80
+ a)},setDrawAsCircle:function(a){b&&h&&b.uniform1i(c,a?1:0)},reset:function(){b&&h&&(b.uniform1i(P,0),b.uniform1i(c,0))},setInverted:function(a){b&&h&&b.uniform1i(u,a)},destroy:function(){b&&h&&(b.deleteProgram(h),h=!1)}}}});r(d,"Extensions/Boost/WGLVBuffer.js",[],function(){return function(d,C,q){function l(){b&&(d.deleteBuffer(b),x=b=!1);D=0;w=q||2;y=[]}var b=!1,x=!1,w=q||2,p=!1,D=0,y;return{destroy:l,bind:function(){if(!b)return!1;d.vertexAttribPointer(x,w,d.FLOAT,!1,0,0)},data:y,build:function(h,
81
+ e,n){var m;y=h||[];if(!(y&&0!==y.length||p))return l(),!1;w=n||w;b&&d.deleteBuffer(b);p||(m=new Float32Array(y));b=d.createBuffer();d.bindBuffer(d.ARRAY_BUFFER,b);d.bufferData(d.ARRAY_BUFFER,p||m,d.STATIC_DRAW);x=d.getAttribLocation(C.program(),e);d.enableVertexAttribArray(x);return!0},render:function(h,e,n){var m=p?p.length:y.length;if(!b||!m)return!1;if(!h||h>m||0>h)h=0;if(!e||e>m)e=m;d.drawArrays(d[(n||"points").toUpperCase()],h/w,(e-h)/w);return!0},allocate:function(d){D=-1;p=new Float32Array(4*
82
+ d)},push:function(d,e,b,m){p&&(p[++D]=d,p[++D]=e,p[++D]=b,p[++D]=m)}}}});r(d,"Extensions/Boost/WGLRenderer.js",[d["Core/Color/Color.js"],d["Extensions/Boost/WGLShader.js"],d["Extensions/Boost/WGLVBuffer.js"],d["Core/Globals.js"],d["Core/Utilities.js"]],function(d,C,q,l,b){var x=d.parse,w=l.doc,p=b.isNumber,D=b.isObject,y=b.merge,h=b.objectEach,e=b.pick;return function(b){function m(a){if(a.isSeriesBoosting){var c=!!a.options.stacking;var g=a.xData||a.options.xData||a.processedXData;c=(c?a.data:g||
83
+ a.options.data).length;"treemap"===a.type?c*=12:"heatmap"===a.type?c*=6:ia[a.type]&&(c*=2);return c}return 0}function n(){f.clear(f.COLOR_BUFFER_BIT|f.DEPTH_BUFFER_BIT)}function t(a,c){function g(a){a&&(c.colorData.push(a[0]),c.colorData.push(a[1]),c.colorData.push(a[2]),c.colorData.push(a[3]))}function f(a,c,f,u,d){g(d);z.usePreallocated?L.push(a,c,f?1:0,u||1):(R.push(a),R.push(c),R.push(f?1:0),R.push(u||1))}function u(){c.segments.length&&(c.segments[c.segments.length-1].to=R.length)}function e(){c.segments.length&&
84
+ c.segments[c.segments.length-1].from===R.length||(u(),c.segments.push({from:R.length}))}function b(a,c,u,d,e){g(e);f(a+u,c);g(e);f(a,c);g(e);f(a,c+d);g(e);f(a,c+d);g(e);f(a+u,c+d);g(e);f(a+u,c)}function K(a,g){z.useGPUTranslations||(c.skipTranslation=!0,a.x=G.toPixels(a.x,!0),a.y=P.toPixels(a.y,!0));g?R=[a.x,a.y,0,2].concat(R):f(a.x,a.y,0,2)}var h=a.pointArrayMap&&"low,high"===a.pointArrayMap.join(","),n=a.chart,E=a.options,m=!!E.stacking,T=E.data,k=a.xAxis.getExtremes(),p=k.min;k=k.max;var l=a.yAxis.getExtremes(),
85
+ X=l.min;l=l.max;var t=a.xData||E.xData||a.processedXData,y=a.yData||E.yData||a.processedYData,q=a.zData||E.zData||a.processedZData,P=a.yAxis,G=a.xAxis,B=a.chart.plotWidth,w=!t||0===t.length,C=E.connectNulls,v=a.points||!1,M=!1,r=!1,Q;t=m?a.data:t||T;var I={x:Number.MAX_VALUE,y:0},O={x:-Number.MAX_VALUE,y:0},N=0,Fa=!1,J=-1,Y=!1,fa=!1,Z="undefined"===typeof n.index,ya=!1,V=!1;var A=!1;var Ma=ia[a.type],za=!1,Ia=!0,Ba=!0,ma=E.zones||!1,ha=!1,Ga=E.threshold,Aa=!1;if(!(E.boostData&&0<E.boostData.length)){E.gapSize&&
86
+ (Aa="value"!==E.gapUnit?E.gapSize*a.closestPointRange:E.gapSize);ma&&(ma.some(function(a){return"undefined"===typeof a.value?(ha=new d(a.color),!0):!1}),ha||(ha=a.pointAttribs&&a.pointAttribs().fill||a.color,ha=new d(ha)));n.inverted&&(B=a.chart.plotHeight);a.closestPointRangePx=Number.MAX_VALUE;e();if(v&&0<v.length)c.skipTranslation=!0,c.drawMode="triangles",v[0].node&&v[0].node.levelDynamic&&v.sort(function(a,c){if(a.node){if(a.node.levelDynamic>c.node.levelDynamic)return 1;if(a.node.levelDynamic<
87
+ c.node.levelDynamic)return-1}return 0}),v.forEach(function(c){var g=c.plotY;if("undefined"!==typeof g&&!isNaN(g)&&null!==c.y){g=c.shapeArgs;var f=n.styledMode?c.series.colorAttribs(c):f=c.series.pointAttribs(c);c=f["stroke-width"]||0;A=x(f.fill).rgba;A[0]/=255;A[1]/=255;A[2]/=255;"treemap"===a.type&&(c=c||1,Q=x(f.stroke).rgba,Q[0]/=255,Q[1]/=255,Q[2]/=255,b(g.x,g.y,g.width,g.height,Q),c/=2);"heatmap"===a.type&&n.inverted&&(g.x=G.len-g.x,g.y=P.len-g.y,g.width=-g.width,g.height=-g.height);b(g.x+c,g.y+
88
+ c,g.width-2*c,g.height-2*c,A)}});else{for(;J<t.length-1;){var H=t[++J];if(Z)break;v=T&&T[J];!w&&D(v,!0)&&v.color&&(A=x(v.color).rgba,A[0]/=255,A[1]/=255,A[2]/=255);if(w){v=H[0];var F=H[1];t[J+1]&&(fa=t[J+1][0]);t[J-1]&&(Y=t[J-1][0]);if(3<=H.length){var Ha=H[2];H[2]>c.zMax&&(c.zMax=H[2]);H[2]<c.zMin&&(c.zMin=H[2])}}else v=H,F=y[J],t[J+1]&&(fa=t[J+1]),t[J-1]&&(Y=t[J-1]),q&&q.length&&(Ha=q[J],q[J]>c.zMax&&(c.zMax=q[J]),q[J]<c.zMin&&(c.zMin=q[J]));if(C||null!==v&&null!==F){fa&&fa>=p&&fa<=k&&(ya=!0);Y&&
89
+ Y>=p&&Y<=k&&(V=!0);if(h){w&&(F=H.slice(1,3));var sa=F[0];F=F[1]}else m&&(v=H.x,F=H.stackY,sa=F-H.y);null!==X&&"undefined"!==typeof X&&null!==l&&"undefined"!==typeof l&&(Ia=F>=X&&F<=l);v>k&&O.x<k&&(O.x=v,O.y=F);v<p&&I.x>p&&(I.x=v,I.y=F);if(null!==F||!C)if(null!==F&&(Ia||ya||V)){if((fa>=p||v>=p)&&(Y<=k||v<=k)&&(za=!0),za||ya||V){Aa&&v-Y>Aa&&e();ma&&(A=ha.rgba,ma.some(function(a,c){c=ma[c-1];if("undefined"!==typeof a.value&&F<=a.value){if(!c||F>=c.value)A=x(a.color).rgba;return!0}return!1}),A[0]/=255,
90
+ A[1]/=255,A[2]/=255);if(!z.useGPUTranslations&&(c.skipTranslation=!0,v=G.toPixels(v,!0),F=P.toPixels(F,!0),v>B&&"points"===c.drawMode))continue;if(Ma){H=sa;if(!1===sa||"undefined"===typeof sa)H=0>F?F:0;h||m||(H=Math.max(null===Ga?X:Ga,X));z.useGPUTranslations||(H=P.toPixels(H,!0));f(v,H,0,0,A)}c.hasMarkers&&za&&!1!==M&&(a.closestPointRangePx=Math.min(a.closestPointRangePx,Math.abs(v-M)));!z.useGPUTranslations&&!z.usePreallocated&&M&&1>Math.abs(v-M)&&r&&1>Math.abs(F-r)?z.debug.showSkipSummary&&++N:
91
+ (E.step&&!Ba&&f(v,r,0,2,A),f(v,F,0,"bubble"===a.type?Ha||1:2,A),M=v,r=F,Fa=!0,Ba=!1)}}else e()}else e()}z.debug.showSkipSummary&&console.log("skipped points:",N);Fa||!1===C||"line_strip"!==a.drawMode||(I.x<Number.MAX_VALUE&&K(I,!0),O.x>-Number.MAX_VALUE&&K(O))}u()}}function k(){I=[];r.data=R=[];Q=[];L&&L.destroy()}function G(c){a&&(a.setUniform("xAxisTrans",c.transA),a.setUniform("xAxisMin",c.min),a.setUniform("xAxisMinPad",c.minPixelPadding),a.setUniform("xAxisPointRange",c.pointRange),a.setUniform("xAxisLen",
92
+ c.len),a.setUniform("xAxisPos",c.pos),a.setUniform("xAxisCVSCoord",!c.horiz),a.setUniform("xAxisIsLog",!!c.logarithmic),a.setUniform("xAxisReversed",!!c.reversed))}function c(c){a&&(a.setUniform("yAxisTrans",c.transA),a.setUniform("yAxisMin",c.min),a.setUniform("yAxisMinPad",c.minPixelPadding),a.setUniform("yAxisPointRange",c.pointRange),a.setUniform("yAxisLen",c.len),a.setUniform("yAxisPos",c.pos),a.setUniform("yAxisCVSCoord",!c.horiz),a.setUniform("yAxisIsLog",!!c.logarithmic),a.setUniform("yAxisReversed",
93
+ !!c.reversed))}function u(c,g){a.setUniform("hasThreshold",c);a.setUniform("translatedThreshold",g)}function g(g){if(g)M=g.chartWidth||800,B=g.chartHeight||400;else return!1;if(!(f&&M&&B&&a))return!1;z.debug.timeRendering&&console.time("gl rendering");f.canvas.width=M;f.canvas.height=B;a.bind();f.viewport(0,0,M,B);a.setPMatrix([2/M,0,0,0,0,-(2/B),0,0,0,0,-2,0,-1,1,-1,1]);1<z.lineWidth&&!l.isMS&&f.lineWidth(z.lineWidth);L.build(r.data,"aVertexPosition",4);L.bind();a.setInverted(g.inverted);I.forEach(function(b,
94
+ K){var n=b.series.options,h=n.marker;var m="undefined"!==typeof n.lineWidth?n.lineWidth:1;var k=n.threshold,E=p(k),t=b.series.yAxis.getThreshold(k);k=e(n.marker?n.marker.enabled:null,b.series.xAxis.isRadial?!0:null,b.series.closestPointRangePx>2*((n.marker?n.marker.radius:10)||10));h=V[h&&h.symbol||b.series.symbol]||V.circle;if(!(0===b.segments.length||b.segmentslength&&b.segments[0].from===b.segments[0].to)){h.isReady&&(f.bindTexture(f.TEXTURE_2D,h.handle),a.setTexture(h.handle));g.styledMode?h=
95
+ b.series.markerGroup&&b.series.markerGroup.getStyle("fill"):(h=b.series.pointAttribs&&b.series.pointAttribs().fill||b.series.color,n.colorByPoint&&(h=b.series.chart.options.colors[K]));b.series.fillOpacity&&n.fillOpacity&&(h=(new d(h)).setOpacity(e(n.fillOpacity,1)).get());h=x(h).rgba;z.useAlpha||(h[3]=1);"lines"===b.drawMode&&z.useAlpha&&1>h[3]&&(h[3]/=10);"add"===n.boostBlending?(f.blendFunc(f.SRC_ALPHA,f.ONE),f.blendEquation(f.FUNC_ADD)):"mult"===n.boostBlending||"multiply"===n.boostBlending?f.blendFunc(f.DST_COLOR,
96
+ f.ZERO):"darken"===n.boostBlending?(f.blendFunc(f.ONE,f.ONE),f.blendEquation(f.FUNC_MIN)):f.blendFuncSeparate(f.SRC_ALPHA,f.ONE_MINUS_SRC_ALPHA,f.ONE,f.ONE_MINUS_SRC_ALPHA);a.reset();0<b.colorData.length&&(a.setUniform("hasColor",1),K=q(f,a),K.build(b.colorData,"aColor",4),K.bind());a.setColor(h);G(b.series.xAxis);c(b.series.yAxis);u(E,t);"points"===b.drawMode&&(n.marker&&p(n.marker.radius)?a.setPointSize(2*n.marker.radius):a.setPointSize(1));a.setSkipTranslation(b.skipTranslation);"bubble"===b.series.type&&
97
+ a.setBubbleUniforms(b.series,b.zMin,b.zMax);a.setDrawAsCircle(Z[b.series.type]||!1);if(0<m||"line_strip"!==b.drawMode)for(m=0;m<b.segments.length;m++)L.render(b.segments[m].from,b.segments[m].to,b.drawMode);if(b.hasMarkers&&k)for(n.marker&&p(n.marker.radius)?a.setPointSize(2*n.marker.radius):a.setPointSize(10),a.setDrawAsCircle(!0),m=0;m<b.segments.length;m++)L.render(b.segments[m].from,b.segments[m].to,"POINTS")}});z.debug.timeRendering&&console.timeEnd("gl rendering");b&&b();k()}function K(a){n();
98
+ if(a.renderer.forExport)return g(a);O?g(a):setTimeout(function(){K(a)},1)}var a=!1,L=!1,f=!1,M=0,B=0,R=!1,Q=!1,r={},O=!1,I=[],V={},ia={column:!0,columnrange:!0,bar:!0,area:!0,arearange:!0},Z={scatter:!0,bubble:!0},z={pointSize:1,lineWidth:1,fillColor:"#AA00AA",useAlpha:!0,usePreallocated:!1,useGPUTranslations:!1,debug:{timeRendering:!1,timeSeriesProcessing:!1,timeSetup:!1,timeBufferCopy:!1,timeKDTree:!1,showSkipSummary:!1}};return r={allocateBufferForSingleSeries:function(a){var c=0;z.usePreallocated&&
99
+ (a.isSeriesBoosting&&(c=m(a)),L.allocate(c))},pushSeries:function(a){0<I.length&&I[I.length-1].hasMarkers&&(I[I.length-1].markerTo=Q.length);z.debug.timeSeriesProcessing&&console.time("building "+a.type+" series");I.push({segments:[],markerFrom:Q.length,colorData:[],series:a,zMin:Number.MAX_VALUE,zMax:-Number.MAX_VALUE,hasMarkers:a.options.marker?!1!==a.options.marker.enabled:!1,showMarkers:!0,drawMode:{area:"lines",arearange:"lines",areaspline:"line_strip",column:"lines",columnrange:"lines",bar:"lines",
100
+ line:"line_strip",scatter:"points",heatmap:"triangles",treemap:"triangles",bubble:"points"}[a.type]||"line_strip"});t(a,I[I.length-1]);z.debug.timeSeriesProcessing&&console.timeEnd("building "+a.type+" series")},setSize:function(c,g){M===c&&B===g||!a||(M=c,B=g,a.bind(),a.setPMatrix([2/M,0,0,0,0,-(2/B),0,0,0,0,-2,0,-1,1,-1,1]))},inited:function(){return O},setThreshold:u,init:function(c,g){function b(a,c){var g={isReady:!1,texture:w.createElement("canvas"),handle:f.createTexture()},b=g.texture.getContext("2d");
101
+ V[a]=g;g.texture.width=512;g.texture.height=512;b.mozImageSmoothingEnabled=!1;b.webkitImageSmoothingEnabled=!1;b.msImageSmoothingEnabled=!1;b.imageSmoothingEnabled=!1;b.strokeStyle="rgba(255, 255, 255, 0)";b.fillStyle="#FFF";c(b);try{f.activeTexture(f.TEXTURE0),f.bindTexture(f.TEXTURE_2D,g.handle),f.texImage2D(f.TEXTURE_2D,0,f.RGBA,f.RGBA,f.UNSIGNED_BYTE,g.texture),f.texParameteri(f.TEXTURE_2D,f.TEXTURE_WRAP_S,f.CLAMP_TO_EDGE),f.texParameteri(f.TEXTURE_2D,f.TEXTURE_WRAP_T,f.CLAMP_TO_EDGE),f.texParameteri(f.TEXTURE_2D,
102
+ f.TEXTURE_MAG_FILTER,f.LINEAR),f.texParameteri(f.TEXTURE_2D,f.TEXTURE_MIN_FILTER,f.LINEAR),f.bindTexture(f.TEXTURE_2D,null),g.isReady=!0}catch(U){}}var u=0,d=["webgl","experimental-webgl","moz-webgl","webkit-3d"];O=!1;if(!c)return!1;for(z.debug.timeSetup&&console.time("gl setup");u<d.length&&!(f=c.getContext(d[u],{}));u++);if(f)g||k();else return!1;f.enable(f.BLEND);f.blendFunc(f.SRC_ALPHA,f.ONE_MINUS_SRC_ALPHA);f.disable(f.DEPTH_TEST);f.depthFunc(f.LESS);a=C(f);if(!a)return!1;L=q(f,a);b("circle",
103
+ function(a){a.beginPath();a.arc(256,256,256,0,2*Math.PI);a.stroke();a.fill()});b("square",function(a){a.fillRect(0,0,512,512)});b("diamond",function(a){a.beginPath();a.moveTo(256,0);a.lineTo(512,256);a.lineTo(256,512);a.lineTo(0,256);a.lineTo(256,0);a.fill()});b("triangle",function(a){a.beginPath();a.moveTo(0,512);a.lineTo(256,0);a.lineTo(512,512);a.lineTo(0,512);a.fill()});b("triangle-down",function(a){a.beginPath();a.moveTo(0,0);a.lineTo(256,512);a.lineTo(512,0);a.lineTo(0,0);a.fill()});O=!0;z.debug.timeSetup&&
104
+ console.timeEnd("gl setup");return!0},render:K,settings:z,valid:function(){return!1!==f},clear:n,flush:k,setXAxis:G,setYAxis:c,data:R,gl:function(){return f},allocateBuffer:function(a){var c=0;z.usePreallocated&&(a.series.forEach(function(a){a.isSeriesBoosting&&(c+=m(a))}),L.allocate(c))},destroy:function(){k();L.destroy();a.destroy();f&&(h(V,function(a){a.handle&&f.deleteTexture(a.handle)}),f.canvas.width=1,f.canvas.height=1)},setOptions:function(a){y(!0,z,a)}}}});r(d,"Extensions/Boost/BoostAttach.js",
105
+ [d["Core/Chart/Chart.js"],d["Extensions/Boost/WGLRenderer.js"],d["Core/Globals.js"],d["Core/Utilities.js"]],function(d,C,q,l){var b=q.doc,x=l.error,w=b.createElement("canvas");return function(p,l){var q=p.chartWidth,h=p.chartHeight,e=p,n=p.seriesGroup||l.group,m=b.implementation.hasFeature("www.http://w3.org/TR/SVG11/feature#Extensibility","1.1");e=p.isChartSeriesBoosting()?p:l;m=!1;e.renderTarget||(e.canvas=w,p.renderer.forExport||!m?(e.renderTarget=p.renderer.image("",0,0,q,h).addClass("highcharts-boost-canvas").add(n),
106
+ e.boostClear=function(){e.renderTarget.attr({href:""})},e.boostCopy=function(){e.boostResizeTarget();e.renderTarget.attr({href:e.canvas.toDataURL("image/png")})}):(e.renderTargetFo=p.renderer.createElement("foreignObject").add(n),e.renderTarget=b.createElement("canvas"),e.renderTargetCtx=e.renderTarget.getContext("2d"),e.renderTargetFo.element.appendChild(e.renderTarget),e.boostClear=function(){e.renderTarget.width=e.canvas.width;e.renderTarget.height=e.canvas.height},e.boostCopy=function(){e.renderTarget.width=
107
+ e.canvas.width;e.renderTarget.height=e.canvas.height;e.renderTargetCtx.drawImage(e.canvas,0,0)}),e.boostResizeTarget=function(){q=p.chartWidth;h=p.chartHeight;(e.renderTargetFo||e.renderTarget).attr({x:0,y:0,width:q,height:h}).css({pointerEvents:"none",mixedBlendMode:"normal",opacity:1});e instanceof d&&e.markerGroup.translate(p.plotLeft,p.plotTop)},e.boostClipRect=p.renderer.clipRect(),(e.renderTargetFo||e.renderTarget).clip(e.boostClipRect),e instanceof d&&(e.markerGroup=e.renderer.g().add(n),e.markerGroup.translate(l.xAxis.pos,
108
+ l.yAxis.pos)));e.canvas.width=q;e.canvas.height=h;e.boostClipRect.attr(p.getBoostClipRect(e));e.boostResizeTarget();e.boostClear();e.ogl||(e.ogl=C(function(){e.ogl.settings.debug.timeBufferCopy&&console.time("buffer copy");e.boostCopy();e.ogl.settings.debug.timeBufferCopy&&console.timeEnd("buffer copy")}),e.ogl.init(e.canvas)||x("[highcharts boost] - unable to init WebGL renderer"),e.ogl.setOptions(p.options.boost||{}),e instanceof d&&e.ogl.allocateBuffer(p));e.ogl.setSize(q,h);return e.ogl}});r(d,
109
+ "Extensions/Boost/BoostUtils.js",[d["Core/Globals.js"],d["Extensions/Boost/BoostableMap.js"],d["Extensions/Boost/BoostAttach.js"],d["Core/Utilities.js"]],function(d,C,q,l){function b(){for(var b=[],d=0;d<arguments.length;d++)b[d]=arguments[d];var e=-Number.MAX_VALUE;b.forEach(function(b){if("undefined"!==typeof b&&null!==b&&"undefined"!==typeof b.length&&0<b.length)return e=b.length,!0});return e}function x(b,d,e){b&&d.renderTarget&&d.canvas&&!(e||d.chart).isChartSeriesBoosting()&&b.render(e||d.chart)}
110
+ function w(b,d){b&&d.renderTarget&&d.canvas&&!d.chart.isChartSeriesBoosting()&&b.allocateBufferForSingleSeries(d)}function p(b,d,e,h,k,l){k=k||0;h=h||3E3;for(var c=k+h,u=!0;u&&k<c&&k<b.length;)u=d(b[k],k),++k;u&&(k<b.length?l?p(b,d,e,h,k,l):y.requestAnimationFrame?y.requestAnimationFrame(function(){p(b,d,e,h,k)}):setTimeout(function(){p(b,d,e,h,k)}):e&&e())}function r(){var b=0,d,e=["webgl","experimental-webgl","moz-webgl","webkit-3d"],p=!1;if("undefined"!==typeof y.WebGLRenderingContext)for(d=h.createElement("canvas");b<
111
+ e.length;b++)try{if(p=d.getContext(e[b]),"undefined"!==typeof p&&null!==p)return!0}catch(k){}return!1}var y=d.win,h=d.doc,e=l.pick;l={patientMax:b,boostEnabled:function(b){return e(b&&b.options&&b.options.boost&&b.options.boost.enabled,!0)},shouldForceChartSeriesBoosting:function(d){var h=0,p=0,n=e(d.options.boost&&d.options.boost.allowForce,!0);if("undefined"!==typeof d.boostForceChartBoost)return d.boostForceChartBoost;if(1<d.series.length)for(var k=0;k<d.series.length;k++){var l=d.series[k];0!==
112
+ l.options.boostThreshold&&!1!==l.visible&&"heatmap"!==l.type&&(C[l.type]&&++p,b(l.processedXData,l.options.data,l.points)>=(l.options.boostThreshold||Number.MAX_VALUE)&&++h)}d.boostForceChartBoost=n&&(p===d.series.length&&0<h||5<h);return d.boostForceChartBoost},renderIfNotSeriesBoosting:x,allocateIfNotSeriesBoosting:w,eachAsync:p,hasWebGLSupport:r,pointDrawHandler:function(b){var d=!0;this.chart.options&&this.chart.options.boost&&(d="undefined"===typeof this.chart.options.boost.enabled?!0:this.chart.options.boost.enabled);
113
+ if(!d||!this.isSeriesBoosting)return b.call(this);this.chart.isBoosting=!0;if(b=q(this.chart,this))w(b,this),b.pushSeries(this);x(b,this)}};d.hasWebGLSupport=r;return l});r(d,"Extensions/Boost/BoostInit.js",[d["Core/Chart/Chart.js"],d["Core/Globals.js"],d["Core/Utilities.js"],d["Extensions/Boost/BoostUtils.js"],d["Extensions/Boost/BoostAttach.js"]],function(d,r,q,l,b){var x=q.addEvent,w=q.extend,p=q.fireEvent,C=q.wrap,y=r.Series,h=r.seriesTypes,e=function(){},n=l.eachAsync,m=l.pointDrawHandler,P=
114
+ l.allocateIfNotSeriesBoosting,t=l.renderIfNotSeriesBoosting,k=l.shouldForceChartSeriesBoosting,G;return function(){w(y.prototype,{renderCanvas:function(){function c(a,c){var b=!1,g="undefined"===typeof k.index,d=!0;if(!g){if(ka){var u=a[0];var e=a[1]}else u=a,e=q[c];aa?(ka&&(e=a.slice(1,3)),b=e[0],e=e[1]):ja&&(u=a.x,e=a.stackY,b=e-a.y);ta||(d=e>=C&&e<=y);if(null!==e&&u>=r&&u<=w&&d)if(a=f.toPixels(u,!0),z){if("undefined"===typeof U||a===D){aa||(b=e);if("undefined"===typeof da||e>ca)ca=e,da=c;if("undefined"===
115
+ typeof U||b<S)S=b,U=c}a!==D&&("undefined"!==typeof U&&(e=l.toPixels(ca,!0),T=l.toPixels(S,!0),ea(a,e,da),T!==e&&ea(a,T,U)),U=da=void 0,D=a)}else e=Math.ceil(l.toPixels(e,!0)),ea(a,e,c)}return!g}function d(){p(g,"renderedCanvas");delete g.buildKDTree;g.buildKDTree();qa.debug.timeKDTree&&console.timeEnd("kd tree building")}var g=this,h=g.options||{},a=!1,k=g.chart,f=this.xAxis,l=this.yAxis,m=h.xData||g.processedXData,q=h.yData||g.processedYData,x=h.data;a=f.getExtremes();var r=a.min,w=a.max;a=l.getExtremes();
116
+ var C=a.min,y=a.max,B={},D,z=!!g.sampling,E=!1!==h.enableMouseTracking,T=l.getThreshold(h.threshold),aa=g.pointArrayMap&&"low,high"===g.pointArrayMap.join(","),ja=!!h.stacking,na=g.cropStart||0,ta=g.requireSorting,ka=!m,S,ca,U,da,pa="x"===h.findNearestPointBy,la=this.xData||this.options.xData||this.processedXData||!1,ea=function(a,c,b){a=Math.ceil(a);G=pa?a:a+","+c;E&&!B[G]&&(B[G]=!0,k.inverted&&(a=f.len-a,c=l.len-c),ra.push({x:la?la[na+b]:!1,clientX:a,plotX:a,plotY:c,i:na+b}))};a=b(k,g);k.isBoosting=
117
+ !0;var qa=a.settings;if(this.visible){(this.points||this.graph)&&this.destroyGraphics();k.isChartSeriesBoosting()?(this.markerGroup&&this.markerGroup!==k.markerGroup&&this.markerGroup.destroy(),this.markerGroup=k.markerGroup,this.renderTarget&&(this.renderTarget=this.renderTarget.destroy())):(this.markerGroup===k.markerGroup&&(this.markerGroup=void 0),this.markerGroup=g.plotGroup("markerGroup","markers",!0,1,k.seriesGroup));var ra=this.points=[];g.buildKDTree=e;a&&(P(a,this),a.pushSeries(g),t(a,this,
118
+ k));k.renderer.forExport||(qa.debug.timeKDTree&&console.time("kd tree building"),n(ja?g.data:m||x,c,d))}}});["heatmap","treemap"].forEach(function(c){h[c]&&C(h[c].prototype,"drawPoints",m)});h.bubble&&(delete h.bubble.prototype.buildKDTree,C(h.bubble.prototype,"markerAttribs",function(c){return this.isSeriesBoosting?!1:c.apply(this,[].slice.call(arguments,1))}));h.scatter.prototype.fill=!0;w(h.area.prototype,{fill:!0,fillOpacity:!0,sampling:!0});w(h.column.prototype,{fill:!0,sampling:!0});d.prototype.callbacks.push(function(c){x(c,
119
+ "predraw",function(){c.boostForceChartBoost=void 0;c.boostForceChartBoost=k(c);c.isBoosting=!1;!c.isChartSeriesBoosting()&&c.didBoost&&(c.didBoost=!1);c.boostClear&&c.boostClear();c.canvas&&c.ogl&&c.isChartSeriesBoosting()&&(c.didBoost=!0,c.ogl.allocateBuffer(c));c.markerGroup&&c.xAxis&&0<c.xAxis.length&&c.yAxis&&0<c.yAxis.length&&c.markerGroup.translate(c.xAxis[0].pos,c.yAxis[0].pos)});x(c,"render",function(){c.ogl&&c.isChartSeriesBoosting()&&c.ogl.render(c)})})}});r(d,"Extensions/BoostCanvas.js",
120
+ [d["Core/Chart/Chart.js"],d["Core/Color/Color.js"],d["Core/Globals.js"],d["Series/LineSeries.js"],d["Core/Series/Series.js"],d["Core/Utilities.js"]],function(d,r,q,l,b,B){var x=r.parse,p=q.doc,C=q.noop,y=B.addEvent,h=B.extend,e=B.fireEvent,n=B.isNumber,m=B.merge,P=B.pick,t=B.wrap,k=b.seriesTypes,G;return function(){q.seriesTypes.heatmap&&t(q.seriesTypes.heatmap.prototype,"drawPoints",function(){var c=this.chart,b=this.getContext(),g=this.chart.inverted,d=this.xAxis,a=this.yAxis;b?(this.points.forEach(function(e){var f=
121
+ e.plotY;"undefined"===typeof f||isNaN(f)||null===e.y||(f=e.shapeArgs,e=c.styledMode?e.series.colorAttribs(e):e.series.pointAttribs(e),b.fillStyle=e.fill,g?b.fillRect(a.len-f.y+d.left,d.len-f.x+a.top,-f.height,-f.width):b.fillRect(f.x+d.left,f.y+a.top,f.width,f.height))}),this.canvasToSVG()):this.chart.showLoading("Your browser doesn't support HTML5 canvas, <br>please use a modern browser")});h(l.prototype,{getContext:function(){var c=this.chart,b=c.chartWidth,g=c.chartHeight,d=c.seriesGroup||this.group,
122
+ a=this,e=function(a,c,b,g,d,e,f){a.call(this,b,c,g,d,e,f)};c.isChartSeriesBoosting()&&(a=c,d=c.seriesGroup);var f=a.ctx;a.canvas||(a.canvas=p.createElement("canvas"),a.renderTarget=c.renderer.image("",0,0,b,g).addClass("highcharts-boost-canvas").add(d),a.ctx=f=a.canvas.getContext("2d"),c.inverted&&["moveTo","lineTo","rect","arc"].forEach(function(a){t(f,a,e)}),a.boostCopy=function(){a.renderTarget.attr({href:a.canvas.toDataURL("image/png")})},a.boostClear=function(){f.clearRect(0,0,a.canvas.width,
123
+ a.canvas.height);a===this&&a.renderTarget.attr({href:""})},a.boostClipRect=c.renderer.clipRect(),a.renderTarget.clip(a.boostClipRect));a.canvas.width!==b&&(a.canvas.width=b);a.canvas.height!==g&&(a.canvas.height=g);a.renderTarget.attr({x:0,y:0,width:b,height:g,style:"pointer-events: none",href:""});a.boostClipRect.attr(c.getBoostClipRect(a));return f},canvasToSVG:function(){this.chart.isChartSeriesBoosting()?this.boostClear&&this.boostClear():(this.boostCopy||this.chart.boostCopy)&&(this.boostCopy||
124
+ this.chart.boostCopy)()},cvsLineTo:function(c,b,g){c.lineTo(b,g)},renderCanvas:function(){var c=this,b=c.options,g=c.chart,d=this.xAxis,a=this.yAxis,k=(g.options.boost||{}).timeRendering||!1,f=0,l=c.processedXData,p=c.processedYData,w=b.data,t=d.getExtremes(),D=t.min,O=t.max;t=a.getExtremes();var I=t.min,V=t.max,ia={},Z,z=!!c.sampling,E=b.marker&&b.marker.radius,T=this.cvsDrawPoint,aa=b.lineWidth?this.cvsLineTo:void 0,ja=E&&1>=E?this.cvsMarkerSquare:this.cvsMarkerCircle,na=this.cvsStrokeBatch||1E3,
125
+ ta=!1!==b.enableMouseTracking,ka;t=b.threshold;var S=a.getThreshold(t),ca=n(t),U=S,da=this.fill,pa=c.pointArrayMap&&"low,high"===c.pointArrayMap.join(","),la=!!b.stacking,ea=c.cropStart||0;t=g.options.loading;var qa=c.requireSorting,ra,X=b.connectNulls,Ca=!l,ua,va,ba,oa,wa,W=la?c.data:l||w,Ja=c.fillOpacity?(new r(c.color)).setOpacity(P(b.fillOpacity,.75)).get():c.color,v=function(){da?(N.fillStyle=Ja,N.fill()):(N.strokeStyle=c.color,N.lineWidth=b.lineWidth,N.stroke())},Da=function(a,b,d,e){0===f&&
126
+ (N.beginPath(),aa&&(N.lineJoin="round"));g.scroller&&"highcharts-navigator-series"===c.options.className?(b+=g.scroller.top,d&&(d+=g.scroller.top)):b+=g.plotTop;a+=g.plotLeft;ra?N.moveTo(a,b):T?T(N,a,b,d,ka):aa?aa(N,a,b):ja&&ja.call(c,N,a,b,E,e);f+=1;f===na&&(v(),f=0);ka={clientX:a,plotY:b,yBottom:d}},Ka="x"===b.findNearestPointBy,Ea=this.xData||this.options.xData||this.processedXData||!1,xa=function(c,b,e){wa=Ka?c:c+","+b;ta&&!ia[wa]&&(ia[wa]=!0,g.inverted&&(c=d.len-c,b=a.len-b),La.push({x:Ea?Ea[ea+
127
+ e]:!1,clientX:c,plotX:c,plotY:b,i:ea+e}))};this.renderTarget&&this.renderTarget.attr({href:""});(this.points||this.graph)&&this.destroyGraphics();c.plotGroup("group","series",c.visible?"visible":"hidden",b.zIndex,g.seriesGroup);c.markerGroup=c.group;y(c,"destroy",function(){c.markerGroup=null});var La=this.points=[];var N=this.getContext();c.buildKDTree=C;this.boostClear&&this.boostClear();this.visible&&(99999<w.length&&(g.options.loading=m(t,{labelStyle:{backgroundColor:x("#ffffff").setOpacity(.75).get(),
128
+ padding:"1em",borderRadius:"0.5em"},style:{backgroundColor:"none",opacity:1}}),B.clearTimeout(G),g.showLoading("Drawing..."),g.options.loading=t),k&&console.time("canvas rendering"),q.eachAsync(W,function(b,e){var f=!1,u=!1,h=!1,k=!1,l="undefined"===typeof g.index,K=!0;if(!l){if(Ca){var n=b[0];var m=b[1];W[e+1]&&(h=W[e+1][0]);W[e-1]&&(k=W[e-1][0])}else n=b,m=p[e],W[e+1]&&(h=W[e+1]),W[e-1]&&(k=W[e-1]);h&&h>=D&&h<=O&&(f=!0);k&&k>=D&&k<=O&&(u=!0);if(pa){Ca&&(m=b.slice(1,3));var q=m[0];m=m[1]}else la&&
129
+ (n=b.x,m=b.stackY,q=m-b.y);b=null===m;qa||(K=m>=I&&m<=V);if(!b&&(n>=D&&n<=O&&K||f||u))if(n=Math.round(d.toPixels(n,!0)),z){if("undefined"===typeof ba||n===Z){pa||(q=m);if("undefined"===typeof oa||m>va)va=m,oa=e;if("undefined"===typeof ba||q<ua)ua=q,ba=e}n!==Z&&("undefined"!==typeof ba&&(m=a.toPixels(va,!0),S=a.toPixels(ua,!0),Da(n,ca?Math.min(m,U):m,ca?Math.max(S,U):S,e),xa(n,m,oa),S!==m&&xa(n,S,ba)),ba=oa=void 0,Z=n)}else m=Math.round(a.toPixels(m,!0)),Da(n,m,S,e),xa(n,m,e);ra=b&&!X;0===e%5E4&&(c.boostCopy||
130
+ c.chart.boostCopy)&&(c.boostCopy||c.chart.boostCopy)()}return!l},function(){var a=g.loadingDiv,b=g.loadingShown;v();c.canvasToSVG();k&&console.timeEnd("canvas rendering");e(c,"renderedCanvas");b&&(h(a.style,{transition:"opacity 250ms",opacity:0}),g.loadingShown=!1,G=setTimeout(function(){a.parentNode&&a.parentNode.removeChild(a);g.loadingDiv=g.loadingSpan=null},250));delete c.buildKDTree;c.buildKDTree()},g.renderer.forExport?Number.MAX_VALUE:void 0))}});k.scatter.prototype.cvsMarkerCircle=function(c,
131
+ b,d,e){c.moveTo(b,d);c.arc(b,d,e,0,2*Math.PI,!1)};k.scatter.prototype.cvsMarkerSquare=function(c,b,d,e){c.rect(b-e,d-e,2*e,2*e)};k.scatter.prototype.fill=!0;k.bubble&&(k.bubble.prototype.cvsMarkerCircle=function(c,b,d,e,a){c.moveTo(b,d);c.arc(b,d,this.radii&&this.radii[a],0,2*Math.PI,!1)},k.bubble.prototype.cvsStrokeBatch=1);h(k.area.prototype,{cvsDrawPoint:function(c,b,d,e,a){a&&b!==a.clientX&&(c.moveTo(a.clientX,a.yBottom),c.lineTo(a.clientX,a.plotY),c.lineTo(b,d),c.lineTo(b,e))},fill:!0,fillOpacity:!0,
132
+ sampling:!0});h(k.column.prototype,{cvsDrawPoint:function(c,b,d,e){c.rect(b-1,d,1,e-d)},fill:!0,sampling:!0});d.prototype.callbacks.push(function(b){y(b,"predraw",function(){b.renderTarget&&b.renderTarget.attr({href:""});b.canvas&&b.canvas.getContext("2d").clearRect(0,0,b.canvas.width,b.canvas.height)});y(b,"render",function(){b.boostCopy&&b.boostCopy()})})}});r(d,"Extensions/Boost/BoostOverrides.js",[d["Core/Chart/Chart.js"],d["Core/Globals.js"],d["Core/Series/Point.js"],d["Core/Utilities.js"],d["Extensions/Boost/BoostUtils.js"],
133
+ d["Extensions/Boost/Boostables.js"],d["Extensions/Boost/BoostableMap.js"]],function(d,r,q,l,b,B,w){var p=l.addEvent,x=l.error,y=l.getOptions,h=l.isArray,e=l.isNumber,n=l.pick,m=l.wrap,C=b.boostEnabled,t=b.shouldForceChartSeriesBoosting,k=r.Series,G=r.seriesTypes,c=y().plotOptions;d.prototype.isChartSeriesBoosting=function(){return n(this.options.boost&&this.options.boost.seriesThreshold,50)<=this.series.length||t(this)};d.prototype.getBoostClipRect=function(b){var c={x:this.plotLeft,y:this.plotTop,
134
+ width:this.plotWidth,height:this.plotHeight};b===this&&this.yAxis.forEach(function(b){c.y=Math.min(b.pos,c.y);c.height=Math.max(b.pos-this.plotTop+b.len,c.height)},this);return c};k.prototype.getPoint=function(b){var c=b,d=this.xData||this.options.xData||this.processedXData||!1;!b||b instanceof this.pointClass||(c=(new this.pointClass).init(this,this.options.data[b.i],d?d[b.i]:void 0),c.category=n(this.xAxis.categories?this.xAxis.categories[c.x]:c.x,c.x),c.dist=b.dist,c.distX=b.distX,c.plotX=b.plotX,
135
+ c.plotY=b.plotY,c.index=b.i,c.isInside=this.isPointInside(b));return c};m(k.prototype,"searchPoint",function(b){return this.getPoint(b.apply(this,[].slice.call(arguments,1)))});m(q.prototype,"haloPath",function(b){var c=this.series,d=this.plotX,a=this.plotY,e=c.chart.inverted;c.isSeriesBoosting&&e&&(this.plotX=c.yAxis.len-a,this.plotY=c.xAxis.len-d);var f=b.apply(this,Array.prototype.slice.call(arguments,1));c.isSeriesBoosting&&e&&(this.plotX=d,this.plotY=a);return f});m(k.prototype,"markerAttribs",
136
+ function(b,c){var d=c.plotX,a=c.plotY,e=this.chart.inverted;this.isSeriesBoosting&&e&&(c.plotX=this.yAxis.len-a,c.plotY=this.xAxis.len-d);var f=b.apply(this,Array.prototype.slice.call(arguments,1));this.isSeriesBoosting&&e&&(c.plotX=d,c.plotY=a);return f});p(k,"destroy",function(){var b=this,c=b.chart;c.markerGroup===b.markerGroup&&(b.markerGroup=null);c.hoverPoints&&(c.hoverPoints=c.hoverPoints.filter(function(c){return c.series===b}));c.hoverPoint&&c.hoverPoint.series===b&&(c.hoverPoint=null)});
137
+ m(k.prototype,"getExtremes",function(b){return this.isSeriesBoosting&&this.hasExtremes&&this.hasExtremes()?{}:b.apply(this,Array.prototype.slice.call(arguments,1))});["translate","generatePoints","drawTracker","drawPoints","render"].forEach(function(b){function c(c){var a=this.options.stacking&&("translate"===b||"generatePoints"===b);if(!this.isSeriesBoosting||a||!C(this.chart)||"heatmap"===this.type||"treemap"===this.type||!w[this.type]||0===this.options.boostThreshold)c.call(this);else if(this[b+
138
+ "Canvas"])this[b+"Canvas"]()}m(k.prototype,b,c);"translate"===b&&"column bar arearange columnrange heatmap treemap".split(" ").forEach(function(d){G[d]&&m(G[d].prototype,b,c)})});m(k.prototype,"processData",function(b){function c(a){return d.chart.isChartSeriesBoosting()||(a?a.length:0)>=(d.options.boostThreshold||Number.MAX_VALUE)}var d=this,a=this.options.data;C(this.chart)&&w[this.type]?(c(a)&&"heatmap"!==this.type&&"treemap"!==this.type&&!this.options.stacking&&this.hasExtremes&&this.hasExtremes(!0)||
139
+ (b.apply(this,Array.prototype.slice.call(arguments,1)),a=this.processedXData),(this.isSeriesBoosting=c(a))?(a=this.getFirstValidPoint(this.options.data),e(a)||h(a)||x(12,!1,this.chart),this.enterBoost()):this.exitBoost&&this.exitBoost()):b.apply(this,Array.prototype.slice.call(arguments,1))});p(k,"hide",function(){this.canvas&&this.renderTarget&&(this.ogl&&this.ogl.clear(),this.boostClear())});k.prototype.enterBoost=function(){this.alteredByBoost=[];["allowDG","directTouch","stickyTracking"].forEach(function(b){this.alteredByBoost.push({prop:b,
140
+ val:this[b],own:Object.hasOwnProperty.call(this,b)})},this);this.directTouch=this.allowDG=!1;this.finishedAnimating=this.stickyTracking=!0;this.labelBySeries&&(this.labelBySeries=this.labelBySeries.destroy())};k.prototype.exitBoost=function(){(this.alteredByBoost||[]).forEach(function(b){b.own?this[b.prop]=b.val:delete this[b.prop]},this);this.boostClear&&this.boostClear()};k.prototype.hasExtremes=function(b){var c=this.options,d=this.xAxis&&this.xAxis.options,a=this.yAxis&&this.yAxis.options,h=this.colorAxis&&
141
+ this.colorAxis.options;return c.data.length>(c.boostThreshold||Number.MAX_VALUE)&&e(a.min)&&e(a.max)&&(!b||e(d.min)&&e(d.max))&&(!h||e(h.min)&&e(h.max))};k.prototype.destroyGraphics=function(){var b=this,c=this.points,d,a;if(c)for(a=0;a<c.length;a+=1)(d=c[a])&&d.destroyElements&&d.destroyElements();["graph","area","tracker"].forEach(function(a){b[a]&&(b[a]=b[a].destroy())})};B.forEach(function(b){c[b]&&(c[b].boostThreshold=5E3,c[b].boostData=[],G[b].prototype.fillOpacity=!0)})});r(d,"Extensions/Boost/NamedColors.js",
142
+ [d["Core/Color/Color.js"]],function(d){var r={aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",
143
+ darkgray:"#a9a9a9",darkgreen:"#006400",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dodgerblue:"#1e90ff",feldspar:"#d19275",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",
144
+ ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gray:"#808080",green:"#008000",greenyellow:"#adff2f",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgrey:"#d3d3d3",lightgreen:"#90ee90",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",
145
+ lightslateblue:"#8470ff",lightslategray:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370d8",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",
146
+ navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#d87093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",
147
+ silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",snow:"#fffafa",springgreen:"#00ff7f",steelblue:"#4682b4",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",tomato:"#ff6347",turquoise:"#40e0d0",violet:"#ee82ee",violetred:"#d02090",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"};return d.names=r});r(d,"Extensions/Boost/Boost.js",[d["Extensions/Boost/BoostUtils.js"],d["Extensions/Boost/BoostInit.js"],d["Extensions/BoostCanvas.js"],d["Core/Utilities.js"]],
148
+ function(d,r,q,l){l=l.error;d=d.hasWebGLSupport;d()?r():"undefined"!==typeof q?q():l(26)});r(d,"masters/modules/boost.src.js",[],function(){})});
136
149
  //# sourceMappingURL=boost.js.map