/*! For license information please see main.a96f4317.js.LICENSE.txt */ (()=>{var t={5513:(t,e,i)=>{"use strict";i.d(e,{A:()=>nt});var s=function(){function t(t){var e=this;this._insertTag=function(t){var i;i=0===e.tags.length?e.insertionPoint?e.insertionPoint.nextSibling:e.prepend?e.container.firstChild:e.before:e.tags[e.tags.length-1].nextSibling,e.container.insertBefore(t,i),e.tags.push(t)},this.isSpeedy=void 0===t.speedy||t.speedy,this.tags=[],this.ctr=0,this.nonce=t.nonce,this.key=t.key,this.container=t.container,this.prepend=t.prepend,this.insertionPoint=t.insertionPoint,this.before=null}var e=t.prototype;return e.hydrate=function(t){t.forEach(this._insertTag)},e.insert=function(t){this.ctr%(this.isSpeedy?65e3:1)===0&&this._insertTag(function(t){var e=document.createElement("style");return e.setAttribute("data-emotion",t.key),void 0!==t.nonce&&e.setAttribute("nonce",t.nonce),e.appendChild(document.createTextNode("")),e.setAttribute("data-s",""),e}(this));var e=this.tags[this.tags.length-1];if(this.isSpeedy){var i=function(t){if(t.sheet)return t.sheet;for(var e=0;e0?c(b,--x):0,m--,10===v&&(m=1,g--),v}function C(){return v=x2||P(v)>3?"":" "}function j(t,e){for(;--e&&C()&&!(v<48||v>102||v>57&&v<65||v>70&&v<97););return T(t,M()+(e<6&&32==A()&&32==C()))}function N(t){for(;C();)switch(v){case t:return x;case 34:case 39:34!==t&&39!==t&&N(v);break;case 40:41===t&&N(t);break;case 92:C()}return x}function R(t,e){for(;C()&&t+v!==57&&(t+v!==84||47!==A()););return"/*"+T(e,x-1)+"*"+r(47===t?t:C())}function I(t){for(;!P(A());)C();return T(t,x)}var B="-ms-",_="-moz-",z="-webkit-",W="comm",F="rule",G="decl",X="@keyframes";function H(t,e){for(var i="",s=p(t),n=0;n0&&u(_)-y&&f(v>32?$(_+";",s,i,y-1):$(l(_," ","")+";",s,i,y-2),p);break;case 59:_+=";";default:if(f(B=q(_,e,i,g,m,n,d,E,O=[],N=[],y),o),123===P)if(0===m)V(_,e,B,B,O,o,y,d,N);else switch(99===x&&110===c(_,3)?100:x){case 100:case 108:case 109:case 115:V(t,B,B,s&&f(q(t,B,B,0,0,n,d,E,n,O=[],y),N),n,N,y,d,s?O:N);break;default:V(_,B,B,B,[""],N,0,d,N)}}g=m=v=0,S=T=1,E=_="",y=a;break;case 58:y=1+u(_),v=b;default:if(S<1)if(123==P)--S;else if(125==P&&0==S++&&125==w())continue;switch(_+=r(P),P*S){case 38:T=m>0?1:(_+="\f",-1);break;case 44:d[g++]=(u(_)-1)*T,T=1;break;case 64:45===A()&&(_+=L(C())),x=A(),m=y=u(E=_+=I(M())),P++;break;case 45:45===b&&2==u(_)&&(S=0)}}return o}function q(t,e,i,s,r,o,h,c,u,f,g){for(var m=r-1,y=0===r?o:[""],x=p(y),v=0,b=0,k=0;v0?y[w]+" "+C:l(C,/&\f/g,y[w])))&&(u[k++]=A);return S(t,e,i,0===r?F:c,u,f,g)}function K(t,e,i){return S(t,e,i,W,r(v),d(t,2,-2),0)}function $(t,e,i,s){return S(t,e,i,G,d(t,0,s),d(t,s+1,-1),s)}var Z=function(t,e,i){for(var s=0,n=0;s=n,n=A(),38===s&&12===n&&(e[i]=1),!P(n);)C();return T(t,x)},Q=function(t,e){return O(function(t,e){var i=-1,s=44;do{switch(P(s)){case 0:38===s&&12===A()&&(e[i]=1),t[i]+=Z(x-1,e,i);break;case 2:t[i]+=L(s);break;case 4:if(44===s){t[++i]=58===A()?"&\f":"",e[i]=t[i].length;break}default:t[i]+=r(s)}}while(s=C());return t}(E(t),e))},J=new WeakMap,tt=function(t){if("rule"===t.type&&t.parent&&!(t.length<1)){for(var e=t.value,i=t.parent,s=t.column===i.column&&t.line===i.line;"rule"!==i.type;)if(!(i=i.parent))return;if((1!==t.props.length||58===e.charCodeAt(0)||J.get(i))&&!s){J.set(t,!0);for(var n=[],r=Q(e,n),o=i.props,a=0,l=0;a6)switch(c(t,e+1)){case 109:if(45!==c(t,e+4))break;case 102:return l(t,/(.+:)(.+)-([^]+)/,"$1"+z+"$2-$3$1"+_+(108==c(t,e+3)?"$3":"$2-$3"))+t;case 115:return~h(t,"stretch")?it(l(t,"stretch","fill-available"),e)+t:t}break;case 4949:if(115!==c(t,e+1))break;case 6444:switch(c(t,u(t)-3-(~h(t,"!important")&&10))){case 107:return l(t,":",":"+z)+t;case 101:return l(t,/(.+:)([^;!]+)(;|!.+)?/,"$1"+z+(45===c(t,14)?"inline-":"")+"box$3$1"+z+"$2$3$1"+B+"$2box$3")+t}break;case 5936:switch(c(t,e+11)){case 114:return z+t+B+l(t,/[svh]\w+-[tblr]{2}/,"tb")+t;case 108:return z+t+B+l(t,/[svh]\w+-[tblr]{2}/,"tb-rl")+t;case 45:return z+t+B+l(t,/[svh]\w+-[tblr]{2}/,"lr")+t}return z+t+B+t+t}return t}var st=[function(t,e,i,s){if(t.length>-1&&!t.return)switch(t.type){case G:t.return=it(t.value,t.length);break;case X:return H([k(t,{value:l(t.value,"@","@"+z)})],s);case F:if(t.length)return function(t,e){return t.map(e).join("")}(t.props,(function(e){switch(function(t,e){return(t=e.exec(t))?t[0]:t}(e,/(::plac\w+|:read-\w+)/)){case":read-only":case":read-write":return H([k(t,{props:[l(e,/:(read-\w+)/,":-moz-$1")]})],s);case"::placeholder":return H([k(t,{props:[l(e,/:(plac\w+)/,":"+z+"input-$1")]}),k(t,{props:[l(e,/:(plac\w+)/,":-moz-$1")]}),k(t,{props:[l(e,/:(plac\w+)/,B+"input-$1")]})],s)}return""}))}}],nt=function(t){var e=t.key;if("css"===e){var i=document.querySelectorAll("style[data-emotion]:not([data-s])");Array.prototype.forEach.call(i,(function(t){-1!==t.getAttribute("data-emotion").indexOf(" ")&&(document.head.appendChild(t),t.setAttribute("data-s",""))}))}var n=t.stylisPlugins||st;var r,o,a={},l=[];r=t.container||document.head,Array.prototype.forEach.call(document.querySelectorAll('style[data-emotion^="'+e+' "]'),(function(t){for(var e=t.getAttribute("data-emotion").split(" "),i=1;i{"use strict";function s(t){var e=Object.create(null);return function(i){return void 0===e[i]&&(e[i]=t(i)),e[i]}}i.d(e,{A:()=>s})},5756:(t,e,i)=>{"use strict";i.d(e,{C:()=>a,T:()=>h,i:()=>r,w:()=>l});var s=i(5043),n=i(5513),r=(i(2830),i(9436),!0),o=s.createContext("undefined"!==typeof HTMLElement?(0,n.A)({key:"css"}):null);var a=o.Provider,l=function(t){return(0,s.forwardRef)((function(e,i){var n=(0,s.useContext)(o);return t(e,n,i)}))};r||(l=function(t){return function(e){var i=(0,s.useContext)(o);return null===i?(i=(0,n.A)({key:"css"}),s.createElement(o.Provider,{value:i},t(e,i))):t(e,i)}});var h=s.createContext({})},3290:(t,e,i)=>{"use strict";i.d(e,{AH:()=>h,i7:()=>c,mL:()=>l});var s=i(5756),n=i(5043),r=i(1722),o=i(9436),a=i(2830),l=(i(5513),i(219),(0,s.w)((function(t,e){var i=t.styles,l=(0,a.J)([i],void 0,n.useContext(s.T));if(!s.i){for(var h,c=l.name,d=l.styles,u=l.next;void 0!==u;)c+=" "+u.name,d+=u.styles,u=u.next;var p=!0===e.compat,f=e.insert("",{name:c,styles:d},e.sheet,p);return p?null:n.createElement("style",((h={})["data-emotion"]=e.key+"-global "+c,h.dangerouslySetInnerHTML={__html:f},h.nonce=e.sheet.nonce,h))}var g=n.useRef();return(0,o.i)((function(){var t=e.key+"-global",i=new e.sheet.constructor({key:t,nonce:e.sheet.nonce,container:e.sheet.container,speedy:e.sheet.isSpeedy}),s=!1,n=document.querySelector('style[data-emotion="'+t+" "+l.name+'"]');return e.sheet.tags.length&&(i.before=e.sheet.tags[0]),null!==n&&(s=!0,n.setAttribute("data-emotion",t),i.hydrate([n])),g.current=[i,s],function(){i.flush()}}),[e]),(0,o.i)((function(){var t=g.current,i=t[0];if(t[1])t[1]=!1;else{if(void 0!==l.next&&(0,r.sk)(e,l.next,!0),i.tags.length){var s=i.tags[i.tags.length-1].nextElementSibling;i.before=s,i.flush()}e.insert("",l,i,!1)}}),[e,l.name]),null})));function h(){for(var t=arguments.length,e=new Array(t),i=0;i{"use strict";i.d(e,{J:()=>f});var s={animationIterationCount:1,aspectRatio:1,borderImageOutset:1,borderImageSlice:1,borderImageWidth:1,boxFlex:1,boxFlexGroup:1,boxOrdinalGroup:1,columnCount:1,columns:1,flex:1,flexGrow:1,flexPositive:1,flexShrink:1,flexNegative:1,flexOrder:1,gridRow:1,gridRowEnd:1,gridRowSpan:1,gridRowStart:1,gridColumn:1,gridColumnEnd:1,gridColumnSpan:1,gridColumnStart:1,msGridRow:1,msGridRowSpan:1,msGridColumn:1,msGridColumnSpan:1,fontWeight:1,lineHeight:1,opacity:1,order:1,orphans:1,tabSize:1,widows:1,zIndex:1,zoom:1,WebkitLineClamp:1,fillOpacity:1,floodOpacity:1,stopOpacity:1,strokeDasharray:1,strokeDashoffset:1,strokeMiterlimit:1,strokeOpacity:1,strokeWidth:1},n=i(918),r=/[A-Z]|^ms/g,o=/_EMO_([^_]+?)_([^]*?)_EMO_/g,a=function(t){return 45===t.charCodeAt(1)},l=function(t){return null!=t&&"boolean"!==typeof t},h=(0,n.A)((function(t){return a(t)?t:t.replace(r,"-$&").toLowerCase()})),c=function(t,e){switch(t){case"animation":case"animationName":if("string"===typeof e)return e.replace(o,(function(t,e,i){return u={name:e,styles:i,next:u},e}))}return 1===s[t]||a(t)||"number"!==typeof e||0===e?e:e+"px"};function d(t,e,i){if(null==i)return"";if(void 0!==i.__emotion_styles)return i;switch(typeof i){case"boolean":return"";case"object":if(1===i.anim)return u={name:i.name,styles:i.styles,next:u},i.name;if(void 0!==i.styles){var s=i.next;if(void 0!==s)for(;void 0!==s;)u={name:s.name,styles:s.styles,next:u},s=s.next;return i.styles+";"}return function(t,e,i){var s="";if(Array.isArray(i))for(var n=0;n=4;++s,n-=4)e=1540483477*(65535&(e=255&t.charCodeAt(s)|(255&t.charCodeAt(++s))<<8|(255&t.charCodeAt(++s))<<16|(255&t.charCodeAt(++s))<<24))+(59797*(e>>>16)<<16),i=1540483477*(65535&(e^=e>>>24))+(59797*(e>>>16)<<16)^1540483477*(65535&i)+(59797*(i>>>16)<<16);switch(n){case 3:i^=(255&t.charCodeAt(s+2))<<16;case 2:i^=(255&t.charCodeAt(s+1))<<8;case 1:i=1540483477*(65535&(i^=255&t.charCodeAt(s)))+(59797*(i>>>16)<<16)}return(((i=1540483477*(65535&(i^=i>>>13))+(59797*(i>>>16)<<16))^i>>>15)>>>0).toString(36)}(n)+l;return{name:h,styles:n,next:u}}},9436:(t,e,i)=>{"use strict";var s;i.d(e,{i:()=>a,s:()=>o});var n=i(5043),r=!!(s||(s=i.t(n,2))).useInsertionEffect&&(s||(s=i.t(n,2))).useInsertionEffect,o=r||function(t){return t()},a=r||n.useLayoutEffect},1722:(t,e,i)=>{"use strict";i.d(e,{Rk:()=>s,SF:()=>n,sk:()=>r});function s(t,e,i){var s="";return i.split(" ").forEach((function(i){void 0!==t[i]?e.push(t[i]+";"):s+=i+" "})),s}var n=function(t,e,i){var s=t.key+"-"+e.name;!1===i&&void 0===t.registered[s]&&(t.registered[s]=e.styles)},r=function(t,e,i){n(t,e,i);var s=t.key+"-"+e.name;if(void 0===t.inserted[e.name]){var r=e;do{t.insert(e===r?"."+s:"",r,t.sheet,!0),r=r.next}while(void 0!==r)}}},348:(t,e,i)=>{"use strict";var s=i(4994);e.A=void 0;!function(t,e){if(!e&&t&&t.__esModule)return t;if(null===t||"object"!=typeof t&&"function"!=typeof t)return{default:t};var i=o(e);if(i&&i.has(t))return i.get(t);var s={__proto__:null},n=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var r in t)if("default"!==r&&Object.prototype.hasOwnProperty.call(t,r)){var a=n?Object.getOwnPropertyDescriptor(t,r):null;a&&(a.get||a.set)?Object.defineProperty(s,r,a):s[r]=t[r]}s.default=t,i&&i.set(t,s)}(i(5043));var n=s(i(39)),r=i(579);function o(t){if("function"!=typeof WeakMap)return null;var e=new WeakMap,i=new WeakMap;return(o=function(t){return t?i:e})(t)}e.A=(0,n.default)((0,r.jsx)("path",{d:"M5 3h14a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2m13 2h-2.5A3.5 3.5 0 0 0 12 8.5V11h-2v3h2v7h3v-7h3v-3h-3V9a1 1 0 0 1 1-1h2V5z"}),"Facebook")},3650:(t,e,i)=>{"use strict";var s=i(4994);e.A=void 0;!function(t,e){if(!e&&t&&t.__esModule)return t;if(null===t||"object"!=typeof t&&"function"!=typeof t)return{default:t};var i=o(e);if(i&&i.has(t))return i.get(t);var s={__proto__:null},n=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var r in t)if("default"!==r&&Object.prototype.hasOwnProperty.call(t,r)){var a=n?Object.getOwnPropertyDescriptor(t,r):null;a&&(a.get||a.set)?Object.defineProperty(s,r,a):s[r]=t[r]}s.default=t,i&&i.set(t,s)}(i(5043));var n=s(i(39)),r=i(579);function o(t){if("function"!=typeof WeakMap)return null;var e=new WeakMap,i=new WeakMap;return(o=function(t){return t?i:e})(t)}e.A=(0,n.default)((0,r.jsx)("path",{d:"M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z"}),"X")},39:(t,e,i)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return s.createSvgIcon}});var s=i(8915)},5881:(t,e)=>{"use strict";var i,s=Symbol.for("react.element"),n=Symbol.for("react.portal"),r=Symbol.for("react.fragment"),o=Symbol.for("react.strict_mode"),a=Symbol.for("react.profiler"),l=Symbol.for("react.provider"),h=Symbol.for("react.context"),c=Symbol.for("react.server_context"),d=Symbol.for("react.forward_ref"),u=Symbol.for("react.suspense"),p=Symbol.for("react.suspense_list"),f=Symbol.for("react.memo"),g=Symbol.for("react.lazy"),m=Symbol.for("react.offscreen");function y(t){if("object"===typeof t&&null!==t){var e=t.$$typeof;switch(e){case s:switch(t=t.type){case r:case a:case o:case u:case p:return t;default:switch(t=t&&t.$$typeof){case c:case h:case d:case g:case f:case l:return t;default:return e}}case n:return e}}}i=Symbol.for("react.module.reference")},805:(t,e,i)=>{"use strict";i(5881)},8279:(t,e,i)=>{"use strict";i.d(e,{A:()=>z});var s=i(8168),n=i(8587),r=i(6632),o=i(3216),a=i(7758),l=i(8812),h=i(8280);var c=i(7266);const d={black:"#000",white:"#fff"},u={50:"#fafafa",100:"#f5f5f5",200:"#eeeeee",300:"#e0e0e0",400:"#bdbdbd",500:"#9e9e9e",600:"#757575",700:"#616161",800:"#424242",900:"#212121",A100:"#f5f5f5",A200:"#eeeeee",A400:"#bdbdbd",A700:"#616161"},p={50:"#f3e5f5",100:"#e1bee7",200:"#ce93d8",300:"#ba68c8",400:"#ab47bc",500:"#9c27b0",600:"#8e24aa",700:"#7b1fa2",800:"#6a1b9a",900:"#4a148c",A100:"#ea80fc",A200:"#e040fb",A400:"#d500f9",A700:"#aa00ff"},f={50:"#ffebee",100:"#ffcdd2",200:"#ef9a9a",300:"#e57373",400:"#ef5350",500:"#f44336",600:"#e53935",700:"#d32f2f",800:"#c62828",900:"#b71c1c",A100:"#ff8a80",A200:"#ff5252",A400:"#ff1744",A700:"#d50000"},g={50:"#fff3e0",100:"#ffe0b2",200:"#ffcc80",300:"#ffb74d",400:"#ffa726",500:"#ff9800",600:"#fb8c00",700:"#f57c00",800:"#ef6c00",900:"#e65100",A100:"#ffd180",A200:"#ffab40",A400:"#ff9100",A700:"#ff6d00"},m={50:"#e3f2fd",100:"#bbdefb",200:"#90caf9",300:"#64b5f6",400:"#42a5f5",500:"#2196f3",600:"#1e88e5",700:"#1976d2",800:"#1565c0",900:"#0d47a1",A100:"#82b1ff",A200:"#448aff",A400:"#2979ff",A700:"#2962ff"},y={50:"#e1f5fe",100:"#b3e5fc",200:"#81d4fa",300:"#4fc3f7",400:"#29b6f6",500:"#03a9f4",600:"#039be5",700:"#0288d1",800:"#0277bd",900:"#01579b",A100:"#80d8ff",A200:"#40c4ff",A400:"#00b0ff",A700:"#0091ea"},x={50:"#e8f5e9",100:"#c8e6c9",200:"#a5d6a7",300:"#81c784",400:"#66bb6a",500:"#4caf50",600:"#43a047",700:"#388e3c",800:"#2e7d32",900:"#1b5e20",A100:"#b9f6ca",A200:"#69f0ae",A400:"#00e676",A700:"#00c853"},v=["mode","contrastThreshold","tonalOffset"],b={text:{primary:"rgba(0, 0, 0, 0.87)",secondary:"rgba(0, 0, 0, 0.6)",disabled:"rgba(0, 0, 0, 0.38)"},divider:"rgba(0, 0, 0, 0.12)",background:{paper:d.white,default:d.white},action:{active:"rgba(0, 0, 0, 0.54)",hover:"rgba(0, 0, 0, 0.04)",hoverOpacity:.04,selected:"rgba(0, 0, 0, 0.08)",selectedOpacity:.08,disabled:"rgba(0, 0, 0, 0.26)",disabledBackground:"rgba(0, 0, 0, 0.12)",disabledOpacity:.38,focus:"rgba(0, 0, 0, 0.12)",focusOpacity:.12,activatedOpacity:.12}},S={text:{primary:d.white,secondary:"rgba(255, 255, 255, 0.7)",disabled:"rgba(255, 255, 255, 0.5)",icon:"rgba(255, 255, 255, 0.5)"},divider:"rgba(255, 255, 255, 0.12)",background:{paper:"#121212",default:"#121212"},action:{active:d.white,hover:"rgba(255, 255, 255, 0.08)",hoverOpacity:.08,selected:"rgba(255, 255, 255, 0.16)",selectedOpacity:.16,disabled:"rgba(255, 255, 255, 0.3)",disabledBackground:"rgba(255, 255, 255, 0.12)",disabledOpacity:.38,focus:"rgba(255, 255, 255, 0.12)",focusOpacity:.12,activatedOpacity:.24}};function k(t,e,i,s){const n=s.light||s,r=s.dark||1.5*s;t[e]||(t.hasOwnProperty(i)?t[e]=t[i]:"light"===e?t.light=(0,c.a)(t.main,n):"dark"===e&&(t.dark=(0,c.e$)(t.main,r)))}function w(t){const{mode:e="light",contrastThreshold:i=3,tonalOffset:a=.2}=t,l=(0,n.A)(t,v),h=t.primary||function(){return"dark"===(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"light")?{main:m[200],light:m[50],dark:m[400]}:{main:m[700],light:m[400],dark:m[800]}}(e),w=t.secondary||function(){return"dark"===(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"light")?{main:p[200],light:p[50],dark:p[400]}:{main:p[500],light:p[300],dark:p[700]}}(e),C=t.error||function(){return"dark"===(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"light")?{main:f[500],light:f[300],dark:f[700]}:{main:f[700],light:f[400],dark:f[800]}}(e),A=t.info||function(){return"dark"===(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"light")?{main:y[400],light:y[300],dark:y[700]}:{main:y[700],light:y[500],dark:y[900]}}(e),M=t.success||function(){return"dark"===(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"light")?{main:x[400],light:x[300],dark:x[700]}:{main:x[800],light:x[500],dark:x[900]}}(e),T=t.warning||function(){return"dark"===(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"light")?{main:g[400],light:g[300],dark:g[700]}:{main:"#ed6c02",light:g[500],dark:g[900]}}(e);function P(t){return(0,c.eM)(t,S.text.primary)>=i?S.text.primary:b.text.primary}const E=t=>{let{color:e,name:i,mainShade:n=500,lightShade:o=300,darkShade:l=700}=t;if(e=(0,s.A)({},e),!e.main&&e[n]&&(e.main=e[n]),!e.hasOwnProperty("main"))throw new Error((0,r.A)(11,i?" (".concat(i,")"):"",n));if("string"!==typeof e.main)throw new Error((0,r.A)(12,i?" (".concat(i,")"):"",JSON.stringify(e.main)));return k(e,"light",o,a),k(e,"dark",l,a),e.contrastText||(e.contrastText=P(e.main)),e},O={dark:S,light:b};return(0,o.A)((0,s.A)({common:(0,s.A)({},d),mode:e,primary:E({color:h,name:"primary"}),secondary:E({color:w,name:"secondary",mainShade:"A400",lightShade:"A200",darkShade:"A700"}),error:E({color:C,name:"error"}),warning:E({color:T,name:"warning"}),info:E({color:A,name:"info"}),success:E({color:M,name:"success"}),grey:u,contrastThreshold:i,getContrastText:P,augmentColor:E,tonalOffset:a},O[e]),l)}const C=["fontFamily","fontSize","fontWeightLight","fontWeightRegular","fontWeightMedium","fontWeightBold","htmlFontSize","allVariants","pxToRem"];const A={textTransform:"uppercase"},M='"Roboto", "Helvetica", "Arial", sans-serif';function T(t,e){const i="function"===typeof e?e(t):e,{fontFamily:r=M,fontSize:a=14,fontWeightLight:l=300,fontWeightRegular:h=400,fontWeightMedium:c=500,fontWeightBold:d=700,htmlFontSize:u=16,allVariants:p,pxToRem:f}=i,g=(0,n.A)(i,C);const m=a/14,y=f||(t=>"".concat(t/u*m,"rem")),x=(t,e,i,n,o)=>{return(0,s.A)({fontFamily:r,fontWeight:t,fontSize:y(e),lineHeight:i},r===M?{letterSpacing:"".concat((a=n/e,Math.round(1e5*a)/1e5),"em")}:{},o,p);var a},v={h1:x(l,96,1.167,-1.5),h2:x(l,60,1.2,-.5),h3:x(h,48,1.167,0),h4:x(h,34,1.235,.25),h5:x(h,24,1.334,0),h6:x(c,20,1.6,.15),subtitle1:x(h,16,1.75,.15),subtitle2:x(c,14,1.57,.1),body1:x(h,16,1.5,.15),body2:x(h,14,1.43,.15),button:x(c,14,1.75,.4,A),caption:x(h,12,1.66,.4),overline:x(h,12,2.66,1,A),inherit:{fontFamily:"inherit",fontWeight:"inherit",fontSize:"inherit",lineHeight:"inherit",letterSpacing:"inherit"}};return(0,o.A)((0,s.A)({htmlFontSize:u,pxToRem:y,fontFamily:r,fontSize:a,fontWeightLight:l,fontWeightRegular:h,fontWeightMedium:c,fontWeightBold:d},v),g,{clone:!1})}function P(){return["".concat(arguments.length<=0?void 0:arguments[0],"px ").concat(arguments.length<=1?void 0:arguments[1],"px ").concat(arguments.length<=2?void 0:arguments[2],"px ").concat(arguments.length<=3?void 0:arguments[3],"px rgba(0,0,0,").concat(.2,")"),"".concat(arguments.length<=4?void 0:arguments[4],"px ").concat(arguments.length<=5?void 0:arguments[5],"px ").concat(arguments.length<=6?void 0:arguments[6],"px ").concat(arguments.length<=7?void 0:arguments[7],"px rgba(0,0,0,").concat(.14,")"),"".concat(arguments.length<=8?void 0:arguments[8],"px ").concat(arguments.length<=9?void 0:arguments[9],"px ").concat(arguments.length<=10?void 0:arguments[10],"px ").concat(arguments.length<=11?void 0:arguments[11],"px rgba(0,0,0,").concat(.12,")")].join(",")}const E=["none",P(0,2,1,-1,0,1,1,0,0,1,3,0),P(0,3,1,-2,0,2,2,0,0,1,5,0),P(0,3,3,-2,0,3,4,0,0,1,8,0),P(0,2,4,-1,0,4,5,0,0,1,10,0),P(0,3,5,-1,0,5,8,0,0,1,14,0),P(0,3,5,-1,0,6,10,0,0,1,18,0),P(0,4,5,-2,0,7,10,1,0,2,16,1),P(0,5,5,-3,0,8,10,1,0,3,14,2),P(0,5,6,-3,0,9,12,1,0,3,16,2),P(0,6,6,-3,0,10,14,1,0,4,18,3),P(0,6,7,-4,0,11,15,1,0,4,20,3),P(0,7,8,-4,0,12,17,2,0,5,22,4),P(0,7,8,-4,0,13,19,2,0,5,24,4),P(0,7,9,-4,0,14,21,2,0,5,26,4),P(0,8,9,-5,0,15,22,2,0,6,28,5),P(0,8,10,-5,0,16,24,2,0,6,30,5),P(0,8,11,-5,0,17,26,2,0,6,32,5),P(0,9,11,-5,0,18,28,2,0,7,34,6),P(0,9,12,-6,0,19,29,2,0,7,36,6),P(0,10,13,-6,0,20,31,3,0,8,38,7),P(0,10,13,-6,0,21,33,3,0,8,40,7),P(0,10,14,-6,0,22,35,3,0,8,42,7),P(0,11,14,-7,0,23,36,3,0,9,44,8),P(0,11,15,-7,0,24,38,3,0,9,46,8)],O=["duration","easing","delay"],L={easeInOut:"cubic-bezier(0.4, 0, 0.2, 1)",easeOut:"cubic-bezier(0.0, 0, 0.2, 1)",easeIn:"cubic-bezier(0.4, 0, 1, 1)",sharp:"cubic-bezier(0.4, 0, 0.6, 1)"},D={shortest:150,shorter:200,short:250,standard:300,complex:375,enteringScreen:225,leavingScreen:195};function j(t){return"".concat(Math.round(t),"ms")}function N(t){if(!t)return 0;const e=t/36;return Math.round(10*(4+15*e**.25+e/5))}function R(t){const e=(0,s.A)({},L,t.easing),i=(0,s.A)({},D,t.duration);return(0,s.A)({getAutoHeightDuration:N,create:function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:["all"],s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const{duration:r=i.standard,easing:o=e.easeInOut,delay:a=0}=s;(0,n.A)(s,O);return(Array.isArray(t)?t:[t]).map((t=>"".concat(t," ").concat("string"===typeof r?r:j(r)," ").concat(o," ").concat("string"===typeof a?a:j(a)))).join(",")}},t,{easing:e,duration:i})}const I={mobileStepper:1e3,fab:1050,speedDial:1050,appBar:1100,drawer:1200,modal:1300,snackbar:1400,tooltip:1500},B=["breakpoints","mixins","spacing","palette","transitions","typography","shape"];function _(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const{mixins:e={},palette:i={},transitions:c={},typography:d={}}=t,u=(0,n.A)(t,B);if(t.vars)throw new Error((0,r.A)(18));const p=w(i),f=(0,h.A)(t);let g=(0,o.A)(f,{mixins:(m=f.breakpoints,y=e,(0,s.A)({toolbar:{minHeight:56,[m.up("xs")]:{"@media (orientation: landscape)":{minHeight:48}},[m.up("sm")]:{minHeight:64}}},y)),palette:p,shadows:E.slice(),typography:T(p,d),transitions:R(c),zIndex:(0,s.A)({},I)});var m,y;g=(0,o.A)(g,u);for(var x=arguments.length,v=new Array(x>1?x-1:0),b=1;b(0,o.A)(t,e)),g),g.unstable_sxConfig=(0,s.A)({},a.A,null==u?void 0:u.unstable_sxConfig),g.unstable_sx=function(t){return(0,l.A)({sx:t,theme:this})},g}const z=_},5170:(t,e,i)=>{"use strict";i.d(e,{A:()=>s});const s=(0,i(8279).A)()},3375:(t,e,i)=>{"use strict";i.d(e,{A:()=>s});const s="$$material"},3887:(t,e,i)=>{"use strict";i.d(e,{Ay:()=>l});var s=i(8052),n=i(5170),r=i(3375);const o=function(t){return"ownerState"!==t&&"theme"!==t&&"sx"!==t&&"as"!==t},a=t=>o(t)&&"classes"!==t,l=(0,s.Ay)({themeId:r.A,defaultTheme:n.A,rootShouldForwardProp:a})},3847:(t,e,i)=>{"use strict";i.d(e,{A:()=>h});var s=i(8168);function n(t,e){const i=(0,s.A)({},e);return Object.keys(t).forEach((r=>{if(r.toString().match(/^(components|slots)$/))i[r]=(0,s.A)({},t[r],i[r]);else if(r.toString().match(/^(componentsProps|slotProps)$/)){const o=t[r]||{},a=e[r];i[r]={},a&&Object.keys(a)?o&&Object.keys(o)?(i[r]=(0,s.A)({},a),Object.keys(o).forEach((t=>{i[r][t]=n(o[t],a[t])}))):i[r]=a:i[r]=o}else void 0===i[r]&&(i[r]=t[r])})),i}function r(t){const{theme:e,name:i,props:s}=t;return e&&e.components&&e.components[i]&&e.components[i].defaultProps?n(e.components[i].defaultProps,s):s}var o=i(8653);var a=i(5170),l=i(3375);function h(t){let{props:e,name:i}=t;return function(t){let{props:e,name:i,defaultTheme:s,themeId:n}=t,a=(0,o.A)(s);return n&&(a=a[n]||a),r({theme:a,name:i,props:e})}({props:e,name:i,defaultTheme:a.A,themeId:l.A})}},6803:(t,e,i)=>{"use strict";i.d(e,{A:()=>s});const s=i(410).A},9662:(t,e,i)=>{"use strict";i.d(e,{A:()=>v});var s=i(8168),n=i(5043),r=i(8587),o=i(8387),a=i(8606),l=i(6803),h=i(3847),c=i(3887),d=i(7056),u=i(2400);function p(t){return(0,u.Ay)("MuiSvgIcon",t)}(0,d.A)("MuiSvgIcon",["root","colorPrimary","colorSecondary","colorAction","colorError","colorDisabled","fontSizeInherit","fontSizeSmall","fontSizeMedium","fontSizeLarge"]);var f=i(579);const g=["children","className","color","component","fontSize","htmlColor","inheritViewBox","titleAccess","viewBox"],m=(0,c.Ay)("svg",{name:"MuiSvgIcon",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:i}=t;return[e.root,"inherit"!==i.color&&e["color".concat((0,l.A)(i.color))],e["fontSize".concat((0,l.A)(i.fontSize))]]}})((t=>{let{theme:e,ownerState:i}=t;var s,n,r,o,a,l,h,c,d,u,p,f,g;return{userSelect:"none",width:"1em",height:"1em",display:"inline-block",fill:i.hasSvgAsChild?void 0:"currentColor",flexShrink:0,transition:null==(s=e.transitions)||null==(n=s.create)?void 0:n.call(s,"fill",{duration:null==(r=e.transitions)||null==(r=r.duration)?void 0:r.shorter}),fontSize:{inherit:"inherit",small:(null==(o=e.typography)||null==(a=o.pxToRem)?void 0:a.call(o,20))||"1.25rem",medium:(null==(l=e.typography)||null==(h=l.pxToRem)?void 0:h.call(l,24))||"1.5rem",large:(null==(c=e.typography)||null==(d=c.pxToRem)?void 0:d.call(c,35))||"2.1875rem"}[i.fontSize],color:null!=(u=null==(p=(e.vars||e).palette)||null==(p=p[i.color])?void 0:p.main)?u:{action:null==(f=(e.vars||e).palette)||null==(f=f.action)?void 0:f.active,disabled:null==(g=(e.vars||e).palette)||null==(g=g.action)?void 0:g.disabled,inherit:void 0}[i.color]}})),y=n.forwardRef((function(t,e){const i=(0,h.A)({props:t,name:"MuiSvgIcon"}),{children:c,className:d,color:u="inherit",component:y="svg",fontSize:x="medium",htmlColor:v,inheritViewBox:b=!1,titleAccess:S,viewBox:k="0 0 24 24"}=i,w=(0,r.A)(i,g),C=n.isValidElement(c)&&"svg"===c.type,A=(0,s.A)({},i,{color:u,component:y,fontSize:x,instanceFontSize:t.fontSize,inheritViewBox:b,viewBox:k,hasSvgAsChild:C}),M={};b||(M.viewBox=k);const T=(t=>{const{color:e,fontSize:i,classes:s}=t,n={root:["root","inherit"!==e&&"color".concat((0,l.A)(e)),"fontSize".concat((0,l.A)(i))]};return(0,a.A)(n,p,s)})(A);return(0,f.jsxs)(m,(0,s.A)({as:y,className:(0,o.A)(T.root,d),focusable:"false",color:v,"aria-hidden":!S||void 0,role:S?"img":void 0,ref:e},M,w,C&&c.props,{ownerState:A,children:[C?c.props.children:c,S?(0,f.jsx)("title",{children:S}):null]}))}));y.muiName="SvgIcon";const x=y;function v(t,e){function i(i,n){return(0,f.jsx)(x,(0,s.A)({"data-testid":"".concat(e,"Icon"),ref:n},i,{children:t}))}return i.muiName=x.muiName,n.memo(n.forwardRef(i))}},7220:(t,e,i)=>{"use strict";i.d(e,{A:()=>s});const s=function(t){let e,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:166;function s(){for(var s=arguments.length,n=new Array(s),r=0;r{t.apply(this,n)}),i)}return s.clear=()=>{clearTimeout(e)},s}},8915:(t,e,i)=>{"use strict";i.r(e),i.d(e,{capitalize:()=>n.A,createChainedFunction:()=>r,createSvgIcon:()=>o.A,debounce:()=>a.A,deprecatedPropType:()=>l,isMuiElement:()=>d,ownerDocument:()=>u.A,ownerWindow:()=>p.A,requirePropFactory:()=>f,setRef:()=>g,unstable_ClassNameGenerator:()=>A,unstable_useEnhancedEffect:()=>m.A,unstable_useId:()=>v,unsupportedProp:()=>b,useControlled:()=>S,useEventCallback:()=>k.A,useForkRef:()=>w.A,useIsFocusVisible:()=>C.A});var s=i(5430),n=i(6803);const r=function(){for(var t=arguments.length,e=new Array(t),i=0;inull==e?t:function(){for(var i=arguments.length,s=new Array(i),n=0;n{}))};var o=i(9662),a=i(7220);const l=function(t,e){return()=>null};var h=i(5043),c=i.t(h,2);const d=function(t,e){var i,s;return h.isValidElement(t)&&-1!==e.indexOf(null!=(i=t.type.muiName)?i:null==(s=t.type)||null==(s=s._payload)||null==(s=s.value)?void 0:s.muiName)};var u=i(2427),p=i(819);i(8168);const f=function(t,e){return()=>null};const g=i(9184).A;var m=i(5013);let y=0;const x=c["useId".toString()];const v=function(t){if(void 0!==x){const e=x();return null!=t?t:e}return function(t){const[e,i]=h.useState(t),s=t||e;return h.useEffect((()=>{null==e&&(y+=1,i("mui-".concat(y)))}),[e]),s}(t)};const b=function(t,e,i,s,n){return null};const S=function(t){let{controlled:e,default:i,name:s,state:n="value"}=t;const{current:r}=h.useRef(void 0!==e),[o,a]=h.useState(i);return[r?e:o,h.useCallback((t=>{r||a(t)}),[])]};var k=i(9148),w=i(5849),C=i(2191);const A={configure:t=>{s.A.configure(t)}}},2427:(t,e,i)=>{"use strict";i.d(e,{A:()=>s});const s=i(2144).A},819:(t,e,i)=>{"use strict";i.d(e,{A:()=>n});var s=i(2144);const n=function(t){return(0,s.A)(t).defaultView||window}},5013:(t,e,i)=>{"use strict";i.d(e,{A:()=>s});const s=i(3844).A},9148:(t,e,i)=>{"use strict";i.d(e,{A:()=>r});var s=i(5043),n=i(3844);const r=function(t){const e=s.useRef(t);return(0,n.A)((()=>{e.current=t})),s.useRef((function(){return(0,e.current)(...arguments)})).current}},5849:(t,e,i)=>{"use strict";i.d(e,{A:()=>s});const s=i(7042).A},2191:(t,e,i)=>{"use strict";i.d(e,{A:()=>p});var s=i(5043),n=i(1140);let r=!0,o=!1;const a=new n.E,l={text:!0,search:!0,url:!0,tel:!0,email:!0,password:!0,number:!0,date:!0,month:!0,week:!0,time:!0,datetime:!0,"datetime-local":!0};function h(t){t.metaKey||t.altKey||t.ctrlKey||(r=!0)}function c(){r=!1}function d(){"hidden"===this.visibilityState&&o&&(r=!0)}function u(t){const{target:e}=t;try{return e.matches(":focus-visible")}catch(i){}return r||function(t){const{type:e,tagName:i}=t;return!("INPUT"!==i||!l[e]||t.readOnly)||"TEXTAREA"===i&&!t.readOnly||!!t.isContentEditable}(e)}const p=function(){const t=s.useCallback((t=>{var e;null!=t&&((e=t.ownerDocument).addEventListener("keydown",h,!0),e.addEventListener("mousedown",c,!0),e.addEventListener("pointerdown",c,!0),e.addEventListener("touchstart",c,!0),e.addEventListener("visibilitychange",d,!0))}),[]),e=s.useRef(!1);return{isFocusVisibleRef:e,onFocus:function(t){return!!u(t)&&(e.current=!0,!0)},onBlur:function(){return!!e.current&&(o=!0,a.start(100,(()=>{o=!1})),e.current=!1,!0)},ref:t}}},7713:(t,e,i)=>{"use strict";i.r(e),i.d(e,{GlobalStyles:()=>w,StyledEngineProvider:()=>k,ThemeContext:()=>l.T,css:()=>x.AH,default:()=>C,internal_processStyles:()=>A,keyframes:()=>x.i7});var s=i(8168),n=i(5043),r=i(918),o=/^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|abbr|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|disableRemotePlayback|download|draggable|encType|enterKeyHint|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|translate|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|incremental|fallback|inert|itemProp|itemScope|itemType|itemID|itemRef|on|option|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/,a=(0,r.A)((function(t){return o.test(t)||111===t.charCodeAt(0)&&110===t.charCodeAt(1)&&t.charCodeAt(2)<91})),l=i(5756),h=i(1722),c=i(2830),d=i(9436),u=a,p=function(t){return"theme"!==t},f=function(t){return"string"===typeof t&&t.charCodeAt(0)>96?u:p},g=function(t,e,i){var s;if(e){var n=e.shouldForwardProp;s=t.__emotion_forwardProp&&n?function(e){return t.__emotion_forwardProp(e)&&n(e)}:n}return"function"!==typeof s&&i&&(s=t.__emotion_forwardProp),s},m=function(t){var e=t.cache,i=t.serialized,s=t.isStringTag;return(0,h.SF)(e,i,s),(0,d.s)((function(){return(0,h.sk)(e,i,s)})),null},y=function t(e,i){var r,o,a=e.__emotion_real===e,d=a&&e.__emotion_base||e;void 0!==i&&(r=i.label,o=i.target);var u=g(e,i,a),p=u||f(d),y=!p("as");return function(){var x=arguments,v=a&&void 0!==e.__emotion_styles?e.__emotion_styles.slice(0):[];if(void 0!==r&&v.push("label:"+r+";"),null==x[0]||void 0===x[0].raw)v.push.apply(v,x);else{0,v.push(x[0][0]);for(var b=x.length,S=1;S{return e(void 0===(s=t)||null===s||0===Object.keys(s).length?i:t);var s}:e;return(0,b.jsx)(x.mL,{styles:s})}function C(t,e){return y(t,e)}"object"===typeof document&&(S=(0,v.A)({key:"css",prepend:!0}));const A=(t,e)=>{Array.isArray(t.__emotion_styles)&&(t.__emotion_styles=e(t.__emotion_styles))}},7266:(t,e,i)=>{"use strict";var s=i(4994);e.X4=p,e.e$=f,e.eM=function(t,e){const i=u(t),s=u(e);return(Math.max(i,s)+.05)/(Math.min(i,s)+.05)},e.a=g;var n=s(i(7245)),r=s(i(1098));function o(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1;return(0,r.default)(t,e,i)}function a(t){t=t.slice(1);const e=new RegExp(".{1,".concat(t.length>=6?2:1,"}"),"g");let i=t.match(e);return i&&1===i[0].length&&(i=i.map((t=>t+t))),i?"rgb".concat(4===i.length?"a":"","(").concat(i.map(((t,e)=>e<3?parseInt(t,16):Math.round(parseInt(t,16)/255*1e3)/1e3)).join(", "),")"):""}function l(t){if(t.type)return t;if("#"===t.charAt(0))return l(a(t));const e=t.indexOf("("),i=t.substring(0,e);if(-1===["rgb","rgba","hsl","hsla","color"].indexOf(i))throw new Error((0,n.default)(9,t));let s,r=t.substring(e+1,t.length-1);if("color"===i){if(r=r.split(" "),s=r.shift(),4===r.length&&"/"===r[3].charAt(0)&&(r[3]=r[3].slice(1)),-1===["srgb","display-p3","a98-rgb","prophoto-rgb","rec-2020"].indexOf(s))throw new Error((0,n.default)(10,s))}else r=r.split(",");return r=r.map((t=>parseFloat(t))),{type:i,values:r,colorSpace:s}}const h=t=>{const e=l(t);return e.values.slice(0,3).map(((t,i)=>-1!==e.type.indexOf("hsl")&&0!==i?"".concat(t,"%"):t)).join(" ")};function c(t){const{type:e,colorSpace:i}=t;let{values:s}=t;return-1!==e.indexOf("rgb")?s=s.map(((t,e)=>e<3?parseInt(t,10):t)):-1!==e.indexOf("hsl")&&(s[1]="".concat(s[1],"%"),s[2]="".concat(s[2],"%")),s=-1!==e.indexOf("color")?"".concat(i," ").concat(s.join(" ")):"".concat(s.join(", ")),"".concat(e,"(").concat(s,")")}function d(t){t=l(t);const{values:e}=t,i=e[0],s=e[1]/100,n=e[2]/100,r=s*Math.min(n,1-n),o=function(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:(t+i/30)%12;return n-r*Math.max(Math.min(e-3,9-e,1),-1)};let a="rgb";const h=[Math.round(255*o(0)),Math.round(255*o(8)),Math.round(255*o(4))];return"hsla"===t.type&&(a+="a",h.push(e[3])),c({type:a,values:h})}function u(t){let e="hsl"===(t=l(t)).type||"hsla"===t.type?l(d(t)).values:t.values;return e=e.map((e=>("color"!==t.type&&(e/=255),e<=.03928?e/12.92:((e+.055)/1.055)**2.4))),Number((.2126*e[0]+.7152*e[1]+.0722*e[2]).toFixed(3))}function p(t,e){return t=l(t),e=o(e),"rgb"!==t.type&&"hsl"!==t.type||(t.type+="a"),"color"===t.type?t.values[3]="/".concat(e):t.values[3]=e,c(t)}function f(t,e){if(t=l(t),e=o(e),-1!==t.type.indexOf("hsl"))t.values[2]*=1-e;else if(-1!==t.type.indexOf("rgb")||-1!==t.type.indexOf("color"))for(let i=0;i<3;i+=1)t.values[i]*=1-e;return c(t)}function g(t,e){if(t=l(t),e=o(e),-1!==t.type.indexOf("hsl"))t.values[2]+=(100-t.values[2])*e;else if(-1!==t.type.indexOf("rgb"))for(let i=0;i<3;i+=1)t.values[i]+=(255-t.values[i])*e;else if(-1!==t.type.indexOf("color"))for(let i=0;i<3;i+=1)t.values[i]+=(1-t.values[i])*e;return c(t)}},8052:(t,e,i)=>{"use strict";var s=i(4994);e.Ay=function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const{themeId:e,defaultTheme:i=g,rootShouldForwardProp:s=f,slotShouldForwardProp:l=f}=t,c=t=>(0,h.default)((0,n.default)({},t,{theme:y((0,n.default)({},t,{defaultTheme:i,themeId:e}))}));return c.__mui_systemSx=!0,function(t){let h=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};(0,o.internal_processStyles)(t,(t=>t.filter((t=>!(null!=t&&t.__mui_systemSx)))));const{name:d,slot:p,skipVariantsResolver:g,skipSx:b,overridesResolver:S=x(m(p))}=h,k=(0,r.default)(h,u),w=void 0!==g?g:p&&"Root"!==p&&"root"!==p||!1,C=b||!1;let A=f;"Root"===p||"root"===p?A=s:p?A=l:function(t){return"string"===typeof t&&t.charCodeAt(0)>96}(t)&&(A=void 0);const M=(0,o.default)(t,(0,n.default)({shouldForwardProp:A,label:undefined},k)),T=t=>"function"===typeof t&&t.__emotion_real!==t||(0,a.isPlainObject)(t)?s=>v(t,(0,n.default)({},s,{theme:y({theme:s.theme,defaultTheme:i,themeId:e})})):t,P=function(s){let r=T(s);for(var o=arguments.length,a=new Array(o>1?o-1:0),l=1;l{const s=y((0,n.default)({},t,{defaultTheme:i,themeId:e}));if(!s.components||!s.components[d]||!s.components[d].styleOverrides)return null;const r=s.components[d].styleOverrides,o={};return Object.entries(r).forEach((e=>{let[i,r]=e;o[i]=v(r,(0,n.default)({},t,{theme:s}))})),S(t,o)})),d&&!w&&h.push((t=>{var s;const r=y((0,n.default)({},t,{defaultTheme:i,themeId:e}));return v({variants:null==r||null==(s=r.components)||null==(s=s[d])?void 0:s.variants},(0,n.default)({},t,{theme:r}))})),C||h.push(c);const u=h.length-a.length;if(Array.isArray(s)&&u>0){const t=new Array(u).fill("");r=[...s,...t],r.raw=[...s.raw,...t]}const p=M(r,...h);return t.muiName&&(p.muiName=t.muiName),p};return M.withConfig&&(P.withConfig=M.withConfig),P}};var n=s(i(4634)),r=s(i(4893)),o=function(t,e){if(!e&&t&&t.__esModule)return t;if(null===t||"object"!=typeof t&&"function"!=typeof t)return{default:t};var i=p(e);if(i&&i.has(t))return i.get(t);var s={__proto__:null},n=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var r in t)if("default"!==r&&Object.prototype.hasOwnProperty.call(t,r)){var o=n?Object.getOwnPropertyDescriptor(t,r):null;o&&(o.get||o.set)?Object.defineProperty(s,r,o):s[r]=t[r]}return s.default=t,i&&i.set(t,s),s}(i(7713)),a=i(4534),l=(s(i(578)),s(i(2046)),s(i(4989))),h=s(i(3234));const c=["ownerState"],d=["variants"],u=["name","slot","skipVariantsResolver","skipSx","overridesResolver"];function p(t){if("function"!=typeof WeakMap)return null;var e=new WeakMap,i=new WeakMap;return(p=function(t){return t?i:e})(t)}function f(t){return"ownerState"!==t&&"theme"!==t&&"sx"!==t&&"as"!==t}const g=(0,l.default)(),m=t=>t?t.charAt(0).toLowerCase()+t.slice(1):t;function y(t){let{defaultTheme:e,theme:i,themeId:s}=t;return n=i,0===Object.keys(n).length?e:i[s]||i;var n}function x(t){return t?(e,i)=>i[t]:null}function v(t,e){let{ownerState:i}=e,s=(0,r.default)(e,c);const o="function"===typeof t?t((0,n.default)({ownerState:i},s)):t;if(Array.isArray(o))return o.flatMap((t=>v(t,(0,n.default)({ownerState:i},s))));if(o&&"object"===typeof o&&Array.isArray(o.variants)){const{variants:t=[]}=o;let e=(0,r.default)(o,d);return t.forEach((t=>{let r=!0;"function"===typeof t.props?r=t.props((0,n.default)({ownerState:i},s,i)):Object.keys(t.props).forEach((e=>{(null==i?void 0:i[e])!==t.props[e]&&s[e]!==t.props[e]&&(r=!1)})),r&&(Array.isArray(e)||(e=[e]),e.push("function"===typeof t.style?t.style((0,n.default)({ownerState:i},s,i)):t.style))})),e}return o}},9751:(t,e,i)=>{"use strict";i.d(e,{EU:()=>o,NI:()=>r,kW:()=>l,vf:()=>a,zu:()=>s});const s={xs:0,sm:600,md:900,lg:1200,xl:1536},n={keys:["xs","sm","md","lg","xl"],up:t=>"@media (min-width:".concat(s[t],"px)")};function r(t,e,i){const r=t.theme||{};if(Array.isArray(e)){const t=r.breakpoints||n;return e.reduce(((s,n,r)=>(s[t.up(t.keys[r])]=i(e[r]),s)),{})}if("object"===typeof e){const t=r.breakpoints||n;return Object.keys(e).reduce(((n,r)=>{if(-1!==Object.keys(t.values||s).indexOf(r)){n[t.up(r)]=i(e[r],r)}else{const t=r;n[t]=e[t]}return n}),{})}return i(e)}function o(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};var e;return(null==(e=t.keys)?void 0:e.reduce(((e,i)=>(e[t.up(i)]={},e)),{}))||{}}function a(t,e){return t.reduce(((t,e)=>{const i=t[e];return(!i||0===Object.keys(i).length)&&delete t[e],t}),e)}function l(t){let{values:e,breakpoints:i,base:s}=t;const n=s||function(t,e){if("object"!==typeof t)return{};const i={},s=Object.keys(e);return Array.isArray(t)?s.forEach(((e,s)=>{s{null!=t[e]&&(i[e]=!0)})),i}(e,i),r=Object.keys(n);if(0===r.length)return e;let o;return r.reduce(((t,i,s)=>(Array.isArray(e)?(t[i]=null!=e[s]?e[s]:e[o],o=s):"object"===typeof e?(t[i]=null!=e[i]?e[i]:e[o],o=i):t[i]=e,t)),{})}},9703:(t,e,i)=>{"use strict";function s(t,e){const i=this;if(i.vars&&"function"===typeof i.getColorSchemeSelector){return{[i.getColorSchemeSelector(t).replace(/(\[[^\]]+\])/,"*:where($1)")]:e}}return i.palette.mode===t?e:{}}i.d(e,{A:()=>s})},4853:(t,e,i)=>{"use strict";i.d(e,{A:()=>a});var s=i(8587),n=i(8168);const r=["values","unit","step"],o=t=>{const e=Object.keys(t).map((e=>({key:e,val:t[e]})))||[];return e.sort(((t,e)=>t.val-e.val)),e.reduce(((t,e)=>(0,n.A)({},t,{[e.key]:e.val})),{})};function a(t){const{values:e={xs:0,sm:600,md:900,lg:1200,xl:1536},unit:i="px",step:a=5}=t,l=(0,s.A)(t,r),h=o(e),c=Object.keys(h);function d(t){const s="number"===typeof e[t]?e[t]:t;return"@media (min-width:".concat(s).concat(i,")")}function u(t){const s="number"===typeof e[t]?e[t]:t;return"@media (max-width:".concat(s-a/100).concat(i,")")}function p(t,s){const n=c.indexOf(s);return"@media (min-width:".concat("number"===typeof e[t]?e[t]:t).concat(i,") and ")+"(max-width:".concat((-1!==n&&"number"===typeof e[c[n]]?e[c[n]]:s)-a/100).concat(i,")")}return(0,n.A)({keys:c,values:h,up:d,down:u,between:p,only:function(t){return c.indexOf(t)+1{"use strict";i.d(e,{A:()=>p});var s=i(8168),n=i(8587),r=i(3216),o=i(4853);const a={borderRadius:4};var l=i(8604);var h=i(8812),c=i(7758),d=i(9703);const u=["breakpoints","palette","spacing","shape"];const p=function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const{breakpoints:e={},palette:i={},spacing:p,shape:f={}}=t,g=(0,n.A)(t,u),m=(0,o.A)(e),y=function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:8;if(t.mui)return t;const e=(0,l.LX)({spacing:t}),i=function(){for(var t=arguments.length,i=new Array(t),s=0;s{const i=e(t);return"number"===typeof i?"".concat(i,"px"):i})).join(" ")};return i.mui=!0,i}(p);let x=(0,r.A)({breakpoints:m,direction:"ltr",components:{},palette:(0,s.A)({mode:"light"},i),spacing:y,shape:(0,s.A)({},a,f)},g);x.applyStyles=d.A;for(var v=arguments.length,b=new Array(v>1?v-1:0),S=1;S(0,r.A)(t,e)),x),x.unstable_sxConfig=(0,s.A)({},c.A,null==g?void 0:g.unstable_sxConfig),x.unstable_sx=function(t){return(0,h.A)({sx:t,theme:this})},x}},4989:(t,e,i)=>{"use strict";i.r(e),i.d(e,{default:()=>s.A,private_createBreakpoints:()=>n.A,unstable_applyStyles:()=>r.A});var s=i(8280),n=i(4853),r=i(9703)},3815:(t,e,i)=>{"use strict";i.d(e,{A:()=>n});var s=i(3216);const n=function(t,e){return e?(0,s.A)(t,e,{clone:!1}):t}},8604:(t,e,i)=>{"use strict";i.d(e,{LX:()=>f,MA:()=>p,_W:()=>g,Lc:()=>x,Ms:()=>v});var s=i(9751),n=i(7162),r=i(3815);const o={m:"margin",p:"padding"},a={t:"Top",r:"Right",b:"Bottom",l:"Left",x:["Left","Right"],y:["Top","Bottom"]},l={marginX:"mx",marginY:"my",paddingX:"px",paddingY:"py"},h=function(t){const e={};return i=>(void 0===e[i]&&(e[i]=t(i)),e[i])}((t=>{if(t.length>2){if(!l[t])return[t];t=l[t]}const[e,i]=t.split(""),s=o[e],n=a[i]||"";return Array.isArray(n)?n.map((t=>s+t)):[s+n]})),c=["m","mt","mr","mb","ml","mx","my","margin","marginTop","marginRight","marginBottom","marginLeft","marginX","marginY","marginInline","marginInlineStart","marginInlineEnd","marginBlock","marginBlockStart","marginBlockEnd"],d=["p","pt","pr","pb","pl","px","py","padding","paddingTop","paddingRight","paddingBottom","paddingLeft","paddingX","paddingY","paddingInline","paddingInlineStart","paddingInlineEnd","paddingBlock","paddingBlockStart","paddingBlockEnd"],u=[...c,...d];function p(t,e,i,s){var r;const o=null!=(r=(0,n.Yn)(t,e,!1))?r:i;return"number"===typeof o?t=>"string"===typeof t?t:o*t:Array.isArray(o)?t=>"string"===typeof t?t:o[t]:"function"===typeof o?o:()=>{}}function f(t){return p(t,"spacing",8)}function g(t,e){if("string"===typeof e||null==e)return e;const i=t(Math.abs(e));return e>=0?i:"number"===typeof i?-i:"-".concat(i)}function m(t,e,i,n){if(-1===e.indexOf(i))return null;const r=function(t,e){return i=>t.reduce(((t,s)=>(t[s]=g(e,i),t)),{})}(h(i),n),o=t[i];return(0,s.NI)(t,o,r)}function y(t,e){const i=f(t.theme);return Object.keys(t).map((s=>m(t,e,s,i))).reduce(r.A,{})}function x(t){return y(t,c)}function v(t){return y(t,d)}function b(t){return y(t,u)}x.propTypes={},x.filterProps=c,v.propTypes={},v.filterProps=d,b.propTypes={},b.filterProps=u},7162:(t,e,i)=>{"use strict";i.d(e,{Ay:()=>a,BO:()=>o,Yn:()=>r});var s=i(410),n=i(9751);function r(t,e){let i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];if(!e||"string"!==typeof e)return null;if(t&&t.vars&&i){const i="vars.".concat(e).split(".").reduce(((t,e)=>t&&t[e]?t[e]:null),t);if(null!=i)return i}return e.split(".").reduce(((t,e)=>t&&null!=t[e]?t[e]:null),t)}function o(t,e,i){let s,n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:i;return s="function"===typeof t?t(i):Array.isArray(t)?t[i]||n:r(t,i)||n,e&&(s=e(s,n,t)),s}const a=function(t){const{prop:e,cssProperty:i=t.prop,themeKey:a,transform:l}=t,h=t=>{if(null==t[e])return null;const h=t[e],c=r(t.theme,a)||{};return(0,n.NI)(t,h,(t=>{let n=o(c,l,t);return t===n&&"string"===typeof t&&(n=o(c,l,"".concat(e).concat("default"===t?"":(0,s.A)(t)),t)),!1===i?n:{[i]:n}}))};return h.propTypes={},h.filterProps=[e],h}},7758:(t,e,i)=>{"use strict";i.d(e,{A:()=>N});var s=i(8604),n=i(7162),r=i(3815);const o=function(){for(var t=arguments.length,e=new Array(t),i=0;i(e.filterProps.forEach((i=>{t[i]=e})),t)),{}),n=t=>Object.keys(t).reduce(((e,i)=>s[i]?(0,r.A)(e,s[i](t)):e),{});return n.propTypes={},n.filterProps=e.reduce(((t,e)=>t.concat(e.filterProps)),[]),n};var a=i(9751);function l(t){return"number"!==typeof t?t:"".concat(t,"px solid")}function h(t,e){return(0,n.Ay)({prop:t,themeKey:"borders",transform:e})}const c=h("border",l),d=h("borderTop",l),u=h("borderRight",l),p=h("borderBottom",l),f=h("borderLeft",l),g=h("borderColor"),m=h("borderTopColor"),y=h("borderRightColor"),x=h("borderBottomColor"),v=h("borderLeftColor"),b=h("outline",l),S=h("outlineColor"),k=t=>{if(void 0!==t.borderRadius&&null!==t.borderRadius){const e=(0,s.MA)(t.theme,"shape.borderRadius",4,"borderRadius"),i=t=>({borderRadius:(0,s._W)(e,t)});return(0,a.NI)(t,t.borderRadius,i)}return null};k.propTypes={},k.filterProps=["borderRadius"];o(c,d,u,p,f,g,m,y,x,v,k,b,S);const w=t=>{if(void 0!==t.gap&&null!==t.gap){const e=(0,s.MA)(t.theme,"spacing",8,"gap"),i=t=>({gap:(0,s._W)(e,t)});return(0,a.NI)(t,t.gap,i)}return null};w.propTypes={},w.filterProps=["gap"];const C=t=>{if(void 0!==t.columnGap&&null!==t.columnGap){const e=(0,s.MA)(t.theme,"spacing",8,"columnGap"),i=t=>({columnGap:(0,s._W)(e,t)});return(0,a.NI)(t,t.columnGap,i)}return null};C.propTypes={},C.filterProps=["columnGap"];const A=t=>{if(void 0!==t.rowGap&&null!==t.rowGap){const e=(0,s.MA)(t.theme,"spacing",8,"rowGap"),i=t=>({rowGap:(0,s._W)(e,t)});return(0,a.NI)(t,t.rowGap,i)}return null};A.propTypes={},A.filterProps=["rowGap"];o(w,C,A,(0,n.Ay)({prop:"gridColumn"}),(0,n.Ay)({prop:"gridRow"}),(0,n.Ay)({prop:"gridAutoFlow"}),(0,n.Ay)({prop:"gridAutoColumns"}),(0,n.Ay)({prop:"gridAutoRows"}),(0,n.Ay)({prop:"gridTemplateColumns"}),(0,n.Ay)({prop:"gridTemplateRows"}),(0,n.Ay)({prop:"gridTemplateAreas"}),(0,n.Ay)({prop:"gridArea"}));function M(t,e){return"grey"===e?e:t}o((0,n.Ay)({prop:"color",themeKey:"palette",transform:M}),(0,n.Ay)({prop:"bgcolor",cssProperty:"backgroundColor",themeKey:"palette",transform:M}),(0,n.Ay)({prop:"backgroundColor",themeKey:"palette",transform:M}));function T(t){return t<=1&&0!==t?"".concat(100*t,"%"):t}const P=(0,n.Ay)({prop:"width",transform:T}),E=t=>{if(void 0!==t.maxWidth&&null!==t.maxWidth){const e=e=>{var i,s;const n=(null==(i=t.theme)||null==(i=i.breakpoints)||null==(i=i.values)?void 0:i[e])||a.zu[e];return n?"px"!==(null==(s=t.theme)||null==(s=s.breakpoints)?void 0:s.unit)?{maxWidth:"".concat(n).concat(t.theme.breakpoints.unit)}:{maxWidth:n}:{maxWidth:T(e)}};return(0,a.NI)(t,t.maxWidth,e)}return null};E.filterProps=["maxWidth"];const O=(0,n.Ay)({prop:"minWidth",transform:T}),L=(0,n.Ay)({prop:"height",transform:T}),D=(0,n.Ay)({prop:"maxHeight",transform:T}),j=(0,n.Ay)({prop:"minHeight",transform:T}),N=((0,n.Ay)({prop:"size",cssProperty:"width",transform:T}),(0,n.Ay)({prop:"size",cssProperty:"height",transform:T}),o(P,E,O,L,D,j,(0,n.Ay)({prop:"boxSizing"})),{border:{themeKey:"borders",transform:l},borderTop:{themeKey:"borders",transform:l},borderRight:{themeKey:"borders",transform:l},borderBottom:{themeKey:"borders",transform:l},borderLeft:{themeKey:"borders",transform:l},borderColor:{themeKey:"palette"},borderTopColor:{themeKey:"palette"},borderRightColor:{themeKey:"palette"},borderBottomColor:{themeKey:"palette"},borderLeftColor:{themeKey:"palette"},outline:{themeKey:"borders",transform:l},outlineColor:{themeKey:"palette"},borderRadius:{themeKey:"shape.borderRadius",style:k},color:{themeKey:"palette",transform:M},bgcolor:{themeKey:"palette",cssProperty:"backgroundColor",transform:M},backgroundColor:{themeKey:"palette",transform:M},p:{style:s.Ms},pt:{style:s.Ms},pr:{style:s.Ms},pb:{style:s.Ms},pl:{style:s.Ms},px:{style:s.Ms},py:{style:s.Ms},padding:{style:s.Ms},paddingTop:{style:s.Ms},paddingRight:{style:s.Ms},paddingBottom:{style:s.Ms},paddingLeft:{style:s.Ms},paddingX:{style:s.Ms},paddingY:{style:s.Ms},paddingInline:{style:s.Ms},paddingInlineStart:{style:s.Ms},paddingInlineEnd:{style:s.Ms},paddingBlock:{style:s.Ms},paddingBlockStart:{style:s.Ms},paddingBlockEnd:{style:s.Ms},m:{style:s.Lc},mt:{style:s.Lc},mr:{style:s.Lc},mb:{style:s.Lc},ml:{style:s.Lc},mx:{style:s.Lc},my:{style:s.Lc},margin:{style:s.Lc},marginTop:{style:s.Lc},marginRight:{style:s.Lc},marginBottom:{style:s.Lc},marginLeft:{style:s.Lc},marginX:{style:s.Lc},marginY:{style:s.Lc},marginInline:{style:s.Lc},marginInlineStart:{style:s.Lc},marginInlineEnd:{style:s.Lc},marginBlock:{style:s.Lc},marginBlockStart:{style:s.Lc},marginBlockEnd:{style:s.Lc},displayPrint:{cssProperty:!1,transform:t=>({"@media print":{display:t}})},display:{},overflow:{},textOverflow:{},visibility:{},whiteSpace:{},flexBasis:{},flexDirection:{},flexWrap:{},justifyContent:{},alignItems:{},alignContent:{},order:{},flex:{},flexGrow:{},flexShrink:{},alignSelf:{},justifyItems:{},justifySelf:{},gap:{style:w},rowGap:{style:A},columnGap:{style:C},gridColumn:{},gridRow:{},gridAutoFlow:{},gridAutoColumns:{},gridAutoRows:{},gridTemplateColumns:{},gridTemplateRows:{},gridTemplateAreas:{},gridArea:{},position:{},zIndex:{themeKey:"zIndex"},top:{},right:{},bottom:{},left:{},boxShadow:{themeKey:"shadows"},width:{transform:T},maxWidth:{style:E},minWidth:{transform:T},height:{transform:T},maxHeight:{transform:T},minHeight:{transform:T},boxSizing:{},fontFamily:{themeKey:"typography"},fontSize:{themeKey:"typography"},fontStyle:{themeKey:"typography"},fontWeight:{themeKey:"typography"},letterSpacing:{},textTransform:{},lineHeight:{},textAlign:{},typography:{cssProperty:!1,themeKey:"typography"}})},8698:(t,e,i)=>{"use strict";i.d(e,{A:()=>h});var s=i(8168),n=i(8587),r=i(3216),o=i(7758);const a=["sx"],l=t=>{var e,i;const s={systemProps:{},otherProps:{}},n=null!=(e=null==t||null==(i=t.theme)?void 0:i.unstable_sxConfig)?e:o.A;return Object.keys(t).forEach((e=>{n[e]?s.systemProps[e]=t[e]:s.otherProps[e]=t[e]})),s};function h(t){const{sx:e}=t,i=(0,n.A)(t,a),{systemProps:o,otherProps:h}=l(i);let c;return c=Array.isArray(e)?[o,...e]:"function"===typeof e?function(){const t=e(...arguments);return(0,r.Q)(t)?(0,s.A)({},o,t):o}:(0,s.A)({},o,e),(0,s.A)({},h,{sx:c})}},3234:(t,e,i)=>{"use strict";i.r(e),i.d(e,{default:()=>s.A,extendSxProp:()=>n.A,unstable_createStyleFunctionSx:()=>s.k,unstable_defaultSxConfig:()=>r.A});var s=i(8812),n=i(8698),r=i(7758)},8812:(t,e,i)=>{"use strict";i.d(e,{A:()=>c,k:()=>l});var s=i(410),n=i(3815),r=i(7162),o=i(9751),a=i(7758);function l(){function t(t,e,i,n){const a={[t]:e,theme:i},l=n[t];if(!l)return{[t]:e};const{cssProperty:h=t,themeKey:c,transform:d,style:u}=l;if(null==e)return null;if("typography"===c&&"inherit"===e)return{[t]:e};const p=(0,r.Yn)(i,c)||{};if(u)return u(a);return(0,o.NI)(a,e,(e=>{let i=(0,r.BO)(p,d,e);return e===i&&"string"===typeof e&&(i=(0,r.BO)(p,d,"".concat(t).concat("default"===e?"":(0,s.A)(e)),e)),!1===h?i:{[h]:i}}))}return function e(i){var s;const{sx:r,theme:l={}}=i||{};if(!r)return null;const h=null!=(s=l.unstable_sxConfig)?s:a.A;function c(i){let s=i;if("function"===typeof i)s=i(l);else if("object"!==typeof i)return i;if(!s)return null;const r=(0,o.EU)(l.breakpoints),a=Object.keys(r);let c=r;return Object.keys(s).forEach((i=>{const r=(a=s[i],d=l,"function"===typeof a?a(d):a);var a,d;if(null!==r&&void 0!==r)if("object"===typeof r)if(h[i])c=(0,n.A)(c,t(i,r,l,h));else{const t=(0,o.NI)({theme:l},r,(t=>({[i]:t})));!function(){for(var t=arguments.length,e=new Array(t),i=0;it.concat(Object.keys(e))),[]),n=new Set(s);return e.every((t=>n.size===Object.keys(t).length))}(t,r)?c=(0,n.A)(c,t):c[i]=e({sx:r,theme:l})}else c=(0,n.A)(c,t(i,r,l,h))})),(0,o.vf)(a,c)}return Array.isArray(r)?r.map(c):c(r)}}const h=l();h.filterProps=["sx"];const c=h},8653:(t,e,i)=>{"use strict";i.d(e,{A:()=>l});var s=i(8280),n=i(5043),r=i(5756);const o=function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;const e=n.useContext(r.T);return e&&(i=e,0!==Object.keys(i).length)?e:t;var i},a=(0,s.A)();const l=function(){return o(arguments.length>0&&void 0!==arguments[0]?arguments[0]:a)}},5430:(t,e,i)=>{"use strict";i.d(e,{A:()=>n});const s=t=>t,n=(()=>{let t=s;return{configure(e){t=e},generate:e=>t(e),reset(){t=s}}})()},410:(t,e,i)=>{"use strict";i.d(e,{A:()=>n});var s=i(6632);function n(t){if("string"!==typeof t)throw new Error((0,s.A)(7));return t.charAt(0).toUpperCase()+t.slice(1)}},578:(t,e,i)=>{"use strict";i.r(e),i.d(e,{default:()=>s.A});var s=i(410)},1098:(t,e,i)=>{"use strict";i.r(e),i.d(e,{default:()=>s});const s=function(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Number.MIN_SAFE_INTEGER,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:Number.MAX_SAFE_INTEGER;return Math.max(e,Math.min(t,i))}},8606:(t,e,i)=>{"use strict";function s(t,e){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0;const s={};return Object.keys(t).forEach((n=>{s[n]=t[n].reduce(((t,s)=>{if(s){const n=e(s);""!==n&&t.push(n),i&&i[s]&&t.push(i[s])}return t}),[]).join(" ")})),s}i.d(e,{A:()=>s})},3216:(t,e,i)=>{"use strict";i.d(e,{A:()=>o,Q:()=>n});var s=i(8168);function n(t){if("object"!==typeof t||null===t)return!1;const e=Object.getPrototypeOf(t);return(null===e||e===Object.prototype||null===Object.getPrototypeOf(e))&&!(Symbol.toStringTag in t)&&!(Symbol.iterator in t)}function r(t){if(!n(t))return t;const e={};return Object.keys(t).forEach((i=>{e[i]=r(t[i])})),e}function o(t,e){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{clone:!0};const a=i.clone?(0,s.A)({},t):t;return n(t)&&n(e)&&Object.keys(e).forEach((s=>{"__proto__"!==s&&(n(e[s])&&s in t&&n(t[s])?a[s]=o(t[s],e[s],i):i.clone?a[s]=n(e[s])?r(e[s]):e[s]:a[s]=e[s])})),a}},4534:(t,e,i)=>{"use strict";i.r(e),i.d(e,{default:()=>s.A,isPlainObject:()=>s.Q});var s=i(3216)},6632:(t,e,i)=>{"use strict";function s(t){let e="https://mui.com/production-error/?code="+t;for(let i=1;is})},7245:(t,e,i)=>{"use strict";i.r(e),i.d(e,{default:()=>s.A});var s=i(6632)},2400:(t,e,i)=>{"use strict";i.d(e,{Ay:()=>r});var s=i(5430);const n={active:"active",checked:"checked",completed:"completed",disabled:"disabled",error:"error",expanded:"expanded",focused:"focused",focusVisible:"focusVisible",open:"open",readOnly:"readOnly",required:"required",selected:"selected"};function r(t,e){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"Mui";const r=n[e];return r?"".concat(i,"-").concat(r):"".concat(s.A.generate(t),"-").concat(e)}},7056:(t,e,i)=>{"use strict";i.d(e,{A:()=>n});var s=i(2400);function n(t,e){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"Mui";const n={};return e.forEach((e=>{n[e]=(0,s.Ay)(t,e,i)})),n}},2046:(t,e,i)=>{"use strict";i.r(e),i.d(e,{default:()=>l,getFunctionName:()=>r});var s=i(9565);const n=/^\s*function(?:\s|\s*\/\*.*\*\/\s*)+([^(\s/]*)\s*/;function r(t){const e="".concat(t).match(n);return e&&e[1]||""}function o(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";return t.displayName||t.name||r(t)||e}function a(t,e,i){const s=o(e);return t.displayName||(""!==s?"".concat(i,"(").concat(s,")"):i)}function l(t){if(null!=t){if("string"===typeof t)return t;if("function"===typeof t)return o(t,"Component");if("object"===typeof t)switch(t.$$typeof){case s.ForwardRef:return a(t,t.render,"ForwardRef");case s.Memo:return a(t,t.type,"memo");default:return}}}},8609:(t,e)=>{"use strict";var i,s=Symbol.for("react.element"),n=Symbol.for("react.portal"),r=Symbol.for("react.fragment"),o=Symbol.for("react.strict_mode"),a=Symbol.for("react.profiler"),l=Symbol.for("react.provider"),h=Symbol.for("react.context"),c=Symbol.for("react.server_context"),d=Symbol.for("react.forward_ref"),u=Symbol.for("react.suspense"),p=Symbol.for("react.suspense_list"),f=Symbol.for("react.memo"),g=Symbol.for("react.lazy"),m=Symbol.for("react.offscreen");function y(t){if("object"===typeof t&&null!==t){var e=t.$$typeof;switch(e){case s:switch(t=t.type){case r:case a:case o:case u:case p:return t;default:switch(t=t&&t.$$typeof){case c:case h:case d:case g:case f:case l:return t;default:return e}}case n:return e}}}i=Symbol.for("react.module.reference"),e.ForwardRef=d,e.Memo=f},9565:(t,e,i)=>{"use strict";t.exports=i(8609)},2144:(t,e,i)=>{"use strict";function s(t){return t&&t.ownerDocument||document}i.d(e,{A:()=>s})},9184:(t,e,i)=>{"use strict";function s(t,e){"function"===typeof t?t(e):t&&(t.current=e)}i.d(e,{A:()=>s})},3844:(t,e,i)=>{"use strict";i.d(e,{A:()=>n});var s=i(5043);const n="undefined"!==typeof window?s.useLayoutEffect:s.useEffect},7042:(t,e,i)=>{"use strict";i.d(e,{A:()=>r});var s=i(5043),n=i(9184);function r(){for(var t=arguments.length,e=new Array(t),i=0;ie.every((t=>null==t))?null:t=>{e.forEach((e=>{(0,n.A)(e,t)}))}),e)}},1140:(t,e,i)=>{"use strict";i.d(e,{E:()=>o,A:()=>a});var s=i(5043);const n={};const r=[];class o{constructor(){this.currentId=null,this.clear=()=>{null!==this.currentId&&(clearTimeout(this.currentId),this.currentId=null)},this.disposeEffect=()=>this.clear}static create(){return new o}start(t,e){this.clear(),this.currentId=setTimeout((()=>{this.currentId=null,e()}),t)}}function a(){const t=function(t,e){const i=s.useRef(n);return i.current===n&&(i.current=t(e)),i}(o.create).current;var e;return e=t.disposeEffect,s.useEffect(e,r),t}},8885:function(t){t.exports=function(){"use strict";const t=new Map,e={set(e,i,s){t.has(e)||t.set(e,new Map);const n=t.get(e);n.has(i)||0===n.size?n.set(i,s):console.error("Bootstrap doesn't allow more than one instance per element. Bound instance: ".concat(Array.from(n.keys())[0],"."))},get:(e,i)=>t.has(e)&&t.get(e).get(i)||null,remove(e,i){if(!t.has(e))return;const s=t.get(e);s.delete(i),0===s.size&&t.delete(e)}},i="transitionend",s=t=>(t&&window.CSS&&window.CSS.escape&&(t=t.replace(/#([^\s"#']+)/g,((t,e)=>"#".concat(CSS.escape(e))))),t),n=t=>{t.dispatchEvent(new Event(i))},r=t=>!(!t||"object"!=typeof t)&&(void 0!==t.jquery&&(t=t[0]),void 0!==t.nodeType),o=t=>r(t)?t.jquery?t[0]:t:"string"==typeof t&&t.length>0?document.querySelector(s(t)):null,a=t=>{if(!r(t)||0===t.getClientRects().length)return!1;const e="visible"===getComputedStyle(t).getPropertyValue("visibility"),i=t.closest("details:not([open])");if(!i)return e;if(i!==t){const e=t.closest("summary");if(e&&e.parentNode!==i)return!1;if(null===e)return!1}return e},l=t=>!t||t.nodeType!==Node.ELEMENT_NODE||!!t.classList.contains("disabled")||(void 0!==t.disabled?t.disabled:t.hasAttribute("disabled")&&"false"!==t.getAttribute("disabled")),h=t=>{if(!document.documentElement.attachShadow)return null;if("function"==typeof t.getRootNode){const e=t.getRootNode();return e instanceof ShadowRoot?e:null}return t instanceof ShadowRoot?t:t.parentNode?h(t.parentNode):null},c=()=>{},d=t=>{t.offsetHeight},u=()=>window.jQuery&&!document.body.hasAttribute("data-bs-no-jquery")?window.jQuery:null,p=[],f=()=>"rtl"===document.documentElement.dir,g=t=>{var e;e=()=>{const e=u();if(e){const i=t.NAME,s=e.fn[i];e.fn[i]=t.jQueryInterface,e.fn[i].Constructor=t,e.fn[i].noConflict=()=>(e.fn[i]=s,t.jQueryInterface)}},"loading"===document.readyState?(p.length||document.addEventListener("DOMContentLoaded",(()=>{for(const t of p)t()})),p.push(e)):e()},m=function(t){let e=arguments.length>2&&void 0!==arguments[2]?arguments[2]:t;return"function"==typeof t?t(...arguments.length>1&&void 0!==arguments[1]?arguments[1]:[]):e},y=function(t,e){if(arguments.length>2&&void 0!==arguments[2]&&!arguments[2])return void m(t);const s=(t=>{if(!t)return 0;let{transitionDuration:e,transitionDelay:i}=window.getComputedStyle(t);const s=Number.parseFloat(e),n=Number.parseFloat(i);return s||n?(e=e.split(",")[0],i=i.split(",")[0],1e3*(Number.parseFloat(e)+Number.parseFloat(i))):0})(e)+5;let r=!1;const o=s=>{let{target:n}=s;n===e&&(r=!0,e.removeEventListener(i,o),m(t))};e.addEventListener(i,o),setTimeout((()=>{r||n(e)}),s)},x=(t,e,i,s)=>{const n=t.length;let r=t.indexOf(e);return-1===r?!i&&s?t[n-1]:t[0]:(r+=i?1:-1,s&&(r=(r+n)%n),t[Math.max(0,Math.min(r,n-1))])},v=/[^.]*(?=\..*)\.|.*/,b=/\..*/,S=/::\d+$/,k={};let w=1;const C={mouseenter:"mouseover",mouseleave:"mouseout"},A=new Set(["click","dblclick","mouseup","mousedown","contextmenu","mousewheel","DOMMouseScroll","mouseover","mouseout","mousemove","selectstart","selectend","keydown","keypress","keyup","orientationchange","touchstart","touchmove","touchend","touchcancel","pointerdown","pointermove","pointerup","pointerleave","pointercancel","gesturestart","gesturechange","gestureend","focus","blur","change","reset","select","submit","focusin","focusout","load","unload","beforeunload","resize","move","DOMContentLoaded","readystatechange","error","abort","scroll"]);function M(t,e){return e&&"".concat(e,"::").concat(w++)||t.uidEvent||w++}function T(t){const e=M(t);return t.uidEvent=e,k[e]=k[e]||{},k[e]}function P(t,e){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;return Object.values(t).find((t=>t.callable===e&&t.delegationSelector===i))}function E(t,e,i){const s="string"==typeof e,n=s?i:e||i;let r=j(t);return A.has(r)||(r=t),[s,n,r]}function O(t,e,i,s,n){if("string"!=typeof e||!t)return;let[r,o,a]=E(e,i,s);if(e in C){const t=t=>function(e){if(!e.relatedTarget||e.relatedTarget!==e.delegateTarget&&!e.delegateTarget.contains(e.relatedTarget))return t.call(this,e)};o=t(o)}const l=T(t),h=l[a]||(l[a]={}),c=P(h,o,r?i:null);if(c)return void(c.oneOff=c.oneOff&&n);const d=M(o,e.replace(v,"")),u=r?function(t,e,i){return function s(n){const r=t.querySelectorAll(e);for(let{target:o}=n;o&&o!==this;o=o.parentNode)for(const a of r)if(a===o)return R(n,{delegateTarget:o}),s.oneOff&&N.off(t,n.type,e,i),i.apply(o,[n])}}(t,i,o):function(t,e){return function i(s){return R(s,{delegateTarget:t}),i.oneOff&&N.off(t,s.type,e),e.apply(t,[s])}}(t,o);u.delegationSelector=r?i:null,u.callable=o,u.oneOff=n,u.uidEvent=d,h[d]=u,t.addEventListener(a,u,r)}function L(t,e,i,s,n){const r=P(e[i],s,n);r&&(t.removeEventListener(i,r,Boolean(n)),delete e[i][r.uidEvent])}function D(t,e,i,s){const n=e[i]||{};for(const[r,o]of Object.entries(n))r.includes(s)&&L(t,e,i,o.callable,o.delegationSelector)}function j(t){return t=t.replace(b,""),C[t]||t}const N={on(t,e,i,s){O(t,e,i,s,!1)},one(t,e,i,s){O(t,e,i,s,!0)},off(t,e,i,s){if("string"!=typeof e||!t)return;const[n,r,o]=E(e,i,s),a=o!==e,l=T(t),h=l[o]||{},c=e.startsWith(".");if(void 0===r){if(c)for(const i of Object.keys(l))D(t,l,i,e.slice(1));for(const[i,s]of Object.entries(h)){const n=i.replace(S,"");a&&!e.includes(n)||L(t,l,o,s.callable,s.delegationSelector)}}else{if(!Object.keys(h).length)return;L(t,l,o,r,n?i:null)}},trigger(t,e,i){if("string"!=typeof e||!t)return null;const s=u();let n=null,r=!0,o=!0,a=!1;e!==j(e)&&s&&(n=s.Event(e,i),s(t).trigger(n),r=!n.isPropagationStopped(),o=!n.isImmediatePropagationStopped(),a=n.isDefaultPrevented());const l=R(new Event(e,{bubbles:r,cancelable:!0}),i);return a&&l.preventDefault(),o&&t.dispatchEvent(l),l.defaultPrevented&&n&&n.preventDefault(),l}};function R(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};for(const[i,s]of Object.entries(e))try{t[i]=s}catch(e){Object.defineProperty(t,i,{configurable:!0,get:()=>s})}return t}function I(t){if("true"===t)return!0;if("false"===t)return!1;if(t===Number(t).toString())return Number(t);if(""===t||"null"===t)return null;if("string"!=typeof t)return t;try{return JSON.parse(decodeURIComponent(t))}catch(e){return t}}function B(t){return t.replace(/[A-Z]/g,(t=>"-".concat(t.toLowerCase())))}const _={setDataAttribute(t,e,i){t.setAttribute("data-bs-".concat(B(e)),i)},removeDataAttribute(t,e){t.removeAttribute("data-bs-".concat(B(e)))},getDataAttributes(t){if(!t)return{};const e={},i=Object.keys(t.dataset).filter((t=>t.startsWith("bs")&&!t.startsWith("bsConfig")));for(const s of i){let i=s.replace(/^bs/,"");i=i.charAt(0).toLowerCase()+i.slice(1,i.length),e[i]=I(t.dataset[s])}return e},getDataAttribute:(t,e)=>I(t.getAttribute("data-bs-".concat(B(e))))};class z{static get Default(){return{}}static get DefaultType(){return{}}static get NAME(){throw new Error('You have to implement the static method "NAME", for each component!')}_getConfig(t){return t=this._mergeConfigObj(t),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}_configAfterMerge(t){return t}_mergeConfigObj(t,e){const i=r(e)?_.getDataAttribute(e,"config"):{};return{...this.constructor.Default,..."object"==typeof i?i:{},...r(e)?_.getDataAttributes(e):{},..."object"==typeof t?t:{}}}_typeCheckConfig(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.constructor.DefaultType;for(const[s,n]of Object.entries(e)){const e=t[s],o=r(e)?"element":null==(i=e)?"".concat(i):Object.prototype.toString.call(i).match(/\s([a-z]+)/i)[1].toLowerCase();if(!new RegExp(n).test(o))throw new TypeError("".concat(this.constructor.NAME.toUpperCase(),': Option "').concat(s,'" provided type "').concat(o,'" but expected type "').concat(n,'".'))}var i}}class W extends z{constructor(t,i){super(),(t=o(t))&&(this._element=t,this._config=this._getConfig(i),e.set(this._element,this.constructor.DATA_KEY,this))}dispose(){e.remove(this._element,this.constructor.DATA_KEY),N.off(this._element,this.constructor.EVENT_KEY);for(const t of Object.getOwnPropertyNames(this))this[t]=null}_queueCallback(t,e){y(t,e,!(arguments.length>2&&void 0!==arguments[2])||arguments[2])}_getConfig(t){return t=this._mergeConfigObj(t,this._element),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}static getInstance(t){return e.get(o(t),this.DATA_KEY)}static getOrCreateInstance(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.getInstance(t)||new this(t,"object"==typeof e?e:null)}static get VERSION(){return"5.3.3"}static get DATA_KEY(){return"bs.".concat(this.NAME)}static get EVENT_KEY(){return".".concat(this.DATA_KEY)}static eventName(t){return"".concat(t).concat(this.EVENT_KEY)}}const F=t=>{let e=t.getAttribute("data-bs-target");if(!e||"#"===e){let i=t.getAttribute("href");if(!i||!i.includes("#")&&!i.startsWith("."))return null;i.includes("#")&&!i.startsWith("#")&&(i="#".concat(i.split("#")[1])),e=i&&"#"!==i?i.trim():null}return e?e.split(",").map((t=>s(t))).join(","):null},G={find:function(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:document.documentElement;return[].concat(...Element.prototype.querySelectorAll.call(e,t))},findOne:function(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:document.documentElement;return Element.prototype.querySelector.call(e,t)},children:(t,e)=>[].concat(...t.children).filter((t=>t.matches(e))),parents(t,e){const i=[];let s=t.parentNode.closest(e);for(;s;)i.push(s),s=s.parentNode.closest(e);return i},prev(t,e){let i=t.previousElementSibling;for(;i;){if(i.matches(e))return[i];i=i.previousElementSibling}return[]},next(t,e){let i=t.nextElementSibling;for(;i;){if(i.matches(e))return[i];i=i.nextElementSibling}return[]},focusableChildren(t){const e=["a","button","input","textarea","select","details","[tabindex]",'[contenteditable="true"]'].map((t=>"".concat(t,':not([tabindex^="-"])'))).join(",");return this.find(e,t).filter((t=>!l(t)&&a(t)))},getSelectorFromElement(t){const e=F(t);return e&&G.findOne(e)?e:null},getElementFromSelector(t){const e=F(t);return e?G.findOne(e):null},getMultipleElementsFromSelector(t){const e=F(t);return e?G.find(e):[]}},X=function(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"hide";const i="click.dismiss".concat(t.EVENT_KEY),s=t.NAME;N.on(document,i,'[data-bs-dismiss="'.concat(s,'"]'),(function(i){if(["A","AREA"].includes(this.tagName)&&i.preventDefault(),l(this))return;const n=G.getElementFromSelector(this)||this.closest(".".concat(s));t.getOrCreateInstance(n)[e]()}))},H=".bs.alert",U="close".concat(H),Y="closed".concat(H);class V extends W{static get NAME(){return"alert"}close(){if(N.trigger(this._element,U).defaultPrevented)return;this._element.classList.remove("show");const t=this._element.classList.contains("fade");this._queueCallback((()=>this._destroyElement()),this._element,t)}_destroyElement(){this._element.remove(),N.trigger(this._element,Y),this.dispose()}static jQueryInterface(t){return this.each((function(){const e=V.getOrCreateInstance(this);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError('No method named "'.concat(t,'"'));e[t](this)}}))}}X(V,"close"),g(V);const q='[data-bs-toggle="button"]';class K extends W{static get NAME(){return"button"}toggle(){this._element.setAttribute("aria-pressed",this._element.classList.toggle("active"))}static jQueryInterface(t){return this.each((function(){const e=K.getOrCreateInstance(this);"toggle"===t&&e[t]()}))}}N.on(document,"click.bs.button.data-api",q,(t=>{t.preventDefault();const e=t.target.closest(q);K.getOrCreateInstance(e).toggle()})),g(K);const $=".bs.swipe",Z="touchstart".concat($),Q="touchmove".concat($),J="touchend".concat($),tt="pointerdown".concat($),et="pointerup".concat($),it={endCallback:null,leftCallback:null,rightCallback:null},st={endCallback:"(function|null)",leftCallback:"(function|null)",rightCallback:"(function|null)"};class nt extends z{constructor(t,e){super(),this._element=t,t&&nt.isSupported()&&(this._config=this._getConfig(e),this._deltaX=0,this._supportPointerEvents=Boolean(window.PointerEvent),this._initEvents())}static get Default(){return it}static get DefaultType(){return st}static get NAME(){return"swipe"}dispose(){N.off(this._element,$)}_start(t){this._supportPointerEvents?this._eventIsPointerPenTouch(t)&&(this._deltaX=t.clientX):this._deltaX=t.touches[0].clientX}_end(t){this._eventIsPointerPenTouch(t)&&(this._deltaX=t.clientX-this._deltaX),this._handleSwipe(),m(this._config.endCallback)}_move(t){this._deltaX=t.touches&&t.touches.length>1?0:t.touches[0].clientX-this._deltaX}_handleSwipe(){const t=Math.abs(this._deltaX);if(t<=40)return;const e=t/this._deltaX;this._deltaX=0,e&&m(e>0?this._config.rightCallback:this._config.leftCallback)}_initEvents(){this._supportPointerEvents?(N.on(this._element,tt,(t=>this._start(t))),N.on(this._element,et,(t=>this._end(t))),this._element.classList.add("pointer-event")):(N.on(this._element,Z,(t=>this._start(t))),N.on(this._element,Q,(t=>this._move(t))),N.on(this._element,J,(t=>this._end(t))))}_eventIsPointerPenTouch(t){return this._supportPointerEvents&&("pen"===t.pointerType||"touch"===t.pointerType)}static isSupported(){return"ontouchstart"in document.documentElement||navigator.maxTouchPoints>0}}const rt=".bs.carousel",ot=".data-api",at="next",lt="prev",ht="left",ct="right",dt="slide".concat(rt),ut="slid".concat(rt),pt="keydown".concat(rt),ft="mouseenter".concat(rt),gt="mouseleave".concat(rt),mt="dragstart".concat(rt),yt="load".concat(rt).concat(ot),xt="click".concat(rt).concat(ot),vt="carousel",bt="active",St=".active",kt=".carousel-item",wt=St+kt,Ct={ArrowLeft:ct,ArrowRight:ht},At={interval:5e3,keyboard:!0,pause:"hover",ride:!1,touch:!0,wrap:!0},Mt={interval:"(number|boolean)",keyboard:"boolean",pause:"(string|boolean)",ride:"(boolean|string)",touch:"boolean",wrap:"boolean"};class Tt extends W{constructor(t,e){super(t,e),this._interval=null,this._activeElement=null,this._isSliding=!1,this.touchTimeout=null,this._swipeHelper=null,this._indicatorsElement=G.findOne(".carousel-indicators",this._element),this._addEventListeners(),this._config.ride===vt&&this.cycle()}static get Default(){return At}static get DefaultType(){return Mt}static get NAME(){return"carousel"}next(){this._slide(at)}nextWhenVisible(){!document.hidden&&a(this._element)&&this.next()}prev(){this._slide(lt)}pause(){this._isSliding&&n(this._element),this._clearInterval()}cycle(){this._clearInterval(),this._updateInterval(),this._interval=setInterval((()=>this.nextWhenVisible()),this._config.interval)}_maybeEnableCycle(){this._config.ride&&(this._isSliding?N.one(this._element,ut,(()=>this.cycle())):this.cycle())}to(t){const e=this._getItems();if(t>e.length-1||t<0)return;if(this._isSliding)return void N.one(this._element,ut,(()=>this.to(t)));const i=this._getItemIndex(this._getActive());if(i===t)return;const s=t>i?at:lt;this._slide(s,e[t])}dispose(){this._swipeHelper&&this._swipeHelper.dispose(),super.dispose()}_configAfterMerge(t){return t.defaultInterval=t.interval,t}_addEventListeners(){this._config.keyboard&&N.on(this._element,pt,(t=>this._keydown(t))),"hover"===this._config.pause&&(N.on(this._element,ft,(()=>this.pause())),N.on(this._element,gt,(()=>this._maybeEnableCycle()))),this._config.touch&&nt.isSupported()&&this._addTouchEventListeners()}_addTouchEventListeners(){for(const e of G.find(".carousel-item img",this._element))N.on(e,mt,(t=>t.preventDefault()));const t={leftCallback:()=>this._slide(this._directionToOrder(ht)),rightCallback:()=>this._slide(this._directionToOrder(ct)),endCallback:()=>{"hover"===this._config.pause&&(this.pause(),this.touchTimeout&&clearTimeout(this.touchTimeout),this.touchTimeout=setTimeout((()=>this._maybeEnableCycle()),500+this._config.interval))}};this._swipeHelper=new nt(this._element,t)}_keydown(t){if(/input|textarea/i.test(t.target.tagName))return;const e=Ct[t.key];e&&(t.preventDefault(),this._slide(this._directionToOrder(e)))}_getItemIndex(t){return this._getItems().indexOf(t)}_setActiveIndicatorElement(t){if(!this._indicatorsElement)return;const e=G.findOne(St,this._indicatorsElement);e.classList.remove(bt),e.removeAttribute("aria-current");const i=G.findOne('[data-bs-slide-to="'.concat(t,'"]'),this._indicatorsElement);i&&(i.classList.add(bt),i.setAttribute("aria-current","true"))}_updateInterval(){const t=this._activeElement||this._getActive();if(!t)return;const e=Number.parseInt(t.getAttribute("data-bs-interval"),10);this._config.interval=e||this._config.defaultInterval}_slide(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;if(this._isSliding)return;const i=this._getActive(),s=t===at,n=e||x(this._getItems(),i,s,this._config.wrap);if(n===i)return;const r=this._getItemIndex(n),o=e=>N.trigger(this._element,e,{relatedTarget:n,direction:this._orderToDirection(t),from:this._getItemIndex(i),to:r});if(o(dt).defaultPrevented)return;if(!i||!n)return;const a=Boolean(this._interval);this.pause(),this._isSliding=!0,this._setActiveIndicatorElement(r),this._activeElement=n;const l=s?"carousel-item-start":"carousel-item-end",h=s?"carousel-item-next":"carousel-item-prev";n.classList.add(h),d(n),i.classList.add(l),n.classList.add(l),this._queueCallback((()=>{n.classList.remove(l,h),n.classList.add(bt),i.classList.remove(bt,h,l),this._isSliding=!1,o(ut)}),i,this._isAnimated()),a&&this.cycle()}_isAnimated(){return this._element.classList.contains("slide")}_getActive(){return G.findOne(wt,this._element)}_getItems(){return G.find(kt,this._element)}_clearInterval(){this._interval&&(clearInterval(this._interval),this._interval=null)}_directionToOrder(t){return f()?t===ht?lt:at:t===ht?at:lt}_orderToDirection(t){return f()?t===lt?ht:ct:t===lt?ct:ht}static jQueryInterface(t){return this.each((function(){const e=Tt.getOrCreateInstance(this,t);if("number"!=typeof t){if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError('No method named "'.concat(t,'"'));e[t]()}}else e.to(t)}))}}N.on(document,xt,"[data-bs-slide], [data-bs-slide-to]",(function(t){const e=G.getElementFromSelector(this);if(!e||!e.classList.contains(vt))return;t.preventDefault();const i=Tt.getOrCreateInstance(e),s=this.getAttribute("data-bs-slide-to");return s?(i.to(s),void i._maybeEnableCycle()):"next"===_.getDataAttribute(this,"slide")?(i.next(),void i._maybeEnableCycle()):(i.prev(),void i._maybeEnableCycle())})),N.on(window,yt,(()=>{const t=G.find('[data-bs-ride="carousel"]');for(const e of t)Tt.getOrCreateInstance(e)})),g(Tt);const Pt=".bs.collapse",Et="show".concat(Pt),Ot="shown".concat(Pt),Lt="hide".concat(Pt),Dt="hidden".concat(Pt),jt="click".concat(Pt,".data-api"),Nt="show",Rt="collapse",It="collapsing",Bt=":scope .".concat(Rt," .").concat(Rt),_t='[data-bs-toggle="collapse"]',zt={parent:null,toggle:!0},Wt={parent:"(null|element)",toggle:"boolean"};class Ft extends W{constructor(t,e){super(t,e),this._isTransitioning=!1,this._triggerArray=[];const i=G.find(_t);for(const s of i){const t=G.getSelectorFromElement(s),e=G.find(t).filter((t=>t===this._element));null!==t&&e.length&&this._triggerArray.push(s)}this._initializeChildren(),this._config.parent||this._addAriaAndCollapsedClass(this._triggerArray,this._isShown()),this._config.toggle&&this.toggle()}static get Default(){return zt}static get DefaultType(){return Wt}static get NAME(){return"collapse"}toggle(){this._isShown()?this.hide():this.show()}show(){if(this._isTransitioning||this._isShown())return;let t=[];if(this._config.parent&&(t=this._getFirstLevelChildren(".collapse.show, .collapse.collapsing").filter((t=>t!==this._element)).map((t=>Ft.getOrCreateInstance(t,{toggle:!1})))),t.length&&t[0]._isTransitioning)return;if(N.trigger(this._element,Et).defaultPrevented)return;for(const s of t)s.hide();const e=this._getDimension();this._element.classList.remove(Rt),this._element.classList.add(It),this._element.style[e]=0,this._addAriaAndCollapsedClass(this._triggerArray,!0),this._isTransitioning=!0;const i="scroll".concat(e[0].toUpperCase()+e.slice(1));this._queueCallback((()=>{this._isTransitioning=!1,this._element.classList.remove(It),this._element.classList.add(Rt,Nt),this._element.style[e]="",N.trigger(this._element,Ot)}),this._element,!0),this._element.style[e]="".concat(this._element[i],"px")}hide(){if(this._isTransitioning||!this._isShown())return;if(N.trigger(this._element,Lt).defaultPrevented)return;const t=this._getDimension();this._element.style[t]="".concat(this._element.getBoundingClientRect()[t],"px"),d(this._element),this._element.classList.add(It),this._element.classList.remove(Rt,Nt);for(const e of this._triggerArray){const t=G.getElementFromSelector(e);t&&!this._isShown(t)&&this._addAriaAndCollapsedClass([e],!1)}this._isTransitioning=!0,this._element.style[t]="",this._queueCallback((()=>{this._isTransitioning=!1,this._element.classList.remove(It),this._element.classList.add(Rt),N.trigger(this._element,Dt)}),this._element,!0)}_isShown(){return(arguments.length>0&&void 0!==arguments[0]?arguments[0]:this._element).classList.contains(Nt)}_configAfterMerge(t){return t.toggle=Boolean(t.toggle),t.parent=o(t.parent),t}_getDimension(){return this._element.classList.contains("collapse-horizontal")?"width":"height"}_initializeChildren(){if(!this._config.parent)return;const t=this._getFirstLevelChildren(_t);for(const e of t){const t=G.getElementFromSelector(e);t&&this._addAriaAndCollapsedClass([e],this._isShown(t))}}_getFirstLevelChildren(t){const e=G.find(Bt,this._config.parent);return G.find(t,this._config.parent).filter((t=>!e.includes(t)))}_addAriaAndCollapsedClass(t,e){if(t.length)for(const i of t)i.classList.toggle("collapsed",!e),i.setAttribute("aria-expanded",e)}static jQueryInterface(t){const e={};return"string"==typeof t&&/show|hide/.test(t)&&(e.toggle=!1),this.each((function(){const i=Ft.getOrCreateInstance(this,e);if("string"==typeof t){if(void 0===i[t])throw new TypeError('No method named "'.concat(t,'"'));i[t]()}}))}}N.on(document,jt,_t,(function(t){("A"===t.target.tagName||t.delegateTarget&&"A"===t.delegateTarget.tagName)&&t.preventDefault();for(const e of G.getMultipleElementsFromSelector(this))Ft.getOrCreateInstance(e,{toggle:!1}).toggle()})),g(Ft);var Gt="top",Xt="bottom",Ht="right",Ut="left",Yt="auto",Vt=[Gt,Xt,Ht,Ut],qt="start",Kt="end",$t="clippingParents",Zt="viewport",Qt="popper",Jt="reference",te=Vt.reduce((function(t,e){return t.concat([e+"-"+qt,e+"-"+Kt])}),[]),ee=[].concat(Vt,[Yt]).reduce((function(t,e){return t.concat([e,e+"-"+qt,e+"-"+Kt])}),[]),ie="beforeRead",se="read",ne="afterRead",re="beforeMain",oe="main",ae="afterMain",le="beforeWrite",he="write",ce="afterWrite",de=[ie,se,ne,re,oe,ae,le,he,ce];function ue(t){return t?(t.nodeName||"").toLowerCase():null}function pe(t){if(null==t)return window;if("[object Window]"!==t.toString()){var e=t.ownerDocument;return e&&e.defaultView||window}return t}function fe(t){return t instanceof pe(t).Element||t instanceof Element}function ge(t){return t instanceof pe(t).HTMLElement||t instanceof HTMLElement}function me(t){return"undefined"!=typeof ShadowRoot&&(t instanceof pe(t).ShadowRoot||t instanceof ShadowRoot)}const ye={name:"applyStyles",enabled:!0,phase:"write",fn:function(t){var e=t.state;Object.keys(e.elements).forEach((function(t){var i=e.styles[t]||{},s=e.attributes[t]||{},n=e.elements[t];ge(n)&&ue(n)&&(Object.assign(n.style,i),Object.keys(s).forEach((function(t){var e=s[t];!1===e?n.removeAttribute(t):n.setAttribute(t,!0===e?"":e)})))}))},effect:function(t){var e=t.state,i={popper:{position:e.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(e.elements.popper.style,i.popper),e.styles=i,e.elements.arrow&&Object.assign(e.elements.arrow.style,i.arrow),function(){Object.keys(e.elements).forEach((function(t){var s=e.elements[t],n=e.attributes[t]||{},r=Object.keys(e.styles.hasOwnProperty(t)?e.styles[t]:i[t]).reduce((function(t,e){return t[e]="",t}),{});ge(s)&&ue(s)&&(Object.assign(s.style,r),Object.keys(n).forEach((function(t){s.removeAttribute(t)})))}))}},requires:["computeStyles"]};function xe(t){return t.split("-")[0]}var ve=Math.max,be=Math.min,Se=Math.round;function ke(){var t=navigator.userAgentData;return null!=t&&t.brands&&Array.isArray(t.brands)?t.brands.map((function(t){return t.brand+"/"+t.version})).join(" "):navigator.userAgent}function we(){return!/^((?!chrome|android).)*safari/i.test(ke())}function Ce(t,e,i){void 0===e&&(e=!1),void 0===i&&(i=!1);var s=t.getBoundingClientRect(),n=1,r=1;e&&ge(t)&&(n=t.offsetWidth>0&&Se(s.width)/t.offsetWidth||1,r=t.offsetHeight>0&&Se(s.height)/t.offsetHeight||1);var o=(fe(t)?pe(t):window).visualViewport,a=!we()&&i,l=(s.left+(a&&o?o.offsetLeft:0))/n,h=(s.top+(a&&o?o.offsetTop:0))/r,c=s.width/n,d=s.height/r;return{width:c,height:d,top:h,right:l+c,bottom:h+d,left:l,x:l,y:h}}function Ae(t){var e=Ce(t),i=t.offsetWidth,s=t.offsetHeight;return Math.abs(e.width-i)<=1&&(i=e.width),Math.abs(e.height-s)<=1&&(s=e.height),{x:t.offsetLeft,y:t.offsetTop,width:i,height:s}}function Me(t,e){var i=e.getRootNode&&e.getRootNode();if(t.contains(e))return!0;if(i&&me(i)){var s=e;do{if(s&&t.isSameNode(s))return!0;s=s.parentNode||s.host}while(s)}return!1}function Te(t){return pe(t).getComputedStyle(t)}function Pe(t){return["table","td","th"].indexOf(ue(t))>=0}function Ee(t){return((fe(t)?t.ownerDocument:t.document)||window.document).documentElement}function Oe(t){return"html"===ue(t)?t:t.assignedSlot||t.parentNode||(me(t)?t.host:null)||Ee(t)}function Le(t){return ge(t)&&"fixed"!==Te(t).position?t.offsetParent:null}function De(t){for(var e=pe(t),i=Le(t);i&&Pe(i)&&"static"===Te(i).position;)i=Le(i);return i&&("html"===ue(i)||"body"===ue(i)&&"static"===Te(i).position)?e:i||function(t){var e=/firefox/i.test(ke());if(/Trident/i.test(ke())&&ge(t)&&"fixed"===Te(t).position)return null;var i=Oe(t);for(me(i)&&(i=i.host);ge(i)&&["html","body"].indexOf(ue(i))<0;){var s=Te(i);if("none"!==s.transform||"none"!==s.perspective||"paint"===s.contain||-1!==["transform","perspective"].indexOf(s.willChange)||e&&"filter"===s.willChange||e&&s.filter&&"none"!==s.filter)return i;i=i.parentNode}return null}(t)||e}function je(t){return["top","bottom"].indexOf(t)>=0?"x":"y"}function Ne(t,e,i){return ve(t,be(e,i))}function Re(t){return Object.assign({},{top:0,right:0,bottom:0,left:0},t)}function Ie(t,e){return e.reduce((function(e,i){return e[i]=t,e}),{})}const Be={name:"arrow",enabled:!0,phase:"main",fn:function(t){var e,i=t.state,s=t.name,n=t.options,r=i.elements.arrow,o=i.modifiersData.popperOffsets,a=xe(i.placement),l=je(a),h=[Ut,Ht].indexOf(a)>=0?"height":"width";if(r&&o){var c=function(t,e){return Re("number"!=typeof(t="function"==typeof t?t(Object.assign({},e.rects,{placement:e.placement})):t)?t:Ie(t,Vt))}(n.padding,i),d=Ae(r),u="y"===l?Gt:Ut,p="y"===l?Xt:Ht,f=i.rects.reference[h]+i.rects.reference[l]-o[l]-i.rects.popper[h],g=o[l]-i.rects.reference[l],m=De(r),y=m?"y"===l?m.clientHeight||0:m.clientWidth||0:0,x=f/2-g/2,v=c[u],b=y-d[h]-c[p],S=y/2-d[h]/2+x,k=Ne(v,S,b),w=l;i.modifiersData[s]=((e={})[w]=k,e.centerOffset=k-S,e)}},effect:function(t){var e=t.state,i=t.options.element,s=void 0===i?"[data-popper-arrow]":i;null!=s&&("string"!=typeof s||(s=e.elements.popper.querySelector(s)))&&Me(e.elements.popper,s)&&(e.elements.arrow=s)},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function _e(t){return t.split("-")[1]}var ze={top:"auto",right:"auto",bottom:"auto",left:"auto"};function We(t){var e,i=t.popper,s=t.popperRect,n=t.placement,r=t.variation,o=t.offsets,a=t.position,l=t.gpuAcceleration,h=t.adaptive,c=t.roundOffsets,d=t.isFixed,u=o.x,p=void 0===u?0:u,f=o.y,g=void 0===f?0:f,m="function"==typeof c?c({x:p,y:g}):{x:p,y:g};p=m.x,g=m.y;var y=o.hasOwnProperty("x"),x=o.hasOwnProperty("y"),v=Ut,b=Gt,S=window;if(h){var k=De(i),w="clientHeight",C="clientWidth";k===pe(i)&&"static"!==Te(k=Ee(i)).position&&"absolute"===a&&(w="scrollHeight",C="scrollWidth"),(n===Gt||(n===Ut||n===Ht)&&r===Kt)&&(b=Xt,g-=(d&&k===S&&S.visualViewport?S.visualViewport.height:k[w])-s.height,g*=l?1:-1),n!==Ut&&(n!==Gt&&n!==Xt||r!==Kt)||(v=Ht,p-=(d&&k===S&&S.visualViewport?S.visualViewport.width:k[C])-s.width,p*=l?1:-1)}var A,M=Object.assign({position:a},h&&ze),T=!0===c?function(t,e){var i=t.x,s=t.y,n=e.devicePixelRatio||1;return{x:Se(i*n)/n||0,y:Se(s*n)/n||0}}({x:p,y:g},pe(i)):{x:p,y:g};return p=T.x,g=T.y,l?Object.assign({},M,((A={})[b]=x?"0":"",A[v]=y?"0":"",A.transform=(S.devicePixelRatio||1)<=1?"translate("+p+"px, "+g+"px)":"translate3d("+p+"px, "+g+"px, 0)",A)):Object.assign({},M,((e={})[b]=x?g+"px":"",e[v]=y?p+"px":"",e.transform="",e))}const Fe={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:function(t){var e=t.state,i=t.options,s=i.gpuAcceleration,n=void 0===s||s,r=i.adaptive,o=void 0===r||r,a=i.roundOffsets,l=void 0===a||a,h={placement:xe(e.placement),variation:_e(e.placement),popper:e.elements.popper,popperRect:e.rects.popper,gpuAcceleration:n,isFixed:"fixed"===e.options.strategy};null!=e.modifiersData.popperOffsets&&(e.styles.popper=Object.assign({},e.styles.popper,We(Object.assign({},h,{offsets:e.modifiersData.popperOffsets,position:e.options.strategy,adaptive:o,roundOffsets:l})))),null!=e.modifiersData.arrow&&(e.styles.arrow=Object.assign({},e.styles.arrow,We(Object.assign({},h,{offsets:e.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:l})))),e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-placement":e.placement})},data:{}};var Ge={passive:!0};const Xe={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:function(t){var e=t.state,i=t.instance,s=t.options,n=s.scroll,r=void 0===n||n,o=s.resize,a=void 0===o||o,l=pe(e.elements.popper),h=[].concat(e.scrollParents.reference,e.scrollParents.popper);return r&&h.forEach((function(t){t.addEventListener("scroll",i.update,Ge)})),a&&l.addEventListener("resize",i.update,Ge),function(){r&&h.forEach((function(t){t.removeEventListener("scroll",i.update,Ge)})),a&&l.removeEventListener("resize",i.update,Ge)}},data:{}};var He={left:"right",right:"left",bottom:"top",top:"bottom"};function Ue(t){return t.replace(/left|right|bottom|top/g,(function(t){return He[t]}))}var Ye={start:"end",end:"start"};function Ve(t){return t.replace(/start|end/g,(function(t){return Ye[t]}))}function qe(t){var e=pe(t);return{scrollLeft:e.pageXOffset,scrollTop:e.pageYOffset}}function Ke(t){return Ce(Ee(t)).left+qe(t).scrollLeft}function $e(t){var e=Te(t),i=e.overflow,s=e.overflowX,n=e.overflowY;return/auto|scroll|overlay|hidden/.test(i+n+s)}function Ze(t){return["html","body","#document"].indexOf(ue(t))>=0?t.ownerDocument.body:ge(t)&&$e(t)?t:Ze(Oe(t))}function Qe(t,e){var i;void 0===e&&(e=[]);var s=Ze(t),n=s===(null==(i=t.ownerDocument)?void 0:i.body),r=pe(s),o=n?[r].concat(r.visualViewport||[],$e(s)?s:[]):s,a=e.concat(o);return n?a:a.concat(Qe(Oe(o)))}function Je(t){return Object.assign({},t,{left:t.x,top:t.y,right:t.x+t.width,bottom:t.y+t.height})}function ti(t,e,i){return e===Zt?Je(function(t,e){var i=pe(t),s=Ee(t),n=i.visualViewport,r=s.clientWidth,o=s.clientHeight,a=0,l=0;if(n){r=n.width,o=n.height;var h=we();(h||!h&&"fixed"===e)&&(a=n.offsetLeft,l=n.offsetTop)}return{width:r,height:o,x:a+Ke(t),y:l}}(t,i)):fe(e)?function(t,e){var i=Ce(t,!1,"fixed"===e);return i.top=i.top+t.clientTop,i.left=i.left+t.clientLeft,i.bottom=i.top+t.clientHeight,i.right=i.left+t.clientWidth,i.width=t.clientWidth,i.height=t.clientHeight,i.x=i.left,i.y=i.top,i}(e,i):Je(function(t){var e,i=Ee(t),s=qe(t),n=null==(e=t.ownerDocument)?void 0:e.body,r=ve(i.scrollWidth,i.clientWidth,n?n.scrollWidth:0,n?n.clientWidth:0),o=ve(i.scrollHeight,i.clientHeight,n?n.scrollHeight:0,n?n.clientHeight:0),a=-s.scrollLeft+Ke(t),l=-s.scrollTop;return"rtl"===Te(n||i).direction&&(a+=ve(i.clientWidth,n?n.clientWidth:0)-r),{width:r,height:o,x:a,y:l}}(Ee(t)))}function ei(t){var e,i=t.reference,s=t.element,n=t.placement,r=n?xe(n):null,o=n?_e(n):null,a=i.x+i.width/2-s.width/2,l=i.y+i.height/2-s.height/2;switch(r){case Gt:e={x:a,y:i.y-s.height};break;case Xt:e={x:a,y:i.y+i.height};break;case Ht:e={x:i.x+i.width,y:l};break;case Ut:e={x:i.x-s.width,y:l};break;default:e={x:i.x,y:i.y}}var h=r?je(r):null;if(null!=h){var c="y"===h?"height":"width";switch(o){case qt:e[h]=e[h]-(i[c]/2-s[c]/2);break;case Kt:e[h]=e[h]+(i[c]/2-s[c]/2)}}return e}function ii(t,e){void 0===e&&(e={});var i=e,s=i.placement,n=void 0===s?t.placement:s,r=i.strategy,o=void 0===r?t.strategy:r,a=i.boundary,l=void 0===a?$t:a,h=i.rootBoundary,c=void 0===h?Zt:h,d=i.elementContext,u=void 0===d?Qt:d,p=i.altBoundary,f=void 0!==p&&p,g=i.padding,m=void 0===g?0:g,y=Re("number"!=typeof m?m:Ie(m,Vt)),x=u===Qt?Jt:Qt,v=t.rects.popper,b=t.elements[f?x:u],S=function(t,e,i,s){var n="clippingParents"===e?function(t){var e=Qe(Oe(t)),i=["absolute","fixed"].indexOf(Te(t).position)>=0&&ge(t)?De(t):t;return fe(i)?e.filter((function(t){return fe(t)&&Me(t,i)&&"body"!==ue(t)})):[]}(t):[].concat(e),r=[].concat(n,[i]),o=r[0],a=r.reduce((function(e,i){var n=ti(t,i,s);return e.top=ve(n.top,e.top),e.right=be(n.right,e.right),e.bottom=be(n.bottom,e.bottom),e.left=ve(n.left,e.left),e}),ti(t,o,s));return a.width=a.right-a.left,a.height=a.bottom-a.top,a.x=a.left,a.y=a.top,a}(fe(b)?b:b.contextElement||Ee(t.elements.popper),l,c,o),k=Ce(t.elements.reference),w=ei({reference:k,element:v,strategy:"absolute",placement:n}),C=Je(Object.assign({},v,w)),A=u===Qt?C:k,M={top:S.top-A.top+y.top,bottom:A.bottom-S.bottom+y.bottom,left:S.left-A.left+y.left,right:A.right-S.right+y.right},T=t.modifiersData.offset;if(u===Qt&&T){var P=T[n];Object.keys(M).forEach((function(t){var e=[Ht,Xt].indexOf(t)>=0?1:-1,i=[Gt,Xt].indexOf(t)>=0?"y":"x";M[t]+=P[i]*e}))}return M}function si(t,e){void 0===e&&(e={});var i=e,s=i.placement,n=i.boundary,r=i.rootBoundary,o=i.padding,a=i.flipVariations,l=i.allowedAutoPlacements,h=void 0===l?ee:l,c=_e(s),d=c?a?te:te.filter((function(t){return _e(t)===c})):Vt,u=d.filter((function(t){return h.indexOf(t)>=0}));0===u.length&&(u=d);var p=u.reduce((function(e,i){return e[i]=ii(t,{placement:i,boundary:n,rootBoundary:r,padding:o})[xe(i)],e}),{});return Object.keys(p).sort((function(t,e){return p[t]-p[e]}))}const ni={name:"flip",enabled:!0,phase:"main",fn:function(t){var e=t.state,i=t.options,s=t.name;if(!e.modifiersData[s]._skip){for(var n=i.mainAxis,r=void 0===n||n,o=i.altAxis,a=void 0===o||o,l=i.fallbackPlacements,h=i.padding,c=i.boundary,d=i.rootBoundary,u=i.altBoundary,p=i.flipVariations,f=void 0===p||p,g=i.allowedAutoPlacements,m=e.options.placement,y=xe(m),x=l||(y!==m&&f?function(t){if(xe(t)===Yt)return[];var e=Ue(t);return[Ve(t),e,Ve(e)]}(m):[Ue(m)]),v=[m].concat(x).reduce((function(t,i){return t.concat(xe(i)===Yt?si(e,{placement:i,boundary:c,rootBoundary:d,padding:h,flipVariations:f,allowedAutoPlacements:g}):i)}),[]),b=e.rects.reference,S=e.rects.popper,k=new Map,w=!0,C=v[0],A=0;A=0,O=E?"width":"height",L=ii(e,{placement:M,boundary:c,rootBoundary:d,altBoundary:u,padding:h}),D=E?P?Ht:Ut:P?Xt:Gt;b[O]>S[O]&&(D=Ue(D));var j=Ue(D),N=[];if(r&&N.push(L[T]<=0),a&&N.push(L[D]<=0,L[j]<=0),N.every((function(t){return t}))){C=M,w=!1;break}k.set(M,N)}if(w)for(var R=function(t){var e=v.find((function(e){var i=k.get(e);if(i)return i.slice(0,t).every((function(t){return t}))}));if(e)return C=e,"break"},I=f?3:1;I>0&&"break"!==R(I);I--);e.placement!==C&&(e.modifiersData[s]._skip=!0,e.placement=C,e.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}};function ri(t,e,i){return void 0===i&&(i={x:0,y:0}),{top:t.top-e.height-i.y,right:t.right-e.width+i.x,bottom:t.bottom-e.height+i.y,left:t.left-e.width-i.x}}function oi(t){return[Gt,Ht,Xt,Ut].some((function(e){return t[e]>=0}))}const ai={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:function(t){var e=t.state,i=t.name,s=e.rects.reference,n=e.rects.popper,r=e.modifiersData.preventOverflow,o=ii(e,{elementContext:"reference"}),a=ii(e,{altBoundary:!0}),l=ri(o,s),h=ri(a,n,r),c=oi(l),d=oi(h);e.modifiersData[i]={referenceClippingOffsets:l,popperEscapeOffsets:h,isReferenceHidden:c,hasPopperEscaped:d},e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-reference-hidden":c,"data-popper-escaped":d})}},li={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:function(t){var e=t.state,i=t.options,s=t.name,n=i.offset,r=void 0===n?[0,0]:n,o=ee.reduce((function(t,i){return t[i]=function(t,e,i){var s=xe(t),n=[Ut,Gt].indexOf(s)>=0?-1:1,r="function"==typeof i?i(Object.assign({},e,{placement:t})):i,o=r[0],a=r[1];return o=o||0,a=(a||0)*n,[Ut,Ht].indexOf(s)>=0?{x:a,y:o}:{x:o,y:a}}(i,e.rects,r),t}),{}),a=o[e.placement],l=a.x,h=a.y;null!=e.modifiersData.popperOffsets&&(e.modifiersData.popperOffsets.x+=l,e.modifiersData.popperOffsets.y+=h),e.modifiersData[s]=o}},hi={name:"popperOffsets",enabled:!0,phase:"read",fn:function(t){var e=t.state,i=t.name;e.modifiersData[i]=ei({reference:e.rects.reference,element:e.rects.popper,strategy:"absolute",placement:e.placement})},data:{}},ci={name:"preventOverflow",enabled:!0,phase:"main",fn:function(t){var e=t.state,i=t.options,s=t.name,n=i.mainAxis,r=void 0===n||n,o=i.altAxis,a=void 0!==o&&o,l=i.boundary,h=i.rootBoundary,c=i.altBoundary,d=i.padding,u=i.tether,p=void 0===u||u,f=i.tetherOffset,g=void 0===f?0:f,m=ii(e,{boundary:l,rootBoundary:h,padding:d,altBoundary:c}),y=xe(e.placement),x=_e(e.placement),v=!x,b=je(y),S="x"===b?"y":"x",k=e.modifiersData.popperOffsets,w=e.rects.reference,C=e.rects.popper,A="function"==typeof g?g(Object.assign({},e.rects,{placement:e.placement})):g,M="number"==typeof A?{mainAxis:A,altAxis:A}:Object.assign({mainAxis:0,altAxis:0},A),T=e.modifiersData.offset?e.modifiersData.offset[e.placement]:null,P={x:0,y:0};if(k){if(r){var E,O="y"===b?Gt:Ut,L="y"===b?Xt:Ht,D="y"===b?"height":"width",j=k[b],N=j+m[O],R=j-m[L],I=p?-C[D]/2:0,B=x===qt?w[D]:C[D],_=x===qt?-C[D]:-w[D],z=e.elements.arrow,W=p&&z?Ae(z):{width:0,height:0},F=e.modifiersData["arrow#persistent"]?e.modifiersData["arrow#persistent"].padding:{top:0,right:0,bottom:0,left:0},G=F[O],X=F[L],H=Ne(0,w[D],W[D]),U=v?w[D]/2-I-H-G-M.mainAxis:B-H-G-M.mainAxis,Y=v?-w[D]/2+I+H+X+M.mainAxis:_+H+X+M.mainAxis,V=e.elements.arrow&&De(e.elements.arrow),q=V?"y"===b?V.clientTop||0:V.clientLeft||0:0,K=null!=(E=null==T?void 0:T[b])?E:0,$=j+Y-K,Z=Ne(p?be(N,j+U-K-q):N,j,p?ve(R,$):R);k[b]=Z,P[b]=Z-j}if(a){var Q,J="x"===b?Gt:Ut,tt="x"===b?Xt:Ht,et=k[S],it="y"===S?"height":"width",st=et+m[J],nt=et-m[tt],rt=-1!==[Gt,Ut].indexOf(y),ot=null!=(Q=null==T?void 0:T[S])?Q:0,at=rt?st:et-w[it]-C[it]-ot+M.altAxis,lt=rt?et+w[it]+C[it]-ot-M.altAxis:nt,ht=p&&rt?function(t,e,i){var s=Ne(t,e,i);return s>i?i:s}(at,et,lt):Ne(p?at:st,et,p?lt:nt);k[S]=ht,P[S]=ht-et}e.modifiersData[s]=P}},requiresIfExists:["offset"]};function di(t,e,i){void 0===i&&(i=!1);var s,n,r=ge(e),o=ge(e)&&function(t){var e=t.getBoundingClientRect(),i=Se(e.width)/t.offsetWidth||1,s=Se(e.height)/t.offsetHeight||1;return 1!==i||1!==s}(e),a=Ee(e),l=Ce(t,o,i),h={scrollLeft:0,scrollTop:0},c={x:0,y:0};return(r||!r&&!i)&&(("body"!==ue(e)||$e(a))&&(h=(s=e)!==pe(s)&&ge(s)?{scrollLeft:(n=s).scrollLeft,scrollTop:n.scrollTop}:qe(s)),ge(e)?((c=Ce(e,!0)).x+=e.clientLeft,c.y+=e.clientTop):a&&(c.x=Ke(a))),{x:l.left+h.scrollLeft-c.x,y:l.top+h.scrollTop-c.y,width:l.width,height:l.height}}function ui(t){var e=new Map,i=new Set,s=[];function n(t){i.add(t.name),[].concat(t.requires||[],t.requiresIfExists||[]).forEach((function(t){if(!i.has(t)){var s=e.get(t);s&&n(s)}})),s.push(t)}return t.forEach((function(t){e.set(t.name,t)})),t.forEach((function(t){i.has(t.name)||n(t)})),s}var pi={placement:"bottom",modifiers:[],strategy:"absolute"};function fi(){for(var t=arguments.length,e=new Array(t),i=0;iNumber.parseInt(t,10))):"function"==typeof t?e=>t(e,this._element):t}_getPopperConfig(){const t={placement:this._getPlacement(),modifiers:[{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"offset",options:{offset:this._getOffset()}}]};return(this._inNavbar||"static"===this._config.display)&&(_.setDataAttribute(this._menu,"popper","static"),t.modifiers=[{name:"applyStyles",enabled:!1}]),{...t,...m(this._config.popperConfig,[t])}}_selectMenuItem(t){let{key:e,target:i}=t;const s=G.find(".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)",this._menu).filter((t=>a(t)));s.length&&x(s,i,e===Ci,!s.includes(i)).focus()}static jQueryInterface(t){return this.each((function(){const e=Hi.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError('No method named "'.concat(t,'"'));e[t]()}}))}static clearMenus(t){if(2===t.button||"keyup"===t.type&&"Tab"!==t.key)return;const e=G.find(Ni);for(const i of e){const e=Hi.getInstance(i);if(!e||!1===e._config.autoClose)continue;const s=t.composedPath(),n=s.includes(e._menu);if(s.includes(e._element)||"inside"===e._config.autoClose&&!n||"outside"===e._config.autoClose&&n)continue;if(e._menu.contains(t.target)&&("keyup"===t.type&&"Tab"===t.key||/input|select|option|textarea|form/i.test(t.target.tagName)))continue;const r={relatedTarget:e._element};"click"===t.type&&(r.clickEvent=t),e._completeHide(r)}}static dataApiKeydownHandler(t){const e=/input|textarea/i.test(t.target.tagName),i="Escape"===t.key,s=[wi,Ci].includes(t.key);if(!s&&!i)return;if(e&&!i)return;t.preventDefault();const n=this.matches(ji)?this:G.prev(this,ji)[0]||G.next(this,ji)[0]||G.findOne(ji,t.delegateTarget.parentNode),r=Hi.getOrCreateInstance(n);if(s)return t.stopPropagation(),r.show(),void r._selectMenuItem(t);r._isShown()&&(t.stopPropagation(),r.hide(),n.focus())}}N.on(document,Oi,ji,Hi.dataApiKeydownHandler),N.on(document,Oi,Ri,Hi.dataApiKeydownHandler),N.on(document,Ei,Hi.clearMenus),N.on(document,Li,Hi.clearMenus),N.on(document,Ei,ji,(function(t){t.preventDefault(),Hi.getOrCreateInstance(this).toggle()})),g(Hi);const Ui="backdrop",Yi="show",Vi="mousedown.bs.".concat(Ui),qi={className:"modal-backdrop",clickCallback:null,isAnimated:!1,isVisible:!0,rootElement:"body"},Ki={className:"string",clickCallback:"(function|null)",isAnimated:"boolean",isVisible:"boolean",rootElement:"(element|string)"};class $i extends z{constructor(t){super(),this._config=this._getConfig(t),this._isAppended=!1,this._element=null}static get Default(){return qi}static get DefaultType(){return Ki}static get NAME(){return Ui}show(t){if(!this._config.isVisible)return void m(t);this._append();const e=this._getElement();this._config.isAnimated&&d(e),e.classList.add(Yi),this._emulateAnimation((()=>{m(t)}))}hide(t){this._config.isVisible?(this._getElement().classList.remove(Yi),this._emulateAnimation((()=>{this.dispose(),m(t)}))):m(t)}dispose(){this._isAppended&&(N.off(this._element,Vi),this._element.remove(),this._isAppended=!1)}_getElement(){if(!this._element){const t=document.createElement("div");t.className=this._config.className,this._config.isAnimated&&t.classList.add("fade"),this._element=t}return this._element}_configAfterMerge(t){return t.rootElement=o(t.rootElement),t}_append(){if(this._isAppended)return;const t=this._getElement();this._config.rootElement.append(t),N.on(t,Vi,(()=>{m(this._config.clickCallback)})),this._isAppended=!0}_emulateAnimation(t){y(t,this._getElement(),this._config.isAnimated)}}const Zi=".bs.focustrap",Qi="focusin".concat(Zi),Ji="keydown.tab".concat(Zi),ts="backward",es={autofocus:!0,trapElement:null},is={autofocus:"boolean",trapElement:"element"};class ss extends z{constructor(t){super(),this._config=this._getConfig(t),this._isActive=!1,this._lastTabNavDirection=null}static get Default(){return es}static get DefaultType(){return is}static get NAME(){return"focustrap"}activate(){this._isActive||(this._config.autofocus&&this._config.trapElement.focus(),N.off(document,Zi),N.on(document,Qi,(t=>this._handleFocusin(t))),N.on(document,Ji,(t=>this._handleKeydown(t))),this._isActive=!0)}deactivate(){this._isActive&&(this._isActive=!1,N.off(document,Zi))}_handleFocusin(t){const{trapElement:e}=this._config;if(t.target===document||t.target===e||e.contains(t.target))return;const i=G.focusableChildren(e);0===i.length?e.focus():this._lastTabNavDirection===ts?i[i.length-1].focus():i[0].focus()}_handleKeydown(t){"Tab"===t.key&&(this._lastTabNavDirection=t.shiftKey?ts:"forward")}}const ns=".fixed-top, .fixed-bottom, .is-fixed, .sticky-top",rs=".sticky-top",os="padding-right",as="margin-right";class ls{constructor(){this._element=document.body}getWidth(){const t=document.documentElement.clientWidth;return Math.abs(window.innerWidth-t)}hide(){const t=this.getWidth();this._disableOverFlow(),this._setElementAttributes(this._element,os,(e=>e+t)),this._setElementAttributes(ns,os,(e=>e+t)),this._setElementAttributes(rs,as,(e=>e-t))}reset(){this._resetElementAttributes(this._element,"overflow"),this._resetElementAttributes(this._element,os),this._resetElementAttributes(ns,os),this._resetElementAttributes(rs,as)}isOverflowing(){return this.getWidth()>0}_disableOverFlow(){this._saveInitialAttribute(this._element,"overflow"),this._element.style.overflow="hidden"}_setElementAttributes(t,e,i){const s=this.getWidth();this._applyManipulationCallback(t,(t=>{if(t!==this._element&&window.innerWidth>t.clientWidth+s)return;this._saveInitialAttribute(t,e);const n=window.getComputedStyle(t).getPropertyValue(e);t.style.setProperty(e,"".concat(i(Number.parseFloat(n)),"px"))}))}_saveInitialAttribute(t,e){const i=t.style.getPropertyValue(e);i&&_.setDataAttribute(t,e,i)}_resetElementAttributes(t,e){this._applyManipulationCallback(t,(t=>{const i=_.getDataAttribute(t,e);null!==i?(_.removeDataAttribute(t,e),t.style.setProperty(e,i)):t.style.removeProperty(e)}))}_applyManipulationCallback(t,e){if(r(t))e(t);else for(const i of G.find(t,this._element))e(i)}}const hs=".bs.modal",cs="hide".concat(hs),ds="hidePrevented".concat(hs),us="hidden".concat(hs),ps="show".concat(hs),fs="shown".concat(hs),gs="resize".concat(hs),ms="click.dismiss".concat(hs),ys="mousedown.dismiss".concat(hs),xs="keydown.dismiss".concat(hs),vs="click".concat(hs,".data-api"),bs="modal-open",Ss="show",ks="modal-static",ws={backdrop:!0,focus:!0,keyboard:!0},Cs={backdrop:"(boolean|string)",focus:"boolean",keyboard:"boolean"};class As extends W{constructor(t,e){super(t,e),this._dialog=G.findOne(".modal-dialog",this._element),this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._isShown=!1,this._isTransitioning=!1,this._scrollBar=new ls,this._addEventListeners()}static get Default(){return ws}static get DefaultType(){return Cs}static get NAME(){return"modal"}toggle(t){return this._isShown?this.hide():this.show(t)}show(t){this._isShown||this._isTransitioning||N.trigger(this._element,ps,{relatedTarget:t}).defaultPrevented||(this._isShown=!0,this._isTransitioning=!0,this._scrollBar.hide(),document.body.classList.add(bs),this._adjustDialog(),this._backdrop.show((()=>this._showElement(t))))}hide(){this._isShown&&!this._isTransitioning&&(N.trigger(this._element,cs).defaultPrevented||(this._isShown=!1,this._isTransitioning=!0,this._focustrap.deactivate(),this._element.classList.remove(Ss),this._queueCallback((()=>this._hideModal()),this._element,this._isAnimated())))}dispose(){N.off(window,hs),N.off(this._dialog,hs),this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}handleUpdate(){this._adjustDialog()}_initializeBackDrop(){return new $i({isVisible:Boolean(this._config.backdrop),isAnimated:this._isAnimated()})}_initializeFocusTrap(){return new ss({trapElement:this._element})}_showElement(t){document.body.contains(this._element)||document.body.append(this._element),this._element.style.display="block",this._element.removeAttribute("aria-hidden"),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.scrollTop=0;const e=G.findOne(".modal-body",this._dialog);e&&(e.scrollTop=0),d(this._element),this._element.classList.add(Ss),this._queueCallback((()=>{this._config.focus&&this._focustrap.activate(),this._isTransitioning=!1,N.trigger(this._element,fs,{relatedTarget:t})}),this._dialog,this._isAnimated())}_addEventListeners(){N.on(this._element,xs,(t=>{"Escape"===t.key&&(this._config.keyboard?this.hide():this._triggerBackdropTransition())})),N.on(window,gs,(()=>{this._isShown&&!this._isTransitioning&&this._adjustDialog()})),N.on(this._element,ys,(t=>{N.one(this._element,ms,(e=>{this._element===t.target&&this._element===e.target&&("static"!==this._config.backdrop?this._config.backdrop&&this.hide():this._triggerBackdropTransition())}))}))}_hideModal(){this._element.style.display="none",this._element.setAttribute("aria-hidden",!0),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._isTransitioning=!1,this._backdrop.hide((()=>{document.body.classList.remove(bs),this._resetAdjustments(),this._scrollBar.reset(),N.trigger(this._element,us)}))}_isAnimated(){return this._element.classList.contains("fade")}_triggerBackdropTransition(){if(N.trigger(this._element,ds).defaultPrevented)return;const t=this._element.scrollHeight>document.documentElement.clientHeight,e=this._element.style.overflowY;"hidden"===e||this._element.classList.contains(ks)||(t||(this._element.style.overflowY="hidden"),this._element.classList.add(ks),this._queueCallback((()=>{this._element.classList.remove(ks),this._queueCallback((()=>{this._element.style.overflowY=e}),this._dialog)}),this._dialog),this._element.focus())}_adjustDialog(){const t=this._element.scrollHeight>document.documentElement.clientHeight,e=this._scrollBar.getWidth(),i=e>0;if(i&&!t){const t=f()?"paddingLeft":"paddingRight";this._element.style[t]="".concat(e,"px")}if(!i&&t){const t=f()?"paddingRight":"paddingLeft";this._element.style[t]="".concat(e,"px")}}_resetAdjustments(){this._element.style.paddingLeft="",this._element.style.paddingRight=""}static jQueryInterface(t,e){return this.each((function(){const i=As.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===i[t])throw new TypeError('No method named "'.concat(t,'"'));i[t](e)}}))}}N.on(document,vs,'[data-bs-toggle="modal"]',(function(t){const e=G.getElementFromSelector(this);["A","AREA"].includes(this.tagName)&&t.preventDefault(),N.one(e,ps,(t=>{t.defaultPrevented||N.one(e,us,(()=>{a(this)&&this.focus()}))}));const i=G.findOne(".modal.show");i&&As.getInstance(i).hide(),As.getOrCreateInstance(e).toggle(this)})),X(As),g(As);const Ms=".bs.offcanvas",Ts=".data-api",Ps="load".concat(Ms).concat(Ts),Es="show",Os="showing",Ls="hiding",Ds=".offcanvas.show",js="show".concat(Ms),Ns="shown".concat(Ms),Rs="hide".concat(Ms),Is="hidePrevented".concat(Ms),Bs="hidden".concat(Ms),_s="resize".concat(Ms),zs="click".concat(Ms).concat(Ts),Ws="keydown.dismiss".concat(Ms),Fs={backdrop:!0,keyboard:!0,scroll:!1},Gs={backdrop:"(boolean|string)",keyboard:"boolean",scroll:"boolean"};class Xs extends W{constructor(t,e){super(t,e),this._isShown=!1,this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._addEventListeners()}static get Default(){return Fs}static get DefaultType(){return Gs}static get NAME(){return"offcanvas"}toggle(t){return this._isShown?this.hide():this.show(t)}show(t){this._isShown||N.trigger(this._element,js,{relatedTarget:t}).defaultPrevented||(this._isShown=!0,this._backdrop.show(),this._config.scroll||(new ls).hide(),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.classList.add(Os),this._queueCallback((()=>{this._config.scroll&&!this._config.backdrop||this._focustrap.activate(),this._element.classList.add(Es),this._element.classList.remove(Os),N.trigger(this._element,Ns,{relatedTarget:t})}),this._element,!0))}hide(){this._isShown&&(N.trigger(this._element,Rs).defaultPrevented||(this._focustrap.deactivate(),this._element.blur(),this._isShown=!1,this._element.classList.add(Ls),this._backdrop.hide(),this._queueCallback((()=>{this._element.classList.remove(Es,Ls),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._config.scroll||(new ls).reset(),N.trigger(this._element,Bs)}),this._element,!0)))}dispose(){this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}_initializeBackDrop(){const t=Boolean(this._config.backdrop);return new $i({className:"offcanvas-backdrop",isVisible:t,isAnimated:!0,rootElement:this._element.parentNode,clickCallback:t?()=>{"static"!==this._config.backdrop?this.hide():N.trigger(this._element,Is)}:null})}_initializeFocusTrap(){return new ss({trapElement:this._element})}_addEventListeners(){N.on(this._element,Ws,(t=>{"Escape"===t.key&&(this._config.keyboard?this.hide():N.trigger(this._element,Is))}))}static jQueryInterface(t){return this.each((function(){const e=Xs.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError('No method named "'.concat(t,'"'));e[t](this)}}))}}N.on(document,zs,'[data-bs-toggle="offcanvas"]',(function(t){const e=G.getElementFromSelector(this);if(["A","AREA"].includes(this.tagName)&&t.preventDefault(),l(this))return;N.one(e,Bs,(()=>{a(this)&&this.focus()}));const i=G.findOne(Ds);i&&i!==e&&Xs.getInstance(i).hide(),Xs.getOrCreateInstance(e).toggle(this)})),N.on(window,Ps,(()=>{for(const t of G.find(Ds))Xs.getOrCreateInstance(t).show()})),N.on(window,_s,(()=>{for(const t of G.find("[aria-modal][class*=show][class*=offcanvas-]"))"fixed"!==getComputedStyle(t).position&&Xs.getOrCreateInstance(t).hide()})),X(Xs),g(Xs);const Hs={"*":["class","dir","id","lang","role",/^aria-[\w-]*$/i],a:["target","href","title","rel"],area:[],b:[],br:[],col:[],code:[],dd:[],div:[],dl:[],dt:[],em:[],hr:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],i:[],img:["src","srcset","alt","title","width","height"],li:[],ol:[],p:[],pre:[],s:[],small:[],span:[],sub:[],sup:[],strong:[],u:[],ul:[]},Us=new Set(["background","cite","href","itemtype","longdesc","poster","src","xlink:href"]),Ys=/^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:/?#]*(?:[/?#]|$))/i,Vs=(t,e)=>{const i=t.nodeName.toLowerCase();return e.includes(i)?!Us.has(i)||Boolean(Ys.test(t.nodeValue)):e.filter((t=>t instanceof RegExp)).some((t=>t.test(i)))},qs={allowList:Hs,content:{},extraClass:"",html:!1,sanitize:!0,sanitizeFn:null,template:"
"},Ks={allowList:"object",content:"object",extraClass:"(string|function)",html:"boolean",sanitize:"boolean",sanitizeFn:"(null|function)",template:"string"},$s={entry:"(string|element|function|null)",selector:"(string|element)"};class Zs extends z{constructor(t){super(),this._config=this._getConfig(t)}static get Default(){return qs}static get DefaultType(){return Ks}static get NAME(){return"TemplateFactory"}getContent(){return Object.values(this._config.content).map((t=>this._resolvePossibleFunction(t))).filter(Boolean)}hasContent(){return this.getContent().length>0}changeContent(t){return this._checkContent(t),this._config.content={...this._config.content,...t},this}toHtml(){const t=document.createElement("div");t.innerHTML=this._maybeSanitize(this._config.template);for(const[s,n]of Object.entries(this._config.content))this._setContent(t,n,s);const e=t.children[0],i=this._resolvePossibleFunction(this._config.extraClass);return i&&e.classList.add(...i.split(" ")),e}_typeCheckConfig(t){super._typeCheckConfig(t),this._checkContent(t.content)}_checkContent(t){for(const[e,i]of Object.entries(t))super._typeCheckConfig({selector:e,entry:i},$s)}_setContent(t,e,i){const s=G.findOne(i,t);s&&((e=this._resolvePossibleFunction(e))?r(e)?this._putElementInTemplate(o(e),s):this._config.html?s.innerHTML=this._maybeSanitize(e):s.textContent=e:s.remove())}_maybeSanitize(t){return this._config.sanitize?function(t,e,i){if(!t.length)return t;if(i&&"function"==typeof i)return i(t);const s=(new window.DOMParser).parseFromString(t,"text/html"),n=[].concat(...s.body.querySelectorAll("*"));for(const r of n){const t=r.nodeName.toLowerCase();if(!Object.keys(e).includes(t)){r.remove();continue}const i=[].concat(...r.attributes),s=[].concat(e["*"]||[],e[t]||[]);for(const e of i)Vs(e,s)||r.removeAttribute(e.nodeName)}return s.body.innerHTML}(t,this._config.allowList,this._config.sanitizeFn):t}_resolvePossibleFunction(t){return m(t,[this])}_putElementInTemplate(t,e){if(this._config.html)return e.innerHTML="",void e.append(t);e.textContent=t.textContent}}const Qs=new Set(["sanitize","allowList","sanitizeFn"]),Js="fade",tn="show",en=".modal",sn="hide.bs.modal",nn="hover",rn="focus",on={AUTO:"auto",TOP:"top",RIGHT:f()?"left":"right",BOTTOM:"bottom",LEFT:f()?"right":"left"},an={allowList:Hs,animation:!0,boundary:"clippingParents",container:!1,customClass:"",delay:0,fallbackPlacements:["top","right","bottom","left"],html:!1,offset:[0,6],placement:"top",popperConfig:null,sanitize:!0,sanitizeFn:null,selector:!1,template:'',title:"",trigger:"hover focus"},ln={allowList:"object",animation:"boolean",boundary:"(string|element)",container:"(string|element|boolean)",customClass:"(string|function)",delay:"(number|object)",fallbackPlacements:"array",html:"boolean",offset:"(array|string|function)",placement:"(string|function)",popperConfig:"(null|object|function)",sanitize:"boolean",sanitizeFn:"(null|function)",selector:"(string|boolean)",template:"string",title:"(string|element|function)",trigger:"string"};class hn extends W{constructor(t,e){if(void 0===vi)throw new TypeError("Bootstrap's tooltips require Popper (https://popper.js.org)");super(t,e),this._isEnabled=!0,this._timeout=0,this._isHovered=null,this._activeTrigger={},this._popper=null,this._templateFactory=null,this._newContent=null,this.tip=null,this._setListeners(),this._config.selector||this._fixTitle()}static get Default(){return an}static get DefaultType(){return ln}static get NAME(){return"tooltip"}enable(){this._isEnabled=!0}disable(){this._isEnabled=!1}toggleEnabled(){this._isEnabled=!this._isEnabled}toggle(){this._isEnabled&&(this._activeTrigger.click=!this._activeTrigger.click,this._isShown()?this._leave():this._enter())}dispose(){clearTimeout(this._timeout),N.off(this._element.closest(en),sn,this._hideModalHandler),this._element.getAttribute("data-bs-original-title")&&this._element.setAttribute("title",this._element.getAttribute("data-bs-original-title")),this._disposePopper(),super.dispose()}show(){if("none"===this._element.style.display)throw new Error("Please use show on visible elements");if(!this._isWithContent()||!this._isEnabled)return;const t=N.trigger(this._element,this.constructor.eventName("show")),e=(h(this._element)||this._element.ownerDocument.documentElement).contains(this._element);if(t.defaultPrevented||!e)return;this._disposePopper();const i=this._getTipElement();this._element.setAttribute("aria-describedby",i.getAttribute("id"));const{container:s}=this._config;if(this._element.ownerDocument.documentElement.contains(this.tip)||(s.append(i),N.trigger(this._element,this.constructor.eventName("inserted"))),this._popper=this._createPopper(i),i.classList.add(tn),"ontouchstart"in document.documentElement)for(const n of[].concat(...document.body.children))N.on(n,"mouseover",c);this._queueCallback((()=>{N.trigger(this._element,this.constructor.eventName("shown")),!1===this._isHovered&&this._leave(),this._isHovered=!1}),this.tip,this._isAnimated())}hide(){if(this._isShown()&&!N.trigger(this._element,this.constructor.eventName("hide")).defaultPrevented){if(this._getTipElement().classList.remove(tn),"ontouchstart"in document.documentElement)for(const t of[].concat(...document.body.children))N.off(t,"mouseover",c);this._activeTrigger.click=!1,this._activeTrigger[rn]=!1,this._activeTrigger[nn]=!1,this._isHovered=null,this._queueCallback((()=>{this._isWithActiveTrigger()||(this._isHovered||this._disposePopper(),this._element.removeAttribute("aria-describedby"),N.trigger(this._element,this.constructor.eventName("hidden")))}),this.tip,this._isAnimated())}}update(){this._popper&&this._popper.update()}_isWithContent(){return Boolean(this._getTitle())}_getTipElement(){return this.tip||(this.tip=this._createTipElement(this._newContent||this._getContentForTemplate())),this.tip}_createTipElement(t){const e=this._getTemplateFactory(t).toHtml();if(!e)return null;e.classList.remove(Js,tn),e.classList.add("bs-".concat(this.constructor.NAME,"-auto"));const i=(t=>{do{t+=Math.floor(1e6*Math.random())}while(document.getElementById(t));return t})(this.constructor.NAME).toString();return e.setAttribute("id",i),this._isAnimated()&&e.classList.add(Js),e}setContent(t){this._newContent=t,this._isShown()&&(this._disposePopper(),this.show())}_getTemplateFactory(t){return this._templateFactory?this._templateFactory.changeContent(t):this._templateFactory=new Zs({...this._config,content:t,extraClass:this._resolvePossibleFunction(this._config.customClass)}),this._templateFactory}_getContentForTemplate(){return{".tooltip-inner":this._getTitle()}}_getTitle(){return this._resolvePossibleFunction(this._config.title)||this._element.getAttribute("data-bs-original-title")}_initializeOnDelegatedTarget(t){return this.constructor.getOrCreateInstance(t.delegateTarget,this._getDelegateConfig())}_isAnimated(){return this._config.animation||this.tip&&this.tip.classList.contains(Js)}_isShown(){return this.tip&&this.tip.classList.contains(tn)}_createPopper(t){const e=m(this._config.placement,[this,t,this._element]),i=on[e.toUpperCase()];return xi(this._element,t,this._getPopperConfig(i))}_getOffset(){const{offset:t}=this._config;return"string"==typeof t?t.split(",").map((t=>Number.parseInt(t,10))):"function"==typeof t?e=>t(e,this._element):t}_resolvePossibleFunction(t){return m(t,[this._element])}_getPopperConfig(t){const e={placement:t,modifiers:[{name:"flip",options:{fallbackPlacements:this._config.fallbackPlacements}},{name:"offset",options:{offset:this._getOffset()}},{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"arrow",options:{element:".".concat(this.constructor.NAME,"-arrow")}},{name:"preSetPlacement",enabled:!0,phase:"beforeMain",fn:t=>{this._getTipElement().setAttribute("data-popper-placement",t.state.placement)}}]};return{...e,...m(this._config.popperConfig,[e])}}_setListeners(){const t=this._config.trigger.split(" ");for(const e of t)if("click"===e)N.on(this._element,this.constructor.eventName("click"),this._config.selector,(t=>{this._initializeOnDelegatedTarget(t).toggle()}));else if("manual"!==e){const t=e===nn?this.constructor.eventName("mouseenter"):this.constructor.eventName("focusin"),i=e===nn?this.constructor.eventName("mouseleave"):this.constructor.eventName("focusout");N.on(this._element,t,this._config.selector,(t=>{const e=this._initializeOnDelegatedTarget(t);e._activeTrigger["focusin"===t.type?rn:nn]=!0,e._enter()})),N.on(this._element,i,this._config.selector,(t=>{const e=this._initializeOnDelegatedTarget(t);e._activeTrigger["focusout"===t.type?rn:nn]=e._element.contains(t.relatedTarget),e._leave()}))}this._hideModalHandler=()=>{this._element&&this.hide()},N.on(this._element.closest(en),sn,this._hideModalHandler)}_fixTitle(){const t=this._element.getAttribute("title");t&&(this._element.getAttribute("aria-label")||this._element.textContent.trim()||this._element.setAttribute("aria-label",t),this._element.setAttribute("data-bs-original-title",t),this._element.removeAttribute("title"))}_enter(){this._isShown()||this._isHovered?this._isHovered=!0:(this._isHovered=!0,this._setTimeout((()=>{this._isHovered&&this.show()}),this._config.delay.show))}_leave(){this._isWithActiveTrigger()||(this._isHovered=!1,this._setTimeout((()=>{this._isHovered||this.hide()}),this._config.delay.hide))}_setTimeout(t,e){clearTimeout(this._timeout),this._timeout=setTimeout(t,e)}_isWithActiveTrigger(){return Object.values(this._activeTrigger).includes(!0)}_getConfig(t){const e=_.getDataAttributes(this._element);for(const i of Object.keys(e))Qs.has(i)&&delete e[i];return t={...e,..."object"==typeof t&&t?t:{}},t=this._mergeConfigObj(t),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}_configAfterMerge(t){return t.container=!1===t.container?document.body:o(t.container),"number"==typeof t.delay&&(t.delay={show:t.delay,hide:t.delay}),"number"==typeof t.title&&(t.title=t.title.toString()),"number"==typeof t.content&&(t.content=t.content.toString()),t}_getDelegateConfig(){const t={};for(const[e,i]of Object.entries(this._config))this.constructor.Default[e]!==i&&(t[e]=i);return t.selector=!1,t.trigger="manual",t}_disposePopper(){this._popper&&(this._popper.destroy(),this._popper=null),this.tip&&(this.tip.remove(),this.tip=null)}static jQueryInterface(t){return this.each((function(){const e=hn.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError('No method named "'.concat(t,'"'));e[t]()}}))}}g(hn);const cn={...hn.Default,content:"",offset:[0,8],placement:"right",template:'',trigger:"click"},dn={...hn.DefaultType,content:"(null|string|element|function)"};class un extends hn{static get Default(){return cn}static get DefaultType(){return dn}static get NAME(){return"popover"}_isWithContent(){return this._getTitle()||this._getContent()}_getContentForTemplate(){return{".popover-header":this._getTitle(),".popover-body":this._getContent()}}_getContent(){return this._resolvePossibleFunction(this._config.content)}static jQueryInterface(t){return this.each((function(){const e=un.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError('No method named "'.concat(t,'"'));e[t]()}}))}}g(un);const pn=".bs.scrollspy",fn="activate".concat(pn),gn="click".concat(pn),mn="load".concat(pn,".data-api"),yn="active",xn="[href]",vn=".nav-link",bn="".concat(vn,", .nav-item > ").concat(vn,", .list-group-item"),Sn={offset:null,rootMargin:"0px 0px -25%",smoothScroll:!1,target:null,threshold:[.1,.5,1]},kn={offset:"(number|null)",rootMargin:"string",smoothScroll:"boolean",target:"element",threshold:"array"};class wn extends W{constructor(t,e){super(t,e),this._targetLinks=new Map,this._observableSections=new Map,this._rootElement="visible"===getComputedStyle(this._element).overflowY?null:this._element,this._activeTarget=null,this._observer=null,this._previousScrollData={visibleEntryTop:0,parentScrollTop:0},this.refresh()}static get Default(){return Sn}static get DefaultType(){return kn}static get NAME(){return"scrollspy"}refresh(){this._initializeTargetsAndObservables(),this._maybeEnableSmoothScroll(),this._observer?this._observer.disconnect():this._observer=this._getNewObserver();for(const t of this._observableSections.values())this._observer.observe(t)}dispose(){this._observer.disconnect(),super.dispose()}_configAfterMerge(t){return t.target=o(t.target)||document.body,t.rootMargin=t.offset?"".concat(t.offset,"px 0px -30%"):t.rootMargin,"string"==typeof t.threshold&&(t.threshold=t.threshold.split(",").map((t=>Number.parseFloat(t)))),t}_maybeEnableSmoothScroll(){this._config.smoothScroll&&(N.off(this._config.target,gn),N.on(this._config.target,gn,xn,(t=>{const e=this._observableSections.get(t.target.hash);if(e){t.preventDefault();const i=this._rootElement||window,s=e.offsetTop-this._element.offsetTop;if(i.scrollTo)return void i.scrollTo({top:s,behavior:"smooth"});i.scrollTop=s}})))}_getNewObserver(){const t={root:this._rootElement,threshold:this._config.threshold,rootMargin:this._config.rootMargin};return new IntersectionObserver((t=>this._observerCallback(t)),t)}_observerCallback(t){const e=t=>this._targetLinks.get("#".concat(t.target.id)),i=t=>{this._previousScrollData.visibleEntryTop=t.target.offsetTop,this._process(e(t))},s=(this._rootElement||document.documentElement).scrollTop,n=s>=this._previousScrollData.parentScrollTop;this._previousScrollData.parentScrollTop=s;for(const r of t){if(!r.isIntersecting){this._activeTarget=null,this._clearActiveClass(e(r));continue}const t=r.target.offsetTop>=this._previousScrollData.visibleEntryTop;if(n&&t){if(i(r),!s)return}else n||t||i(r)}}_initializeTargetsAndObservables(){this._targetLinks=new Map,this._observableSections=new Map;const t=G.find(xn,this._config.target);for(const e of t){if(!e.hash||l(e))continue;const t=G.findOne(decodeURI(e.hash),this._element);a(t)&&(this._targetLinks.set(decodeURI(e.hash),e),this._observableSections.set(e.hash,t))}}_process(t){this._activeTarget!==t&&(this._clearActiveClass(this._config.target),this._activeTarget=t,t.classList.add(yn),this._activateParents(t),N.trigger(this._element,fn,{relatedTarget:t}))}_activateParents(t){if(t.classList.contains("dropdown-item"))G.findOne(".dropdown-toggle",t.closest(".dropdown")).classList.add(yn);else for(const e of G.parents(t,".nav, .list-group"))for(const t of G.prev(e,bn))t.classList.add(yn)}_clearActiveClass(t){t.classList.remove(yn);const e=G.find("".concat(xn,".").concat(yn),t);for(const i of e)i.classList.remove(yn)}static jQueryInterface(t){return this.each((function(){const e=wn.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError('No method named "'.concat(t,'"'));e[t]()}}))}}N.on(window,mn,(()=>{for(const t of G.find('[data-bs-spy="scroll"]'))wn.getOrCreateInstance(t)})),g(wn);const Cn=".bs.tab",An="hide".concat(Cn),Mn="hidden".concat(Cn),Tn="show".concat(Cn),Pn="shown".concat(Cn),En="click".concat(Cn),On="keydown".concat(Cn),Ln="load".concat(Cn),Dn="ArrowLeft",jn="ArrowRight",Nn="ArrowUp",Rn="ArrowDown",In="Home",Bn="End",_n="active",zn="fade",Wn="show",Fn=".dropdown-toggle",Gn=":not(".concat(Fn,")"),Xn='[data-bs-toggle="tab"], [data-bs-toggle="pill"], [data-bs-toggle="list"]',Hn=".nav-link".concat(Gn,", .list-group-item").concat(Gn,', [role="tab"]').concat(Gn,", ").concat(Xn),Un=".".concat(_n,'[data-bs-toggle="tab"], .').concat(_n,'[data-bs-toggle="pill"], .').concat(_n,'[data-bs-toggle="list"]');class Yn extends W{constructor(t){super(t),this._parent=this._element.closest('.list-group, .nav, [role="tablist"]'),this._parent&&(this._setInitialAttributes(this._parent,this._getChildren()),N.on(this._element,On,(t=>this._keydown(t))))}static get NAME(){return"tab"}show(){const t=this._element;if(this._elemIsActive(t))return;const e=this._getActiveElem(),i=e?N.trigger(e,An,{relatedTarget:t}):null;N.trigger(t,Tn,{relatedTarget:e}).defaultPrevented||i&&i.defaultPrevented||(this._deactivate(e,t),this._activate(t,e))}_activate(t,e){t&&(t.classList.add(_n),this._activate(G.getElementFromSelector(t)),this._queueCallback((()=>{"tab"===t.getAttribute("role")?(t.removeAttribute("tabindex"),t.setAttribute("aria-selected",!0),this._toggleDropDown(t,!0),N.trigger(t,Pn,{relatedTarget:e})):t.classList.add(Wn)}),t,t.classList.contains(zn)))}_deactivate(t,e){t&&(t.classList.remove(_n),t.blur(),this._deactivate(G.getElementFromSelector(t)),this._queueCallback((()=>{"tab"===t.getAttribute("role")?(t.setAttribute("aria-selected",!1),t.setAttribute("tabindex","-1"),this._toggleDropDown(t,!1),N.trigger(t,Mn,{relatedTarget:e})):t.classList.remove(Wn)}),t,t.classList.contains(zn)))}_keydown(t){if(![Dn,jn,Nn,Rn,In,Bn].includes(t.key))return;t.stopPropagation(),t.preventDefault();const e=this._getChildren().filter((t=>!l(t)));let i;if([In,Bn].includes(t.key))i=e[t.key===In?0:e.length-1];else{const s=[jn,Rn].includes(t.key);i=x(e,t.target,s,!0)}i&&(i.focus({preventScroll:!0}),Yn.getOrCreateInstance(i).show())}_getChildren(){return G.find(Hn,this._parent)}_getActiveElem(){return this._getChildren().find((t=>this._elemIsActive(t)))||null}_setInitialAttributes(t,e){this._setAttributeIfNotExists(t,"role","tablist");for(const i of e)this._setInitialAttributesOnChild(i)}_setInitialAttributesOnChild(t){t=this._getInnerElement(t);const e=this._elemIsActive(t),i=this._getOuterElement(t);t.setAttribute("aria-selected",e),i!==t&&this._setAttributeIfNotExists(i,"role","presentation"),e||t.setAttribute("tabindex","-1"),this._setAttributeIfNotExists(t,"role","tab"),this._setInitialAttributesOnTargetPanel(t)}_setInitialAttributesOnTargetPanel(t){const e=G.getElementFromSelector(t);e&&(this._setAttributeIfNotExists(e,"role","tabpanel"),t.id&&this._setAttributeIfNotExists(e,"aria-labelledby","".concat(t.id)))}_toggleDropDown(t,e){const i=this._getOuterElement(t);if(!i.classList.contains("dropdown"))return;const s=(t,s)=>{const n=G.findOne(t,i);n&&n.classList.toggle(s,e)};s(Fn,_n),s(".dropdown-menu",Wn),i.setAttribute("aria-expanded",e)}_setAttributeIfNotExists(t,e,i){t.hasAttribute(e)||t.setAttribute(e,i)}_elemIsActive(t){return t.classList.contains(_n)}_getInnerElement(t){return t.matches(Hn)?t:G.findOne(Hn,t)}_getOuterElement(t){return t.closest(".nav-item, .list-group-item")||t}static jQueryInterface(t){return this.each((function(){const e=Yn.getOrCreateInstance(this);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError('No method named "'.concat(t,'"'));e[t]()}}))}}N.on(document,En,Xn,(function(t){["A","AREA"].includes(this.tagName)&&t.preventDefault(),l(this)||Yn.getOrCreateInstance(this).show()})),N.on(window,Ln,(()=>{for(const t of G.find(Un))Yn.getOrCreateInstance(t)})),g(Yn);const Vn=".bs.toast",qn="mouseover".concat(Vn),Kn="mouseout".concat(Vn),$n="focusin".concat(Vn),Zn="focusout".concat(Vn),Qn="hide".concat(Vn),Jn="hidden".concat(Vn),tr="show".concat(Vn),er="shown".concat(Vn),ir="hide",sr="show",nr="showing",rr={animation:"boolean",autohide:"boolean",delay:"number"},or={animation:!0,autohide:!0,delay:5e3};class ar extends W{constructor(t,e){super(t,e),this._timeout=null,this._hasMouseInteraction=!1,this._hasKeyboardInteraction=!1,this._setListeners()}static get Default(){return or}static get DefaultType(){return rr}static get NAME(){return"toast"}show(){N.trigger(this._element,tr).defaultPrevented||(this._clearTimeout(),this._config.animation&&this._element.classList.add("fade"),this._element.classList.remove(ir),d(this._element),this._element.classList.add(sr,nr),this._queueCallback((()=>{this._element.classList.remove(nr),N.trigger(this._element,er),this._maybeScheduleHide()}),this._element,this._config.animation))}hide(){this.isShown()&&(N.trigger(this._element,Qn).defaultPrevented||(this._element.classList.add(nr),this._queueCallback((()=>{this._element.classList.add(ir),this._element.classList.remove(nr,sr),N.trigger(this._element,Jn)}),this._element,this._config.animation)))}dispose(){this._clearTimeout(),this.isShown()&&this._element.classList.remove(sr),super.dispose()}isShown(){return this._element.classList.contains(sr)}_maybeScheduleHide(){this._config.autohide&&(this._hasMouseInteraction||this._hasKeyboardInteraction||(this._timeout=setTimeout((()=>{this.hide()}),this._config.delay)))}_onInteraction(t,e){switch(t.type){case"mouseover":case"mouseout":this._hasMouseInteraction=e;break;case"focusin":case"focusout":this._hasKeyboardInteraction=e}if(e)return void this._clearTimeout();const i=t.relatedTarget;this._element===i||this._element.contains(i)||this._maybeScheduleHide()}_setListeners(){N.on(this._element,qn,(t=>this._onInteraction(t,!0))),N.on(this._element,Kn,(t=>this._onInteraction(t,!1))),N.on(this._element,$n,(t=>this._onInteraction(t,!0))),N.on(this._element,Zn,(t=>this._onInteraction(t,!1)))}_clearTimeout(){clearTimeout(this._timeout),this._timeout=null}static jQueryInterface(t){return this.each((function(){const e=ar.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError('No method named "'.concat(t,'"'));e[t](this)}}))}}return X(ar),g(ar),{Alert:V,Button:K,Carousel:Tt,Collapse:Ft,Dropdown:Hi,Modal:As,Offcanvas:Xs,Popover:un,ScrollSpy:wn,Tab:Yn,Toast:ar,Tooltip:hn}}()},4999:function(t,e,i){var s;"undefined"!=typeof self&&self,t.exports=(s=i(5043),function(t){function e(s){if(i[s])return i[s].exports;var n=i[s]={i:s,l:!1,exports:{}};return t[s].call(n.exports,n,n.exports,e),n.l=!0,n.exports}var i={};return e.m=t,e.c=i,e.d=function(t,i,s){e.o(t,i)||Object.defineProperty(t,i,{configurable:!1,enumerable:!0,get:s})},e.n=function(t){var i=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(i,"a",i),i},e.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},e.p="",e(e.s=0)}([function(t,e,i){"use strict";function s(){return s=Object.assign?Object.assign.bind():function(t){for(var e=1;et.length)&&(e=t.length);for(var i=0,s=new Array(e);i{var s,n,r;r=function(t){"use strict";var e=t?t._modules:{};function i(t,e,i,s){t.hasOwnProperty(e)||(t[e]=s.apply(null,i),"function"==typeof CustomEvent&&window.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:e,module:t[e]}})))}i(e,"Extensions/Pane/PaneComposition.js",[e["Core/Utilities.js"]],(function(t){let{addEvent:e,correctFloat:i,defined:s,pick:n}=t;function r(t){let e,i=this;return t&&i.pane.forEach((s=>{o(t.chartX-i.plotLeft,t.chartY-i.plotTop,s.center)&&(e=s)})),e}function o(t,e,n,r,o){let a=!0,l=n[0],h=n[1];if(s(r)&&s(o)){let s=Math.atan2(i(e-h,8),i(t-l,8));o!==r&&(a=r>o?s>=r&&s<=Math.PI||s<=o&&s>=-Math.PI:s>=r&&s<=i(o,8))}return Math.sqrt(Math.pow(t-l,2)+Math.pow(e-h,2))<=Math.ceil(n[2]/2)&&a}function a(t){this.polar&&(t.options.inverted&&([t.x,t.y]=[t.y,t.x]),t.isInsidePlot=this.pane.some((e=>o(t.x,t.y,e.center,e.axis&&e.axis.normalizedStartAngleRad,e.axis&&e.axis.normalizedEndAngleRad))))}function l(t){let e=this.chart;t.hoverPoint&&t.hoverPoint.plotX&&t.hoverPoint.plotY&&e.hoverPane&&!o(t.hoverPoint.plotX,t.hoverPoint.plotY,e.hoverPane.center)&&(t.hoverPoint=void 0)}function h(t){let e=this.chart;e.polar?(e.hoverPane=e.getHoverPane(t),t.filter=function(i){return i.visible&&!(!t.shared&&i.directTouch)&&n(i.options.enableMouseTracking,!0)&&(!e.hoverPane||i.xAxis.pane===e.hoverPane)}):e.hoverPane=void 0}return{compose:function(t,i){let s=t.prototype;s.getHoverPane||(s.collectionsWithUpdate.push("pane"),s.getHoverPane=r,e(t,"afterIsInsidePlot",a),e(i,"afterGetHoverData",l),e(i,"beforeGetHoverData",h))}}})),i(e,"Extensions/Pane/PaneDefaults.js",[],(function(){return{pane:{center:["50%","50%"],size:"85%",innerSize:"0%",startAngle:0},background:{shape:"circle",borderWidth:1,borderColor:"#cccccc",backgroundColor:{linearGradient:{x1:0,y1:0,x2:0,y2:1},stops:[[0,"#ffffff"],[1,"#e6e6e6"]]},from:-Number.MAX_VALUE,innerRadius:0,to:Number.MAX_VALUE,outerRadius:"105%"}}})),i(e,"Extensions/Pane/Pane.js",[e["Series/CenteredUtilities.js"],e["Extensions/Pane/PaneComposition.js"],e["Extensions/Pane/PaneDefaults.js"],e["Core/Utilities.js"]],(function(t,e,i,s){let{extend:n,merge:r,splat:o}=s;class a{constructor(t,e){this.coll="pane",this.init(t,e)}init(t,e){this.chart=e,this.background=[],e.pane.push(this),this.setOptions(t)}setOptions(t){this.options=t=r(i.pane,this.chart.angular?{background:{}}:void 0,t)}render(){let t=this.options,e=this.chart.renderer;this.group||(this.group=e.g("pane-group").attr({zIndex:t.zIndex||0}).add()),this.updateCenter();let s=this.options.background;if(s){let t=Math.max((s=o(s)).length,this.background.length||0);for(let e=0;er,e.y=e.high,e._plotY=e.plotY,e.plotY=n,l[t]=e.dataLabel,e.dataLabel=e.dataLabelUpper,e.below=i,u?s.align||(s.align=i?"right":"left"):s.verticalAlign||(s.verticalAlign=i?"top":"bottom")}for(this.options.dataLabels=s,o.drawDataLabels&&o.drawDataLabels.apply(this,arguments),t=a;t--;)(e=r[t])&&(e.dataLabelUpper=e.dataLabel,e.dataLabel=l[t],delete e.dataLabels,e.y=e.low,e.plotY=e._plotY)}if(n.enabled||null!==(f=this.hasDataLabels)&&void 0!==f&&f.call(this)){for(t=a;t--;)if(e=r[t]){let{plotHigh:t=0,plotLow:s=0}=e;i=n.inside?ts,e.below=!i,u?n.align||(n.align=i?"left":"right"):n.verticalAlign||(n.verticalAlign=i?"bottom":"top")}this.options.dataLabels=n,o.drawDataLabels&&o.drawDataLabels.apply(this,arguments)}if(s.enabled)for(t=a;t--;)(e=r[t])&&(e.dataLabels=[e.dataLabelUpper,e.dataLabel].filter((function(t){return!!t})));this.options.dataLabels=h}}alignDataLabel(){a.alignDataLabel.apply(this,arguments)}modifyMarkerSettings(){let t={marker:this.options.marker,symbol:this.symbol};if(this.options.lowMarker){let{options:{marker:t,lowMarker:e}}=this;this.options.marker=f(t,e),e.symbol&&(this.symbol=e.symbol)}return t}restoreMarkerSettings(t){this.options.marker=t.marker,this.symbol=t.symbol}drawPoints(){let t,e,i=this.points.length,s=this.modifyMarkerSettings();for(o.drawPoints.apply(this,arguments),this.restoreMarkerSettings(s),t=0;t=0&&e.plotY<=this.yAxis.len&&e.plotX>=0&&e.plotX<=this.xAxis.len),t++;for(o.drawPoints.apply(this,arguments),t=0;t\u25cf {series.name}: {point.low} - {point.high}
'},trackByArea:!0,dataLabels:{align:void 0,verticalAlign:void 0,xLow:0,xHigh:0,yLow:0,yHigh:0}}),l(g,"afterTranslate",(function(){"low,high"===this.pointArrayMap.join(",")&&this.points.forEach((t=>{let e=t.high,i=t.plotY;t.isNull?t.plotY=void 0:(t.plotLow=i,t.plotHigh=u(e)?this.yAxis.translate(this.dataModify?this.dataModify.modifyValue(e):e,!1,!0,void 0,!0):void 0,this.dataModify&&(t.yBottom=t.plotHigh))}))}),{order:0}),l(g,"afterTranslate",(function(){this.points.forEach((t=>{if(this.chart.polar)this.highToXY(t),t.plotLow=t.plotY,t.tooltipPos=[((t.plotHighX||0)+(t.plotLowX||0))/2,((t.plotHigh||0)+(t.plotLow||0))/2];else{let e=t.pos(!1,t.plotLow),i=t.pos(!1,t.plotHigh);e&&i&&(e[0]=(e[0]+i[0])/2,e[1]=(e[1]+i[1])/2),t.tooltipPos=e}}))}),{order:3}),c(g.prototype,{deferTranslatePolar:!0,pointArrayMap:["low","high"],pointClass:t,pointValKey:"low",setStackedPoints:n}),i.registerSeriesType("arearange",g),g})),i(e,"Series/AreaSplineRange/AreaSplineRangeSeries.js",[e["Series/AreaRange/AreaRangeSeries.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],(function(t,e,i){let{spline:{prototype:s}}=e.seriesTypes,{merge:n,extend:r}=i;class o extends t{}return o.defaultOptions=n(t.defaultOptions),r(o.prototype,{getPointSpline:s.getPointSpline}),e.registerSeriesType("areasplinerange",o),o})),i(e,"Series/BoxPlot/BoxPlotSeriesDefaults.js",[],(function(){return{threshold:null,tooltip:{pointFormat:'\u25cf {series.name}
Maximum: {point.high}
Upper quartile: {point.q3}
Median: {point.median}
Lower quartile: {point.q1}
Minimum: {point.low}
'},whiskerLength:"50%",fillColor:"#ffffff",lineWidth:1,medianWidth:2,whiskerWidth:2}})),i(e,"Series/BoxPlot/BoxPlotSeries.js",[e["Series/BoxPlot/BoxPlotSeriesDefaults.js"],e["Series/Column/ColumnSeries.js"],e["Core/Globals.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],(function(t,e,i,s,n){let{noop:r}=i,{extend:o,merge:a,pick:l}=n;class h extends e{pointAttribs(){return{}}translate(){let t=this.yAxis,e=this.pointArrayMap;super.translate.apply(this),this.points.forEach((function(i){e.forEach((function(e){null!==i[e]&&(i[e+"Plot"]=t.translate(i[e],0,1,0,1))})),i.plotHigh=i.highPlot}))}drawPoints(){let t,e,i,s,n,r,o,a,h,c,d,u,p=this.points,f=this.options,g=this.chart,m=g.renderer,y=!1!==this.doQuartiles,x=this.options.whiskerLength,v=0;for(let b of p){let p=(o=b.graphic)?"animate":"attr",S=b.shapeArgs,k={},w={},C={},A={},M=b.color||this.color;if(void 0!==b.plotY){let T;a=Math.round(S.width),c=(h=Math.floor(S.x))+a,d=Math.round(a/2),t=Math.floor(y?b.q1Plot:b.lowPlot),e=Math.floor(y?b.q3Plot:b.lowPlot),i=Math.floor(b.highPlot),s=Math.floor(b.lowPlot),o||(b.graphic=o=m.g("point").add(this.group),b.stem=m.path().addClass("highcharts-boxplot-stem").add(o),x&&(b.whiskers=m.path().addClass("highcharts-boxplot-whisker").add(o)),y&&(b.box=m.path(void 0).addClass("highcharts-boxplot-box").add(o)),b.medianShape=m.path(void 0).addClass("highcharts-boxplot-median").add(o)),g.styledMode||(w.stroke=b.stemColor||f.stemColor||M,w["stroke-width"]=l(b.stemWidth,f.stemWidth,f.lineWidth),w.dashstyle=b.stemDashStyle||f.stemDashStyle||f.dashStyle,b.stem.attr(w),x&&(C.stroke=b.whiskerColor||f.whiskerColor||M,C["stroke-width"]=l(b.whiskerWidth,f.whiskerWidth,f.lineWidth),C.dashstyle=b.whiskerDashStyle||f.whiskerDashStyle||f.dashStyle,b.whiskers.attr(C)),y&&(k.fill=b.fillColor||f.fillColor||M,k.stroke=f.lineColor||M,k["stroke-width"]=f.lineWidth||0,k.dashstyle=b.boxDashStyle||f.boxDashStyle||f.dashStyle,b.box.attr(k)),A.stroke=b.medianColor||f.medianColor||M,A["stroke-width"]=l(b.medianWidth,f.medianWidth,f.lineWidth),A.dashstyle=b.medianDashStyle||f.medianDashStyle||f.dashStyle,b.medianShape.attr(A)),T=[["M",v=h+d+(r=b.stem.strokeWidth()%2/2),e],["L",v,i],["M",v,t],["L",v,s]],b.stem[p]({d:T}),y&&(t=Math.floor(t)+(r=b.box.strokeWidth()%2/2),e=Math.floor(e)+r,h+=r,c+=r,T=[["M",h,e],["L",h,t],["L",c,t],["L",c,e],["L",h,e],["Z"]],b.box[p]({d:T})),x&&(i+=r=b.whiskers.strokeWidth()%2/2,s+=r,T=[["M",v-(u=/%$/.test(x)?d*parseFloat(x)/100:x/2),i],["L",v+u,i],["M",v-u,s],["L",v+u,s]],b.whiskers[p]({d:T})),T=[["M",h,n=Math.round(b.medianPlot)+(r=b.medianShape.strokeWidth()%2/2)],["L",c,n]],b.medianShape[p]({d:T})}}}toYData(t){return[t.low,t.q1,t.median,t.q3,t.high]}}return h.defaultOptions=a(e.defaultOptions,t),o(h.prototype,{pointArrayMap:["low","q1","median","q3","high"],pointValKey:"high",drawDataLabels:r,setStackedPoints:r}),s.registerSeriesType("boxplot",h),h})),i(e,"Series/Bubble/BubbleLegendDefaults.js",[],(function(){return{borderColor:void 0,borderWidth:2,className:void 0,color:void 0,connectorClassName:void 0,connectorColor:void 0,connectorDistance:60,connectorWidth:1,enabled:!1,labels:{className:void 0,allowOverlap:!1,format:"",formatter:void 0,align:"right",style:{fontSize:"0.9em",color:"#000000"},x:0,y:0},maxSize:60,minSize:10,legendIndex:0,ranges:{value:void 0,borderColor:void 0,color:void 0,connectorColor:void 0},sizeBy:"area",sizeByAbsoluteValue:!1,zIndex:1,zThreshold:0}})),i(e,"Series/Bubble/BubbleLegendItem.js",[e["Core/Color/Color.js"],e["Core/Templating.js"],e["Core/Globals.js"],e["Core/Utilities.js"]],(function(t,e,i,s){let{parse:n}=t,{noop:r}=i,{arrayMax:o,arrayMin:a,isNumber:l,merge:h,pick:c,stableSort:d}=s;return class{constructor(t,e){this.setState=r,this.init(t,e)}init(t,e){this.options=t,this.visible=!0,this.chart=e.chart,this.legend=e}addToLegend(t){t.splice(this.options.legendIndex,0,this)}drawLegendSymbol(t){let e,i=c(t.options.itemDistance,20),s=this.legendItem||{},n=this.options,r=n.ranges,o=n.connectorDistance;if(!r||!r.length||!l(r[0].value))return void(t.options.bubbleLegend.autoRanges=!0);d(r,(function(t,e){return e.value-t.value})),this.ranges=r,this.setOptions(),this.render();let a=this.getMaxLabelSize(),h=this.ranges[0].radius,u=2*h;e=(e=o-h+a.width)>0?e:0,this.maxLabel=a,this.movementX="left"===n.labels.align?e:0,s.labelWidth=u+e+i,s.labelHeight=u+a.height/2}setOptions(){let t=this.ranges,e=this.options,i=this.chart.series[e.seriesIndex],s=this.legend.baseline,r={zIndex:e.zIndex,"stroke-width":e.borderWidth},o={zIndex:e.zIndex,"stroke-width":e.connectorWidth},a={align:this.legend.options.rtl||"left"===e.labels.align?"right":"left",zIndex:e.zIndex},l=i.options.marker.fillOpacity,d=this.chart.styledMode;t.forEach((function(u,p){d||(r.stroke=c(u.borderColor,e.borderColor,i.color),r.fill=c(u.color,e.color,1!==l?n(i.color).setOpacity(l).get("rgba"):i.color),o.stroke=c(u.connectorColor,e.connectorColor,i.color)),t[p].radius=this.getRangeRadius(u.value),t[p]=h(t[p],{center:t[0].radius-t[p].radius+s}),d||h(!0,t[p],{bubbleAttribs:h(r),connectorAttribs:h(o),labelAttribs:a})}),this)}getRangeRadius(t){let e=this.options,i=this.options.seriesIndex,s=this.chart.series[i],n=e.ranges[0].value,r=e.ranges[e.ranges.length-1].value,o=e.minSize,a=e.maxSize;return s.getRadius.call(this,r,n,o,a,t)}render(){let t=this.legendItem||{},e=this.chart.renderer,i=this.options.zThreshold;for(let s of(this.symbols||(this.symbols={connectors:[],bubbleItems:[],labels:[]}),t.symbol=e.g("bubble-legend"),t.label=e.g("bubble-legend-item").css(this.legend.itemStyle||{}),t.symbol.translateX=0,t.symbol.translateY=0,t.symbol.add(t.label),t.label.add(t.group),this.ranges))s.value>=i&&this.renderRange(s);this.hideOverlappingLabels()}renderRange(t){let e=this.ranges[0],i=this.legend,s=this.options,n=s.labels,r=this.chart,o=r.series[s.seriesIndex],a=r.renderer,l=this.symbols,h=l.labels,c=t.center,d=Math.abs(t.radius),u=s.connectorDistance||0,p=n.align,f=i.options.rtl,g=s.borderWidth,m=s.connectorWidth,y=e.radius||0,x=c-d-g/2+m/2,v=(x%1?1:.5)-(m%2?0:.5),b=a.styledMode,S=f||"left"===p?-u:u;"center"===p&&(S=0,s.connectorDistance=0,t.labelAttribs.align="center"),l.bubbleItems.push(a.circle(y,c+v,d).attr(b?{}:t.bubbleAttribs).addClass((b?"highcharts-color-"+o.colorIndex+" ":"")+"highcharts-bubble-legend-symbol "+(s.className||"")).add(this.legendItem.symbol)),l.connectors.push(a.path(a.crispLine([["M",y,x],["L",y+S,x]],s.connectorWidth)).attr(b?{}:t.connectorAttribs).addClass((b?"highcharts-color-"+this.options.seriesIndex+" ":"")+"highcharts-bubble-legend-connectors "+(s.connectorClassName||"")).add(this.legendItem.symbol));let k=a.text(this.formatLabel(t)).attr(b?{}:t.labelAttribs).css(b?{}:n.style).addClass("highcharts-bubble-legend-labels "+(s.labels.className||"")).add(this.legendItem.symbol),w={x:y+S+s.labels.x,y:x+s.labels.y+.4*k.getBBox().height};k.attr(w),h.push(k),k.placed=!0,k.alignAttr=w}getMaxLabelSize(){let t,e;return this.symbols.labels.forEach((function(i){e=i.getBBox(!0),t=t?e.width>t.width?e:t:e})),t||{}}formatLabel(t){let i=this.options,s=i.labels.formatter,n=i.labels.format,{numberFormatter:r}=this.chart;return n?e.format(n,t):s?s.call(t):r(t.value,1)}hideOverlappingLabels(){let t=this.chart,e=this.options.labels.allowOverlap,i=this.symbols;!e&&i&&(t.hideOverlappingLabels(i.labels),i.labels.forEach((function(t,e){t.newOpacity?t.newOpacity!==t.oldOpacity&&i.connectors[e].show():i.connectors[e].hide()})))}getRanges(){let t,e,i=this.legend.bubbleLegend,s=i.chart.series,n=i.options.ranges,r=Number.MAX_VALUE,d=-Number.MAX_VALUE;return s.forEach((function(t){t.isBubble&&!t.ignoreSeries&&(e=t.zData.filter(l)).length&&(r=c(t.options.zMin,Math.min(r,Math.max(a(e),!1===t.options.displayNegative?t.options.zThreshold:-Number.MAX_VALUE))),d=c(t.options.zMax,Math.max(d,o(e))))})),t=r===d?[{value:d}]:[{value:r},{value:(r+d)/2},{value:d,autoRanges:!0}],n.length&&n[0].radius&&t.reverse(),t.forEach((function(e,i){n&&n[i]&&(t[i]=h(n[i],e))})),t}predictBubbleSizes(){let t,e=this.chart,i=e.legend.options,s=i.floating,n="horizontal"===i.layout,r=n?e.legend.lastLineHeight:0,o=e.plotSizeX,a=e.plotSizeY,l=e.series[this.options.seriesIndex],h=l.getPxExtremes(),c=Math.ceil(h.minPxSize),d=Math.ceil(h.maxPxSize),u=l.options.maxSize;return s||!/%$/.test(u)?t=d:(t=(Math.min(a,o)+r)*(u=parseFloat(u))/100/(u/100+1),(n&&a-t>=o||!n&&o-t>=a)&&(t=d)),[c,Math.ceil(t)]}updateRanges(t,e){let i=this.legend.options.bubbleLegend;i.minSize=t,i.maxSize=e,i.ranges=this.getRanges()}correctSizes(){let t=this.legend,e=this.chart.series[this.options.seriesIndex].getPxExtremes();Math.abs(Math.ceil(e.maxPxSize)-this.options.maxSize)>1&&(this.updateRanges(this.options.minSize,e.maxPxSize),t.render())}}})),i(e,"Series/Bubble/BubbleLegendComposition.js",[e["Series/Bubble/BubbleLegendDefaults.js"],e["Series/Bubble/BubbleLegendItem.js"],e["Core/Defaults.js"],e["Core/Globals.js"],e["Core/Utilities.js"]],(function(t,e,i,s,n){let{setOptions:r}=i,{composed:o}=s,{addEvent:a,objectEach:l,pushUnique:h,wrap:c}=n;function d(t,e,i){let s,n,r,o=this.legend,a=u(this)>=0;o&&o.options.enabled&&o.bubbleLegend&&o.options.bubbleLegend.autoRanges&&a?(s=o.bubbleLegend.options,n=o.bubbleLegend.predictBubbleSizes(),o.bubbleLegend.updateRanges(n[0],n[1]),s.placed||(o.group.placed=!1,o.allItems.forEach((t=>{(r=t.legendItem||{}).group&&(r.group.translateY=void 0)}))),o.render(),this.getMargins(),this.axes.forEach((function(t){t.visible&&t.render(),s.placed||(t.setScale(),t.updateNames(),l(t.ticks,(function(t){t.isNew=!0,t.isNewLabel=!0})))})),s.placed=!0,this.getMargins(),t.call(this,e,i),o.bubbleLegend.correctSizes(),m(o,p(o))):(t.call(this,e,i),o&&o.options.enabled&&o.bubbleLegend&&(o.render(),m(o,p(o))))}function u(t){let e=t.series,i=0;for(;ie.height&&(e.height=n[l].itemHeight);e.step=a}return r}function f(t){let i=this.bubbleLegend,s=this.options,n=s.bubbleLegend,r=u(this.chart);i&&i.ranges&&i.ranges.length&&(n.ranges.length&&(n.autoRanges=!!n.ranges[0].autoRanges),this.destroyItem(i)),r>=0&&s.enabled&&n.enabled&&(n.seriesIndex=r,this.bubbleLegend=new e(n,this),this.bubbleLegend.addToLegend(t.allItems))}function g(t){let e;if(t.defaultPrevented)return!1;let i=this.chart,s=this.visible,n=this.chart.legend;n&&n.bubbleLegend&&(this.visible=!s,this.ignoreSeries=s,e=u(i)>=0,n.bubbleLegend.visible!==e&&(n.update({bubbleLegend:{enabled:e}}),n.bubbleLegend.visible=e),this.visible=s)}function m(t,e){let i,s,n,r,o=t.allItems,a=t.options.rtl,l=0;o.forEach(((t,o)=>{(r=t.legendItem||{}).group&&(i=r.group.translateX||0,s=r.y||0,((n=t.movementX)||a&&t.ranges)&&(n=a?i-t.options.maxSize/2:i+n,r.group.attr({translateX:n})),o>e[l].step&&l++,r.group.attr({translateY:Math.round(s+e[l].height/2)}),r.y=s+e[l].height/2)}))}return{compose:function(e,i,s){h(o,"Series.BubbleLegend")&&(r({legend:{bubbleLegend:t}}),c(e.prototype,"drawChartBox",d),a(i,"afterGetAllItems",f),a(s,"legendItemClick",g))}}})),i(e,"Series/Bubble/BubblePoint.js",[e["Core/Series/Point.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],(function(t,e,i){let{seriesTypes:{scatter:{prototype:{pointClass:s}}}}=e,{extend:n}=i;class r extends s{haloPath(e){return t.prototype.haloPath.call(this,0===e?0:(this.marker&&this.marker.radius||0)+e)}}return n(r.prototype,{ttBelow:!1}),r})),i(e,"Series/Bubble/BubbleSeries.js",[e["Series/Bubble/BubbleLegendComposition.js"],e["Series/Bubble/BubblePoint.js"],e["Core/Color/Color.js"],e["Core/Globals.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],(function(t,e,i,s,n,r){let{parse:o}=i,{composed:a,noop:l}=s,{series:h,seriesTypes:{column:{prototype:c},scatter:d}}=n,{addEvent:u,arrayMax:p,arrayMin:f,clamp:g,extend:m,isNumber:y,merge:x,pick:v,pushUnique:b}=r;function S(){let t,e=this.len,{coll:i,isXAxis:s,min:n}=this,r=s?"xData":"yData",o=(this.max||0)-(n||0),a=0,l=e,h=e/o;("xAxis"===i||"yAxis"===i)&&(this.series.forEach((e=>{if(e.bubblePadding&&e.reserveSpace()){this.allowZoomOutside=!0,t=!0;let i=e[r];if(s&&((e.onPoint||e).getRadii(0,0,e),e.onPoint&&(e.radii=e.onPoint.radii)),o>0){let t=i.length;for(;t--;)if(y(i[t])&&this.dataMin<=i[t]&&i[t]<=this.max){let s=e.radii&&e.radii[t]||0;a=Math.min((i[t]-n)*h-s,a),l=Math.max((i[t]-n)*h+s,l)}}}})),t&&o>0&&!this.logarithmic&&(l-=e,h*=(e+Math.max(0,a)-Math.min(l,e))/e,[["min","userMin",a],["max","userMax",l]].forEach((t=>{void 0===v(this.options[t[0]],this[t[1]])&&(this[t[0]]+=t[2]/h)}))))}class k extends d{static compose(e,i,s,n){t.compose(i,s,n),b(a,"Series.Bubble")&&u(e,"foundExtremes",S)}animate(t){!t&&this.points.length{if(s.bubblePadding&&s.reserveSpace()){let n=(s.onPoint||s).getZExtremes();n&&(e=Math.min(v(e,n.zMin),n.zMin),i=Math.max(v(i,n.zMax),n.zMax),t=!0)}})),t?(o={zMin:e,zMax:i},this.chart.bubbleZExtremes=o):o={zMin:0,zMax:0}}for(e=0,t=s.length;e0&&(c=(n-t)/h)}return a&&c>=0&&(c=Math.sqrt(c)),Math.ceil(i+c*(s-i))/2}hasData(){return!!this.processedXData.length}pointAttribs(t,e){let i=this.options.marker.fillOpacity,s=h.prototype.pointAttribs.call(this,t,e);return 1!==i&&(s.fill=o(s.fill).setOpacity(i).get("rgba")),s}translate(){super.translate.call(this),this.getRadii(),this.translateBubble()}translateBubble(){let{data:t,options:e,radii:i}=this,{minPxSize:s}=this.getPxExtremes(),n=t.length;for(;n--;){let r=t[n],o=i?i[n]:0;"z"===this.zoneAxis&&(r.negative=(r.z||0)<(e.zThreshold||0)),y(o)&&o>=s/2?(r.marker=m(r.marker,{radius:o,width:2*o,height:2*o}),r.dlBox={x:r.plotX-o,y:r.plotY-o,width:2*o,height:2*o}):(r.shapeArgs=r.plotY=r.dlBox=void 0,r.isInside=!1)}}getPxExtremes(){let t=Math.min(this.chart.plotWidth,this.chart.plotHeight),e=e=>{let i;return"string"==typeof e&&(i=/%$/.test(e),e=parseInt(e,10)),i?t*e/100:e},i=e(v(this.options.minSize,8));return{minPxSize:i,maxPxSize:Math.max(e(v(this.options.maxSize,"20%")),i)}}getZExtremes(){let t=this.options,e=(this.zData||[]).filter(y);if(e.length){let i=v(t.zMin,g(f(e),!1===t.displayNegative?t.zThreshold||0:-Number.MAX_VALUE,Number.MAX_VALUE)),s=v(t.zMax,p(e));if(y(i)&&y(s))return{zMin:i,zMax:s}}}}return k.defaultOptions=x(d.defaultOptions,{dataLabels:{formatter:function(){let{numberFormatter:t}=this.series.chart,{z:e}=this.point;return y(e)?t(e,-1):""},inside:!0,verticalAlign:"middle"},animationLimit:250,marker:{lineColor:null,lineWidth:1,fillOpacity:.5,radius:null,states:{hover:{radiusPlus:0}},symbol:"circle"},minSize:8,maxSize:"20%",softThreshold:!1,states:{hover:{halo:{size:5}}},tooltip:{pointFormat:"({point.x}, {point.y}), Size: {point.z}"},turboThreshold:0,zThreshold:0,zoneAxis:"z"}),m(k.prototype,{alignDataLabel:c.alignDataLabel,applyZones:l,bubblePadding:!0,isBubble:!0,pointArrayMap:["y","z"],pointClass:e,parallelArrays:["x","y","z"],trackerGroups:["group","dataLabelsGroup"],specialGroup:"group",zoneAxis:"z"}),u(k,"updatedData",(t=>{delete t.target.chart.bubbleZExtremes})),u(k,"remove",(t=>{delete t.target.chart.bubbleZExtremes})),n.registerSeriesType("bubble",k),k})),i(e,"Series/ColumnRange/ColumnRangePoint.js",[e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],(function(t,e){let{seriesTypes:{column:{prototype:{pointClass:{prototype:i}}},arearange:{prototype:{pointClass:s}}}}=t,{extend:n,isNumber:r}=e;class o extends s{isValid(){return r(this.low)}}return n(o.prototype,{setState:i.setState}),o})),i(e,"Series/ColumnRange/ColumnRangeSeries.js",[e["Series/ColumnRange/ColumnRangePoint.js"],e["Core/Globals.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],(function(t,e,i,s){let{noop:n}=e,{seriesTypes:{arearange:r,column:o,column:{prototype:a}}}=i,{addEvent:l,clamp:h,extend:c,isNumber:d,merge:u,pick:p}=s;class f extends r{setOptions(){return u(!0,arguments[0],{stacking:void 0}),r.prototype.setOptions.apply(this,arguments)}translate(){return a.translate.apply(this)}pointAttribs(){return a.pointAttribs.apply(this,arguments)}translate3dPoints(){return a.translate3dPoints.apply(this,arguments)}translate3dShapes(){return a.translate3dShapes.apply(this,arguments)}afterColumnTranslate(){let t,e,i,s,n=this.yAxis,r=this.xAxis,o=r.startAngleRad,a=this.chart,l=this.xAxis.isRadial,c=Math.max(a.chartWidth,a.chartHeight)+999;this.points.forEach((f=>{let g=f.shapeArgs||{},m=this.options.minPointLength,y=f.plotY,x=n.translate(f.high,0,1,0,1);if(d(x)&&d(y))if(f.plotHigh=h(x,-c,c),f.plotLow=h(y,-c,c),s=f.plotHigh,Math.abs(t=p(f.rectPlotY,f.plotY)-f.plotHigh)\u25cf {series.name}: {point.low} - {point.high}
'},whiskerWidth:null}})),i(e,"Series/ErrorBar/ErrorBarSeries.js",[e["Series/BoxPlot/BoxPlotSeries.js"],e["Series/Column/ColumnSeries.js"],e["Series/ErrorBar/ErrorBarSeriesDefaults.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],(function(t,e,i,s,n){let{arearange:r}=s.seriesTypes,{addEvent:o,merge:a,extend:l}=n;class h extends t{getColumnMetrics(){return this.linkedParent&&this.linkedParent.columnMetrics||e.prototype.getColumnMetrics.call(this)}drawDataLabels(){let t=this.pointValKey;if(r)for(let e of(r.prototype.drawDataLabels.call(this),this.points))e.y=e[t]}toYData(t){return[t.low,t.high]}}return h.defaultOptions=a(t.defaultOptions,i),o(h,"afterTranslate",(function(){for(let t of this.points)t.plotLow=t.plotY}),{order:0}),l(h.prototype,{pointArrayMap:["low","high"],pointValKey:"high",doQuartiles:!1}),s.registerSeriesType("errorbar",h),h})),i(e,"Series/Gauge/GaugePoint.js",[e["Core/Series/SeriesRegistry.js"]],(function(t){let{series:{prototype:{pointClass:e}}}=t;return class extends e{setState(t){this.state=t}}})),i(e,"Series/Gauge/GaugeSeries.js",[e["Series/Gauge/GaugePoint.js"],e["Core/Globals.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],(function(t,e,i,s){let{noop:n}=e,{series:r,seriesTypes:{column:o}}=i,{clamp:a,isNumber:l,extend:h,merge:c,pick:d,pInt:u,defined:p}=s;class f extends r{translate(){let t=this.yAxis,e=this.options,i=t.center;this.generatePoints(),this.points.forEach((s=>{let n=c(e.dial,s.dial),r=u(n.radius)*i[2]/200,o=u(n.baseLength)*r/100,h=u(n.rearLength)*r/100,d=n.baseWidth,f=n.topWidth,g=e.overshoot,m=t.startAngleRad+t.translate(s.y,void 0,void 0,void 0,!0);(l(g)||!1===e.wrap)&&(g=l(g)?g/180*Math.PI:0,m=a(m,t.startAngleRad-g,t.endAngleRad+g)),m=180*m/Math.PI,s.shapeType="path";let y=n.path||[["M",-h,-d/2],["L",o,-d/2],["L",r,-f/2],["L",r,f/2],["L",o,d/2],["L",-h,d/2],["Z"]];s.shapeArgs={d:y,translateX:i[0],translateY:i[1],rotation:m},s.plotX=i[0],s.plotY=i[1],p(s.y)&&t.max-t.min&&(s.percentage=(s.y-t.min)/(t.max-t.min)*100)}))}drawPoints(){let t=this,e=t.chart,i=t.yAxis.center,s=t.pivot,n=t.options,r=n.pivot,o=e.renderer;t.points.forEach((i=>{let s=i.graphic,r=i.shapeArgs,a=r.d,l=c(n.dial,i.dial);s?(s.animate(r),r.d=a):i.graphic=o[i.shapeType](r).addClass("highcharts-dial").add(t.group),e.styledMode||i.graphic[s?"animate":"attr"]({stroke:l.borderColor,"stroke-width":l.borderWidth,fill:l.backgroundColor})})),s?s.animate({translateX:i[0],translateY:i[1]}):r&&(t.pivot=o.circle(0,0,r.radius).attr({zIndex:2}).addClass("highcharts-pivot").translate(i[0],i[1]).add(t.group),e.styledMode||t.pivot.attr({fill:r.backgroundColor,stroke:r.borderColor,"stroke-width":r.borderWidth}))}animate(t){let e=this;t||e.points.forEach((t=>{let i=t.graphic;i&&(i.attr({rotation:180*e.yAxis.startAngleRad/Math.PI}),i.animate({rotation:t.shapeArgs.rotation},e.options.animation))}))}render(){this.group=this.plotGroup("group","series",this.visible?"inherit":"hidden",this.options.zIndex,this.chart.seriesGroup),r.prototype.render.call(this),this.group.clip(this.chart.clipRect)}setData(t,e){r.prototype.setData.call(this,t,!1),this.processData(),this.generatePoints(),d(e,!0)&&this.chart.redraw()}hasData(){return!!this.points.length}}return f.defaultOptions=c(r.defaultOptions,{dataLabels:{borderColor:"#cccccc",borderRadius:3,borderWidth:1,crop:!1,defer:!1,enabled:!0,verticalAlign:"top",y:15,zIndex:2},dial:{backgroundColor:"#000000",baseLength:"70%",baseWidth:3,borderColor:"#cccccc",borderWidth:0,radius:"80%",rearLength:"10%",topWidth:1},pivot:{radius:5,borderWidth:0,borderColor:"#cccccc",backgroundColor:"#000000"},tooltip:{headerFormat:""},showInLegend:!1}),h(f.prototype,{angular:!0,directTouch:!0,drawGraph:n,drawTracker:o.prototype.drawTracker,fixedBox:!0,forceDL:!0,noSharedTooltip:!0,pointClass:t,trackerGroups:["group","dataLabelsGroup"]}),i.registerSeriesType("gauge",f),f})),i(e,"Series/DragNodesComposition.js",[e["Core/Globals.js"],e["Core/Utilities.js"]],(function(t,e){let{composed:i}=t,{addEvent:s,pushUnique:n}=e;function r(){let t,e,i,n=this;n.container&&(t=s(n.container,"mousedown",(t=>{let r=n.hoverPoint;r&&r.series&&r.series.hasDraggableNodes&&r.series.options.draggable&&(r.series.onMouseDown(r,t),e=s(n.container,"mousemove",(t=>r&&r.series&&r.series.onMouseMove(r,t))),i=s(n.container.ownerDocument,"mouseup",(t=>(e(),i(),r&&r.series&&r.series.onMouseUp(r,t)))))}))),s(n,"destroy",(function(){t()}))}return{compose:function(t){n(i,"DragNodes")&&s(t,"load",r)},onMouseDown:function(t,e){var i;let s=(null===(i=this.chart.pointer)||void 0===i?void 0:i.normalize(e))||e;t.fixedPosition={chartX:s.chartX,chartY:s.chartY,plotX:t.plotX,plotY:t.plotY},t.inDragMode=!0},onMouseMove:function(t,e){if(t.fixedPosition&&t.inDragMode){var i;let s,n,r=this.chart,o=(null===(i=r.pointer)||void 0===i?void 0:i.normalize(e))||e,a=t.fixedPosition.chartX-o.chartX,l=t.fixedPosition.chartY-o.chartY,h=r.graphLayoutsLookup;(Math.abs(a)>5||Math.abs(l)>5)&&(s=t.fixedPosition.plotX-a,n=t.fixedPosition.plotY-l,r.isInsidePlot(s,n)&&(t.plotX=s,t.plotY=n,t.hasDragged=!0,this.redrawHalo(t),h.forEach((t=>{t.restartSimulation()}))))}},onMouseUp:function(t){t.fixedPosition&&(t.hasDragged&&(this.layout.enableSimulation?this.layout.start():this.chart.redraw()),t.inDragMode=t.hasDragged=!1,this.options.fixedDraggable||delete t.fixedPosition)},redrawHalo:function(t){t&&this.halo&&this.halo.attr({d:t.haloPath(this.options.states.hover.halo.size)})}}})),i(e,"Series/GraphLayoutComposition.js",[e["Core/Animation/AnimationUtilities.js"],e["Core/Globals.js"],e["Core/Utilities.js"]],(function(t,e,i){let{setAnimation:s}=t,{composed:n}=e,{addEvent:r,pushUnique:o}=i;function a(){this.graphLayoutsLookup&&(this.graphLayoutsLookup.forEach((t=>{t.updateSimulation()})),this.redraw())}function l(){this.graphLayoutsLookup&&(this.graphLayoutsLookup.forEach((t=>{t.updateSimulation(!1)})),this.redraw())}function h(){this.graphLayoutsLookup&&this.graphLayoutsLookup.forEach((t=>{t.stop()}))}function c(){let t,e=!1,i=i=>{i.maxIterations--&&isFinite(i.temperature)&&!i.isStable()&&!i.enableSimulation&&(i.beforeStep&&i.beforeStep(),i.step(),t=!1,e=!0)};if(this.graphLayoutsLookup){for(s(!1,this),this.graphLayoutsLookup.forEach((t=>t.start()));!t;)t=!0,this.graphLayoutsLookup.forEach(i);e&&this.series.forEach((t=>{t&&t.layout&&t.render()}))}}return{compose:function(t){o(n,"GraphLayout")&&(r(t,"afterPrint",a),r(t,"beforePrint",l),r(t,"predraw",h),r(t,"render",c))},integrations:{},layouts:{}}})),i(e,"Series/PackedBubble/PackedBubblePoint.js",[e["Core/Chart/Chart.js"],e["Core/Series/Point.js"],e["Core/Series/SeriesRegistry.js"]],(function(t,e,i){let{seriesTypes:{bubble:{prototype:{pointClass:s}}}}=i;return class extends s{destroy(){return this.series.layout&&this.series.layout.removeElementFromCollection(this,this.series.layout.nodes),e.prototype.destroy.apply(this,arguments)}firePointEvent(){let t=this.series.options;if(this.isParentNode&&t.parentNode){let i=t.allowPointSelect;t.allowPointSelect=t.parentNode.allowPointSelect,e.prototype.firePointEvent.apply(this,arguments),t.allowPointSelect=i}else e.prototype.firePointEvent.apply(this,arguments)}select(){let i=this.series.chart;this.isParentNode?(i.getSelectedPoints=i.getSelectedParentNodes,e.prototype.select.apply(this,arguments),i.getSelectedPoints=t.prototype.getSelectedPoints):e.prototype.select.apply(this,arguments)}}})),i(e,"Series/PackedBubble/PackedBubbleSeriesDefaults.js",[e["Core/Utilities.js"]],(function(t){let{isNumber:e}=t;return{minSize:"10%",maxSize:"50%",sizeBy:"area",zoneAxis:"y",crisp:!1,tooltip:{pointFormat:"Value: {point.value}"},draggable:!0,useSimulation:!0,parentNode:{allowPointSelect:!1},dataLabels:{formatter:function(){let{numberFormatter:t}=this.series.chart,{value:i}=this.point;return e(i)?t(i,-1):""},parentNodeFormatter:function(){return this.name},parentNodeTextPath:{enabled:!0},padding:0,style:{transition:"opacity 2000ms"}},layoutAlgorithm:{initialPositions:"circle",initialPositionRadius:20,bubblePadding:5,parentNodeLimit:!1,seriesInteraction:!0,dragBetweenSeries:!1,parentNodeOptions:{maxIterations:400,gravitationalConstant:.03,maxSpeed:50,initialPositionRadius:100,seriesInteraction:!0,marker:{fillColor:null,fillOpacity:1,lineWidth:null,lineColor:null,symbol:"circle"}},enableSimulation:!0,type:"packedbubble",integration:"packedbubble",maxIterations:1e3,splitSeries:!1,maxSpeed:5,gravitationalConstant:.01,friction:-.981}}})),i(e,"Series/Networkgraph/VerletIntegration.js",[],(function(){return{attractive:function(t,e,i){let s=t.getMass(),n=-i.x*e*this.diffTemperature,r=-i.y*e*this.diffTemperature;t.fromNode.fixedPosition||(t.fromNode.plotX-=n*s.fromNode/t.fromNode.degree,t.fromNode.plotY-=r*s.fromNode/t.fromNode.degree),t.toNode.fixedPosition||(t.toNode.plotX+=n*s.toNode/t.toNode.degree,t.toNode.plotY+=r*s.toNode/t.toNode.degree)},attractiveForceFunction:function(t,e){return(e-t)/t},barycenter:function(){let t=this.options.gravitationalConstant,e=this.barycenter.xFactor,i=this.barycenter.yFactor;e=(e-(this.box.left+this.box.width)/2)*t,i=(i-(this.box.top+this.box.height)/2)*t,this.nodes.forEach((function(t){t.fixedPosition||(t.plotX-=e/t.mass/t.degree,t.plotY-=i/t.mass/t.degree)}))},getK:function(t){return Math.pow(t.box.width*t.box.height/t.nodes.length,.5)},integrate:function(t,e){let i=-t.options.friction,s=t.options.maxSpeed,n=e.prevX,r=e.prevY,o=(e.plotX+e.dispX-n)*i,a=(e.plotY+e.dispY-r)*i,l=Math.abs,h=l(o)/(o||1),c=l(a)/(a||1);o=h*Math.min(s,Math.abs(o)),a=c*Math.min(s,Math.abs(a)),e.prevX=e.plotX+e.dispX,e.prevY=e.plotY+e.dispY,e.plotX+=o,e.plotY+=a,e.temperature=t.vectorLength({x:o,y:a})},repulsive:function(t,e,i){let s=e*this.diffTemperature/t.mass/t.degree;t.fixedPosition||(t.plotX+=i.x*s,t.plotY+=i.y*s)},repulsiveForceFunction:function(t,e){return(e-t)/t*(e>t?1:0)}}})),i(e,"Series/PackedBubble/PackedBubbleIntegration.js",[e["Core/Globals.js"],e["Series/Networkgraph/VerletIntegration.js"]],(function(t,e){let{noop:i}=t;return{barycenter:function(){let t,e,i=this.options.gravitationalConstant,s=this.box,n=this.nodes;for(let r of n)this.options.splitSeries&&!r.isParentNode?(t=r.series.parentNode.plotX,e=r.series.parentNode.plotY):(t=s.width/2,e=s.height/2),r.fixedPosition||(r.plotX-=(r.plotX-t)*i/(r.mass*Math.sqrt(n.length)),r.plotY-=(r.plotY-e)*i/(r.mass*Math.sqrt(n.length)))},getK:i,integrate:e.integrate,repulsive:function(t,e,i,s){let n=e*this.diffTemperature/t.mass/t.degree,r=i.x*n,o=i.y*n;t.fixedPosition||(t.plotX+=r,t.plotY+=o),s.fixedPosition||(s.plotX-=r,s.plotY-=o)},repulsiveForceFunction:function(t,e,i,s){return Math.min(t,(i.marker.radius+s.marker.radius)/2)}}})),i(e,"Series/Networkgraph/EulerIntegration.js",[],(function(){return{attractive:function(t,e,i,s){let n=t.getMass(),r=i.x/s*e,o=i.y/s*e;t.fromNode.fixedPosition||(t.fromNode.dispX-=r*n.fromNode/t.fromNode.degree,t.fromNode.dispY-=o*n.fromNode/t.fromNode.degree),t.toNode.fixedPosition||(t.toNode.dispX+=r*n.toNode/t.toNode.degree,t.toNode.dispY+=o*n.toNode/t.toNode.degree)},attractiveForceFunction:function(t,e){return t*t/e},barycenter:function(){let t=this.options.gravitationalConstant,e=this.barycenter.xFactor,i=this.barycenter.yFactor;this.nodes.forEach((function(s){if(!s.fixedPosition){let n=s.getDegree(),r=n*(1+n/2);s.dispX+=(e-s.plotX)*t*r/s.degree,s.dispY+=(i-s.plotY)*t*r/s.degree}}))},getK:function(t){return Math.pow(t.box.width*t.box.height/t.nodes.length,.3)},integrate:function(t,e){let i;e.dispX+=e.dispX*t.options.friction,e.dispY+=e.dispY*t.options.friction,0!==(i=e.temperature=t.vectorLength({x:e.dispX,y:e.dispY}))&&(e.plotX+=e.dispX/i*Math.min(Math.abs(e.dispX),t.temperature),e.plotY+=e.dispY/i*Math.min(Math.abs(e.dispY),t.temperature))},repulsive:function(t,e,i,s){t.dispX+=i.x/s*e/t.degree,t.dispY+=i.y/s*e/t.degree},repulsiveForceFunction:function(t,e){return e*e/t}}})),i(e,"Series/Networkgraph/QuadTreeNode.js",[],(function(){class t{constructor(t){this.body=!1,this.isEmpty=!1,this.isInternal=!1,this.nodes=[],this.box=t,this.boxSize=Math.min(t.width,t.height)}divideBox(){let e=this.box.width/2,i=this.box.height/2;this.nodes[0]=new t({left:this.box.left,top:this.box.top,width:e,height:i}),this.nodes[1]=new t({left:this.box.left+e,top:this.box.top,width:e,height:i}),this.nodes[2]=new t({left:this.box.left+e,top:this.box.top+i,width:e,height:i}),this.nodes[3]=new t({left:this.box.left,top:this.box.top+i,width:e,height:i})}getBoxPosition(t){let e=t.plotXthis.step()))):(this.simulation=!1,this.series.forEach((t=>{c(t,"afterSimulation")})))}}stop(){this.simulation&&o.cancelAnimationFrame(this.simulation)}setArea(t,e,i,s){this.box={left:t,top:e,width:i,height:s}}setK(){this.k=this.options.linkLength||this.integration.getK(this)}addElementsToCollection(t,e){for(let i of t)-1===e.indexOf(i)&&e.push(i)}removeElementFromCollection(t,e){let i=e.indexOf(t);-1!==i&&e.splice(i,1)}clear(){this.nodes.length=0,this.links.length=0,this.series.length=0,this.resetSimulation()}resetSimulation(){this.forcedStop=!1,this.systemTemperature=0,this.setMaxIterations(),this.setTemperature(),this.setDiffTemperature()}restartSimulation(){this.simulation?this.resetSimulation():(this.setInitialRendering(!1),this.enableSimulation?this.start():this.setMaxIterations(1),this.chart&&this.chart.redraw(),this.setInitialRendering(!0))}setMaxIterations(t){this.maxIterations=d(t,this.options.maxIterations)}setTemperature(){this.temperature=this.startTemperature=Math.sqrt(this.nodes.length)}setDiffTemperature(){this.diffTemperature=this.startTemperature/(this.options.maxIterations+1)}setInitialRendering(t){this.initialRendering=t}createQuadTree(){this.quadTree=new s(this.box.left,this.box.top,this.box.width,this.box.height),this.quadTree.insertNodes(this.nodes)}initPositions(){let t=this.options.initialPositions;if(h(t))for(let e of(t.call(this),this.nodes))l(e.prevX)||(e.prevX=e.plotX),l(e.prevY)||(e.prevY=e.plotY),e.dispX=0,e.dispY=0;else"circle"===t?this.setCircularPositions():this.setRandomPositions()}setCircularPositions(){let t,e=this.box,i=this.nodes,s=2*Math.PI/(i.length+1),n=i.filter((function(t){return 0===t.linksTo.length})),r={},o=this.options.initialPositionRadius,a=t=>{for(let e of t.linksFrom||[])r[e.toNode.id]||(r[e.toNode.id]=!0,l.push(e.toNode),a(e.toNode))},l=[];for(let h of n)l.push(h),a(h);if(l.length)for(let h of i)-1===l.indexOf(h)&&l.push(h);else l=i;for(let h=0,c=l.length;h{let e=t*t/Math.PI;return e-Math.floor(e)};for(let r=0,o=i.length;r1?e-1:0),s=1;sthis.barnesHutApproximation(t,e)));else{let t,e,i;for(let s of this.nodes)for(let n of this.nodes)s===n||s.fixedPosition||(i=this.getDistXY(s,n),0!==(e=this.vectorLength(i))&&(t=this.repulsiveForce(e,this.k),this.force("repulsive",s,t*n.mass,i,e)))}}attractiveForces(){let t,e,i;for(let s of this.links)s.fromNode&&s.toNode&&(t=this.getDistXY(s.fromNode,s.toNode),0!==(e=this.vectorLength(t))&&(i=this.attractiveForce(e,this.k),this.force("attractive",s,i,t,e)))}applyLimits(){for(let t of this.nodes){if(t.fixedPosition)return;this.integration.integrate(this,t),this.applyLimitBox(t,this.box),t.dispX=0,t.dispY=0}}applyLimitBox(t,e){let i=t.radius;t.plotX=a(t.plotX,e.left+i,e.width-i),t.plotY=a(t.plotY,e.top+i,e.height-i)}coolDown(t,e,i){return t-e*i}isStable(){return 1e-5>Math.abs(this.systemTemperature-this.prevSystemTemperature)||this.temperature<=0}getSystemTemperature(){let t=0;for(let e of this.nodes)t+=e.temperature;return t}vectorLength(t){return Math.sqrt(t.x*t.x+t.y*t.y)}getDistR(t,e){let i=this.getDistXY(t,e);return this.vectorLength(i)}getDistXY(t,e){let i=t.plotX-e.plotX,s=t.plotY-e.plotY;return{x:i,y:s,absX:Math.abs(i),absY:Math.abs(s)}}}return u})),i(e,"Series/PackedBubble/PackedBubbleLayout.js",[e["Series/GraphLayoutComposition.js"],e["Series/PackedBubble/PackedBubbleIntegration.js"],e["Series/Networkgraph/ReingoldFruchtermanLayout.js"],e["Core/Utilities.js"]],(function(t,e,i,s){let{addEvent:n,pick:r}=s;function o(){let t=this.series,e=[];return t.forEach((t=>{t.parentNode&&t.parentNode.selected&&e.push(t.parentNode)})),e}function a(){this.allDataPoints&&delete this.allDataPoints}class l extends i{constructor(){super(...arguments),this.index=NaN,this.nodes=[],this.series=[]}static compose(s){i.compose(s),t.integrations.packedbubble=e,t.layouts.packedbubble=l;let r=s.prototype;r.getSelectedParentNodes||(n(s,"beforeRedraw",a),r.getSelectedParentNodes=o)}beforeStep(){this.options.marker&&this.series.forEach((t=>{t&&t.calculateParentRadius()}))}isStable(){let t=Math.abs(this.prevSystemTemperature-this.systemTemperature);return 1>Math.abs(10*this.systemTemperature/Math.sqrt(this.nodes.length))&&t<1e-5||this.temperature<=0}setCircularPositions(){let t,e,i=this.box,s=this.nodes,n=2*Math.PI/(s.length+1),o=this.options.initialPositionRadius,a=0;for(let l of s)this.options.splitSeries&&!l.isParentNode?(t=l.series.parentNode.plotX,e=l.series.parentNode.plotY):(t=i.width/2,e=i.height/2),l.plotX=l.prevX=r(l.plotX,t+o*Math.cos(l.index||a*n)),l.plotY=l.prevY=r(l.plotY,e+o*Math.sin(l.index||a*n)),l.dispX=0,l.dispY=0,a++}repulsiveForces(){let t,e,i,s=this,n=s.options.bubblePadding;s.nodes.forEach((r=>{r.degree=r.mass,r.neighbours=0,s.nodes.forEach((o=>{t=0,r!==o&&!r.fixedPosition&&(s.options.seriesInteraction||r.series===o.series)&&(i=s.getDistXY(r,o),(e=s.vectorLength(i)-(r.marker.radius+o.marker.radius+n))<0&&(r.degree+=.01,r.neighbours++,t=s.repulsiveForce(-e/Math.sqrt(r.neighbours),s.k,r,o)),s.force("repulsive",r,t*o.mass,i,o,e))}))}))}applyLimitBox(t,e){let i,s;this.options.splitSeries&&!t.isParentNode&&this.options.parentNodeLimit&&(i=this.getDistXY(t,t.series.parentNode),(s=t.series.parentNodeRadius-t.marker.radius-this.vectorLength(i))<0&&s>-2*t.marker.radius&&(t.plotX-=.01*i.x,t.plotY-=.01*i.y)),super.applyLimitBox(t,e)}}return t.layouts.packedbubble=l,l})),i(e,"Series/SimulationSeriesUtilities.js",[e["Core/Utilities.js"],e["Core/Animation/AnimationUtilities.js"]],(function(t,e){let{merge:i,syncTimeout:s}=t,{animObject:n}=e;return{initDataLabels:function(){let t=this.options.dataLabels;if(!this.dataLabelsGroup){let e=this.initDataLabelsGroup();return!this.chart.styledMode&&null!==t&&void 0!==t&&t.style&&e.css(t.style),e.attr({opacity:0}),this.visible&&e.show(),e}return this.dataLabelsGroup.attr(i({opacity:1},this.getPlotBox("data-labels"))),this.dataLabelsGroup},initDataLabelsDefer:function(){var t;let e=this.options.dataLabels;null!==e&&void 0!==e&&e.defer&&null!==(t=this.options.layoutAlgorithm)&&void 0!==t&&t.enableSimulation?s((()=>{this.deferDataLabels=!1}),e?n(e.animation).defer:0):this.deferDataLabels=!1}}})),i(e,"Series/PackedBubble/PackedBubbleSeries.js",[e["Core/Color/Color.js"],e["Series/DragNodesComposition.js"],e["Series/GraphLayoutComposition.js"],e["Core/Globals.js"],e["Series/PackedBubble/PackedBubblePoint.js"],e["Series/PackedBubble/PackedBubbleSeriesDefaults.js"],e["Series/PackedBubble/PackedBubbleLayout.js"],e["Core/Series/SeriesRegistry.js"],e["Series/SimulationSeriesUtilities.js"],e["Core/Utilities.js"]],(function(t,e,i,s,n,r,o,a,l,h){let{parse:c}=t,{noop:d}=s,{series:{prototype:u},seriesTypes:{bubble:p}}=a,{initDataLabels:f,initDataLabelsDefer:g}=l,{addEvent:m,clamp:y,defined:x,extend:v,fireEvent:b,isArray:S,isNumber:k,merge:w,pick:C}=h;class A extends p{constructor(){super(...arguments),this.parentNodeMass=0,this.deferDataLabels=!0}static compose(t,i,s,n){p.compose(t,i,s,n),e.compose(i),o.compose(i)}accumulateAllPoints(){let t,e=this.chart,i=[];for(let s of e.series)if(s.is("packedbubble")&&s.reserveSpace()){t=s.yData||[];for(let e=0;e{t.mass=2,t.degree=1,t.collisionNmb=1})),t.setArea(0,0,this.chart.plotWidth,this.chart.plotHeight),t.addElementsToCollection([this],t.series),t.addElementsToCollection(this.points,t.nodes)}addSeriesLayout(){let t=this.options.layoutAlgorithm=this.options.layoutAlgorithm||{},e=t.type||"packedbubble",s=this.chart.graphLayoutsStorage,n=this.chart.graphLayoutsLookup,r=w(t,t.parentNodeOptions,{enableSimulation:this.layout.options.enableSimulation}),o=s[e+"-series"];o||(s[e+"-series"]=o=new i.layouts[e],o.init(r),n.splice(o.index,0,o)),this.parentNodeLayout=o,this.createParentNodes()}calculateParentRadius(){let t=this.seriesBox();this.parentNodeRadius=y(Math.sqrt(2*this.parentNodeMass/Math.PI)+20,20,t?Math.max(Math.sqrt(Math.pow(t.width,2)+Math.pow(t.height,2))/2+20,20):Math.sqrt(2*this.parentNodeMass/Math.PI)+20),this.parentNode&&(this.parentNode.marker.radius=this.parentNode.radius=this.parentNodeRadius)}calculateZExtremes(){let t=this.chart.series,e=this.options.zMin,i=this.options.zMax,s=1/0,n=-1/0;return e&&i?[e,i]:(t.forEach((t=>{t.yData.forEach((t=>{x(t)&&(t>n&&(n=t),t{this.parentNodeMass+=Math.PI*Math.pow(t.marker.radius,2)})),this.calculateParentRadius(),s.nodes.forEach((e=>{e.seriesIndex===this.index&&(t=!0)})),s.setArea(0,0,i.plotWidth,i.plotHeight),t||(r||(r=new e(this,{mass:this.parentNodeRadius/2,marker:o,dataLabels:{inside:!1},states:{normal:{marker:o},hover:{marker:o}},dataLabelOnNull:!0,degree:this.parentNodeRadius,isParentNode:!0,seriesIndex:this.index})),this.parentNode&&(r.plotX=this.parentNode.plotX,r.plotY=this.parentNode.plotY),this.parentNode=r,s.addElementsToCollection([this],s.series),s.addElementsToCollection([r],s.nodes))}deferLayout(){let t=this.options.layoutAlgorithm;this.visible&&(this.addLayout(),t.splitSeries&&this.addSeriesLayout())}destroy(){this.chart.graphLayoutsLookup&&this.chart.graphLayoutsLookup.forEach((t=>{t.removeElementFromCollection(this,t.series)}),this),this.parentNode&&this.parentNodeLayout&&(this.parentNodeLayout.removeElementFromCollection(this.parentNode,this.parentNodeLayout.nodes),this.parentNode.dataLabel&&(this.parentNode.dataLabel=this.parentNode.dataLabel.destroy())),u.destroy.apply(this,arguments)}drawDataLabels(){!this.deferDataLabels&&(u.drawDataLabels.call(this,this.points),this.parentNode&&(this.parentNode.formatPrefix="parentNode",u.drawDataLabels.call(this,[this.parentNode])))}drawGraph(){var t;if(!this.layout||!this.layout.options.splitSeries)return;let e=this.chart,i=this.layout.options.parentNodeOptions.marker,s={fill:i.fillColor||c(this.color).brighten(.4).get(),opacity:i.fillOpacity,stroke:i.lineColor||this.color,"stroke-width":C(i.lineWidth,this.options.lineWidth)},n={};this.parentNodesGroup=this.plotGroup("parentNodesGroup","parentNode",this.visible?"inherit":"hidden",.1,e.seriesGroup),null!==(t=this.group)&&void 0!==t&&t.attr({zIndex:2}),this.calculateParentRadius(),this.parentNode&&x(this.parentNode.plotX)&&x(this.parentNode.plotY)&&x(this.parentNodeRadius)&&(n=w({x:this.parentNode.plotX-this.parentNodeRadius,y:this.parentNode.plotY-this.parentNodeRadius,width:2*this.parentNodeRadius,height:2*this.parentNodeRadius},s),this.parentNode.graphic||(this.graph=this.parentNode.graphic=e.renderer.symbol(s.symbol).add(this.parentNodesGroup)),this.parentNode.graphic.attr(n))}drawTracker(){let t,e=this.parentNode;super.drawTracker(),e&&(t=S(e.dataLabels)?e.dataLabels:e.dataLabel?[e.dataLabel]:[],e.graphic&&(e.graphic.element.point=e),t.forEach((t=>{(t.div||t.element).point=e})))}getPointRadius(){let t,e,i,s,n=this.chart,r=n.plotWidth,o=n.plotHeight,a=this.options,l=a.useSimulation,h=Math.min(r,o),c={},d=[],u=n.allDataPoints||[],p=u.length;["minSize","maxSize"].forEach((t=>{let e=parseInt(a[t],10),i=/%$/.test(a[t]);c[t]=i?h*e/100:e*Math.sqrt(p)})),n.minRadius=t=c.minSize/Math.sqrt(p),n.maxRadius=e=c.maxSize/Math.sqrt(p);let f=l?this.calculateZExtremes():[t,e];u.forEach(((n,r)=>{i=l?y(n[2],f[0],f[1]):n[2],0===(s=this.getRadius(f[0],f[1],t,e,i))&&(s=null),u[r][2]=s,d.push(s)})),this.radii=d}init(){return u.init.apply(this,arguments),g.call(this),this.eventsToUnbind.push(m(this,"updatedData",(function(){this.chart.series.forEach((t=>{t.type===this.type&&(t.isDirty=!0)}),this)}))),this}onMouseUp(t){if(t.fixedPosition&&!t.removed){let i,s=this.layout,n=this.parentNodeLayout;n&&s.options.dragBetweenSeries&&n.nodes.forEach((e=>{t&&t.marker&&e!==t.series.parentNode&&(i=s.getDistXY(t,e),s.vectorLength(i)-e.marker.radius-t.marker.radius<0&&(e.series.addPoint(w(t.options,{plotX:t.plotX,plotY:t.plotY}),!1),s.removeElementFromCollection(t,s.nodes),t.remove()))})),e.onMouseUp.apply(this,arguments)}}placeBubbles(t){let e,i,s=this.checkOverlap,n=this.positionBubble,r=[],o=1,a=0,l=0,h=[],c=t.sort(((t,e)=>e[2]-t[2]));if(c.length){if(r.push([[0,0,c[0][2],c[0][3],c[0][4]]]),c.length>1)for(r.push([[0,0-c[1][2]-c[0][2],c[1][2],c[1][3],c[1][4]]]),i=2;i1&&r[o-1][l+1]&&s(e,r[o-1][l+1])?(l++,r[o].push(n(r[o][a],r[o-1][l],c[i])),a++):(a++,r[o].push(e));this.chart.stages=r,this.chart.rawPositions=[].concat.apply([],r),this.resizeRadius(),h=this.chart.rawPositions}return h}pointAttribs(t,e){let i=this.options,s=t&&t.isParentNode,n=i.marker;s&&i.layoutAlgorithm&&i.layoutAlgorithm.parentNodeOptions&&(n=i.layoutAlgorithm.parentNodeOptions.marker);let r=n.fillOpacity,o=u.pointAttribs.call(this,t,e);return 1!==r&&(o["fill-opacity"]=r),o}positionBubble(t,e,i){let s=Math.pow,n=(0,Math.sqrt)(s(t[0]-e[0],2)+s(t[1]-e[1],2)),r=(0,Math.acos)((s(n,2)+s(i[2]+e[2],2)-s(i[2]+t[2],2))/(2*(i[2]+e[2])*n)),o=(0,Math.asin)((0,Math.abs)(t[0]-e[0])/n),a=(t[1]-e[1]<0?0:Math.PI)+r+o*((t[0]-e[0])*(t[1]-e[1])<0?1:-1);return[e[0]+(e[2]+i[2])*Math.sin(a),e[1]-(e[2]+i[2])*Math.cos(a),i[2],i[3],i[4]]}render(){let t=[];u.render.apply(this,arguments),!this.options.dataLabels.allowOverlap&&(this.data.forEach((e=>{S(e.dataLabels)&&e.dataLabels.forEach((e=>{t.push(e)}))})),this.options.useSimulation&&this.chart.hideOverlappingLabels(t))}resizeRadius(){let t,e,i,s,n,r=this.chart,o=r.rawPositions,a=Math.min,l=Math.max,h=r.plotLeft,c=r.plotTop,d=r.plotHeight,u=r.plotWidth;for(let m of(t=i=Number.POSITIVE_INFINITY,e=s=Number.NEGATIVE_INFINITY,o))n=m[2],t=a(t,m[0]-n),e=l(e,m[0]+n),i=a(i,m[1]-n),s=l(s,m[1]+n);let p=[e-t,s-i],f=[(u-h)/p[0],(d-c)/p[1]],g=a.apply([],f);if(Math.abs(g-1)>1e-10){for(let t of o)t[2]*=g;this.placeBubbles(o)}else r.diffY=d/2+c-i-(s-i)/2,r.diffX=u/2+h-t-(e-t)/2}seriesBox(){let t,e=this.chart,i=this.data,s=Math.max,n=Math.min,r=[e.plotLeft,e.plotLeft+e.plotWidth,e.plotTop,e.plotTop+e.plotHeight];return i.forEach((e=>{x(e.plotX)&&x(e.plotY)&&e.marker.radius&&(t=e.marker.radius,r[0]=n(r[0],e.plotX-t),r[1]=s(r[1],e.plotX+t),r[2]=n(r[2],e.plotY-t),r[3]=s(r[3],e.plotY+t))})),k(r.width/r.height)?r:null}setVisible(){let t=this;u.setVisible.apply(t,arguments),t.parentNodeLayout&&t.graph?t.visible?(t.graph.show(),t.parentNode.dataLabel&&t.parentNode.dataLabel.show()):(t.graph.hide(),t.parentNodeLayout.removeElementFromCollection(t.parentNode,t.parentNodeLayout.nodes),t.parentNode.dataLabel&&t.parentNode.dataLabel.hide()):t.layout&&(t.visible?t.layout.addElementsToCollection(t.points,t.layout.nodes):t.points.forEach((e=>{t.layout.removeElementFromCollection(e,t.layout.nodes)})))}translate(){let t,e,i,s=this.chart,n=this.data,r=this.index,o=this.options.useSimulation;for(let a of(this.processedXData=this.xData,this.generatePoints(),x(s.allDataPoints)||(s.allDataPoints=this.accumulateAllPoints(),this.getPointRadius()),o?i=s.allDataPoints:(i=this.placeBubbles(s.allDataPoints),this.options.draggable=!1),i))a[3]===r&&(t=n[a[4]],e=C(a[2],void 0),o||(t.plotX=a[0]-s.plotLeft+s.diffX,t.plotY=a[1]-s.plotTop+s.diffY),k(e)&&(t.marker=v(t.marker,{radius:e,width:2*e,height:2*e}),t.radius=e));o&&this.deferLayout(),b(this,"afterTranslate")}}return A.defaultOptions=w(p.defaultOptions,r),v(A.prototype,{pointClass:n,axisTypes:[],directTouch:!0,forces:["barycenter","repulsive"],hasDraggableNodes:!0,invertible:!1,isCartesian:!1,noSharedTooltip:!0,pointArrayMap:["value"],pointValKey:"value",requireSorting:!1,trackerGroups:["group","dataLabelsGroup","parentNodesGroup"],initDataLabels:f,alignDataLabel:u.alignDataLabel,indexateNodes:d,onMouseDown:e.onMouseDown,onMouseMove:e.onMouseMove,redrawHalo:e.redrawHalo,searchPoint:d}),a.registerSeriesType("packedbubble",A),A})),i(e,"Series/Polygon/PolygonSeriesDefaults.js",[],(function(){return{marker:{enabled:!1,states:{hover:{enabled:!1}}},stickyTracking:!1,tooltip:{followPointer:!0,pointFormat:""},trackByArea:!0,legendSymbol:"rectangle"}})),i(e,"Series/Polygon/PolygonSeries.js",[e["Core/Globals.js"],e["Series/Polygon/PolygonSeriesDefaults.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],(function(t,e,i,s){let{noop:n}=t,{area:r,line:o,scatter:a}=i.seriesTypes,{extend:l,merge:h}=s;class c extends a{getGraphPath(){let t=o.prototype.getGraphPath.call(this),e=t.length+1;for(;e--;)(e===t.length||"M"===t[e][0])&&e>0&&t.splice(e,0,["Z"]);return this.areaPath=t,t}drawGraph(){this.options.fillColor=this.color,r.prototype.drawGraph.call(this)}}return c.defaultOptions=h(a.defaultOptions,e),l(c.prototype,{type:"polygon",drawTracker:o.prototype.drawTracker,setStackedPoints:n}),i.registerSeriesType("polygon",c),c})),i(e,"Core/Axis/RadialAxis.js",[e["Core/Defaults.js"],e["Core/Globals.js"],e["Core/Utilities.js"]],(function(t,e,i){var s;let{defaultOptions:n}=t,{composed:r,noop:o}=e,{addEvent:a,correctFloat:l,defined:h,extend:c,fireEvent:d,isObject:u,merge:p,pick:f,pushUnique:g,relativeLength:m,wrap:y}=i;return function(t){let e={gridLineWidth:1,labels:{align:void 0,x:0,y:void 0,style:{textOverflow:"none"}},maxPadding:0,minPadding:0,showLastLabel:!1,tickLength:0},i={endOnTick:!1,gridLineWidth:0,labels:{align:"center",distance:-25,x:0,y:void 0},lineWidth:1,minorGridLineWidth:0,minorTickInterval:"auto",minorTickLength:10,minorTickPosition:"inside",minorTickWidth:1,startOnTick:!1,tickLength:10,tickPixelInterval:100,tickPosition:"inside",tickWidth:2,title:{rotation:0,text:""},zIndex:2},s={gridLineInterpolation:"circle",gridLineWidth:1,labels:{align:"right",x:-3,y:-2},showLastLabel:!1,title:{x:4,text:null,rotation:90}};function x(){this.autoConnect=this.isCircular&&void 0===f(this.userMax,this.options.max)&&l(this.endAngleRad-this.startAngleRad)===l(2*Math.PI),!this.isCircular&&this.chart.inverted&&this.max++,this.autoConnect&&(this.max+=(this.categories?1:this.pointRange)||this.closestPointRange||0)}function v(){return()=>{if(this.isRadial&&this.tickPositions&&this.options.labels&&!0!==this.options.labels.allowOverlap)return this.tickPositions.map((t=>this.ticks[t]&&this.ticks[t].label)).filter((t=>!!t))}}function b(){return o}function S(t,e,i){let s,n,r,o=this.pane.center,a=t.value;return this.isCircular?(h(a)?t.point&&(t.point.shapeArgs||{}).start&&(a=this.chart.inverted?this.translate(t.point.rectPlotY,!0):t.point.x):(n=t.chartX||0,r=t.chartY||0,a=this.translate(Math.atan2(r-i,n-e)-this.startAngleRad,!0)),n=(s=this.getPosition(a)).x,r=s.y):(h(a)||(n=t.chartX,r=t.chartY),h(n)&&h(r)&&(i=o[1]+this.chart.plotTop,a=this.translate(Math.min(Math.sqrt(Math.pow(n-e,2)+Math.pow(r-i,2)),o[2]/2)-o[3]/2,!0))),[a,n||0,r||0]}function k(t,e,i){let s,n,r=this.pane.center,o=this.chart,a=this.left||0,l=this.top||0,h=f(e,r[2]/2-this.offset);return void 0===i&&(i=this.horiz?0:this.center&&-this.center[3]/2),i&&(h+=i),this.isCircular||void 0!==e?((n=this.chart.renderer.symbols.arc(a+r[0],l+r[1],h,h,{start:this.startAngleRad,end:this.endAngleRad,open:!0,innerR:0})).xBounds=[a+r[0]],n.yBounds=[l+r[1]-h]):(s=this.postTranslate(this.angleRad,h),n=[["M",this.center[0]+o.plotLeft,this.center[1]+o.plotTop],["L",s.x,s.y]]),n}function w(){this.constructor.prototype.getOffset.call(this),this.chart.axisOffset[this.side]=0}function C(t,e,i){let s,n,r,o,a,l,h=this.chart,c=t=>{if("string"==typeof t){let e=parseInt(t,10);return x.test(t)&&(e=e*p/100),e}return t},d=this.center,u=this.startAngleRad,p=d[2]/2,g=Math.min(this.offset,0),m=this.left||0,y=this.top||0,x=/%$/,v=this.isCircular,b=f(c(i.outerRadius),p),S=c(i.innerRadius),k=f(c(i.thickness),10);if("polygon"===this.options.gridLineInterpolation)l=this.getPlotLinePath({value:t}).concat(this.getPlotLinePath({value:e,reverse:!0}));else{t=Math.max(t,this.min),e=Math.min(e,this.max);let c=this.translate(t),p=this.translate(e);v||(b=c||0,S=p||0),"circle"!==i.shape&&v?(s=u+(c||0),n=u+(p||0)):(s=-Math.PI/2,n=1.5*Math.PI,a=!0),b-=g,k-=g,l=h.renderer.symbols.arc(m+d[0],y+d[1],b,b,{start:Math.min(s,n),end:Math.max(s,n),innerR:f(S,b-k),open:a}),v&&(r=(n+s)/2,o=m+d[0]+d[2]/2*Math.cos(r),l.xBounds=r>-Math.PI/2&&r-Math.PI&&r<0||r>Math.PI?-10:10)}return l}function A(t){let e,i,s,n,r,o,a,l,h,c=this.pane.center,d=this.chart,u=d.inverted,p=t.reverse,f=this.pane.options.background?this.pane.options.background[0]||this.pane.options.background:{},g=f.innerRadius||"0%",y=f.outerRadius||"100%",x=c[0]+d.plotLeft,v=c[1]+d.plotTop,b=this.height,S=t.isCrosshair,k=c[3]/2,w=t.value,C=this.getPosition(w),A=C.x,M=C.y;if(S&&(w=(l=this.getCrosshairPosition(t,x,v))[0],A=l[1],M=l[2]),this.isCircular)i=Math.sqrt(Math.pow(A-x,2)+Math.pow(M-v,2)),s="string"==typeof g?m(g,1):g/i,n="string"==typeof y?m(y,1):y/i,c&&k&&(s<(e=k/i)&&(s=e),nb)&&(w=0),"circle"===this.options.gridLineInterpolation)h=this.getLinePath(0,w,k);else if(h=[],d[u?"yAxis":"xAxis"].forEach((t=>{t.pane===this.pane&&(r=t)})),r){a=r.tickPositions,r.autoConnect&&(a=a.concat([a[0]])),p&&(a=a.slice().reverse()),w&&(w+=k);for(let t=0;tMath.PI&&(r-=t),o>Math.PI&&(o-=t),this.normalizedStartAngleRad=r,this.normalizedEndAngleRad=o}}function O(t){this.isRadial&&(t.align=void 0,t.preventDefault())}function L(){if(this.chart&&this.chart.labelCollectors){let t=this.labelCollector?this.chart.labelCollectors.indexOf(this.labelCollector):-1;t>=0&&this.chart.labelCollectors.splice(t,1)}}function D(t){let e,i=this.chart,s=i.angular,n=i.polar,r=this.isXAxis,a=this.coll,l=t.userOptions.pane||0,h=this.pane=i.pane&&i.pane[l];"colorAxis"!==a?(s?(s&&r?(this.isHidden=!0,this.createLabelCollector=b,this.getOffset=o,this.redraw=B,this.render=B,this.setScale=o,this.setCategories=o,this.setTitle=o):P(this),e=!r):n&&(P(this),e=this.horiz),s||n?(this.isRadial=!0,this.labelCollector||(this.labelCollector=this.createLabelCollector()),this.labelCollector&&i.labelCollectors.push(this.labelCollector)):this.isRadial=!1,h&&e&&(h.axis=this),this.isCircular=e):this.isRadial=!1}function j(){this.isRadial&&this.beforeSetTickPositions()}function N(t){let e=this.label;if(!e)return;let i,s=this.axis,n=e.getBBox(),r=s.options.labels,o=(s.translate(this.pos)+s.startAngleRad+Math.PI/2)/Math.PI*180%360,a=Math.round(o),l=h(r.y)?0:-.3*n.height,c=r.y,d=20,u=r.align,p="end",g=a<0?a+360:a,y=g,x=0,v=0;s.isRadial&&(i=s.getPosition(this.pos,s.center[2]/2+m(f(r.distance,-25),s.center[2]/2,-s.center[2]/2)),"auto"===r.rotation?e.attr({rotation:o}):h(c)||(c=s.chart.renderer.fontMetrics(e).b-n.height/2),h(u)||(s.isCircular?(n.width>s.len*s.tickInterval/(s.max-s.min)&&(d=0),u=o>d&&o<180-d?"left":o>180+d&&o<360-d?"right":"center"):u="center",e.attr({align:u})),"auto"===u&&2===s.tickPositions.length&&s.isCircular&&(g>90&&g<180?g=180-g:g>270&&g<=360&&(g=540-g),y>180&&y<=360&&(y=360-y),(s.pane.options.startAngle===a||s.pane.options.startAngle===a+360||s.pane.options.startAngle===a-360)&&(p="start"),u=a>=-90&&a<=90||a>=-360&&a<=-270||a>=270&&a<=360?"start"===p?"right":"left":"start"===p?"left":"right",y>70&&y<110&&(u="center"),g<15||g>=180&&g<195?x=.3*n.height:g>=15&&g<=35?x="start"===p?0:.75*n.height:g>=195&&g<=215?x="start"===p?.75*n.height:0:g>35&&g<=90?x="start"===p?-.25*n.height:n.height:g>215&&g<=270&&(x="start"===p?n.height:-.25*n.height),y<15?v="start"===p?-.15*n.height:.15*n.height:y>165&&y<=180&&(v="start"===p?.15*n.height:-.15*n.height),e.attr({align:u}),e.translate(v,x+l)),t.pos.x=i.x+(r.x||0),t.pos.y=i.y+(c||0))}function R(t){this.axis.getPosition&&c(t.pos,this.axis.getPosition(this.pos))}function I(t,e){let i=this.chart,s=this.center;return t=this.startAngleRad+t,{x:i.plotLeft+s[0]+Math.cos(t)*e,y:i.plotTop+s[1]+Math.sin(t)*e}}function B(){this.isDirty=!1}function _(){let t,e;this.constructor.prototype.setAxisSize.call(this),this.isRadial&&(this.pane.updateCenter(this),t=this.center=this.pane.center.slice(),this.isCircular?this.sector=this.endAngleRad-this.startAngleRad:(e=this.postTranslate(this.angleRad,t[3]/2),t[0]=e.x-this.chart.plotLeft,t[1]=e.y-this.chart.plotTop),this.len=this.width=this.height=(t[2]-t[3])*f(this.sector,1)/2)}function z(){this.constructor.prototype.setAxisTranslation.call(this),this.center&&(this.isCircular?this.transA=(this.endAngleRad-this.startAngleRad)/(this.max-this.min||1):this.transA=(this.center[2]-this.center[3])/2/(this.max-this.min||1),this.isXAxis?this.minPixelPadding=this.transA*this.minPointOffset:this.minPixelPadding=0)}function W(t){let{coll:r}=this,{angular:o,inverted:a,polar:l}=this.chart,h={};o?this.isXAxis||(h=p(n.yAxis,i)):l&&(h=this.horiz?p(n.xAxis,e):p("xAxis"===r?n.xAxis:n.yAxis,s)),a&&"yAxis"===r&&(h.stackLabels=u(n.yAxis,!0)?n.yAxis.stackLabels:{},h.reversedStacks=!0);let c=this.options=p(h,t);c.plotBands||(c.plotBands=[]),d(this,"afterSetOptions")}function F(t,e,i,s,n,r,o){let a,l=this.axis;return l.isRadial?["M",e,i,"L",(a=l.getPosition(this.pos,l.center[2]/2+s)).x,a.y]:t.call(this,e,i,s,n,r,o)}t.compose=function(t,e){return g(r,"Axis.Radial")&&(a(t,"afterInit",E),a(t,"autoLabelAlign",O),a(t,"destroy",L),a(t,"init",D),a(t,"initialAxisTranslation",j),a(e,"afterGetLabelPosition",N),a(e,"afterGetPosition",R),y(e.prototype,"getMarkPath",F)),t}}(s||(s={})),s})),i(e,"Series/PolarComposition.js",[e["Core/Animation/AnimationUtilities.js"],e["Core/Globals.js"],e["Core/Series/Series.js"],e["Extensions/Pane/Pane.js"],e["Core/Axis/RadialAxis.js"],e["Core/Utilities.js"]],(function(t,e,i,s,n,r){let{animObject:o}=t,{composed:a}=e,{addEvent:l,defined:h,find:c,isNumber:d,merge:u,pick:p,pushUnique:f,relativeLength:g,splat:m,uniqueKey:y,wrap:x}=r;function v(){(this.pane||[]).forEach((t=>{t.render()}))}function b(t){let e=t.args[0].xAxis,i=t.args[0].yAxis,s=t.args[0].chart;e&&i&&("polygon"===i.gridLineInterpolation?(e.startOnTick=!0,e.endOnTick=!0):"polygon"===e.gridLineInterpolation&&s.inverted&&(i.startOnTick=!0,i.endOnTick=!0))}function S(){this.pane||(this.pane=[]),this.options.pane=m(this.options.pane),this.options.pane.forEach((t=>{new s(t,this)}),this)}function k(t){let e=t.args.marker,i=this.chart.xAxis[0],s=this.chart.yAxis[0],n=this.chart.inverted,r=n?s:i,o=n?i:s;if(this.chart.polar){t.preventDefault();let i=(e.attr?e.attr("start"):e.start)-r.startAngleRad,s=e.attr?e.attr("r"):e.r,n=(e.attr?e.attr("end"):e.end)-r.startAngleRad,a=e.attr?e.attr("innerR"):e.innerR;t.result.x=i+r.pos,t.result.width=n-i,t.result.y=o.len+o.pos-s,t.result.height=s-a}}function w(t){let e=this.chart;if(e.polar&&e.hoverPane&&e.hoverPane.axis){t.preventDefault();let i=e.hoverPane.center,s=e.mouseDownX||0,n=e.mouseDownY||0,r=t.args.chartY,o=t.args.chartX,a=2*Math.PI,l=e.hoverPane.axis.startAngleRad,h=e.hoverPane.axis.endAngleRad,c=e.inverted?e.xAxis[0]:e.yAxis[0],d={},u="arc";if(d.x=i[0]+e.plotLeft,d.y=i[1]+e.plotTop,this.zoomHor){let t=l>0?h-l:Math.abs(l)+Math.abs(h),p=Math.atan2(n-e.plotTop-i[1],s-e.plotLeft-i[0])-l,f=Math.atan2(r-e.plotTop-i[1],o-e.plotLeft-i[0])-l;d.r=i[2]/2,d.innerR=i[3]/2,p<=0&&(p+=a),f<=0&&(f+=a),fh+(a-t)/2&&(f=p,p=l<=0?l:0);let g=d.start=Math.max(p+l,l),m=d.end=Math.min(f+l,h);if("polygon"===c.options.gridLineInterpolation){let t=e.hoverPane.axis,s=g-t.startAngleRad+t.pos,n=c.getPlotLinePath({value:c.max}),r=t.toValue(s),o=t.toValue(s+(m-g));if(ri[2]/2&&(c=i[2]/2),at.max?(n[r].isNull=!0,n[r].plotY=NaN):n[r].isNull=n[r].isValid&&!n[r].isValid());this.hasClipCircleSetter||(this.hasClipCircleSetter=!!this.eventsToUnbind.push(l(this,"afterRender",(function(){let t;s.polar&&!1!==this.options.clip&&(t=this.yAxis.pane.center,this.clipCircle?this.clipCircle.animate({x:t[0],y:t[1],r:t[2]/2,innerR:t[3]/2}):this.clipCircle=function(t,e,i,s,n){let r=y(),o=t.createElement("clipPath").attr({id:r}).add(t.defs),a=n?t.arc(e,i,s,n,0,2*Math.PI).add(o):t.circle(e,i,s).add(o);return a.id=r,a.clipPath=o,a}(s.renderer,t[0],t[1],t[2]/2,t[3]/2),this.group.clip(this.clipCircle),this.setClip=e.noop)}))))}}function M(t){let e=this.chart,i=this.xAxis,s=this.yAxis,n=i.pane&&i.pane.center,r=t.chartX-(n&&n[0]||0)-e.plotLeft,o=t.chartY-(n&&n[1]||0)-e.plotTop,a=e.inverted?{clientX:t.chartX-s.pos,plotY:t.chartY-i.pos}:{clientX:180+-180/Math.PI*Math.atan2(r,o)};return this.searchKDTree(a)}function T(t,e,i,s){let n=s.tickInterval,r=s.tickPositions,o=c(r,(t=>t>=i)),a=c([...r].reverse(),(t=>t<=e));return h(o)||(o=r[r.length-1]),h(a)||(a=r[0],o+=n,t[0][0]="L",t.unshift(t[t.length-3])),(t=t.slice(r.indexOf(a),r.indexOf(o)+1))[0][0]="M",t}function P(t,e){return c(this.pane||[],(t=>t.options.id===e))||t.call(this,e)}function E(t,e,s,n,r,o){let a,l,h,c=this.chart,d=p(n.inside,!!this.options.stacking);if(c.polar){if(a=e.rectPlotX/Math.PI*180,c.inverted)this.forceDL=c.isInsidePlot(e.plotX,e.plotY),d&&e.shapeArgs?(l=e.shapeArgs,r=u(r,{x:(h=this.yAxis.postTranslate(((l.start||0)+(l.end||0))/2-this.xAxis.startAngleRad,e.barX+e.pointWidth/2)).x-c.plotLeft,y:h.y-c.plotTop})):e.tooltipPos&&(r=u(r,{x:e.tooltipPos[0],y:e.tooltipPos[1]})),n.align=p(n.align,"center"),n.verticalAlign=p(n.verticalAlign,"middle");else{var f;let t,e;null===(f=n).align&&(t=a>20&&a<160?"left":a>200&&a<340?"right":"center",f.align=t),null===f.verticalAlign&&(e=a<45||a>315?"bottom":a>135&&a<225?"top":"middle",f.verticalAlign=e),n=f}i.prototype.alignDataLabel.call(this,e,s,n,r,o),this.isRadialBar&&e.shapeArgs&&e.shapeArgs.start===e.shapeArgs.end?s.hide():s.show()}else t.call(this,e,s,n,r,o)}function O(){let t,e,i,s,n,o,a,l,c,u,p,f,m,y=this.options,x=y.stacking,v=this.chart,b=this.xAxis,S=this.yAxis,k=S.reversed,w=S.center,C=b.startAngleRad,A=b.endAngleRad-C,M=y.threshold,T=0,P=0,E=0;if(b.isRadial)for(i=(t=this.points).length,s=S.translate(S.min),n=S.translate(S.max),M=y.threshold||0,v.inverted&&d(M)&&h(T=S.translate(M))&&(T<0?T=0:T>A&&(T=A),this.translatedThreshold=T+C);i--;){if(p=(e=t[i]).barX,a=e.x,l=e.y,e.shapeType="arc",v.inverted){e.plotY=S.translate(l),x&&S.stacking?(u=S.stacking.stacks[(l<0?"-":"")+this.stackKey],this.visible&&u&&u[a]&&!e.isNull&&(c=u[a].points[this.getStackIndicator(void 0,a,this.index).key],P=S.translate(c[0]),E=S.translate(c[1]),h(P)&&(P=r.clamp(P,0,A)))):(P=T,E=e.plotY),P>E&&(E=[P,P=E][0]),k?E>s?E=s:Ps||En?E=n:(En)&&(P=E=0),S.min>S.max&&(P=E=k?A:0),P+=C,E+=C,w&&(e.barX=p+=w[3]/2),f=Math.max(p,0),m=Math.max(p+e.pointWidth,0);let t=y.borderRadius,i=g(("object"==typeof t?t.radius:t)||0,m-f);e.shapeArgs={x:w[0],y:w[1],r:m,innerR:f,start:P,end:E,borderRadius:i},e.opacity=P===E?0:void 0,e.plotY=(h(this.translatedThreshold)&&(Pw[1])}}function L(t,e){let i,s,n=this;if(this.chart.polar){e=e||this.points;for(let t=0;t{void 0===t.polarPlotY&&n.polar.toXY(t)}))}let r=t.apply(this,[].slice.call(arguments,1));return s&&e.pop(),r}function D(t,e){let i=this.chart,s={xAxis:[],yAxis:[]};return i.polar?i.axes.forEach((t=>{if("colorAxis"===t.coll)return;let n=t.isXAxis,r=t.center,o=e.chartX-r[0]-i.plotLeft,a=e.chartY-r[1]-i.plotTop;s[n?"xAxis":"yAxis"].push({axis:t,value:t.translate(n?Math.PI-Math.atan2(o,a):Math.sqrt(Math.pow(o,2)+Math.pow(a,2)),!0)})})):s=t.call(this,e),s}function j(t,e){this.chart.polar||t.call(this,e)}function N(t,i){let s,n,r,a,l,h,c=this,d=this.chart,u=this.group,f=this.markerGroup,g=this.xAxis&&this.xAxis.center,m=d.plotLeft,y=d.plotTop,x=this.options.animation;d.polar?c.isRadialBar?i||(c.startAngleRad=p(c.translatedThreshold,c.xAxis.startAngleRad),e.seriesTypes.pie.prototype.animate.call(c,i)):(x=o(x),c.is("column")?i||(n=g[3]/2,c.points.forEach((t=>{r=t.graphic,l=(a=t.shapeArgs)&&a.r,h=a&&a.innerR,r&&a&&(r.attr({r:n,innerR:n}),r.animate({r:l,innerR:h},c.options.animation))}))):i?(s={translateX:g[0]+m,translateY:g[1]+y,scaleX:.001,scaleY:.001},u.attr(s),f&&f.attr(s)):(s={translateX:m,translateY:y,scaleX:1,scaleY:1},u.animate(s,x),f&&f.animate(s,x))):t.call(this,i)}function R(t,e,i,s){let n,r;if(this.chart.polar)if(s){let t=(r=function t(e,i,s,n){let r,o,a,l,h,c,d=n?1:0,u=(r=i>=0&&i<=e.length-1?i:i<0?e.length-1+i:0)-1<0?e.length-(1+d):r-1,p=r+1>e.length-1?d:r+1,f=e[u],g=e[p],m=f.plotX,y=f.plotY,x=g.plotX,v=g.plotY,b=e[r].plotX,S=e[r].plotY;o=(1.5*b+m)/2.5,a=(1.5*S+y)/2.5,l=(1.5*b+x)/2.5,h=(1.5*S+v)/2.5;let k=Math.sqrt(Math.pow(o-b,2)+Math.pow(a-S,2)),w=Math.sqrt(Math.pow(l-b,2)+Math.pow(h-S,2)),C=Math.atan2(a-S,o-b);c=Math.PI/2+(C+Math.atan2(h-S,l-b))/2,Math.abs(C-c)>Math.PI/2&&(c-=Math.PI),o=b+Math.cos(c)*k,a=S+Math.sin(c)*k;let A={rightContX:l=b+Math.cos(Math.PI+c)*w,rightContY:h=S+Math.sin(Math.PI+c)*w,leftContX:o,leftContY:a,plotX:b,plotY:S};return s&&(A.prevPointCont=t(e,u,!1,n)),A}(e,s,!0,this.connectEnds)).prevPointCont&&r.prevPointCont.rightContX,i=r.prevPointCont&&r.prevPointCont.rightContY;n=["C",d(t)?t:r.plotX,d(i)?i:r.plotY,d(r.leftContX)?r.leftContX:r.plotX,d(r.leftContY)?r.leftContY:r.plotY,r.plotX,r.plotY]}else n=["M",i.plotX,i.plotY];else n=t.call(this,e,i,s);return n}function I(t,e){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.plotY;if(!this.destroyed){let{plotX:s,series:n}=this,{chart:r}=n;return r.polar&&d(s)&&d(i)?[s+(e?r.plotLeft:0),i+(e?r.plotTop:0)]:t.call(this,e,i)}}class B{static compose(t,e,i,r,o,h,c,d,u,p){if(s.compose(e,i),n.compose(t,o),f(a,"Polar")){let t=e.prototype,s=h.prototype,n=i.prototype,o=r.prototype;if(l(e,"afterDrawChartBox",v),l(e,"getAxes",S),l(e,"init",b),x(t,"get",P),x(n,"getCoordinates",D),x(n,"pinch",j),l(i,"getSelectionMarkerAttrs",w),l(i,"getSelectionBox",k),l(r,"afterInit",C),l(r,"afterTranslate",A,{order:2}),l(r,"afterColumnTranslate",O,{order:4}),x(o,"animate",N),x(s,"pos",I),d){let t=d.prototype;x(t,"alignDataLabel",E),x(t,"animate",N)}if(u&&x(u.prototype,"getGraphPath",L),p){let t=p.prototype;x(t,"getPointSpline",R),c&&(c.prototype.getPointSpline=t.getPointSpline)}}}constructor(t){this.series=t}arc(t,e,i,s){let n=this.series,r=n.xAxis.center,o=n.yAxis.len,a=r[3]/2,l=o-e+a,h=o-p(t,o)+a;return n.yAxis.reversed&&(l<0&&(l=a),h<0&&(h=a)),{x:r[0],y:r[1],r:l,innerR:h,start:i,end:s}}toXY(t){let e,i=this.series,s=i.chart,n=i.xAxis,r=i.yAxis,o=t.plotX,a=s.inverted,l=t.y,h=t.plotY,c=a?o:r.len-h;if(a&&i&&!i.isRadialBar&&(t.plotY=h=d(l)?r.translate(l):0),t.rectPlotX=o,t.rectPlotY=h,r.center&&(c+=r.center[3]/2),d(h)){let e=a?r.postTranslate(h,c):n.postTranslate(o,c);t.plotX=t.polarPlotX=e.x-s.plotLeft,t.plotY=t.polarPlotY=e.y-s.plotTop}i.kdByAngle?((e=(o/Math.PI*180+n.pane.options.startAngle)%360)<0&&(e+=360),t.clientX=e):t.clientX=t.plotX}}return B})),i(e,"Core/Axis/WaterfallAxis.js",[e["Core/Globals.js"],e["Core/Axis/Stacking/StackItem.js"],e["Core/Utilities.js"]],(function(t,e,i){var s;let{composed:n}=t,{addEvent:r,objectEach:o,pushUnique:a}=i;return function(t){function i(){let t=this.waterfall.stacks;t&&(t.changed=!1,delete t.alreadyChanged)}function s(){let t=this.options.stackLabels;t&&t.enabled&&this.waterfall.stacks&&this.waterfall.renderStackTotals()}function l(){this.waterfall||(this.waterfall=new c(this))}function h(){let t=this.axes;for(let e of this.series)if(e.options.stacking){for(let e of t)e.isXAxis||(e.waterfall.stacks.changed=!0);break}}t.compose=function(t,e){a(n,"Axis.Waterfall")&&(r(t,"init",l),r(t,"afterBuildStacks",i),r(t,"afterRender",s),r(e,"beforeRedraw",h))};class c{constructor(t){this.axis=t,this.stacks={changed:!1}}renderStackTotals(){let t=this.axis,i=t.waterfall.stacks,s=t.stacking&&t.stacking.stackTotalGroup,n=new e(t,t.options.stackLabels||{},!1,0,void 0);this.dummyStackItem=n,s&&o(i,(t=>{o(t,((t,i)=>{n.total=t.stackTotal,n.x=+i,t.label&&(n.label=t.label),e.prototype.render.call(n,s),t.label=n.label,delete n.label}))})),n.total=null}}t.Composition=c}(s||(s={})),s})),i(e,"Series/Waterfall/WaterfallPoint.js",[e["Series/Column/ColumnSeries.js"],e["Core/Series/Point.js"],e["Core/Utilities.js"]],(function(t,e,i){let{isNumber:s}=i;class n extends t.prototype.pointClass{getClassName(){let t=e.prototype.getClassName.call(this);return this.isSum?t+=" highcharts-sum":this.isIntermediateSum&&(t+=" highcharts-intermediate-sum"),t}isValid(){return s(this.y)||this.isSum||!!this.isIntermediateSum}}return n})),i(e,"Series/Waterfall/WaterfallSeriesDefaults.js",[],(function(){return{dataLabels:{inside:!0},lineWidth:1,lineColor:"#333333",dashStyle:"Dot",borderColor:"#333333",states:{hover:{lineWidthPlus:0}}}})),i(e,"Series/Waterfall/WaterfallSeries.js",[e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"],e["Core/Axis/WaterfallAxis.js"],e["Series/Waterfall/WaterfallPoint.js"],e["Series/Waterfall/WaterfallSeriesDefaults.js"]],(function(t,e,i,s,n){let{column:r,line:o}=t.seriesTypes,{addEvent:a,arrayMax:l,arrayMin:h,correctFloat:c,extend:d,isNumber:u,merge:p,objectEach:f,pick:g}=e;function m(t,e){return Object.hasOwnProperty.call(t,e)}class y extends r{generatePoints(){r.prototype.generatePoints.apply(this);for(let t=0,e=this.points.length;t0?i:void 0);let s=r.prototype.pointAttribs.call(this,t,e);return delete s.dashstyle,s}getGraphPath(){return[["M",0,0]]}getCrispPath(){let t=this.data.filter((t=>u(t.y))),e=this.yAxis,i=t.length,s=Math.round(this.graph.strokeWidth())%2/2,n=Math.round(this.borderWidth)%2/2,r=this.xAxis.reversed,o=this.yAxis.reversed,a=this.options.stacking,l=[];for(let h=1;h0?-p.height:0;if(f&&p&&i){let t,d=f[h-1];if(a){let i=d.connectorThreshold;t=Math.round(e.translate(i,!1,!0,!1,!0)+(o?g:0))-s}else t=p.y+c.minPointLengthOffset+n-s;l.push(["M",(p.x||0)+(r?0:p.width||0),t],["L",(i.x||0)+(r&&i.width||0),t])}if(p&&l.length&&(!a&&d<0&&!o||d>0&&o)){let t=l[l.length-2];t&&"number"==typeof t[2]&&(t[2]+=p.height||0);let e=l[l.length-1];e&&"number"==typeof e[2]&&(e[2]+=p.height||0)}}return l}drawGraph(){o.prototype.drawGraph.call(this),this.graph&&this.graph.attr({d:this.getCrispPath()})}setStackedPoints(t){var e;let i,s,n,r,o,a,l,h,c,d=this.options,u=null===(e=t.waterfall)||void 0===e?void 0:e.stacks,p=d.threshold||0,f=this.stackKey,g=this.xData,m=g.length,y=p,x=y,v=0,b=0,S=0,k=(t,e,n,r)=>{if(i){if(s)for(;nh.indexOf(f)&&(c=!0),u[f]||(u[f]={});let t=u[f];if(t)for(let e=0;e=0?i.posTotal+=a:i.negTotal+=a,o=d.data[e],n=i.absolutePos=i.posTotal,r=i.absoluteNeg=i.negTotal,i.stackTotal=n+r,s=i.stackState.length,o&&o.isIntermediateSum?(k(S,b,0,S),S=b,b=p,y^=x,x^=y,y^=x):o&&o.isSum?(k(p,v,s,0),y=p):(k(y,a,0,v),o&&(v+=a,b+=a)),i.stateIndex++,i.threshold=y,y+=i.stackTotal;u.changed=!1,u.alreadyChanged||(u.alreadyChanged=[]),u.alreadyChanged.push(f)}}getExtremes(){let t,e,i,s=this.options.stacking;return s?(t=this.yAxis.waterfall.stacks,e=this.stackedYNeg=[],i=this.stackedYPos=[],f(t[this.stackKey],"overlap"===s?function(t){e.push(h(t.stackState)),i.push(l(t.stackState))}:function(t){e.push(t.negTotal+t.threshold),i.push(t.posTotal+t.threshold)}),{dataMin:h(e),dataMax:l(i)}):{dataMin:this.dataMin,dataMax:this.dataMax}}}return y.defaultOptions=p(r.defaultOptions,n),y.compose=i.compose,d(y.prototype,{pointValKey:"y",showLine:!0,pointClass:s}),a(y,"afterColumnTranslate",(function(){let t,e,i,s,{options:n,points:r,yAxis:o}=this,a=g(n.minPointLength,5),l=a/2,h=n.threshold||0,c=n.stacking,f=o.waterfall.stacks[this.stackKey],y=h,x=h;for(let g=0;g=0?e:e-k,m(r,"absolutePos")&&delete r.absolutePos,m(r,"absoluteNeg")&&delete r.absoluteNeg):(k>=0?(e=r.threshold+r.posTotal,r.posTotal-=k,t=e):(e=r.threshold+r.negTotal,r.negTotal-=k,t=e-k),!r.posTotal&&u(r.absolutePos)&&m(r,"absolutePos")&&(r.posTotal=r.absolutePos,delete r.absolutePos),!r.negTotal&&u(r.absoluteNeg)&&m(r,"absoluteNeg")&&(r.negTotal=r.absoluteNeg,delete r.absoluteNeg)),n.isSum||(r.connectorThreshold=r.threshold+r.stackTotal),o.reversed?(i=k>=0?t-k:t+k,s=t):(i=t,s=t-k),n.below=i<=h,b.y=o.translate(i,!1,!0,!1,!0),b.height=Math.abs(b.y-o.translate(s,!1,!0,!1,!0));let a=o.waterfall.dummyStackItem;a&&(a.x=g,a.label=f[g].label,a.setOffset(this.pointXOffset||0,this.barW||0,this.stackedYNeg[g],this.stackedYPos[g],void 0,this.xAxis))}}else t=Math.max(x,x+k)+S[0],b.y=o.translate(t,!1,!0,!1,!0),n.isSum?(b.y=o.translate(S[1],!1,!0,!1,!0),b.height=Math.min(o.translate(S[0],!1,!0,!1,!0),o.len)-b.y,n.below=S[1]<=h):n.isIntermediateSum?(k>=0?(i=S[1]+y,s=y):(i=y,s=S[1]+y),o.reversed&&(i^=s,s^=i,i^=s),b.y=o.translate(i,!1,!0,!1,!0),b.height=Math.abs(b.y-Math.min(o.translate(s,!1,!0,!1,!0),o.len)),y+=S[1],n.below=i<=h):(b.height=v>0?o.translate(x,!1,!0,!1,!0)-b.y:o.translate(x,!1,!0,!1,!0)-o.translate(x-v,!1,!0,!1,!0),x+=v,n.below=xparseInt(i.userAgent.split("Firefox/")[1],10),i.marginNames=["plotTop","marginRight","marginBottom","plotLeft"],i.noop=function(){},i.supportsPassiveEvents=function(){let t=!1;if(!i.isMS){let e=Object.defineProperty({},"passive",{get:function(){t=!0}});i.win.addEventListener&&i.win.removeEventListener&&(i.win.addEventListener("testPassive",i.noop,e),i.win.removeEventListener("testPassive",i.noop,e))}return t}(),i.charts=[],i.composed=[],i.dateFormats={},i.seriesTypes={},i.symbolSizes={},i.chartCount=0,e})),i(e,"Core/Utilities.js",[e["Core/Globals.js"]],(function(t){let e,{charts:i,doc:s,win:n}=t;function r(e,i,s,o){let a=i?"Highcharts error":"Highcharts warning";32===e&&(e="".concat(a,": Deprecated member"));let l=u(e),h=l?"".concat(a," #").concat(e,": www.highcharts.com/errors/").concat(e,"/"):e.toString();if(void 0!==o){let t="";l&&(h+="?"),k(o,(function(e,i){t+="\n - ".concat(i,": ").concat(e),l&&(h+=encodeURI(i)+"="+encodeURI(e))})),h+=t}C(t,"displayError",{chart:s,code:e,message:h,params:o},(function(){if(i)throw Error(h);n.console&&-1===r.messages.indexOf(h)&&console.warn(h)})),r.messages.push(h)}function o(t,e){return parseInt(t,e||10)}function a(t){return"string"==typeof t}function l(t){let e=Object.prototype.toString.call(t);return"[object Array]"===e||"[object Array Iterator]"===e}function h(t,e){return!!t&&"object"==typeof t&&(!e||!l(t))}function c(t){return h(t)&&"number"==typeof t.nodeType}function d(t){let e=t&&t.constructor;return!(!h(t,!0)||c(t)||!e||!e.name||"Object"===e.name)}function u(t){return"number"==typeof t&&!isNaN(t)&&t<1/0&&t>-1/0}function p(t){return null!=t}function f(t,e,i){let s,n=a(e)&&!p(i),r=(e,i)=>{p(e)?t.setAttribute(i,e):n?(s=t.getAttribute(i))||"class"!==i||(s=t.getAttribute(i+"Name")):t.removeAttribute(i)};return a(e)?r(i,e):k(e,r),s}function g(t){return l(t)?t:[t]}function m(t,e){let i;for(i in t||(t={}),e)t[i]=e[i];return t}function y(){let t=arguments,e=t.length;for(let i=0;i1e14?t:parseFloat(t.toPrecision(e||14))}(r||(r={})).messages=[],Math.easeInOutSine=function(t){return-.5*(Math.cos(Math.PI*t)-1)};let S=Array.prototype.find?function(t,e){return t.find(e)}:function(t,e){let i,s=t.length;for(i=0;it.order-e.order)),t.forEach((t=>{!1===t.fn.call(e,n)&&n.preventDefault()}))}r&&!n.defaultPrevented&&r.call(e,n)}k({map:"map",each:"forEach",grep:"filter",reduce:"reduce",some:"some"},(function(e,i){t[i]=function(t){return r(32,!1,void 0,{["Highcharts.".concat(i)]:"use Array.".concat(e)}),Array.prototype[e].apply(t,[].slice.call(arguments,1))}}));let A=function(){let t=Math.random().toString(36).substring(2,9)+"-",i=0;return function(){return"highcharts-"+(e?"":t)+i++}}();return n.jQuery&&(n.jQuery.fn.highcharts=function(){let e=[].slice.call(arguments);if(this[0])return e[0]?(new(t[a(e[0])?e.shift():"Chart"])(this[0],e[0],e[1]),this):i[f(this[0],"data-highcharts-chart")]}),{addEvent:function(e,i,s){let n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},r="function"==typeof e&&e.prototype||e;Object.hasOwnProperty.call(r,"hcEvents")||(r.hcEvents={});let o=r.hcEvents;t.Point&&e instanceof t.Point&&e.series&&e.series.chart&&(e.series.chart.runTrackerClick=!0);let a=e.addEventListener;a&&a.call(e,i,s,!!t.supportsPassiveEvents&&{passive:void 0===n.passive?-1!==i.indexOf("touch"):n.passive,capture:!1}),o[i]||(o[i]=[]);let l={fn:s,order:"number"==typeof n.order?n.order:1/0};return o[i].push(l),o[i].sort(((t,e)=>t.order-e.order)),function(){w(e,i,s)}},arrayMax:function(t){let e=t.length,i=t[0];for(;e--;)t[e]>i&&(i=t[e]);return i},arrayMin:function(t){let e=t.length,i=t[0];for(;e--;)t[e]e?t-1&&n[c]){i=g(i),r[c]=[];for(let e=0;e{if(t.length>1)for(r=s=t.length-1;r>0;r--){var a;(n=t[r]-t[r-1])<0&&!o?(null!==(a=e)&&void 0!==a&&a(),e=void 0):n&&(void 0===i||n=i-1&&(i=Math.floor(s)),Math.max(0,i-(t(e,"padding-left",!0)||0)-(t(e,"padding-right",!0)||0))}if("height"===i)return Math.max(0,Math.min(e.offsetHeight,e.scrollHeight)-(t(e,"padding-top",!0)||0)-(t(e,"padding-bottom",!0)||0));let a=n.getComputedStyle(e,void 0);return a&&(r=a.getPropertyValue(i),y(s,"opacity"!==i)&&(r=o(r))),r},inArray:function(t,e,i){return r(32,!1,void 0,{"Highcharts.inArray":"use Array.indexOf"}),e.indexOf(t,i)},insertItem:function(t,e){let i,s=t.options.index,n=e.length;for(i=t.options.isInternal?n:0;i=t))&&(n||!(a<=(e[r]+(e[r+1]||e[r]))/2)));r++);return b(o*i,-Math.round(Math.log(.001)/Math.LN10))},objectEach:k,offset:function(t){let e=s.documentElement,i=t.parentElement||t.parentNode?t.getBoundingClientRect():{top:0,left:0,width:0,height:0};return{top:i.top+(n.pageYOffset||e.scrollTop)-(e.clientTop||0),left:i.left+(n.pageXOffset||e.scrollLeft)-(e.clientLeft||0),width:i.width,height:i.height}},pad:function(t,e,i){return Array((e||2)+1-String(t).replace("-","").length).join(i||"0")+t},pick:y,pInt:o,pushUnique:function(t,e){return 0>t.indexOf(e)&&!!t.push(e)},relativeLength:function(t,e,i){return/%$/.test(t)?e*parseFloat(t)/100+(i||0):parseFloat(t)},removeEvent:w,replaceNested:function(t){let e,i;for(var s=arguments.length,n=new Array(s>1?s-1:0),r=1;r0?setTimeout(t,e,i):(t.call(0,i),-1)},timeUnits:{millisecond:1,second:1e3,minute:6e4,hour:36e5,day:864e5,week:6048e5,month:24192e5,year:314496e5},uniqueKey:A,useSerialIds:function(t){return e=y(t,e)},wrap:function(t,e,i){let s=t[e];t[e]=function(){let t=arguments,e=this;return i.apply(this,[function(){return s.apply(e,arguments.length?arguments:t)}].concat([].slice.call(arguments)))}}}})),i(e,"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"}})),i(e,"Core/Color/Palettes.js",[],(function(){return{colors:["#2caffe","#544fc5","#00e272","#fe6a35","#6b8abc","#d568fb","#2ee0ca","#fa4b42","#feb56a","#91e8e1"]}})),i(e,"Core/Time.js",[e["Core/Globals.js"],e["Core/Utilities.js"]],(function(t,e){let{win:i}=t,{defined:s,error:n,extend:r,isNumber:o,isObject:a,merge:l,objectEach:h,pad:c,pick:d,splat:u,timeUnits:p}=e,f=t.isSafari&&i.Intl&&i.Intl.DateTimeFormat.prototype.formatRange,g=t.isSafari&&i.Intl&&!i.Intl.DateTimeFormat.prototype.formatRange;class m{constructor(t){this.options={},this.useUTC=!1,this.variableTimezone=!1,this.Date=i.Date,this.getTimezoneOffset=this.timezoneOffsetFunction(),this.update(t)}get(t,e){if(this.variableTimezone||this.timezoneOffset){let i=e.getTime(),s=i-this.getTimezoneOffset(e);e.setTime(s);let n=e["getUTC"+t]();return e.setTime(i),n}return this.useUTC?e["getUTC"+t]():e["get"+t]()}set(t,e,i){if(this.variableTimezone||this.timezoneOffset){if("Milliseconds"===t||"Seconds"===t||"Minutes"===t&&this.getTimezoneOffset(e)%36e5==0)return e["setUTC"+t](i);let s=this.getTimezoneOffset(e),n=e.getTime()-s;e.setTime(n),e["setUTC"+t](i);let r=this.getTimezoneOffset(e);return n=e.getTime()+r,e.setTime(n)}return this.useUTC||f&&"FullYear"===t?e["setUTC"+t](i):e["set"+t](i)}update(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=d(t.useUTC,!0);this.options=t=l(!0,this.options,t),this.Date=t.Date||i.Date||Date,this.useUTC=e,this.timezoneOffset=e&&t.timezoneOffset||void 0,this.getTimezoneOffset=this.timezoneOffsetFunction(),this.variableTimezone=e&&!(!t.getTimezoneOffset&&!t.timezone)}makeTime(t,e,i,s,n,r){let o,a,l;return this.useUTC?(o=this.Date.UTC.apply(0,arguments),a=this.getTimezoneOffset(o),o+=a,a!==(l=this.getTimezoneOffset(o))?o+=l-a:a-36e5!==this.getTimezoneOffset(o-36e5)||g||(o-=36e5)):o=new this.Date(t,e,d(i,1),d(s,0),d(n,0),d(r,0)).getTime(),o}timezoneOffsetFunction(){let t=this,e=this.options,i=e.getTimezoneOffset;return this.useUTC?e.timezone?t=>{try{let i="shortOffset,".concat(e.timezone||""),[s,n,r,a,l=0]=(m.formatCache[i]=m.formatCache[i]||Intl.DateTimeFormat("en",{timeZone:e.timezone,timeZoneName:"shortOffset"})).format(t).split(/(GMT|:)/).map(Number),h=-36e5*(r+l/60);if(o(h))return h}catch(t){n(34)}return 0}:this.useUTC&&i?t=>6e4*i(t.valueOf()):()=>6e4*(t.timezoneOffset||0):t=>6e4*new Date(t.toString()).getTimezoneOffset()}dateFormat(e,i,n){if(!s(i)||isNaN(i))return t.defaultOptions.lang&&t.defaultOptions.lang.invalidDate||"";e=d(e,"%Y-%m-%d %H:%M:%S");let o=this,a=new this.Date(i),l=this.get("Hours",a),u=this.get("Day",a),p=this.get("Date",a),f=this.get("Month",a),g=this.get("FullYear",a),m=t.defaultOptions.lang,y=m&&m.weekdays,x=m&&m.shortWeekdays;return h(r({a:x?x[u]:y[u].substr(0,3),A:y[u],d:c(p),e:c(p,2," "),w:u,b:m.shortMonths[f],B:m.months[f],m:c(f+1),o:f+1,y:g.toString().substr(2,2),Y:g,H:c(l),k:l,I:c(l%12||12),l:l%12||12,M:c(this.get("Minutes",a)),p:l<12?"AM":"PM",P:l<12?"am":"pm",S:c(this.get("Seconds",a)),L:c(Math.floor(i%1e3),3)},t.dateFormats),(function(t,s){for(;-1!==e.indexOf("%"+s);)e=e.replace("%"+s,"function"==typeof t?t.call(o,i):t)})),n?e.substr(0,1).toUpperCase()+e.substr(1):e}resolveDTLFormat(t){return a(t,!0)?t:{main:(t=u(t))[0],from:t[1],to:t[2]}}getTimeTicks(t,e,i,n){let o,a,l,h,c=this,u=c.Date,f=[],g={},m=new u(e),y=t.unitRange,x=t.count||1;if(n=d(n,1),s(e)){c.set("Milliseconds",m,y>=p.second?0:x*Math.floor(c.get("Milliseconds",m)/x)),y>=p.second&&c.set("Seconds",m,y>=p.minute?0:x*Math.floor(c.get("Seconds",m)/x)),y>=p.minute&&c.set("Minutes",m,y>=p.hour?0:x*Math.floor(c.get("Minutes",m)/x)),y>=p.hour&&c.set("Hours",m,y>=p.day?0:x*Math.floor(c.get("Hours",m)/x)),y>=p.day&&c.set("Date",m,y>=p.month?1:Math.max(1,x*Math.floor(c.get("Date",m)/x))),y>=p.month&&(c.set("Month",m,y>=p.year?0:x*Math.floor(c.get("Month",m)/x)),a=c.get("FullYear",m)),y>=p.year&&(a-=a%x,c.set("FullYear",m,a)),y===p.week&&(h=c.get("Day",m),c.set("Date",m,c.get("Date",m)-h+n+(h4*p.month||c.getTimezoneOffset(e)!==c.getTimezoneOffset(i));let u=m.getTime();for(o=1;u1?u=c.makeTime(a,t,r,d+o*x):u+=y*x:u=c.makeTime(a,t,r+o*x*(y===p.day?1:7)),o++;f.push(u),y<=p.hour&&f.length<1e4&&f.forEach((function(t){t%18e5==0&&"000000000"===c.dateFormat("%H%M%S%L",t)&&(g[t]="day")}))}return f.info=r(t,{higherRanks:g,totalRange:y*x}),f}getDateFormat(t,e,i,s){let n=this.dateFormat("%m-%d %H:%M:%S.%L",e),r="01-01 00:00:00.000",o={millisecond:15,second:12,minute:9,hour:6,day:3},a="millisecond",l=a;for(a in p){if(t===p.week&&+this.dateFormat("%w",e)===i&&n.substr(6)===r.substr(6)){a="week";break}if(p[a]>t){a=l;break}if(o[a]&&n.substr(o[a])!==r.substr(o[a]))break;"week"!==a&&(l=a)}return this.resolveDTLFormat(s[a]).main}}return m.formatCache={},m})),i(e,"Core/Defaults.js",[e["Core/Chart/ChartDefaults.js"],e["Core/Globals.js"],e["Core/Color/Palettes.js"],e["Core/Time.js"],e["Core/Utilities.js"]],(function(t,e,i,s,n){let{isTouchDevice:r,svg:o}=e,{merge:a}=n,l={colors:i.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:{},time:{Date:void 0,getTimezoneOffset:void 0,timezone:void 0,timezoneOffset:0,useUTC:!0},chart:t,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",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:o,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:r?25:10,headerFormat:'{point.key}
',pointFormat:'\u25cf {series.name}: {point.y}
',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"}};l.chart.styledMode=!1;let h=new s(l.time);return{defaultOptions:l,defaultTime:h,getOptions:function(){return l},setOptions:function(t){return a(!0,l,t),(t.time||t.global)&&(e.time?e.time.update(a(l.global,l.time,t.global,t.time)):e.time=h),l}}})),i(e,"Core/Color/Color.js",[e["Core/Globals.js"],e["Core/Utilities.js"]],(function(t,e){let{isNumber:i,merge:s,pInt:n}=e;class r{static parse(t){return t?new r(t):r.None}constructor(e){let i,s,n,o;this.rgba=[NaN,NaN,NaN,NaN],this.input=e;let a=t.Color;if(a&&a!==r)return new a(e);if("object"==typeof e&&void 0!==e.stops)this.stops=e.stops.map((t=>new r(t[1])));else if("string"==typeof e){if(this.input=e=r.names[e.toLowerCase()]||e,"#"===e.charAt(0)){let t=e.length,i=parseInt(e.substr(1),16);7===t?s=[(16711680&i)>>16,(65280&i)>>8,255&i,1]:4===t&&(s=[(3840&i)>>4|(3840&i)>>8,(240&i)>>4|240&i,(15&i)<<4|15&i,1])}if(!s)for(n=r.parsers.length;n--&&!s;)(i=(o=r.parsers[n]).regex.exec(e))&&(s=o.parse(i))}s&&(this.rgba=s)}get(t){let e=this.input,n=this.rgba;if("object"==typeof e&&void 0!==this.stops){let i=s(e);return i.stops=[].slice.call(i.stops),this.stops.forEach(((e,s)=>{i.stops[s]=[i.stops[s][0],e.get(t)]})),i}return n&&i(n[0])?"rgb"===t||!t&&1===n[3]?"rgb("+n[0]+","+n[1]+","+n[2]+")":"a"===t?"".concat(n[3]):"rgba("+n.join(",")+")":e}brighten(t){let e=this.rgba;if(this.stops)this.stops.forEach((function(e){e.brighten(t)}));else if(i(t)&&0!==t)for(let i=0;i<3;i++)e[i]+=n(255*t),e[i]<0&&(e[i]=0),e[i]>255&&(e[i]=255);return this}setOpacity(t){return this.rgba[3]=t,this}tweenTo(t,e){let s=this.rgba,n=t.rgba;if(!i(s[0])||!i(n[0]))return t.input||"none";let r=1!==n[3]||1!==s[3];return(r?"rgba(":"rgb(")+Math.round(n[0]+(s[0]-n[0])*(1-e))+","+Math.round(n[1]+(s[1]-n[1])*(1-e))+","+Math.round(n[2]+(s[2]-n[2])*(1-e))+(r?","+(n[3]+(s[3]-n[3])*(1-e)):"")+")"}}return r.names={white:"#ffffff",black:"#000000"},r.parsers=[{regex:/rgba\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]?(?:\.[0-9]+)?)\s*\)/,parse:function(t){return[n(t[1]),n(t[2]),n(t[3]),parseFloat(t[4],10)]}},{regex:/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/,parse:function(t){return[n(t[1]),n(t[2]),n(t[3]),1]}}],r.None=new r(""),r})),i(e,"Core/Animation/Fx.js",[e["Core/Color/Color.js"],e["Core/Globals.js"],e["Core/Utilities.js"]],(function(t,e,i){let{parse:s}=t,{win:n}=e,{isNumber:r,objectEach:o}=i;class a{constructor(t,e,i){this.pos=NaN,this.options=e,this.elem=t,this.prop=i}dSetter(){let t=this.paths,e=t&&t[0],i=t&&t[1],s=this.now||0,n=[];if(1!==s&&e&&i)if(e.length===i.length&&s<1)for(let o=0;o=l+this.startTime?(this.now=this.end,this.pos=1,this.update(),h[this.prop]=!0,i=!0,o(h,(function(t){!0!==t&&(i=!1)})),i&&a&&a.call(r),e=!1):(this.pos=n.easing((s-this.startTime)/l),this.now=this.start+(this.end-this.start)*this.pos,this.update(),e=!0),e}initPath(t,e,i){let s,n,o,a,l=t.startX,h=t.endX,c=i.slice(),d=t.isArea,u=d?2:1,p=e&&e.slice();if(!p)return[c,c];function f(t,e){for(;t.length{let s=c(t.options.animation);a=o(e)&&i(e.defer)?n.defer:Math.max(a,s.duration+s.defer),l=Math.min(n.duration,s.duration)})),t.renderer.forExport&&(a=0),{defer:Math.max(0,a-l),duration:Math.min(a,l)}},setAnimation:function(t,e){e.renderer.globalAnimation=h(t,e.options.chart.animation,!0)},stop:d}})),i(e,"Core/Renderer/HTML/AST.js",[e["Core/Globals.js"],e["Core/Utilities.js"]],(function(t,e){let{SVG_NS:i,win:s}=t,{attr:n,createElement:r,css:o,error:a,isFunction:l,isString:h,objectEach:c,splat:d}=e,{trustedTypes:u}=s,p=u&&l(u.createPolicy)&&u.createPolicy("highcharts",{createHTML:t=>t}),f=p?p.createHTML(""):"",g=function(){try{return!!(new DOMParser).parseFromString(f,"text/html")}catch(t){return!1}}();class m{static filterUserAttributes(t){return c(t,((e,i)=>{let s=!0;-1===m.allowedAttributes.indexOf(i)&&(s=!1),-1!==["background","dynsrc","href","lowsrc","src"].indexOf(i)&&(s=h(e)&&m.allowedReferences.some((t=>0===e.indexOf(t)))),s||(a(33,!1,void 0,{"Invalid attribute in config":"".concat(i)}),delete t[i]),h(e)&&t[i]&&(t[i]=e.replace(/{let i=e.split(":").map((t=>t.trim())),s=i.shift();return s&&i.length&&(t[s.replace(/-([a-z])/g,(t=>t[1].toUpperCase()))]=i.join(":")),t}),{})}static setElementHTML(t,e){t.innerHTML=m.emptyHTML,e&&new m(e).addToDOM(t)}constructor(t){this.nodes="string"==typeof t?this.parseMarkup(t):t}addToDOM(e){return function e(s,r){let l;return d(s).forEach((function(s){let h,d=s.tagName,u=s.textContent?t.doc.createTextNode(s.textContent):void 0,p=m.bypassHTMLFiltering;if(d)if("#text"===d)h=u;else if(-1!==m.allowedTags.indexOf(d)||p){let a="svg"===d?i:r.namespaceURI||i,l=t.doc.createElementNS(a,d),f=s.attributes||{};c(s,(function(t,e){"tagName"!==e&&"attributes"!==e&&"children"!==e&&"style"!==e&&"textContent"!==e&&(f[e]=t)})),n(l,p?f:m.filterUserAttributes(f)),s.style&&o(l,s.style),u&&l.appendChild(u),e(s.children||[],l),h=l}else a(33,!1,void 0,{"Invalid tagName in config":d});h&&r.appendChild(h),l=h})),l}(this.nodes,e)}parseMarkup(t){let e,i=[];if(t=t.trim().replace(/ style=(["'])/g," data-style=$1"),g)e=(new DOMParser).parseFromString(p?p.createHTML(t):t,"text/html");else{let i=r("div");i.innerHTML=t,e={body:i}}let s=(t,e)=>{let i=t.nodeName.toLowerCase(),n={tagName:i};"#text"===i&&(n.textContent=t.textContent||"");let r=t.attributes;if(r){let t={};[].forEach.call(r,(e=>{"data-style"===e.name?n.style=m.parseStyle(e.value):t[e.name]=e.value})),n.attributes=t}if(t.childNodes.length){let e=[];[].forEach.call(t.childNodes,(t=>{s(t,e)})),e.length&&(n.children=e)}e.push(n)};return[].forEach.call(e.body.childNodes,(t=>s(t,i))),i}}return m.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","markerHeight","markerWidth","offset","opacity","orient","padding","paddingLeft","paddingRight","patternUnits","r","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"],m.allowedReferences=["https://","http://","mailto:","/","../","./","#"],m.allowedTags=["a","abbr","b","br","button","caption","circle","clipPath","code","dd","defs","div","dl","dt","em","feComponentTransfer","feDropShadow","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","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"],m.emptyHTML=f,m.bypassHTMLFiltering=!1,m})),i(e,"Core/Templating.js",[e["Core/Defaults.js"],e["Core/Utilities.js"]],(function(t,e){let{defaultOptions:i,defaultTime:s}=t,{extend:n,getNestedProperty:r,isArray:o,isNumber:a,isObject:l,pick:h,pInt:c}=e,d={add:(t,e)=>t+e,divide:(t,e)=>0!==e?t/e:"",eq:(t,e)=>t==e,each:function(t){let e=arguments[arguments.length-1];return!!o(t)&&t.map(((i,s)=>u(e.body,n(l(i)?i:{"@this":i},{"@index":s,"@first":0===s,"@last":s===t.length-1})))).join("")},ge:(t,e)=>t>=e,gt:(t,e)=>t>e,if:t=>!!t,le:(t,e)=>t<=e,lt:(t,e)=>tt*e,ne:(t,e)=>t!=e,subtract:(t,e)=>t-e,unless:t=>!t};function u(){let t,e,n,o=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",a=arguments.length>1?arguments[1]:void 0,l=arguments.length>2?arguments[2]:void 0,c=/\{([a-zA-Z0-9\:\.\,;\-\/<>%_@"'= #\(\)]+)\}/g,f=/\(([a-zA-Z0-9\:\.\,;\-\/<>%_@"'= ]+)\)/g,g=[],m=/f$/,y=/\.([0-9])/,x=i.lang,v=l&&l.time||s,b=l&&l.numberFormatter||p,S=function(){let t,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return"true"===e||"false"!==e&&((t=Number(e)).toString()===e?t:r(e,a))},k=0;for(;null!==(t=c.exec(o));){var w;let i=f.exec(t[1]);i&&(t=i,n=!0),e&&e.isBlock||(e={ctx:a,expression:t[1],find:t[0],isBlock:"#"===t[1].charAt(0),start:t.index,startInner:t.index+t[0].length,length:t[0].length});let s=t[1].split(" ")[0].replace("#","");d[s]&&(e.isBlock&&s===e.fn&&k++,e.fn||(e.fn=s));let r="else"===t[1];if(e.isBlock&&e.fn&&(t[1]==="/".concat(e.fn)||r))if(k)!r&&k--;else{let i=e.startInner,s=o.substr(i,t.index-i);void 0===e.body?(e.body=s,e.startInner=t.index+t[0].length):e.elseBody=s,e.find+=s+t[0],r||(g.push(e),e=void 0)}else e.isBlock||g.push(e);if(i&&(null===(w=e)||void 0===w||!w.isBlock))break}return g.forEach((t=>{let e,i,{body:s,elseBody:n,expression:r,fn:l}=t;if(l){let o=[t],h=r.split(" ");for(i=d[l].length;i--;)o.unshift(S(h[i+1]));e=d[l].apply(a,o),t.isBlock&&"boolean"==typeof e&&(e=u(e?s:n,a))}else{let t=r.split(":");if(e=S(t.shift()||""),t.length&&"number"==typeof e){let i=t.join(":");if(m.test(i)){let t=parseInt((i.match(y)||["","-1"])[1],10);null!==e&&(e=b(e,t,x.decimalPoint,i.indexOf(",")>-1?x.thousandsSep:""))}else e=v.dateFormat(i,e)}}o=o.replace(t.find,h(e,""))})),n?u(o,a,l):o}function p(t,e,s,n){let r,o;t=+t||0,e=+e;let l=i.lang,d=(t.toString().split(".")[1]||"").split("e")[0].length,u=t.toString().split("e"),p=e;-1===e?e=Math.min(d,20):a(e)?e&&u[1]&&u[1]<0&&((o=e+ +u[1])>=0?(u[0]=(+u[0]).toExponential(o).split("e")[0],e=o):(u[0]=u[0].split(".")[0]||0,t=e<20?(u[0]*Math.pow(10,u[1])).toFixed(e):0,u[1]=0)):e=2;let f=(Math.abs(u[1]?u[0]:t)+Math.pow(10,-Math.max(e,d)-1)).toFixed(e),g=String(c(f)),m=g.length>3?g.length%3:0;return s=h(s,l.decimalPoint),n=h(n,l.thousandsSep),r=(t<0?"-":"")+(m?g.substr(0,m)+n:""),0>+u[1]&&!p?r="0":r+=g.substr(m).replace(/(\d{3})(?=\d)/g,"$1"+n),e&&(r+=s+f.slice(-e)),u[1]&&0!=+r&&(r+="e"+u[1]),r}return{dateFormat:function(t,e,i){return s.dateFormat(t,e,i)},format:u,helpers:d,numberFormat:p}})),i(e,"Core/Renderer/RendererRegistry.js",[e["Core/Globals.js"]],(function(t){var e,i;let s;return(i=e||(e={})).rendererTypes={},i.getRendererType=function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:s;return i.rendererTypes[t]||i.rendererTypes[s]},i.registerRendererType=function(e,n,r){i.rendererTypes[e]=n,(!s||r)&&(s=e,t.Renderer=n)},e})),i(e,"Core/Renderer/RendererUtilities.js",[e["Core/Utilities.js"]],(function(t){var e;let{clamp:i,pick:s,pushUnique:n,stableSort:r}=t;return(e||(e={})).distribute=function t(e,o,a){let l,h,c,d,u,p,f=e,g=f.reducedLen||o,m=(t,e)=>t.target-e.target,y=[],x=e.length,v=[],b=y.push,S=!0,k=0;for(l=x;l--;)k+=e[l].size;if(k>g){for(r(e,((t,e)=>(e.rank||0)-(t.rank||0))),c=(p=e[0].rank===e[e.length-1].rank)?x/2:-1,h=p?c:x-1;c&&k>g;)d=e[l=Math.floor(h)],n(v,l)&&(k-=d.size),h+=c,p&&h>=e.length&&(c/=2,h=c);v.sort(((t,e)=>e-t)).forEach((t=>b.apply(y,e.splice(t,1))))}for(r(e,m),e=e.map((t=>({size:t.size,targets:[t.target],align:s(t.align,.5)})));S;){for(l=e.length;l--;)d=e[l],u=(Math.min.apply(0,d.targets)+Math.max.apply(0,d.targets))/2,d.pos=i(u-d.size*d.align,0,o-d.size);for(l=e.length,S=!1;l--;)l>0&&e[l-1].pos+e[l-1].size>e[l].pos&&(e[l-1].size+=e[l].size,e[l-1].targets=e[l-1].targets.concat(e[l].targets),e[l-1].align=.5,e[l-1].pos+e[l-1].size>o&&(e[l-1].pos=o-e[l-1].size),e.splice(l,1),S=!0)}return b.apply(f,y),l=0,e.some((e=>{let i=0;return(e.targets||[]).some((()=>(f[l].pos=e.pos+i,void 0!==a&&Math.abs(f[l].pos-f[l].target)>a?(f.slice(0,l+1).forEach((t=>delete t.pos)),f.reducedLen=(f.reducedLen||o)-.1*o,f.reducedLen>.1*o&&t(f,o,a),!0):(i+=f[l].size,l++,!1))))})),r(f,m),f},e})),i(e,"Core/Renderer/SVG/SVGElement.js",[e["Core/Animation/AnimationUtilities.js"],e["Core/Color/Color.js"],e["Core/Globals.js"],e["Core/Utilities.js"]],(function(t,e,i,s){let{animate:n,animObject:r,stop:o}=t,{deg2rad:a,doc:l,svg:h,SVG_NS:c,win:d}=i,{addEvent:u,attr:p,createElement:f,css:g,defined:m,erase:y,extend:x,fireEvent:v,isArray:b,isFunction:S,isObject:k,isString:w,merge:C,objectEach:A,pick:M,pInt:T,replaceNested:P,syncTimeout:E,uniqueKey:O}=s;class L{_defaultGetter(t){let e=M(this[t+"Value"],this[t],this.element?this.element.getAttribute(t):null,0);return/^[\-0-9\.]+$/.test(e)&&(e=parseFloat(e)),e}_defaultSetter(t,e,i){i.setAttribute(e,t)}add(t){let e,i=this.renderer,s=this.element;return t&&(this.parentGroup=t),void 0!==this.textStr&&"text"===this.element.nodeName&&i.buildText(this),this.added=!0,(!t||t.handleZ||this.zIndex)&&(e=this.zIndexSetter()),e||(t?t.element:i.box).appendChild(s),this.onAdd&&this.onAdd(),this}addClass(t,e){let i=e?"":this.attr("class")||"";return(t=(t||"").split(/ /g).reduce((function(t,e){return-1===i.indexOf(e)&&t.push(e),t}),i?[i]:[]).join(" "))!==i&&this.attr("class",t),this}afterSetters(){this.doTransform&&(this.updateTransform(),this.doTransform=!1)}align(t,e,i){let s,n,r,o,a,l=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],h={},c=this.renderer,d=c.alignedObjects;t?(this.alignOptions=t,this.alignByTranslate=e,(!i||w(i))&&(this.alignTo=r=i||"renderer",y(d,this),d.push(this),i=void 0)):(t=this.alignOptions,e=this.alignByTranslate,r=this.alignTo),i=M(i,c[r],c);let u=t.align,p=t.verticalAlign;return s=(i.x||0)+(t.x||0),n=(i.y||0)+(t.y||0),"right"===u?o=1:"center"===u&&(o=2),o&&(s+=(i.width-(t.width||0))/o),h[e?"translateX":"x"]=Math.round(s),"bottom"===p?a=1:"middle"===p&&(a=2),a&&(n+=(i.height-(t.height||0))/a),h[e?"translateY":"y"]=Math.round(n),l&&(this[this.placed?"animate":"attr"](h),this.placed=!0),this.alignAttr=h,this}alignSetter(t){let e={left:"start",center:"middle",right:"end"};e[t]&&(this.alignValue=t,this.element.setAttribute("text-anchor",e[t]))}animate(t,e,i){let s=r(M(e,this.renderer.globalAnimation,!0)),o=s.defer;return l.hidden&&(s.duration=0),0!==s.duration?(i&&(s.complete=i),E((()=>{this.element&&n(this,t,s)}),o)):(this.attr(t,void 0,i||s.complete),A(t,(function(t,e){s.step&&s.step.call(this,t,{prop:e,pos:1,elem:this})}),this)),this}applyTextOutline(t){let e=this.element;-1!==t.indexOf("contrast")&&(t=t.replace(/contrast/g,this.renderer.getContrast(e.style.fill)));let s=t.split(" "),n=s[s.length-1],r=s[0];if(r&&"none"!==r&&i.svg){this.fakeTS=!0,r=r.replace(/(^[\d\.]+)(.*?)$/g,(function(t,e,i){return 2*Number(e)+i})),this.removeTextOutline();let t=l.createElementNS(c,"tspan");p(t,{class:"highcharts-text-outline",fill:n,stroke:n,"stroke-width":r,"stroke-linejoin":"round"});let i=e.querySelector("textPath")||e;[].forEach.call(i.childNodes,(e=>{let i=e.cloneNode(!0);i.removeAttribute&&["fill","stroke","stroke-width","stroke"].forEach((t=>i.removeAttribute(t))),t.appendChild(i)}));let s=0;[].forEach.call(i.querySelectorAll("text tspan"),(t=>{s+=Number(t.getAttribute("dy"))}));let o=l.createElementNS(c,"tspan");o.textContent="\u200b",p(o,{x:Number(e.getAttribute("x")),dy:-s}),t.appendChild(o),i.insertBefore(t,i.firstChild)}}attr(t,e,i,s){let n,r,a,l=this.element,h=L.symbolCustomAttribs,c=this;return"string"==typeof t&&void 0!==e&&(n=t,(t={})[n]=e),"string"==typeof t?c=(this[t+"Getter"]||this._defaultGetter).call(this,t,l):(A(t,(function(e,i){a=!1,s||o(this,i),this.symbolName&&-1!==h.indexOf(i)&&(r||(this.symbolAttr(t),r=!0),a=!0),this.rotation&&("x"===i||"y"===i)&&(this.doTransform=!0),a||(this[i+"Setter"]||this._defaultSetter).call(this,e,i,l)}),this),this.afterSetters()),i&&i.call(this),c}clip(t){if(t&&!t.clipPath){let e=O()+"-",i=this.renderer.createElement("clipPath").attr({id:e}).add(this.renderer.defs);x(t,{clipPath:i,id:e,count:0}),t.add(i)}return this.attr("clip-path",t?"url(".concat(this.renderer.url,"#").concat(t.id,")"):"none")}crisp(t,e){let i=Math.round(e=e||t.strokeWidth||0)%2/2;return t.x=Math.floor(t.x||this.x||0)+i,t.y=Math.floor(t.y||this.y||0)+i,t.width=Math.floor((t.width||this.width||0)-2*i),t.height=Math.floor((t.height||this.height||0)-2*i),m(t.strokeWidth)&&(t.strokeWidth=e),t}complexColor(t,i,s){let n,r,o,a,l,h,c,d,u,p,f,g=this.renderer,y=[];v(this.renderer,"complexColor",{args:arguments},(function(){if(t.radialGradient?r="radialGradient":t.linearGradient&&(r="linearGradient"),r){if(o=t[r],l=g.gradients,h=t.stops,u=s.radialReference,b(o)&&(t[r]=o={x1:o[0],y1:o[1],x2:o[2],y2:o[3],gradientUnits:"userSpaceOnUse"}),"radialGradient"===r&&u&&!m(o.gradientUnits)&&(a=o,o=C(o,g.getRadialAttr(u,a),{gradientUnits:"userSpaceOnUse"})),A(o,(function(t,e){"id"!==e&&y.push(e,t)})),A(h,(function(t){y.push(t)})),l[y=y.join(",")])p=l[y].attr("id");else{o.id=p=O();let t=l[y]=g.createElement(r).attr(o).add(g.defs);t.radAttr=a,t.stops=[],h.forEach((function(i){0===i[1].indexOf("rgba")?(c=(n=e.parse(i[1])).get("rgb"),d=n.get("a")):(c=i[1],d=1);let s=g.createElement("stop").attr({offset:i[0],"stop-color":c,"stop-opacity":d}).add(t);t.stops.push(s)}))}f="url("+g.url+"#"+p+")",s.setAttribute(i,f),s.gradient=y,t.toString=function(){return f}}}))}css(t){let e,i=this.styles,s={},n=this.element,r=!i;if(i&&A(t,(function(t,e){i&&i[e]!==t&&(s[e]=t,r=!0)})),r){i&&(t=x(i,s)),null===t.width||"auto"===t.width?delete this.textWidth:"text"===n.nodeName.toLowerCase()&&t.width&&(e=this.textWidth=T(t.width)),x(this.styles,t),e&&!h&&this.renderer.forExport&&delete t.width;let r=C(t);n.namespaceURI===this.SVG_NS&&(["textOutline","textOverflow","width"].forEach((t=>r&&delete r[t])),r.color&&(r.fill=r.color)),g(n,r)}return this.added&&("text"===this.element.nodeName&&this.renderer.buildText(this),t.textOutline&&this.applyTextOutline(t.textOutline)),this}dashstyleSetter(t){let e,i=this["stroke-width"];if("inherit"===i&&(i=1),t=t&&t.toLowerCase()){let s=t.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(e=s.length;e--;)s[e]=""+T(s[e])*M(i,NaN);t=s.join(",").replace(/NaN/g,"none"),this.element.setAttribute("stroke-dasharray",t)}}destroy(){var t;let e,i,s=this,n=s.element||{},r=s.renderer,a=n.ownerSVGElement,l="SPAN"===n.nodeName&&s.parentGroup||void 0;if(n.onclick=n.onmouseout=n.onmouseover=n.onmousemove=n.point=null,o(s),s.clipPath&&a){let t=s.clipPath;[].forEach.call(a.querySelectorAll("[clip-path],[CLIP-PATH]"),(function(e){e.getAttribute("clip-path").indexOf(t.element.id)>-1&&e.removeAttribute("clip-path")})),s.clipPath=t.destroy()}if(s.connector=null===(t=s.connector)||void 0===t?void 0:t.destroy(),s.stops){for(i=0;ie&&e.join?(i?t+" ":"")+e.join(" "):(e||"").toString()),"")),/(NaN| {2}|^$)/.test(t)&&(t="M 0 0"),this[e]!==t&&(i.setAttribute(e,t),this[e]=t)}fillSetter(t,e,i){"string"==typeof t?i.setAttribute(e,t):t&&this.complexColor(t,e,i)}hrefSetter(t,e,i){i.setAttributeNS("http://www.w3.org/1999/xlink",e,t)}getBBox(t,e){let i,s,n,r,{alignValue:o,element:a,renderer:l,styles:h,textStr:c}=this,{cache:d,cacheKeys:u}=l,p=a.namespaceURI===this.SVG_NS,f=M(e,this.rotation,0),y=l.styledMode?a&&L.prototype.getStyle.call(a,"font-size"):h.fontSize;if(m(c)&&(-1===(r=c.toString()).indexOf("<")&&(r=r.replace(/[0-9]/g,"0")),r+=["",l.rootFontSize,y,f,this.textWidth,o,h.textOverflow,h.fontWeight].join(",")),r&&!t&&(i=d[r]),!i){if(p||l.forExport){try{n=this.fakeTS&&function(t){let e=a.querySelector(".highcharts-text-outline");e&&g(e,{display:t})},S(n)&&n("none"),i=a.getBBox?x({},a.getBBox()):{width:a.offsetWidth,height:a.offsetHeight,x:0,y:0},S(n)&&n("")}catch(t){}(!i||i.width<0)&&(i={x:0,y:0,width:0,height:0})}else i=this.htmlGetBBox();s=i.height,p&&(i.height=s={"11px,17":14,"13px,20":16}["".concat(y||"",",").concat(Math.round(s))]||s),f&&(i=this.getRotatedBox(i,f))}if(r&&(""===c||i.height>0)){for(;u.length>250;)delete d[u.shift()];d[r]||u.push(r),d[r]=i}return i}getRotatedBox(t,e){let{x:i,y:s,width:n,height:r}=t,{alignValue:o,translateY:l,rotationOriginX:h=0,rotationOriginY:c=0}=this,d={right:1,center:.5}[o||0]||0,u=Number(this.element.getAttribute("y")||0)-(l?0:s),p=e*a,f=(e-90)*a,g=Math.cos(p),m=Math.sin(p),y=n*g,x=n*m,v=Math.cos(f),b=Math.sin(f),[[S,k],[w,C]]=[h,c].map((t=>[t-t*g,t*m])),A=i+d*(n-y)+S+C+u*v,M=A+y,T=M-r*v,P=T-y,E=s+u-d*x-k+w+u*b,O=E+x,L=O-r*b,D=L-x,j=Math.min(A,M,T,P),N=Math.min(E,O,L,D);return{x:j,y:N,width:Math.max(A,M,T,P)-j,height:Math.max(E,O,L,D)-N}}getStyle(t){return d.getComputedStyle(this.element||this,"").getPropertyValue(t)}hasClass(t){return-1!==(""+this.attr("class")).split(" ").indexOf(t)}hide(){return this.attr({visibility:"hidden"})}htmlGetBBox(){return{height:0,width:0,x:0,y:0}}constructor(t,e){this.onEvents={},this.opacity=1,this.SVG_NS=c,this.element="span"===e||"body"===e?f(e):l.createElementNS(this.SVG_NS,e),this.renderer=t,this.styles={},v(this,"afterInit")}on(t,e){let{onEvents:i}=this;return i[t]&&i[t](),i[t]=u(this.element,t,e),this}opacitySetter(t,e,i){let s=Number(Number(t).toFixed(3));this.opacity=s,i.setAttribute(e,s)}removeClass(t){return this.attr("class",(""+this.attr("class")).replace(w(t)?RegExp("(^| )".concat(t,"( |$)")):t," ").replace(/ +/g," ").trim())}removeTextOutline(){let t=this.element.querySelector("tspan.highcharts-text-outline");t&&this.safeRemoveChild(t)}safeRemoveChild(t){let e=t.parentNode;e&&e.removeChild(t)}setRadialReference(t){let e=this.element.gradient&&this.renderer.gradients[this.element.gradient];return this.element.radialReference=t,e&&e.radAttr&&e.animate(this.renderer.getRadialAttr(t,e.radAttr)),this}setTextPath(t,e){e=C(!0,{enabled:!0,attributes:{dy:-5,startOffset:"50%",textAnchor:"middle"}},e);let i=this.renderer.url,s=this.text||this,n=s.textPath,{attributes:r,enabled:o}=e;if(t=t||n&&n.path,n&&n.undo(),t&&o){let e=u(s,"afterModifyTree",(e=>{if(t&&o){let n=t.attr("id");n||t.attr("id",n=O());let o={x:0,y:0};m(r.dx)&&(o.dx=r.dx,delete r.dx),m(r.dy)&&(o.dy=r.dy,delete r.dy),s.attr(o),this.attr({transform:""}),this.box&&(this.box=this.box.destroy());let a=e.nodes.slice(0);e.nodes.length=0,e.nodes[0]={tagName:"textPath",attributes:x(r,{"text-anchor":r.textAnchor,href:"".concat(i,"#").concat(n)}),children:a}}}));s.textPath={path:t,undo:e}}else s.attr({dx:0,dy:0}),delete s.textPath;return this.added&&(s.textCache="",this.renderer.buildText(s)),this}shadow(t){var e;let{renderer:i}=this,s=C(90===(null===(e=this.parentGroup)||void 0===e?void 0:e.rotation)?{offsetX:-1,offsetY:-1}:{},k(t)?t:{}),n=i.shadowDefinition(s);return this.attr({filter:t?"url(".concat(i.url,"#").concat(n,")"):"none"})}show(){let t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];return this.attr({visibility:t?"inherit":"visible"})}"stroke-widthSetter"(t,e,i){this[e]=t,i.setAttribute(e,t)}strokeWidth(){if(!this.renderer.styledMode)return this["stroke-width"]||0;let t,e=this.getStyle("stroke-width"),i=0;return/px$/.test(e)?i=T(e):""!==e&&(p(t=l.createElementNS(c,"rect"),{width:e,"stroke-width":0}),this.element.parentNode.appendChild(t),i=t.getBBox().width,t.parentNode.removeChild(t)),i}symbolAttr(t){let e=this;L.symbolCustomAttribs.forEach((function(i){e[i]=M(t[i],e[i])})),e.attr({d:e.renderer.symbols[e.symbolName](e.x,e.y,e.width,e.height,e)})}textSetter(t){t!==this.textStr&&(delete this.textPxLength,this.textStr=t,this.added&&this.renderer.buildText(this))}titleSetter(t){let e=this.element,i=e.getElementsByTagName("title")[0]||l.createElementNS(this.SVG_NS,"title");e.insertBefore?e.insertBefore(i,e.firstChild):e.appendChild(i),i.textContent=P(M(t,""),[/<[^>]*>/g,""]).replace(/</g,"<").replace(/>/g,">")}toFront(){let t=this.element;return t.parentNode.appendChild(t),this}translate(t,e){return this.attr({translateX:t,translateY:e})}updateTransform(){var t;let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"transform",{element:i,matrix:s,rotation:n=0,rotationOriginX:r,rotationOriginY:o,scaleX:a,scaleY:l,translateX:h=0,translateY:c=0}=this,d=["translate("+h+","+c+")"];m(s)&&d.push("matrix("+s.join(",")+")"),n&&(d.push("rotate("+n+" "+M(r,i.getAttribute("x"),0)+" "+M(o,i.getAttribute("y")||0)+")"),"SPAN"===(null===(t=this.text)||void 0===t?void 0:t.element.tagName)&&this.text.attr({rotation:n,rotationOriginX:(r||0)-this.padding,rotationOriginY:(o||0)-this.padding})),(m(a)||m(l))&&d.push("scale("+M(a,1)+" "+M(l,1)+")"),d.length&&!(this.text||this).textPath&&i.setAttribute(e,d.join(" "))}visibilitySetter(t,e,i){"inherit"===t?i.removeAttribute(e):this[e]!==t&&i.setAttribute(e,t),this[e]=t}xGetter(t){return"circle"===this.element.nodeName&&("x"===t?t="cx":"y"===t&&(t="cy")),this._defaultGetter(t)}zIndexSetter(t,e){let i,s,n,r,o,a=this.renderer,l=this.parentGroup,h=(l||a).element||a.box,c=this.element,d=h===a.box,u=!1,p=this.added;if(m(t)?(c.setAttribute("data-z-index",t),t=+t,this[e]===t&&(p=!1)):m(this[e])&&c.removeAttribute("data-z-index"),this[e]=t,p){for((t=this.zIndex)&&l&&(l.handleZ=!0),o=(i=h.childNodes).length-1;o>=0&&!u;o--)r=!m(n=(s=i[o]).getAttribute("data-z-index")),s!==c&&(t<0&&r&&!d&&!o?(h.insertBefore(c,i[o]),u=!0):(T(n)<=t||r&&(!m(t)||t>=0))&&(h.insertBefore(c,i[o+1]),u=!0));u||(h.insertBefore(c,i[d?3:0]),u=!0)}return u}}return L.symbolCustomAttribs=["anchorX","anchorY","clockwise","end","height","innerR","r","start","width","x","y"],L.prototype.strokeSetter=L.prototype.fillSetter,L.prototype.yGetter=L.prototype.xGetter,L.prototype.matrixSetter=L.prototype.rotationOriginXSetter=L.prototype.rotationOriginYSetter=L.prototype.rotationSetter=L.prototype.scaleXSetter=L.prototype.scaleYSetter=L.prototype.translateXSetter=L.prototype.translateYSetter=L.prototype.verticalAlignSetter=function(t,e){this[e]=t,this.doTransform=!0},L})),i(e,"Core/Renderer/SVG/SVGLabel.js",[e["Core/Renderer/SVG/SVGElement.js"],e["Core/Utilities.js"]],(function(t,e){let{defined:i,extend:s,isNumber:n,merge:r,pick:o,removeEvent:a}=e;class l extends t{constructor(t,e,i,s,n,r,o,a,h,c){let d;super(t,"g"),this.paddingLeftSetter=this.paddingSetter,this.paddingRightSetter=this.paddingSetter,this.textStr=e,this.x=i,this.y=s,this.anchorX=r,this.anchorY=o,this.baseline=h,this.className=c,this.addClass("button"===c?"highcharts-no-tooltip":"highcharts-label"),c&&this.addClass("highcharts-"+c),this.text=t.text(void 0,0,0,a).attr({zIndex:1}),"string"==typeof n&&((d=/^url\((.*?)\)$/.test(n))||this.renderer.symbols[n])&&(this.symbolKey=n),this.bBox=l.emptyBBox,this.padding=3,this.baselineOffset=0,this.needsBox=t.styledMode||d,this.deferredAttr={},this.alignFactor=0}alignSetter(t){let e={left:0,center:.5,right:1}[t];e!==this.alignFactor&&(this.alignFactor=e,this.bBox&&n(this.xSetting)&&this.attr({x:this.xSetting}))}anchorXSetter(t,e){this.anchorX=t,this.boxAttr(e,Math.round(t)-this.getCrispAdjust()-this.xSetting)}anchorYSetter(t,e){this.anchorY=t,this.boxAttr(e,t-this.ySetting)}boxAttr(t,e){this.box?this.box.attr(t,e):this.deferredAttr[t]=e}css(e){if(e){let t={};e=r(e),l.textProps.forEach((i=>{void 0!==e[i]&&(t[i]=e[i],delete e[i])})),this.text.css(t),"fontSize"in t||"fontWeight"in t?this.updateTextPadding():("width"in t||"textOverflow"in t)&&this.updateBoxSize()}return t.prototype.css.call(this,e)}destroy(){a(this.element,"mouseenter"),a(this.element,"mouseleave"),this.text&&this.text.destroy(),this.box&&(this.box=this.box.destroy()),t.prototype.destroy.call(this)}fillSetter(t,e){t&&(this.needsBox=!0),this.fill=t,this.boxAttr(e,t)}getBBox(t,e){this.textStr&&0===this.bBox.width&&0===this.bBox.height&&this.updateBoxSize();let{padding:i,height:s=0,translateX:n=0,translateY:r=0,width:a=0}=this,l=o(this.paddingLeft,i),h=null!==e&&void 0!==e?e:this.rotation||0,c={width:a,height:s,x:n+this.bBox.x-l,y:r+this.bBox.y-i+this.baselineOffset};return h&&(c=this.getRotatedBox(c,h)),c}getCrispAdjust(){return this.renderer.styledMode&&this.box?this.box.strokeWidth()%2/2:(this["stroke-width"]?parseInt(this["stroke-width"],10):0)%2/2}heightSetter(t){this.heightSetting=t}onAdd(){this.text.add(this),this.attr({text:o(this.textStr,""),x:this.x||0,y:this.y||0}),this.box&&i(this.anchorX)&&this.attr({anchorX:this.anchorX,anchorY:this.anchorY})}paddingSetter(t,e){n(t)?t!==this[e]&&(this[e]=t,this.updateTextPadding()):this[e]=void 0}rSetter(t,e){this.boxAttr(e,t)}strokeSetter(t,e){this.stroke=t,this.boxAttr(e,t)}"stroke-widthSetter"(t,e){t&&(this.needsBox=!0),this["stroke-width"]=t,this.boxAttr(e,t)}"text-alignSetter"(t){this.textAlign=t}textSetter(t){void 0!==t&&this.text.attr({text:t}),this.updateTextPadding()}updateBoxSize(){let t,e=this.text,r={},o=this.padding,a=this.bBox=n(this.widthSetting)&&n(this.heightSetting)&&!this.textAlign||!i(e.textStr)?l.emptyBBox:e.getBBox(void 0,0);this.width=this.getPaddedWidth(),this.height=(this.heightSetting||a.height||0)+2*o;let h=this.renderer.fontMetrics(e);if(this.baselineOffset=o+Math.min((this.text.firstLineMetrics||h).b,a.height||1/0),this.heightSetting&&(this.baselineOffset+=(this.heightSetting-h.h)/2),this.needsBox&&!e.textPath){if(!this.box){let t=this.box=this.symbolKey?this.renderer.symbol(this.symbolKey):this.renderer.rect();t.addClass(("button"===this.className?"":"highcharts-label-box")+(this.className?" highcharts-"+this.className+"-box":"")),t.add(this)}t=this.getCrispAdjust(),r.x=t,r.y=(this.baseline?-this.baselineOffset:0)+t,r.width=Math.round(this.width),r.height=Math.round(this.height),this.box.attr(s(r,this.deferredAttr)),this.deferredAttr={}}}updateTextPadding(){let t=this.text;if(!t.textPath){this.updateBoxSize();let e=this.baseline?0:this.baselineOffset,s=o(this.paddingLeft,this.padding);i(this.widthSetting)&&this.bBox&&("center"===this.textAlign||"right"===this.textAlign)&&(s+={center:.5,right:1}[this.textAlign]*(this.widthSetting-this.bBox.width)),(s!==t.x||e!==t.y)&&(t.attr("x",s),t.hasBoxWidthChanged&&(this.bBox=t.getBBox(!0)),void 0!==e&&t.attr("y",e)),t.x=s,t.y=e}}widthSetter(t){this.widthSetting=n(t)?t:void 0}getPaddedWidth(){let t=this.padding,e=o(this.paddingLeft,t),i=o(this.paddingRight,t);return(this.widthSetting||this.bBox.width||0)+e+i}xSetter(t){this.x=t,this.alignFactor&&(t-=this.alignFactor*this.getPaddedWidth(),this["forceAnimate:x"]=!0),this.xSetting=Math.round(t),this.attr("translateX",this.xSetting)}ySetter(t){this.ySetting=this.y=Math.round(t),this.attr("translateY",this.ySetting)}}return l.emptyBBox={width:0,height:0,x:0,y:0},l.textProps=["color","direction","fontFamily","fontSize","fontStyle","fontWeight","lineHeight","textAlign","textDecoration","textOutline","textOverflow","whiteSpace","width"],l})),i(e,"Core/Renderer/SVG/Symbols.js",[e["Core/Utilities.js"]],(function(t){let{defined:e,isNumber:i,pick:s}=t;function n(t,i,n,r,o){let a=[];if(o){let l=o.start||0,h=s(o.r,n),c=s(o.r,r||n),d=.001>Math.abs((o.end||0)-l-2*Math.PI),u=(o.end||0)-.001,p=o.innerR,f=s(o.open,d),g=Math.cos(l),m=Math.sin(l),y=Math.cos(u),x=Math.sin(u),v=s(o.longArc,u-l-Math.PI<.001?0:1),b=["A",h,c,0,v,s(o.clockwise,1),t+h*y,i+c*x];b.params={start:l,end:u,cx:t,cy:i},a.push(["M",t+h*g,i+c*m],b),e(p)&&((b=["A",p,p,0,v,e(o.clockwise)?1-o.clockwise:0,t+p*g,i+p*m]).params={start:u,end:l,cx:t,cy:i},a.push(f?["M",t+p*y,i+p*x]:["L",t+p*y,i+p*x],b)),f||a.push(["Z"])}return a}function r(t,e,i,s,n){return n&&n.r?o(t,e,i,s,n):[["M",t,e],["L",t+i,e],["L",t+i,e+s],["L",t,e+s],["Z"]]}function o(t,e,i,s,n){let r=(null===n||void 0===n?void 0:n.r)||0;return[["M",t+r,e],["L",t+i-r,e],["A",r,r,0,0,1,t+i,e+r],["L",t+i,e+s-r],["A",r,r,0,0,1,t+i-r,e+s],["L",t+r,e+s],["A",r,r,0,0,1,t,e+s-r],["L",t,e+r],["A",r,r,0,0,1,t+r,e],["Z"]]}return{arc:n,callout:function(t,e,s,n,r){let a=Math.min(r&&r.r||0,s,n),l=a+6,h=r&&r.anchorX,c=r&&r.anchorY||0,d=o(t,e,s,n,{r:a});if(!i(h)||h0&&c0)return d;if(t+h>s-l)if(c>e+l&&ce+l&&c0){let i=cn&&hl&&d.splice(1,1,["L",h-6,e],["L",h,e-6],["L",h+6,e],["L",s-a,e]);return d},circle:function(t,e,i,s){return n(t+i/2,e+s/2,i/2,s/2,{start:.5*Math.PI,end:2.5*Math.PI,open:!1})},diamond:function(t,e,i,s){return[["M",t+i/2,e],["L",t+i,e+s/2],["L",t+i/2,e+s],["L",t,e+s/2],["Z"]]},rect:r,roundedRect:o,square:r,triangle:function(t,e,i,s){return[["M",t+i/2,e],["L",t+i,e+s],["L",t,e+s],["Z"]]},"triangle-down":function(t,e,i,s){return[["M",t,e],["L",t+i,e],["L",t+i/2,e+s],["Z"]]}}})),i(e,"Core/Renderer/SVG/TextBuilder.js",[e["Core/Renderer/HTML/AST.js"],e["Core/Globals.js"],e["Core/Utilities.js"]],(function(t,e,i){let{doc:s,SVG_NS:n,win:r}=e,{attr:o,extend:a,fireEvent:l,isString:h,objectEach:c,pick:d}=i;return class{constructor(t){let e=t.styles;this.renderer=t.renderer,this.svgElement=t,this.width=t.textWidth,this.textLineHeight=e&&e.lineHeight,this.textOutline=e&&e.textOutline,this.ellipsis=!(!e||"ellipsis"!==e.textOverflow),this.noWrap=!(!e||"nowrap"!==e.whiteSpace)}buildSVG(){let e=this.svgElement,i=e.element,n=e.renderer,r=d(e.textStr,"").toString(),o=-1!==r.indexOf("<"),a=i.childNodes,l=!e.added&&n.box,c=[r,this.ellipsis,this.noWrap,this.textLineHeight,this.textOutline,e.getStyle("font-size"),this.width].join(",");if(c!==e.textCache){e.textCache=c,delete e.actualWidth;for(let t=a.length;t--;)i.removeChild(a[t]);if(o||this.ellipsis||this.width||e.textPath||-1!==r.indexOf(" ")&&(!this.noWrap||//g.test(r))){if(""!==r){l&&l.appendChild(i);let s=new t(r);this.modifyTree(s.nodes),s.addToDOM(i),this.modifyDOM(),this.ellipsis&&-1!==(i.textContent||"").indexOf("\u2026")&&e.attr("title",this.unescapeEntities(e.textStr||"",["<",">"])),l&&l.removeChild(i)}}else i.appendChild(s.createTextNode(this.unescapeEntities(r)));h(this.textOutline)&&e.applyTextOutline&&e.applyTextOutline(this.textOutline)}}modifyDOM(){let t,e=this.svgElement,i=o(e.element,"x");for(e.firstLineMetrics=void 0;(t=e.element.firstChild)&&/^[\s\u200B]*$/.test(t.textContent||" ");)e.element.removeChild(t);[].forEach.call(e.element.querySelectorAll("tspan.highcharts-br"),((t,s)=>{t.nextSibling&&t.previousSibling&&(0===s&&1===t.previousSibling.nodeType&&(e.firstLineMetrics=e.renderer.fontMetrics(t.previousSibling)),o(t,{dy:this.getLineHeight(t.nextSibling),x:i}))}));let a=this.width||0;if(!a)return;let l=(t,r)=>{let l=t.textContent||"",h=l.replace(/([^\^])-/g,"$1- ").split(" "),c=!this.noWrap&&(h.length>1||e.element.childNodes.length>1),d=this.getLineHeight(r),u=0,p=e.actualWidth;if(this.ellipsis)l&&this.truncate(t,l,void 0,0,Math.max(0,a-.8*d),((t,e)=>t.substring(0,e)+"\u2026"));else if(c){let l=[],c=[];for(;r.firstChild&&r.firstChild!==t;)c.push(r.firstChild),r.removeChild(r.firstChild);for(;h.length;)h.length&&!this.noWrap&&u>0&&(l.push(t.textContent||""),t.textContent=h.join(" ").replace(/- /g,"-")),this.truncate(t,void 0,h,0===u&&p||0,a,((t,e)=>h.slice(0,e).join(" ").replace(/- /g,"-"))),p=e.actualWidth,u++;c.forEach((e=>{r.insertBefore(e,t)})),l.forEach((e=>{r.insertBefore(s.createTextNode(e),t);let a=s.createElementNS(n,"tspan");a.textContent="\u200b",o(a,{dy:d,x:i}),r.insertBefore(a,t)}))}},h=t=>{[].slice.call(t.childNodes).forEach((i=>{i.nodeType===r.Node.TEXT_NODE?l(i,t):(-1!==i.className.baseVal.indexOf("highcharts-br")&&(e.actualWidth=0),h(i))}))};h(e.element)}getLineHeight(t){let e=t.nodeType===r.Node.TEXT_NODE?t.parentElement:t;return this.textLineHeight?parseInt(this.textLineHeight.toString(),10):this.renderer.fontMetrics(e||this.svgElement.element).h}modifyTree(t){let e=(i,s)=>{let{attributes:n={},children:r,style:o={},tagName:l}=i,h=this.renderer.styledMode;if("b"===l||"strong"===l?h?n.class="highcharts-strong":o.fontWeight="bold":("i"===l||"em"===l)&&(h?n.class="highcharts-emphasized":o.fontStyle="italic"),o&&o.color&&(o.fill=o.color),"br"===l){n.class="highcharts-br",i.textContent="\u200b";let e=t[s+1];e&&e.textContent&&(e.textContent=e.textContent.replace(/^ +/gm,""))}else"a"===l&&r&&r.some((t=>"#text"===t.tagName))&&(i.children=[{children:r,tagName:"tspan"}]);"#text"!==l&&"a"!==l&&(i.tagName="tspan"),a(i,{attributes:n,style:o}),r&&r.filter((t=>"#text"!==t.tagName)).forEach(e)};t.forEach(e),l(this.svgElement,"afterModifyTree",{nodes:t})}truncate(t,e,i,s,n,r){let o,a,l=this.svgElement,{rotation:h}=l,c=[],d=i?1:0,u=(e||i||"").length,p=u,f=function(e,n){let r=n||e,o=t.parentNode;if(o&&void 0===c[r]&&o.getSubStringLength)try{c[r]=s+o.getSubStringLength(0,i?r+1:r)}catch(t){}return c[r]};if(l.rotation=0,s+(a=f(t.textContent.length))>n){for(;d<=u;)p=Math.ceil((d+u)/2),i&&(o=r(i,p)),a=f(p,o&&o.length-1),d===u?d=u+1:a>n?u=p-1:d=p;0===u?t.textContent="":e&&u===e.length-1||(t.textContent=o||r(e||i,p))}i&&i.splice(0,p),l.actualWidth=a,l.rotation=h}unescapeEntities(t,e){return c(this.renderer.escapes,(function(i,s){e&&-1!==e.indexOf(i)||(t=t.toString().replace(RegExp(i,"g"),s))})),t}}})),i(e,"Core/Renderer/SVG/SVGRenderer.js",[e["Core/Renderer/HTML/AST.js"],e["Core/Color/Color.js"],e["Core/Globals.js"],e["Core/Renderer/RendererRegistry.js"],e["Core/Renderer/SVG/SVGElement.js"],e["Core/Renderer/SVG/SVGLabel.js"],e["Core/Renderer/SVG/Symbols.js"],e["Core/Renderer/SVG/TextBuilder.js"],e["Core/Utilities.js"]],(function(t,e,i,s,n,r,o,a,l){let h,{charts:c,deg2rad:d,doc:u,isFirefox:p,isMS:f,isWebKit:g,noop:m,SVG_NS:y,symbolSizes:x,win:v}=i,{addEvent:b,attr:S,createElement:k,css:w,defined:C,destroyObjectProperties:A,extend:M,isArray:T,isNumber:P,isObject:E,isString:O,merge:L,pick:D,pInt:j,replaceNested:N,uniqueKey:R}=l;class I{constructor(t,e,i,s,n,r,o){let a,l,h=this.createElement("svg").attr({version:"1.1",class:"highcharts-root"}),c=h.element;o||h.css(this.getStyle(s||{})),t.appendChild(c),S(t,"dir","ltr"),-1===t.innerHTML.indexOf("xmlns")&&S(c,"xmlns",this.SVG_NS),this.box=c,this.boxWrapper=h,this.alignedObjects=[],this.url=this.getReferenceURL(),this.createElement("desc").add().element.appendChild(u.createTextNode("Created with Highcharts 11.4.0")),this.defs=this.createElement("defs").add(),this.allowHTML=r,this.forExport=n,this.styledMode=o,this.gradients={},this.cache={},this.cacheKeys=[],this.imgCount=0,this.rootFontSize=h.getStyle("font-size"),this.setSize(e,i,!1),p&&t.getBoundingClientRect&&((a=function(){w(t,{left:0,top:0}),l=t.getBoundingClientRect(),w(t,{left:Math.ceil(l.left)-l.left+"px",top:Math.ceil(l.top)-l.top+"px"})})(),this.unSubPixelFix=b(v,"resize",a))}definition(e){return new t([e]).addToDOM(this.defs.element)}getReferenceURL(){if((p||g)&&u.getElementsByTagName("base").length){if(!C(h)){let e=R(),i=new t([{tagName:"svg",attributes:{width:8,height:8},children:[{tagName:"defs",children:[{tagName:"clipPath",attributes:{id:e},children:[{tagName:"rect",attributes:{width:4,height:4}}]}]},{tagName:"rect",attributes:{id:"hitme",width:8,height:8,"clip-path":"url(#".concat(e,")"),fill:"rgba(0,0,0,0.001)"}}]}]).addToDOM(u.body);w(i,{position:"fixed",top:0,left:0,zIndex:9e5});let s=u.elementFromPoint(6,6);h="hitme"===(s&&s.id),u.body.removeChild(i)}if(h)return N(v.location.href.split("#")[0],[/<[^>]*>/g,""],[/([\('\)])/g,"\\$1"],[/ /g,"%20"])}return""}getStyle(t){return this.style=M({fontFamily:"Helvetica, Arial, sans-serif",fontSize:"1rem"},t),this.style}setStyle(t){this.boxWrapper.css(this.getStyle(t))}isHidden(){return!this.boxWrapper.getBBox().width}destroy(){let t=this.defs;return this.box=null,this.boxWrapper=this.boxWrapper.destroy(),A(this.gradients||{}),this.gradients=null,this.defs=t.destroy(),this.unSubPixelFix&&this.unSubPixelFix(),this.alignedObjects=null,null}createElement(t){return new this.Element(this,t)}getRadialAttr(t,e){return{cx:t[0]-t[2]/2+(e.cx||0)*t[2],cy:t[1]-t[2]/2+(e.cy||0)*t[2],r:(e.r||0)*t[2]}}shadowDefinition(t){let e=["highcharts-drop-shadow-".concat(this.chartIndex),...Object.keys(t).map((e=>"".concat(e,"-").concat(t[e])))].join("-").toLowerCase().replace(/[^a-z0-9\-]/g,""),i=L({color:"#000000",offsetX:1,offsetY:1,opacity:.15,width:5},t);return this.defs.element.querySelector("#".concat(e))||this.definition({tagName:"filter",attributes:{id:e,filterUnits:i.filterUnits},children:[{tagName:"feDropShadow",attributes:{dx:i.offsetX,dy:i.offsetY,"flood-color":i.color,"flood-opacity":Math.min(5*i.opacity,1),stdDeviation:i.width/2}}]}),e}buildText(t){new a(t).buildSVG()}getContrast(t){let i=e.parse(t).rgba.map((t=>{let e=t/255;return e<=.03928?e/12.92:Math.pow((e+.055)/1.055,2.4)})),s=.2126*i[0]+.7152*i[1]+.0722*i[2];return 1.05/(s+.05)>(s+.05)/.05?"#FFFFFF":"#000000"}button(e,i,s,n){let r,o,a,l=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{},h=arguments.length>5?arguments[5]:void 0,c=arguments.length>6?arguments[6]:void 0,d=arguments.length>7?arguments[7]:void 0,u=arguments.length>8?arguments[8]:void 0,p=arguments.length>9?arguments[9]:void 0,g=this.label(e,i,s,u,void 0,void 0,p,void 0,"button"),m=this.styledMode,y=l.states||{},x=0;l=L(l),delete l.states;let v=L({color:"#333333",cursor:"pointer",fontSize:"0.8em",fontWeight:"normal"},l.style);delete l.style;let S=t.filterUserAttributes(l);return g.attr(L({padding:8,r:2},S)),m||(S=L({fill:"#f7f7f7",stroke:"#cccccc","stroke-width":1},S),r=(h=L(S,{fill:"#e6e6e6"},t.filterUserAttributes(h||y.hover||{}))).style,delete h.style,o=(c=L(S,{fill:"#e6e9ff",style:{color:"#000000",fontWeight:"bold"}},t.filterUserAttributes(c||y.select||{}))).style,delete c.style,a=(d=L(S,{style:{color:"#cccccc"}},t.filterUserAttributes(d||y.disabled||{}))).style,delete d.style),b(g.element,f?"mouseover":"mouseenter",(function(){3!==x&&g.setState(1)})),b(g.element,f?"mouseout":"mouseleave",(function(){3!==x&&g.setState(x)})),g.setState=function(t){if(1!==t&&(g.state=x=t),g.removeClass(/highcharts-button-(normal|hover|pressed|disabled)/).addClass("highcharts-button-"+["normal","hover","pressed","disabled"][t||0]),!m){g.attr([S,h,c,d][t||0]);let e=[v,r,o,a][t||0];E(e)&&g.css(e)}},!m&&(g.attr(S).css(M({cursor:"default"},v)),p&&g.text.css({pointerEvents:"none"})),g.on("touchstart",(t=>t.stopPropagation())).on("click",(function(t){3!==x&&n.call(g,t)}))}crispLine(t,e){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"round",s=t[0],n=t[1];return C(s[1])&&s[1]===n[1]&&(s[1]=n[1]=Math[i](s[1])-e%2/2),C(s[2])&&s[2]===n[2]&&(s[2]=n[2]=Math[i](s[2])+e%2/2),t}path(t){let e=this.styledMode?{}:{fill:"none"};return T(t)?e.d=t:E(t)&&M(e,t),this.createElement("path").attr(e)}circle(t,e,i){let s=E(t)?t:void 0===t?{}:{x:t,y:e,r:i},n=this.createElement("circle");return n.xSetter=n.ySetter=function(t,e,i){i.setAttribute("c"+e,t)},n.attr(s)}arc(t,e,i,s,n,r){let o;E(t)?(e=(o=t).y,i=o.r,s=o.innerR,n=o.start,r=o.end,t=o.x):o={innerR:s,start:n,end:r};let a=this.symbol("arc",t,e,i,i,o);return a.r=i,a}rect(t,e,i,s,n,r){let o=E(t)?t:void 0===t?{}:{x:t,y:e,r:n,width:Math.max(i||0,0),height:Math.max(s||0,0)},a=this.createElement("rect");return this.styledMode||(void 0!==r&&(o["stroke-width"]=r,M(o,a.crisp(o))),o.fill="none"),a.rSetter=function(t,e,i){a.r=t,S(i,{rx:t,ry:t})},a.rGetter=function(){return a.r||0},a.attr(o)}roundedRect(t){return this.symbol("roundedRect").attr(t)}setSize(t,e,i){this.width=t,this.height=e,this.boxWrapper.animate({width:t,height:e},{step:function(){this.attr({viewBox:"0 0 "+this.attr("width")+" "+this.attr("height")})},duration:D(i,!0)?void 0:0}),this.alignElements()}g(t){let e=this.createElement("g");return t?e.attr({class:"highcharts-"+t}):e}image(t,e,i,s,n,r){let o={preserveAspectRatio:"none"};P(e)&&(o.x=e),P(i)&&(o.y=i),P(s)&&(o.width=s),P(n)&&(o.height=n);let a=this.createElement("image").attr(o),l=function(e){a.attr({href:t}),r.call(a,e)};if(r){a.attr({href:"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="});let e=new v.Image;b(e,"load",l),e.src=t,e.complete&&l({})}else a.attr({href:t});return a}symbol(t,e,i,s,n,r){let o,a,l,h,d=this,p=/^url\((.*?)\)$/,f=p.test(t),g=!f&&(this.symbols[t]?t:"circle"),m=g&&this.symbols[g];if(m)"number"==typeof e&&(a=m.call(this.symbols,Math.round(e||0),Math.round(i||0),s||0,n||0,r)),o=this.path(a),d.styledMode||o.attr("fill","none"),M(o,{symbolName:g||void 0,x:e,y:i,width:s,height:n}),r&&M(o,r);else if(f){l=t.match(p)[1];let s=o=this.image(l);s.imgwidth=D(r&&r.width,x[l]&&x[l].width),s.imgheight=D(r&&r.height,x[l]&&x[l].height),h=t=>t.attr({width:t.width,height:t.height}),["width","height"].forEach((t=>{s["".concat(t,"Setter")]=function(t,e){this[e]=t;let{alignByTranslate:i,element:s,width:n,height:o,imgwidth:a,imgheight:l}=this,h="width"===e?a:l,c=1;r&&"within"===r.backgroundSize&&n&&o&&a&&l?(c=Math.min(n/a,o/l),S(s,{width:Math.round(a*c),height:Math.round(l*c)})):s&&h&&s.setAttribute(e,h),!i&&a&&l&&this.translate(((n||0)-a*c)/2,((o||0)-l*c)/2)}})),C(e)&&s.attr({x:e,y:i}),s.isImg=!0,C(s.imgwidth)&&C(s.imgheight)?h(s):(s.attr({width:0,height:0}),k("img",{onload:function(){let t=c[d.chartIndex];0===this.width&&(w(this,{position:"absolute",top:"-999em"}),u.body.appendChild(this)),x[l]={width:this.width,height:this.height},s.imgwidth=this.width,s.imgheight=this.height,s.element&&h(s),this.parentNode&&this.parentNode.removeChild(this),d.imgCount--,d.imgCount||!t||t.hasLoaded||t.onload()},src:l}),this.imgCount++)}return o}clipRect(t,e,i,s){return this.rect(t,e,i,s,0)}text(t,e,i,s){let n={};if(s&&(this.allowHTML||!this.forExport))return this.html(t,e,i);n.x=Math.round(e||0),i&&(n.y=Math.round(i)),C(t)&&(n.text=t);let r=this.createElement("text").attr(n);return s&&(!this.forExport||this.allowHTML)||(r.xSetter=function(t,e,i){let s=i.getElementsByTagName("tspan"),n=i.getAttribute(e);for(let r,o=0;ot.align()))}}return M(I.prototype,{Element:n,SVG_NS:y,escapes:{"&":"&","<":"<",">":">","'":"'",'"':"""},symbols:o,draw:m}),s.registerRendererType("svg",I,!0),I})),i(e,"Core/Renderer/HTML/HTMLElement.js",[e["Core/Renderer/HTML/AST.js"],e["Core/Globals.js"],e["Core/Renderer/SVG/SVGElement.js"],e["Core/Utilities.js"]],(function(t,e,i,s){let{composed:n}=e,{attr:r,css:o,createElement:a,defined:l,extend:h,pInt:c,pushUnique:d}=s;function u(t,e,s){var n;let r=(null===(n=this.div)||void 0===n?void 0:n.style)||s.style;i.prototype["".concat(e,"Setter")].call(this,t,e,s),r&&(r[e]=t)}let p=(t,e)=>{if(!t.div){var s;let n=r(t.element,"class"),o=t.css,l=a("div",n?{className:n}:void 0,{position:"absolute",left:"".concat(t.translateX||0,"px"),top:"".concat(t.translateY||0,"px"),...t.styles,display:t.display,opacity:t.opacity,visibility:t.visibility},(null===(s=t.parentGroup)||void 0===s?void 0:s.div)||e);t.classSetter=(t,e,i)=>{i.setAttribute("class",t),l.className=t},t.translateXSetter=t.translateYSetter=(e,i)=>{t[i]=e,l.style["translateX"===i?"left":"top"]="".concat(e,"px"),t.doTransform=!0},t.opacitySetter=t.visibilitySetter=u,t.css=e=>(o.call(t,e),e.cursor&&(l.style.cursor=e.cursor),e.pointerEvents&&(l.style.pointerEvents=e.pointerEvents),t),t.on=function(){return i.prototype.on.apply({element:l,onEvents:t.onEvents},arguments),t},t.div=l}return t.div};class f extends i{static compose(t){d(n,this.compose)&&(t.prototype.html=function(t,e,i){return new f(this,"span").attr({text:t,x:Math.round(e),y:Math.round(i)})})}constructor(t,e){super(t,e),this.css({position:"absolute",...t.styledMode?{}:{fontFamily:t.style.fontFamily,fontSize:t.style.fontSize}}),this.element.style.whiteSpace="nowrap"}getSpanCorrection(t,e,i){this.xCorr=-t*i,this.yCorr=-e}css(t){let e,{element:i}=this,s="SPAN"===i.tagName&&t&&"width"in t,n=s&&t.width;return s&&(delete t.width,this.textWidth=c(n)||void 0,e=!0),"ellipsis"===(null===t||void 0===t?void 0:t.textOverflow)&&(t.whiteSpace="nowrap",t.overflow="hidden"),h(this.styles,t),o(i,t),e&&this.updateTransform(),this}htmlGetBBox(){let{element:t}=this;return{x:t.offsetLeft,y:t.offsetTop,width:t.offsetWidth,height:t.offsetHeight}}updateTransform(){if(!this.added)return void(this.alignOnAdd=!0);let{element:t,renderer:e,rotation:i,rotationOriginX:s,rotationOriginY:n,styles:r,textAlign:a="left",textWidth:h,translateX:c=0,translateY:d=0,x:u=0,y:p=0}=this,f=r.whiteSpace;if(o(t,{marginLeft:"".concat(c,"px"),marginTop:"".concat(d,"px")}),"SPAN"===t.tagName){var g;let r,c=[i,a,t.innerHTML,h,this.textAlign].join(","),d=-1*(null===(g=this.parentGroup)||void 0===g?void 0:g.padding)||0,m=!1;if(h!==this.oldTextWidth){let e=this.textPxLength?this.textPxLength:(o(t,{width:"",whiteSpace:f||"nowrap"}),t.offsetWidth),s=h||0;(s>this.oldTextWidth||e>s)&&(/[ \-]/.test(t.textContent||t.innerText)||"ellipsis"===t.style.textOverflow)&&(o(t,{width:e>s||i?h+"px":"auto",display:"block",whiteSpace:f||"normal"}),this.oldTextWidth=h,m=!0)}this.hasBoxWidthChanged=m,c!==this.cTT&&(r=e.fontMetrics(t).b,l(i)&&(i!==(this.oldRotation||0)||a!==this.oldAlign)&&this.setSpanRotation(i,d,d),this.getSpanCorrection(!l(i)&&this.textPxLength||t.offsetWidth,r,{left:0,center:.5,right:1}[a]));let{xCorr:y=0,yCorr:x=0}=this,v=(null!==s&&void 0!==s?s:u)-y-u-d,b=(null!==n&&void 0!==n?n:p)-x-p-d;o(t,{left:"".concat(u+y,"px"),top:"".concat(p+x,"px"),transformOrigin:"".concat(v,"px ").concat(b,"px")}),this.cTT=c,this.oldRotation=i,this.oldAlign=a}}setSpanRotation(t,e,i){o(this.element,{transform:"rotate(".concat(t,"deg)"),transformOrigin:"".concat(e,"% ").concat(i,"px")})}add(t){let e,i=this.renderer.box.parentNode,s=[];if(this.parentGroup=t,t&&!(e=t.div)){let n=t;for(;n;)s.push(n),n=n.parentGroup;for(let t of s.reverse())e=p(t,i)}return(e||i).appendChild(this.element),this.added=!0,this.alignOnAdd&&this.updateTransform(),this}textSetter(e){e!==this.textStr&&(delete this.bBox,delete this.oldTextWidth,t.setElementHTML(this.element,null!==e&&void 0!==e?e:""),this.textStr=e,this.doTransform=!0)}alignSetter(t){this.alignValue=this.textAlign=t,this.doTransform=!0}xSetter(t,e){this[e]=t,this.doTransform=!0}}let g=f.prototype;return g.visibilitySetter=g.opacitySetter=u,g.ySetter=g.rotationSetter=g.rotationOriginXSetter=g.rotationOriginYSetter=g.xSetter,f})),i(e,"Core/Axis/AxisDefaults.js",[],(function(){var t,e;return(e=t||(t={})).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",padding:5,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"}},type:"linear",uniqueNames:!0,visible:!0,minorGridLineColor:"#f2f2f2",minorGridLineWidth:1,minorTickColor:"#999999",lineColor:"#333333",lineWidth:1,gridLineColor:"#e6e6e6",gridLineWidth:void 0,tickColor:"#333333"},e.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:t}=this.axis.chart;return t(this.total||0,-1)},style:{color:"#000000",fontSize:"0.7em",fontWeight:"bold",textOutline:"1px contrast"}},gridLineWidth:1,lineWidth:0},t})),i(e,"Core/Foundation.js",[e["Core/Utilities.js"]],(function(t){var e;let{addEvent:i,isFunction:s,objectEach:n,removeEvent:r}=t;return(e||(e={})).registerEventOptions=function(t,e){t.eventOptions=t.eventOptions||{},n(e.events,(function(e,n){t.eventOptions[n]!==e&&(t.eventOptions[n]&&(r(t,n,t.eventOptions[n]),delete t.eventOptions[n]),s(e)&&(t.eventOptions[n]=e,i(t,n,e,{order:0})))}))},e})),i(e,"Core/Axis/Tick.js",[e["Core/Templating.js"],e["Core/Globals.js"],e["Core/Utilities.js"]],(function(t,e,i){let{deg2rad:s}=e,{clamp:n,correctFloat:r,defined:o,destroyObjectProperties:a,extend:l,fireEvent:h,isNumber:c,merge:d,objectEach:u,pick:p}=i;return class{constructor(t,e,i,s,n){this.isNew=!0,this.isNewLabel=!0,this.axis=t,this.pos=e,this.type=i||"",this.parameters=n||{},this.tickmarkOffset=this.parameters.tickmarkOffset,this.options=this.parameters.options,h(this,"init"),i||s||this.addLabel()}addLabel(){let e,i,s,n=this,a=n.axis,d=a.options,u=a.chart,f=a.categories,g=a.logarithmic,m=a.names,y=n.pos,x=p(n.options&&n.options.labels,d.labels),v=a.tickPositions,b=y===v[0],S=y===v[v.length-1],k=(!x.step||1===x.step)&&1===a.tickInterval,w=v.info,C=n.label,A=this.parameters.category||(f?p(f[y],m[y],y):y);g&&c(A)&&(A=r(g.lin2log(A))),a.dateTime&&(w?e=(i=u.time.resolveDTLFormat(d.dateTimeLabelFormats[!d.grid&&w.higherRanks[y]||w.unitName])).main:c(A)&&(e=a.dateTime.getXDateFormat(A,d.dateTimeLabelFormats||{}))),n.isFirst=b,n.isLast=S;let M={axis:a,chart:u,dateTimeLabelFormat:e,isFirst:b,isLast:S,pos:y,tick:n,tickPositionInfo:w,value:A};h(this,"labelFormat",M);let T=e=>x.formatter?x.formatter.call(e,e):x.format?(e.text=a.defaultLabelFormatter.call(e),t.format(x.format,e,u)):a.defaultLabelFormatter.call(e),P=T.call(M,M),E=i&&i.list;n.shortenLabel=E?function(){for(s=0;s0&&a+g*m>d&&(n=Math.round((l-a)/Math.cos(f*s))):(e=a-g*m,i=a+(1-g)*m,ed&&(v=d-t.x+v*g,b=-1),(v=Math.min(y,v))v||r.autoRotation&&(u.styles||{}).width)&&(n=v)),n&&(this.shortenLabel?this.shortenLabel():(x.width=Math.floor(n)+"px",(o.style||{}).textOverflow||(x.textOverflow="ellipsis"),u.css(x)))}moveLabel(t,e){let i,s=this,n=s.label,r=s.axis,o=!1;n&&n.textStr===t?(s.movedLabel=n,o=!0,delete s.label):u(r.ticks,(function(e){o||e.isNew||e===s||!e.label||e.label.textStr!==t||(s.movedLabel=e.label,o=!0,e.labelPos=s.movedLabel.xy,delete e.label)})),!o&&(s.labelPos||n)&&(i=s.labelPos||n.xy,s.movedLabel=s.createLabel(t,e,i),s.movedLabel&&s.movedLabel.attr({opacity:0}))}render(t,e,i){let s=this.axis,n=s.horiz,o=this.pos,a=p(this.tickmarkOffset,s.tickmarkOffset),l=this.getPosition(n,o,a,e),c=l.x,d=l.y,u=s.pos,f=u+s.len,g=n&&c===f||!n&&d===u?-1:1,m=n?c:d;!s.chart.polar&&this.isNew&&(r(m)f)&&(i=0);let y=p(i,this.label&&this.label.newOpacity,1);i=p(i,1),this.isActive=!0,this.renderGridLine(e,i,g),this.renderMark(l,i,g),this.renderLabel(l,e,y,t),this.isNew=!1,h(this,"afterRender")}renderGridLine(t,e,i){let s,n=this.axis,r=n.options,o={},a=this.pos,l=this.type,h=p(this.tickmarkOffset,n.tickmarkOffset),c=n.chart.renderer,d=this.gridLine,u=r.gridLineWidth,f=r.gridLineColor,g=r.gridLineDashStyle;"minor"===this.type&&(u=r.minorGridLineWidth,f=r.minorGridLineColor,g=r.minorGridLineDashStyle),d||(n.chart.styledMode||(o.stroke=f,o["stroke-width"]=u||0,o.dashstyle=g),l||(o.zIndex=1),t&&(e=0),this.gridLine=d=c.path().attr(o).addClass("highcharts-"+(l?l+"-":"")+"grid-line").add(n.gridGroup)),d&&(s=n.getPlotLinePath({value:a+h,lineWidth:d.strokeWidth()*i,force:"pass",old:t,acrossPanes:!1}))&&d[t||this.isNew?"attr":"animate"]({d:s,opacity:e})}renderMark(t,e,i){let s=this.axis,n=s.options,r=s.chart.renderer,o=this.type,a=s.tickSize(o?o+"Tick":"tick"),l=t.x,h=t.y,c=p(n["minor"!==o?"tickWidth":"minorTickWidth"],!o&&s.isXAxis?1:0),d=n["minor"!==o?"tickColor":"minorTickColor"],u=this.mark,f=!u;a&&(s.opposite&&(a[0]=-a[0]),u||(this.mark=u=r.path().addClass("highcharts-"+(o?o+"-":"")+"tick").add(s.axisGroup),s.chart.styledMode||u.attr({stroke:d,"stroke-width":c})),u[f?"attr":"animate"]({d:this.getMarkPath(l,h,a[0],u.strokeWidth()*i,s.horiz,r),opacity:e}))}renderLabel(t,e,i,s){let n=this.axis,r=n.horiz,o=n.options,a=this.label,l=o.labels,h=l.step,d=p(this.tickmarkOffset,n.tickmarkOffset),u=t.x,f=t.y,g=!0;a&&c(u)&&(a.xy=t=this.getLabelPosition(u,f,a,r,l,d,s,h),this.isFirst&&!this.isLast&&!o.showFirstLabel||this.isLast&&!this.isFirst&&!o.showLastLabel?g=!1:!r||l.step||l.rotation||e||0===i||this.handleOverflow(t),h&&s%h&&(g=!1),g&&c(t.y)?(t.opacity=i,a[this.isNewLabel?"attr":"animate"](t).show(!0),this.isNewLabel=!1):(a.hide(),this.isNewLabel=!0))}replaceMovedLabel(){let t=this.label,e=this.axis;t&&!this.isNew&&(t.animate({opacity:0},void 0,t.destroy),delete this.label),e.isDirty=!0,this.label=this.movedLabel,delete this.movedLabel}}})),i(e,"Core/Axis/Axis.js",[e["Core/Animation/AnimationUtilities.js"],e["Core/Axis/AxisDefaults.js"],e["Core/Color/Color.js"],e["Core/Defaults.js"],e["Core/Foundation.js"],e["Core/Globals.js"],e["Core/Axis/Tick.js"],e["Core/Utilities.js"]],(function(t,e,i,s,n,r,o,a){let{animObject:l}=t,{xAxis:h,yAxis:c}=e,{defaultOptions:d}=s,{registerEventOptions:u}=n,{deg2rad:p}=r,{arrayMax:f,arrayMin:g,clamp:m,correctFloat:y,defined:x,destroyObjectProperties:v,erase:b,error:S,extend:k,fireEvent:w,getClosestDistance:C,insertItem:A,isArray:M,isNumber:T,isString:P,merge:E,normalizeTickInterval:O,objectEach:L,pick:D,relativeLength:j,removeEvent:N,splat:R,syncTimeout:I}=a,B=(t,e)=>O(e,void 0,void 0,D(t.options.allowDecimals,e<.5||void 0!==t.tickAmount),!!t.tickAmount);k(d,{xAxis:h,yAxis:E(h,c)});class _{constructor(t,e,i){this.init(t,e,i)}init(t,e){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.coll,s="xAxis"===i,n=this.isZAxis||(t.inverted?!s:s);this.chart=t,this.horiz=n,this.isXAxis=s,this.coll=i,w(this,"init",{userOptions:e}),this.opposite=D(e.opposite,this.opposite),this.side=D(e.side,this.side,n?this.opposite?0:2:this.opposite?1:3),this.setOptions(e);let r=this.options,o=r.labels,a=r.type;this.userOptions=e,this.minPixelPadding=0,this.reversed=D(r.reversed,this.reversed),this.visible=r.visible,this.zoomEnabled=r.zoomEnabled,this.hasNames="category"===a||!0===r.categories,this.categories=M(r.categories)&&r.categories||(this.hasNames?[]:void 0),this.names||(this.names=[],this.names.keys={}),this.plotLinesAndBandsGroups={},this.positiveValuesOnly=!!this.logarithmic,this.isLinked=x(r.linkedTo),this.ticks={},this.labelEdge=[],this.minorTicks={},this.plotLinesAndBands=[],this.alternateBands={},this.len=0,this.minRange=this.userMinRange=r.minRange||r.maxZoom,this.range=r.range,this.offset=r.offset||0,this.max=void 0,this.min=void 0;let l=D(r.crosshair,R(t.options.tooltip.crosshairs)[s?0:1]);this.crosshair=!0===l?{}:l,-1===t.axes.indexOf(this)&&(s?t.axes.splice(t.xAxis.length,0,this):t.axes.push(this),A(this,t[this.coll])),t.orderItems(this.coll),this.series=this.series||[],t.inverted&&!this.isZAxis&&s&&!x(this.reversed)&&(this.reversed=!0),this.labelRotation=T(o.rotation)?o.rotation:void 0,u(this,r),w(this,"afterInit")}setOptions(t){let e=this.horiz?{labels:{autoRotation:[-45]},margin:15}:{title:{rotation:90*this.side}};this.options=E(e,d[this.coll],t),w(this,"afterSetOptions",{userOptions:t})}defaultLabelFormatter(){let t,e,i=this.axis,{numberFormatter:s}=this.chart,n=T(this.value)?this.value:NaN,r=i.chart.time,o=i.categories,a=this.dateTimeLabelFormat,l=d.lang,h=l.numericSymbols,c=l.numericSymbolMagnitude||1e3,u=i.logarithmic?Math.abs(n):i.tickInterval,p=h&&h.length;if(o)e="".concat(this.value);else if(a)e=r.dateFormat(a,n);else if(p&&h&&u>=1e3)for(;p--&&void 0===e;)u>=(t=Math.pow(c,p+1))&&10*n%t==0&&null!==h[p]&&0!==n&&(e=s(n/t,-1)+h[p]);return void 0===e&&(e=Math.abs(n)>=1e4?s(n,-1):s(n,-1,void 0,"")),e}getSeriesExtremes(){let t,e=this;w(this,"getSeriesExtremes",null,(function(){e.hasVisibleSeries=!1,e.dataMin=e.dataMax=e.threshold=void 0,e.softThreshold=!e.isXAxis,e.series.forEach((i=>{if(i.reserveSpace()){let s,n,r,o=i.options,a=o.threshold;if(e.hasVisibleSeries=!0,e.positiveValuesOnly&&0>=(a||0)&&(a=void 0),e.isXAxis)(s=i.xData)&&s.length&&(s=e.logarithmic?s.filter((t=>t>0)):s,n=(t=i.getXExtremes(s)).min,r=t.max,T(n)||n instanceof Date||(s=s.filter(T),n=(t=i.getXExtremes(s)).min,r=t.max),s.length&&(e.dataMin=Math.min(D(e.dataMin,n),n),e.dataMax=Math.max(D(e.dataMax,r),r)));else{let t=i.applyExtremes();T(t.dataMin)&&(n=t.dataMin,e.dataMin=Math.min(D(e.dataMin,n),n)),T(t.dataMax)&&(r=t.dataMax,e.dataMax=Math.max(D(e.dataMax,r),r)),x(a)&&(e.threshold=a),(!o.softThreshold||e.positiveValuesOnly)&&(e.softThreshold=!1)}}}))})),w(this,"afterGetSeriesExtremes")}translate(t,e,i,s,n,r){var o;let a=this.linkedParent||this,l=s&&a.old?a.old.min:a.min;if(!T(l))return NaN;let h=a.minPixelPadding,c=(a.isOrdinal||(null===(o=a.brokenAxis)||void 0===o?void 0:o.hasBreaks)||a.logarithmic&&n)&&a.lin2val,d=1,u=0,p=s&&a.old?a.old.transA:a.transA,f=0;if(p||(p=a.transA),i&&(d*=-1,u=a.len),a.reversed&&(d*=-1,u-=d*(a.sector||a.len)),e)f=(t=t*d+u-h)/p+l,c&&(f=a.lin2val(f));else{c&&(t=a.val2lin(t));let e=d*(t-l)*p;f=(a.isRadial?e:y(e))+u+d*h+(T(r)?p*r:0)}return f}toPixels(t,e){return this.translate(t,!1,!this.horiz,void 0,!0)+(e?0:this.pos)}toValue(t,e){return this.translate(t-(e?0:this.pos),!0,!this.horiz,void 0,!0)}getPlotLinePath(t){let e,i,s,n,r,o=this,a=o.chart,l=o.left,h=o.top,c=t.old,d=t.value,u=t.lineWidth,p=c&&a.oldChartHeight||a.chartHeight,f=c&&a.oldChartWidth||a.chartWidth,g=o.transB,y=t.translatedValue,x=t.force;function v(t,e,i){return"pass"!==x&&(ti)&&(x?t=m(t,e,i):r=!0),t}let b={value:d,lineWidth:u,old:c,force:x,acrossPanes:t.acrossPanes,translatedValue:y};return w(this,"getPlotLinePath",b,(function(t){e=s=Math.round((y=m(y=D(y,o.translate(d,void 0,void 0,c)),-1e5,1e5))+g),i=n=Math.round(p-y-g),T(y)?o.horiz?(i=h,n=p-o.bottom+(a.scrollablePixelsY||0),e=s=v(e,l,l+o.width)):(e=l,s=f-o.right+(a.scrollablePixelsX||0),i=n=v(i,h,h+o.height)):(r=!0,x=!1),t.path=r&&!x?void 0:a.renderer.crispLine([["M",e,i],["L",s,n]],u||1)})),b.path}getLinearTickPositions(t,e,i){let s,n,r,o=y(Math.floor(e/t)*t),a=y(Math.ceil(i/t)*t),l=[];if(y(o+t)===o&&(r=20),this.single)return[e];for(s=o;s<=a&&(l.push(s),(s=y(s+t,r))!==n);)n=s;return l}getMinorTickInterval(){let{minorTicks:t,minorTickInterval:e}=this.options;return!0===t?D(e,"auto"):!1!==t?e:void 0}getMinorTickPositions(){let t,e=this.options,i=this.tickPositions,s=this.minorTickInterval,n=this.pointRangePadding||0,r=(this.min||0)-n,o=(this.max||0)+n,a=o-r,l=[];if(a&&a/s{var e;return(t.xIncrement?null===(e=t.xData)||void 0===e?void 0:e.slice(0,2):t.xData)||[]})))||0),this.dataMax-this.dataMin)),T(o)&&T(a)&&T(l)&&o-a=l,t=(l-o+a)/2,i=[a-t,D(n.min,a-t)],e&&(i[2]=r?r.log2lin(this.dataMin):this.dataMin),s=[(a=f(i))+l,D(n.max,a+l)],e&&(s[2]=r?r.log2lin(this.dataMax):this.dataMax),(o=g(s))-at-e)),t=C([i]))}return t&&e?Math.min(t,e):t||e}nameToX(t){let e,i=M(this.options.categories),s=i?this.categories:this.names,n=t.options.x;return t.series.requireSorting=!1,x(n)||(n=this.options.uniqueNames&&s?i?s.indexOf(t.name):D(s.keys[t.name],-1):t.series.autoIncrement()),-1===n?!i&&s&&(e=s.length):e=n,void 0!==e?(this.names[e]=t.name,this.names.keys[t.name]=e):t.x&&(e=t.x),e}updateNames(){let t=this,e=this.names;e.length>0&&(Object.keys(e.keys).forEach((function(t){delete e.keys[t]})),e.length=0,this.minRange=this.userMinRange,(this.series||[]).forEach((e=>{e.xIncrement=null,(!e.points||e.isDirtyData)&&(t.max=Math.max(t.max,e.xData.length-1),e.processData(),e.generatePoints()),e.data.forEach((function(i,s){let n;(null===i||void 0===i?void 0:i.options)&&void 0!==i.name&&void 0!==(n=t.nameToX(i))&&n!==i.x&&(i.x=n,e.xData[s]=n)}))})))}setAxisTranslation(){let t,e,i=this,s=i.max-i.min,n=i.linkedParent,r=!!i.categories,o=i.isXAxis,a=i.axisPointRange||0,l=0,h=0,c=i.transA;(o||r||a)&&(t=i.getClosest(),n?(l=n.minPointOffset,h=n.pointRangePadding):i.series.forEach((function(e){let s=r?1:o?D(e.options.pointRange,t,0):i.axisPointRange||0,n=e.options.pointPlacement;if(a=Math.max(a,s),!i.single||r){let t=e.is("xrange")?!o:o;l=Math.max(l,t&&P(n)?0:s/2),h=Math.max(h,t&&"on"===n?0:s)}})),e=i.ordinal&&i.ordinal.slope&&t?i.ordinal.slope/t:1,i.minPointOffset=l*=e,i.pointRangePadding=h*=e,i.pointRange=Math.min(a,i.single&&r?1:s),o&&t&&(i.closestPointRange=t)),i.translationSlope=i.transA=c=i.staticScale||i.len/(s+h||1),i.transB=i.horiz?i.left:i.bottom,i.minPixelPadding=c*l,w(this,"afterSetAxisTranslation")}minFromRange(){let{max:t,min:e}=this;return T(t)&&T(e)&&t-e||void 0}setTickInterval(t){var e;let i,s,n,r,o,{categories:a,chart:l,dataMax:h,dataMin:c,dateTime:d,isXAxis:u,logarithmic:p,options:f,softThreshold:g}=this,m=T(this.threshold)?this.threshold:void 0,v=this.minRange||0,{ceiling:b,floor:k,linkedTo:C,softMax:A,softMin:M}=f,P=T(C)&&(null===(e=l[this.coll])||void 0===e?void 0:e[C]),E=f.tickPixelInterval,O=f.maxPadding,L=f.minPadding,j=0,N=T(f.tickInterval)&&f.tickInterval>=0?f.tickInterval:void 0;if(d||a||P||this.getTickAmount(),r=D(this.userMin,f.min),o=D(this.userMax,f.max),P?(this.linkedParent=P,i=P.getExtremes(),this.min=D(i.min,i.dataMin),this.max=D(i.max,i.dataMax),f.type!==P.options.type&&S(11,!0,l)):(g&&x(m)&&T(h)&&T(c)&&(c>=m?(s=m,L=0):h<=m&&(n=m,O=0)),this.min=D(r,s,c),this.max=D(o,n,h)),T(this.max)&&T(this.min)&&(p&&(this.positiveValuesOnly&&!t&&0>=Math.min(this.min,D(c,this.min))&&S(10,!0,l),this.min=y(p.log2lin(this.min),16),this.max=y(p.log2lin(this.max),16)),this.range&&T(c)&&(this.userMin=this.min=r=Math.max(c,this.minFromRange()||0),this.userMax=o=this.max,this.range=void 0)),w(this,"foundExtremes"),this.adjustForMinRange(),T(this.min)&&T(this.max)){var R;if(!T(this.userMin)&&T(M)&&Mthis.max&&(this.max=o=A),a||this.axisPointRange||null!==(R=this.stacking)&&void 0!==R&&R.usePercentage||P||!(j=this.max-this.min)||(!x(r)&&L&&(this.min-=j*L),x(o)||!O||(this.max+=j*O)),!T(this.userMin)&&T(k)&&(this.min=Math.max(this.min,k)),!T(this.userMax)&&T(b)&&(this.max=Math.min(this.max,b)),g&&T(c)&&T(h)){let t=m||0;!x(r)&&this.min=t?this.min=f.minRange?Math.min(t,this.max-v):t:!x(o)&&this.max>t&&h<=t&&(this.max=f.minRange?Math.max(t,this.min+v):t)}!l.polar&&this.min>this.max&&(x(f.min)?this.max=this.min:x(f.max)&&(this.min=this.max)),j=this.max-this.min}if(this.min!==this.max&&T(this.min)&&T(this.max)?P&&!N&&E===P.options.tickPixelInterval?this.tickInterval=N=P.tickInterval:this.tickInterval=D(N,this.tickAmount?j/Math.max(this.tickAmount-1,1):void 0,a?1:j*E/Math.max(this.len,E)):this.tickInterval=1,u&&!t){var I,_;let t=this.min!==(null===(I=this.old)||void 0===I?void 0:I.min)||this.max!==(null===(_=this.old)||void 0===_?void 0:_.max);this.series.forEach((function(e){var i;e.forceCrop=null===(i=e.forceCropping)||void 0===i?void 0:i.call(e),e.processData(t)})),w(this,"postProcessData",{hasExtremesChanged:t})}this.setAxisTranslation(),w(this,"initialAxisTranslation"),this.pointRange&&!N&&(this.tickInterval=Math.max(this.pointRange,this.tickInterval));let z=D(f.minTickInterval,d&&!this.series.some((t=>t.noSharedTooltip))?this.closestPointRange:0);!N&&this.tickIntervalMath.max(2*this.len,200))l=[this.min,this.max],S(19,!1,this.chart);else if(this.dateTime)l=this.getTimeTicks(this.dateTime.normalizeTimeTickInterval(this.tickInterval,e.units),this.min,this.max,e.startOfWeek,null===(c=this.ordinal)||void 0===c?void 0:c.positions,this.closestPointRange,!0);else if(this.logarithmic)l=this.logarithmic.getLogTickPositions(this.tickInterval,this.min,this.max);else{let t=this.tickInterval,e=t;for(;e<=2*t&&(l=this.getLinearTickPositions(this.tickInterval,this.min,this.max),this.tickAmount&&l.length>this.tickAmount);)this.tickInterval=B(this,e*=1.1)}l.length>this.len&&(l=[l[0],l[l.length-1]])[0]===l[1]&&(l.length=1),s&&(this.tickPositions=l,(t=s.apply(this,[this.min,this.max]))&&(l=t))}this.tickPositions=l,this.paddedTicks=l.slice(0),this.trimTicks(l,o,a),!this.isLinked&&T(this.min)&&T(this.max)&&(this.single&&l.length<2&&!this.categories&&!this.series.some((t=>t.is("heatmap")&&"between"===t.options.pointPlacement))&&(this.min-=.5,this.max+=.5),i||t||this.adjustTickAmount()),w(this,"afterSetTickPositions")}trimTicks(t,e,i){let s=t[0],n=t[t.length-1],r=!this.isOrdinal&&this.minPointOffset||0;if(w(this,"trimTicks"),!this.isLinked){if(e&&s!==-1/0)this.min=s;else for(;this.min-r>t[0];)t.shift();if(i)this.max=n;else for(;this.max+r{let{horiz:e,options:i}=t;return[e?i.left:i.top,i.width,i.height,i.pane].join(",")},r=n(this);i[this.coll].forEach((function(i){let{series:o}=i;o.length&&o.some((t=>t.visible))&&i!==e&&n(i)===r&&(t=!0,s.push(i))}))}if(t&&o){s.forEach((t=>{let i=t.getThresholdAlignment(e);T(i)&&a.push(i)}));let t=a.length>1?a.reduce(((t,e)=>t+e),0)/a.length:void 0;s.forEach((e=>{e.thresholdAlignment=t}))}return t}getThresholdAlignment(t){if((!T(this.dataMin)||this!==t&&this.series.some((t=>t.isDirty||t.isDirtyData)))&&this.getSeriesExtremes(),T(this.threshold)){let t=m((this.threshold-(this.dataMin||0))/((this.dataMax||0)-(this.dataMin||0)),0,1);return this.options.reversed&&(t=1-t),t}}getTickAmount(){let t=this.options,e=t.tickPixelInterval,i=t.tickAmount;x(t.tickInterval)||i||!(this.lenl.push(y(l[l.length-1]+p)),g=()=>l.unshift(y(l[0]-p));if(T(c)&&(i=c<.5?Math.ceil(c*(h-1)):Math.floor(c*(h-1)),a.reversed&&(i=h-1-i)),s.hasData()&&T(o)&&T(r)){let c=()=>{s.transA*=(d-1)/(h-1),s.min=a.startOnTick?l[0]:Math.min(o,l[0]),s.max=a.endOnTick?l[l.length-1]:Math.max(r,l[l.length-1])};if(T(i)&&T(s.threshold)){for(;l[i]!==u||l.length!==h||l[0]>o||l[l.length-1]s.threshold?g():f();if(p>8*s.tickInterval)break;p*=2}c()}else if(d0&&e{n=n||t.isDirtyData||t.isDirty,r=r||t.xAxis&&t.xAxis.isDirty||!1})),this.setAxisSize();let o=this.len!==(this.old&&this.old.len);o||n||r||this.isLinked||this.forceRedraw||this.userMin!==(this.old&&this.old.userMin)||this.userMax!==(this.old&&this.old.userMax)||this.alignToOthers()?(s&&"yAxis"===i&&s.buildStacks(),this.forceRedraw=!1,this.userMinRange||(this.minRange=void 0),this.getSeriesExtremes(),this.setTickInterval(),s&&"xAxis"===i&&s.buildStacks(),this.isDirty||(this.isDirty=o||this.min!==(null===(t=this.old)||void 0===t?void 0:t.min)||this.max!==(null===(e=this.old)||void 0===e?void 0:e.max))):s&&s.cleanStacks(),n&&delete this.allExtremes,w(this,"afterSetScale")}setExtremes(t,e){let i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],s=arguments.length>3?arguments[3]:void 0,n=arguments.length>4?arguments[4]:void 0;this.series.forEach((t=>{delete t.kdTree})),w(this,"setExtremes",n=k(n,{min:t,max:e}),(t=>{this.userMin=t.min,this.userMax=t.max,this.eventArgs=t,i&&this.chart.redraw(s)}))}setAxisSize(){let t=this.chart,e=this.options,i=e.offsets||[0,0,0,0],s=this.horiz,n=this.width=Math.round(j(D(e.width,t.plotWidth-i[3]+i[1]),t.plotWidth)),r=this.height=Math.round(j(D(e.height,t.plotHeight-i[0]+i[2]),t.plotHeight)),o=this.top=Math.round(j(D(e.top,t.plotTop+i[0]),t.plotHeight,t.plotTop)),a=this.left=Math.round(j(D(e.left,t.plotLeft+i[3]),t.plotWidth,t.plotLeft));this.bottom=t.chartHeight-r-o,this.right=t.chartWidth-n-a,this.len=Math.max(s?n:r,0),this.pos=s?a:o}getExtremes(){let t=this.logarithmic;return{min:t?y(t.lin2log(this.min)):this.min,max:t?y(t.lin2log(this.max)):this.max,dataMin:this.dataMin,dataMax:this.dataMax,userMin:this.userMin,userMax:this.userMax}}getThreshold(t){let e=this.logarithmic,i=e?e.lin2log(this.min):this.min,s=e?e.lin2log(this.max):this.max;return null===t||t===-1/0?t=i:t===1/0?t=s:i>t?t=i:s15&&e<165?t.align="right":e>195&&e<345&&(t.align="left")})),i.align}tickSize(t){let e,i=this.options,s=D(i["tick"===t?"tickWidth":"minorTickWidth"],"tick"===t&&this.isXAxis&&!this.categories?1:0),n=i["tick"===t?"tickLength":"minorTickLength"];s&&n&&("inside"===i[t+"Position"]&&(n=-n),e=[n,s]);let r={tickSize:e};return w(this,"afterTickSize",r),r.tickSize}labelMetrics(){let t=this.chart.renderer,e=this.ticks,i=e[Object.keys(e)[0]]||{};return this.chart.renderer.fontMetrics(i.label||i.movedLabel||t.box)}unsquish(){let t,e,i=this.options.labels,s=this.horiz,n=this.tickInterval,r=this.len/(((this.categories?1:0)+this.max-this.min)/n),o=i.rotation,a=this.labelMetrics().h,l=Math.max(this.max-this.min,0),h=function(t){let e=t/(r||1);return(e=e>1?Math.ceil(e):1)*n>l&&t!==1/0&&r!==1/0&&l&&(e=Math.ceil(l/n)),y(e*n)},c=n,d=Number.MAX_VALUE;if(s){if(!i.staggerLines&&(T(o)?e=[o]:r=-90&&n<=90)&&(s=(i=h(Math.abs(a/Math.sin(p*n))))+Math.abs(n/360))m&&(m=e.label.textPxLength)})),this.maxLabelLength=m,this.autoRotation)m>u&&m>f.h?p.rotation=this.labelRotation:this.labelRotation=0;else if(d&&(t=u,!g))for(e="clip",s=o.length;!c&&s--;)(i=a[o[s]].label)&&("ellipsis"===i.styles.textOverflow?i.css({textOverflow:"clip"}):i.textPxLength>d&&i.css({width:d+"px"}),i.getBBox().height>this.len/o.length-(f.h-f.f)&&(i.specificTextOverflow="ellipsis"));p.rotation&&(t=m>.5*n.chartHeight?.33*n.chartHeight:m,g||(e="ellipsis")),this.labelAlign=l.align||this.autoLabelAlign(this.labelRotation),this.labelAlign&&(p.align=this.labelAlign),o.forEach((function(i){let s=a[i],n=s&&s.label,r=h.width,o={};n&&(n.attr(p),s.shortenLabel?s.shortenLabel():t&&!r&&"nowrap"!==h.whiteSpace&&(tn.g(e).attr({zIndex:o}).addClass("highcharts-".concat(i.toLowerCase()).concat(r," ")+(this.isRadial?"highcharts-radial-axis".concat(r," "):"")+(s.className||"")).add(t);this.axisGroup||(this.gridGroup=r("grid","-grid",s.gridZIndex),this.axisGroup=r("axis","",s.zIndex),this.labelGroup=r("axis-labels","-labels",s.labels.zIndex))}getOffset(){let t,e,i,s,n=this,{chart:r,horiz:o,options:a,side:l,ticks:h,tickPositions:c,coll:d}=n,u=r.inverted&&!n.isZAxis?[1,0,3,2][l]:l,p=n.hasData(),f=a.title,g=a.labels,m=T(a.crossing),y=r.axisOffset,v=r.clipOffset,b=[-1,1,1,-1][l],S=0,k=0,C=0;if(n.showAxis=t=p||a.showEmpty,n.staggerLines=n.horiz&&g.staggerLines||void 0,n.createGroups(),p||n.isLinked?(c.forEach((function(t){n.generateTick(t)})),n.renderUnsquish(),n.reserveSpaceDefault=0===l||2===l||{1:"left",3:"right"}[l]===n.labelAlign,D(g.reserveSpace,!m&&null,"center"===n.labelAlign||null,n.reserveSpaceDefault)&&c.forEach((function(t){C=Math.max(h[t].getLabelSize(),C)})),n.staggerLines&&(C*=n.staggerLines),n.labelOffset=C*(n.opposite?-1:1)):L(h,(function(t,e){t.destroy(),delete h[e]})),null!==f&&void 0!==f&&f.text&&!1!==f.enabled&&(n.addTitle(t),t&&!m&&!1!==f.reserveSpace&&(n.titleOffset=S=n.axisTitle.getBBox()[o?"height":"width"],k=x(e=f.offset)?0:D(f.margin,o?5:10))),n.renderLine(),n.offset=b*D(a.offset,y[l]?y[l]+(a.margin||0):0),n.tickRotCorr=n.tickRotCorr||{x:0,y:0},s=0===l?-n.labelMetrics().h:2===l?n.tickRotCorr.y:0,i=Math.abs(C)+k,C&&(i-=s,i+=b*(o?D(g.y,n.tickRotCorr.y+b*g.distance):D(g.x,b*g.distance))),n.axisTitleMargin=D(e,i),n.getMaxLabelDimensions&&(n.maxLabelDimensions=n.getMaxLabelDimensions(h,c)),"colorAxis"!==d){let t=this.tickSize("tick");y[l]=Math.max(y[l],(n.axisTitleMargin||0)+S+b*n.offset,i,c&&c.length&&t?t[0]+b*n.offset:0);let e=!n.axisLine||a.offset?0:2*Math.floor(n.axisLine.strokeWidth()/2);v[u]=Math.max(v[u],e)}w(this,"afterGetOffset")}getLinePath(t){let e=this.chart,i=this.opposite,s=this.offset,n=this.horiz,r=this.left+(i?this.width:0)+s,o=e.chartHeight-this.bottom-(i?this.height:0)+s;return i&&(t*=-1),e.renderer.crispLine([["M",n?this.left:r,n?o:this.top],["L",n?e.chartWidth-this.right:r,n?o:e.chartHeight-this.bottom]],t)}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(t){let e=this.horiz,i=this.left,s=this.top,n=this.len,r=this.options.title,o=e?i:s,a=this.opposite,l=this.offset,h=r.x,c=r.y,d=this.chart.renderer.fontMetrics(t),u=t?Math.max(t.getBBox(!1,0).height-d.h-1,0):0,p={low:o+(e?0:n),middle:o+n/2,high:o+(e?n:0)}[r.align],f=(e?s+this.height:i)+(e?1:-1)*(a?-1:1)*(this.axisTitleMargin||0)+[-u,u,d.f,-u][this.side],g={x:e?p+h:f+(a?this.width:0)+l+h,y:e?f+c-(a?this.height:0)+l:p+c};return w(this,"afterGetTitlePosition",{titlePosition:g}),g}renderMinorTick(t,e){let i=this.minorTicks;i[t]||(i[t]=new o(this,t,"minor")),e&&i[t].isNew&&i[t].render(null,!0),i[t].render(null,!1,1)}renderTick(t,e,i){let s=this.isLinked,n=this.ticks;(!s||t>=this.min&&t<=this.max||this.grid&&this.grid.isColumn)&&(n[t]||(n[t]=new o(this,t)),i&&n[t].isNew&&n[t].render(e,!0,-1),n[t].render(e))}render(){let t,e,i=this,s=i.chart,n=i.logarithmic,a=s.renderer,h=i.options,c=i.isLinked,d=i.tickPositions,u=i.axisTitle,p=i.ticks,f=i.minorTicks,g=i.alternateBands,m=h.stackLabels,y=h.alternateGridColor,x=h.crossing,v=i.tickmarkOffset,b=i.axisLine,S=i.showAxis,k=l(a.globalAnimation);if(i.labelEdge.length=0,i.overlap=!1,[p,f,g].forEach((function(t){L(t,(function(t){t.isActive=!1}))})),T(x)){let t=this.isXAxis?s.yAxis[0]:s.xAxis[0],e=[1,-1,-1,1][this.side];if(t){let s=t.toPixels(x,!0);i.horiz&&(s=t.len-s),i.offset=e*s}}if(i.hasData()||c){let a=i.chart.hasRendered&&i.old&&T(i.old.min);i.minorTickInterval&&!i.categories&&i.getMinorTickPositions().forEach((function(t){i.renderMinorTick(t,a)})),d.length&&(d.forEach((function(t,e){i.renderTick(t,e,a)})),v&&(0===i.min||i.single)&&(p[-1]||(p[-1]=new o(i,-1,null,!0)),p[-1].render(-1))),y&&d.forEach((function(o,a){e=void 0!==d[a+1]?d[a+1]+v:i.max-v,a%2==0&&o=.5)t=Math.round(t),h=o.getLinearTickPositions(t,e,i);else if(t>=.08){let s,n,o,a,l,c,d;for(s=t>.3?[1,2,4]:t>.15?[1,2,4,6,8]:[1,2,3,4,5,6,7,8,9],n=Math.floor(e);ne&&(!r||c<=i)&&void 0!==c&&h.push(c),c>i&&(d=!0),c=l}else{let c=this.lin2log(e),d=this.lin2log(i),u=r?o.getMinorTickInterval():l.tickInterval,p=l.tickPixelInterval/(r?5:1),f=r?a/o.tickPositions.length:a;t=s(t=n("auto"===u?null:u,this.minorAutoInterval,(d-c)*p/(f||1))),h=o.getLinearTickPositions(t,c,d).map(this.log2lin),r||(this.minorAutoInterval=t/5)}return r||(o.tickInterval=t),h}lin2log(t){return Math.pow(10,t)}log2lin(t){return Math.log(t)/Math.LN10}}t.Additions=o}(e||(e={})),e})),i(e,"Core/Axis/PlotLineOrBand/PlotLineOrBandAxis.js",[e["Core/Utilities.js"]],(function(t){var e;let{erase:i,extend:s,isNumber:n}=t;return function(t){let e;function r(t){return this.addPlotBandOrLine(t,"plotBands")}function o(t,i){let s=this.userOptions,n=new e(this,t);if(this.visible&&(n=n.render()),n){if(this._addedPlotLB||(this._addedPlotLB=!0,(s.plotLines||[]).concat(s.plotBands||[]).forEach((t=>{this.addPlotBandOrLine(t)}))),i){let e=s[i]||[];e.push(t),s[i]=e}this.plotLinesAndBands.push(n)}return n}function a(t){return this.addPlotBandOrLine(t,"plotLines")}function l(t,e,i){i=i||this.options;let s,r,o=this.getPlotLinePath({value:e,force:!0,acrossPanes:i.acrossPanes}),a=[],l=this.horiz,h=!n(this.min)||!n(this.max)||tthis.max&&e>this.max,c=this.getPlotLinePath({value:t,force:!0,acrossPanes:i.acrossPanes}),d=1;if(c&&o)for(h&&(r=c.toString()===o.toString(),d=0),s=0;s{var i;null===(i=C)||void 0===i||i.on(e,(t=>{f[e].apply(this,[t])}))})),this.eventsAdded=!0),!P&&C.d||null===(e=A)||void 0===e||!e.length?C&&(A?(C.show(),C.animate({d:A})):C.d&&(C.hide(),w&&(this.label=w=w.destroy()))):C.attr({d:A}),k&&(n(k.text)||n(k.formatter))&&null!==(i=A)&&void 0!==i&&i.length&&r.width>0&&r.height>0&&!A.isFlat?(k=l({align:d&&M&&"center",x:d?!M&&4:10,verticalAlign:!d&&M&&"middle",y:d?M?16:10:M?6:-4,rotation:d&&!M&&90},k),this.renderLabel(k,A,M,g)):w&&w.hide(),this}renderLabel(t,e,n,r){let o=this.axis,a=o.chart.renderer,h=this.label;h||(this.label=h=a.text(this.getLabelText(t),0,0,t.useHTML).attr({align:t.textAlign||t.align,rotation:t.rotation,class:"highcharts-plot-"+(n?"band":"line")+"-label"+(t.className||""),zIndex:r}),o.chart.styledMode||h.css(l({fontSize:"0.8em",textOverflow:"ellipsis"},t.style)),h.add());let c=e.xBounds||[e[0][1],e[1][1],n?e[2][1]:e[0][1]],d=e.yBounds||[e[0][2],e[1][2],n?e[2][2]:e[0][2]],u=s(c),p=s(d);if(h.align(t,!1,{x:u,y:p,width:i(c)-u,height:i(d)-p}),!h.alignValue||"left"===h.alignValue){let e=t.clip?o.width:o.chart.chartWidth;h.css({width:(90===h.rotation?o.height-(h.alignAttr.y-o.top):e-(h.alignAttr.x-o.left))+"px"})}h.show(!0)}getLabelText(t){return n(t.formatter)?t.formatter.call(this):t.text}destroy(){o(this.axis.plotLinesAndBands,this),delete this.axis,r(this)}}return d})),i(e,"Core/Tooltip.js",[e["Core/Templating.js"],e["Core/Globals.js"],e["Core/Renderer/RendererUtilities.js"],e["Core/Renderer/RendererRegistry.js"],e["Core/Utilities.js"]],(function(t,e,i,s,n){var r;let{format:o}=t,{composed:a,doc:l,isSafari:h}=e,{distribute:c}=i,{addEvent:d,clamp:u,css:p,discardElement:f,extend:g,fireEvent:m,isArray:y,isNumber:x,isString:v,merge:b,pick:S,pushUnique:k,splat:w,syncTimeout:C}=n;class A{constructor(t,e,i){this.allowShared=!0,this.crosshairs=[],this.distance=0,this.isHidden=!0,this.isSticky=!1,this.now={},this.options={},this.outside=!1,this.chart=t,this.init(t,e),this.pointer=i}bodyFormatter(t){return t.map((function(t){let e=t.series.tooltipOptions;return(e[(t.point.formatPrefix||"point")+"Formatter"]||t.point.tooltipFormatter).call(t.point,e[(t.point.formatPrefix||"point")+"Format"]||"")}))}cleanSplit(t){this.chart.series.forEach((function(e){let i=e&&e.tt;i&&(!i.isActive||t?e.tt=i.destroy():i.isActive=!1)}))}defaultFormatter(t){let e,i=this.points||w(this);return(e=(e=[t.tooltipFooterHeaderFormatter(i[0])]).concat(t.bodyFormatter(i))).push(t.tooltipFooterHeaderFormatter(i[0],!0)),e}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(),f(this.container)),n.clearTimeout(this.hideTimer),n.clearTimeout(this.tooltipTimeout)}getAnchor(t,e){let i,{chart:s,pointer:n}=this,r=s.inverted,o=s.plotTop,a=s.plotLeft;if((t=w(t))[0].series&&t[0].series.yAxis&&!t[0].series.yAxis.options.reversedStacks&&(t=t.slice().reverse()),this.followPointer&&e)void 0===e.chartX&&(e=n.normalize(e)),i=[e.chartX-a,e.chartY-o];else if(t[0].tooltipPos)i=t[0].tooltipPos;else{let s=0,n=0;t.forEach((function(t){let e=t.pos(!0);e&&(s+=e[0],n+=e[1])})),s/=t.length,n/=t.length,this.shared&&t.length>1&&e&&(r?s=e.chartX:n=e.chartY),i=[s-a,n-o]}return i.map(Math.round)}getClassName(t,e,i){let s=this.options,n=t.series,r=n.options;return[s.className,"highcharts-label",i&&"highcharts-tooltip-header",e?"highcharts-tooltip-box":"highcharts-tooltip",!i&&"highcharts-color-"+S(t.colorIndex,n.colorIndex),r&&r.className].filter(v).join(" ")}getLabel(){let t=this,i=this.chart.styledMode,n=this.options,r=this.split&&this.allowShared,o=this.container,a=this.chart.renderer;if(this.label){let t=!this.label.hasClass("highcharts-label");(!r&&t||r&&!t)&&this.destroy()}if(!this.label){if(this.outside){let t=this.chart.options.chart.style,i=s.getRendererType();this.container=o=e.doc.createElement("div"),o.className="highcharts-tooltip-container",p(o,{position:"absolute",top:"1px",pointerEvents:"none",zIndex:Math.max(this.options.style.zIndex||0,(t&&t.zIndex||0)+3)}),this.renderer=a=new i(o,0,0,t,void 0,void 0,a.styledMode)}if(r?this.label=a.g("tooltip"):(this.label=a.label("",0,0,n.shape,void 0,void 0,n.useHTML,void 0,"tooltip").attr({padding:n.padding,r:n.borderRadius}),i||this.label.attr({fill:n.backgroundColor,"stroke-width":n.borderWidth||0}).css(n.style).css({pointerEvents:n.style.pointerEvents||(this.shouldStickOnContact()?"auto":"none")})),t.outside){let e=this.label,{xSetter:i,ySetter:s}=e;e.xSetter=function(s){i.call(e,t.distance),o&&(o.style.left=s+"px")},e.ySetter=function(i){s.call(e,t.distance),o&&(o.style.top=i+"px")}}this.label.attr({zIndex:8}).shadow(n.shadow).add()}return o&&!o.parentElement&&e.doc.body.appendChild(o),this.label}getPlayingField(){let{body:t,documentElement:e}=l,{chart:i,distance:s,outside:n}=this;return{width:n?Math.max(t.scrollWidth,e.scrollWidth,t.offsetWidth,e.offsetWidth,e.clientWidth)-2*s:i.chartWidth,height:n?Math.max(t.scrollHeight,e.scrollHeight,t.offsetHeight,e.offsetHeight,e.clientHeight):i.chartHeight}}getPosition(t,e,i){var s;let n,{distance:r,chart:o,outside:a,pointer:l}=this,{inverted:h,plotLeft:c,plotTop:d,polar:u}=o,{plotX:p=0,plotY:f=0}=i,g={},m=h&&i.h||0,{height:y,width:x}=this.getPlayingField(),v=l.getChartPosition(),b=t=>t*v.scaleX,k=t=>t*v.scaleY,w=i=>{let s="x"===i;return[i,s?x:y,s?t:e].concat(a?[s?b(t):k(e),s?v.left-r+b(p+c):v.top-r+k(f+d),0,s?x:y]:[s?t:e,s?p+c:f+d,s?c:d,s?c+o.plotWidth:d+o.plotHeight])},C=w("y"),A=w("x"),M=!!i.negative;!u&&(null===(s=o.hoverSeries)||void 0===s||null===(s=s.yAxis)||void 0===s?void 0:s.reversed)&&(M=!M);let T=!this.followPointer&&S(i.ttBelow,!u&&!h===M),P=function(t,e,i,s,n,o,l){let h=a?"y"===t?k(r):b(r):r,c=(i-s)/2,d=se?f:f+m)}},E=function(t,e,i,s,n){if(ne-r)return!1;g[t]=ne-s/2?e-s-2:n-i/2},O=function(t){[C,A]=[A,C],n=t},L=()=>{!1!==P.apply(0,C)?!1!==E.apply(0,A)||n||(O(!0),L()):n?g.x=g.y=0:(O(!0),L())};return(h&&!u||this.len>1)&&O(),L(),g}hide(t){let e=this;n.clearTimeout(this.hideTimer),t=S(t,this.options.hideDelay),this.isHidden||(this.hideTimer=C((function(){let i=e.getLabel();e.getLabel().animate({opacity:0},{duration:t?150:t,complete:()=>{i.hide(),e.container&&e.container.remove()}}),e.isHidden=!0}),t))}init(t,e){this.chart=t,this.options=e,this.crosshairs=[],this.now={x:0,y:0},this.isHidden=!0,this.split=e.split&&!t.inverted&&!t.polar,this.shared=e.shared||this.split,this.outside=S(e.outside,!(!t.scrollablePixelsX&&!t.scrollablePixelsY))}shouldStickOnContact(t){return!(this.followPointer||!this.options.stickOnContact||t&&!this.pointer.inClass(t.target,"highcharts-tooltip"))}move(t,e,i,s){let r=this,o=r.now,a=!1!==r.options.animation&&!r.isHidden&&(Math.abs(t-o.x)>1||Math.abs(e-o.y)>1),l=r.followPointer||r.len>1;g(o,{x:a?(2*o.x+t)/3:t,y:a?(o.y+e)/2:e,anchorX:l?void 0:a?(2*o.anchorX+i)/3:i,anchorY:l?void 0:a?(o.anchorY+s)/2:s}),r.getLabel().attr(o),r.drawTracker(),a&&(n.clearTimeout(this.tooltipTimeout),this.tooltipTimeout=setTimeout((function(){r&&r.move(t,e,i,s)}),32))}refresh(t,e){let{chart:i,options:s,pointer:r,shared:a}=this,l=w(t),h=l[0],c=[],d=s.format,u=s.formatter||this.defaultFormatter,p=i.styledMode,f={};if(!s.enabled||!h.series)return;n.clearTimeout(this.hideTimer),this.allowShared=!(!y(t)&&t.series&&t.series.noSharedTooltip),this.followPointer=!this.split&&h.series.tooltipOptions.followPointer;let g=this.getAnchor(t,e),x=g[0],b=g[1];a&&this.allowShared?(r.applyInactiveState(l),l.forEach((function(t){t.setState("hover"),c.push(t.getLabelConfig())})),(f=h.getLabelConfig()).points=c):f=h.getLabelConfig(),this.len=c.length;let k=v(d)?o(d,f,i):u.call(f,this),C=h.series;if(this.distance=S(C.tooltipOptions.distance,16),!1===k)this.hide();else{if(this.split&&this.allowShared)this.renderSplit(k,l);else{let t=x,n=b;if(e&&r.isDirectTouch&&(t=e.chartX-i.plotLeft,n=e.chartY-i.plotTop),!i.polar&&!1!==C.options.clip&&!l.some((e=>r.isDirectTouch||e.series.shouldShowTooltip(t,n))))return void this.hide();{let t=this.getLabel();(!s.style.width||p)&&t.css({width:(this.outside?this.getPlayingField():i.spacingBox).width+"px"}),t.attr({text:k&&k.join?k.join(""):k}),t.addClass(this.getClassName(h),!0),p||t.attr({stroke:s.borderColor||h.color||C.color||"#666666"}),this.updatePosition({plotX:x,plotY:b,negative:h.negative,ttBelow:h.ttBelow,h:g[2]||0})}}this.isHidden&&this.label&&this.label.attr({opacity:1}).show(),this.isHidden=!1}m(this,"refresh")}renderSplit(t,e){var i;let s=this,{chart:n,chart:{chartWidth:r,chartHeight:o,plotHeight:a,plotLeft:d,plotTop:p,scrollablePixelsY:f=0,scrollablePixelsX:m,styledMode:y},distance:x,options:b,options:{positioner:k},pointer:w}=s,{scrollLeft:C=0,scrollTop:A=0}=(null===(i=n.scrollablePlotArea)||void 0===i?void 0:i.scrollingContainer)||{},M=s.outside&&"number"!=typeof m?l.documentElement.getBoundingClientRect():{left:C,right:C+r,top:A,bottom:A+o},T=s.getLabel(),P=this.renderer||n.renderer,E=!(!n.xAxis[0]||!n.xAxis[0].opposite),{left:O,top:L}=w.getChartPosition(),D=p+A,j=0,N=a-f;function R(t,e,i,n){let r,o,a=!(arguments.length>4&&void 0!==arguments[4])||arguments[4];return i?(r=E?0:N,o=u(t-n/2,M.left,M.right-n-(s.outside?O:0))):(r=e-D,o=u(o=a?t-n-x:t+x,a?o:M.left,M.right)),{x:o,y:r}}v(t)&&(t=[!1,t]);let I=t.slice(0,e.length+1).reduce((function(t,i,n){if(!1!==i&&""!==i){let r=e[n-1]||{isHeader:!0,plotX:e[0].plotX,plotY:a,series:{}},o=r.isHeader,l=o?s:r.series,h=l.tt=function(t,e,i){let n=t,{isHeader:r,series:o}=e;if(!n){var a;let t={padding:b.padding,r:b.borderRadius};y||(t.fill=b.backgroundColor,t["stroke-width"]=null!==(a=b.borderWidth)&&void 0!==a?a:1),n=P.label("",0,0,b[r?"headerShape":"shape"],void 0,void 0,b.useHTML).addClass(s.getClassName(e,!0,r)).attr(t).add(T)}return n.isActive=!0,n.attr({text:i}),y||n.css(b.style).attr({stroke:b.borderColor||e.color||o.color||"#333333"}),n}(l.tt,r,i.toString()),c=h.getBBox(),f=c.width+h.strokeWidth();o&&(j=c.height,N+=j,E&&(D-=j));let{anchorX:g,anchorY:m}=function(t){let e,i,{isHeader:s,plotX:n=0,plotY:r=0,series:o}=t;if(s)e=Math.max(d+n,d),i=p+a/2;else{let{xAxis:t,yAxis:s}=o;e=t.pos+u(n,-x,t.len+x),o.shouldShowTooltip(0,s.pos-p+r,{ignoreX:!0})&&(i=s.pos+r)}return{anchorX:e=u(e,M.left-x,M.right+x),anchorY:i}}(r);if("number"==typeof m){let e=c.height+1,i=k?k.call(s,f,e,r):R(g,m,o,f);t.push({align:k?0:void 0,anchorX:g,anchorY:m,boxWidth:f,point:r,rank:S(i.rank,o?1:0),size:e,target:i.y,tt:h,x:i.x})}else h.isActive=!1}return t}),[]);!k&&I.some((t=>{let{outside:e}=s,i=(e?O:0)+t.anchorX;return ii}))&&(I=I.map((t=>{let{x:e,y:i}=R(t.anchorX,t.anchorY,t.point.isHeader,t.boxWidth,!1);return g(t,{target:i,x:e})}))),s.cleanSplit(),c(I,N);let B={left:O,right:O};I.forEach((function(t){let{x:e,boxWidth:i,isHeader:n}=t;!n&&(s.outside&&O+eB.right&&(B.right=O+e))})),I.forEach((function(t){let{x:e,anchorX:i,anchorY:n,pos:r,point:{isHeader:o}}=t,a={visibility:void 0===r?"hidden":"inherit",x:e,y:(r||0)+D,anchorX:i,anchorY:n};if(s.outside&&e0&&(o||(a.x=e+t,a.anchorX=i+t),o&&(a.x=(B.right-B.left)/2,a.anchorX=i+t))}t.tt.attr(a)}));let{container:_,outside:z,renderer:W}=s;if(z&&_&&W){let{width:t,height:e,x:i,y:s}=T.getBBox();W.setSize(t+i,e+s,!1),_.style.left=B.left+"px",_.style.top=L+"px"}h&&T.attr({opacity:1===T.opacity?.999:1})}drawTracker(){if(!this.shouldStickOnContact())return void(this.tracker&&(this.tracker=this.tracker.destroy()));let t=this.chart,e=this.label,i=this.shared?t.hoverPoints:t.hoverPoint;if(!e||!i)return;let s={x:0,y:0,width:0,height:0},n=this.getAnchor(i),r=e.getBBox();n[0]+=t.plotLeft-(e.translateX||0),n[1]+=t.plotTop-(e.translateY||0),s.x=Math.min(0,n[0]),s.y=Math.min(0,n[1]),s.width=n[0]<0?Math.max(Math.abs(n[0]),r.width-n[0]):Math.max(Math.abs(n[0]),r.width),s.height=n[1]<0?Math.max(Math.abs(n[1]),r.height-Math.abs(n[1])):Math.max(Math.abs(n[1]),r.height),this.tracker?this.tracker.attr(s):(this.tracker=e.renderer.rect(s).addClass("highcharts-tracker").add(e),t.styledMode||this.tracker.attr({fill:"rgba(0,0,0,0)"}))}styledModeFormat(t){return t.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(t,e){let i=t.series,s=i.tooltipOptions,n=i.xAxis,r=n&&n.dateTime,a={isFooter:e,labelConfig:t},l=s.xDateFormat,h=s[e?"footerFormat":"headerFormat"];return m(this,"headerFormatter",a,(function(e){r&&!l&&x(t.key)&&(l=r.getXDateFormat(t.key,s.dateTimeLabelFormats)),r&&l&&(t.point&&t.point.tooltipDateKeys||["key"]).forEach((function(t){h=h.replace("{point."+t+"}","{point."+t+":"+l+"}")})),i.chart.styledMode&&(h=this.styledModeFormat(h)),e.text=o(h,{point:t,series:i},this.chart)})),a.text}update(t){this.destroy(),this.init(this.chart,b(!0,this.options,t))}updatePosition(t){let e,{chart:i,container:s,distance:n,options:r,pointer:o,renderer:a}=this,{height:l=0,width:h=0}=this.getLabel(),{left:c,top:d,scaleX:u,scaleY:f}=o.getChartPosition(),g=(r.positioner||this.getPosition).call(this,h,l,t),m=(t.plotX||0)+i.plotLeft,y=(t.plotY||0)+i.plotTop;a&&s&&(r.positioner&&(g.x+=c-n,g.y+=d-n),e=(r.borderWidth||0)+2*n+2,a.setSize(h+e,l+e,!1),(1!==u||1!==f)&&(p(s,{transform:"scale(".concat(u,", ").concat(f,")")}),m*=u,y*=f),m+=c-g.x,y+=d-g.y),this.move(Math.round(g.x),Math.round(g.y||0),m,y)}}return(r=A||(A={})).compose=function(t){k(a,"Core.Tooltip")&&d(t,"afterInit",(function(){let t=this.chart;t.options.tooltip&&(t.tooltip=new r(t,t.options.tooltip,this))}))},A})),i(e,"Core/Series/Point.js",[e["Core/Renderer/HTML/AST.js"],e["Core/Animation/AnimationUtilities.js"],e["Core/Defaults.js"],e["Core/Templating.js"],e["Core/Utilities.js"]],(function(t,e,i,s,n){let{animObject:r}=e,{defaultOptions:o}=i,{format:a}=s,{addEvent:l,erase:h,extend:c,fireEvent:d,getNestedProperty:u,isArray:p,isFunction:f,isNumber:g,isObject:m,pick:y,syncTimeout:x,removeEvent:v,uniqueKey:b}=n;class S{animateBeforeDestroy(){let t=this,e={x:t.startXPos,opacity:0},i=t.getGraphicalProps();i.singular.forEach((function(i){t[i]=t[i].animate("dataLabel"===i?{x:t[i].startXPos,y:t[i].startYPos,opacity:0}:e)})),i.plural.forEach((function(e){t[e].forEach((function(e){e.element&&e.animate(c({x:t.startXPos},e.startYPos?{x:e.startXPos,y:e.startYPos}:{}))}))}))}applyOptions(t,e){let i=this.series,s=i.options.pointValKey||i.pointValKey;return c(this,t=S.prototype.optionsToObject.call(this,t)),this.options=this.options?c(this.options,t):t,t.group&&delete this.group,t.dataLabels&&delete this.dataLabels,s&&(this.y=S.prototype.getNestedProperty.call(this,s)),this.selected&&(this.state="select"),"name"in this&&void 0===e&&i.xAxis&&i.xAxis.hasNames&&(this.x=i.xAxis.nameToX(this)),void 0===this.x&&i?this.x=void 0===e?i.autoIncrement():e:g(t.x)&&i.options.relativeXValue&&(this.x=i.autoIncrement(t.x)),this.isNull=this.isValid&&!this.isValid(),this.formatPrefix=this.isNull?"null":"point",this}destroy(){if(!this.destroyed){let t=this,e=t.series,i=e.chart,s=e.options.dataSorting,n=i.hoverPoints,o=r(t.series.chart.renderer.globalAnimation),a=()=>{for(let e in(t.graphic||t.graphics||t.dataLabel||t.dataLabels)&&(v(t),t.destroyElements()),t)delete t[e]};t.legendItem&&i.legend.destroyItem(t),n&&(t.setState(),h(n,t),n.length||(i.hoverPoints=null)),t===i.hoverPoint&&t.onMouseOut(),s&&s.enabled?(this.animateBeforeDestroy(),x(a,o.duration)):a(),i.pointCount--}this.destroyed=!0}destroyElements(t){let e=this,i=e.getGraphicalProps(t);i.singular.forEach((function(t){e[t]=e[t].destroy()})),i.plural.forEach((function(t){e[t].forEach((function(t){t&&t.element&&t.destroy()})),delete e[t]}))}firePointEvent(t,e,i){let s=this,n=this.series.options;s.manageEvent(t),"click"===t&&n.allowPointSelect&&(i=function(t){!s.destroyed&&s.select&&s.select(null,t.ctrlKey||t.metaKey||t.shiftKey)}),d(s,t,e,i)}getClassName(){return"highcharts-point"+(this.selected?" highcharts-point-select":"")+(this.negative?" highcharts-negative":"")+(this.isNull?" highcharts-null-point":"")+(void 0!==this.colorIndex?" highcharts-color-"+this.colorIndex:"")+(this.options.className?" "+this.options.className:"")+(this.zone&&this.zone.className?" "+this.zone.className.replace("highcharts-negative",""):"")}getGraphicalProps(t){let e,i,s=this,n=[],r={singular:[],plural:[]};for((t=t||{graphic:1,dataLabel:1}).graphic&&n.push("graphic","connector"),t.dataLabel&&n.push("dataLabel","dataLabelPath","dataLabelUpper"),i=n.length;i--;)s[e=n[i]]&&r.singular.push(e);return["graphic","dataLabel"].forEach((function(e){let i=e+"s";t[e]&&s[i]&&r.plural.push(i)})),r}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(t){return t?0===t.indexOf("custom.")?u(t,this.options):this[t]:void 0}getZone(){let t,e=this.series,i=e.zones,s=e.zoneAxis||"y",n=0;for(t=i[0];this[s]>=t.value;)t=i[++n];return this.nonZonedColor||(this.nonZonedColor=this.color),t&&t.color&&!this.options.color?this.color=t.color:this.color=this.nonZonedColor,t}hasNewShapeType(){return(this.graphic&&(this.graphic.symbolName||this.graphic.element.nodeName))!==this.shapeType}constructor(t,e,i){var s;this.formatPrefix="point",this.visible=!0,this.series=t,this.applyOptions(e,i),null!==(s=this.id)&&void 0!==s||(this.id=b()),this.resolveColor(),t.chart.pointCount++,d(this,"afterInit")}isValid(){return(g(this.x)||this.x instanceof Date)&&g(this.y)}optionsToObject(t){let e,i=this.series,s=i.options.keys,n=s||i.pointArrayMap||["y"],r=n.length,o={},a=0,l=0;if(g(t)||null===t)o[n[0]]=t;else if(p(t))for(!s&&t.length>r&&("string"==(e=typeof t[0])?o.name=t[0]:"number"===e&&(o.x=t[0]),a++);l0?S.prototype.setNestedProperty(o,t[a],n[l]):o[n[l]]=t[a]),a++,l++;else"object"==typeof t&&(o=t,t.dataLabels&&(i.hasDataLabels=()=>!0),t.marker&&(i._hasPointMarkers=!0));return o}pos(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.plotY;if(!this.destroyed){let{plotX:i,series:s}=this,{chart:n,xAxis:r,yAxis:o}=s,a=0,l=0;if(g(i)&&g(e))return t&&(a=r?r.pos:n.plotLeft,l=o?o.pos:n.plotTop),n.inverted&&r&&o?[o.len-e+l,r.len-i+a]:[i+a,e+l]}}resolveColor(){let t,e,i,s=this.series,n=s.chart.options.chart,r=s.chart.styledMode,o=n.colorCount;delete this.nonZonedColor,s.options.colorByPoint?(r||(t=(e=s.options.colors||s.chart.options.colors)[s.colorCounter],o=e.length),i=s.colorCounter,s.colorCounter++,s.colorCounter===o&&(s.colorCounter=0)):(r||(t=s.color),i=s.colorIndex),this.colorIndex=y(this.options.colorIndex,i),this.color=y(this.options.color,t)}setNestedProperty(t,e,i){return i.split(".").reduce((function(t,i,s,n){let r=n.length-1===s;return t[i]=r?e:m(t[i],!0)?t[i]:{},t[i]}),t),t}shouldDraw(){return!this.isNull}tooltipFormatter(t){let e=this.series,i=e.tooltipOptions,s=y(i.valueDecimals,""),n=i.valuePrefix||"",r=i.valueSuffix||"";return e.chart.styledMode&&(t=e.chart.tooltip.styledModeFormat(t)),(e.pointArrayMap||["y"]).forEach((function(e){e="{point."+e,(n||r)&&(t=t.replace(RegExp(e+"}","g"),n+e+"}"+r)),t=t.replace(RegExp(e+"}","g"),e+":,."+s+"f}")})),a(t,{point:this,series:this.series},e.chart)}update(t,e,i,s){let n,r=this,o=r.series,a=r.graphic,l=o.chart,h=o.options;function c(){r.applyOptions(t);let s=a&&r.hasMockGraphic,c=null===r.y?!s:s;a&&c&&(r.graphic=a.destroy(),delete r.hasMockGraphic),m(t,!0)&&(a&&a.element&&t&&t.marker&&void 0!==t.marker.symbol&&(r.graphic=a.destroy()),null!==t&&void 0!==t&&t.dataLabels&&r.dataLabel&&(r.dataLabel=r.dataLabel.destroy())),n=r.index,o.updateParallelArrays(r,n),h.data[n]=m(h.data[n],!0)||m(t,!0)?r.options:y(t,h.data[n]),o.isDirty=o.isDirtyData=!0,!o.fixedBox&&o.hasCartesianSeries&&(l.isDirtyBox=!0),"point"===h.legendType&&(l.isDirtyLegend=!0),e&&l.redraw(i)}e=y(e,!0),!1===s?c():r.firePointEvent("update",{options:t},c)}remove(t,e){this.series.removePoint(this.series.data.indexOf(this),t,e)}select(t,e){let i=this,s=i.series,n=s.chart;t=y(t,!i.selected),this.selectedStaging=t,i.firePointEvent(t?"select":"unselect",{accumulate:e},(function(){i.selected=i.options.selected=t,s.options.data[s.data.indexOf(i)]=i.options,i.setState(t&&"select"),e||n.getSelectedPoints().forEach((function(t){let e=t.series;t.selected&&t!==i&&(t.selected=t.options.selected=!1,e.options.data[e.data.indexOf(t)]=t.options,t.setState(n.hoverPoints&&e.options.inactiveOtherPoints?"inactive":""),t.firePointEvent("unselect"))}))})),delete this.selectedStaging}onMouseOver(t){let{inverted:e,pointer:i}=this.series.chart;i&&(t=t?i.normalize(t):i.getChartCoordinatesFromPoint(this,e),i.runPointActions(t,this))}onMouseOut(){let t=this.series.chart;this.firePointEvent("mouseOut"),this.series.options.inactiveOtherPoints||(t.hoverPoints||[]).forEach((function(t){t.setState()})),t.hoverPoints=t.hoverPoint=null}manageEvent(t){var e,i,s,n;let r=null===(e=(this.series.options.point||{}).events)||void 0===e?void 0:e[t];!f(r)||null!==(i=this.hcEvents)&&void 0!==i&&i[t]&&-1!==(null===(s=this.hcEvents)||void 0===s||null===(s=s[t])||void 0===s?void 0:s.map((t=>t.fn)).indexOf(r))?this.hasImportedEvents&&!r&&(null===(n=this.hcEvents)||void 0===n?void 0:n[t])&&(v(this,t),delete this.hcEvents[t],Object.keys(this.hcEvents)||(this.hasImportedEvents=!1)):(l(this,t,r),this.hasImportedEvents=!0)}setState(e,i){let s,n,r,a,l=this.series,h=this.state,u=l.options.states[e||"normal"]||{},p=o.plotOptions[l.type].marker&&l.options.marker,f=p&&!1===p.enabled,m=p&&p.states&&p.states[e||"normal"]||{},x=!1===m.enabled,v=this.marker||{},b=l.chart,S=p&&l.markerAttribs,k=l.halo,w=l.stateMarkerGraphic;if((e=e||"")===this.state&&!i||this.selected&&"select"!==e||!1===u.enabled||e&&(x||f&&!1===m.enabled)||e&&v.states&&v.states[e]&&!1===v.states[e].enabled)return;if(this.state=e,S&&(s=l.markerAttribs(this,e)),this.graphic&&!this.hasMockGraphic){if(h&&this.graphic.removeClass("highcharts-point-"+h),e&&this.graphic.addClass("highcharts-point-"+e),!b.styledMode){n=l.pointAttribs(this,e),r=y(b.options.chart.animation,u.animation);let t=n.opacity;l.options.inactiveOtherPoints&&g(t)&&(this.dataLabels||[]).forEach((function(e){e&&!e.hasClass("highcharts-data-label-hidden")&&(e.animate({opacity:t},r),e.connector&&e.connector.animate({opacity:t},r))})),this.graphic.animate(n,r)}s&&this.graphic.animate(s,y(b.options.chart.animation,m.animation,p.animation)),w&&w.hide()}else e&&m&&(a=v.symbol||l.symbol,w&&w.currentSymbol!==a&&(w=w.destroy()),s&&(w?w[i?"animate":"attr"]({x:s.x,y:s.y}):a&&(l.stateMarkerGraphic=w=b.renderer.symbol(a,s.x,s.y,s.width,s.height).add(l.markerGroup),w.currentSymbol=a)),!b.styledMode&&w&&"inactive"!==this.state&&w.attr(l.pointAttribs(this,e))),w&&(w[e&&this.isInside?"show":"hide"](),w.element.point=this,w.addClass(this.getClassName(),!0));let C=u.halo,A=this.graphic||w,M=A&&A.visibility||"inherit";C&&C.size&&A&&"hidden"!==M&&!this.isCluster?(k||(l.halo=k=b.renderer.path().add(A.parentGroup)),k.show()[i?"animate":"attr"]({d:this.haloPath(C.size)}),k.attr({class:"highcharts-halo highcharts-color-"+y(this.colorIndex,l.colorIndex)+(this.className?" "+this.className:""),visibility:M,zIndex:-1}),k.point=this,b.styledMode||k.attr(c({fill:this.color||l.color,"fill-opacity":C.opacity},t.filterUserAttributes(C.attributes||{})))):k&&k.point&&k.point.haloPath&&k.animate({d:k.point.haloPath(0)},null,k.hide),d(this,"afterSetState",{state:e})}haloPath(t){let e=this.pos();return e?this.series.chart.renderer.symbols.circle(Math.floor(e[0])-t,e[1]-t,2*t,2*t):[]}}return S})),i(e,"Core/Pointer.js",[e["Core/Color/Color.js"],e["Core/Globals.js"],e["Core/Utilities.js"]],(function(t,e,i){var s;let{parse:n}=t,{charts:r,composed:o}=e,{addEvent:a,attr:l,css:h,extend:c,find:d,fireEvent:u,isNumber:p,isObject:f,objectEach:g,offset:m,pick:y,pushUnique:x,splat:v}=i;class b{applyInactiveState(t){let e,i=[];(t||[]).forEach((function(t){e=t.series,i.push(e),e.linkedParent&&i.push(e.linkedParent),e.linkedSeries&&(i=i.concat(e.linkedSeries)),e.navigatorSeries&&i.push(e.navigatorSeries)})),this.chart.series.forEach((function(t){-1===i.indexOf(t)?t.setState("inactive",!0):t.options.inactiveOtherPoints&&t.setAllPointsToState("inactive")}))}destroy(){let t=this;this.eventsToUnbind.forEach((t=>t())),this.eventsToUnbind=[],!e.chartCount&&(b.unbindDocumentMouseUp&&(b.unbindDocumentMouseUp=b.unbindDocumentMouseUp()),b.unbindDocumentTouchEnd&&(b.unbindDocumentTouchEnd=b.unbindDocumentTouchEnd())),clearInterval(t.tooltipTimeout),g(t,(function(e,i){t[i]=void 0}))}getSelectionMarkerAttrs(t,e){let i={args:{chartX:t,chartY:e},attrs:{},shapeType:"rect"};return u(this,"getSelectionMarkerAttrs",i,(i=>{let s,{chart:n,zoomHor:r,zoomVert:o}=this,{mouseDownX:a=0,mouseDownY:l=0}=n,h=i.attrs;h.x=n.plotLeft,h.y=n.plotTop,h.width=r?1:n.plotWidth,h.height=o?1:n.plotHeight,r&&(s=t-a,h.width=Math.max(1,Math.abs(s)),h.x=(s>0?0:s)+a),o&&(s=e-l,h.height=Math.max(1,Math.abs(s)),h.y=(s>0?0:s)+l)})),i}drag(t){let e,{chart:i}=this,{mouseDownX:s=0,mouseDownY:r=0}=i,{panning:o,panKey:a,selectionMarkerFill:l}=i.options.chart,h=i.plotLeft,c=i.plotTop,d=i.plotWidth,u=i.plotHeight,p=f(o)?o.enabled:o,g=a&&t["".concat(a,"Key")],m=t.chartX,y=t.chartY,x=this.selectionMarker;if((!x||!x.touch)&&(mh+d&&(m=h+d),yc+u&&(y=c+u),this.hasDragged=Math.sqrt(Math.pow(s-m,2)+Math.pow(r-y,2)),this.hasDragged>10)){e=i.isInsidePlot(s-h,r-c,{visiblePlotOnly:!0});let{shapeType:a,attrs:d}=this.getSelectionMarkerAttrs(m,y);(i.hasCartesianSeries||i.mapView)&&this.hasZoom&&e&&!g&&!x&&(this.selectionMarker=x=i.renderer[a](),x.attr({class:"highcharts-selection-marker",zIndex:7}).add(),i.styledMode||x.attr({fill:l||n("#334eff").setOpacity(.25).get()})),x&&x.attr(d),e&&!x&&p&&i.pan(t,o)}}dragStart(t){let e=this.chart;e.mouseIsDown=t.type,e.cancelClick=!1,e.mouseDownX=t.chartX,e.mouseDownY=t.chartY}getSelectionBox(t){let e={args:{marker:t},result:t.getBBox()};return u(this,"getSelectionBox",e),e.result}drop(t){let e,{chart:i,selectionMarker:s}=this;for(let n of i.axes)n.isPanning&&(n.isPanning=!1,(n.options.startOnTick||n.options.endOnTick||n.series.some((t=>t.boosted)))&&(n.forceRedraw=!0,n.setExtremes(n.userMin,n.userMax,!1),e=!0));if(e&&i.redraw(),s&&t){if(this.hasDragged){let e=this.getSelectionBox(s);i.transform({axes:i.axes.filter((t=>t.zoomEnabled&&("xAxis"===t.coll&&this.zoomX||"yAxis"===t.coll&&this.zoomY))),selection:{originalEvent:t,xAxis:[],yAxis:[],...e},from:e})}p(i.index)&&(this.selectionMarker=s.destroy())}i&&p(i.index)&&(h(i.container,{cursor:i._cursor}),i.cancelClick=this.hasDragged>10,i.mouseIsDown=!1,this.hasDragged=0,this.pinchDown=[])}findNearestKDPoint(t,e,i){let s;return t.forEach((function(t){let n=!(t.noSharedTooltip&&e)&&0>t.options.findNearestPointBy.indexOf("y"),r=t.searchPoint(i,n);f(r,!0)&&r.series&&(!f(s,!0)||function(t,i,s,n){let r=t.distX-i.distX,o=t.dist-i.dist,a=(null===(s=i.series.group)||void 0===s?void 0:s.zIndex)-(null===(n=t.series.group)||void 0===n?void 0:n.zIndex);return 0!==r&&e?r:0!==o?o:0!==a?a:t.series.index>i.series.index?-1:1}(s,r)>0)&&(s=r)})),s}getChartCoordinatesFromPoint(t,e){let{xAxis:i,yAxis:s}=t.series,n=t.shapeArgs;if(i&&s){var r,o;let a=null!==(r=null!==(o=t.clientX)&&void 0!==o?o:t.plotX)&&void 0!==r?r:0,l=t.plotY||0;return t.isNode&&n&&p(n.x)&&p(n.y)&&(a=n.x,l=n.y),e?{chartX:s.len+s.pos-l,chartY:i.len+i.pos-a}:{chartX:a+i.pos,chartY:l+s.pos}}if(n&&n.x&&n.y)return{chartX:n.x,chartY:n.y}}getChartPosition(){if(this.chartPosition)return this.chartPosition;let{container:t}=this.chart,e=m(t);this.chartPosition={left:e.left,top:e.top,scaleX:1,scaleY:1};let{offsetHeight:i,offsetWidth:s}=t;return s>2&&i>2&&(this.chartPosition.scaleX=e.width/s,this.chartPosition.scaleY=e.height/i),this.chartPosition}getCoordinates(t){let e={xAxis:[],yAxis:[]};for(let i of this.chart.axes)e[i.isXAxis?"xAxis":"yAxis"].push({axis:i,value:i.toValue(t[i.horiz?"chartX":"chartY"])});return e}getHoverData(t,e,i,s,n,r){let o,a=[],l=function(t){return t.visible&&!(!n&&t.directTouch)&&y(t.options.enableMouseTracking,!0)},h=e,c={chartX:r?r.chartX:void 0,chartY:r?r.chartY:void 0,shared:n};u(this,"beforeGetHoverData",c),o=h&&!h.stickyTracking?[h]:i.filter((t=>t.stickyTracking&&(c.filter||l)(t)));let p=s&&t||!r?t:this.findNearestKDPoint(o,n,r);return h=p&&p.series,p&&(n&&!h.noSharedTooltip?(o=i.filter((function(t){return c.filter?c.filter(t):l(t)&&!t.noSharedTooltip}))).forEach((function(t){let e=d(t.points,(function(t){return t.x===p.x&&!t.isNull}));f(e)&&(t.boosted&&t.boost&&(e=t.boost.getPoint(e)),a.push(e))})):a.push(p)),u(this,"afterGetHoverData",c={hoverPoint:p}),{hoverPoint:c.hoverPoint,hoverSeries:h,hoverPoints:a}}getPointFromEvent(t){let e,i=t.target;for(;i&&!e;)e=i.point,i=i.parentNode;return e}onTrackerMouseOut(t){let e=this.chart,i=t.relatedTarget,s=e.hoverSeries;this.isDirectTouch=!1,!s||!i||s.stickyTracking||this.inClass(i,"highcharts-tooltip")||this.inClass(i,"highcharts-series-"+s.index)&&this.inClass(i,"highcharts-tracker")||s.onMouseOut()}inClass(t,e){let i,s=t;for(;s;){if(i=l(s,"class")){if(-1!==i.indexOf(e))return!0;if(-1!==i.indexOf("highcharts-container"))return!1}s=s.parentElement}}constructor(t,e){var i;this.hasDragged=0,this.eventsToUnbind=[],this.options=e,this.chart=t,this.runChartClick=!(null===(i=e.chart.events)||void 0===i||!i.click),this.pinchDown=[],this.setDOMEvents(),u(this,"afterInit")}normalize(t,e){let i=t.touches,s=i?i.length?i.item(0):y(i.changedTouches,t.changedTouches)[0]:t;e||(e=this.getChartPosition());let n=s.pageX-e.left,r=s.pageY-e.top;return c(t,{chartX:Math.round(n/=e.scaleX),chartY:Math.round(r/=e.scaleY)})}onContainerClick(t){let e=this.chart,i=e.hoverPoint,s=this.normalize(t),n=e.plotLeft,r=e.plotTop;!e.cancelClick&&(i&&this.inClass(s.target,"highcharts-tracker")?(u(i.series,"click",c(s,{point:i})),e.hoverPoint&&i.firePointEvent("click",s)):(c(s,this.getCoordinates(s)),e.isInsidePlot(s.chartX-n,s.chartY-r,{visiblePlotOnly:!0})&&u(e,"click",s)))}onContainerMouseDown(t){var i,s;let n=1==(1&(t.buttons||t.button));t=this.normalize(t),e.isFirefox&&0!==t.button&&this.onContainerMouseMove(t),(void 0===t.button||n)&&(this.zoomOption(t),n&&null!==(i=(s=t).preventDefault)&&void 0!==i&&i.call(s),this.dragStart(t))}onContainerMouseLeave(t){let{pointer:e}=r[y(b.hoverChartIndex,-1)]||{};t=this.normalize(t),this.onContainerMouseMove(t),e&&t.relatedTarget&&!this.inClass(t.relatedTarget,"highcharts-tooltip")&&(e.reset(),e.chartPosition=void 0)}onContainerMouseEnter(){delete this.chartPosition}onContainerMouseMove(t){let e=this.chart,i=e.tooltip,s=this.normalize(t);this.setHoverChartIndex(t),("mousedown"===e.mouseIsDown||this.touchSelect(s))&&this.drag(s),!e.openMenu&&(this.inClass(s.target,"highcharts-tracker")||e.isInsidePlot(s.chartX-e.plotLeft,s.chartY-e.plotTop,{visiblePlotOnly:!0}))&&(!i||!i.shouldStickOnContact(s))&&(this.inClass(s.target,"highcharts-no-tooltip")?this.reset(!1,0):this.runPointActions(s))}onDocumentTouchEnd(t){this.onDocumentMouseUp(t)}onContainerTouchMove(t){this.touchSelect(t)?this.onContainerMouseMove(t):this.touch(t)}onContainerTouchStart(t){this.touchSelect(t)?this.onContainerMouseDown(t):(this.zoomOption(t),this.touch(t,!0))}onDocumentMouseMove(t){let e=this.chart,i=e.tooltip,s=this.chartPosition,n=this.normalize(t,s);!s||e.isInsidePlot(n.chartX-e.plotLeft,n.chartY-e.plotTop,{visiblePlotOnly:!0})||i&&i.shouldStickOnContact(n)||this.inClass(n.target,"highcharts-tracker")||this.reset()}onDocumentMouseUp(t){var e;null===(e=r[y(b.hoverChartIndex,-1)])||void 0===e||null===(e=e.pointer)||void 0===e||e.drop(t)}pinch(t){let e=this,{chart:i,hasZoom:s,lastTouches:n}=e,r=[].map.call(t.touches||[],(t=>e.normalize(t))),o=r.length,a=1===o&&(e.inClass(t.target,"highcharts-tracker")&&i.runTrackerClick||e.runChartClick),l=i.tooltip,h=1===o&&y(null===l||void 0===l?void 0:l.options.followTouchMove,!0);o>1?e.initiated=!0:h&&(e.initiated=!1),s&&e.initiated&&!a&&!1!==t.cancelable&&t.preventDefault(),"touchstart"===t.type?(e.pinchDown=r,e.res=!0):h?this.runPointActions(e.normalize(t)):n&&(u(i,"touchpan",{originalEvent:t,touches:r},(()=>{let e=t=>{let e=t[0],i=t[1]||e;return{x:e.chartX,y:e.chartY,width:i.chartX-e.chartX,height:i.chartY-e.chartY}};i.transform({axes:i.axes.filter((t=>t.zoomEnabled&&(this.zoomHor&&t.horiz||this.zoomVert&&!t.horiz))),to:e(r),from:e(n),trigger:t.type})})),e.res&&(e.res=!1,this.reset(!1,0))),e.lastTouches=r}reset(t,e){let i=this.chart,s=i.hoverSeries,n=i.hoverPoint,r=i.hoverPoints,o=i.tooltip,a=o&&o.shared?r:n;t&&a&&v(a).forEach((function(e){e.series.isCartesian&&void 0===e.plotX&&(t=!1)})),t?o&&a&&v(a).length&&(o.refresh(a),o.shared&&r?r.forEach((function(t){t.setState(t.state,!0),t.series.isCartesian&&(t.series.xAxis.crosshair&&t.series.xAxis.drawCrosshair(null,t),t.series.yAxis.crosshair&&t.series.yAxis.drawCrosshair(null,t))})):n&&(n.setState(n.state,!0),i.axes.forEach((function(t){t.crosshair&&n.series[t.coll]===t&&t.drawCrosshair(null,n)})))):(n&&n.onMouseOut(),r&&r.forEach((function(t){t.setState()})),s&&s.onMouseOut(),o&&o.hide(e),this.unDocMouseMove&&(this.unDocMouseMove=this.unDocMouseMove()),i.axes.forEach((function(t){t.hideCrosshair()})),i.hoverPoints=i.hoverPoint=void 0)}runPointActions(t,e,i){let s=this.chart,n=s.series,o=s.tooltip&&s.tooltip.options.enabled?s.tooltip:void 0,l=!!o&&o.shared,h=e||s.hoverPoint,c=h&&h.series||s.hoverSeries,u=(!t||"touchmove"!==t.type)&&(!!e||c&&c.directTouch&&this.isDirectTouch),p=this.getHoverData(h,c,n,u,l,t);h=p.hoverPoint,c=p.hoverSeries;let f=p.hoverPoints,g=c&&c.tooltipOptions.followPointer&&!c.tooltipOptions.split,m=l&&c&&!c.noSharedTooltip;if(h&&(i||h!==s.hoverPoint||o&&o.isHidden)){if((s.hoverPoints||[]).forEach((function(t){-1===f.indexOf(t)&&t.setState()})),s.hoverSeries!==c&&c.onMouseOver(),this.applyInactiveState(f),(f||[]).forEach((function(t){t.setState("hover")})),s.hoverPoint&&s.hoverPoint.firePointEvent("mouseOut"),!h.series)return;s.hoverPoints=f,s.hoverPoint=h,h.firePointEvent("mouseOver",void 0,(()=>{o&&h&&o.refresh(m?f:h,t)}))}else if(g&&o&&!o.isHidden){let e=o.getAnchor([{}],t);s.isInsidePlot(e[0],e[1],{visiblePlotOnly:!0})&&o.updatePosition({plotX:e[0],plotY:e[1]})}this.unDocMouseMove||(this.unDocMouseMove=a(s.container.ownerDocument,"mousemove",(t=>{var e,i;return null===(e=r[null!==(i=b.hoverChartIndex)&&void 0!==i?i:-1])||void 0===e||null===(e=e.pointer)||void 0===e?void 0:e.onDocumentMouseMove(t)})),this.eventsToUnbind.push(this.unDocMouseMove)),s.axes.forEach((function(e){let i,n=y((e.crosshair||{}).snap,!0);!n||(i=s.hoverPoint)&&i.series[e.coll]===e||(i=d(f,(t=>t.series&&t.series[e.coll]===e))),i||!n?e.drawCrosshair(t,i):e.hideCrosshair()}))}setDOMEvents(){let t=this.chart.container,e=t.ownerDocument;t.onmousedown=this.onContainerMouseDown.bind(this),t.onmousemove=this.onContainerMouseMove.bind(this),t.onclick=this.onContainerClick.bind(this),this.eventsToUnbind.push(a(t,"mouseenter",this.onContainerMouseEnter.bind(this)),a(t,"mouseleave",this.onContainerMouseLeave.bind(this))),b.unbindDocumentMouseUp||(b.unbindDocumentMouseUp=a(e,"mouseup",this.onDocumentMouseUp.bind(this)));let i=this.chart.renderTo.parentElement;for(;i&&"BODY"!==i.tagName;)this.eventsToUnbind.push(a(i,"scroll",(()=>{delete this.chartPosition}))),i=i.parentElement;this.eventsToUnbind.push(a(t,"touchstart",this.onContainerTouchStart.bind(this),{passive:!1}),a(t,"touchmove",this.onContainerTouchMove.bind(this),{passive:!1})),b.unbindDocumentTouchEnd||(b.unbindDocumentTouchEnd=a(e,"touchend",this.onDocumentTouchEnd.bind(this),{passive:!1}))}setHoverChartIndex(t){var i;let s=this.chart,n=e.charts[y(b.hoverChartIndex,-1)];n&&n!==s&&null!==(i=n.pointer)&&void 0!==i&&i.onContainerMouseLeave(t||{relatedTarget:s.container}),n&&n.mouseIsDown||(b.hoverChartIndex=s.index)}touch(t,e){let i,{chart:s,pinchDown:n=[]}=this;this.setHoverChartIndex(),1===t.touches.length?(t=this.normalize(t),s.isInsidePlot(t.chartX-s.plotLeft,t.chartY-s.plotTop,{visiblePlotOnly:!0})&&!s.openMenu?(e&&this.runPointActions(t),"touchmove"===t.type&&(i=!!n[0]&&Math.pow(n[0].chartX-t.chartX,2)+Math.pow(n[0].chartY-t.chartY,2)>=16),y(i,!0)&&this.pinch(t)):e&&this.reset()):2===t.touches.length&&this.pinch(t)}touchSelect(t){return!(!this.chart.zooming.singleTouch||!t.touches||1!==t.touches.length)}zoomOption(t){let e,i,s=this.chart,n=s.inverted,r=s.zooming.type||"";/touch/.test(t.type)&&(r=y(s.zooming.pinchType,r)),this.zoomX=e=/x/.test(r),this.zoomY=i=/y/.test(r),this.zoomHor=e&&!n||i&&n,this.zoomVert=i&&!n||e&&n,this.hasZoom=e||i}}return(s=b||(b={})).compose=function(t){x(o,"Core.Pointer")&&a(t,"beforeRender",(function(){this.pointer=new s(this,this.options)}))},b})),i(e,"Core/Legend/Legend.js",[e["Core/Animation/AnimationUtilities.js"],e["Core/Templating.js"],e["Core/Globals.js"],e["Core/Series/Point.js"],e["Core/Renderer/RendererUtilities.js"],e["Core/Utilities.js"]],(function(t,e,i,s,n,r){var o;let{animObject:a,setAnimation:l}=t,{format:h}=e,{composed:c,marginNames:d}=i,{distribute:u}=n,{addEvent:p,createElement:f,css:g,defined:m,discardElement:y,find:x,fireEvent:v,isNumber:b,merge:S,pick:k,pushUnique:w,relativeLength:C,stableSort:A,syncTimeout:M}=r;class T{constructor(t,e){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=t,this.setOptions(e),e.enabled&&(this.render(),p(this.chart,"endResize",(function(){this.legend.positionCheckboxes()}))),p(this.chart,"render",(()=>{this.options.enabled&&this.proximate&&(this.proximatePositions(),this.positionItems())}))}setOptions(t){let e=k(t.padding,8);this.options=t,this.chart.styledMode||(this.itemStyle=t.itemStyle,this.itemHiddenStyle=S(this.itemStyle,t.itemHiddenStyle)),this.itemMarginTop=t.itemMarginTop,this.itemMarginBottom=t.itemMarginBottom,this.padding=e,this.initialItemY=e-5,this.symbolWidth=k(t.symbolWidth,16),this.pages=[],this.proximate="proximate"===t.layout&&!this.chart.inverted,this.baseline=void 0}update(t,e){let i=this.chart;this.setOptions(S(!0,this.options,t)),this.destroy(),i.isDirtyLegend=i.isDirtyBox=!0,k(e,!0)&&i.redraw(),v(this,"afterUpdate",{redraw:e})}colorizeItem(t,e){let{area:i,group:s,label:n,line:r,symbol:o}=t.legendItem||{};if(null!==s&&void 0!==s&&s[e?"removeClass":"addClass"]("highcharts-legend-item-hidden"),!this.chart.styledMode){let{itemHiddenStyle:s={}}=this,a=s.color,{fillColor:l,fillOpacity:h,lineColor:c,marker:d}=t.options,u=t=>(!e&&(t.fill&&(t.fill=a),t.stroke&&(t.stroke=a)),t);null!==n&&void 0!==n&&n.css(S(e?this.itemStyle:s)),null!==r&&void 0!==r&&r.attr(u({stroke:c||t.color})),o&&o.attr(u(d&&o.isMarker?t.pointAttribs():{fill:t.color})),null===i||void 0===i||i.attr(u({fill:l||t.color,"fill-opacity":l?1:null!==h&&void 0!==h?h:.75}))}v(this,"afterColorizeItem",{item:t,visible:e})}positionItems(){this.allItems.forEach(this.positionItem,this),this.chart.isResizing||this.positionCheckboxes()}positionItem(t){let{group:e,x:i=0,y:s=0}=t.legendItem||{},n=this.options,r=n.symbolPadding,o=!n.rtl,a=t.checkbox;if(e&&e.element){let n={translateX:o?i:this.legendWidth-i-2*r-4,translateY:s};e[m(e.translateY)?"animate":"attr"](n,void 0,(()=>{v(this,"afterPositionItem",{item:t})}))}a&&(a.x=i,a.y=s)}destroyItem(t){let e=t.checkbox,i=t.legendItem||{};for(let s of["group","label","line","symbol"])i[s]&&(i[s]=i[s].destroy());e&&y(e),t.legendItem=void 0}destroy(){for(let t of this.getAllItems())this.destroyItem(t);for(let t of["clipRect","up","down","pager","nav","box","title","group"])this[t]&&(this[t]=this[t].destroy());this.display=null}positionCheckboxes(){let t,e=this.group&&this.group.alignAttr,i=this.clipHeight||this.legendHeight,s=this.titleHeight;e&&(t=e.translateY,this.allItems.forEach((function(n){let r,o=n.checkbox;o&&(r=t+s+o.y+(this.scrollOffset||0)+3,g(o,{left:e.translateX+n.checkboxOffset+o.x-20+"px",top:r+"px",display:this.proximate||r>t-6&&r1.5*w?b.height:w))}layoutItem(t){let e=this.options,i=this.padding,s="horizontal"===e.layout,n=t.itemHeight,r=this.itemMarginBottom,o=this.itemMarginTop,a=s?k(e.itemDistance,20):0,l=this.maxLegendWidth,h=e.alignColumns&&this.totalItemWidth>l?this.maxItemWidth:t.itemWidth,c=t.legendItem||{};s&&this.itemX-i+h>l&&(this.itemX=i,this.lastLineHeight&&(this.itemY+=o+this.lastLineHeight+r),this.lastLineHeight=0),this.lastItemY=o+this.itemY+r,this.lastLineHeight=Math.max(n,this.lastLineHeight),c.x=this.itemX,c.y=this.itemY,s?this.itemX+=h:(this.itemY+=o+n+r,this.lastLineHeight=n),this.offsetWidth=this.widthOption||Math.max((s?this.itemX-i-(t.checkbox?0:a):h)+i,this.offsetWidth)}getAllItems(){let t=[];return this.chart.series.forEach((function(e){let i=e&&e.options;e&&k(i.showInLegend,!m(i.linkedTo)&&void 0,!0)&&(t=t.concat((e.legendItem||{}).labels||("point"===i.legendType?e.data:e)))})),v(this,"afterGetAllItems",{allItems:t}),t}getAlignment(){let t=this.options;return this.proximate?t.align.charAt(0)+"tv":t.floating?"":t.align.charAt(0)+t.verticalAlign.charAt(0)+t.layout.charAt(0)}adjustMargins(t,e){let i=this.chart,s=this.options,n=this.getAlignment();n&&[/(lth|ct|rth)/,/(rtv|rm|rbv)/,/(rbh|cb|lbh)/,/(lbv|lm|ltv)/].forEach((function(r,o){r.test(n)&&!m(t[o])&&(i[d[o]]=Math.max(i[d[o]],i.legend[(o+1)%2?"legendHeight":"legendWidth"]+[1,-1,-1,1][o]*s[o%2?"x":"y"]+k(s.margin,12)+e[o]+(i.titleOffset[o]||0)))}))}proximatePositions(){let t,e=this.chart,i=[],s="left"===this.options.align;for(let n of(this.allItems.forEach((function(t){let n,r,o,a,l=s;t.yAxis&&(t.xAxis.options.reversed&&(l=!l),t.points&&(n=x(l?t.points:t.points.slice(0).reverse(),(function(t){return b(t.plotY)}))),r=this.itemMarginTop+t.legendItem.label.getBBox().height+this.itemMarginBottom,a=t.yAxis.top-e.plotTop,o=t.visible?(n?n.plotY:t.yAxis.height)+(a-.3*r):a+t.yAxis.height,i.push({target:o,size:r,item:t}))}),this),u(i,e.plotHeight)))t=n.item.legendItem||{},b(n.pos)&&(t.y=e.plotTop-e.spacing[0]+n.pos)}render(){let t,e,i,s,n=this.chart,r=n.renderer,o=this.options,a=this.padding,l=this.getAllItems(),h=this.group,c=this.box;this.itemX=a,this.itemY=this.initialItemY,this.offsetWidth=0,this.lastItemY=0,this.widthOption=C(o.width,n.spacingBox.width-a),s=n.spacingBox.width-2*a-o.x,["rm","lm"].indexOf(this.getAlignment().substring(0,2))>-1&&(s/=2),this.maxLegendWidth=this.widthOption||s,h||(this.group=h=r.g("legend").addClass(o.className||"").attr({zIndex:7}).add(),this.contentGroup=r.g().attr({zIndex:1}).add(h),this.scrollGroup=r.g().add(this.contentGroup)),this.renderTitle(),A(l,((t,e)=>(t.options&&t.options.legendIndex||0)-(e.options&&e.options.legendIndex||0))),o.reversed&&l.reverse(),this.allItems=l,this.display=t=!!l.length,this.lastLineHeight=0,this.maxItemWidth=0,this.totalItemWidth=0,this.itemHeight=0,l.forEach(this.renderItem,this),l.forEach(this.layoutItem,this),e=(this.widthOption||this.offsetWidth)+a,i=this.lastItemY+this.lastLineHeight+this.titleHeight,i=this.handleOverflow(i)+a,c||(this.box=c=r.rect().addClass("highcharts-legend-box").attr({r:o.borderRadius}).add(h)),n.styledMode||c.attr({stroke:o.borderColor,"stroke-width":o.borderWidth||0,fill:o.backgroundColor||"none"}).shadow(o.shadow),e>0&&i>0&&c[c.placed?"animate":"attr"](c.crisp.call({},{x:0,y:0,width:e,height:i},c.strokeWidth())),h[t?"show":"hide"](),n.styledMode&&"none"===h.getStyle("display")&&(e=i=0),this.legendWidth=e,this.legendHeight=i,t&&this.align(),this.proximate||this.positionItems(),v(this,"afterRender")}align(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.chart.spacingBox,e=this.chart,i=this.options,s=t.y;/(lth|ct|rth)/.test(this.getAlignment())&&e.titleOffset[0]>0?s+=e.titleOffset[0]:/(lbh|cb|rbh)/.test(this.getAlignment())&&e.titleOffset[2]>0&&(s-=e.titleOffset[2]),s!==t.y&&(t=S(t,{y:s})),e.hasRendered||(this.group.placed=!1),this.group.align(S(i,{width:this.legendWidth,height:this.legendHeight,verticalAlign:this.proximate?"top":i.verticalAlign}),!0,t)}handleOverflow(t){let e,i,s,n=this,r=this.chart,o=r.renderer,a=this.options,l=a.y,h="top"===a.verticalAlign,c=this.padding,d=a.maxHeight,u=a.navigation,p=k(u.animation,!0),f=u.arrowSize||12,g=this.pages,m=this.allItems,y=function(t){"number"==typeof t?S.attr({height:t}):S&&(n.clipRect=S.destroy(),n.contentGroup.clip()),n.contentGroup.div&&(n.contentGroup.div.style.clip=t?"rect("+c+"px,9999px,"+(c+t)+"px,0)":"auto")},x=function(t){return n[t]=o.circle(0,0,1.3*f).translate(f/2,f/2).add(b),r.styledMode||n[t].attr("fill","rgba(0,0,0,0.0001)"),n[t]},v=r.spacingBox.height+(h?-l:l)-c,b=this.nav,S=this.clipRect;return"horizontal"!==a.layout||"middle"===a.verticalAlign||a.floating||(v/=2),d&&(v=Math.min(v,d)),g.length=0,t&&v>0&&t>v&&!1!==u.enabled?(this.clipHeight=e=Math.max(v-20-this.titleHeight-c,0),this.currentPage=k(this.currentPage,1),this.fullHeight=t,m.forEach(((t,n)=>{let r=(s=t.legendItem||{}).y||0,o=Math.round(s.label.getBBox().height),a=g.length;(!a||r-g[a-1]>e&&(i||r)!==g[a-1])&&(g.push(i||r),a++),s.pageIx=a-1,i&&((m[n-1].legendItem||{}).pageIx=a-1),n===m.length-1&&r+o-g[a-1]>e&&r>g[a-1]&&(g.push(r),s.pageIx=a),r!==i&&(i=r)})),S||(S=n.clipRect=o.clipRect(0,c-2,9999,0),n.contentGroup.clip(S)),y(e),b||(this.nav=b=o.g().attr({zIndex:1}).add(this.group),this.up=o.symbol("triangle",0,0,f,f).add(b),x("upTracker").on("click",(function(){n.scroll(-1,p)})),this.pager=o.text("",15,10).addClass("highcharts-legend-navigation"),!r.styledMode&&u.style&&this.pager.css(u.style),this.pager.add(b),this.down=o.symbol("triangle-down",0,0,f,f).add(b),x("downTracker").on("click",(function(){n.scroll(1,p)}))),n.scroll(0),t=v):b&&(y(),this.nav=b.destroy(),this.scrollGroup.attr({translateY:1}),this.clipHeight=0),t}scroll(t,e){let i=this.chart,s=this.pages,n=s.length,r=this.clipHeight,o=this.options.navigation,h=this.pager,c=this.padding,d=this.currentPage+t;d>n&&(d=n),d>0&&(void 0!==e&&l(e,i),this.nav.attr({translateX:c,translateY:r+this.padding+7+this.titleHeight,visibility:"inherit"}),[this.up,this.upTracker].forEach((function(t){t.attr({class:1===d?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})})),h.attr({text:d+"/"+n}),[this.down,this.downTracker].forEach((function(t){t.attr({x:18+this.pager.getBBox().width,class:d===n?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})}),this),i.styledMode||(this.up.attr({fill:1===d?o.inactiveColor:o.activeColor}),this.upTracker.css({cursor:1===d?"default":"pointer"}),this.down.attr({fill:d===n?o.inactiveColor:o.activeColor}),this.downTracker.css({cursor:d===n?"default":"pointer"})),this.scrollOffset=-s[d-1]+this.initialItemY,this.scrollGroup.animate({translateY:this.scrollOffset}),this.currentPage=d,this.positionCheckboxes(),M((()=>{v(this,"afterScroll",{currentPage:d})}),a(k(e,i.renderer.globalAnimation,!0)).duration))}setItemEvents(t,e,i){let n=this,r=t.legendItem||{},o=n.chart.renderer.boxWrapper,a=t instanceof s,l="highcharts-legend-"+(a?"point":"series")+"-active",h=n.chart.styledMode,c=i?[e,r.symbol]:[r.group],d=e=>{n.allItems.forEach((i=>{t!==i&&[i].concat(i.linkedSeries||[]).forEach((t=>{t.setState(e,!a)}))}))};for(let s of c)s&&s.on("mouseover",(function(){t.visible&&d("inactive"),t.setState("hover"),t.visible&&o.addClass(l),h||e.css(n.options.itemHoverStyle)})).on("mouseout",(function(){n.chart.styledMode||e.css(S(t.visible?n.itemStyle:n.itemHiddenStyle)),d(""),o.removeClass(l),t.setState()})).on("click",(function(e){let i="legendItemClick",s=function(){t.setVisible&&t.setVisible(),d(t.visible?"inactive":"")};o.removeClass(l),e={browserEvent:e},t.firePointEvent?t.firePointEvent(i,e,s):v(t,i,e,s)}))}createCheckboxForItem(t){t.checkbox=f("input",{type:"checkbox",className:"highcharts-legend-checkbox",checked:t.selected,defaultChecked:t.selected},this.options.itemCheckboxStyle,this.chart.container),p(t.checkbox,"click",(function(e){let i=e.target;v(t.series||t,"checkboxClick",{checked:i.checked,item:t},(function(){t.select()}))}))}}return(o=T||(T={})).compose=function(t){w(c,"Core.Legend")&&p(t,"beforeMargins",(function(){this.legend=new o(this,this.options.legend)}))},T})),i(e,"Core/Legend/LegendSymbol.js",[e["Core/Utilities.js"]],(function(t){var e;let{extend:i,merge:s,pick:n}=t;return function(t){function e(t,e,r){let o,a=this.legendItem=this.legendItem||{},{chart:l,options:h}=this,{baseline:c=0,symbolWidth:d,symbolHeight:u}=t,p=this.symbol||"circle",f=u/2,g=l.renderer,m=a.group,y=c-Math.round(u*(r?.4:.3)),x={},v=h.marker,b=0;if(l.styledMode||(x["stroke-width"]=Math.min(h.lineWidth||0,24),h.dashStyle?x.dashstyle=h.dashStyle:"square"===h.linecap||(x["stroke-linecap"]="round")),a.line=g.path().addClass("highcharts-graph").attr(x).add(m),r&&(a.area=g.path().addClass("highcharts-area").add(m)),x["stroke-linecap"]&&(b=Math.min(a.line.strokeWidth(),d)/2),d){var S;let t=[["M",b,y],["L",d-b,y]];a.line.attr({d:t}),null===(S=a.area)||void 0===S||S.attr({d:[...t,["L",d-b,c],["L",b,c]]})}if(v&&!1!==v.enabled&&d){let t=Math.min(n(v.radius,f),f);0===p.indexOf("url")&&(v=s(v,{width:u,height:u}),t=0),a.symbol=o=g.symbol(p,d/2-t,y-t,2*t,2*t,i({context:"legend"},v)).addClass("highcharts-point").add(m),o.isMarker=!0}}t.areaMarker=function(t,i){e.call(this,t,i,!0)},t.lineMarker=e,t.rectangle=function(t,e){let i=e.legendItem||{},s=t.options,r=t.symbolHeight,o=s.squareSymbol,a=o?r:t.symbolWidth;i.symbol=this.chart.renderer.rect(o?(t.symbolWidth-r)/2:0,t.baseline-r+1,a,r,n(t.options.symbolRadius,r/2)).addClass("highcharts-point").attr({zIndex:3}).add(i.group)}}(e||(e={})),e})),i(e,"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:t}=this.series.chart;return"number"!=typeof this.y?"":t(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"}})),i(e,"Core/Series/SeriesRegistry.js",[e["Core/Globals.js"],e["Core/Defaults.js"],e["Core/Series/Point.js"],e["Core/Utilities.js"]],(function(t,e,i,s){var n;let{defaultOptions:r}=e,{extend:o,extendClass:a,merge:l}=s;return function(e){function s(t,s){let n=r.plotOptions||{},o=s.defaultOptions,a=s.prototype;return a.type=t,a.pointClass||(a.pointClass=i),!e.seriesTypes[t]&&(o&&(n[t]=o),e.seriesTypes[t]=s,!0)}e.seriesTypes=t.seriesTypes,e.registerSeriesType=s,e.seriesType=function(t,n,h,c,d){let u=r.plotOptions||{};if(n=n||"",u[t]=l(u[n],h),delete e.seriesTypes[t],s(t,a(e.seriesTypes[n]||function(){},c)),e.seriesTypes[t].prototype.type=t,d){class s extends i{}o(s.prototype,d),e.seriesTypes[t].prototype.pointClass=s}return e.seriesTypes[t]}}(n||(n={})),n})),i(e,"Core/Series/Series.js",[e["Core/Animation/AnimationUtilities.js"],e["Core/Defaults.js"],e["Core/Foundation.js"],e["Core/Globals.js"],e["Core/Legend/LegendSymbol.js"],e["Core/Series/Point.js"],e["Core/Series/SeriesDefaults.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Renderer/SVG/SVGElement.js"],e["Core/Utilities.js"]],(function(t,e,i,s,n,r,o,a,l,h){let{animObject:c,setAnimation:d}=t,{defaultOptions:u}=e,{registerEventOptions:p}=i,{svg:f,win:g}=s,{seriesTypes:m}=a,{arrayMax:y,arrayMin:x,clamp:v,correctFloat:b,defined:S,destroyObjectProperties:k,diffObjects:w,erase:C,error:A,extend:M,find:T,fireEvent:P,getClosestDistance:E,getNestedProperty:O,insertItem:L,isArray:D,isNumber:j,isString:N,merge:R,objectEach:I,pick:B,removeEvent:_,splat:z,syncTimeout:W}=h;class F{constructor(){this.zoneAxis="y"}init(t,e){let i;P(this,"init",{options:e});let s=this,n=t.series;this.eventsToUnbind=[],s.chart=t,s.options=s.setOptions(e);let r=s.options,o=!1!==r.visible;s.linkedSeries=[],s.bindAxes(),M(s,{name:r.name,state:"",visible:o,selected:!0===r.selected}),p(this,r);let a=r.events;(a&&a.click||r.point&&r.point.events&&r.point.events.click||r.allowPointSelect)&&(t.runTrackerClick=!0),s.getColor(),s.getSymbol(),s.parallelArrays.forEach((function(t){s[t+"Data"]||(s[t+"Data"]=[])})),s.isCartesian&&(t.hasCartesianSeries=!0),n.length&&(i=n[n.length-1]),s._i=B(i&&i._i,-1)+1,s.opacity=s.options.opacity,t.orderItems("series",L(this,n)),r.dataSorting&&r.dataSorting.enabled?s.setDataSortingOptions():s.points||s.data||s.setData(r.data,!1),P(this,"afterInit")}is(t){return m[t]&&this instanceof m[t]}bindAxes(){let t,e=this,i=e.options,s=e.chart;P(this,"bindAxes",null,(function(){(e.axisTypes||[]).forEach((function(n){s[n].forEach((function(s){t=s.options,(B(i[n],0)===s.index||void 0!==i[n]&&i[n]===t.id)&&(L(e,s.series),e[n]=s,s.isDirty=!0)})),e[n]||e.optionalAxis===n||A(18,!0,s)}))})),P(this,"afterBindAxes")}updateParallelArrays(t,e,i){let s=t.series,n=j(e)?function(i){let n="y"===i&&s.toYData?s.toYData(t):t[i];s[i+"Data"][e]=n}:function(t){Array.prototype[e].apply(s[t+"Data"],i)};s.parallelArrays.forEach(n)}hasData(){return this.visible&&void 0!==this.dataMax&&void 0!==this.dataMin||this.visible&&this.yData&&this.yData.length>0}hasMarkerChanged(t,e){let i=t.marker,s=e.marker||{};return i&&(s.enabled&&!i.enabled||s.symbol!==i.symbol||s.height!==i.height||s.width!==i.width)}autoIncrement(t){let e,i,s=this.options,n=s.pointIntervalUnit,r=s.relativeXValue,o=this.chart.time,a=this.xIncrement;return a=B(a,s.pointStart,0),this.pointInterval=i=B(this.pointInterval,s.pointInterval,1),r&&j(t)&&(i*=t),n&&(e=new o.Date(a),"day"===n?o.set("Date",e,o.get("Date",e)+i):"month"===n?o.set("Month",e,o.get("Month",e)+i):"year"===n&&o.set("FullYear",e,o.get("FullYear",e)+i),i=e.getTime()-a),r&&j(t)?a+i:(this.xIncrement=a+i,a)}setDataSortingOptions(){let t=this.options;M(this,{requireSorting:!1,sorted:!1,enabledDataSorting:!0,allowDG:!1}),S(t.pointRange)||(t.pointRange=1)}setOptions(t){var e,i;let s,n=this.chart,r=n.options.plotOptions,o=n.userOptions||{},a=R(t),l=n.styledMode,h={plotOptions:r,userOptions:a};P(this,"setOptions",h);let c=h.plotOptions[this.type],d=o.plotOptions||{},p=d.series||{},f=u.plotOptions[this.type]||{},g=d[this.type]||{};this.userOptions=h.userOptions;let m=R(c,r.series,g,a);this.tooltipOptions=R(u.tooltip,null===(e=u.plotOptions.series)||void 0===e?void 0:e.tooltip,null===f||void 0===f?void 0:f.tooltip,n.userOptions.tooltip,null===(i=d.series)||void 0===i?void 0:i.tooltip,g.tooltip,a.tooltip),this.stickyTracking=B(a.stickyTracking,g.stickyTracking,p.stickyTracking,!!this.tooltipOptions.shared&&!this.noSharedTooltip||m.stickyTracking),null===c.marker&&delete m.marker,this.zoneAxis=m.zoneAxis||"y";let y=this.zones=(m.zones||[]).map((t=>({...t})));return(m.negativeColor||m.negativeFillColor)&&!m.zones&&(s={value:m[this.zoneAxis+"Threshold"]||m.threshold||0,className:"highcharts-negative"},l||(s.color=m.negativeColor,s.fillColor=m.negativeFillColor),y.push(s)),y.length&&S(y[y.length-1].value)&&y.push(l?{}:{color:this.color,fillColor:this.fillColor}),P(this,"afterSetOptions",{options:m}),m}getName(){return B(this.options.name,"Series "+(this.index+1))}getCyclic(t,e,i){let s,n,r=this.chart,o="".concat(t,"Index"),a="".concat(t,"Counter"),l=(null===i||void 0===i?void 0:i.length)||r.options.chart.colorCount;!e&&(S(n=B("color"===t?this.options.colorIndex:void 0,this[o]))?s=n:(r.series.length||(r[a]=0),s=r[a]%l,r[a]+=1),i&&(e=i[s])),void 0!==s&&(this[o]=s),this[t]=e}getColor(){this.chart.styledMode?this.getCyclic("color"):this.options.colorByPoint?this.color="#cccccc":this.getCyclic("color",this.options.color||u.plotOptions[this.type].color,this.chart.options.colors)}getPointsCollection(){return(this.hasGroupedData?this.points:this.data)||[]}getSymbol(){let t=this.options.marker;this.getCyclic("symbol",t.symbol,this.chart.options.symbols)}findPointIndex(t,e){let i,s,n,o=t.id,a=t.x,l=this.points,h=this.options.dataSorting;if(o){let t=this.chart.get(o);t instanceof r&&(i=t)}else if(this.linkedParent||this.enabledDataSorting||this.options.relativeXValue){let e=e=>!e.touched&&e.index===t.index;if(h&&h.matchByName?e=e=>!e.touched&&e.name===t.name:this.options.relativeXValue&&(e=e=>!e.touched&&e.options.x===t.x),!(i=T(l,e)))return}return i&&void 0!==(n=i&&i.index)&&(s=!0),void 0===n&&j(a)&&(n=this.xData.indexOf(a,e)),-1!==n&&void 0!==n&&this.cropped&&(n=n>=this.cropStart?n-this.cropStart:n),!s&&j(n)&&l[n]&&l[n].touched&&(n=void 0),n}updateData(t,e){let i,s,n,r,o=this.options,a=o.dataSorting,l=this.points,h=[],c=this.requireSorting,d=t.length===l.length,u=!0;if(this.xIncrement=null,t.forEach((function(t,e){let s,n=S(t)&&this.pointClass.prototype.optionsToObject.call({series:this},t)||{},u=n.x;n.id||j(u)?(-1===(s=this.findPointIndex(n,r))||void 0===s?h.push(t):l[s]&&t!==o.data[s]?(l[s].update(t,!1,null,!1),l[s].touched=!0,c&&(r=s+1)):l[s]&&(l[s].touched=!0),(!d||e!==s||a&&a.enabled||this.hasDerivedData)&&(i=!0)):h.push(t)}),this),i)for(s=l.length;s--;)(n=l[s])&&!n.touched&&n.remove&&n.remove(!1,e);else!d||a&&a.enabled?u=!1:(t.forEach((function(t,e){t===l[e].y||l[e].destroyed||l[e].update(t,!1,null,!1)})),h.length=0);return l.forEach((function(t){t&&(t.touched=!1)})),!!u&&(h.forEach((function(t){this.addPoint(t,!1,null,null,!1)}),this),null===this.xIncrement&&this.xData&&this.xData.length&&(this.xIncrement=y(this.xData),this.autoIncrement()),!0)}setData(t){let e,i,s,n,r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],o=arguments.length>2?arguments[2]:void 0,a=arguments.length>3?arguments[3]:void 0,l=this,h=l.points,c=h&&h.length||0,d=l.options,u=l.chart,p=d.dataSorting,f=l.xAxis,g=d.turboThreshold,m=this.xData,y=this.yData,x=l.pointArrayMap,v=x&&x.length,b=d.keys,S=0,k=1,w=null;u.options.chart.allowMutatingData||(d.data&&delete l.options.data,l.userOptions.data&&delete l.userOptions.data,n=R(!0,t));let C=(t=n||t||[]).length;if(p&&p.enabled&&(t=this.sortData(t)),u.options.chart.allowMutatingData&&!1!==a&&C&&c&&!l.cropped&&!l.hasGroupedData&&l.visible&&!l.boosted&&(s=this.updateData(t,o)),!s){if(l.xIncrement=null,l.colorCounter=0,this.parallelArrays.forEach((function(t){l[t+"Data"].length=0})),g&&C>g)if(j(w=l.getFirstValidPoint(t)))for(e=0;e=0?S:0,k=k>=0?k:1),1===w.length&&(k=0),S===k)for(e=0;e{let s=O(i,t),n=O(i,e);return ns?1:0})).forEach((function(t,e){t.x=e}),this),e.linkedSeries&&e.linkedSeries.forEach((function(e){let i=e.options,n=i.data;i.dataSorting&&i.dataSorting.enabled||!n||(n.forEach((function(i,r){n[r]=s(e,i),t[r]&&(n[r].x=t[r].x,n[r].index=r)})),e.setData(n,!1))})),t}getProcessedData(t){let e,i,s,n,r,o=this,a=o.xAxis,l=o.options,h=l.cropThreshold,c=t||o.getExtremesFromAll||l.getExtremesFromAll,d=null===a||void 0===a?void 0:a.logarithmic,u=o.isCartesian,p=0,f=o.xData,g=o.yData,m=!1,y=f.length;a&&(n=(s=a.getExtremes()).min,r=s.max,m=!(!a.categories||a.names.length)),u&&o.sorted&&!c&&(!h||y>h||o.forceCrop)&&(f[y-1]r?(f=[],g=[]):o.yData&&(f[0]r)&&(f=(e=this.cropData(o.xData,o.yData,n,r)).xData,g=e.yData,p=e.start,i=!0));let x=E([d?f.map(d.log2lin):f],(()=>o.requireSorting&&!m&&A(15,!1,o.chart)));return{xData:f,yData:g,cropped:i,cropStart:p,closestPointRange:x}}processData(t){let e=this.xAxis;if(this.isCartesian&&!this.isDirty&&!e.isDirty&&!this.yAxis.isDirty&&!t)return!1;let i=this.getProcessedData();this.cropped=i.cropped,this.cropStart=i.cropStart,this.processedXData=i.xData,this.processedYData=i.yData,this.closestPointRange=this.basePointRange=i.closestPointRange,P(this,"afterProcessData")}cropData(t,e,i,s){let n,r,o=t.length,a=0,l=o;for(n=0;n=i){a=Math.max(0,n-1);break}for(r=n;rs){l=r+1;break}return{xData:t.slice(a,l),yData:e.slice(a,l),start:a,end:l}}generatePoints(){let t,e,i,s,n=this.options,r=this.processedData||n.data,o=this.processedXData,a=this.processedYData,l=this.pointClass,h=o.length,c=this.cropStart||0,d=this.hasGroupedData,u=n.keys,p=[],f=n.dataGrouping&&n.dataGrouping.groupAll?c:0,g=this.data;if(!g&&!d){let t=[];t.length=r.length,g=this.data=t}for(u&&d&&(this.options.keys=!1),s=0;s0:o.length)||!f),n=e||this.getExtremesFromAll||this.options.getExtremesFromAll||this.cropped||!h||(d[a+p]||r)>=g&&(d[a-p]||r)<=m,s&&n)if(l=o.length)for(;l--;)j(o[l])&&(u[v++]=o[l]);else u[v++]=o;let S={activeYData:u,dataMin:x(u),dataMax:y(u)};return P(this,"afterGetExtremes",{dataExtremes:S}),S}applyExtremes(){let t=this.getExtremes();return this.dataMin=t.dataMin,this.dataMax=t.dataMax,t}getFirstValidPoint(t){let e=t.length,i=0,s=null;for(;null===s&&i1)&&(r.step=function(t,e){var s;i&&i.apply(e,arguments),"width"===e.prop&&(null===(s=l)||void 0===s?void 0:s.element)&&l.attr(n?"height":"width",t+99)}),a.addClass("highcharts-animating").animate(t,r)}}afterAnimate(){this.setClip(),I(this.chart.sharedClips,((t,e,i)=>{t&&!this.chart.container.querySelector('[clip-path="url(#'.concat(t.id,')"]'))&&(t.destroy(),delete i[e])})),this.finishedAnimating=!0,P(this,"afterAnimate")}drawPoints(){let t,e,i,s,n,r,o,a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.points,l=this.chart,h=l.styledMode,{colorAxis:c,options:d}=this,u=d.marker,p=this[this.specialGroup||"markerGroup"],f=this.xAxis,g=B(u.enabled,!f||!!f.isRadial||null,this.closestPointRangePx>=u.enabledThreshold*u.radius);if(!1!==u.enabled||this._hasPointMarkers)for(t=0;t0||e.hasImage)&&(e.graphic=i=l.renderer.symbol(t,o.x,o.y,o.width,o.height,r?n:u).add(p),this.enabledDataSorting&&l.hasRendered&&(i.attr({x:e.startXPos}),s="animate")),i&&"animate"===s&&i[a?"show":"hide"](a).animate(o),i){let t=this.pointAttribs(e,h||!e.selected?void 0:"select");h?c&&i.css({fill:t.fill}):i[s](t)}i&&i.addClass(e.getClassName(),!0)}else i&&(e.graphic=i.destroy())}markerAttribs(t,e){let i,s,n=this.options,r=n.marker,o=t.marker||{},a=o.symbol||r.symbol,l={},h=B(o.radius,r&&r.radius);e&&(i=r.states[e],h=B((s=o.states&&o.states[e])&&s.radius,i&&i.radius,h&&h+(i&&i.radiusPlus||0))),t.hasImage=a&&0===a.indexOf("url"),t.hasImage&&(h=0);let c=t.pos();return j(h)&&c&&(l.x=c[0]-h,l.y=c[1]-h,n.crisp&&(l.x=Math.floor(l.x))),h&&(l.width=l.height=2*h),l}pointAttribs(t,e){let i,s,n,r,o=this.options.marker,a=t&&t.options,l=a&&a.marker||{},h=a&&a.color,c=t&&t.color,d=t&&t.zone&&t.zone.color,u=this.color,p=B(l.lineWidth,o.lineWidth),f=1;return u=h||d||c||u,n=l.fillColor||o.fillColor||u,r=l.lineColor||o.lineColor||u,e=e||"normal",i=o.states[e]||{},p=B((s=l.states&&l.states[e]||{}).lineWidth,i.lineWidth,p+B(s.lineWidthPlus,i.lineWidthPlus,0)),n=s.fillColor||i.fillColor||n,{stroke:r=s.lineColor||i.lineColor||r,"stroke-width":p,fill:n,opacity:f=B(s.opacity,i.opacity,f)}}destroy(t){let e,i,s,n=this,r=n.chart,o=/AppleWebKit\/533/.test(g.navigator.userAgent),a=n.data||[];for(P(n,"destroy",{keepEventsForUpdate:t}),this.removeEvents(t),(n.axisTypes||[]).forEach((function(t){(s=n[t])&&s.series&&(C(s.series,n),s.isDirty=s.forceRedraw=!0)})),n.legendItem&&n.chart.legend.destroyItem(n),e=a.length;e--;)(i=a[e])&&i.destroy&&i.destroy();for(let l of n.zones)k(l,void 0,!0);h.clearTimeout(n.animationTimeout),I(n,(function(t,e){t instanceof l&&!t.survive&&t[o&&"group"===e?"hide":"destroy"]()})),r.hoverSeries===n&&(r.hoverSeries=void 0),C(r.series,n),r.orderItems("series"),I(n,(function(e,i){t&&"hcEvents"===i||delete n[i]}))}applyZones(){let{area:t,chart:e,graph:i,zones:s,points:n,xAxis:r,yAxis:o,zoneAxis:a}=this,{inverted:l,renderer:h}=e,c=this["".concat(a,"Axis")],{isXAxis:d,len:u=0}=c||{},p=((null===i||void 0===i?void 0:i.strokeWidth())||0)/2+1,f=function(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;l&&(i=u-i);let{translated:s=0,lineClip:n}=t,r=i-s;null===n||void 0===n||n.push(["L",e,Math.abs(r){t.forEach(((e,i)=>{("M"===e[0]||"L"===e[0])&&(t[i]=[e[0],d?u-e[1]:e[1],d?e[2]:u-e[2]])}))};if(s.forEach((t=>{t.lineClip=[],t.translated=v(c.toPixels(B(t.value,e),!0)||0,0,u)})),i&&!this.showLine&&i.hide(),t&&t.hide(),"y"===a&&n.length{var s,n,a;let c=e.lineClip||[],u=Math.round(e.translated||0);r.reversed&&c.reverse();let{clip:f,simpleClip:y}=e,x=0,v=0,b=r.len,S=o.len;d?(x=u,b=m):(v=u,S=m);let k=[["M",x,v],["L",b,v],["L",b,S],["L",x,S],["Z"]],w=[k[0],...c,k[1],k[2],...g,k[3],k[4]];g=c.reverse(),m=u,l&&(p(w),t&&p(k)),f?(f.animate({d:w}),null===(s=y)||void 0===s||s.animate({d:k})):(f=e.clip=h.path(w),t&&(y=e.simpleClip=h.path(k))),i&&null!==(n=e.graph)&&void 0!==n&&n.clip(f),t&&(null===(a=e.area)||void 0===a||a.clip(y))}))}else this.visible&&(i&&i.show(),t&&t.show())}plotGroup(t,e,i,s,n){let r=this[t],o=!r,a={visibility:i,zIndex:s||.1};return S(this.opacity)&&!this.chart.styledMode&&"inactive"!==this.state&&(a.opacity=this.opacity),r||(this[t]=r=this.chart.renderer.g().add(n)),r.addClass("highcharts-"+e+" highcharts-series-"+this.index+" highcharts-"+this.type+"-series "+(S(this.colorIndex)?"highcharts-color-"+this.colorIndex+" ":"")+(this.options.className||"")+(r.hasClass("highcharts-tracker")?" highcharts-tracker":""),!0),r.attr(a)[o?"attr":"animate"](this.getPlotBox(e)),r}getPlotBox(t){let e=this.xAxis,i=this.yAxis,s=this.chart,n=s.inverted&&!s.polar&&e&&this.invertible&&"series"===t;return s.inverted&&(e=i,i=this.xAxis),{translateX:e?e.left:s.plotLeft,translateY:i?i.top:s.plotTop,rotation:n?90:0,rotationOriginX:n?(e.len-i.len)/2:0,rotationOriginY:n?(e.len+i.len)/2:0,scaleX:n?-1:1,scaleY:1}}removeEvents(t){let{eventsToUnbind:e}=this;t||_(this),e.length&&(e.forEach((t=>{t()})),e.length=0)}render(){var t,e,i,s,n;let r=this,{chart:o,options:a,hasRendered:l}=r,h=c(a.animation),d=r.visible?"inherit":"hidden",u=a.zIndex,p=o.seriesGroup,f=r.finishedAnimating?0:h.duration;P(this,"render"),r.plotGroup("group","series",d,u,p),r.markerGroup=r.plotGroup("markerGroup","markers",d,u,p),!1!==a.clip&&r.setClip(),f&&null!==(t=r.animate)&&void 0!==t&&t.call(r,!0),r.drawGraph&&(r.drawGraph(),r.applyZones()),r.visible&&r.drawPoints(),null!==(e=r.drawDataLabels)&&void 0!==e&&e.call(r),null!==(i=r.redrawPoints)&&void 0!==i&&i.call(r),a.enableMouseTracking&&null!==(s=r.drawTracker)&&void 0!==s&&s.call(r),f&&null!==(n=r.animate)&&void 0!==n&&n.call(r),l||(f&&h.defer&&(f+=h.defer),r.animationTimeout=W((()=>{r.afterAnimate()}),f||0)),r.isDirty=!1,r.hasRendered=!0,P(r,"afterRender")}redraw(){let t=this.isDirty||this.isDirtyData;this.translate(),this.render(),t&&delete this.kdTree}reserveSpace(){return this.visible||!this.chart.options.chart.ignoreHiddenSeries}searchPoint(t,e){let{xAxis:i,yAxis:s}=this,n=this.chart.inverted;return this.searchKDTree({clientX:n?i.len-t.chartY+i.pos:t.chartX-i.pos,plotY:n?s.len-t.chartX+s.pos:t.chartY-s.pos},e,t)}buildKDTree(t){this.buildingKdTree=!0;let e=this,i=e.options.findNearestPointBy.indexOf("y")>-1?2:1;delete e.kdTree,W((function(){e.kdTree=function t(i,s,n){let r,o,a=null===i||void 0===i?void 0:i.length;if(a)return r=e.kdAxisArray[s%n],i.sort(((t,e)=>(t[r]||0)-(e[r]||0))),{point:i[o=Math.floor(a/2)],left:t(i.slice(0,o),s+1,n),right:t(i.slice(o+1),s+1,n)}}(e.getValidPoints(void 0,!e.directTouch),i,i),e.buildingKdTree=!1}),e.options.kdNow||"touchstart"===(null===t||void 0===t?void 0:t.type)?0:1)}searchKDTree(t,e,i){let s=this,[n,r]=this.kdAxisArray,o=e?"distX":"dist",a=(s.options.findNearestPointBy||"").indexOf("y")>-1?2:1,l=!!s.isBubble;if(this.kdTree||this.buildingKdTree||this.buildKDTree(i),this.kdTree)return function t(e,i,a,h,c){let d,u,p=i.point,f=s.kdAxisArray[a%h],g=p;!function(t,e,i){let s=t[n],o=e[n],a=S(s)&&S(o)?s-o:null,h=t[r],c=e[r],d=S(h)&&S(c)?h-c:0,u=l&&(null===(i=e.marker)||void 0===i?void 0:i.radius)||0;e.dist=Math.sqrt((a&&a*a||0)+d*d)-u,e.distX=S(a)?Math.abs(a)-u:Number.MAX_VALUE}(e,p);let m=(e[f]||0)-(p[f]||0)+(l&&(null===(c=p.marker)||void 0===c?void 0:c.radius)||0),y=m<0?"left":"right",x=m<0?"right":"left";return i[y]&&(g=(d=t(e,i[y],a+1,h))[o]=0&&r<=(s?s.len:e.plotHeight)&&n>=0&&n<=(i?i.len:e.plotWidth)}drawTracker(){var t;let e=this,i=e.options,s=i.trackByArea,n=[].concat((s?e.areaPath:e.graphPath)||[]),r=e.chart,o=r.pointer,a=r.renderer,l=(null===(t=r.options.tooltip)||void 0===t?void 0:t.snap)||0,h=()=>{i.enableMouseTracking&&r.hoverSeries!==e&&e.onMouseOver()},c="rgba(192,192,192,"+(f?1e-4:.002)+")",d=e.tracker;d?d.attr({d:n}):e.graph&&(e.tracker=d=a.path(n).attr({visibility:e.visible?"inherit":"hidden",zIndex:2}).addClass(s?"highcharts-tracker-area":"highcharts-tracker-line").add(e.group),r.styledMode||d.attr({"stroke-linecap":"round","stroke-linejoin":"round",stroke:c,fill:s?c:"none","stroke-width":e.graph.strokeWidth()+(s?0:2*l)}),[e.tracker,e.markerGroup,e.dataLabelsGroup].forEach((t=>{t&&(t.addClass("highcharts-tracker").on("mouseover",h).on("mouseout",(t=>{null===o||void 0===o||o.onTrackerMouseOut(t)})),i.cursor&&!r.styledMode&&t.css({cursor:i.cursor}),t.on("touchstart",h))}))),P(this,"afterDrawTracker")}addPoint(t,e,i,s,n){let r,o,a=this.options,l=this.data,h=this.chart,c=this.xAxis,d=c&&c.hasNames&&c.names,u=a.data,p=this.xData;e=B(e,!0);let f={series:this};this.pointClass.prototype.applyOptions.apply(f,[t]);let g=f.x;if(o=p.length,this.requireSorting&&gg;)o--;this.updateParallelArrays(f,"splice",[o,0,0]),this.updateParallelArrays(f,o),d&&f.name&&(d[g]=f.name),u.splice(o,0,t),(r||this.processedData)&&(this.data.splice(o,0,null),this.processData()),"point"===a.legendType&&this.generatePoints(),i&&(l[0]&&l[0].remove?l[0].remove(!1):(l.shift(),this.updateParallelArrays(f,"shift"),u.shift())),!1!==n&&P(this,"addPoint",{point:f}),this.isDirty=!0,this.isDirtyData=!0,e&&h.redraw(s)}removePoint(t,e,i){let s=this,n=s.data,r=n[t],o=s.points,a=s.chart,l=function(){o&&o.length===n.length&&o.splice(t,1),n.splice(t,1),s.options.data.splice(t,1),s.updateParallelArrays(r||{series:s},"splice",[t,1]),r&&r.destroy(),s.isDirty=!0,s.isDirtyData=!0,e&&a.redraw()};d(i,a),e=B(e,!0),r?r.firePointEvent("remove",null,l):l()}remove(t,e,i,s){let n=this,r=n.chart;function o(){n.destroy(s),r.isDirtyLegend=r.isDirtyBox=!0,r.linkSeries(s),B(t,!0)&&r.redraw(e)}!1!==i?P(n,"remove",null,o):o()}update(t,e){var i,s,n,r;P(this,"update",{options:t=w(t,this.userOptions)});let o,a,l=this,h=l.chart,c=l.userOptions,d=l.initialType||l.type,u=h.options.plotOptions,p=m[d].prototype,f=l.finishedAnimating&&{animation:!1},g={},y=["colorIndex","eventOptions","navigatorSeries","symbolIndex","baseSeries"],x=t.type||c.type||h.options.chart.type,v=!(this.hasDerivedData||x&&x!==this.type||void 0!==t.pointStart||void 0!==t.pointInterval||void 0!==t.relativeXValue||t.joinBy||t.mapData||["dataGrouping","pointStart","pointInterval","pointIntervalUnit","keys"].some((t=>l.hasOptionChanged(t))));x=x||d,v&&(y.push("data","isDirtyData","isDirtyCanvas","points","processedData","processedXData","processedYData","xIncrement","cropped","_hasPointMarkers","hasDataLabels","nodes","layout","level","mapMap","mapData","minY","maxY","minX","maxX","transformGroups"),!1!==t.visible&&y.push("area","graph"),l.parallelArrays.forEach((function(t){y.push(t+"Data")})),t.data&&(t.dataSorting&&M(l.options.dataSorting,t.dataSorting),this.setData(t.data,!1))),t=R(c,{index:void 0===c.index?l.index:c.index,pointStart:null!==(i=null!==(s=null===u||void 0===u||null===(n=u.series)||void 0===n?void 0:n.pointStart)&&void 0!==s?s:c.pointStart)&&void 0!==i?i:null===(r=l.xData)||void 0===r?void 0:r[0]},!v&&{data:l.options.data},t,f),v&&t.data&&(t.data=l.options.data),(y=["group","markerGroup","dataLabelsGroup","transformGroup"].concat(y)).forEach((function(t){y[t]=l[t],delete l[t]}));let b=!1;if(m[x]){if(b=x!==l.type,l.remove(!1,!1,!1,!0),b)if(h.propFromSeries(),Object.setPrototypeOf)Object.setPrototypeOf(l,m[x].prototype);else{let t=Object.hasOwnProperty.call(l,"hcEvents")&&l.hcEvents;for(a in p)l[a]=void 0;M(l,m[x].prototype),t?l.hcEvents=t:delete l.hcEvents}}else A(17,!0,h,{missingModuleFor:x});if(y.forEach((function(t){l[t]=y[t]})),l.init(h,t),v&&this.points)for(let m of(!1===(o=l.options).visible?(g.graphic=1,g.dataLabel=1):(this.hasMarkerChanged(o,c)&&(g.graphic=1),(null===(S=l.hasDataLabels)||void 0===S?void 0:S.call(l))||(g.dataLabel=1)),this.points)){var S;m&&m.series&&(m.resolveColor(),Object.keys(g).length&&m.destroyElements(g),!1===o.showInLegend&&m.legendItem&&h.legend.destroyItem(m))}l.initialType=d,h.linkSeries(),h.setSortedData(),b&&l.linkedSeries.length&&(l.isDirtyData=!0),P(this,"afterUpdate"),B(e,!0)&&h.redraw(!!v&&void 0)}setName(t){this.name=this.options.name=this.userOptions.name=t,this.chart.isDirtyLegend=!0}hasOptionChanged(t){var e,i;let s=this.chart,n=this.options[t],r=s.options.plotOptions,o=this.userOptions[t],a=B(null===r||void 0===r||null===(e=r[this.type])||void 0===e?void 0:e[t],null===r||void 0===r||null===(i=r.series)||void 0===i?void 0:i[t]);return o&&!S(a)?n!==o:n!==B(a,n)}onMouseOver(){let t=this.chart,e=t.hoverSeries,i=t.pointer;null!==i&&void 0!==i&&i.setHoverChartIndex(),e&&e!==this&&e.onMouseOut(),this.options.events.mouseOver&&P(this,"mouseOver"),this.setState("hover"),t.hoverSeries=this}onMouseOut(){let t=this.options,e=this.chart,i=e.tooltip,s=e.hoverPoint;e.hoverSeries=null,s&&s.onMouseOut(),this&&t.events.mouseOut&&P(this,"mouseOut"),i&&!this.stickyTracking&&(!i.shared||this.noSharedTooltip)&&i.hide(),e.series.forEach((function(t){t.setState("",!0)}))}setState(t,e){let i=this,s=i.options,n=i.graph,r=s.inactiveOtherPoints,o=s.states,a=B(o[t||"normal"]&&o[t||"normal"].animation,i.chart.options.chart.animation),l=s.lineWidth,h=s.opacity;if(t=t||"",i.state!==t&&([i.group,i.markerGroup,i.dataLabelsGroup].forEach((function(e){e&&(i.state&&e.removeClass("highcharts-series-"+i.state),t&&e.addClass("highcharts-series-"+t))})),i.state=t,!i.chart.styledMode)){if(o[t]&&!1===o[t].enabled)return;if(t&&(l=o[t].lineWidth||l+(o[t].lineWidthPlus||0),h=B(o[t].opacity,h)),n&&!n.dashstyle&&j(l))for(let t of[n,...this.zones.map((t=>t.graph))])null===t||void 0===t||t.animate({"stroke-width":l},a);r||[i.group,i.markerGroup,i.dataLabelsGroup,i.labelBySeries].forEach((function(t){t&&t.animate({opacity:h},a)}))}e&&r&&i.points&&i.setAllPointsToState(t||void 0)}setAllPointsToState(t){this.points.forEach((function(e){e.setState&&e.setState(t)}))}setVisible(t,e){var i;let s=this,n=s.chart,r=n.options.chart.ignoreHiddenSeries,o=s.visible;s.visible=t=s.options.visible=s.userOptions.visible=void 0===t?!o:t;let a=t?"show":"hide";["group","dataLabelsGroup","markerGroup","tracker","tt"].forEach((t=>{var e;null===(e=s[t])||void 0===e||e[a]()})),(n.hoverSeries===s||(null===(i=n.hoverPoint)||void 0===i?void 0:i.series)===s)&&s.onMouseOut(),s.legendItem&&n.legend.colorizeItem(s,t),s.isDirty=!0,s.options.stacking&&n.series.forEach((t=>{t.options.stacking&&t.visible&&(t.isDirty=!0)})),s.linkedSeries.forEach((e=>{e.setVisible(t,!1)})),r&&(n.isDirtyBox=!0),P(s,a),!1!==e&&n.redraw()}show(){this.setVisible(!0)}hide(){this.setVisible(!1)}select(t){this.selected=t=this.options.selected=void 0===t?!this.selected:t,this.checkbox&&(this.checkbox.checked=t),P(this,t?"select":"unselect")}shouldShowTooltip(t,e){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return i.series=this,i.visiblePlotOnly=!0,this.chart.isInsidePlot(t,e,i)}drawLegendSymbol(t,e){var i;null===(i=n[this.options.legendSymbol||"rectangle"])||void 0===i||i.call(this,t,e)}}return F.defaultOptions=o,F.types=a.seriesTypes,F.registerType=a.registerSeriesType,M(F.prototype,{axisTypes:["xAxis","yAxis"],coll:"series",colorCounter:0,directTouch:!1,invertible:!0,isCartesian:!0,kdAxisArray:["clientX","plotY"],parallelArrays:["x","y"],pointClass:r,requireSorting:!0,sorted:!0}),a.series=F,F})),i(e,"Core/Chart/Chart.js",[e["Core/Animation/AnimationUtilities.js"],e["Core/Axis/Axis.js"],e["Core/Defaults.js"],e["Core/Templating.js"],e["Core/Foundation.js"],e["Core/Globals.js"],e["Core/Renderer/RendererRegistry.js"],e["Core/Series/Series.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Renderer/SVG/SVGRenderer.js"],e["Core/Time.js"],e["Core/Utilities.js"],e["Core/Renderer/HTML/AST.js"],e["Core/Axis/Tick.js"]],(function(t,e,i,s,n,r,o,a,l,h,c,d,u,p){let{animate:f,animObject:g,setAnimation:m}=t,{defaultOptions:y,defaultTime:x}=i,{numberFormat:v}=s,{registerEventOptions:b}=n,{charts:S,doc:k,marginNames:w,svg:C,win:A}=r,{seriesTypes:M}=l,{addEvent:T,attr:P,createElement:E,css:O,defined:L,diffObjects:D,discardElement:j,erase:N,error:R,extend:I,find:B,fireEvent:_,getStyle:z,isArray:W,isNumber:F,isObject:G,isString:X,merge:H,objectEach:U,pick:Y,pInt:V,relativeLength:q,removeEvent:K,splat:$,syncTimeout:Z,uniqueKey:Q}=d;class J{static chart(t,e,i){return new J(t,e,i)}constructor(t,e,i){this.sharedClips={};let s=[...arguments];(X(t)||t.nodeName)&&(this.renderTo=s.shift()),this.init(s[0],s[1])}setZoomOptions(){let t=this.options.chart,e=t.zooming;this.zooming={...e,type:Y(t.zoomType,e.type),key:Y(t.zoomKey,e.key),pinchType:Y(t.pinchType,e.pinchType),singleTouch:Y(t.zoomBySingleTouch,e.singleTouch,!1),resetButton:H(e.resetButton,t.resetZoomButton)}}init(t,e){_(this,"init",{args:arguments},(function(){let i=H(y,t),s=i.chart;this.userOptions=I({},t),this.margin=[],this.spacing=[],this.labelCollectors=[],this.callback=e,this.isResizing=0,this.options=i,this.axes=[],this.series=[],this.time=t.time&&Object.keys(t.time).length?new c(t.time):r.time,this.numberFormatter=s.numberFormatter||v,this.styledMode=s.styledMode,this.hasCartesianSeries=s.showAxes,this.index=S.length,S.push(this),r.chartCount++,b(this,s),this.xAxis=[],this.yAxis=[],this.pointCount=this.colorCounter=this.symbolCounter=0,this.setZoomOptions(),_(this,"afterInit"),this.firstRender()}))}initSeries(t){let e=this.options.chart,i=t.type||e.type,s=M[i];s||R(17,!0,this,{missingModuleFor:i});let n=new s;return"function"==typeof n.init&&n.init(this,t),n}setSortedData(){this.getSeriesOrderByLinks().forEach((function(t){t.points||t.data||!t.enabledDataSorting||t.setData(t.options.data,!1)}))}getSeriesOrderByLinks(){return this.series.concat().sort((function(t,e){return t.linkedSeries.length||e.linkedSeries.length?e.linkedSeries.length-t.linkedSeries.length:0}))}orderItems(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,i=this[t],s=this.options[t]=$(this.options[t]).slice(),n=this.userOptions[t]=this.userOptions[t]?$(this.userOptions[t]).slice():[];if(this.hasRendered&&(s.splice(e),n.splice(e)),i)for(let r=e,o=i.length;r2&&void 0!==arguments[2]?arguments[2]:{},{inverted:n,plotBox:r,plotLeft:o,plotTop:a,scrollablePlotBox:l}=this,{scrollLeft:h=0,scrollTop:c=0}=s.visiblePlotOnly&&(null===(i=this.scrollablePlotArea)||void 0===i?void 0:i.scrollingContainer)||{},d=s.series,u=s.visiblePlotOnly&&l||r,p=s.inverted?e:t,f=s.inverted?t:e,g={x:p,y:f,isInsidePlot:!0,options:s};if(!s.ignoreX){let t=d&&(n&&!this.polar?d.yAxis:d.xAxis)||{pos:o,len:1/0},e=s.paneCoordinates?t.pos+p:o+p;e>=Math.max(h+o,t.pos)&&e<=Math.min(h+o+u.width,t.pos+t.len)||(g.isInsidePlot=!1)}if(!s.ignoreY&&g.isInsidePlot){let t=!n&&s.axis&&!s.axis.isXAxis&&s.axis||d&&(n?d.xAxis:d.yAxis)||{pos:a,len:1/0},e=s.paneCoordinates?t.pos+f:a+f;e>=Math.max(c+a,t.pos)&&e<=Math.min(c+a+u.height,t.pos+t.len)||(g.isInsidePlot=!1)}return _(this,"afterIsInsidePlot",g),g.isInsidePlot}redraw(t){_(this,"beforeRedraw");let e,i,s,n,r=this.hasCartesianSeries?this.axes:this.colorAxis||[],o=this.series,a=this.pointer,l=this.legend,h=this.userOptions.legend,c=this.renderer,d=c.isHidden(),u=[],p=this.isDirtyBox,f=this.isDirtyLegend;for(c.rootFontSize=c.boxWrapper.getStyle("font-size"),this.setResponsive&&this.setResponsive(!1),m(!!this.hasRendered&&t,this),d&&this.temporaryDisplay(),this.layOutTitles(!1),s=o.length;s--;)if(((n=o[s]).options.stacking||n.options.centerInCategory)&&(i=!0,n.isDirty)){e=!0;break}if(e)for(s=o.length;s--;)(n=o[s]).options.stacking&&(n.isDirty=!0);o.forEach((function(t){t.isDirty&&("point"===t.options.legendType?("function"==typeof t.updateTotals&&t.updateTotals(),f=!0):h&&(h.labelFormatter||h.labelFormat)&&(f=!0)),t.isDirtyData&&_(t,"updatedData")})),f&&l&&l.options.enabled&&(l.render(),this.isDirtyLegend=!1),i&&this.getStacks(),r.forEach((function(t){t.updateNames(),t.setScale()})),this.getMargins(),r.forEach((function(t){t.isDirty&&(p=!0)})),r.forEach((function(t){let e=t.min+","+t.max;t.extKey!==e&&(t.extKey=e,u.push((function(){_(t,"afterSetExtremes",I(t.eventArgs,t.getExtremes())),delete t.eventArgs}))),(p||i)&&t.redraw()})),p&&this.drawChartBox(),_(this,"predraw"),o.forEach((function(t){(p||t.isDirty)&&t.visible&&t.redraw(),t.isDirtyData=!1})),a&&a.reset(!0),c.draw(),_(this,"redraw"),_(this,"render"),d&&this.temporaryDisplay(!0),u.forEach((function(t){t.call()}))}get(t){let e=this.series;function i(e){return e.id===t||e.options&&e.options.id===t}let s=B(this.axes,i)||B(this.series,i);for(let n=0;!s&&n(e.getPointsCollection().forEach((e=>{Y(e.selectedStaging,e.selected)&&t.push(e)})),t)),[])}getSelectedSeries(){return this.series.filter((function(t){return t.selected}))}setTitle(t,e,i){this.applyDescription("title",t),this.applyDescription("subtitle",e),this.applyDescription("caption",void 0),this.layOutTitles(i)}applyDescription(t,e){let i=this,s=this.options[t]=H(this.options[t],e),n=this[t];n&&e&&(this[t]=n=n.destroy()),s&&!n&&((n=this.renderer.text(s.text,0,0,s.useHTML).attr({align:s.align,class:"highcharts-"+t,zIndex:s.zIndex||4}).add()).update=function(e,s){i.applyDescription(t,e),i.layOutTitles(s)},this.styledMode||n.css(I("title"===t?{fontSize:this.options.isStock?"1em":"1.2em"}:{},s.style)),this[t]=n)}layOutTitles(){let t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],e=[0,0,0],i=this.renderer,s=this.spacingBox;["title","subtitle","caption"].forEach((function(t){let n=this[t],r=this.options[t],o=r.verticalAlign||"top",a="title"===t?"top"===o?-3:0:"top"===o?e[0]+2:0;if(n){n.css({width:(r.width||s.width+(r.widthAdjust||0))+"px"});let t=i.fontMetrics(n).b,l=Math.round(n.getBBox(r.useHTML).height);n.align(I({y:"bottom"===o?t:a+t,height:l},r),!1,"spacingBox"),r.floating||("top"===o?e[0]=Math.ceil(e[0]+l):"bottom"===o&&(e[2]=Math.ceil(e[2]+l)))}}),this),e[0]&&"top"===(this.options.title.verticalAlign||"top")&&(e[0]+=this.options.title.margin),e[2]&&"bottom"===this.options.caption.verticalAlign&&(e[2]+=this.options.caption.margin);let n=!this.titleOffset||this.titleOffset.join(",")!==e.join(",");this.titleOffset=e,_(this,"afterLayOutTitles"),!this.isDirtyBox&&n&&(this.isDirtyBox=this.isDirtyLegend=n,this.hasRendered&&t&&this.isDirtyBox&&this.redraw())}getContainerBox(){return{width:z(this.renderTo,"width",!0)||0,height:z(this.renderTo,"height",!0)||0}}getChartSize(){let t=this.options.chart,e=t.width,i=t.height,s=this.getContainerBox();this.chartWidth=Math.max(0,e||s.width||600),this.chartHeight=Math.max(0,q(i,this.chartWidth)||(s.height>1?s.height:400)),this.containerBox=s}temporaryDisplay(t){let e,i=this.renderTo;if(t)for(;i&&i.style;)i.hcOrigStyle&&(O(i,i.hcOrigStyle),delete i.hcOrigStyle),i.hcOrigDetached&&(k.body.removeChild(i),i.hcOrigDetached=!1),i=i.parentNode;else for(;i&&i.style&&(k.body.contains(i)||i.parentNode||(i.hcOrigDetached=!0,k.body.appendChild(i)),("none"===z(i,"display",!1)||i.hcOricDetached)&&(i.hcOrigStyle={display:i.style.display,height:i.style.height,overflow:i.style.overflow},e={display:"block",overflow:"hidden"},i!==this.renderTo&&(e.height=0),O(i,e),i.offsetWidth||i.style.setProperty("display","block","important")),(i=i.parentNode)!==k.body););}setClassName(t){this.container.className="highcharts-container "+(t||"")}getContainer(){var t;let e,i=this.options,s=i.chart,n="data-highcharts-chart",r=Q(),a=this.renderTo;a||(this.renderTo=a=s.renderTo),X(a)&&(this.renderTo=a=k.getElementById(a)),a||R(13,!0,this);let l=V(P(a,n));F(l)&&S[l]&&S[l].hasRendered&&S[l].destroy(),P(a,n,this.index),a.innerHTML=u.emptyHTML,s.skipClone||a.offsetWidth||this.temporaryDisplay(),this.getChartSize();let c=this.chartHeight,d=this.chartWidth;O(a,{overflow:"hidden"}),this.styledMode||(e=I({position:"relative",overflow:"hidden",width:d+"px",height:c+"px",textAlign:"left",lineHeight:"normal",zIndex:0,"-webkit-tap-highlight-color":"rgba(0,0,0,0)",userSelect:"none","touch-action":"manipulation",outline:"none"},s.style||{}));let p=E("div",{id:r},e,a);this.container=p,this.getChartSize(),d===this.chartWidth||(d=this.chartWidth,this.styledMode||O(p,{width:Y(null===(t=s.style)||void 0===t?void 0:t.width,d+"px")})),this.containerBox=this.getContainerBox(),this._cursor=p.style.cursor;let f=s.renderer||!C?o.getRendererType(s.renderer):h;if(this.renderer=new f(p,d,c,void 0,s.forExport,i.exporting&&i.exporting.allowHTML,this.styledMode),m(void 0,this),this.setClassName(s.className),this.styledMode)for(let o in i.defs)this.renderer.definition(i.defs[o]);else this.renderer.setStyle(s.style);this.renderer.chartIndex=this.index,_(this,"afterGetContainer")}getMargins(t){let{spacing:e,margin:i,titleOffset:s}=this;this.resetMargins(),s[0]&&!L(i[0])&&(this.plotTop=Math.max(this.plotTop,s[0]+e[0])),s[2]&&!L(i[2])&&(this.marginBottom=Math.max(this.marginBottom,s[2]+e[2])),this.legend&&this.legend.display&&this.legend.adjustMargins(i,e),_(this,"getMargins"),t||this.getAxisMargins()}getAxisMargins(){let t=this,e=t.axisOffset=[0,0,0,0],i=t.colorAxis,s=t.margin,n=function(t){t.forEach((function(t){t.visible&&t.getOffset()}))};t.hasCartesianSeries?n(t.axes):i&&i.length&&n(i),w.forEach((function(i,n){L(s[n])||(t[i]+=e[n])})),t.setChartSize()}getOptions(){return D(this.userOptions,y)}reflow(t){var e;let i=this,s=i.containerBox,n=i.getContainerBox();null===(e=i.pointer)||void 0===e||delete e.chartPosition,!i.isPrinting&&!i.isResizing&&s&&n.width&&((n.width!==s.width||n.height!==s.height)&&(d.clearTimeout(i.reflowTimeout),i.reflowTimeout=Z((function(){i.container&&i.setSize(void 0,void 0,!1)}),t?100:0)),i.containerBox=n)}setReflow(){let t=this,e=e=>{var i;(null===(i=t.options)||void 0===i?void 0:i.chart.reflow)&&t.hasLoaded&&t.reflow(e)};if("function"==typeof ResizeObserver)new ResizeObserver(e).observe(t.renderTo);else{let t=T(A,"resize",e);T(this,"destroy",t)}}setSize(t,e,i){let s=this,n=s.renderer;s.isResizing+=1,m(i,s);let r=n.globalAnimation;s.oldChartHeight=s.chartHeight,s.oldChartWidth=s.chartWidth,void 0!==t&&(s.options.chart.width=t),void 0!==e&&(s.options.chart.height=e),s.getChartSize();let{chartWidth:o,chartHeight:a,scrollablePixelsX:l=0,scrollablePixelsY:h=0}=s;(s.isDirtyBox||o!==s.oldChartWidth||a!==s.oldChartHeight)&&(s.styledMode||(r?f:O)(s.container,{width:"".concat(o+l,"px"),height:"".concat(a+h,"px")},r),s.setChartSize(!0),n.setSize(o,a,r),s.axes.forEach((function(t){t.isDirty=!0,t.setScale()})),s.isDirtyLegend=!0,s.isDirtyBox=!0,s.layOutTitles(),s.getMargins(),s.redraw(r),s.oldChartHeight=void 0,_(s,"resize"),setTimeout((()=>{s&&_(s,"endResize",void 0,(()=>{s.isResizing-=1}))}),g(r).duration))}setChartSize(t){let e,i,s,n,r=this.inverted,o=this.renderer,a=this.chartWidth,l=this.chartHeight,h=this.options.chart,c=this.spacing,d=this.clipOffset;this.plotLeft=e=Math.round(this.plotLeft),this.plotTop=i=Math.round(this.plotTop),this.plotWidth=s=Math.max(0,Math.round(a-e-this.marginRight)),this.plotHeight=n=Math.max(0,Math.round(l-i-this.marginBottom)),this.plotSizeX=r?n:s,this.plotSizeY=r?s:n,this.plotBorderWidth=h.plotBorderWidth||0,this.spacingBox=o.spacingBox={x:c[3],y:c[0],width:a-c[3]-c[1],height:l-c[0]-c[2]},this.plotBox=o.plotBox={x:e,y:i,width:s,height:n};let u=2*Math.floor(this.plotBorderWidth/2),p=Math.ceil(Math.max(u,d[3])/2),f=Math.ceil(Math.max(u,d[0])/2);this.clipBox={x:p,y:f,width:Math.floor(this.plotSizeX-Math.max(u,d[1])/2-p),height:Math.max(0,Math.floor(this.plotSizeY-Math.max(u,d[2])/2-f))},t||(this.axes.forEach((function(t){t.setAxisSize(),t.setAxisTranslation()})),o.alignElements()),_(this,"afterSetChartSize",{skipAxes:t})}resetMargins(){_(this,"resetMargins");let t=this,e=t.options.chart;["margin","spacing"].forEach((function(i){let s=e[i],n=G(s)?s:[s,s,s,s];["Top","Right","Bottom","Left"].forEach((function(s,r){t[i][r]=Y(e[i+s],n[r])}))})),w.forEach((function(e,i){t[e]=Y(t.margin[i],t.spacing[i])})),t.axisOffset=[0,0,0,0],t.clipOffset=[0,0,0,0]}drawChartBox(){let t,e,i,s=this.options.chart,n=this.renderer,r=this.chartWidth,o=this.chartHeight,a=this.styledMode,l=this.plotBGImage,h=s.backgroundColor,c=s.plotBackgroundColor,d=s.plotBackgroundImage,u=this.plotLeft,p=this.plotTop,f=this.plotWidth,g=this.plotHeight,m=this.plotBox,y=this.clipRect,x=this.clipBox,v=this.chartBackground,b=this.plotBackground,S=this.plotBorder,k="animate";v||(this.chartBackground=v=n.rect().addClass("highcharts-background").add(),k="attr"),a?t=e=v.strokeWidth():(e=(t=s.borderWidth||0)+(s.shadow?8:0),i={fill:h||"none"},(t||v["stroke-width"])&&(i.stroke=s.borderColor,i["stroke-width"]=t),v.attr(i).shadow(s.shadow)),v[k]({x:e/2,y:e/2,width:r-e-t%2,height:o-e-t%2,r:s.borderRadius}),k="animate",b||(k="attr",this.plotBackground=b=n.rect().addClass("highcharts-plot-background").add()),b[k](m),!a&&(b.attr({fill:c||"none"}).shadow(s.plotShadow),d&&(l?(d!==l.attr("href")&&l.attr("href",d),l.animate(m)):this.plotBGImage=n.image(d,u,p,f,g).add())),y?y.animate({width:x.width,height:x.height}):this.clipRect=n.clipRect(x),k="animate",S||(k="attr",this.plotBorder=S=n.rect().addClass("highcharts-plot-border").attr({zIndex:1}).add()),a||S.attr({stroke:s.plotBorderColor,"stroke-width":s.plotBorderWidth||0,fill:"none"}),S[k](S.crisp({x:u,y:p,width:f,height:g},-S.strokeWidth())),this.isDirtyBox=!1,_(this,"afterDrawChartBox")}propFromSeries(){let t,e,i,s=this,n=s.options.chart,r=s.options.series;["inverted","angular","polar"].forEach((function(o){for(e=M[n.type],i=n[o]||e&&e.prototype[o],t=r&&r.length;!i&&t--;)(e=M[r[t].type])&&e.prototype[o]&&(i=!0);s[o]=i}))}linkSeries(t){let e=this,i=e.series;i.forEach((function(t){t.linkedSeries.length=0})),i.forEach((function(t){let{linkedTo:i}=t.options;if(X(i)){let s;(s=":previous"===i?e.series[t.index-1]:e.get(i))&&s.linkedParent!==t&&(s.linkedSeries.push(t),t.linkedParent=s,s.enabledDataSorting&&t.setDataSortingOptions(),t.visible=Y(t.options.visible,s.options.visible,t.visible))}})),_(this,"afterLinkSeries",{isUpdating:t})}renderSeries(){this.series.forEach((function(t){t.translate(),t.render()}))}render(){let t,e=this.axes,i=this.colorAxis,s=this.renderer,n=this.options.chart.axisLayoutRuns||2,r=t=>{t.forEach((t=>{t.visible&&t.render()}))},o=0,a=!0,l=0;for(let c of(this.setTitle(),_(this,"beforeMargins"),null!==(h=this.getStacks)&&void 0!==h&&h.call(this),this.getMargins(!0),this.setChartSize(),e)){var h;let{options:t}=c,{labels:e}=t;if(c.horiz&&c.visible&&e.enabled&&c.series.length&&"colorAxis"!==c.coll&&!this.polar){o=t.tickLength,c.createGroups();let i=new p(c,0,"",!0),s=i.createLabel("x",e);if(i.destroy(),s&&Y(e.reserveSpace,!F(t.crossing))&&(o=s.getBBox().height+e.distance+Math.max(t.offset||0,0)),o){null===s||void 0===s||s.destroy();break}}}for(this.plotHeight=Math.max(this.plotHeight-o,0);(a||t||n>1)&&l(l?1:1.1),t=s/this.plotHeight>(l?1:1.05),l++}this.drawChartBox(),this.hasCartesianSeries?r(e):i&&i.length&&r(i),this.seriesGroup||(this.seriesGroup=s.g("series-group").attr({zIndex:3}).shadow(this.options.chart.seriesGroupShadow).add()),this.renderSeries(),this.addCredits(),this.setResponsive&&this.setResponsive(),this.hasRendered=!0}addCredits(t){let e=this,i=H(!0,this.options.credits,t);i.enabled&&!this.credits&&(this.credits=this.renderer.text(i.text+(this.mapCredits||""),0,0).addClass("highcharts-credits").on("click",(function(){i.href&&(A.location.href=i.href)})).attr({align:i.position.align,zIndex:8}),e.styledMode||this.credits.css(i.style),this.credits.add().align(i.position),this.credits.update=function(t){e.credits=e.credits.destroy(),e.addCredits(t)})}destroy(){let t,e=this,i=e.axes,s=e.series,n=e.container,o=n&&n.parentNode;for(_(e,"destroy"),e.renderer.forExport?N(S,e):S[e.index]=void 0,r.chartCount--,e.renderTo.removeAttribute("data-highcharts-chart"),K(e),t=i.length;t--;)i[t]=i[t].destroy();for(this.scroller&&this.scroller.destroy&&this.scroller.destroy(),t=s.length;t--;)s[t]=s[t].destroy();["title","subtitle","chartBackground","plotBackground","plotBGImage","plotBorder","seriesGroup","clipRect","credits","pointer","rangeSelector","legend","resetZoomButton","tooltip","renderer"].forEach((function(t){let i=e[t];i&&i.destroy&&(e[t]=i.destroy())})),n&&(n.innerHTML=u.emptyHTML,K(n),o&&j(n)),U(e,(function(t,i){delete e[i]}))}firstRender(){var t;let e=this,i=e.options;e.getContainer(),e.resetMargins(),e.setChartSize(),e.propFromSeries(),e.getAxes();let s=W(i.series)?i.series:[];i.series=[],s.forEach((function(t){e.initSeries(t)})),e.linkSeries(),e.setSortedData(),_(e,"beforeRender"),e.render(),null!==(t=e.pointer)&&void 0!==t&&t.getChartPosition(),e.renderer.imgCount||e.hasLoaded||e.onload(),e.temporaryDisplay(!0)}onload(){this.callbacks.concat([this.callback]).forEach((function(t){t&&void 0!==this.index&&t.apply(this,[this])}),this),_(this,"load"),_(this,"render"),L(this.index)&&this.setReflow(),this.warnIfA11yModuleNotLoaded(),this.hasLoaded=!0}warnIfA11yModuleNotLoaded(){let{options:t,title:e}=this;!t||this.accessibility||(this.renderer.boxWrapper.attr({role:"img","aria-label":(e&&e.element.textContent||"").replace(/this.transform({reset:!0,trigger:"zoom"})))}pan(t,e){let i=this,s="object"==typeof e?e:{enabled:e,type:"x"},n=s.type,r=n&&i[{x:"xAxis",xy:"axes",y:"yAxis"}[n]].filter((t=>t.options.panningEnabled&&!t.options.isInternal)),o=i.options.chart;null!==o&&void 0!==o&&o.panning&&(o.panning=s),_(this,"pan",{originalEvent:t},(()=>{i.transform({axes:r,event:t,to:{x:t.chartX-(i.mouseDownX||0),y:t.chartY-(i.mouseDownY||0)},trigger:"pan"}),O(i.container,{cursor:"move"})}))}transform(t){var e;let i,{axes:s=this.axes,event:n,from:r={},reset:o,selection:a,to:l={},trigger:h}=t,{inverted:c,resetZoomButton:d}=this,u=!1;for(let x of(null!==(p=this.hoverPoints)&&void 0!==p&&p.forEach((t=>t.setState())),s)){var p,f,g,m;let{horiz:t,len:e,minPointOffset:s=0,options:d,reversed:v}=x,b=t?"width":"height",S=t?"x":"y",k=l[b]||x.len,w=r[b]||x.len,C=10>Math.abs(k)?1:k/w,A=(r[S]||0)+w/2-x.pos,M=A-((null!==(f=l[S])&&void 0!==f?f:x.pos)+k/2-x.pos)/C,T=v&&!c||!v&&c?-1:1;if(!o&&(A<0||A>x.len))continue;let P=x.toValue(M,!0)+s*T,E=x.toValue(M+e/C,!0)-(s*T||0),O=x.allExtremes;if(P>E&&([P,E]=[E,P]),1===C&&!o&&"yAxis"===x.coll&&!O){for(let t of x.series){var y;let e=t.getExtremes(t.getProcessedData(!0).yData,!0);null!==(y=O)&&void 0!==y||(O={dataMin:Number.MAX_VALUE,dataMax:-Number.MAX_VALUE}),F(e.dataMin)&&F(e.dataMax)&&(O.dataMin=Math.min(e.dataMin,O.dataMin),O.dataMax=Math.max(e.dataMax,O.dataMax))}x.allExtremes=O}let{dataMin:D,dataMax:j,min:N,max:R}=I(x.getExtremes(),O||{}),B=null!==D&&void 0!==D?D:d.min,_=null!==j&&void 0!==j?j:d.max,z=E-P,W=x.categories?0:Math.min(z,_-B),G=B-W*(L(d.min)?0:d.minPadding),X=_+W*(L(d.max)?0:d.maxPadding),H=x.allowZoomOutside||1===C||"zoom"!==h&&C>1,U=Math.min(null!==(g=d.min)&&void 0!==g?g:G,G,H?N:G),Y=Math.max(null!==(m=d.max)&&void 0!==m?m:X,X,H?R:X);(!x.isOrdinal||1!==C||o)&&(P=1&&(E=P+z)),E>Y&&(E=Y,C>=1&&(P=E-z)),(o||x.series.length&&(P!==N||E!==R)&&P>=U&&E<=Y)&&(a?a[x.coll].push({axis:x,min:P,max:E}):(x.isPanning="zoom"!==h,x.setExtremes(o?void 0:P,o?void 0:E,!1,!1,{move:M,trigger:h,scale:C}),!o&&(P>U||E{delete t.selection,t.trigger="zoom",this.transform(t)})):(i&&!d?this.showResetZoom():!i&&d&&(this.resetZoomButton=d.destroy()),this.redraw("zoom"===h&&(null!==(e=this.options.chart.animation)&&void 0!==e?e:this.pointCount<100)))),u}}return I(J.prototype,{callbacks:[],collectionsWithInit:{xAxis:[J.prototype.addAxis,[!0]],yAxis:[J.prototype.addAxis,[!1]],series:[J.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"]}),J})),i(e,"Extensions/ScrollablePlotArea.js",[e["Core/Animation/AnimationUtilities.js"],e["Core/Globals.js"],e["Core/Renderer/RendererRegistry.js"],e["Core/Utilities.js"]],(function(t,e,i,s){let{stop:n}=t,{composed:r}=e,{addEvent:o,createElement:a,css:l,defined:h,merge:c,pushUnique:d}=s;function u(){var t;let e=this.scrollablePlotArea;(this.scrollablePixelsX||this.scrollablePixelsY)&&!e&&(this.scrollablePlotArea=e=new f(this)),null===(t=e)||void 0===t||t.applyFixed()}function p(){this.chart.scrollablePlotArea&&(this.chart.scrollablePlotArea.isDirty=!0)}class f{static compose(t,e,i){d(r,this.compose)&&(o(t,"afterInit",p),o(e,"afterSetChartSize",(t=>this.afterSetSize(t.target,t))),o(e,"render",u),o(i,"show",p))}static afterSetSize(t,e){let i,s,n,{minWidth:r,minHeight:o}=t.options.chart.scrollablePlotArea||{},{clipBox:a,plotBox:l,inverted:d,renderer:u}=t;if(!u.forExport&&(r?(t.scrollablePixelsX=i=Math.max(0,r-t.chartWidth),i&&(t.scrollablePlotBox=c(t.plotBox),l.width=t.plotWidth+=i,a[d?"height":"width"]+=i,n=!0)):o&&(t.scrollablePixelsY=s=Math.max(0,o-t.chartHeight),h(s)&&(t.scrollablePlotBox=c(t.plotBox),l.height=t.plotHeight+=s,a[d?"width":"height"]+=s,n=!1)),h(n)&&!e.skipAxes))for(let h of t.axes)h.horiz===n&&(h.setAxisSize(),h.setAxisTranslation())}constructor(t){var e,s;let n,r=t.options.chart,h=i.getRendererType(),c=r.scrollablePlotArea||{},d=this.moveFixedElements.bind(this),u={WebkitOverflowScrolling:"touch",overflowX:"hidden",overflowY:"hidden"};t.scrollablePixelsX&&(u.overflowX="auto"),t.scrollablePixelsY&&(u.overflowY="auto"),this.chart=t;let p=this.parentDiv=a("div",{className:"highcharts-scrolling-parent"},{position:"relative"},t.renderTo),f=this.scrollingContainer=a("div",{className:"highcharts-scrolling"},u,p),g=this.innerContainer=a("div",{className:"highcharts-inner-container"},void 0,f),m=this.fixedDiv=a("div",{className:"highcharts-fixed"},{position:"absolute",overflow:"hidden",pointerEvents:"none",zIndex:((null===(e=r.style)||void 0===e?void 0:e.zIndex)||0)+2,top:0},void 0,!0),y=this.fixedRenderer=new h(m,t.chartWidth,t.chartHeight,r.style);this.mask=y.path().attr({fill:r.backgroundColor||"#fff","fill-opacity":null!==(s=c.opacity)&&void 0!==s?s:.85,zIndex:-1}).addClass("highcharts-scrollable-mask").add(),f.parentNode.insertBefore(m,f),l(t.renderTo,{overflow:"visible"}),o(t,"afterShowResetZoom",d),o(t,"afterApplyDrilldown",d),o(t,"afterLayOutTitles",d),o(f,"scroll",(()=>{let{pointer:e,hoverPoint:i}=t;e&&(delete e.chartPosition,i&&(n=i),e.runPointActions(void 0,n,!0))})),g.appendChild(t.container)}applyFixed(){var t;let{chart:e,fixedRenderer:i,isDirty:s,scrollingContainer:r}=this,{axisOffset:o,chartWidth:a,chartHeight:c,container:d,plotHeight:u,plotLeft:p,plotTop:f,plotWidth:g,scrollablePixelsX:m=0,scrollablePixelsY:y=0}=e,{scrollPositionX:x=0,scrollPositionY:v=0}=e.options.chart.scrollablePlotArea||{},b=a+m,S=c+y;i.setSize(a,c),(null===s||void 0===s||s)&&(this.isDirty=!1,this.moveFixedElements()),n(e.container),l(d,{width:"".concat(b,"px"),height:"".concat(S,"px")}),e.renderer.boxWrapper.attr({width:b,height:S,viewBox:[0,0,b,S].join(" ")}),null!==(t=e.chartBackground)&&void 0!==t&&t.attr({width:b,height:S}),l(r,{width:"".concat(a,"px"),height:"".concat(c,"px")}),h(s)||(r.scrollLeft=m*x,r.scrollTop=y*v);let k=f-o[0]-1,w=p-o[3]-1,C=f+u+o[2]+1,A=p+g+o[1]+1,M=p+g-m,T=f+u-y,P=[["M",0,0]];m?P=[["M",0,k],["L",p-1,k],["L",p-1,C],["L",0,C],["Z"],["M",M,k],["L",a,k],["L",a,C],["L",M,C],["Z"]]:y&&(P=[["M",w,0],["L",w,f-1],["L",A,f-1],["L",A,0],["Z"],["M",w,T],["L",w,c],["L",A,c],["L",A,T],["Z"]]),"adjustHeight"!==e.redrawTrigger&&this.mask.attr({d:P})}moveFixedElements(){let t,{container:e,inverted:i,scrollablePixelsX:s,scrollablePixelsY:n}=this.chart,r=this.fixedRenderer,o=[".highcharts-breadcrumbs-group",".highcharts-contextbutton",".highcharts-caption",".highcharts-credits",".highcharts-legend",".highcharts-legend-checkbox",".highcharts-navigator-series",".highcharts-navigator-xaxis",".highcharts-navigator-yaxis",".highcharts-navigator",".highcharts-reset-zoom",".highcharts-drillup-button",".highcharts-scrollbar",".highcharts-subtitle",".highcharts-title"];for(let a of(s&&!i?t=".highcharts-yaxis":s&&i||n&&!i?t=".highcharts-xaxis":n&&i&&(t=".highcharts-yaxis"),t&&o.push("".concat(t,":not(.highcharts-radial-axis)"),"".concat(t,"-labels:not(.highcharts-radial-axis-labels)")),o))[].forEach.call(e.querySelectorAll(a),(t=>{(t.namespaceURI===r.SVG_NS?r.box:r.box.parentNode).appendChild(t),t.style.pointerEvents="auto"}))}}return f})),i(e,"Core/Axis/Stacking/StackItem.js",[e["Core/Templating.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],(function(t,e,i){let{format:s}=t,{series:n}=e,{destroyObjectProperties:r,fireEvent:o,isNumber:a,pick:l}=i;return class{constructor(t,e,i,s,n){let r=t.chart.inverted,o=t.reversed;this.axis=t;let a=this.isNegative=!!i!=!!o;this.options=e=e||{},this.x=s,this.total=null,this.cumulative=null,this.points={},this.hasValidPoints=!1,this.stack=n,this.leftCliff=0,this.rightCliff=0,this.alignOptions={align:e.align||(r?a?"left":"right":"center"),verticalAlign:e.verticalAlign||(r?"middle":a?"bottom":"top"),y:e.y,x:e.x},this.textAlign=e.textAlign||(r?a?"right":"left":"center")}destroy(){r(this,this.axis)}render(t){let e=this.axis.chart,i=this.options,n=i.format,r=n?s(n,this,e):i.formatter.call(this);if(this.label)this.label.attr({text:r,visibility:"hidden"});else{this.label=e.renderer.label(r,null,void 0,i.shape,void 0,void 0,i.useHTML,!1,"stack-labels");let s={r:i.borderRadius||0,text:r,padding:l(i.padding,5),visibility:"hidden"};e.styledMode||(s.fill=i.backgroundColor,s.stroke=i.borderColor,s["stroke-width"]=i.borderWidth,this.label.css(i.style||{})),this.label.attr(s),this.label.added||this.label.add(t)}this.label.labelrank=e.plotSizeY,o(this,"afterRender")}setOffset(t,e,i,s,r,h){let{alignOptions:c,axis:d,label:u,options:p,textAlign:f}=this,g=d.chart,m=this.getStackBox({xOffset:t,width:e,boxBottom:i,boxTop:s,defaultX:r,xAxis:h}),{verticalAlign:y}=c;if(u&&m){let t,e=u.getBBox(void 0,0),i=u.padding,s="justify"===l(p.overflow,"justify");c.x=p.x||0,c.y=p.y||0;let{x:r,y:o}=this.adjustStackPosition({labelBox:e,verticalAlign:y,textAlign:f});m.x-=r,m.y-=o,u.align(c,!1,m),(t=g.isInsidePlot(u.alignAttr.x+c.x+r,u.alignAttr.y+c.y+o))||(s=!1),s&&n.prototype.justifyDataLabel.call(d,u,c,u.alignAttr,e,m),u.attr({x:u.alignAttr.x,y:u.alignAttr.y,rotation:p.rotation,rotationOriginX:e.width*{left:0,center:.5,right:1}[p.textAlign||"center"],rotationOriginY:e.height/2}),l(!s&&p.crop,!0)&&(t=a(u.x)&&a(u.y)&&g.isInsidePlot(u.x-i+(u.width||0),u.y)&&g.isInsidePlot(u.x+i,u.y)),u[t?"show":"hide"]()}o(this,"afterSetOffset",{xOffset:t,width:e})}adjustStackPosition(t){let{labelBox:e,verticalAlign:i,textAlign:s}=t,n={bottom:0,middle:1,top:2,right:1,center:0,left:-1},r=n[i],o=n[s];return{x:e.width/2+e.width/2*o,y:e.height/2*r}}getStackBox(t){let e=this.axis,i=e.chart,{boxTop:s,defaultX:n,xOffset:r,width:o,boxBottom:h}=t,c=e.stacking.usePercentage?100:l(s,this.total,0),d=e.toPixels(c),u=t.xAxis||i.xAxis[0],p=l(n,u.translate(this.x))+r,f=Math.abs(d-e.toPixels(h||a(e.min)&&e.logarithmic&&e.logarithmic.lin2log(e.min)||0)),g=i.inverted,m=this.isNegative;return g?{x:(m?d:d-f)-i.plotLeft,y:u.height-p-o,width:f,height:o}:{x:p+u.transB-i.plotLeft,y:(m?d-f:d)-i.plotTop,width:o,height:f}}}})),i(e,"Core/Axis/Stacking/StackingAxis.js",[e["Core/Animation/AnimationUtilities.js"],e["Core/Axis/Axis.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Axis/Stacking/StackItem.js"],e["Core/Utilities.js"]],(function(t,e,i,s,n){var r;let{getDeferredAnimation:o}=t,{series:{prototype:a}}=i,{addEvent:l,correctFloat:h,defined:c,destroyObjectProperties:d,fireEvent:u,isArray:p,isNumber:f,objectEach:g,pick:m}=n;function y(){let t=this.inverted;this.axes.forEach((t=>{t.stacking&&t.stacking.stacks&&t.hasVisibleSeries&&(t.stacking.oldStacks=t.stacking.stacks)})),this.series.forEach((e=>{let i=e.xAxis&&e.xAxis.options||{};e.options.stacking&&e.reserveSpace()&&(e.stackKey=[e.type,m(e.options.stack,""),t?i.top:i.left,t?i.height:i.width].join(","))}))}function x(){let t=this.stacking;if(t){var e;let i=t.stacks;g(i,((t,e)=>{d(t),delete i[e]})),null===(e=t.stackTotalGroup)||void 0===e||e.destroy()}}function v(){this.stacking||(this.stacking=new A(this))}function b(t,e,i,s){return!c(t)||t.x!==e||s&&t.stackKey!==s?t={x:e,index:0,key:s,stackKey:s}:t.index++,t.key=[i,e,t.index].join(","),t}function S(){let t,e=this,i=e.yAxis,s=e.stackKey||"",n=i.stacking.stacks,r=e.processedXData,o=e.options.stacking,a=e[o+"Stacker"];a&&[s,"-"+s].forEach((i=>{let s,o,l,h=r.length;for(;h--;){var c,d;s=r[h],t=e.getStackIndicator(t,s,e.index,i),o=null===(c=n[i])||void 0===c?void 0:c[s],(l=null===(d=o)||void 0===d?void 0:d.points[t.key||""])&&a.call(e,l,o,h)}}))}function k(t,e,i){let s=e.total?100/e.total:0;t[0]=h(t[0]*s),t[1]=h(t[1]*s),this.stackedYData[i]=t[1]}function w(t){(this.is("column")||this.is("columnrange"))&&(this.options.centerInCategory&&!this.options.stacking&&this.chart.series.length>1?a.setStackedPoints.call(this,t,"group"):t.stacking.resetStacks())}function C(t,e){let i,n,r,o,a,l,d,u,f,g=e||this.options.stacking;if(!g||!this.reserveSpace()||({group:"xAxis"}[g]||"yAxis")!==t.coll)return;let y=this.processedXData,x=this.processedYData,v=[],b=x.length,S=this.options,k=S.threshold||0,w=S.startFromThreshold?k:0,C=S.stack,A=e?"".concat(this.type,",").concat(g):this.stackKey||"",M="-"+A,T=this.negStacks,P=t.stacking,E=P.stacks,O=P.oldStacks;for(P.stacksTouched+=1,d=0;d0&&!1===this.singleStacks&&(r.points[l][0]=r.points[this.index+","+u+",0"][0])):(delete r.points[l],delete r.points[this.index]);let e=r.total||0;"percent"===g?(o=n?A:M,e=T&&null!==(D=E[o])&&void 0!==D&&D[u]?(o=E[o][u]).total=Math.max(o.total||0,e)+Math.abs(f)||0:h(e+(Math.abs(f)||0))):"group"===g?(p(f)&&(f=f[0]),null!==f&&e++):e=h(e+(f||0)),r.cumulative="group"===g?(e||1)-1:h(m(r.cumulative,w)+(f||0)),r.total=e,null!==f&&(r.points[l].push(r.cumulative),v[d]=r.cumulative,r.hasValidPoints=!0)}"percent"===g&&(P.usePercentage=!0),"group"!==g&&(this.stackedYData=v),P.oldStacks={}}class A{constructor(t){this.oldStacks={},this.stacks={},this.stacksTouched=0,this.axis=t}buildStacks(){let t,e,i=this.axis,s=i.series,n="xAxis"===i.coll,r=i.options.reversedStacks,o=s.length;for(this.resetStacks(),this.usePercentage=!1,e=o;e--;)t=s[r?e:o-e-1],n&&t.setGroupedPoints(i),t.setStackedPoints(i);if(!n)for(e=0;e{g(t,(t=>{t.cumulative=t.total}))})))}resetStacks(){g(this.stacks,(t=>{g(t,((e,i)=>{f(e.touched)&&e.touched{g(t,(t=>{t.render(a)}))})),a.animate({opacity:1},r)}}return(r||(r={})).compose=function(t,e,i){let s=e.prototype,n=i.prototype;s.getStacks||(l(t,"init",v),l(t,"destroy",x),s.getStacks=y,n.getStackIndicator=b,n.modifyStacks=S,n.percentStacker=k,n.setGroupedPoints=w,n.setStackedPoints=C)},r})),i(e,"Series/Line/LineSeries.js",[e["Core/Series/Series.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],(function(t,e,i){let{defined:s,merge:n,isObject:r}=i;class o extends t{drawGraph(){let t=this.options,e=(this.gappedPath||this.getGraphPath).call(this),i=this.chart.styledMode;[this,...this.zones].forEach(((s,o)=>{let a,l=s.graph,h=l?"animate":"attr",c=s.dashStyle||t.dashStyle;l?(l.endX=this.preventGraphAnimation?null:e.xMap,l.animate({d:e})):e.length&&(s.graph=l=this.chart.renderer.path(e).addClass("highcharts-graph"+(o?" highcharts-zone-graph-".concat(o-1," "):" ")+(o&&s.className||"")).attr({zIndex:1}).add(this.group)),l&&!i&&(a={stroke:!o&&t.lineColor||s.color||this.color||"#cccccc","stroke-width":t.lineWidth||0,fill:this.fillGraph&&this.color||"none"},c?a.dashstyle=c:"square"!==t.linecap&&(a["stroke-linecap"]=a["stroke-linejoin"]="round"),l[h](a).shadow(o<2&&t.shadow&&n({filterUnits:"userSpaceOnUse"},r(t.shadow)?t.shadow:{}))),l&&(l.startX=e.xMap,l.isArea=e.isArea)}))}getGraphPath(t,e,i){let n,r=this,o=r.options,a=[],l=[],h=o.step,c=(t=t||r.points).reversed;return c&&t.reverse(),(h={right:1,center:2}[h]||h&&3)&&c&&(h=4-h),(t=this.getValidPoints(t,!1,!(o.connectNulls&&!e&&!i))).forEach((function(c,d){let u,p=c.plotX,f=c.plotY,g=t[d-1],m=c.isNull||"number"!=typeof f;(c.leftCliff||g&&g.rightCliff)&&!i&&(n=!0),m&&!s(e)&&d>0?n=!o.connectNulls:m&&!e?n=!0:(0===d||n?u=[["M",c.plotX,c.plotY]]:r.getPointSpline?u=[r.getPointSpline(t,c,d)]:h?(u=1===h?[["L",g.plotX,f]]:2===h?[["L",(g.plotX+p)/2,g.plotY],["L",(g.plotX+p)/2,f]]:[["L",p,g.plotY]]).push(["L",p,f]):u=[["L",p,f]],l.push(c.x),h&&(l.push(c.x),2===h&&l.push(c.x)),a.push.apply(a,u),n=!1)})),a.xMap=l,r.graphPath=a,a}}return o.defaultOptions=n(t.defaultOptions,{legendSymbol:"lineMarker"}),e.registerSeriesType("line",o),o})),i(e,"Series/Area/AreaSeries.js",[e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],(function(t,e){let{seriesTypes:{line:i}}=t,{extend:s,merge:n,objectEach:r,pick:o}=e;class a extends i{drawGraph(){this.areaPath=[],super.drawGraph.apply(this);let{areaPath:t,options:e}=this;[this,...this.zones].forEach(((i,s)=>{var n;let r={},o=i.fillColor||e.fillColor,a=i.area,l=a?"animate":"attr";a?(a.endX=this.preventGraphAnimation?null:t.xMap,a.animate({d:t})):(r.zIndex=0,(a=i.area=this.chart.renderer.path(t).addClass("highcharts-area"+(s?" highcharts-zone-area-".concat(s-1," "):" ")+(s&&i.className||"")).add(this.group)).isArea=!0),this.chart.styledMode||(r.fill=o||i.color||this.color,r["fill-opacity"]=o?1:null!==(n=e.fillOpacity)&&void 0!==n?n:.75,a.css({pointerEvents:this.stickyTracking?"none":"auto"})),a[l](r),a.startX=t.xMap,a.shiftUnit=e.step?2:1}))}getGraphPath(t){let e,s,n,r=i.prototype.getGraphPath,a=this.options,l=a.stacking,h=this.yAxis,c=[],d=[],u=this.index,p=h.stacking.stacks[this.stackKey],f=a.threshold,g=Math.round(h.getThreshold(a.threshold)),m=o(a.connectNulls,"percent"===l),y=function(i,s,n){let r,o,a=t[i],m=l&&p[a.x].points[u],y=a[n+"Null"]||0,x=a[n+"Cliff"]||0,v=!0;x||y?(r=(y?m[0]:m[1])+x,o=m[0]+x,v=!!y):!l&&t[s]&&t[s].isNull&&(r=o=f),void 0!==r&&(d.push({plotX:e,plotY:null===r?g:h.getThreshold(r),isNull:v,isCliff:!0}),c.push({plotX:e,plotY:null===o?g:h.getThreshold(o),doCurve:!1}))};t=t||this.points,l&&(t=this.getStackPoints(t));for(let i=0,w=t.length;it.visible));s.forEach((function(t,r){let g,m,y=0;if(h[t]&&!h[t].isNull)i.push(h[t]),[-1,1].forEach((function(i){let n=1===i?"rightNull":"leftNull",o=l[s[r+i]],a=0;if(o){let i=p;for(;i>=0&&i=0&&ei&&r>h?(r=Math.max(i,h),a=2*h-r):ru&&a>h?(a=Math.max(u,h),r=2*h-a):a=Math.abs(e)&&a>.5;return s=a-(e=Math.round(e)+o),l&&s&&(e-=1,s+=1),{x:t,y:e,width:i,height:s}}adjustForMissingColumns(t,e,i,s){if(!i.isNull&&s.columnCount>1){var n;let r=this.xAxis.series.filter((t=>t.visible)).map((t=>t.index)),o=0,a=0;x(null===(n=this.xAxis.stacking)||void 0===n?void 0:n.stacks,(t=>{if("number"==typeof i.x){let e=t[i.x.toString()];if(e&&f(e.points[this.index])){let t=Object.keys(e.points).filter((t=>!t.match(",")&&e.points[t]&&e.points[t].length>1)).map(parseFloat).filter((t=>-1!==r.indexOf(t))).sort(((t,e)=>e-t));o=t.indexOf(this.index),a=t.length}}})),o=this.xAxis.reversed?a-1-o:o;let l=(a-1)*s.paddedWidth+e;t=(i.plotX||0)+l/2-e-o*s.paddedWidth}return t}translate(){let t=this,e=t.chart,i=t.options,s=t.dense=t.closestPointRange*t.xAxis.transA<2,r=t.borderWidth=y(i.borderWidth,s?0:1),o=t.xAxis,a=t.yAxis,l=i.threshold,h=y(i.minPointLength,5),u=t.getColumnMetrics(),f=u.width,m=t.pointXOffset=u.offset,x=t.dataMin,v=t.dataMax,b=t.barW=Math.max(f,1+2*r),S=t.translatedThreshold=a.getThreshold(l);e.inverted&&(S-=.5),i.pointPadding&&(b=Math.ceil(b)),n.prototype.translate.apply(t),t.points.forEach((function(s){let n,r=y(s.yBottom,S),p=999+Math.abs(r),k=s.plotX||0,w=c(s.plotY,-p,a.len+p),C=Math.min(w,r),A=Math.max(w,r)-C,M=f,T=k+m,P=b;h&&Math.abs(A)h?r-h:S-(n?h:0)),d(s.options.pointWidth)&&(T-=Math.round(((M=P=Math.ceil(s.options.pointWidth))-f)/2)),i.centerInCategory&&!i.stacking&&(T=t.adjustForMissingColumns(T,M,s,u)),s.barX=T,s.pointWidth=M,s.tooltipPos=e.inverted?[c(a.len+a.pos-e.plotLeft-w,a.pos-e.plotLeft,a.len+a.pos-e.plotLeft),o.len+o.pos-e.plotTop-T-P/2,A]:[o.left-e.plotLeft+T+P/2,c(w+a.pos-e.plotTop,a.pos-e.plotTop,a.len+a.pos-e.plotTop),A],s.shapeType=t.pointClass.prototype.shapeType||"roundedRect",s.shapeArgs=t.crispCol(T,s.isNull?S:C,P,s.isNull?0:A)})),p(this,"afterColumnTranslate")}drawGraph(){this.group[this.dense?"addClass":"removeClass"]("highcharts-dense-data")}pointAttribs(t,e){let i,s,n,r=this.options,o=this.pointAttrToOptions||{},a=o.stroke||"borderColor",h=o["stroke-width"]||"borderWidth",c=t&&t.color||this.color,d=t&&t[a]||r[a]||c,u=t&&t.options.dashStyle||r.dashStyle,p=t&&t[h]||r[h]||this[h]||0,f=y(t&&t.opacity,r.opacity,1);t&&this.zones.length&&(s=t.getZone(),c=t.options.color||s&&(s.color||t.nonZonedColor)||this.color,s&&(d=s.borderColor||d,u=s.dashStyle||u,p=s.borderWidth||p)),e&&t&&(n=(i=m(r.states[e],t.options.states&&t.options.states[e]||{})).brightness,c=i.color||void 0!==n&&l(c).brighten(i.brightness).get()||c,d=i[a]||d,p=i[h]||p,u=i.dashStyle||u,f=y(i.opacity,f));let g={fill:c,stroke:d,"stroke-width":p,opacity:f};return u&&(g.dashstyle=u),g}drawPoints(){let t,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.points,i=this,s=this.chart,n=i.options,r=s.renderer,o=n.animationLimit||250;e.forEach((function(e){let a=e.plotY,l=e.graphic,h=!!l,c=l&&s.pointCount0&&void 0!==arguments[0]?arguments[0]:this.points,i=this,s=i.chart,n=s.pointer,r=function(t){let e=null===n||void 0===n?void 0:n.getPointFromEvent(t);n&&e&&i.options.enableMouseTracking&&(n.isDirectTouch=!0,e.onMouseOver(t))};e.forEach((function(e){t=f(e.dataLabels)?e.dataLabels:e.dataLabel?[e.dataLabel]:[],e.graphic&&(e.graphic.element.point=e),t.forEach((function(t){(t.div||t.element).point=e}))})),i._hasTracking||(i.trackerGroups.forEach((function(t){i[t]&&(i[t].addClass("highcharts-tracker").on("mouseover",r).on("mouseout",(function(t){null===n||void 0===n||n.onTrackerMouseOut(t)})).on("touchstart",r),!s.styledMode&&i.options.cursor&&i[t].css({cursor:i.options.cursor}))})),i._hasTracking=!0),p(this,"afterDrawTracker")}remove(){let t=this,e=t.chart;e.hasRendered&&e.series.forEach((function(e){e.type===t.type&&(e.isDirty=!0)})),n.prototype.remove.apply(t,arguments)}}return v.defaultOptions=m(n.defaultOptions,i),u(v.prototype,{directTouch:!0,getSymbol:h,negStacks:!0,trackerGroups:["group","dataLabelsGroup"]}),r.registerSeriesType("column",v),v})),i(e,"Core/Series/DataLabel.js",[e["Core/Animation/AnimationUtilities.js"],e["Core/Templating.js"],e["Core/Utilities.js"]],(function(t,e,i){var s;let{getDeferredAnimation:n}=t,{format:r}=e,{defined:o,extend:a,fireEvent:l,isArray:h,isString:c,merge:d,objectEach:u,pick:p,pInt:f,splat:g}=i;return function(t){function e(){return b(this).some((t=>null===t||void 0===t?void 0:t.enabled))}function i(t,e,i,s,n){let r=this.chart,l=this.isCartesian&&r.inverted,h=this.enabledDataSorting,c=t.plotX,u=t.plotY,f=i.rotation||0,g=o(c)&&o(u)&&r.isInsidePlot(c,Math.round(u),{inverted:l,paneCoordinates:!0,series:this}),m=0===f&&"justify"===p(i.overflow,h?"none":"justify"),y=this.visible&&!1!==t.visible&&o(c)&&(t.series.forceDL||h&&!m||g||p(i.inside,!!this.options.stacking)&&s&&r.isInsidePlot(c,l?s.x+1:s.y+s.height-1,{inverted:l,paneCoordinates:!0,series:this})),x=t.pos();if(y&&x){var v;let o=e.getBBox(),l=e.getBBox(void 0,0),c={right:1,center:.5}[i.align||0]||0,u={bottom:1,middle:.5}[i.verticalAlign||0]||0;if(s=a({x:x[0],y:Math.round(x[1]),width:0,height:0},s||{}),a(i,{width:o.width,height:o.height}),v=s,h&&this.xAxis&&!m&&this.setDataLabelStartPos(t,e,n,g,v),e.align(d(i,{width:l.width,height:l.height}),!1,s,!1),e.alignAttr.x+=c*(l.width-o.width),e.alignAttr.y+=u*(l.height-o.height),e[e.placed?"animate":"attr"]({x:e.alignAttr.x+(o.width-l.width)/2,y:e.alignAttr.y+(o.height-l.height)/2,rotationOriginX:(e.width||0)/2,rotationOriginY:(e.height||0)/2}),m&&s.height>=0)this.justifyDataLabel(e,i,e.alignAttr,o,s,n);else if(p(i.crop,!0)){let{x:t,y:i}=e.alignAttr;y=r.isInsidePlot(t,i,{paneCoordinates:!0,series:this})&&r.isInsidePlot(t+o.width-1,i+o.height-1,{paneCoordinates:!0,series:this})}i.shape&&!f&&e[n?"attr":"animate"]({anchorX:x[0],anchorY:x[1]})}n&&h&&(e.placed=!1),y||h&&!m?(e.show(),e.placed=!0):(e.hide(),e.placed=!1)}function s(){return this.plotGroup("dataLabelsGroup","data-labels",this.hasRendered?"inherit":"hidden",this.options.dataLabels.zIndex||6)}function m(t){let e=this.hasRendered||0,i=this.initDataLabelsGroup().attr({opacity:+e});return!e&&i&&(this.visible&&i.show(),this.options.animation?i.animate({opacity:1},t):i.attr({opacity:1})),i}function y(t){var e;let i;t=t||this.points;let s=this,a=s.chart,h=s.options,d=a.renderer,{backgroundColor:m,plotBackgroundColor:y}=a.options.chart,x=d.getContrast(c(y)&&y||c(m)&&m||"#000000"),S=b(s),{animation:k,defer:w}=S[0],C=w?n(a,k,s):{defer:0,duration:0};l(this,"drawDataLabels"),null!==(e=s.hasDataLabels)&&void 0!==e&&e.call(s)&&(i=this.initDataLabels(C),t.forEach((t=>{var e;let n=t.dataLabels||[];g(v(S,t.dlOptions||(null===(e=t.options)||void 0===e?void 0:e.dataLabels))).forEach(((e,l)=>{let g,m,y,v,b,S=e.enabled&&(t.visible||t.dataLabelOnHidden)&&(!t.isNull||t.dataLabelOnNull)&&function(t,e){let i=e.filter;if(i){let e=i.operator,s=t[i.property],n=i.value;return">"===e&&s>n||"<"===e&&s="===e&&s>=n||"<="===e&&s<=n||"=="===e&&s==n||"==="===e&&s===n||"!="===e&&s!=n||"!=="===e&&s!==n}return!0}(t,e),{backgroundColor:k,borderColor:w,distance:C,style:A={}}=e,M={},T=n[l],P=!T;if(S&&(m=p(e[t.formatPrefix+"Format"],e.format),g=t.getLabelConfig(),y=o(m)?r(m,g,a):(e[t.formatPrefix+"Formatter"]||e.formatter).call(g,e),v=e.rotation,!a.styledMode&&(A.color=p(e.color,A.color,c(s.color)?s.color:void 0,"#000000"),"contrast"===A.color?("none"!==k&&(b=k),t.contrastColor=d.getContrast("auto"!==b&&b||t.color||s.color),A.color=b||!o(C)&&e.inside||0>f(C||0)||h.stacking?t.contrastColor:x):delete t.contrastColor,h.cursor&&(A.cursor=h.cursor)),M={r:e.borderRadius||0,rotation:v,padding:e.padding,zIndex:1},a.styledMode||(M.fill="auto"===k?t.color:k,M.stroke="auto"===w?t.color:w,M["stroke-width"]=e.borderWidth),u(M,((t,e)=>{void 0===t&&delete M[e]}))),!T||S&&o(y)&&!!T.div==!!e.useHTML&&(T.rotation&&e.rotation||T.rotation===e.rotation)||(T=void 0,P=!0),S&&o(y)&&(T?M.text=y:(T=d.label(y,0,0,e.shape,void 0,void 0,e.useHTML,void 0,"data-label")).addClass(" highcharts-data-label-color-"+t.colorIndex+" "+(e.className||"")+(e.useHTML?" highcharts-tracker":"")),T)){var E;T.options=e,T.attr(M),a.styledMode||T.css(A).shadow(e.shadow);let r=e[t.formatPrefix+"TextPath"]||e.textPath;r&&!e.useHTML&&(T.setTextPath((null===(E=t.getDataLabelPath)||void 0===E?void 0:E.call(t,T))||t.graphic,r),t.dataLabelPath&&!r.enabled&&(t.dataLabelPath=t.dataLabelPath.destroy())),T.added||T.add(i),s.alignDataLabel(t,T,e,void 0,P),T.isActive=!0,n[l]&&n[l]!==T&&n[l].destroy(),n[l]=T}}));let l=n.length;for(;l--;){var m;n[l]&&n[l].isActive?n[l].isActive=!1:(null!==(m=n[l])&&void 0!==m&&m.destroy(),n.splice(l,1))}t.dataLabel=n[0],t.dataLabels=n}))),l(this,"afterDrawDataLabels")}function x(t,e,i,s,n,r){let o,a,l=this.chart,h=e.align,c=e.verticalAlign,d=t.box?0:t.padding||0,{x:u=0,y:p=0}=e;return(o=(i.x||0)+d)<0&&("right"===h&&u>=0?(e.align="left",e.inside=!0):u-=o,a=!0),(o=(i.x||0)+s.width-d)>l.plotWidth&&("left"===h&&u<=0?(e.align="right",e.inside=!0):u+=l.plotWidth-o,a=!0),(o=i.y+d)<0&&("bottom"===c&&p>=0?(e.verticalAlign="top",e.inside=!0):p-=o,a=!0),(o=(i.y||0)+s.height-d)>l.plotHeight&&("top"===c&&p<=0?(e.verticalAlign="bottom",e.inside=!0):p+=l.plotHeight-o,a=!0),a&&(e.x=u,e.y=p,t.placed=!r,t.align(e,void 0,n)),a}function v(t,e){let i,s=[];if(h(t)&&!h(e))s=t.map((function(t){return d(t,e)}));else if(h(e)&&!h(t))s=e.map((function(e){return d(t,e)}));else if(h(t)||h(e)){if(h(t)&&h(e))for(i=Math.max(t.length,e.length);i--;)s[i]=d(t[i],e[i])}else s=d(t,e);return s}function b(t){var e,i;let s=t.chart.options.plotOptions;return g(v(v(null===s||void 0===s||null===(e=s.series)||void 0===e?void 0:e.dataLabels,null===s||void 0===s||null===(i=s[t.type])||void 0===i?void 0:i.dataLabels),t.options.dataLabels))}function S(t,e,i,s,n){let r=this.chart,o=r.inverted,a=this.xAxis,l=a.reversed,h=((o?e.height:e.width)||0)/2,c=t.pointWidth,d=c?c/2:0;e.startXPos=o?n.x:l?-h-d:a.width-h+d,e.startYPos=o?l?this.yAxis.height-h+d:-h-d:n.y,s?"hidden"===e.visibility&&(e.show(),e.attr({opacity:0}).animate({opacity:1})):e.attr({opacity:1}).animate({opacity:0},void 0,e.hide),r.hasRendered&&(i&&e.attr({x:e.startXPos,y:e.startYPos}),e.placed=!0)}t.compose=function(t){let n=t.prototype;n.initDataLabels||(n.initDataLabels=m,n.initDataLabelsGroup=s,n.alignDataLabel=i,n.drawDataLabels=y,n.justifyDataLabel=x,n.setDataLabelStartPos=S,n.hasDataLabels=e)}}(s||(s={})),s})),i(e,"Series/Column/ColumnDataLabel.js",[e["Core/Series/DataLabel.js"],e["Core/Globals.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],(function(t,e,i,s){var n;let{composed:r}=e,{series:o}=i,{merge:a,pick:l,pushUnique:h}=s;return function(e){function i(t,e,i,s,n){let r=this.chart.inverted,h=t.series,c=(h.xAxis?h.xAxis.len:this.chart.plotSizeX)||0,d=(h.yAxis?h.yAxis.len:this.chart.plotSizeY)||0,u=t.dlBox||t.shapeArgs,p=l(t.below,t.plotY>l(this.translatedThreshold,d)),f=l(i.inside,!!this.options.stacking);if(u){if(s=a(u),"allow"!==i.overflow||!1!==i.crop){s.y<0&&(s.height+=s.y,s.y=0);let t=s.y+s.height-d;t>0&&t\u25cf {series.name}
',pointFormat:"x: {point.x}
y: {point.y}
"}}})),i(e,"Series/Scatter/ScatterSeries.js",[e["Series/Scatter/ScatterSeriesDefaults.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],(function(t,e,i){let{column:s,line:n}=e.seriesTypes,{addEvent:r,extend:o,merge:a}=i;class l extends n{applyJitter(){let t=this,e=this.options.jitter,i=this.points.length;e&&this.points.forEach((function(s,n){["x","y"].forEach((function(r,o){let a,l,h,c,d="plot"+r.toUpperCase();e[r]&&!s.isNull&&(a=t[r+"Axis"],c=e[r]*a.transA,a&&!a.isLog&&(l=Math.max(0,s[d]-c),h=Math.min(a.len,s[d]+c),s[d]=l+(h-l)*function(t){let e=1e4*Math.sin(t);return e-Math.floor(e)}(n+o*i),"x"===r&&(s.clientX=s.plotX)))}))}))}drawGraph(){this.options.lineWidth?super.drawGraph():this.graph&&(this.graph=this.graph.destroy())}}return l.defaultOptions=a(n.defaultOptions,t),o(l.prototype,{drawTracker:s.prototype.drawTracker,sorted:!1,requireSorting:!1,noSharedTooltip:!0,trackerGroups:["group","markerGroup","dataLabelsGroup"]}),r(l,"afterTranslate",(function(){this.applyJitter()})),e.registerSeriesType("scatter",l),l})),i(e,"Series/CenteredUtilities.js",[e["Core/Globals.js"],e["Core/Series/Series.js"],e["Core/Utilities.js"]],(function(t,e,i){var s,n;let{deg2rad:r}=t,{fireEvent:o,isNumber:a,pick:l,relativeLength:h}=i;return(n=s||(s={})).getCenter=function(){let t,i,s,n=this.options,r=this.chart,c=2*(n.slicedOffset||0),d=r.plotWidth-2*c,u=r.plotHeight-2*c,p=n.center,f=Math.min(d,u),g=n.thickness,m=n.size,y=n.innerSize||0;"string"==typeof m&&(m=parseFloat(m)),"string"==typeof y&&(y=parseFloat(y));let x=[l(p[0],"50%"),l(p[1],"50%"),l(m&&m<0?void 0:n.size,"100%"),l(y&&y<0?void 0:n.innerSize||0,"0%")];for(!r.angular||this instanceof e||(x[3]=0),i=0;i<4;++i)s=x[i],t=i<2||2===i&&/%$/.test(s),x[i]=h(s,[d,u,f,x[2]][i])+(t?c:0);return x[3]>x[2]&&(x[3]=x[2]),a(g)&&2*g0&&(x[3]=x[2]-2*g),o(this,"afterGetCenter",{positions:x}),x},n.getStartAndEndRadians=function(t,e){let i=a(t)?t:0,s=a(e)&&e>i&&e-i<360?e:i+360;return{start:r*(i+-90),end:r*(s+-90)}},s})),i(e,"Series/Pie/PiePoint.js",[e["Core/Animation/AnimationUtilities.js"],e["Core/Series/Point.js"],e["Core/Utilities.js"]],(function(t,e,i){let{setAnimation:s}=t,{addEvent:n,defined:r,extend:o,isNumber:a,pick:l,relativeLength:h}=i;class c extends e{getConnectorPath(t){let e=t.dataLabelPosition,i=t.options||{},s=i.connectorShape,n=this.connectorShapes[s]||s;return e&&n.call(this,{...e.computed,alignment:e.alignment},e.connectorPosition,i)||[]}getTranslate(){return this.sliced&&this.slicedTranslation||{translateX:0,translateY:0}}haloPath(t){let e=this.shapeArgs;return this.sliced||!this.visible?[]:this.series.chart.renderer.symbols.arc(e.x,e.y,e.r+t,e.r+t,{innerR:e.r-1,start:e.start,end:e.end,borderRadius:e.borderRadius})}constructor(t,e,i){var s;super(t,e,i),this.half=0,null!==(s=this.name)&&void 0!==s||(this.name="Slice");let r=t=>{this.slice("select"===t.type)};n(this,"select",r),n(this,"unselect",r)}isValid(){return a(this.y)&&this.y>=0}setVisible(t){let e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];t!==this.visible&&this.update({visible:null!==t&&void 0!==t?t:!this.visible},e,void 0,!1)}slice(t,e,i){let n=this.series;s(i,n.chart),e=l(e,!0),this.sliced=this.options.sliced=t=r(t)?t:!this.sliced,n.options.data[n.data.indexOf(this)]=this.options,this.graphic&&this.graphic.animate(this.getTranslate())}}return o(c.prototype,{connectorShapes:{fixedOffset:function(t,e,i){let s=e.breakAt,n=e.touchingSliceAt,r=i.softConnector?["C",t.x+("left"===t.alignment?-5:5),t.y,2*s.x-n.x,2*s.y-n.y,s.x,s.y]:["L",s.x,s.y];return[["M",t.x,t.y],r,["L",n.x,n.y]]},straight:function(t,e){let i=e.touchingSliceAt;return[["M",t.x,t.y],["L",i.x,i.y]]},crookedLine:function(t,e,i){let{breakAt:s,touchingSliceAt:n}=e,{series:r}=this,[o,a,l]=r.center,c=l/2,{plotLeft:d,plotWidth:u}=r.chart,p="left"===t.alignment,{x:f,y:g}=t,m=s.x;if(i.crookDistance){let t=h(i.crookDistance,1);m=p?o+c+(u+d-o-c)*(1-t):d+(o-c)*t}else m=o+(a-g)*Math.tan((this.angle||0)-Math.PI/2);let y=[["M",f,g]];return(p?m<=f&&m>=s.x:m>=f&&m<=s.x)&&y.push(["L",m,g]),y.push(["L",s.x,s.y],["L",n.x,n.y]),y}}}),c})),i(e,"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}}}})),i(e,"Series/Pie/PieSeries.js",[e["Series/CenteredUtilities.js"],e["Series/Column/ColumnSeries.js"],e["Core/Globals.js"],e["Series/Pie/PiePoint.js"],e["Series/Pie/PieSeriesDefaults.js"],e["Core/Series/Series.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Renderer/SVG/Symbols.js"],e["Core/Utilities.js"]],(function(t,e,i,s,n,r,o,a,l){let{getStartAndEndRadians:h}=t,{noop:c}=i,{clamp:d,extend:u,fireEvent:p,merge:f,pick:g}=l;class m extends r{animate(t){let e=this,i=e.points,s=e.startAngleRad;t||i.forEach((function(t){let i=t.graphic,n=t.shapeArgs;i&&n&&(i.attr({r:g(t.startR,e.center&&e.center[3]/2),start:s,end:s}),i.animate({r:n.r,start:n.start,end:n.end},e.options.animation))}))}drawEmpty(){let t,e,i=this.startAngleRad,s=this.endAngleRad,n=this.options;0===this.total&&this.center?(t=this.center[0],e=this.center[1],this.graph||(this.graph=this.chart.renderer.arc(t,e,this.center[1]/2,0,i,s).addClass("highcharts-empty-series").add(this.group)),this.graph.attr({d:a.arc(t,e,this.center[2]/2,0,{start:i,end:s,innerR:this.center[3]/2})}),this.chart.styledMode||this.graph.attr({"stroke-width":n.borderWidth,fill:n.fillColor||"none",stroke:n.color||"#cccccc"})):this.graph&&(this.graph=this.graph.destroy())}drawPoints(){let t=this.chart.renderer;this.points.forEach((function(e){e.graphic&&e.hasNewShapeType()&&(e.graphic=e.graphic.destroy()),e.graphic||(e.graphic=t[e.shapeType](e.shapeArgs).add(e.series.group),e.delayedRendering=!0)}))}generatePoints(){super.generatePoints(),this.updateTotals()}getX(t,e,i,s){let n=this.center,r=this.radii?this.radii[i.index]||0:n[2]/2,o=s.dataLabelPosition,a=(null===o||void 0===o?void 0:o.distance)||0,l=Math.asin(d((t-n[1])/(r+a),-1,1));return n[0]+Math.cos(l)*(r+a)*(e?-1:1)+(a>0?(e?-1:1)*(s.padding||0):0)}hasData(){return!!this.processedXData.length}redrawPoints(){let t,e,i,s,n=this,r=n.chart;this.drawEmpty(),n.group&&!r.styledMode&&n.group.shadow(n.options.shadow),n.points.forEach((function(o){let a={};e=o.graphic,!o.isNull&&e?(s=o.shapeArgs,t=o.getTranslate(),r.styledMode||(i=n.pointAttribs(o,o.selected&&"select")),o.delayedRendering?(e.setRadialReference(n.center).attr(s).attr(t),r.styledMode||e.attr(i).attr({"stroke-linejoin":"round"}),o.delayedRendering=!1):(e.setRadialReference(n.center),r.styledMode||f(!0,a,i),f(!0,a,s,t),e.animate(a)),e.attr({visibility:o.visible?"inherit":"hidden"}),e.addClass(o.getClassName(),!0)):e&&(o.graphic=e.destroy())}))}sortByAngle(t,e){t.sort((function(t,i){return void 0!==t.angle&&(i.angle-t.angle)*e}))}translate(t){p(this,"translate"),this.generatePoints();let e,i,s,n,r,o,a,l=this.options,c=l.slicedOffset,d=h(l.startAngle,l.endAngle),u=this.startAngleRad=d.start,f=(this.endAngleRad=d.end)-u,g=this.points,m=l.ignoreHiddenPoint,y=g.length,x=0;for(t||(this.center=t=this.getCenter()),o=0;o1.5*Math.PI?s-=2*Math.PI:s<-Math.PI/2&&(s+=2*Math.PI),a.slicedTranslation={translateX:Math.round(Math.cos(s)*c),translateY:Math.round(Math.sin(s)*c)},n=Math.cos(s)*t[2]/2,r=Math.sin(s)*t[2]/2,a.tooltipPos=[t[0]+.7*n,t[1]+.7*r],a.half=s<-Math.PI/2||s>Math.PI/2?1:0,a.angle=s}p(this,"afterTranslate")}updateTotals(){let t,e,i=this.points,s=i.length,n=this.options.ignoreHiddenPoint,r=0;for(t=0;t0&&(e.visible||!n)?e.y/r*100:0,e.total=r}}return m.defaultOptions=f(r.defaultOptions,n),u(m.prototype,{axisTypes:[],directTouch:!0,drawGraph:void 0,drawTracker:e.prototype.drawTracker,getCenter:t.getCenter,getSymbol:c,invertible:!1,isCartesian:!1,noSharedTooltip:!0,pointAttribs:e.prototype.pointAttribs,pointClass:s,requireSorting:!1,searchPoint:c,trackerGroups:["group","dataLabelsGroup"]}),o.registerSeriesType("pie",m),m})),i(e,"Series/Pie/PieDataLabel.js",[e["Core/Series/DataLabel.js"],e["Core/Globals.js"],e["Core/Renderer/RendererUtilities.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],(function(t,e,i,s,n){var r;let{composed:o,noop:a}=e,{distribute:l}=i,{series:h}=s,{arrayMax:c,clamp:d,defined:u,pick:p,pushUnique:f,relativeLength:g}=n;return function(e){let i={radialDistributionY:function(t,e){var i;return((null===(i=e.dataLabelPosition)||void 0===i?void 0:i.top)||0)+t.distributeBox.pos},radialDistributionX:function(t,e,i,s,n){let r=n.dataLabelPosition;return t.getX(i<((null===r||void 0===r?void 0:r.top)||0)+2||i>((null===r||void 0===r?void 0:r.bottom)||0)-2?s:i,e.half,e,n)},justify:function(t,e,i,s){var n;return s[0]+(t.half?-1:1)*(i+((null===(n=e.dataLabelPosition)||void 0===n?void 0:n.distance)||0))},alignToPlotEdges:function(t,e,i,s){let n=t.getBBox().width;return e?n+s:i-n-s},alignToConnectors:function(t,e,i,s){let n,r=0;return t.forEach((function(t){(n=t.dataLabel.getBBox().width)>r&&(r=n)})),e?r+s:i-r-s}};function s(t,e){let{center:i,options:s}=this,n=i[2]/2,r=t.angle||0,o=Math.cos(r),a=Math.sin(r),l=i[0]+o*n,h=i[1]+a*n,c=Math.min((s.slicedOffset||0)+(s.borderWidth||0),e/5);return{natural:{x:l+o*e,y:h+a*e},computed:{},alignment:e<0?"center":t.half?"right":"left",connectorPosition:{breakAt:{x:l+o*c,y:h+a*c},touchingSliceAt:{x:l,y:h}},distance:e}}function n(){var t;let e,i,s,n=this,r=n.points,o=n.chart,a=o.plotWidth,d=o.plotHeight,f=o.plotLeft,m=Math.round(o.chartWidth/3),y=n.center,x=y[2]/2,v=y[1],b=[[],[]],S=[0,0,0,0],k=n.dataLabelPositioners,w=0;n.visible&&(null===(t=n.hasDataLabels)||void 0===t?void 0:t.call(n))&&(r.forEach((t=>{(t.dataLabels||[]).forEach((t=>{t.shortened&&(t.attr({width:"auto"}).css({width:"auto",textOverflow:"clip"}),t.shortened=!1)}))})),h.prototype.drawDataLabels.apply(n),r.forEach((t=>{(t.dataLabels||[]).forEach(((e,i)=>{var s;let n=y[2]/2,r=e.options,o=g((null===r||void 0===r?void 0:r.distance)||0,n);0===i&&b[t.half].push(t),!u(null===r||void 0===r||null===(s=r.style)||void 0===s?void 0:s.width)&&e.getBBox().width>m&&(e.css({width:Math.round(.7*m)+"px"}),e.shortened=!0),e.dataLabelPosition=this.getDataLabelPosition(t,o),w=Math.max(w,o)}))})),b.forEach(((t,e)=>{let r,h,c,g=t.length,m=[],b=0;g&&(n.sortByAngle(t,e-.5),w>0&&(r=Math.max(0,v-x-w),h=Math.min(v+x+w,o.plotHeight),t.forEach((t=>{(t.dataLabels||[]).forEach((e=>{var i;let s=e.dataLabelPosition;s&&s.distance>0&&(s.top=Math.max(0,v-x-s.distance),s.bottom=Math.min(v+x+s.distance,o.plotHeight),b=e.getBBox().height||21,t.distributeBox={target:((null===(i=e.dataLabelPosition)||void 0===i?void 0:i.natural.y)||0)-s.top+b/2,size:b,rank:t.y},m.push(t.distributeBox))}))})),l(m,c=h+b-r,c/5)),t.forEach((r=>{(r.dataLabels||[]).forEach((o=>{let l=o.options||{},h=r.distributeBox,c=o.dataLabelPosition,g=(null===c||void 0===c?void 0:c.natural.y)||0,v=l.connectorPadding||0,b=0,w=g,C="inherit";if(c){if(m&&u(h)&&c.distance>0&&(void 0===h.pos?C="hidden":(s=h.size,w=k.radialDistributionY(r,o))),l.justify)b=k.justify(r,o,x,y);else switch(l.alignTo){case"connectors":b=k.alignToConnectors(t,e,a,f);break;case"plotEdges":b=k.alignToPlotEdges(o,e,a,f);break;default:b=k.radialDistributionX(n,r,w,g,o)}if(c.attribs={visibility:C,align:c.alignment},c.posAttribs={x:b+(l.x||0)+({left:v,right:-v}[c.alignment]||0),y:w+(l.y||0)-o.getBBox().height/2},c.computed.x=b,c.computed.y=w,p(l.crop,!0)){let t;b-(i=o.getBBox().width)a-v&&0===e&&(t=Math.round(b+i-a+v),S[1]=Math.max(t,S[1])),w-s/2<0?S[0]=Math.max(Math.round(s/2-w),S[0]):w+s/2>d&&(S[2]=Math.max(Math.round(w+s/2-d),S[2])),c.sideOverflow=t}}}))})))})),(0===c(S)||this.verifyDataLabelOverflow(S))&&(this.placeDataLabels(),this.points.forEach((t=>{(t.dataLabels||[]).forEach((i=>{let{connectorColor:s,connectorWidth:r=1}=i.options||{},a=i.dataLabelPosition;if(r){var l;let h;e=i.connector,a&&a.distance>0?(h=!e,e||(i.connector=e=o.renderer.path().addClass("highcharts-data-label-connector highcharts-color-"+t.colorIndex+(t.className?" "+t.className:"")).add(n.dataLabelsGroup)),o.styledMode||e.attr({"stroke-width":r,stroke:s||t.color||"#666666"}),e[h?"attr":"animate"]({d:t.getConnectorPath(i)}),e.attr({visibility:null===(l=a.attribs)||void 0===l?void 0:l.visibility})):e&&(i.connector=e.destroy())}}))}))))}function r(){this.points.forEach((t=>{(t.dataLabels||[]).forEach((t=>{var e;let i=t.dataLabelPosition;i?(i.sideOverflow&&(t.css({width:Math.max(t.getBBox().width-i.sideOverflow,0)+"px",textOverflow:((null===(e=t.options)||void 0===e?void 0:e.style)||{}).textOverflow||"ellipsis"}),t.shortened=!0),t.attr(i.attribs),t[t.moved?"animate":"attr"](i.posAttribs),t.moved=!0):t&&t.attr({y:-9999})})),delete t.distributeBox}),this)}function m(t){let e=this.center,i=this.options,s=i.center,n=i.minSize||80,r=n,o=null!==i.size;return!o&&(null!==s[0]?r=Math.max(e[2]-Math.max(t[1],t[3]),n):(r=Math.max(e[2]-t[1]-t[3],n),e[0]+=(t[3]-t[1])/2),null!==s[1]?r=d(r,n,e[2]-Math.max(t[0],t[2])):(r=d(r,n,e[2]-t[0]-t[2]),e[1]+=(t[0]-t[2])/2),r!(e.x>=t.x+t.width||e.x+e.width<=t.x||e.y>=t.y+t.height||e.y+e.height<=t.y),c=!1;for(let i=0;i(e.labelrank||0)-(t.labelrank||0)));for(let i=0;i{s(t,(t=>{t.label&&e.push(t.label)}))}));for(let s of t.series||[]){var i;if(s.visible&&null!==(i=s.hasDataLabels)&&void 0!==i&&i.call(s)){let i=i=>{for(let s of i)s.visible&&(s.dataLabels||[]).forEach((i=>{var r,a;let l=i.options||{};i.labelrank=n(l.labelrank,s.labelrank,null===(r=s.shapeArgs)||void 0===r?void 0:r.height),(null!==(a=l.allowOverlap)&&void 0!==a?a:Number(l.distance)>0)?(i.oldOpacity=i.opacity,i.newOpacity=1,o(i,t)):e.push(i)}))};i(s.nodes||[]),i(s.points)}}this.hideOverlappingLabels(e)}return{compose:function(t){let i=t.prototype;i.hideOverlappingLabels||(i.hideOverlappingLabels=r,e(t,"render",a))}}})),i(e,"Extensions/BorderRadius.js",[e["Core/Defaults.js"],e["Core/Globals.js"],e["Core/Utilities.js"]],(function(t,e,i){let{defaultOptions:s}=t,{noop:n}=e,{addEvent:r,extend:o,isObject:a,merge:l,relativeLength:h}=i,c={radius:0,scope:"stack",where:void 0},d=n,u=n;function p(t,e,i,s){let n=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{},r=d(t,e,i,s,n),{innerR:o=0,r:a=i,start:l=0,end:c=0}=n;if(n.open||!n.borderRadius)return r;let u=c-l,p=Math.sin(u/2),f=Math.max(Math.min(h(n.borderRadius||0,a-o),(a-o)/2,a*p/(1+p)),0),g=Math.min(f,u/Math.PI*2*o),m=r.length-1;for(;m--;)!function(t,e,i){let s,n,r,o=t[e],a=t[e+1];if("Z"===a[0]&&(a=t[0]),"M"!==o[0]&&"L"!==o[0]||"A"!==a[0]?"A"===o[0]&&("M"===a[0]||"L"===a[0])&&(s=a,n=o):(s=o,n=a,r=!0),s&&n&&n.params){let o=n[1],a=n[5],l=n.params,{start:h,end:c,cx:d,cy:u}=l,p=a?o-i:o+i,f=p?Math.asin(i/p):0,g=a?f:-f,m=Math.cos(f)*p;r?(l.start=h+g,s[1]=d+m*Math.cos(h),s[2]=u+m*Math.sin(h),t.splice(e+1,0,["A",i,i,0,0,1,d+o*Math.cos(l.start),u+o*Math.sin(l.start)])):(l.end=c-g,n[6]=d+o*Math.cos(l.end),n[7]=u+o*Math.sin(l.end),t.splice(e+1,0,["A",i,i,0,0,1,d+m*Math.cos(c),u+m*Math.sin(c)])),n[4]=Math.abs(l.end-l.start)1?g:f);return r}function f(){if(this.options.borderRadius&&(!this.chart.is3d||!this.chart.is3d())){var t;let{options:e,yAxis:i}=this,n="percent"===e.stacking,r=null===(t=s.plotOptions)||void 0===t||null===(t=t[this.type])||void 0===t?void 0:t.borderRadius,l=g(e.borderRadius,a(r)?r:{}),c=i.options.reversed;for(let t of this.points){let{shapeArgs:s}=t;if("roundedRect"===t.shapeType&&s){let{width:r=0,height:a=0,y:d=0}=s,u=d,p=a;if("stack"===l.scope&&t.stackTotal){let s=i.translate(n?100:t.stackTotal,!1,!0,!1,!0),r=i.translate(e.threshold||0,!1,!0,!1,!0),o=this.crispCol(0,Math.min(s,r),0,Math.abs(s-r));u=o.y,p=o.height}let f=(t.negative?-1:1)*(c?-1:1)==-1,g=l.where;!g&&this.is("waterfall")&&Math.abs((t.yBottom||0)-(this.translatedThreshold||0))>this.borderWidth&&(g="all"),g||(g="end");let m=Math.min(h(l.radius,r),r/2,"all"===g?a/2:1/0)||0;"end"===g&&(f&&(u-=m),p+=m),o(s,{brBoxHeight:p,brBoxY:u,r:m})}}}}function g(t,e){return a(t)||(t={radius:t||0}),l(c,e,t)}function m(){let t=g(this.options.borderRadius);for(let e of this.points){let i=e.shapeArgs;i&&(i.borderRadius=h(t.radius,(i.r||0)-(i.innerR||0)))}}function y(t,e,i,s){let n=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{},r=u(t,e,i,s,n),{r:o=0,brBoxHeight:a=s,brBoxY:l=e}=n,h=e-l,c=l+a-(e+s),d=h-o>-.1?0:o,p=c-o>-.1?0:o,f=Math.max(d&&h,0),g=Math.max(p&&c,0),m=[t+d,e],y=[t+i-d,e],x=[t+i,e+d],v=[t+i,e+s-p],b=[t+i-p,e+s],S=[t+p,e+s],k=[t,e+s-p],w=[t,e+d],C=(t,e)=>Math.sqrt(Math.pow(t,2)-Math.pow(e,2));if(f){let t=C(d,d-f);m[0]-=t,y[0]+=t,x[1]=w[1]=e+d-f}if(s=o(i.minWidth,0)&&this.chartHeight>=o(i.minHeight,0)}).call(this)&&e.push(t._id)}function l(t,e){let s,o=this.options.responsive,l=this.currentResponsive,h=[];!e&&o&&o.rules&&o.rules.forEach((t=>{void 0===t._id&&(t._id=a()),this.matchResponsiveRule(t,h)}),this);let c=r(...h.map((t=>n((o||{}).rules||[],(e=>e._id===t)))).map((t=>t&&t.chartOptions)));c.isResponsiveOptions=!0,h=h.toString()||void 0;let d=l&&l.ruleIds;h!==d&&(l&&this.update(l.undoOptions,t,!0),h?((s=i(c,this.options,!0,this.collectionsWithUpdate)).isResponsiveOptions=!0,this.currentResponsive={ruleIds:h,mergedOptions:c,undoOptions:s},this.update(c,t,!0)):this.currentResponsive=void 0)}t.compose=function(t){let i=t.prototype;return i.matchResponsiveRule||s(i,{matchResponsiveRule:e,setResponsive:l}),t}}(e||(e={})),e})),i(e,"masters/highcharts.src.js",[e["Core/Globals.js"],e["Core/Utilities.js"],e["Core/Defaults.js"],e["Core/Animation/Fx.js"],e["Core/Animation/AnimationUtilities.js"],e["Core/Renderer/HTML/AST.js"],e["Core/Templating.js"],e["Core/Renderer/RendererRegistry.js"],e["Core/Renderer/RendererUtilities.js"],e["Core/Renderer/SVG/SVGElement.js"],e["Core/Renderer/SVG/SVGRenderer.js"],e["Core/Renderer/HTML/HTMLElement.js"],e["Core/Axis/Axis.js"],e["Core/Axis/DateTimeAxis.js"],e["Core/Axis/LogarithmicAxis.js"],e["Core/Axis/PlotLineOrBand/PlotLineOrBand.js"],e["Core/Axis/Tick.js"],e["Core/Tooltip.js"],e["Core/Series/Point.js"],e["Core/Pointer.js"],e["Core/Legend/Legend.js"],e["Core/Legend/LegendSymbol.js"],e["Core/Chart/Chart.js"],e["Extensions/ScrollablePlotArea.js"],e["Core/Axis/Stacking/StackingAxis.js"],e["Core/Axis/Stacking/StackItem.js"],e["Core/Series/Series.js"],e["Core/Series/SeriesRegistry.js"],e["Series/Column/ColumnDataLabel.js"],e["Series/Pie/PieDataLabel.js"],e["Core/Series/DataLabel.js"],e["Extensions/OverlappingDataLabels.js"],e["Extensions/BorderRadius.js"],e["Core/Responsive.js"],e["Core/Color/Color.js"],e["Core/Time.js"]],(function(t,e,i,s,n,r,o,a,l,h,c,d,u,p,f,g,m,y,x,v,b,S,k,w,C,A,M,T,P,E,O,L,D,j,N,R){return t.AST=r,t.Axis=u,t.Chart=k,t.Color=N,t.DataLabel=O,t.Fx=s,t.HTMLElement=d,t.Legend=b,t.LegendSymbol=S,t.OverlappingDataLabels=t.OverlappingDataLabels||L,t.PlotLineOrBand=g,t.Point=x,t.Pointer=v,t.RendererRegistry=a,t.Series=M,t.SeriesRegistry=T,t.StackItem=A,t.SVGElement=h,t.SVGRenderer=c,t.Templating=o,t.Tick=m,t.Time=R,t.Tooltip=y,t.animate=n.animate,t.animObject=n.animObject,t.chart=k.chart,t.color=N.parse,t.dateFormat=o.dateFormat,t.defaultOptions=i.defaultOptions,t.distribute=l.distribute,t.format=o.format,t.getDeferredAnimation=n.getDeferredAnimation,t.getOptions=i.getOptions,t.numberFormat=o.numberFormat,t.seriesType=T.seriesType,t.setAnimation=n.setAnimation,t.setOptions=i.setOptions,t.stop=n.stop,t.time=i.defaultTime,t.timers=s.timers,D.compose(t.Series,t.SVGElement,t.SVGRenderer),P.compose(t.Series.types.column),O.compose(t.Series),p.compose(t.Axis),d.compose(t.SVGRenderer),b.compose(t.Chart),f.compose(t.Axis),L.compose(t.Chart),E.compose(t.Series.types.pie),g.compose(t.Axis),v.compose(t.Chart),j.compose(t.Chart),w.compose(t.Axis,t.Chart,t.Series),C.compose(t.Axis,t.Chart,t.Series),y.compose(t.Pointer),e.extend(t,e),t})),e["masters/highcharts.src.js"]._modules=e,e["masters/highcharts.src.js"]},t.exports?(r.default=r,t.exports=n&&n.document?r(n):r):void 0===(s=function(){return r(n)}.call(e,i,e,t))||(t.exports=s)},4239:function(t,e,i){var s,n,r;n="undefined"!=typeof window?window:this,r=function(t){"use strict";var e={};function i(e,i,s,n){e.hasOwnProperty(i)||(e[i]=n.apply(null,s),"function"==typeof CustomEvent&&t.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:i,module:e[i]}})))}return i(e,"Core/Globals.js",[],(function(){var e,i;return(i=e||(e={})).SVG_NS="http://www.w3.org/2000/svg",i.product="Highcharts",i.version="11.4.0",i.win=void 0!==t?t:{},i.doc=i.win.document,i.svg=i.doc&&i.doc.createElementNS&&!!i.doc.createElementNS(i.SVG_NS,"svg").createSVGRect,i.userAgent=i.win.navigator&&i.win.navigator.userAgent||"",i.isChrome=-1!==i.userAgent.indexOf("Chrome"),i.isFirefox=-1!==i.userAgent.indexOf("Firefox"),i.isMS=/(edge|msie|trident)/i.test(i.userAgent)&&!i.win.opera,i.isSafari=!i.isChrome&&-1!==i.userAgent.indexOf("Safari"),i.isTouchDevice=/(Mobile|Android|Windows Phone)/.test(i.userAgent),i.isWebKit=-1!==i.userAgent.indexOf("AppleWebKit"),i.deg2rad=2*Math.PI/360,i.hasBidiBug=i.isFirefox&&4>parseInt(i.userAgent.split("Firefox/")[1],10),i.marginNames=["plotTop","marginRight","marginBottom","plotLeft"],i.noop=function(){},i.supportsPassiveEvents=function(){let t=!1;if(!i.isMS){let e=Object.defineProperty({},"passive",{get:function(){t=!0}});i.win.addEventListener&&i.win.removeEventListener&&(i.win.addEventListener("testPassive",i.noop,e),i.win.removeEventListener("testPassive",i.noop,e))}return t}(),i.charts=[],i.composed=[],i.dateFormats={},i.seriesTypes={},i.symbolSizes={},i.chartCount=0,e})),i(e,"Core/Utilities.js",[e["Core/Globals.js"]],(function(t){let e,{charts:i,doc:s,win:n}=t;function r(e,i,s,o){let a=i?"Highcharts error":"Highcharts warning";32===e&&(e="".concat(a,": Deprecated member"));let l=u(e),h=l?"".concat(a," #").concat(e,": www.highcharts.com/errors/").concat(e,"/"):e.toString();if(void 0!==o){let t="";l&&(h+="?"),k(o,(function(e,i){t+="\n - ".concat(i,": ").concat(e),l&&(h+=encodeURI(i)+"="+encodeURI(e))})),h+=t}C(t,"displayError",{chart:s,code:e,message:h,params:o},(function(){if(i)throw Error(h);n.console&&-1===r.messages.indexOf(h)&&console.warn(h)})),r.messages.push(h)}function o(t,e){return parseInt(t,e||10)}function a(t){return"string"==typeof t}function l(t){let e=Object.prototype.toString.call(t);return"[object Array]"===e||"[object Array Iterator]"===e}function h(t,e){return!!t&&"object"==typeof t&&(!e||!l(t))}function c(t){return h(t)&&"number"==typeof t.nodeType}function d(t){let e=t&&t.constructor;return!(!h(t,!0)||c(t)||!e||!e.name||"Object"===e.name)}function u(t){return"number"==typeof t&&!isNaN(t)&&t<1/0&&t>-1/0}function p(t){return null!=t}function f(t,e,i){let s,n=a(e)&&!p(i),r=(e,i)=>{p(e)?t.setAttribute(i,e):n?(s=t.getAttribute(i))||"class"!==i||(s=t.getAttribute(i+"Name")):t.removeAttribute(i)};return a(e)?r(i,e):k(e,r),s}function g(t){return l(t)?t:[t]}function m(t,e){let i;for(i in t||(t={}),e)t[i]=e[i];return t}function y(){let t=arguments,e=t.length;for(let i=0;i1e14?t:parseFloat(t.toPrecision(e||14))}(r||(r={})).messages=[],Math.easeInOutSine=function(t){return-.5*(Math.cos(Math.PI*t)-1)};let S=Array.prototype.find?function(t,e){return t.find(e)}:function(t,e){let i,s=t.length;for(i=0;it.order-e.order)),t.forEach((t=>{!1===t.fn.call(e,n)&&n.preventDefault()}))}r&&!n.defaultPrevented&&r.call(e,n)}k({map:"map",each:"forEach",grep:"filter",reduce:"reduce",some:"some"},(function(e,i){t[i]=function(t){return r(32,!1,void 0,{["Highcharts.".concat(i)]:"use Array.".concat(e)}),Array.prototype[e].apply(t,[].slice.call(arguments,1))}}));let A=function(){let t=Math.random().toString(36).substring(2,9)+"-",i=0;return function(){return"highcharts-"+(e?"":t)+i++}}();return n.jQuery&&(n.jQuery.fn.highcharts=function(){let e=[].slice.call(arguments);if(this[0])return e[0]?(new(t[a(e[0])?e.shift():"Chart"])(this[0],e[0],e[1]),this):i[f(this[0],"data-highcharts-chart")]}),{addEvent:function(e,i,s){let n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},r="function"==typeof e&&e.prototype||e;Object.hasOwnProperty.call(r,"hcEvents")||(r.hcEvents={});let o=r.hcEvents;t.Point&&e instanceof t.Point&&e.series&&e.series.chart&&(e.series.chart.runTrackerClick=!0);let a=e.addEventListener;a&&a.call(e,i,s,!!t.supportsPassiveEvents&&{passive:void 0===n.passive?-1!==i.indexOf("touch"):n.passive,capture:!1}),o[i]||(o[i]=[]);let l={fn:s,order:"number"==typeof n.order?n.order:1/0};return o[i].push(l),o[i].sort(((t,e)=>t.order-e.order)),function(){w(e,i,s)}},arrayMax:function(t){let e=t.length,i=t[0];for(;e--;)t[e]>i&&(i=t[e]);return i},arrayMin:function(t){let e=t.length,i=t[0];for(;e--;)t[e]e?t-1&&n[c]){i=g(i),r[c]=[];for(let e=0;e{if(t.length>1)for(r=s=t.length-1;r>0;r--){var a;(n=t[r]-t[r-1])<0&&!o?(null!==(a=e)&&void 0!==a&&a(),e=void 0):n&&(void 0===i||n=i-1&&(i=Math.floor(s)),Math.max(0,i-(t(e,"padding-left",!0)||0)-(t(e,"padding-right",!0)||0))}if("height"===i)return Math.max(0,Math.min(e.offsetHeight,e.scrollHeight)-(t(e,"padding-top",!0)||0)-(t(e,"padding-bottom",!0)||0));let a=n.getComputedStyle(e,void 0);return a&&(r=a.getPropertyValue(i),y(s,"opacity"!==i)&&(r=o(r))),r},inArray:function(t,e,i){return r(32,!1,void 0,{"Highcharts.inArray":"use Array.indexOf"}),e.indexOf(t,i)},insertItem:function(t,e){let i,s=t.options.index,n=e.length;for(i=t.options.isInternal?n:0;i=t))&&(n||!(a<=(e[r]+(e[r+1]||e[r]))/2)));r++);return b(o*i,-Math.round(Math.log(.001)/Math.LN10))},objectEach:k,offset:function(t){let e=s.documentElement,i=t.parentElement||t.parentNode?t.getBoundingClientRect():{top:0,left:0,width:0,height:0};return{top:i.top+(n.pageYOffset||e.scrollTop)-(e.clientTop||0),left:i.left+(n.pageXOffset||e.scrollLeft)-(e.clientLeft||0),width:i.width,height:i.height}},pad:function(t,e,i){return Array((e||2)+1-String(t).replace("-","").length).join(i||"0")+t},pick:y,pInt:o,pushUnique:function(t,e){return 0>t.indexOf(e)&&!!t.push(e)},relativeLength:function(t,e,i){return/%$/.test(t)?e*parseFloat(t)/100+(i||0):parseFloat(t)},removeEvent:w,replaceNested:function(t){let e,i;for(var s=arguments.length,n=new Array(s>1?s-1:0),r=1;r0?setTimeout(t,e,i):(t.call(0,i),-1)},timeUnits:{millisecond:1,second:1e3,minute:6e4,hour:36e5,day:864e5,week:6048e5,month:24192e5,year:314496e5},uniqueKey:A,useSerialIds:function(t){return e=y(t,e)},wrap:function(t,e,i){let s=t[e];t[e]=function(){let t=arguments,e=this;return i.apply(this,[function(){return s.apply(e,arguments.length?arguments:t)}].concat([].slice.call(arguments)))}}}})),i(e,"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"}})),i(e,"Core/Color/Palettes.js",[],(function(){return{colors:["#2caffe","#544fc5","#00e272","#fe6a35","#6b8abc","#d568fb","#2ee0ca","#fa4b42","#feb56a","#91e8e1"]}})),i(e,"Core/Time.js",[e["Core/Globals.js"],e["Core/Utilities.js"]],(function(t,e){let{win:i}=t,{defined:s,error:n,extend:r,isNumber:o,isObject:a,merge:l,objectEach:h,pad:c,pick:d,splat:u,timeUnits:p}=e,f=t.isSafari&&i.Intl&&i.Intl.DateTimeFormat.prototype.formatRange,g=t.isSafari&&i.Intl&&!i.Intl.DateTimeFormat.prototype.formatRange;class m{constructor(t){this.options={},this.useUTC=!1,this.variableTimezone=!1,this.Date=i.Date,this.getTimezoneOffset=this.timezoneOffsetFunction(),this.update(t)}get(t,e){if(this.variableTimezone||this.timezoneOffset){let i=e.getTime(),s=i-this.getTimezoneOffset(e);e.setTime(s);let n=e["getUTC"+t]();return e.setTime(i),n}return this.useUTC?e["getUTC"+t]():e["get"+t]()}set(t,e,i){if(this.variableTimezone||this.timezoneOffset){if("Milliseconds"===t||"Seconds"===t||"Minutes"===t&&this.getTimezoneOffset(e)%36e5==0)return e["setUTC"+t](i);let s=this.getTimezoneOffset(e),n=e.getTime()-s;e.setTime(n),e["setUTC"+t](i);let r=this.getTimezoneOffset(e);return n=e.getTime()+r,e.setTime(n)}return this.useUTC||f&&"FullYear"===t?e["setUTC"+t](i):e["set"+t](i)}update(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=d(t.useUTC,!0);this.options=t=l(!0,this.options,t),this.Date=t.Date||i.Date||Date,this.useUTC=e,this.timezoneOffset=e&&t.timezoneOffset||void 0,this.getTimezoneOffset=this.timezoneOffsetFunction(),this.variableTimezone=e&&!(!t.getTimezoneOffset&&!t.timezone)}makeTime(t,e,i,s,n,r){let o,a,l;return this.useUTC?(o=this.Date.UTC.apply(0,arguments),a=this.getTimezoneOffset(o),o+=a,a!==(l=this.getTimezoneOffset(o))?o+=l-a:a-36e5!==this.getTimezoneOffset(o-36e5)||g||(o-=36e5)):o=new this.Date(t,e,d(i,1),d(s,0),d(n,0),d(r,0)).getTime(),o}timezoneOffsetFunction(){let t=this,e=this.options,i=e.getTimezoneOffset;return this.useUTC?e.timezone?t=>{try{let i="shortOffset,".concat(e.timezone||""),[s,n,r,a,l=0]=(m.formatCache[i]=m.formatCache[i]||Intl.DateTimeFormat("en",{timeZone:e.timezone,timeZoneName:"shortOffset"})).format(t).split(/(GMT|:)/).map(Number),h=-36e5*(r+l/60);if(o(h))return h}catch(t){n(34)}return 0}:this.useUTC&&i?t=>6e4*i(t.valueOf()):()=>6e4*(t.timezoneOffset||0):t=>6e4*new Date(t.toString()).getTimezoneOffset()}dateFormat(e,i,n){if(!s(i)||isNaN(i))return t.defaultOptions.lang&&t.defaultOptions.lang.invalidDate||"";e=d(e,"%Y-%m-%d %H:%M:%S");let o=this,a=new this.Date(i),l=this.get("Hours",a),u=this.get("Day",a),p=this.get("Date",a),f=this.get("Month",a),g=this.get("FullYear",a),m=t.defaultOptions.lang,y=m&&m.weekdays,x=m&&m.shortWeekdays;return h(r({a:x?x[u]:y[u].substr(0,3),A:y[u],d:c(p),e:c(p,2," "),w:u,b:m.shortMonths[f],B:m.months[f],m:c(f+1),o:f+1,y:g.toString().substr(2,2),Y:g,H:c(l),k:l,I:c(l%12||12),l:l%12||12,M:c(this.get("Minutes",a)),p:l<12?"AM":"PM",P:l<12?"am":"pm",S:c(this.get("Seconds",a)),L:c(Math.floor(i%1e3),3)},t.dateFormats),(function(t,s){for(;-1!==e.indexOf("%"+s);)e=e.replace("%"+s,"function"==typeof t?t.call(o,i):t)})),n?e.substr(0,1).toUpperCase()+e.substr(1):e}resolveDTLFormat(t){return a(t,!0)?t:{main:(t=u(t))[0],from:t[1],to:t[2]}}getTimeTicks(t,e,i,n){let o,a,l,h,c=this,u=c.Date,f=[],g={},m=new u(e),y=t.unitRange,x=t.count||1;if(n=d(n,1),s(e)){c.set("Milliseconds",m,y>=p.second?0:x*Math.floor(c.get("Milliseconds",m)/x)),y>=p.second&&c.set("Seconds",m,y>=p.minute?0:x*Math.floor(c.get("Seconds",m)/x)),y>=p.minute&&c.set("Minutes",m,y>=p.hour?0:x*Math.floor(c.get("Minutes",m)/x)),y>=p.hour&&c.set("Hours",m,y>=p.day?0:x*Math.floor(c.get("Hours",m)/x)),y>=p.day&&c.set("Date",m,y>=p.month?1:Math.max(1,x*Math.floor(c.get("Date",m)/x))),y>=p.month&&(c.set("Month",m,y>=p.year?0:x*Math.floor(c.get("Month",m)/x)),a=c.get("FullYear",m)),y>=p.year&&(a-=a%x,c.set("FullYear",m,a)),y===p.week&&(h=c.get("Day",m),c.set("Date",m,c.get("Date",m)-h+n+(h4*p.month||c.getTimezoneOffset(e)!==c.getTimezoneOffset(i));let u=m.getTime();for(o=1;u1?u=c.makeTime(a,t,r,d+o*x):u+=y*x:u=c.makeTime(a,t,r+o*x*(y===p.day?1:7)),o++;f.push(u),y<=p.hour&&f.length<1e4&&f.forEach((function(t){t%18e5==0&&"000000000"===c.dateFormat("%H%M%S%L",t)&&(g[t]="day")}))}return f.info=r(t,{higherRanks:g,totalRange:y*x}),f}getDateFormat(t,e,i,s){let n=this.dateFormat("%m-%d %H:%M:%S.%L",e),r="01-01 00:00:00.000",o={millisecond:15,second:12,minute:9,hour:6,day:3},a="millisecond",l=a;for(a in p){if(t===p.week&&+this.dateFormat("%w",e)===i&&n.substr(6)===r.substr(6)){a="week";break}if(p[a]>t){a=l;break}if(o[a]&&n.substr(o[a])!==r.substr(o[a]))break;"week"!==a&&(l=a)}return this.resolveDTLFormat(s[a]).main}}return m.formatCache={},m})),i(e,"Core/Defaults.js",[e["Core/Chart/ChartDefaults.js"],e["Core/Globals.js"],e["Core/Color/Palettes.js"],e["Core/Time.js"],e["Core/Utilities.js"]],(function(t,e,i,s,n){let{isTouchDevice:r,svg:o}=e,{merge:a}=n,l={colors:i.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:{},time:{Date:void 0,getTimezoneOffset:void 0,timezone:void 0,timezoneOffset:0,useUTC:!0},chart:t,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",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:o,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:r?25:10,headerFormat:'{point.key}
',pointFormat:'\u25cf {series.name}: {point.y}
',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"}};l.chart.styledMode=!1;let h=new s(l.time);return{defaultOptions:l,defaultTime:h,getOptions:function(){return l},setOptions:function(t){return a(!0,l,t),(t.time||t.global)&&(e.time?e.time.update(a(l.global,l.time,t.global,t.time)):e.time=h),l}}})),i(e,"Core/Color/Color.js",[e["Core/Globals.js"],e["Core/Utilities.js"]],(function(t,e){let{isNumber:i,merge:s,pInt:n}=e;class r{static parse(t){return t?new r(t):r.None}constructor(e){let i,s,n,o;this.rgba=[NaN,NaN,NaN,NaN],this.input=e;let a=t.Color;if(a&&a!==r)return new a(e);if("object"==typeof e&&void 0!==e.stops)this.stops=e.stops.map((t=>new r(t[1])));else if("string"==typeof e){if(this.input=e=r.names[e.toLowerCase()]||e,"#"===e.charAt(0)){let t=e.length,i=parseInt(e.substr(1),16);7===t?s=[(16711680&i)>>16,(65280&i)>>8,255&i,1]:4===t&&(s=[(3840&i)>>4|(3840&i)>>8,(240&i)>>4|240&i,(15&i)<<4|15&i,1])}if(!s)for(n=r.parsers.length;n--&&!s;)(i=(o=r.parsers[n]).regex.exec(e))&&(s=o.parse(i))}s&&(this.rgba=s)}get(t){let e=this.input,n=this.rgba;if("object"==typeof e&&void 0!==this.stops){let i=s(e);return i.stops=[].slice.call(i.stops),this.stops.forEach(((e,s)=>{i.stops[s]=[i.stops[s][0],e.get(t)]})),i}return n&&i(n[0])?"rgb"===t||!t&&1===n[3]?"rgb("+n[0]+","+n[1]+","+n[2]+")":"a"===t?"".concat(n[3]):"rgba("+n.join(",")+")":e}brighten(t){let e=this.rgba;if(this.stops)this.stops.forEach((function(e){e.brighten(t)}));else if(i(t)&&0!==t)for(let i=0;i<3;i++)e[i]+=n(255*t),e[i]<0&&(e[i]=0),e[i]>255&&(e[i]=255);return this}setOpacity(t){return this.rgba[3]=t,this}tweenTo(t,e){let s=this.rgba,n=t.rgba;if(!i(s[0])||!i(n[0]))return t.input||"none";let r=1!==n[3]||1!==s[3];return(r?"rgba(":"rgb(")+Math.round(n[0]+(s[0]-n[0])*(1-e))+","+Math.round(n[1]+(s[1]-n[1])*(1-e))+","+Math.round(n[2]+(s[2]-n[2])*(1-e))+(r?","+(n[3]+(s[3]-n[3])*(1-e)):"")+")"}}return r.names={white:"#ffffff",black:"#000000"},r.parsers=[{regex:/rgba\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]?(?:\.[0-9]+)?)\s*\)/,parse:function(t){return[n(t[1]),n(t[2]),n(t[3]),parseFloat(t[4],10)]}},{regex:/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/,parse:function(t){return[n(t[1]),n(t[2]),n(t[3]),1]}}],r.None=new r(""),r})),i(e,"Core/Animation/Fx.js",[e["Core/Color/Color.js"],e["Core/Globals.js"],e["Core/Utilities.js"]],(function(t,e,i){let{parse:s}=t,{win:n}=e,{isNumber:r,objectEach:o}=i;class a{constructor(t,e,i){this.pos=NaN,this.options=e,this.elem=t,this.prop=i}dSetter(){let t=this.paths,e=t&&t[0],i=t&&t[1],s=this.now||0,n=[];if(1!==s&&e&&i)if(e.length===i.length&&s<1)for(let o=0;o=l+this.startTime?(this.now=this.end,this.pos=1,this.update(),h[this.prop]=!0,i=!0,o(h,(function(t){!0!==t&&(i=!1)})),i&&a&&a.call(r),e=!1):(this.pos=n.easing((s-this.startTime)/l),this.now=this.start+(this.end-this.start)*this.pos,this.update(),e=!0),e}initPath(t,e,i){let s,n,o,a,l=t.startX,h=t.endX,c=i.slice(),d=t.isArea,u=d?2:1,p=e&&e.slice();if(!p)return[c,c];function f(t,e){for(;t.length{let s=c(t.options.animation);a=o(e)&&i(e.defer)?n.defer:Math.max(a,s.duration+s.defer),l=Math.min(n.duration,s.duration)})),t.renderer.forExport&&(a=0),{defer:Math.max(0,a-l),duration:Math.min(a,l)}},setAnimation:function(t,e){e.renderer.globalAnimation=h(t,e.options.chart.animation,!0)},stop:d}})),i(e,"Core/Renderer/HTML/AST.js",[e["Core/Globals.js"],e["Core/Utilities.js"]],(function(t,e){let{SVG_NS:i,win:s}=t,{attr:n,createElement:r,css:o,error:a,isFunction:l,isString:h,objectEach:c,splat:d}=e,{trustedTypes:u}=s,p=u&&l(u.createPolicy)&&u.createPolicy("highcharts",{createHTML:t=>t}),f=p?p.createHTML(""):"",g=function(){try{return!!(new DOMParser).parseFromString(f,"text/html")}catch(t){return!1}}();class m{static filterUserAttributes(t){return c(t,((e,i)=>{let s=!0;-1===m.allowedAttributes.indexOf(i)&&(s=!1),-1!==["background","dynsrc","href","lowsrc","src"].indexOf(i)&&(s=h(e)&&m.allowedReferences.some((t=>0===e.indexOf(t)))),s||(a(33,!1,void 0,{"Invalid attribute in config":"".concat(i)}),delete t[i]),h(e)&&t[i]&&(t[i]=e.replace(/{let i=e.split(":").map((t=>t.trim())),s=i.shift();return s&&i.length&&(t[s.replace(/-([a-z])/g,(t=>t[1].toUpperCase()))]=i.join(":")),t}),{})}static setElementHTML(t,e){t.innerHTML=m.emptyHTML,e&&new m(e).addToDOM(t)}constructor(t){this.nodes="string"==typeof t?this.parseMarkup(t):t}addToDOM(e){return function e(s,r){let l;return d(s).forEach((function(s){let h,d=s.tagName,u=s.textContent?t.doc.createTextNode(s.textContent):void 0,p=m.bypassHTMLFiltering;if(d)if("#text"===d)h=u;else if(-1!==m.allowedTags.indexOf(d)||p){let a="svg"===d?i:r.namespaceURI||i,l=t.doc.createElementNS(a,d),f=s.attributes||{};c(s,(function(t,e){"tagName"!==e&&"attributes"!==e&&"children"!==e&&"style"!==e&&"textContent"!==e&&(f[e]=t)})),n(l,p?f:m.filterUserAttributes(f)),s.style&&o(l,s.style),u&&l.appendChild(u),e(s.children||[],l),h=l}else a(33,!1,void 0,{"Invalid tagName in config":d});h&&r.appendChild(h),l=h})),l}(this.nodes,e)}parseMarkup(t){let e,i=[];if(t=t.trim().replace(/ style=(["'])/g," data-style=$1"),g)e=(new DOMParser).parseFromString(p?p.createHTML(t):t,"text/html");else{let i=r("div");i.innerHTML=t,e={body:i}}let s=(t,e)=>{let i=t.nodeName.toLowerCase(),n={tagName:i};"#text"===i&&(n.textContent=t.textContent||"");let r=t.attributes;if(r){let t={};[].forEach.call(r,(e=>{"data-style"===e.name?n.style=m.parseStyle(e.value):t[e.name]=e.value})),n.attributes=t}if(t.childNodes.length){let e=[];[].forEach.call(t.childNodes,(t=>{s(t,e)})),e.length&&(n.children=e)}e.push(n)};return[].forEach.call(e.body.childNodes,(t=>s(t,i))),i}}return m.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","markerHeight","markerWidth","offset","opacity","orient","padding","paddingLeft","paddingRight","patternUnits","r","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"],m.allowedReferences=["https://","http://","mailto:","/","../","./","#"],m.allowedTags=["a","abbr","b","br","button","caption","circle","clipPath","code","dd","defs","div","dl","dt","em","feComponentTransfer","feDropShadow","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","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"],m.emptyHTML=f,m.bypassHTMLFiltering=!1,m})),i(e,"Core/Templating.js",[e["Core/Defaults.js"],e["Core/Utilities.js"]],(function(t,e){let{defaultOptions:i,defaultTime:s}=t,{extend:n,getNestedProperty:r,isArray:o,isNumber:a,isObject:l,pick:h,pInt:c}=e,d={add:(t,e)=>t+e,divide:(t,e)=>0!==e?t/e:"",eq:(t,e)=>t==e,each:function(t){let e=arguments[arguments.length-1];return!!o(t)&&t.map(((i,s)=>u(e.body,n(l(i)?i:{"@this":i},{"@index":s,"@first":0===s,"@last":s===t.length-1})))).join("")},ge:(t,e)=>t>=e,gt:(t,e)=>t>e,if:t=>!!t,le:(t,e)=>t<=e,lt:(t,e)=>tt*e,ne:(t,e)=>t!=e,subtract:(t,e)=>t-e,unless:t=>!t};function u(){let t,e,n,o=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",a=arguments.length>1?arguments[1]:void 0,l=arguments.length>2?arguments[2]:void 0,c=/\{([a-zA-Z0-9\:\.\,;\-\/<>%_@"'= #\(\)]+)\}/g,f=/\(([a-zA-Z0-9\:\.\,;\-\/<>%_@"'= ]+)\)/g,g=[],m=/f$/,y=/\.([0-9])/,x=i.lang,v=l&&l.time||s,b=l&&l.numberFormatter||p,S=function(){let t,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return"true"===e||"false"!==e&&((t=Number(e)).toString()===e?t:r(e,a))},k=0;for(;null!==(t=c.exec(o));){var w;let i=f.exec(t[1]);i&&(t=i,n=!0),e&&e.isBlock||(e={ctx:a,expression:t[1],find:t[0],isBlock:"#"===t[1].charAt(0),start:t.index,startInner:t.index+t[0].length,length:t[0].length});let s=t[1].split(" ")[0].replace("#","");d[s]&&(e.isBlock&&s===e.fn&&k++,e.fn||(e.fn=s));let r="else"===t[1];if(e.isBlock&&e.fn&&(t[1]==="/".concat(e.fn)||r))if(k)!r&&k--;else{let i=e.startInner,s=o.substr(i,t.index-i);void 0===e.body?(e.body=s,e.startInner=t.index+t[0].length):e.elseBody=s,e.find+=s+t[0],r||(g.push(e),e=void 0)}else e.isBlock||g.push(e);if(i&&(null===(w=e)||void 0===w||!w.isBlock))break}return g.forEach((t=>{let e,i,{body:s,elseBody:n,expression:r,fn:l}=t;if(l){let o=[t],h=r.split(" ");for(i=d[l].length;i--;)o.unshift(S(h[i+1]));e=d[l].apply(a,o),t.isBlock&&"boolean"==typeof e&&(e=u(e?s:n,a))}else{let t=r.split(":");if(e=S(t.shift()||""),t.length&&"number"==typeof e){let i=t.join(":");if(m.test(i)){let t=parseInt((i.match(y)||["","-1"])[1],10);null!==e&&(e=b(e,t,x.decimalPoint,i.indexOf(",")>-1?x.thousandsSep:""))}else e=v.dateFormat(i,e)}}o=o.replace(t.find,h(e,""))})),n?u(o,a,l):o}function p(t,e,s,n){let r,o;t=+t||0,e=+e;let l=i.lang,d=(t.toString().split(".")[1]||"").split("e")[0].length,u=t.toString().split("e"),p=e;-1===e?e=Math.min(d,20):a(e)?e&&u[1]&&u[1]<0&&((o=e+ +u[1])>=0?(u[0]=(+u[0]).toExponential(o).split("e")[0],e=o):(u[0]=u[0].split(".")[0]||0,t=e<20?(u[0]*Math.pow(10,u[1])).toFixed(e):0,u[1]=0)):e=2;let f=(Math.abs(u[1]?u[0]:t)+Math.pow(10,-Math.max(e,d)-1)).toFixed(e),g=String(c(f)),m=g.length>3?g.length%3:0;return s=h(s,l.decimalPoint),n=h(n,l.thousandsSep),r=(t<0?"-":"")+(m?g.substr(0,m)+n:""),0>+u[1]&&!p?r="0":r+=g.substr(m).replace(/(\d{3})(?=\d)/g,"$1"+n),e&&(r+=s+f.slice(-e)),u[1]&&0!=+r&&(r+="e"+u[1]),r}return{dateFormat:function(t,e,i){return s.dateFormat(t,e,i)},format:u,helpers:d,numberFormat:p}})),i(e,"Core/Renderer/RendererRegistry.js",[e["Core/Globals.js"]],(function(t){var e,i;let s;return(i=e||(e={})).rendererTypes={},i.getRendererType=function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:s;return i.rendererTypes[t]||i.rendererTypes[s]},i.registerRendererType=function(e,n,r){i.rendererTypes[e]=n,(!s||r)&&(s=e,t.Renderer=n)},e})),i(e,"Core/Renderer/RendererUtilities.js",[e["Core/Utilities.js"]],(function(t){var e;let{clamp:i,pick:s,pushUnique:n,stableSort:r}=t;return(e||(e={})).distribute=function t(e,o,a){let l,h,c,d,u,p,f=e,g=f.reducedLen||o,m=(t,e)=>t.target-e.target,y=[],x=e.length,v=[],b=y.push,S=!0,k=0;for(l=x;l--;)k+=e[l].size;if(k>g){for(r(e,((t,e)=>(e.rank||0)-(t.rank||0))),c=(p=e[0].rank===e[e.length-1].rank)?x/2:-1,h=p?c:x-1;c&&k>g;)d=e[l=Math.floor(h)],n(v,l)&&(k-=d.size),h+=c,p&&h>=e.length&&(c/=2,h=c);v.sort(((t,e)=>e-t)).forEach((t=>b.apply(y,e.splice(t,1))))}for(r(e,m),e=e.map((t=>({size:t.size,targets:[t.target],align:s(t.align,.5)})));S;){for(l=e.length;l--;)d=e[l],u=(Math.min.apply(0,d.targets)+Math.max.apply(0,d.targets))/2,d.pos=i(u-d.size*d.align,0,o-d.size);for(l=e.length,S=!1;l--;)l>0&&e[l-1].pos+e[l-1].size>e[l].pos&&(e[l-1].size+=e[l].size,e[l-1].targets=e[l-1].targets.concat(e[l].targets),e[l-1].align=.5,e[l-1].pos+e[l-1].size>o&&(e[l-1].pos=o-e[l-1].size),e.splice(l,1),S=!0)}return b.apply(f,y),l=0,e.some((e=>{let i=0;return(e.targets||[]).some((()=>(f[l].pos=e.pos+i,void 0!==a&&Math.abs(f[l].pos-f[l].target)>a?(f.slice(0,l+1).forEach((t=>delete t.pos)),f.reducedLen=(f.reducedLen||o)-.1*o,f.reducedLen>.1*o&&t(f,o,a),!0):(i+=f[l].size,l++,!1))))})),r(f,m),f},e})),i(e,"Core/Renderer/SVG/SVGElement.js",[e["Core/Animation/AnimationUtilities.js"],e["Core/Color/Color.js"],e["Core/Globals.js"],e["Core/Utilities.js"]],(function(t,e,i,s){let{animate:n,animObject:r,stop:o}=t,{deg2rad:a,doc:l,svg:h,SVG_NS:c,win:d}=i,{addEvent:u,attr:p,createElement:f,css:g,defined:m,erase:y,extend:x,fireEvent:v,isArray:b,isFunction:S,isObject:k,isString:w,merge:C,objectEach:A,pick:M,pInt:T,replaceNested:P,syncTimeout:E,uniqueKey:O}=s;class L{_defaultGetter(t){let e=M(this[t+"Value"],this[t],this.element?this.element.getAttribute(t):null,0);return/^[\-0-9\.]+$/.test(e)&&(e=parseFloat(e)),e}_defaultSetter(t,e,i){i.setAttribute(e,t)}add(t){let e,i=this.renderer,s=this.element;return t&&(this.parentGroup=t),void 0!==this.textStr&&"text"===this.element.nodeName&&i.buildText(this),this.added=!0,(!t||t.handleZ||this.zIndex)&&(e=this.zIndexSetter()),e||(t?t.element:i.box).appendChild(s),this.onAdd&&this.onAdd(),this}addClass(t,e){let i=e?"":this.attr("class")||"";return(t=(t||"").split(/ /g).reduce((function(t,e){return-1===i.indexOf(e)&&t.push(e),t}),i?[i]:[]).join(" "))!==i&&this.attr("class",t),this}afterSetters(){this.doTransform&&(this.updateTransform(),this.doTransform=!1)}align(t,e,i){let s,n,r,o,a,l=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],h={},c=this.renderer,d=c.alignedObjects;t?(this.alignOptions=t,this.alignByTranslate=e,(!i||w(i))&&(this.alignTo=r=i||"renderer",y(d,this),d.push(this),i=void 0)):(t=this.alignOptions,e=this.alignByTranslate,r=this.alignTo),i=M(i,c[r],c);let u=t.align,p=t.verticalAlign;return s=(i.x||0)+(t.x||0),n=(i.y||0)+(t.y||0),"right"===u?o=1:"center"===u&&(o=2),o&&(s+=(i.width-(t.width||0))/o),h[e?"translateX":"x"]=Math.round(s),"bottom"===p?a=1:"middle"===p&&(a=2),a&&(n+=(i.height-(t.height||0))/a),h[e?"translateY":"y"]=Math.round(n),l&&(this[this.placed?"animate":"attr"](h),this.placed=!0),this.alignAttr=h,this}alignSetter(t){let e={left:"start",center:"middle",right:"end"};e[t]&&(this.alignValue=t,this.element.setAttribute("text-anchor",e[t]))}animate(t,e,i){let s=r(M(e,this.renderer.globalAnimation,!0)),o=s.defer;return l.hidden&&(s.duration=0),0!==s.duration?(i&&(s.complete=i),E((()=>{this.element&&n(this,t,s)}),o)):(this.attr(t,void 0,i||s.complete),A(t,(function(t,e){s.step&&s.step.call(this,t,{prop:e,pos:1,elem:this})}),this)),this}applyTextOutline(t){let e=this.element;-1!==t.indexOf("contrast")&&(t=t.replace(/contrast/g,this.renderer.getContrast(e.style.fill)));let s=t.split(" "),n=s[s.length-1],r=s[0];if(r&&"none"!==r&&i.svg){this.fakeTS=!0,r=r.replace(/(^[\d\.]+)(.*?)$/g,(function(t,e,i){return 2*Number(e)+i})),this.removeTextOutline();let t=l.createElementNS(c,"tspan");p(t,{class:"highcharts-text-outline",fill:n,stroke:n,"stroke-width":r,"stroke-linejoin":"round"});let i=e.querySelector("textPath")||e;[].forEach.call(i.childNodes,(e=>{let i=e.cloneNode(!0);i.removeAttribute&&["fill","stroke","stroke-width","stroke"].forEach((t=>i.removeAttribute(t))),t.appendChild(i)}));let s=0;[].forEach.call(i.querySelectorAll("text tspan"),(t=>{s+=Number(t.getAttribute("dy"))}));let o=l.createElementNS(c,"tspan");o.textContent="\u200b",p(o,{x:Number(e.getAttribute("x")),dy:-s}),t.appendChild(o),i.insertBefore(t,i.firstChild)}}attr(t,e,i,s){let n,r,a,l=this.element,h=L.symbolCustomAttribs,c=this;return"string"==typeof t&&void 0!==e&&(n=t,(t={})[n]=e),"string"==typeof t?c=(this[t+"Getter"]||this._defaultGetter).call(this,t,l):(A(t,(function(e,i){a=!1,s||o(this,i),this.symbolName&&-1!==h.indexOf(i)&&(r||(this.symbolAttr(t),r=!0),a=!0),this.rotation&&("x"===i||"y"===i)&&(this.doTransform=!0),a||(this[i+"Setter"]||this._defaultSetter).call(this,e,i,l)}),this),this.afterSetters()),i&&i.call(this),c}clip(t){if(t&&!t.clipPath){let e=O()+"-",i=this.renderer.createElement("clipPath").attr({id:e}).add(this.renderer.defs);x(t,{clipPath:i,id:e,count:0}),t.add(i)}return this.attr("clip-path",t?"url(".concat(this.renderer.url,"#").concat(t.id,")"):"none")}crisp(t,e){let i=Math.round(e=e||t.strokeWidth||0)%2/2;return t.x=Math.floor(t.x||this.x||0)+i,t.y=Math.floor(t.y||this.y||0)+i,t.width=Math.floor((t.width||this.width||0)-2*i),t.height=Math.floor((t.height||this.height||0)-2*i),m(t.strokeWidth)&&(t.strokeWidth=e),t}complexColor(t,i,s){let n,r,o,a,l,h,c,d,u,p,f,g=this.renderer,y=[];v(this.renderer,"complexColor",{args:arguments},(function(){if(t.radialGradient?r="radialGradient":t.linearGradient&&(r="linearGradient"),r){if(o=t[r],l=g.gradients,h=t.stops,u=s.radialReference,b(o)&&(t[r]=o={x1:o[0],y1:o[1],x2:o[2],y2:o[3],gradientUnits:"userSpaceOnUse"}),"radialGradient"===r&&u&&!m(o.gradientUnits)&&(a=o,o=C(o,g.getRadialAttr(u,a),{gradientUnits:"userSpaceOnUse"})),A(o,(function(t,e){"id"!==e&&y.push(e,t)})),A(h,(function(t){y.push(t)})),l[y=y.join(",")])p=l[y].attr("id");else{o.id=p=O();let t=l[y]=g.createElement(r).attr(o).add(g.defs);t.radAttr=a,t.stops=[],h.forEach((function(i){0===i[1].indexOf("rgba")?(c=(n=e.parse(i[1])).get("rgb"),d=n.get("a")):(c=i[1],d=1);let s=g.createElement("stop").attr({offset:i[0],"stop-color":c,"stop-opacity":d}).add(t);t.stops.push(s)}))}f="url("+g.url+"#"+p+")",s.setAttribute(i,f),s.gradient=y,t.toString=function(){return f}}}))}css(t){let e,i=this.styles,s={},n=this.element,r=!i;if(i&&A(t,(function(t,e){i&&i[e]!==t&&(s[e]=t,r=!0)})),r){i&&(t=x(i,s)),null===t.width||"auto"===t.width?delete this.textWidth:"text"===n.nodeName.toLowerCase()&&t.width&&(e=this.textWidth=T(t.width)),x(this.styles,t),e&&!h&&this.renderer.forExport&&delete t.width;let r=C(t);n.namespaceURI===this.SVG_NS&&(["textOutline","textOverflow","width"].forEach((t=>r&&delete r[t])),r.color&&(r.fill=r.color)),g(n,r)}return this.added&&("text"===this.element.nodeName&&this.renderer.buildText(this),t.textOutline&&this.applyTextOutline(t.textOutline)),this}dashstyleSetter(t){let e,i=this["stroke-width"];if("inherit"===i&&(i=1),t=t&&t.toLowerCase()){let s=t.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(e=s.length;e--;)s[e]=""+T(s[e])*M(i,NaN);t=s.join(",").replace(/NaN/g,"none"),this.element.setAttribute("stroke-dasharray",t)}}destroy(){var t;let e,i,s=this,n=s.element||{},r=s.renderer,a=n.ownerSVGElement,l="SPAN"===n.nodeName&&s.parentGroup||void 0;if(n.onclick=n.onmouseout=n.onmouseover=n.onmousemove=n.point=null,o(s),s.clipPath&&a){let t=s.clipPath;[].forEach.call(a.querySelectorAll("[clip-path],[CLIP-PATH]"),(function(e){e.getAttribute("clip-path").indexOf(t.element.id)>-1&&e.removeAttribute("clip-path")})),s.clipPath=t.destroy()}if(s.connector=null===(t=s.connector)||void 0===t?void 0:t.destroy(),s.stops){for(i=0;ie&&e.join?(i?t+" ":"")+e.join(" "):(e||"").toString()),"")),/(NaN| {2}|^$)/.test(t)&&(t="M 0 0"),this[e]!==t&&(i.setAttribute(e,t),this[e]=t)}fillSetter(t,e,i){"string"==typeof t?i.setAttribute(e,t):t&&this.complexColor(t,e,i)}hrefSetter(t,e,i){i.setAttributeNS("http://www.w3.org/1999/xlink",e,t)}getBBox(t,e){let i,s,n,r,{alignValue:o,element:a,renderer:l,styles:h,textStr:c}=this,{cache:d,cacheKeys:u}=l,p=a.namespaceURI===this.SVG_NS,f=M(e,this.rotation,0),y=l.styledMode?a&&L.prototype.getStyle.call(a,"font-size"):h.fontSize;if(m(c)&&(-1===(r=c.toString()).indexOf("<")&&(r=r.replace(/[0-9]/g,"0")),r+=["",l.rootFontSize,y,f,this.textWidth,o,h.textOverflow,h.fontWeight].join(",")),r&&!t&&(i=d[r]),!i){if(p||l.forExport){try{n=this.fakeTS&&function(t){let e=a.querySelector(".highcharts-text-outline");e&&g(e,{display:t})},S(n)&&n("none"),i=a.getBBox?x({},a.getBBox()):{width:a.offsetWidth,height:a.offsetHeight,x:0,y:0},S(n)&&n("")}catch(t){}(!i||i.width<0)&&(i={x:0,y:0,width:0,height:0})}else i=this.htmlGetBBox();s=i.height,p&&(i.height=s={"11px,17":14,"13px,20":16}["".concat(y||"",",").concat(Math.round(s))]||s),f&&(i=this.getRotatedBox(i,f))}if(r&&(""===c||i.height>0)){for(;u.length>250;)delete d[u.shift()];d[r]||u.push(r),d[r]=i}return i}getRotatedBox(t,e){let{x:i,y:s,width:n,height:r}=t,{alignValue:o,translateY:l,rotationOriginX:h=0,rotationOriginY:c=0}=this,d={right:1,center:.5}[o||0]||0,u=Number(this.element.getAttribute("y")||0)-(l?0:s),p=e*a,f=(e-90)*a,g=Math.cos(p),m=Math.sin(p),y=n*g,x=n*m,v=Math.cos(f),b=Math.sin(f),[[S,k],[w,C]]=[h,c].map((t=>[t-t*g,t*m])),A=i+d*(n-y)+S+C+u*v,M=A+y,T=M-r*v,P=T-y,E=s+u-d*x-k+w+u*b,O=E+x,L=O-r*b,D=L-x,j=Math.min(A,M,T,P),N=Math.min(E,O,L,D);return{x:j,y:N,width:Math.max(A,M,T,P)-j,height:Math.max(E,O,L,D)-N}}getStyle(t){return d.getComputedStyle(this.element||this,"").getPropertyValue(t)}hasClass(t){return-1!==(""+this.attr("class")).split(" ").indexOf(t)}hide(){return this.attr({visibility:"hidden"})}htmlGetBBox(){return{height:0,width:0,x:0,y:0}}constructor(t,e){this.onEvents={},this.opacity=1,this.SVG_NS=c,this.element="span"===e||"body"===e?f(e):l.createElementNS(this.SVG_NS,e),this.renderer=t,this.styles={},v(this,"afterInit")}on(t,e){let{onEvents:i}=this;return i[t]&&i[t](),i[t]=u(this.element,t,e),this}opacitySetter(t,e,i){let s=Number(Number(t).toFixed(3));this.opacity=s,i.setAttribute(e,s)}removeClass(t){return this.attr("class",(""+this.attr("class")).replace(w(t)?RegExp("(^| )".concat(t,"( |$)")):t," ").replace(/ +/g," ").trim())}removeTextOutline(){let t=this.element.querySelector("tspan.highcharts-text-outline");t&&this.safeRemoveChild(t)}safeRemoveChild(t){let e=t.parentNode;e&&e.removeChild(t)}setRadialReference(t){let e=this.element.gradient&&this.renderer.gradients[this.element.gradient];return this.element.radialReference=t,e&&e.radAttr&&e.animate(this.renderer.getRadialAttr(t,e.radAttr)),this}setTextPath(t,e){e=C(!0,{enabled:!0,attributes:{dy:-5,startOffset:"50%",textAnchor:"middle"}},e);let i=this.renderer.url,s=this.text||this,n=s.textPath,{attributes:r,enabled:o}=e;if(t=t||n&&n.path,n&&n.undo(),t&&o){let e=u(s,"afterModifyTree",(e=>{if(t&&o){let n=t.attr("id");n||t.attr("id",n=O());let o={x:0,y:0};m(r.dx)&&(o.dx=r.dx,delete r.dx),m(r.dy)&&(o.dy=r.dy,delete r.dy),s.attr(o),this.attr({transform:""}),this.box&&(this.box=this.box.destroy());let a=e.nodes.slice(0);e.nodes.length=0,e.nodes[0]={tagName:"textPath",attributes:x(r,{"text-anchor":r.textAnchor,href:"".concat(i,"#").concat(n)}),children:a}}}));s.textPath={path:t,undo:e}}else s.attr({dx:0,dy:0}),delete s.textPath;return this.added&&(s.textCache="",this.renderer.buildText(s)),this}shadow(t){var e;let{renderer:i}=this,s=C(90===(null===(e=this.parentGroup)||void 0===e?void 0:e.rotation)?{offsetX:-1,offsetY:-1}:{},k(t)?t:{}),n=i.shadowDefinition(s);return this.attr({filter:t?"url(".concat(i.url,"#").concat(n,")"):"none"})}show(){let t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];return this.attr({visibility:t?"inherit":"visible"})}"stroke-widthSetter"(t,e,i){this[e]=t,i.setAttribute(e,t)}strokeWidth(){if(!this.renderer.styledMode)return this["stroke-width"]||0;let t,e=this.getStyle("stroke-width"),i=0;return/px$/.test(e)?i=T(e):""!==e&&(p(t=l.createElementNS(c,"rect"),{width:e,"stroke-width":0}),this.element.parentNode.appendChild(t),i=t.getBBox().width,t.parentNode.removeChild(t)),i}symbolAttr(t){let e=this;L.symbolCustomAttribs.forEach((function(i){e[i]=M(t[i],e[i])})),e.attr({d:e.renderer.symbols[e.symbolName](e.x,e.y,e.width,e.height,e)})}textSetter(t){t!==this.textStr&&(delete this.textPxLength,this.textStr=t,this.added&&this.renderer.buildText(this))}titleSetter(t){let e=this.element,i=e.getElementsByTagName("title")[0]||l.createElementNS(this.SVG_NS,"title");e.insertBefore?e.insertBefore(i,e.firstChild):e.appendChild(i),i.textContent=P(M(t,""),[/<[^>]*>/g,""]).replace(/</g,"<").replace(/>/g,">")}toFront(){let t=this.element;return t.parentNode.appendChild(t),this}translate(t,e){return this.attr({translateX:t,translateY:e})}updateTransform(){var t;let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"transform",{element:i,matrix:s,rotation:n=0,rotationOriginX:r,rotationOriginY:o,scaleX:a,scaleY:l,translateX:h=0,translateY:c=0}=this,d=["translate("+h+","+c+")"];m(s)&&d.push("matrix("+s.join(",")+")"),n&&(d.push("rotate("+n+" "+M(r,i.getAttribute("x"),0)+" "+M(o,i.getAttribute("y")||0)+")"),"SPAN"===(null===(t=this.text)||void 0===t?void 0:t.element.tagName)&&this.text.attr({rotation:n,rotationOriginX:(r||0)-this.padding,rotationOriginY:(o||0)-this.padding})),(m(a)||m(l))&&d.push("scale("+M(a,1)+" "+M(l,1)+")"),d.length&&!(this.text||this).textPath&&i.setAttribute(e,d.join(" "))}visibilitySetter(t,e,i){"inherit"===t?i.removeAttribute(e):this[e]!==t&&i.setAttribute(e,t),this[e]=t}xGetter(t){return"circle"===this.element.nodeName&&("x"===t?t="cx":"y"===t&&(t="cy")),this._defaultGetter(t)}zIndexSetter(t,e){let i,s,n,r,o,a=this.renderer,l=this.parentGroup,h=(l||a).element||a.box,c=this.element,d=h===a.box,u=!1,p=this.added;if(m(t)?(c.setAttribute("data-z-index",t),t=+t,this[e]===t&&(p=!1)):m(this[e])&&c.removeAttribute("data-z-index"),this[e]=t,p){for((t=this.zIndex)&&l&&(l.handleZ=!0),o=(i=h.childNodes).length-1;o>=0&&!u;o--)r=!m(n=(s=i[o]).getAttribute("data-z-index")),s!==c&&(t<0&&r&&!d&&!o?(h.insertBefore(c,i[o]),u=!0):(T(n)<=t||r&&(!m(t)||t>=0))&&(h.insertBefore(c,i[o+1]),u=!0));u||(h.insertBefore(c,i[d?3:0]),u=!0)}return u}}return L.symbolCustomAttribs=["anchorX","anchorY","clockwise","end","height","innerR","r","start","width","x","y"],L.prototype.strokeSetter=L.prototype.fillSetter,L.prototype.yGetter=L.prototype.xGetter,L.prototype.matrixSetter=L.prototype.rotationOriginXSetter=L.prototype.rotationOriginYSetter=L.prototype.rotationSetter=L.prototype.scaleXSetter=L.prototype.scaleYSetter=L.prototype.translateXSetter=L.prototype.translateYSetter=L.prototype.verticalAlignSetter=function(t,e){this[e]=t,this.doTransform=!0},L})),i(e,"Core/Renderer/SVG/SVGLabel.js",[e["Core/Renderer/SVG/SVGElement.js"],e["Core/Utilities.js"]],(function(t,e){let{defined:i,extend:s,isNumber:n,merge:r,pick:o,removeEvent:a}=e;class l extends t{constructor(t,e,i,s,n,r,o,a,h,c){let d;super(t,"g"),this.paddingLeftSetter=this.paddingSetter,this.paddingRightSetter=this.paddingSetter,this.textStr=e,this.x=i,this.y=s,this.anchorX=r,this.anchorY=o,this.baseline=h,this.className=c,this.addClass("button"===c?"highcharts-no-tooltip":"highcharts-label"),c&&this.addClass("highcharts-"+c),this.text=t.text(void 0,0,0,a).attr({zIndex:1}),"string"==typeof n&&((d=/^url\((.*?)\)$/.test(n))||this.renderer.symbols[n])&&(this.symbolKey=n),this.bBox=l.emptyBBox,this.padding=3,this.baselineOffset=0,this.needsBox=t.styledMode||d,this.deferredAttr={},this.alignFactor=0}alignSetter(t){let e={left:0,center:.5,right:1}[t];e!==this.alignFactor&&(this.alignFactor=e,this.bBox&&n(this.xSetting)&&this.attr({x:this.xSetting}))}anchorXSetter(t,e){this.anchorX=t,this.boxAttr(e,Math.round(t)-this.getCrispAdjust()-this.xSetting)}anchorYSetter(t,e){this.anchorY=t,this.boxAttr(e,t-this.ySetting)}boxAttr(t,e){this.box?this.box.attr(t,e):this.deferredAttr[t]=e}css(e){if(e){let t={};e=r(e),l.textProps.forEach((i=>{void 0!==e[i]&&(t[i]=e[i],delete e[i])})),this.text.css(t),"fontSize"in t||"fontWeight"in t?this.updateTextPadding():("width"in t||"textOverflow"in t)&&this.updateBoxSize()}return t.prototype.css.call(this,e)}destroy(){a(this.element,"mouseenter"),a(this.element,"mouseleave"),this.text&&this.text.destroy(),this.box&&(this.box=this.box.destroy()),t.prototype.destroy.call(this)}fillSetter(t,e){t&&(this.needsBox=!0),this.fill=t,this.boxAttr(e,t)}getBBox(t,e){this.textStr&&0===this.bBox.width&&0===this.bBox.height&&this.updateBoxSize();let{padding:i,height:s=0,translateX:n=0,translateY:r=0,width:a=0}=this,l=o(this.paddingLeft,i),h=null!==e&&void 0!==e?e:this.rotation||0,c={width:a,height:s,x:n+this.bBox.x-l,y:r+this.bBox.y-i+this.baselineOffset};return h&&(c=this.getRotatedBox(c,h)),c}getCrispAdjust(){return this.renderer.styledMode&&this.box?this.box.strokeWidth()%2/2:(this["stroke-width"]?parseInt(this["stroke-width"],10):0)%2/2}heightSetter(t){this.heightSetting=t}onAdd(){this.text.add(this),this.attr({text:o(this.textStr,""),x:this.x||0,y:this.y||0}),this.box&&i(this.anchorX)&&this.attr({anchorX:this.anchorX,anchorY:this.anchorY})}paddingSetter(t,e){n(t)?t!==this[e]&&(this[e]=t,this.updateTextPadding()):this[e]=void 0}rSetter(t,e){this.boxAttr(e,t)}strokeSetter(t,e){this.stroke=t,this.boxAttr(e,t)}"stroke-widthSetter"(t,e){t&&(this.needsBox=!0),this["stroke-width"]=t,this.boxAttr(e,t)}"text-alignSetter"(t){this.textAlign=t}textSetter(t){void 0!==t&&this.text.attr({text:t}),this.updateTextPadding()}updateBoxSize(){let t,e=this.text,r={},o=this.padding,a=this.bBox=n(this.widthSetting)&&n(this.heightSetting)&&!this.textAlign||!i(e.textStr)?l.emptyBBox:e.getBBox(void 0,0);this.width=this.getPaddedWidth(),this.height=(this.heightSetting||a.height||0)+2*o;let h=this.renderer.fontMetrics(e);if(this.baselineOffset=o+Math.min((this.text.firstLineMetrics||h).b,a.height||1/0),this.heightSetting&&(this.baselineOffset+=(this.heightSetting-h.h)/2),this.needsBox&&!e.textPath){if(!this.box){let t=this.box=this.symbolKey?this.renderer.symbol(this.symbolKey):this.renderer.rect();t.addClass(("button"===this.className?"":"highcharts-label-box")+(this.className?" highcharts-"+this.className+"-box":"")),t.add(this)}t=this.getCrispAdjust(),r.x=t,r.y=(this.baseline?-this.baselineOffset:0)+t,r.width=Math.round(this.width),r.height=Math.round(this.height),this.box.attr(s(r,this.deferredAttr)),this.deferredAttr={}}}updateTextPadding(){let t=this.text;if(!t.textPath){this.updateBoxSize();let e=this.baseline?0:this.baselineOffset,s=o(this.paddingLeft,this.padding);i(this.widthSetting)&&this.bBox&&("center"===this.textAlign||"right"===this.textAlign)&&(s+={center:.5,right:1}[this.textAlign]*(this.widthSetting-this.bBox.width)),(s!==t.x||e!==t.y)&&(t.attr("x",s),t.hasBoxWidthChanged&&(this.bBox=t.getBBox(!0)),void 0!==e&&t.attr("y",e)),t.x=s,t.y=e}}widthSetter(t){this.widthSetting=n(t)?t:void 0}getPaddedWidth(){let t=this.padding,e=o(this.paddingLeft,t),i=o(this.paddingRight,t);return(this.widthSetting||this.bBox.width||0)+e+i}xSetter(t){this.x=t,this.alignFactor&&(t-=this.alignFactor*this.getPaddedWidth(),this["forceAnimate:x"]=!0),this.xSetting=Math.round(t),this.attr("translateX",this.xSetting)}ySetter(t){this.ySetting=this.y=Math.round(t),this.attr("translateY",this.ySetting)}}return l.emptyBBox={width:0,height:0,x:0,y:0},l.textProps=["color","direction","fontFamily","fontSize","fontStyle","fontWeight","lineHeight","textAlign","textDecoration","textOutline","textOverflow","whiteSpace","width"],l})),i(e,"Core/Renderer/SVG/Symbols.js",[e["Core/Utilities.js"]],(function(t){let{defined:e,isNumber:i,pick:s}=t;function n(t,i,n,r,o){let a=[];if(o){let l=o.start||0,h=s(o.r,n),c=s(o.r,r||n),d=.001>Math.abs((o.end||0)-l-2*Math.PI),u=(o.end||0)-.001,p=o.innerR,f=s(o.open,d),g=Math.cos(l),m=Math.sin(l),y=Math.cos(u),x=Math.sin(u),v=s(o.longArc,u-l-Math.PI<.001?0:1),b=["A",h,c,0,v,s(o.clockwise,1),t+h*y,i+c*x];b.params={start:l,end:u,cx:t,cy:i},a.push(["M",t+h*g,i+c*m],b),e(p)&&((b=["A",p,p,0,v,e(o.clockwise)?1-o.clockwise:0,t+p*g,i+p*m]).params={start:u,end:l,cx:t,cy:i},a.push(f?["M",t+p*y,i+p*x]:["L",t+p*y,i+p*x],b)),f||a.push(["Z"])}return a}function r(t,e,i,s,n){return n&&n.r?o(t,e,i,s,n):[["M",t,e],["L",t+i,e],["L",t+i,e+s],["L",t,e+s],["Z"]]}function o(t,e,i,s,n){let r=(null===n||void 0===n?void 0:n.r)||0;return[["M",t+r,e],["L",t+i-r,e],["A",r,r,0,0,1,t+i,e+r],["L",t+i,e+s-r],["A",r,r,0,0,1,t+i-r,e+s],["L",t+r,e+s],["A",r,r,0,0,1,t,e+s-r],["L",t,e+r],["A",r,r,0,0,1,t+r,e],["Z"]]}return{arc:n,callout:function(t,e,s,n,r){let a=Math.min(r&&r.r||0,s,n),l=a+6,h=r&&r.anchorX,c=r&&r.anchorY||0,d=o(t,e,s,n,{r:a});if(!i(h)||h0&&c0)return d;if(t+h>s-l)if(c>e+l&&ce+l&&c0){let i=cn&&hl&&d.splice(1,1,["L",h-6,e],["L",h,e-6],["L",h+6,e],["L",s-a,e]);return d},circle:function(t,e,i,s){return n(t+i/2,e+s/2,i/2,s/2,{start:.5*Math.PI,end:2.5*Math.PI,open:!1})},diamond:function(t,e,i,s){return[["M",t+i/2,e],["L",t+i,e+s/2],["L",t+i/2,e+s],["L",t,e+s/2],["Z"]]},rect:r,roundedRect:o,square:r,triangle:function(t,e,i,s){return[["M",t+i/2,e],["L",t+i,e+s],["L",t,e+s],["Z"]]},"triangle-down":function(t,e,i,s){return[["M",t,e],["L",t+i,e],["L",t+i/2,e+s],["Z"]]}}})),i(e,"Core/Renderer/SVG/TextBuilder.js",[e["Core/Renderer/HTML/AST.js"],e["Core/Globals.js"],e["Core/Utilities.js"]],(function(t,e,i){let{doc:s,SVG_NS:n,win:r}=e,{attr:o,extend:a,fireEvent:l,isString:h,objectEach:c,pick:d}=i;return class{constructor(t){let e=t.styles;this.renderer=t.renderer,this.svgElement=t,this.width=t.textWidth,this.textLineHeight=e&&e.lineHeight,this.textOutline=e&&e.textOutline,this.ellipsis=!(!e||"ellipsis"!==e.textOverflow),this.noWrap=!(!e||"nowrap"!==e.whiteSpace)}buildSVG(){let e=this.svgElement,i=e.element,n=e.renderer,r=d(e.textStr,"").toString(),o=-1!==r.indexOf("<"),a=i.childNodes,l=!e.added&&n.box,c=[r,this.ellipsis,this.noWrap,this.textLineHeight,this.textOutline,e.getStyle("font-size"),this.width].join(",");if(c!==e.textCache){e.textCache=c,delete e.actualWidth;for(let t=a.length;t--;)i.removeChild(a[t]);if(o||this.ellipsis||this.width||e.textPath||-1!==r.indexOf(" ")&&(!this.noWrap||//g.test(r))){if(""!==r){l&&l.appendChild(i);let s=new t(r);this.modifyTree(s.nodes),s.addToDOM(i),this.modifyDOM(),this.ellipsis&&-1!==(i.textContent||"").indexOf("\u2026")&&e.attr("title",this.unescapeEntities(e.textStr||"",["<",">"])),l&&l.removeChild(i)}}else i.appendChild(s.createTextNode(this.unescapeEntities(r)));h(this.textOutline)&&e.applyTextOutline&&e.applyTextOutline(this.textOutline)}}modifyDOM(){let t,e=this.svgElement,i=o(e.element,"x");for(e.firstLineMetrics=void 0;(t=e.element.firstChild)&&/^[\s\u200B]*$/.test(t.textContent||" ");)e.element.removeChild(t);[].forEach.call(e.element.querySelectorAll("tspan.highcharts-br"),((t,s)=>{t.nextSibling&&t.previousSibling&&(0===s&&1===t.previousSibling.nodeType&&(e.firstLineMetrics=e.renderer.fontMetrics(t.previousSibling)),o(t,{dy:this.getLineHeight(t.nextSibling),x:i}))}));let a=this.width||0;if(!a)return;let l=(t,r)=>{let l=t.textContent||"",h=l.replace(/([^\^])-/g,"$1- ").split(" "),c=!this.noWrap&&(h.length>1||e.element.childNodes.length>1),d=this.getLineHeight(r),u=0,p=e.actualWidth;if(this.ellipsis)l&&this.truncate(t,l,void 0,0,Math.max(0,a-.8*d),((t,e)=>t.substring(0,e)+"\u2026"));else if(c){let l=[],c=[];for(;r.firstChild&&r.firstChild!==t;)c.push(r.firstChild),r.removeChild(r.firstChild);for(;h.length;)h.length&&!this.noWrap&&u>0&&(l.push(t.textContent||""),t.textContent=h.join(" ").replace(/- /g,"-")),this.truncate(t,void 0,h,0===u&&p||0,a,((t,e)=>h.slice(0,e).join(" ").replace(/- /g,"-"))),p=e.actualWidth,u++;c.forEach((e=>{r.insertBefore(e,t)})),l.forEach((e=>{r.insertBefore(s.createTextNode(e),t);let a=s.createElementNS(n,"tspan");a.textContent="\u200b",o(a,{dy:d,x:i}),r.insertBefore(a,t)}))}},h=t=>{[].slice.call(t.childNodes).forEach((i=>{i.nodeType===r.Node.TEXT_NODE?l(i,t):(-1!==i.className.baseVal.indexOf("highcharts-br")&&(e.actualWidth=0),h(i))}))};h(e.element)}getLineHeight(t){let e=t.nodeType===r.Node.TEXT_NODE?t.parentElement:t;return this.textLineHeight?parseInt(this.textLineHeight.toString(),10):this.renderer.fontMetrics(e||this.svgElement.element).h}modifyTree(t){let e=(i,s)=>{let{attributes:n={},children:r,style:o={},tagName:l}=i,h=this.renderer.styledMode;if("b"===l||"strong"===l?h?n.class="highcharts-strong":o.fontWeight="bold":("i"===l||"em"===l)&&(h?n.class="highcharts-emphasized":o.fontStyle="italic"),o&&o.color&&(o.fill=o.color),"br"===l){n.class="highcharts-br",i.textContent="\u200b";let e=t[s+1];e&&e.textContent&&(e.textContent=e.textContent.replace(/^ +/gm,""))}else"a"===l&&r&&r.some((t=>"#text"===t.tagName))&&(i.children=[{children:r,tagName:"tspan"}]);"#text"!==l&&"a"!==l&&(i.tagName="tspan"),a(i,{attributes:n,style:o}),r&&r.filter((t=>"#text"!==t.tagName)).forEach(e)};t.forEach(e),l(this.svgElement,"afterModifyTree",{nodes:t})}truncate(t,e,i,s,n,r){let o,a,l=this.svgElement,{rotation:h}=l,c=[],d=i?1:0,u=(e||i||"").length,p=u,f=function(e,n){let r=n||e,o=t.parentNode;if(o&&void 0===c[r]&&o.getSubStringLength)try{c[r]=s+o.getSubStringLength(0,i?r+1:r)}catch(t){}return c[r]};if(l.rotation=0,s+(a=f(t.textContent.length))>n){for(;d<=u;)p=Math.ceil((d+u)/2),i&&(o=r(i,p)),a=f(p,o&&o.length-1),d===u?d=u+1:a>n?u=p-1:d=p;0===u?t.textContent="":e&&u===e.length-1||(t.textContent=o||r(e||i,p))}i&&i.splice(0,p),l.actualWidth=a,l.rotation=h}unescapeEntities(t,e){return c(this.renderer.escapes,(function(i,s){e&&-1!==e.indexOf(i)||(t=t.toString().replace(RegExp(i,"g"),s))})),t}}})),i(e,"Core/Renderer/SVG/SVGRenderer.js",[e["Core/Renderer/HTML/AST.js"],e["Core/Color/Color.js"],e["Core/Globals.js"],e["Core/Renderer/RendererRegistry.js"],e["Core/Renderer/SVG/SVGElement.js"],e["Core/Renderer/SVG/SVGLabel.js"],e["Core/Renderer/SVG/Symbols.js"],e["Core/Renderer/SVG/TextBuilder.js"],e["Core/Utilities.js"]],(function(t,e,i,s,n,r,o,a,l){let h,{charts:c,deg2rad:d,doc:u,isFirefox:p,isMS:f,isWebKit:g,noop:m,SVG_NS:y,symbolSizes:x,win:v}=i,{addEvent:b,attr:S,createElement:k,css:w,defined:C,destroyObjectProperties:A,extend:M,isArray:T,isNumber:P,isObject:E,isString:O,merge:L,pick:D,pInt:j,replaceNested:N,uniqueKey:R}=l;class I{constructor(t,e,i,s,n,r,o){let a,l,h=this.createElement("svg").attr({version:"1.1",class:"highcharts-root"}),c=h.element;o||h.css(this.getStyle(s||{})),t.appendChild(c),S(t,"dir","ltr"),-1===t.innerHTML.indexOf("xmlns")&&S(c,"xmlns",this.SVG_NS),this.box=c,this.boxWrapper=h,this.alignedObjects=[],this.url=this.getReferenceURL(),this.createElement("desc").add().element.appendChild(u.createTextNode("Created with Highcharts 11.4.0")),this.defs=this.createElement("defs").add(),this.allowHTML=r,this.forExport=n,this.styledMode=o,this.gradients={},this.cache={},this.cacheKeys=[],this.imgCount=0,this.rootFontSize=h.getStyle("font-size"),this.setSize(e,i,!1),p&&t.getBoundingClientRect&&((a=function(){w(t,{left:0,top:0}),l=t.getBoundingClientRect(),w(t,{left:Math.ceil(l.left)-l.left+"px",top:Math.ceil(l.top)-l.top+"px"})})(),this.unSubPixelFix=b(v,"resize",a))}definition(e){return new t([e]).addToDOM(this.defs.element)}getReferenceURL(){if((p||g)&&u.getElementsByTagName("base").length){if(!C(h)){let e=R(),i=new t([{tagName:"svg",attributes:{width:8,height:8},children:[{tagName:"defs",children:[{tagName:"clipPath",attributes:{id:e},children:[{tagName:"rect",attributes:{width:4,height:4}}]}]},{tagName:"rect",attributes:{id:"hitme",width:8,height:8,"clip-path":"url(#".concat(e,")"),fill:"rgba(0,0,0,0.001)"}}]}]).addToDOM(u.body);w(i,{position:"fixed",top:0,left:0,zIndex:9e5});let s=u.elementFromPoint(6,6);h="hitme"===(s&&s.id),u.body.removeChild(i)}if(h)return N(v.location.href.split("#")[0],[/<[^>]*>/g,""],[/([\('\)])/g,"\\$1"],[/ /g,"%20"])}return""}getStyle(t){return this.style=M({fontFamily:"Helvetica, Arial, sans-serif",fontSize:"1rem"},t),this.style}setStyle(t){this.boxWrapper.css(this.getStyle(t))}isHidden(){return!this.boxWrapper.getBBox().width}destroy(){let t=this.defs;return this.box=null,this.boxWrapper=this.boxWrapper.destroy(),A(this.gradients||{}),this.gradients=null,this.defs=t.destroy(),this.unSubPixelFix&&this.unSubPixelFix(),this.alignedObjects=null,null}createElement(t){return new this.Element(this,t)}getRadialAttr(t,e){return{cx:t[0]-t[2]/2+(e.cx||0)*t[2],cy:t[1]-t[2]/2+(e.cy||0)*t[2],r:(e.r||0)*t[2]}}shadowDefinition(t){let e=["highcharts-drop-shadow-".concat(this.chartIndex),...Object.keys(t).map((e=>"".concat(e,"-").concat(t[e])))].join("-").toLowerCase().replace(/[^a-z0-9\-]/g,""),i=L({color:"#000000",offsetX:1,offsetY:1,opacity:.15,width:5},t);return this.defs.element.querySelector("#".concat(e))||this.definition({tagName:"filter",attributes:{id:e,filterUnits:i.filterUnits},children:[{tagName:"feDropShadow",attributes:{dx:i.offsetX,dy:i.offsetY,"flood-color":i.color,"flood-opacity":Math.min(5*i.opacity,1),stdDeviation:i.width/2}}]}),e}buildText(t){new a(t).buildSVG()}getContrast(t){let i=e.parse(t).rgba.map((t=>{let e=t/255;return e<=.03928?e/12.92:Math.pow((e+.055)/1.055,2.4)})),s=.2126*i[0]+.7152*i[1]+.0722*i[2];return 1.05/(s+.05)>(s+.05)/.05?"#FFFFFF":"#000000"}button(e,i,s,n){let r,o,a,l=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{},h=arguments.length>5?arguments[5]:void 0,c=arguments.length>6?arguments[6]:void 0,d=arguments.length>7?arguments[7]:void 0,u=arguments.length>8?arguments[8]:void 0,p=arguments.length>9?arguments[9]:void 0,g=this.label(e,i,s,u,void 0,void 0,p,void 0,"button"),m=this.styledMode,y=l.states||{},x=0;l=L(l),delete l.states;let v=L({color:"#333333",cursor:"pointer",fontSize:"0.8em",fontWeight:"normal"},l.style);delete l.style;let S=t.filterUserAttributes(l);return g.attr(L({padding:8,r:2},S)),m||(S=L({fill:"#f7f7f7",stroke:"#cccccc","stroke-width":1},S),r=(h=L(S,{fill:"#e6e6e6"},t.filterUserAttributes(h||y.hover||{}))).style,delete h.style,o=(c=L(S,{fill:"#e6e9ff",style:{color:"#000000",fontWeight:"bold"}},t.filterUserAttributes(c||y.select||{}))).style,delete c.style,a=(d=L(S,{style:{color:"#cccccc"}},t.filterUserAttributes(d||y.disabled||{}))).style,delete d.style),b(g.element,f?"mouseover":"mouseenter",(function(){3!==x&&g.setState(1)})),b(g.element,f?"mouseout":"mouseleave",(function(){3!==x&&g.setState(x)})),g.setState=function(t){if(1!==t&&(g.state=x=t),g.removeClass(/highcharts-button-(normal|hover|pressed|disabled)/).addClass("highcharts-button-"+["normal","hover","pressed","disabled"][t||0]),!m){g.attr([S,h,c,d][t||0]);let e=[v,r,o,a][t||0];E(e)&&g.css(e)}},!m&&(g.attr(S).css(M({cursor:"default"},v)),p&&g.text.css({pointerEvents:"none"})),g.on("touchstart",(t=>t.stopPropagation())).on("click",(function(t){3!==x&&n.call(g,t)}))}crispLine(t,e){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"round",s=t[0],n=t[1];return C(s[1])&&s[1]===n[1]&&(s[1]=n[1]=Math[i](s[1])-e%2/2),C(s[2])&&s[2]===n[2]&&(s[2]=n[2]=Math[i](s[2])+e%2/2),t}path(t){let e=this.styledMode?{}:{fill:"none"};return T(t)?e.d=t:E(t)&&M(e,t),this.createElement("path").attr(e)}circle(t,e,i){let s=E(t)?t:void 0===t?{}:{x:t,y:e,r:i},n=this.createElement("circle");return n.xSetter=n.ySetter=function(t,e,i){i.setAttribute("c"+e,t)},n.attr(s)}arc(t,e,i,s,n,r){let o;E(t)?(e=(o=t).y,i=o.r,s=o.innerR,n=o.start,r=o.end,t=o.x):o={innerR:s,start:n,end:r};let a=this.symbol("arc",t,e,i,i,o);return a.r=i,a}rect(t,e,i,s,n,r){let o=E(t)?t:void 0===t?{}:{x:t,y:e,r:n,width:Math.max(i||0,0),height:Math.max(s||0,0)},a=this.createElement("rect");return this.styledMode||(void 0!==r&&(o["stroke-width"]=r,M(o,a.crisp(o))),o.fill="none"),a.rSetter=function(t,e,i){a.r=t,S(i,{rx:t,ry:t})},a.rGetter=function(){return a.r||0},a.attr(o)}roundedRect(t){return this.symbol("roundedRect").attr(t)}setSize(t,e,i){this.width=t,this.height=e,this.boxWrapper.animate({width:t,height:e},{step:function(){this.attr({viewBox:"0 0 "+this.attr("width")+" "+this.attr("height")})},duration:D(i,!0)?void 0:0}),this.alignElements()}g(t){let e=this.createElement("g");return t?e.attr({class:"highcharts-"+t}):e}image(t,e,i,s,n,r){let o={preserveAspectRatio:"none"};P(e)&&(o.x=e),P(i)&&(o.y=i),P(s)&&(o.width=s),P(n)&&(o.height=n);let a=this.createElement("image").attr(o),l=function(e){a.attr({href:t}),r.call(a,e)};if(r){a.attr({href:"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="});let e=new v.Image;b(e,"load",l),e.src=t,e.complete&&l({})}else a.attr({href:t});return a}symbol(t,e,i,s,n,r){let o,a,l,h,d=this,p=/^url\((.*?)\)$/,f=p.test(t),g=!f&&(this.symbols[t]?t:"circle"),m=g&&this.symbols[g];if(m)"number"==typeof e&&(a=m.call(this.symbols,Math.round(e||0),Math.round(i||0),s||0,n||0,r)),o=this.path(a),d.styledMode||o.attr("fill","none"),M(o,{symbolName:g||void 0,x:e,y:i,width:s,height:n}),r&&M(o,r);else if(f){l=t.match(p)[1];let s=o=this.image(l);s.imgwidth=D(r&&r.width,x[l]&&x[l].width),s.imgheight=D(r&&r.height,x[l]&&x[l].height),h=t=>t.attr({width:t.width,height:t.height}),["width","height"].forEach((t=>{s["".concat(t,"Setter")]=function(t,e){this[e]=t;let{alignByTranslate:i,element:s,width:n,height:o,imgwidth:a,imgheight:l}=this,h="width"===e?a:l,c=1;r&&"within"===r.backgroundSize&&n&&o&&a&&l?(c=Math.min(n/a,o/l),S(s,{width:Math.round(a*c),height:Math.round(l*c)})):s&&h&&s.setAttribute(e,h),!i&&a&&l&&this.translate(((n||0)-a*c)/2,((o||0)-l*c)/2)}})),C(e)&&s.attr({x:e,y:i}),s.isImg=!0,C(s.imgwidth)&&C(s.imgheight)?h(s):(s.attr({width:0,height:0}),k("img",{onload:function(){let t=c[d.chartIndex];0===this.width&&(w(this,{position:"absolute",top:"-999em"}),u.body.appendChild(this)),x[l]={width:this.width,height:this.height},s.imgwidth=this.width,s.imgheight=this.height,s.element&&h(s),this.parentNode&&this.parentNode.removeChild(this),d.imgCount--,d.imgCount||!t||t.hasLoaded||t.onload()},src:l}),this.imgCount++)}return o}clipRect(t,e,i,s){return this.rect(t,e,i,s,0)}text(t,e,i,s){let n={};if(s&&(this.allowHTML||!this.forExport))return this.html(t,e,i);n.x=Math.round(e||0),i&&(n.y=Math.round(i)),C(t)&&(n.text=t);let r=this.createElement("text").attr(n);return s&&(!this.forExport||this.allowHTML)||(r.xSetter=function(t,e,i){let s=i.getElementsByTagName("tspan"),n=i.getAttribute(e);for(let r,o=0;ot.align()))}}return M(I.prototype,{Element:n,SVG_NS:y,escapes:{"&":"&","<":"<",">":">","'":"'",'"':"""},symbols:o,draw:m}),s.registerRendererType("svg",I,!0),I})),i(e,"Core/Renderer/HTML/HTMLElement.js",[e["Core/Renderer/HTML/AST.js"],e["Core/Globals.js"],e["Core/Renderer/SVG/SVGElement.js"],e["Core/Utilities.js"]],(function(t,e,i,s){let{composed:n}=e,{attr:r,css:o,createElement:a,defined:l,extend:h,pInt:c,pushUnique:d}=s;function u(t,e,s){var n;let r=(null===(n=this.div)||void 0===n?void 0:n.style)||s.style;i.prototype["".concat(e,"Setter")].call(this,t,e,s),r&&(r[e]=t)}let p=(t,e)=>{if(!t.div){var s;let n=r(t.element,"class"),o=t.css,l=a("div",n?{className:n}:void 0,{position:"absolute",left:"".concat(t.translateX||0,"px"),top:"".concat(t.translateY||0,"px"),...t.styles,display:t.display,opacity:t.opacity,visibility:t.visibility},(null===(s=t.parentGroup)||void 0===s?void 0:s.div)||e);t.classSetter=(t,e,i)=>{i.setAttribute("class",t),l.className=t},t.translateXSetter=t.translateYSetter=(e,i)=>{t[i]=e,l.style["translateX"===i?"left":"top"]="".concat(e,"px"),t.doTransform=!0},t.opacitySetter=t.visibilitySetter=u,t.css=e=>(o.call(t,e),e.cursor&&(l.style.cursor=e.cursor),e.pointerEvents&&(l.style.pointerEvents=e.pointerEvents),t),t.on=function(){return i.prototype.on.apply({element:l,onEvents:t.onEvents},arguments),t},t.div=l}return t.div};class f extends i{static compose(t){d(n,this.compose)&&(t.prototype.html=function(t,e,i){return new f(this,"span").attr({text:t,x:Math.round(e),y:Math.round(i)})})}constructor(t,e){super(t,e),this.css({position:"absolute",...t.styledMode?{}:{fontFamily:t.style.fontFamily,fontSize:t.style.fontSize}}),this.element.style.whiteSpace="nowrap"}getSpanCorrection(t,e,i){this.xCorr=-t*i,this.yCorr=-e}css(t){let e,{element:i}=this,s="SPAN"===i.tagName&&t&&"width"in t,n=s&&t.width;return s&&(delete t.width,this.textWidth=c(n)||void 0,e=!0),"ellipsis"===(null===t||void 0===t?void 0:t.textOverflow)&&(t.whiteSpace="nowrap",t.overflow="hidden"),h(this.styles,t),o(i,t),e&&this.updateTransform(),this}htmlGetBBox(){let{element:t}=this;return{x:t.offsetLeft,y:t.offsetTop,width:t.offsetWidth,height:t.offsetHeight}}updateTransform(){if(!this.added)return void(this.alignOnAdd=!0);let{element:t,renderer:e,rotation:i,rotationOriginX:s,rotationOriginY:n,styles:r,textAlign:a="left",textWidth:h,translateX:c=0,translateY:d=0,x:u=0,y:p=0}=this,f=r.whiteSpace;if(o(t,{marginLeft:"".concat(c,"px"),marginTop:"".concat(d,"px")}),"SPAN"===t.tagName){var g;let r,c=[i,a,t.innerHTML,h,this.textAlign].join(","),d=-1*(null===(g=this.parentGroup)||void 0===g?void 0:g.padding)||0,m=!1;if(h!==this.oldTextWidth){let e=this.textPxLength?this.textPxLength:(o(t,{width:"",whiteSpace:f||"nowrap"}),t.offsetWidth),s=h||0;(s>this.oldTextWidth||e>s)&&(/[ \-]/.test(t.textContent||t.innerText)||"ellipsis"===t.style.textOverflow)&&(o(t,{width:e>s||i?h+"px":"auto",display:"block",whiteSpace:f||"normal"}),this.oldTextWidth=h,m=!0)}this.hasBoxWidthChanged=m,c!==this.cTT&&(r=e.fontMetrics(t).b,l(i)&&(i!==(this.oldRotation||0)||a!==this.oldAlign)&&this.setSpanRotation(i,d,d),this.getSpanCorrection(!l(i)&&this.textPxLength||t.offsetWidth,r,{left:0,center:.5,right:1}[a]));let{xCorr:y=0,yCorr:x=0}=this,v=(null!==s&&void 0!==s?s:u)-y-u-d,b=(null!==n&&void 0!==n?n:p)-x-p-d;o(t,{left:"".concat(u+y,"px"),top:"".concat(p+x,"px"),transformOrigin:"".concat(v,"px ").concat(b,"px")}),this.cTT=c,this.oldRotation=i,this.oldAlign=a}}setSpanRotation(t,e,i){o(this.element,{transform:"rotate(".concat(t,"deg)"),transformOrigin:"".concat(e,"% ").concat(i,"px")})}add(t){let e,i=this.renderer.box.parentNode,s=[];if(this.parentGroup=t,t&&!(e=t.div)){let n=t;for(;n;)s.push(n),n=n.parentGroup;for(let t of s.reverse())e=p(t,i)}return(e||i).appendChild(this.element),this.added=!0,this.alignOnAdd&&this.updateTransform(),this}textSetter(e){e!==this.textStr&&(delete this.bBox,delete this.oldTextWidth,t.setElementHTML(this.element,null!==e&&void 0!==e?e:""),this.textStr=e,this.doTransform=!0)}alignSetter(t){this.alignValue=this.textAlign=t,this.doTransform=!0}xSetter(t,e){this[e]=t,this.doTransform=!0}}let g=f.prototype;return g.visibilitySetter=g.opacitySetter=u,g.ySetter=g.rotationSetter=g.rotationOriginXSetter=g.rotationOriginYSetter=g.xSetter,f})),i(e,"Core/Axis/AxisDefaults.js",[],(function(){var t,e;return(e=t||(t={})).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",padding:5,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"}},type:"linear",uniqueNames:!0,visible:!0,minorGridLineColor:"#f2f2f2",minorGridLineWidth:1,minorTickColor:"#999999",lineColor:"#333333",lineWidth:1,gridLineColor:"#e6e6e6",gridLineWidth:void 0,tickColor:"#333333"},e.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:t}=this.axis.chart;return t(this.total||0,-1)},style:{color:"#000000",fontSize:"0.7em",fontWeight:"bold",textOutline:"1px contrast"}},gridLineWidth:1,lineWidth:0},t})),i(e,"Core/Foundation.js",[e["Core/Utilities.js"]],(function(t){var e;let{addEvent:i,isFunction:s,objectEach:n,removeEvent:r}=t;return(e||(e={})).registerEventOptions=function(t,e){t.eventOptions=t.eventOptions||{},n(e.events,(function(e,n){t.eventOptions[n]!==e&&(t.eventOptions[n]&&(r(t,n,t.eventOptions[n]),delete t.eventOptions[n]),s(e)&&(t.eventOptions[n]=e,i(t,n,e,{order:0})))}))},e})),i(e,"Core/Axis/Tick.js",[e["Core/Templating.js"],e["Core/Globals.js"],e["Core/Utilities.js"]],(function(t,e,i){let{deg2rad:s}=e,{clamp:n,correctFloat:r,defined:o,destroyObjectProperties:a,extend:l,fireEvent:h,isNumber:c,merge:d,objectEach:u,pick:p}=i;return class{constructor(t,e,i,s,n){this.isNew=!0,this.isNewLabel=!0,this.axis=t,this.pos=e,this.type=i||"",this.parameters=n||{},this.tickmarkOffset=this.parameters.tickmarkOffset,this.options=this.parameters.options,h(this,"init"),i||s||this.addLabel()}addLabel(){let e,i,s,n=this,a=n.axis,d=a.options,u=a.chart,f=a.categories,g=a.logarithmic,m=a.names,y=n.pos,x=p(n.options&&n.options.labels,d.labels),v=a.tickPositions,b=y===v[0],S=y===v[v.length-1],k=(!x.step||1===x.step)&&1===a.tickInterval,w=v.info,C=n.label,A=this.parameters.category||(f?p(f[y],m[y],y):y);g&&c(A)&&(A=r(g.lin2log(A))),a.dateTime&&(w?e=(i=u.time.resolveDTLFormat(d.dateTimeLabelFormats[!d.grid&&w.higherRanks[y]||w.unitName])).main:c(A)&&(e=a.dateTime.getXDateFormat(A,d.dateTimeLabelFormats||{}))),n.isFirst=b,n.isLast=S;let M={axis:a,chart:u,dateTimeLabelFormat:e,isFirst:b,isLast:S,pos:y,tick:n,tickPositionInfo:w,value:A};h(this,"labelFormat",M);let T=e=>x.formatter?x.formatter.call(e,e):x.format?(e.text=a.defaultLabelFormatter.call(e),t.format(x.format,e,u)):a.defaultLabelFormatter.call(e),P=T.call(M,M),E=i&&i.list;n.shortenLabel=E?function(){for(s=0;s0&&a+g*m>d&&(n=Math.round((l-a)/Math.cos(f*s))):(e=a-g*m,i=a+(1-g)*m,ed&&(v=d-t.x+v*g,b=-1),(v=Math.min(y,v))v||r.autoRotation&&(u.styles||{}).width)&&(n=v)),n&&(this.shortenLabel?this.shortenLabel():(x.width=Math.floor(n)+"px",(o.style||{}).textOverflow||(x.textOverflow="ellipsis"),u.css(x)))}moveLabel(t,e){let i,s=this,n=s.label,r=s.axis,o=!1;n&&n.textStr===t?(s.movedLabel=n,o=!0,delete s.label):u(r.ticks,(function(e){o||e.isNew||e===s||!e.label||e.label.textStr!==t||(s.movedLabel=e.label,o=!0,e.labelPos=s.movedLabel.xy,delete e.label)})),!o&&(s.labelPos||n)&&(i=s.labelPos||n.xy,s.movedLabel=s.createLabel(t,e,i),s.movedLabel&&s.movedLabel.attr({opacity:0}))}render(t,e,i){let s=this.axis,n=s.horiz,o=this.pos,a=p(this.tickmarkOffset,s.tickmarkOffset),l=this.getPosition(n,o,a,e),c=l.x,d=l.y,u=s.pos,f=u+s.len,g=n&&c===f||!n&&d===u?-1:1,m=n?c:d;!s.chart.polar&&this.isNew&&(r(m)f)&&(i=0);let y=p(i,this.label&&this.label.newOpacity,1);i=p(i,1),this.isActive=!0,this.renderGridLine(e,i,g),this.renderMark(l,i,g),this.renderLabel(l,e,y,t),this.isNew=!1,h(this,"afterRender")}renderGridLine(t,e,i){let s,n=this.axis,r=n.options,o={},a=this.pos,l=this.type,h=p(this.tickmarkOffset,n.tickmarkOffset),c=n.chart.renderer,d=this.gridLine,u=r.gridLineWidth,f=r.gridLineColor,g=r.gridLineDashStyle;"minor"===this.type&&(u=r.minorGridLineWidth,f=r.minorGridLineColor,g=r.minorGridLineDashStyle),d||(n.chart.styledMode||(o.stroke=f,o["stroke-width"]=u||0,o.dashstyle=g),l||(o.zIndex=1),t&&(e=0),this.gridLine=d=c.path().attr(o).addClass("highcharts-"+(l?l+"-":"")+"grid-line").add(n.gridGroup)),d&&(s=n.getPlotLinePath({value:a+h,lineWidth:d.strokeWidth()*i,force:"pass",old:t,acrossPanes:!1}))&&d[t||this.isNew?"attr":"animate"]({d:s,opacity:e})}renderMark(t,e,i){let s=this.axis,n=s.options,r=s.chart.renderer,o=this.type,a=s.tickSize(o?o+"Tick":"tick"),l=t.x,h=t.y,c=p(n["minor"!==o?"tickWidth":"minorTickWidth"],!o&&s.isXAxis?1:0),d=n["minor"!==o?"tickColor":"minorTickColor"],u=this.mark,f=!u;a&&(s.opposite&&(a[0]=-a[0]),u||(this.mark=u=r.path().addClass("highcharts-"+(o?o+"-":"")+"tick").add(s.axisGroup),s.chart.styledMode||u.attr({stroke:d,"stroke-width":c})),u[f?"attr":"animate"]({d:this.getMarkPath(l,h,a[0],u.strokeWidth()*i,s.horiz,r),opacity:e}))}renderLabel(t,e,i,s){let n=this.axis,r=n.horiz,o=n.options,a=this.label,l=o.labels,h=l.step,d=p(this.tickmarkOffset,n.tickmarkOffset),u=t.x,f=t.y,g=!0;a&&c(u)&&(a.xy=t=this.getLabelPosition(u,f,a,r,l,d,s,h),this.isFirst&&!this.isLast&&!o.showFirstLabel||this.isLast&&!this.isFirst&&!o.showLastLabel?g=!1:!r||l.step||l.rotation||e||0===i||this.handleOverflow(t),h&&s%h&&(g=!1),g&&c(t.y)?(t.opacity=i,a[this.isNewLabel?"attr":"animate"](t).show(!0),this.isNewLabel=!1):(a.hide(),this.isNewLabel=!0))}replaceMovedLabel(){let t=this.label,e=this.axis;t&&!this.isNew&&(t.animate({opacity:0},void 0,t.destroy),delete this.label),e.isDirty=!0,this.label=this.movedLabel,delete this.movedLabel}}})),i(e,"Core/Axis/Axis.js",[e["Core/Animation/AnimationUtilities.js"],e["Core/Axis/AxisDefaults.js"],e["Core/Color/Color.js"],e["Core/Defaults.js"],e["Core/Foundation.js"],e["Core/Globals.js"],e["Core/Axis/Tick.js"],e["Core/Utilities.js"]],(function(t,e,i,s,n,r,o,a){let{animObject:l}=t,{xAxis:h,yAxis:c}=e,{defaultOptions:d}=s,{registerEventOptions:u}=n,{deg2rad:p}=r,{arrayMax:f,arrayMin:g,clamp:m,correctFloat:y,defined:x,destroyObjectProperties:v,erase:b,error:S,extend:k,fireEvent:w,getClosestDistance:C,insertItem:A,isArray:M,isNumber:T,isString:P,merge:E,normalizeTickInterval:O,objectEach:L,pick:D,relativeLength:j,removeEvent:N,splat:R,syncTimeout:I}=a,B=(t,e)=>O(e,void 0,void 0,D(t.options.allowDecimals,e<.5||void 0!==t.tickAmount),!!t.tickAmount);k(d,{xAxis:h,yAxis:E(h,c)});class _{constructor(t,e,i){this.init(t,e,i)}init(t,e){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.coll,s="xAxis"===i,n=this.isZAxis||(t.inverted?!s:s);this.chart=t,this.horiz=n,this.isXAxis=s,this.coll=i,w(this,"init",{userOptions:e}),this.opposite=D(e.opposite,this.opposite),this.side=D(e.side,this.side,n?this.opposite?0:2:this.opposite?1:3),this.setOptions(e);let r=this.options,o=r.labels,a=r.type;this.userOptions=e,this.minPixelPadding=0,this.reversed=D(r.reversed,this.reversed),this.visible=r.visible,this.zoomEnabled=r.zoomEnabled,this.hasNames="category"===a||!0===r.categories,this.categories=M(r.categories)&&r.categories||(this.hasNames?[]:void 0),this.names||(this.names=[],this.names.keys={}),this.plotLinesAndBandsGroups={},this.positiveValuesOnly=!!this.logarithmic,this.isLinked=x(r.linkedTo),this.ticks={},this.labelEdge=[],this.minorTicks={},this.plotLinesAndBands=[],this.alternateBands={},this.len=0,this.minRange=this.userMinRange=r.minRange||r.maxZoom,this.range=r.range,this.offset=r.offset||0,this.max=void 0,this.min=void 0;let l=D(r.crosshair,R(t.options.tooltip.crosshairs)[s?0:1]);this.crosshair=!0===l?{}:l,-1===t.axes.indexOf(this)&&(s?t.axes.splice(t.xAxis.length,0,this):t.axes.push(this),A(this,t[this.coll])),t.orderItems(this.coll),this.series=this.series||[],t.inverted&&!this.isZAxis&&s&&!x(this.reversed)&&(this.reversed=!0),this.labelRotation=T(o.rotation)?o.rotation:void 0,u(this,r),w(this,"afterInit")}setOptions(t){let e=this.horiz?{labels:{autoRotation:[-45]},margin:15}:{title:{rotation:90*this.side}};this.options=E(e,d[this.coll],t),w(this,"afterSetOptions",{userOptions:t})}defaultLabelFormatter(){let t,e,i=this.axis,{numberFormatter:s}=this.chart,n=T(this.value)?this.value:NaN,r=i.chart.time,o=i.categories,a=this.dateTimeLabelFormat,l=d.lang,h=l.numericSymbols,c=l.numericSymbolMagnitude||1e3,u=i.logarithmic?Math.abs(n):i.tickInterval,p=h&&h.length;if(o)e="".concat(this.value);else if(a)e=r.dateFormat(a,n);else if(p&&h&&u>=1e3)for(;p--&&void 0===e;)u>=(t=Math.pow(c,p+1))&&10*n%t==0&&null!==h[p]&&0!==n&&(e=s(n/t,-1)+h[p]);return void 0===e&&(e=Math.abs(n)>=1e4?s(n,-1):s(n,-1,void 0,"")),e}getSeriesExtremes(){let t,e=this;w(this,"getSeriesExtremes",null,(function(){e.hasVisibleSeries=!1,e.dataMin=e.dataMax=e.threshold=void 0,e.softThreshold=!e.isXAxis,e.series.forEach((i=>{if(i.reserveSpace()){let s,n,r,o=i.options,a=o.threshold;if(e.hasVisibleSeries=!0,e.positiveValuesOnly&&0>=(a||0)&&(a=void 0),e.isXAxis)(s=i.xData)&&s.length&&(s=e.logarithmic?s.filter((t=>t>0)):s,n=(t=i.getXExtremes(s)).min,r=t.max,T(n)||n instanceof Date||(s=s.filter(T),n=(t=i.getXExtremes(s)).min,r=t.max),s.length&&(e.dataMin=Math.min(D(e.dataMin,n),n),e.dataMax=Math.max(D(e.dataMax,r),r)));else{let t=i.applyExtremes();T(t.dataMin)&&(n=t.dataMin,e.dataMin=Math.min(D(e.dataMin,n),n)),T(t.dataMax)&&(r=t.dataMax,e.dataMax=Math.max(D(e.dataMax,r),r)),x(a)&&(e.threshold=a),(!o.softThreshold||e.positiveValuesOnly)&&(e.softThreshold=!1)}}}))})),w(this,"afterGetSeriesExtremes")}translate(t,e,i,s,n,r){var o;let a=this.linkedParent||this,l=s&&a.old?a.old.min:a.min;if(!T(l))return NaN;let h=a.minPixelPadding,c=(a.isOrdinal||(null===(o=a.brokenAxis)||void 0===o?void 0:o.hasBreaks)||a.logarithmic&&n)&&a.lin2val,d=1,u=0,p=s&&a.old?a.old.transA:a.transA,f=0;if(p||(p=a.transA),i&&(d*=-1,u=a.len),a.reversed&&(d*=-1,u-=d*(a.sector||a.len)),e)f=(t=t*d+u-h)/p+l,c&&(f=a.lin2val(f));else{c&&(t=a.val2lin(t));let e=d*(t-l)*p;f=(a.isRadial?e:y(e))+u+d*h+(T(r)?p*r:0)}return f}toPixels(t,e){return this.translate(t,!1,!this.horiz,void 0,!0)+(e?0:this.pos)}toValue(t,e){return this.translate(t-(e?0:this.pos),!0,!this.horiz,void 0,!0)}getPlotLinePath(t){let e,i,s,n,r,o=this,a=o.chart,l=o.left,h=o.top,c=t.old,d=t.value,u=t.lineWidth,p=c&&a.oldChartHeight||a.chartHeight,f=c&&a.oldChartWidth||a.chartWidth,g=o.transB,y=t.translatedValue,x=t.force;function v(t,e,i){return"pass"!==x&&(ti)&&(x?t=m(t,e,i):r=!0),t}let b={value:d,lineWidth:u,old:c,force:x,acrossPanes:t.acrossPanes,translatedValue:y};return w(this,"getPlotLinePath",b,(function(t){e=s=Math.round((y=m(y=D(y,o.translate(d,void 0,void 0,c)),-1e5,1e5))+g),i=n=Math.round(p-y-g),T(y)?o.horiz?(i=h,n=p-o.bottom+(a.scrollablePixelsY||0),e=s=v(e,l,l+o.width)):(e=l,s=f-o.right+(a.scrollablePixelsX||0),i=n=v(i,h,h+o.height)):(r=!0,x=!1),t.path=r&&!x?void 0:a.renderer.crispLine([["M",e,i],["L",s,n]],u||1)})),b.path}getLinearTickPositions(t,e,i){let s,n,r,o=y(Math.floor(e/t)*t),a=y(Math.ceil(i/t)*t),l=[];if(y(o+t)===o&&(r=20),this.single)return[e];for(s=o;s<=a&&(l.push(s),(s=y(s+t,r))!==n);)n=s;return l}getMinorTickInterval(){let{minorTicks:t,minorTickInterval:e}=this.options;return!0===t?D(e,"auto"):!1!==t?e:void 0}getMinorTickPositions(){let t,e=this.options,i=this.tickPositions,s=this.minorTickInterval,n=this.pointRangePadding||0,r=(this.min||0)-n,o=(this.max||0)+n,a=o-r,l=[];if(a&&a/s{var e;return(t.xIncrement?null===(e=t.xData)||void 0===e?void 0:e.slice(0,2):t.xData)||[]})))||0),this.dataMax-this.dataMin)),T(o)&&T(a)&&T(l)&&o-a=l,t=(l-o+a)/2,i=[a-t,D(n.min,a-t)],e&&(i[2]=r?r.log2lin(this.dataMin):this.dataMin),s=[(a=f(i))+l,D(n.max,a+l)],e&&(s[2]=r?r.log2lin(this.dataMax):this.dataMax),(o=g(s))-at-e)),t=C([i]))}return t&&e?Math.min(t,e):t||e}nameToX(t){let e,i=M(this.options.categories),s=i?this.categories:this.names,n=t.options.x;return t.series.requireSorting=!1,x(n)||(n=this.options.uniqueNames&&s?i?s.indexOf(t.name):D(s.keys[t.name],-1):t.series.autoIncrement()),-1===n?!i&&s&&(e=s.length):e=n,void 0!==e?(this.names[e]=t.name,this.names.keys[t.name]=e):t.x&&(e=t.x),e}updateNames(){let t=this,e=this.names;e.length>0&&(Object.keys(e.keys).forEach((function(t){delete e.keys[t]})),e.length=0,this.minRange=this.userMinRange,(this.series||[]).forEach((e=>{e.xIncrement=null,(!e.points||e.isDirtyData)&&(t.max=Math.max(t.max,e.xData.length-1),e.processData(),e.generatePoints()),e.data.forEach((function(i,s){let n;(null===i||void 0===i?void 0:i.options)&&void 0!==i.name&&void 0!==(n=t.nameToX(i))&&n!==i.x&&(i.x=n,e.xData[s]=n)}))})))}setAxisTranslation(){let t,e,i=this,s=i.max-i.min,n=i.linkedParent,r=!!i.categories,o=i.isXAxis,a=i.axisPointRange||0,l=0,h=0,c=i.transA;(o||r||a)&&(t=i.getClosest(),n?(l=n.minPointOffset,h=n.pointRangePadding):i.series.forEach((function(e){let s=r?1:o?D(e.options.pointRange,t,0):i.axisPointRange||0,n=e.options.pointPlacement;if(a=Math.max(a,s),!i.single||r){let t=e.is("xrange")?!o:o;l=Math.max(l,t&&P(n)?0:s/2),h=Math.max(h,t&&"on"===n?0:s)}})),e=i.ordinal&&i.ordinal.slope&&t?i.ordinal.slope/t:1,i.minPointOffset=l*=e,i.pointRangePadding=h*=e,i.pointRange=Math.min(a,i.single&&r?1:s),o&&t&&(i.closestPointRange=t)),i.translationSlope=i.transA=c=i.staticScale||i.len/(s+h||1),i.transB=i.horiz?i.left:i.bottom,i.minPixelPadding=c*l,w(this,"afterSetAxisTranslation")}minFromRange(){let{max:t,min:e}=this;return T(t)&&T(e)&&t-e||void 0}setTickInterval(t){var e;let i,s,n,r,o,{categories:a,chart:l,dataMax:h,dataMin:c,dateTime:d,isXAxis:u,logarithmic:p,options:f,softThreshold:g}=this,m=T(this.threshold)?this.threshold:void 0,v=this.minRange||0,{ceiling:b,floor:k,linkedTo:C,softMax:A,softMin:M}=f,P=T(C)&&(null===(e=l[this.coll])||void 0===e?void 0:e[C]),E=f.tickPixelInterval,O=f.maxPadding,L=f.minPadding,j=0,N=T(f.tickInterval)&&f.tickInterval>=0?f.tickInterval:void 0;if(d||a||P||this.getTickAmount(),r=D(this.userMin,f.min),o=D(this.userMax,f.max),P?(this.linkedParent=P,i=P.getExtremes(),this.min=D(i.min,i.dataMin),this.max=D(i.max,i.dataMax),f.type!==P.options.type&&S(11,!0,l)):(g&&x(m)&&T(h)&&T(c)&&(c>=m?(s=m,L=0):h<=m&&(n=m,O=0)),this.min=D(r,s,c),this.max=D(o,n,h)),T(this.max)&&T(this.min)&&(p&&(this.positiveValuesOnly&&!t&&0>=Math.min(this.min,D(c,this.min))&&S(10,!0,l),this.min=y(p.log2lin(this.min),16),this.max=y(p.log2lin(this.max),16)),this.range&&T(c)&&(this.userMin=this.min=r=Math.max(c,this.minFromRange()||0),this.userMax=o=this.max,this.range=void 0)),w(this,"foundExtremes"),this.adjustForMinRange(),T(this.min)&&T(this.max)){var R;if(!T(this.userMin)&&T(M)&&Mthis.max&&(this.max=o=A),a||this.axisPointRange||null!==(R=this.stacking)&&void 0!==R&&R.usePercentage||P||!(j=this.max-this.min)||(!x(r)&&L&&(this.min-=j*L),x(o)||!O||(this.max+=j*O)),!T(this.userMin)&&T(k)&&(this.min=Math.max(this.min,k)),!T(this.userMax)&&T(b)&&(this.max=Math.min(this.max,b)),g&&T(c)&&T(h)){let t=m||0;!x(r)&&this.min=t?this.min=f.minRange?Math.min(t,this.max-v):t:!x(o)&&this.max>t&&h<=t&&(this.max=f.minRange?Math.max(t,this.min+v):t)}!l.polar&&this.min>this.max&&(x(f.min)?this.max=this.min:x(f.max)&&(this.min=this.max)),j=this.max-this.min}if(this.min!==this.max&&T(this.min)&&T(this.max)?P&&!N&&E===P.options.tickPixelInterval?this.tickInterval=N=P.tickInterval:this.tickInterval=D(N,this.tickAmount?j/Math.max(this.tickAmount-1,1):void 0,a?1:j*E/Math.max(this.len,E)):this.tickInterval=1,u&&!t){var I,_;let t=this.min!==(null===(I=this.old)||void 0===I?void 0:I.min)||this.max!==(null===(_=this.old)||void 0===_?void 0:_.max);this.series.forEach((function(e){var i;e.forceCrop=null===(i=e.forceCropping)||void 0===i?void 0:i.call(e),e.processData(t)})),w(this,"postProcessData",{hasExtremesChanged:t})}this.setAxisTranslation(),w(this,"initialAxisTranslation"),this.pointRange&&!N&&(this.tickInterval=Math.max(this.pointRange,this.tickInterval));let z=D(f.minTickInterval,d&&!this.series.some((t=>t.noSharedTooltip))?this.closestPointRange:0);!N&&this.tickIntervalMath.max(2*this.len,200))l=[this.min,this.max],S(19,!1,this.chart);else if(this.dateTime)l=this.getTimeTicks(this.dateTime.normalizeTimeTickInterval(this.tickInterval,e.units),this.min,this.max,e.startOfWeek,null===(c=this.ordinal)||void 0===c?void 0:c.positions,this.closestPointRange,!0);else if(this.logarithmic)l=this.logarithmic.getLogTickPositions(this.tickInterval,this.min,this.max);else{let t=this.tickInterval,e=t;for(;e<=2*t&&(l=this.getLinearTickPositions(this.tickInterval,this.min,this.max),this.tickAmount&&l.length>this.tickAmount);)this.tickInterval=B(this,e*=1.1)}l.length>this.len&&(l=[l[0],l[l.length-1]])[0]===l[1]&&(l.length=1),s&&(this.tickPositions=l,(t=s.apply(this,[this.min,this.max]))&&(l=t))}this.tickPositions=l,this.paddedTicks=l.slice(0),this.trimTicks(l,o,a),!this.isLinked&&T(this.min)&&T(this.max)&&(this.single&&l.length<2&&!this.categories&&!this.series.some((t=>t.is("heatmap")&&"between"===t.options.pointPlacement))&&(this.min-=.5,this.max+=.5),i||t||this.adjustTickAmount()),w(this,"afterSetTickPositions")}trimTicks(t,e,i){let s=t[0],n=t[t.length-1],r=!this.isOrdinal&&this.minPointOffset||0;if(w(this,"trimTicks"),!this.isLinked){if(e&&s!==-1/0)this.min=s;else for(;this.min-r>t[0];)t.shift();if(i)this.max=n;else for(;this.max+r{let{horiz:e,options:i}=t;return[e?i.left:i.top,i.width,i.height,i.pane].join(",")},r=n(this);i[this.coll].forEach((function(i){let{series:o}=i;o.length&&o.some((t=>t.visible))&&i!==e&&n(i)===r&&(t=!0,s.push(i))}))}if(t&&o){s.forEach((t=>{let i=t.getThresholdAlignment(e);T(i)&&a.push(i)}));let t=a.length>1?a.reduce(((t,e)=>t+e),0)/a.length:void 0;s.forEach((e=>{e.thresholdAlignment=t}))}return t}getThresholdAlignment(t){if((!T(this.dataMin)||this!==t&&this.series.some((t=>t.isDirty||t.isDirtyData)))&&this.getSeriesExtremes(),T(this.threshold)){let t=m((this.threshold-(this.dataMin||0))/((this.dataMax||0)-(this.dataMin||0)),0,1);return this.options.reversed&&(t=1-t),t}}getTickAmount(){let t=this.options,e=t.tickPixelInterval,i=t.tickAmount;x(t.tickInterval)||i||!(this.lenl.push(y(l[l.length-1]+p)),g=()=>l.unshift(y(l[0]-p));if(T(c)&&(i=c<.5?Math.ceil(c*(h-1)):Math.floor(c*(h-1)),a.reversed&&(i=h-1-i)),s.hasData()&&T(o)&&T(r)){let c=()=>{s.transA*=(d-1)/(h-1),s.min=a.startOnTick?l[0]:Math.min(o,l[0]),s.max=a.endOnTick?l[l.length-1]:Math.max(r,l[l.length-1])};if(T(i)&&T(s.threshold)){for(;l[i]!==u||l.length!==h||l[0]>o||l[l.length-1]s.threshold?g():f();if(p>8*s.tickInterval)break;p*=2}c()}else if(d0&&e{n=n||t.isDirtyData||t.isDirty,r=r||t.xAxis&&t.xAxis.isDirty||!1})),this.setAxisSize();let o=this.len!==(this.old&&this.old.len);o||n||r||this.isLinked||this.forceRedraw||this.userMin!==(this.old&&this.old.userMin)||this.userMax!==(this.old&&this.old.userMax)||this.alignToOthers()?(s&&"yAxis"===i&&s.buildStacks(),this.forceRedraw=!1,this.userMinRange||(this.minRange=void 0),this.getSeriesExtremes(),this.setTickInterval(),s&&"xAxis"===i&&s.buildStacks(),this.isDirty||(this.isDirty=o||this.min!==(null===(t=this.old)||void 0===t?void 0:t.min)||this.max!==(null===(e=this.old)||void 0===e?void 0:e.max))):s&&s.cleanStacks(),n&&delete this.allExtremes,w(this,"afterSetScale")}setExtremes(t,e){let i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],s=arguments.length>3?arguments[3]:void 0,n=arguments.length>4?arguments[4]:void 0;this.series.forEach((t=>{delete t.kdTree})),w(this,"setExtremes",n=k(n,{min:t,max:e}),(t=>{this.userMin=t.min,this.userMax=t.max,this.eventArgs=t,i&&this.chart.redraw(s)}))}setAxisSize(){let t=this.chart,e=this.options,i=e.offsets||[0,0,0,0],s=this.horiz,n=this.width=Math.round(j(D(e.width,t.plotWidth-i[3]+i[1]),t.plotWidth)),r=this.height=Math.round(j(D(e.height,t.plotHeight-i[0]+i[2]),t.plotHeight)),o=this.top=Math.round(j(D(e.top,t.plotTop+i[0]),t.plotHeight,t.plotTop)),a=this.left=Math.round(j(D(e.left,t.plotLeft+i[3]),t.plotWidth,t.plotLeft));this.bottom=t.chartHeight-r-o,this.right=t.chartWidth-n-a,this.len=Math.max(s?n:r,0),this.pos=s?a:o}getExtremes(){let t=this.logarithmic;return{min:t?y(t.lin2log(this.min)):this.min,max:t?y(t.lin2log(this.max)):this.max,dataMin:this.dataMin,dataMax:this.dataMax,userMin:this.userMin,userMax:this.userMax}}getThreshold(t){let e=this.logarithmic,i=e?e.lin2log(this.min):this.min,s=e?e.lin2log(this.max):this.max;return null===t||t===-1/0?t=i:t===1/0?t=s:i>t?t=i:s15&&e<165?t.align="right":e>195&&e<345&&(t.align="left")})),i.align}tickSize(t){let e,i=this.options,s=D(i["tick"===t?"tickWidth":"minorTickWidth"],"tick"===t&&this.isXAxis&&!this.categories?1:0),n=i["tick"===t?"tickLength":"minorTickLength"];s&&n&&("inside"===i[t+"Position"]&&(n=-n),e=[n,s]);let r={tickSize:e};return w(this,"afterTickSize",r),r.tickSize}labelMetrics(){let t=this.chart.renderer,e=this.ticks,i=e[Object.keys(e)[0]]||{};return this.chart.renderer.fontMetrics(i.label||i.movedLabel||t.box)}unsquish(){let t,e,i=this.options.labels,s=this.horiz,n=this.tickInterval,r=this.len/(((this.categories?1:0)+this.max-this.min)/n),o=i.rotation,a=this.labelMetrics().h,l=Math.max(this.max-this.min,0),h=function(t){let e=t/(r||1);return(e=e>1?Math.ceil(e):1)*n>l&&t!==1/0&&r!==1/0&&l&&(e=Math.ceil(l/n)),y(e*n)},c=n,d=Number.MAX_VALUE;if(s){if(!i.staggerLines&&(T(o)?e=[o]:r=-90&&n<=90)&&(s=(i=h(Math.abs(a/Math.sin(p*n))))+Math.abs(n/360))m&&(m=e.label.textPxLength)})),this.maxLabelLength=m,this.autoRotation)m>u&&m>f.h?p.rotation=this.labelRotation:this.labelRotation=0;else if(d&&(t=u,!g))for(e="clip",s=o.length;!c&&s--;)(i=a[o[s]].label)&&("ellipsis"===i.styles.textOverflow?i.css({textOverflow:"clip"}):i.textPxLength>d&&i.css({width:d+"px"}),i.getBBox().height>this.len/o.length-(f.h-f.f)&&(i.specificTextOverflow="ellipsis"));p.rotation&&(t=m>.5*n.chartHeight?.33*n.chartHeight:m,g||(e="ellipsis")),this.labelAlign=l.align||this.autoLabelAlign(this.labelRotation),this.labelAlign&&(p.align=this.labelAlign),o.forEach((function(i){let s=a[i],n=s&&s.label,r=h.width,o={};n&&(n.attr(p),s.shortenLabel?s.shortenLabel():t&&!r&&"nowrap"!==h.whiteSpace&&(tn.g(e).attr({zIndex:o}).addClass("highcharts-".concat(i.toLowerCase()).concat(r," ")+(this.isRadial?"highcharts-radial-axis".concat(r," "):"")+(s.className||"")).add(t);this.axisGroup||(this.gridGroup=r("grid","-grid",s.gridZIndex),this.axisGroup=r("axis","",s.zIndex),this.labelGroup=r("axis-labels","-labels",s.labels.zIndex))}getOffset(){let t,e,i,s,n=this,{chart:r,horiz:o,options:a,side:l,ticks:h,tickPositions:c,coll:d}=n,u=r.inverted&&!n.isZAxis?[1,0,3,2][l]:l,p=n.hasData(),f=a.title,g=a.labels,m=T(a.crossing),y=r.axisOffset,v=r.clipOffset,b=[-1,1,1,-1][l],S=0,k=0,C=0;if(n.showAxis=t=p||a.showEmpty,n.staggerLines=n.horiz&&g.staggerLines||void 0,n.createGroups(),p||n.isLinked?(c.forEach((function(t){n.generateTick(t)})),n.renderUnsquish(),n.reserveSpaceDefault=0===l||2===l||{1:"left",3:"right"}[l]===n.labelAlign,D(g.reserveSpace,!m&&null,"center"===n.labelAlign||null,n.reserveSpaceDefault)&&c.forEach((function(t){C=Math.max(h[t].getLabelSize(),C)})),n.staggerLines&&(C*=n.staggerLines),n.labelOffset=C*(n.opposite?-1:1)):L(h,(function(t,e){t.destroy(),delete h[e]})),null!==f&&void 0!==f&&f.text&&!1!==f.enabled&&(n.addTitle(t),t&&!m&&!1!==f.reserveSpace&&(n.titleOffset=S=n.axisTitle.getBBox()[o?"height":"width"],k=x(e=f.offset)?0:D(f.margin,o?5:10))),n.renderLine(),n.offset=b*D(a.offset,y[l]?y[l]+(a.margin||0):0),n.tickRotCorr=n.tickRotCorr||{x:0,y:0},s=0===l?-n.labelMetrics().h:2===l?n.tickRotCorr.y:0,i=Math.abs(C)+k,C&&(i-=s,i+=b*(o?D(g.y,n.tickRotCorr.y+b*g.distance):D(g.x,b*g.distance))),n.axisTitleMargin=D(e,i),n.getMaxLabelDimensions&&(n.maxLabelDimensions=n.getMaxLabelDimensions(h,c)),"colorAxis"!==d){let t=this.tickSize("tick");y[l]=Math.max(y[l],(n.axisTitleMargin||0)+S+b*n.offset,i,c&&c.length&&t?t[0]+b*n.offset:0);let e=!n.axisLine||a.offset?0:2*Math.floor(n.axisLine.strokeWidth()/2);v[u]=Math.max(v[u],e)}w(this,"afterGetOffset")}getLinePath(t){let e=this.chart,i=this.opposite,s=this.offset,n=this.horiz,r=this.left+(i?this.width:0)+s,o=e.chartHeight-this.bottom-(i?this.height:0)+s;return i&&(t*=-1),e.renderer.crispLine([["M",n?this.left:r,n?o:this.top],["L",n?e.chartWidth-this.right:r,n?o:e.chartHeight-this.bottom]],t)}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(t){let e=this.horiz,i=this.left,s=this.top,n=this.len,r=this.options.title,o=e?i:s,a=this.opposite,l=this.offset,h=r.x,c=r.y,d=this.chart.renderer.fontMetrics(t),u=t?Math.max(t.getBBox(!1,0).height-d.h-1,0):0,p={low:o+(e?0:n),middle:o+n/2,high:o+(e?n:0)}[r.align],f=(e?s+this.height:i)+(e?1:-1)*(a?-1:1)*(this.axisTitleMargin||0)+[-u,u,d.f,-u][this.side],g={x:e?p+h:f+(a?this.width:0)+l+h,y:e?f+c-(a?this.height:0)+l:p+c};return w(this,"afterGetTitlePosition",{titlePosition:g}),g}renderMinorTick(t,e){let i=this.minorTicks;i[t]||(i[t]=new o(this,t,"minor")),e&&i[t].isNew&&i[t].render(null,!0),i[t].render(null,!1,1)}renderTick(t,e,i){let s=this.isLinked,n=this.ticks;(!s||t>=this.min&&t<=this.max||this.grid&&this.grid.isColumn)&&(n[t]||(n[t]=new o(this,t)),i&&n[t].isNew&&n[t].render(e,!0,-1),n[t].render(e))}render(){let t,e,i=this,s=i.chart,n=i.logarithmic,a=s.renderer,h=i.options,c=i.isLinked,d=i.tickPositions,u=i.axisTitle,p=i.ticks,f=i.minorTicks,g=i.alternateBands,m=h.stackLabels,y=h.alternateGridColor,x=h.crossing,v=i.tickmarkOffset,b=i.axisLine,S=i.showAxis,k=l(a.globalAnimation);if(i.labelEdge.length=0,i.overlap=!1,[p,f,g].forEach((function(t){L(t,(function(t){t.isActive=!1}))})),T(x)){let t=this.isXAxis?s.yAxis[0]:s.xAxis[0],e=[1,-1,-1,1][this.side];if(t){let s=t.toPixels(x,!0);i.horiz&&(s=t.len-s),i.offset=e*s}}if(i.hasData()||c){let a=i.chart.hasRendered&&i.old&&T(i.old.min);i.minorTickInterval&&!i.categories&&i.getMinorTickPositions().forEach((function(t){i.renderMinorTick(t,a)})),d.length&&(d.forEach((function(t,e){i.renderTick(t,e,a)})),v&&(0===i.min||i.single)&&(p[-1]||(p[-1]=new o(i,-1,null,!0)),p[-1].render(-1))),y&&d.forEach((function(o,a){e=void 0!==d[a+1]?d[a+1]+v:i.max-v,a%2==0&&o=.5)t=Math.round(t),h=o.getLinearTickPositions(t,e,i);else if(t>=.08){let s,n,o,a,l,c,d;for(s=t>.3?[1,2,4]:t>.15?[1,2,4,6,8]:[1,2,3,4,5,6,7,8,9],n=Math.floor(e);ne&&(!r||c<=i)&&void 0!==c&&h.push(c),c>i&&(d=!0),c=l}else{let c=this.lin2log(e),d=this.lin2log(i),u=r?o.getMinorTickInterval():l.tickInterval,p=l.tickPixelInterval/(r?5:1),f=r?a/o.tickPositions.length:a;t=s(t=n("auto"===u?null:u,this.minorAutoInterval,(d-c)*p/(f||1))),h=o.getLinearTickPositions(t,c,d).map(this.log2lin),r||(this.minorAutoInterval=t/5)}return r||(o.tickInterval=t),h}lin2log(t){return Math.pow(10,t)}log2lin(t){return Math.log(t)/Math.LN10}}t.Additions=o}(e||(e={})),e})),i(e,"Core/Axis/PlotLineOrBand/PlotLineOrBandAxis.js",[e["Core/Utilities.js"]],(function(t){var e;let{erase:i,extend:s,isNumber:n}=t;return function(t){let e;function r(t){return this.addPlotBandOrLine(t,"plotBands")}function o(t,i){let s=this.userOptions,n=new e(this,t);if(this.visible&&(n=n.render()),n){if(this._addedPlotLB||(this._addedPlotLB=!0,(s.plotLines||[]).concat(s.plotBands||[]).forEach((t=>{this.addPlotBandOrLine(t)}))),i){let e=s[i]||[];e.push(t),s[i]=e}this.plotLinesAndBands.push(n)}return n}function a(t){return this.addPlotBandOrLine(t,"plotLines")}function l(t,e,i){i=i||this.options;let s,r,o=this.getPlotLinePath({value:e,force:!0,acrossPanes:i.acrossPanes}),a=[],l=this.horiz,h=!n(this.min)||!n(this.max)||tthis.max&&e>this.max,c=this.getPlotLinePath({value:t,force:!0,acrossPanes:i.acrossPanes}),d=1;if(c&&o)for(h&&(r=c.toString()===o.toString(),d=0),s=0;s{var i;null===(i=C)||void 0===i||i.on(e,(t=>{f[e].apply(this,[t])}))})),this.eventsAdded=!0),!P&&C.d||null===(e=A)||void 0===e||!e.length?C&&(A?(C.show(),C.animate({d:A})):C.d&&(C.hide(),w&&(this.label=w=w.destroy()))):C.attr({d:A}),k&&(n(k.text)||n(k.formatter))&&null!==(i=A)&&void 0!==i&&i.length&&r.width>0&&r.height>0&&!A.isFlat?(k=l({align:d&&M&&"center",x:d?!M&&4:10,verticalAlign:!d&&M&&"middle",y:d?M?16:10:M?6:-4,rotation:d&&!M&&90},k),this.renderLabel(k,A,M,g)):w&&w.hide(),this}renderLabel(t,e,n,r){let o=this.axis,a=o.chart.renderer,h=this.label;h||(this.label=h=a.text(this.getLabelText(t),0,0,t.useHTML).attr({align:t.textAlign||t.align,rotation:t.rotation,class:"highcharts-plot-"+(n?"band":"line")+"-label"+(t.className||""),zIndex:r}),o.chart.styledMode||h.css(l({fontSize:"0.8em",textOverflow:"ellipsis"},t.style)),h.add());let c=e.xBounds||[e[0][1],e[1][1],n?e[2][1]:e[0][1]],d=e.yBounds||[e[0][2],e[1][2],n?e[2][2]:e[0][2]],u=s(c),p=s(d);if(h.align(t,!1,{x:u,y:p,width:i(c)-u,height:i(d)-p}),!h.alignValue||"left"===h.alignValue){let e=t.clip?o.width:o.chart.chartWidth;h.css({width:(90===h.rotation?o.height-(h.alignAttr.y-o.top):e-(h.alignAttr.x-o.left))+"px"})}h.show(!0)}getLabelText(t){return n(t.formatter)?t.formatter.call(this):t.text}destroy(){o(this.axis.plotLinesAndBands,this),delete this.axis,r(this)}}return d})),i(e,"Core/Tooltip.js",[e["Core/Templating.js"],e["Core/Globals.js"],e["Core/Renderer/RendererUtilities.js"],e["Core/Renderer/RendererRegistry.js"],e["Core/Utilities.js"]],(function(t,e,i,s,n){var r;let{format:o}=t,{composed:a,doc:l,isSafari:h}=e,{distribute:c}=i,{addEvent:d,clamp:u,css:p,discardElement:f,extend:g,fireEvent:m,isArray:y,isNumber:x,isString:v,merge:b,pick:S,pushUnique:k,splat:w,syncTimeout:C}=n;class A{constructor(t,e,i){this.allowShared=!0,this.crosshairs=[],this.distance=0,this.isHidden=!0,this.isSticky=!1,this.now={},this.options={},this.outside=!1,this.chart=t,this.init(t,e),this.pointer=i}bodyFormatter(t){return t.map((function(t){let e=t.series.tooltipOptions;return(e[(t.point.formatPrefix||"point")+"Formatter"]||t.point.tooltipFormatter).call(t.point,e[(t.point.formatPrefix||"point")+"Format"]||"")}))}cleanSplit(t){this.chart.series.forEach((function(e){let i=e&&e.tt;i&&(!i.isActive||t?e.tt=i.destroy():i.isActive=!1)}))}defaultFormatter(t){let e,i=this.points||w(this);return(e=(e=[t.tooltipFooterHeaderFormatter(i[0])]).concat(t.bodyFormatter(i))).push(t.tooltipFooterHeaderFormatter(i[0],!0)),e}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(),f(this.container)),n.clearTimeout(this.hideTimer),n.clearTimeout(this.tooltipTimeout)}getAnchor(t,e){let i,{chart:s,pointer:n}=this,r=s.inverted,o=s.plotTop,a=s.plotLeft;if((t=w(t))[0].series&&t[0].series.yAxis&&!t[0].series.yAxis.options.reversedStacks&&(t=t.slice().reverse()),this.followPointer&&e)void 0===e.chartX&&(e=n.normalize(e)),i=[e.chartX-a,e.chartY-o];else if(t[0].tooltipPos)i=t[0].tooltipPos;else{let s=0,n=0;t.forEach((function(t){let e=t.pos(!0);e&&(s+=e[0],n+=e[1])})),s/=t.length,n/=t.length,this.shared&&t.length>1&&e&&(r?s=e.chartX:n=e.chartY),i=[s-a,n-o]}return i.map(Math.round)}getClassName(t,e,i){let s=this.options,n=t.series,r=n.options;return[s.className,"highcharts-label",i&&"highcharts-tooltip-header",e?"highcharts-tooltip-box":"highcharts-tooltip",!i&&"highcharts-color-"+S(t.colorIndex,n.colorIndex),r&&r.className].filter(v).join(" ")}getLabel(){let t=this,i=this.chart.styledMode,n=this.options,r=this.split&&this.allowShared,o=this.container,a=this.chart.renderer;if(this.label){let t=!this.label.hasClass("highcharts-label");(!r&&t||r&&!t)&&this.destroy()}if(!this.label){if(this.outside){let t=this.chart.options.chart.style,i=s.getRendererType();this.container=o=e.doc.createElement("div"),o.className="highcharts-tooltip-container",p(o,{position:"absolute",top:"1px",pointerEvents:"none",zIndex:Math.max(this.options.style.zIndex||0,(t&&t.zIndex||0)+3)}),this.renderer=a=new i(o,0,0,t,void 0,void 0,a.styledMode)}if(r?this.label=a.g("tooltip"):(this.label=a.label("",0,0,n.shape,void 0,void 0,n.useHTML,void 0,"tooltip").attr({padding:n.padding,r:n.borderRadius}),i||this.label.attr({fill:n.backgroundColor,"stroke-width":n.borderWidth||0}).css(n.style).css({pointerEvents:n.style.pointerEvents||(this.shouldStickOnContact()?"auto":"none")})),t.outside){let e=this.label,{xSetter:i,ySetter:s}=e;e.xSetter=function(s){i.call(e,t.distance),o&&(o.style.left=s+"px")},e.ySetter=function(i){s.call(e,t.distance),o&&(o.style.top=i+"px")}}this.label.attr({zIndex:8}).shadow(n.shadow).add()}return o&&!o.parentElement&&e.doc.body.appendChild(o),this.label}getPlayingField(){let{body:t,documentElement:e}=l,{chart:i,distance:s,outside:n}=this;return{width:n?Math.max(t.scrollWidth,e.scrollWidth,t.offsetWidth,e.offsetWidth,e.clientWidth)-2*s:i.chartWidth,height:n?Math.max(t.scrollHeight,e.scrollHeight,t.offsetHeight,e.offsetHeight,e.clientHeight):i.chartHeight}}getPosition(t,e,i){var s;let n,{distance:r,chart:o,outside:a,pointer:l}=this,{inverted:h,plotLeft:c,plotTop:d,polar:u}=o,{plotX:p=0,plotY:f=0}=i,g={},m=h&&i.h||0,{height:y,width:x}=this.getPlayingField(),v=l.getChartPosition(),b=t=>t*v.scaleX,k=t=>t*v.scaleY,w=i=>{let s="x"===i;return[i,s?x:y,s?t:e].concat(a?[s?b(t):k(e),s?v.left-r+b(p+c):v.top-r+k(f+d),0,s?x:y]:[s?t:e,s?p+c:f+d,s?c:d,s?c+o.plotWidth:d+o.plotHeight])},C=w("y"),A=w("x"),M=!!i.negative;!u&&(null===(s=o.hoverSeries)||void 0===s||null===(s=s.yAxis)||void 0===s?void 0:s.reversed)&&(M=!M);let T=!this.followPointer&&S(i.ttBelow,!u&&!h===M),P=function(t,e,i,s,n,o,l){let h=a?"y"===t?k(r):b(r):r,c=(i-s)/2,d=se?f:f+m)}},E=function(t,e,i,s,n){if(ne-r)return!1;g[t]=ne-s/2?e-s-2:n-i/2},O=function(t){[C,A]=[A,C],n=t},L=()=>{!1!==P.apply(0,C)?!1!==E.apply(0,A)||n||(O(!0),L()):n?g.x=g.y=0:(O(!0),L())};return(h&&!u||this.len>1)&&O(),L(),g}hide(t){let e=this;n.clearTimeout(this.hideTimer),t=S(t,this.options.hideDelay),this.isHidden||(this.hideTimer=C((function(){let i=e.getLabel();e.getLabel().animate({opacity:0},{duration:t?150:t,complete:()=>{i.hide(),e.container&&e.container.remove()}}),e.isHidden=!0}),t))}init(t,e){this.chart=t,this.options=e,this.crosshairs=[],this.now={x:0,y:0},this.isHidden=!0,this.split=e.split&&!t.inverted&&!t.polar,this.shared=e.shared||this.split,this.outside=S(e.outside,!(!t.scrollablePixelsX&&!t.scrollablePixelsY))}shouldStickOnContact(t){return!(this.followPointer||!this.options.stickOnContact||t&&!this.pointer.inClass(t.target,"highcharts-tooltip"))}move(t,e,i,s){let r=this,o=r.now,a=!1!==r.options.animation&&!r.isHidden&&(Math.abs(t-o.x)>1||Math.abs(e-o.y)>1),l=r.followPointer||r.len>1;g(o,{x:a?(2*o.x+t)/3:t,y:a?(o.y+e)/2:e,anchorX:l?void 0:a?(2*o.anchorX+i)/3:i,anchorY:l?void 0:a?(o.anchorY+s)/2:s}),r.getLabel().attr(o),r.drawTracker(),a&&(n.clearTimeout(this.tooltipTimeout),this.tooltipTimeout=setTimeout((function(){r&&r.move(t,e,i,s)}),32))}refresh(t,e){let{chart:i,options:s,pointer:r,shared:a}=this,l=w(t),h=l[0],c=[],d=s.format,u=s.formatter||this.defaultFormatter,p=i.styledMode,f={};if(!s.enabled||!h.series)return;n.clearTimeout(this.hideTimer),this.allowShared=!(!y(t)&&t.series&&t.series.noSharedTooltip),this.followPointer=!this.split&&h.series.tooltipOptions.followPointer;let g=this.getAnchor(t,e),x=g[0],b=g[1];a&&this.allowShared?(r.applyInactiveState(l),l.forEach((function(t){t.setState("hover"),c.push(t.getLabelConfig())})),(f=h.getLabelConfig()).points=c):f=h.getLabelConfig(),this.len=c.length;let k=v(d)?o(d,f,i):u.call(f,this),C=h.series;if(this.distance=S(C.tooltipOptions.distance,16),!1===k)this.hide();else{if(this.split&&this.allowShared)this.renderSplit(k,l);else{let t=x,n=b;if(e&&r.isDirectTouch&&(t=e.chartX-i.plotLeft,n=e.chartY-i.plotTop),!i.polar&&!1!==C.options.clip&&!l.some((e=>r.isDirectTouch||e.series.shouldShowTooltip(t,n))))return void this.hide();{let t=this.getLabel();(!s.style.width||p)&&t.css({width:(this.outside?this.getPlayingField():i.spacingBox).width+"px"}),t.attr({text:k&&k.join?k.join(""):k}),t.addClass(this.getClassName(h),!0),p||t.attr({stroke:s.borderColor||h.color||C.color||"#666666"}),this.updatePosition({plotX:x,plotY:b,negative:h.negative,ttBelow:h.ttBelow,h:g[2]||0})}}this.isHidden&&this.label&&this.label.attr({opacity:1}).show(),this.isHidden=!1}m(this,"refresh")}renderSplit(t,e){var i;let s=this,{chart:n,chart:{chartWidth:r,chartHeight:o,plotHeight:a,plotLeft:d,plotTop:p,scrollablePixelsY:f=0,scrollablePixelsX:m,styledMode:y},distance:x,options:b,options:{positioner:k},pointer:w}=s,{scrollLeft:C=0,scrollTop:A=0}=(null===(i=n.scrollablePlotArea)||void 0===i?void 0:i.scrollingContainer)||{},M=s.outside&&"number"!=typeof m?l.documentElement.getBoundingClientRect():{left:C,right:C+r,top:A,bottom:A+o},T=s.getLabel(),P=this.renderer||n.renderer,E=!(!n.xAxis[0]||!n.xAxis[0].opposite),{left:O,top:L}=w.getChartPosition(),D=p+A,j=0,N=a-f;function R(t,e,i,n){let r,o,a=!(arguments.length>4&&void 0!==arguments[4])||arguments[4];return i?(r=E?0:N,o=u(t-n/2,M.left,M.right-n-(s.outside?O:0))):(r=e-D,o=u(o=a?t-n-x:t+x,a?o:M.left,M.right)),{x:o,y:r}}v(t)&&(t=[!1,t]);let I=t.slice(0,e.length+1).reduce((function(t,i,n){if(!1!==i&&""!==i){let r=e[n-1]||{isHeader:!0,plotX:e[0].plotX,plotY:a,series:{}},o=r.isHeader,l=o?s:r.series,h=l.tt=function(t,e,i){let n=t,{isHeader:r,series:o}=e;if(!n){var a;let t={padding:b.padding,r:b.borderRadius};y||(t.fill=b.backgroundColor,t["stroke-width"]=null!==(a=b.borderWidth)&&void 0!==a?a:1),n=P.label("",0,0,b[r?"headerShape":"shape"],void 0,void 0,b.useHTML).addClass(s.getClassName(e,!0,r)).attr(t).add(T)}return n.isActive=!0,n.attr({text:i}),y||n.css(b.style).attr({stroke:b.borderColor||e.color||o.color||"#333333"}),n}(l.tt,r,i.toString()),c=h.getBBox(),f=c.width+h.strokeWidth();o&&(j=c.height,N+=j,E&&(D-=j));let{anchorX:g,anchorY:m}=function(t){let e,i,{isHeader:s,plotX:n=0,plotY:r=0,series:o}=t;if(s)e=Math.max(d+n,d),i=p+a/2;else{let{xAxis:t,yAxis:s}=o;e=t.pos+u(n,-x,t.len+x),o.shouldShowTooltip(0,s.pos-p+r,{ignoreX:!0})&&(i=s.pos+r)}return{anchorX:e=u(e,M.left-x,M.right+x),anchorY:i}}(r);if("number"==typeof m){let e=c.height+1,i=k?k.call(s,f,e,r):R(g,m,o,f);t.push({align:k?0:void 0,anchorX:g,anchorY:m,boxWidth:f,point:r,rank:S(i.rank,o?1:0),size:e,target:i.y,tt:h,x:i.x})}else h.isActive=!1}return t}),[]);!k&&I.some((t=>{let{outside:e}=s,i=(e?O:0)+t.anchorX;return ii}))&&(I=I.map((t=>{let{x:e,y:i}=R(t.anchorX,t.anchorY,t.point.isHeader,t.boxWidth,!1);return g(t,{target:i,x:e})}))),s.cleanSplit(),c(I,N);let B={left:O,right:O};I.forEach((function(t){let{x:e,boxWidth:i,isHeader:n}=t;!n&&(s.outside&&O+eB.right&&(B.right=O+e))})),I.forEach((function(t){let{x:e,anchorX:i,anchorY:n,pos:r,point:{isHeader:o}}=t,a={visibility:void 0===r?"hidden":"inherit",x:e,y:(r||0)+D,anchorX:i,anchorY:n};if(s.outside&&e0&&(o||(a.x=e+t,a.anchorX=i+t),o&&(a.x=(B.right-B.left)/2,a.anchorX=i+t))}t.tt.attr(a)}));let{container:_,outside:z,renderer:W}=s;if(z&&_&&W){let{width:t,height:e,x:i,y:s}=T.getBBox();W.setSize(t+i,e+s,!1),_.style.left=B.left+"px",_.style.top=L+"px"}h&&T.attr({opacity:1===T.opacity?.999:1})}drawTracker(){if(!this.shouldStickOnContact())return void(this.tracker&&(this.tracker=this.tracker.destroy()));let t=this.chart,e=this.label,i=this.shared?t.hoverPoints:t.hoverPoint;if(!e||!i)return;let s={x:0,y:0,width:0,height:0},n=this.getAnchor(i),r=e.getBBox();n[0]+=t.plotLeft-(e.translateX||0),n[1]+=t.plotTop-(e.translateY||0),s.x=Math.min(0,n[0]),s.y=Math.min(0,n[1]),s.width=n[0]<0?Math.max(Math.abs(n[0]),r.width-n[0]):Math.max(Math.abs(n[0]),r.width),s.height=n[1]<0?Math.max(Math.abs(n[1]),r.height-Math.abs(n[1])):Math.max(Math.abs(n[1]),r.height),this.tracker?this.tracker.attr(s):(this.tracker=e.renderer.rect(s).addClass("highcharts-tracker").add(e),t.styledMode||this.tracker.attr({fill:"rgba(0,0,0,0)"}))}styledModeFormat(t){return t.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(t,e){let i=t.series,s=i.tooltipOptions,n=i.xAxis,r=n&&n.dateTime,a={isFooter:e,labelConfig:t},l=s.xDateFormat,h=s[e?"footerFormat":"headerFormat"];return m(this,"headerFormatter",a,(function(e){r&&!l&&x(t.key)&&(l=r.getXDateFormat(t.key,s.dateTimeLabelFormats)),r&&l&&(t.point&&t.point.tooltipDateKeys||["key"]).forEach((function(t){h=h.replace("{point."+t+"}","{point."+t+":"+l+"}")})),i.chart.styledMode&&(h=this.styledModeFormat(h)),e.text=o(h,{point:t,series:i},this.chart)})),a.text}update(t){this.destroy(),this.init(this.chart,b(!0,this.options,t))}updatePosition(t){let e,{chart:i,container:s,distance:n,options:r,pointer:o,renderer:a}=this,{height:l=0,width:h=0}=this.getLabel(),{left:c,top:d,scaleX:u,scaleY:f}=o.getChartPosition(),g=(r.positioner||this.getPosition).call(this,h,l,t),m=(t.plotX||0)+i.plotLeft,y=(t.plotY||0)+i.plotTop;a&&s&&(r.positioner&&(g.x+=c-n,g.y+=d-n),e=(r.borderWidth||0)+2*n+2,a.setSize(h+e,l+e,!1),(1!==u||1!==f)&&(p(s,{transform:"scale(".concat(u,", ").concat(f,")")}),m*=u,y*=f),m+=c-g.x,y+=d-g.y),this.move(Math.round(g.x),Math.round(g.y||0),m,y)}}return(r=A||(A={})).compose=function(t){k(a,"Core.Tooltip")&&d(t,"afterInit",(function(){let t=this.chart;t.options.tooltip&&(t.tooltip=new r(t,t.options.tooltip,this))}))},A})),i(e,"Core/Series/Point.js",[e["Core/Renderer/HTML/AST.js"],e["Core/Animation/AnimationUtilities.js"],e["Core/Defaults.js"],e["Core/Templating.js"],e["Core/Utilities.js"]],(function(t,e,i,s,n){let{animObject:r}=e,{defaultOptions:o}=i,{format:a}=s,{addEvent:l,erase:h,extend:c,fireEvent:d,getNestedProperty:u,isArray:p,isFunction:f,isNumber:g,isObject:m,pick:y,syncTimeout:x,removeEvent:v,uniqueKey:b}=n;class S{animateBeforeDestroy(){let t=this,e={x:t.startXPos,opacity:0},i=t.getGraphicalProps();i.singular.forEach((function(i){t[i]=t[i].animate("dataLabel"===i?{x:t[i].startXPos,y:t[i].startYPos,opacity:0}:e)})),i.plural.forEach((function(e){t[e].forEach((function(e){e.element&&e.animate(c({x:t.startXPos},e.startYPos?{x:e.startXPos,y:e.startYPos}:{}))}))}))}applyOptions(t,e){let i=this.series,s=i.options.pointValKey||i.pointValKey;return c(this,t=S.prototype.optionsToObject.call(this,t)),this.options=this.options?c(this.options,t):t,t.group&&delete this.group,t.dataLabels&&delete this.dataLabels,s&&(this.y=S.prototype.getNestedProperty.call(this,s)),this.selected&&(this.state="select"),"name"in this&&void 0===e&&i.xAxis&&i.xAxis.hasNames&&(this.x=i.xAxis.nameToX(this)),void 0===this.x&&i?this.x=void 0===e?i.autoIncrement():e:g(t.x)&&i.options.relativeXValue&&(this.x=i.autoIncrement(t.x)),this.isNull=this.isValid&&!this.isValid(),this.formatPrefix=this.isNull?"null":"point",this}destroy(){if(!this.destroyed){let t=this,e=t.series,i=e.chart,s=e.options.dataSorting,n=i.hoverPoints,o=r(t.series.chart.renderer.globalAnimation),a=()=>{for(let e in(t.graphic||t.graphics||t.dataLabel||t.dataLabels)&&(v(t),t.destroyElements()),t)delete t[e]};t.legendItem&&i.legend.destroyItem(t),n&&(t.setState(),h(n,t),n.length||(i.hoverPoints=null)),t===i.hoverPoint&&t.onMouseOut(),s&&s.enabled?(this.animateBeforeDestroy(),x(a,o.duration)):a(),i.pointCount--}this.destroyed=!0}destroyElements(t){let e=this,i=e.getGraphicalProps(t);i.singular.forEach((function(t){e[t]=e[t].destroy()})),i.plural.forEach((function(t){e[t].forEach((function(t){t&&t.element&&t.destroy()})),delete e[t]}))}firePointEvent(t,e,i){let s=this,n=this.series.options;s.manageEvent(t),"click"===t&&n.allowPointSelect&&(i=function(t){!s.destroyed&&s.select&&s.select(null,t.ctrlKey||t.metaKey||t.shiftKey)}),d(s,t,e,i)}getClassName(){return"highcharts-point"+(this.selected?" highcharts-point-select":"")+(this.negative?" highcharts-negative":"")+(this.isNull?" highcharts-null-point":"")+(void 0!==this.colorIndex?" highcharts-color-"+this.colorIndex:"")+(this.options.className?" "+this.options.className:"")+(this.zone&&this.zone.className?" "+this.zone.className.replace("highcharts-negative",""):"")}getGraphicalProps(t){let e,i,s=this,n=[],r={singular:[],plural:[]};for((t=t||{graphic:1,dataLabel:1}).graphic&&n.push("graphic","connector"),t.dataLabel&&n.push("dataLabel","dataLabelPath","dataLabelUpper"),i=n.length;i--;)s[e=n[i]]&&r.singular.push(e);return["graphic","dataLabel"].forEach((function(e){let i=e+"s";t[e]&&s[i]&&r.plural.push(i)})),r}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(t){return t?0===t.indexOf("custom.")?u(t,this.options):this[t]:void 0}getZone(){let t,e=this.series,i=e.zones,s=e.zoneAxis||"y",n=0;for(t=i[0];this[s]>=t.value;)t=i[++n];return this.nonZonedColor||(this.nonZonedColor=this.color),t&&t.color&&!this.options.color?this.color=t.color:this.color=this.nonZonedColor,t}hasNewShapeType(){return(this.graphic&&(this.graphic.symbolName||this.graphic.element.nodeName))!==this.shapeType}constructor(t,e,i){var s;this.formatPrefix="point",this.visible=!0,this.series=t,this.applyOptions(e,i),null!==(s=this.id)&&void 0!==s||(this.id=b()),this.resolveColor(),t.chart.pointCount++,d(this,"afterInit")}isValid(){return(g(this.x)||this.x instanceof Date)&&g(this.y)}optionsToObject(t){let e,i=this.series,s=i.options.keys,n=s||i.pointArrayMap||["y"],r=n.length,o={},a=0,l=0;if(g(t)||null===t)o[n[0]]=t;else if(p(t))for(!s&&t.length>r&&("string"==(e=typeof t[0])?o.name=t[0]:"number"===e&&(o.x=t[0]),a++);l0?S.prototype.setNestedProperty(o,t[a],n[l]):o[n[l]]=t[a]),a++,l++;else"object"==typeof t&&(o=t,t.dataLabels&&(i.hasDataLabels=()=>!0),t.marker&&(i._hasPointMarkers=!0));return o}pos(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.plotY;if(!this.destroyed){let{plotX:i,series:s}=this,{chart:n,xAxis:r,yAxis:o}=s,a=0,l=0;if(g(i)&&g(e))return t&&(a=r?r.pos:n.plotLeft,l=o?o.pos:n.plotTop),n.inverted&&r&&o?[o.len-e+l,r.len-i+a]:[i+a,e+l]}}resolveColor(){let t,e,i,s=this.series,n=s.chart.options.chart,r=s.chart.styledMode,o=n.colorCount;delete this.nonZonedColor,s.options.colorByPoint?(r||(t=(e=s.options.colors||s.chart.options.colors)[s.colorCounter],o=e.length),i=s.colorCounter,s.colorCounter++,s.colorCounter===o&&(s.colorCounter=0)):(r||(t=s.color),i=s.colorIndex),this.colorIndex=y(this.options.colorIndex,i),this.color=y(this.options.color,t)}setNestedProperty(t,e,i){return i.split(".").reduce((function(t,i,s,n){let r=n.length-1===s;return t[i]=r?e:m(t[i],!0)?t[i]:{},t[i]}),t),t}shouldDraw(){return!this.isNull}tooltipFormatter(t){let e=this.series,i=e.tooltipOptions,s=y(i.valueDecimals,""),n=i.valuePrefix||"",r=i.valueSuffix||"";return e.chart.styledMode&&(t=e.chart.tooltip.styledModeFormat(t)),(e.pointArrayMap||["y"]).forEach((function(e){e="{point."+e,(n||r)&&(t=t.replace(RegExp(e+"}","g"),n+e+"}"+r)),t=t.replace(RegExp(e+"}","g"),e+":,."+s+"f}")})),a(t,{point:this,series:this.series},e.chart)}update(t,e,i,s){let n,r=this,o=r.series,a=r.graphic,l=o.chart,h=o.options;function c(){r.applyOptions(t);let s=a&&r.hasMockGraphic,c=null===r.y?!s:s;a&&c&&(r.graphic=a.destroy(),delete r.hasMockGraphic),m(t,!0)&&(a&&a.element&&t&&t.marker&&void 0!==t.marker.symbol&&(r.graphic=a.destroy()),null!==t&&void 0!==t&&t.dataLabels&&r.dataLabel&&(r.dataLabel=r.dataLabel.destroy())),n=r.index,o.updateParallelArrays(r,n),h.data[n]=m(h.data[n],!0)||m(t,!0)?r.options:y(t,h.data[n]),o.isDirty=o.isDirtyData=!0,!o.fixedBox&&o.hasCartesianSeries&&(l.isDirtyBox=!0),"point"===h.legendType&&(l.isDirtyLegend=!0),e&&l.redraw(i)}e=y(e,!0),!1===s?c():r.firePointEvent("update",{options:t},c)}remove(t,e){this.series.removePoint(this.series.data.indexOf(this),t,e)}select(t,e){let i=this,s=i.series,n=s.chart;t=y(t,!i.selected),this.selectedStaging=t,i.firePointEvent(t?"select":"unselect",{accumulate:e},(function(){i.selected=i.options.selected=t,s.options.data[s.data.indexOf(i)]=i.options,i.setState(t&&"select"),e||n.getSelectedPoints().forEach((function(t){let e=t.series;t.selected&&t!==i&&(t.selected=t.options.selected=!1,e.options.data[e.data.indexOf(t)]=t.options,t.setState(n.hoverPoints&&e.options.inactiveOtherPoints?"inactive":""),t.firePointEvent("unselect"))}))})),delete this.selectedStaging}onMouseOver(t){let{inverted:e,pointer:i}=this.series.chart;i&&(t=t?i.normalize(t):i.getChartCoordinatesFromPoint(this,e),i.runPointActions(t,this))}onMouseOut(){let t=this.series.chart;this.firePointEvent("mouseOut"),this.series.options.inactiveOtherPoints||(t.hoverPoints||[]).forEach((function(t){t.setState()})),t.hoverPoints=t.hoverPoint=null}manageEvent(t){var e,i,s,n;let r=null===(e=(this.series.options.point||{}).events)||void 0===e?void 0:e[t];!f(r)||null!==(i=this.hcEvents)&&void 0!==i&&i[t]&&-1!==(null===(s=this.hcEvents)||void 0===s||null===(s=s[t])||void 0===s?void 0:s.map((t=>t.fn)).indexOf(r))?this.hasImportedEvents&&!r&&(null===(n=this.hcEvents)||void 0===n?void 0:n[t])&&(v(this,t),delete this.hcEvents[t],Object.keys(this.hcEvents)||(this.hasImportedEvents=!1)):(l(this,t,r),this.hasImportedEvents=!0)}setState(e,i){let s,n,r,a,l=this.series,h=this.state,u=l.options.states[e||"normal"]||{},p=o.plotOptions[l.type].marker&&l.options.marker,f=p&&!1===p.enabled,m=p&&p.states&&p.states[e||"normal"]||{},x=!1===m.enabled,v=this.marker||{},b=l.chart,S=p&&l.markerAttribs,k=l.halo,w=l.stateMarkerGraphic;if((e=e||"")===this.state&&!i||this.selected&&"select"!==e||!1===u.enabled||e&&(x||f&&!1===m.enabled)||e&&v.states&&v.states[e]&&!1===v.states[e].enabled)return;if(this.state=e,S&&(s=l.markerAttribs(this,e)),this.graphic&&!this.hasMockGraphic){if(h&&this.graphic.removeClass("highcharts-point-"+h),e&&this.graphic.addClass("highcharts-point-"+e),!b.styledMode){n=l.pointAttribs(this,e),r=y(b.options.chart.animation,u.animation);let t=n.opacity;l.options.inactiveOtherPoints&&g(t)&&(this.dataLabels||[]).forEach((function(e){e&&!e.hasClass("highcharts-data-label-hidden")&&(e.animate({opacity:t},r),e.connector&&e.connector.animate({opacity:t},r))})),this.graphic.animate(n,r)}s&&this.graphic.animate(s,y(b.options.chart.animation,m.animation,p.animation)),w&&w.hide()}else e&&m&&(a=v.symbol||l.symbol,w&&w.currentSymbol!==a&&(w=w.destroy()),s&&(w?w[i?"animate":"attr"]({x:s.x,y:s.y}):a&&(l.stateMarkerGraphic=w=b.renderer.symbol(a,s.x,s.y,s.width,s.height).add(l.markerGroup),w.currentSymbol=a)),!b.styledMode&&w&&"inactive"!==this.state&&w.attr(l.pointAttribs(this,e))),w&&(w[e&&this.isInside?"show":"hide"](),w.element.point=this,w.addClass(this.getClassName(),!0));let C=u.halo,A=this.graphic||w,M=A&&A.visibility||"inherit";C&&C.size&&A&&"hidden"!==M&&!this.isCluster?(k||(l.halo=k=b.renderer.path().add(A.parentGroup)),k.show()[i?"animate":"attr"]({d:this.haloPath(C.size)}),k.attr({class:"highcharts-halo highcharts-color-"+y(this.colorIndex,l.colorIndex)+(this.className?" "+this.className:""),visibility:M,zIndex:-1}),k.point=this,b.styledMode||k.attr(c({fill:this.color||l.color,"fill-opacity":C.opacity},t.filterUserAttributes(C.attributes||{})))):k&&k.point&&k.point.haloPath&&k.animate({d:k.point.haloPath(0)},null,k.hide),d(this,"afterSetState",{state:e})}haloPath(t){let e=this.pos();return e?this.series.chart.renderer.symbols.circle(Math.floor(e[0])-t,e[1]-t,2*t,2*t):[]}}return S})),i(e,"Core/Pointer.js",[e["Core/Color/Color.js"],e["Core/Globals.js"],e["Core/Utilities.js"]],(function(t,e,i){var s;let{parse:n}=t,{charts:r,composed:o}=e,{addEvent:a,attr:l,css:h,extend:c,find:d,fireEvent:u,isNumber:p,isObject:f,objectEach:g,offset:m,pick:y,pushUnique:x,splat:v}=i;class b{applyInactiveState(t){let e,i=[];(t||[]).forEach((function(t){e=t.series,i.push(e),e.linkedParent&&i.push(e.linkedParent),e.linkedSeries&&(i=i.concat(e.linkedSeries)),e.navigatorSeries&&i.push(e.navigatorSeries)})),this.chart.series.forEach((function(t){-1===i.indexOf(t)?t.setState("inactive",!0):t.options.inactiveOtherPoints&&t.setAllPointsToState("inactive")}))}destroy(){let t=this;this.eventsToUnbind.forEach((t=>t())),this.eventsToUnbind=[],!e.chartCount&&(b.unbindDocumentMouseUp&&(b.unbindDocumentMouseUp=b.unbindDocumentMouseUp()),b.unbindDocumentTouchEnd&&(b.unbindDocumentTouchEnd=b.unbindDocumentTouchEnd())),clearInterval(t.tooltipTimeout),g(t,(function(e,i){t[i]=void 0}))}getSelectionMarkerAttrs(t,e){let i={args:{chartX:t,chartY:e},attrs:{},shapeType:"rect"};return u(this,"getSelectionMarkerAttrs",i,(i=>{let s,{chart:n,zoomHor:r,zoomVert:o}=this,{mouseDownX:a=0,mouseDownY:l=0}=n,h=i.attrs;h.x=n.plotLeft,h.y=n.plotTop,h.width=r?1:n.plotWidth,h.height=o?1:n.plotHeight,r&&(s=t-a,h.width=Math.max(1,Math.abs(s)),h.x=(s>0?0:s)+a),o&&(s=e-l,h.height=Math.max(1,Math.abs(s)),h.y=(s>0?0:s)+l)})),i}drag(t){let e,{chart:i}=this,{mouseDownX:s=0,mouseDownY:r=0}=i,{panning:o,panKey:a,selectionMarkerFill:l}=i.options.chart,h=i.plotLeft,c=i.plotTop,d=i.plotWidth,u=i.plotHeight,p=f(o)?o.enabled:o,g=a&&t["".concat(a,"Key")],m=t.chartX,y=t.chartY,x=this.selectionMarker;if((!x||!x.touch)&&(mh+d&&(m=h+d),yc+u&&(y=c+u),this.hasDragged=Math.sqrt(Math.pow(s-m,2)+Math.pow(r-y,2)),this.hasDragged>10)){e=i.isInsidePlot(s-h,r-c,{visiblePlotOnly:!0});let{shapeType:a,attrs:d}=this.getSelectionMarkerAttrs(m,y);(i.hasCartesianSeries||i.mapView)&&this.hasZoom&&e&&!g&&!x&&(this.selectionMarker=x=i.renderer[a](),x.attr({class:"highcharts-selection-marker",zIndex:7}).add(),i.styledMode||x.attr({fill:l||n("#334eff").setOpacity(.25).get()})),x&&x.attr(d),e&&!x&&p&&i.pan(t,o)}}dragStart(t){let e=this.chart;e.mouseIsDown=t.type,e.cancelClick=!1,e.mouseDownX=t.chartX,e.mouseDownY=t.chartY}getSelectionBox(t){let e={args:{marker:t},result:t.getBBox()};return u(this,"getSelectionBox",e),e.result}drop(t){let e,{chart:i,selectionMarker:s}=this;for(let n of i.axes)n.isPanning&&(n.isPanning=!1,(n.options.startOnTick||n.options.endOnTick||n.series.some((t=>t.boosted)))&&(n.forceRedraw=!0,n.setExtremes(n.userMin,n.userMax,!1),e=!0));if(e&&i.redraw(),s&&t){if(this.hasDragged){let e=this.getSelectionBox(s);i.transform({axes:i.axes.filter((t=>t.zoomEnabled&&("xAxis"===t.coll&&this.zoomX||"yAxis"===t.coll&&this.zoomY))),selection:{originalEvent:t,xAxis:[],yAxis:[],...e},from:e})}p(i.index)&&(this.selectionMarker=s.destroy())}i&&p(i.index)&&(h(i.container,{cursor:i._cursor}),i.cancelClick=this.hasDragged>10,i.mouseIsDown=!1,this.hasDragged=0,this.pinchDown=[])}findNearestKDPoint(t,e,i){let s;return t.forEach((function(t){let n=!(t.noSharedTooltip&&e)&&0>t.options.findNearestPointBy.indexOf("y"),r=t.searchPoint(i,n);f(r,!0)&&r.series&&(!f(s,!0)||function(t,i,s,n){let r=t.distX-i.distX,o=t.dist-i.dist,a=(null===(s=i.series.group)||void 0===s?void 0:s.zIndex)-(null===(n=t.series.group)||void 0===n?void 0:n.zIndex);return 0!==r&&e?r:0!==o?o:0!==a?a:t.series.index>i.series.index?-1:1}(s,r)>0)&&(s=r)})),s}getChartCoordinatesFromPoint(t,e){let{xAxis:i,yAxis:s}=t.series,n=t.shapeArgs;if(i&&s){var r,o;let a=null!==(r=null!==(o=t.clientX)&&void 0!==o?o:t.plotX)&&void 0!==r?r:0,l=t.plotY||0;return t.isNode&&n&&p(n.x)&&p(n.y)&&(a=n.x,l=n.y),e?{chartX:s.len+s.pos-l,chartY:i.len+i.pos-a}:{chartX:a+i.pos,chartY:l+s.pos}}if(n&&n.x&&n.y)return{chartX:n.x,chartY:n.y}}getChartPosition(){if(this.chartPosition)return this.chartPosition;let{container:t}=this.chart,e=m(t);this.chartPosition={left:e.left,top:e.top,scaleX:1,scaleY:1};let{offsetHeight:i,offsetWidth:s}=t;return s>2&&i>2&&(this.chartPosition.scaleX=e.width/s,this.chartPosition.scaleY=e.height/i),this.chartPosition}getCoordinates(t){let e={xAxis:[],yAxis:[]};for(let i of this.chart.axes)e[i.isXAxis?"xAxis":"yAxis"].push({axis:i,value:i.toValue(t[i.horiz?"chartX":"chartY"])});return e}getHoverData(t,e,i,s,n,r){let o,a=[],l=function(t){return t.visible&&!(!n&&t.directTouch)&&y(t.options.enableMouseTracking,!0)},h=e,c={chartX:r?r.chartX:void 0,chartY:r?r.chartY:void 0,shared:n};u(this,"beforeGetHoverData",c),o=h&&!h.stickyTracking?[h]:i.filter((t=>t.stickyTracking&&(c.filter||l)(t)));let p=s&&t||!r?t:this.findNearestKDPoint(o,n,r);return h=p&&p.series,p&&(n&&!h.noSharedTooltip?(o=i.filter((function(t){return c.filter?c.filter(t):l(t)&&!t.noSharedTooltip}))).forEach((function(t){let e=d(t.points,(function(t){return t.x===p.x&&!t.isNull}));f(e)&&(t.boosted&&t.boost&&(e=t.boost.getPoint(e)),a.push(e))})):a.push(p)),u(this,"afterGetHoverData",c={hoverPoint:p}),{hoverPoint:c.hoverPoint,hoverSeries:h,hoverPoints:a}}getPointFromEvent(t){let e,i=t.target;for(;i&&!e;)e=i.point,i=i.parentNode;return e}onTrackerMouseOut(t){let e=this.chart,i=t.relatedTarget,s=e.hoverSeries;this.isDirectTouch=!1,!s||!i||s.stickyTracking||this.inClass(i,"highcharts-tooltip")||this.inClass(i,"highcharts-series-"+s.index)&&this.inClass(i,"highcharts-tracker")||s.onMouseOut()}inClass(t,e){let i,s=t;for(;s;){if(i=l(s,"class")){if(-1!==i.indexOf(e))return!0;if(-1!==i.indexOf("highcharts-container"))return!1}s=s.parentElement}}constructor(t,e){var i;this.hasDragged=0,this.eventsToUnbind=[],this.options=e,this.chart=t,this.runChartClick=!(null===(i=e.chart.events)||void 0===i||!i.click),this.pinchDown=[],this.setDOMEvents(),u(this,"afterInit")}normalize(t,e){let i=t.touches,s=i?i.length?i.item(0):y(i.changedTouches,t.changedTouches)[0]:t;e||(e=this.getChartPosition());let n=s.pageX-e.left,r=s.pageY-e.top;return c(t,{chartX:Math.round(n/=e.scaleX),chartY:Math.round(r/=e.scaleY)})}onContainerClick(t){let e=this.chart,i=e.hoverPoint,s=this.normalize(t),n=e.plotLeft,r=e.plotTop;!e.cancelClick&&(i&&this.inClass(s.target,"highcharts-tracker")?(u(i.series,"click",c(s,{point:i})),e.hoverPoint&&i.firePointEvent("click",s)):(c(s,this.getCoordinates(s)),e.isInsidePlot(s.chartX-n,s.chartY-r,{visiblePlotOnly:!0})&&u(e,"click",s)))}onContainerMouseDown(t){var i,s;let n=1==(1&(t.buttons||t.button));t=this.normalize(t),e.isFirefox&&0!==t.button&&this.onContainerMouseMove(t),(void 0===t.button||n)&&(this.zoomOption(t),n&&null!==(i=(s=t).preventDefault)&&void 0!==i&&i.call(s),this.dragStart(t))}onContainerMouseLeave(t){let{pointer:e}=r[y(b.hoverChartIndex,-1)]||{};t=this.normalize(t),this.onContainerMouseMove(t),e&&t.relatedTarget&&!this.inClass(t.relatedTarget,"highcharts-tooltip")&&(e.reset(),e.chartPosition=void 0)}onContainerMouseEnter(){delete this.chartPosition}onContainerMouseMove(t){let e=this.chart,i=e.tooltip,s=this.normalize(t);this.setHoverChartIndex(t),("mousedown"===e.mouseIsDown||this.touchSelect(s))&&this.drag(s),!e.openMenu&&(this.inClass(s.target,"highcharts-tracker")||e.isInsidePlot(s.chartX-e.plotLeft,s.chartY-e.plotTop,{visiblePlotOnly:!0}))&&(!i||!i.shouldStickOnContact(s))&&(this.inClass(s.target,"highcharts-no-tooltip")?this.reset(!1,0):this.runPointActions(s))}onDocumentTouchEnd(t){this.onDocumentMouseUp(t)}onContainerTouchMove(t){this.touchSelect(t)?this.onContainerMouseMove(t):this.touch(t)}onContainerTouchStart(t){this.touchSelect(t)?this.onContainerMouseDown(t):(this.zoomOption(t),this.touch(t,!0))}onDocumentMouseMove(t){let e=this.chart,i=e.tooltip,s=this.chartPosition,n=this.normalize(t,s);!s||e.isInsidePlot(n.chartX-e.plotLeft,n.chartY-e.plotTop,{visiblePlotOnly:!0})||i&&i.shouldStickOnContact(n)||this.inClass(n.target,"highcharts-tracker")||this.reset()}onDocumentMouseUp(t){var e;null===(e=r[y(b.hoverChartIndex,-1)])||void 0===e||null===(e=e.pointer)||void 0===e||e.drop(t)}pinch(t){let e=this,{chart:i,hasZoom:s,lastTouches:n}=e,r=[].map.call(t.touches||[],(t=>e.normalize(t))),o=r.length,a=1===o&&(e.inClass(t.target,"highcharts-tracker")&&i.runTrackerClick||e.runChartClick),l=i.tooltip,h=1===o&&y(null===l||void 0===l?void 0:l.options.followTouchMove,!0);o>1?e.initiated=!0:h&&(e.initiated=!1),s&&e.initiated&&!a&&!1!==t.cancelable&&t.preventDefault(),"touchstart"===t.type?(e.pinchDown=r,e.res=!0):h?this.runPointActions(e.normalize(t)):n&&(u(i,"touchpan",{originalEvent:t,touches:r},(()=>{let e=t=>{let e=t[0],i=t[1]||e;return{x:e.chartX,y:e.chartY,width:i.chartX-e.chartX,height:i.chartY-e.chartY}};i.transform({axes:i.axes.filter((t=>t.zoomEnabled&&(this.zoomHor&&t.horiz||this.zoomVert&&!t.horiz))),to:e(r),from:e(n),trigger:t.type})})),e.res&&(e.res=!1,this.reset(!1,0))),e.lastTouches=r}reset(t,e){let i=this.chart,s=i.hoverSeries,n=i.hoverPoint,r=i.hoverPoints,o=i.tooltip,a=o&&o.shared?r:n;t&&a&&v(a).forEach((function(e){e.series.isCartesian&&void 0===e.plotX&&(t=!1)})),t?o&&a&&v(a).length&&(o.refresh(a),o.shared&&r?r.forEach((function(t){t.setState(t.state,!0),t.series.isCartesian&&(t.series.xAxis.crosshair&&t.series.xAxis.drawCrosshair(null,t),t.series.yAxis.crosshair&&t.series.yAxis.drawCrosshair(null,t))})):n&&(n.setState(n.state,!0),i.axes.forEach((function(t){t.crosshair&&n.series[t.coll]===t&&t.drawCrosshair(null,n)})))):(n&&n.onMouseOut(),r&&r.forEach((function(t){t.setState()})),s&&s.onMouseOut(),o&&o.hide(e),this.unDocMouseMove&&(this.unDocMouseMove=this.unDocMouseMove()),i.axes.forEach((function(t){t.hideCrosshair()})),i.hoverPoints=i.hoverPoint=void 0)}runPointActions(t,e,i){let s=this.chart,n=s.series,o=s.tooltip&&s.tooltip.options.enabled?s.tooltip:void 0,l=!!o&&o.shared,h=e||s.hoverPoint,c=h&&h.series||s.hoverSeries,u=(!t||"touchmove"!==t.type)&&(!!e||c&&c.directTouch&&this.isDirectTouch),p=this.getHoverData(h,c,n,u,l,t);h=p.hoverPoint,c=p.hoverSeries;let f=p.hoverPoints,g=c&&c.tooltipOptions.followPointer&&!c.tooltipOptions.split,m=l&&c&&!c.noSharedTooltip;if(h&&(i||h!==s.hoverPoint||o&&o.isHidden)){if((s.hoverPoints||[]).forEach((function(t){-1===f.indexOf(t)&&t.setState()})),s.hoverSeries!==c&&c.onMouseOver(),this.applyInactiveState(f),(f||[]).forEach((function(t){t.setState("hover")})),s.hoverPoint&&s.hoverPoint.firePointEvent("mouseOut"),!h.series)return;s.hoverPoints=f,s.hoverPoint=h,h.firePointEvent("mouseOver",void 0,(()=>{o&&h&&o.refresh(m?f:h,t)}))}else if(g&&o&&!o.isHidden){let e=o.getAnchor([{}],t);s.isInsidePlot(e[0],e[1],{visiblePlotOnly:!0})&&o.updatePosition({plotX:e[0],plotY:e[1]})}this.unDocMouseMove||(this.unDocMouseMove=a(s.container.ownerDocument,"mousemove",(t=>{var e,i;return null===(e=r[null!==(i=b.hoverChartIndex)&&void 0!==i?i:-1])||void 0===e||null===(e=e.pointer)||void 0===e?void 0:e.onDocumentMouseMove(t)})),this.eventsToUnbind.push(this.unDocMouseMove)),s.axes.forEach((function(e){let i,n=y((e.crosshair||{}).snap,!0);!n||(i=s.hoverPoint)&&i.series[e.coll]===e||(i=d(f,(t=>t.series&&t.series[e.coll]===e))),i||!n?e.drawCrosshair(t,i):e.hideCrosshair()}))}setDOMEvents(){let t=this.chart.container,e=t.ownerDocument;t.onmousedown=this.onContainerMouseDown.bind(this),t.onmousemove=this.onContainerMouseMove.bind(this),t.onclick=this.onContainerClick.bind(this),this.eventsToUnbind.push(a(t,"mouseenter",this.onContainerMouseEnter.bind(this)),a(t,"mouseleave",this.onContainerMouseLeave.bind(this))),b.unbindDocumentMouseUp||(b.unbindDocumentMouseUp=a(e,"mouseup",this.onDocumentMouseUp.bind(this)));let i=this.chart.renderTo.parentElement;for(;i&&"BODY"!==i.tagName;)this.eventsToUnbind.push(a(i,"scroll",(()=>{delete this.chartPosition}))),i=i.parentElement;this.eventsToUnbind.push(a(t,"touchstart",this.onContainerTouchStart.bind(this),{passive:!1}),a(t,"touchmove",this.onContainerTouchMove.bind(this),{passive:!1})),b.unbindDocumentTouchEnd||(b.unbindDocumentTouchEnd=a(e,"touchend",this.onDocumentTouchEnd.bind(this),{passive:!1}))}setHoverChartIndex(t){var i;let s=this.chart,n=e.charts[y(b.hoverChartIndex,-1)];n&&n!==s&&null!==(i=n.pointer)&&void 0!==i&&i.onContainerMouseLeave(t||{relatedTarget:s.container}),n&&n.mouseIsDown||(b.hoverChartIndex=s.index)}touch(t,e){let i,{chart:s,pinchDown:n=[]}=this;this.setHoverChartIndex(),1===t.touches.length?(t=this.normalize(t),s.isInsidePlot(t.chartX-s.plotLeft,t.chartY-s.plotTop,{visiblePlotOnly:!0})&&!s.openMenu?(e&&this.runPointActions(t),"touchmove"===t.type&&(i=!!n[0]&&Math.pow(n[0].chartX-t.chartX,2)+Math.pow(n[0].chartY-t.chartY,2)>=16),y(i,!0)&&this.pinch(t)):e&&this.reset()):2===t.touches.length&&this.pinch(t)}touchSelect(t){return!(!this.chart.zooming.singleTouch||!t.touches||1!==t.touches.length)}zoomOption(t){let e,i,s=this.chart,n=s.inverted,r=s.zooming.type||"";/touch/.test(t.type)&&(r=y(s.zooming.pinchType,r)),this.zoomX=e=/x/.test(r),this.zoomY=i=/y/.test(r),this.zoomHor=e&&!n||i&&n,this.zoomVert=i&&!n||e&&n,this.hasZoom=e||i}}return(s=b||(b={})).compose=function(t){x(o,"Core.Pointer")&&a(t,"beforeRender",(function(){this.pointer=new s(this,this.options)}))},b})),i(e,"Core/Legend/Legend.js",[e["Core/Animation/AnimationUtilities.js"],e["Core/Templating.js"],e["Core/Globals.js"],e["Core/Series/Point.js"],e["Core/Renderer/RendererUtilities.js"],e["Core/Utilities.js"]],(function(t,e,i,s,n,r){var o;let{animObject:a,setAnimation:l}=t,{format:h}=e,{composed:c,marginNames:d}=i,{distribute:u}=n,{addEvent:p,createElement:f,css:g,defined:m,discardElement:y,find:x,fireEvent:v,isNumber:b,merge:S,pick:k,pushUnique:w,relativeLength:C,stableSort:A,syncTimeout:M}=r;class T{constructor(t,e){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=t,this.setOptions(e),e.enabled&&(this.render(),p(this.chart,"endResize",(function(){this.legend.positionCheckboxes()}))),p(this.chart,"render",(()=>{this.options.enabled&&this.proximate&&(this.proximatePositions(),this.positionItems())}))}setOptions(t){let e=k(t.padding,8);this.options=t,this.chart.styledMode||(this.itemStyle=t.itemStyle,this.itemHiddenStyle=S(this.itemStyle,t.itemHiddenStyle)),this.itemMarginTop=t.itemMarginTop,this.itemMarginBottom=t.itemMarginBottom,this.padding=e,this.initialItemY=e-5,this.symbolWidth=k(t.symbolWidth,16),this.pages=[],this.proximate="proximate"===t.layout&&!this.chart.inverted,this.baseline=void 0}update(t,e){let i=this.chart;this.setOptions(S(!0,this.options,t)),this.destroy(),i.isDirtyLegend=i.isDirtyBox=!0,k(e,!0)&&i.redraw(),v(this,"afterUpdate",{redraw:e})}colorizeItem(t,e){let{area:i,group:s,label:n,line:r,symbol:o}=t.legendItem||{};if(null!==s&&void 0!==s&&s[e?"removeClass":"addClass"]("highcharts-legend-item-hidden"),!this.chart.styledMode){let{itemHiddenStyle:s={}}=this,a=s.color,{fillColor:l,fillOpacity:h,lineColor:c,marker:d}=t.options,u=t=>(!e&&(t.fill&&(t.fill=a),t.stroke&&(t.stroke=a)),t);null!==n&&void 0!==n&&n.css(S(e?this.itemStyle:s)),null!==r&&void 0!==r&&r.attr(u({stroke:c||t.color})),o&&o.attr(u(d&&o.isMarker?t.pointAttribs():{fill:t.color})),null===i||void 0===i||i.attr(u({fill:l||t.color,"fill-opacity":l?1:null!==h&&void 0!==h?h:.75}))}v(this,"afterColorizeItem",{item:t,visible:e})}positionItems(){this.allItems.forEach(this.positionItem,this),this.chart.isResizing||this.positionCheckboxes()}positionItem(t){let{group:e,x:i=0,y:s=0}=t.legendItem||{},n=this.options,r=n.symbolPadding,o=!n.rtl,a=t.checkbox;if(e&&e.element){let n={translateX:o?i:this.legendWidth-i-2*r-4,translateY:s};e[m(e.translateY)?"animate":"attr"](n,void 0,(()=>{v(this,"afterPositionItem",{item:t})}))}a&&(a.x=i,a.y=s)}destroyItem(t){let e=t.checkbox,i=t.legendItem||{};for(let s of["group","label","line","symbol"])i[s]&&(i[s]=i[s].destroy());e&&y(e),t.legendItem=void 0}destroy(){for(let t of this.getAllItems())this.destroyItem(t);for(let t of["clipRect","up","down","pager","nav","box","title","group"])this[t]&&(this[t]=this[t].destroy());this.display=null}positionCheckboxes(){let t,e=this.group&&this.group.alignAttr,i=this.clipHeight||this.legendHeight,s=this.titleHeight;e&&(t=e.translateY,this.allItems.forEach((function(n){let r,o=n.checkbox;o&&(r=t+s+o.y+(this.scrollOffset||0)+3,g(o,{left:e.translateX+n.checkboxOffset+o.x-20+"px",top:r+"px",display:this.proximate||r>t-6&&r1.5*w?b.height:w))}layoutItem(t){let e=this.options,i=this.padding,s="horizontal"===e.layout,n=t.itemHeight,r=this.itemMarginBottom,o=this.itemMarginTop,a=s?k(e.itemDistance,20):0,l=this.maxLegendWidth,h=e.alignColumns&&this.totalItemWidth>l?this.maxItemWidth:t.itemWidth,c=t.legendItem||{};s&&this.itemX-i+h>l&&(this.itemX=i,this.lastLineHeight&&(this.itemY+=o+this.lastLineHeight+r),this.lastLineHeight=0),this.lastItemY=o+this.itemY+r,this.lastLineHeight=Math.max(n,this.lastLineHeight),c.x=this.itemX,c.y=this.itemY,s?this.itemX+=h:(this.itemY+=o+n+r,this.lastLineHeight=n),this.offsetWidth=this.widthOption||Math.max((s?this.itemX-i-(t.checkbox?0:a):h)+i,this.offsetWidth)}getAllItems(){let t=[];return this.chart.series.forEach((function(e){let i=e&&e.options;e&&k(i.showInLegend,!m(i.linkedTo)&&void 0,!0)&&(t=t.concat((e.legendItem||{}).labels||("point"===i.legendType?e.data:e)))})),v(this,"afterGetAllItems",{allItems:t}),t}getAlignment(){let t=this.options;return this.proximate?t.align.charAt(0)+"tv":t.floating?"":t.align.charAt(0)+t.verticalAlign.charAt(0)+t.layout.charAt(0)}adjustMargins(t,e){let i=this.chart,s=this.options,n=this.getAlignment();n&&[/(lth|ct|rth)/,/(rtv|rm|rbv)/,/(rbh|cb|lbh)/,/(lbv|lm|ltv)/].forEach((function(r,o){r.test(n)&&!m(t[o])&&(i[d[o]]=Math.max(i[d[o]],i.legend[(o+1)%2?"legendHeight":"legendWidth"]+[1,-1,-1,1][o]*s[o%2?"x":"y"]+k(s.margin,12)+e[o]+(i.titleOffset[o]||0)))}))}proximatePositions(){let t,e=this.chart,i=[],s="left"===this.options.align;for(let n of(this.allItems.forEach((function(t){let n,r,o,a,l=s;t.yAxis&&(t.xAxis.options.reversed&&(l=!l),t.points&&(n=x(l?t.points:t.points.slice(0).reverse(),(function(t){return b(t.plotY)}))),r=this.itemMarginTop+t.legendItem.label.getBBox().height+this.itemMarginBottom,a=t.yAxis.top-e.plotTop,o=t.visible?(n?n.plotY:t.yAxis.height)+(a-.3*r):a+t.yAxis.height,i.push({target:o,size:r,item:t}))}),this),u(i,e.plotHeight)))t=n.item.legendItem||{},b(n.pos)&&(t.y=e.plotTop-e.spacing[0]+n.pos)}render(){let t,e,i,s,n=this.chart,r=n.renderer,o=this.options,a=this.padding,l=this.getAllItems(),h=this.group,c=this.box;this.itemX=a,this.itemY=this.initialItemY,this.offsetWidth=0,this.lastItemY=0,this.widthOption=C(o.width,n.spacingBox.width-a),s=n.spacingBox.width-2*a-o.x,["rm","lm"].indexOf(this.getAlignment().substring(0,2))>-1&&(s/=2),this.maxLegendWidth=this.widthOption||s,h||(this.group=h=r.g("legend").addClass(o.className||"").attr({zIndex:7}).add(),this.contentGroup=r.g().attr({zIndex:1}).add(h),this.scrollGroup=r.g().add(this.contentGroup)),this.renderTitle(),A(l,((t,e)=>(t.options&&t.options.legendIndex||0)-(e.options&&e.options.legendIndex||0))),o.reversed&&l.reverse(),this.allItems=l,this.display=t=!!l.length,this.lastLineHeight=0,this.maxItemWidth=0,this.totalItemWidth=0,this.itemHeight=0,l.forEach(this.renderItem,this),l.forEach(this.layoutItem,this),e=(this.widthOption||this.offsetWidth)+a,i=this.lastItemY+this.lastLineHeight+this.titleHeight,i=this.handleOverflow(i)+a,c||(this.box=c=r.rect().addClass("highcharts-legend-box").attr({r:o.borderRadius}).add(h)),n.styledMode||c.attr({stroke:o.borderColor,"stroke-width":o.borderWidth||0,fill:o.backgroundColor||"none"}).shadow(o.shadow),e>0&&i>0&&c[c.placed?"animate":"attr"](c.crisp.call({},{x:0,y:0,width:e,height:i},c.strokeWidth())),h[t?"show":"hide"](),n.styledMode&&"none"===h.getStyle("display")&&(e=i=0),this.legendWidth=e,this.legendHeight=i,t&&this.align(),this.proximate||this.positionItems(),v(this,"afterRender")}align(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.chart.spacingBox,e=this.chart,i=this.options,s=t.y;/(lth|ct|rth)/.test(this.getAlignment())&&e.titleOffset[0]>0?s+=e.titleOffset[0]:/(lbh|cb|rbh)/.test(this.getAlignment())&&e.titleOffset[2]>0&&(s-=e.titleOffset[2]),s!==t.y&&(t=S(t,{y:s})),e.hasRendered||(this.group.placed=!1),this.group.align(S(i,{width:this.legendWidth,height:this.legendHeight,verticalAlign:this.proximate?"top":i.verticalAlign}),!0,t)}handleOverflow(t){let e,i,s,n=this,r=this.chart,o=r.renderer,a=this.options,l=a.y,h="top"===a.verticalAlign,c=this.padding,d=a.maxHeight,u=a.navigation,p=k(u.animation,!0),f=u.arrowSize||12,g=this.pages,m=this.allItems,y=function(t){"number"==typeof t?S.attr({height:t}):S&&(n.clipRect=S.destroy(),n.contentGroup.clip()),n.contentGroup.div&&(n.contentGroup.div.style.clip=t?"rect("+c+"px,9999px,"+(c+t)+"px,0)":"auto")},x=function(t){return n[t]=o.circle(0,0,1.3*f).translate(f/2,f/2).add(b),r.styledMode||n[t].attr("fill","rgba(0,0,0,0.0001)"),n[t]},v=r.spacingBox.height+(h?-l:l)-c,b=this.nav,S=this.clipRect;return"horizontal"!==a.layout||"middle"===a.verticalAlign||a.floating||(v/=2),d&&(v=Math.min(v,d)),g.length=0,t&&v>0&&t>v&&!1!==u.enabled?(this.clipHeight=e=Math.max(v-20-this.titleHeight-c,0),this.currentPage=k(this.currentPage,1),this.fullHeight=t,m.forEach(((t,n)=>{let r=(s=t.legendItem||{}).y||0,o=Math.round(s.label.getBBox().height),a=g.length;(!a||r-g[a-1]>e&&(i||r)!==g[a-1])&&(g.push(i||r),a++),s.pageIx=a-1,i&&((m[n-1].legendItem||{}).pageIx=a-1),n===m.length-1&&r+o-g[a-1]>e&&r>g[a-1]&&(g.push(r),s.pageIx=a),r!==i&&(i=r)})),S||(S=n.clipRect=o.clipRect(0,c-2,9999,0),n.contentGroup.clip(S)),y(e),b||(this.nav=b=o.g().attr({zIndex:1}).add(this.group),this.up=o.symbol("triangle",0,0,f,f).add(b),x("upTracker").on("click",(function(){n.scroll(-1,p)})),this.pager=o.text("",15,10).addClass("highcharts-legend-navigation"),!r.styledMode&&u.style&&this.pager.css(u.style),this.pager.add(b),this.down=o.symbol("triangle-down",0,0,f,f).add(b),x("downTracker").on("click",(function(){n.scroll(1,p)}))),n.scroll(0),t=v):b&&(y(),this.nav=b.destroy(),this.scrollGroup.attr({translateY:1}),this.clipHeight=0),t}scroll(t,e){let i=this.chart,s=this.pages,n=s.length,r=this.clipHeight,o=this.options.navigation,h=this.pager,c=this.padding,d=this.currentPage+t;d>n&&(d=n),d>0&&(void 0!==e&&l(e,i),this.nav.attr({translateX:c,translateY:r+this.padding+7+this.titleHeight,visibility:"inherit"}),[this.up,this.upTracker].forEach((function(t){t.attr({class:1===d?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})})),h.attr({text:d+"/"+n}),[this.down,this.downTracker].forEach((function(t){t.attr({x:18+this.pager.getBBox().width,class:d===n?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})}),this),i.styledMode||(this.up.attr({fill:1===d?o.inactiveColor:o.activeColor}),this.upTracker.css({cursor:1===d?"default":"pointer"}),this.down.attr({fill:d===n?o.inactiveColor:o.activeColor}),this.downTracker.css({cursor:d===n?"default":"pointer"})),this.scrollOffset=-s[d-1]+this.initialItemY,this.scrollGroup.animate({translateY:this.scrollOffset}),this.currentPage=d,this.positionCheckboxes(),M((()=>{v(this,"afterScroll",{currentPage:d})}),a(k(e,i.renderer.globalAnimation,!0)).duration))}setItemEvents(t,e,i){let n=this,r=t.legendItem||{},o=n.chart.renderer.boxWrapper,a=t instanceof s,l="highcharts-legend-"+(a?"point":"series")+"-active",h=n.chart.styledMode,c=i?[e,r.symbol]:[r.group],d=e=>{n.allItems.forEach((i=>{t!==i&&[i].concat(i.linkedSeries||[]).forEach((t=>{t.setState(e,!a)}))}))};for(let s of c)s&&s.on("mouseover",(function(){t.visible&&d("inactive"),t.setState("hover"),t.visible&&o.addClass(l),h||e.css(n.options.itemHoverStyle)})).on("mouseout",(function(){n.chart.styledMode||e.css(S(t.visible?n.itemStyle:n.itemHiddenStyle)),d(""),o.removeClass(l),t.setState()})).on("click",(function(e){let i="legendItemClick",s=function(){t.setVisible&&t.setVisible(),d(t.visible?"inactive":"")};o.removeClass(l),e={browserEvent:e},t.firePointEvent?t.firePointEvent(i,e,s):v(t,i,e,s)}))}createCheckboxForItem(t){t.checkbox=f("input",{type:"checkbox",className:"highcharts-legend-checkbox",checked:t.selected,defaultChecked:t.selected},this.options.itemCheckboxStyle,this.chart.container),p(t.checkbox,"click",(function(e){let i=e.target;v(t.series||t,"checkboxClick",{checked:i.checked,item:t},(function(){t.select()}))}))}}return(o=T||(T={})).compose=function(t){w(c,"Core.Legend")&&p(t,"beforeMargins",(function(){this.legend=new o(this,this.options.legend)}))},T})),i(e,"Core/Legend/LegendSymbol.js",[e["Core/Utilities.js"]],(function(t){var e;let{extend:i,merge:s,pick:n}=t;return function(t){function e(t,e,r){let o,a=this.legendItem=this.legendItem||{},{chart:l,options:h}=this,{baseline:c=0,symbolWidth:d,symbolHeight:u}=t,p=this.symbol||"circle",f=u/2,g=l.renderer,m=a.group,y=c-Math.round(u*(r?.4:.3)),x={},v=h.marker,b=0;if(l.styledMode||(x["stroke-width"]=Math.min(h.lineWidth||0,24),h.dashStyle?x.dashstyle=h.dashStyle:"square"===h.linecap||(x["stroke-linecap"]="round")),a.line=g.path().addClass("highcharts-graph").attr(x).add(m),r&&(a.area=g.path().addClass("highcharts-area").add(m)),x["stroke-linecap"]&&(b=Math.min(a.line.strokeWidth(),d)/2),d){var S;let t=[["M",b,y],["L",d-b,y]];a.line.attr({d:t}),null===(S=a.area)||void 0===S||S.attr({d:[...t,["L",d-b,c],["L",b,c]]})}if(v&&!1!==v.enabled&&d){let t=Math.min(n(v.radius,f),f);0===p.indexOf("url")&&(v=s(v,{width:u,height:u}),t=0),a.symbol=o=g.symbol(p,d/2-t,y-t,2*t,2*t,i({context:"legend"},v)).addClass("highcharts-point").add(m),o.isMarker=!0}}t.areaMarker=function(t,i){e.call(this,t,i,!0)},t.lineMarker=e,t.rectangle=function(t,e){let i=e.legendItem||{},s=t.options,r=t.symbolHeight,o=s.squareSymbol,a=o?r:t.symbolWidth;i.symbol=this.chart.renderer.rect(o?(t.symbolWidth-r)/2:0,t.baseline-r+1,a,r,n(t.options.symbolRadius,r/2)).addClass("highcharts-point").attr({zIndex:3}).add(i.group)}}(e||(e={})),e})),i(e,"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:t}=this.series.chart;return"number"!=typeof this.y?"":t(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"}})),i(e,"Core/Series/SeriesRegistry.js",[e["Core/Globals.js"],e["Core/Defaults.js"],e["Core/Series/Point.js"],e["Core/Utilities.js"]],(function(t,e,i,s){var n;let{defaultOptions:r}=e,{extend:o,extendClass:a,merge:l}=s;return function(e){function s(t,s){let n=r.plotOptions||{},o=s.defaultOptions,a=s.prototype;return a.type=t,a.pointClass||(a.pointClass=i),!e.seriesTypes[t]&&(o&&(n[t]=o),e.seriesTypes[t]=s,!0)}e.seriesTypes=t.seriesTypes,e.registerSeriesType=s,e.seriesType=function(t,n,h,c,d){let u=r.plotOptions||{};if(n=n||"",u[t]=l(u[n],h),delete e.seriesTypes[t],s(t,a(e.seriesTypes[n]||function(){},c)),e.seriesTypes[t].prototype.type=t,d){class s extends i{}o(s.prototype,d),e.seriesTypes[t].prototype.pointClass=s}return e.seriesTypes[t]}}(n||(n={})),n})),i(e,"Core/Series/Series.js",[e["Core/Animation/AnimationUtilities.js"],e["Core/Defaults.js"],e["Core/Foundation.js"],e["Core/Globals.js"],e["Core/Legend/LegendSymbol.js"],e["Core/Series/Point.js"],e["Core/Series/SeriesDefaults.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Renderer/SVG/SVGElement.js"],e["Core/Utilities.js"]],(function(t,e,i,s,n,r,o,a,l,h){let{animObject:c,setAnimation:d}=t,{defaultOptions:u}=e,{registerEventOptions:p}=i,{svg:f,win:g}=s,{seriesTypes:m}=a,{arrayMax:y,arrayMin:x,clamp:v,correctFloat:b,defined:S,destroyObjectProperties:k,diffObjects:w,erase:C,error:A,extend:M,find:T,fireEvent:P,getClosestDistance:E,getNestedProperty:O,insertItem:L,isArray:D,isNumber:j,isString:N,merge:R,objectEach:I,pick:B,removeEvent:_,splat:z,syncTimeout:W}=h;class F{constructor(){this.zoneAxis="y"}init(t,e){let i;P(this,"init",{options:e});let s=this,n=t.series;this.eventsToUnbind=[],s.chart=t,s.options=s.setOptions(e);let r=s.options,o=!1!==r.visible;s.linkedSeries=[],s.bindAxes(),M(s,{name:r.name,state:"",visible:o,selected:!0===r.selected}),p(this,r);let a=r.events;(a&&a.click||r.point&&r.point.events&&r.point.events.click||r.allowPointSelect)&&(t.runTrackerClick=!0),s.getColor(),s.getSymbol(),s.parallelArrays.forEach((function(t){s[t+"Data"]||(s[t+"Data"]=[])})),s.isCartesian&&(t.hasCartesianSeries=!0),n.length&&(i=n[n.length-1]),s._i=B(i&&i._i,-1)+1,s.opacity=s.options.opacity,t.orderItems("series",L(this,n)),r.dataSorting&&r.dataSorting.enabled?s.setDataSortingOptions():s.points||s.data||s.setData(r.data,!1),P(this,"afterInit")}is(t){return m[t]&&this instanceof m[t]}bindAxes(){let t,e=this,i=e.options,s=e.chart;P(this,"bindAxes",null,(function(){(e.axisTypes||[]).forEach((function(n){s[n].forEach((function(s){t=s.options,(B(i[n],0)===s.index||void 0!==i[n]&&i[n]===t.id)&&(L(e,s.series),e[n]=s,s.isDirty=!0)})),e[n]||e.optionalAxis===n||A(18,!0,s)}))})),P(this,"afterBindAxes")}updateParallelArrays(t,e,i){let s=t.series,n=j(e)?function(i){let n="y"===i&&s.toYData?s.toYData(t):t[i];s[i+"Data"][e]=n}:function(t){Array.prototype[e].apply(s[t+"Data"],i)};s.parallelArrays.forEach(n)}hasData(){return this.visible&&void 0!==this.dataMax&&void 0!==this.dataMin||this.visible&&this.yData&&this.yData.length>0}hasMarkerChanged(t,e){let i=t.marker,s=e.marker||{};return i&&(s.enabled&&!i.enabled||s.symbol!==i.symbol||s.height!==i.height||s.width!==i.width)}autoIncrement(t){let e,i,s=this.options,n=s.pointIntervalUnit,r=s.relativeXValue,o=this.chart.time,a=this.xIncrement;return a=B(a,s.pointStart,0),this.pointInterval=i=B(this.pointInterval,s.pointInterval,1),r&&j(t)&&(i*=t),n&&(e=new o.Date(a),"day"===n?o.set("Date",e,o.get("Date",e)+i):"month"===n?o.set("Month",e,o.get("Month",e)+i):"year"===n&&o.set("FullYear",e,o.get("FullYear",e)+i),i=e.getTime()-a),r&&j(t)?a+i:(this.xIncrement=a+i,a)}setDataSortingOptions(){let t=this.options;M(this,{requireSorting:!1,sorted:!1,enabledDataSorting:!0,allowDG:!1}),S(t.pointRange)||(t.pointRange=1)}setOptions(t){var e,i;let s,n=this.chart,r=n.options.plotOptions,o=n.userOptions||{},a=R(t),l=n.styledMode,h={plotOptions:r,userOptions:a};P(this,"setOptions",h);let c=h.plotOptions[this.type],d=o.plotOptions||{},p=d.series||{},f=u.plotOptions[this.type]||{},g=d[this.type]||{};this.userOptions=h.userOptions;let m=R(c,r.series,g,a);this.tooltipOptions=R(u.tooltip,null===(e=u.plotOptions.series)||void 0===e?void 0:e.tooltip,null===f||void 0===f?void 0:f.tooltip,n.userOptions.tooltip,null===(i=d.series)||void 0===i?void 0:i.tooltip,g.tooltip,a.tooltip),this.stickyTracking=B(a.stickyTracking,g.stickyTracking,p.stickyTracking,!!this.tooltipOptions.shared&&!this.noSharedTooltip||m.stickyTracking),null===c.marker&&delete m.marker,this.zoneAxis=m.zoneAxis||"y";let y=this.zones=(m.zones||[]).map((t=>({...t})));return(m.negativeColor||m.negativeFillColor)&&!m.zones&&(s={value:m[this.zoneAxis+"Threshold"]||m.threshold||0,className:"highcharts-negative"},l||(s.color=m.negativeColor,s.fillColor=m.negativeFillColor),y.push(s)),y.length&&S(y[y.length-1].value)&&y.push(l?{}:{color:this.color,fillColor:this.fillColor}),P(this,"afterSetOptions",{options:m}),m}getName(){return B(this.options.name,"Series "+(this.index+1))}getCyclic(t,e,i){let s,n,r=this.chart,o="".concat(t,"Index"),a="".concat(t,"Counter"),l=(null===i||void 0===i?void 0:i.length)||r.options.chart.colorCount;!e&&(S(n=B("color"===t?this.options.colorIndex:void 0,this[o]))?s=n:(r.series.length||(r[a]=0),s=r[a]%l,r[a]+=1),i&&(e=i[s])),void 0!==s&&(this[o]=s),this[t]=e}getColor(){this.chart.styledMode?this.getCyclic("color"):this.options.colorByPoint?this.color="#cccccc":this.getCyclic("color",this.options.color||u.plotOptions[this.type].color,this.chart.options.colors)}getPointsCollection(){return(this.hasGroupedData?this.points:this.data)||[]}getSymbol(){let t=this.options.marker;this.getCyclic("symbol",t.symbol,this.chart.options.symbols)}findPointIndex(t,e){let i,s,n,o=t.id,a=t.x,l=this.points,h=this.options.dataSorting;if(o){let t=this.chart.get(o);t instanceof r&&(i=t)}else if(this.linkedParent||this.enabledDataSorting||this.options.relativeXValue){let e=e=>!e.touched&&e.index===t.index;if(h&&h.matchByName?e=e=>!e.touched&&e.name===t.name:this.options.relativeXValue&&(e=e=>!e.touched&&e.options.x===t.x),!(i=T(l,e)))return}return i&&void 0!==(n=i&&i.index)&&(s=!0),void 0===n&&j(a)&&(n=this.xData.indexOf(a,e)),-1!==n&&void 0!==n&&this.cropped&&(n=n>=this.cropStart?n-this.cropStart:n),!s&&j(n)&&l[n]&&l[n].touched&&(n=void 0),n}updateData(t,e){let i,s,n,r,o=this.options,a=o.dataSorting,l=this.points,h=[],c=this.requireSorting,d=t.length===l.length,u=!0;if(this.xIncrement=null,t.forEach((function(t,e){let s,n=S(t)&&this.pointClass.prototype.optionsToObject.call({series:this},t)||{},u=n.x;n.id||j(u)?(-1===(s=this.findPointIndex(n,r))||void 0===s?h.push(t):l[s]&&t!==o.data[s]?(l[s].update(t,!1,null,!1),l[s].touched=!0,c&&(r=s+1)):l[s]&&(l[s].touched=!0),(!d||e!==s||a&&a.enabled||this.hasDerivedData)&&(i=!0)):h.push(t)}),this),i)for(s=l.length;s--;)(n=l[s])&&!n.touched&&n.remove&&n.remove(!1,e);else!d||a&&a.enabled?u=!1:(t.forEach((function(t,e){t===l[e].y||l[e].destroyed||l[e].update(t,!1,null,!1)})),h.length=0);return l.forEach((function(t){t&&(t.touched=!1)})),!!u&&(h.forEach((function(t){this.addPoint(t,!1,null,null,!1)}),this),null===this.xIncrement&&this.xData&&this.xData.length&&(this.xIncrement=y(this.xData),this.autoIncrement()),!0)}setData(t){let e,i,s,n,r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],o=arguments.length>2?arguments[2]:void 0,a=arguments.length>3?arguments[3]:void 0,l=this,h=l.points,c=h&&h.length||0,d=l.options,u=l.chart,p=d.dataSorting,f=l.xAxis,g=d.turboThreshold,m=this.xData,y=this.yData,x=l.pointArrayMap,v=x&&x.length,b=d.keys,S=0,k=1,w=null;u.options.chart.allowMutatingData||(d.data&&delete l.options.data,l.userOptions.data&&delete l.userOptions.data,n=R(!0,t));let C=(t=n||t||[]).length;if(p&&p.enabled&&(t=this.sortData(t)),u.options.chart.allowMutatingData&&!1!==a&&C&&c&&!l.cropped&&!l.hasGroupedData&&l.visible&&!l.boosted&&(s=this.updateData(t,o)),!s){if(l.xIncrement=null,l.colorCounter=0,this.parallelArrays.forEach((function(t){l[t+"Data"].length=0})),g&&C>g)if(j(w=l.getFirstValidPoint(t)))for(e=0;e=0?S:0,k=k>=0?k:1),1===w.length&&(k=0),S===k)for(e=0;e{let s=O(i,t),n=O(i,e);return ns?1:0})).forEach((function(t,e){t.x=e}),this),e.linkedSeries&&e.linkedSeries.forEach((function(e){let i=e.options,n=i.data;i.dataSorting&&i.dataSorting.enabled||!n||(n.forEach((function(i,r){n[r]=s(e,i),t[r]&&(n[r].x=t[r].x,n[r].index=r)})),e.setData(n,!1))})),t}getProcessedData(t){let e,i,s,n,r,o=this,a=o.xAxis,l=o.options,h=l.cropThreshold,c=t||o.getExtremesFromAll||l.getExtremesFromAll,d=null===a||void 0===a?void 0:a.logarithmic,u=o.isCartesian,p=0,f=o.xData,g=o.yData,m=!1,y=f.length;a&&(n=(s=a.getExtremes()).min,r=s.max,m=!(!a.categories||a.names.length)),u&&o.sorted&&!c&&(!h||y>h||o.forceCrop)&&(f[y-1]r?(f=[],g=[]):o.yData&&(f[0]r)&&(f=(e=this.cropData(o.xData,o.yData,n,r)).xData,g=e.yData,p=e.start,i=!0));let x=E([d?f.map(d.log2lin):f],(()=>o.requireSorting&&!m&&A(15,!1,o.chart)));return{xData:f,yData:g,cropped:i,cropStart:p,closestPointRange:x}}processData(t){let e=this.xAxis;if(this.isCartesian&&!this.isDirty&&!e.isDirty&&!this.yAxis.isDirty&&!t)return!1;let i=this.getProcessedData();this.cropped=i.cropped,this.cropStart=i.cropStart,this.processedXData=i.xData,this.processedYData=i.yData,this.closestPointRange=this.basePointRange=i.closestPointRange,P(this,"afterProcessData")}cropData(t,e,i,s){let n,r,o=t.length,a=0,l=o;for(n=0;n=i){a=Math.max(0,n-1);break}for(r=n;rs){l=r+1;break}return{xData:t.slice(a,l),yData:e.slice(a,l),start:a,end:l}}generatePoints(){let t,e,i,s,n=this.options,r=this.processedData||n.data,o=this.processedXData,a=this.processedYData,l=this.pointClass,h=o.length,c=this.cropStart||0,d=this.hasGroupedData,u=n.keys,p=[],f=n.dataGrouping&&n.dataGrouping.groupAll?c:0,g=this.data;if(!g&&!d){let t=[];t.length=r.length,g=this.data=t}for(u&&d&&(this.options.keys=!1),s=0;s0:o.length)||!f),n=e||this.getExtremesFromAll||this.options.getExtremesFromAll||this.cropped||!h||(d[a+p]||r)>=g&&(d[a-p]||r)<=m,s&&n)if(l=o.length)for(;l--;)j(o[l])&&(u[v++]=o[l]);else u[v++]=o;let S={activeYData:u,dataMin:x(u),dataMax:y(u)};return P(this,"afterGetExtremes",{dataExtremes:S}),S}applyExtremes(){let t=this.getExtremes();return this.dataMin=t.dataMin,this.dataMax=t.dataMax,t}getFirstValidPoint(t){let e=t.length,i=0,s=null;for(;null===s&&i1)&&(r.step=function(t,e){var s;i&&i.apply(e,arguments),"width"===e.prop&&(null===(s=l)||void 0===s?void 0:s.element)&&l.attr(n?"height":"width",t+99)}),a.addClass("highcharts-animating").animate(t,r)}}afterAnimate(){this.setClip(),I(this.chart.sharedClips,((t,e,i)=>{t&&!this.chart.container.querySelector('[clip-path="url(#'.concat(t.id,')"]'))&&(t.destroy(),delete i[e])})),this.finishedAnimating=!0,P(this,"afterAnimate")}drawPoints(){let t,e,i,s,n,r,o,a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.points,l=this.chart,h=l.styledMode,{colorAxis:c,options:d}=this,u=d.marker,p=this[this.specialGroup||"markerGroup"],f=this.xAxis,g=B(u.enabled,!f||!!f.isRadial||null,this.closestPointRangePx>=u.enabledThreshold*u.radius);if(!1!==u.enabled||this._hasPointMarkers)for(t=0;t0||e.hasImage)&&(e.graphic=i=l.renderer.symbol(t,o.x,o.y,o.width,o.height,r?n:u).add(p),this.enabledDataSorting&&l.hasRendered&&(i.attr({x:e.startXPos}),s="animate")),i&&"animate"===s&&i[a?"show":"hide"](a).animate(o),i){let t=this.pointAttribs(e,h||!e.selected?void 0:"select");h?c&&i.css({fill:t.fill}):i[s](t)}i&&i.addClass(e.getClassName(),!0)}else i&&(e.graphic=i.destroy())}markerAttribs(t,e){let i,s,n=this.options,r=n.marker,o=t.marker||{},a=o.symbol||r.symbol,l={},h=B(o.radius,r&&r.radius);e&&(i=r.states[e],h=B((s=o.states&&o.states[e])&&s.radius,i&&i.radius,h&&h+(i&&i.radiusPlus||0))),t.hasImage=a&&0===a.indexOf("url"),t.hasImage&&(h=0);let c=t.pos();return j(h)&&c&&(l.x=c[0]-h,l.y=c[1]-h,n.crisp&&(l.x=Math.floor(l.x))),h&&(l.width=l.height=2*h),l}pointAttribs(t,e){let i,s,n,r,o=this.options.marker,a=t&&t.options,l=a&&a.marker||{},h=a&&a.color,c=t&&t.color,d=t&&t.zone&&t.zone.color,u=this.color,p=B(l.lineWidth,o.lineWidth),f=1;return u=h||d||c||u,n=l.fillColor||o.fillColor||u,r=l.lineColor||o.lineColor||u,e=e||"normal",i=o.states[e]||{},p=B((s=l.states&&l.states[e]||{}).lineWidth,i.lineWidth,p+B(s.lineWidthPlus,i.lineWidthPlus,0)),n=s.fillColor||i.fillColor||n,{stroke:r=s.lineColor||i.lineColor||r,"stroke-width":p,fill:n,opacity:f=B(s.opacity,i.opacity,f)}}destroy(t){let e,i,s,n=this,r=n.chart,o=/AppleWebKit\/533/.test(g.navigator.userAgent),a=n.data||[];for(P(n,"destroy",{keepEventsForUpdate:t}),this.removeEvents(t),(n.axisTypes||[]).forEach((function(t){(s=n[t])&&s.series&&(C(s.series,n),s.isDirty=s.forceRedraw=!0)})),n.legendItem&&n.chart.legend.destroyItem(n),e=a.length;e--;)(i=a[e])&&i.destroy&&i.destroy();for(let l of n.zones)k(l,void 0,!0);h.clearTimeout(n.animationTimeout),I(n,(function(t,e){t instanceof l&&!t.survive&&t[o&&"group"===e?"hide":"destroy"]()})),r.hoverSeries===n&&(r.hoverSeries=void 0),C(r.series,n),r.orderItems("series"),I(n,(function(e,i){t&&"hcEvents"===i||delete n[i]}))}applyZones(){let{area:t,chart:e,graph:i,zones:s,points:n,xAxis:r,yAxis:o,zoneAxis:a}=this,{inverted:l,renderer:h}=e,c=this["".concat(a,"Axis")],{isXAxis:d,len:u=0}=c||{},p=((null===i||void 0===i?void 0:i.strokeWidth())||0)/2+1,f=function(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;l&&(i=u-i);let{translated:s=0,lineClip:n}=t,r=i-s;null===n||void 0===n||n.push(["L",e,Math.abs(r){t.forEach(((e,i)=>{("M"===e[0]||"L"===e[0])&&(t[i]=[e[0],d?u-e[1]:e[1],d?e[2]:u-e[2]])}))};if(s.forEach((t=>{t.lineClip=[],t.translated=v(c.toPixels(B(t.value,e),!0)||0,0,u)})),i&&!this.showLine&&i.hide(),t&&t.hide(),"y"===a&&n.length{var s,n,a;let c=e.lineClip||[],u=Math.round(e.translated||0);r.reversed&&c.reverse();let{clip:f,simpleClip:y}=e,x=0,v=0,b=r.len,S=o.len;d?(x=u,b=m):(v=u,S=m);let k=[["M",x,v],["L",b,v],["L",b,S],["L",x,S],["Z"]],w=[k[0],...c,k[1],k[2],...g,k[3],k[4]];g=c.reverse(),m=u,l&&(p(w),t&&p(k)),f?(f.animate({d:w}),null===(s=y)||void 0===s||s.animate({d:k})):(f=e.clip=h.path(w),t&&(y=e.simpleClip=h.path(k))),i&&null!==(n=e.graph)&&void 0!==n&&n.clip(f),t&&(null===(a=e.area)||void 0===a||a.clip(y))}))}else this.visible&&(i&&i.show(),t&&t.show())}plotGroup(t,e,i,s,n){let r=this[t],o=!r,a={visibility:i,zIndex:s||.1};return S(this.opacity)&&!this.chart.styledMode&&"inactive"!==this.state&&(a.opacity=this.opacity),r||(this[t]=r=this.chart.renderer.g().add(n)),r.addClass("highcharts-"+e+" highcharts-series-"+this.index+" highcharts-"+this.type+"-series "+(S(this.colorIndex)?"highcharts-color-"+this.colorIndex+" ":"")+(this.options.className||"")+(r.hasClass("highcharts-tracker")?" highcharts-tracker":""),!0),r.attr(a)[o?"attr":"animate"](this.getPlotBox(e)),r}getPlotBox(t){let e=this.xAxis,i=this.yAxis,s=this.chart,n=s.inverted&&!s.polar&&e&&this.invertible&&"series"===t;return s.inverted&&(e=i,i=this.xAxis),{translateX:e?e.left:s.plotLeft,translateY:i?i.top:s.plotTop,rotation:n?90:0,rotationOriginX:n?(e.len-i.len)/2:0,rotationOriginY:n?(e.len+i.len)/2:0,scaleX:n?-1:1,scaleY:1}}removeEvents(t){let{eventsToUnbind:e}=this;t||_(this),e.length&&(e.forEach((t=>{t()})),e.length=0)}render(){var t,e,i,s,n;let r=this,{chart:o,options:a,hasRendered:l}=r,h=c(a.animation),d=r.visible?"inherit":"hidden",u=a.zIndex,p=o.seriesGroup,f=r.finishedAnimating?0:h.duration;P(this,"render"),r.plotGroup("group","series",d,u,p),r.markerGroup=r.plotGroup("markerGroup","markers",d,u,p),!1!==a.clip&&r.setClip(),f&&null!==(t=r.animate)&&void 0!==t&&t.call(r,!0),r.drawGraph&&(r.drawGraph(),r.applyZones()),r.visible&&r.drawPoints(),null!==(e=r.drawDataLabels)&&void 0!==e&&e.call(r),null!==(i=r.redrawPoints)&&void 0!==i&&i.call(r),a.enableMouseTracking&&null!==(s=r.drawTracker)&&void 0!==s&&s.call(r),f&&null!==(n=r.animate)&&void 0!==n&&n.call(r),l||(f&&h.defer&&(f+=h.defer),r.animationTimeout=W((()=>{r.afterAnimate()}),f||0)),r.isDirty=!1,r.hasRendered=!0,P(r,"afterRender")}redraw(){let t=this.isDirty||this.isDirtyData;this.translate(),this.render(),t&&delete this.kdTree}reserveSpace(){return this.visible||!this.chart.options.chart.ignoreHiddenSeries}searchPoint(t,e){let{xAxis:i,yAxis:s}=this,n=this.chart.inverted;return this.searchKDTree({clientX:n?i.len-t.chartY+i.pos:t.chartX-i.pos,plotY:n?s.len-t.chartX+s.pos:t.chartY-s.pos},e,t)}buildKDTree(t){this.buildingKdTree=!0;let e=this,i=e.options.findNearestPointBy.indexOf("y")>-1?2:1;delete e.kdTree,W((function(){e.kdTree=function t(i,s,n){let r,o,a=null===i||void 0===i?void 0:i.length;if(a)return r=e.kdAxisArray[s%n],i.sort(((t,e)=>(t[r]||0)-(e[r]||0))),{point:i[o=Math.floor(a/2)],left:t(i.slice(0,o),s+1,n),right:t(i.slice(o+1),s+1,n)}}(e.getValidPoints(void 0,!e.directTouch),i,i),e.buildingKdTree=!1}),e.options.kdNow||"touchstart"===(null===t||void 0===t?void 0:t.type)?0:1)}searchKDTree(t,e,i){let s=this,[n,r]=this.kdAxisArray,o=e?"distX":"dist",a=(s.options.findNearestPointBy||"").indexOf("y")>-1?2:1,l=!!s.isBubble;if(this.kdTree||this.buildingKdTree||this.buildKDTree(i),this.kdTree)return function t(e,i,a,h,c){let d,u,p=i.point,f=s.kdAxisArray[a%h],g=p;!function(t,e,i){let s=t[n],o=e[n],a=S(s)&&S(o)?s-o:null,h=t[r],c=e[r],d=S(h)&&S(c)?h-c:0,u=l&&(null===(i=e.marker)||void 0===i?void 0:i.radius)||0;e.dist=Math.sqrt((a&&a*a||0)+d*d)-u,e.distX=S(a)?Math.abs(a)-u:Number.MAX_VALUE}(e,p);let m=(e[f]||0)-(p[f]||0)+(l&&(null===(c=p.marker)||void 0===c?void 0:c.radius)||0),y=m<0?"left":"right",x=m<0?"right":"left";return i[y]&&(g=(d=t(e,i[y],a+1,h))[o]=0&&r<=(s?s.len:e.plotHeight)&&n>=0&&n<=(i?i.len:e.plotWidth)}drawTracker(){var t;let e=this,i=e.options,s=i.trackByArea,n=[].concat((s?e.areaPath:e.graphPath)||[]),r=e.chart,o=r.pointer,a=r.renderer,l=(null===(t=r.options.tooltip)||void 0===t?void 0:t.snap)||0,h=()=>{i.enableMouseTracking&&r.hoverSeries!==e&&e.onMouseOver()},c="rgba(192,192,192,"+(f?1e-4:.002)+")",d=e.tracker;d?d.attr({d:n}):e.graph&&(e.tracker=d=a.path(n).attr({visibility:e.visible?"inherit":"hidden",zIndex:2}).addClass(s?"highcharts-tracker-area":"highcharts-tracker-line").add(e.group),r.styledMode||d.attr({"stroke-linecap":"round","stroke-linejoin":"round",stroke:c,fill:s?c:"none","stroke-width":e.graph.strokeWidth()+(s?0:2*l)}),[e.tracker,e.markerGroup,e.dataLabelsGroup].forEach((t=>{t&&(t.addClass("highcharts-tracker").on("mouseover",h).on("mouseout",(t=>{null===o||void 0===o||o.onTrackerMouseOut(t)})),i.cursor&&!r.styledMode&&t.css({cursor:i.cursor}),t.on("touchstart",h))}))),P(this,"afterDrawTracker")}addPoint(t,e,i,s,n){let r,o,a=this.options,l=this.data,h=this.chart,c=this.xAxis,d=c&&c.hasNames&&c.names,u=a.data,p=this.xData;e=B(e,!0);let f={series:this};this.pointClass.prototype.applyOptions.apply(f,[t]);let g=f.x;if(o=p.length,this.requireSorting&&gg;)o--;this.updateParallelArrays(f,"splice",[o,0,0]),this.updateParallelArrays(f,o),d&&f.name&&(d[g]=f.name),u.splice(o,0,t),(r||this.processedData)&&(this.data.splice(o,0,null),this.processData()),"point"===a.legendType&&this.generatePoints(),i&&(l[0]&&l[0].remove?l[0].remove(!1):(l.shift(),this.updateParallelArrays(f,"shift"),u.shift())),!1!==n&&P(this,"addPoint",{point:f}),this.isDirty=!0,this.isDirtyData=!0,e&&h.redraw(s)}removePoint(t,e,i){let s=this,n=s.data,r=n[t],o=s.points,a=s.chart,l=function(){o&&o.length===n.length&&o.splice(t,1),n.splice(t,1),s.options.data.splice(t,1),s.updateParallelArrays(r||{series:s},"splice",[t,1]),r&&r.destroy(),s.isDirty=!0,s.isDirtyData=!0,e&&a.redraw()};d(i,a),e=B(e,!0),r?r.firePointEvent("remove",null,l):l()}remove(t,e,i,s){let n=this,r=n.chart;function o(){n.destroy(s),r.isDirtyLegend=r.isDirtyBox=!0,r.linkSeries(s),B(t,!0)&&r.redraw(e)}!1!==i?P(n,"remove",null,o):o()}update(t,e){var i,s,n,r;P(this,"update",{options:t=w(t,this.userOptions)});let o,a,l=this,h=l.chart,c=l.userOptions,d=l.initialType||l.type,u=h.options.plotOptions,p=m[d].prototype,f=l.finishedAnimating&&{animation:!1},g={},y=["colorIndex","eventOptions","navigatorSeries","symbolIndex","baseSeries"],x=t.type||c.type||h.options.chart.type,v=!(this.hasDerivedData||x&&x!==this.type||void 0!==t.pointStart||void 0!==t.pointInterval||void 0!==t.relativeXValue||t.joinBy||t.mapData||["dataGrouping","pointStart","pointInterval","pointIntervalUnit","keys"].some((t=>l.hasOptionChanged(t))));x=x||d,v&&(y.push("data","isDirtyData","isDirtyCanvas","points","processedData","processedXData","processedYData","xIncrement","cropped","_hasPointMarkers","hasDataLabels","nodes","layout","level","mapMap","mapData","minY","maxY","minX","maxX","transformGroups"),!1!==t.visible&&y.push("area","graph"),l.parallelArrays.forEach((function(t){y.push(t+"Data")})),t.data&&(t.dataSorting&&M(l.options.dataSorting,t.dataSorting),this.setData(t.data,!1))),t=R(c,{index:void 0===c.index?l.index:c.index,pointStart:null!==(i=null!==(s=null===u||void 0===u||null===(n=u.series)||void 0===n?void 0:n.pointStart)&&void 0!==s?s:c.pointStart)&&void 0!==i?i:null===(r=l.xData)||void 0===r?void 0:r[0]},!v&&{data:l.options.data},t,f),v&&t.data&&(t.data=l.options.data),(y=["group","markerGroup","dataLabelsGroup","transformGroup"].concat(y)).forEach((function(t){y[t]=l[t],delete l[t]}));let b=!1;if(m[x]){if(b=x!==l.type,l.remove(!1,!1,!1,!0),b)if(h.propFromSeries(),Object.setPrototypeOf)Object.setPrototypeOf(l,m[x].prototype);else{let t=Object.hasOwnProperty.call(l,"hcEvents")&&l.hcEvents;for(a in p)l[a]=void 0;M(l,m[x].prototype),t?l.hcEvents=t:delete l.hcEvents}}else A(17,!0,h,{missingModuleFor:x});if(y.forEach((function(t){l[t]=y[t]})),l.init(h,t),v&&this.points)for(let m of(!1===(o=l.options).visible?(g.graphic=1,g.dataLabel=1):(this.hasMarkerChanged(o,c)&&(g.graphic=1),(null===(S=l.hasDataLabels)||void 0===S?void 0:S.call(l))||(g.dataLabel=1)),this.points)){var S;m&&m.series&&(m.resolveColor(),Object.keys(g).length&&m.destroyElements(g),!1===o.showInLegend&&m.legendItem&&h.legend.destroyItem(m))}l.initialType=d,h.linkSeries(),h.setSortedData(),b&&l.linkedSeries.length&&(l.isDirtyData=!0),P(this,"afterUpdate"),B(e,!0)&&h.redraw(!!v&&void 0)}setName(t){this.name=this.options.name=this.userOptions.name=t,this.chart.isDirtyLegend=!0}hasOptionChanged(t){var e,i;let s=this.chart,n=this.options[t],r=s.options.plotOptions,o=this.userOptions[t],a=B(null===r||void 0===r||null===(e=r[this.type])||void 0===e?void 0:e[t],null===r||void 0===r||null===(i=r.series)||void 0===i?void 0:i[t]);return o&&!S(a)?n!==o:n!==B(a,n)}onMouseOver(){let t=this.chart,e=t.hoverSeries,i=t.pointer;null!==i&&void 0!==i&&i.setHoverChartIndex(),e&&e!==this&&e.onMouseOut(),this.options.events.mouseOver&&P(this,"mouseOver"),this.setState("hover"),t.hoverSeries=this}onMouseOut(){let t=this.options,e=this.chart,i=e.tooltip,s=e.hoverPoint;e.hoverSeries=null,s&&s.onMouseOut(),this&&t.events.mouseOut&&P(this,"mouseOut"),i&&!this.stickyTracking&&(!i.shared||this.noSharedTooltip)&&i.hide(),e.series.forEach((function(t){t.setState("",!0)}))}setState(t,e){let i=this,s=i.options,n=i.graph,r=s.inactiveOtherPoints,o=s.states,a=B(o[t||"normal"]&&o[t||"normal"].animation,i.chart.options.chart.animation),l=s.lineWidth,h=s.opacity;if(t=t||"",i.state!==t&&([i.group,i.markerGroup,i.dataLabelsGroup].forEach((function(e){e&&(i.state&&e.removeClass("highcharts-series-"+i.state),t&&e.addClass("highcharts-series-"+t))})),i.state=t,!i.chart.styledMode)){if(o[t]&&!1===o[t].enabled)return;if(t&&(l=o[t].lineWidth||l+(o[t].lineWidthPlus||0),h=B(o[t].opacity,h)),n&&!n.dashstyle&&j(l))for(let t of[n,...this.zones.map((t=>t.graph))])null===t||void 0===t||t.animate({"stroke-width":l},a);r||[i.group,i.markerGroup,i.dataLabelsGroup,i.labelBySeries].forEach((function(t){t&&t.animate({opacity:h},a)}))}e&&r&&i.points&&i.setAllPointsToState(t||void 0)}setAllPointsToState(t){this.points.forEach((function(e){e.setState&&e.setState(t)}))}setVisible(t,e){var i;let s=this,n=s.chart,r=n.options.chart.ignoreHiddenSeries,o=s.visible;s.visible=t=s.options.visible=s.userOptions.visible=void 0===t?!o:t;let a=t?"show":"hide";["group","dataLabelsGroup","markerGroup","tracker","tt"].forEach((t=>{var e;null===(e=s[t])||void 0===e||e[a]()})),(n.hoverSeries===s||(null===(i=n.hoverPoint)||void 0===i?void 0:i.series)===s)&&s.onMouseOut(),s.legendItem&&n.legend.colorizeItem(s,t),s.isDirty=!0,s.options.stacking&&n.series.forEach((t=>{t.options.stacking&&t.visible&&(t.isDirty=!0)})),s.linkedSeries.forEach((e=>{e.setVisible(t,!1)})),r&&(n.isDirtyBox=!0),P(s,a),!1!==e&&n.redraw()}show(){this.setVisible(!0)}hide(){this.setVisible(!1)}select(t){this.selected=t=this.options.selected=void 0===t?!this.selected:t,this.checkbox&&(this.checkbox.checked=t),P(this,t?"select":"unselect")}shouldShowTooltip(t,e){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return i.series=this,i.visiblePlotOnly=!0,this.chart.isInsidePlot(t,e,i)}drawLegendSymbol(t,e){var i;null===(i=n[this.options.legendSymbol||"rectangle"])||void 0===i||i.call(this,t,e)}}return F.defaultOptions=o,F.types=a.seriesTypes,F.registerType=a.registerSeriesType,M(F.prototype,{axisTypes:["xAxis","yAxis"],coll:"series",colorCounter:0,directTouch:!1,invertible:!0,isCartesian:!0,kdAxisArray:["clientX","plotY"],parallelArrays:["x","y"],pointClass:r,requireSorting:!0,sorted:!0}),a.series=F,F})),i(e,"Core/Chart/Chart.js",[e["Core/Animation/AnimationUtilities.js"],e["Core/Axis/Axis.js"],e["Core/Defaults.js"],e["Core/Templating.js"],e["Core/Foundation.js"],e["Core/Globals.js"],e["Core/Renderer/RendererRegistry.js"],e["Core/Series/Series.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Renderer/SVG/SVGRenderer.js"],e["Core/Time.js"],e["Core/Utilities.js"],e["Core/Renderer/HTML/AST.js"],e["Core/Axis/Tick.js"]],(function(t,e,i,s,n,r,o,a,l,h,c,d,u,p){let{animate:f,animObject:g,setAnimation:m}=t,{defaultOptions:y,defaultTime:x}=i,{numberFormat:v}=s,{registerEventOptions:b}=n,{charts:S,doc:k,marginNames:w,svg:C,win:A}=r,{seriesTypes:M}=l,{addEvent:T,attr:P,createElement:E,css:O,defined:L,diffObjects:D,discardElement:j,erase:N,error:R,extend:I,find:B,fireEvent:_,getStyle:z,isArray:W,isNumber:F,isObject:G,isString:X,merge:H,objectEach:U,pick:Y,pInt:V,relativeLength:q,removeEvent:K,splat:$,syncTimeout:Z,uniqueKey:Q}=d;class J{static chart(t,e,i){return new J(t,e,i)}constructor(t,e,i){this.sharedClips={};let s=[...arguments];(X(t)||t.nodeName)&&(this.renderTo=s.shift()),this.init(s[0],s[1])}setZoomOptions(){let t=this.options.chart,e=t.zooming;this.zooming={...e,type:Y(t.zoomType,e.type),key:Y(t.zoomKey,e.key),pinchType:Y(t.pinchType,e.pinchType),singleTouch:Y(t.zoomBySingleTouch,e.singleTouch,!1),resetButton:H(e.resetButton,t.resetZoomButton)}}init(t,e){_(this,"init",{args:arguments},(function(){let i=H(y,t),s=i.chart;this.userOptions=I({},t),this.margin=[],this.spacing=[],this.labelCollectors=[],this.callback=e,this.isResizing=0,this.options=i,this.axes=[],this.series=[],this.time=t.time&&Object.keys(t.time).length?new c(t.time):r.time,this.numberFormatter=s.numberFormatter||v,this.styledMode=s.styledMode,this.hasCartesianSeries=s.showAxes,this.index=S.length,S.push(this),r.chartCount++,b(this,s),this.xAxis=[],this.yAxis=[],this.pointCount=this.colorCounter=this.symbolCounter=0,this.setZoomOptions(),_(this,"afterInit"),this.firstRender()}))}initSeries(t){let e=this.options.chart,i=t.type||e.type,s=M[i];s||R(17,!0,this,{missingModuleFor:i});let n=new s;return"function"==typeof n.init&&n.init(this,t),n}setSortedData(){this.getSeriesOrderByLinks().forEach((function(t){t.points||t.data||!t.enabledDataSorting||t.setData(t.options.data,!1)}))}getSeriesOrderByLinks(){return this.series.concat().sort((function(t,e){return t.linkedSeries.length||e.linkedSeries.length?e.linkedSeries.length-t.linkedSeries.length:0}))}orderItems(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,i=this[t],s=this.options[t]=$(this.options[t]).slice(),n=this.userOptions[t]=this.userOptions[t]?$(this.userOptions[t]).slice():[];if(this.hasRendered&&(s.splice(e),n.splice(e)),i)for(let r=e,o=i.length;r2&&void 0!==arguments[2]?arguments[2]:{},{inverted:n,plotBox:r,plotLeft:o,plotTop:a,scrollablePlotBox:l}=this,{scrollLeft:h=0,scrollTop:c=0}=s.visiblePlotOnly&&(null===(i=this.scrollablePlotArea)||void 0===i?void 0:i.scrollingContainer)||{},d=s.series,u=s.visiblePlotOnly&&l||r,p=s.inverted?e:t,f=s.inverted?t:e,g={x:p,y:f,isInsidePlot:!0,options:s};if(!s.ignoreX){let t=d&&(n&&!this.polar?d.yAxis:d.xAxis)||{pos:o,len:1/0},e=s.paneCoordinates?t.pos+p:o+p;e>=Math.max(h+o,t.pos)&&e<=Math.min(h+o+u.width,t.pos+t.len)||(g.isInsidePlot=!1)}if(!s.ignoreY&&g.isInsidePlot){let t=!n&&s.axis&&!s.axis.isXAxis&&s.axis||d&&(n?d.xAxis:d.yAxis)||{pos:a,len:1/0},e=s.paneCoordinates?t.pos+f:a+f;e>=Math.max(c+a,t.pos)&&e<=Math.min(c+a+u.height,t.pos+t.len)||(g.isInsidePlot=!1)}return _(this,"afterIsInsidePlot",g),g.isInsidePlot}redraw(t){_(this,"beforeRedraw");let e,i,s,n,r=this.hasCartesianSeries?this.axes:this.colorAxis||[],o=this.series,a=this.pointer,l=this.legend,h=this.userOptions.legend,c=this.renderer,d=c.isHidden(),u=[],p=this.isDirtyBox,f=this.isDirtyLegend;for(c.rootFontSize=c.boxWrapper.getStyle("font-size"),this.setResponsive&&this.setResponsive(!1),m(!!this.hasRendered&&t,this),d&&this.temporaryDisplay(),this.layOutTitles(!1),s=o.length;s--;)if(((n=o[s]).options.stacking||n.options.centerInCategory)&&(i=!0,n.isDirty)){e=!0;break}if(e)for(s=o.length;s--;)(n=o[s]).options.stacking&&(n.isDirty=!0);o.forEach((function(t){t.isDirty&&("point"===t.options.legendType?("function"==typeof t.updateTotals&&t.updateTotals(),f=!0):h&&(h.labelFormatter||h.labelFormat)&&(f=!0)),t.isDirtyData&&_(t,"updatedData")})),f&&l&&l.options.enabled&&(l.render(),this.isDirtyLegend=!1),i&&this.getStacks(),r.forEach((function(t){t.updateNames(),t.setScale()})),this.getMargins(),r.forEach((function(t){t.isDirty&&(p=!0)})),r.forEach((function(t){let e=t.min+","+t.max;t.extKey!==e&&(t.extKey=e,u.push((function(){_(t,"afterSetExtremes",I(t.eventArgs,t.getExtremes())),delete t.eventArgs}))),(p||i)&&t.redraw()})),p&&this.drawChartBox(),_(this,"predraw"),o.forEach((function(t){(p||t.isDirty)&&t.visible&&t.redraw(),t.isDirtyData=!1})),a&&a.reset(!0),c.draw(),_(this,"redraw"),_(this,"render"),d&&this.temporaryDisplay(!0),u.forEach((function(t){t.call()}))}get(t){let e=this.series;function i(e){return e.id===t||e.options&&e.options.id===t}let s=B(this.axes,i)||B(this.series,i);for(let n=0;!s&&n(e.getPointsCollection().forEach((e=>{Y(e.selectedStaging,e.selected)&&t.push(e)})),t)),[])}getSelectedSeries(){return this.series.filter((function(t){return t.selected}))}setTitle(t,e,i){this.applyDescription("title",t),this.applyDescription("subtitle",e),this.applyDescription("caption",void 0),this.layOutTitles(i)}applyDescription(t,e){let i=this,s=this.options[t]=H(this.options[t],e),n=this[t];n&&e&&(this[t]=n=n.destroy()),s&&!n&&((n=this.renderer.text(s.text,0,0,s.useHTML).attr({align:s.align,class:"highcharts-"+t,zIndex:s.zIndex||4}).add()).update=function(e,s){i.applyDescription(t,e),i.layOutTitles(s)},this.styledMode||n.css(I("title"===t?{fontSize:this.options.isStock?"1em":"1.2em"}:{},s.style)),this[t]=n)}layOutTitles(){let t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],e=[0,0,0],i=this.renderer,s=this.spacingBox;["title","subtitle","caption"].forEach((function(t){let n=this[t],r=this.options[t],o=r.verticalAlign||"top",a="title"===t?"top"===o?-3:0:"top"===o?e[0]+2:0;if(n){n.css({width:(r.width||s.width+(r.widthAdjust||0))+"px"});let t=i.fontMetrics(n).b,l=Math.round(n.getBBox(r.useHTML).height);n.align(I({y:"bottom"===o?t:a+t,height:l},r),!1,"spacingBox"),r.floating||("top"===o?e[0]=Math.ceil(e[0]+l):"bottom"===o&&(e[2]=Math.ceil(e[2]+l)))}}),this),e[0]&&"top"===(this.options.title.verticalAlign||"top")&&(e[0]+=this.options.title.margin),e[2]&&"bottom"===this.options.caption.verticalAlign&&(e[2]+=this.options.caption.margin);let n=!this.titleOffset||this.titleOffset.join(",")!==e.join(",");this.titleOffset=e,_(this,"afterLayOutTitles"),!this.isDirtyBox&&n&&(this.isDirtyBox=this.isDirtyLegend=n,this.hasRendered&&t&&this.isDirtyBox&&this.redraw())}getContainerBox(){return{width:z(this.renderTo,"width",!0)||0,height:z(this.renderTo,"height",!0)||0}}getChartSize(){let t=this.options.chart,e=t.width,i=t.height,s=this.getContainerBox();this.chartWidth=Math.max(0,e||s.width||600),this.chartHeight=Math.max(0,q(i,this.chartWidth)||(s.height>1?s.height:400)),this.containerBox=s}temporaryDisplay(t){let e,i=this.renderTo;if(t)for(;i&&i.style;)i.hcOrigStyle&&(O(i,i.hcOrigStyle),delete i.hcOrigStyle),i.hcOrigDetached&&(k.body.removeChild(i),i.hcOrigDetached=!1),i=i.parentNode;else for(;i&&i.style&&(k.body.contains(i)||i.parentNode||(i.hcOrigDetached=!0,k.body.appendChild(i)),("none"===z(i,"display",!1)||i.hcOricDetached)&&(i.hcOrigStyle={display:i.style.display,height:i.style.height,overflow:i.style.overflow},e={display:"block",overflow:"hidden"},i!==this.renderTo&&(e.height=0),O(i,e),i.offsetWidth||i.style.setProperty("display","block","important")),(i=i.parentNode)!==k.body););}setClassName(t){this.container.className="highcharts-container "+(t||"")}getContainer(){var t;let e,i=this.options,s=i.chart,n="data-highcharts-chart",r=Q(),a=this.renderTo;a||(this.renderTo=a=s.renderTo),X(a)&&(this.renderTo=a=k.getElementById(a)),a||R(13,!0,this);let l=V(P(a,n));F(l)&&S[l]&&S[l].hasRendered&&S[l].destroy(),P(a,n,this.index),a.innerHTML=u.emptyHTML,s.skipClone||a.offsetWidth||this.temporaryDisplay(),this.getChartSize();let c=this.chartHeight,d=this.chartWidth;O(a,{overflow:"hidden"}),this.styledMode||(e=I({position:"relative",overflow:"hidden",width:d+"px",height:c+"px",textAlign:"left",lineHeight:"normal",zIndex:0,"-webkit-tap-highlight-color":"rgba(0,0,0,0)",userSelect:"none","touch-action":"manipulation",outline:"none"},s.style||{}));let p=E("div",{id:r},e,a);this.container=p,this.getChartSize(),d===this.chartWidth||(d=this.chartWidth,this.styledMode||O(p,{width:Y(null===(t=s.style)||void 0===t?void 0:t.width,d+"px")})),this.containerBox=this.getContainerBox(),this._cursor=p.style.cursor;let f=s.renderer||!C?o.getRendererType(s.renderer):h;if(this.renderer=new f(p,d,c,void 0,s.forExport,i.exporting&&i.exporting.allowHTML,this.styledMode),m(void 0,this),this.setClassName(s.className),this.styledMode)for(let o in i.defs)this.renderer.definition(i.defs[o]);else this.renderer.setStyle(s.style);this.renderer.chartIndex=this.index,_(this,"afterGetContainer")}getMargins(t){let{spacing:e,margin:i,titleOffset:s}=this;this.resetMargins(),s[0]&&!L(i[0])&&(this.plotTop=Math.max(this.plotTop,s[0]+e[0])),s[2]&&!L(i[2])&&(this.marginBottom=Math.max(this.marginBottom,s[2]+e[2])),this.legend&&this.legend.display&&this.legend.adjustMargins(i,e),_(this,"getMargins"),t||this.getAxisMargins()}getAxisMargins(){let t=this,e=t.axisOffset=[0,0,0,0],i=t.colorAxis,s=t.margin,n=function(t){t.forEach((function(t){t.visible&&t.getOffset()}))};t.hasCartesianSeries?n(t.axes):i&&i.length&&n(i),w.forEach((function(i,n){L(s[n])||(t[i]+=e[n])})),t.setChartSize()}getOptions(){return D(this.userOptions,y)}reflow(t){var e;let i=this,s=i.containerBox,n=i.getContainerBox();null===(e=i.pointer)||void 0===e||delete e.chartPosition,!i.isPrinting&&!i.isResizing&&s&&n.width&&((n.width!==s.width||n.height!==s.height)&&(d.clearTimeout(i.reflowTimeout),i.reflowTimeout=Z((function(){i.container&&i.setSize(void 0,void 0,!1)}),t?100:0)),i.containerBox=n)}setReflow(){let t=this,e=e=>{var i;(null===(i=t.options)||void 0===i?void 0:i.chart.reflow)&&t.hasLoaded&&t.reflow(e)};if("function"==typeof ResizeObserver)new ResizeObserver(e).observe(t.renderTo);else{let t=T(A,"resize",e);T(this,"destroy",t)}}setSize(t,e,i){let s=this,n=s.renderer;s.isResizing+=1,m(i,s);let r=n.globalAnimation;s.oldChartHeight=s.chartHeight,s.oldChartWidth=s.chartWidth,void 0!==t&&(s.options.chart.width=t),void 0!==e&&(s.options.chart.height=e),s.getChartSize();let{chartWidth:o,chartHeight:a,scrollablePixelsX:l=0,scrollablePixelsY:h=0}=s;(s.isDirtyBox||o!==s.oldChartWidth||a!==s.oldChartHeight)&&(s.styledMode||(r?f:O)(s.container,{width:"".concat(o+l,"px"),height:"".concat(a+h,"px")},r),s.setChartSize(!0),n.setSize(o,a,r),s.axes.forEach((function(t){t.isDirty=!0,t.setScale()})),s.isDirtyLegend=!0,s.isDirtyBox=!0,s.layOutTitles(),s.getMargins(),s.redraw(r),s.oldChartHeight=void 0,_(s,"resize"),setTimeout((()=>{s&&_(s,"endResize",void 0,(()=>{s.isResizing-=1}))}),g(r).duration))}setChartSize(t){let e,i,s,n,r=this.inverted,o=this.renderer,a=this.chartWidth,l=this.chartHeight,h=this.options.chart,c=this.spacing,d=this.clipOffset;this.plotLeft=e=Math.round(this.plotLeft),this.plotTop=i=Math.round(this.plotTop),this.plotWidth=s=Math.max(0,Math.round(a-e-this.marginRight)),this.plotHeight=n=Math.max(0,Math.round(l-i-this.marginBottom)),this.plotSizeX=r?n:s,this.plotSizeY=r?s:n,this.plotBorderWidth=h.plotBorderWidth||0,this.spacingBox=o.spacingBox={x:c[3],y:c[0],width:a-c[3]-c[1],height:l-c[0]-c[2]},this.plotBox=o.plotBox={x:e,y:i,width:s,height:n};let u=2*Math.floor(this.plotBorderWidth/2),p=Math.ceil(Math.max(u,d[3])/2),f=Math.ceil(Math.max(u,d[0])/2);this.clipBox={x:p,y:f,width:Math.floor(this.plotSizeX-Math.max(u,d[1])/2-p),height:Math.max(0,Math.floor(this.plotSizeY-Math.max(u,d[2])/2-f))},t||(this.axes.forEach((function(t){t.setAxisSize(),t.setAxisTranslation()})),o.alignElements()),_(this,"afterSetChartSize",{skipAxes:t})}resetMargins(){_(this,"resetMargins");let t=this,e=t.options.chart;["margin","spacing"].forEach((function(i){let s=e[i],n=G(s)?s:[s,s,s,s];["Top","Right","Bottom","Left"].forEach((function(s,r){t[i][r]=Y(e[i+s],n[r])}))})),w.forEach((function(e,i){t[e]=Y(t.margin[i],t.spacing[i])})),t.axisOffset=[0,0,0,0],t.clipOffset=[0,0,0,0]}drawChartBox(){let t,e,i,s=this.options.chart,n=this.renderer,r=this.chartWidth,o=this.chartHeight,a=this.styledMode,l=this.plotBGImage,h=s.backgroundColor,c=s.plotBackgroundColor,d=s.plotBackgroundImage,u=this.plotLeft,p=this.plotTop,f=this.plotWidth,g=this.plotHeight,m=this.plotBox,y=this.clipRect,x=this.clipBox,v=this.chartBackground,b=this.plotBackground,S=this.plotBorder,k="animate";v||(this.chartBackground=v=n.rect().addClass("highcharts-background").add(),k="attr"),a?t=e=v.strokeWidth():(e=(t=s.borderWidth||0)+(s.shadow?8:0),i={fill:h||"none"},(t||v["stroke-width"])&&(i.stroke=s.borderColor,i["stroke-width"]=t),v.attr(i).shadow(s.shadow)),v[k]({x:e/2,y:e/2,width:r-e-t%2,height:o-e-t%2,r:s.borderRadius}),k="animate",b||(k="attr",this.plotBackground=b=n.rect().addClass("highcharts-plot-background").add()),b[k](m),!a&&(b.attr({fill:c||"none"}).shadow(s.plotShadow),d&&(l?(d!==l.attr("href")&&l.attr("href",d),l.animate(m)):this.plotBGImage=n.image(d,u,p,f,g).add())),y?y.animate({width:x.width,height:x.height}):this.clipRect=n.clipRect(x),k="animate",S||(k="attr",this.plotBorder=S=n.rect().addClass("highcharts-plot-border").attr({zIndex:1}).add()),a||S.attr({stroke:s.plotBorderColor,"stroke-width":s.plotBorderWidth||0,fill:"none"}),S[k](S.crisp({x:u,y:p,width:f,height:g},-S.strokeWidth())),this.isDirtyBox=!1,_(this,"afterDrawChartBox")}propFromSeries(){let t,e,i,s=this,n=s.options.chart,r=s.options.series;["inverted","angular","polar"].forEach((function(o){for(e=M[n.type],i=n[o]||e&&e.prototype[o],t=r&&r.length;!i&&t--;)(e=M[r[t].type])&&e.prototype[o]&&(i=!0);s[o]=i}))}linkSeries(t){let e=this,i=e.series;i.forEach((function(t){t.linkedSeries.length=0})),i.forEach((function(t){let{linkedTo:i}=t.options;if(X(i)){let s;(s=":previous"===i?e.series[t.index-1]:e.get(i))&&s.linkedParent!==t&&(s.linkedSeries.push(t),t.linkedParent=s,s.enabledDataSorting&&t.setDataSortingOptions(),t.visible=Y(t.options.visible,s.options.visible,t.visible))}})),_(this,"afterLinkSeries",{isUpdating:t})}renderSeries(){this.series.forEach((function(t){t.translate(),t.render()}))}render(){let t,e=this.axes,i=this.colorAxis,s=this.renderer,n=this.options.chart.axisLayoutRuns||2,r=t=>{t.forEach((t=>{t.visible&&t.render()}))},o=0,a=!0,l=0;for(let c of(this.setTitle(),_(this,"beforeMargins"),null!==(h=this.getStacks)&&void 0!==h&&h.call(this),this.getMargins(!0),this.setChartSize(),e)){var h;let{options:t}=c,{labels:e}=t;if(c.horiz&&c.visible&&e.enabled&&c.series.length&&"colorAxis"!==c.coll&&!this.polar){o=t.tickLength,c.createGroups();let i=new p(c,0,"",!0),s=i.createLabel("x",e);if(i.destroy(),s&&Y(e.reserveSpace,!F(t.crossing))&&(o=s.getBBox().height+e.distance+Math.max(t.offset||0,0)),o){null===s||void 0===s||s.destroy();break}}}for(this.plotHeight=Math.max(this.plotHeight-o,0);(a||t||n>1)&&l(l?1:1.1),t=s/this.plotHeight>(l?1:1.05),l++}this.drawChartBox(),this.hasCartesianSeries?r(e):i&&i.length&&r(i),this.seriesGroup||(this.seriesGroup=s.g("series-group").attr({zIndex:3}).shadow(this.options.chart.seriesGroupShadow).add()),this.renderSeries(),this.addCredits(),this.setResponsive&&this.setResponsive(),this.hasRendered=!0}addCredits(t){let e=this,i=H(!0,this.options.credits,t);i.enabled&&!this.credits&&(this.credits=this.renderer.text(i.text+(this.mapCredits||""),0,0).addClass("highcharts-credits").on("click",(function(){i.href&&(A.location.href=i.href)})).attr({align:i.position.align,zIndex:8}),e.styledMode||this.credits.css(i.style),this.credits.add().align(i.position),this.credits.update=function(t){e.credits=e.credits.destroy(),e.addCredits(t)})}destroy(){let t,e=this,i=e.axes,s=e.series,n=e.container,o=n&&n.parentNode;for(_(e,"destroy"),e.renderer.forExport?N(S,e):S[e.index]=void 0,r.chartCount--,e.renderTo.removeAttribute("data-highcharts-chart"),K(e),t=i.length;t--;)i[t]=i[t].destroy();for(this.scroller&&this.scroller.destroy&&this.scroller.destroy(),t=s.length;t--;)s[t]=s[t].destroy();["title","subtitle","chartBackground","plotBackground","plotBGImage","plotBorder","seriesGroup","clipRect","credits","pointer","rangeSelector","legend","resetZoomButton","tooltip","renderer"].forEach((function(t){let i=e[t];i&&i.destroy&&(e[t]=i.destroy())})),n&&(n.innerHTML=u.emptyHTML,K(n),o&&j(n)),U(e,(function(t,i){delete e[i]}))}firstRender(){var t;let e=this,i=e.options;e.getContainer(),e.resetMargins(),e.setChartSize(),e.propFromSeries(),e.getAxes();let s=W(i.series)?i.series:[];i.series=[],s.forEach((function(t){e.initSeries(t)})),e.linkSeries(),e.setSortedData(),_(e,"beforeRender"),e.render(),null!==(t=e.pointer)&&void 0!==t&&t.getChartPosition(),e.renderer.imgCount||e.hasLoaded||e.onload(),e.temporaryDisplay(!0)}onload(){this.callbacks.concat([this.callback]).forEach((function(t){t&&void 0!==this.index&&t.apply(this,[this])}),this),_(this,"load"),_(this,"render"),L(this.index)&&this.setReflow(),this.warnIfA11yModuleNotLoaded(),this.hasLoaded=!0}warnIfA11yModuleNotLoaded(){let{options:t,title:e}=this;!t||this.accessibility||(this.renderer.boxWrapper.attr({role:"img","aria-label":(e&&e.element.textContent||"").replace(/this.transform({reset:!0,trigger:"zoom"})))}pan(t,e){let i=this,s="object"==typeof e?e:{enabled:e,type:"x"},n=s.type,r=n&&i[{x:"xAxis",xy:"axes",y:"yAxis"}[n]].filter((t=>t.options.panningEnabled&&!t.options.isInternal)),o=i.options.chart;null!==o&&void 0!==o&&o.panning&&(o.panning=s),_(this,"pan",{originalEvent:t},(()=>{i.transform({axes:r,event:t,to:{x:t.chartX-(i.mouseDownX||0),y:t.chartY-(i.mouseDownY||0)},trigger:"pan"}),O(i.container,{cursor:"move"})}))}transform(t){var e;let i,{axes:s=this.axes,event:n,from:r={},reset:o,selection:a,to:l={},trigger:h}=t,{inverted:c,resetZoomButton:d}=this,u=!1;for(let x of(null!==(p=this.hoverPoints)&&void 0!==p&&p.forEach((t=>t.setState())),s)){var p,f,g,m;let{horiz:t,len:e,minPointOffset:s=0,options:d,reversed:v}=x,b=t?"width":"height",S=t?"x":"y",k=l[b]||x.len,w=r[b]||x.len,C=10>Math.abs(k)?1:k/w,A=(r[S]||0)+w/2-x.pos,M=A-((null!==(f=l[S])&&void 0!==f?f:x.pos)+k/2-x.pos)/C,T=v&&!c||!v&&c?-1:1;if(!o&&(A<0||A>x.len))continue;let P=x.toValue(M,!0)+s*T,E=x.toValue(M+e/C,!0)-(s*T||0),O=x.allExtremes;if(P>E&&([P,E]=[E,P]),1===C&&!o&&"yAxis"===x.coll&&!O){for(let t of x.series){var y;let e=t.getExtremes(t.getProcessedData(!0).yData,!0);null!==(y=O)&&void 0!==y||(O={dataMin:Number.MAX_VALUE,dataMax:-Number.MAX_VALUE}),F(e.dataMin)&&F(e.dataMax)&&(O.dataMin=Math.min(e.dataMin,O.dataMin),O.dataMax=Math.max(e.dataMax,O.dataMax))}x.allExtremes=O}let{dataMin:D,dataMax:j,min:N,max:R}=I(x.getExtremes(),O||{}),B=null!==D&&void 0!==D?D:d.min,_=null!==j&&void 0!==j?j:d.max,z=E-P,W=x.categories?0:Math.min(z,_-B),G=B-W*(L(d.min)?0:d.minPadding),X=_+W*(L(d.max)?0:d.maxPadding),H=x.allowZoomOutside||1===C||"zoom"!==h&&C>1,U=Math.min(null!==(g=d.min)&&void 0!==g?g:G,G,H?N:G),Y=Math.max(null!==(m=d.max)&&void 0!==m?m:X,X,H?R:X);(!x.isOrdinal||1!==C||o)&&(P=1&&(E=P+z)),E>Y&&(E=Y,C>=1&&(P=E-z)),(o||x.series.length&&(P!==N||E!==R)&&P>=U&&E<=Y)&&(a?a[x.coll].push({axis:x,min:P,max:E}):(x.isPanning="zoom"!==h,x.setExtremes(o?void 0:P,o?void 0:E,!1,!1,{move:M,trigger:h,scale:C}),!o&&(P>U||E{delete t.selection,t.trigger="zoom",this.transform(t)})):(i&&!d?this.showResetZoom():!i&&d&&(this.resetZoomButton=d.destroy()),this.redraw("zoom"===h&&(null!==(e=this.options.chart.animation)&&void 0!==e?e:this.pointCount<100)))),u}}return I(J.prototype,{callbacks:[],collectionsWithInit:{xAxis:[J.prototype.addAxis,[!0]],yAxis:[J.prototype.addAxis,[!1]],series:[J.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"]}),J})),i(e,"Extensions/ScrollablePlotArea.js",[e["Core/Animation/AnimationUtilities.js"],e["Core/Globals.js"],e["Core/Renderer/RendererRegistry.js"],e["Core/Utilities.js"]],(function(t,e,i,s){let{stop:n}=t,{composed:r}=e,{addEvent:o,createElement:a,css:l,defined:h,merge:c,pushUnique:d}=s;function u(){var t;let e=this.scrollablePlotArea;(this.scrollablePixelsX||this.scrollablePixelsY)&&!e&&(this.scrollablePlotArea=e=new f(this)),null===(t=e)||void 0===t||t.applyFixed()}function p(){this.chart.scrollablePlotArea&&(this.chart.scrollablePlotArea.isDirty=!0)}class f{static compose(t,e,i){d(r,this.compose)&&(o(t,"afterInit",p),o(e,"afterSetChartSize",(t=>this.afterSetSize(t.target,t))),o(e,"render",u),o(i,"show",p))}static afterSetSize(t,e){let i,s,n,{minWidth:r,minHeight:o}=t.options.chart.scrollablePlotArea||{},{clipBox:a,plotBox:l,inverted:d,renderer:u}=t;if(!u.forExport&&(r?(t.scrollablePixelsX=i=Math.max(0,r-t.chartWidth),i&&(t.scrollablePlotBox=c(t.plotBox),l.width=t.plotWidth+=i,a[d?"height":"width"]+=i,n=!0)):o&&(t.scrollablePixelsY=s=Math.max(0,o-t.chartHeight),h(s)&&(t.scrollablePlotBox=c(t.plotBox),l.height=t.plotHeight+=s,a[d?"width":"height"]+=s,n=!1)),h(n)&&!e.skipAxes))for(let h of t.axes)h.horiz===n&&(h.setAxisSize(),h.setAxisTranslation())}constructor(t){var e,s;let n,r=t.options.chart,h=i.getRendererType(),c=r.scrollablePlotArea||{},d=this.moveFixedElements.bind(this),u={WebkitOverflowScrolling:"touch",overflowX:"hidden",overflowY:"hidden"};t.scrollablePixelsX&&(u.overflowX="auto"),t.scrollablePixelsY&&(u.overflowY="auto"),this.chart=t;let p=this.parentDiv=a("div",{className:"highcharts-scrolling-parent"},{position:"relative"},t.renderTo),f=this.scrollingContainer=a("div",{className:"highcharts-scrolling"},u,p),g=this.innerContainer=a("div",{className:"highcharts-inner-container"},void 0,f),m=this.fixedDiv=a("div",{className:"highcharts-fixed"},{position:"absolute",overflow:"hidden",pointerEvents:"none",zIndex:((null===(e=r.style)||void 0===e?void 0:e.zIndex)||0)+2,top:0},void 0,!0),y=this.fixedRenderer=new h(m,t.chartWidth,t.chartHeight,r.style);this.mask=y.path().attr({fill:r.backgroundColor||"#fff","fill-opacity":null!==(s=c.opacity)&&void 0!==s?s:.85,zIndex:-1}).addClass("highcharts-scrollable-mask").add(),f.parentNode.insertBefore(m,f),l(t.renderTo,{overflow:"visible"}),o(t,"afterShowResetZoom",d),o(t,"afterApplyDrilldown",d),o(t,"afterLayOutTitles",d),o(f,"scroll",(()=>{let{pointer:e,hoverPoint:i}=t;e&&(delete e.chartPosition,i&&(n=i),e.runPointActions(void 0,n,!0))})),g.appendChild(t.container)}applyFixed(){var t;let{chart:e,fixedRenderer:i,isDirty:s,scrollingContainer:r}=this,{axisOffset:o,chartWidth:a,chartHeight:c,container:d,plotHeight:u,plotLeft:p,plotTop:f,plotWidth:g,scrollablePixelsX:m=0,scrollablePixelsY:y=0}=e,{scrollPositionX:x=0,scrollPositionY:v=0}=e.options.chart.scrollablePlotArea||{},b=a+m,S=c+y;i.setSize(a,c),(null===s||void 0===s||s)&&(this.isDirty=!1,this.moveFixedElements()),n(e.container),l(d,{width:"".concat(b,"px"),height:"".concat(S,"px")}),e.renderer.boxWrapper.attr({width:b,height:S,viewBox:[0,0,b,S].join(" ")}),null!==(t=e.chartBackground)&&void 0!==t&&t.attr({width:b,height:S}),l(r,{width:"".concat(a,"px"),height:"".concat(c,"px")}),h(s)||(r.scrollLeft=m*x,r.scrollTop=y*v);let k=f-o[0]-1,w=p-o[3]-1,C=f+u+o[2]+1,A=p+g+o[1]+1,M=p+g-m,T=f+u-y,P=[["M",0,0]];m?P=[["M",0,k],["L",p-1,k],["L",p-1,C],["L",0,C],["Z"],["M",M,k],["L",a,k],["L",a,C],["L",M,C],["Z"]]:y&&(P=[["M",w,0],["L",w,f-1],["L",A,f-1],["L",A,0],["Z"],["M",w,T],["L",w,c],["L",A,c],["L",A,T],["Z"]]),"adjustHeight"!==e.redrawTrigger&&this.mask.attr({d:P})}moveFixedElements(){let t,{container:e,inverted:i,scrollablePixelsX:s,scrollablePixelsY:n}=this.chart,r=this.fixedRenderer,o=[".highcharts-breadcrumbs-group",".highcharts-contextbutton",".highcharts-caption",".highcharts-credits",".highcharts-legend",".highcharts-legend-checkbox",".highcharts-navigator-series",".highcharts-navigator-xaxis",".highcharts-navigator-yaxis",".highcharts-navigator",".highcharts-reset-zoom",".highcharts-drillup-button",".highcharts-scrollbar",".highcharts-subtitle",".highcharts-title"];for(let a of(s&&!i?t=".highcharts-yaxis":s&&i||n&&!i?t=".highcharts-xaxis":n&&i&&(t=".highcharts-yaxis"),t&&o.push("".concat(t,":not(.highcharts-radial-axis)"),"".concat(t,"-labels:not(.highcharts-radial-axis-labels)")),o))[].forEach.call(e.querySelectorAll(a),(t=>{(t.namespaceURI===r.SVG_NS?r.box:r.box.parentNode).appendChild(t),t.style.pointerEvents="auto"}))}}return f})),i(e,"Core/Axis/Stacking/StackItem.js",[e["Core/Templating.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],(function(t,e,i){let{format:s}=t,{series:n}=e,{destroyObjectProperties:r,fireEvent:o,isNumber:a,pick:l}=i;return class{constructor(t,e,i,s,n){let r=t.chart.inverted,o=t.reversed;this.axis=t;let a=this.isNegative=!!i!=!!o;this.options=e=e||{},this.x=s,this.total=null,this.cumulative=null,this.points={},this.hasValidPoints=!1,this.stack=n,this.leftCliff=0,this.rightCliff=0,this.alignOptions={align:e.align||(r?a?"left":"right":"center"),verticalAlign:e.verticalAlign||(r?"middle":a?"bottom":"top"),y:e.y,x:e.x},this.textAlign=e.textAlign||(r?a?"right":"left":"center")}destroy(){r(this,this.axis)}render(t){let e=this.axis.chart,i=this.options,n=i.format,r=n?s(n,this,e):i.formatter.call(this);if(this.label)this.label.attr({text:r,visibility:"hidden"});else{this.label=e.renderer.label(r,null,void 0,i.shape,void 0,void 0,i.useHTML,!1,"stack-labels");let s={r:i.borderRadius||0,text:r,padding:l(i.padding,5),visibility:"hidden"};e.styledMode||(s.fill=i.backgroundColor,s.stroke=i.borderColor,s["stroke-width"]=i.borderWidth,this.label.css(i.style||{})),this.label.attr(s),this.label.added||this.label.add(t)}this.label.labelrank=e.plotSizeY,o(this,"afterRender")}setOffset(t,e,i,s,r,h){let{alignOptions:c,axis:d,label:u,options:p,textAlign:f}=this,g=d.chart,m=this.getStackBox({xOffset:t,width:e,boxBottom:i,boxTop:s,defaultX:r,xAxis:h}),{verticalAlign:y}=c;if(u&&m){let t,e=u.getBBox(void 0,0),i=u.padding,s="justify"===l(p.overflow,"justify");c.x=p.x||0,c.y=p.y||0;let{x:r,y:o}=this.adjustStackPosition({labelBox:e,verticalAlign:y,textAlign:f});m.x-=r,m.y-=o,u.align(c,!1,m),(t=g.isInsidePlot(u.alignAttr.x+c.x+r,u.alignAttr.y+c.y+o))||(s=!1),s&&n.prototype.justifyDataLabel.call(d,u,c,u.alignAttr,e,m),u.attr({x:u.alignAttr.x,y:u.alignAttr.y,rotation:p.rotation,rotationOriginX:e.width*{left:0,center:.5,right:1}[p.textAlign||"center"],rotationOriginY:e.height/2}),l(!s&&p.crop,!0)&&(t=a(u.x)&&a(u.y)&&g.isInsidePlot(u.x-i+(u.width||0),u.y)&&g.isInsidePlot(u.x+i,u.y)),u[t?"show":"hide"]()}o(this,"afterSetOffset",{xOffset:t,width:e})}adjustStackPosition(t){let{labelBox:e,verticalAlign:i,textAlign:s}=t,n={bottom:0,middle:1,top:2,right:1,center:0,left:-1},r=n[i],o=n[s];return{x:e.width/2+e.width/2*o,y:e.height/2*r}}getStackBox(t){let e=this.axis,i=e.chart,{boxTop:s,defaultX:n,xOffset:r,width:o,boxBottom:h}=t,c=e.stacking.usePercentage?100:l(s,this.total,0),d=e.toPixels(c),u=t.xAxis||i.xAxis[0],p=l(n,u.translate(this.x))+r,f=Math.abs(d-e.toPixels(h||a(e.min)&&e.logarithmic&&e.logarithmic.lin2log(e.min)||0)),g=i.inverted,m=this.isNegative;return g?{x:(m?d:d-f)-i.plotLeft,y:u.height-p-o,width:f,height:o}:{x:p+u.transB-i.plotLeft,y:(m?d-f:d)-i.plotTop,width:o,height:f}}}})),i(e,"Core/Axis/Stacking/StackingAxis.js",[e["Core/Animation/AnimationUtilities.js"],e["Core/Axis/Axis.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Axis/Stacking/StackItem.js"],e["Core/Utilities.js"]],(function(t,e,i,s,n){var r;let{getDeferredAnimation:o}=t,{series:{prototype:a}}=i,{addEvent:l,correctFloat:h,defined:c,destroyObjectProperties:d,fireEvent:u,isArray:p,isNumber:f,objectEach:g,pick:m}=n;function y(){let t=this.inverted;this.axes.forEach((t=>{t.stacking&&t.stacking.stacks&&t.hasVisibleSeries&&(t.stacking.oldStacks=t.stacking.stacks)})),this.series.forEach((e=>{let i=e.xAxis&&e.xAxis.options||{};e.options.stacking&&e.reserveSpace()&&(e.stackKey=[e.type,m(e.options.stack,""),t?i.top:i.left,t?i.height:i.width].join(","))}))}function x(){let t=this.stacking;if(t){var e;let i=t.stacks;g(i,((t,e)=>{d(t),delete i[e]})),null===(e=t.stackTotalGroup)||void 0===e||e.destroy()}}function v(){this.stacking||(this.stacking=new A(this))}function b(t,e,i,s){return!c(t)||t.x!==e||s&&t.stackKey!==s?t={x:e,index:0,key:s,stackKey:s}:t.index++,t.key=[i,e,t.index].join(","),t}function S(){let t,e=this,i=e.yAxis,s=e.stackKey||"",n=i.stacking.stacks,r=e.processedXData,o=e.options.stacking,a=e[o+"Stacker"];a&&[s,"-"+s].forEach((i=>{let s,o,l,h=r.length;for(;h--;){var c,d;s=r[h],t=e.getStackIndicator(t,s,e.index,i),o=null===(c=n[i])||void 0===c?void 0:c[s],(l=null===(d=o)||void 0===d?void 0:d.points[t.key||""])&&a.call(e,l,o,h)}}))}function k(t,e,i){let s=e.total?100/e.total:0;t[0]=h(t[0]*s),t[1]=h(t[1]*s),this.stackedYData[i]=t[1]}function w(t){(this.is("column")||this.is("columnrange"))&&(this.options.centerInCategory&&!this.options.stacking&&this.chart.series.length>1?a.setStackedPoints.call(this,t,"group"):t.stacking.resetStacks())}function C(t,e){let i,n,r,o,a,l,d,u,f,g=e||this.options.stacking;if(!g||!this.reserveSpace()||({group:"xAxis"}[g]||"yAxis")!==t.coll)return;let y=this.processedXData,x=this.processedYData,v=[],b=x.length,S=this.options,k=S.threshold||0,w=S.startFromThreshold?k:0,C=S.stack,A=e?"".concat(this.type,",").concat(g):this.stackKey||"",M="-"+A,T=this.negStacks,P=t.stacking,E=P.stacks,O=P.oldStacks;for(P.stacksTouched+=1,d=0;d0&&!1===this.singleStacks&&(r.points[l][0]=r.points[this.index+","+u+",0"][0])):(delete r.points[l],delete r.points[this.index]);let e=r.total||0;"percent"===g?(o=n?A:M,e=T&&null!==(D=E[o])&&void 0!==D&&D[u]?(o=E[o][u]).total=Math.max(o.total||0,e)+Math.abs(f)||0:h(e+(Math.abs(f)||0))):"group"===g?(p(f)&&(f=f[0]),null!==f&&e++):e=h(e+(f||0)),r.cumulative="group"===g?(e||1)-1:h(m(r.cumulative,w)+(f||0)),r.total=e,null!==f&&(r.points[l].push(r.cumulative),v[d]=r.cumulative,r.hasValidPoints=!0)}"percent"===g&&(P.usePercentage=!0),"group"!==g&&(this.stackedYData=v),P.oldStacks={}}class A{constructor(t){this.oldStacks={},this.stacks={},this.stacksTouched=0,this.axis=t}buildStacks(){let t,e,i=this.axis,s=i.series,n="xAxis"===i.coll,r=i.options.reversedStacks,o=s.length;for(this.resetStacks(),this.usePercentage=!1,e=o;e--;)t=s[r?e:o-e-1],n&&t.setGroupedPoints(i),t.setStackedPoints(i);if(!n)for(e=0;e{g(t,(t=>{t.cumulative=t.total}))})))}resetStacks(){g(this.stacks,(t=>{g(t,((e,i)=>{f(e.touched)&&e.touched{g(t,(t=>{t.render(a)}))})),a.animate({opacity:1},r)}}return(r||(r={})).compose=function(t,e,i){let s=e.prototype,n=i.prototype;s.getStacks||(l(t,"init",v),l(t,"destroy",x),s.getStacks=y,n.getStackIndicator=b,n.modifyStacks=S,n.percentStacker=k,n.setGroupedPoints=w,n.setStackedPoints=C)},r})),i(e,"Series/Line/LineSeries.js",[e["Core/Series/Series.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],(function(t,e,i){let{defined:s,merge:n,isObject:r}=i;class o extends t{drawGraph(){let t=this.options,e=(this.gappedPath||this.getGraphPath).call(this),i=this.chart.styledMode;[this,...this.zones].forEach(((s,o)=>{let a,l=s.graph,h=l?"animate":"attr",c=s.dashStyle||t.dashStyle;l?(l.endX=this.preventGraphAnimation?null:e.xMap,l.animate({d:e})):e.length&&(s.graph=l=this.chart.renderer.path(e).addClass("highcharts-graph"+(o?" highcharts-zone-graph-".concat(o-1," "):" ")+(o&&s.className||"")).attr({zIndex:1}).add(this.group)),l&&!i&&(a={stroke:!o&&t.lineColor||s.color||this.color||"#cccccc","stroke-width":t.lineWidth||0,fill:this.fillGraph&&this.color||"none"},c?a.dashstyle=c:"square"!==t.linecap&&(a["stroke-linecap"]=a["stroke-linejoin"]="round"),l[h](a).shadow(o<2&&t.shadow&&n({filterUnits:"userSpaceOnUse"},r(t.shadow)?t.shadow:{}))),l&&(l.startX=e.xMap,l.isArea=e.isArea)}))}getGraphPath(t,e,i){let n,r=this,o=r.options,a=[],l=[],h=o.step,c=(t=t||r.points).reversed;return c&&t.reverse(),(h={right:1,center:2}[h]||h&&3)&&c&&(h=4-h),(t=this.getValidPoints(t,!1,!(o.connectNulls&&!e&&!i))).forEach((function(c,d){let u,p=c.plotX,f=c.plotY,g=t[d-1],m=c.isNull||"number"!=typeof f;(c.leftCliff||g&&g.rightCliff)&&!i&&(n=!0),m&&!s(e)&&d>0?n=!o.connectNulls:m&&!e?n=!0:(0===d||n?u=[["M",c.plotX,c.plotY]]:r.getPointSpline?u=[r.getPointSpline(t,c,d)]:h?(u=1===h?[["L",g.plotX,f]]:2===h?[["L",(g.plotX+p)/2,g.plotY],["L",(g.plotX+p)/2,f]]:[["L",p,g.plotY]]).push(["L",p,f]):u=[["L",p,f]],l.push(c.x),h&&(l.push(c.x),2===h&&l.push(c.x)),a.push.apply(a,u),n=!1)})),a.xMap=l,r.graphPath=a,a}}return o.defaultOptions=n(t.defaultOptions,{legendSymbol:"lineMarker"}),e.registerSeriesType("line",o),o})),i(e,"Series/Area/AreaSeries.js",[e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],(function(t,e){let{seriesTypes:{line:i}}=t,{extend:s,merge:n,objectEach:r,pick:o}=e;class a extends i{drawGraph(){this.areaPath=[],super.drawGraph.apply(this);let{areaPath:t,options:e}=this;[this,...this.zones].forEach(((i,s)=>{var n;let r={},o=i.fillColor||e.fillColor,a=i.area,l=a?"animate":"attr";a?(a.endX=this.preventGraphAnimation?null:t.xMap,a.animate({d:t})):(r.zIndex=0,(a=i.area=this.chart.renderer.path(t).addClass("highcharts-area"+(s?" highcharts-zone-area-".concat(s-1," "):" ")+(s&&i.className||"")).add(this.group)).isArea=!0),this.chart.styledMode||(r.fill=o||i.color||this.color,r["fill-opacity"]=o?1:null!==(n=e.fillOpacity)&&void 0!==n?n:.75,a.css({pointerEvents:this.stickyTracking?"none":"auto"})),a[l](r),a.startX=t.xMap,a.shiftUnit=e.step?2:1}))}getGraphPath(t){let e,s,n,r=i.prototype.getGraphPath,a=this.options,l=a.stacking,h=this.yAxis,c=[],d=[],u=this.index,p=h.stacking.stacks[this.stackKey],f=a.threshold,g=Math.round(h.getThreshold(a.threshold)),m=o(a.connectNulls,"percent"===l),y=function(i,s,n){let r,o,a=t[i],m=l&&p[a.x].points[u],y=a[n+"Null"]||0,x=a[n+"Cliff"]||0,v=!0;x||y?(r=(y?m[0]:m[1])+x,o=m[0]+x,v=!!y):!l&&t[s]&&t[s].isNull&&(r=o=f),void 0!==r&&(d.push({plotX:e,plotY:null===r?g:h.getThreshold(r),isNull:v,isCliff:!0}),c.push({plotX:e,plotY:null===o?g:h.getThreshold(o),doCurve:!1}))};t=t||this.points,l&&(t=this.getStackPoints(t));for(let i=0,w=t.length;it.visible));s.forEach((function(t,r){let g,m,y=0;if(h[t]&&!h[t].isNull)i.push(h[t]),[-1,1].forEach((function(i){let n=1===i?"rightNull":"leftNull",o=l[s[r+i]],a=0;if(o){let i=p;for(;i>=0&&i=0&&ei&&r>h?(r=Math.max(i,h),a=2*h-r):ru&&a>h?(a=Math.max(u,h),r=2*h-a):a=Math.abs(e)&&a>.5;return s=a-(e=Math.round(e)+o),l&&s&&(e-=1,s+=1),{x:t,y:e,width:i,height:s}}adjustForMissingColumns(t,e,i,s){if(!i.isNull&&s.columnCount>1){var n;let r=this.xAxis.series.filter((t=>t.visible)).map((t=>t.index)),o=0,a=0;x(null===(n=this.xAxis.stacking)||void 0===n?void 0:n.stacks,(t=>{if("number"==typeof i.x){let e=t[i.x.toString()];if(e&&f(e.points[this.index])){let t=Object.keys(e.points).filter((t=>!t.match(",")&&e.points[t]&&e.points[t].length>1)).map(parseFloat).filter((t=>-1!==r.indexOf(t))).sort(((t,e)=>e-t));o=t.indexOf(this.index),a=t.length}}})),o=this.xAxis.reversed?a-1-o:o;let l=(a-1)*s.paddedWidth+e;t=(i.plotX||0)+l/2-e-o*s.paddedWidth}return t}translate(){let t=this,e=t.chart,i=t.options,s=t.dense=t.closestPointRange*t.xAxis.transA<2,r=t.borderWidth=y(i.borderWidth,s?0:1),o=t.xAxis,a=t.yAxis,l=i.threshold,h=y(i.minPointLength,5),u=t.getColumnMetrics(),f=u.width,m=t.pointXOffset=u.offset,x=t.dataMin,v=t.dataMax,b=t.barW=Math.max(f,1+2*r),S=t.translatedThreshold=a.getThreshold(l);e.inverted&&(S-=.5),i.pointPadding&&(b=Math.ceil(b)),n.prototype.translate.apply(t),t.points.forEach((function(s){let n,r=y(s.yBottom,S),p=999+Math.abs(r),k=s.plotX||0,w=c(s.plotY,-p,a.len+p),C=Math.min(w,r),A=Math.max(w,r)-C,M=f,T=k+m,P=b;h&&Math.abs(A)h?r-h:S-(n?h:0)),d(s.options.pointWidth)&&(T-=Math.round(((M=P=Math.ceil(s.options.pointWidth))-f)/2)),i.centerInCategory&&!i.stacking&&(T=t.adjustForMissingColumns(T,M,s,u)),s.barX=T,s.pointWidth=M,s.tooltipPos=e.inverted?[c(a.len+a.pos-e.plotLeft-w,a.pos-e.plotLeft,a.len+a.pos-e.plotLeft),o.len+o.pos-e.plotTop-T-P/2,A]:[o.left-e.plotLeft+T+P/2,c(w+a.pos-e.plotTop,a.pos-e.plotTop,a.len+a.pos-e.plotTop),A],s.shapeType=t.pointClass.prototype.shapeType||"roundedRect",s.shapeArgs=t.crispCol(T,s.isNull?S:C,P,s.isNull?0:A)})),p(this,"afterColumnTranslate")}drawGraph(){this.group[this.dense?"addClass":"removeClass"]("highcharts-dense-data")}pointAttribs(t,e){let i,s,n,r=this.options,o=this.pointAttrToOptions||{},a=o.stroke||"borderColor",h=o["stroke-width"]||"borderWidth",c=t&&t.color||this.color,d=t&&t[a]||r[a]||c,u=t&&t.options.dashStyle||r.dashStyle,p=t&&t[h]||r[h]||this[h]||0,f=y(t&&t.opacity,r.opacity,1);t&&this.zones.length&&(s=t.getZone(),c=t.options.color||s&&(s.color||t.nonZonedColor)||this.color,s&&(d=s.borderColor||d,u=s.dashStyle||u,p=s.borderWidth||p)),e&&t&&(n=(i=m(r.states[e],t.options.states&&t.options.states[e]||{})).brightness,c=i.color||void 0!==n&&l(c).brighten(i.brightness).get()||c,d=i[a]||d,p=i[h]||p,u=i.dashStyle||u,f=y(i.opacity,f));let g={fill:c,stroke:d,"stroke-width":p,opacity:f};return u&&(g.dashstyle=u),g}drawPoints(){let t,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.points,i=this,s=this.chart,n=i.options,r=s.renderer,o=n.animationLimit||250;e.forEach((function(e){let a=e.plotY,l=e.graphic,h=!!l,c=l&&s.pointCount0&&void 0!==arguments[0]?arguments[0]:this.points,i=this,s=i.chart,n=s.pointer,r=function(t){let e=null===n||void 0===n?void 0:n.getPointFromEvent(t);n&&e&&i.options.enableMouseTracking&&(n.isDirectTouch=!0,e.onMouseOver(t))};e.forEach((function(e){t=f(e.dataLabels)?e.dataLabels:e.dataLabel?[e.dataLabel]:[],e.graphic&&(e.graphic.element.point=e),t.forEach((function(t){(t.div||t.element).point=e}))})),i._hasTracking||(i.trackerGroups.forEach((function(t){i[t]&&(i[t].addClass("highcharts-tracker").on("mouseover",r).on("mouseout",(function(t){null===n||void 0===n||n.onTrackerMouseOut(t)})).on("touchstart",r),!s.styledMode&&i.options.cursor&&i[t].css({cursor:i.options.cursor}))})),i._hasTracking=!0),p(this,"afterDrawTracker")}remove(){let t=this,e=t.chart;e.hasRendered&&e.series.forEach((function(e){e.type===t.type&&(e.isDirty=!0)})),n.prototype.remove.apply(t,arguments)}}return v.defaultOptions=m(n.defaultOptions,i),u(v.prototype,{directTouch:!0,getSymbol:h,negStacks:!0,trackerGroups:["group","dataLabelsGroup"]}),r.registerSeriesType("column",v),v})),i(e,"Core/Series/DataLabel.js",[e["Core/Animation/AnimationUtilities.js"],e["Core/Templating.js"],e["Core/Utilities.js"]],(function(t,e,i){var s;let{getDeferredAnimation:n}=t,{format:r}=e,{defined:o,extend:a,fireEvent:l,isArray:h,isString:c,merge:d,objectEach:u,pick:p,pInt:f,splat:g}=i;return function(t){function e(){return b(this).some((t=>null===t||void 0===t?void 0:t.enabled))}function i(t,e,i,s,n){let r=this.chart,l=this.isCartesian&&r.inverted,h=this.enabledDataSorting,c=t.plotX,u=t.plotY,f=i.rotation||0,g=o(c)&&o(u)&&r.isInsidePlot(c,Math.round(u),{inverted:l,paneCoordinates:!0,series:this}),m=0===f&&"justify"===p(i.overflow,h?"none":"justify"),y=this.visible&&!1!==t.visible&&o(c)&&(t.series.forceDL||h&&!m||g||p(i.inside,!!this.options.stacking)&&s&&r.isInsidePlot(c,l?s.x+1:s.y+s.height-1,{inverted:l,paneCoordinates:!0,series:this})),x=t.pos();if(y&&x){var v;let o=e.getBBox(),l=e.getBBox(void 0,0),c={right:1,center:.5}[i.align||0]||0,u={bottom:1,middle:.5}[i.verticalAlign||0]||0;if(s=a({x:x[0],y:Math.round(x[1]),width:0,height:0},s||{}),a(i,{width:o.width,height:o.height}),v=s,h&&this.xAxis&&!m&&this.setDataLabelStartPos(t,e,n,g,v),e.align(d(i,{width:l.width,height:l.height}),!1,s,!1),e.alignAttr.x+=c*(l.width-o.width),e.alignAttr.y+=u*(l.height-o.height),e[e.placed?"animate":"attr"]({x:e.alignAttr.x+(o.width-l.width)/2,y:e.alignAttr.y+(o.height-l.height)/2,rotationOriginX:(e.width||0)/2,rotationOriginY:(e.height||0)/2}),m&&s.height>=0)this.justifyDataLabel(e,i,e.alignAttr,o,s,n);else if(p(i.crop,!0)){let{x:t,y:i}=e.alignAttr;y=r.isInsidePlot(t,i,{paneCoordinates:!0,series:this})&&r.isInsidePlot(t+o.width-1,i+o.height-1,{paneCoordinates:!0,series:this})}i.shape&&!f&&e[n?"attr":"animate"]({anchorX:x[0],anchorY:x[1]})}n&&h&&(e.placed=!1),y||h&&!m?(e.show(),e.placed=!0):(e.hide(),e.placed=!1)}function s(){return this.plotGroup("dataLabelsGroup","data-labels",this.hasRendered?"inherit":"hidden",this.options.dataLabels.zIndex||6)}function m(t){let e=this.hasRendered||0,i=this.initDataLabelsGroup().attr({opacity:+e});return!e&&i&&(this.visible&&i.show(),this.options.animation?i.animate({opacity:1},t):i.attr({opacity:1})),i}function y(t){var e;let i;t=t||this.points;let s=this,a=s.chart,h=s.options,d=a.renderer,{backgroundColor:m,plotBackgroundColor:y}=a.options.chart,x=d.getContrast(c(y)&&y||c(m)&&m||"#000000"),S=b(s),{animation:k,defer:w}=S[0],C=w?n(a,k,s):{defer:0,duration:0};l(this,"drawDataLabels"),null!==(e=s.hasDataLabels)&&void 0!==e&&e.call(s)&&(i=this.initDataLabels(C),t.forEach((t=>{var e;let n=t.dataLabels||[];g(v(S,t.dlOptions||(null===(e=t.options)||void 0===e?void 0:e.dataLabels))).forEach(((e,l)=>{let g,m,y,v,b,S=e.enabled&&(t.visible||t.dataLabelOnHidden)&&(!t.isNull||t.dataLabelOnNull)&&function(t,e){let i=e.filter;if(i){let e=i.operator,s=t[i.property],n=i.value;return">"===e&&s>n||"<"===e&&s="===e&&s>=n||"<="===e&&s<=n||"=="===e&&s==n||"==="===e&&s===n||"!="===e&&s!=n||"!=="===e&&s!==n}return!0}(t,e),{backgroundColor:k,borderColor:w,distance:C,style:A={}}=e,M={},T=n[l],P=!T;if(S&&(m=p(e[t.formatPrefix+"Format"],e.format),g=t.getLabelConfig(),y=o(m)?r(m,g,a):(e[t.formatPrefix+"Formatter"]||e.formatter).call(g,e),v=e.rotation,!a.styledMode&&(A.color=p(e.color,A.color,c(s.color)?s.color:void 0,"#000000"),"contrast"===A.color?("none"!==k&&(b=k),t.contrastColor=d.getContrast("auto"!==b&&b||t.color||s.color),A.color=b||!o(C)&&e.inside||0>f(C||0)||h.stacking?t.contrastColor:x):delete t.contrastColor,h.cursor&&(A.cursor=h.cursor)),M={r:e.borderRadius||0,rotation:v,padding:e.padding,zIndex:1},a.styledMode||(M.fill="auto"===k?t.color:k,M.stroke="auto"===w?t.color:w,M["stroke-width"]=e.borderWidth),u(M,((t,e)=>{void 0===t&&delete M[e]}))),!T||S&&o(y)&&!!T.div==!!e.useHTML&&(T.rotation&&e.rotation||T.rotation===e.rotation)||(T=void 0,P=!0),S&&o(y)&&(T?M.text=y:(T=d.label(y,0,0,e.shape,void 0,void 0,e.useHTML,void 0,"data-label")).addClass(" highcharts-data-label-color-"+t.colorIndex+" "+(e.className||"")+(e.useHTML?" highcharts-tracker":"")),T)){var E;T.options=e,T.attr(M),a.styledMode||T.css(A).shadow(e.shadow);let r=e[t.formatPrefix+"TextPath"]||e.textPath;r&&!e.useHTML&&(T.setTextPath((null===(E=t.getDataLabelPath)||void 0===E?void 0:E.call(t,T))||t.graphic,r),t.dataLabelPath&&!r.enabled&&(t.dataLabelPath=t.dataLabelPath.destroy())),T.added||T.add(i),s.alignDataLabel(t,T,e,void 0,P),T.isActive=!0,n[l]&&n[l]!==T&&n[l].destroy(),n[l]=T}}));let l=n.length;for(;l--;){var m;n[l]&&n[l].isActive?n[l].isActive=!1:(null!==(m=n[l])&&void 0!==m&&m.destroy(),n.splice(l,1))}t.dataLabel=n[0],t.dataLabels=n}))),l(this,"afterDrawDataLabels")}function x(t,e,i,s,n,r){let o,a,l=this.chart,h=e.align,c=e.verticalAlign,d=t.box?0:t.padding||0,{x:u=0,y:p=0}=e;return(o=(i.x||0)+d)<0&&("right"===h&&u>=0?(e.align="left",e.inside=!0):u-=o,a=!0),(o=(i.x||0)+s.width-d)>l.plotWidth&&("left"===h&&u<=0?(e.align="right",e.inside=!0):u+=l.plotWidth-o,a=!0),(o=i.y+d)<0&&("bottom"===c&&p>=0?(e.verticalAlign="top",e.inside=!0):p-=o,a=!0),(o=(i.y||0)+s.height-d)>l.plotHeight&&("top"===c&&p<=0?(e.verticalAlign="bottom",e.inside=!0):p+=l.plotHeight-o,a=!0),a&&(e.x=u,e.y=p,t.placed=!r,t.align(e,void 0,n)),a}function v(t,e){let i,s=[];if(h(t)&&!h(e))s=t.map((function(t){return d(t,e)}));else if(h(e)&&!h(t))s=e.map((function(e){return d(t,e)}));else if(h(t)||h(e)){if(h(t)&&h(e))for(i=Math.max(t.length,e.length);i--;)s[i]=d(t[i],e[i])}else s=d(t,e);return s}function b(t){var e,i;let s=t.chart.options.plotOptions;return g(v(v(null===s||void 0===s||null===(e=s.series)||void 0===e?void 0:e.dataLabels,null===s||void 0===s||null===(i=s[t.type])||void 0===i?void 0:i.dataLabels),t.options.dataLabels))}function S(t,e,i,s,n){let r=this.chart,o=r.inverted,a=this.xAxis,l=a.reversed,h=((o?e.height:e.width)||0)/2,c=t.pointWidth,d=c?c/2:0;e.startXPos=o?n.x:l?-h-d:a.width-h+d,e.startYPos=o?l?this.yAxis.height-h+d:-h-d:n.y,s?"hidden"===e.visibility&&(e.show(),e.attr({opacity:0}).animate({opacity:1})):e.attr({opacity:1}).animate({opacity:0},void 0,e.hide),r.hasRendered&&(i&&e.attr({x:e.startXPos,y:e.startYPos}),e.placed=!0)}t.compose=function(t){let n=t.prototype;n.initDataLabels||(n.initDataLabels=m,n.initDataLabelsGroup=s,n.alignDataLabel=i,n.drawDataLabels=y,n.justifyDataLabel=x,n.setDataLabelStartPos=S,n.hasDataLabels=e)}}(s||(s={})),s})),i(e,"Series/Column/ColumnDataLabel.js",[e["Core/Series/DataLabel.js"],e["Core/Globals.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],(function(t,e,i,s){var n;let{composed:r}=e,{series:o}=i,{merge:a,pick:l,pushUnique:h}=s;return function(e){function i(t,e,i,s,n){let r=this.chart.inverted,h=t.series,c=(h.xAxis?h.xAxis.len:this.chart.plotSizeX)||0,d=(h.yAxis?h.yAxis.len:this.chart.plotSizeY)||0,u=t.dlBox||t.shapeArgs,p=l(t.below,t.plotY>l(this.translatedThreshold,d)),f=l(i.inside,!!this.options.stacking);if(u){if(s=a(u),"allow"!==i.overflow||!1!==i.crop){s.y<0&&(s.height+=s.y,s.y=0);let t=s.y+s.height-d;t>0&&t\u25cf {series.name}
',pointFormat:"x: {point.x}
y: {point.y}
"}}})),i(e,"Series/Scatter/ScatterSeries.js",[e["Series/Scatter/ScatterSeriesDefaults.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],(function(t,e,i){let{column:s,line:n}=e.seriesTypes,{addEvent:r,extend:o,merge:a}=i;class l extends n{applyJitter(){let t=this,e=this.options.jitter,i=this.points.length;e&&this.points.forEach((function(s,n){["x","y"].forEach((function(r,o){let a,l,h,c,d="plot"+r.toUpperCase();e[r]&&!s.isNull&&(a=t[r+"Axis"],c=e[r]*a.transA,a&&!a.isLog&&(l=Math.max(0,s[d]-c),h=Math.min(a.len,s[d]+c),s[d]=l+(h-l)*function(t){let e=1e4*Math.sin(t);return e-Math.floor(e)}(n+o*i),"x"===r&&(s.clientX=s.plotX)))}))}))}drawGraph(){this.options.lineWidth?super.drawGraph():this.graph&&(this.graph=this.graph.destroy())}}return l.defaultOptions=a(n.defaultOptions,t),o(l.prototype,{drawTracker:s.prototype.drawTracker,sorted:!1,requireSorting:!1,noSharedTooltip:!0,trackerGroups:["group","markerGroup","dataLabelsGroup"]}),r(l,"afterTranslate",(function(){this.applyJitter()})),e.registerSeriesType("scatter",l),l})),i(e,"Series/CenteredUtilities.js",[e["Core/Globals.js"],e["Core/Series/Series.js"],e["Core/Utilities.js"]],(function(t,e,i){var s,n;let{deg2rad:r}=t,{fireEvent:o,isNumber:a,pick:l,relativeLength:h}=i;return(n=s||(s={})).getCenter=function(){let t,i,s,n=this.options,r=this.chart,c=2*(n.slicedOffset||0),d=r.plotWidth-2*c,u=r.plotHeight-2*c,p=n.center,f=Math.min(d,u),g=n.thickness,m=n.size,y=n.innerSize||0;"string"==typeof m&&(m=parseFloat(m)),"string"==typeof y&&(y=parseFloat(y));let x=[l(p[0],"50%"),l(p[1],"50%"),l(m&&m<0?void 0:n.size,"100%"),l(y&&y<0?void 0:n.innerSize||0,"0%")];for(!r.angular||this instanceof e||(x[3]=0),i=0;i<4;++i)s=x[i],t=i<2||2===i&&/%$/.test(s),x[i]=h(s,[d,u,f,x[2]][i])+(t?c:0);return x[3]>x[2]&&(x[3]=x[2]),a(g)&&2*g0&&(x[3]=x[2]-2*g),o(this,"afterGetCenter",{positions:x}),x},n.getStartAndEndRadians=function(t,e){let i=a(t)?t:0,s=a(e)&&e>i&&e-i<360?e:i+360;return{start:r*(i+-90),end:r*(s+-90)}},s})),i(e,"Series/Pie/PiePoint.js",[e["Core/Animation/AnimationUtilities.js"],e["Core/Series/Point.js"],e["Core/Utilities.js"]],(function(t,e,i){let{setAnimation:s}=t,{addEvent:n,defined:r,extend:o,isNumber:a,pick:l,relativeLength:h}=i;class c extends e{getConnectorPath(t){let e=t.dataLabelPosition,i=t.options||{},s=i.connectorShape,n=this.connectorShapes[s]||s;return e&&n.call(this,{...e.computed,alignment:e.alignment},e.connectorPosition,i)||[]}getTranslate(){return this.sliced&&this.slicedTranslation||{translateX:0,translateY:0}}haloPath(t){let e=this.shapeArgs;return this.sliced||!this.visible?[]:this.series.chart.renderer.symbols.arc(e.x,e.y,e.r+t,e.r+t,{innerR:e.r-1,start:e.start,end:e.end,borderRadius:e.borderRadius})}constructor(t,e,i){var s;super(t,e,i),this.half=0,null!==(s=this.name)&&void 0!==s||(this.name="Slice");let r=t=>{this.slice("select"===t.type)};n(this,"select",r),n(this,"unselect",r)}isValid(){return a(this.y)&&this.y>=0}setVisible(t){let e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];t!==this.visible&&this.update({visible:null!==t&&void 0!==t?t:!this.visible},e,void 0,!1)}slice(t,e,i){let n=this.series;s(i,n.chart),e=l(e,!0),this.sliced=this.options.sliced=t=r(t)?t:!this.sliced,n.options.data[n.data.indexOf(this)]=this.options,this.graphic&&this.graphic.animate(this.getTranslate())}}return o(c.prototype,{connectorShapes:{fixedOffset:function(t,e,i){let s=e.breakAt,n=e.touchingSliceAt,r=i.softConnector?["C",t.x+("left"===t.alignment?-5:5),t.y,2*s.x-n.x,2*s.y-n.y,s.x,s.y]:["L",s.x,s.y];return[["M",t.x,t.y],r,["L",n.x,n.y]]},straight:function(t,e){let i=e.touchingSliceAt;return[["M",t.x,t.y],["L",i.x,i.y]]},crookedLine:function(t,e,i){let{breakAt:s,touchingSliceAt:n}=e,{series:r}=this,[o,a,l]=r.center,c=l/2,{plotLeft:d,plotWidth:u}=r.chart,p="left"===t.alignment,{x:f,y:g}=t,m=s.x;if(i.crookDistance){let t=h(i.crookDistance,1);m=p?o+c+(u+d-o-c)*(1-t):d+(o-c)*t}else m=o+(a-g)*Math.tan((this.angle||0)-Math.PI/2);let y=[["M",f,g]];return(p?m<=f&&m>=s.x:m>=f&&m<=s.x)&&y.push(["L",m,g]),y.push(["L",s.x,s.y],["L",n.x,n.y]),y}}}),c})),i(e,"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}}}})),i(e,"Series/Pie/PieSeries.js",[e["Series/CenteredUtilities.js"],e["Series/Column/ColumnSeries.js"],e["Core/Globals.js"],e["Series/Pie/PiePoint.js"],e["Series/Pie/PieSeriesDefaults.js"],e["Core/Series/Series.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Renderer/SVG/Symbols.js"],e["Core/Utilities.js"]],(function(t,e,i,s,n,r,o,a,l){let{getStartAndEndRadians:h}=t,{noop:c}=i,{clamp:d,extend:u,fireEvent:p,merge:f,pick:g}=l;class m extends r{animate(t){let e=this,i=e.points,s=e.startAngleRad;t||i.forEach((function(t){let i=t.graphic,n=t.shapeArgs;i&&n&&(i.attr({r:g(t.startR,e.center&&e.center[3]/2),start:s,end:s}),i.animate({r:n.r,start:n.start,end:n.end},e.options.animation))}))}drawEmpty(){let t,e,i=this.startAngleRad,s=this.endAngleRad,n=this.options;0===this.total&&this.center?(t=this.center[0],e=this.center[1],this.graph||(this.graph=this.chart.renderer.arc(t,e,this.center[1]/2,0,i,s).addClass("highcharts-empty-series").add(this.group)),this.graph.attr({d:a.arc(t,e,this.center[2]/2,0,{start:i,end:s,innerR:this.center[3]/2})}),this.chart.styledMode||this.graph.attr({"stroke-width":n.borderWidth,fill:n.fillColor||"none",stroke:n.color||"#cccccc"})):this.graph&&(this.graph=this.graph.destroy())}drawPoints(){let t=this.chart.renderer;this.points.forEach((function(e){e.graphic&&e.hasNewShapeType()&&(e.graphic=e.graphic.destroy()),e.graphic||(e.graphic=t[e.shapeType](e.shapeArgs).add(e.series.group),e.delayedRendering=!0)}))}generatePoints(){super.generatePoints(),this.updateTotals()}getX(t,e,i,s){let n=this.center,r=this.radii?this.radii[i.index]||0:n[2]/2,o=s.dataLabelPosition,a=(null===o||void 0===o?void 0:o.distance)||0,l=Math.asin(d((t-n[1])/(r+a),-1,1));return n[0]+Math.cos(l)*(r+a)*(e?-1:1)+(a>0?(e?-1:1)*(s.padding||0):0)}hasData(){return!!this.processedXData.length}redrawPoints(){let t,e,i,s,n=this,r=n.chart;this.drawEmpty(),n.group&&!r.styledMode&&n.group.shadow(n.options.shadow),n.points.forEach((function(o){let a={};e=o.graphic,!o.isNull&&e?(s=o.shapeArgs,t=o.getTranslate(),r.styledMode||(i=n.pointAttribs(o,o.selected&&"select")),o.delayedRendering?(e.setRadialReference(n.center).attr(s).attr(t),r.styledMode||e.attr(i).attr({"stroke-linejoin":"round"}),o.delayedRendering=!1):(e.setRadialReference(n.center),r.styledMode||f(!0,a,i),f(!0,a,s,t),e.animate(a)),e.attr({visibility:o.visible?"inherit":"hidden"}),e.addClass(o.getClassName(),!0)):e&&(o.graphic=e.destroy())}))}sortByAngle(t,e){t.sort((function(t,i){return void 0!==t.angle&&(i.angle-t.angle)*e}))}translate(t){p(this,"translate"),this.generatePoints();let e,i,s,n,r,o,a,l=this.options,c=l.slicedOffset,d=h(l.startAngle,l.endAngle),u=this.startAngleRad=d.start,f=(this.endAngleRad=d.end)-u,g=this.points,m=l.ignoreHiddenPoint,y=g.length,x=0;for(t||(this.center=t=this.getCenter()),o=0;o1.5*Math.PI?s-=2*Math.PI:s<-Math.PI/2&&(s+=2*Math.PI),a.slicedTranslation={translateX:Math.round(Math.cos(s)*c),translateY:Math.round(Math.sin(s)*c)},n=Math.cos(s)*t[2]/2,r=Math.sin(s)*t[2]/2,a.tooltipPos=[t[0]+.7*n,t[1]+.7*r],a.half=s<-Math.PI/2||s>Math.PI/2?1:0,a.angle=s}p(this,"afterTranslate")}updateTotals(){let t,e,i=this.points,s=i.length,n=this.options.ignoreHiddenPoint,r=0;for(t=0;t0&&(e.visible||!n)?e.y/r*100:0,e.total=r}}return m.defaultOptions=f(r.defaultOptions,n),u(m.prototype,{axisTypes:[],directTouch:!0,drawGraph:void 0,drawTracker:e.prototype.drawTracker,getCenter:t.getCenter,getSymbol:c,invertible:!1,isCartesian:!1,noSharedTooltip:!0,pointAttribs:e.prototype.pointAttribs,pointClass:s,requireSorting:!1,searchPoint:c,trackerGroups:["group","dataLabelsGroup"]}),o.registerSeriesType("pie",m),m})),i(e,"Series/Pie/PieDataLabel.js",[e["Core/Series/DataLabel.js"],e["Core/Globals.js"],e["Core/Renderer/RendererUtilities.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],(function(t,e,i,s,n){var r;let{composed:o,noop:a}=e,{distribute:l}=i,{series:h}=s,{arrayMax:c,clamp:d,defined:u,pick:p,pushUnique:f,relativeLength:g}=n;return function(e){let i={radialDistributionY:function(t,e){var i;return((null===(i=e.dataLabelPosition)||void 0===i?void 0:i.top)||0)+t.distributeBox.pos},radialDistributionX:function(t,e,i,s,n){let r=n.dataLabelPosition;return t.getX(i<((null===r||void 0===r?void 0:r.top)||0)+2||i>((null===r||void 0===r?void 0:r.bottom)||0)-2?s:i,e.half,e,n)},justify:function(t,e,i,s){var n;return s[0]+(t.half?-1:1)*(i+((null===(n=e.dataLabelPosition)||void 0===n?void 0:n.distance)||0))},alignToPlotEdges:function(t,e,i,s){let n=t.getBBox().width;return e?n+s:i-n-s},alignToConnectors:function(t,e,i,s){let n,r=0;return t.forEach((function(t){(n=t.dataLabel.getBBox().width)>r&&(r=n)})),e?r+s:i-r-s}};function s(t,e){let{center:i,options:s}=this,n=i[2]/2,r=t.angle||0,o=Math.cos(r),a=Math.sin(r),l=i[0]+o*n,h=i[1]+a*n,c=Math.min((s.slicedOffset||0)+(s.borderWidth||0),e/5);return{natural:{x:l+o*e,y:h+a*e},computed:{},alignment:e<0?"center":t.half?"right":"left",connectorPosition:{breakAt:{x:l+o*c,y:h+a*c},touchingSliceAt:{x:l,y:h}},distance:e}}function n(){var t;let e,i,s,n=this,r=n.points,o=n.chart,a=o.plotWidth,d=o.plotHeight,f=o.plotLeft,m=Math.round(o.chartWidth/3),y=n.center,x=y[2]/2,v=y[1],b=[[],[]],S=[0,0,0,0],k=n.dataLabelPositioners,w=0;n.visible&&(null===(t=n.hasDataLabels)||void 0===t?void 0:t.call(n))&&(r.forEach((t=>{(t.dataLabels||[]).forEach((t=>{t.shortened&&(t.attr({width:"auto"}).css({width:"auto",textOverflow:"clip"}),t.shortened=!1)}))})),h.prototype.drawDataLabels.apply(n),r.forEach((t=>{(t.dataLabels||[]).forEach(((e,i)=>{var s;let n=y[2]/2,r=e.options,o=g((null===r||void 0===r?void 0:r.distance)||0,n);0===i&&b[t.half].push(t),!u(null===r||void 0===r||null===(s=r.style)||void 0===s?void 0:s.width)&&e.getBBox().width>m&&(e.css({width:Math.round(.7*m)+"px"}),e.shortened=!0),e.dataLabelPosition=this.getDataLabelPosition(t,o),w=Math.max(w,o)}))})),b.forEach(((t,e)=>{let r,h,c,g=t.length,m=[],b=0;g&&(n.sortByAngle(t,e-.5),w>0&&(r=Math.max(0,v-x-w),h=Math.min(v+x+w,o.plotHeight),t.forEach((t=>{(t.dataLabels||[]).forEach((e=>{var i;let s=e.dataLabelPosition;s&&s.distance>0&&(s.top=Math.max(0,v-x-s.distance),s.bottom=Math.min(v+x+s.distance,o.plotHeight),b=e.getBBox().height||21,t.distributeBox={target:((null===(i=e.dataLabelPosition)||void 0===i?void 0:i.natural.y)||0)-s.top+b/2,size:b,rank:t.y},m.push(t.distributeBox))}))})),l(m,c=h+b-r,c/5)),t.forEach((r=>{(r.dataLabels||[]).forEach((o=>{let l=o.options||{},h=r.distributeBox,c=o.dataLabelPosition,g=(null===c||void 0===c?void 0:c.natural.y)||0,v=l.connectorPadding||0,b=0,w=g,C="inherit";if(c){if(m&&u(h)&&c.distance>0&&(void 0===h.pos?C="hidden":(s=h.size,w=k.radialDistributionY(r,o))),l.justify)b=k.justify(r,o,x,y);else switch(l.alignTo){case"connectors":b=k.alignToConnectors(t,e,a,f);break;case"plotEdges":b=k.alignToPlotEdges(o,e,a,f);break;default:b=k.radialDistributionX(n,r,w,g,o)}if(c.attribs={visibility:C,align:c.alignment},c.posAttribs={x:b+(l.x||0)+({left:v,right:-v}[c.alignment]||0),y:w+(l.y||0)-o.getBBox().height/2},c.computed.x=b,c.computed.y=w,p(l.crop,!0)){let t;b-(i=o.getBBox().width)a-v&&0===e&&(t=Math.round(b+i-a+v),S[1]=Math.max(t,S[1])),w-s/2<0?S[0]=Math.max(Math.round(s/2-w),S[0]):w+s/2>d&&(S[2]=Math.max(Math.round(w+s/2-d),S[2])),c.sideOverflow=t}}}))})))})),(0===c(S)||this.verifyDataLabelOverflow(S))&&(this.placeDataLabels(),this.points.forEach((t=>{(t.dataLabels||[]).forEach((i=>{let{connectorColor:s,connectorWidth:r=1}=i.options||{},a=i.dataLabelPosition;if(r){var l;let h;e=i.connector,a&&a.distance>0?(h=!e,e||(i.connector=e=o.renderer.path().addClass("highcharts-data-label-connector highcharts-color-"+t.colorIndex+(t.className?" "+t.className:"")).add(n.dataLabelsGroup)),o.styledMode||e.attr({"stroke-width":r,stroke:s||t.color||"#666666"}),e[h?"attr":"animate"]({d:t.getConnectorPath(i)}),e.attr({visibility:null===(l=a.attribs)||void 0===l?void 0:l.visibility})):e&&(i.connector=e.destroy())}}))}))))}function r(){this.points.forEach((t=>{(t.dataLabels||[]).forEach((t=>{var e;let i=t.dataLabelPosition;i?(i.sideOverflow&&(t.css({width:Math.max(t.getBBox().width-i.sideOverflow,0)+"px",textOverflow:((null===(e=t.options)||void 0===e?void 0:e.style)||{}).textOverflow||"ellipsis"}),t.shortened=!0),t.attr(i.attribs),t[t.moved?"animate":"attr"](i.posAttribs),t.moved=!0):t&&t.attr({y:-9999})})),delete t.distributeBox}),this)}function m(t){let e=this.center,i=this.options,s=i.center,n=i.minSize||80,r=n,o=null!==i.size;return!o&&(null!==s[0]?r=Math.max(e[2]-Math.max(t[1],t[3]),n):(r=Math.max(e[2]-t[1]-t[3],n),e[0]+=(t[3]-t[1])/2),null!==s[1]?r=d(r,n,e[2]-Math.max(t[0],t[2])):(r=d(r,n,e[2]-t[0]-t[2]),e[1]+=(t[0]-t[2])/2),r!(e.x>=t.x+t.width||e.x+e.width<=t.x||e.y>=t.y+t.height||e.y+e.height<=t.y),c=!1;for(let i=0;i(e.labelrank||0)-(t.labelrank||0)));for(let i=0;i{s(t,(t=>{t.label&&e.push(t.label)}))}));for(let s of t.series||[]){var i;if(s.visible&&null!==(i=s.hasDataLabels)&&void 0!==i&&i.call(s)){let i=i=>{for(let s of i)s.visible&&(s.dataLabels||[]).forEach((i=>{var r,a;let l=i.options||{};i.labelrank=n(l.labelrank,s.labelrank,null===(r=s.shapeArgs)||void 0===r?void 0:r.height),(null!==(a=l.allowOverlap)&&void 0!==a?a:Number(l.distance)>0)?(i.oldOpacity=i.opacity,i.newOpacity=1,o(i,t)):e.push(i)}))};i(s.nodes||[]),i(s.points)}}this.hideOverlappingLabels(e)}return{compose:function(t){let i=t.prototype;i.hideOverlappingLabels||(i.hideOverlappingLabels=r,e(t,"render",a))}}})),i(e,"Extensions/BorderRadius.js",[e["Core/Defaults.js"],e["Core/Globals.js"],e["Core/Utilities.js"]],(function(t,e,i){let{defaultOptions:s}=t,{noop:n}=e,{addEvent:r,extend:o,isObject:a,merge:l,relativeLength:h}=i,c={radius:0,scope:"stack",where:void 0},d=n,u=n;function p(t,e,i,s){let n=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{},r=d(t,e,i,s,n),{innerR:o=0,r:a=i,start:l=0,end:c=0}=n;if(n.open||!n.borderRadius)return r;let u=c-l,p=Math.sin(u/2),f=Math.max(Math.min(h(n.borderRadius||0,a-o),(a-o)/2,a*p/(1+p)),0),g=Math.min(f,u/Math.PI*2*o),m=r.length-1;for(;m--;)!function(t,e,i){let s,n,r,o=t[e],a=t[e+1];if("Z"===a[0]&&(a=t[0]),"M"!==o[0]&&"L"!==o[0]||"A"!==a[0]?"A"===o[0]&&("M"===a[0]||"L"===a[0])&&(s=a,n=o):(s=o,n=a,r=!0),s&&n&&n.params){let o=n[1],a=n[5],l=n.params,{start:h,end:c,cx:d,cy:u}=l,p=a?o-i:o+i,f=p?Math.asin(i/p):0,g=a?f:-f,m=Math.cos(f)*p;r?(l.start=h+g,s[1]=d+m*Math.cos(h),s[2]=u+m*Math.sin(h),t.splice(e+1,0,["A",i,i,0,0,1,d+o*Math.cos(l.start),u+o*Math.sin(l.start)])):(l.end=c-g,n[6]=d+o*Math.cos(l.end),n[7]=u+o*Math.sin(l.end),t.splice(e+1,0,["A",i,i,0,0,1,d+m*Math.cos(c),u+m*Math.sin(c)])),n[4]=Math.abs(l.end-l.start)1?g:f);return r}function f(){if(this.options.borderRadius&&(!this.chart.is3d||!this.chart.is3d())){var t;let{options:e,yAxis:i}=this,n="percent"===e.stacking,r=null===(t=s.plotOptions)||void 0===t||null===(t=t[this.type])||void 0===t?void 0:t.borderRadius,l=g(e.borderRadius,a(r)?r:{}),c=i.options.reversed;for(let t of this.points){let{shapeArgs:s}=t;if("roundedRect"===t.shapeType&&s){let{width:r=0,height:a=0,y:d=0}=s,u=d,p=a;if("stack"===l.scope&&t.stackTotal){let s=i.translate(n?100:t.stackTotal,!1,!0,!1,!0),r=i.translate(e.threshold||0,!1,!0,!1,!0),o=this.crispCol(0,Math.min(s,r),0,Math.abs(s-r));u=o.y,p=o.height}let f=(t.negative?-1:1)*(c?-1:1)==-1,g=l.where;!g&&this.is("waterfall")&&Math.abs((t.yBottom||0)-(this.translatedThreshold||0))>this.borderWidth&&(g="all"),g||(g="end");let m=Math.min(h(l.radius,r),r/2,"all"===g?a/2:1/0)||0;"end"===g&&(f&&(u-=m),p+=m),o(s,{brBoxHeight:p,brBoxY:u,r:m})}}}}function g(t,e){return a(t)||(t={radius:t||0}),l(c,e,t)}function m(){let t=g(this.options.borderRadius);for(let e of this.points){let i=e.shapeArgs;i&&(i.borderRadius=h(t.radius,(i.r||0)-(i.innerR||0)))}}function y(t,e,i,s){let n=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{},r=u(t,e,i,s,n),{r:o=0,brBoxHeight:a=s,brBoxY:l=e}=n,h=e-l,c=l+a-(e+s),d=h-o>-.1?0:o,p=c-o>-.1?0:o,f=Math.max(d&&h,0),g=Math.max(p&&c,0),m=[t+d,e],y=[t+i-d,e],x=[t+i,e+d],v=[t+i,e+s-p],b=[t+i-p,e+s],S=[t+p,e+s],k=[t,e+s-p],w=[t,e+d],C=(t,e)=>Math.sqrt(Math.pow(t,2)-Math.pow(e,2));if(f){let t=C(d,d-f);m[0]-=t,y[0]+=t,x[1]=w[1]=e+d-f}if(s=o(i.minWidth,0)&&this.chartHeight>=o(i.minHeight,0)}).call(this)&&e.push(t._id)}function l(t,e){let s,o=this.options.responsive,l=this.currentResponsive,h=[];!e&&o&&o.rules&&o.rules.forEach((t=>{void 0===t._id&&(t._id=a()),this.matchResponsiveRule(t,h)}),this);let c=r(...h.map((t=>n((o||{}).rules||[],(e=>e._id===t)))).map((t=>t&&t.chartOptions)));c.isResponsiveOptions=!0,h=h.toString()||void 0;let d=l&&l.ruleIds;h!==d&&(l&&this.update(l.undoOptions,t,!0),h?((s=i(c,this.options,!0,this.collectionsWithUpdate)).isResponsiveOptions=!0,this.currentResponsive={ruleIds:h,mergedOptions:c,undoOptions:s},this.update(c,t,!0)):this.currentResponsive=void 0)}t.compose=function(t){let i=t.prototype;return i.matchResponsiveRule||s(i,{matchResponsiveRule:e,setResponsive:l}),t}}(e||(e={})),e})),i(e,"masters/highcharts.src.js",[e["Core/Globals.js"],e["Core/Utilities.js"],e["Core/Defaults.js"],e["Core/Animation/Fx.js"],e["Core/Animation/AnimationUtilities.js"],e["Core/Renderer/HTML/AST.js"],e["Core/Templating.js"],e["Core/Renderer/RendererRegistry.js"],e["Core/Renderer/RendererUtilities.js"],e["Core/Renderer/SVG/SVGElement.js"],e["Core/Renderer/SVG/SVGRenderer.js"],e["Core/Renderer/HTML/HTMLElement.js"],e["Core/Axis/Axis.js"],e["Core/Axis/DateTimeAxis.js"],e["Core/Axis/LogarithmicAxis.js"],e["Core/Axis/PlotLineOrBand/PlotLineOrBand.js"],e["Core/Axis/Tick.js"],e["Core/Tooltip.js"],e["Core/Series/Point.js"],e["Core/Pointer.js"],e["Core/Legend/Legend.js"],e["Core/Legend/LegendSymbol.js"],e["Core/Chart/Chart.js"],e["Extensions/ScrollablePlotArea.js"],e["Core/Axis/Stacking/StackingAxis.js"],e["Core/Axis/Stacking/StackItem.js"],e["Core/Series/Series.js"],e["Core/Series/SeriesRegistry.js"],e["Series/Column/ColumnDataLabel.js"],e["Series/Pie/PieDataLabel.js"],e["Core/Series/DataLabel.js"],e["Extensions/OverlappingDataLabels.js"],e["Extensions/BorderRadius.js"],e["Core/Responsive.js"],e["Core/Color/Color.js"],e["Core/Time.js"]],(function(t,e,i,s,n,r,o,a,l,h,c,d,u,p,f,g,m,y,x,v,b,S,k,w,C,A,M,T,P,E,O,L,D,j,N,R){return t.AST=r,t.Axis=u,t.Chart=k,t.Color=N,t.DataLabel=O,t.Fx=s,t.HTMLElement=d,t.Legend=b,t.LegendSymbol=S,t.OverlappingDataLabels=t.OverlappingDataLabels||L,t.PlotLineOrBand=g,t.Point=x,t.Pointer=v,t.RendererRegistry=a,t.Series=M,t.SeriesRegistry=T,t.StackItem=A,t.SVGElement=h,t.SVGRenderer=c,t.Templating=o,t.Tick=m,t.Time=R,t.Tooltip=y,t.animate=n.animate,t.animObject=n.animObject,t.chart=k.chart,t.color=N.parse,t.dateFormat=o.dateFormat,t.defaultOptions=i.defaultOptions,t.distribute=l.distribute,t.format=o.format,t.getDeferredAnimation=n.getDeferredAnimation,t.getOptions=i.getOptions,t.numberFormat=o.numberFormat,t.seriesType=T.seriesType,t.setAnimation=n.setAnimation,t.setOptions=i.setOptions,t.stop=n.stop,t.time=i.defaultTime,t.timers=s.timers,D.compose(t.Series,t.SVGElement,t.SVGRenderer),P.compose(t.Series.types.column),O.compose(t.Series),p.compose(t.Axis),d.compose(t.SVGRenderer),b.compose(t.Chart),f.compose(t.Axis),L.compose(t.Chart),E.compose(t.Series.types.pie),g.compose(t.Axis),v.compose(t.Chart),j.compose(t.Chart),w.compose(t.Axis,t.Chart,t.Series),C.compose(t.Axis,t.Chart,t.Series),y.compose(t.Pointer),e.extend(t,e),t})),i(e,"Series/DataModifyComposition.js",[e["Core/Axis/Axis.js"],e["Core/Series/Point.js"],e["Core/Series/Series.js"],e["Core/Utilities.js"]],(function(t,e,i,s){var n;let{tooltipFormatter:r}=e.prototype,{addEvent:o,arrayMax:a,arrayMin:l,correctFloat:h,defined:c,isArray:d,isNumber:u,isString:p,pick:f}=s;return function(t){function e(t,e,i){!this.isXAxis&&(this.series.forEach((function(i){"compare"===t&&"boolean"!=typeof e?i.setCompare(e,!1):"cumulative"!==t||p(e)||i.setCumulative(e,!1)})),f(i,!0)&&this.chart.redraw())}function i(t){let e=this,{numberFormatter:i}=e.series.chart,s=function(s){t=t.replace("{point."+s+"}",(e[s]>0&&"change"===s?"+":"")+i(e[s],f(e.series.tooltipOptions.changeDecimals,2)))};return c(e.change)&&s("change"),c(e.cumulativeSum)&&s("cumulativeSum"),r.apply(this,[t])}function s(){let t,e=this.options.compare;("percent"===e||"value"===e||this.options.cumulative)&&(t=new b(this),"percent"===e||"value"===e?t.initCompare(e):t.initCumulative()),this.dataModify=t}function n(t){let e=t.dataExtremes,i=e.activeYData;if(this.dataModify&&e){let t;this.options.compare?t=[this.dataModify.modifyValue(e.dataMin),this.dataModify.modifyValue(e.dataMax)]:this.options.cumulative&&d(i)&&i.length>=2&&(t=b.getCumulativeExtremes(i)),t&&(e.dataMin=l(t),e.dataMax=a(t))}}function g(t,e){this.options.compare=this.userOptions.compare=t,this.update({},f(e,!0)),!this.dataModify||"value"!==t&&"percent"!==t?this.points.forEach((t=>{delete t.change})):this.dataModify.initCompare(t)}function m(){if(this.xAxis&&this.processedYData&&this.dataModify){let t,e=this.processedXData,i=this.processedYData,s=i.length,n=!0===this.options.compareStart?0:1,r=-1;for(this.pointArrayMap&&(r=this.pointArrayMap.indexOf(this.options.pointValKey||this.pointValKey||"y")),t=0;t-1?i[t][r]:i[t];if(u(s)&&0!==s&&e[t+n]>=(this.xAxis.min||0)){this.dataModify.compareValue=s;break}}}}function y(t,e){this.setModifier("compare",t,e)}function x(t,e){t=f(t,!1),this.options.cumulative=this.userOptions.cumulative=t,this.update({},f(e,!0)),this.dataModify?this.dataModify.initCumulative():this.points.forEach((t=>{delete t.cumulativeSum}))}function v(t,e){this.setModifier("cumulative",t,e)}t.compose=function(t,r,a){let l=r.prototype,h=a.prototype,c=t.prototype;return c.setCompare||(c.setCompare=g,c.setCumulative=x,o(t,"afterInit",s),o(t,"afterGetExtremes",n),o(t,"afterProcessData",m)),l.setCompare||(l.setCompare=y,l.setModifier=e,l.setCumulative=v,h.tooltipFormatter=i),t};class b{constructor(t){this.series=t}modifyValue(){return 0}static getCumulativeExtremes(t){let e=1/0,i=-1/0;return t.reduce(((t,s)=>{let n=t+s;return e=Math.min(e,n,t),i=Math.max(i,n,t),n})),[e,i]}initCompare(t){this.modifyValue=function(e,i){null===e&&(e=0);let s=this.compareValue;if(void 0!==e&&void 0!==s){if("value"===t?e-=s:e=e/s*100-(100===this.series.options.compareBase?0:100),void 0!==i){let t=this.series.points[i];t&&(t.change=e)}return e}return 0}}initCumulative(){this.modifyValue=function(t,e){if(null===t&&(t=0),void 0!==t&&void 0!==e){let i=e>0?this.series.points[e-1]:null;i&&i.cumulativeSum&&(t=h(i.cumulativeSum+t));let s=this.series.points[e];return s&&(s.cumulativeSum=t),t}return 0}}}t.Additions=b}(n||(n={})),n})),i(e,"Stock/Navigator/ChartNavigatorComposition.js",[e["Core/Globals.js"],e["Core/Utilities.js"]],(function(t,e){let i,{isTouchDevice:s}=t,{addEvent:n,merge:r,pick:o}=e,a=[];function l(){this.navigator&&this.navigator.setBaseSeries(null,!1)}function h(){let t,e,i,s=this.legend,n=this.navigator;if(n){var r;t=s&&s.options,e=n.xAxis,i=n.yAxis;let{scrollbarHeight:a,scrollButtonSize:l}=n;this.inverted?(n.left=n.opposite?this.chartWidth-a-n.height:this.spacing[3]+a,n.top=this.plotTop+l):(n.left=o(e.left,this.plotLeft+l),n.top=n.navigatorOptions.top||this.chartHeight-n.height-a-((null===(r=this.scrollbar)||void 0===r?void 0:r.options.margin)||0)-this.spacing[2]-(this.rangeSelector&&this.extraBottomMargin?this.rangeSelector.getHeight():0)-(t&&"bottom"===t.verticalAlign&&"proximate"!==t.layout&&t.enabled&&!t.floating?s.legendHeight+o(t.margin,10):0)-(this.titleOffset?this.titleOffset[2]:0)),e&&i&&(this.inverted?e.options.left=i.options.left=n.left:e.options.top=i.options.top=n.top,e.setAxisSize(),i.setAxisSize())}}function c(t){!this.navigator&&!this.scroller&&(this.options.navigator.enabled||this.options.scrollbar.enabled)&&(this.scroller=this.navigator=new i(this),o(t.redraw,!0)&&this.redraw(t.animation))}function d(){let t=this.options;(t.navigator.enabled||t.scrollbar.enabled)&&(this.scroller=this.navigator=new i(this))}function u(){let t=this.options,e=t.navigator,i=t.rangeSelector;if((e&&e.enabled||i&&i.enabled)&&(!s&&"x"===this.zooming.type||s&&"x"===this.zooming.pinchType))return!1}function p(t){let e=t.navigator;if(e&&t.xAxis[0]){let i=t.xAxis[0].getExtremes();e.render(i.min,i.max)}}function f(t){let e=t.options.navigator||{},i=t.options.scrollbar||{};!this.navigator&&!this.scroller&&(e.enabled||i.enabled)&&(r(!0,this.options.navigator,e),r(!0,this.options.scrollbar,i),delete t.options.navigator,delete t.options.scrollbar)}return{compose:function(t,s){if(e.pushUnique(a,t)){let e=t.prototype;i=s,e.callbacks.push(p),n(t,"afterAddSeries",l),n(t,"afterSetChartSize",h),n(t,"afterUpdate",c),n(t,"beforeRender",d),n(t,"beforeShowResetZoom",u),n(t,"update",f)}}}})),i(e,"Core/Axis/NavigatorAxisComposition.js",[e["Core/Globals.js"],e["Core/Utilities.js"]],(function(t,e){let{isTouchDevice:i}=t,{addEvent:s,correctFloat:n,defined:r,isNumber:o,pick:a}=e;function l(){this.navigatorAxis||(this.navigatorAxis=new c(this))}function h(t){let e,s=this.chart,n=s.options,o=n.navigator,a=this.navigatorAxis,l=s.zooming.pinchType,h=n.rangeSelector,c=s.zooming.type;if(this.isXAxis&&(null!==o&&void 0!==o&&o.enabled||null!==h&&void 0!==h&&h.enabled))if("y"===c&&"zoom"===t.trigger)e=!1;else if(("zoom"===t.trigger&&"xy"===c||i&&"xy"===l)&&this.options.range){let e=a.previousZoom;r(t.min)?a.previousZoom=[this.min,this.max]:e&&(t.min=e[0],t.max=e[1],a.previousZoom=void 0)}void 0!==e&&t.preventDefault()}class c{static compose(t){t.keepProps.includes("navigatorAxis")||(t.keepProps.push("navigatorAxis"),s(t,"init",l),s(t,"setExtremes",h))}constructor(t){this.axis=t}destroy(){this.axis=void 0}toFixedRange(t,e,i,s){var l;let h=this.axis,c=h.chart,d=a(null===(l=h.ordinal)||void 0===l?void 0:l.convertOverscroll(h.options.overscroll),0),u=a(i,h.translate(t,!0,!h.horiz)),p=a(s,h.translate(e,!0,!h.horiz)),f=c&&c.fixedRange,g=(h.pointRange||0)/2;if(r(i)||(u=n(u+g)),r(s)||(p=n(p-g)),f&&h.dataMin&&h.dataMax){let t=h.dataMax+d;p>=t&&(u=n(t-f),p=n(t)),u<=h.dataMin&&(p=n(h.dataMin+f))}return o(u)&&o(p)||(u=p=void 0),{min:u,max:p}}}return c})),i(e,"Stock/Navigator/NavigatorDefaults.js",[e["Core/Color/Color.js"],e["Core/Series/SeriesRegistry.js"]],(function(t,e){let{parse:i}=t,{seriesTypes:s}=e;return{height:40,margin:25,maskInside:!0,handles:{width:7,height:15,symbols:["navigator-handle","navigator-handle"],enabled:!0,lineWidth:1,backgroundColor:"#f2f2f2",borderColor:"#999999"},maskFill:i("#667aff").setOpacity(.3).get(),outlineColor:"#999999",outlineWidth:1,series:{type:void 0===s.areaspline?"line":"areaspline",fillOpacity:.05,lineWidth:1,compare:null,sonification:{enabled:!1},dataGrouping:{approximation:"average",enabled:!0,groupPixelWidth:2,firstAnchor:"firstPoint",anchor:"middle",lastAnchor:"lastPoint",units:[["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,3,4]],["week",[1,2,3]],["month",[1,3,6]],["year",null]]},dataLabels:{enabled:!1,zIndex:2},id:"highcharts-navigator-series",className:"highcharts-navigator-series",lineColor:null,marker:{enabled:!1},threshold:null},xAxis:{className:"highcharts-navigator-xaxis",tickLength:0,lineWidth:0,gridLineColor:"#e6e6e6",gridLineWidth:1,tickPixelInterval:200,labels:{align:"left",style:{color:"#000000",fontSize:"0.7em",opacity:.6,textOutline:"2px contrast"},x:3,y:-4},crosshair:!1},yAxis:{className:"highcharts-navigator-yaxis",gridLineWidth:0,startOnTick:!1,endOnTick:!1,minPadding:.1,maxPadding:.1,labels:{enabled:!1},crosshair:!1,title:{text:null},tickLength:0,tickWidth:0}}})),i(e,"Stock/Navigator/NavigatorSymbols.js",[],(function(){return{"navigator-handle":function(t,e,i,s){let n=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{},r=n.width?n.width/2:i,o=Math.round(r/3)+.5;return[["M",-r-1,.5],["L",r,.5],["L",r,(s=n.height||s)+.5],["L",-r-1,s+.5],["L",-r-1,.5],["M",-o,4],["L",-o,s-3],["M",o-1,4],["L",o-1,s-3]]}}})),i(e,"Stock/Utilities/StockUtilities.js",[e["Core/Utilities.js"]],(function(t){let{defined:e}=t;return{setFixedRange:function(t){let i=this.xAxis[0];e(i.dataMax)&&e(i.dataMin)&&t?this.fixedRange=Math.min(t,i.dataMax-i.dataMin):this.fixedRange=t}}})),i(e,"Stock/Navigator/NavigatorComposition.js",[e["Core/Defaults.js"],e["Core/Globals.js"],e["Core/Axis/NavigatorAxisComposition.js"],e["Stock/Navigator/NavigatorDefaults.js"],e["Stock/Navigator/NavigatorSymbols.js"],e["Core/Renderer/RendererRegistry.js"],e["Stock/Utilities/StockUtilities.js"],e["Core/Utilities.js"]],(function(t,e,i,s,n,r,o,a){let{setOptions:l}=t,{composed:h}=e,{getRendererType:c}=r,{setFixedRange:d}=o,{addEvent:u,extend:p,pushUnique:f}=a;function g(){this.chart.navigator&&!this.options.isInternal&&this.chart.navigator.setBaseSeries(null,!1)}return{compose:function(t,e,r){i.compose(e),f(h,"Navigator")&&(t.prototype.setFixedRange=d,p(c().prototype.symbols,n),u(r,"afterUpdate",g),l({navigator:s}))}}})),i(e,"Core/Axis/ScrollbarAxis.js",[e["Core/Globals.js"],e["Core/Utilities.js"]],(function(t,e){var i;let{composed:s}=t,{addEvent:n,defined:r,pick:o,pushUnique:a}=e;return function(t){let e;function i(t){let e=o(t.options&&t.options.min,t.min),i=o(t.options&&t.options.max,t.max);return{axisMin:e,axisMax:i,scrollMin:r(t.dataMin)?Math.min(e,t.min,t.dataMin,o(t.threshold,1/0)):e,scrollMax:r(t.dataMax)?Math.max(i,t.max,t.dataMax,o(t.threshold,-1/0)):i}}function l(){let t=this.scrollbar,e=t&&!t.options.opposite,i=this.horiz?2:e?3:1;t&&(this.chart.scrollbarsOffsets=[0,0],this.chart.axisOffset[i]+=t.size+(t.options.margin||0))}function h(){let t=this;t.options&&t.options.scrollbar&&t.options.scrollbar.enabled&&(t.options.scrollbar.vertical=!t.horiz,t.options.startOnTick=t.options.endOnTick=!1,t.scrollbar=new e(t.chart.renderer,t.options.scrollbar,t.chart),n(t.scrollbar,"changed",(function(e){let s,n,{axisMin:o,axisMax:a,scrollMin:l,scrollMax:h}=i(t),c=h-l;if(r(o)&&r(a))if(t.horiz&&!t.reversed||!t.horiz&&t.reversed?(s=l+c*this.to,n=l+c*this.from):(s=l+c*(1-this.from),n=l+c*(1-this.to)),this.shouldUpdateExtremes(e.DOMType)){let i="mousemove"!==e.DOMType&&"touchmove"!==e.DOMType&&void 0;t.setExtremes(n,s,!0,i,e)}else this.setRange(this.from,this.to)})))}function c(){let t,e,s,{scrollMin:n,scrollMax:o}=i(this),a=this.scrollbar,l=this.axisTitleMargin+(this.titleOffset||0),h=this.chart.scrollbarsOffsets,c=this.options.margin||0;if(a&&h){if(this.horiz)this.opposite||(h[1]+=l),a.position(this.left,this.top+this.height+2+h[1]-(this.opposite?c:0),this.width,this.height),this.opposite||(h[1]+=c),t=1;else{let e;this.opposite&&(h[0]+=l),e=a.options.opposite?this.left+this.width+2+h[0]-(this.opposite?0:c):this.opposite?0:c,a.position(e,this.top,this.width,this.height),this.opposite&&(h[0]+=c),t=0}h[t]+=a.size+(a.options.margin||0),isNaN(n)||isNaN(o)||!r(this.min)||!r(this.max)||this.min===this.max?a.setRange(0,1):(e=(this.min-n)/(o-n),s=(this.max-n)/(o-n),this.horiz&&!this.reversed||!this.horiz&&this.reversed?a.setRange(e,s):a.setRange(1-s,1-e))}}t.compose=function(t,i){a(s,"Axis.Scrollbar")&&(e=i,n(t,"afterGetOffset",l),n(t,"afterInit",h),n(t,"afterRender",c))}}(i||(i={})),i})),i(e,"Stock/Scrollbar/ScrollbarDefaults.js",[],(function(){return{height:10,barBorderRadius:5,buttonBorderRadius:0,buttonsEnabled:!1,liveRedraw:void 0,margin:void 0,minWidth:6,opposite:!0,step:.2,zIndex:3,barBackgroundColor:"#cccccc",barBorderWidth:0,barBorderColor:"#cccccc",buttonArrowColor:"#333333",buttonBackgroundColor:"#e6e6e6",buttonBorderColor:"#cccccc",buttonBorderWidth:1,rifleColor:"none",trackBackgroundColor:"rgba(255, 255, 255, 0.001)",trackBorderColor:"#cccccc",trackBorderRadius:5,trackBorderWidth:1}})),i(e,"Stock/Scrollbar/Scrollbar.js",[e["Core/Defaults.js"],e["Core/Globals.js"],e["Core/Axis/ScrollbarAxis.js"],e["Stock/Scrollbar/ScrollbarDefaults.js"],e["Core/Utilities.js"]],(function(t,e,i,s,n){let{defaultOptions:r}=t,{addEvent:o,correctFloat:a,defined:l,destroyObjectProperties:h,fireEvent:c,merge:d,pick:u,removeEvent:p}=n;class f{static compose(t){i.compose(t,f)}static swapXY(t,e){return e&&t.forEach((t=>{let e,i=t.length;for(let s=0;sthis.calculatedWidth?e.minWidth:0;return{chartX:(t.chartX-this.x-this.xOffset)/(this.barWidth-i),chartY:(t.chartY-this.y-this.yOffset)/(this.barWidth-i)}}destroy(){let t=this,e=t.chart.scroller;t.removeEvents(),["track","scrollbarRifles","scrollbar","scrollbarGroup","group"].forEach((function(e){t[e]&&t[e].destroy&&(t[e]=t[e].destroy())})),e&&t===e.scrollbar&&(e.scrollbar=null,h(e.scrollbarButtons))}drawScrollbarButton(t){let e=this.renderer,i=this.scrollbarButtons,s=this.options,n=this.size,r=e.g().add(this.group);if(i.push(r),s.buttonsEnabled){let o=e.rect().addClass("highcharts-scrollbar-button").add(r);this.chart.styledMode||o.attr({stroke:s.buttonBorderColor,"stroke-width":s.buttonBorderWidth,fill:s.buttonBackgroundColor}),o.attr(o.crisp({x:-.5,y:-.5,width:n+1,height:n+1,r:s.buttonBorderRadius},o.strokeWidth()));let a=e.path(f.swapXY([["M",n/2+(t?-1:1),n/2-3],["L",n/2+(t?-1:1),n/2+3],["L",n/2+(t?2:-2),n/2]],s.vertical)).addClass("highcharts-scrollbar-arrow").add(i[t]);this.chart.styledMode||a.attr({fill:s.buttonArrowColor})}}init(t,e,i){this.scrollbarButtons=[],this.renderer=t,this.userOptions=e,this.options=d(s,r.scrollbar,e),this.options.margin=u(this.options.margin,10),this.chart=i,this.size=u(this.options.size,this.options.height),e.enabled&&(this.render(),this.addEvents())}mouseDownHandler(t){var e;let i=(null===(e=this.chart.pointer)||void 0===e?void 0:e.normalize(t))||t,s=this.cursorToScrollbarPosition(i);this.chartX=s.chartX,this.chartY=s.chartY,this.initPositions=[this.from,this.to],this.grabbedCenter=!0}mouseMoveHandler(t){var e;let i,s=(null===(e=this.chart.pointer)||void 0===e?void 0:e.normalize(t))||t,n=this.options.vertical?"chartY":"chartX",r=this.initPositions||[];this.grabbedCenter&&(!t.touches||0!==t.touches[0][n])&&(i=this.cursorToScrollbarPosition(s)[n]-this[n],this.hasDragged=!0,this.updatePosition(r[0]+i,r[1]+i),this.hasDragged&&c(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMType:t.type,DOMEvent:t}))}mouseUpHandler(t){this.hasDragged&&c(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMType:t.type,DOMEvent:t}),this.grabbedCenter=this.hasDragged=this.chartX=this.chartY=null}position(t,e,i,s){let{buttonsEnabled:n,margin:r=0,vertical:o}=this.options,a=this.rendered?"animate":"attr",l=s,h=0;this.group.show(),this.x=t,this.y=e+this.trackBorderWidth,this.width=i,this.height=s,this.xOffset=l,this.yOffset=h,o?(this.width=this.yOffset=i=h=this.size,this.xOffset=l=0,this.yOffset=h=n?this.size:0,this.barWidth=s-(n?2*i:0),this.x=t+=r):(this.height=s=this.size,this.xOffset=l=n?this.size:0,this.barWidth=i-(n?2*s:0),this.y=this.y+r),this.group[a]({translateX:t,translateY:this.y}),this.track[a]({width:i,height:s}),this.scrollbarButtons[1][a]({translateX:o?0:i-l,translateY:o?s-h:0})}removeEvents(){this._events.forEach((function(t){p.apply(null,t)})),this._events.length=0}render(){let t=this.renderer,e=this.options,i=this.size,s=this.chart.styledMode,n=t.g("scrollbar").attr({zIndex:e.zIndex}).hide().add();this.group=n,this.track=t.rect().addClass("highcharts-scrollbar-track").attr({r:e.trackBorderRadius||0,height:i,width:i}).add(n),s||this.track.attr({fill:e.trackBackgroundColor,stroke:e.trackBorderColor,"stroke-width":e.trackBorderWidth});let r=this.trackBorderWidth=this.track.strokeWidth();this.track.attr({x:-r%2/2,y:-r%2/2}),this.scrollbarGroup=t.g().add(n),this.scrollbar=t.rect().addClass("highcharts-scrollbar-thumb").attr({height:i-r,width:i-r,r:e.barBorderRadius||0}).add(this.scrollbarGroup),this.scrollbarRifles=t.path(f.swapXY([["M",-3,i/4],["L",-3,2*i/3],["M",0,i/4],["L",0,2*i/3],["M",3,i/4],["L",3,2*i/3]],e.vertical)).addClass("highcharts-scrollbar-rifles").add(this.scrollbarGroup),s||(this.scrollbar.attr({fill:e.barBackgroundColor,stroke:e.barBorderColor,"stroke-width":e.barBorderWidth}),this.scrollbarRifles.attr({stroke:e.rifleColor,"stroke-width":1})),this.scrollbarStrokeWidth=this.scrollbar.strokeWidth(),this.scrollbarGroup.translate(-this.scrollbarStrokeWidth%2/2,-this.scrollbarStrokeWidth%2/2),this.drawScrollbarButton(0),this.drawScrollbarButton(1)}setRange(t,e){let i,s,n=this.options,r=n.vertical,o=n.minWidth,h=this.barWidth,c=!this.rendered||this.hasDragged||this.chart.navigator&&this.chart.navigator.hasDragged?"attr":"animate";if(!l(h))return;let d=h*Math.min(e,1);i=Math.ceil(h*(t=Math.max(t,0))),this.calculatedWidth=s=a(d-i),s=1?this.group.hide():this.group.show()),this.rendered=!0}shouldUpdateExtremes(t){return u(this.options.liveRedraw,e.svg&&!e.isTouchDevice&&!this.chart.boosted)||"mouseup"===t||"touchend"===t||!l(t)}trackClick(t){var e;let i=(null===(e=this.chart.pointer)||void 0===e?void 0:e.normalize(t))||t,s=this.to-this.from,n=this.y+this.scrollbarTop,r=this.x+this.scrollbarLeft;this.options.vertical&&i.chartY>n||!this.options.vertical&&i.chartX>r?this.updatePosition(this.from+s,this.to+s):this.updatePosition(this.from-s,this.to-s),c(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMEvent:t})}update(t){this.destroy(),this.init(this.chart.renderer,d(!0,this.options,t),this.chart)}updatePosition(t,e){e>1&&(t=a(1-a(e-t)),e=1),t<0&&(e=a(e-t),t=0),this.from=t,this.to=e}}return f.defaultOptions=s,r.scrollbar=d(!0,f.defaultOptions,r.scrollbar),f})),i(e,"Stock/Navigator/Navigator.js",[e["Core/Axis/Axis.js"],e["Stock/Navigator/ChartNavigatorComposition.js"],e["Core/Defaults.js"],e["Core/Globals.js"],e["Core/Axis/NavigatorAxisComposition.js"],e["Stock/Navigator/NavigatorComposition.js"],e["Stock/Scrollbar/Scrollbar.js"],e["Core/Utilities.js"]],(function(t,e,i,s,n,r,o,a){let{defaultOptions:l}=i,{isTouchDevice:h}=s,{addEvent:c,clamp:d,correctFloat:u,defined:p,destroyObjectProperties:f,erase:g,extend:m,find:y,fireEvent:x,isArray:v,isNumber:b,merge:S,pick:k,removeEvent:w,splat:C}=a;function A(t){for(var e=arguments.length,i=new Array(e>1?e-1:0),s=1;s{t[s]({x:o[e],y:a[e],width:r[e],height:n[e]})}))}renderElements(){let t=this,e=t.navigatorOptions,i=e.maskInside,s=t.chart,n=s.inverted,r=s.renderer,o={cursor:n?"ns-resize":"ew-resize"},a=t.navigatorGroup=r.g("navigator").attr({zIndex:8,visibility:"hidden"}).add();if([!i,i,!i].forEach(((i,n)=>{let l=r.rect().addClass("highcharts-navigator-mask"+(1===n?"-inside":"-outside")).add(a);s.styledMode||(l.attr({fill:i?e.maskFill:"rgba(0,0,0,0)"}),1===n&&l.css(o)),t.shades[n]=l})),t.outline=r.path().addClass("highcharts-navigator-outline").add(a),s.styledMode||t.outline.attr({"stroke-width":e.outlineWidth,stroke:e.outlineColor}),e.handles&&e.handles.enabled){let i=e.handles,{height:n,width:l}=i;[0,1].forEach((e=>{t.handles[e]=r.symbol(i.symbols[e],-l/2-1,0,l,n,i),s.inverted&&t.handles[e].attr({rotation:90,rotationOriginX:Math.floor(-l/2),rotationOriginY:(n+l)/2}),t.handles[e].attr({zIndex:7-e}).addClass("highcharts-navigator-handle highcharts-navigator-handle-"+["left","right"][e]).add(a),s.styledMode||t.handles[e].attr({fill:i.backgroundColor,stroke:i.borderColor,"stroke-width":i.lineWidth}).css(o)}))}}update(t){(this.series||[]).forEach((t=>{t.baseSeries&&delete t.baseSeries.navigatorSeries})),this.destroy(),S(!0,this.chart.options.navigator,t),this.init(this.chart)}render(t,e,i,s){let n,r,o,a,l,h=this.chart,c=this.xAxis,f=c.pointRange||0,g=c.navigatorAxis.fake?h.xAxis[0]:c,m=this.navigatorEnabled,y=this.rendered,v=h.inverted,S=h.xAxis[0].minRange,w=h.xAxis[0].options.maxRange,C=this.scrollButtonSize,A=this.scrollbarHeight;if(this.hasDragged&&!p(i))return;if(t=u(t-f/2),e=u(e+f/2),!b(t)||!b(e)){if(!y)return;i=0,s=k(c.width,g.width)}this.left=k(c.left,h.plotLeft+C+(v?h.plotWidth:0));let M=this.size=a=k(c.len,(v?h.plotHeight:h.plotWidth)-2*C);n=v?A:a+2*C,i=k(i,c.toPixels(t,!0)),s=k(s,c.toPixels(e,!0)),b(i)&&Math.abs(i)!==1/0||(i=0,s=n);let T=c.toValue(i,!0),P=c.toValue(s,!0),E=Math.abs(u(P-T));Ew&&(this.grabbedLeft?i=c.toPixels(P-w-f,!0):this.grabbedRight&&(s=c.toPixels(T+w+f,!0))),this.zoomedMax=d(Math.max(i,s),0,M),this.zoomedMin=d(this.fixedWidth?this.zoomedMax-this.fixedWidth:Math.min(i,s),0,M),this.range=this.zoomedMax-this.zoomedMin,M=Math.round(this.zoomedMax);let O=Math.round(this.zoomedMin);m&&(this.navigatorGroup.attr({visibility:"inherit"}),l=y&&!this.hasDragged?"animate":"attr",this.drawMasks(O,M,v,l),this.drawOutline(O,M,v,l),this.navigatorOptions.handles.enabled&&(this.drawHandle(O,0,v,l),this.drawHandle(M,1,v,l))),this.scrollbar&&(v?(o=this.top-C,r=this.left-A+(m||!g.opposite?0:(g.titleOffset||0)+g.axisTitleMargin),A=a+2*C):(o=this.top+(m?this.height:-A),r=this.left-C),this.scrollbar.position(r,o,n,A),this.scrollbar.setRange(this.zoomedMin/(a||1),this.zoomedMax/(a||1))),this.rendered=!0,x(this,"afterRender")}addMouseEvents(){let t,e,i=this,s=i.chart,n=s.container,r=[];i.mouseMoveHandler=t=function(t){i.onMouseMove(t)},i.mouseUpHandler=e=function(t){i.onMouseUp(t)},(r=i.getPartsEvents("mousedown")).push(c(s.renderTo,"mousemove",t),c(n.ownerDocument,"mouseup",e),c(s.renderTo,"touchmove",t),c(n.ownerDocument,"touchend",e)),r.concat(i.getPartsEvents("touchstart")),i.eventsToUnbind=r,i.series&&i.series[0]&&r.push(c(i.series[0].xAxis,"foundExtremes",(function(){s.navigator.modifyNavigatorAxisExtremes()})))}getPartsEvents(t){let e=this,i=[];return["shades","handles"].forEach((function(s){e[s].forEach((function(n,r){i.push(c(n.element,t,(function(t){e[s+"Mousedown"](t,r)})))}))})),i}shadesMousedown(t,e){var i;t=(null===(i=this.chart.pointer)||void 0===i?void 0:i.normalize(t))||t;let s,n,r,o,a=this.chart,l=this.xAxis,h=this.zoomedMin,c=this.size,d=this.range,u=this.left,f=t.chartX;a.inverted&&(f=t.chartY,u=this.top),1===e?(this.grabbedCenter=f,this.fixedWidth=d,this.dragOffset=f-h):(o=f-u-d/2,0===e?o=Math.max(0,o):2===e&&o+d>=c&&(o=c-d,this.reversedExtremes?(o-=d,n=this.getUnionExtremes().dataMin):s=this.getUnionExtremes().dataMax),o!==h&&(this.fixedWidth=d,p((r=l.navigatorAxis.toFixedRange(o,o+d,n,s)).min)&&x(this,"setRange",{min:Math.min(r.min,r.max),max:Math.max(r.min,r.max),redraw:!0,eventArguments:{trigger:"navigator"}})))}handlesMousedown(t,e){var i;t=(null===(i=this.chart.pointer)||void 0===i?void 0:i.normalize(t))||t;let s=this.chart,n=s.xAxis[0],r=this.reversedExtremes;0===e?(this.grabbedLeft=!0,this.otherHandlePos=this.zoomedMax,this.fixedExtreme=r?n.min:n.max):(this.grabbedRight=!0,this.otherHandlePos=this.zoomedMin,this.fixedExtreme=r?n.max:n.min),s.setFixedRange(void 0)}onMouseMove(t){var e;let i,s=this,n=s.chart,r=s.navigatorSize,o=s.range,a=s.dragOffset,l=n.inverted,c=s.left;(!t.touches||0!==t.touches[0].pageX)&&(i=(t=(null===(e=n.pointer)||void 0===e?void 0:e.normalize(t))||t).chartX,l&&(c=s.top,i=t.chartY),s.grabbedLeft?(s.hasDragged=!0,s.render(0,0,i-c,s.otherHandlePos)):s.grabbedRight?(s.hasDragged=!0,s.render(0,0,s.otherHandlePos,i-c)):s.grabbedCenter&&(s.hasDragged=!0,ir+a-o&&(i=r+a-o),s.render(0,0,i-a,i-a+o)),s.hasDragged&&s.scrollbar&&k(s.scrollbar.options.liveRedraw,!h&&!this.chart.boosted)&&(t.DOMType=t.type,setTimeout((function(){s.onMouseUp(t)}),0)))}onMouseUp(t){let e,i,s,n,r,o,a=this.chart,l=this.xAxis,h=this.scrollbar,c=t.DOMEvent||t,d=a.inverted,u=this.rendered&&!this.hasDragged?"animate":"attr";(this.hasDragged&&(!h||!h.hasDragged)||"scrollbar"===t.trigger)&&(s=this.getUnionExtremes(),this.zoomedMin===this.otherHandlePos?n=this.fixedExtreme:this.zoomedMax===this.otherHandlePos&&(r=this.fixedExtreme),this.zoomedMax===this.size&&(r=this.reversedExtremes?s.dataMin:s.dataMax),0===this.zoomedMin&&(n=this.reversedExtremes?s.dataMax:s.dataMin),p((o=l.navigatorAxis.toFixedRange(this.zoomedMin,this.zoomedMax,n,r)).min)&&x(this,"setRange",{min:Math.min(o.min,o.max),max:Math.max(o.min,o.max),redraw:!0,animation:!this.hasDragged&&null,eventArguments:{trigger:"navigator",triggerOp:"navigator-drag",DOMEvent:c}})),"mousemove"!==t.DOMType&&"touchmove"!==t.DOMType&&(this.grabbedLeft=this.grabbedRight=this.grabbedCenter=this.fixedWidth=this.fixedExtreme=this.otherHandlePos=this.hasDragged=this.dragOffset=null),this.navigatorEnabled&&b(this.zoomedMin)&&b(this.zoomedMax)&&(i=Math.round(this.zoomedMin),e=Math.round(this.zoomedMax),this.shades&&this.drawMasks(i,e,d,u),this.outline&&this.drawOutline(i,e,d,u),this.navigatorOptions.handles.enabled&&Object.keys(this.handles).length===this.handles.length&&(this.drawHandle(i,0,d,u),this.drawHandle(e,1,d,u)))}removeEvents(){this.eventsToUnbind&&(this.eventsToUnbind.forEach((function(t){t()})),this.eventsToUnbind=void 0),this.removeBaseSeriesEvents()}removeBaseSeriesEvents(){let t=this.baseSeries||[];this.navigatorEnabled&&t[0]&&(!1!==this.navigatorOptions.adaptToUpdatedData&&t.forEach((function(t){w(t,"updatedData",this.updatedDataHandler)}),this),t[0].xAxis&&w(t[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes))}init(e){let i=e.options,s=i.navigator||{},r=s.enabled,a=i.scrollbar||{},l=a.enabled,h=r&&s.height||0,d=l&&a.height||0,u=a.buttonsEnabled&&d||0;this.handles=[],this.shades=[],this.chart=e,this.setBaseSeries(),this.height=h,this.scrollbarHeight=d,this.scrollButtonSize=u,this.scrollbarEnabled=l,this.navigatorEnabled=r,this.navigatorOptions=s,this.scrollbarOptions=a,this.opposite=k(s.opposite,!(r||!e.inverted));let p=this,f=p.baseSeries,g=e.xAxis.length,m=e.yAxis.length,y=f&&f[0]&&f[0].xAxis||e.xAxis[0]||{options:{}};if(e.isDirtyBox=!0,p.navigatorEnabled?(p.xAxis=new t(e,S({breaks:y.options.breaks,ordinal:y.options.ordinal,overscroll:y.options.overscroll},s.xAxis,{id:"navigator-x-axis",yAxis:"navigator-y-axis",type:"datetime",index:g,isInternal:!0,offset:0,keepOrdinalPadding:!0,startOnTick:!1,endOnTick:!1,minPadding:0,maxPadding:0,zoomEnabled:!1},e.inverted?{offsets:[u,0,-u,0],width:h}:{offsets:[0,-u,0,u],height:h}),"xAxis"),p.yAxis=new t(e,S(s.yAxis,{id:"navigator-y-axis",alignTicks:!1,offset:0,index:m,isInternal:!0,reversed:k(s.yAxis&&s.yAxis.reversed,e.yAxis[0]&&e.yAxis[0].reversed,!1),zoomEnabled:!1},e.inverted?{width:h}:{height:h}),"yAxis"),f||s.series.data?p.updateNavigatorSeries(!1):0===e.series.length&&(p.unbindRedraw=c(e,"beforeRedraw",(function(){e.series.length>0&&!p.series&&(p.setBaseSeries(),p.unbindRedraw())}))),p.reversedExtremes=e.inverted&&!p.xAxis.reversed||!e.inverted&&p.xAxis.reversed,p.renderElements(),p.addMouseEvents()):(p.xAxis={chart:e,navigatorAxis:{fake:!0},translate:function(t,i){let s=e.xAxis[0],n=s.getExtremes(),r=s.len-2*u,o=A("min",s.options.min,n.dataMin),a=A("max",s.options.max,n.dataMax)-o;return i?t*a/r+o:r*(t-o)/a},toPixels:function(t){return this.translate(t)},toValue:function(t){return this.translate(t,!0)}},p.xAxis.navigatorAxis.axis=p.xAxis,p.xAxis.navigatorAxis.toFixedRange=n.prototype.toFixedRange.bind(p.xAxis.navigatorAxis)),e.options.scrollbar.enabled){let t=S(e.options.scrollbar,{vertical:e.inverted});!b(t.margin)&&p.navigatorEnabled&&(t.margin=e.inverted?-3:3),e.scrollbar=p.scrollbar=new o(e.renderer,t,e),c(p.scrollbar,"changed",(function(t){let e=p.size,i=e*this.to,s=e*this.from;p.hasDragged=p.scrollbar.hasDragged,p.render(0,0,s,i),this.shouldUpdateExtremes(t.DOMType)&&setTimeout((function(){p.onMouseUp(t)}))}))}p.addBaseSeriesEvents(),p.addChartEvents()}getUnionExtremes(t){let e,i=this.chart.xAxis[0],s=this.xAxis,n=s.options,r=i.options;return t&&null===i.dataMin||(e={dataMin:k(n&&n.min,A("min",r.min,i.dataMin,s.dataMin,s.min)),dataMax:k(n&&n.max,A("max",r.max,i.dataMax,s.dataMax,s.max))}),e}setBaseSeries(t,e){let i=this.chart,s=this.baseSeries=[];t=t||i.options&&i.options.navigator.baseSeries||(i.series.length?y(i.series,(t=>!t.options.isInternal)).index:0),(i.series||[]).forEach(((e,i)=>{!e.options.isInternal&&(e.options.showInNavigator||(i===t||e.options.id===t)&&!1!==e.options.showInNavigator)&&s.push(e)})),this.xAxis&&!this.xAxis.navigatorAxis.fake&&this.updateNavigatorSeries(!0,e)}updateNavigatorSeries(t,e){let i,s,n,r=this,o=r.chart,a=r.baseSeries,h={enableMouseTracking:!1,index:null,linkedTo:null,group:"nav",padXAxis:!1,xAxis:"navigator-x-axis",yAxis:"navigator-y-axis",showInLegend:!1,stacking:void 0,isInternal:!0,states:{inactive:{opacity:1}}},c=r.series=(r.series||[]).filter((t=>{let e=t.baseSeries;return!(0>a.indexOf(e))||(e&&(w(e,"updatedData",r.updatedDataHandler),delete e.navigatorSeries),t.chart&&t.destroy(),!1)})),d=r.navigatorOptions.series;a&&a.length&&a.forEach((t=>{let u=t.navigatorSeries,p=m({color:t.color,visible:t.visible},v(d)?l.navigator.series:d);if(u&&!1===r.navigatorOptions.adaptToUpdatedData)return;h.name="Navigator "+a.length,n=(i=t.options||{}).navigatorOptions||{},p.dataLabels=C(p.dataLabels),(s=S(i,h,p,n)).pointRange=k(p.pointRange,n.pointRange,l.plotOptions[s.type||"line"].pointRange);let f=n.data||p.data;r.hasNavigatorData=r.hasNavigatorData||!!f,s.data=f||i.data&&i.data.slice(0),u&&u.options?u.update(s,e):(t.navigatorSeries=o.initSeries(s),o.setSortedData(),t.navigatorSeries.baseSeries=t,c.push(t.navigatorSeries))})),(d.data&&!(a&&a.length)||v(d))&&(r.hasNavigatorData=!1,(d=C(d)).forEach(((t,e)=>{h.name="Navigator "+(c.length+1),(s=S(l.navigator.series,{color:o.series[e]&&!o.series[e].options.isInternal&&o.series[e].color||o.options.colors[e]||o.options.colors[0]},h,t)).data=t.data,s.data&&(r.hasNavigatorData=!0,c.push(o.initSeries(s)))}))),t&&this.addBaseSeriesEvents()}addBaseSeriesEvents(){let t=this,e=t.baseSeries||[];e[0]&&e[0].xAxis&&e[0].eventsToUnbind.push(c(e[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes)),e.forEach((e=>{e.eventsToUnbind.push(c(e,"show",(function(){this.navigatorSeries&&this.navigatorSeries.setVisible(!0,!1)}))),e.eventsToUnbind.push(c(e,"hide",(function(){this.navigatorSeries&&this.navigatorSeries.setVisible(!1,!1)}))),!1!==this.navigatorOptions.adaptToUpdatedData&&e.xAxis&&e.eventsToUnbind.push(c(e,"updatedData",this.updatedDataHandler)),e.eventsToUnbind.push(c(e,"remove",(function(){this.navigatorSeries&&(g(t.series,this.navigatorSeries),p(this.navigatorSeries.options)&&this.navigatorSeries.remove(!1),delete this.navigatorSeries)})))}))}getBaseSeriesMin(t){return this.baseSeries.reduce((function(t,e){return Math.min(t,e.xData&&e.xData.length?e.xData[0]:t)}),t)}modifyNavigatorAxisExtremes(){let t=this.xAxis;if(void 0!==t.getExtremes){let e=this.getUnionExtremes(!0);e&&(e.dataMin!==t.min||e.dataMax!==t.max)&&(t.min=e.dataMin,t.max=e.dataMax)}}modifyBaseAxisExtremes(){var t;let e,i,s=this.chart.navigator,n=this.getExtremes(),r=n.min,o=n.max,a=n.dataMin,l=n.dataMax,h=o-r,c=s.stickToMin,d=s.stickToMax,u=k(null===(t=this.ordinal)||void 0===t?void 0:t.convertOverscroll(this.options.overscroll),0),p=s.series&&s.series[0],f=!!this.setExtremes;!(this.eventArgs&&"rangeSelectorButton"===this.eventArgs.trigger)&&(c&&(e=(i=a)+h),d&&(e=l+u,c||(i=Math.max(a,e-h,s.getBaseSeriesMin(p&&p.xData?p.xData[0]:-Number.MAX_VALUE)))),f&&(c||d)&&b(i)&&(this.min=this.userMin=i,this.max=this.userMax=e)),s.stickToMin=s.stickToMax=null}updatedDataHandler(){let t=this.chart.navigator,e=this.navigatorSeries,i=t.reversedExtremes?0===Math.round(t.zoomedMin):Math.round(t.zoomedMax)>=Math.round(t.size);t.stickToMax=k(this.chart.options.navigator&&this.chart.options.navigator.stickToMax,i),t.stickToMin=t.shouldStickToMin(this,t),e&&!t.hasNavigatorData&&(e.options.pointStart=this.xData[0],e.setData(this.options.data,!1,null,!1))}shouldStickToMin(t,e){let i=e.getBaseSeriesMin(t.xData[0]),s=t.xAxis,n=s.max,r=s.min,o=s.options.range;return!(!b(n)||!b(r))&&(o&&n-i>0?n-i{t.destroy&&t.destroy()})),["series","xAxis","yAxis","shades","outline","scrollbarTrack","scrollbarRifles","scrollbarGroup","scrollbar","navigatorGroup","rendered"].forEach((t=>{this[t]&&this[t].destroy&&this[t].destroy(),this[t]=null})),[this.handles].forEach((t=>{f(t)}))}}return M})),i(e,"Core/Axis/OrdinalAxis.js",[e["Core/Axis/Axis.js"],e["Core/Globals.js"],e["Core/Series/Series.js"],e["Core/Utilities.js"]],(function(t,e,i,s){var n;let{addEvent:r,correctFloat:o,css:a,defined:l,error:h,isNumber:c,pick:d,timeUnits:u,isString:p}=s;return function(t){function s(t,e,i,s){let n,r,o,a,c,d=arguments.length>4&&void 0!==arguments[4]?arguments[4]:[],p=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0,f=arguments.length>6?arguments[6]:void 0,g={},m=this.options.tickPixelInterval,y=this.chart.time,x=[],v=0,b=[],S=-Number.MAX_VALUE;if(!this.options.ordinal&&!this.options.breaks||!d||d.length<3||void 0===e)return y.getTimeTicks.apply(y,arguments);let k=d.length;for(n=0;ni,d[n]5*p||c){if(d[n]>S){for(r=y.getTimeTicks(t,d[v],d[n],s);r.length&&r[0]<=S;)r.shift();r.length&&(S=r[r.length-1]),x.push(b.length),b=b.concat(r)}v=n+1}if(c)break}if(r){if(a=r.info,f&&a.unitRange<=u.hour){for(v=1,n=b.length-1;vi?o-1:o,s=void 0;h--;)r=Math.abs(s-(e=a[h])),s&&r<.8*m&&(null===n||r<.8*n)?(g[b[h]]&&!g[b[h+1]]?(t=h+1,s=e):t=h,b.splice(t,1)):s=e}return b}function n(t){let e=this.ordinal.positions;if(!e)return t;let i,s=e.length-1;return t<0?t=e[0]:t>s?t=e[s]:(s=Math.floor(t),i=t-s),void 0!==i&&void 0!==e[s]?e[s]+(i?i*(e[s+1]-e[s]):0):t}function f(t){let e=this.ordinal,i=this.old?this.old.min:this.min,s=this.old?this.old.transA:this.transA,n=e.getExtendedPositions();if(n&&n.length){let r=o((t-i)*s+this.minPixelPadding),a=o(e.getIndexOfPoint(r,n)),l=o(a%1);if(a>=0&&a<=n.length-1){let t=n[Math.floor(a)],e=n[Math.ceil(a)];return n[Math.floor(a)]+l*(e-t)}}return t}function g(e,i){let s=t.Additions.findIndexOf(e,i,!0);return e[s]===i?s:s+(i-e[s])/(e[s+1]-e[s])}function m(){this.ordinal||(this.ordinal=new t.Additions(this))}function y(){let{eventArgs:t,options:e}=this;if(this.isXAxis&&l(e.overscroll)&&0!==e.overscroll&&c(this.max)&&c(this.min)&&(this.options.ordinal&&!this.ordinal.originalOrdinalRange&&this.ordinal.getExtendedPositions(!1),this.max===this.dataMax&&("pan"!==(null===t||void 0===t?void 0:t.trigger)||this.isInternal)&&"navigator"!==(null===t||void 0===t?void 0:t.trigger))){let i=this.ordinal.convertOverscroll(e.overscroll);this.max+=i,!this.isInternal&&l(this.userMin)&&"mousewheel"!==(null===t||void 0===t?void 0:t.trigger)&&(this.min+=i)}}function x(){this.horiz&&!this.isDirty&&(this.isDirty=this.isOrdinal&&this.chart.navigator&&!this.chart.navigator.adaptToUpdatedData)}function v(){this.ordinal&&(this.ordinal.beforeSetTickPositions(),this.tickInterval=this.ordinal.postProcessTickInterval(this.tickInterval))}function b(t){let e=this.xAxis[0],i=e.ordinal.convertOverscroll(e.options.overscroll),s=t.originalEvent.chartX,n=this.options.chart.panning,r=!1;if(n&&"y"!==n.type&&e.options.ordinal&&e.series.length){let t,n,o=this.mouseDownX,l=e.getExtremes(),h=l.dataMax,c=l.min,d=l.max,u=this.hoverPoints,p=e.closestPointRange||e.ordinal&&e.ordinal.overscrollPointsRange,f=Math.round((o-s)/(e.translationSlope*(e.ordinal.slope||p))),g=e.ordinal.getExtendedPositions(),m={ordinal:{positions:g,extendedOrdinalPositions:g}},y=e.index2val,x=e.val2lin;m.ordinal.positions?Math.abs(f)>1&&(u&&u.forEach((function(t){t.setState()})),h>(n=m.ordinal.positions)[n.length-1]&&n.push(h),this.setFixedRange(d-c),(t=e.navigatorAxis.toFixedRange(void 0,void 0,y.apply(m,[x.apply(m,[c,!0])+f]),y.apply(m,[x.apply(m,[d,!0])+f]))).min>=Math.min(l.dataMin,c)&&t.max<=Math.max(h,d)+i&&e.setExtremes(t.min,t.max,!0,!1,{trigger:"pan"}),this.mouseDownX=s,a(this.container,{cursor:"move"})):r=!0}else r=!0;r||n&&/y/.test(n.type)?i&&(e.max=e.dataMax+i):t.preventDefault()}function S(){let t=this.xAxis;t&&t.options.ordinal&&(delete t.ordinal.index,delete t.ordinal.originalOrdinalRange)}function k(t,e){let i,s,n=this.ordinal,r=n.positions,o=n.slope;if(!r)return t;let a=r.length;if(r[0]<=t&&r[a-1]>=t)i=g(r,t);else{if(!(s=n.getExtendedPositions&&n.getExtendedPositions())||!s.length)return t;let a=s.length;o||(o=(s[a-1]-s[0])/a);let l=g(s,r[0]);if(t>=s[0]&&t<=s[a-1])i=g(s,t)-l;else{if(!e)return t;i=t0&&"highcharts-navigator-series"!==s.options.id&&s.processedXData.length>1&&(v=t!==s.processedXData[1]-s.processedXData[0]),t=s.processedXData[1]-s.processedXData[0],s.boosted&&(b=s.boosted),s.reserveSpace()&&(!1!==s.takeOrdinalPosition||f)&&(e=(m=m.concat(s.processedXData)).length,m.sort((function(t,e){return t-e})),y=Math.min(y,d(s.closestPointRange,y)),e)){for(n=0;n2){for(s=m[1]-m[0],a=e-1;a--&&!x;)m[a+1]-m[a]!==s&&(x=!0);!l.options.keepOrdinalPadding&&(m[0]-u>s||p-m[m.length-1]>s)&&(x=!0)}else l.options.overscroll&&(2===e?y=m[1]-m[0]:1===e?(y=l.ordinal.convertOverscroll(l.options.overscroll),m=[m[0],m[0]+y]):y=h.overscrollPointsRange);x||l.forceOrdinal?(l.options.overscroll&&(h.overscrollPointsRange=y,m=m.concat(h.getOverscrollPositions())),h.positions=m,n=l.ordinal2lin(Math.max(u,m[0]),!0),r=Math.max(l.ordinal2lin(Math.min(p,m[m.length-1]),!0),1),h.slope=o=(p-u)/(r-n),h.offset=u-n*o):(h.overscrollPointsRange=d(l.closestPointRange,h.overscrollPointsRange),h.positions=l.ordinal.slope=h.offset=void 0)}l.isOrdinal=g&&x,h.groupIntervalFactor=null}static findIndexOf(t,e,i){let s,n=0,r=t.length-1;for(;n0&&void 0!==arguments[0])||arguments[0],l=this,h=l.axis,c=h.constructor.prototype,d=h.chart,u=null===(t=h.series[0])||void 0===t?void 0:t.currentDataGrouping,p=u?u.count+u.unitName:"raw",f=a?h.ordinal.convertOverscroll(h.options.overscroll):0,g=h.getExtremes(),m=l.index;return m||(m=l.index={}),m[p]||((r={series:[],chart:d,forceOrdinal:!1,getExtremes:function(){return{min:g.dataMin,max:g.dataMax+f}},applyGrouping:c.applyGrouping,getGroupPixelWidth:c.getGroupPixelWidth,getTimeTicks:c.getTimeTicks,options:{ordinal:!0},ordinal:{getGroupIntervalFactor:this.getGroupIntervalFactor},ordinal2lin:c.ordinal2lin,getIndexOfPoint:c.getIndexOfPoint,val2lin:c.val2lin}).ordinal.axis=r,h.series.forEach((function(t){o={xAxis:r,xData:t.xData.slice(),chart:d,groupPixelWidth:t.groupPixelWidth,destroyGroupedData:e.noop,getProcessedData:i.prototype.getProcessedData,applyGrouping:i.prototype.applyGrouping,reserveSpace:i.prototype.reserveSpace,visible:t.visible},a&&(o.xData=o.xData.concat(l.getOverscrollPositions())),o.options={dataGrouping:u?{firstAnchor:"firstPoint",anchor:"middle",lastAnchor:"lastPoint",enabled:!0,forced:!0,approximation:"open",units:[[u.unitName,[u.count]]]}:{enabled:!1}},r.series.push(o),t.processData.apply(o)})),r.applyGrouping({hasExtremesChanged:!0}),(null===(s=o)||void 0===s?void 0:s.closestPointRange)!==(null===(n=o)||void 0===n?void 0:n.basePointRange)&&o.currentDataGrouping&&(r.forceOrdinal=!0),h.ordinal.beforeSetTickPositions.apply({axis:r}),!h.ordinal.originalOrdinalRange&&r.ordinal.originalOrdinalRange&&(h.ordinal.originalOrdinalRange=r.ordinal.originalOrdinalRange),m[p]=r.ordinal.positions),m[p]}getGroupIntervalFactor(t,e,i){let s,n,r=i.processedXData,o=r.length,a=[],l=this.groupIntervalFactor;if(!l){for(n=0;n{var e;let i=null===(e=t.points)||void 0===e?void 0:e[0];l(null===i||void 0===i?void 0:i.plotX)&&(i.plotXt.x>=e&&t.x<=i))}(t)&&(s=i.plotX,r=i.x)})),null!==(i=s)&&void 0!==i||(s=n.minPixelPadding);let a=n.translationSlope*(this.slope||n.closestPointRange||this.overscrollPointsRange),h=o((t-s)/a);return w.findIndexOf(e,r,!0)+h}getOverscrollPositions(){let t=this.axis,e=this.convertOverscroll(t.options.overscroll),i=this.overscrollPointsRange,s=[],n=t.dataMax;if(l(i))for(;n<=t.dataMax+e;)s.push(n+=i);return s}postProcessTickInterval(t){let e=this.axis,i=this.slope;return i?e.options.breaks?e.closestPointRange||t:t/(i/e.closestPointRange):t}convertOverscroll(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,e=this,i=e.axis,s=function(t){return d(e.originalOrdinalRange,l(i.dataMax)&&l(i.dataMin)?i.dataMax-i.dataMin:0)*t};if(p(t)){let e=parseInt(t,10);if(/%$/.test(t))return s(e/100);if(/px/.test(t)){let t=Math.min(e,.9*i.len)/i.len;return s(t/(1-t))}return 0}return t}}t.Additions=w}(n||(n={})),n})),i(e,"Stock/RangeSelector/RangeSelectorDefaults.js",[],(function(){return{lang:{rangeSelectorZoom:"Zoom",rangeSelectorFrom:"",rangeSelectorTo:"\u2192"},rangeSelector:{allButtonsEnabled:!1,buttons:void 0,buttonSpacing:5,dropdown:"responsive",enabled:void 0,verticalAlign:"top",buttonTheme:{width:28,height:18,padding:2,zIndex:7},floating:!1,x:0,y:0,height:void 0,inputBoxBorderColor:"none",inputBoxHeight:17,inputBoxWidth:void 0,inputDateFormat:"%e %b %Y",inputDateParser:void 0,inputEditDateFormat:"%Y-%m-%d",inputEnabled:!0,inputPosition:{align:"right",x:0,y:0},inputSpacing:5,selected:void 0,buttonPosition:{align:"left",x:0,y:0},inputStyle:{color:"#334eff",cursor:"pointer",fontSize:"0.8em"},labelStyle:{color:"#666666",fontSize:"0.8em"}}}})),i(e,"Stock/RangeSelector/RangeSelectorComposition.js",[e["Core/Defaults.js"],e["Core/Globals.js"],e["Stock/RangeSelector/RangeSelectorDefaults.js"],e["Core/Utilities.js"]],(function(t,e,i,s){let n,{defaultOptions:r}=t,{composed:o}=e,{addEvent:a,defined:l,extend:h,find:c,isNumber:d,merge:u,pick:p,pushUnique:f}=s,g=[];function m(){let t,e,i=this.range,s=i.type,n=this.max,r=this.chart.time,o=function(t,e){let i="year"===s?"FullYear":"Month",n=new r.Date(t),o=r.get(i,n);return r.set(i,n,o+e),o===r.get(i,n)&&r.set("Date",n,0),n.getTime()-t};d(i)?(t=n-i,e=i):i&&(t=n+o(n,-(i.count||1)),this.chart&&this.chart.setFixedRange(n-t));let a=p(this.dataMin,Number.MIN_VALUE);return d(t)||(t=a),t<=a&&(t=a,void 0===e&&(e=o(t,i.count)),this.newMax=Math.min(t+e,p(this.dataMax,Number.MAX_VALUE))),d(n)?!d(i)&&i&&i._offsetMin&&(t+=i._offsetMin):t=void 0,t}function y(){this.options.rangeSelector&&this.options.rangeSelector.enabled&&(this.rangeSelector=new n(this))}function x(){let t=this.axes,e=this.rangeSelector;if(e){d(e.deferredYTDClick)&&(e.clickButton(e.deferredYTDClick),delete e.deferredYTDClick),t.forEach((t=>{t.updateNames(),t.setScale()})),this.getAxisMargins(),e.render();let i=e.options.verticalAlign;e.options.floating||("bottom"===i?this.extraBottomMargin=!0:"middle"===i||(this.extraTopMargin=!0))}}function v(t){let e,i,s,n,r=t.rangeSelector,o=()=>{r&&(e=t.xAxis[0].getExtremes(),i=t.legend,n=r&&r.options.verticalAlign,d(e.min)&&r.render(e.min,e.max),i.display&&"top"===n&&n===i.options.verticalAlign&&(s=u(t.spacingBox),"vertical"===i.options.layout?s.y=t.plotTop:s.y+=r.getHeight(),i.group.placed=!1,i.align(s)))};r&&(c(g,(e=>e[0]===t))||g.push([t,[a(t.xAxis[0],"afterSetExtremes",(function(t){r&&r.render(t.min,t.max)})),a(t,"redraw",o)]]),o())}function b(){for(let t=0,e=g.length;tt())),void g.splice(t,1)}}function S(){let t=this.rangeSelector;if(t){let e=t.getHeight();this.extraTopMargin&&(this.plotTop+=e),this.extraBottomMargin&&(this.marginBottom+=e)}}function k(){let t=this.rangeSelector;if(t&&!t.options.floating){t.render();let e=t.options.verticalAlign;"bottom"===e?this.extraBottomMargin=!0:"middle"!==e&&(this.extraTopMargin=!0)}}function w(t){let e=t.options.rangeSelector,i=this.extraBottomMargin,s=this.extraTopMargin,r=this.rangeSelector;if(e&&e.enabled&&!l(r)&&this.options.rangeSelector&&(this.options.rangeSelector.enabled=!0,this.rangeSelector=r=new n(this)),this.extraBottomMargin=!1,this.extraTopMargin=!1,r){v(this);let t=e&&e.verticalAlign||r.options&&r.options.verticalAlign;r.options.floating||("bottom"===t?this.extraBottomMargin=!0:"middle"===t||(this.extraTopMargin=!0)),(this.extraBottomMargin!==i||this.extraTopMargin!==s)&&(this.isDirtyBox=!0)}}return{compose:function(t,e,s){if(n=s,f(o,"RangeSelector")){let s=e.prototype;t.prototype.minFromRange=m,a(e,"afterGetContainer",y),a(e,"beforeRender",x),a(e,"destroy",b),a(e,"getMargins",S),a(e,"render",k),a(e,"update",w),s.callbacks.push(v),h(r,{rangeSelector:i.rangeSelector}),h(r.lang,i.lang)}}}})),i(e,"Stock/RangeSelector/RangeSelector.js",[e["Core/Axis/Axis.js"],e["Core/Defaults.js"],e["Core/Globals.js"],e["Stock/RangeSelector/RangeSelectorComposition.js"],e["Core/Renderer/SVG/SVGElement.js"],e["Core/Utilities.js"]],(function(e,i,s,n,r,o){let{defaultOptions:a}=i,{addEvent:l,createElement:h,css:c,defined:d,destroyObjectProperties:u,discardElement:p,extend:f,fireEvent:g,isNumber:m,merge:y,objectEach:x,pad:v,pick:b,pInt:S,splat:k}=o;class w{static compose(t,e){n.compose(t,e,w)}constructor(t){this.buttonOptions=w.prototype.defaultButtons,this.initialButtonGroupWidth=0,this.chart=t,this.init(t)}clickButton(t,i){let s,n,r,o,a,h,c,u=this.chart,p=this.buttonOptions[t],f=u.xAxis[0],y=u.scroller&&u.scroller.getUnionExtremes()||f||{},x=p.type,v=p.dataGrouping,S=y.dataMin,w=y.dataMax,C=f&&Math.round(Math.min(f.max,b(w,f.max))),A=p._range,M=!0;if(null!==S&&null!==w){if(this.setSelected(t),v&&(this.forcedDataGrouping=!0,e.prototype.setDataGrouping.call(f||{chart:this.chart},v,!1),this.frozenStates=p.preserveDataGrouping),"month"===x||"year"===x)f?(h={range:p,max:C,chart:u,dataMin:S,dataMax:w},s=f.minFromRange.call(h),m(h.newMax)&&(C=h.newMax),M=!1):A=p;else if(A)C=Math.min((s=Math.max(C-A,S))+A,w),M=!1;else if("ytd"===x){if(!f)return void(this.deferredYTDClick=t);(void 0===w||void 0===S)&&(S=Number.MAX_VALUE,w=Number.MIN_VALUE,u.series.forEach((t=>{let e=t.xData;e&&(S=Math.min(e[0],S),w=Math.max(e[e.length-1],w))})),i=!1),s=r=(c=this.getYTDExtremes(w,S,u.time.useUTC)).min,C=c.max}else"all"===x&&f&&(u.navigator&&u.navigator.baseSeries[0]&&(u.navigator.baseSeries[0].xAxis.options.range=void 0),s=S,C=w);M&&p._offsetMin&&d(s)&&(s+=p._offsetMin),p._offsetMax&&d(C)&&(C+=p._offsetMax),this.dropdown&&(this.dropdown.selectedIndex=t+1),f?(f.setExtremes(s,C,b(i,!0),void 0,{trigger:"rangeSelectorButton",rangeSelectorButton:p}),u.setFixedRange(p._range)):(a=(n=k(u.options.xAxis)[0]).range,n.range=A,o=n.min,n.min=r,l(u,"load",(function(){u.setFixedRange(p._range),n.range=a,n.min=o}))),g(this,"afterBtnClick")}}setSelected(t){this.selected=this.options.selected=t}init(t){let e=this,i=t.options.rangeSelector,s=i.buttons||e.defaultButtons.slice(),n=i.selected,r=function(){let t=e.minInput,i=e.maxInput;t&&t.blur&&g(t,"blur"),i&&i.blur&&g(i,"blur")};e.chart=t,e.options=i,e.buttons=[],e.buttonOptions=s,this.eventsToUnbind=[],this.eventsToUnbind.push(l(t.container,"mousedown",r)),this.eventsToUnbind.push(l(t,"resize",r)),s.forEach(e.computeButtonRange),void 0!==n&&s[n]&&this.clickButton(n,!1),this.eventsToUnbind.push(l(t,"load",(function(){t.xAxis&&t.xAxis[0]&&l(t.xAxis[0],"setExtremes",(function(i){m(this.max)&&m(this.min)&&this.max-this.min!==t.fixedRange&&"rangeSelectorButton"!==i.trigger&&"updatedData"!==i.trigger&&e.forcedDataGrouping&&!e.frozenStates&&this.setDataGrouping(!1,!1)}))})))}updateButtonStates(){let t=this,e=this.chart,i=this.dropdown,s=e.xAxis[0],n=Math.round(s.max-s.min),r=!s.hasVisibleSeries,o=864e5,a=e.scroller&&e.scroller.getUnionExtremes()||s,l=a.dataMin,h=a.dataMax,c=t.getYTDExtremes(h,l,e.time.useUTC),u=c.min,p=c.max,f=t.selected,g=t.options.allButtonsEnabled,y=t.buttons,x=m(f),v=!1;t.buttonOptions.forEach(((e,a)=>{var c;let m=e._range,b=e.type,S=e.count||1,k=y[a],w=e._offsetMax-e._offsetMin,C=a===f,A=m>h-l,M=mm&&(O=!0)}else("month"===b||"year"===b)&&n+36e5>={month:28,year:365}[b]*o*S-w&&n-36e5<={month:31,year:366}[b]*o*S+w?O=!0:"ytd"===b?(O=p-u+w===n,P=!C):"all"===b&&(O=s.max-s.min>=h-l,E=!C&&x&&O);let L=!g&&!(v&&"all"===b)&&(A||M||E||r),D=v&&"all"===b||C&&O||O&&!x&&!P||C&&t.frozenStates;L?T=3:D&&(x=!0,T=2),k.state!==T&&(k.setState(T),i&&(i.options[a+1].disabled=L,2===T&&(i.selectedIndex=a+1)),0===T&&f===a?t.setSelected():(2===T&&!d(f)||v)&&t.setSelected(a))}))}computeButtonRange(t){let e=t.type,i=t.count||1,s={millisecond:1,second:1e3,minute:6e4,hour:36e5,day:864e5,week:6048e5};s[e]?t._range=s[e]*i:("month"===e||"year"===e)&&(t._range=24*{month:30,year:365}[e]*36e5*i),t._offsetMin=b(t.offsetMin,0),t._offsetMax=b(t.offsetMax,0),t._range+=t._offsetMax-t._offsetMin}getInputValue(t){let e="min"===t?this.minInput:this.maxInput,i=this.chart.options.rangeSelector,s=this.chart.time;return e?("text"===e.type&&i.inputDateParser||this.defaultInputDateParser)(e.value,s.useUTC,s):0}setInputValue(t,e){let i=this.options,s=this.chart.time,n="min"===t?this.minInput:this.maxInput,r="min"===t?this.minDateBox:this.maxDateBox;if(n){let t=n.getAttribute("data-hc-time"),o=d(t)?Number(t):void 0;if(d(e)){let t=o;d(t)&&n.setAttribute("data-hc-time-previous",t),n.setAttribute("data-hc-time",e),o=e}n.value=s.dateFormat(this.inputTypeFormats[n.type]||i.inputEditDateFormat,o),r&&r.attr({text:s.dateFormat(i.inputDateFormat,o)})}}setInputExtremes(t,e,i){let s="min"===t?this.minInput:this.maxInput;if(s){let t=this.inputTypeFormats[s.type],n=this.chart.time;if(t){let r=n.dateFormat(t,e);s.min!==r&&(s.min=r);let o=n.dateFormat(t,i);s.max!==o&&(s.max=o)}}}showInput(t){let e="min"===t?this.minDateBox:this.maxDateBox,i="min"===t?this.minInput:this.maxInput;if(i&&e&&this.inputGroup){let t="text"===i.type,{translateX:s=0,translateY:n=0}=this.inputGroup,{x:r=0,width:o=0,height:a=0}=e,{inputBoxWidth:l}=this.options;c(i,{width:t?o+(l?-2:20)+"px":"auto",height:a-2+"px",border:"2px solid silver"}),c(i,t&&l?{left:s+r+"px",top:n+"px"}:{left:Math.min(Math.round(r+s-(i.offsetWidth-o)/2),this.chart.chartWidth-i.offsetWidth)+"px",top:n-(i.offsetHeight-a)/2+"px"})}}hideInput(t){let e="min"===t?this.minInput:this.maxInput;e&&c(e,{top:"-9999em",border:0,width:"1px",height:"1px"})}defaultInputDateParser(t,e,i){let n=t.split("/").join("-").split(" ").join("T");if(-1===n.indexOf("T")&&(n+="T00:00"),e)n+="Z";else{let t;if(s.isSafari&&(!((t=n).length>6)||t.lastIndexOf("-")!==t.length-6&&t.lastIndexOf("+")!==t.length-6)){let t=new Date(n).getTimezoneOffset()/60;n+=t<=0?"+".concat(v(-t),":00"):"-".concat(v(t),":00")}}let r=Date.parse(n);if(!m(r)){let e=t.split("-");r=Date.UTC(S(e[0]),S(e[1])-1,S(e[2]))}return i&&e&&m(r)&&(r+=i.getTimezoneOffset(r)),r}drawInput(t){let{chart:e,div:i,inputGroup:n}=this,r=this,o=e.renderer.style||{},l=e.renderer,d=e.options.rangeSelector,u=a.lang,p="min"===t;function g(){let{maxInput:i,minInput:s}=r,n=e.xAxis[0],o=e.scroller&&e.scroller.getUnionExtremes()||n,a=o.dataMin,l=o.dataMax,h=r.getInputValue(t);h!==Number(S.getAttribute("data-hc-time-previous"))&&m(h)&&(S.setAttribute("data-hc-time-previous",h),p&&i&&m(a)?h>Number(i.getAttribute("data-hc-time"))?h=void 0:hl&&(h=l)),void 0!==h&&n.setExtremes(p?h:n.min,p?n.max:h,void 0,void 0,{trigger:"rangeSelectorInput"}))}let x=u[p?"rangeSelectorFrom":"rangeSelectorTo"]||"",v=l.label(x,0).addClass("highcharts-range-label").attr({padding:x?2:0,height:x?d.inputBoxHeight:0}).add(n),b=l.label("",0).addClass("highcharts-range-input").attr({padding:2,width:d.inputBoxWidth,height:d.inputBoxHeight,"text-align":"center"}).on("click",(function(){r.showInput(t),r[t+"Input"].focus()}));e.styledMode||b.attr({stroke:d.inputBoxBorderColor,"stroke-width":1}),b.add(n);let S=h("input",{name:t,className:"highcharts-range-selector"},void 0,i);S.setAttribute("type",function(t){if(-1!==t.indexOf("%L"))return"text";let e=["a","A","d","e","w","b","B","m","o","y","Y"].some((e=>-1!==t.indexOf("%"+e))),i=["H","k","I","l","M","S"].some((e=>-1!==t.indexOf("%"+e)));return e&&i?"datetime-local":e?"date":i?"time":"text"}(d.inputDateFormat||"%e %b %Y")),e.styledMode||(v.css(y(o,d.labelStyle)),b.css(y({color:"#333333"},o,d.inputStyle)),c(S,f({position:"absolute",border:0,boxShadow:"0 0 15px rgba(0,0,0,0.3)",width:"1px",height:"1px",padding:0,textAlign:"center",fontSize:o.fontSize,fontFamily:o.fontFamily,top:"-9999em"},d.inputStyle))),S.onfocus=()=>{r.showInput(t)},S.onblur=()=>{S===s.doc.activeElement&&g(),r.hideInput(t),r.setInputValue(t),S.blur()};let k=!1;return S.onchange=()=>{k||(g(),r.hideInput(t),S.blur())},S.onkeypress=t=>{13===t.keyCode&&g()},S.onkeydown=t=>{k=!0,(38===t.keyCode||40===t.keyCode)&&g()},S.onkeyup=()=>{k=!1},{dateBox:b,input:S,label:v}}getPosition(){let t=this.chart,e=t.options.rangeSelector,i="top"===e.verticalAlign?t.plotTop-t.axisOffset[0]:0;return{buttonTop:i+e.buttonPosition.y,inputTop:i+e.inputPosition.y-10}}getYTDExtremes(t,e,i){let s=this.chart.time,n=new s.Date(t),r=s.get("FullYear",n),o=Math.max(e,i?s.Date.UTC(r,0,1):+new s.Date(r,0,1)),a=n.getTime();return{max:Math.min(t||a,a),min:o}}render(t,e){let i=this.chart,s=i.renderer,n=i.container,r=i.options,o=r.rangeSelector,a=b(r.chart.style&&r.chart.style.zIndex,0)+1,l=o.inputEnabled,c=this.rendered;if(!1!==o.enabled){if(!c&&(this.group=s.g("range-selector-group").attr({zIndex:7}).add(),this.div=h("div",void 0,{position:"relative",height:0,zIndex:a}),this.buttonOptions.length&&this.renderButtons(),n.parentNode&&n.parentNode.insertBefore(this.div,n),l)){this.inputGroup=s.g("input-group").add(this.group);let t=this.drawInput("min");this.minDateBox=t.dateBox,this.minLabel=t.label,this.minInput=t.input;let e=this.drawInput("max");this.maxDateBox=e.dateBox,this.maxLabel=e.label,this.maxInput=e.input}if(l){this.setInputValue("min",t),this.setInputValue("max",e);let s=i.scroller&&i.scroller.getUnionExtremes()||i.xAxis[0]||{};if(d(s.dataMin)&&d(s.dataMax)){let t=i.xAxis[0].minRange||0;this.setInputExtremes("min",s.dataMin,Math.min(s.dataMax,this.getInputValue("max"))-t),this.setInputExtremes("max",Math.max(s.dataMin,this.getInputValue("min"))+t,s.dataMax)}if(this.inputGroup){let t=0;[this.minLabel,this.minDateBox,this.maxLabel,this.maxDateBox].forEach((e=>{if(e){let{width:i}=e.getBBox();i&&(e.attr({x:t}),t+=i+o.inputSpacing)}}))}}this.alignElements(),this.rendered=!0}}renderButtons(){let{buttons:t,chart:e,options:i}=this,n=a.lang,r=e.renderer,o=y(i.buttonTheme),c=o&&o.states,d=o.width||28;delete o.width,delete o.states,this.buttonGroup=r.g("range-selector-buttons").add(this.group);let u=this.dropdown=h("select",void 0,{position:"absolute",width:"1px",height:"1px",padding:0,border:0,top:"-9999em",cursor:"pointer",opacity:1e-4},this.div);l(u,"touchstart",(()=>{u.style.fontSize="16px"})),[[s.isMS?"mouseover":"mouseenter"],[s.isMS?"mouseout":"mouseleave"],["change","click"]].forEach((e=>{let[i,s]=e;l(u,i,(()=>{let e=t[this.currentButtonIndex()];e&&g(e.element,s||i)}))})),this.zoomText=r.label(n&&n.rangeSelectorZoom||"",0).attr({padding:i.buttonTheme.padding,height:i.buttonTheme.height,paddingLeft:0,paddingRight:0}).add(this.buttonGroup),this.chart.styledMode||(this.zoomText.css(i.labelStyle),o["stroke-width"]=b(o["stroke-width"],0)),h("option",{textContent:this.zoomText.textStr,disabled:!0},void 0,u),this.buttonOptions.forEach(((e,i)=>{h("option",{textContent:e.title||e.text},void 0,u),t[i]=r.button(e.text,0,0,(t=>{let s,n=e.events&&e.events.click;n&&(s=n.call(e,t)),!1!==s&&this.clickButton(i),this.isActive=!0}),o,c&&c.hover,c&&c.select,c&&c.disabled).attr({"text-align":"center",width:d}).add(this.buttonGroup),e.title&&t[i].attr("title",e.title)}))}alignElements(){let{buttonGroup:t,buttons:e,chart:i,group:s,inputGroup:n,options:r,zoomText:o}=this,a=i.options,l=a.exporting&&!1!==a.exporting.enabled&&a.navigation&&a.navigation.buttonOptions,{buttonPosition:h,inputPosition:c,verticalAlign:d}=r,u=(t,e)=>l&&this.titleCollision(i)&&"top"===d&&"right"===e.align&&e.y-t.getBBox().height-12<(l.y||0)+(l.height||0)+i.spacing[0]?-40:0,p=i.plotLeft;if(s&&h&&c){let a=h.x-i.spacing[3];if(t){if(this.positionButtons(),!this.initialButtonGroupWidth){let t=0;o&&(t+=o.getBBox().width+5),e.forEach(((i,s)=>{t+=i.width||0,s!==e.length-1&&(t+=r.buttonSpacing)})),this.initialButtonGroupWidth=t}p-=i.spacing[3],this.updateButtonStates();let n=u(t,h);this.alignButtonGroup(n),s.placed=t.placed=i.hasLoaded}let l=0;n&&(l=u(n,c),"left"===c.align?a=p:"right"===c.align&&(a=-Math.max(i.axisOffset[1],-l)),n.align({y:c.y,width:n.getBBox().width,align:c.align,x:c.x+a-2},!0,i.spacingBox),n.placed=i.hasLoaded),this.handleCollision(l),s.align({verticalAlign:d},!0,i.spacingBox);let f=s.alignAttr.translateY,g=s.getBBox().height+20,m=0;if("bottom"===d){let t=i.legend&&i.legend.options;m=f-(g=g+(t&&"bottom"===t.verticalAlign&&t.enabled&&!t.floating?i.legend.legendHeight+b(t.margin,10):0)-20)-(r.floating?0:r.y)-(i.titleOffset?i.titleOffset[2]:0)-10}"top"===d?(r.floating&&(m=0),i.titleOffset&&i.titleOffset[0]&&(m=i.titleOffset[0]),m+=i.margin[0]-i.spacing[0]||0):"middle"===d&&(c.y===h.y?m=f:(c.y||h.y)&&(c.y<0||h.y<0?m-=Math.min(c.y,h.y):m=f-g)),s.translate(r.x,r.y+Math.floor(m));let{minInput:y,maxInput:x,dropdown:v}=this;r.inputEnabled&&y&&x&&(y.style.marginTop=s.translateY+"px",x.style.marginTop=s.translateY+"px"),v&&(v.style.marginTop=s.translateY+"px")}}alignButtonGroup(t,e){let{chart:i,options:s,buttonGroup:n}=this,{buttonPosition:r}=s,o=i.plotLeft-i.spacing[3],a=r.x-i.spacing[3];"right"===r.align?a+=t-o:"center"===r.align&&(a-=o/2),n&&n.align({y:r.y,width:b(e,this.initialButtonGroupWidth),align:r.align,x:a},!0,i.spacingBox)}positionButtons(){let{buttons:t,chart:e,options:i,zoomText:s}=this,n=e.hasLoaded?"animate":"attr",{buttonPosition:r}=i,o=e.plotLeft,a=o;s&&"hidden"!==s.visibility&&(s[n]({x:b(o+r.x,o)}),a+=r.x+s.getBBox().width+5);for(let l=0,h=this.buttonOptions.length;l{let t=0;return this.buttons.forEach((e=>{let i=e.getBBox();i.width>t&&(t=i.width)})),t},l=e=>{if(s&&i){let r=s.alignAttr.translateX+s.alignOptions.x-t+s.getBBox().x+2,a=s.alignOptions.width,l=i.alignAttr.translateX+i.getBBox().x;return l+e>r&&r+a>l&&n.y{s&&i&&s.attr({translateX:s.alignAttr.translateX+(e.axisOffset[1]>=-t?0:-t),translateY:s.alignAttr.translateY+i.getBBox().height+10})};if(i){if("always"===r)return this.collapseButtons(t),void(l(a())&&h());"never"===r&&this.expandButtons()}s&&i?o.align===n.align||l(this.initialButtonGroupWidth+20)?"responsive"===r?(this.collapseButtons(t),l(a())&&h()):h():"responsive"===r&&this.expandButtons():i&&"responsive"===r&&(this.initialButtonGroupWidth>e.plotWidth?this.collapseButtons(t):this.expandButtons())}collapseButtons(t){let{buttons:e,buttonOptions:i,chart:s,dropdown:n,options:r,zoomText:o}=this;if(!0===this.isCollapsed)return;this.isCollapsed=!0;let a=s.userOptions.rangeSelector&&s.userOptions.rangeSelector.buttonTheme||{},l=t=>({text:t?"".concat(t," \u25be"):"\u25be",width:"auto",paddingLeft:b(r.buttonTheme.paddingLeft,a.padding,8),paddingRight:b(r.buttonTheme.paddingRight,a.padding,8)});o&&o.hide();let h=!1;i.forEach(((t,i)=>{let s=e[i];2!==s.state?s.hide():(s.show(),s.attr(l(t.text)),h=!0)})),h||(n&&(n.selectedIndex=0),e[0].show(),e[0].attr(l(this.zoomText&&this.zoomText.textStr)));let{align:c}=r.buttonPosition;this.positionButtons(),("right"===c||"center"===c)&&this.alignButtonGroup(t,e[this.currentButtonIndex()].getBBox().width),this.showDropdown()}expandButtons(){let{buttons:t,buttonOptions:e,options:i,zoomText:s}=this;this.hideDropdown(),!1!==this.isCollapsed&&(this.isCollapsed=!1,s&&s.show(),e.forEach(((e,s)=>{let n=t[s];n.show(),n.attr({text:e.text,width:i.buttonTheme.width||28,paddingLeft:b(i.buttonTheme.paddingLeft,"unset"),paddingRight:b(i.buttonTheme.paddingRight,"unset")}),n.state<2&&n.setState(0)})),this.positionButtons())}currentButtonIndex(){let{dropdown:t}=this;return t&&t.selectedIndex>0?t.selectedIndex-1:0}showDropdown(){let{buttonGroup:t,buttons:e,chart:i,dropdown:s}=this;if(t&&s){let{translateX:n=0,translateY:r=0}=t,o=e[this.currentButtonIndex()].getBBox();c(s,{left:i.plotLeft+n+"px",top:r+.5+"px",width:o.width+"px",height:o.height+"px"}),this.hasVisibleDropdown=!0}}hideDropdown(){let{dropdown:t}=this;t&&(c(t,{top:"-9999em",width:"1px",height:"1px"}),this.hasVisibleDropdown=!1)}getHeight(){let t=this.options,e=this.group,i=t.inputPosition,s=t.buttonPosition,n=t.y,r=s.y,o=i.y,a=0;if(t.height)return t.height;this.alignElements(),a=e?e.getBBox(!0).height+13+n:0;let l=Math.min(o,r);return(o<0&&r<0||o>0&&r>0)&&(a+=Math.abs(l)),a}titleCollision(t){return!(t.options.title.text||t.options.subtitle.text)}update(t){let e=this.chart;y(!0,e.options.rangeSelector,t),this.destroy(),this.init(e),this.render()}destroy(){let e=this,i=e.minInput,s=e.maxInput;e.eventsToUnbind&&(e.eventsToUnbind.forEach((t=>t())),e.eventsToUnbind=void 0),u(e.buttons),i&&(i.onfocus=i.onblur=i.onchange=null),s&&(s.onfocus=s.onblur=s.onchange=null),x(e,(function(i,s){i&&"chart"!==s&&(i instanceof r?i.destroy():i instanceof t.HTMLElement&&p(i)),i!==w.prototype[s]&&(e[s]=null)}),this)}}return f(w.prototype,{defaultButtons:[{type:"month",count:1,text:"1m",title:"View 1 month"},{type:"month",count:3,text:"3m",title:"View 3 months"},{type:"month",count:6,text:"6m",title:"View 6 months"},{type:"ytd",text:"YTD",title:"View year to date"},{type:"year",count:1,text:"1y",title:"View 1 year"},{type:"all",text:"All",title:"View all"}],inputTypeFormats:{"datetime-local":"%Y-%m-%dT%H:%M:%S",date:"%Y-%m-%d",time:"%H:%M:%S"}}),w})),i(e,"Core/Chart/StockChart.js",[e["Core/Chart/Chart.js"],e["Core/Templating.js"],e["Core/Defaults.js"],e["Stock/Navigator/NavigatorDefaults.js"],e["Stock/RangeSelector/RangeSelectorDefaults.js"],e["Stock/Scrollbar/ScrollbarDefaults.js"],e["Stock/Utilities/StockUtilities.js"],e["Core/Utilities.js"]],(function(t,e,i,s,n,r,o,a){let{format:l}=e,{getOptions:h}=i,{setFixedRange:c}=o,{addEvent:d,clamp:u,defined:p,extend:f,find:g,isNumber:m,isString:y,merge:x,pick:v,splat:b}=a;function S(t,e,i){var s,n,r,o;return"xAxis"===t?{minPadding:0,maxPadding:0,overscroll:0,ordinal:!0}:"yAxis"===t?{labels:{y:-2},opposite:null===(s=null!==(n=i.opposite)&&void 0!==n?n:e.opposite)||void 0===s||s,showLastLabel:!(!e.categories&&"category"!==e.type),title:{text:"Values"!==(null===(r=i.title)||void 0===r?void 0:r.text)?null===(o=i.title)||void 0===o?void 0:o.text:null}}:{}}function k(t,e){if("xAxis"===t){let t={type:"datetime",categories:void 0};return v(e.navigator&&e.navigator.enabled,s.enabled,!0)&&(t.startOnTick=!1,t.endOnTick=!1),t}return{}}class w extends t{init(t,e){let i=h(),o=t.xAxis,a=t.yAxis,l=v(t.navigator&&t.navigator.enabled,s.enabled,!0);t.xAxis=t.yAxis=void 0;let c=x({chart:{panning:{enabled:!0,type:"x"},zooming:{pinchType:"x",mouseWheel:{type:"x"}}},navigator:{enabled:l},scrollbar:{enabled:v(r.enabled,!0)},rangeSelector:{enabled:v(n.rangeSelector.enabled,!0)},title:{text:null},tooltip:{split:v(i.tooltip&&i.tooltip.split,!0),crosshairs:!0},legend:{enabled:!1}},t,{isStock:!0});t.xAxis=o,t.yAxis=a,c.xAxis=b(t.xAxis||{}).map((e=>x(S("xAxis",e,i.xAxis),e,k("xAxis",t)))),c.yAxis=b(t.yAxis||{}).map((t=>x(S("yAxis",t,i.yAxis),t))),super.init(c,e)}createAxis(t,e){return e.axis=x(S(t,e.axis,h()[t]),e.axis,k(t,this.userOptions)),super.createAxis(t,e)}}return d(t,"update",(function(t){let e=t.options;"scrollbar"in e&&this.navigator&&(x(!0,this.options.scrollbar,e.scrollbar),this.navigator.update({}),delete e.scrollbar)})),function(t){function e(t){if(!this.crosshair||!this.crosshair.label||!this.crosshair.label.enabled||!this.cross||!m(this.min)||!m(this.max))return;let e,i,s,n=this.chart,r=this.logarithmic,o=this.crosshair.label,a=this.horiz,h=this.opposite,c=this.left,d=this.top,u=this.width,p="inside"===this.options.tickPosition,g=!1!==this.crosshair.snap,y=t.e||this.cross&&this.cross.e,x=t.point,b=this.crossLabel,S=o.format,k="",w=0,C=this.min,A=this.max;r&&(C=r.lin2log(this.min),A=r.lin2log(this.max));let M=a?"center":h?"right"===this.labelAlign?"right":"left":"left"===this.labelAlign?"left":"center";b||(b=this.crossLabel=n.renderer.label("",0,void 0,o.shape||"callout").addClass("highcharts-crosshair-label highcharts-color-"+(x&&x.series?x.series.colorIndex:this.series[0]&&this.series[0].colorIndex)).attr({align:o.align||M,padding:v(o.padding,8),r:v(o.borderRadius,3),zIndex:2}).add(this.labelGroup),n.styledMode||b.attr({fill:o.backgroundColor||x&&x.series&&x.series.color||"#666666",stroke:o.borderColor||"","stroke-width":o.borderWidth||0}).css(f({color:"#ffffff",fontWeight:"normal",fontSize:"0.7em",textAlign:"center"},o.style||{}))),a?(e=g?(x.plotX||0)+c:y.chartX,i=d+(h?0:this.height)):(e=c+this.offset+(h?u:0),i=g?(x.plotY||0)+d:y.chartY),S||o.formatter||(this.dateTime&&(k="%b %d, %Y"),S="{value"+(k?":"+k:"")+"}");let T=g?this.isXAxis?x.x:x.y:this.toValue(a?y.chartX:y.chartY),P=x&&x.series?x.series.isPointInside(x):m(T)&&T>C&&T=s.right&&(w=-(L+O.width-s.right)),b.attr({x:e+w,y:i,anchorX:a?e:this.opposite?0:n.chartWidth,anchorY:a?this.opposite?n.chartHeight:0:i+O.height/2})}function i(){this.crossLabel&&(this.crossLabel=this.crossLabel.hide())}function s(t){let e=this.chart,i=this.options,s=e._labelPanes=e._labelPanes||{},n=i.labels;if(e.options.isStock&&"yAxis"===this.coll){let e=i.top+","+i.height;!s[e]&&n.enabled&&(15===n.distance&&1===this.side&&(n.distance=0),void 0===n.align&&(n.align="right"),s[e]=this,t.align="right",t.preventDefault())}}function n(){let t=this.chart,e=this.options&&this.options.top+","+this.options.height;e&&t._labelPanes&&t._labelPanes[e]===this&&delete t._labelPanes[e]}function r(t){let e,i,s,n,r,o,a=this,l=a.isLinked&&!a.series&&a.linkedParent?a.linkedParent.series:a.series,h=a.chart,c=h.renderer,d=a.left,f=a.top,x=[],b=t.translatedValue,S=t.value,k=t.force,w=[];if(h.options.isStock&&!1!==t.acrossPanes&&"xAxis"===a.coll||"yAxis"===a.coll){for(let e of(t.preventDefault(),w=(t=>{let e="xAxis"===t?"yAxis":"xAxis",i=a.options[e];return m(i)?[h[e][i]]:y(i)?[h.get(i)]:l.map((t=>t[e]))})(a.coll),a.isXAxis?h.yAxis:h.xAxis))if(!p(e.options.id)||-1===e.options.id.indexOf("navigator")){let t=e.isXAxis?"yAxis":"xAxis";a===(p(e.options[t])?h[t][e.options[t]]:h[t][0])&&w.push(e)}for(let t of(r=w.length?[]:[a.isXAxis?h.yAxis[0]:h.xAxis[0]],w))-1!==r.indexOf(t)||g(r,(e=>e.pos===t.pos&&e.len===t.len))||r.push(t);if(m(o=v(b,a.translate(S||0,void 0,void 0,t.old))))if(a.horiz)for(let t of r){let r;n=(i=t.pos)+t.len,e=s=Math.round(o+a.transB),"pass"!==k&&(ed+a.width)&&(k?e=s=u(e,d,d+a.width):r=!0),r||x.push(["M",e,i],["L",s,n])}else for(let t of r){let r;s=(e=t.pos)+t.len,i=n=Math.round(f+a.height-o),"pass"!==k&&(if+a.height)&&(k?i=n=u(i,f,f+a.height):r=!0),r||x.push(["M",e,i],["L",s,n])}t.path=x.length>0?c.crispPolyLine(x,t.lineWidth||1):void 0}}function o(t){if(this.chart.options.isStock){let e;this.is("column")||this.is("columnrange")?e={borderWidth:0,shadow:!1}:this.is("scatter")||this.is("sma")||(e={marker:{enabled:!1,radius:2}}),e&&(t.plotOptions[this.type]=x(t.plotOptions[this.type],e))}}function a(){let t=this.chart,e=this.options.dataGrouping;return!1!==this.allowDG&&e&&v(e.enabled,t.options.isStock)}function h(t,e){for(let i=0;i\u25cf {series.name}
High: {point.high}
Low: {point.low}
Close: {point.close}
'},threshold:null,states:{hover:{lineWidth:3}},stickyTracking:!0}})),i(e,"Series/HLC/HLCSeries.js",[e["Series/HLC/HLCPoint.js"],e["Series/HLC/HLCSeriesDefaults.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],(function(t,e,i,s){let{column:n}=i.seriesTypes,{extend:r,merge:o}=s;class a extends n{extendStem(t,e,i){let s=t[0],n=t[1];"number"==typeof s[2]&&(s[2]=Math.max(i+e,s[2])),"number"==typeof n[2]&&(n[2]=Math.min(i-e,n[2]))}getPointPath(t,e){let i=e.strokeWidth(),s=t.series,n=i%2/2,r=Math.round(t.plotX)-n,o=Math.round(t.shapeArgs.width/2),a=t.plotClose,l=[["M",r,Math.round(t.yBottom)],["L",r,Math.round(t.plotHigh)]];return null!==t.close&&(a=Math.round(t.plotClose)+n,l.push(["M",r,a],["L",r+o,a]),s.extendStem(l,i/2,a)),l}drawSinglePoint(t){let e,i=t.series,s=i.chart,n=t.graphic;void 0!==t.plotY&&(n||(t.graphic=n=s.renderer.path().add(i.group)),s.styledMode||n.attr(i.pointAttribs(t,t.selected&&"select")),e=i.getPointPath(t,n),n[n?"animate":"attr"]({d:e}).addClass(t.getClassName(),!0))}drawPoints(){this.points.forEach(this.drawSinglePoint)}init(){super.init.apply(this,arguments),this.options.stacking=void 0}pointAttribs(t,e){let i=super.pointAttribs.call(this,t,e);return delete i.fill,i}toYData(t){return[t.high,t.low,t.close]}translate(){let t=this,e=t.yAxis,i=this.pointArrayMap&&this.pointArrayMap.slice()||[],s=i.map((t=>"plot".concat(t.charAt(0).toUpperCase()+t.slice(1))));s.push("yBottom"),i.push("low"),super.translate.apply(t),t.points.forEach((function(n){i.forEach((function(i,r){let o=n[i];null!==o&&(t.dataModify&&(o=t.dataModify.modifyValue(o)),n[s[r]]=e.toPixels(o,!0))})),n.tooltipPos[1]=n.plotHigh+e.pos-t.chart.plotTop}))}}return a.defaultOptions=o(n.defaultOptions,e),r(a.prototype,{pointClass:t,animate:null,directTouch:!1,pointArrayMap:["high","low","close"],pointAttrToOptions:{stroke:"color","stroke-width":"lineWidth"},pointValKey:"close"}),i.registerSeriesType("hlc",a),a})),i(e,"Series/OHLC/OHLCPoint.js",[e["Core/Series/SeriesRegistry.js"]],(function(t){let{seriesTypes:{hlc:e}}=t;class i extends e.prototype.pointClass{getClassName(){return super.getClassName.call(this)+(this.open\u25cf {series.name}
Open: {point.open}
High: {point.high}
Low: {point.low}
Close: {point.close}
'}}})),i(e,"Series/OHLC/OHLCSeries.js",[e["Core/Globals.js"],e["Series/OHLC/OHLCPoint.js"],e["Series/OHLC/OHLCSeriesDefaults.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],(function(t,e,i,s,n){let{composed:r}=t,{hlc:o}=s.seriesTypes,{addEvent:a,extend:l,merge:h,pushUnique:c}=n;function d(t){let e=t.options,i=e.dataGrouping;i&&e.useOhlcData&&"highcharts-navigator-series"!==e.id&&(i.approximation="ohlc")}function u(t){let e=t.options;e.useOhlcData&&"highcharts-navigator-series"!==e.id&&l(this,{pointValKey:p.prototype.pointValKey,pointArrayMap:p.prototype.pointArrayMap,toYData:p.prototype.toYData})}class p extends o{static compose(t){c(r,"OHLCSeries")&&(a(t,"afterSetOptions",d),a(t,"init",u))}getPointPath(t,e){let i=super.getPointPath(t,e),s=e.strokeWidth(),n=s%2/2,r=Math.round(t.plotX)-n,o=Math.round(t.shapeArgs.width/2),a=t.plotOpen;return null!==t.open&&(a=Math.round(t.plotOpen)+n,i.push(["M",r,a],["L",r-o,a]),super.extendStem(i,s/2,a)),i}pointAttribs(t,e){let i=super.pointAttribs.call(this,t,e),s=this.options;return delete i.fill,!t.options.color&&s.upColor&&t.openn&&(i-=Math.round((r-n)/2),n=r),a=t[e](i,s,n,r),l&&h){let o=l;if("circle"===e)o=i+n/2;else{let t=a[0],e=a[1];"M"===t[0]&&"L"===e[0]&&(o=(t[1]+e[1])/2)}let c=s>h?s:s+r;a.push(["M",o,c],["L",l,h]),a=a.concat(t.circle(l-1,h-1,2,2))}return a}}e.compose=function(e){if(-1===i.indexOf(e)){i.push(e);let t=e.prototype.symbols;t.flag=s,n(t,"circle"),n(t,"square")}let r=t.getRendererType();i.indexOf(r)&&i.push(r)}}(e||(e={})),e})),i(e,"Series/OnSeriesComposition.js",[e["Series/Column/ColumnSeries.js"],e["Core/Globals.js"],e["Core/Series/Series.js"],e["Core/Utilities.js"]],(function(t,e,i,s){var n;let{composed:r}=e,{prototype:o}=t,{prototype:a}=i,{defined:l,pushUnique:h,stableSort:c}=s;return function(t){function e(t){return a.getPlotBox.call(this.options.onSeries&&this.chart.get(this.options.onSeries)||this,t)}function i(){o.translate.apply(this);let t,e,i,s,n,r,a,h=this,d=h.options,u=h.chart,p=h.points,f=d.onSeries,g=f&&u.get(f),m=g&&g.options.step,y=g&&g.points,x=u.inverted,v=h.xAxis,b=h.yAxis,S=p.length-1,k=d.onKey||"y",w=y&&y.length,C=0;if(g&&g.visible&&w)for(C=(g.pointXOffset||0)+(g.barW||0)/2,r=g.currentDataGrouping,s=y[w-1].x+(r?r.totalRange:0),c(p,((t,e)=>t.x-e.x)),k="plot"+k[0].toUpperCase()+k.substr(1);w--&&p[S];)if(i=y[w],(t=p[S]).y=i.y,i.x<=t.x&&void 0!==i[k]){if(t.x<=s&&(t.plotY=i[k],i.xMath.pow(1-t,3)*s[e]+3*(1-t)*(1-t)*t*o[e]+3*(1-t)*t*t*a[e]+t*t*t*r[e],c=0,d=1;for(let i=0;i<100;i++){let i=(c+d)/2,s=h(i,0);if(null===s)break;if(.25>Math.abs(s-t.plotX)){e=i;break}s{let s;t.plotX+=C,(void 0===t.plotY||x)&&(t.plotX>=0&&t.plotX<=v.len?x?(t.plotY=v.translate(t.x,0,1,0,1),t.plotX=l(t.y)?b.translate(t.y,0,0,0,1):0):t.plotY=(v.opposite?0:h.yAxis.len)+v.offset:t.shapeArgs={}),(e=p[i-1])&&e.plotX===t.plotX&&(void 0===e.stackIndex&&(e.stackIndex=0),s=e.stackIndex+1),t.stackIndex=s})),this.onSeries=g}t.compose=function(t){if(h(r,"OnSeries")){let s=t.prototype;s.getPlotBox=e,s.translate=i}return t},t.getPlotBox=e,t.translate=i}(n||(n={})),n})),i(e,"Series/Flags/FlagsSeries.js",[e["Series/Flags/FlagsPoint.js"],e["Series/Flags/FlagsSeriesDefaults.js"],e["Series/Flags/FlagsSymbols.js"],e["Core/Globals.js"],e["Series/OnSeriesComposition.js"],e["Core/Renderer/RendererUtilities.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Renderer/SVG/SVGElement.js"],e["Core/Utilities.js"]],(function(t,e,i,s,n,r,o,a,l){let{noop:h}=s,{distribute:c}=r,{series:d,seriesTypes:{column:u}}=o,{addEvent:p,defined:f,extend:g,merge:m,objectEach:y,wrap:x}=l;class v extends u{animate(t){t&&this.setClip()}drawPoints(){let t,e,i,s,n,r,o,l,h,d,u,p=this.points,g=this.chart,v=g.renderer,b=g.inverted,S=this.options,k=S.y,w=this.yAxis,C={},A=[];for(s=p.length;s--;)n=p[s],d=(b?n.plotY:n.plotX)>this.xAxis.len,t=n.plotX,o=n.stackIndex,i=n.options.shape||S.shape,void 0!==(e=n.plotY)&&(e=n.plotY+k-(void 0!==o&&o*S.stackDistance)),n.anchorX=o?void 0:n.plotX,l=o?void 0:n.plotY,u="flag"!==i,r=n.graphic,void 0!==e&&t>=0&&!d?(r&&n.hasNewShapeType()&&(r=r.destroy()),r||(r=n.graphic=v.label("",null,null,i,null,null,S.useHTML).addClass("highcharts-point").add(this.markerGroup),n.graphic.div&&(n.graphic.div.point=n),r.isNew=!0),r.attr({align:u?"center":"left",width:S.width,height:S.height,"text-align":S.textAlign}),g.styledMode||r.attr(this.pointAttribs(n)).css(m(S.style,n.style)).shadow(S.shadow),t>0&&(t-=r.strokeWidth()%2),h={y:e,anchorY:l},S.allowOverlapX&&(h.x=t,h.anchorX=n.anchorX),r.attr({text:n.options.title||S.title||"A"})[r.isNew?"attr":"animate"](h),S.allowOverlapX||(C[n.plotX]?C[n.plotX].size=Math.max(C[n.plotX].size,r.width||0):C[n.plotX]={align:u?.5:0,size:r.width||0,target:t,anchorX:t}),n.tooltipPos=[t,e+w.pos-g.plotTop]):r&&(n.graphic=r.destroy());if(!S.allowOverlapX){let t=100;for(let e of(y(C,(function(e){e.plotX=e.anchorX,A.push(e),t=Math.max(e.size,t)})),c(A,b?w.len:this.xAxis.len,t),p)){let t=e.plotX,i=e.graphic,s=i&&C[t];s&&i&&(f(s.pos)?i[i.isNew?"attr":"animate"]({x:s.pos+(s.align||0)*s.size,anchorX:e.anchorX}).show().isNew=!1:i.hide().isNew=!0)}}S.useHTML&&this.markerGroup&&x(this.markerGroup,"on",(function(t){return a.prototype.on.apply(t.apply(this,[].slice.call(arguments,1)),[].slice.call(arguments,1))}))}drawTracker(){let t=this.points;for(let e of(super.drawTracker(),t)){let i=e.graphic;i&&(e.unbindMouseOver&&e.unbindMouseOver(),e.unbindMouseOver=p(i.element,"mouseover",(function(){for(let s of(e.stackIndex>0&&!e.raised&&(e._y=i.y,i.attr({y:e._y-8}),e.raised=!0),t))s!==e&&s.raised&&s.graphic&&(s.graphic.attr({y:s._y}),s.raised=!1)})))}}pointAttribs(t,e){let i=this.options,s=t&&t.color||this.color,n=i.lineColor,r=t&&t.lineWidth,o=t&&t.fillColor||i.fillColor;return e&&(o=i.states[e].fillColor,n=i.states[e].lineColor,r=i.states[e].lineWidth),{fill:o||s,stroke:n||s,"stroke-width":r||i.lineWidth||0}}setClip(){d.prototype.setClip.apply(this,arguments),!1!==this.options.clip&&this.sharedClipKey&&this.markerGroup&&this.markerGroup.clip(this.chart.sharedClips[this.sharedClipKey])}}return v.compose=i.compose,v.defaultOptions=m(u.defaultOptions,e),n.compose(v),g(v.prototype,{allowDG:!1,forceCrop:!0,invertible:!1,noSharedTooltip:!0,pointClass:t,sorted:!1,takeOrdinalPosition:!1,trackerGroups:["markerGroup"],buildKDTree:h,init:d.prototype.init}),o.registerSeriesType("flags",v),v})),i(e,"Core/Axis/BrokenAxis.js",[e["Core/Axis/Stacking/StackItem.js"],e["Core/Utilities.js"]],(function(t,e){var i;let{addEvent:s,find:n,fireEvent:r,isArray:o,isNumber:a,pick:l}=e;return function(e){function i(){void 0!==this.brokenAxis&&this.brokenAxis.setBreaks(this.options.breaks,!1)}function h(){var t;(null===(t=this.brokenAxis)||void 0===t?void 0:t.hasBreaks)&&(this.options.ordinal=!1)}function c(){let t=this.brokenAxis;if(null!==t&&void 0!==t&&t.hasBreaks){let e=this.tickPositions,i=this.tickPositions.info,s=[];for(let n=0;ne.to||n>e.from&&oe.from&&oe.from&&o>e.to&&o0){let e,a;for("value"!==this.options.gapUnit&&(r*=this.basePointRange),i&&i>r&&i>=this.basePointRange&&(r=i);o--;)if(a&&!1!==a.visible||(a=s[o+1]),e=s[o],!1!==a.visible&&!1!==e.visible){if(a.x-e.x>r){let i=(e.x+a.x)/2;s.splice(o+1,0,{isNull:!0,x:i}),n.stacking&&this.options.stacking&&((n.stacking.stacks[this.stackKey][i]=new t(n,n.options.stackLabels,!1,i,this.stack)).total=0)}a=e}}return this.getGraphPath(s)}e.compose=function(t,e){if(!t.keepProps.includes("brokenAxis")){t.keepProps.push("brokenAxis"),s(t,"init",d),s(t,"afterInit",i),s(t,"afterSetTickPositions",c),s(t,"afterSetOptions",h);let n=e.prototype;n.drawBreaks=f,n.gappedPath=g,s(e,"afterGeneratePoints",u),s(e,"afterRender",p)}return t};class m{static isInBreak(t,e){let i=t.repeat||1/0,s=t.from,n=t.to-t.from,r=e>=s?(e-s)%i:i-(s-e)%i;return t.inclusive?r<=n:r=r);n++)(s.to=t)break;if(m.isInBreak(s,t)){r-=t-s.from;break}}return r}constructor(t){this.hasBreaks=!1,this.axis=t}findBreakAt(t,e){return n(e,(function(e){return e.fromf;)n-=e;for(;nthis.chart.plotSizeX/r||e&&i.forced)&&(a=!0));return a?r:0}function h(){this.series.forEach((function(t){t.hasProcessed=!1}))}function c(t,e){let s;if(e=o(e,!0),t||(t={forced:!1,units:null}),this instanceof i)for(s=this.series.length;s--;)this.series[s].update({dataGrouping:t},!1);else this.chart.options.series.forEach((function(e){e.dataGrouping="boolean"==typeof t?t:r(t,e.dataGrouping)}));this.ordinal&&(this.ordinal.slope=void 0),e&&this.chart.redraw()}return{compose:function(t){i=t;let e=t.prototype;e.applyGrouping||(s(t,"afterSetScale",h),s(t,"postProcessData",a),n(e,{applyGrouping:a,getGroupPixelWidth:l,setDataGrouping:c}))}}})),i(e,"Extensions/DataGrouping/DataGroupingSeriesComposition.js",[e["Extensions/DataGrouping/ApproximationRegistry.js"],e["Extensions/DataGrouping/DataGroupingDefaults.js"],e["Core/Axis/DateTimeAxis.js"],e["Core/Defaults.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],(function(t,e,i,s,n,r){let{series:{prototype:o}}=n,{addEvent:a,defined:l,error:h,extend:c,isNumber:d,merge:u,pick:p}=r,f=o.generatePoints;function g(t){var s;let n,r,a,c,u=this.chart,f=this.options.dataGrouping,g=!1!==this.allowDG&&f&&p(f.enabled,u.options.isStock),m=this.reserveSpace(),y=this.currentDataGrouping,x=!1;g&&!this.requireSorting&&(this.requireSorting=x=!0);let v=0==!(this.isCartesian&&!this.isDirty&&!this.xAxis.isDirty&&!this.yAxis.isDirty&&!t)||!g;if(x&&(this.requireSorting=!1),v)return;this.destroyGroupedData();let b=f.groupAll?this.xData:this.processedXData,S=f.groupAll?this.yData:this.processedYData,k=u.plotSizeX,w=this.xAxis,C=w.options.ordinal,A=this.groupPixelWidth;if(A&&b&&b.length&&k){r=!0,this.isDirty=!0,this.points=null;let t=w.getExtremes(),p=t.min,g=t.max,y=A*(g-p)/k*(C&&w.ordinal&&w.ordinal.getGroupIntervalFactor(p,g,this)||1),x=w.getTimeTicks(i.Additions.prototype.normalizeTimeTickInterval(y,f.units||e.units),Math.min(p,b[0]),Math.max(g,b[b.length-1]),w.options.startOfWeek,b,this.closestPointRange),v=o.groupData.apply(this,[b,S,x,f.approximation]),M=v.groupedXData,T=v.groupedYData,P=0;for(f&&f.smoothed&&M.length&&(f.firstAnchor="firstPoint",f.anchor="middle",f.lastAnchor="lastPoint",h(32,!1,u,{"dataGrouping.smoothed":"use dataGrouping.anchor"})),n=1;n=e[0]){let i;c++;let s=t.groupMap[0].start,r=t.groupMap[0].length;d(s)&&d(r)&&(i=s+(r-1)),e[0]={start:e[0],middle:e[0]+.5*n,end:e[0]+n,firstPoint:t.xData[0],lastPoint:i&&t.xData[i]}[a]}if(r>0&&l&&n&&e[r]>=i-n){h--;let i=t.groupMap[t.groupMap.length-1].start;e[r]={start:e[r],middle:e[r]+.5*n,end:e[r]+n,firstPoint:i&&t.xData[i],lastPoint:t.xData[t.xData.length-1]}[l]}if(o&&"start"!==o){let t=n*{middle:.5,end:1}[o];for(;h>=c;)e[h]+=t,h--}}(this,M,g),m&&(l((s=M)[0])&&d(w.min)&&d(w.dataMin)&&s[0]w.max&&((!l(w.options.max)&&d(w.dataMax)&&w.max>=w.dataMax||w.max===w.dataMax)&&(w.max=Math.max(s[s.length-1],w.max)),w.dataMax=Math.max(s[s.length-1],w.dataMax))),f.groupAll&&(this.allGroupedData=T,M=(c=this.cropData(M,T,w.min,w.max)).xData,T=c.yData,this.cropStart=c.start),this.processedXData=M,this.processedYData=T}else this.groupMap=null;this.hasGroupedData=r,this.preventGraphAnimation=(y&&y.totalRange)!==(a&&a.totalRange)}function m(){this.groupedData&&(this.groupedData.forEach((function(t,e){t&&(this.groupedData[e]=t.destroy?t.destroy():null)}),this),this.groupedData.length=0,delete this.allGroupedData)}function y(){f.apply(this),this.destroyGroupedData(),this.groupedData=this.hasGroupedData?this.points:null}function x(){return this.is("arearange")?"range":this.is("ohlc")?"ohlc":this.is("hlc")?"hlc":this.is("column")||this.options.cumulative?"sum":"average"}function v(e,i,s,n){let r,o,a,h=this,c=h.data,p=h.options&&h.options.data,f=[],g=[],m=[],y=e.length,x=!!i,v=[],b=h.pointArrayMap,S=b&&b.length,k=["x"].concat(b||["y"]),w=this.options.dataGrouping&&this.options.dataGrouping.groupAll,C=0,A=0,M="function"==typeof n?n:n&&t[n]?t[n]:t[h.getDGApproximation&&h.getDGApproximation()||"average"];if(S){let t=b.length;for(;t--;)v.push([])}else v.push([]);let T=S||1;for(let t=0;t<=y;t++)if(!(e[t]=s[C+1]||t===y;){r=s[C],h.dataGroupInfo={start:w?A:h.cropStart+A,length:v[0].length,groupStart:r},a=M.apply(h,v),h.pointClass&&!l(h.dataGroupInfo.options)&&(h.dataGroupInfo.options=u(h.pointClass.prototype.optionsToObject.call({series:h},h.options.data[h.cropStart+A])),k.forEach((function(t){delete h.dataGroupInfo.options[t]}))),void 0!==a&&(f.push(r),g.push(a),m.push(h.dataGroupInfo)),A=t;for(let t=0;t{let e=t.axis.getExtremes(),n=e.min,r=e.max,o=s(t.axis.minPointOffset,0);return i(n)&&i(r)&&t.value>=n-o&&t.value<=r+o&&!t.axis.options.isInternal}))[0]},getFieldType:function(t,i){let s=n[t],r=typeof i;return e(s)&&(r=s),{string:"text",number:"number",boolean:"checkbox"}[r]}}})),i(e,"Extensions/MouseWheelZoom/MouseWheelZoom.js",[e["Core/Utilities.js"],e["Extensions/Annotations/NavigationBindingsUtilities.js"]],(function(t,e){let i,{addEvent:s,isObject:n,pick:r,defined:o,merge:a}=t,{getAssignedAxis:l}=e,h=[],c={enabled:!0,sensitivity:1.1},d=function(t,e,s,n,a,l,h){let c=r(h.type,t.zooming.type,""),d=[];"x"===c?d=s:"y"===c?d=n:"xy"===c&&(d=t.axes);let u=t.transform({axes:d,to:{x:a-5,y:l-5,width:10,height:10},from:{x:a-5*e,y:l-5*e,width:10*e,height:10*e},trigger:"mousewheel"});return u&&(o(i)&&clearTimeout(i),i=setTimeout((()=>{var e;null===(e=t.pointer)||void 0===e||e.drop()}),400)),u};function u(){let t=(t=>{var e;return n(t)||(t={enabled:null===(e=t)||void 0===e||e}),a(c,t)})(this.zooming.mouseWheel);t.enabled&&s(this.container,"wheel",(e=>{var i;e=(null===(i=this.pointer)||void 0===i?void 0:i.normalize(e))||e;let{pointer:s}=this,n=s&&!s.inClass(e.target,"highcharts-no-mousewheel");if(this.isInsidePlot(e.chartX-this.plotLeft,e.chartY-this.plotTop)&&n){var r,o;let i=t.sensitivity||1.1,n=e.detail||(e.deltaY||0)/120,a=l(s.getCoordinates(e).xAxis),h=l(s.getCoordinates(e).yAxis);d(this,Math.pow(i,n),a?[a.axis]:this.xAxis,h?[h.axis]:this.yAxis,e.chartX,e.chartY,t)&&(null===(r=(o=e).preventDefault)||void 0===r||r.call(o))}}))}return{compose:function(t){-1===h.indexOf(t)&&(h.push(t),s(t,"afterGetContainer",u))}}})),i(e,"masters/modules/mouse-wheel-zoom.src.js",[e["Core/Globals.js"],e["Extensions/MouseWheelZoom/MouseWheelZoom.js"]],(function(t,e){return t.MouseWheelZoom=t.MouseWheelZoom||e,t.MouseWheelZoom.compose(t.Chart),t})),i(e,"masters/modules/stock.src.js",[e["Core/Globals.js"],e["Series/DataModifyComposition.js"],e["Stock/Navigator/Navigator.js"],e["Core/Axis/OrdinalAxis.js"],e["Stock/RangeSelector/RangeSelector.js"],e["Stock/Scrollbar/Scrollbar.js"],e["Core/Chart/StockChart.js"],e["Series/OHLC/OHLCSeries.js"],e["Series/Flags/FlagsSeries.js"]],(function(t,e,i,s,n,r,o,a,l){return t.Navigator=t.Navigator||i,t.OrdinalAxis=t.OrdinalAxis||s,t.RangeSelector=t.RangeSelector||n,t.Scrollbar=t.Scrollbar||r,t.stockChart=t.stockChart||o.stockChart,t.StockChart=t.StockChart||t.stockChart,t.extend(t.StockChart,o),e.compose(t.Series,t.Axis,t.Point),l.compose(t.Renderer),a.compose(t.Series),t.Navigator.compose(t.Chart,t.Axis,t.Series),t.OrdinalAxis.compose(t.Axis,t.Series,t.Chart),t.RangeSelector.compose(t.Axis,t.Chart),t.Scrollbar.compose(t.Axis),t.StockChart.compose(t.Chart,t.Axis,t.Series,t.SVGRenderer),t})),i(e,"masters/highstock.src.js",[e["masters/highcharts.src.js"]],(function(t){return t.product="Highstock",t})),e["masters/highstock.src.js"]._modules=e,e["masters/highstock.src.js"]},t.exports?(r.default=r,t.exports=n&&n.document?r(n):r):void 0===(s=function(){return r(n)}.call(e,i,e,t))||(t.exports=s)},126:(t,e,i)=>{var s,n,r;r=function(t){"use strict";var e=t?t._modules:{};function i(t,e,i,s){t.hasOwnProperty(e)||(t[e]=s.apply(null,i),"function"==typeof CustomEvent&&window.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:e,module:t[e]}})))}i(e,"Stock/Indicators/SMA/SMAIndicator.js",[e["Core/Chart/Chart.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],(function(t,e,i){let{line:s}=e.seriesTypes,{addEvent:n,fireEvent:r,error:o,extend:a,isArray:l,merge:h,pick:c,splat:d}=i;class u extends s{destroy(){this.dataEventsToUnbind.forEach((function(t){t()})),super.destroy.apply(this,arguments)}getName(){let t=[],e=this.name;return e||((this.nameComponents||[]).forEach((function(e,i){t.push(this.options.params[e]+c(this.nameSuffixes[i],""))}),this),e=(this.nameBase||this.type.toUpperCase())+(this.nameComponents?" ("+t.join(", ")+")":"")),e}getValues(t,e){let i,s,n=e.period,r=t.xData,o=t.yData,a=o.length,h=[],c=[],d=[],u=-1,p=0,f=0;if(!(r.length0&&(r[1]+=f[i-1][1]),f.push(r),g.push(r[0]),m.push(r[1]);return{values:f,xData:g,yData:m}}}}return o.defaultOptions=r(i.defaultOptions,{params:{index:void 0,volumeSeriesID:"volume"}}),n(o.prototype,{nameComponents:!1,nameBase:"Accumulation/Distribution"}),t.registerSeriesType("ad",o),o})),i(e,"Stock/Indicators/AO/AOIndicator.js",[e["Core/Globals.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],(function(t,e,i){let{noop:s}=t,{column:{prototype:n},sma:r}=e.seriesTypes,{extend:o,merge:a,correctFloat:l,isArray:h}=i;class c extends r{drawGraph(){let t,e=this.options,i=this.points,s=this.userOptions.color,n=e.greaterBarColor,r=e.lowerBarColor,o=i[0];if(!s&&o)for(t=1,o.color=n;ti[t-1].y?i[t].color=n:i[t].y=29&&(m=l(m+n)),g=l(g+n);for(o=33;o{t!==e&&i.push(l(t))})),i}function c(){let t,e=this,i=e.pointValKey,a=e.linesApiNames,c=e.areaLinesNames,d=e.points,u=e.options,p=e.graph,f={options:{gapSize:u.gapSize}},g=[],m=h(e,i),y=d.length;if(m.forEach(((e,i)=>{for(g[i]=[];y--;)t=d[y],g[i].push({x:t.x,plotX:t.plotX,plotY:t[e],isNull:!n(t[e])});y=d.length})),e.userOptions.fillColor&&c.length){let t=g[m.indexOf(l(c[0]))],i=1===c.length?d:g[m.indexOf(l(c[1]))],n=e.color;e.points=i,e.nextPoints=t,e.color=e.userOptions.fillColor,e.options=o(d,f),e.graph=e.area,e.fillGraph=!0,s.drawGraph.call(e),e.area=e.graph,delete e.nextPoints,delete e.fillGraph,e.color=n}a.forEach(((t,i)=>{g[i]?(e.points=g[i],u[t]?e.options=o(u[t].styles,f):r('Error: "There is no '+t+' in DOCS options declared. Check if linesApiNames are consistent with your DOCS line names."'),e.graph=e["graph"+t],s.drawGraph.call(e),e["graph"+t]=e.graph):r('Error: "'+t+" doesn't have equivalent in pointArrayMap. To many elements in linesApiNames relative to pointArrayMap.\"")})),e.points=d,e.options=u,e.graph=p,s.drawGraph.call(e)}function d(t){let e,i=[],n=[];if(t=t||this.points,this.fillGraph&&this.nextPoints){if((e=s.getGraphPath.call(this,this.nextPoints))&&e.length){e[0][0]="L",i=s.getGraphPath.call(this,t),n=e.slice(0,i.length);for(let t=n.length-1;t>=0;t--)i.push(n[t])}}else i=s.getGraphPath.apply(this,arguments);return i}function u(t){let e=[];return(this.pointArrayMap||[]).forEach((i=>{e.push(t[i])})),e}function p(){let t,e=this.pointArrayMap,i=[];i=h(this),s.translate.apply(this,arguments),this.points.forEach((s=>{e.forEach(((e,n)=>{t=s[e],this.dataModify&&(t=this.dataModify.modifyValue(t)),null!==t&&(s[i[n]]=this.yAxis.toPixels(t,!0))}))}))}t.compose=function(t){let s=t.prototype;return s.linesApiNames=s.linesApiNames||e.slice(),s.pointArrayMap=s.pointArrayMap||i.slice(),s.pointValKey=s.pointValKey||"top",s.areaLinesNames=s.areaLinesNames||a.slice(),s.drawGraph=c,s.getGraphPath=d,s.toYData=u,s.translate=p,t}}(i||(i={})),i})),i(e,"Stock/Indicators/Aroon/AroonIndicator.js",[e["Stock/Indicators/MultipleLinesComposition.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],(function(t,e,i){let{sma:s}=e.seriesTypes,{extend:n,merge:r,pick:o}=i;function a(t,e){let i,s=t[0],n=0;for(i=1;i=s||"min"===e&&t[i]<=s)&&(s=t[i],n=i);return n}class l extends s{getValues(t,e){let i,s,n,r,l,h=e.period,c=t.xData,d=t.yData,u=d?d.length:0,p=[],f=[],g=[];for(r=h-1;r\u25cf {series.name}
Aroon Up: {point.y}
Aroon Down: {point.aroonDown}
'},aroonDown:{styles:{lineWidth:1,lineColor:void 0}},dataGrouping:{approximation:"averages"}}),n(l.prototype,{areaLinesNames:[],linesApiNames:["aroonDown"],nameBase:"Aroon",pointArrayMap:["y","aroonDown"],pointValKey:"y"}),t.compose(l),e.registerSeriesType("aroon",l),l})),i(e,"Stock/Indicators/AroonOscillator/AroonOscillatorIndicator.js",[e["Stock/Indicators/MultipleLinesComposition.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],(function(t,e,i){let{aroon:s}=e.seriesTypes,{extend:n,merge:r}=i;class o extends s{getValues(t,e){let i,s,n=[],r=[],o=[],a=super.getValues.call(this,t,e);for(s=0;s\u25cf {series.name}: {point.y}'}}),n(o.prototype,{nameBase:"Aroon Oscillator",linesApiNames:[],pointArrayMap:["y"],pointValKey:"y"}),t.compose(s),e.registerSeriesType("aroonoscillator",o),o})),i(e,"Stock/Indicators/ATR/ATRIndicator.js",[e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],(function(t,e){let{sma:i}=t.seriesTypes,{isArray:s,merge:n}=e;function r(t,e){return Math.max(t[1]-t[2],void 0===e?0:Math.abs(t[1]-e[3]),void 0===e?0:Math.abs(t[2]-e[3]))}class o extends i{getValues(t,e){let i,n,o=e.period,a=t.xData,l=t.yData,h=l?l.length:0,c=[[a[0],l[0]]],d=[],u=[],p=[],f=0,g=1,m=0;if(!(a.length<=o)&&s(l[0])&&4===l[0].length){for(n=1;n<=h;n++){var y,x;(function(t,e,i,s){let n=e[s],r=i[s];t.push([n,r])})(c,a,l,n),o\u25cf {series.name}
Top: {point.top}
Middle: {point.middle}
Bottom: {point.bottom}
'},marker:{enabled:!1},dataGrouping:{approximation:"averages"}}),n(a.prototype,{areaLinesNames:["top","bottom"],linesApiNames:["topLine","bottomLine"],nameComponents:["period","standardDeviation"],pointArrayMap:["top","middle","bottom"],pointValKey:"middle"}),t.compose(a),e.registerSeriesType("bb",a),a})),i(e,"Stock/Indicators/CCI/CCIIndicator.js",[e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],(function(t,e){let{sma:i}=t.seriesTypes,{isArray:s,merge:n}=e;class r extends i{getValues(t,e){let i,n,r,o,a,l,h,c=e.period,d=t.xData,u=t.yData,p=u?u.length:0,f=[],g=[],m=[],y=[],x=[],v=1;if(!(d.length<=c)&&s(u[0])&&4===u[0].length){for(;v=e.params.period}return!!(i&&s&&r(i)&&r(s)&&n)}getValues(t,e){if(this.isValid())return this.getMoneyFlow(t.xData,t.yData,this.volumeSeries.yData,e.period)}getMoneyFlow(t,e,i,s){let n,r,o=e.length,a=[],l=[],h=[],c=[],d=-1,u=0,p=0;function f(t,e){let i=t[1],s=t[2],r=t[3];return null!==e&&null!==i&&null!==s&&null!==r&&i!==s?(r-s-(i-r))/(i-s)*e:(d=n,null)}if(s>0&&s<=o){for(n=0;n=s&&0!==u?p/u:null),c.push([l[0],h[0]]);n=s?p/u:null],l.push(r[0]),h.push(r[1]),c.push([r[0],r[1]])}return{values:c,xData:l,yData:h}}}return n.defaultOptions=s(i.defaultOptions,{params:{index:void 0,volumeSeriesID:"volume"}}),t.registerSeriesType("cmf",n),n})),i(e,"Stock/Indicators/DMI/DMIIndicator.js",[e["Stock/Indicators/MultipleLinesComposition.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],(function(t,e,i){let{sma:s}=e.seriesTypes,{correctFloat:n,extend:r,isArray:o,merge:a}=i;class l extends s{calculateDM(t,e,i){let s=t[e][1],r=t[e][2],o=t[e-1][1],a=t[e-1][2];return n(s-o>a-r?i?Math.max(s-o,0):0:i?0:Math.max(a-r,0))}calculateDI(t,e){return t/e*100}calculateDX(t,e){return n(Math.abs(t-e)/Math.abs(t+e)*100)}smoothValues(t,e,i){return n(t-t/i+e)}getTR(t,e){return n(Math.max(t[1]-t[2],e?Math.abs(t[1]-e[3]):0,e?Math.abs(t[2]-e[3]):0))}getValues(t,e){let i=e.period,s=t.xData,n=t.yData,r=n?n.length:0,a=[],l=[],h=[];if(s.length<=i||!o(n[0])||4!==n[0].length)return;let c,d=0,u=0,p=0;for(c=1;c\u25cf {series.name}
DX: {point.y}
+DI: {point.plusDI}
-DI: {point.minusDI}
'},plusDILine:{styles:{lineWidth:1,lineColor:"#06b535"}},minusDILine:{styles:{lineWidth:1,lineColor:"#f21313"}},dataGrouping:{approximation:"averages"}}),r(l.prototype,{areaLinesNames:[],nameBase:"DMI",linesApiNames:["plusDILine","minusDILine"],pointArrayMap:["y","plusDI","minusDI"],parallelArrays:["x","y","plusDI","minusDI"],pointValKey:"y"}),t.compose(l),e.registerSeriesType("dmi",l),l})),i(e,"Stock/Indicators/DPO/DPOIndicator.js",[e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],(function(t,e){let{sma:i}=t.seriesTypes,{extend:s,merge:n,correctFloat:r,pick:o}=e;function a(t,e,i,s,n){let a=o(e[i][s],e[i]);return r(n?t-a:t+a)}class l extends i{getValues(t,e){let i,s,n,r,l,h=e.period,c=e.index,d=h+Math.floor(h/2+1),u=t.xData||[],p=t.yData||[],f=p.length,g=[],m=[],y=[],x=0;if(!(u.length<=d)){for(r=0;rt[u])));let p,f=0,g=0,m=0;for(let s=r;s>0;s--)n[s]>n[s-1]?g+=n[s]-n[s-1]:n[s]0?100*(g-m)/(g+m):0,c.push(o[r]),d.push(p),h.push([o[r],p]),i=r+1;in[i-1]?g+=n[i]-n[i-1]:n[i]n[i-r-1]?g-=f:m-=f,p=g+m>0?100*(g-m)/(g+m):0,c.push(o[i]),d.push(p),h.push([o[i],p]);return{values:h,xData:c,yData:d}}}return r.defaultOptions=n(i.defaultOptions,{params:{period:20,index:3}}),t.registerSeriesType("cmo",r),r})),i(e,"Stock/Indicators/DEMA/DEMAIndicator.js",[e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],(function(t,e){let{ema:i}=t.seriesTypes,{correctFloat:s,isArray:n,merge:r}=e;class o extends i{getEMA(t,e,i,s,n,r){return super.calculateEma(r||[],t,void 0===n?1:n,this.EMApercent,e,void 0===s?-1:s,i)}getValues(t,e){let i,r,o,a,l,h=e.period,c=[],d=2*h,u=t.xData,p=t.yData,f=p?p.length:0,g=[],m=[],y=[],x=0,v=0,b=-1,S=0;if(this.EMApercent=2/(h+1),!(f<2*h-1)){for(n(p[0])&&(b=e.index?e.index:0),S=(x=super.accumulatePeriodPoints(h,b,p))/h,x=0,a=h;ae)return[t[n-3],0!==i.prevLevel3?s(i.level3-i.prevLevel3)/i.prevLevel3*100:null]}}return r.defaultOptions=n(i.defaultOptions),t.registerSeriesType("trix",r),r})),i(e,"Stock/Indicators/APO/APOIndicator.js",[e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],(function(t,e){let{ema:i}=t.seriesTypes,{extend:s,merge:n,error:r}=e;class o extends i{getValues(t,e){let i,s,n=e.periods,o=e.index,a=[],l=[],h=[];if(2!==n.length||n[1]<=n[0])return void r('Error: "APO requires two periods. Notice, first period should be lower than the second one."');let c=super.getValues.call(this,t,{index:o,period:n[0]}),d=super.getValues.call(this,t,{index:o,period:n[1]});if(!c||!d)return;let u=n[1]-n[0];for(s=0;s=0&&c<=1&&d>=0&&d<=1)return{plotX:t.plotX+d*n,plotY:t.plotY+d*r}}}(M.senkouSpanA[t-1],M.senkouSpanA[t],M.senkouSpanB[t-1],M.senkouSpanB[t]);if(e){let i={plotX:e.plotX,plotY:e.plotY,isNull:!1,intersectPoint:!0};M.senkouSpanA.splice(t,0,i),M.senkouSpanB.splice(t,0,i),T.push(t)}}}if(u(M,((t,e)=>{b[e]&&"senkouSpan"!==e&&(x.points=A[N],x.options=d(b[e].styles,w),x.graph=x["graph"+e],x.fillGraph=!1,x.color=k,i.seriesTypes.sma.prototype.drawGraph.call(x),x["graph"+e]=x.graph),N++})),x.graphCollection)for(let i of x.graphCollection)x[i].destroy(),delete x[i];if(x.graphCollection=[],O&&M.senkouSpanA[0]&&M.senkouSpanB[0]){for(T.unshift(0),T.push(M.senkouSpanA.length-1),m=0;m=1){let t=Math.floor(a.length/2);if(a[t].plotY===l[t].plotY){for(y=0,h=0,c=0;yc?0:1]=L[g].concat(a),D[g]=D[g].concat(l)}else L[g=a[t].plotY>l[t].plotY?0:1]=L[g].concat(a),D[g]=D[g].concat(l)}else L[g=a[0].plotY>l[0].plotY?0:1]=L[g].concat(a),D[g]=D[g].concat(l);["graphsenkouSpanColor","graphsenkouSpanNegativeColor"].forEach((function(t,e){L[e].length&&D[e].length&&(p=0===e?E:O,f({indicator:x,points:L[e],nextPoints:D[e],color:p,options:b,gap:w,graph:x[t]}),x[t]=x.graph,x.graphCollection.push(t))}))}else f({indicator:x,points:M.senkouSpanB,nextPoints:M.senkouSpanA,color:E,options:b,gap:w,graph:x.graphsenkouSpan}),x.graphsenkouSpan=x.graph;delete x.nextPoints,delete x.fillGraph,x.points=v,x.options=b,x.graph=S,x.color=k}getGraphPath(t){let e,s=[],n=[];if(t=t||this.points,this.fillGraph&&this.nextPoints){if((e=i.seriesTypes.sma.prototype.getGraphPath.call(this,this.nextPoints))&&e.length){e[0][0]="L",s=i.seriesTypes.sma.prototype.getGraphPath.call(this,t),n=e.slice(0,s.length);for(let t=n.length-1;t>=0;t--)s.push(n[t])}}else s=i.seriesTypes.sma.prototype.getGraphPath.apply(this,arguments);return s}getValues(t,e){let i,s,n,r,o,a,h,d,u,f,g=e.period,m=e.periodTenkan,y=e.periodSenkouSpanB,x=t.xData,v=t.yData,b=t.xAxis,S=v&&v.length||0,k=c(b.series.map((t=>t.xData||[]))),w=[],C=[];if(x.length<=g||!l(v[0])||4!==v[0].length)return;let A=x[0]-g*k;for(o=0;o=m&&(a=((s=p(v.slice(o-m,o))).high+s.low)/2),o>=g&&(u=(a+(h=((n=p(v.slice(o-g,o))).high+n.low)/2))/2),o>=y&&(f=((r=p(v.slice(o-y,o))).high+r.low)/2),d=v[o][3],i=x[o],void 0===w[o]&&(w[o]=[]),void 0===w[o+g-1]&&(w[o+g-1]=[]),w[o+g-1][0]=a,w[o+g-1][1]=h,w[o+g-1][2]=void 0,void 0===w[o+1]&&(w[o+1]=[]),w[o+1][2]=d,o<=g&&(w[o+g-1][3]=void 0,w[o+g-1][4]=void 0),void 0===w[o+2*g-2]&&(w[o+2*g-2]=[]),w[o+2*g-2][3]=u,w[o+2*g-2][4]=f,C.push(i);for(o=1;o<=g;o++)C.push(i+o*k);return{values:w,xData:C,yData:w}}}return g.defaultOptions=d(r.defaultOptions,{params:{index:void 0,period:26,periodTenkan:9,periodSenkouSpanB:52},marker:{enabled:!1},tooltip:{pointFormat:'\u25cf {series.name}
TENKAN SEN: {point.tenkanSen:.3f}
KIJUN SEN: {point.kijunSen:.3f}
CHIKOU SPAN: {point.chikouSpan:.3f}
SENKOU SPAN A: {point.senkouSpanA:.3f}
SENKOU SPAN B: {point.senkouSpanB:.3f}
'},tenkanLine:{styles:{lineWidth:1,lineColor:void 0}},kijunLine:{styles:{lineWidth:1,lineColor:void 0}},chikouLine:{styles:{lineWidth:1,lineColor:void 0}},senkouSpanA:{styles:{lineWidth:1,lineColor:void 0}},senkouSpanB:{styles:{lineWidth:1,lineColor:void 0}},senkouSpan:{styles:{fill:"rgba(255, 0, 0, 0.5)"}},dataGrouping:{approximation:"ichimoku-averages"}}),a(g.prototype,{pointArrayMap:["tenkanSen","kijunSen","chikouSpan","senkouSpanA","senkouSpanB"],pointValKey:"tenkanSen",nameComponents:["periodSenkouSpanB","period","periodTenkan"]}),t["ichimoku-averages"]=function(){let e,i=[];return[].forEach.call(arguments,(function(s,n){i.push(t.average(s)),e=!e&&void 0===i[n]})),e?void 0:i},i.registerSeriesType("ikh",g),g})),i(e,"Stock/Indicators/KeltnerChannels/KeltnerChannelsIndicator.js",[e["Stock/Indicators/MultipleLinesComposition.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],(function(t,e,i){let{sma:s}=e.seriesTypes,{correctFloat:n,extend:r,merge:o}=i;class a extends s{init(){e.seriesTypes.sma.prototype.init.apply(this,arguments),this.options=o({topLine:{styles:{lineColor:this.color}},bottomLine:{styles:{lineColor:this.color}}},this.options)}getValues(t,i){let s,r,o,a,l,h,c,d=i.period,u=i.periodATR,p=i.multiplierATR,f=i.index,g=t.yData,m=g?g.length:0,y=[],x=e.seriesTypes.ema.prototype.getValues(t,{period:d,index:f}),v=e.seriesTypes.atr.prototype.getValues(t,{period:u}),b=[],S=[];if(!(m\u25cf {series.name}
Upper Channel: {point.top}
EMA({series.options.params.period}): {point.middle}
Lower Channel: {point.bottom}
'},marker:{enabled:!1},dataGrouping:{approximation:"averages"},lineWidth:1}),r(a.prototype,{nameBase:"Keltner Channels",areaLinesNames:["top","bottom"],nameComponents:["period","periodATR","multiplierATR"],linesApiNames:["topLine","bottomLine"],pointArrayMap:["top","middle","bottom"],pointValKey:"middle"}),t.compose(a),e.registerSeriesType("keltnerchannels",a),a})),i(e,"Stock/Indicators/Klinger/KlingerIndicator.js",[e["Stock/Indicators/MultipleLinesComposition.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],(function(t,e,i){let{ema:s,sma:n}=e.seriesTypes,{correctFloat:r,error:o,extend:a,isArray:l,merge:h}=i;class c extends n{calculateTrend(t,e){return t[e][1]+t[e][2]+t[e][3]>t[e-1][1]+t[e-1][2]+t[e-1][3]?1:-1}isValidData(t){let e=this.chart,i=this.options,s=this.linkedParent,n=l(t)&&4===t.length,r=this.volumeSeries||(this.volumeSeries=e.get(i.params.volumeSeriesID));return r||o("Series "+i.params.volumeSeriesID+" not found! Check `volumeSeriesID`.",!0,s.chart),!(![s,r].every((function(t){return t&&t.xData&&t.xData.length>=i.params.slowAvgPeriod}))||!n)}getCM(t,e,i,s,n){return r(e+(i===s?t:n))}getDM(t,e){return r(t-e)}getVolumeForce(t){let e,i,s=[],n=0,r=1,o=0,a=t[0][1]-t[0][2],l=0;for(;r=e.fastAvgPeriod&&(n=f=this.getEMA(m,n,y,v,0,p,l)[1]),p>=e.slowAvgPeriod&&(o=s=this.getEMA(m,o,x,b,0,p,l)[1],u.push(i=r(f-s)),u.length>=e.signalPeriod&&(g=u.slice(-e.signalPeriod).reduce(((t,e)=>t+e))/e.signalPeriod),a.push([l[p],i,g]),c.push(l[p]),d.push([i,g]));return{values:a,xData:c,yData:d}}}return c.defaultOptions=h(n.defaultOptions,{params:{fastAvgPeriod:34,slowAvgPeriod:55,signalPeriod:13,volumeSeriesID:"volume"},signalLine:{styles:{lineWidth:1,lineColor:"#ff0000"}},dataGrouping:{approximation:"averages"},tooltip:{pointFormat:'\u25cf {series.name}
Klinger: {point.y}
Signal: {point.signal}
'}}),a(c.prototype,{areaLinesNames:[],linesApiNames:["signalLine"],nameBase:"Klinger",nameComponents:["fastAvgPeriod","slowAvgPeriod"],pointArrayMap:["y","signal"],parallelArrays:["x","y","signal"],pointValKey:"y"}),t.compose(c),e.registerSeriesType("klinger",c),c})),i(e,"Stock/Indicators/MACD/MACDIndicator.js",[e["Core/Globals.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],(function(t,e,i){let{noop:s}=t,{column:n,sma:r}=e.seriesTypes,{extend:o,correctFloat:a,defined:l,merge:h}=i;class c extends r{init(){e.seriesTypes.sma.prototype.init.apply(this,arguments);let t=this.color;this.options&&(l(this.colorIndex)&&(this.options.signalLine&&this.options.signalLine.styles&&!this.options.signalLine.styles.lineColor&&(this.options.colorIndex=this.colorIndex+1,this.getCyclic("color",void 0,this.chart.options.colors),this.options.signalLine.styles.lineColor=this.color),this.options.macdLine&&this.options.macdLine.styles&&!this.options.macdLine.styles.lineColor&&(this.options.colorIndex=this.colorIndex+1,this.getCyclic("color",void 0,this.chart.options.colors),this.options.macdLine.styles.lineColor=this.color)),this.macdZones={zones:this.options.macdLine.zones,startIndex:0},this.signalZones={zones:this.macdZones.zones.concat(this.options.signalLine.zones),startIndex:this.macdZones.zones.length}),this.color=t}toYData(t){return[t.y,t.signal,t.MACD]}translate(){let e=this,i=["plotSignal","plotMACD"];t.seriesTypes.column.prototype.translate.apply(e),e.points.forEach((function(t){[t.signal,t.MACD].forEach((function(s,n){null!==s&&(t[i[n]]=e.yAxis.toPixels(s,!0))}))}))}destroy(){this.graph=null,this.graphmacd=this.graphmacd&&this.graphmacd.destroy(),this.graphsignal=this.graphsignal&&this.graphsignal.destroy(),e.seriesTypes.sma.prototype.destroy.apply(this,arguments)}drawGraph(){let t,i=this,s=i.points,n=i.options,r=i.zones,o={options:{gapSize:n.gapSize}},a=[[],[]],c=s.length;for(;c--;)l((t=s[c]).plotMACD)&&a[0].push({plotX:t.plotX,plotY:t.plotMACD,isNull:!l(t.plotMACD)}),l(t.plotSignal)&&a[1].push({plotX:t.plotX,plotY:t.plotSignal,isNull:!l(t.plotMACD)});["macd","signal"].forEach(((t,s)=>{var r;i.points=a[s],i.options=h((null===(r=n["".concat(t,"Line")])||void 0===r?void 0:r.styles)||{},o),i.graph=i["graph".concat(t)],i.zones=(i["".concat(t,"Zones")].zones||[]).slice(i["".concat(t,"Zones")].startIndex||0),e.seriesTypes.sma.prototype.drawGraph.call(i),i["graph".concat(t)]=i.graph})),i.points=s,i.options=n,i.zones=r}applyZones(){let t=this.zones;this.zones=this.signalZones.zones,e.seriesTypes.sma.prototype.applyZones.call(this),this.graphmacd&&this.options.macdLine.zones.length&&this.graphmacd.hide(),this.zones=t}getValues(t,i){let s,n,r,o=i.longPeriod-i.shortPeriod,h=[],c=[],d=[],u=0,p=[];if(!(t.xData.length=p[0][0]&&(h[r][2]=p[u][1],d[r]=[0,p[u][1],h[r][3]],null===h[r][3]?(h[r][1]=0,d[r][0]=0):(h[r][1]=a(h[r][3]-p[u][1]),d[r][0]=a(h[r][3]-p[u][1])),u++);return{values:h,xData:c,yData:d}}}}return c.defaultOptions=h(r.defaultOptions,{params:{shortPeriod:12,longPeriod:26,signalPeriod:9,period:26},signalLine:{zones:[],styles:{lineWidth:1,lineColor:void 0}},macdLine:{zones:[],styles:{lineWidth:1,lineColor:void 0}},threshold:0,groupPadding:.1,pointPadding:.1,crisp:!1,states:{hover:{halo:{size:0}}},tooltip:{pointFormat:'\u25cf {series.name}
Value: {point.MACD}
Signal: {point.signal}
Histogram: {point.y}
'},dataGrouping:{approximation:"averages"},minPointLength:0}),o(c.prototype,{nameComponents:["longPeriod","shortPeriod","signalPeriod"],pointArrayMap:["y","signal","MACD"],parallelArrays:["x","y","signal","MACD"],pointValKey:"y",markerAttribs:s,getColumnMetrics:t.seriesTypes.column.prototype.getColumnMetrics,crispCol:t.seriesTypes.column.prototype.crispCol,drawPoints:t.seriesTypes.column.prototype.drawPoints}),e.registerSeriesType("macd",c),c})),i(e,"Stock/Indicators/MFI/MFIIndicator.js",[e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],(function(t,e){let{sma:i}=t.seriesTypes,{extend:s,merge:n,error:r,isArray:o}=e;function a(t){return t.reduce((function(t,e){return t+e}))}function l(t){return(t[1]+t[2]+t[3])/3}class h extends i{getValues(t,e){let i,s,n,h,c,d,u=e.period,p=t.xData,f=t.yData,g=f?f.length:0,m=e.decimals,y=t.chart.get(e.volumeSeriesID),x=y&&y.yData,v=[],b=[],S=[],k=[],w=[],C=!1,A=1;if(y){if(!(p.length<=u)&&o(f[0])&&4===f[0].length&&x){for(i=l(f[A]);A=s,n=i*x[A],k.push(C?n:0),w.push(C?0:n),A++;for(d=A-1;dA-1&&(k.shift(),w.shift(),s=i,C=(i=l(f[d]))>s,n=i*x[d],k.push(C?n:0),w.push(C?0:n)),h=a(w),c=parseFloat((100-100/(1+a(k)/h)).toFixed(m)),v.push([p[d],c]),b.push(p[d]),S.push(c);return{values:v,xData:b,yData:S}}}else r("Series "+e.volumeSeriesID+" not found! Check `volumeSeriesID`.",!0,t.chart)}}return h.defaultOptions=n(i.defaultOptions,{params:{index:void 0,volumeSeriesID:"volume",decimals:4}}),s(h.prototype,{nameBase:"Money Flow Index"}),t.registerSeriesType("mfi",h),h})),i(e,"Stock/Indicators/Momentum/MomentumIndicator.js",[e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],(function(t,e){let{sma:i}=t.seriesTypes,{extend:s,isArray:n,merge:r}=e;function o(t,e,i,s,n){let r=e[i-1][n]-e[i-s-1][n];return[t[i-1],r]}class a extends i{getValues(t,e){let i,s,r=e.period,a=e.index,l=t.xData,h=t.yData,c=h?h.length:0,d=[],u=[],p=[];if(!(l.length<=r)&&n(h[0])){for(i=r+1;im?f+i[p]:y===m?f:f-i[p],u=[o[p],g],f=g,m=y,l.push(u),h.push(o[p]),c.push(u[1]);return{values:l,xData:h,yData:c}}n("Series "+e.volumeSeriesID+" not found! Check `volumeSeriesID`.",!0,t.chart)}}return a.defaultOptions=o(i.defaultOptions,{marker:{enabled:!1},params:{index:void 0,period:void 0,volumeSeriesID:"volume"},tooltip:{valueDecimals:0}}),r(a.prototype,{nameComponents:void 0}),t.registerSeriesType("obv",a),a})),i(e,"Stock/Indicators/PivotPoints/PivotPointsPoint.js",[e["Core/Series/SeriesRegistry.js"]],(function(t){let e=t.seriesTypes.sma.prototype.pointClass;function i(e,i){let s,n=e.series.pointArrayMap,r=n.length;for(t.seriesTypes.sma.prototype.pointClass.prototype[i].call(e);r--;)e[s="dataLabel"+n[r]]&&e[s].element&&e[s].destroy(),e[s]=null}return class extends e{destroyElements(){i(this,"destroyElements")}destroy(){i(this,"destroyElements")}}})),i(e,"Stock/Indicators/PivotPoints/PivotPointsIndicator.js",[e["Stock/Indicators/PivotPoints/PivotPointsPoint.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],(function(t,e,i){let{sma:s}=e.seriesTypes,{merge:n,extend:r,defined:o,isArray:a}=i;class l extends s{toYData(t){return[t.P]}translate(){let t=this;super.translate.apply(t),t.points.forEach((function(e){t.pointArrayMap.forEach((function(i){o(e[i])&&(e["plot"+i]=t.yAxis.toPixels(e[i],!0))}))})),t.plotEndPoint=t.xAxis.toPixels(t.endPoint,!0)}getGraphPath(t){let e,i,s,n=this,r=[[],[],[],[],[],[],[],[],[]],a=n.pointArrayMap.length,l=n.plotEndPoint,h=[],c=t.length;for(;c--;){for(s=0,i=t[c];s{h=h.concat(super.getGraphPath.call(n,t))})),h}drawDataLabels(){let t,e,i,s,n=this,r=n.pointArrayMap;n.options.dataLabels.enabled&&(e=n.points.length,r.concat([!1]).forEach(((o,a)=>{for(s=e;s--;)i=n.points[s],o?(i.y=i[o],i.pivotLine=o,i.plotY=i["plot"+o],t=i["dataLabel"+o],a&&(i["dataLabel"+r[a-1]]=i.dataLabel),i.dataLabels||(i.dataLabels=[]),i.dataLabels[0]=i.dataLabel=t=t&&t.element?t:null):i["dataLabel"+r[a-1]]=i.dataLabel;super.drawDataLabels.call(n)})))}getValues(t,e){let i,s,n,r,o,l,h,c=e.period,d=t.xData,u=t.yData,p=u?u.length:0,f=this[e.algorithm+"Placement"],g=[],m=[],y=[];if(!(d.length[Math.min(t[0],s[e]),Math.max(t[1],s[i])]),[Number.MAX_VALUE,-Number.MAX_VALUE])}}})),i(e,"Stock/Indicators/PC/PCIndicator.js",[e["Stock/Indicators/ArrayUtilities.js"],e["Stock/Indicators/MultipleLinesComposition.js"],e["Core/Color/Palettes.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],(function(t,e,i,s,n){let{sma:r}=s.seriesTypes,{merge:o,extend:a}=n;class l extends r{getValues(e,i){let s,n,r,o,a,l,h,c=i.period,d=e.xData,u=e.yData,p=u?u.length:0,f=[],g=[],m=[];if(!(p\u25cf {series.name}
Top: {point.top}
Middle: {point.middle}
Bottom: {point.bottom}
'},params:{period:20,topBand:.1,bottomBand:.1},bottomLine:{styles:{lineWidth:1,lineColor:void 0}},topLine:{styles:{lineWidth:1}},dataGrouping:{approximation:"averages"}}),n(a.prototype,{areaLinesNames:["top","bottom"],linesApiNames:["topLine","bottomLine"],nameComponents:["period","topBand","bottomBand"],nameBase:"Price envelopes",pointArrayMap:["top","middle","bottom"],parallelArrays:["x","y","top","bottom"],pointValKey:"middle"}),t.compose(a),e.registerSeriesType("priceenvelopes",a),a})),i(e,"Stock/Indicators/PSAR/PSARIndicator.js",[e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],(function(t,e){let{sma:i}=t.seriesTypes,{merge:s}=e;function n(t,e){return parseFloat(t.toFixed(e))}class r extends i{constructor(){super(...arguments),this.nameComponents=void 0}getValues(t,e){let i,s,r,o,a,l,h,c,d,u,p,f,g=t.xData,m=t.yData,y=e.maxAccelerationFactor,x=e.increment,v=e.initialAccelerationFactor,b=e.decimals,S=e.index,k=[],w=[],C=[],A=e.initialAccelerationFactor,M=m[0][1],T=1,P=m[0][2];if(!(S>=m.length)){for(f=0;fP?1:-1,s=M-P,r=(A=e.initialAccelerationFactor)*s,k.push([g[S],P]),w.push(g[S]),C.push(n(P,b)),f=S+1;fMath.max(c,h)?j+N:Math.max(c,h):R,E=M,d=1===i?u>E?u:E:pL||-1===O&&u>L?1:-1)===i?1===I&&d>B||-1===I&&dt[b])));S0?x+=n:v+=Math.abs(n),S++;for(o=r(x/(c-1),f),a=r(v/(c-1),f),l=S;l0?(x=n,v=0):(x=0,v=Math.abs(n)),o=r((o*(c-1)+x)/c,f),i=0===(a=r((a*(c-1)+v)/c,f))?100:0===o?0:r(100-100/(1+o/a),f),g.push([d[l],i]),m.push(d[l]),y.push(i);return{values:g,xData:m,yData:y}}}}return o.defaultOptions=n(i.defaultOptions,{params:{decimals:4,index:3}}),t.registerSeriesType("rsi",o),o})),i(e,"Stock/Indicators/Stochastic/StochasticIndicator.js",[e["Stock/Indicators/ArrayUtilities.js"],e["Stock/Indicators/MultipleLinesComposition.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],(function(t,e,i,s){let{sma:n}=i.seriesTypes,{extend:r,isArray:o,merge:a}=s;class l extends n{init(){super.init.apply(this,arguments),this.options=a({smoothedLine:{styles:{lineColor:this.color}}},this.options)}getValues(e,i){let s,n,r,a,l,h=i.periods[0],c=i.periods[1],d=e.xData,u=e.yData,p=u?u.length:0,f=[],g=[],m=[],y=null;if(p=v+(h-1)+(c-1)&&(y=super.getValues({xData:g.slice(-c),yData:m.slice(-c)},{period:c}).yData[0]),f.push([d[l],r,y]),m[e-1][1]=y}return{values:f,xData:g,yData:m}}}return l.defaultOptions=a(n.defaultOptions,{params:{index:void 0,period:void 0,periods:[14,3]},marker:{enabled:!1},tooltip:{pointFormat:'\u25cf {series.name}
%K: {point.y}
%D: {point.smoothed}
'},smoothedLine:{styles:{lineWidth:1,lineColor:void 0}},dataGrouping:{approximation:"averages"}}),r(l.prototype,{areaLinesNames:[],nameComponents:["periods"],nameBase:"Stochastic",pointArrayMap:["y","smoothed"],parallelArrays:["x","y","smoothed"],pointValKey:"y",linesApiNames:["smoothedLine"]}),e.compose(l),i.registerSeriesType("stochastic",l),l})),i(e,"Stock/Indicators/SlowStochastic/SlowStochasticIndicator.js",[e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],(function(t,e){let{sma:i,stochastic:s}=t.seriesTypes,{extend:n,merge:r}=e;class o extends s{getValues(t,e){let s=e.periods,n=super.getValues.call(this,t,e),r={values:[],xData:[],yData:[]};if(!n)return;r.xData=n.xData.slice(s[1]-1);let o=n.yData.slice(s[1]-1),a=i.prototype.getValues.call(this,{xData:r.xData,yData:o},{index:1,period:s[2]});if(a){for(let t=0,e=r.xData.length;t{if(t.options){let e=t.options,i=t.linkedParent.options;e.cropThreshold=i.cropThreshold-(e.params.period-1)}e()}),{order:1})}drawGraph(){let t,e,i,n,r,o,a,d,u,p=this,f=p.options,g=p.linkedParent,m=g?g.points:[],y=p.points,x=p.graph,v=m.length-y.length,b=v>0?v:0,S={options:{gapSize:f.gapSize}},k={top:[],bottom:[],intersect:[]},w={top:{styles:{lineWidth:f.lineWidth,lineColor:f.fallingTrendColor||f.color,dashStyle:f.dashStyle}},bottom:{styles:{lineWidth:f.lineWidth,lineColor:f.risingTrendColor||f.color,dashStyle:f.dashStyle}},intersect:f.changeTrendLine},C=y.length;for(;C--;)t=y[C],e=y[C-1],i=m[C-1+b],n=m[C-2+b],r=m[C+b],o=m[C+b+1],a=t.options.color,d={x:t.x,plotX:t.plotX,plotY:t.plotY,isNull:!1},!n&&i&&g.yData[i.index-1]&&(n=c(g,i.index-1,3)),!o&&r&&g.yData[r.index+1]&&(o=c(g,r.index+1,3)),!i&&n&&g.yData[n.index+1]?i=c(g,n.index+1,3):!i&&r&&g.yData[r.index-1]&&(i=c(g,r.index-1,3)),t&&i&&r&&n&&t.x!==i.x&&(t.x===r.x?(n=i,i=r):t.x===n.x?(i=n,n={close:g.yData[i.index-1][3],x:g.xData[i.index-1]}):o&&t.x===o.x&&(i=o,n=r)),e&&n&&i?(u={x:e.x,plotX:e.plotX,plotY:e.plotY,isNull:!1},t.y>=i.close&&e.y>=n.close?(t.color=a||f.fallingTrendColor||f.color,k.top.push(d)):t.y=i.close&&e.y=n.close&&(t.color=a||f.risingTrendColor||f.color,e.color=a||f.fallingTrendColor||f.color,k.bottom.push(d),k.bottom.push(l(u,{isNull:!0}))))):i&&(t.y>=i.close?(t.color=a||f.fallingTrendColor||f.color,k.top.push(d)):(t.color=a||f.risingTrendColor||f.color,k.bottom.push(d)));h(k,(function(t,e){p.points=t,p.options=l(w[e].styles,S),p.graph=p["graph"+e+"Line"],s.prototype.drawGraph.call(p),p["graph"+e+"Line"]=p.graph})),p.points=y,p.options=f,p.graph=x}getValues(t,e){let s,n,a,l,h,c,d,u,p,f=e.period,g=e.multiplier,m=t.xData,y=t.yData,x=[],v=[],b=[],S=0===f?0:f-1,k=[],w=[],C=[];if(!(m.length<=f)&&o(y[0])&&4===y[0].length&&!(f<0)){for(p=0,C=i.prototype.getValues.call(this,t,{period:f}).yData;pl?k[p]=s:k[p]=l,n>h||d[3]k[p]||c===h&&u[3]>w[p])&&(a=w[p]),x.push([m[S+p],a]),v.push(m[S+p]),b.push(a);return{values:x,xData:v,yData:b}}}}return d.defaultOptions=l(s.defaultOptions,{params:{index:void 0,multiplier:3,period:10},risingTrendColor:"#06b535",fallingTrendColor:"#f21313",changeTrendLine:{styles:{lineWidth:1,lineColor:"#333333",dashStyle:"LongDash"}}}),a(d.prototype,{nameBase:"Supertrend",nameComponents:["multiplier","period"]}),t.registerSeriesType("supertrend",d),d})),i(e,"Stock/Indicators/VBP/VBPPoint.js",[e["Core/Series/SeriesRegistry.js"]],(function(t){let{sma:{prototype:{pointClass:e}}}=t.seriesTypes;return class extends e{destroy(){this.negativeGraphic&&(this.negativeGraphic=this.negativeGraphic.destroy()),super.destroy.apply(this,arguments)}}})),i(e,"Stock/Indicators/VBP/VBPIndicator.js",[e["Stock/Indicators/VBP/VBPPoint.js"],e["Core/Animation/AnimationUtilities.js"],e["Core/Globals.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],(function(t,e,i,s,n){let{animObject:r}=e,{noop:o}=i,{column:{prototype:a},sma:l}=s.seriesTypes,{addEvent:h,arrayMax:c,arrayMin:d,correctFloat:u,defined:p,error:f,extend:g,isArray:m,merge:y}=n,x=Math.abs;class v extends l{init(t,e){let i=this;delete e.data,super.init.apply(i,arguments);let s=h(this.chart.constructor,"afterLinkSeries",(function(){if(i.options){let e=i.options.params,s=i.linkedParent,n=t.get(e.volumeSeriesID);i.addCustomEvents(s,n)}s()}),{order:1});return i}addCustomEvents(t,e){let i=this,s=()=>{i.chart.redraw(),i.setData([]),i.zoneStarts=[],i.zoneLinesSVG&&(i.zoneLinesSVG=i.zoneLinesSVG.destroy())};return i.dataEventsToUnbind.push(h(t,"remove",(function(){s()}))),e&&i.dataEventsToUnbind.push(h(e,"remove",(function(){s()}))),i}animate(t){let e=this,i=e.chart.inverted,s=e.group,n={};if(!t&&s){let t=i?e.yAxis.top:e.xAxis.left;i?(s["forceAnimate:translateY"]=!0,n.translateY=t):(s["forceAnimate:translateX"]=!0,n.translateX=t),s.animate(n,g(r(e.options.animation),{step:function(t,i){e.group.attr({scaleX:Math.max(.001,i.pos)})}}))}}drawPoints(){this.options.volumeDivision.enabled&&(this.posNegVolume(!0,!0),a.drawPoints.apply(this,arguments),this.posNegVolume(!1,!1)),a.drawPoints.apply(this,arguments)}posNegVolume(t,e){let i,s,n,r,o=e?["positive","negative"]:["negative","positive"],a=this.options.volumeDivision,l=this.points.length,h=[],c=[],d=0;for(t?(this.posWidths=h,this.negWidths=c):(h=this.posWidths,c=this.negWidths);dn&&(n=e);return{min:s,max:n}}(i),o=this.zoneStarts=[],a=[],l=r?r.min:d(i),h=r?r.max:c(i),f=0,g=1,m=this.linkedParent;if(!this.options.compareToMain&&m.dataModify&&(l=m.dataModify.modifyValue(l),h=m.dataModify.modifyValue(h)),!p(l)||!p(h))return this.points.length&&(this.setData([]),this.zoneStarts=[],this.zoneLinesSVG&&(this.zoneLinesSVG=this.zoneLinesSVG.destroy())),[];let y=this.rangeStep=u(h-l)/s;for(o.push(l);f=e.end&&e.index===p&&(a=!0),(l>e.start||o)&&(ll?e.negativeVolumeData+=u[h]:e.positiveVolumeData+=u[h])}c.volumeDataArray.push(e.wholeVolumeData)})),e}drawZones(t,e,i,s){let n,r=t.renderer,o=t.plotWidth,a=t.plotTop,l=this.zoneLinesSVG,h=[];i.forEach((function(i){n=e.toPixels(i)-a,h=h.concat(t.renderer.crispLine([["M",0,n],["L",o,n]],s.lineWidth))})),l?l.animate({d:h}):l=this.zoneLinesSVG=r.path(h).attr({"stroke-width":s.lineWidth,stroke:s.color,dashstyle:s.dashStyle,zIndex:this.group.zIndex+.1}).add(this.group)}}return v.defaultOptions=y(l.defaultOptions,{params:{index:void 0,period:void 0,ranges:12,volumeSeriesID:"volume"},zoneLines:{enabled:!0,styles:{color:"#0A9AC9",dashStyle:"LongDash",lineWidth:1}},volumeDivision:{enabled:!0,styles:{positiveColor:"rgba(144, 237, 125, 0.8)",negativeColor:"rgba(244, 91, 91, 0.8)"}},animationLimit:1e3,enableMouseTracking:!1,pointPadding:0,zIndex:-1,crisp:!0,dataGrouping:{enabled:!1},dataLabels:{allowOverlap:!0,enabled:!0,format:"P: {point.volumePos:.2f} | N: {point.volumeNeg:.2f}",padding:0,style:{fontSize:"0.5em"},verticalAlign:"top"}}),g(v.prototype,{nameBase:"Volume by Price",nameComponents:["ranges"],calculateOn:{chart:"render",xAxis:"afterSetExtremes"},pointClass:t,markerAttribs:o,drawGraph:o,getColumnMetrics:a.getColumnMetrics,crispCol:a.crispCol}),s.registerSeriesType("vbp",v),v})),i(e,"Stock/Indicators/VWAP/VWAPIndicator.js",[e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],(function(t,e){let{sma:i}=t.seriesTypes,{error:s,isArray:n,merge:r}=e;class o extends i{getValues(t,e){let i,r=t.chart,o=t.xData,a=t.yData,l=e.period,h=!0;if(i=r.get(e.volumeSeriesID))return n(a[0])||(h=!1),this.calculateVWAPValues(h,o,a,i,l);s("Series "+e.volumeSeriesID+" not found! Check `volumeSeriesID`.",!0,r)}calculateVWAPValues(t,e,i,s,n){let r,o,a,l,h,c,d=s.yData,u=s.xData.length,p=e.length,f=[],g=[],m=[],y=[],x=[];for(h=0,r=p<=u?p:u,c=0;h=v*h&&(f.push([d[0],v]),n=[d[i],u[i][a]],r=!1,y=!0),y&&(g.push(f[0][0]),m.push(f[0][1]),s=i++,i=p);for(i=s;i=n[1]*h&&(x=a)):(u[i][a]>=n[1]&&(n=[d[i],u[i][a]]),u[i][o]<=n[1]*c&&(x=o)),!1!==x&&(f.push(n),g.push(n[0]),m.push(n[1]),n=[d[i],u[i][x]],r=!r,x=!1);let S=f.length;return 0!==S&&f[S-1][0]0&&(void 0===i||e\u25cf{series.name}: {point.y}\xb0
'}}),s(r.prototype,{nameBase:"Linear Regression Angle Indicator"}),t.registerSeriesType("linearRegressionAngle",r),r})),i(e,"Stock/Indicators/ABands/ABandsIndicator.js",[e["Stock/Indicators/MultipleLinesComposition.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],(function(t,e,i){let{sma:s}=e.seriesTypes,{correctFloat:n,extend:r,merge:o}=i;class a extends s{getValues(t,e){let i,s,r,o,a,l,h,c,d,u,p,f=e.period,g=e.factor,m=e.index,y=t.xData,x=t.yData,v=x?x.length:0,b=[],S=[],k=[],w=[],C=[];if(!(v=f&&(d=y.slice(p-f,p),u=x.slice(p-f,p),h=super.getValues.call(this,{xData:d,yData:b.slice(p-f,p)},{period:f}),c=super.getValues.call(this,{xData:d,yData:S.slice(p-f,p)},{period:f}),o=(l=super.getValues.call(this,{xData:d,yData:u},{period:f,index:m})).xData[0],s=h.yData[0],r=c.yData[0],i=l.yData[0],k.push([o,s,i,r]),w.push(o),C.push([s,i,r]))}return{values:k,xData:w,yData:C}}}}return a.defaultOptions=o(s.defaultOptions,{params:{period:20,factor:.001,index:3},lineWidth:1,topLine:{styles:{lineWidth:1}},bottomLine:{styles:{lineWidth:1}},dataGrouping:{approximation:"averages"}}),r(a.prototype,{areaLinesNames:["top","bottom"],linesApiNames:["topLine","bottomLine"],nameBase:"Acceleration Bands",nameComponents:["period","factor"],pointArrayMap:["top","middle","bottom"],pointValKey:"middle"}),t.compose(a),e.registerSeriesType("abands",a),a})),i(e,"Stock/Indicators/TrendLine/TrendLineIndicator.js",[e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],(function(t,e){let{sma:i}=t.seriesTypes,{extend:s,merge:n,isArray:r}=e;class o extends i{constructor(){super(...arguments),this.updateAllPoints=!0}getValues(t,e){let i=t.xData,s=t.yData,n=[],o=[],a=[],l=[],h=e.index,c=0,d=0,u=0,p=0,f=0;for(let r=0;r{var s,n,r;r=function(t){"use strict";var e=t?t._modules:{};function i(t,e,i,s){t.hasOwnProperty(e)||(t[e]=s.apply(null,i),"function"==typeof CustomEvent&&window.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:e,module:t[e]}})))}i(e,"Stock/Indicators/VBP/VBPPoint.js",[e["Core/Series/SeriesRegistry.js"]],(function(t){let{sma:{prototype:{pointClass:e}}}=t.seriesTypes;return class extends e{destroy(){this.negativeGraphic&&(this.negativeGraphic=this.negativeGraphic.destroy()),super.destroy.apply(this,arguments)}}})),i(e,"Stock/Indicators/VBP/VBPIndicator.js",[e["Stock/Indicators/VBP/VBPPoint.js"],e["Core/Animation/AnimationUtilities.js"],e["Core/Globals.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],(function(t,e,i,s,n){let{animObject:r}=e,{noop:o}=i,{column:{prototype:a},sma:l}=s.seriesTypes,{addEvent:h,arrayMax:c,arrayMin:d,correctFloat:u,defined:p,error:f,extend:g,isArray:m,merge:y}=n,x=Math.abs;class v extends l{init(t,e){let i=this;delete e.data,super.init.apply(i,arguments);let s=h(this.chart.constructor,"afterLinkSeries",(function(){if(i.options){let e=i.options.params,s=i.linkedParent,n=t.get(e.volumeSeriesID);i.addCustomEvents(s,n)}s()}),{order:1});return i}addCustomEvents(t,e){let i=this,s=()=>{i.chart.redraw(),i.setData([]),i.zoneStarts=[],i.zoneLinesSVG&&(i.zoneLinesSVG=i.zoneLinesSVG.destroy())};return i.dataEventsToUnbind.push(h(t,"remove",(function(){s()}))),e&&i.dataEventsToUnbind.push(h(e,"remove",(function(){s()}))),i}animate(t){let e=this,i=e.chart.inverted,s=e.group,n={};if(!t&&s){let t=i?e.yAxis.top:e.xAxis.left;i?(s["forceAnimate:translateY"]=!0,n.translateY=t):(s["forceAnimate:translateX"]=!0,n.translateX=t),s.animate(n,g(r(e.options.animation),{step:function(t,i){e.group.attr({scaleX:Math.max(.001,i.pos)})}}))}}drawPoints(){this.options.volumeDivision.enabled&&(this.posNegVolume(!0,!0),a.drawPoints.apply(this,arguments),this.posNegVolume(!1,!1)),a.drawPoints.apply(this,arguments)}posNegVolume(t,e){let i,s,n,r,o=e?["positive","negative"]:["negative","positive"],a=this.options.volumeDivision,l=this.points.length,h=[],c=[],d=0;for(t?(this.posWidths=h,this.negWidths=c):(h=this.posWidths,c=this.negWidths);dn&&(n=e);return{min:s,max:n}}(i),o=this.zoneStarts=[],a=[],l=r?r.min:d(i),h=r?r.max:c(i),f=0,g=1,m=this.linkedParent;if(!this.options.compareToMain&&m.dataModify&&(l=m.dataModify.modifyValue(l),h=m.dataModify.modifyValue(h)),!p(l)||!p(h))return this.points.length&&(this.setData([]),this.zoneStarts=[],this.zoneLinesSVG&&(this.zoneLinesSVG=this.zoneLinesSVG.destroy())),[];let y=this.rangeStep=u(h-l)/s;for(o.push(l);f=e.end&&e.index===p&&(a=!0),(l>e.start||o)&&(ll?e.negativeVolumeData+=u[h]:e.positiveVolumeData+=u[h])}c.volumeDataArray.push(e.wholeVolumeData)})),e}drawZones(t,e,i,s){let n,r=t.renderer,o=t.plotWidth,a=t.plotTop,l=this.zoneLinesSVG,h=[];i.forEach((function(i){n=e.toPixels(i)-a,h=h.concat(t.renderer.crispLine([["M",0,n],["L",o,n]],s.lineWidth))})),l?l.animate({d:h}):l=this.zoneLinesSVG=r.path(h).attr({"stroke-width":s.lineWidth,stroke:s.color,dashstyle:s.dashStyle,zIndex:this.group.zIndex+.1}).add(this.group)}}return v.defaultOptions=y(l.defaultOptions,{params:{index:void 0,period:void 0,ranges:12,volumeSeriesID:"volume"},zoneLines:{enabled:!0,styles:{color:"#0A9AC9",dashStyle:"LongDash",lineWidth:1}},volumeDivision:{enabled:!0,styles:{positiveColor:"rgba(144, 237, 125, 0.8)",negativeColor:"rgba(244, 91, 91, 0.8)"}},animationLimit:1e3,enableMouseTracking:!1,pointPadding:0,zIndex:-1,crisp:!0,dataGrouping:{enabled:!1},dataLabels:{allowOverlap:!0,enabled:!0,format:"P: {point.volumePos:.2f} | N: {point.volumeNeg:.2f}",padding:0,style:{fontSize:"0.5em"},verticalAlign:"top"}}),g(v.prototype,{nameBase:"Volume by Price",nameComponents:["ranges"],calculateOn:{chart:"render",xAxis:"afterSetExtremes"},pointClass:t,markerAttribs:o,drawGraph:o,getColumnMetrics:a.getColumnMetrics,crispCol:a.crispCol}),s.registerSeriesType("vbp",v),v})),i(e,"masters/indicators/volume-by-price.src.js",[e["Core/Globals.js"]],(function(t){return t}))},t.exports?(r.default=r,t.exports=r):(s=[i(3488),i(5149)],void 0===(n=function(t){return r(t),r.Highcharts=t,r}.apply(e,s))||(t.exports=n))},5149:(t,e,i)=>{var s,n,r;r=function(t){"use strict";var e=t?t._modules:{};function i(t,e,i,s){t.hasOwnProperty(e)||(t[e]=s.apply(null,i),"function"==typeof CustomEvent&&window.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:e,module:t[e]}})))}i(e,"Series/DataModifyComposition.js",[e["Core/Axis/Axis.js"],e["Core/Series/Point.js"],e["Core/Series/Series.js"],e["Core/Utilities.js"]],(function(t,e,i,s){var n;let{tooltipFormatter:r}=e.prototype,{addEvent:o,arrayMax:a,arrayMin:l,correctFloat:h,defined:c,isArray:d,isNumber:u,isString:p,pick:f}=s;return function(t){function e(t,e,i){!this.isXAxis&&(this.series.forEach((function(i){"compare"===t&&"boolean"!=typeof e?i.setCompare(e,!1):"cumulative"!==t||p(e)||i.setCumulative(e,!1)})),f(i,!0)&&this.chart.redraw())}function i(t){let e=this,{numberFormatter:i}=e.series.chart,s=function(s){t=t.replace("{point."+s+"}",(e[s]>0&&"change"===s?"+":"")+i(e[s],f(e.series.tooltipOptions.changeDecimals,2)))};return c(e.change)&&s("change"),c(e.cumulativeSum)&&s("cumulativeSum"),r.apply(this,[t])}function s(){let t,e=this.options.compare;("percent"===e||"value"===e||this.options.cumulative)&&(t=new b(this),"percent"===e||"value"===e?t.initCompare(e):t.initCumulative()),this.dataModify=t}function n(t){let e=t.dataExtremes,i=e.activeYData;if(this.dataModify&&e){let t;this.options.compare?t=[this.dataModify.modifyValue(e.dataMin),this.dataModify.modifyValue(e.dataMax)]:this.options.cumulative&&d(i)&&i.length>=2&&(t=b.getCumulativeExtremes(i)),t&&(e.dataMin=l(t),e.dataMax=a(t))}}function g(t,e){this.options.compare=this.userOptions.compare=t,this.update({},f(e,!0)),!this.dataModify||"value"!==t&&"percent"!==t?this.points.forEach((t=>{delete t.change})):this.dataModify.initCompare(t)}function m(){if(this.xAxis&&this.processedYData&&this.dataModify){let t,e=this.processedXData,i=this.processedYData,s=i.length,n=!0===this.options.compareStart?0:1,r=-1;for(this.pointArrayMap&&(r=this.pointArrayMap.indexOf(this.options.pointValKey||this.pointValKey||"y")),t=0;t-1?i[t][r]:i[t];if(u(s)&&0!==s&&e[t+n]>=(this.xAxis.min||0)){this.dataModify.compareValue=s;break}}}}function y(t,e){this.setModifier("compare",t,e)}function x(t,e){t=f(t,!1),this.options.cumulative=this.userOptions.cumulative=t,this.update({},f(e,!0)),this.dataModify?this.dataModify.initCumulative():this.points.forEach((t=>{delete t.cumulativeSum}))}function v(t,e){this.setModifier("cumulative",t,e)}t.compose=function(t,r,a){let l=r.prototype,h=a.prototype,c=t.prototype;return c.setCompare||(c.setCompare=g,c.setCumulative=x,o(t,"afterInit",s),o(t,"afterGetExtremes",n),o(t,"afterProcessData",m)),l.setCompare||(l.setCompare=y,l.setModifier=e,l.setCumulative=v,h.tooltipFormatter=i),t};class b{constructor(t){this.series=t}modifyValue(){return 0}static getCumulativeExtremes(t){let e=1/0,i=-1/0;return t.reduce(((t,s)=>{let n=t+s;return e=Math.min(e,n,t),i=Math.max(i,n,t),n})),[e,i]}initCompare(t){this.modifyValue=function(e,i){null===e&&(e=0);let s=this.compareValue;if(void 0!==e&&void 0!==s){if("value"===t?e-=s:e=e/s*100-(100===this.series.options.compareBase?0:100),void 0!==i){let t=this.series.points[i];t&&(t.change=e)}return e}return 0}}initCumulative(){this.modifyValue=function(t,e){if(null===t&&(t=0),void 0!==t&&void 0!==e){let i=e>0?this.series.points[e-1]:null;i&&i.cumulativeSum&&(t=h(i.cumulativeSum+t));let s=this.series.points[e];return s&&(s.cumulativeSum=t),t}return 0}}}t.Additions=b}(n||(n={})),n})),i(e,"Stock/Navigator/ChartNavigatorComposition.js",[e["Core/Globals.js"],e["Core/Utilities.js"]],(function(t,e){let i,{isTouchDevice:s}=t,{addEvent:n,merge:r,pick:o}=e,a=[];function l(){this.navigator&&this.navigator.setBaseSeries(null,!1)}function h(){let t,e,i,s=this.legend,n=this.navigator;if(n){var r;t=s&&s.options,e=n.xAxis,i=n.yAxis;let{scrollbarHeight:a,scrollButtonSize:l}=n;this.inverted?(n.left=n.opposite?this.chartWidth-a-n.height:this.spacing[3]+a,n.top=this.plotTop+l):(n.left=o(e.left,this.plotLeft+l),n.top=n.navigatorOptions.top||this.chartHeight-n.height-a-((null===(r=this.scrollbar)||void 0===r?void 0:r.options.margin)||0)-this.spacing[2]-(this.rangeSelector&&this.extraBottomMargin?this.rangeSelector.getHeight():0)-(t&&"bottom"===t.verticalAlign&&"proximate"!==t.layout&&t.enabled&&!t.floating?s.legendHeight+o(t.margin,10):0)-(this.titleOffset?this.titleOffset[2]:0)),e&&i&&(this.inverted?e.options.left=i.options.left=n.left:e.options.top=i.options.top=n.top,e.setAxisSize(),i.setAxisSize())}}function c(t){!this.navigator&&!this.scroller&&(this.options.navigator.enabled||this.options.scrollbar.enabled)&&(this.scroller=this.navigator=new i(this),o(t.redraw,!0)&&this.redraw(t.animation))}function d(){let t=this.options;(t.navigator.enabled||t.scrollbar.enabled)&&(this.scroller=this.navigator=new i(this))}function u(){let t=this.options,e=t.navigator,i=t.rangeSelector;if((e&&e.enabled||i&&i.enabled)&&(!s&&"x"===this.zooming.type||s&&"x"===this.zooming.pinchType))return!1}function p(t){let e=t.navigator;if(e&&t.xAxis[0]){let i=t.xAxis[0].getExtremes();e.render(i.min,i.max)}}function f(t){let e=t.options.navigator||{},i=t.options.scrollbar||{};!this.navigator&&!this.scroller&&(e.enabled||i.enabled)&&(r(!0,this.options.navigator,e),r(!0,this.options.scrollbar,i),delete t.options.navigator,delete t.options.scrollbar)}return{compose:function(t,s){if(e.pushUnique(a,t)){let e=t.prototype;i=s,e.callbacks.push(p),n(t,"afterAddSeries",l),n(t,"afterSetChartSize",h),n(t,"afterUpdate",c),n(t,"beforeRender",d),n(t,"beforeShowResetZoom",u),n(t,"update",f)}}}})),i(e,"Core/Axis/NavigatorAxisComposition.js",[e["Core/Globals.js"],e["Core/Utilities.js"]],(function(t,e){let{isTouchDevice:i}=t,{addEvent:s,correctFloat:n,defined:r,isNumber:o,pick:a}=e;function l(){this.navigatorAxis||(this.navigatorAxis=new c(this))}function h(t){let e,s=this.chart,n=s.options,o=n.navigator,a=this.navigatorAxis,l=s.zooming.pinchType,h=n.rangeSelector,c=s.zooming.type;if(this.isXAxis&&(null!==o&&void 0!==o&&o.enabled||null!==h&&void 0!==h&&h.enabled))if("y"===c&&"zoom"===t.trigger)e=!1;else if(("zoom"===t.trigger&&"xy"===c||i&&"xy"===l)&&this.options.range){let e=a.previousZoom;r(t.min)?a.previousZoom=[this.min,this.max]:e&&(t.min=e[0],t.max=e[1],a.previousZoom=void 0)}void 0!==e&&t.preventDefault()}class c{static compose(t){t.keepProps.includes("navigatorAxis")||(t.keepProps.push("navigatorAxis"),s(t,"init",l),s(t,"setExtremes",h))}constructor(t){this.axis=t}destroy(){this.axis=void 0}toFixedRange(t,e,i,s){var l;let h=this.axis,c=h.chart,d=a(null===(l=h.ordinal)||void 0===l?void 0:l.convertOverscroll(h.options.overscroll),0),u=a(i,h.translate(t,!0,!h.horiz)),p=a(s,h.translate(e,!0,!h.horiz)),f=c&&c.fixedRange,g=(h.pointRange||0)/2;if(r(i)||(u=n(u+g)),r(s)||(p=n(p-g)),f&&h.dataMin&&h.dataMax){let t=h.dataMax+d;p>=t&&(u=n(t-f),p=n(t)),u<=h.dataMin&&(p=n(h.dataMin+f))}return o(u)&&o(p)||(u=p=void 0),{min:u,max:p}}}return c})),i(e,"Stock/Navigator/NavigatorDefaults.js",[e["Core/Color/Color.js"],e["Core/Series/SeriesRegistry.js"]],(function(t,e){let{parse:i}=t,{seriesTypes:s}=e;return{height:40,margin:25,maskInside:!0,handles:{width:7,height:15,symbols:["navigator-handle","navigator-handle"],enabled:!0,lineWidth:1,backgroundColor:"#f2f2f2",borderColor:"#999999"},maskFill:i("#667aff").setOpacity(.3).get(),outlineColor:"#999999",outlineWidth:1,series:{type:void 0===s.areaspline?"line":"areaspline",fillOpacity:.05,lineWidth:1,compare:null,sonification:{enabled:!1},dataGrouping:{approximation:"average",enabled:!0,groupPixelWidth:2,firstAnchor:"firstPoint",anchor:"middle",lastAnchor:"lastPoint",units:[["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,3,4]],["week",[1,2,3]],["month",[1,3,6]],["year",null]]},dataLabels:{enabled:!1,zIndex:2},id:"highcharts-navigator-series",className:"highcharts-navigator-series",lineColor:null,marker:{enabled:!1},threshold:null},xAxis:{className:"highcharts-navigator-xaxis",tickLength:0,lineWidth:0,gridLineColor:"#e6e6e6",gridLineWidth:1,tickPixelInterval:200,labels:{align:"left",style:{color:"#000000",fontSize:"0.7em",opacity:.6,textOutline:"2px contrast"},x:3,y:-4},crosshair:!1},yAxis:{className:"highcharts-navigator-yaxis",gridLineWidth:0,startOnTick:!1,endOnTick:!1,minPadding:.1,maxPadding:.1,labels:{enabled:!1},crosshair:!1,title:{text:null},tickLength:0,tickWidth:0}}})),i(e,"Stock/Navigator/NavigatorSymbols.js",[],(function(){return{"navigator-handle":function(t,e,i,s){let n=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{},r=n.width?n.width/2:i,o=Math.round(r/3)+.5;return[["M",-r-1,.5],["L",r,.5],["L",r,(s=n.height||s)+.5],["L",-r-1,s+.5],["L",-r-1,.5],["M",-o,4],["L",-o,s-3],["M",o-1,4],["L",o-1,s-3]]}}})),i(e,"Stock/Utilities/StockUtilities.js",[e["Core/Utilities.js"]],(function(t){let{defined:e}=t;return{setFixedRange:function(t){let i=this.xAxis[0];e(i.dataMax)&&e(i.dataMin)&&t?this.fixedRange=Math.min(t,i.dataMax-i.dataMin):this.fixedRange=t}}})),i(e,"Stock/Navigator/NavigatorComposition.js",[e["Core/Defaults.js"],e["Core/Globals.js"],e["Core/Axis/NavigatorAxisComposition.js"],e["Stock/Navigator/NavigatorDefaults.js"],e["Stock/Navigator/NavigatorSymbols.js"],e["Core/Renderer/RendererRegistry.js"],e["Stock/Utilities/StockUtilities.js"],e["Core/Utilities.js"]],(function(t,e,i,s,n,r,o,a){let{setOptions:l}=t,{composed:h}=e,{getRendererType:c}=r,{setFixedRange:d}=o,{addEvent:u,extend:p,pushUnique:f}=a;function g(){this.chart.navigator&&!this.options.isInternal&&this.chart.navigator.setBaseSeries(null,!1)}return{compose:function(t,e,r){i.compose(e),f(h,"Navigator")&&(t.prototype.setFixedRange=d,p(c().prototype.symbols,n),u(r,"afterUpdate",g),l({navigator:s}))}}})),i(e,"Core/Axis/ScrollbarAxis.js",[e["Core/Globals.js"],e["Core/Utilities.js"]],(function(t,e){var i;let{composed:s}=t,{addEvent:n,defined:r,pick:o,pushUnique:a}=e;return function(t){let e;function i(t){let e=o(t.options&&t.options.min,t.min),i=o(t.options&&t.options.max,t.max);return{axisMin:e,axisMax:i,scrollMin:r(t.dataMin)?Math.min(e,t.min,t.dataMin,o(t.threshold,1/0)):e,scrollMax:r(t.dataMax)?Math.max(i,t.max,t.dataMax,o(t.threshold,-1/0)):i}}function l(){let t=this.scrollbar,e=t&&!t.options.opposite,i=this.horiz?2:e?3:1;t&&(this.chart.scrollbarsOffsets=[0,0],this.chart.axisOffset[i]+=t.size+(t.options.margin||0))}function h(){let t=this;t.options&&t.options.scrollbar&&t.options.scrollbar.enabled&&(t.options.scrollbar.vertical=!t.horiz,t.options.startOnTick=t.options.endOnTick=!1,t.scrollbar=new e(t.chart.renderer,t.options.scrollbar,t.chart),n(t.scrollbar,"changed",(function(e){let s,n,{axisMin:o,axisMax:a,scrollMin:l,scrollMax:h}=i(t),c=h-l;if(r(o)&&r(a))if(t.horiz&&!t.reversed||!t.horiz&&t.reversed?(s=l+c*this.to,n=l+c*this.from):(s=l+c*(1-this.from),n=l+c*(1-this.to)),this.shouldUpdateExtremes(e.DOMType)){let i="mousemove"!==e.DOMType&&"touchmove"!==e.DOMType&&void 0;t.setExtremes(n,s,!0,i,e)}else this.setRange(this.from,this.to)})))}function c(){let t,e,s,{scrollMin:n,scrollMax:o}=i(this),a=this.scrollbar,l=this.axisTitleMargin+(this.titleOffset||0),h=this.chart.scrollbarsOffsets,c=this.options.margin||0;if(a&&h){if(this.horiz)this.opposite||(h[1]+=l),a.position(this.left,this.top+this.height+2+h[1]-(this.opposite?c:0),this.width,this.height),this.opposite||(h[1]+=c),t=1;else{let e;this.opposite&&(h[0]+=l),e=a.options.opposite?this.left+this.width+2+h[0]-(this.opposite?0:c):this.opposite?0:c,a.position(e,this.top,this.width,this.height),this.opposite&&(h[0]+=c),t=0}h[t]+=a.size+(a.options.margin||0),isNaN(n)||isNaN(o)||!r(this.min)||!r(this.max)||this.min===this.max?a.setRange(0,1):(e=(this.min-n)/(o-n),s=(this.max-n)/(o-n),this.horiz&&!this.reversed||!this.horiz&&this.reversed?a.setRange(e,s):a.setRange(1-s,1-e))}}t.compose=function(t,i){a(s,"Axis.Scrollbar")&&(e=i,n(t,"afterGetOffset",l),n(t,"afterInit",h),n(t,"afterRender",c))}}(i||(i={})),i})),i(e,"Stock/Scrollbar/ScrollbarDefaults.js",[],(function(){return{height:10,barBorderRadius:5,buttonBorderRadius:0,buttonsEnabled:!1,liveRedraw:void 0,margin:void 0,minWidth:6,opposite:!0,step:.2,zIndex:3,barBackgroundColor:"#cccccc",barBorderWidth:0,barBorderColor:"#cccccc",buttonArrowColor:"#333333",buttonBackgroundColor:"#e6e6e6",buttonBorderColor:"#cccccc",buttonBorderWidth:1,rifleColor:"none",trackBackgroundColor:"rgba(255, 255, 255, 0.001)",trackBorderColor:"#cccccc",trackBorderRadius:5,trackBorderWidth:1}})),i(e,"Stock/Scrollbar/Scrollbar.js",[e["Core/Defaults.js"],e["Core/Globals.js"],e["Core/Axis/ScrollbarAxis.js"],e["Stock/Scrollbar/ScrollbarDefaults.js"],e["Core/Utilities.js"]],(function(t,e,i,s,n){let{defaultOptions:r}=t,{addEvent:o,correctFloat:a,defined:l,destroyObjectProperties:h,fireEvent:c,merge:d,pick:u,removeEvent:p}=n;class f{static compose(t){i.compose(t,f)}static swapXY(t,e){return e&&t.forEach((t=>{let e,i=t.length;for(let s=0;sthis.calculatedWidth?e.minWidth:0;return{chartX:(t.chartX-this.x-this.xOffset)/(this.barWidth-i),chartY:(t.chartY-this.y-this.yOffset)/(this.barWidth-i)}}destroy(){let t=this,e=t.chart.scroller;t.removeEvents(),["track","scrollbarRifles","scrollbar","scrollbarGroup","group"].forEach((function(e){t[e]&&t[e].destroy&&(t[e]=t[e].destroy())})),e&&t===e.scrollbar&&(e.scrollbar=null,h(e.scrollbarButtons))}drawScrollbarButton(t){let e=this.renderer,i=this.scrollbarButtons,s=this.options,n=this.size,r=e.g().add(this.group);if(i.push(r),s.buttonsEnabled){let o=e.rect().addClass("highcharts-scrollbar-button").add(r);this.chart.styledMode||o.attr({stroke:s.buttonBorderColor,"stroke-width":s.buttonBorderWidth,fill:s.buttonBackgroundColor}),o.attr(o.crisp({x:-.5,y:-.5,width:n+1,height:n+1,r:s.buttonBorderRadius},o.strokeWidth()));let a=e.path(f.swapXY([["M",n/2+(t?-1:1),n/2-3],["L",n/2+(t?-1:1),n/2+3],["L",n/2+(t?2:-2),n/2]],s.vertical)).addClass("highcharts-scrollbar-arrow").add(i[t]);this.chart.styledMode||a.attr({fill:s.buttonArrowColor})}}init(t,e,i){this.scrollbarButtons=[],this.renderer=t,this.userOptions=e,this.options=d(s,r.scrollbar,e),this.options.margin=u(this.options.margin,10),this.chart=i,this.size=u(this.options.size,this.options.height),e.enabled&&(this.render(),this.addEvents())}mouseDownHandler(t){var e;let i=(null===(e=this.chart.pointer)||void 0===e?void 0:e.normalize(t))||t,s=this.cursorToScrollbarPosition(i);this.chartX=s.chartX,this.chartY=s.chartY,this.initPositions=[this.from,this.to],this.grabbedCenter=!0}mouseMoveHandler(t){var e;let i,s=(null===(e=this.chart.pointer)||void 0===e?void 0:e.normalize(t))||t,n=this.options.vertical?"chartY":"chartX",r=this.initPositions||[];this.grabbedCenter&&(!t.touches||0!==t.touches[0][n])&&(i=this.cursorToScrollbarPosition(s)[n]-this[n],this.hasDragged=!0,this.updatePosition(r[0]+i,r[1]+i),this.hasDragged&&c(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMType:t.type,DOMEvent:t}))}mouseUpHandler(t){this.hasDragged&&c(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMType:t.type,DOMEvent:t}),this.grabbedCenter=this.hasDragged=this.chartX=this.chartY=null}position(t,e,i,s){let{buttonsEnabled:n,margin:r=0,vertical:o}=this.options,a=this.rendered?"animate":"attr",l=s,h=0;this.group.show(),this.x=t,this.y=e+this.trackBorderWidth,this.width=i,this.height=s,this.xOffset=l,this.yOffset=h,o?(this.width=this.yOffset=i=h=this.size,this.xOffset=l=0,this.yOffset=h=n?this.size:0,this.barWidth=s-(n?2*i:0),this.x=t+=r):(this.height=s=this.size,this.xOffset=l=n?this.size:0,this.barWidth=i-(n?2*s:0),this.y=this.y+r),this.group[a]({translateX:t,translateY:this.y}),this.track[a]({width:i,height:s}),this.scrollbarButtons[1][a]({translateX:o?0:i-l,translateY:o?s-h:0})}removeEvents(){this._events.forEach((function(t){p.apply(null,t)})),this._events.length=0}render(){let t=this.renderer,e=this.options,i=this.size,s=this.chart.styledMode,n=t.g("scrollbar").attr({zIndex:e.zIndex}).hide().add();this.group=n,this.track=t.rect().addClass("highcharts-scrollbar-track").attr({r:e.trackBorderRadius||0,height:i,width:i}).add(n),s||this.track.attr({fill:e.trackBackgroundColor,stroke:e.trackBorderColor,"stroke-width":e.trackBorderWidth});let r=this.trackBorderWidth=this.track.strokeWidth();this.track.attr({x:-r%2/2,y:-r%2/2}),this.scrollbarGroup=t.g().add(n),this.scrollbar=t.rect().addClass("highcharts-scrollbar-thumb").attr({height:i-r,width:i-r,r:e.barBorderRadius||0}).add(this.scrollbarGroup),this.scrollbarRifles=t.path(f.swapXY([["M",-3,i/4],["L",-3,2*i/3],["M",0,i/4],["L",0,2*i/3],["M",3,i/4],["L",3,2*i/3]],e.vertical)).addClass("highcharts-scrollbar-rifles").add(this.scrollbarGroup),s||(this.scrollbar.attr({fill:e.barBackgroundColor,stroke:e.barBorderColor,"stroke-width":e.barBorderWidth}),this.scrollbarRifles.attr({stroke:e.rifleColor,"stroke-width":1})),this.scrollbarStrokeWidth=this.scrollbar.strokeWidth(),this.scrollbarGroup.translate(-this.scrollbarStrokeWidth%2/2,-this.scrollbarStrokeWidth%2/2),this.drawScrollbarButton(0),this.drawScrollbarButton(1)}setRange(t,e){let i,s,n=this.options,r=n.vertical,o=n.minWidth,h=this.barWidth,c=!this.rendered||this.hasDragged||this.chart.navigator&&this.chart.navigator.hasDragged?"attr":"animate";if(!l(h))return;let d=h*Math.min(e,1);i=Math.ceil(h*(t=Math.max(t,0))),this.calculatedWidth=s=a(d-i),s=1?this.group.hide():this.group.show()),this.rendered=!0}shouldUpdateExtremes(t){return u(this.options.liveRedraw,e.svg&&!e.isTouchDevice&&!this.chart.boosted)||"mouseup"===t||"touchend"===t||!l(t)}trackClick(t){var e;let i=(null===(e=this.chart.pointer)||void 0===e?void 0:e.normalize(t))||t,s=this.to-this.from,n=this.y+this.scrollbarTop,r=this.x+this.scrollbarLeft;this.options.vertical&&i.chartY>n||!this.options.vertical&&i.chartX>r?this.updatePosition(this.from+s,this.to+s):this.updatePosition(this.from-s,this.to-s),c(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMEvent:t})}update(t){this.destroy(),this.init(this.chart.renderer,d(!0,this.options,t),this.chart)}updatePosition(t,e){e>1&&(t=a(1-a(e-t)),e=1),t<0&&(e=a(e-t),t=0),this.from=t,this.to=e}}return f.defaultOptions=s,r.scrollbar=d(!0,f.defaultOptions,r.scrollbar),f})),i(e,"Stock/Navigator/Navigator.js",[e["Core/Axis/Axis.js"],e["Stock/Navigator/ChartNavigatorComposition.js"],e["Core/Defaults.js"],e["Core/Globals.js"],e["Core/Axis/NavigatorAxisComposition.js"],e["Stock/Navigator/NavigatorComposition.js"],e["Stock/Scrollbar/Scrollbar.js"],e["Core/Utilities.js"]],(function(t,e,i,s,n,r,o,a){let{defaultOptions:l}=i,{isTouchDevice:h}=s,{addEvent:c,clamp:d,correctFloat:u,defined:p,destroyObjectProperties:f,erase:g,extend:m,find:y,fireEvent:x,isArray:v,isNumber:b,merge:S,pick:k,removeEvent:w,splat:C}=a;function A(t){for(var e=arguments.length,i=new Array(e>1?e-1:0),s=1;s{t[s]({x:o[e],y:a[e],width:r[e],height:n[e]})}))}renderElements(){let t=this,e=t.navigatorOptions,i=e.maskInside,s=t.chart,n=s.inverted,r=s.renderer,o={cursor:n?"ns-resize":"ew-resize"},a=t.navigatorGroup=r.g("navigator").attr({zIndex:8,visibility:"hidden"}).add();if([!i,i,!i].forEach(((i,n)=>{let l=r.rect().addClass("highcharts-navigator-mask"+(1===n?"-inside":"-outside")).add(a);s.styledMode||(l.attr({fill:i?e.maskFill:"rgba(0,0,0,0)"}),1===n&&l.css(o)),t.shades[n]=l})),t.outline=r.path().addClass("highcharts-navigator-outline").add(a),s.styledMode||t.outline.attr({"stroke-width":e.outlineWidth,stroke:e.outlineColor}),e.handles&&e.handles.enabled){let i=e.handles,{height:n,width:l}=i;[0,1].forEach((e=>{t.handles[e]=r.symbol(i.symbols[e],-l/2-1,0,l,n,i),s.inverted&&t.handles[e].attr({rotation:90,rotationOriginX:Math.floor(-l/2),rotationOriginY:(n+l)/2}),t.handles[e].attr({zIndex:7-e}).addClass("highcharts-navigator-handle highcharts-navigator-handle-"+["left","right"][e]).add(a),s.styledMode||t.handles[e].attr({fill:i.backgroundColor,stroke:i.borderColor,"stroke-width":i.lineWidth}).css(o)}))}}update(t){(this.series||[]).forEach((t=>{t.baseSeries&&delete t.baseSeries.navigatorSeries})),this.destroy(),S(!0,this.chart.options.navigator,t),this.init(this.chart)}render(t,e,i,s){let n,r,o,a,l,h=this.chart,c=this.xAxis,f=c.pointRange||0,g=c.navigatorAxis.fake?h.xAxis[0]:c,m=this.navigatorEnabled,y=this.rendered,v=h.inverted,S=h.xAxis[0].minRange,w=h.xAxis[0].options.maxRange,C=this.scrollButtonSize,A=this.scrollbarHeight;if(this.hasDragged&&!p(i))return;if(t=u(t-f/2),e=u(e+f/2),!b(t)||!b(e)){if(!y)return;i=0,s=k(c.width,g.width)}this.left=k(c.left,h.plotLeft+C+(v?h.plotWidth:0));let M=this.size=a=k(c.len,(v?h.plotHeight:h.plotWidth)-2*C);n=v?A:a+2*C,i=k(i,c.toPixels(t,!0)),s=k(s,c.toPixels(e,!0)),b(i)&&Math.abs(i)!==1/0||(i=0,s=n);let T=c.toValue(i,!0),P=c.toValue(s,!0),E=Math.abs(u(P-T));Ew&&(this.grabbedLeft?i=c.toPixels(P-w-f,!0):this.grabbedRight&&(s=c.toPixels(T+w+f,!0))),this.zoomedMax=d(Math.max(i,s),0,M),this.zoomedMin=d(this.fixedWidth?this.zoomedMax-this.fixedWidth:Math.min(i,s),0,M),this.range=this.zoomedMax-this.zoomedMin,M=Math.round(this.zoomedMax);let O=Math.round(this.zoomedMin);m&&(this.navigatorGroup.attr({visibility:"inherit"}),l=y&&!this.hasDragged?"animate":"attr",this.drawMasks(O,M,v,l),this.drawOutline(O,M,v,l),this.navigatorOptions.handles.enabled&&(this.drawHandle(O,0,v,l),this.drawHandle(M,1,v,l))),this.scrollbar&&(v?(o=this.top-C,r=this.left-A+(m||!g.opposite?0:(g.titleOffset||0)+g.axisTitleMargin),A=a+2*C):(o=this.top+(m?this.height:-A),r=this.left-C),this.scrollbar.position(r,o,n,A),this.scrollbar.setRange(this.zoomedMin/(a||1),this.zoomedMax/(a||1))),this.rendered=!0,x(this,"afterRender")}addMouseEvents(){let t,e,i=this,s=i.chart,n=s.container,r=[];i.mouseMoveHandler=t=function(t){i.onMouseMove(t)},i.mouseUpHandler=e=function(t){i.onMouseUp(t)},(r=i.getPartsEvents("mousedown")).push(c(s.renderTo,"mousemove",t),c(n.ownerDocument,"mouseup",e),c(s.renderTo,"touchmove",t),c(n.ownerDocument,"touchend",e)),r.concat(i.getPartsEvents("touchstart")),i.eventsToUnbind=r,i.series&&i.series[0]&&r.push(c(i.series[0].xAxis,"foundExtremes",(function(){s.navigator.modifyNavigatorAxisExtremes()})))}getPartsEvents(t){let e=this,i=[];return["shades","handles"].forEach((function(s){e[s].forEach((function(n,r){i.push(c(n.element,t,(function(t){e[s+"Mousedown"](t,r)})))}))})),i}shadesMousedown(t,e){var i;t=(null===(i=this.chart.pointer)||void 0===i?void 0:i.normalize(t))||t;let s,n,r,o,a=this.chart,l=this.xAxis,h=this.zoomedMin,c=this.size,d=this.range,u=this.left,f=t.chartX;a.inverted&&(f=t.chartY,u=this.top),1===e?(this.grabbedCenter=f,this.fixedWidth=d,this.dragOffset=f-h):(o=f-u-d/2,0===e?o=Math.max(0,o):2===e&&o+d>=c&&(o=c-d,this.reversedExtremes?(o-=d,n=this.getUnionExtremes().dataMin):s=this.getUnionExtremes().dataMax),o!==h&&(this.fixedWidth=d,p((r=l.navigatorAxis.toFixedRange(o,o+d,n,s)).min)&&x(this,"setRange",{min:Math.min(r.min,r.max),max:Math.max(r.min,r.max),redraw:!0,eventArguments:{trigger:"navigator"}})))}handlesMousedown(t,e){var i;t=(null===(i=this.chart.pointer)||void 0===i?void 0:i.normalize(t))||t;let s=this.chart,n=s.xAxis[0],r=this.reversedExtremes;0===e?(this.grabbedLeft=!0,this.otherHandlePos=this.zoomedMax,this.fixedExtreme=r?n.min:n.max):(this.grabbedRight=!0,this.otherHandlePos=this.zoomedMin,this.fixedExtreme=r?n.max:n.min),s.setFixedRange(void 0)}onMouseMove(t){var e;let i,s=this,n=s.chart,r=s.navigatorSize,o=s.range,a=s.dragOffset,l=n.inverted,c=s.left;(!t.touches||0!==t.touches[0].pageX)&&(i=(t=(null===(e=n.pointer)||void 0===e?void 0:e.normalize(t))||t).chartX,l&&(c=s.top,i=t.chartY),s.grabbedLeft?(s.hasDragged=!0,s.render(0,0,i-c,s.otherHandlePos)):s.grabbedRight?(s.hasDragged=!0,s.render(0,0,s.otherHandlePos,i-c)):s.grabbedCenter&&(s.hasDragged=!0,ir+a-o&&(i=r+a-o),s.render(0,0,i-a,i-a+o)),s.hasDragged&&s.scrollbar&&k(s.scrollbar.options.liveRedraw,!h&&!this.chart.boosted)&&(t.DOMType=t.type,setTimeout((function(){s.onMouseUp(t)}),0)))}onMouseUp(t){let e,i,s,n,r,o,a=this.chart,l=this.xAxis,h=this.scrollbar,c=t.DOMEvent||t,d=a.inverted,u=this.rendered&&!this.hasDragged?"animate":"attr";(this.hasDragged&&(!h||!h.hasDragged)||"scrollbar"===t.trigger)&&(s=this.getUnionExtremes(),this.zoomedMin===this.otherHandlePos?n=this.fixedExtreme:this.zoomedMax===this.otherHandlePos&&(r=this.fixedExtreme),this.zoomedMax===this.size&&(r=this.reversedExtremes?s.dataMin:s.dataMax),0===this.zoomedMin&&(n=this.reversedExtremes?s.dataMax:s.dataMin),p((o=l.navigatorAxis.toFixedRange(this.zoomedMin,this.zoomedMax,n,r)).min)&&x(this,"setRange",{min:Math.min(o.min,o.max),max:Math.max(o.min,o.max),redraw:!0,animation:!this.hasDragged&&null,eventArguments:{trigger:"navigator",triggerOp:"navigator-drag",DOMEvent:c}})),"mousemove"!==t.DOMType&&"touchmove"!==t.DOMType&&(this.grabbedLeft=this.grabbedRight=this.grabbedCenter=this.fixedWidth=this.fixedExtreme=this.otherHandlePos=this.hasDragged=this.dragOffset=null),this.navigatorEnabled&&b(this.zoomedMin)&&b(this.zoomedMax)&&(i=Math.round(this.zoomedMin),e=Math.round(this.zoomedMax),this.shades&&this.drawMasks(i,e,d,u),this.outline&&this.drawOutline(i,e,d,u),this.navigatorOptions.handles.enabled&&Object.keys(this.handles).length===this.handles.length&&(this.drawHandle(i,0,d,u),this.drawHandle(e,1,d,u)))}removeEvents(){this.eventsToUnbind&&(this.eventsToUnbind.forEach((function(t){t()})),this.eventsToUnbind=void 0),this.removeBaseSeriesEvents()}removeBaseSeriesEvents(){let t=this.baseSeries||[];this.navigatorEnabled&&t[0]&&(!1!==this.navigatorOptions.adaptToUpdatedData&&t.forEach((function(t){w(t,"updatedData",this.updatedDataHandler)}),this),t[0].xAxis&&w(t[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes))}init(e){let i=e.options,s=i.navigator||{},r=s.enabled,a=i.scrollbar||{},l=a.enabled,h=r&&s.height||0,d=l&&a.height||0,u=a.buttonsEnabled&&d||0;this.handles=[],this.shades=[],this.chart=e,this.setBaseSeries(),this.height=h,this.scrollbarHeight=d,this.scrollButtonSize=u,this.scrollbarEnabled=l,this.navigatorEnabled=r,this.navigatorOptions=s,this.scrollbarOptions=a,this.opposite=k(s.opposite,!(r||!e.inverted));let p=this,f=p.baseSeries,g=e.xAxis.length,m=e.yAxis.length,y=f&&f[0]&&f[0].xAxis||e.xAxis[0]||{options:{}};if(e.isDirtyBox=!0,p.navigatorEnabled?(p.xAxis=new t(e,S({breaks:y.options.breaks,ordinal:y.options.ordinal,overscroll:y.options.overscroll},s.xAxis,{id:"navigator-x-axis",yAxis:"navigator-y-axis",type:"datetime",index:g,isInternal:!0,offset:0,keepOrdinalPadding:!0,startOnTick:!1,endOnTick:!1,minPadding:0,maxPadding:0,zoomEnabled:!1},e.inverted?{offsets:[u,0,-u,0],width:h}:{offsets:[0,-u,0,u],height:h}),"xAxis"),p.yAxis=new t(e,S(s.yAxis,{id:"navigator-y-axis",alignTicks:!1,offset:0,index:m,isInternal:!0,reversed:k(s.yAxis&&s.yAxis.reversed,e.yAxis[0]&&e.yAxis[0].reversed,!1),zoomEnabled:!1},e.inverted?{width:h}:{height:h}),"yAxis"),f||s.series.data?p.updateNavigatorSeries(!1):0===e.series.length&&(p.unbindRedraw=c(e,"beforeRedraw",(function(){e.series.length>0&&!p.series&&(p.setBaseSeries(),p.unbindRedraw())}))),p.reversedExtremes=e.inverted&&!p.xAxis.reversed||!e.inverted&&p.xAxis.reversed,p.renderElements(),p.addMouseEvents()):(p.xAxis={chart:e,navigatorAxis:{fake:!0},translate:function(t,i){let s=e.xAxis[0],n=s.getExtremes(),r=s.len-2*u,o=A("min",s.options.min,n.dataMin),a=A("max",s.options.max,n.dataMax)-o;return i?t*a/r+o:r*(t-o)/a},toPixels:function(t){return this.translate(t)},toValue:function(t){return this.translate(t,!0)}},p.xAxis.navigatorAxis.axis=p.xAxis,p.xAxis.navigatorAxis.toFixedRange=n.prototype.toFixedRange.bind(p.xAxis.navigatorAxis)),e.options.scrollbar.enabled){let t=S(e.options.scrollbar,{vertical:e.inverted});!b(t.margin)&&p.navigatorEnabled&&(t.margin=e.inverted?-3:3),e.scrollbar=p.scrollbar=new o(e.renderer,t,e),c(p.scrollbar,"changed",(function(t){let e=p.size,i=e*this.to,s=e*this.from;p.hasDragged=p.scrollbar.hasDragged,p.render(0,0,s,i),this.shouldUpdateExtremes(t.DOMType)&&setTimeout((function(){p.onMouseUp(t)}))}))}p.addBaseSeriesEvents(),p.addChartEvents()}getUnionExtremes(t){let e,i=this.chart.xAxis[0],s=this.xAxis,n=s.options,r=i.options;return t&&null===i.dataMin||(e={dataMin:k(n&&n.min,A("min",r.min,i.dataMin,s.dataMin,s.min)),dataMax:k(n&&n.max,A("max",r.max,i.dataMax,s.dataMax,s.max))}),e}setBaseSeries(t,e){let i=this.chart,s=this.baseSeries=[];t=t||i.options&&i.options.navigator.baseSeries||(i.series.length?y(i.series,(t=>!t.options.isInternal)).index:0),(i.series||[]).forEach(((e,i)=>{!e.options.isInternal&&(e.options.showInNavigator||(i===t||e.options.id===t)&&!1!==e.options.showInNavigator)&&s.push(e)})),this.xAxis&&!this.xAxis.navigatorAxis.fake&&this.updateNavigatorSeries(!0,e)}updateNavigatorSeries(t,e){let i,s,n,r=this,o=r.chart,a=r.baseSeries,h={enableMouseTracking:!1,index:null,linkedTo:null,group:"nav",padXAxis:!1,xAxis:"navigator-x-axis",yAxis:"navigator-y-axis",showInLegend:!1,stacking:void 0,isInternal:!0,states:{inactive:{opacity:1}}},c=r.series=(r.series||[]).filter((t=>{let e=t.baseSeries;return!(0>a.indexOf(e))||(e&&(w(e,"updatedData",r.updatedDataHandler),delete e.navigatorSeries),t.chart&&t.destroy(),!1)})),d=r.navigatorOptions.series;a&&a.length&&a.forEach((t=>{let u=t.navigatorSeries,p=m({color:t.color,visible:t.visible},v(d)?l.navigator.series:d);if(u&&!1===r.navigatorOptions.adaptToUpdatedData)return;h.name="Navigator "+a.length,n=(i=t.options||{}).navigatorOptions||{},p.dataLabels=C(p.dataLabels),(s=S(i,h,p,n)).pointRange=k(p.pointRange,n.pointRange,l.plotOptions[s.type||"line"].pointRange);let f=n.data||p.data;r.hasNavigatorData=r.hasNavigatorData||!!f,s.data=f||i.data&&i.data.slice(0),u&&u.options?u.update(s,e):(t.navigatorSeries=o.initSeries(s),o.setSortedData(),t.navigatorSeries.baseSeries=t,c.push(t.navigatorSeries))})),(d.data&&!(a&&a.length)||v(d))&&(r.hasNavigatorData=!1,(d=C(d)).forEach(((t,e)=>{h.name="Navigator "+(c.length+1),(s=S(l.navigator.series,{color:o.series[e]&&!o.series[e].options.isInternal&&o.series[e].color||o.options.colors[e]||o.options.colors[0]},h,t)).data=t.data,s.data&&(r.hasNavigatorData=!0,c.push(o.initSeries(s)))}))),t&&this.addBaseSeriesEvents()}addBaseSeriesEvents(){let t=this,e=t.baseSeries||[];e[0]&&e[0].xAxis&&e[0].eventsToUnbind.push(c(e[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes)),e.forEach((e=>{e.eventsToUnbind.push(c(e,"show",(function(){this.navigatorSeries&&this.navigatorSeries.setVisible(!0,!1)}))),e.eventsToUnbind.push(c(e,"hide",(function(){this.navigatorSeries&&this.navigatorSeries.setVisible(!1,!1)}))),!1!==this.navigatorOptions.adaptToUpdatedData&&e.xAxis&&e.eventsToUnbind.push(c(e,"updatedData",this.updatedDataHandler)),e.eventsToUnbind.push(c(e,"remove",(function(){this.navigatorSeries&&(g(t.series,this.navigatorSeries),p(this.navigatorSeries.options)&&this.navigatorSeries.remove(!1),delete this.navigatorSeries)})))}))}getBaseSeriesMin(t){return this.baseSeries.reduce((function(t,e){return Math.min(t,e.xData&&e.xData.length?e.xData[0]:t)}),t)}modifyNavigatorAxisExtremes(){let t=this.xAxis;if(void 0!==t.getExtremes){let e=this.getUnionExtremes(!0);e&&(e.dataMin!==t.min||e.dataMax!==t.max)&&(t.min=e.dataMin,t.max=e.dataMax)}}modifyBaseAxisExtremes(){var t;let e,i,s=this.chart.navigator,n=this.getExtremes(),r=n.min,o=n.max,a=n.dataMin,l=n.dataMax,h=o-r,c=s.stickToMin,d=s.stickToMax,u=k(null===(t=this.ordinal)||void 0===t?void 0:t.convertOverscroll(this.options.overscroll),0),p=s.series&&s.series[0],f=!!this.setExtremes;!(this.eventArgs&&"rangeSelectorButton"===this.eventArgs.trigger)&&(c&&(e=(i=a)+h),d&&(e=l+u,c||(i=Math.max(a,e-h,s.getBaseSeriesMin(p&&p.xData?p.xData[0]:-Number.MAX_VALUE)))),f&&(c||d)&&b(i)&&(this.min=this.userMin=i,this.max=this.userMax=e)),s.stickToMin=s.stickToMax=null}updatedDataHandler(){let t=this.chart.navigator,e=this.navigatorSeries,i=t.reversedExtremes?0===Math.round(t.zoomedMin):Math.round(t.zoomedMax)>=Math.round(t.size);t.stickToMax=k(this.chart.options.navigator&&this.chart.options.navigator.stickToMax,i),t.stickToMin=t.shouldStickToMin(this,t),e&&!t.hasNavigatorData&&(e.options.pointStart=this.xData[0],e.setData(this.options.data,!1,null,!1))}shouldStickToMin(t,e){let i=e.getBaseSeriesMin(t.xData[0]),s=t.xAxis,n=s.max,r=s.min,o=s.options.range;return!(!b(n)||!b(r))&&(o&&n-i>0?n-i{t.destroy&&t.destroy()})),["series","xAxis","yAxis","shades","outline","scrollbarTrack","scrollbarRifles","scrollbarGroup","scrollbar","navigatorGroup","rendered"].forEach((t=>{this[t]&&this[t].destroy&&this[t].destroy(),this[t]=null})),[this.handles].forEach((t=>{f(t)}))}}return M})),i(e,"Core/Axis/OrdinalAxis.js",[e["Core/Axis/Axis.js"],e["Core/Globals.js"],e["Core/Series/Series.js"],e["Core/Utilities.js"]],(function(t,e,i,s){var n;let{addEvent:r,correctFloat:o,css:a,defined:l,error:h,isNumber:c,pick:d,timeUnits:u,isString:p}=s;return function(t){function s(t,e,i,s){let n,r,o,a,c,d=arguments.length>4&&void 0!==arguments[4]?arguments[4]:[],p=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0,f=arguments.length>6?arguments[6]:void 0,g={},m=this.options.tickPixelInterval,y=this.chart.time,x=[],v=0,b=[],S=-Number.MAX_VALUE;if(!this.options.ordinal&&!this.options.breaks||!d||d.length<3||void 0===e)return y.getTimeTicks.apply(y,arguments);let k=d.length;for(n=0;ni,d[n]5*p||c){if(d[n]>S){for(r=y.getTimeTicks(t,d[v],d[n],s);r.length&&r[0]<=S;)r.shift();r.length&&(S=r[r.length-1]),x.push(b.length),b=b.concat(r)}v=n+1}if(c)break}if(r){if(a=r.info,f&&a.unitRange<=u.hour){for(v=1,n=b.length-1;vi?o-1:o,s=void 0;h--;)r=Math.abs(s-(e=a[h])),s&&r<.8*m&&(null===n||r<.8*n)?(g[b[h]]&&!g[b[h+1]]?(t=h+1,s=e):t=h,b.splice(t,1)):s=e}return b}function n(t){let e=this.ordinal.positions;if(!e)return t;let i,s=e.length-1;return t<0?t=e[0]:t>s?t=e[s]:(s=Math.floor(t),i=t-s),void 0!==i&&void 0!==e[s]?e[s]+(i?i*(e[s+1]-e[s]):0):t}function f(t){let e=this.ordinal,i=this.old?this.old.min:this.min,s=this.old?this.old.transA:this.transA,n=e.getExtendedPositions();if(n&&n.length){let r=o((t-i)*s+this.minPixelPadding),a=o(e.getIndexOfPoint(r,n)),l=o(a%1);if(a>=0&&a<=n.length-1){let t=n[Math.floor(a)],e=n[Math.ceil(a)];return n[Math.floor(a)]+l*(e-t)}}return t}function g(e,i){let s=t.Additions.findIndexOf(e,i,!0);return e[s]===i?s:s+(i-e[s])/(e[s+1]-e[s])}function m(){this.ordinal||(this.ordinal=new t.Additions(this))}function y(){let{eventArgs:t,options:e}=this;if(this.isXAxis&&l(e.overscroll)&&0!==e.overscroll&&c(this.max)&&c(this.min)&&(this.options.ordinal&&!this.ordinal.originalOrdinalRange&&this.ordinal.getExtendedPositions(!1),this.max===this.dataMax&&("pan"!==(null===t||void 0===t?void 0:t.trigger)||this.isInternal)&&"navigator"!==(null===t||void 0===t?void 0:t.trigger))){let i=this.ordinal.convertOverscroll(e.overscroll);this.max+=i,!this.isInternal&&l(this.userMin)&&"mousewheel"!==(null===t||void 0===t?void 0:t.trigger)&&(this.min+=i)}}function x(){this.horiz&&!this.isDirty&&(this.isDirty=this.isOrdinal&&this.chart.navigator&&!this.chart.navigator.adaptToUpdatedData)}function v(){this.ordinal&&(this.ordinal.beforeSetTickPositions(),this.tickInterval=this.ordinal.postProcessTickInterval(this.tickInterval))}function b(t){let e=this.xAxis[0],i=e.ordinal.convertOverscroll(e.options.overscroll),s=t.originalEvent.chartX,n=this.options.chart.panning,r=!1;if(n&&"y"!==n.type&&e.options.ordinal&&e.series.length){let t,n,o=this.mouseDownX,l=e.getExtremes(),h=l.dataMax,c=l.min,d=l.max,u=this.hoverPoints,p=e.closestPointRange||e.ordinal&&e.ordinal.overscrollPointsRange,f=Math.round((o-s)/(e.translationSlope*(e.ordinal.slope||p))),g=e.ordinal.getExtendedPositions(),m={ordinal:{positions:g,extendedOrdinalPositions:g}},y=e.index2val,x=e.val2lin;m.ordinal.positions?Math.abs(f)>1&&(u&&u.forEach((function(t){t.setState()})),h>(n=m.ordinal.positions)[n.length-1]&&n.push(h),this.setFixedRange(d-c),(t=e.navigatorAxis.toFixedRange(void 0,void 0,y.apply(m,[x.apply(m,[c,!0])+f]),y.apply(m,[x.apply(m,[d,!0])+f]))).min>=Math.min(l.dataMin,c)&&t.max<=Math.max(h,d)+i&&e.setExtremes(t.min,t.max,!0,!1,{trigger:"pan"}),this.mouseDownX=s,a(this.container,{cursor:"move"})):r=!0}else r=!0;r||n&&/y/.test(n.type)?i&&(e.max=e.dataMax+i):t.preventDefault()}function S(){let t=this.xAxis;t&&t.options.ordinal&&(delete t.ordinal.index,delete t.ordinal.originalOrdinalRange)}function k(t,e){let i,s,n=this.ordinal,r=n.positions,o=n.slope;if(!r)return t;let a=r.length;if(r[0]<=t&&r[a-1]>=t)i=g(r,t);else{if(!(s=n.getExtendedPositions&&n.getExtendedPositions())||!s.length)return t;let a=s.length;o||(o=(s[a-1]-s[0])/a);let l=g(s,r[0]);if(t>=s[0]&&t<=s[a-1])i=g(s,t)-l;else{if(!e)return t;i=t0&&"highcharts-navigator-series"!==s.options.id&&s.processedXData.length>1&&(v=t!==s.processedXData[1]-s.processedXData[0]),t=s.processedXData[1]-s.processedXData[0],s.boosted&&(b=s.boosted),s.reserveSpace()&&(!1!==s.takeOrdinalPosition||f)&&(e=(m=m.concat(s.processedXData)).length,m.sort((function(t,e){return t-e})),y=Math.min(y,d(s.closestPointRange,y)),e)){for(n=0;n2){for(s=m[1]-m[0],a=e-1;a--&&!x;)m[a+1]-m[a]!==s&&(x=!0);!l.options.keepOrdinalPadding&&(m[0]-u>s||p-m[m.length-1]>s)&&(x=!0)}else l.options.overscroll&&(2===e?y=m[1]-m[0]:1===e?(y=l.ordinal.convertOverscroll(l.options.overscroll),m=[m[0],m[0]+y]):y=h.overscrollPointsRange);x||l.forceOrdinal?(l.options.overscroll&&(h.overscrollPointsRange=y,m=m.concat(h.getOverscrollPositions())),h.positions=m,n=l.ordinal2lin(Math.max(u,m[0]),!0),r=Math.max(l.ordinal2lin(Math.min(p,m[m.length-1]),!0),1),h.slope=o=(p-u)/(r-n),h.offset=u-n*o):(h.overscrollPointsRange=d(l.closestPointRange,h.overscrollPointsRange),h.positions=l.ordinal.slope=h.offset=void 0)}l.isOrdinal=g&&x,h.groupIntervalFactor=null}static findIndexOf(t,e,i){let s,n=0,r=t.length-1;for(;n0&&void 0!==arguments[0])||arguments[0],l=this,h=l.axis,c=h.constructor.prototype,d=h.chart,u=null===(t=h.series[0])||void 0===t?void 0:t.currentDataGrouping,p=u?u.count+u.unitName:"raw",f=a?h.ordinal.convertOverscroll(h.options.overscroll):0,g=h.getExtremes(),m=l.index;return m||(m=l.index={}),m[p]||((r={series:[],chart:d,forceOrdinal:!1,getExtremes:function(){return{min:g.dataMin,max:g.dataMax+f}},applyGrouping:c.applyGrouping,getGroupPixelWidth:c.getGroupPixelWidth,getTimeTicks:c.getTimeTicks,options:{ordinal:!0},ordinal:{getGroupIntervalFactor:this.getGroupIntervalFactor},ordinal2lin:c.ordinal2lin,getIndexOfPoint:c.getIndexOfPoint,val2lin:c.val2lin}).ordinal.axis=r,h.series.forEach((function(t){o={xAxis:r,xData:t.xData.slice(),chart:d,groupPixelWidth:t.groupPixelWidth,destroyGroupedData:e.noop,getProcessedData:i.prototype.getProcessedData,applyGrouping:i.prototype.applyGrouping,reserveSpace:i.prototype.reserveSpace,visible:t.visible},a&&(o.xData=o.xData.concat(l.getOverscrollPositions())),o.options={dataGrouping:u?{firstAnchor:"firstPoint",anchor:"middle",lastAnchor:"lastPoint",enabled:!0,forced:!0,approximation:"open",units:[[u.unitName,[u.count]]]}:{enabled:!1}},r.series.push(o),t.processData.apply(o)})),r.applyGrouping({hasExtremesChanged:!0}),(null===(s=o)||void 0===s?void 0:s.closestPointRange)!==(null===(n=o)||void 0===n?void 0:n.basePointRange)&&o.currentDataGrouping&&(r.forceOrdinal=!0),h.ordinal.beforeSetTickPositions.apply({axis:r}),!h.ordinal.originalOrdinalRange&&r.ordinal.originalOrdinalRange&&(h.ordinal.originalOrdinalRange=r.ordinal.originalOrdinalRange),m[p]=r.ordinal.positions),m[p]}getGroupIntervalFactor(t,e,i){let s,n,r=i.processedXData,o=r.length,a=[],l=this.groupIntervalFactor;if(!l){for(n=0;n{var e;let i=null===(e=t.points)||void 0===e?void 0:e[0];l(null===i||void 0===i?void 0:i.plotX)&&(i.plotXt.x>=e&&t.x<=i))}(t)&&(s=i.plotX,r=i.x)})),null!==(i=s)&&void 0!==i||(s=n.minPixelPadding);let a=n.translationSlope*(this.slope||n.closestPointRange||this.overscrollPointsRange),h=o((t-s)/a);return w.findIndexOf(e,r,!0)+h}getOverscrollPositions(){let t=this.axis,e=this.convertOverscroll(t.options.overscroll),i=this.overscrollPointsRange,s=[],n=t.dataMax;if(l(i))for(;n<=t.dataMax+e;)s.push(n+=i);return s}postProcessTickInterval(t){let e=this.axis,i=this.slope;return i?e.options.breaks?e.closestPointRange||t:t/(i/e.closestPointRange):t}convertOverscroll(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,e=this,i=e.axis,s=function(t){return d(e.originalOrdinalRange,l(i.dataMax)&&l(i.dataMin)?i.dataMax-i.dataMin:0)*t};if(p(t)){let e=parseInt(t,10);if(/%$/.test(t))return s(e/100);if(/px/.test(t)){let t=Math.min(e,.9*i.len)/i.len;return s(t/(1-t))}return 0}return t}}t.Additions=w}(n||(n={})),n})),i(e,"Stock/RangeSelector/RangeSelectorDefaults.js",[],(function(){return{lang:{rangeSelectorZoom:"Zoom",rangeSelectorFrom:"",rangeSelectorTo:"\u2192"},rangeSelector:{allButtonsEnabled:!1,buttons:void 0,buttonSpacing:5,dropdown:"responsive",enabled:void 0,verticalAlign:"top",buttonTheme:{width:28,height:18,padding:2,zIndex:7},floating:!1,x:0,y:0,height:void 0,inputBoxBorderColor:"none",inputBoxHeight:17,inputBoxWidth:void 0,inputDateFormat:"%e %b %Y",inputDateParser:void 0,inputEditDateFormat:"%Y-%m-%d",inputEnabled:!0,inputPosition:{align:"right",x:0,y:0},inputSpacing:5,selected:void 0,buttonPosition:{align:"left",x:0,y:0},inputStyle:{color:"#334eff",cursor:"pointer",fontSize:"0.8em"},labelStyle:{color:"#666666",fontSize:"0.8em"}}}})),i(e,"Stock/RangeSelector/RangeSelectorComposition.js",[e["Core/Defaults.js"],e["Core/Globals.js"],e["Stock/RangeSelector/RangeSelectorDefaults.js"],e["Core/Utilities.js"]],(function(t,e,i,s){let n,{defaultOptions:r}=t,{composed:o}=e,{addEvent:a,defined:l,extend:h,find:c,isNumber:d,merge:u,pick:p,pushUnique:f}=s,g=[];function m(){let t,e,i=this.range,s=i.type,n=this.max,r=this.chart.time,o=function(t,e){let i="year"===s?"FullYear":"Month",n=new r.Date(t),o=r.get(i,n);return r.set(i,n,o+e),o===r.get(i,n)&&r.set("Date",n,0),n.getTime()-t};d(i)?(t=n-i,e=i):i&&(t=n+o(n,-(i.count||1)),this.chart&&this.chart.setFixedRange(n-t));let a=p(this.dataMin,Number.MIN_VALUE);return d(t)||(t=a),t<=a&&(t=a,void 0===e&&(e=o(t,i.count)),this.newMax=Math.min(t+e,p(this.dataMax,Number.MAX_VALUE))),d(n)?!d(i)&&i&&i._offsetMin&&(t+=i._offsetMin):t=void 0,t}function y(){this.options.rangeSelector&&this.options.rangeSelector.enabled&&(this.rangeSelector=new n(this))}function x(){let t=this.axes,e=this.rangeSelector;if(e){d(e.deferredYTDClick)&&(e.clickButton(e.deferredYTDClick),delete e.deferredYTDClick),t.forEach((t=>{t.updateNames(),t.setScale()})),this.getAxisMargins(),e.render();let i=e.options.verticalAlign;e.options.floating||("bottom"===i?this.extraBottomMargin=!0:"middle"===i||(this.extraTopMargin=!0))}}function v(t){let e,i,s,n,r=t.rangeSelector,o=()=>{r&&(e=t.xAxis[0].getExtremes(),i=t.legend,n=r&&r.options.verticalAlign,d(e.min)&&r.render(e.min,e.max),i.display&&"top"===n&&n===i.options.verticalAlign&&(s=u(t.spacingBox),"vertical"===i.options.layout?s.y=t.plotTop:s.y+=r.getHeight(),i.group.placed=!1,i.align(s)))};r&&(c(g,(e=>e[0]===t))||g.push([t,[a(t.xAxis[0],"afterSetExtremes",(function(t){r&&r.render(t.min,t.max)})),a(t,"redraw",o)]]),o())}function b(){for(let t=0,e=g.length;tt())),void g.splice(t,1)}}function S(){let t=this.rangeSelector;if(t){let e=t.getHeight();this.extraTopMargin&&(this.plotTop+=e),this.extraBottomMargin&&(this.marginBottom+=e)}}function k(){let t=this.rangeSelector;if(t&&!t.options.floating){t.render();let e=t.options.verticalAlign;"bottom"===e?this.extraBottomMargin=!0:"middle"!==e&&(this.extraTopMargin=!0)}}function w(t){let e=t.options.rangeSelector,i=this.extraBottomMargin,s=this.extraTopMargin,r=this.rangeSelector;if(e&&e.enabled&&!l(r)&&this.options.rangeSelector&&(this.options.rangeSelector.enabled=!0,this.rangeSelector=r=new n(this)),this.extraBottomMargin=!1,this.extraTopMargin=!1,r){v(this);let t=e&&e.verticalAlign||r.options&&r.options.verticalAlign;r.options.floating||("bottom"===t?this.extraBottomMargin=!0:"middle"===t||(this.extraTopMargin=!0)),(this.extraBottomMargin!==i||this.extraTopMargin!==s)&&(this.isDirtyBox=!0)}}return{compose:function(t,e,s){if(n=s,f(o,"RangeSelector")){let s=e.prototype;t.prototype.minFromRange=m,a(e,"afterGetContainer",y),a(e,"beforeRender",x),a(e,"destroy",b),a(e,"getMargins",S),a(e,"render",k),a(e,"update",w),s.callbacks.push(v),h(r,{rangeSelector:i.rangeSelector}),h(r.lang,i.lang)}}}})),i(e,"Stock/RangeSelector/RangeSelector.js",[e["Core/Axis/Axis.js"],e["Core/Defaults.js"],e["Core/Globals.js"],e["Stock/RangeSelector/RangeSelectorComposition.js"],e["Core/Renderer/SVG/SVGElement.js"],e["Core/Utilities.js"]],(function(t,e,i,s,n,r){let{defaultOptions:o}=e,{addEvent:a,createElement:l,css:h,defined:c,destroyObjectProperties:d,discardElement:u,extend:p,fireEvent:f,isNumber:g,merge:m,objectEach:y,pad:x,pick:v,pInt:b,splat:S}=r;class k{static compose(t,e){s.compose(t,e,k)}constructor(t){this.buttonOptions=k.prototype.defaultButtons,this.initialButtonGroupWidth=0,this.chart=t,this.init(t)}clickButton(e,i){let s,n,r,o,l,h,d,u=this.chart,p=this.buttonOptions[e],m=u.xAxis[0],y=u.scroller&&u.scroller.getUnionExtremes()||m||{},x=p.type,b=p.dataGrouping,k=y.dataMin,w=y.dataMax,C=m&&Math.round(Math.min(m.max,v(w,m.max))),A=p._range,M=!0;if(null!==k&&null!==w){if(this.setSelected(e),b&&(this.forcedDataGrouping=!0,t.prototype.setDataGrouping.call(m||{chart:this.chart},b,!1),this.frozenStates=p.preserveDataGrouping),"month"===x||"year"===x)m?(h={range:p,max:C,chart:u,dataMin:k,dataMax:w},s=m.minFromRange.call(h),g(h.newMax)&&(C=h.newMax),M=!1):A=p;else if(A)C=Math.min((s=Math.max(C-A,k))+A,w),M=!1;else if("ytd"===x){if(!m)return void(this.deferredYTDClick=e);(void 0===w||void 0===k)&&(k=Number.MAX_VALUE,w=Number.MIN_VALUE,u.series.forEach((t=>{let e=t.xData;e&&(k=Math.min(e[0],k),w=Math.max(e[e.length-1],w))})),i=!1),s=r=(d=this.getYTDExtremes(w,k,u.time.useUTC)).min,C=d.max}else"all"===x&&m&&(u.navigator&&u.navigator.baseSeries[0]&&(u.navigator.baseSeries[0].xAxis.options.range=void 0),s=k,C=w);M&&p._offsetMin&&c(s)&&(s+=p._offsetMin),p._offsetMax&&c(C)&&(C+=p._offsetMax),this.dropdown&&(this.dropdown.selectedIndex=e+1),m?(m.setExtremes(s,C,v(i,!0),void 0,{trigger:"rangeSelectorButton",rangeSelectorButton:p}),u.setFixedRange(p._range)):(l=(n=S(u.options.xAxis)[0]).range,n.range=A,o=n.min,n.min=r,a(u,"load",(function(){u.setFixedRange(p._range),n.range=l,n.min=o}))),f(this,"afterBtnClick")}}setSelected(t){this.selected=this.options.selected=t}init(t){let e=this,i=t.options.rangeSelector,s=i.buttons||e.defaultButtons.slice(),n=i.selected,r=function(){let t=e.minInput,i=e.maxInput;t&&t.blur&&f(t,"blur"),i&&i.blur&&f(i,"blur")};e.chart=t,e.options=i,e.buttons=[],e.buttonOptions=s,this.eventsToUnbind=[],this.eventsToUnbind.push(a(t.container,"mousedown",r)),this.eventsToUnbind.push(a(t,"resize",r)),s.forEach(e.computeButtonRange),void 0!==n&&s[n]&&this.clickButton(n,!1),this.eventsToUnbind.push(a(t,"load",(function(){t.xAxis&&t.xAxis[0]&&a(t.xAxis[0],"setExtremes",(function(i){g(this.max)&&g(this.min)&&this.max-this.min!==t.fixedRange&&"rangeSelectorButton"!==i.trigger&&"updatedData"!==i.trigger&&e.forcedDataGrouping&&!e.frozenStates&&this.setDataGrouping(!1,!1)}))})))}updateButtonStates(){let t=this,e=this.chart,i=this.dropdown,s=e.xAxis[0],n=Math.round(s.max-s.min),r=!s.hasVisibleSeries,o=864e5,a=e.scroller&&e.scroller.getUnionExtremes()||s,l=a.dataMin,h=a.dataMax,d=t.getYTDExtremes(h,l,e.time.useUTC),u=d.min,p=d.max,f=t.selected,m=t.options.allButtonsEnabled,y=t.buttons,x=g(f),v=!1;t.buttonOptions.forEach(((e,a)=>{var d;let g=e._range,b=e.type,S=e.count||1,k=y[a],w=e._offsetMax-e._offsetMin,C=a===f,A=g>h-l,M=gg&&(O=!0)}else("month"===b||"year"===b)&&n+36e5>={month:28,year:365}[b]*o*S-w&&n-36e5<={month:31,year:366}[b]*o*S+w?O=!0:"ytd"===b?(O=p-u+w===n,P=!C):"all"===b&&(O=s.max-s.min>=h-l,E=!C&&x&&O);let L=!m&&!(v&&"all"===b)&&(A||M||E||r),D=v&&"all"===b||C&&O||O&&!x&&!P||C&&t.frozenStates;L?T=3:D&&(x=!0,T=2),k.state!==T&&(k.setState(T),i&&(i.options[a+1].disabled=L,2===T&&(i.selectedIndex=a+1)),0===T&&f===a?t.setSelected():(2===T&&!c(f)||v)&&t.setSelected(a))}))}computeButtonRange(t){let e=t.type,i=t.count||1,s={millisecond:1,second:1e3,minute:6e4,hour:36e5,day:864e5,week:6048e5};s[e]?t._range=s[e]*i:("month"===e||"year"===e)&&(t._range=24*{month:30,year:365}[e]*36e5*i),t._offsetMin=v(t.offsetMin,0),t._offsetMax=v(t.offsetMax,0),t._range+=t._offsetMax-t._offsetMin}getInputValue(t){let e="min"===t?this.minInput:this.maxInput,i=this.chart.options.rangeSelector,s=this.chart.time;return e?("text"===e.type&&i.inputDateParser||this.defaultInputDateParser)(e.value,s.useUTC,s):0}setInputValue(t,e){let i=this.options,s=this.chart.time,n="min"===t?this.minInput:this.maxInput,r="min"===t?this.minDateBox:this.maxDateBox;if(n){let t=n.getAttribute("data-hc-time"),o=c(t)?Number(t):void 0;if(c(e)){let t=o;c(t)&&n.setAttribute("data-hc-time-previous",t),n.setAttribute("data-hc-time",e),o=e}n.value=s.dateFormat(this.inputTypeFormats[n.type]||i.inputEditDateFormat,o),r&&r.attr({text:s.dateFormat(i.inputDateFormat,o)})}}setInputExtremes(t,e,i){let s="min"===t?this.minInput:this.maxInput;if(s){let t=this.inputTypeFormats[s.type],n=this.chart.time;if(t){let r=n.dateFormat(t,e);s.min!==r&&(s.min=r);let o=n.dateFormat(t,i);s.max!==o&&(s.max=o)}}}showInput(t){let e="min"===t?this.minDateBox:this.maxDateBox,i="min"===t?this.minInput:this.maxInput;if(i&&e&&this.inputGroup){let t="text"===i.type,{translateX:s=0,translateY:n=0}=this.inputGroup,{x:r=0,width:o=0,height:a=0}=e,{inputBoxWidth:l}=this.options;h(i,{width:t?o+(l?-2:20)+"px":"auto",height:a-2+"px",border:"2px solid silver"}),h(i,t&&l?{left:s+r+"px",top:n+"px"}:{left:Math.min(Math.round(r+s-(i.offsetWidth-o)/2),this.chart.chartWidth-i.offsetWidth)+"px",top:n-(i.offsetHeight-a)/2+"px"})}}hideInput(t){let e="min"===t?this.minInput:this.maxInput;e&&h(e,{top:"-9999em",border:0,width:"1px",height:"1px"})}defaultInputDateParser(t,e,s){let n=t.split("/").join("-").split(" ").join("T");if(-1===n.indexOf("T")&&(n+="T00:00"),e)n+="Z";else{let t;if(i.isSafari&&(!((t=n).length>6)||t.lastIndexOf("-")!==t.length-6&&t.lastIndexOf("+")!==t.length-6)){let t=new Date(n).getTimezoneOffset()/60;n+=t<=0?"+".concat(x(-t),":00"):"-".concat(x(t),":00")}}let r=Date.parse(n);if(!g(r)){let e=t.split("-");r=Date.UTC(b(e[0]),b(e[1])-1,b(e[2]))}return s&&e&&g(r)&&(r+=s.getTimezoneOffset(r)),r}drawInput(t){let{chart:e,div:s,inputGroup:n}=this,r=this,a=e.renderer.style||{},c=e.renderer,d=e.options.rangeSelector,u=o.lang,f="min"===t;function y(){let{maxInput:i,minInput:s}=r,n=e.xAxis[0],o=e.scroller&&e.scroller.getUnionExtremes()||n,a=o.dataMin,l=o.dataMax,h=r.getInputValue(t);h!==Number(S.getAttribute("data-hc-time-previous"))&&g(h)&&(S.setAttribute("data-hc-time-previous",h),f&&i&&g(a)?h>Number(i.getAttribute("data-hc-time"))?h=void 0:hl&&(h=l)),void 0!==h&&n.setExtremes(f?h:n.min,f?n.max:h,void 0,void 0,{trigger:"rangeSelectorInput"}))}let x=u[f?"rangeSelectorFrom":"rangeSelectorTo"]||"",v=c.label(x,0).addClass("highcharts-range-label").attr({padding:x?2:0,height:x?d.inputBoxHeight:0}).add(n),b=c.label("",0).addClass("highcharts-range-input").attr({padding:2,width:d.inputBoxWidth,height:d.inputBoxHeight,"text-align":"center"}).on("click",(function(){r.showInput(t),r[t+"Input"].focus()}));e.styledMode||b.attr({stroke:d.inputBoxBorderColor,"stroke-width":1}),b.add(n);let S=l("input",{name:t,className:"highcharts-range-selector"},void 0,s);S.setAttribute("type",function(t){if(-1!==t.indexOf("%L"))return"text";let e=["a","A","d","e","w","b","B","m","o","y","Y"].some((e=>-1!==t.indexOf("%"+e))),i=["H","k","I","l","M","S"].some((e=>-1!==t.indexOf("%"+e)));return e&&i?"datetime-local":e?"date":i?"time":"text"}(d.inputDateFormat||"%e %b %Y")),e.styledMode||(v.css(m(a,d.labelStyle)),b.css(m({color:"#333333"},a,d.inputStyle)),h(S,p({position:"absolute",border:0,boxShadow:"0 0 15px rgba(0,0,0,0.3)",width:"1px",height:"1px",padding:0,textAlign:"center",fontSize:a.fontSize,fontFamily:a.fontFamily,top:"-9999em"},d.inputStyle))),S.onfocus=()=>{r.showInput(t)},S.onblur=()=>{S===i.doc.activeElement&&y(),r.hideInput(t),r.setInputValue(t),S.blur()};let k=!1;return S.onchange=()=>{k||(y(),r.hideInput(t),S.blur())},S.onkeypress=t=>{13===t.keyCode&&y()},S.onkeydown=t=>{k=!0,(38===t.keyCode||40===t.keyCode)&&y()},S.onkeyup=()=>{k=!1},{dateBox:b,input:S,label:v}}getPosition(){let t=this.chart,e=t.options.rangeSelector,i="top"===e.verticalAlign?t.plotTop-t.axisOffset[0]:0;return{buttonTop:i+e.buttonPosition.y,inputTop:i+e.inputPosition.y-10}}getYTDExtremes(t,e,i){let s=this.chart.time,n=new s.Date(t),r=s.get("FullYear",n),o=i?s.Date.UTC(r,0,1):+new s.Date(r,0,1),a=n.getTime();return{max:Math.min(t||a,a),min:Math.max(e,o)}}render(t,e){let i=this.chart,s=i.renderer,n=i.container,r=i.options,o=r.rangeSelector,a=v(r.chart.style&&r.chart.style.zIndex,0)+1,h=o.inputEnabled,d=this.rendered;if(!1!==o.enabled){if(!d&&(this.group=s.g("range-selector-group").attr({zIndex:7}).add(),this.div=l("div",void 0,{position:"relative",height:0,zIndex:a}),this.buttonOptions.length&&this.renderButtons(),n.parentNode&&n.parentNode.insertBefore(this.div,n),h)){this.inputGroup=s.g("input-group").add(this.group);let t=this.drawInput("min");this.minDateBox=t.dateBox,this.minLabel=t.label,this.minInput=t.input;let e=this.drawInput("max");this.maxDateBox=e.dateBox,this.maxLabel=e.label,this.maxInput=e.input}if(h){this.setInputValue("min",t),this.setInputValue("max",e);let s=i.scroller&&i.scroller.getUnionExtremes()||i.xAxis[0]||{};if(c(s.dataMin)&&c(s.dataMax)){let t=i.xAxis[0].minRange||0;this.setInputExtremes("min",s.dataMin,Math.min(s.dataMax,this.getInputValue("max"))-t),this.setInputExtremes("max",Math.max(s.dataMin,this.getInputValue("min"))+t,s.dataMax)}if(this.inputGroup){let t=0;[this.minLabel,this.minDateBox,this.maxLabel,this.maxDateBox].forEach((e=>{if(e){let{width:i}=e.getBBox();i&&(e.attr({x:t}),t+=i+o.inputSpacing)}}))}}this.alignElements(),this.rendered=!0}}renderButtons(){let{buttons:t,chart:e,options:s}=this,n=o.lang,r=e.renderer,h=m(s.buttonTheme),c=h&&h.states,d=h.width||28;delete h.width,delete h.states,this.buttonGroup=r.g("range-selector-buttons").add(this.group);let u=this.dropdown=l("select",void 0,{position:"absolute",width:"1px",height:"1px",padding:0,border:0,top:"-9999em",cursor:"pointer",opacity:1e-4},this.div);a(u,"touchstart",(()=>{u.style.fontSize="16px"})),[[i.isMS?"mouseover":"mouseenter"],[i.isMS?"mouseout":"mouseleave"],["change","click"]].forEach((e=>{let[i,s]=e;a(u,i,(()=>{let e=t[this.currentButtonIndex()];e&&f(e.element,s||i)}))})),this.zoomText=r.label(n&&n.rangeSelectorZoom||"",0).attr({padding:s.buttonTheme.padding,height:s.buttonTheme.height,paddingLeft:0,paddingRight:0}).add(this.buttonGroup),this.chart.styledMode||(this.zoomText.css(s.labelStyle),h["stroke-width"]=v(h["stroke-width"],0)),l("option",{textContent:this.zoomText.textStr,disabled:!0},void 0,u),this.buttonOptions.forEach(((e,i)=>{l("option",{textContent:e.title||e.text},void 0,u),t[i]=r.button(e.text,0,0,(t=>{let s,n=e.events&&e.events.click;n&&(s=n.call(e,t)),!1!==s&&this.clickButton(i),this.isActive=!0}),h,c&&c.hover,c&&c.select,c&&c.disabled).attr({"text-align":"center",width:d}).add(this.buttonGroup),e.title&&t[i].attr("title",e.title)}))}alignElements(){let{buttonGroup:t,buttons:e,chart:i,group:s,inputGroup:n,options:r,zoomText:o}=this,a=i.options,l=a.exporting&&!1!==a.exporting.enabled&&a.navigation&&a.navigation.buttonOptions,{buttonPosition:h,inputPosition:c,verticalAlign:d}=r,u=(t,e)=>l&&this.titleCollision(i)&&"top"===d&&"right"===e.align&&e.y-t.getBBox().height-12<(l.y||0)+(l.height||0)+i.spacing[0]?-40:0,p=i.plotLeft;if(s&&h&&c){let a=h.x-i.spacing[3];if(t){if(this.positionButtons(),!this.initialButtonGroupWidth){let t=0;o&&(t+=o.getBBox().width+5),e.forEach(((i,s)=>{t+=i.width||0,s!==e.length-1&&(t+=r.buttonSpacing)})),this.initialButtonGroupWidth=t}p-=i.spacing[3],this.updateButtonStates();let n=u(t,h);this.alignButtonGroup(n),s.placed=t.placed=i.hasLoaded}let l=0;n&&(l=u(n,c),"left"===c.align?a=p:"right"===c.align&&(a=-Math.max(i.axisOffset[1],-l)),n.align({y:c.y,width:n.getBBox().width,align:c.align,x:c.x+a-2},!0,i.spacingBox),n.placed=i.hasLoaded),this.handleCollision(l),s.align({verticalAlign:d},!0,i.spacingBox);let f=s.alignAttr.translateY,g=s.getBBox().height+20,m=0;if("bottom"===d){let t=i.legend&&i.legend.options;m=f-(g=g+(t&&"bottom"===t.verticalAlign&&t.enabled&&!t.floating?i.legend.legendHeight+v(t.margin,10):0)-20)-(r.floating?0:r.y)-(i.titleOffset?i.titleOffset[2]:0)-10}"top"===d?(r.floating&&(m=0),i.titleOffset&&i.titleOffset[0]&&(m=i.titleOffset[0]),m+=i.margin[0]-i.spacing[0]||0):"middle"===d&&(c.y===h.y?m=f:(c.y||h.y)&&(c.y<0||h.y<0?m-=Math.min(c.y,h.y):m=f-g)),s.translate(r.x,r.y+Math.floor(m));let{minInput:y,maxInput:x,dropdown:b}=this;r.inputEnabled&&y&&x&&(y.style.marginTop=s.translateY+"px",x.style.marginTop=s.translateY+"px"),b&&(b.style.marginTop=s.translateY+"px")}}alignButtonGroup(t,e){let{chart:i,options:s,buttonGroup:n}=this,{buttonPosition:r}=s,o=i.plotLeft-i.spacing[3],a=r.x-i.spacing[3];"right"===r.align?a+=t-o:"center"===r.align&&(a-=o/2),n&&n.align({y:r.y,width:v(e,this.initialButtonGroupWidth),align:r.align,x:a},!0,i.spacingBox)}positionButtons(){let{buttons:t,chart:e,options:i,zoomText:s}=this,n=e.hasLoaded?"animate":"attr",{buttonPosition:r}=i,o=e.plotLeft,a=o;s&&"hidden"!==s.visibility&&(s[n]({x:v(o+r.x,o)}),a+=r.x+s.getBBox().width+5);for(let l=0,h=this.buttonOptions.length;l{let t=0;return this.buttons.forEach((e=>{let i=e.getBBox();i.width>t&&(t=i.width)})),t},l=e=>{if(s&&i){let r=s.alignAttr.translateX+s.alignOptions.x-t+s.getBBox().x+2,a=s.alignOptions.width,l=i.alignAttr.translateX+i.getBBox().x;return l+e>r&&r+a>l&&n.y{s&&i&&s.attr({translateX:s.alignAttr.translateX+(e.axisOffset[1]>=-t?0:-t),translateY:s.alignAttr.translateY+i.getBBox().height+10})};if(i){if("always"===r)return this.collapseButtons(t),void(l(a())&&h());"never"===r&&this.expandButtons()}s&&i?o.align===n.align||l(this.initialButtonGroupWidth+20)?"responsive"===r?(this.collapseButtons(t),l(a())&&h()):h():"responsive"===r&&this.expandButtons():i&&"responsive"===r&&(this.initialButtonGroupWidth>e.plotWidth?this.collapseButtons(t):this.expandButtons())}collapseButtons(t){let{buttons:e,buttonOptions:i,chart:s,dropdown:n,options:r,zoomText:o}=this;if(!0===this.isCollapsed)return;this.isCollapsed=!0;let a=s.userOptions.rangeSelector&&s.userOptions.rangeSelector.buttonTheme||{},l=t=>({text:t?"".concat(t," \u25be"):"\u25be",width:"auto",paddingLeft:v(r.buttonTheme.paddingLeft,a.padding,8),paddingRight:v(r.buttonTheme.paddingRight,a.padding,8)});o&&o.hide();let h=!1;i.forEach(((t,i)=>{let s=e[i];2!==s.state?s.hide():(s.show(),s.attr(l(t.text)),h=!0)})),h||(n&&(n.selectedIndex=0),e[0].show(),e[0].attr(l(this.zoomText&&this.zoomText.textStr)));let{align:c}=r.buttonPosition;this.positionButtons(),("right"===c||"center"===c)&&this.alignButtonGroup(t,e[this.currentButtonIndex()].getBBox().width),this.showDropdown()}expandButtons(){let{buttons:t,buttonOptions:e,options:i,zoomText:s}=this;this.hideDropdown(),!1!==this.isCollapsed&&(this.isCollapsed=!1,s&&s.show(),e.forEach(((e,s)=>{let n=t[s];n.show(),n.attr({text:e.text,width:i.buttonTheme.width||28,paddingLeft:v(i.buttonTheme.paddingLeft,"unset"),paddingRight:v(i.buttonTheme.paddingRight,"unset")}),n.state<2&&n.setState(0)})),this.positionButtons())}currentButtonIndex(){let{dropdown:t}=this;return t&&t.selectedIndex>0?t.selectedIndex-1:0}showDropdown(){let{buttonGroup:t,buttons:e,chart:i,dropdown:s}=this;if(t&&s){let{translateX:n=0,translateY:r=0}=t,o=e[this.currentButtonIndex()].getBBox();h(s,{left:i.plotLeft+n+"px",top:r+.5+"px",width:o.width+"px",height:o.height+"px"}),this.hasVisibleDropdown=!0}}hideDropdown(){let{dropdown:t}=this;t&&(h(t,{top:"-9999em",width:"1px",height:"1px"}),this.hasVisibleDropdown=!1)}getHeight(){let t=this.options,e=this.group,i=t.inputPosition,s=t.buttonPosition,n=t.y,r=s.y,o=i.y,a=0;return t.height?t.height:(this.alignElements(),a=e?e.getBBox(!0).height+13+n:0,(o<0&&r<0||o>0&&r>0)&&(a+=Math.abs(Math.min(o,r))),a)}titleCollision(t){return!(t.options.title.text||t.options.subtitle.text)}update(t){let e=this.chart;m(!0,e.options.rangeSelector,t),this.destroy(),this.init(e),this.render()}destroy(){let t=this,e=t.minInput,i=t.maxInput;t.eventsToUnbind&&(t.eventsToUnbind.forEach((t=>t())),t.eventsToUnbind=void 0),d(t.buttons),e&&(e.onfocus=e.onblur=e.onchange=null),i&&(i.onfocus=i.onblur=i.onchange=null),y(t,(function(e,i){e&&"chart"!==i&&(e instanceof n?e.destroy():e instanceof window.HTMLElement&&u(e)),e!==k.prototype[i]&&(t[i]=null)}),this)}}return p(k.prototype,{defaultButtons:[{type:"month",count:1,text:"1m",title:"View 1 month"},{type:"month",count:3,text:"3m",title:"View 3 months"},{type:"month",count:6,text:"6m",title:"View 6 months"},{type:"ytd",text:"YTD",title:"View year to date"},{type:"year",count:1,text:"1y",title:"View 1 year"},{type:"all",text:"All",title:"View all"}],inputTypeFormats:{"datetime-local":"%Y-%m-%dT%H:%M:%S",date:"%Y-%m-%d",time:"%H:%M:%S"}}),k})),i(e,"Core/Chart/StockChart.js",[e["Core/Chart/Chart.js"],e["Core/Templating.js"],e["Core/Defaults.js"],e["Stock/Navigator/NavigatorDefaults.js"],e["Stock/RangeSelector/RangeSelectorDefaults.js"],e["Stock/Scrollbar/ScrollbarDefaults.js"],e["Stock/Utilities/StockUtilities.js"],e["Core/Utilities.js"]],(function(t,e,i,s,n,r,o,a){let{format:l}=e,{getOptions:h}=i,{setFixedRange:c}=o,{addEvent:d,clamp:u,defined:p,extend:f,find:g,isNumber:m,isString:y,merge:x,pick:v,splat:b}=a;function S(t,e,i){var s,n,r,o;return"xAxis"===t?{minPadding:0,maxPadding:0,overscroll:0,ordinal:!0}:"yAxis"===t?{labels:{y:-2},opposite:null===(s=null!==(n=i.opposite)&&void 0!==n?n:e.opposite)||void 0===s||s,showLastLabel:!(!e.categories&&"category"!==e.type),title:{text:"Values"!==(null===(r=i.title)||void 0===r?void 0:r.text)?null===(o=i.title)||void 0===o?void 0:o.text:null}}:{}}function k(t,e){if("xAxis"===t){let t={type:"datetime",categories:void 0};return v(e.navigator&&e.navigator.enabled,s.enabled,!0)&&(t.startOnTick=!1,t.endOnTick=!1),t}return{}}class w extends t{init(t,e){let i=h(),o=t.xAxis,a=t.yAxis,l=v(t.navigator&&t.navigator.enabled,s.enabled,!0);t.xAxis=t.yAxis=void 0;let c=x({chart:{panning:{enabled:!0,type:"x"},zooming:{pinchType:"x",mouseWheel:{type:"x"}}},navigator:{enabled:l},scrollbar:{enabled:v(r.enabled,!0)},rangeSelector:{enabled:v(n.rangeSelector.enabled,!0)},title:{text:null},tooltip:{split:v(i.tooltip&&i.tooltip.split,!0),crosshairs:!0},legend:{enabled:!1}},t,{isStock:!0});t.xAxis=o,t.yAxis=a,c.xAxis=b(t.xAxis||{}).map((e=>x(S("xAxis",e,i.xAxis),e,k("xAxis",t)))),c.yAxis=b(t.yAxis||{}).map((t=>x(S("yAxis",t,i.yAxis),t))),super.init(c,e)}createAxis(t,e){return e.axis=x(S(t,e.axis,h()[t]),e.axis,k(t,this.userOptions)),super.createAxis(t,e)}}return d(t,"update",(function(t){let e=t.options;"scrollbar"in e&&this.navigator&&(x(!0,this.options.scrollbar,e.scrollbar),this.navigator.update({}),delete e.scrollbar)})),function(t){function e(t){if(!this.crosshair||!this.crosshair.label||!this.crosshair.label.enabled||!this.cross||!m(this.min)||!m(this.max))return;let e,i,s,n=this.chart,r=this.logarithmic,o=this.crosshair.label,a=this.horiz,h=this.opposite,c=this.left,d=this.top,u=this.width,p="inside"===this.options.tickPosition,g=!1!==this.crosshair.snap,y=t.e||this.cross&&this.cross.e,x=t.point,b=this.crossLabel,S=o.format,k="",w=0,C=this.min,A=this.max;r&&(C=r.lin2log(this.min),A=r.lin2log(this.max));let M=a?"center":h?"right"===this.labelAlign?"right":"left":"left"===this.labelAlign?"left":"center";b||(b=this.crossLabel=n.renderer.label("",0,void 0,o.shape||"callout").addClass("highcharts-crosshair-label highcharts-color-"+(x&&x.series?x.series.colorIndex:this.series[0]&&this.series[0].colorIndex)).attr({align:o.align||M,padding:v(o.padding,8),r:v(o.borderRadius,3),zIndex:2}).add(this.labelGroup),n.styledMode||b.attr({fill:o.backgroundColor||x&&x.series&&x.series.color||"#666666",stroke:o.borderColor||"","stroke-width":o.borderWidth||0}).css(f({color:"#ffffff",fontWeight:"normal",fontSize:"0.7em",textAlign:"center"},o.style||{}))),a?(e=g?(x.plotX||0)+c:y.chartX,i=d+(h?0:this.height)):(e=c+this.offset+(h?u:0),i=g?(x.plotY||0)+d:y.chartY),S||o.formatter||(this.dateTime&&(k="%b %d, %Y"),S="{value"+(k?":"+k:"")+"}");let T=g?this.isXAxis?x.x:x.y:this.toValue(a?y.chartX:y.chartY),P=x&&x.series?x.series.isPointInside(x):m(T)&&T>C&&T=s.right&&(w=-(L+O.width-s.right)),b.attr({x:e+w,y:i,anchorX:a?e:this.opposite?0:n.chartWidth,anchorY:a?this.opposite?n.chartHeight:0:i+O.height/2})}function i(){this.crossLabel&&(this.crossLabel=this.crossLabel.hide())}function s(t){let e=this.chart,i=this.options,s=e._labelPanes=e._labelPanes||{},n=i.labels;if(e.options.isStock&&"yAxis"===this.coll){let e=i.top+","+i.height;!s[e]&&n.enabled&&(15===n.distance&&1===this.side&&(n.distance=0),void 0===n.align&&(n.align="right"),s[e]=this,t.align="right",t.preventDefault())}}function n(){let t=this.chart,e=this.options&&this.options.top+","+this.options.height;e&&t._labelPanes&&t._labelPanes[e]===this&&delete t._labelPanes[e]}function r(t){let e,i,s,n,r,o,a=this,l=a.isLinked&&!a.series&&a.linkedParent?a.linkedParent.series:a.series,h=a.chart,c=h.renderer,d=a.left,f=a.top,x=[],b=t.translatedValue,S=t.value,k=t.force,w=[];if(h.options.isStock&&!1!==t.acrossPanes&&"xAxis"===a.coll||"yAxis"===a.coll){for(let e of(t.preventDefault(),w=(t=>{let e="xAxis"===t?"yAxis":"xAxis",i=a.options[e];return m(i)?[h[e][i]]:y(i)?[h.get(i)]:l.map((t=>t[e]))})(a.coll),a.isXAxis?h.yAxis:h.xAxis))if(!p(e.options.id)||-1===e.options.id.indexOf("navigator")){let t=e.isXAxis?"yAxis":"xAxis";a===(p(e.options[t])?h[t][e.options[t]]:h[t][0])&&w.push(e)}for(let t of(r=w.length?[]:[a.isXAxis?h.yAxis[0]:h.xAxis[0]],w))-1!==r.indexOf(t)||g(r,(e=>e.pos===t.pos&&e.len===t.len))||r.push(t);if(m(o=v(b,a.translate(S||0,void 0,void 0,t.old))))if(a.horiz)for(let t of r){let r;n=(i=t.pos)+t.len,e=s=Math.round(o+a.transB),"pass"!==k&&(ed+a.width)&&(k?e=s=u(e,d,d+a.width):r=!0),r||x.push(["M",e,i],["L",s,n])}else for(let t of r){let r;s=(e=t.pos)+t.len,i=n=Math.round(f+a.height-o),"pass"!==k&&(if+a.height)&&(k?i=n=u(i,f,f+a.height):r=!0),r||x.push(["M",e,i],["L",s,n])}t.path=x.length>0?c.crispPolyLine(x,t.lineWidth||1):void 0}}function o(t){if(this.chart.options.isStock){let e;this.is("column")||this.is("columnrange")?e={borderWidth:0,shadow:!1}:this.is("scatter")||this.is("sma")||(e={marker:{enabled:!1,radius:2}}),e&&(t.plotOptions[this.type]=x(t.plotOptions[this.type],e))}}function a(){let t=this.chart,e=this.options.dataGrouping;return!1!==this.allowDG&&e&&v(e.enabled,t.options.isStock)}function h(t,e){for(let i=0;i\u25cf {series.name}
High: {point.high}
Low: {point.low}
Close: {point.close}
'},threshold:null,states:{hover:{lineWidth:3}},stickyTracking:!0}})),i(e,"Series/HLC/HLCSeries.js",[e["Series/HLC/HLCPoint.js"],e["Series/HLC/HLCSeriesDefaults.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],(function(t,e,i,s){let{column:n}=i.seriesTypes,{extend:r,merge:o}=s;class a extends n{extendStem(t,e,i){let s=t[0],n=t[1];"number"==typeof s[2]&&(s[2]=Math.max(i+e,s[2])),"number"==typeof n[2]&&(n[2]=Math.min(i-e,n[2]))}getPointPath(t,e){let i=e.strokeWidth(),s=t.series,n=i%2/2,r=Math.round(t.plotX)-n,o=Math.round(t.shapeArgs.width/2),a=t.plotClose,l=[["M",r,Math.round(t.yBottom)],["L",r,Math.round(t.plotHigh)]];return null!==t.close&&(a=Math.round(t.plotClose)+n,l.push(["M",r,a],["L",r+o,a]),s.extendStem(l,i/2,a)),l}drawSinglePoint(t){let e,i=t.series,s=i.chart,n=t.graphic;void 0!==t.plotY&&(n||(t.graphic=n=s.renderer.path().add(i.group)),s.styledMode||n.attr(i.pointAttribs(t,t.selected&&"select")),e=i.getPointPath(t,n),n[n?"animate":"attr"]({d:e}).addClass(t.getClassName(),!0))}drawPoints(){this.points.forEach(this.drawSinglePoint)}init(){super.init.apply(this,arguments),this.options.stacking=void 0}pointAttribs(t,e){let i=super.pointAttribs.call(this,t,e);return delete i.fill,i}toYData(t){return[t.high,t.low,t.close]}translate(){let t=this,e=t.yAxis,i=this.pointArrayMap&&this.pointArrayMap.slice()||[],s=i.map((t=>"plot".concat(t.charAt(0).toUpperCase()+t.slice(1))));s.push("yBottom"),i.push("low"),super.translate.apply(t),t.points.forEach((function(n){i.forEach((function(i,r){let o=n[i];null!==o&&(t.dataModify&&(o=t.dataModify.modifyValue(o)),n[s[r]]=e.toPixels(o,!0))})),n.tooltipPos[1]=n.plotHigh+e.pos-t.chart.plotTop}))}}return a.defaultOptions=o(n.defaultOptions,e),r(a.prototype,{pointClass:t,animate:null,directTouch:!1,pointArrayMap:["high","low","close"],pointAttrToOptions:{stroke:"color","stroke-width":"lineWidth"},pointValKey:"close"}),i.registerSeriesType("hlc",a),a})),i(e,"Series/OHLC/OHLCPoint.js",[e["Core/Series/SeriesRegistry.js"]],(function(t){let{seriesTypes:{hlc:e}}=t;class i extends e.prototype.pointClass{getClassName(){return super.getClassName.call(this)+(this.open\u25cf {series.name}
Open: {point.open}
High: {point.high}
Low: {point.low}
Close: {point.close}
'}}})),i(e,"Series/OHLC/OHLCSeries.js",[e["Core/Globals.js"],e["Series/OHLC/OHLCPoint.js"],e["Series/OHLC/OHLCSeriesDefaults.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],(function(t,e,i,s,n){let{composed:r}=t,{hlc:o}=s.seriesTypes,{addEvent:a,extend:l,merge:h,pushUnique:c}=n;function d(t){let e=t.options,i=e.dataGrouping;i&&e.useOhlcData&&"highcharts-navigator-series"!==e.id&&(i.approximation="ohlc")}function u(t){let e=t.options;e.useOhlcData&&"highcharts-navigator-series"!==e.id&&l(this,{pointValKey:p.prototype.pointValKey,pointArrayMap:p.prototype.pointArrayMap,toYData:p.prototype.toYData})}class p extends o{static compose(t){c(r,"OHLCSeries")&&(a(t,"afterSetOptions",d),a(t,"init",u))}getPointPath(t,e){let i=super.getPointPath(t,e),s=e.strokeWidth(),n=s%2/2,r=Math.round(t.plotX)-n,o=Math.round(t.shapeArgs.width/2),a=t.plotOpen;return null!==t.open&&(a=Math.round(t.plotOpen)+n,i.push(["M",r,a],["L",r-o,a]),super.extendStem(i,s/2,a)),i}pointAttribs(t,e){let i=super.pointAttribs.call(this,t,e),s=this.options;return delete i.fill,!t.options.color&&s.upColor&&t.openn&&(i-=Math.round((r-n)/2),n=r),a=t[e](i,s,n,r),l&&h){let o=l;if("circle"===e)o=i+n/2;else{let t=a[0],e=a[1];"M"===t[0]&&"L"===e[0]&&(o=(t[1]+e[1])/2)}let c=s>h?s:s+r;a.push(["M",o,c],["L",l,h]),a=a.concat(t.circle(l-1,h-1,2,2))}return a}}e.compose=function(e){if(-1===i.indexOf(e)){i.push(e);let t=e.prototype.symbols;t.flag=s,n(t,"circle"),n(t,"square")}let r=t.getRendererType();i.indexOf(r)&&i.push(r)}}(e||(e={})),e})),i(e,"Series/OnSeriesComposition.js",[e["Series/Column/ColumnSeries.js"],e["Core/Globals.js"],e["Core/Series/Series.js"],e["Core/Utilities.js"]],(function(t,e,i,s){var n;let{composed:r}=e,{prototype:o}=t,{prototype:a}=i,{defined:l,pushUnique:h,stableSort:c}=s;return function(t){function e(t){return a.getPlotBox.call(this.options.onSeries&&this.chart.get(this.options.onSeries)||this,t)}function i(){o.translate.apply(this);let t,e,i,s,n,r,a,h=this,d=h.options,u=h.chart,p=h.points,f=d.onSeries,g=f&&u.get(f),m=g&&g.options.step,y=g&&g.points,x=u.inverted,v=h.xAxis,b=h.yAxis,S=p.length-1,k=d.onKey||"y",w=y&&y.length,C=0;if(g&&g.visible&&w)for(C=(g.pointXOffset||0)+(g.barW||0)/2,r=g.currentDataGrouping,s=y[w-1].x+(r?r.totalRange:0),c(p,((t,e)=>t.x-e.x)),k="plot"+k[0].toUpperCase()+k.substr(1);w--&&p[S];)if(i=y[w],(t=p[S]).y=i.y,i.x<=t.x&&void 0!==i[k]){if(t.x<=s&&(t.plotY=i[k],i.xMath.pow(1-t,3)*s[e]+3*(1-t)*(1-t)*t*o[e]+3*(1-t)*t*t*a[e]+t*t*t*r[e],c=0,d=1;for(let i=0;i<100;i++){let i=(c+d)/2,s=h(i,0);if(null===s)break;if(.25>Math.abs(s-t.plotX)){e=i;break}s{let s;t.plotX+=C,(void 0===t.plotY||x)&&(t.plotX>=0&&t.plotX<=v.len?x?(t.plotY=v.translate(t.x,0,1,0,1),t.plotX=l(t.y)?b.translate(t.y,0,0,0,1):0):t.plotY=(v.opposite?0:h.yAxis.len)+v.offset:t.shapeArgs={}),(e=p[i-1])&&e.plotX===t.plotX&&(void 0===e.stackIndex&&(e.stackIndex=0),s=e.stackIndex+1),t.stackIndex=s})),this.onSeries=g}t.compose=function(t){if(h(r,"OnSeries")){let s=t.prototype;s.getPlotBox=e,s.translate=i}return t},t.getPlotBox=e,t.translate=i}(n||(n={})),n})),i(e,"Series/Flags/FlagsSeries.js",[e["Series/Flags/FlagsPoint.js"],e["Series/Flags/FlagsSeriesDefaults.js"],e["Series/Flags/FlagsSymbols.js"],e["Core/Globals.js"],e["Series/OnSeriesComposition.js"],e["Core/Renderer/RendererUtilities.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Renderer/SVG/SVGElement.js"],e["Core/Utilities.js"]],(function(t,e,i,s,n,r,o,a,l){let{noop:h}=s,{distribute:c}=r,{series:d,seriesTypes:{column:u}}=o,{addEvent:p,defined:f,extend:g,merge:m,objectEach:y,wrap:x}=l;class v extends u{animate(t){t&&this.setClip()}drawPoints(){let t,e,i,s,n,r,o,l,h,d,u,p=this.points,g=this.chart,v=g.renderer,b=g.inverted,S=this.options,k=S.y,w=this.yAxis,C={},A=[];for(s=p.length;s--;)n=p[s],d=(b?n.plotY:n.plotX)>this.xAxis.len,t=n.plotX,o=n.stackIndex,i=n.options.shape||S.shape,void 0!==(e=n.plotY)&&(e=n.plotY+k-(void 0!==o&&o*S.stackDistance)),n.anchorX=o?void 0:n.plotX,l=o?void 0:n.plotY,u="flag"!==i,r=n.graphic,void 0!==e&&t>=0&&!d?(r&&n.hasNewShapeType()&&(r=r.destroy()),r||(r=n.graphic=v.label("",null,null,i,null,null,S.useHTML).addClass("highcharts-point").add(this.markerGroup),n.graphic.div&&(n.graphic.div.point=n),r.isNew=!0),r.attr({align:u?"center":"left",width:S.width,height:S.height,"text-align":S.textAlign}),g.styledMode||r.attr(this.pointAttribs(n)).css(m(S.style,n.style)).shadow(S.shadow),t>0&&(t-=r.strokeWidth()%2),h={y:e,anchorY:l},S.allowOverlapX&&(h.x=t,h.anchorX=n.anchorX),r.attr({text:n.options.title||S.title||"A"})[r.isNew?"attr":"animate"](h),S.allowOverlapX||(C[n.plotX]?C[n.plotX].size=Math.max(C[n.plotX].size,r.width||0):C[n.plotX]={align:u?.5:0,size:r.width||0,target:t,anchorX:t}),n.tooltipPos=[t,e+w.pos-g.plotTop]):r&&(n.graphic=r.destroy());if(!S.allowOverlapX){let t=100;for(let e of(y(C,(function(e){e.plotX=e.anchorX,A.push(e),t=Math.max(e.size,t)})),c(A,b?w.len:this.xAxis.len,t),p)){let t=e.plotX,i=e.graphic,s=i&&C[t];s&&i&&(f(s.pos)?i[i.isNew?"attr":"animate"]({x:s.pos+(s.align||0)*s.size,anchorX:e.anchorX}).show().isNew=!1:i.hide().isNew=!0)}}S.useHTML&&this.markerGroup&&x(this.markerGroup,"on",(function(t){return a.prototype.on.apply(t.apply(this,[].slice.call(arguments,1)),[].slice.call(arguments,1))}))}drawTracker(){let t=this.points;for(let e of(super.drawTracker(),t)){let i=e.graphic;i&&(e.unbindMouseOver&&e.unbindMouseOver(),e.unbindMouseOver=p(i.element,"mouseover",(function(){for(let s of(e.stackIndex>0&&!e.raised&&(e._y=i.y,i.attr({y:e._y-8}),e.raised=!0),t))s!==e&&s.raised&&s.graphic&&(s.graphic.attr({y:s._y}),s.raised=!1)})))}}pointAttribs(t,e){let i=this.options,s=t&&t.color||this.color,n=i.lineColor,r=t&&t.lineWidth,o=t&&t.fillColor||i.fillColor;return e&&(o=i.states[e].fillColor,n=i.states[e].lineColor,r=i.states[e].lineWidth),{fill:o||s,stroke:n||s,"stroke-width":r||i.lineWidth||0}}setClip(){d.prototype.setClip.apply(this,arguments),!1!==this.options.clip&&this.sharedClipKey&&this.markerGroup&&this.markerGroup.clip(this.chart.sharedClips[this.sharedClipKey])}}return v.compose=i.compose,v.defaultOptions=m(u.defaultOptions,e),n.compose(v),g(v.prototype,{allowDG:!1,forceCrop:!0,invertible:!1,noSharedTooltip:!0,pointClass:t,sorted:!1,takeOrdinalPosition:!1,trackerGroups:["markerGroup"],buildKDTree:h,init:d.prototype.init}),o.registerSeriesType("flags",v),v})),i(e,"Core/Axis/BrokenAxis.js",[e["Core/Axis/Stacking/StackItem.js"],e["Core/Utilities.js"]],(function(t,e){var i;let{addEvent:s,find:n,fireEvent:r,isArray:o,isNumber:a,pick:l}=e;return function(e){function i(){void 0!==this.brokenAxis&&this.brokenAxis.setBreaks(this.options.breaks,!1)}function h(){var t;(null===(t=this.brokenAxis)||void 0===t?void 0:t.hasBreaks)&&(this.options.ordinal=!1)}function c(){let t=this.brokenAxis;if(null!==t&&void 0!==t&&t.hasBreaks){let e=this.tickPositions,i=this.tickPositions.info,s=[];for(let n=0;ne.to||n>e.from&&oe.from&&oe.from&&o>e.to&&o0){let e,a;for("value"!==this.options.gapUnit&&(r*=this.basePointRange),i&&i>r&&i>=this.basePointRange&&(r=i);o--;)if(a&&!1!==a.visible||(a=s[o+1]),e=s[o],!1!==a.visible&&!1!==e.visible){if(a.x-e.x>r){let i=(e.x+a.x)/2;s.splice(o+1,0,{isNull:!0,x:i}),n.stacking&&this.options.stacking&&((n.stacking.stacks[this.stackKey][i]=new t(n,n.options.stackLabels,!1,i,this.stack)).total=0)}a=e}}return this.getGraphPath(s)}e.compose=function(t,e){if(!t.keepProps.includes("brokenAxis")){t.keepProps.push("brokenAxis"),s(t,"init",d),s(t,"afterInit",i),s(t,"afterSetTickPositions",c),s(t,"afterSetOptions",h);let n=e.prototype;n.drawBreaks=f,n.gappedPath=g,s(e,"afterGeneratePoints",u),s(e,"afterRender",p)}return t};class m{static isInBreak(t,e){let i=t.repeat||1/0,s=t.from,n=t.to-t.from,r=e>=s?(e-s)%i:i-(s-e)%i;return t.inclusive?r<=n:r=r);n++)(s.to=t)break;if(m.isInBreak(s,t)){r-=t-s.from;break}}return r}constructor(t){this.hasBreaks=!1,this.axis=t}findBreakAt(t,e){return n(e,(function(e){return e.fromf;)n-=e;for(;nthis.chart.plotSizeX/r||e&&i.forced)&&(a=!0));return a?r:0}function h(){this.series.forEach((function(t){t.hasProcessed=!1}))}function c(t,e){let s;if(e=o(e,!0),t||(t={forced:!1,units:null}),this instanceof i)for(s=this.series.length;s--;)this.series[s].update({dataGrouping:t},!1);else this.chart.options.series.forEach((function(e){e.dataGrouping="boolean"==typeof t?t:r(t,e.dataGrouping)}));this.ordinal&&(this.ordinal.slope=void 0),e&&this.chart.redraw()}return{compose:function(t){i=t;let e=t.prototype;e.applyGrouping||(s(t,"afterSetScale",h),s(t,"postProcessData",a),n(e,{applyGrouping:a,getGroupPixelWidth:l,setDataGrouping:c}))}}})),i(e,"Extensions/DataGrouping/DataGroupingSeriesComposition.js",[e["Extensions/DataGrouping/ApproximationRegistry.js"],e["Extensions/DataGrouping/DataGroupingDefaults.js"],e["Core/Axis/DateTimeAxis.js"],e["Core/Defaults.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],(function(t,e,i,s,n,r){let{series:{prototype:o}}=n,{addEvent:a,defined:l,error:h,extend:c,isNumber:d,merge:u,pick:p}=r,f=o.generatePoints;function g(t){var s;let n,r,a,c,u=this.chart,f=this.options.dataGrouping,g=!1!==this.allowDG&&f&&p(f.enabled,u.options.isStock),m=this.reserveSpace(),y=this.currentDataGrouping,x=!1;g&&!this.requireSorting&&(this.requireSorting=x=!0);let v=0==!(this.isCartesian&&!this.isDirty&&!this.xAxis.isDirty&&!this.yAxis.isDirty&&!t)||!g;if(x&&(this.requireSorting=!1),v)return;this.destroyGroupedData();let b=f.groupAll?this.xData:this.processedXData,S=f.groupAll?this.yData:this.processedYData,k=u.plotSizeX,w=this.xAxis,C=w.options.ordinal,A=this.groupPixelWidth;if(A&&b&&b.length&&k){r=!0,this.isDirty=!0,this.points=null;let t=w.getExtremes(),p=t.min,g=t.max,y=A*(g-p)/k*(C&&w.ordinal&&w.ordinal.getGroupIntervalFactor(p,g,this)||1),x=w.getTimeTicks(i.Additions.prototype.normalizeTimeTickInterval(y,f.units||e.units),Math.min(p,b[0]),Math.max(g,b[b.length-1]),w.options.startOfWeek,b,this.closestPointRange),v=o.groupData.apply(this,[b,S,x,f.approximation]),M=v.groupedXData,T=v.groupedYData,P=0;for(f&&f.smoothed&&M.length&&(f.firstAnchor="firstPoint",f.anchor="middle",f.lastAnchor="lastPoint",h(32,!1,u,{"dataGrouping.smoothed":"use dataGrouping.anchor"})),n=1;n=e[0]){let i;c++;let s=t.groupMap[0].start,r=t.groupMap[0].length;d(s)&&d(r)&&(i=s+(r-1)),e[0]={start:e[0],middle:e[0]+.5*n,end:e[0]+n,firstPoint:t.xData[0],lastPoint:i&&t.xData[i]}[a]}if(r>0&&l&&n&&e[r]>=i-n){h--;let i=t.groupMap[t.groupMap.length-1].start;e[r]={start:e[r],middle:e[r]+.5*n,end:e[r]+n,firstPoint:i&&t.xData[i],lastPoint:t.xData[t.xData.length-1]}[l]}if(o&&"start"!==o){let t=n*{middle:.5,end:1}[o];for(;h>=c;)e[h]+=t,h--}}(this,M,g),m&&(l((s=M)[0])&&d(w.min)&&d(w.dataMin)&&s[0]w.max&&((!l(w.options.max)&&d(w.dataMax)&&w.max>=w.dataMax||w.max===w.dataMax)&&(w.max=Math.max(s[s.length-1],w.max)),w.dataMax=Math.max(s[s.length-1],w.dataMax))),f.groupAll&&(this.allGroupedData=T,M=(c=this.cropData(M,T,w.min,w.max)).xData,T=c.yData,this.cropStart=c.start),this.processedXData=M,this.processedYData=T}else this.groupMap=null;this.hasGroupedData=r,this.preventGraphAnimation=(y&&y.totalRange)!==(a&&a.totalRange)}function m(){this.groupedData&&(this.groupedData.forEach((function(t,e){t&&(this.groupedData[e]=t.destroy?t.destroy():null)}),this),this.groupedData.length=0,delete this.allGroupedData)}function y(){f.apply(this),this.destroyGroupedData(),this.groupedData=this.hasGroupedData?this.points:null}function x(){return this.is("arearange")?"range":this.is("ohlc")?"ohlc":this.is("hlc")?"hlc":this.is("column")||this.options.cumulative?"sum":"average"}function v(e,i,s,n){let r,o,a,h=this,c=h.data,p=h.options&&h.options.data,f=[],g=[],m=[],y=e.length,x=!!i,v=[],b=h.pointArrayMap,S=b&&b.length,k=["x"].concat(b||["y"]),w=this.options.dataGrouping&&this.options.dataGrouping.groupAll,C=0,A=0,M="function"==typeof n?n:n&&t[n]?t[n]:t[h.getDGApproximation&&h.getDGApproximation()||"average"];if(S){let t=b.length;for(;t--;)v.push([])}else v.push([]);let T=S||1;for(let t=0;t<=y;t++)if(!(e[t]=s[C+1]||t===y;){r=s[C],h.dataGroupInfo={start:w?A:h.cropStart+A,length:v[0].length,groupStart:r},a=M.apply(h,v),h.pointClass&&!l(h.dataGroupInfo.options)&&(h.dataGroupInfo.options=u(h.pointClass.prototype.optionsToObject.call({series:h},h.options.data[h.cropStart+A])),k.forEach((function(t){delete h.dataGroupInfo.options[t]}))),void 0!==a&&(f.push(r),g.push(a),m.push(h.dataGroupInfo)),A=t;for(let t=0;t{let e=t.axis.getExtremes(),n=e.min,r=e.max,o=s(t.axis.minPointOffset,0);return i(n)&&i(r)&&t.value>=n-o&&t.value<=r+o&&!t.axis.options.isInternal}))[0]},getFieldType:function(t,i){let s=n[t],r=typeof i;return e(s)&&(r=s),{string:"text",number:"number",boolean:"checkbox"}[r]}}})),i(e,"Extensions/MouseWheelZoom/MouseWheelZoom.js",[e["Core/Utilities.js"],e["Extensions/Annotations/NavigationBindingsUtilities.js"]],(function(t,e){let i,{addEvent:s,isObject:n,pick:r,defined:o,merge:a}=t,{getAssignedAxis:l}=e,h=[],c={enabled:!0,sensitivity:1.1},d=function(t,e,s,n,a,l,h){let c=r(h.type,t.zooming.type,""),d=[];"x"===c?d=s:"y"===c?d=n:"xy"===c&&(d=t.axes);let u=t.transform({axes:d,to:{x:a-5,y:l-5,width:10,height:10},from:{x:a-5*e,y:l-5*e,width:10*e,height:10*e},trigger:"mousewheel"});return u&&(o(i)&&clearTimeout(i),i=setTimeout((()=>{var e;null===(e=t.pointer)||void 0===e||e.drop()}),400)),u};function u(){let t=(t=>{var e;return n(t)||(t={enabled:null===(e=t)||void 0===e||e}),a(c,t)})(this.zooming.mouseWheel);t.enabled&&s(this.container,"wheel",(e=>{var i;e=(null===(i=this.pointer)||void 0===i?void 0:i.normalize(e))||e;let{pointer:s}=this,n=s&&!s.inClass(e.target,"highcharts-no-mousewheel");if(this.isInsidePlot(e.chartX-this.plotLeft,e.chartY-this.plotTop)&&n){var r,o;let i=t.sensitivity||1.1,n=e.detail||(e.deltaY||0)/120,a=l(s.getCoordinates(e).xAxis),h=l(s.getCoordinates(e).yAxis);d(this,Math.pow(i,n),a?[a.axis]:this.xAxis,h?[h.axis]:this.yAxis,e.chartX,e.chartY,t)&&(null===(r=(o=e).preventDefault)||void 0===r||r.call(o))}}))}return{compose:function(t){-1===h.indexOf(t)&&(h.push(t),s(t,"afterGetContainer",u))}}})),i(e,"masters/modules/mouse-wheel-zoom.src.js",[e["Core/Globals.js"],e["Extensions/MouseWheelZoom/MouseWheelZoom.js"]],(function(t,e){return t.MouseWheelZoom=t.MouseWheelZoom||e,t.MouseWheelZoom.compose(t.Chart),t})),i(e,"masters/modules/stock.src.js",[e["Core/Globals.js"],e["Series/DataModifyComposition.js"],e["Stock/Navigator/Navigator.js"],e["Core/Axis/OrdinalAxis.js"],e["Stock/RangeSelector/RangeSelector.js"],e["Stock/Scrollbar/Scrollbar.js"],e["Core/Chart/StockChart.js"],e["Series/OHLC/OHLCSeries.js"],e["Series/Flags/FlagsSeries.js"]],(function(t,e,i,s,n,r,o,a,l){return t.Navigator=t.Navigator||i,t.OrdinalAxis=t.OrdinalAxis||s,t.RangeSelector=t.RangeSelector||n,t.Scrollbar=t.Scrollbar||r,t.stockChart=t.stockChart||o.stockChart,t.StockChart=t.StockChart||t.stockChart,t.extend(t.StockChart,o),e.compose(t.Series,t.Axis,t.Point),l.compose(t.Renderer),a.compose(t.Series),t.Navigator.compose(t.Chart,t.Axis,t.Series),t.OrdinalAxis.compose(t.Axis,t.Series,t.Chart),t.RangeSelector.compose(t.Axis,t.Chart),t.Scrollbar.compose(t.Axis),t.StockChart.compose(t.Chart,t.Axis,t.Series,t.SVGRenderer),t}))},t.exports?(r.default=r,t.exports=r):(s=[i(3488)],void 0===(n=function(t){return r(t),r.Highcharts=t,r}.apply(e,s))||(t.exports=n))},219:(t,e,i)=>{"use strict";var s=i(3763),n={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},r={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},o={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},a={};function l(t){return s.isMemo(t)?o:a[t.$$typeof]||n}a[s.ForwardRef]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},a[s.Memo]=o;var h=Object.defineProperty,c=Object.getOwnPropertyNames,d=Object.getOwnPropertySymbols,u=Object.getOwnPropertyDescriptor,p=Object.getPrototypeOf,f=Object.prototype;t.exports=function t(e,i,s){if("string"!==typeof i){if(f){var n=p(i);n&&n!==f&&t(e,n,s)}var o=c(i);d&&(o=o.concat(d(i)));for(var a=l(e),g=l(i),m=0;m{"use strict";var i="function"===typeof Symbol&&Symbol.for,s=i?Symbol.for("react.element"):60103,n=i?Symbol.for("react.portal"):60106,r=i?Symbol.for("react.fragment"):60107,o=i?Symbol.for("react.strict_mode"):60108,a=i?Symbol.for("react.profiler"):60114,l=i?Symbol.for("react.provider"):60109,h=i?Symbol.for("react.context"):60110,c=i?Symbol.for("react.async_mode"):60111,d=i?Symbol.for("react.concurrent_mode"):60111,u=i?Symbol.for("react.forward_ref"):60112,p=i?Symbol.for("react.suspense"):60113,f=i?Symbol.for("react.suspense_list"):60120,g=i?Symbol.for("react.memo"):60115,m=i?Symbol.for("react.lazy"):60116,y=i?Symbol.for("react.block"):60121,x=i?Symbol.for("react.fundamental"):60117,v=i?Symbol.for("react.responder"):60118,b=i?Symbol.for("react.scope"):60119;function S(t){if("object"===typeof t&&null!==t){var e=t.$$typeof;switch(e){case s:switch(t=t.type){case c:case d:case r:case a:case o:case p:return t;default:switch(t=t&&t.$$typeof){case h:case u:case m:case g:case l:return t;default:return e}}case n:return e}}}function k(t){return S(t)===d}e.AsyncMode=c,e.ConcurrentMode=d,e.ContextConsumer=h,e.ContextProvider=l,e.Element=s,e.ForwardRef=u,e.Fragment=r,e.Lazy=m,e.Memo=g,e.Portal=n,e.Profiler=a,e.StrictMode=o,e.Suspense=p,e.isAsyncMode=function(t){return k(t)||S(t)===c},e.isConcurrentMode=k,e.isContextConsumer=function(t){return S(t)===h},e.isContextProvider=function(t){return S(t)===l},e.isElement=function(t){return"object"===typeof t&&null!==t&&t.$$typeof===s},e.isForwardRef=function(t){return S(t)===u},e.isFragment=function(t){return S(t)===r},e.isLazy=function(t){return S(t)===m},e.isMemo=function(t){return S(t)===g},e.isPortal=function(t){return S(t)===n},e.isProfiler=function(t){return S(t)===a},e.isStrictMode=function(t){return S(t)===o},e.isSuspense=function(t){return S(t)===p},e.isValidElementType=function(t){return"string"===typeof t||"function"===typeof t||t===r||t===d||t===a||t===o||t===p||t===f||"object"===typeof t&&null!==t&&(t.$$typeof===m||t.$$typeof===g||t.$$typeof===l||t.$$typeof===h||t.$$typeof===u||t.$$typeof===x||t.$$typeof===v||t.$$typeof===b||t.$$typeof===y)},e.typeOf=S},3763:(t,e,i)=>{"use strict";t.exports=i(4983)},2740:t=>{"use strict";t.exports=function(t,e,i,s,n,r,o,a){if(!t){var l;if(void 0===e)l=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var h=[i,s,n,r,o,a],c=0;(l=new Error(e.replace(/%s/g,(function(){return h[c++]})))).name="Invariant Violation"}throw l.framesToPop=1,l}}},1497:(t,e,i)=>{"use strict";var s=i(3218);function n(){}function r(){}r.resetWarningCache=n,t.exports=function(){function t(t,e,i,n,r,o){if(o!==s){var a=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw a.name="Invariant Violation",a}}function e(){return t}t.isRequired=t;var i={array:t,bigint:t,bool:t,func:t,number:t,object:t,string:t,symbol:t,any:t,arrayOf:e,element:t,elementType:t,instanceOf:e,node:t,objectOf:e,oneOf:e,oneOfType:e,shape:e,exact:e,checkPropTypes:r,resetWarningCache:n};return i.PropTypes=i,i}},5173:(t,e,i)=>{t.exports=i(1497)()},3218:t=>{"use strict";t.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},2730:(t,e,i)=>{"use strict";var s=i(5043),n=i(8853);function r(t){for(var e="https://reactjs.org/docs/error-decoder.html?invariant="+t,i=1;i