dealpos 25.44.0 → 25.45.0

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 (429) hide show
  1. package/browser/{chunk-7VKFVS7K.js → chunk-235POOLV.js} +1 -1
  2. package/browser/{chunk-Z2LCSWV4.js → chunk-24A2APSJ.js} +1 -1
  3. package/browser/{chunk-TSIYPTYI.js → chunk-2525CDKJ.js} +1 -1
  4. package/browser/chunk-2557JAG4.js +1 -0
  5. package/browser/chunk-27KLJCCF.js +1 -0
  6. package/browser/chunk-2CWEU47S.js +1 -0
  7. package/browser/chunk-2EEKMQEX.js +1 -0
  8. package/browser/chunk-2IE6U5ND.js +1 -0
  9. package/browser/chunk-2ILW7WWJ.js +2 -0
  10. package/browser/chunk-2IOQJSBS.js +1 -0
  11. package/browser/chunk-2MGVRRAP.js +57 -0
  12. package/browser/{chunk-6PGUQ3CR.js → chunk-2PIAS2C5.js} +1 -1
  13. package/browser/chunk-2SFQGHFV.js +9 -0
  14. package/browser/{chunk-LLQVL4JL.js → chunk-2SJZWKFD.js} +1 -1
  15. package/browser/{chunk-QUHI6RHC.js → chunk-2YGMAT2F.js} +1 -1
  16. package/browser/chunk-32GJXDHR.js +1 -0
  17. package/browser/{chunk-6774R2EL.js → chunk-3AHCNKRE.js} +6 -6
  18. package/browser/{chunk-7ENDP7TZ.js → chunk-3JW3NITX.js} +1 -1
  19. package/browser/chunk-3UKPPC6K.js +131 -0
  20. package/browser/chunk-3XJHHRJT.js +92 -0
  21. package/browser/chunk-3XRT75ZN.js +1 -0
  22. package/browser/{chunk-BJBJJUF7.js → chunk-44LXIDEF.js} +1 -1
  23. package/browser/chunk-4DH3BDE3.js +151 -0
  24. package/browser/chunk-4KOOWCML.js +4 -0
  25. package/browser/{chunk-OXQJYOVG.js → chunk-4MFA5Y4Y.js} +1 -1
  26. package/browser/chunk-4UJTVSL2.js +191 -0
  27. package/browser/chunk-4XD6LZU6.js +1 -0
  28. package/browser/{chunk-S4Z6ZYZ4.js → chunk-4ZMJFXGW.js} +1 -1
  29. package/browser/{chunk-HCSPFPLE.js → chunk-5574BNHI.js} +1 -1
  30. package/browser/chunk-5J2SNOT2.js +1 -0
  31. package/browser/chunk-5JQ2TYZU.js +2 -0
  32. package/browser/chunk-5NRBDWB4.js +663 -0
  33. package/browser/chunk-5RLB3NV4.js +315 -0
  34. package/browser/chunk-5VGCSK5N.js +1 -0
  35. package/browser/chunk-5XDBC6O7.js +1 -0
  36. package/browser/chunk-5YCIPH6P.js +1 -0
  37. package/browser/chunk-62E2JEWQ.js +1 -0
  38. package/browser/chunk-63WMMXIG.js +1 -0
  39. package/browser/chunk-66DT3BE2.js +1 -0
  40. package/browser/{chunk-MK4KDIMG.js → chunk-6B56KYAF.js} +1 -1
  41. package/browser/chunk-6BWXSO4B.js +1 -0
  42. package/browser/chunk-6EP37ICB.js +334 -0
  43. package/browser/chunk-6IVR565J.js +82 -0
  44. package/browser/chunk-6M6QFFLT.js +1 -0
  45. package/browser/{chunk-RKCLO5OA.js → chunk-6QKBTWAT.js} +1 -1
  46. package/browser/chunk-74B5JZ5G.js +1 -0
  47. package/browser/chunk-7H3GMZJN.js +5 -0
  48. package/browser/{chunk-4SKJU2FQ.js → chunk-7NQ56KZ6.js} +1 -1
  49. package/browser/chunk-7WXTIXID.js +1 -0
  50. package/browser/chunk-7YKHGYIG.js +1 -0
  51. package/browser/chunk-7ZTWH3L6.js +1 -0
  52. package/browser/{chunk-QHRP323Q.js → chunk-A3FTQA6E.js} +1 -1
  53. package/browser/chunk-AF5V3BUB.js +1 -0
  54. package/browser/{chunk-XMYLHF4C.js → chunk-AFCABMLQ.js} +1 -1
  55. package/browser/chunk-AOQIZ6M2.js +376 -0
  56. package/browser/chunk-AXUFQOIY.js +1 -0
  57. package/browser/chunk-B7QNQTF3.js +2 -0
  58. package/browser/chunk-BFHHIWRM.js +149 -0
  59. package/browser/chunk-CABP6X3M.js +2 -0
  60. package/browser/chunk-CANN2XN6.js +39 -0
  61. package/browser/{chunk-OYSMMJMB.js → chunk-CF4MHWEX.js} +1 -1
  62. package/browser/chunk-CFSYN7MV.js +16 -0
  63. package/browser/chunk-CJFDTLOQ.js +54 -0
  64. package/browser/{chunk-ODOWAGLZ.js → chunk-CKN6D7N7.js} +1 -1
  65. package/browser/{chunk-JPXXXD26.js → chunk-CKRLMZHY.js} +1 -1
  66. package/browser/chunk-CNCKIVTQ.js +1 -0
  67. package/browser/{chunk-BMW3GOBJ.js → chunk-CQPKVO7W.js} +1 -1
  68. package/browser/chunk-CRMTCX6F.js +3 -0
  69. package/browser/chunk-CRU6KO53.js +1 -0
  70. package/browser/{chunk-QVPSWY5E.js → chunk-CTPHJSLU.js} +1 -1
  71. package/browser/chunk-CUY227OT.js +118 -0
  72. package/browser/chunk-D75PDB6P.js +1 -0
  73. package/browser/{chunk-EVWNBQBC.js → chunk-D7J7CQGT.js} +1 -1
  74. package/browser/{chunk-AEHOR4RJ.js → chunk-DDM5K7MP.js} +1 -1
  75. package/browser/chunk-DMZ5HEOT.js +1 -0
  76. package/browser/chunk-E5HC3WFJ.js +1 -0
  77. package/browser/chunk-EE3OKRUQ.js +1 -0
  78. package/browser/chunk-EI2XG4ML.js +1 -0
  79. package/browser/chunk-EIBM6U5N.js +1 -0
  80. package/browser/chunk-EQLHPWVB.js +1 -0
  81. package/browser/chunk-ERFYUZ7W.js +1 -0
  82. package/browser/chunk-EUQGYTUL.js +1 -0
  83. package/browser/chunk-EXIKKRCD.js +15 -0
  84. package/browser/{chunk-WDQ4UKKY.js → chunk-FPGIRAZZ.js} +1 -1
  85. package/browser/chunk-FW2LVBF2.js +1 -0
  86. package/browser/chunk-G2QZRGKV.js +2 -0
  87. package/browser/chunk-GDRHD33K.js +157 -0
  88. package/browser/chunk-GERGGB25.js +1 -0
  89. package/browser/chunk-GHGFRLKE.js +1 -0
  90. package/browser/chunk-GIW2PDIG.js +311 -0
  91. package/browser/chunk-GZXTL4RE.js +1 -0
  92. package/browser/chunk-HD6ETXDZ.js +2 -0
  93. package/browser/chunk-HEGIEXS3.js +21 -0
  94. package/browser/{chunk-NMR7EZWC.js → chunk-HG6BRXAC.js} +1 -1
  95. package/browser/{chunk-AGTR6PKD.js → chunk-HNLSUZUH.js} +1 -1
  96. package/browser/{chunk-5M3JINH2.js → chunk-HNU2JIBP.js} +1 -1
  97. package/browser/chunk-HPWVZRZF.js +480 -0
  98. package/browser/chunk-HPXDTBZD.js +1 -0
  99. package/browser/{chunk-XPWSJXFB.js → chunk-IEYBKFX7.js} +1 -1
  100. package/browser/chunk-IH5OCDKI.js +1 -0
  101. package/browser/chunk-IMO77OHS.js +4 -0
  102. package/browser/chunk-IRPQWJZH.js +5 -0
  103. package/browser/chunk-IWPVMLPY.js +1 -0
  104. package/browser/chunk-IZK2IN4R.js +1 -0
  105. package/browser/chunk-J4J3XVRF.js +6 -0
  106. package/browser/{chunk-UWGTJ4UH.js → chunk-J55W7XV7.js} +1 -1
  107. package/browser/chunk-JHYJTTAR.js +5 -0
  108. package/browser/chunk-JJ55MEGU.js +3 -0
  109. package/browser/{chunk-DH3PTQ3P.js → chunk-JKBDSVHR.js} +1 -1
  110. package/browser/chunk-JL56QKED.js +1 -0
  111. package/browser/chunk-JQOVAMQC.js +1 -0
  112. package/browser/{chunk-O2QTP22K.js → chunk-JR6SBNDP.js} +2 -2
  113. package/browser/chunk-JTLGGNCW.js +1 -0
  114. package/browser/chunk-K2M625FR.js +3 -0
  115. package/browser/chunk-K2U4QSXW.js +1 -0
  116. package/browser/chunk-K5ERLQ63.js +3 -0
  117. package/browser/{chunk-7IDMO3VZ.js → chunk-K6YQ5CRH.js} +1 -1
  118. package/browser/chunk-KHDFH3GS.js +1 -0
  119. package/browser/chunk-KHDUUG2S.js +1 -0
  120. package/browser/chunk-KHFL6T5N.js +33 -0
  121. package/browser/chunk-KJROORJO.js +3 -0
  122. package/browser/chunk-KLKZQABE.js +1 -0
  123. package/browser/chunk-L6YGMZJK.js +1 -0
  124. package/browser/chunk-LBIXL2NM.js +5 -0
  125. package/browser/chunk-LBWSX76J.js +1 -0
  126. package/browser/chunk-LC5JP6E6.js +1 -0
  127. package/browser/{chunk-DAIHPIA2.js → chunk-LIH722A3.js} +1 -1
  128. package/browser/chunk-LLXEUJDC.js +1 -0
  129. package/browser/chunk-LPD3H6QQ.js +1 -0
  130. package/browser/{chunk-OKIBXXRJ.js → chunk-LQDIK5ZH.js} +1 -1
  131. package/browser/{chunk-XA6BOS45.js → chunk-M5IOFMBZ.js} +1 -1
  132. package/browser/chunk-M67ULXNR.js +2 -0
  133. package/browser/chunk-M6PA26FM.js +1 -0
  134. package/browser/chunk-M6UB4WVK.js +1 -0
  135. package/browser/chunk-MCPXNQRW.js +5 -0
  136. package/browser/chunk-MIW5EYCH.js +1 -0
  137. package/browser/chunk-MJV24UTS.js +3 -0
  138. package/browser/{chunk-SGFSKIUE.js → chunk-MLFDP74G.js} +1 -1
  139. package/browser/chunk-MSSTCYNC.js +1 -0
  140. package/browser/chunk-MVCDG4KS.js +14 -0
  141. package/browser/chunk-NBMH5YL2.css +1 -0
  142. package/browser/chunk-NCXT27M5.js +1 -0
  143. package/browser/chunk-NE57UXZU.js +1 -0
  144. package/browser/chunk-NEJRKLYO.js +1 -0
  145. package/browser/{chunk-TSEZZNO5.js → chunk-NJOOFJNE.js} +1 -1
  146. package/browser/chunk-NSNUUKNK.js +1 -0
  147. package/browser/chunk-NUVM5VMH.js +1 -0
  148. package/browser/{chunk-XZR3IMWZ.js → chunk-NWBLFLVC.js} +1 -1
  149. package/browser/{chunk-57Q3ENW2.js → chunk-NYTOBW2G.js} +1 -1
  150. package/browser/chunk-ODEK2WQO.js +137 -0
  151. package/browser/chunk-ODGFQ7QJ.js +1 -0
  152. package/browser/{chunk-APF7PDRI.js → chunk-OIMBKUXO.js} +1 -1
  153. package/browser/{chunk-XQ6JBIMX.js → chunk-OLC5OIWO.js} +1 -1
  154. package/browser/chunk-ORP2SVPR.js +1 -0
  155. package/browser/chunk-OVSWMLB3.js +1 -0
  156. package/browser/chunk-OYNVXKZ3.js +257 -0
  157. package/browser/{chunk-6ABP4TP7.js → chunk-P3BUVJKX.js} +1 -1
  158. package/browser/chunk-PF3TLOCL.js +1 -0
  159. package/browser/chunk-PHWHZQFM.js +1 -0
  160. package/browser/chunk-PO2OKV6Q.js +1 -0
  161. package/browser/chunk-PRROMENK.js +1 -0
  162. package/browser/chunk-PT3R3NCF.js +1 -0
  163. package/browser/chunk-PVSXCHI3.js +1 -0
  164. package/browser/chunk-PY3PDRRW.js +5 -0
  165. package/browser/chunk-PZVPROT6.js +22 -0
  166. package/browser/chunk-Q2GPSDAM.js +112 -0
  167. package/browser/chunk-Q32BQBU5.js +2 -0
  168. package/browser/chunk-Q5FKQWU2.js +149 -0
  169. package/browser/chunk-Q7YUJXQP.js +1 -0
  170. package/browser/chunk-QBNQANTG.js +24 -0
  171. package/browser/{chunk-VHAM2DWK.js → chunk-QNJH27F5.js} +1 -1
  172. package/browser/chunk-QOTJ7B7C.js +1 -0
  173. package/browser/chunk-R4K5X4RE.js +1 -0
  174. package/browser/chunk-RCMYO542.js +1 -0
  175. package/browser/chunk-RHVNZ2DF.js +11 -0
  176. package/browser/{chunk-B5VF422M.js → chunk-RINV4BX7.js} +1 -1
  177. package/browser/chunk-RJJZC7JC.js +1 -0
  178. package/browser/chunk-RUE7RBU6.js +1 -0
  179. package/browser/chunk-S6FVFOZM.js +1 -0
  180. package/browser/{chunk-4JM455M6.js → chunk-SII6VICE.js} +1 -1
  181. package/browser/chunk-SLDIBIUY.js +1 -0
  182. package/browser/chunk-SNAKHGZS.js +1 -0
  183. package/browser/chunk-SQVN35HO.js +1 -0
  184. package/browser/chunk-SUP23S2E.js +209 -0
  185. package/browser/{chunk-6PWFGFWQ.js → chunk-SWQE65GY.js} +1 -1
  186. package/browser/chunk-SZ24MNHM.js +1 -0
  187. package/browser/chunk-SZDTKNUH.js +1 -0
  188. package/browser/chunk-T4K6XBGC.js +2 -0
  189. package/browser/chunk-T4MVTLYE.js +1 -0
  190. package/browser/chunk-TEH7D4QV.js +1 -0
  191. package/browser/chunk-TIBTGPW2.js +2 -0
  192. package/browser/chunk-TKJUJYEI.js +1095 -0
  193. package/browser/chunk-TKZU227J.js +1 -0
  194. package/browser/chunk-TQZVYC7J.js +1 -0
  195. package/browser/chunk-TW3MVM2R.js +2 -0
  196. package/browser/chunk-TY7JJASH.js +7 -0
  197. package/browser/chunk-UAOWLJEF.js +2 -0
  198. package/browser/chunk-UARWMJ5H.js +2 -0
  199. package/browser/chunk-UAVXXCN2.js +1 -0
  200. package/browser/chunk-UZMFXHQD.js +2 -0
  201. package/browser/chunk-V2PGBJHJ.js +4 -0
  202. package/browser/chunk-V432I4ZE.js +21 -0
  203. package/browser/chunk-VJQA5UAH.js +1 -0
  204. package/browser/chunk-WFIKDWZE.js +1 -0
  205. package/browser/chunk-WFMAM73Y.js +1 -0
  206. package/browser/chunk-WGBW2YLG.js +2 -0
  207. package/browser/chunk-WGWBCLKM.js +1 -0
  208. package/browser/{chunk-YNDNTAII.js → chunk-WIYO452T.js} +1 -1
  209. package/browser/chunk-WOMVTVEQ.js +2 -0
  210. package/browser/{chunk-C2KD7R6L.js → chunk-WPKJOXVT.js} +1 -1
  211. package/browser/chunk-WPTBNQ2V.js +1 -0
  212. package/browser/chunk-WR3A6SD3.js +18 -0
  213. package/browser/{chunk-YZHVQD5P.js → chunk-WSFK2BTV.js} +1 -1
  214. package/browser/chunk-WT6PMWGG.js +1 -0
  215. package/browser/chunk-WVCZAPRZ.js +1 -0
  216. package/browser/chunk-X34LKMFX.js +5 -0
  217. package/browser/chunk-XDJAJP7W.js +1 -0
  218. package/browser/chunk-XF27FA5V.js +1 -0
  219. package/browser/{chunk-K7KRPIN7.js → chunk-XLE4M4WS.js} +1 -1
  220. package/browser/chunk-XOOFBNDP.js +1 -0
  221. package/browser/{chunk-42T2PR4J.js → chunk-XYHPCRIZ.js} +1 -1
  222. package/browser/{chunk-WO3LDDSF.js → chunk-Y3BA3YGC.js} +1 -1
  223. package/browser/{chunk-TLJ2NGVG.js → chunk-Y5GN5XOG.js} +1 -1
  224. package/browser/chunk-YBLSVIMZ.js +1 -0
  225. package/browser/chunk-YFMVQJRL.js +14 -0
  226. package/browser/{chunk-WEQFFBAF.js → chunk-YNRHLKM5.js} +1 -1
  227. package/browser/chunk-YX5ADQPF.js +152 -0
  228. package/browser/chunk-Z4NZP4NH.js +1 -0
  229. package/browser/chunk-ZDX5LF2K.js +507 -0
  230. package/browser/{chunk-EWZ63XSS.js → chunk-ZGPKGJBM.js} +1 -1
  231. package/browser/{chunk-7CMBWKFF.js → chunk-ZHTSXEVO.js} +1 -1
  232. package/browser/chunk-ZJ4AGOKX.js +1 -0
  233. package/browser/{chunk-AER2U57P.js → chunk-ZKQFRAZ2.js} +1 -1
  234. package/browser/chunk-ZOPOSPVC.js +90 -0
  235. package/browser/chunk-ZRAK4HYU.js +1 -0
  236. package/browser/chunk-ZRNGBR7A.js +3 -0
  237. package/browser/chunk-ZWPJWDYN.js +1 -0
  238. package/browser/index.html +2 -2
  239. package/browser/main-H2XKB5YR.js +3 -0
  240. package/browser/main-WPNH2WGQ.css +1 -0
  241. package/browser/polyfills-KVI7ACYJ.js +2 -0
  242. package/browser/scripts-Z64TTWXD.js +10 -0
  243. package/browser/styles-CA5KWC36.css +1 -0
  244. package/package.json +1 -1
  245. package/browser/chunk-23PJKOTU.js +0 -108
  246. package/browser/chunk-2FWXO7SV.js +0 -1
  247. package/browser/chunk-2HUEFC2T.js +0 -1
  248. package/browser/chunk-2KCCP5UQ.js +0 -1
  249. package/browser/chunk-2OWHEMAL.js +0 -671
  250. package/browser/chunk-2PX7ZCAH.js +0 -231
  251. package/browser/chunk-2YDEXJE5.js +0 -2
  252. package/browser/chunk-35WLGG74.js +0 -1
  253. package/browser/chunk-3AW2HE63.js +0 -1
  254. package/browser/chunk-3CUWPIMQ.js +0 -2
  255. package/browser/chunk-3GOO5E5D.js +0 -33
  256. package/browser/chunk-3LBZDIW2.js +0 -1
  257. package/browser/chunk-3PTKHKTZ.js +0 -82
  258. package/browser/chunk-3YKVLHZG.js +0 -7
  259. package/browser/chunk-476U7URX.js +0 -5
  260. package/browser/chunk-4G344XSZ.js +0 -1
  261. package/browser/chunk-4NHG4RRM.js +0 -1
  262. package/browser/chunk-4PPRFE5H.js +0 -1
  263. package/browser/chunk-4QQTEPQT.js +0 -51
  264. package/browser/chunk-4TW7XHFP.js +0 -1
  265. package/browser/chunk-4UYZJCFI.js +0 -5
  266. package/browser/chunk-5HX73JZ3.js +0 -1
  267. package/browser/chunk-5JJSLRVS.js +0 -70
  268. package/browser/chunk-5QXTT2Q4.js +0 -1
  269. package/browser/chunk-5YRS6BWA.js +0 -2
  270. package/browser/chunk-6647Y35T.js +0 -3
  271. package/browser/chunk-6CWGCLY5.js +0 -3
  272. package/browser/chunk-6JAL37Y4.js +0 -93
  273. package/browser/chunk-6SNK3MMW.js +0 -1
  274. package/browser/chunk-7DCB7DB2.js +0 -1
  275. package/browser/chunk-7J36T25H.js +0 -1
  276. package/browser/chunk-7NGYBSTA.js +0 -127
  277. package/browser/chunk-7QWJJPNG.js +0 -1
  278. package/browser/chunk-7V7QIPRV.js +0 -1
  279. package/browser/chunk-7WKHBXTJ.js +0 -1
  280. package/browser/chunk-A4HMT7IS.js +0 -16
  281. package/browser/chunk-AJLKESQV.js +0 -1
  282. package/browser/chunk-ALNSA73T.js +0 -1
  283. package/browser/chunk-ARKU4MG5.js +0 -140
  284. package/browser/chunk-B5SDXVDR.js +0 -1
  285. package/browser/chunk-B6LPY2IZ.js +0 -2
  286. package/browser/chunk-BBGWXLHJ.js +0 -1
  287. package/browser/chunk-BMMZ2W3C.js +0 -1
  288. package/browser/chunk-BQOD2C6M.js +0 -1
  289. package/browser/chunk-BSQJETW6.js +0 -1
  290. package/browser/chunk-BX366TSG.js +0 -1
  291. package/browser/chunk-BXQFYW4R.js +0 -1
  292. package/browser/chunk-C2W6JXEB.js +0 -3
  293. package/browser/chunk-C6DVD3VG.js +0 -1
  294. package/browser/chunk-CM4CUWDT.js +0 -1
  295. package/browser/chunk-CN4B6FUG.js +0 -1
  296. package/browser/chunk-CSQD5JSK.js +0 -1
  297. package/browser/chunk-CWITQVZH.js +0 -1
  298. package/browser/chunk-CXTL5YYJ.js +0 -2
  299. package/browser/chunk-DEBIFZGN.js +0 -1
  300. package/browser/chunk-DEVO5OTP.js +0 -1
  301. package/browser/chunk-E4DPE3J5.js +0 -1
  302. package/browser/chunk-ECOW7JD7.js +0 -5
  303. package/browser/chunk-EDXMXTEK.js +0 -1
  304. package/browser/chunk-EEEAUYZ6.js +0 -193
  305. package/browser/chunk-ENVG4BZI.js +0 -105
  306. package/browser/chunk-EOVI4KWG.js +0 -2
  307. package/browser/chunk-F4F5V5CZ.js +0 -4
  308. package/browser/chunk-FA4ADELT.js +0 -1
  309. package/browser/chunk-FHMDB7MQ.js +0 -1
  310. package/browser/chunk-FIHWJAIR.js +0 -2
  311. package/browser/chunk-FKDZ5OWB.js +0 -297
  312. package/browser/chunk-FP4HFB5J.js +0 -1
  313. package/browser/chunk-FRDFUCRO.js +0 -2
  314. package/browser/chunk-G454AF6P.js +0 -1
  315. package/browser/chunk-G6USNHW7.js +0 -1
  316. package/browser/chunk-GBQSPBVZ.js +0 -1
  317. package/browser/chunk-GIDGCFLX.js +0 -5
  318. package/browser/chunk-GV2PUDWZ.js +0 -3
  319. package/browser/chunk-GYNHYLZQ.js +0 -1
  320. package/browser/chunk-H3OZSV6V.js +0 -11
  321. package/browser/chunk-H7F34T25.js +0 -17
  322. package/browser/chunk-HKJLMHAD.js +0 -1
  323. package/browser/chunk-HKZQN5TX.js +0 -14
  324. package/browser/chunk-HOM424UE.js +0 -1
  325. package/browser/chunk-HT35KHLT.js +0 -1
  326. package/browser/chunk-HWEYOOFD.js +0 -1
  327. package/browser/chunk-IAZFUBFX.js +0 -1
  328. package/browser/chunk-IHFA5AEL.js +0 -1
  329. package/browser/chunk-IOJ4YVHD.js +0 -397
  330. package/browser/chunk-IQHU4MKW.js +0 -1
  331. package/browser/chunk-IQQGAD2W.js +0 -222
  332. package/browser/chunk-JLXCN2NR.js +0 -1
  333. package/browser/chunk-JOXTERIM.js +0 -2
  334. package/browser/chunk-JUTITMC7.js +0 -18
  335. package/browser/chunk-JXYRDQVO.js +0 -22
  336. package/browser/chunk-K4LAZCXZ.js +0 -3
  337. package/browser/chunk-KHILQH3P.js +0 -1
  338. package/browser/chunk-KKRF45KI.js +0 -141
  339. package/browser/chunk-KTCV3KOE.js +0 -30
  340. package/browser/chunk-KWTU2B2D.js +0 -1
  341. package/browser/chunk-KXCEORNJ.js +0 -1
  342. package/browser/chunk-KZDE63UL.js +0 -1
  343. package/browser/chunk-L7RHCBKX.js +0 -1
  344. package/browser/chunk-L7YSVT7G.js +0 -1
  345. package/browser/chunk-LE3BKIDY.js +0 -15
  346. package/browser/chunk-LFGL4ACG.css +0 -1
  347. package/browser/chunk-LI2NYODY.js +0 -1
  348. package/browser/chunk-LMJVRREP.js +0 -180
  349. package/browser/chunk-LVYO35LX.js +0 -1
  350. package/browser/chunk-M3HHWYKD.js +0 -1
  351. package/browser/chunk-M4TPGDOJ.js +0 -21
  352. package/browser/chunk-M5PJHCX4.js +0 -1
  353. package/browser/chunk-MFCXEITE.js +0 -2
  354. package/browser/chunk-MPSML3FA.js +0 -1
  355. package/browser/chunk-MUJ6277G.js +0 -5
  356. package/browser/chunk-NRYWKVQ2.js +0 -1
  357. package/browser/chunk-NVWJ6HZD.js +0 -1
  358. package/browser/chunk-OISKO6QJ.js +0 -1
  359. package/browser/chunk-PANAC2WS.js +0 -24
  360. package/browser/chunk-PD445FIT.js +0 -1
  361. package/browser/chunk-PIYM2FOP.js +0 -1
  362. package/browser/chunk-PQDYHLJ2.js +0 -1
  363. package/browser/chunk-Q4CKRRGM.js +0 -430
  364. package/browser/chunk-QHBWVJIQ.js +0 -1
  365. package/browser/chunk-QHGWF2RX.js +0 -1
  366. package/browser/chunk-QXU66IK7.js +0 -1
  367. package/browser/chunk-RABEENVP.js +0 -6
  368. package/browser/chunk-RF2OEHPO.js +0 -285
  369. package/browser/chunk-RFO7MTFT.js +0 -2
  370. package/browser/chunk-RHUDY63D.js +0 -4
  371. package/browser/chunk-RMOQAAKS.js +0 -5
  372. package/browser/chunk-RVXZOIFQ.js +0 -1
  373. package/browser/chunk-RW4LIELV.js +0 -1
  374. package/browser/chunk-RX7JS4CO.js +0 -1
  375. package/browser/chunk-S22XRS4J.js +0 -1
  376. package/browser/chunk-S2QC3PGR.js +0 -112
  377. package/browser/chunk-S5ZMZ6ZK.js +0 -1
  378. package/browser/chunk-SEFALU4U.js +0 -1
  379. package/browser/chunk-SJPYABFR.js +0 -2
  380. package/browser/chunk-SMZ4VMLX.js +0 -1
  381. package/browser/chunk-SRRURHLT.js +0 -9
  382. package/browser/chunk-SVV5ZTGZ.js +0 -1
  383. package/browser/chunk-T6WJAS3H.js +0 -1
  384. package/browser/chunk-TAVO3B4U.js +0 -1
  385. package/browser/chunk-TGFYFTBV.js +0 -1
  386. package/browser/chunk-TMADIQOR.js +0 -1
  387. package/browser/chunk-U6TUYK6J.js +0 -1
  388. package/browser/chunk-UBWKI2NL.js +0 -158
  389. package/browser/chunk-UMDNTO5M.js +0 -1
  390. package/browser/chunk-UO2JNN6O.js +0 -3
  391. package/browser/chunk-USUWU5NE.js +0 -1
  392. package/browser/chunk-UXRO4UFY.js +0 -8
  393. package/browser/chunk-V26H2UIF.js +0 -947
  394. package/browser/chunk-V2LFW5D3.js +0 -1
  395. package/browser/chunk-V5ZK5RT7.js +0 -178
  396. package/browser/chunk-V7UEUV6F.js +0 -2
  397. package/browser/chunk-VFTGIP5A.js +0 -78
  398. package/browser/chunk-VIJLHA7Q.js +0 -1
  399. package/browser/chunk-VIPGZJM3.js +0 -1
  400. package/browser/chunk-VQBXUZ6U.js +0 -2
  401. package/browser/chunk-VZEPVRCY.js +0 -5
  402. package/browser/chunk-W5U5OOLP.js +0 -57
  403. package/browser/chunk-WAMC5CEY.js +0 -1
  404. package/browser/chunk-WLGAEGPV.js +0 -1
  405. package/browser/chunk-WQDFMYT7.js +0 -449
  406. package/browser/chunk-WQDUNDSA.js +0 -1
  407. package/browser/chunk-WXQELZWQ.js +0 -1
  408. package/browser/chunk-XBRBYCWJ.js +0 -2
  409. package/browser/chunk-XDINGYNX.js +0 -2
  410. package/browser/chunk-XJ7SOVB2.js +0 -2
  411. package/browser/chunk-XKUQPHUA.js +0 -1
  412. package/browser/chunk-XPZUZ5XJ.js +0 -1
  413. package/browser/chunk-XYB3YDKL.js +0 -2
  414. package/browser/chunk-XZELBTQR.js +0 -94
  415. package/browser/chunk-Y75LR4GR.js +0 -1
  416. package/browser/chunk-YAFVFDTG.js +0 -156
  417. package/browser/chunk-YEAPJ2OC.js +0 -1
  418. package/browser/chunk-YEDKRNXU.js +0 -1
  419. package/browser/chunk-YRGGDRUH.js +0 -25
  420. package/browser/chunk-Z65FTA7V.js +0 -1
  421. package/browser/chunk-ZHY3BUQJ.js +0 -3
  422. package/browser/chunk-ZVDY66SR.js +0 -1
  423. package/browser/chunk-ZZGSAFGO.js +0 -1
  424. package/browser/chunk-ZZYILM3B.js +0 -1
  425. package/browser/main-GH4LELYQ.js +0 -3
  426. package/browser/main-YYIZ54AR.css +0 -1
  427. package/browser/polyfills-22A7LMHG.js +0 -2
  428. package/browser/scripts-3E2G6IZ4.js +0 -10
  429. package/browser/styles-NK7HCBOK.css +0 -1
@@ -1,2 +0,0 @@
1
- import{a as Ot,b as Nt,e as Kt}from"./chunk-7DCB7DB2.js";var te=Kt((_t,zt)=>{(function(kt,H){typeof zt=="object"&&zt.exports?(H.default=H,zt.exports=kt&&kt.document?H(kt):H):typeof define=="function"&&define.amd?define("highcharts/highcharts",function(){return H(kt)}):(kt.Highcharts&&kt.Highcharts.error(16,!0),kt.Highcharts=H(kt))})(typeof window<"u"?window:_t,function(kt){"use strict";var H={};function yt(Q,it,ht,dt){!Q.hasOwnProperty(it)&&(Q[it]=dt.apply(null,ht),kt&&typeof CustomEvent=="function"&&kt.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:it,module:Q[it]}})))}return yt(H,"Core/Globals.js",[],function(){var Q,it;return(it=Q||(Q={})).SVG_NS="http://www.w3.org/2000/svg",it.product="Highcharts",it.version="11.4.8",it.win=kt!==void 0?kt:{},it.doc=it.win.document,it.svg=it.doc&&it.doc.createElementNS&&!!it.doc.createElementNS(it.SVG_NS,"svg").createSVGRect,it.userAgent=it.win.navigator&&it.win.navigator.userAgent||"",it.isChrome=it.win.chrome,it.isFirefox=it.userAgent.indexOf("Firefox")!==-1,it.isMS=/(edge|msie|trident)/i.test(it.userAgent)&&!it.win.opera,it.isSafari=!it.isChrome&&it.userAgent.indexOf("Safari")!==-1,it.isTouchDevice=/(Mobile|Android|Windows Phone)/.test(it.userAgent),it.isWebKit=it.userAgent.indexOf("AppleWebKit")!==-1,it.deg2rad=2*Math.PI/360,it.hasBidiBug=it.isFirefox&&4>parseInt(it.userAgent.split("Firefox/")[1],10),it.marginNames=["plotTop","marginRight","marginBottom","plotLeft"],it.noop=function(){},it.supportsPassiveEvents=function(){let ht=!1;if(!it.isMS){let dt=Object.defineProperty({},"passive",{get:function(){ht=!0}});it.win.addEventListener&&it.win.removeEventListener&&(it.win.addEventListener("testPassive",it.noop,dt),it.win.removeEventListener("testPassive",it.noop,dt))}return ht}(),it.charts=[],it.composed=[],it.dateFormats={},it.seriesTypes={},it.symbolSizes={},it.chartCount=0,Q}),yt(H,"Core/Utilities.js",[H["Core/Globals.js"]],function(Q){let it,{charts:ht,doc:dt,win:lt}=Q;function ot(e,t,r,a){let x=t?"Highcharts error":"Highcharts warning";e===32&&(e=`${x}: Deprecated member`);let y=D(e),h=y?`${x} #${e}: www.highcharts.com/errors/${e}/`:e.toString();if(a!==void 0){let T="";y&&(h+="?"),C(a,function(Y,f){T+=`
2
- - ${f}: ${Y}`,y&&(h+=encodeURI(f)+"="+encodeURI(Y))}),h+=T}u(Q,"displayError",{chart:r,code:e,message:h,params:a},function(){if(t)throw Error(h);lt.console&&ot.messages.indexOf(h)===-1&&console.warn(h)}),ot.messages.push(h)}function at(e,t){return parseInt(e,t||10)}function q(e){return typeof e=="string"}function $(e){let t=Object.prototype.toString.call(e);return t==="[object Array]"||t==="[object Array Iterator]"}function V(e,t){return!!e&&typeof e=="object"&&(!t||!$(e))}function v(e){return V(e)&&typeof e.nodeType=="number"}function I(e){let t=e&&e.constructor;return!!(V(e,!0)&&!v(e)&&t&&t.name&&t.name!=="Object")}function D(e){return typeof e=="number"&&!isNaN(e)&&e<1/0&&e>-1/0}function P(e){return e!=null}function m(e,t,r){let a,x=q(t)&&!P(r),y=(h,T)=>{P(h)?e.setAttribute(T,h):x?(a=e.getAttribute(T))||T!=="class"||(a=e.getAttribute(T+"Name")):e.removeAttribute(T)};return q(t)?y(r,t):C(t,y),a}function b(e){return $(e)?e:[e]}function k(e,t){let r;for(r in e||(e={}),t)e[r]=t[r];return e}function A(){let e=arguments,t=e.length;for(let r=0;r<t;r++){let a=e[r];if(a!=null)return a}}function d(e,t){k(e.style,t)}function M(e){return Math.pow(10,Math.floor(Math.log(e)/Math.LN10))}function W(e,t){return e>1e14?e:parseFloat(e.toPrecision(t||14))}(ot||(ot={})).messages=[],Math.easeInOutSine=function(e){return-.5*(Math.cos(Math.PI*e)-1)};let O=Array.prototype.find?function(e,t){return e.find(t)}:function(e,t){let r,a=e.length;for(r=0;r<a;r++)if(t(e[r],r))return e[r]};function C(e,t,r){for(let a in e)Object.hasOwnProperty.call(e,a)&&t.call(r||e[a],e[a],a,e)}function o(e,t,r){function a(h,T){let Y=e.removeEventListener;Y&&Y.call(e,h,T,!1)}function x(h){let T,Y;e.nodeName&&(t?(T={})[t]=!0:T=h,C(T,function(f,L){if(h[L])for(Y=h[L].length;Y--;)a(L,h[L][Y].fn)}))}let y=typeof e=="function"&&e.prototype||e;if(Object.hasOwnProperty.call(y,"hcEvents")){let h=y.hcEvents;if(t){let T=h[t]||[];r?(h[t]=T.filter(function(Y){return r!==Y.fn}),a(t,r)):(x(h),h[t]=[])}else x(h),delete y.hcEvents}}function u(e,t,r,a){if(r=r||{},dt.createEvent&&(e.dispatchEvent||e.fireEvent&&e!==Q)){let x=dt.createEvent("Events");x.initEvent(t,!0,!0),r=k(x,r),e.dispatchEvent?e.dispatchEvent(r):e.fireEvent(t,r)}else if(e.hcEvents){r.target||k(r,{preventDefault:function(){r.defaultPrevented=!0},target:e,type:t});let x=[],y=e,h=!1;for(;y.hcEvents;)Object.hasOwnProperty.call(y,"hcEvents")&&y.hcEvents[t]&&(x.length&&(h=!0),x.unshift.apply(x,y.hcEvents[t])),y=Object.getPrototypeOf(y);h&&x.sort((T,Y)=>T.order-Y.order),x.forEach(T=>{T.fn.call(e,r)===!1&&r.preventDefault()})}a&&!r.defaultPrevented&&a.call(e,r)}C({map:"map",each:"forEach",grep:"filter",reduce:"reduce",some:"some"},function(e,t){Q[t]=function(r){return ot(32,!1,void 0,{[`Highcharts.${t}`]:`use Array.${e}`}),Array.prototype[e].apply(r,[].slice.call(arguments,1))}});let s=function(){let e=Math.random().toString(36).substring(2,9)+"-",t=0;return function(){return"highcharts-"+(it?"":e)+t++}}();return lt.jQuery&&(lt.jQuery.fn.highcharts=function(){let e=[].slice.call(arguments);if(this[0])return e[0]?(new Q[q(e[0])?e.shift():"Chart"](this[0],e[0],e[1]),this):ht[m(this[0],"data-highcharts-chart")]}),{addEvent:function(e,t,r,a={}){let x=typeof e=="function"&&e.prototype||e;Object.hasOwnProperty.call(x,"hcEvents")||(x.hcEvents={});let y=x.hcEvents;Q.Point&&e instanceof Q.Point&&e.series&&e.series.chart&&(e.series.chart.runTrackerClick=!0);let h=e.addEventListener;h&&h.call(e,t,r,!!Q.supportsPassiveEvents&&{passive:a.passive===void 0?t.indexOf("touch")!==-1:a.passive,capture:!1}),y[t]||(y[t]=[]);let T={fn:r,order:typeof a.order=="number"?a.order:1/0};return y[t].push(T),y[t].sort((Y,f)=>Y.order-f.order),function(){o(e,t,r)}},arrayMax:function(e){let t=e.length,r=e[0];for(;t--;)e[t]>r&&(r=e[t]);return r},arrayMin:function(e){let t=e.length,r=e[0];for(;t--;)e[t]<r&&(r=e[t]);return r},attr:m,clamp:function(e,t,r){return e>t?e<r?e:r:t},clearTimeout:function(e){P(e)&&clearTimeout(e)},correctFloat:W,createElement:function(e,t,r,a,x){let y=dt.createElement(e);return t&&k(y,t),x&&d(y,{padding:"0",border:"none",margin:"0"}),r&&d(y,r),a&&a.appendChild(y),y},crisp:(e,t=0,r)=>{let a=t%2/2,x=r?-1:1;return(Math.round(e*x-a)+a)*x},css:d,defined:P,destroyObjectProperties:function(e,t,r){C(e,function(a,x){a!==t&&a?.destroy&&a.destroy(),(a?.destroy||!r)&&delete e[x]})},diffObjects:function(e,t,r,a){let x={};return function y(h,T,Y,f){let L=r?T:h;C(h,function(R,z){if(!f&&a&&a.indexOf(z)>-1&&T[z]){R=b(R),Y[z]=[];for(let Z=0;Z<Math.max(R.length,T[z].length);Z++)T[z][Z]&&(R[Z]===void 0?Y[z][Z]=T[z][Z]:(Y[z][Z]={},y(R[Z],T[z][Z],Y[z][Z],f+1)))}else V(R,!0)&&!R.nodeType?(Y[z]=$(R)?[]:{},y(R,T[z]||{},Y[z],f+1),Object.keys(Y[z]).length!==0||z==="colorAxis"&&f===0||delete Y[z]):(h[z]!==T[z]||z in h&&!(z in T))&&z!=="__proto__"&&z!=="constructor"&&(Y[z]=L[z])})}(e,t,x,0),x},discardElement:function(e){e&&e.parentElement&&e.parentElement.removeChild(e)},erase:function(e,t){let r=e.length;for(;r--;)if(e[r]===t){e.splice(r,1);break}},error:ot,extend:k,extendClass:function(e,t){let r=function(){};return r.prototype=new e,k(r.prototype,t),r},find:O,fireEvent:u,getClosestDistance:function(e,t){let r,a,x,y,h=!t;return e.forEach(T=>{if(T.length>1)for(y=a=T.length-1;y>0;y--)(x=T[y]-T[y-1])<0&&!h?(t?.(),t=void 0):x&&(r===void 0||x<r)&&(r=x)}),r},getMagnitude:M,getNestedProperty:function(e,t){let r=e.split(".");for(;r.length&&P(t);){let a=r.shift();if(a===void 0||a==="__proto__")return;if(a==="this"){let y;return V(t)&&(y=t["@this"]),y??t}let x=t[a];if(!P(x)||typeof x=="function"||typeof x.nodeType=="number"||x===lt)return;t=x}return t},getStyle:function e(t,r,a){let x;if(r==="width"){let h=Math.min(t.offsetWidth,t.scrollWidth),T=t.getBoundingClientRect&&t.getBoundingClientRect().width;return T<h&&T>=h-1&&(h=Math.floor(T)),Math.max(0,h-(e(t,"padding-left",!0)||0)-(e(t,"padding-right",!0)||0))}if(r==="height")return Math.max(0,Math.min(t.offsetHeight,t.scrollHeight)-(e(t,"padding-top",!0)||0)-(e(t,"padding-bottom",!0)||0));let y=lt.getComputedStyle(t,void 0);return y&&(x=y.getPropertyValue(r),A(a,r!=="opacity")&&(x=at(x))),x},inArray:function(e,t,r){return ot(32,!1,void 0,{"Highcharts.inArray":"use Array.indexOf"}),t.indexOf(e,r)},insertItem:function(e,t){let r,a=e.options.index,x=t.length;for(r=e.options.isInternal?x:0;r<x+1;r++)if(!t[r]||D(a)&&a<A(t[r].options.index,t[r]._i)||t[r].options.isInternal){t.splice(r,0,e);break}return r},isArray:$,isClass:I,isDOMElement:v,isFunction:function(e){return typeof e=="function"},isNumber:D,isObject:V,isString:q,keys:function(e){return ot(32,!1,void 0,{"Highcharts.keys":"use Object.keys"}),Object.keys(e)},merge:function(){let e,t=arguments,r={},a=function(y,h){return typeof y!="object"&&(y={}),C(h,function(T,Y){Y!=="__proto__"&&Y!=="constructor"&&(!V(T,!0)||I(T)||v(T)?y[Y]=h[Y]:y[Y]=a(y[Y]||{},T))}),y};t[0]===!0&&(r=t[1],t=Array.prototype.slice.call(t,2));let x=t.length;for(e=0;e<x;e++)r=a(r,t[e]);return r},normalizeTickInterval:function(e,t,r,a,x){let y,h=e;r=A(r,M(e));let T=e/r;for(!t&&(t=x?[1,1.2,1.5,2,2.5,3,4,5,6,8,10]:[1,2,2.5,5,10],a===!1&&(r===1?t=t.filter(function(Y){return Y%1==0}):r<=.1&&(t=[1/r]))),y=0;y<t.length&&(h=t[y],(!x||!(h*r>=e))&&(x||!(T<=(t[y]+(t[y+1]||t[y]))/2)));y++);return W(h*r,-Math.round(Math.log(.001)/Math.LN10))},objectEach:C,offset:function(e){let t=dt.documentElement,r=e.parentElement||e.parentNode?e.getBoundingClientRect():{top:0,left:0,width:0,height:0};return{top:r.top+(lt.pageYOffset||t.scrollTop)-(t.clientTop||0),left:r.left+(lt.pageXOffset||t.scrollLeft)-(t.clientLeft||0),width:r.width,height:r.height}},pad:function(e,t,r){return Array((t||2)+1-String(e).replace("-","").length).join(r||"0")+e},pick:A,pInt:at,pushUnique:function(e,t){return 0>e.indexOf(t)&&!!e.push(t)},relativeLength:function(e,t,r){return/%$/.test(e)?t*parseFloat(e)/100+(r||0):parseFloat(e)},removeEvent:o,replaceNested:function(e,...t){let r,a;do for(a of(r=e,t))e=e.replace(a[0],a[1]);while(e!==r);return e},splat:b,stableSort:function(e,t){let r,a,x=e.length;for(a=0;a<x;a++)e[a].safeI=a;for(e.sort(function(y,h){return(r=t(y,h))===0?y.safeI-h.safeI:r}),a=0;a<x;a++)delete e[a].safeI},syncTimeout:function(e,t,r){return t>0?setTimeout(e,t,r):(e.call(0,r),-1)},timeUnits:{millisecond:1,second:1e3,minute:6e4,hour:36e5,day:864e5,week:6048e5,month:24192e5,year:314496e5},uniqueKey:s,useSerialIds:function(e){return it=A(e,it)},wrap:function(e,t,r){let a=e[t];e[t]=function(){let x=arguments,y=this;return r.apply(this,[function(){return a.apply(y,arguments.length?arguments:x)}].concat([].slice.call(arguments)))}}}}),yt(H,"Core/Chart/ChartDefaults.js",[],function(){return{alignThresholds:!1,panning:{enabled:!1,type:"x"},styledMode:!1,borderRadius:0,colorCount:10,allowMutatingData:!0,ignoreHiddenSeries:!0,spacing:[10,10,15,10],resetZoomButton:{theme:{},position:{}},reflow:!0,type:"line",zooming:{singleTouch:!1,resetButton:{theme:{zIndex:6},position:{align:"right",x:-10,y:10}}},width:null,height:null,borderColor:"#334eff",backgroundColor:"#ffffff",plotBorderColor:"#cccccc"}}),yt(H,"Core/Color/Palettes.js",[],function(){return{colors:["#2caffe","#544fc5","#00e272","#fe6a35","#6b8abc","#d568fb","#2ee0ca","#fa4b42","#feb56a","#91e8e1"]}}),yt(H,"Core/Time.js",[H["Core/Globals.js"],H["Core/Utilities.js"]],function(Q,it){let{win:ht}=Q,{defined:dt,error:lt,extend:ot,isNumber:at,isObject:q,merge:$,objectEach:V,pad:v,pick:I,splat:D,timeUnits:P}=it,m=Q.isSafari&&ht.Intl&&ht.Intl.DateTimeFormat.prototype.formatRange,b=Q.isSafari&&ht.Intl&&!ht.Intl.DateTimeFormat.prototype.formatRange;class k{constructor(d){this.options={},this.useUTC=!1,this.variableTimezone=!1,this.Date=ht.Date,this.getTimezoneOffset=this.timezoneOffsetFunction(),this.update(d)}get(d,M){if(this.variableTimezone||this.timezoneOffset){let W=M.getTime(),O=W-this.getTimezoneOffset(M);M.setTime(O);let C=M["getUTC"+d]();return M.setTime(W),C}return this.useUTC?M["getUTC"+d]():M["get"+d]()}set(d,M,W){if(this.variableTimezone||this.timezoneOffset){if(d==="Milliseconds"||d==="Seconds"||d==="Minutes"&&this.getTimezoneOffset(M)%36e5==0)return M["setUTC"+d](W);let O=this.getTimezoneOffset(M),C=M.getTime()-O;M.setTime(C),M["setUTC"+d](W);let o=this.getTimezoneOffset(M);return C=M.getTime()+o,M.setTime(C)}return this.useUTC||m&&d==="FullYear"?M["setUTC"+d](W):M["set"+d](W)}update(d={}){let M=I(d.useUTC,!0);this.options=d=$(!0,this.options,d),this.Date=d.Date||ht.Date||Date,this.useUTC=M,this.timezoneOffset=M&&d.timezoneOffset||void 0,this.getTimezoneOffset=this.timezoneOffsetFunction(),this.variableTimezone=M&&!!(d.getTimezoneOffset||d.timezone)}makeTime(d,M,W,O,C,o){let u,s,e;return this.useUTC?(u=this.Date.UTC.apply(0,arguments),s=this.getTimezoneOffset(u),u+=s,s!==(e=this.getTimezoneOffset(u))?u+=e-s:s-36e5!==this.getTimezoneOffset(u-36e5)||b||(u-=36e5)):u=new this.Date(d,M,I(W,1),I(O,0),I(C,0),I(o,0)).getTime(),u}timezoneOffsetFunction(){let d=this,M=this.options,W=M.getTimezoneOffset;return this.useUTC?M.timezone?O=>{try{let C=`shortOffset,${M.timezone||""}`,[o,u,s,e,t=0]=(k.formatCache[C]=k.formatCache[C]||Intl.DateTimeFormat("en",{timeZone:M.timezone,timeZoneName:"shortOffset"})).format(O).split(/(GMT|:)/).map(Number),r=-(36e5*(s+t/60));if(at(r))return r}catch{lt(34)}return 0}:this.useUTC&&W?O=>6e4*W(O.valueOf()):()=>6e4*(d.timezoneOffset||0):O=>6e4*new Date(O.toString()).getTimezoneOffset()}dateFormat(d,M,W){if(!dt(M)||isNaN(M))return Q.defaultOptions.lang&&Q.defaultOptions.lang.invalidDate||"";d=I(d,"%Y-%m-%d %H:%M:%S");let O=this,C=new this.Date(M),o=this.get("Hours",C),u=this.get("Day",C),s=this.get("Date",C),e=this.get("Month",C),t=this.get("FullYear",C),r=Q.defaultOptions.lang,a=r&&r.weekdays,x=r&&r.shortWeekdays;return V(ot({a:x?x[u]:a[u].substr(0,3),A:a[u],d:v(s),e:v(s,2," "),w:u,b:r.shortMonths[e],B:r.months[e],m:v(e+1),o:e+1,y:t.toString().substr(2,2),Y:t,H:v(o),k:o,I:v(o%12||12),l:o%12||12,M:v(this.get("Minutes",C)),p:o<12?"AM":"PM",P:o<12?"am":"pm",S:v(this.get("Seconds",C)),L:v(Math.floor(M%1e3),3)},Q.dateFormats),function(y,h){for(;d.indexOf("%"+h)!==-1;)d=d.replace("%"+h,typeof y=="function"?y.call(O,M):y)}),W?d.substr(0,1).toUpperCase()+d.substr(1):d}resolveDTLFormat(d){return q(d,!0)?d:{main:(d=D(d))[0],from:d[1],to:d[2]}}getTimeTicks(d,M,W,O){let C,o,u,s,e=this,t=e.Date,r=[],a={},x=new t(M),y=d.unitRange,h=d.count||1;if(O=I(O,1),dt(M)){e.set("Milliseconds",x,y>=P.second?0:h*Math.floor(e.get("Milliseconds",x)/h)),y>=P.second&&e.set("Seconds",x,y>=P.minute?0:h*Math.floor(e.get("Seconds",x)/h)),y>=P.minute&&e.set("Minutes",x,y>=P.hour?0:h*Math.floor(e.get("Minutes",x)/h)),y>=P.hour&&e.set("Hours",x,y>=P.day?0:h*Math.floor(e.get("Hours",x)/h)),y>=P.day&&e.set("Date",x,y>=P.month?1:Math.max(1,h*Math.floor(e.get("Date",x)/h))),y>=P.month&&(e.set("Month",x,y>=P.year?0:h*Math.floor(e.get("Month",x)/h)),o=e.get("FullYear",x)),y>=P.year&&(o-=o%h,e.set("FullYear",x,o)),y===P.week&&(s=e.get("Day",x),e.set("Date",x,e.get("Date",x)-s+O+(s<O?-7:0))),o=e.get("FullYear",x);let T=e.get("Month",x),Y=e.get("Date",x),f=e.get("Hours",x);M=x.getTime(),(e.variableTimezone||!e.useUTC)&&dt(W)&&(u=W-M>4*P.month||e.getTimezoneOffset(M)!==e.getTimezoneOffset(W));let L=x.getTime();for(C=1;L<W;)r.push(L),y===P.year?L=e.makeTime(o+C*h,0):y===P.month?L=e.makeTime(o,T+C*h):u&&(y===P.day||y===P.week)?L=e.makeTime(o,T,Y+C*h*(y===P.day?1:7)):u&&y===P.hour&&h>1?L=e.makeTime(o,T,Y,f+C*h):L+=y*h,C++;r.push(L),y<=P.hour&&r.length<1e4&&r.forEach(function(R){R%18e5==0&&e.dateFormat("%H%M%S%L",R)==="000000000"&&(a[R]="day")})}return r.info=ot(d,{higherRanks:a,totalRange:y*h}),r}getDateFormat(d,M,W,O){let C=this.dateFormat("%m-%d %H:%M:%S.%L",M),o="01-01 00:00:00.000",u={millisecond:15,second:12,minute:9,hour:6,day:3},s="millisecond",e=s;for(s in P){if(d===P.week&&+this.dateFormat("%w",M)===W&&C.substr(6)===o.substr(6)){s="week";break}if(P[s]>d){s=e;break}if(u[s]&&C.substr(u[s])!==o.substr(u[s]))break;s!=="week"&&(e=s)}return this.resolveDTLFormat(O[s]).main}}return k.formatCache={},k}),yt(H,"Core/Defaults.js",[H["Core/Chart/ChartDefaults.js"],H["Core/Globals.js"],H["Core/Color/Palettes.js"],H["Core/Time.js"],H["Core/Utilities.js"]],function(Q,it,ht,dt,lt){let{isTouchDevice:ot}=it,{fireEvent:at,merge:q}=lt,$={colors:ht.colors,symbols:["circle","diamond","square","triangle","triangle-down"],lang:{loading:"Loading...",months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],weekdays:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],decimalPoint:".",numericSymbols:["k","M","G","T","P","E"],resetZoom:"Reset zoom",resetZoomTitle:"Reset zoom level 1:1",thousandsSep:" "},global:{buttonTheme:{fill:"#f7f7f7",padding:8,r:2,stroke:"#cccccc","stroke-width":1,style:{color:"#333333",cursor:"pointer",fontSize:"0.8em",fontWeight:"normal"},states:{hover:{fill:"#e6e6e6"},select:{fill:"#e6e9ff",style:{color:"#000000",fontWeight:"bold"}},disabled:{style:{color:"#cccccc"}}}}},time:{Date:void 0,getTimezoneOffset:void 0,timezone:void 0,timezoneOffset:0,useUTC:!0},chart:Q,title:{style:{color:"#333333",fontWeight:"bold"},text:"Chart title",align:"center",margin:15,widthAdjust:-44},subtitle:{style:{color:"#666666",fontSize:"0.8em"},text:"",align:"center",widthAdjust:-44},caption:{margin:15,style:{color:"#666666",fontSize:"0.8em"},text:"",align:"left",verticalAlign:"bottom"},plotOptions:{},legend:{enabled:!0,align:"center",alignColumns:!0,className:"highcharts-no-tooltip",events:{},layout:"horizontal",itemMarginBottom:2,itemMarginTop:2,labelFormatter:function(){return this.name},borderColor:"#999999",borderRadius:0,navigation:{style:{fontSize:"0.8em"},activeColor:"#0022ff",inactiveColor:"#cccccc"},itemStyle:{color:"#333333",cursor:"pointer",fontSize:"0.8em",textDecoration:"none",textOverflow:"ellipsis"},itemHoverStyle:{color:"#000000"},itemHiddenStyle:{color:"#666666",textDecoration:"line-through"},shadow:!1,itemCheckboxStyle:{position:"absolute",width:"13px",height:"13px"},squareSymbol:!0,symbolPadding:5,verticalAlign:"bottom",x:0,y:0,title:{style:{fontSize:"0.8em",fontWeight:"bold"}}},loading:{labelStyle:{fontWeight:"bold",position:"relative",top:"45%"},style:{position:"absolute",backgroundColor:"#ffffff",opacity:.5,textAlign:"center"}},tooltip:{enabled:!0,animation:{duration:300,easing:v=>Math.sqrt(1-Math.pow(v-1,2))},borderRadius:3,dateTimeLabelFormats:{millisecond:"%A, %e %b, %H:%M:%S.%L",second:"%A, %e %b, %H:%M:%S",minute:"%A, %e %b, %H:%M",hour:"%A, %e %b, %H:%M",day:"%A, %e %b %Y",week:"Week from %A, %e %b %Y",month:"%B %Y",year:"%Y"},footerFormat:"",headerShape:"callout",hideDelay:500,padding:8,shape:"callout",shared:!1,snap:ot?25:10,headerFormat:'<span style="font-size: 0.8em">{point.key}</span><br/>',pointFormat:'<span style="color:{point.color}">\u25CF</span> {series.name}: <b>{point.y}</b><br/>',backgroundColor:"#ffffff",borderWidth:void 0,shadow:!0,stickOnContact:!1,style:{color:"#333333",cursor:"default",fontSize:"0.8em"},useHTML:!1},credits:{enabled:!0,href:"https://www.highcharts.com?credits",position:{align:"right",x:-10,verticalAlign:"bottom",y:-5},style:{cursor:"pointer",color:"#999999",fontSize:"0.6em"},text:"Highcharts.com"}};$.chart.styledMode=!1;let V=new dt($.time);return{defaultOptions:$,defaultTime:V,getOptions:function(){return $},setOptions:function(v){return at(it,"setOptions",{options:v}),q(!0,$,v),(v.time||v.global)&&(it.time?it.time.update(q($.global,$.time,v.global,v.time)):it.time=V),$}}}),yt(H,"Core/Color/Color.js",[H["Core/Globals.js"],H["Core/Utilities.js"]],function(Q,it){let{isNumber:ht,merge:dt,pInt:lt}=it;class ot{static parse(q){return q?new ot(q):ot.None}constructor(q){let $,V,v,I;this.rgba=[NaN,NaN,NaN,NaN],this.input=q;let D=Q.Color;if(D&&D!==ot)return new D(q);if(typeof q=="object"&&q.stops!==void 0)this.stops=q.stops.map(P=>new ot(P[1]));else if(typeof q=="string"){if(this.input=q=ot.names[q.toLowerCase()]||q,q.charAt(0)==="#"){let P=q.length,m=parseInt(q.substr(1),16);P===7?V=[(16711680&m)>>16,(65280&m)>>8,255&m,1]:P===4&&(V=[(3840&m)>>4|(3840&m)>>8,(240&m)>>4|240&m,(15&m)<<4|15&m,1])}if(!V)for(v=ot.parsers.length;v--&&!V;)($=(I=ot.parsers[v]).regex.exec(q))&&(V=I.parse($))}V&&(this.rgba=V)}get(q){let $=this.input,V=this.rgba;if(typeof $=="object"&&this.stops!==void 0){let v=dt($);return v.stops=[].slice.call(v.stops),this.stops.forEach((I,D)=>{v.stops[D]=[v.stops[D][0],I.get(q)]}),v}return V&&ht(V[0])?q!=="rgb"&&(q||V[3]!==1)?q==="a"?`${V[3]}`:"rgba("+V.join(",")+")":"rgb("+V[0]+","+V[1]+","+V[2]+")":$}brighten(q){let $=this.rgba;if(this.stops)this.stops.forEach(function(V){V.brighten(q)});else if(ht(q)&&q!==0)for(let V=0;V<3;V++)$[V]+=lt(255*q),$[V]<0&&($[V]=0),$[V]>255&&($[V]=255);return this}setOpacity(q){return this.rgba[3]=q,this}tweenTo(q,$){let V=this.rgba,v=q.rgba;if(!ht(V[0])||!ht(v[0]))return q.input||"none";let I=v[3]!==1||V[3]!==1;return(I?"rgba(":"rgb(")+Math.round(v[0]+(V[0]-v[0])*(1-$))+","+Math.round(v[1]+(V[1]-v[1])*(1-$))+","+Math.round(v[2]+(V[2]-v[2])*(1-$))+(I?","+(v[3]+(V[3]-v[3])*(1-$)):"")+")"}}return ot.names={white:"#ffffff",black:"#000000"},ot.parsers=[{regex:/rgba\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d?(?:\.\d+)?)\s*\)/,parse:function(at){return[lt(at[1]),lt(at[2]),lt(at[3]),parseFloat(at[4],10)]}},{regex:/rgb\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*\)/,parse:function(at){return[lt(at[1]),lt(at[2]),lt(at[3]),1]}}],ot.None=new ot(""),ot}),yt(H,"Core/Animation/Fx.js",[H["Core/Color/Color.js"],H["Core/Globals.js"],H["Core/Utilities.js"]],function(Q,it,ht){let{parse:dt}=Q,{win:lt}=it,{isNumber:ot,objectEach:at}=ht;class q{constructor(V,v,I){this.pos=NaN,this.options=v,this.elem=V,this.prop=I}dSetter(){let V=this.paths,v=V&&V[0],I=V&&V[1],D=this.now||0,P=[];if(D!==1&&v&&I)if(v.length===I.length&&D<1)for(let m=0;m<I.length;m++){let b=v[m],k=I[m],A=[];for(let d=0;d<k.length;d++){let M=b[d],W=k[d];ot(M)&&ot(W)&&!(k[0]==="A"&&(d===4||d===5))?A[d]=M+D*(W-M):A[d]=W}P.push(A)}else P=I;else P=this.toD||[];this.elem.attr("d",P,void 0,!0)}update(){let V=this.elem,v=this.prop,I=this.now,D=this.options.step;this[v+"Setter"]?this[v+"Setter"]():V.attr?V.element&&V.attr(v,I,null,!0):V.style[v]=I+this.unit,D&&D.call(V,I,this)}run(V,v,I){let D=this,P=D.options,m=function(A){return!m.stopped&&D.step(A)},b=lt.requestAnimationFrame||function(A){setTimeout(A,13)},k=function(){for(let A=0;A<q.timers.length;A++)q.timers[A]()||q.timers.splice(A--,1);q.timers.length&&b(k)};V!==v||this.elem["forceAnimate:"+this.prop]?(this.startTime=+new Date,this.start=V,this.end=v,this.unit=I,this.now=this.start,this.pos=0,m.elem=this.elem,m.prop=this.prop,m()&&q.timers.push(m)===1&&b(k)):(delete P.curAnim[this.prop],P.complete&&Object.keys(P.curAnim).length===0&&P.complete.call(this.elem))}step(V){let v,I,D=+new Date,P=this.options,m=this.elem,b=P.complete,k=P.duration,A=P.curAnim;return m.attr&&!m.element?v=!1:V||D>=k+this.startTime?(this.now=this.end,this.pos=1,this.update(),A[this.prop]=!0,I=!0,at(A,function(d){d!==!0&&(I=!1)}),I&&b&&b.call(m),v=!1):(this.pos=P.easing((D-this.startTime)/k),this.now=this.start+(this.end-this.start)*this.pos,this.update(),v=!0),v}initPath(V,v,I){let D=V.startX,P=V.endX,m=I.slice(),b=V.isArea,k=b?2:1,A=v&&I.length>v.length&&I.hasStackedCliffs,d,M,W,O,C=v&&v.slice();if(!C||A)return[m,m];function o(s,e){for(;s.length<M;){let t=s[0],r=e[M-s.length];if(r&&t[0]==="M"&&(r[0]==="C"?s[0]=["C",t[1],t[2],t[1],t[2],t[1],t[2]]:s[0]=["L",t[1],t[2]]),s.unshift(t),b){let a=s.pop();s.push(s[s.length-1],a)}}}function u(s){for(;s.length<M;){let e=s[Math.floor(s.length/k)-1].slice();if(e[0]==="C"&&(e[1]=e[5],e[2]=e[6]),b){let t=s[Math.floor(s.length/k)].slice();s.splice(s.length/2,0,e,t)}else s.push(e)}}if(D&&P&&P.length){for(W=0;W<D.length;W++){if(D[W]===P[0]){d=W;break}if(D[0]===P[P.length-D.length+W]){d=W,O=!0;break}if(D[D.length-1]===P[P.length-D.length+W]){d=D.length-W;break}}d===void 0&&(C=[])}return C.length&&ot(d)&&(M=m.length+d*k,O?(o(C,m),u(m)):(o(m,C),u(C))),[C,m]}fillSetter(){q.prototype.strokeSetter.apply(this,arguments)}strokeSetter(){this.elem.attr(this.prop,dt(this.start).tweenTo(dt(this.end),this.pos),void 0,!0)}}return q.timers=[],q}),yt(H,"Core/Animation/AnimationUtilities.js",[H["Core/Animation/Fx.js"],H["Core/Utilities.js"]],function(Q,it){let{defined:ht,getStyle:dt,isArray:lt,isNumber:ot,isObject:at,merge:q,objectEach:$,pick:V}=it;function v(D){return at(D)?q({duration:500,defer:0},D):{duration:D?500:0,defer:0}}function I(D,P){let m=Q.timers.length;for(;m--;)Q.timers[m].elem!==D||P&&P!==Q.timers[m].prop||(Q.timers[m].stopped=!0)}return{animate:function(D,P,m){let b,k="",A,d,M;at(m)||(M=arguments,m={duration:M[2],easing:M[3],complete:M[4]}),ot(m.duration)||(m.duration=400),m.easing=typeof m.easing=="function"?m.easing:Math[m.easing]||Math.easeInOutSine,m.curAnim=q(P),$(P,function(W,O){I(D,O),d=new Q(D,m,O),A=void 0,O==="d"&&lt(P.d)?(d.paths=d.initPath(D,D.pathArray,P.d),d.toD=P.d,b=0,A=1):D.attr?b=D.attr(O):(b=parseFloat(dt(D,O))||0,O!=="opacity"&&(k="px")),A||(A=W),typeof A=="string"&&A.match("px")&&(A=A.replace(/px/g,"")),d.run(b,A,k)})},animObject:v,getDeferredAnimation:function(D,P,m){let b=v(P),k=m?[m]:D.series,A=0,d=0;return k.forEach(M=>{let W=v(M.options.animation);A=at(P)&&ht(P.defer)?b.defer:Math.max(A,W.duration+W.defer),d=Math.min(b.duration,W.duration)}),D.renderer.forExport&&(A=0),{defer:Math.max(0,A-d),duration:Math.min(A,d)}},setAnimation:function(D,P){P.renderer.globalAnimation=V(D,P.options.chart.animation,!0)},stop:I}}),yt(H,"Core/Renderer/HTML/AST.js",[H["Core/Globals.js"],H["Core/Utilities.js"]],function(Q,it){let{SVG_NS:ht,win:dt}=Q,{attr:lt,createElement:ot,css:at,error:q,isFunction:$,isString:V,objectEach:v,splat:I}=it,{trustedTypes:D}=dt,P=D&&$(D.createPolicy)&&D.createPolicy("highcharts",{createHTML:A=>A}),m=P?P.createHTML(""):"",b=function(){try{return!!new DOMParser().parseFromString(m,"text/html")}catch{return!1}}();class k{static filterUserAttributes(d){return v(d,(M,W)=>{let O=!0;k.allowedAttributes.indexOf(W)===-1&&(O=!1),["background","dynsrc","href","lowsrc","src"].indexOf(W)!==-1&&(O=V(M)&&k.allowedReferences.some(C=>M.indexOf(C)===0)),O||(q(33,!1,void 0,{"Invalid attribute in config":`${W}`}),delete d[W]),V(M)&&d[W]&&(d[W]=M.replace(/</g,"&lt;"))}),d}static parseStyle(d){return d.split(";").reduce((M,W)=>{let O=W.split(":").map(o=>o.trim()),C=O.shift();return C&&O.length&&(M[C.replace(/-([a-z])/g,o=>o[1].toUpperCase())]=O.join(":")),M},{})}static setElementHTML(d,M){d.innerHTML=k.emptyHTML,M&&new k(M).addToDOM(d)}constructor(d){this.nodes=typeof d=="string"?this.parseMarkup(d):d}addToDOM(d){return function M(W,O){let C;return I(W).forEach(function(o){let u,s=o.tagName,e=o.textContent?Q.doc.createTextNode(o.textContent):void 0,t=k.bypassHTMLFiltering;if(s)if(s==="#text")u=e;else if(k.allowedTags.indexOf(s)!==-1||t){let r=s==="svg"?ht:O.namespaceURI||ht,a=Q.doc.createElementNS(r,s),x=o.attributes||{};v(o,function(y,h){h!=="tagName"&&h!=="attributes"&&h!=="children"&&h!=="style"&&h!=="textContent"&&(x[h]=y)}),lt(a,t?x:k.filterUserAttributes(x)),o.style&&at(a,o.style),e&&a.appendChild(e),M(o.children||[],a),u=a}else q(33,!1,void 0,{"Invalid tagName in config":s});u&&O.appendChild(u),C=u}),C}(this.nodes,d)}parseMarkup(d){let M,W=[];if(d=d.trim().replace(/ style=(["'])/g," data-style=$1"),b)M=new DOMParser().parseFromString(P?P.createHTML(d):d,"text/html");else{let C=ot("div");C.innerHTML=d,M={body:C}}let O=(C,o)=>{let u=C.nodeName.toLowerCase(),s={tagName:u};u==="#text"&&(s.textContent=C.textContent||"");let e=C.attributes;if(e){let t={};[].forEach.call(e,r=>{r.name==="data-style"?s.style=k.parseStyle(r.value):t[r.name]=r.value}),s.attributes=t}if(C.childNodes.length){let t=[];[].forEach.call(C.childNodes,r=>{O(r,t)}),t.length&&(s.children=t)}o.push(s)};return[].forEach.call(M.body.childNodes,C=>O(C,W)),W}}return k.allowedAttributes=["alt","aria-controls","aria-describedby","aria-expanded","aria-haspopup","aria-hidden","aria-label","aria-labelledby","aria-live","aria-pressed","aria-readonly","aria-roledescription","aria-selected","class","clip-path","color","colspan","cx","cy","d","dx","dy","disabled","fill","filterUnits","flood-color","flood-opacity","height","href","id","in","in2","markerHeight","markerWidth","offset","opacity","operator","orient","padding","paddingLeft","paddingRight","patternUnits","r","radius","refX","refY","role","scope","slope","src","startOffset","stdDeviation","stroke","stroke-linecap","stroke-width","style","tableValues","result","rowspan","summary","target","tabindex","text-align","text-anchor","textAnchor","textLength","title","type","valign","width","x","x1","x2","xlink:href","y","y1","y2","zIndex"],k.allowedReferences=["https://","http://","mailto:","/","../","./","#"],k.allowedTags=["a","abbr","b","br","button","caption","circle","clipPath","code","dd","defs","div","dl","dt","em","feComponentTransfer","feComposite","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feMorphology","feOffset","feMerge","feMergeNode","filter","h1","h2","h3","h4","h5","h6","hr","i","img","li","linearGradient","marker","ol","p","path","pattern","pre","rect","small","span","stop","strong","style","sub","sup","svg","table","text","textPath","thead","title","tbody","tspan","td","th","tr","u","ul","#text"],k.emptyHTML=m,k.bypassHTMLFiltering=!1,k}),yt(H,"Core/Templating.js",[H["Core/Defaults.js"],H["Core/Utilities.js"]],function(Q,it){let{defaultOptions:ht,defaultTime:dt}=Q,{extend:lt,getNestedProperty:ot,isArray:at,isNumber:q,isObject:$,pick:V,pInt:v}=it,I={add:(m,b)=>m+b,divide:(m,b)=>b!==0?m/b:"",eq:(m,b)=>m==b,each:function(m){let b=arguments[arguments.length-1];return!!at(m)&&m.map((k,A)=>D(b.body,lt($(k)?k:{"@this":k},{"@index":A,"@first":A===0,"@last":A===m.length-1}))).join("")},ge:(m,b)=>m>=b,gt:(m,b)=>m>b,if:m=>!!m,le:(m,b)=>m<=b,lt:(m,b)=>m<b,multiply:(m,b)=>m*b,ne:(m,b)=>m!=b,subtract:(m,b)=>m-b,unless:m=>!m};function D(m="",b,k){let A=/\{([\w\:\.\,;\-\/<>%@"'’= #\(\)]+)\}/g,d=/\(([\w\:\.\,;\-\/<>%@"'= ]+)\)/g,M=[],W=/f$/,O=/\.(\d)/,C=ht.lang,o=k&&k.time||dt,u=k&&k.numberFormatter||P,s=(x="")=>{let y;return x==="true"||x!=="false"&&((y=Number(x)).toString()===x?y:ot(x,b))},e,t,r=0,a;for(;(e=A.exec(m))!==null;){let x=d.exec(e[1]);x&&(e=x,a=!0),t&&t.isBlock||(t={ctx:b,expression:e[1],find:e[0],isBlock:e[1].charAt(0)==="#",start:e.index,startInner:e.index+e[0].length,length:e[0].length});let y=e[1].split(" ")[0].replace("#","");I[y]&&(t.isBlock&&y===t.fn&&r++,t.fn||(t.fn=y));let h=e[1]==="else";if(t.isBlock&&t.fn&&(e[1]===`/${t.fn}`||h))if(r)!h&&r--;else{let T=t.startInner,Y=m.substr(T,e.index-T);t.body===void 0?(t.body=Y,t.startInner=e.index+e[0].length):t.elseBody=Y,t.find+=Y+e[0],h||(M.push(t),t=void 0)}else t.isBlock||M.push(t);if(x&&!t?.isBlock)break}return M.forEach(x=>{let y,h,{body:T,elseBody:Y,expression:f,fn:L}=x;if(L){let R=[x],z=f.split(" ");for(h=I[L].length;h--;)R.unshift(s(z[h+1]));y=I[L].apply(b,R),x.isBlock&&typeof y=="boolean"&&(y=D(y?T:Y,b,k))}else{let R=f.split(":");if(y=s(R.shift()||""),R.length&&typeof y=="number"){let z=R.join(":");if(W.test(z)){let Z=parseInt((z.match(O)||["","-1"])[1],10);y!==null&&(y=u(y,Z,C.decimalPoint,z.indexOf(",")>-1?C.thousandsSep:""))}else y=o.dateFormat(z,y)}}m=m.replace(x.find,V(y,""))}),a?D(m,b,k):m}function P(m,b,k,A){let d,M;m=+m||0,b=+b;let W=ht.lang,O=(m.toString().split(".")[1]||"").split("e")[0].length,C=m.toString().split("e"),o=b;b===-1?b=Math.min(O,20):q(b)?b&&C[1]&&C[1]<0&&((M=b+ +C[1])>=0?(C[0]=(+C[0]).toExponential(M).split("e")[0],b=M):(C[0]=C[0].split(".")[0]||0,m=b<20?(C[0]*Math.pow(10,C[1])).toFixed(b):0,C[1]=0)):b=2;let u=(Math.abs(C[1]?C[0]:m)+Math.pow(10,-Math.max(b,O)-1)).toFixed(b),s=String(v(u)),e=s.length>3?s.length%3:0;return k=V(k,W.decimalPoint),A=V(A,W.thousandsSep),d=(m<0?"-":"")+(e?s.substr(0,e)+A:""),0>+C[1]&&!o?d="0":d+=s.substr(e).replace(/(\d{3})(?=\d)/g,"$1"+A),b?d+=k+u.slice(-b):+d==0&&(d="0"),C[1]&&+d!=0&&(d+="e"+C[1]),d}return{dateFormat:function(m,b,k){return dt.dateFormat(m,b,k)},format:D,helpers:I,numberFormat:P}}),yt(H,"Core/Renderer/RendererRegistry.js",[H["Core/Globals.js"]],function(Q){var it,ht;let dt;return(ht=it||(it={})).rendererTypes={},ht.getRendererType=function(lt=dt){return ht.rendererTypes[lt]||ht.rendererTypes[dt]},ht.registerRendererType=function(lt,ot,at){ht.rendererTypes[lt]=ot,(!dt||at)&&(dt=lt,Q.Renderer=ot)},it}),yt(H,"Core/Renderer/RendererUtilities.js",[H["Core/Utilities.js"]],function(Q){var it;let{clamp:ht,pick:dt,pushUnique:lt,stableSort:ot}=Q;return(it||(it={})).distribute=function at(q,$,V){let v=q,I=v.reducedLen||$,D=(s,e)=>s.target-e.target,P=[],m=q.length,b=[],k=P.push,A,d,M,W=!0,O,C,o=0,u;for(A=m;A--;)o+=q[A].size;if(o>I){for(ot(q,(s,e)=>(e.rank||0)-(s.rank||0)),M=(u=q[0].rank===q[q.length-1].rank)?m/2:-1,d=u?M:m-1;M&&o>I;)O=q[A=Math.floor(d)],lt(b,A)&&(o-=O.size),d+=M,u&&d>=q.length&&(M/=2,d=M);b.sort((s,e)=>e-s).forEach(s=>k.apply(P,q.splice(s,1)))}for(ot(q,D),q=q.map(s=>({size:s.size,targets:[s.target],align:dt(s.align,.5)}));W;){for(A=q.length;A--;)O=q[A],C=(Math.min.apply(0,O.targets)+Math.max.apply(0,O.targets))/2,O.pos=ht(C-O.size*O.align,0,$-O.size);for(A=q.length,W=!1;A--;)A>0&&q[A-1].pos+q[A-1].size>q[A].pos&&(q[A-1].size+=q[A].size,q[A-1].targets=q[A-1].targets.concat(q[A].targets),q[A-1].align=.5,q[A-1].pos+q[A-1].size>$&&(q[A-1].pos=$-q[A-1].size),q.splice(A,1),W=!0)}return k.apply(v,P),A=0,q.some(s=>{let e=0;return(s.targets||[]).some(()=>(v[A].pos=s.pos+e,V!==void 0&&Math.abs(v[A].pos-v[A].target)>V?(v.slice(0,A+1).forEach(t=>delete t.pos),v.reducedLen=(v.reducedLen||$)-.1*$,v.reducedLen>.1*$&&at(v,$,V),!0):(e+=v[A].size,A++,!1)))}),ot(v,D),v},it}),yt(H,"Core/Renderer/SVG/SVGElement.js",[H["Core/Animation/AnimationUtilities.js"],H["Core/Color/Color.js"],H["Core/Globals.js"],H["Core/Utilities.js"]],function(Q,it,ht,dt){let{animate:lt,animObject:ot,stop:at}=Q,{deg2rad:q,doc:$,svg:V,SVG_NS:v,win:I}=ht,{addEvent:D,attr:P,createElement:m,crisp:b,css:k,defined:A,erase:d,extend:M,fireEvent:W,isArray:O,isFunction:C,isObject:o,isString:u,merge:s,objectEach:e,pick:t,pInt:r,pushUnique:a,replaceNested:x,syncTimeout:y,uniqueKey:h}=dt;class T{_defaultGetter(f){let L=t(this[f+"Value"],this[f],this.element?this.element.getAttribute(f):null,0);return/^-?[\d\.]+$/.test(L)&&(L=parseFloat(L)),L}_defaultSetter(f,L,R){R.setAttribute(L,f)}add(f){let L,R=this.renderer,z=this.element;return f&&(this.parentGroup=f),this.textStr!==void 0&&this.element.nodeName==="text"&&R.buildText(this),this.added=!0,(!f||f.handleZ||this.zIndex)&&(L=this.zIndexSetter()),L||(f?f.element:R.box).appendChild(z),this.onAdd&&this.onAdd(),this}addClass(f,L){let R=L?"":this.attr("class")||"";return(f=(f||"").split(/ /g).reduce(function(z,Z){return R.indexOf(Z)===-1&&z.push(Z),z},R?[R]:[]).join(" "))!==R&&this.attr("class",f),this}afterSetters(){this.doTransform&&(this.updateTransform(),this.doTransform=!1)}align(f,L,R,z=!0){let Z,n,l,c,j={},i=this.renderer,g=i.alignedObjects,p=!!f;f?(this.alignOptions=f,this.alignByTranslate=L,this.alignTo=R):(f=this.alignOptions||{},L=this.alignByTranslate,R=this.alignTo);let w=!R||u(R)?R||"renderer":void 0;w&&(p&&a(g,this),R=void 0);let S=t(R,i[w],i),B=f.align,F=f.verticalAlign;return Z=(S.x||0)+(f.x||0),n=(S.y||0)+(f.y||0),B==="right"?l=1:B==="center"&&(l=2),l&&(Z+=((S.width||0)-(f.width||0))/l),j[L?"translateX":"x"]=Math.round(Z),F==="bottom"?c=1:F==="middle"&&(c=2),c&&(n+=((S.height||0)-(f.height||0))/c),j[L?"translateY":"y"]=Math.round(n),z&&(this[this.placed?"animate":"attr"](j),this.placed=!0),this.alignAttr=j,this}alignSetter(f){let L={left:"start",center:"middle",right:"end"};L[f]&&(this.alignValue=f,this.element.setAttribute("text-anchor",L[f]))}animate(f,L,R){let z=ot(t(L,this.renderer.globalAnimation,!0)),Z=z.defer;return $.hidden&&(z.duration=0),z.duration!==0?(R&&(z.complete=R),y(()=>{this.element&&lt(this,f,z)},Z)):(this.attr(f,void 0,R||z.complete),e(f,function(n,l){z.step&&z.step.call(this,n,{prop:l,pos:1,elem:this})},this)),this}applyTextOutline(f){let L=this.element;f.indexOf("contrast")!==-1&&(f=f.replace(/contrast/g,this.renderer.getContrast(L.style.fill)));let R=f.split(" "),z=R[R.length-1],Z=R[0];if(Z&&Z!=="none"&&ht.svg){this.fakeTS=!0,Z=Z.replace(/(^[\d\.]+)(.*?)$/g,function(i,g,p){return 2*Number(g)+p}),this.removeTextOutline();let n=$.createElementNS(v,"tspan");P(n,{class:"highcharts-text-outline",fill:z,stroke:z,"stroke-width":Z,"stroke-linejoin":"round"});let l=L.querySelector("textPath")||L;[].forEach.call(l.childNodes,i=>{let g=i.cloneNode(!0);g.removeAttribute&&["fill","stroke","stroke-width","stroke"].forEach(p=>g.removeAttribute(p)),n.appendChild(g)});let c=0;[].forEach.call(l.querySelectorAll("text tspan"),i=>{c+=Number(i.getAttribute("dy"))});let j=$.createElementNS(v,"tspan");j.textContent="\u200B",P(j,{x:Number(L.getAttribute("x")),dy:-c}),n.appendChild(j),l.insertBefore(n,l.firstChild)}}attr(f,L,R,z){let{element:Z}=this,n=T.symbolCustomAttribs,l,c,j=this,i;return typeof f=="string"&&L!==void 0&&(l=f,(f={})[l]=L),typeof f=="string"?j=(this[f+"Getter"]||this._defaultGetter).call(this,f,Z):(e(f,function(g,p){i=!1,z||at(this,p),this.symbolName&&n.indexOf(p)!==-1&&(c||(this.symbolAttr(f),c=!0),i=!0),this.rotation&&(p==="x"||p==="y")&&(this.doTransform=!0),i||(this[p+"Setter"]||this._defaultSetter).call(this,g,p,Z)},this),this.afterSetters()),R&&R.call(this),j}clip(f){if(f&&!f.clipPath){let L=h()+"-",R=this.renderer.createElement("clipPath").attr({id:L}).add(this.renderer.defs);M(f,{clipPath:R,id:L,count:0}),f.add(R)}return this.attr("clip-path",f?`url(${this.renderer.url}#${f.id})`:"none")}crisp(f,L){L=Math.round(L||f.strokeWidth||0);let R=f.x||this.x||0,z=f.y||this.y||0,Z=(f.width||this.width||0)+R,n=(f.height||this.height||0)+z,l=b(R,L),c=b(z,L);return M(f,{x:l,y:c,width:b(Z,L)-l,height:b(n,L)-c}),A(f.strokeWidth)&&(f.strokeWidth=L),f}complexColor(f,L,R){let z=this.renderer,Z,n,l,c,j,i,g,p,w,S,B=[],F;W(this.renderer,"complexColor",{args:arguments},function(){if(f.radialGradient?n="radialGradient":f.linearGradient&&(n="linearGradient"),n){if(l=f[n],j=z.gradients,i=f.stops,w=R.radialReference,O(l)&&(f[n]=l={x1:l[0],y1:l[1],x2:l[2],y2:l[3],gradientUnits:"userSpaceOnUse"}),n==="radialGradient"&&w&&!A(l.gradientUnits)&&(c=l,l=s(l,z.getRadialAttr(w,c),{gradientUnits:"userSpaceOnUse"})),e(l,function(U,K){K!=="id"&&B.push(K,U)}),e(i,function(U){B.push(U)}),j[B=B.join(",")])S=j[B].attr("id");else{l.id=S=h();let U=j[B]=z.createElement(n).attr(l).add(z.defs);U.radAttr=c,U.stops=[],i.forEach(function(K){K[1].indexOf("rgba")===0?(g=(Z=it.parse(K[1])).get("rgb"),p=Z.get("a")):(g=K[1],p=1);let st=z.createElement("stop").attr({offset:K[0],"stop-color":g,"stop-opacity":p}).add(U);U.stops.push(st)})}F="url("+z.url+"#"+S+")",R.setAttribute(L,F),R.gradient=B,f.toString=function(){return F}}})}css(f){let L=this.styles,R={},z=this.element,Z,n=!L;if(L&&e(f,function(l,c){L&&L[c]!==l&&(R[c]=l,n=!0)}),n){L&&(f=M(L,R)),f.width===null||f.width==="auto"?delete this.textWidth:z.nodeName.toLowerCase()==="text"&&f.width&&(Z=this.textWidth=r(f.width)),M(this.styles,f),Z&&!V&&this.renderer.forExport&&delete f.width;let l=s(f);z.namespaceURI===this.SVG_NS&&(["textOutline","textOverflow","width"].forEach(c=>l&&delete l[c]),l.color&&(l.fill=l.color)),k(z,l)}return this.added&&(this.element.nodeName==="text"&&this.renderer.buildText(this),f.textOutline&&this.applyTextOutline(f.textOutline)),this}dashstyleSetter(f){let L,R=this["stroke-width"];if(R==="inherit"&&(R=1),f=f&&f.toLowerCase()){let z=f.replace("shortdashdotdot","3,1,1,1,1,1,").replace("shortdashdot","3,1,1,1").replace("shortdot","1,1,").replace("shortdash","3,1,").replace("longdash","8,3,").replace(/dot/g,"1,3,").replace("dash","4,3,").replace(/,$/,"").split(",");for(L=z.length;L--;)z[L]=""+r(z[L])*t(R,NaN);f=z.join(",").replace(/NaN/g,"none"),this.element.setAttribute("stroke-dasharray",f)}}destroy(){let f=this,L=f.element||{},R=f.renderer,z=L.ownerSVGElement,Z=L.nodeName==="SPAN"&&f.parentGroup||void 0,n,l;if(L.onclick=L.onmouseout=L.onmouseover=L.onmousemove=L.point=null,at(f),f.clipPath&&z){let c=f.clipPath;[].forEach.call(z.querySelectorAll("[clip-path],[CLIP-PATH]"),function(j){j.getAttribute("clip-path").indexOf(c.element.id)>-1&&j.removeAttribute("clip-path")}),f.clipPath=c.destroy()}if(f.connector=f.connector?.destroy(),f.stops){for(l=0;l<f.stops.length;l++)f.stops[l].destroy();f.stops.length=0,f.stops=void 0}for(f.safeRemoveChild(L);Z&&Z.div&&Z.div.childNodes.length===0;)n=Z.parentGroup,f.safeRemoveChild(Z.div),delete Z.div,Z=n;f.alignOptions&&d(R.alignedObjects,f),e(f,function(c,j){f[j]&&f[j].parentGroup===f&&f[j].destroy&&f[j].destroy(),delete f[j]})}dSetter(f,L,R){O(f)&&(typeof f[0]=="string"&&(f=this.renderer.pathToSegments(f)),this.pathArray=f,f=f.reduce((z,Z,n)=>Z&&Z.join?(n?z+" ":"")+Z.join(" "):(Z||"").toString(),"")),/(NaN| {2}|^$)/.test(f)&&(f="M 0 0"),this[L]!==f&&(R.setAttribute(L,f),this[L]=f)}fillSetter(f,L,R){typeof f=="string"?R.setAttribute(L,f):f&&this.complexColor(f,L,R)}hrefSetter(f,L,R){R.setAttributeNS("http://www.w3.org/1999/xlink",L,f)}getBBox(f,L){let R,z,Z,n,{alignValue:l,element:c,renderer:j,styles:i,textStr:g}=this,{cache:p,cacheKeys:w}=j,S=c.namespaceURI===this.SVG_NS,B=t(L,this.rotation,0),F=j.styledMode?c&&T.prototype.getStyle.call(c,"font-size"):i.fontSize;if(A(g)&&((n=g.toString()).indexOf("<")===-1&&(n=n.replace(/\d/g,"0")),n+=["",j.rootFontSize,F,B,this.textWidth,l,i.textOverflow,i.fontWeight].join(",")),n&&!f&&(R=p[n]),!R||R.polygon){if(S||j.forExport){try{Z=this.fakeTS&&function(K){let st=c.querySelector(".highcharts-text-outline");st&&k(st,{display:K})},C(Z)&&Z("none"),R=c.getBBox?M({},c.getBBox()):{width:c.offsetWidth,height:c.offsetHeight,x:0,y:0},C(Z)&&Z("")}catch{}(!R||R.width<0)&&(R={x:0,y:0,width:0,height:0})}else R=this.htmlGetBBox();z=R.height,S&&(R.height=z={"11px,17":14,"13px,20":16}[`${F||""},${Math.round(z)}`]||z),B&&(R=this.getRotatedBox(R,B));let U={bBox:R};W(this,"afterGetBBox",U),R=U.bBox}if(n&&(g===""||R.height>0)){for(;w.length>250;)delete p[w.shift()];p[n]||w.push(n),p[n]=R}return R}getRotatedBox(f,L){let{x:R,y:z,width:Z,height:n}=f,{alignValue:l,translateY:c,rotationOriginX:j=0,rotationOriginY:i=0}=this,g={right:1,center:.5}[l||0]||0,p=Number(this.element.getAttribute("y")||0)-(c?0:z),w=L*q,S=(L-90)*q,B=Math.cos(w),F=Math.sin(w),U=Z*B,K=Z*F,st=Math.cos(S),rt=Math.sin(S),[[N,E],[G,X]]=[j,i].map(bt=>[bt-bt*B,bt*F]),_=R+g*(Z-U)+N+X+p*st,J=_+U,et=J-n*st,tt=et-U,nt=z+p-g*K-E+G+p*rt,ct=nt+K,pt=ct-n*rt,gt=pt-K,ut=Math.min(_,J,et,tt),xt=Math.min(nt,ct,pt,gt),mt=Math.max(_,J,et,tt)-ut,ft=Math.max(nt,ct,pt,gt)-xt;return{x:ut,y:xt,width:mt,height:ft,polygon:[[_,nt],[J,ct],[et,pt],[tt,gt]]}}getStyle(f){return I.getComputedStyle(this.element||this,"").getPropertyValue(f)}hasClass(f){return(""+this.attr("class")).split(" ").indexOf(f)!==-1}hide(){return this.attr({visibility:"hidden"})}htmlGetBBox(){return{height:0,width:0,x:0,y:0}}constructor(f,L){this.onEvents={},this.opacity=1,this.SVG_NS=v,this.element=L==="span"||L==="body"?m(L):$.createElementNS(this.SVG_NS,L),this.renderer=f,this.styles={},W(this,"afterInit")}on(f,L){let{onEvents:R}=this;return R[f]&&R[f](),R[f]=D(this.element,f,L),this}opacitySetter(f,L,R){let z=Number(Number(f).toFixed(3));this.opacity=z,R.setAttribute(L,z)}reAlign(){this.alignOptions?.width&&this.alignOptions.align!=="left"&&(this.alignOptions.width=this.getBBox().width,this.placed=!1,this.align())}removeClass(f){return this.attr("class",(""+this.attr("class")).replace(u(f)?RegExp(`(^| )${f}( |$)`):f," ").replace(/ +/g," ").trim())}removeTextOutline(){let f=this.element.querySelector("tspan.highcharts-text-outline");f&&this.safeRemoveChild(f)}safeRemoveChild(f){let L=f.parentNode;L&&L.removeChild(f)}setRadialReference(f){let L=this.element.gradient&&this.renderer.gradients[this.element.gradient];return this.element.radialReference=f,L&&L.radAttr&&L.animate(this.renderer.getRadialAttr(f,L.radAttr)),this}shadow(f){let{renderer:L}=this,R=s(this.parentGroup?.rotation===90?{offsetX:-1,offsetY:-1}:{},o(f)?f:{}),z=L.shadowDefinition(R);return this.attr({filter:f?`url(${L.url}#${z})`:"none"})}show(f=!0){return this.attr({visibility:f?"inherit":"visible"})}"stroke-widthSetter"(f,L,R){this[L]=f,R.setAttribute(L,f)}strokeWidth(){if(!this.renderer.styledMode)return this["stroke-width"]||0;let f=this.getStyle("stroke-width"),L=0,R;return/px$/.test(f)?L=r(f):f!==""&&(P(R=$.createElementNS(v,"rect"),{width:f,"stroke-width":0}),this.element.parentNode.appendChild(R),L=R.getBBox().width,R.parentNode.removeChild(R)),L}symbolAttr(f){let L=this;T.symbolCustomAttribs.forEach(function(R){L[R]=t(f[R],L[R])}),L.attr({d:L.renderer.symbols[L.symbolName](L.x,L.y,L.width,L.height,L)})}textSetter(f){f!==this.textStr&&(delete this.textPxLength,this.textStr=f,this.added&&this.renderer.buildText(this),this.reAlign())}titleSetter(f){let L=this.element,R=L.getElementsByTagName("title")[0]||$.createElementNS(this.SVG_NS,"title");L.insertBefore?L.insertBefore(R,L.firstChild):L.appendChild(R),R.textContent=x(t(f,""),[/<[^>]*>/g,""]).replace(/&lt;/g,"<").replace(/&gt;/g,">")}toFront(){let f=this.element;return f.parentNode.appendChild(f),this}translate(f,L){return this.attr({translateX:f,translateY:L})}updateTransform(f="transform"){let{element:L,matrix:R,rotation:z=0,rotationOriginX:Z,rotationOriginY:n,scaleX:l,scaleY:c,translateX:j=0,translateY:i=0}=this,g=["translate("+j+","+i+")"];A(R)&&g.push("matrix("+R.join(",")+")"),z&&(g.push("rotate("+z+" "+t(Z,L.getAttribute("x"),0)+" "+t(n,L.getAttribute("y")||0)+")"),this.text?.element.tagName==="SPAN"&&this.text.attr({rotation:z,rotationOriginX:(Z||0)-this.padding,rotationOriginY:(n||0)-this.padding})),(A(l)||A(c))&&g.push("scale("+t(l,1)+" "+t(c,1)+")"),g.length&&!(this.text||this).textPath&&L.setAttribute(f,g.join(" "))}visibilitySetter(f,L,R){f==="inherit"?R.removeAttribute(L):this[L]!==f&&R.setAttribute(L,f),this[L]=f}xGetter(f){return this.element.nodeName==="circle"&&(f==="x"?f="cx":f==="y"&&(f="cy")),this._defaultGetter(f)}zIndexSetter(f,L){let R=this.renderer,z=this.parentGroup,Z=(z||R).element||R.box,n=this.element,l=Z===R.box,c,j,i,g=!1,p,w=this.added,S;if(A(f)?(n.setAttribute("data-z-index",f),f=+f,this[L]===f&&(w=!1)):A(this[L])&&n.removeAttribute("data-z-index"),this[L]=f,w){for((f=this.zIndex)&&z&&(z.handleZ=!0),S=(c=Z.childNodes).length-1;S>=0&&!g;S--)p=!A(i=(j=c[S]).getAttribute("data-z-index")),j!==n&&(f<0&&p&&!l&&!S?(Z.insertBefore(n,c[S]),g=!0):(r(i)<=f||p&&(!A(f)||f>=0))&&(Z.insertBefore(n,c[S+1]),g=!0));g||(Z.insertBefore(n,c[l?3:0]),g=!0)}return g}}return T.symbolCustomAttribs=["anchorX","anchorY","clockwise","end","height","innerR","r","start","width","x","y"],T.prototype.strokeSetter=T.prototype.fillSetter,T.prototype.yGetter=T.prototype.xGetter,T.prototype.matrixSetter=T.prototype.rotationOriginXSetter=T.prototype.rotationOriginYSetter=T.prototype.rotationSetter=T.prototype.scaleXSetter=T.prototype.scaleYSetter=T.prototype.translateXSetter=T.prototype.translateYSetter=T.prototype.verticalAlignSetter=function(Y,f){this[f]=Y,this.doTransform=!0},T}),yt(H,"Core/Renderer/SVG/SVGLabel.js",[H["Core/Renderer/SVG/SVGElement.js"],H["Core/Utilities.js"]],function(Q,it){let{defined:ht,extend:dt,isNumber:lt,merge:ot,pick:at,removeEvent:q}=it;class $ extends Q{constructor(v,I,D,P,m,b,k,A,d,M){let W;super(v,"g"),this.paddingLeftSetter=this.paddingSetter,this.paddingRightSetter=this.paddingSetter,this.doUpdate=!1,this.textStr=I,this.x=D,this.y=P,this.anchorX=b,this.anchorY=k,this.baseline=d,this.className=M,this.addClass(M==="button"?"highcharts-no-tooltip":"highcharts-label"),M&&this.addClass("highcharts-"+M),this.text=v.text(void 0,0,0,A).attr({zIndex:1}),typeof m=="string"&&((W=/^url\((.*?)\)$/.test(m))||this.renderer.symbols[m])&&(this.symbolKey=m),this.bBox=$.emptyBBox,this.padding=3,this.baselineOffset=0,this.needsBox=v.styledMode||W,this.deferredAttr={},this.alignFactor=0}alignSetter(v){let I={left:0,center:.5,right:1}[v];I!==this.alignFactor&&(this.alignFactor=I,this.bBox&&lt(this.xSetting)&&this.attr({x:this.xSetting}))}anchorXSetter(v,I){this.anchorX=v,this.boxAttr(I,Math.round(v)-this.getCrispAdjust()-this.xSetting)}anchorYSetter(v,I){this.anchorY=v,this.boxAttr(I,v-this.ySetting)}boxAttr(v,I){this.box?this.box.attr(v,I):this.deferredAttr[v]=I}css(v){if(v){let I={};v=ot(v),$.textProps.forEach(D=>{v[D]!==void 0&&(I[D]=v[D],delete v[D])}),this.text.css(I),"fontSize"in I||"fontWeight"in I?this.updateTextPadding():("width"in I||"textOverflow"in I)&&this.updateBoxSize()}return Q.prototype.css.call(this,v)}destroy(){q(this.element,"mouseenter"),q(this.element,"mouseleave"),this.text&&this.text.destroy(),this.box&&(this.box=this.box.destroy()),Q.prototype.destroy.call(this)}fillSetter(v,I){v&&(this.needsBox=!0),this.fill=v,this.boxAttr(I,v)}getBBox(v,I){this.textStr&&this.bBox.width===0&&this.bBox.height===0&&this.updateBoxSize();let{padding:D,height:P=0,translateX:m=0,translateY:b=0,width:k=0}=this,A=at(this.paddingLeft,D),d=I??(this.rotation||0),M={width:k,height:P,x:m+this.bBox.x-A,y:b+this.bBox.y-D+this.baselineOffset};return d&&(M=this.getRotatedBox(M,d)),M}getCrispAdjust(){return(this.renderer.styledMode&&this.box?this.box.strokeWidth():this["stroke-width"]?parseInt(this["stroke-width"],10):0)%2/2}heightSetter(v){this.heightSetting=v,this.doUpdate=!0}afterSetters(){super.afterSetters(),this.doUpdate&&(this.updateBoxSize(),this.doUpdate=!1)}onAdd(){this.text.add(this),this.attr({text:at(this.textStr,""),x:this.x||0,y:this.y||0}),this.box&&ht(this.anchorX)&&this.attr({anchorX:this.anchorX,anchorY:this.anchorY})}paddingSetter(v,I){lt(v)?v!==this[I]&&(this[I]=v,this.updateTextPadding()):this[I]=void 0}rSetter(v,I){this.boxAttr(I,v)}strokeSetter(v,I){this.stroke=v,this.boxAttr(I,v)}"stroke-widthSetter"(v,I){v&&(this.needsBox=!0),this["stroke-width"]=v,this.boxAttr(I,v)}"text-alignSetter"(v){this.textAlign=v}textSetter(v){v!==void 0&&this.text.attr({text:v}),this.updateTextPadding(),this.reAlign()}updateBoxSize(){let v,I=this.text,D={},P=this.padding,m=this.bBox=(!lt(this.widthSetting)||!lt(this.heightSetting)||this.textAlign)&&ht(I.textStr)?I.getBBox(void 0,0):$.emptyBBox;this.width=this.getPaddedWidth(),this.height=(this.heightSetting||m.height||0)+2*P;let b=this.renderer.fontMetrics(I);if(this.baselineOffset=P+Math.min((this.text.firstLineMetrics||b).b,m.height||1/0),this.heightSetting&&(this.baselineOffset+=(this.heightSetting-b.h)/2),this.needsBox&&!I.textPath){if(!this.box){let k=this.box=this.symbolKey?this.renderer.symbol(this.symbolKey):this.renderer.rect();k.addClass((this.className==="button"?"":"highcharts-label-box")+(this.className?" highcharts-"+this.className+"-box":"")),k.add(this)}v=this.getCrispAdjust(),D.x=v,D.y=(this.baseline?-this.baselineOffset:0)+v,D.width=Math.round(this.width),D.height=Math.round(this.height),this.box.attr(dt(D,this.deferredAttr)),this.deferredAttr={}}}updateTextPadding(){let v=this.text;if(!v.textPath){this.updateBoxSize();let I=this.baseline?0:this.baselineOffset,D=at(this.paddingLeft,this.padding);ht(this.widthSetting)&&this.bBox&&(this.textAlign==="center"||this.textAlign==="right")&&(D+={center:.5,right:1}[this.textAlign]*(this.widthSetting-this.bBox.width)),(D!==v.x||I!==v.y)&&(v.attr("x",D),v.hasBoxWidthChanged&&(this.bBox=v.getBBox(!0)),I!==void 0&&v.attr("y",I)),v.x=D,v.y=I}}widthSetter(v){this.widthSetting=lt(v)?v:void 0,this.doUpdate=!0}getPaddedWidth(){let v=this.padding,I=at(this.paddingLeft,v),D=at(this.paddingRight,v);return(this.widthSetting||this.bBox.width||0)+I+D}xSetter(v){this.x=v,this.alignFactor&&(v-=this.alignFactor*this.getPaddedWidth(),this["forceAnimate:x"]=!0),this.xSetting=Math.round(v),this.attr("translateX",this.xSetting)}ySetter(v){this.ySetting=this.y=Math.round(v),this.attr("translateY",this.ySetting)}}return $.emptyBBox={width:0,height:0,x:0,y:0},$.textProps=["color","direction","fontFamily","fontSize","fontStyle","fontWeight","lineHeight","textAlign","textDecoration","textOutline","textOverflow","whiteSpace","width"],$}),yt(H,"Core/Renderer/SVG/Symbols.js",[H["Core/Utilities.js"]],function(Q){let{defined:it,isNumber:ht,pick:dt}=Q;function lt(q,$,V,v,I){let D=[];if(I){let P=I.start||0,m=dt(I.r,V),b=dt(I.r,v||V),k=2e-4/(I.borderRadius?1:Math.max(m,1)),A=Math.abs((I.end||0)-P-2*Math.PI)<k,d=(I.end||0)-(A?k:0),M=I.innerR,W=dt(I.open,A),O=Math.cos(P),C=Math.sin(P),o=Math.cos(d),u=Math.sin(d),s=dt(I.longArc,d-P-Math.PI<k?0:1),e=["A",m,b,0,s,dt(I.clockwise,1),q+m*o,$+b*u];e.params={start:P,end:d,cx:q,cy:$},D.push(["M",q+m*O,$+b*C],e),it(M)&&((e=["A",M,M,0,s,it(I.clockwise)?1-I.clockwise:0,q+M*O,$+M*C]).params={start:d,end:P,cx:q,cy:$},D.push(W?["M",q+M*o,$+M*u]:["L",q+M*o,$+M*u],e)),W||D.push(["Z"])}return D}function ot(q,$,V,v,I){return I&&I.r?at(q,$,V,v,I):[["M",q,$],["L",q+V,$],["L",q+V,$+v],["L",q,$+v],["Z"]]}function at(q,$,V,v,I){let D=I?.r||0;return[["M",q+D,$],["L",q+V-D,$],["A",D,D,0,0,1,q+V,$+D],["L",q+V,$+v-D],["A",D,D,0,0,1,q+V-D,$+v],["L",q+D,$+v],["A",D,D,0,0,1,q,$+v-D],["L",q,$+D],["A",D,D,0,0,1,q+D,$],["Z"]]}return{arc:lt,callout:function(q,$,V,v,I){let D=Math.min(I&&I.r||0,V,v),P=D+6,m=I&&I.anchorX,b=I&&I.anchorY||0,k=at(q,$,V,v,{r:D});if(!ht(m)||m<V&&m>0&&b<v&&b>0)return k;if(q+m>V-P)if(b>$+P&&b<$+v-P)k.splice(3,1,["L",q+V,b-6],["L",q+V+6,b],["L",q+V,b+6],["L",q+V,$+v-D]);else if(m<V){let A=b<$+P,d=A?$:$+v;k.splice(A?2:5,0,["L",m,b],["L",q+V-D,d])}else k.splice(3,1,["L",q+V,v/2],["L",m,b],["L",q+V,v/2],["L",q+V,$+v-D]);else if(q+m<P)if(b>$+P&&b<$+v-P)k.splice(7,1,["L",q,b+6],["L",q-6,b],["L",q,b-6],["L",q,$+D]);else if(m>0){let A=b<$+P,d=A?$:$+v;k.splice(A?1:6,0,["L",m,b],["L",q+D,d])}else k.splice(7,1,["L",q,v/2],["L",m,b],["L",q,v/2],["L",q,$+D]);else b>v&&m<V-P?k.splice(5,1,["L",m+6,$+v],["L",m,$+v+6],["L",m-6,$+v],["L",q+D,$+v]):b<0&&m>P&&k.splice(1,1,["L",m-6,$],["L",m,$-6],["L",m+6,$],["L",V-D,$]);return k},circle:function(q,$,V,v){return lt(q+V/2,$+v/2,V/2,v/2,{start:.5*Math.PI,end:2.5*Math.PI,open:!1})},diamond:function(q,$,V,v){return[["M",q+V/2,$],["L",q+V,$+v/2],["L",q+V/2,$+v],["L",q,$+v/2],["Z"]]},rect:ot,roundedRect:at,square:ot,triangle:function(q,$,V,v){return[["M",q+V/2,$],["L",q+V,$+v],["L",q,$+v],["Z"]]},"triangle-down":function(q,$,V,v){return[["M",q,$],["L",q+V,$],["L",q+V/2,$+v],["Z"]]}}}),yt(H,"Core/Renderer/SVG/TextBuilder.js",[H["Core/Renderer/HTML/AST.js"],H["Core/Globals.js"],H["Core/Utilities.js"]],function(Q,it,ht){let{doc:dt,SVG_NS:lt,win:ot}=it,{attr:at,extend:q,fireEvent:$,isString:V,objectEach:v,pick:I}=ht;return class{constructor(D){let P=D.styles;this.renderer=D.renderer,this.svgElement=D,this.width=D.textWidth,this.textLineHeight=P&&P.lineHeight,this.textOutline=P&&P.textOutline,this.ellipsis=!!(P&&P.textOverflow==="ellipsis"),this.noWrap=!!(P&&P.whiteSpace==="nowrap")}buildSVG(){let D=this.svgElement,P=D.element,m=D.renderer,b=I(D.textStr,"").toString(),k=b.indexOf("<")!==-1,A=P.childNodes,d=!D.added&&m.box,M=[b,this.ellipsis,this.noWrap,this.textLineHeight,this.textOutline,D.getStyle("font-size"),this.width].join(",");if(M!==D.textCache){D.textCache=M,delete D.actualWidth;for(let W=A.length;W--;)P.removeChild(A[W]);if(k||this.ellipsis||this.width||D.textPath||b.indexOf(" ")!==-1&&(!this.noWrap||/<br.*?>/g.test(b))){if(b!==""){d&&d.appendChild(P);let W=new Q(b);this.modifyTree(W.nodes),W.addToDOM(P),this.modifyDOM(),this.ellipsis&&(P.textContent||"").indexOf("\u2026")!==-1&&D.attr("title",this.unescapeEntities(D.textStr||"",["&lt;","&gt;"])),d&&d.removeChild(P)}}else P.appendChild(dt.createTextNode(this.unescapeEntities(b)));V(this.textOutline)&&D.applyTextOutline&&D.applyTextOutline(this.textOutline)}}modifyDOM(){let D,P=this.svgElement,m=at(P.element,"x");for(P.firstLineMetrics=void 0;(D=P.element.firstChild)&&/^[\s\u200B]*$/.test(D.textContent||" ");)P.element.removeChild(D);[].forEach.call(P.element.querySelectorAll("tspan.highcharts-br"),(d,M)=>{d.nextSibling&&d.previousSibling&&(M===0&&d.previousSibling.nodeType===1&&(P.firstLineMetrics=P.renderer.fontMetrics(d.previousSibling)),at(d,{dy:this.getLineHeight(d.nextSibling),x:m}))});let b=this.width||0;if(!b)return;let k=(d,M)=>{let W=d.textContent||"",O=W.replace(/([^\^])-/g,"$1- ").split(" "),C=!this.noWrap&&(O.length>1||P.element.childNodes.length>1),o=this.getLineHeight(M),u=0,s=P.actualWidth;if(this.ellipsis)W&&this.truncate(d,W,void 0,0,Math.max(0,b-.8*o),(e,t)=>e.substring(0,t)+"\u2026");else if(C){let e=[],t=[];for(;M.firstChild&&M.firstChild!==d;)t.push(M.firstChild),M.removeChild(M.firstChild);for(;O.length;)O.length&&!this.noWrap&&u>0&&(e.push(d.textContent||""),d.textContent=O.join(" ").replace(/- /g,"-")),this.truncate(d,void 0,O,u===0&&s||0,b,(r,a)=>O.slice(0,a).join(" ").replace(/- /g,"-")),s=P.actualWidth,u++;t.forEach(r=>{M.insertBefore(r,d)}),e.forEach(r=>{M.insertBefore(dt.createTextNode(r),d);let a=dt.createElementNS(lt,"tspan");a.textContent="\u200B",at(a,{dy:o,x:m}),M.insertBefore(a,d)})}},A=d=>{[].slice.call(d.childNodes).forEach(M=>{M.nodeType===ot.Node.TEXT_NODE?k(M,d):(M.className.baseVal.indexOf("highcharts-br")!==-1&&(P.actualWidth=0),A(M))})};A(P.element)}getLineHeight(D){let P=D.nodeType===ot.Node.TEXT_NODE?D.parentElement:D;return this.textLineHeight?parseInt(this.textLineHeight.toString(),10):this.renderer.fontMetrics(P||this.svgElement.element).h}modifyTree(D){let P=(m,b)=>{let{attributes:k={},children:A,style:d={},tagName:M}=m,W=this.renderer.styledMode;if(M==="b"||M==="strong"?W?k.class="highcharts-strong":d.fontWeight="bold":(M==="i"||M==="em")&&(W?k.class="highcharts-emphasized":d.fontStyle="italic"),d&&d.color&&(d.fill=d.color),M==="br"){k.class="highcharts-br",m.textContent="\u200B";let O=D[b+1];O&&O.textContent&&(O.textContent=O.textContent.replace(/^ +/gm,""))}else M==="a"&&A&&A.some(O=>O.tagName==="#text")&&(m.children=[{children:A,tagName:"tspan"}]);M!=="#text"&&M!=="a"&&(m.tagName="tspan"),q(m,{attributes:k,style:d}),A&&A.filter(O=>O.tagName!=="#text").forEach(P)};D.forEach(P),$(this.svgElement,"afterModifyTree",{nodes:D})}truncate(D,P,m,b,k,A){let d,M,W=this.svgElement,{rotation:O}=W,C=[],o=m?1:0,u=(P||m||"").length,s=u,e=function(t,r){let a=r||t,x=D.parentNode;if(x&&C[a]===void 0&&x.getSubStringLength)try{C[a]=b+x.getSubStringLength(0,m?a+1:a)}catch{}return C[a]};if(W.rotation=0,b+(M=e(D.textContent.length))>k){for(;o<=u;)s=Math.ceil((o+u)/2),m&&(d=A(m,s)),M=e(s,d&&d.length-1),o===u?o=u+1:M>k?u=s-1:o=s;u===0?D.textContent="":P&&u===P.length-1||(D.textContent=d||A(P||m,s))}m&&m.splice(0,s),W.actualWidth=M,W.rotation=O}unescapeEntities(D,P){return v(this.renderer.escapes,function(m,b){P&&P.indexOf(m)!==-1||(D=D.toString().replace(RegExp(m,"g"),b))}),D}}}),yt(H,"Core/Renderer/SVG/SVGRenderer.js",[H["Core/Renderer/HTML/AST.js"],H["Core/Defaults.js"],H["Core/Color/Color.js"],H["Core/Globals.js"],H["Core/Renderer/RendererRegistry.js"],H["Core/Renderer/SVG/SVGElement.js"],H["Core/Renderer/SVG/SVGLabel.js"],H["Core/Renderer/SVG/Symbols.js"],H["Core/Renderer/SVG/TextBuilder.js"],H["Core/Utilities.js"]],function(Q,it,ht,dt,lt,ot,at,q,$,V){let v,{defaultOptions:I}=it,{charts:D,deg2rad:P,doc:m,isFirefox:b,isMS:k,isWebKit:A,noop:d,SVG_NS:M,symbolSizes:W,win:O}=dt,{addEvent:C,attr:o,createElement:u,crisp:s,css:e,defined:t,destroyObjectProperties:r,extend:a,isArray:x,isNumber:y,isObject:h,isString:T,merge:Y,pick:f,pInt:L,replaceNested:R,uniqueKey:z}=V;class Z{constructor(l,c,j,i,g,p,w){let S,B,F=this.createElement("svg").attr({version:"1.1",class:"highcharts-root"}),U=F.element;w||F.css(this.getStyle(i||{})),l.appendChild(U),o(l,"dir","ltr"),l.innerHTML.indexOf("xmlns")===-1&&o(U,"xmlns",this.SVG_NS),this.box=U,this.boxWrapper=F,this.alignedObjects=[],this.url=this.getReferenceURL(),this.createElement("desc").add().element.appendChild(m.createTextNode("Created with Highcharts 11.4.8")),this.defs=this.createElement("defs").add(),this.allowHTML=p,this.forExport=g,this.styledMode=w,this.gradients={},this.cache={},this.cacheKeys=[],this.imgCount=0,this.rootFontSize=F.getStyle("font-size"),this.setSize(c,j,!1),b&&l.getBoundingClientRect&&((S=function(){e(l,{left:0,top:0}),B=l.getBoundingClientRect(),e(l,{left:Math.ceil(B.left)-B.left+"px",top:Math.ceil(B.top)-B.top+"px"})})(),this.unSubPixelFix=C(O,"resize",S))}definition(l){return new Q([l]).addToDOM(this.defs.element)}getReferenceURL(){if((b||A)&&m.getElementsByTagName("base").length){if(!t(v)){let l=z(),c=new Q([{tagName:"svg",attributes:{width:8,height:8},children:[{tagName:"defs",children:[{tagName:"clipPath",attributes:{id:l},children:[{tagName:"rect",attributes:{width:4,height:4}}]}]},{tagName:"rect",attributes:{id:"hitme",width:8,height:8,"clip-path":`url(#${l})`,fill:"rgba(0,0,0,0.001)"}}]}]).addToDOM(m.body);e(c,{position:"fixed",top:0,left:0,zIndex:9e5});let j=m.elementFromPoint(6,6);v=(j&&j.id)==="hitme",m.body.removeChild(c)}if(v)return R(O.location.href.split("#")[0],[/<[^>]*>/g,""],[/([\('\)])/g,"\\$1"],[/ /g,"%20"])}return""}getStyle(l){return this.style=a({fontFamily:"Helvetica, Arial, sans-serif",fontSize:"1rem"},l),this.style}setStyle(l){this.boxWrapper.css(this.getStyle(l))}isHidden(){return!this.boxWrapper.getBBox().width}destroy(){let l=this.defs;return this.box=null,this.boxWrapper=this.boxWrapper.destroy(),r(this.gradients||{}),this.gradients=null,this.defs=l.destroy(),this.unSubPixelFix&&this.unSubPixelFix(),this.alignedObjects=null,null}createElement(l){return new this.Element(this,l)}getRadialAttr(l,c){return{cx:l[0]-l[2]/2+(c.cx||0)*l[2],cy:l[1]-l[2]/2+(c.cy||0)*l[2],r:(c.r||0)*l[2]}}shadowDefinition(l){let c=[`highcharts-drop-shadow-${this.chartIndex}`,...Object.keys(l).map(i=>`${i}-${l[i]}`)].join("-").toLowerCase().replace(/[^a-z\d\-]/g,""),j=Y({color:"#000000",offsetX:1,offsetY:1,opacity:.15,width:5},l);return this.defs.element.querySelector(`#${c}`)||this.definition({tagName:"filter",attributes:{id:c,filterUnits:j.filterUnits},children:this.getShadowFilterContent(j)}),c}getShadowFilterContent(l){return[{tagName:"feDropShadow",attributes:{dx:l.offsetX,dy:l.offsetY,"flood-color":l.color,"flood-opacity":Math.min(5*l.opacity,1),stdDeviation:l.width/2}}]}buildText(l){new $(l).buildSVG()}getContrast(l){let c=ht.parse(l).rgba.map(i=>{let g=i/255;return g<=.03928?g/12.92:Math.pow((g+.055)/1.055,2.4)}),j=.2126*c[0]+.7152*c[1]+.0722*c[2];return 1.05/(j+.05)>(j+.05)/.05?"#FFFFFF":"#000000"}button(l,c,j,i,g={},p,w,S,B,F){let U=this.label(l,c,j,B,void 0,void 0,F,void 0,"button"),K=this.styledMode,st=arguments,rt=0;g=Y(I.global.buttonTheme,g),K&&(delete g.fill,delete g.stroke,delete g["stroke-width"]);let N=g.states||{},E=g.style||{};delete g.states,delete g.style;let G=[Q.filterUserAttributes(g)],X=[E];return K||["hover","select","disabled"].forEach((_,J)=>{G.push(Y(G[0],Q.filterUserAttributes(st[J+5]||N[_]||{}))),X.push(G[J+1].style),delete G[J+1].style}),C(U.element,k?"mouseover":"mouseenter",function(){rt!==3&&U.setState(1)}),C(U.element,k?"mouseout":"mouseleave",function(){rt!==3&&U.setState(rt)}),U.setState=(_=0)=>{if(_!==1&&(U.state=rt=_),U.removeClass(/highcharts-button-(normal|hover|pressed|disabled)/).addClass("highcharts-button-"+["normal","hover","pressed","disabled"][_]),!K){U.attr(G[_]);let J=X[_];h(J)&&U.css(J)}},U.attr(G[0]),!K&&(U.css(a({cursor:"default"},E)),F&&U.text.css({pointerEvents:"none"})),U.on("touchstart",_=>_.stopPropagation()).on("click",function(_){rt!==3&&i.call(U,_)})}crispLine(l,c){let[j,i]=l;return t(j[1])&&j[1]===i[1]&&(j[1]=i[1]=s(j[1],c)),t(j[2])&&j[2]===i[2]&&(j[2]=i[2]=s(j[2],c)),l}path(l){let c=this.styledMode?{}:{fill:"none"};return x(l)?c.d=l:h(l)&&a(c,l),this.createElement("path").attr(c)}circle(l,c,j){let i=h(l)?l:l===void 0?{}:{x:l,y:c,r:j},g=this.createElement("circle");return g.xSetter=g.ySetter=function(p,w,S){S.setAttribute("c"+w,p)},g.attr(i)}arc(l,c,j,i,g,p){let w;h(l)?(c=(w=l).y,j=w.r,i=w.innerR,g=w.start,p=w.end,l=w.x):w={innerR:i,start:g,end:p};let S=this.symbol("arc",l,c,j,j,w);return S.r=j,S}rect(l,c,j,i,g,p){let w=h(l)?l:l===void 0?{}:{x:l,y:c,r:g,width:Math.max(j||0,0),height:Math.max(i||0,0)},S=this.createElement("rect");return this.styledMode||(p!==void 0&&(w["stroke-width"]=p,a(w,S.crisp(w))),w.fill="none"),S.rSetter=function(B,F,U){S.r=B,o(U,{rx:B,ry:B})},S.rGetter=function(){return S.r||0},S.attr(w)}roundedRect(l){return this.symbol("roundedRect").attr(l)}setSize(l,c,j){this.width=l,this.height=c,this.boxWrapper.animate({width:l,height:c},{step:function(){this.attr({viewBox:"0 0 "+this.attr("width")+" "+this.attr("height")})},duration:f(j,!0)?void 0:0}),this.alignElements()}g(l){let c=this.createElement("g");return l?c.attr({class:"highcharts-"+l}):c}image(l,c,j,i,g,p){let w={preserveAspectRatio:"none"};y(c)&&(w.x=c),y(j)&&(w.y=j),y(i)&&(w.width=i),y(g)&&(w.height=g);let S=this.createElement("image").attr(w),B=function(F){S.attr({href:l}),p.call(S,F)};if(p){S.attr({href:"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="});let F=new O.Image;C(F,"load",B),F.src=l,F.complete&&B({})}else S.attr({href:l});return S}symbol(l,c,j,i,g,p){let w,S,B,F,U=this,K=/^url\((.*?)\)$/,st=K.test(l),rt=!st&&(this.symbols[l]?l:"circle"),N=rt&&this.symbols[rt];if(N)typeof c=="number"&&(S=N.call(this.symbols,c||0,j||0,i||0,g||0,p)),w=this.path(S),U.styledMode||w.attr("fill","none"),a(w,{symbolName:rt||void 0,x:c,y:j,width:i,height:g}),p&&a(w,p);else if(st){B=l.match(K)[1];let E=w=this.image(B);E.imgwidth=f(p&&p.width,W[B]&&W[B].width),E.imgheight=f(p&&p.height,W[B]&&W[B].height),F=G=>G.attr({width:G.width,height:G.height}),["width","height"].forEach(G=>{E[`${G}Setter`]=function(X,_){this[_]=X;let{alignByTranslate:J,element:et,width:tt,height:nt,imgwidth:ct,imgheight:pt}=this,gt=_==="width"?ct:pt,ut=1;p&&p.backgroundSize==="within"&&tt&&nt&&ct&&pt?(ut=Math.min(tt/ct,nt/pt),o(et,{width:Math.round(ct*ut),height:Math.round(pt*ut)})):et&&gt&&et.setAttribute(_,gt),!J&&ct&&pt&&this.translate(((tt||0)-ct*ut)/2,((nt||0)-pt*ut)/2)}}),t(c)&&E.attr({x:c,y:j}),E.isImg=!0,E.symbolUrl=l,t(E.imgwidth)&&t(E.imgheight)?F(E):(E.attr({width:0,height:0}),u("img",{onload:function(){let G=D[U.chartIndex];this.width===0&&(e(this,{position:"absolute",top:"-999em"}),m.body.appendChild(this)),W[B]={width:this.width,height:this.height},E.imgwidth=this.width,E.imgheight=this.height,E.element&&F(E),this.parentNode&&this.parentNode.removeChild(this),U.imgCount--,U.imgCount||!G||G.hasLoaded||G.onload()},src:B}),this.imgCount++)}return w}clipRect(l,c,j,i){return this.rect(l,c,j,i,0)}text(l,c,j,i){let g={};if(i&&(this.allowHTML||!this.forExport))return this.html(l,c,j);g.x=Math.round(c||0),j&&(g.y=Math.round(j)),t(l)&&(g.text=l);let p=this.createElement("text").attr(g);return i&&(!this.forExport||this.allowHTML)||(p.xSetter=function(w,S,B){let F=B.getElementsByTagName("tspan"),U=B.getAttribute(S);for(let K=0,st;K<F.length;K++)(st=F[K]).getAttribute(S)===U&&st.setAttribute(S,w);B.setAttribute(S,w)}),p}fontMetrics(l){let c=L(ot.prototype.getStyle.call(l,"font-size")||0),j=c<24?c+3:Math.round(1.2*c),i=Math.round(.8*j);return{h:j,b:i,f:c}}rotCorr(l,c,j){let i=l;return c&&j&&(i=Math.max(i*Math.cos(c*P),4)),{x:-l/3*Math.sin(c*P),y:i}}pathToSegments(l){let c=[],j=[],i={A:8,C:7,H:2,L:3,M:3,Q:5,S:5,T:3,V:2};for(let g=0;g<l.length;g++)T(j[0])&&y(l[g])&&j.length===i[j[0].toUpperCase()]&&l.splice(g,0,j[0].replace("M","L").replace("m","l")),typeof l[g]=="string"&&(j.length&&c.push(j.slice(0)),j.length=0),j.push(l[g]);return c.push(j.slice(0)),c}label(l,c,j,i,g,p,w,S,B){return new at(this,l,c,j,i,g,p,w,S,B)}alignElements(){this.alignedObjects.forEach(l=>l.align())}}return a(Z.prototype,{Element:ot,SVG_NS:M,escapes:{"&":"&amp;","<":"&lt;",">":"&gt;","'":"&#39;",'"':"&quot;"},symbols:q,draw:d}),lt.registerRendererType("svg",Z,!0),Z}),yt(H,"Core/Renderer/HTML/HTMLElement.js",[H["Core/Renderer/HTML/AST.js"],H["Core/Globals.js"],H["Core/Renderer/SVG/SVGElement.js"],H["Core/Utilities.js"]],function(Q,it,ht,dt){let{composed:lt}=it,{attr:ot,css:at,createElement:q,defined:$,extend:V,pInt:v,pushUnique:I}=dt;function D(k,A,d){let M=this.div?.style||d.style;ht.prototype[`${A}Setter`].call(this,k,A,d),M&&(M[A]=k)}let P=(k,A)=>{if(!k.div){let d=ot(k.element,"class"),M=k.css,W=q("div",d?{className:d}:void 0,Nt(Ot({position:"absolute",left:`${k.translateX||0}px`,top:`${k.translateY||0}px`},k.styles),{display:k.display,opacity:k.opacity,visibility:k.visibility}),k.parentGroup?.div||A);k.classSetter=(O,C,o)=>{o.setAttribute("class",O),W.className=O},k.translateXSetter=k.translateYSetter=(O,C)=>{k[C]=O,W.style[C==="translateX"?"left":"top"]=`${O}px`,k.doTransform=!0},k.opacitySetter=k.visibilitySetter=D,k.css=O=>(M.call(k,O),O.cursor&&(W.style.cursor=O.cursor),O.pointerEvents&&(W.style.pointerEvents=O.pointerEvents),k),k.on=function(){return ht.prototype.on.apply({element:W,onEvents:k.onEvents},arguments),k},k.div=W}return k.div};class m extends ht{static compose(A){I(lt,this.compose)&&(A.prototype.html=function(d,M,W){return new m(this,"span").attr({text:d,x:Math.round(M),y:Math.round(W)})})}constructor(A,d){super(A,d),this.css(Ot({position:"absolute"},A.styledMode?{}:{fontFamily:A.style.fontFamily,fontSize:A.style.fontSize})),this.element.style.whiteSpace="nowrap"}getSpanCorrection(A,d,M){this.xCorr=-A*M,this.yCorr=-d}css(A){let d,{element:M}=this,W=M.tagName==="SPAN"&&A&&"width"in A,O=W&&A.width;return W&&(delete A.width,this.textWidth=v(O)||void 0,d=!0),A?.textOverflow==="ellipsis"&&(A.whiteSpace="nowrap",A.overflow="hidden"),V(this.styles,A),at(M,A),d&&this.updateTransform(),this}htmlGetBBox(){let{element:A}=this;return{x:A.offsetLeft,y:A.offsetTop,width:A.offsetWidth,height:A.offsetHeight}}updateTransform(){if(!this.added){this.alignOnAdd=!0;return}let{element:A,renderer:d,rotation:M,rotationOriginX:W,rotationOriginY:O,styles:C,textAlign:o="left",textWidth:u,translateX:s=0,translateY:e=0,x:t=0,y:r=0}=this,a={left:0,center:.5,right:1}[o],x=C.whiteSpace;if(at(A,{marginLeft:`${s}px`,marginTop:`${e}px`}),A.tagName==="SPAN"){let y=[M,o,A.innerHTML,u,this.textAlign].join(","),h=-(this.parentGroup?.padding*1)||0,T,Y=!1;if(u!==this.oldTextWidth){let Z=this.textPxLength?this.textPxLength:(at(A,{width:"",whiteSpace:x||"nowrap"}),A.offsetWidth),n=u||0;(n>this.oldTextWidth||Z>n)&&(/[ \-]/.test(A.textContent||A.innerText)||A.style.textOverflow==="ellipsis")&&(at(A,{width:Z>n||M?u+"px":"auto",display:"block",whiteSpace:x||"normal"}),this.oldTextWidth=u,Y=!0)}this.hasBoxWidthChanged=Y,y!==this.cTT&&(T=d.fontMetrics(A).b,$(M)&&(M!==(this.oldRotation||0)||o!==this.oldAlign)&&this.setSpanRotation(M,h,h),this.getSpanCorrection(!$(M)&&this.textPxLength||A.offsetWidth,T,a));let{xCorr:f=0,yCorr:L=0}=this,R=(W??t)-f-t-h,z=(O??r)-L-r-h;at(A,{left:`${t+f}px`,top:`${r+L}px`,transformOrigin:`${R}px ${z}px`}),this.cTT=y,this.oldRotation=M,this.oldAlign=o}}setSpanRotation(A,d,M){at(this.element,{transform:`rotate(${A}deg)`,transformOrigin:`${d}% ${M}px`})}add(A){let d,M=this.renderer.box.parentNode,W=[];if(this.parentGroup=A,A&&!(d=A.div)){let O=A;for(;O;)W.push(O),O=O.parentGroup;for(let C of W.reverse())d=P(C,M)}return(d||M).appendChild(this.element),this.added=!0,this.alignOnAdd&&this.updateTransform(),this}textSetter(A){A!==this.textStr&&(delete this.bBox,delete this.oldTextWidth,Q.setElementHTML(this.element,A??""),this.textStr=A,this.doTransform=!0)}alignSetter(A){this.alignValue=this.textAlign=A,this.doTransform=!0}xSetter(A,d){this[d]=A,this.doTransform=!0}}let b=m.prototype;return b.visibilitySetter=b.opacitySetter=D,b.ySetter=b.rotationSetter=b.rotationOriginXSetter=b.rotationOriginYSetter=b.xSetter,m}),yt(H,"Core/Axis/AxisDefaults.js",[],function(){var Q,it;return(it=Q||(Q={})).xAxis={alignTicks:!0,allowDecimals:void 0,panningEnabled:!0,zIndex:2,zoomEnabled:!0,dateTimeLabelFormats:{millisecond:{main:"%H:%M:%S.%L",range:!1},second:{main:"%H:%M:%S",range:!1},minute:{main:"%H:%M",range:!1},hour:{main:"%H:%M",range:!1},day:{main:"%e %b"},week:{main:"%e %b"},month:{main:"%b '%y"},year:{main:"%Y"}},endOnTick:!1,gridLineDashStyle:"Solid",gridZIndex:1,labels:{autoRotationLimit:80,distance:15,enabled:!0,indentation:10,overflow:"justify",reserveSpace:void 0,rotation:void 0,staggerLines:0,step:0,useHTML:!1,zIndex:7,style:{color:"#333333",cursor:"default",fontSize:"0.8em"}},maxPadding:.01,minorGridLineDashStyle:"Solid",minorTickLength:2,minorTickPosition:"outside",minorTicksPerMajor:5,minPadding:.01,offset:void 0,reversed:void 0,reversedStacks:!1,showEmpty:!0,showFirstLabel:!0,showLastLabel:!0,startOfWeek:1,startOnTick:!1,tickLength:10,tickPixelInterval:100,tickmarkPlacement:"between",tickPosition:"outside",title:{align:"middle",useHTML:!1,x:0,y:0,style:{color:"#666666",fontSize:"0.8em"}},visible:!0,minorGridLineColor:"#f2f2f2",minorGridLineWidth:1,minorTickColor:"#999999",lineColor:"#333333",lineWidth:1,gridLineColor:"#e6e6e6",gridLineWidth:void 0,tickColor:"#333333"},it.yAxis={reversedStacks:!0,endOnTick:!0,maxPadding:.05,minPadding:.05,tickPixelInterval:72,showLastLabel:!0,labels:{x:void 0},startOnTick:!0,title:{text:"Values"},stackLabels:{animation:{},allowOverlap:!1,enabled:!1,crop:!0,overflow:"justify",formatter:function(){let{numberFormatter:ht}=this.axis.chart;return ht(this.total||0,-1)},style:{color:"#000000",fontSize:"0.7em",fontWeight:"bold",textOutline:"1px contrast"}},gridLineWidth:1,lineWidth:0},Q}),yt(H,"Core/Foundation.js",[H["Core/Utilities.js"]],function(Q){var it;let{addEvent:ht,isFunction:dt,objectEach:lt,removeEvent:ot}=Q;return(it||(it={})).registerEventOptions=function(at,q){at.eventOptions=at.eventOptions||{},lt(q.events,function($,V){at.eventOptions[V]!==$&&(at.eventOptions[V]&&(ot(at,V,at.eventOptions[V]),delete at.eventOptions[V]),dt($)&&(at.eventOptions[V]=$,ht(at,V,$,{order:0})))})},it}),yt(H,"Core/Axis/Tick.js",[H["Core/Templating.js"],H["Core/Globals.js"],H["Core/Utilities.js"]],function(Q,it,ht){let{deg2rad:dt}=it,{clamp:lt,correctFloat:ot,defined:at,destroyObjectProperties:q,extend:$,fireEvent:V,isNumber:v,merge:I,objectEach:D,pick:P}=ht;return class{constructor(m,b,k,A,d){this.isNew=!0,this.isNewLabel=!0,this.axis=m,this.pos=b,this.type=k||"",this.parameters=d||{},this.tickmarkOffset=this.parameters.tickmarkOffset,this.options=this.parameters.options,V(this,"init"),k||A||this.addLabel()}addLabel(){let m=this,b=m.axis,k=b.options,A=b.chart,d=b.categories,M=b.logarithmic,W=b.names,O=m.pos,C=P(m.options&&m.options.labels,k.labels),o=b.tickPositions,u=O===o[0],s=O===o[o.length-1],e=(!C.step||C.step===1)&&b.tickInterval===1,t=o.info,r=m.label,a,x,y,h=this.parameters.category||(d?P(d[O],W[O],O):O);M&&v(h)&&(h=ot(M.lin2log(h))),b.dateTime&&(t?a=(x=A.time.resolveDTLFormat(k.dateTimeLabelFormats[!k.grid&&t.higherRanks[O]||t.unitName])).main:v(h)&&(a=b.dateTime.getXDateFormat(h,k.dateTimeLabelFormats||{}))),m.isFirst=u,m.isLast=s;let T={axis:b,chart:A,dateTimeLabelFormat:a,isFirst:u,isLast:s,pos:O,tick:m,tickPositionInfo:t,value:h};V(this,"labelFormat",T);let Y=R=>C.formatter?C.formatter.call(R,R):C.format?(R.text=b.defaultLabelFormatter.call(R),Q.format(C.format,R,A)):b.defaultLabelFormatter.call(R),f=Y.call(T,T),L=x&&x.list;L?m.shortenLabel=function(){for(y=0;y<L.length;y++)if($(T,{dateTimeLabelFormat:L[y]}),r.attr({text:Y.call(T,T)}),r.getBBox().width<b.getSlotWidth(m)-2*(C.padding||0))return;r.attr({text:""})}:m.shortenLabel=void 0,e&&b._addedPlotLB&&m.moveLabel(f,C),at(r)||m.movedLabel?r&&r.textStr!==f&&!e&&(!r.textWidth||C.style.width||r.styles.width||r.css({width:null}),r.attr({text:f}),r.textPxLength=r.getBBox().width):(m.label=r=m.createLabel(f,C),m.rotation=0)}createLabel(m,b,k){let A=this.axis,d=A.chart,M=at(m)&&b.enabled?d.renderer.text(m,k?.x,k?.y,b.useHTML).add(A.labelGroup):void 0;return M&&(d.styledMode||M.css(I(b.style)),M.textPxLength=M.getBBox().width),M}destroy(){q(this,this.axis)}getPosition(m,b,k,A){let d=this.axis,M=d.chart,W=A&&M.oldChartHeight||M.chartHeight,O={x:m?ot(d.translate(b+k,void 0,void 0,A)+d.transB):d.left+d.offset+(d.opposite?(A&&M.oldChartWidth||M.chartWidth)-d.right-d.left:0),y:m?W-d.bottom+d.offset-(d.opposite?d.height:0):ot(W-d.translate(b+k,void 0,void 0,A)-d.transB)};return O.y=lt(O.y,-1e9,1e9),V(this,"afterGetPosition",{pos:O}),O}getLabelPosition(m,b,k,A,d,M,W,O){let C,o,u=this.axis,s=u.transA,e=u.isLinked&&u.linkedParent?u.linkedParent.reversed:u.reversed,t=u.staggerLines,r=u.tickRotCorr||{x:0,y:0},a=A||u.reserveSpaceDefault?0:-u.labelOffset*(u.labelAlign==="center"?.5:1),x=d.distance,y={};return C=u.side===0?k.rotation?-x:-k.getBBox().height:u.side===2?r.y+x:Math.cos(k.rotation*dt)*(r.y-k.getBBox(!1,0).height/2),at(d.y)&&(C=u.side===0&&u.horiz?d.y+C:d.y),m=m+P(d.x,[0,1,0,-1][u.side]*x)+a+r.x-(M&&A?M*s*(e?-1:1):0),b=b+C-(M&&!A?M*s*(e?1:-1):0),t&&(o=W/(O||1)%t,u.opposite&&(o=t-o-1),b+=o*(u.labelOffset/t)),y.x=m,y.y=Math.round(b),V(this,"afterGetLabelPosition",{pos:y,tickmarkOffset:M,index:W}),y}getLabelSize(){return this.label?this.label.getBBox()[this.axis.horiz?"height":"width"]:0}getMarkPath(m,b,k,A,d=!1,M){return M.crispLine([["M",m,b],["L",m+(d?0:-k),b+(d?k:0)]],A)}handleOverflow(m){let b=this.axis,k=b.options.labels,A=m.x,d=b.chart.chartWidth,M=b.chart.spacing,W=P(b.labelLeft,Math.min(b.pos,M[3])),O=P(b.labelRight,Math.max(b.isRadial?0:b.pos+b.len,d-M[1])),C=this.label,o=this.rotation,u={left:0,center:.5,right:1}[b.labelAlign||C.attr("align")],s=C.getBBox().width,e=b.getSlotWidth(this),t={},r=e,a=1,x,y,h;o||k.overflow!=="justify"?o<0&&A-u*s<W?h=Math.round(A/Math.cos(o*dt)-W):o>0&&A+u*s>O&&(h=Math.round((d-A)/Math.cos(o*dt))):(x=A-u*s,y=A+(1-u)*s,x<W?r=m.x+r*(1-u)-W:y>O&&(r=O-m.x+r*u,a=-1),(r=Math.min(e,r))<e&&b.labelAlign==="center"&&(m.x+=a*(e-r-u*(e-Math.min(s,r)))),(s>r||b.autoRotation&&(C.styles||{}).width)&&(h=r)),h&&(this.shortenLabel?this.shortenLabel():(t.width=Math.floor(h)+"px",(k.style||{}).textOverflow||(t.textOverflow="ellipsis"),C.css(t)))}moveLabel(m,b){let k=this,A=k.label,d=k.axis,M=!1,W;A&&A.textStr===m?(k.movedLabel=A,M=!0,delete k.label):D(d.ticks,function(O){M||O.isNew||O===k||!O.label||O.label.textStr!==m||(k.movedLabel=O.label,M=!0,O.labelPos=k.movedLabel.xy,delete O.label)}),!M&&(k.labelPos||A)&&(W=k.labelPos||A.xy,k.movedLabel=k.createLabel(m,b,W),k.movedLabel&&k.movedLabel.attr({opacity:0}))}render(m,b,k){let A=this.axis,d=A.horiz,M=this.pos,W=P(this.tickmarkOffset,A.tickmarkOffset),O=this.getPosition(d,M,W,b),C=O.x,o=O.y,u=A.pos,s=u+A.len,e=d?C:o;!A.chart.polar&&this.isNew&&(ot(e)<u||e>s)&&(k=0);let t=P(k,this.label&&this.label.newOpacity,1);k=P(k,1),this.isActive=!0,this.renderGridLine(b,k),this.renderMark(O,k),this.renderLabel(O,b,t,m),this.isNew=!1,V(this,"afterRender")}renderGridLine(m,b){let k=this.axis,A=k.options,d={},M=this.pos,W=this.type,O=P(this.tickmarkOffset,k.tickmarkOffset),C=k.chart.renderer,o=this.gridLine,u,s=A.gridLineWidth,e=A.gridLineColor,t=A.gridLineDashStyle;this.type==="minor"&&(s=A.minorGridLineWidth,e=A.minorGridLineColor,t=A.minorGridLineDashStyle),o||(k.chart.styledMode||(d.stroke=e,d["stroke-width"]=s||0,d.dashstyle=t),W||(d.zIndex=1),m&&(b=0),this.gridLine=o=C.path().attr(d).addClass("highcharts-"+(W?W+"-":"")+"grid-line").add(k.gridGroup)),o&&(u=k.getPlotLinePath({value:M+O,lineWidth:o.strokeWidth(),force:"pass",old:m,acrossPanes:!1}))&&o[m||this.isNew?"attr":"animate"]({d:u,opacity:b})}renderMark(m,b){let k=this.axis,A=k.options,d=k.chart.renderer,M=this.type,W=k.tickSize(M?M+"Tick":"tick"),O=m.x,C=m.y,o=P(A[M!=="minor"?"tickWidth":"minorTickWidth"],!M&&k.isXAxis?1:0),u=A[M!=="minor"?"tickColor":"minorTickColor"],s=this.mark,e=!s;W&&(k.opposite&&(W[0]=-W[0]),s||(this.mark=s=d.path().addClass("highcharts-"+(M?M+"-":"")+"tick").add(k.axisGroup),k.chart.styledMode||s.attr({stroke:u,"stroke-width":o})),s[e?"attr":"animate"]({d:this.getMarkPath(O,C,W[0],s.strokeWidth(),k.horiz,d),opacity:b}))}renderLabel(m,b,k,A){let d=this.axis,M=d.horiz,W=d.options,O=this.label,C=W.labels,o=C.step,u=P(this.tickmarkOffset,d.tickmarkOffset),s=m.x,e=m.y,t=!0;O&&v(s)&&(O.xy=m=this.getLabelPosition(s,e,O,M,C,u,A,o),(!this.isFirst||this.isLast||W.showFirstLabel)&&(!this.isLast||this.isFirst||W.showLastLabel)?!M||C.step||C.rotation||b||k===0||this.handleOverflow(m):t=!1,o&&A%o&&(t=!1),t&&v(m.y)?(m.opacity=k,O[this.isNewLabel?"attr":"animate"](m).show(!0),this.isNewLabel=!1):(O.hide(),this.isNewLabel=!0))}replaceMovedLabel(){let m=this.label,b=this.axis;m&&!this.isNew&&(m.animate({opacity:0},void 0,m.destroy),delete this.label),b.isDirty=!0,this.label=this.movedLabel,delete this.movedLabel}}}),yt(H,"Core/Axis/Axis.js",[H["Core/Animation/AnimationUtilities.js"],H["Core/Axis/AxisDefaults.js"],H["Core/Color/Color.js"],H["Core/Defaults.js"],H["Core/Foundation.js"],H["Core/Globals.js"],H["Core/Axis/Tick.js"],H["Core/Utilities.js"]],function(Q,it,ht,dt,lt,ot,at,q){let{animObject:$}=Q,{xAxis:V,yAxis:v}=it,{defaultOptions:I}=dt,{registerEventOptions:D}=lt,{deg2rad:P}=ot,{arrayMax:m,arrayMin:b,clamp:k,correctFloat:A,defined:d,destroyObjectProperties:M,erase:W,error:O,extend:C,fireEvent:o,getClosestDistance:u,insertItem:s,isArray:e,isNumber:t,isString:r,merge:a,normalizeTickInterval:x,objectEach:y,pick:h,relativeLength:T,removeEvent:Y,splat:f,syncTimeout:L}=q,R=(Z,n)=>x(n,void 0,void 0,h(Z.options.allowDecimals,n<.5||Z.tickAmount!==void 0),!!Z.tickAmount);C(I,{xAxis:V,yAxis:a(V,v)});class z{constructor(n,l,c){this.init(n,l,c)}init(n,l,c=this.coll){let j=c==="xAxis",i=this.isZAxis||(n.inverted?!j:j);this.chart=n,this.horiz=i,this.isXAxis=j,this.coll=c,o(this,"init",{userOptions:l}),this.opposite=h(l.opposite,this.opposite),this.side=h(l.side,this.side,i?this.opposite?0:2:this.opposite?1:3),this.setOptions(l);let g=this.options,p=g.labels;this.type??(this.type=g.type||"linear"),this.uniqueNames??(this.uniqueNames=g.uniqueNames??!0),o(this,"afterSetType"),this.userOptions=l,this.minPixelPadding=0,this.reversed=h(g.reversed,this.reversed),this.visible=g.visible,this.zoomEnabled=g.zoomEnabled,this.hasNames=this.type==="category"||g.categories===!0,this.categories=e(g.categories)&&g.categories||(this.hasNames?[]:void 0),this.names||(this.names=[],this.names.keys={}),this.plotLinesAndBandsGroups={},this.positiveValuesOnly=!!this.logarithmic,this.isLinked=d(g.linkedTo),this.ticks={},this.labelEdge=[],this.minorTicks={},this.plotLinesAndBands=[],this.alternateBands={},this.len??(this.len=0),this.minRange=this.userMinRange=g.minRange||g.maxZoom,this.range=g.range,this.offset=g.offset||0,this.max=void 0,this.min=void 0;let w=h(g.crosshair,f(n.options.tooltip.crosshairs)[j?0:1]);this.crosshair=w===!0?{}:w,n.axes.indexOf(this)===-1&&(j?n.axes.splice(n.xAxis.length,0,this):n.axes.push(this),s(this,n[this.coll])),n.orderItems(this.coll),this.series=this.series||[],n.inverted&&!this.isZAxis&&j&&!d(this.reversed)&&(this.reversed=!0),this.labelRotation=t(p.rotation)?p.rotation:void 0,D(this,g),o(this,"afterInit")}setOptions(n){let l=this.horiz?{labels:{autoRotation:[-45],padding:4},margin:15}:{labels:{padding:1},title:{rotation:90*this.side}};this.options=a(l,I[this.coll],n),o(this,"afterSetOptions",{userOptions:n})}defaultLabelFormatter(){let n=this.axis,{numberFormatter:l}=this.chart,c=t(this.value)?this.value:NaN,j=n.chart.time,i=n.categories,g=this.dateTimeLabelFormat,p=I.lang,w=p.numericSymbols,S=p.numericSymbolMagnitude||1e3,B=n.logarithmic?Math.abs(c):n.tickInterval,F=w&&w.length,U,K;if(i)K=`${this.value}`;else if(g)K=j.dateFormat(g,c);else if(F&&w&&B>=1e3)for(;F--&&K===void 0;)B>=(U=Math.pow(S,F+1))&&10*c%U==0&&w[F]!==null&&c!==0&&(K=l(c/U,-1)+w[F]);return K===void 0&&(K=Math.abs(c)>=1e4?l(c,-1):l(c,-1,void 0,"")),K}getSeriesExtremes(){let n,l=this;o(this,"getSeriesExtremes",null,function(){l.hasVisibleSeries=!1,l.dataMin=l.dataMax=l.threshold=void 0,l.softThreshold=!l.isXAxis,l.series.forEach(c=>{if(c.reserveSpace()){let j=c.options,i,g=j.threshold,p,w;if(l.hasVisibleSeries=!0,l.positiveValuesOnly&&0>=(g||0)&&(g=void 0),l.isXAxis)(i=c.xData)&&i.length&&(i=l.logarithmic?i.filter(S=>S>0):i,p=(n=c.getXExtremes(i)).min,w=n.max,t(p)||p instanceof Date||(i=i.filter(t),p=(n=c.getXExtremes(i)).min,w=n.max),i.length&&(l.dataMin=Math.min(h(l.dataMin,p),p),l.dataMax=Math.max(h(l.dataMax,w),w)));else{let S=c.applyExtremes();t(S.dataMin)&&(p=S.dataMin,l.dataMin=Math.min(h(l.dataMin,p),p)),t(S.dataMax)&&(w=S.dataMax,l.dataMax=Math.max(h(l.dataMax,w),w)),d(g)&&(l.threshold=g),(!j.softThreshold||l.positiveValuesOnly)&&(l.softThreshold=!1)}}})}),o(this,"afterGetSeriesExtremes")}translate(n,l,c,j,i,g){let p=this.linkedParent||this,w=j&&p.old?p.old.min:p.min;if(!t(w))return NaN;let S=p.minPixelPadding,B=(p.isOrdinal||p.brokenAxis?.hasBreaks||p.logarithmic&&i)&&p.lin2val,F=1,U=0,K=j&&p.old?p.old.transA:p.transA,st=0;return K||(K=p.transA),c&&(F*=-1,U=p.len),p.reversed&&(F*=-1,U-=F*(p.sector||p.len)),l?(st=(n=n*F+U-S)/K+w,B&&(st=p.lin2val(st))):(B&&(n=p.val2lin(n)),st=F*(n-w)*K+U+F*S+(t(g)?K*g:0),p.isRadial||(st=A(st))),st}toPixels(n,l){return this.translate(n,!1,!this.horiz,void 0,!0)+(l?0:this.pos)}toValue(n,l){return this.translate(n-(l?0:this.pos),!0,!this.horiz,void 0,!0)}getPlotLinePath(n){let l=this,c=l.chart,j=l.left,i=l.top,g=n.old,p=n.value,w=n.lineWidth,S=g&&c.oldChartHeight||c.chartHeight,B=g&&c.oldChartWidth||c.chartWidth,F=l.transB,U=n.translatedValue,K=n.force,st,rt,N,E,G;function X(J,et,tt){return K!=="pass"&&(J<et||J>tt)&&(K?J=k(J,et,tt):G=!0),J}let _={value:p,lineWidth:w,old:g,force:K,acrossPanes:n.acrossPanes,translatedValue:U};return o(this,"getPlotLinePath",_,function(J){st=N=(U=k(U=h(U,l.translate(p,void 0,void 0,g)),-1e9,1e9))+F,rt=E=S-U-F,t(U)?l.horiz?(rt=i,E=S-l.bottom+(l.options.isInternal?0:c.scrollablePixelsY||0),st=N=X(st,j,j+l.width)):(st=j,N=B-l.right+(c.scrollablePixelsX||0),rt=E=X(rt,i,i+l.height)):(G=!0,K=!1),J.path=G&&!K?void 0:c.renderer.crispLine([["M",st,rt],["L",N,E]],w||1)}),_.path}getLinearTickPositions(n,l,c){let j,i,g,p=A(Math.floor(l/n)*n),w=A(Math.ceil(c/n)*n),S=[];if(A(p+n)===p&&(g=20),this.single)return[l];for(j=p;j<=w&&(S.push(j),(j=A(j+n,g))!==i);)i=j;return S}getMinorTickInterval(){let{minorTicks:n,minorTickInterval:l}=this.options;return n===!0?h(l,"auto"):n!==!1?l:void 0}getMinorTickPositions(){let n=this.options,l=this.tickPositions,c=this.minorTickInterval,j=this.pointRangePadding||0,i=(this.min||0)-j,g=(this.max||0)+j,p=g-i,w=[],S;if(p&&p/c<this.len/3){let B=this.logarithmic;if(B)this.paddedTicks.forEach(function(F,U,K){U&&w.push.apply(w,B.getLogTickPositions(c,K[U-1],K[U],!0))});else if(this.dateTime&&this.getMinorTickInterval()==="auto")w=w.concat(this.getTimeTicks(this.dateTime.normalizeTimeTickInterval(c),i,g,n.startOfWeek));else for(S=i+(l[0]-i)%c;S<=g&&S!==w[0];S+=c)w.push(S)}return w.length!==0&&this.trimTicks(w),w}adjustForMinRange(){let n=this.options,l=this.logarithmic,{max:c,min:j,minRange:i}=this,g,p,w,S;this.isXAxis&&i===void 0&&!l&&(i=d(n.min)||d(n.max)||d(n.floor)||d(n.ceiling)?null:Math.min(5*(u(this.series.map(B=>(B.xIncrement?B.xData?.slice(0,2):B.xData)||[]))||0),this.dataMax-this.dataMin)),t(c)&&t(j)&&t(i)&&c-j<i&&(p=this.dataMax-this.dataMin>=i,g=(i-c+j)/2,w=[j-g,h(n.min,j-g)],p&&(w[2]=l?l.log2lin(this.dataMin):this.dataMin),S=[(j=m(w))+i,h(n.max,j+i)],p&&(S[2]=l?l.log2lin(this.dataMax):this.dataMax),(c=b(S))-j<i&&(w[0]=c-i,w[1]=h(n.min,c-i),j=m(w))),this.minRange=i,this.min=j,this.max=c}getClosest(){let n,l;if(this.categories)l=1;else{let c=[];this.series.forEach(function(j){let i=j.closestPointRange;j.xData?.length===1?c.push(j.xData[0]):!j.noSharedTooltip&&d(i)&&j.reserveSpace()&&(l=d(l)?Math.min(l,i):i)}),c.length&&(c.sort((j,i)=>j-i),n=u([c]))}return n&&l?Math.min(n,l):n||l}nameToX(n){let l=e(this.options.categories),c=l?this.categories:this.names,j=n.options.x,i;return n.series.requireSorting=!1,d(j)||(j=this.uniqueNames&&c?l?c.indexOf(n.name):h(c.keys[n.name],-1):n.series.autoIncrement()),j===-1?!l&&c&&(i=c.length):i=j,i!==void 0?(this.names[i]=n.name,this.names.keys[n.name]=i):n.x&&(i=n.x),i}updateNames(){let n=this,l=this.names;l.length>0&&(Object.keys(l.keys).forEach(function(c){delete l.keys[c]}),l.length=0,this.minRange=this.userMinRange,(this.series||[]).forEach(c=>{c.xIncrement=null,(!c.points||c.isDirtyData)&&(n.max=Math.max(n.max,c.xData.length-1),c.processData(),c.generatePoints()),c.data.forEach(function(j,i){let g;j?.options&&j.name!==void 0&&(g=n.nameToX(j))!==void 0&&g!==j.x&&(j.x=g,c.xData[i]=g)})}))}setAxisTranslation(){let n=this,l=n.max-n.min,c=n.linkedParent,j=!!n.categories,i=n.isXAxis,g=n.axisPointRange||0,p,w=0,S=0,B,F=n.transA;(i||j||g)&&(p=n.getClosest(),c?(w=c.minPointOffset,S=c.pointRangePadding):n.series.forEach(function(U){let K=j?1:i?h(U.options.pointRange,p,0):n.axisPointRange||0,st=U.options.pointPlacement;if(g=Math.max(g,K),!n.single||j){let rt=U.is("xrange")?!i:i;w=Math.max(w,rt&&r(st)?0:K/2),S=Math.max(S,rt&&st==="on"?0:K)}}),B=n.ordinal&&n.ordinal.slope&&p?n.ordinal.slope/p:1,n.minPointOffset=w*=B,n.pointRangePadding=S*=B,n.pointRange=Math.min(g,n.single&&j?1:l),i&&p&&(n.closestPointRange=p)),n.translationSlope=n.transA=F=n.staticScale||n.len/(l+S||1),n.transB=n.horiz?n.left:n.bottom,n.minPixelPadding=F*w,o(this,"afterSetAxisTranslation")}minFromRange(){let{max:n,min:l}=this;return t(n)&&t(l)&&n-l||void 0}setTickInterval(n){let{categories:l,chart:c,dataMax:j,dataMin:i,dateTime:g,isXAxis:p,logarithmic:w,options:S,softThreshold:B}=this,F=t(this.threshold)?this.threshold:void 0,U=this.minRange||0,{ceiling:K,floor:st,linkedTo:rt,softMax:N,softMin:E}=S,G=t(rt)&&c[this.coll]?.[rt],X=S.tickPixelInterval,_=S.maxPadding,J=S.minPadding,et=0,tt,nt=t(S.tickInterval)&&S.tickInterval>=0?S.tickInterval:void 0,ct,pt,gt,ut;if(g||l||G||this.getTickAmount(),gt=h(this.userMin,S.min),ut=h(this.userMax,S.max),G?(this.linkedParent=G,tt=G.getExtremes(),this.min=h(tt.min,tt.dataMin),this.max=h(tt.max,tt.dataMax),this.type!==G.type&&O(11,!0,c)):(B&&d(F)&&t(j)&&t(i)&&(i>=F?(ct=F,J=0):j<=F&&(pt=F,_=0)),this.min=h(gt,ct,i),this.max=h(ut,pt,j)),t(this.max)&&t(this.min)&&(w&&(this.positiveValuesOnly&&!n&&0>=Math.min(this.min,h(i,this.min))&&O(10,!0,c),this.min=A(w.log2lin(this.min),16),this.max=A(w.log2lin(this.max),16)),this.range&&t(i)&&(this.userMin=this.min=gt=Math.max(i,this.minFromRange()||0),this.userMax=ut=this.max,this.range=void 0)),o(this,"foundExtremes"),this.adjustForMinRange(),t(this.min)&&t(this.max)){if(!t(this.userMin)&&t(E)&&E<this.min&&(this.min=gt=E),!t(this.userMax)&&t(N)&&N>this.max&&(this.max=ut=N),l||this.axisPointRange||this.stacking?.usePercentage||G||!(et=this.max-this.min)||(!d(gt)&&J&&(this.min-=et*J),d(ut)||!_||(this.max+=et*_)),!t(this.userMin)&&t(st)&&(this.min=Math.max(this.min,st)),!t(this.userMax)&&t(K)&&(this.max=Math.min(this.max,K)),B&&t(i)&&t(j)){let mt=F||0;!d(gt)&&this.min<mt&&i>=mt?this.min=S.minRange?Math.min(mt,this.max-U):mt:!d(ut)&&this.max>mt&&j<=mt&&(this.max=S.minRange?Math.max(mt,this.min+U):mt)}!c.polar&&this.min>this.max&&(d(S.min)?this.max=this.min:d(S.max)&&(this.min=this.max)),et=this.max-this.min}if(this.min!==this.max&&t(this.min)&&t(this.max)?G&&!nt&&X===G.options.tickPixelInterval?this.tickInterval=nt=G.tickInterval:this.tickInterval=h(nt,this.tickAmount?et/Math.max(this.tickAmount-1,1):void 0,l?1:et*X/Math.max(this.len,X)):this.tickInterval=1,p&&!n){let mt=this.min!==this.old?.min||this.max!==this.old?.max;this.series.forEach(function(ft){ft.forceCrop=ft.forceCropping?.(),ft.processData(mt)}),o(this,"postProcessData",{hasExtremesChanged:mt})}this.setAxisTranslation(),o(this,"initialAxisTranslation"),this.pointRange&&!nt&&(this.tickInterval=Math.max(this.pointRange,this.tickInterval));let xt=h(S.minTickInterval,g&&!this.series.some(mt=>mt.noSharedTooltip)?this.closestPointRange:0);!nt&&this.tickInterval<xt&&(this.tickInterval=xt),g||w||nt||(this.tickInterval=R(this,this.tickInterval)),this.tickAmount||(this.tickInterval=this.unsquish()),this.setTickPositions()}setTickPositions(){let n=this.options,l=n.tickPositions,c=n.tickPositioner,j=this.getMinorTickInterval(),i=!this.isPanning,g=i&&n.startOnTick,p=i&&n.endOnTick,w=[],S;if(this.tickmarkOffset=this.categories&&n.tickmarkPlacement==="between"&&this.tickInterval===1?.5:0,this.single=this.min===this.max&&d(this.min)&&!this.tickAmount&&(this.min%1==0||n.allowDecimals!==!1),l)w=l.slice();else if(t(this.min)&&t(this.max)){if(!this.ordinal?.positions&&(this.max-this.min)/this.tickInterval>Math.max(2*this.len,200))w=[this.min,this.max],O(19,!1,this.chart);else if(this.dateTime)w=this.getTimeTicks(this.dateTime.normalizeTimeTickInterval(this.tickInterval,n.units),this.min,this.max,n.startOfWeek,this.ordinal?.positions,this.closestPointRange,!0);else if(this.logarithmic)w=this.logarithmic.getLogTickPositions(this.tickInterval,this.min,this.max);else{let B=this.tickInterval,F=B;for(;F<=2*B&&(w=this.getLinearTickPositions(this.tickInterval,this.min,this.max),this.tickAmount&&w.length>this.tickAmount);)this.tickInterval=R(this,F*=1.1)}w.length>this.len&&(w=[w[0],w[w.length-1]])[0]===w[1]&&(w.length=1),c&&(this.tickPositions=w,(S=c.apply(this,[this.min,this.max]))&&(w=S))}this.tickPositions=w,this.minorTickInterval=j==="auto"&&this.tickInterval?this.tickInterval/n.minorTicksPerMajor:j,this.paddedTicks=w.slice(0),this.trimTicks(w,g,p),!this.isLinked&&t(this.min)&&t(this.max)&&(this.single&&w.length<2&&!this.categories&&!this.series.some(B=>B.is("heatmap")&&B.options.pointPlacement==="between")&&(this.min-=.5,this.max+=.5),l||S||this.adjustTickAmount()),o(this,"afterSetTickPositions")}trimTicks(n,l,c){let j=n[0],i=n[n.length-1],g=!this.isOrdinal&&this.minPointOffset||0;if(o(this,"trimTicks"),!this.isLinked){if(l&&j!==-1/0)this.min=j;else for(;this.min-g>n[0];)n.shift();if(c)this.max=i;else for(;this.max+g<n[n.length-1];)n.pop();n.length===0&&d(j)&&!this.options.tickPositions&&n.push((i+j)/2)}}alignToOthers(){let n,l=this,c=l.chart,j=[this],i=l.options,g=c.options.chart,p=this.coll==="yAxis"&&g.alignThresholds,w=[];if(l.thresholdAlignment=void 0,(g.alignTicks!==!1&&i.alignTicks||p)&&i.startOnTick!==!1&&i.endOnTick!==!1&&!l.logarithmic){let S=F=>{let{horiz:U,options:K}=F;return[U?K.left:K.top,K.width,K.height,K.pane].join(",")},B=S(this);c[this.coll].forEach(function(F){let{series:U}=F;U.length&&U.some(K=>K.visible)&&F!==l&&S(F)===B&&(n=!0,j.push(F))})}if(n&&p){j.forEach(B=>{let F=B.getThresholdAlignment(l);t(F)&&w.push(F)});let S=w.length>1?w.reduce((B,F)=>B+=F,0)/w.length:void 0;j.forEach(B=>{B.thresholdAlignment=S})}return n}getThresholdAlignment(n){if((!t(this.dataMin)||this!==n&&this.series.some(l=>l.isDirty||l.isDirtyData))&&this.getSeriesExtremes(),t(this.threshold)){let l=k((this.threshold-(this.dataMin||0))/((this.dataMax||0)-(this.dataMin||0)),0,1);return this.options.reversed&&(l=1-l),l}}getTickAmount(){let n=this.options,l=n.tickPixelInterval,c=n.tickAmount;d(n.tickInterval)||c||!(this.len<l)||this.isRadial||this.logarithmic||!n.startOnTick||!n.endOnTick||(c=2),!c&&this.alignToOthers()&&(c=Math.ceil(this.len/l)+1),c<4&&(this.finalTickAmt=c,c=5),this.tickAmount=c}adjustTickAmount(){let n=this,{finalTickAmt:l,max:c,min:j,options:i,tickPositions:g,tickAmount:p,thresholdAlignment:w}=n,S=g?.length,B=h(n.threshold,n.softThreshold?0:null),F,U,K=n.tickInterval,st,rt=()=>g.push(A(g[g.length-1]+K)),N=()=>g.unshift(A(g[0]-K));if(t(w)&&(st=w<.5?Math.ceil(w*(p-1)):Math.floor(w*(p-1)),i.reversed&&(st=p-1-st)),n.hasData()&&t(j)&&t(c)){let E=()=>{n.transA*=(S-1)/(p-1),n.min=i.startOnTick?g[0]:Math.min(j,g[0]),n.max=i.endOnTick?g[g.length-1]:Math.max(c,g[g.length-1])};if(t(st)&&t(n.threshold)){for(;g[st]!==B||g.length!==p||g[0]>j||g[g.length-1]<c;){for(g.length=0,g.push(n.threshold);g.length<p;)g[st]===void 0||g[st]>n.threshold?N():rt();if(K>8*n.tickInterval)break;K*=2}E()}else if(S<p){for(;g.length<p;)g.length%2||j===B?rt():N();E()}if(d(l)){for(U=F=g.length;U--;)(l===3&&U%2==1||l<=2&&U>0&&U<F-1)&&g.splice(U,1);n.finalTickAmt=void 0}}}setScale(){let{coll:n,stacking:l}=this,c=!1,j=!1;this.series.forEach(g=>{c=c||g.isDirtyData||g.isDirty,j=j||g.xAxis&&g.xAxis.isDirty||!1}),this.setAxisSize();let i=this.len!==(this.old&&this.old.len);i||c||j||this.isLinked||this.forceRedraw||this.userMin!==(this.old&&this.old.userMin)||this.userMax!==(this.old&&this.old.userMax)||this.alignToOthers()?(l&&n==="yAxis"&&l.buildStacks(),this.forceRedraw=!1,this.userMinRange||(this.minRange=void 0),this.getSeriesExtremes(),this.setTickInterval(),l&&n==="xAxis"&&l.buildStacks(),this.isDirty||(this.isDirty=i||this.min!==this.old?.min||this.max!==this.old?.max)):l&&l.cleanStacks(),c&&delete this.allExtremes,o(this,"afterSetScale")}setExtremes(n,l,c=!0,j,i){this.series.forEach(g=>{delete g.kdTree}),o(this,"setExtremes",i=C(i,{min:n,max:l}),g=>{this.userMin=g.min,this.userMax=g.max,this.eventArgs=g,c&&this.chart.redraw(j)})}setAxisSize(){let n=this.chart,l=this.options,c=l.offsets||[0,0,0,0],j=this.horiz,i=this.width=Math.round(T(h(l.width,n.plotWidth-c[3]+c[1]),n.plotWidth)),g=this.height=Math.round(T(h(l.height,n.plotHeight-c[0]+c[2]),n.plotHeight)),p=this.top=Math.round(T(h(l.top,n.plotTop+c[0]),n.plotHeight,n.plotTop)),w=this.left=Math.round(T(h(l.left,n.plotLeft+c[3]),n.plotWidth,n.plotLeft));this.bottom=n.chartHeight-g-p,this.right=n.chartWidth-i-w,this.len=Math.max(j?i:g,0),this.pos=j?w:p}getExtremes(){let n=this.logarithmic;return{min:n?A(n.lin2log(this.min)):this.min,max:n?A(n.lin2log(this.max)):this.max,dataMin:this.dataMin,dataMax:this.dataMax,userMin:this.userMin,userMax:this.userMax}}getThreshold(n){let l=this.logarithmic,c=l?l.lin2log(this.min):this.min,j=l?l.lin2log(this.max):this.max;return n===null||n===-1/0?n=c:n===1/0?n=j:c>n?n=c:j<n&&(n=j),this.translate(n,0,1,0,1)}autoLabelAlign(n){let l=(h(n,0)-90*this.side+720)%360,c={align:"center"};return o(this,"autoLabelAlign",c,function(j){l>15&&l<165?j.align="right":l>195&&l<345&&(j.align="left")}),c.align}tickSize(n){let l=this.options,c=h(l[n==="tick"?"tickWidth":"minorTickWidth"],n==="tick"&&this.isXAxis&&!this.categories?1:0),j=l[n==="tick"?"tickLength":"minorTickLength"],i;c&&j&&(l[n+"Position"]==="inside"&&(j=-j),i=[j,c]);let g={tickSize:i};return o(this,"afterTickSize",g),g.tickSize}labelMetrics(){let n=this.chart.renderer,l=this.ticks,c=l[Object.keys(l)[0]]||{};return this.chart.renderer.fontMetrics(c.label||c.movedLabel||n.box)}unsquish(){let n=this.options.labels,l=n.padding||0,c=this.horiz,j=this.tickInterval,i=this.len/(((this.categories?1:0)+this.max-this.min)/j),g=n.rotation,p=A(.8*this.labelMetrics().h),w=Math.max(this.max-this.min,0),S=function(st){let rt=(st+2*l)/(i||1);return(rt=rt>1?Math.ceil(rt):1)*j>w&&st!==1/0&&i!==1/0&&w&&(rt=Math.ceil(w/j)),A(rt*j)},B=j,F,U=Number.MAX_VALUE,K;if(c){if(!n.staggerLines&&(t(g)?K=[g]:i<n.autoRotationLimit&&(K=n.autoRotation)),K){let st,rt;for(let N of K)(N===g||N&&N>=-90&&N<=90)&&(rt=(st=S(Math.abs(p/Math.sin(P*N))))+Math.abs(N/360))<U&&(U=rt,F=N,B=st)}}else B=S(.75*p);return this.autoRotation=K,this.labelRotation=h(F,t(g)?g:0),n.step?j:B}getSlotWidth(n){let l=this.chart,c=this.horiz,j=this.options.labels,i=Math.max(this.tickPositions.length-(this.categories?0:1),1),g=l.margin[3];if(n&&t(n.slotWidth))return n.slotWidth;if(c&&j.step<2)return j.rotation?0:(this.staggerLines||1)*this.len/i;if(!c){let p=j.style.width;if(p!==void 0)return parseInt(String(p),10);if(g)return g-l.spacing[3]}return .33*l.chartWidth}renderUnsquish(){let n=this.chart,l=n.renderer,c=this.tickPositions,j=this.ticks,i=this.options.labels,g=i.style,p=this.horiz,w=this.getSlotWidth(),S=Math.max(1,Math.round(w-(p?2*(i.padding||0):i.distance||0))),B={},F=this.labelMetrics(),U=g.textOverflow,K,st,rt=0,N,E;if(r(i.rotation)||(B.rotation=i.rotation||0),c.forEach(function(G){let X=j[G];X.movedLabel&&X.replaceMovedLabel(),X&&X.label&&X.label.textPxLength>rt&&(rt=X.label.textPxLength)}),this.maxLabelLength=rt,this.autoRotation)rt>S&&rt>F.h?B.rotation=this.labelRotation:this.labelRotation=0;else if(w&&(K=S,!U))for(st="clip",E=c.length;!p&&E--;)(N=j[c[E]].label)&&(N.styles.textOverflow==="ellipsis"?N.css({textOverflow:"clip"}):N.textPxLength>w&&N.css({width:w+"px"}),N.getBBox().height>this.len/c.length-(F.h-F.f)&&(N.specificTextOverflow="ellipsis"));B.rotation&&(K=rt>.5*n.chartHeight?.33*n.chartHeight:rt,U||(st="ellipsis")),this.labelAlign=i.align||this.autoLabelAlign(this.labelRotation),this.labelAlign&&(B.align=this.labelAlign),c.forEach(function(G){let X=j[G],_=X&&X.label,J=g.width,et={};_&&(_.attr(B),X.shortenLabel?X.shortenLabel():K&&!J&&g.whiteSpace!=="nowrap"&&(K<_.textPxLength||_.element.tagName==="SPAN")?(et.width=K+"px",U||(et.textOverflow=_.specificTextOverflow||st),_.css(et)):!_.styles.width||et.width||J||_.css({width:null}),delete _.specificTextOverflow,X.rotation=B.rotation)},this),this.tickRotCorr=l.rotCorr(F.b,this.labelRotation||0,this.side!==0)}hasData(){return this.series.some(function(n){return n.hasData()})||this.options.showEmpty&&d(this.min)&&d(this.max)}addTitle(n){let l,c=this.chart.renderer,j=this.horiz,i=this.opposite,g=this.options.title,p=this.chart.styledMode;this.axisTitle||((l=g.textAlign)||(l=(j?{low:"left",middle:"center",high:"right"}:{low:i?"right":"left",middle:"center",high:i?"left":"right"})[g.align]),this.axisTitle=c.text(g.text||"",0,0,g.useHTML).attr({zIndex:7,rotation:g.rotation||0,align:l}).addClass("highcharts-axis-title"),p||this.axisTitle.css(a(g.style)),this.axisTitle.add(this.axisGroup),this.axisTitle.isNew=!0),p||g.style.width||this.isRadial||this.axisTitle.css({width:this.len+"px"}),this.axisTitle[n?"show":"hide"](n)}generateTick(n){let l=this.ticks;l[n]?l[n].addLabel():l[n]=new at(this,n)}createGroups(){let{axisParent:n,chart:l,coll:c,options:j}=this,i=l.renderer,g=(p,w,S)=>i.g(p).attr({zIndex:S}).addClass(`highcharts-${c.toLowerCase()}${w} `+(this.isRadial?`highcharts-radial-axis${w} `:"")+(j.className||"")).add(n);this.axisGroup||(this.gridGroup=g("grid","-grid",j.gridZIndex),this.axisGroup=g("axis","",j.zIndex),this.labelGroup=g("axis-labels","-labels",j.labels.zIndex))}getOffset(){let n=this,{chart:l,horiz:c,options:j,side:i,ticks:g,tickPositions:p,coll:w}=n,S=l.inverted&&!n.isZAxis?[1,0,3,2][i]:i,B=n.hasData(),F=j.title,U=j.labels,K=t(j.crossing),st=l.axisOffset,rt=l.clipOffset,N=[-1,1,1,-1][i],E,G=0,X,_=0,J=0,et,tt;if(n.showAxis=E=B||j.showEmpty,n.staggerLines=n.horiz&&U.staggerLines||void 0,n.createGroups(),B||n.isLinked?(p.forEach(function(nt){n.generateTick(nt)}),n.renderUnsquish(),n.reserveSpaceDefault=i===0||i===2||{1:"left",3:"right"}[i]===n.labelAlign,h(U.reserveSpace,!K&&null,n.labelAlign==="center"||null,n.reserveSpaceDefault)&&p.forEach(function(nt){J=Math.max(g[nt].getLabelSize(),J)}),n.staggerLines&&(J*=n.staggerLines),n.labelOffset=J*(n.opposite?-1:1)):y(g,function(nt,ct){nt.destroy(),delete g[ct]}),F?.text&&F.enabled!==!1&&(n.addTitle(E),E&&!K&&F.reserveSpace!==!1&&(n.titleOffset=G=n.axisTitle.getBBox()[c?"height":"width"],_=d(X=F.offset)?0:h(F.margin,c?5:10))),n.renderLine(),n.offset=N*h(j.offset,st[i]?st[i]+(j.margin||0):0),n.tickRotCorr=n.tickRotCorr||{x:0,y:0},tt=i===0?-n.labelMetrics().h:i===2?n.tickRotCorr.y:0,et=Math.abs(J)+_,J&&(et-=tt,et+=N*(c?h(U.y,n.tickRotCorr.y+N*U.distance):h(U.x,N*U.distance))),n.axisTitleMargin=h(X,et),n.getMaxLabelDimensions&&(n.maxLabelDimensions=n.getMaxLabelDimensions(g,p)),w!=="colorAxis"&&rt){let nt=this.tickSize("tick");st[i]=Math.max(st[i],(n.axisTitleMargin||0)+G+N*n.offset,et,p&&p.length&&nt?nt[0]+N*n.offset:0);let ct=!n.axisLine||j.offset?0:n.axisLine.strokeWidth()/2;rt[S]=Math.max(rt[S],ct)}o(this,"afterGetOffset")}getLinePath(n){let l=this.chart,c=this.opposite,j=this.offset,i=this.horiz,g=this.left+(c?this.width:0)+j,p=l.chartHeight-this.bottom-(c?this.height:0)+j;return c&&(n*=-1),l.renderer.crispLine([["M",i?this.left:g,i?p:this.top],["L",i?l.chartWidth-this.right:g,i?p:l.chartHeight-this.bottom]],n)}renderLine(){this.axisLine||(this.axisLine=this.chart.renderer.path().addClass("highcharts-axis-line").add(this.axisGroup),this.chart.styledMode||this.axisLine.attr({stroke:this.options.lineColor,"stroke-width":this.options.lineWidth,zIndex:7}))}getTitlePosition(n){let l=this.horiz,c=this.left,j=this.top,i=this.len,g=this.options.title,p=l?c:j,w=this.opposite,S=this.offset,B=g.x,F=g.y,U=this.chart.renderer.fontMetrics(n),K=n?Math.max(n.getBBox(!1,0).height-U.h-1,0):0,st={low:p+(l?0:i),middle:p+i/2,high:p+(l?i:0)}[g.align],rt=(l?j+this.height:c)+(l?1:-1)*(w?-1:1)*(this.axisTitleMargin||0)+[-K,K,U.f,-K][this.side],N={x:l?st+B:rt+(w?this.width:0)+S+B,y:l?rt+F-(w?this.height:0)+S:st+F};return o(this,"afterGetTitlePosition",{titlePosition:N}),N}renderMinorTick(n,l){let c=this.minorTicks;c[n]||(c[n]=new at(this,n,"minor")),l&&c[n].isNew&&c[n].render(null,!0),c[n].render(null,!1,1)}renderTick(n,l,c){let j=this.isLinked,i=this.ticks;(!j||n>=this.min&&n<=this.max||this.grid&&this.grid.isColumn)&&(i[n]||(i[n]=new at(this,n)),c&&i[n].isNew&&i[n].render(l,!0,-1),i[n].render(l))}render(){let n,l,c=this,j=c.chart,i=c.logarithmic,g=j.renderer,p=c.options,w=c.isLinked,S=c.tickPositions,B=c.axisTitle,F=c.ticks,U=c.minorTicks,K=c.alternateBands,st=p.stackLabels,rt=p.alternateGridColor,N=p.crossing,E=c.tickmarkOffset,G=c.axisLine,X=c.showAxis,_=$(g.globalAnimation);if(c.labelEdge.length=0,c.overlap=!1,[F,U,K].forEach(function(J){y(J,function(et){et.isActive=!1})}),t(N)){let J=this.isXAxis?j.yAxis[0]:j.xAxis[0],et=[1,-1,-1,1][this.side];if(J){let tt=J.toPixels(N,!0);c.horiz&&(tt=J.len-tt),c.offset=et*tt}}if(c.hasData()||w){let J=c.chart.hasRendered&&c.old&&t(c.old.min);c.minorTickInterval&&!c.categories&&c.getMinorTickPositions().forEach(function(et){c.renderMinorTick(et,J)}),S.length&&(S.forEach(function(et,tt){c.renderTick(et,tt,J)}),E&&(c.min===0||c.single)&&(F[-1]||(F[-1]=new at(c,-1,null,!0)),F[-1].render(-1))),rt&&S.forEach(function(et,tt){l=S[tt+1]!==void 0?S[tt+1]+E:c.max-E,tt%2==0&&et<c.max&&l<=c.max+(j.polar?-E:E)&&(K[et]||(K[et]=new ot.PlotLineOrBand(c,{})),n=et+E,K[et].options={from:i?i.lin2log(n):n,to:i?i.lin2log(l):l,color:rt,className:"highcharts-alternate-grid"},K[et].render(),K[et].isActive=!0)}),c._addedPlotLB||(c._addedPlotLB=!0,(p.plotLines||[]).concat(p.plotBands||[]).forEach(function(et){c.addPlotBandOrLine(et)}))}[F,U,K].forEach(function(J){let et=[],tt=_.duration;y(J,function(nt,ct){nt.isActive||(nt.render(ct,!1,0),nt.isActive=!1,et.push(ct))}),L(function(){let nt=et.length;for(;nt--;)J[et[nt]]&&!J[et[nt]].isActive&&(J[et[nt]].destroy(),delete J[et[nt]])},J!==K&&j.hasRendered&&tt?tt:0)}),G&&(G[G.isPlaced?"animate":"attr"]({d:this.getLinePath(G.strokeWidth())}),G.isPlaced=!0,G[X?"show":"hide"](X)),B&&X&&(B[B.isNew?"attr":"animate"](c.getTitlePosition(B)),B.isNew=!1),st&&st.enabled&&c.stacking&&c.stacking.renderStackTotals(),c.old={len:c.len,max:c.max,min:c.min,transA:c.transA,userMax:c.userMax,userMin:c.userMin},c.isDirty=!1,o(this,"afterRender")}redraw(){this.visible&&(this.render(),this.plotLinesAndBands.forEach(function(n){n.render()})),this.series.forEach(function(n){n.isDirty=!0})}getKeepProps(){return this.keepProps||z.keepProps}destroy(n){let l=this,c=l.plotLinesAndBands,j=this.eventOptions;if(o(this,"destroy",{keepEvents:n}),n||Y(l),[l.ticks,l.minorTicks,l.alternateBands].forEach(function(i){M(i)}),c){let i=c.length;for(;i--;)c[i].destroy()}for(let i in["axisLine","axisTitle","axisGroup","gridGroup","labelGroup","cross","scrollbar"].forEach(function(g){l[g]&&(l[g]=l[g].destroy())}),l.plotLinesAndBandsGroups)l.plotLinesAndBandsGroups[i]=l.plotLinesAndBandsGroups[i].destroy();y(l,function(i,g){l.getKeepProps().indexOf(g)===-1&&delete l[g]}),this.eventOptions=j}drawCrosshair(n,l){let c=this.crosshair,j=h(c&&c.snap,!0),i=this.chart,g,p,w,S=this.cross,B;if(o(this,"drawCrosshair",{e:n,point:l}),n||(n=this.cross&&this.cross.e),c&&(d(l)||!j)!==!1){if(j?d(l)&&(p=h(this.coll!=="colorAxis"?l.crosshairPos:null,this.isXAxis?l.plotX:this.len-l.plotY)):p=n&&(this.horiz?n.chartX-this.pos:this.len-n.chartY+this.pos),d(p)&&(B={value:l&&(this.isXAxis?l.x:h(l.stackY,l.y)),translatedValue:p},i.polar&&C(B,{isCrosshair:!0,chartX:n&&n.chartX,chartY:n&&n.chartY,point:l}),g=this.getPlotLinePath(B)||null),!d(g)){this.hideCrosshair();return}w=this.categories&&!this.isRadial,S||(this.cross=S=i.renderer.path().addClass("highcharts-crosshair highcharts-crosshair-"+(w?"category ":"thin ")+(c.className||"")).attr({zIndex:h(c.zIndex,2)}).add(),!i.styledMode&&(S.attr({stroke:c.color||(w?ht.parse("#ccd3ff").setOpacity(.25).get():"#cccccc"),"stroke-width":h(c.width,1)}).css({"pointer-events":"none"}),c.dashStyle&&S.attr({dashstyle:c.dashStyle}))),S.show().attr({d:g}),w&&!c.width&&S.attr({"stroke-width":this.transA}),this.cross.e=n}else this.hideCrosshair();o(this,"afterDrawCrosshair",{e:n,point:l})}hideCrosshair(){this.cross&&this.cross.hide(),o(this,"afterHideCrosshair")}update(n,l){let c=this.chart;n=a(this.userOptions,n),this.destroy(!0),this.init(c,n),c.isDirtyBox=!0,h(l,!0)&&c.redraw()}remove(n){let l=this.chart,c=this.coll,j=this.series,i=j.length;for(;i--;)j[i]&&j[i].remove(!1);W(l.axes,this),W(l[c]||[],this),l.orderItems(c),this.destroy(),l.isDirtyBox=!0,h(n,!0)&&l.redraw()}setTitle(n,l){this.update({title:n},l)}setCategories(n,l){this.update({categories:n},l)}}return z.keepProps=["coll","extKey","hcEvents","len","names","series","userMax","userMin"],z}),yt(H,"Core/Axis/DateTimeAxis.js",[H["Core/Utilities.js"]],function(Q){var it;let{addEvent:ht,getMagnitude:dt,normalizeTickInterval:lt,timeUnits:ot}=Q;return function(at){function q(){return this.chart.time.getTimeTicks.apply(this.chart.time,arguments)}function $(){if(this.type!=="datetime"){this.dateTime=void 0;return}this.dateTime||(this.dateTime=new V(this))}at.compose=function(v){return v.keepProps.includes("dateTime")||(v.keepProps.push("dateTime"),v.prototype.getTimeTicks=q,ht(v,"afterSetType",$)),v};class V{constructor(I){this.axis=I}normalizeTimeTickInterval(I,D){let P=D||[["millisecond",[1,2,5,10,20,25,50,100,200,500]],["second",[1,2,5,10,15,30]],["minute",[1,2,5,10,15,30]],["hour",[1,2,3,4,6,8,12]],["day",[1,2]],["week",[1,2]],["month",[1,2,3,4,6]],["year",null]],m=P[P.length-1],b=ot[m[0]],k=m[1],A;for(A=0;A<P.length&&(b=ot[(m=P[A])[0]],k=m[1],!P[A+1]||!(I<=(b*k[k.length-1]+ot[P[A+1][0]])/2));A++);b===ot.year&&I<5*b&&(k=[1,2,5]);let d=lt(I/b,k,m[0]==="year"?Math.max(dt(I/b),1):1);return{unitRange:b,count:d,unitName:m[0]}}getXDateFormat(I,D){let{axis:P}=this,m=P.chart.time;return P.closestPointRange?m.getDateFormat(P.closestPointRange,I,P.options.startOfWeek,D)||m.resolveDTLFormat(D.year).main:m.resolveDTLFormat(D.day).main}}at.Additions=V}(it||(it={})),it}),yt(H,"Core/Axis/LogarithmicAxis.js",[H["Core/Utilities.js"]],function(Q){var it;let{addEvent:ht,normalizeTickInterval:dt,pick:lt}=Q;return function(ot){function at(){this.type!=="logarithmic"?this.logarithmic=void 0:this.logarithmic??(this.logarithmic=new $(this))}function q(){let V=this.logarithmic;V&&(this.lin2val=function(v){return V.lin2log(v)},this.val2lin=function(v){return V.log2lin(v)})}ot.compose=function(V){return V.keepProps.includes("logarithmic")||(V.keepProps.push("logarithmic"),ht(V,"afterSetType",at),ht(V,"afterInit",q)),V};class ${constructor(v){this.axis=v}getLogTickPositions(v,I,D,P){let m=this.axis,b=m.len,k=m.options,A=[];if(P||(this.minorAutoInterval=void 0),v>=.5)v=Math.round(v),A=m.getLinearTickPositions(v,I,D);else if(v>=.08){let d,M,W,O,C,o,u,s=Math.floor(I);for(d=v>.3?[1,2,4]:v>.15?[1,2,4,6,8]:[1,2,3,4,5,6,7,8,9],M=s;M<D+1&&!u;M++)for(W=0,O=d.length;W<O&&!u;W++)(C=this.log2lin(this.lin2log(M)*d[W]))>I&&(!P||o<=D)&&o!==void 0&&A.push(o),o>D&&(u=!0),o=C}else{let d=this.lin2log(I),M=this.lin2log(D),W=P?m.getMinorTickInterval():k.tickInterval,O=k.tickPixelInterval/(P?5:1),C=P?b/m.tickPositions.length:b;v=dt(v=lt(W==="auto"?null:W,this.minorAutoInterval,(M-d)*O/(C||1))),A=m.getLinearTickPositions(v,d,M).map(this.log2lin),P||(this.minorAutoInterval=v/5)}return P||(m.tickInterval=v),A}lin2log(v){return Math.pow(10,v)}log2lin(v){return Math.log(v)/Math.LN10}}ot.Additions=$}(it||(it={})),it}),yt(H,"Core/Axis/PlotLineOrBand/PlotLineOrBandAxis.js",[H["Core/Utilities.js"]],function(Q){var it;let{erase:ht,extend:dt,isNumber:lt}=Q;return function(ot){let at;function q(m){return this.addPlotBandOrLine(m,"plotBands")}function $(m,b){let k=this.userOptions,A=new at(this,m);if(this.visible&&(A=A.render()),A){if(this._addedPlotLB||(this._addedPlotLB=!0,(k.plotLines||[]).concat(k.plotBands||[]).forEach(d=>{this.addPlotBandOrLine(d)})),b){let d=k[b]||[];d.push(m),k[b]=d}this.plotLinesAndBands.push(A)}return A}function V(m){return this.addPlotBandOrLine(m,"plotLines")}function v(m,b,k){k=k||this.options;let A=this.getPlotLinePath({value:b,force:!0,acrossPanes:k.acrossPanes}),d=[],M=this.horiz,W=!lt(this.min)||!lt(this.max)||m<this.min&&b<this.min||m>this.max&&b>this.max,O=this.getPlotLinePath({value:m,force:!0,acrossPanes:k.acrossPanes}),C,o=1,u;if(O&&A)for(W&&(u=O.toString()===A.toString(),o=0),C=0;C<O.length;C+=2){let s=O[C],e=O[C+1],t=A[C],r=A[C+1];(s[0]==="M"||s[0]==="L")&&(e[0]==="M"||e[0]==="L")&&(t[0]==="M"||t[0]==="L")&&(r[0]==="M"||r[0]==="L")&&(M&&t[1]===s[1]?(t[1]+=o,r[1]+=o):M||t[2]!==s[2]||(t[2]+=o,r[2]+=o),d.push(["M",s[1],s[2]],["L",e[1],e[2]],["L",r[1],r[2]],["L",t[1],t[2]],["Z"])),d.isFlat=u}return d}function I(m){this.removePlotBandOrLine(m)}function D(m){let b=this.plotLinesAndBands,k=this.options,A=this.userOptions;if(b){let d=b.length;for(;d--;)b[d].id===m&&b[d].destroy();[k.plotLines||[],A.plotLines||[],k.plotBands||[],A.plotBands||[]].forEach(function(M){for(d=M.length;d--;)(M[d]||{}).id===m&&ht(M,M[d])})}}function P(m){this.removePlotBandOrLine(m)}ot.compose=function(m,b){let k=b.prototype;return k.addPlotBand||(at=m,dt(k,{addPlotBand:q,addPlotLine:V,addPlotBandOrLine:$,getPlotBandPath:v,removePlotBand:I,removePlotLine:P,removePlotBandOrLine:D})),b}}(it||(it={})),it}),yt(H,"Core/Axis/PlotLineOrBand/PlotLineOrBand.js",[H["Core/Axis/PlotLineOrBand/PlotLineOrBandAxis.js"],H["Core/Utilities.js"]],function(Q,it){let{addEvent:ht,arrayMax:dt,arrayMin:lt,defined:ot,destroyObjectProperties:at,erase:q,fireEvent:$,merge:V,objectEach:v,pick:I}=it;class D{static compose(m,b){return ht(m,"afterInit",function(){this.labelCollectors.push(()=>{let k=[];for(let A of this.axes)for(let{label:d,options:M}of A.plotLinesAndBands)d&&!M?.label?.allowOverlap&&k.push(d);return k})}),Q.compose(D,b)}constructor(m,b){this.axis=m,this.options=b,this.id=b.id}render(){$(this,"render");let{axis:m,options:b}=this,{horiz:k,logarithmic:A}=m,{color:d,events:M,zIndex:W=0}=b,O={},C=m.chart.renderer,o=b.to,u=b.from,s=b.value,e=b.borderWidth,t=b.label,{label:r,svgElem:a}=this,x=[],y,h=ot(u)&&ot(o),T=ot(s),Y=!a,f={class:"highcharts-plot-"+(h?"band ":"line ")+(b.className||"")},L=h?"bands":"lines";if(!m.chart.styledMode&&(T?(f.stroke=d||"#999999",f["stroke-width"]=I(b.width,1),b.dashStyle&&(f.dashstyle=b.dashStyle)):h&&(f.fill=d||"#e6e9ff",e&&(f.stroke=b.borderColor,f["stroke-width"]=e))),O.zIndex=W,L+="-"+W,(y=m.plotLinesAndBandsGroups[L])||(m.plotLinesAndBandsGroups[L]=y=C.g("plot-"+L).attr(O).add()),a||(this.svgElem=a=C.path().attr(f).add(y)),ot(s))x=m.getPlotLinePath({value:A?.log2lin(s)??s,lineWidth:a.strokeWidth(),acrossPanes:b.acrossPanes});else{if(!(ot(u)&&ot(o)))return;x=m.getPlotBandPath(A?.log2lin(u)??u,A?.log2lin(o)??o,b)}return!this.eventsAdded&&M&&(v(M,(R,z)=>{a?.on(z,Z=>{M[z].apply(this,[Z])})}),this.eventsAdded=!0),(Y||!a.d)&&x?.length?a.attr({d:x}):a&&(x?(a.show(),a.animate({d:x})):a.d&&(a.hide(),r&&(this.label=r=r.destroy()))),t&&(ot(t.text)||ot(t.formatter))&&x?.length&&m.width>0&&m.height>0&&!x.isFlat?(t=V(Ot({align:k&&h?"center":void 0,x:k?!h&&4:10,verticalAlign:!k&&h?"middle":void 0,y:k?h?16:10:h?6:-4,rotation:k&&!h?90:0},h?{inside:!0}:{}),t),this.renderLabel(t,x,h,W)):r&&r.hide(),this}renderLabel(m,b,k,A){let d=this.axis,M=d.chart.renderer,W=m.inside,O=this.label;O||(this.label=O=M.text(this.getLabelText(m),0,0,m.useHTML).attr({align:m.textAlign||m.align,rotation:m.rotation,class:"highcharts-plot-"+(k?"band":"line")+"-label "+(m.className||""),zIndex:A}),d.chart.styledMode||O.css(V({fontSize:"0.8em",textOverflow:k&&!W?"":"ellipsis"},m.style)),O.add());let C=b.xBounds||[b[0][1],b[1][1],k?b[2][1]:b[0][1]],o=b.yBounds||[b[0][2],b[1][2],k?b[2][2]:b[0][2]],u=lt(C),s=lt(o),e=dt(C)-u;O.align(m,!1,{x:u,y:s,width:e,height:dt(o)-s}),(!O.alignValue||O.alignValue==="left"||ot(W))&&O.css({width:(m.style?.width||(k&&W?e:O.rotation===90?d.height-(O.alignAttr.y-d.top):(m.clip?d.width:d.chart.chartWidth)-(O.alignAttr.x-d.left)))+"px"}),O.show(!0)}getLabelText(m){return ot(m.formatter)?m.formatter.call(this):m.text}destroy(){q(this.axis.plotLinesAndBands,this),delete this.axis,at(this)}}return D}),yt(H,"Core/Tooltip.js",[H["Core/Animation/AnimationUtilities.js"],H["Core/Templating.js"],H["Core/Globals.js"],H["Core/Renderer/RendererUtilities.js"],H["Core/Renderer/RendererRegistry.js"],H["Core/Utilities.js"]],function(Q,it,ht,dt,lt,ot){var at;let{animObject:q}=Q,{format:$}=it,{composed:V,doc:v,isSafari:I}=ht,{distribute:D}=dt,{addEvent:P,clamp:m,css:b,discardElement:k,extend:A,fireEvent:d,isArray:M,isNumber:W,isString:O,merge:C,pick:o,pushUnique:u,splat:s,syncTimeout:e}=ot;class t{constructor(a,x,y){this.allowShared=!0,this.crosshairs=[],this.distance=0,this.isHidden=!0,this.isSticky=!1,this.options={},this.outside=!1,this.chart=a,this.init(a,x),this.pointer=y}bodyFormatter(a){return a.map(function(x){let y=x.series.tooltipOptions;return(y[(x.point.formatPrefix||"point")+"Formatter"]||x.point.tooltipFormatter).call(x.point,y[(x.point.formatPrefix||"point")+"Format"]||"")})}cleanSplit(a){this.chart.series.forEach(function(x){let y=x&&x.tt;y&&(!y.isActive||a?x.tt=y.destroy():y.isActive=!1)})}defaultFormatter(a){let x,y=this.points||s(this);return(x=(x=[a.tooltipFooterHeaderFormatter(y[0])]).concat(a.bodyFormatter(y))).push(a.tooltipFooterHeaderFormatter(y[0],!0)),x}destroy(){this.label&&(this.label=this.label.destroy()),this.split&&(this.cleanSplit(!0),this.tt&&(this.tt=this.tt.destroy())),this.renderer&&(this.renderer=this.renderer.destroy(),k(this.container)),ot.clearTimeout(this.hideTimer)}getAnchor(a,x){let y,{chart:h,pointer:T}=this,Y=h.inverted,f=h.plotTop,L=h.plotLeft;if((a=s(a))[0].series&&a[0].series.yAxis&&!a[0].series.yAxis.options.reversedStacks&&(a=a.slice().reverse()),this.followPointer&&x)x.chartX===void 0&&(x=T.normalize(x)),y=[x.chartX-L,x.chartY-f];else if(a[0].tooltipPos)y=a[0].tooltipPos;else{let R=0,z=0;a.forEach(function(Z){let n=Z.pos(!0);n&&(R+=n[0],z+=n[1])}),R/=a.length,z/=a.length,this.shared&&a.length>1&&x&&(Y?R=x.chartX:z=x.chartY),y=[R-L,z-f]}return y.map(Math.round)}getClassName(a,x,y){let h=this.options,T=a.series,Y=T.options;return[h.className,"highcharts-label",y&&"highcharts-tooltip-header",x?"highcharts-tooltip-box":"highcharts-tooltip",!y&&"highcharts-color-"+o(a.colorIndex,T.colorIndex),Y&&Y.className].filter(O).join(" ")}getLabel({anchorX:a,anchorY:x}={anchorX:0,anchorY:0}){let y=this,h=this.chart.styledMode,T=this.options,Y=this.split&&this.allowShared,f=this.container,L=this.chart.renderer;if(this.label){let R=!this.label.hasClass("highcharts-label");(!Y&&R||Y&&!R)&&this.destroy()}if(!this.label){if(this.outside){let R=this.chart.options.chart.style,z=lt.getRendererType();this.container=f=ht.doc.createElement("div"),f.className="highcharts-tooltip-container",b(f,{position:"absolute",top:"1px",pointerEvents:"none",zIndex:Math.max(this.options.style.zIndex||0,(R&&R.zIndex||0)+3)}),this.renderer=L=new z(f,0,0,R,void 0,void 0,L.styledMode)}if(Y?this.label=L.g("tooltip"):(this.label=L.label("",a,x,T.shape,void 0,void 0,T.useHTML,void 0,"tooltip").attr({padding:T.padding,r:T.borderRadius}),h||this.label.attr({fill:T.backgroundColor,"stroke-width":T.borderWidth||0}).css(T.style).css({pointerEvents:T.style.pointerEvents||(this.shouldStickOnContact()?"auto":"none")})),y.outside){let R=this.label;[R.xSetter,R.ySetter].forEach((z,Z)=>{R[Z?"ySetter":"xSetter"]=n=>{z.call(R,y.distance),R[Z?"y":"x"]=n,f&&(f.style[Z?"top":"left"]=`${n}px`)}})}this.label.attr({zIndex:8}).shadow(T.shadow).add()}return f&&!f.parentElement&&ht.doc.body.appendChild(f),this.label}getPlayingField(){let{body:a,documentElement:x}=v,{chart:y,distance:h,outside:T}=this;return{width:T?Math.max(a.scrollWidth,x.scrollWidth,a.offsetWidth,x.offsetWidth,x.clientWidth)-2*h:y.chartWidth,height:T?Math.max(a.scrollHeight,x.scrollHeight,a.offsetHeight,x.offsetHeight,x.clientHeight):y.chartHeight}}getPosition(a,x,y){let{distance:h,chart:T,outside:Y,pointer:f}=this,{inverted:L,plotLeft:R,plotTop:z,polar:Z}=T,{plotX:n=0,plotY:l=0}=y,c={},j=L&&y.h||0,{height:i,width:g}=this.getPlayingField(),p=f.getChartPosition(),w=_=>_*p.scaleX,S=_=>_*p.scaleY,B=_=>{let J=_==="x";return[_,J?g:i,J?a:x].concat(Y?[J?w(a):S(x),J?p.left-h+w(n+R):p.top-h+S(l+z),0,J?g:i]:[J?a:x,J?n+R:l+z,J?R:z,J?R+T.plotWidth:z+T.plotHeight])},F=B("y"),U=B("x"),K,st=!!y.negative;!Z&&T.hoverSeries?.yAxis?.reversed&&(st=!st);let rt=!this.followPointer&&o(y.ttBelow,!Z&&!L===st),N=function(_,J,et,tt,nt,ct,pt){let gt=Y?_==="y"?S(h):w(h):h,ut=(et-tt)/2,xt=tt<nt-h,mt=nt+h+tt<J,ft=nt-gt-et+ut,bt=nt+gt-ut;if(rt&&mt)c[_]=bt;else if(!rt&&xt)c[_]=ft;else if(xt)c[_]=Math.min(pt-tt,ft-j<0?ft:ft-j);else{if(!mt)return!1;c[_]=Math.max(ct,bt+j+et>J?bt:bt+j)}},E=function(_,J,et,tt,nt){if(nt<h||nt>J-h)return!1;nt<et/2?c[_]=1:nt>J-tt/2?c[_]=J-tt-2:c[_]=nt-et/2},G=function(_){[F,U]=[U,F],K=_},X=()=>{N.apply(0,F)!==!1?E.apply(0,U)!==!1||K||(G(!0),X()):K?c.x=c.y=0:(G(!0),X())};return(L&&!Z||this.len>1)&&G(),X(),c}hide(a){let x=this;ot.clearTimeout(this.hideTimer),a=o(a,this.options.hideDelay),this.isHidden||(this.hideTimer=e(function(){let y=x.getLabel();x.getLabel().animate({opacity:0},{duration:a&&150,complete:()=>{y.hide(),x.container&&x.container.remove()}}),x.isHidden=!0},a))}init(a,x){this.chart=a,this.options=x,this.crosshairs=[],this.isHidden=!0,this.split=x.split&&!a.inverted&&!a.polar,this.shared=x.shared||this.split,this.outside=o(x.outside,!!(a.scrollablePixelsX||a.scrollablePixelsY))}shouldStickOnContact(a){return!!(!this.followPointer&&this.options.stickOnContact&&(!a||this.pointer.inClass(a.target,"highcharts-tooltip")))}move(a,x,y,h){let T=this,Y=q(!T.isHidden&&T.options.animation),f=T.followPointer||(T.len||0)>1,L={x:a,y:x};f||(L.anchorX=y,L.anchorY=h),Y.step=()=>T.drawTracker(),T.getLabel().animate(L,Y)}refresh(a,x){let{chart:y,options:h,pointer:T,shared:Y}=this,f=s(a),L=f[0],R=[],z=h.format,Z=h.formatter||this.defaultFormatter,n=y.styledMode,l={},c=this.allowShared;if(!h.enabled||!L.series)return;ot.clearTimeout(this.hideTimer),this.allowShared=!(!M(a)&&a.series&&a.series.noSharedTooltip),c=c&&!this.allowShared,this.followPointer=!this.split&&L.series.tooltipOptions.followPointer;let j=this.getAnchor(a,x),i=j[0],g=j[1];Y&&this.allowShared?(T.applyInactiveState(f),f.forEach(function(S){S.setState("hover"),R.push(S.getLabelConfig())}),(l=L.getLabelConfig()).points=R):l=L.getLabelConfig(),this.len=R.length;let p=O(z)?$(z,l,y):Z.call(l,this),w=L.series;if(this.distance=o(w.tooltipOptions.distance,16),p===!1)this.hide();else{if(this.split&&this.allowShared)this.renderSplit(p,f);else{let S=i,B=g;if(x&&T.isDirectTouch&&(S=x.chartX-y.plotLeft,B=x.chartY-y.plotTop),y.polar||w.options.clip===!1||f.some(F=>T.isDirectTouch||F.series.shouldShowTooltip(S,B))){let F=this.getLabel(c&&this.tt||{});(!h.style.width||n)&&F.css({width:(this.outside?this.getPlayingField():y.spacingBox).width+"px"}),F.attr({class:this.getClassName(L),text:p&&p.join?p.join(""):p}),this.outside&&F.attr({x:m(F.x||0,0,this.getPlayingField().width-(F.width||0))}),n||F.attr({stroke:h.borderColor||L.color||w.color||"#666666"}),this.updatePosition({plotX:i,plotY:g,negative:L.negative,ttBelow:L.ttBelow,h:j[2]||0})}else{this.hide();return}}this.isHidden&&this.label&&this.label.attr({opacity:1}).show(),this.isHidden=!1}d(this,"refresh")}renderSplit(a,x){let y=this,{chart:h,chart:{chartWidth:T,chartHeight:Y,plotHeight:f,plotLeft:L,plotTop:R,scrollablePixelsY:z=0,scrollablePixelsX:Z,styledMode:n},distance:l,options:c,options:{positioner:j},pointer:i}=y,{scrollLeft:g=0,scrollTop:p=0}=h.scrollablePlotArea?.scrollingContainer||{},w=y.outside&&typeof Z!="number"?v.documentElement.getBoundingClientRect():{left:g,right:g+T,top:p,bottom:p+Y},S=y.getLabel(),B=this.renderer||h.renderer,F=!!(h.xAxis[0]&&h.xAxis[0].opposite),{left:U,top:K}=i.getChartPosition(),st=R+p,rt=0,N=f-z;function E(tt,nt,ct,pt,gt=!0){let ut,xt;return ct?(ut=F?0:N,xt=m(tt-pt/2,w.left,w.right-pt-(y.outside?U:0))):(ut=nt-st,xt=m(xt=gt?tt-pt-l:tt+l,gt?xt:w.left,w.right)),{x:xt,y:ut}}O(a)&&(a=[!1,a]);let G=a.slice(0,x.length+1).reduce(function(tt,nt,ct){if(nt!==!1&&nt!==""){let pt=x[ct-1]||{isHeader:!0,plotX:x[0].plotX,plotY:f,series:{}},gt=pt.isHeader,ut=gt?y:pt.series,xt=ut.tt=function(St,Ct,wt){let At=St,{isHeader:Mt,series:Dt}=Ct;if(!At){let Lt={padding:c.padding,r:c.borderRadius};n||(Lt.fill=c.backgroundColor,Lt["stroke-width"]=c.borderWidth??1),At=B.label("",0,0,c[Mt?"headerShape":"shape"],void 0,void 0,c.useHTML).addClass(y.getClassName(Ct,!0,Mt)).attr(Lt).add(S)}return At.isActive=!0,At.attr({text:wt}),n||At.css(c.style).attr({stroke:c.borderColor||Ct.color||Dt.color||"#333333"}),At}(ut.tt,pt,nt.toString()),mt=xt.getBBox(),ft=mt.width+xt.strokeWidth();gt&&(rt=mt.height,N+=rt,F&&(st-=rt));let{anchorX:bt,anchorY:vt}=function(St){let Ct,wt,{isHeader:At,plotX:Mt=0,plotY:Dt=0,series:Lt}=St;if(At)Ct=Math.max(L+Mt,L),wt=R+f/2;else{let{xAxis:jt,yAxis:Tt}=Lt;Ct=jt.pos+m(Mt,-l,jt.len+l),Lt.shouldShowTooltip(0,Tt.pos-R+Dt,{ignoreX:!0})&&(wt=Tt.pos+Dt)}return{anchorX:Ct=m(Ct,w.left-l,w.right+l),anchorY:wt}}(pt);if(typeof vt=="number"){let St=mt.height+1,Ct=j?j.call(y,ft,St,pt):E(bt,vt,gt,ft);tt.push({align:j?0:void 0,anchorX:bt,anchorY:vt,boxWidth:ft,point:pt,rank:o(Ct.rank,gt?1:0),size:St,target:Ct.y,tt:xt,x:Ct.x})}else xt.isActive=!1}return tt},[]);!j&&G.some(tt=>{let{outside:nt}=y,ct=(nt?U:0)+tt.anchorX;return ct<w.left&&ct+tt.boxWidth<w.right||ct<U-w.left+tt.boxWidth&&w.right-ct>ct})&&(G=G.map(tt=>{let{x:nt,y:ct}=E(tt.anchorX,tt.anchorY,tt.point.isHeader,tt.boxWidth,!1);return A(tt,{target:ct,x:nt})})),y.cleanSplit(),D(G,N);let X={left:U,right:U};G.forEach(function(tt){let{x:nt,boxWidth:ct,isHeader:pt}=tt;!pt&&(y.outside&&U+nt<X.left&&(X.left=U+nt),!pt&&y.outside&&X.left+ct>X.right&&(X.right=U+nt))}),G.forEach(function(tt){let{x:nt,anchorX:ct,anchorY:pt,pos:gt,point:{isHeader:ut}}=tt,xt={visibility:gt===void 0?"hidden":"inherit",x:nt,y:(gt||0)+st,anchorX:ct,anchorY:pt};if(y.outside&&nt<ct){let mt=U-X.left;mt>0&&(ut||(xt.x=nt+mt,xt.anchorX=ct+mt),ut&&(xt.x=(X.right-X.left)/2,xt.anchorX=ct+mt))}tt.tt.attr(xt)});let{container:_,outside:J,renderer:et}=y;if(J&&_&&et){let{width:tt,height:nt,x:ct,y:pt}=S.getBBox();et.setSize(tt+ct,nt+pt,!1),_.style.left=X.left+"px",_.style.top=K+"px"}I&&S.attr({opacity:S.opacity===1?.999:1})}drawTracker(){if(!this.shouldStickOnContact()){this.tracker&&(this.tracker=this.tracker.destroy());return}let a=this.chart,x=this.label,y=this.shared?a.hoverPoints:a.hoverPoint;if(!x||!y)return;let h={x:0,y:0,width:0,height:0},T=this.getAnchor(y),Y=x.getBBox();T[0]+=a.plotLeft-(x.translateX||0),T[1]+=a.plotTop-(x.translateY||0),h.x=Math.min(0,T[0]),h.y=Math.min(0,T[1]),h.width=T[0]<0?Math.max(Math.abs(T[0]),Y.width-T[0]):Math.max(Math.abs(T[0]),Y.width),h.height=T[1]<0?Math.max(Math.abs(T[1]),Y.height-Math.abs(T[1])):Math.max(Math.abs(T[1]),Y.height),this.tracker?this.tracker.attr(h):(this.tracker=x.renderer.rect(h).addClass("highcharts-tracker").add(x),a.styledMode||this.tracker.attr({fill:"rgba(0,0,0,0)"}))}styledModeFormat(a){return a.replace('style="font-size: 0.8em"','class="highcharts-header"').replace(/style="color:{(point|series)\.color}"/g,'class="highcharts-color-{$1.colorIndex} {series.options.className} {point.options.className}"')}tooltipFooterHeaderFormatter(a,x){let y=a.series,h=y.tooltipOptions,T=y.xAxis,Y=T&&T.dateTime,f={isFooter:x,labelConfig:a},L=h.xDateFormat,R=h[x?"footerFormat":"headerFormat"];return d(this,"headerFormatter",f,function(z){Y&&!L&&W(a.key)&&(L=Y.getXDateFormat(a.key,h.dateTimeLabelFormats)),Y&&L&&(a.point&&a.point.tooltipDateKeys||["key"]).forEach(function(Z){R=R.replace("{point."+Z+"}","{point."+Z+":"+L+"}")}),y.chart.styledMode&&(R=this.styledModeFormat(R)),z.text=$(R,{point:a,series:y},this.chart)}),f.text}update(a){this.destroy(),this.init(this.chart,C(!0,this.options,a))}updatePosition(a){let{chart:x,container:y,distance:h,options:T,pointer:Y,renderer:f}=this,{height:L=0,width:R=0}=this.getLabel(),{left:z,top:Z,scaleX:n,scaleY:l}=Y.getChartPosition(),c=(T.positioner||this.getPosition).call(this,R,L,a),j=(a.plotX||0)+x.plotLeft,i=(a.plotY||0)+x.plotTop,g;f&&y&&(T.positioner&&(c.x+=z-h,c.y+=Z-h),g=(T.borderWidth||0)+2*h+2,f.setSize(R+g,L+g,!1),(n!==1||l!==1)&&(b(y,{transform:`scale(${n}, ${l})`}),j*=n,i*=l),j+=z-c.x,i+=Z-c.y),this.move(Math.round(c.x),Math.round(c.y||0),j,i)}}return(at=t||(t={})).compose=function(r){u(V,"Core.Tooltip")&&P(r,"afterInit",function(){let a=this.chart;a.options.tooltip&&(a.tooltip=new at(a,a.options.tooltip,this))})},t}),yt(H,"Core/Series/Point.js",[H["Core/Renderer/HTML/AST.js"],H["Core/Animation/AnimationUtilities.js"],H["Core/Defaults.js"],H["Core/Templating.js"],H["Core/Utilities.js"]],function(Q,it,ht,dt,lt){let{animObject:ot}=it,{defaultOptions:at}=ht,{format:q}=dt,{addEvent:$,crisp:V,erase:v,extend:I,fireEvent:D,getNestedProperty:P,isArray:m,isFunction:b,isNumber:k,isObject:A,merge:d,pick:M,syncTimeout:W,removeEvent:O,uniqueKey:C}=lt;class o{animateBeforeDestroy(){let s=this,e={x:s.startXPos,opacity:0},t=s.getGraphicalProps();t.singular.forEach(function(r){s[r]=s[r].animate(r==="dataLabel"?{x:s[r].startXPos,y:s[r].startYPos,opacity:0}:e)}),t.plural.forEach(function(r){s[r].forEach(function(a){a.element&&a.animate(I({x:s.startXPos},a.startYPos?{x:a.startXPos,y:a.startYPos}:{}))})})}applyOptions(s,e){let t=this.series,r=t.options.pointValKey||t.pointValKey;return I(this,s=o.prototype.optionsToObject.call(this,s)),this.options=this.options?I(this.options,s):s,s.group&&delete this.group,s.dataLabels&&delete this.dataLabels,r&&(this.y=o.prototype.getNestedProperty.call(this,r)),this.selected&&(this.state="select"),"name"in this&&e===void 0&&t.xAxis&&t.xAxis.hasNames&&(this.x=t.xAxis.nameToX(this)),this.x===void 0&&t?this.x=e??t.autoIncrement():k(s.x)&&t.options.relativeXValue&&(this.x=t.autoIncrement(s.x)),this.isNull=this.isValid&&!this.isValid(),this.formatPrefix=this.isNull?"null":"point",this}destroy(){if(!this.destroyed){let s=this,e=s.series,t=e.chart,r=e.options.dataSorting,a=t.hoverPoints,x=ot(s.series.chart.renderer.globalAnimation),y=()=>{for(let h in(s.graphic||s.graphics||s.dataLabel||s.dataLabels)&&(O(s),s.destroyElements()),s)delete s[h]};s.legendItem&&t.legend.destroyItem(s),a&&(s.setState(),v(a,s),a.length||(t.hoverPoints=null)),s===t.hoverPoint&&s.onMouseOut(),r&&r.enabled?(this.animateBeforeDestroy(),W(y,x.duration)):y(),t.pointCount--}this.destroyed=!0}destroyElements(s){let e=this,t=e.getGraphicalProps(s);t.singular.forEach(function(r){e[r]=e[r].destroy()}),t.plural.forEach(function(r){e[r].forEach(function(a){a&&a.element&&a.destroy()}),delete e[r]})}firePointEvent(s,e,t){let r=this,a=this.series.options;r.manageEvent(s),s==="click"&&a.allowPointSelect&&(t=function(x){!r.destroyed&&r.select&&r.select(null,x.ctrlKey||x.metaKey||x.shiftKey)}),D(r,s,e,t)}getClassName(){return"highcharts-point"+(this.selected?" highcharts-point-select":"")+(this.negative?" highcharts-negative":"")+(this.isNull?" highcharts-null-point":"")+(this.colorIndex!==void 0?" highcharts-color-"+this.colorIndex:"")+(this.options.className?" "+this.options.className:"")+(this.zone&&this.zone.className?" "+this.zone.className.replace("highcharts-negative",""):"")}getGraphicalProps(s){let e,t,r=this,a=[],x={singular:[],plural:[]};for((s=s||{graphic:1,dataLabel:1}).graphic&&a.push("graphic","connector"),s.dataLabel&&a.push("dataLabel","dataLabelPath","dataLabelUpper"),t=a.length;t--;)r[e=a[t]]&&x.singular.push(e);return["graphic","dataLabel"].forEach(function(y){let h=y+"s";s[y]&&r[h]&&x.plural.push(h)}),x}getLabelConfig(){return{x:this.category,y:this.y,color:this.color,colorIndex:this.colorIndex,key:this.name||this.category,series:this.series,point:this,percentage:this.percentage,total:this.total||this.stackTotal}}getNestedProperty(s){return s?s.indexOf("custom.")===0?P(s,this.options):this[s]:void 0}getZone(){let s=this.series,e=s.zones,t=s.zoneAxis||"y",r,a=0;for(r=e[0];this[t]>=r.value;)r=e[++a];return this.nonZonedColor||(this.nonZonedColor=this.color),r&&r.color&&!this.options.color?this.color=r.color:this.color=this.nonZonedColor,r}hasNewShapeType(){return(this.graphic&&(this.graphic.symbolName||this.graphic.element.nodeName))!==this.shapeType}constructor(s,e,t){this.formatPrefix="point",this.visible=!0,this.series=s,this.applyOptions(e,t),this.id??(this.id=C()),this.resolveColor(),s.chart.pointCount++,D(this,"afterInit")}isValid(){return(k(this.x)||this.x instanceof Date)&&k(this.y)}optionsToObject(s){let e=this.series,t=e.options.keys,r=t||e.pointArrayMap||["y"],a=r.length,x={},y,h=0,T=0;if(k(s)||s===null)x[r[0]]=s;else if(m(s))for(!t&&s.length>a&&((y=typeof s[0])=="string"?x.name=s[0]:y==="number"&&(x.x=s[0]),h++);T<a;)t&&s[h]===void 0||(r[T].indexOf(".")>0?o.prototype.setNestedProperty(x,s[h],r[T]):x[r[T]]=s[h]),h++,T++;else typeof s=="object"&&(x=s,s.dataLabels&&(e.hasDataLabels=()=>!0),s.marker&&(e._hasPointMarkers=!0));return x}pos(s,e=this.plotY){if(!this.destroyed){let{plotX:t,series:r}=this,{chart:a,xAxis:x,yAxis:y}=r,h=0,T=0;if(k(t)&&k(e))return s&&(h=x?x.pos:a.plotLeft,T=y?y.pos:a.plotTop),a.inverted&&x&&y?[y.len-e+T,x.len-t+h]:[t+h,e+T]}}resolveColor(){let s=this.series,e=s.chart.options.chart,t=s.chart.styledMode,r,a,x=e.colorCount,y;delete this.nonZonedColor,s.options.colorByPoint?(t||(r=(a=s.options.colors||s.chart.options.colors)[s.colorCounter],x=a.length),y=s.colorCounter,s.colorCounter++,s.colorCounter===x&&(s.colorCounter=0)):(t||(r=s.color),y=s.colorIndex),this.colorIndex=M(this.options.colorIndex,y),this.color=M(this.options.color,r)}setNestedProperty(s,e,t){return t.split(".").reduce(function(r,a,x,y){let h=y.length-1===x;return r[a]=h?e:A(r[a],!0)?r[a]:{},r[a]},s),s}shouldDraw(){return!this.isNull}tooltipFormatter(s){let e=this.series,t=e.tooltipOptions,r=M(t.valueDecimals,""),a=t.valuePrefix||"",x=t.valueSuffix||"";return e.chart.styledMode&&(s=e.chart.tooltip.styledModeFormat(s)),(e.pointArrayMap||["y"]).forEach(function(y){y="{point."+y,(a||x)&&(s=s.replace(RegExp(y+"}","g"),a+y+"}"+x)),s=s.replace(RegExp(y+"}","g"),y+":,."+r+"f}")}),q(s,{point:this,series:this.series},e.chart)}update(s,e,t,r){let a,x=this,y=x.series,h=x.graphic,T=y.chart,Y=y.options;function f(){x.applyOptions(s);let L=h&&x.hasMockGraphic,R=x.y===null?!L:L;h&&R&&(x.graphic=h.destroy(),delete x.hasMockGraphic),A(s,!0)&&(h&&h.element&&s&&s.marker&&s.marker.symbol!==void 0&&(x.graphic=h.destroy()),s?.dataLabels&&x.dataLabel&&(x.dataLabel=x.dataLabel.destroy())),a=x.index,y.updateParallelArrays(x,a),Y.data[a]=A(Y.data[a],!0)||A(s,!0)?x.options:M(s,Y.data[a]),y.isDirty=y.isDirtyData=!0,!y.fixedBox&&y.hasCartesianSeries&&(T.isDirtyBox=!0),Y.legendType==="point"&&(T.isDirtyLegend=!0),e&&T.redraw(t)}e=M(e,!0),r===!1?f():x.firePointEvent("update",{options:s},f)}remove(s,e){this.series.removePoint(this.series.data.indexOf(this),s,e)}select(s,e){let t=this,r=t.series,a=r.chart;s=M(s,!t.selected),this.selectedStaging=s,t.firePointEvent(s?"select":"unselect",{accumulate:e},function(){t.selected=t.options.selected=s,r.options.data[r.data.indexOf(t)]=t.options,t.setState(s&&"select"),e||a.getSelectedPoints().forEach(function(x){let y=x.series;x.selected&&x!==t&&(x.selected=x.options.selected=!1,y.options.data[y.data.indexOf(x)]=x.options,x.setState(a.hoverPoints&&y.options.inactiveOtherPoints?"inactive":""),x.firePointEvent("unselect"))})}),delete this.selectedStaging}onMouseOver(s){let{inverted:e,pointer:t}=this.series.chart;t&&(s=s?t.normalize(s):t.getChartCoordinatesFromPoint(this,e),t.runPointActions(s,this))}onMouseOut(){let s=this.series.chart;this.firePointEvent("mouseOut"),this.series.options.inactiveOtherPoints||(s.hoverPoints||[]).forEach(function(e){e.setState()}),s.hoverPoints=s.hoverPoint=null}manageEvent(s){let e=d(this.series.options.point,this.options),t=e.events?.[s];b(t)&&(!this.hcEvents?.[s]||this.hcEvents?.[s]?.map(r=>r.fn).indexOf(t)===-1)?(this.importedUserEvent?.(),this.importedUserEvent=$(this,s,t)):this.importedUserEvent&&!t&&this.hcEvents?.[s]&&(O(this,s),delete this.hcEvents[s],Object.keys(this.hcEvents)||delete this.importedUserEvent)}setState(s,e){let t=this.series,r=this.state,a=t.options.states[s||"normal"]||{},x=at.plotOptions[t.type].marker&&t.options.marker,y=x&&x.enabled===!1,h=x&&x.states&&x.states[s||"normal"]||{},T=h.enabled===!1,Y=this.marker||{},f=t.chart,L=x&&t.markerAttribs,R=t.halo,z,Z,n,l=t.stateMarkerGraphic,c;if((s=s||"")===this.state&&!e||this.selected&&s!=="select"||a.enabled===!1||s&&(T||y&&h.enabled===!1)||s&&Y.states&&Y.states[s]&&Y.states[s].enabled===!1)return;if(this.state=s,L&&(z=t.markerAttribs(this,s)),this.graphic&&!this.hasMockGraphic){if(r&&this.graphic.removeClass("highcharts-point-"+r),s&&this.graphic.addClass("highcharts-point-"+s),!f.styledMode){Z=t.pointAttribs(this,s),n=M(f.options.chart.animation,a.animation);let p=Z.opacity;t.options.inactiveOtherPoints&&k(p)&&(this.dataLabels||[]).forEach(function(w){w&&!w.hasClass("highcharts-data-label-hidden")&&(w.animate({opacity:p},n),w.connector&&w.connector.animate({opacity:p},n))}),this.graphic.animate(Z,n)}z&&this.graphic.animate(z,M(f.options.chart.animation,h.animation,x.animation)),l&&l.hide()}else s&&h&&(c=Y.symbol||t.symbol,l&&l.currentSymbol!==c&&(l=l.destroy()),z&&(l?l[e?"animate":"attr"]({x:z.x,y:z.y}):c&&(t.stateMarkerGraphic=l=f.renderer.symbol(c,z.x,z.y,z.width,z.height).add(t.markerGroup),l.currentSymbol=c)),!f.styledMode&&l&&this.state!=="inactive"&&l.attr(t.pointAttribs(this,s))),l&&(l[s&&this.isInside?"show":"hide"](),l.element.point=this,l.addClass(this.getClassName(),!0));let j=a.halo,i=this.graphic||l,g=i&&i.visibility||"inherit";j&&j.size&&i&&g!=="hidden"&&!this.isCluster?(R||(t.halo=R=f.renderer.path().add(i.parentGroup)),R.show()[e?"animate":"attr"]({d:this.haloPath(j.size)}),R.attr({class:"highcharts-halo highcharts-color-"+M(this.colorIndex,t.colorIndex)+(this.className?" "+this.className:""),visibility:g,zIndex:-1}),R.point=this,f.styledMode||R.attr(I({fill:this.color||t.color,"fill-opacity":j.opacity},Q.filterUserAttributes(j.attributes||{})))):R?.point?.haloPath&&!R.point.destroyed&&R.animate({d:R.point.haloPath(0)},null,R.hide),D(this,"afterSetState",{state:s})}haloPath(s){let e=this.pos();return e?this.series.chart.renderer.symbols.circle(V(e[0],1)-s,e[1]-s,2*s,2*s):[]}}return o}),yt(H,"Core/Pointer.js",[H["Core/Color/Color.js"],H["Core/Globals.js"],H["Core/Utilities.js"]],function(Q,it,ht){var dt;let{parse:lt}=Q,{charts:ot,composed:at,isTouchDevice:q}=it,{addEvent:$,attr:V,css:v,extend:I,find:D,fireEvent:P,isNumber:m,isObject:b,objectEach:k,offset:A,pick:d,pushUnique:M,splat:W}=ht;class O{applyInactiveState(o){let u=[],s;(o||[]).forEach(function(e){s=e.series,u.push(s),s.linkedParent&&u.push(s.linkedParent),s.linkedSeries&&(u=u.concat(s.linkedSeries)),s.navigatorSeries&&u.push(s.navigatorSeries)}),this.chart.series.forEach(function(e){u.indexOf(e)===-1?e.setState("inactive",!0):e.options.inactiveOtherPoints&&e.setAllPointsToState("inactive")})}destroy(){let o=this;this.eventsToUnbind.forEach(u=>u()),this.eventsToUnbind=[],!it.chartCount&&(O.unbindDocumentMouseUp&&O.unbindDocumentMouseUp.forEach(u=>u()),O.unbindDocumentTouchEnd&&(O.unbindDocumentTouchEnd=O.unbindDocumentTouchEnd())),clearInterval(o.tooltipTimeout),k(o,function(u,s){o[s]=void 0})}getSelectionMarkerAttrs(o,u){let s={args:{chartX:o,chartY:u},attrs:{},shapeType:"rect"};return P(this,"getSelectionMarkerAttrs",s,e=>{let t,{chart:r,zoomHor:a,zoomVert:x}=this,{mouseDownX:y=0,mouseDownY:h=0}=r,T=e.attrs;T.x=r.plotLeft,T.y=r.plotTop,T.width=a?1:r.plotWidth,T.height=x?1:r.plotHeight,a&&(t=o-y,T.width=Math.max(1,Math.abs(t)),T.x=(t>0?0:t)+y),x&&(t=u-h,T.height=Math.max(1,Math.abs(t)),T.y=(t>0?0:t)+h)}),s}drag(o){let{chart:u}=this,{mouseDownX:s=0,mouseDownY:e=0}=u,{panning:t,panKey:r,selectionMarkerFill:a}=u.options.chart,x=u.plotLeft,y=u.plotTop,h=u.plotWidth,T=u.plotHeight,Y=b(t)?t.enabled:t,f=r&&o[`${r}Key`],L=o.chartX,R=o.chartY,z,Z=this.selectionMarker;if((!Z||!Z.touch)&&(L<x?L=x:L>x+h&&(L=x+h),R<y?R=y:R>y+T&&(R=y+T),this.hasDragged=Math.sqrt(Math.pow(s-L,2)+Math.pow(e-R,2)),this.hasDragged>10)){z=u.isInsidePlot(s-x,e-y,{visiblePlotOnly:!0});let{shapeType:n,attrs:l}=this.getSelectionMarkerAttrs(L,R);(u.hasCartesianSeries||u.mapView)&&this.hasZoom&&z&&!f&&!Z&&(this.selectionMarker=Z=u.renderer[n](),Z.attr({class:"highcharts-selection-marker",zIndex:7}).add(),u.styledMode||Z.attr({fill:a||lt("#334eff").setOpacity(.25).get()})),Z&&Z.attr(l),z&&!Z&&Y&&u.pan(o,t)}}dragStart(o){let u=this.chart;u.mouseIsDown=o.type,u.cancelClick=!1,u.mouseDownX=o.chartX,u.mouseDownY=o.chartY}getSelectionBox(o){let u={args:{marker:o},result:o.getBBox()};return P(this,"getSelectionBox",u),u.result}drop(o){let u,{chart:s,selectionMarker:e}=this;for(let t of s.axes)t.isPanning&&(t.isPanning=!1,(t.options.startOnTick||t.options.endOnTick||t.series.some(r=>r.boosted))&&(t.forceRedraw=!0,t.setExtremes(t.userMin,t.userMax,!1),u=!0));if(u&&s.redraw(),e&&o){if(this.hasDragged){let t=this.getSelectionBox(e);s.transform({axes:s.axes.filter(r=>r.zoomEnabled&&(r.coll==="xAxis"&&this.zoomX||r.coll==="yAxis"&&this.zoomY)),selection:Ot({originalEvent:o,xAxis:[],yAxis:[]},t),from:t})}m(s.index)&&(this.selectionMarker=e.destroy())}s&&m(s.index)&&(v(s.container,{cursor:s._cursor}),s.cancelClick=this.hasDragged>10,s.mouseIsDown=!1,this.hasDragged=0,this.pinchDown=[])}findNearestKDPoint(o,u,s){let e;return o.forEach(function(t){let r=!(t.noSharedTooltip&&u)&&0>t.options.findNearestPointBy.indexOf("y"),a=t.searchPoint(s,r);b(a,!0)&&a.series&&(!b(e,!0)||function(x,y){let h=x.distX-y.distX,T=x.dist-y.dist,Y=y.series.group?.zIndex-x.series.group?.zIndex;return h!==0&&u?h:T!==0?T:Y!==0?Y:x.series.index>y.series.index?-1:1}(e,a)>0)&&(e=a)}),e}getChartCoordinatesFromPoint(o,u){let{xAxis:s,yAxis:e}=o.series,t=o.shapeArgs;if(s&&e){let r=o.clientX??o.plotX??0,a=o.plotY||0;return o.isNode&&t&&m(t.x)&&m(t.y)&&(r=t.x,a=t.y),u?{chartX:e.len+e.pos-a,chartY:s.len+s.pos-r}:{chartX:r+s.pos,chartY:a+e.pos}}if(t&&t.x&&t.y)return{chartX:t.x,chartY:t.y}}getChartPosition(){if(this.chartPosition)return this.chartPosition;let{container:o}=this.chart,u=A(o);this.chartPosition={left:u.left,top:u.top,scaleX:1,scaleY:1};let{offsetHeight:s,offsetWidth:e}=o;return e>2&&s>2&&(this.chartPosition.scaleX=u.width/e,this.chartPosition.scaleY=u.height/s),this.chartPosition}getCoordinates(o){let u={xAxis:[],yAxis:[]};for(let s of this.chart.axes)u[s.isXAxis?"xAxis":"yAxis"].push({axis:s,value:s.toValue(o[s.horiz?"chartX":"chartY"])});return u}getHoverData(o,u,s,e,t,r){let a=[],x=function(f){return f.visible&&!(!t&&f.directTouch)&&d(f.options.enableMouseTracking,!0)},y=u,h,T={chartX:r?r.chartX:void 0,chartY:r?r.chartY:void 0,shared:t};P(this,"beforeGetHoverData",T),h=y&&!y.stickyTracking?[y]:s.filter(f=>f.stickyTracking&&(T.filter||x)(f));let Y=e&&o||!r?o:this.findNearestKDPoint(h,t,r);return y=Y&&Y.series,Y&&(t&&!y.noSharedTooltip?(h=s.filter(function(f){return T.filter?T.filter(f):x(f)&&!f.noSharedTooltip})).forEach(function(f){let L=D(f.points,function(R){return R.x===Y.x&&!R.isNull});b(L)&&(f.boosted&&f.boost&&(L=f.boost.getPoint(L)),a.push(L))}):a.push(Y)),P(this,"afterGetHoverData",T={hoverPoint:Y}),{hoverPoint:T.hoverPoint,hoverSeries:y,hoverPoints:a}}getPointFromEvent(o){let u=o.target,s;for(;u&&!s;)s=u.point,u=u.parentNode;return s}onTrackerMouseOut(o){let u=this.chart,s=o.relatedTarget,e=u.hoverSeries;this.isDirectTouch=!1,!e||!s||e.stickyTracking||this.inClass(s,"highcharts-tooltip")||this.inClass(s,"highcharts-series-"+e.index)&&this.inClass(s,"highcharts-tracker")||e.onMouseOut()}inClass(o,u){let s=o,e;for(;s;){if(e=V(s,"class")){if(e.indexOf(u)!==-1)return!0;if(e.indexOf("highcharts-container")!==-1)return!1}s=s.parentElement}}constructor(o,u){this.hasDragged=0,this.pointerCaptureEventsToUnbind=[],this.eventsToUnbind=[],this.options=u,this.chart=o,this.runChartClick=!!u.chart.events?.click,this.pinchDown=[],this.setDOMEvents(),P(this,"afterInit")}normalize(o,u){let s=o.touches,e=s?s.length?s.item(0):d(s.changedTouches,o.changedTouches)[0]:o;u||(u=this.getChartPosition());let t=e.pageX-u.left,r=e.pageY-u.top;return I(o,{chartX:Math.round(t/=u.scaleX),chartY:Math.round(r/=u.scaleY)})}onContainerClick(o){let u=this.chart,s=u.hoverPoint,e=this.normalize(o),t=u.plotLeft,r=u.plotTop;!u.cancelClick&&(s&&this.inClass(e.target,"highcharts-tracker")?(P(s.series,"click",I(e,{point:s})),u.hoverPoint&&s.firePointEvent("click",e)):(I(e,this.getCoordinates(e)),u.isInsidePlot(e.chartX-t,e.chartY-r,{visiblePlotOnly:!0})&&P(u,"click",e)))}onContainerMouseDown(o){let u=(1&(o.buttons||o.button))==1;o=this.normalize(o),it.isFirefox&&o.button!==0&&this.onContainerMouseMove(o),(o.button===void 0||u)&&(this.zoomOption(o),u&&o.preventDefault?.(),this.dragStart(o))}onContainerMouseLeave(o){let{pointer:u}=ot[d(O.hoverChartIndex,-1)]||{};o=this.normalize(o),this.onContainerMouseMove(o),u&&!this.inClass(o.relatedTarget,"highcharts-tooltip")&&(u.reset(),u.chartPosition=void 0)}onContainerMouseEnter(){delete this.chartPosition}onContainerMouseMove(o){let u=this.chart,s=u.tooltip,e=this.normalize(o);this.setHoverChartIndex(o),(u.mouseIsDown==="mousedown"||this.touchSelect(e))&&this.drag(e),!u.openMenu&&(this.inClass(e.target,"highcharts-tracker")||u.isInsidePlot(e.chartX-u.plotLeft,e.chartY-u.plotTop,{visiblePlotOnly:!0}))&&!(s&&s.shouldStickOnContact(e))&&(this.inClass(e.target,"highcharts-no-tooltip")?this.reset(!1,0):this.runPointActions(e))}onDocumentTouchEnd(o){this.onDocumentMouseUp(o)}onContainerTouchMove(o){this.touchSelect(o)?this.onContainerMouseMove(o):this.touch(o)}onContainerTouchStart(o){this.touchSelect(o)?this.onContainerMouseDown(o):(this.zoomOption(o),this.touch(o,!0))}onDocumentMouseMove(o){let u=this.chart,s=u.tooltip,e=this.chartPosition,t=this.normalize(o,e);!e||u.isInsidePlot(t.chartX-u.plotLeft,t.chartY-u.plotTop,{visiblePlotOnly:!0})||s&&s.shouldStickOnContact(t)||t.target!==u.container.ownerDocument&&this.inClass(t.target,"highcharts-tracker")||this.reset()}onDocumentMouseUp(o){ot[d(O.hoverChartIndex,-1)]?.pointer?.drop(o)}pinch(o){let u=this,{chart:s,hasZoom:e,lastTouches:t}=u,r=[].map.call(o.touches||[],T=>u.normalize(T)),a=r.length,x=a===1&&(u.inClass(o.target,"highcharts-tracker")&&s.runTrackerClick||u.runChartClick),y=s.tooltip,h=a===1&&d(y?.options.followTouchMove,!0);a>1?u.initiated=!0:h&&(u.initiated=!1),e&&u.initiated&&!x&&o.cancelable!==!1&&o.preventDefault(),o.type==="touchstart"?(u.pinchDown=r,u.res=!0,s.mouseDownX=o.chartX):h?this.runPointActions(u.normalize(o)):t&&(P(s,"touchpan",{originalEvent:o,touches:r},()=>{let T=Y=>{let f=Y[0],L=Y[1]||f;return{x:f.chartX,y:f.chartY,width:L.chartX-f.chartX,height:L.chartY-f.chartY}};s.transform({axes:s.axes.filter(Y=>Y.zoomEnabled&&(this.zoomHor&&Y.horiz||this.zoomVert&&!Y.horiz)),to:T(r),from:T(t),trigger:o.type})}),u.res&&(u.res=!1,this.reset(!1,0))),u.lastTouches=r}reset(o,u){let s=this.chart,e=s.hoverSeries,t=s.hoverPoint,r=s.hoverPoints,a=s.tooltip,x=a&&a.shared?r:t;o&&x&&W(x).forEach(function(y){y.series.isCartesian&&y.plotX===void 0&&(o=!1)}),o?a&&x&&W(x).length&&(a.refresh(x),a.shared&&r?r.forEach(function(y){y.setState(y.state,!0),y.series.isCartesian&&(y.series.xAxis.crosshair&&y.series.xAxis.drawCrosshair(null,y),y.series.yAxis.crosshair&&y.series.yAxis.drawCrosshair(null,y))}):t&&(t.setState(t.state,!0),s.axes.forEach(function(y){y.crosshair&&t.series[y.coll]===y&&y.drawCrosshair(null,t)}))):(t&&t.onMouseOut(),r&&r.forEach(function(y){y.setState()}),e&&e.onMouseOut(),a&&a.hide(u),this.unDocMouseMove&&(this.unDocMouseMove=this.unDocMouseMove()),s.axes.forEach(function(y){y.hideCrosshair()}),s.hoverPoints=s.hoverPoint=void 0)}runPointActions(o,u,s){let e=this.chart,t=e.series,r=e.tooltip&&e.tooltip.options.enabled?e.tooltip:void 0,a=!!r&&r.shared,x=u||e.hoverPoint,y=x&&x.series||e.hoverSeries,h=(!o||o.type!=="touchmove")&&(!!u||y&&y.directTouch&&this.isDirectTouch),T=this.getHoverData(x,y,t,h,a,o);x=T.hoverPoint,y=T.hoverSeries;let Y=T.hoverPoints,f=y&&y.tooltipOptions.followPointer&&!y.tooltipOptions.split,L=a&&y&&!y.noSharedTooltip;if(x&&(s||x!==e.hoverPoint||r&&r.isHidden)){if((e.hoverPoints||[]).forEach(function(R){Y.indexOf(R)===-1&&R.setState()}),e.hoverSeries!==y&&y.onMouseOver(),this.applyInactiveState(Y),(Y||[]).forEach(function(R){R.setState("hover")}),e.hoverPoint&&e.hoverPoint.firePointEvent("mouseOut"),!x.series)return;e.hoverPoints=Y,e.hoverPoint=x,x.firePointEvent("mouseOver",void 0,()=>{r&&x&&r.refresh(L?Y:x,o)})}else if(f&&r&&!r.isHidden){let R=r.getAnchor([{}],o);e.isInsidePlot(R[0],R[1],{visiblePlotOnly:!0})&&r.updatePosition({plotX:R[0],plotY:R[1]})}this.unDocMouseMove||(this.unDocMouseMove=$(e.container.ownerDocument,"mousemove",R=>ot[O.hoverChartIndex??-1]?.pointer?.onDocumentMouseMove(R)),this.eventsToUnbind.push(this.unDocMouseMove)),e.axes.forEach(function(R){let z,Z=d((R.crosshair||{}).snap,!0);!Z||(z=e.hoverPoint)&&z.series[R.coll]===R||(z=D(Y,n=>n.series&&n.series[R.coll]===R)),z||!Z?R.drawCrosshair(o,z):R.hideCrosshair()})}setDOMEvents(){let o=this.chart.container,u=o.ownerDocument;o.onmousedown=this.onContainerMouseDown.bind(this),o.onmousemove=this.onContainerMouseMove.bind(this),o.onclick=this.onContainerClick.bind(this),this.eventsToUnbind.push($(o,"mouseenter",this.onContainerMouseEnter.bind(this)),$(o,"mouseleave",this.onContainerMouseLeave.bind(this))),O.unbindDocumentMouseUp||(O.unbindDocumentMouseUp=[]),O.unbindDocumentMouseUp.push($(u,"mouseup",this.onDocumentMouseUp.bind(this)));let s=this.chart.renderTo.parentElement;for(;s&&s.tagName!=="BODY";)this.eventsToUnbind.push($(s,"scroll",()=>{delete this.chartPosition})),s=s.parentElement;this.eventsToUnbind.push($(o,"touchstart",this.onContainerTouchStart.bind(this),{passive:!1}),$(o,"touchmove",this.onContainerTouchMove.bind(this),{passive:!1})),O.unbindDocumentTouchEnd||(O.unbindDocumentTouchEnd=$(u,"touchend",this.onDocumentTouchEnd.bind(this),{passive:!1})),this.setPointerCapture(),$(this.chart,"redraw",this.setPointerCapture.bind(this))}setPointerCapture(){if(!q)return;let o=this.pointerCaptureEventsToUnbind,u=this.chart,s=u.container,e=d(u.options.tooltip?.followTouchMove,!0)&&u.series.some(t=>t.options.findNearestPointBy.indexOf("y")>-1);!this.hasPointerCapture&&e?(o.push($(s,"pointerdown",t=>{t.target?.hasPointerCapture(t.pointerId)&&t.target?.releasePointerCapture(t.pointerId)}),$(s,"pointermove",t=>{u.pointer?.getPointFromEvent(t)?.onMouseOver(t)})),u.styledMode||v(s,{"touch-action":"none"}),s.className+=" highcharts-no-touch-action",this.hasPointerCapture=!0):this.hasPointerCapture&&!e&&(o.forEach(t=>t()),o.length=0,u.styledMode||v(s,{"touch-action":d(u.options.chart.style?.["touch-action"],"manipulation")}),s.className=s.className.replace(" highcharts-no-touch-action",""),this.hasPointerCapture=!1)}setHoverChartIndex(o){let u=this.chart,s=it.charts[d(O.hoverChartIndex,-1)];if(s&&s!==u){let e={relatedTarget:u.container};o&&!o?.relatedTarget&&(o=Ot(Ot({},e),o)),s.pointer?.onContainerMouseLeave(o||e)}s&&s.mouseIsDown||(O.hoverChartIndex=u.index)}touch(o,u){let s,{chart:e,pinchDown:t=[]}=this;this.setHoverChartIndex(),(o=this.normalize(o)).touches.length===1?e.isInsidePlot(o.chartX-e.plotLeft,o.chartY-e.plotTop,{visiblePlotOnly:!0})&&!e.openMenu?(u&&this.runPointActions(o),o.type==="touchmove"&&(s=!!t[0]&&Math.pow(t[0].chartX-o.chartX,2)+Math.pow(t[0].chartY-o.chartY,2)>=16),d(s,!0)&&this.pinch(o)):u&&this.reset():o.touches.length===2&&this.pinch(o)}touchSelect(o){return!!(this.chart.zooming.singleTouch&&o.touches&&o.touches.length===1)}zoomOption(o){let u=this.chart,s=u.inverted,e=u.zooming.type||"",t,r;/touch/.test(o.type)&&(e=d(u.zooming.pinchType,e)),this.zoomX=t=/x/.test(e),this.zoomY=r=/y/.test(e),this.zoomHor=t&&!s||r&&s,this.zoomVert=r&&!s||t&&s,this.hasZoom=t||r}}return(dt=O||(O={})).compose=function(C){M(at,"Core.Pointer")&&$(C,"beforeRender",function(){this.pointer=new dt(this,this.options)})},O}),yt(H,"Core/Legend/LegendSymbol.js",[H["Core/Utilities.js"]],function(Q){var it;let{extend:ht,merge:dt,pick:lt}=Q;return function(ot){function at(q,$,V){let v=this.legendItem=this.legendItem||{},{chart:I,options:D}=this,{baseline:P=0,symbolWidth:m,symbolHeight:b}=q,k=this.symbol||"circle",A=b/2,d=I.renderer,M=v.group,W=P-Math.round((q.fontMetrics?.b||b)*(V?.4:.3)),O={},C,o=D.marker,u=0;if(I.styledMode||(O["stroke-width"]=Math.min(D.lineWidth||0,24),D.dashStyle?O.dashstyle=D.dashStyle:D.linecap==="square"||(O["stroke-linecap"]="round")),v.line=d.path().addClass("highcharts-graph").attr(O).add(M),V&&(v.area=d.path().addClass("highcharts-area").add(M)),O["stroke-linecap"]&&(u=Math.min(v.line.strokeWidth(),m)/2),m){let s=[["M",u,W],["L",m-u,W]];v.line.attr({d:s}),v.area?.attr({d:[...s,["L",m-u,P],["L",u,P]]})}if(o&&o.enabled!==!1&&m){let s=Math.min(lt(o.radius,A),A);k.indexOf("url")===0&&(o=dt(o,{width:b,height:b}),s=0),v.symbol=C=d.symbol(k,m/2-s,W-s,2*s,2*s,ht({context:"legend"},o)).addClass("highcharts-point").add(M),C.isMarker=!0}}ot.areaMarker=function(q,$){at.call(this,q,$,!0)},ot.lineMarker=at,ot.rectangle=function(q,$){let V=$.legendItem||{},v=q.options,I=q.symbolHeight,D=v.squareSymbol,P=D?I:q.symbolWidth;V.symbol=this.chart.renderer.rect(D?(q.symbolWidth-I)/2:0,q.baseline-I+1,P,I,lt(q.options.symbolRadius,I/2)).addClass("highcharts-point").attr({zIndex:3}).add(V.group)}}(it||(it={})),it}),yt(H,"Core/Series/SeriesDefaults.js",[],function(){return{lineWidth:2,allowPointSelect:!1,crisp:!0,showCheckbox:!1,animation:{duration:1e3},enableMouseTracking:!0,events:{},marker:{enabledThreshold:2,lineColor:"#ffffff",lineWidth:0,radius:4,states:{normal:{animation:!0},hover:{animation:{duration:150},enabled:!0,radiusPlus:2,lineWidthPlus:1},select:{fillColor:"#cccccc",lineColor:"#000000",lineWidth:2}}},point:{events:{}},dataLabels:{animation:{},align:"center",borderWidth:0,defer:!0,formatter:function(){let{numberFormatter:Q}=this.series.chart;return typeof this.y!="number"?"":Q(this.y,-1)},padding:5,style:{fontSize:"0.7em",fontWeight:"bold",color:"contrast",textOutline:"1px contrast"},verticalAlign:"bottom",x:0,y:0},cropThreshold:300,opacity:1,pointRange:0,softThreshold:!0,states:{normal:{animation:!0},hover:{animation:{duration:150},lineWidthPlus:1,marker:{},halo:{size:10,opacity:.25}},select:{animation:{duration:0}},inactive:{animation:{duration:150},opacity:.2}},stickyTracking:!0,turboThreshold:1e3,findNearestPointBy:"x"}}),yt(H,"Core/Series/SeriesRegistry.js",[H["Core/Globals.js"],H["Core/Defaults.js"],H["Core/Series/Point.js"],H["Core/Utilities.js"]],function(Q,it,ht,dt){var lt;let{defaultOptions:ot}=it,{extend:at,extendClass:q,merge:$}=dt;return function(V){function v(I,D){let P=ot.plotOptions||{},m=D.defaultOptions,b=D.prototype;return b.type=I,b.pointClass||(b.pointClass=ht),!V.seriesTypes[I]&&(m&&(P[I]=m),V.seriesTypes[I]=D,!0)}V.seriesTypes=Q.seriesTypes,V.registerSeriesType=v,V.seriesType=function(I,D,P,m,b){let k=ot.plotOptions||{};if(D=D||"",k[I]=$(k[D],P),delete V.seriesTypes[I],v(I,q(V.seriesTypes[D]||function(){},m)),V.seriesTypes[I].prototype.type=I,b){class A extends ht{}at(A.prototype,b),V.seriesTypes[I].prototype.pointClass=A}return V.seriesTypes[I]}}(lt||(lt={})),lt}),yt(H,"Core/Series/Series.js",[H["Core/Animation/AnimationUtilities.js"],H["Core/Defaults.js"],H["Core/Foundation.js"],H["Core/Globals.js"],H["Core/Legend/LegendSymbol.js"],H["Core/Series/Point.js"],H["Core/Series/SeriesDefaults.js"],H["Core/Series/SeriesRegistry.js"],H["Core/Renderer/SVG/SVGElement.js"],H["Core/Utilities.js"]],function(Q,it,ht,dt,lt,ot,at,q,$,V){let{animObject:v,setAnimation:I}=Q,{defaultOptions:D}=it,{registerEventOptions:P}=ht,{svg:m,win:b}=dt,{seriesTypes:k}=q,{arrayMax:A,arrayMin:d,clamp:M,correctFloat:W,crisp:O,defined:C,destroyObjectProperties:o,diffObjects:u,erase:s,error:e,extend:t,find:r,fireEvent:a,getClosestDistance:x,getNestedProperty:y,insertItem:h,isArray:T,isNumber:Y,isString:f,merge:L,objectEach:R,pick:z,removeEvent:Z,splat:n,syncTimeout:l}=V;class c{constructor(){this.zoneAxis="y"}init(i,g){let p;a(this,"init",{options:g});let w=this,S=i.series;this.eventsToUnbind=[],w.chart=i,w.options=w.setOptions(g);let B=w.options,F=B.visible!==!1;w.linkedSeries=[],w.bindAxes(),t(w,{name:B.name,state:"",visible:F,selected:B.selected===!0}),P(this,B);let U=B.events;(U&&U.click||B.point&&B.point.events&&B.point.events.click||B.allowPointSelect)&&(i.runTrackerClick=!0),w.getColor(),w.getSymbol(),w.parallelArrays.forEach(function(K){w[K+"Data"]||(w[K+"Data"]=[])}),w.isCartesian&&(i.hasCartesianSeries=!0),S.length&&(p=S[S.length-1]),w._i=z(p&&p._i,-1)+1,w.opacity=w.options.opacity,i.orderItems("series",h(this,S)),B.dataSorting&&B.dataSorting.enabled?w.setDataSortingOptions():w.points||w.data||w.setData(B.data,!1),a(this,"afterInit")}is(i){return k[i]&&this instanceof k[i]}bindAxes(){let i,g=this,p=g.options,w=g.chart;a(this,"bindAxes",null,function(){(g.axisTypes||[]).forEach(function(S){(w[S]||[]).forEach(function(B){i=B.options,(z(p[S],0)===B.index||p[S]!==void 0&&p[S]===i.id)&&(h(g,B.series),g[S]=B,B.isDirty=!0)}),g[S]||g.optionalAxis===S||e(18,!0,w)})}),a(this,"afterBindAxes")}updateParallelArrays(i,g,p){let w=i.series,S=Y(g)?function(B){let F=B==="y"&&w.toYData?w.toYData(i):i[B];w[B+"Data"][g]=F}:function(B){Array.prototype[g].apply(w[B+"Data"],p)};w.parallelArrays.forEach(S)}hasData(){return this.visible&&this.dataMax!==void 0&&this.dataMin!==void 0||this.visible&&this.yData&&this.yData.length>0}hasMarkerChanged(i,g){let p=i.marker,w=g.marker||{};return p&&(w.enabled&&!p.enabled||w.symbol!==p.symbol||w.height!==p.height||w.width!==p.width)}autoIncrement(i){let g=this.options,p=g.pointIntervalUnit,w=g.relativeXValue,S=this.chart.time,B=this.xIncrement,F,U;return B=z(B,g.pointStart,0),this.pointInterval=U=z(this.pointInterval,g.pointInterval,1),w&&Y(i)&&(U*=i),p&&(F=new S.Date(B),p==="day"?S.set("Date",F,S.get("Date",F)+U):p==="month"?S.set("Month",F,S.get("Month",F)+U):p==="year"&&S.set("FullYear",F,S.get("FullYear",F)+U),U=F.getTime()-B),w&&Y(i)?B+U:(this.xIncrement=B+U,B)}setDataSortingOptions(){let i=this.options;t(this,{requireSorting:!1,sorted:!1,enabledDataSorting:!0,allowDG:!1}),C(i.pointRange)||(i.pointRange=1)}setOptions(i){let g,p=this.chart,w=p.options.plotOptions,S=p.userOptions||{},B=L(i),F=p.styledMode,U={plotOptions:w,userOptions:B};a(this,"setOptions",U);let K=U.plotOptions[this.type],st=S.plotOptions||{},rt=st.series||{},N=D.plotOptions[this.type]||{},E=st[this.type]||{};this.userOptions=U.userOptions;let G=L(K,w.series,E,B);this.tooltipOptions=L(D.tooltip,D.plotOptions.series?.tooltip,N?.tooltip,p.userOptions.tooltip,st.series?.tooltip,E.tooltip,B.tooltip),this.stickyTracking=z(B.stickyTracking,E.stickyTracking,rt.stickyTracking,!!this.tooltipOptions.shared&&!this.noSharedTooltip||G.stickyTracking),K.marker===null&&delete G.marker,this.zoneAxis=G.zoneAxis||"y";let X=this.zones=(G.zones||[]).map(_=>Ot({},_));return(G.negativeColor||G.negativeFillColor)&&!G.zones&&(g={value:G[this.zoneAxis+"Threshold"]||G.threshold||0,className:"highcharts-negative"},F||(g.color=G.negativeColor,g.fillColor=G.negativeFillColor),X.push(g)),X.length&&C(X[X.length-1].value)&&X.push(F?{}:{color:this.color,fillColor:this.fillColor}),a(this,"afterSetOptions",{options:G}),G}getName(){return z(this.options.name,"Series "+(this.index+1))}getCyclic(i,g,p){let w,S,B=this.chart,F=`${i}Index`,U=`${i}Counter`,K=p?.length||B.options.chart.colorCount;!g&&(C(S=z(i==="color"?this.options.colorIndex:void 0,this[F]))?w=S:(B.series.length||(B[U]=0),w=B[U]%K,B[U]+=1),p&&(g=p[w])),w!==void 0&&(this[F]=w),this[i]=g}getColor(){this.chart.styledMode?this.getCyclic("color"):this.options.colorByPoint?this.color="#cccccc":this.getCyclic("color",this.options.color||D.plotOptions[this.type].color,this.chart.options.colors)}getPointsCollection(){return(this.hasGroupedData?this.points:this.data)||[]}getSymbol(){let i=this.options.marker;this.getCyclic("symbol",i.symbol,this.chart.options.symbols)}findPointIndex(i,g){let p,w,S,B=i.id,F=i.x,U=this.points,K=this.options.dataSorting;if(B){let st=this.chart.get(B);st instanceof ot&&(p=st)}else if(this.linkedParent||this.enabledDataSorting||this.options.relativeXValue){let st=rt=>!rt.touched&&rt.index===i.index;if(K&&K.matchByName?st=rt=>!rt.touched&&rt.name===i.name:this.options.relativeXValue&&(st=rt=>!rt.touched&&rt.options.x===i.x),!(p=r(U,st)))return}return p&&(S=p&&p.index)!==void 0&&(w=!0),S===void 0&&Y(F)&&(S=this.xData.indexOf(F,g)),S!==-1&&S!==void 0&&this.cropped&&(S=S>=this.cropStart?S-this.cropStart:S),!w&&Y(S)&&U[S]&&U[S].touched&&(S=void 0),S}updateData(i,g){let p=this.options,w=p.dataSorting,S=this.points,B=[],F=this.requireSorting,U=i.length===S.length,K,st,rt,N,E=!0;if(this.xIncrement=null,i.forEach(function(G,X){let _,J=C(G)&&this.pointClass.prototype.optionsToObject.call({series:this},G)||{},et=J.x;J.id||Y(et)?((_=this.findPointIndex(J,N))===-1||_===void 0?B.push(G):S[_]&&G!==p.data[_]?(S[_].update(G,!1,null,!1),S[_].touched=!0,F&&(N=_+1)):S[_]&&(S[_].touched=!0),(!U||X!==_||w&&w.enabled||this.hasDerivedData)&&(K=!0)):B.push(G)},this),K)for(st=S.length;st--;)(rt=S[st])&&!rt.touched&&rt.remove&&rt.remove(!1,g);else!U||w&&w.enabled?E=!1:(i.forEach(function(G,X){G===S[X].y||S[X].destroyed||S[X].update(G,!1,null,!1)}),B.length=0);return S.forEach(function(G){G&&(G.touched=!1)}),!!E&&(B.forEach(function(G){this.addPoint(G,!1,null,null,!1)},this),this.xIncrement===null&&this.xData&&this.xData.length&&(this.xIncrement=A(this.xData),this.autoIncrement()),!0)}setData(i,g=!0,p,w){let S=this,B=S.points,F=B&&B.length||0,U=S.options,K=S.chart,st=U.dataSorting,rt=S.xAxis,N=U.turboThreshold,E=this.xData,G=this.yData,X=S.pointArrayMap,_=X&&X.length,J=U.keys,et,tt,nt,ct=0,pt=1,gt;K.options.chart.allowMutatingData||(U.data&&delete S.options.data,S.userOptions.data&&delete S.userOptions.data,gt=L(!0,i));let ut=(i=gt||i||[]).length;if(st&&st.enabled&&(i=this.sortData(i)),K.options.chart.allowMutatingData&&w!==!1&&ut&&F&&!S.cropped&&!S.hasGroupedData&&S.visible&&!S.boosted&&(nt=this.updateData(i,p)),!nt){S.xIncrement=null,S.colorCounter=0,this.parallelArrays.forEach(function(mt){S[mt+"Data"].length=0});let xt=N&&ut>N;if(xt){let mt=S.getFirstValidPoint(i),ft=S.getFirstValidPoint(i,ut-1,-1),bt=vt=>!!(T(vt)&&(J||Y(vt[0])));if(Y(mt)&&Y(ft))for(et=0;et<ut;et++)E[et]=this.autoIncrement(),G[et]=i[et];else if(bt(mt)&&bt(ft))if(_)if(mt.length===_)for(et=0;et<ut;et++)E[et]=this.autoIncrement(),G[et]=i[et];else for(et=0;et<ut;et++)tt=i[et],E[et]=tt[0],G[et]=tt.slice(1,_+1);else if(J&&(ct=J.indexOf("x"),pt=J.indexOf("y"),ct=ct>=0?ct:0,pt=pt>=0?pt:1),mt.length===1&&(pt=0),ct===pt)for(et=0;et<ut;et++)E[et]=this.autoIncrement(),G[et]=i[et][pt];else for(et=0;et<ut;et++)tt=i[et],E[et]=tt[ct],G[et]=tt[pt];else xt=!1}if(!xt)for(et=0;et<ut;et++)tt={series:S},S.pointClass.prototype.applyOptions.apply(tt,[i[et]]),S.updateParallelArrays(tt,et);for(G&&f(G[0])&&e(14,!0,K),S.data=[],S.options.data=S.userOptions.data=i,et=F;et--;)B[et]?.destroy();rt&&(rt.minRange=rt.userMinRange),S.isDirty=K.isDirtyBox=!0,S.isDirtyData=!!B,p=!1}U.legendType==="point"&&(this.processData(),this.generatePoints()),g&&K.redraw(p)}sortData(i){let g=this,p=g.options.dataSorting.sortKey||"y",w=function(S,B){return C(B)&&S.pointClass.prototype.optionsToObject.call({series:S},B)||{}};return i.forEach(function(S,B){i[B]=w(g,S),i[B].index=B},this),i.concat().sort((S,B)=>{let F=y(p,S),U=y(p,B);return U<F?-1:U>F?1:0}).forEach(function(S,B){S.x=B},this),g.linkedSeries&&g.linkedSeries.forEach(function(S){let B=S.options,F=B.data;B.dataSorting&&B.dataSorting.enabled||!F||(F.forEach(function(U,K){F[K]=w(S,U),i[K]&&(F[K].x=i[K].x,F[K].index=K)}),S.setData(F,!1))}),i}getProcessedData(i){let g=this,p=g.xAxis,w=g.options.cropThreshold,S=p?.logarithmic,B=g.isCartesian,F,U,K=0,st,rt,N,E=g.xData,G=g.yData,X=!1,_=E.length;p&&(rt=(st=p.getExtremes()).min,N=st.max,X=!!(p.categories&&!p.names.length)),B&&g.sorted&&!i&&(!w||_>w||g.forceCrop)&&(E[_-1]<rt||E[0]>N?(E=[],G=[]):g.yData&&(E[0]<rt||E[_-1]>N)&&(E=(F=this.cropData(g.xData,g.yData,rt,N)).xData,G=F.yData,K=F.start,U=!0));let J=x([S?E.map(S.log2lin):E],()=>g.requireSorting&&!X&&e(15,!1,g.chart));return{xData:E,yData:G,cropped:U,cropStart:K,closestPointRange:J}}processData(i){let g=this.xAxis;if(this.isCartesian&&!this.isDirty&&!g.isDirty&&!this.yAxis.isDirty&&!i)return!1;let p=this.getProcessedData();this.cropped=p.cropped,this.cropStart=p.cropStart,this.processedXData=p.xData,this.processedYData=p.yData,this.closestPointRange=this.basePointRange=p.closestPointRange,a(this,"afterProcessData")}cropData(i,g,p,w){let S=i.length,B,F,U=0,K=S;for(B=0;B<S;B++)if(i[B]>=p){U=Math.max(0,B-1);break}for(F=B;F<S;F++)if(i[F]>w){K=F+1;break}return{xData:i.slice(U,K),yData:g.slice(U,K),start:U,end:K}}generatePoints(){let i=this.options,g=this.processedData||i.data,p=this.processedXData,w=this.processedYData,S=this.pointClass,B=p.length,F=this.cropStart||0,U=this.hasGroupedData,K=i.keys,st=[],rt=i.dataGrouping&&i.dataGrouping.groupAll?F:0,N,E,G,X,_=this.data;if(!_&&!U){let J=[];J.length=g.length,_=this.data=J}for(K&&U&&(this.options.keys=!1),X=0;X<B;X++)E=F+X,U?((G=new S(this,[p[X]].concat(n(w[X])))).dataGroup=this.groupMap[rt+X],G.dataGroup.options&&(G.options=G.dataGroup.options,t(G,G.dataGroup.options),delete G.dataLabels)):(G=_[E])||g[E]===void 0||(_[E]=G=new S(this,g[E],p[X])),G&&(G.index=U?rt+X:E,st[X]=G);if(this.options.keys=K,_&&(B!==(N=_.length)||U))for(X=0;X<N;X++)X!==F||U||(X+=B),_[X]&&(_[X].destroyElements(),_[X].plotX=void 0);this.data=_,this.points=st,a(this,"afterGeneratePoints")}getXExtremes(i){return{min:d(i),max:A(i)}}getExtremes(i,g){let p=this.xAxis,w=this.yAxis,S=[],B=this.requireSorting&&!this.is("column")?1:0,F=!!w&&w.positiveValuesOnly,U=g||this.getExtremesFromAll||this.options.getExtremesFromAll,{processedXData:K,processedYData:st}=this,rt,N,E,G,X,_,J,et=0,tt=0,nt=0;if(this.cropped&&U){let ut=this.getProcessedData(!0);K=ut.xData,st=ut.yData}let ct=(i=i||this.stackedYData||st||[]).length,pt=K||this.xData;for(p&&(et=(rt=p.getExtremes()).min,tt=rt.max),_=0;_<ct;_++)if(G=pt[_],N=(Y(X=i[_])||T(X))&&((Y(X)?X>0:X.length)||!F),E=g||this.getExtremesFromAll||this.options.getExtremesFromAll||this.cropped||!p||(pt[_+B]||G)>=et&&(pt[_-B]||G)<=tt,N&&E)if(J=X.length)for(;J--;)Y(X[J])&&(S[nt++]=X[J]);else S[nt++]=X;let gt={activeYData:S,dataMin:d(S),dataMax:A(S)};return a(this,"afterGetExtremes",{dataExtremes:gt}),gt}applyExtremes(){let i=this.getExtremes();return this.dataMin=i.dataMin,this.dataMax=i.dataMax,i}getFirstValidPoint(i,g=0,p=1){let w=i.length,S=g;for(;S>=0&&S<w;){if(C(i[S]))return i[S];S+=p}}translate(){this.processedXData||this.processData(),this.generatePoints();let i=this.options,g=i.stacking,p=this.xAxis,w=p.categories,S=this.enabledDataSorting,B=this.yAxis,F=this.points,U=F.length,K=this.pointPlacementToXValue(),st=!!K,rt=i.threshold,N=i.startFromThreshold?rt:0,E,G,X,_,J=Number.MAX_VALUE;function et(tt){return M(tt,-1e9,1e9)}for(E=0;E<U;E++){let tt,nt=F[E],ct=nt.x,pt,gt,ut=nt.y,xt=nt.low,mt=g&&B.stacking?.stacks[(this.negStacks&&ut<(N?0:rt)?"-":"")+this.stackKey];G=p.translate(ct,!1,!1,!1,!0,K),nt.plotX=Y(G)?W(et(G)):void 0,g&&this.visible&&mt&&mt[ct]&&(_=this.getStackIndicator(_,ct,this.index),!nt.isNull&&_.key&&(gt=(pt=mt[ct]).points[_.key]),pt&&T(gt)&&(xt=gt[0],ut=gt[1],xt===N&&_.key===mt[ct].base&&(xt=z(Y(rt)?rt:B.min)),B.positiveValuesOnly&&C(xt)&&xt<=0&&(xt=void 0),nt.total=nt.stackTotal=z(pt.total),nt.percentage=C(nt.y)&&pt.total?nt.y/pt.total*100:void 0,nt.stackY=ut,this.irregularWidths||pt.setOffset(this.pointXOffset||0,this.barW||0,void 0,void 0,void 0,this.xAxis))),nt.yBottom=C(xt)?et(B.translate(xt,!1,!0,!1,!0)):void 0,this.dataModify&&(ut=this.dataModify.modifyValue(ut,E)),Y(ut)&&nt.plotX!==void 0&&(tt=Y(tt=B.translate(ut,!1,!0,!1,!0))?et(tt):void 0),nt.plotY=tt,nt.isInside=this.isPointInside(nt),nt.clientX=st?W(p.translate(ct,!1,!1,!1,!0,K)):G,nt.negative=(nt.y||0)<(rt||0),nt.category=z(w&&w[nt.x],nt.x),nt.isNull||nt.visible===!1||(X!==void 0&&(J=Math.min(J,Math.abs(G-X))),X=G),nt.zone=this.zones.length?nt.getZone():void 0,!nt.graphic&&this.group&&S&&(nt.isNew=!0)}this.closestPointRangePx=J,a(this,"afterTranslate")}getValidPoints(i,g,p){let w=this.chart;return(i||this.points||[]).filter(function(S){let{plotX:B,plotY:F}=S;return!!((p||!S.isNull&&Y(F))&&(!g||w.isInsidePlot(B,F,{inverted:w.inverted})))&&S.visible!==!1})}getClipBox(){let{chart:i,xAxis:g,yAxis:p}=this,{x:w,y:S,width:B,height:F}=L(i.clipBox);return g&&g.len!==i.plotSizeX&&(B=g.len),p&&p.len!==i.plotSizeY&&(F=p.len),i.inverted&&!this.invertible&&([B,F]=[F,B]),{x:w,y:S,width:B,height:F}}getSharedClipKey(){return this.sharedClipKey=(this.options.xAxis||0)+","+(this.options.yAxis||0),this.sharedClipKey}setClip(){let{chart:i,group:g,markerGroup:p}=this,w=i.sharedClips,S=i.renderer,B=this.getClipBox(),F=this.getSharedClipKey(),U=w[F];U?U.animate(B):w[F]=U=S.clipRect(B),g&&g.clip(this.options.clip===!1?void 0:U),p&&p.clip()}animate(i){let{chart:g,group:p,markerGroup:w}=this,S=g.inverted,B=v(this.options.animation),F=[this.getSharedClipKey(),B.duration,B.easing,B.defer].join(","),U=g.sharedClips[F],K=g.sharedClips[F+"m"];if(i&&p){let st=this.getClipBox();if(U)U.attr("height",st.height);else{st.width=0,S&&(st.x=g.plotHeight),U=g.renderer.clipRect(st),g.sharedClips[F]=U;let rt={x:-99,y:-99,width:S?g.plotWidth+199:99,height:S?99:g.plotHeight+199};K=g.renderer.clipRect(rt),g.sharedClips[F+"m"]=K}p.clip(U),w?.clip(K)}else if(U&&!U.hasClass("highcharts-animating")){let st=this.getClipBox(),rt=B.step;(w?.element.childNodes.length||g.series.length>1)&&(B.step=function(N,E){rt&&rt.apply(E,arguments),E.prop==="width"&&K?.element&&K.attr(S?"height":"width",N+99)}),U.addClass("highcharts-animating").animate(st,B)}}afterAnimate(){this.setClip(),R(this.chart.sharedClips,(i,g,p)=>{i&&!this.chart.container.querySelector(`[clip-path="url(#${i.id})"]`)&&(i.destroy(),delete p[g])}),this.finishedAnimating=!0,a(this,"afterAnimate")}drawPoints(i=this.points){let g,p,w,S,B,F,U,K=this.chart,st=K.styledMode,{colorAxis:rt,options:N}=this,E=N.marker,G=this[this.specialGroup||"markerGroup"],X=this.xAxis,_=z(E.enabled,!X||!!X.isRadial||null,this.closestPointRangePx>=E.enabledThreshold*E.radius);if(E.enabled!==!1||this._hasPointMarkers)for(g=0;g<i.length;g++)if(S=(w=(p=i[g]).graphic)?"animate":"attr",B=p.marker||{},F=!!p.marker,(_&&B.enabled===void 0||B.enabled)&&!p.isNull&&p.visible!==!1){let J=z(B.symbol,this.symbol,"rect");U=this.markerAttribs(p,p.selected&&"select"),this.enabledDataSorting&&(p.startXPos=X.reversed?-(U.width||0):X.width);let et=p.isInside!==!1;if(!w&&et&&((U.width||0)>0||p.hasImage)&&(p.graphic=w=K.renderer.symbol(J,U.x,U.y,U.width,U.height,F?B:E).add(G),this.enabledDataSorting&&K.hasRendered&&(w.attr({x:p.startXPos}),S="animate")),w&&S==="animate"&&w[et?"show":"hide"](et).animate(U),w){let tt=this.pointAttribs(p,st||!p.selected?void 0:"select");st?rt&&w.css({fill:tt.fill}):w[S](tt)}w&&w.addClass(p.getClassName(),!0)}else w&&(p.graphic=w.destroy())}markerAttribs(i,g){let p=this.options,w=p.marker,S=i.marker||{},B=S.symbol||w.symbol,F={},U,K,st=z(S.radius,w&&w.radius);g&&(U=w.states[g],st=z((K=S.states&&S.states[g])&&K.radius,U&&U.radius,st&&st+(U&&U.radiusPlus||0))),i.hasImage=B&&B.indexOf("url")===0,i.hasImage&&(st=0);let rt=i.pos();return Y(st)&&rt&&(p.crisp&&(rt[0]=O(rt[0],i.hasImage?0:B==="rect"?w?.lineWidth||0:1)),F.x=rt[0]-st,F.y=rt[1]-st),st&&(F.width=F.height=2*st),F}pointAttribs(i,g){let p=this.options.marker,w=i&&i.options,S=w&&w.marker||{},B=w&&w.color,F=i&&i.color,U=i&&i.zone&&i.zone.color,K,st,rt=this.color,N,E,G=z(S.lineWidth,p.lineWidth),X=1;return rt=B||U||F||rt,N=S.fillColor||p.fillColor||rt,E=S.lineColor||p.lineColor||rt,g=g||"normal",K=p.states[g]||{},G=z((st=S.states&&S.states[g]||{}).lineWidth,K.lineWidth,G+z(st.lineWidthPlus,K.lineWidthPlus,0)),N=st.fillColor||K.fillColor||N,{stroke:E=st.lineColor||K.lineColor||E,"stroke-width":G,fill:N,opacity:X=z(st.opacity,K.opacity,X)}}destroy(i){let g,p,w,S=this,B=S.chart,F=/AppleWebKit\/533/.test(b.navigator.userAgent),U=S.data||[];for(a(S,"destroy",{keepEventsForUpdate:i}),this.removeEvents(i),(S.axisTypes||[]).forEach(function(K){(w=S[K])&&w.series&&(s(w.series,S),w.isDirty=w.forceRedraw=!0)}),S.legendItem&&S.chart.legend.destroyItem(S),g=U.length;g--;)(p=U[g])&&p.destroy&&p.destroy();for(let K of S.zones)o(K,void 0,!0);V.clearTimeout(S.animationTimeout),R(S,function(K,st){K instanceof $&&!K.survive&&K[F&&st==="group"?"hide":"destroy"]()}),B.hoverSeries===S&&(B.hoverSeries=void 0),s(B.series,S),B.orderItems("series"),R(S,function(K,st){i&&st==="hcEvents"||delete S[st]})}applyZones(){let{area:i,chart:g,graph:p,zones:w,points:S,xAxis:B,yAxis:F,zoneAxis:U}=this,{inverted:K,renderer:st}=g,rt=this[`${U}Axis`],{isXAxis:N,len:E=0}=rt||{},G=(p?.strokeWidth()||0)/2+1,X=(_,J=0,et=0)=>{K&&(et=E-et);let{translated:tt=0,lineClip:nt}=_,ct=et-tt;nt?.push(["L",J,Math.abs(ct)<G?et-G*(ct<=0?-1:1):tt])};if(w.length&&(p||i)&&rt&&Y(rt.min)){let _=rt.getExtremes().max,J=nt=>{nt.forEach((ct,pt)=>{(ct[0]==="M"||ct[0]==="L")&&(nt[pt]=[ct[0],N?E-ct[1]:ct[1],N?ct[2]:E-ct[2]])})};if(w.forEach(nt=>{nt.lineClip=[],nt.translated=M(rt.toPixels(z(nt.value,_),!0)||0,0,E)}),p&&!this.showLine&&p.hide(),i&&i.hide(),U==="y"&&S.length<B.len)for(let nt of S){let{plotX:ct,plotY:pt,zone:gt}=nt,ut=gt&&w[w.indexOf(gt)-1];gt&&X(gt,ct,pt),ut&&X(ut,ct,pt)}let et=[],tt=rt.toPixels(rt.getExtremes().min,!0);w.forEach(nt=>{let ct=nt.lineClip||[],pt=Math.round(nt.translated||0);B.reversed&&ct.reverse();let{clip:gt,simpleClip:ut}=nt,xt=0,mt=0,ft=B.len,bt=F.len;N?(xt=pt,ft=tt):(mt=pt,bt=tt);let vt=[["M",xt,mt],["L",ft,mt],["L",ft,bt],["L",xt,bt],["Z"]],St=[vt[0],...ct,vt[1],vt[2],...et,vt[3],vt[4]];et=ct.reverse(),tt=pt,K&&(J(St),i&&J(vt)),gt?(gt.animate({d:St}),ut?.animate({d:vt})):(gt=nt.clip=st.path(St),i&&(ut=nt.simpleClip=st.path(vt))),p&&nt.graph?.clip(gt),i&&nt.area?.clip(ut)})}else this.visible&&(p&&p.show(),i&&i.show())}plotGroup(i,g,p,w,S){let B=this[i],F=!B,U={visibility:p,zIndex:w||.1};return C(this.opacity)&&!this.chart.styledMode&&this.state!=="inactive"&&(U.opacity=this.opacity),B||(this[i]=B=this.chart.renderer.g().add(S)),B.addClass("highcharts-"+g+" highcharts-series-"+this.index+" highcharts-"+this.type+"-series "+(C(this.colorIndex)?"highcharts-color-"+this.colorIndex+" ":"")+(this.options.className||"")+(B.hasClass("highcharts-tracker")?" highcharts-tracker":""),!0),B.attr(U)[F?"attr":"animate"](this.getPlotBox(g)),B}getPlotBox(i){let g=this.xAxis,p=this.yAxis,w=this.chart,S=w.inverted&&!w.polar&&g&&this.invertible&&i==="series";return w.inverted&&(g=p,p=this.xAxis),{translateX:g?g.left:w.plotLeft,translateY:p?p.top:w.plotTop,rotation:S?90:0,rotationOriginX:S?(g.len-p.len)/2:0,rotationOriginY:S?(g.len+p.len)/2:0,scaleX:S?-1:1,scaleY:1}}removeEvents(i){let{eventsToUnbind:g}=this;i||Z(this),g.length&&(g.forEach(p=>{p()}),g.length=0)}render(){let i=this,{chart:g,options:p,hasRendered:w}=i,S=v(p.animation),B=i.visible?"inherit":"hidden",F=p.zIndex,U=g.seriesGroup,K=i.finishedAnimating?0:S.duration;a(this,"render"),i.plotGroup("group","series",B,F,U),i.markerGroup=i.plotGroup("markerGroup","markers",B,F,U),p.clip!==!1&&i.setClip(),K&&i.animate?.(!0),i.drawGraph&&(i.drawGraph(),i.applyZones()),i.visible&&i.drawPoints(),i.drawDataLabels?.(),i.redrawPoints?.(),p.enableMouseTracking&&i.drawTracker?.(),K&&i.animate?.(),w||(K&&S.defer&&(K+=S.defer),i.animationTimeout=l(()=>{i.afterAnimate()},K||0)),i.isDirty=!1,i.hasRendered=!0,a(i,"afterRender")}redraw(){let i=this.isDirty||this.isDirtyData;this.translate(),this.render(),i&&delete this.kdTree}reserveSpace(){return this.visible||!this.chart.options.chart.ignoreHiddenSeries}searchPoint(i,g){let{xAxis:p,yAxis:w}=this,S=this.chart.inverted;return this.searchKDTree({clientX:S?p.len-i.chartY+p.pos:i.chartX-p.pos,plotY:S?w.len-i.chartX+w.pos:i.chartY-w.pos},g,i)}buildKDTree(i){this.buildingKdTree=!0;let g=this,p=g.options.findNearestPointBy.indexOf("y")>-1?2:1;delete g.kdTree,l(function(){g.kdTree=function w(S,B,F){let U,K,st=S?.length;if(st)return U=g.kdAxisArray[B%F],S.sort((rt,N)=>(rt[U]||0)-(N[U]||0)),{point:S[K=Math.floor(st/2)],left:w(S.slice(0,K),B+1,F),right:w(S.slice(K+1),B+1,F)}}(g.getValidPoints(void 0,!g.directTouch),p,p),g.buildingKdTree=!1},g.options.kdNow||i?.type==="touchstart"?0:1)}searchKDTree(i,g,p){let w=this,[S,B]=this.kdAxisArray,F=g?"distX":"dist",U=(w.options.findNearestPointBy||"").indexOf("y")>-1?2:1,K=!!w.isBubble;if(this.kdTree||this.buildingKdTree||this.buildKDTree(p),this.kdTree)return function st(rt,N,E,G){let X=N.point,_=w.kdAxisArray[E%G],J,et,tt=X;(function(gt,ut){let xt=gt[S],mt=ut[S],ft=C(xt)&&C(mt)?xt-mt:null,bt=gt[B],vt=ut[B],St=C(bt)&&C(vt)?bt-vt:0,Ct=K&&ut.marker?.radius||0;ut.dist=Math.sqrt((ft&&ft*ft||0)+St*St)-Ct,ut.distX=C(ft)?Math.abs(ft)-Ct:Number.MAX_VALUE})(rt,X);let nt=(rt[_]||0)-(X[_]||0)+(K&&X.marker?.radius||0),ct=nt<0?"left":"right",pt=nt<0?"right":"left";return N[ct]&&(tt=(J=st(rt,N[ct],E+1,G))[F]<tt[F]?J:X),N[pt]&&Math.sqrt(nt*nt)<tt[F]&&(tt=(et=st(rt,N[pt],E+1,G))[F]<tt[F]?et:tt),tt}(i,this.kdTree,U,U)}pointPlacementToXValue(){let{options:i,xAxis:g}=this,p=i.pointPlacement;return p==="between"&&(p=g.reversed?-.5:.5),Y(p)?p*(i.pointRange||g.pointRange):0}isPointInside(i){let{chart:g,xAxis:p,yAxis:w}=this,{plotX:S=-1,plotY:B=-1}=i;return B>=0&&B<=(w?w.len:g.plotHeight)&&S>=0&&S<=(p?p.len:g.plotWidth)}drawTracker(){let i=this,g=i.options,p=g.trackByArea,w=[].concat((p?i.areaPath:i.graphPath)||[]),S=i.chart,B=S.pointer,F=S.renderer,U=S.options.tooltip?.snap||0,K=()=>{g.enableMouseTracking&&S.hoverSeries!==i&&i.onMouseOver()},st="rgba(192,192,192,"+(m?1e-4:.002)+")",rt=i.tracker;rt?rt.attr({d:w}):i.graph&&(i.tracker=rt=F.path(w).attr({visibility:i.visible?"inherit":"hidden",zIndex:2}).addClass(p?"highcharts-tracker-area":"highcharts-tracker-line").add(i.group),S.styledMode||rt.attr({"stroke-linecap":"round","stroke-linejoin":"round",stroke:st,fill:p?st:"none","stroke-width":i.graph.strokeWidth()+(p?0:2*U)}),[i.tracker,i.markerGroup,i.dataLabelsGroup].forEach(N=>{N&&(N.addClass("highcharts-tracker").on("mouseover",K).on("mouseout",E=>{B?.onTrackerMouseOut(E)}),g.cursor&&!S.styledMode&&N.css({cursor:g.cursor}),N.on("touchstart",K))})),a(this,"afterDrawTracker")}addPoint(i,g,p,w,S){let B,F,U=this.options,K=this.data,st=this.chart,rt=this.xAxis,N=rt&&rt.hasNames&&rt.names,E=U.data,G=this.xData;g=z(g,!0);let X={series:this};this.pointClass.prototype.applyOptions.apply(X,[i]);let _=X.x;if(F=G.length,this.requireSorting&&_<G[F-1])for(B=!0;F&&G[F-1]>_;)F--;this.updateParallelArrays(X,"splice",[F,0,0]),this.updateParallelArrays(X,F),N&&X.name&&(N[_]=X.name),E.splice(F,0,i),(B||this.processedData)&&(this.data.splice(F,0,null),this.processData()),U.legendType==="point"&&this.generatePoints(),p&&(K[0]&&K[0].remove?K[0].remove(!1):(K.shift(),this.updateParallelArrays(X,"shift"),E.shift())),S!==!1&&a(this,"addPoint",{point:X}),this.isDirty=!0,this.isDirtyData=!0,g&&st.redraw(w)}removePoint(i,g,p){let w=this,S=w.data,B=S[i],F=w.points,U=w.chart,K=function(){F&&F.length===S.length&&F.splice(i,1),S.splice(i,1),w.options.data.splice(i,1),w.updateParallelArrays(B||{series:w},"splice",[i,1]),B&&B.destroy(),w.isDirty=!0,w.isDirtyData=!0,g&&U.redraw()};I(p,U),g=z(g,!0),B?B.firePointEvent("remove",null,K):K()}remove(i,g,p,w){let S=this,B=S.chart;function F(){S.destroy(w),B.isDirtyLegend=B.isDirtyBox=!0,B.linkSeries(w),z(i,!0)&&B.redraw(g)}p!==!1?a(S,"remove",null,F):F()}update(i,g){a(this,"update",{options:i=u(i,this.userOptions)});let p=this,w=p.chart,S=p.userOptions,B=p.initialType||p.type,F=w.options.plotOptions,U=k[B].prototype,K=p.finishedAnimating&&{animation:!1},st={},rt,N,E=["colorIndex","eventOptions","navigatorSeries","symbolIndex","baseSeries"],G=i.type||S.type||w.options.chart.type,X=!(this.hasDerivedData||G&&G!==this.type||i.pointStart!==void 0||i.pointInterval!==void 0||i.relativeXValue!==void 0||i.joinBy||i.mapData||["dataGrouping","pointStart","pointInterval","pointIntervalUnit","keys"].some(J=>p.hasOptionChanged(J)));G=G||B,X&&(E.push("data","isDirtyData","isDirtyCanvas","points","processedData","processedXData","processedYData","xIncrement","cropped","_hasPointMarkers","hasDataLabels","nodes","layout","level","mapMap","mapData","minY","maxY","minX","maxX","transformGroups"),i.visible!==!1&&E.push("area","graph"),p.parallelArrays.forEach(function(J){E.push(J+"Data")}),i.data&&(i.dataSorting&&t(p.options.dataSorting,i.dataSorting),this.setData(i.data,!1))),i=L(S,{index:S.index===void 0?p.index:S.index,pointStart:F?.series?.pointStart??S.pointStart??p.xData?.[0]},!X&&{data:p.options.data},i,K),X&&i.data&&(i.data=p.options.data),(E=["group","markerGroup","dataLabelsGroup","transformGroup"].concat(E)).forEach(function(J){E[J]=p[J],delete p[J]});let _=!1;if(k[G]){if(_=G!==p.type,p.remove(!1,!1,!1,!0),_)if(w.propFromSeries(),Object.setPrototypeOf)Object.setPrototypeOf(p,k[G].prototype);else{let J=Object.hasOwnProperty.call(p,"hcEvents")&&p.hcEvents;for(N in U)p[N]=void 0;t(p,k[G].prototype),J?p.hcEvents=J:delete p.hcEvents}}else e(17,!0,w,{missingModuleFor:G});if(E.forEach(function(J){p[J]=E[J]}),p.init(w,i),X&&this.points)for(let J of((rt=p.options).visible===!1?(st.graphic=1,st.dataLabel=1):(this.hasMarkerChanged(rt,S)&&(st.graphic=1),p.hasDataLabels?.()||(st.dataLabel=1)),this.points))J&&J.series&&(J.resolveColor(),Object.keys(st).length&&J.destroyElements(st),rt.showInLegend===!1&&J.legendItem&&w.legend.destroyItem(J));p.initialType=B,w.linkSeries(),w.setSortedData(),_&&p.linkedSeries.length&&(p.isDirtyData=!0),a(this,"afterUpdate"),z(g,!0)&&w.redraw(!!X&&void 0)}setName(i){this.name=this.options.name=this.userOptions.name=i,this.chart.isDirtyLegend=!0}hasOptionChanged(i){let g=this.chart,p=this.options[i],w=g.options.plotOptions,S=this.userOptions[i],B=z(w?.[this.type]?.[i],w?.series?.[i]);return S&&!C(B)?p!==S:p!==z(B,p)}onMouseOver(){let i=this.chart,g=i.hoverSeries;i.pointer?.setHoverChartIndex(),g&&g!==this&&g.onMouseOut(),this.options.events.mouseOver&&a(this,"mouseOver"),this.setState("hover"),i.hoverSeries=this}onMouseOut(){let i=this.options,g=this.chart,p=g.tooltip,w=g.hoverPoint;g.hoverSeries=null,w&&w.onMouseOut(),this&&i.events.mouseOut&&a(this,"mouseOut"),p&&!this.stickyTracking&&(!p.shared||this.noSharedTooltip)&&p.hide(),g.series.forEach(function(S){S.setState("",!0)})}setState(i,g){let p=this,w=p.options,S=p.graph,B=w.inactiveOtherPoints,F=w.states,U=z(F[i||"normal"]&&F[i||"normal"].animation,p.chart.options.chart.animation),K=w.lineWidth,st=w.opacity;if(i=i||"",p.state!==i&&([p.group,p.markerGroup,p.dataLabelsGroup].forEach(function(rt){rt&&(p.state&&rt.removeClass("highcharts-series-"+p.state),i&&rt.addClass("highcharts-series-"+i))}),p.state=i,!p.chart.styledMode)){if(F[i]&&F[i].enabled===!1)return;if(i&&(K=F[i].lineWidth||K+(F[i].lineWidthPlus||0),st=z(F[i].opacity,st)),S&&!S.dashstyle&&Y(K))for(let rt of[S,...this.zones.map(N=>N.graph)])rt?.animate({"stroke-width":K},U);B||[p.group,p.markerGroup,p.dataLabelsGroup,p.labelBySeries].forEach(function(rt){rt&&rt.animate({opacity:st},U)})}g&&B&&p.points&&p.setAllPointsToState(i||void 0)}setAllPointsToState(i){this.points.forEach(function(g){g.setState&&g.setState(i)})}setVisible(i,g){let p=this,w=p.chart,S=w.options.chart.ignoreHiddenSeries,B=p.visible;p.visible=i=p.options.visible=p.userOptions.visible=i===void 0?!B:i;let F=i?"show":"hide";["group","dataLabelsGroup","markerGroup","tracker","tt"].forEach(U=>{p[U]?.[F]()}),(w.hoverSeries===p||w.hoverPoint?.series===p)&&p.onMouseOut(),p.legendItem&&w.legend.colorizeItem(p,i),p.isDirty=!0,p.options.stacking&&w.series.forEach(U=>{U.options.stacking&&U.visible&&(U.isDirty=!0)}),p.linkedSeries.forEach(U=>{U.setVisible(i,!1)}),S&&(w.isDirtyBox=!0),a(p,F),g!==!1&&w.redraw()}show(){this.setVisible(!0)}hide(){this.setVisible(!1)}select(i){this.selected=i=this.options.selected=i===void 0?!this.selected:i,this.checkbox&&(this.checkbox.checked=i),a(this,i?"select":"unselect")}shouldShowTooltip(i,g,p={}){return p.series=this,p.visiblePlotOnly=!0,this.chart.isInsidePlot(i,g,p)}drawLegendSymbol(i,g){lt[this.options.legendSymbol||"rectangle"]?.call(this,i,g)}}return c.defaultOptions=at,c.types=q.seriesTypes,c.registerType=q.registerSeriesType,t(c.prototype,{axisTypes:["xAxis","yAxis"],coll:"series",colorCounter:0,directTouch:!1,invertible:!0,isCartesian:!0,kdAxisArray:["clientX","plotY"],parallelArrays:["x","y"],pointClass:ot,requireSorting:!0,sorted:!0}),q.series=c,c}),yt(H,"Core/Legend/Legend.js",[H["Core/Animation/AnimationUtilities.js"],H["Core/Foundation.js"],H["Core/Globals.js"],H["Core/Series/Series.js"],H["Core/Series/Point.js"],H["Core/Renderer/RendererUtilities.js"],H["Core/Templating.js"],H["Core/Utilities.js"]],function(Q,it,ht,dt,lt,ot,at,q){var $;let{animObject:V,setAnimation:v}=Q,{registerEventOptions:I}=it,{composed:D,marginNames:P}=ht,{distribute:m}=ot,{format:b}=at,{addEvent:k,createElement:A,css:d,defined:M,discardElement:W,find:O,fireEvent:C,isNumber:o,merge:u,pick:s,pushUnique:e,relativeLength:t,stableSort:r,syncTimeout:a}=q;class x{constructor(h,T){this.allItems=[],this.initialItemY=0,this.itemHeight=0,this.itemMarginBottom=0,this.itemMarginTop=0,this.itemX=0,this.itemY=0,this.lastItemY=0,this.lastLineHeight=0,this.legendHeight=0,this.legendWidth=0,this.maxItemWidth=0,this.maxLegendWidth=0,this.offsetWidth=0,this.padding=0,this.pages=[],this.symbolHeight=0,this.symbolWidth=0,this.titleHeight=0,this.totalItemWidth=0,this.widthOption=0,this.chart=h,this.setOptions(T),T.enabled&&(this.render(),I(this,T),k(this.chart,"endResize",function(){this.legend.positionCheckboxes()})),k(this.chart,"render",()=>{this.options.enabled&&this.proximate&&(this.proximatePositions(),this.positionItems())})}setOptions(h){let T=s(h.padding,8);this.options=h,this.chart.styledMode||(this.itemStyle=h.itemStyle,this.itemHiddenStyle=u(this.itemStyle,h.itemHiddenStyle)),this.itemMarginTop=h.itemMarginTop,this.itemMarginBottom=h.itemMarginBottom,this.padding=T,this.initialItemY=T-5,this.symbolWidth=s(h.symbolWidth,16),this.pages=[],this.proximate=h.layout==="proximate"&&!this.chart.inverted,this.baseline=void 0}update(h,T){let Y=this.chart;this.setOptions(u(!0,this.options,h)),"events"in this.options&&I(this,this.options),this.destroy(),Y.isDirtyLegend=Y.isDirtyBox=!0,s(T,!0)&&Y.redraw(),C(this,"afterUpdate",{redraw:T})}colorizeItem(h,T){let{area:Y,group:f,label:L,line:R,symbol:z}=h.legendItem||{};if(f?.[T?"removeClass":"addClass"]("highcharts-legend-item-hidden"),!this.chart.styledMode){let{itemHiddenStyle:Z={}}=this,n=Z.color,{fillColor:l,fillOpacity:c,lineColor:j,marker:i}=h.options,g=p=>(!T&&(p.fill&&(p.fill=n),p.stroke&&(p.stroke=n)),p);L?.css(u(T?this.itemStyle:Z)),R?.attr(g({stroke:j||h.color})),z&&z.attr(g(i&&z.isMarker?h.pointAttribs():{fill:h.color})),Y?.attr(g({fill:l||h.color,"fill-opacity":l?1:c??.75}))}C(this,"afterColorizeItem",{item:h,visible:T})}positionItems(){this.allItems.forEach(this.positionItem,this),this.chart.isResizing||this.positionCheckboxes()}positionItem(h){let{group:T,x:Y=0,y:f=0}=h.legendItem||{},L=this.options,R=L.symbolPadding,z=!L.rtl,Z=h.checkbox;if(T&&T.element){let n={translateX:z?Y:this.legendWidth-Y-2*R-4,translateY:f};T[M(T.translateY)?"animate":"attr"](n,void 0,()=>{C(this,"afterPositionItem",{item:h})})}Z&&(Z.x=Y,Z.y=f)}destroyItem(h){let T=h.checkbox,Y=h.legendItem||{};for(let f of["group","label","line","symbol"])Y[f]&&(Y[f]=Y[f].destroy());T&&W(T),h.legendItem=void 0}destroy(){for(let h of this.getAllItems())this.destroyItem(h);for(let h of["clipRect","up","down","pager","nav","box","title","group"])this[h]&&(this[h]=this[h].destroy());this.display=null}positionCheckboxes(){let h,T=this.group&&this.group.alignAttr,Y=this.clipHeight||this.legendHeight,f=this.titleHeight;T&&(h=T.translateY,this.allItems.forEach(function(L){let R,z=L.checkbox;z&&(R=h+f+z.y+(this.scrollOffset||0)+3,d(z,{left:T.translateX+L.checkboxOffset+z.x-20+"px",top:R+"px",display:this.proximate||R>h-6&&R<h+Y-6?"":"none"}))},this))}renderTitle(){let h=this.options,T=this.padding,Y=h.title,f,L=0;Y.text&&(this.title||(this.title=this.chart.renderer.label(Y.text,T-3,T-4,void 0,void 0,void 0,h.useHTML,void 0,"legend-title").attr({zIndex:1}),this.chart.styledMode||this.title.css(Y.style),this.title.add(this.group)),Y.width||this.title.css({width:this.maxLegendWidth+"px"}),L=(f=this.title.getBBox()).height,this.offsetWidth=f.width,this.contentGroup.attr({translateY:L})),this.titleHeight=L}setText(h){let T=this.options;h.legendItem.label.attr({text:T.labelFormat?b(T.labelFormat,h,this.chart):T.labelFormatter.call(h)})}renderItem(h){let T=h.legendItem=h.legendItem||{},Y=this.chart,f=Y.renderer,L=this.options,R=L.layout==="horizontal",z=this.symbolWidth,Z=L.symbolPadding||0,n=this.itemStyle,l=this.itemHiddenStyle,c=R?s(L.itemDistance,20):0,j=!L.rtl,i=!h.series,g=!i&&h.series.drawLegendSymbol?h.series:h,p=g.options,w=!!this.createCheckboxForItem&&p&&p.showCheckbox,S=L.useHTML,B=h.options.className,F=T.label,U=z+Z+c+(w?20:0);!F&&(T.group=f.g("legend-item").addClass("highcharts-"+g.type+"-series highcharts-color-"+h.colorIndex+(B?" "+B:"")+(i?" highcharts-series-"+h.index:"")).attr({zIndex:1}).add(this.scrollGroup),T.label=F=f.text("",j?z+Z:-Z,this.baseline||0,S),Y.styledMode||F.css(u(h.visible?n:l)),F.attr({align:j?"left":"right",zIndex:2}).add(T.group),!this.baseline&&(this.fontMetrics=f.fontMetrics(F),this.baseline=this.fontMetrics.f+3+this.itemMarginTop,F.attr("y",this.baseline),this.symbolHeight=s(L.symbolHeight,this.fontMetrics.f),L.squareSymbol&&(this.symbolWidth=s(L.symbolWidth,Math.max(this.symbolHeight,16)),U=this.symbolWidth+Z+c+(w?20:0),j&&F.attr("x",this.symbolWidth+Z))),g.drawLegendSymbol(this,h),this.setItemEvents&&this.setItemEvents(h,F,S)),w&&!h.checkbox&&this.createCheckboxForItem&&this.createCheckboxForItem(h),this.colorizeItem(h,h.visible),(Y.styledMode||!n.width)&&F.css({width:(L.itemWidth||this.widthOption||Y.spacingBox.width)-U+"px"}),this.setText(h);let K=F.getBBox(),st=this.fontMetrics&&this.fontMetrics.h||0;h.itemWidth=h.checkboxOffset=L.itemWidth||T.labelWidth||K.width+U,this.maxItemWidth=Math.max(this.maxItemWidth,h.itemWidth),this.totalItemWidth+=h.itemWidth,this.itemHeight=h.itemHeight=Math.round(T.labelHeight||(K.height>1.5*st?K.height:st))}layoutItem(h){let T=this.options,Y=this.padding,f=T.layout==="horizontal",L=h.itemHeight,R=this.itemMarginBottom,z=this.itemMarginTop,Z=f?s(T.itemDistance,20):0,n=this.maxLegendWidth,l=T.alignColumns&&this.totalItemWidth>n?this.maxItemWidth:h.itemWidth,c=h.legendItem||{};f&&this.itemX-Y+l>n&&(this.itemX=Y,this.lastLineHeight&&(this.itemY+=z+this.lastLineHeight+R),this.lastLineHeight=0),this.lastItemY=z+this.itemY+R,this.lastLineHeight=Math.max(L,this.lastLineHeight),c.x=this.itemX,c.y=this.itemY,f?this.itemX+=l:(this.itemY+=z+L+R,this.lastLineHeight=L),this.offsetWidth=this.widthOption||Math.max((f?this.itemX-Y-(h.checkbox?0:Z):l)+Y,this.offsetWidth)}getAllItems(){let h=[];return this.chart.series.forEach(function(T){let Y=T&&T.options;T&&s(Y.showInLegend,!M(Y.linkedTo)&&void 0,!0)&&(h=h.concat((T.legendItem||{}).labels||(Y.legendType==="point"?T.data:T)))}),C(this,"afterGetAllItems",{allItems:h}),h}getAlignment(){let h=this.options;return this.proximate?h.align.charAt(0)+"tv":h.floating?"":h.align.charAt(0)+h.verticalAlign.charAt(0)+h.layout.charAt(0)}adjustMargins(h,T){let Y=this.chart,f=this.options,L=this.getAlignment();L&&[/(lth|ct|rth)/,/(rtv|rm|rbv)/,/(rbh|cb|lbh)/,/(lbv|lm|ltv)/].forEach(function(R,z){R.test(L)&&!M(h[z])&&(Y[P[z]]=Math.max(Y[P[z]],Y.legend[(z+1)%2?"legendHeight":"legendWidth"]+[1,-1,-1,1][z]*f[z%2?"x":"y"]+s(f.margin,12)+T[z]+(Y.titleOffset[z]||0)))})}proximatePositions(){let h,T=this.chart,Y=[],f=this.options.align==="left";for(let L of(this.allItems.forEach(function(R){let z,Z,n=f,l,c;R.yAxis&&(R.xAxis.options.reversed&&(n=!n),R.points&&(z=O(n?R.points:R.points.slice(0).reverse(),function(j){return o(j.plotY)})),Z=this.itemMarginTop+R.legendItem.label.getBBox().height+this.itemMarginBottom,c=R.yAxis.top-T.plotTop,l=R.visible?(z?z.plotY:R.yAxis.height)+(c-.3*Z):c+R.yAxis.height,Y.push({target:l,size:Z,item:R}))},this),m(Y,T.plotHeight)))h=L.item.legendItem||{},o(L.pos)&&(h.y=T.plotTop-T.spacing[0]+L.pos)}render(){let h=this.chart,T=h.renderer,Y=this.options,f=this.padding,L=this.getAllItems(),R,z,Z,n=this.group,l,c=this.box;this.itemX=f,this.itemY=this.initialItemY,this.offsetWidth=0,this.lastItemY=0,this.widthOption=t(Y.width,h.spacingBox.width-f),l=h.spacingBox.width-2*f-Y.x,["rm","lm"].indexOf(this.getAlignment().substring(0,2))>-1&&(l/=2),this.maxLegendWidth=this.widthOption||l,n||(this.group=n=T.g("legend").addClass(Y.className||"").attr({zIndex:7}).add(),this.contentGroup=T.g().attr({zIndex:1}).add(n),this.scrollGroup=T.g().add(this.contentGroup)),this.renderTitle(),r(L,(j,i)=>(j.options&&j.options.legendIndex||0)-(i.options&&i.options.legendIndex||0)),Y.reversed&&L.reverse(),this.allItems=L,this.display=R=!!L.length,this.lastLineHeight=0,this.maxItemWidth=0,this.totalItemWidth=0,this.itemHeight=0,L.forEach(this.renderItem,this),L.forEach(this.layoutItem,this),z=(this.widthOption||this.offsetWidth)+f,Z=this.lastItemY+this.lastLineHeight+this.titleHeight,Z=this.handleOverflow(Z)+f,c||(this.box=c=T.rect().addClass("highcharts-legend-box").attr({r:Y.borderRadius}).add(n)),h.styledMode||c.attr({stroke:Y.borderColor,"stroke-width":Y.borderWidth||0,fill:Y.backgroundColor||"none"}).shadow(Y.shadow),z>0&&Z>0&&c[c.placed?"animate":"attr"](c.crisp.call({},{x:0,y:0,width:z,height:Z},c.strokeWidth())),n[R?"show":"hide"](),h.styledMode&&n.getStyle("display")==="none"&&(z=Z=0),this.legendWidth=z,this.legendHeight=Z,R&&this.align(),this.proximate||this.positionItems(),C(this,"afterRender")}align(h=this.chart.spacingBox){let T=this.chart,Y=this.options,f=h.y;/(lth|ct|rth)/.test(this.getAlignment())&&T.titleOffset[0]>0?f+=T.titleOffset[0]:/(lbh|cb|rbh)/.test(this.getAlignment())&&T.titleOffset[2]>0&&(f-=T.titleOffset[2]),f!==h.y&&(h=u(h,{y:f})),T.hasRendered||(this.group.placed=!1),this.group.align(u(Y,{width:this.legendWidth,height:this.legendHeight,verticalAlign:this.proximate?"top":Y.verticalAlign}),!0,h)}handleOverflow(h){let T=this,Y=this.chart,f=Y.renderer,L=this.options,R=L.y,z=L.verticalAlign==="top",Z=this.padding,n=L.maxHeight,l=L.navigation,c=s(l.animation,!0),j=l.arrowSize||12,i=this.pages,g=this.allItems,p=function(rt){typeof rt=="number"?st.attr({height:rt}):st&&(T.clipRect=st.destroy(),T.contentGroup.clip()),T.contentGroup.div&&(T.contentGroup.div.style.clip=rt?"rect("+Z+"px,9999px,"+(Z+rt)+"px,0)":"auto")},w=function(rt){return T[rt]=f.circle(0,0,1.3*j).translate(j/2,j/2).add(K),Y.styledMode||T[rt].attr("fill","rgba(0,0,0,0.0001)"),T[rt]},S,B,F,U=Y.spacingBox.height+(z?-R:R)-Z,K=this.nav,st=this.clipRect;return L.layout!=="horizontal"||L.verticalAlign==="middle"||L.floating||(U/=2),n&&(U=Math.min(U,n)),i.length=0,h&&U>0&&h>U&&l.enabled!==!1?(this.clipHeight=S=Math.max(U-20-this.titleHeight-Z,0),this.currentPage=s(this.currentPage,1),this.fullHeight=h,g.forEach((rt,N)=>{let E=(F=rt.legendItem||{}).y||0,G=Math.round(F.label.getBBox().height),X=i.length;(!X||E-i[X-1]>S&&(B||E)!==i[X-1])&&(i.push(B||E),X++),F.pageIx=X-1,B&&((g[N-1].legendItem||{}).pageIx=X-1),N===g.length-1&&E+G-i[X-1]>S&&E>i[X-1]&&(i.push(E),F.pageIx=X),E!==B&&(B=E)}),st||(st=T.clipRect=f.clipRect(0,Z-2,9999,0),T.contentGroup.clip(st)),p(S),K||(this.nav=K=f.g().attr({zIndex:1}).add(this.group),this.up=f.symbol("triangle",0,0,j,j).add(K),w("upTracker").on("click",function(){T.scroll(-1,c)}),this.pager=f.text("",15,10).addClass("highcharts-legend-navigation"),!Y.styledMode&&l.style&&this.pager.css(l.style),this.pager.add(K),this.down=f.symbol("triangle-down",0,0,j,j).add(K),w("downTracker").on("click",function(){T.scroll(1,c)})),T.scroll(0),h=U):K&&(p(),this.nav=K.destroy(),this.scrollGroup.attr({translateY:1}),this.clipHeight=0),h}scroll(h,T){let Y=this.chart,f=this.pages,L=f.length,R=this.clipHeight,z=this.options.navigation,Z=this.pager,n=this.padding,l=this.currentPage+h;l>L&&(l=L),l>0&&(T!==void 0&&v(T,Y),this.nav.attr({translateX:n,translateY:R+this.padding+7+this.titleHeight,visibility:"inherit"}),[this.up,this.upTracker].forEach(function(c){c.attr({class:l===1?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})}),Z.attr({text:l+"/"+L}),[this.down,this.downTracker].forEach(function(c){c.attr({x:18+this.pager.getBBox().width,class:l===L?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})},this),Y.styledMode||(this.up.attr({fill:l===1?z.inactiveColor:z.activeColor}),this.upTracker.css({cursor:l===1?"default":"pointer"}),this.down.attr({fill:l===L?z.inactiveColor:z.activeColor}),this.downTracker.css({cursor:l===L?"default":"pointer"})),this.scrollOffset=-f[l-1]+this.initialItemY,this.scrollGroup.animate({translateY:this.scrollOffset}),this.currentPage=l,this.positionCheckboxes(),a(()=>{C(this,"afterScroll",{currentPage:l})},V(s(T,Y.renderer.globalAnimation,!0)).duration))}setItemEvents(h,T,Y){let f=this,L=h.legendItem||{},R=f.chart.renderer.boxWrapper,z=h instanceof lt,Z=h instanceof dt,n="highcharts-legend-"+(z?"point":"series")+"-active",l=f.chart.styledMode,c=Y?[T,L.symbol]:[L.group],j=i=>{f.allItems.forEach(g=>{h!==g&&[g].concat(g.linkedSeries||[]).forEach(p=>{p.setState(i,!z)})})};for(let i of c)i&&i.on("mouseover",function(){h.visible&&j("inactive"),h.setState("hover"),h.visible&&R.addClass(n),l||T.css(f.options.itemHoverStyle)}).on("mouseout",function(){f.chart.styledMode||T.css(u(h.visible?f.itemStyle:f.itemHiddenStyle)),j(""),R.removeClass(n),h.setState()}).on("click",function(g){let p=function(){h.setVisible&&h.setVisible(),j(h.visible?"inactive":"")};R.removeClass(n),C(f,"itemClick",{browserEvent:g,legendItem:h},p),z?h.firePointEvent("legendItemClick",{browserEvent:g}):Z&&C(h,"legendItemClick",{browserEvent:g})})}createCheckboxForItem(h){h.checkbox=A("input",{type:"checkbox",className:"highcharts-legend-checkbox",checked:h.selected,defaultChecked:h.selected},this.options.itemCheckboxStyle,this.chart.container),k(h.checkbox,"click",function(T){let Y=T.target;C(h.series||h,"checkboxClick",{checked:Y.checked,item:h},function(){h.select()})})}}return($=x||(x={})).compose=function(y){e(D,"Core.Legend")&&k(y,"beforeMargins",function(){this.legend=new $(this,this.options.legend)})},x}),yt(H,"Core/Chart/Chart.js",[H["Core/Animation/AnimationUtilities.js"],H["Core/Axis/Axis.js"],H["Core/Defaults.js"],H["Core/Templating.js"],H["Core/Foundation.js"],H["Core/Globals.js"],H["Core/Renderer/RendererRegistry.js"],H["Core/Series/Series.js"],H["Core/Series/SeriesRegistry.js"],H["Core/Renderer/SVG/SVGRenderer.js"],H["Core/Time.js"],H["Core/Utilities.js"],H["Core/Renderer/HTML/AST.js"],H["Core/Axis/Tick.js"]],function(Q,it,ht,dt,lt,ot,at,q,$,V,v,I,D,P){let{animate:m,animObject:b,setAnimation:k}=Q,{defaultOptions:A,defaultTime:d}=ht,{numberFormat:M}=dt,{registerEventOptions:W}=lt,{charts:O,doc:C,marginNames:o,svg:u,win:s}=ot,{seriesTypes:e}=$,{addEvent:t,attr:r,createElement:a,css:x,defined:y,diffObjects:h,discardElement:T,erase:Y,error:f,extend:L,find:R,fireEvent:z,getStyle:Z,isArray:n,isNumber:l,isObject:c,isString:j,merge:i,objectEach:g,pick:p,pInt:w,relativeLength:S,removeEvent:B,splat:F,syncTimeout:U,uniqueKey:K}=I;class st{static chart(N,E,G){return new st(N,E,G)}constructor(N,E,G){this.sharedClips={};let X=[...arguments];(j(N)||N.nodeName)&&(this.renderTo=X.shift()),this.init(X[0],X[1])}setZoomOptions(){let N=this.options.chart,E=N.zooming;this.zooming=Nt(Ot({},E),{type:p(N.zoomType,E.type),key:p(N.zoomKey,E.key),pinchType:p(N.pinchType,E.pinchType),singleTouch:p(N.zoomBySingleTouch,E.singleTouch,!1),resetButton:i(E.resetButton,N.resetZoomButton)})}init(N,E){z(this,"init",{args:arguments},function(){let G=i(A,N),X=G.chart;this.userOptions=L({},N),this.margin=[],this.spacing=[],this.labelCollectors=[],this.callback=E,this.isResizing=0,this.options=G,this.axes=[],this.series=[],this.time=N.time&&Object.keys(N.time).length?new v(N.time):ot.time,this.numberFormatter=X.numberFormatter||M,this.styledMode=X.styledMode,this.hasCartesianSeries=X.showAxes,this.index=O.length,O.push(this),ot.chartCount++,W(this,X),this.xAxis=[],this.yAxis=[],this.pointCount=this.colorCounter=this.symbolCounter=0,this.setZoomOptions(),z(this,"afterInit"),this.firstRender()})}initSeries(N){let E=this.options.chart,G=N.type||E.type,X=e[G];X||f(17,!0,this,{missingModuleFor:G});let _=new X;return typeof _.init=="function"&&_.init(this,N),_}setSortedData(){this.getSeriesOrderByLinks().forEach(function(N){N.points||N.data||!N.enabledDataSorting||N.setData(N.options.data,!1)})}getSeriesOrderByLinks(){return this.series.concat().sort(function(N,E){return N.linkedSeries.length||E.linkedSeries.length?E.linkedSeries.length-N.linkedSeries.length:0})}orderItems(N,E=0){let G=this[N],X=this.options[N]=F(this.options[N]).slice(),_=this.userOptions[N]=this.userOptions[N]?F(this.userOptions[N]).slice():[];if(this.hasRendered&&(X.splice(E),_.splice(E)),G)for(let J=E,et=G.length;J<et;++J){let tt=G[J];tt&&(tt.index=J,tt instanceof q&&(tt.name=tt.getName()),tt.options.isInternal||(X[J]=tt.options,_[J]=tt.userOptions))}}isInsidePlot(N,E,G={}){let{inverted:X,plotBox:_,plotLeft:J,plotTop:et,scrollablePlotBox:tt}=this,{scrollLeft:nt=0,scrollTop:ct=0}=G.visiblePlotOnly&&this.scrollablePlotArea?.scrollingContainer||{},pt=G.series,gt=G.visiblePlotOnly&&tt||_,ut=G.inverted?E:N,xt=G.inverted?N:E,mt={x:ut,y:xt,isInsidePlot:!0,options:G};if(!G.ignoreX){let ft=pt&&(X&&!this.polar?pt.yAxis:pt.xAxis)||{pos:J,len:1/0},bt=G.paneCoordinates?ft.pos+ut:J+ut;bt>=Math.max(nt+J,ft.pos)&&bt<=Math.min(nt+J+gt.width,ft.pos+ft.len)||(mt.isInsidePlot=!1)}if(!G.ignoreY&&mt.isInsidePlot){let ft=!X&&G.axis&&!G.axis.isXAxis&&G.axis||pt&&(X?pt.xAxis:pt.yAxis)||{pos:et,len:1/0},bt=G.paneCoordinates?ft.pos+xt:et+xt;bt>=Math.max(ct+et,ft.pos)&&bt<=Math.min(ct+et+gt.height,ft.pos+ft.len)||(mt.isInsidePlot=!1)}return z(this,"afterIsInsidePlot",mt),mt.isInsidePlot}redraw(N){z(this,"beforeRedraw");let E=this.hasCartesianSeries?this.axes:this.colorAxis||[],G=this.series,X=this.pointer,_=this.legend,J=this.userOptions.legend,et=this.renderer,tt=et.isHidden(),nt=[],ct,pt,gt,ut=this.isDirtyBox,xt=this.isDirtyLegend,mt;for(et.rootFontSize=et.boxWrapper.getStyle("font-size"),this.setResponsive&&this.setResponsive(!1),k(!!this.hasRendered&&N,this),tt&&this.temporaryDisplay(),this.layOutTitles(!1),gt=G.length;gt--;)if(((mt=G[gt]).options.stacking||mt.options.centerInCategory)&&(pt=!0,mt.isDirty)){ct=!0;break}if(ct)for(gt=G.length;gt--;)(mt=G[gt]).options.stacking&&(mt.isDirty=!0);G.forEach(function(ft){ft.isDirty&&(ft.options.legendType==="point"?(typeof ft.updateTotals=="function"&&ft.updateTotals(),xt=!0):J&&(J.labelFormatter||J.labelFormat)&&(xt=!0)),ft.isDirtyData&&z(ft,"updatedData")}),xt&&_&&_.options.enabled&&(_.render(),this.isDirtyLegend=!1),pt&&this.getStacks(),E.forEach(function(ft){ft.updateNames(),ft.setScale()}),this.getMargins(),E.forEach(function(ft){ft.isDirty&&(ut=!0)}),E.forEach(function(ft){let bt=ft.min+","+ft.max;ft.extKey!==bt&&(ft.extKey=bt,nt.push(function(){z(ft,"afterSetExtremes",L(ft.eventArgs,ft.getExtremes())),delete ft.eventArgs})),(ut||pt)&&ft.redraw()}),ut&&this.drawChartBox(),z(this,"predraw"),G.forEach(function(ft){(ut||ft.isDirty)&&ft.visible&&ft.redraw(),ft.isDirtyData=!1}),X&&X.reset(!0),et.draw(),z(this,"redraw"),z(this,"render"),tt&&this.temporaryDisplay(!0),nt.forEach(function(ft){ft.call()})}get(N){let E=this.series;function G(_){return _.id===N||_.options&&_.options.id===N}let X=R(this.axes,G)||R(this.series,G);for(let _=0;!X&&_<E.length;_++)X=R(E[_].points||[],G);return X}getAxes(){let N=this.userOptions;for(let E of(z(this,"getAxes"),["xAxis","yAxis"]))for(let G of N[E]=F(N[E]||{}))new it(this,G,E);z(this,"afterGetAxes")}getSelectedPoints(){return this.series.reduce((N,E)=>(E.getPointsCollection().forEach(G=>{p(G.selectedStaging,G.selected)&&N.push(G)}),N),[])}getSelectedSeries(){return this.series.filter(function(N){return N.selected})}setTitle(N,E,G){this.applyDescription("title",N),this.applyDescription("subtitle",E),this.applyDescription("caption",void 0),this.layOutTitles(G)}applyDescription(N,E){let G=this,X=this.options[N]=i(this.options[N],E),_=this[N];_&&E&&(this[N]=_=_.destroy()),X&&!_&&((_=this.renderer.text(X.text,0,0,X.useHTML).attr({align:X.align,class:"highcharts-"+N,zIndex:X.zIndex||4}).add()).update=function(J,et){G.applyDescription(N,J),G.layOutTitles(et)},this.styledMode||_.css(L(N==="title"?{fontSize:this.options.isStock?"1em":"1.2em"}:{},X.style)),this[N]=_)}layOutTitles(N=!0){let E=[0,0,0],G=this.renderer,X=this.spacingBox;["title","subtitle","caption"].forEach(function(J){let et=this[J],tt=this.options[J],nt=tt.verticalAlign||"top",ct=J==="title"?nt==="top"?-3:0:nt==="top"?E[0]+2:0;if(et){et.css({width:(tt.width||X.width+(tt.widthAdjust||0))+"px"});let pt=G.fontMetrics(et).b,gt=Math.round(et.getBBox(tt.useHTML).height);et.align(L({y:nt==="bottom"?pt:ct+pt,height:gt},tt),!1,"spacingBox"),tt.floating||(nt==="top"?E[0]=Math.ceil(E[0]+gt):nt==="bottom"&&(E[2]=Math.ceil(E[2]+gt)))}},this),E[0]&&(this.options.title.verticalAlign||"top")==="top"&&(E[0]+=this.options.title.margin),E[2]&&this.options.caption.verticalAlign==="bottom"&&(E[2]+=this.options.caption.margin);let _=!this.titleOffset||this.titleOffset.join(",")!==E.join(",");this.titleOffset=E,z(this,"afterLayOutTitles"),!this.isDirtyBox&&_&&(this.isDirtyBox=this.isDirtyLegend=_,this.hasRendered&&N&&this.isDirtyBox&&this.redraw())}getContainerBox(){let N=[].map.call(this.renderTo.children,G=>{if(G!==this.container){let X=G.style.display;return G.style.display="none",[G,X]}}),E={width:Z(this.renderTo,"width",!0)||0,height:Z(this.renderTo,"height",!0)||0};return N.filter(Boolean).forEach(([G,X])=>{G.style.display=X}),E}getChartSize(){let N=this.options.chart,E=N.width,G=N.height,X=this.getContainerBox(),_=X.height>1&&!(!this.renderTo.parentElement?.style.height&&this.renderTo.style.height==="100%");this.chartWidth=Math.max(0,E||X.width||600),this.chartHeight=Math.max(0,S(G,this.chartWidth)||(_?X.height:400)),this.containerBox=X}temporaryDisplay(N){let E=this.renderTo,G;if(N)for(;E&&E.style;)E.hcOrigStyle&&(x(E,E.hcOrigStyle),delete E.hcOrigStyle),E.hcOrigDetached&&(C.body.removeChild(E),E.hcOrigDetached=!1),E=E.parentNode;else for(;E&&E.style&&(C.body.contains(E)||E.parentNode||(E.hcOrigDetached=!0,C.body.appendChild(E)),(Z(E,"display",!1)==="none"||E.hcOricDetached)&&(E.hcOrigStyle={display:E.style.display,height:E.style.height,overflow:E.style.overflow},G={display:"block",overflow:"hidden"},E!==this.renderTo&&(G.height=0),x(E,G),E.offsetWidth||E.style.setProperty("display","block","important")),(E=E.parentNode)!==C.body););}setClassName(N){this.container.className="highcharts-container "+(N||"")}getContainer(){let N=this.options,E=N.chart,G="data-highcharts-chart",X=K(),_,J=this.renderTo;J||(this.renderTo=J=E.renderTo),j(J)&&(this.renderTo=J=C.getElementById(J)),J||f(13,!0,this);let et=w(r(J,G));l(et)&&O[et]&&O[et].hasRendered&&O[et].destroy(),r(J,G,this.index),J.innerHTML=D.emptyHTML,E.skipClone||J.offsetWidth||this.temporaryDisplay(),this.getChartSize();let tt=this.chartHeight,nt=this.chartWidth;x(J,{overflow:"hidden"}),this.styledMode||(_=L({position:"relative",overflow:"hidden",width:nt+"px",height:tt+"px",textAlign:"left",lineHeight:"normal",zIndex:0,"-webkit-tap-highlight-color":"rgba(0,0,0,0)",userSelect:"none","touch-action":"manipulation",outline:"none",padding:"0px"},E.style||{}));let ct=a("div",{id:X},_,J);this.container=ct,this.getChartSize(),nt===this.chartWidth||(nt=this.chartWidth,this.styledMode||x(ct,{width:p(E.style?.width,nt+"px")})),this.containerBox=this.getContainerBox(),this._cursor=ct.style.cursor;let pt=E.renderer||!u?at.getRendererType(E.renderer):V;if(this.renderer=new pt(ct,nt,tt,void 0,E.forExport,N.exporting&&N.exporting.allowHTML,this.styledMode),k(void 0,this),this.setClassName(E.className),this.styledMode)for(let gt in N.defs)this.renderer.definition(N.defs[gt]);else this.renderer.setStyle(E.style);this.renderer.chartIndex=this.index,z(this,"afterGetContainer")}getMargins(N){let{spacing:E,margin:G,titleOffset:X}=this;this.resetMargins(),X[0]&&!y(G[0])&&(this.plotTop=Math.max(this.plotTop,X[0]+E[0])),X[2]&&!y(G[2])&&(this.marginBottom=Math.max(this.marginBottom,X[2]+E[2])),this.legend&&this.legend.display&&this.legend.adjustMargins(G,E),z(this,"getMargins"),N||this.getAxisMargins()}getAxisMargins(){let N=this,E=N.axisOffset=[0,0,0,0],G=N.colorAxis,X=N.margin,_=function(J){J.forEach(function(et){et.visible&&et.getOffset()})};N.hasCartesianSeries?_(N.axes):G&&G.length&&_(G),o.forEach(function(J,et){y(X[et])||(N[J]+=E[et])}),N.setChartSize()}getOptions(){return h(this.userOptions,A)}reflow(N){let E=this,G=E.containerBox,X=E.getContainerBox();delete E.pointer?.chartPosition,!E.isPrinting&&!E.isResizing&&G&&X.width&&((X.width!==G.width||X.height!==G.height)&&(I.clearTimeout(E.reflowTimeout),E.reflowTimeout=U(function(){E.container&&E.setSize(void 0,void 0,!1)},N?100:0)),E.containerBox=X)}setReflow(){let N=this,E=G=>{N.options?.chart.reflow&&N.hasLoaded&&N.reflow(G)};if(typeof ResizeObserver=="function")new ResizeObserver(E).observe(N.renderTo);else{let G=t(s,"resize",E);t(this,"destroy",G)}}setSize(N,E,G){let X=this,_=X.renderer;X.isResizing+=1,k(G,X);let J=_.globalAnimation;X.oldChartHeight=X.chartHeight,X.oldChartWidth=X.chartWidth,N!==void 0&&(X.options.chart.width=N),E!==void 0&&(X.options.chart.height=E),X.getChartSize();let{chartWidth:et,chartHeight:tt,scrollablePixelsX:nt=0,scrollablePixelsY:ct=0}=X;(X.isDirtyBox||et!==X.oldChartWidth||tt!==X.oldChartHeight)&&(X.styledMode||(J?m:x)(X.container,{width:`${et+nt}px`,height:`${tt+ct}px`},J),X.setChartSize(!0),_.setSize(et,tt,J),X.axes.forEach(function(pt){pt.isDirty=!0,pt.setScale()}),X.isDirtyLegend=!0,X.isDirtyBox=!0,X.layOutTitles(),X.getMargins(),X.redraw(J),X.oldChartHeight=void 0,z(X,"resize"),setTimeout(()=>{X&&z(X,"endResize")},b(J).duration)),X.isResizing-=1}setChartSize(N){let E,G,X,_,{chartHeight:J,chartWidth:et,inverted:tt,spacing:nt,renderer:ct}=this,pt=this.clipOffset,gt=Math[tt?"floor":"round"];this.plotLeft=E=Math.round(this.plotLeft),this.plotTop=G=Math.round(this.plotTop),this.plotWidth=X=Math.max(0,Math.round(et-E-this.marginRight)),this.plotHeight=_=Math.max(0,Math.round(J-G-this.marginBottom)),this.plotSizeX=tt?_:X,this.plotSizeY=tt?X:_,this.spacingBox=ct.spacingBox={x:nt[3],y:nt[0],width:et-nt[3]-nt[1],height:J-nt[0]-nt[2]},this.plotBox=ct.plotBox={x:E,y:G,width:X,height:_},pt&&(this.clipBox={x:gt(pt[3]),y:gt(pt[0]),width:gt(this.plotSizeX-pt[1]-pt[3]),height:gt(this.plotSizeY-pt[0]-pt[2])}),N||(this.axes.forEach(function(ut){ut.setAxisSize(),ut.setAxisTranslation()}),ct.alignElements()),z(this,"afterSetChartSize",{skipAxes:N})}resetMargins(){z(this,"resetMargins");let N=this,E=N.options.chart,G=E.plotBorderWidth||0,X=G/2;["margin","spacing"].forEach(function(_){let J=E[_],et=c(J)?J:[J,J,J,J];["Top","Right","Bottom","Left"].forEach(function(tt,nt){N[_][nt]=p(E[_+tt],et[nt])})}),o.forEach(function(_,J){N[_]=p(N.margin[J],N.spacing[J])}),N.axisOffset=[0,0,0,0],N.clipOffset=[X,X,X,X],N.plotBorderWidth=G}drawChartBox(){let N=this.options.chart,E=this.renderer,G=this.chartWidth,X=this.chartHeight,_=this.styledMode,J=this.plotBGImage,et=N.backgroundColor,tt=N.plotBackgroundColor,nt=N.plotBackgroundImage,ct=this.plotLeft,pt=this.plotTop,gt=this.plotWidth,ut=this.plotHeight,xt=this.plotBox,mt=this.clipRect,ft=this.clipBox,bt=this.chartBackground,vt=this.plotBackground,St=this.plotBorder,Ct,wt,At,Mt="animate";bt||(this.chartBackground=bt=E.rect().addClass("highcharts-background").add(),Mt="attr"),_?Ct=wt=bt.strokeWidth():(wt=(Ct=N.borderWidth||0)+(N.shadow?8:0),At={fill:et||"none"},(Ct||bt["stroke-width"])&&(At.stroke=N.borderColor,At["stroke-width"]=Ct),bt.attr(At).shadow(N.shadow)),bt[Mt]({x:wt/2,y:wt/2,width:G-wt-Ct%2,height:X-wt-Ct%2,r:N.borderRadius}),Mt="animate",vt||(Mt="attr",this.plotBackground=vt=E.rect().addClass("highcharts-plot-background").add()),vt[Mt](xt),!_&&(vt.attr({fill:tt||"none"}).shadow(N.plotShadow),nt&&(J?(nt!==J.attr("href")&&J.attr("href",nt),J.animate(xt)):this.plotBGImage=E.image(nt,ct,pt,gt,ut).add())),mt?mt.animate({width:ft.width,height:ft.height}):this.clipRect=E.clipRect(ft),Mt="animate",St||(Mt="attr",this.plotBorder=St=E.rect().addClass("highcharts-plot-border").attr({zIndex:1}).add()),_||St.attr({stroke:N.plotBorderColor,"stroke-width":N.plotBorderWidth||0,fill:"none"}),St[Mt](St.crisp({x:ct,y:pt,width:gt,height:ut},-St.strokeWidth())),this.isDirtyBox=!1,z(this,"afterDrawChartBox")}propFromSeries(){let N,E,G,X=this,_=X.options.chart,J=X.options.series;["inverted","angular","polar"].forEach(function(et){for(E=e[_.type],G=_[et]||E&&E.prototype[et],N=J&&J.length;!G&&N--;)(E=e[J[N].type])&&E.prototype[et]&&(G=!0);X[et]=G})}linkSeries(N){let E=this,G=E.series;G.forEach(function(X){X.linkedSeries.length=0}),G.forEach(function(X){let{linkedTo:_}=X.options;if(j(_)){let J;(J=_===":previous"?E.series[X.index-1]:E.get(_))&&J.linkedParent!==X&&(J.linkedSeries.push(X),X.linkedParent=J,J.enabledDataSorting&&X.setDataSortingOptions(),X.visible=p(X.options.visible,J.options.visible,X.visible))}}),z(this,"afterLinkSeries",{isUpdating:N})}renderSeries(){this.series.forEach(function(N){N.translate(),N.render()})}render(){let N=this.axes,E=this.colorAxis,G=this.renderer,X=this.options.chart.axisLayoutRuns||2,_=ct=>{ct.forEach(pt=>{pt.visible&&pt.render()})},J=0,et=!0,tt,nt=0;for(let ct of(this.setTitle(),z(this,"beforeMargins"),this.getStacks?.(),this.getMargins(!0),this.setChartSize(),N)){let{options:pt}=ct,{labels:gt}=pt;if(this.hasCartesianSeries&&ct.horiz&&ct.visible&&gt.enabled&&ct.series.length&&ct.coll!=="colorAxis"&&!this.polar){J=pt.tickLength,ct.createGroups();let ut=new P(ct,0,"",!0),xt=ut.createLabel("x",gt);if(ut.destroy(),xt&&p(gt.reserveSpace,!l(pt.crossing))&&(J=xt.getBBox().height+gt.distance+Math.max(pt.offset||0,0)),J){xt?.destroy();break}}}for(this.plotHeight=Math.max(this.plotHeight-J,0);(et||tt||X>1)&&nt<X;){let ct=this.plotWidth,pt=this.plotHeight;for(let gt of N)nt===0?gt.setScale():(gt.horiz&&et||!gt.horiz&&tt)&&gt.setTickInterval(!0);nt===0?this.getAxisMargins():this.getMargins(),et=ct/this.plotWidth>(nt?1:1.1),tt=pt/this.plotHeight>(nt?1:1.05),nt++}this.drawChartBox(),this.hasCartesianSeries?_(N):E&&E.length&&_(E),this.seriesGroup||(this.seriesGroup=G.g("series-group").attr({zIndex:3}).shadow(this.options.chart.seriesGroupShadow).add()),this.renderSeries(),this.addCredits(),this.setResponsive&&this.setResponsive(),this.hasRendered=!0}addCredits(N){let E=this,G=i(!0,this.options.credits,N);G.enabled&&!this.credits&&(this.credits=this.renderer.text(G.text+(this.mapCredits||""),0,0).addClass("highcharts-credits").on("click",function(){G.href&&(s.location.href=G.href)}).attr({align:G.position.align,zIndex:8}),E.styledMode||this.credits.css(G.style),this.credits.add().align(G.position),this.credits.update=function(X){E.credits=E.credits.destroy(),E.addCredits(X)})}destroy(){let N,E=this,G=E.axes,X=E.series,_=E.container,J=_&&_.parentNode;for(z(E,"destroy"),E.renderer.forExport?Y(O,E):O[E.index]=void 0,ot.chartCount--,E.renderTo.removeAttribute("data-highcharts-chart"),B(E),N=G.length;N--;)G[N]=G[N].destroy();for(this.scroller&&this.scroller.destroy&&this.scroller.destroy(),N=X.length;N--;)X[N]=X[N].destroy();["title","subtitle","chartBackground","plotBackground","plotBGImage","plotBorder","seriesGroup","clipRect","credits","pointer","rangeSelector","legend","resetZoomButton","tooltip","renderer"].forEach(function(et){let tt=E[et];tt&&tt.destroy&&(E[et]=tt.destroy())}),_&&(_.innerHTML=D.emptyHTML,B(_),J&&T(_)),g(E,function(et,tt){delete E[tt]})}firstRender(){let N=this,E=N.options;N.getContainer(),N.resetMargins(),N.setChartSize(),N.propFromSeries(),N.getAxes();let G=n(E.series)?E.series:[];E.series=[],G.forEach(function(X){N.initSeries(X)}),N.linkSeries(),N.setSortedData(),z(N,"beforeRender"),N.render(),N.pointer?.getChartPosition(),N.renderer.imgCount||N.hasLoaded||N.onload(),N.temporaryDisplay(!0)}onload(){this.callbacks.concat([this.callback]).forEach(function(N){N&&this.index!==void 0&&N.apply(this,[this])},this),z(this,"load"),z(this,"render"),y(this.index)&&this.setReflow(),this.warnIfA11yModuleNotLoaded(),this.hasLoaded=!0}warnIfA11yModuleNotLoaded(){let{options:N,title:E}=this;!N||this.accessibility||(this.renderer.boxWrapper.attr({role:"img","aria-label":(E&&E.element.textContent||"").replace(/</g,"&lt;")}),N.accessibility&&N.accessibility.enabled===!1||f('Highcharts warning: Consider including the "accessibility.js" module to make your chart more usable for people with disabilities. Set the "accessibility.enabled" option to false to remove this warning. See https://www.highcharts.com/docs/accessibility/accessibility-module.',!1,this))}addSeries(N,E,G){let X,_=this;return N&&(E=p(E,!0),z(_,"addSeries",{options:N},function(){X=_.initSeries(N),_.isDirtyLegend=!0,_.linkSeries(),X.enabledDataSorting&&X.setData(N.data,!1),z(_,"afterAddSeries",{series:X}),E&&_.redraw(G)})),X}addAxis(N,E,G,X){return this.createAxis(E?"xAxis":"yAxis",{axis:N,redraw:G,animation:X})}addColorAxis(N,E,G){return this.createAxis("colorAxis",{axis:N,redraw:E,animation:G})}createAxis(N,E){let G=new it(this,E.axis,N);return p(E.redraw,!0)&&this.redraw(E.animation),G}showLoading(N){let E=this,G=E.options,X=G.loading,_=function(){J&&x(J,{left:E.plotLeft+"px",top:E.plotTop+"px",width:E.plotWidth+"px",height:E.plotHeight+"px"})},J=E.loadingDiv,et=E.loadingSpan;J||(E.loadingDiv=J=a("div",{className:"highcharts-loading highcharts-loading-hidden"},null,E.container)),et||(E.loadingSpan=et=a("span",{className:"highcharts-loading-inner"},null,J),t(E,"redraw",_)),J.className="highcharts-loading",D.setElementHTML(et,p(N,G.lang.loading,"")),E.styledMode||(x(J,L(X.style,{zIndex:10})),x(et,X.labelStyle),E.loadingShown||(x(J,{opacity:0,display:""}),m(J,{opacity:X.style.opacity||.5},{duration:X.showDuration||0}))),E.loadingShown=!0,_()}hideLoading(){let N=this.options,E=this.loadingDiv;E&&(E.className="highcharts-loading highcharts-loading-hidden",this.styledMode||m(E,{opacity:0},{duration:N.loading.hideDuration||100,complete:function(){x(E,{display:"none"})}})),this.loadingShown=!1}update(N,E,G,X){let _,J,et,tt=this,nt={credits:"addCredits",title:"setTitle",subtitle:"setSubtitle",caption:"setCaption"},ct=N.isResponsiveOptions,pt=[];z(tt,"update",{options:N}),ct||tt.setResponsive(!1,!0),N=h(N,tt.options),tt.userOptions=i(tt.userOptions,N);let gt=N.chart;gt&&(i(!0,tt.options.chart,gt),this.setZoomOptions(),"className"in gt&&tt.setClassName(gt.className),("inverted"in gt||"polar"in gt||"type"in gt)&&(tt.propFromSeries(),_=!0),"alignTicks"in gt&&(_=!0),"events"in gt&&W(this,gt),g(gt,function(mt,ft){tt.propsRequireUpdateSeries.indexOf("chart."+ft)!==-1&&(J=!0),tt.propsRequireDirtyBox.indexOf(ft)!==-1&&(tt.isDirtyBox=!0),tt.propsRequireReflow.indexOf(ft)===-1||(tt.isDirtyBox=!0,ct||(et=!0))}),!tt.styledMode&&gt.style&&tt.renderer.setStyle(tt.options.chart.style||{})),!tt.styledMode&&N.colors&&(this.options.colors=N.colors),N.time&&(this.time===d&&(this.time=new v(N.time)),i(!0,tt.options.time,N.time)),g(N,function(mt,ft){tt[ft]&&typeof tt[ft].update=="function"?tt[ft].update(mt,!1):typeof tt[nt[ft]]=="function"?tt[nt[ft]](mt):ft!=="colors"&&tt.collectionsWithUpdate.indexOf(ft)===-1&&i(!0,tt.options[ft],N[ft]),ft!=="chart"&&tt.propsRequireUpdateSeries.indexOf(ft)!==-1&&(J=!0)}),this.collectionsWithUpdate.forEach(function(mt){N[mt]&&(F(N[mt]).forEach(function(ft,bt){let vt,St=y(ft.id);St&&(vt=tt.get(ft.id)),!vt&&tt[mt]&&(vt=tt[mt][p(ft.index,bt)])&&(St&&y(vt.options.id)||vt.options.isInternal)&&(vt=void 0),vt&&vt.coll===mt&&(vt.update(ft,!1),G&&(vt.touched=!0)),!vt&&G&&tt.collectionsWithInit[mt]&&(tt.collectionsWithInit[mt][0].apply(tt,[ft].concat(tt.collectionsWithInit[mt][1]||[]).concat([!1])).touched=!0)}),G&&tt[mt].forEach(function(ft){ft.touched||ft.options.isInternal?delete ft.touched:pt.push(ft)}))}),pt.forEach(function(mt){mt.chart&&mt.remove&&mt.remove(!1)}),_&&tt.axes.forEach(function(mt){mt.update({},!1)}),J&&tt.getSeriesOrderByLinks().forEach(function(mt){mt.chart&&mt.update({},!1)},this);let ut=gt&&gt.width,xt=gt&&(j(gt.height)?S(gt.height,ut||tt.chartWidth):gt.height);et||l(ut)&&ut!==tt.chartWidth||l(xt)&&xt!==tt.chartHeight?tt.setSize(ut,xt,X):p(E,!0)&&tt.redraw(X),z(tt,"afterUpdate",{options:N,redraw:E,animation:X})}setSubtitle(N,E){this.applyDescription("subtitle",N),this.layOutTitles(E)}setCaption(N,E){this.applyDescription("caption",N),this.layOutTitles(E)}showResetZoom(){let N=this,E=A.lang,G=N.zooming.resetButton,X=G.theme,_=G.relativeTo==="chart"||G.relativeTo==="spacingBox"?null:"plotBox";function J(){N.zoomOut()}z(this,"beforeShowResetZoom",null,function(){N.resetZoomButton=N.renderer.button(E.resetZoom,null,null,J,X).attr({align:G.position.align,title:E.resetZoomTitle}).addClass("highcharts-reset-zoom").add().align(G.position,!1,_)}),z(this,"afterShowResetZoom")}zoomOut(){z(this,"selection",{resetSelection:!0},()=>this.transform({reset:!0,trigger:"zoom"}))}pan(N,E){let G=this,X=typeof E=="object"?E:{enabled:E,type:"x"},_=X.type,J=_&&G[{x:"xAxis",xy:"axes",y:"yAxis"}[_]].filter(tt=>tt.options.panningEnabled&&!tt.options.isInternal),et=G.options.chart;et?.panning&&(et.panning=X),z(this,"pan",{originalEvent:N},()=>{G.transform({axes:J,event:N,to:{x:N.chartX-(G.mouseDownX||0),y:N.chartY-(G.mouseDownY||0)},trigger:"pan"}),x(G.container,{cursor:"move"})})}transform(N){let{axes:E=this.axes,event:G,from:X={},reset:_,selection:J,to:et={},trigger:tt}=N,{inverted:nt}=this,ct=!1,pt,gt;for(let ut of(this.hoverPoints?.forEach(xt=>xt.setState()),E)){let{horiz:xt,len:mt,minPointOffset:ft=0,options:bt,reversed:vt}=ut,St=xt?"width":"height",Ct=xt?"x":"y",wt=p(et[St],ut.len),At=p(X[St],ut.len),Mt=10>Math.abs(wt)?1:wt/At,Dt=(X[Ct]||0)+At/2-ut.pos,Lt=Dt-((et[Ct]??ut.pos)+wt/2-ut.pos)/Mt,jt=vt&&!nt||!vt&&nt?-1:1;if(!_&&(Dt<0||Dt>ut.len))continue;let Tt=ut.toValue(Lt,!0)+(J||ut.isOrdinal?0:ft*jt),Pt=ut.toValue(Lt+mt/Mt,!0)-(J||ut.isOrdinal?0:ft*jt||0),Et=ut.allExtremes;if(Tt>Pt&&([Tt,Pt]=[Pt,Tt]),Mt===1&&!_&&ut.coll==="yAxis"&&!Et){for(let Zt of ut.series){let Rt=Zt.getExtremes(Zt.getProcessedData(!0).yData,!0);Et??(Et={dataMin:Number.MAX_VALUE,dataMax:-Number.MAX_VALUE}),l(Rt.dataMin)&&l(Rt.dataMax)&&(Et.dataMin=Math.min(Rt.dataMin,Et.dataMin),Et.dataMax=Math.max(Rt.dataMax,Et.dataMax))}ut.allExtremes=Et}let{dataMin:Jt,dataMax:Qt,min:Ft,max:Yt}=L(ut.getExtremes(),Et||{}),Ut=Jt??bt.min,Vt=Qt??bt.max,Gt=Pt-Tt,$t=ut.categories?0:Math.min(Gt,Vt-Ut),Ht=Ut-$t*(y(bt.min)?0:bt.minPadding),Xt=Vt+$t*(y(bt.max)?0:bt.maxPadding),qt=ut.allowZoomOutside||Mt===1||tt!=="zoom"&&Mt>1,It=Math.min(bt.min??Ht,Ht,qt?Ft:Ht),Bt=Math.max(bt.max??Xt,Xt,qt?Yt:Xt);(!ut.isOrdinal||ut.options.overscroll||Mt!==1||_)&&(Tt<It&&(Tt=It,Mt>=1&&(Pt=Tt+Gt)),Pt>Bt&&(Pt=Bt,Mt>=1&&(Tt=Pt-Gt)),(_||ut.series.length&&(Tt!==Ft||Pt!==Yt)&&Tt>=It&&Pt<=Bt)&&(J?J[ut.coll].push({axis:ut,min:Tt,max:Pt}):(ut.isPanning=tt!=="zoom",ut.isPanning&&(gt=!0),ut.setExtremes(_?void 0:Tt,_?void 0:Pt,!1,!1,{move:Lt,trigger:tt,scale:Mt}),!_&&(Tt>It||Pt<Bt)&&tt!=="mousewheel"&&(pt=!0)),ct=!0),G&&(this[xt?"mouseDownX":"mouseDownY"]=G[xt?"chartX":"chartY"]))}return ct&&(J?z(this,"selection",J,()=>{delete N.selection,N.trigger="zoom",this.transform(N)}):(!pt||gt||this.resetZoomButton?!pt&&this.resetZoomButton&&(this.resetZoomButton=this.resetZoomButton.destroy()):this.showResetZoom(),this.redraw(tt==="zoom"&&(this.options.chart.animation??this.pointCount<100)))),ct}}return L(st.prototype,{callbacks:[],collectionsWithInit:{xAxis:[st.prototype.addAxis,[!0]],yAxis:[st.prototype.addAxis,[!1]],series:[st.prototype.addSeries]},collectionsWithUpdate:["xAxis","yAxis","series"],propsRequireDirtyBox:["backgroundColor","borderColor","borderWidth","borderRadius","plotBackgroundColor","plotBackgroundImage","plotBorderColor","plotBorderWidth","plotShadow","shadow"],propsRequireReflow:["margin","marginTop","marginRight","marginBottom","marginLeft","spacing","spacingTop","spacingRight","spacingBottom","spacingLeft"],propsRequireUpdateSeries:["chart.inverted","chart.polar","chart.ignoreHiddenSeries","chart.type","colors","plotOptions","time","tooltip"]}),st}),yt(H,"Extensions/ScrollablePlotArea.js",[H["Core/Animation/AnimationUtilities.js"],H["Core/Globals.js"],H["Core/Renderer/RendererRegistry.js"],H["Core/Utilities.js"]],function(Q,it,ht,dt){let{stop:lt}=Q,{composed:ot}=it,{addEvent:at,createElement:q,css:$,defined:V,merge:v,pushUnique:I}=dt;function D(){let b=this.scrollablePlotArea;(this.scrollablePixelsX||this.scrollablePixelsY)&&!b&&(this.scrollablePlotArea=b=new m(this)),b?.applyFixed()}function P(){this.chart.scrollablePlotArea&&(this.chart.scrollablePlotArea.isDirty=!0)}class m{static compose(k,A,d){I(ot,this.compose)&&(at(k,"afterInit",P),at(A,"afterSetChartSize",M=>this.afterSetSize(M.target,M)),at(A,"render",D),at(d,"show",P))}static afterSetSize(k,A){let d,M,W,{minWidth:O,minHeight:C}=k.options.chart.scrollablePlotArea||{},{clipBox:o,plotBox:u,inverted:s,renderer:e}=k;if(!e.forExport&&(O?(k.scrollablePixelsX=d=Math.max(0,O-k.chartWidth),d&&(k.scrollablePlotBox=v(k.plotBox),u.width=k.plotWidth+=d,o[s?"height":"width"]+=d,W=!0)):C&&(k.scrollablePixelsY=M=Math.max(0,C-k.chartHeight),V(M)&&(k.scrollablePlotBox=v(k.plotBox),u.height=k.plotHeight+=M,o[s?"width":"height"]+=M,W=!1)),V(W)&&!A.skipAxes))for(let t of k.axes)t.horiz===W&&(t.setAxisSize(),t.setAxisTranslation())}constructor(k){let A,d=k.options.chart,M=ht.getRendererType(),W=d.scrollablePlotArea||{},O=this.moveFixedElements.bind(this),C={WebkitOverflowScrolling:"touch",overflowX:"hidden",overflowY:"hidden"};k.scrollablePixelsX&&(C.overflowX="auto"),k.scrollablePixelsY&&(C.overflowY="auto"),this.chart=k;let o=this.parentDiv=q("div",{className:"highcharts-scrolling-parent"},{position:"relative"},k.renderTo),u=this.scrollingContainer=q("div",{className:"highcharts-scrolling"},C,o),s=this.innerContainer=q("div",{className:"highcharts-inner-container"},void 0,u),e=this.fixedDiv=q("div",{className:"highcharts-fixed"},{position:"absolute",overflow:"hidden",pointerEvents:"none",zIndex:(d.style?.zIndex||0)+2,top:0},void 0,!0),t=this.fixedRenderer=new M(e,k.chartWidth,k.chartHeight,d.style);this.mask=t.path().attr({fill:d.backgroundColor||"#fff","fill-opacity":W.opacity??.85,zIndex:-1}).addClass("highcharts-scrollable-mask").add(),u.parentNode.insertBefore(e,u),$(k.renderTo,{overflow:"visible"}),at(k,"afterShowResetZoom",O),at(k,"afterApplyDrilldown",O),at(k,"afterLayOutTitles",O),at(u,"scroll",()=>{let{pointer:r,hoverPoint:a}=k;r&&(delete r.chartPosition,a&&(A=a),r.runPointActions(void 0,A,!0))}),s.appendChild(k.container)}applyFixed(){let{chart:k,fixedRenderer:A,isDirty:d,scrollingContainer:M}=this,{axisOffset:W,chartWidth:O,chartHeight:C,container:o,plotHeight:u,plotLeft:s,plotTop:e,plotWidth:t,scrollablePixelsX:r=0,scrollablePixelsY:a=0}=k,{scrollPositionX:x=0,scrollPositionY:y=0}=k.options.chart.scrollablePlotArea||{},h=O+r,T=C+a;A.setSize(O,C),(d??!0)&&(this.isDirty=!1,this.moveFixedElements()),lt(k.container),$(o,{width:`${h}px`,height:`${T}px`}),k.renderer.boxWrapper.attr({width:h,height:T,viewBox:[0,0,h,T].join(" ")}),k.chartBackground?.attr({width:h,height:T}),$(M,{width:`${O}px`,height:`${C}px`}),V(d)||(M.scrollLeft=r*x,M.scrollTop=a*y);let Y=e-W[0]-1,f=s-W[3]-1,L=e+u+W[2]+1,R=s+t+W[1]+1,z=s+t-r,Z=e+u-a,n=[["M",0,0]];r?n=[["M",0,Y],["L",s-1,Y],["L",s-1,L],["L",0,L],["Z"],["M",z,Y],["L",O,Y],["L",O,L],["L",z,L],["Z"]]:a&&(n=[["M",f,0],["L",f,e-1],["L",R,e-1],["L",R,0],["Z"],["M",f,Z],["L",f,C],["L",R,C],["L",R,Z],["Z"]]),k.redrawTrigger!=="adjustHeight"&&this.mask.attr({d:n})}moveFixedElements(){let k,{container:A,inverted:d,scrollablePixelsX:M,scrollablePixelsY:W}=this.chart,O=this.fixedRenderer,C=m.fixedSelectors;for(let o of(M&&!d?k=".highcharts-yaxis":M&&d||W&&!d?k=".highcharts-xaxis":W&&d&&(k=".highcharts-yaxis"),k&&C.push(`${k}:not(.highcharts-radial-axis)`,`${k}-labels:not(.highcharts-radial-axis-labels)`),C))[].forEach.call(A.querySelectorAll(o),u=>{(u.namespaceURI===O.SVG_NS?O.box:O.box.parentNode).appendChild(u),u.style.pointerEvents="auto"})}}return m.fixedSelectors=[".highcharts-breadcrumbs-group",".highcharts-contextbutton",".highcharts-caption",".highcharts-credits",".highcharts-drillup-button",".highcharts-legend",".highcharts-legend-checkbox",".highcharts-navigator-series",".highcharts-navigator-xaxis",".highcharts-navigator-yaxis",".highcharts-navigator",".highcharts-range-selector-group",".highcharts-reset-zoom",".highcharts-scrollbar",".highcharts-subtitle",".highcharts-title"],m}),yt(H,"Core/Axis/Stacking/StackItem.js",[H["Core/Templating.js"],H["Core/Series/SeriesRegistry.js"],H["Core/Utilities.js"]],function(Q,it,ht){let{format:dt}=Q,{series:lt}=it,{destroyObjectProperties:ot,fireEvent:at,isNumber:q,pick:$}=ht;return class{constructor(V,v,I,D,P){let m=V.chart.inverted,b=V.reversed;this.axis=V;let k=this.isNegative=!!I!=!!b;this.options=v=v||{},this.x=D,this.total=null,this.cumulative=null,this.points={},this.hasValidPoints=!1,this.stack=P,this.leftCliff=0,this.rightCliff=0,this.alignOptions={align:v.align||(m?k?"left":"right":"center"),verticalAlign:v.verticalAlign||(m?"middle":k?"bottom":"top"),y:v.y,x:v.x},this.textAlign=v.textAlign||(m?k?"right":"left":"center")}destroy(){ot(this,this.axis)}render(V){let v=this.axis.chart,I=this.options,D=I.format,P=D?dt(D,this,v):I.formatter.call(this);if(this.label)this.label.attr({text:P,visibility:"hidden"});else{this.label=v.renderer.label(P,null,void 0,I.shape,void 0,void 0,I.useHTML,!1,"stack-labels");let m={r:I.borderRadius||0,text:P,padding:$(I.padding,5),visibility:"hidden"};v.styledMode||(m.fill=I.backgroundColor,m.stroke=I.borderColor,m["stroke-width"]=I.borderWidth,this.label.css(I.style||{})),this.label.attr(m),this.label.added||this.label.add(V)}this.label.labelrank=v.plotSizeY,at(this,"afterRender")}setOffset(V,v,I,D,P,m){let{alignOptions:b,axis:k,label:A,options:d,textAlign:M}=this,W=k.chart,O=this.getStackBox({xOffset:V,width:v,boxBottom:I,boxTop:D,defaultX:P,xAxis:m}),{verticalAlign:C}=b;if(A&&O){let o=A.getBBox(void 0,0),u=A.padding,s=$(d.overflow,"justify")==="justify",e;b.x=d.x||0,b.y=d.y||0;let{x:t,y:r}=this.adjustStackPosition({labelBox:o,verticalAlign:C,textAlign:M});O.x-=t,O.y-=r,A.align(b,!1,O),(e=W.isInsidePlot(A.alignAttr.x+b.x+t,A.alignAttr.y+b.y+r))||(s=!1),s&&lt.prototype.justifyDataLabel.call(k,A,b,A.alignAttr,o,O),A.attr({x:A.alignAttr.x,y:A.alignAttr.y,rotation:d.rotation,rotationOriginX:o.width*{left:0,center:.5,right:1}[d.textAlign||"center"],rotationOriginY:o.height/2}),$(!s&&d.crop,!0)&&(e=q(A.x)&&q(A.y)&&W.isInsidePlot(A.x-u+(A.width||0),A.y)&&W.isInsidePlot(A.x+u,A.y)),A[e?"show":"hide"]()}at(this,"afterSetOffset",{xOffset:V,width:v})}adjustStackPosition({labelBox:V,verticalAlign:v,textAlign:I}){let D={bottom:0,middle:1,top:2,right:1,center:0,left:-1},P=D[v],m=D[I];return{x:V.width/2+V.width/2*m,y:V.height/2*P}}getStackBox(V){let v=this.axis,I=v.chart,{boxTop:D,defaultX:P,xOffset:m,width:b,boxBottom:k}=V,A=v.stacking.usePercentage?100:$(D,this.total,0),d=v.toPixels(A),M=V.xAxis||I.xAxis[0],W=$(P,M.translate(this.x))+m,O=Math.abs(d-v.toPixels(k||q(v.min)&&v.logarithmic&&v.logarithmic.lin2log(v.min)||0)),C=I.inverted,o=this.isNegative;return C?{x:(o?d:d-O)-I.plotLeft,y:M.height-W-b+M.top-I.plotTop,width:O,height:b}:{x:W+M.transB-I.plotLeft,y:(o?d-O:d)-I.plotTop,width:b,height:O}}}}),yt(H,"Core/Axis/Stacking/StackingAxis.js",[H["Core/Animation/AnimationUtilities.js"],H["Core/Axis/Axis.js"],H["Core/Series/SeriesRegistry.js"],H["Core/Axis/Stacking/StackItem.js"],H["Core/Utilities.js"]],function(Q,it,ht,dt,lt){var ot;let{getDeferredAnimation:at}=Q,{series:{prototype:q}}=ht,{addEvent:$,correctFloat:V,defined:v,destroyObjectProperties:I,fireEvent:D,isArray:P,isNumber:m,objectEach:b,pick:k}=lt;function A(){let e=this.inverted;this.axes.forEach(t=>{t.stacking&&t.stacking.stacks&&t.hasVisibleSeries&&(t.stacking.oldStacks=t.stacking.stacks)}),this.series.forEach(t=>{let r=t.xAxis&&t.xAxis.options||{};t.options.stacking&&t.reserveSpace()&&(t.stackKey=[t.type,k(t.options.stack,""),e?r.top:r.left,e?r.height:r.width].join(","))})}function d(){let e=this.stacking;if(e){let t=e.stacks;b(t,(r,a)=>{I(r),delete t[a]}),e.stackTotalGroup?.destroy()}}function M(){this.stacking||(this.stacking=new s(this))}function W(e,t,r,a){return!v(e)||e.x!==t||a&&e.stackKey!==a?e={x:t,index:0,key:a,stackKey:a}:e.index++,e.key=[r,t,e.index].join(","),e}function O(){let e,t=this,r=t.yAxis,a=t.stackKey||"",x=r.stacking.stacks,y=t.processedXData,h=t.options.stacking,T=t[h+"Stacker"];T&&[a,"-"+a].forEach(Y=>{let f=y.length,L,R,z;for(;f--;)L=y[f],e=t.getStackIndicator(e,L,t.index,Y),R=x[Y]?.[L],(z=R?.points[e.key||""])&&T.call(t,z,R,f)})}function C(e,t,r){let a=t.total?100/t.total:0;e[0]=V(e[0]*a),e[1]=V(e[1]*a),this.stackedYData[r]=e[1]}function o(e){(this.is("column")||this.is("columnrange"))&&(this.options.centerInCategory&&!this.options.stacking&&this.chart.series.length>1?q.setStackedPoints.call(this,e,"group"):e.stacking.resetStacks())}function u(e,t){let r,a,x,y,h,T,Y,f,L,R=t||this.options.stacking;if(!R||!this.reserveSpace()||({group:"xAxis"}[R]||"yAxis")!==e.coll)return;let z=this.processedXData,Z=this.processedYData,n=[],l=Z.length,c=this.options,j=c.threshold||0,i=c.startFromThreshold?j:0,g=c.stack,p=t?`${this.type},${R}`:this.stackKey||"",w="-"+p,S=this.negStacks,B=e.stacking,F=B.stacks,U=B.oldStacks;for(B.stacksTouched+=1,Y=0;Y<l;Y++){f=z[Y],L=Z[Y],T=(r=this.getStackIndicator(r,f,this.index)).key||"",F[h=(a=S&&L<(i?0:j))?w:p]||(F[h]={}),F[h][f]||(U[h]?.[f]?(F[h][f]=U[h][f],F[h][f].total=null):F[h][f]=new dt(e,e.options.stackLabels,!!a,f,g)),x=F[h][f],L!==null?(x.points[T]=x.points[this.index]=[k(x.cumulative,i)],v(x.cumulative)||(x.base=T),x.touched=B.stacksTouched,r.index>0&&this.singleStacks===!1&&(x.points[T][0]=x.points[this.index+","+f+",0"][0])):(delete x.points[T],delete x.points[this.index]);let K=x.total||0;R==="percent"?(y=a?p:w,K=S&&F[y]?.[f]?(y=F[y][f]).total=Math.max(y.total||0,K)+Math.abs(L)||0:V(K+(Math.abs(L)||0))):R==="group"?(P(L)&&(L=L[0]),L!==null&&K++):K=V(K+(L||0)),R==="group"?x.cumulative=(K||1)-1:x.cumulative=V(k(x.cumulative,i)+(L||0)),x.total=K,L!==null&&(x.points[T].push(x.cumulative),n[Y]=x.cumulative,x.hasValidPoints=!0)}R==="percent"&&(B.usePercentage=!0),R!=="group"&&(this.stackedYData=n),B.oldStacks={}}class s{constructor(t){this.oldStacks={},this.stacks={},this.stacksTouched=0,this.axis=t}buildStacks(){let t,r,a=this.axis,x=a.series,y=a.coll==="xAxis",h=a.options.reversedStacks,T=x.length;for(this.resetStacks(),this.usePercentage=!1,r=T;r--;)t=x[h?r:T-r-1],y&&t.setGroupedPoints(a),t.setStackedPoints(a);if(!y)for(r=0;r<T;r++)x[r].modifyStacks();D(a,"afterBuildStacks")}cleanStacks(){this.oldStacks&&(this.stacks=this.oldStacks,b(this.stacks,t=>{b(t,r=>{r.cumulative=r.total})}))}resetStacks(){b(this.stacks,t=>{b(t,(r,a)=>{m(r.touched)&&r.touched<this.stacksTouched?(r.destroy(),delete t[a]):(r.total=null,r.cumulative=null)})})}renderStackTotals(){let t=this.axis,r=t.chart,a=r.renderer,x=this.stacks,y=at(r,t.options.stackLabels?.animation||!1),h=this.stackTotalGroup=this.stackTotalGroup||a.g("stack-labels").attr({zIndex:6,opacity:0}).add();h.translate(r.plotLeft,r.plotTop),b(x,T=>{b(T,Y=>{Y.render(h)})}),h.animate({opacity:1},y)}}return(ot||(ot={})).compose=function(e,t,r){let a=t.prototype,x=r.prototype;a.getStacks||($(e,"init",M),$(e,"destroy",d),a.getStacks=A,x.getStackIndicator=W,x.modifyStacks=O,x.percentStacker=C,x.setGroupedPoints=o,x.setStackedPoints=u)},ot}),yt(H,"Series/Line/LineSeries.js",[H["Core/Series/Series.js"],H["Core/Series/SeriesRegistry.js"],H["Core/Utilities.js"]],function(Q,it,ht){let{defined:dt,merge:lt,isObject:ot}=ht;class at extends Q{drawGraph(){let $=this.options,V=(this.gappedPath||this.getGraphPath).call(this),v=this.chart.styledMode;[this,...this.zones].forEach((I,D)=>{let P,m=I.graph,b=m?"animate":"attr",k=I.dashStyle||$.dashStyle;m?(m.endX=this.preventGraphAnimation?null:V.xMap,m.animate({d:V})):V.length&&(I.graph=m=this.chart.renderer.path(V).addClass("highcharts-graph"+(D?` highcharts-zone-graph-${D-1} `:" ")+(D&&I.className||"")).attr({zIndex:1}).add(this.group)),m&&!v&&(P={stroke:!D&&$.lineColor||I.color||this.color||"#cccccc","stroke-width":$.lineWidth||0,fill:this.fillGraph&&this.color||"none"},k?P.dashstyle=k:$.linecap!=="square"&&(P["stroke-linecap"]=P["stroke-linejoin"]="round"),m[b](P).shadow(D<2&&$.shadow&&lt({filterUnits:"userSpaceOnUse"},ot($.shadow)?$.shadow:{}))),m&&(m.startX=V.xMap,m.isArea=V.isArea)})}getGraphPath($,V,v){let I=this,D=I.options,P=[],m=[],b,k=D.step,A=($=$||I.points).reversed;return A&&$.reverse(),(k={right:1,center:2}[k]||k&&3)&&A&&(k=4-k),($=this.getValidPoints($,!1,!(D.connectNulls&&!V&&!v))).forEach(function(d,M){let W,O=d.plotX,C=d.plotY,o=$[M-1],u=d.isNull||typeof C!="number";(d.leftCliff||o&&o.rightCliff)&&!v&&(b=!0),u&&!dt(V)&&M>0?b=!D.connectNulls:u&&!V?b=!0:(M===0||b?W=[["M",d.plotX,d.plotY]]:I.getPointSpline?W=[I.getPointSpline($,d,M)]:k?(W=k===1?[["L",o.plotX,C]]:k===2?[["L",(o.plotX+O)/2,o.plotY],["L",(o.plotX+O)/2,C]]:[["L",O,o.plotY]]).push(["L",O,C]):W=[["L",O,C]],m.push(d.x),k&&(m.push(d.x),k===2&&m.push(d.x)),P.push.apply(P,W),b=!1)}),P.xMap=m,I.graphPath=P,P}}return at.defaultOptions=lt(Q.defaultOptions,{legendSymbol:"lineMarker"}),it.registerSeriesType("line",at),at}),yt(H,"Series/Area/AreaSeriesDefaults.js",[],function(){return{threshold:0,legendSymbol:"areaMarker"}}),yt(H,"Series/Area/AreaSeries.js",[H["Series/Area/AreaSeriesDefaults.js"],H["Core/Series/SeriesRegistry.js"],H["Core/Utilities.js"]],function(Q,it,ht){let{seriesTypes:{line:dt}}=it,{extend:lt,merge:ot,objectEach:at,pick:q}=ht;class $ extends dt{drawGraph(){this.areaPath=[],super.drawGraph.apply(this);let{areaPath:v,options:I}=this;[this,...this.zones].forEach((D,P)=>{let m={},b=D.fillColor||I.fillColor,k=D.area,A=k?"animate":"attr";k?(k.endX=this.preventGraphAnimation?null:v.xMap,k.animate({d:v})):(m.zIndex=0,(k=D.area=this.chart.renderer.path(v).addClass("highcharts-area"+(P?` highcharts-zone-area-${P-1} `:" ")+(P&&D.className||"")).add(this.group)).isArea=!0),this.chart.styledMode||(m.fill=b||D.color||this.color,m["fill-opacity"]=b?1:I.fillOpacity??.75,k.css({pointerEvents:this.stickyTracking?"none":"auto"})),k[A](m),k.startX=v.xMap,k.shiftUnit=I.step?2:1})}getGraphPath(v){let I,D,P,m=dt.prototype.getGraphPath,b=this.options,k=b.stacking,A=this.yAxis,d=[],M=[],W=this.index,O=A.stacking.stacks[this.stackKey],C=b.threshold,o=Math.round(A.getThreshold(b.threshold)),u=q(b.connectNulls,k==="percent"),s=function(y,h,T){let Y=v[y],f=k&&O[Y.x].points[W],L=Y[T+"Null"]||0,R=Y[T+"Cliff"]||0,z,Z,n=!0;R||L?(z=(L?f[0]:f[1])+R,Z=f[0]+R,n=!!L):!k&&v[h]&&v[h].isNull&&(z=Z=C),z!==void 0&&(M.push({plotX:I,plotY:z===null?o:A.getThreshold(z),isNull:n,isCliff:!0}),d.push({plotX:I,plotY:Z===null?o:A.getThreshold(Z),doCurve:!1}))};v=v||this.points,k&&(v=this.getStackPoints(v));for(let y=0,h=v.length;y<h;++y)k||(v[y].leftCliff=v[y].rightCliff=v[y].leftNull=v[y].rightNull=void 0),D=v[y].isNull,I=q(v[y].rectPlotX,v[y].plotX),P=k?q(v[y].yBottom,o):o,D&&!u||(u||s(y,y-1,"left"),D&&!k&&u||(M.push(v[y]),d.push({x:y,plotX:I,plotY:P})),u||s(y,y+1,"right"));let e=m.call(this,M,!0,!0);d.reversed=!0;let t=m.call(this,d,!0,!0),r=t[0];r&&r[0]==="M"&&(t[0]=["L",r[1],r[2]]);let a=e.concat(t);a.length&&a.push(["Z"]);let x=m.call(this,M,!1,u);return this.chart.series.length>1&&k&&M.some(y=>y.isCliff)&&(a.hasStackedCliffs=x.hasStackedCliffs=!0),a.xMap=e.xMap,this.areaPath=a,x}getStackPoints(v){let I=this,D=[],P=[],m=this.xAxis,b=this.yAxis,k=b.stacking.stacks[this.stackKey],A={},d=b.series,M=d.length,W=b.options.reversedStacks?1:-1,O=d.indexOf(I);if(v=v||this.points,this.options.stacking){for(let o=0;o<v.length;o++)v[o].leftNull=v[o].rightNull=void 0,A[v[o].x]=v[o];at(k,function(o,u){o.total!==null&&P.push(u)}),P.sort(function(o,u){return o-u});let C=d.map(o=>o.visible);P.forEach(function(o,u){let s=0,e,t;if(A[o]&&!A[o].isNull)D.push(A[o]),[-1,1].forEach(function(r){let a=r===1?"rightNull":"leftNull",x=k[P[u+r]],y=0;if(x){let h=O;for(;h>=0&&h<M;){let T=d[h].index;!(e=x.points[T])&&(T===I.index?A[o][a]=!0:C[h]&&(t=k[o].points[T])&&(y-=t[1]-t[0])),h+=W}}A[o][r===1?"rightCliff":"leftCliff"]=y});else{let r=O;for(;r>=0&&r<M;){let a=d[r].index;if(e=k[o].points[a]){s=e[1];break}r+=W}s=q(s,0),s=b.translate(s,0,1,0,1),D.push({isNull:!0,plotX:m.translate(o,0,0,0,1),x:o,plotY:s,yBottom:s})}})}return D}}return $.defaultOptions=ot(dt.defaultOptions,Q),lt($.prototype,{singleStacks:!1}),it.registerSeriesType("area",$),$}),yt(H,"Series/Spline/SplineSeries.js",[H["Core/Series/SeriesRegistry.js"],H["Core/Utilities.js"]],function(Q,it){let{line:ht}=Q.seriesTypes,{merge:dt,pick:lt}=it;class ot extends ht{getPointSpline(q,$,V){let v,I,D,P,m=$.plotX||0,b=$.plotY||0,k=q[V-1],A=q[V+1];function d(W){return W&&!W.isNull&&W.doCurve!==!1&&!$.isCliff}if(d(k)&&d(A)){let W=k.plotX||0,O=k.plotY||0,C=A.plotX||0,o=A.plotY||0,u=0;v=(1.5*m+W)/2.5,I=(1.5*b+O)/2.5,D=(1.5*m+C)/2.5,P=(1.5*b+o)/2.5,D!==v&&(u=(P-I)*(D-m)/(D-v)+b-P),I+=u,P+=u,I>O&&I>b?(I=Math.max(O,b),P=2*b-I):I<O&&I<b&&(I=Math.min(O,b),P=2*b-I),P>o&&P>b?(P=Math.max(o,b),I=2*b-P):P<o&&P<b&&(P=Math.min(o,b),I=2*b-P),$.rightContX=D,$.rightContY=P,$.controlPoints={low:[v,I],high:[D,P]}}let M=["C",lt(k.rightContX,k.plotX,0),lt(k.rightContY,k.plotY,0),lt(v,m,0),lt(I,b,0),m,b];return k.rightContX=k.rightContY=void 0,M}}return ot.defaultOptions=dt(ht.defaultOptions),Q.registerSeriesType("spline",ot),ot}),yt(H,"Series/AreaSpline/AreaSplineSeries.js",[H["Series/Spline/SplineSeries.js"],H["Core/Series/SeriesRegistry.js"],H["Core/Utilities.js"]],function(Q,it,ht){let{area:dt,area:{prototype:lt}}=it.seriesTypes,{extend:ot,merge:at}=ht;class q extends Q{}return q.defaultOptions=at(Q.defaultOptions,dt.defaultOptions),ot(q.prototype,{getGraphPath:lt.getGraphPath,getStackPoints:lt.getStackPoints,drawGraph:lt.drawGraph}),it.registerSeriesType("areaspline",q),q}),yt(H,"Series/Column/ColumnSeriesDefaults.js",[],function(){return{borderRadius:3,centerInCategory:!1,groupPadding:.2,marker:null,pointPadding:.1,minPointLength:0,cropThreshold:50,pointRange:null,states:{hover:{halo:!1,brightness:.1},select:{color:"#cccccc",borderColor:"#000000"}},dataLabels:{align:void 0,verticalAlign:void 0,y:void 0},startFromThreshold:!0,stickyTracking:!1,tooltip:{distance:6},threshold:0,borderColor:"#ffffff"}}),yt(H,"Series/Column/ColumnSeries.js",[H["Core/Animation/AnimationUtilities.js"],H["Core/Color/Color.js"],H["Series/Column/ColumnSeriesDefaults.js"],H["Core/Globals.js"],H["Core/Series/Series.js"],H["Core/Series/SeriesRegistry.js"],H["Core/Utilities.js"]],function(Q,it,ht,dt,lt,ot,at){let{animObject:q}=Q,{parse:$}=it,{noop:V}=dt,{clamp:v,crisp:I,defined:D,extend:P,fireEvent:m,isArray:b,isNumber:k,merge:A,pick:d,objectEach:M}=at;class W extends lt{animate(C){let o,u,s=this,e=this.yAxis,t=e.pos,r=e.reversed,a=s.options,{clipOffset:x,inverted:y}=this.chart,h={},T=y?"translateX":"translateY";C&&x?(h.scaleY=.001,u=v(e.toPixels(a.threshold),t,t+e.len),y?(u+=r?-Math.floor(x[0]):Math.ceil(x[2]),h.translateX=u-e.len):(u+=r?Math.ceil(x[0]):-Math.floor(x[2]),h.translateY=u),s.clipBox&&s.setClip(),s.group.attr(h)):(o=Number(s.group.attr(T)),s.group.animate({scaleY:1},P(q(s.options.animation),{step:function(Y,f){s.group&&(h[T]=o+f.pos*(t-o),s.group.attr(h))}})))}init(C,o){super.init.apply(this,arguments);let u=this;(C=u.chart).hasRendered&&C.series.forEach(function(s){s.type===u.type&&(s.isDirty=!0)})}getColumnMetrics(){let C=this,o=C.options,u=C.xAxis,s=C.yAxis,e=u.options.reversedStacks,t=u.reversed&&!e||!u.reversed&&e,r={},a,x=0;o.grouping===!1?x=1:C.chart.series.forEach(function(L){let R,z=L.yAxis,Z=L.options;L.type===C.type&&L.reserveSpace()&&s.len===z.len&&s.pos===z.pos&&(Z.stacking&&Z.stacking!=="group"?(r[a=L.stackKey]===void 0&&(r[a]=x++),R=r[a]):Z.grouping!==!1&&(R=x++),L.columnIndex=R)});let y=Math.min(Math.abs(u.transA)*(!u.brokenAxis?.hasBreaks&&u.ordinal?.slope||o.pointRange||u.closestPointRange||u.tickInterval||1),u.len),h=y*o.groupPadding,T=(y-2*h)/(x||1),Y=Math.min(o.maxPointWidth||u.len,d(o.pointWidth,T*(1-2*o.pointPadding))),f=(C.columnIndex||0)+(t?1:0);return C.columnMetrics={width:Y,offset:(T-Y)/2+(h+f*T-y/2)*(t?-1:1),paddedWidth:T,columnCount:x},C.columnMetrics}crispCol(C,o,u,s){let e=this.borderWidth,t=this.chart.inverted;return s=I(o+s,e,t)-(o=I(o,e,t)),this.options.crisp&&(u=I(C+u,e)-(C=I(C,e))),{x:C,y:o,width:u,height:s}}adjustForMissingColumns(C,o,u,s){if(!u.isNull&&s.columnCount>1){let e=this.xAxis.series.filter(x=>x.visible).map(x=>x.index),t=0,r=0;M(this.xAxis.stacking?.stacks,x=>{if(typeof u.x=="number"){let y=x[u.x.toString()];if(y&&b(y.points[this.index])){let h=Object.keys(y.points).filter(T=>!T.match(",")&&y.points[T]&&y.points[T].length>1).map(parseFloat).filter(T=>e.indexOf(T)!==-1).sort((T,Y)=>Y-T);t=h.indexOf(this.index),r=h.length}}}),t=this.xAxis.reversed?r-1-t:t;let a=(r-1)*s.paddedWidth+o;C=(u.plotX||0)+a/2-o-t*s.paddedWidth}return C}translate(){let C=this,o=C.chart,u=C.options,s=C.dense=C.closestPointRange*C.xAxis.transA<2,e=C.borderWidth=d(u.borderWidth,s?0:1),t=C.xAxis,r=C.yAxis,a=u.threshold,x=d(u.minPointLength,5),y=C.getColumnMetrics(),h=y.width,T=C.pointXOffset=y.offset,Y=C.dataMin,f=C.dataMax,L=C.translatedThreshold=r.getThreshold(a),R=C.barW=Math.max(h,1+2*e);u.pointPadding&&(R=Math.ceil(R)),lt.prototype.translate.apply(C),C.points.forEach(function(z){let Z=d(z.yBottom,L),n=999+Math.abs(Z),l=z.plotX||0,c=v(z.plotY,-n,r.len+n),j,i=Math.min(c,Z),g=Math.max(c,Z)-i,p=h,w=l+T,S=R;x&&Math.abs(g)<x&&(g=x,j=!r.reversed&&!z.negative||r.reversed&&z.negative,k(a)&&k(f)&&z.y===a&&f<=a&&(r.min||0)<a&&(Y!==f||(r.max||0)<=a)&&(j=!j,z.negative=!z.negative),i=Math.abs(i-L)>x?Z-x:L-(j?x:0)),D(z.options.pointWidth)&&(w-=Math.round(((p=S=Math.ceil(z.options.pointWidth))-h)/2)),u.centerInCategory&&!u.stacking&&(w=C.adjustForMissingColumns(w,p,z,y)),z.barX=w,z.pointWidth=p,z.tooltipPos=o.inverted?[v(r.len+r.pos-o.plotLeft-c,r.pos-o.plotLeft,r.len+r.pos-o.plotLeft),t.len+t.pos-o.plotTop-w-S/2,g]:[t.left-o.plotLeft+w+S/2,v(c+r.pos-o.plotTop,r.pos-o.plotTop,r.len+r.pos-o.plotTop),g],z.shapeType=C.pointClass.prototype.shapeType||"roundedRect",z.shapeArgs=C.crispCol(w,z.isNull?L:i,S,z.isNull?0:g)}),m(this,"afterColumnTranslate")}drawGraph(){this.group[this.dense?"addClass":"removeClass"]("highcharts-dense-data")}pointAttribs(C,o){let u=this.options,s=this.pointAttrToOptions||{},e=s.stroke||"borderColor",t=s["stroke-width"]||"borderWidth",r,a,x,y=C&&C.color||this.color,h=C&&C[e]||u[e]||y,T=C&&C.options.dashStyle||u.dashStyle,Y=C&&C[t]||u[t]||this[t]||0,f=d(C&&C.opacity,u.opacity,1);C&&this.zones.length&&(a=C.getZone(),y=C.options.color||a&&(a.color||C.nonZonedColor)||this.color,a&&(h=a.borderColor||h,T=a.dashStyle||T,Y=a.borderWidth||Y)),o&&C&&(x=(r=A(u.states[o],C.options.states&&C.options.states[o]||{})).brightness,y=r.color||x!==void 0&&$(y).brighten(r.brightness).get()||y,h=r[e]||h,Y=r[t]||Y,T=r.dashStyle||T,f=d(r.opacity,f));let L={fill:y,stroke:h,"stroke-width":Y,opacity:f};return T&&(L.dashstyle=T),L}drawPoints(C=this.points){let o,u=this,s=this.chart,e=u.options,t=s.renderer,r=e.animationLimit||250;C.forEach(function(a){let x=a.plotY,y=a.graphic,h=!!y,T=y&&s.pointCount<r?"animate":"attr";k(x)&&a.y!==null?(o=a.shapeArgs,y&&a.hasNewShapeType()&&(y=y.destroy()),u.enabledDataSorting&&(a.startXPos=u.xAxis.reversed?-(o&&o.width||0):u.xAxis.width),!y&&(a.graphic=y=t[a.shapeType](o).add(a.group||u.group),y&&u.enabledDataSorting&&s.hasRendered&&s.pointCount<r&&(y.attr({x:a.startXPos}),h=!0,T="animate")),y&&h&&y[T](A(o)),s.styledMode||y[T](u.pointAttribs(a,a.selected&&"select")).shadow(a.allowShadow!==!1&&e.shadow),y&&(y.addClass(a.getClassName(),!0),y.attr({visibility:a.visible?"inherit":"hidden"}))):y&&(a.graphic=y.destroy())})}drawTracker(C=this.points){let o,u=this,s=u.chart,e=s.pointer,t=function(r){let a=e?.getPointFromEvent(r);e&&a&&u.options.enableMouseTracking&&(e.isDirectTouch=!0,a.onMouseOver(r))};C.forEach(function(r){o=b(r.dataLabels)?r.dataLabels:r.dataLabel?[r.dataLabel]:[],r.graphic&&(r.graphic.element.point=r),o.forEach(function(a){(a.div||a.element).point=r})}),u._hasTracking||(u.trackerGroups.forEach(function(r){u[r]&&(u[r].addClass("highcharts-tracker").on("mouseover",t).on("mouseout",function(a){e?.onTrackerMouseOut(a)}).on("touchstart",t),!s.styledMode&&u.options.cursor&&u[r].css({cursor:u.options.cursor}))}),u._hasTracking=!0),m(this,"afterDrawTracker")}remove(){let C=this,o=C.chart;o.hasRendered&&o.series.forEach(function(u){u.type===C.type&&(u.isDirty=!0)}),lt.prototype.remove.apply(C,arguments)}}return W.defaultOptions=A(lt.defaultOptions,ht),P(W.prototype,{directTouch:!0,getSymbol:V,negStacks:!0,trackerGroups:["group","dataLabelsGroup"]}),ot.registerSeriesType("column",W),W}),yt(H,"Core/Series/DataLabel.js",[H["Core/Animation/AnimationUtilities.js"],H["Core/Templating.js"],H["Core/Utilities.js"]],function(Q,it,ht){var dt;let{getDeferredAnimation:lt}=Q,{format:ot}=it,{defined:at,extend:q,fireEvent:$,isArray:V,isString:v,merge:I,objectEach:D,pick:P,pInt:m,splat:b}=ht;return function(k){function A(){return u(this).some(e=>e?.enabled)}function d(e,t,r,a,x){let{chart:y,enabledDataSorting:h}=this,T=this.isCartesian&&y.inverted,Y=e.plotX,f=e.plotY,L=r.rotation||0,R=at(Y)&&at(f)&&y.isInsidePlot(Y,Math.round(f),{inverted:T,paneCoordinates:!0,series:this}),z=L===0&&P(r.overflow,h?"none":"justify")==="justify",Z=this.visible&&e.visible!==!1&&at(Y)&&(e.series.forceDL||h&&!z||R||P(r.inside,!!this.options.stacking)&&a&&y.isInsidePlot(Y,T?a.x+1:a.y+a.height-1,{inverted:T,paneCoordinates:!0,series:this})),n=e.pos();if(Z&&n){var l;let c=t.getBBox(),j=t.getBBox(void 0,0),i={right:1,center:.5}[r.align||0]||0,g={bottom:1,middle:.5}[r.verticalAlign||0]||0;if(a=q({x:n[0],y:Math.round(n[1]),width:0,height:0},a||{}),r.alignTo==="plotEdges"&&this.isCartesian&&(a[T?"x":"y"]=0,a[T?"width":"height"]=this.yAxis?.len||0),q(r,{width:c.width,height:c.height}),l=a,h&&this.xAxis&&!z&&this.setDataLabelStartPos(e,t,x,R,l),t.align(I(r,{width:j.width,height:j.height}),!1,a,!1),t.alignAttr.x+=i*(j.width-c.width),t.alignAttr.y+=g*(j.height-c.height),t[t.placed?"animate":"attr"]({x:t.alignAttr.x+(c.width-j.width)/2,y:t.alignAttr.y+(c.height-j.height)/2,rotationOriginX:(t.width||0)/2,rotationOriginY:(t.height||0)/2}),z&&a.height>=0)this.justifyDataLabel(t,r,t.alignAttr,c,a,x);else if(P(r.crop,!0)){let{x:p,y:w}=t.alignAttr;Z=y.isInsidePlot(p,w,{paneCoordinates:!0,series:this})&&y.isInsidePlot(p+c.width-1,w+c.height-1,{paneCoordinates:!0,series:this})}r.shape&&!L&&t[x?"attr":"animate"]({anchorX:n[0],anchorY:n[1]})}x&&h&&(t.placed=!1),Z||h&&!z?(t.show(),t.placed=!0):(t.hide(),t.placed=!1)}function M(){return this.plotGroup("dataLabelsGroup","data-labels",this.hasRendered?"inherit":"hidden",this.options.dataLabels.zIndex||6)}function W(e){let t=this.hasRendered||0,r=this.initDataLabelsGroup().attr({opacity:+t});return!t&&r&&(this.visible&&r.show(),this.options.animation?r.animate({opacity:1},e):r.attr({opacity:1})),r}function O(e){let t;e=e||this.points;let r=this,a=r.chart,x=r.options,y=a.renderer,{backgroundColor:h,plotBackgroundColor:T}=a.options.chart,Y=y.getContrast(v(T)&&T||v(h)&&h||"#000000"),f=u(r),{animation:L,defer:R}=f[0],z=R?lt(a,L,r):{defer:0,duration:0};$(this,"drawDataLabels"),r.hasDataLabels?.()&&(t=this.initDataLabels(z),e.forEach(Z=>{let n=Z.dataLabels||[];b(o(f,Z.dlOptions||Z.options?.dataLabels)).forEach((c,j)=>{let i=c.enabled&&(Z.visible||Z.dataLabelOnHidden)&&(!Z.isNull||Z.dataLabelOnNull)&&function(G,X){let _=X.filter;if(_){let J=_.operator,et=G[_.property],tt=_.value;return J===">"&&et>tt||J==="<"&&et<tt||J===">="&&et>=tt||J==="<="&&et<=tt||J==="=="&&et==tt||J==="==="&&et===tt||J==="!="&&et!=tt||J==="!=="&&et!==tt}return!0}(Z,c),{backgroundColor:g,borderColor:p,distance:w,style:S={}}=c,B,F,U,K,st={},rt=n[j],N=!rt,E;i&&(F=P(c[Z.formatPrefix+"Format"],c.format),B=Z.getLabelConfig(),U=at(F)?ot(F,B,a):(c[Z.formatPrefix+"Formatter"]||c.formatter).call(B,c),K=c.rotation,!a.styledMode&&(S.color=P(c.color,S.color,v(r.color)?r.color:void 0,"#000000"),S.color==="contrast"?(g!=="none"&&(E=g),Z.contrastColor=y.getContrast(E!=="auto"&&E||Z.color||r.color),S.color=E||!at(w)&&c.inside||0>m(w||0)||x.stacking?Z.contrastColor:Y):delete Z.contrastColor,x.cursor&&(S.cursor=x.cursor)),st={r:c.borderRadius||0,rotation:K,padding:c.padding,zIndex:1},a.styledMode||(st.fill=g==="auto"?Z.color:g,st.stroke=p==="auto"?Z.color:p,st["stroke-width"]=c.borderWidth),D(st,(G,X)=>{G===void 0&&delete st[X]})),!rt||i&&at(U)&&!!rt.div==!!c.useHTML&&(rt.rotation&&c.rotation||rt.rotation===c.rotation)||(rt=void 0,N=!0),i&&at(U)&&(rt?st.text=U:(rt=y.label(U,0,0,c.shape,void 0,void 0,c.useHTML,void 0,"data-label")).addClass(" highcharts-data-label-color-"+Z.colorIndex+" "+(c.className||"")+(c.useHTML?" highcharts-tracker":"")),rt&&(rt.options=c,rt.attr(st),a.styledMode?S.width&&rt.css({width:S.width,textOverflow:S.textOverflow}):rt.css(S).shadow(c.shadow),$(rt,"beforeAddingDataLabel",{labelOptions:c,point:Z}),rt.added||rt.add(t),r.alignDataLabel(Z,rt,c,void 0,N),rt.isActive=!0,n[j]&&n[j]!==rt&&n[j].destroy(),n[j]=rt))});let l=n.length;for(;l--;)n[l]&&n[l].isActive?n[l].isActive=!1:(n[l]?.destroy(),n.splice(l,1));Z.dataLabel=n[0],Z.dataLabels=n})),$(this,"afterDrawDataLabels")}function C(e,t,r,a,x,y){let h=this.chart,T=t.align,Y=t.verticalAlign,f=e.box?0:e.padding||0,L=h.inverted?this.yAxis:this.xAxis,R=L?L.left-h.plotLeft:0,z=h.inverted?this.xAxis:this.yAxis,Z=z?z.top-h.plotTop:0,{x:n=0,y:l=0}=t,c,j;return(c=(r.x||0)+f+R)<0&&(T==="right"&&n>=0?(t.align="left",t.inside=!0):n-=c,j=!0),(c=(r.x||0)+a.width-f+R)>h.plotWidth&&(T==="left"&&n<=0?(t.align="right",t.inside=!0):n+=h.plotWidth-c,j=!0),(c=r.y+f+Z)<0&&(Y==="bottom"&&l>=0?(t.verticalAlign="top",t.inside=!0):l-=c,j=!0),(c=(r.y||0)+a.height-f+Z)>h.plotHeight&&(Y==="top"&&l<=0?(t.verticalAlign="bottom",t.inside=!0):l+=h.plotHeight-c,j=!0),j&&(t.x=n,t.y=l,e.placed=!y,e.align(t,void 0,x)),j}function o(e,t){let r=[],a;if(V(e)&&!V(t))r=e.map(function(x){return I(x,t)});else if(V(t)&&!V(e))r=t.map(function(x){return I(e,x)});else if(V(e)||V(t)){if(V(e)&&V(t))for(a=Math.max(e.length,t.length);a--;)r[a]=I(e[a],t[a])}else r=I(e,t);return r}function u(e){let t=e.chart.options.plotOptions;return b(o(o(t?.series?.dataLabels,t?.[e.type]?.dataLabels),e.options.dataLabels))}function s(e,t,r,a,x){let y=this.chart,h=y.inverted,T=this.xAxis,Y=T.reversed,f=((h?t.height:t.width)||0)/2,L=e.pointWidth,R=L?L/2:0;t.startXPos=h?x.x:Y?-f-R:T.width-f+R,t.startYPos=h?Y?this.yAxis.height-f+R:-f-R:x.y,a?t.visibility==="hidden"&&(t.show(),t.attr({opacity:0}).animate({opacity:1})):t.attr({opacity:1}).animate({opacity:0},void 0,t.hide),y.hasRendered&&(r&&t.attr({x:t.startXPos,y:t.startYPos}),t.placed=!0)}k.compose=function(e){let t=e.prototype;t.initDataLabels||(t.initDataLabels=W,t.initDataLabelsGroup=M,t.alignDataLabel=d,t.drawDataLabels=O,t.justifyDataLabel=C,t.setDataLabelStartPos=s,t.hasDataLabels=A)}}(dt||(dt={})),dt}),yt(H,"Series/Column/ColumnDataLabel.js",[H["Core/Series/DataLabel.js"],H["Core/Globals.js"],H["Core/Series/SeriesRegistry.js"],H["Core/Utilities.js"]],function(Q,it,ht,dt){var lt;let{composed:ot}=it,{series:at}=ht,{merge:q,pick:$,pushUnique:V}=dt;return function(v){function I(D,P,m,b,k){let A=this.chart.inverted,d=D.series,M=(d.xAxis?d.xAxis.len:this.chart.plotSizeX)||0,W=(d.yAxis?d.yAxis.len:this.chart.plotSizeY)||0,O=D.dlBox||D.shapeArgs,C=$(D.below,D.plotY>$(this.translatedThreshold,W)),o=$(m.inside,!!this.options.stacking);if(O){if(b=q(O),!(m.overflow==="allow"&&m.crop===!1)){b.y<0&&(b.height+=b.y,b.y=0);let u=b.y+b.height-W;u>0&&u<b.height-1&&(b.height-=u)}A&&(b={x:W-b.y-b.height,y:M-b.x-b.width,width:b.height,height:b.width}),o||(A?(b.x+=C?0:b.width,b.width=0):(b.y+=C?b.height:0,b.height=0))}m.align=$(m.align,!A||o?"center":C?"right":"left"),m.verticalAlign=$(m.verticalAlign,A||o?"middle":C?"top":"bottom"),at.prototype.alignDataLabel.call(this,D,P,m,b,k),m.inside&&D.contrastColor&&P.css({color:D.contrastColor})}v.compose=function(D){Q.compose(at),V(ot,"ColumnDataLabel")&&(D.prototype.alignDataLabel=I)}}(lt||(lt={})),lt}),yt(H,"Series/Bar/BarSeries.js",[H["Series/Column/ColumnSeries.js"],H["Core/Series/SeriesRegistry.js"],H["Core/Utilities.js"]],function(Q,it,ht){let{extend:dt,merge:lt}=ht;class ot extends Q{}return ot.defaultOptions=lt(Q.defaultOptions,{}),dt(ot.prototype,{inverted:!0}),it.registerSeriesType("bar",ot),ot}),yt(H,"Series/Scatter/ScatterSeriesDefaults.js",[],function(){return{lineWidth:0,findNearestPointBy:"xy",jitter:{x:0,y:0},marker:{enabled:!0},tooltip:{headerFormat:'<span style="color:{point.color}">\u25CF</span> <span style="font-size: 0.8em"> {series.name}</span><br/>',pointFormat:"x: <b>{point.x}</b><br/>y: <b>{point.y}</b><br/>"}}}),yt(H,"Series/Scatter/ScatterSeries.js",[H["Series/Scatter/ScatterSeriesDefaults.js"],H["Core/Series/SeriesRegistry.js"],H["Core/Utilities.js"]],function(Q,it,ht){let{column:dt,line:lt}=it.seriesTypes,{addEvent:ot,extend:at,merge:q}=ht;class $ extends lt{applyJitter(){let v=this,I=this.options.jitter,D=this.points.length;I&&this.points.forEach(function(P,m){["x","y"].forEach(function(b,k){if(I[b]&&!P.isNull){let A=`plot${b.toUpperCase()}`,d=v[`${b}Axis`],M=I[b]*d.transA;if(d&&!d.logarithmic){let W=Math.max(0,(P[A]||0)-M),O=Math.min(d.len,(P[A]||0)+M);P[A]=W+(O-W)*function(C){let o=1e4*Math.sin(C);return o-Math.floor(o)}(m+k*D),b==="x"&&(P.clientX=P.plotX)}}})})}drawGraph(){this.options.lineWidth?super.drawGraph():this.graph&&(this.graph=this.graph.destroy())}}return $.defaultOptions=q(lt.defaultOptions,Q),at($.prototype,{drawTracker:dt.prototype.drawTracker,sorted:!1,requireSorting:!1,noSharedTooltip:!0,trackerGroups:["group","markerGroup","dataLabelsGroup"]}),ot($,"afterTranslate",function(){this.applyJitter()}),it.registerSeriesType("scatter",$),$}),yt(H,"Series/CenteredUtilities.js",[H["Core/Globals.js"],H["Core/Series/Series.js"],H["Core/Utilities.js"]],function(Q,it,ht){var dt,lt;let{deg2rad:ot}=Q,{fireEvent:at,isNumber:q,pick:$,relativeLength:V}=ht;return(lt=dt||(dt={})).getCenter=function(){let v=this.options,I=this.chart,D=2*(v.slicedOffset||0),P=I.plotWidth-2*D,m=I.plotHeight-2*D,b=v.center,k=Math.min(P,m),A=v.thickness,d,M=v.size,W=v.innerSize||0,O,C;typeof M=="string"&&(M=parseFloat(M)),typeof W=="string"&&(W=parseFloat(W));let o=[$(b[0],"50%"),$(b[1],"50%"),$(M&&M<0?void 0:v.size,"100%"),$(W&&W<0?void 0:v.innerSize||0,"0%")];for(!I.angular||this instanceof it||(o[3]=0),O=0;O<4;++O)C=o[O],d=O<2||O===2&&/%$/.test(C),o[O]=V(C,[P,m,k,o[2]][O])+(d?D:0);return o[3]>o[2]&&(o[3]=o[2]),q(A)&&2*A<o[2]&&A>0&&(o[3]=o[2]-2*A),at(this,"afterGetCenter",{positions:o}),o},lt.getStartAndEndRadians=function(v,I){let D=q(v)?v:0,P=q(I)&&I>D&&I-D<360?I:D+360;return{start:ot*(D+-90),end:ot*(P+-90)}},dt}),yt(H,"Series/Pie/PiePoint.js",[H["Core/Animation/AnimationUtilities.js"],H["Core/Series/Point.js"],H["Core/Utilities.js"]],function(Q,it,ht){let{setAnimation:dt}=Q,{addEvent:lt,defined:ot,extend:at,isNumber:q,pick:$,relativeLength:V}=ht;class v extends it{getConnectorPath(D){let P=D.dataLabelPosition,m=D.options||{},b=m.connectorShape,k=this.connectorShapes[b]||b;return P&&k.call(this,Nt(Ot({},P.computed),{alignment:P.alignment}),P.connectorPosition,m)||[]}getTranslate(){return this.sliced&&this.slicedTranslation||{translateX:0,translateY:0}}haloPath(D){let P=this.shapeArgs;return this.sliced||!this.visible?[]:this.series.chart.renderer.symbols.arc(P.x,P.y,P.r+D,P.r+D,{innerR:P.r-1,start:P.start,end:P.end,borderRadius:P.borderRadius})}constructor(D,P,m){super(D,P,m),this.half=0,this.name??(this.name="Slice");let b=k=>{this.slice(k.type==="select")};lt(this,"select",b),lt(this,"unselect",b)}isValid(){return q(this.y)&&this.y>=0}setVisible(D,P=!0){D!==this.visible&&this.update({visible:D??!this.visible},P,void 0,!1)}slice(D,P,m){let b=this.series;dt(m,b.chart),P=$(P,!0),this.sliced=this.options.sliced=D=ot(D)?D:!this.sliced,b.options.data[b.data.indexOf(this)]=this.options,this.graphic&&this.graphic.animate(this.getTranslate())}}return at(v.prototype,{connectorShapes:{fixedOffset:function(I,D,P){let m=D.breakAt,b=D.touchingSliceAt,k=P.softConnector?["C",I.x+(I.alignment==="left"?-5:5),I.y,2*m.x-b.x,2*m.y-b.y,m.x,m.y]:["L",m.x,m.y];return[["M",I.x,I.y],k,["L",b.x,b.y]]},straight:function(I,D){let P=D.touchingSliceAt;return[["M",I.x,I.y],["L",P.x,P.y]]},crookedLine:function(I,D,P){let{breakAt:m,touchingSliceAt:b}=D,{series:k}=this,[A,d,M]=k.center,W=M/2,{plotLeft:O,plotWidth:C}=k.chart,o=I.alignment==="left",{x:u,y:s}=I,e=m.x;if(P.crookDistance){let r=V(P.crookDistance,1);e=o?A+W+(C+O-A-W)*(1-r):O+(A-W)*r}else e=A+(d-s)*Math.tan((this.angle||0)-Math.PI/2);let t=[["M",u,s]];return(o?e<=u&&e>=m.x:e>=u&&e<=m.x)&&t.push(["L",e,s]),t.push(["L",m.x,m.y],["L",b.x,b.y]),t}}}),v}),yt(H,"Series/Pie/PieSeriesDefaults.js",[],function(){return{borderRadius:3,center:[null,null],clip:!1,colorByPoint:!0,dataLabels:{connectorPadding:5,connectorShape:"crookedLine",crookDistance:void 0,distance:30,enabled:!0,formatter:function(){return this.point.isNull?void 0:this.point.name},softConnector:!0,x:0},fillColor:void 0,ignoreHiddenPoint:!0,inactiveOtherPoints:!0,legendType:"point",marker:null,size:null,showInLegend:!1,slicedOffset:10,stickyTracking:!1,tooltip:{followPointer:!0},borderColor:"#ffffff",borderWidth:1,lineWidth:void 0,states:{hover:{brightness:.1}}}}),yt(H,"Series/Pie/PieSeries.js",[H["Series/CenteredUtilities.js"],H["Series/Column/ColumnSeries.js"],H["Core/Globals.js"],H["Series/Pie/PiePoint.js"],H["Series/Pie/PieSeriesDefaults.js"],H["Core/Series/Series.js"],H["Core/Series/SeriesRegistry.js"],H["Core/Renderer/SVG/Symbols.js"],H["Core/Utilities.js"]],function(Q,it,ht,dt,lt,ot,at,q,$){let{getStartAndEndRadians:V}=Q,{noop:v}=ht,{clamp:I,extend:D,fireEvent:P,merge:m,pick:b}=$;class k extends ot{animate(d){let M=this,W=M.points,O=M.startAngleRad;d||W.forEach(function(C){let o=C.graphic,u=C.shapeArgs;o&&u&&(o.attr({r:b(C.startR,M.center&&M.center[3]/2),start:O,end:O}),o.animate({r:u.r,start:u.start,end:u.end},M.options.animation))})}drawEmpty(){let d,M,W=this.startAngleRad,O=this.endAngleRad,C=this.options;this.total===0&&this.center?(d=this.center[0],M=this.center[1],this.graph||(this.graph=this.chart.renderer.arc(d,M,this.center[1]/2,0,W,O).addClass("highcharts-empty-series").add(this.group)),this.graph.attr({d:q.arc(d,M,this.center[2]/2,0,{start:W,end:O,innerR:this.center[3]/2})}),this.chart.styledMode||this.graph.attr({"stroke-width":C.borderWidth,fill:C.fillColor||"none",stroke:C.color||"#cccccc"})):this.graph&&(this.graph=this.graph.destroy())}drawPoints(){let d=this.chart.renderer;this.points.forEach(function(M){M.graphic&&M.hasNewShapeType()&&(M.graphic=M.graphic.destroy()),M.graphic||(M.graphic=d[M.shapeType](M.shapeArgs).add(M.series.group),M.delayedRendering=!0)})}generatePoints(){super.generatePoints(),this.updateTotals()}getX(d,M,W,O){let C=this.center,o=this.radii?this.radii[W.index]||0:C[2]/2,u=O.dataLabelPosition,s=u?.distance||0,e=Math.asin(I((d-C[1])/(o+s),-1,1));return C[0]+Math.cos(e)*(o+s)*(M?-1:1)+(s>0?(M?-1:1)*(O.padding||0):0)}hasData(){return!!this.processedXData.length}redrawPoints(){let d,M,W,O,C=this,o=C.chart;this.drawEmpty(),C.group&&!o.styledMode&&C.group.shadow(C.options.shadow),C.points.forEach(function(u){let s={};M=u.graphic,!u.isNull&&M?(O=u.shapeArgs,d=u.getTranslate(),o.styledMode||(W=C.pointAttribs(u,u.selected&&"select")),u.delayedRendering?(M.setRadialReference(C.center).attr(O).attr(d),o.styledMode||M.attr(W).attr({"stroke-linejoin":"round"}),u.delayedRendering=!1):(M.setRadialReference(C.center),o.styledMode||m(!0,s,W),m(!0,s,O,d),M.animate(s)),M.attr({visibility:u.visible?"inherit":"hidden"}),M.addClass(u.getClassName(),!0)):M&&(u.graphic=M.destroy())})}sortByAngle(d,M){d.sort(function(W,O){return W.angle!==void 0&&(O.angle-W.angle)*M})}translate(d){P(this,"translate"),this.generatePoints();let M=this.options,W=M.slicedOffset,O=V(M.startAngle,M.endAngle),C=this.startAngleRad=O.start,o=(this.endAngleRad=O.end)-C,u=this.points,s=M.ignoreHiddenPoint,e=u.length,t,r,a,x,y,h,T,Y=0;for(d||(this.center=d=this.getCenter()),h=0;h<e;h++){T=u[h],t=C+Y*o,T.isValid()&&(!s||T.visible)&&(Y+=T.percentage/100),r=C+Y*o;let f={x:d[0],y:d[1],r:d[2]/2,innerR:d[3]/2,start:Math.round(1e3*t)/1e3,end:Math.round(1e3*r)/1e3};T.shapeType="arc",T.shapeArgs=f,(a=(r+t)/2)>1.5*Math.PI?a-=2*Math.PI:a<-Math.PI/2&&(a+=2*Math.PI),T.slicedTranslation={translateX:Math.round(Math.cos(a)*W),translateY:Math.round(Math.sin(a)*W)},x=Math.cos(a)*d[2]/2,y=Math.sin(a)*d[2]/2,T.tooltipPos=[d[0]+.7*x,d[1]+.7*y],T.half=a<-Math.PI/2||a>Math.PI/2?1:0,T.angle=a}P(this,"afterTranslate")}updateTotals(){let d=this.points,M=d.length,W=this.options.ignoreHiddenPoint,O,C,o=0;for(O=0;O<M;O++)(C=d[O]).isValid()&&(!W||C.visible)&&(o+=C.y);for(O=0,this.total=o;O<M;O++)(C=d[O]).percentage=o>0&&(C.visible||!W)?C.y/o*100:0,C.total=o}}return k.defaultOptions=m(ot.defaultOptions,lt),D(k.prototype,{axisTypes:[],directTouch:!0,drawGraph:void 0,drawTracker:it.prototype.drawTracker,getCenter:Q.getCenter,getSymbol:v,invertible:!1,isCartesian:!1,noSharedTooltip:!0,pointAttribs:it.prototype.pointAttribs,pointClass:dt,requireSorting:!1,searchPoint:v,trackerGroups:["group","dataLabelsGroup"]}),at.registerSeriesType("pie",k),k}),yt(H,"Series/Pie/PieDataLabel.js",[H["Core/Series/DataLabel.js"],H["Core/Globals.js"],H["Core/Renderer/RendererUtilities.js"],H["Core/Series/SeriesRegistry.js"],H["Core/Utilities.js"]],function(Q,it,ht,dt,lt){var ot;let{composed:at,noop:q}=it,{distribute:$}=ht,{series:V}=dt,{arrayMax:v,clamp:I,defined:D,pick:P,pushUnique:m,relativeLength:b}=lt;return function(k){let A={radialDistributionY:function(C,o){return(o.dataLabelPosition?.top||0)+C.distributeBox.pos},radialDistributionX:function(C,o,u,s,e){let t=e.dataLabelPosition;return C.getX(u<(t?.top||0)+2||u>(t?.bottom||0)-2?s:u,o.half,o,e)},justify:function(C,o,u,s){return s[0]+(C.half?-1:1)*(u+(o.dataLabelPosition?.distance||0))},alignToPlotEdges:function(C,o,u,s){let e=C.getBBox().width;return o?e+s:u-e-s},alignToConnectors:function(C,o,u,s){let e=0,t;return C.forEach(function(r){(t=r.dataLabel.getBBox().width)>e&&(e=t)}),o?e+s:u-e-s}};function d(C,o){let{center:u,options:s}=this,e=u[2]/2,t=C.angle||0,r=Math.cos(t),a=Math.sin(t),x=u[0]+r*e,y=u[1]+a*e,h=Math.min((s.slicedOffset||0)+(s.borderWidth||0),o/5);return{natural:{x:x+r*o,y:y+a*o},computed:{},alignment:o<0?"center":C.half?"right":"left",connectorPosition:{breakAt:{x:x+r*h,y:y+a*h},touchingSliceAt:{x,y}},distance:o}}function M(){let C=this,o=C.points,u=C.chart,s=u.plotWidth,e=u.plotHeight,t=u.plotLeft,r=Math.round(u.chartWidth/3),a=C.center,x=a[2]/2,y=a[1],h=[[],[]],T=[0,0,0,0],Y=C.dataLabelPositioners,f,L,R,z=0;C.visible&&C.hasDataLabels?.()&&(o.forEach(Z=>{(Z.dataLabels||[]).forEach(n=>{n.shortened&&(n.attr({width:"auto"}).css({width:"auto",textOverflow:"clip"}),n.shortened=!1)})}),V.prototype.drawDataLabels.apply(C),o.forEach(Z=>{(Z.dataLabels||[]).forEach((n,l)=>{let c=a[2]/2,j=n.options,i=b(j?.distance||0,c);l===0&&h[Z.half].push(Z),!D(j?.style?.width)&&n.getBBox().width>r&&(n.css({width:Math.round(.7*r)+"px"}),n.shortened=!0),n.dataLabelPosition=this.getDataLabelPosition(Z,i),z=Math.max(z,i)})}),h.forEach((Z,n)=>{let l=Z.length,c=[],j,i,g=0,p;l&&(C.sortByAngle(Z,n-.5),z>0&&(j=Math.max(0,y-x-z),i=Math.min(y+x+z,u.plotHeight),Z.forEach(w=>{(w.dataLabels||[]).forEach(S=>{let B=S.dataLabelPosition;B&&B.distance>0&&(B.top=Math.max(0,y-x-B.distance),B.bottom=Math.min(y+x+B.distance,u.plotHeight),g=S.getBBox().height||21,S.lineHeight=u.renderer.fontMetrics(S.text||S).h+2*S.padding,w.distributeBox={target:(S.dataLabelPosition?.natural.y||0)-B.top+S.lineHeight/2,size:g,rank:w.y},c.push(w.distributeBox))})}),$(c,p=i+g-j,p/5)),Z.forEach(w=>{(w.dataLabels||[]).forEach(S=>{let B=S.options||{},F=w.distributeBox,U=S.dataLabelPosition,K=U?.natural.y||0,st=B.connectorPadding||0,rt=S.lineHeight||21,N=(rt-S.getBBox().height)/2,E=0,G=K,X="inherit";if(U){if(c&&D(F)&&U.distance>0&&(F.pos===void 0?X="hidden":(R=F.size,G=Y.radialDistributionY(w,S))),B.justify)E=Y.justify(w,S,x,a);else switch(B.alignTo){case"connectors":E=Y.alignToConnectors(Z,n,s,t);break;case"plotEdges":E=Y.alignToPlotEdges(S,n,s,t);break;default:E=Y.radialDistributionX(C,w,G-N,K,S)}if(U.attribs={visibility:X,align:U.alignment},U.posAttribs={x:E+(B.x||0)+({left:st,right:-st}[U.alignment]||0),y:G+(B.y||0)-rt/2},U.computed.x=E,U.computed.y=G-N,P(B.crop,!0)){let _;E-(L=S.getBBox().width)<st&&n===1?(_=Math.round(L-E+st),T[3]=Math.max(_,T[3])):E+L>s-st&&n===0&&(_=Math.round(E+L-s+st),T[1]=Math.max(_,T[1])),G-R/2<0?T[0]=Math.max(Math.round(-G+R/2),T[0]):G+R/2>e&&(T[2]=Math.max(Math.round(G+R/2-e),T[2])),U.sideOverflow=_}}})}))}),(v(T)===0||this.verifyDataLabelOverflow(T))&&(this.placeDataLabels(),this.points.forEach(Z=>{(Z.dataLabels||[]).forEach(n=>{let{connectorColor:l,connectorWidth:c=1}=n.options||{},j=n.dataLabelPosition;if(c){let i;f=n.connector,j&&j.distance>0?(i=!f,f||(n.connector=f=u.renderer.path().addClass("highcharts-data-label-connector highcharts-color-"+Z.colorIndex+(Z.className?" "+Z.className:"")).add(C.dataLabelsGroup)),u.styledMode||f.attr({"stroke-width":c,stroke:l||Z.color||"#666666"}),f[i?"attr":"animate"]({d:Z.getConnectorPath(n)}),f.attr({visibility:j.attribs?.visibility})):f&&(n.connector=f.destroy())}})})))}function W(){this.points.forEach(C=>{(C.dataLabels||[]).forEach(o=>{let u=o.dataLabelPosition;u?(u.sideOverflow&&(o.css({width:Math.max(o.getBBox().width-u.sideOverflow,0)+"px",textOverflow:(o.options?.style||{}).textOverflow||"ellipsis"}),o.shortened=!0),o.attr(u.attribs),o[o.moved?"animate":"attr"](u.posAttribs),o.moved=!0):o&&o.attr({y:-9999})}),delete C.distributeBox},this)}function O(C){let o=this.center,u=this.options,s=u.center,e=u.minSize||80,t=e,r=u.size!==null;return!r&&(s[0]!==null?t=Math.max(o[2]-Math.max(C[1],C[3]),e):(t=Math.max(o[2]-C[1]-C[3],e),o[0]+=(C[3]-C[1])/2),s[1]!==null?t=I(t,e,o[2]-Math.max(C[0],C[2])):(t=I(t,e,o[2]-C[0]-C[2]),o[1]+=(C[0]-C[2])/2),t<o[2]?(o[2]=t,o[3]=Math.min(u.thickness?Math.max(0,t-2*u.thickness):Math.max(0,b(u.innerSize||0,t)),t),this.translate(o),this.drawDataLabels&&this.drawDataLabels()):r=!0),r}k.compose=function(C){if(Q.compose(V),m(at,"PieDataLabel")){let o=C.prototype;o.dataLabelPositioners=A,o.alignDataLabel=q,o.drawDataLabels=M,o.getDataLabelPosition=d,o.placeDataLabels=W,o.verifyDataLabelOverflow=O}}}(ot||(ot={})),ot}),yt(H,"Core/Geometry/GeometryUtilities.js",[],function(){var Q,it;return(it=Q||(Q={})).getCenterOfPoints=function(ht){let dt=ht.reduce((lt,ot)=>(lt.x+=ot.x,lt.y+=ot.y,lt),{x:0,y:0});return{x:dt.x/ht.length,y:dt.y/ht.length}},it.getDistanceBetweenPoints=function(ht,dt){return Math.sqrt(Math.pow(dt.x-ht.x,2)+Math.pow(dt.y-ht.y,2))},it.getAngleBetweenPoints=function(ht,dt){return Math.atan2(dt.x-ht.x,dt.y-ht.y)},it.pointInPolygon=function({x:ht,y:dt},lt){let ot=lt.length,at,q,$=!1;for(at=0,q=ot-1;at<ot;q=at++){let[V,v]=lt[at],[I,D]=lt[q];v>dt!=D>dt&&ht<(I-V)*(dt-v)/(D-v)+V&&($=!$)}return $},Q}),yt(H,"Extensions/OverlappingDataLabels.js",[H["Core/Geometry/GeometryUtilities.js"],H["Core/Utilities.js"]],function(Q,it){let{pointInPolygon:ht}=Q,{addEvent:dt,fireEvent:lt,objectEach:ot,pick:at}=it;function q(v){let I=v.length,D=(W,O)=>!(O.x>=W.x+W.width||O.x+O.width<=W.x||O.y>=W.y+W.height||O.y+O.height<=W.y),P=(W,O)=>{for(let C of W)if(ht({x:C[0],y:C[1]},O))return!0;return!1},m,b,k,A,d,M=!1;for(let W=0;W<I;W++)(m=v[W])&&(m.oldOpacity=m.opacity,m.newOpacity=1,m.absoluteBox=function(O){if(O&&(!O.alignAttr||O.placed)){let C=O.box?0:O.padding||0,o=O.alignAttr||{x:O.attr("x"),y:O.attr("y")},u=O.getBBox();return O.width=u.width,O.height=u.height,{x:o.x+(O.parentGroup?.translateX||0)+C,y:o.y+(O.parentGroup?.translateY||0)+C,width:(O.width||0)-2*C,height:(O.height||0)-2*C,polygon:u?.polygon}}}(m));v.sort((W,O)=>(O.labelrank||0)-(W.labelrank||0));for(let W=0;W<I;++W){A=(b=v[W])&&b.absoluteBox;let O=A?.polygon;for(let C=W+1;C<I;++C){d=(k=v[C])&&k.absoluteBox;let o=!1;if(A&&d&&b!==k&&b.newOpacity!==0&&k.newOpacity!==0&&b.visibility!=="hidden"&&k.visibility!=="hidden"){let u=d.polygon;if(O&&u&&O!==u?P(O,u)&&(o=!0):D(A,d)&&(o=!0),o){let s=b.labelrank<k.labelrank?b:k,e=s.text;s.newOpacity=0,e?.element.querySelector("textPath")&&e.hide()}}}}for(let W of v)$(W,this)&&(M=!0);M&&lt(this,"afterHideAllOverlappingLabels")}function $(v,I){let D,P,m=!1;return v&&(P=v.newOpacity,v.oldOpacity!==P&&(v.hasClass("highcharts-data-label")?(v[P?"removeClass":"addClass"]("highcharts-data-label-hidden"),D=function(){I.styledMode||v.css({pointerEvents:P?"auto":"none"})},m=!0,v[v.isOld?"animate":"attr"]({opacity:P},void 0,D),lt(I,"afterHideOverlappingLabel")):v.attr({opacity:P})),v.isOld=!0),m}function V(){let v=this,I=[];for(let D of v.labelCollectors||[])I=I.concat(D());for(let D of v.yAxis||[])D.stacking&&D.options.stackLabels&&!D.options.stackLabels.allowOverlap&&ot(D.stacking.stacks,P=>{ot(P,m=>{m.label&&I.push(m.label)})});for(let D of v.series||[])if(D.visible&&D.hasDataLabels?.()){let P=m=>{for(let b of m)b.visible&&(b.dataLabels||[]).forEach(k=>{let A=k.options||{};k.labelrank=at(A.labelrank,b.labelrank,b.shapeArgs?.height),A.allowOverlap??Number(A.distance)>0?(k.oldOpacity=k.opacity,k.newOpacity=1,$(k,v)):I.push(k)})};P(D.nodes||[]),P(D.points)}this.hideOverlappingLabels(I)}return{compose:function(v){let I=v.prototype;I.hideOverlappingLabels||(I.hideOverlappingLabels=q,dt(v,"render",V))}}}),yt(H,"Extensions/BorderRadius.js",[H["Core/Defaults.js"],H["Core/Globals.js"],H["Core/Utilities.js"]],function(Q,it,ht){let{defaultOptions:dt}=Q,{noop:lt}=it,{addEvent:ot,extend:at,isObject:q,merge:$,relativeLength:V}=ht,v={radius:0,scope:"stack",where:void 0},I=lt,D=lt;function P(d,M,W,O,C={}){let o=I(d,M,W,O,C),{innerR:u=0,r:s=W,start:e=0,end:t=0}=C;if(C.open||!C.borderRadius)return o;let r=t-e,a=Math.sin(r/2),x=Math.max(Math.min(V(C.borderRadius||0,s-u),(s-u)/2,s*a/(1+a)),0),y=Math.min(x,r/Math.PI*2*u),h=o.length-1;for(;h--;)(function(T,Y,f){let L,R,z,Z=T[Y],n=T[Y+1];if(n[0]==="Z"&&(n=T[0]),(Z[0]==="M"||Z[0]==="L")&&n[0]==="A"?(L=Z,R=n,z=!0):Z[0]==="A"&&(n[0]==="M"||n[0]==="L")&&(L=n,R=Z),L&&R&&R.params){let l=R[1],c=R[5],j=R.params,{start:i,end:g,cx:p,cy:w}=j,S=c?l-f:l+f,B=S?Math.asin(f/S):0,F=c?B:-B,U=Math.cos(B)*S;z?(j.start=i+F,L[1]=p+U*Math.cos(i),L[2]=w+U*Math.sin(i),T.splice(Y+1,0,["A",f,f,0,0,1,p+l*Math.cos(j.start),w+l*Math.sin(j.start)])):(j.end=g-F,R[6]=p+l*Math.cos(j.end),R[7]=w+l*Math.sin(j.end),T.splice(Y+1,0,["A",f,f,0,0,1,p+U*Math.cos(g),w+U*Math.sin(g)])),R[4]=Math.abs(j.end-j.start)<Math.PI?0:1}})(o,h,h>1?y:x);return o}function m(){if(this.options.borderRadius&&!(this.chart.is3d&&this.chart.is3d())){let{options:d,yAxis:M}=this,W=d.stacking==="percent",O=dt.plotOptions?.[this.type]?.borderRadius,C=b(d.borderRadius,q(O)?O:{}),o=M.options.reversed;for(let u of this.points){let{shapeArgs:s}=u;if(u.shapeType==="roundedRect"&&s){let{width:e=0,height:t=0,y:r=0}=s,a=r,x=t;if(C.scope==="stack"&&u.stackTotal){let Y=M.translate(W?100:u.stackTotal,!1,!0,!1,!0),f=M.translate(d.threshold||0,!1,!0,!1,!0),L=this.crispCol(0,Math.min(Y,f),0,Math.abs(Y-f));a=L.y,x=L.height}let y=(u.negative?-1:1)*(o?-1:1)==-1,h=C.where;!h&&this.is("waterfall")&&Math.abs((u.yBottom||0)-(this.translatedThreshold||0))>this.borderWidth&&(h="all"),h||(h="end");let T=Math.min(V(C.radius,e),e/2,h==="all"?t/2:1/0)||0;h==="end"&&(y&&(a-=T),x+=T),at(s,{brBoxHeight:x,brBoxY:a,r:T})}}}}function b(d,M){return q(d)||(d={radius:d||0}),$(v,M,d)}function k(){let d=b(this.options.borderRadius);for(let M of this.points){let W=M.shapeArgs;W&&(W.borderRadius=V(d.radius,(W.r||0)-(W.innerR||0)))}}function A(d,M,W,O,C={}){let o=D(d,M,W,O,C),{r:u=0,brBoxHeight:s=O,brBoxY:e=M}=C,t=M-e,r=e+s-(M+O),a=t-u>-.1?0:u,x=r-u>-.1?0:u,y=Math.max(a&&t,0),h=Math.max(x&&r,0),T=[d+a,M],Y=[d+W-a,M],f=[d+W,M+a],L=[d+W,M+O-x],R=[d+W-x,M+O],z=[d+x,M+O],Z=[d,M+O-x],n=[d,M+a],l=(c,j)=>Math.sqrt(Math.pow(c,2)-Math.pow(j,2));if(y){let c=l(a,a-y);T[0]-=c,Y[0]+=c,f[1]=n[1]=M+a-y}if(O<a-y){let c=l(a,a-y-O);f[0]=L[0]=d+W-a+c,R[0]=Math.min(f[0],R[0]),z[0]=Math.max(L[0],z[0]),Z[0]=n[0]=d+a-c,f[1]=n[1]=M+O}if(h){let c=l(x,x-h);R[0]+=c,z[0]-=c,L[1]=Z[1]=M+O-x+h}if(O<x-h){let c=l(x,x-h-O);f[0]=L[0]=d+W-x+c,Y[0]=Math.min(f[0],Y[0]),T[0]=Math.max(L[0],T[0]),Z[0]=n[0]=d+x-c,L[1]=Z[1]=M}return o.length=0,o.push(["M",...T],["L",...Y],["A",a,a,0,0,1,...f],["L",...L],["A",x,x,0,0,1,...R],["L",...z],["A",x,x,0,0,1,...Z],["L",...n],["A",a,a,0,0,1,...T],["Z"]),o}return{compose:function(d,M,W){let O=d.types.pie;if(!M.symbolCustomAttribs.includes("borderRadius")){let C=W.prototype.symbols;ot(d,"afterColumnTranslate",m,{order:9}),ot(O,"afterTranslate",k),M.symbolCustomAttribs.push("borderRadius","brBoxHeight","brBoxY"),I=C.arc,D=C.roundedRect,C.arc=P,C.roundedRect=A}},optionsToObject:b}}),yt(H,"Core/Responsive.js",[H["Core/Utilities.js"]],function(Q){var it;let{diffObjects:ht,extend:dt,find:lt,merge:ot,pick:at,uniqueKey:q}=Q;return function($){function V(I,D){let P=I.condition;(P.callback||function(){return this.chartWidth<=at(P.maxWidth,Number.MAX_VALUE)&&this.chartHeight<=at(P.maxHeight,Number.MAX_VALUE)&&this.chartWidth>=at(P.minWidth,0)&&this.chartHeight>=at(P.minHeight,0)}).call(this)&&D.push(I._id)}function v(I,D){let P=this.options.responsive,m=this.currentResponsive,b=[],k;!D&&P&&P.rules&&P.rules.forEach(M=>{M._id===void 0&&(M._id=q()),this.matchResponsiveRule(M,b)},this);let A=ot(...b.map(M=>lt((P||{}).rules||[],W=>W._id===M)).map(M=>M&&M.chartOptions));A.isResponsiveOptions=!0,b=b.toString()||void 0;let d=m&&m.ruleIds;b===d||(m&&(this.currentResponsive=void 0,this.updatingResponsive=!0,this.update(m.undoOptions,I,!0),this.updatingResponsive=!1),b?((k=ht(A,this.options,!0,this.collectionsWithUpdate)).isResponsiveOptions=!0,this.currentResponsive={ruleIds:b,mergedOptions:A,undoOptions:k},this.updatingResponsive||this.update(A,I,!0)):this.currentResponsive=void 0)}$.compose=function(I){let D=I.prototype;return D.matchResponsiveRule||dt(D,{matchResponsiveRule:V,setResponsive:v}),I}}(it||(it={})),it}),yt(H,"masters/highcharts.src.js",[H["Core/Globals.js"],H["Core/Utilities.js"],H["Core/Defaults.js"],H["Core/Animation/Fx.js"],H["Core/Animation/AnimationUtilities.js"],H["Core/Renderer/HTML/AST.js"],H["Core/Templating.js"],H["Core/Renderer/RendererRegistry.js"],H["Core/Renderer/RendererUtilities.js"],H["Core/Renderer/SVG/SVGElement.js"],H["Core/Renderer/SVG/SVGRenderer.js"],H["Core/Renderer/HTML/HTMLElement.js"],H["Core/Axis/Axis.js"],H["Core/Axis/DateTimeAxis.js"],H["Core/Axis/LogarithmicAxis.js"],H["Core/Axis/PlotLineOrBand/PlotLineOrBand.js"],H["Core/Axis/Tick.js"],H["Core/Tooltip.js"],H["Core/Series/Point.js"],H["Core/Pointer.js"],H["Core/Legend/Legend.js"],H["Core/Legend/LegendSymbol.js"],H["Core/Chart/Chart.js"],H["Extensions/ScrollablePlotArea.js"],H["Core/Axis/Stacking/StackingAxis.js"],H["Core/Axis/Stacking/StackItem.js"],H["Core/Series/Series.js"],H["Core/Series/SeriesRegistry.js"],H["Series/Column/ColumnDataLabel.js"],H["Series/Pie/PieDataLabel.js"],H["Core/Series/DataLabel.js"],H["Extensions/OverlappingDataLabels.js"],H["Extensions/BorderRadius.js"],H["Core/Responsive.js"],H["Core/Color/Color.js"],H["Core/Time.js"]],function(Q,it,ht,dt,lt,ot,at,q,$,V,v,I,D,P,m,b,k,A,d,M,W,O,C,o,u,s,e,t,r,a,x,y,h,T,Y,f){return Q.AST=ot,Q.Axis=D,Q.Chart=C,Q.Color=Y,Q.DataLabel=x,Q.Fx=dt,Q.HTMLElement=I,Q.Legend=W,Q.LegendSymbol=O,Q.OverlappingDataLabels=Q.OverlappingDataLabels||y,Q.PlotLineOrBand=b,Q.Point=d,Q.Pointer=M,Q.RendererRegistry=q,Q.Series=e,Q.SeriesRegistry=t,Q.StackItem=s,Q.SVGElement=V,Q.SVGRenderer=v,Q.Templating=at,Q.Tick=k,Q.Time=f,Q.Tooltip=A,Q.animate=lt.animate,Q.animObject=lt.animObject,Q.chart=C.chart,Q.color=Y.parse,Q.dateFormat=at.dateFormat,Q.defaultOptions=ht.defaultOptions,Q.distribute=$.distribute,Q.format=at.format,Q.getDeferredAnimation=lt.getDeferredAnimation,Q.getOptions=ht.getOptions,Q.numberFormat=at.numberFormat,Q.seriesType=t.seriesType,Q.setAnimation=lt.setAnimation,Q.setOptions=ht.setOptions,Q.stop=lt.stop,Q.time=ht.defaultTime,Q.timers=dt.timers,h.compose(Q.Series,Q.SVGElement,Q.SVGRenderer),r.compose(Q.Series.types.column),x.compose(Q.Series),P.compose(Q.Axis),I.compose(Q.SVGRenderer),W.compose(Q.Chart),m.compose(Q.Axis),y.compose(Q.Chart),a.compose(Q.Series.types.pie),b.compose(Q.Chart,Q.Axis),M.compose(Q.Chart),T.compose(Q.Chart),o.compose(Q.Axis,Q.Chart,Q.Series),u.compose(Q.Axis,Q.Chart,Q.Series),A.compose(Q.Pointer),it.extend(Q,it),Q}),H["masters/highcharts.src.js"]._modules=H,H["masters/highcharts.src.js"]})});var ee=Kt((ne,Wt)=>{(function(kt){typeof Wt=="object"&&Wt.exports?(kt.default=kt,Wt.exports=kt):typeof define=="function"&&define.amd?define("highcharts/modules/no-data-to-display",["highcharts"],function(H){return kt(H),kt.Highcharts=H,kt}):kt(typeof Highcharts<"u"?Highcharts:void 0)})(function(kt){"use strict";var H=kt?kt._modules:{};function yt(Q,it,ht,dt){Q.hasOwnProperty(it)||(Q[it]=dt.apply(null,ht),typeof CustomEvent=="function"&&kt.win.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:it,module:Q[it]}})))}yt(H,"Extensions/NoDataToDisplay/NoDataDefaults.js",[],function(){return{lang:{noData:"No data to display"},noData:{attr:{zIndex:1},position:{x:0,y:0,align:"center",verticalAlign:"middle"},style:{fontWeight:"bold",fontSize:"0.8em",color:"#666666"}}}}),yt(H,"Extensions/NoDataToDisplay/NoDataToDisplay.js",[H["Core/Renderer/HTML/AST.js"],H["Extensions/NoDataToDisplay/NoDataDefaults.js"],H["Core/Utilities.js"]],function(Q,it,ht){let{addEvent:dt,extend:lt,merge:ot}=ht;function at(){let v=this.series||[],I=v.length;for(;I--;)if(v[I].hasData()&&!v[I].options.isInternal)return!0;return this.loadingShown}function q(){this.noDataLabel&&(this.noDataLabel=this.noDataLabel.destroy())}function $(v){let I=this.options,D=v||I&&I.lang.noData||"",P=I&&(I.noData||{});this.renderer&&(this.noDataLabel||(this.noDataLabel=this.renderer.label(D,0,0,void 0,void 0,void 0,P.useHTML,void 0,"no-data").add()),this.styledMode||this.noDataLabel.attr(Q.filterUserAttributes(P.attr||{})).css(P.style||{}),this.noDataLabel.align(lt(this.noDataLabel.getBBox(),P.position||{}),!1,"plotBox"))}function V(){this.hasData()?this.hideNoData():this.showNoData()}return{compose:function(v,I){let D=v.prototype;D.showNoData||(D.hasData=at,D.hideNoData=q,D.showNoData=$,dt(v,"render",V),ot(!0,I,it))}}}),yt(H,"masters/modules/no-data-to-display.src.js",[H["Core/Globals.js"],H["Extensions/NoDataToDisplay/NoDataToDisplay.js"]],function(Q,it){return it.compose(Q.Chart,Q.defaultOptions),Q})})});export{te as a,ee as b};