mada-design-system 0.0.9 → 0.0.10
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.
- package/dga.config.js +560 -0
- package/index.cjs.js +1 -1
- package/index.cjs10.js +1 -1
- package/index.cjs100.js +1 -2
- package/index.cjs101.js +1 -2
- package/index.cjs102.js +1 -1
- package/index.cjs103.js +1 -1
- package/index.cjs104.js +1 -1
- package/index.cjs105.js +1 -4
- package/index.cjs106.js +1 -1
- package/index.cjs107.js +1 -2
- package/index.cjs108.js +1 -1
- package/index.cjs109.js +1 -2
- package/index.cjs11.js +1 -1
- package/index.cjs110.js +1 -1
- package/index.cjs111.js +1 -1
- package/index.cjs112.js +1 -1
- package/index.cjs113.js +4 -1
- package/index.cjs114.js +1 -1
- package/index.cjs115.js +2 -1
- package/index.cjs116.js +1 -1
- package/index.cjs117.js +2 -20
- package/index.cjs118.js +1 -1
- package/index.cjs119.js +1 -1
- package/index.cjs12.js +1 -1
- package/index.cjs120.js +1 -1
- package/index.cjs121.js +1 -1
- package/index.cjs122.js +1 -1
- package/index.cjs123.js +1 -1
- package/index.cjs124.js +1 -1
- package/index.cjs125.js +20 -1
- package/index.cjs126.js +1 -1
- package/index.cjs127.js +1 -1
- package/index.cjs128.js +1 -1
- package/index.cjs129.js +1 -1
- package/index.cjs13.js +1 -1
- package/index.cjs130.js +1 -1
- package/index.cjs131.js +1 -1
- package/index.cjs132.js +1 -1
- package/index.cjs133.js +1 -1
- package/index.cjs134.js +1 -1
- package/index.cjs135.js +1 -1
- package/index.cjs136.js +1 -1
- package/index.cjs137.js +1 -1
- package/index.cjs138.js +1 -1
- package/index.cjs139.js +1 -1
- package/index.cjs140.js +1 -1
- package/index.cjs141.js +1 -1
- package/index.cjs142.js +1 -1
- package/index.cjs143.js +1 -1
- package/index.cjs144.js +1 -1
- package/index.cjs145.js +1 -1
- package/index.cjs146.js +1 -1
- package/index.cjs147.js +1 -4
- package/index.cjs148.js +1 -1
- package/index.cjs149.js +1 -1
- package/index.cjs15.js +1 -1
- package/index.cjs150.js +2 -1
- package/index.cjs151.js +2 -1
- package/index.cjs152.js +1 -1
- package/index.cjs153.js +1 -1
- package/index.cjs154.js +1 -1
- package/index.cjs155.js +1 -3
- package/index.cjs156.js +1 -1
- package/index.cjs157.js +1 -1
- package/index.cjs158.js +1 -1
- package/index.cjs159.js +1 -1
- package/index.cjs16.js +1 -1
- package/index.cjs160.js +1 -1
- package/index.cjs161.js +1 -1
- package/index.cjs162.js +1 -1
- package/index.cjs163.js +1 -1
- package/index.cjs164.js +1 -1
- package/index.cjs165.js +1 -1
- package/index.cjs166.js +1 -1
- package/index.cjs167.js +5 -1
- package/index.cjs168.js +1 -1
- package/index.cjs169.js +1 -1
- package/index.cjs17.js +1 -1
- package/index.cjs170.js +1 -1
- package/index.cjs171.js +1 -1
- package/index.cjs172.js +1 -1
- package/index.cjs173.js +1 -1
- package/index.cjs174.js +1 -1
- package/index.cjs175.js +1 -1
- package/index.cjs176.js +1 -1
- package/index.cjs177.js +4 -1
- package/index.cjs178.js +1 -1
- package/index.cjs179.js +1 -1
- package/index.cjs18.js +1 -1
- package/index.cjs180.js +1 -1
- package/index.cjs181.js +1 -1
- package/index.cjs182.js +1 -1
- package/index.cjs183.js +1 -1
- package/index.cjs184.js +1 -1
- package/index.cjs185.js +1 -1
- package/index.cjs186.js +1 -1
- package/index.cjs187.js +1 -1
- package/index.cjs188.js +4 -1
- package/index.cjs189.js +1 -1
- package/index.cjs19.js +1 -1
- package/index.cjs190.js +1 -1
- package/index.cjs191.js +1 -1
- package/index.cjs192.js +1 -1
- package/index.cjs193.js +1 -1
- package/index.cjs194.js +3 -1
- package/index.cjs195.js +1 -2
- package/index.cjs196.js +1 -1
- package/index.cjs197.js +1 -1
- package/index.cjs198.js +1 -1
- package/index.cjs199.js +1 -1
- package/index.cjs2.js +1 -1
- package/index.cjs20.js +1 -1
- package/index.cjs200.js +1 -1
- package/index.cjs201.js +1 -1
- package/index.cjs202.js +1 -1
- package/index.cjs203.js +1 -1
- package/index.cjs204.js +1 -1
- package/index.cjs205.js +1 -1
- package/index.cjs206.js +1 -1
- package/index.cjs207.js +1 -1
- package/index.cjs208.js +1 -1
- package/index.cjs209.js +1 -1
- package/index.cjs21.js +1 -1
- package/index.cjs210.js +1 -1
- package/index.cjs211.js +1 -2
- package/index.cjs212.js +1 -1
- package/index.cjs213.js +1 -1
- package/index.cjs214.js +1 -1
- package/index.cjs215.js +1 -1
- package/index.cjs216.js +1 -1
- package/index.cjs217.js +1 -1
- package/index.cjs218.js +1 -1
- package/index.cjs219.js +1 -1
- package/index.cjs22.js +1 -1
- package/index.cjs220.js +1 -1
- package/index.cjs221.js +1 -1
- package/index.cjs222.js +1 -1
- package/index.cjs223.js +1 -1
- package/index.cjs224.js +1 -1
- package/index.cjs225.js +1 -1
- package/index.cjs226.js +1 -1
- package/index.cjs227.js +1 -1
- package/index.cjs228.js +1 -1
- package/index.cjs229.js +1 -15
- package/index.cjs23.js +1 -1
- package/index.cjs230.js +1 -1
- package/index.cjs231.js +1 -1
- package/index.cjs232.js +1 -1
- package/index.cjs233.js +2 -1
- package/index.cjs234.js +1 -1
- package/index.cjs235.js +1 -1
- package/index.cjs236.js +1 -1
- package/index.cjs237.js +1 -1
- package/index.cjs238.js +1 -1
- package/index.cjs239.js +1 -1
- package/index.cjs24.js +1 -1
- package/index.cjs240.js +1 -1
- package/index.cjs241.js +1 -1
- package/index.cjs242.js +1 -1
- package/index.cjs243.js +1 -1
- package/index.cjs244.js +3 -1
- package/index.cjs245.js +2 -1
- package/index.cjs246.js +1 -1
- package/index.cjs247.js +1 -1
- package/index.cjs248.js +1 -1
- package/index.cjs249.js +2 -1
- package/index.cjs25.js +9 -1
- package/index.cjs250.js +1 -1
- package/index.cjs251.js +1 -3
- package/index.cjs252.js +1 -1
- package/index.cjs253.js +1 -1
- package/index.cjs254.js +1 -1
- package/index.cjs255.js +1 -1
- package/index.cjs256.js +1 -1
- package/index.cjs257.js +1 -1
- package/index.cjs258.js +1 -1
- package/index.cjs259.js +1 -1
- package/index.cjs26.js +1 -2
- package/index.cjs260.js +1 -1
- package/index.cjs261.js +1 -1
- package/index.cjs262.js +1 -1
- package/index.cjs263.js +1 -1
- package/index.cjs264.js +1 -1
- package/index.cjs265.js +2 -1
- package/index.cjs266.js +1 -1
- package/index.cjs267.js +16 -1
- package/index.cjs268.js +1 -1
- package/index.cjs269.js +1 -1
- package/index.cjs27.js +1 -1
- package/index.cjs270.js +2 -1
- package/index.cjs271.js +1 -1
- package/index.cjs272.js +1 -1
- package/index.cjs273.js +1 -1
- package/index.cjs274.js +1 -1
- package/index.cjs275.js +1 -1
- package/index.cjs276.js +1 -1
- package/index.cjs277.js +1 -1
- package/index.cjs278.js +1 -1
- package/index.cjs279.js +1 -1
- package/index.cjs28.js +1 -1
- package/index.cjs280.js +1 -1
- package/index.cjs281.js +1 -1
- package/index.cjs282.js +1 -1
- package/index.cjs283.js +1 -1
- package/index.cjs284.js +1 -1
- package/index.cjs285.js +1 -1
- package/index.cjs286.js +1 -1
- package/index.cjs287.js +1 -1
- package/index.cjs288.js +2 -1
- package/index.cjs289.js +3 -1
- package/index.cjs29.js +1 -1
- package/index.cjs290.js +1 -1
- package/index.cjs291.js +1 -1
- package/index.cjs292.js +1 -1
- package/index.cjs293.js +1 -1
- package/index.cjs294.js +1 -1
- package/index.cjs295.js +1 -1
- package/index.cjs296.js +1 -1
- package/index.cjs297.js +1 -1
- package/index.cjs298.js +1 -1
- package/index.cjs299.js +1 -1
- package/index.cjs3.js +1 -1
- package/index.cjs30.js +1 -1
- package/index.cjs300.js +1 -1
- package/index.cjs301.js +1 -1
- package/index.cjs302.js +1 -1
- package/index.cjs303.js +1 -1
- package/index.cjs304.js +1 -1
- package/index.cjs305.js +1 -1
- package/index.cjs306.js +1 -1
- package/index.cjs307.js +1 -1
- package/index.cjs308.js +1 -1
- package/index.cjs309.js +1 -1
- package/index.cjs31.js +1 -1
- package/index.cjs310.js +1 -1
- package/index.cjs311.js +1 -1
- package/index.cjs312.js +1 -1
- package/index.cjs313.js +1 -1
- package/index.cjs314.js +1 -1
- package/index.cjs315.js +2 -1
- package/index.cjs316.js +1 -1
- package/index.cjs317.js +1 -1
- package/index.cjs318.js +1 -1
- package/index.cjs319.js +1 -1
- package/index.cjs32.js +1 -1
- package/index.cjs320.js +1 -1
- package/index.cjs321.js +4 -1
- package/index.cjs322.js +1 -1
- package/index.cjs323.js +1 -1
- package/index.cjs324.js +1 -2
- package/index.cjs325.js +1 -1
- package/index.cjs326.js +1 -1
- package/index.cjs327.js +1 -1
- package/index.cjs328.js +1 -1
- package/index.cjs329.js +1 -1
- package/index.cjs33.js +1 -1
- package/index.cjs330.js +1 -1
- package/index.cjs331.js +1 -1
- package/index.cjs332.js +1 -1
- package/index.cjs333.js +1 -1
- package/index.cjs334.js +1 -1
- package/index.cjs335.js +1 -1
- package/index.cjs336.js +1 -1
- package/index.cjs337.js +1 -1
- package/index.cjs338.js +1 -1
- package/index.cjs339.js +1 -1
- package/index.cjs34.js +1 -1
- package/index.cjs340.js +1 -74
- package/index.cjs341.js +1 -1
- package/index.cjs342.js +1 -1
- package/index.cjs343.js +1 -1
- package/index.cjs344.js +1 -1
- package/index.cjs345.js +1 -1
- package/index.cjs346.js +1 -1
- package/index.cjs347.js +1 -1
- package/index.cjs348.js +1 -1
- package/index.cjs349.js +1 -1
- package/index.cjs35.js +5 -1
- package/index.cjs350.js +1 -1
- package/index.cjs351.js +1 -1
- package/index.cjs352.js +1 -1
- package/index.cjs353.js +1 -1
- package/index.cjs354.js +1 -1
- package/index.cjs355.js +1 -1
- package/index.cjs356.js +1 -1
- package/index.cjs357.js +1 -1
- package/index.cjs358.js +1 -1
- package/index.cjs359.js +1 -1
- package/index.cjs36.js +1 -1
- package/index.cjs360.js +1 -1
- package/index.cjs361.js +1 -1
- package/index.cjs362.js +5 -1
- package/index.cjs363.js +1 -1
- package/index.cjs364.js +1 -1
- package/index.cjs365.js +1 -1
- package/index.cjs366.js +1 -0
- package/index.cjs367.js +1 -0
- package/index.cjs368.js +1 -0
- package/index.cjs369.js +1 -0
- package/index.cjs37.js +1 -1
- package/index.cjs370.js +1 -0
- package/index.cjs371.js +1 -0
- package/index.cjs372.js +1 -0
- package/index.cjs373.js +74 -0
- package/index.cjs374.js +1 -0
- package/index.cjs375.js +1 -0
- package/index.cjs376.js +1 -0
- package/index.cjs377.js +1 -0
- package/index.cjs378.js +1 -0
- package/index.cjs379.js +1 -0
- package/index.cjs38.js +1 -1
- package/index.cjs380.js +1 -0
- package/index.cjs381.js +1 -0
- package/index.cjs382.js +1 -0
- package/index.cjs383.js +1 -0
- package/index.cjs384.js +1 -0
- package/index.cjs385.js +1 -0
- package/index.cjs386.js +1 -0
- package/index.cjs387.js +1 -0
- package/index.cjs388.js +1 -0
- package/index.cjs389.js +1 -0
- package/index.cjs39.js +1 -1
- package/index.cjs390.js +1 -0
- package/index.cjs391.js +1 -0
- package/index.cjs392.js +1 -0
- package/index.cjs393.js +1 -0
- package/index.cjs394.js +1 -0
- package/index.cjs395.js +1 -0
- package/index.cjs396.js +1 -0
- package/index.cjs397.js +1 -0
- package/index.cjs398.js +1 -0
- package/index.cjs399.js +1 -0
- package/index.cjs4.js +1 -1
- package/index.cjs40.js +1 -1
- package/index.cjs400.js +1 -0
- package/index.cjs401.js +1 -0
- package/index.cjs402.js +1 -0
- package/index.cjs403.js +1 -0
- package/index.cjs41.js +6 -1
- package/index.cjs42.js +1 -1
- package/index.cjs43.js +1 -1
- package/index.cjs44.js +1 -1
- package/index.cjs45.js +1 -4
- package/index.cjs46.js +9 -1
- package/index.cjs47.js +1 -1
- package/index.cjs48.js +7 -1
- package/index.cjs49.js +1 -1
- package/index.cjs5.js +1 -1
- package/index.cjs50.js +1 -1
- package/index.cjs51.js +1 -1
- package/index.cjs52.js +1 -1
- package/index.cjs53.js +7 -1
- package/index.cjs54.js +1 -1
- package/index.cjs55.js +1 -1
- package/index.cjs56.js +6 -4
- package/index.cjs57.js +1 -1
- package/index.cjs58.js +1 -1
- package/index.cjs59.js +1 -1
- package/index.cjs6.js +1 -1
- package/index.cjs60.js +1 -4
- package/index.cjs61.js +1 -1
- package/index.cjs62.js +11 -1
- package/index.cjs63.js +1 -1
- package/index.cjs64.js +1 -1
- package/index.cjs65.js +5 -1
- package/index.cjs66.js +11 -1
- package/index.cjs67.js +1 -1
- package/index.cjs68.js +33 -1
- package/index.cjs69.js +1 -1
- package/index.cjs7.js +1 -1
- package/index.cjs70.js +1 -1
- package/index.cjs71.js +1 -1
- package/index.cjs72.js +1 -1
- package/index.cjs73.js +1 -1
- package/index.cjs74.js +1 -1
- package/index.cjs75.js +1 -1
- package/index.cjs76.js +1 -1
- package/index.cjs77.js +1 -1
- package/index.cjs78.js +1 -1
- package/index.cjs79.js +1 -1
- package/index.cjs8.js +1 -1
- package/index.cjs80.js +1 -1
- package/index.cjs81.js +1 -1
- package/index.cjs82.js +1 -1
- package/index.cjs83.js +1 -1
- package/index.cjs84.js +1 -1
- package/index.cjs85.js +1 -1
- package/index.cjs86.js +1 -1
- package/index.cjs87.js +1 -1
- package/index.cjs88.js +1 -1
- package/index.cjs89.js +1 -1
- package/index.cjs9.js +2 -2
- package/index.cjs90.js +1 -5
- package/index.cjs91.js +1 -1
- package/index.cjs92.js +1 -1
- package/index.cjs93.js +1 -1
- package/index.cjs94.js +1 -1
- package/index.cjs95.js +1 -1
- package/index.cjs96.js +1 -1
- package/index.cjs97.js +4 -1
- package/index.cjs98.js +1 -1
- package/index.cjs99.js +5 -1
- package/index.es.d.ts +466 -72
- package/index.es.js +363 -322
- package/index.es10.js +91 -75
- package/index.es100.js +319 -5296
- package/index.es101.js +11 -115
- package/index.es102.js +4 -4
- package/index.es103.js +5 -5
- package/index.es104.js +7 -10
- package/index.es105.js +31 -2567
- package/index.es106.js +39 -142
- package/index.es107.js +17 -117
- package/index.es108.js +11 -137
- package/index.es109.js +11 -223
- package/index.es11.js +2 -2
- package/index.es110.js +11 -516
- package/index.es111.js +5 -5
- package/index.es112.js +11 -310
- package/index.es113.js +2569 -9
- package/index.es114.js +142 -12
- package/index.es115.js +117 -11
- package/index.es116.js +137 -11
- package/index.es117.js +218 -200
- package/index.es118.js +516 -11
- package/index.es119.js +310 -11
- package/index.es12.js +67 -82
- package/index.es120.js +5 -5
- package/index.es121.js +11 -22
- package/index.es122.js +5 -5
- package/index.es123.js +5 -5
- package/index.es124.js +11 -12
- package/index.es125.js +206 -11
- package/index.es126.js +11 -2323
- package/index.es127.js +5 -2152
- package/index.es128.js +11 -2
- package/index.es129.js +11 -11
- package/index.es13.js +5 -5
- package/index.es130.js +10 -470
- package/index.es131.js +10 -138
- package/index.es132.js +11 -6
- package/index.es133.js +11 -233
- package/index.es134.js +11 -54
- package/index.es135.js +2 -6
- package/index.es136.js +2 -2
- package/index.es137.js +4 -3
- package/index.es138.js +2 -31
- package/index.es139.js +2 -12
- package/index.es140.js +2 -2
- package/index.es141.js +11 -2
- package/index.es142.js +11 -18
- package/index.es143.js +10 -13
- package/index.es144.js +11 -8
- package/index.es145.js +3 -50
- package/index.es146.js +11 -2
- package/index.es147.js +11 -2261
- package/index.es148.js +11 -4
- package/index.es149.js +11 -8
- package/index.es15.js +182 -74
- package/index.es150.js +5299 -7
- package/index.es151.js +115 -11
- package/index.es152.js +10 -12
- package/index.es153.js +11 -13
- package/index.es154.js +22 -106
- package/index.es155.js +11 -25
- package/index.es156.js +11 -51
- package/index.es157.js +11 -370
- package/index.es158.js +11 -62
- package/index.es159.js +10 -47
- package/index.es16.js +49 -185
- package/index.es160.js +11 -6
- package/index.es161.js +11 -5
- package/index.es162.js +11 -47
- package/index.es163.js +470 -21
- package/index.es164.js +2323 -6
- package/index.es165.js +2152 -10
- package/index.es166.js +11 -11
- package/index.es167.js +154 -16
- package/index.es168.js +6 -230
- package/index.es169.js +3 -27
- package/index.es17.js +68 -41
- package/index.es170.js +5 -11
- package/index.es171.js +2 -279
- package/index.es172.js +229 -258
- package/index.es173.js +53 -16
- package/index.es174.js +456 -13
- package/index.es175.js +30 -20
- package/index.es176.js +12 -8
- package/index.es177.js +47 -5
- package/index.es178.js +4 -5
- package/index.es179.js +8 -5
- package/index.es18.js +52 -68
- package/index.es180.js +7 -2
- package/index.es181.js +17 -57
- package/index.es182.js +2 -57
- package/index.es183.js +2 -4
- package/index.es184.js +14 -2
- package/index.es185.js +8 -13
- package/index.es186.js +47 -22
- package/index.es187.js +2 -11
- package/index.es188.js +2259 -35
- package/index.es189.js +9 -1998
- package/index.es19.js +21 -51
- package/index.es190.js +12 -6
- package/index.es191.js +13 -72
- package/index.es192.js +14 -24
- package/index.es193.js +106 -2
- package/index.es194.js +25 -8
- package/index.es195.js +49 -325
- package/index.es196.js +367 -47
- package/index.es197.js +62 -30
- package/index.es198.js +46 -32
- package/index.es199.js +6 -53
- package/index.es20.js +128 -22
- package/index.es200.js +5 -119
- package/index.es201.js +47 -9
- package/index.es202.js +21 -162
- package/index.es203.js +6 -310
- package/index.es204.js +10 -127
- package/index.es205.js +9 -178
- package/index.es206.js +14 -23
- package/index.es207.js +230 -62
- package/index.es208.js +25 -5
- package/index.es209.js +11 -35
- package/index.es21.js +78 -138
- package/index.es210.js +278 -25
- package/index.es211.js +228 -152
- package/index.es212.js +17 -138
- package/index.es213.js +21 -2
- package/index.es214.js +7 -7
- package/index.es215.js +5 -2
- package/index.es216.js +5 -98
- package/index.es217.js +5 -26
- package/index.es218.js +2 -39
- package/index.es219.js +58 -2
- package/index.es22.js +251 -35
- package/index.es220.js +54 -66
- package/index.es221.js +3 -84
- package/index.es222.js +2 -48
- package/index.es223.js +11 -7
- package/index.es224.js +24 -4
- package/index.es225.js +9 -50
- package/index.es226.js +39 -2
- package/index.es227.js +1999 -59
- package/index.es228.js +6 -16
- package/index.es229.js +71 -243
- package/index.es23.js +12 -171
- package/index.es230.js +22 -71
- package/index.es231.js +2 -5
- package/index.es232.js +7 -57
- package/index.es233.js +328 -11
- package/index.es234.js +50 -6
- package/index.es235.js +30 -36
- package/index.es236.js +34 -27
- package/index.es237.js +53 -291
- package/index.es238.js +117 -89
- package/index.es239.js +9 -3
- package/index.es24.js +34 -12
- package/index.es240.js +163 -8
- package/index.es241.js +310 -16
- package/index.es242.js +124 -144
- package/index.es243.js +178 -36
- package/index.es244.js +29 -3
- package/index.es245.js +62 -10
- package/index.es246.js +5 -120
- package/index.es247.js +36 -7
- package/index.es248.js +25 -7
- package/index.es249.js +186 -8
- package/index.es25.js +50 -33
- package/index.es250.js +133 -346
- package/index.es251.js +2 -95
- package/index.es252.js +7 -9
- package/index.es253.js +2 -3
- package/index.es254.js +97 -205
- package/index.es255.js +25 -115
- package/index.es256.js +38 -6
- package/index.es257.js +2 -8
- package/index.es258.js +67 -14
- package/index.es259.js +85 -2
- package/index.es26.js +10 -22
- package/index.es260.js +42 -39
- package/index.es261.js +8 -51
- package/index.es262.js +5 -2
- package/index.es263.js +53 -2
- package/index.es264.js +2 -6
- package/index.es265.js +64 -22
- package/index.es266.js +16 -20
- package/index.es267.js +247 -30
- package/index.es268.js +74 -6
- package/index.es269.js +5 -3
- package/index.es27.js +106 -9
- package/index.es270.js +58 -6
- package/index.es271.js +10 -3
- package/index.es272.js +6 -18
- package/index.es273.js +34 -65
- package/index.es274.js +26 -15
- package/index.es275.js +291 -15
- package/index.es276.js +90 -3
- package/index.es277.js +3 -13
- package/index.es278.js +8 -143
- package/index.es279.js +14 -41
- package/index.es28.js +35 -107
- package/index.es280.js +147 -3
- package/index.es281.js +35 -38
- package/index.es282.js +3 -8
- package/index.es283.js +11 -76
- package/index.es284.js +119 -54
- package/index.es285.js +6 -7
- package/index.es286.js +8 -76
- package/index.es287.js +7 -23
- package/index.es288.js +349 -59
- package/index.es289.js +94 -4
- package/index.es29.js +69 -43
- package/index.es290.js +9 -58
- package/index.es291.js +3 -13
- package/index.es292.js +206 -4
- package/index.es293.js +115 -9
- package/index.es294.js +7 -55
- package/index.es295.js +8 -5
- package/index.es296.js +16 -17
- package/index.es297.js +2 -17
- package/index.es298.js +45 -17
- package/index.es299.js +56 -17
- package/index.es3.js +29 -13
- package/index.es30.js +118 -64
- package/index.es300.js +6 -17
- package/index.es301.js +24 -17
- package/index.es302.js +21 -17
- package/index.es303.js +31 -15
- package/index.es304.js +6 -336
- package/index.es305.js +6 -4
- package/index.es306.js +3 -5
- package/index.es307.js +3 -6
- package/index.es308.js +19 -19
- package/index.es309.js +66 -3
- package/index.es31.js +65 -117
- package/index.es310.js +15 -5
- package/index.es311.js +15 -3
- package/index.es312.js +3 -71
- package/index.es313.js +2 -4
- package/index.es314.js +2 -7
- package/index.es315.js +13 -29
- package/index.es316.js +143 -10
- package/index.es317.js +42 -7
- package/index.es318.js +3 -7
- package/index.es319.js +41 -2
- package/index.es32.js +53 -69
- package/index.es320.js +8 -2
- package/index.es321.js +79 -2
- package/index.es322.js +52 -63
- package/index.es323.js +7 -64
- package/index.es324.js +72 -74
- package/index.es325.js +22 -257
- package/index.es326.js +59 -29
- package/index.es327.js +5 -6
- package/index.es328.js +55 -128
- package/index.es329.js +15 -17
- package/index.es33.js +70 -53
- package/index.es330.js +4 -7
- package/index.es331.js +9 -10
- package/index.es332.js +55 -4
- package/index.es333.js +5 -9
- package/index.es334.js +17 -6
- package/index.es335.js +17 -4
- package/index.es336.js +17 -4
- package/index.es337.js +17 -46
- package/index.es338.js +17 -10
- package/index.es339.js +17 -2
- package/index.es34.js +1208 -69
- package/index.es340.js +17 -251
- package/index.es341.js +4 -7
- package/index.es342.js +5 -3
- package/index.es343.js +7 -2
- package/index.es344.js +336 -2
- package/index.es345.js +19 -174
- package/index.es346.js +4 -2
- package/index.es347.js +6 -2
- package/index.es348.js +3 -8
- package/index.es349.js +71 -6
- package/index.es35.js +55 -1203
- package/index.es350.js +4 -20
- package/index.es351.js +16 -51
- package/index.es352.js +6 -248
- package/index.es353.js +29 -42
- package/index.es354.js +9 -15
- package/index.es355.js +8 -10
- package/index.es356.js +6 -47
- package/index.es357.js +2 -26
- package/index.es358.js +2 -129
- package/index.es359.js +2 -112
- package/index.es36.js +33 -43
- package/index.es360.js +66 -2
- package/index.es361.js +65 -2
- package/index.es362.js +79 -72
- package/index.es363.js +258 -8
- package/index.es364.js +31 -3
- package/index.es365.js +6 -7
- package/index.es366.js +134 -0
- package/index.es367.js +17 -0
- package/index.es368.js +9 -0
- package/index.es369.js +8 -0
- package/index.es37.js +8 -35
- package/index.es370.js +6 -0
- package/index.es371.js +4 -0
- package/index.es372.js +4 -0
- package/index.es373.js +253 -0
- package/index.es374.js +10 -0
- package/index.es375.js +5 -0
- package/index.es376.js +13 -0
- package/index.es377.js +6 -0
- package/index.es378.js +11 -0
- package/index.es379.js +6 -0
- package/index.es38.js +245 -8
- package/index.es380.js +48 -0
- package/index.es381.js +12 -0
- package/index.es382.js +4 -0
- package/index.es383.js +176 -0
- package/index.es384.js +4 -0
- package/index.es385.js +4 -0
- package/index.es386.js +4 -0
- package/index.es387.js +4 -0
- package/index.es388.js +10 -0
- package/index.es389.js +9 -0
- package/index.es39.js +18 -245
- package/index.es390.js +22 -0
- package/index.es391.js +53 -0
- package/index.es392.js +251 -0
- package/index.es393.js +45 -0
- package/index.es394.js +18 -0
- package/index.es395.js +12 -0
- package/index.es396.js +50 -0
- package/index.es397.js +28 -0
- package/index.es398.js +131 -0
- package/index.es399.js +114 -0
- package/index.es4.js +68 -68
- package/index.es40.js +116 -18
- package/index.es400.js +75 -0
- package/index.es401.js +11 -0
- package/index.es402.js +6 -0
- package/index.es403.js +9 -0
- package/index.es41.js +235 -111
- package/index.es42.js +14 -80
- package/index.es43.js +278 -22
- package/index.es44.js +169 -33
- package/index.es45.js +148 -23
- package/index.es46.js +75 -27
- package/index.es47.js +159 -76
- package/index.es48.js +201 -83
- package/index.es49.js +48 -16
- package/index.es50.js +76 -140
- package/index.es51.js +20 -424
- package/index.es52.js +38 -6
- package/index.es53.js +39 -12
- package/index.es54.js +28 -28
- package/index.es55.js +68 -48
- package/index.es56.js +129 -41
- package/index.es57.js +16 -60
- package/index.es58.js +127 -70
- package/index.es59.js +424 -21
- package/index.es60.js +6 -37
- package/index.es61.js +12 -32
- package/index.es62.js +37 -20
- package/index.es63.js +48 -91
- package/index.es64.js +131 -21
- package/index.es65.js +75 -8
- package/index.es66.js +85 -67
- package/index.es67.js +34 -6
- package/index.es68.js +70 -4
- package/index.es69.js +34 -68
- package/index.es7.js +94 -110
- package/index.es70.js +21 -32
- package/index.es71.js +93 -48
- package/index.es72.js +22 -8
- package/index.es73.js +8 -16
- package/index.es74.js +68 -43
- package/index.es75.js +7 -4
- package/index.es76.js +6 -114
- package/index.es77.js +78 -4
- package/index.es78.js +32 -7
- package/index.es79.js +48 -28
- package/index.es8.js +2 -2
- package/index.es80.js +8 -11
- package/index.es81.js +16 -74
- package/index.es82.js +43 -72
- package/index.es83.js +4 -35
- package/index.es84.js +113 -9
- package/index.es85.js +5 -88
- package/index.es86.js +7 -21
- package/index.es87.js +28 -24
- package/index.es88.js +28 -1709
- package/index.es89.js +11 -35
- package/index.es9.js +49 -47
- package/index.es90.js +97 -2589
- package/index.es91.js +102 -320
- package/index.es92.js +34 -10
- package/index.es93.js +5 -5
- package/index.es94.js +87 -10
- package/index.es95.js +21 -8
- package/index.es96.js +23 -37
- package/index.es97.js +1712 -16
- package/index.es98.js +35 -11
- package/index.es99.js +2596 -11
- package/package.json +7 -3
- package/style.css +1 -1
- package/tailwind.config.cjs +192 -81
- package/tailwind.config.js +192 -81
- package/tsconfig.json +3 -9
package/index.cjs100.js
CHANGED
|
@@ -1,2 +1 @@
|
|
|
1
|
-
"use strict";const
|
|
2
|
-
- ${g}: ${F}`,y&&(h+=encodeURI(g)+"="+encodeURI(F))}),h+=T}u(tt,"displayError",{chart:r,code:e,message:h,params:a},function(){if(t)throw Error(h);lt.console&&nt.messages.indexOf(h)}),nt.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 w(e){return V(e)&&typeof e.nodeType=="number"}function R(e){let t=e&&e.constructor;return!!(V(e,!0)&&!w(e)&&t&&t.name&&t.name!=="Object")}function j(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,f=q(t)&&!P(r),y=(h,T)=>{P(h)?e.setAttribute(T,h):f?(a=e.getAttribute(T))||T!=="class"||(a=e.getAttribute(T+"Name")):e.removeAttribute(T)};return q(t)?y(r,t):v(t,y),a}function b(e){return $(e)?e:[e]}function S(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 p(e,t){S(e.style,t)}function C(e){return Math.pow(10,Math.floor(Math.log(e)/Math.LN10))}function G(e,t){return e>1e14?e:parseFloat(e.toPrecision(t||14))}(nt||(nt={})).messages=[],Math.easeInOutSine=function(e){return-.5*(Math.cos(Math.PI*e)-1)};let E=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 v(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 F=e.removeEventListener;F&&F.call(e,h,T,!1)}function f(h){let T,F;e.nodeName&&(t?(T={})[t]=!0:T=h,v(T,function(g,L){if(h[L])for(F=h[L].length;F--;)a(L,h[L][F].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(F){return r!==F.fn}),a(t,r)):(f(h),h[t]=[])}else f(h),delete y.hcEvents}}function u(e,t,r,a){if(r=r||{},ct.createEvent&&(e.dispatchEvent||e.fireEvent&&e!==tt)){let f=ct.createEvent("Events");f.initEvent(t,!0,!0),r=S(f,r),e.dispatchEvent?e.dispatchEvent(r):e.fireEvent(t,r)}else if(e.hcEvents){r.target||S(r,{preventDefault:function(){r.defaultPrevented=!0},target:e,type:t});let f=[],y=e,h=!1;for(;y.hcEvents;)Object.hasOwnProperty.call(y,"hcEvents")&&y.hcEvents[t]&&(f.length&&(h=!0),f.unshift.apply(f,y.hcEvents[t])),y=Object.getPrototypeOf(y);h&&f.sort((T,F)=>T.order-F.order),f.forEach(T=>{T.fn.call(e,r)===!1&&r.preventDefault()})}a&&!r.defaultPrevented&&a.call(e,r)}v({map:"map",each:"forEach",grep:"filter",reduce:"reduce",some:"some"},function(e,t){tt[t]=function(r){return nt(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-"+(et?"":e)+t++}}();return lt.jQuery&&(lt.jQuery.fn.highcharts=function(){let e=[].slice.call(arguments);if(this[0])return e[0]?(new tt[q(e[0])?e.shift():"Chart"](this[0],e[0],e[1]),this):dt[m(this[0],"data-highcharts-chart")]}),{addEvent:function(e,t,r,a={}){let f=typeof e=="function"&&e.prototype||e;Object.hasOwnProperty.call(f,"hcEvents")||(f.hcEvents={});let y=f.hcEvents;tt.Point&&e instanceof tt.Point&&e.series&&e.series.chart&&(e.series.chart.runTrackerClick=!0);let h=e.addEventListener;h&&h.call(e,t,r,!!tt.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((F,g)=>F.order-g.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:G,createElement:function(e,t,r,a,f){let y=ct.createElement(e);return t&&S(y,t),f&&p(y,{padding:"0",border:"none",margin:"0"}),r&&p(y,r),a&&a.appendChild(y),y},crisp:(e,t=0,r)=>{let a=t%2/2,f=r?-1:1;return(Math.round(e*f-a)+a)*f},css:p,defined:P,destroyObjectProperties:function(e,t,r){v(e,function(a,f){a!==t&&(a!=null&&a.destroy)&&a.destroy(),(a!=null&&a.destroy||!r)&&delete e[f]})},diffObjects:function(e,t,r,a){let f={};return function y(h,T,F,g){let L=r?T:h;v(h,function(I,W){if(!g&&a&&a.indexOf(W)>-1&&T[W]){I=b(I),F[W]=[];for(let J=0;J<Math.max(I.length,T[W].length);J++)T[W][J]&&(I[J]===void 0?F[W][J]=T[W][J]:(F[W][J]={},y(I[J],T[W][J],F[W][J],g+1)))}else V(I,!0)&&!I.nodeType?(F[W]=$(I)?[]:{},y(I,T[W]||{},F[W],g+1),Object.keys(F[W]).length!==0||W==="colorAxis"&&g===0||delete F[W]):(h[W]!==T[W]||W in h&&!(W in T))&&W!=="__proto__"&&W!=="constructor"&&(F[W]=L[W])})}(e,t,f,0),f},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:nt,extend:S,extendClass:function(e,t){let r=function(){};return r.prototype=new e,S(r.prototype,t),r},find:E,fireEvent:u,getClosestDistance:function(e,t){let r,a,f,y=!t;return e.forEach(h=>{if(h.length>1)for(f=h.length-1;f>0;f--)(a=h[f]-h[f-1])<0&&!y?(t==null||t(),t=void 0):a&&(r===void 0||a<r)&&(r=a)}),r},getMagnitude:C,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 f=t[a];if(!P(f)||typeof f=="function"||typeof f.nodeType=="number"||f===lt)return;t=f}return t},getStyle:function e(t,r,a){let f;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&&(f=y.getPropertyValue(r),A(a,r!=="opacity")&&(f=at(f))),f},inArray:function(e,t,r){return nt(32,!1,void 0,{"Highcharts.inArray":"use Array.indexOf"}),t.indexOf(e,r)},insertItem:function(e,t){let r,a=e.options.index,f=t.length;for(r=e.options.isInternal?f:0;r<f+1;r++)if(!t[r]||j(a)&&a<A(t[r].options.index,t[r]._i)||t[r].options.isInternal){t.splice(r,0,e);break}return r},isArray:$,isClass:R,isDOMElement:w,isFunction:function(e){return typeof e=="function"},isNumber:j,isObject:V,isString:q,keys:function(e){return nt(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={}),v(h,function(T,F){F!=="__proto__"&&F!=="constructor"&&(!V(T,!0)||R(T)||w(T)?y[F]=h[F]:y[F]=a(y[F]||{},T))}),y};t[0]===!0&&(r=t[1],t=Array.prototype.slice.call(t,2));let f=t.length;for(e=0;e<f;e++)r=a(r,t[e]);return r},normalizeTickInterval:function(e,t,r,a,f){let y,h=e;r=A(r,C(e));let T=e/r;for(!t&&(t=f?[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(F){return F%1==0}):r<=.1&&(t=[1/r]))),y=0;y<t.length&&(h=t[y],(!f||!(h*r>=e))&&(f||!(T<=(t[y]+(t[y+1]||t[y]))/2)));y++);return G(h*r,-Math.round(Math.log(.001)/Math.LN10))},objectEach:v,offset:function(e){let t=ct.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,f=e.length;for(a=0;a<f;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<f;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 et=A(e,et)},wrap:function(e,t,r){let a=e[t];e[t]=function(){let f=arguments,y=this;return r.apply(this,[function(){return a.apply(y,arguments.length?arguments:f)}].concat([].slice.call(arguments)))}}}}),yt(Y,"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(Y,"Core/Color/Palettes.js",[],function(){return{colors:["#2caffe","#544fc5","#00e272","#fe6a35","#6b8abc","#d568fb","#2ee0ca","#fa4b42","#feb56a","#91e8e1"]}}),yt(Y,"Core/Time.js",[Y["Core/Globals.js"],Y["Core/Utilities.js"]],function(tt,et){let{win:dt}=tt,{defined:ct,error:lt,extend:nt,isNumber:at,isObject:q,merge:$,objectEach:V,pad:w,pick:R,splat:j,timeUnits:P}=et,m=tt.isSafari&&dt.Intl&&dt.Intl.DateTimeFormat.prototype.formatRange,b=tt.isSafari&&dt.Intl&&!dt.Intl.DateTimeFormat.prototype.formatRange;class S{constructor(p){this.options={},this.useUTC=!1,this.variableTimezone=!1,this.Date=dt.Date,this.getTimezoneOffset=this.timezoneOffsetFunction(),this.update(p)}get(p,C){if(this.variableTimezone||this.timezoneOffset){let G=C.getTime(),E=G-this.getTimezoneOffset(C);C.setTime(E);let v=C["getUTC"+p]();return C.setTime(G),v}return this.useUTC?C["getUTC"+p]():C["get"+p]()}set(p,C,G){if(this.variableTimezone||this.timezoneOffset){if(p==="Milliseconds"||p==="Seconds"||p==="Minutes"&&this.getTimezoneOffset(C)%36e5==0)return C["setUTC"+p](G);let E=this.getTimezoneOffset(C),v=C.getTime()-E;C.setTime(v),C["setUTC"+p](G);let o=this.getTimezoneOffset(C);return v=C.getTime()+o,C.setTime(v)}return this.useUTC||m&&p==="FullYear"?C["setUTC"+p](G):C["set"+p](G)}update(p={}){let C=R(p.useUTC,!0);this.options=p=$(!0,this.options,p),this.Date=p.Date||dt.Date||Date,this.useUTC=C,this.timezoneOffset=C&&p.timezoneOffset||void 0,this.getTimezoneOffset=this.timezoneOffsetFunction(),this.variableTimezone=C&&!!(p.getTimezoneOffset||p.timezone)}makeTime(p,C,G,E,v,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(p,C,R(G,1),R(E,0),R(v,0),R(o,0)).getTime(),u}timezoneOffsetFunction(){let p=this,C=this.options,G=C.getTimezoneOffset;return this.useUTC?C.timezone?E=>{try{let v=`shortOffset,${C.timezone||""}`,[o,u,s,e,t=0]=(S.formatCache[v]=S.formatCache[v]||Intl.DateTimeFormat("en",{timeZone:C.timezone,timeZoneName:"shortOffset"})).format(E).split(/(GMT|:)/).map(Number),r=-(36e5*(s+t/60));if(at(r))return r}catch{lt(34)}return 0}:this.useUTC&&G?E=>6e4*G(E.valueOf()):()=>6e4*(p.timezoneOffset||0):E=>6e4*new Date(E.toString()).getTimezoneOffset()}dateFormat(p,C,G){if(!ct(C)||isNaN(C))return tt.defaultOptions.lang&&tt.defaultOptions.lang.invalidDate||"";p=R(p,"%Y-%m-%d %H:%M:%S");let E=this,v=new this.Date(C),o=this.get("Hours",v),u=this.get("Day",v),s=this.get("Date",v),e=this.get("Month",v),t=this.get("FullYear",v),r=tt.defaultOptions.lang,a=r&&r.weekdays,f=r&&r.shortWeekdays;return V(nt({a:f?f[u]:a[u].substr(0,3),A:a[u],d:w(s),e:w(s,2," "),w:u,b:r.shortMonths[e],B:r.months[e],m:w(e+1),o:e+1,y:t.toString().substr(2,2),Y:t,H:w(o),k:o,I:w(o%12||12),l:o%12||12,M:w(this.get("Minutes",v)),p:o<12?"AM":"PM",P:o<12?"am":"pm",S:w(this.get("Seconds",v)),L:w(Math.floor(C%1e3),3)},tt.dateFormats),function(y,h){for(;p.indexOf("%"+h)!==-1;)p=p.replace("%"+h,typeof y=="function"?y.call(E,C):y)}),G?p.substr(0,1).toUpperCase()+p.substr(1):p}resolveDTLFormat(p){return q(p,!0)?p:{main:(p=j(p))[0],from:p[1],to:p[2]}}getTimeTicks(p,C,G,E){let v,o,u,s,e=this,t=e.Date,r=[],a={},f=new t(C),y=p.unitRange,h=p.count||1;if(E=R(E,1),ct(C)){e.set("Milliseconds",f,y>=P.second?0:h*Math.floor(e.get("Milliseconds",f)/h)),y>=P.second&&e.set("Seconds",f,y>=P.minute?0:h*Math.floor(e.get("Seconds",f)/h)),y>=P.minute&&e.set("Minutes",f,y>=P.hour?0:h*Math.floor(e.get("Minutes",f)/h)),y>=P.hour&&e.set("Hours",f,y>=P.day?0:h*Math.floor(e.get("Hours",f)/h)),y>=P.day&&e.set("Date",f,y>=P.month?1:Math.max(1,h*Math.floor(e.get("Date",f)/h))),y>=P.month&&(e.set("Month",f,y>=P.year?0:h*Math.floor(e.get("Month",f)/h)),o=e.get("FullYear",f)),y>=P.year&&(o-=o%h,e.set("FullYear",f,o)),y===P.week&&(s=e.get("Day",f),e.set("Date",f,e.get("Date",f)-s+E+(s<E?-7:0))),o=e.get("FullYear",f);let T=e.get("Month",f),F=e.get("Date",f),g=e.get("Hours",f);C=f.getTime(),(e.variableTimezone||!e.useUTC)&&ct(G)&&(u=G-C>4*P.month||e.getTimezoneOffset(C)!==e.getTimezoneOffset(G));let L=f.getTime();for(v=1;L<G;)r.push(L),y===P.year?L=e.makeTime(o+v*h,0):y===P.month?L=e.makeTime(o,T+v*h):u&&(y===P.day||y===P.week)?L=e.makeTime(o,T,F+v*h*(y===P.day?1:7)):u&&y===P.hour&&h>1?L=e.makeTime(o,T,F,g+v*h):L+=y*h,v++;r.push(L),y<=P.hour&&r.length<1e4&&r.forEach(function(I){I%18e5==0&&e.dateFormat("%H%M%S%L",I)==="000000000"&&(a[I]="day")})}return r.info=nt(p,{higherRanks:a,totalRange:y*h}),r}getDateFormat(p,C,G,E){let v=this.dateFormat("%m-%d %H:%M:%S.%L",C),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(p===P.week&&+this.dateFormat("%w",C)===G&&v.substr(6)===o.substr(6)){s="week";break}if(P[s]>p){s=e;break}if(u[s]&&v.substr(u[s])!==o.substr(u[s]))break;s!=="week"&&(e=s)}return this.resolveDTLFormat(E[s]).main}}return S.formatCache={},S}),yt(Y,"Core/Defaults.js",[Y["Core/Chart/ChartDefaults.js"],Y["Core/Globals.js"],Y["Core/Color/Palettes.js"],Y["Core/Time.js"],Y["Core/Utilities.js"]],function(tt,et,dt,ct,lt){let{isTouchDevice:nt}=et,{fireEvent:at,merge:q}=lt,$={colors:dt.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:tt,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:w=>Math.sqrt(1-Math.pow(w-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:nt?25:10,headerFormat:'<span style="font-size: 0.8em">{point.key}</span><br/>',pointFormat:'<span style="color:{point.color}">●</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 ct($.time);return{defaultOptions:$,defaultTime:V,getOptions:function(){return $},setOptions:function(w){return at(et,"setOptions",{options:w}),q(!0,$,w),(w.time||w.global)&&(et.time?et.time.update(q($.global,$.time,w.global,w.time)):et.time=V),$}}}),yt(Y,"Core/Color/Color.js",[Y["Core/Globals.js"],Y["Core/Utilities.js"]],function(tt,et){let{isNumber:dt,merge:ct,pInt:lt}=et;class nt{static parse(q){return q?new nt(q):nt.None}constructor(q){let $,V,w,R;this.rgba=[NaN,NaN,NaN,NaN],this.input=q;let j=tt.Color;if(j&&j!==nt)return new j(q);if(typeof q=="object"&&q.stops!==void 0)this.stops=q.stops.map(P=>new nt(P[1]));else if(typeof q=="string"){if(this.input=q=nt.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(w=nt.parsers.length;w--&&!V;)($=(R=nt.parsers[w]).regex.exec(q))&&(V=R.parse($))}V&&(this.rgba=V)}get(q){let $=this.input,V=this.rgba;if(typeof $=="object"&&this.stops!==void 0){let w=ct($);return w.stops=[].slice.call(w.stops),this.stops.forEach((R,j)=>{w.stops[j]=[w.stops[j][0],R.get(q)]}),w}return V&&dt(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(dt(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,w=q.rgba;if(!dt(V[0])||!dt(w[0]))return q.input||"none";let R=w[3]!==1||V[3]!==1;return(R?"rgba(":"rgb(")+Math.round(w[0]+(V[0]-w[0])*(1-$))+","+Math.round(w[1]+(V[1]-w[1])*(1-$))+","+Math.round(w[2]+(V[2]-w[2])*(1-$))+(R?","+(w[3]+(V[3]-w[3])*(1-$)):"")+")"}}return nt.names={white:"#ffffff",black:"#000000"},nt.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]}}],nt.None=new nt(""),nt}),yt(Y,"Core/Animation/Fx.js",[Y["Core/Color/Color.js"],Y["Core/Globals.js"],Y["Core/Utilities.js"]],function(tt,et,dt){let{parse:ct}=tt,{win:lt}=et,{isNumber:nt,objectEach:at}=dt;class q{constructor(V,w,R){this.pos=NaN,this.options=w,this.elem=V,this.prop=R}dSetter(){let V=this.paths,w=V&&V[0],R=V&&V[1],j=this.now||0,P=[];if(j!==1&&w&&R)if(w.length===R.length&&j<1)for(let m=0;m<R.length;m++){let b=w[m],S=R[m],A=[];for(let p=0;p<S.length;p++){let C=b[p],G=S[p];nt(C)&&nt(G)&&!(S[0]==="A"&&(p===4||p===5))?A[p]=C+j*(G-C):A[p]=G}P.push(A)}else P=R;else P=this.toD||[];this.elem.attr("d",P,void 0,!0)}update(){let V=this.elem,w=this.prop,R=this.now,j=this.options.step;this[w+"Setter"]?this[w+"Setter"]():V.attr?V.element&&V.attr(w,R,null,!0):V.style[w]=R+this.unit,j&&j.call(V,R,this)}run(V,w,R){let j=this,P=j.options,m=function(A){return!m.stopped&&j.step(A)},b=lt.requestAnimationFrame||function(A){setTimeout(A,13)},S=function(){for(let A=0;A<q.timers.length;A++)q.timers[A]()||q.timers.splice(A--,1);q.timers.length&&b(S)};V!==w||this.elem["forceAnimate:"+this.prop]?(this.startTime=+new Date,this.start=V,this.end=w,this.unit=R,this.now=this.start,this.pos=0,m.elem=this.elem,m.prop=this.prop,m()&&q.timers.push(m)===1&&b(S)):(delete P.curAnim[this.prop],P.complete&&Object.keys(P.curAnim).length===0&&P.complete.call(this.elem))}step(V){let w,R,j=+new Date,P=this.options,m=this.elem,b=P.complete,S=P.duration,A=P.curAnim;return m.attr&&!m.element?w=!1:V||j>=S+this.startTime?(this.now=this.end,this.pos=1,this.update(),A[this.prop]=!0,R=!0,at(A,function(p){p!==!0&&(R=!1)}),R&&b&&b.call(m),w=!1):(this.pos=P.easing((j-this.startTime)/S),this.now=this.start+(this.end-this.start)*this.pos,this.update(),w=!0),w}initPath(V,w,R){let j=V.startX,P=V.endX,m=R.slice(),b=V.isArea,S=b?2:1,A=w&&R.length>w.length&&R.hasStackedCliffs,p,C,G,E,v=w&&w.slice();if(!v||A)return[m,m];function o(s,e){for(;s.length<C;){let t=s[0],r=e[C-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<C;){let e=s[Math.floor(s.length/S)-1].slice();if(e[0]==="C"&&(e[1]=e[5],e[2]=e[6]),b){let t=s[Math.floor(s.length/S)].slice();s.splice(s.length/2,0,e,t)}else s.push(e)}}if(j&&P&&P.length){for(G=0;G<j.length;G++){if(j[G]===P[0]){p=G;break}if(j[0]===P[P.length-j.length+G]){p=G,E=!0;break}if(j[j.length-1]===P[P.length-j.length+G]){p=j.length-G;break}}p===void 0&&(v=[])}return v.length&&nt(p)&&(C=m.length+p*S,E?(o(v,m),u(m)):(o(m,v),u(v))),[v,m]}fillSetter(){q.prototype.strokeSetter.apply(this,arguments)}strokeSetter(){this.elem.attr(this.prop,ct(this.start).tweenTo(ct(this.end),this.pos),void 0,!0)}}return q.timers=[],q}),yt(Y,"Core/Animation/AnimationUtilities.js",[Y["Core/Animation/Fx.js"],Y["Core/Utilities.js"]],function(tt,et){let{defined:dt,getStyle:ct,isArray:lt,isNumber:nt,isObject:at,merge:q,objectEach:$,pick:V}=et;function w(j){return at(j)?q({duration:500,defer:0},j):{duration:j?500:0,defer:0}}function R(j,P){let m=tt.timers.length;for(;m--;)tt.timers[m].elem!==j||P&&P!==tt.timers[m].prop||(tt.timers[m].stopped=!0)}return{animate:function(j,P,m){let b,S="",A,p,C;at(m)||(C=arguments,m={duration:C[2],easing:C[3],complete:C[4]}),nt(m.duration)||(m.duration=400),m.easing=typeof m.easing=="function"?m.easing:Math[m.easing]||Math.easeInOutSine,m.curAnim=q(P),$(P,function(G,E){R(j,E),p=new tt(j,m,E),A=void 0,E==="d"&<(P.d)?(p.paths=p.initPath(j,j.pathArray,P.d),p.toD=P.d,b=0,A=1):j.attr?b=j.attr(E):(b=parseFloat(ct(j,E))||0,E!=="opacity"&&(S="px")),A||(A=G),typeof A=="string"&&A.match("px")&&(A=A.replace(/px/g,"")),p.run(b,A,S)})},animObject:w,getDeferredAnimation:function(j,P,m){let b=w(P),S=m?[m]:j.series,A=0,p=0;return S.forEach(C=>{let G=w(C.options.animation);A=at(P)&&dt(P.defer)?b.defer:Math.max(A,G.duration+G.defer),p=Math.min(b.duration,G.duration)}),j.renderer.forExport&&(A=0),{defer:Math.max(0,A-p),duration:Math.min(A,p)}},setAnimation:function(j,P){P.renderer.globalAnimation=V(j,P.options.chart.animation,!0)},stop:R}}),yt(Y,"Core/Renderer/HTML/AST.js",[Y["Core/Globals.js"],Y["Core/Utilities.js"]],function(tt,et){let{SVG_NS:dt,win:ct}=tt,{attr:lt,createElement:nt,css:at,error:q,isFunction:$,isString:V,objectEach:w,splat:R}=et,{trustedTypes:j}=ct,P=j&&$(j.createPolicy)&&j.createPolicy("highcharts",{createHTML:A=>A}),m=P?P.createHTML(""):"",b=function(){try{return!!new DOMParser().parseFromString(m,"text/html")}catch{return!1}}();class S{static filterUserAttributes(p){return w(p,(C,G)=>{let E=!0;S.allowedAttributes.indexOf(G)===-1&&(E=!1),["background","dynsrc","href","lowsrc","src"].indexOf(G)!==-1&&(E=V(C)&&S.allowedReferences.some(v=>C.indexOf(v)===0)),E||(q(33,!1,void 0,{"Invalid attribute in config":`${G}`}),delete p[G]),V(C)&&p[G]&&(p[G]=C.replace(/</g,"<"))}),p}static parseStyle(p){return p.split(";").reduce((C,G)=>{let E=G.split(":").map(o=>o.trim()),v=E.shift();return v&&E.length&&(C[v.replace(/-([a-z])/g,o=>o[1].toUpperCase())]=E.join(":")),C},{})}static setElementHTML(p,C){p.innerHTML=S.emptyHTML,C&&new S(C).addToDOM(p)}constructor(p){this.nodes=typeof p=="string"?this.parseMarkup(p):p}addToDOM(p){return function C(G,E){let v;return R(G).forEach(function(o){let u,s=o.tagName,e=o.textContent?tt.doc.createTextNode(o.textContent):void 0,t=S.bypassHTMLFiltering;if(s)if(s==="#text")u=e;else if(S.allowedTags.indexOf(s)!==-1||t){let r=s==="svg"?dt:E.namespaceURI||dt,a=tt.doc.createElementNS(r,s),f=o.attributes||{};w(o,function(y,h){h!=="tagName"&&h!=="attributes"&&h!=="children"&&h!=="style"&&h!=="textContent"&&(f[h]=y)}),lt(a,t?f:S.filterUserAttributes(f)),o.style&&at(a,o.style),e&&a.appendChild(e),C(o.children||[],a),u=a}else q(33,!1,void 0,{"Invalid tagName in config":s});u&&E.appendChild(u),v=u}),v}(this.nodes,p)}parseMarkup(p){let C,G=[];if(p=p.trim().replace(/ style=(["'])/g," data-style=$1"),b)C=new DOMParser().parseFromString(P?P.createHTML(p):p,"text/html");else{let v=nt("div");v.innerHTML=p,C={body:v}}let E=(v,o)=>{let u=v.nodeName.toLowerCase(),s={tagName:u};u==="#text"&&(s.textContent=v.textContent||"");let e=v.attributes;if(e){let t={};[].forEach.call(e,r=>{r.name==="data-style"?s.style=S.parseStyle(r.value):t[r.name]=r.value}),s.attributes=t}if(v.childNodes.length){let t=[];[].forEach.call(v.childNodes,r=>{E(r,t)}),t.length&&(s.children=t)}o.push(s)};return[].forEach.call(C.body.childNodes,v=>E(v,G)),G}}return S.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"],S.allowedReferences=["https://","http://","mailto:","/","../","./","#"],S.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"],S.emptyHTML=m,S.bypassHTMLFiltering=!1,S}),yt(Y,"Core/Templating.js",[Y["Core/Defaults.js"],Y["Core/Utilities.js"]],function(tt,et){let{defaultOptions:dt,defaultTime:ct}=tt,{extend:lt,getNestedProperty:nt,isArray:at,isNumber:q,isObject:$,pick:V,pInt:w}=et,R={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((S,A)=>j(b.body,lt($(S)?S:{"@this":S},{"@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 j(m="",b,S){let A=/\{([\w\:\.\,;\-\/<>%@"'’= #\(\)]+)\}/g,p=/\(([\w\:\.\,;\-\/<>%@"'= ]+)\)/g,C=[],G=/f$/,E=/\.(\d)/,v=dt.lang,o=S&&S.time||ct,u=S&&S.numberFormatter||P,s=(f="")=>{let y;return f==="true"||f!=="false"&&((y=Number(f)).toString()===f?y:nt(f,b))},e,t,r=0,a;for(;(e=A.exec(m))!==null;){let f=p.exec(e[1]);f&&(e=f,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("#","");R[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,F=m.substr(T,e.index-T);t.body===void 0?(t.body=F,t.startInner=e.index+e[0].length):t.elseBody=F,t.find+=F+e[0],h||(C.push(t),t=void 0)}else t.isBlock||C.push(t);if(f&&!(t!=null&&t.isBlock))break}return C.forEach(f=>{let y,h,{body:T,elseBody:F,expression:g,fn:L}=f;if(L){let I=[f],W=g.split(" ");for(h=R[L].length;h--;)I.unshift(s(W[h+1]));y=R[L].apply(b,I),f.isBlock&&typeof y=="boolean"&&(y=j(y?T:F,b,S))}else{let I=g.split(":");if(y=s(I.shift()||""),I.length&&typeof y=="number"){let W=I.join(":");if(G.test(W)){let J=parseInt((W.match(E)||["","-1"])[1],10);y!==null&&(y=u(y,J,v.decimalPoint,W.indexOf(",")>-1?v.thousandsSep:""))}else y=o.dateFormat(W,y)}}m=m.replace(f.find,V(y,""))}),a?j(m,b,S):m}function P(m,b,S,A){let p,C;m=+m||0,b=+b;let G=dt.lang,E=(m.toString().split(".")[1]||"").split("e")[0].length,v=m.toString().split("e"),o=b;b===-1?b=Math.min(E,20):q(b)?b&&v[1]&&v[1]<0&&((C=b+ +v[1])>=0?(v[0]=(+v[0]).toExponential(C).split("e")[0],b=C):(v[0]=v[0].split(".")[0]||0,m=b<20?(v[0]*Math.pow(10,v[1])).toFixed(b):0,v[1]=0)):b=2;let u=(Math.abs(v[1]?v[0]:m)+Math.pow(10,-Math.max(b,E)-1)).toFixed(b),s=String(w(u)),e=s.length>3?s.length%3:0;return S=V(S,G.decimalPoint),A=V(A,G.thousandsSep),p=(m<0?"-":"")+(e?s.substr(0,e)+A:""),0>+v[1]&&!o?p="0":p+=s.substr(e).replace(/(\d{3})(?=\d)/g,"$1"+A),b?p+=S+u.slice(-b):+p==0&&(p="0"),v[1]&&+p!=0&&(p+="e"+v[1]),p}return{dateFormat:function(m,b,S){return ct.dateFormat(m,b,S)},format:j,helpers:R,numberFormat:P}}),yt(Y,"Core/Renderer/RendererRegistry.js",[Y["Core/Globals.js"]],function(tt){var et,dt;let ct;return(dt=et||(et={})).rendererTypes={},dt.getRendererType=function(lt=ct){return dt.rendererTypes[lt]||dt.rendererTypes[ct]},dt.registerRendererType=function(lt,nt,at){dt.rendererTypes[lt]=nt,(!ct||at)&&(ct=lt,tt.Renderer=nt)},et}),yt(Y,"Core/Renderer/RendererUtilities.js",[Y["Core/Utilities.js"]],function(tt){var et;let{clamp:dt,pick:ct,pushUnique:lt,stableSort:nt}=tt;return(et||(et={})).distribute=function at(q,$,V){let w=q,R=w.reducedLen||$,j=(s,e)=>s.target-e.target,P=[],m=q.length,b=[],S=P.push,A,p,C,G=!0,E,v,o=0,u;for(A=m;A--;)o+=q[A].size;if(o>R){for(nt(q,(s,e)=>(e.rank||0)-(s.rank||0)),C=(u=q[0].rank===q[q.length-1].rank)?m/2:-1,p=u?C:m-1;C&&o>R;)E=q[A=Math.floor(p)],lt(b,A)&&(o-=E.size),p+=C,u&&p>=q.length&&(C/=2,p=C);b.sort((s,e)=>e-s).forEach(s=>S.apply(P,q.splice(s,1)))}for(nt(q,j),q=q.map(s=>({size:s.size,targets:[s.target],align:ct(s.align,.5)}));G;){for(A=q.length;A--;)E=q[A],v=(Math.min.apply(0,E.targets)+Math.max.apply(0,E.targets))/2,E.pos=dt(v-E.size*E.align,0,$-E.size);for(A=q.length,G=!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),G=!0)}return S.apply(w,P),A=0,q.some(s=>{let e=0;return(s.targets||[]).some(()=>(w[A].pos=s.pos+e,V!==void 0&&Math.abs(w[A].pos-w[A].target)>V?(w.slice(0,A+1).forEach(t=>delete t.pos),w.reducedLen=(w.reducedLen||$)-.1*$,w.reducedLen>.1*$&&at(w,$,V),!0):(e+=w[A].size,A++,!1)))}),nt(w,j),w},et}),yt(Y,"Core/Renderer/SVG/SVGElement.js",[Y["Core/Animation/AnimationUtilities.js"],Y["Core/Color/Color.js"],Y["Core/Globals.js"],Y["Core/Utilities.js"]],function(tt,et,dt,ct){let{animate:lt,animObject:nt,stop:at}=tt,{deg2rad:q,doc:$,svg:V,SVG_NS:w,win:R}=dt,{addEvent:j,attr:P,createElement:m,crisp:b,css:S,defined:A,erase:p,extend:C,fireEvent:G,isArray:E,isFunction:v,isObject:o,isString:u,merge:s,objectEach:e,pick:t,pInt:r,pushUnique:a,replaceNested:f,syncTimeout:y,uniqueKey:h}=ct;class T{_defaultGetter(g){let L=t(this[g+"Value"],this[g],this.element?this.element.getAttribute(g):null,0);return/^-?[\d\.]+$/.test(L)&&(L=parseFloat(L)),L}_defaultSetter(g,L,I){I.setAttribute(L,g)}add(g){let L,I=this.renderer,W=this.element;return g&&(this.parentGroup=g),this.textStr!==void 0&&this.element.nodeName==="text"&&I.buildText(this),this.added=!0,(!g||g.handleZ||this.zIndex)&&(L=this.zIndexSetter()),L||(g?g.element:I.box).appendChild(W),this.onAdd&&this.onAdd(),this}addClass(g,L){let I=L?"":this.attr("class")||"";return(g=(g||"").split(/ /g).reduce(function(W,J){return I.indexOf(J)===-1&&W.push(J),W},I?[I]:[]).join(" "))!==I&&this.attr("class",g),this}afterSetters(){this.doTransform&&(this.updateTransform(),this.doTransform=!1)}align(g,L,I,W=!0){let J,l,n,x,D={},i=this.renderer,c=i.alignedObjects,d=!!g;g?(this.alignOptions=g,this.alignByTranslate=L,this.alignTo=I):(g=this.alignOptions||{},L=this.alignByTranslate,I=this.alignTo);let M=!I||u(I)?I||"renderer":void 0;M&&(d&&a(c,this),I=void 0);let k=t(I,i[M],i),B=g.align,H=g.verticalAlign;return J=(k.x||0)+(g.x||0),l=(k.y||0)+(g.y||0),B==="right"?n=1:B==="center"&&(n=2),n&&(J+=((k.width||0)-(g.width||0))/n),D[L?"translateX":"x"]=Math.round(J),H==="bottom"?x=1:H==="middle"&&(x=2),x&&(l+=((k.height||0)-(g.height||0))/x),D[L?"translateY":"y"]=Math.round(l),W&&(this[this.placed?"animate":"attr"](D),this.placed=!0),this.alignAttr=D,this}alignSetter(g){let L={left:"start",center:"middle",right:"end"};L[g]&&(this.alignValue=g,this.element.setAttribute("text-anchor",L[g]))}animate(g,L,I){let W=nt(t(L,this.renderer.globalAnimation,!0)),J=W.defer;return $.hidden&&(W.duration=0),W.duration!==0?(I&&(W.complete=I),y(()=>{this.element&<(this,g,W)},J)):(this.attr(g,void 0,I||W.complete),e(g,function(l,n){W.step&&W.step.call(this,l,{prop:n,pos:1,elem:this})},this)),this}applyTextOutline(g){let L=this.element;g.indexOf("contrast")!==-1&&(g=g.replace(/contrast/g,this.renderer.getContrast(L.style.fill)));let I=g.split(" "),W=I[I.length-1],J=I[0];if(J&&J!=="none"&&dt.svg){this.fakeTS=!0,J=J.replace(/(^[\d\.]+)(.*?)$/g,function(i,c,d){return 2*Number(c)+d}),this.removeTextOutline();let l=$.createElementNS(w,"tspan");P(l,{class:"highcharts-text-outline",fill:W,stroke:W,"stroke-width":J,"stroke-linejoin":"round"});let n=L.querySelector("textPath")||L;[].forEach.call(n.childNodes,i=>{let c=i.cloneNode(!0);c.removeAttribute&&["fill","stroke","stroke-width","stroke"].forEach(d=>c.removeAttribute(d)),l.appendChild(c)});let x=0;[].forEach.call(n.querySelectorAll("text tspan"),i=>{x+=Number(i.getAttribute("dy"))});let D=$.createElementNS(w,"tspan");D.textContent="",P(D,{x:Number(L.getAttribute("x")),dy:-x}),l.appendChild(D),n.insertBefore(l,n.firstChild)}}attr(g,L,I,W){let{element:J}=this,l=T.symbolCustomAttribs,n,x,D=this,i;return typeof g=="string"&&L!==void 0&&(n=g,(g={})[n]=L),typeof g=="string"?D=(this[g+"Getter"]||this._defaultGetter).call(this,g,J):(e(g,function(c,d){i=!1,W||at(this,d),this.symbolName&&l.indexOf(d)!==-1&&(x||(this.symbolAttr(g),x=!0),i=!0),this.rotation&&(d==="x"||d==="y")&&(this.doTransform=!0),i||(this[d+"Setter"]||this._defaultSetter).call(this,c,d,J)},this),this.afterSetters()),I&&I.call(this),D}clip(g){if(g&&!g.clipPath){let L=h()+"-",I=this.renderer.createElement("clipPath").attr({id:L}).add(this.renderer.defs);C(g,{clipPath:I,id:L,count:0}),g.add(I)}return this.attr("clip-path",g?`url(${this.renderer.url}#${g.id})`:"none")}crisp(g,L){L=Math.round(L||g.strokeWidth||0);let I=g.x||this.x||0,W=g.y||this.y||0,J=(g.width||this.width||0)+I,l=(g.height||this.height||0)+W,n=b(I,L),x=b(W,L);return C(g,{x:n,y:x,width:b(J,L)-n,height:b(l,L)-x}),A(g.strokeWidth)&&(g.strokeWidth=L),g}complexColor(g,L,I){let W=this.renderer,J,l,n,x,D,i,c,d,M,k,B=[],H;G(this.renderer,"complexColor",{args:arguments},function(){if(g.radialGradient?l="radialGradient":g.linearGradient&&(l="linearGradient"),l){if(n=g[l],D=W.gradients,i=g.stops,M=I.radialReference,E(n)&&(g[l]=n={x1:n[0],y1:n[1],x2:n[2],y2:n[3],gradientUnits:"userSpaceOnUse"}),l==="radialGradient"&&M&&!A(n.gradientUnits)&&(x=n,n=s(n,W.getRadialAttr(M,x),{gradientUnits:"userSpaceOnUse"})),e(n,function(U,Z){Z!=="id"&&B.push(Z,U)}),e(i,function(U){B.push(U)}),D[B=B.join(",")])k=D[B].attr("id");else{n.id=k=h();let U=D[B]=W.createElement(l).attr(n).add(W.defs);U.radAttr=x,U.stops=[],i.forEach(function(Z){Z[1].indexOf("rgba")===0?(c=(J=et.parse(Z[1])).get("rgb"),d=J.get("a")):(c=Z[1],d=1);let rt=W.createElement("stop").attr({offset:Z[0],"stop-color":c,"stop-opacity":d}).add(U);U.stops.push(rt)})}H="url("+W.url+"#"+k+")",I.setAttribute(L,H),I.gradient=B,g.toString=function(){return H}}})}css(g){let L=this.styles,I={},W=this.element,J,l=!L;if(L&&e(g,function(n,x){L&&L[x]!==n&&(I[x]=n,l=!0)}),l){L&&(g=C(L,I)),g.width===null||g.width==="auto"?delete this.textWidth:W.nodeName.toLowerCase()==="text"&&g.width&&(J=this.textWidth=r(g.width)),C(this.styles,g),J&&!V&&this.renderer.forExport&&delete g.width;let n=s(g);W.namespaceURI===this.SVG_NS&&(["textOutline","textOverflow","width"].forEach(x=>n&&delete n[x]),n.color&&(n.fill=n.color)),S(W,n)}return this.added&&(this.element.nodeName==="text"&&this.renderer.buildText(this),g.textOutline&&this.applyTextOutline(g.textOutline)),this}dashstyleSetter(g){let L,I=this["stroke-width"];if(I==="inherit"&&(I=1),g=g&&g.toLowerCase()){let W=g.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=W.length;L--;)W[L]=""+r(W[L])*t(I,NaN);g=W.join(",").replace(/NaN/g,"none"),this.element.setAttribute("stroke-dasharray",g)}}destroy(){var x;let g=this,L=g.element||{},I=g.renderer,W=L.ownerSVGElement,J=L.nodeName==="SPAN"&&g.parentGroup||void 0,l,n;if(L.onclick=L.onmouseout=L.onmouseover=L.onmousemove=L.point=null,at(g),g.clipPath&&W){let D=g.clipPath;[].forEach.call(W.querySelectorAll("[clip-path],[CLIP-PATH]"),function(i){i.getAttribute("clip-path").indexOf(D.element.id)>-1&&i.removeAttribute("clip-path")}),g.clipPath=D.destroy()}if(g.connector=(x=g.connector)==null?void 0:x.destroy(),g.stops){for(n=0;n<g.stops.length;n++)g.stops[n].destroy();g.stops.length=0,g.stops=void 0}for(g.safeRemoveChild(L);J&&J.div&&J.div.childNodes.length===0;)l=J.parentGroup,g.safeRemoveChild(J.div),delete J.div,J=l;g.alignOptions&&p(I.alignedObjects,g),e(g,function(D,i){g[i]&&g[i].parentGroup===g&&g[i].destroy&&g[i].destroy(),delete g[i]})}dSetter(g,L,I){E(g)&&(typeof g[0]=="string"&&(g=this.renderer.pathToSegments(g)),this.pathArray=g,g=g.reduce((W,J,l)=>J&&J.join?(l?W+" ":"")+J.join(" "):(J||"").toString(),"")),/(NaN| {2}|^$)/.test(g)&&(g="M 0 0"),this[L]!==g&&(I.setAttribute(L,g),this[L]=g)}fillSetter(g,L,I){typeof g=="string"?I.setAttribute(L,g):g&&this.complexColor(g,L,I)}hrefSetter(g,L,I){I.setAttributeNS("http://www.w3.org/1999/xlink",L,g)}getBBox(g,L){let I,W,J,l,{alignValue:n,element:x,renderer:D,styles:i,textStr:c}=this,{cache:d,cacheKeys:M}=D,k=x.namespaceURI===this.SVG_NS,B=t(L,this.rotation,0),H=D.styledMode?x&&T.prototype.getStyle.call(x,"font-size"):i.fontSize;if(A(c)&&((l=c.toString()).indexOf("<")===-1&&(l=l.replace(/\d/g,"0")),l+=["",D.rootFontSize,H,B,this.textWidth,n,i.textOverflow,i.fontWeight].join(",")),l&&!g&&(I=d[l]),!I||I.polygon){if(k||D.forExport){try{J=this.fakeTS&&function(Z){let rt=x.querySelector(".highcharts-text-outline");rt&&S(rt,{display:Z})},v(J)&&J("none"),I=x.getBBox?C({},x.getBBox()):{width:x.offsetWidth,height:x.offsetHeight,x:0,y:0},v(J)&&J("")}catch{}(!I||I.width<0)&&(I={x:0,y:0,width:0,height:0})}else I=this.htmlGetBBox();W=I.height,k&&(I.height=W={"11px,17":14,"13px,20":16}[`${H||""},${Math.round(W)}`]||W),B&&(I=this.getRotatedBox(I,B));let U={bBox:I};G(this,"afterGetBBox",U),I=U.bBox}if(l&&(c===""||I.height>0)){for(;M.length>250;)delete d[M.shift()];d[l]||M.push(l),d[l]=I}return I}getRotatedBox(g,L){let{x:I,y:W,width:J,height:l}=g,{alignValue:n,translateY:x,rotationOriginX:D=0,rotationOriginY:i=0}=this,c={right:1,center:.5}[n||0]||0,d=Number(this.element.getAttribute("y")||0)-(x?0:W),M=L*q,k=(L-90)*q,B=Math.cos(M),H=Math.sin(M),U=J*B,Z=J*H,rt=Math.cos(k),it=Math.sin(k),[[z,O],[N,X]]=[D,i].map(vt=>[vt-vt*B,vt*H]),K=I+c*(J-U)+z+X+d*rt,Q=K+U,_=Q-l*rt,st=_-U,ot=W+d-c*Z-O+N+d*it,ht=ot+Z,pt=ht-l*it,ut=pt-Z,mt=Math.min(K,Q,_,st),xt=Math.min(ot,ht,pt,ut),ft=Math.max(K,Q,_,st)-mt,gt=Math.max(ot,ht,pt,ut)-xt;return{x:mt,y:xt,width:ft,height:gt,polygon:[[K,ot],[Q,ht],[_,pt],[st,ut]]}}getStyle(g){return R.getComputedStyle(this.element||this,"").getPropertyValue(g)}hasClass(g){return(""+this.attr("class")).split(" ").indexOf(g)!==-1}hide(){return this.attr({visibility:"hidden"})}htmlGetBBox(){return{height:0,width:0,x:0,y:0}}constructor(g,L){this.onEvents={},this.opacity=1,this.SVG_NS=w,this.element=L==="span"||L==="body"?m(L):$.createElementNS(this.SVG_NS,L),this.renderer=g,this.styles={},G(this,"afterInit")}on(g,L){let{onEvents:I}=this;return I[g]&&I[g](),I[g]=j(this.element,g,L),this}opacitySetter(g,L,I){let W=Number(Number(g).toFixed(3));this.opacity=W,I.setAttribute(L,W)}reAlign(){var g;(g=this.alignOptions)!=null&&g.width&&this.alignOptions.align!=="left"&&(this.alignOptions.width=this.getBBox().width,this.placed=!1,this.align())}removeClass(g){return this.attr("class",(""+this.attr("class")).replace(u(g)?RegExp(`(^| )${g}( |$)`):g," ").replace(/ +/g," ").trim())}removeTextOutline(){let g=this.element.querySelector("tspan.highcharts-text-outline");g&&this.safeRemoveChild(g)}safeRemoveChild(g){let L=g.parentNode;L&&L.removeChild(g)}setRadialReference(g){let L=this.element.gradient&&this.renderer.gradients[this.element.gradient];return this.element.radialReference=g,L&&L.radAttr&&L.animate(this.renderer.getRadialAttr(g,L.radAttr)),this}shadow(g){var J;let{renderer:L}=this,I=s(((J=this.parentGroup)==null?void 0:J.rotation)===90?{offsetX:-1,offsetY:-1}:{},o(g)?g:{}),W=L.shadowDefinition(I);return this.attr({filter:g?`url(${L.url}#${W})`:"none"})}show(g=!0){return this.attr({visibility:g?"inherit":"visible"})}"stroke-widthSetter"(g,L,I){this[L]=g,I.setAttribute(L,g)}strokeWidth(){if(!this.renderer.styledMode)return this["stroke-width"]||0;let g=this.getStyle("stroke-width"),L=0,I;return/px$/.test(g)?L=r(g):g!==""&&(P(I=$.createElementNS(w,"rect"),{width:g,"stroke-width":0}),this.element.parentNode.appendChild(I),L=I.getBBox().width,I.parentNode.removeChild(I)),L}symbolAttr(g){let L=this;T.symbolCustomAttribs.forEach(function(I){L[I]=t(g[I],L[I])}),L.attr({d:L.renderer.symbols[L.symbolName](L.x,L.y,L.width,L.height,L)})}textSetter(g){g!==this.textStr&&(delete this.textPxLength,this.textStr=g,this.added&&this.renderer.buildText(this),this.reAlign())}titleSetter(g){let L=this.element,I=L.getElementsByTagName("title")[0]||$.createElementNS(this.SVG_NS,"title");L.insertBefore?L.insertBefore(I,L.firstChild):L.appendChild(I),I.textContent=f(t(g,""),[/<[^>]*>/g,""]).replace(/</g,"<").replace(/>/g,">")}toFront(){let g=this.element;return g.parentNode.appendChild(g),this}translate(g,L){return this.attr({translateX:g,translateY:L})}updateTransform(g="transform"){var d;let{element:L,matrix:I,rotation:W=0,rotationOriginX:J,rotationOriginY:l,scaleX:n,scaleY:x,translateX:D=0,translateY:i=0}=this,c=["translate("+D+","+i+")"];A(I)&&c.push("matrix("+I.join(",")+")"),W&&(c.push("rotate("+W+" "+t(J,L.getAttribute("x"),0)+" "+t(l,L.getAttribute("y")||0)+")"),((d=this.text)==null?void 0:d.element.tagName)==="SPAN"&&this.text.attr({rotation:W,rotationOriginX:(J||0)-this.padding,rotationOriginY:(l||0)-this.padding})),(A(n)||A(x))&&c.push("scale("+t(n,1)+" "+t(x,1)+")"),c.length&&!(this.text||this).textPath&&L.setAttribute(g,c.join(" "))}visibilitySetter(g,L,I){g==="inherit"?I.removeAttribute(L):this[L]!==g&&I.setAttribute(L,g),this[L]=g}xGetter(g){return this.element.nodeName==="circle"&&(g==="x"?g="cx":g==="y"&&(g="cy")),this._defaultGetter(g)}zIndexSetter(g,L){let I=this.renderer,W=this.parentGroup,J=(W||I).element||I.box,l=this.element,n=J===I.box,x,D,i,c=!1,d,M=this.added,k;if(A(g)?(l.setAttribute("data-z-index",g),g=+g,this[L]===g&&(M=!1)):A(this[L])&&l.removeAttribute("data-z-index"),this[L]=g,M){for((g=this.zIndex)&&W&&(W.handleZ=!0),k=(x=J.childNodes).length-1;k>=0&&!c;k--)d=!A(i=(D=x[k]).getAttribute("data-z-index")),D!==l&&(g<0&&d&&!n&&!k?(J.insertBefore(l,x[k]),c=!0):(r(i)<=g||d&&(!A(g)||g>=0))&&(J.insertBefore(l,x[k+1]),c=!0));c||(J.insertBefore(l,x[n?3:0]),c=!0)}return c}}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(F,g){this[g]=F,this.doTransform=!0},T}),yt(Y,"Core/Renderer/SVG/SVGLabel.js",[Y["Core/Renderer/SVG/SVGElement.js"],Y["Core/Utilities.js"]],function(tt,et){let{defined:dt,extend:ct,isNumber:lt,merge:nt,pick:at,removeEvent:q}=et;class $ extends tt{constructor(w,R,j,P,m,b,S,A,p,C){let G;super(w,"g"),this.paddingLeftSetter=this.paddingSetter,this.paddingRightSetter=this.paddingSetter,this.doUpdate=!1,this.textStr=R,this.x=j,this.y=P,this.anchorX=b,this.anchorY=S,this.baseline=p,this.className=C,this.addClass(C==="button"?"highcharts-no-tooltip":"highcharts-label"),C&&this.addClass("highcharts-"+C),this.text=w.text(void 0,0,0,A).attr({zIndex:1}),typeof m=="string"&&((G=/^url\((.*?)\)$/.test(m))||this.renderer.symbols[m])&&(this.symbolKey=m),this.bBox=$.emptyBBox,this.padding=3,this.baselineOffset=0,this.needsBox=w.styledMode||G,this.deferredAttr={},this.alignFactor=0}alignSetter(w){let R={left:0,center:.5,right:1}[w];R!==this.alignFactor&&(this.alignFactor=R,this.bBox&<(this.xSetting)&&this.attr({x:this.xSetting}))}anchorXSetter(w,R){this.anchorX=w,this.boxAttr(R,Math.round(w)-this.getCrispAdjust()-this.xSetting)}anchorYSetter(w,R){this.anchorY=w,this.boxAttr(R,w-this.ySetting)}boxAttr(w,R){this.box?this.box.attr(w,R):this.deferredAttr[w]=R}css(w){if(w){let R={};w=nt(w),$.textProps.forEach(j=>{w[j]!==void 0&&(R[j]=w[j],delete w[j])}),this.text.css(R),"fontSize"in R||"fontWeight"in R?this.updateTextPadding():("width"in R||"textOverflow"in R)&&this.updateBoxSize()}return tt.prototype.css.call(this,w)}destroy(){q(this.element,"mouseenter"),q(this.element,"mouseleave"),this.text&&this.text.destroy(),this.box&&(this.box=this.box.destroy()),tt.prototype.destroy.call(this)}fillSetter(w,R){w&&(this.needsBox=!0),this.fill=w,this.boxAttr(R,w)}getBBox(w,R){this.textStr&&this.bBox.width===0&&this.bBox.height===0&&this.updateBoxSize();let{padding:j,height:P=0,translateX:m=0,translateY:b=0,width:S=0}=this,A=at(this.paddingLeft,j),p=R??(this.rotation||0),C={width:S,height:P,x:m+this.bBox.x-A,y:b+this.bBox.y-j+this.baselineOffset};return p&&(C=this.getRotatedBox(C,p)),C}getCrispAdjust(){return(this.renderer.styledMode&&this.box?this.box.strokeWidth():this["stroke-width"]?parseInt(this["stroke-width"],10):0)%2/2}heightSetter(w){this.heightSetting=w,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&&dt(this.anchorX)&&this.attr({anchorX:this.anchorX,anchorY:this.anchorY})}paddingSetter(w,R){lt(w)?w!==this[R]&&(this[R]=w,this.updateTextPadding()):this[R]=void 0}rSetter(w,R){this.boxAttr(R,w)}strokeSetter(w,R){this.stroke=w,this.boxAttr(R,w)}"stroke-widthSetter"(w,R){w&&(this.needsBox=!0),this["stroke-width"]=w,this.boxAttr(R,w)}"text-alignSetter"(w){this.textAlign=w}textSetter(w){w!==void 0&&this.text.attr({text:w}),this.updateTextPadding(),this.reAlign()}updateBoxSize(){let w,R=this.text,j={},P=this.padding,m=this.bBox=(!lt(this.widthSetting)||!lt(this.heightSetting)||this.textAlign)&&dt(R.textStr)?R.getBBox(void 0,0):$.emptyBBox;this.width=this.getPaddedWidth(),this.height=(this.heightSetting||m.height||0)+2*P;let b=this.renderer.fontMetrics(R);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&&!R.textPath){if(!this.box){let S=this.box=this.symbolKey?this.renderer.symbol(this.symbolKey):this.renderer.rect();S.addClass((this.className==="button"?"":"highcharts-label-box")+(this.className?" highcharts-"+this.className+"-box":"")),S.add(this)}w=this.getCrispAdjust(),j.x=w,j.y=(this.baseline?-this.baselineOffset:0)+w,j.width=Math.round(this.width),j.height=Math.round(this.height),this.box.attr(ct(j,this.deferredAttr)),this.deferredAttr={}}}updateTextPadding(){let w=this.text;if(!w.textPath){this.updateBoxSize();let R=this.baseline?0:this.baselineOffset,j=at(this.paddingLeft,this.padding);dt(this.widthSetting)&&this.bBox&&(this.textAlign==="center"||this.textAlign==="right")&&(j+={center:.5,right:1}[this.textAlign]*(this.widthSetting-this.bBox.width)),(j!==w.x||R!==w.y)&&(w.attr("x",j),w.hasBoxWidthChanged&&(this.bBox=w.getBBox(!0)),R!==void 0&&w.attr("y",R)),w.x=j,w.y=R}}widthSetter(w){this.widthSetting=lt(w)?w:void 0,this.doUpdate=!0}getPaddedWidth(){let w=this.padding,R=at(this.paddingLeft,w),j=at(this.paddingRight,w);return(this.widthSetting||this.bBox.width||0)+R+j}xSetter(w){this.x=w,this.alignFactor&&(w-=this.alignFactor*this.getPaddedWidth(),this["forceAnimate:x"]=!0),this.xSetting=Math.round(w),this.attr("translateX",this.xSetting)}ySetter(w){this.ySetting=this.y=Math.round(w),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(Y,"Core/Renderer/SVG/Symbols.js",[Y["Core/Utilities.js"]],function(tt){let{defined:et,isNumber:dt,pick:ct}=tt;function lt(q,$,V,w,R){let j=[];if(R){let P=R.start||0,m=ct(R.r,V),b=ct(R.r,w||V),S=2e-4/(R.borderRadius?1:Math.max(m,1)),A=Math.abs((R.end||0)-P-2*Math.PI)<S,p=(R.end||0)-(A?S:0),C=R.innerR,G=ct(R.open,A),E=Math.cos(P),v=Math.sin(P),o=Math.cos(p),u=Math.sin(p),s=ct(R.longArc,p-P-Math.PI<S?0:1),e=["A",m,b,0,s,ct(R.clockwise,1),q+m*o,$+b*u];e.params={start:P,end:p,cx:q,cy:$},j.push(["M",q+m*E,$+b*v],e),et(C)&&((e=["A",C,C,0,s,et(R.clockwise)?1-R.clockwise:0,q+C*E,$+C*v]).params={start:p,end:P,cx:q,cy:$},j.push(G?["M",q+C*o,$+C*u]:["L",q+C*o,$+C*u],e)),G||j.push(["Z"])}return j}function nt(q,$,V,w,R){return R&&R.r?at(q,$,V,w,R):[["M",q,$],["L",q+V,$],["L",q+V,$+w],["L",q,$+w],["Z"]]}function at(q,$,V,w,R){let j=(R==null?void 0:R.r)||0;return[["M",q+j,$],["L",q+V-j,$],["A",j,j,0,0,1,q+V,$+j],["L",q+V,$+w-j],["A",j,j,0,0,1,q+V-j,$+w],["L",q+j,$+w],["A",j,j,0,0,1,q,$+w-j],["L",q,$+j],["A",j,j,0,0,1,q+j,$],["Z"]]}return{arc:lt,callout:function(q,$,V,w,R){let j=Math.min(R&&R.r||0,V,w),P=j+6,m=R&&R.anchorX,b=R&&R.anchorY||0,S=at(q,$,V,w,{r:j});if(!dt(m)||m<V&&m>0&&b<w&&b>0)return S;if(q+m>V-P)if(b>$+P&&b<$+w-P)S.splice(3,1,["L",q+V,b-6],["L",q+V+6,b],["L",q+V,b+6],["L",q+V,$+w-j]);else if(m<V){let A=b<$+P,p=A?$:$+w;S.splice(A?2:5,0,["L",m,b],["L",q+V-j,p])}else S.splice(3,1,["L",q+V,w/2],["L",m,b],["L",q+V,w/2],["L",q+V,$+w-j]);else if(q+m<P)if(b>$+P&&b<$+w-P)S.splice(7,1,["L",q,b+6],["L",q-6,b],["L",q,b-6],["L",q,$+j]);else if(m>0){let A=b<$+P,p=A?$:$+w;S.splice(A?1:6,0,["L",m,b],["L",q+j,p])}else S.splice(7,1,["L",q,w/2],["L",m,b],["L",q,w/2],["L",q,$+j]);else b>w&&m<V-P?S.splice(5,1,["L",m+6,$+w],["L",m,$+w+6],["L",m-6,$+w],["L",q+j,$+w]):b<0&&m>P&&S.splice(1,1,["L",m-6,$],["L",m,$-6],["L",m+6,$],["L",V-j,$]);return S},circle:function(q,$,V,w){return lt(q+V/2,$+w/2,V/2,w/2,{start:.5*Math.PI,end:2.5*Math.PI,open:!1})},diamond:function(q,$,V,w){return[["M",q+V/2,$],["L",q+V,$+w/2],["L",q+V/2,$+w],["L",q,$+w/2],["Z"]]},rect:nt,roundedRect:at,square:nt,triangle:function(q,$,V,w){return[["M",q+V/2,$],["L",q+V,$+w],["L",q,$+w],["Z"]]},"triangle-down":function(q,$,V,w){return[["M",q,$],["L",q+V,$],["L",q+V/2,$+w],["Z"]]}}}),yt(Y,"Core/Renderer/SVG/TextBuilder.js",[Y["Core/Renderer/HTML/AST.js"],Y["Core/Globals.js"],Y["Core/Utilities.js"]],function(tt,et,dt){let{doc:ct,SVG_NS:lt,win:nt}=et,{attr:at,extend:q,fireEvent:$,isString:V,objectEach:w,pick:R}=dt;return class{constructor(j){let P=j.styles;this.renderer=j.renderer,this.svgElement=j,this.width=j.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 j=this.svgElement,P=j.element,m=j.renderer,b=R(j.textStr,"").toString(),S=b.indexOf("<")!==-1,A=P.childNodes,p=!j.added&&m.box,C=[b,this.ellipsis,this.noWrap,this.textLineHeight,this.textOutline,j.getStyle("font-size"),this.width].join(",");if(C!==j.textCache){j.textCache=C,delete j.actualWidth;for(let G=A.length;G--;)P.removeChild(A[G]);if(S||this.ellipsis||this.width||j.textPath||b.indexOf(" ")!==-1&&(!this.noWrap||/<br.*?>/g.test(b))){if(b!==""){p&&p.appendChild(P);let G=new tt(b);this.modifyTree(G.nodes),G.addToDOM(P),this.modifyDOM(),this.ellipsis&&(P.textContent||"").indexOf("…")!==-1&&j.attr("title",this.unescapeEntities(j.textStr||"",["<",">"])),p&&p.removeChild(P)}}else P.appendChild(ct.createTextNode(this.unescapeEntities(b)));V(this.textOutline)&&j.applyTextOutline&&j.applyTextOutline(this.textOutline)}}modifyDOM(){let j,P=this.svgElement,m=at(P.element,"x");for(P.firstLineMetrics=void 0;(j=P.element.firstChild)&&/^[\s\u200B]*$/.test(j.textContent||" ");)P.element.removeChild(j);[].forEach.call(P.element.querySelectorAll("tspan.highcharts-br"),(p,C)=>{p.nextSibling&&p.previousSibling&&(C===0&&p.previousSibling.nodeType===1&&(P.firstLineMetrics=P.renderer.fontMetrics(p.previousSibling)),at(p,{dy:this.getLineHeight(p.nextSibling),x:m}))});let b=this.width||0;if(!b)return;let S=(p,C)=>{let G=p.textContent||"",E=G.replace(/([^\^])-/g,"$1- ").split(" "),v=!this.noWrap&&(E.length>1||P.element.childNodes.length>1),o=this.getLineHeight(C),u=0,s=P.actualWidth;if(this.ellipsis)G&&this.truncate(p,G,void 0,0,Math.max(0,b-.8*o),(e,t)=>e.substring(0,t)+"…");else if(v){let e=[],t=[];for(;C.firstChild&&C.firstChild!==p;)t.push(C.firstChild),C.removeChild(C.firstChild);for(;E.length;)E.length&&!this.noWrap&&u>0&&(e.push(p.textContent||""),p.textContent=E.join(" ").replace(/- /g,"-")),this.truncate(p,void 0,E,u===0&&s||0,b,(r,a)=>E.slice(0,a).join(" ").replace(/- /g,"-")),s=P.actualWidth,u++;t.forEach(r=>{C.insertBefore(r,p)}),e.forEach(r=>{C.insertBefore(ct.createTextNode(r),p);let a=ct.createElementNS(lt,"tspan");a.textContent="",at(a,{dy:o,x:m}),C.insertBefore(a,p)})}},A=p=>{[].slice.call(p.childNodes).forEach(C=>{C.nodeType===nt.Node.TEXT_NODE?S(C,p):(C.className.baseVal.indexOf("highcharts-br")!==-1&&(P.actualWidth=0),A(C))})};A(P.element)}getLineHeight(j){let P=j.nodeType===nt.Node.TEXT_NODE?j.parentElement:j;return this.textLineHeight?parseInt(this.textLineHeight.toString(),10):this.renderer.fontMetrics(P||this.svgElement.element).h}modifyTree(j){let P=(m,b)=>{let{attributes:S={},children:A,style:p={},tagName:C}=m,G=this.renderer.styledMode;if(C==="b"||C==="strong"?G?S.class="highcharts-strong":p.fontWeight="bold":(C==="i"||C==="em")&&(G?S.class="highcharts-emphasized":p.fontStyle="italic"),p&&p.color&&(p.fill=p.color),C==="br"){S.class="highcharts-br",m.textContent="";let E=j[b+1];E&&E.textContent&&(E.textContent=E.textContent.replace(/^ +/gm,""))}else C==="a"&&A&&A.some(E=>E.tagName==="#text")&&(m.children=[{children:A,tagName:"tspan"}]);C!=="#text"&&C!=="a"&&(m.tagName="tspan"),q(m,{attributes:S,style:p}),A&&A.filter(E=>E.tagName!=="#text").forEach(P)};j.forEach(P),$(this.svgElement,"afterModifyTree",{nodes:j})}truncate(j,P,m,b,S,A){let p,C,G=this.svgElement,{rotation:E}=G,v=[],o=m?1:0,u=(P||m||"").length,s=u,e=function(t,r){let a=r||t,f=j.parentNode;if(f&&v[a]===void 0&&f.getSubStringLength)try{v[a]=b+f.getSubStringLength(0,m?a+1:a)}catch{}return v[a]};if(G.rotation=0,b+(C=e(j.textContent.length))>S){for(;o<=u;)s=Math.ceil((o+u)/2),m&&(p=A(m,s)),C=e(s,p&&p.length-1),o===u?o=u+1:C>S?u=s-1:o=s;u===0?j.textContent="":P&&u===P.length-1||(j.textContent=p||A(P||m,s))}m&&m.splice(0,s),G.actualWidth=C,G.rotation=E}unescapeEntities(j,P){return w(this.renderer.escapes,function(m,b){P&&P.indexOf(m)!==-1||(j=j.toString().replace(RegExp(m,"g"),b))}),j}}}),yt(Y,"Core/Renderer/SVG/SVGRenderer.js",[Y["Core/Renderer/HTML/AST.js"],Y["Core/Defaults.js"],Y["Core/Color/Color.js"],Y["Core/Globals.js"],Y["Core/Renderer/RendererRegistry.js"],Y["Core/Renderer/SVG/SVGElement.js"],Y["Core/Renderer/SVG/SVGLabel.js"],Y["Core/Renderer/SVG/Symbols.js"],Y["Core/Renderer/SVG/TextBuilder.js"],Y["Core/Utilities.js"]],function(tt,et,dt,ct,lt,nt,at,q,$,V){let w,{defaultOptions:R}=et,{charts:j,deg2rad:P,doc:m,isFirefox:b,isMS:S,isWebKit:A,noop:p,SVG_NS:C,symbolSizes:G,win:E}=ct,{addEvent:v,attr:o,createElement:u,crisp:s,css:e,defined:t,destroyObjectProperties:r,extend:a,isArray:f,isNumber:y,isObject:h,isString:T,merge:F,pick:g,pInt:L,replaceNested:I,uniqueKey:W}=V;class J{constructor(n,x,D,i,c,d,M){let k,B,H=this.createElement("svg").attr({version:"1.1",class:"highcharts-root"}),U=H.element;M||H.css(this.getStyle(i||{})),n.appendChild(U),o(n,"dir","ltr"),n.innerHTML.indexOf("xmlns")===-1&&o(U,"xmlns",this.SVG_NS),this.box=U,this.boxWrapper=H,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=d,this.forExport=c,this.styledMode=M,this.gradients={},this.cache={},this.cacheKeys=[],this.imgCount=0,this.rootFontSize=H.getStyle("font-size"),this.setSize(x,D,!1),b&&n.getBoundingClientRect&&((k=function(){e(n,{left:0,top:0}),B=n.getBoundingClientRect(),e(n,{left:Math.ceil(B.left)-B.left+"px",top:Math.ceil(B.top)-B.top+"px"})})(),this.unSubPixelFix=v(E,"resize",k))}definition(n){return new tt([n]).addToDOM(this.defs.element)}getReferenceURL(){if((b||A)&&m.getElementsByTagName("base").length){if(!t(w)){let n=W(),x=new tt([{tagName:"svg",attributes:{width:8,height:8},children:[{tagName:"defs",children:[{tagName:"clipPath",attributes:{id:n},children:[{tagName:"rect",attributes:{width:4,height:4}}]}]},{tagName:"rect",attributes:{id:"hitme",width:8,height:8,"clip-path":`url(#${n})`,fill:"rgba(0,0,0,0.001)"}}]}]).addToDOM(m.body);e(x,{position:"fixed",top:0,left:0,zIndex:9e5});let D=m.elementFromPoint(6,6);w=(D&&D.id)==="hitme",m.body.removeChild(x)}if(w)return I(E.location.href.split("#")[0],[/<[^>]*>/g,""],[/([\('\)])/g,"\\$1"],[/ /g,"%20"])}return""}getStyle(n){return this.style=a({fontFamily:"Helvetica, Arial, sans-serif",fontSize:"1rem"},n),this.style}setStyle(n){this.boxWrapper.css(this.getStyle(n))}isHidden(){return!this.boxWrapper.getBBox().width}destroy(){let n=this.defs;return this.box=null,this.boxWrapper=this.boxWrapper.destroy(),r(this.gradients||{}),this.gradients=null,this.defs=n.destroy(),this.unSubPixelFix&&this.unSubPixelFix(),this.alignedObjects=null,null}createElement(n){return new this.Element(this,n)}getRadialAttr(n,x){return{cx:n[0]-n[2]/2+(x.cx||0)*n[2],cy:n[1]-n[2]/2+(x.cy||0)*n[2],r:(x.r||0)*n[2]}}shadowDefinition(n){let x=[`highcharts-drop-shadow-${this.chartIndex}`,...Object.keys(n).map(i=>`${i}-${n[i]}`)].join("-").toLowerCase().replace(/[^a-z\d\-]/g,""),D=F({color:"#000000",offsetX:1,offsetY:1,opacity:.15,width:5},n);return this.defs.element.querySelector(`#${x}`)||this.definition({tagName:"filter",attributes:{id:x,filterUnits:D.filterUnits},children:this.getShadowFilterContent(D)}),x}getShadowFilterContent(n){return[{tagName:"feDropShadow",attributes:{dx:n.offsetX,dy:n.offsetY,"flood-color":n.color,"flood-opacity":Math.min(5*n.opacity,1),stdDeviation:n.width/2}}]}buildText(n){new $(n).buildSVG()}getContrast(n){let x=dt.parse(n).rgba.map(i=>{let c=i/255;return c<=.03928?c/12.92:Math.pow((c+.055)/1.055,2.4)}),D=.2126*x[0]+.7152*x[1]+.0722*x[2];return 1.05/(D+.05)>(D+.05)/.05?"#FFFFFF":"#000000"}button(n,x,D,i,c={},d,M,k,B,H){let U=this.label(n,x,D,B,void 0,void 0,H,void 0,"button"),Z=this.styledMode,rt=arguments,it=0;c=F(R.global.buttonTheme,c),Z&&(delete c.fill,delete c.stroke,delete c["stroke-width"]);let z=c.states||{},O=c.style||{};delete c.states,delete c.style;let N=[tt.filterUserAttributes(c)],X=[O];return Z||["hover","select","disabled"].forEach((K,Q)=>{N.push(F(N[0],tt.filterUserAttributes(rt[Q+5]||z[K]||{}))),X.push(N[Q+1].style),delete N[Q+1].style}),v(U.element,S?"mouseover":"mouseenter",function(){it!==3&&U.setState(1)}),v(U.element,S?"mouseout":"mouseleave",function(){it!==3&&U.setState(it)}),U.setState=(K=0)=>{if(K!==1&&(U.state=it=K),U.removeClass(/highcharts-button-(normal|hover|pressed|disabled)/).addClass("highcharts-button-"+["normal","hover","pressed","disabled"][K]),!Z){U.attr(N[K]);let Q=X[K];h(Q)&&U.css(Q)}},U.attr(N[0]),!Z&&(U.css(a({cursor:"default"},O)),H&&U.text.css({pointerEvents:"none"})),U.on("touchstart",K=>K.stopPropagation()).on("click",function(K){it!==3&&i.call(U,K)})}crispLine(n,x){let[D,i]=n;return t(D[1])&&D[1]===i[1]&&(D[1]=i[1]=s(D[1],x)),t(D[2])&&D[2]===i[2]&&(D[2]=i[2]=s(D[2],x)),n}path(n){let x=this.styledMode?{}:{fill:"none"};return f(n)?x.d=n:h(n)&&a(x,n),this.createElement("path").attr(x)}circle(n,x,D){let i=h(n)?n:n===void 0?{}:{x:n,y:x,r:D},c=this.createElement("circle");return c.xSetter=c.ySetter=function(d,M,k){k.setAttribute("c"+M,d)},c.attr(i)}arc(n,x,D,i,c,d){let M;h(n)?(x=(M=n).y,D=M.r,i=M.innerR,c=M.start,d=M.end,n=M.x):M={innerR:i,start:c,end:d};let k=this.symbol("arc",n,x,D,D,M);return k.r=D,k}rect(n,x,D,i,c,d){let M=h(n)?n:n===void 0?{}:{x:n,y:x,r:c,width:Math.max(D||0,0),height:Math.max(i||0,0)},k=this.createElement("rect");return this.styledMode||(d!==void 0&&(M["stroke-width"]=d,a(M,k.crisp(M))),M.fill="none"),k.rSetter=function(B,H,U){k.r=B,o(U,{rx:B,ry:B})},k.rGetter=function(){return k.r||0},k.attr(M)}roundedRect(n){return this.symbol("roundedRect").attr(n)}setSize(n,x,D){this.width=n,this.height=x,this.boxWrapper.animate({width:n,height:x},{step:function(){this.attr({viewBox:"0 0 "+this.attr("width")+" "+this.attr("height")})},duration:g(D,!0)?void 0:0}),this.alignElements()}g(n){let x=this.createElement("g");return n?x.attr({class:"highcharts-"+n}):x}image(n,x,D,i,c,d){let M={preserveAspectRatio:"none"};y(x)&&(M.x=x),y(D)&&(M.y=D),y(i)&&(M.width=i),y(c)&&(M.height=c);let k=this.createElement("image").attr(M),B=function(H){k.attr({href:n}),d.call(k,H)};if(d){k.attr({href:"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="});let H=new E.Image;v(H,"load",B),H.src=n,H.complete&&B({})}else k.attr({href:n});return k}symbol(n,x,D,i,c,d){let M,k,B,H,U=this,Z=/^url\((.*?)\)$/,rt=Z.test(n),it=!rt&&(this.symbols[n]?n:"circle"),z=it&&this.symbols[it];if(z)typeof x=="number"&&(k=z.call(this.symbols,x||0,D||0,i||0,c||0,d)),M=this.path(k),U.styledMode||M.attr("fill","none"),a(M,{symbolName:it||void 0,x,y:D,width:i,height:c}),d&&a(M,d);else if(rt){B=n.match(Z)[1];let O=M=this.image(B);O.imgwidth=g(d&&d.width,G[B]&&G[B].width),O.imgheight=g(d&&d.height,G[B]&&G[B].height),H=N=>N.attr({width:N.width,height:N.height}),["width","height"].forEach(N=>{O[`${N}Setter`]=function(X,K){this[K]=X;let{alignByTranslate:Q,element:_,width:st,height:ot,imgwidth:ht,imgheight:pt}=this,ut=K==="width"?ht:pt,mt=1;d&&d.backgroundSize==="within"&&st&&ot&&ht&&pt?(mt=Math.min(st/ht,ot/pt),o(_,{width:Math.round(ht*mt),height:Math.round(pt*mt)})):_&&ut&&_.setAttribute(K,ut),!Q&&ht&&pt&&this.translate(((st||0)-ht*mt)/2,((ot||0)-pt*mt)/2)}}),t(x)&&O.attr({x,y:D}),O.isImg=!0,O.symbolUrl=n,t(O.imgwidth)&&t(O.imgheight)?H(O):(O.attr({width:0,height:0}),u("img",{onload:function(){let N=j[U.chartIndex];this.width===0&&(e(this,{position:"absolute",top:"-999em"}),m.body.appendChild(this)),G[B]={width:this.width,height:this.height},O.imgwidth=this.width,O.imgheight=this.height,O.element&&H(O),this.parentNode&&this.parentNode.removeChild(this),U.imgCount--,U.imgCount||!N||N.hasLoaded||N.onload()},src:B}),this.imgCount++)}return M}clipRect(n,x,D,i){return this.rect(n,x,D,i,0)}text(n,x,D,i){let c={};if(i&&(this.allowHTML||!this.forExport))return this.html(n,x,D);c.x=Math.round(x||0),D&&(c.y=Math.round(D)),t(n)&&(c.text=n);let d=this.createElement("text").attr(c);return i&&(!this.forExport||this.allowHTML)||(d.xSetter=function(M,k,B){let H=B.getElementsByTagName("tspan"),U=B.getAttribute(k);for(let Z=0,rt;Z<H.length;Z++)(rt=H[Z]).getAttribute(k)===U&&rt.setAttribute(k,M);B.setAttribute(k,M)}),d}fontMetrics(n){let x=L(nt.prototype.getStyle.call(n,"font-size")||0),D=x<24?x+3:Math.round(1.2*x),i=Math.round(.8*D);return{h:D,b:i,f:x}}rotCorr(n,x,D){let i=n;return x&&D&&(i=Math.max(i*Math.cos(x*P),4)),{x:-n/3*Math.sin(x*P),y:i}}pathToSegments(n){let x=[],D=[],i={A:8,C:7,H:2,L:3,M:3,Q:5,S:5,T:3,V:2};for(let c=0;c<n.length;c++)T(D[0])&&y(n[c])&&D.length===i[D[0].toUpperCase()]&&n.splice(c,0,D[0].replace("M","L").replace("m","l")),typeof n[c]=="string"&&(D.length&&x.push(D.slice(0)),D.length=0),D.push(n[c]);return x.push(D.slice(0)),x}label(n,x,D,i,c,d,M,k,B){return new at(this,n,x,D,i,c,d,M,k,B)}alignElements(){this.alignedObjects.forEach(n=>n.align())}}return a(J.prototype,{Element:nt,SVG_NS:C,escapes:{"&":"&","<":"<",">":">","'":"'",'"':"""},symbols:q,draw:p}),lt.registerRendererType("svg",J,!0),J}),yt(Y,"Core/Renderer/HTML/HTMLElement.js",[Y["Core/Renderer/HTML/AST.js"],Y["Core/Globals.js"],Y["Core/Renderer/SVG/SVGElement.js"],Y["Core/Utilities.js"]],function(tt,et,dt,ct){let{composed:lt}=et,{attr:nt,css:at,createElement:q,defined:$,extend:V,pInt:w,pushUnique:R}=ct;function j(S,A,p){var G;let C=((G=this.div)==null?void 0:G.style)||p.style;dt.prototype[`${A}Setter`].call(this,S,A,p),C&&(C[A]=S)}let P=(S,A)=>{var p;if(!S.div){let C=nt(S.element,"class"),G=S.css,E=q("div",C?{className:C}:void 0,{position:"absolute",left:`${S.translateX||0}px`,top:`${S.translateY||0}px`,...S.styles,display:S.display,opacity:S.opacity,visibility:S.visibility},((p=S.parentGroup)==null?void 0:p.div)||A);S.classSetter=(v,o,u)=>{u.setAttribute("class",v),E.className=v},S.translateXSetter=S.translateYSetter=(v,o)=>{S[o]=v,E.style[o==="translateX"?"left":"top"]=`${v}px`,S.doTransform=!0},S.opacitySetter=S.visibilitySetter=j,S.css=v=>(G.call(S,v),v.cursor&&(E.style.cursor=v.cursor),v.pointerEvents&&(E.style.pointerEvents=v.pointerEvents),S),S.on=function(){return dt.prototype.on.apply({element:E,onEvents:S.onEvents},arguments),S},S.div=E}return S.div};class m extends dt{static compose(A){R(lt,this.compose)&&(A.prototype.html=function(p,C,G){return new m(this,"span").attr({text:p,x:Math.round(C),y:Math.round(G)})})}constructor(A,p){super(A,p),this.css({position:"absolute",...A.styledMode?{}:{fontFamily:A.style.fontFamily,fontSize:A.style.fontSize}}),this.element.style.whiteSpace="nowrap"}getSpanCorrection(A,p,C){this.xCorr=-A*C,this.yCorr=-p}css(A){let p,{element:C}=this,G=C.tagName==="SPAN"&&A&&"width"in A,E=G&&A.width;return G&&(delete A.width,this.textWidth=w(E)||void 0,p=!0),(A==null?void 0:A.textOverflow)==="ellipsis"&&(A.whiteSpace="nowrap",A.overflow="hidden"),V(this.styles,A),at(C,A),p&&this.updateTransform(),this}htmlGetBBox(){let{element:A}=this;return{x:A.offsetLeft,y:A.offsetTop,width:A.offsetWidth,height:A.offsetHeight}}updateTransform(){var y;if(!this.added){this.alignOnAdd=!0;return}let{element:A,renderer:p,rotation:C,rotationOriginX:G,rotationOriginY:E,styles:v,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],f=v.whiteSpace;if(at(A,{marginLeft:`${s}px`,marginTop:`${e}px`}),A.tagName==="SPAN"){let h=[C,o,A.innerHTML,u,this.textAlign].join(","),T=-(((y=this.parentGroup)==null?void 0:y.padding)*1)||0,F,g=!1;if(u!==this.oldTextWidth){let l=this.textPxLength?this.textPxLength:(at(A,{width:"",whiteSpace:f||"nowrap"}),A.offsetWidth),n=u||0;(n>this.oldTextWidth||l>n)&&(/[ \-]/.test(A.textContent||A.innerText)||A.style.textOverflow==="ellipsis")&&(at(A,{width:l>n||C?u+"px":"auto",display:"block",whiteSpace:f||"normal"}),this.oldTextWidth=u,g=!0)}this.hasBoxWidthChanged=g,h!==this.cTT&&(F=p.fontMetrics(A).b,$(C)&&(C!==(this.oldRotation||0)||o!==this.oldAlign)&&this.setSpanRotation(C,T,T),this.getSpanCorrection(!$(C)&&this.textPxLength||A.offsetWidth,F,a));let{xCorr:L=0,yCorr:I=0}=this,W=(G??t)-L-t-T,J=(E??r)-I-r-T;at(A,{left:`${t+L}px`,top:`${r+I}px`,transformOrigin:`${W}px ${J}px`}),this.cTT=h,this.oldRotation=C,this.oldAlign=o}}setSpanRotation(A,p,C){at(this.element,{transform:`rotate(${A}deg)`,transformOrigin:`${p}% ${C}px`})}add(A){let p,C=this.renderer.box.parentNode,G=[];if(this.parentGroup=A,A&&!(p=A.div)){let E=A;for(;E;)G.push(E),E=E.parentGroup;for(let v of G.reverse())p=P(v,C)}return(p||C).appendChild(this.element),this.added=!0,this.alignOnAdd&&this.updateTransform(),this}textSetter(A){A!==this.textStr&&(delete this.bBox,delete this.oldTextWidth,tt.setElementHTML(this.element,A??""),this.textStr=A,this.doTransform=!0)}alignSetter(A){this.alignValue=this.textAlign=A,this.doTransform=!0}xSetter(A,p){this[p]=A,this.doTransform=!0}}let b=m.prototype;return b.visibilitySetter=b.opacitySetter=j,b.ySetter=b.rotationSetter=b.rotationOriginXSetter=b.rotationOriginYSetter=b.xSetter,m}),yt(Y,"Core/Axis/AxisDefaults.js",[],function(){var tt,et;return(et=tt||(tt={})).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"},et.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:dt}=this.axis.chart;return dt(this.total||0,-1)},style:{color:"#000000",fontSize:"0.7em",fontWeight:"bold",textOutline:"1px contrast"}},gridLineWidth:1,lineWidth:0},tt}),yt(Y,"Core/Foundation.js",[Y["Core/Utilities.js"]],function(tt){var et;let{addEvent:dt,isFunction:ct,objectEach:lt,removeEvent:nt}=tt;return(et||(et={})).registerEventOptions=function(at,q){at.eventOptions=at.eventOptions||{},lt(q.events,function($,V){at.eventOptions[V]!==$&&(at.eventOptions[V]&&(nt(at,V,at.eventOptions[V]),delete at.eventOptions[V]),ct($)&&(at.eventOptions[V]=$,dt(at,V,$,{order:0})))})},et}),yt(Y,"Core/Axis/Tick.js",[Y["Core/Templating.js"],Y["Core/Globals.js"],Y["Core/Utilities.js"]],function(tt,et,dt){let{deg2rad:ct}=et,{clamp:lt,correctFloat:nt,defined:at,destroyObjectProperties:q,extend:$,fireEvent:V,isNumber:w,merge:R,objectEach:j,pick:P}=dt;return class{constructor(m,b,S,A,p){this.isNew=!0,this.isNewLabel=!0,this.axis=m,this.pos=b,this.type=S||"",this.parameters=p||{},this.tickmarkOffset=this.parameters.tickmarkOffset,this.options=this.parameters.options,V(this,"init"),S||A||this.addLabel()}addLabel(){let m=this,b=m.axis,S=b.options,A=b.chart,p=b.categories,C=b.logarithmic,G=b.names,E=m.pos,v=P(m.options&&m.options.labels,S.labels),o=b.tickPositions,u=E===o[0],s=E===o[o.length-1],e=(!v.step||v.step===1)&&b.tickInterval===1,t=o.info,r=m.label,a,f,y,h=this.parameters.category||(p?P(p[E],G[E],E):E);C&&w(h)&&(h=nt(C.lin2log(h))),b.dateTime&&(t?a=(f=A.time.resolveDTLFormat(S.dateTimeLabelFormats[!S.grid&&t.higherRanks[E]||t.unitName])).main:w(h)&&(a=b.dateTime.getXDateFormat(h,S.dateTimeLabelFormats||{}))),m.isFirst=u,m.isLast=s;let T={axis:b,chart:A,dateTimeLabelFormat:a,isFirst:u,isLast:s,pos:E,tick:m,tickPositionInfo:t,value:h};V(this,"labelFormat",T);let F=I=>v.formatter?v.formatter.call(I,I):v.format?(I.text=b.defaultLabelFormatter.call(I),tt.format(v.format,I,A)):b.defaultLabelFormatter.call(I),g=F.call(T,T),L=f&&f.list;L?m.shortenLabel=function(){for(y=0;y<L.length;y++)if($(T,{dateTimeLabelFormat:L[y]}),r.attr({text:F.call(T,T)}),r.getBBox().width<b.getSlotWidth(m)-2*(v.padding||0))return;r.attr({text:""})}:m.shortenLabel=void 0,e&&b._addedPlotLB&&m.moveLabel(g,v),at(r)||m.movedLabel?r&&r.textStr!==g&&!e&&(!r.textWidth||v.style.width||r.styles.width||r.css({width:null}),r.attr({text:g}),r.textPxLength=r.getBBox().width):(m.label=r=m.createLabel(g,v),m.rotation=0)}createLabel(m,b,S){let A=this.axis,p=A.chart,C=at(m)&&b.enabled?p.renderer.text(m,S==null?void 0:S.x,S==null?void 0:S.y,b.useHTML).add(A.labelGroup):void 0;return C&&(p.styledMode||C.css(R(b.style)),C.textPxLength=C.getBBox().width),C}destroy(){q(this,this.axis)}getPosition(m,b,S,A){let p=this.axis,C=p.chart,G=A&&C.oldChartHeight||C.chartHeight,E={x:m?nt(p.translate(b+S,void 0,void 0,A)+p.transB):p.left+p.offset+(p.opposite?(A&&C.oldChartWidth||C.chartWidth)-p.right-p.left:0),y:m?G-p.bottom+p.offset-(p.opposite?p.height:0):nt(G-p.translate(b+S,void 0,void 0,A)-p.transB)};return E.y=lt(E.y,-1e9,1e9),V(this,"afterGetPosition",{pos:E}),E}getLabelPosition(m,b,S,A,p,C,G,E){let v,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),f=p.distance,y={};return v=u.side===0?S.rotation?-f:-S.getBBox().height:u.side===2?r.y+f:Math.cos(S.rotation*ct)*(r.y-S.getBBox(!1,0).height/2),at(p.y)&&(v=u.side===0&&u.horiz?p.y+v:p.y),m=m+P(p.x,[0,1,0,-1][u.side]*f)+a+r.x-(C&&A?C*s*(e?-1:1):0),b=b+v-(C&&!A?C*s*(e?1:-1):0),t&&(o=G/(E||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:C,index:G}),y}getLabelSize(){return this.label?this.label.getBBox()[this.axis.horiz?"height":"width"]:0}getMarkPath(m,b,S,A,p=!1,C){return C.crispLine([["M",m,b],["L",m+(p?0:-S),b+(p?S:0)]],A)}handleOverflow(m){let b=this.axis,S=b.options.labels,A=m.x,p=b.chart.chartWidth,C=b.chart.spacing,G=P(b.labelLeft,Math.min(b.pos,C[3])),E=P(b.labelRight,Math.max(b.isRadial?0:b.pos+b.len,p-C[1])),v=this.label,o=this.rotation,u={left:0,center:.5,right:1}[b.labelAlign||v.attr("align")],s=v.getBBox().width,e=b.getSlotWidth(this),t={},r=e,a=1,f,y,h;o||S.overflow!=="justify"?o<0&&A-u*s<G?h=Math.round(A/Math.cos(o*ct)-G):o>0&&A+u*s>E&&(h=Math.round((p-A)/Math.cos(o*ct))):(f=A-u*s,y=A+(1-u)*s,f<G?r=m.x+r*(1-u)-G:y>E&&(r=E-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&&(v.styles||{}).width)&&(h=r)),h&&(this.shortenLabel?this.shortenLabel():(t.width=Math.floor(h)+"px",(S.style||{}).textOverflow||(t.textOverflow="ellipsis"),v.css(t)))}moveLabel(m,b){let S=this,A=S.label,p=S.axis,C=!1,G;A&&A.textStr===m?(S.movedLabel=A,C=!0,delete S.label):j(p.ticks,function(E){C||E.isNew||E===S||!E.label||E.label.textStr!==m||(S.movedLabel=E.label,C=!0,E.labelPos=S.movedLabel.xy,delete E.label)}),!C&&(S.labelPos||A)&&(G=S.labelPos||A.xy,S.movedLabel=S.createLabel(m,b,G),S.movedLabel&&S.movedLabel.attr({opacity:0}))}render(m,b,S){let A=this.axis,p=A.horiz,C=this.pos,G=P(this.tickmarkOffset,A.tickmarkOffset),E=this.getPosition(p,C,G,b),v=E.x,o=E.y,u=A.pos,s=u+A.len,e=p?v:o;!A.chart.polar&&this.isNew&&(nt(e)<u||e>s)&&(S=0);let t=P(S,this.label&&this.label.newOpacity,1);S=P(S,1),this.isActive=!0,this.renderGridLine(b,S),this.renderMark(E,S),this.renderLabel(E,b,t,m),this.isNew=!1,V(this,"afterRender")}renderGridLine(m,b){let S=this.axis,A=S.options,p={},C=this.pos,G=this.type,E=P(this.tickmarkOffset,S.tickmarkOffset),v=S.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||(S.chart.styledMode||(p.stroke=e,p["stroke-width"]=s||0,p.dashstyle=t),G||(p.zIndex=1),m&&(b=0),this.gridLine=o=v.path().attr(p).addClass("highcharts-"+(G?G+"-":"")+"grid-line").add(S.gridGroup)),o&&(u=S.getPlotLinePath({value:C+E,lineWidth:o.strokeWidth(),force:"pass",old:m,acrossPanes:!1}))&&o[m||this.isNew?"attr":"animate"]({d:u,opacity:b})}renderMark(m,b){let S=this.axis,A=S.options,p=S.chart.renderer,C=this.type,G=S.tickSize(C?C+"Tick":"tick"),E=m.x,v=m.y,o=P(A[C!=="minor"?"tickWidth":"minorTickWidth"],!C&&S.isXAxis?1:0),u=A[C!=="minor"?"tickColor":"minorTickColor"],s=this.mark,e=!s;G&&(S.opposite&&(G[0]=-G[0]),s||(this.mark=s=p.path().addClass("highcharts-"+(C?C+"-":"")+"tick").add(S.axisGroup),S.chart.styledMode||s.attr({stroke:u,"stroke-width":o})),s[e?"attr":"animate"]({d:this.getMarkPath(E,v,G[0],s.strokeWidth(),S.horiz,p),opacity:b}))}renderLabel(m,b,S,A){let p=this.axis,C=p.horiz,G=p.options,E=this.label,v=G.labels,o=v.step,u=P(this.tickmarkOffset,p.tickmarkOffset),s=m.x,e=m.y,t=!0;E&&w(s)&&(E.xy=m=this.getLabelPosition(s,e,E,C,v,u,A,o),(!this.isFirst||this.isLast||G.showFirstLabel)&&(!this.isLast||this.isFirst||G.showLastLabel)?!C||v.step||v.rotation||b||S===0||this.handleOverflow(m):t=!1,o&&A%o&&(t=!1),t&&w(m.y)?(m.opacity=S,E[this.isNewLabel?"attr":"animate"](m).show(!0),this.isNewLabel=!1):(E.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(Y,"Core/Axis/Axis.js",[Y["Core/Animation/AnimationUtilities.js"],Y["Core/Axis/AxisDefaults.js"],Y["Core/Color/Color.js"],Y["Core/Defaults.js"],Y["Core/Foundation.js"],Y["Core/Globals.js"],Y["Core/Axis/Tick.js"],Y["Core/Utilities.js"]],function(tt,et,dt,ct,lt,nt,at,q){let{animObject:$}=tt,{xAxis:V,yAxis:w}=et,{defaultOptions:R}=ct,{registerEventOptions:j}=lt,{deg2rad:P}=nt,{arrayMax:m,arrayMin:b,clamp:S,correctFloat:A,defined:p,destroyObjectProperties:C,erase:G,error:E,extend:v,fireEvent:o,getClosestDistance:u,insertItem:s,isArray:e,isNumber:t,isString:r,merge:a,normalizeTickInterval:f,objectEach:y,pick:h,relativeLength:T,removeEvent:F,splat:g,syncTimeout:L}=q,I=(J,l)=>f(l,void 0,void 0,h(J.options.allowDecimals,l<.5||J.tickAmount!==void 0),!!J.tickAmount);v(R,{xAxis:V,yAxis:a(V,w)});class W{constructor(l,n,x){this.init(l,n,x)}init(l,n,x=this.coll){let D=x==="xAxis",i=this.isZAxis||(l.inverted?!D:D);this.chart=l,this.horiz=i,this.isXAxis=D,this.coll=x,o(this,"init",{userOptions:n}),this.opposite=h(n.opposite,this.opposite),this.side=h(n.side,this.side,i?this.opposite?0:2:this.opposite?1:3),this.setOptions(n);let c=this.options,d=c.labels;this.type??(this.type=c.type||"linear"),this.uniqueNames??(this.uniqueNames=c.uniqueNames??!0),o(this,"afterSetType"),this.userOptions=n,this.minPixelPadding=0,this.reversed=h(c.reversed,this.reversed),this.visible=c.visible,this.zoomEnabled=c.zoomEnabled,this.hasNames=this.type==="category"||c.categories===!0,this.categories=e(c.categories)&&c.categories||(this.hasNames?[]:void 0),this.names||(this.names=[],this.names.keys={}),this.plotLinesAndBandsGroups={},this.positiveValuesOnly=!!this.logarithmic,this.isLinked=p(c.linkedTo),this.ticks={},this.labelEdge=[],this.minorTicks={},this.plotLinesAndBands=[],this.alternateBands={},this.len??(this.len=0),this.minRange=this.userMinRange=c.minRange||c.maxZoom,this.range=c.range,this.offset=c.offset||0,this.max=void 0,this.min=void 0;let M=h(c.crosshair,g(l.options.tooltip.crosshairs)[D?0:1]);this.crosshair=M===!0?{}:M,l.axes.indexOf(this)===-1&&(D?l.axes.splice(l.xAxis.length,0,this):l.axes.push(this),s(this,l[this.coll])),l.orderItems(this.coll),this.series=this.series||[],l.inverted&&!this.isZAxis&&D&&!p(this.reversed)&&(this.reversed=!0),this.labelRotation=t(d.rotation)?d.rotation:void 0,j(this,c),o(this,"afterInit")}setOptions(l){let n=this.horiz?{labels:{autoRotation:[-45],padding:4},margin:15}:{labels:{padding:1},title:{rotation:90*this.side}};this.options=a(n,R[this.coll],l),o(this,"afterSetOptions",{userOptions:l})}defaultLabelFormatter(){let l=this.axis,{numberFormatter:n}=this.chart,x=t(this.value)?this.value:NaN,D=l.chart.time,i=l.categories,c=this.dateTimeLabelFormat,d=R.lang,M=d.numericSymbols,k=d.numericSymbolMagnitude||1e3,B=l.logarithmic?Math.abs(x):l.tickInterval,H=M&&M.length,U,Z;if(i)Z=`${this.value}`;else if(c)Z=D.dateFormat(c,x);else if(H&&M&&B>=1e3)for(;H--&&Z===void 0;)B>=(U=Math.pow(k,H+1))&&10*x%U==0&&M[H]!==null&&x!==0&&(Z=n(x/U,-1)+M[H]);return Z===void 0&&(Z=Math.abs(x)>=1e4?n(x,-1):n(x,-1,void 0,"")),Z}getSeriesExtremes(){let l,n=this;o(this,"getSeriesExtremes",null,function(){n.hasVisibleSeries=!1,n.dataMin=n.dataMax=n.threshold=void 0,n.softThreshold=!n.isXAxis,n.series.forEach(x=>{if(x.reserveSpace()){let D=x.options,i,c=D.threshold,d,M;if(n.hasVisibleSeries=!0,n.positiveValuesOnly&&0>=(c||0)&&(c=void 0),n.isXAxis)(i=x.xData)&&i.length&&(i=n.logarithmic?i.filter(k=>k>0):i,d=(l=x.getXExtremes(i)).min,M=l.max,t(d)||d instanceof Date||(i=i.filter(t),d=(l=x.getXExtremes(i)).min,M=l.max),i.length&&(n.dataMin=Math.min(h(n.dataMin,d),d),n.dataMax=Math.max(h(n.dataMax,M),M)));else{let k=x.applyExtremes();t(k.dataMin)&&(d=k.dataMin,n.dataMin=Math.min(h(n.dataMin,d),d)),t(k.dataMax)&&(M=k.dataMax,n.dataMax=Math.max(h(n.dataMax,M),M)),p(c)&&(n.threshold=c),(!D.softThreshold||n.positiveValuesOnly)&&(n.softThreshold=!1)}}})}),o(this,"afterGetSeriesExtremes")}translate(l,n,x,D,i,c){var it;let d=this.linkedParent||this,M=D&&d.old?d.old.min:d.min;if(!t(M))return NaN;let k=d.minPixelPadding,B=(d.isOrdinal||((it=d.brokenAxis)==null?void 0:it.hasBreaks)||d.logarithmic&&i)&&d.lin2val,H=1,U=0,Z=D&&d.old?d.old.transA:d.transA,rt=0;return Z||(Z=d.transA),x&&(H*=-1,U=d.len),d.reversed&&(H*=-1,U-=H*(d.sector||d.len)),n?(rt=(l=l*H+U-k)/Z+M,B&&(rt=d.lin2val(rt))):(B&&(l=d.val2lin(l)),rt=H*(l-M)*Z+U+H*k+(t(c)?Z*c:0),d.isRadial||(rt=A(rt))),rt}toPixels(l,n){return this.translate(l,!1,!this.horiz,void 0,!0)+(n?0:this.pos)}toValue(l,n){return this.translate(l-(n?0:this.pos),!0,!this.horiz,void 0,!0)}getPlotLinePath(l){let n=this,x=n.chart,D=n.left,i=n.top,c=l.old,d=l.value,M=l.lineWidth,k=c&&x.oldChartHeight||x.chartHeight,B=c&&x.oldChartWidth||x.chartWidth,H=n.transB,U=l.translatedValue,Z=l.force,rt,it,z,O,N;function X(Q,_,st){return Z!=="pass"&&(Q<_||Q>st)&&(Z?Q=S(Q,_,st):N=!0),Q}let K={value:d,lineWidth:M,old:c,force:Z,acrossPanes:l.acrossPanes,translatedValue:U};return o(this,"getPlotLinePath",K,function(Q){rt=z=(U=S(U=h(U,n.translate(d,void 0,void 0,c)),-1e9,1e9))+H,it=O=k-U-H,t(U)?n.horiz?(it=i,O=k-n.bottom+(n.options.isInternal?0:x.scrollablePixelsY||0),rt=z=X(rt,D,D+n.width)):(rt=D,z=B-n.right+(x.scrollablePixelsX||0),it=O=X(it,i,i+n.height)):(N=!0,Z=!1),Q.path=N&&!Z?void 0:x.renderer.crispLine([["M",rt,it],["L",z,O]],M||1)}),K.path}getLinearTickPositions(l,n,x){let D,i,c,d=A(Math.floor(n/l)*l),M=A(Math.ceil(x/l)*l),k=[];if(A(d+l)===d&&(c=20),this.single)return[n];for(D=d;D<=M&&(k.push(D),(D=A(D+l,c))!==i);)i=D;return k}getMinorTickInterval(){let{minorTicks:l,minorTickInterval:n}=this.options;return l===!0?h(n,"auto"):l!==!1?n:void 0}getMinorTickPositions(){let l=this.options,n=this.tickPositions,x=this.minorTickInterval,D=this.pointRangePadding||0,i=(this.min||0)-D,c=(this.max||0)+D,d=c-i,M=[],k;if(d&&d/x<this.len/3){let B=this.logarithmic;if(B)this.paddedTicks.forEach(function(H,U,Z){U&&M.push.apply(M,B.getLogTickPositions(x,Z[U-1],Z[U],!0))});else if(this.dateTime&&this.getMinorTickInterval()==="auto")M=M.concat(this.getTimeTicks(this.dateTime.normalizeTimeTickInterval(x),i,c,l.startOfWeek));else for(k=i+(n[0]-i)%x;k<=c&&k!==M[0];k+=x)M.push(k)}return M.length!==0&&this.trimTicks(M),M}adjustForMinRange(){let l=this.options,n=this.logarithmic,{max:x,min:D,minRange:i}=this,c,d,M,k;this.isXAxis&&i===void 0&&!n&&(i=p(l.min)||p(l.max)||p(l.floor)||p(l.ceiling)?null:Math.min(5*(u(this.series.map(B=>{var H;return(B.xIncrement?(H=B.xData)==null?void 0:H.slice(0,2):B.xData)||[]}))||0),this.dataMax-this.dataMin)),t(x)&&t(D)&&t(i)&&x-D<i&&(d=this.dataMax-this.dataMin>=i,c=(i-x+D)/2,M=[D-c,h(l.min,D-c)],d&&(M[2]=n?n.log2lin(this.dataMin):this.dataMin),k=[(D=m(M))+i,h(l.max,D+i)],d&&(k[2]=n?n.log2lin(this.dataMax):this.dataMax),(x=b(k))-D<i&&(M[0]=x-i,M[1]=h(l.min,x-i),D=m(M))),this.minRange=i,this.min=D,this.max=x}getClosest(){let l,n;if(this.categories)n=1;else{let x=[];this.series.forEach(function(D){var c;let i=D.closestPointRange;((c=D.xData)==null?void 0:c.length)===1?x.push(D.xData[0]):!D.noSharedTooltip&&p(i)&&D.reserveSpace()&&(n=p(n)?Math.min(n,i):i)}),x.length&&(x.sort((D,i)=>D-i),l=u([x]))}return l&&n?Math.min(l,n):l||n}nameToX(l){let n=e(this.options.categories),x=n?this.categories:this.names,D=l.options.x,i;return l.series.requireSorting=!1,p(D)||(D=this.uniqueNames&&x?n?x.indexOf(l.name):h(x.keys[l.name],-1):l.series.autoIncrement()),D===-1?!n&&x&&(i=x.length):i=D,i!==void 0?(this.names[i]=l.name,this.names.keys[l.name]=i):l.x&&(i=l.x),i}updateNames(){let l=this,n=this.names;n.length>0&&(Object.keys(n.keys).forEach(function(x){delete n.keys[x]}),n.length=0,this.minRange=this.userMinRange,(this.series||[]).forEach(x=>{x.xIncrement=null,(!x.points||x.isDirtyData)&&(l.max=Math.max(l.max,x.xData.length-1),x.processData(),x.generatePoints()),x.data.forEach(function(D,i){let c;D!=null&&D.options&&D.name!==void 0&&(c=l.nameToX(D))!==void 0&&c!==D.x&&(D.x=c,x.xData[i]=c)})}))}setAxisTranslation(){let l=this,n=l.max-l.min,x=l.linkedParent,D=!!l.categories,i=l.isXAxis,c=l.axisPointRange||0,d,M=0,k=0,B,H=l.transA;(i||D||c)&&(d=l.getClosest(),x?(M=x.minPointOffset,k=x.pointRangePadding):l.series.forEach(function(U){let Z=D?1:i?h(U.options.pointRange,d,0):l.axisPointRange||0,rt=U.options.pointPlacement;if(c=Math.max(c,Z),!l.single||D){let it=U.is("xrange")?!i:i;M=Math.max(M,it&&r(rt)?0:Z/2),k=Math.max(k,it&&rt==="on"?0:Z)}}),B=l.ordinal&&l.ordinal.slope&&d?l.ordinal.slope/d:1,l.minPointOffset=M*=B,l.pointRangePadding=k*=B,l.pointRange=Math.min(c,l.single&&D?1:n),i&&d&&(l.closestPointRange=d)),l.translationSlope=l.transA=H=l.staticScale||l.len/(n+k||1),l.transB=l.horiz?l.left:l.bottom,l.minPixelPadding=H*M,o(this,"afterSetAxisTranslation")}minFromRange(){let{max:l,min:n}=this;return t(l)&&t(n)&&l-n||void 0}setTickInterval(l){var ft,gt,vt,bt;let{categories:n,chart:x,dataMax:D,dataMin:i,dateTime:c,isXAxis:d,logarithmic:M,options:k,softThreshold:B}=this,H=t(this.threshold)?this.threshold:void 0,U=this.minRange||0,{ceiling:Z,floor:rt,linkedTo:it,softMax:z,softMin:O}=k,N=t(it)&&((ft=x[this.coll])==null?void 0:ft[it]),X=k.tickPixelInterval,K=k.maxPadding,Q=k.minPadding,_=0,st,ot=t(k.tickInterval)&&k.tickInterval>=0?k.tickInterval:void 0,ht,pt,ut,mt;if(c||n||N||this.getTickAmount(),ut=h(this.userMin,k.min),mt=h(this.userMax,k.max),N?(this.linkedParent=N,st=N.getExtremes(),this.min=h(st.min,st.dataMin),this.max=h(st.max,st.dataMax),this.type!==N.type&&E(11,!0,x)):(B&&p(H)&&t(D)&&t(i)&&(i>=H?(ht=H,Q=0):D<=H&&(pt=H,K=0)),this.min=h(ut,ht,i),this.max=h(mt,pt,D)),t(this.max)&&t(this.min)&&(M&&(this.positiveValuesOnly&&!l&&0>=Math.min(this.min,h(i,this.min))&&E(10,!0,x),this.min=A(M.log2lin(this.min),16),this.max=A(M.log2lin(this.max),16)),this.range&&t(i)&&(this.userMin=this.min=ut=Math.max(i,this.minFromRange()||0),this.userMax=mt=this.max,this.range=void 0)),o(this,"foundExtremes"),this.adjustForMinRange(),t(this.min)&&t(this.max)){if(!t(this.userMin)&&t(O)&&O<this.min&&(this.min=ut=O),!t(this.userMax)&&t(z)&&z>this.max&&(this.max=mt=z),n||this.axisPointRange||(gt=this.stacking)!=null&>.usePercentage||N||!(_=this.max-this.min)||(!p(ut)&&Q&&(this.min-=_*Q),p(mt)||!K||(this.max+=_*K)),!t(this.userMin)&&t(rt)&&(this.min=Math.max(this.min,rt)),!t(this.userMax)&&t(Z)&&(this.max=Math.min(this.max,Z)),B&&t(i)&&t(D)){let St=H||0;!p(ut)&&this.min<St&&i>=St?this.min=k.minRange?Math.min(St,this.max-U):St:!p(mt)&&this.max>St&&D<=St&&(this.max=k.minRange?Math.max(St,this.min+U):St)}!x.polar&&this.min>this.max&&(p(k.min)?this.max=this.min:p(k.max)&&(this.min=this.max)),_=this.max-this.min}if(this.min!==this.max&&t(this.min)&&t(this.max)?N&&!ot&&X===N.options.tickPixelInterval?this.tickInterval=ot=N.tickInterval:this.tickInterval=h(ot,this.tickAmount?_/Math.max(this.tickAmount-1,1):void 0,n?1:_*X/Math.max(this.len,X)):this.tickInterval=1,d&&!l){let St=this.min!==((vt=this.old)==null?void 0:vt.min)||this.max!==((bt=this.old)==null?void 0:bt.max);this.series.forEach(function(Ct){var kt;Ct.forceCrop=(kt=Ct.forceCropping)==null?void 0:kt.call(Ct),Ct.processData(St)}),o(this,"postProcessData",{hasExtremesChanged:St})}this.setAxisTranslation(),o(this,"initialAxisTranslation"),this.pointRange&&!ot&&(this.tickInterval=Math.max(this.pointRange,this.tickInterval));let xt=h(k.minTickInterval,c&&!this.series.some(St=>St.noSharedTooltip)?this.closestPointRange:0);!ot&&this.tickInterval<xt&&(this.tickInterval=xt),c||M||ot||(this.tickInterval=I(this,this.tickInterval)),this.tickAmount||(this.tickInterval=this.unsquish()),this.setTickPositions()}setTickPositions(){var B,H;let l=this.options,n=l.tickPositions,x=l.tickPositioner,D=this.getMinorTickInterval(),i=!this.isPanning,c=i&&l.startOnTick,d=i&&l.endOnTick,M=[],k;if(this.tickmarkOffset=this.categories&&l.tickmarkPlacement==="between"&&this.tickInterval===1?.5:0,this.single=this.min===this.max&&p(this.min)&&!this.tickAmount&&(this.min%1==0||l.allowDecimals!==!1),n)M=n.slice();else if(t(this.min)&&t(this.max)){if(!((B=this.ordinal)!=null&&B.positions)&&(this.max-this.min)/this.tickInterval>Math.max(2*this.len,200))M=[this.min,this.max],E(19,!1,this.chart);else if(this.dateTime)M=this.getTimeTicks(this.dateTime.normalizeTimeTickInterval(this.tickInterval,l.units),this.min,this.max,l.startOfWeek,(H=this.ordinal)==null?void 0:H.positions,this.closestPointRange,!0);else if(this.logarithmic)M=this.logarithmic.getLogTickPositions(this.tickInterval,this.min,this.max);else{let U=this.tickInterval,Z=U;for(;Z<=2*U&&(M=this.getLinearTickPositions(this.tickInterval,this.min,this.max),this.tickAmount&&M.length>this.tickAmount);)this.tickInterval=I(this,Z*=1.1)}M.length>this.len&&(M=[M[0],M[M.length-1]])[0]===M[1]&&(M.length=1),x&&(this.tickPositions=M,(k=x.apply(this,[this.min,this.max]))&&(M=k))}this.tickPositions=M,this.minorTickInterval=D==="auto"&&this.tickInterval?this.tickInterval/l.minorTicksPerMajor:D,this.paddedTicks=M.slice(0),this.trimTicks(M,c,d),!this.isLinked&&t(this.min)&&t(this.max)&&(this.single&&M.length<2&&!this.categories&&!this.series.some(U=>U.is("heatmap")&&U.options.pointPlacement==="between")&&(this.min-=.5,this.max+=.5),n||k||this.adjustTickAmount()),o(this,"afterSetTickPositions")}trimTicks(l,n,x){let D=l[0],i=l[l.length-1],c=!this.isOrdinal&&this.minPointOffset||0;if(o(this,"trimTicks"),!this.isLinked){if(n&&D!==-1/0)this.min=D;else for(;this.min-c>l[0];)l.shift();if(x)this.max=i;else for(;this.max+c<l[l.length-1];)l.pop();l.length===0&&p(D)&&!this.options.tickPositions&&l.push((i+D)/2)}}alignToOthers(){let l,n=this,x=n.chart,D=[this],i=n.options,c=x.options.chart,d=this.coll==="yAxis"&&c.alignThresholds,M=[];if(n.thresholdAlignment=void 0,(c.alignTicks!==!1&&i.alignTicks||d)&&i.startOnTick!==!1&&i.endOnTick!==!1&&!n.logarithmic){let k=H=>{let{horiz:U,options:Z}=H;return[U?Z.left:Z.top,Z.width,Z.height,Z.pane].join(",")},B=k(this);x[this.coll].forEach(function(H){let{series:U}=H;U.length&&U.some(Z=>Z.visible)&&H!==n&&k(H)===B&&(l=!0,D.push(H))})}if(l&&d){D.forEach(B=>{let H=B.getThresholdAlignment(n);t(H)&&M.push(H)});let k=M.length>1?M.reduce((B,H)=>B+=H,0)/M.length:void 0;D.forEach(B=>{B.thresholdAlignment=k})}return l}getThresholdAlignment(l){if((!t(this.dataMin)||this!==l&&this.series.some(n=>n.isDirty||n.isDirtyData))&&this.getSeriesExtremes(),t(this.threshold)){let n=S((this.threshold-(this.dataMin||0))/((this.dataMax||0)-(this.dataMin||0)),0,1);return this.options.reversed&&(n=1-n),n}}getTickAmount(){let l=this.options,n=l.tickPixelInterval,x=l.tickAmount;p(l.tickInterval)||x||!(this.len<n)||this.isRadial||this.logarithmic||!l.startOnTick||!l.endOnTick||(x=2),!x&&this.alignToOthers()&&(x=Math.ceil(this.len/n)+1),x<4&&(this.finalTickAmt=x,x=5),this.tickAmount=x}adjustTickAmount(){let l=this,{finalTickAmt:n,max:x,min:D,options:i,tickPositions:c,tickAmount:d,thresholdAlignment:M}=l,k=c==null?void 0:c.length,B=h(l.threshold,l.softThreshold?0:null),H,U,Z=l.tickInterval,rt,it=()=>c.push(A(c[c.length-1]+Z)),z=()=>c.unshift(A(c[0]-Z));if(t(M)&&(rt=M<.5?Math.ceil(M*(d-1)):Math.floor(M*(d-1)),i.reversed&&(rt=d-1-rt)),l.hasData()&&t(D)&&t(x)){let O=()=>{l.transA*=(k-1)/(d-1),l.min=i.startOnTick?c[0]:Math.min(D,c[0]),l.max=i.endOnTick?c[c.length-1]:Math.max(x,c[c.length-1])};if(t(rt)&&t(l.threshold)){for(;c[rt]!==B||c.length!==d||c[0]>D||c[c.length-1]<x;){for(c.length=0,c.push(l.threshold);c.length<d;)c[rt]===void 0||c[rt]>l.threshold?z():it();if(Z>8*l.tickInterval)break;Z*=2}O()}else if(k<d){for(;c.length<d;)c.length%2||D===B?it():z();O()}if(p(n)){for(U=H=c.length;U--;)(n===3&&U%2==1||n<=2&&U>0&&U<H-1)&&c.splice(U,1);l.finalTickAmt=void 0}}}setScale(){var c,d;let{coll:l,stacking:n}=this,x=!1,D=!1;this.series.forEach(M=>{x=x||M.isDirtyData||M.isDirty,D=D||M.xAxis&&M.xAxis.isDirty||!1}),this.setAxisSize();let i=this.len!==(this.old&&this.old.len);i||x||D||this.isLinked||this.forceRedraw||this.userMin!==(this.old&&this.old.userMin)||this.userMax!==(this.old&&this.old.userMax)||this.alignToOthers()?(n&&l==="yAxis"&&n.buildStacks(),this.forceRedraw=!1,this.userMinRange||(this.minRange=void 0),this.getSeriesExtremes(),this.setTickInterval(),n&&l==="xAxis"&&n.buildStacks(),this.isDirty||(this.isDirty=i||this.min!==((c=this.old)==null?void 0:c.min)||this.max!==((d=this.old)==null?void 0:d.max))):n&&n.cleanStacks(),x&&delete this.allExtremes,o(this,"afterSetScale")}setExtremes(l,n,x=!0,D,i){this.series.forEach(c=>{delete c.kdTree}),o(this,"setExtremes",i=v(i,{min:l,max:n}),c=>{this.userMin=c.min,this.userMax=c.max,this.eventArgs=c,x&&this.chart.redraw(D)})}setAxisSize(){let l=this.chart,n=this.options,x=n.offsets||[0,0,0,0],D=this.horiz,i=this.width=Math.round(T(h(n.width,l.plotWidth-x[3]+x[1]),l.plotWidth)),c=this.height=Math.round(T(h(n.height,l.plotHeight-x[0]+x[2]),l.plotHeight)),d=this.top=Math.round(T(h(n.top,l.plotTop+x[0]),l.plotHeight,l.plotTop)),M=this.left=Math.round(T(h(n.left,l.plotLeft+x[3]),l.plotWidth,l.plotLeft));this.bottom=l.chartHeight-c-d,this.right=l.chartWidth-i-M,this.len=Math.max(D?i:c,0),this.pos=D?M:d}getExtremes(){let l=this.logarithmic;return{min:l?A(l.lin2log(this.min)):this.min,max:l?A(l.lin2log(this.max)):this.max,dataMin:this.dataMin,dataMax:this.dataMax,userMin:this.userMin,userMax:this.userMax}}getThreshold(l){let n=this.logarithmic,x=n?n.lin2log(this.min):this.min,D=n?n.lin2log(this.max):this.max;return l===null||l===-1/0?l=x:l===1/0?l=D:x>l?l=x:D<l&&(l=D),this.translate(l,0,1,0,1)}autoLabelAlign(l){let n=(h(l,0)-90*this.side+720)%360,x={align:"center"};return o(this,"autoLabelAlign",x,function(D){n>15&&n<165?D.align="right":n>195&&n<345&&(D.align="left")}),x.align}tickSize(l){let n=this.options,x=h(n[l==="tick"?"tickWidth":"minorTickWidth"],l==="tick"&&this.isXAxis&&!this.categories?1:0),D=n[l==="tick"?"tickLength":"minorTickLength"],i;x&&D&&(n[l+"Position"]==="inside"&&(D=-D),i=[D,x]);let c={tickSize:i};return o(this,"afterTickSize",c),c.tickSize}labelMetrics(){let l=this.chart.renderer,n=this.ticks,x=n[Object.keys(n)[0]]||{};return this.chart.renderer.fontMetrics(x.label||x.movedLabel||l.box)}unsquish(){let l=this.options.labels,n=l.padding||0,x=this.horiz,D=this.tickInterval,i=this.len/(((this.categories?1:0)+this.max-this.min)/D),c=l.rotation,d=A(.8*this.labelMetrics().h),M=Math.max(this.max-this.min,0),k=function(rt){let it=(rt+2*n)/(i||1);return(it=it>1?Math.ceil(it):1)*D>M&&rt!==1/0&&i!==1/0&&M&&(it=Math.ceil(M/D)),A(it*D)},B=D,H,U=Number.MAX_VALUE,Z;if(x){if(!l.staggerLines&&(t(c)?Z=[c]:i<l.autoRotationLimit&&(Z=l.autoRotation)),Z){let rt,it;for(let z of Z)(z===c||z&&z>=-90&&z<=90)&&(it=(rt=k(Math.abs(d/Math.sin(P*z))))+Math.abs(z/360))<U&&(U=it,H=z,B=rt)}}else B=k(.75*d);return this.autoRotation=Z,this.labelRotation=h(H,t(c)?c:0),l.step?D:B}getSlotWidth(l){let n=this.chart,x=this.horiz,D=this.options.labels,i=Math.max(this.tickPositions.length-(this.categories?0:1),1),c=n.margin[3];if(l&&t(l.slotWidth))return l.slotWidth;if(x&&D.step<2)return D.rotation?0:(this.staggerLines||1)*this.len/i;if(!x){let d=D.style.width;if(d!==void 0)return parseInt(String(d),10);if(c)return c-n.spacing[3]}return .33*n.chartWidth}renderUnsquish(){let l=this.chart,n=l.renderer,x=this.tickPositions,D=this.ticks,i=this.options.labels,c=i.style,d=this.horiz,M=this.getSlotWidth(),k=Math.max(1,Math.round(M-(d?2*(i.padding||0):i.distance||0))),B={},H=this.labelMetrics(),U=c.textOverflow,Z,rt,it=0,z,O;if(r(i.rotation)||(B.rotation=i.rotation||0),x.forEach(function(N){let X=D[N];X.movedLabel&&X.replaceMovedLabel(),X&&X.label&&X.label.textPxLength>it&&(it=X.label.textPxLength)}),this.maxLabelLength=it,this.autoRotation)it>k&&it>H.h?B.rotation=this.labelRotation:this.labelRotation=0;else if(M&&(Z=k,!U))for(rt="clip",O=x.length;!d&&O--;)(z=D[x[O]].label)&&(z.styles.textOverflow==="ellipsis"?z.css({textOverflow:"clip"}):z.textPxLength>M&&z.css({width:M+"px"}),z.getBBox().height>this.len/x.length-(H.h-H.f)&&(z.specificTextOverflow="ellipsis"));B.rotation&&(Z=it>.5*l.chartHeight?.33*l.chartHeight:it,U||(rt="ellipsis")),this.labelAlign=i.align||this.autoLabelAlign(this.labelRotation),this.labelAlign&&(B.align=this.labelAlign),x.forEach(function(N){let X=D[N],K=X&&X.label,Q=c.width,_={};K&&(K.attr(B),X.shortenLabel?X.shortenLabel():Z&&!Q&&c.whiteSpace!=="nowrap"&&(Z<K.textPxLength||K.element.tagName==="SPAN")?(_.width=Z+"px",U||(_.textOverflow=K.specificTextOverflow||rt),K.css(_)):!K.styles.width||_.width||Q||K.css({width:null}),delete K.specificTextOverflow,X.rotation=B.rotation)},this),this.tickRotCorr=n.rotCorr(H.b,this.labelRotation||0,this.side!==0)}hasData(){return this.series.some(function(l){return l.hasData()})||this.options.showEmpty&&p(this.min)&&p(this.max)}addTitle(l){let n,x=this.chart.renderer,D=this.horiz,i=this.opposite,c=this.options.title,d=this.chart.styledMode;this.axisTitle||((n=c.textAlign)||(n=(D?{low:"left",middle:"center",high:"right"}:{low:i?"right":"left",middle:"center",high:i?"left":"right"})[c.align]),this.axisTitle=x.text(c.text||"",0,0,c.useHTML).attr({zIndex:7,rotation:c.rotation||0,align:n}).addClass("highcharts-axis-title"),d||this.axisTitle.css(a(c.style)),this.axisTitle.add(this.axisGroup),this.axisTitle.isNew=!0),d||c.style.width||this.isRadial||this.axisTitle.css({width:this.len+"px"}),this.axisTitle[l?"show":"hide"](l)}generateTick(l){let n=this.ticks;n[l]?n[l].addLabel():n[l]=new at(this,l)}createGroups(){let{axisParent:l,chart:n,coll:x,options:D}=this,i=n.renderer,c=(d,M,k)=>i.g(d).attr({zIndex:k}).addClass(`highcharts-${x.toLowerCase()}${M} `+(this.isRadial?`highcharts-radial-axis${M} `:"")+(D.className||"")).add(l);this.axisGroup||(this.gridGroup=c("grid","-grid",D.gridZIndex),this.axisGroup=c("axis","",D.zIndex),this.labelGroup=c("axis-labels","-labels",D.labels.zIndex))}getOffset(){let l=this,{chart:n,horiz:x,options:D,side:i,ticks:c,tickPositions:d,coll:M}=l,k=n.inverted&&!l.isZAxis?[1,0,3,2][i]:i,B=l.hasData(),H=D.title,U=D.labels,Z=t(D.crossing),rt=n.axisOffset,it=n.clipOffset,z=[-1,1,1,-1][i],O,N=0,X,K=0,Q=0,_,st;if(l.showAxis=O=B||D.showEmpty,l.staggerLines=l.horiz&&U.staggerLines||void 0,l.createGroups(),B||l.isLinked?(d.forEach(function(ot){l.generateTick(ot)}),l.renderUnsquish(),l.reserveSpaceDefault=i===0||i===2||{1:"left",3:"right"}[i]===l.labelAlign,h(U.reserveSpace,!Z&&null,l.labelAlign==="center"||null,l.reserveSpaceDefault)&&d.forEach(function(ot){Q=Math.max(c[ot].getLabelSize(),Q)}),l.staggerLines&&(Q*=l.staggerLines),l.labelOffset=Q*(l.opposite?-1:1)):y(c,function(ot,ht){ot.destroy(),delete c[ht]}),H!=null&&H.text&&H.enabled!==!1&&(l.addTitle(O),O&&!Z&&H.reserveSpace!==!1&&(l.titleOffset=N=l.axisTitle.getBBox()[x?"height":"width"],K=p(X=H.offset)?0:h(H.margin,x?5:10))),l.renderLine(),l.offset=z*h(D.offset,rt[i]?rt[i]+(D.margin||0):0),l.tickRotCorr=l.tickRotCorr||{x:0,y:0},st=i===0?-l.labelMetrics().h:i===2?l.tickRotCorr.y:0,_=Math.abs(Q)+K,Q&&(_-=st,_+=z*(x?h(U.y,l.tickRotCorr.y+z*U.distance):h(U.x,z*U.distance))),l.axisTitleMargin=h(X,_),l.getMaxLabelDimensions&&(l.maxLabelDimensions=l.getMaxLabelDimensions(c,d)),M!=="colorAxis"&&it){let ot=this.tickSize("tick");rt[i]=Math.max(rt[i],(l.axisTitleMargin||0)+N+z*l.offset,_,d&&d.length&&ot?ot[0]+z*l.offset:0);let ht=!l.axisLine||D.offset?0:l.axisLine.strokeWidth()/2;it[k]=Math.max(it[k],ht)}o(this,"afterGetOffset")}getLinePath(l){let n=this.chart,x=this.opposite,D=this.offset,i=this.horiz,c=this.left+(x?this.width:0)+D,d=n.chartHeight-this.bottom-(x?this.height:0)+D;return x&&(l*=-1),n.renderer.crispLine([["M",i?this.left:c,i?d:this.top],["L",i?n.chartWidth-this.right:c,i?d:n.chartHeight-this.bottom]],l)}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(l){let n=this.horiz,x=this.left,D=this.top,i=this.len,c=this.options.title,d=n?x:D,M=this.opposite,k=this.offset,B=c.x,H=c.y,U=this.chart.renderer.fontMetrics(l),Z=l?Math.max(l.getBBox(!1,0).height-U.h-1,0):0,rt={low:d+(n?0:i),middle:d+i/2,high:d+(n?i:0)}[c.align],it=(n?D+this.height:x)+(n?1:-1)*(M?-1:1)*(this.axisTitleMargin||0)+[-Z,Z,U.f,-Z][this.side],z={x:n?rt+B:it+(M?this.width:0)+k+B,y:n?it+H-(M?this.height:0)+k:rt+H};return o(this,"afterGetTitlePosition",{titlePosition:z}),z}renderMinorTick(l,n){let x=this.minorTicks;x[l]||(x[l]=new at(this,l,"minor")),n&&x[l].isNew&&x[l].render(null,!0),x[l].render(null,!1,1)}renderTick(l,n,x){let D=this.isLinked,i=this.ticks;(!D||l>=this.min&&l<=this.max||this.grid&&this.grid.isColumn)&&(i[l]||(i[l]=new at(this,l)),x&&i[l].isNew&&i[l].render(n,!0,-1),i[l].render(n))}render(){let l,n,x=this,D=x.chart,i=x.logarithmic,c=D.renderer,d=x.options,M=x.isLinked,k=x.tickPositions,B=x.axisTitle,H=x.ticks,U=x.minorTicks,Z=x.alternateBands,rt=d.stackLabels,it=d.alternateGridColor,z=d.crossing,O=x.tickmarkOffset,N=x.axisLine,X=x.showAxis,K=$(c.globalAnimation);if(x.labelEdge.length=0,x.overlap=!1,[H,U,Z].forEach(function(Q){y(Q,function(_){_.isActive=!1})}),t(z)){let Q=this.isXAxis?D.yAxis[0]:D.xAxis[0],_=[1,-1,-1,1][this.side];if(Q){let st=Q.toPixels(z,!0);x.horiz&&(st=Q.len-st),x.offset=_*st}}if(x.hasData()||M){let Q=x.chart.hasRendered&&x.old&&t(x.old.min);x.minorTickInterval&&!x.categories&&x.getMinorTickPositions().forEach(function(_){x.renderMinorTick(_,Q)}),k.length&&(k.forEach(function(_,st){x.renderTick(_,st,Q)}),O&&(x.min===0||x.single)&&(H[-1]||(H[-1]=new at(x,-1,null,!0)),H[-1].render(-1))),it&&k.forEach(function(_,st){n=k[st+1]!==void 0?k[st+1]+O:x.max-O,st%2==0&&_<x.max&&n<=x.max+(D.polar?-O:O)&&(Z[_]||(Z[_]=new nt.PlotLineOrBand(x,{})),l=_+O,Z[_].options={from:i?i.lin2log(l):l,to:i?i.lin2log(n):n,color:it,className:"highcharts-alternate-grid"},Z[_].render(),Z[_].isActive=!0)}),x._addedPlotLB||(x._addedPlotLB=!0,(d.plotLines||[]).concat(d.plotBands||[]).forEach(function(_){x.addPlotBandOrLine(_)}))}[H,U,Z].forEach(function(Q){let _=[],st=K.duration;y(Q,function(ot,ht){ot.isActive||(ot.render(ht,!1,0),ot.isActive=!1,_.push(ht))}),L(function(){let ot=_.length;for(;ot--;)Q[_[ot]]&&!Q[_[ot]].isActive&&(Q[_[ot]].destroy(),delete Q[_[ot]])},Q!==Z&&D.hasRendered&&st?st:0)}),N&&(N[N.isPlaced?"animate":"attr"]({d:this.getLinePath(N.strokeWidth())}),N.isPlaced=!0,N[X?"show":"hide"](X)),B&&X&&(B[B.isNew?"attr":"animate"](x.getTitlePosition(B)),B.isNew=!1),rt&&rt.enabled&&x.stacking&&x.stacking.renderStackTotals(),x.old={len:x.len,max:x.max,min:x.min,transA:x.transA,userMax:x.userMax,userMin:x.userMin},x.isDirty=!1,o(this,"afterRender")}redraw(){this.visible&&(this.render(),this.plotLinesAndBands.forEach(function(l){l.render()})),this.series.forEach(function(l){l.isDirty=!0})}getKeepProps(){return this.keepProps||W.keepProps}destroy(l){let n=this,x=n.plotLinesAndBands,D=this.eventOptions;if(o(this,"destroy",{keepEvents:l}),l||F(n),[n.ticks,n.minorTicks,n.alternateBands].forEach(function(i){C(i)}),x){let i=x.length;for(;i--;)x[i].destroy()}for(let i in["axisLine","axisTitle","axisGroup","gridGroup","labelGroup","cross","scrollbar"].forEach(function(c){n[c]&&(n[c]=n[c].destroy())}),n.plotLinesAndBandsGroups)n.plotLinesAndBandsGroups[i]=n.plotLinesAndBandsGroups[i].destroy();y(n,function(i,c){n.getKeepProps().indexOf(c)===-1&&delete n[c]}),this.eventOptions=D}drawCrosshair(l,n){let x=this.crosshair,D=h(x&&x.snap,!0),i=this.chart,c,d,M,k=this.cross,B;if(o(this,"drawCrosshair",{e:l,point:n}),l||(l=this.cross&&this.cross.e),x&&(p(n)||!D)!==!1){if(D?p(n)&&(d=h(this.coll!=="colorAxis"?n.crosshairPos:null,this.isXAxis?n.plotX:this.len-n.plotY)):d=l&&(this.horiz?l.chartX-this.pos:this.len-l.chartY+this.pos),p(d)&&(B={value:n&&(this.isXAxis?n.x:h(n.stackY,n.y)),translatedValue:d},i.polar&&v(B,{isCrosshair:!0,chartX:l&&l.chartX,chartY:l&&l.chartY,point:n}),c=this.getPlotLinePath(B)||null),!p(c)){this.hideCrosshair();return}M=this.categories&&!this.isRadial,k||(this.cross=k=i.renderer.path().addClass("highcharts-crosshair highcharts-crosshair-"+(M?"category ":"thin ")+(x.className||"")).attr({zIndex:h(x.zIndex,2)}).add(),!i.styledMode&&(k.attr({stroke:x.color||(M?dt.parse("#ccd3ff").setOpacity(.25).get():"#cccccc"),"stroke-width":h(x.width,1)}).css({"pointer-events":"none"}),x.dashStyle&&k.attr({dashstyle:x.dashStyle}))),k.show().attr({d:c}),M&&!x.width&&k.attr({"stroke-width":this.transA}),this.cross.e=l}else this.hideCrosshair();o(this,"afterDrawCrosshair",{e:l,point:n})}hideCrosshair(){this.cross&&this.cross.hide(),o(this,"afterHideCrosshair")}update(l,n){let x=this.chart;l=a(this.userOptions,l),this.destroy(!0),this.init(x,l),x.isDirtyBox=!0,h(n,!0)&&x.redraw()}remove(l){let n=this.chart,x=this.coll,D=this.series,i=D.length;for(;i--;)D[i]&&D[i].remove(!1);G(n.axes,this),G(n[x]||[],this),n.orderItems(x),this.destroy(),n.isDirtyBox=!0,h(l,!0)&&n.redraw()}setTitle(l,n){this.update({title:l},n)}setCategories(l,n){this.update({categories:l},n)}}return W.keepProps=["coll","extKey","hcEvents","len","names","series","userMax","userMin"],W}),yt(Y,"Core/Axis/DateTimeAxis.js",[Y["Core/Utilities.js"]],function(tt){var et;let{addEvent:dt,getMagnitude:ct,normalizeTickInterval:lt,timeUnits:nt}=tt;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(w){return w.keepProps.includes("dateTime")||(w.keepProps.push("dateTime"),w.prototype.getTimeTicks=q,dt(w,"afterSetType",$)),w};class V{constructor(R){this.axis=R}normalizeTimeTickInterval(R,j){let P=j||[["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=nt[m[0]],S=m[1],A;for(A=0;A<P.length&&(b=nt[(m=P[A])[0]],S=m[1],!P[A+1]||!(R<=(b*S[S.length-1]+nt[P[A+1][0]])/2));A++);b===nt.year&&R<5*b&&(S=[1,2,5]);let p=lt(R/b,S,m[0]==="year"?Math.max(ct(R/b),1):1);return{unitRange:b,count:p,unitName:m[0]}}getXDateFormat(R,j){let{axis:P}=this,m=P.chart.time;return P.closestPointRange?m.getDateFormat(P.closestPointRange,R,P.options.startOfWeek,j)||m.resolveDTLFormat(j.year).main:m.resolveDTLFormat(j.day).main}}at.Additions=V}(et||(et={})),et}),yt(Y,"Core/Axis/LogarithmicAxis.js",[Y["Core/Utilities.js"]],function(tt){var et;let{addEvent:dt,normalizeTickInterval:ct,pick:lt}=tt;return function(nt){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(w){return V.lin2log(w)},this.val2lin=function(w){return V.log2lin(w)})}nt.compose=function(V){return V.keepProps.includes("logarithmic")||(V.keepProps.push("logarithmic"),dt(V,"afterSetType",at),dt(V,"afterInit",q)),V};class ${constructor(w){this.axis=w}getLogTickPositions(w,R,j,P){let m=this.axis,b=m.len,S=m.options,A=[];if(P||(this.minorAutoInterval=void 0),w>=.5)w=Math.round(w),A=m.getLinearTickPositions(w,R,j);else if(w>=.08){let p,C,G,E,v,o,u,s=Math.floor(R);for(p=w>.3?[1,2,4]:w>.15?[1,2,4,6,8]:[1,2,3,4,5,6,7,8,9],C=s;C<j+1&&!u;C++)for(G=0,E=p.length;G<E&&!u;G++)(v=this.log2lin(this.lin2log(C)*p[G]))>R&&(!P||o<=j)&&o!==void 0&&A.push(o),o>j&&(u=!0),o=v}else{let p=this.lin2log(R),C=this.lin2log(j),G=P?m.getMinorTickInterval():S.tickInterval,E=S.tickPixelInterval/(P?5:1),v=P?b/m.tickPositions.length:b;w=ct(w=lt(G==="auto"?null:G,this.minorAutoInterval,(C-p)*E/(v||1))),A=m.getLinearTickPositions(w,p,C).map(this.log2lin),P||(this.minorAutoInterval=w/5)}return P||(m.tickInterval=w),A}lin2log(w){return Math.pow(10,w)}log2lin(w){return Math.log(w)/Math.LN10}}nt.Additions=$}(et||(et={})),et}),yt(Y,"Core/Axis/PlotLineOrBand/PlotLineOrBandAxis.js",[Y["Core/Utilities.js"]],function(tt){var et;let{erase:dt,extend:ct,isNumber:lt}=tt;return function(nt){let at;function q(m){return this.addPlotBandOrLine(m,"plotBands")}function $(m,b){let S=this.userOptions,A=new at(this,m);if(this.visible&&(A=A.render()),A){if(this._addedPlotLB||(this._addedPlotLB=!0,(S.plotLines||[]).concat(S.plotBands||[]).forEach(p=>{this.addPlotBandOrLine(p)})),b){let p=S[b]||[];p.push(m),S[b]=p}this.plotLinesAndBands.push(A)}return A}function V(m){return this.addPlotBandOrLine(m,"plotLines")}function w(m,b,S){S=S||this.options;let A=this.getPlotLinePath({value:b,force:!0,acrossPanes:S.acrossPanes}),p=[],C=this.horiz,G=!lt(this.min)||!lt(this.max)||m<this.min&&b<this.min||m>this.max&&b>this.max,E=this.getPlotLinePath({value:m,force:!0,acrossPanes:S.acrossPanes}),v,o=1,u;if(E&&A)for(G&&(u=E.toString()===A.toString(),o=0),v=0;v<E.length;v+=2){let s=E[v],e=E[v+1],t=A[v],r=A[v+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")&&(C&&t[1]===s[1]?(t[1]+=o,r[1]+=o):C||t[2]!==s[2]||(t[2]+=o,r[2]+=o),p.push(["M",s[1],s[2]],["L",e[1],e[2]],["L",r[1],r[2]],["L",t[1],t[2]],["Z"])),p.isFlat=u}return p}function R(m){this.removePlotBandOrLine(m)}function j(m){let b=this.plotLinesAndBands,S=this.options,A=this.userOptions;if(b){let p=b.length;for(;p--;)b[p].id===m&&b[p].destroy();[S.plotLines||[],A.plotLines||[],S.plotBands||[],A.plotBands||[]].forEach(function(C){for(p=C.length;p--;)(C[p]||{}).id===m&&dt(C,C[p])})}}function P(m){this.removePlotBandOrLine(m)}nt.compose=function(m,b){let S=b.prototype;return S.addPlotBand||(at=m,ct(S,{addPlotBand:q,addPlotLine:V,addPlotBandOrLine:$,getPlotBandPath:w,removePlotBand:R,removePlotLine:P,removePlotBandOrLine:j})),b}}(et||(et={})),et}),yt(Y,"Core/Axis/PlotLineOrBand/PlotLineOrBand.js",[Y["Core/Axis/PlotLineOrBand/PlotLineOrBandAxis.js"],Y["Core/Utilities.js"]],function(tt,et){let{addEvent:dt,arrayMax:ct,arrayMin:lt,defined:nt,destroyObjectProperties:at,erase:q,fireEvent:$,merge:V,objectEach:w,pick:R}=et;class j{static compose(m,b){return dt(m,"afterInit",function(){this.labelCollectors.push(()=>{var A;let S=[];for(let p of this.axes)for(let{label:C,options:G}of p.plotLinesAndBands)C&&!((A=G==null?void 0:G.label)!=null&&A.allowOverlap)&&S.push(C);return S})}),tt.compose(j,b)}constructor(m,b){this.axis=m,this.options=b,this.id=b.id}render(){$(this,"render");let{axis:m,options:b}=this,{horiz:S,logarithmic:A}=m,{color:p,events:C,zIndex:G=0}=b,E={},v=m.chart.renderer,o=b.to,u=b.from,s=b.value,e=b.borderWidth,t=b.label,{label:r,svgElem:a}=this,f=[],y,h=nt(u)&&nt(o),T=nt(s),F=!a,g={class:"highcharts-plot-"+(h?"band ":"line ")+(b.className||"")},L=h?"bands":"lines";if(!m.chart.styledMode&&(T?(g.stroke=p||"#999999",g["stroke-width"]=R(b.width,1),b.dashStyle&&(g.dashstyle=b.dashStyle)):h&&(g.fill=p||"#e6e9ff",e&&(g.stroke=b.borderColor,g["stroke-width"]=e))),E.zIndex=G,L+="-"+G,(y=m.plotLinesAndBandsGroups[L])||(m.plotLinesAndBandsGroups[L]=y=v.g("plot-"+L).attr(E).add()),a||(this.svgElem=a=v.path().attr(g).add(y)),nt(s))f=m.getPlotLinePath({value:(A==null?void 0:A.log2lin(s))??s,lineWidth:a.strokeWidth(),acrossPanes:b.acrossPanes});else{if(!(nt(u)&&nt(o)))return;f=m.getPlotBandPath((A==null?void 0:A.log2lin(u))??u,(A==null?void 0:A.log2lin(o))??o,b)}return!this.eventsAdded&&C&&(w(C,(I,W)=>{a==null||a.on(W,J=>{C[W].apply(this,[J])})}),this.eventsAdded=!0),(F||!a.d)&&(f!=null&&f.length)?a.attr({d:f}):a&&(f?(a.show(),a.animate({d:f})):a.d&&(a.hide(),r&&(this.label=r=r.destroy()))),t&&(nt(t.text)||nt(t.formatter))&&(f!=null&&f.length)&&m.width>0&&m.height>0&&!f.isFlat?(t=V({align:S&&h?"center":void 0,x:S?!h&&4:10,verticalAlign:!S&&h?"middle":void 0,y:S?h?16:10:h?6:-4,rotation:S&&!h?90:0,...h?{inside:!0}:{}},t),this.renderLabel(t,f,h,G)):r&&r.hide(),this}renderLabel(m,b,S,A){var t;let p=this.axis,C=p.chart.renderer,G=m.inside,E=this.label;E||(this.label=E=C.text(this.getLabelText(m),0,0,m.useHTML).attr({align:m.textAlign||m.align,rotation:m.rotation,class:"highcharts-plot-"+(S?"band":"line")+"-label "+(m.className||""),zIndex:A}),p.chart.styledMode||E.css(V({fontSize:"0.8em",textOverflow:S&&!G?"":"ellipsis"},m.style)),E.add());let v=b.xBounds||[b[0][1],b[1][1],S?b[2][1]:b[0][1]],o=b.yBounds||[b[0][2],b[1][2],S?b[2][2]:b[0][2]],u=lt(v),s=lt(o),e=ct(v)-u;E.align(m,!1,{x:u,y:s,width:e,height:ct(o)-s}),(!E.alignValue||E.alignValue==="left"||nt(G))&&E.css({width:(((t=m.style)==null?void 0:t.width)||(S&&G?e:E.rotation===90?p.height-(E.alignAttr.y-p.top):(m.clip?p.width:p.chart.chartWidth)-(E.alignAttr.x-p.left)))+"px"}),E.show(!0)}getLabelText(m){return nt(m.formatter)?m.formatter.call(this):m.text}destroy(){q(this.axis.plotLinesAndBands,this),delete this.axis,at(this)}}return j}),yt(Y,"Core/Tooltip.js",[Y["Core/Animation/AnimationUtilities.js"],Y["Core/Templating.js"],Y["Core/Globals.js"],Y["Core/Renderer/RendererUtilities.js"],Y["Core/Renderer/RendererRegistry.js"],Y["Core/Utilities.js"]],function(tt,et,dt,ct,lt,nt){var at;let{animObject:q}=tt,{format:$}=et,{composed:V,doc:w,isSafari:R}=dt,{distribute:j}=ct,{addEvent:P,clamp:m,css:b,discardElement:S,extend:A,fireEvent:p,isArray:C,isNumber:G,isString:E,merge:v,pick:o,pushUnique:u,splat:s,syncTimeout:e}=nt;class t{constructor(a,f,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,f),this.pointer=y}bodyFormatter(a){return a.map(function(f){let y=f.series.tooltipOptions;return(y[(f.point.formatPrefix||"point")+"Formatter"]||f.point.tooltipFormatter).call(f.point,y[(f.point.formatPrefix||"point")+"Format"]||"")})}cleanSplit(a){this.chart.series.forEach(function(f){let y=f&&f.tt;y&&(!y.isActive||a?f.tt=y.destroy():y.isActive=!1)})}defaultFormatter(a){let f,y=this.points||s(this);return(f=(f=[a.tooltipFooterHeaderFormatter(y[0])]).concat(a.bodyFormatter(y))).push(a.tooltipFooterHeaderFormatter(y[0],!0)),f}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(),S(this.container)),nt.clearTimeout(this.hideTimer)}getAnchor(a,f){let y,{chart:h,pointer:T}=this,F=h.inverted,g=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&&f)f.chartX===void 0&&(f=T.normalize(f)),y=[f.chartX-L,f.chartY-g];else if(a[0].tooltipPos)y=a[0].tooltipPos;else{let I=0,W=0;a.forEach(function(J){let l=J.pos(!0);l&&(I+=l[0],W+=l[1])}),I/=a.length,W/=a.length,this.shared&&a.length>1&&f&&(F?I=f.chartX:W=f.chartY),y=[I-L,W-g]}return y.map(Math.round)}getClassName(a,f,y){let h=this.options,T=a.series,F=T.options;return[h.className,"highcharts-label",y&&"highcharts-tooltip-header",f?"highcharts-tooltip-box":"highcharts-tooltip",!y&&"highcharts-color-"+o(a.colorIndex,T.colorIndex),F&&F.className].filter(E).join(" ")}getLabel({anchorX:a,anchorY:f}={anchorX:0,anchorY:0}){let y=this,h=this.chart.styledMode,T=this.options,F=this.split&&this.allowShared,g=this.container,L=this.chart.renderer;if(this.label){let I=!this.label.hasClass("highcharts-label");(!F&&I||F&&!I)&&this.destroy()}if(!this.label){if(this.outside){let I=this.chart.options.chart.style,W=lt.getRendererType();this.container=g=dt.doc.createElement("div"),g.className="highcharts-tooltip-container",b(g,{position:"absolute",top:"1px",pointerEvents:"none",zIndex:Math.max(this.options.style.zIndex||0,(I&&I.zIndex||0)+3)}),this.renderer=L=new W(g,0,0,I,void 0,void 0,L.styledMode)}if(F?this.label=L.g("tooltip"):(this.label=L.label("",a,f,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 I=this.label;[I.xSetter,I.ySetter].forEach((W,J)=>{I[J?"ySetter":"xSetter"]=l=>{W.call(I,y.distance),I[J?"y":"x"]=l,g&&(g.style[J?"top":"left"]=`${l}px`)}})}this.label.attr({zIndex:8}).shadow(T.shadow).add()}return g&&!g.parentElement&&dt.doc.body.appendChild(g),this.label}getPlayingField(){let{body:a,documentElement:f}=w,{chart:y,distance:h,outside:T}=this;return{width:T?Math.max(a.scrollWidth,f.scrollWidth,a.offsetWidth,f.offsetWidth,f.clientWidth)-2*h:y.chartWidth,height:T?Math.max(a.scrollHeight,f.scrollHeight,a.offsetHeight,f.offsetHeight,f.clientHeight):y.chartHeight}}getPosition(a,f,y){var K,Q;let{distance:h,chart:T,outside:F,pointer:g}=this,{inverted:L,plotLeft:I,plotTop:W,polar:J}=T,{plotX:l=0,plotY:n=0}=y,x={},D=L&&y.h||0,{height:i,width:c}=this.getPlayingField(),d=g.getChartPosition(),M=_=>_*d.scaleX,k=_=>_*d.scaleY,B=_=>{let st=_==="x";return[_,st?c:i,st?a:f].concat(F?[st?M(a):k(f),st?d.left-h+M(l+I):d.top-h+k(n+W),0,st?c:i]:[st?a:f,st?l+I:n+W,st?I:W,st?I+T.plotWidth:W+T.plotHeight])},H=B("y"),U=B("x"),Z,rt=!!y.negative;!J&&((Q=(K=T.hoverSeries)==null?void 0:K.yAxis)!=null&&Q.reversed)&&(rt=!rt);let it=!this.followPointer&&o(y.ttBelow,!J&&!L===rt),z=function(_,st,ot,ht,pt,ut,mt){let xt=F?_==="y"?k(h):M(h):h,ft=(ot-ht)/2,gt=ht<pt-h,vt=pt+h+ht<st,bt=pt-xt-ot+ft,St=pt+xt-ft;if(it&&vt)x[_]=St;else if(!it&>)x[_]=bt;else if(gt)x[_]=Math.min(mt-ht,bt-D<0?bt:bt-D);else{if(!vt)return!1;x[_]=Math.max(ut,St+D+ot>st?St:St+D)}},O=function(_,st,ot,ht,pt){if(pt<h||pt>st-h)return!1;pt<ot/2?x[_]=1:pt>st-ht/2?x[_]=st-ht-2:x[_]=pt-ot/2},N=function(_){[H,U]=[U,H],Z=_},X=()=>{z.apply(0,H)!==!1?O.apply(0,U)!==!1||Z||(N(!0),X()):Z?x.x=x.y=0:(N(!0),X())};return(L&&!J||this.len>1)&&N(),X(),x}hide(a){let f=this;nt.clearTimeout(this.hideTimer),a=o(a,this.options.hideDelay),this.isHidden||(this.hideTimer=e(function(){let y=f.getLabel();f.getLabel().animate({opacity:0},{duration:a&&150,complete:()=>{y.hide(),f.container&&f.container.remove()}}),f.isHidden=!0},a))}init(a,f){this.chart=a,this.options=f,this.crosshairs=[],this.isHidden=!0,this.split=f.split&&!a.inverted&&!a.polar,this.shared=f.shared||this.split,this.outside=o(f.outside,!!(a.scrollablePixelsX||a.scrollablePixelsY))}shouldStickOnContact(a){return!!(!this.followPointer&&this.options.stickOnContact&&(!a||this.pointer.inClass(a.target,"highcharts-tooltip")))}move(a,f,y,h){let T=this,F=q(!T.isHidden&&T.options.animation),g=T.followPointer||(T.len||0)>1,L={x:a,y:f};g||(L.anchorX=y,L.anchorY=h),F.step=()=>T.drawTracker(),T.getLabel().animate(L,F)}refresh(a,f){let{chart:y,options:h,pointer:T,shared:F}=this,g=s(a),L=g[0],I=[],W=h.format,J=h.formatter||this.defaultFormatter,l=y.styledMode,n={},x=this.allowShared;if(!h.enabled||!L.series)return;nt.clearTimeout(this.hideTimer),this.allowShared=!(!C(a)&&a.series&&a.series.noSharedTooltip),x=x&&!this.allowShared,this.followPointer=!this.split&&L.series.tooltipOptions.followPointer;let D=this.getAnchor(a,f),i=D[0],c=D[1];F&&this.allowShared?(T.applyInactiveState(g),g.forEach(function(k){k.setState("hover"),I.push(k.getLabelConfig())}),(n=L.getLabelConfig()).points=I):n=L.getLabelConfig(),this.len=I.length;let d=E(W)?$(W,n,y):J.call(n,this),M=L.series;if(this.distance=o(M.tooltipOptions.distance,16),d===!1)this.hide();else{if(this.split&&this.allowShared)this.renderSplit(d,g);else{let k=i,B=c;if(f&&T.isDirectTouch&&(k=f.chartX-y.plotLeft,B=f.chartY-y.plotTop),y.polar||M.options.clip===!1||g.some(H=>T.isDirectTouch||H.series.shouldShowTooltip(k,B))){let H=this.getLabel(x&&this.tt||{});(!h.style.width||l)&&H.css({width:(this.outside?this.getPlayingField():y.spacingBox).width+"px"}),H.attr({class:this.getClassName(L),text:d&&d.join?d.join(""):d}),this.outside&&H.attr({x:m(H.x||0,0,this.getPlayingField().width-(H.width||0))}),l||H.attr({stroke:h.borderColor||L.color||M.color||"#666666"}),this.updatePosition({plotX:i,plotY:c,negative:L.negative,ttBelow:L.ttBelow,h:D[2]||0})}else{this.hide();return}}this.isHidden&&this.label&&this.label.attr({opacity:1}).show(),this.isHidden=!1}p(this,"refresh")}renderSplit(a,f){var st;let y=this,{chart:h,chart:{chartWidth:T,chartHeight:F,plotHeight:g,plotLeft:L,plotTop:I,scrollablePixelsY:W=0,scrollablePixelsX:J,styledMode:l},distance:n,options:x,options:{positioner:D},pointer:i}=y,{scrollLeft:c=0,scrollTop:d=0}=((st=h.scrollablePlotArea)==null?void 0:st.scrollingContainer)||{},M=y.outside&&typeof J!="number"?w.documentElement.getBoundingClientRect():{left:c,right:c+T,top:d,bottom:d+F},k=y.getLabel(),B=this.renderer||h.renderer,H=!!(h.xAxis[0]&&h.xAxis[0].opposite),{left:U,top:Z}=i.getChartPosition(),rt=I+d,it=0,z=g-W;function O(ot,ht,pt,ut,mt=!0){let xt,ft;return pt?(xt=H?0:z,ft=m(ot-ut/2,M.left,M.right-ut-(y.outside?U:0))):(xt=ht-rt,ft=m(ft=mt?ot-ut-n:ot+n,mt?ft:M.left,M.right)),{x:ft,y:xt}}E(a)&&(a=[!1,a]);let N=a.slice(0,f.length+1).reduce(function(ot,ht,pt){if(ht!==!1&&ht!==""){let ut=f[pt-1]||{isHeader:!0,plotX:f[0].plotX,plotY:g,series:{}},mt=ut.isHeader,xt=mt?y:ut.series,ft=xt.tt=function(Ct,kt,wt){let Mt=Ct,{isHeader:Tt,series:Dt}=kt;if(!Mt){let Ot={padding:x.padding,r:x.borderRadius};l||(Ot.fill=x.backgroundColor,Ot["stroke-width"]=x.borderWidth??1),Mt=B.label("",0,0,x[Tt?"headerShape":"shape"],void 0,void 0,x.useHTML).addClass(y.getClassName(kt,!0,Tt)).attr(Ot).add(k)}return Mt.isActive=!0,Mt.attr({text:wt}),l||Mt.css(x.style).attr({stroke:x.borderColor||kt.color||Dt.color||"#333333"}),Mt}(xt.tt,ut,ht.toString()),gt=ft.getBBox(),vt=gt.width+ft.strokeWidth();mt&&(it=gt.height,z+=it,H&&(rt-=it));let{anchorX:bt,anchorY:St}=function(Ct){let kt,wt,{isHeader:Mt,plotX:Tt=0,plotY:Dt=0,series:Ot}=Ct;if(Mt)kt=Math.max(L+Tt,L),wt=I+g/2;else{let{xAxis:jt,yAxis:At}=Ot;kt=jt.pos+m(Tt,-n,jt.len+n),Ot.shouldShowTooltip(0,At.pos-I+Dt,{ignoreX:!0})&&(wt=At.pos+Dt)}return{anchorX:kt=m(kt,M.left-n,M.right+n),anchorY:wt}}(ut);if(typeof St=="number"){let Ct=gt.height+1,kt=D?D.call(y,vt,Ct,ut):O(bt,St,mt,vt);ot.push({align:D?0:void 0,anchorX:bt,anchorY:St,boxWidth:vt,point:ut,rank:o(kt.rank,mt?1:0),size:Ct,target:kt.y,tt:ft,x:kt.x})}else ft.isActive=!1}return ot},[]);!D&&N.some(ot=>{let{outside:ht}=y,pt=(ht?U:0)+ot.anchorX;return pt<M.left&&pt+ot.boxWidth<M.right||pt<U-M.left+ot.boxWidth&&M.right-pt>pt})&&(N=N.map(ot=>{let{x:ht,y:pt}=O(ot.anchorX,ot.anchorY,ot.point.isHeader,ot.boxWidth,!1);return A(ot,{target:pt,x:ht})})),y.cleanSplit(),j(N,z);let X={left:U,right:U};N.forEach(function(ot){let{x:ht,boxWidth:pt,isHeader:ut}=ot;!ut&&(y.outside&&U+ht<X.left&&(X.left=U+ht),!ut&&y.outside&&X.left+pt>X.right&&(X.right=U+ht))}),N.forEach(function(ot){let{x:ht,anchorX:pt,anchorY:ut,pos:mt,point:{isHeader:xt}}=ot,ft={visibility:mt===void 0?"hidden":"inherit",x:ht,y:(mt||0)+rt,anchorX:pt,anchorY:ut};if(y.outside&&ht<pt){let gt=U-X.left;gt>0&&(xt||(ft.x=ht+gt,ft.anchorX=pt+gt),xt&&(ft.x=(X.right-X.left)/2,ft.anchorX=pt+gt))}ot.tt.attr(ft)});let{container:K,outside:Q,renderer:_}=y;if(Q&&K&&_){let{width:ot,height:ht,x:pt,y:ut}=k.getBBox();_.setSize(ot+pt,ht+ut,!1),K.style.left=X.left+"px",K.style.top=Z+"px"}R&&k.attr({opacity:k.opacity===1?.999:1})}drawTracker(){if(!this.shouldStickOnContact()){this.tracker&&(this.tracker=this.tracker.destroy());return}let a=this.chart,f=this.label,y=this.shared?a.hoverPoints:a.hoverPoint;if(!f||!y)return;let h={x:0,y:0,width:0,height:0},T=this.getAnchor(y),F=f.getBBox();T[0]+=a.plotLeft-(f.translateX||0),T[1]+=a.plotTop-(f.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]),F.width-T[0]):Math.max(Math.abs(T[0]),F.width),h.height=T[1]<0?Math.max(Math.abs(T[1]),F.height-Math.abs(T[1])):Math.max(Math.abs(T[1]),F.height),this.tracker?this.tracker.attr(h):(this.tracker=f.renderer.rect(h).addClass("highcharts-tracker").add(f),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,f){let y=a.series,h=y.tooltipOptions,T=y.xAxis,F=T&&T.dateTime,g={isFooter:f,labelConfig:a},L=h.xDateFormat,I=h[f?"footerFormat":"headerFormat"];return p(this,"headerFormatter",g,function(W){F&&!L&&G(a.key)&&(L=F.getXDateFormat(a.key,h.dateTimeLabelFormats)),F&&L&&(a.point&&a.point.tooltipDateKeys||["key"]).forEach(function(J){I=I.replace("{point."+J+"}","{point."+J+":"+L+"}")}),y.chart.styledMode&&(I=this.styledModeFormat(I)),W.text=$(I,{point:a,series:y},this.chart)}),g.text}update(a){this.destroy(),this.init(this.chart,v(!0,this.options,a))}updatePosition(a){let{chart:f,container:y,distance:h,options:T,pointer:F,renderer:g}=this,{height:L=0,width:I=0}=this.getLabel(),{left:W,top:J,scaleX:l,scaleY:n}=F.getChartPosition(),x=(T.positioner||this.getPosition).call(this,I,L,a),D=(a.plotX||0)+f.plotLeft,i=(a.plotY||0)+f.plotTop,c;g&&y&&(T.positioner&&(x.x+=W-h,x.y+=J-h),c=(T.borderWidth||0)+2*h+2,g.setSize(I+c,L+c,!1),(l!==1||n!==1)&&(b(y,{transform:`scale(${l}, ${n})`}),D*=l,i*=n),D+=W-x.x,i+=J-x.y),this.move(Math.round(x.x),Math.round(x.y||0),D,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(Y,"Core/Series/Point.js",[Y["Core/Renderer/HTML/AST.js"],Y["Core/Animation/AnimationUtilities.js"],Y["Core/Defaults.js"],Y["Core/Templating.js"],Y["Core/Utilities.js"]],function(tt,et,dt,ct,lt){let{animObject:nt}=et,{defaultOptions:at}=dt,{format:q}=ct,{addEvent:$,crisp:V,erase:w,extend:R,fireEvent:j,getNestedProperty:P,isArray:m,isFunction:b,isNumber:S,isObject:A,merge:p,pick:C,syncTimeout:G,removeEvent:E,uniqueKey:v}=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(R({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 R(this,s=o.prototype.optionsToObject.call(this,s)),this.options=this.options?R(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():S(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,f=nt(s.series.chart.renderer.globalAnimation),y=()=>{for(let h in(s.graphic||s.graphics||s.dataLabel||s.dataLabels)&&(E(s),s.destroyElements()),s)delete s[h]};s.legendItem&&t.legend.destroyItem(s),a&&(s.setState(),w(a,s),a.length||(t.hoverPoints=null)),s===t.hoverPoint&&s.onMouseOut(),r&&r.enabled?(this.animateBeforeDestroy(),G(y,f.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(f){!r.destroyed&&r.select&&r.select(null,f.ctrlKey||f.metaKey||f.shiftKey)}),j(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=[],f={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]]&&f.singular.push(e);return["graphic","dataLabel"].forEach(function(y){let h=y+"s";s[y]&&r[h]&&f.plural.push(h)}),f}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=v()),this.resolveColor(),s.chart.pointCount++,j(this,"afterInit")}isValid(){return(S(this.x)||this.x instanceof Date)&&S(this.y)}optionsToObject(s){let e=this.series,t=e.options.keys,r=t||e.pointArrayMap||["y"],a=r.length,f={},y,h=0,T=0;if(S(s)||s===null)f[r[0]]=s;else if(m(s))for(!t&&s.length>a&&((y=typeof s[0])=="string"?f.name=s[0]:y==="number"&&(f.x=s[0]),h++);T<a;)t&&s[h]===void 0||(r[T].indexOf(".")>0?o.prototype.setNestedProperty(f,s[h],r[T]):f[r[T]]=s[h]),h++,T++;else typeof s=="object"&&(f=s,s.dataLabels&&(e.hasDataLabels=()=>!0),s.marker&&(e._hasPointMarkers=!0));return f}pos(s,e=this.plotY){if(!this.destroyed){let{plotX:t,series:r}=this,{chart:a,xAxis:f,yAxis:y}=r,h=0,T=0;if(S(t)&&S(e))return s&&(h=f?f.pos:a.plotLeft,T=y?y.pos:a.plotTop),a.inverted&&f&&y?[y.len-e+T,f.len-t+h]:[t+h,e+T]}}resolveColor(){let s=this.series,e=s.chart.options.chart,t=s.chart.styledMode,r,a,f=e.colorCount,y;delete this.nonZonedColor,s.options.colorByPoint?(t||(r=(a=s.options.colors||s.chart.options.colors)[s.colorCounter],f=a.length),y=s.colorCounter,s.colorCounter++,s.colorCounter===f&&(s.colorCounter=0)):(t||(r=s.color),y=s.colorIndex),this.colorIndex=C(this.options.colorIndex,y),this.color=C(this.options.color,r)}setNestedProperty(s,e,t){return t.split(".").reduce(function(r,a,f,y){let h=y.length-1===f;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=C(t.valueDecimals,""),a=t.valuePrefix||"",f=t.valueSuffix||"";return e.chart.styledMode&&(s=e.chart.tooltip.styledModeFormat(s)),(e.pointArrayMap||["y"]).forEach(function(y){y="{point."+y,(a||f)&&(s=s.replace(RegExp(y+"}","g"),a+y+"}"+f)),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,f=this,y=f.series,h=f.graphic,T=y.chart,F=y.options;function g(){f.applyOptions(s);let L=h&&f.hasMockGraphic,I=f.y===null?!L:L;h&&I&&(f.graphic=h.destroy(),delete f.hasMockGraphic),A(s,!0)&&(h&&h.element&&s&&s.marker&&s.marker.symbol!==void 0&&(f.graphic=h.destroy()),s!=null&&s.dataLabels&&f.dataLabel&&(f.dataLabel=f.dataLabel.destroy())),a=f.index,y.updateParallelArrays(f,a),F.data[a]=A(F.data[a],!0)||A(s,!0)?f.options:C(s,F.data[a]),y.isDirty=y.isDirtyData=!0,!y.fixedBox&&y.hasCartesianSeries&&(T.isDirtyBox=!0),F.legendType==="point"&&(T.isDirtyLegend=!0),e&&T.redraw(t)}e=C(e,!0),r===!1?g():f.firePointEvent("update",{options:s},g)}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=C(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(f){let y=f.series;f.selected&&f!==t&&(f.selected=f.options.selected=!1,y.options.data[y.data.indexOf(f)]=f.options,f.setState(a.hoverPoints&&y.options.inactiveOtherPoints?"inactive":""),f.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){var r,a,f,y,h,T;let e=p(this.series.options.point,this.options),t=(r=e.events)==null?void 0:r[s];b(t)&&(!((a=this.hcEvents)!=null&&a[s])||((y=(f=this.hcEvents)==null?void 0:f[s])==null?void 0:y.map(F=>F.fn).indexOf(t))===-1)?((h=this.importedUserEvent)==null||h.call(this),this.importedUserEvent=$(this,s,t)):this.importedUserEvent&&!t&&((T=this.hcEvents)!=null&&T[s])&&(E(this,s),delete this.hcEvents[s],Object.keys(this.hcEvents)||delete this.importedUserEvent)}setState(s,e){var d;let t=this.series,r=this.state,a=t.options.states[s||"normal"]||{},f=at.plotOptions[t.type].marker&&t.options.marker,y=f&&f.enabled===!1,h=f&&f.states&&f.states[s||"normal"]||{},T=h.enabled===!1,F=this.marker||{},g=t.chart,L=f&&t.markerAttribs,I=t.halo,W,J,l,n=t.stateMarkerGraphic,x;if((s=s||"")===this.state&&!e||this.selected&&s!=="select"||a.enabled===!1||s&&(T||y&&h.enabled===!1)||s&&F.states&&F.states[s]&&F.states[s].enabled===!1)return;if(this.state=s,L&&(W=t.markerAttribs(this,s)),this.graphic&&!this.hasMockGraphic){if(r&&this.graphic.removeClass("highcharts-point-"+r),s&&this.graphic.addClass("highcharts-point-"+s),!g.styledMode){J=t.pointAttribs(this,s),l=C(g.options.chart.animation,a.animation);let M=J.opacity;t.options.inactiveOtherPoints&&S(M)&&(this.dataLabels||[]).forEach(function(k){k&&!k.hasClass("highcharts-data-label-hidden")&&(k.animate({opacity:M},l),k.connector&&k.connector.animate({opacity:M},l))}),this.graphic.animate(J,l)}W&&this.graphic.animate(W,C(g.options.chart.animation,h.animation,f.animation)),n&&n.hide()}else s&&h&&(x=F.symbol||t.symbol,n&&n.currentSymbol!==x&&(n=n.destroy()),W&&(n?n[e?"animate":"attr"]({x:W.x,y:W.y}):x&&(t.stateMarkerGraphic=n=g.renderer.symbol(x,W.x,W.y,W.width,W.height).add(t.markerGroup),n.currentSymbol=x)),!g.styledMode&&n&&this.state!=="inactive"&&n.attr(t.pointAttribs(this,s))),n&&(n[s&&this.isInside?"show":"hide"](),n.element.point=this,n.addClass(this.getClassName(),!0));let D=a.halo,i=this.graphic||n,c=i&&i.visibility||"inherit";D&&D.size&&i&&c!=="hidden"&&!this.isCluster?(I||(t.halo=I=g.renderer.path().add(i.parentGroup)),I.show()[e?"animate":"attr"]({d:this.haloPath(D.size)}),I.attr({class:"highcharts-halo highcharts-color-"+C(this.colorIndex,t.colorIndex)+(this.className?" "+this.className:""),visibility:c,zIndex:-1}),I.point=this,g.styledMode||I.attr(R({fill:this.color||t.color,"fill-opacity":D.opacity},tt.filterUserAttributes(D.attributes||{})))):(d=I==null?void 0:I.point)!=null&&d.haloPath&&!I.point.destroyed&&I.animate({d:I.point.haloPath(0)},null,I.hide),j(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(Y,"Core/Pointer.js",[Y["Core/Color/Color.js"],Y["Core/Globals.js"],Y["Core/Utilities.js"]],function(tt,et,dt){var ct;let{parse:lt}=tt,{charts:nt,composed:at,isTouchDevice:q}=et,{addEvent:$,attr:V,css:w,extend:R,find:j,fireEvent:P,isNumber:m,isObject:b,objectEach:S,offset:A,pick:p,pushUnique:C,splat:G}=dt;class E{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=[],!et.chartCount&&(E.unbindDocumentMouseUp&&E.unbindDocumentMouseUp.forEach(u=>u()),E.unbindDocumentTouchEnd&&(E.unbindDocumentTouchEnd=E.unbindDocumentTouchEnd())),clearInterval(o.tooltipTimeout),S(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:f}=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=f?1:r.plotHeight,a&&(t=o-y,T.width=Math.max(1,Math.abs(t)),T.x=(t>0?0:t)+y),f&&(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,f=u.plotLeft,y=u.plotTop,h=u.plotWidth,T=u.plotHeight,F=b(t)?t.enabled:t,g=r&&o[`${r}Key`],L=o.chartX,I=o.chartY,W,J=this.selectionMarker;if((!J||!J.touch)&&(L<f?L=f:L>f+h&&(L=f+h),I<y?I=y:I>y+T&&(I=y+T),this.hasDragged=Math.sqrt(Math.pow(s-L,2)+Math.pow(e-I,2)),this.hasDragged>10)){W=u.isInsidePlot(s-f,e-y,{visiblePlotOnly:!0});let{shapeType:l,attrs:n}=this.getSelectionMarkerAttrs(L,I);(u.hasCartesianSeries||u.mapView)&&this.hasZoom&&W&&!g&&!J&&(this.selectionMarker=J=u.renderer[l](),J.attr({class:"highcharts-selection-marker",zIndex:7}).add(),u.styledMode||J.attr({fill:a||lt("#334eff").setOpacity(.25).get()})),J&&J.attr(n),W&&!J&&F&&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:{originalEvent:o,xAxis:[],yAxis:[],...t},from:t})}m(s.index)&&(this.selectionMarker=e.destroy())}s&&m(s.index)&&(w(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(f,y){var g,L;let h=f.distX-y.distX,T=f.dist-y.dist,F=((g=y.series.group)==null?void 0:g.zIndex)-((L=f.series.group)==null?void 0:L.zIndex);return h!==0&&u?h:T!==0?T:F!==0?F:f.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=[],f=function(g){return g.visible&&!(!t&&g.directTouch)&&p(g.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(g=>g.stickyTracking&&(T.filter||f)(g));let F=e&&o||!r?o:this.findNearestKDPoint(h,t,r);return y=F&&F.series,F&&(t&&!y.noSharedTooltip?(h=s.filter(function(g){return T.filter?T.filter(g):f(g)&&!g.noSharedTooltip})).forEach(function(g){let L=j(g.points,function(I){return I.x===F.x&&!I.isNull});b(L)&&(g.boosted&&g.boost&&(L=g.boost.getPoint(L)),a.push(L))}):a.push(F)),P(this,"afterGetHoverData",T={hoverPoint:F}),{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){var s;this.hasDragged=0,this.pointerCaptureEventsToUnbind=[],this.eventsToUnbind=[],this.options=u,this.chart=o,this.runChartClick=!!((s=u.chart.events)!=null&&s.click),this.pinchDown=[],this.setDOMEvents(),P(this,"afterInit")}normalize(o,u){let s=o.touches,e=s?s.length?s.item(0):p(s.changedTouches,o.changedTouches)[0]:o;u||(u=this.getChartPosition());let t=e.pageX-u.left,r=e.pageY-u.top;return R(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",R(e,{point:s})),u.hoverPoint&&s.firePointEvent("click",e)):(R(e,this.getCoordinates(e)),u.isInsidePlot(e.chartX-t,e.chartY-r,{visiblePlotOnly:!0})&&P(u,"click",e)))}onContainerMouseDown(o){var s;let u=(1&(o.buttons||o.button))==1;o=this.normalize(o),et.isFirefox&&o.button!==0&&this.onContainerMouseMove(o),(o.button===void 0||u)&&(this.zoomOption(o),u&&((s=o.preventDefault)==null||s.call(o)),this.dragStart(o))}onContainerMouseLeave(o){let{pointer:u}=nt[p(E.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){var u,s;(s=(u=nt[p(E.hoverChartIndex,-1)])==null?void 0:u.pointer)==null||s.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,f=a===1&&(u.inClass(o.target,"highcharts-tracker")&&s.runTrackerClick||u.runChartClick),y=s.tooltip,h=a===1&&p(y==null?void 0:y.options.followTouchMove,!0);a>1?u.initiated=!0:h&&(u.initiated=!1),e&&u.initiated&&!f&&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=F=>{let g=F[0],L=F[1]||g;return{x:g.chartX,y:g.chartY,width:L.chartX-g.chartX,height:L.chartY-g.chartY}};s.transform({axes:s.axes.filter(F=>F.zoomEnabled&&(this.zoomHor&&F.horiz||this.zoomVert&&!F.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,f=a&&a.shared?r:t;o&&f&&G(f).forEach(function(y){y.series.isCartesian&&y.plotX===void 0&&(o=!1)}),o?a&&f&&G(f).length&&(a.refresh(f),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,f=u||e.hoverPoint,y=f&&f.series||e.hoverSeries,h=(!o||o.type!=="touchmove")&&(!!u||y&&y.directTouch&&this.isDirectTouch),T=this.getHoverData(f,y,t,h,a,o);f=T.hoverPoint,y=T.hoverSeries;let F=T.hoverPoints,g=y&&y.tooltipOptions.followPointer&&!y.tooltipOptions.split,L=a&&y&&!y.noSharedTooltip;if(f&&(s||f!==e.hoverPoint||r&&r.isHidden)){if((e.hoverPoints||[]).forEach(function(I){F.indexOf(I)===-1&&I.setState()}),e.hoverSeries!==y&&y.onMouseOver(),this.applyInactiveState(F),(F||[]).forEach(function(I){I.setState("hover")}),e.hoverPoint&&e.hoverPoint.firePointEvent("mouseOut"),!f.series)return;e.hoverPoints=F,e.hoverPoint=f,f.firePointEvent("mouseOver",void 0,()=>{r&&f&&r.refresh(L?F:f,o)})}else if(g&&r&&!r.isHidden){let I=r.getAnchor([{}],o);e.isInsidePlot(I[0],I[1],{visiblePlotOnly:!0})&&r.updatePosition({plotX:I[0],plotY:I[1]})}this.unDocMouseMove||(this.unDocMouseMove=$(e.container.ownerDocument,"mousemove",I=>{var W,J;return(J=(W=nt[E.hoverChartIndex??-1])==null?void 0:W.pointer)==null?void 0:J.onDocumentMouseMove(I)}),this.eventsToUnbind.push(this.unDocMouseMove)),e.axes.forEach(function(I){let W,J=p((I.crosshair||{}).snap,!0);!J||(W=e.hoverPoint)&&W.series[I.coll]===I||(W=j(F,l=>l.series&&l.series[I.coll]===I)),W||!J?I.drawCrosshair(o,W):I.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))),E.unbindDocumentMouseUp||(E.unbindDocumentMouseUp=[]),E.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})),E.unbindDocumentTouchEnd||(E.unbindDocumentTouchEnd=$(u,"touchend",this.onDocumentTouchEnd.bind(this),{passive:!1})),this.setPointerCapture(),$(this.chart,"redraw",this.setPointerCapture.bind(this))}setPointerCapture(){var t,r;if(!q)return;let o=this.pointerCaptureEventsToUnbind,u=this.chart,s=u.container,e=p((t=u.options.tooltip)==null?void 0:t.followTouchMove,!0)&&u.series.some(a=>a.options.findNearestPointBy.indexOf("y")>-1);!this.hasPointerCapture&&e?(o.push($(s,"pointerdown",a=>{var f,y;(f=a.target)!=null&&f.hasPointerCapture(a.pointerId)&&((y=a.target)==null||y.releasePointerCapture(a.pointerId))}),$(s,"pointermove",a=>{var f,y;(y=(f=u.pointer)==null?void 0:f.getPointFromEvent(a))==null||y.onMouseOver(a)})),u.styledMode||w(s,{"touch-action":"none"}),s.className+=" highcharts-no-touch-action",this.hasPointerCapture=!0):this.hasPointerCapture&&!e&&(o.forEach(a=>a()),o.length=0,u.styledMode||w(s,{"touch-action":p((r=u.options.chart.style)==null?void 0:r["touch-action"],"manipulation")}),s.className=s.className.replace(" highcharts-no-touch-action",""),this.hasPointerCapture=!1)}setHoverChartIndex(o){var e;let u=this.chart,s=et.charts[p(E.hoverChartIndex,-1)];if(s&&s!==u){let t={relatedTarget:u.container};o&&!(o!=null&&o.relatedTarget)&&(o={...t,...o}),(e=s.pointer)==null||e.onContainerMouseLeave(o||t)}s&&s.mouseIsDown||(E.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),p(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=p(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(ct=E||(E={})).compose=function(v){C(at,"Core.Pointer")&&$(v,"beforeRender",function(){this.pointer=new ct(this,this.options)})},E}),yt(Y,"Core/Legend/LegendSymbol.js",[Y["Core/Utilities.js"]],function(tt){var et;let{extend:dt,merge:ct,pick:lt}=tt;return function(nt){function at(q,$,V){var s,e;let w=this.legendItem=this.legendItem||{},{chart:R,options:j}=this,{baseline:P=0,symbolWidth:m,symbolHeight:b}=q,S=this.symbol||"circle",A=b/2,p=R.renderer,C=w.group,G=P-Math.round((((s=q.fontMetrics)==null?void 0:s.b)||b)*(V?.4:.3)),E={},v,o=j.marker,u=0;if(R.styledMode||(E["stroke-width"]=Math.min(j.lineWidth||0,24),j.dashStyle?E.dashstyle=j.dashStyle:j.linecap==="square"||(E["stroke-linecap"]="round")),w.line=p.path().addClass("highcharts-graph").attr(E).add(C),V&&(w.area=p.path().addClass("highcharts-area").add(C)),E["stroke-linecap"]&&(u=Math.min(w.line.strokeWidth(),m)/2),m){let t=[["M",u,G],["L",m-u,G]];w.line.attr({d:t}),(e=w.area)==null||e.attr({d:[...t,["L",m-u,P],["L",u,P]]})}if(o&&o.enabled!==!1&&m){let t=Math.min(lt(o.radius,A),A);S.indexOf("url")===0&&(o=ct(o,{width:b,height:b}),t=0),w.symbol=v=p.symbol(S,m/2-t,G-t,2*t,2*t,dt({context:"legend"},o)).addClass("highcharts-point").add(C),v.isMarker=!0}}nt.areaMarker=function(q,$){at.call(this,q,$,!0)},nt.lineMarker=at,nt.rectangle=function(q,$){let V=$.legendItem||{},w=q.options,R=q.symbolHeight,j=w.squareSymbol,P=j?R:q.symbolWidth;V.symbol=this.chart.renderer.rect(j?(q.symbolWidth-R)/2:0,q.baseline-R+1,P,R,lt(q.options.symbolRadius,R/2)).addClass("highcharts-point").attr({zIndex:3}).add(V.group)}}(et||(et={})),et}),yt(Y,"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:tt}=this.series.chart;return typeof this.y!="number"?"":tt(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(Y,"Core/Series/SeriesRegistry.js",[Y["Core/Globals.js"],Y["Core/Defaults.js"],Y["Core/Series/Point.js"],Y["Core/Utilities.js"]],function(tt,et,dt,ct){var lt;let{defaultOptions:nt}=et,{extend:at,extendClass:q,merge:$}=ct;return function(V){function w(R,j){let P=nt.plotOptions||{},m=j.defaultOptions,b=j.prototype;return b.type=R,b.pointClass||(b.pointClass=dt),!V.seriesTypes[R]&&(m&&(P[R]=m),V.seriesTypes[R]=j,!0)}V.seriesTypes=tt.seriesTypes,V.registerSeriesType=w,V.seriesType=function(R,j,P,m,b){let S=nt.plotOptions||{};if(j=j||"",S[R]=$(S[j],P),delete V.seriesTypes[R],w(R,q(V.seriesTypes[j]||function(){},m)),V.seriesTypes[R].prototype.type=R,b){class A extends dt{}at(A.prototype,b),V.seriesTypes[R].prototype.pointClass=A}return V.seriesTypes[R]}}(lt||(lt={})),lt}),yt(Y,"Core/Series/Series.js",[Y["Core/Animation/AnimationUtilities.js"],Y["Core/Defaults.js"],Y["Core/Foundation.js"],Y["Core/Globals.js"],Y["Core/Legend/LegendSymbol.js"],Y["Core/Series/Point.js"],Y["Core/Series/SeriesDefaults.js"],Y["Core/Series/SeriesRegistry.js"],Y["Core/Renderer/SVG/SVGElement.js"],Y["Core/Utilities.js"]],function(tt,et,dt,ct,lt,nt,at,q,$,V){let{animObject:w,setAnimation:R}=tt,{defaultOptions:j}=et,{registerEventOptions:P}=dt,{svg:m,win:b}=ct,{seriesTypes:S}=q,{arrayMax:A,arrayMin:p,clamp:C,correctFloat:G,crisp:E,defined:v,destroyObjectProperties:o,diffObjects:u,erase:s,error:e,extend:t,find:r,fireEvent:a,getClosestDistance:f,getNestedProperty:y,insertItem:h,isArray:T,isNumber:F,isString:g,merge:L,objectEach:I,pick:W,removeEvent:J,splat:l,syncTimeout:n}=V;class x{constructor(){this.zoneAxis="y"}init(i,c){let d;a(this,"init",{options:c});let M=this,k=i.series;this.eventsToUnbind=[],M.chart=i,M.options=M.setOptions(c);let B=M.options,H=B.visible!==!1;M.linkedSeries=[],M.bindAxes(),t(M,{name:B.name,state:"",visible:H,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),M.getColor(),M.getSymbol(),M.parallelArrays.forEach(function(Z){M[Z+"Data"]||(M[Z+"Data"]=[])}),M.isCartesian&&(i.hasCartesianSeries=!0),k.length&&(d=k[k.length-1]),M._i=W(d&&d._i,-1)+1,M.opacity=M.options.opacity,i.orderItems("series",h(this,k)),B.dataSorting&&B.dataSorting.enabled?M.setDataSortingOptions():M.points||M.data||M.setData(B.data,!1),a(this,"afterInit")}is(i){return S[i]&&this instanceof S[i]}bindAxes(){let i,c=this,d=c.options,M=c.chart;a(this,"bindAxes",null,function(){(c.axisTypes||[]).forEach(function(k){(M[k]||[]).forEach(function(B){i=B.options,(W(d[k],0)===B.index||d[k]!==void 0&&d[k]===i.id)&&(h(c,B.series),c[k]=B,B.isDirty=!0)}),c[k]||c.optionalAxis===k||e(18,!0,M)})}),a(this,"afterBindAxes")}updateParallelArrays(i,c,d){let M=i.series,k=F(c)?function(B){let H=B==="y"&&M.toYData?M.toYData(i):i[B];M[B+"Data"][c]=H}:function(B){Array.prototype[c].apply(M[B+"Data"],d)};M.parallelArrays.forEach(k)}hasData(){return this.visible&&this.dataMax!==void 0&&this.dataMin!==void 0||this.visible&&this.yData&&this.yData.length>0}hasMarkerChanged(i,c){let d=i.marker,M=c.marker||{};return d&&(M.enabled&&!d.enabled||M.symbol!==d.symbol||M.height!==d.height||M.width!==d.width)}autoIncrement(i){let c=this.options,d=c.pointIntervalUnit,M=c.relativeXValue,k=this.chart.time,B=this.xIncrement,H,U;return B=W(B,c.pointStart,0),this.pointInterval=U=W(this.pointInterval,c.pointInterval,1),M&&F(i)&&(U*=i),d&&(H=new k.Date(B),d==="day"?k.set("Date",H,k.get("Date",H)+U):d==="month"?k.set("Month",H,k.get("Month",H)+U):d==="year"&&k.set("FullYear",H,k.get("FullYear",H)+U),U=H.getTime()-B),M&&F(i)?B+U:(this.xIncrement=B+U,B)}setDataSortingOptions(){let i=this.options;t(this,{requireSorting:!1,sorted:!1,enabledDataSorting:!0,allowDG:!1}),v(i.pointRange)||(i.pointRange=1)}setOptions(i){var K,Q;let c,d=this.chart,M=d.options.plotOptions,k=d.userOptions||{},B=L(i),H=d.styledMode,U={plotOptions:M,userOptions:B};a(this,"setOptions",U);let Z=U.plotOptions[this.type],rt=k.plotOptions||{},it=rt.series||{},z=j.plotOptions[this.type]||{},O=rt[this.type]||{};this.userOptions=U.userOptions;let N=L(Z,M.series,O,B);this.tooltipOptions=L(j.tooltip,(K=j.plotOptions.series)==null?void 0:K.tooltip,z==null?void 0:z.tooltip,d.userOptions.tooltip,(Q=rt.series)==null?void 0:Q.tooltip,O.tooltip,B.tooltip),this.stickyTracking=W(B.stickyTracking,O.stickyTracking,it.stickyTracking,!!this.tooltipOptions.shared&&!this.noSharedTooltip||N.stickyTracking),Z.marker===null&&delete N.marker,this.zoneAxis=N.zoneAxis||"y";let X=this.zones=(N.zones||[]).map(_=>({..._}));return(N.negativeColor||N.negativeFillColor)&&!N.zones&&(c={value:N[this.zoneAxis+"Threshold"]||N.threshold||0,className:"highcharts-negative"},H||(c.color=N.negativeColor,c.fillColor=N.negativeFillColor),X.push(c)),X.length&&v(X[X.length-1].value)&&X.push(H?{}:{color:this.color,fillColor:this.fillColor}),a(this,"afterSetOptions",{options:N}),N}getName(){return W(this.options.name,"Series "+(this.index+1))}getCyclic(i,c,d){let M,k,B=this.chart,H=`${i}Index`,U=`${i}Counter`,Z=(d==null?void 0:d.length)||B.options.chart.colorCount;!c&&(v(k=W(i==="color"?this.options.colorIndex:void 0,this[H]))?M=k:(B.series.length||(B[U]=0),M=B[U]%Z,B[U]+=1),d&&(c=d[M])),M!==void 0&&(this[H]=M),this[i]=c}getColor(){this.chart.styledMode?this.getCyclic("color"):this.options.colorByPoint?this.color="#cccccc":this.getCyclic("color",this.options.color||j.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,c){let d,M,k,B=i.id,H=i.x,U=this.points,Z=this.options.dataSorting;if(B){let rt=this.chart.get(B);rt instanceof nt&&(d=rt)}else if(this.linkedParent||this.enabledDataSorting||this.options.relativeXValue){let rt=it=>!it.touched&&it.index===i.index;if(Z&&Z.matchByName?rt=it=>!it.touched&&it.name===i.name:this.options.relativeXValue&&(rt=it=>!it.touched&&it.options.x===i.x),!(d=r(U,rt)))return}return d&&(k=d&&d.index)!==void 0&&(M=!0),k===void 0&&F(H)&&(k=this.xData.indexOf(H,c)),k!==-1&&k!==void 0&&this.cropped&&(k=k>=this.cropStart?k-this.cropStart:k),!M&&F(k)&&U[k]&&U[k].touched&&(k=void 0),k}updateData(i,c){let d=this.options,M=d.dataSorting,k=this.points,B=[],H=this.requireSorting,U=i.length===k.length,Z,rt,it,z,O=!0;if(this.xIncrement=null,i.forEach(function(N,X){let K,Q=v(N)&&this.pointClass.prototype.optionsToObject.call({series:this},N)||{},_=Q.x;Q.id||F(_)?((K=this.findPointIndex(Q,z))===-1||K===void 0?B.push(N):k[K]&&N!==d.data[K]?(k[K].update(N,!1,null,!1),k[K].touched=!0,H&&(z=K+1)):k[K]&&(k[K].touched=!0),(!U||X!==K||M&&M.enabled||this.hasDerivedData)&&(Z=!0)):B.push(N)},this),Z)for(rt=k.length;rt--;)(it=k[rt])&&!it.touched&&it.remove&&it.remove(!1,c);else!U||M&&M.enabled?O=!1:(i.forEach(function(N,X){N===k[X].y||k[X].destroyed||k[X].update(N,!1,null,!1)}),B.length=0);return k.forEach(function(N){N&&(N.touched=!1)}),!!O&&(B.forEach(function(N){this.addPoint(N,!1,null,null,!1)},this),this.xIncrement===null&&this.xData&&this.xData.length&&(this.xIncrement=A(this.xData),this.autoIncrement()),!0)}setData(i,c=!0,d,M){var xt;let k=this,B=k.points,H=B&&B.length||0,U=k.options,Z=k.chart,rt=U.dataSorting,it=k.xAxis,z=U.turboThreshold,O=this.xData,N=this.yData,X=k.pointArrayMap,K=X&&X.length,Q=U.keys,_,st,ot,ht=0,pt=1,ut;Z.options.chart.allowMutatingData||(U.data&&delete k.options.data,k.userOptions.data&&delete k.userOptions.data,ut=L(!0,i));let mt=(i=ut||i||[]).length;if(rt&&rt.enabled&&(i=this.sortData(i)),Z.options.chart.allowMutatingData&&M!==!1&&mt&&H&&!k.cropped&&!k.hasGroupedData&&k.visible&&!k.boosted&&(ot=this.updateData(i,d)),!ot){k.xIncrement=null,k.colorCounter=0,this.parallelArrays.forEach(function(gt){k[gt+"Data"].length=0});let ft=z&&mt>z;if(ft){let gt=k.getFirstValidPoint(i),vt=k.getFirstValidPoint(i,mt-1,-1),bt=St=>!!(T(St)&&(Q||F(St[0])));if(F(gt)&&F(vt))for(_=0;_<mt;_++)O[_]=this.autoIncrement(),N[_]=i[_];else if(bt(gt)&&bt(vt))if(K)if(gt.length===K)for(_=0;_<mt;_++)O[_]=this.autoIncrement(),N[_]=i[_];else for(_=0;_<mt;_++)st=i[_],O[_]=st[0],N[_]=st.slice(1,K+1);else if(Q&&(ht=Q.indexOf("x"),pt=Q.indexOf("y"),ht=ht>=0?ht:0,pt=pt>=0?pt:1),gt.length===1&&(pt=0),ht===pt)for(_=0;_<mt;_++)O[_]=this.autoIncrement(),N[_]=i[_][pt];else for(_=0;_<mt;_++)st=i[_],O[_]=st[ht],N[_]=st[pt];else ft=!1}if(!ft)for(_=0;_<mt;_++)st={series:k},k.pointClass.prototype.applyOptions.apply(st,[i[_]]),k.updateParallelArrays(st,_);for(N&&g(N[0])&&e(14,!0,Z),k.data=[],k.options.data=k.userOptions.data=i,_=H;_--;)(xt=B[_])==null||xt.destroy();it&&(it.minRange=it.userMinRange),k.isDirty=Z.isDirtyBox=!0,k.isDirtyData=!!B,d=!1}U.legendType==="point"&&(this.processData(),this.generatePoints()),c&&Z.redraw(d)}sortData(i){let c=this,d=c.options.dataSorting.sortKey||"y",M=function(k,B){return v(B)&&k.pointClass.prototype.optionsToObject.call({series:k},B)||{}};return i.forEach(function(k,B){i[B]=M(c,k),i[B].index=B},this),i.concat().sort((k,B)=>{let H=y(d,k),U=y(d,B);return U<H?-1:U>H?1:0}).forEach(function(k,B){k.x=B},this),c.linkedSeries&&c.linkedSeries.forEach(function(k){let B=k.options,H=B.data;B.dataSorting&&B.dataSorting.enabled||!H||(H.forEach(function(U,Z){H[Z]=M(k,U),i[Z]&&(H[Z].x=i[Z].x,H[Z].index=Z)}),k.setData(H,!1))}),i}getProcessedData(i){let c=this,d=c.xAxis,M=c.options.cropThreshold,k=d==null?void 0:d.logarithmic,B=c.isCartesian,H,U,Z=0,rt,it,z,O=c.xData,N=c.yData,X=!1,K=O.length;d&&(it=(rt=d.getExtremes()).min,z=rt.max,X=!!(d.categories&&!d.names.length)),B&&c.sorted&&!i&&(!M||K>M||c.forceCrop)&&(O[K-1]<it||O[0]>z?(O=[],N=[]):c.yData&&(O[0]<it||O[K-1]>z)&&(O=(H=this.cropData(c.xData,c.yData,it,z)).xData,N=H.yData,Z=H.start,U=!0));let Q=f([k?O.map(k.log2lin):O],()=>c.requireSorting&&!X&&e(15,!1,c.chart));return{xData:O,yData:N,cropped:U,cropStart:Z,closestPointRange:Q}}processData(i){let c=this.xAxis;if(this.isCartesian&&!this.isDirty&&!c.isDirty&&!this.yAxis.isDirty&&!i)return!1;let d=this.getProcessedData();this.cropped=d.cropped,this.cropStart=d.cropStart,this.processedXData=d.xData,this.processedYData=d.yData,this.closestPointRange=this.basePointRange=d.closestPointRange,a(this,"afterProcessData")}cropData(i,c,d,M){let k=i.length,B,H,U=0,Z=k;for(B=0;B<k;B++)if(i[B]>=d){U=Math.max(0,B-1);break}for(H=B;H<k;H++)if(i[H]>M){Z=H+1;break}return{xData:i.slice(U,Z),yData:c.slice(U,Z),start:U,end:Z}}generatePoints(){let i=this.options,c=this.processedData||i.data,d=this.processedXData,M=this.processedYData,k=this.pointClass,B=d.length,H=this.cropStart||0,U=this.hasGroupedData,Z=i.keys,rt=[],it=i.dataGrouping&&i.dataGrouping.groupAll?H:0,z,O,N,X,K=this.data;if(!K&&!U){let Q=[];Q.length=c.length,K=this.data=Q}for(Z&&U&&(this.options.keys=!1),X=0;X<B;X++)O=H+X,U?((N=new k(this,[d[X]].concat(l(M[X])))).dataGroup=this.groupMap[it+X],N.dataGroup.options&&(N.options=N.dataGroup.options,t(N,N.dataGroup.options),delete N.dataLabels)):(N=K[O])||c[O]===void 0||(K[O]=N=new k(this,c[O],d[X])),N&&(N.index=U?it+X:O,rt[X]=N);if(this.options.keys=Z,K&&(B!==(z=K.length)||U))for(X=0;X<z;X++)X!==H||U||(X+=B),K[X]&&(K[X].destroyElements(),K[X].plotX=void 0);this.data=K,this.points=rt,a(this,"afterGeneratePoints")}getXExtremes(i){return{min:p(i),max:A(i)}}getExtremes(i,c){let d=this.xAxis,M=this.yAxis,k=[],B=this.requireSorting&&!this.is("column")?1:0,H=!!M&&M.positiveValuesOnly,U=c||this.getExtremesFromAll||this.options.getExtremesFromAll,{processedXData:Z,processedYData:rt}=this,it,z,O,N,X,K,Q,_=0,st=0,ot=0;if(this.cropped&&U){let mt=this.getProcessedData(!0);Z=mt.xData,rt=mt.yData}let ht=(i=i||this.stackedYData||rt||[]).length,pt=Z||this.xData;for(d&&(_=(it=d.getExtremes()).min,st=it.max),K=0;K<ht;K++)if(N=pt[K],z=(F(X=i[K])||T(X))&&((F(X)?X>0:X.length)||!H),O=c||this.getExtremesFromAll||this.options.getExtremesFromAll||this.cropped||!d||(pt[K+B]||N)>=_&&(pt[K-B]||N)<=st,z&&O)if(Q=X.length)for(;Q--;)F(X[Q])&&(k[ot++]=X[Q]);else k[ot++]=X;let ut={activeYData:k,dataMin:p(k),dataMax:A(k)};return a(this,"afterGetExtremes",{dataExtremes:ut}),ut}applyExtremes(){let i=this.getExtremes();return this.dataMin=i.dataMin,this.dataMax=i.dataMax,i}getFirstValidPoint(i,c=0,d=1){let M=i.length,k=c;for(;k>=0&&k<M;){if(v(i[k]))return i[k];k+=d}}translate(){var st;this.processedXData||this.processData(),this.generatePoints();let i=this.options,c=i.stacking,d=this.xAxis,M=d.categories,k=this.enabledDataSorting,B=this.yAxis,H=this.points,U=H.length,Z=this.pointPlacementToXValue(),rt=!!Z,it=i.threshold,z=i.startFromThreshold?it:0,O,N,X,K,Q=Number.MAX_VALUE;function _(ot){return C(ot,-1e9,1e9)}for(O=0;O<U;O++){let ot,ht=H[O],pt=ht.x,ut,mt,xt=ht.y,ft=ht.low,gt=c&&((st=B.stacking)==null?void 0:st.stacks[(this.negStacks&&xt<(z?0:it)?"-":"")+this.stackKey]);N=d.translate(pt,!1,!1,!1,!0,Z),ht.plotX=F(N)?G(_(N)):void 0,c&&this.visible&>&>[pt]&&(K=this.getStackIndicator(K,pt,this.index),!ht.isNull&&K.key&&(mt=(ut=gt[pt]).points[K.key]),ut&&T(mt)&&(ft=mt[0],xt=mt[1],ft===z&&K.key===gt[pt].base&&(ft=W(F(it)?it:B.min)),B.positiveValuesOnly&&v(ft)&&ft<=0&&(ft=void 0),ht.total=ht.stackTotal=W(ut.total),ht.percentage=v(ht.y)&&ut.total?ht.y/ut.total*100:void 0,ht.stackY=xt,this.irregularWidths||ut.setOffset(this.pointXOffset||0,this.barW||0,void 0,void 0,void 0,this.xAxis))),ht.yBottom=v(ft)?_(B.translate(ft,!1,!0,!1,!0)):void 0,this.dataModify&&(xt=this.dataModify.modifyValue(xt,O)),F(xt)&&ht.plotX!==void 0&&(ot=F(ot=B.translate(xt,!1,!0,!1,!0))?_(ot):void 0),ht.plotY=ot,ht.isInside=this.isPointInside(ht),ht.clientX=rt?G(d.translate(pt,!1,!1,!1,!0,Z)):N,ht.negative=(ht.y||0)<(it||0),ht.category=W(M&&M[ht.x],ht.x),ht.isNull||ht.visible===!1||(X!==void 0&&(Q=Math.min(Q,Math.abs(N-X))),X=N),ht.zone=this.zones.length?ht.getZone():void 0,!ht.graphic&&this.group&&k&&(ht.isNew=!0)}this.closestPointRangePx=Q,a(this,"afterTranslate")}getValidPoints(i,c,d){let M=this.chart;return(i||this.points||[]).filter(function(k){let{plotX:B,plotY:H}=k;return!!((d||!k.isNull&&F(H))&&(!c||M.isInsidePlot(B,H,{inverted:M.inverted})))&&k.visible!==!1})}getClipBox(){let{chart:i,xAxis:c,yAxis:d}=this,{x:M,y:k,width:B,height:H}=L(i.clipBox);return c&&c.len!==i.plotSizeX&&(B=c.len),d&&d.len!==i.plotSizeY&&(H=d.len),i.inverted&&!this.invertible&&([B,H]=[H,B]),{x:M,y:k,width:B,height:H}}getSharedClipKey(){return this.sharedClipKey=(this.options.xAxis||0)+","+(this.options.yAxis||0),this.sharedClipKey}setClip(){let{chart:i,group:c,markerGroup:d}=this,M=i.sharedClips,k=i.renderer,B=this.getClipBox(),H=this.getSharedClipKey(),U=M[H];U?U.animate(B):M[H]=U=k.clipRect(B),c&&c.clip(this.options.clip===!1?void 0:U),d&&d.clip()}animate(i){let{chart:c,group:d,markerGroup:M}=this,k=c.inverted,B=w(this.options.animation),H=[this.getSharedClipKey(),B.duration,B.easing,B.defer].join(","),U=c.sharedClips[H],Z=c.sharedClips[H+"m"];if(i&&d){let rt=this.getClipBox();if(U)U.attr("height",rt.height);else{rt.width=0,k&&(rt.x=c.plotHeight),U=c.renderer.clipRect(rt),c.sharedClips[H]=U;let it={x:-99,y:-99,width:k?c.plotWidth+199:99,height:k?99:c.plotHeight+199};Z=c.renderer.clipRect(it),c.sharedClips[H+"m"]=Z}d.clip(U),M==null||M.clip(Z)}else if(U&&!U.hasClass("highcharts-animating")){let rt=this.getClipBox(),it=B.step;(M!=null&&M.element.childNodes.length||c.series.length>1)&&(B.step=function(z,O){it&&it.apply(O,arguments),O.prop==="width"&&(Z!=null&&Z.element)&&Z.attr(k?"height":"width",z+99)}),U.addClass("highcharts-animating").animate(rt,B)}}afterAnimate(){this.setClip(),I(this.chart.sharedClips,(i,c,d)=>{i&&!this.chart.container.querySelector(`[clip-path="url(#${i.id})"]`)&&(i.destroy(),delete d[c])}),this.finishedAnimating=!0,a(this,"afterAnimate")}drawPoints(i=this.points){let c,d,M,k,B,H,U,Z=this.chart,rt=Z.styledMode,{colorAxis:it,options:z}=this,O=z.marker,N=this[this.specialGroup||"markerGroup"],X=this.xAxis,K=W(O.enabled,!X||!!X.isRadial||null,this.closestPointRangePx>=O.enabledThreshold*O.radius);if(O.enabled!==!1||this._hasPointMarkers)for(c=0;c<i.length;c++)if(k=(M=(d=i[c]).graphic)?"animate":"attr",B=d.marker||{},H=!!d.marker,(K&&B.enabled===void 0||B.enabled)&&!d.isNull&&d.visible!==!1){let Q=W(B.symbol,this.symbol,"rect");U=this.markerAttribs(d,d.selected&&"select"),this.enabledDataSorting&&(d.startXPos=X.reversed?-(U.width||0):X.width);let _=d.isInside!==!1;if(!M&&_&&((U.width||0)>0||d.hasImage)&&(d.graphic=M=Z.renderer.symbol(Q,U.x,U.y,U.width,U.height,H?B:O).add(N),this.enabledDataSorting&&Z.hasRendered&&(M.attr({x:d.startXPos}),k="animate")),M&&k==="animate"&&M[_?"show":"hide"](_).animate(U),M){let st=this.pointAttribs(d,rt||!d.selected?void 0:"select");rt?it&&M.css({fill:st.fill}):M[k](st)}M&&M.addClass(d.getClassName(),!0)}else M&&(d.graphic=M.destroy())}markerAttribs(i,c){let d=this.options,M=d.marker,k=i.marker||{},B=k.symbol||M.symbol,H={},U,Z,rt=W(k.radius,M&&M.radius);c&&(U=M.states[c],rt=W((Z=k.states&&k.states[c])&&Z.radius,U&&U.radius,rt&&rt+(U&&U.radiusPlus||0))),i.hasImage=B&&B.indexOf("url")===0,i.hasImage&&(rt=0);let it=i.pos();return F(rt)&&it&&(d.crisp&&(it[0]=E(it[0],i.hasImage?0:B==="rect"?(M==null?void 0:M.lineWidth)||0:1)),H.x=it[0]-rt,H.y=it[1]-rt),rt&&(H.width=H.height=2*rt),H}pointAttribs(i,c){let d=this.options.marker,M=i&&i.options,k=M&&M.marker||{},B=M&&M.color,H=i&&i.color,U=i&&i.zone&&i.zone.color,Z,rt,it=this.color,z,O,N=W(k.lineWidth,d.lineWidth),X=1;return it=B||U||H||it,z=k.fillColor||d.fillColor||it,O=k.lineColor||d.lineColor||it,c=c||"normal",Z=d.states[c]||{},N=W((rt=k.states&&k.states[c]||{}).lineWidth,Z.lineWidth,N+W(rt.lineWidthPlus,Z.lineWidthPlus,0)),z=rt.fillColor||Z.fillColor||z,{stroke:O=rt.lineColor||Z.lineColor||O,"stroke-width":N,fill:z,opacity:X=W(rt.opacity,Z.opacity,X)}}destroy(i){let c,d,M,k=this,B=k.chart,H=/AppleWebKit\/533/.test(b.navigator.userAgent),U=k.data||[];for(a(k,"destroy",{keepEventsForUpdate:i}),this.removeEvents(i),(k.axisTypes||[]).forEach(function(Z){(M=k[Z])&&M.series&&(s(M.series,k),M.isDirty=M.forceRedraw=!0)}),k.legendItem&&k.chart.legend.destroyItem(k),c=U.length;c--;)(d=U[c])&&d.destroy&&d.destroy();for(let Z of k.zones)o(Z,void 0,!0);V.clearTimeout(k.animationTimeout),I(k,function(Z,rt){Z instanceof $&&!Z.survive&&Z[H&&rt==="group"?"hide":"destroy"]()}),B.hoverSeries===k&&(B.hoverSeries=void 0),s(B.series,k),B.orderItems("series"),I(k,function(Z,rt){i&&rt==="hcEvents"||delete k[rt]})}applyZones(){let{area:i,chart:c,graph:d,zones:M,points:k,xAxis:B,yAxis:H,zoneAxis:U}=this,{inverted:Z,renderer:rt}=c,it=this[`${U}Axis`],{isXAxis:z,len:O=0}=it||{},N=((d==null?void 0:d.strokeWidth())||0)/2+1,X=(K,Q=0,_=0)=>{Z&&(_=O-_);let{translated:st=0,lineClip:ot}=K,ht=_-st;ot==null||ot.push(["L",Q,Math.abs(ht)<N?_-N*(ht<=0?-1:1):st])};if(M.length&&(d||i)&&it&&F(it.min)){let K=it.getExtremes().max,Q=ot=>{ot.forEach((ht,pt)=>{(ht[0]==="M"||ht[0]==="L")&&(ot[pt]=[ht[0],z?O-ht[1]:ht[1],z?ht[2]:O-ht[2]])})};if(M.forEach(ot=>{ot.lineClip=[],ot.translated=C(it.toPixels(W(ot.value,K),!0)||0,0,O)}),d&&!this.showLine&&d.hide(),i&&i.hide(),U==="y"&&k.length<B.len)for(let ot of k){let{plotX:ht,plotY:pt,zone:ut}=ot,mt=ut&&M[M.indexOf(ut)-1];ut&&X(ut,ht,pt),mt&&X(mt,ht,pt)}let _=[],st=it.toPixels(it.getExtremes().min,!0);M.forEach(ot=>{var Ct,kt;let ht=ot.lineClip||[],pt=Math.round(ot.translated||0);B.reversed&&ht.reverse();let{clip:ut,simpleClip:mt}=ot,xt=0,ft=0,gt=B.len,vt=H.len;z?(xt=pt,gt=st):(ft=pt,vt=st);let bt=[["M",xt,ft],["L",gt,ft],["L",gt,vt],["L",xt,vt],["Z"]],St=[bt[0],...ht,bt[1],bt[2],..._,bt[3],bt[4]];_=ht.reverse(),st=pt,Z&&(Q(St),i&&Q(bt)),ut?(ut.animate({d:St}),mt==null||mt.animate({d:bt})):(ut=ot.clip=rt.path(St),i&&(mt=ot.simpleClip=rt.path(bt))),d&&((Ct=ot.graph)==null||Ct.clip(ut)),i&&((kt=ot.area)==null||kt.clip(mt))})}else this.visible&&(d&&d.show(),i&&i.show())}plotGroup(i,c,d,M,k){let B=this[i],H=!B,U={visibility:d,zIndex:M||.1};return v(this.opacity)&&!this.chart.styledMode&&this.state!=="inactive"&&(U.opacity=this.opacity),B||(this[i]=B=this.chart.renderer.g().add(k)),B.addClass("highcharts-"+c+" highcharts-series-"+this.index+" highcharts-"+this.type+"-series "+(v(this.colorIndex)?"highcharts-color-"+this.colorIndex+" ":"")+(this.options.className||"")+(B.hasClass("highcharts-tracker")?" highcharts-tracker":""),!0),B.attr(U)[H?"attr":"animate"](this.getPlotBox(c)),B}getPlotBox(i){let c=this.xAxis,d=this.yAxis,M=this.chart,k=M.inverted&&!M.polar&&c&&this.invertible&&i==="series";return M.inverted&&(c=d,d=this.xAxis),{translateX:c?c.left:M.plotLeft,translateY:d?d.top:M.plotTop,rotation:k?90:0,rotationOriginX:k?(c.len-d.len)/2:0,rotationOriginY:k?(c.len+d.len)/2:0,scaleX:k?-1:1,scaleY:1}}removeEvents(i){let{eventsToUnbind:c}=this;i||J(this),c.length&&(c.forEach(d=>{d()}),c.length=0)}render(){var rt,it,z,O,N;let i=this,{chart:c,options:d,hasRendered:M}=i,k=w(d.animation),B=i.visible?"inherit":"hidden",H=d.zIndex,U=c.seriesGroup,Z=i.finishedAnimating?0:k.duration;a(this,"render"),i.plotGroup("group","series",B,H,U),i.markerGroup=i.plotGroup("markerGroup","markers",B,H,U),d.clip!==!1&&i.setClip(),Z&&((rt=i.animate)==null||rt.call(i,!0)),i.drawGraph&&(i.drawGraph(),i.applyZones()),i.visible&&i.drawPoints(),(it=i.drawDataLabels)==null||it.call(i),(z=i.redrawPoints)==null||z.call(i),d.enableMouseTracking&&((O=i.drawTracker)==null||O.call(i)),Z&&((N=i.animate)==null||N.call(i)),M||(Z&&k.defer&&(Z+=k.defer),i.animationTimeout=n(()=>{i.afterAnimate()},Z||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,c){let{xAxis:d,yAxis:M}=this,k=this.chart.inverted;return this.searchKDTree({clientX:k?d.len-i.chartY+d.pos:i.chartX-d.pos,plotY:k?M.len-i.chartX+M.pos:i.chartY-M.pos},c,i)}buildKDTree(i){this.buildingKdTree=!0;let c=this,d=c.options.findNearestPointBy.indexOf("y")>-1?2:1;delete c.kdTree,n(function(){c.kdTree=function M(k,B,H){let U,Z,rt=k==null?void 0:k.length;if(rt)return U=c.kdAxisArray[B%H],k.sort((it,z)=>(it[U]||0)-(z[U]||0)),{point:k[Z=Math.floor(rt/2)],left:M(k.slice(0,Z),B+1,H),right:M(k.slice(Z+1),B+1,H)}}(c.getValidPoints(void 0,!c.directTouch),d,d),c.buildingKdTree=!1},c.options.kdNow||(i==null?void 0:i.type)==="touchstart"?0:1)}searchKDTree(i,c,d){let M=this,[k,B]=this.kdAxisArray,H=c?"distX":"dist",U=(M.options.findNearestPointBy||"").indexOf("y")>-1?2:1,Z=!!M.isBubble;if(this.kdTree||this.buildingKdTree||this.buildKDTree(d),this.kdTree)return function rt(it,z,O,N){var ut;let X=z.point,K=M.kdAxisArray[O%N],Q,_,st=X;(function(mt,xt){var wt;let ft=mt[k],gt=xt[k],vt=v(ft)&&v(gt)?ft-gt:null,bt=mt[B],St=xt[B],Ct=v(bt)&&v(St)?bt-St:0,kt=Z&&((wt=xt.marker)==null?void 0:wt.radius)||0;xt.dist=Math.sqrt((vt&&vt*vt||0)+Ct*Ct)-kt,xt.distX=v(vt)?Math.abs(vt)-kt:Number.MAX_VALUE})(it,X);let ot=(it[K]||0)-(X[K]||0)+(Z&&((ut=X.marker)==null?void 0:ut.radius)||0),ht=ot<0?"left":"right",pt=ot<0?"right":"left";return z[ht]&&(st=(Q=rt(it,z[ht],O+1,N))[H]<st[H]?Q:X),z[pt]&&Math.sqrt(ot*ot)<st[H]&&(st=(_=rt(it,z[pt],O+1,N))[H]<st[H]?_:st),st}(i,this.kdTree,U,U)}pointPlacementToXValue(){let{options:i,xAxis:c}=this,d=i.pointPlacement;return d==="between"&&(d=c.reversed?-.5:.5),F(d)?d*(i.pointRange||c.pointRange):0}isPointInside(i){let{chart:c,xAxis:d,yAxis:M}=this,{plotX:k=-1,plotY:B=-1}=i;return B>=0&&B<=(M?M.len:c.plotHeight)&&k>=0&&k<=(d?d.len:c.plotWidth)}drawTracker(){var z;let i=this,c=i.options,d=c.trackByArea,M=[].concat((d?i.areaPath:i.graphPath)||[]),k=i.chart,B=k.pointer,H=k.renderer,U=((z=k.options.tooltip)==null?void 0:z.snap)||0,Z=()=>{c.enableMouseTracking&&k.hoverSeries!==i&&i.onMouseOver()},rt="rgba(192,192,192,"+(m?1e-4:.002)+")",it=i.tracker;it?it.attr({d:M}):i.graph&&(i.tracker=it=H.path(M).attr({visibility:i.visible?"inherit":"hidden",zIndex:2}).addClass(d?"highcharts-tracker-area":"highcharts-tracker-line").add(i.group),k.styledMode||it.attr({"stroke-linecap":"round","stroke-linejoin":"round",stroke:rt,fill:d?rt:"none","stroke-width":i.graph.strokeWidth()+(d?0:2*U)}),[i.tracker,i.markerGroup,i.dataLabelsGroup].forEach(O=>{O&&(O.addClass("highcharts-tracker").on("mouseover",Z).on("mouseout",N=>{B==null||B.onTrackerMouseOut(N)}),c.cursor&&!k.styledMode&&O.css({cursor:c.cursor}),O.on("touchstart",Z))})),a(this,"afterDrawTracker")}addPoint(i,c,d,M,k){let B,H,U=this.options,Z=this.data,rt=this.chart,it=this.xAxis,z=it&&it.hasNames&&it.names,O=U.data,N=this.xData;c=W(c,!0);let X={series:this};this.pointClass.prototype.applyOptions.apply(X,[i]);let K=X.x;if(H=N.length,this.requireSorting&&K<N[H-1])for(B=!0;H&&N[H-1]>K;)H--;this.updateParallelArrays(X,"splice",[H,0,0]),this.updateParallelArrays(X,H),z&&X.name&&(z[K]=X.name),O.splice(H,0,i),(B||this.processedData)&&(this.data.splice(H,0,null),this.processData()),U.legendType==="point"&&this.generatePoints(),d&&(Z[0]&&Z[0].remove?Z[0].remove(!1):(Z.shift(),this.updateParallelArrays(X,"shift"),O.shift())),k!==!1&&a(this,"addPoint",{point:X}),this.isDirty=!0,this.isDirtyData=!0,c&&rt.redraw(M)}removePoint(i,c,d){let M=this,k=M.data,B=k[i],H=M.points,U=M.chart,Z=function(){H&&H.length===k.length&&H.splice(i,1),k.splice(i,1),M.options.data.splice(i,1),M.updateParallelArrays(B||{series:M},"splice",[i,1]),B&&B.destroy(),M.isDirty=!0,M.isDirtyData=!0,c&&U.redraw()};R(d,U),c=W(c,!0),B?B.firePointEvent("remove",null,Z):Z()}remove(i,c,d,M){let k=this,B=k.chart;function H(){k.destroy(M),B.isDirtyLegend=B.isDirtyBox=!0,B.linkSeries(M),W(i,!0)&&B.redraw(c)}d!==!1?a(k,"remove",null,H):H()}update(i,c){var Q,_,st;a(this,"update",{options:i=u(i,this.userOptions)});let d=this,M=d.chart,k=d.userOptions,B=d.initialType||d.type,H=M.options.plotOptions,U=S[B].prototype,Z=d.finishedAnimating&&{animation:!1},rt={},it,z,O=["colorIndex","eventOptions","navigatorSeries","symbolIndex","baseSeries"],N=i.type||k.type||M.options.chart.type,X=!(this.hasDerivedData||N&&N!==this.type||i.pointStart!==void 0||i.pointInterval!==void 0||i.relativeXValue!==void 0||i.joinBy||i.mapData||["dataGrouping","pointStart","pointInterval","pointIntervalUnit","keys"].some(ot=>d.hasOptionChanged(ot)));N=N||B,X&&(O.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&&O.push("area","graph"),d.parallelArrays.forEach(function(ot){O.push(ot+"Data")}),i.data&&(i.dataSorting&&t(d.options.dataSorting,i.dataSorting),this.setData(i.data,!1))),i=L(k,{index:k.index===void 0?d.index:k.index,pointStart:((Q=H==null?void 0:H.series)==null?void 0:Q.pointStart)??k.pointStart??((_=d.xData)==null?void 0:_[0])},!X&&{data:d.options.data},i,Z),X&&i.data&&(i.data=d.options.data),(O=["group","markerGroup","dataLabelsGroup","transformGroup"].concat(O)).forEach(function(ot){O[ot]=d[ot],delete d[ot]});let K=!1;if(S[N]){if(K=N!==d.type,d.remove(!1,!1,!1,!0),K)if(M.propFromSeries(),Object.setPrototypeOf)Object.setPrototypeOf(d,S[N].prototype);else{let ot=Object.hasOwnProperty.call(d,"hcEvents")&&d.hcEvents;for(z in U)d[z]=void 0;t(d,S[N].prototype),ot?d.hcEvents=ot:delete d.hcEvents}}else e(17,!0,M,{missingModuleFor:N});if(O.forEach(function(ot){d[ot]=O[ot]}),d.init(M,i),X&&this.points)for(let ot of((it=d.options).visible===!1?(rt.graphic=1,rt.dataLabel=1):(this.hasMarkerChanged(it,k)&&(rt.graphic=1),(st=d.hasDataLabels)!=null&&st.call(d)||(rt.dataLabel=1)),this.points))ot&&ot.series&&(ot.resolveColor(),Object.keys(rt).length&&ot.destroyElements(rt),it.showInLegend===!1&&ot.legendItem&&M.legend.destroyItem(ot));d.initialType=B,M.linkSeries(),M.setSortedData(),K&&d.linkedSeries.length&&(d.isDirtyData=!0),a(this,"afterUpdate"),W(c,!0)&&M.redraw(!!X&&void 0)}setName(i){this.name=this.options.name=this.userOptions.name=i,this.chart.isDirtyLegend=!0}hasOptionChanged(i){var H,U;let c=this.chart,d=this.options[i],M=c.options.plotOptions,k=this.userOptions[i],B=W((H=M==null?void 0:M[this.type])==null?void 0:H[i],(U=M==null?void 0:M.series)==null?void 0:U[i]);return k&&!v(B)?d!==k:d!==W(B,d)}onMouseOver(){let i=this.chart,c=i.hoverSeries,d=i.pointer;d==null||d.setHoverChartIndex(),c&&c!==this&&c.onMouseOut(),this.options.events.mouseOver&&a(this,"mouseOver"),this.setState("hover"),i.hoverSeries=this}onMouseOut(){let i=this.options,c=this.chart,d=c.tooltip,M=c.hoverPoint;c.hoverSeries=null,M&&M.onMouseOut(),this&&i.events.mouseOut&&a(this,"mouseOut"),d&&!this.stickyTracking&&(!d.shared||this.noSharedTooltip)&&d.hide(),c.series.forEach(function(k){k.setState("",!0)})}setState(i,c){let d=this,M=d.options,k=d.graph,B=M.inactiveOtherPoints,H=M.states,U=W(H[i||"normal"]&&H[i||"normal"].animation,d.chart.options.chart.animation),Z=M.lineWidth,rt=M.opacity;if(i=i||"",d.state!==i&&([d.group,d.markerGroup,d.dataLabelsGroup].forEach(function(it){it&&(d.state&&it.removeClass("highcharts-series-"+d.state),i&&it.addClass("highcharts-series-"+i))}),d.state=i,!d.chart.styledMode)){if(H[i]&&H[i].enabled===!1)return;if(i&&(Z=H[i].lineWidth||Z+(H[i].lineWidthPlus||0),rt=W(H[i].opacity,rt)),k&&!k.dashstyle&&F(Z))for(let it of[k,...this.zones.map(z=>z.graph)])it==null||it.animate({"stroke-width":Z},U);B||[d.group,d.markerGroup,d.dataLabelsGroup,d.labelBySeries].forEach(function(it){it&&it.animate({opacity:rt},U)})}c&&B&&d.points&&d.setAllPointsToState(i||void 0)}setAllPointsToState(i){this.points.forEach(function(c){c.setState&&c.setState(i)})}setVisible(i,c){var U;let d=this,M=d.chart,k=M.options.chart.ignoreHiddenSeries,B=d.visible;d.visible=i=d.options.visible=d.userOptions.visible=i===void 0?!B:i;let H=i?"show":"hide";["group","dataLabelsGroup","markerGroup","tracker","tt"].forEach(Z=>{var rt;(rt=d[Z])==null||rt[H]()}),(M.hoverSeries===d||((U=M.hoverPoint)==null?void 0:U.series)===d)&&d.onMouseOut(),d.legendItem&&M.legend.colorizeItem(d,i),d.isDirty=!0,d.options.stacking&&M.series.forEach(Z=>{Z.options.stacking&&Z.visible&&(Z.isDirty=!0)}),d.linkedSeries.forEach(Z=>{Z.setVisible(i,!1)}),k&&(M.isDirtyBox=!0),a(d,H),c!==!1&&M.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,c,d={}){return d.series=this,d.visiblePlotOnly=!0,this.chart.isInsidePlot(i,c,d)}drawLegendSymbol(i,c){var d;(d=lt[this.options.legendSymbol||"rectangle"])==null||d.call(this,i,c)}}return x.defaultOptions=at,x.types=q.seriesTypes,x.registerType=q.registerSeriesType,t(x.prototype,{axisTypes:["xAxis","yAxis"],coll:"series",colorCounter:0,directTouch:!1,invertible:!0,isCartesian:!0,kdAxisArray:["clientX","plotY"],parallelArrays:["x","y"],pointClass:nt,requireSorting:!0,sorted:!0}),q.series=x,x}),yt(Y,"Core/Legend/Legend.js",[Y["Core/Animation/AnimationUtilities.js"],Y["Core/Foundation.js"],Y["Core/Globals.js"],Y["Core/Series/Series.js"],Y["Core/Series/Point.js"],Y["Core/Renderer/RendererUtilities.js"],Y["Core/Templating.js"],Y["Core/Utilities.js"]],function(tt,et,dt,ct,lt,nt,at,q){var $;let{animObject:V,setAnimation:w}=tt,{registerEventOptions:R}=et,{composed:j,marginNames:P}=dt,{distribute:m}=nt,{format:b}=at,{addEvent:S,createElement:A,css:p,defined:C,discardElement:G,find:E,fireEvent:v,isNumber:o,merge:u,pick:s,pushUnique:e,relativeLength:t,stableSort:r,syncTimeout:a}=q;class f{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(),R(this,T),S(this.chart,"endResize",function(){this.legend.positionCheckboxes()})),S(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 F=this.chart;this.setOptions(u(!0,this.options,h)),"events"in this.options&&R(this,this.options),this.destroy(),F.isDirtyLegend=F.isDirtyBox=!0,s(T,!0)&&F.redraw(),v(this,"afterUpdate",{redraw:T})}colorizeItem(h,T){let{area:F,group:g,label:L,line:I,symbol:W}=h.legendItem||{};if(g==null||g[T?"removeClass":"addClass"]("highcharts-legend-item-hidden"),!this.chart.styledMode){let{itemHiddenStyle:J={}}=this,l=J.color,{fillColor:n,fillOpacity:x,lineColor:D,marker:i}=h.options,c=d=>(!T&&(d.fill&&(d.fill=l),d.stroke&&(d.stroke=l)),d);L==null||L.css(u(T?this.itemStyle:J)),I==null||I.attr(c({stroke:D||h.color})),W&&W.attr(c(i&&W.isMarker?h.pointAttribs():{fill:h.color})),F==null||F.attr(c({fill:n||h.color,"fill-opacity":n?1:x??.75}))}v(this,"afterColorizeItem",{item:h,visible:T})}positionItems(){this.allItems.forEach(this.positionItem,this),this.chart.isResizing||this.positionCheckboxes()}positionItem(h){let{group:T,x:F=0,y:g=0}=h.legendItem||{},L=this.options,I=L.symbolPadding,W=!L.rtl,J=h.checkbox;if(T&&T.element){let l={translateX:W?F:this.legendWidth-F-2*I-4,translateY:g};T[C(T.translateY)?"animate":"attr"](l,void 0,()=>{v(this,"afterPositionItem",{item:h})})}J&&(J.x=F,J.y=g)}destroyItem(h){let T=h.checkbox,F=h.legendItem||{};for(let g of["group","label","line","symbol"])F[g]&&(F[g]=F[g].destroy());T&&G(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,F=this.clipHeight||this.legendHeight,g=this.titleHeight;T&&(h=T.translateY,this.allItems.forEach(function(L){let I,W=L.checkbox;W&&(I=h+g+W.y+(this.scrollOffset||0)+3,p(W,{left:T.translateX+L.checkboxOffset+W.x-20+"px",top:I+"px",display:this.proximate||I>h-6&&I<h+F-6?"":"none"}))},this))}renderTitle(){let h=this.options,T=this.padding,F=h.title,g,L=0;F.text&&(this.title||(this.title=this.chart.renderer.label(F.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(F.style),this.title.add(this.group)),F.width||this.title.css({width:this.maxLegendWidth+"px"}),L=(g=this.title.getBBox()).height,this.offsetWidth=g.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||{},F=this.chart,g=F.renderer,L=this.options,I=L.layout==="horizontal",W=this.symbolWidth,J=L.symbolPadding||0,l=this.itemStyle,n=this.itemHiddenStyle,x=I?s(L.itemDistance,20):0,D=!L.rtl,i=!h.series,c=!i&&h.series.drawLegendSymbol?h.series:h,d=c.options,M=!!this.createCheckboxForItem&&d&&d.showCheckbox,k=L.useHTML,B=h.options.className,H=T.label,U=W+J+x+(M?20:0);!H&&(T.group=g.g("legend-item").addClass("highcharts-"+c.type+"-series highcharts-color-"+h.colorIndex+(B?" "+B:"")+(i?" highcharts-series-"+h.index:"")).attr({zIndex:1}).add(this.scrollGroup),T.label=H=g.text("",D?W+J:-J,this.baseline||0,k),F.styledMode||H.css(u(h.visible?l:n)),H.attr({align:D?"left":"right",zIndex:2}).add(T.group),!this.baseline&&(this.fontMetrics=g.fontMetrics(H),this.baseline=this.fontMetrics.f+3+this.itemMarginTop,H.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+J+x+(M?20:0),D&&H.attr("x",this.symbolWidth+J))),c.drawLegendSymbol(this,h),this.setItemEvents&&this.setItemEvents(h,H,k)),M&&!h.checkbox&&this.createCheckboxForItem&&this.createCheckboxForItem(h),this.colorizeItem(h,h.visible),(F.styledMode||!l.width)&&H.css({width:(L.itemWidth||this.widthOption||F.spacingBox.width)-U+"px"}),this.setText(h);let Z=H.getBBox(),rt=this.fontMetrics&&this.fontMetrics.h||0;h.itemWidth=h.checkboxOffset=L.itemWidth||T.labelWidth||Z.width+U,this.maxItemWidth=Math.max(this.maxItemWidth,h.itemWidth),this.totalItemWidth+=h.itemWidth,this.itemHeight=h.itemHeight=Math.round(T.labelHeight||(Z.height>1.5*rt?Z.height:rt))}layoutItem(h){let T=this.options,F=this.padding,g=T.layout==="horizontal",L=h.itemHeight,I=this.itemMarginBottom,W=this.itemMarginTop,J=g?s(T.itemDistance,20):0,l=this.maxLegendWidth,n=T.alignColumns&&this.totalItemWidth>l?this.maxItemWidth:h.itemWidth,x=h.legendItem||{};g&&this.itemX-F+n>l&&(this.itemX=F,this.lastLineHeight&&(this.itemY+=W+this.lastLineHeight+I),this.lastLineHeight=0),this.lastItemY=W+this.itemY+I,this.lastLineHeight=Math.max(L,this.lastLineHeight),x.x=this.itemX,x.y=this.itemY,g?this.itemX+=n:(this.itemY+=W+L+I,this.lastLineHeight=L),this.offsetWidth=this.widthOption||Math.max((g?this.itemX-F-(h.checkbox?0:J):n)+F,this.offsetWidth)}getAllItems(){let h=[];return this.chart.series.forEach(function(T){let F=T&&T.options;T&&s(F.showInLegend,!C(F.linkedTo)&&void 0,!0)&&(h=h.concat((T.legendItem||{}).labels||(F.legendType==="point"?T.data:T)))}),v(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 F=this.chart,g=this.options,L=this.getAlignment();L&&[/(lth|ct|rth)/,/(rtv|rm|rbv)/,/(rbh|cb|lbh)/,/(lbv|lm|ltv)/].forEach(function(I,W){I.test(L)&&!C(h[W])&&(F[P[W]]=Math.max(F[P[W]],F.legend[(W+1)%2?"legendHeight":"legendWidth"]+[1,-1,-1,1][W]*g[W%2?"x":"y"]+s(g.margin,12)+T[W]+(F.titleOffset[W]||0)))})}proximatePositions(){let h,T=this.chart,F=[],g=this.options.align==="left";for(let L of(this.allItems.forEach(function(I){let W,J,l=g,n,x;I.yAxis&&(I.xAxis.options.reversed&&(l=!l),I.points&&(W=E(l?I.points:I.points.slice(0).reverse(),function(D){return o(D.plotY)})),J=this.itemMarginTop+I.legendItem.label.getBBox().height+this.itemMarginBottom,x=I.yAxis.top-T.plotTop,n=I.visible?(W?W.plotY:I.yAxis.height)+(x-.3*J):x+I.yAxis.height,F.push({target:n,size:J,item:I}))},this),m(F,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,F=this.options,g=this.padding,L=this.getAllItems(),I,W,J,l=this.group,n,x=this.box;this.itemX=g,this.itemY=this.initialItemY,this.offsetWidth=0,this.lastItemY=0,this.widthOption=t(F.width,h.spacingBox.width-g),n=h.spacingBox.width-2*g-F.x,["rm","lm"].indexOf(this.getAlignment().substring(0,2))>-1&&(n/=2),this.maxLegendWidth=this.widthOption||n,l||(this.group=l=T.g("legend").addClass(F.className||"").attr({zIndex:7}).add(),this.contentGroup=T.g().attr({zIndex:1}).add(l),this.scrollGroup=T.g().add(this.contentGroup)),this.renderTitle(),r(L,(D,i)=>(D.options&&D.options.legendIndex||0)-(i.options&&i.options.legendIndex||0)),F.reversed&&L.reverse(),this.allItems=L,this.display=I=!!L.length,this.lastLineHeight=0,this.maxItemWidth=0,this.totalItemWidth=0,this.itemHeight=0,L.forEach(this.renderItem,this),L.forEach(this.layoutItem,this),W=(this.widthOption||this.offsetWidth)+g,J=this.lastItemY+this.lastLineHeight+this.titleHeight,J=this.handleOverflow(J)+g,x||(this.box=x=T.rect().addClass("highcharts-legend-box").attr({r:F.borderRadius}).add(l)),h.styledMode||x.attr({stroke:F.borderColor,"stroke-width":F.borderWidth||0,fill:F.backgroundColor||"none"}).shadow(F.shadow),W>0&&J>0&&x[x.placed?"animate":"attr"](x.crisp.call({},{x:0,y:0,width:W,height:J},x.strokeWidth())),l[I?"show":"hide"](),h.styledMode&&l.getStyle("display")==="none"&&(W=J=0),this.legendWidth=W,this.legendHeight=J,I&&this.align(),this.proximate||this.positionItems(),v(this,"afterRender")}align(h=this.chart.spacingBox){let T=this.chart,F=this.options,g=h.y;/(lth|ct|rth)/.test(this.getAlignment())&&T.titleOffset[0]>0?g+=T.titleOffset[0]:/(lbh|cb|rbh)/.test(this.getAlignment())&&T.titleOffset[2]>0&&(g-=T.titleOffset[2]),g!==h.y&&(h=u(h,{y:g})),T.hasRendered||(this.group.placed=!1),this.group.align(u(F,{width:this.legendWidth,height:this.legendHeight,verticalAlign:this.proximate?"top":F.verticalAlign}),!0,h)}handleOverflow(h){let T=this,F=this.chart,g=F.renderer,L=this.options,I=L.y,W=L.verticalAlign==="top",J=this.padding,l=L.maxHeight,n=L.navigation,x=s(n.animation,!0),D=n.arrowSize||12,i=this.pages,c=this.allItems,d=function(it){typeof it=="number"?rt.attr({height:it}):rt&&(T.clipRect=rt.destroy(),T.contentGroup.clip()),T.contentGroup.div&&(T.contentGroup.div.style.clip=it?"rect("+J+"px,9999px,"+(J+it)+"px,0)":"auto")},M=function(it){return T[it]=g.circle(0,0,1.3*D).translate(D/2,D/2).add(Z),F.styledMode||T[it].attr("fill","rgba(0,0,0,0.0001)"),T[it]},k,B,H,U=F.spacingBox.height+(W?-I:I)-J,Z=this.nav,rt=this.clipRect;return L.layout!=="horizontal"||L.verticalAlign==="middle"||L.floating||(U/=2),l&&(U=Math.min(U,l)),i.length=0,h&&U>0&&h>U&&n.enabled!==!1?(this.clipHeight=k=Math.max(U-20-this.titleHeight-J,0),this.currentPage=s(this.currentPage,1),this.fullHeight=h,c.forEach((it,z)=>{let O=(H=it.legendItem||{}).y||0,N=Math.round(H.label.getBBox().height),X=i.length;(!X||O-i[X-1]>k&&(B||O)!==i[X-1])&&(i.push(B||O),X++),H.pageIx=X-1,B&&((c[z-1].legendItem||{}).pageIx=X-1),z===c.length-1&&O+N-i[X-1]>k&&O>i[X-1]&&(i.push(O),H.pageIx=X),O!==B&&(B=O)}),rt||(rt=T.clipRect=g.clipRect(0,J-2,9999,0),T.contentGroup.clip(rt)),d(k),Z||(this.nav=Z=g.g().attr({zIndex:1}).add(this.group),this.up=g.symbol("triangle",0,0,D,D).add(Z),M("upTracker").on("click",function(){T.scroll(-1,x)}),this.pager=g.text("",15,10).addClass("highcharts-legend-navigation"),!F.styledMode&&n.style&&this.pager.css(n.style),this.pager.add(Z),this.down=g.symbol("triangle-down",0,0,D,D).add(Z),M("downTracker").on("click",function(){T.scroll(1,x)})),T.scroll(0),h=U):Z&&(d(),this.nav=Z.destroy(),this.scrollGroup.attr({translateY:1}),this.clipHeight=0),h}scroll(h,T){let F=this.chart,g=this.pages,L=g.length,I=this.clipHeight,W=this.options.navigation,J=this.pager,l=this.padding,n=this.currentPage+h;n>L&&(n=L),n>0&&(T!==void 0&&w(T,F),this.nav.attr({translateX:l,translateY:I+this.padding+7+this.titleHeight,visibility:"inherit"}),[this.up,this.upTracker].forEach(function(x){x.attr({class:n===1?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})}),J.attr({text:n+"/"+L}),[this.down,this.downTracker].forEach(function(x){x.attr({x:18+this.pager.getBBox().width,class:n===L?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})},this),F.styledMode||(this.up.attr({fill:n===1?W.inactiveColor:W.activeColor}),this.upTracker.css({cursor:n===1?"default":"pointer"}),this.down.attr({fill:n===L?W.inactiveColor:W.activeColor}),this.downTracker.css({cursor:n===L?"default":"pointer"})),this.scrollOffset=-g[n-1]+this.initialItemY,this.scrollGroup.animate({translateY:this.scrollOffset}),this.currentPage=n,this.positionCheckboxes(),a(()=>{v(this,"afterScroll",{currentPage:n})},V(s(T,F.renderer.globalAnimation,!0)).duration))}setItemEvents(h,T,F){let g=this,L=h.legendItem||{},I=g.chart.renderer.boxWrapper,W=h instanceof lt,J=h instanceof ct,l="highcharts-legend-"+(W?"point":"series")+"-active",n=g.chart.styledMode,x=F?[T,L.symbol]:[L.group],D=i=>{g.allItems.forEach(c=>{h!==c&&[c].concat(c.linkedSeries||[]).forEach(d=>{d.setState(i,!W)})})};for(let i of x)i&&i.on("mouseover",function(){h.visible&&D("inactive"),h.setState("hover"),h.visible&&I.addClass(l),n||T.css(g.options.itemHoverStyle)}).on("mouseout",function(){g.chart.styledMode||T.css(u(h.visible?g.itemStyle:g.itemHiddenStyle)),D(""),I.removeClass(l),h.setState()}).on("click",function(c){let d=function(){h.setVisible&&h.setVisible(),D(h.visible?"inactive":"")};I.removeClass(l),v(g,"itemClick",{browserEvent:c,legendItem:h},d),W?h.firePointEvent("legendItemClick",{browserEvent:c}):J&&v(h,"legendItemClick",{browserEvent:c})})}createCheckboxForItem(h){h.checkbox=A("input",{type:"checkbox",className:"highcharts-legend-checkbox",checked:h.selected,defaultChecked:h.selected},this.options.itemCheckboxStyle,this.chart.container),S(h.checkbox,"click",function(T){let F=T.target;v(h.series||h,"checkboxClick",{checked:F.checked,item:h},function(){h.select()})})}}return($=f||(f={})).compose=function(y){e(j,"Core.Legend")&&S(y,"beforeMargins",function(){this.legend=new $(this,this.options.legend)})},f}),yt(Y,"Core/Chart/Chart.js",[Y["Core/Animation/AnimationUtilities.js"],Y["Core/Axis/Axis.js"],Y["Core/Defaults.js"],Y["Core/Templating.js"],Y["Core/Foundation.js"],Y["Core/Globals.js"],Y["Core/Renderer/RendererRegistry.js"],Y["Core/Series/Series.js"],Y["Core/Series/SeriesRegistry.js"],Y["Core/Renderer/SVG/SVGRenderer.js"],Y["Core/Time.js"],Y["Core/Utilities.js"],Y["Core/Renderer/HTML/AST.js"],Y["Core/Axis/Tick.js"]],function(tt,et,dt,ct,lt,nt,at,q,$,V,w,R,j,P){let{animate:m,animObject:b,setAnimation:S}=tt,{defaultOptions:A,defaultTime:p}=dt,{numberFormat:C}=ct,{registerEventOptions:G}=lt,{charts:E,doc:v,marginNames:o,svg:u,win:s}=nt,{seriesTypes:e}=$,{addEvent:t,attr:r,createElement:a,css:f,defined:y,diffObjects:h,discardElement:T,erase:F,error:g,extend:L,find:I,fireEvent:W,getStyle:J,isArray:l,isNumber:n,isObject:x,isString:D,merge:i,objectEach:c,pick:d,pInt:M,relativeLength:k,removeEvent:B,splat:H,syncTimeout:U,uniqueKey:Z}=R;class rt{static chart(z,O,N){return new rt(z,O,N)}constructor(z,O,N){this.sharedClips={};let X=[...arguments];(D(z)||z.nodeName)&&(this.renderTo=X.shift()),this.init(X[0],X[1])}setZoomOptions(){let z=this.options.chart,O=z.zooming;this.zooming={...O,type:d(z.zoomType,O.type),key:d(z.zoomKey,O.key),pinchType:d(z.pinchType,O.pinchType),singleTouch:d(z.zoomBySingleTouch,O.singleTouch,!1),resetButton:i(O.resetButton,z.resetZoomButton)}}init(z,O){W(this,"init",{args:arguments},function(){let N=i(A,z),X=N.chart;this.userOptions=L({},z),this.margin=[],this.spacing=[],this.labelCollectors=[],this.callback=O,this.isResizing=0,this.options=N,this.axes=[],this.series=[],this.time=z.time&&Object.keys(z.time).length?new w(z.time):nt.time,this.numberFormatter=X.numberFormatter||C,this.styledMode=X.styledMode,this.hasCartesianSeries=X.showAxes,this.index=E.length,E.push(this),nt.chartCount++,G(this,X),this.xAxis=[],this.yAxis=[],this.pointCount=this.colorCounter=this.symbolCounter=0,this.setZoomOptions(),W(this,"afterInit"),this.firstRender()})}initSeries(z){let O=this.options.chart,N=z.type||O.type,X=e[N];X||g(17,!0,this,{missingModuleFor:N});let K=new X;return typeof K.init=="function"&&K.init(this,z),K}setSortedData(){this.getSeriesOrderByLinks().forEach(function(z){z.points||z.data||!z.enabledDataSorting||z.setData(z.options.data,!1)})}getSeriesOrderByLinks(){return this.series.concat().sort(function(z,O){return z.linkedSeries.length||O.linkedSeries.length?O.linkedSeries.length-z.linkedSeries.length:0})}orderItems(z,O=0){let N=this[z],X=this.options[z]=H(this.options[z]).slice(),K=this.userOptions[z]=this.userOptions[z]?H(this.userOptions[z]).slice():[];if(this.hasRendered&&(X.splice(O),K.splice(O)),N)for(let Q=O,_=N.length;Q<_;++Q){let st=N[Q];st&&(st.index=Q,st instanceof q&&(st.name=st.getName()),st.options.isInternal||(X[Q]=st.options,K[Q]=st.userOptions))}}isInsidePlot(z,O,N={}){var gt;let{inverted:X,plotBox:K,plotLeft:Q,plotTop:_,scrollablePlotBox:st}=this,{scrollLeft:ot=0,scrollTop:ht=0}=N.visiblePlotOnly&&((gt=this.scrollablePlotArea)==null?void 0:gt.scrollingContainer)||{},pt=N.series,ut=N.visiblePlotOnly&&st||K,mt=N.inverted?O:z,xt=N.inverted?z:O,ft={x:mt,y:xt,isInsidePlot:!0,options:N};if(!N.ignoreX){let vt=pt&&(X&&!this.polar?pt.yAxis:pt.xAxis)||{pos:Q,len:1/0},bt=N.paneCoordinates?vt.pos+mt:Q+mt;bt>=Math.max(ot+Q,vt.pos)&&bt<=Math.min(ot+Q+ut.width,vt.pos+vt.len)||(ft.isInsidePlot=!1)}if(!N.ignoreY&&ft.isInsidePlot){let vt=!X&&N.axis&&!N.axis.isXAxis&&N.axis||pt&&(X?pt.xAxis:pt.yAxis)||{pos:_,len:1/0},bt=N.paneCoordinates?vt.pos+xt:_+xt;bt>=Math.max(ht+_,vt.pos)&&bt<=Math.min(ht+_+ut.height,vt.pos+vt.len)||(ft.isInsidePlot=!1)}return W(this,"afterIsInsidePlot",ft),ft.isInsidePlot}redraw(z){W(this,"beforeRedraw");let O=this.hasCartesianSeries?this.axes:this.colorAxis||[],N=this.series,X=this.pointer,K=this.legend,Q=this.userOptions.legend,_=this.renderer,st=_.isHidden(),ot=[],ht,pt,ut,mt=this.isDirtyBox,xt=this.isDirtyLegend,ft;for(_.rootFontSize=_.boxWrapper.getStyle("font-size"),this.setResponsive&&this.setResponsive(!1),S(!!this.hasRendered&&z,this),st&&this.temporaryDisplay(),this.layOutTitles(!1),ut=N.length;ut--;)if(((ft=N[ut]).options.stacking||ft.options.centerInCategory)&&(pt=!0,ft.isDirty)){ht=!0;break}if(ht)for(ut=N.length;ut--;)(ft=N[ut]).options.stacking&&(ft.isDirty=!0);N.forEach(function(gt){gt.isDirty&&(gt.options.legendType==="point"?(typeof gt.updateTotals=="function"&>.updateTotals(),xt=!0):Q&&(Q.labelFormatter||Q.labelFormat)&&(xt=!0)),gt.isDirtyData&&W(gt,"updatedData")}),xt&&K&&K.options.enabled&&(K.render(),this.isDirtyLegend=!1),pt&&this.getStacks(),O.forEach(function(gt){gt.updateNames(),gt.setScale()}),this.getMargins(),O.forEach(function(gt){gt.isDirty&&(mt=!0)}),O.forEach(function(gt){let vt=gt.min+","+gt.max;gt.extKey!==vt&&(gt.extKey=vt,ot.push(function(){W(gt,"afterSetExtremes",L(gt.eventArgs,gt.getExtremes())),delete gt.eventArgs})),(mt||pt)&>.redraw()}),mt&&this.drawChartBox(),W(this,"predraw"),N.forEach(function(gt){(mt||gt.isDirty)&>.visible&>.redraw(),gt.isDirtyData=!1}),X&&X.reset(!0),_.draw(),W(this,"redraw"),W(this,"render"),st&&this.temporaryDisplay(!0),ot.forEach(function(gt){gt.call()})}get(z){let O=this.series;function N(K){return K.id===z||K.options&&K.options.id===z}let X=I(this.axes,N)||I(this.series,N);for(let K=0;!X&&K<O.length;K++)X=I(O[K].points||[],N);return X}getAxes(){let z=this.userOptions;for(let O of(W(this,"getAxes"),["xAxis","yAxis"]))for(let N of z[O]=H(z[O]||{}))new et(this,N,O);W(this,"afterGetAxes")}getSelectedPoints(){return this.series.reduce((z,O)=>(O.getPointsCollection().forEach(N=>{d(N.selectedStaging,N.selected)&&z.push(N)}),z),[])}getSelectedSeries(){return this.series.filter(function(z){return z.selected})}setTitle(z,O,N){this.applyDescription("title",z),this.applyDescription("subtitle",O),this.applyDescription("caption",void 0),this.layOutTitles(N)}applyDescription(z,O){let N=this,X=this.options[z]=i(this.options[z],O),K=this[z];K&&O&&(this[z]=K=K.destroy()),X&&!K&&((K=this.renderer.text(X.text,0,0,X.useHTML).attr({align:X.align,class:"highcharts-"+z,zIndex:X.zIndex||4}).add()).update=function(Q,_){N.applyDescription(z,Q),N.layOutTitles(_)},this.styledMode||K.css(L(z==="title"?{fontSize:this.options.isStock?"1em":"1.2em"}:{},X.style)),this[z]=K)}layOutTitles(z=!0){let O=[0,0,0],N=this.renderer,X=this.spacingBox;["title","subtitle","caption"].forEach(function(Q){let _=this[Q],st=this.options[Q],ot=st.verticalAlign||"top",ht=Q==="title"?ot==="top"?-3:0:ot==="top"?O[0]+2:0;if(_){_.css({width:(st.width||X.width+(st.widthAdjust||0))+"px"});let pt=N.fontMetrics(_).b,ut=Math.round(_.getBBox(st.useHTML).height);_.align(L({y:ot==="bottom"?pt:ht+pt,height:ut},st),!1,"spacingBox"),st.floating||(ot==="top"?O[0]=Math.ceil(O[0]+ut):ot==="bottom"&&(O[2]=Math.ceil(O[2]+ut)))}},this),O[0]&&(this.options.title.verticalAlign||"top")==="top"&&(O[0]+=this.options.title.margin),O[2]&&this.options.caption.verticalAlign==="bottom"&&(O[2]+=this.options.caption.margin);let K=!this.titleOffset||this.titleOffset.join(",")!==O.join(",");this.titleOffset=O,W(this,"afterLayOutTitles"),!this.isDirtyBox&&K&&(this.isDirtyBox=this.isDirtyLegend=K,this.hasRendered&&z&&this.isDirtyBox&&this.redraw())}getContainerBox(){let z=[].map.call(this.renderTo.children,N=>{if(N!==this.container){let X=N.style.display;return N.style.display="none",[N,X]}}),O={width:J(this.renderTo,"width",!0)||0,height:J(this.renderTo,"height",!0)||0};return z.filter(Boolean).forEach(([N,X])=>{N.style.display=X}),O}getChartSize(){var Q;let z=this.options.chart,O=z.width,N=z.height,X=this.getContainerBox(),K=X.height>1&&!(!((Q=this.renderTo.parentElement)!=null&&Q.style.height)&&this.renderTo.style.height==="100%");this.chartWidth=Math.max(0,O||X.width||600),this.chartHeight=Math.max(0,k(N,this.chartWidth)||(K?X.height:400)),this.containerBox=X}temporaryDisplay(z){let O=this.renderTo,N;if(z)for(;O&&O.style;)O.hcOrigStyle&&(f(O,O.hcOrigStyle),delete O.hcOrigStyle),O.hcOrigDetached&&(v.body.removeChild(O),O.hcOrigDetached=!1),O=O.parentNode;else for(;O&&O.style&&(v.body.contains(O)||O.parentNode||(O.hcOrigDetached=!0,v.body.appendChild(O)),(J(O,"display",!1)==="none"||O.hcOricDetached)&&(O.hcOrigStyle={display:O.style.display,height:O.style.height,overflow:O.style.overflow},N={display:"block",overflow:"hidden"},O!==this.renderTo&&(N.height=0),f(O,N),O.offsetWidth||O.style.setProperty("display","block","important")),(O=O.parentNode)!==v.body););}setClassName(z){this.container.className="highcharts-container "+(z||"")}getContainer(){var ut;let z=this.options,O=z.chart,N="data-highcharts-chart",X=Z(),K,Q=this.renderTo;Q||(this.renderTo=Q=O.renderTo),D(Q)&&(this.renderTo=Q=v.getElementById(Q)),Q||g(13,!0,this);let _=M(r(Q,N));n(_)&&E[_]&&E[_].hasRendered&&E[_].destroy(),r(Q,N,this.index),Q.innerHTML=j.emptyHTML,O.skipClone||Q.offsetWidth||this.temporaryDisplay(),this.getChartSize();let st=this.chartHeight,ot=this.chartWidth;f(Q,{overflow:"hidden"}),this.styledMode||(K=L({position:"relative",overflow:"hidden",width:ot+"px",height:st+"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"},O.style||{}));let ht=a("div",{id:X},K,Q);this.container=ht,this.getChartSize(),ot===this.chartWidth||(ot=this.chartWidth,this.styledMode||f(ht,{width:d((ut=O.style)==null?void 0:ut.width,ot+"px")})),this.containerBox=this.getContainerBox(),this._cursor=ht.style.cursor;let pt=O.renderer||!u?at.getRendererType(O.renderer):V;if(this.renderer=new pt(ht,ot,st,void 0,O.forExport,z.exporting&&z.exporting.allowHTML,this.styledMode),S(void 0,this),this.setClassName(O.className),this.styledMode)for(let mt in z.defs)this.renderer.definition(z.defs[mt]);else this.renderer.setStyle(O.style);this.renderer.chartIndex=this.index,W(this,"afterGetContainer")}getMargins(z){let{spacing:O,margin:N,titleOffset:X}=this;this.resetMargins(),X[0]&&!y(N[0])&&(this.plotTop=Math.max(this.plotTop,X[0]+O[0])),X[2]&&!y(N[2])&&(this.marginBottom=Math.max(this.marginBottom,X[2]+O[2])),this.legend&&this.legend.display&&this.legend.adjustMargins(N,O),W(this,"getMargins"),z||this.getAxisMargins()}getAxisMargins(){let z=this,O=z.axisOffset=[0,0,0,0],N=z.colorAxis,X=z.margin,K=function(Q){Q.forEach(function(_){_.visible&&_.getOffset()})};z.hasCartesianSeries?K(z.axes):N&&N.length&&K(N),o.forEach(function(Q,_){y(X[_])||(z[Q]+=O[_])}),z.setChartSize()}getOptions(){return h(this.userOptions,A)}reflow(z){var K;let O=this,N=O.containerBox,X=O.getContainerBox();(K=O.pointer)==null||delete K.chartPosition,!O.isPrinting&&!O.isResizing&&N&&X.width&&((X.width!==N.width||X.height!==N.height)&&(R.clearTimeout(O.reflowTimeout),O.reflowTimeout=U(function(){O.container&&O.setSize(void 0,void 0,!1)},z?100:0)),O.containerBox=X)}setReflow(){let z=this,O=N=>{var X;(X=z.options)!=null&&X.chart.reflow&&z.hasLoaded&&z.reflow(N)};if(typeof ResizeObserver=="function")new ResizeObserver(O).observe(z.renderTo);else{let N=t(s,"resize",O);t(this,"destroy",N)}}setSize(z,O,N){let X=this,K=X.renderer;X.isResizing+=1,S(N,X);let Q=K.globalAnimation;X.oldChartHeight=X.chartHeight,X.oldChartWidth=X.chartWidth,z!==void 0&&(X.options.chart.width=z),O!==void 0&&(X.options.chart.height=O),X.getChartSize();let{chartWidth:_,chartHeight:st,scrollablePixelsX:ot=0,scrollablePixelsY:ht=0}=X;(X.isDirtyBox||_!==X.oldChartWidth||st!==X.oldChartHeight)&&(X.styledMode||(Q?m:f)(X.container,{width:`${_+ot}px`,height:`${st+ht}px`},Q),X.setChartSize(!0),K.setSize(_,st,Q),X.axes.forEach(function(pt){pt.isDirty=!0,pt.setScale()}),X.isDirtyLegend=!0,X.isDirtyBox=!0,X.layOutTitles(),X.getMargins(),X.redraw(Q),X.oldChartHeight=void 0,W(X,"resize"),setTimeout(()=>{X&&W(X,"endResize")},b(Q).duration)),X.isResizing-=1}setChartSize(z){let O,N,X,K,{chartHeight:Q,chartWidth:_,inverted:st,spacing:ot,renderer:ht}=this,pt=this.clipOffset,ut=Math[st?"floor":"round"];this.plotLeft=O=Math.round(this.plotLeft),this.plotTop=N=Math.round(this.plotTop),this.plotWidth=X=Math.max(0,Math.round(_-O-this.marginRight)),this.plotHeight=K=Math.max(0,Math.round(Q-N-this.marginBottom)),this.plotSizeX=st?K:X,this.plotSizeY=st?X:K,this.spacingBox=ht.spacingBox={x:ot[3],y:ot[0],width:_-ot[3]-ot[1],height:Q-ot[0]-ot[2]},this.plotBox=ht.plotBox={x:O,y:N,width:X,height:K},pt&&(this.clipBox={x:ut(pt[3]),y:ut(pt[0]),width:ut(this.plotSizeX-pt[1]-pt[3]),height:ut(this.plotSizeY-pt[0]-pt[2])}),z||(this.axes.forEach(function(mt){mt.setAxisSize(),mt.setAxisTranslation()}),ht.alignElements()),W(this,"afterSetChartSize",{skipAxes:z})}resetMargins(){W(this,"resetMargins");let z=this,O=z.options.chart,N=O.plotBorderWidth||0,X=N/2;["margin","spacing"].forEach(function(K){let Q=O[K],_=x(Q)?Q:[Q,Q,Q,Q];["Top","Right","Bottom","Left"].forEach(function(st,ot){z[K][ot]=d(O[K+st],_[ot])})}),o.forEach(function(K,Q){z[K]=d(z.margin[Q],z.spacing[Q])}),z.axisOffset=[0,0,0,0],z.clipOffset=[X,X,X,X],z.plotBorderWidth=N}drawChartBox(){let z=this.options.chart,O=this.renderer,N=this.chartWidth,X=this.chartHeight,K=this.styledMode,Q=this.plotBGImage,_=z.backgroundColor,st=z.plotBackgroundColor,ot=z.plotBackgroundImage,ht=this.plotLeft,pt=this.plotTop,ut=this.plotWidth,mt=this.plotHeight,xt=this.plotBox,ft=this.clipRect,gt=this.clipBox,vt=this.chartBackground,bt=this.plotBackground,St=this.plotBorder,Ct,kt,wt,Mt="animate";vt||(this.chartBackground=vt=O.rect().addClass("highcharts-background").add(),Mt="attr"),K?Ct=kt=vt.strokeWidth():(kt=(Ct=z.borderWidth||0)+(z.shadow?8:0),wt={fill:_||"none"},(Ct||vt["stroke-width"])&&(wt.stroke=z.borderColor,wt["stroke-width"]=Ct),vt.attr(wt).shadow(z.shadow)),vt[Mt]({x:kt/2,y:kt/2,width:N-kt-Ct%2,height:X-kt-Ct%2,r:z.borderRadius}),Mt="animate",bt||(Mt="attr",this.plotBackground=bt=O.rect().addClass("highcharts-plot-background").add()),bt[Mt](xt),!K&&(bt.attr({fill:st||"none"}).shadow(z.plotShadow),ot&&(Q?(ot!==Q.attr("href")&&Q.attr("href",ot),Q.animate(xt)):this.plotBGImage=O.image(ot,ht,pt,ut,mt).add())),ft?ft.animate({width:gt.width,height:gt.height}):this.clipRect=O.clipRect(gt),Mt="animate",St||(Mt="attr",this.plotBorder=St=O.rect().addClass("highcharts-plot-border").attr({zIndex:1}).add()),K||St.attr({stroke:z.plotBorderColor,"stroke-width":z.plotBorderWidth||0,fill:"none"}),St[Mt](St.crisp({x:ht,y:pt,width:ut,height:mt},-St.strokeWidth())),this.isDirtyBox=!1,W(this,"afterDrawChartBox")}propFromSeries(){let z,O,N,X=this,K=X.options.chart,Q=X.options.series;["inverted","angular","polar"].forEach(function(_){for(O=e[K.type],N=K[_]||O&&O.prototype[_],z=Q&&Q.length;!N&&z--;)(O=e[Q[z].type])&&O.prototype[_]&&(N=!0);X[_]=N})}linkSeries(z){let O=this,N=O.series;N.forEach(function(X){X.linkedSeries.length=0}),N.forEach(function(X){let{linkedTo:K}=X.options;if(D(K)){let Q;(Q=K===":previous"?O.series[X.index-1]:O.get(K))&&Q.linkedParent!==X&&(Q.linkedSeries.push(X),X.linkedParent=Q,Q.enabledDataSorting&&X.setDataSortingOptions(),X.visible=d(X.options.visible,Q.options.visible,X.visible))}}),W(this,"afterLinkSeries",{isUpdating:z})}renderSeries(){this.series.forEach(function(z){z.translate(),z.render()})}render(){var ht;let z=this.axes,O=this.colorAxis,N=this.renderer,X=this.options.chart.axisLayoutRuns||2,K=pt=>{pt.forEach(ut=>{ut.visible&&ut.render()})},Q=0,_=!0,st,ot=0;for(let pt of(this.setTitle(),W(this,"beforeMargins"),(ht=this.getStacks)==null||ht.call(this),this.getMargins(!0),this.setChartSize(),z)){let{options:ut}=pt,{labels:mt}=ut;if(this.hasCartesianSeries&&pt.horiz&&pt.visible&&mt.enabled&&pt.series.length&&pt.coll!=="colorAxis"&&!this.polar){Q=ut.tickLength,pt.createGroups();let xt=new P(pt,0,"",!0),ft=xt.createLabel("x",mt);if(xt.destroy(),ft&&d(mt.reserveSpace,!n(ut.crossing))&&(Q=ft.getBBox().height+mt.distance+Math.max(ut.offset||0,0)),Q){ft==null||ft.destroy();break}}}for(this.plotHeight=Math.max(this.plotHeight-Q,0);(_||st||X>1)&&ot<X;){let pt=this.plotWidth,ut=this.plotHeight;for(let mt of z)ot===0?mt.setScale():(mt.horiz&&_||!mt.horiz&&st)&&mt.setTickInterval(!0);ot===0?this.getAxisMargins():this.getMargins(),_=pt/this.plotWidth>(ot?1:1.1),st=ut/this.plotHeight>(ot?1:1.05),ot++}this.drawChartBox(),this.hasCartesianSeries?K(z):O&&O.length&&K(O),this.seriesGroup||(this.seriesGroup=N.g("series-group").attr({zIndex:3}).shadow(this.options.chart.seriesGroupShadow).add()),this.renderSeries(),this.addCredits(),this.setResponsive&&this.setResponsive(),this.hasRendered=!0}addCredits(z){let O=this,N=i(!0,this.options.credits,z);N.enabled&&!this.credits&&(this.credits=this.renderer.text(N.text+(this.mapCredits||""),0,0).addClass("highcharts-credits").on("click",function(){N.href&&(s.location.href=N.href)}).attr({align:N.position.align,zIndex:8}),O.styledMode||this.credits.css(N.style),this.credits.add().align(N.position),this.credits.update=function(X){O.credits=O.credits.destroy(),O.addCredits(X)})}destroy(){let z,O=this,N=O.axes,X=O.series,K=O.container,Q=K&&K.parentNode;for(W(O,"destroy"),O.renderer.forExport?F(E,O):E[O.index]=void 0,nt.chartCount--,O.renderTo.removeAttribute("data-highcharts-chart"),B(O),z=N.length;z--;)N[z]=N[z].destroy();for(this.scroller&&this.scroller.destroy&&this.scroller.destroy(),z=X.length;z--;)X[z]=X[z].destroy();["title","subtitle","chartBackground","plotBackground","plotBGImage","plotBorder","seriesGroup","clipRect","credits","pointer","rangeSelector","legend","resetZoomButton","tooltip","renderer"].forEach(function(_){let st=O[_];st&&st.destroy&&(O[_]=st.destroy())}),K&&(K.innerHTML=j.emptyHTML,B(K),Q&&T(K)),c(O,function(_,st){delete O[st]})}firstRender(){var X;let z=this,O=z.options;z.getContainer(),z.resetMargins(),z.setChartSize(),z.propFromSeries(),z.getAxes();let N=l(O.series)?O.series:[];O.series=[],N.forEach(function(K){z.initSeries(K)}),z.linkSeries(),z.setSortedData(),W(z,"beforeRender"),z.render(),(X=z.pointer)==null||X.getChartPosition(),z.renderer.imgCount||z.hasLoaded||z.onload(),z.temporaryDisplay(!0)}onload(){this.callbacks.concat([this.callback]).forEach(function(z){z&&this.index!==void 0&&z.apply(this,[this])},this),W(this,"load"),W(this,"render"),y(this.index)&&this.setReflow(),this.warnIfA11yModuleNotLoaded(),this.hasLoaded=!0}warnIfA11yModuleNotLoaded(){let{options:z,title:O}=this;!z||this.accessibility||(this.renderer.boxWrapper.attr({role:"img","aria-label":(O&&O.element.textContent||"").replace(/</g,"<")}),z.accessibility&&z.accessibility.enabled===!1||g('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(z,O,N){let X,K=this;return z&&(O=d(O,!0),W(K,"addSeries",{options:z},function(){X=K.initSeries(z),K.isDirtyLegend=!0,K.linkSeries(),X.enabledDataSorting&&X.setData(z.data,!1),W(K,"afterAddSeries",{series:X}),O&&K.redraw(N)})),X}addAxis(z,O,N,X){return this.createAxis(O?"xAxis":"yAxis",{axis:z,redraw:N,animation:X})}addColorAxis(z,O,N){return this.createAxis("colorAxis",{axis:z,redraw:O,animation:N})}createAxis(z,O){let N=new et(this,O.axis,z);return d(O.redraw,!0)&&this.redraw(O.animation),N}showLoading(z){let O=this,N=O.options,X=N.loading,K=function(){Q&&f(Q,{left:O.plotLeft+"px",top:O.plotTop+"px",width:O.plotWidth+"px",height:O.plotHeight+"px"})},Q=O.loadingDiv,_=O.loadingSpan;Q||(O.loadingDiv=Q=a("div",{className:"highcharts-loading highcharts-loading-hidden"},null,O.container)),_||(O.loadingSpan=_=a("span",{className:"highcharts-loading-inner"},null,Q),t(O,"redraw",K)),Q.className="highcharts-loading",j.setElementHTML(_,d(z,N.lang.loading,"")),O.styledMode||(f(Q,L(X.style,{zIndex:10})),f(_,X.labelStyle),O.loadingShown||(f(Q,{opacity:0,display:""}),m(Q,{opacity:X.style.opacity||.5},{duration:X.showDuration||0}))),O.loadingShown=!0,K()}hideLoading(){let z=this.options,O=this.loadingDiv;O&&(O.className="highcharts-loading highcharts-loading-hidden",this.styledMode||m(O,{opacity:0},{duration:z.loading.hideDuration||100,complete:function(){f(O,{display:"none"})}})),this.loadingShown=!1}update(z,O,N,X){let K,Q,_,st=this,ot={credits:"addCredits",title:"setTitle",subtitle:"setSubtitle",caption:"setCaption"},ht=z.isResponsiveOptions,pt=[];W(st,"update",{options:z}),ht||st.setResponsive(!1,!0),z=h(z,st.options),st.userOptions=i(st.userOptions,z);let ut=z.chart;ut&&(i(!0,st.options.chart,ut),this.setZoomOptions(),"className"in ut&&st.setClassName(ut.className),("inverted"in ut||"polar"in ut||"type"in ut)&&(st.propFromSeries(),K=!0),"alignTicks"in ut&&(K=!0),"events"in ut&&G(this,ut),c(ut,function(ft,gt){st.propsRequireUpdateSeries.indexOf("chart."+gt)!==-1&&(Q=!0),st.propsRequireDirtyBox.indexOf(gt)!==-1&&(st.isDirtyBox=!0),st.propsRequireReflow.indexOf(gt)===-1||(st.isDirtyBox=!0,ht||(_=!0))}),!st.styledMode&&ut.style&&st.renderer.setStyle(st.options.chart.style||{})),!st.styledMode&&z.colors&&(this.options.colors=z.colors),z.time&&(this.time===p&&(this.time=new w(z.time)),i(!0,st.options.time,z.time)),c(z,function(ft,gt){st[gt]&&typeof st[gt].update=="function"?st[gt].update(ft,!1):typeof st[ot[gt]]=="function"?st[ot[gt]](ft):gt!=="colors"&&st.collectionsWithUpdate.indexOf(gt)===-1&&i(!0,st.options[gt],z[gt]),gt!=="chart"&&st.propsRequireUpdateSeries.indexOf(gt)!==-1&&(Q=!0)}),this.collectionsWithUpdate.forEach(function(ft){z[ft]&&(H(z[ft]).forEach(function(gt,vt){let bt,St=y(gt.id);St&&(bt=st.get(gt.id)),!bt&&st[ft]&&(bt=st[ft][d(gt.index,vt)])&&(St&&y(bt.options.id)||bt.options.isInternal)&&(bt=void 0),bt&&bt.coll===ft&&(bt.update(gt,!1),N&&(bt.touched=!0)),!bt&&N&&st.collectionsWithInit[ft]&&(st.collectionsWithInit[ft][0].apply(st,[gt].concat(st.collectionsWithInit[ft][1]||[]).concat([!1])).touched=!0)}),N&&st[ft].forEach(function(gt){gt.touched||gt.options.isInternal?delete gt.touched:pt.push(gt)}))}),pt.forEach(function(ft){ft.chart&&ft.remove&&ft.remove(!1)}),K&&st.axes.forEach(function(ft){ft.update({},!1)}),Q&&st.getSeriesOrderByLinks().forEach(function(ft){ft.chart&&ft.update({},!1)},this);let mt=ut&&ut.width,xt=ut&&(D(ut.height)?k(ut.height,mt||st.chartWidth):ut.height);_||n(mt)&&mt!==st.chartWidth||n(xt)&&xt!==st.chartHeight?st.setSize(mt,xt,X):d(O,!0)&&st.redraw(X),W(st,"afterUpdate",{options:z,redraw:O,animation:X})}setSubtitle(z,O){this.applyDescription("subtitle",z),this.layOutTitles(O)}setCaption(z,O){this.applyDescription("caption",z),this.layOutTitles(O)}showResetZoom(){let z=this,O=A.lang,N=z.zooming.resetButton,X=N.theme,K=N.relativeTo==="chart"||N.relativeTo==="spacingBox"?null:"plotBox";function Q(){z.zoomOut()}W(this,"beforeShowResetZoom",null,function(){z.resetZoomButton=z.renderer.button(O.resetZoom,null,null,Q,X).attr({align:N.position.align,title:O.resetZoomTitle}).addClass("highcharts-reset-zoom").add().align(N.position,!1,K)}),W(this,"afterShowResetZoom")}zoomOut(){W(this,"selection",{resetSelection:!0},()=>this.transform({reset:!0,trigger:"zoom"}))}pan(z,O){let N=this,X=typeof O=="object"?O:{enabled:O,type:"x"},K=X.type,Q=K&&N[{x:"xAxis",xy:"axes",y:"yAxis"}[K]].filter(st=>st.options.panningEnabled&&!st.options.isInternal),_=N.options.chart;_!=null&&_.panning&&(_.panning=X),W(this,"pan",{originalEvent:z},()=>{N.transform({axes:Q,event:z,to:{x:z.chartX-(N.mouseDownX||0),y:z.chartY-(N.mouseDownY||0)},trigger:"pan"}),f(N.container,{cursor:"move"})})}transform(z){var mt;let{axes:O=this.axes,event:N,from:X={},reset:K,selection:Q,to:_={},trigger:st}=z,{inverted:ot}=this,ht=!1,pt,ut;for(let xt of((mt=this.hoverPoints)==null||mt.forEach(ft=>ft.setState()),O)){let{horiz:ft,len:gt,minPointOffset:vt=0,options:bt,reversed:St}=xt,Ct=ft?"width":"height",kt=ft?"x":"y",wt=d(_[Ct],xt.len),Mt=d(X[Ct],xt.len),Tt=10>Math.abs(wt)?1:wt/Mt,Dt=(X[kt]||0)+Mt/2-xt.pos,Ot=Dt-((_[kt]??xt.pos)+wt/2-xt.pos)/Tt,jt=St&&!ot||!St&&ot?-1:1;if(!K&&(Dt<0||Dt>xt.len))continue;let At=xt.toValue(Ot,!0)+(Q||xt.isOrdinal?0:vt*jt),Pt=xt.toValue(Ot+gt/Tt,!0)-(Q||xt.isOrdinal?0:vt*jt||0),Et=xt.allExtremes;if(At>Pt&&([At,Pt]=[Pt,At]),Tt===1&&!K&&xt.coll==="yAxis"&&!Et){for(let $t of xt.series){let Rt=$t.getExtremes($t.getProcessedData(!0).yData,!0);Et??(Et={dataMin:Number.MAX_VALUE,dataMax:-Number.MAX_VALUE}),n(Rt.dataMin)&&n(Rt.dataMax)&&(Et.dataMin=Math.min(Rt.dataMin,Et.dataMin),Et.dataMax=Math.max(Rt.dataMax,Et.dataMax))}xt.allExtremes=Et}let{dataMin:Kt,dataMax:_t,min:Ht,max:Xt}=L(xt.getExtremes(),Et||{}),Ft=Kt??bt.min,Yt=_t??bt.max,zt=Pt-At,Ut=xt.categories?0:Math.min(zt,Yt-Ft),Nt=Ft-Ut*(y(bt.min)?0:bt.minPadding),Wt=Yt+Ut*(y(bt.max)?0:bt.maxPadding),Vt=xt.allowZoomOutside||Tt===1||st!=="zoom"&&Tt>1,It=Math.min(bt.min??Nt,Nt,Vt?Ht:Nt),Bt=Math.max(bt.max??Wt,Wt,Vt?Xt:Wt);(!xt.isOrdinal||xt.options.overscroll||Tt!==1||K)&&(At<It&&(At=It,Tt>=1&&(Pt=At+zt)),Pt>Bt&&(Pt=Bt,Tt>=1&&(At=Pt-zt)),(K||xt.series.length&&(At!==Ht||Pt!==Xt)&&At>=It&&Pt<=Bt)&&(Q?Q[xt.coll].push({axis:xt,min:At,max:Pt}):(xt.isPanning=st!=="zoom",xt.isPanning&&(ut=!0),xt.setExtremes(K?void 0:At,K?void 0:Pt,!1,!1,{move:Ot,trigger:st,scale:Tt}),!K&&(At>It||Pt<Bt)&&st!=="mousewheel"&&(pt=!0)),ht=!0),N&&(this[ft?"mouseDownX":"mouseDownY"]=N[ft?"chartX":"chartY"]))}return ht&&(Q?W(this,"selection",Q,()=>{delete z.selection,z.trigger="zoom",this.transform(z)}):(!pt||ut||this.resetZoomButton?!pt&&this.resetZoomButton&&(this.resetZoomButton=this.resetZoomButton.destroy()):this.showResetZoom(),this.redraw(st==="zoom"&&(this.options.chart.animation??this.pointCount<100)))),ht}}return L(rt.prototype,{callbacks:[],collectionsWithInit:{xAxis:[rt.prototype.addAxis,[!0]],yAxis:[rt.prototype.addAxis,[!1]],series:[rt.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"]}),rt}),yt(Y,"Extensions/ScrollablePlotArea.js",[Y["Core/Animation/AnimationUtilities.js"],Y["Core/Globals.js"],Y["Core/Renderer/RendererRegistry.js"],Y["Core/Utilities.js"]],function(tt,et,dt,ct){let{stop:lt}=tt,{composed:nt}=et,{addEvent:at,createElement:q,css:$,defined:V,merge:w,pushUnique:R}=ct;function j(){let b=this.scrollablePlotArea;(this.scrollablePixelsX||this.scrollablePixelsY)&&!b&&(this.scrollablePlotArea=b=new m(this)),b==null||b.applyFixed()}function P(){this.chart.scrollablePlotArea&&(this.chart.scrollablePlotArea.isDirty=!0)}class m{static compose(S,A,p){R(nt,this.compose)&&(at(S,"afterInit",P),at(A,"afterSetChartSize",C=>this.afterSetSize(C.target,C)),at(A,"render",j),at(p,"show",P))}static afterSetSize(S,A){let p,C,G,{minWidth:E,minHeight:v}=S.options.chart.scrollablePlotArea||{},{clipBox:o,plotBox:u,inverted:s,renderer:e}=S;if(!e.forExport&&(E?(S.scrollablePixelsX=p=Math.max(0,E-S.chartWidth),p&&(S.scrollablePlotBox=w(S.plotBox),u.width=S.plotWidth+=p,o[s?"height":"width"]+=p,G=!0)):v&&(S.scrollablePixelsY=C=Math.max(0,v-S.chartHeight),V(C)&&(S.scrollablePlotBox=w(S.plotBox),u.height=S.plotHeight+=C,o[s?"width":"height"]+=C,G=!1)),V(G)&&!A.skipAxes))for(let t of S.axes)t.horiz===G&&(t.setAxisSize(),t.setAxisTranslation())}constructor(S){var r;let A,p=S.options.chart,C=dt.getRendererType(),G=p.scrollablePlotArea||{},E=this.moveFixedElements.bind(this),v={WebkitOverflowScrolling:"touch",overflowX:"hidden",overflowY:"hidden"};S.scrollablePixelsX&&(v.overflowX="auto"),S.scrollablePixelsY&&(v.overflowY="auto"),this.chart=S;let o=this.parentDiv=q("div",{className:"highcharts-scrolling-parent"},{position:"relative"},S.renderTo),u=this.scrollingContainer=q("div",{className:"highcharts-scrolling"},v,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:(((r=p.style)==null?void 0:r.zIndex)||0)+2,top:0},void 0,!0),t=this.fixedRenderer=new C(e,S.chartWidth,S.chartHeight,p.style);this.mask=t.path().attr({fill:p.backgroundColor||"#fff","fill-opacity":G.opacity??.85,zIndex:-1}).addClass("highcharts-scrollable-mask").add(),u.parentNode.insertBefore(e,u),$(S.renderTo,{overflow:"visible"}),at(S,"afterShowResetZoom",E),at(S,"afterApplyDrilldown",E),at(S,"afterLayOutTitles",E),at(u,"scroll",()=>{let{pointer:a,hoverPoint:f}=S;a&&(delete a.chartPosition,f&&(A=f),a.runPointActions(void 0,A,!0))}),s.appendChild(S.container)}applyFixed(){var n;let{chart:S,fixedRenderer:A,isDirty:p,scrollingContainer:C}=this,{axisOffset:G,chartWidth:E,chartHeight:v,container:o,plotHeight:u,plotLeft:s,plotTop:e,plotWidth:t,scrollablePixelsX:r=0,scrollablePixelsY:a=0}=S,{scrollPositionX:f=0,scrollPositionY:y=0}=S.options.chart.scrollablePlotArea||{},h=E+r,T=v+a;A.setSize(E,v),(p??!0)&&(this.isDirty=!1,this.moveFixedElements()),lt(S.container),$(o,{width:`${h}px`,height:`${T}px`}),S.renderer.boxWrapper.attr({width:h,height:T,viewBox:[0,0,h,T].join(" ")}),(n=S.chartBackground)==null||n.attr({width:h,height:T}),$(C,{width:`${E}px`,height:`${v}px`}),V(p)||(C.scrollLeft=r*f,C.scrollTop=a*y);let F=e-G[0]-1,g=s-G[3]-1,L=e+u+G[2]+1,I=s+t+G[1]+1,W=s+t-r,J=e+u-a,l=[["M",0,0]];r?l=[["M",0,F],["L",s-1,F],["L",s-1,L],["L",0,L],["Z"],["M",W,F],["L",E,F],["L",E,L],["L",W,L],["Z"]]:a&&(l=[["M",g,0],["L",g,e-1],["L",I,e-1],["L",I,0],["Z"],["M",g,J],["L",g,v],["L",I,v],["L",I,J],["Z"]]),S.redrawTrigger!=="adjustHeight"&&this.mask.attr({d:l})}moveFixedElements(){let S,{container:A,inverted:p,scrollablePixelsX:C,scrollablePixelsY:G}=this.chart,E=this.fixedRenderer,v=m.fixedSelectors;for(let o of(C&&!p?S=".highcharts-yaxis":C&&p||G&&!p?S=".highcharts-xaxis":G&&p&&(S=".highcharts-yaxis"),S&&v.push(`${S}:not(.highcharts-radial-axis)`,`${S}-labels:not(.highcharts-radial-axis-labels)`),v))[].forEach.call(A.querySelectorAll(o),u=>{(u.namespaceURI===E.SVG_NS?E.box:E.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(Y,"Core/Axis/Stacking/StackItem.js",[Y["Core/Templating.js"],Y["Core/Series/SeriesRegistry.js"],Y["Core/Utilities.js"]],function(tt,et,dt){let{format:ct}=tt,{series:lt}=et,{destroyObjectProperties:nt,fireEvent:at,isNumber:q,pick:$}=dt;return class{constructor(V,w,R,j,P){let m=V.chart.inverted,b=V.reversed;this.axis=V;let S=this.isNegative=!!R!=!!b;this.options=w=w||{},this.x=j,this.total=null,this.cumulative=null,this.points={},this.hasValidPoints=!1,this.stack=P,this.leftCliff=0,this.rightCliff=0,this.alignOptions={align:w.align||(m?S?"left":"right":"center"),verticalAlign:w.verticalAlign||(m?"middle":S?"bottom":"top"),y:w.y,x:w.x},this.textAlign=w.textAlign||(m?S?"right":"left":"center")}destroy(){nt(this,this.axis)}render(V){let w=this.axis.chart,R=this.options,j=R.format,P=j?ct(j,this,w):R.formatter.call(this);if(this.label)this.label.attr({text:P,visibility:"hidden"});else{this.label=w.renderer.label(P,null,void 0,R.shape,void 0,void 0,R.useHTML,!1,"stack-labels");let m={r:R.borderRadius||0,text:P,padding:$(R.padding,5),visibility:"hidden"};w.styledMode||(m.fill=R.backgroundColor,m.stroke=R.borderColor,m["stroke-width"]=R.borderWidth,this.label.css(R.style||{})),this.label.attr(m),this.label.added||this.label.add(V)}this.label.labelrank=w.plotSizeY,at(this,"afterRender")}setOffset(V,w,R,j,P,m){let{alignOptions:b,axis:S,label:A,options:p,textAlign:C}=this,G=S.chart,E=this.getStackBox({xOffset:V,width:w,boxBottom:R,boxTop:j,defaultX:P,xAxis:m}),{verticalAlign:v}=b;if(A&&E){let o=A.getBBox(void 0,0),u=A.padding,s=$(p.overflow,"justify")==="justify",e;b.x=p.x||0,b.y=p.y||0;let{x:t,y:r}=this.adjustStackPosition({labelBox:o,verticalAlign:v,textAlign:C});E.x-=t,E.y-=r,A.align(b,!1,E),(e=G.isInsidePlot(A.alignAttr.x+b.x+t,A.alignAttr.y+b.y+r))||(s=!1),s&<.prototype.justifyDataLabel.call(S,A,b,A.alignAttr,o,E),A.attr({x:A.alignAttr.x,y:A.alignAttr.y,rotation:p.rotation,rotationOriginX:o.width*{left:0,center:.5,right:1}[p.textAlign||"center"],rotationOriginY:o.height/2}),$(!s&&p.crop,!0)&&(e=q(A.x)&&q(A.y)&&G.isInsidePlot(A.x-u+(A.width||0),A.y)&&G.isInsidePlot(A.x+u,A.y)),A[e?"show":"hide"]()}at(this,"afterSetOffset",{xOffset:V,width:w})}adjustStackPosition({labelBox:V,verticalAlign:w,textAlign:R}){let j={bottom:0,middle:1,top:2,right:1,center:0,left:-1},P=j[w],m=j[R];return{x:V.width/2+V.width/2*m,y:V.height/2*P}}getStackBox(V){let w=this.axis,R=w.chart,{boxTop:j,defaultX:P,xOffset:m,width:b,boxBottom:S}=V,A=w.stacking.usePercentage?100:$(j,this.total,0),p=w.toPixels(A),C=V.xAxis||R.xAxis[0],G=$(P,C.translate(this.x))+m,E=Math.abs(p-w.toPixels(S||q(w.min)&&w.logarithmic&&w.logarithmic.lin2log(w.min)||0)),v=R.inverted,o=this.isNegative;return v?{x:(o?p:p-E)-R.plotLeft,y:C.height-G-b+C.top-R.plotTop,width:E,height:b}:{x:G+C.transB-R.plotLeft,y:(o?p-E:p)-R.plotTop,width:b,height:E}}}}),yt(Y,"Core/Axis/Stacking/StackingAxis.js",[Y["Core/Animation/AnimationUtilities.js"],Y["Core/Axis/Axis.js"],Y["Core/Series/SeriesRegistry.js"],Y["Core/Axis/Stacking/StackItem.js"],Y["Core/Utilities.js"]],function(tt,et,dt,ct,lt){var nt;let{getDeferredAnimation:at}=tt,{series:{prototype:q}}=dt,{addEvent:$,correctFloat:V,defined:w,destroyObjectProperties:R,fireEvent:j,isArray:P,isNumber:m,objectEach:b,pick:S}=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,S(t.options.stack,""),e?r.top:r.left,e?r.height:r.width].join(","))})}function p(){var t;let e=this.stacking;if(e){let r=e.stacks;b(r,(a,f)=>{R(a),delete r[f]}),(t=e.stackTotalGroup)==null||t.destroy()}}function C(){this.stacking||(this.stacking=new s(this))}function G(e,t,r,a){return!w(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 E(){let e,t=this,r=t.yAxis,a=t.stackKey||"",f=r.stacking.stacks,y=t.processedXData,h=t.options.stacking,T=t[h+"Stacker"];T&&[a,"-"+a].forEach(F=>{var J;let g=y.length,L,I,W;for(;g--;)L=y[g],e=t.getStackIndicator(e,L,t.index,F),I=(J=f[F])==null?void 0:J[L],(W=I==null?void 0:I.points[e.key||""])&&T.call(t,W,I,g)})}function v(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){var Z,rt;let r,a,f,y,h,T,F,g,L,I=t||this.options.stacking;if(!I||!this.reserveSpace()||({group:"xAxis"}[I]||"yAxis")!==e.coll)return;let W=this.processedXData,J=this.processedYData,l=[],n=J.length,x=this.options,D=x.threshold||0,i=x.startFromThreshold?D:0,c=x.stack,d=t?`${this.type},${I}`:this.stackKey||"",M="-"+d,k=this.negStacks,B=e.stacking,H=B.stacks,U=B.oldStacks;for(B.stacksTouched+=1,F=0;F<n;F++){g=W[F],L=J[F],T=(r=this.getStackIndicator(r,g,this.index)).key||"",H[h=(a=k&&L<(i?0:D))?M:d]||(H[h]={}),H[h][g]||((Z=U[h])!=null&&Z[g]?(H[h][g]=U[h][g],H[h][g].total=null):H[h][g]=new ct(e,e.options.stackLabels,!!a,g,c)),f=H[h][g],L!==null?(f.points[T]=f.points[this.index]=[S(f.cumulative,i)],w(f.cumulative)||(f.base=T),f.touched=B.stacksTouched,r.index>0&&this.singleStacks===!1&&(f.points[T][0]=f.points[this.index+","+g+",0"][0])):(delete f.points[T],delete f.points[this.index]);let it=f.total||0;I==="percent"?(y=a?d:M,it=k&&((rt=H[y])!=null&&rt[g])?(y=H[y][g]).total=Math.max(y.total||0,it)+Math.abs(L)||0:V(it+(Math.abs(L)||0))):I==="group"?(P(L)&&(L=L[0]),L!==null&&it++):it=V(it+(L||0)),I==="group"?f.cumulative=(it||1)-1:f.cumulative=V(S(f.cumulative,i)+(L||0)),f.total=it,L!==null&&(f.points[T].push(f.cumulative),l[F]=f.cumulative,f.hasValidPoints=!0)}I==="percent"&&(B.usePercentage=!0),I!=="group"&&(this.stackedYData=l),B.oldStacks={}}class s{constructor(t){this.oldStacks={},this.stacks={},this.stacksTouched=0,this.axis=t}buildStacks(){let t,r,a=this.axis,f=a.series,y=a.coll==="xAxis",h=a.options.reversedStacks,T=f.length;for(this.resetStacks(),this.usePercentage=!1,r=T;r--;)t=f[h?r:T-r-1],y&&t.setGroupedPoints(a),t.setStackedPoints(a);if(!y)for(r=0;r<T;r++)f[r].modifyStacks();j(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(){var T;let t=this.axis,r=t.chart,a=r.renderer,f=this.stacks,y=at(r,((T=t.options.stackLabels)==null?void 0:T.animation)||!1),h=this.stackTotalGroup=this.stackTotalGroup||a.g("stack-labels").attr({zIndex:6,opacity:0}).add();h.translate(r.plotLeft,r.plotTop),b(f,F=>{b(F,g=>{g.render(h)})}),h.animate({opacity:1},y)}}return(nt||(nt={})).compose=function(e,t,r){let a=t.prototype,f=r.prototype;a.getStacks||($(e,"init",C),$(e,"destroy",p),a.getStacks=A,f.getStackIndicator=G,f.modifyStacks=E,f.percentStacker=v,f.setGroupedPoints=o,f.setStackedPoints=u)},nt}),yt(Y,"Series/Line/LineSeries.js",[Y["Core/Series/Series.js"],Y["Core/Series/SeriesRegistry.js"],Y["Core/Utilities.js"]],function(tt,et,dt){let{defined:ct,merge:lt,isObject:nt}=dt;class at extends tt{drawGraph(){let $=this.options,V=(this.gappedPath||this.getGraphPath).call(this),w=this.chart.styledMode;[this,...this.zones].forEach((R,j)=>{let P,m=R.graph,b=m?"animate":"attr",S=R.dashStyle||$.dashStyle;m?(m.endX=this.preventGraphAnimation?null:V.xMap,m.animate({d:V})):V.length&&(R.graph=m=this.chart.renderer.path(V).addClass("highcharts-graph"+(j?` highcharts-zone-graph-${j-1} `:" ")+(j&&R.className||"")).attr({zIndex:1}).add(this.group)),m&&!w&&(P={stroke:!j&&$.lineColor||R.color||this.color||"#cccccc","stroke-width":$.lineWidth||0,fill:this.fillGraph&&this.color||"none"},S?P.dashstyle=S:$.linecap!=="square"&&(P["stroke-linecap"]=P["stroke-linejoin"]="round"),m[b](P).shadow(j<2&&$.shadow&<({filterUnits:"userSpaceOnUse"},nt($.shadow)?$.shadow:{}))),m&&(m.startX=V.xMap,m.isArea=V.isArea)})}getGraphPath($,V,w){let R=this,j=R.options,P=[],m=[],b,S=j.step,A=($=$||R.points).reversed;return A&&$.reverse(),(S={right:1,center:2}[S]||S&&3)&&A&&(S=4-S),($=this.getValidPoints($,!1,!(j.connectNulls&&!V&&!w))).forEach(function(p,C){let G,E=p.plotX,v=p.plotY,o=$[C-1],u=p.isNull||typeof v!="number";(p.leftCliff||o&&o.rightCliff)&&!w&&(b=!0),u&&!ct(V)&&C>0?b=!j.connectNulls:u&&!V?b=!0:(C===0||b?G=[["M",p.plotX,p.plotY]]:R.getPointSpline?G=[R.getPointSpline($,p,C)]:S?(G=S===1?[["L",o.plotX,v]]:S===2?[["L",(o.plotX+E)/2,o.plotY],["L",(o.plotX+E)/2,v]]:[["L",E,o.plotY]]).push(["L",E,v]):G=[["L",E,v]],m.push(p.x),S&&(m.push(p.x),S===2&&m.push(p.x)),P.push.apply(P,G),b=!1)}),P.xMap=m,R.graphPath=P,P}}return at.defaultOptions=lt(tt.defaultOptions,{legendSymbol:"lineMarker"}),et.registerSeriesType("line",at),at}),yt(Y,"Series/Area/AreaSeriesDefaults.js",[],function(){return{threshold:0,legendSymbol:"areaMarker"}}),yt(Y,"Series/Area/AreaSeries.js",[Y["Series/Area/AreaSeriesDefaults.js"],Y["Core/Series/SeriesRegistry.js"],Y["Core/Utilities.js"]],function(tt,et,dt){let{seriesTypes:{line:ct}}=et,{extend:lt,merge:nt,objectEach:at,pick:q}=dt;class $ extends ct{drawGraph(){this.areaPath=[],super.drawGraph.apply(this);let{areaPath:w,options:R}=this;[this,...this.zones].forEach((j,P)=>{let m={},b=j.fillColor||R.fillColor,S=j.area,A=S?"animate":"attr";S?(S.endX=this.preventGraphAnimation?null:w.xMap,S.animate({d:w})):(m.zIndex=0,(S=j.area=this.chart.renderer.path(w).addClass("highcharts-area"+(P?` highcharts-zone-area-${P-1} `:" ")+(P&&j.className||"")).add(this.group)).isArea=!0),this.chart.styledMode||(m.fill=b||j.color||this.color,m["fill-opacity"]=b?1:R.fillOpacity??.75,S.css({pointerEvents:this.stickyTracking?"none":"auto"})),S[A](m),S.startX=w.xMap,S.shiftUnit=R.step?2:1})}getGraphPath(w){let R,j,P,m=ct.prototype.getGraphPath,b=this.options,S=b.stacking,A=this.yAxis,p=[],C=[],G=this.index,E=A.stacking.stacks[this.stackKey],v=b.threshold,o=Math.round(A.getThreshold(b.threshold)),u=q(b.connectNulls,S==="percent"),s=function(y,h,T){let F=w[y],g=S&&E[F.x].points[G],L=F[T+"Null"]||0,I=F[T+"Cliff"]||0,W,J,l=!0;I||L?(W=(L?g[0]:g[1])+I,J=g[0]+I,l=!!L):!S&&w[h]&&w[h].isNull&&(W=J=v),W!==void 0&&(C.push({plotX:R,plotY:W===null?o:A.getThreshold(W),isNull:l,isCliff:!0}),p.push({plotX:R,plotY:J===null?o:A.getThreshold(J),doCurve:!1}))};w=w||this.points,S&&(w=this.getStackPoints(w));for(let y=0,h=w.length;y<h;++y)S||(w[y].leftCliff=w[y].rightCliff=w[y].leftNull=w[y].rightNull=void 0),j=w[y].isNull,R=q(w[y].rectPlotX,w[y].plotX),P=S?q(w[y].yBottom,o):o,j&&!u||(u||s(y,y-1,"left"),j&&!S&&u||(C.push(w[y]),p.push({x:y,plotX:R,plotY:P})),u||s(y,y+1,"right"));let e=m.call(this,C,!0,!0);p.reversed=!0;let t=m.call(this,p,!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 f=m.call(this,C,!1,u);return this.chart.series.length>1&&S&&C.some(y=>y.isCliff)&&(a.hasStackedCliffs=f.hasStackedCliffs=!0),a.xMap=e.xMap,this.areaPath=a,f}getStackPoints(w){let R=this,j=[],P=[],m=this.xAxis,b=this.yAxis,S=b.stacking.stacks[this.stackKey],A={},p=b.series,C=p.length,G=b.options.reversedStacks?1:-1,E=p.indexOf(R);if(w=w||this.points,this.options.stacking){for(let o=0;o<w.length;o++)w[o].leftNull=w[o].rightNull=void 0,A[w[o].x]=w[o];at(S,function(o,u){o.total!==null&&P.push(u)}),P.sort(function(o,u){return o-u});let v=p.map(o=>o.visible);P.forEach(function(o,u){let s=0,e,t;if(A[o]&&!A[o].isNull)j.push(A[o]),[-1,1].forEach(function(r){let a=r===1?"rightNull":"leftNull",f=S[P[u+r]],y=0;if(f){let h=E;for(;h>=0&&h<C;){let T=p[h].index;!(e=f.points[T])&&(T===R.index?A[o][a]=!0:v[h]&&(t=S[o].points[T])&&(y-=t[1]-t[0])),h+=G}}A[o][r===1?"rightCliff":"leftCliff"]=y});else{let r=E;for(;r>=0&&r<C;){let a=p[r].index;if(e=S[o].points[a]){s=e[1];break}r+=G}s=q(s,0),s=b.translate(s,0,1,0,1),j.push({isNull:!0,plotX:m.translate(o,0,0,0,1),x:o,plotY:s,yBottom:s})}})}return j}}return $.defaultOptions=nt(ct.defaultOptions,tt),lt($.prototype,{singleStacks:!1}),et.registerSeriesType("area",$),$}),yt(Y,"Series/Spline/SplineSeries.js",[Y["Core/Series/SeriesRegistry.js"],Y["Core/Utilities.js"]],function(tt,et){let{line:dt}=tt.seriesTypes,{merge:ct,pick:lt}=et;class nt extends dt{getPointSpline(q,$,V){let w,R,j,P,m=$.plotX||0,b=$.plotY||0,S=q[V-1],A=q[V+1];function p(G){return G&&!G.isNull&&G.doCurve!==!1&&!$.isCliff}if(p(S)&&p(A)){let G=S.plotX||0,E=S.plotY||0,v=A.plotX||0,o=A.plotY||0,u=0;w=(1.5*m+G)/2.5,R=(1.5*b+E)/2.5,j=(1.5*m+v)/2.5,P=(1.5*b+o)/2.5,j!==w&&(u=(P-R)*(j-m)/(j-w)+b-P),R+=u,P+=u,R>E&&R>b?(R=Math.max(E,b),P=2*b-R):R<E&&R<b&&(R=Math.min(E,b),P=2*b-R),P>o&&P>b?(P=Math.max(o,b),R=2*b-P):P<o&&P<b&&(P=Math.min(o,b),R=2*b-P),$.rightContX=j,$.rightContY=P,$.controlPoints={low:[w,R],high:[j,P]}}let C=["C",lt(S.rightContX,S.plotX,0),lt(S.rightContY,S.plotY,0),lt(w,m,0),lt(R,b,0),m,b];return S.rightContX=S.rightContY=void 0,C}}return nt.defaultOptions=ct(dt.defaultOptions),tt.registerSeriesType("spline",nt),nt}),yt(Y,"Series/AreaSpline/AreaSplineSeries.js",[Y["Series/Spline/SplineSeries.js"],Y["Core/Series/SeriesRegistry.js"],Y["Core/Utilities.js"]],function(tt,et,dt){let{area:ct,area:{prototype:lt}}=et.seriesTypes,{extend:nt,merge:at}=dt;class q extends tt{}return q.defaultOptions=at(tt.defaultOptions,ct.defaultOptions),nt(q.prototype,{getGraphPath:lt.getGraphPath,getStackPoints:lt.getStackPoints,drawGraph:lt.drawGraph}),et.registerSeriesType("areaspline",q),q}),yt(Y,"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(Y,"Series/Column/ColumnSeries.js",[Y["Core/Animation/AnimationUtilities.js"],Y["Core/Color/Color.js"],Y["Series/Column/ColumnSeriesDefaults.js"],Y["Core/Globals.js"],Y["Core/Series/Series.js"],Y["Core/Series/SeriesRegistry.js"],Y["Core/Utilities.js"]],function(tt,et,dt,ct,lt,nt,at){let{animObject:q}=tt,{parse:$}=et,{noop:V}=ct,{clamp:w,crisp:R,defined:j,extend:P,fireEvent:m,isArray:b,isNumber:S,merge:A,pick:p,objectEach:C}=at;class G extends lt{animate(v){let o,u,s=this,e=this.yAxis,t=e.pos,r=e.reversed,a=s.options,{clipOffset:f,inverted:y}=this.chart,h={},T=y?"translateX":"translateY";v&&f?(h.scaleY=.001,u=w(e.toPixels(a.threshold),t,t+e.len),y?(u+=r?-Math.floor(f[0]):Math.ceil(f[2]),h.translateX=u-e.len):(u+=r?Math.ceil(f[0]):-Math.floor(f[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(F,g){s.group&&(h[T]=o+g.pos*(t-o),s.group.attr(h))}})))}init(v,o){super.init.apply(this,arguments);let u=this;(v=u.chart).hasRendered&&v.series.forEach(function(s){s.type===u.type&&(s.isDirty=!0)})}getColumnMetrics(){var L,I;let v=this,o=v.options,u=v.xAxis,s=v.yAxis,e=u.options.reversedStacks,t=u.reversed&&!e||!u.reversed&&e,r={},a,f=0;o.grouping===!1?f=1:v.chart.series.forEach(function(W){let J,l=W.yAxis,n=W.options;W.type===v.type&&W.reserveSpace()&&s.len===l.len&&s.pos===l.pos&&(n.stacking&&n.stacking!=="group"?(r[a=W.stackKey]===void 0&&(r[a]=f++),J=r[a]):n.grouping!==!1&&(J=f++),W.columnIndex=J)});let y=Math.min(Math.abs(u.transA)*(!((L=u.brokenAxis)!=null&&L.hasBreaks)&&((I=u.ordinal)==null?void 0:I.slope)||o.pointRange||u.closestPointRange||u.tickInterval||1),u.len),h=y*o.groupPadding,T=(y-2*h)/(f||1),F=Math.min(o.maxPointWidth||u.len,p(o.pointWidth,T*(1-2*o.pointPadding))),g=(v.columnIndex||0)+(t?1:0);return v.columnMetrics={width:F,offset:(T-F)/2+(h+g*T-y/2)*(t?-1:1),paddedWidth:T,columnCount:f},v.columnMetrics}crispCol(v,o,u,s){let e=this.borderWidth,t=this.chart.inverted;return s=R(o+s,e,t)-(o=R(o,e,t)),this.options.crisp&&(u=R(v+u,e)-(v=R(v,e))),{x:v,y:o,width:u,height:s}}adjustForMissingColumns(v,o,u,s){var e;if(!u.isNull&&s.columnCount>1){let t=this.xAxis.series.filter(y=>y.visible).map(y=>y.index),r=0,a=0;C((e=this.xAxis.stacking)==null?void 0:e.stacks,y=>{if(typeof u.x=="number"){let h=y[u.x.toString()];if(h&&b(h.points[this.index])){let T=Object.keys(h.points).filter(F=>!F.match(",")&&h.points[F]&&h.points[F].length>1).map(parseFloat).filter(F=>t.indexOf(F)!==-1).sort((F,g)=>g-F);r=T.indexOf(this.index),a=T.length}}}),r=this.xAxis.reversed?a-1-r:r;let f=(a-1)*s.paddedWidth+o;v=(u.plotX||0)+f/2-o-r*s.paddedWidth}return v}translate(){let v=this,o=v.chart,u=v.options,s=v.dense=v.closestPointRange*v.xAxis.transA<2,e=v.borderWidth=p(u.borderWidth,s?0:1),t=v.xAxis,r=v.yAxis,a=u.threshold,f=p(u.minPointLength,5),y=v.getColumnMetrics(),h=y.width,T=v.pointXOffset=y.offset,F=v.dataMin,g=v.dataMax,L=v.translatedThreshold=r.getThreshold(a),I=v.barW=Math.max(h,1+2*e);u.pointPadding&&(I=Math.ceil(I)),lt.prototype.translate.apply(v),v.points.forEach(function(W){let J=p(W.yBottom,L),l=999+Math.abs(J),n=W.plotX||0,x=w(W.plotY,-l,r.len+l),D,i=Math.min(x,J),c=Math.max(x,J)-i,d=h,M=n+T,k=I;f&&Math.abs(c)<f&&(c=f,D=!r.reversed&&!W.negative||r.reversed&&W.negative,S(a)&&S(g)&&W.y===a&&g<=a&&(r.min||0)<a&&(F!==g||(r.max||0)<=a)&&(D=!D,W.negative=!W.negative),i=Math.abs(i-L)>f?J-f:L-(D?f:0)),j(W.options.pointWidth)&&(M-=Math.round(((d=k=Math.ceil(W.options.pointWidth))-h)/2)),u.centerInCategory&&!u.stacking&&(M=v.adjustForMissingColumns(M,d,W,y)),W.barX=M,W.pointWidth=d,W.tooltipPos=o.inverted?[w(r.len+r.pos-o.plotLeft-x,r.pos-o.plotLeft,r.len+r.pos-o.plotLeft),t.len+t.pos-o.plotTop-M-k/2,c]:[t.left-o.plotLeft+M+k/2,w(x+r.pos-o.plotTop,r.pos-o.plotTop,r.len+r.pos-o.plotTop),c],W.shapeType=v.pointClass.prototype.shapeType||"roundedRect",W.shapeArgs=v.crispCol(M,W.isNull?L:i,k,W.isNull?0:c)}),m(this,"afterColumnTranslate")}drawGraph(){this.group[this.dense?"addClass":"removeClass"]("highcharts-dense-data")}pointAttribs(v,o){let u=this.options,s=this.pointAttrToOptions||{},e=s.stroke||"borderColor",t=s["stroke-width"]||"borderWidth",r,a,f,y=v&&v.color||this.color,h=v&&v[e]||u[e]||y,T=v&&v.options.dashStyle||u.dashStyle,F=v&&v[t]||u[t]||this[t]||0,g=p(v&&v.opacity,u.opacity,1);v&&this.zones.length&&(a=v.getZone(),y=v.options.color||a&&(a.color||v.nonZonedColor)||this.color,a&&(h=a.borderColor||h,T=a.dashStyle||T,F=a.borderWidth||F)),o&&v&&(f=(r=A(u.states[o],v.options.states&&v.options.states[o]||{})).brightness,y=r.color||f!==void 0&&$(y).brighten(r.brightness).get()||y,h=r[e]||h,F=r[t]||F,T=r.dashStyle||T,g=p(r.opacity,g));let L={fill:y,stroke:h,"stroke-width":F,opacity:g};return T&&(L.dashstyle=T),L}drawPoints(v=this.points){let o,u=this,s=this.chart,e=u.options,t=s.renderer,r=e.animationLimit||250;v.forEach(function(a){let f=a.plotY,y=a.graphic,h=!!y,T=y&&s.pointCount<r?"animate":"attr";S(f)&&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(v=this.points){let o,u=this,s=u.chart,e=s.pointer,t=function(r){let a=e==null?void 0:e.getPointFromEvent(r);e&&a&&u.options.enableMouseTracking&&(e.isDirectTouch=!0,a.onMouseOver(r))};v.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==null||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 v=this,o=v.chart;o.hasRendered&&o.series.forEach(function(u){u.type===v.type&&(u.isDirty=!0)}),lt.prototype.remove.apply(v,arguments)}}return G.defaultOptions=A(lt.defaultOptions,dt),P(G.prototype,{directTouch:!0,getSymbol:V,negStacks:!0,trackerGroups:["group","dataLabelsGroup"]}),nt.registerSeriesType("column",G),G}),yt(Y,"Core/Series/DataLabel.js",[Y["Core/Animation/AnimationUtilities.js"],Y["Core/Templating.js"],Y["Core/Utilities.js"]],function(tt,et,dt){var ct;let{getDeferredAnimation:lt}=tt,{format:nt}=et,{defined:at,extend:q,fireEvent:$,isArray:V,isString:w,merge:R,objectEach:j,pick:P,pInt:m,splat:b}=dt;return function(S){function A(){return u(this).some(e=>e==null?void 0:e.enabled)}function p(e,t,r,a,f){var x;let{chart:y,enabledDataSorting:h}=this,T=this.isCartesian&&y.inverted,F=e.plotX,g=e.plotY,L=r.rotation||0,I=at(F)&&at(g)&&y.isInsidePlot(F,Math.round(g),{inverted:T,paneCoordinates:!0,series:this}),W=L===0&&P(r.overflow,h?"none":"justify")==="justify",J=this.visible&&e.visible!==!1&&at(F)&&(e.series.forceDL||h&&!W||I||P(r.inside,!!this.options.stacking)&&a&&y.isInsidePlot(F,T?a.x+1:a.y+a.height-1,{inverted:T,paneCoordinates:!0,series:this})),l=e.pos();if(J&&l){var n;let D=t.getBBox(),i=t.getBBox(void 0,0),c={right:1,center:.5}[r.align||0]||0,d={bottom:1,middle:.5}[r.verticalAlign||0]||0;if(a=q({x:l[0],y:Math.round(l[1]),width:0,height:0},a||{}),r.alignTo==="plotEdges"&&this.isCartesian&&(a[T?"x":"y"]=0,a[T?"width":"height"]=((x=this.yAxis)==null?void 0:x.len)||0),q(r,{width:D.width,height:D.height}),n=a,h&&this.xAxis&&!W&&this.setDataLabelStartPos(e,t,f,I,n),t.align(R(r,{width:i.width,height:i.height}),!1,a,!1),t.alignAttr.x+=c*(i.width-D.width),t.alignAttr.y+=d*(i.height-D.height),t[t.placed?"animate":"attr"]({x:t.alignAttr.x+(D.width-i.width)/2,y:t.alignAttr.y+(D.height-i.height)/2,rotationOriginX:(t.width||0)/2,rotationOriginY:(t.height||0)/2}),W&&a.height>=0)this.justifyDataLabel(t,r,t.alignAttr,D,a,f);else if(P(r.crop,!0)){let{x:M,y:k}=t.alignAttr;J=y.isInsidePlot(M,k,{paneCoordinates:!0,series:this})&&y.isInsidePlot(M+D.width-1,k+D.height-1,{paneCoordinates:!0,series:this})}r.shape&&!L&&t[f?"attr":"animate"]({anchorX:l[0],anchorY:l[1]})}f&&h&&(t.placed=!1),J||h&&!W?(t.show(),t.placed=!0):(t.hide(),t.placed=!1)}function C(){return this.plotGroup("dataLabelsGroup","data-labels",this.hasRendered?"inherit":"hidden",this.options.dataLabels.zIndex||6)}function G(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 E(e){var J;let t;e=e||this.points;let r=this,a=r.chart,f=r.options,y=a.renderer,{backgroundColor:h,plotBackgroundColor:T}=a.options.chart,F=y.getContrast(w(T)&&T||w(h)&&h||"#000000"),g=u(r),{animation:L,defer:I}=g[0],W=I?lt(a,L,r):{defer:0,duration:0};$(this,"drawDataLabels"),(J=r.hasDataLabels)!=null&&J.call(r)&&(t=this.initDataLabels(W),e.forEach(l=>{var D,i;let n=l.dataLabels||[];b(o(g,l.dlOptions||((D=l.options)==null?void 0:D.dataLabels))).forEach((c,d)=>{let M=c.enabled&&(l.visible||l.dataLabelOnHidden)&&(!l.isNull||l.dataLabelOnNull)&&function(Q,_){let st=_.filter;if(st){let ot=st.operator,ht=Q[st.property],pt=st.value;return ot===">"&&ht>pt||ot==="<"&&ht<pt||ot===">="&&ht>=pt||ot==="<="&&ht<=pt||ot==="=="&&ht==pt||ot==="==="&&ht===pt||ot==="!="&&ht!=pt||ot==="!=="&&ht!==pt}return!0}(l,c),{backgroundColor:k,borderColor:B,distance:H,style:U={}}=c,Z,rt,it,z,O={},N=n[d],X=!N,K;M&&(rt=P(c[l.formatPrefix+"Format"],c.format),Z=l.getLabelConfig(),it=at(rt)?nt(rt,Z,a):(c[l.formatPrefix+"Formatter"]||c.formatter).call(Z,c),z=c.rotation,!a.styledMode&&(U.color=P(c.color,U.color,w(r.color)?r.color:void 0,"#000000"),U.color==="contrast"?(k!=="none"&&(K=k),l.contrastColor=y.getContrast(K!=="auto"&&K||l.color||r.color),U.color=K||!at(H)&&c.inside||0>m(H||0)||f.stacking?l.contrastColor:F):delete l.contrastColor,f.cursor&&(U.cursor=f.cursor)),O={r:c.borderRadius||0,rotation:z,padding:c.padding,zIndex:1},a.styledMode||(O.fill=k==="auto"?l.color:k,O.stroke=B==="auto"?l.color:B,O["stroke-width"]=c.borderWidth),j(O,(Q,_)=>{Q===void 0&&delete O[_]})),!N||M&&at(it)&&!!N.div==!!c.useHTML&&(N.rotation&&c.rotation||N.rotation===c.rotation)||(N=void 0,X=!0),M&&at(it)&&(N?O.text=it:(N=y.label(it,0,0,c.shape,void 0,void 0,c.useHTML,void 0,"data-label")).addClass(" highcharts-data-label-color-"+l.colorIndex+" "+(c.className||"")+(c.useHTML?" highcharts-tracker":"")),N&&(N.options=c,N.attr(O),a.styledMode?U.width&&N.css({width:U.width,textOverflow:U.textOverflow}):N.css(U).shadow(c.shadow),$(N,"beforeAddingDataLabel",{labelOptions:c,point:l}),N.added||N.add(t),r.alignDataLabel(l,N,c,void 0,X),N.isActive=!0,n[d]&&n[d]!==N&&n[d].destroy(),n[d]=N))});let x=n.length;for(;x--;)n[x]&&n[x].isActive?n[x].isActive=!1:((i=n[x])==null||i.destroy(),n.splice(x,1));l.dataLabel=n[0],l.dataLabels=n})),$(this,"afterDrawDataLabels")}function v(e,t,r,a,f,y){let h=this.chart,T=t.align,F=t.verticalAlign,g=e.box?0:e.padding||0,L=h.inverted?this.yAxis:this.xAxis,I=L?L.left-h.plotLeft:0,W=h.inverted?this.xAxis:this.yAxis,J=W?W.top-h.plotTop:0,{x:l=0,y:n=0}=t,x,D;return(x=(r.x||0)+g+I)<0&&(T==="right"&&l>=0?(t.align="left",t.inside=!0):l-=x,D=!0),(x=(r.x||0)+a.width-g+I)>h.plotWidth&&(T==="left"&&l<=0?(t.align="right",t.inside=!0):l+=h.plotWidth-x,D=!0),(x=r.y+g+J)<0&&(F==="bottom"&&n>=0?(t.verticalAlign="top",t.inside=!0):n-=x,D=!0),(x=(r.y||0)+a.height-g+J)>h.plotHeight&&(F==="top"&&n<=0?(t.verticalAlign="bottom",t.inside=!0):n+=h.plotHeight-x,D=!0),D&&(t.x=l,t.y=n,e.placed=!y,e.align(t,void 0,f)),D}function o(e,t){let r=[],a;if(V(e)&&!V(t))r=e.map(function(f){return R(f,t)});else if(V(t)&&!V(e))r=t.map(function(f){return R(e,f)});else if(V(e)||V(t)){if(V(e)&&V(t))for(a=Math.max(e.length,t.length);a--;)r[a]=R(e[a],t[a])}else r=R(e,t);return r}function u(e){var r,a;let t=e.chart.options.plotOptions;return b(o(o((r=t==null?void 0:t.series)==null?void 0:r.dataLabels,(a=t==null?void 0:t[e.type])==null?void 0:a.dataLabels),e.options.dataLabels))}function s(e,t,r,a,f){let y=this.chart,h=y.inverted,T=this.xAxis,F=T.reversed,g=((h?t.height:t.width)||0)/2,L=e.pointWidth,I=L?L/2:0;t.startXPos=h?f.x:F?-g-I:T.width-g+I,t.startYPos=h?F?this.yAxis.height-g+I:-g-I:f.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)}S.compose=function(e){let t=e.prototype;t.initDataLabels||(t.initDataLabels=G,t.initDataLabelsGroup=C,t.alignDataLabel=p,t.drawDataLabels=E,t.justifyDataLabel=v,t.setDataLabelStartPos=s,t.hasDataLabels=A)}}(ct||(ct={})),ct}),yt(Y,"Series/Column/ColumnDataLabel.js",[Y["Core/Series/DataLabel.js"],Y["Core/Globals.js"],Y["Core/Series/SeriesRegistry.js"],Y["Core/Utilities.js"]],function(tt,et,dt,ct){var lt;let{composed:nt}=et,{series:at}=dt,{merge:q,pick:$,pushUnique:V}=ct;return function(w){function R(j,P,m,b,S){let A=this.chart.inverted,p=j.series,C=(p.xAxis?p.xAxis.len:this.chart.plotSizeX)||0,G=(p.yAxis?p.yAxis.len:this.chart.plotSizeY)||0,E=j.dlBox||j.shapeArgs,v=$(j.below,j.plotY>$(this.translatedThreshold,G)),o=$(m.inside,!!this.options.stacking);if(E){if(b=q(E),!(m.overflow==="allow"&&m.crop===!1)){b.y<0&&(b.height+=b.y,b.y=0);let u=b.y+b.height-G;u>0&&u<b.height-1&&(b.height-=u)}A&&(b={x:G-b.y-b.height,y:C-b.x-b.width,width:b.height,height:b.width}),o||(A?(b.x+=v?0:b.width,b.width=0):(b.y+=v?b.height:0,b.height=0))}m.align=$(m.align,!A||o?"center":v?"right":"left"),m.verticalAlign=$(m.verticalAlign,A||o?"middle":v?"top":"bottom"),at.prototype.alignDataLabel.call(this,j,P,m,b,S),m.inside&&j.contrastColor&&P.css({color:j.contrastColor})}w.compose=function(j){tt.compose(at),V(nt,"ColumnDataLabel")&&(j.prototype.alignDataLabel=R)}}(lt||(lt={})),lt}),yt(Y,"Series/Bar/BarSeries.js",[Y["Series/Column/ColumnSeries.js"],Y["Core/Series/SeriesRegistry.js"],Y["Core/Utilities.js"]],function(tt,et,dt){let{extend:ct,merge:lt}=dt;class nt extends tt{}return nt.defaultOptions=lt(tt.defaultOptions,{}),ct(nt.prototype,{inverted:!0}),et.registerSeriesType("bar",nt),nt}),yt(Y,"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}">●</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(Y,"Series/Scatter/ScatterSeries.js",[Y["Series/Scatter/ScatterSeriesDefaults.js"],Y["Core/Series/SeriesRegistry.js"],Y["Core/Utilities.js"]],function(tt,et,dt){let{column:ct,line:lt}=et.seriesTypes,{addEvent:nt,extend:at,merge:q}=dt;class $ extends lt{applyJitter(){let w=this,R=this.options.jitter,j=this.points.length;R&&this.points.forEach(function(P,m){["x","y"].forEach(function(b,S){if(R[b]&&!P.isNull){let A=`plot${b.toUpperCase()}`,p=w[`${b}Axis`],C=R[b]*p.transA;if(p&&!p.logarithmic){let G=Math.max(0,(P[A]||0)-C),E=Math.min(p.len,(P[A]||0)+C);P[A]=G+(E-G)*function(v){let o=1e4*Math.sin(v);return o-Math.floor(o)}(m+S*j),b==="x"&&(P.clientX=P.plotX)}}})})}drawGraph(){this.options.lineWidth?super.drawGraph():this.graph&&(this.graph=this.graph.destroy())}}return $.defaultOptions=q(lt.defaultOptions,tt),at($.prototype,{drawTracker:ct.prototype.drawTracker,sorted:!1,requireSorting:!1,noSharedTooltip:!0,trackerGroups:["group","markerGroup","dataLabelsGroup"]}),nt($,"afterTranslate",function(){this.applyJitter()}),et.registerSeriesType("scatter",$),$}),yt(Y,"Series/CenteredUtilities.js",[Y["Core/Globals.js"],Y["Core/Series/Series.js"],Y["Core/Utilities.js"]],function(tt,et,dt){var ct,lt;let{deg2rad:nt}=tt,{fireEvent:at,isNumber:q,pick:$,relativeLength:V}=dt;return(lt=ct||(ct={})).getCenter=function(){let w=this.options,R=this.chart,j=2*(w.slicedOffset||0),P=R.plotWidth-2*j,m=R.plotHeight-2*j,b=w.center,S=Math.min(P,m),A=w.thickness,p,C=w.size,G=w.innerSize||0,E,v;typeof C=="string"&&(C=parseFloat(C)),typeof G=="string"&&(G=parseFloat(G));let o=[$(b[0],"50%"),$(b[1],"50%"),$(C&&C<0?void 0:w.size,"100%"),$(G&&G<0?void 0:w.innerSize||0,"0%")];for(!R.angular||this instanceof et||(o[3]=0),E=0;E<4;++E)v=o[E],p=E<2||E===2&&/%$/.test(v),o[E]=V(v,[P,m,S,o[2]][E])+(p?j: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(w,R){let j=q(w)?w:0,P=q(R)&&R>j&&R-j<360?R:j+360;return{start:nt*(j+-90),end:nt*(P+-90)}},ct}),yt(Y,"Series/Pie/PiePoint.js",[Y["Core/Animation/AnimationUtilities.js"],Y["Core/Series/Point.js"],Y["Core/Utilities.js"]],function(tt,et,dt){let{setAnimation:ct}=tt,{addEvent:lt,defined:nt,extend:at,isNumber:q,pick:$,relativeLength:V}=dt;class w extends et{getConnectorPath(j){let P=j.dataLabelPosition,m=j.options||{},b=m.connectorShape,S=this.connectorShapes[b]||b;return P&&S.call(this,{...P.computed,alignment:P.alignment},P.connectorPosition,m)||[]}getTranslate(){return this.sliced&&this.slicedTranslation||{translateX:0,translateY:0}}haloPath(j){let P=this.shapeArgs;return this.sliced||!this.visible?[]:this.series.chart.renderer.symbols.arc(P.x,P.y,P.r+j,P.r+j,{innerR:P.r-1,start:P.start,end:P.end,borderRadius:P.borderRadius})}constructor(j,P,m){super(j,P,m),this.half=0,this.name??(this.name="Slice");let b=S=>{this.slice(S.type==="select")};lt(this,"select",b),lt(this,"unselect",b)}isValid(){return q(this.y)&&this.y>=0}setVisible(j,P=!0){j!==this.visible&&this.update({visible:j??!this.visible},P,void 0,!1)}slice(j,P,m){let b=this.series;ct(m,b.chart),P=$(P,!0),this.sliced=this.options.sliced=j=nt(j)?j:!this.sliced,b.options.data[b.data.indexOf(this)]=this.options,this.graphic&&this.graphic.animate(this.getTranslate())}}return at(w.prototype,{connectorShapes:{fixedOffset:function(R,j,P){let m=j.breakAt,b=j.touchingSliceAt,S=P.softConnector?["C",R.x+(R.alignment==="left"?-5:5),R.y,2*m.x-b.x,2*m.y-b.y,m.x,m.y]:["L",m.x,m.y];return[["M",R.x,R.y],S,["L",b.x,b.y]]},straight:function(R,j){let P=j.touchingSliceAt;return[["M",R.x,R.y],["L",P.x,P.y]]},crookedLine:function(R,j,P){let{breakAt:m,touchingSliceAt:b}=j,{series:S}=this,[A,p,C]=S.center,G=C/2,{plotLeft:E,plotWidth:v}=S.chart,o=R.alignment==="left",{x:u,y:s}=R,e=m.x;if(P.crookDistance){let r=V(P.crookDistance,1);e=o?A+G+(v+E-A-G)*(1-r):E+(A-G)*r}else e=A+(p-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}}}),w}),yt(Y,"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(Y,"Series/Pie/PieSeries.js",[Y["Series/CenteredUtilities.js"],Y["Series/Column/ColumnSeries.js"],Y["Core/Globals.js"],Y["Series/Pie/PiePoint.js"],Y["Series/Pie/PieSeriesDefaults.js"],Y["Core/Series/Series.js"],Y["Core/Series/SeriesRegistry.js"],Y["Core/Renderer/SVG/Symbols.js"],Y["Core/Utilities.js"]],function(tt,et,dt,ct,lt,nt,at,q,$){let{getStartAndEndRadians:V}=tt,{noop:w}=dt,{clamp:R,extend:j,fireEvent:P,merge:m,pick:b}=$;class S extends nt{animate(p){let C=this,G=C.points,E=C.startAngleRad;p||G.forEach(function(v){let o=v.graphic,u=v.shapeArgs;o&&u&&(o.attr({r:b(v.startR,C.center&&C.center[3]/2),start:E,end:E}),o.animate({r:u.r,start:u.start,end:u.end},C.options.animation))})}drawEmpty(){let p,C,G=this.startAngleRad,E=this.endAngleRad,v=this.options;this.total===0&&this.center?(p=this.center[0],C=this.center[1],this.graph||(this.graph=this.chart.renderer.arc(p,C,this.center[1]/2,0,G,E).addClass("highcharts-empty-series").add(this.group)),this.graph.attr({d:q.arc(p,C,this.center[2]/2,0,{start:G,end:E,innerR:this.center[3]/2})}),this.chart.styledMode||this.graph.attr({"stroke-width":v.borderWidth,fill:v.fillColor||"none",stroke:v.color||"#cccccc"})):this.graph&&(this.graph=this.graph.destroy())}drawPoints(){let p=this.chart.renderer;this.points.forEach(function(C){C.graphic&&C.hasNewShapeType()&&(C.graphic=C.graphic.destroy()),C.graphic||(C.graphic=p[C.shapeType](C.shapeArgs).add(C.series.group),C.delayedRendering=!0)})}generatePoints(){super.generatePoints(),this.updateTotals()}getX(p,C,G,E){let v=this.center,o=this.radii?this.radii[G.index]||0:v[2]/2,u=E.dataLabelPosition,s=(u==null?void 0:u.distance)||0,e=Math.asin(R((p-v[1])/(o+s),-1,1));return v[0]+Math.cos(e)*(o+s)*(C?-1:1)+(s>0?(C?-1:1)*(E.padding||0):0)}hasData(){return!!this.processedXData.length}redrawPoints(){let p,C,G,E,v=this,o=v.chart;this.drawEmpty(),v.group&&!o.styledMode&&v.group.shadow(v.options.shadow),v.points.forEach(function(u){let s={};C=u.graphic,!u.isNull&&C?(E=u.shapeArgs,p=u.getTranslate(),o.styledMode||(G=v.pointAttribs(u,u.selected&&"select")),u.delayedRendering?(C.setRadialReference(v.center).attr(E).attr(p),o.styledMode||C.attr(G).attr({"stroke-linejoin":"round"}),u.delayedRendering=!1):(C.setRadialReference(v.center),o.styledMode||m(!0,s,G),m(!0,s,E,p),C.animate(s)),C.attr({visibility:u.visible?"inherit":"hidden"}),C.addClass(u.getClassName(),!0)):C&&(u.graphic=C.destroy())})}sortByAngle(p,C){p.sort(function(G,E){return G.angle!==void 0&&(E.angle-G.angle)*C})}translate(p){P(this,"translate"),this.generatePoints();let C=this.options,G=C.slicedOffset,E=V(C.startAngle,C.endAngle),v=this.startAngleRad=E.start,o=(this.endAngleRad=E.end)-v,u=this.points,s=C.ignoreHiddenPoint,e=u.length,t,r,a,f,y,h,T,F=0;for(p||(this.center=p=this.getCenter()),h=0;h<e;h++){T=u[h],t=v+F*o,T.isValid()&&(!s||T.visible)&&(F+=T.percentage/100),r=v+F*o;let g={x:p[0],y:p[1],r:p[2]/2,innerR:p[3]/2,start:Math.round(1e3*t)/1e3,end:Math.round(1e3*r)/1e3};T.shapeType="arc",T.shapeArgs=g,(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)*G),translateY:Math.round(Math.sin(a)*G)},f=Math.cos(a)*p[2]/2,y=Math.sin(a)*p[2]/2,T.tooltipPos=[p[0]+.7*f,p[1]+.7*y],T.half=a<-Math.PI/2||a>Math.PI/2?1:0,T.angle=a}P(this,"afterTranslate")}updateTotals(){let p=this.points,C=p.length,G=this.options.ignoreHiddenPoint,E,v,o=0;for(E=0;E<C;E++)(v=p[E]).isValid()&&(!G||v.visible)&&(o+=v.y);for(E=0,this.total=o;E<C;E++)(v=p[E]).percentage=o>0&&(v.visible||!G)?v.y/o*100:0,v.total=o}}return S.defaultOptions=m(nt.defaultOptions,lt),j(S.prototype,{axisTypes:[],directTouch:!0,drawGraph:void 0,drawTracker:et.prototype.drawTracker,getCenter:tt.getCenter,getSymbol:w,invertible:!1,isCartesian:!1,noSharedTooltip:!0,pointAttribs:et.prototype.pointAttribs,pointClass:ct,requireSorting:!1,searchPoint:w,trackerGroups:["group","dataLabelsGroup"]}),at.registerSeriesType("pie",S),S}),yt(Y,"Series/Pie/PieDataLabel.js",[Y["Core/Series/DataLabel.js"],Y["Core/Globals.js"],Y["Core/Renderer/RendererUtilities.js"],Y["Core/Series/SeriesRegistry.js"],Y["Core/Utilities.js"]],function(tt,et,dt,ct,lt){var nt;let{composed:at,noop:q}=et,{distribute:$}=dt,{series:V}=ct,{arrayMax:w,clamp:R,defined:j,pick:P,pushUnique:m,relativeLength:b}=lt;return function(S){let A={radialDistributionY:function(v,o){var u;return(((u=o.dataLabelPosition)==null?void 0:u.top)||0)+v.distributeBox.pos},radialDistributionX:function(v,o,u,s,e){let t=e.dataLabelPosition;return v.getX(u<((t==null?void 0:t.top)||0)+2||u>((t==null?void 0:t.bottom)||0)-2?s:u,o.half,o,e)},justify:function(v,o,u,s){var e;return s[0]+(v.half?-1:1)*(u+(((e=o.dataLabelPosition)==null?void 0:e.distance)||0))},alignToPlotEdges:function(v,o,u,s){let e=v.getBBox().width;return o?e+s:u-e-s},alignToConnectors:function(v,o,u,s){let e=0,t;return v.forEach(function(r){(t=r.dataLabel.getBBox().width)>e&&(e=t)}),o?e+s:u-e-s}};function p(v,o){let{center:u,options:s}=this,e=u[2]/2,t=v.angle||0,r=Math.cos(t),a=Math.sin(t),f=u[0]+r*e,y=u[1]+a*e,h=Math.min((s.slicedOffset||0)+(s.borderWidth||0),o/5);return{natural:{x:f+r*o,y:y+a*o},computed:{},alignment:o<0?"center":v.half?"right":"left",connectorPosition:{breakAt:{x:f+r*h,y:y+a*h},touchingSliceAt:{x:f,y}},distance:o}}function C(){var J;let v=this,o=v.points,u=v.chart,s=u.plotWidth,e=u.plotHeight,t=u.plotLeft,r=Math.round(u.chartWidth/3),a=v.center,f=a[2]/2,y=a[1],h=[[],[]],T=[0,0,0,0],F=v.dataLabelPositioners,g,L,I,W=0;v.visible&&((J=v.hasDataLabels)!=null&&J.call(v))&&(o.forEach(l=>{(l.dataLabels||[]).forEach(n=>{n.shortened&&(n.attr({width:"auto"}).css({width:"auto",textOverflow:"clip"}),n.shortened=!1)})}),V.prototype.drawDataLabels.apply(v),o.forEach(l=>{(l.dataLabels||[]).forEach((n,x)=>{var d;let D=a[2]/2,i=n.options,c=b((i==null?void 0:i.distance)||0,D);x===0&&h[l.half].push(l),!j((d=i==null?void 0:i.style)==null?void 0:d.width)&&n.getBBox().width>r&&(n.css({width:Math.round(.7*r)+"px"}),n.shortened=!0),n.dataLabelPosition=this.getDataLabelPosition(l,c),W=Math.max(W,c)})}),h.forEach((l,n)=>{let x=l.length,D=[],i,c,d=0,M;x&&(v.sortByAngle(l,n-.5),W>0&&(i=Math.max(0,y-f-W),c=Math.min(y+f+W,u.plotHeight),l.forEach(k=>{(k.dataLabels||[]).forEach(B=>{var U;let H=B.dataLabelPosition;H&&H.distance>0&&(H.top=Math.max(0,y-f-H.distance),H.bottom=Math.min(y+f+H.distance,u.plotHeight),d=B.getBBox().height||21,B.lineHeight=u.renderer.fontMetrics(B.text||B).h+2*B.padding,k.distributeBox={target:(((U=B.dataLabelPosition)==null?void 0:U.natural.y)||0)-H.top+B.lineHeight/2,size:d,rank:k.y},D.push(k.distributeBox))})}),$(D,M=c+d-i,M/5)),l.forEach(k=>{(k.dataLabels||[]).forEach(B=>{let H=B.options||{},U=k.distributeBox,Z=B.dataLabelPosition,rt=(Z==null?void 0:Z.natural.y)||0,it=H.connectorPadding||0,z=B.lineHeight||21,O=(z-B.getBBox().height)/2,N=0,X=rt,K="inherit";if(Z){if(D&&j(U)&&Z.distance>0&&(U.pos===void 0?K="hidden":(I=U.size,X=F.radialDistributionY(k,B))),H.justify)N=F.justify(k,B,f,a);else switch(H.alignTo){case"connectors":N=F.alignToConnectors(l,n,s,t);break;case"plotEdges":N=F.alignToPlotEdges(B,n,s,t);break;default:N=F.radialDistributionX(v,k,X-O,rt,B)}if(Z.attribs={visibility:K,align:Z.alignment},Z.posAttribs={x:N+(H.x||0)+({left:it,right:-it}[Z.alignment]||0),y:X+(H.y||0)-z/2},Z.computed.x=N,Z.computed.y=X-O,P(H.crop,!0)){let Q;N-(L=B.getBBox().width)<it&&n===1?(Q=Math.round(L-N+it),T[3]=Math.max(Q,T[3])):N+L>s-it&&n===0&&(Q=Math.round(N+L-s+it),T[1]=Math.max(Q,T[1])),X-I/2<0?T[0]=Math.max(Math.round(-X+I/2),T[0]):X+I/2>e&&(T[2]=Math.max(Math.round(X+I/2-e),T[2])),Z.sideOverflow=Q}}})}))}),(w(T)===0||this.verifyDataLabelOverflow(T))&&(this.placeDataLabels(),this.points.forEach(l=>{(l.dataLabels||[]).forEach(n=>{var c;let{connectorColor:x,connectorWidth:D=1}=n.options||{},i=n.dataLabelPosition;if(D){let d;g=n.connector,i&&i.distance>0?(d=!g,g||(n.connector=g=u.renderer.path().addClass("highcharts-data-label-connector highcharts-color-"+l.colorIndex+(l.className?" "+l.className:"")).add(v.dataLabelsGroup)),u.styledMode||g.attr({"stroke-width":D,stroke:x||l.color||"#666666"}),g[d?"attr":"animate"]({d:l.getConnectorPath(n)}),g.attr({visibility:(c=i.attribs)==null?void 0:c.visibility})):g&&(n.connector=g.destroy())}})})))}function G(){this.points.forEach(v=>{(v.dataLabels||[]).forEach(o=>{var s;let u=o.dataLabelPosition;u?(u.sideOverflow&&(o.css({width:Math.max(o.getBBox().width-u.sideOverflow,0)+"px",textOverflow:(((s=o.options)==null?void 0:s.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 v.distributeBox},this)}function E(v){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(v[1],v[3]),e):(t=Math.max(o[2]-v[1]-v[3],e),o[0]+=(v[3]-v[1])/2),s[1]!==null?t=R(t,e,o[2]-Math.max(v[0],v[2])):(t=R(t,e,o[2]-v[0]-v[2]),o[1]+=(v[0]-v[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}S.compose=function(v){if(tt.compose(V),m(at,"PieDataLabel")){let o=v.prototype;o.dataLabelPositioners=A,o.alignDataLabel=q,o.drawDataLabels=C,o.getDataLabelPosition=p,o.placeDataLabels=G,o.verifyDataLabelOverflow=E}}}(nt||(nt={})),nt}),yt(Y,"Core/Geometry/GeometryUtilities.js",[],function(){var tt,et;return(et=tt||(tt={})).getCenterOfPoints=function(dt){let ct=dt.reduce((lt,nt)=>(lt.x+=nt.x,lt.y+=nt.y,lt),{x:0,y:0});return{x:ct.x/dt.length,y:ct.y/dt.length}},et.getDistanceBetweenPoints=function(dt,ct){return Math.sqrt(Math.pow(ct.x-dt.x,2)+Math.pow(ct.y-dt.y,2))},et.getAngleBetweenPoints=function(dt,ct){return Math.atan2(ct.x-dt.x,ct.y-dt.y)},et.pointInPolygon=function({x:dt,y:ct},lt){let nt=lt.length,at,q,$=!1;for(at=0,q=nt-1;at<nt;q=at++){let[V,w]=lt[at],[R,j]=lt[q];w>ct!=j>ct&&dt<(R-V)*(ct-w)/(j-w)+V&&($=!$)}return $},tt}),yt(Y,"Extensions/OverlappingDataLabels.js",[Y["Core/Geometry/GeometryUtilities.js"],Y["Core/Utilities.js"]],function(tt,et){let{pointInPolygon:dt}=tt,{addEvent:ct,fireEvent:lt,objectEach:nt,pick:at}=et;function q(w){let R=w.length,j=(G,E)=>!(E.x>=G.x+G.width||E.x+E.width<=G.x||E.y>=G.y+G.height||E.y+E.height<=G.y),P=(G,E)=>{for(let v of G)if(dt({x:v[0],y:v[1]},E))return!0;return!1},m,b,S,A,p,C=!1;for(let G=0;G<R;G++)(m=w[G])&&(m.oldOpacity=m.opacity,m.newOpacity=1,m.absoluteBox=function(E){var v,o;if(E&&(!E.alignAttr||E.placed)){let u=E.box?0:E.padding||0,s=E.alignAttr||{x:E.attr("x"),y:E.attr("y")},e=E.getBBox();return E.width=e.width,E.height=e.height,{x:s.x+(((v=E.parentGroup)==null?void 0:v.translateX)||0)+u,y:s.y+(((o=E.parentGroup)==null?void 0:o.translateY)||0)+u,width:(E.width||0)-2*u,height:(E.height||0)-2*u,polygon:e==null?void 0:e.polygon}}}(m));w.sort((G,E)=>(E.labelrank||0)-(G.labelrank||0));for(let G=0;G<R;++G){A=(b=w[G])&&b.absoluteBox;let E=A==null?void 0:A.polygon;for(let v=G+1;v<R;++v){p=(S=w[v])&&S.absoluteBox;let o=!1;if(A&&p&&b!==S&&b.newOpacity!==0&&S.newOpacity!==0&&b.visibility!=="hidden"&&S.visibility!=="hidden"){let u=p.polygon;if(E&&u&&E!==u?P(E,u)&&(o=!0):j(A,p)&&(o=!0),o){let s=b.labelrank<S.labelrank?b:S,e=s.text;s.newOpacity=0,e!=null&&e.element.querySelector("textPath")&&e.hide()}}}}for(let G of w)$(G,this)&&(C=!0);C&<(this,"afterHideAllOverlappingLabels")}function $(w,R){let j,P,m=!1;return w&&(P=w.newOpacity,w.oldOpacity!==P&&(w.hasClass("highcharts-data-label")?(w[P?"removeClass":"addClass"]("highcharts-data-label-hidden"),j=function(){R.styledMode||w.css({pointerEvents:P?"auto":"none"})},m=!0,w[w.isOld?"animate":"attr"]({opacity:P},void 0,j),lt(R,"afterHideOverlappingLabel")):w.attr({opacity:P})),w.isOld=!0),m}function V(){var j;let w=this,R=[];for(let P of w.labelCollectors||[])R=R.concat(P());for(let P of w.yAxis||[])P.stacking&&P.options.stackLabels&&!P.options.stackLabels.allowOverlap&&nt(P.stacking.stacks,m=>{nt(m,b=>{b.label&&R.push(b.label)})});for(let P of w.series||[])if(P.visible&&((j=P.hasDataLabels)!=null&&j.call(P))){let m=b=>{for(let S of b)S.visible&&(S.dataLabels||[]).forEach(A=>{var C;let p=A.options||{};A.labelrank=at(p.labelrank,S.labelrank,(C=S.shapeArgs)==null?void 0:C.height),p.allowOverlap??Number(p.distance)>0?(A.oldOpacity=A.opacity,A.newOpacity=1,$(A,w)):R.push(A)})};m(P.nodes||[]),m(P.points)}this.hideOverlappingLabels(R)}return{compose:function(w){let R=w.prototype;R.hideOverlappingLabels||(R.hideOverlappingLabels=q,ct(w,"render",V))}}}),yt(Y,"Extensions/BorderRadius.js",[Y["Core/Defaults.js"],Y["Core/Globals.js"],Y["Core/Utilities.js"]],function(tt,et,dt){let{defaultOptions:ct}=tt,{noop:lt}=et,{addEvent:nt,extend:at,isObject:q,merge:$,relativeLength:V}=dt,w={radius:0,scope:"stack",where:void 0},R=lt,j=lt;function P(p,C,G,E,v={}){let o=R(p,C,G,E,v),{innerR:u=0,r:s=G,start:e=0,end:t=0}=v;if(v.open||!v.borderRadius)return o;let r=t-e,a=Math.sin(r/2),f=Math.max(Math.min(V(v.borderRadius||0,s-u),(s-u)/2,s*a/(1+a)),0),y=Math.min(f,r/Math.PI*2*u),h=o.length-1;for(;h--;)(function(T,F,g){let L,I,W,J=T[F],l=T[F+1];if(l[0]==="Z"&&(l=T[0]),(J[0]==="M"||J[0]==="L")&&l[0]==="A"?(L=J,I=l,W=!0):J[0]==="A"&&(l[0]==="M"||l[0]==="L")&&(L=l,I=J),L&&I&&I.params){let n=I[1],x=I[5],D=I.params,{start:i,end:c,cx:d,cy:M}=D,k=x?n-g:n+g,B=k?Math.asin(g/k):0,H=x?B:-B,U=Math.cos(B)*k;W?(D.start=i+H,L[1]=d+U*Math.cos(i),L[2]=M+U*Math.sin(i),T.splice(F+1,0,["A",g,g,0,0,1,d+n*Math.cos(D.start),M+n*Math.sin(D.start)])):(D.end=c-H,I[6]=d+n*Math.cos(D.end),I[7]=M+n*Math.sin(D.end),T.splice(F+1,0,["A",g,g,0,0,1,d+U*Math.cos(c),M+U*Math.sin(c)])),I[4]=Math.abs(D.end-D.start)<Math.PI?0:1}})(o,h,h>1?y:f);return o}function m(){var p,C;if(this.options.borderRadius&&!(this.chart.is3d&&this.chart.is3d())){let{options:G,yAxis:E}=this,v=G.stacking==="percent",o=(C=(p=ct.plotOptions)==null?void 0:p[this.type])==null?void 0:C.borderRadius,u=b(G.borderRadius,q(o)?o:{}),s=E.options.reversed;for(let e of this.points){let{shapeArgs:t}=e;if(e.shapeType==="roundedRect"&&t){let{width:r=0,height:a=0,y:f=0}=t,y=f,h=a;if(u.scope==="stack"&&e.stackTotal){let L=E.translate(v?100:e.stackTotal,!1,!0,!1,!0),I=E.translate(G.threshold||0,!1,!0,!1,!0),W=this.crispCol(0,Math.min(L,I),0,Math.abs(L-I));y=W.y,h=W.height}let T=(e.negative?-1:1)*(s?-1:1)==-1,F=u.where;!F&&this.is("waterfall")&&Math.abs((e.yBottom||0)-(this.translatedThreshold||0))>this.borderWidth&&(F="all"),F||(F="end");let g=Math.min(V(u.radius,r),r/2,F==="all"?a/2:1/0)||0;F==="end"&&(T&&(y-=g),h+=g),at(t,{brBoxHeight:h,brBoxY:y,r:g})}}}}function b(p,C){return q(p)||(p={radius:p||0}),$(w,C,p)}function S(){let p=b(this.options.borderRadius);for(let C of this.points){let G=C.shapeArgs;G&&(G.borderRadius=V(p.radius,(G.r||0)-(G.innerR||0)))}}function A(p,C,G,E,v={}){let o=j(p,C,G,E,v),{r:u=0,brBoxHeight:s=E,brBoxY:e=C}=v,t=C-e,r=e+s-(C+E),a=t-u>-.1?0:u,f=r-u>-.1?0:u,y=Math.max(a&&t,0),h=Math.max(f&&r,0),T=[p+a,C],F=[p+G-a,C],g=[p+G,C+a],L=[p+G,C+E-f],I=[p+G-f,C+E],W=[p+f,C+E],J=[p,C+E-f],l=[p,C+a],n=(x,D)=>Math.sqrt(Math.pow(x,2)-Math.pow(D,2));if(y){let x=n(a,a-y);T[0]-=x,F[0]+=x,g[1]=l[1]=C+a-y}if(E<a-y){let x=n(a,a-y-E);g[0]=L[0]=p+G-a+x,I[0]=Math.min(g[0],I[0]),W[0]=Math.max(L[0],W[0]),J[0]=l[0]=p+a-x,g[1]=l[1]=C+E}if(h){let x=n(f,f-h);I[0]+=x,W[0]-=x,L[1]=J[1]=C+E-f+h}if(E<f-h){let x=n(f,f-h-E);g[0]=L[0]=p+G-f+x,F[0]=Math.min(g[0],F[0]),T[0]=Math.max(L[0],T[0]),J[0]=l[0]=p+f-x,L[1]=J[1]=C}return o.length=0,o.push(["M",...T],["L",...F],["A",a,a,0,0,1,...g],["L",...L],["A",f,f,0,0,1,...I],["L",...W],["A",f,f,0,0,1,...J],["L",...l],["A",a,a,0,0,1,...T],["Z"]),o}return{compose:function(p,C,G){let E=p.types.pie;if(!C.symbolCustomAttribs.includes("borderRadius")){let v=G.prototype.symbols;nt(p,"afterColumnTranslate",m,{order:9}),nt(E,"afterTranslate",S),C.symbolCustomAttribs.push("borderRadius","brBoxHeight","brBoxY"),R=v.arc,j=v.roundedRect,v.arc=P,v.roundedRect=A}},optionsToObject:b}}),yt(Y,"Core/Responsive.js",[Y["Core/Utilities.js"]],function(tt){var et;let{diffObjects:dt,extend:ct,find:lt,merge:nt,pick:at,uniqueKey:q}=tt;return function($){function V(R,j){let P=R.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)&&j.push(R._id)}function w(R,j){let P=this.options.responsive,m=this.currentResponsive,b=[],S;!j&&P&&P.rules&&P.rules.forEach(C=>{C._id===void 0&&(C._id=q()),this.matchResponsiveRule(C,b)},this);let A=nt(...b.map(C=>lt((P||{}).rules||[],G=>G._id===C)).map(C=>C&&C.chartOptions));A.isResponsiveOptions=!0,b=b.toString()||void 0;let p=m&&m.ruleIds;b===p||(m&&(this.currentResponsive=void 0,this.updatingResponsive=!0,this.update(m.undoOptions,R,!0),this.updatingResponsive=!1),b?((S=dt(A,this.options,!0,this.collectionsWithUpdate)).isResponsiveOptions=!0,this.currentResponsive={ruleIds:b,mergedOptions:A,undoOptions:S},this.updatingResponsive||this.update(A,R,!0)):this.currentResponsive=void 0)}$.compose=function(R){let j=R.prototype;return j.matchResponsiveRule||ct(j,{matchResponsiveRule:V,setResponsive:w}),R}}(et||(et={})),et}),yt(Y,"masters/highcharts.src.js",[Y["Core/Globals.js"],Y["Core/Utilities.js"],Y["Core/Defaults.js"],Y["Core/Animation/Fx.js"],Y["Core/Animation/AnimationUtilities.js"],Y["Core/Renderer/HTML/AST.js"],Y["Core/Templating.js"],Y["Core/Renderer/RendererRegistry.js"],Y["Core/Renderer/RendererUtilities.js"],Y["Core/Renderer/SVG/SVGElement.js"],Y["Core/Renderer/SVG/SVGRenderer.js"],Y["Core/Renderer/HTML/HTMLElement.js"],Y["Core/Axis/Axis.js"],Y["Core/Axis/DateTimeAxis.js"],Y["Core/Axis/LogarithmicAxis.js"],Y["Core/Axis/PlotLineOrBand/PlotLineOrBand.js"],Y["Core/Axis/Tick.js"],Y["Core/Tooltip.js"],Y["Core/Series/Point.js"],Y["Core/Pointer.js"],Y["Core/Legend/Legend.js"],Y["Core/Legend/LegendSymbol.js"],Y["Core/Chart/Chart.js"],Y["Extensions/ScrollablePlotArea.js"],Y["Core/Axis/Stacking/StackingAxis.js"],Y["Core/Axis/Stacking/StackItem.js"],Y["Core/Series/Series.js"],Y["Core/Series/SeriesRegistry.js"],Y["Series/Column/ColumnDataLabel.js"],Y["Series/Pie/PieDataLabel.js"],Y["Core/Series/DataLabel.js"],Y["Extensions/OverlappingDataLabels.js"],Y["Extensions/BorderRadius.js"],Y["Core/Responsive.js"],Y["Core/Color/Color.js"],Y["Core/Time.js"]],function(tt,et,dt,ct,lt,nt,at,q,$,V,w,R,j,P,m,b,S,A,p,C,G,E,v,o,u,s,e,t,r,a,f,y,h,T,F,g){return tt.AST=nt,tt.Axis=j,tt.Chart=v,tt.Color=F,tt.DataLabel=f,tt.Fx=ct,tt.HTMLElement=R,tt.Legend=G,tt.LegendSymbol=E,tt.OverlappingDataLabels=tt.OverlappingDataLabels||y,tt.PlotLineOrBand=b,tt.Point=p,tt.Pointer=C,tt.RendererRegistry=q,tt.Series=e,tt.SeriesRegistry=t,tt.StackItem=s,tt.SVGElement=V,tt.SVGRenderer=w,tt.Templating=at,tt.Tick=S,tt.Time=g,tt.Tooltip=A,tt.animate=lt.animate,tt.animObject=lt.animObject,tt.chart=v.chart,tt.color=F.parse,tt.dateFormat=at.dateFormat,tt.defaultOptions=dt.defaultOptions,tt.distribute=$.distribute,tt.format=at.format,tt.getDeferredAnimation=lt.getDeferredAnimation,tt.getOptions=dt.getOptions,tt.numberFormat=at.numberFormat,tt.seriesType=t.seriesType,tt.setAnimation=lt.setAnimation,tt.setOptions=dt.setOptions,tt.stop=lt.stop,tt.time=dt.defaultTime,tt.timers=ct.timers,h.compose(tt.Series,tt.SVGElement,tt.SVGRenderer),r.compose(tt.Series.types.column),f.compose(tt.Series),P.compose(tt.Axis),R.compose(tt.SVGRenderer),G.compose(tt.Chart),m.compose(tt.Axis),y.compose(tt.Chart),a.compose(tt.Series.types.pie),b.compose(tt.Chart,tt.Axis),C.compose(tt.Chart),T.compose(tt.Chart),o.compose(tt.Axis,tt.Chart,tt.Series),u.compose(tt.Axis,tt.Chart,tt.Series),A.compose(tt.Pointer),et.extend(tt,et),tt}),Y["masters/highcharts.src.js"]._modules=Y,Y["masters/highcharts.src.js"]})})(Zt.__module);var Jt=Zt.__module.exports;const Qt=qt.getDefaultExportFromCjs(Jt);module.exports=Qt;
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const d=require("react"),I=require("./index.cjs99.js"),x=require("./index.cjs172.js");function q(e,r,t){const n=e.slice();return n.splice(t<0?n.length+t:t,0,n.splice(r,1)[0]),n}function ue(e,r){return e.reduce((t,n,a)=>{const c=r.get(n);return c&&(t[a]=c),t},Array(e.length))}function A(e){return e!==null&&e>=0}function de(e,r){if(e===r)return!0;if(e.length!==r.length)return!1;for(let t=0;t<e.length;t++)if(e[t]!==r[t])return!1;return!0}function ce(e){return typeof e=="boolean"?{draggable:e,droppable:e}:e}const K=e=>{let{rects:r,activeIndex:t,overIndex:n,index:a}=e;const c=q(r,n,t),s=r[a],i=c[a];return!i||!s?null:{x:i.left-s.left,y:i.top-s.top,scaleX:i.width/s.width,scaleY:i.height/s.height}},H="Sortable",U=d.createContext({activeIndex:-1,containerId:H,disableTransforms:!1,items:[],overIndex:-1,useDragOverlay:!1,sortedRects:[],strategy:K,disabled:{draggable:!1,droppable:!1}});function le(e){let{children:r,id:t,items:n,strategy:a=K,disabled:c=!1}=e;const{active:s,dragOverlay:i,droppableRects:g,over:l,measureDroppableContainers:o}=I.useDndContext(),p=x.useUniqueId(H,t),m=i.rect!==null,f=d.useMemo(()=>n.map(y=>typeof y=="object"&&"id"in y?y.id:y),[n]),E=s!=null,S=s?f.indexOf(s.id):-1,v=l?f.indexOf(l.id):-1,N=d.useRef(f),D=!de(f,N.current),R=v!==-1&&S===-1||D,b=ce(c);x.useIsomorphicLayoutEffect(()=>{D&&E&&o(f)},[D,f,E,o]),d.useEffect(()=>{N.current=f},[f]);const w=d.useMemo(()=>({activeIndex:S,containerId:p,disabled:b,disableTransforms:R,items:f,overIndex:v,useDragOverlay:m,sortedRects:ue(f,g),strategy:a}),[S,p,b.draggable,b.droppable,R,f,v,g,m,a]);return d.createElement(U.Provider,{value:w},r)}const V=e=>{let{id:r,items:t,activeIndex:n,overIndex:a}=e;return q(t,n,a).indexOf(r)},Y=e=>{let{containerId:r,isSorting:t,wasDragging:n,index:a,items:c,newIndex:s,previousItems:i,previousContainerId:g,transition:l}=e;return!l||!n||i!==c&&a===s?!1:t?!0:s!==a&&r===g},fe={duration:200,easing:"ease"},$="transform",ge=x.CSS.Transition.toString({property:$,duration:0,easing:"linear"}),be={roleDescription:"sortable"};function pe(e){let{disabled:r,index:t,node:n,rect:a}=e;const[c,s]=d.useState(null),i=d.useRef(t);return x.useIsomorphicLayoutEffect(()=>{if(!r&&t!==i.current&&n.current){const g=a.current;if(g){const l=I.getClientRect(n.current,{ignoreTransform:!0}),o={x:g.left-l.left,y:g.top-l.top,scaleX:g.width/l.width,scaleY:g.height/l.height};(o.x||o.y)&&s(o)}}t!==i.current&&(i.current=t)},[r,t,n,a]),d.useEffect(()=>{c&&s(null)},[c]),c}function ve(e){let{animateLayoutChanges:r=Y,attributes:t,disabled:n,data:a,getNewIndex:c=V,id:s,strategy:i,resizeObserverConfig:g,transition:l=fe}=e;const{items:o,containerId:p,activeIndex:m,disabled:f,disableTransforms:E,sortedRects:S,overIndex:v,useDragOverlay:N,strategy:D}=d.useContext(U),R=me(n,f),b=o.indexOf(s),w=d.useMemo(()=>({sortable:{containerId:p,index:b,items:o},...a}),[p,a,b,o]),y=d.useMemo(()=>o.slice(o.indexOf(s)),[o,s]),{rect:P,node:_,isOver:k,setNodeRef:z}=I.useDroppable({id:s,data:w,disabled:R.droppable,resizeObserverConfig:{updateMeasurementsFor:y,...g}}),{active:T,activatorEvent:J,activeNodeRect:Q,attributes:W,setNodeRef:X,listeners:Z,isDragging:L,over:ee,setActivatorNodeRef:te,transform:re}=I.useDraggable({id:s,data:w,attributes:{...be,...t},disabled:R.draggable}),ne=x.useCombinedRefs(z,X),h=!!T,j=h&&!E&&A(m)&&A(v),B=!N&&L,F=B&&j?re:null,se=j?F??(i??D)({rects:S,activeNodeRect:Q,activeIndex:m,overIndex:v,index:b}):null,O=A(m)&&A(v)?c({id:s,items:o,activeIndex:m,overIndex:v}):b,C=T==null?void 0:T.id,u=d.useRef({activeId:C,items:o,newIndex:O,containerId:p}),oe=o!==u.current.items,G=r({active:T,containerId:p,isDragging:L,isSorting:h,id:s,index:b,items:o,newIndex:u.current.newIndex,previousItems:u.current.items,previousContainerId:u.current.containerId,transition:l,wasDragging:u.current.activeId!=null}),M=pe({disabled:!G,index:b,node:_,rect:P});return d.useEffect(()=>{h&&u.current.newIndex!==O&&(u.current.newIndex=O),p!==u.current.containerId&&(u.current.containerId=p),o!==u.current.items&&(u.current.items=o)},[h,O,p,o]),d.useEffect(()=>{if(C===u.current.activeId)return;if(C!=null&&u.current.activeId==null){u.current.activeId=C;return}const ie=setTimeout(()=>{u.current.activeId=C},50);return()=>clearTimeout(ie)},[C]),{active:T,activeIndex:m,attributes:W,data:w,rect:P,index:b,newIndex:O,items:o,isOver:k,isSorting:h,isDragging:L,listeners:Z,node:_,overIndex:v,over:ee,setNodeRef:ne,setActivatorNodeRef:te,setDroppableNodeRef:z,setDraggableNodeRef:X,transform:M??se,transition:ae()};function ae(){if(M||oe&&u.current.newIndex===b)return ge;if(!(B&&!x.isKeyboardEvent(J)||!l)&&(h||G))return x.CSS.Transition.toString({...l,property:$})}}function me(e,r){var t,n;return typeof e=="boolean"?{draggable:e,droppable:!1}:{draggable:(t=e==null?void 0:e.draggable)!=null?t:r.draggable,droppable:(n=e==null?void 0:e.droppable)!=null?n:r.droppable}}I.KeyboardCode.Down,I.KeyboardCode.Right,I.KeyboardCode.Up,I.KeyboardCode.Left;exports.SortableContext=le;exports.arrayMove=q;exports.defaultAnimateLayoutChanges=Y;exports.defaultNewIndexGetter=V;exports.rectSortingStrategy=K;exports.useSortable=ve;
|