lit-litelements 2.1.3 → 2.1.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/component/chart.lit.d.ts +2 -0
- package/dist/component/chart.lit.js +38 -17273
- package/dist/main.js +12 -12
- package/package.json +1 -1
package/dist/main.js
CHANGED
|
@@ -1,38 +1,38 @@
|
|
|
1
|
-
function
|
|
1
|
+
function t(t,e,i,s){var n,o=arguments.length,r=o<3?e:null===s?s=Object.getOwnPropertyDescriptor(e,i):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,e,i,s);else for(var a=t.length-1;a>=0;a--)(n=t[a])&&(r=(o<3?n(r):o>3?n(e,i,r):n(e,i))||r);return o>3&&r&&Object.defineProperty(e,i,r),r}function e(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)}function i(t,e,i,s){return new(i||(i=Promise))((function(n,o){function r(t){try{l(s.next(t))}catch(t){o(t)}}function a(t){try{l(s.throw(t))}catch(t){o(t)}}function l(t){var e;t.done?n(t.value):(e=t.value,e instanceof i?e:new i((function(t){t(e)}))).then(r,a)}l((s=s.apply(t,e||[])).next())}))}"function"==typeof SuppressedError&&SuppressedError;
|
|
2
2
|
/**
|
|
3
3
|
* @license
|
|
4
4
|
* Copyright 2019 Google LLC
|
|
5
5
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
6
6
|
*/
|
|
7
|
-
const
|
|
7
|
+
const s=globalThis,n=s.ShadowRoot&&(void 0===s.ShadyCSS||s.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,o=Symbol(),r=new WeakMap;class a{constructor(t,e,i){if(this._$cssResult$=!0,i!==o)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=t,this.t=e}get styleSheet(){let t=this.o;const e=this.t;if(n&&void 0===t){const i=void 0!==e&&1===e.length;i&&(t=r.get(e)),void 0===t&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),i&&r.set(e,t))}return t}toString(){return this.cssText}}const l=n?t=>t:t=>t instanceof CSSStyleSheet?(t=>{let e="";for(const i of t.cssRules)e+=i.cssText;return(t=>new a("string"==typeof t?t:t+"",void 0,o))(e)})(t):t
|
|
8
8
|
/**
|
|
9
9
|
* @license
|
|
10
10
|
* Copyright 2017 Google LLC
|
|
11
11
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
12
|
-
*/,{is:h,defineProperty:
|
|
12
|
+
*/,{is:h,defineProperty:c,getOwnPropertyDescriptor:d,getOwnPropertyNames:u,getOwnPropertySymbols:f,getPrototypeOf:p}=Object,g=globalThis,m=g.trustedTypes,b=m?m.emptyScript:"",x=g.reactiveElementPolyfillSupport,_=(t,e)=>t,y={toAttribute(t,e){switch(e){case Boolean:t=t?b:null;break;case Object:case Array:t=null==t?t:JSON.stringify(t)}return t},fromAttribute(t,e){let i=t;switch(e){case Boolean:i=null!==t;break;case Number:i=null===t?null:Number(t);break;case Object:case Array:try{i=JSON.parse(t)}catch(t){i=null}}return i}},v=(t,e)=>!h(t,e),w={attribute:!0,type:String,converter:y,reflect:!1,hasChanged:v};Symbol.metadata??=Symbol("metadata"),g.litPropertyMetadata??=new WeakMap;class M extends HTMLElement{static addInitializer(t){this._$Ei(),(this.l??=[]).push(t)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:w;if(e.state&&(e.attribute=!1),this._$Ei(),this.elementProperties.set(t,e),!e.noAccessor){const i=Symbol(),s=this.getPropertyDescriptor(t,i,e);void 0!==s&&c(this.prototype,t,s)}}static getPropertyDescriptor(t,e,i){const{get:s,set:n}=d(this.prototype,t)??{get(){return this[e]},set(t){this[e]=t}};return{get(){return s?.call(this)},set(e){const o=s?.call(this);n.call(this,e),this.requestUpdate(t,o,i)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)??w}static _$Ei(){if(this.hasOwnProperty(_("elementProperties")))return;const t=p(this);t.finalize(),void 0!==t.l&&(this.l=[...t.l]),this.elementProperties=new Map(t.elementProperties)}static finalize(){if(this.hasOwnProperty(_("finalized")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(_("properties"))){const t=this.properties,e=[...u(t),...f(t)];for(const i of e)this.createProperty(i,t[i])}const t=this[Symbol.metadata];if(null!==t){const e=litPropertyMetadata.get(t);if(void 0!==e)for(const[t,i]of e)this.elementProperties.set(t,i)}this._$Eh=new Map;for(const[t,e]of this.elementProperties){const i=this._$Eu(t,e);void 0!==i&&this._$Eh.set(i,t)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(t){const e=[];if(Array.isArray(t)){const i=new Set(t.flat(1/0).reverse());for(const t of i)e.unshift(l(t))}else void 0!==t&&e.push(l(t));return e}static _$Eu(t,e){const i=e.attribute;return!1===i?void 0:"string"==typeof i?i:"string"==typeof t?t.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){this._$ES=new Promise((t=>this.enableUpdating=t)),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach((t=>t(this)))}addController(t){(this._$EO??=new Set).add(t),void 0!==this.renderRoot&&this.isConnected&&t.hostConnected?.()}removeController(t){this._$EO?.delete(t)}_$E_(){const t=new Map,e=this.constructor.elementProperties;for(const i of e.keys())this.hasOwnProperty(i)&&(t.set(i,this[i]),delete this[i]);t.size>0&&(this._$Ep=t)}createRenderRoot(){const t=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return((t,e)=>{if(n)t.adoptedStyleSheets=e.map((t=>t instanceof CSSStyleSheet?t:t.styleSheet));else for(const i of e){const e=document.createElement("style"),n=s.litNonce;void 0!==n&&e.setAttribute("nonce",n),e.textContent=i.cssText,t.appendChild(e)}})(t,this.constructor.elementStyles),t}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$EO?.forEach((t=>t.hostConnected?.()))}enableUpdating(t){}disconnectedCallback(){this._$EO?.forEach((t=>t.hostDisconnected?.()))}attributeChangedCallback(t,e,i){this._$AK(t,i)}_$EC(t,e){const i=this.constructor.elementProperties.get(t),s=this.constructor._$Eu(t,i);if(void 0!==s&&!0===i.reflect){const n=(void 0!==i.converter?.toAttribute?i.converter:y).toAttribute(e,i.type);this._$Em=t,null==n?this.removeAttribute(s):this.setAttribute(s,n),this._$Em=null}}_$AK(t,e){const i=this.constructor,s=i._$Eh.get(t);if(void 0!==s&&this._$Em!==s){const t=i.getPropertyOptions(s),n="function"==typeof t.converter?{fromAttribute:t.converter}:void 0!==t.converter?.fromAttribute?t.converter:y;this._$Em=s,this[s]=n.fromAttribute(e,t.type),this._$Em=null}}requestUpdate(t,e,i){if(void 0!==t){if(i??=this.constructor.getPropertyOptions(t),!(i.hasChanged??v)(this[t],e))return;this.P(t,e,i)}!1===this.isUpdatePending&&(this._$ES=this._$ET())}P(t,e,i){this._$AL.has(t)||this._$AL.set(t,e),!0===i.reflect&&this._$Em!==t&&(this._$Ej??=new Set).add(t)}async _$ET(){this.isUpdatePending=!0;try{await this._$ES}catch(t){Promise.reject(t)}const t=this.scheduleUpdate();return null!=t&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(const[t,e]of this._$Ep)this[t]=e;this._$Ep=void 0}const t=this.constructor.elementProperties;if(t.size>0)for(const[e,i]of t)!0!==i.wrapped||this._$AL.has(e)||void 0===this[e]||this.P(e,this[e],i)}let t=!1;const e=this._$AL;try{t=this.shouldUpdate(e),t?(this.willUpdate(e),this._$EO?.forEach((t=>t.hostUpdate?.())),this.update(e)):this._$EU()}catch(e){throw t=!1,this._$EU(),e}t&&this._$AE(e)}willUpdate(t){}_$AE(t){this._$EO?.forEach((t=>t.hostUpdated?.())),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$EU(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(t){return!0}update(t){this._$Ej&&=this._$Ej.forEach((t=>this._$EC(t,this[t]))),this._$EU()}updated(t){}firstUpdated(t){}}M.elementStyles=[],M.shadowRootOptions={mode:"open"},M[_("elementProperties")]=new Map,M[_("finalized")]=new Map,x?.({ReactiveElement:M}),(g.reactiveElementVersions??=[]).push("2.0.4");
|
|
13
13
|
/**
|
|
14
14
|
* @license
|
|
15
15
|
* Copyright 2017 Google LLC
|
|
16
16
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
17
17
|
*/
|
|
18
|
-
const
|
|
18
|
+
const k=globalThis,S=k.trustedTypes,A=S?S.createPolicy("lit-html",{createHTML:t=>t}):void 0,P="$lit$",C=`lit$${Math.random().toFixed(9).slice(2)}$`,D="?"+C,O=`<${D}>`,E=document,T=()=>E.createComment(""),R=t=>null===t||"object"!=typeof t&&"function"!=typeof t,L=Array.isArray,I="[ \t\n\f\r]",z=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,$=/-->/g,F=/>/g,V=RegExp(`>|${I}(?:([^\\s"'>=/]+)(${I}*=${I}*(?:[^ \t\n\f\r"'\`<>=]|("|')|))|$)`,"g"),H=/'/g,N=/"/g,B=/^(?:script|style|textarea|title)$/i,W=(t=>function(e){for(var i=arguments.length,s=new Array(i>1?i-1:0),n=1;n<i;n++)s[n-1]=arguments[n];return{_$litType$:t,strings:e,values:s}})(1),j=Symbol.for("lit-noChange"),U=Symbol.for("lit-nothing"),Y=new WeakMap,X=E.createTreeWalker(E,129);function q(t,e){if(!Array.isArray(t)||!t.hasOwnProperty("raw"))throw Error("invalid template strings array");return void 0!==A?A.createHTML(e):e}const K=(t,e)=>{const i=t.length-1,s=[];let n,o=2===e?"<svg>":"",r=z;for(let e=0;e<i;e++){const i=t[e];let a,l,h=-1,c=0;for(;c<i.length&&(r.lastIndex=c,l=r.exec(i),null!==l);)c=r.lastIndex,r===z?"!--"===l[1]?r=$:void 0!==l[1]?r=F:void 0!==l[2]?(B.test(l[2])&&(n=RegExp("</"+l[2],"g")),r=V):void 0!==l[3]&&(r=V):r===V?">"===l[0]?(r=n??z,h=-1):void 0===l[1]?h=-2:(h=r.lastIndex-l[2].length,a=l[1],r=void 0===l[3]?V:'"'===l[3]?N:H):r===N||r===H?r=V:r===$||r===F?r=z:(r=V,n=void 0);const d=r===V&&t[e+1].startsWith("/>")?" ":"";o+=r===z?i+O:h>=0?(s.push(a),i.slice(0,h)+P+i.slice(h)+C+d):i+C+(-2===h?e:d)}return[q(t,o+(t[i]||"<?>")+(2===e?"</svg>":"")),s]};class Z{constructor(t,e){let i,{strings:s,_$litType$:n}=t;this.parts=[];let o=0,r=0;const a=s.length-1,l=this.parts,[h,c]=K(s,n);if(this.el=Z.createElement(h,e),X.currentNode=this.el.content,2===n){const t=this.el.content.firstChild;t.replaceWith(...t.childNodes)}for(;null!==(i=X.nextNode())&&l.length<a;){if(1===i.nodeType){if(i.hasAttributes())for(const t of i.getAttributeNames())if(t.endsWith(P)){const e=c[r++],s=i.getAttribute(t).split(C),n=/([.?@])?(.*)/.exec(e);l.push({type:1,index:o,name:n[2],strings:s,ctor:"."===n[1]?et:"?"===n[1]?it:"@"===n[1]?st:tt}),i.removeAttribute(t)}else t.startsWith(C)&&(l.push({type:6,index:o}),i.removeAttribute(t));if(B.test(i.tagName)){const t=i.textContent.split(C),e=t.length-1;if(e>0){i.textContent=S?S.emptyScript:"";for(let s=0;s<e;s++)i.append(t[s],T()),X.nextNode(),l.push({type:2,index:++o});i.append(t[e],T())}}}else if(8===i.nodeType)if(i.data===D)l.push({type:2,index:o});else{let t=-1;for(;-1!==(t=i.data.indexOf(C,t+1));)l.push({type:7,index:o}),t+=C.length-1}o++}}static createElement(t,e){const i=E.createElement("template");return i.innerHTML=t,i}}function G(t,e){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:t,s=arguments.length>3?arguments[3]:void 0;if(e===j)return e;let n=void 0!==s?i._$Co?.[s]:i._$Cl;const o=R(e)?void 0:e._$litDirective$;return n?.constructor!==o&&(n?._$AO?.(!1),void 0===o?n=void 0:(n=new o(t),n._$AT(t,i,s)),void 0!==s?(i._$Co??=[])[s]=n:i._$Cl=n),void 0!==n&&(e=G(t,n._$AS(t,e.values),n,s)),e}class J{constructor(t,e){this._$AV=[],this._$AN=void 0,this._$AD=t,this._$AM=e}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(t){const{el:{content:e},parts:i}=this._$AD,s=(t?.creationScope??E).importNode(e,!0);X.currentNode=s;let n=X.nextNode(),o=0,r=0,a=i[0];for(;void 0!==a;){if(o===a.index){let e;2===a.type?e=new Q(n,n.nextSibling,this,t):1===a.type?e=new a.ctor(n,a.name,a.strings,this,t):6===a.type&&(e=new nt(n,this,t)),this._$AV.push(e),a=i[++r]}o!==a?.index&&(n=X.nextNode(),o++)}return X.currentNode=E,s}p(t){let e=0;for(const i of this._$AV)void 0!==i&&(void 0!==i.strings?(i._$AI(t,i,e),e+=i.strings.length-2):i._$AI(t[e])),e++}}class Q{get _$AU(){return this._$AM?._$AU??this._$Cv}constructor(t,e,i,s){this.type=2,this._$AH=U,this._$AN=void 0,this._$AA=t,this._$AB=e,this._$AM=i,this.options=s,this._$Cv=s?.isConnected??!0}get parentNode(){let t=this._$AA.parentNode;const e=this._$AM;return void 0!==e&&11===t?.nodeType&&(t=e.parentNode),t}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(t){t=G(this,t,arguments.length>1&&void 0!==arguments[1]?arguments[1]:this),R(t)?t===U||null==t||""===t?(this._$AH!==U&&this._$AR(),this._$AH=U):t!==this._$AH&&t!==j&&this._(t):void 0!==t._$litType$?this.$(t):void 0!==t.nodeType?this.T(t):(t=>L(t)||"function"==typeof t?.[Symbol.iterator])(t)?this.k(t):this._(t)}S(t){return this._$AA.parentNode.insertBefore(t,this._$AB)}T(t){this._$AH!==t&&(this._$AR(),this._$AH=this.S(t))}_(t){this._$AH!==U&&R(this._$AH)?this._$AA.nextSibling.data=t:this.T(E.createTextNode(t)),this._$AH=t}$(t){const{values:e,_$litType$:i}=t,s="number"==typeof i?this._$AC(t):(void 0===i.el&&(i.el=Z.createElement(q(i.h,i.h[0]),this.options)),i);if(this._$AH?._$AD===s)this._$AH.p(e);else{const t=new J(s,this),i=t.u(this.options);t.p(e),this.T(i),this._$AH=t}}_$AC(t){let e=Y.get(t.strings);return void 0===e&&Y.set(t.strings,e=new Z(t)),e}k(t){L(this._$AH)||(this._$AH=[],this._$AR());const e=this._$AH;let i,s=0;for(const n of t)s===e.length?e.push(i=new Q(this.S(T()),this.S(T()),this,this.options)):i=e[s],i._$AI(n),s++;s<e.length&&(this._$AR(i&&i._$AB.nextSibling,s),e.length=s)}_$AR(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this._$AA.nextSibling,e=arguments.length>1?arguments[1]:void 0;for(this._$AP?.(!1,!0,e);t&&t!==this._$AB;){const e=t.nextSibling;t.remove(),t=e}}setConnected(t){void 0===this._$AM&&(this._$Cv=t,this._$AP?.(t))}}class tt{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(t,e,i,s,n){this.type=1,this._$AH=U,this._$AN=void 0,this.element=t,this.name=e,this._$AM=s,this.options=n,i.length>2||""!==i[0]||""!==i[1]?(this._$AH=Array(i.length-1).fill(new String),this.strings=i):this._$AH=U}_$AI(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this,i=arguments.length>2?arguments[2]:void 0,s=arguments.length>3?arguments[3]:void 0;const n=this.strings;let o=!1;if(void 0===n)t=G(this,t,e,0),o=!R(t)||t!==this._$AH&&t!==j,o&&(this._$AH=t);else{const s=t;let r,a;for(t=n[0],r=0;r<n.length-1;r++)a=G(this,s[i+r],e,r),a===j&&(a=this._$AH[r]),o||=!R(a)||a!==this._$AH[r],a===U?t=U:t!==U&&(t+=(a??"")+n[r+1]),this._$AH[r]=a}o&&!s&&this.j(t)}j(t){t===U?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,t??"")}}class et extends tt{constructor(){super(...arguments),this.type=3}j(t){this.element[this.name]=t===U?void 0:t}}class it extends tt{constructor(){super(...arguments),this.type=4}j(t){this.element.toggleAttribute(this.name,!!t&&t!==U)}}class st extends tt{constructor(t,e,i,s,n){super(t,e,i,s,n),this.type=5}_$AI(t){if((t=G(this,t,arguments.length>1&&void 0!==arguments[1]?arguments[1]:this,0)??U)===j)return;const e=this._$AH,i=t===U&&e!==U||t.capture!==e.capture||t.once!==e.once||t.passive!==e.passive,s=t!==U&&(e===U||i);i&&this.element.removeEventListener(this.name,this,e),s&&this.element.addEventListener(this.name,this,t),this._$AH=t}handleEvent(t){"function"==typeof this._$AH?this._$AH.call(this.options?.host??this.element,t):this._$AH.handleEvent(t)}}class nt{constructor(t,e,i){this.element=t,this.type=6,this._$AN=void 0,this._$AM=e,this.options=i}get _$AU(){return this._$AM._$AU}_$AI(t){G(this,t)}}const ot=k.litHtmlPolyfillSupport;ot?.(Z,Q),(k.litHtmlVersions??=[]).push("3.1.4");
|
|
19
19
|
/**
|
|
20
20
|
* @license
|
|
21
21
|
* Copyright 2017 Google LLC
|
|
22
22
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
23
23
|
*/
|
|
24
|
-
class
|
|
24
|
+
class rt extends M{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){const t=super.createRenderRoot();return this.renderOptions.renderBefore??=t.firstChild,t}update(t){const e=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(t),this._$Do=((t,e,i)=>{const s=i?.renderBefore??e;let n=s._$litPart$;if(void 0===n){const t=i?.renderBefore??null;s._$litPart$=n=new Q(e.insertBefore(T(),t),t,void 0,i??{})}return n._$AI(t),n})(e,this.renderRoot,this.renderOptions)}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0)}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1)}render(){return j}}rt._$litElement$=!0,rt.finalized=!0,globalThis.litElementHydrateSupport?.({LitElement:rt});const at=globalThis.litElementPolyfillSupport;at?.({LitElement:rt}),(globalThis.litElementVersions??=[]).push("4.0.6");
|
|
25
25
|
/**
|
|
26
26
|
* @license
|
|
27
27
|
* Copyright 2017 Google LLC
|
|
28
28
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
29
29
|
*/
|
|
30
|
-
const
|
|
30
|
+
const lt=t=>(e,i)=>{void 0!==i?i.addInitializer((()=>{customElements.define(t,e)})):customElements.define(t,e)}
|
|
31
31
|
/**
|
|
32
32
|
* @license
|
|
33
33
|
* Copyright 2017 Google LLC
|
|
34
34
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
35
|
-
*/,
|
|
35
|
+
*/,ht={attribute:!0,type:String,converter:y,reflect:!1,hasChanged:v},ct=function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:ht,e=arguments.length>1?arguments[1]:void 0,i=arguments.length>2?arguments[2]:void 0;const{kind:s,metadata:n}=i;let o=globalThis.litPropertyMetadata.get(n);if(void 0===o&&globalThis.litPropertyMetadata.set(n,o=new Map),o.set(i.name,t),"accessor"===s){const{name:s}=i;return{set(i){const n=e.get.call(this);e.set.call(this,i),this.requestUpdate(s,n,t)},init(e){return void 0!==e&&this.P(s,void 0,t),e}}}if("setter"===s){const{name:s}=i;return function(i){const n=this[s];e.call(this,i),this.requestUpdate(s,n,t)}}throw Error("Unsupported decorator location: "+s)};function dt(t){return(e,i)=>"object"==typeof i?ct(t,e,i):((t,e,i)=>{const s=e.hasOwnProperty(i);return e.constructor.createProperty(i,s?{...t,wrapped:!0}:t),s?Object.getOwnPropertyDescriptor(e,i):void 0})(t,e,i)}const ut={spinner1:"lds-dual-ring",spinner2:"lds-circle",spinner3:"loader",spinner4:"lds-hourglass",spinner5:"loader-3rd",spinner6:"loader-ying-yang",spinner7:"loader-in-out-circle",spinner8:"loader-arrow",spinner9:"loader-jump-stair",spinner10:"loader-yin-yang-2",spinner11:"loader-sent-email"},ft=(function(t){for(var e=arguments.length,i=new Array(e>1?e-1:0),s=1;s<e;s++)i[s-1]=arguments[s];const n=1===t.length?t[0]:i.reduce(((e,i,s)=>e+(t=>{if(!0===t._$cssResult$)return t.cssText;if("number"==typeof t)return t;throw Error("Value passed to 'css' function must be a 'css' function result: "+t+". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.")})(i)+t[s+1]),t[0]);return new a(n,t,o)})`
|
|
36
36
|
.spin-container {
|
|
37
37
|
display: flex;
|
|
38
38
|
justify-content: center;
|
|
@@ -510,20 +510,20 @@ const re=e=>(t,i)=>{void 0!==i?i.addInitializer((()=>{customElements.define(e,t)
|
|
|
510
510
|
opacity: 0;
|
|
511
511
|
}
|
|
512
512
|
}
|
|
513
|
-
`;let
|
|
513
|
+
`;let pt=class extends rt{constructor(){super(...arguments),this.name="spinner1",this.size="64px",this.backgroundColor="rgb(153, 153, 153)",this.center=!1}updated(t){t.has("size")&&this.style.setProperty("--lds-dual-ring-size",this.size),t.has("backgroundColor")&&this.style.setProperty("--lds-backgroundColor",this.backgroundColor)}render(){return W`
|
|
514
514
|
<div class="${this.center?"spin-container":""}">
|
|
515
|
-
<div class="${
|
|
515
|
+
<div class="${ut[this.name]}"></div>
|
|
516
516
|
</div>
|
|
517
|
-
`}};function
|
|
517
|
+
`}};function gt(t,e,i){return(e=function(t){var e=function(t,e){if("object"!=typeof t||!t)return t;var i=t[Symbol.toPrimitive];if(void 0!==i){var s=i.call(t,e||"default");if("object"!=typeof s)return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)}(t,"string");return"symbol"==typeof e?e:e+""}
|
|
518
518
|
/*!
|
|
519
519
|
* @kurkle/color v0.3.2
|
|
520
520
|
* https://github.com/kurkle/color#readme
|
|
521
521
|
* (c) 2023 Jukka Kurkela
|
|
522
522
|
* Released under the MIT License
|
|
523
|
-
*/(
|
|
523
|
+
*/(e))in t?Object.defineProperty(t,e,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[e]=i,t}function mt(t){return t+.5|0}pt.styles=[ft],t([dt({type:String}),e("design:type",Object)],pt.prototype,"name",void 0),t([dt({type:String}),e("design:type",Object)],pt.prototype,"size",void 0),t([dt({type:String}),e("design:type",Object)],pt.prototype,"backgroundColor",void 0),t([dt({type:Boolean}),e("design:type",Object)],pt.prototype,"center",void 0),pt=t([lt("loading-spinner-element")],pt);const bt=(t,e,i)=>Math.max(Math.min(t,i),e);function xt(t){return bt(mt(2.55*t),0,255)}function _t(t){return bt(mt(255*t),0,255)}function yt(t){return bt(mt(t/2.55)/100,0,1)}function vt(t){return bt(mt(100*t),0,100)}const wt={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,A:10,B:11,C:12,D:13,E:14,F:15,a:10,b:11,c:12,d:13,e:14,f:15},Mt=[..."0123456789ABCDEF"],kt=t=>Mt[15&t],St=t=>Mt[(240&t)>>4]+Mt[15&t],At=t=>(240&t)>>4==(15&t);function Pt(t){var e=(t=>At(t.r)&&At(t.g)&&At(t.b)&&At(t.a))(t)?kt:St;return t?"#"+e(t.r)+e(t.g)+e(t.b)+((t,e)=>t<255?e(t):"")(t.a,e):void 0}const Ct=/^(hsla?|hwb|hsv)\(\s*([-+.e\d]+)(?:deg)?[\s,]+([-+.e\d]+)%[\s,]+([-+.e\d]+)%(?:[\s,]+([-+.e\d]+)(%)?)?\s*\)$/;function Dt(t,e,i){const s=e*Math.min(i,1-i),n=function(e){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:(e+t/30)%12;return i-s*Math.max(Math.min(n-3,9-n,1),-1)};return[n(0),n(8),n(4)]}function Ot(t,e,i){const s=function(s){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:(s+t/60)%6;return i-i*e*Math.max(Math.min(n,4-n,1),0)};return[s(5),s(3),s(1)]}function Et(t,e,i){const s=Dt(t,1,.5);let n;for(e+i>1&&(n=1/(e+i),e*=n,i*=n),n=0;n<3;n++)s[n]*=1-e-i,s[n]+=e;return s}function Tt(t){const e=t.r/255,i=t.g/255,s=t.b/255,n=Math.max(e,i,s),o=Math.min(e,i,s),r=(n+o)/2;let a,l,h;return n!==o&&(h=n-o,l=r>.5?h/(2-n-o):h/(n+o),a=function(t,e,i,s,n){return t===n?(e-i)/s+(e<i?6:0):e===n?(i-t)/s+2:(t-e)/s+4}(e,i,s,h,n),a=60*a+.5),[0|a,l||0,r]}function Rt(t,e,i,s){return(Array.isArray(e)?t(e[0],e[1],e[2]):t(e,i,s)).map(_t)}function Lt(t,e,i){return Rt(Dt,t,e,i)}function It(t){return(t%360+360)%360}function zt(t){const e=Ct.exec(t);let i,s=255;if(!e)return;e[5]!==i&&(s=e[6]?xt(+e[5]):_t(+e[5]));const n=It(+e[2]),o=+e[3]/100,r=+e[4]/100;return i="hwb"===e[1]?function(t,e,i){return Rt(Et,t,e,i)}(n,o,r):"hsv"===e[1]?function(t,e,i){return Rt(Ot,t,e,i)}(n,o,r):Lt(n,o,r),{r:i[0],g:i[1],b:i[2],a:s}}const $t={x:"dark",Z:"light",Y:"re",X:"blu",W:"gr",V:"medium",U:"slate",A:"ee",T:"ol",S:"or",B:"ra",C:"lateg",D:"ights",R:"in",Q:"turquois",E:"hi",P:"ro",O:"al",N:"le",M:"de",L:"yello",F:"en",K:"ch",G:"arks",H:"ea",I:"ightg",J:"wh"},Ft={OiceXe:"f0f8ff",antiquewEte:"faebd7",aqua:"ffff",aquamarRe:"7fffd4",azuY:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"0",blanKedOmond:"ffebcd",Xe:"ff",XeviTet:"8a2be2",bPwn:"a52a2a",burlywood:"deb887",caMtXe:"5f9ea0",KartYuse:"7fff00",KocTate:"d2691e",cSO:"ff7f50",cSnflowerXe:"6495ed",cSnsilk:"fff8dc",crimson:"dc143c",cyan:"ffff",xXe:"8b",xcyan:"8b8b",xgTMnPd:"b8860b",xWay:"a9a9a9",xgYF:"6400",xgYy:"a9a9a9",xkhaki:"bdb76b",xmagFta:"8b008b",xTivegYF:"556b2f",xSange:"ff8c00",xScEd:"9932cc",xYd:"8b0000",xsOmon:"e9967a",xsHgYF:"8fbc8f",xUXe:"483d8b",xUWay:"2f4f4f",xUgYy:"2f4f4f",xQe:"ced1",xviTet:"9400d3",dAppRk:"ff1493",dApskyXe:"bfff",dimWay:"696969",dimgYy:"696969",dodgerXe:"1e90ff",fiYbrick:"b22222",flSOwEte:"fffaf0",foYstWAn:"228b22",fuKsia:"ff00ff",gaRsbSo:"dcdcdc",ghostwEte:"f8f8ff",gTd:"ffd700",gTMnPd:"daa520",Way:"808080",gYF:"8000",gYFLw:"adff2f",gYy:"808080",honeyMw:"f0fff0",hotpRk:"ff69b4",RdianYd:"cd5c5c",Rdigo:"4b0082",ivSy:"fffff0",khaki:"f0e68c",lavFMr:"e6e6fa",lavFMrXsh:"fff0f5",lawngYF:"7cfc00",NmoncEffon:"fffacd",ZXe:"add8e6",ZcSO:"f08080",Zcyan:"e0ffff",ZgTMnPdLw:"fafad2",ZWay:"d3d3d3",ZgYF:"90ee90",ZgYy:"d3d3d3",ZpRk:"ffb6c1",ZsOmon:"ffa07a",ZsHgYF:"20b2aa",ZskyXe:"87cefa",ZUWay:"778899",ZUgYy:"778899",ZstAlXe:"b0c4de",ZLw:"ffffe0",lime:"ff00",limegYF:"32cd32",lRF:"faf0e6",magFta:"ff00ff",maPon:"800000",VaquamarRe:"66cdaa",VXe:"cd",VScEd:"ba55d3",VpurpN:"9370db",VsHgYF:"3cb371",VUXe:"7b68ee",VsprRggYF:"fa9a",VQe:"48d1cc",VviTetYd:"c71585",midnightXe:"191970",mRtcYam:"f5fffa",mistyPse:"ffe4e1",moccasR:"ffe4b5",navajowEte:"ffdead",navy:"80",Tdlace:"fdf5e6",Tive:"808000",TivedBb:"6b8e23",Sange:"ffa500",SangeYd:"ff4500",ScEd:"da70d6",pOegTMnPd:"eee8aa",pOegYF:"98fb98",pOeQe:"afeeee",pOeviTetYd:"db7093",papayawEp:"ffefd5",pHKpuff:"ffdab9",peru:"cd853f",pRk:"ffc0cb",plum:"dda0dd",powMrXe:"b0e0e6",purpN:"800080",YbeccapurpN:"663399",Yd:"ff0000",Psybrown:"bc8f8f",PyOXe:"4169e1",saddNbPwn:"8b4513",sOmon:"fa8072",sandybPwn:"f4a460",sHgYF:"2e8b57",sHshell:"fff5ee",siFna:"a0522d",silver:"c0c0c0",skyXe:"87ceeb",UXe:"6a5acd",UWay:"708090",UgYy:"708090",snow:"fffafa",sprRggYF:"ff7f",stAlXe:"4682b4",tan:"d2b48c",teO:"8080",tEstN:"d8bfd8",tomato:"ff6347",Qe:"40e0d0",viTet:"ee82ee",JHt:"f5deb3",wEte:"ffffff",wEtesmoke:"f5f5f5",Lw:"ffff00",LwgYF:"9acd32"};let Vt;function Ht(t){Vt||(Vt=function(){const t={},e=Object.keys(Ft),i=Object.keys($t);let s,n,o,r,a;for(s=0;s<e.length;s++){for(r=a=e[s],n=0;n<i.length;n++)o=i[n],a=a.replace(o,$t[o]);o=parseInt(Ft[r],16),t[a]=[o>>16&255,o>>8&255,255&o]}return t}(),Vt.transparent=[0,0,0,0]);const e=Vt[t.toLowerCase()];return e&&{r:e[0],g:e[1],b:e[2],a:4===e.length?e[3]:255}}const Nt=/^rgba?\(\s*([-+.\d]+)(%)?[\s,]+([-+.e\d]+)(%)?[\s,]+([-+.e\d]+)(%)?(?:[\s,/]+([-+.e\d]+)(%)?)?\s*\)$/;const Bt=t=>t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055,Wt=t=>t<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4);function jt(t,e,i){if(t){let s=Tt(t);s[e]=Math.max(0,Math.min(s[e]+s[e]*i,0===e?360:1)),s=Lt(s),t.r=s[0],t.g=s[1],t.b=s[2]}}function Ut(t,e){return t?Object.assign(e||{},t):t}function Yt(t){var e={r:0,g:0,b:0,a:255};return Array.isArray(t)?t.length>=3&&(e={r:t[0],g:t[1],b:t[2],a:255},t.length>3&&(e.a=_t(t[3]))):(e=Ut(t,{r:0,g:0,b:0,a:1})).a=_t(e.a),e}function Xt(t){return"r"===t.charAt(0)?function(t){const e=Nt.exec(t);let i,s,n,o=255;if(e){if(e[7]!==i){const t=+e[7];o=e[8]?xt(t):bt(255*t,0,255)}return i=+e[1],s=+e[3],n=+e[5],i=255&(e[2]?xt(i):bt(i,0,255)),s=255&(e[4]?xt(s):bt(s,0,255)),n=255&(e[6]?xt(n):bt(n,0,255)),{r:i,g:s,b:n,a:o}}}(t):zt(t)}class qt{constructor(t){if(t instanceof qt)return t;const e=typeof t;let i;var s,n,o;"object"===e?i=Yt(t):"string"===e&&(o=(s=t).length,"#"===s[0]&&(4===o||5===o?n={r:255&17*wt[s[1]],g:255&17*wt[s[2]],b:255&17*wt[s[3]],a:5===o?17*wt[s[4]]:255}:7!==o&&9!==o||(n={r:wt[s[1]]<<4|wt[s[2]],g:wt[s[3]]<<4|wt[s[4]],b:wt[s[5]]<<4|wt[s[6]],a:9===o?wt[s[7]]<<4|wt[s[8]]:255})),i=n||Ht(t)||Xt(t)),this._rgb=i,this._valid=!!i}get valid(){return this._valid}get rgb(){var t=Ut(this._rgb);return t&&(t.a=yt(t.a)),t}set rgb(t){this._rgb=Yt(t)}rgbString(){return this._valid?function(t){return t&&(t.a<255?`rgba(${t.r}, ${t.g}, ${t.b}, ${yt(t.a)})`:`rgb(${t.r}, ${t.g}, ${t.b})`)}(this._rgb):void 0}hexString(){return this._valid?Pt(this._rgb):void 0}hslString(){return this._valid?function(t){if(!t)return;const e=Tt(t),i=e[0],s=vt(e[1]),n=vt(e[2]);return t.a<255?`hsla(${i}, ${s}%, ${n}%, ${yt(t.a)})`:`hsl(${i}, ${s}%, ${n}%)`}(this._rgb):void 0}mix(t,e){if(t){const i=this.rgb,s=t.rgb;let n;const o=e===n?.5:e,r=2*o-1,a=i.a-s.a,l=((r*a==-1?r:(r+a)/(1+r*a))+1)/2;n=1-l,i.r=255&l*i.r+n*s.r+.5,i.g=255&l*i.g+n*s.g+.5,i.b=255&l*i.b+n*s.b+.5,i.a=o*i.a+(1-o)*s.a,this.rgb=i}return this}interpolate(t,e){return t&&(this._rgb=function(t,e,i){const s=Wt(yt(t.r)),n=Wt(yt(t.g)),o=Wt(yt(t.b));return{r:_t(Bt(s+i*(Wt(yt(e.r))-s))),g:_t(Bt(n+i*(Wt(yt(e.g))-n))),b:_t(Bt(o+i*(Wt(yt(e.b))-o))),a:t.a+i*(e.a-t.a)}}(this._rgb,t._rgb,e)),this}clone(){return new qt(this.rgb)}alpha(t){return this._rgb.a=_t(t),this}clearer(t){return this._rgb.a*=1-t,this}greyscale(){const t=this._rgb,e=mt(.3*t.r+.59*t.g+.11*t.b);return t.r=t.g=t.b=e,this}opaquer(t){return this._rgb.a*=1+t,this}negate(){const t=this._rgb;return t.r=255-t.r,t.g=255-t.g,t.b=255-t.b,this}lighten(t){return jt(this._rgb,2,t),this}darken(t){return jt(this._rgb,2,-t),this}saturate(t){return jt(this._rgb,1,t),this}desaturate(t){return jt(this._rgb,1,-t),this}rotate(t){return function(t,e){var i=Tt(t);i[0]=It(i[0]+e),i=Lt(i),t.r=i[0],t.g=i[1],t.b=i[2]}(this._rgb,t),this}}
|
|
524
524
|
/*!
|
|
525
525
|
* Chart.js v4.4.5
|
|
526
526
|
* https://www.chartjs.org
|
|
527
527
|
* (c) 2024 Chart.js Contributors
|
|
528
528
|
* Released under the MIT License
|
|
529
|
-
*/function Ke(){}const Ze=(()=>{let e=0;return()=>e++})();function Ge(e){return null==e}function Je(e){if(Array.isArray&&Array.isArray(e))return!0;const t=Object.prototype.toString.call(e);return"[object"===t.slice(0,7)&&"Array]"===t.slice(-6)}function Qe(e){return null!==e&&"[object Object]"===Object.prototype.toString.call(e)}function et(e){return("number"==typeof e||e instanceof Number)&&isFinite(+e)}function tt(e,t){return et(e)?e:t}function it(e,t){return void 0===e?t:e}const ot=(e,t)=>"string"==typeof e&&e.endsWith("%")?parseFloat(e)/100*t:+e;function nt(e,t,i){if(e&&"function"==typeof e.call)return e.apply(i,t)}function st(e,t,i,o){let n,s,a;if(Je(e))if(s=e.length,o)for(n=s-1;n>=0;n--)t.call(i,e[n],n);else for(n=0;n<s;n++)t.call(i,e[n],n);else if(Qe(e))for(a=Object.keys(e),s=a.length,n=0;n<s;n++)t.call(i,e[a[n]],a[n])}function at(e,t){let i,o,n,s;if(!e||!t||e.length!==t.length)return!1;for(i=0,o=e.length;i<o;++i)if(n=e[i],s=t[i],n.datasetIndex!==s.datasetIndex||n.index!==s.index)return!1;return!0}function lt(e){if(Je(e))return e.map(lt);if(Qe(e)){const t=Object.create(null),i=Object.keys(e),o=i.length;let n=0;for(;n<o;++n)t[i[n]]=lt(e[i[n]]);return t}return e}function rt(e){return-1===["__proto__","prototype","constructor"].indexOf(e)}function ht(e,t,i,o){if(!rt(e))return;const n=t[e],s=i[e];Qe(n)&&Qe(s)?gt(n,s,o):t[e]=lt(s)}function gt(e,t,i){const o=Je(t)?t:[t],n=o.length;if(!Qe(e))return e;const s=(i=i||{}).merger||ht;let a;for(let t=0;t<n;++t){if(a=o[t],!Qe(a))continue;const n=Object.keys(a);for(let t=0,o=n.length;t<o;++t)s(n[t],e,a,i)}return e}function Mt(e,t){return gt(e,t,{merger:At})}function At(e,t,i){if(!rt(e))return;const o=t[e],n=i[e];Qe(o)&&Qe(n)?Mt(o,n):Object.prototype.hasOwnProperty.call(t,e)||(t[e]=lt(n))}const ct={"":e=>e,x:e=>e.x,y:e=>e.y};function dt(e,t){const i=ct[t]||(ct[t]=function(e){const t=function(e){const t=e.split("."),i=[];let o="";for(const e of t)o+=e,o.endsWith("\\")?o=o.slice(0,-1)+".":(i.push(o),o="");return i}(e);return e=>{for(const i of t){if(""===i)break;e=e&&e[i]}return e}}(t));return i(e)}function ut(e){return e.charAt(0).toUpperCase()+e.slice(1)}const mt=e=>void 0!==e,pt=e=>"function"==typeof e,St=(e,t)=>{if(e.size!==t.size)return!1;for(const i of e)if(!t.has(i))return!1;return!0};const ft=Math.PI,Ct=2*ft,Dt=Ct+ft,Lt=Number.POSITIVE_INFINITY,vt=ft/180,wt=ft/2,bt=ft/4,xt=2*ft/3,Rt=Math.log10,It=Math.sign;function Ht(e,t,i){return Math.abs(e-t)<i}function _t(e){const t=Math.round(e);e=Ht(e,t,e/1e3)?t:e;const i=Math.pow(10,Math.floor(Rt(e))),o=e/i;return(o<=1?1:o<=2?2:o<=5?5:10)*i}function yt(e){return!isNaN(parseFloat(e))&&isFinite(e)}function kt(e,t,i){let o,n,s;for(o=0,n=e.length;o<n;o++)s=e[o][i],isNaN(s)||(t.min=Math.min(t.min,s),t.max=Math.max(t.max,s))}function Pt(e){return e*(ft/180)}function Ot(e){return e*(180/ft)}function Et(e){if(!et(e))return;let t=1,i=0;for(;Math.round(e*t)/t!==e;)t*=10,i++;return i}function Tt(e,t){const i=t.x-e.x,o=t.y-e.y,n=Math.sqrt(i*i+o*o);let s=Math.atan2(o,i);return s<-.5*ft&&(s+=Ct),{angle:s,distance:n}}function zt(e,t){return Math.sqrt(Math.pow(t.x-e.x,2)+Math.pow(t.y-e.y,2))}function $t(e,t){return(e-t+Dt)%Ct-ft}function Ft(e){return(e%Ct+Ct)%Ct}function Nt(e,t,i,o){const n=Ft(e),s=Ft(t),a=Ft(i),l=Ft(s-n),r=Ft(a-n),h=Ft(n-s),g=Ft(n-a);return n===s||n===a||o&&s===a||l>r&&h<g}function Vt(e,t,i){return Math.max(t,Math.min(i,e))}function Bt(e,t,i){let o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1e-6;return e>=Math.min(t,i)-o&&e<=Math.max(t,i)+o}function Wt(e,t,i){i=i||(i=>e[i]<t);let o,n=e.length-1,s=0;for(;n-s>1;)o=s+n>>1,i(o)?s=o:n=o;return{lo:s,hi:n}}const jt=(e,t,i,o)=>Wt(e,i,o?o=>{const n=e[o][t];return n<i||n===i&&e[o+1][t]===i}:o=>e[o][t]<i),Ut=(e,t,i)=>Wt(e,i,(o=>e[o][t]>=i));const Yt=["push","pop","shift","splice","unshift"];function Xt(e,t){const i=e._chartjs;if(!i)return;const o=i.listeners,n=o.indexOf(t);-1!==n&&o.splice(n,1),o.length>0||(Yt.forEach((t=>{delete e[t]})),delete e._chartjs)}function qt(e){const t=new Set(e);return t.size===e.length?e:Array.from(t)}const Kt="undefined"==typeof window?function(e){return e()}:window.requestAnimationFrame;function Zt(e,t){let i=[],o=!1;return function(){for(var n=arguments.length,s=new Array(n),a=0;a<n;a++)s[a]=arguments[a];i=s,o||(o=!0,Kt.call(window,(()=>{o=!1,e.apply(t,i)})))}}const Gt=e=>"start"===e?"left":"end"===e?"right":"center",Jt=(e,t,i)=>"start"===e?t:"end"===e?i:(t+i)/2;function Qt(e,t,i){const o=t.length;let n=0,s=o;if(e._sorted){const{iScale:a,_parsed:l}=e,r=a.axis,{min:h,max:g,minDefined:M,maxDefined:A}=a.getUserBounds();M&&(n=Vt(Math.min(jt(l,r,h).lo,i?o:jt(t,r,a.getPixelForValue(h)).lo),0,o-1)),s=A?Vt(Math.max(jt(l,a.axis,g,!0).hi+1,i?0:jt(t,r,a.getPixelForValue(g),!0).hi+1),n,o)-n:o-n}return{start:n,count:s}}function ei(e){const{xScale:t,yScale:i,_scaleRanges:o}=e,n={xmin:t.min,xmax:t.max,ymin:i.min,ymax:i.max};if(!o)return e._scaleRanges=n,!0;const s=o.xmin!==t.min||o.xmax!==t.max||o.ymin!==i.min||o.ymax!==i.max;return Object.assign(o,n),s}const ti=e=>0===e||1===e,ii=(e,t,i)=>-Math.pow(2,10*(e-=1))*Math.sin((e-t)*Ct/i),oi=(e,t,i)=>Math.pow(2,-10*e)*Math.sin((e-t)*Ct/i)+1,ni={linear:e=>e,easeInQuad:e=>e*e,easeOutQuad:e=>-e*(e-2),easeInOutQuad:e=>(e/=.5)<1?.5*e*e:-.5*(--e*(e-2)-1),easeInCubic:e=>e*e*e,easeOutCubic:e=>(e-=1)*e*e+1,easeInOutCubic:e=>(e/=.5)<1?.5*e*e*e:.5*((e-=2)*e*e+2),easeInQuart:e=>e*e*e*e,easeOutQuart:e=>-((e-=1)*e*e*e-1),easeInOutQuart:e=>(e/=.5)<1?.5*e*e*e*e:-.5*((e-=2)*e*e*e-2),easeInQuint:e=>e*e*e*e*e,easeOutQuint:e=>(e-=1)*e*e*e*e+1,easeInOutQuint:e=>(e/=.5)<1?.5*e*e*e*e*e:.5*((e-=2)*e*e*e*e+2),easeInSine:e=>1-Math.cos(e*wt),easeOutSine:e=>Math.sin(e*wt),easeInOutSine:e=>-.5*(Math.cos(ft*e)-1),easeInExpo:e=>0===e?0:Math.pow(2,10*(e-1)),easeOutExpo:e=>1===e?1:1-Math.pow(2,-10*e),easeInOutExpo:e=>ti(e)?e:e<.5?.5*Math.pow(2,10*(2*e-1)):.5*(2-Math.pow(2,-10*(2*e-1))),easeInCirc:e=>e>=1?e:-(Math.sqrt(1-e*e)-1),easeOutCirc:e=>Math.sqrt(1-(e-=1)*e),easeInOutCirc:e=>(e/=.5)<1?-.5*(Math.sqrt(1-e*e)-1):.5*(Math.sqrt(1-(e-=2)*e)+1),easeInElastic:e=>ti(e)?e:ii(e,.075,.3),easeOutElastic:e=>ti(e)?e:oi(e,.075,.3),easeInOutElastic(e){const t=.1125;return ti(e)?e:e<.5?.5*ii(2*e,t,.45):.5+.5*oi(2*e-1,t,.45)},easeInBack(e){const t=1.70158;return e*e*((t+1)*e-t)},easeOutBack(e){const t=1.70158;return(e-=1)*e*((t+1)*e+t)+1},easeInOutBack(e){let t=1.70158;return(e/=.5)<1?e*e*((1+(t*=1.525))*e-t)*.5:.5*((e-=2)*e*((1+(t*=1.525))*e+t)+2)},easeInBounce:e=>1-ni.easeOutBounce(1-e),easeOutBounce(e){const t=7.5625,i=2.75;return e<1/i?t*e*e:e<2/i?t*(e-=1.5/i)*e+.75:e<2.5/i?t*(e-=2.25/i)*e+.9375:t*(e-=2.625/i)*e+.984375},easeInOutBounce:e=>e<.5?.5*ni.easeInBounce(2*e):.5*ni.easeOutBounce(2*e-1)+.5};function si(e){if(e&&"object"==typeof e){const t=e.toString();return"[object CanvasPattern]"===t||"[object CanvasGradient]"===t}return!1}function ai(e){return si(e)?e:new qe(e)}function li(e){return si(e)?e:new qe(e).saturate(.5).darken(.1).hexString()}const ri=["x","y","borderWidth","radius","tension"],hi=["color","borderColor","backgroundColor"];const gi=new Map;function Mi(e,t,i){return function(e,t){t=t||{};const i=e+JSON.stringify(t);let o=gi.get(i);return o||(o=new Intl.NumberFormat(e,t),gi.set(i,o)),o}(t,i).format(e)}const Ai={values:e=>Je(e)?e:""+e,numeric(e,t,i){if(0===e)return"0";const o=this.chart.options.locale;let n,s=e;if(i.length>1){const t=Math.max(Math.abs(i[0].value),Math.abs(i[i.length-1].value));(t<1e-4||t>1e15)&&(n="scientific"),s=function(e,t){let i=t.length>3?t[2].value-t[1].value:t[1].value-t[0].value;Math.abs(i)>=1&&e!==Math.floor(e)&&(i=e-Math.floor(e));return i}(e,i)}const a=Rt(Math.abs(s)),l=isNaN(a)?1:Math.max(Math.min(-1*Math.floor(a),20),0),r={notation:n,minimumFractionDigits:l,maximumFractionDigits:l};return Object.assign(r,this.options.ticks.format),Mi(e,o,r)},logarithmic(e,t,i){if(0===e)return"0";const o=i[t].significand||e/Math.pow(10,Math.floor(Rt(e)));return[1,2,3,5,10,15].includes(o)||t>.8*i.length?Ai.numeric.call(this,e,t,i):""}};var ci={formatters:Ai};const di=Object.create(null),ui=Object.create(null);function mi(e,t){if(!t)return e;const i=t.split(".");for(let t=0,o=i.length;t<o;++t){const o=i[t];e=e[o]||(e[o]=Object.create(null))}return e}function pi(e,t,i){return"string"==typeof t?gt(mi(e,t),i):gt(mi(e,""),t)}class Si{constructor(e,t){this.animation=void 0,this.backgroundColor="rgba(0,0,0,0.1)",this.borderColor="rgba(0,0,0,0.1)",this.color="#666",this.datasets={},this.devicePixelRatio=e=>e.chart.platform.getDevicePixelRatio(),this.elements={},this.events=["mousemove","mouseout","click","touchstart","touchmove"],this.font={family:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",size:12,style:"normal",lineHeight:1.2,weight:null},this.hover={},this.hoverBackgroundColor=(e,t)=>li(t.backgroundColor),this.hoverBorderColor=(e,t)=>li(t.borderColor),this.hoverColor=(e,t)=>li(t.color),this.indexAxis="x",this.interaction={mode:"nearest",intersect:!0,includeInvisible:!1},this.maintainAspectRatio=!0,this.onHover=null,this.onClick=null,this.parsing=!0,this.plugins={},this.responsive=!0,this.scale=void 0,this.scales={},this.showLine=!0,this.drawActiveElementsOnTop=!0,this.describe(e),this.apply(t)}set(e,t){return pi(this,e,t)}get(e){return mi(this,e)}describe(e,t){return pi(ui,e,t)}override(e,t){return pi(di,e,t)}route(e,t,i,o){const n=mi(this,e),s=mi(this,i),a="_"+t;Object.defineProperties(n,{[a]:{value:n[t],writable:!0},[t]:{enumerable:!0,get(){const e=this[a],t=s[o];return Qe(e)?Object.assign({},t,e):it(e,t)},set(e){this[a]=e}}})}apply(e){e.forEach((e=>e(this)))}}var fi=new Si({_scriptable:e=>!e.startsWith("on"),_indexable:e=>"events"!==e,hover:{_fallback:"interaction"},interaction:{_scriptable:!1,_indexable:!1}},[function(e){e.set("animation",{delay:void 0,duration:1e3,easing:"easeOutQuart",fn:void 0,from:void 0,loop:void 0,to:void 0,type:void 0}),e.describe("animation",{_fallback:!1,_indexable:!1,_scriptable:e=>"onProgress"!==e&&"onComplete"!==e&&"fn"!==e}),e.set("animations",{colors:{type:"color",properties:hi},numbers:{type:"number",properties:ri}}),e.describe("animations",{_fallback:"animation"}),e.set("transitions",{active:{animation:{duration:400}},resize:{animation:{duration:0}},show:{animations:{colors:{from:"transparent"},visible:{type:"boolean",duration:0}}},hide:{animations:{colors:{to:"transparent"},visible:{type:"boolean",easing:"linear",fn:e=>0|e}}}})},function(e){e.set("layout",{autoPadding:!0,padding:{top:0,right:0,bottom:0,left:0}})},function(e){e.set("scale",{display:!0,offset:!1,reverse:!1,beginAtZero:!1,bounds:"ticks",clip:!0,grace:0,grid:{display:!0,lineWidth:1,drawOnChartArea:!0,drawTicks:!0,tickLength:8,tickWidth:(e,t)=>t.lineWidth,tickColor:(e,t)=>t.color,offset:!1},border:{display:!0,dash:[],dashOffset:0,width:1},title:{display:!1,text:"",padding:{top:4,bottom:4}},ticks:{minRotation:0,maxRotation:50,mirror:!1,textStrokeWidth:0,textStrokeColor:"",padding:3,display:!0,autoSkip:!0,autoSkipPadding:3,labelOffset:0,callback:ci.formatters.values,minor:{},major:{},align:"center",crossAlign:"near",showLabelBackdrop:!1,backdropColor:"rgba(255, 255, 255, 0.75)",backdropPadding:2}}),e.route("scale.ticks","color","","color"),e.route("scale.grid","color","","borderColor"),e.route("scale.border","color","","borderColor"),e.route("scale.title","color","","color"),e.describe("scale",{_fallback:!1,_scriptable:e=>!e.startsWith("before")&&!e.startsWith("after")&&"callback"!==e&&"parser"!==e,_indexable:e=>"borderDash"!==e&&"tickBorderDash"!==e&&"dash"!==e}),e.describe("scales",{_fallback:"scale"}),e.describe("scale.ticks",{_scriptable:e=>"backdropPadding"!==e&&"callback"!==e,_indexable:e=>"backdropPadding"!==e})}]);function Ci(e,t,i,o,n){let s=t[n];return s||(s=t[n]=e.measureText(n).width,i.push(n)),s>o&&(o=s),o}function Di(e,t,i,o){let n=(o=o||{}).data=o.data||{},s=o.garbageCollect=o.garbageCollect||[];o.font!==t&&(n=o.data={},s=o.garbageCollect=[],o.font=t),e.save(),e.font=t;let a=0;const l=i.length;let r,h,g,M,A;for(r=0;r<l;r++)if(M=i[r],null==M||Je(M)){if(Je(M))for(h=0,g=M.length;h<g;h++)A=M[h],null==A||Je(A)||(a=Ci(e,n,s,a,A))}else a=Ci(e,n,s,a,M);e.restore();const c=s.length/2;if(c>i.length){for(r=0;r<c;r++)delete n[s[r]];s.splice(0,c)}return a}function Li(e,t,i){const o=e.currentDevicePixelRatio,n=0!==i?Math.max(i/2,.5):0;return Math.round((t-n)*o)/o+n}function vi(e,t){(t||e)&&((t=t||e.getContext("2d")).save(),t.resetTransform(),t.clearRect(0,0,e.width,e.height),t.restore())}function wi(e,t,i,o){bi(e,t,i,o,null)}function bi(e,t,i,o,n){let s,a,l,r,h,g,M,A;const c=t.pointStyle,d=t.rotation,u=t.radius;let m=(d||0)*vt;if(c&&"object"==typeof c&&(s=c.toString(),"[object HTMLImageElement]"===s||"[object HTMLCanvasElement]"===s))return e.save(),e.translate(i,o),e.rotate(m),e.drawImage(c,-c.width/2,-c.height/2,c.width,c.height),void e.restore();if(!(isNaN(u)||u<=0)){switch(e.beginPath(),c){default:n?e.ellipse(i,o,n/2,u,0,0,Ct):e.arc(i,o,u,0,Ct),e.closePath();break;case"triangle":g=n?n/2:u,e.moveTo(i+Math.sin(m)*g,o-Math.cos(m)*u),m+=xt,e.lineTo(i+Math.sin(m)*g,o-Math.cos(m)*u),m+=xt,e.lineTo(i+Math.sin(m)*g,o-Math.cos(m)*u),e.closePath();break;case"rectRounded":h=.516*u,r=u-h,a=Math.cos(m+bt)*r,M=Math.cos(m+bt)*(n?n/2-h:r),l=Math.sin(m+bt)*r,A=Math.sin(m+bt)*(n?n/2-h:r),e.arc(i-M,o-l,h,m-ft,m-wt),e.arc(i+A,o-a,h,m-wt,m),e.arc(i+M,o+l,h,m,m+wt),e.arc(i-A,o+a,h,m+wt,m+ft),e.closePath();break;case"rect":if(!d){r=Math.SQRT1_2*u,g=n?n/2:r,e.rect(i-g,o-r,2*g,2*r);break}m+=bt;case"rectRot":M=Math.cos(m)*(n?n/2:u),a=Math.cos(m)*u,l=Math.sin(m)*u,A=Math.sin(m)*(n?n/2:u),e.moveTo(i-M,o-l),e.lineTo(i+A,o-a),e.lineTo(i+M,o+l),e.lineTo(i-A,o+a),e.closePath();break;case"crossRot":m+=bt;case"cross":M=Math.cos(m)*(n?n/2:u),a=Math.cos(m)*u,l=Math.sin(m)*u,A=Math.sin(m)*(n?n/2:u),e.moveTo(i-M,o-l),e.lineTo(i+M,o+l),e.moveTo(i+A,o-a),e.lineTo(i-A,o+a);break;case"star":M=Math.cos(m)*(n?n/2:u),a=Math.cos(m)*u,l=Math.sin(m)*u,A=Math.sin(m)*(n?n/2:u),e.moveTo(i-M,o-l),e.lineTo(i+M,o+l),e.moveTo(i+A,o-a),e.lineTo(i-A,o+a),m+=bt,M=Math.cos(m)*(n?n/2:u),a=Math.cos(m)*u,l=Math.sin(m)*u,A=Math.sin(m)*(n?n/2:u),e.moveTo(i-M,o-l),e.lineTo(i+M,o+l),e.moveTo(i+A,o-a),e.lineTo(i-A,o+a);break;case"line":a=n?n/2:Math.cos(m)*u,l=Math.sin(m)*u,e.moveTo(i-a,o-l),e.lineTo(i+a,o+l);break;case"dash":e.moveTo(i,o),e.lineTo(i+Math.cos(m)*(n?n/2:u),o+Math.sin(m)*u);break;case!1:e.closePath()}e.fill(),t.borderWidth>0&&e.stroke()}}function xi(e,t,i){return i=i||.5,!t||e&&e.x>t.left-i&&e.x<t.right+i&&e.y>t.top-i&&e.y<t.bottom+i}function Ri(e,t){e.save(),e.beginPath(),e.rect(t.left,t.top,t.right-t.left,t.bottom-t.top),e.clip()}function Ii(e){e.restore()}function Hi(e,t,i,o,n){if(!t)return e.lineTo(i.x,i.y);if("middle"===n){const o=(t.x+i.x)/2;e.lineTo(o,t.y),e.lineTo(o,i.y)}else"after"===n!=!!o?e.lineTo(t.x,i.y):e.lineTo(i.x,t.y);e.lineTo(i.x,i.y)}function _i(e,t,i,o){if(!t)return e.lineTo(i.x,i.y);e.bezierCurveTo(o?t.cp1x:t.cp2x,o?t.cp1y:t.cp2y,o?i.cp2x:i.cp1x,o?i.cp2y:i.cp1y,i.x,i.y)}function yi(e,t,i,o,n){if(n.strikethrough||n.underline){const s=e.measureText(o),a=t-s.actualBoundingBoxLeft,l=t+s.actualBoundingBoxRight,r=i-s.actualBoundingBoxAscent,h=i+s.actualBoundingBoxDescent,g=n.strikethrough?(r+h)/2:h;e.strokeStyle=e.fillStyle,e.beginPath(),e.lineWidth=n.decorationWidth||2,e.moveTo(a,g),e.lineTo(l,g),e.stroke()}}function ki(e,t){const i=e.fillStyle;e.fillStyle=t.color,e.fillRect(t.left,t.top,t.width,t.height),e.fillStyle=i}function Pi(e,t,i,o,n){let s=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{};const a=Je(t)?t:[t],l=s.strokeWidth>0&&""!==s.strokeColor;let r,h;for(e.save(),e.font=n.string,function(e,t){t.translation&&e.translate(t.translation[0],t.translation[1]),Ge(t.rotation)||e.rotate(t.rotation),t.color&&(e.fillStyle=t.color),t.textAlign&&(e.textAlign=t.textAlign),t.textBaseline&&(e.textBaseline=t.textBaseline)}(e,s),r=0;r<a.length;++r)h=a[r],s.backdrop&&ki(e,s.backdrop),l&&(s.strokeColor&&(e.strokeStyle=s.strokeColor),Ge(s.strokeWidth)||(e.lineWidth=s.strokeWidth),e.strokeText(h,i,o,s.maxWidth)),e.fillText(h,i,o,s.maxWidth),yi(e,i,o,h,s),o+=Number(n.lineHeight);e.restore()}function Oi(e,t){const{x:i,y:o,w:n,h:s,radius:a}=t;e.arc(i+a.topLeft,o+a.topLeft,a.topLeft,1.5*ft,ft,!0),e.lineTo(i,o+s-a.bottomLeft),e.arc(i+a.bottomLeft,o+s-a.bottomLeft,a.bottomLeft,ft,wt,!0),e.lineTo(i+n-a.bottomRight,o+s),e.arc(i+n-a.bottomRight,o+s-a.bottomRight,a.bottomRight,wt,0,!0),e.lineTo(i+n,o+a.topRight),e.arc(i+n-a.topRight,o+a.topRight,a.topRight,0,-wt,!0),e.lineTo(i+a.topLeft,o)}const Ei=/^(normal|(\d+(?:\.\d+)?)(px|em|%)?)$/,Ti=/^(normal|italic|initial|inherit|unset|(oblique( -?[0-9]?[0-9]deg)?))$/;function zi(e,t){const i=(""+e).match(Ei);if(!i||"normal"===i[1])return 1.2*t;switch(e=+i[2],i[3]){case"px":return e;case"%":e/=100}return t*e}const $i=e=>+e||0;function Fi(e,t){const i={},o=Qe(t),n=o?Object.keys(t):t,s=Qe(e)?o?i=>it(e[i],e[t[i]]):t=>e[t]:()=>e;for(const e of n)i[e]=$i(s(e));return i}function Ni(e){return Fi(e,{top:"y",right:"x",bottom:"y",left:"x"})}function Vi(e){return Fi(e,["topLeft","topRight","bottomLeft","bottomRight"])}function Bi(e){const t=Ni(e);return t.width=t.left+t.right,t.height=t.top+t.bottom,t}function Wi(e,t){e=e||{},t=t||fi.font;let i=it(e.size,t.size);"string"==typeof i&&(i=parseInt(i,10));let o=it(e.style,t.style);o&&!(""+o).match(Ti)&&(console.warn('Invalid font style specified: "'+o+'"'),o=void 0);const n={family:it(e.family,t.family),lineHeight:zi(it(e.lineHeight,t.lineHeight),i),size:i,style:o,weight:it(e.weight,t.weight),string:""};return n.string=function(e){return!e||Ge(e.size)||Ge(e.family)?null:(e.style?e.style+" ":"")+(e.weight?e.weight+" ":"")+e.size+"px "+e.family}(n),n}function ji(e,t,i,o){let n,s,a,l=!0;for(n=0,s=e.length;n<s;++n)if(a=e[n],void 0!==a&&(void 0!==t&&"function"==typeof a&&(a=a(t),l=!1),void 0!==i&&Je(a)&&(a=a[i%a.length],l=!1),void 0!==a))return o&&!l&&(o.cacheable=!1),a}function Ui(e,t){return Object.assign(Object.create(e),t)}function Yi(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[""],i=arguments.length>3?arguments[3]:void 0,o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:()=>e[0];const n=(arguments.length>2?arguments[2]:void 0)||e;void 0===i&&(i=oo("_fallback",e));const s={[Symbol.toStringTag]:"Object",_cacheable:!0,_scopes:e,_rootScopes:n,_fallback:i,_getTarget:o,override:o=>Yi([o,...e],t,n,i)};return new Proxy(s,{deleteProperty:(t,i)=>(delete t[i],delete t._keys,delete e[0][i],!0),get:(i,o)=>Gi(i,o,(()=>function(e,t,i,o){let n;for(const s of t)if(n=oo(Ki(s,e),i),void 0!==n)return Zi(e,n)?to(i,o,e,n):n}(o,t,e,i))),getOwnPropertyDescriptor:(e,t)=>Reflect.getOwnPropertyDescriptor(e._scopes[0],t),getPrototypeOf:()=>Reflect.getPrototypeOf(e[0]),has:(e,t)=>no(e).includes(t),ownKeys:e=>no(e),set(e,t,i){const n=e._storage||(e._storage=o());return e[t]=n[t]=i,delete e._keys,!0}})}function Xi(e,t,i,o){const n={_cacheable:!1,_proxy:e,_context:t,_subProxy:i,_stack:new Set,_descriptors:qi(e,o),setContext:t=>Xi(e,t,i,o),override:n=>Xi(e.override(n),t,i,o)};return new Proxy(n,{deleteProperty:(t,i)=>(delete t[i],delete e[i],!0),get:(e,t,i)=>Gi(e,t,(()=>function(e,t,i){const{_proxy:o,_context:n,_subProxy:s,_descriptors:a}=e;let l=o[t];pt(l)&&a.isScriptable(t)&&(l=function(e,t,i,o){const{_proxy:n,_context:s,_subProxy:a,_stack:l}=i;if(l.has(e))throw new Error("Recursion detected: "+Array.from(l).join("->")+"->"+e);l.add(e);let r=t(s,a||o);l.delete(e),Zi(e,r)&&(r=to(n._scopes,n,e,r));return r}(t,l,e,i));Je(l)&&l.length&&(l=function(e,t,i,o){const{_proxy:n,_context:s,_subProxy:a,_descriptors:l}=i;if(void 0!==s.index&&o(e))return t[s.index%t.length];if(Qe(t[0])){const i=t,o=n._scopes.filter((e=>e!==i));t=[];for(const r of i){const i=to(o,n,e,r);t.push(Xi(i,s,a&&a[e],l))}}return t}(t,l,e,a.isIndexable));Zi(t,l)&&(l=Xi(l,n,s&&s[t],a));return l}(e,t,i))),getOwnPropertyDescriptor:(t,i)=>t._descriptors.allKeys?Reflect.has(e,i)?{enumerable:!0,configurable:!0}:void 0:Reflect.getOwnPropertyDescriptor(e,i),getPrototypeOf:()=>Reflect.getPrototypeOf(e),has:(t,i)=>Reflect.has(e,i),ownKeys:()=>Reflect.ownKeys(e),set:(t,i,o)=>(e[i]=o,delete t[i],!0)})}function qi(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{scriptable:!0,indexable:!0};const{_scriptable:i=t.scriptable,_indexable:o=t.indexable,_allKeys:n=t.allKeys}=e;return{allKeys:n,scriptable:i,indexable:o,isScriptable:pt(i)?i:()=>i,isIndexable:pt(o)?o:()=>o}}const Ki=(e,t)=>e?e+ut(t):t,Zi=(e,t)=>Qe(t)&&"adapters"!==e&&(null===Object.getPrototypeOf(t)||t.constructor===Object);function Gi(e,t,i){if(Object.prototype.hasOwnProperty.call(e,t)||"constructor"===t)return e[t];const o=i();return e[t]=o,o}function Ji(e,t,i){return pt(e)?e(t,i):e}const Qi=(e,t)=>!0===e?t:"string"==typeof e?dt(t,e):void 0;function eo(e,t,i,o,n){for(const s of t){const t=Qi(i,s);if(t){e.add(t);const s=Ji(t._fallback,i,n);if(void 0!==s&&s!==i&&s!==o)return s}else if(!1===t&&void 0!==o&&i!==o)return null}return!1}function to(e,t,i,o){const n=t._rootScopes,s=Ji(t._fallback,i,o),a=[...e,...n],l=new Set;l.add(o);let r=io(l,a,i,s||i,o);return null!==r&&((void 0===s||s===i||(r=io(l,a,s,r,o),null!==r))&&Yi(Array.from(l),[""],n,s,(()=>function(e,t,i){const o=e._getTarget();t in o||(o[t]={});const n=o[t];if(Je(n)&&Qe(i))return i;return n||{}}(t,i,o))))}function io(e,t,i,o,n){for(;i;)i=eo(e,t,i,o,n);return i}function oo(e,t){for(const i of t){if(!i)continue;const t=i[e];if(void 0!==t)return t}}function no(e){let t=e._keys;return t||(t=e._keys=function(e){const t=new Set;for(const i of e)for(const e of Object.keys(i).filter((e=>!e.startsWith("_"))))t.add(e);return Array.from(t)}(e._scopes)),t}function so(e,t,i,o){const{iScale:n}=e,{key:s="r"}=this._parsing,a=new Array(o);let l,r,h,g;for(l=0,r=o;l<r;++l)h=l+i,g=t[h],a[l]={r:n.parse(dt(g,s),h)};return a}const ao=Number.EPSILON||1e-14,lo=(e,t)=>t<e.length&&!e[t].skip&&e[t],ro=e=>"x"===e?"y":"x";function ho(e,t,i,o){const n=e.skip?t:e,s=t,a=i.skip?t:i,l=zt(s,n),r=zt(a,s);let h=l/(l+r),g=r/(l+r);h=isNaN(h)?0:h,g=isNaN(g)?0:g;const M=o*h,A=o*g;return{previous:{x:s.x-M*(a.x-n.x),y:s.y-M*(a.y-n.y)},next:{x:s.x+A*(a.x-n.x),y:s.y+A*(a.y-n.y)}}}function go(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"x";const i=ro(t),o=e.length,n=Array(o).fill(0),s=Array(o);let a,l,r,h=lo(e,0);for(a=0;a<o;++a)if(l=r,r=h,h=lo(e,a+1),r){if(h){const e=h[t]-r[t];n[a]=0!==e?(h[i]-r[i])/e:0}s[a]=l?h?It(n[a-1])!==It(n[a])?0:(n[a-1]+n[a])/2:n[a-1]:n[a]}!function(e,t,i){const o=e.length;let n,s,a,l,r,h=lo(e,0);for(let g=0;g<o-1;++g)r=h,h=lo(e,g+1),r&&h&&(Ht(t[g],0,ao)?i[g]=i[g+1]=0:(n=i[g]/t[g],s=i[g+1]/t[g],l=Math.pow(n,2)+Math.pow(s,2),l<=9||(a=3/Math.sqrt(l),i[g]=n*a*t[g],i[g+1]=s*a*t[g])))}(e,n,s),function(e,t){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"x";const o=ro(i),n=e.length;let s,a,l,r=lo(e,0);for(let h=0;h<n;++h){if(a=l,l=r,r=lo(e,h+1),!l)continue;const n=l[i],g=l[o];a&&(s=(n-a[i])/3,l[`cp1${i}`]=n-s,l[`cp1${o}`]=g-s*t[h]),r&&(s=(r[i]-n)/3,l[`cp2${i}`]=n+s,l[`cp2${o}`]=g+s*t[h])}}(e,s,t)}function Mo(e,t,i){return Math.max(Math.min(e,i),t)}function Ao(e,t,i,o,n){let s,a,l,r;if(t.spanGaps&&(e=e.filter((e=>!e.skip))),"monotone"===t.cubicInterpolationMode)go(e,n);else{let i=o?e[e.length-1]:e[0];for(s=0,a=e.length;s<a;++s)l=e[s],r=ho(i,l,e[Math.min(s+1,a-(o?0:1))%a],t.tension),l.cp1x=r.previous.x,l.cp1y=r.previous.y,l.cp2x=r.next.x,l.cp2y=r.next.y,i=l}t.capBezierPoints&&function(e,t){let i,o,n,s,a,l=xi(e[0],t);for(i=0,o=e.length;i<o;++i)a=s,s=l,l=i<o-1&&xi(e[i+1],t),s&&(n=e[i],a&&(n.cp1x=Mo(n.cp1x,t.left,t.right),n.cp1y=Mo(n.cp1y,t.top,t.bottom)),l&&(n.cp2x=Mo(n.cp2x,t.left,t.right),n.cp2y=Mo(n.cp2y,t.top,t.bottom)))}(e,i)}function co(){return"undefined"!=typeof window&&"undefined"!=typeof document}function uo(e){let t=e.parentNode;return t&&"[object ShadowRoot]"===t.toString()&&(t=t.host),t}function mo(e,t,i){let o;return"string"==typeof e?(o=parseInt(e,10),-1!==e.indexOf("%")&&(o=o/100*t.parentNode[i])):o=e,o}const po=e=>e.ownerDocument.defaultView.getComputedStyle(e,null);const So=["top","right","bottom","left"];function fo(e,t,i){const o={};i=i?"-"+i:"";for(let n=0;n<4;n++){const s=So[n];o[s]=parseFloat(e[t+"-"+s+i])||0}return o.width=o.left+o.right,o.height=o.top+o.bottom,o}const Co=(e,t,i)=>(e>0||t>0)&&(!i||!i.shadowRoot);function Do(e,t){if("native"in e)return e;const{canvas:i,currentDevicePixelRatio:o}=t,n=po(i),s="border-box"===n.boxSizing,a=fo(n,"padding"),l=fo(n,"border","width"),{x:r,y:h,box:g}=function(e,t){const i=e.touches,o=i&&i.length?i[0]:e,{offsetX:n,offsetY:s}=o;let a,l,r=!1;if(Co(n,s,e.target))a=n,l=s;else{const e=t.getBoundingClientRect();a=o.clientX-e.left,l=o.clientY-e.top,r=!0}return{x:a,y:l,box:r}}(e,i),M=a.left+(g&&l.left),A=a.top+(g&&l.top);let{width:c,height:d}=t;return s&&(c-=a.width+l.width,d-=a.height+l.height),{x:Math.round((r-M)/c*i.width/o),y:Math.round((h-A)/d*i.height/o)}}const Lo=e=>Math.round(10*e)/10;function vo(e,t,i,o){const n=po(e),s=fo(n,"margin"),a=mo(n.maxWidth,e,"clientWidth")||Lt,l=mo(n.maxHeight,e,"clientHeight")||Lt,r=function(e,t,i){let o,n;if(void 0===t||void 0===i){const s=e&&uo(e);if(s){const e=s.getBoundingClientRect(),a=po(s),l=fo(a,"border","width"),r=fo(a,"padding");t=e.width-r.width-l.width,i=e.height-r.height-l.height,o=mo(a.maxWidth,s,"clientWidth"),n=mo(a.maxHeight,s,"clientHeight")}else t=e.clientWidth,i=e.clientHeight}return{width:t,height:i,maxWidth:o||Lt,maxHeight:n||Lt}}(e,t,i);let{width:h,height:g}=r;if("content-box"===n.boxSizing){const e=fo(n,"border","width"),t=fo(n,"padding");h-=t.width+e.width,g-=t.height+e.height}h=Math.max(0,h-s.width),g=Math.max(0,o?h/o:g-s.height),h=Lo(Math.min(h,a,r.maxWidth)),g=Lo(Math.min(g,l,r.maxHeight)),h&&!g&&(g=Lo(h/2));return(void 0!==t||void 0!==i)&&o&&r.height&&g>r.height&&(g=r.height,h=Lo(Math.floor(g*o))),{width:h,height:g}}function wo(e,t,i){const o=t||1,n=Math.floor(e.height*o),s=Math.floor(e.width*o);e.height=Math.floor(e.height),e.width=Math.floor(e.width);const a=e.canvas;return a.style&&(i||!a.style.height&&!a.style.width)&&(a.style.height=`${e.height}px`,a.style.width=`${e.width}px`),(e.currentDevicePixelRatio!==o||a.height!==n||a.width!==s)&&(e.currentDevicePixelRatio=o,a.height=n,a.width=s,e.ctx.setTransform(o,0,0,o,0,0),!0)}const bo=function(){let e=!1;try{const t={get passive(){return e=!0,!1}};co()&&(window.addEventListener("test",null,t),window.removeEventListener("test",null,t))}catch(e){}return e}();function xo(e,t){const i=function(e,t){return po(e).getPropertyValue(t)}(e,t),o=i&&i.match(/^(\d+)(\.\d+)?px$/);return o?+o[1]:void 0}function Ro(e,t,i,o){return{x:e.x+i*(t.x-e.x),y:e.y+i*(t.y-e.y)}}function Io(e,t,i,o){return{x:e.x+i*(t.x-e.x),y:"middle"===o?i<.5?e.y:t.y:"after"===o?i<1?e.y:t.y:i>0?t.y:e.y}}function Ho(e,t,i,o){const n={x:e.cp2x,y:e.cp2y},s={x:t.cp1x,y:t.cp1y},a=Ro(e,n,i),l=Ro(n,s,i),r=Ro(s,t,i),h=Ro(a,l,i),g=Ro(l,r,i);return Ro(h,g,i)}function _o(e,t,i){return e?function(e,t){return{x:i=>e+e+t-i,setWidth(e){t=e},textAlign:e=>"center"===e?e:"right"===e?"left":"right",xPlus:(e,t)=>e-t,leftForLtr:(e,t)=>e-t}}(t,i):{x:e=>e,setWidth(e){},textAlign:e=>e,xPlus:(e,t)=>e+t,leftForLtr:(e,t)=>e}}function yo(e,t){let i,o;"ltr"!==t&&"rtl"!==t||(i=e.canvas.style,o=[i.getPropertyValue("direction"),i.getPropertyPriority("direction")],i.setProperty("direction",t,"important"),e.prevTextDirection=o)}function ko(e,t){void 0!==t&&(delete e.prevTextDirection,e.canvas.style.setProperty("direction",t[0],t[1]))}function Po(e){return"angle"===e?{between:Nt,compare:$t,normalize:Ft}:{between:Bt,compare:(e,t)=>e-t,normalize:e=>e}}function Oo(e){let{start:t,end:i,count:o,loop:n,style:s}=e;return{start:t%o,end:i%o,loop:n&&(i-t+1)%o==0,style:s}}function Eo(e,t,i){if(!i)return[e];const{property:o,start:n,end:s}=i,a=t.length,{compare:l,between:r,normalize:h}=Po(o),{start:g,end:M,loop:A,style:c}=function(e,t,i){const{property:o,start:n,end:s}=i,{between:a,normalize:l}=Po(o),r=t.length;let h,g,{start:M,end:A,loop:c}=e;if(c){for(M+=r,A+=r,h=0,g=r;h<g&&a(l(t[M%r][o]),n,s);++h)M--,A--;M%=r,A%=r}return A<M&&(A+=r),{start:M,end:A,loop:c,style:e.style}}(e,t,i),d=[];let u,m,p,S=!1,f=null;const C=()=>S||r(n,p,u)&&0!==l(n,p),D=()=>!S||0===l(s,u)||r(s,p,u);for(let e=g,i=g;e<=M;++e)m=t[e%a],m.skip||(u=h(m[o]),u!==p&&(S=r(u,n,s),null===f&&C()&&(f=0===l(u,n)?e:i),null!==f&&D()&&(d.push(Oo({start:f,end:e,loop:A,count:a,style:c})),f=null),i=e,p=u));return null!==f&&d.push(Oo({start:f,end:M,loop:A,count:a,style:c})),d}function To(e,t){const i=[],o=e.segments;for(let n=0;n<o.length;n++){const s=Eo(o[n],e.points,t);s.length&&i.push(...s)}return i}function zo(e,t,i,o){return o&&o.setContext&&i?function(e,t,i,o){const n=e._chart.getContext(),s=$o(e.options),{_datasetIndex:a,options:{spanGaps:l}}=e,r=i.length,h=[];let g=s,M=t[0].start,A=M;function c(e,t,o,n){const s=l?-1:1;if(e!==t){for(e+=r;i[e%r].skip;)e-=s;for(;i[t%r].skip;)t+=s;e%r!=t%r&&(h.push({start:e%r,end:t%r,loop:o,style:n}),g=n,M=t%r)}}for(const e of t){M=l?M:e.start;let t,s=i[M%r];for(A=M+1;A<=e.end;A++){const l=i[A%r];t=$o(o.setContext(Ui(n,{type:"segment",p0:s,p1:l,p0DataIndex:(A-1)%r,p1DataIndex:A%r,datasetIndex:a}))),Fo(t,g)&&c(M,A-1,e.loop,g),s=l,g=t}M<A-1&&c(M,A-1,e.loop,g)}return h}(e,t,i,o):t}function $o(e){return{backgroundColor:e.backgroundColor,borderCapStyle:e.borderCapStyle,borderDash:e.borderDash,borderDashOffset:e.borderDashOffset,borderJoinStyle:e.borderJoinStyle,borderWidth:e.borderWidth,borderColor:e.borderColor}}function Fo(e,t){if(!t)return!1;const i=[],o=function(e,t){return si(t)?(i.includes(t)||i.push(t),i.indexOf(t)):t};return JSON.stringify(e,o)!==JSON.stringify(t,o)}class No{constructor(){this._request=null,this._charts=new Map,this._running=!1,this._lastDate=void 0}_notify(e,t,i,o){const n=t.listeners[o],s=t.duration;n.forEach((o=>o({chart:e,initial:t.initial,numSteps:s,currentStep:Math.min(i-t.start,s)})))}_refresh(){this._request||(this._running=!0,this._request=Kt.call(window,(()=>{this._update(),this._request=null,this._running&&this._refresh()})))}_update(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:Date.now(),t=0;this._charts.forEach(((i,o)=>{if(!i.running||!i.items.length)return;const n=i.items;let s,a=n.length-1,l=!1;for(;a>=0;--a)s=n[a],s._active?(s._total>i.duration&&(i.duration=s._total),s.tick(e),l=!0):(n[a]=n[n.length-1],n.pop());l&&(o.draw(),this._notify(o,i,e,"progress")),n.length||(i.running=!1,this._notify(o,i,e,"complete"),i.initial=!1),t+=n.length})),this._lastDate=e,0===t&&(this._running=!1)}_getAnims(e){const t=this._charts;let i=t.get(e);return i||(i={running:!1,initial:!0,items:[],listeners:{complete:[],progress:[]}},t.set(e,i)),i}listen(e,t,i){this._getAnims(e).listeners[t].push(i)}add(e,t){t&&t.length&&this._getAnims(e).items.push(...t)}has(e){return this._getAnims(e).items.length>0}start(e){const t=this._charts.get(e);t&&(t.running=!0,t.start=Date.now(),t.duration=t.items.reduce(((e,t)=>Math.max(e,t._duration)),0),this._refresh())}running(e){if(!this._running)return!1;const t=this._charts.get(e);return!!(t&&t.running&&t.items.length)}stop(e){const t=this._charts.get(e);if(!t||!t.items.length)return;const i=t.items;let o=i.length-1;for(;o>=0;--o)i[o].cancel();t.items=[],this._notify(e,t,Date.now(),"complete")}remove(e){return this._charts.delete(e)}}var Vo=new No;const Bo="transparent",Wo={boolean:(e,t,i)=>i>.5?t:e,color(e,t,i){const o=ai(e||Bo),n=o.valid&&ai(t||Bo);return n&&n.valid?n.mix(o,i).hexString():t},number:(e,t,i)=>e+(t-e)*i};class jo{constructor(e,t,i,o){const n=t[i];o=ji([e.to,o,n,e.from]);const s=ji([e.from,n,o]);this._active=!0,this._fn=e.fn||Wo[e.type||typeof s],this._easing=ni[e.easing]||ni.linear,this._start=Math.floor(Date.now()+(e.delay||0)),this._duration=this._total=Math.floor(e.duration),this._loop=!!e.loop,this._target=t,this._prop=i,this._from=s,this._to=o,this._promises=void 0}active(){return this._active}update(e,t,i){if(this._active){this._notify(!1);const o=this._target[this._prop],n=i-this._start,s=this._duration-n;this._start=i,this._duration=Math.floor(Math.max(s,e.duration)),this._total+=n,this._loop=!!e.loop,this._to=ji([e.to,t,o,e.from]),this._from=ji([e.from,o,t])}}cancel(){this._active&&(this.tick(Date.now()),this._active=!1,this._notify(!1))}tick(e){const t=e-this._start,i=this._duration,o=this._prop,n=this._from,s=this._loop,a=this._to;let l;if(this._active=n!==a&&(s||t<i),!this._active)return this._target[o]=a,void this._notify(!0);t<0?this._target[o]=n:(l=t/i%2,l=s&&l>1?2-l:l,l=this._easing(Math.min(1,Math.max(0,l))),this._target[o]=this._fn(n,a,l))}wait(){const e=this._promises||(this._promises=[]);return new Promise(((t,i)=>{e.push({res:t,rej:i})}))}_notify(e){const t=e?"res":"rej",i=this._promises||[];for(let e=0;e<i.length;e++)i[e][t]()}}class Uo{constructor(e,t){this._chart=e,this._properties=new Map,this.configure(t)}configure(e){if(!Qe(e))return;const t=Object.keys(fi.animation),i=this._properties;Object.getOwnPropertyNames(e).forEach((o=>{const n=e[o];if(!Qe(n))return;const s={};for(const e of t)s[e]=n[e];(Je(n.properties)&&n.properties||[o]).forEach((e=>{e!==o&&i.has(e)||i.set(e,s)}))}))}_animateOptions(e,t){const i=t.options,o=function(e,t){if(!t)return;let i=e.options;if(!i)return void(e.options=t);i.$shared&&(e.options=i=Object.assign({},i,{$shared:!1,$animations:{}}));return i}(e,i);if(!o)return[];const n=this._createAnimations(o,i);return i.$shared&&function(e,t){const i=[],o=Object.keys(t);for(let t=0;t<o.length;t++){const n=e[o[t]];n&&n.active()&&i.push(n.wait())}return Promise.all(i)}(e.options.$animations,i).then((()=>{e.options=i}),(()=>{})),n}_createAnimations(e,t){const i=this._properties,o=[],n=e.$animations||(e.$animations={}),s=Object.keys(t),a=Date.now();let l;for(l=s.length-1;l>=0;--l){const r=s[l];if("$"===r.charAt(0))continue;if("options"===r){o.push(...this._animateOptions(e,t));continue}const h=t[r];let g=n[r];const M=i.get(r);if(g){if(M&&g.active()){g.update(M,h,a);continue}g.cancel()}M&&M.duration?(n[r]=g=new jo(M,e,r,h),o.push(g)):e[r]=h}return o}update(e,t){if(0===this._properties.size)return void Object.assign(e,t);const i=this._createAnimations(e,t);return i.length?(Vo.add(this._chart,i),!0):void 0}}function Yo(e,t){const i=e&&e.options||{},o=i.reverse,n=void 0===i.min?t:0,s=void 0===i.max?t:0;return{start:o?s:n,end:o?n:s}}function Xo(e,t){const i=[],o=e._getSortedDatasetMetas(t);let n,s;for(n=0,s=o.length;n<s;++n)i.push(o[n].index);return i}function qo(e,t,i){let o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};const n=e.keys,s="single"===o.mode;let a,l,r,h;if(null!==t){for(a=0,l=n.length;a<l;++a){if(r=+n[a],r===i){if(o.all)continue;break}h=e.values[r],et(h)&&(s||0===t||It(t)===It(h))&&(t+=h)}return t}}function Ko(e,t){const i=e&&e.options.stacked;return i||void 0===i&&void 0!==t.stack}function Zo(e,t,i){const o=e[t]||(e[t]={});return o[i]||(o[i]={})}function Go(e,t,i,o){for(const n of t.getMatchingVisibleMetas(o).reverse()){const t=e[n.index];if(i&&t>0||!i&&t<0)return n.index}return null}function Jo(e,t){const{chart:i,_cachedMeta:o}=e,n=i._stacks||(i._stacks={}),{iScale:s,vScale:a,index:l}=o,r=s.axis,h=a.axis,g=function(e,t,i){return`${e.id}.${t.id}.${i.stack||i.type}`}(s,a,o),M=t.length;let A;for(let e=0;e<M;++e){const i=t[e],{[r]:s,[h]:M}=i;A=(i._stacks||(i._stacks={}))[h]=Zo(n,g,s),A[l]=M,A._top=Go(A,a,!0,o.type),A._bottom=Go(A,a,!1,o.type);(A._visualValues||(A._visualValues={}))[l]=M}}function Qo(e,t){const i=e.scales;return Object.keys(i).filter((e=>i[e].axis===t)).shift()}function en(e,t){const i=e.controller.index,o=e.vScale&&e.vScale.axis;if(o){t=t||e._parsed;for(const e of t){const t=e._stacks;if(!t||void 0===t[o]||void 0===t[o][i])return;delete t[o][i],void 0!==t[o]._visualValues&&void 0!==t[o]._visualValues[i]&&delete t[o]._visualValues[i]}}}const tn=e=>"reset"===e||"none"===e,on=(e,t)=>t?e:Object.assign({},e);class nn{constructor(e,t){this.chart=e,this._ctx=e.ctx,this.index=t,this._cachedDataOpts={},this._cachedMeta=this.getMeta(),this._type=this._cachedMeta.type,this.options=void 0,this._parsing=!1,this._data=void 0,this._objectData=void 0,this._sharedOptions=void 0,this._drawStart=void 0,this._drawCount=void 0,this.enableOptionSharing=!1,this.supportsDecimation=!1,this.$context=void 0,this._syncList=[],this.datasetElementType=new.target.datasetElementType,this.dataElementType=new.target.dataElementType,this.initialize()}initialize(){const e=this._cachedMeta;this.configure(),this.linkScales(),e._stacked=Ko(e.vScale,e),this.addElements(),this.options.fill&&!this.chart.isPluginEnabled("filler")&&console.warn("Tried to use the 'fill' option without the 'Filler' plugin enabled. Please import and register the 'Filler' plugin and make sure it is not disabled in the options")}updateIndex(e){this.index!==e&&en(this._cachedMeta),this.index=e}linkScales(){const e=this.chart,t=this._cachedMeta,i=this.getDataset(),o=(e,t,i,o)=>"x"===e?t:"r"===e?o:i,n=t.xAxisID=it(i.xAxisID,Qo(e,"x")),s=t.yAxisID=it(i.yAxisID,Qo(e,"y")),a=t.rAxisID=it(i.rAxisID,Qo(e,"r")),l=t.indexAxis,r=t.iAxisID=o(l,n,s,a),h=t.vAxisID=o(l,s,n,a);t.xScale=this.getScaleForId(n),t.yScale=this.getScaleForId(s),t.rScale=this.getScaleForId(a),t.iScale=this.getScaleForId(r),t.vScale=this.getScaleForId(h)}getDataset(){return this.chart.data.datasets[this.index]}getMeta(){return this.chart.getDatasetMeta(this.index)}getScaleForId(e){return this.chart.scales[e]}_getOtherScale(e){const t=this._cachedMeta;return e===t.iScale?t.vScale:t.iScale}reset(){this._update("reset")}_destroy(){const e=this._cachedMeta;this._data&&Xt(this._data,this),e._stacked&&en(e)}_dataCheck(){const e=this.getDataset(),t=e.data||(e.data=[]),i=this._data;if(Qe(t)){const e=this._cachedMeta;this._data=function(e,t){const{iScale:i,vScale:o}=t,n="x"===i.axis?"x":"y",s="x"===o.axis?"x":"y",a=Object.keys(e),l=new Array(a.length);let r,h,g;for(r=0,h=a.length;r<h;++r)g=a[r],l[r]={[n]:g,[s]:e[g]};return l}(t,e)}else if(i!==t){if(i){Xt(i,this);const e=this._cachedMeta;en(e),e._parsed=[]}t&&Object.isExtensible(t)&&(n=this,(o=t)._chartjs?o._chartjs.listeners.push(n):(Object.defineProperty(o,"_chartjs",{configurable:!0,enumerable:!1,value:{listeners:[n]}}),Yt.forEach((e=>{const t="_onData"+ut(e),i=o[e];Object.defineProperty(o,e,{configurable:!0,enumerable:!1,value(){for(var e=arguments.length,n=new Array(e),s=0;s<e;s++)n[s]=arguments[s];const a=i.apply(this,n);return o._chartjs.listeners.forEach((e=>{"function"==typeof e[t]&&e[t](...n)})),a}})})))),this._syncList=[],this._data=t}var o,n}addElements(){const e=this._cachedMeta;this._dataCheck(),this.datasetElementType&&(e.dataset=new this.datasetElementType)}buildOrUpdateElements(e){const t=this._cachedMeta,i=this.getDataset();let o=!1;this._dataCheck();const n=t._stacked;t._stacked=Ko(t.vScale,t),t.stack!==i.stack&&(o=!0,en(t),t.stack=i.stack),this._resyncElements(e),(o||n!==t._stacked)&&(Jo(this,t._parsed),t._stacked=Ko(t.vScale,t))}configure(){const e=this.chart.config,t=e.datasetScopeKeys(this._type),i=e.getOptionScopes(this.getDataset(),t,!0);this.options=e.createResolver(i,this.getContext()),this._parsing=this.options.parsing,this._cachedDataOpts={}}parse(e,t){const{_cachedMeta:i,_data:o}=this,{iScale:n,_stacked:s}=i,a=n.axis;let l,r,h,g=0===e&&t===o.length||i._sorted,M=e>0&&i._parsed[e-1];if(!1===this._parsing)i._parsed=o,i._sorted=!0,h=o;else{h=Je(o[e])?this.parseArrayData(i,o,e,t):Qe(o[e])?this.parseObjectData(i,o,e,t):this.parsePrimitiveData(i,o,e,t);const n=()=>null===r[a]||M&&r[a]<M[a];for(l=0;l<t;++l)i._parsed[l+e]=r=h[l],g&&(n()&&(g=!1),M=r);i._sorted=g}s&&Jo(this,h)}parsePrimitiveData(e,t,i,o){const{iScale:n,vScale:s}=e,a=n.axis,l=s.axis,r=n.getLabels(),h=n===s,g=new Array(o);let M,A,c;for(M=0,A=o;M<A;++M)c=M+i,g[M]={[a]:h||n.parse(r[c],c),[l]:s.parse(t[c],c)};return g}parseArrayData(e,t,i,o){const{xScale:n,yScale:s}=e,a=new Array(o);let l,r,h,g;for(l=0,r=o;l<r;++l)h=l+i,g=t[h],a[l]={x:n.parse(g[0],h),y:s.parse(g[1],h)};return a}parseObjectData(e,t,i,o){const{xScale:n,yScale:s}=e,{xAxisKey:a="x",yAxisKey:l="y"}=this._parsing,r=new Array(o);let h,g,M,A;for(h=0,g=o;h<g;++h)M=h+i,A=t[M],r[h]={x:n.parse(dt(A,a),M),y:s.parse(dt(A,l),M)};return r}getParsed(e){return this._cachedMeta._parsed[e]}getDataElement(e){return this._cachedMeta.data[e]}applyStack(e,t,i){const o=this.chart,n=this._cachedMeta,s=t[e.axis];return qo({keys:Xo(o,!0),values:t._stacks[e.axis]._visualValues},s,n.index,{mode:i})}updateRangeFromParsed(e,t,i,o){const n=i[t.axis];let s=null===n?NaN:n;const a=o&&i._stacks[t.axis];o&&a&&(o.values=a,s=qo(o,n,this._cachedMeta.index)),e.min=Math.min(e.min,s),e.max=Math.max(e.max,s)}getMinMax(e,t){const i=this._cachedMeta,o=i._parsed,n=i._sorted&&e===i.iScale,s=o.length,a=this._getOtherScale(e),l=((e,t,i)=>e&&!t.hidden&&t._stacked&&{keys:Xo(i,!0),values:null})(t,i,this.chart),r={min:Number.POSITIVE_INFINITY,max:Number.NEGATIVE_INFINITY},{min:h,max:g}=function(e){const{min:t,max:i,minDefined:o,maxDefined:n}=e.getUserBounds();return{min:o?t:Number.NEGATIVE_INFINITY,max:n?i:Number.POSITIVE_INFINITY}}(a);let M,A;function c(){A=o[M];const t=A[a.axis];return!et(A[e.axis])||h>t||g<t}for(M=0;M<s&&(c()||(this.updateRangeFromParsed(r,e,A,l),!n));++M);if(n)for(M=s-1;M>=0;--M)if(!c()){this.updateRangeFromParsed(r,e,A,l);break}return r}getAllParsedValues(e){const t=this._cachedMeta._parsed,i=[];let o,n,s;for(o=0,n=t.length;o<n;++o)s=t[o][e.axis],et(s)&&i.push(s);return i}getMaxOverflow(){return!1}getLabelAndValue(e){const t=this._cachedMeta,i=t.iScale,o=t.vScale,n=this.getParsed(e);return{label:i?""+i.getLabelForValue(n[i.axis]):"",value:o?""+o.getLabelForValue(n[o.axis]):""}}_update(e){const t=this._cachedMeta;this.update(e||"default"),t._clip=function(e){let t,i,o,n;return Qe(e)?(t=e.top,i=e.right,o=e.bottom,n=e.left):t=i=o=n=e,{top:t,right:i,bottom:o,left:n,disabled:!1===e}}(it(this.options.clip,function(e,t,i){if(!1===i)return!1;const o=Yo(e,i),n=Yo(t,i);return{top:n.end,right:o.end,bottom:n.start,left:o.start}}(t.xScale,t.yScale,this.getMaxOverflow())))}update(e){}draw(){const e=this._ctx,t=this.chart,i=this._cachedMeta,o=i.data||[],n=t.chartArea,s=[],a=this._drawStart||0,l=this._drawCount||o.length-a,r=this.options.drawActiveElementsOnTop;let h;for(i.dataset&&i.dataset.draw(e,n,a,l),h=a;h<a+l;++h){const t=o[h];t.hidden||(t.active&&r?s.push(t):t.draw(e,n))}for(h=0;h<s.length;++h)s[h].draw(e,n)}getStyle(e,t){const i=t?"active":"default";return void 0===e&&this._cachedMeta.dataset?this.resolveDatasetElementOptions(i):this.resolveDataElementOptions(e||0,i)}getContext(e,t,i){const o=this.getDataset();let n;if(e>=0&&e<this._cachedMeta.data.length){const t=this._cachedMeta.data[e];n=t.$context||(t.$context=function(e,t,i){return Ui(e,{active:!1,dataIndex:t,parsed:void 0,raw:void 0,element:i,index:t,mode:"default",type:"data"})}(this.getContext(),e,t)),n.parsed=this.getParsed(e),n.raw=o.data[e],n.index=n.dataIndex=e}else n=this.$context||(this.$context=function(e,t){return Ui(e,{active:!1,dataset:void 0,datasetIndex:t,index:t,mode:"default",type:"dataset"})}(this.chart.getContext(),this.index)),n.dataset=o,n.index=n.datasetIndex=this.index;return n.active=!!t,n.mode=i,n}resolveDatasetElementOptions(e){return this._resolveElementOptions(this.datasetElementType.id,e)}resolveDataElementOptions(e,t){return this._resolveElementOptions(this.dataElementType.id,t,e)}_resolveElementOptions(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"default",i=arguments.length>2?arguments[2]:void 0;const o="active"===t,n=this._cachedDataOpts,s=e+"-"+t,a=n[s],l=this.enableOptionSharing&&mt(i);if(a)return on(a,l);const r=this.chart.config,h=r.datasetElementScopeKeys(this._type,e),g=o?[`${e}Hover`,"hover",e,""]:[e,""],M=r.getOptionScopes(this.getDataset(),h),A=Object.keys(fi.elements[e]),c=r.resolveNamedOptions(M,A,(()=>this.getContext(i,o,t)),g);return c.$shared&&(c.$shared=l,n[s]=Object.freeze(on(c,l))),c}_resolveAnimations(e,t,i){const o=this.chart,n=this._cachedDataOpts,s=`animation-${t}`,a=n[s];if(a)return a;let l;if(!1!==o.options.animation){const o=this.chart.config,n=o.datasetAnimationScopeKeys(this._type,t),s=o.getOptionScopes(this.getDataset(),n);l=o.createResolver(s,this.getContext(e,i,t))}const r=new Uo(o,l&&l.animations);return l&&l._cacheable&&(n[s]=Object.freeze(r)),r}getSharedOptions(e){if(e.$shared)return this._sharedOptions||(this._sharedOptions=Object.assign({},e))}includeOptions(e,t){return!t||tn(e)||this.chart._animationsDisabled}_getSharedOptions(e,t){const i=this.resolveDataElementOptions(e,t),o=this._sharedOptions,n=this.getSharedOptions(i),s=this.includeOptions(t,n)||n!==o;return this.updateSharedOptions(n,t,i),{sharedOptions:n,includeOptions:s}}updateElement(e,t,i,o){tn(o)?Object.assign(e,i):this._resolveAnimations(t,o).update(e,i)}updateSharedOptions(e,t,i){e&&!tn(t)&&this._resolveAnimations(void 0,t).update(e,i)}_setStyle(e,t,i,o){e.active=o;const n=this.getStyle(t,o);this._resolveAnimations(t,i,o).update(e,{options:!o&&this.getSharedOptions(n)||n})}removeHoverStyle(e,t,i){this._setStyle(e,i,"active",!1)}setHoverStyle(e,t,i){this._setStyle(e,i,"active",!0)}_removeDatasetHoverStyle(){const e=this._cachedMeta.dataset;e&&this._setStyle(e,void 0,"active",!1)}_setDatasetHoverStyle(){const e=this._cachedMeta.dataset;e&&this._setStyle(e,void 0,"active",!0)}_resyncElements(e){const t=this._data,i=this._cachedMeta.data;for(const[e,t,i]of this._syncList)this[e](t,i);this._syncList=[];const o=i.length,n=t.length,s=Math.min(n,o);s&&this.parse(0,s),n>o?this._insertElements(o,n-o,e):n<o&&this._removeElements(n,o-n)}_insertElements(e,t){let i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];const o=this._cachedMeta,n=o.data,s=e+t;let a;const l=e=>{for(e.length+=t,a=e.length-1;a>=s;a--)e[a]=e[a-t]};for(l(n),a=e;a<s;++a)n[a]=new this.dataElementType;this._parsing&&l(o._parsed),this.parse(e,t),i&&this.updateElements(n,e,t,"reset")}updateElements(e,t,i,o){}_removeElements(e,t){const i=this._cachedMeta;if(this._parsing){const o=i._parsed.splice(e,t);i._stacked&&en(i,o)}i.data.splice(e,t)}_sync(e){if(this._parsing)this._syncList.push(e);else{const[t,i,o]=e;this[t](i,o)}this.chart._dataChanges.push([this.index,...e])}_onDataPush(){const e=arguments.length;this._sync(["_insertElements",this.getDataset().data.length-e,e])}_onDataPop(){this._sync(["_removeElements",this._cachedMeta.data.length-1,1])}_onDataShift(){this._sync(["_removeElements",0,1])}_onDataSplice(e,t){t&&this._sync(["_removeElements",e,t]);const i=arguments.length-2;i&&this._sync(["_insertElements",e,i])}_onDataUnshift(){this._sync(["_insertElements",0,arguments.length])}}function sn(e){const t=e.iScale,i=function(e,t){if(!e._cache.$bar){const i=e.getMatchingVisibleMetas(t);let o=[];for(let t=0,n=i.length;t<n;t++)o=o.concat(i[t].controller.getAllParsedValues(e));e._cache.$bar=qt(o.sort(((e,t)=>e-t)))}return e._cache.$bar}(t,e.type);let o,n,s,a,l=t._length;const r=()=>{32767!==s&&-32768!==s&&(mt(a)&&(l=Math.min(l,Math.abs(s-a)||l)),a=s)};for(o=0,n=i.length;o<n;++o)s=t.getPixelForValue(i[o]),r();for(a=void 0,o=0,n=t.ticks.length;o<n;++o)s=t.getPixelForTick(o),r();return l}function an(e,t,i,o){return Je(e)?function(e,t,i,o){const n=i.parse(e[0],o),s=i.parse(e[1],o),a=Math.min(n,s),l=Math.max(n,s);let r=a,h=l;Math.abs(a)>Math.abs(l)&&(r=l,h=a),t[i.axis]=h,t._custom={barStart:r,barEnd:h,start:n,end:s,min:a,max:l}}(e,t,i,o):t[i.axis]=i.parse(e,o),t}function ln(e,t,i,o){const n=e.iScale,s=e.vScale,a=n.getLabels(),l=n===s,r=[];let h,g,M,A;for(h=i,g=i+o;h<g;++h)A=t[h],M={},M[n.axis]=l||n.parse(a[h],h),r.push(an(A,M,s,h));return r}function rn(e){return e&&void 0!==e.barStart&&void 0!==e.barEnd}function hn(e,t,i,o){let n=t.borderSkipped;const s={};if(!n)return void(e.borderSkipped=s);if(!0===n)return void(e.borderSkipped={top:!0,right:!0,bottom:!0,left:!0});const{start:a,end:l,reverse:r,top:h,bottom:g}=function(e){let t,i,o,n,s;return e.horizontal?(t=e.base>e.x,i="left",o="right"):(t=e.base<e.y,i="bottom",o="top"),t?(n="end",s="start"):(n="start",s="end"),{start:i,end:o,reverse:t,top:n,bottom:s}}(e);"middle"===n&&i&&(e.enableBorderRadius=!0,(i._top||0)===o?n=h:(i._bottom||0)===o?n=g:(s[gn(g,a,l,r)]=!0,n=h)),s[gn(n,a,l,r)]=!0,e.borderSkipped=s}function gn(e,t,i,o){var n,s,a;return o?(a=i,e=Mn(e=(n=e)===(s=t)?a:n===a?s:n,i,t)):e=Mn(e,t,i),e}function Mn(e,t,i){return"start"===e?t:"end"===e?i:e}function An(e,t,i){let{inflateAmount:o}=t;e.inflateAmount="auto"===o?1===i?.33:0:o}ue(nn,"defaults",{}),ue(nn,"datasetElementType",null),ue(nn,"dataElementType",null);class cn extends nn{parsePrimitiveData(e,t,i,o){return ln(e,t,i,o)}parseArrayData(e,t,i,o){return ln(e,t,i,o)}parseObjectData(e,t,i,o){const{iScale:n,vScale:s}=e,{xAxisKey:a="x",yAxisKey:l="y"}=this._parsing,r="x"===n.axis?a:l,h="x"===s.axis?a:l,g=[];let M,A,c,d;for(M=i,A=i+o;M<A;++M)d=t[M],c={},c[n.axis]=n.parse(dt(d,r),M),g.push(an(dt(d,h),c,s,M));return g}updateRangeFromParsed(e,t,i,o){super.updateRangeFromParsed(e,t,i,o);const n=i._custom;n&&t===this._cachedMeta.vScale&&(e.min=Math.min(e.min,n.min),e.max=Math.max(e.max,n.max))}getMaxOverflow(){return 0}getLabelAndValue(e){const t=this._cachedMeta,{iScale:i,vScale:o}=t,n=this.getParsed(e),s=n._custom,a=rn(s)?"["+s.start+", "+s.end+"]":""+o.getLabelForValue(n[o.axis]);return{label:""+i.getLabelForValue(n[i.axis]),value:a}}initialize(){this.enableOptionSharing=!0,super.initialize();this._cachedMeta.stack=this.getDataset().stack}update(e){const t=this._cachedMeta;this.updateElements(t.data,0,t.data.length,e)}updateElements(e,t,i,o){const n="reset"===o,{index:s,_cachedMeta:{vScale:a}}=this,l=a.getBasePixel(),r=a.isHorizontal(),h=this._getRuler(),{sharedOptions:g,includeOptions:M}=this._getSharedOptions(t,o);for(let A=t;A<t+i;A++){const t=this.getParsed(A),i=n||Ge(t[a.axis])?{base:l,head:l}:this._calculateBarValuePixels(A),c=this._calculateBarIndexPixels(A,h),d=(t._stacks||{})[a.axis],u={horizontal:r,base:i.base,enableBorderRadius:!d||rn(t._custom)||s===d._top||s===d._bottom,x:r?i.head:c.center,y:r?c.center:i.head,height:r?c.size:Math.abs(i.size),width:r?Math.abs(i.size):c.size};M&&(u.options=g||this.resolveDataElementOptions(A,e[A].active?"active":o));const m=u.options||e[A].options;hn(u,m,d,s),An(u,m,h.ratio),this.updateElement(e[A],A,u,o)}}_getStacks(e,t){const{iScale:i}=this._cachedMeta,o=i.getMatchingVisibleMetas(this._type).filter((e=>e.controller.options.grouped)),n=i.options.stacked,s=[],a=this._cachedMeta.controller.getParsed(t),l=a&&a[i.axis],r=e=>{const t=e._parsed.find((e=>e[i.axis]===l)),o=t&&t[e.vScale.axis];if(Ge(o)||isNaN(o))return!0};for(const i of o)if((void 0===t||!r(i))&&((!1===n||-1===s.indexOf(i.stack)||void 0===n&&void 0===i.stack)&&s.push(i.stack),i.index===e))break;return s.length||s.push(void 0),s}_getStackCount(e){return this._getStacks(void 0,e).length}_getStackIndex(e,t,i){const o=this._getStacks(e,i),n=void 0!==t?o.indexOf(t):-1;return-1===n?o.length-1:n}_getRuler(){const e=this.options,t=this._cachedMeta,i=t.iScale,o=[];let n,s;for(n=0,s=t.data.length;n<s;++n)o.push(i.getPixelForValue(this.getParsed(n)[i.axis],n));const a=e.barThickness;return{min:a||sn(t),pixels:o,start:i._startPixel,end:i._endPixel,stackCount:this._getStackCount(),scale:i,grouped:e.grouped,ratio:a?1:e.categoryPercentage*e.barPercentage}}_calculateBarValuePixels(e){const{_cachedMeta:{vScale:t,_stacked:i,index:o},options:{base:n,minBarLength:s}}=this,a=n||0,l=this.getParsed(e),r=l._custom,h=rn(r);let g,M,A=l[t.axis],c=0,d=i?this.applyStack(t,l,i):A;d!==A&&(c=d-A,d=A),h&&(A=r.barStart,d=r.barEnd-r.barStart,0!==A&&It(A)!==It(r.barEnd)&&(c=0),c+=A);const u=Ge(n)||h?c:n;let m=t.getPixelForValue(u);if(g=this.chart.getDataVisibility(e)?t.getPixelForValue(c+d):m,M=g-m,Math.abs(M)<s){M=function(e,t,i){return 0!==e?It(e):(t.isHorizontal()?1:-1)*(t.min>=i?1:-1)}(M,t,a)*s,A===a&&(m-=M/2);const e=t.getPixelForDecimal(0),n=t.getPixelForDecimal(1),r=Math.min(e,n),c=Math.max(e,n);m=Math.max(Math.min(m,c),r),g=m+M,i&&!h&&(l._stacks[t.axis]._visualValues[o]=t.getValueForPixel(g)-t.getValueForPixel(m))}if(m===t.getPixelForValue(a)){const e=It(M)*t.getLineWidthForValue(a)/2;m+=e,M-=e}return{size:M,base:m,head:g,center:g+M/2}}_calculateBarIndexPixels(e,t){const i=t.scale,o=this.options,n=o.skipNull,s=it(o.maxBarThickness,1/0);let a,l;if(t.grouped){const i=n?this._getStackCount(e):t.stackCount,r="flex"===o.barThickness?function(e,t,i,o){const n=t.pixels,s=n[e];let a=e>0?n[e-1]:null,l=e<n.length-1?n[e+1]:null;const r=i.categoryPercentage;null===a&&(a=s-(null===l?t.end-t.start:l-s)),null===l&&(l=s+s-a);const h=s-(s-Math.min(a,l))/2*r;return{chunk:Math.abs(l-a)/2*r/o,ratio:i.barPercentage,start:h}}(e,t,o,i):function(e,t,i,o){const n=i.barThickness;let s,a;return Ge(n)?(s=t.min*i.categoryPercentage,a=i.barPercentage):(s=n*o,a=1),{chunk:s/o,ratio:a,start:t.pixels[e]-s/2}}(e,t,o,i),h=this._getStackIndex(this.index,this._cachedMeta.stack,n?e:void 0);a=r.start+r.chunk*h+r.chunk/2,l=Math.min(s,r.chunk*r.ratio)}else a=i.getPixelForValue(this.getParsed(e)[i.axis],e),l=Math.min(s,t.min*t.ratio);return{base:a-l/2,head:a+l/2,center:a,size:l}}draw(){const e=this._cachedMeta,t=e.vScale,i=e.data,o=i.length;let n=0;for(;n<o;++n)null===this.getParsed(n)[t.axis]||i[n].hidden||i[n].draw(this._ctx)}}ue(cn,"id","bar"),ue(cn,"defaults",{datasetElementType:!1,dataElementType:"bar",categoryPercentage:.8,barPercentage:.9,grouped:!0,animations:{numbers:{type:"number",properties:["x","y","base","width","height"]}}}),ue(cn,"overrides",{scales:{_index_:{type:"category",offset:!0,grid:{offset:!0}},_value_:{type:"linear",beginAtZero:!0}}});class dn extends nn{initialize(){this.enableOptionSharing=!0,super.initialize()}parsePrimitiveData(e,t,i,o){const n=super.parsePrimitiveData(e,t,i,o);for(let e=0;e<n.length;e++)n[e]._custom=this.resolveDataElementOptions(e+i).radius;return n}parseArrayData(e,t,i,o){const n=super.parseArrayData(e,t,i,o);for(let e=0;e<n.length;e++){const o=t[i+e];n[e]._custom=it(o[2],this.resolveDataElementOptions(e+i).radius)}return n}parseObjectData(e,t,i,o){const n=super.parseObjectData(e,t,i,o);for(let e=0;e<n.length;e++){const o=t[i+e];n[e]._custom=it(o&&o.r&&+o.r,this.resolveDataElementOptions(e+i).radius)}return n}getMaxOverflow(){const e=this._cachedMeta.data;let t=0;for(let i=e.length-1;i>=0;--i)t=Math.max(t,e[i].size(this.resolveDataElementOptions(i))/2);return t>0&&t}getLabelAndValue(e){const t=this._cachedMeta,i=this.chart.data.labels||[],{xScale:o,yScale:n}=t,s=this.getParsed(e),a=o.getLabelForValue(s.x),l=n.getLabelForValue(s.y),r=s._custom;return{label:i[e]||"",value:"("+a+", "+l+(r?", "+r:"")+")"}}update(e){const t=this._cachedMeta.data;this.updateElements(t,0,t.length,e)}updateElements(e,t,i,o){const n="reset"===o,{iScale:s,vScale:a}=this._cachedMeta,{sharedOptions:l,includeOptions:r}=this._getSharedOptions(t,o),h=s.axis,g=a.axis;for(let M=t;M<t+i;M++){const t=e[M],i=!n&&this.getParsed(M),A={},c=A[h]=n?s.getPixelForDecimal(.5):s.getPixelForValue(i[h]),d=A[g]=n?a.getBasePixel():a.getPixelForValue(i[g]);A.skip=isNaN(c)||isNaN(d),r&&(A.options=l||this.resolveDataElementOptions(M,t.active?"active":o),n&&(A.options.radius=0)),this.updateElement(t,M,A,o)}}resolveDataElementOptions(e,t){const i=this.getParsed(e);let o=super.resolveDataElementOptions(e,t);o.$shared&&(o=Object.assign({},o,{$shared:!1}));const n=o.radius;return"active"!==t&&(o.radius=0),o.radius+=it(i&&i._custom,n),o}}ue(dn,"id","bubble"),ue(dn,"defaults",{datasetElementType:!1,dataElementType:"point",animations:{numbers:{type:"number",properties:["x","y","borderWidth","radius"]}}}),ue(dn,"overrides",{scales:{x:{type:"linear"},y:{type:"linear"}}});class un extends nn{constructor(e,t){super(e,t),this.enableOptionSharing=!0,this.innerRadius=void 0,this.outerRadius=void 0,this.offsetX=void 0,this.offsetY=void 0}linkScales(){}parse(e,t){const i=this.getDataset().data,o=this._cachedMeta;if(!1===this._parsing)o._parsed=i;else{let n,s,a=e=>+i[e];if(Qe(i[e])){const{key:e="value"}=this._parsing;a=t=>+dt(i[t],e)}for(n=e,s=e+t;n<s;++n)o._parsed[n]=a(n)}}_getRotation(){return Pt(this.options.rotation-90)}_getCircumference(){return Pt(this.options.circumference)}_getRotationExtents(){let e=Ct,t=-Ct;for(let i=0;i<this.chart.data.datasets.length;++i)if(this.chart.isDatasetVisible(i)&&this.chart.getDatasetMeta(i).type===this._type){const o=this.chart.getDatasetMeta(i).controller,n=o._getRotation(),s=o._getCircumference();e=Math.min(e,n),t=Math.max(t,n+s)}return{rotation:e,circumference:t-e}}update(e){const t=this.chart,{chartArea:i}=t,o=this._cachedMeta,n=o.data,s=this.getMaxBorderWidth()+this.getMaxOffset(n)+this.options.spacing,a=Math.max((Math.min(i.width,i.height)-s)/2,0),l=Math.min((r=this.options.cutout,h=a,"string"==typeof r&&r.endsWith("%")?parseFloat(r)/100:+r/h),1);var r,h;const g=this._getRingWeight(this.index),{circumference:M,rotation:A}=this._getRotationExtents(),{ratioX:c,ratioY:d,offsetX:u,offsetY:m}=function(e,t,i){let o=1,n=1,s=0,a=0;if(t<Ct){const l=e,r=l+t,h=Math.cos(l),g=Math.sin(l),M=Math.cos(r),A=Math.sin(r),c=(e,t,o)=>Nt(e,l,r,!0)?1:Math.max(t,t*i,o,o*i),d=(e,t,o)=>Nt(e,l,r,!0)?-1:Math.min(t,t*i,o,o*i),u=c(0,h,M),m=c(wt,g,A),p=d(ft,h,M),S=d(ft+wt,g,A);o=(u-p)/2,n=(m-S)/2,s=-(u+p)/2,a=-(m+S)/2}return{ratioX:o,ratioY:n,offsetX:s,offsetY:a}}(A,M,l),p=(i.width-s)/c,S=(i.height-s)/d,f=Math.max(Math.min(p,S)/2,0),C=ot(this.options.radius,f),D=(C-Math.max(C*l,0))/this._getVisibleDatasetWeightTotal();this.offsetX=u*C,this.offsetY=m*C,o.total=this.calculateTotal(),this.outerRadius=C-D*this._getRingWeightOffset(this.index),this.innerRadius=Math.max(this.outerRadius-D*g,0),this.updateElements(n,0,n.length,e)}_circumference(e,t){const i=this.options,o=this._cachedMeta,n=this._getCircumference();return t&&i.animation.animateRotate||!this.chart.getDataVisibility(e)||null===o._parsed[e]||o.data[e].hidden?0:this.calculateCircumference(o._parsed[e]*n/Ct)}updateElements(e,t,i,o){const n="reset"===o,s=this.chart,a=s.chartArea,l=s.options.animation,r=(a.left+a.right)/2,h=(a.top+a.bottom)/2,g=n&&l.animateScale,M=g?0:this.innerRadius,A=g?0:this.outerRadius,{sharedOptions:c,includeOptions:d}=this._getSharedOptions(t,o);let u,m=this._getRotation();for(u=0;u<t;++u)m+=this._circumference(u,n);for(u=t;u<t+i;++u){const t=this._circumference(u,n),i=e[u],s={x:r+this.offsetX,y:h+this.offsetY,startAngle:m,endAngle:m+t,circumference:t,outerRadius:A,innerRadius:M};d&&(s.options=c||this.resolveDataElementOptions(u,i.active?"active":o)),m+=t,this.updateElement(i,u,s,o)}}calculateTotal(){const e=this._cachedMeta,t=e.data;let i,o=0;for(i=0;i<t.length;i++){const n=e._parsed[i];null===n||isNaN(n)||!this.chart.getDataVisibility(i)||t[i].hidden||(o+=Math.abs(n))}return o}calculateCircumference(e){const t=this._cachedMeta.total;return t>0&&!isNaN(e)?Ct*(Math.abs(e)/t):0}getLabelAndValue(e){const t=this._cachedMeta,i=this.chart,o=i.data.labels||[],n=Mi(t._parsed[e],i.options.locale);return{label:o[e]||"",value:n}}getMaxBorderWidth(e){let t=0;const i=this.chart;let o,n,s,a,l;if(!e)for(o=0,n=i.data.datasets.length;o<n;++o)if(i.isDatasetVisible(o)){s=i.getDatasetMeta(o),e=s.data,a=s.controller;break}if(!e)return 0;for(o=0,n=e.length;o<n;++o)l=a.resolveDataElementOptions(o),"inner"!==l.borderAlign&&(t=Math.max(t,l.borderWidth||0,l.hoverBorderWidth||0));return t}getMaxOffset(e){let t=0;for(let i=0,o=e.length;i<o;++i){const e=this.resolveDataElementOptions(i);t=Math.max(t,e.offset||0,e.hoverOffset||0)}return t}_getRingWeightOffset(e){let t=0;for(let i=0;i<e;++i)this.chart.isDatasetVisible(i)&&(t+=this._getRingWeight(i));return t}_getRingWeight(e){return Math.max(it(this.chart.data.datasets[e].weight,1),0)}_getVisibleDatasetWeightTotal(){return this._getRingWeightOffset(this.chart.data.datasets.length)||1}}ue(un,"id","doughnut"),ue(un,"defaults",{datasetElementType:!1,dataElementType:"arc",animation:{animateRotate:!0,animateScale:!1},animations:{numbers:{type:"number",properties:["circumference","endAngle","innerRadius","outerRadius","startAngle","x","y","offset","borderWidth","spacing"]}},cutout:"50%",rotation:0,circumference:360,radius:"100%",spacing:0,indexAxis:"r"}),ue(un,"descriptors",{_scriptable:e=>"spacing"!==e,_indexable:e=>"spacing"!==e&&!e.startsWith("borderDash")&&!e.startsWith("hoverBorderDash")}),ue(un,"overrides",{aspectRatio:1,plugins:{legend:{labels:{generateLabels(e){const t=e.data;if(t.labels.length&&t.datasets.length){const{labels:{pointStyle:i,color:o}}=e.legend.options;return t.labels.map(((t,n)=>{const s=e.getDatasetMeta(0).controller.getStyle(n);return{text:t,fillStyle:s.backgroundColor,strokeStyle:s.borderColor,fontColor:o,lineWidth:s.borderWidth,pointStyle:i,hidden:!e.getDataVisibility(n),index:n}}))}return[]}},onClick(e,t,i){i.chart.toggleDataVisibility(t.index),i.chart.update()}}}});class mn extends nn{initialize(){this.enableOptionSharing=!0,this.supportsDecimation=!0,super.initialize()}update(e){const t=this._cachedMeta,{dataset:i,data:o=[],_dataset:n}=t,s=this.chart._animationsDisabled;let{start:a,count:l}=Qt(t,o,s);this._drawStart=a,this._drawCount=l,ei(t)&&(a=0,l=o.length),i._chart=this.chart,i._datasetIndex=this.index,i._decimated=!!n._decimated,i.points=o;const r=this.resolveDatasetElementOptions(e);this.options.showLine||(r.borderWidth=0),r.segment=this.options.segment,this.updateElement(i,void 0,{animated:!s,options:r},e),this.updateElements(o,a,l,e)}updateElements(e,t,i,o){const n="reset"===o,{iScale:s,vScale:a,_stacked:l,_dataset:r}=this._cachedMeta,{sharedOptions:h,includeOptions:g}=this._getSharedOptions(t,o),M=s.axis,A=a.axis,{spanGaps:c,segment:d}=this.options,u=yt(c)?c:Number.POSITIVE_INFINITY,m=this.chart._animationsDisabled||n||"none"===o,p=t+i,S=e.length;let f=t>0&&this.getParsed(t-1);for(let i=0;i<S;++i){const c=e[i],S=m?c:{};if(i<t||i>=p){S.skip=!0;continue}const C=this.getParsed(i),D=Ge(C[A]),L=S[M]=s.getPixelForValue(C[M],i),v=S[A]=n||D?a.getBasePixel():a.getPixelForValue(l?this.applyStack(a,C,l):C[A],i);S.skip=isNaN(L)||isNaN(v)||D,S.stop=i>0&&Math.abs(C[M]-f[M])>u,d&&(S.parsed=C,S.raw=r.data[i]),g&&(S.options=h||this.resolveDataElementOptions(i,c.active?"active":o)),m||this.updateElement(c,i,S,o),f=C}}getMaxOverflow(){const e=this._cachedMeta,t=e.dataset,i=t.options&&t.options.borderWidth||0,o=e.data||[];if(!o.length)return i;const n=o[0].size(this.resolveDataElementOptions(0)),s=o[o.length-1].size(this.resolveDataElementOptions(o.length-1));return Math.max(i,n,s)/2}draw(){const e=this._cachedMeta;e.dataset.updateControlPoints(this.chart.chartArea,e.iScale.axis),super.draw()}}ue(mn,"id","line"),ue(mn,"defaults",{datasetElementType:"line",dataElementType:"point",showLine:!0,spanGaps:!1}),ue(mn,"overrides",{scales:{_index_:{type:"category"},_value_:{type:"linear"}}});class pn extends nn{constructor(e,t){super(e,t),this.innerRadius=void 0,this.outerRadius=void 0}getLabelAndValue(e){const t=this._cachedMeta,i=this.chart,o=i.data.labels||[],n=Mi(t._parsed[e].r,i.options.locale);return{label:o[e]||"",value:n}}parseObjectData(e,t,i,o){return so.bind(this)(e,t,i,o)}update(e){const t=this._cachedMeta.data;this._updateRadius(),this.updateElements(t,0,t.length,e)}getMinMax(){const e=this._cachedMeta,t={min:Number.POSITIVE_INFINITY,max:Number.NEGATIVE_INFINITY};return e.data.forEach(((e,i)=>{const o=this.getParsed(i).r;!isNaN(o)&&this.chart.getDataVisibility(i)&&(o<t.min&&(t.min=o),o>t.max&&(t.max=o))})),t}_updateRadius(){const e=this.chart,t=e.chartArea,i=e.options,o=Math.min(t.right-t.left,t.bottom-t.top),n=Math.max(o/2,0),s=(n-Math.max(i.cutoutPercentage?n/100*i.cutoutPercentage:1,0))/e.getVisibleDatasetCount();this.outerRadius=n-s*this.index,this.innerRadius=this.outerRadius-s}updateElements(e,t,i,o){const n="reset"===o,s=this.chart,a=s.options.animation,l=this._cachedMeta.rScale,r=l.xCenter,h=l.yCenter,g=l.getIndexAngle(0)-.5*ft;let M,A=g;const c=360/this.countVisibleElements();for(M=0;M<t;++M)A+=this._computeAngle(M,o,c);for(M=t;M<t+i;M++){const t=e[M];let i=A,d=A+this._computeAngle(M,o,c),u=s.getDataVisibility(M)?l.getDistanceFromCenterForValue(this.getParsed(M).r):0;A=d,n&&(a.animateScale&&(u=0),a.animateRotate&&(i=d=g));const m={x:r,y:h,innerRadius:0,outerRadius:u,startAngle:i,endAngle:d,options:this.resolveDataElementOptions(M,t.active?"active":o)};this.updateElement(t,M,m,o)}}countVisibleElements(){const e=this._cachedMeta;let t=0;return e.data.forEach(((e,i)=>{!isNaN(this.getParsed(i).r)&&this.chart.getDataVisibility(i)&&t++})),t}_computeAngle(e,t,i){return this.chart.getDataVisibility(e)?Pt(this.resolveDataElementOptions(e,t).angle||i):0}}ue(pn,"id","polarArea"),ue(pn,"defaults",{dataElementType:"arc",animation:{animateRotate:!0,animateScale:!0},animations:{numbers:{type:"number",properties:["x","y","startAngle","endAngle","innerRadius","outerRadius"]}},indexAxis:"r",startAngle:0}),ue(pn,"overrides",{aspectRatio:1,plugins:{legend:{labels:{generateLabels(e){const t=e.data;if(t.labels.length&&t.datasets.length){const{labels:{pointStyle:i,color:o}}=e.legend.options;return t.labels.map(((t,n)=>{const s=e.getDatasetMeta(0).controller.getStyle(n);return{text:t,fillStyle:s.backgroundColor,strokeStyle:s.borderColor,fontColor:o,lineWidth:s.borderWidth,pointStyle:i,hidden:!e.getDataVisibility(n),index:n}}))}return[]}},onClick(e,t,i){i.chart.toggleDataVisibility(t.index),i.chart.update()}}},scales:{r:{type:"radialLinear",angleLines:{display:!1},beginAtZero:!0,grid:{circular:!0},pointLabels:{display:!1},startAngle:0}}});class Sn extends un{}ue(Sn,"id","pie"),ue(Sn,"defaults",{cutout:0,rotation:0,circumference:360,radius:"100%"});class fn extends nn{getLabelAndValue(e){const t=this._cachedMeta.vScale,i=this.getParsed(e);return{label:t.getLabels()[e],value:""+t.getLabelForValue(i[t.axis])}}parseObjectData(e,t,i,o){return so.bind(this)(e,t,i,o)}update(e){const t=this._cachedMeta,i=t.dataset,o=t.data||[],n=t.iScale.getLabels();if(i.points=o,"resize"!==e){const t=this.resolveDatasetElementOptions(e);this.options.showLine||(t.borderWidth=0);const s={_loop:!0,_fullLoop:n.length===o.length,options:t};this.updateElement(i,void 0,s,e)}this.updateElements(o,0,o.length,e)}updateElements(e,t,i,o){const n=this._cachedMeta.rScale,s="reset"===o;for(let a=t;a<t+i;a++){const t=e[a],i=this.resolveDataElementOptions(a,t.active?"active":o),l=n.getPointPositionForValue(a,this.getParsed(a).r),r=s?n.xCenter:l.x,h=s?n.yCenter:l.y,g={x:r,y:h,angle:l.angle,skip:isNaN(r)||isNaN(h),options:i};this.updateElement(t,a,g,o)}}}ue(fn,"id","radar"),ue(fn,"defaults",{datasetElementType:"line",dataElementType:"point",indexAxis:"r",showLine:!0,elements:{line:{fill:"start"}}}),ue(fn,"overrides",{aspectRatio:1,scales:{r:{type:"radialLinear"}}});class Cn extends nn{getLabelAndValue(e){const t=this._cachedMeta,i=this.chart.data.labels||[],{xScale:o,yScale:n}=t,s=this.getParsed(e),a=o.getLabelForValue(s.x),l=n.getLabelForValue(s.y);return{label:i[e]||"",value:"("+a+", "+l+")"}}update(e){const t=this._cachedMeta,{data:i=[]}=t,o=this.chart._animationsDisabled;let{start:n,count:s}=Qt(t,i,o);if(this._drawStart=n,this._drawCount=s,ei(t)&&(n=0,s=i.length),this.options.showLine){this.datasetElementType||this.addElements();const{dataset:n,_dataset:s}=t;n._chart=this.chart,n._datasetIndex=this.index,n._decimated=!!s._decimated,n.points=i;const a=this.resolveDatasetElementOptions(e);a.segment=this.options.segment,this.updateElement(n,void 0,{animated:!o,options:a},e)}else this.datasetElementType&&(delete t.dataset,this.datasetElementType=!1);this.updateElements(i,n,s,e)}addElements(){const{showLine:e}=this.options;!this.datasetElementType&&e&&(this.datasetElementType=this.chart.registry.getElement("line")),super.addElements()}updateElements(e,t,i,o){const n="reset"===o,{iScale:s,vScale:a,_stacked:l,_dataset:r}=this._cachedMeta,h=this.resolveDataElementOptions(t,o),g=this.getSharedOptions(h),M=this.includeOptions(o,g),A=s.axis,c=a.axis,{spanGaps:d,segment:u}=this.options,m=yt(d)?d:Number.POSITIVE_INFINITY,p=this.chart._animationsDisabled||n||"none"===o;let S=t>0&&this.getParsed(t-1);for(let h=t;h<t+i;++h){const t=e[h],i=this.getParsed(h),d=p?t:{},f=Ge(i[c]),C=d[A]=s.getPixelForValue(i[A],h),D=d[c]=n||f?a.getBasePixel():a.getPixelForValue(l?this.applyStack(a,i,l):i[c],h);d.skip=isNaN(C)||isNaN(D)||f,d.stop=h>0&&Math.abs(i[A]-S[A])>m,u&&(d.parsed=i,d.raw=r.data[h]),M&&(d.options=g||this.resolveDataElementOptions(h,t.active?"active":o)),p||this.updateElement(t,h,d,o),S=i}this.updateSharedOptions(g,o,h)}getMaxOverflow(){const e=this._cachedMeta,t=e.data||[];if(!this.options.showLine){let e=0;for(let i=t.length-1;i>=0;--i)e=Math.max(e,t[i].size(this.resolveDataElementOptions(i))/2);return e>0&&e}const i=e.dataset,o=i.options&&i.options.borderWidth||0;if(!t.length)return o;const n=t[0].size(this.resolveDataElementOptions(0)),s=t[t.length-1].size(this.resolveDataElementOptions(t.length-1));return Math.max(o,n,s)/2}}ue(Cn,"id","scatter"),ue(Cn,"defaults",{datasetElementType:!1,dataElementType:"point",showLine:!1,fill:!1}),ue(Cn,"overrides",{interaction:{mode:"point"},scales:{x:{type:"linear"},y:{type:"linear"}}});var Dn=Object.freeze({__proto__:null,BarController:cn,BubbleController:dn,DoughnutController:un,LineController:mn,PieController:Sn,PolarAreaController:pn,RadarController:fn,ScatterController:Cn});function Ln(){throw new Error("This method is not implemented: Check that a complete date adapter is provided.")}class vn{static override(e){Object.assign(vn.prototype,e)}constructor(e){ue(this,"options",void 0),this.options=e||{}}init(){}formats(){return Ln()}parse(){return Ln()}format(){return Ln()}add(){return Ln()}diff(){return Ln()}startOf(){return Ln()}endOf(){return Ln()}}var wn=vn;function bn(e,t,i,o){const{controller:n,data:s,_sorted:a}=e,l=n._cachedMeta.iScale;if(l&&t===l.axis&&"r"!==t&&a&&s.length){const e=l._reversePixels?Ut:jt;if(!o)return e(s,t,i);if(n._sharedOptions){const o=s[0],n="function"==typeof o.getRange&&o.getRange(t);if(n){const o=e(s,t,i-n),a=e(s,t,i+n);return{lo:o.lo,hi:a.hi}}}}return{lo:0,hi:s.length-1}}function xn(e,t,i,o,n){const s=e.getSortedVisibleDatasetMetas(),a=i[t];for(let e=0,i=s.length;e<i;++e){const{index:i,data:l}=s[e],{lo:r,hi:h}=bn(s[e],t,a,n);for(let e=r;e<=h;++e){const t=l[e];t.skip||o(t,i,e)}}}function Rn(e,t,i,o,n){const s=[];if(!n&&!e.isPointInArea(t))return s;return xn(e,i,t,(function(i,a,l){(n||xi(i,e.chartArea,0))&&i.inRange(t.x,t.y,o)&&s.push({element:i,datasetIndex:a,index:l})}),!0),s}function In(e,t,i,o,n,s){let a=[];const l=function(e){const t=-1!==e.indexOf("x"),i=-1!==e.indexOf("y");return function(e,o){const n=t?Math.abs(e.x-o.x):0,s=i?Math.abs(e.y-o.y):0;return Math.sqrt(Math.pow(n,2)+Math.pow(s,2))}}(i);let r=Number.POSITIVE_INFINITY;return xn(e,i,t,(function(i,h,g){const M=i.inRange(t.x,t.y,n);if(o&&!M)return;const A=i.getCenterPoint(n);if(!(!!s||e.isPointInArea(A))&&!M)return;const c=l(t,A);c<r?(a=[{element:i,datasetIndex:h,index:g}],r=c):c===r&&a.push({element:i,datasetIndex:h,index:g})})),a}function Hn(e,t,i,o,n,s){return s||e.isPointInArea(t)?"r"!==i||o?In(e,t,i,o,n,s):function(e,t,i,o){let n=[];return xn(e,i,t,(function(e,i,s){const{startAngle:a,endAngle:l}=e.getProps(["startAngle","endAngle"],o),{angle:r}=Tt(e,{x:t.x,y:t.y});Nt(r,a,l)&&n.push({element:e,datasetIndex:i,index:s})})),n}(e,t,i,n):[]}function _n(e,t,i,o,n){const s=[],a="x"===i?"inXRange":"inYRange";let l=!1;return xn(e,i,t,((e,o,r)=>{e[a]&&e[a](t[i],n)&&(s.push({element:e,datasetIndex:o,index:r}),l=l||e.inRange(t.x,t.y,n))})),o&&!l?[]:s}var yn={evaluateInteractionItems:xn,modes:{index(e,t,i,o){const n=Do(t,e),s=i.axis||"x",a=i.includeInvisible||!1,l=i.intersect?Rn(e,n,s,o,a):Hn(e,n,s,!1,o,a),r=[];return l.length?(e.getSortedVisibleDatasetMetas().forEach((e=>{const t=l[0].index,i=e.data[t];i&&!i.skip&&r.push({element:i,datasetIndex:e.index,index:t})})),r):[]},dataset(e,t,i,o){const n=Do(t,e),s=i.axis||"xy",a=i.includeInvisible||!1;let l=i.intersect?Rn(e,n,s,o,a):Hn(e,n,s,!1,o,a);if(l.length>0){const t=l[0].datasetIndex,i=e.getDatasetMeta(t).data;l=[];for(let e=0;e<i.length;++e)l.push({element:i[e],datasetIndex:t,index:e})}return l},point:(e,t,i,o)=>Rn(e,Do(t,e),i.axis||"xy",o,i.includeInvisible||!1),nearest(e,t,i,o){const n=Do(t,e),s=i.axis||"xy",a=i.includeInvisible||!1;return Hn(e,n,s,i.intersect,o,a)},x:(e,t,i,o)=>_n(e,Do(t,e),"x",i.intersect,o),y:(e,t,i,o)=>_n(e,Do(t,e),"y",i.intersect,o)}};const kn=["left","top","right","bottom"];function Pn(e,t){return e.filter((e=>e.pos===t))}function On(e,t){return e.filter((e=>-1===kn.indexOf(e.pos)&&e.box.axis===t))}function En(e,t){return e.sort(((e,i)=>{const o=t?i:e,n=t?e:i;return o.weight===n.weight?o.index-n.index:o.weight-n.weight}))}function Tn(e,t){const i=function(e){const t={};for(const i of e){const{stack:e,pos:o,stackWeight:n}=i;if(!e||!kn.includes(o))continue;const s=t[e]||(t[e]={count:0,placed:0,weight:0,size:0});s.count++,s.weight+=n}return t}(e),{vBoxMaxWidth:o,hBoxMaxHeight:n}=t;let s,a,l;for(s=0,a=e.length;s<a;++s){l=e[s];const{fullSize:a}=l.box,r=i[l.stack],h=r&&l.stackWeight/r.weight;l.horizontal?(l.width=h?h*o:a&&t.availableWidth,l.height=n):(l.width=o,l.height=h?h*n:a&&t.availableHeight)}return i}function zn(e,t,i,o){return Math.max(e[i],t[i])+Math.max(e[o],t[o])}function $n(e,t){e.top=Math.max(e.top,t.top),e.left=Math.max(e.left,t.left),e.bottom=Math.max(e.bottom,t.bottom),e.right=Math.max(e.right,t.right)}function Fn(e,t,i,o){const{pos:n,box:s}=i,a=e.maxPadding;if(!Qe(n)){i.size&&(e[n]-=i.size);const t=o[i.stack]||{size:0,count:1};t.size=Math.max(t.size,i.horizontal?s.height:s.width),i.size=t.size/t.count,e[n]+=i.size}s.getPadding&&$n(a,s.getPadding());const l=Math.max(0,t.outerWidth-zn(a,e,"left","right")),r=Math.max(0,t.outerHeight-zn(a,e,"top","bottom")),h=l!==e.w,g=r!==e.h;return e.w=l,e.h=r,i.horizontal?{same:h,other:g}:{same:g,other:h}}function Nn(e,t){const i=t.maxPadding;function o(e){const o={left:0,top:0,right:0,bottom:0};return e.forEach((e=>{o[e]=Math.max(t[e],i[e])})),o}return o(e?["left","right"]:["top","bottom"])}function Vn(e,t,i,o){const n=[];let s,a,l,r,h,g;for(s=0,a=e.length,h=0;s<a;++s){l=e[s],r=l.box,r.update(l.width||t.w,l.height||t.h,Nn(l.horizontal,t));const{same:a,other:M}=Fn(t,i,l,o);h|=a&&n.length,g=g||M,r.fullSize||n.push(l)}return h&&Vn(n,t,i,o)||g}function Bn(e,t,i,o,n){e.top=i,e.left=t,e.right=t+o,e.bottom=i+n,e.width=o,e.height=n}function Wn(e,t,i,o){const n=i.padding;let{x:s,y:a}=t;for(const l of e){const e=l.box,r=o[l.stack]||{count:1,placed:0,weight:1},h=l.stackWeight/r.weight||1;if(l.horizontal){const o=t.w*h,s=r.size||e.height;mt(r.start)&&(a=r.start),e.fullSize?Bn(e,n.left,a,i.outerWidth-n.right-n.left,s):Bn(e,t.left+r.placed,a,o,s),r.start=a,r.placed+=o,a=e.bottom}else{const o=t.h*h,a=r.size||e.width;mt(r.start)&&(s=r.start),e.fullSize?Bn(e,s,n.top,a,i.outerHeight-n.bottom-n.top):Bn(e,s,t.top+r.placed,a,o),r.start=s,r.placed+=o,s=e.right}}t.x=s,t.y=a}var jn={addBox(e,t){e.boxes||(e.boxes=[]),t.fullSize=t.fullSize||!1,t.position=t.position||"top",t.weight=t.weight||0,t._layers=t._layers||function(){return[{z:0,draw(e){t.draw(e)}}]},e.boxes.push(t)},removeBox(e,t){const i=e.boxes?e.boxes.indexOf(t):-1;-1!==i&&e.boxes.splice(i,1)},configure(e,t,i){t.fullSize=i.fullSize,t.position=i.position,t.weight=i.weight},update(e,t,i,o){if(!e)return;const n=Bi(e.options.layout.padding),s=Math.max(t-n.width,0),a=Math.max(i-n.height,0),l=function(e){const t=function(e){const t=[];let i,o,n,s,a,l;for(i=0,o=(e||[]).length;i<o;++i)n=e[i],({position:s,options:{stack:a,stackWeight:l=1}}=n),t.push({index:i,box:n,pos:s,horizontal:n.isHorizontal(),weight:n.weight,stack:a&&s+a,stackWeight:l});return t}(e),i=En(t.filter((e=>e.box.fullSize)),!0),o=En(Pn(t,"left"),!0),n=En(Pn(t,"right")),s=En(Pn(t,"top"),!0),a=En(Pn(t,"bottom")),l=On(t,"x"),r=On(t,"y");return{fullSize:i,leftAndTop:o.concat(s),rightAndBottom:n.concat(r).concat(a).concat(l),chartArea:Pn(t,"chartArea"),vertical:o.concat(n).concat(r),horizontal:s.concat(a).concat(l)}}(e.boxes),r=l.vertical,h=l.horizontal;st(e.boxes,(e=>{"function"==typeof e.beforeLayout&&e.beforeLayout()}));const g=r.reduce(((e,t)=>t.box.options&&!1===t.box.options.display?e:e+1),0)||1,M=Object.freeze({outerWidth:t,outerHeight:i,padding:n,availableWidth:s,availableHeight:a,vBoxMaxWidth:s/2/g,hBoxMaxHeight:a/2}),A=Object.assign({},n);$n(A,Bi(o));const c=Object.assign({maxPadding:A,w:s,h:a,x:n.left,y:n.top},n),d=Tn(r.concat(h),M);Vn(l.fullSize,c,M,d),Vn(r,c,M,d),Vn(h,c,M,d)&&Vn(r,c,M,d),function(e){const t=e.maxPadding;function i(i){const o=Math.max(t[i]-e[i],0);return e[i]+=o,o}e.y+=i("top"),e.x+=i("left"),i("right"),i("bottom")}(c),Wn(l.leftAndTop,c,M,d),c.x+=c.w,c.y+=c.h,Wn(l.rightAndBottom,c,M,d),e.chartArea={left:c.left,top:c.top,right:c.left+c.w,bottom:c.top+c.h,height:c.h,width:c.w},st(l.chartArea,(t=>{const i=t.box;Object.assign(i,e.chartArea),i.update(c.w,c.h,{left:0,top:0,right:0,bottom:0})}))}};class Un{acquireContext(e,t){}releaseContext(e){return!1}addEventListener(e,t,i){}removeEventListener(e,t,i){}getDevicePixelRatio(){return 1}getMaximumSize(e,t,i,o){return t=Math.max(0,t||e.width),i=i||e.height,{width:t,height:Math.max(0,o?Math.floor(t/o):i)}}isAttached(e){return!0}updateConfig(e){}}class Yn extends Un{acquireContext(e){return e&&e.getContext&&e.getContext("2d")||null}updateConfig(e){e.options.animation=!1}}const Xn="$chartjs",qn={touchstart:"mousedown",touchmove:"mousemove",touchend:"mouseup",pointerenter:"mouseenter",pointerdown:"mousedown",pointermove:"mousemove",pointerup:"mouseup",pointerleave:"mouseout",pointerout:"mouseout"},Kn=e=>null===e||""===e;const Zn=!!bo&&{passive:!0};function Gn(e,t,i){e&&e.canvas&&e.canvas.removeEventListener(t,i,Zn)}function Jn(e,t){for(const i of e)if(i===t||i.contains(t))return!0}function Qn(e,t,i){const o=e.canvas,n=new MutationObserver((e=>{let t=!1;for(const i of e)t=t||Jn(i.addedNodes,o),t=t&&!Jn(i.removedNodes,o);t&&i()}));return n.observe(document,{childList:!0,subtree:!0}),n}function es(e,t,i){const o=e.canvas,n=new MutationObserver((e=>{let t=!1;for(const i of e)t=t||Jn(i.removedNodes,o),t=t&&!Jn(i.addedNodes,o);t&&i()}));return n.observe(document,{childList:!0,subtree:!0}),n}const ts=new Map;let is=0;function os(){const e=window.devicePixelRatio;e!==is&&(is=e,ts.forEach(((t,i)=>{i.currentDevicePixelRatio!==e&&t()})))}function ns(e,t,i){const o=e.canvas,n=o&&uo(o);if(!n)return;const s=Zt(((e,t)=>{const o=n.clientWidth;i(e,t),o<n.clientWidth&&i()}),window),a=new ResizeObserver((e=>{const t=e[0],i=t.contentRect.width,o=t.contentRect.height;0===i&&0===o||s(i,o)}));return a.observe(n),function(e,t){ts.size||window.addEventListener("resize",os),ts.set(e,t)}(e,s),a}function ss(e,t,i){i&&i.disconnect(),"resize"===t&&function(e){ts.delete(e),ts.size||window.removeEventListener("resize",os)}(e)}function as(e,t,i){const o=e.canvas,n=Zt((t=>{null!==e.ctx&&i(function(e,t){const i=qn[e.type]||e.type,{x:o,y:n}=Do(e,t);return{type:i,chart:t,native:e,x:void 0!==o?o:null,y:void 0!==n?n:null}}(t,e))}),e);return function(e,t,i){e&&e.addEventListener(t,i,Zn)}(o,t,n),n}class ls extends Un{acquireContext(e,t){const i=e&&e.getContext&&e.getContext("2d");return i&&i.canvas===e?(function(e,t){const i=e.style,o=e.getAttribute("height"),n=e.getAttribute("width");if(e[Xn]={initial:{height:o,width:n,style:{display:i.display,height:i.height,width:i.width}}},i.display=i.display||"block",i.boxSizing=i.boxSizing||"border-box",Kn(n)){const t=xo(e,"width");void 0!==t&&(e.width=t)}if(Kn(o))if(""===e.style.height)e.height=e.width/(t||2);else{const t=xo(e,"height");void 0!==t&&(e.height=t)}}(e,t),i):null}releaseContext(e){const t=e.canvas;if(!t[Xn])return!1;const i=t[Xn].initial;["height","width"].forEach((e=>{const o=i[e];Ge(o)?t.removeAttribute(e):t.setAttribute(e,o)}));const o=i.style||{};return Object.keys(o).forEach((e=>{t.style[e]=o[e]})),t.width=t.width,delete t[Xn],!0}addEventListener(e,t,i){this.removeEventListener(e,t);const o=e.$proxies||(e.$proxies={}),n={attach:Qn,detach:es,resize:ns}[t]||as;o[t]=n(e,t,i)}removeEventListener(e,t){const i=e.$proxies||(e.$proxies={}),o=i[t];if(!o)return;({attach:ss,detach:ss,resize:ss}[t]||Gn)(e,t,o),i[t]=void 0}getDevicePixelRatio(){return window.devicePixelRatio}getMaximumSize(e,t,i,o){return vo(e,t,i,o)}isAttached(e){const t=e&&uo(e);return!(!t||!t.isConnected)}}class rs{constructor(){ue(this,"x",void 0),ue(this,"y",void 0),ue(this,"active",!1),ue(this,"options",void 0),ue(this,"$animations",void 0)}tooltipPosition(e){const{x:t,y:i}=this.getProps(["x","y"],e);return{x:t,y:i}}hasValue(){return yt(this.x)&&yt(this.y)}getProps(e,t){const i=this.$animations;if(!t||!i)return this;const o={};return e.forEach((e=>{o[e]=i[e]&&i[e].active()?i[e]._to:this[e]})),o}}function hs(e,t){const i=e.options.ticks,o=function(e){const t=e.options.offset,i=e._tickSize(),o=e._length/i+(t?0:1),n=e._maxLength/i;return Math.floor(Math.min(o,n))}(e),n=Math.min(i.maxTicksLimit||o,o),s=i.major.enabled?function(e){const t=[];let i,o;for(i=0,o=e.length;i<o;i++)e[i].major&&t.push(i);return t}(t):[],a=s.length,l=s[0],r=s[a-1],h=[];if(a>n)return function(e,t,i,o){let n,s=0,a=i[0];for(o=Math.ceil(o),n=0;n<e.length;n++)n===a&&(t.push(e[n]),s++,a=i[s*o])}(t,h,s,a/n),h;const g=function(e,t,i){const o=function(e){const t=e.length;let i,o;if(t<2)return!1;for(o=e[0],i=1;i<t;++i)if(e[i]-e[i-1]!==o)return!1;return o}(e),n=t.length/i;if(!o)return Math.max(n,1);const s=function(e){const t=[],i=Math.sqrt(e);let o;for(o=1;o<i;o++)e%o==0&&(t.push(o),t.push(e/o));return i===(0|i)&&t.push(i),t.sort(((e,t)=>e-t)).pop(),t}(o);for(let e=0,t=s.length-1;e<t;e++){const t=s[e];if(t>n)return t}return Math.max(n,1)}(s,t,n);if(a>0){let e,i;const o=a>1?Math.round((r-l)/(a-1)):null;for(gs(t,h,g,Ge(o)?0:l-o,l),e=0,i=a-1;e<i;e++)gs(t,h,g,s[e],s[e+1]);return gs(t,h,g,r,Ge(o)?t.length:r+o),h}return gs(t,h,g),h}function gs(e,t,i,o,n){const s=it(o,0),a=Math.min(it(n,e.length),e.length);let l,r,h,g=0;for(i=Math.ceil(i),n&&(l=n-o,i=l/Math.floor(l/i)),h=s;h<0;)g++,h=Math.round(s+g*i);for(r=Math.max(s,0);r<a;r++)r===h&&(t.push(e[r]),g++,h=Math.round(s+g*i))}ue(rs,"defaults",{}),ue(rs,"defaultRoutes",void 0);const Ms=(e,t,i)=>"top"===t||"left"===t?e[t]+i:e[t]-i,As=(e,t)=>Math.min(t||e,e);function cs(e,t){const i=[],o=e.length/t,n=e.length;let s=0;for(;s<n;s+=o)i.push(e[Math.floor(s)]);return i}function ds(e,t,i){const o=e.ticks.length,n=Math.min(t,o-1),s=e._startPixel,a=e._endPixel,l=1e-6;let r,h=e.getPixelForTick(n);if(!(i&&(r=1===o?Math.max(h-s,a-h):0===t?(e.getPixelForTick(1)-h)/2:(h-e.getPixelForTick(n-1))/2,h+=n<t?r:-r,h<s-l||h>a+l)))return h}function us(e){return e.drawTicks?e.tickLength:0}function ms(e,t){if(!e.display)return 0;const i=Wi(e.font,t),o=Bi(e.padding);return(Je(e.text)?e.text.length:1)*i.lineHeight+o.height}function ps(e,t,i){let o=Gt(e);return(i&&"right"!==t||!i&&"right"===t)&&(o=(e=>"left"===e?"right":"right"===e?"left":e)(o)),o}class Ss extends rs{constructor(e){super(),this.id=e.id,this.type=e.type,this.options=void 0,this.ctx=e.ctx,this.chart=e.chart,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.width=void 0,this.height=void 0,this._margins={left:0,right:0,top:0,bottom:0},this.maxWidth=void 0,this.maxHeight=void 0,this.paddingTop=void 0,this.paddingBottom=void 0,this.paddingLeft=void 0,this.paddingRight=void 0,this.axis=void 0,this.labelRotation=void 0,this.min=void 0,this.max=void 0,this._range=void 0,this.ticks=[],this._gridLineItems=null,this._labelItems=null,this._labelSizes=null,this._length=0,this._maxLength=0,this._longestTextCache={},this._startPixel=void 0,this._endPixel=void 0,this._reversePixels=!1,this._userMax=void 0,this._userMin=void 0,this._suggestedMax=void 0,this._suggestedMin=void 0,this._ticksLength=0,this._borderValue=0,this._cache={},this._dataLimitsCached=!1,this.$context=void 0}init(e){this.options=e.setContext(this.getContext()),this.axis=e.axis,this._userMin=this.parse(e.min),this._userMax=this.parse(e.max),this._suggestedMin=this.parse(e.suggestedMin),this._suggestedMax=this.parse(e.suggestedMax)}parse(e,t){return e}getUserBounds(){let{_userMin:e,_userMax:t,_suggestedMin:i,_suggestedMax:o}=this;return e=tt(e,Number.POSITIVE_INFINITY),t=tt(t,Number.NEGATIVE_INFINITY),i=tt(i,Number.POSITIVE_INFINITY),o=tt(o,Number.NEGATIVE_INFINITY),{min:tt(e,i),max:tt(t,o),minDefined:et(e),maxDefined:et(t)}}getMinMax(e){let t,{min:i,max:o,minDefined:n,maxDefined:s}=this.getUserBounds();if(n&&s)return{min:i,max:o};const a=this.getMatchingVisibleMetas();for(let l=0,r=a.length;l<r;++l)t=a[l].controller.getMinMax(this,e),n||(i=Math.min(i,t.min)),s||(o=Math.max(o,t.max));return i=s&&i>o?o:i,o=n&&i>o?i:o,{min:tt(i,tt(o,i)),max:tt(o,tt(i,o))}}getPadding(){return{left:this.paddingLeft||0,top:this.paddingTop||0,right:this.paddingRight||0,bottom:this.paddingBottom||0}}getTicks(){return this.ticks}getLabels(){const e=this.chart.data;return this.options.labels||(this.isHorizontal()?e.xLabels:e.yLabels)||e.labels||[]}getLabelItems(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.chart.chartArea;return this._labelItems||(this._labelItems=this._computeLabelItems(e))}beforeLayout(){this._cache={},this._dataLimitsCached=!1}beforeUpdate(){nt(this.options.beforeUpdate,[this])}update(e,t,i){const{beginAtZero:o,grace:n,ticks:s}=this.options,a=s.sampleSize;this.beforeUpdate(),this.maxWidth=e,this.maxHeight=t,this._margins=i=Object.assign({left:0,right:0,top:0,bottom:0},i),this.ticks=null,this._labelSizes=null,this._gridLineItems=null,this._labelItems=null,this.beforeSetDimensions(),this.setDimensions(),this.afterSetDimensions(),this._maxLength=this.isHorizontal()?this.width+i.left+i.right:this.height+i.top+i.bottom,this._dataLimitsCached||(this.beforeDataLimits(),this.determineDataLimits(),this.afterDataLimits(),this._range=function(e,t,i){const{min:o,max:n}=e,s=ot(t,(n-o)/2),a=(e,t)=>i&&0===e?0:e+t;return{min:a(o,-Math.abs(s)),max:a(n,s)}}(this,n,o),this._dataLimitsCached=!0),this.beforeBuildTicks(),this.ticks=this.buildTicks()||[],this.afterBuildTicks();const l=a<this.ticks.length;this._convertTicksToLabels(l?cs(this.ticks,a):this.ticks),this.configure(),this.beforeCalculateLabelRotation(),this.calculateLabelRotation(),this.afterCalculateLabelRotation(),s.display&&(s.autoSkip||"auto"===s.source)&&(this.ticks=hs(this,this.ticks),this._labelSizes=null,this.afterAutoSkip()),l&&this._convertTicksToLabels(this.ticks),this.beforeFit(),this.fit(),this.afterFit(),this.afterUpdate()}configure(){let e,t,i=this.options.reverse;this.isHorizontal()?(e=this.left,t=this.right):(e=this.top,t=this.bottom,i=!i),this._startPixel=e,this._endPixel=t,this._reversePixels=i,this._length=t-e,this._alignToPixels=this.options.alignToPixels}afterUpdate(){nt(this.options.afterUpdate,[this])}beforeSetDimensions(){nt(this.options.beforeSetDimensions,[this])}setDimensions(){this.isHorizontal()?(this.width=this.maxWidth,this.left=0,this.right=this.width):(this.height=this.maxHeight,this.top=0,this.bottom=this.height),this.paddingLeft=0,this.paddingTop=0,this.paddingRight=0,this.paddingBottom=0}afterSetDimensions(){nt(this.options.afterSetDimensions,[this])}_callHooks(e){this.chart.notifyPlugins(e,this.getContext()),nt(this.options[e],[this])}beforeDataLimits(){this._callHooks("beforeDataLimits")}determineDataLimits(){}afterDataLimits(){this._callHooks("afterDataLimits")}beforeBuildTicks(){this._callHooks("beforeBuildTicks")}buildTicks(){return[]}afterBuildTicks(){this._callHooks("afterBuildTicks")}beforeTickToLabelConversion(){nt(this.options.beforeTickToLabelConversion,[this])}generateTickLabels(e){const t=this.options.ticks;let i,o,n;for(i=0,o=e.length;i<o;i++)n=e[i],n.label=nt(t.callback,[n.value,i,e],this)}afterTickToLabelConversion(){nt(this.options.afterTickToLabelConversion,[this])}beforeCalculateLabelRotation(){nt(this.options.beforeCalculateLabelRotation,[this])}calculateLabelRotation(){const e=this.options,t=e.ticks,i=As(this.ticks.length,e.ticks.maxTicksLimit),o=t.minRotation||0,n=t.maxRotation;let s,a,l,r=o;if(!this._isVisible()||!t.display||o>=n||i<=1||!this.isHorizontal())return void(this.labelRotation=o);const h=this._getLabelSizes(),g=h.widest.width,M=h.highest.height,A=Vt(this.chart.width-g,0,this.maxWidth);s=e.offset?this.maxWidth/i:A/(i-1),g+6>s&&(s=A/(i-(e.offset?.5:1)),a=this.maxHeight-us(e.grid)-t.padding-ms(e.title,this.chart.options.font),l=Math.sqrt(g*g+M*M),r=Ot(Math.min(Math.asin(Vt((h.highest.height+6)/s,-1,1)),Math.asin(Vt(a/l,-1,1))-Math.asin(Vt(M/l,-1,1)))),r=Math.max(o,Math.min(n,r))),this.labelRotation=r}afterCalculateLabelRotation(){nt(this.options.afterCalculateLabelRotation,[this])}afterAutoSkip(){}beforeFit(){nt(this.options.beforeFit,[this])}fit(){const e={width:0,height:0},{chart:t,options:{ticks:i,title:o,grid:n}}=this,s=this._isVisible(),a=this.isHorizontal();if(s){const s=ms(o,t.options.font);if(a?(e.width=this.maxWidth,e.height=us(n)+s):(e.height=this.maxHeight,e.width=us(n)+s),i.display&&this.ticks.length){const{first:t,last:o,widest:n,highest:s}=this._getLabelSizes(),l=2*i.padding,r=Pt(this.labelRotation),h=Math.cos(r),g=Math.sin(r);if(a){const t=i.mirror?0:g*n.width+h*s.height;e.height=Math.min(this.maxHeight,e.height+t+l)}else{const t=i.mirror?0:h*n.width+g*s.height;e.width=Math.min(this.maxWidth,e.width+t+l)}this._calculatePadding(t,o,g,h)}}this._handleMargins(),a?(this.width=this._length=t.width-this._margins.left-this._margins.right,this.height=e.height):(this.width=e.width,this.height=this._length=t.height-this._margins.top-this._margins.bottom)}_calculatePadding(e,t,i,o){const{ticks:{align:n,padding:s},position:a}=this.options,l=0!==this.labelRotation,r="top"!==a&&"x"===this.axis;if(this.isHorizontal()){const a=this.getPixelForTick(0)-this.left,h=this.right-this.getPixelForTick(this.ticks.length-1);let g=0,M=0;l?r?(g=o*e.width,M=i*t.height):(g=i*e.height,M=o*t.width):"start"===n?M=t.width:"end"===n?g=e.width:"inner"!==n&&(g=e.width/2,M=t.width/2),this.paddingLeft=Math.max((g-a+s)*this.width/(this.width-a),0),this.paddingRight=Math.max((M-h+s)*this.width/(this.width-h),0)}else{let i=t.height/2,o=e.height/2;"start"===n?(i=0,o=e.height):"end"===n&&(i=t.height,o=0),this.paddingTop=i+s,this.paddingBottom=o+s}}_handleMargins(){this._margins&&(this._margins.left=Math.max(this.paddingLeft,this._margins.left),this._margins.top=Math.max(this.paddingTop,this._margins.top),this._margins.right=Math.max(this.paddingRight,this._margins.right),this._margins.bottom=Math.max(this.paddingBottom,this._margins.bottom))}afterFit(){nt(this.options.afterFit,[this])}isHorizontal(){const{axis:e,position:t}=this.options;return"top"===t||"bottom"===t||"x"===e}isFullSize(){return this.options.fullSize}_convertTicksToLabels(e){let t,i;for(this.beforeTickToLabelConversion(),this.generateTickLabels(e),t=0,i=e.length;t<i;t++)Ge(e[t].label)&&(e.splice(t,1),i--,t--);this.afterTickToLabelConversion()}_getLabelSizes(){let e=this._labelSizes;if(!e){const t=this.options.ticks.sampleSize;let i=this.ticks;t<i.length&&(i=cs(i,t)),this._labelSizes=e=this._computeLabelSizes(i,i.length,this.options.ticks.maxTicksLimit)}return e}_computeLabelSizes(e,t,i){const{ctx:o,_longestTextCache:n}=this,s=[],a=[],l=Math.floor(t/As(t,i));let r,h,g,M,A,c,d,u,m,p,S,f=0,C=0;for(r=0;r<t;r+=l){if(M=e[r].label,A=this._resolveTickFontOptions(r),o.font=c=A.string,d=n[c]=n[c]||{data:{},gc:[]},u=A.lineHeight,m=p=0,Ge(M)||Je(M)){if(Je(M))for(h=0,g=M.length;h<g;++h)S=M[h],Ge(S)||Je(S)||(m=Ci(o,d.data,d.gc,m,S),p+=u)}else m=Ci(o,d.data,d.gc,m,M),p=u;s.push(m),a.push(p),f=Math.max(m,f),C=Math.max(p,C)}!function(e,t){st(e,(e=>{const i=e.gc,o=i.length/2;let n;if(o>t){for(n=0;n<o;++n)delete e.data[i[n]];i.splice(0,o)}}))}(n,t);const D=s.indexOf(f),L=a.indexOf(C),v=e=>({width:s[e]||0,height:a[e]||0});return{first:v(0),last:v(t-1),widest:v(D),highest:v(L),widths:s,heights:a}}getLabelForValue(e){return e}getPixelForValue(e,t){return NaN}getValueForPixel(e){}getPixelForTick(e){const t=this.ticks;return e<0||e>t.length-1?null:this.getPixelForValue(t[e].value)}getPixelForDecimal(e){this._reversePixels&&(e=1-e);const t=this._startPixel+e*this._length;return Vt(this._alignToPixels?Li(this.chart,t,0):t,-32768,32767)}getDecimalForPixel(e){const t=(e-this._startPixel)/this._length;return this._reversePixels?1-t:t}getBasePixel(){return this.getPixelForValue(this.getBaseValue())}getBaseValue(){const{min:e,max:t}=this;return e<0&&t<0?t:e>0&&t>0?e:0}getContext(e){const t=this.ticks||[];if(e>=0&&e<t.length){const i=t[e];return i.$context||(i.$context=function(e,t,i){return Ui(e,{tick:i,index:t,type:"tick"})}(this.getContext(),e,i))}return this.$context||(this.$context=Ui(this.chart.getContext(),{scale:this,type:"scale"}))}_tickSize(){const e=this.options.ticks,t=Pt(this.labelRotation),i=Math.abs(Math.cos(t)),o=Math.abs(Math.sin(t)),n=this._getLabelSizes(),s=e.autoSkipPadding||0,a=n?n.widest.width+s:0,l=n?n.highest.height+s:0;return this.isHorizontal()?l*i>a*o?a/i:l/o:l*o<a*i?l/i:a/o}_isVisible(){const e=this.options.display;return"auto"!==e?!!e:this.getMatchingVisibleMetas().length>0}_computeGridLineItems(e){const t=this.axis,i=this.chart,o=this.options,{grid:n,position:s,border:a}=o,l=n.offset,r=this.isHorizontal(),h=this.ticks.length+(l?1:0),g=us(n),M=[],A=a.setContext(this.getContext()),c=A.display?A.width:0,d=c/2,u=function(e){return Li(i,e,c)};let m,p,S,f,C,D,L,v,w,b,x,R;if("top"===s)m=u(this.bottom),D=this.bottom-g,v=m-d,b=u(e.top)+d,R=e.bottom;else if("bottom"===s)m=u(this.top),b=e.top,R=u(e.bottom)-d,D=m+d,v=this.top+g;else if("left"===s)m=u(this.right),C=this.right-g,L=m-d,w=u(e.left)+d,x=e.right;else if("right"===s)m=u(this.left),w=e.left,x=u(e.right)-d,C=m+d,L=this.left+g;else if("x"===t){if("center"===s)m=u((e.top+e.bottom)/2+.5);else if(Qe(s)){const e=Object.keys(s)[0],t=s[e];m=u(this.chart.scales[e].getPixelForValue(t))}b=e.top,R=e.bottom,D=m+d,v=D+g}else if("y"===t){if("center"===s)m=u((e.left+e.right)/2);else if(Qe(s)){const e=Object.keys(s)[0],t=s[e];m=u(this.chart.scales[e].getPixelForValue(t))}C=m-d,L=C-g,w=e.left,x=e.right}const I=it(o.ticks.maxTicksLimit,h),H=Math.max(1,Math.ceil(h/I));for(p=0;p<h;p+=H){const e=this.getContext(p),t=n.setContext(e),o=a.setContext(e),s=t.lineWidth,h=t.color,g=o.dash||[],A=o.dashOffset,c=t.tickWidth,d=t.tickColor,u=t.tickBorderDash||[],m=t.tickBorderDashOffset;S=ds(this,p,l),void 0!==S&&(f=Li(i,S,s),r?C=L=w=x=f:D=v=b=R=f,M.push({tx1:C,ty1:D,tx2:L,ty2:v,x1:w,y1:b,x2:x,y2:R,width:s,color:h,borderDash:g,borderDashOffset:A,tickWidth:c,tickColor:d,tickBorderDash:u,tickBorderDashOffset:m}))}return this._ticksLength=h,this._borderValue=m,M}_computeLabelItems(e){const t=this.axis,i=this.options,{position:o,ticks:n}=i,s=this.isHorizontal(),a=this.ticks,{align:l,crossAlign:r,padding:h,mirror:g}=n,M=us(i.grid),A=M+h,c=g?-h:A,d=-Pt(this.labelRotation),u=[];let m,p,S,f,C,D,L,v,w,b,x,R,I="middle";if("top"===o)D=this.bottom-c,L=this._getXAxisLabelAlignment();else if("bottom"===o)D=this.top+c,L=this._getXAxisLabelAlignment();else if("left"===o){const e=this._getYAxisLabelAlignment(M);L=e.textAlign,C=e.x}else if("right"===o){const e=this._getYAxisLabelAlignment(M);L=e.textAlign,C=e.x}else if("x"===t){if("center"===o)D=(e.top+e.bottom)/2+A;else if(Qe(o)){const e=Object.keys(o)[0],t=o[e];D=this.chart.scales[e].getPixelForValue(t)+A}L=this._getXAxisLabelAlignment()}else if("y"===t){if("center"===o)C=(e.left+e.right)/2-A;else if(Qe(o)){const e=Object.keys(o)[0],t=o[e];C=this.chart.scales[e].getPixelForValue(t)}L=this._getYAxisLabelAlignment(M).textAlign}"y"===t&&("start"===l?I="top":"end"===l&&(I="bottom"));const H=this._getLabelSizes();for(m=0,p=a.length;m<p;++m){S=a[m],f=S.label;const e=n.setContext(this.getContext(m));v=this.getPixelForTick(m)+n.labelOffset,w=this._resolveTickFontOptions(m),b=w.lineHeight,x=Je(f)?f.length:1;const t=x/2,i=e.color,l=e.textStrokeColor,h=e.textStrokeWidth;let M,A=L;if(s?(C=v,"inner"===L&&(A=m===p-1?this.options.reverse?"left":"right":0===m?this.options.reverse?"right":"left":"center"),R="top"===o?"near"===r||0!==d?-x*b+b/2:"center"===r?-H.highest.height/2-t*b+b:-H.highest.height+b/2:"near"===r||0!==d?b/2:"center"===r?H.highest.height/2-t*b:H.highest.height-x*b,g&&(R*=-1),0===d||e.showLabelBackdrop||(C+=b/2*Math.sin(d))):(D=v,R=(1-x)*b/2),e.showLabelBackdrop){const t=Bi(e.backdropPadding),i=H.heights[m],o=H.widths[m];let n=R-t.top,s=0-t.left;switch(I){case"middle":n-=i/2;break;case"bottom":n-=i}switch(L){case"center":s-=o/2;break;case"right":s-=o;break;case"inner":m===p-1?s-=o:m>0&&(s-=o/2)}M={left:s,top:n,width:o+t.width,height:i+t.height,color:e.backdropColor}}u.push({label:f,font:w,textOffset:R,options:{rotation:d,color:i,strokeColor:l,strokeWidth:h,textAlign:A,textBaseline:I,translation:[C,D],backdrop:M}})}return u}_getXAxisLabelAlignment(){const{position:e,ticks:t}=this.options;if(-Pt(this.labelRotation))return"top"===e?"left":"right";let i="center";return"start"===t.align?i="left":"end"===t.align?i="right":"inner"===t.align&&(i="inner"),i}_getYAxisLabelAlignment(e){const{position:t,ticks:{crossAlign:i,mirror:o,padding:n}}=this.options,s=e+n,a=this._getLabelSizes().widest.width;let l,r;return"left"===t?o?(r=this.right+n,"near"===i?l="left":"center"===i?(l="center",r+=a/2):(l="right",r+=a)):(r=this.right-s,"near"===i?l="right":"center"===i?(l="center",r-=a/2):(l="left",r=this.left)):"right"===t?o?(r=this.left+n,"near"===i?l="right":"center"===i?(l="center",r-=a/2):(l="left",r-=a)):(r=this.left+s,"near"===i?l="left":"center"===i?(l="center",r+=a/2):(l="right",r=this.right)):l="right",{textAlign:l,x:r}}_computeLabelArea(){if(this.options.ticks.mirror)return;const e=this.chart,t=this.options.position;return"left"===t||"right"===t?{top:0,left:this.left,bottom:e.height,right:this.right}:"top"===t||"bottom"===t?{top:this.top,left:0,bottom:this.bottom,right:e.width}:void 0}drawBackground(){const{ctx:e,options:{backgroundColor:t},left:i,top:o,width:n,height:s}=this;t&&(e.save(),e.fillStyle=t,e.fillRect(i,o,n,s),e.restore())}getLineWidthForValue(e){const t=this.options.grid;if(!this._isVisible()||!t.display)return 0;const i=this.ticks.findIndex((t=>t.value===e));if(i>=0){return t.setContext(this.getContext(i)).lineWidth}return 0}drawGrid(e){const t=this.options.grid,i=this.ctx,o=this._gridLineItems||(this._gridLineItems=this._computeGridLineItems(e));let n,s;const a=(e,t,o)=>{o.width&&o.color&&(i.save(),i.lineWidth=o.width,i.strokeStyle=o.color,i.setLineDash(o.borderDash||[]),i.lineDashOffset=o.borderDashOffset,i.beginPath(),i.moveTo(e.x,e.y),i.lineTo(t.x,t.y),i.stroke(),i.restore())};if(t.display)for(n=0,s=o.length;n<s;++n){const e=o[n];t.drawOnChartArea&&a({x:e.x1,y:e.y1},{x:e.x2,y:e.y2},e),t.drawTicks&&a({x:e.tx1,y:e.ty1},{x:e.tx2,y:e.ty2},{color:e.tickColor,width:e.tickWidth,borderDash:e.tickBorderDash,borderDashOffset:e.tickBorderDashOffset})}}drawBorder(){const{chart:e,ctx:t,options:{border:i,grid:o}}=this,n=i.setContext(this.getContext()),s=i.display?n.width:0;if(!s)return;const a=o.setContext(this.getContext(0)).lineWidth,l=this._borderValue;let r,h,g,M;this.isHorizontal()?(r=Li(e,this.left,s)-s/2,h=Li(e,this.right,a)+a/2,g=M=l):(g=Li(e,this.top,s)-s/2,M=Li(e,this.bottom,a)+a/2,r=h=l),t.save(),t.lineWidth=n.width,t.strokeStyle=n.color,t.beginPath(),t.moveTo(r,g),t.lineTo(h,M),t.stroke(),t.restore()}drawLabels(e){if(!this.options.ticks.display)return;const t=this.ctx,i=this._computeLabelArea();i&&Ri(t,i);const o=this.getLabelItems(e);for(const e of o){const i=e.options,o=e.font;Pi(t,e.label,0,e.textOffset,o,i)}i&&Ii(t)}drawTitle(){const{ctx:e,options:{position:t,title:i,reverse:o}}=this;if(!i.display)return;const n=Wi(i.font),s=Bi(i.padding),a=i.align;let l=n.lineHeight/2;"bottom"===t||"center"===t||Qe(t)?(l+=s.bottom,Je(i.text)&&(l+=n.lineHeight*(i.text.length-1))):l+=s.top;const{titleX:r,titleY:h,maxWidth:g,rotation:M}=function(e,t,i,o){const{top:n,left:s,bottom:a,right:l,chart:r}=e,{chartArea:h,scales:g}=r;let M,A,c,d=0;const u=a-n,m=l-s;if(e.isHorizontal()){if(A=Jt(o,s,l),Qe(i)){const e=Object.keys(i)[0],o=i[e];c=g[e].getPixelForValue(o)+u-t}else c="center"===i?(h.bottom+h.top)/2+u-t:Ms(e,i,t);M=l-s}else{if(Qe(i)){const e=Object.keys(i)[0],o=i[e];A=g[e].getPixelForValue(o)-m+t}else A="center"===i?(h.left+h.right)/2-m+t:Ms(e,i,t);c=Jt(o,a,n),d="left"===i?-wt:wt}return{titleX:A,titleY:c,maxWidth:M,rotation:d}}(this,l,t,a);Pi(e,i.text,0,0,n,{color:i.color,maxWidth:g,rotation:M,textAlign:ps(a,t,o),textBaseline:"middle",translation:[r,h]})}draw(e){this._isVisible()&&(this.drawBackground(),this.drawGrid(e),this.drawBorder(),this.drawTitle(),this.drawLabels(e))}_layers(){const e=this.options,t=e.ticks&&e.ticks.z||0,i=it(e.grid&&e.grid.z,-1),o=it(e.border&&e.border.z,0);return this._isVisible()&&this.draw===Ss.prototype.draw?[{z:i,draw:e=>{this.drawBackground(),this.drawGrid(e),this.drawTitle()}},{z:o,draw:()=>{this.drawBorder()}},{z:t,draw:e=>{this.drawLabels(e)}}]:[{z:t,draw:e=>{this.draw(e)}}]}getMatchingVisibleMetas(e){const t=this.chart.getSortedVisibleDatasetMetas(),i=this.axis+"AxisID",o=[];let n,s;for(n=0,s=t.length;n<s;++n){const s=t[n];s[i]!==this.id||e&&s.type!==e||o.push(s)}return o}_resolveTickFontOptions(e){return Wi(this.options.ticks.setContext(this.getContext(e)).font)}_maxDigits(){const e=this._resolveTickFontOptions(0).lineHeight;return(this.isHorizontal()?this.width:this.height)/e}}class fs{constructor(e,t,i){this.type=e,this.scope=t,this.override=i,this.items=Object.create(null)}isForType(e){return Object.prototype.isPrototypeOf.call(this.type.prototype,e.prototype)}register(e){const t=Object.getPrototypeOf(e);let i;(function(e){return"id"in e&&"defaults"in e})(t)&&(i=this.register(t));const o=this.items,n=e.id,s=this.scope+"."+n;if(!n)throw new Error("class does not have id: "+e);return n in o||(o[n]=e,function(e,t,i){const o=gt(Object.create(null),[i?fi.get(i):{},fi.get(t),e.defaults]);fi.set(t,o),e.defaultRoutes&&function(e,t){Object.keys(t).forEach((i=>{const o=i.split("."),n=o.pop(),s=[e].concat(o).join("."),a=t[i].split("."),l=a.pop(),r=a.join(".");fi.route(s,n,r,l)}))}(t,e.defaultRoutes);e.descriptors&&fi.describe(t,e.descriptors)}(e,s,i),this.override&&fi.override(e.id,e.overrides)),s}get(e){return this.items[e]}unregister(e){const t=this.items,i=e.id,o=this.scope;i in t&&delete t[i],o&&i in fi[o]&&(delete fi[o][i],this.override&&delete di[i])}}class Cs{constructor(){this.controllers=new fs(nn,"datasets",!0),this.elements=new fs(rs,"elements"),this.plugins=new fs(Object,"plugins"),this.scales=new fs(Ss,"scales"),this._typedRegistries=[this.controllers,this.scales,this.elements]}add(){for(var e=arguments.length,t=new Array(e),i=0;i<e;i++)t[i]=arguments[i];this._each("register",t)}remove(){for(var e=arguments.length,t=new Array(e),i=0;i<e;i++)t[i]=arguments[i];this._each("unregister",t)}addControllers(){for(var e=arguments.length,t=new Array(e),i=0;i<e;i++)t[i]=arguments[i];this._each("register",t,this.controllers)}addElements(){for(var e=arguments.length,t=new Array(e),i=0;i<e;i++)t[i]=arguments[i];this._each("register",t,this.elements)}addPlugins(){for(var e=arguments.length,t=new Array(e),i=0;i<e;i++)t[i]=arguments[i];this._each("register",t,this.plugins)}addScales(){for(var e=arguments.length,t=new Array(e),i=0;i<e;i++)t[i]=arguments[i];this._each("register",t,this.scales)}getController(e){return this._get(e,this.controllers,"controller")}getElement(e){return this._get(e,this.elements,"element")}getPlugin(e){return this._get(e,this.plugins,"plugin")}getScale(e){return this._get(e,this.scales,"scale")}removeControllers(){for(var e=arguments.length,t=new Array(e),i=0;i<e;i++)t[i]=arguments[i];this._each("unregister",t,this.controllers)}removeElements(){for(var e=arguments.length,t=new Array(e),i=0;i<e;i++)t[i]=arguments[i];this._each("unregister",t,this.elements)}removePlugins(){for(var e=arguments.length,t=new Array(e),i=0;i<e;i++)t[i]=arguments[i];this._each("unregister",t,this.plugins)}removeScales(){for(var e=arguments.length,t=new Array(e),i=0;i<e;i++)t[i]=arguments[i];this._each("unregister",t,this.scales)}_each(e,t,i){[...t].forEach((t=>{const o=i||this._getRegistryForType(t);i||o.isForType(t)||o===this.plugins&&t.id?this._exec(e,o,t):st(t,(t=>{const o=i||this._getRegistryForType(t);this._exec(e,o,t)}))}))}_exec(e,t,i){const o=ut(e);nt(i["before"+o],[],i),t[e](i),nt(i["after"+o],[],i)}_getRegistryForType(e){for(let t=0;t<this._typedRegistries.length;t++){const i=this._typedRegistries[t];if(i.isForType(e))return i}return this.plugins}_get(e,t,i){const o=t.get(e);if(void 0===o)throw new Error('"'+e+'" is not a registered '+i+".");return o}}var Ds=new Cs;class Ls{constructor(){this._init=[]}notify(e,t,i,o){"beforeInit"===t&&(this._init=this._createDescriptors(e,!0),this._notify(this._init,e,"install"));const n=o?this._descriptors(e).filter(o):this._descriptors(e),s=this._notify(n,e,t,i);return"afterDestroy"===t&&(this._notify(n,e,"stop"),this._notify(this._init,e,"uninstall")),s}_notify(e,t,i,o){o=o||{};for(const n of e){const e=n.plugin;if(!1===nt(e[i],[t,o,n.options],e)&&o.cancelable)return!1}return!0}invalidate(){Ge(this._cache)||(this._oldCache=this._cache,this._cache=void 0)}_descriptors(e){if(this._cache)return this._cache;const t=this._cache=this._createDescriptors(e);return this._notifyStateChanges(e),t}_createDescriptors(e,t){const i=e&&e.config,o=it(i.options&&i.options.plugins,{}),n=function(e){const t={},i=[],o=Object.keys(Ds.plugins.items);for(let e=0;e<o.length;e++)i.push(Ds.getPlugin(o[e]));const n=e.plugins||[];for(let e=0;e<n.length;e++){const o=n[e];-1===i.indexOf(o)&&(i.push(o),t[o.id]=!0)}return{plugins:i,localIds:t}}(i);return!1!==o||t?function(e,t,i,o){let{plugins:n,localIds:s}=t;const a=[],l=e.getContext();for(const t of n){const n=t.id,r=vs(i[n],o);null!==r&&a.push({plugin:t,options:ws(e.config,{plugin:t,local:s[n]},r,l)})}return a}(e,n,o,t):[]}_notifyStateChanges(e){const t=this._oldCache||[],i=this._cache,o=(e,t)=>e.filter((e=>!t.some((t=>e.plugin.id===t.plugin.id))));this._notify(o(t,i),e,"stop"),this._notify(o(i,t),e,"start")}}function vs(e,t){return t||!1!==e?!0===e?{}:e:null}function ws(e,t,i,o){let{plugin:n,local:s}=t;const a=e.pluginScopeKeys(n),l=e.getOptionScopes(i,a);return s&&n.defaults&&l.push(n.defaults),e.createResolver(l,o,[""],{scriptable:!1,indexable:!1,allKeys:!0})}function bs(e,t){const i=fi.datasets[e]||{};return((t.datasets||{})[e]||{}).indexAxis||t.indexAxis||i.indexAxis||"x"}function xs(e){if("x"===e||"y"===e||"r"===e)return e}function Rs(e){if(xs(e))return e;for(var t=arguments.length,i=new Array(t>1?t-1:0),o=1;o<t;o++)i[o-1]=arguments[o];for(const t of i){const i=t.axis||("top"===(n=t.position)||"bottom"===n?"x":"left"===n||"right"===n?"y":void 0)||e.length>1&&xs(e[0].toLowerCase());if(i)return i}var n;throw new Error(`Cannot determine type of '${e}' axis. Please provide 'axis' or 'position' option.`)}function Is(e,t,i){if(i[t+"AxisID"]===e)return{axis:t}}function Hs(e,t){const i=di[e.type]||{scales:{}},o=t.scales||{},n=bs(e.type,t),s=Object.create(null);return Object.keys(o).forEach((t=>{const a=o[t];if(!Qe(a))return console.error(`Invalid scale configuration for scale: ${t}`);if(a._proxy)return console.warn(`Ignoring resolver passed as options for scale: ${t}`);const l=Rs(t,a,function(e,t){if(t.data&&t.data.datasets){const i=t.data.datasets.filter((t=>t.xAxisID===e||t.yAxisID===e));if(i.length)return Is(e,"x",i[0])||Is(e,"y",i[0])}return{}}(t,e),fi.scales[a.type]),r=function(e,t){return e===t?"_index_":"_value_"}(l,n),h=i.scales||{};s[t]=Mt(Object.create(null),[{axis:l},a,h[l],h[r]])})),e.data.datasets.forEach((i=>{const n=i.type||e.type,a=i.indexAxis||bs(n,t),l=(di[n]||{}).scales||{};Object.keys(l).forEach((e=>{const t=function(e,t){let i=e;return"_index_"===e?i=t:"_value_"===e&&(i="x"===t?"y":"x"),i}(e,a),n=i[t+"AxisID"]||t;s[n]=s[n]||Object.create(null),Mt(s[n],[{axis:t},o[n],l[e]])}))})),Object.keys(s).forEach((e=>{const t=s[e];Mt(t,[fi.scales[t.type],fi.scale])})),s}function _s(e){const t=e.options||(e.options={});t.plugins=it(t.plugins,{}),t.scales=Hs(e,t)}function ys(e){return(e=e||{}).datasets=e.datasets||[],e.labels=e.labels||[],e}const ks=new Map,Ps=new Set;function Os(e,t){let i=ks.get(e);return i||(i=t(),ks.set(e,i),Ps.add(i)),i}const Es=(e,t,i)=>{const o=dt(t,i);void 0!==o&&e.add(o)};class Ts{constructor(e){this._config=function(e){return(e=e||{}).data=ys(e.data),_s(e),e}(e),this._scopeCache=new Map,this._resolverCache=new Map}get platform(){return this._config.platform}get type(){return this._config.type}set type(e){this._config.type=e}get data(){return this._config.data}set data(e){this._config.data=ys(e)}get options(){return this._config.options}set options(e){this._config.options=e}get plugins(){return this._config.plugins}update(){const e=this._config;this.clearCache(),_s(e)}clearCache(){this._scopeCache.clear(),this._resolverCache.clear()}datasetScopeKeys(e){return Os(e,(()=>[[`datasets.${e}`,""]]))}datasetAnimationScopeKeys(e,t){return Os(`${e}.transition.${t}`,(()=>[[`datasets.${e}.transitions.${t}`,`transitions.${t}`],[`datasets.${e}`,""]]))}datasetElementScopeKeys(e,t){return Os(`${e}-${t}`,(()=>[[`datasets.${e}.elements.${t}`,`datasets.${e}`,`elements.${t}`,""]]))}pluginScopeKeys(e){const t=e.id;return Os(`${this.type}-plugin-${t}`,(()=>[[`plugins.${t}`,...e.additionalOptionScopes||[]]]))}_cachedScopes(e,t){const i=this._scopeCache;let o=i.get(e);return o&&!t||(o=new Map,i.set(e,o)),o}getOptionScopes(e,t,i){const{options:o,type:n}=this,s=this._cachedScopes(e,i),a=s.get(t);if(a)return a;const l=new Set;t.forEach((t=>{e&&(l.add(e),t.forEach((t=>Es(l,e,t)))),t.forEach((e=>Es(l,o,e))),t.forEach((e=>Es(l,di[n]||{},e))),t.forEach((e=>Es(l,fi,e))),t.forEach((e=>Es(l,ui,e)))}));const r=Array.from(l);return 0===r.length&&r.push(Object.create(null)),Ps.has(t)&&s.set(t,r),r}chartOptionScopes(){const{options:e,type:t}=this;return[e,di[t]||{},fi.datasets[t]||{},{type:t},fi,ui]}resolveNamedOptions(e,t,i){let o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:[""];const n={$shared:!0},{resolver:s,subPrefixes:a}=zs(this._resolverCache,e,o);let l=s;if(function(e,t){const{isScriptable:i,isIndexable:o}=qi(e);for(const n of t){const t=i(n),s=o(n),a=(s||t)&&e[n];if(t&&(pt(a)||$s(a))||s&&Je(a))return!0}return!1}(s,t)){n.$shared=!1;l=Xi(s,i=pt(i)?i():i,this.createResolver(e,i,a))}for(const e of t)n[e]=l[e];return n}createResolver(e,t){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[""],o=arguments.length>3?arguments[3]:void 0;const{resolver:n}=zs(this._resolverCache,e,i);return Qe(t)?Xi(n,t,void 0,o):n}}function zs(e,t,i){let o=e.get(t);o||(o=new Map,e.set(t,o));const n=i.join();let s=o.get(n);if(!s){s={resolver:Yi(t,i),subPrefixes:i.filter((e=>!e.toLowerCase().includes("hover")))},o.set(n,s)}return s}const $s=e=>Qe(e)&&Object.getOwnPropertyNames(e).some((t=>pt(e[t])));const Fs=["top","bottom","left","right","chartArea"];function Ns(e,t){return"top"===e||"bottom"===e||-1===Fs.indexOf(e)&&"x"===t}function Vs(e,t){return function(i,o){return i[e]===o[e]?i[t]-o[t]:i[e]-o[e]}}function Bs(e){const t=e.chart,i=t.options.animation;t.notifyPlugins("afterRender"),nt(i&&i.onComplete,[e],t)}function Ws(e){const t=e.chart,i=t.options.animation;nt(i&&i.onProgress,[e],t)}function js(e){return co()&&"string"==typeof e?e=document.getElementById(e):e&&e.length&&(e=e[0]),e&&e.canvas&&(e=e.canvas),e}const Us={},Ys=e=>{const t=js(e);return Object.values(Us).filter((e=>e.canvas===t)).pop()};function Xs(e,t,i){const o=Object.keys(e);for(const n of o){const o=+n;if(o>=t){const s=e[n];delete e[n],(i>0||o>t)&&(e[o+i]=s)}}}function qs(e,t,i){return e.options.clip?e[i]:t[i]}class Ks{static register(){Ds.add(...arguments),Zs()}static unregister(){Ds.remove(...arguments),Zs()}constructor(e,t){const i=this.config=new Ts(t),o=js(e),n=Ys(o);if(n)throw new Error("Canvas is already in use. Chart with ID '"+n.id+"' must be destroyed before the canvas with ID '"+n.canvas.id+"' can be reused.");const s=i.createResolver(i.chartOptionScopes(),this.getContext());this.platform=new(i.platform||function(e){return!co()||"undefined"!=typeof OffscreenCanvas&&e instanceof OffscreenCanvas?Yn:ls}(o)),this.platform.updateConfig(i);const a=this.platform.acquireContext(o,s.aspectRatio),l=a&&a.canvas,r=l&&l.height,h=l&&l.width;this.id=Ze(),this.ctx=a,this.canvas=l,this.width=h,this.height=r,this._options=s,this._aspectRatio=this.aspectRatio,this._layers=[],this._metasets=[],this._stacks=void 0,this.boxes=[],this.currentDevicePixelRatio=void 0,this.chartArea=void 0,this._active=[],this._lastEvent=void 0,this._listeners={},this._responsiveListeners=void 0,this._sortedMetasets=[],this.scales={},this._plugins=new Ls,this.$proxies={},this._hiddenIndices={},this.attached=!1,this._animationsDisabled=void 0,this.$context=void 0,this._doResize=function(e,t){let i;return function(){for(var o=arguments.length,n=new Array(o),s=0;s<o;s++)n[s]=arguments[s];return t?(clearTimeout(i),i=setTimeout(e,t,n)):e.apply(this,n),t}}((e=>this.update(e)),s.resizeDelay||0),this._dataChanges=[],Us[this.id]=this,a&&l?(Vo.listen(this,"complete",Bs),Vo.listen(this,"progress",Ws),this._initialize(),this.attached&&this.update()):console.error("Failed to create chart: can't acquire context from the given item")}get aspectRatio(){const{options:{aspectRatio:e,maintainAspectRatio:t},width:i,height:o,_aspectRatio:n}=this;return Ge(e)?t&&n?n:o?i/o:null:e}get data(){return this.config.data}set data(e){this.config.data=e}get options(){return this._options}set options(e){this.config.options=e}get registry(){return Ds}_initialize(){return this.notifyPlugins("beforeInit"),this.options.responsive?this.resize():wo(this,this.options.devicePixelRatio),this.bindEvents(),this.notifyPlugins("afterInit"),this}clear(){return vi(this.canvas,this.ctx),this}stop(){return Vo.stop(this),this}resize(e,t){Vo.running(this)?this._resizeBeforeDraw={width:e,height:t}:this._resize(e,t)}_resize(e,t){const i=this.options,o=this.canvas,n=i.maintainAspectRatio&&this.aspectRatio,s=this.platform.getMaximumSize(o,e,t,n),a=i.devicePixelRatio||this.platform.getDevicePixelRatio(),l=this.width?"resize":"attach";this.width=s.width,this.height=s.height,this._aspectRatio=this.aspectRatio,wo(this,a,!0)&&(this.notifyPlugins("resize",{size:s}),nt(i.onResize,[this,s],this),this.attached&&this._doResize(l)&&this.render())}ensureScalesHaveIDs(){st(this.options.scales||{},((e,t)=>{e.id=t}))}buildOrUpdateScales(){const e=this.options,t=e.scales,i=this.scales,o=Object.keys(i).reduce(((e,t)=>(e[t]=!1,e)),{});let n=[];t&&(n=n.concat(Object.keys(t).map((e=>{const i=t[e],o=Rs(e,i),n="r"===o,s="x"===o;return{options:i,dposition:n?"chartArea":s?"bottom":"left",dtype:n?"radialLinear":s?"category":"linear"}})))),st(n,(t=>{const n=t.options,s=n.id,a=Rs(s,n),l=it(n.type,t.dtype);void 0!==n.position&&Ns(n.position,a)===Ns(t.dposition)||(n.position=t.dposition),o[s]=!0;let r=null;if(s in i&&i[s].type===l)r=i[s];else{r=new(Ds.getScale(l))({id:s,type:l,ctx:this.ctx,chart:this}),i[r.id]=r}r.init(n,e)})),st(o,((e,t)=>{e||delete i[t]})),st(i,(e=>{jn.configure(this,e,e.options),jn.addBox(this,e)}))}_updateMetasets(){const e=this._metasets,t=this.data.datasets.length,i=e.length;if(e.sort(((e,t)=>e.index-t.index)),i>t){for(let e=t;e<i;++e)this._destroyDatasetMeta(e);e.splice(t,i-t)}this._sortedMetasets=e.slice(0).sort(Vs("order","index"))}_removeUnreferencedMetasets(){const{_metasets:e,data:{datasets:t}}=this;e.length>t.length&&delete this._stacks,e.forEach(((e,i)=>{0===t.filter((t=>t===e._dataset)).length&&this._destroyDatasetMeta(i)}))}buildOrUpdateControllers(){const e=[],t=this.data.datasets;let i,o;for(this._removeUnreferencedMetasets(),i=0,o=t.length;i<o;i++){const o=t[i];let n=this.getDatasetMeta(i);const s=o.type||this.config.type;if(n.type&&n.type!==s&&(this._destroyDatasetMeta(i),n=this.getDatasetMeta(i)),n.type=s,n.indexAxis=o.indexAxis||bs(s,this.options),n.order=o.order||0,n.index=i,n.label=""+o.label,n.visible=this.isDatasetVisible(i),n.controller)n.controller.updateIndex(i),n.controller.linkScales();else{const t=Ds.getController(s),{datasetElementType:o,dataElementType:a}=fi.datasets[s];Object.assign(t,{dataElementType:Ds.getElement(a),datasetElementType:o&&Ds.getElement(o)}),n.controller=new t(this,i),e.push(n.controller)}}return this._updateMetasets(),e}_resetElements(){st(this.data.datasets,((e,t)=>{this.getDatasetMeta(t).controller.reset()}),this)}reset(){this._resetElements(),this.notifyPlugins("reset")}update(e){const t=this.config;t.update();const i=this._options=t.createResolver(t.chartOptionScopes(),this.getContext()),o=this._animationsDisabled=!i.animation;if(this._updateScales(),this._checkEventBindings(),this._updateHiddenIndices(),this._plugins.invalidate(),!1===this.notifyPlugins("beforeUpdate",{mode:e,cancelable:!0}))return;const n=this.buildOrUpdateControllers();this.notifyPlugins("beforeElementsUpdate");let s=0;for(let e=0,t=this.data.datasets.length;e<t;e++){const{controller:t}=this.getDatasetMeta(e),i=!o&&-1===n.indexOf(t);t.buildOrUpdateElements(i),s=Math.max(+t.getMaxOverflow(),s)}s=this._minPadding=i.layout.autoPadding?s:0,this._updateLayout(s),o||st(n,(e=>{e.reset()})),this._updateDatasets(e),this.notifyPlugins("afterUpdate",{mode:e}),this._layers.sort(Vs("z","_idx"));const{_active:a,_lastEvent:l}=this;l?this._eventHandler(l,!0):a.length&&this._updateHoverStyles(a,a,!0),this.render()}_updateScales(){st(this.scales,(e=>{jn.removeBox(this,e)})),this.ensureScalesHaveIDs(),this.buildOrUpdateScales()}_checkEventBindings(){const e=this.options,t=new Set(Object.keys(this._listeners)),i=new Set(e.events);St(t,i)&&!!this._responsiveListeners===e.responsive||(this.unbindEvents(),this.bindEvents())}_updateHiddenIndices(){const{_hiddenIndices:e}=this,t=this._getUniformDataChanges()||[];for(const{method:i,start:o,count:n}of t){Xs(e,o,"_removeElements"===i?-n:n)}}_getUniformDataChanges(){const e=this._dataChanges;if(!e||!e.length)return;this._dataChanges=[];const t=this.data.datasets.length,i=t=>new Set(e.filter((e=>e[0]===t)).map(((e,t)=>t+","+e.splice(1).join(",")))),o=i(0);for(let e=1;e<t;e++)if(!St(o,i(e)))return;return Array.from(o).map((e=>e.split(","))).map((e=>({method:e[1],start:+e[2],count:+e[3]})))}_updateLayout(e){if(!1===this.notifyPlugins("beforeLayout",{cancelable:!0}))return;jn.update(this,this.width,this.height,e);const t=this.chartArea,i=t.width<=0||t.height<=0;this._layers=[],st(this.boxes,(e=>{i&&"chartArea"===e.position||(e.configure&&e.configure(),this._layers.push(...e._layers()))}),this),this._layers.forEach(((e,t)=>{e._idx=t})),this.notifyPlugins("afterLayout")}_updateDatasets(e){if(!1!==this.notifyPlugins("beforeDatasetsUpdate",{mode:e,cancelable:!0})){for(let e=0,t=this.data.datasets.length;e<t;++e)this.getDatasetMeta(e).controller.configure();for(let t=0,i=this.data.datasets.length;t<i;++t)this._updateDataset(t,pt(e)?e({datasetIndex:t}):e);this.notifyPlugins("afterDatasetsUpdate",{mode:e})}}_updateDataset(e,t){const i=this.getDatasetMeta(e),o={meta:i,index:e,mode:t,cancelable:!0};!1!==this.notifyPlugins("beforeDatasetUpdate",o)&&(i.controller._update(t),o.cancelable=!1,this.notifyPlugins("afterDatasetUpdate",o))}render(){!1!==this.notifyPlugins("beforeRender",{cancelable:!0})&&(Vo.has(this)?this.attached&&!Vo.running(this)&&Vo.start(this):(this.draw(),Bs({chart:this})))}draw(){let e;if(this._resizeBeforeDraw){const{width:e,height:t}=this._resizeBeforeDraw;this._resizeBeforeDraw=null,this._resize(e,t)}if(this.clear(),this.width<=0||this.height<=0)return;if(!1===this.notifyPlugins("beforeDraw",{cancelable:!0}))return;const t=this._layers;for(e=0;e<t.length&&t[e].z<=0;++e)t[e].draw(this.chartArea);for(this._drawDatasets();e<t.length;++e)t[e].draw(this.chartArea);this.notifyPlugins("afterDraw")}_getSortedDatasetMetas(e){const t=this._sortedMetasets,i=[];let o,n;for(o=0,n=t.length;o<n;++o){const n=t[o];e&&!n.visible||i.push(n)}return i}getSortedVisibleDatasetMetas(){return this._getSortedDatasetMetas(!0)}_drawDatasets(){if(!1===this.notifyPlugins("beforeDatasetsDraw",{cancelable:!0}))return;const e=this.getSortedVisibleDatasetMetas();for(let t=e.length-1;t>=0;--t)this._drawDataset(e[t]);this.notifyPlugins("afterDatasetsDraw")}_drawDataset(e){const t=this.ctx,i=e._clip,o=!i.disabled,n=function(e,t){const{xScale:i,yScale:o}=e;return i&&o?{left:qs(i,t,"left"),right:qs(i,t,"right"),top:qs(o,t,"top"),bottom:qs(o,t,"bottom")}:t}(e,this.chartArea),s={meta:e,index:e.index,cancelable:!0};!1!==this.notifyPlugins("beforeDatasetDraw",s)&&(o&&Ri(t,{left:!1===i.left?0:n.left-i.left,right:!1===i.right?this.width:n.right+i.right,top:!1===i.top?0:n.top-i.top,bottom:!1===i.bottom?this.height:n.bottom+i.bottom}),e.controller.draw(),o&&Ii(t),s.cancelable=!1,this.notifyPlugins("afterDatasetDraw",s))}isPointInArea(e){return xi(e,this.chartArea,this._minPadding)}getElementsAtEventForMode(e,t,i,o){const n=yn.modes[t];return"function"==typeof n?n(this,e,i,o):[]}getDatasetMeta(e){const t=this.data.datasets[e],i=this._metasets;let o=i.filter((e=>e&&e._dataset===t)).pop();return o||(o={type:null,data:[],dataset:null,controller:null,hidden:null,xAxisID:null,yAxisID:null,order:t&&t.order||0,index:e,_dataset:t,_parsed:[],_sorted:!1},i.push(o)),o}getContext(){return this.$context||(this.$context=Ui(null,{chart:this,type:"chart"}))}getVisibleDatasetCount(){return this.getSortedVisibleDatasetMetas().length}isDatasetVisible(e){const t=this.data.datasets[e];if(!t)return!1;const i=this.getDatasetMeta(e);return"boolean"==typeof i.hidden?!i.hidden:!t.hidden}setDatasetVisibility(e,t){this.getDatasetMeta(e).hidden=!t}toggleDataVisibility(e){this._hiddenIndices[e]=!this._hiddenIndices[e]}getDataVisibility(e){return!this._hiddenIndices[e]}_updateVisibility(e,t,i){const o=i?"show":"hide",n=this.getDatasetMeta(e),s=n.controller._resolveAnimations(void 0,o);mt(t)?(n.data[t].hidden=!i,this.update()):(this.setDatasetVisibility(e,i),s.update(n,{visible:i}),this.update((t=>t.datasetIndex===e?o:void 0)))}hide(e,t){this._updateVisibility(e,t,!1)}show(e,t){this._updateVisibility(e,t,!0)}_destroyDatasetMeta(e){const t=this._metasets[e];t&&t.controller&&t.controller._destroy(),delete this._metasets[e]}_stop(){let e,t;for(this.stop(),Vo.remove(this),e=0,t=this.data.datasets.length;e<t;++e)this._destroyDatasetMeta(e)}destroy(){this.notifyPlugins("beforeDestroy");const{canvas:e,ctx:t}=this;this._stop(),this.config.clearCache(),e&&(this.unbindEvents(),vi(e,t),this.platform.releaseContext(t),this.canvas=null,this.ctx=null),delete Us[this.id],this.notifyPlugins("afterDestroy")}toBase64Image(){return this.canvas.toDataURL(...arguments)}bindEvents(){this.bindUserEvents(),this.options.responsive?this.bindResponsiveEvents():this.attached=!0}bindUserEvents(){const e=this._listeners,t=this.platform,i=(i,o)=>{t.addEventListener(this,i,o),e[i]=o},o=(e,t,i)=>{e.offsetX=t,e.offsetY=i,this._eventHandler(e)};st(this.options.events,(e=>i(e,o)))}bindResponsiveEvents(){this._responsiveListeners||(this._responsiveListeners={});const e=this._responsiveListeners,t=this.platform,i=(i,o)=>{t.addEventListener(this,i,o),e[i]=o},o=(i,o)=>{e[i]&&(t.removeEventListener(this,i,o),delete e[i])},n=(e,t)=>{this.canvas&&this.resize(e,t)};let s;const a=()=>{o("attach",a),this.attached=!0,this.resize(),i("resize",n),i("detach",s)};s=()=>{this.attached=!1,o("resize",n),this._stop(),this._resize(0,0),i("attach",a)},t.isAttached(this.canvas)?a():s()}unbindEvents(){st(this._listeners,((e,t)=>{this.platform.removeEventListener(this,t,e)})),this._listeners={},st(this._responsiveListeners,((e,t)=>{this.platform.removeEventListener(this,t,e)})),this._responsiveListeners=void 0}updateHoverStyle(e,t,i){const o=i?"set":"remove";let n,s,a,l;for("dataset"===t&&(n=this.getDatasetMeta(e[0].datasetIndex),n.controller["_"+o+"DatasetHoverStyle"]()),a=0,l=e.length;a<l;++a){s=e[a];const t=s&&this.getDatasetMeta(s.datasetIndex).controller;t&&t[o+"HoverStyle"](s.element,s.datasetIndex,s.index)}}getActiveElements(){return this._active||[]}setActiveElements(e){const t=this._active||[],i=e.map((e=>{let{datasetIndex:t,index:i}=e;const o=this.getDatasetMeta(t);if(!o)throw new Error("No dataset found at index "+t);return{datasetIndex:t,element:o.data[i],index:i}}));!at(i,t)&&(this._active=i,this._lastEvent=null,this._updateHoverStyles(i,t))}notifyPlugins(e,t,i){return this._plugins.notify(this,e,t,i)}isPluginEnabled(e){return 1===this._plugins._cache.filter((t=>t.plugin.id===e)).length}_updateHoverStyles(e,t,i){const o=this.options.hover,n=(e,t)=>e.filter((e=>!t.some((t=>e.datasetIndex===t.datasetIndex&&e.index===t.index)))),s=n(t,e),a=i?e:n(e,t);s.length&&this.updateHoverStyle(s,o.mode,!1),a.length&&o.mode&&this.updateHoverStyle(a,o.mode,!0)}_eventHandler(e,t){const i={event:e,replay:t,cancelable:!0,inChartArea:this.isPointInArea(e)},o=t=>(t.options.events||this.options.events).includes(e.native.type);if(!1===this.notifyPlugins("beforeEvent",i,o))return;const n=this._handleEvent(e,t,i.inChartArea);return i.cancelable=!1,this.notifyPlugins("afterEvent",i,o),(n||i.changed)&&this.render(),this}_handleEvent(e,t,i){const{_active:o=[],options:n}=this,s=t,a=this._getActiveElements(e,o,i,s),l=function(e){return"mouseup"===e.type||"click"===e.type||"contextmenu"===e.type}(e),r=function(e,t,i,o){return i&&"mouseout"!==e.type?o?t:e:null}(e,this._lastEvent,i,l);i&&(this._lastEvent=null,nt(n.onHover,[e,a,this],this),l&&nt(n.onClick,[e,a,this],this));const h=!at(a,o);return(h||t)&&(this._active=a,this._updateHoverStyles(a,o,t)),this._lastEvent=r,h}_getActiveElements(e,t,i,o){if("mouseout"===e.type)return[];if(!i)return t;const n=this.options.hover;return this.getElementsAtEventForMode(e,n.mode,n,o)}}function Zs(){return st(Ks.instances,(e=>e._plugins.invalidate()))}function Gs(e,t,i,o){const n=Fi(e.options.borderRadius,["outerStart","outerEnd","innerStart","innerEnd"]);const s=(i-t)/2,a=Math.min(s,o*t/2),l=e=>{const t=(i-Math.min(s,e))*o/2;return Vt(e,0,Math.min(s,t))};return{outerStart:l(n.outerStart),outerEnd:l(n.outerEnd),innerStart:Vt(n.innerStart,0,a),innerEnd:Vt(n.innerEnd,0,a)}}function Js(e,t,i,o){return{x:i+e*Math.cos(t),y:o+e*Math.sin(t)}}function Qs(e,t,i,o,n,s){const{x:a,y:l,startAngle:r,pixelMargin:h,innerRadius:g}=t,M=Math.max(t.outerRadius+o+i-h,0),A=g>0?g+o+i+h:0;let c=0;const d=n-r;if(o){const e=((g>0?g-o:0)+(M>0?M-o:0))/2;c=(d-(0!==e?d*e/(e+o):d))/2}const u=(d-Math.max(.001,d*M-i/ft)/M)/2,m=r+u+c,p=n-u-c,{outerStart:S,outerEnd:f,innerStart:C,innerEnd:D}=Gs(t,A,M,p-m),L=M-S,v=M-f,w=m+S/L,b=p-f/v,x=A+C,R=A+D,I=m+C/x,H=p-D/R;if(e.beginPath(),s){const t=(w+b)/2;if(e.arc(a,l,M,w,t),e.arc(a,l,M,t,b),f>0){const t=Js(v,b,a,l);e.arc(t.x,t.y,f,b,p+wt)}const i=Js(R,p,a,l);if(e.lineTo(i.x,i.y),D>0){const t=Js(R,H,a,l);e.arc(t.x,t.y,D,p+wt,H+Math.PI)}const o=(p-D/A+(m+C/A))/2;if(e.arc(a,l,A,p-D/A,o,!0),e.arc(a,l,A,o,m+C/A,!0),C>0){const t=Js(x,I,a,l);e.arc(t.x,t.y,C,I+Math.PI,m-wt)}const n=Js(L,m,a,l);if(e.lineTo(n.x,n.y),S>0){const t=Js(L,w,a,l);e.arc(t.x,t.y,S,m-wt,w)}}else{e.moveTo(a,l);const t=Math.cos(w)*M+a,i=Math.sin(w)*M+l;e.lineTo(t,i);const o=Math.cos(b)*M+a,n=Math.sin(b)*M+l;e.lineTo(o,n)}e.closePath()}function ea(e,t,i,o,n){const{fullCircles:s,startAngle:a,circumference:l,options:r}=t,{borderWidth:h,borderJoinStyle:g,borderDash:M,borderDashOffset:A}=r,c="inner"===r.borderAlign;if(!h)return;e.setLineDash(M||[]),e.lineDashOffset=A,c?(e.lineWidth=2*h,e.lineJoin=g||"round"):(e.lineWidth=h,e.lineJoin=g||"bevel");let d=t.endAngle;if(s){Qs(e,t,i,o,d,n);for(let t=0;t<s;++t)e.stroke();isNaN(l)||(d=a+(l%Ct||Ct))}c&&function(e,t,i){const{startAngle:o,pixelMargin:n,x:s,y:a,outerRadius:l,innerRadius:r}=t;let h=n/l;e.beginPath(),e.arc(s,a,l,o-h,i+h),r>n?(h=n/r,e.arc(s,a,r,i+h,o-h,!0)):e.arc(s,a,n,i+wt,o-wt),e.closePath(),e.clip()}(e,t,d),s||(Qs(e,t,i,o,d,n),e.stroke())}ue(Ks,"defaults",fi),ue(Ks,"instances",Us),ue(Ks,"overrides",di),ue(Ks,"registry",Ds),ue(Ks,"version","4.4.5"),ue(Ks,"getChart",Ys);class ta extends rs{constructor(e){super(),ue(this,"circumference",void 0),ue(this,"endAngle",void 0),ue(this,"fullCircles",void 0),ue(this,"innerRadius",void 0),ue(this,"outerRadius",void 0),ue(this,"pixelMargin",void 0),ue(this,"startAngle",void 0),this.options=void 0,this.circumference=void 0,this.startAngle=void 0,this.endAngle=void 0,this.innerRadius=void 0,this.outerRadius=void 0,this.pixelMargin=0,this.fullCircles=0,e&&Object.assign(this,e)}inRange(e,t,i){const o=this.getProps(["x","y"],i),{angle:n,distance:s}=Tt(o,{x:e,y:t}),{startAngle:a,endAngle:l,innerRadius:r,outerRadius:h,circumference:g}=this.getProps(["startAngle","endAngle","innerRadius","outerRadius","circumference"],i),M=(this.options.spacing+this.options.borderWidth)/2,A=it(g,l-a),c=Nt(n,a,l)&&a!==l,d=A>=Ct||c,u=Bt(s,r+M,h+M);return d&&u}getCenterPoint(e){const{x:t,y:i,startAngle:o,endAngle:n,innerRadius:s,outerRadius:a}=this.getProps(["x","y","startAngle","endAngle","innerRadius","outerRadius"],e),{offset:l,spacing:r}=this.options,h=(o+n)/2,g=(s+a+r+l)/2;return{x:t+Math.cos(h)*g,y:i+Math.sin(h)*g}}tooltipPosition(e){return this.getCenterPoint(e)}draw(e){const{options:t,circumference:i}=this,o=(t.offset||0)/4,n=(t.spacing||0)/2,s=t.circular;if(this.pixelMargin="inner"===t.borderAlign?.33:0,this.fullCircles=i>Ct?Math.floor(i/Ct):0,0===i||this.innerRadius<0||this.outerRadius<0)return;e.save();const a=(this.startAngle+this.endAngle)/2;e.translate(Math.cos(a)*o,Math.sin(a)*o);const l=o*(1-Math.sin(Math.min(ft,i||0)));e.fillStyle=t.backgroundColor,e.strokeStyle=t.borderColor,function(e,t,i,o,n){const{fullCircles:s,startAngle:a,circumference:l}=t;let r=t.endAngle;if(s){Qs(e,t,i,o,r,n);for(let t=0;t<s;++t)e.fill();isNaN(l)||(r=a+(l%Ct||Ct))}Qs(e,t,i,o,r,n),e.fill()}(e,this,l,n,s),ea(e,this,l,n,s),e.restore()}}function ia(e,t){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:t;e.lineCap=it(i.borderCapStyle,t.borderCapStyle),e.setLineDash(it(i.borderDash,t.borderDash)),e.lineDashOffset=it(i.borderDashOffset,t.borderDashOffset),e.lineJoin=it(i.borderJoinStyle,t.borderJoinStyle),e.lineWidth=it(i.borderWidth,t.borderWidth),e.strokeStyle=it(i.borderColor,t.borderColor)}function oa(e,t,i){e.lineTo(i.x,i.y)}function na(e,t){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const o=e.length,{start:n=0,end:s=o-1}=i,{start:a,end:l}=t,r=Math.max(n,a),h=Math.min(s,l),g=n<a&&s<a||n>l&&s>l;return{count:o,start:r,loop:t.loop,ilen:h<r&&!g?o+h-r:h-r}}function sa(e,t,i,o){const{points:n,options:s}=t,{count:a,start:l,loop:r,ilen:h}=na(n,i,o),g=function(e){return e.stepped?Hi:e.tension||"monotone"===e.cubicInterpolationMode?_i:oa}(s);let M,A,c,{move:d=!0,reverse:u}=o||{};for(M=0;M<=h;++M)A=n[(l+(u?h-M:M))%a],A.skip||(d?(e.moveTo(A.x,A.y),d=!1):g(e,c,A,u,s.stepped),c=A);return r&&(A=n[(l+(u?h:0))%a],g(e,c,A,u,s.stepped)),!!r}function aa(e,t,i,o){const n=t.points,{count:s,start:a,ilen:l}=na(n,i,o),{move:r=!0,reverse:h}=o||{};let g,M,A,c,d,u,m=0,p=0;const S=e=>(a+(h?l-e:e))%s,f=()=>{c!==d&&(e.lineTo(m,d),e.lineTo(m,c),e.lineTo(m,u))};for(r&&(M=n[S(0)],e.moveTo(M.x,M.y)),g=0;g<=l;++g){if(M=n[S(g)],M.skip)continue;const t=M.x,i=M.y,o=0|t;o===A?(i<c?c=i:i>d&&(d=i),m=(p*m+t)/++p):(f(),e.lineTo(t,i),A=o,p=0,c=d=i),u=i}f()}function la(e){const t=e.options,i=t.borderDash&&t.borderDash.length;return!(e._decimated||e._loop||t.tension||"monotone"===t.cubicInterpolationMode||t.stepped||i)?aa:sa}ue(ta,"id","arc"),ue(ta,"defaults",{borderAlign:"center",borderColor:"#fff",borderDash:[],borderDashOffset:0,borderJoinStyle:void 0,borderRadius:0,borderWidth:2,offset:0,spacing:0,angle:void 0,circular:!0}),ue(ta,"defaultRoutes",{backgroundColor:"backgroundColor"}),ue(ta,"descriptors",{_scriptable:!0,_indexable:e=>"borderDash"!==e});const ra="function"==typeof Path2D;function ha(e,t,i,o){ra&&!t.options.segment?function(e,t,i,o){let n=t._path;n||(n=t._path=new Path2D,t.path(n,i,o)&&n.closePath()),ia(e,t.options),e.stroke(n)}(e,t,i,o):function(e,t,i,o){const{segments:n,options:s}=t,a=la(t);for(const l of n)ia(e,s,l.style),e.beginPath(),a(e,t,l,{start:i,end:i+o-1})&&e.closePath(),e.stroke()}(e,t,i,o)}class ga extends rs{constructor(e){super(),this.animated=!0,this.options=void 0,this._chart=void 0,this._loop=void 0,this._fullLoop=void 0,this._path=void 0,this._points=void 0,this._segments=void 0,this._decimated=!1,this._pointsUpdated=!1,this._datasetIndex=void 0,e&&Object.assign(this,e)}updateControlPoints(e,t){const i=this.options;if((i.tension||"monotone"===i.cubicInterpolationMode)&&!i.stepped&&!this._pointsUpdated){const o=i.spanGaps?this._loop:this._fullLoop;Ao(this._points,i,e,o,t),this._pointsUpdated=!0}}set points(e){this._points=e,delete this._segments,delete this._path,this._pointsUpdated=!1}get points(){return this._points}get segments(){return this._segments||(this._segments=function(e,t){const i=e.points,o=e.options.spanGaps,n=i.length;if(!n)return[];const s=!!e._loop,{start:a,end:l}=function(e,t,i,o){let n=0,s=t-1;if(i&&!o)for(;n<t&&!e[n].skip;)n++;for(;n<t&&e[n].skip;)n++;for(n%=t,i&&(s+=n);s>n&&e[s%t].skip;)s--;return s%=t,{start:n,end:s}}(i,n,s,o);return zo(e,!0===o?[{start:a,end:l,loop:s}]:function(e,t,i,o){const n=e.length,s=[];let a,l=t,r=e[t];for(a=t+1;a<=i;++a){const i=e[a%n];i.skip||i.stop?r.skip||(o=!1,s.push({start:t%n,end:(a-1)%n,loop:o}),t=l=i.stop?a:null):(l=a,r.skip&&(t=a)),r=i}return null!==l&&s.push({start:t%n,end:l%n,loop:o}),s}(i,a,l<a?l+n:l,!!e._fullLoop&&0===a&&l===n-1),i,t)}(this,this.options.segment))}first(){const e=this.segments,t=this.points;return e.length&&t[e[0].start]}last(){const e=this.segments,t=this.points,i=e.length;return i&&t[e[i-1].end]}interpolate(e,t){const i=this.options,o=e[t],n=this.points,s=To(this,{property:t,start:o,end:o});if(!s.length)return;const a=[],l=function(e){return e.stepped?Io:e.tension||"monotone"===e.cubicInterpolationMode?Ho:Ro}(i);let r,h;for(r=0,h=s.length;r<h;++r){const{start:h,end:g}=s[r],M=n[h],A=n[g];if(M===A){a.push(M);continue}const c=l(M,A,Math.abs((o-M[t])/(A[t]-M[t])),i.stepped);c[t]=e[t],a.push(c)}return 1===a.length?a[0]:a}pathSegment(e,t,i){return la(this)(e,this,t,i)}path(e,t,i){const o=this.segments,n=la(this);let s=this._loop;t=t||0,i=i||this.points.length-t;for(const a of o)s&=n(e,this,a,{start:t,end:t+i-1});return!!s}draw(e,t,i,o){const n=this.options||{};(this.points||[]).length&&n.borderWidth&&(e.save(),ha(e,this,i,o),e.restore()),this.animated&&(this._pointsUpdated=!1,this._path=void 0)}}function Ma(e,t,i,o){const n=e.options,{[i]:s}=e.getProps([i],o);return Math.abs(t-s)<n.radius+n.hitRadius}ue(ga,"id","line"),ue(ga,"defaults",{borderCapStyle:"butt",borderDash:[],borderDashOffset:0,borderJoinStyle:"miter",borderWidth:3,capBezierPoints:!0,cubicInterpolationMode:"default",fill:!1,spanGaps:!1,stepped:!1,tension:0}),ue(ga,"defaultRoutes",{backgroundColor:"backgroundColor",borderColor:"borderColor"}),ue(ga,"descriptors",{_scriptable:!0,_indexable:e=>"borderDash"!==e&&"fill"!==e});class Aa extends rs{constructor(e){super(),ue(this,"parsed",void 0),ue(this,"skip",void 0),ue(this,"stop",void 0),this.options=void 0,this.parsed=void 0,this.skip=void 0,this.stop=void 0,e&&Object.assign(this,e)}inRange(e,t,i){const o=this.options,{x:n,y:s}=this.getProps(["x","y"],i);return Math.pow(e-n,2)+Math.pow(t-s,2)<Math.pow(o.hitRadius+o.radius,2)}inXRange(e,t){return Ma(this,e,"x",t)}inYRange(e,t){return Ma(this,e,"y",t)}getCenterPoint(e){const{x:t,y:i}=this.getProps(["x","y"],e);return{x:t,y:i}}size(e){let t=(e=e||this.options||{}).radius||0;t=Math.max(t,t&&e.hoverRadius||0);return 2*(t+(t&&e.borderWidth||0))}draw(e,t){const i=this.options;this.skip||i.radius<.1||!xi(this,t,this.size(i)/2)||(e.strokeStyle=i.borderColor,e.lineWidth=i.borderWidth,e.fillStyle=i.backgroundColor,wi(e,i,this.x,this.y))}getRange(){const e=this.options||{};return e.radius+e.hitRadius}}function ca(e,t){const{x:i,y:o,base:n,width:s,height:a}=e.getProps(["x","y","base","width","height"],t);let l,r,h,g,M;return e.horizontal?(M=a/2,l=Math.min(i,n),r=Math.max(i,n),h=o-M,g=o+M):(M=s/2,l=i-M,r=i+M,h=Math.min(o,n),g=Math.max(o,n)),{left:l,top:h,right:r,bottom:g}}function da(e,t,i,o){return e?0:Vt(t,i,o)}function ua(e){const t=ca(e),i=t.right-t.left,o=t.bottom-t.top,n=function(e,t,i){const o=e.options.borderWidth,n=e.borderSkipped,s=Ni(o);return{t:da(n.top,s.top,0,i),r:da(n.right,s.right,0,t),b:da(n.bottom,s.bottom,0,i),l:da(n.left,s.left,0,t)}}(e,i/2,o/2),s=function(e,t,i){const{enableBorderRadius:o}=e.getProps(["enableBorderRadius"]),n=e.options.borderRadius,s=Vi(n),a=Math.min(t,i),l=e.borderSkipped,r=o||Qe(n);return{topLeft:da(!r||l.top||l.left,s.topLeft,0,a),topRight:da(!r||l.top||l.right,s.topRight,0,a),bottomLeft:da(!r||l.bottom||l.left,s.bottomLeft,0,a),bottomRight:da(!r||l.bottom||l.right,s.bottomRight,0,a)}}(e,i/2,o/2);return{outer:{x:t.left,y:t.top,w:i,h:o,radius:s},inner:{x:t.left+n.l,y:t.top+n.t,w:i-n.l-n.r,h:o-n.t-n.b,radius:{topLeft:Math.max(0,s.topLeft-Math.max(n.t,n.l)),topRight:Math.max(0,s.topRight-Math.max(n.t,n.r)),bottomLeft:Math.max(0,s.bottomLeft-Math.max(n.b,n.l)),bottomRight:Math.max(0,s.bottomRight-Math.max(n.b,n.r))}}}}function ma(e,t,i,o){const n=null===t,s=null===i,a=e&&!(n&&s)&&ca(e,o);return a&&(n||Bt(t,a.left,a.right))&&(s||Bt(i,a.top,a.bottom))}function pa(e,t){e.rect(t.x,t.y,t.w,t.h)}function Sa(e,t){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const o=e.x!==i.x?-t:0,n=e.y!==i.y?-t:0,s=(e.x+e.w!==i.x+i.w?t:0)-o,a=(e.y+e.h!==i.y+i.h?t:0)-n;return{x:e.x+o,y:e.y+n,w:e.w+s,h:e.h+a,radius:e.radius}}ue(Aa,"id","point"),ue(Aa,"defaults",{borderWidth:1,hitRadius:1,hoverBorderWidth:1,hoverRadius:4,pointStyle:"circle",radius:3,rotation:0}),ue(Aa,"defaultRoutes",{backgroundColor:"backgroundColor",borderColor:"borderColor"});class fa extends rs{constructor(e){super(),this.options=void 0,this.horizontal=void 0,this.base=void 0,this.width=void 0,this.height=void 0,this.inflateAmount=void 0,e&&Object.assign(this,e)}draw(e){const{inflateAmount:t,options:{borderColor:i,backgroundColor:o}}=this,{inner:n,outer:s}=ua(this),a=(l=s.radius).topLeft||l.topRight||l.bottomLeft||l.bottomRight?Oi:pa;var l;e.save(),s.w===n.w&&s.h===n.h||(e.beginPath(),a(e,Sa(s,t,n)),e.clip(),a(e,Sa(n,-t,s)),e.fillStyle=i,e.fill("evenodd")),e.beginPath(),a(e,Sa(n,t)),e.fillStyle=o,e.fill(),e.restore()}inRange(e,t,i){return ma(this,e,t,i)}inXRange(e,t){return ma(this,e,null,t)}inYRange(e,t){return ma(this,null,e,t)}getCenterPoint(e){const{x:t,y:i,base:o,horizontal:n}=this.getProps(["x","y","base","horizontal"],e);return{x:n?(t+o)/2:t,y:n?i:(i+o)/2}}getRange(e){return"x"===e?this.width/2:this.height/2}}ue(fa,"id","bar"),ue(fa,"defaults",{borderSkipped:"start",borderWidth:0,borderRadius:0,inflateAmount:"auto",pointStyle:void 0}),ue(fa,"defaultRoutes",{backgroundColor:"backgroundColor",borderColor:"borderColor"});var Ca=Object.freeze({__proto__:null,ArcElement:ta,BarElement:fa,LineElement:ga,PointElement:Aa});const Da=["rgb(54, 162, 235)","rgb(255, 99, 132)","rgb(255, 159, 64)","rgb(255, 205, 86)","rgb(75, 192, 192)","rgb(153, 102, 255)","rgb(201, 203, 207)"],La=Da.map((e=>e.replace("rgb(","rgba(").replace(")",", 0.5)")));function va(e){return Da[e%Da.length]}function wa(e){return La[e%La.length]}function ba(e){let t=0;return(i,o)=>{const n=e.getDatasetMeta(o).controller;n instanceof un?t=function(e,t){return e.backgroundColor=e.data.map((()=>va(t++))),t}(i,t):n instanceof pn?t=function(e,t){return e.backgroundColor=e.data.map((()=>wa(t++))),t}(i,t):n&&(t=function(e,t){return e.borderColor=va(t),e.backgroundColor=wa(t),++t}(i,t))}}function xa(e){let t;for(t in e)if(e[t].borderColor||e[t].backgroundColor)return!0;return!1}var Ra={id:"colors",defaults:{enabled:!0,forceOverride:!1},beforeLayout(e,t,i){if(!i.enabled)return;const{data:{datasets:o},options:n}=e.config,{elements:s}=n,a=xa(o)||(l=n)&&(l.borderColor||l.backgroundColor)||s&&xa(s)||"rgba(0,0,0,0.1)"!==fi.borderColor||"rgba(0,0,0,0.1)"!==fi.backgroundColor;var l;if(!i.forceOverride&&a)return;const r=ba(e);o.forEach(r)}};function Ia(e){if(e._decimated){const t=e._data;delete e._decimated,delete e._data,Object.defineProperty(e,"data",{configurable:!0,enumerable:!0,writable:!0,value:t})}}function Ha(e){e.data.datasets.forEach((e=>{Ia(e)}))}var _a={id:"decimation",defaults:{algorithm:"min-max",enabled:!1},beforeElementsUpdate:(e,t,i)=>{if(!i.enabled)return void Ha(e);const o=e.width;e.data.datasets.forEach(((t,n)=>{const{_data:s,indexAxis:a}=t,l=e.getDatasetMeta(n),r=s||t.data;if("y"===ji([a,e.options.indexAxis]))return;if(!l.controller.supportsDecimation)return;const h=e.scales[l.xAxisID];if("linear"!==h.type&&"time"!==h.type)return;if(e.options.parsing)return;let{start:g,count:M}=function(e,t){const i=t.length;let o,n=0;const{iScale:s}=e,{min:a,max:l,minDefined:r,maxDefined:h}=s.getUserBounds();return r&&(n=Vt(jt(t,s.axis,a).lo,0,i-1)),o=h?Vt(jt(t,s.axis,l).hi+1,n,i)-n:i-n,{start:n,count:o}}(l,r);if(M<=(i.threshold||4*o))return void Ia(t);let A;switch(Ge(s)&&(t._data=r,delete t.data,Object.defineProperty(t,"data",{configurable:!0,enumerable:!0,get:function(){return this._decimated},set:function(e){this._data=e}})),i.algorithm){case"lttb":A=function(e,t,i,o,n){const s=n.samples||o;if(s>=i)return e.slice(t,t+i);const a=[],l=(i-2)/(s-2);let r=0;const h=t+i-1;let g,M,A,c,d,u=t;for(a[r++]=e[u],g=0;g<s-2;g++){let o,n=0,s=0;const h=Math.floor((g+1)*l)+1+t,m=Math.min(Math.floor((g+2)*l)+1,i)+t,p=m-h;for(o=h;o<m;o++)n+=e[o].x,s+=e[o].y;n/=p,s/=p;const S=Math.floor(g*l)+1+t,f=Math.min(Math.floor((g+1)*l)+1,i)+t,{x:C,y:D}=e[u];for(A=c=-1,o=S;o<f;o++)c=.5*Math.abs((C-n)*(e[o].y-D)-(C-e[o].x)*(s-D)),c>A&&(A=c,M=e[o],d=o);a[r++]=M,u=d}return a[r++]=e[h],a}(r,g,M,o,i);break;case"min-max":A=function(e,t,i,o){let n,s,a,l,r,h,g,M,A,c,d=0,u=0;const m=[],p=t+i-1,S=e[t].x,f=e[p].x-S;for(n=t;n<t+i;++n){s=e[n],a=(s.x-S)/f*o,l=s.y;const t=0|a;if(t===r)l<A?(A=l,h=n):l>c&&(c=l,g=n),d=(u*d+s.x)/++u;else{const i=n-1;if(!Ge(h)&&!Ge(g)){const t=Math.min(h,g),o=Math.max(h,g);t!==M&&t!==i&&m.push({...e[t],x:d}),o!==M&&o!==i&&m.push({...e[o],x:d})}n>0&&i!==M&&m.push(e[i]),m.push(s),r=t,u=0,A=c=l,h=g=M=n}}return m}(r,g,M,o);break;default:throw new Error(`Unsupported decimation algorithm '${i.algorithm}'`)}t._decimated=A}))},destroy(e){Ha(e)}};function ya(e,t,i,o){if(o)return;let n=t[e],s=i[e];return"angle"===e&&(n=Ft(n),s=Ft(s)),{property:e,start:n,end:s}}function ka(e,t,i){for(;t>e;t--){const e=i[t];if(!isNaN(e.x)&&!isNaN(e.y))break}return t}function Pa(e,t,i,o){return e&&t?o(e[i],t[i]):e?e[i]:t?t[i]:0}function Oa(e,t){let i=[],o=!1;return Je(e)?(o=!0,i=e):i=function(e,t){const{x:i=null,y:o=null}=e||{},n=t.points,s=[];return t.segments.forEach((e=>{let{start:t,end:a}=e;a=ka(t,a,n);const l=n[t],r=n[a];null!==o?(s.push({x:l.x,y:o}),s.push({x:r.x,y:o})):null!==i&&(s.push({x:i,y:l.y}),s.push({x:i,y:r.y}))})),s}(e,t),i.length?new ga({points:i,options:{tension:0},_loop:o,_fullLoop:o}):null}function Ea(e){return e&&!1!==e.fill}function Ta(e,t,i){let o=e[t].fill;const n=[t];let s;if(!i)return o;for(;!1!==o&&-1===n.indexOf(o);){if(!et(o))return o;if(s=e[o],!s)return!1;if(s.visible)return o;n.push(o),o=s.fill}return!1}function za(e,t,i){const o=function(e){const t=e.options,i=t.fill;let o=it(i&&i.target,i);void 0===o&&(o=!!t.backgroundColor);if(!1===o||null===o)return!1;if(!0===o)return"origin";return o}(e);if(Qe(o))return!isNaN(o.value)&&o;let n=parseFloat(o);return et(n)&&Math.floor(n)===n?function(e,t,i,o){"-"!==e&&"+"!==e||(i=t+i);if(i===t||i<0||i>=o)return!1;return i}(o[0],t,n,i):["origin","start","end","stack","shape"].indexOf(o)>=0&&o}function $a(e,t,i){const o=[];for(let n=0;n<i.length;n++){const s=i[n],{first:a,last:l,point:r}=Fa(s,t,"x");if(!(!r||a&&l))if(a)o.unshift(r);else if(e.push(r),!l)break}e.push(...o)}function Fa(e,t,i){const o=e.interpolate(t,i);if(!o)return{};const n=o[i],s=e.segments,a=e.points;let l=!1,r=!1;for(let e=0;e<s.length;e++){const t=s[e],o=a[t.start][i],h=a[t.end][i];if(Bt(n,o,h)){l=n===o,r=n===h;break}}return{first:l,last:r,point:o}}class Na{constructor(e){this.x=e.x,this.y=e.y,this.radius=e.radius}pathSegment(e,t,i){const{x:o,y:n,radius:s}=this;return t=t||{start:0,end:Ct},e.arc(o,n,s,t.end,t.start,!0),!i.bounds}interpolate(e){const{x:t,y:i,radius:o}=this,n=e.angle;return{x:t+Math.cos(n)*o,y:i+Math.sin(n)*o,angle:n}}}function Va(e){const{chart:t,fill:i,line:o}=e;if(et(i))return function(e,t){const i=e.getDatasetMeta(t),o=i&&e.isDatasetVisible(t);return o?i.dataset:null}(t,i);if("stack"===i)return function(e){const{scale:t,index:i,line:o}=e,n=[],s=o.segments,a=o.points,l=function(e,t){const i=[],o=e.getMatchingVisibleMetas("line");for(let e=0;e<o.length;e++){const n=o[e];if(n.index===t)break;n.hidden||i.unshift(n.dataset)}return i}(t,i);l.push(Oa({x:null,y:t.bottom},o));for(let e=0;e<s.length;e++){const t=s[e];for(let e=t.start;e<=t.end;e++)$a(n,a[e],l)}return new ga({points:n,options:{}})}(e);if("shape"===i)return!0;const n=function(e){const t=e.scale||{};if(t.getPointPositionForValue)return function(e){const{scale:t,fill:i}=e,o=t.options,n=t.getLabels().length,s=o.reverse?t.max:t.min,a=function(e,t,i){let o;return o="start"===e?i:"end"===e?t.options.reverse?t.min:t.max:Qe(e)?e.value:t.getBaseValue(),o}(i,t,s),l=[];if(o.grid.circular){const e=t.getPointPositionForValue(0,s);return new Na({x:e.x,y:e.y,radius:t.getDistanceFromCenterForValue(a)})}for(let e=0;e<n;++e)l.push(t.getPointPositionForValue(e,a));return l}(e);return function(e){const{scale:t={},fill:i}=e,o=function(e,t){let i=null;return"start"===e?i=t.bottom:"end"===e?i=t.top:Qe(e)?i=t.getPixelForValue(e.value):t.getBasePixel&&(i=t.getBasePixel()),i}(i,t);if(et(o)){const e=t.isHorizontal();return{x:e?o:null,y:e?null:o}}return null}(e)}(e);return n instanceof Na?n:Oa(n,o)}function Ba(e,t,i){const o=Va(t),{line:n,scale:s,axis:a}=t,l=n.options,r=l.fill,h=l.backgroundColor,{above:g=h,below:M=h}=r||{};o&&n.points.length&&(Ri(e,i),function(e,t){const{line:i,target:o,above:n,below:s,area:a,scale:l}=t,r=i._loop?"angle":t.axis;e.save(),"x"===r&&s!==n&&(Wa(e,o,a.top),ja(e,{line:i,target:o,color:n,scale:l,property:r}),e.restore(),e.save(),Wa(e,o,a.bottom));ja(e,{line:i,target:o,color:s,scale:l,property:r}),e.restore()}(e,{line:n,target:o,above:g,below:M,area:i,scale:s,axis:a}),Ii(e))}function Wa(e,t,i){const{segments:o,points:n}=t;let s=!0,a=!1;e.beginPath();for(const l of o){const{start:o,end:r}=l,h=n[o],g=n[ka(o,r,n)];s?(e.moveTo(h.x,h.y),s=!1):(e.lineTo(h.x,i),e.lineTo(h.x,h.y)),a=!!t.pathSegment(e,l,{move:a}),a?e.closePath():e.lineTo(g.x,i)}e.lineTo(t.first().x,i),e.closePath(),e.clip()}function ja(e,t){const{line:i,target:o,property:n,color:s,scale:a}=t,l=function(e,t,i){const o=e.segments,n=e.points,s=t.points,a=[];for(const e of o){let{start:o,end:l}=e;l=ka(o,l,n);const r=ya(i,n[o],n[l],e.loop);if(!t.segments){a.push({source:e,target:r,start:n[o],end:n[l]});continue}const h=To(t,r);for(const t of h){const o=ya(i,s[t.start],s[t.end],t.loop),l=Eo(e,n,o);for(const e of l)a.push({source:e,target:t,start:{[i]:Pa(r,o,"start",Math.max)},end:{[i]:Pa(r,o,"end",Math.min)}})}}return a}(i,o,n);for(const{source:t,target:r,start:h,end:g}of l){const{style:{backgroundColor:l=s}={}}=t,M=!0!==o;e.save(),e.fillStyle=l,Ua(e,a,M&&ya(n,h,g)),e.beginPath();const A=!!i.pathSegment(e,t);let c;if(M){A?e.closePath():Ya(e,o,g,n);const t=!!o.pathSegment(e,r,{move:A,reverse:!0});c=A&&t,c||Ya(e,o,h,n)}e.closePath(),e.fill(c?"evenodd":"nonzero"),e.restore()}}function Ua(e,t,i){const{top:o,bottom:n}=t.chart.chartArea,{property:s,start:a,end:l}=i||{};"x"===s&&(e.beginPath(),e.rect(a,o,l-a,n-o),e.clip())}function Ya(e,t,i,o){const n=t.interpolate(i,o);n&&e.lineTo(n.x,n.y)}var Xa={id:"filler",afterDatasetsUpdate(e,t,i){const o=(e.data.datasets||[]).length,n=[];let s,a,l,r;for(a=0;a<o;++a)s=e.getDatasetMeta(a),l=s.dataset,r=null,l&&l.options&&l instanceof ga&&(r={visible:e.isDatasetVisible(a),index:a,fill:za(l,a,o),chart:e,axis:s.controller.options.indexAxis,scale:s.vScale,line:l}),s.$filler=r,n.push(r);for(a=0;a<o;++a)r=n[a],r&&!1!==r.fill&&(r.fill=Ta(n,a,i.propagate))},beforeDraw(e,t,i){const o="beforeDraw"===i.drawTime,n=e.getSortedVisibleDatasetMetas(),s=e.chartArea;for(let t=n.length-1;t>=0;--t){const i=n[t].$filler;i&&(i.line.updateControlPoints(s,i.axis),o&&i.fill&&Ba(e.ctx,i,s))}},beforeDatasetsDraw(e,t,i){if("beforeDatasetsDraw"!==i.drawTime)return;const o=e.getSortedVisibleDatasetMetas();for(let t=o.length-1;t>=0;--t){const i=o[t].$filler;Ea(i)&&Ba(e.ctx,i,e.chartArea)}},beforeDatasetDraw(e,t,i){const o=t.meta.$filler;Ea(o)&&"beforeDatasetDraw"===i.drawTime&&Ba(e.ctx,o,e.chartArea)},defaults:{propagate:!0,drawTime:"beforeDatasetDraw"}};const qa=(e,t)=>{let{boxHeight:i=t,boxWidth:o=t}=e;return e.usePointStyle&&(i=Math.min(i,t),o=e.pointStyleWidth||Math.min(o,t)),{boxWidth:o,boxHeight:i,itemHeight:Math.max(t,i)}};class Ka extends rs{constructor(e){super(),this._added=!1,this.legendHitBoxes=[],this._hoveredItem=null,this.doughnutMode=!1,this.chart=e.chart,this.options=e.options,this.ctx=e.ctx,this.legendItems=void 0,this.columnSizes=void 0,this.lineWidths=void 0,this.maxHeight=void 0,this.maxWidth=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.height=void 0,this.width=void 0,this._margins=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(e,t,i){this.maxWidth=e,this.maxHeight=t,this._margins=i,this.setDimensions(),this.buildLabels(),this.fit()}setDimensions(){this.isHorizontal()?(this.width=this.maxWidth,this.left=this._margins.left,this.right=this.width):(this.height=this.maxHeight,this.top=this._margins.top,this.bottom=this.height)}buildLabels(){const e=this.options.labels||{};let t=nt(e.generateLabels,[this.chart],this)||[];e.filter&&(t=t.filter((t=>e.filter(t,this.chart.data)))),e.sort&&(t=t.sort(((t,i)=>e.sort(t,i,this.chart.data)))),this.options.reverse&&t.reverse(),this.legendItems=t}fit(){const{options:e,ctx:t}=this;if(!e.display)return void(this.width=this.height=0);const i=e.labels,o=Wi(i.font),n=o.size,s=this._computeTitleHeight(),{boxWidth:a,itemHeight:l}=qa(i,n);let r,h;t.font=o.string,this.isHorizontal()?(r=this.maxWidth,h=this._fitRows(s,n,a,l)+10):(h=this.maxHeight,r=this._fitCols(s,o,a,l)+10),this.width=Math.min(r,e.maxWidth||this.maxWidth),this.height=Math.min(h,e.maxHeight||this.maxHeight)}_fitRows(e,t,i,o){const{ctx:n,maxWidth:s,options:{labels:{padding:a}}}=this,l=this.legendHitBoxes=[],r=this.lineWidths=[0],h=o+a;let g=e;n.textAlign="left",n.textBaseline="middle";let M=-1,A=-h;return this.legendItems.forEach(((e,c)=>{const d=i+t/2+n.measureText(e.text).width;(0===c||r[r.length-1]+d+2*a>s)&&(g+=h,r[r.length-(c>0?0:1)]=0,A+=h,M++),l[c]={left:0,top:A,row:M,width:d,height:o},r[r.length-1]+=d+a})),g}_fitCols(e,t,i,o){const{ctx:n,maxHeight:s,options:{labels:{padding:a}}}=this,l=this.legendHitBoxes=[],r=this.columnSizes=[],h=s-e;let g=a,M=0,A=0,c=0,d=0;return this.legendItems.forEach(((e,s)=>{const{itemWidth:u,itemHeight:m}=function(e,t,i,o,n){const s=function(e,t,i,o){let n=e.text;n&&"string"!=typeof n&&(n=n.reduce(((e,t)=>e.length>t.length?e:t)));return t+i.size/2+o.measureText(n).width}(o,e,t,i),a=function(e,t,i){let o=e;"string"!=typeof t.text&&(o=Za(t,i));return o}(n,o,t.lineHeight);return{itemWidth:s,itemHeight:a}}(i,t,n,e,o);s>0&&A+m+2*a>h&&(g+=M+a,r.push({width:M,height:A}),c+=M+a,d++,M=A=0),l[s]={left:c,top:A,col:d,width:u,height:m},M=Math.max(M,u),A+=m+a})),g+=M,r.push({width:M,height:A}),g}adjustHitBoxes(){if(!this.options.display)return;const e=this._computeTitleHeight(),{legendHitBoxes:t,options:{align:i,labels:{padding:o},rtl:n}}=this,s=_o(n,this.left,this.width);if(this.isHorizontal()){let n=0,a=Jt(i,this.left+o,this.right-this.lineWidths[n]);for(const l of t)n!==l.row&&(n=l.row,a=Jt(i,this.left+o,this.right-this.lineWidths[n])),l.top+=this.top+e+o,l.left=s.leftForLtr(s.x(a),l.width),a+=l.width+o}else{let n=0,a=Jt(i,this.top+e+o,this.bottom-this.columnSizes[n].height);for(const l of t)l.col!==n&&(n=l.col,a=Jt(i,this.top+e+o,this.bottom-this.columnSizes[n].height)),l.top=a,l.left+=this.left+o,l.left=s.leftForLtr(s.x(l.left),l.width),a+=l.height+o}}isHorizontal(){return"top"===this.options.position||"bottom"===this.options.position}draw(){if(this.options.display){const e=this.ctx;Ri(e,this),this._draw(),Ii(e)}}_draw(){const{options:e,columnSizes:t,lineWidths:i,ctx:o}=this,{align:n,labels:s}=e,a=fi.color,l=_o(e.rtl,this.left,this.width),r=Wi(s.font),{padding:h}=s,g=r.size,M=g/2;let A;this.drawTitle(),o.textAlign=l.textAlign("left"),o.textBaseline="middle",o.lineWidth=.5,o.font=r.string;const{boxWidth:c,boxHeight:d,itemHeight:u}=qa(s,g),m=this.isHorizontal(),p=this._computeTitleHeight();A=m?{x:Jt(n,this.left+h,this.right-i[0]),y:this.top+h+p,line:0}:{x:this.left+h,y:Jt(n,this.top+p+h,this.bottom-t[0].height),line:0},yo(this.ctx,e.textDirection);const S=u+h;this.legendItems.forEach(((f,C)=>{o.strokeStyle=f.fontColor,o.fillStyle=f.fontColor;const D=o.measureText(f.text).width,L=l.textAlign(f.textAlign||(f.textAlign=s.textAlign)),v=c+M+D;let w=A.x,b=A.y;l.setWidth(this.width),m?C>0&&w+v+h>this.right&&(b=A.y+=S,A.line++,w=A.x=Jt(n,this.left+h,this.right-i[A.line])):C>0&&b+S>this.bottom&&(w=A.x=w+t[A.line].width+h,A.line++,b=A.y=Jt(n,this.top+p+h,this.bottom-t[A.line].height));if(function(e,t,i){if(isNaN(c)||c<=0||isNaN(d)||d<0)return;o.save();const n=it(i.lineWidth,1);if(o.fillStyle=it(i.fillStyle,a),o.lineCap=it(i.lineCap,"butt"),o.lineDashOffset=it(i.lineDashOffset,0),o.lineJoin=it(i.lineJoin,"miter"),o.lineWidth=n,o.strokeStyle=it(i.strokeStyle,a),o.setLineDash(it(i.lineDash,[])),s.usePointStyle){const a={radius:d*Math.SQRT2/2,pointStyle:i.pointStyle,rotation:i.rotation,borderWidth:n},r=l.xPlus(e,c/2);bi(o,a,r,t+M,s.pointStyleWidth&&c)}else{const s=t+Math.max((g-d)/2,0),a=l.leftForLtr(e,c),r=Vi(i.borderRadius);o.beginPath(),Object.values(r).some((e=>0!==e))?Oi(o,{x:a,y:s,w:c,h:d,radius:r}):o.rect(a,s,c,d),o.fill(),0!==n&&o.stroke()}o.restore()}(l.x(w),b,f),w=((e,t,i,o)=>e===(o?"left":"right")?i:"center"===e?(t+i)/2:t)(L,w+c+M,m?w+v:this.right,e.rtl),function(e,t,i){Pi(o,i.text,e,t+u/2,r,{strikethrough:i.hidden,textAlign:l.textAlign(i.textAlign)})}(l.x(w),b,f),m)A.x+=v+h;else if("string"!=typeof f.text){const e=r.lineHeight;A.y+=Za(f,e)+h}else A.y+=S})),ko(this.ctx,e.textDirection)}drawTitle(){const e=this.options,t=e.title,i=Wi(t.font),o=Bi(t.padding);if(!t.display)return;const n=_o(e.rtl,this.left,this.width),s=this.ctx,a=t.position,l=i.size/2,r=o.top+l;let h,g=this.left,M=this.width;if(this.isHorizontal())M=Math.max(...this.lineWidths),h=this.top+r,g=Jt(e.align,g,this.right-M);else{const t=this.columnSizes.reduce(((e,t)=>Math.max(e,t.height)),0);h=r+Jt(e.align,this.top,this.bottom-t-e.labels.padding-this._computeTitleHeight())}const A=Jt(a,g,g+M);s.textAlign=n.textAlign(Gt(a)),s.textBaseline="middle",s.strokeStyle=t.color,s.fillStyle=t.color,s.font=i.string,Pi(s,t.text,A,h,i)}_computeTitleHeight(){const e=this.options.title,t=Wi(e.font),i=Bi(e.padding);return e.display?t.lineHeight+i.height:0}_getLegendItemAt(e,t){let i,o,n;if(Bt(e,this.left,this.right)&&Bt(t,this.top,this.bottom))for(n=this.legendHitBoxes,i=0;i<n.length;++i)if(o=n[i],Bt(e,o.left,o.left+o.width)&&Bt(t,o.top,o.top+o.height))return this.legendItems[i];return null}handleEvent(e){const t=this.options;if(!function(e,t){if(("mousemove"===e||"mouseout"===e)&&(t.onHover||t.onLeave))return!0;if(t.onClick&&("click"===e||"mouseup"===e))return!0;return!1}(e.type,t))return;const i=this._getLegendItemAt(e.x,e.y);if("mousemove"===e.type||"mouseout"===e.type){const o=this._hoveredItem,n=((e,t)=>null!==e&&null!==t&&e.datasetIndex===t.datasetIndex&&e.index===t.index)(o,i);o&&!n&&nt(t.onLeave,[e,o,this],this),this._hoveredItem=i,i&&!n&&nt(t.onHover,[e,i,this],this)}else i&&nt(t.onClick,[e,i,this],this)}}function Za(e,t){return t*(e.text?e.text.length:0)}var Ga={id:"legend",_element:Ka,start(e,t,i){const o=e.legend=new Ka({ctx:e.ctx,options:i,chart:e});jn.configure(e,o,i),jn.addBox(e,o)},stop(e){jn.removeBox(e,e.legend),delete e.legend},beforeUpdate(e,t,i){const o=e.legend;jn.configure(e,o,i),o.options=i},afterUpdate(e){const t=e.legend;t.buildLabels(),t.adjustHitBoxes()},afterEvent(e,t){t.replay||e.legend.handleEvent(t.event)},defaults:{display:!0,position:"top",align:"center",fullSize:!0,reverse:!1,weight:1e3,onClick(e,t,i){const o=t.datasetIndex,n=i.chart;n.isDatasetVisible(o)?(n.hide(o),t.hidden=!0):(n.show(o),t.hidden=!1)},onHover:null,onLeave:null,labels:{color:e=>e.chart.options.color,boxWidth:40,padding:10,generateLabels(e){const t=e.data.datasets,{labels:{usePointStyle:i,pointStyle:o,textAlign:n,color:s,useBorderRadius:a,borderRadius:l}}=e.legend.options;return e._getSortedDatasetMetas().map((e=>{const r=e.controller.getStyle(i?0:void 0),h=Bi(r.borderWidth);return{text:t[e.index].label,fillStyle:r.backgroundColor,fontColor:s,hidden:!e.visible,lineCap:r.borderCapStyle,lineDash:r.borderDash,lineDashOffset:r.borderDashOffset,lineJoin:r.borderJoinStyle,lineWidth:(h.width+h.height)/4,strokeStyle:r.borderColor,pointStyle:o||r.pointStyle,rotation:r.rotation,textAlign:n||r.textAlign,borderRadius:a&&(l||r.borderRadius),datasetIndex:e.index}}),this)}},title:{color:e=>e.chart.options.color,display:!1,position:"center",text:""}},descriptors:{_scriptable:e=>!e.startsWith("on"),labels:{_scriptable:e=>!["generateLabels","filter","sort"].includes(e)}}};class Ja extends rs{constructor(e){super(),this.chart=e.chart,this.options=e.options,this.ctx=e.ctx,this._padding=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.width=void 0,this.height=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(e,t){const i=this.options;if(this.left=0,this.top=0,!i.display)return void(this.width=this.height=this.right=this.bottom=0);this.width=this.right=e,this.height=this.bottom=t;const o=Je(i.text)?i.text.length:1;this._padding=Bi(i.padding);const n=o*Wi(i.font).lineHeight+this._padding.height;this.isHorizontal()?this.height=n:this.width=n}isHorizontal(){const e=this.options.position;return"top"===e||"bottom"===e}_drawArgs(e){const{top:t,left:i,bottom:o,right:n,options:s}=this,a=s.align;let l,r,h,g=0;return this.isHorizontal()?(r=Jt(a,i,n),h=t+e,l=n-i):("left"===s.position?(r=i+e,h=Jt(a,o,t),g=-.5*ft):(r=n-e,h=Jt(a,t,o),g=.5*ft),l=o-t),{titleX:r,titleY:h,maxWidth:l,rotation:g}}draw(){const e=this.ctx,t=this.options;if(!t.display)return;const i=Wi(t.font),o=i.lineHeight/2+this._padding.top,{titleX:n,titleY:s,maxWidth:a,rotation:l}=this._drawArgs(o);Pi(e,t.text,0,0,i,{color:t.color,maxWidth:a,rotation:l,textAlign:Gt(t.align),textBaseline:"middle",translation:[n,s]})}}var Qa={id:"title",_element:Ja,start(e,t,i){!function(e,t){const i=new Ja({ctx:e.ctx,options:t,chart:e});jn.configure(e,i,t),jn.addBox(e,i),e.titleBlock=i}(e,i)},stop(e){const t=e.titleBlock;jn.removeBox(e,t),delete e.titleBlock},beforeUpdate(e,t,i){const o=e.titleBlock;jn.configure(e,o,i),o.options=i},defaults:{align:"center",display:!1,font:{weight:"bold"},fullSize:!0,padding:10,position:"top",text:"",weight:2e3},defaultRoutes:{color:"color"},descriptors:{_scriptable:!0,_indexable:!1}};const el=new WeakMap;var tl={id:"subtitle",start(e,t,i){const o=new Ja({ctx:e.ctx,options:i,chart:e});jn.configure(e,o,i),jn.addBox(e,o),el.set(e,o)},stop(e){jn.removeBox(e,el.get(e)),el.delete(e)},beforeUpdate(e,t,i){const o=el.get(e);jn.configure(e,o,i),o.options=i},defaults:{align:"center",display:!1,font:{weight:"normal"},fullSize:!0,padding:0,position:"top",text:"",weight:1500},defaultRoutes:{color:"color"},descriptors:{_scriptable:!0,_indexable:!1}};const il={average(e){if(!e.length)return!1;let t,i,o=new Set,n=0,s=0;for(t=0,i=e.length;t<i;++t){const i=e[t].element;if(i&&i.hasValue()){const e=i.tooltipPosition();o.add(e.x),n+=e.y,++s}}if(0===s||0===o.size)return!1;const a=[...o].reduce(((e,t)=>e+t))/o.size;return{x:a,y:n/s}},nearest(e,t){if(!e.length)return!1;let i,o,n,s=t.x,a=t.y,l=Number.POSITIVE_INFINITY;for(i=0,o=e.length;i<o;++i){const o=e[i].element;if(o&&o.hasValue()){const e=zt(t,o.getCenterPoint());e<l&&(l=e,n=o)}}if(n){const e=n.tooltipPosition();s=e.x,a=e.y}return{x:s,y:a}}};function ol(e,t){return t&&(Je(t)?Array.prototype.push.apply(e,t):e.push(t)),e}function nl(e){return("string"==typeof e||e instanceof String)&&e.indexOf("\n")>-1?e.split("\n"):e}function sl(e,t){const{element:i,datasetIndex:o,index:n}=t,s=e.getDatasetMeta(o).controller,{label:a,value:l}=s.getLabelAndValue(n);return{chart:e,label:a,parsed:s.getParsed(n),raw:e.data.datasets[o].data[n],formattedValue:l,dataset:s.getDataset(),dataIndex:n,datasetIndex:o,element:i}}function al(e,t){const i=e.chart.ctx,{body:o,footer:n,title:s}=e,{boxWidth:a,boxHeight:l}=t,r=Wi(t.bodyFont),h=Wi(t.titleFont),g=Wi(t.footerFont),M=s.length,A=n.length,c=o.length,d=Bi(t.padding);let u=d.height,m=0,p=o.reduce(((e,t)=>e+t.before.length+t.lines.length+t.after.length),0);if(p+=e.beforeBody.length+e.afterBody.length,M&&(u+=M*h.lineHeight+(M-1)*t.titleSpacing+t.titleMarginBottom),p){u+=c*(t.displayColors?Math.max(l,r.lineHeight):r.lineHeight)+(p-c)*r.lineHeight+(p-1)*t.bodySpacing}A&&(u+=t.footerMarginTop+A*g.lineHeight+(A-1)*t.footerSpacing);let S=0;const f=function(e){m=Math.max(m,i.measureText(e).width+S)};return i.save(),i.font=h.string,st(e.title,f),i.font=r.string,st(e.beforeBody.concat(e.afterBody),f),S=t.displayColors?a+2+t.boxPadding:0,st(o,(e=>{st(e.before,f),st(e.lines,f),st(e.after,f)})),S=0,i.font=g.string,st(e.footer,f),i.restore(),m+=d.width,{width:m,height:u}}function ll(e,t,i,o){const{x:n,width:s}=i,{width:a,chartArea:{left:l,right:r}}=e;let h="center";return"center"===o?h=n<=(l+r)/2?"left":"right":n<=s/2?h="left":n>=a-s/2&&(h="right"),function(e,t,i,o){const{x:n,width:s}=o,a=i.caretSize+i.caretPadding;return"left"===e&&n+s+a>t.width||"right"===e&&n-s-a<0||void 0}(h,e,t,i)&&(h="center"),h}function rl(e,t,i){const o=i.yAlign||t.yAlign||function(e,t){const{y:i,height:o}=t;return i<o/2?"top":i>e.height-o/2?"bottom":"center"}(e,i);return{xAlign:i.xAlign||t.xAlign||ll(e,t,i,o),yAlign:o}}function hl(e,t,i,o){const{caretSize:n,caretPadding:s,cornerRadius:a}=e,{xAlign:l,yAlign:r}=i,h=n+s,{topLeft:g,topRight:M,bottomLeft:A,bottomRight:c}=Vi(a);let d=function(e,t){let{x:i,width:o}=e;return"right"===t?i-=o:"center"===t&&(i-=o/2),i}(t,l);const u=function(e,t,i){let{y:o,height:n}=e;return"top"===t?o+=i:o-="bottom"===t?n+i:n/2,o}(t,r,h);return"center"===r?"left"===l?d+=h:"right"===l&&(d-=h):"left"===l?d-=Math.max(g,A)+n:"right"===l&&(d+=Math.max(M,c)+n),{x:Vt(d,0,o.width-t.width),y:Vt(u,0,o.height-t.height)}}function gl(e,t,i){const o=Bi(i.padding);return"center"===t?e.x+e.width/2:"right"===t?e.x+e.width-o.right:e.x+o.left}function Ml(e){return ol([],nl(e))}function Al(e,t){const i=t&&t.dataset&&t.dataset.tooltip&&t.dataset.tooltip.callbacks;return i?e.override(i):e}const cl={beforeTitle:Ke,title(e){if(e.length>0){const t=e[0],i=t.chart.data.labels,o=i?i.length:0;if(this&&this.options&&"dataset"===this.options.mode)return t.dataset.label||"";if(t.label)return t.label;if(o>0&&t.dataIndex<o)return i[t.dataIndex]}return""},afterTitle:Ke,beforeBody:Ke,beforeLabel:Ke,label(e){if(this&&this.options&&"dataset"===this.options.mode)return e.label+": "+e.formattedValue||e.formattedValue;let t=e.dataset.label||"";t&&(t+=": ");const i=e.formattedValue;return Ge(i)||(t+=i),t},labelColor(e){const t=e.chart.getDatasetMeta(e.datasetIndex).controller.getStyle(e.dataIndex);return{borderColor:t.borderColor,backgroundColor:t.backgroundColor,borderWidth:t.borderWidth,borderDash:t.borderDash,borderDashOffset:t.borderDashOffset,borderRadius:0}},labelTextColor(){return this.options.bodyColor},labelPointStyle(e){const t=e.chart.getDatasetMeta(e.datasetIndex).controller.getStyle(e.dataIndex);return{pointStyle:t.pointStyle,rotation:t.rotation}},afterLabel:Ke,afterBody:Ke,beforeFooter:Ke,footer:Ke,afterFooter:Ke};function dl(e,t,i,o){const n=e[t].call(i,o);return void 0===n?cl[t].call(i,o):n}class ul extends rs{constructor(e){super(),this.opacity=0,this._active=[],this._eventPosition=void 0,this._size=void 0,this._cachedAnimations=void 0,this._tooltipItems=[],this.$animations=void 0,this.$context=void 0,this.chart=e.chart,this.options=e.options,this.dataPoints=void 0,this.title=void 0,this.beforeBody=void 0,this.body=void 0,this.afterBody=void 0,this.footer=void 0,this.xAlign=void 0,this.yAlign=void 0,this.x=void 0,this.y=void 0,this.height=void 0,this.width=void 0,this.caretX=void 0,this.caretY=void 0,this.labelColors=void 0,this.labelPointStyles=void 0,this.labelTextColors=void 0}initialize(e){this.options=e,this._cachedAnimations=void 0,this.$context=void 0}_resolveAnimations(){const e=this._cachedAnimations;if(e)return e;const t=this.chart,i=this.options.setContext(this.getContext()),o=i.enabled&&t.options.animation&&i.animations,n=new Uo(this.chart,o);return o._cacheable&&(this._cachedAnimations=Object.freeze(n)),n}getContext(){return this.$context||(this.$context=(e=this.chart.getContext(),t=this,i=this._tooltipItems,Ui(e,{tooltip:t,tooltipItems:i,type:"tooltip"})));var e,t,i}getTitle(e,t){const{callbacks:i}=t,o=dl(i,"beforeTitle",this,e),n=dl(i,"title",this,e),s=dl(i,"afterTitle",this,e);let a=[];return a=ol(a,nl(o)),a=ol(a,nl(n)),a=ol(a,nl(s)),a}getBeforeBody(e,t){return Ml(dl(t.callbacks,"beforeBody",this,e))}getBody(e,t){const{callbacks:i}=t,o=[];return st(e,(e=>{const t={before:[],lines:[],after:[]},n=Al(i,e);ol(t.before,nl(dl(n,"beforeLabel",this,e))),ol(t.lines,dl(n,"label",this,e)),ol(t.after,nl(dl(n,"afterLabel",this,e))),o.push(t)})),o}getAfterBody(e,t){return Ml(dl(t.callbacks,"afterBody",this,e))}getFooter(e,t){const{callbacks:i}=t,o=dl(i,"beforeFooter",this,e),n=dl(i,"footer",this,e),s=dl(i,"afterFooter",this,e);let a=[];return a=ol(a,nl(o)),a=ol(a,nl(n)),a=ol(a,nl(s)),a}_createItems(e){const t=this._active,i=this.chart.data,o=[],n=[],s=[];let a,l,r=[];for(a=0,l=t.length;a<l;++a)r.push(sl(this.chart,t[a]));return e.filter&&(r=r.filter(((t,o,n)=>e.filter(t,o,n,i)))),e.itemSort&&(r=r.sort(((t,o)=>e.itemSort(t,o,i)))),st(r,(t=>{const i=Al(e.callbacks,t);o.push(dl(i,"labelColor",this,t)),n.push(dl(i,"labelPointStyle",this,t)),s.push(dl(i,"labelTextColor",this,t))})),this.labelColors=o,this.labelPointStyles=n,this.labelTextColors=s,this.dataPoints=r,r}update(e,t){const i=this.options.setContext(this.getContext()),o=this._active;let n,s=[];if(o.length){const e=il[i.position].call(this,o,this._eventPosition);s=this._createItems(i),this.title=this.getTitle(s,i),this.beforeBody=this.getBeforeBody(s,i),this.body=this.getBody(s,i),this.afterBody=this.getAfterBody(s,i),this.footer=this.getFooter(s,i);const t=this._size=al(this,i),a=Object.assign({},e,t),l=rl(this.chart,i,a),r=hl(i,a,l,this.chart);this.xAlign=l.xAlign,this.yAlign=l.yAlign,n={opacity:1,x:r.x,y:r.y,width:t.width,height:t.height,caretX:e.x,caretY:e.y}}else 0!==this.opacity&&(n={opacity:0});this._tooltipItems=s,this.$context=void 0,n&&this._resolveAnimations().update(this,n),e&&i.external&&i.external.call(this,{chart:this.chart,tooltip:this,replay:t})}drawCaret(e,t,i,o){const n=this.getCaretPosition(e,i,o);t.lineTo(n.x1,n.y1),t.lineTo(n.x2,n.y2),t.lineTo(n.x3,n.y3)}getCaretPosition(e,t,i){const{xAlign:o,yAlign:n}=this,{caretSize:s,cornerRadius:a}=i,{topLeft:l,topRight:r,bottomLeft:h,bottomRight:g}=Vi(a),{x:M,y:A}=e,{width:c,height:d}=t;let u,m,p,S,f,C;return"center"===n?(f=A+d/2,"left"===o?(u=M,m=u-s,S=f+s,C=f-s):(u=M+c,m=u+s,S=f-s,C=f+s),p=u):(m="left"===o?M+Math.max(l,h)+s:"right"===o?M+c-Math.max(r,g)-s:this.caretX,"top"===n?(S=A,f=S-s,u=m-s,p=m+s):(S=A+d,f=S+s,u=m+s,p=m-s),C=S),{x1:u,x2:m,x3:p,y1:S,y2:f,y3:C}}drawTitle(e,t,i){const o=this.title,n=o.length;let s,a,l;if(n){const r=_o(i.rtl,this.x,this.width);for(e.x=gl(this,i.titleAlign,i),t.textAlign=r.textAlign(i.titleAlign),t.textBaseline="middle",s=Wi(i.titleFont),a=i.titleSpacing,t.fillStyle=i.titleColor,t.font=s.string,l=0;l<n;++l)t.fillText(o[l],r.x(e.x),e.y+s.lineHeight/2),e.y+=s.lineHeight+a,l+1===n&&(e.y+=i.titleMarginBottom-a)}}_drawColorBox(e,t,i,o,n){const s=this.labelColors[i],a=this.labelPointStyles[i],{boxHeight:l,boxWidth:r}=n,h=Wi(n.bodyFont),g=gl(this,"left",n),M=o.x(g),A=l<h.lineHeight?(h.lineHeight-l)/2:0,c=t.y+A;if(n.usePointStyle){const t={radius:Math.min(r,l)/2,pointStyle:a.pointStyle,rotation:a.rotation,borderWidth:1},i=o.leftForLtr(M,r)+r/2,h=c+l/2;e.strokeStyle=n.multiKeyBackground,e.fillStyle=n.multiKeyBackground,wi(e,t,i,h),e.strokeStyle=s.borderColor,e.fillStyle=s.backgroundColor,wi(e,t,i,h)}else{e.lineWidth=Qe(s.borderWidth)?Math.max(...Object.values(s.borderWidth)):s.borderWidth||1,e.strokeStyle=s.borderColor,e.setLineDash(s.borderDash||[]),e.lineDashOffset=s.borderDashOffset||0;const t=o.leftForLtr(M,r),i=o.leftForLtr(o.xPlus(M,1),r-2),a=Vi(s.borderRadius);Object.values(a).some((e=>0!==e))?(e.beginPath(),e.fillStyle=n.multiKeyBackground,Oi(e,{x:t,y:c,w:r,h:l,radius:a}),e.fill(),e.stroke(),e.fillStyle=s.backgroundColor,e.beginPath(),Oi(e,{x:i,y:c+1,w:r-2,h:l-2,radius:a}),e.fill()):(e.fillStyle=n.multiKeyBackground,e.fillRect(t,c,r,l),e.strokeRect(t,c,r,l),e.fillStyle=s.backgroundColor,e.fillRect(i,c+1,r-2,l-2))}e.fillStyle=this.labelTextColors[i]}drawBody(e,t,i){const{body:o}=this,{bodySpacing:n,bodyAlign:s,displayColors:a,boxHeight:l,boxWidth:r,boxPadding:h}=i,g=Wi(i.bodyFont);let M=g.lineHeight,A=0;const c=_o(i.rtl,this.x,this.width),d=function(i){t.fillText(i,c.x(e.x+A),e.y+M/2),e.y+=M+n},u=c.textAlign(s);let m,p,S,f,C,D,L;for(t.textAlign=s,t.textBaseline="middle",t.font=g.string,e.x=gl(this,u,i),t.fillStyle=i.bodyColor,st(this.beforeBody,d),A=a&&"right"!==u?"center"===s?r/2+h:r+2+h:0,f=0,D=o.length;f<D;++f){for(m=o[f],p=this.labelTextColors[f],t.fillStyle=p,st(m.before,d),S=m.lines,a&&S.length&&(this._drawColorBox(t,e,f,c,i),M=Math.max(g.lineHeight,l)),C=0,L=S.length;C<L;++C)d(S[C]),M=g.lineHeight;st(m.after,d)}A=0,M=g.lineHeight,st(this.afterBody,d),e.y-=n}drawFooter(e,t,i){const o=this.footer,n=o.length;let s,a;if(n){const l=_o(i.rtl,this.x,this.width);for(e.x=gl(this,i.footerAlign,i),e.y+=i.footerMarginTop,t.textAlign=l.textAlign(i.footerAlign),t.textBaseline="middle",s=Wi(i.footerFont),t.fillStyle=i.footerColor,t.font=s.string,a=0;a<n;++a)t.fillText(o[a],l.x(e.x),e.y+s.lineHeight/2),e.y+=s.lineHeight+i.footerSpacing}}drawBackground(e,t,i,o){const{xAlign:n,yAlign:s}=this,{x:a,y:l}=e,{width:r,height:h}=i,{topLeft:g,topRight:M,bottomLeft:A,bottomRight:c}=Vi(o.cornerRadius);t.fillStyle=o.backgroundColor,t.strokeStyle=o.borderColor,t.lineWidth=o.borderWidth,t.beginPath(),t.moveTo(a+g,l),"top"===s&&this.drawCaret(e,t,i,o),t.lineTo(a+r-M,l),t.quadraticCurveTo(a+r,l,a+r,l+M),"center"===s&&"right"===n&&this.drawCaret(e,t,i,o),t.lineTo(a+r,l+h-c),t.quadraticCurveTo(a+r,l+h,a+r-c,l+h),"bottom"===s&&this.drawCaret(e,t,i,o),t.lineTo(a+A,l+h),t.quadraticCurveTo(a,l+h,a,l+h-A),"center"===s&&"left"===n&&this.drawCaret(e,t,i,o),t.lineTo(a,l+g),t.quadraticCurveTo(a,l,a+g,l),t.closePath(),t.fill(),o.borderWidth>0&&t.stroke()}_updateAnimationTarget(e){const t=this.chart,i=this.$animations,o=i&&i.x,n=i&&i.y;if(o||n){const i=il[e.position].call(this,this._active,this._eventPosition);if(!i)return;const s=this._size=al(this,e),a=Object.assign({},i,this._size),l=rl(t,e,a),r=hl(e,a,l,t);o._to===r.x&&n._to===r.y||(this.xAlign=l.xAlign,this.yAlign=l.yAlign,this.width=s.width,this.height=s.height,this.caretX=i.x,this.caretY=i.y,this._resolveAnimations().update(this,r))}}_willRender(){return!!this.opacity}draw(e){const t=this.options.setContext(this.getContext());let i=this.opacity;if(!i)return;this._updateAnimationTarget(t);const o={width:this.width,height:this.height},n={x:this.x,y:this.y};i=Math.abs(i)<.001?0:i;const s=Bi(t.padding),a=this.title.length||this.beforeBody.length||this.body.length||this.afterBody.length||this.footer.length;t.enabled&&a&&(e.save(),e.globalAlpha=i,this.drawBackground(n,e,o,t),yo(e,t.textDirection),n.y+=s.top,this.drawTitle(n,e,t),this.drawBody(n,e,t),this.drawFooter(n,e,t),ko(e,t.textDirection),e.restore())}getActiveElements(){return this._active||[]}setActiveElements(e,t){const i=this._active,o=e.map((e=>{let{datasetIndex:t,index:i}=e;const o=this.chart.getDatasetMeta(t);if(!o)throw new Error("Cannot find a dataset at index "+t);return{datasetIndex:t,element:o.data[i],index:i}})),n=!at(i,o),s=this._positionChanged(o,t);(n||s)&&(this._active=o,this._eventPosition=t,this._ignoreReplayEvents=!0,this.update(!0))}handleEvent(e,t){let i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];if(t&&this._ignoreReplayEvents)return!1;this._ignoreReplayEvents=!1;const o=this.options,n=this._active||[],s=this._getActiveElements(e,n,t,i),a=this._positionChanged(s,e),l=t||!at(s,n)||a;return l&&(this._active=s,(o.enabled||o.external)&&(this._eventPosition={x:e.x,y:e.y},this.update(!0,t))),l}_getActiveElements(e,t,i,o){const n=this.options;if("mouseout"===e.type)return[];if(!o)return t.filter((e=>this.chart.data.datasets[e.datasetIndex]&&void 0!==this.chart.getDatasetMeta(e.datasetIndex).controller.getParsed(e.index)));const s=this.chart.getElementsAtEventForMode(e,n.mode,n,i);return n.reverse&&s.reverse(),s}_positionChanged(e,t){const{caretX:i,caretY:o,options:n}=this,s=il[n.position].call(this,e,t);return!1!==s&&(i!==s.x||o!==s.y)}}ue(ul,"positioners",il);var ml={id:"tooltip",_element:ul,positioners:il,afterInit(e,t,i){i&&(e.tooltip=new ul({chart:e,options:i}))},beforeUpdate(e,t,i){e.tooltip&&e.tooltip.initialize(i)},reset(e,t,i){e.tooltip&&e.tooltip.initialize(i)},afterDraw(e){const t=e.tooltip;if(t&&t._willRender()){const i={tooltip:t};if(!1===e.notifyPlugins("beforeTooltipDraw",{...i,cancelable:!0}))return;t.draw(e.ctx),e.notifyPlugins("afterTooltipDraw",i)}},afterEvent(e,t){if(e.tooltip){const i=t.replay;e.tooltip.handleEvent(t.event,i,t.inChartArea)&&(t.changed=!0)}},defaults:{enabled:!0,external:null,position:"average",backgroundColor:"rgba(0,0,0,0.8)",titleColor:"#fff",titleFont:{weight:"bold"},titleSpacing:2,titleMarginBottom:6,titleAlign:"left",bodyColor:"#fff",bodySpacing:2,bodyFont:{},bodyAlign:"left",footerColor:"#fff",footerSpacing:2,footerMarginTop:6,footerFont:{weight:"bold"},footerAlign:"left",padding:6,caretPadding:2,caretSize:5,cornerRadius:6,boxHeight:(e,t)=>t.bodyFont.size,boxWidth:(e,t)=>t.bodyFont.size,multiKeyBackground:"#fff",displayColors:!0,boxPadding:0,borderColor:"rgba(0,0,0,0)",borderWidth:0,animation:{duration:400,easing:"easeOutQuart"},animations:{numbers:{type:"number",properties:["x","y","width","height","caretX","caretY"]},opacity:{easing:"linear",duration:200}},callbacks:cl},defaultRoutes:{bodyFont:"font",footerFont:"font",titleFont:"font"},descriptors:{_scriptable:e=>"filter"!==e&&"itemSort"!==e&&"external"!==e,_indexable:!1,callbacks:{_scriptable:!1,_indexable:!1},animation:{_fallback:!1},animations:{_fallback:"animation"}},additionalOptionScopes:["interaction"]},pl=Object.freeze({__proto__:null,Colors:Ra,Decimation:_a,Filler:Xa,Legend:Ga,SubTitle:tl,Title:Qa,Tooltip:ml});function Sl(e,t,i,o){const n=e.indexOf(t);if(-1===n)return((e,t,i,o)=>("string"==typeof t?(i=e.push(t)-1,o.unshift({index:i,label:t})):isNaN(t)&&(i=null),i))(e,t,i,o);return n!==e.lastIndexOf(t)?i:n}function fl(e){const t=this.getLabels();return e>=0&&e<t.length?t[e]:e}class Cl extends Ss{constructor(e){super(e),this._startValue=void 0,this._valueRange=0,this._addedLabels=[]}init(e){const t=this._addedLabels;if(t.length){const e=this.getLabels();for(const{index:i,label:o}of t)e[i]===o&&e.splice(i,1);this._addedLabels=[]}super.init(e)}parse(e,t){if(Ge(e))return null;const i=this.getLabels();return((e,t)=>null===e?null:Vt(Math.round(e),0,t))(t=isFinite(t)&&i[t]===e?t:Sl(i,e,it(t,e),this._addedLabels),i.length-1)}determineDataLimits(){const{minDefined:e,maxDefined:t}=this.getUserBounds();let{min:i,max:o}=this.getMinMax(!0);"ticks"===this.options.bounds&&(e||(i=0),t||(o=this.getLabels().length-1)),this.min=i,this.max=o}buildTicks(){const e=this.min,t=this.max,i=this.options.offset,o=[];let n=this.getLabels();n=0===e&&t===n.length-1?n:n.slice(e,t+1),this._valueRange=Math.max(n.length-(i?0:1),1),this._startValue=this.min-(i?.5:0);for(let i=e;i<=t;i++)o.push({value:i});return o}getLabelForValue(e){return fl.call(this,e)}configure(){super.configure(),this.isHorizontal()||(this._reversePixels=!this._reversePixels)}getPixelForValue(e){return"number"!=typeof e&&(e=this.parse(e)),null===e?NaN:this.getPixelForDecimal((e-this._startValue)/this._valueRange)}getPixelForTick(e){const t=this.ticks;return e<0||e>t.length-1?null:this.getPixelForValue(t[e].value)}getValueForPixel(e){return Math.round(this._startValue+this.getDecimalForPixel(e)*this._valueRange)}getBasePixel(){return this.bottom}}function Dl(e,t){const i=[],{bounds:o,step:n,min:s,max:a,precision:l,count:r,maxTicks:h,maxDigits:g,includeBounds:M}=e,A=n||1,c=h-1,{min:d,max:u}=t,m=!Ge(s),p=!Ge(a),S=!Ge(r),f=(u-d)/(g+1);let C,D,L,v,w=_t((u-d)/c/A)*A;if(w<1e-14&&!m&&!p)return[{value:d},{value:u}];v=Math.ceil(u/w)-Math.floor(d/w),v>c&&(w=_t(v*w/c/A)*A),Ge(l)||(C=Math.pow(10,l),w=Math.ceil(w*C)/C),"ticks"===o?(D=Math.floor(d/w)*w,L=Math.ceil(u/w)*w):(D=d,L=u),m&&p&&n&&function(e,t){const i=Math.round(e);return i-t<=e&&i+t>=e}((a-s)/n,w/1e3)?(v=Math.round(Math.min((a-s)/w,h)),w=(a-s)/v,D=s,L=a):S?(D=m?s:D,L=p?a:L,v=r-1,w=(L-D)/v):(v=(L-D)/w,v=Ht(v,Math.round(v),w/1e3)?Math.round(v):Math.ceil(v));const b=Math.max(Et(w),Et(D));C=Math.pow(10,Ge(l)?b:l),D=Math.round(D*C)/C,L=Math.round(L*C)/C;let x=0;for(m&&(M&&D!==s?(i.push({value:s}),D<s&&x++,Ht(Math.round((D+x*w)*C)/C,s,Ll(s,f,e))&&x++):D<s&&x++);x<v;++x){const e=Math.round((D+x*w)*C)/C;if(p&&e>a)break;i.push({value:e})}return p&&M&&L!==a?i.length&&Ht(i[i.length-1].value,a,Ll(a,f,e))?i[i.length-1].value=a:i.push({value:a}):p&&L!==a||i.push({value:L}),i}function Ll(e,t,i){let{horizontal:o,minRotation:n}=i;const s=Pt(n),a=(o?Math.sin(s):Math.cos(s))||.001,l=.75*t*(""+e).length;return Math.min(t/a,l)}ue(Cl,"id","category"),ue(Cl,"defaults",{ticks:{callback:fl}});class vl extends Ss{constructor(e){super(e),this.start=void 0,this.end=void 0,this._startValue=void 0,this._endValue=void 0,this._valueRange=0}parse(e,t){return Ge(e)||("number"==typeof e||e instanceof Number)&&!isFinite(+e)?null:+e}handleTickRangeOptions(){const{beginAtZero:e}=this.options,{minDefined:t,maxDefined:i}=this.getUserBounds();let{min:o,max:n}=this;const s=e=>o=t?o:e,a=e=>n=i?n:e;if(e){const e=It(o),t=It(n);e<0&&t<0?a(0):e>0&&t>0&&s(0)}if(o===n){let t=0===n?1:Math.abs(.05*n);a(n+t),e||s(o-t)}this.min=o,this.max=n}getTickLimit(){const e=this.options.ticks;let t,{maxTicksLimit:i,stepSize:o}=e;return o?(t=Math.ceil(this.max/o)-Math.floor(this.min/o)+1,t>1e3&&(console.warn(`scales.${this.id}.ticks.stepSize: ${o} would result generating up to ${t} ticks. Limiting to 1000.`),t=1e3)):(t=this.computeTickLimit(),i=i||11),i&&(t=Math.min(i,t)),t}computeTickLimit(){return Number.POSITIVE_INFINITY}buildTicks(){const e=this.options,t=e.ticks;let i=this.getTickLimit();i=Math.max(2,i);const o=Dl({maxTicks:i,bounds:e.bounds,min:e.min,max:e.max,precision:t.precision,step:t.stepSize,count:t.count,maxDigits:this._maxDigits(),horizontal:this.isHorizontal(),minRotation:t.minRotation||0,includeBounds:!1!==t.includeBounds},this._range||this);return"ticks"===e.bounds&&kt(o,this,"value"),e.reverse?(o.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),o}configure(){const e=this.ticks;let t=this.min,i=this.max;if(super.configure(),this.options.offset&&e.length){const o=(i-t)/Math.max(e.length-1,1)/2;t-=o,i+=o}this._startValue=t,this._endValue=i,this._valueRange=i-t}getLabelForValue(e){return Mi(e,this.chart.options.locale,this.options.ticks.format)}}class wl extends vl{determineDataLimits(){const{min:e,max:t}=this.getMinMax(!0);this.min=et(e)?e:0,this.max=et(t)?t:1,this.handleTickRangeOptions()}computeTickLimit(){const e=this.isHorizontal(),t=e?this.width:this.height,i=Pt(this.options.ticks.minRotation),o=(e?Math.sin(i):Math.cos(i))||.001,n=this._resolveTickFontOptions(0);return Math.ceil(t/Math.min(40,n.lineHeight/o))}getPixelForValue(e){return null===e?NaN:this.getPixelForDecimal((e-this._startValue)/this._valueRange)}getValueForPixel(e){return this._startValue+this.getDecimalForPixel(e)*this._valueRange}}ue(wl,"id","linear"),ue(wl,"defaults",{ticks:{callback:ci.formatters.numeric}});const bl=e=>Math.floor(Rt(e)),xl=(e,t)=>Math.pow(10,bl(e)+t);function Rl(e){return 1===e/Math.pow(10,bl(e))}function Il(e,t,i){const o=Math.pow(10,i),n=Math.floor(e/o);return Math.ceil(t/o)-n}function Hl(e,t){let{min:i,max:o}=t;i=tt(e.min,i);const n=[],s=bl(i);let a=function(e,t){let i=bl(t-e);for(;Il(e,t,i)>10;)i++;for(;Il(e,t,i)<10;)i--;return Math.min(i,bl(e))}(i,o),l=a<0?Math.pow(10,Math.abs(a)):1;const r=Math.pow(10,a),h=s>a?Math.pow(10,s):0,g=Math.round((i-h)*l)/l,M=Math.floor((i-h)/r/10)*r*10;let A=Math.floor((g-M)/Math.pow(10,a)),c=tt(e.min,Math.round((h+M+A*Math.pow(10,a))*l)/l);for(;c<o;)n.push({value:c,major:Rl(c),significand:A}),A>=10?A=A<15?15:20:A++,A>=20&&(a++,A=2,l=a>=0?1:l),c=Math.round((h+M+A*Math.pow(10,a))*l)/l;const d=tt(e.max,c);return n.push({value:d,major:Rl(d),significand:A}),n}class _l extends Ss{constructor(e){super(e),this.start=void 0,this.end=void 0,this._startValue=void 0,this._valueRange=0}parse(e,t){const i=vl.prototype.parse.apply(this,[e,t]);if(0!==i)return et(i)&&i>0?i:null;this._zero=!0}determineDataLimits(){const{min:e,max:t}=this.getMinMax(!0);this.min=et(e)?Math.max(0,e):null,this.max=et(t)?Math.max(0,t):null,this.options.beginAtZero&&(this._zero=!0),this._zero&&this.min!==this._suggestedMin&&!et(this._userMin)&&(this.min=e===xl(this.min,0)?xl(this.min,-1):xl(this.min,0)),this.handleTickRangeOptions()}handleTickRangeOptions(){const{minDefined:e,maxDefined:t}=this.getUserBounds();let i=this.min,o=this.max;const n=t=>i=e?i:t,s=e=>o=t?o:e;i===o&&(i<=0?(n(1),s(10)):(n(xl(i,-1)),s(xl(o,1)))),i<=0&&n(xl(o,-1)),o<=0&&s(xl(i,1)),this.min=i,this.max=o}buildTicks(){const e=this.options,t=Hl({min:this._userMin,max:this._userMax},this);return"ticks"===e.bounds&&kt(t,this,"value"),e.reverse?(t.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),t}getLabelForValue(e){return void 0===e?"0":Mi(e,this.chart.options.locale,this.options.ticks.format)}configure(){const e=this.min;super.configure(),this._startValue=Rt(e),this._valueRange=Rt(this.max)-Rt(e)}getPixelForValue(e){return void 0!==e&&0!==e||(e=this.min),null===e||isNaN(e)?NaN:this.getPixelForDecimal(e===this.min?0:(Rt(e)-this._startValue)/this._valueRange)}getValueForPixel(e){const t=this.getDecimalForPixel(e);return Math.pow(10,this._startValue+t*this._valueRange)}}function yl(e){const t=e.ticks;if(t.display&&e.display){const e=Bi(t.backdropPadding);return it(t.font&&t.font.size,fi.font.size)+e.height}return 0}function kl(e,t,i,o,n){return e===o||e===n?{start:t-i/2,end:t+i/2}:e<o||e>n?{start:t-i,end:t}:{start:t,end:t+i}}function Pl(e){const t={l:e.left+e._padding.left,r:e.right-e._padding.right,t:e.top+e._padding.top,b:e.bottom-e._padding.bottom},i=Object.assign({},t),o=[],n=[],s=e._pointLabels.length,a=e.options.pointLabels,l=a.centerPointLabels?ft/s:0;for(let M=0;M<s;M++){const s=a.setContext(e.getPointLabelContext(M));n[M]=s.padding;const A=e.getPointPosition(M,e.drawingArea+n[M],l),c=Wi(s.font),d=(r=e.ctx,h=c,g=Je(g=e._pointLabels[M])?g:[g],{w:Di(r,h.string,g),h:g.length*h.lineHeight});o[M]=d;const u=Ft(e.getIndexAngle(M)+l),m=Math.round(Ot(u));Ol(i,t,u,kl(m,A.x,d.w,0,180),kl(m,A.y,d.h,90,270))}var r,h,g;e.setCenterPoint(t.l-i.l,i.r-t.r,t.t-i.t,i.b-t.b),e._pointLabelItems=function(e,t,i){const o=[],n=e._pointLabels.length,s=e.options,{centerPointLabels:a,display:l}=s.pointLabels,r={extra:yl(s)/2,additionalAngle:a?ft/n:0};let h;for(let s=0;s<n;s++){r.padding=i[s],r.size=t[s];const n=El(e,s,r);o.push(n),"auto"===l&&(n.visible=Tl(n,h),n.visible&&(h=n))}return o}(e,o,n)}function Ol(e,t,i,o,n){const s=Math.abs(Math.sin(i)),a=Math.abs(Math.cos(i));let l=0,r=0;o.start<t.l?(l=(t.l-o.start)/s,e.l=Math.min(e.l,t.l-l)):o.end>t.r&&(l=(o.end-t.r)/s,e.r=Math.max(e.r,t.r+l)),n.start<t.t?(r=(t.t-n.start)/a,e.t=Math.min(e.t,t.t-r)):n.end>t.b&&(r=(n.end-t.b)/a,e.b=Math.max(e.b,t.b+r))}function El(e,t,i){const o=e.drawingArea,{extra:n,additionalAngle:s,padding:a,size:l}=i,r=e.getPointPosition(t,o+n+a,s),h=Math.round(Ot(Ft(r.angle+wt))),g=function(e,t,i){90===i||270===i?e-=t/2:(i>270||i<90)&&(e-=t);return e}(r.y,l.h,h),M=function(e){if(0===e||180===e)return"center";if(e<180)return"left";return"right"}(h),A=function(e,t,i){"right"===i?e-=t:"center"===i&&(e-=t/2);return e}(r.x,l.w,M);return{visible:!0,x:r.x,y:g,textAlign:M,left:A,top:g,right:A+l.w,bottom:g+l.h}}function Tl(e,t){if(!t)return!0;const{left:i,top:o,right:n,bottom:s}=e;return!(xi({x:i,y:o},t)||xi({x:i,y:s},t)||xi({x:n,y:o},t)||xi({x:n,y:s},t))}function zl(e,t,i){const{left:o,top:n,right:s,bottom:a}=i,{backdropColor:l}=t;if(!Ge(l)){const i=Vi(t.borderRadius),r=Bi(t.backdropPadding);e.fillStyle=l;const h=o-r.left,g=n-r.top,M=s-o+r.width,A=a-n+r.height;Object.values(i).some((e=>0!==e))?(e.beginPath(),Oi(e,{x:h,y:g,w:M,h:A,radius:i}),e.fill()):e.fillRect(h,g,M,A)}}function $l(e,t,i,o){const{ctx:n}=e;if(i)n.arc(e.xCenter,e.yCenter,t,0,Ct);else{let i=e.getPointPosition(0,t);n.moveTo(i.x,i.y);for(let s=1;s<o;s++)i=e.getPointPosition(s,t),n.lineTo(i.x,i.y)}}ue(_l,"id","logarithmic"),ue(_l,"defaults",{ticks:{callback:ci.formatters.logarithmic,major:{enabled:!0}}});class Fl extends vl{constructor(e){super(e),this.xCenter=void 0,this.yCenter=void 0,this.drawingArea=void 0,this._pointLabels=[],this._pointLabelItems=[]}setDimensions(){const e=this._padding=Bi(yl(this.options)/2),t=this.width=this.maxWidth-e.width,i=this.height=this.maxHeight-e.height;this.xCenter=Math.floor(this.left+t/2+e.left),this.yCenter=Math.floor(this.top+i/2+e.top),this.drawingArea=Math.floor(Math.min(t,i)/2)}determineDataLimits(){const{min:e,max:t}=this.getMinMax(!1);this.min=et(e)&&!isNaN(e)?e:0,this.max=et(t)&&!isNaN(t)?t:0,this.handleTickRangeOptions()}computeTickLimit(){return Math.ceil(this.drawingArea/yl(this.options))}generateTickLabels(e){vl.prototype.generateTickLabels.call(this,e),this._pointLabels=this.getLabels().map(((e,t)=>{const i=nt(this.options.pointLabels.callback,[e,t],this);return i||0===i?i:""})).filter(((e,t)=>this.chart.getDataVisibility(t)))}fit(){const e=this.options;e.display&&e.pointLabels.display?Pl(this):this.setCenterPoint(0,0,0,0)}setCenterPoint(e,t,i,o){this.xCenter+=Math.floor((e-t)/2),this.yCenter+=Math.floor((i-o)/2),this.drawingArea-=Math.min(this.drawingArea/2,Math.max(e,t,i,o))}getIndexAngle(e){return Ft(e*(Ct/(this._pointLabels.length||1))+Pt(this.options.startAngle||0))}getDistanceFromCenterForValue(e){if(Ge(e))return NaN;const t=this.drawingArea/(this.max-this.min);return this.options.reverse?(this.max-e)*t:(e-this.min)*t}getValueForDistanceFromCenter(e){if(Ge(e))return NaN;const t=e/(this.drawingArea/(this.max-this.min));return this.options.reverse?this.max-t:this.min+t}getPointLabelContext(e){const t=this._pointLabels||[];if(e>=0&&e<t.length){const i=t[e];return function(e,t,i){return Ui(e,{label:i,index:t,type:"pointLabel"})}(this.getContext(),e,i)}}getPointPosition(e,t){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;const o=this.getIndexAngle(e)-wt+i;return{x:Math.cos(o)*t+this.xCenter,y:Math.sin(o)*t+this.yCenter,angle:o}}getPointPositionForValue(e,t){return this.getPointPosition(e,this.getDistanceFromCenterForValue(t))}getBasePosition(e){return this.getPointPositionForValue(e||0,this.getBaseValue())}getPointLabelPosition(e){const{left:t,top:i,right:o,bottom:n}=this._pointLabelItems[e];return{left:t,top:i,right:o,bottom:n}}drawBackground(){const{backgroundColor:e,grid:{circular:t}}=this.options;if(e){const i=this.ctx;i.save(),i.beginPath(),$l(this,this.getDistanceFromCenterForValue(this._endValue),t,this._pointLabels.length),i.closePath(),i.fillStyle=e,i.fill(),i.restore()}}drawGrid(){const e=this.ctx,t=this.options,{angleLines:i,grid:o,border:n}=t,s=this._pointLabels.length;let a,l,r;if(t.pointLabels.display&&function(e,t){const{ctx:i,options:{pointLabels:o}}=e;for(let n=t-1;n>=0;n--){const t=e._pointLabelItems[n];if(!t.visible)continue;const s=o.setContext(e.getPointLabelContext(n));zl(i,s,t);const a=Wi(s.font),{x:l,y:r,textAlign:h}=t;Pi(i,e._pointLabels[n],l,r+a.lineHeight/2,a,{color:s.color,textAlign:h,textBaseline:"middle"})}}(this,s),o.display&&this.ticks.forEach(((e,t)=>{if(0!==t||0===t&&this.min<0){l=this.getDistanceFromCenterForValue(e.value);const i=this.getContext(t),a=o.setContext(i),r=n.setContext(i);!function(e,t,i,o,n){const s=e.ctx,a=t.circular,{color:l,lineWidth:r}=t;!a&&!o||!l||!r||i<0||(s.save(),s.strokeStyle=l,s.lineWidth=r,s.setLineDash(n.dash||[]),s.lineDashOffset=n.dashOffset,s.beginPath(),$l(e,i,a,o),s.closePath(),s.stroke(),s.restore())}(this,a,l,s,r)}})),i.display){for(e.save(),a=s-1;a>=0;a--){const o=i.setContext(this.getPointLabelContext(a)),{color:n,lineWidth:s}=o;s&&n&&(e.lineWidth=s,e.strokeStyle=n,e.setLineDash(o.borderDash),e.lineDashOffset=o.borderDashOffset,l=this.getDistanceFromCenterForValue(t.reverse?this.min:this.max),r=this.getPointPosition(a,l),e.beginPath(),e.moveTo(this.xCenter,this.yCenter),e.lineTo(r.x,r.y),e.stroke())}e.restore()}}drawBorder(){}drawLabels(){const e=this.ctx,t=this.options,i=t.ticks;if(!i.display)return;const o=this.getIndexAngle(0);let n,s;e.save(),e.translate(this.xCenter,this.yCenter),e.rotate(o),e.textAlign="center",e.textBaseline="middle",this.ticks.forEach(((o,a)=>{if(0===a&&this.min>=0&&!t.reverse)return;const l=i.setContext(this.getContext(a)),r=Wi(l.font);if(n=this.getDistanceFromCenterForValue(this.ticks[a].value),l.showLabelBackdrop){e.font=r.string,s=e.measureText(o.label).width,e.fillStyle=l.backdropColor;const t=Bi(l.backdropPadding);e.fillRect(-s/2-t.left,-n-r.size/2-t.top,s+t.width,r.size+t.height)}Pi(e,o.label,0,-n,r,{color:l.color,strokeColor:l.textStrokeColor,strokeWidth:l.textStrokeWidth})})),e.restore()}drawTitle(){}}ue(Fl,"id","radialLinear"),ue(Fl,"defaults",{display:!0,animate:!0,position:"chartArea",angleLines:{display:!0,lineWidth:1,borderDash:[],borderDashOffset:0},grid:{circular:!1},startAngle:0,ticks:{showLabelBackdrop:!0,callback:ci.formatters.numeric},pointLabels:{backdropColor:void 0,backdropPadding:2,display:!0,font:{size:10},callback:e=>e,padding:5,centerPointLabels:!1}}),ue(Fl,"defaultRoutes",{"angleLines.color":"borderColor","pointLabels.color":"color","ticks.color":"color"}),ue(Fl,"descriptors",{angleLines:{_fallback:"grid"}});const Nl={millisecond:{common:!0,size:1,steps:1e3},second:{common:!0,size:1e3,steps:60},minute:{common:!0,size:6e4,steps:60},hour:{common:!0,size:36e5,steps:24},day:{common:!0,size:864e5,steps:30},week:{common:!1,size:6048e5,steps:4},month:{common:!0,size:2628e6,steps:12},quarter:{common:!1,size:7884e6,steps:4},year:{common:!0,size:3154e7}},Vl=Object.keys(Nl);function Bl(e,t){return e-t}function Wl(e,t){if(Ge(t))return null;const i=e._adapter,{parser:o,round:n,isoWeekday:s}=e._parseOpts;let a=t;return"function"==typeof o&&(a=o(a)),et(a)||(a="string"==typeof o?i.parse(a,o):i.parse(a)),null===a?null:(n&&(a="week"!==n||!yt(s)&&!0!==s?i.startOf(a,n):i.startOf(a,"isoWeek",s)),+a)}function jl(e,t,i,o){const n=Vl.length;for(let s=Vl.indexOf(e);s<n-1;++s){const e=Nl[Vl[s]],n=e.steps?e.steps:Number.MAX_SAFE_INTEGER;if(e.common&&Math.ceil((i-t)/(n*e.size))<=o)return Vl[s]}return Vl[n-1]}function Ul(e,t,i){if(i){if(i.length){const{lo:o,hi:n}=Wt(i,t);e[i[o]>=t?i[o]:i[n]]=!0}}else e[t]=!0}function Yl(e,t,i){const o=[],n={},s=t.length;let a,l;for(a=0;a<s;++a)l=t[a],n[l]=a,o.push({value:l,major:!1});return 0!==s&&i?function(e,t,i,o){const n=e._adapter,s=+n.startOf(t[0].value,o),a=t[t.length-1].value;let l,r;for(l=s;l<=a;l=+n.add(l,1,o))r=i[l],r>=0&&(t[r].major=!0);return t}(e,o,n,i):o}class Xl extends Ss{constructor(e){super(e),this._cache={data:[],labels:[],all:[]},this._unit="day",this._majorUnit=void 0,this._offsets={},this._normalized=!1,this._parseOpts=void 0}init(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const i=e.time||(e.time={}),o=this._adapter=new wn(e.adapters.date);o.init(t),Mt(i.displayFormats,o.formats()),this._parseOpts={parser:i.parser,round:i.round,isoWeekday:i.isoWeekday},super.init(e),this._normalized=t.normalized}parse(e,t){return void 0===e?null:Wl(this,e)}beforeLayout(){super.beforeLayout(),this._cache={data:[],labels:[],all:[]}}determineDataLimits(){const e=this.options,t=this._adapter,i=e.time.unit||"day";let{min:o,max:n,minDefined:s,maxDefined:a}=this.getUserBounds();function l(e){s||isNaN(e.min)||(o=Math.min(o,e.min)),a||isNaN(e.max)||(n=Math.max(n,e.max))}s&&a||(l(this._getLabelBounds()),"ticks"===e.bounds&&"labels"===e.ticks.source||l(this.getMinMax(!1))),o=et(o)&&!isNaN(o)?o:+t.startOf(Date.now(),i),n=et(n)&&!isNaN(n)?n:+t.endOf(Date.now(),i)+1,this.min=Math.min(o,n-1),this.max=Math.max(o+1,n)}_getLabelBounds(){const e=this.getLabelTimestamps();let t=Number.POSITIVE_INFINITY,i=Number.NEGATIVE_INFINITY;return e.length&&(t=e[0],i=e[e.length-1]),{min:t,max:i}}buildTicks(){const e=this.options,t=e.time,i=e.ticks,o="labels"===i.source?this.getLabelTimestamps():this._generate();"ticks"===e.bounds&&o.length&&(this.min=this._userMin||o[0],this.max=this._userMax||o[o.length-1]);const n=this.min,s=function(e,t,i){let o=0,n=e.length;for(;o<n&&e[o]<t;)o++;for(;n>o&&e[n-1]>i;)n--;return o>0||n<e.length?e.slice(o,n):e}(o,n,this.max);return this._unit=t.unit||(i.autoSkip?jl(t.minUnit,this.min,this.max,this._getLabelCapacity(n)):function(e,t,i,o,n){for(let s=Vl.length-1;s>=Vl.indexOf(i);s--){const i=Vl[s];if(Nl[i].common&&e._adapter.diff(n,o,i)>=t-1)return i}return Vl[i?Vl.indexOf(i):0]}(this,s.length,t.minUnit,this.min,this.max)),this._majorUnit=i.major.enabled&&"year"!==this._unit?function(e){for(let t=Vl.indexOf(e)+1,i=Vl.length;t<i;++t)if(Nl[Vl[t]].common)return Vl[t]}(this._unit):void 0,this.initOffsets(o),e.reverse&&s.reverse(),Yl(this,s,this._majorUnit)}afterAutoSkip(){this.options.offsetAfterAutoskip&&this.initOffsets(this.ticks.map((e=>+e.value)))}initOffsets(){let e,t,i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],o=0,n=0;this.options.offset&&i.length&&(e=this.getDecimalForValue(i[0]),o=1===i.length?1-e:(this.getDecimalForValue(i[1])-e)/2,t=this.getDecimalForValue(i[i.length-1]),n=1===i.length?t:(t-this.getDecimalForValue(i[i.length-2]))/2);const s=i.length<3?.5:.25;o=Vt(o,0,s),n=Vt(n,0,s),this._offsets={start:o,end:n,factor:1/(o+1+n)}}_generate(){const e=this._adapter,t=this.min,i=this.max,o=this.options,n=o.time,s=n.unit||jl(n.minUnit,t,i,this._getLabelCapacity(t)),a=it(o.ticks.stepSize,1),l="week"===s&&n.isoWeekday,r=yt(l)||!0===l,h={};let g,M,A=t;if(r&&(A=+e.startOf(A,"isoWeek",l)),A=+e.startOf(A,r?"day":s),e.diff(i,t,s)>1e5*a)throw new Error(t+" and "+i+" are too far apart with stepSize of "+a+" "+s);const c="data"===o.ticks.source&&this.getDataTimestamps();for(g=A,M=0;g<i;g=+e.add(g,a,s),M++)Ul(h,g,c);return g!==i&&"ticks"!==o.bounds&&1!==M||Ul(h,g,c),Object.keys(h).sort(Bl).map((e=>+e))}getLabelForValue(e){const t=this._adapter,i=this.options.time;return i.tooltipFormat?t.format(e,i.tooltipFormat):t.format(e,i.displayFormats.datetime)}format(e,t){const i=this.options.time.displayFormats,o=this._unit,n=t||i[o];return this._adapter.format(e,n)}_tickFormatFunction(e,t,i,o){const n=this.options,s=n.ticks.callback;if(s)return nt(s,[e,t,i],this);const a=n.time.displayFormats,l=this._unit,r=this._majorUnit,h=l&&a[l],g=r&&a[r],M=i[t],A=r&&g&&M&&M.major;return this._adapter.format(e,o||(A?g:h))}generateTickLabels(e){let t,i,o;for(t=0,i=e.length;t<i;++t)o=e[t],o.label=this._tickFormatFunction(o.value,t,e)}getDecimalForValue(e){return null===e?NaN:(e-this.min)/(this.max-this.min)}getPixelForValue(e){const t=this._offsets,i=this.getDecimalForValue(e);return this.getPixelForDecimal((t.start+i)*t.factor)}getValueForPixel(e){const t=this._offsets,i=this.getDecimalForPixel(e)/t.factor-t.end;return this.min+i*(this.max-this.min)}_getLabelSize(e){const t=this.options.ticks,i=this.ctx.measureText(e).width,o=Pt(this.isHorizontal()?t.maxRotation:t.minRotation),n=Math.cos(o),s=Math.sin(o),a=this._resolveTickFontOptions(0).size;return{w:i*n+a*s,h:i*s+a*n}}_getLabelCapacity(e){const t=this.options.time,i=t.displayFormats,o=i[t.unit]||i.millisecond,n=this._tickFormatFunction(e,0,Yl(this,[e],this._majorUnit),o),s=this._getLabelSize(n),a=Math.floor(this.isHorizontal()?this.width/s.w:this.height/s.h)-1;return a>0?a:1}getDataTimestamps(){let e,t,i=this._cache.data||[];if(i.length)return i;const o=this.getMatchingVisibleMetas();if(this._normalized&&o.length)return this._cache.data=o[0].controller.getAllParsedValues(this);for(e=0,t=o.length;e<t;++e)i=i.concat(o[e].controller.getAllParsedValues(this));return this._cache.data=this.normalize(i)}getLabelTimestamps(){const e=this._cache.labels||[];let t,i;if(e.length)return e;const o=this.getLabels();for(t=0,i=o.length;t<i;++t)e.push(Wl(this,o[t]));return this._cache.labels=this._normalized?e:this.normalize(e)}normalize(e){return qt(e.sort(Bl))}}function ql(e,t,i){let o,n,s,a,l=0,r=e.length-1;i?(t>=e[l].pos&&t<=e[r].pos&&({lo:l,hi:r}=jt(e,"pos",t)),({pos:o,time:s}=e[l]),({pos:n,time:a}=e[r])):(t>=e[l].time&&t<=e[r].time&&({lo:l,hi:r}=jt(e,"time",t)),({time:o,pos:s}=e[l]),({time:n,pos:a}=e[r]));const h=n-o;return h?s+(a-s)*(t-o)/h:s}ue(Xl,"id","time"),ue(Xl,"defaults",{bounds:"data",adapters:{},time:{parser:!1,unit:!1,round:!1,isoWeekday:!1,minUnit:"millisecond",displayFormats:{}},ticks:{source:"auto",callback:!1,major:{enabled:!1}}});class Kl extends Xl{constructor(e){super(e),this._table=[],this._minPos=void 0,this._tableRange=void 0}initOffsets(){const e=this._getTimestampsForTable(),t=this._table=this.buildLookupTable(e);this._minPos=ql(t,this.min),this._tableRange=ql(t,this.max)-this._minPos,super.initOffsets(e)}buildLookupTable(e){const{min:t,max:i}=this,o=[],n=[];let s,a,l,r,h;for(s=0,a=e.length;s<a;++s)r=e[s],r>=t&&r<=i&&o.push(r);if(o.length<2)return[{time:t,pos:0},{time:i,pos:1}];for(s=0,a=o.length;s<a;++s)h=o[s+1],l=o[s-1],r=o[s],Math.round((h+l)/2)!==r&&n.push({time:r,pos:s/(a-1)});return n}_generate(){const e=this.min,t=this.max;let i=super.getDataTimestamps();return i.includes(e)&&i.length||i.splice(0,0,e),i.includes(t)&&1!==i.length||i.push(t),i.sort(((e,t)=>e-t))}_getTimestampsForTable(){let e=this._cache.all||[];if(e.length)return e;const t=this.getDataTimestamps(),i=this.getLabelTimestamps();return e=t.length&&i.length?this.normalize(t.concat(i)):t.length?t:i,e=this._cache.all=e,e}getDecimalForValue(e){return(ql(this._table,e)-this._minPos)/this._tableRange}getValueForPixel(e){const t=this._offsets,i=this.getDecimalForPixel(e)/t.factor-t.end;return ql(this._table,i*this._tableRange+this._minPos,!0)}}ue(Kl,"id","timeseries"),ue(Kl,"defaults",Xl.defaults);const Zl=[Dn,Ca,pl,Object.freeze({__proto__:null,CategoryScale:Cl,LinearScale:wl,LogarithmicScale:_l,RadialLinearScale:Fl,TimeScale:Xl,TimeSeriesScale:Kl})];Ks.register(...Zl);var Gl=Ks;let Jl=class extends ae{constructor(){super(),this.stockData=[],this.chart=null,this.customLinePlugin={id:"customLinePlugin",afterDraw:function(e){if(e.tooltip&&e.tooltip._active&&e.tooltip._active.length){const t=e.ctx,i=e.tooltip._active[0].element.x,o=e.scales.yPrice.top,n=e.scales.yPrice.bottom;t.save(),t.beginPath(),t.moveTo(i,o),t.lineTo(i,n),t.lineWidth=1,t.strokeStyle="rgba(0, 0, 0, 0.5)",t.stroke(),t.restore()}}},this.stockData=[{date:"2024-10-29 09:30:00",open:495.72,low:495.25,high:496.08,close:495.31,volume:278864,MACDLine:null,SignalLine:"N/A",MACDHistogram:"N/A"},{date:"2024-10-29 09:31:00",open:495.29,low:494.89,high:495.49,close:494.94,volume:121770,MACDLine:null,SignalLine:"N/A",MACDHistogram:"N/A"},{date:"2024-10-29 09:32:00",open:495,low:494.15,high:495,close:494.39,volume:113323,MACDLine:null,SignalLine:"N/A",MACDHistogram:"N/A"},{date:"2024-10-29 09:33:00",open:494.39,low:493.95,high:494.43,close:494.18,volume:94291,MACDLine:null,SignalLine:"N/A",MACDHistogram:"N/A"},{date:"2024-10-29 09:34:00",open:494.19,low:493.93,high:494.27,close:494.08,volume:48911,MACDLine:null,SignalLine:"N/A",MACDHistogram:"N/A"},{date:"2024-10-29 09:35:00",open:494.05,low:493.85,high:494.45,close:494.42,volume:89638,MACDLine:null,SignalLine:"N/A",MACDHistogram:"N/A"},{date:"2024-10-29 09:36:00",open:494.45,low:494.22,high:494.72,close:494.29,volume:73142,MACDLine:null,SignalLine:"N/A",MACDHistogram:"N/A"},{date:"2024-10-29 09:37:00",open:494.3,low:494.19,high:494.44,close:494.3,volume:34156,MACDLine:null,SignalLine:"N/A",MACDHistogram:"N/A"},{date:"2024-10-29 09:38:00",open:494.3,low:494.3,high:494.62,close:494.32,volume:47212,MACDLine:null,SignalLine:null,MACDHistogram:null},{date:"2024-10-29 09:39:00",open:494.3,low:494.08,high:494.4,close:494.27,volume:51959,MACDLine:null,SignalLine:null,MACDHistogram:null},{date:"2024-10-29 09:40:00",open:494.28,low:493.93,high:494.45,close:494.28,volume:38814,MACDLine:null,SignalLine:null,MACDHistogram:null},{date:"2024-10-29 09:41:00",open:494.25,low:494.13,high:494.56,close:494.56,volume:42861,MACDLine:null,SignalLine:null,MACDHistogram:null},{date:"2024-10-29 09:42:00",open:494.53,low:494.5,high:494.96,close:494.93,volume:62003,MACDLine:null,SignalLine:null,MACDHistogram:null},{date:"2024-10-29 09:43:00",open:494.94,low:494.69,high:495.13,close:495.09,volume:46617,MACDLine:null,SignalLine:null,MACDHistogram:null},{date:"2024-10-29 09:44:00",open:495.06,low:495.02,high:495.33,close:495.2,volume:187605,RSI:42.92353779986164,MACDLine:null,SignalLine:null,MACDHistogram:null},{date:"2024-10-29 09:45:00",open:495.2,low:495.2,high:495.78,close:495.68,volume:111202,RSI:49.09041935537944,MACDLine:null,SignalLine:null,MACDHistogram:null},{date:"2024-10-29 09:46:00",open:495.72,low:495.38,high:495.83,close:495.55,volume:83761,RSI:61.233729628787316,MACDLine:null,SignalLine:null,MACDHistogram:null},{date:"2024-10-29 09:47:00",open:495.58,low:495.07,high:495.6,close:495.1,volume:60902,RSI:67.12035676071854,MACDLine:null,SignalLine:null,MACDHistogram:null},{date:"2024-10-29 09:48:00",open:495.06,low:494.89,high:495.29,close:494.96,volume:135058,RSI:70.10018335148747,MACDLine:null,SignalLine:null,MACDHistogram:null},{date:"2024-10-29 09:49:00",open:494.93,low:494.66,high:494.93,close:494.69,volume:45499,MA20:494.73,RSI:65.22621201655457,MACDLine:null,SignalLine:null,MACDHistogram:null},{date:"2024-10-29 09:50:00",open:494.73,low:494.73,high:495.26,close:495,volume:43209,MA20:494.71,RSI:69.2331075804128,MACDLine:null,SignalLine:null,MACDHistogram:null},{date:"2024-10-29 09:51:00",open:495.03,low:494.9,high:495.23,close:494.9,volume:45223,MA20:494.71,RSI:69.09751019942809,MACDLine:null,SignalLine:null,MACDHistogram:null},{date:"2024-10-29 09:52:00",open:494.9,low:494.71,high:495.25,close:495.25,volume:40721,MA20:494.75,RSI:68.84248932343644,MACDLine:null,SignalLine:null,MACDHistogram:null},{date:"2024-10-29 09:53:00",open:495.21,low:495.11,high:495.36,close:495.21,volume:39135,MA20:494.8,RSI:70.18709472840911,MACDLine:null,SignalLine:null,MACDHistogram:null},{date:"2024-10-29 09:54:00",open:495.18,low:495.09,high:495.45,close:495.4,volume:70068,MA20:494.87,RSI:70.07856066070892,MACDLine:null,SignalLine:null,MACDHistogram:null},{date:"2024-10-29 09:55:00",open:495.39,low:495.3,high:495.53,close:495.43,volume:65825,MA20:494.92,RSI:66.95030225754358,MACDLine:.429337648626813,SignalLine:null,MACDHistogram:null},{date:"2024-10-29 09:56:00",open:495.39,low:495.39,high:495.81,close:495.72,volume:101142,MA20:494.99,RSI:62.086537044262194,MACDLine:.4858335506273761,SignalLine:null,MACDHistogram:null},{date:"2024-10-29 09:57:00",open:495.73,low:495.6,high:495.93,close:495.93,volume:64974,MA20:495.07,RSI:59.705393340493465,MACDLine:.43240346844442,SignalLine:null,MACDHistogram:null},{date:"2024-10-29 09:58:00",open:495.9,low:495.65,high:495.95,close:495.89,volume:62214,MA20:495.15,RSI:58.022337913593624,MACDLine:.34831774946258065,SignalLine:null,MACDHistogram:null},{date:"2024-10-29 09:59:00",open:495.91,low:495.77,high:496.01,close:495.86,volume:52225,MA20:495.23,RSI:49.470478511678095,MACDLine:.31781826451543793,SignalLine:null,MACDHistogram:null},{date:"2024-10-29 10:00:00",open:495.86,low:495.45,high:496.33,close:495.78,volume:228019,MA20:495.31,RSI:52.14192706085573,MACDLine:.30510338351723476,SignalLine:null,MACDHistogram:null},{date:"2024-10-29 10:01:00",open:495.68,low:495.54,high:495.98,close:495.93,volume:98448,MA20:495.38,RSI:63.093295594508255,MACDLine:.3735276134647165,SignalLine:null,MACDHistogram:null},{date:"2024-10-29 10:02:00",open:495.95,low:495.78,high:496.25,close:495.94,volume:76460,MA20:495.43,RSI:67.1687837890658,MACDLine:.3925923198563055,SignalLine:null,MACDHistogram:null},{date:"2024-10-29 10:03:00",open:495.97,low:495.9,high:496.39,close:496.23,volume:77388,MA20:495.48,RSI:75.95504469520999,MACDLine:.44052447499825576,SignalLine:.4103783080889703,MACDHistogram:.030146166909285455},{date:"2024-10-29 10:04:00",open:496.25,low:496.15,high:496.46,close:496.25,volume:52316,MA20:495.53,RSI:72.05829239229915,MACDLine:.4419866151976066,SignalLine:.4056384729545096,MACDHistogram:.036348142243097015},{date:"2024-10-29 10:05:00",open:496.24,low:495.97,high:496.37,close:496.3,volume:79015,MA20:495.57,RSI:75.73473294353361,MACDLine:.4542239415582685,SignalLine:.385589703536293,MACDHistogram:.06863423802197549},{date:"2024-10-29 10:06:00",open:496.3,low:496.03,high:496.33,close:496.1,volume:50079,MA20:495.59,RSI:70.91136643712122,MACDLine:.4431635989632241,SignalLine:.37388626230926125,MACDHistogram:.06927733665396285},{date:"2024-10-29 10:07:00",open:496.1,low:495.83,high:496.17,close:496.15,volume:45625,MA20:495.65,RSI:72.43945176695257,MACDLine:.455836927520636,SignalLine:.3802783905209314,MACDHistogram:.0755585369997046},{date:"2024-10-29 10:08:00",open:496.12,low:495.95,high:496.2,close:496.13,volume:32029,MA20:495.7,RSI:69.54475720986211,MACDLine:.45490962066088514,SignalLine:.39589342202230476,MACDHistogram:.059016198638580375},{date:"2024-10-29 10:09:00",open:496.17,low:495.84,high:496.17,close:495.95,volume:33766,MA20:495.77,RSI:69.06843619816459,MACDLine:.43321826360482873,SignalLine:.41859093164857225,MACDHistogram:.014627331956256484},{date:"2024-10-29 10:10:00",open:495.9,low:495.76,high:496.19,close:496.15,volume:24519,MA20:495.82,RSI:64.01683451049189,MACDLine:.42752175676452,SignalLine:.4298567611945362,MACDHistogram:-.0023350044300162187},{date:"2024-10-29 10:11:00",open:496.19,low:496.19,high:496.59,close:496.3,volume:105417,MA20:495.89,RSI:59.57785441177267,MACDLine:.4679233533898923,SignalLine:.4391728715290939,MACDHistogram:.028750481860798427},{date:"2024-10-29 10:12:00",open:496.34,low:496.19,high:496.58,close:496.26,volume:47320,MA20:495.95,RSI:60.90679508184589,MACDLine:.5194479606697655,SignalLine:.43883497066180344,MACDHistogram:.08061299000796207},{date:"2024-10-29 10:13:00",open:496.29,low:496.2,high:496.39,close:496.38,volume:34818,MA20:496,RSI:61.86788176697275,MACDLine:.5177292163517677,SignalLine:.4380470595278526,MACDHistogram:.0796821568239151},{date:"2024-10-29 10:14:00",open:496.35,low:496.14,high:496.38,close:496.14,volume:23911,MA20:496.04,RSI:64.38356456128739,MACDLine:.5070594122752823,SignalLine:.4340028390202486,MACDHistogram:.07305657325503367},{date:"2024-10-29 10:15:00",open:496.15,low:496.05,high:496.45,close:496.44,volume:30462,MA20:496.09,RSI:61.66996044946091,MACDLine:.42599272543913,SignalLine:.43171264903450474,MACDHistogram:-.00571992359537471},{date:"2024-10-29 10:16:00",open:496.47,low:496.17,high:496.5,close:496.17,volume:44567,MA20:496.11,RSI:61.48832000403719,MACDLine:.3598895327800733,SignalLine:.4256815794129719,MACDHistogram:-.06579204663289862},{date:"2024-10-29 10:17:00",open:496.18,low:495.97,high:496.24,close:496.08,volume:46718,MA20:496.12,RSI:55.854944923000545,MACDLine:.27137397367289395,SignalLine:.4183745691009936,MACDHistogram:-.14700059542809962},{date:"2024-10-29 10:18:00",open:496.15,low:496.06,high:496.28,close:496.24,volume:30389,MA20:496.14,RSI:55.43750593602361,MACDLine:.23917594770449568,SignalLine:.4146636454750348,MACDHistogram:-.17548769777053913},{date:"2024-10-29 10:19:00",open:496.14,low:496.14,high:496.44,close:496.34,volume:152731,MA20:496.16,MA50:495.45,RSI:54.437332272540246,MACDLine:.19467336259276635,SignalLine:.4114491176526635,MACDHistogram:-.21677575505989716},{date:"2024-10-29 10:20:00",open:496.3,low:496.02,high:496.49,close:496.49,volume:37201,MA20:496.2,MA50:495.47,RSI:59.38820089737162,MACDLine:.16754935959431805,SignalLine:.3973305587183563,MACDHistogram:-.22978119912403827},{date:"2024-10-29 10:21:00",open:496.49,low:496.37,high:496.72,close:496.55,volume:49027,MA20:496.23,MA50:495.5,RSI:58.512291179781975,MACDLine:.1762376414458231,SignalLine:.366801208230504,MACDHistogram:-.1905635667846809},{date:"2024-10-29 10:22:00",open:496.56,low:496.49,high:497,close:496.95,volume:61614,MA20:496.28,MA50:495.55,RSI:58.98481383577118,MACDLine:.1791635918607426,SignalLine:.32906920620018804,MACDHistogram:-.14990561433944544},{date:"2024-10-29 10:23:00",open:496.92,low:496.63,high:496.95,close:496.94,volume:67768,MA20:496.32,MA50:495.61,RSI:63.25374974097359,MACDLine:.17607397087232357,SignalLine:.2845716546814145,MACDHistogram:-.10849768380909092},{date:"2024-10-29 10:24:00",open:496.93,low:496.93,high:497.62,close:497.58,volume:146075,MA20:496.38,MA50:495.68,RSI:60.28844655201154,MACDLine:.1790239605072088,SignalLine:.2492163869919856,MACDHistogram:-.07019242648477678},{date:"2024-10-29 10:25:00",open:497.58,low:497.52,high:497.84,close:497.81,volume:213587,MA20:496.46,MA50:495.75,RSI:57.923783086224454,MACDLine:.16134887148831467,SignalLine:.22154810054496366,MACDHistogram:-.060199229056648984},{date:"2024-10-29 10:26:00",open:497.82,low:497.43,high:497.92,close:497.43,volume:98770,MA20:496.52,MA50:495.81,RSI:58.79063449942534,MACDLine:.18124213791895727,SignalLine:.20909163226298108,MACDHistogram:-.027849494344023812},{date:"2024-10-29 10:27:00",open:497.41,low:496.46,high:497.41,close:496.47,volume:109906,MA20:496.54,MA50:495.85,RSI:56.997908601947174,MACDLine:.16668783961154077,SignalLine:.20157055340260244,MACDHistogram:-.03488271379106167},{date:"2024-10-29 10:28:00",open:496.49,low:496.14,high:496.59,close:496.36,volume:173533,MA20:496.55,MA50:495.89,RSI:62.00756518184569,MACDLine:.20299580301394826,SignalLine:.20329485110506146,MACDHistogram:-.0002990480911131965},{date:"2024-10-29 10:29:00",open:496.38,low:496.33,high:496.63,close:496.51,volume:117659,MA20:496.58,MA50:495.94,RSI:57.69134508308364,MACDLine:.28929439189460027,SignalLine:.2122312239827473,MACDHistogram:.07706316791185297},{date:"2024-10-29 10:30:00",open:496.49,low:496.49,high:496.85,close:496.72,volume:115185,MA20:496.61,MA50:495.99,RSI:63.74334835915739,MACDLine:.3655621269110725,SignalLine:.22122961961697835,MACDHistogram:.14433250729409414},{date:"2024-10-29 10:31:00",open:496.7,low:496.6,high:496.87,close:496.85,volume:29446,MA20:496.64,MA50:496.03,RSI:65.88255625628072,MACDLine:.44326295048614384,SignalLine:.23174612655603727,MACDHistogram:.21151682393010657},{date:"2024-10-29 10:32:00",open:496.88,low:496.87,high:497.32,close:497.23,volume:51460,MA20:496.68,MA50:496.08,RSI:63.881591126486654,MACDLine:.49329908602402384,SignalLine:.2456641654769657,MACDHistogram:.24763492054705813},{date:"2024-10-29 10:33:00",open:497.23,low:496.96,high:497.25,close:497.09,volume:49240,MA20:496.72,MA50:496.12,RSI:62.60888909098602,MACDLine:.5487517668591977,SignalLine:.2623242167194049,MACDHistogram:.28642755013979276},{date:"2024-10-29 10:34:00",open:497.08,low:497.08,high:497.44,close:497.36,volume:24419,MA20:496.78,MA50:496.16,RSI:60.6790144525668,MACDLine:.5430386174254522,SignalLine:.2875680530271775,MACDHistogram:.25547056439827476},{date:"2024-10-29 10:35:00",open:497.34,low:497.27,high:497.61,close:497.36,volume:52022,MA20:496.83,MA50:496.2,RSI:59.91047358872124,MACDLine:.527193272258387,SignalLine:.3141495318042325,MACDHistogram:.21304374045415447},{date:"2024-10-29 10:36:00",open:497.36,low:497.28,high:497.62,close:497.34,volume:33554,MA20:496.89,MA50:496.23,RSI:54.39216353871947,MACDLine:.4133369477395945,SignalLine:.3510149548524054,MACDHistogram:.06232199288718909},{date:"2024-10-29 10:37:00",open:497.34,low:497.3,high:497.45,close:497.42,volume:46046,MA20:496.95,MA50:496.28,RSI:54.56652753525434,MACDLine:.2529845197502709,SignalLine:.3880197428120197,MACDHistogram:-.13503522306174875},{date:"2024-10-29 10:38:00",open:497.47,low:497.29,high:497.55,close:497.35,volume:32552,MA20:497.01,MA50:496.33,RSI:43.87401563174688,MACDLine:.13249128228386553,SignalLine:.41270108054137455,MACDHistogram:-.280209798257509},{date:"2024-10-29 10:39:00",open:497.34,low:497.24,high:497.46,close:497.39,volume:27692,MA20:497.06,MA50:496.38,RSI:39.09044230224587,MACDLine:.17793458599356882,SignalLine:.4244858189489501,MACDHistogram:-.24655123295538128},{date:"2024-10-29 10:40:00",open:497.39,low:497.06,high:497.39,close:497.13,volume:27387,MA20:497.09,MA50:496.42,RSI:44.97058832822677,MACDLine:.23545771784131375,SignalLine:.4197915360646517,MACDHistogram:-.18433381822333794},{date:"2024-10-29 10:41:00",open:497.1,low:497.04,high:497.52,close:497.46,volume:41207,MA20:497.14,MA50:496.47,RSI:69.49285703908977,MACDLine:.3053805847765716,SignalLine:.40141464857480863,MACDHistogram:-.09603406379823703},{date:"2024-10-29 10:42:00",open:497.49,low:497.25,high:497.61,close:497.55,volume:79380,MA20:497.17,MA50:496.52,RSI:73.77308386684155,MACDLine:.3314220537045003,SignalLine:.3645803690037114,MACDHistogram:-.033158315299211094},{date:"2024-10-29 10:43:00",open:497.54,low:497.35,high:497.67,close:497.39,volume:26213,MA20:497.19,MA50:496.56,RSI:71.55462061757757,MACDLine:.3370033896276823,SignalLine:.31996580689827614,MACDHistogram:.017037582729406142},{date:"2024-10-29 10:44:00",open:497.39,low:497.24,high:497.46,close:497.41,volume:26358,MA20:497.18,MA50:496.6,RSI:68.04021201708777,MACDLine:.2941344272659876,SignalLine:.26815894055824846,MACDHistogram:.025975486707739137},{date:"2024-10-29 10:45:00",open:497.45,low:497.22,high:497.47,close:497.46,volume:34377,MA20:497.16,MA50:496.65,RSI:65.59690881973582,MACDLine:.28299426909137537,SignalLine:.23186443876291193,MACDHistogram:.05112983032846344},{date:"2024-10-29 10:46:00",open:497.44,low:497.3,high:497.56,close:497.3,volume:28673,MA20:497.16,MA50:496.68,RSI:56.58887323685466,MACDLine:.23847727783436312,SignalLine:.2265844185160722,MACDHistogram:.011892859318290927},{date:"2024-10-29 10:47:00",open:497.26,low:497.19,high:497.39,close:497.35,volume:27224,MA20:497.2,MA50:496.71,RSI:62.1566241987537,MACDLine:.19564319404332764,SignalLine:.25010770257412385,MACDHistogram:-.05446450853079621},{date:"2024-10-29 10:48:00",open:497.39,low:497.18,high:497.45,close:497.18,volume:32145,MA20:497.24,MA50:496.73,RSI:54.062561253559316,MACDLine:.18554378972760333,SignalLine:.2681509817192626,MACDHistogram:-.08260719199165928},{date:"2024-10-29 10:49:00",open:497.18,low:497.14,high:497.57,close:497.48,volume:47041,MA20:497.29,MA50:496.76,RSI:54.06256125355933,MACDLine:.16028173127767786,SignalLine:.27632429768874983,MACDHistogram:-.11604256641107197},{date:"2024-10-29 10:50:00",open:497.49,low:497.36,high:497.57,close:497.47,volume:40956,MA20:497.33,MA50:496.8,RSI:54.811323363654886,MACDLine:.1966158787648169,SignalLine:.2690602259167944,MACDHistogram:-.0724443471519775},{date:"2024-10-29 10:51:00",open:497.5,low:497.29,high:497.53,close:497.49,volume:26981,MA20:497.36,MA50:496.83,RSI:52.36063246616607,MACDLine:.24791341423002677,SignalLine:.25346976896986795,MACDHistogram:-.005556354739841174},{date:"2024-10-29 10:52:00",open:497.47,low:497.47,high:497.63,close:497.56,volume:47134,MA20:497.38,MA50:496.86,RSI:54.77419344351451,MACDLine:.32054534619862807,SignalLine:.23258636380541436,MACDHistogram:.0879589823932137},{date:"2024-10-29 10:53:00",open:497.54,low:497.51,high:497.78,close:497.65,volume:37017,MA20:497.41,MA50:496.89,RSI:53.64030258931834,MACDLine:.2674239888756347,SignalLine:.21719934794027104,MACDHistogram:.050224640935363635},{date:"2024-10-29 10:54:00",open:497.67,low:497.48,high:497.67,close:497.61,volume:30930,MA20:497.42,MA50:496.92,RSI:63.20483924463679,MACDLine:.18496838023611417,SignalLine:.20075061765249497,MACDHistogram:-.015782237416380795},{date:"2024-10-29 10:55:00",open:497.54,low:497.48,high:497.69,close:497.62,volume:32925,MA20:497.43,MA50:496.94,RSI:53.415023838702,MACDLine:.13543459058735152,SignalLine:.19131895260702794,MACDHistogram:-.05588436201967642},{date:"2024-10-29 10:56:00",open:497.65,low:497.53,high:497.67,close:497.65,volume:43977,MA20:497.45,MA50:496.97,RSI:50.04937657851386,MACDLine:.09620514139078296,SignalLine:.190237892247953,MACDHistogram:-.09403275085717006},{date:"2024-10-29 10:57:00",open:497.65,low:497.61,high:497.82,close:497.82,volume:43595,MA20:497.47,MA50:497.01,RSI:56.82687249630638,MACDLine:.0560802059959542,SignalLine:.19141141787804045,MACDHistogram:-.13533121188208624},{date:"2024-10-29 10:58:00",open:497.81,low:497.72,high:497.93,close:497.73,volume:81544,MA20:497.48,MA50:497.04,RSI:56.13744298788589,MACDLine:.07241412182298745,SignalLine:.1991938395281311,MACDHistogram:-.12677971770514365},{date:"2024-10-29 10:59:00",open:497.74,low:497.69,high:497.81,close:497.79,volume:39887,MA20:497.5,MA50:497.08,RSI:54.44882558353929,MACDLine:.07293611443390091,SignalLine:.19983832971895965,MACDHistogram:-.12690221528505874},{date:"2024-10-29 11:00:00",open:497.85,low:497.53,high:498.01,close:497.62,volume:106009,MA20:497.53,MA50:497.11,RSI:61.48198554163439,MACDLine:.1288323869746364,SignalLine:.18781955859119287,MACDHistogram:-.05898717161655648},{date:"2024-10-29 11:01:00",open:497.66,low:497.6,high:497.83,close:497.74,volume:28102,MA20:497.54,MA50:497.13,RSI:59.9820157049051,MACDLine:.14113879466157186,SignalLine:.15463811168933408,MACDHistogram:-.01349931702776222},{date:"2024-10-29 11:02:00",open:497.74,low:497.46,high:497.93,close:497.9,volume:63120,MA20:497.56,MA50:497.17,RSI:68.3902997594675,MACDLine:.15675695436868864,SignalLine:.12644164239275893,MACDHistogram:.03031531197592971},{date:"2024-10-29 11:03:00",open:497.91,low:497.81,high:497.95,close:497.92,volume:206462,MA20:497.59,MA50:497.2,RSI:58.96406358300126,MACDLine:.17906584978584306,SignalLine:.11180995793192013,MACDHistogram:.06725589185392293},{date:"2024-10-29 11:04:00",open:497.93,low:497.83,high:497.97,close:497.86,volume:118807,MA20:497.61,MA50:497.23,RSI:59.51338515641129,MACDLine:.1876264275759354,SignalLine:.10590379976806227,MACDHistogram:.08172262780787312},{date:"2024-10-29 11:05:00",open:497.87,low:497.76,high:497.93,close:497.87,volume:46220,MA20:497.63,MA50:497.26,RSI:58.80057193091558,MACDLine:.18571463519054987,SignalLine:.10832846436238211,MACDHistogram:.07738617082816776},{date:"2024-10-29 11:06:00",open:497.9,low:497.59,high:497.92,close:497.61,volume:49881,MA20:497.65,MA50:497.29,RSI:56.30006272743835,MACDLine:.17082773457951816,SignalLine:.12139052895398908,MACDHistogram:.049437205625529085},{date:"2024-10-29 11:07:00",open:497.58,low:497.41,high:497.64,close:497.6,volume:166280,MA20:497.66,MA50:497.32,RSI:52.886207320236,MACDLine:.18090550529660732,SignalLine:.13363463073673948,MACDHistogram:.04727087455986784},{date:"2024-10-29 11:08:00",open:497.56,low:497.3,high:497.56,close:497.39,volume:34931,MA20:497.67,MA50:497.34,RSI:54.648069496965626,MACDLine:.19520977984399224,SignalLine:.14880925981244914,MACDHistogram:.0464005200315431},{date:"2024-10-29 11:09:00",open:497.39,low:497.17,high:497.48,close:497.35,volume:37592,MA20:497.66,MA50:497.36,RSI:54.29459966637307,MACDLine:.16837327528673995,SignalLine:.15380347802190233,MACDHistogram:.01456979726483762},{date:"2024-10-29 11:10:00",open:497.39,low:497.21,high:497.46,close:497.44,volume:61210,MA20:497.66,MA50:497.38,RSI:53.28023576082815,MACDLine:.15588925273851828,SignalLine:.15696964886198495,MACDHistogram:-.0010803961234666648},{date:"2024-10-29 11:11:00",open:497.42,low:497.35,high:497.56,close:497.46,volume:33131,MA20:497.66,MA50:497.4,RSI:47.102901467527595,MACDLine:.13543307482808586,SignalLine:.15702282248530902,MACDHistogram:-.021589747657223157},{date:"2024-10-29 11:12:00",open:497.47,low:497.42,high:497.59,close:497.49,volume:20943,MA20:497.66,MA50:497.41,RSI:50.37740254766969,MACDLine:.13026270847944943,SignalLine:.15151206566017553,MACDHistogram:-.021249357180726097},{date:"2024-10-29 11:13:00",open:497.47,low:497.34,high:497.58,close:497.4,volume:20974,MA20:497.64,MA50:497.42,RSI:48.14586107426859,MACDLine:.10860507421659804,SignalLine:.14248347518123555,MACDHistogram:-.03387840096463751},{date:"2024-10-29 11:14:00",open:497.44,low:497.42,high:497.85,close:497.74,volume:76936,MA20:497.65,MA50:497.42,RSI:54.60662365224545,MACDLine:.04236416540521759,SignalLine:.131675685178907,MACDHistogram:-.0893115197736894},{date:"2024-10-29 11:15:00",open:497.74,low:497.67,high:497.84,close:497.77,volume:37642,MA20:497.66,MA50:497.42,RSI:50.228884956655044,MACDLine:-.011963164247219993,SignalLine:.12188767282875419,MACDHistogram:-.13385083707597417},{date:"2024-10-29 11:16:00",open:497.8,low:497.71,high:498.05,close:497.95,volume:62953,MA20:497.67,MA50:497.43,RSI:43.48032593422301,MACDLine:-.06462149170539533,SignalLine:.10713321471179091,MACDHistogram:-.17175470641718624},{date:"2024-10-29 11:17:00",open:497.97,low:497.89,high:498,close:497.9,volume:108260,MA20:497.68,MA50:497.46,RSI:42.5765763897231,MACDLine:-.12543817159996706,SignalLine:.08511407342874058,MACDHistogram:-.21055224502870765},{date:"2024-10-29 11:18:00",open:497.95,low:497.74,high:498,close:497.74,volume:39849,MA20:497.68,MA50:497.49,RSI:44.56150486857208,MACDLine:-.14283781507856474,SignalLine:.06429927296424073,MACDHistogram:-.20713708804280548},{date:"2024-10-29 11:19:00",open:497.74,low:497.7,high:497.82,close:497.79,volume:22147,MA20:497.68,MA50:497.51,RSI:44.158607498886575,MACDLine:-.15322299180820664,SignalLine:.04140177802067134,MACDHistogram:-.194624769828878},{date:"2024-10-29 11:20:00",open:497.8,low:497.49,high:497.83,close:497.77,volume:28409,MA20:497.68,MA50:497.54,RSI:53.555276516146584,MACDLine:-.1299950102259686,SignalLine:.017893953818817705,MACDHistogram:-.1478889640447863},{date:"2024-10-29 11:21:00",open:497.77,low:497.73,high:497.89,close:497.78,volume:28492,MA20:497.69,MA50:497.55,RSI:53.96540122864015,MACDLine:-.09358409540311641,SignalLine:-.010198234846340228,MACDHistogram:-.08338586055677619},{date:"2024-10-29 11:22:00",open:497.79,low:497.74,high:498,close:497.97,volume:114749,MA20:497.69,MA50:497.57,RSI:63.43873396671634,MACDLine:-.06364021364157679,SignalLine:-.0398990621120748,MACDHistogram:-.023741151529501993},{date:"2024-10-29 11:23:00",open:497.97,low:497.88,high:498,close:497.92,volume:25485,MA20:497.69,MA50:497.59,RSI:65.4715400473979,MACDLine:-.017586165085674565,SignalLine:-.0604648689913979,MACDHistogram:.042878703905723334},{date:"2024-10-29 11:24:00",open:497.92,low:497.78,high:497.94,close:497.84,volume:16936,MA20:497.69,MA50:497.6,RSI:62.9940566165272,MACDLine:.023560437472326612,SignalLine:-.07259029517744238,MACDHistogram:.09615073264976899},{date:"2024-10-29 11:25:00",open:497.84,low:497.82,high:498.03,close:497.97,volume:31790,MA20:497.69,MA50:497.61,RSI:62.43791415581706,MACDLine:.09340849473767321,SignalLine:-.07458249604545414,MACDHistogram:.16799099078312735},{date:"2024-10-29 11:26:00",open:497.96,low:497.72,high:498,close:497.88,volume:39473,MA20:497.71,MA50:497.62,RSI:61.63483525249884,MACDLine:.10011043699654465,SignalLine:-.0618685771568259,MACDHistogram:.16197901415337054},{date:"2024-10-29 11:27:00",open:497.9,low:497.8,high:497.98,close:497.82,volume:16760,MA20:497.72,MA50:497.63,RSI:65.53820441068441,MACDLine:.11309930966882575,SignalLine:-.04162626767639119,MACDHistogram:.15472557734521694},{date:"2024-10-29 11:28:00",open:497.82,low:497.72,high:497.85,close:497.76,volume:15946,MA20:497.74,MA50:497.63,RSI:55.69554347571161,MACDLine:.10854184446628778,SignalLine:-.013727086643437324,MACDHistogram:.12226893110972512},{date:"2024-10-29 11:29:00",open:497.76,low:497.73,high:497.85,close:497.79,volume:29492,MA20:497.76,MA50:497.64,RSI:54.63393747727836,MACDLine:.1125642529610218,SignalLine:.0153398942521955,MACDHistogram:.09722435870882629},{date:"2024-10-29 11:30:00",open:497.79,low:497.64,high:497.89,close:497.89,volume:29544,MA20:497.78,MA50:497.66,RSI:47.64445162664984,MACDLine:.1400610106693989,SignalLine:.04257089166602348,MACDHistogram:.09749011900337543},{date:"2024-10-29 11:31:00",open:497.9,low:497.79,high:497.93,close:497.93,volume:29734,MA20:497.8,MA50:497.67,RSI:49.61619511701647,MACDLine:.16308325762560116,SignalLine:.06912366799292355,MACDHistogram:.09395958963267761},{date:"2024-10-29 11:32:00",open:497.94,low:497.86,high:498.02,close:497.91,volume:41639,MA20:497.83,MA50:497.67,RSI:56.57305049294324,MACDLine:.1717686236297027,SignalLine:.09080112626257307,MACDHistogram:.08096749736712962},{date:"2024-10-29 11:33:00",open:497.92,low:497.69,high:497.93,close:497.84,volume:37978,MA20:497.85,MA50:497.68,RSI:54.731202368968844,MACDLine:.1800649471675797,SignalLine:.10761129846013469,MACDHistogram:.07245364870744501},{date:"2024-10-29 11:34:00",open:497.83,low:497.6,high:497.84,close:497.64,volume:33054,MA20:497.84,MA50:497.69,RSI:55.60719568837149,MACDLine:.13930767361529206,SignalLine:.11116199939075005,MACDHistogram:.028145674224542006},{date:"2024-10-29 11:35:00",open:497.64,low:497.43,high:497.7,close:497.52,volume:44867,MA20:497.83,MA50:497.69,RSI:55.27484006737708,MACDLine:.09958755102871919,SignalLine:.1139248899893014,MACDHistogram:-.014337338960582216},{date:"2024-10-29 11:36:00",open:497.5,low:497.4,high:497.54,close:497.5,volume:30962,MA20:497.81,MA50:497.69,RSI:48.46816583307224,MACDLine:.0774780483669133,SignalLine:.11413128506942032,MACDHistogram:-.03665323670250702},{date:"2024-10-29 11:37:00",open:497.5,low:497.47,high:497.86,close:497.85,volume:43007,MA20:497.81,MA50:497.7,RSI:50.340271407110144,MACDLine:.031913147902287164,SignalLine:.11552864522020345,MACDHistogram:-.08361549731791629},{date:"2024-10-29 11:38:00",open:497.86,low:497.84,high:498,close:497.95,volume:47190,MA20:497.82,MA50:497.72,RSI:53.40499213705481,MACDLine:-.0005266072056429039,SignalLine:.11626974328499887,MACDHistogram:-.11679635049064177},{date:"2024-10-29 11:39:00",open:497.93,low:497.73,high:497.95,close:497.94,volume:33175,MA20:497.82,MA50:497.73,RSI:48.691612739010196,MACDLine:-.032542053074962496,SignalLine:.11032192643889885,MACDHistogram:-.14286397951386134},{date:"2024-10-29 11:40:00",open:497.95,low:497.87,high:498,close:497.89,volume:34545,MA20:497.83,MA50:497.74,RSI:52.07820982759248,MACDLine:-.02871388321256063,SignalLine:.09713159364222326,MACDHistogram:-.1258454768547839},{date:"2024-10-29 11:41:00",open:497.89,low:497.89,high:498.19,close:498.18,volume:100276,MA20:497.85,MA50:497.75,RSI:54.42137520172156,MACDLine:-.02617372628691328,SignalLine:.0784723361453534,MACDHistogram:-.10464606243226668},{date:"2024-10-29 11:42:00",open:498.18,low:498.07,high:498.32,close:498.08,volume:62231,MA20:497.86,MA50:497.76,RSI:56.794202990670804,MACDLine:-.026041762701254356,SignalLine:.053074183389796824,MACDHistogram:-.07911594609105119},{date:"2024-10-29 11:43:00",open:498.08,low:497.92,high:498.16,close:498.11,volume:43250,MA20:497.86,MA50:497.77,RSI:55.90150239921207,MACDLine:-.03763999444896626,SignalLine:.03151581083342301,MACDHistogram:-.06915580528238927},{date:"2024-10-29 11:44:00",open:498.11,low:497.91,high:498.11,close:498.01,volume:50023,MA20:497.87,MA50:497.78,RSI:52.8886088154984,MACDLine:-.060623337596837246,SignalLine:.014497875784598964,MACDHistogram:-.07512121338143621},{date:"2024-10-29 11:45:00",open:498.04,low:498.02,high:498.13,close:498.1,volume:22385,MA20:497.88,MA50:497.79,RSI:51.66194811876876,MACDLine:-.06987664703143537,SignalLine:-.0012471673609796199,MACDHistogram:-.06862947967045575},{date:"2024-10-29 11:46:00",open:498.15,low:498.06,high:498.19,close:498.16,volume:13978,MA20:497.89,MA50:497.8,RSI:52.29412224956496,MACDLine:-.045179938025682986,SignalLine:-.009537246176796316,MACDHistogram:-.03564269184888667},{date:"2024-10-29 11:47:00",open:498.17,low:498.15,high:498.22,close:498.19,volume:21806,MA20:497.91,MA50:497.81,RSI:54.45996364061079,MACDLine:.007726478749248145,SignalLine:-.011789905919584669,MACDHistogram:.019516384668832813},{date:"2024-10-29 11:48:00",open:498.17,low:497.97,high:498.19,close:497.97,volume:19599,MA20:497.92,MA50:497.81,RSI:61.18276264123033,MACDLine:.09019646556026828,SignalLine:-.00660186913074021,MACDHistogram:.09679833469100849},{date:"2024-10-29 11:49:00",open:497.96,low:497.93,high:498.18,close:498.11,volume:33178,MA20:497.94,MA50:497.82,RSI:65.70147242395909,MACDLine:.11967348195452132,SignalLine:-.001073865610285104,MACDHistogram:.12074734756480643},{date:"2024-10-29 11:50:00",open:498.13,low:498.1,high:498.2,close:498.17,volume:35665,MA20:497.95,MA50:497.83,RSI:66.46112872617414,MACDLine:.12995616859660686,SignalLine:.005201099558871939,MACDHistogram:.12475506903773492},{date:"2024-10-29 11:51:00",open:498.18,low:498.14,high:498.4,close:498.22,volume:81977,MA20:497.97,MA50:497.84,RSI:58.70174764429126,MACDLine:.15500852618561112,SignalLine:.013011815123903514,MACDHistogram:.1419967110617076},{date:"2024-10-29 11:52:00",open:498.21,low:497.91,high:498.27,close:497.93,volume:45234,MA20:497.97,MA50:497.84,RSI:56.001101291064145,MACDLine:.18618432040011612,SignalLine:.02567476751712096,MACDHistogram:.16050955288299518},{date:"2024-10-29 11:53:00",open:497.91,low:497.69,high:497.94,close:497.69,volume:41357,MA20:497.96,MA50:497.83,RSI:56.34323283918655,MACDLine:.1658860167189573,SignalLine:.04724929379561051,MACDHistogram:.11863672292334679},{date:"2024-10-29 11:54:00",open:497.68,low:497.59,high:497.88,close:497.88,volume:47721,MA20:497.97,MA50:497.83,RSI:57.98806072722386,MACDLine:.15618329432277278,SignalLine:.07653077900237198,MACDHistogram:.0796525153204008},{date:"2024-10-29 11:55:00",open:497.93,low:497.88,high:498.12,close:498.09,volume:25345,MA20:498,MA50:497.84,RSI:50.150459386520936,MACDLine:.1431273352742437,SignalLine:.10695845825938573,MACDHistogram:.03616887701485798},{date:"2024-10-29 11:56:00",open:498.1,low:498.04,high:498.16,close:498.04,volume:14413,MA20:498.03,MA50:497.85,RSI:53.336507527754776,MACDLine:.15521769539378738,SignalLine:.13176645313692012,MACDHistogram:.02345124225686726},{date:"2024-10-29 11:57:00",open:498.03,low:498.03,high:498.35,close:498.35,volume:44407,MA20:498.05,MA50:497.86,RSI:52.49579790706083,MACDLine:.1569734976496875,SignalLine:.1421589500310831,MACDHistogram:.014814547618604401},{date:"2024-10-29 11:58:00",open:498.35,low:498.34,high:498.4,close:498.37,volume:149752,MA20:498.07,MA50:497.88,RSI:55.59612383952763,MACDLine:.1468949252904963,SignalLine:.14778031705022354,MACDHistogram:-.0008853917597272387},{date:"2024-10-29 11:59:00",open:498.38,low:498.23,high:498.42,close:498.39,volume:96409,MA20:498.1,MA50:497.9,RSI:53.29073787621354,MACDLine:.12447616674785422,SignalLine:.1522363541636277,MACDHistogram:-.02776018741577349},{date:"2024-10-29 12:00:00",open:498.38,low:498.37,high:498.87,close:498.84,volume:304491,MA20:498.14,MA50:497.93,RSI:51.73964674041523,MACDLine:.12314202523702988,SignalLine:.15154331115813185,MACDHistogram:-.02840128592110197},{date:"2024-10-29 12:01:00",open:498.87,low:498.67,high:498.9,close:498.72,volume:37390,MA20:498.17,MA50:497.95,RSI:50.98393163469678,MACDLine:.08939347334160175,SignalLine:.14288305884763577,MACDHistogram:-.053489585506034026},{date:"2024-10-29 12:02:00",open:498.7,low:498.41,high:498.72,close:498.42,volume:48816,MA20:498.19,MA50:497.97,RSI:57.06930035380285,MACDLine:.041090507491958306,SignalLine:.13713231937980538,MACDHistogram:-.09604181188784708},{date:"2024-10-29 12:03:00",open:498.38,low:498.21,high:498.55,close:498.28,volume:44596,MA20:498.2,MA50:497.99,RSI:53.81163204457837,MACDLine:.007495223698526843,SignalLine:.13236957564406354,MACDHistogram:-.1248743519455367},{date:"2024-10-29 12:04:00",open:498.25,low:498.25,high:498.47,close:498.36,volume:26599,MA20:498.21,MA50:498,RSI:52.3734066719277,MACDLine:.030615494584708358,SignalLine:.12968013573651851,MACDHistogram:-.09906464115181016},{date:"2024-10-29 12:05:00",open:498.36,low:498.13,high:498.39,close:498.31,volume:60275,MA20:498.22,MA50:498.01,RSI:51.19750661590221,MACDLine:.1022255058672954,SignalLine:.1232957458222013,MACDHistogram:-.02107023995490591},{date:"2024-10-29 12:06:00",open:498.31,low:498.19,high:498.37,close:498.22,volume:28214,MA20:498.23,MA50:498.02,RSI:59.0495104840795,MACDLine:.1499571856371631,SignalLine:.11487630786532976,MACDHistogram:.03508087777183333},{date:"2024-10-29 12:07:00",open:498.24,low:498.22,high:498.34,close:498.32,volume:19101,MA20:498.23,MA50:498.03,RSI:66.93880583377168,MACDLine:.19357169784331063,SignalLine:.10687165350903813,MACDHistogram:.0867000443342725},{date:"2024-10-29 12:08:00",open:498.34,low:498.33,high:498.44,close:498.38,volume:47795,MA20:498.25,MA50:498.04,RSI:63.33803642114763,MACDLine:.24620590509050544,SignalLine:.10247052519933411,MACDHistogram:.14373537989117133},{date:"2024-10-29 12:09:00",open:498.41,low:498.32,high:498.42,close:498.34,volume:51699,MA20:498.27,MA50:498.05,RSI:58.72430655169938,MACDLine:.2552596619029259,SignalLine:.09730265018991016,MACDHistogram:.15795701171301577},{date:"2024-10-29 12:10:00",open:498.35,low:498.34,high:498.46,close:498.46,volume:99472,MA20:498.28,MA50:498.07,RSI:60.40494765249854,MACDLine:.25495722551579547,SignalLine:.09927994440198726,MACDHistogram:.1556772811138082},{date:"2024-10-29 12:11:00",open:498.43,low:498.23,high:498.43,close:498.26,volume:34016,MA20:498.28,MA50:498.08,RSI:52.594136215414316,MACDLine:.25966273797422446,SignalLine:.11382730362949449,MACDHistogram:.14583543434472995},{date:"2024-10-29 12:12:00",open:498.25,low:498.21,high:498.34,close:498.31,volume:19909,MA20:498.3,MA50:498.08,RSI:52.027200372972175,MACDLine:.18909177041422254,SignalLine:.1404103236122364,MACDHistogram:.048681446801986133},{date:"2024-10-29 12:13:00",open:498.3,low:498.24,high:498.33,close:498.27,volume:27534,MA20:498.33,MA50:498.09,RSI:51.48848169385291,MACDLine:.13037621879527705,SignalLine:.1678590308691184,MACDHistogram:-.037482812073841354},{date:"2024-10-29 12:14:00",open:498.27,low:498.23,high:498.41,close:498.4,volume:28396,MA20:498.36,MA50:498.1,RSI:36.617744671851256,MACDLine:.09819198791001327,SignalLine:.18426741211957415,MACDHistogram:-.08607542420956088},{date:"2024-10-29 12:15:00",open:498.4,low:498.29,high:498.48,close:498.44,volume:67844,MA20:498.37,MA50:498.11,RSI:39.62552941999697,MACDLine:.09888495884683834,SignalLine:.19284496874017693,MACDHistogram:-.09396000989333858},{date:"2024-10-29 12:16:00",open:498.44,low:498.4,high:498.5,close:498.48,volume:6475,MA20:498.4,MA50:498.12,RSI:48.961652094432644,MACDLine:.09105838780482145,SignalLine:.1926632864643935,MACDHistogram:-.10160489865957206},{date:"2024-10-29 12:17:00",open:498.44,low:498.39,high:498.63,close:498.63,volume:31669,MA20:498.41,MA50:498.14,RSI:54.52889637062068,MACDLine:.0955988969431587,SignalLine:.17927763180786555,MACDHistogram:-.08367873486470684},{date:"2024-10-29 12:18:00",open:498.64,low:498.64,high:498.88,close:498.78,volume:68878,MA20:498.43,MA50:498.16,RSI:51.60929591393186,MACDLine:.09447643556052299,SignalLine:.16028212428410044,MACDHistogram:-.06580568872357745},{date:"2024-10-29 12:19:00",open:498.78,low:498.47,high:498.82,close:498.51,volume:122388,MA20:498.44,MA50:498.17,RSI:53.60687390208632,MACDLine:.05850592760583595,SignalLine:.13661334897617666,MACDHistogram:-.07810742137034071},{date:"2024-10-29 12:20:00",open:498.51,low:498.4,high:498.6,close:498.42,volume:29599,MA20:498.42,MA50:498.18,RSI:57.31479400148956,MACDLine:.025198029414809753,SignalLine:.1058510017266647,MACDHistogram:-.08065297231185495},{date:"2024-10-29 12:21:00",open:498.4,low:498.33,high:498.55,close:498.51,volume:22440,MA20:498.41,MA50:498.19,RSI:54.034484455254045,MACDLine:.01366397711404943,SignalLine:.08504080955477525,MACDHistogram:-.07137683244072582},{date:"2024-10-29 12:22:00",open:498.5,low:498.39,high:498.64,close:498.63,volume:11789,MA20:498.42,MA50:498.21,RSI:51.97840153609549,MACDLine:-.023438234762352295,SignalLine:.07370695724464979,MACDHistogram:-.09714519200700208},{date:"2024-10-29 12:23:00",open:498.66,low:498.65,high:498.82,close:498.77,volume:23424,MA20:498.44,MA50:498.23,RSI:53.45870579218176,MACDLine:-.0031805017790134116,SignalLine:.06758569957830891,MACDHistogram:-.07076620135732233},{date:"2024-10-29 12:24:00",open:498.8,low:498.64,high:498.81,close:498.65,volume:39866,MA20:498.45,MA50:498.25,RSI:49.44817877949058,MACDLine:.013921993800181554,SignalLine:.05976088476117655,MACDHistogram:-.045838890960995},{date:"2024-10-29 12:25:00",open:498.64,low:498.55,high:498.68,close:498.65,volume:31253,MA20:498.47,MA50:498.27,RSI:57.057376217130475,MACDLine:.043548495520610686,SignalLine:.05193650900026533,MACDHistogram:-.008388013479654642},{date:"2024-10-29 12:26:00",open:498.6,low:498.44,high:498.6,close:498.47,volume:75921,MA20:498.48,MA50:498.29,RSI:55.46652158899893,MACDLine:.09134743414523427,SignalLine:.041020912014541985,MACDHistogram:.05032652213069229},{date:"2024-10-29 12:27:00",open:498.45,low:498.36,high:498.5,close:498.36,volume:121668,MA20:498.49,MA50:498.3,RSI:57.036152135642496,MACDLine:.12775484403857718,SignalLine:.02765703112804673,MACDHistogram:.10009781291053044},{date:"2024-10-29 12:28:00",open:498.35,low:498.2,high:498.41,close:498.22,volume:38849,MA20:498.48,MA50:498.31,RSI:53.024365340485566,MACDLine:.13702023129820873,SignalLine:.01994480700859943,MACDHistogram:.11707542428960929},{date:"2024-10-29 12:29:00",open:498.22,low:498.12,high:498.33,close:498.23,volume:49848,MA20:498.47,MA50:498.31,RSI:51.736758981490574,MACDLine:.10925321312709002,SignalLine:.01863150140704685,MACDHistogram:.09062171172004317},{date:"2024-10-29 12:30:00",open:498.23,low:498.19,high:498.34,close:498.2,volume:19779,MA20:498.46,MA50:498.32,RSI:50.4762698014056,MACDLine:.05644144501593473,SignalLine:.019873382480296204,MACDHistogram:.03656806253563853},{date:"2024-10-29 12:31:00",open:498.19,low:497.98,high:498.19,close:498.06,volume:34958,MA20:498.45,MA50:498.32,RSI:45.521865408937146,MACDLine:.03941345815377417,SignalLine:.03070128679095833,MACDHistogram:.008712171362815841},{date:"2024-10-29 12:32:00",open:498.01,low:497.83,high:498.01,close:497.96,volume:31960,MA20:498.43,MA50:498.31,RSI:39.942841817044965,MACDLine:.029178995531140117,SignalLine:.03917173393345127,MACDHistogram:-.00999273840231115},{date:"2024-10-29 12:33:00",open:497.97,low:497.74,high:497.97,close:497.85,volume:32457,MA20:498.41,MA50:498.31,RSI:48.191750435398156,MACDLine:.01023713239413837,SignalLine:.0454841689667687,MACDHistogram:-.03524703657263033},{date:"2024-10-29 12:34:00",open:497.83,low:497.75,high:497.9,close:497.86,volume:28823,MA20:498.38,MA50:498.3,RSI:51.482632671128,MACDLine:-.028343022117383043,SignalLine:.0459680873283082,MACDHistogram:-.07431110944569125},{date:"2024-10-29 12:35:00",open:497.84,low:497.75,high:497.92,close:497.76,volume:70907,MA20:498.35,MA50:498.3,RSI:48.19788148647999,MACDLine:-.10219124809947289,SignalLine:.03462325062407668,MACDHistogram:-.13681449872354956},{date:"2024-10-29 12:36:00",open:497.73,low:497.53,high:497.86,close:497.72,volume:64650,MA20:498.31,MA50:498.29,RSI:43.45844089260123,MACDLine:-.15728929292606608,SignalLine:.011340352270451555,MACDHistogram:-.16862964519651763},{date:"2024-10-29 12:37:00",open:497.7,low:497.59,high:497.84,close:497.84,volume:28375,MA20:498.27,MA50:498.28,RSI:37.237725325351136,MACDLine:-.23856295315306397,SignalLine:-.02007961748648774,MACDHistogram:-.21848333566657624},{date:"2024-10-29 12:38:00",open:497.84,low:497.83,high:498.15,close:498.11,volume:49779,MA20:498.24,MA50:498.28,RSI:40.8114682718025,MACDLine:-.29642769106970945,SignalLine:-.052412825139882185,MACDHistogram:-.24401486592982727},{date:"2024-10-29 12:39:00",open:498.14,low:498.14,high:498.45,close:498.21,volume:51876,MA20:498.22,MA50:498.29,RSI:40.8114682718025,MACDLine:-.34684519014047055,SignalLine:-.07962639267883642,MACDHistogram:-.2672187974616341},{date:"2024-10-29 12:40:00",open:498.2,low:498.1,high:498.3,close:498.23,volume:21875,MA20:498.21,MA50:498.29,RSI:46.595125482247816,MACDLine:-.36898759527969105,SignalLine:-.10938635538698908,MACDHistogram:-.25960123989270195},{date:"2024-10-29 12:41:00",open:498.3,low:498.25,high:498.43,close:498.36,volume:24778,MA20:498.21,MA50:498.29,RSI:50.66992334116297,MACDLine:-.3931186273624121,SignalLine:-.1440276931165214,MACDHistogram:-.2490909342458907},{date:"2024-10-29 12:42:00",open:498.41,low:498.41,high:498.6,close:498.54,volume:29921,MA20:498.2,MA50:498.3,RSI:56.51034509981489,MACDLine:-.41260051009538756,SignalLine:-.18259389949418633,MACDHistogram:-.23000661060120123},{date:"2024-10-29 12:43:00",open:498.5,low:498.42,high:498.73,close:498.63,volume:22976,MA20:498.2,MA50:498.32,RSI:56.17530239034898,MACDLine:-.3980831966368328,SignalLine:-.22115661883838716,MACDHistogram:-.17692657779844562},{date:"2024-10-29 12:44:00",open:498.56,low:498.51,high:498.63,close:498.59,volume:62794,MA20:498.19,MA50:498.34,RSI:57.4073233031169,MACDLine:-.3518726155077161,SignalLine:-.2508979615231157,MACDHistogram:-.10097465398460037},{date:"2024-10-29 12:45:00",open:498.59,low:498.41,high:498.62,close:498.56,volume:36352,MA20:498.19,MA50:498.35,RSI:63.43613122256945,MACDLine:-.301300235731901,SignalLine:-.27430012867237813,MACDHistogram:-.027000107059522882},{date:"2024-10-29 12:46:00",open:498.56,low:498.53,high:498.66,close:498.62,volume:11665,MA20:498.2,MA50:498.36,RSI:68.18558894919278,MACDLine:-.25098712211649854,SignalLine:-.28323442255220665,MACDHistogram:.032247300435708115},{date:"2024-10-29 12:47:00",open:498.7,low:498.68,high:498.82,close:498.74,volume:31123,MA20:498.21,MA50:498.36,RSI:73.83182376746976,MACDLine:-.16588220805294895,SignalLine:-.279936105422831,MACDHistogram:.11405389736988203},{date:"2024-10-29 12:48:00",open:498.77,low:498.7,high:498.89,close:498.88,volume:26048,MA20:498.25,MA50:498.38,RSI:73.6476155974403,MACDLine:-.04888092198564209,SignalLine:-.26320883424342106,MACDHistogram:.21432791225777897},{date:"2024-10-29 12:49:00",open:498.88,low:498.76,high:498.99,close:498.76,volume:48362,MA20:498.27,MA50:498.38,MA200:497.27,RSI:78.79833371269888,MACDLine:.07731171473284348,SignalLine:-.23676414398435355,MACDHistogram:.314075858717197},{date:"2024-10-29 12:50:00",open:498.78,low:498.76,high:498.98,close:498.98,volume:225220,MA20:498.31,MA50:498.39,MA200:497.29,RSI:80.8998468010802,MACDLine:.16503669156651313,SignalLine:-.1976755231398389,MACDHistogram:.36271221470635207},{date:"2024-10-29 12:51:00",open:498.98,low:498.98,high:499.18,close:499.16,volume:190360,MA20:498.37,MA50:498.39,MA200:497.31,RSI:79.3669418048807,MACDLine:.24856876466589028,SignalLine:-.14394427640095175,MACDHistogram:.39251304106684204},{date:"2024-10-29 12:52:00",open:499.18,low:498.61,high:499.26,close:498.94,volume:205143,MA20:498.42,MA50:498.4,MA200:497.34,RSI:75.21024372618413,MACDLine:.3271341559358234,SignalLine:-.0804095463419815,MACDHistogram:.4075437022778049},{date:"2024-10-29 12:53:00",open:498.94,low:498.85,high:499.05,close:499.01,volume:47596,MA20:498.48,MA50:498.42,MA200:497.36,RSI:73.36483841631741,MACDLine:.38672657670673516,SignalLine:-.012543779050547835,MACDHistogram:.399270355757283},{date:"2024-10-29 12:54:00",open:499.02,low:498.91,high:499.02,close:498.96,volume:38833,MA20:498.53,MA50:498.43,MA200:497.38,RSI:72.9914454233155,MACDLine:.4132357890113667,SignalLine:.05964533511979045,MACDHistogram:.3535904538915763},{date:"2024-10-29 12:55:00",open:498.97,low:498.86,high:499.04,close:498.91,volume:45380,MA20:498.59,MA50:498.44,MA200:497.41,RSI:70.49491808604353,MACDLine:.43015139033087735,SignalLine:.13730344942886272,MACDHistogram:.2928479409020146},{date:"2024-10-29 12:56:00",open:498.9,low:498.71,high:498.96,close:498.74,volume:34595,MA20:498.64,MA50:498.45,MA200:497.43,RSI:66.51546150634604,MACDLine:.4561760103375718,SignalLine:.21309986379931564,MACDHistogram:.24307614653825618},{date:"2024-10-29 12:57:00",open:498.73,low:498.65,high:498.87,close:498.85,volume:31215,MA20:498.69,MA50:498.46,MA200:497.45,RSI:64.27859097614231,MACDLine:.4826848742684433,SignalLine:.2785950602455551,MACDHistogram:.20408981402288823},{date:"2024-10-29 12:58:00",open:498.85,low:498.76,high:498.95,close:498.91,volume:22591,MA20:498.73,MA50:498.47,MA200:497.47,RSI:66.10096332684073,MACDLine:.4978625896962967,SignalLine:.328915896623733,MACDHistogram:.16894669307256371},{date:"2024-10-29 12:59:00",open:498.93,low:498.86,high:499.05,close:499,volume:36536,MA20:498.77,MA50:498.49,MA200:497.5,RSI:67.43238577439932,MACDLine:.48897505426498356,SignalLine:.36988569788803793,MACDHistogram:.11908935637694562},{date:"2024-10-29 13:00:00",open:499.03,low:499.02,high:499.22,close:499.09,volume:62482,MA20:498.81,MA50:498.5,MA200:497.52,RSI:66.1667851967035,MACDLine:.458809871888775,SignalLine:.4002149311935748,MACDHistogram:.05859494069520016},{date:"2024-10-29 13:01:00",open:499.1,low:499.07,high:499.3,close:499.25,volume:44457,MA20:498.86,MA50:498.52,MA200:497.55,RSI:63.53511880277951,MACDLine:.44228907733747747,SignalLine:.41848512500801266,MACDHistogram:.023803952329464806},{date:"2024-10-29 13:02:00",open:499.22,low:499.21,high:499.64,close:499.51,volume:105157,MA20:498.9,MA50:498.54,MA200:497.57,RSI:60.179636986313895,MACDLine:.3861146948034957,SignalLine:.426424762083332,MACDHistogram:-.040310067279836326},{date:"2024-10-29 13:03:00",open:499.55,low:499.55,high:499.83,close:499.7,volume:118025,MA20:498.96,MA50:498.57,MA200:497.59,RSI:64.93551732020896,MACDLine:.3039995418993158,SignalLine:.4297220053513234,MACDHistogram:-.1257224634520076},{date:"2024-10-29 13:04:00",open:499.7,low:499.51,high:499.74,close:499.52,volume:63822,MA20:499,MA50:498.6,MA200:497.61,RSI:59.4847647074052,MACDLine:.2755689352194395,SignalLine:.42961465910643487,MACDHistogram:-.1540457238869954},{date:"2024-10-29 13:05:00",open:499.55,low:499.37,high:499.57,close:499.51,volume:78169,MA20:499.05,MA50:498.62,MA200:497.63,RSI:54.05908974957295,MACDLine:.24261832181764476,SignalLine:.42297432129865065,MACDHistogram:-.1803559994810059},{date:"2024-10-29 13:06:00",open:499.5,low:499.5,high:499.77,close:499.69,volume:36410,MA20:499.11,MA50:498.64,MA200:497.65,RSI:63.74780348963424,MACDLine:.2193596360310721,SignalLine:.4080466830562025,MACDHistogram:-.1886870470251304},{date:"2024-10-29 13:07:00",open:499.7,low:499.64,high:499.75,close:499.71,volume:35423,MA20:499.15,MA50:498.66,MA200:497.68,RSI:61.720817603314856,MACDLine:.21659150055756982,SignalLine:.38559270639617893,MACDHistogram:-.16900120583860911},{date:"2024-10-29 13:08:00",open:499.71,low:499.65,high:499.79,close:499.69,volume:32560,MA20:499.19,MA50:498.68,MA200:497.7,RSI:64.09791844847443,MACDLine:.2632170221814363,SignalLine:.3597471194289778,MACDHistogram:-.09653009724754152},{date:"2024-10-29 13:09:00",open:499.7,low:499.58,high:499.74,close:499.66,volume:35911,MA20:499.24,MA50:498.7,MA200:497.72,RSI:66.4752583887325,MACDLine:.3090086221860133,SignalLine:.3349814313140285,MACDHistogram:-.025972809128015195},{date:"2024-10-29 13:10:00",open:499.67,low:499.54,high:499.72,close:499.67,volume:57432,MA20:499.27,MA50:498.73,MA200:497.75,RSI:75.29159335121429,MACDLine:.3520515935055073,SignalLine:.30815451980816627,MACDHistogram:.04389707369734103},{date:"2024-10-29 13:11:00",open:499.7,low:499.68,high:499.77,close:499.69,volume:30178,MA20:499.3,MA50:498.75,MA200:497.77,RSI:73.15217221625605,MACDLine:.38776023553867844,SignalLine:.28866447605933393,MACDHistogram:.09909575947934451},{date:"2024-10-29 13:12:00",open:499.69,low:499.67,high:499.77,close:499.72,volume:55341,MA20:499.34,MA50:498.77,MA200:497.79,RSI:71.92073830866362,MACDLine:.42253366248957036,SignalLine:.2848307095993385,MACDHistogram:.13770295289023188},{date:"2024-10-29 13:13:00",open:499.65,low:499.57,high:499.75,close:499.69,volume:24724,MA20:499.37,MA50:498.79,MA200:497.82,RSI:70.00442874323407,MACDLine:.44811671052525526,SignalLine:.28714615319431325,MACDHistogram:.160970557330942},{date:"2024-10-29 13:14:00",open:499.72,low:499.69,high:499.84,close:499.82,volume:55832,MA20:499.42,MA50:498.82,MA200:497.84,RSI:67.97494696023897,MACDLine:.44559737604674865,SignalLine:.29827811103848034,MACDHistogram:.1473192650082683},{date:"2024-10-29 13:15:00",open:499.81,low:499.71,high:499.95,close:499.78,volume:82382,MA20:499.46,MA50:498.84,MA200:497.86,RSI:63.94826864369088,MACDLine:.40091855456989833,SignalLine:.3180077297903324,MACDHistogram:.0829108247795659},{date:"2024-10-29 13:16:00",open:499.83,low:499.74,high:499.91,close:499.76,volume:140463,MA20:499.51,MA50:498.86,MA200:497.88,RSI:55.50676664362852,MACDLine:.40206058890936447,SignalLine:.34336178709852305,MACDHistogram:.05869880181084142},{date:"2024-10-29 13:17:00",open:499.77,low:499.65,high:499.81,close:499.71,volume:25150,MA20:499.55,MA50:498.89,MA200:497.9,RSI:47.101936415529025,MACDLine:.4217428132639611,SignalLine:.36339797832779475,MACDHistogram:.05834483493616638},{date:"2024-10-29 13:18:00",open:499.74,low:499.71,high:499.8,close:499.8,volume:22012,MA20:499.6,MA50:498.92,MA200:497.92,RSI:56.48908621341086,MACDLine:.3954936841562926,SignalLine:.3769953173632401,MACDHistogram:.0184983667930525},{date:"2024-10-29 13:19:00",open:499.8,low:499.7,high:499.87,close:499.83,volume:28111,MA20:499.64,MA50:498.95,MA200:497.94,RSI:57.07588669978673,MACDLine:.36911034214386973,SignalLine:.3832312483276733,MACDHistogram:-.014120906183803572},{date:"2024-10-29 13:20:00",open:499.84,low:499.72,high:499.88,close:499.79,volume:43945,MA20:499.68,MA50:498.99,MA200:497.96,RSI:48.05730569602425,MACDLine:.33988490790773085,SignalLine:.382099001524922,MACDHistogram:-.04221409361719114},{date:"2024-10-29 13:21:00",open:499.77,low:499.34,high:499.77,close:499.41,volume:96709,MA20:499.68,MA50:499.01,MA200:497.98,RSI:46.906367171376125,MACDLine:.3097115731858935,SignalLine:.3719903362837599,MACDHistogram:-.062278763097866396},{date:"2024-10-29 13:22:00",open:499.38,low:499.35,high:499.51,close:499.4,volume:33262,MA20:499.68,MA50:499.04,MA200:497.99,RSI:47.89174695969567,MACDLine:.2621854394400316,SignalLine:.352958742723386,MACDHistogram:-.09077330328335442},{date:"2024-10-29 13:23:00",open:499.5,low:499.44,high:499.61,close:499.57,volume:23634,MA20:499.67,MA50:499.08,MA200:498.01,RSI:49.335311828744885,MACDLine:.21640211324893244,SignalLine:.32979908439254535,MACDHistogram:-.11339697114361291},{date:"2024-10-29 13:24:00",open:499.63,low:499.58,high:499.78,close:499.75,volume:37177,MA20:499.68,MA50:499.11,MA200:498.03,RSI:48.85817170716632,MACDLine:.1663819098086492,SignalLine:.3120192168482071,MACDHistogram:-.1456373070395579},{date:"2024-10-29 13:25:00",open:499.72,low:499.47,high:499.81,close:499.52,volume:42223,MA20:499.68,MA50:499.15,MA200:498.04,RSI:47.947786744643246,MACDLine:.12455420418405083,SignalLine:.28950887383291773,MACDHistogram:-.1649546696488669},{date:"2024-10-29 13:26:00",open:499.49,low:499.34,high:499.56,close:499.34,volume:26296,MA20:499.67,MA50:499.18,MA200:498.06,RSI:46.624364405757206,MACDLine:.0629551442169145,SignalLine:.2564503889751569,MACDHistogram:-.19349524475824237},{date:"2024-10-29 13:27:00",open:499.34,low:499.22,high:499.47,close:499.27,volume:34306,MA20:499.64,MA50:499.21,MA200:498.08,RSI:47.7517271048668,MACDLine:.014107541942905755,SignalLine:.22168956517987293,MACDHistogram:-.20758202323696717},{date:"2024-10-29 13:28:00",open:499.26,low:499.26,high:499.44,close:499.38,volume:39071,MA20:499.63,MA50:499.24,MA200:498.09,RSI:42.12035809448303,MACDLine:-.016299507387770973,SignalLine:.18483437093887373,MACDHistogram:-.2011338783266447},{date:"2024-10-29 13:29:00",open:499.39,low:499.34,high:499.46,close:499.42,volume:24354,MA20:499.62,MA50:499.26,MA200:498.11,RSI:43.45864803889484,MACDLine:-.026945602971466087,SignalLine:.14607173669665946,MACDHistogram:-.17301733966812555},{date:"2024-10-29 13:30:00",open:499.43,low:499.34,high:499.47,close:499.41,volume:48951,MA20:499.6,MA50:499.28,MA200:498.13,RSI:44.109337869818866,MACDLine:-.07076013801872705,SignalLine:.10516177757435093,MACDHistogram:-.17592191559307796},{date:"2024-10-29 13:31:00",open:499.5,low:499.24,high:499.5,close:499.34,volume:34825,MA20:499.59,MA50:499.3,MA200:498.14,RSI:45.69769223783029,MACDLine:-.1278359971078089,SignalLine:.06590586210793076,MACDHistogram:-.19374185921573966},{date:"2024-10-29 13:32:00",open:499.36,low:499.3,high:499.41,close:499.37,volume:30283,MA20:499.57,MA50:499.32,MA200:498.16,RSI:42.2200760333841,MACDLine:-.17249884275094018,SignalLine:.028281799322680337,MACDHistogram:-.2007806420736205},{date:"2024-10-29 13:33:00",open:499.39,low:499.25,high:499.57,close:499.57,volume:40880,MA20:499.56,MA50:499.34,MA200:498.17,RSI:41.05157354206224,MACDLine:-.15485034620451188,SignalLine:-.0062432282988118815,MACDHistogram:-.1486071179057},{date:"2024-10-29 13:34:00",open:499.55,low:499.54,high:499.79,close:499.71,volume:36528,MA20:499.56,MA50:499.36,MA200:498.19,RSI:42.10583670416422,MACDLine:-.1342175328494477,SignalLine:-.03894258641952757,MACDHistogram:-.09527494642992014},{date:"2024-10-29 13:35:00",open:499.69,low:499.66,high:499.81,close:499.76,volume:45516,MA20:499.56,MA50:499.39,MA200:498.21,RSI:54.43877244281306,MACDLine:-.14345757787128832,SignalLine:-.06441701907863809,MACDHistogram:-.07904055879265023},{date:"2024-10-29 13:36:00",open:499.75,low:499.72,high:499.86,close:499.86,volume:20564,MA20:499.56,MA50:499.41,MA200:498.23,RSI:54.83122197115187,MACDLine:-.18640094329367685,SignalLine:-.08404815933402406,MACDHistogram:-.10235278395965279},{date:"2024-10-29 13:37:00",open:499.84,low:499.72,high:499.84,close:499.77,volume:19617,MA20:499.56,MA50:499.43,MA200:498.24,RSI:49.03098154296578,MACDLine:-.1939191887121865,SignalLine:-.10098532232058732,MACDHistogram:-.09293386639159917},{date:"2024-10-29 13:38:00",open:499.76,low:499.62,high:499.76,close:499.71,volume:15694,MA20:499.56,MA50:499.45,MA200:498.26,RSI:41.666065032535734,MACDLine:-.1680400155741495,SignalLine:-.11949525215786763,MACDHistogram:-.04854476341628186},{date:"2024-10-29 13:39:00",open:499.7,low:499.6,high:499.71,close:499.7,volume:15856,MA20:499.55,MA50:499.47,MA200:498.28,RSI:50.287804152383686,MACDLine:-.12776456163328476,SignalLine:-.13167903069265277,MACDHistogram:.003914469059368014},{date:"2024-10-29 13:40:00",open:499.72,low:499.61,high:499.74,close:499.61,volume:25717,MA20:499.54,MA50:499.48,MA200:498.29,RSI:59.18815624911658,MACDLine:-.09020913407044873,SignalLine:-.13263978908886373,MACDHistogram:.042430655018415},{date:"2024-10-29 13:41:00",open:499.61,low:499.5,high:499.62,close:499.57,volume:37672,MA20:499.55,MA50:499.49,MA200:498.31,RSI:63.22929444662074,MACDLine:-.05783534639465415,SignalLine:-.12267502567334462,MACDHistogram:.06483967927869047},{date:"2024-10-29 13:42:00",open:499.58,low:499.47,high:499.6,close:499.54,volume:24776,MA20:499.56,MA50:499.5,MA200:498.32,RSI:59.16056743702494,MACDLine:-.02069156145000761,SignalLine:-.11463119554055282,MACDHistogram:.0939396340905452},{date:"2024-10-29 13:43:00",open:499.51,low:499.23,high:499.51,close:499.31,volume:50026,MA20:499.55,MA50:499.5,MA200:498.33,RSI:57.575468909924886,MACDLine:.030654746773166153,SignalLine:-.1097346112133291,MACDHistogram:.14038935798649527},{date:"2024-10-29 13:44:00",open:499.33,low:499.21,high:499.36,close:499.29,volume:41243,MA20:499.52,MA50:499.51,MA200:498.34,RSI:58.09894899535015,MACDLine:.09210905658846968,SignalLine:-.1013038695488393,MACDHistogram:.19341292613730898},{date:"2024-10-29 13:45:00",open:499.27,low:499.23,high:499.35,close:499.33,volume:28553,MA20:499.51,MA50:499.52,MA200:498.35,RSI:61.74816966761256,MACDLine:.1289891530206546,SignalLine:-.08002960111262991,MACDHistogram:.20901875413328452},{date:"2024-10-29 13:46:00",open:499.34,low:499.27,high:499.49,close:499.44,volume:54700,MA20:499.52,MA50:499.53,MA200:498.36,RSI:60.7675147702141,MACDLine:.14174899751373005,SignalLine:-.051557204212740765,MACDHistogram:.1933062017264708},{date:"2024-10-29 13:47:00",open:499.43,low:499.34,high:499.53,close:499.52,volume:65211,MA20:499.53,MA50:499.55,MA200:498.38,RSI:53.36660575017961,MACDLine:.11531884997560837,SignalLine:-.022436501372388586,MACDHistogram:.13775535134799696},{date:"2024-10-29 13:48:00",open:499.53,low:499.52,high:499.69,close:499.67,volume:45912,MA20:499.54,MA50:499.56,MA200:498.39,RSI:46.84941126054376,MACDLine:.06601609657275276,SignalLine:.0038955136928354554,MACDHistogram:.0621205828799173},{date:"2024-10-29 13:49:00",open:499.68,low:499.58,high:499.7,close:499.64,volume:48920,MA20:499.56,MA50:499.58,MA200:498.41,RSI:44.26632680119278,MACDLine:.03878216627930442,SignalLine:.027421675633656505,MACDHistogram:.011360490645647914},{date:"2024-10-29 13:50:00",open:499.6,low:499.54,high:499.77,close:499.77,volume:52538,MA20:499.57,MA50:499.59,MA200:498.42,RSI:38.73697424228301,MACDLine:.031675845558936544,SignalLine:.04873593114073417,MACDHistogram:-.017060085581797627},{date:"2024-10-29 13:51:00",open:499.72,low:499.6,high:499.74,close:499.63,volume:26629,MA20:499.59,MA50:499.6,MA200:498.44,RSI:42.239076788844045,MACDLine:.004981220267666231,SignalLine:.06609280428841961,MACDHistogram:-.06111158402075338},{date:"2024-10-29 13:52:00",open:499.62,low:499.57,high:499.7,close:499.59,volume:17216,MA20:499.6,MA50:499.6,MA200:498.45,RSI:44.74319125940153,MACDLine:-.02458146467165534,SignalLine:.07495231866723298,MACDHistogram:-.09953378333888832},{date:"2024-10-29 13:53:00",open:499.58,low:499.56,high:499.74,close:499.71,volume:48717,MA20:499.61,MA50:499.6,MA200:498.46,RSI:45.15750926408105,MACDLine:-.05635665214435903,SignalLine:.0706631341869238,MACDHistogram:-.12701978633128283},{date:"2024-10-29 13:54:00",open:499.76,low:499.76,high:499.87,close:499.84,volume:45419,MA20:499.61,MA50:499.6,MA200:498.47,RSI:48.94520256970596,MACDLine:-.07747543103295129,SignalLine:.0560816294784911,MACDHistogram:-.1335570605114424},{date:"2024-10-29 13:55:00",open:499.84,low:499.75,high:499.85,close:499.79,volume:25249,MA20:499.61,MA50:499.61,MA200:498.49,RSI:50.70024526229526,MACDLine:-.05595830254480916,SignalLine:.034664787469681366,MACDHistogram:-.09062309001449052},{date:"2024-10-29 13:56:00",open:499.8,low:499.69,high:499.81,close:499.69,volume:19281,MA20:499.61,MA50:499.61,MA200:498.5,RSI:51.99876073400077,MACDLine:-.026444319601068855,SignalLine:.014501271843199609,MACDHistogram:-.040945591444268466},{date:"2024-10-29 13:57:00",open:499.69,low:499.53,high:499.69,close:499.62,volume:23850,MA20:499.6,MA50:499.61,MA200:498.51,RSI:63.59384960759734,MACDLine:-.0030072821768953872,SignalLine:.00162256566081132,MACDHistogram:-.004629847837706707},{date:"2024-10-29 13:58:00",open:499.66,low:499.51,high:499.66,close:499.54,volume:27687,MA20:499.59,MA50:499.61,MA200:498.52,RSI:64.7598655901715,MACDLine:.009205187876148102,SignalLine:-.0076673344938119545,MACDHistogram:.016872522369960057},{date:"2024-10-29 13:59:00",open:499.52,low:499.47,high:499.62,close:499.59,volume:21593,MA20:499.58,MA50:499.6,MA200:498.53,RSI:63.51758920583763,MACDLine:.02713157419293566,SignalLine:-.01750312950699908,MACDHistogram:.04463470369993474},{date:"2024-10-29 14:00:00",open:499.59,low:499.46,high:499.66,close:499.64,volume:23400,MA20:499.59,MA50:499.6,MA200:498.54,RSI:59.90865184527869,MACDLine:.03281752073991129,SignalLine:-.02312421695066541,MACDHistogram:.0559417376905767},{date:"2024-10-29 14:01:00",open:499.66,low:499.61,high:499.69,close:499.67,volume:21777,MA20:499.59,MA50:499.6,MA200:498.55,RSI:57.03862041716315,MACDLine:.04847023766734537,SignalLine:-.022759905020417928,MACDHistogram:.0712301426877633},{date:"2024-10-29 14:02:00",open:499.63,low:499.61,high:499.76,close:499.74,volume:28919,MA20:499.6,MA50:499.6,MA200:498.57,RSI:50.921550981175926,MACDLine:.05036195654321318,SignalLine:-.014360718239432649,MACDHistogram:.06472267478264583},{date:"2024-10-29 14:03:00",open:499.72,low:499.7,high:499.78,close:499.74,volume:16965,MA20:499.62,MA50:499.6,MA200:498.58,RSI:52.30464192219042,MACDLine:.06898939472227994,SignalLine:.001417959958947012,MACDHistogram:.06757143476333292},{date:"2024-10-29 14:04:00",open:499.75,low:499.49,high:499.75,close:499.53,volume:32274,MA20:499.63,MA50:499.6,MA200:498.59,RSI:46.452335435302075,MACDLine:.09219766098397031,SignalLine:.015762025584886055,MACDHistogram:.07643563539908425},{date:"2024-10-29 14:05:00",open:499.52,low:499.42,high:499.63,close:499.44,volume:32062,MA20:499.64,MA50:499.59,MA200:498.6,RSI:52.94931148420232,MACDLine:.09611515485278233,SignalLine:.026313611881374783,MACDHistogram:.06980154297140755},{date:"2024-10-29 14:06:00",open:499.44,low:499.38,high:499.58,close:499.58,volume:17899,MA20:499.65,MA50:499.59,MA200:498.61,RSI:54.98979497356535,MACDLine:.069026353865695,SignalLine:.033643835395942324,MACDHistogram:.035382518469752676},{date:"2024-10-29 14:07:00",open:499.57,low:499.54,high:499.68,close:499.65,volume:30227,MA20:499.65,MA50:499.59,MA200:498.62,RSI:49.57677041111896,MACDLine:.042683537276786865,SignalLine:.03975349727589088,MACDHistogram:.0029300400008959865},{date:"2024-10-29 14:08:00",open:499.65,low:499.6,high:499.68,close:499.6,volume:23024,MA20:499.65,MA50:499.58,MA200:498.63,RSI:42.63712392684418,MACDLine:.027421490833887674,SignalLine:.04290897804662968,MACDHistogram:-.015487487212742006},{date:"2024-10-29 14:09:00",open:499.6,low:499.57,high:499.63,close:499.59,volume:19340,MA20:499.65,MA50:499.58,MA200:498.64,RSI:44.8411962836694,MACDLine:.004051802598326049,SignalLine:.04543184237330928,MACDHistogram:-.04138003977498323},{date:"2024-10-29 14:10:00",open:499.61,low:499.54,high:499.63,close:499.63,volume:20637,MA20:499.64,MA50:499.58,MA200:498.65,RSI:49.603239090692405,MACDLine:-.008380807514754451,SignalLine:.044672243549800254,MACDHistogram:-.053053051064554706},{date:"2024-10-29 14:11:00",open:499.6,low:499.46,high:499.6,close:499.48,volume:26628,MA20:499.63,MA50:499.58,MA200:498.66,RSI:53.281166794995066,MACDLine:-.026381981767940488,SignalLine:.043249815301447024,MACDHistogram:-.06963179706938752},{date:"2024-10-29 14:12:00",open:499.5,low:499.49,high:499.6,close:499.5,volume:22711,MA20:499.63,MA50:499.58,MA200:498.67,RSI:57.83174647096687,MACDLine:-.045483378989047196,SignalLine:.0368149204462388,MACDHistogram:-.082298299435286},{date:"2024-10-29 14:13:00",open:499.53,low:499.47,high:499.58,close:499.58,volume:12158,MA20:499.62,MA50:499.58,MA200:498.68,RSI:55.63260983923588,MACDLine:-.06534758592960088,SignalLine:.022969235311805922,MACDHistogram:-.0883168212414068},{date:"2024-10-29 14:14:00",open:499.57,low:499.48,high:499.64,close:499.49,volume:22206,MA20:499.6,MA50:499.57,MA200:498.69,RSI:53.374716619192306,MACDLine:-.08829648153829339,SignalLine:.004682755426561821,MACDHistogram:-.09297923696485522},{date:"2024-10-29 14:15:00",open:499.5,low:499.33,high:499.52,close:499.38,volume:27799,MA20:499.58,MA50:499.57,MA200:498.7,RSI:52.01415172742746,MACDLine:-.11768512311107315,SignalLine:-.011403144183221473,MACDHistogram:-.10628197892785168},{date:"2024-10-29 14:16:00",open:499.4,low:499.3,high:499.4,close:499.37,volume:27736,MA20:499.57,MA50:499.57,MA200:498.71,RSI:48.77547327184238,MACDLine:-.1034475692914043,SignalLine:-.02492481454822356,MACDHistogram:-.07852275474318074},{date:"2024-10-29 14:17:00",open:499.36,low:499.33,high:499.54,close:499.51,volume:30644,MA20:499.56,MA50:499.58,MA200:498.72,RSI:48.77547327184239,MACDLine:-.08209785413561121,SignalLine:-.03801139089375137,MACDHistogram:-.044086463241859844},{date:"2024-10-29 14:18:00",open:499.52,low:499.5,high:499.66,close:499.64,volume:33692,MA20:499.57,MA50:499.58,MA200:498.73,RSI:59.092049650745025,MACDLine:-.08507188527653398,SignalLine:-.04852718926677073,MACDHistogram:-.03654469600976325},{date:"2024-10-29 14:19:00",open:499.64,low:499.61,high:499.78,close:499.78,volume:47865,MA20:499.58,MA50:499.59,MA200:498.74,RSI:64.5231550688766,MACDLine:-.09090314851056291,SignalLine:-.0585637847047748,MACDHistogram:-.03233936380578811},{date:"2024-10-29 14:20:00",open:499.78,low:499.74,high:499.85,close:499.83,volume:39414,MA20:499.59,MA50:499.6,MA200:498.75,RSI:59.092345123210464,MACDLine:-.07840555142371386,SignalLine:-.06660923543898338,MACDHistogram:-.01179631598473048},{date:"2024-10-29 14:21:00",open:499.84,low:499.75,high:499.84,close:499.78,volume:35063,MA20:499.59,MA50:499.61,MA200:498.76,RSI:55.96246319037658,MACDLine:-.06698635584848489,SignalLine:-.07189069955146743,MACDHistogram:.004904343702982539},{date:"2024-10-29 14:22:00",open:499.78,low:499.74,high:499.91,close:499.87,volume:32681,MA20:499.6,MA50:499.62,MA200:498.77,RSI:58.95421464683576,MACDLine:-.06961878104738162,SignalLine:-.07352647795693407,MACDHistogram:.003907696909552449},{date:"2024-10-29 14:23:00",open:499.86,low:499.8,high:500,close:499.98,volume:81646,MA20:499.61,MA50:499.62,MA200:498.78,RSI:59.54539801049204,MACDLine:-.05116607603150669,SignalLine:-.06983397706159424,MACDHistogram:.018667901030087544},{date:"2024-10-29 14:24:00",open:500,low:499.92,high:500.1,close:499.96,volume:123679,MA20:499.63,MA50:499.63,MA200:498.79,RSI:57.9803222274207,MACDLine:-.03894220779625357,SignalLine:-.0578711905492245,MACDHistogram:.018928982752970933},{date:"2024-10-29 14:25:00",open:499.97,low:499.71,high:499.97,close:499.79,volume:46357,MA20:499.65,MA50:499.63,MA200:498.8,RSI:67.0071503192126,MACDLine:-.03390094749892114,SignalLine:-.04647709586367955,MACDHistogram:.012576148364758406},{date:"2024-10-29 14:26:00",open:499.78,low:499.76,high:499.89,close:499.82,volume:28274,MA20:499.66,MA50:499.63,MA200:498.81,RSI:66.35869290244263,MACDLine:-.006755179664878597,SignalLine:-.03757190629569663,MACDHistogram:.030816726630818032},{date:"2024-10-29 14:27:00",open:499.81,low:499.81,high:499.96,close:499.95,volume:23137,MA20:499.68,MA50:499.63,MA200:498.82,RSI:63.709392668876625,MACDLine:.04820913025662321,SignalLine:-.025696911550487294,MACDHistogram:.07390604180711051},{date:"2024-10-29 14:28:00",open:499.96,low:499.95,high:500.07,close:500.07,volume:54755,MA20:499.7,MA50:499.64,MA200:498.84,RSI:69.42040787264195,MACDLine:.12086235302541581,SignalLine:-.00939535231046839,MACDHistogram:.1302577053358842},{date:"2024-10-29 14:29:00",open:500.07,low:500.03,high:500.18,close:500.16,volume:58014,MA20:499.73,MA50:499.65,MA200:498.85,RSI:77.28287038154014,MACDLine:.1809999231335837,SignalLine:.007857197467842976,MACDHistogram:.17314272566574074},{date:"2024-10-29 14:30:00",open:500.15,low:500.08,high:500.21,close:500.16,volume:62766,MA20:499.75,MA50:499.66,MA200:498.86,RSI:78.02888867924166,MACDLine:.21134278646241,SignalLine:.026568085796924944,MACDHistogram:.18477470066548507},{date:"2024-10-29 14:31:00",open:500.16,low:500.15,high:500.23,close:500.2,volume:27449,MA20:499.79,MA50:499.67,MA200:498.88,RSI:74.87608520984664,MACDLine:.21594269148994272,SignalLine:.050614802508001586,MACDHistogram:.16532788898194112},{date:"2024-10-29 14:32:00",open:500.24,low:500.2,high:500.33,close:500.2,volume:46603,MA20:499.83,MA50:499.69,MA200:498.89,RSI:71.3285644399682,MACDLine:.22572740384890722,SignalLine:.07606002214287866,MACDHistogram:.14966738170602856},{date:"2024-10-29 14:33:00",open:500.19,low:500.13,high:500.26,close:500.21,volume:131083,MA20:499.86,MA50:499.7,MA200:498.9,RSI:66.61449993707402,MACDLine:.25326021993100767,SignalLine:.10481057962766172,MACDHistogram:.14844964030334595},{date:"2024-10-29 14:34:00",open:500.2,low:500.16,high:500.24,close:500.2,volume:30084,MA20:499.89,MA50:499.72,MA200:498.92,RSI:64.68914125718277,MACDLine:.26624559289501804,SignalLine:.13948846140930743,MACDHistogram:.1267571314857106},{date:"2024-10-29 14:35:00",open:500.19,low:500.16,high:500.31,close:500.3,volume:49729,MA20:499.94,MA50:499.74,MA200:498.93,RSI:68.34932874333451,MACDLine:.2620742603087933,SignalLine:.17604937167785395,MACDHistogram:.08602488863093938},{date:"2024-10-29 14:36:00",open:500.3,low:500.27,high:500.32,close:500.3,volume:39805,MA20:499.99,MA50:499.76,MA200:498.94,RSI:65.04343813335714,MACDLine:.26544722474881155,SignalLine:.20800943203316163,MACDHistogram:.057437792715649916},{date:"2024-10-29 14:37:00",open:500.3,low:500.11,high:500.3,close:500.18,volume:35604,MA20:500.02,MA50:499.77,MA200:498.95,RSI:60.342354561328676,MACDLine:.289600394274089,SignalLine:.22979620178509808,MACDHistogram:.05980419248899094},{date:"2024-10-29 14:38:00",open:500.18,low:500.18,high:500.28,close:500.25,volume:21804,MA20:500.05,MA50:499.78,MA200:498.97,RSI:61.74425919763394,MACDLine:.31687079764236614,SignalLine:.24199527144797667,MACDHistogram:.07487552619438947},{date:"2024-10-29 14:39:00",open:500.26,low:500.24,high:500.48,close:500.39,volume:89228,MA20:500.08,MA50:499.8,MA200:498.98,RSI:75.60869512103966,MACDLine:.33448690088494004,SignalLine:.24965839269436835,MACDHistogram:.0848285081905717},{date:"2024-10-29 14:40:00",open:500.39,low:500.22,high:500.39,close:500.36,volume:54382,MA20:500.11,MA50:499.81,MA200:498.99,RSI:74.67692292418309,MACDLine:.3284698268288935,SignalLine:.25808731799547474,MACDHistogram:.07038250883341873},{date:"2024-10-29 14:41:00",open:500.36,low:500.34,high:500.6,close:500.46,volume:97075,MA20:500.14,MA50:499.83,MA200:499,RSI:70.07741669141191,MACDLine:.29928483664349415,SignalLine:.26617729653211664,MACDHistogram:.03310754011137751},{date:"2024-10-29 14:42:00",open:500.46,low:500.39,high:500.51,close:500.45,volume:27350,MA20:500.17,MA50:499.84,MA200:499.02,RSI:64.55991161308003,MACDLine:.2682263970010581,SignalLine:.26940656568239385,MACDHistogram:-.001180168681335747},{date:"2024-10-29 14:43:00",open:500.45,low:500.38,high:500.47,close:500.43,volume:19839,MA20:500.19,MA50:499.86,MA200:499.03,RSI:59.33828340435194,MACDLine:.24010124099203267,SignalLine:.2701968088792378,MACDHistogram:-.030095567887205132},{date:"2024-10-29 14:44:00",open:500.41,low:500.23,high:500.41,close:500.32,volume:24970,MA20:500.21,MA50:499.87,MA200:499.04,RSI:59.33828340435194,MACDLine:.22114729654424536,SignalLine:.27222744602184895,MACDHistogram:-.05108014947760359},{date:"2024-10-29 14:45:00",open:500.3,low:500.25,high:500.35,close:500.26,volume:38699,MA20:500.23,MA50:499.88,MA200:499.05,RSI:56.905038861121554,MACDLine:.21126575586299623,SignalLine:.2739225013401083,MACDHistogram:-.06265674547711209},{date:"2024-10-29 14:46:00",open:500.27,low:500.19,high:500.32,close:500.27,volume:33304,MA20:500.26,MA50:499.89,MA200:499.07,RSI:56.905038861121554,MACDLine:.20765308748997313,SignalLine:.27000302810661314,MACDHistogram:-.06234994061664001},{date:"2024-10-29 14:47:00",open:500.27,low:500.27,high:500.35,close:500.32,volume:19045,MA20:500.27,MA50:499.9,MA200:499.08,RSI:56.3418736954041,MACDLine:.1832216004031011,SignalLine:.25828608572267486,MACDHistogram:-.07506448531957377},{date:"2024-10-29 14:48:00",open:500.27,low:500.12,high:500.27,close:500.26,volume:66574,MA20:500.28,MA50:499.92,MA200:499.09,RSI:57.03395657779208,MACDLine:.16413673360642633,SignalLine:.2392358819321086,MACDHistogram:-.07509914832568226},{date:"2024-10-29 14:49:00",open:500.26,low:500.21,high:500.4,close:500.25,volume:34470,MA20:500.29,MA50:499.93,MA200:499.1,RSI:51.50218395587677,MACDLine:.17426278749712765,SignalLine:.21692739570791236,MACDHistogram:-.042664608210784716},{date:"2024-10-29 14:50:00",open:500.27,low:500.08,high:500.31,close:500.17,volume:48587,MA20:500.29,MA50:499.94,MA200:499.11,RSI:51.50218395587677,MACDLine:.1732344011903706,SignalLine:.1963380354740169,MACDHistogram:-.023103634283646313},{date:"2024-10-29 14:51:00",open:500.15,low:500.09,high:500.3,close:500.26,volume:144092,MA20:500.29,MA50:499.95,MA200:499.13,RSI:59.4174359014821,MACDLine:.1345656695596631,SignalLine:.17836594509225662,MACDHistogram:-.043800275532593524},{date:"2024-10-29 14:52:00",open:500.27,low:500.23,high:500.32,close:500.25,volume:23922,MA20:500.29,MA50:499.96,MA200:499.14,RSI:55.732256889564326,MACDLine:.09983480599385075,SignalLine:.16293212111731262,MACDHistogram:-.06309731512346187},{date:"2024-10-29 14:53:00",open:500.23,low:500.19,high:500.29,close:500.19,volume:85139,MA20:500.29,MA50:499.97,MA200:499.15,RSI:46.75252334852969,MACDLine:.054126179318927825,SignalLine:.14837832726057942,MACDHistogram:-.0942521479416516},{date:"2024-10-29 14:54:00",open:500.2,low:500.2,high:500.26,close:500.2,volume:34106,MA20:500.29,MA50:499.99,MA200:499.16,RSI:48.71897251853972,MACDLine:.013834424118329025,SignalLine:.13265647010997522,MACDHistogram:-.1188220459916462},{date:"2024-10-29 14:55:00",open:500.19,low:500.09,high:500.2,close:500.16,volume:33976,MA20:500.29,MA50:500,MA200:499.18,RSI:41.04353447237552,MACDLine:-.02143009868854051,SignalLine:.11390731576497576,MACDHistogram:-.13533741445351627},{date:"2024-10-29 14:56:00",open:500.16,low:500.1,high:500.2,close:500.11,volume:62576,MA20:500.28,MA50:500.01,MA200:499.19,RSI:41.62200976669839,MACDLine:-.04220146999921326,SignalLine:.09657874460544442,MACDHistogram:-.13878021460465767},{date:"2024-10-29 14:57:00",open:500.11,low:500.08,high:500.19,close:500.18,volume:29720,MA20:500.28,MA50:500.02,MA200:499.2,RSI:42.74074538876544,MACDLine:-.05166308981762313,SignalLine:.07968924735519894,MACDHistogram:-.13135233717282208},{date:"2024-10-29 14:58:00",open:500.18,low:500.1,high:500.23,close:500.1,volume:15877,MA20:500.27,MA50:500.03,MA200:499.21,RSI:49.54139968697663,MACDLine:-.0639335487157382,SignalLine:.05604586231971677,MACDHistogram:-.11997941103545497},{date:"2024-10-29 14:59:00",open:500.09,low:500.03,high:500.13,close:500.11,volume:24132,MA20:500.26,MA50:500.04,MA200:499.22,RSI:53.88391796270235,MACDLine:-.08593790100081833,SignalLine:.026748727602053313,MACDHistogram:-.11268662860287164},{date:"2024-10-29 15:00:00",open:500.1,low:500.08,high:500.21,close:500.19,volume:18193,MA20:500.25,MA50:500.05,MA200:499.23,RSI:53.249724704049385,MACDLine:-.10106435935733771,SignalLine:-.00020550788734913228,MACDHistogram:-.10085885146998858},{date:"2024-10-29 15:01:00",open:500.19,low:500.07,high:500.2,close:500.15,volume:23567,MA20:500.23,MA50:500.07,MA200:499.24,RSI:50.06117760727144,MACDLine:-.10821028461447213,SignalLine:-.025215586357649103,MACDHistogram:-.08299469825682303},{date:"2024-10-29 15:02:00",open:500.16,low:500.11,high:500.2,close:500.19,volume:19969,MA20:500.22,MA50:500.08,MA200:499.25,RSI:54.17867780165944,MACDLine:-.10193893416646915,SignalLine:-.04505102777679334,MACDHistogram:-.056887906389675814},{date:"2024-10-29 15:03:00",open:500.18,low:500.17,high:500.27,close:500.24,volume:24103,MA20:500.21,MA50:500.09,MA200:499.26,RSI:54.87721362835626,MACDLine:-.12030620782496726,SignalLine:-.05977239075057393,MACDHistogram:-.06053381707439333},{date:"2024-10-29 15:04:00",open:500.23,low:500.16,high:500.25,close:500.19,volume:27364,MA20:500.2,MA50:500.11,MA200:499.27,RSI:60.68997575297519,MACDLine:-.1334178013624978,SignalLine:-.06935796376608229,MACDHistogram:-.06405983759641552},{date:"2024-10-29 15:05:00",open:500.2,low:500.16,high:500.24,close:500.2,volume:40484,MA20:500.2,MA50:500.12,MA200:499.29,RSI:55.79906429295796,MACDLine:-.12610324909428527,SignalLine:-.07614708720779954,MACDHistogram:-.04995616188648573},{date:"2024-10-29 15:06:00",open:500.22,low:500.21,high:500.36,close:500.3,volume:31575,MA20:500.2,MA50:500.14,MA200:499.3,RSI:56.52466431666838,MACDLine:-.12206026421233673,SignalLine:-.08226808655534365,MACDHistogram:-.03979217765699308},{date:"2024-10-29 15:07:00",open:500.32,low:500.28,high:500.4,close:500.33,volume:24805,MA20:500.2,MA50:500.16,MA200:499.31,RSI:60.9397332413692,MACDLine:-.10217906875629978,SignalLine:-.08685172101524502,MACDHistogram:-.015327347741054764},{date:"2024-10-29 15:08:00",open:500.33,low:500.3,high:500.45,close:500.44,volume:71944,MA20:500.21,MA50:500.17,MA200:499.32,RSI:60.46178527521604,MACDLine:-.07138992010146694,SignalLine:-.0870801760188517,MACDHistogram:.01569025591738475},{date:"2024-10-29 15:09:00",open:500.41,low:500.41,high:500.63,close:500.6,volume:62967,MA20:500.23,MA50:500.19,MA200:499.33,RSI:63.340524852557834,MACDLine:-.050326098798677776,SignalLine:-.0835841301842302,MACDHistogram:.03325803138555242},{date:"2024-10-29 15:10:00",open:500.59,low:500.48,high:500.61,close:500.51,volume:51547,MA20:500.25,MA50:500.2,MA200:499.34,RSI:67.04578063221233,MACDLine:-.020599896353360236,SignalLine:-.0774275915766697,MACDHistogram:.056827695223309466},{date:"2024-10-29 15:11:00",open:500.51,low:500.46,high:500.56,close:500.53,volume:35789,MA20:500.26,MA50:500.22,MA200:499.35,RSI:64.33346107469202,MACDLine:.007823000532880542,SignalLine:-.07129975592921983,MACDHistogram:.07912275646210037},{date:"2024-10-29 15:12:00",open:500.55,low:500.45,high:500.62,close:500.57,volume:64563,MA20:500.27,MA50:500.23,MA200:499.37,RSI:70.49043448763938,MACDLine:.028059890732720305,SignalLine:-.05904814295528297,MACDHistogram:.08710803368800327},{date:"2024-10-29 15:13:00",open:500.58,low:500.55,high:500.64,close:500.59,volume:439017,MA20:500.29,MA50:500.25,MA200:499.38,RSI:70.15894491976894,MACDLine:.06359046854072403,SignalLine:-.040455728353479256,MACDHistogram:.10404619689420329},{date:"2024-10-29 15:14:00",open:500.58,low:500.53,high:500.68,close:500.68,volume:29506,MA20:500.32,MA50:500.26,MA200:499.4,RSI:67.44207345123496,MACDLine:.09346999921871202,SignalLine:-.019043848168277755,MACDHistogram:.11251384738698977},{date:"2024-10-29 15:15:00",open:500.67,low:500.54,high:500.7,close:500.56,volume:79439,MA20:500.34,MA50:500.28,MA200:499.41,RSI:70.41872785348315,MACDLine:.11933849111358086,SignalLine:.00671025584273699,MACDHistogram:.11262823527084387},{date:"2024-10-29 15:16:00",open:500.55,low:500.48,high:500.68,close:500.64,volume:77843,MA20:500.36,MA50:500.29,MA200:499.42,RSI:69.15456289926362,MACDLine:.15316571544320823,SignalLine:.03393258699249618,MACDHistogram:.11923312845071204},{date:"2024-10-29 15:17:00",open:500.64,low:500.62,high:500.71,close:500.66,volume:51063,MA20:500.39,MA50:500.31,MA200:499.43,RSI:67.54466503248244,MACDLine:.19978641681751697,SignalLine:.060263213765986964,MACDHistogram:.13952320305153},{date:"2024-10-29 15:18:00",open:500.65,low:500.61,high:500.82,close:500.79,volume:86935,MA20:500.42,MA50:500.32,MA200:499.45,RSI:70.9849048425877,MACDLine:.23653085505424087,SignalLine:.08791054190715315,MACDHistogram:.14862031314708773},{date:"2024-10-29 15:19:00",open:500.78,low:500.77,high:500.87,close:500.85,volume:64616,MA20:500.46,MA50:500.33,MA200:499.46,RSI:70.70783165660481,MACDLine:.2704623983302099,SignalLine:.11503815147228151,MACDHistogram:.15542424685792838},{date:"2024-10-29 15:20:00",open:500.86,low:500.8,high:500.88,close:500.88,volume:77352,MA20:500.5,MA50:500.35,MA200:499.47,RSI:67.85771552337914,MACDLine:.2926737514085289,SignalLine:.14184193920713176,MACDHistogram:.15083181220139716},{date:"2024-10-29 15:21:00",open:500.88,low:500.84,high:500.93,close:500.87,volume:32300,MA20:500.53,MA50:500.36,MA200:499.48,RSI:66.96223050327984,MACDLine:.2879664420443646,SignalLine:.1702874513257346,MACDHistogram:.11767899071863},{date:"2024-10-29 15:22:00",open:500.89,low:500.85,high:500.99,close:500.95,volume:36740,MA20:500.57,MA50:500.38,MA200:499.49,RSI:63.49995404247606,MACDLine:.296533237117103,SignalLine:.19696169702198726,MACDHistogram:.09957154009511573},{date:"2024-10-29 15:23:00",open:500.95,low:500.92,high:501.14,close:501.14,volume:89323,MA20:500.61,MA50:500.4,MA200:499.51,RSI:57.481715914893044,MACDLine:.3109361902882597,SignalLine:.22283462147280608,MACDHistogram:.08810156881545361},{date:"2024-10-29 15:24:00",open:501.14,low:501.1,high:501.26,close:501.13,volume:194157,MA20:500.66,MA50:500.41,MA200:499.52,RSI:62.89867147080945,MACDLine:.3162150695679884,SignalLine:.2487086540626124,MACDHistogram:.067506415505376},{date:"2024-10-29 15:25:00",open:501.13,low:500.91,high:501.15,close:501.15,volume:64019,MA20:500.71,MA50:500.43,MA200:499.53,RSI:62.162894385115884,MACDLine:.32235334720036235,SignalLine:.27259438871746344,MACDHistogram:.04975895848289891},{date:"2024-10-29 15:26:00",open:501.14,low:501.14,high:501.26,close:501.19,volume:42338,MA20:500.75,MA50:500.45,MA200:499.55,RSI:60.716065786283224,MACDLine:.32251742741914313,SignalLine:.2907963816924501,MACDHistogram:.03172104572669304},{date:"2024-10-29 15:27:00",open:501.2,low:501.18,high:501.27,close:501.25,volume:46304,MA20:500.8,MA50:500.47,MA200:499.56,RSI:60.00603203579375,MACDLine:.34378114540862725,SignalLine:.3043627633520024,MACDHistogram:.039418382056624846},{date:"2024-10-29 15:28:00",open:501.24,low:501.16,high:501.3,close:501.25,volume:86366,MA20:500.84,MA50:500.49,MA200:499.58,RSI:56.73871511237767,MACDLine:.36053911061839017,SignalLine:.31283785460745056,MACDHistogram:.04770125601093961},{date:"2024-10-29 15:29:00",open:501.26,low:501.22,high:501.35,close:501.24,volume:50307,MA20:500.87,MA50:500.51,MA200:499.59,RSI:63.123428400471234,MACDLine:.38359325369526687,SignalLine:.317878880407181,MACDHistogram:.06571437328808588},{date:"2024-10-29 15:30:00",open:501.23,low:501.1,high:501.32,close:501.25,volume:57650,MA20:500.91,MA50:500.53,MA200:499.61,RSI:60.36224667000247,MACDLine:.3859119126232713,SignalLine:.3253569899978851,MACDHistogram:.0605549226253862},{date:"2024-10-29 15:31:00",open:501.25,low:501.09,high:501.26,close:501.1,volume:103434,MA20:500.94,MA50:500.54,MA200:499.62,RSI:59.661075430118835,MACDLine:.38187628219873204,SignalLine:.3325629282180806,MACDHistogram:.04931335398065145},{date:"2024-10-29 15:32:00",open:501.11,low:501.09,high:501.24,close:501.2,volume:54706,MA20:500.97,MA50:500.55,MA200:499.63,RSI:54.839332041807076,MACDLine:.38317078617029665,SignalLine:.3379696127005358,MACDHistogram:.045201173469760825},{date:"2024-10-29 15:33:00",open:501.21,low:501.19,high:501.26,close:501.21,volume:42563,MA20:501,MA50:500.57,MA200:499.65,RSI:52.40095280289827,MACDLine:.39190419616789995,SignalLine:.3434082484836727,MACDHistogram:.04849594768422727},{date:"2024-10-29 15:34:00",open:501.22,low:501.19,high:501.33,close:501.3,volume:41008,MA20:501.03,MA50:500.59,MA200:499.66,RSI:51.17704045023018,MACDLine:.39945986934787925,SignalLine:.34867197380450027,MACDHistogram:.05078789554337898},{date:"2024-10-29 15:35:00",open:501.31,low:501.14,high:501.34,close:501.16,volume:68696,MA20:501.06,MA50:500.61,MA200:499.68,RSI:51.587614566630165,MACDLine:.3889660577434597,SignalLine:.35521061040083957,MACDHistogram:.03375544734262015},{date:"2024-10-29 15:36:00",open:501.15,low:500.98,high:501.16,close:500.98,volume:67540,MA20:501.08,MA50:500.62,MA200:499.69,RSI:48.519553434180814,MACDLine:.37238717736477156,SignalLine:.3580679766488926,MACDHistogram:.014319200715878944},{date:"2024-10-29 15:37:00",open:500.98,low:500.85,high:501.02,close:500.88,volume:169944,MA20:501.09,MA50:500.63,MA200:499.7,RSI:40.1556365350617,MACDLine:.3527917747379661,SignalLine:.3574501931565182,MACDHistogram:-.004658418418552135},{date:"2024-10-29 15:38:00",open:500.9,low:500.84,high:500.92,close:500.86,volume:38206,MA20:501.09,MA50:500.64,MA200:499.71,RSI:40.47703053426258,MACDLine:.3275948532072448,SignalLine:.35091442802183104,MACDHistogram:-.02331957481458624},{date:"2024-10-29 15:39:00",open:500.87,low:500.87,high:501.04,close:500.91,volume:52879,MA20:501.09,MA50:500.66,MA200:499.72,RSI:39.57892996091782,MACDLine:.2903784936795546,SignalLine:.342165056871471,MACDHistogram:-.05178656319191638},{date:"2024-10-29 15:40:00",open:500.89,low:500.78,high:500.89,close:500.83,volume:85196,MA20:501.09,MA50:500.67,MA200:499.74,RSI:37.83705375475286,MACDLine:.2554531985197741,SignalLine:.3322372505396557,MACDHistogram:-.07678405201988159},{date:"2024-10-29 15:41:00",open:500.83,low:500.75,high:500.84,close:500.75,volume:66456,MA20:501.09,MA50:500.68,MA200:499.75,RSI:35.236500460717025,MACDLine:.20766922981010794,SignalLine:.3195038666319955,MACDHistogram:-.11183463682188755},{date:"2024-10-29 15:42:00",open:500.75,low:500.74,high:500.93,close:500.84,volume:62961,MA20:501.08,MA50:500.69,MA200:499.76,RSI:35.236500460717025,MACDLine:.1581315936779788,SignalLine:.30140378424801934,MACDHistogram:-.14327219057004054},{date:"2024-10-29 15:43:00",open:500.85,low:500.83,high:501.14,close:501.1,volume:64362,MA20:501.08,MA50:500.71,MA200:499.77,RSI:35.44962092164752,MACDLine:.13034891492492306,SignalLine:.27688976297305434,MACDHistogram:-.14654084804813128},{date:"2024-10-29 15:44:00",open:501.11,low:501.01,high:501.12,close:501.06,volume:50893,MA20:501.08,MA50:500.73,MA200:499.78,RSI:35.08504122484523,MACDLine:.09161031164489941,SignalLine:.24887068928045303,MACDHistogram:-.15726037763555362},{date:"2024-10-29 15:45:00",open:501.06,low:501.02,high:501.19,close:501.16,volume:76990,MA20:501.08,MA50:500.75,MA200:499.79,RSI:38.08079611718468,MACDLine:.04977870801621975,SignalLine:.21799156725937338,MACDHistogram:-.16821285924315363},{date:"2024-10-29 15:46:00",open:501.16,low:501.03,high:501.23,close:501.13,volume:306345,MA20:501.07,MA50:500.77,MA200:499.81,RSI:34.62523579127476,MACDLine:-.013064956368225467,SignalLine:.1842915153897252,MACDHistogram:-.19735647175795068},{date:"2024-10-29 15:47:00",open:501.14,low:501.11,high:501.19,close:501.18,volume:172094,MA20:501.07,MA50:500.79,MA200:499.82,RSI:34.28469041337658,MACDLine:-.06232265227174594,SignalLine:.14846568093534532,MACDHistogram:-.21078833320709126},{date:"2024-10-29 15:48:00",open:501.19,low:501.18,high:501.31,close:501.25,volume:83239,MA20:501.07,MA50:500.81,MA200:499.84,RSI:31.29366960638488,MACDLine:-.08094141828286183,SignalLine:.11298747774929299,MACDHistogram:-.19392889603215482},{date:"2024-10-29 15:49:00",open:501.25,low:501.16,high:501.26,close:501.18,volume:123381,MA20:501.07,MA50:500.83,MA200:499.85,RSI:33.495805658463325,MACDLine:-.0697102226347397,SignalLine:.0773710475566727,MACDHistogram:-.1470812701914124},{date:"2024-10-29 15:50:00",open:501.17,low:500.73,high:501.19,close:500.87,volume:348823,MA20:501.05,MA50:500.85,MA200:499.86,RSI:36.56799971704709,MACDLine:-.055306620587373345,SignalLine:.044796501993313906,MACDHistogram:-.10010312258068725},{date:"2024-10-29 15:51:00",open:500.83,low:500.53,high:500.86,close:500.67,volume:178717,MA20:501.03,MA50:500.86,MA200:499.88,RSI:38.38415515070079,MACDLine:-.047536108583813075,SignalLine:.01646272907214768,MACDHistogram:-.06399883765596076},{date:"2024-10-29 15:52:00",open:500.71,low:500.65,high:500.88,close:500.78,volume:339838,MA20:501,MA50:500.87,MA200:499.89,RSI:38.74148839586058,MACDLine:-.022672129865327406,SignalLine:-.01200881739104617,MACDHistogram:-.010663312474281237},{date:"2024-10-29 15:53:00",open:500.82,low:500.67,high:500.84,close:500.75,volume:285617,MA20:500.98,MA50:500.88,MA200:499.91,RSI:37.38838281923672,MACDLine:.02350221576983813,SignalLine:-.03791359965003257,MACDHistogram:.0614158154198707},{date:"2024-10-29 15:54:00",open:500.73,low:500.44,high:500.75,close:500.52,volume:128968,MA20:500.94,MA50:500.88,MA200:499.92,RSI:38.65699426538866,MACDLine:.058459257423805866,SignalLine:-.05983667656659565,MACDHistogram:.11829593399040152},{date:"2024-10-29 15:55:00",open:500.49,low:500.25,high:500.49,close:500.33,volume:311495,MA20:500.9,MA50:500.89,MA200:499.93,RSI:39.914583656213814,MACDLine:.048190474117859594,SignalLine:-.0715296066161882,MACDHistogram:.11972008073404779},{date:"2024-10-29 15:56:00",open:500.3,low:500.13,high:500.35,close:500.18,volume:166105,MA20:500.86,MA50:500.88,MA200:499.95,RSI:37.80078546719775,MACDLine:.040419183801986946,SignalLine:-.07383134520229875,MACDHistogram:.1142505290042857},{date:"2024-10-29 15:57:00",open:500.17,low:499.79,high:500.17,close:499.94,volume:162874,MA20:500.81,MA50:500.88,MA200:499.96,RSI:31.319287424539496,MACDLine:-.0030331785110320197,SignalLine:-.07205382693215798,MACDHistogram:.06902064842112596},{date:"2024-10-29 15:58:00",open:499.93,low:499.82,high:500.06,close:500.04,volume:220098,MA20:500.77,MA50:500.87,MA200:499.97,RSI:31.792567316719754,MACDLine:-.044122801993978555,SignalLine:-.07263972800651256,MACDHistogram:.028516926012534},{date:"2024-10-29 15:59:00",open:500.05,low:499.99,high:500.3,close:500.14,volume:594384,MA20:500.74,MA50:500.86,MA200:499.97,RSI:29.312851164043792,MACDLine:-.1052354079377551,SignalLine:-.07697300486129736,MACDHistogram:-.028262403076457734},{date:"2024-10-30 09:30:00",open:499.39,low:498.73,high:499.46,close:498.8,volume:394623,MA20:500.63,MA50:500.83,MA200:499.98,RSI:29.612757533841602,MACDLine:-.18767025540876148,SignalLine:-.08433222893066844,MACDHistogram:-.10333802647809304},{date:"2024-10-30 09:31:00",open:498.86,low:498.77,high:499.6,close:499.48,volume:191054,MA20:500.57,MA50:500.8,MA200:499.98,RSI:28.480312049809385,MACDLine:-.2893573479203724,SignalLine:-.0997472536970037,MACDHistogram:-.18961009422336866},{date:"2024-10-30 09:32:00",open:499.53,low:499.11,high:499.58,close:499.22,volume:167813,MA20:500.49,MA50:500.78,MA200:499.99,RSI:26.952492342013713,MACDLine:-.37268367548358583,SignalLine:-.13055962106371416,MACDHistogram:-.24212405441987167},{date:"2024-10-30 09:33:00",open:499.23,low:498.86,high:499.36,close:498.94,volume:134679,MA20:500.38,MA50:500.74,MA200:499.99,RSI:27.497951394205387,MACDLine:-.4468538801117461,SignalLine:-.17781434068559415,MACDHistogram:-.26903953942615194},{date:"2024-10-30 09:34:00",open:499,low:498.35,high:499.12,close:498.36,volume:131598,MA20:500.25,MA50:500.7,MA200:499.99,RSI:29.994147588684328,MACDLine:-.5596768848537295,SignalLine:-.23431554438645757,MACDHistogram:-.3253613404672719},{date:"2024-10-30 09:35:00",open:498.37,low:498.34,high:498.89,close:498.83,volume:116247,MA20:500.13,MA50:500.66,MA200:499.99,RSI:31.719124081537885,MACDLine:-.6872484016719795,SignalLine:-.3029992264335687,MACDHistogram:-.38424917523841084},{date:"2024-10-30 09:36:00",open:498.82,low:498.28,high:498.93,close:498.55,volume:113563,MA20:500,MA50:500.62,MA200:499.99,RSI:29.65293214004207,MACDLine:-.8069887972956735,SignalLine:-.3779907384142029,MACDHistogram:-.42899805888147063},{date:"2024-10-30 09:37:00",open:498.53,low:498.35,high:498.71,close:498.7,volume:157784,MA20:499.88,MA50:500.58,MA200:499.99,RSI:29.88192611377174,MACDLine:-.9244467015674331,SignalLine:-.461457722519259,MACDHistogram:-.46298897904817415},{date:"2024-10-30 09:38:00",open:498.69,low:498.5,high:498.83,close:498.57,volume:106732,MA20:499.74,MA50:500.54,MA200:499.99,RSI:31.620304677373667,MACDLine:-1.0325555655423955,SignalLine:-.5505133011646349,MACDHistogram:-.48204226437776054},{date:"2024-10-30 09:39:00",open:498.53,low:498.13,high:498.55,close:498.16,volume:121020,MA20:499.59,MA50:500.48,MA200:499.98,RSI:33.09726546518317,MACDLine:-1.1006864346080079,SignalLine:-.6412240626036033,MACDHistogram:-.45946237200440454},{date:"2024-10-30 09:40:00",open:498.19,low:497.44,high:498.24,close:497.64,volume:143606,MA20:499.43,MA50:500.42,MA200:499.98,RSI:34.270755954269546,MACDLine:-1.2098907593484682,SignalLine:-.7291907412744111,MACDHistogram:-.48070001807405716},{date:"2024-10-30 09:41:00",open:497.59,low:497.05,high:497.73,close:497.3,volume:145883,MA20:499.26,MA50:500.35,MA200:499.97,RSI:36.17642929597566,MACDLine:-1.3566949591539128,SignalLine:-.8183175077221174,MACDHistogram:-.5383774514317954},{date:"2024-10-30 09:42:00",open:497.29,low:496.81,high:497.36,close:497.01,volume:158567,MA20:499.07,MA50:500.27,MA200:499.96,RSI:34.77311322183208,MACDLine:-1.297936756590616,SignalLine:-.9111834146247102,MACDHistogram:-.3867533419659057},{date:"2024-10-30 09:43:00",open:497.02,low:496.6,high:497.02,close:496.81,volume:120709,MA20:498.88,MA50:500.18,MA200:499.95,RSI:33.41362614525907,MACDLine:-1.3575881161320922,SignalLine:-.9990600470674554,MACDHistogram:-.35852806906463675},{date:"2024-10-30 09:44:00",open:496.85,low:496.74,high:497.05,close:496.9,volume:150118,MA20:498.7,MA50:500.1,MA200:499.94,RSI:45.11327778271535,MACDLine:-1.3858327515304154,SignalLine:-1.0770129584163244,MACDHistogram:-.308819793114091},{date:"2024-10-30 09:45:00",open:496.91,low:496.64,high:497.03,close:496.97,volume:145086,MA20:498.53,MA50:500.01,MA200:499.93,RSI:34.26785289250482,MACDLine:-1.385943791598379,SignalLine:-1.1445189986964872,MACDHistogram:-.24142479290189178},{date:"2024-10-30 09:46:00",open:496.97,low:496.95,high:497.44,close:497.41,volume:207816,MA20:498.39,MA50:499.94,MA200:499.92,RSI:36.85329841212418,MACDLine:-1.3178536094072797,SignalLine:-1.1995370729787507,MACDHistogram:-.11831653642852902},{date:"2024-10-30 09:47:00",open:497.42,low:497.3,high:497.61,close:497.61,volume:90651,MA20:498.27,MA50:499.87,MA200:499.91,RSI:39.86071493011205,MACDLine:-1.3497406334556104,SignalLine:-1.2412824498378394,MACDHistogram:-.10845818361777093},{date:"2024-10-30 09:48:00",open:497.57,low:497.48,high:497.7,close:497.55,volume:279564,MA20:498.15,MA50:499.79,MA200:499.91,RSI:47.28238959815044,MACDLine:-1.337862025845311,SignalLine:-1.2764314536452972,MACDHistogram:-.06143057220001391},{date:"2024-10-30 09:49:00",open:497.5,low:497.32,high:497.57,close:497.36,volume:65517,MA20:498.01,MA50:499.71,MA200:499.9,RSI:38.693235218331594,MACDLine:-1.3653498826649297,SignalLine:-1.2930666272195044,MACDHistogram:-.07228325544542535},{date:"2024-10-30 09:50:00",open:497.4,low:497.34,high:497.76,close:497.75,volume:95935,MA20:497.96,MA50:499.64,MA200:499.89,RSI:42.52612173188077,MACDLine:-1.4051565670759487,SignalLine:-1.2771595442359023,MACDHistogram:-.12799702284004644},{date:"2024-10-30 09:51:00",open:497.76,low:497.73,high:498.02,close:498.01,volume:92525,MA20:497.88,MA50:499.58,MA200:499.89,RSI:39.547223161541304,MACDLine:-1.404543912384895,SignalLine:-1.271965241147224,MACDHistogram:-.1325786712376711},{date:"2024-10-30 09:52:00",open:498,low:497.75,high:498.08,close:497.98,volume:69411,MA20:497.82,MA50:499.52,MA200:499.88,RSI:41.268585122544344,MACDLine:-1.3323503943991,SignalLine:-1.2505595224010069,MACDHistogram:-.0817908719980931},{date:"2024-10-30 09:53:00",open:497.98,low:497.73,high:498.15,close:498.08,volume:111993,MA20:497.78,MA50:499.46,MA200:499.87,RSI:47.297675998411556,MACDLine:-1.215152843887779,SignalLine:-1.2167412151186547,MACDHistogram:.0015883712308757403},{date:"2024-10-30 09:54:00",open:498.12,low:497.89,high:498.22,close:498.2,volume:85198,MA20:497.77,MA50:499.39,MA200:499.86,RSI:57.12658507260845,MACDLine:-1.0255639289604233,SignalLine:-1.1744405709987238,MACDHistogram:.14887664203830053},{date:"2024-10-30 09:55:00",open:498.19,low:498.19,high:498.59,close:498.52,volume:71869,MA20:497.75,MA50:499.34,MA200:499.86,RSI:65.3749480089698,MACDLine:-.7683713294863992,SignalLine:-1.1385873113965848,MACDHistogram:.37021598191018557},{date:"2024-10-30 09:56:00",open:498.5,low:498.5,high:498.77,close:498.65,volume:101868,MA20:497.76,MA50:499.29,MA200:499.85,RSI:73.81639127038089,MACDLine:-.6009237377288628,SignalLine:-1.0857989808818282,MACDHistogram:.4848752431529655},{date:"2024-10-30 09:57:00",open:498.66,low:498.35,high:498.75,close:498.71,volume:174060,MA20:497.76,MA50:499.25,MA200:499.85,RSI:80.47049115390348,MACDLine:-.36442264806413505,SignalLine:-1.0227832196409574,MACDHistogram:.6583605715768224},{date:"2024-10-30 09:58:00",open:498.68,low:498.52,high:498.78,close:498.56,volume:54071,MA20:497.76,MA50:499.2,MA200:499.84,RSI:79.7060740281214,MACDLine:-.19456965510198643,SignalLine:-.9371415538849645,MACDHistogram:.742571898782978},{date:"2024-10-30 09:59:00",open:498.61,low:498.41,high:498.85,close:498.77,volume:67215,MA20:497.79,MA50:499.16,MA200:499.84,RSI:79.11569634344826,MACDLine:-.06003627637426234,SignalLine:-.8201378005872184,MACDHistogram:.7601015242129561},{date:"2024-10-30 10:00:00",open:498.72,low:498.71,high:498.98,close:498.96,volume:103807,MA20:497.86,MA50:499.12,MA200:499.83,RSI:74.84429585315016,MACDLine:.05771412740358528,SignalLine:-.6740362726377993,MACDHistogram:.7317504000413846},{date:"2024-10-30 10:01:00",open:498.96,low:498.84,high:499.1,close:498.97,volume:124389,MA20:497.94,MA50:499.09,MA200:499.83,RSI:72.46751978681692,MACDLine:.26753061909965936,SignalLine:-.5094577421974741,MACDHistogram:.7769883612971334},{date:"2024-10-30 10:02:00",open:498.96,low:498.41,high:499.25,close:499.14,volume:181686,MA20:498.05,MA50:499.05,MA200:499.83,RSI:74.42643470540028,MACDLine:.4167504958593895,SignalLine:-.3330339667748978,MACDHistogram:.7497844626342873},{date:"2024-10-30 10:03:00",open:499.19,low:499.03,high:499.23,close:499.11,volume:73012,MA20:498.16,MA50:499.02,MA200:499.83,RSI:80.85311345427412,MACDLine:.5542384040747379,SignalLine:-.15990147622851647,MACDHistogram:.7141398803032544},{date:"2024-10-30 10:04:00",open:499.09,low:499.09,high:499.55,close:499.5,volume:88793,MA20:498.29,MA50:498.98,MA200:499.82,RSI:77.08103517380863,MACDLine:.7066795028648585,SignalLine:-.00778401291404579,MACDHistogram:.7144635157789043},{date:"2024-10-30 10:05:00",open:499.49,low:499.15,high:499.52,close:499.5,volume:70744,MA20:498.42,MA50:498.95,MA200:499.82,RSI:73.89767496061735,MACDLine:.8314071670971543,SignalLine:.14050091828965847,MACDHistogram:.6909062488074958},{date:"2024-10-30 10:06:00",open:499.54,low:499.29,high:499.6,close:499.3,volume:67555,MA20:498.51,MA50:498.91,MA200:499.82,RSI:75.01401478746675,MACDLine:.913930008832267,SignalLine:.26673180987810685,MACDHistogram:.6471981989541602},{date:"2024-10-30 10:07:00",open:499.31,low:499.27,high:499.46,close:499.41,volume:30908,MA20:498.6,MA50:498.88,MA200:499.82,RSI:73.78840223192275,MACDLine:.9287292721547828,SignalLine:.38205717612313017,MACDHistogram:.5466720960316527},{date:"2024-10-30 10:08:00",open:499.42,low:499.25,high:499.55,close:499.26,volume:55943,MA20:498.69,MA50:498.84,MA200:499.82,RSI:72.2728957407208,MACDLine:.9050188152005489,SignalLine:.4925805392474783,MACDHistogram:.41243827595307064},{date:"2024-10-30 10:09:00",open:499.29,low:499.26,high:499.8,close:499.61,volume:98494,MA20:498.8,MA50:498.81,MA200:499.81,RSI:67.63994595406615,MACDLine:.8585371946487612,SignalLine:.6012971422084515,MACDHistogram:.2572400524403097},{date:"2024-10-30 10:10:00",open:499.63,low:499.47,high:499.79,close:499.63,volume:156224,MA20:498.89,MA50:498.78,MA200:499.81,RSI:65.46300678463784,MACDLine:.8488310215859656,SignalLine:.6847387729856496,MACDHistogram:.16409224860031602},{date:"2024-10-30 10:11:00",open:499.62,low:499.32,high:499.79,close:499.32,volume:92501,MA20:498.96,MA50:498.76,MA200:499.81,RSI:64.43770904259682,MACDLine:.8156594185627455,SignalLine:.7517358422672146,MACDHistogram:.06392357629553092},{date:"2024-10-30 10:12:00",open:499.32,low:499.32,high:499.69,close:499.64,volume:59695,MA20:499.04,MA50:498.73,MA200:499.81,RSI:69.20720059043106,MACDLine:.7882926173430747,SignalLine:.8011102018153338,MACDHistogram:-.012817584472259114},{date:"2024-10-30 10:13:00",open:499.61,low:499.43,high:499.7,close:499.44,volume:30127,MA20:499.11,MA50:498.71,MA200:499.81,RSI:65.928793695102,MACDLine:.7786238257158402,SignalLine:.8247178765529526,MACDHistogram:-.04609405083711238},{date:"2024-10-30 10:14:00",open:499.48,low:499.33,high:499.54,close:499.33,volume:42314,MA20:499.17,MA50:498.68,MA200:499.81,RSI:62.581873616317864,MACDLine:.7390302214831195,SignalLine:.8230455539169022,MACDHistogram:-.08401533243378267},{date:"2024-10-30 10:15:00",open:499.36,low:499.34,high:499.65,close:499.62,volume:41924,MA20:499.22,MA50:498.67,MA200:499.81,RSI:62.40136763587315,MACDLine:.6911266724953862,SignalLine:.8003244401880609,MACDHistogram:-.10919776769267475},{date:"2024-10-30 10:16:00",open:499.62,low:499.55,high:499.74,close:499.55,volume:32146,MA20:499.27,MA50:498.66,MA200:499.81,RSI:59.302202619371606,MACDLine:.6056770274602172,SignalLine:.7682232321963804,MACDHistogram:-.1625462047361632},{date:"2024-10-30 10:17:00",open:499.56,low:499.4,high:499.56,close:499.54,volume:34635,MA20:499.31,MA50:498.65,MA200:499.81,RSI:60.11416730064895,MACDLine:.5340569055795186,SignalLine:.7340243364453384,MACDHistogram:-.1999674308658198},{date:"2024-10-30 10:18:00",open:499.5,low:499.41,high:499.63,close:499.43,volume:16943,MA20:499.35,MA50:498.64,MA200:499.82,RSI:52.216410543679146,MACDLine:.49051184957068017,SignalLine:.7028961218944827,MACDHistogram:-.21238427232380253},{date:"2024-10-30 10:19:00",open:499.42,low:499.4,high:499.88,close:499.82,volume:42879,MA20:499.4,MA50:498.63,MA200:499.82,RSI:52.216410543679146,MACDLine:.4349978057256294,SignalLine:.666412396971612,MACDHistogram:-.23141459124598263},{date:"2024-10-30 10:20:00",open:499.86,low:499.58,high:499.9,close:499.8,volume:52273,MA20:499.45,MA50:498.65,MA200:499.82,RSI:57.22691492621175,MACDLine:.4140326398619436,SignalLine:.6291006415738286,MACDHistogram:-.215068001711885},{date:"2024-10-30 10:21:00",open:499.8,low:499.61,high:499.92,close:499.87,volume:39975,MA20:499.49,MA50:498.66,MA200:499.82,RSI:55.02274333403713,MACDLine:.35863298976153146,SignalLine:.5893026476315171,MACDHistogram:-.2306696578699856},{date:"2024-10-30 10:22:00",open:499.88,low:499.74,high:499.98,close:499.97,volume:24181,MA20:499.53,MA50:498.67,MA200:499.82,RSI:58.86367034267159,MACDLine:.30532459287320535,SignalLine:.5419723531104362,MACDHistogram:-.2366477602372309},{date:"2024-10-30 10:23:00",open:499.95,low:499.86,high:500.06,close:500.06,volume:74878,MA20:499.58,MA50:498.69,MA200:499.83,RSI:51.53323138511942,MACDLine:.30826079040303966,SignalLine:.4927078860172654,MACDHistogram:-.18444709561422573},{date:"2024-10-30 10:24:00",open:500.06,low:499.81,high:500.28,close:499.85,volume:68498,MA20:499.6,MA50:498.72,MA200:499.83,RSI:51.070582246716256,MACDLine:.2462155619352302,SignalLine:.4431031893977352,MACDHistogram:-.196887627462505},{date:"2024-10-30 10:25:00",open:499.82,low:499.72,high:499.98,close:499.77,volume:106558,MA20:499.61,MA50:498.74,MA200:499.83,RSI:59.204709484823,MACDLine:.23231469851725706,SignalLine:.4024597298821147,MACDHistogram:-.17014503136485765},{date:"2024-10-30 10:26:00",open:499.74,low:499.68,high:499.96,close:499.89,volume:41995,MA20:499.64,MA50:498.77,MA200:499.83,RSI:51.85450523506939,MACDLine:.256138473594433,SignalLine:.3695604359577637,MACDHistogram:-.11342196236333074},{date:"2024-10-30 10:27:00",open:499.87,low:499.87,high:500.25,close:500.25,volume:30523,MA20:499.68,MA50:498.8,MA200:499.83,RSI:57.909823160295595,MACDLine:.23627516871340504,SignalLine:.3393225825545346,MACDHistogram:-.10304741384112959},{date:"2024-10-30 10:28:00",open:500.26,low:500.1,high:500.35,close:500.14,volume:33999,MA20:499.73,MA50:498.83,MA200:499.83,RSI:61.58252752375637,MACDLine:.24326745712033926,SignalLine:.3154037767617609,MACDHistogram:-.07213631964142164},{date:"2024-10-30 10:29:00",open:500.15,low:499.99,high:500.26,close:500.11,volume:43658,MA20:499.75,MA50:498.87,MA200:499.83,RSI:54.52164263113653,MACDLine:.25403554221975355,SignalLine:.29074656098671525,MACDHistogram:-.0367110187669617},{date:"2024-10-30 10:30:00",open:500.1,low:499.87,high:500.1,close:500,volume:48684,MA20:499.77,MA50:498.92,MA200:499.84,RSI:56.86416849460568,MACDLine:.3215390174962067,SignalLine:.2737749537930112,MACDHistogram:.047764063703195525},{date:"2024-10-30 10:31:00",open:499.97,low:499.91,high:500.11,close:499.95,volume:28830,MA20:499.8,MA50:498.97,MA200:499.84,RSI:57.19012057067704,MACDLine:.3310937947763932,SignalLine:.26588754402296266,MACDHistogram:.06520625075343056},{date:"2024-10-30 10:32:00",open:499.95,low:499.95,high:500.15,close:500.06,volume:105071,MA20:499.82,MA50:499.03,MA200:499.84,RSI:60.74681515740252,MACDLine:.33076416439911327,SignalLine:.2552942324279434,MACDHistogram:.07546993197116986},{date:"2024-10-30 10:33:00",open:500.09,low:500,high:500.15,close:500.09,volume:23255,MA20:499.86,MA50:499.1,MA200:499.85,RSI:50.64077169971828,MACDLine:.3288777755990395,SignalLine:.25756390005112173,MACDHistogram:.0713138755479178},{date:"2024-10-30 10:34:00",open:500.09,low:499.96,high:500.14,close:500.01,volume:32358,MA20:499.89,MA50:499.16,MA200:499.85,RSI:51.269328598611686,MACDLine:.29819547170370697,SignalLine:.26387620043458787,MACDHistogram:.0343192712691191},{date:"2024-10-30 10:35:00",open:500.04,low:499.94,high:500.13,close:499.98,volume:24065,MA20:499.91,MA50:499.22,MA200:499.85,RSI:49.22094024295193,MACDLine:.27665994241613134,SignalLine:.2658106321446266,MACDHistogram:.010849310271504764},{date:"2024-10-30 10:36:00",open:500,low:499.56,high:500,close:499.7,volume:80183,MA20:499.91,MA50:499.27,MA200:499.85,RSI:46.22226315332417,MACDLine:.2914759040539252,SignalLine:.27319449800243195,MACDHistogram:.018281406051493254},{date:"2024-10-30 10:37:00",open:499.72,low:499.69,high:500.12,close:500.08,volume:47656,MA20:499.94,MA50:499.32,MA200:499.86,RSI:43.43045508803159,MACDLine:.29909226375809794,SignalLine:.2806762582229551,MACDHistogram:.018416005535142832},{date:"2024-10-30 10:38:00",open:500.1,low:499.82,high:500.1,close:499.96,volume:94699,MA20:499.97,MA50:499.36,MA200:499.86,RSI:48.93461886534456,MACDLine:.31479034812588225,SignalLine:.2873364372237555,MACDHistogram:.027453910902126732},{date:"2024-10-30 10:39:00",open:499.96,low:499.87,high:500.03,close:499.95,volume:50247,MA20:499.97,MA50:499.42,MA200:499.86,RSI:51.23139772087136,MACDLine:.2524298616552869,SignalLine:.2787857921556427,MACDHistogram:-.026355930500355784},{date:"2024-10-30 10:40:00",open:499.98,low:499.76,high:500.16,close:499.81,volume:33782,MA20:499.98,MA50:499.46,MA200:499.86,RSI:47.820157440069615,MACDLine:.19214531548141167,SignalLine:.26570879150045507,MACDHistogram:-.0735634760190434},{date:"2024-10-30 10:41:00",open:499.82,low:499.62,high:499.99,close:499.98,volume:39936,MA20:499.98,MA50:499.5,MA200:499.86,RSI:35.19210092986218,MACDLine:.15284183559430176,SignalLine:.2494449482757905,MACDHistogram:-.09660311268148875},{date:"2024-10-30 10:42:00",open:499.95,low:499.86,high:500.09,close:499.92,volume:49461,MA20:499.98,MA50:499.54,MA200:499.86,RSI:37.786751067302845,MACDLine:.12198042183888447,SignalLine:.22958674144497823,MACDHistogram:-.10760631960609376},{date:"2024-10-30 10:43:00",open:499.92,low:499.92,high:500.06,close:499.95,volume:69237,MA20:499.97,MA50:499.57,MA200:499.86,RSI:38.50570755266656,MACDLine:.09565213850976306,SignalLine:.21243455888029605,MACDHistogram:-.11678242037053299},{date:"2024-10-30 10:44:00",open:499.96,low:499.87,high:500.02,close:499.9,volume:26048,MA20:499.98,MA50:499.61,MA200:499.86,RSI:41.17294534380044,MACDLine:.03782000759139237,SignalLine:.19637821299633723,MACDHistogram:-.15855820540494486},{date:"2024-10-30 10:45:00",open:499.89,low:499.77,high:500.08,close:499.79,volume:34116,MA20:499.98,MA50:499.63,MA200:499.86,RSI:42.41296302435658,MACDLine:-.0016358396185296442,SignalLine:.17260379023194025,MACDHistogram:-.1742396298504699},{date:"2024-10-30 10:46:00",open:499.78,low:499.53,high:499.81,close:499.67,volume:88190,MA20:499.96,MA50:499.65,MA200:499.86,RSI:38.6376226155189,MACDLine:-.03509932693560813,SignalLine:.14098167185040084,MACDHistogram:-.17608099878600897},{date:"2024-10-30 10:47:00",open:499.67,low:499.51,high:499.71,close:499.57,volume:36587,MA20:499.93,MA50:499.67,MA200:499.86,RSI:37.60164975861324,MACDLine:-.06319127871944374,SignalLine:.09752950278153046,MACDHistogram:-.16072078150097419},{date:"2024-10-30 10:48:00",open:499.63,low:499.51,high:499.68,close:499.57,volume:55316,MA20:499.9,MA50:499.69,MA200:499.86,RSI:39.24217658349609,MACDLine:-.03761858766944215,SignalLine:.05880441306309134,MACDHistogram:-.09642300073253349},{date:"2024-10-30 10:49:00",open:499.58,low:499.38,high:499.59,close:499.54,volume:52152,MA20:499.87,MA50:499.71,MA200:499.86,RSI:39.847551838337715,MACDLine:-.07024953709043302,SignalLine:.025469187458511254,MACDHistogram:-.09571872454894428},{date:"2024-10-30 10:50:00",open:499.57,low:499.06,high:499.58,close:499.14,volume:65076,MA20:499.83,MA50:499.71,MA200:499.86,RSI:45.99727840441992,MACDLine:-.10556759199369026,SignalLine:-.00637397457543637,MACDHistogram:-.09919361741825389},{date:"2024-10-30 10:51:00",open:499.15,low:498.79,high:499.16,close:499.05,volume:57978,MA20:499.79,MA50:499.71,MA200:499.86,RSI:32.9584305956983,MACDLine:-.15209256255036507,SignalLine:-.038462573679016586,MACDHistogram:-.11362998887134848},{date:"2024-10-30 10:52:00",open:499.05,low:498.66,high:499.08,close:498.71,volume:72349,MA20:499.72,MA50:499.7,MA200:499.85,RSI:35.46970463200377,MACDLine:-.17159036042374964,SignalLine:-.0719912517262115,MACDHistogram:-.09959910869753814},{date:"2024-10-30 10:53:00",open:498.7,low:498.69,high:499.23,close:498.86,volume:105030,MA20:499.66,MA50:499.7,MA200:499.85,RSI:35.680076386612484,MACDLine:-.1972535081032447,SignalLine:-.09944406655561247,MACDHistogram:-.09780944154763224},{date:"2024-10-30 10:54:00",open:498.87,low:498.67,high:498.92,close:498.69,volume:67447,MA20:499.59,MA50:499.68,MA200:499.84,RSI:38.66096612684822,MACDLine:-.2289580564781204,SignalLine:-.12389612328988317,MACDHistogram:-.10506193318823723},{date:"2024-10-30 10:55:00",open:498.69,low:498.66,high:499.04,close:499.01,volume:48509,MA20:499.54,MA50:499.67,MA200:499.84,RSI:32.28183514676144,MACDLine:-.277148835582409,SignalLine:-.14609532237845194,MACDHistogram:-.13105351320395706},{date:"2024-10-30 10:56:00",open:499.04,low:499.01,high:499.52,close:499.33,volume:74505,MA20:499.52,MA50:499.67,MA200:499.84,RSI:33.420932375866855,MACDLine:-.3366629014852265,SignalLine:-.16682133329320398,MACDHistogram:-.1698415681920225},{date:"2024-10-30 10:57:00",open:499.41,low:499.19,high:499.49,close:499.23,volume:42428,MA20:499.48,MA50:499.67,MA200:499.84,RSI:32.31201422582282,MACDLine:-.3931821215795708,SignalLine:-.19912201969914442,MACDHistogram:-.19406010188042636},{date:"2024-10-30 10:58:00",open:499.25,low:499.07,high:499.33,close:499.32,volume:46368,MA20:499.45,MA50:499.67,MA200:499.84,RSI:33.16694574634066,MACDLine:-.431311277095233,SignalLine:-.23134014035132228,MACDHistogram:-.1999711367439107},{date:"2024-10-30 10:59:00",open:499.31,low:499.11,high:499.36,close:499.2,volume:32449,MA20:499.41,MA50:499.66,MA200:499.84,RSI:35.06209379518448,MACDLine:-.45879523519562326,SignalLine:-.26278327744073027,MACDHistogram:-.196011957754893},{date:"2024-10-30 11:00:00",open:499.15,low:499,high:499.27,close:499.02,volume:40040,MA20:499.37,MA50:499.65,MA200:499.83,RSI:37.216233984702605,MACDLine:-.5011650110227492,SignalLine:-.2904559561633216,MACDHistogram:-.21070905485942765},{date:"2024-10-30 11:01:00",open:499,low:498.94,high:499.17,close:499.17,volume:23957,MA20:499.33,MA50:499.65,MA200:499.83,RSI:39.07385199876015,MACDLine:-.5513000338272036,SignalLine:-.32017235509821457,MACDHistogram:-.23112767872898904},{date:"2024-10-30 11:02:00",open:499.18,low:499.04,high:499.22,close:499.2,volume:12891,MA20:499.3,MA50:499.64,MA200:499.83,RSI:39.07385199876014,MACDLine:-.5633443715328781,SignalLine:-.350902066846957,MACDHistogram:-.21244230468592107},{date:"2024-10-30 11:03:00",open:499.2,low:499.16,high:499.31,close:499.22,volume:23585,MA20:499.26,MA50:499.63,MA200:499.83,RSI:39.58495214190972,MACDLine:-.5319050444367122,SignalLine:-.38138806943916614,MACDHistogram:-.15051697499754602},{date:"2024-10-30 11:04:00",open:499.24,low:499.12,high:499.27,close:499.2,volume:22689,MA20:499.22,MA50:499.63,MA200:499.83,RSI:47.23444504135084,MACDLine:-.44680386629670465,SignalLine:-.4074478779033554,MACDHistogram:-.03935598839334925},{date:"2024-10-30 11:05:00",open:499.2,low:499.04,high:499.2,close:499.12,volume:17936,MA20:499.19,MA50:499.62,MA200:499.82,RSI:49.22171609874987,MACDLine:-.37793939723366066,SignalLine:-.42514412200788765,MACDHistogram:.04720472477422699},{date:"2024-10-30 11:06:00",open:499.15,low:498.94,high:499.19,close:498.96,volume:42788,MA20:499.16,MA50:499.61,MA200:499.82,RSI:57.744020295452444,MACDLine:-.28069144730619655,SignalLine:-.4331346221149669,MACDHistogram:.15244317480877034},{date:"2024-10-30 11:07:00",open:498.9,low:498.78,high:499.19,close:499.19,volume:65352,MA20:499.14,MA50:499.6,MA200:499.82,RSI:54.5179968180167,MACDLine:-.21335764289250392,SignalLine:-.4335904583699004,MACDHistogram:.22023281547739648},{date:"2024-10-30 11:08:00",open:499.17,low:499.04,high:499.24,close:499.04,volume:27166,MA20:499.11,MA50:499.59,MA200:499.82,RSI:59.280844695487644,MACDLine:-.2014027486351324,SignalLine:-.4272892641634697,MACDHistogram:.22588651552833727},{date:"2024-10-30 11:09:00",open:499.1,low:498.94,high:499.2,close:498.95,volume:27871,MA20:499.08,MA50:499.58,MA200:499.81,RSI:51.94237513281744,MACDLine:-.17121446180283328,SignalLine:-.4088203274486498,MACDHistogram:.23760586564581654},{date:"2024-10-30 11:10:00",open:498.96,low:498.54,high:498.96,close:498.66,volume:44729,MA20:499.06,MA50:499.55,MA200:499.81,RSI:42.28362048782024,MACDLine:-.1610292017106758,SignalLine:-.37320040085401135,MACDHistogram:.21217119914333554},{date:"2024-10-30 11:11:00",open:498.65,low:498.41,high:498.67,close:498.67,volume:65084,MA20:499.04,MA50:499.53,MA200:499.8,RSI:44.90236663284191,MACDLine:-.14110504498631826,SignalLine:-.32566440818429465,MACDHistogram:.1845593631979764},{date:"2024-10-30 11:12:00",open:498.67,low:498.43,high:498.67,close:498.55,volume:34821,MA20:499.03,MA50:499.5,MA200:499.8,RSI:41.894954799497356,MACDLine:-.09907668429468686,SignalLine:-.27410424912119025,MACDHistogram:.1750275648265034},{date:"2024-10-30 11:13:00",open:498.57,low:498.36,high:498.59,close:498.55,volume:37136,MA20:499.01,MA50:499.47,MA200:499.79,RSI:44.93138887057589,MACDLine:-.08871937033131871,SignalLine:-.23092934482731162,MACDHistogram:.1422099744959929},{date:"2024-10-30 11:14:00",open:498.57,low:498.26,high:498.68,close:498.31,volume:41551,MA20:499,MA50:499.44,MA200:499.78,RSI:49.976549183196475,MACDLine:-.08548193512234548,SignalLine:-.19417683172572436,MACDHistogram:.10869489660337889},{date:"2024-10-30 11:15:00",open:498.3,low:498.18,high:498.5,close:498.27,volume:70542,MA20:498.96,MA50:499.41,MA200:499.77,RSI:45.2165296131721,MACDLine:-.09152459876287367,SignalLine:-.1725481778306063,MACDHistogram:.08102357906773264},{date:"2024-10-30 11:16:00",open:498.32,low:498.15,high:498.36,close:498.17,volume:33738,MA20:498.9,MA50:499.38,MA200:499.76,RSI:44.23099172649168,MACDLine:-.13092414982753553,SignalLine:-.1623458115651319,MACDHistogram:.03142166173759636},{date:"2024-10-30 11:17:00",open:498.19,low:498.15,high:498.55,close:498.55,volume:31733,MA20:498.87,MA50:499.34,MA200:499.76,RSI:43.602926995100496,MACDLine:-.17108977100718903,SignalLine:-.15258157729763178,MACDHistogram:-.018508193709557252},{date:"2024-10-30 11:18:00",open:498.53,low:498.53,high:498.74,close:498.62,volume:58384,MA20:498.83,MA50:499.31,MA200:499.75,RSI:44.06372223326067,MACDLine:-.2169580399163351,SignalLine:-.1479233561713314,MACDHistogram:-.06903468374500371},{date:"2024-10-30 11:19:00",open:498.63,low:498.6,high:498.75,close:498.68,volume:35904,MA20:498.81,MA50:499.28,MA200:499.74,RSI:45.86400024770854,MACDLine:-.29852869528889414,SignalLine:-.14464689478649528,MACDHistogram:-.15388180050239886},{date:"2024-10-30 11:20:00",open:498.69,low:498.69,high:498.99,close:498.93,volume:89835,MA20:498.8,MA50:499.26,MA200:499.74,RSI:49.62969689788643,MACDLine:-.37982755076018293,SignalLine:-.14553235723653954,MACDHistogram:-.2342951935236434},{date:"2024-10-30 11:21:00",open:498.93,low:498.63,high:498.94,close:498.73,volume:25553,MA20:498.78,MA50:499.24,MA200:499.73,RSI:43.42980292332791,MACDLine:-.4310151437324521,SignalLine:-.15714627547200272,MACDHistogram:-.27386886826044937},{date:"2024-10-30 11:22:00",open:498.78,low:498.75,high:499.04,close:498.98,volume:50796,MA20:498.77,MA50:499.22,MA200:499.72,RSI:46.927792955671755,MACDLine:-.41262526939914324,SignalLine:-.17425300175717373,MACDHistogram:-.2383722676419695},{date:"2024-10-30 11:23:00",open:498.96,low:498.92,high:499.08,close:498.96,volume:29458,MA20:498.75,MA50:499.19,MA200:499.72,RSI:49.13258105088507,MACDLine:-.4027149167861239,SignalLine:-.1964457684158808,MACDHistogram:-.20626914837024313},{date:"2024-10-30 11:24:00",open:499.06,low:499.02,high:499.2,close:499.18,volume:25570,MA20:498.75,MA50:499.18,MA200:499.71,RSI:57.169119658602874,MACDLine:-.36333530429772054,SignalLine:-.22267606082913258,MACDHistogram:-.14065924346858796},{date:"2024-10-30 11:25:00",open:499.16,low:499.09,high:499.3,close:499.3,volume:31926,MA20:498.76,MA50:499.16,MA200:499.71,RSI:56.94361561568564,MACDLine:-.32858772174995465,SignalLine:-.24561403857953185,MACDHistogram:-.08297368317042281},{date:"2024-10-30 11:26:00",open:499.3,low:499.3,high:499.59,close:499.57,volume:66908,MA20:498.79,MA50:499.16,MA200:499.7,RSI:60.492531045211756,MACDLine:-.25967589498173993,SignalLine:-.26424510547261754,MACDHistogram:.0045692104908776066},{date:"2024-10-30 11:27:00",open:499.56,low:499.49,high:499.64,close:499.51,volume:41464,MA20:498.81,MA50:499.15,MA200:499.7,RSI:60.492531045211756,MACDLine:-.1589967867069504,SignalLine:-.27606687186168816,MACDHistogram:.11707008515473777},{date:"2024-10-30 11:28:00",open:499.5,low:499.5,high:499.94,close:499.83,volume:72459,MA20:498.85,MA50:499.15,MA200:499.7,RSI:67.77691891272426,MACDLine:-.020690044338664393,SignalLine:-.27045141600488665,MACDHistogram:.24976137166622225},{date:"2024-10-30 11:29:00",open:499.85,low:499.8,high:499.96,close:499.94,volume:42928,MA20:498.9,MA50:499.15,MA200:499.7,RSI:69.0640035989849,MACDLine:.07366787111089934,SignalLine:-.2431073823160626,MACDHistogram:.31677525342696194},{date:"2024-10-30 11:30:00",open:499.94,low:499.53,high:499.96,close:499.71,volume:97439,MA20:498.95,MA50:499.14,MA200:499.69,RSI:72.24902701001875,MACDLine:.16895862325043254,SignalLine:-.19613044196196522,MACDHistogram:.36508906521239776},{date:"2024-10-30 11:31:00",open:499.7,low:499.61,high:499.96,close:499.78,volume:24233,MA20:499.01,MA50:499.14,MA200:499.69,RSI:66.85552365043878,MACDLine:.2623812396429912,SignalLine:-.1420067351026707,MACDHistogram:.4043879747456619},{date:"2024-10-30 11:32:00",open:499.78,low:499.63,high:499.78,close:499.66,volume:23416,MA20:499.06,MA50:499.13,MA200:499.69,RSI:65.71575396460557,MACDLine:.31315147017107847,SignalLine:-.07682968968180738,MACDHistogram:.38998115985288584},{date:"2024-10-30 11:33:00",open:499.64,low:499.31,high:499.64,close:499.33,volume:35740,MA20:499.1,MA50:499.12,MA200:499.68,RSI:64.75098927507582,MACDLine:.42772508847895097,SignalLine:-.005203286027829088,MACDHistogram:.43292837450678007},{date:"2024-10-30 11:34:00",open:499.33,low:499.19,high:499.41,close:499.19,volume:38160,MA20:499.14,MA50:499.11,MA200:499.67,RSI:60.44433997951896,MACDLine:.5035957781959155,SignalLine:.07564282290270231,MACDHistogram:.4279529552932132},{date:"2024-10-30 11:35:00",open:499.18,low:499.01,high:499.21,close:499.04,volume:109032,MA20:499.18,MA50:499.09,MA200:499.67,RSI:66.47792341520713,MACDLine:.5886729744790387,SignalLine:.15947250237381289,MACDHistogram:.42920047210522577},{date:"2024-10-30 11:36:00",open:499.05,low:499.05,high:499.24,close:499.1,volume:53639,MA20:499.23,MA50:499.08,MA200:499.66,RSI:62.084972072526426,MACDLine:.6256453526516452,SignalLine:.23908982464400372,MACDHistogram:.3865555280076415},{date:"2024-10-30 11:37:00",open:499.06,low:498.96,high:499.4,close:499.4,volume:38565,MA20:499.27,MA50:499.08,MA200:499.66,RSI:62.695303582721465,MACDLine:.6502807102079373,SignalLine:.30403479188967075,MACDHistogram:.34624591831826657},{date:"2024-10-30 11:38:00",open:499.39,low:499.22,high:499.41,close:499.37,volume:33820,MA20:499.31,MA50:499.07,MA200:499.65,RSI:58.53133591396164,MACDLine:.6227384835221983,SignalLine:.36162652208436363,MACDHistogram:.26111196143783466},{date:"2024-10-30 11:39:00",open:499.4,low:499.29,high:499.44,close:499.4,volume:25453,MA20:499.35,MA50:499.07,MA200:499.65,RSI:56.04641831968825,MACDLine:.60427202715573,SignalLine:.40979349679284643,MACDHistogram:.1944785303628836},{date:"2024-10-30 11:40:00",open:499.42,low:499.39,high:499.72,close:499.65,volume:68001,MA20:499.38,MA50:499.08,MA200:499.65,RSI:49.75609171728718,MACDLine:.5084945206347697,SignalLine:.44664656108031026,MACDHistogram:.061847959554459486},{date:"2024-10-30 11:41:00",open:499.64,low:499.31,high:499.69,close:499.33,volume:32101,MA20:499.41,MA50:499.09,MA200:499.64,RSI:51.27016337134402,MACDLine:.37776040110242093,SignalLine:.4800203338076182,MACDHistogram:-.10225993270519729},{date:"2024-10-30 11:42:00",open:499.31,low:499.29,high:499.48,close:499.47,volume:53833,MA20:499.44,MA50:499.1,MA200:499.64,RSI:42.62350668896056,MACDLine:.26351051906505063,SignalLine:.49309414513978506,MACDHistogram:-.22958362607473443},{date:"2024-10-30 11:43:00",open:499.49,low:499.48,high:499.71,close:499.71,volume:19847,MA20:499.47,MA50:499.12,MA200:499.64,RSI:39.1786821205327,MACDLine:.15392597116920115,SignalLine:.49046873687575243,MACDHistogram:-.3365427657065513},{date:"2024-10-30 11:44:00",open:499.72,low:499.69,high:499.8,close:499.72,volume:33428,MA20:499.5,MA50:499.14,MA200:499.63,RSI:44.34832842360031,MACDLine:.057126406819691056,SignalLine:.46591767747493085,MACDHistogram:-.4087912706552398},{date:"2024-10-30 11:45:00",open:499.76,low:499.7,high:499.85,close:499.74,volume:81595,MA20:499.52,MA50:499.15,MA200:499.63,RSI:42.19267261361525,MACDLine:.01267130604162503,SignalLine:.4259857586807522,MACDHistogram:-.4133144526391272},{date:"2024-10-30 11:46:00",open:499.72,low:499.47,high:499.72,close:499.56,volume:35275,MA20:499.52,MA50:499.16,MA200:499.63,RSI:44.96520280885614,MACDLine:.010655212960671179,SignalLine:.36991202079895596,MACDHistogram:-.3592568078382848},{date:"2024-10-30 11:47:00",open:499.6,low:499.57,high:499.68,close:499.58,volume:12668,MA20:499.53,MA50:499.17,MA200:499.63,RSI:54.03160868767792,MACDLine:.022981505603354435,SignalLine:.30670540511814537,MACDHistogram:-.28372389951479093},{date:"2024-10-30 11:48:00",open:499.61,low:499.58,high:499.74,close:499.63,volume:11327,MA20:499.52,MA50:499.17,MA200:499.62,RSI:58.69368514058476,MACDLine:.05198006085851148,SignalLine:.23231374960874918,MACDHistogram:-.1803336887502377},{date:"2024-10-30 11:49:00",open:499.66,low:499.66,high:499.79,close:499.71,volume:11730,MA20:499.5,MA50:499.18,MA200:499.62,RSI:64.20532846528667,MACDLine:.03383668868082168,SignalLine:.163268556852244,MACDHistogram:-.12943186817142233},{date:"2024-10-30 11:50:00",open:499.64,low:499.56,high:499.95,close:499.93,volume:59875,MA20:499.51,MA50:499.2,MA200:499.62,RSI:62.91172345852051,MACDLine:.0396415236295411,SignalLine:.10964559578969976,MACDHistogram:-.07000407216015866},{date:"2024-10-30 11:51:00",open:499.94,low:499.67,high:499.99,close:499.69,volume:46144,MA20:499.51,MA50:499.21,MA200:499.62,RSI:55.43394034832885,MACDLine:.05338309080224235,SignalLine:.07117936497086204,MACDHistogram:-.01779627416861969},{date:"2024-10-30 11:52:00",open:499.68,low:499.61,high:499.82,close:499.75,volume:21527,MA20:499.52,MA50:499.22,MA200:499.61,RSI:56.491573859403424,MACDLine:.04774584612732724,SignalLine:.05049271342127726,MACDHistogram:-.002746867293950017},{date:"2024-10-30 11:53:00",open:499.75,low:499.72,high:499.9,close:499.86,volume:47395,MA20:499.54,MA50:499.23,MA200:499.61,RSI:55.70686015550586,MACDLine:.09440164152584885,SignalLine:.04883429007167381,MACDHistogram:.04556735145417504},{date:"2024-10-30 11:54:00",open:499.86,low:499.72,high:499.93,close:499.72,volume:39742,MA20:499.57,MA50:499.24,MA200:499.61,RSI:48.522475281194446,MACDLine:.1501055601395933,SignalLine:.057875036079186,MACDHistogram:.0922305240604073},{date:"2024-10-30 11:55:00",open:499.78,low:499.69,high:499.79,close:499.76,volume:18070,MA20:499.6,MA50:499.26,MA200:499.61,RSI:60.11113916788391,MACDLine:.17894793538636122,SignalLine:.06967999185881471,MACDHistogram:.10926794352754651},{date:"2024-10-30 11:56:00",open:499.72,low:499.57,high:499.79,close:499.77,volume:40430,MA20:499.64,MA50:499.27,MA200:499.61,RSI:55.825064665176114,MACDLine:.18959477891388588,SignalLine:.08135461342267979,MACDHistogram:.10824016549120609},{date:"2024-10-30 11:57:00",open:499.79,low:499.7,high:499.81,close:499.74,volume:16689,MA20:499.65,MA50:499.28,MA200:499.6,RSI:46.710188089318066,MACDLine:.2025353715048368,SignalLine:.08869825156372187,MACDHistogram:.11383711994111494},{date:"2024-10-30 11:58:00",open:499.73,low:499.69,high:499.82,close:499.75,volume:27032,MA20:499.67,MA50:499.3,MA200:499.6,RSI:46.28133936689188,MACDLine:.2386517588262791,SignalLine:.10241364228444691,MACDHistogram:.13623811654183218},{date:"2024-10-30 11:59:00",open:499.69,low:499.6,high:499.72,close:499.66,volume:16103,MA20:499.69,MA50:499.31,MA200:499.59,RSI:45.466315957026886,MACDLine:.2497871948791044,SignalLine:.11810667194817337,MACDHistogram:.13168052293093102},{date:"2024-10-30 12:00:00",open:499.63,low:499.52,high:499.63,close:499.53,volume:33289,MA20:499.68,MA50:499.33,MA200:499.59,RSI:52.06832892455771,MACDLine:.2437122467882773,SignalLine:.13428756723465612,MACDHistogram:.10942467955362117},{date:"2024-10-30 12:01:00",open:499.57,low:499.52,high:499.67,close:499.6,volume:26214,MA20:499.69,MA50:499.35,MA200:499.59,RSI:51.33931191691805,MACDLine:.21226804399913135,SignalLine:.15592299751148836,MACDHistogram:.05634504648764299},{date:"2024-10-30 12:02:00",open:499.69,low:499.63,high:499.79,close:499.73,volume:17774,MA20:499.71,MA50:499.37,MA200:499.58,RSI:49.55832846148104,MACDLine:.14359172634459583,SignalLine:.17130333650789825,MACDHistogram:-.027711610163302425},{date:"2024-10-30 12:03:00",open:499.67,low:499.5,high:499.7,close:499.54,volume:13989,MA20:499.7,MA50:499.39,MA200:499.58,RSI:46.65772421093283,MACDLine:.13355625579146135,SignalLine:.17660278059997447,MACDHistogram:-.04304652480851312},{date:"2024-10-30 12:04:00",open:499.58,low:499.56,high:499.66,close:499.66,volume:12336,MA20:499.7,MA50:499.42,MA200:499.57,RSI:37.47675502816752,MACDLine:.10971380056486169,SignalLine:.1760164919033778,MACDHistogram:-.0663026913385161},{date:"2024-10-30 12:05:00",open:499.68,low:499.58,high:499.83,close:499.79,volume:38179,MA20:499.7,MA50:499.45,MA200:499.57,RSI:45.39058348785704,MACDLine:.0656135933401174,SignalLine:.17262192015075076,MACDHistogram:-.10700832681063335},{date:"2024-10-30 12:06:00",open:499.85,low:499.73,high:499.92,close:499.75,volume:35204,MA20:499.71,MA50:499.48,MA200:499.56,RSI:42.57559596437581,MACDLine:.06051676748830914,SignalLine:.16514355731222924,MACDHistogram:-.1046267898239201},{date:"2024-10-30 12:07:00",open:499.77,low:499.64,high:499.79,close:499.78,volume:20414,MA20:499.72,MA50:499.51,MA200:499.56,RSI:37.05164137289988,MACDLine:.021276574964929296,SignalLine:.1467665069337168,MACDHistogram:-.1254899319687875},{date:"2024-10-30 12:08:00",open:499.76,low:499.55,high:499.78,close:499.57,volume:44927,MA20:499.71,MA50:499.53,MA200:499.55,RSI:41.80415930758745,MACDLine:-.013481293673521577,SignalLine:.1210113349473699,MACDHistogram:-.13449262862089148},{date:"2024-10-30 12:09:00",open:499.57,low:499.37,high:499.61,close:499.41,volume:57081,MA20:499.7,MA50:499.54,MA200:499.54,RSI:39.75397950803959,MACDLine:-.028630699918608116,SignalLine:.09033610698714306,MACDHistogram:-.11896680690575118},{date:"2024-10-30 12:10:00",open:499.38,low:499.25,high:499.53,close:499.53,volume:69537,MA20:499.68,MA50:499.55,MA200:499.54,RSI:39.25721561179881,MACDLine:-.04813222279989304,SignalLine:.05985312273414599,MACDHistogram:-.10798534553403903},{date:"2024-10-30 12:11:00",open:499.5,low:499.31,high:499.5,close:499.35,volume:26153,MA20:499.66,MA50:499.56,MA200:499.53,RSI:40.18014773060163,MACDLine:-.0539231524003867,SignalLine:.03891847183153353,MACDHistogram:-.09284162423192023},{date:"2024-10-30 12:12:00",open:499.32,low:499.23,high:499.43,close:499.3,volume:13624,MA20:499.64,MA50:499.57,MA200:499.52,RSI:39.74165588451165,MACDLine:-.05245742032820999,SignalLine:.015259025841551574,MACDHistogram:-.06771644616976157},{date:"2024-10-30 12:13:00",open:499.31,low:499.27,high:499.37,close:499.27,volume:7066,MA20:499.61,MA50:499.58,MA200:499.51,RSI:42.33508541792392,MACDLine:-.06138723255133982,SignalLine:-.008354667839275957,MACDHistogram:-.053032564712063864},{date:"2024-10-30 12:14:00",open:499.27,low:499.16,high:499.27,close:499.23,volume:25497,MA20:499.59,MA50:499.58,MA200:499.5,RSI:46.39601371451486,MACDLine:-.09123746949723,SignalLine:-.0268467331341243,MACDHistogram:-.06439073636310569},{date:"2024-10-30 12:15:00",open:499.25,low:499.21,high:499.41,close:499.31,volume:30758,MA20:499.56,MA50:499.58,MA200:499.49,RSI:43.695554835858864,MACDLine:-.08561013600643719,SignalLine:-.04868760828973266,MACDHistogram:-.036922527716704526},{date:"2024-10-30 12:16:00",open:499.33,low:499.2,high:499.38,close:499.29,volume:39766,MA20:499.54,MA50:499.57,MA200:499.48,RSI:38.33864719722927,MACDLine:-.08387328291809126,SignalLine:-.06617865410339815,MACDHistogram:-.01769462881469311},{date:"2024-10-30 12:17:00",open:499.28,low:499.09,high:499.29,close:499.19,volume:27320,MA20:499.51,MA50:499.57,MA200:499.47,RSI:44.02293463045645,MACDLine:-.1272000881337476,SignalLine:-.0793529942108673,MACDHistogram:-.04784709392288031},{date:"2024-10-30 12:18:00",open:499.16,low:499.01,high:499.16,close:499.08,volume:29053,MA20:499.48,MA50:499.55,MA200:499.46,RSI:38.692053784190065,MACDLine:-.16712339096346795,SignalLine:-.0920335677839321,MACDHistogram:-.07508982317953586},{date:"2024-10-30 12:19:00",open:499.05,low:498.95,high:499.11,close:498.98,volume:22673,MA20:499.44,MA50:499.53,MA200:499.45,RSI:32.196463588868795,MACDLine:-.21230370270660615,SignalLine:-.10300890402994185,MACDHistogram:-.10929479867666429},{date:"2024-10-30 12:20:00",open:498.97,low:498.96,high:499.18,close:499.18,volume:24505,MA20:499.43,MA50:499.52,MA200:499.44,RSI:33.20152318331222,MACDLine:-.2410639740194256,SignalLine:-.11528034193733064,MACDHistogram:-.12578363208209495},{date:"2024-10-30 12:21:00",open:499.19,low:499.07,high:499.21,close:499.11,volume:8363,MA20:499.4,MA50:499.51,MA200:499.43,RSI:31.717049508557466,MACDLine:-.24415706250931635,SignalLine:-.1309860723396108,MACDHistogram:-.11317099016970555},{date:"2024-10-30 12:22:00",open:499.1,low:498.97,high:499.1,close:499.03,volume:17367,MA20:499.37,MA50:499.5,MA200:499.42,RSI:37.07214201726967,MACDLine:-.2706626836362602,SignalLine:-.14838578228667854,MACDHistogram:-.12227690134958169},{date:"2024-10-30 12:23:00",open:499.03,low:498.87,high:499.03,close:498.96,volume:17709,MA20:499.34,MA50:499.49,MA200:499.41,RSI:42.10117414326977,MACDLine:-.27372021920359657,SignalLine:-.16267286048404067,MACDHistogram:-.1110473587195559},{date:"2024-10-30 12:24:00",open:499,low:498.91,high:499.12,close:499.06,volume:18528,MA20:499.31,MA50:499.49,MA200:499.4,RSI:36.06054398039934,MACDLine:-.2694231795937867,SignalLine:-.18193854160344156,MACDHistogram:-.08748463799034514},{date:"2024-10-30 12:25:00",open:499.03,low:499,high:499.14,close:499.01,volume:13221,MA20:499.27,MA50:499.48,MA200:499.39,RSI:42.19176148969594,MACDLine:-.26831062097051017,SignalLine:-.20645485627477914,MACDHistogram:-.061855764695731036},{date:"2024-10-30 12:26:00",open:499.01,low:498.97,high:499.2,close:499.16,volume:13547,MA20:499.24,MA50:499.49,MA200:499.38,RSI:44.126986812449815,MACDLine:-.2717878916590166,SignalLine:-.226268548310037,MACDHistogram:-.04551934334897961},{date:"2024-10-30 12:27:00",open:499.13,low:499.12,high:499.18,close:499.15,volume:16056,MA20:499.21,MA50:499.48,MA200:499.37,RSI:45.284210318366746,MACDLine:-.2855819660045995,SignalLine:-.2410548376466793,MACDHistogram:-.04452712835792022},{date:"2024-10-30 12:28:00",open:499.15,low:499.08,high:499.23,close:499.21,volume:11709,MA20:499.19,MA50:499.48,MA200:499.36,RSI:46.80387886088044,MACDLine:-.2892161195728704,SignalLine:-.2482426213816976,MACDHistogram:-.040973498191172825},{date:"2024-10-30 12:29:00",open:499.19,low:499.06,high:499.29,close:499.15,volume:15616,MA20:499.18,MA50:499.47,MA200:499.35,RSI:43.26819011692781,MACDLine:-.29306602293354445,SignalLine:-.2500372832222656,MACDHistogram:-.04302873971127885},{date:"2024-10-30 12:30:00",open:499.14,low:499.1,high:499.27,close:499.2,volume:11916,MA20:499.16,MA50:499.46,MA200:499.34,RSI:43.94625500541568,MACDLine:-.2692080301621331,SignalLine:-.25150733840050293,MACDHistogram:-.017700691761630194},{date:"2024-10-30 12:31:00",open:499.2,low:499.01,high:499.28,close:499.05,volume:24851,MA20:499.15,MA50:499.46,MA200:499.34,RSI:47.394651390885926,MACDLine:-.21469534804060686,SignalLine:-.24671850209156362,MACDHistogram:.032023154050956765},{date:"2024-10-30 12:32:00",open:499.07,low:498.88,high:499.14,close:499.13,volume:19940,MA20:499.14,MA50:499.45,MA200:499.33,RSI:51.52432390610734,MACDLine:-.19333995597941112,SignalLine:-.2399680728135554,MACDHistogram:.04662811683414428},{date:"2024-10-30 12:33:00",open:499.07,low:498.99,high:499.25,close:499.2,volume:20412,MA20:499.13,MA50:499.44,MA200:499.32,RSI:55.615058565958066,MACDLine:-.15643412893433606,SignalLine:-.23260429611849756,MACDHistogram:.0761701671841615},{date:"2024-10-30 12:34:00",open:499.23,low:499.23,high:499.36,close:499.33,volume:30046,MA20:499.14,MA50:499.43,MA200:499.31,RSI:47.93882279945556,MACDLine:-.11905346781230719,SignalLine:-.2236777149054944,MACDHistogram:.10462424709318721},{date:"2024-10-30 12:35:00",open:499.35,low:499.22,high:499.39,close:499.22,volume:16841,MA20:499.13,MA50:499.42,MA200:499.3,RSI:50.79382838490126,MACDLine:-.07753773717570311,SignalLine:-.21165017071711384,MACDHistogram:.13411243354141072},{date:"2024-10-30 12:36:00",open:499.23,low:499,high:499.24,close:499.03,volume:13562,MA20:499.12,MA50:499.41,MA200:499.29,RSI:54.220650696472106,MACDLine:-.038548019349605056,SignalLine:-.1931672218952424,MACDHistogram:.15461920254563735},{date:"2024-10-30 12:37:00",open:498.99,low:498.87,high:499.02,close:498.97,volume:28094,MA20:499.11,MA50:499.4,MA200:499.28,RSI:57.36515489403684,MACDLine:-.0003677174065614963,SignalLine:-.1691549974758354,MACDHistogram:.1687872800692739},{date:"2024-10-30 12:38:00",open:498.97,low:498.87,high:499.18,close:499.18,volume:34585,MA20:499.12,MA50:499.39,MA200:499.27,RSI:53.81182497143643,MACDLine:.012151398417586279,SignalLine:-.13817724111140814,MACDHistogram:.15032863952899442},{date:"2024-10-30 12:39:00",open:499.2,low:499.2,high:499.39,close:499.33,volume:14848,MA20:499.13,MA50:499.38,MA200:499.26,RSI:55.9778962170094,MACDLine:.025335413183427136,SignalLine:-.1054195438487269,MACDHistogram:.13075495703215403},{date:"2024-10-30 12:40:00",open:499.36,low:499.3,high:499.46,close:499.38,volume:18270,MA20:499.14,MA50:499.37,MA200:499.25,RSI:50.41815941936764,MACDLine:.025939949656390127,SignalLine:-.07810059280075692,MACDHistogram:.10404054245714704},{date:"2024-10-30 12:41:00",open:499.34,low:499.02,high:499.34,close:499.07,volume:13354,MA20:499.14,MA50:499.36,MA200:499.24,RSI:50.81544539356204,MACDLine:.04335243148693735,SignalLine:-.049290752006093355,MACDHistogram:.0926431834930307},{date:"2024-10-30 12:42:00",open:499.07,low:499.07,high:499.17,close:499.17,volume:6432,MA20:499.15,MA50:499.35,MA200:499.24,RSI:48.5570026873569,MACDLine:.05192832747451348,SignalLine:-.02250490777403268,MACDHistogram:.07443323524854616},{date:"2024-10-30 12:43:00",open:499.1,low:499.08,high:499.22,close:499.16,volume:9069,MA20:499.16,MA50:499.33,MA200:499.23,RSI:50.71957821718493,MACDLine:.08008260449895488,SignalLine:.0016322322355359492,MACDHistogram:.07845037226341893},{date:"2024-10-30 12:44:00",open:499.21,low:499.15,high:499.25,close:499.25,volume:6052,MA20:499.17,MA50:499.33,MA200:499.22,RSI:48.96060594285374,MACDLine:.08947104383565829,SignalLine:.021424724588345715,MACDHistogram:.06804631924731258},{date:"2024-10-30 12:45:00",open:499.25,low:499.19,high:499.37,close:499.36,volume:6990,MA20:499.18,MA50:499.32,MA200:499.22,RSI:54.36629258947647,MACDLine:.0801527094059793,SignalLine:.03641791057283341,MACDHistogram:.043734798833145884},{date:"2024-10-30 12:46:00",open:499.35,low:499.31,high:499.4,close:499.36,volume:8173,MA20:499.19,MA50:499.31,MA200:499.21,RSI:51.72677576475008,MACDLine:.06265690496076104,SignalLine:.04561431756768214,MACDHistogram:.0170425873930789},{date:"2024-10-30 12:47:00",open:499.31,low:499.26,high:499.37,close:499.33,volume:7892,MA20:499.2,MA50:499.3,MA200:499.21,RSI:49.34624558800741,MACDLine:.05599634139667842,SignalLine:.053980047355206104,MACDHistogram:.0020162940414723135},{date:"2024-10-30 12:48:00",open:499.37,low:499.35,high:499.42,close:499.39,volume:5563,MA20:499.21,MA50:499.29,MA200:499.21,RSI:44.638228959714276,MACDLine:.07642600257275944,SignalLine:.06114120589815085,MACDHistogram:.015284796674608594},{date:"2024-10-30 12:49:00",open:499.42,low:499.42,high:499.6,close:499.49,volume:25371,MA20:499.23,MA50:499.29,MA200:499.2,RSI:48.154897706229896,MACDLine:.10669911916369301,SignalLine:.06994151995859103,MACDHistogram:.03675759920510198},{date:"2024-10-30 12:50:00",open:499.52,low:499.5,high:499.6,close:499.53,volume:15012,MA20:499.25,MA50:499.29,MA200:499.21,RSI:55.11967780811795,MACDLine:.11375027351556355,SignalLine:.07658879207650446,MACDHistogram:.03716148143905909},{date:"2024-10-30 12:51:00",open:499.54,low:499.45,high:499.55,close:499.49,volume:16192,MA20:499.27,MA50:499.29,MA200:499.21,RSI:57.560901039010744,MACDLine:.0915682883644422,SignalLine:.08275390822700221,MACDHistogram:.008814380137439987},{date:"2024-10-30 12:52:00",open:499.49,low:499.26,high:499.5,close:499.27,volume:28646,MA20:499.28,MA50:499.28,MA200:499.21,RSI:50.42503667865633,MACDLine:.06948774312269279,SignalLine:.08342173415901405,MACDHistogram:-.013933991036321258},{date:"2024-10-30 12:53:00",open:499.24,low:499.24,high:499.38,close:499.34,volume:15071,MA20:499.28,MA50:499.27,MA200:499.21,RSI:44.202258289856935,MACDLine:.09905784365963655,SignalLine:.08190940673985299,MACDHistogram:.017148436919783558},{date:"2024-10-30 12:54:00",open:499.34,low:499.25,high:499.34,close:499.29,volume:7443,MA20:499.28,MA50:499.27,MA200:499.21,RSI:41.94676023739508,MACDLine:.1208137488007992,SignalLine:.08234858107332141,MACDHistogram:.038465167727477795},{date:"2024-10-30 12:55:00",open:499.23,low:499.1,high:499.27,close:499.23,volume:31173,MA20:499.28,MA50:499.26,MA200:499.21,RSI:54.66939684779379,MACDLine:.1432612677438101,SignalLine:.08727150010146151,MACDHistogram:.05598976764234859},{date:"2024-10-30 12:56:00",open:499.25,low:499.1,high:499.33,close:499.1,volume:23051,MA20:499.28,MA50:499.24,MA200:499.22,RSI:50.139492673186616,MACDLine:.15761048257297716,SignalLine:.09509028977765728,MACDHistogram:.06252019279531988},{date:"2024-10-30 12:57:00",open:499.13,low:498.96,high:499.17,close:499.15,volume:34210,MA20:499.29,MA50:499.23,MA200:499.22,RSI:50.60910718612902,MACDLine:.1423600552084281,SignalLine:.09975636157888174,MACDHistogram:.04260369362954636},{date:"2024-10-30 12:58:00",open:499.2,low:499.14,high:499.3,close:499.26,volume:8923,MA20:499.3,MA50:499.22,MA200:499.22,RSI:46.41475785665159,MACDLine:.131733363478304,SignalLine:.09802067218267892,MACDHistogram:.03371269129562508},{date:"2024-10-30 12:59:00",open:499.24,low:499.04,high:499.26,close:499.04,volume:14932,MA20:499.28,MA50:499.22,MA200:499.23,RSI:40.69941641060996,MACDLine:.13065371892855637,SignalLine:.09408827184945776,MACDHistogram:.03656544707909862},{date:"2024-10-30 13:00:00",open:499.03,low:498.96,high:499.15,close:498.99,volume:82278,MA20:499.26,MA50:499.21,MA200:499.23,RSI:40.69941641060995,MACDLine:.1287571003369976,SignalLine:.09471826772071165,MACDHistogram:.03403883261628596},{date:"2024-10-30 13:01:00",open:498.99,low:498.84,high:499.04,close:499.01,volume:36833,MA20:499.26,MA50:499.2,MA200:499.24,RSI:41.74648739674159,MACDLine:.09835440387524841,SignalLine:.10102589887021637,MACDHistogram:-.0026714949949679656},{date:"2024-10-30 13:02:00",open:499.01,low:499.01,high:499.24,close:499.19,volume:26743,MA20:499.26,MA50:499.2,MA200:499.25,RSI:38.823564036883425,MACDLine:.039573443607650916,SignalLine:.10151791267286134,MACDHistogram:-.06194446906521042},{date:"2024-10-30 13:03:00",open:499.19,low:499.01,high:499.19,close:499.07,volume:16834,MA20:499.26,MA50:499.19,MA200:499.27,RSI:33.67306506336193,MACDLine:-.026282595768122974,SignalLine:.09669395364087686,MACDHistogram:-.12297654940899984},{date:"2024-10-30 13:04:00",open:499.08,low:498.89,high:499.1,close:499.09,volume:32649,MA20:499.25,MA50:499.19,MA200:499.28,RSI:31.532009069734826,MACDLine:-.04559292099662571,SignalLine:.08505212511514355,MACDHistogram:-.13064504611176925},{date:"2024-10-30 13:05:00",open:499.11,low:499.09,high:499.19,close:499.12,volume:44007,MA20:499.24,MA50:499.19,MA200:499.29,RSI:32.50637468699905,MACDLine:-.06899492998286405,SignalLine:.06691253575068515,MACDHistogram:-.1359074657335492},{date:"2024-10-30 13:06:00",open:499.13,low:499.02,high:499.14,close:499.03,volume:55654,MA20:499.22,MA50:499.18,MA200:499.3,RSI:38.59766579286333,MACDLine:-.08462447701640485,SignalLine:.048050655886249405,MACDHistogram:-.13267513290265426},{date:"2024-10-30 13:07:00",open:499.07,low:498.91,high:499.09,close:498.96,volume:27786,MA20:499.2,MA50:499.18,MA200:499.3,RSI:34.998912136922925,MACDLine:-.11854256101901228,SignalLine:.02712997898823575,MACDHistogram:-.14567254000724802},{date:"2024-10-30 13:08:00",open:499,low:498.86,high:499.03,close:498.86,volume:26091,MA20:499.18,MA50:499.17,MA200:499.31,RSI:36.4144730036909,MACDLine:-.12614647825841985,SignalLine:.0012490440031555916,MACDHistogram:-.12739552226157544},{date:"2024-10-30 13:09:00",open:498.86,low:498.84,high:498.95,close:498.84,volume:51296,MA20:499.14,MA50:499.17,MA200:499.32,RSI:38.133062903393046,MACDLine:-.14492607476017838,SignalLine:-.030627970080304913,MACDHistogram:-.11429810467987347},{date:"2024-10-30 13:10:00",open:498.85,low:498.79,high:498.97,close:498.87,volume:42885,MA20:499.11,MA50:499.16,MA200:499.32,RSI:42.13376193963634,MACDLine:-.17973310775323625,SignalLine:-.06287356356919324,MACDHistogram:-.11685954418404301},{date:"2024-10-30 13:11:00",open:498.89,low:498.76,high:498.89,close:498.88,volume:24265,MA20:499.08,MA50:499.16,MA200:499.33,RSI:39.88114761179995,MACDLine:-.17259978466069015,SignalLine:-.08848531536340429,MACDHistogram:-.08411446929728586},{date:"2024-10-30 13:12:00",open:498.85,low:498.66,high:498.88,close:498.69,volume:58525,MA20:499.05,MA50:499.15,MA200:499.33,RSI:34.687195738577714,MACDLine:-.15654816450023645,SignalLine:-.10403599526222462,MACDHistogram:-.05251216923801183},{date:"2024-10-30 13:13:00",open:498.71,low:498.69,high:498.83,close:498.82,volume:22715,MA20:499.02,MA50:499.15,MA200:499.33,RSI:41.31628407980138,MACDLine:-.14520157782999377,SignalLine:-.11864676382862435,MACDHistogram:-.026554814001369415},{date:"2024-10-30 13:14:00",open:498.83,low:498.8,high:498.96,close:498.85,volume:23209,MA20:499,MA50:499.15,MA200:499.34,RSI:43.0526745427053,MACDLine:-.16118900243884582,SignalLine:-.13105972229006443,MACDHistogram:-.030129280148781384},{date:"2024-10-30 13:15:00",open:498.85,low:498.84,high:498.96,close:498.9,volume:21444,MA20:498.99,MA50:499.14,MA200:499.34,RSI:42.14963335128654,MACDLine:-.15234111163130137,SignalLine:-.14266853360847934,MACDHistogram:-.009672578022822037},{date:"2024-10-30 13:16:00",open:498.94,low:498.73,high:498.94,close:498.74,volume:27208,MA20:498.97,MA50:499.13,MA200:499.34,RSI:33.31191161784277,MACDLine:-.14537756937687618,SignalLine:-.1487000267558461,MACDHistogram:.003322457378969912},{date:"2024-10-30 13:17:00",open:498.74,low:498.72,high:498.85,close:498.78,volume:39156,MA20:498.95,MA50:499.13,MA200:499.34,RSI:36.79130433186414,MACDLine:-.14942951989024778,SignalLine:-.15433841388020264,MACDHistogram:.004908893989954866},{date:"2024-10-30 13:18:00",open:498.82,low:498.74,high:498.85,close:498.77,volume:109079,MA20:498.93,MA50:499.12,MA200:499.34,RSI:35.75276632907563,MACDLine:-.15904594371079384,SignalLine:-.1566914986602087,MACDHistogram:-.00235444505058513},{date:"2024-10-30 13:19:00",open:498.77,low:498.73,high:498.84,close:498.84,volume:17672,MA20:498.91,MA50:499.11,MA200:499.34,RSI:34.24802821588574,MACDLine:-.15417023820594977,SignalLine:-.15093109638695182,MACDHistogram:-.0032391418189979537},{date:"2024-10-30 13:20:00",open:498.84,low:498.84,high:499.11,close:499.01,volume:27289,MA20:498.92,MA50:499.11,MA200:499.34,RSI:36.638483059557714,MACDLine:-.13705004335128024,SignalLine:-.14551392431851723,MACDHistogram:.008463880967236992},{date:"2024-10-30 13:21:00",open:499.02,low:498.77,high:499.05,close:498.79,volume:16012,MA20:498.9,MA50:499.1,MA200:499.34,RSI:38.5834719450812,MACDLine:-.12062317583354343,SignalLine:-.14275536427308744,MACDHistogram:.02213218843954401},{date:"2024-10-30 13:22:00",open:498.83,low:498.8,high:499,close:498.99,volume:17426,MA20:498.89,MA50:499.1,MA200:499.34,RSI:41.506355528287976,MACDLine:-.11942927328061614,SignalLine:-.14214381088386085,MACDHistogram:.02271453760324471},{date:"2024-10-30 13:23:00",open:498.94,low:498.86,high:498.99,close:498.97,volume:18259,MA20:498.89,MA50:499.1,MA200:499.34,RSI:42.09863065573456,MACDLine:-.11733190277436734,SignalLine:-.13738251299511461,MACDHistogram:.020050610220747278},{date:"2024-10-30 13:24:00",open:498.97,low:498.76,high:498.98,close:498.83,volume:24340,MA20:498.88,MA50:499.09,MA200:499.33,RSI:40.92448221526178,MACDLine:-.07353006765151804,SignalLine:-.13364286333606792,MACDHistogram:.060112795684549886},{date:"2024-10-30 13:25:00",open:498.87,low:498.76,high:498.94,close:498.78,volume:20837,MA20:498.86,MA50:499.08,MA200:499.33,RSI:40.55134353011289,MACDLine:-.06608074256524787,SignalLine:-.13070918682586585,MACDHistogram:.06462844426061798},{date:"2024-10-30 13:26:00",open:498.81,low:498.65,high:498.81,close:498.68,volume:24369,MA20:498.84,MA50:499.07,MA200:499.33,RSI:45.637022729519465,MACDLine:-.06826606592693452,SignalLine:-.12602910355977037,MACDHistogram:.057763037632835856},{date:"2024-10-30 13:27:00",open:498.66,low:498.57,high:498.7,close:498.67,volume:27506,MA20:498.83,MA50:499.06,MA200:499.32,RSI:40.93035967688645,MACDLine:-.07958964496776844,SignalLine:-.1177748935220145,MACDHistogram:.03818524855424607},{date:"2024-10-30 13:28:00",open:498.59,low:498.34,high:498.62,close:498.58,volume:61109,MA20:498.81,MA50:499.05,MA200:499.32,RSI:39.813752641806964,MACDLine:-.050994072834953386,SignalLine:-.1086760573510307,MACDHistogram:.05768198451607731},{date:"2024-10-30 13:29:00",open:498.57,low:498.38,high:498.7,close:498.38,volume:47082,MA20:498.79,MA50:499.03,MA200:499.31,RSI:37.999940925615995,MACDLine:-.03717217425327135,SignalLine:-.10158256085096831,MACDHistogram:.06441038659769696},{date:"2024-10-30 13:30:00",open:498.42,low:498.2,high:498.47,close:498.38,volume:57987,MA20:498.77,MA50:499.01,MA200:499.31,RSI:41.7374867523879,MACDLine:-.019789719347159007,SignalLine:-.09682240710532453,MACDHistogram:.07703268775816552},{date:"2024-10-30 13:31:00",open:498.36,low:498.29,high:498.43,close:498.35,volume:24578,MA20:498.74,MA50:499,MA200:499.3,RSI:40.376107090150334,MACDLine:-.012297353712824588,SignalLine:-.09117069056150162,MACDHistogram:.07887333684867703},{date:"2024-10-30 13:32:00",open:498.35,low:498.35,high:498.63,close:498.59,volume:85733,MA20:498.74,MA50:498.99,MA200:499.3,RSI:40.59631452480934,MACDLine:-.04473731824919014,SignalLine:-.0846303875082852,MACDHistogram:.039893069259095054},{date:"2024-10-30 13:33:00",open:498.58,low:498.15,high:498.61,close:498.17,volume:55479,MA20:498.7,MA50:498.97,MA200:499.29,RSI:38.413033168927456,MACDLine:-.0513826938101829,SignalLine:-.08740546747247697,MACDHistogram:.036022773662294075},{date:"2024-10-30 13:34:00",open:498.18,low:497.9,high:498.23,close:497.95,volume:86131,MA20:498.66,MA50:498.94,MA200:499.29,RSI:32.84724953375405,MACDLine:-.105953588525324,SignalLine:-.09273664869928425,MACDHistogram:-.013216939826039747},{date:"2024-10-30 13:35:00",open:497.95,low:497.68,high:498.02,close:497.69,volume:102820,MA20:498.6,MA50:498.91,MA200:499.28,RSI:36.84902359322681,MACDLine:-.17013747831043702,SignalLine:-.09885429439237169,MACDHistogram:-.07128318391806533},{date:"2024-10-30 13:36:00",open:497.65,low:497.46,high:497.74,close:497.71,volume:164083,MA20:498.55,MA50:498.87,MA200:499.27,RSI:29.60986698020801,MACDLine:-.2198392797698716,SignalLine:-.1036704567485225,MACDHistogram:-.11616882302134911},{date:"2024-10-30 13:37:00",open:497.72,low:497.71,high:498,close:497.89,volume:104258,MA20:498.5,MA50:498.85,MA200:499.26,RSI:29.928438744775946,MACDLine:-.2707700986541681,SignalLine:-.11683955272691478,MACDHistogram:-.15393054592725336},{date:"2024-10-30 13:38:00",open:497.84,low:497.36,high:497.85,close:497.42,volume:79657,MA20:498.43,MA50:498.81,MA200:499.25,RSI:32.178809938955524,MACDLine:-.33031059695878184,SignalLine:-.13675639734532563,MACDHistogram:-.1935541996134562},{date:"2024-10-30 13:39:00",open:497.43,low:497.23,high:497.52,close:497.23,volume:99309,MA20:498.35,MA50:498.76,MA200:499.24,RSI:33.00174251613706,MACDLine:-.38942867883901044,SignalLine:-.1659980668448673,MACDHistogram:-.22343061199414316},{date:"2024-10-30 13:40:00",open:497.22,low:497.08,high:497.27,close:497.08,volume:183908,MA20:498.26,MA50:498.71,MA200:499.22,RSI:34.647283798169425,MACDLine:-.44263861347394595,SignalLine:-.20442324512787796,MACDHistogram:-.238215368346068},{date:"2024-10-30 13:41:00",open:497.08,low:496.98,high:497.44,close:497.41,volume:100108,MA20:498.19,MA50:498.67,MA200:499.21,RSI:34.80844923228328,MACDLine:-.46767909566654,SignalLine:-.2443447268475499,MACDHistogram:-.22333436881899008},{date:"2024-10-30 13:42:00",open:497.4,low:497.4,high:497.77,close:497.66,volume:106176,MA20:498.12,MA50:498.64,MA200:499.2,RSI:36.21632695575073,MACDLine:-.5132008879099885,SignalLine:-.29258523510689166,MACDHistogram:-.22061565280309686},{date:"2024-10-30 13:43:00",open:497.66,low:497.65,high:497.84,close:497.77,volume:118647,MA20:498.06,MA50:498.61,MA200:499.19,RSI:39.5142192679736,MACDLine:-.5604203261856355,SignalLine:-.33924314675228356,MACDHistogram:-.22117717943335197},{date:"2024-10-30 13:44:00",open:497.75,low:497.6,high:497.78,close:497.69,volume:53514,MA20:498,MA50:498.57,MA200:499.18,RSI:39.51421926797361,MACDLine:-.6632288408402474,SignalLine:-.3815195638627452,MACDHistogram:-.28170927697750214},{date:"2024-10-30 13:45:00",open:497.7,low:497.62,high:497.77,close:497.63,volume:49346,MA20:497.95,MA50:498.54,MA200:499.16,RSI:39.98514523490483,MACDLine:-.7054574709508188,SignalLine:-.42193963488596364,MACDHistogram:-.28351783606485514},{date:"2024-10-30 13:46:00",open:497.64,low:497.61,high:497.84,close:497.81,volume:249204,MA20:497.9,MA50:498.52,MA200:499.15,RSI:34.15576634784979,MACDLine:-.7052408138053465,SignalLine:-.4597320189439125,MACDHistogram:-.245508794861434},{date:"2024-10-30 13:47:00",open:497.81,low:497.79,high:498.03,close:497.98,volume:63390,MA20:497.87,MA50:498.49,MA200:499.14,RSI:40.55733311373765,MACDLine:-.6804516868480164,SignalLine:-.4920873744401952,MACDHistogram:-.1883643124078212},{date:"2024-10-30 13:48:00",open:497.95,low:497.87,high:498,close:497.9,volume:59136,MA20:497.83,MA50:498.47,MA200:499.13,RSI:44.625451425284986,MACDLine:-.6425506311773574,SignalLine:-.5177520483404914,MACDHistogram:-.12479858283686607},{date:"2024-10-30 13:49:00",open:497.92,low:497.89,high:498.1,close:498.08,volume:21197,MA20:497.82,MA50:498.45,MA200:499.12,RSI:50.14520343634184,MACDLine:-.6377743654860524,SignalLine:-.5365304070571277,MACDHistogram:-.10124395842892464},{date:"2024-10-30 13:50:00",open:498.1,low:498.1,high:498.37,close:498.14,volume:70087,MA20:497.81,MA50:498.43,MA200:499.11,RSI:49.70080766283804,MACDLine:-.5638559410512016,SignalLine:-.5537432349047746,MACDHistogram:-.010112706146427008},{date:"2024-10-30 13:51:00",open:498.17,low:497.8,high:498.17,close:497.86,volume:46184,MA20:497.78,MA50:498.41,MA200:499.1,RSI:45.652229479727396,MACDLine:-.4512712474481759,SignalLine:-.5638788216534711,MACDHistogram:.11260757420529521},{date:"2024-10-30 13:52:00",open:497.86,low:497.56,high:497.87,close:497.64,volume:41040,MA20:497.74,MA50:498.38,MA200:499.09,RSI:56.72184500892936,MACDLine:-.30428102037740246,SignalLine:-.5647434455204301,MACDHistogram:.26046242514302764},{date:"2024-10-30 13:53:00",open:497.65,low:497.59,high:497.86,close:497.81,volume:28708,MA20:497.72,MA50:498.35,MA200:499.08,RSI:62.40171119798938,MACDLine:-.1963148611652059,SignalLine:-.5401220966904758,MACDHistogram:.3438072355252699},{date:"2024-10-30 13:54:00",open:497.82,low:497.72,high:497.87,close:497.81,volume:21237,MA20:497.71,MA50:498.33,MA200:499.07,RSI:67.34536980691718,MACDLine:-.12663711088111995,SignalLine:-.49878825312539005,MACDHistogram:.3721511422442701},{date:"2024-10-30 13:55:00",open:497.79,low:497.64,high:497.79,close:497.68,volume:27610,MA20:497.71,MA50:498.3,MA200:499.06,RSI:61.04002847811253,MACDLine:-.08524278799654894,SignalLine:-.4471751129554009,MACDHistogram:.36193232495885197},{date:"2024-10-30 13:56:00",open:497.7,low:497.58,high:497.81,close:497.69,volume:29766,MA20:497.71,MA50:498.27,MA200:499.05,RSI:54.916155725961474,MACDLine:-.025495957143959913,SignalLine:-.38885596948224704,MACDHistogram:.36336001233828713},{date:"2024-10-30 13:57:00",open:497.67,low:497.41,high:497.67,close:497.44,volume:52361,MA20:497.69,MA50:498.24,MA200:499.03,RSI:51.82213612643627,MACDLine:.04960630270272759,SignalLine:-.32543230405846946,MACDHistogram:.37503860676119705},{date:"2024-10-30 13:58:00",open:497.43,low:497.38,high:497.5,close:497.45,volume:40462,MA20:497.69,MA50:498.21,MA200:499.02,RSI:54.34062092928894,MACDLine:.12074254995860656,SignalLine:-.2473467887015737,MACDHistogram:.36808933866018023},{date:"2024-10-30 13:59:00",open:497.47,low:497.38,high:497.49,close:497.39,volume:24049,MA20:497.7,MA50:498.18,MA200:499.01,RSI:56.24423369195243,MACDLine:.13392746845670445,SignalLine:-.1682195006141667,MACDHistogram:.30214696907087113},{date:"2024-10-30 14:00:00",open:497.38,low:497.38,high:497.67,close:497.6,volume:36771,MA20:497.72,MA50:498.16,MA200:499,RSI:51.51249901991156,MACDLine:.14299000125305383,SignalLine:-.0974565639056644,MACDHistogram:.24044656515871823},{date:"2024-10-30 14:01:00",open:497.55,low:497.39,high:497.6,close:497.5,volume:24927,MA20:497.73,MA50:498.13,MA200:498.98,RSI:46.432311681610244,MACDLine:.0982226885494697,SignalLine:-.04575044978772988,MACDHistogram:.14397313833719957},{date:"2024-10-30 14:02:00",open:497.5,low:497.49,high:497.77,close:497.74,volume:41139,MA20:497.73,MA50:498.11,MA200:498.97,RSI:48.66012893989944,MACDLine:.03601826122894636,SignalLine:-.008109346943360872,MACDHistogram:.04412760817230723},{date:"2024-10-30 14:03:00",open:497.75,low:497.57,high:497.77,close:497.65,volume:19148,MA20:497.72,MA50:498.09,MA200:498.96,RSI:42.940248242064456,MACDLine:.02766252655834478,SignalLine:.0215225940410789,MACDHistogram:.00613993251726588},{date:"2024-10-30 14:04:00",open:497.64,low:497.64,high:497.83,close:497.79,volume:30609,MA20:497.73,MA50:498.07,MA200:498.95,RSI:40.90228207575526,MACDLine:.018558843010680448,SignalLine:.04821393955048586,MACDHistogram:-.029655096539805414},{date:"2024-10-30 14:05:00",open:497.8,low:497.68,high:497.8,close:497.75,volume:68646,MA20:497.74,MA50:498.04,MA200:498.94,RSI:48.39194489349612,MACDLine:-.036239805343143416,SignalLine:.0666414137240973,MACDHistogram:-.10288121906724072},{date:"2024-10-30 14:06:00",open:497.76,low:497.68,high:497.97,close:497.94,volume:52416,MA20:497.74,MA50:498.03,MA200:498.93,RSI:55.85381203519837,MACDLine:-.10921931934609574,SignalLine:.07090019147943974,MACDHistogram:-.18011951082553548},{date:"2024-10-30 14:07:00",open:497.94,low:497.93,high:498.28,close:498.23,volume:120573,MA20:497.75,MA50:498.02,MA200:498.93,RSI:50.361792368787846,MACDLine:-.1401245271193261,SignalLine:.05843960185964804,MACDHistogram:-.19856412897897413},{date:"2024-10-30 14:08:00",open:498.25,low:498.08,high:498.35,close:498.14,volume:50443,MA20:497.77,MA50:498,MA200:498.92,RSI:50.361792368787846,MACDLine:-.15542354464633945,SignalLine:.03956763521038394,MACDHistogram:-.1949911798567234},{date:"2024-10-30 14:09:00",open:498.16,low:498.11,high:498.29,close:498.25,volume:70775,MA20:497.77,MA50:497.99,MA200:498.91,RSI:54.862034133658526,MACDLine:-.11799903909508203,SignalLine:.013712043699716474,MACDHistogram:-.1317110827947985},{date:"2024-10-30 14:10:00",open:498.29,low:498.25,high:498.42,close:498.34,volume:34502,MA20:497.78,MA50:497.98,MA200:498.91,RSI:54.572079879220226,MACDLine:-.08153359325916654,SignalLine:-.007415617512721835,MACDHistogram:-.0741179757464447},{date:"2024-10-30 14:11:00",open:498.35,low:498.13,high:498.35,close:498.26,volume:54375,MA20:497.8,MA50:497.97,MA200:498.9,RSI:64.13622665379285,MACDLine:-.031186299217552005,SignalLine:-.018274087198138885,MACDHistogram:-.01291221201941312},{date:"2024-10-30 14:12:00",open:498.24,low:498.11,high:498.29,close:498.26,volume:25785,MA20:497.84,MA50:497.95,MA200:498.9,RSI:63.90123993397994,MACDLine:.006256047711417523,SignalLine:-.029758240637259802,MACDHistogram:.03601428834867733},{date:"2024-10-30 14:13:00",open:498.26,low:498.06,high:498.26,close:498.07,volume:31402,MA20:497.85,MA50:497.93,MA200:498.9,RSI:66.32234582034687,MACDLine:.08268237346135265,SignalLine:-.041837511549244866,MACDHistogram:.12451988501059752},{date:"2024-10-30 14:14:00",open:498.1,low:498.06,high:498.22,close:498.06,volume:137767,MA20:497.86,MA50:497.92,MA200:498.89,RSI:61.59303510844745,MACDLine:.12200932198629744,SignalLine:-.04323693810077023,MACDHistogram:.16524626008706766},{date:"2024-10-30 14:15:00",open:498.07,low:497.96,high:498.19,close:498.13,volume:44496,MA20:497.88,MA50:497.91,MA200:498.89,RSI:65.67082163469287,MACDLine:.1988664916020184,SignalLine:-.02674134278943885,MACDHistogram:.22560783439145726},{date:"2024-10-30 14:16:00",open:498.11,low:497.9,high:498.13,close:498.02,volume:26530,MA20:497.9,MA50:497.89,MA200:498.88,RSI:59.72912449653989,MACDLine:.26716249367007094,SignalLine:.0016044532930329647,MACDHistogram:.265558040377038},{date:"2024-10-30 14:17:00",open:498.02,low:497.94,high:498.09,close:497.97,volume:40285,MA20:497.93,MA50:497.88,MA200:498.88,RSI:63.55980791983918,MACDLine:.33022884549268383,SignalLine:.04086145277787607,MACDHistogram:.28936739271480777},{date:"2024-10-30 14:18:00",open:497.94,low:497.74,high:497.94,close:497.88,volume:22520,MA20:497.95,MA50:497.87,MA200:498.87,RSI:59.83939444285953,MACDLine:.35217566042996395,SignalLine:.0805765757461156,MACDHistogram:.27159908468384836},{date:"2024-10-30 14:19:00",open:497.9,low:497.75,high:497.92,close:497.78,volume:22116,MA20:497.97,MA50:497.85,MA200:498.86,RSI:61.50537880786643,MACDLine:.3403015855254239,SignalLine:.12110411799743614,MACDHistogram:.21919746752798774},{date:"2024-10-30 14:20:00",open:497.79,low:497.76,high:498.12,close:498.07,volume:32849,MA20:497.99,MA50:497.85,MA200:498.86,RSI:56.11656366751824,MACDLine:.3426688341305635,SignalLine:.15917672230118318,MACDHistogram:.1834921118293803},{date:"2024-10-30 14:21:00",open:498.06,low:498.04,high:498.32,close:498.23,volume:68852,MA20:498.03,MA50:497.84,MA200:498.85,RSI:45.25484222745774,MACDLine:.31510603021740735,SignalLine:.1974068909486246,MACDHistogram:.11769913926878275},{date:"2024-10-30 14:22:00",open:498.21,low:498.16,high:498.29,close:498.22,volume:39900,MA20:498.05,MA50:497.84,MA200:498.85,RSI:48.7306871874945,MACDLine:.2680697818742033,SignalLine:.2260880203204426,MACDHistogram:.04198176155376068},{date:"2024-10-30 14:23:00",open:498.19,low:498.09,high:498.24,close:498.09,volume:21640,MA20:498.07,MA50:497.84,MA200:498.84,RSI:43.8348402435864,MACDLine:.2081352280707165,SignalLine:.2521076949039789,MACDHistogram:-.04397246683326239},{date:"2024-10-30 14:24:00",open:498.11,low:498.11,high:498.26,close:498.2,volume:30845,MA20:498.09,MA50:497.84,MA200:498.84,RSI:39.44132823320452,MACDLine:.14133679426231538,SignalLine:.265417995729469,MACDHistogram:-.12408120146715362},{date:"2024-10-30 14:25:00",open:498.2,low:497.98,high:498.2,close:498.02,volume:42479,MA20:498.11,MA50:497.85,MA200:498.83,RSI:42.16369260253347,MACDLine:.09554916719395123,SignalLine:.26498187124431855,MACDHistogram:-.1694327040503673},{date:"2024-10-30 14:26:00",open:498,low:497.94,high:498.04,close:498,volume:22269,MA20:498.11,MA50:497.85,MA200:498.83,RSI:42.16369260253347,MACDLine:.06422678984938557,SignalLine:.24867012768222724,MACDHistogram:-.18444333783284167},{date:"2024-10-30 14:27:00",open:498.01,low:497.96,high:498.08,close:497.98,volume:20881,MA20:498.1,MA50:497.85,MA200:498.82,RSI:49.10450497698552,MACDLine:.009277474913574224,SignalLine:.22279374449529304,MACDHistogram:-.21351626958171882},{date:"2024-10-30 14:28:00",open:498.01,low:497.89,high:498.01,close:497.93,volume:19019,MA20:498.09,MA50:497.87,MA200:498.82,RSI:49.50276141744071,MACDLine:-.012629141239585806,SignalLine:.19341678423776032,MACDHistogram:-.20604592547734613},{date:"2024-10-30 14:29:00",open:497.9,low:497.83,high:497.93,close:497.87,volume:23928,MA20:498.07,MA50:497.88,MA200:498.81,RSI:46.69252444247178,MACDLine:-.03444261652981595,SignalLine:.15610377176455953,MACDHistogram:-.19054638829437548},{date:"2024-10-30 14:30:00",open:497.82,low:497.78,high:498,close:497.97,volume:35248,MA20:498.05,MA50:497.9,MA200:498.81,RSI:50.819332110756065,MACDLine:-.029565377841606733,SignalLine:.11635320715134757,MACDHistogram:-.1459185849929543},{date:"2024-10-30 14:31:00",open:497.98,low:497.84,high:498.03,close:497.91,volume:32747,MA20:498.03,MA50:497.91,MA200:498.8,RSI:52.78857576550805,MACDLine:-.006619296783696882,SignalLine:.07842406347063365,MACDHistogram:-.08504336025433053},{date:"2024-10-30 14:32:00",open:497.94,low:497.93,high:498.11,close:497.97,volume:21164,MA20:498.02,MA50:497.91,MA200:498.8,RSI:56.44434488713195,MACDLine:-.014326381734747429,SignalLine:.04599627232061293,MACDHistogram:-.06032265405536036},{date:"2024-10-30 14:33:00",open:497.96,low:497.95,high:498.12,close:498.11,volume:48909,MA20:498.02,MA50:497.92,MA200:498.8,RSI:60.78772149014578,MACDLine:-.027955040974347867,SignalLine:.02216114183518731,MACDHistogram:-.05011618280953518},{date:"2024-10-30 14:34:00",open:498.11,low:498.06,high:498.2,close:498.08,volume:116482,MA20:498.02,MA50:497.93,MA200:498.8,RSI:50.53859616155143,MACDLine:-.05032536544416644,SignalLine:.003814135495496333,MACDHistogram:-.05413950093966277},{date:"2024-10-30 14:35:00",open:498.05,low:498.04,high:498.28,close:498.25,volume:34599,MA20:498.03,MA50:497.94,MA200:498.8,RSI:42.89137337311137,MACDLine:-.044546028815545924,SignalLine:-.011289028092975977,MACDHistogram:-.03325700072256994},{date:"2024-10-30 14:36:00",open:498.25,low:498.25,high:498.38,close:498.32,volume:49734,MA20:498.04,MA50:497.95,MA200:498.8,RSI:43.27971778334143,MACDLine:-.05164882419046535,SignalLine:-.01643065384461353,MACDHistogram:-.03521817034585182},{date:"2024-10-30 14:37:00",open:498.32,low:498.23,high:498.36,close:498.3,volume:21578,MA20:498.06,MA50:497.96,MA200:498.8,RSI:48.59048147257605,MACDLine:-.035672409207961664,SignalLine:-.01738103199587046,MACDHistogram:-.018291377212091203},{date:"2024-10-30 14:38:00",open:498.26,low:498.15,high:498.3,close:498.21,volume:44977,MA20:498.08,MA50:497.96,MA200:498.79,RSI:43.10504814533125,MACDLine:-.014616368132749358,SignalLine:-.013115635862384088,MACDHistogram:-.0015007322703652695},{date:"2024-10-30 14:39:00",open:498.23,low:498.12,high:498.25,close:498.12,volume:19059,MA20:498.09,MA50:497.96,MA200:498.79,RSI:51.445966530227764,MACDLine:-.0028740558057052112,SignalLine:-.009003200367578425,MACDHistogram:.006129144561873214},{date:"2024-10-30 14:40:00",open:498.14,low:498.11,high:498.2,close:498.13,volume:58899,MA20:498.1,MA50:497.96,MA200:498.79,RSI:52.493982908693575,MACDLine:.019137027285239583,SignalLine:-.009599176263548812,MACDHistogram:.028736203548788395},{date:"2024-10-30 14:41:00",open:498.13,low:498.11,high:498.33,close:498.23,volume:56660,MA20:498.1,MA50:497.97,MA200:498.79,RSI:53.50611091233325,MACDLine:.061570998397144194,SignalLine:-.008417374895749157,MACDHistogram:.06998837329289335},{date:"2024-10-30 14:42:00",open:498.22,low:498.13,high:498.4,close:498.4,volume:33914,MA20:498.1,MA50:497.98,MA200:498.78,RSI:56.013211232532065,MACDLine:.08407296154877031,SignalLine:-.0035329583760994807,MACDHistogram:.0876059199248698},{date:"2024-10-30 14:43:00",open:498.42,low:498.22,high:498.46,close:498.22,volume:35913,MA20:498.11,MA50:497.99,MA200:498.78,RSI:59.09884128426072,MACDLine:.11775258780340891,SignalLine:.008165143390917258,MACDHistogram:.10958744441249166},{date:"2024-10-30 14:44:00",open:498.2,low:498.18,high:498.29,close:498.26,volume:23545,MA20:498.11,MA50:498,MA200:498.77,RSI:55.286842151136355,MACDLine:.1400454549457777,SignalLine:.021342936442533055,MACDHistogram:.11870251850324463},{date:"2024-10-30 14:45:00",open:498.26,low:498.26,high:498.42,close:498.37,volume:51953,MA20:498.13,MA50:498.02,MA200:498.77,RSI:58.3148934992588,MACDLine:.13431678057190766,SignalLine:.03959087660078266,MACDHistogram:.094725903971125},{date:"2024-10-30 14:46:00",open:498.38,low:498.24,high:498.41,close:498.32,volume:43147,MA20:498.15,MA50:498.03,MA200:498.76,RSI:56.08128858433698,MACDLine:.1585057557446703,SignalLine:.058406698052968734,MACDHistogram:.10009905769170156},{date:"2024-10-30 14:47:00",open:498.34,low:498.29,high:498.37,close:498.33,volume:57240,MA20:498.17,MA50:498.05,MA200:498.76,RSI:50.31279955781925,MACDLine:.16911050942707107,SignalLine:.07666246459939825,MACDHistogram:.09244804482767281},{date:"2024-10-30 14:48:00",open:498.34,low:498.28,high:498.37,close:498.29,volume:44876,MA20:498.18,MA50:498.06,MA200:498.75,RSI:51.6630076384809,MACDLine:.16694987853537668,SignalLine:.09654659470067412,MACDHistogram:.07040328383470257},{date:"2024-10-30 14:49:00",open:498.29,low:498.24,high:498.41,close:498.33,volume:22824,MA20:498.21,MA50:498.08,MA200:498.74,RSI:43.71500858311736,MACDLine:.156454675054988,SignalLine:.11589898655453275,MACDHistogram:.04055568850045525},{date:"2024-10-30 14:50:00",open:498.33,low:498.31,high:498.46,close:498.36,volume:29148,MA20:498.23,MA50:498.1,MA200:498.73,RSI:39.93897955171017,MACDLine:.16900145643012365,SignalLine:.12948098359387988,MACDHistogram:.03952047283624377},{date:"2024-10-30 14:51:00",open:498.38,low:498.31,high:498.41,close:498.32,volume:28935,MA20:498.25,MA50:498.11,MA200:498.73,RSI:40.66272606329812,MACDLine:.18466659983721456,SignalLine:.14083298910515726,MACDHistogram:.0438336107320573},{date:"2024-10-30 14:52:00",open:498.33,low:498.23,high:498.37,close:498.29,volume:33930,MA20:498.26,MA50:498.12,MA200:498.72,RSI:43.9940037593507,MACDLine:.2000113232427907,SignalLine:.14660308943059436,MACDHistogram:.05340823381219634},{date:"2024-10-30 14:53:00",open:498.3,low:498.22,high:498.35,close:498.3,volume:54737,MA20:498.27,MA50:498.14,MA200:498.72,RSI:47.61631212899984,MACDLine:.19879660550606104,SignalLine:.14824249805179854,MACDHistogram:.050554107454262504},{date:"2024-10-30 14:54:00",open:498.32,low:498.15,high:498.32,close:498.18,volume:20736,MA20:498.28,MA50:498.15,MA200:498.71,RSI:47.16749862878422,MACDLine:.16308186969649796,SignalLine:.15172392742177127,MACDHistogram:.011357942274726696},{date:"2024-10-30 14:55:00",open:498.17,low:498.11,high:498.32,close:498.18,volume:47063,MA20:498.27,MA50:498.15,MA200:498.71,RSI:42.60092970760198,MACDLine:.14988841606759706,SignalLine:.1500284703410465,MACDHistogram:-.00014005427344943033},{date:"2024-10-30 14:56:00",open:498.17,low:498.05,high:498.21,close:498.08,volume:56993,MA20:498.26,MA50:498.16,MA200:498.7,RSI:33.5317664747227,MACDLine:.13668675829296717,SignalLine:.14525796056954035,MACDHistogram:-.008571202276573181},{date:"2024-10-30 14:57:00",open:498.07,low:498.04,high:498.18,close:498.14,volume:21375,MA20:498.25,MA50:498.15,MA200:498.69,RSI:39.69883918661309,MACDLine:.09726665315821492,SignalLine:.13983498107808126,MACDHistogram:-.04256832791986634},{date:"2024-10-30 14:58:00",open:498.14,low:498.03,high:498.17,close:498.04,volume:37236,MA20:498.24,MA50:498.15,MA200:498.69,RSI:37.320060677612084,MACDLine:.06611929492208901,SignalLine:.13568005758385457,MACDHistogram:-.06956076266176556},{date:"2024-10-30 14:59:00",open:498.03,low:497.97,high:498.15,close:498.03,volume:56804,MA20:498.24,MA50:498.15,MA200:498.68,RSI:30.298772997523912,MACDLine:.03987493157461586,SignalLine:.1273497078722873,MACDHistogram:-.08747477629767145},{date:"2024-10-30 15:00:00",open:498.03,low:497.75,high:498.04,close:497.81,volume:93645,MA20:498.22,MA50:498.14,MA200:498.67,RSI:31.802402236403864,MACDLine:.013870308806360754,SignalLine:.1130204848810555,MACDHistogram:-.09915017607469474},{date:"2024-10-30 15:01:00",open:497.8,low:497.69,high:497.9,close:497.7,volume:34102,MA20:498.2,MA50:498.13,MA200:498.66,RSI:31.16801958414682,MACDLine:-.010140977836840648,SignalLine:.0912727752906217,MACDHistogram:-.10141375312746234},{date:"2024-10-30 15:02:00",open:497.71,low:497.38,high:497.71,close:497.46,volume:73284,MA20:498.15,MA50:498.11,MA200:498.65,RSI:32.28343666203335,MACDLine:-.039331514929244804,SignalLine:.06439181773676186,MACDHistogram:-.10372333266600667},{date:"2024-10-30 15:03:00",open:497.44,low:497.13,high:497.49,close:497.32,volume:92388,MA20:498.11,MA50:498.1,MA200:498.64,RSI:29.95579784618411,MACDLine:-.06976261478274637,SignalLine:.03971930474682783,MACDHistogram:-.1094819195295742},{date:"2024-10-30 15:04:00",open:497.29,low:497.29,high:497.56,close:497.42,volume:48397,MA20:498.06,MA50:498.08,MA200:498.63,RSI:28.237919997057148,MACDLine:-.10904358056257024,SignalLine:.012177026916635521,MACDHistogram:-.12122060747920577},{date:"2024-10-30 15:05:00",open:497.43,low:497.14,high:497.52,close:497.23,volume:99209,MA20:498.01,MA50:498.06,MA200:498.62,RSI:29.122217883598594,MACDLine:-.16544883389514098,SignalLine:-.018950405927447393,MACDHistogram:-.14649842796769358},{date:"2024-10-30 15:06:00",open:497.19,low:496.86,high:497.35,close:497.32,volume:142403,MA20:497.96,MA50:498.05,MA200:498.61,RSI:29.77151488520029,MACDLine:-.20979955601939082,SignalLine:-.048004670698862974,MACDHistogram:-.16179488532052785},{date:"2024-10-30 15:07:00",open:497.31,low:497.13,high:497.56,close:497.52,volume:105514,MA20:497.92,MA50:498.04,MA200:498.6,RSI:29.283499206338263,MACDLine:-.25462830235221645,SignalLine:-.07653566210410097,MACDHistogram:-.1780926402481155},{date:"2024-10-30 15:08:00",open:497.53,low:497.5,high:497.73,close:497.57,volume:60552,MA20:497.88,MA50:498.04,MA200:498.59,RSI:31.74126974008297,MACDLine:-.2770878541828097,SignalLine:-.10563831052378017,MACDHistogram:-.1714495436590295},{date:"2024-10-30 15:09:00",open:497.56,low:497.46,high:497.66,close:497.62,volume:38159,MA20:497.84,MA50:498.03,MA200:498.58,RSI:31.74126974008297,MACDLine:-.331687677003913,SignalLine:-.1355154653563154,MACDHistogram:-.1961722116475976},{date:"2024-10-30 15:10:00",open:497.61,low:497.59,high:497.77,close:497.74,volume:69873,MA20:497.81,MA50:498.03,MA200:498.56,RSI:33.7783402181127,MACDLine:-.3763341755573606,SignalLine:-.1668590872361841,MACDHistogram:-.2094750883211765},{date:"2024-10-30 15:11:00",open:497.75,low:497.5,high:497.78,close:497.65,volume:70255,MA20:497.78,MA50:498.01,MA200:498.55,RSI:31.322718756647177,MACDLine:-.42042720933932287,SignalLine:-.1987409803129189,MACDHistogram:-.22168622902640397},{date:"2024-10-30 15:12:00",open:497.64,low:497.64,high:497.87,close:497.84,volume:249528,MA20:497.76,MA50:498.01,MA200:498.54,RSI:33.229725266311945,MACDLine:-.43953610395789156,SignalLine:-.23098557169546202,MACDHistogram:-.20855053226242953},{date:"2024-10-30 15:13:00",open:497.85,low:497.78,high:497.87,close:497.83,volume:18477,MA20:497.73,MA50:498,MA200:498.53,RSI:33.41865355433863,MACDLine:-.4441509315770418,SignalLine:-.261471069478685,MACDHistogram:-.1826798620983568},{date:"2024-10-30 15:14:00",open:497.85,low:497.82,high:497.93,close:497.85,volume:25375,MA20:497.72,MA50:497.99,MA200:498.53,RSI:37.81019691480338,MACDLine:-.4123080252789464,SignalLine:-.285476628374571,MACDHistogram:-.1268313969043754},{date:"2024-10-30 15:15:00",open:497.87,low:497.74,high:497.89,close:497.85,volume:34231,MA20:497.7,MA50:497.99,MA200:498.52,RSI:40.266954659180925,MACDLine:-.34908587178171047,SignalLine:-.30439589646336607,MACDHistogram:-.0446899753183444},{date:"2024-10-30 15:16:00",open:497.83,low:497.56,high:497.83,close:497.59,volume:61229,MA20:497.68,MA50:497.98,MA200:498.5,RSI:46.37125862930222,MACDLine:-.2937865286374972,SignalLine:-.3168377949911535,MACDHistogram:.023051266353656286},{date:"2024-10-30 15:17:00",open:497.59,low:497.41,high:497.59,close:497.43,volume:46665,MA20:497.64,MA50:497.97,MA200:498.49,RSI:50.519650910043616,MACDLine:-.20125847206230674,SignalLine:-.3267752801932395,MACDHistogram:.12551680813093274},{date:"2024-10-30 15:18:00",open:497.43,low:497.26,high:497.45,close:497.34,volume:84922,MA20:497.61,MA50:497.96,MA200:498.48,RSI:47.3984879615596,MACDLine:-.11484981116723247,SignalLine:-.3255471809905711,MACDHistogram:.21069736982333864},{date:"2024-10-30 15:19:00",open:497.33,low:497.28,high:497.49,close:497.47,volume:39958,MA20:497.58,MA50:497.95,MA200:498.47,RSI:53.333978036067045,MACDLine:-.05256312309876421,SignalLine:-.3128504323488737,MACDHistogram:.2602873092501095},{date:"2024-10-30 15:20:00",open:497.48,low:497.48,high:497.64,close:497.59,volume:52007,MA20:497.57,MA50:497.94,MA200:498.46,RSI:50.61376949673234,MACDLine:-.0023344685372421736,SignalLine:-.2859562381012614,MACDHistogram:.28362176956401924},{date:"2024-10-30 15:21:00",open:497.59,low:497.43,high:497.59,close:497.53,volume:56310,MA20:497.56,MA50:497.94,MA200:498.45,RSI:43.86123033134923,MACDLine:.04384587919093974,SignalLine:-.24756127163710387,MACDHistogram:.2914071508280436},{date:"2024-10-30 15:22:00",open:497.51,low:497.29,high:497.55,close:497.32,volume:42675,MA20:497.55,MA50:497.92,MA200:498.44,RSI:42.02093394488696,MACDLine:.06418740113940657,SignalLine:-.19841385665211939,MACDHistogram:.262601257791526},{date:"2024-10-30 15:23:00",open:497.32,low:497.22,high:497.37,close:497.28,volume:70940,MA20:497.55,MA50:497.91,MA200:498.43,RSI:40.200660702173124,MACDLine:.1054351269552285,SignalLine:-.14494031449541264,MACDHistogram:.25037544145064117},{date:"2024-10-30 15:24:00",open:497.27,low:497.27,high:497.43,close:497.33,volume:36590,MA20:497.54,MA50:497.89,MA200:498.42,RSI:35.701931463222735,MACDLine:.10687589514992624,SignalLine:-.09390392517383818,MACDHistogram:.2007798203237644},{date:"2024-10-30 15:25:00",open:497.32,low:497.12,high:497.34,close:497.14,volume:65749,MA20:497.54,MA50:497.87,MA200:498.4,RSI:37.67586862709181,MACDLine:.10526937171624695,SignalLine:-.04393327430792342,MACDHistogram:.14920264602417038},{date:"2024-10-30 15:26:00",open:497.13,low:497.11,high:497.38,close:497.32,volume:32690,MA20:497.54,MA50:497.85,MA200:498.39,RSI:30.09975033901165,MACDLine:.07754221821772944,SignalLine:-.004601974869327577,MACDHistogram:.08214419308705702},{date:"2024-10-30 15:27:00",open:497.31,low:497.28,high:497.46,close:497.38,volume:55067,MA20:497.53,MA50:497.83,MA200:498.38,RSI:30.279638638378245,MACDLine:.032806219123756364,SignalLine:.02295998420514865,MACDHistogram:.009846234918607713},{date:"2024-10-30 15:28:00",open:497.35,low:497.3,high:497.51,close:497.33,volume:45747,MA20:497.52,MA50:497.81,MA200:498.37,RSI:29.49712455062928,MACDLine:.00548418072929735,SignalLine:.04184076103112687,MACDHistogram:-.03635658030182952},{date:"2024-10-30 15:29:00",open:497.3,low:497.23,high:497.38,close:497.24,volume:57203,MA20:497.5,MA50:497.8,MA200:498.36,RSI:29.49712455062928,MACDLine:-.009686627268479242,SignalLine:.052884568423219126,MACDHistogram:-.06257119569169836},{date:"2024-10-30 15:30:00",open:497.24,low:497.16,high:497.37,close:497.17,volume:66022,MA20:497.47,MA50:497.78,MA200:498.34,RSI:33.74213853534805,MACDLine:-.0029455621707370483,SignalLine:.05514424073128897,MACDHistogram:-.05808980290202602},{date:"2024-10-30 15:31:00",open:497.19,low:497.19,high:497.37,close:497.32,volume:29698,MA20:497.46,MA50:497.76,MA200:498.33,RSI:36.765589492591374,MACDLine:-.034298667269013094,SignalLine:.052883450629259574,MACDHistogram:-.08718211789827267},{date:"2024-10-30 15:32:00",open:497.33,low:497.21,high:497.36,close:497.27,volume:147139,MA20:497.43,MA50:497.74,MA200:498.32,RSI:38.57079547190143,MACDLine:-.08494501352504358,SignalLine:.039745531547767346,MACDHistogram:-.12469054507281092},{date:"2024-10-30 15:33:00",open:497.28,low:497.02,high:497.32,close:497.05,volume:61320,MA20:497.39,MA50:497.71,MA200:498.31,RSI:34.24004782838945,MACDLine:-.11751624073150424,SignalLine:.022962940647227623,MACDHistogram:-.14047918137873186},{date:"2024-10-30 15:34:00",open:497.05,low:497.01,high:497.19,close:497.05,volume:34886,MA20:497.35,MA50:497.69,MA200:498.3,RSI:30.010705774763025,MACDLine:-.11505237086436182,SignalLine:.0023863328799727905,MACDHistogram:-.11743870374433461},{date:"2024-10-30 15:35:00",open:497.03,low:496.84,high:497.06,close:496.91,volume:2194702,MA20:497.3,MA50:497.66,MA200:498.29,RSI:30.93442216801934,MACDLine:-.10259772429407121,SignalLine:-.016402638454466375,MACDHistogram:-.08619508583960483},{date:"2024-10-30 15:36:00",open:496.9,low:496.61,high:496.92,close:496.82,volume:130076,MA20:497.26,MA50:497.63,MA200:498.28,RSI:34.37286260143499,MACDLine:-.08964509940915377,SignalLine:-.02870485284902206,MACDHistogram:-.06094024656013171},{date:"2024-10-30 15:37:00",open:496.81,low:496.69,high:496.96,close:496.93,volume:82599,MA20:497.24,MA50:497.6,MA200:498.27,RSI:35.06217220412343,MACDLine:-.05042709311010185,SignalLine:-.037252111243601914,MACDHistogram:-.013174981866499937},{date:"2024-10-30 15:38:00",open:496.93,low:496.86,high:497.28,close:497.22,volume:72779,MA20:497.23,MA50:497.58,MA200:498.26,RSI:33.51460247571407,MACDLine:-.024582625534094404,SignalLine:-.044143482237382584,MACDHistogram:.01956085670328818},{date:"2024-10-30 15:39:00",open:497.21,low:497.15,high:497.28,close:497.25,volume:48798,MA20:497.22,MA50:497.56,MA200:498.25,RSI:36.59164359080047,MACDLine:-.010510848729268218,SignalLine:-.05444296225404397,MACDHistogram:.04393211352477575},{date:"2024-10-30 15:40:00",open:497.22,low:497.22,high:497.39,close:497.38,volume:79781,MA20:497.21,MA50:497.54,MA200:498.24,RSI:31.020372483642845,MACDLine:.011748195101233705,SignalLine:-.05947903600030169,MACDHistogram:.0712272311015354},{date:"2024-10-30 15:41:00",open:497.39,low:497.3,high:497.56,close:497.49,volume:41388,MA20:497.21,MA50:497.52,MA200:498.23,RSI:29.091971844594795,MACDLine:.04878794638898398,SignalLine:-.053112541619116216,MACDHistogram:.1019004880081002},{date:"2024-10-30 15:42:00",open:497.51,low:497.29,high:497.51,close:497.29,volume:167159,MA20:497.21,MA50:497.5,MA200:498.22,RSI:29.735224691490274,MACDLine:.07840904063050402,SignalLine:-.0370116168410192,MACDHistogram:.11542065747152322},{date:"2024-10-30 15:43:00",open:497.28,low:497.19,high:497.33,close:497.28,volume:40480,MA20:497.21,MA50:497.48,MA200:498.21,RSI:30.876319982495758,MACDLine:.06889401487148916,SignalLine:-.017501428335183547,MACDHistogram:.08639544320667271},{date:"2024-10-30 15:44:00",open:497.28,low:496.98,high:497.29,close:497.03,volume:61635,MA20:497.19,MA50:497.46,MA200:498.2,RSI:31.756463861063793,MACDLine:.05603819632278828,SignalLine:.003772645654538373,MACDHistogram:.05226555066824991},{date:"2024-10-30 15:45:00",open:497.02,low:497.02,high:497.3,close:497.15,volume:43769,MA20:497.19,MA50:497.44,MA200:498.19,RSI:27.652933994607295,MACDLine:.08819621415591428,SignalLine:.027127081920461413,MACDHistogram:.061069132235452864},{date:"2024-10-30 15:46:00",open:497.13,low:497.07,high:497.21,close:497.16,volume:42984,MA20:497.19,MA50:497.42,MA200:498.18,RSI:28.17736765264145,MACDLine:.13144959380241517,SignalLine:.04651562567810223,MACDHistogram:.08493396812431293},{date:"2024-10-30 15:47:00",open:497.15,low:496.95,high:497.15,close:497.11,volume:69571,MA20:497.17,MA50:497.4,MA200:498.17,RSI:30.54407353112859,MACDLine:.1975446406413539,SignalLine:.0642901884811514,MACDHistogram:.1332544521602025},{date:"2024-10-30 15:48:00",open:497.11,low:497,high:497.14,close:497,volume:53579,MA20:497.16,MA50:497.38,MA200:498.16,RSI:30.54407353112859,MACDLine:.2695780329246418,SignalLine:.08299044778375629,MACDHistogram:.18658758514088547},{date:"2024-10-30 15:49:00",open:497.02,low:496.99,high:497.26,close:497.14,volume:77301,MA20:497.15,MA50:497.36,MA200:498.15,RSI:32.0197736652285,MACDLine:.32712497314190614,SignalLine:.10080101095438694,MACDHistogram:.2263239621875192},{date:"2024-10-30 15:50:00",open:497.15,low:496.95,high:497.17,close:497.13,volume:109366,MA20:497.15,MA50:497.35,MA200:498.14,RSI:32.970659966730324,MACDLine:.3419994317735018,SignalLine:.11380427709573768,MACDHistogram:.2281951546777641},{date:"2024-10-30 15:51:00",open:497.12,low:496.75,high:497.16,close:497.1,volume:142745,MA20:497.14,MA50:497.34,MA200:498.13,RSI:30.632735956431688,MACDLine:.3337555672375174,SignalLine:.1226530862120461,MACDHistogram:.21110248102547133},{date:"2024-10-30 15:52:00",open:497.13,low:497.05,high:497.28,close:497.08,volume:101602,MA20:497.13,MA50:497.33,MA200:498.12,RSI:24.15679705578738,MACDLine:.31074240825171273,SignalLine:.13609285404718532,MACDHistogram:.1746495542045274},{date:"2024-10-30 15:53:00",open:497.07,low:496.89,high:497.07,close:496.97,volume:92702,MA20:497.12,MA50:497.32,MA200:498.11,RSI:23.470494433974423,MACDLine:.26252208666255683,SignalLine:.15610651847828458,MACDHistogram:.10641556818427225},{date:"2024-10-30 15:54:00",open:496.95,low:496.43,high:497.09,close:496.49,volume:275788,MA20:497.1,MA50:497.3,MA200:498.1,RSI:20.57865867140542,MACDLine:.23112055493726302,SignalLine:.17308409455887716,MACDHistogram:.05803646037838586},{date:"2024-10-30 15:55:00",open:496.49,low:495.89,high:496.61,close:496.02,volume:336233,MA20:497.05,MA50:497.28,MA200:498.08,RSI:18.1484920525957,MACDLine:.1817153918269696,SignalLine:.18349271974799267,MACDHistogram:-.0017773279210230586},{date:"2024-10-30 15:56:00",open:496.02,low:495.94,high:496.51,close:496.25,volume:221143,MA20:497.02,MA50:497.26,MA200:498.07,RSI:19.137108376091234,MACDLine:.15644966884872247,SignalLine:.17997973952465235,MACDHistogram:-.02353007067592988},{date:"2024-10-30 15:57:00",open:496.24,low:495.95,high:496.29,close:496.08,volume:214534,MA20:496.98,MA50:497.23,MA200:498.05,RSI:19.18563148859539,MACDLine:.11007124179144512,SignalLine:.15758016617465498,MACDHistogram:-.04750892438320986},{date:"2024-10-30 15:58:00",open:496.08,low:496.02,high:496.25,close:496.16,volume:341723,MA20:496.93,MA50:497.2,MA200:498.04,RSI:20.385545125514085,MACDLine:.04098355864869063,SignalLine:.11519396443284219,MACDHistogram:-.07421040578415156},{date:"2024-10-30 15:59:00",open:496.16,low:496.04,high:496.51,close:496.4,volume:696522,MA20:496.89,MA50:497.18,MA200:498.02,RSI:18.102572495204427,MACDLine:-.057902663233903695,SignalLine:.058492597597677276,MACDHistogram:-.11639526083158097},{date:"2024-10-31 09:30:00",open:492.38,low:491.5,high:492.43,close:491.58,volume:471512,MA20:496.6,MA50:497.05,MA200:497.98,RSI:17.920444021491292,MACDLine:-.1624024931533654,SignalLine:-.010323144812282775,MACDHistogram:-.15207934834108264},{date:"2024-10-31 09:31:00",open:491.58,low:490.67,high:491.78,close:490.7899,volume:290197,MA20:496.26,MA50:496.91,MA200:497.94,RSI:18.10740419605162,MACDLine:-.3308018761683229,SignalLine:-.09058953307828166,MACDHistogram:-.24021234309004125},{date:"2024-10-31 09:32:00",open:490.75,low:490.19,high:490.89,close:490.39,volume:252972,MA20:495.92,MA50:496.77,MA200:497.9,RSI:18.501725804469373,MACDLine:-.5429654250177691,SignalLine:-.17886743801349128,MACDHistogram:-.36409798700427787},{date:"2024-10-31 09:33:00",open:490.38,low:489.65,high:490.38,close:489.8,volume:258296,MA20:495.54,MA50:496.6,MA200:497.85,RSI:16.348860244235567,MACDLine:-.7871019484580302,SignalLine:-.28136443625117985,MACDHistogram:-.5057375122068504},{date:"2024-10-31 09:34:00",open:489.77,low:489.7402,high:490.54,close:490.4,volume:234108,MA20:495.21,MA50:496.46,MA200:497.81,RSI:16.377555153095074,MACDLine:-1.0579510827623722,SignalLine:-.3971343932707172,MACDHistogram:-.660816689491655},{date:"2024-10-31 09:35:00",open:490.38,low:490.1,high:490.85,close:490.49,volume:253402,MA20:494.88,MA50:496.31,MA200:497.76,RSI:16.45802471740599,MACDLine:-1.3679010529797893,SignalLine:-.5355304088005771,MACDHistogram:-.8323706441792121},{date:"2024-10-31 09:36:00",open:490.49,low:490.05,high:490.585,close:490.45,volume:276310,MA20:494.54,MA50:496.17,MA200:497.72,RSI:16.50823669472838,MACDLine:-1.6500131814684664,SignalLine:-.6969308214485826,MACDHistogram:-.9530823600198838},{date:"2024-10-31 09:37:00",open:490.4267,low:490.4,high:490.89,close:490.87,volume:159536,MA20:494.23,MA50:496.03,MA200:497.68,RSI:16.769530139411003,MACDLine:-1.904781561009031,SignalLine:-.8814094164729009,MACDHistogram:-1.0233721445361301},{date:"2024-10-31 09:38:00",open:490.83,low:490.12,high:490.9491,close:490.12,volume:158145,MA20:493.89,MA50:495.89,MA200:497.63,RSI:17.91873949160683,MACDLine:-2.281452742735212,SignalLine:-1.0872861047826503,MACDHistogram:-1.1941666379525615},{date:"2024-10-31 09:39:00",open:490.16,low:489.8,high:490.29,close:490.07,volume:106600,MA20:493.53,MA50:495.74,MA200:497.58,RSI:19.10942718067342,MACDLine:-2.7140555566077182,SignalLine:-1.3185070076899714,MACDHistogram:-1.3955485489177468},{date:"2024-10-31 09:40:00",open:490.08,low:489.99,high:490.4,close:490.39,volume:95582,MA20:493.19,MA50:495.6,MA200:497.54,RSI:16.590885078927542,MACDLine:-3.27873688549073,SignalLine:-1.5654332905703836,MACDHistogram:-1.7133035949203463},{date:"2024-10-31 09:41:00",open:490.32,low:490.2,high:490.71,close:490.46,volume:73873,MA20:492.86,MA50:495.46,MA200:497.49,RSI:16.953160082407052,MACDLine:-3.9984757905669426,SignalLine:-1.8210502569585372,MACDHistogram:-2.1774255336084054},{date:"2024-10-31 09:42:00",open:490.46,low:489.94,high:490.47,close:490.08,volume:103897,MA20:492.51,MA50:495.31,MA200:497.45,RSI:16.153119335276756,MACDLine:-3.992710163365132,SignalLine:-2.079537334083664,MACDHistogram:-1.9131728292814678},{date:"2024-10-31 09:43:00",open:490.07,low:490.01,high:490.35,close:490.01,volume:79625,MA20:492.16,MA50:495.17,MA200:497.4,RSI:13.840912627263833,MACDLine:-3.8687844331786323,SignalLine:-2.334933896913987,MACDHistogram:-1.5338505362646453},{date:"2024-10-31 09:44:00",open:490.06,low:489.86,high:490.36,close:489.89,volume:96491,MA20:491.83,MA50:495.02,MA200:497.35,RSI:28.495051707782608,MACDLine:-3.6823565458033727,SignalLine:-2.5766921078975367,MACDHistogram:-1.105664437905836},{date:"2024-10-31 09:45:00",open:489.87,low:488.99,high:489.87,close:489.3999,volume:281061,MA20:491.5,MA50:494.86,MA200:497.3,RSI:33.96942063563962,MACDLine:-3.3685179470691082,SignalLine:-2.8083618395048044,MACDHistogram:-.5601561075643038},{date:"2024-10-31 09:46:00",open:489.34,low:489.05,high:489.37,close:489.14,volume:109908,MA20:491.15,MA50:494.7,MA200:497.25,RSI:37.341015606165065,MACDLine:-3.1356036927272726,SignalLine:-3.034256909128748,MACDHistogram:-.10134678359852467},{date:"2024-10-31 09:47:00",open:489.14,low:488.84,high:489.27,close:488.86,volume:102498,MA20:490.79,MA50:494.53,MA200:497.2,RSI:43.217581985973325,MACDLine:-2.9093661725640345,SignalLine:-3.222457950727132,MACDHistogram:.3130917781630975},{date:"2024-10-31 09:48:00",open:488.85,low:488.45,high:488.93,close:488.46,volume:170332,MA20:490.4,MA50:494.35,MA200:497.15,RSI:33.306110888562245,MACDLine:-2.6687595025001656,SignalLine:-3.3495585492569857,MACDHistogram:.6807990467568201},{date:"2024-10-31 09:49:00",open:488.43,low:487.825,high:488.43,close:487.9,volume:216972,MA20:489.98,MA50:494.16,MA200:497.09,RSI:31.64420608229659,MACDLine:-2.5044395781278013,SignalLine:-3.3672639651985494,MACDHistogram:.8628243870707482},{date:"2024-10-31 09:50:00",open:487.86,low:487.41,high:488.0579,close:487.47,volume:186233,MA20:489.77,MA50:493.97,MA200:497.04,RSI:31.973009571012057,MACDLine:-2.2490430262470227,SignalLine:-3.2094610088564512,MACDHistogram:.9604179826094286},{date:"2024-10-31 09:51:00",open:487.44,low:487.4,high:488.035,close:487.78,volume:242118,MA20:489.62,MA50:493.78,MA200:496.98,RSI:24.30438355622779,MACDLine:-2.011514437828339,SignalLine:-3.013648720229281,MACDHistogram:1.002134282400942},{date:"2024-10-31 09:52:00",open:487.78,low:487.35,high:487.78,close:487.59,volume:151338,MA20:489.48,MA50:493.59,MA200:496.92,RSI:29.89187304883575,MACDLine:-1.8054104658782535,SignalLine:-2.799864791991943,MACDHistogram:.9944543261136896},{date:"2024-10-31 09:53:00",open:487.55,low:487.4,high:487.74,close:487.44,volume:100148,MA20:489.36,MA50:493.39,MA200:496.86,RSI:30.32342634574303,MACDLine:-1.6276499712673171,SignalLine:-2.5792418535390857,MACDHistogram:.9515918822717686},{date:"2024-10-31 09:54:00",open:487.41,low:487.28,high:487.92,close:487.84,volume:196502,MA20:489.24,MA50:493.21,MA200:496.81,RSI:23.784278352397763,MACDLine:-1.3833425767455196,SignalLine:-2.3819228301565802,MACDHistogram:.9985802534110606},{date:"2024-10-31 09:55:00",open:487.84,low:487.52,high:487.99,close:487.6598,volume:149869,MA20:489.09,MA50:493.03,MA200:496.75,RSI:22.30312053447979,MACDLine:-1.1079052466213852,SignalLine:-2.193502614513907,MACDHistogram:1.0855973678925217},{date:"2024-10-31 09:56:00",open:487.64,low:487.51,high:488.1199,close:488.09,volume:160485,MA20:488.98,MA50:492.85,MA200:496.69,RSI:24.725256064778975,MACDLine:-1.196959341675722,SignalLine:-2.014536725001375,MACDHistogram:.817577383325653},{date:"2024-10-31 09:57:00",open:488.07,low:487.92,high:488.41,close:488.01,volume:176067,MA20:488.83,MA50:492.67,MA200:496.64,RSI:25.193257181144446,MACDLine:-1.291895159847968,SignalLine:-1.8509810306266776,MACDHistogram:.5590858707787096},{date:"2024-10-31 09:58:00",open:487.95,low:487.41,high:487.98,close:487.415,volume:116044,MA20:488.7,MA50:492.48,MA200:496.58,RSI:25.97592157761619,MACDLine:-1.39923221999004,SignalLine:-1.6876163937513968,MACDHistogram:.28838417376135683},{date:"2024-10-31 09:59:00",open:487.4,low:487.21,high:487.82,close:487.61,volume:117003,MA20:488.57,MA50:492.28,MA200:496.53,RSI:29.445067657945984,MACDLine:-1.530353599007924,SignalLine:-1.5472597356274904,MACDHistogram:.016906136619566414},{date:"2024-10-31 10:00:00",open:487.6,low:487,high:487.6,close:487.31,volume:129884,MA20:488.42,MA50:492.08,MA200:496.47,RSI:31.517806069853037,MACDLine:-1.5683979249687923,SignalLine:-1.4311960600772784,MACDHistogram:-.13720186489151387},{date:"2024-10-31 10:01:00",open:487.31,low:486.8909,high:487.47,close:487.0128,volume:131866,MA20:488.25,MA50:491.87,MA200:496.41,RSI:33.90544384713235,MACDLine:-1.5133432584683533,SignalLine:-1.3376424586270346,MACDHistogram:-.1757007998413187},{date:"2024-10-31 10:02:00",open:487.01,low:486.9,high:487.3,close:487.22,volume:96493,MA20:488.11,MA50:491.67,MA200:496.35,RSI:37.69330409616155,MACDLine:-1.383752127648279,SignalLine:-1.265140580466964,MACDHistogram:-.11861154718131495},{date:"2024-10-31 10:03:00",open:487.18,low:487.06,high:487.32,close:487.14,volume:170149,MA20:487.96,MA50:491.47,MA200:496.29,RSI:44.097797189895594,MACDLine:-1.2643285079084876,SignalLine:-1.235590081397325,MACDHistogram:-.02873842651116254},{date:"2024-10-31 10:04:00",open:487.08,low:487,high:487.5299,close:487.35,volume:65605,MA20:487.83,MA50:491.27,MA200:496.24,RSI:50.17659160622778,MACDLine:-1.1639103095074006,SignalLine:-1.2675112900913101,MACDHistogram:.10360098058390954},{date:"2024-10-31 10:05:00",open:487.27,low:487.26,high:487.59,close:487.35,volume:84757,MA20:487.73,MA50:491.08,MA200:496.18,RSI:45.111459229746146,MACDLine:-1.032337840864443,SignalLine:-1.285149277195207,MACDHistogram:.2528114363307641},{date:"2024-10-31 10:06:00",open:487.34,low:487.29,high:487.6299,close:487.4645,volume:61471,MA20:487.65,MA50:490.88,MA200:496.12,RSI:47.88181262448067,MACDLine:-.9347695213839984,SignalLine:-1.2834628065320168,MACDHistogram:.34869328514801845},{date:"2024-10-31 10:07:00",open:487.5,low:487.485,high:487.99,close:487.72,volume:201808,MA20:487.59,MA50:490.7,MA200:496.07,RSI:50.1390507617802,MACDLine:-.7953674914815565,SignalLine:-1.254520453167511,MACDHistogram:.45915296168595443},{date:"2024-10-31 10:08:00",open:487.72,low:487.64,high:487.9,close:487.73,volume:91036,MA20:487.56,MA50:490.51,MA200:496.01,RSI:43.54945137660378,MACDLine:-.7552191916208812,SignalLine:-1.1855621667074077,MACDHistogram:.4303429750865264},{date:"2024-10-31 10:09:00",open:487.73,low:487.31,high:487.84,close:487.3492,volume:71840,MA20:487.53,MA50:490.32,MA200:495.95,RSI:46.097985973516636,MACDLine:-.7129903551932557,SignalLine:-1.0898532271420616,MACDHistogram:.37686287194880586},{date:"2024-10-31 10:10:00",open:487.3613,low:487.2193,high:487.54,close:487.32,volume:54498,MA20:487.52,MA50:490.12,MA200:495.9,RSI:38.06291869760052,MACDLine:-.5792293260774386,SignalLine:-.9839807193104886,MACDHistogram:.40475139323305},{date:"2024-10-31 10:11:00",open:487.31,low:486.63,high:487.345,close:486.656,volume:136661,MA20:487.46,MA50:489.91,MA200:495.83,RSI:39.06856885240304,MACDLine:-.5107390041720805,SignalLine:-.8840378672260409,MACDHistogram:.37329886305396043},{date:"2024-10-31 10:12:00",open:486.63,low:486.46,high:486.83,close:486.51,volume:114787,MA20:487.41,MA50:489.7,MA200:495.77,RSI:47.78843801267287,MACDLine:-.4081729714249036,SignalLine:-.7889652070554293,MACDHistogram:.38079223563052567},{date:"2024-10-31 10:13:00",open:486.5,low:486.48,high:486.83,close:486.62,volume:125133,MA20:487.37,MA50:489.49,MA200:495.71,RSI:43.9836521571836,MACDLine:-.2663061736795953,SignalLine:-.6952289314424365,MACDHistogram:.42892275776284117},{date:"2024-10-31 10:14:00",open:486.63,low:486.63,high:486.97,close:486.84,volume:52381,MA20:487.32,MA50:489.3,MA200:495.65,RSI:49.09457069888175,MACDLine:-.1779000983947867,SignalLine:-.6109517040869348,MACDHistogram:.43305160569214807},{date:"2024-10-31 10:15:00",open:486.8,low:486.79,high:487.38,close:487.08,volume:103056,MA20:487.29,MA50:489.12,MA200:495.59,RSI:54.97055550318333,MACDLine:-.11076506996374746,SignalLine:-.5299972497626688,MACDHistogram:.41923217979892136},{date:"2024-10-31 10:16:00",open:487.01,low:486.88,high:487.76,close:487.68,volume:161156,MA20:487.27,MA50:488.95,MA200:495.54,RSI:51.188521562642876,MACDLine:-.10710159629411464,SignalLine:-.46365468933294685,MACDHistogram:.3565530930388322},{date:"2024-10-31 10:17:00",open:487.73,low:487.654,high:488.29,close:488.21,volume:227485,MA20:487.28,MA50:488.79,MA200:495.49,RSI:52.77778368944572,MACDLine:-.07781328486424854,SignalLine:-.3907635637609632,MACDHistogram:.3129502788967147},{date:"2024-10-31 10:18:00",open:488.23,low:487.87,high:488.2458,close:488.16,volume:270261,MA20:487.32,MA50:488.63,MA200:495.43,RSI:48.911528833049765,MACDLine:-.08157164685934504,SignalLine:-.3102068659028901,MACDHistogram:.22863521904354506},{date:"2024-10-31 10:19:00",open:488.16,low:488.08,high:488.43,close:488.13,volume:85206,MA20:487.34,MA50:488.47,MA200:495.38,RSI:48.911528833049765,MACDLine:-.14546218676059652,SignalLine:-.24295125085925295,MACDHistogram:.09748906409865643},{date:"2024-10-31 10:20:00",open:488.1,low:487.81,high:488.19,close:488.04,volume:68167,MA20:487.38,MA50:488.4,MA200:495.33,RSI:46.86635343388915,MACDLine:-.19063938951802584,SignalLine:-.17600431253104606,MACDHistogram:-.014635076986979773},{date:"2024-10-31 10:21:00",open:488.12,low:488.02,high:488.25,close:488.05,volume:358220,MA20:487.43,MA50:488.34,MA200:495.28,RSI:42.060347844670595,MACDLine:-.19230862809911287,SignalLine:-.11796214780758166,MACDHistogram:-.07434648029153121},{date:"2024-10-31 10:22:00",open:488.03,low:487.96,high:488.375,close:488.32,volume:151893,MA20:487.49,MA50:488.3,MA200:495.23,RSI:41.8692547684736,MACDLine:-.15643469438839475,SignalLine:-.08087614133957824,MACDHistogram:-.0755585530488165},{date:"2024-10-31 10:23:00",open:488.31,low:488.13,high:488.39,close:488.23,volume:48274,MA20:487.54,MA50:488.27,MA200:495.18,RSI:47.39677176993991,MACDLine:-.005243823442867779,SignalLine:-.05662015207577613,MACDHistogram:.05137632863290835},{date:"2024-10-31 10:24:00",open:488.215,low:487.9,high:488.24,close:488.22,volume:137291,MA20:487.58,MA50:488.22,MA200:495.13,RSI:47.84653774878729,MACDLine:.14705788926858077,SignalLine:-.04308392260378329,MACDHistogram:.19014181187236406},{date:"2024-10-31 10:25:00",open:488.2,low:487.62,high:488.2,close:487.65,volume:54943,MA20:487.6,MA50:488.17,MA200:495.08,RSI:59.836042545652155,MACDLine:.3217475969218526,SignalLine:-.02707950418120045,MACDHistogram:.3488271011030531},{date:"2024-10-31 10:26:00",open:487.64,low:487.29,high:487.73,close:487.49,volume:87068,MA20:487.6,MA50:488.11,MA200:495.03,RSI:63.06246917219785,MACDLine:.461635222371342,SignalLine:-.014396059010438427,MACDHistogram:.47603128138178047},{date:"2024-10-31 10:27:00",open:487.47,low:487.18,high:487.47,close:487.1858,volume:41934,MA20:487.57,MA50:488.03,MA200:494.97,RSI:61.61442390080712,MACDLine:.5592192792560127,SignalLine:.0023978379517882245,MACDHistogram:.5568214413042244},{date:"2024-10-31 10:28:00",open:487.21,low:486.95,high:487.38,close:487.09,volume:111391,MA20:487.54,MA50:487.97,MA200:494.92,RSI:58.60033230128015,MACDLine:.5841004677996011,SignalLine:.03936284412988442,MACDHistogram:.5447376236697167},{date:"2024-10-31 10:29:00",open:487.075,low:486.835,high:487.1701,close:486.97,volume:96509,MA20:487.52,MA50:487.91,MA200:494.87,RSI:55.02279003996033,MACDLine:.5112891780090649,SignalLine:.09686340254186199,MACDHistogram:.41442577546720294},{date:"2024-10-31 10:30:00",open:486.95,low:486.5626,high:487,close:486.6199,volume:84524,MA20:487.49,MA50:487.84,MA200:494.82,RSI:43.73588943047476,MACDLine:.45237310735990377,SignalLine:.1691564102021057,MACDHistogram:.28321669715779807},{date:"2024-10-31 10:31:00",open:486.55,low:486.55,high:487.14,close:487.015,volume:58240,MA20:487.51,MA50:487.77,MA200:494.77,RSI:29.152999708924582,MACDLine:.3878311683515676,SignalLine:.2505541863497308,MACDHistogram:.1372769820018368},{date:"2024-10-31 10:32:00",open:487.07,low:487,high:487.36,close:487.12,volume:111932,MA20:487.54,MA50:487.71,MA200:494.71,RSI:29.830296718885833,MACDLine:.3366800946594708,SignalLine:.31450368879788043,MACDHistogram:.022176405861590365},{date:"2024-10-31 10:33:00",open:487.0801,low:486.74,high:487.12,close:486.8712,volume:47150,MA20:487.55,MA50:487.65,MA200:494.66,RSI:30.22147810253901,MACDLine:.29348828649744974,SignalLine:.35636513868020536,MACDHistogram:-.06287685218275563},{date:"2024-10-31 10:34:00",open:486.87,low:486.71,high:487.04,close:486.72,volume:39440,MA20:487.54,MA50:487.58,MA200:494.6,RSI:31.367347091625334,MACDLine:.19060000354880913,SignalLine:.36501952411979355,MACDHistogram:-.17441952057098442},{date:"2024-10-31 10:35:00",open:486.71,low:486.6101,high:486.86,close:486.66,volume:47594,MA20:487.52,MA50:487.53,MA200:494.55,RSI:31.09780591273031,MACDLine:.05098623144277781,SignalLine:.34086559955690643,MACDHistogram:-.2898793681141286},{date:"2024-10-31 10:36:00",open:486.64,low:486.58,high:486.91,close:486.82,volume:87644,MA20:487.48,MA50:487.48,MA200:494.49,RSI:23.57252090206127,MACDLine:-.11565951013898257,SignalLine:.28627717963212984,MACDHistogram:-.4019366897711124},{date:"2024-10-31 10:37:00",open:486.83,low:486.6201,high:486.93,close:486.64,volume:52001,MA20:487.4,MA50:487.44,MA200:494.44,RSI:24.397276577604927,MACDLine:-.2630704819741254,SignalLine:.21182135759026205,MACDHistogram:-.47489183956438746},{date:"2024-10-31 10:38:00",open:486.61,low:486.55,high:486.74,close:486.62,volume:48149,MA20:487.32,MA50:487.4,MA200:494.38,RSI:24.485666758989453,MACDLine:-.4155249153786258,SignalLine:.13695440248556132,MACDHistogram:-.5524793178641871},{date:"2024-10-31 10:39:00",open:486.615,low:486.43,high:486.77,close:486.76,volume:100658,MA20:487.25,MA50:487.38,MA200:494.33,RSI:30.29495887379916,MACDLine:-.5257045752456975,SignalLine:.058099726266975696,MACDHistogram:-.5838043015126732},{date:"2024-10-31 10:40:00",open:486.77,low:486.72,high:487.06,close:486.96,volume:76658,MA20:487.2,MA50:487.37,MA200:494.27,RSI:32.29190030308378,MACDLine:-.6154392745634141,SignalLine:-.024333134254172287,MACDHistogram:-.5911061403092418},{date:"2024-10-31 10:41:00",open:486.9,low:486.6701,high:486.92,close:486.79,volume:55780,MA20:487.14,MA50:487.35,MA200:494.21,RSI:36.544688655027926,MACDLine:-.6763669922443682,SignalLine:-.11458644148258307,MACDHistogram:-.5617805507617852},{date:"2024-10-31 10:42:00",open:486.75,low:486.6,high:486.87,close:486.6,volume:37308,MA20:487.05,MA50:487.33,MA200:494.16,RSI:38.0084909016803,MACDLine:-.6342403047426615,SignalLine:-.21660512347759125,MACDHistogram:-.4176351812650702},{date:"2024-10-31 10:43:00",open:486.57,low:486.51,high:486.75,close:486.68,volume:440941,MA20:486.97,MA50:487.31,MA200:494.1,RSI:39.865824644872916,MACDLine:-.6161020191715352,SignalLine:-.31840640523419134,MACDHistogram:-.29769561393734384},{date:"2024-10-31 10:44:00",open:486.69,low:486.33,high:486.7,close:486.56,volume:74623,MA20:486.89,MA50:487.29,MA200:494.05,RSI:45.948697011487546,MACDLine:-.6244622144000687,SignalLine:-.4107545644034336,MACDHistogram:-.21370764999663505},{date:"2024-10-31 10:45:00",open:486.53,low:486.515,high:486.8001,close:486.69,volume:85859,MA20:486.84,MA50:487.27,MA200:493.99,RSI:35.66115990838868,MACDLine:-.5983406859186289,SignalLine:-.48452832796954637,MACDHistogram:-.11381235794908251},{date:"2024-10-31 10:46:00",open:486.69,low:486.22,high:486.76,close:486.2494,volume:132617,MA20:486.78,MA50:487.23,MA200:493.93,RSI:32.49036162453848,MACDLine:-.5543158886798665,SignalLine:-.5398927894684016,MACDHistogram:-.014423099211464896},{date:"2024-10-31 10:47:00",open:486.22,low:485.82,high:486.35,close:485.8299,volume:125695,MA20:486.71,MA50:487.19,MA200:493.88,RSI:36.44196724382723,MACDLine:-.49755237091432036,SignalLine:-.5709847579908455,MACDHistogram:.07343238707652511},{date:"2024-10-31 10:48:00",open:485.8233,low:485.78,high:486.1,close:485.82,volume:85825,MA20:486.65,MA50:487.15,MA200:493.82,RSI:39.12741652543651,MACDLine:-.44557344648029584,SignalLine:-.5823048036771324,MACDHistogram:.1367313571968366},{date:"2024-10-31 10:49:00",open:485.83,low:485.56,high:485.9,close:485.705,volume:125862,MA20:486.59,MA50:487.12,MA200:493.76,RSI:40.219527783899665,MACDLine:-.3690392782538652,SignalLine:-.5740211859555621,MACDHistogram:.20498190770169689},{date:"2024-10-31 10:50:00",open:485.69,low:485.41,high:485.88,close:485.43,volume:126424,MA20:486.53,MA50:487.08,MA200:493.7,RSI:35.78106197184178,MACDLine:-.28627691403391964,SignalLine:-.5484347343833605,MACDHistogram:.2621578203494409},{date:"2024-10-31 10:51:00",open:485.43,low:485.37,high:485.6,close:485.51,volume:160559,MA20:486.45,MA50:487.05,MA200:493.64,RSI:38.78960880599949,MACDLine:-.2708052867708375,SignalLine:-.5269833417935353,MACDHistogram:.25617805502269786},{date:"2024-10-31 10:52:00",open:485.52,low:485.32,high:485.74,close:485.72,volume:81596,MA20:486.38,MA50:487.02,MA200:493.58,RSI:39.129058763631846,MACDLine:-.3092279692565967,SignalLine:-.5047036724490354,MACDHistogram:.19547570319243868},{date:"2024-10-31 10:53:00",open:485.715,low:485.51,high:485.95,close:485.51,volume:94279,MA20:486.31,MA50:486.99,MA200:493.52,RSI:35.45777773310323,MACDLine:-.3549074226219773,SignalLine:-.474764036961277,MACDHistogram:.11985661433929973},{date:"2024-10-31 10:54:00",open:485.53,low:485.53,high:485.79,close:485.67,volume:87271,MA20:486.26,MA50:486.95,MA200:493.46,RSI:29.84492028891728,MACDLine:-.386924362406603,SignalLine:-.443869874721939,MACDHistogram:.05694551231533601},{date:"2024-10-31 10:55:00",open:485.66,low:485.57,high:485.85,close:485.71,volume:168816,MA20:486.21,MA50:486.92,MA200:493.4,RSI:32.04443547540666,MACDLine:-.45343435664210574,SignalLine:-.4162583712324571,MACDHistogram:-.037175985409648615},{date:"2024-10-31 10:56:00",open:485.7,low:485.56,high:485.89,close:485.86,volume:82623,MA20:486.17,MA50:486.89,MA200:493.34,RSI:34.69833961078736,MACDLine:-.5421378859151673,SignalLine:-.39593487131199134,MACDHistogram:-.14620301460317597},{date:"2024-10-31 10:57:00",open:485.84,low:485.69,high:485.85,close:485.78,volume:42049,MA20:486.12,MA50:486.85,MA200:493.28,RSI:32.51307543475929,MACDLine:-.6403698394831281,SignalLine:-.3835252275199152,MACDHistogram:-.2568446119632129},{date:"2024-10-31 10:58:00",open:485.76,low:485.67,high:485.92,close:485.74,volume:84978,MA20:486.08,MA50:486.81,MA200:493.21,RSI:34.102625125886306,MACDLine:-.6726532443719293,SignalLine:-.3871467148364277,MACDHistogram:-.2855065295355016},{date:"2024-10-31 10:59:00",open:485.74,low:485.58,high:485.9,close:485.73,volume:64651,MA20:486.03,MA50:486.78,MA200:493.15,RSI:30.694123210467467,MACDLine:-.660369106693679,SignalLine:-.4123641650370547,MACDHistogram:-.2480049416566243},{date:"2024-10-31 11:00:00",open:485.7,low:485.4741,high:485.7,close:485.52,volume:37864,MA20:485.96,MA50:486.74,MA200:493.09,RSI:36.662134429932266,MACDLine:-.6605268930505872,SignalLine:-.447753884603609,MACDHistogram:-.21277300844697822},{date:"2024-10-31 11:01:00",open:485.515,low:485.19,high:485.68,close:485.27,volume:92252,MA20:485.88,MA50:486.71,MA200:493.02,RSI:44.27262094591812,MACDLine:-.6481024401017521,SignalLine:-.4823853634403621,MACDHistogram:-.16571707666139002},{date:"2024-10-31 11:02:00",open:485.28,low:485.05,high:485.34,close:485.2092,volume:117878,MA20:485.81,MA50:486.69,MA200:492.96,RSI:44.4749361655389,MACDLine:-.5739082846637871,SignalLine:-.5142548486449583,MACDHistogram:-.059653436018828776},{date:"2024-10-31 11:03:00",open:485.2,low:485.2,high:485.57,close:485.3061,volume:115127,MA20:485.74,MA50:486.66,MA200:492.89,RSI:46.78082943576968,MACDLine:-.5200254421278032,SignalLine:-.5460874702045472,MACDHistogram:.02606202807674396},{date:"2024-10-31 11:04:00",open:485.34,low:485.04,high:485.448,close:485.17,volume:107591,MA20:485.67,MA50:486.63,MA200:492.83,RSI:52.86723100241339,MACDLine:-.49990551667821137,SignalLine:-.5692507485951576,MACDHistogram:.06934523191694619},{date:"2024-10-31 11:05:00",open:485.15,low:485.04,high:485.27,close:485.0795,volume:71290,MA20:485.59,MA50:486.59,MA200:492.76,RSI:51.15040508229728,MACDLine:-.430662913407275,SignalLine:-.5760289642651552,MACDHistogram:.14536605085788012},{date:"2024-10-31 11:06:00",open:485.06,low:484.87,high:485.3199,close:485.21,volume:168293,MA20:485.54,MA50:486.54,MA200:492.7,RSI:46.39060349679352,MACDLine:-.3672927119464475,SignalLine:-.559943745460662,MACDHistogram:.19265103351421442},{date:"2024-10-31 11:07:00",open:485.23,low:485.22,high:486.32,close:486.21,volume:279877,MA20:485.56,MA50:486.5,MA200:492.64,RSI:51.005479470396864,MACDLine:-.3207032153626983,SignalLine:-.531766370732845,MACDHistogram:.21106315537014675},{date:"2024-10-31 11:08:00",open:486.245,low:485.8,high:486.34,close:485.8,volume:103127,MA20:485.56,MA50:486.45,MA200:492.58,RSI:47.296214796324165,MACDLine:-.3147551202268346,SignalLine:-.49961568674263657,MACDHistogram:.18486056651580196},{date:"2024-10-31 11:09:00",open:485.8,low:485.8,high:486.14,close:485.97,volume:54837,MA20:485.57,MA50:486.41,MA200:492.52,RSI:46.35337469855295,MACDLine:-.2924031134137408,SignalLine:-.4593878851656489,MACDHistogram:.16698477175190807},{date:"2024-10-31 11:10:00",open:486,low:485.64,high:486,close:485.71,volume:71075,MA20:485.58,MA50:486.36,MA200:492.46,RSI:42.78953379666914,MACDLine:-.2750388703408362,SignalLine:-.4122092464316231,MACDHistogram:.13717037609078692},{date:"2024-10-31 11:11:00",open:485.705,low:485.2,high:485.71,close:485.26,volume:58983,MA20:485.57,MA50:486.31,MA200:492.39,RSI:44.24518027494597,MACDLine:-.2485843074319405,SignalLine:-.3717844868735821,MACDHistogram:.12320017944164163},{date:"2024-10-31 11:12:00",open:485.268,low:485.2,high:485.41,close:485.225,volume:47994,MA20:485.55,MA50:486.24,MA200:492.33,RSI:44.95522192761248,MACDLine:-.2222327117565328,SignalLine:-.3347242480600269,MACDHistogram:.11249153630349407},{date:"2024-10-31 11:13:00",open:485.21,low:485.09,high:485.31,close:485.16,volume:55989,MA20:485.53,MA50:486.18,MA200:492.26,RSI:45.123324465973255,MACDLine:-.1840809265597727,SignalLine:-.2934289309054808,MACDHistogram:.10934800434570807},{date:"2024-10-31 11:14:00",open:485.15,low:484.99,high:485.28,close:485.015,volume:63245,MA20:485.5,MA50:486.12,MA200:492.2,RSI:48.67236699632071,MACDLine:-.13058928906770007,SignalLine:-.2591204352800322,MACDHistogram:.12853114621233214},{date:"2024-10-31 11:15:00",open:484.97,low:484.94,high:485.17,close:484.98,volume:56316,MA20:485.46,MA50:486.06,MA200:492.13,RSI:53.30717576047994,MACDLine:-.09611757300962154,SignalLine:-.23207736611342838,MACDHistogram:.13595979310380685},{date:"2024-10-31 11:16:00",open:485,low:484.924,high:485.16,close:485.04,volume:69191,MA20:485.42,MA50:486.02,MA200:492.07,RSI:54.478710190763536,MACDLine:-.053777781633527866,SignalLine:-.20992090380111092,MACDHistogram:.15614312216758305},{date:"2024-10-31 11:17:00",open:485.05,low:485.03,high:485.24,close:485.145,volume:67805,MA20:485.39,MA50:485.97,MA200:492,RSI:52.948400644772704,MACDLine:.02011813800118034,SignalLine:-.18371234969468,MACDHistogram:.20383048769586035},{date:"2024-10-31 11:18:00",open:485.16,low:485.16,high:485.83,close:485.77,volume:175114,MA20:485.39,MA50:485.95,MA200:491.94,RSI:55.376344717612284,MACDLine:.10095448432770127,SignalLine:-.1565396587649148,MACDHistogram:.2574941430926161},{date:"2024-10-31 11:19:00",open:485.79,low:485.57,high:485.8644,close:485.62,volume:34922,MA20:485.38,MA50:485.92,MA200:491.88,RSI:56.98992159723572,MACDLine:-.0033737352239882057,SignalLine:-.12691485587093446,MACDHistogram:.12354112064694625},{date:"2024-10-31 11:20:00",open:485.58,low:485.42,high:486.07,close:486.06,volume:45535,MA20:485.41,MA50:485.91,MA200:491.82,RSI:55.24371068173984,MACDLine:-.03895813566674633,SignalLine:-.09649749298068294,MACDHistogram:.05753935731393661},{date:"2024-10-31 11:21:00",open:486.023,low:485.94,high:486.23,close:486.17,volume:118281,MA20:485.46,MA50:485.89,MA200:491.76,RSI:37.06144278043,MACDLine:-.10962828844031947,SignalLine:-.06506368828672046,MACDHistogram:-.044564600153599004},{date:"2024-10-31 11:22:00",open:486.13,low:486.0431,high:486.31,close:486.28,volume:62477,MA20:485.51,MA50:485.88,MA200:491.71,RSI:43.842334777718506,MACDLine:-.13517996287583856,SignalLine:-.03530937871845741,MACDHistogram:-.09987058415738115},{date:"2024-10-31 11:23:00",open:486.23,low:486.16,high:486.37,close:486.34,volume:55921,MA20:485.56,MA50:485.87,MA200:491.65,RSI:39.58656194412841,MACDLine:-.09259057333167675,SignalLine:-.011489401131146743,MACDHistogram:-.08110117220053001},{date:"2024-10-31 11:24:00",open:486.35,low:485.9809,high:486.35,close:486.0399,volume:40010,MA20:485.6,MA50:485.85,MA200:491.59,RSI:44.36085465896256,MACDLine:-.04128425324688578,SignalLine:.00966764183847196,MACDHistogram:-.050951895085357746},{date:"2024-10-31 11:25:00",open:485.96,low:485.69,high:486.1,close:486.08,volume:48984,MA20:485.65,MA50:485.84,MA200:491.53,RSI:55.02651496697301,MACDLine:.02832903898126915,SignalLine:.025528997706471917,MACDHistogram:.0028000412747972332},{date:"2024-10-31 11:26:00",open:486.09,low:486.06,high:486.2899,close:486.15,volume:43206,MA20:485.7,MA50:485.83,MA200:491.46,RSI:55.99889981943125,MACDLine:.11804158231279871,SignalLine:.02688171263279481,MACDHistogram:.09115986968000389},{date:"2024-10-31 11:27:00",open:486.09,low:485.7,high:486.13,close:485.9375,volume:76467,MA20:485.69,MA50:485.81,MA200:491.4,RSI:57.75903797168795,MACDLine:.20984862369499524,SignalLine:.008363519709068196,MACDHistogram:.20148510398592703},{date:"2024-10-31 11:28:00",open:485.95,low:485.89,high:486.0452,close:485.8999,volume:40602,MA20:485.69,MA50:485.8,MA200:491.34,RSI:61.7815368491584,MACDLine:.30398417653270826,SignalLine:.011297833442332298,MACDHistogram:.29268634309037594},{date:"2024-10-31 11:29:00",open:485.905,low:485.85,high:486.01,close:485.94,volume:29525,MA20:485.69,MA50:485.78,MA200:491.28,RSI:62.76121330297775,MACDLine:.4059137850414345,SignalLine:.023861825719601958,MACDHistogram:.38205195932183256},{date:"2024-10-31 11:30:00",open:485.91,low:485.7301,high:486.15,close:485.7301,volume:67157,MA20:485.69,MA50:485.76,MA200:491.22,RSI:61.796893319848586,MACDLine:.40324119393744695,SignalLine:.057234354259582315,MACDHistogram:.3460068396778646},{date:"2024-10-31 11:31:00",open:485.75,low:485.38,high:485.86,close:485.405,volume:50545,MA20:485.7,MA50:485.73,MA200:491.15,RSI:60.118674473974835,MACDLine:.4227246693802158,SignalLine:.10533793354343754,MACDHistogram:.31738673583677823},{date:"2024-10-31 11:32:00",open:485.42,low:485.35,high:485.52,close:485.431,volume:32897,MA20:485.71,MA50:485.71,MA200:491.09,RSI:47.330243721047296,MACDLine:.37974576466348253,SignalLine:.15482006026221612,MACDHistogram:.2249257044012664},{date:"2024-10-31 11:33:00",open:485.431,low:485.25,high:485.52,close:485.43,volume:44106,MA20:485.72,MA50:485.68,MA200:491.03,RSI:50.97285826361324,MACDLine:.39172911515720443,SignalLine:.20384613863949158,MACDHistogram:.18788297651771285},{date:"2024-10-31 11:34:00",open:485.44,low:485.23,high:485.47,close:485.28,volume:44786,MA20:485.74,MA50:485.66,MA200:490.96,RSI:37.969463482789166,MACDLine:.3479445317486807,SignalLine:.2477254135540472,MACDHistogram:.10021911819463347},{date:"2024-10-31 11:35:00",open:485.26,low:485.21,high:485.4,close:485.37,volume:88914,MA20:485.76,MA50:485.63,MA200:490.9,RSI:33.899602554270714,MACDLine:.29667119755453086,SignalLine:.2801463713643593,MACDHistogram:.016524826190171538},{date:"2024-10-31 11:36:00",open:485.37,low:485.15,high:485.49,close:485.16,volume:44862,MA20:485.76,MA50:485.61,MA200:490.83,RSI:29.611227721449595,MACDLine:.26605801540051743,SignalLine:.29772080828170033,MACDHistogram:-.0316627928811829},{date:"2024-10-31 11:37:00",open:485.17,low:485.17,high:485.35,close:485.3498,volume:52452,MA20:485.77,MA50:485.6,MA200:490.76,RSI:27.219694467343288,MACDLine:.1846221644998991,SignalLine:.2961549662189483,MACDHistogram:-.11153280171904922},{date:"2024-10-31 11:38:00",open:485.35,low:485.0994,high:485.4,close:485.1699,volume:35661,MA20:485.74,MA50:485.59,MA200:490.7,RSI:32.31969678049228,MACDLine:.07439499241223757,SignalLine:.2687152615133268,MACDHistogram:-.19432026910108924},{date:"2024-10-31 11:39:00",open:485.15,low:485.04,high:485.17,close:485.1,volume:47812,MA20:485.72,MA50:485.57,MA200:490.63,RSI:30.70883345615104,MACDLine:-.020486161669339253,SignalLine:.2350837784072968,MACDHistogram:-.255569940076636},{date:"2024-10-31 11:40:00",open:485.08,low:484.99,high:485.1,close:485.025,volume:47103,MA20:485.66,MA50:485.56,MA200:490.57,RSI:27.928286527008794,MACDLine:-.13474558143639115,SignalLine:.18817355566406704,MACDHistogram:-.32291913710045816},{date:"2024-10-31 11:41:00",open:485,low:484.9105,high:485.1,close:484.98,volume:75651,MA20:485.6,MA50:485.55,MA200:490.5,RSI:31.49039070203706,MACDLine:-.2758418505727036,SignalLine:.14028050341421316,MACDHistogram:-.41612235398691677},{date:"2024-10-31 11:42:00",open:484.99,low:484.73,high:485.06,close:484.81,volume:102752,MA20:485.53,MA50:485.54,MA200:490.43,RSI:32.16442555187436,MACDLine:-.39499247989846253,SignalLine:.07741835047846533,MACDHistogram:-.4724108303769279},{date:"2024-10-31 11:43:00",open:484.82,low:484.8,high:485.11,close:485.1,volume:73508,MA20:485.47,MA50:485.53,MA200:490.37,RSI:30.695369386938765,MACDLine:-.46377975616661615,SignalLine:.009786805160911488,MACDHistogram:-.4735665613275276},{date:"2024-10-31 11:44:00",open:485.11,low:485.08,high:485.39,close:485.22,volume:67806,MA20:485.43,MA50:485.52,MA200:490.3,RSI:34.30647668886846,MACDLine:-.4957769014227438,SignalLine:-.06193429293749336,MACDHistogram:-.4338426084852504},{date:"2024-10-31 11:45:00",open:485.17,low:485.07,high:485.24,close:485.24,volume:39527,MA20:485.39,MA50:485.51,MA200:490.24,RSI:41.293052293738796,MACDLine:-.5461546846199212,SignalLine:-.14393237002199608,MACDHistogram:-.4022223145979251},{date:"2024-10-31 11:46:00",open:485.2727,low:484.92,high:485.3,close:485.0107,volume:39121,MA20:485.33,MA50:485.49,MA200:490.17,RSI:40.391548032885055,MACDLine:-.5428018961243879,SignalLine:-.22607100365246988,MACDHistogram:-.316730892471918},{date:"2024-10-31 11:47:00",open:485.02,low:484.65,high:485.02,close:484.735,volume:101797,MA20:485.27,MA50:485.47,MA200:490.1,RSI:40.41371207640753,MACDLine:-.5495363094101435,SignalLine:-.30118750266864674,MACDHistogram:-.24834880674149679},{date:"2024-10-31 11:48:00",open:484.78,low:484.48,high:484.835,close:484.6301,volume:121756,MA20:485.21,MA50:485.45,MA200:490.04,RSI:43.758157380674916,MACDLine:-.5147931596852118,SignalLine:-.37136283791847363,MACDHistogram:-.14343032176673814},{date:"2024-10-31 11:49:00",open:484.64,low:484.4934,high:484.67,close:484.57,volume:49057,MA20:485.14,MA50:485.43,MA200:489.97,RSI:41.03970605173422,MACDLine:-.5089603662590889,SignalLine:-.43051715203899427,MACDHistogram:-.07844321422009465},{date:"2024-10-31 11:50:00",open:484.56,low:484.42,high:484.71,close:484.53,volume:68555,MA20:485.08,MA50:485.41,MA200:489.9,RSI:45.84038149978168,MACDLine:-.4998143591404869,SignalLine:-.46918597740556695,MACDHistogram:-.03062838173491994},{date:"2024-10-31 11:51:00",open:484.56,low:484.25,high:484.56,close:484.3,volume:76956,MA20:485.02,MA50:485.39,MA200:489.84,RSI:39.94458466466701,MACDLine:-.47760815573980153,SignalLine:-.48773435178234303,MACDHistogram:.010126196042541502},{date:"2024-10-31 11:52:00",open:484.2899,low:484.19,high:484.36,close:484.3,volume:92574,MA20:484.97,MA50:485.37,MA200:489.77,RSI:44.17727081885182,MACDLine:-.4373361193158303,SignalLine:-.4937230006862748,MACDHistogram:.05638688137044451},{date:"2024-10-31 11:53:00",open:484.3,low:484.17,high:484.47,close:484.38,volume:65615,MA20:484.91,MA50:485.35,MA200:489.71,RSI:45.93336476939706,MACDLine:-.4047549219991424,SignalLine:-.4932095255021575,MACDHistogram:.0884546035030151},{date:"2024-10-31 11:54:00",open:484.39,low:484.27,high:484.49,close:484.36,volume:65583,MA20:484.87,MA50:485.33,MA200:489.64,RSI:47.827567970179814,MACDLine:-.3433083040131919,SignalLine:-.4799732357227166,MACDHistogram:.1366649317095247},{date:"2024-10-31 11:55:00",open:484.351,low:484.33,high:484.58,close:484.48,volume:60402,MA20:484.82,MA50:485.32,MA200:489.58,RSI:48.95227060888071,MACDLine:-.3252588635436382,SignalLine:-.4642660706222988,MACDHistogram:.1390072070786606},{date:"2024-10-31 11:56:00",open:484.48,low:484.48,high:484.81,close:484.64,volume:78024,MA20:484.8,MA50:485.31,MA200:489.51,RSI:53.35350056022175,MACDLine:-.34831853969274107,SignalLine:-.4429485109253376,MACDHistogram:.09462997123259653},{date:"2024-10-31 11:57:00",open:484.645,low:484.575,high:484.8699,close:484.8699,volume:67126,MA20:484.77,MA50:485.28,MA200:489.45,RSI:45.6069361893128,MACDLine:-.40974862030930126,SignalLine:-.42498734873536903,MACDHistogram:.015238728426067771},{date:"2024-10-31 11:58:00",open:484.84,low:484.81,high:485.0799,close:484.89,volume:140380,MA20:484.76,MA50:485.27,MA200:489.39,RSI:41.89954718031584,MACDLine:-.4408248523645284,SignalLine:-.40399409435443906,MACDHistogram:-.03683075801008934},{date:"2024-10-31 11:59:00",open:484.91,low:484.82,high:485.29,close:485.27,volume:73898,MA20:484.77,MA50:485.25,MA200:489.33,RSI:41.28014363504194,MACDLine:-.43014360888059855,SignalLine:-.3800390281579271,MACDHistogram:-.05010458072267143},{date:"2024-10-31 12:00:00",open:485.26,low:484.96,high:485.32,close:485.102,volume:72549,MA20:484.77,MA50:485.24,MA200:489.26,RSI:46.56513677950573,MACDLine:-.4132901874319259,SignalLine:-.3556467462624585,MACDHistogram:-.0576434411694674},{date:"2024-10-31 12:01:00",open:485.09,low:485.06,high:485.34,close:485.12,volume:39820,MA20:484.78,MA50:485.24,MA200:489.2,RSI:54.33119232580714,MACDLine:-.3770934176930041,SignalLine:-.33522440299911554,MACDHistogram:-.04186901469388854},{date:"2024-10-31 12:02:00",open:485.13,low:484.8,high:485.13,close:484.8,volume:26699,MA20:484.78,MA50:485.23,MA200:489.13,RSI:57.733066730673386,MACDLine:-.346571818241614,SignalLine:-.31784177324910884,MACDHistogram:-.028730044992505144},{date:"2024-10-31 12:03:00",open:484.8,low:484.79,high:485.04,close:484.85,volume:37257,MA20:484.76,MA50:485.22,MA200:489.07,RSI:59.722461820302684,MACDLine:-.2547355684946524,SignalLine:-.31147514055808806,MACDHistogram:.05673957206343566},{date:"2024-10-31 12:04:00",open:484.87,low:484.87,high:485.31,close:485.24,volume:165475,MA20:484.77,MA50:485.23,MA200:489.01,RSI:61.0219836257337,MACDLine:-.16347569236683057,SignalLine:-.3080292098117005,MACDHistogram:.14455351744486994},{date:"2024-10-31 12:05:00",open:485.203,low:485.18,high:485.6,close:485.25,volume:213484,MA20:484.77,MA50:485.23,MA200:488.94,RSI:69.04340293842897,MACDLine:-.07740762222010744,SignalLine:-.2979568773414404,MACDHistogram:.22054925512133294},{date:"2024-10-31 12:06:00",open:485.24,low:485.1671,high:485.33,close:485.25,volume:44512,MA20:484.78,MA50:485.24,MA200:488.88,RSI:69.04340293842897,MACDLine:.020736098181203033,SignalLine:-.2700089415994752,MACDHistogram:.2907450397806782},{date:"2024-10-31 12:07:00",open:485.28,low:485.28,high:485.57,close:485.52,volume:56890,MA20:484.82,MA50:485.24,MA200:488.82,RSI:67.77289014667633,MACDLine:.11061064897444339,SignalLine:-.22730496390821192,MACDHistogram:.3379156128826553},{date:"2024-10-31 12:08:00",open:485.51,low:485.46,high:485.63,close:485.5,volume:58040,MA20:484.86,MA50:485.24,MA200:488.76,RSI:68.42481082748344,MACDLine:.17375073891093962,SignalLine:-.17659530266511525,MACDHistogram:.35034604157605487},{date:"2024-10-31 12:09:00",open:485.51,low:485.3801,high:485.58,close:485.42,volume:45684,MA20:484.9,MA50:485.23,MA200:488.7,RSI:66.63678749955952,MACDLine:.23074044295486829,SignalLine:-.1174215814734126,MACDHistogram:.34816202442828087},{date:"2024-10-31 12:10:00",open:485.42,low:485.12,high:485.48,close:485.12,volume:137112,MA20:484.93,MA50:485.22,MA200:488.64,RSI:64.12132611115848,MACDLine:.30272234967333134,SignalLine:-.05250362241851472,MACDHistogram:.35522597209184603},{date:"2024-10-31 12:11:00",open:485.1201,low:484.97,high:485.31,close:485.08,volume:37507,MA20:484.97,MA50:485.19,MA200:488.58,RSI:60.10835488426364,MACDLine:.31790329461694,SignalLine:.0210134265372601,MACDHistogram:.2968898680796799},{date:"2024-10-31 12:12:00",open:485.1643,low:485.1643,high:485.4,close:485.38,volume:47040,MA20:485.03,MA50:485.18,MA200:488.52,RSI:59.74280591190201,MACDLine:.34529347096867014,SignalLine:.08995067529523823,MACDHistogram:.2553427956734319},{date:"2024-10-31 12:13:00",open:485.4011,low:485.4,high:485.72,close:485.67,volume:132404,MA20:485.09,MA50:485.16,MA200:488.46,RSI:52.02526244992708,MACDLine:.3512301182981332,SignalLine:.15330726721075544,MACDHistogram:.19792285108737778},{date:"2024-10-31 12:14:00",open:485.66,low:485.4975,high:485.8,close:485.63,volume:33901,MA20:485.15,MA50:485.15,MA200:488.4,RSI:56.46942516025561,MACDLine:.40908845553241235,SignalLine:.21098598956847114,MACDHistogram:.1981024659639412},{date:"2024-10-31 12:15:00",open:485.64,low:485.42,high:485.68,close:485.45,volume:33775,MA20:485.2,MA50:485.14,MA200:488.34,RSI:56.09629930820144,MACDLine:.46555871934009474,SignalLine:.25854846241528817,MACDHistogram:.20701025692480657},{date:"2024-10-31 12:16:00",open:485.4001,low:485.4,high:485.56,close:485.44,volume:54973,MA20:485.24,MA50:485.13,MA200:488.28,RSI:65.34215675051107,MACDLine:.46082718377334686,SignalLine:.2955329157754994,MACDHistogram:.16529426799784747},{date:"2024-10-31 12:17:00",open:485.4433,low:485.41,high:485.66,close:485.64132,volume:42576,MA20:485.28,MA50:485.12,MA200:488.23,RSI:64.49305120392606,MACDLine:.4381941738860178,SignalLine:.3259784599916393,MACDHistogram:.11221571389437845},{date:"2024-10-31 12:18:00",open:485.65,low:485.61,high:485.93,close:485.91,volume:107956,MA20:485.33,MA50:485.12,MA200:488.17,RSI:56.833208881995894,MACDLine:.4167506714641718,SignalLine:.3497879642508321,MACDHistogram:.06696270721333969},{date:"2024-10-31 12:19:00",open:485.9,low:485.52,high:485.9087,close:485.83,volume:58519,MA20:485.36,MA50:485.12,MA200:488.11,RSI:56.61034309592358,MACDLine:.35444640951538986,SignalLine:.3615543678952073,MACDHistogram:-.007107958379817425},{date:"2024-10-31 12:20:00",open:485.82,low:485.72,high:485.91,close:485.8796,volume:54722,MA20:485.4,MA50:485.12,MA200:488.05,RSI:56.610343095923575,MACDLine:.2883861128532317,SignalLine:.3724671362147741,MACDHistogram:-.08408102336154244},{date:"2024-10-31 12:21:00",open:485.87,low:485.705,high:485.95,close:485.91,volume:56766,MA20:485.44,MA50:485.13,MA200:488,RSI:50.68261811328185,MACDLine:.2406017180175013,SignalLine:.37926055252630014,MACDHistogram:-.13865883450879884},{date:"2024-10-31 12:22:00",open:485.92,low:485.9,high:486.09,close:486.08,volume:143452,MA20:485.5,MA50:485.15,MA200:487.94,RSI:51.16339405275257,MACDLine:.2571299745287092,SignalLine:.3862681610833419,MACDHistogram:-.12913818655463266},{date:"2024-10-31 12:23:00",open:486.09,low:485.935,high:486.1,close:486.07,volume:53458,MA20:485.56,MA50:485.16,MA200:487.89,RSI:53.0319075569771,MACDLine:.30713251320992185,SignalLine:.38056308747107426,MACDHistogram:-.0734305742611524},{date:"2024-10-31 12:24:00",open:486.06,low:485.545,high:486.06,close:485.7,volume:141469,MA20:485.59,MA50:485.17,MA200:487.83,RSI:60.758551305830295,MACDLine:.3166050987526319,SignalLine:.35931417950381916,MACDHistogram:-.04270908075118729},{date:"2024-10-31 12:25:00",open:485.695,low:485.3,high:485.7594,close:485.31,volume:150819,MA20:485.59,MA50:485.17,MA200:487.77,RSI:61.87469671223668,MACDLine:.30889039740895896,SignalLine:.33393592843643727,MACDHistogram:-.025045531027478307},{date:"2024-10-31 12:26:00",open:485.28,low:485.08,high:485.31,close:485.2,volume:79770,MA20:485.59,MA50:485.17,MA200:487.71,RSI:56.28157228950965,MACDLine:.2942015910043665,SignalLine:.3078713670740421,MACDHistogram:-.013669776069675621},{date:"2024-10-31 12:27:00",open:485.201,low:485.201,high:485.71,close:485.63,volume:75647,MA20:485.59,MA50:485.17,MA200:487.66,RSI:49.6514735224739,MACDLine:.31302130950604123,SignalLine:.2806515409765097,MACDHistogram:.03236976852953155},{date:"2024-10-31 12:28:00",open:485.64,low:485.19,high:485.68,close:485.31,volume:116748,MA20:485.58,MA50:485.17,MA200:487.6,RSI:50.63499429958211,MACDLine:.3135072584371983,SignalLine:.2622028238417896,MACDHistogram:.05130443459540868},{date:"2024-10-31 12:29:00",open:485.32,low:485.32,high:485.71,close:485.71,volume:72556,MA20:485.6,MA50:485.19,MA200:487.54,RSI:55.20432202700781,MACDLine:.2862728549502549,SignalLine:.2556570015889291,MACDHistogram:.030615853361325773},{date:"2024-10-31 12:30:00",open:485.71,low:485.56,high:485.7497,close:485.6101,volume:56854,MA20:485.62,MA50:485.2,MA200:487.48,RSI:55.46251469849828,MACDLine:.241207083882216,SignalLine:.2594208224817861,MACDHistogram:-.018213738599570095},{date:"2024-10-31 12:31:00",open:485.64,low:485.44,high:485.64,close:485.48,volume:22995,MA20:485.64,MA50:485.21,MA200:487.42,RSI:51.195405277204046,MACDLine:.20526921486253968,SignalLine:.25999353447005535,MACDHistogram:-.05472431960751567},{date:"2024-10-31 12:32:00",open:485.5,low:485.35,high:485.645,close:485.63,volume:48517,MA20:485.65,MA50:485.22,MA200:487.36,RSI:44.61996138478881,MACDLine:.15583187346129534,SignalLine:.24820878978508876,MACDHistogram:-.09237691632379341},{date:"2024-10-31 12:33:00",open:485.63,low:485.29,high:485.63,close:485.37,volume:45819,MA20:485.64,MA50:485.23,MA200:487.3,RSI:46.346396671436636,MACDLine:.11569574864057586,SignalLine:.23110971254320298,MACDHistogram:-.11541396390262712},{date:"2024-10-31 12:34:00",open:485.44,low:485.25,high:485.5599,close:485.36,volume:40185,MA20:485.63,MA50:485.23,MA200:487.24,RSI:45.12400458078749,MACDLine:.035948247525539045,SignalLine:.211664541326764,MACDHistogram:-.17571629380122494},{date:"2024-10-31 12:35:00",open:485.3301,low:485.28,high:485.44,close:485.395,volume:52311,MA20:485.62,MA50:485.24,MA200:487.19,RSI:44.40311403856127,MACDLine:-.06250690113438395,SignalLine:.19103027890736338,MACDHistogram:-.2535371800417473},{date:"2024-10-31 12:36:00",open:485.33,low:485.32,high:485.53,close:485.5,volume:32391,MA20:485.63,MA50:485.25,MA200:487.13,RSI:40.33294774073633,MACDLine:-.13453500868018864,SignalLine:.1605325212576939,MACDHistogram:-.29506752993788254},{date:"2024-10-31 12:37:00",open:485.49,low:485.35,high:485.5749,close:485.57,volume:35550,MA20:485.62,MA50:485.26,MA200:487.07,RSI:40.49487806207602,MACDLine:-.1483667385488161,SignalLine:.1222888369628178,MACDHistogram:-.2706555755116339},{date:"2024-10-31 12:38:00",open:485.59,low:485.47,high:485.63,close:485.5595,volume:34565,MA20:485.61,MA50:485.28,MA200:487.01,RSI:46.974461123843824,MACDLine:-.11651753938400589,SignalLine:.08129283246595852,MACDHistogram:-.19781037184996442},{date:"2024-10-31 12:39:00",open:485.54,low:485.37,high:485.58,close:485.51,volume:41127,MA20:485.59,MA50:485.3,MA200:486.95,RSI:55.69733471458489,MACDLine:-.13177157914986992,SignalLine:.04131426961189415,MACDHistogram:-.17308584876176408},{date:"2024-10-31 12:40:00",open:485.519,low:485.519,high:485.6999,close:485.62,volume:31805,MA20:485.58,MA50:485.32,MA200:486.9,RSI:58.54460052965431,MACDLine:-.09492460329977348,SignalLine:.00032553329923275254,MACDHistogram:-.09525013659900623},{date:"2024-10-31 12:41:00",open:485.62,low:485.33,high:485.62,close:485.33,volume:19996,MA20:485.55,MA50:485.34,MA200:486.84,RSI:49.0994959590517,MACDLine:-.13829555989400433,SignalLine:-.0385510517412829,MACDHistogram:-.09974450815272143},{date:"2024-10-31 12:42:00",open:485.34,low:485.34,high:485.47,close:485.35,volume:30205,MA20:485.51,MA50:485.36,MA200:486.78,RSI:58.27436954619638,MACDLine:-.17049564543947326,SignalLine:-.0771127518367476,MACDHistogram:-.09338289360272567},{date:"2024-10-31 12:43:00",open:485.36,low:485.36,high:485.75,close:485.735,volume:41700,MA20:485.49,MA50:485.39,MA200:486.72,RSI:46.717745760473555,MACDLine:-.1668803997838495,SignalLine:-.10537800167731926,MACDHistogram:-.06150239810653024},{date:"2024-10-31 12:44:00",open:485.73,low:485.6101,high:485.96,close:485.96,volume:100203,MA20:485.51,MA50:485.42,MA200:486.67,RSI:49.92447576088603,MACDLine:-.16796348042294085,SignalLine:-.11609577681305308,MACDHistogram:-.051867703609887766},{date:"2024-10-31 12:45:00",open:485.94,low:485.81,high:485.99,close:485.8619,volume:62024,MA20:485.53,MA50:485.45,MA200:486.62,RSI:54.44360220579853,MACDLine:-.13010277999615028,SignalLine:-.11148596884626918,MACDHistogram:-.01861681114988109},{date:"2024-10-31 12:46:00",open:485.86,low:485.715,high:485.87,close:485.81,volume:45074,MA20:485.57,MA50:485.47,MA200:486.57,RSI:49.55495405693188,MACDLine:-.08079108192413287,SignalLine:-.10226577642063246,MACDHistogram:.021474694496499594},{date:"2024-10-31 12:47:00",open:485.81,low:485.72,high:485.86,close:485.82,volume:24458,MA20:485.57,MA50:485.49,MA200:486.52,RSI:59.90089863554177,MACDLine:-.02816573519328358,SignalLine:-.0987028356797891,MACDHistogram:.07053710048650552},{date:"2024-10-31 12:48:00",open:485.79,low:485.55,high:485.79,close:485.67,volume:46732,MA20:485.59,MA50:485.51,MA200:486.46,RSI:60.35089473734728,MACDLine:.026431208964083908,SignalLine:-.0904356498122689,MACDHistogram:.1168668587763528},{date:"2024-10-31 12:49:00",open:485.67,low:485.64,high:485.74,close:485.64,volume:23419,MA20:485.59,MA50:485.52,MA200:486.41,RSI:59.35863103899724,MACDLine:.07376867283096544,SignalLine:-.08931341144039275,MACDHistogram:.16308208427135817},{date:"2024-10-31 12:50:00",open:485.63,low:485.63,high:485.85,close:485.81,volume:24401,MA20:485.6,MA50:485.53,MA200:486.38,RSI:56.31296068040244,MACDLine:.09815185510717583,SignalLine:-.07706787432698985,MACDHistogram:.1752197294341657},{date:"2024-10-31 12:51:00",open:485.81,low:485.6601,high:485.82,close:485.78,volume:33993,MA20:485.61,MA50:485.54,MA200:486.36,RSI:54.187656305656006,MACDLine:.10360236259271005,SignalLine:-.053710931548868995,MACDHistogram:.15731329414157905},{date:"2024-10-31 12:52:00",open:485.79,low:485.7001,high:485.82,close:485.71,volume:18366,MA20:485.62,MA50:485.56,MA200:486.33,RSI:54.557338277811844,MACDLine:.08316133960016714,SignalLine:-.02541856449012387,MACDHistogram:.108579904090291},{date:"2024-10-31 12:53:00",open:485.71,low:485.6899,high:485.83,close:485.83,volume:16224,MA20:485.64,MA50:485.58,MA200:486.31,RSI:56.236838314138254,MACDLine:.14909790531368117,SignalLine:.010217664493080376,MACDHistogram:.1388802408206008},{date:"2024-10-31 12:54:00",open:485.83,low:485.82,high:485.96,close:485.96,volume:26762,MA20:485.67,MA50:485.6,MA200:486.29,RSI:53.26831045319492,MACDLine:.19748824329252557,SignalLine:.045297775615388045,MACDHistogram:.1521904676771375},{date:"2024-10-31 12:55:00",open:485.95,low:485.84,high:486.12,close:485.84,volume:68563,MA20:485.69,MA50:485.61,MA200:486.27,RSI:63.87512078103494,MACDLine:.21896117295585782,SignalLine:.07681999000026828,MACDHistogram:.14214118295558953},{date:"2024-10-31 12:56:00",open:485.85,low:485.67,high:485.87,close:485.74,volume:69592,MA20:485.71,MA50:485.62,MA200:486.24,RSI:63.40852249302427,MACDLine:.19464609521037346,SignalLine:.10306642129865624,MACDHistogram:.09157967391171722},{date:"2024-10-31 12:57:00",open:485.74,low:485.66,high:485.84,close:485.77,volume:70076,MA20:485.72,MA50:485.62,MA200:486.22,RSI:52.42434428092666,MACDLine:.17329781641217323,SignalLine:.12222522438229932,MACDHistogram:.05107259202987391},{date:"2024-10-31 12:58:00",open:485.77,low:485.67,high:485.83,close:485.68,volume:39403,MA20:485.72,MA50:485.63,MA200:486.2,RSI:43.16600951847424,MACDLine:.17052022687101953,SignalLine:.1343393622701328,MACDHistogram:.036180864600886736},{date:"2024-10-31 12:59:00",open:485.67,low:485.66,high:485.73,close:485.68,volume:73915,MA20:485.73,MA50:485.63,MA200:486.17,RSI:46.85775157091904,MACDLine:.144494718374915,SignalLine:.14338623906087203,MACDHistogram:.0011084793140429816},{date:"2024-10-31 13:00:00",open:485.67,low:485.54,high:485.81,close:485.81,volume:111255,MA20:485.74,MA50:485.64,MA200:486.15,RSI:48.91281766983529,MACDLine:.1421931461725876,SignalLine:.15333220817791252,MACDHistogram:-.011139062005324912},{date:"2024-10-31 13:01:00",open:485.82,low:485.78,high:485.8881,close:485.85,volume:29133,MA20:485.77,MA50:485.66,MA200:486.13,RSI:48.50877659395536,MACDLine:.14995087552642872,SignalLine:.17087492532234885,MACDHistogram:-.020924049795920135},{date:"2024-10-31 13:02:00",open:485.84,low:485.84,high:486.1149,close:486.1,volume:53116,MA20:485.8,MA50:485.67,MA200:486.11,RSI:54.513984857723806,MACDLine:.13872600098494559,SignalLine:.17631918032451577,MACDHistogram:-.03759317933957018},{date:"2024-10-31 13:03:00",open:486.09,low:486.05,high:486.24,close:486.18,volume:67419,MA20:485.83,MA50:485.68,MA200:486.09,RSI:55.79679479661198,MACDLine:.13794478291953283,SignalLine:.17102691458251332,MACDHistogram:-.03308213166298049},{date:"2024-10-31 13:04:00",open:486.18,low:485.95,high:486.21,close:486.1,volume:56427,MA20:485.83,MA50:485.69,MA200:486.07,RSI:49.54997864441504,MACDLine:.14988301320079245,SignalLine:.15904334998917719,MACDHistogram:-.009160336788384738},{date:"2024-10-31 13:05:00",open:486.0901,low:486.02,high:486.13,close:486.09,volume:17840,MA20:485.84,MA50:485.71,MA200:486.05,RSI:50.72463696841436,MACDLine:.13935132874956935,SignalLine:.15014266368387813,MACDHistogram:-.010791334934308783},{date:"2024-10-31 13:06:00",open:486.12,low:486.07,high:486.1692,close:486.11,volume:23903,MA20:485.86,MA50:485.72,MA200:486.04,RSI:53.47113700974097,MACDLine:.11370032308639111,SignalLine:.14435387550180437,MACDHistogram:-.03065355241541326},{date:"2024-10-31 13:07:00",open:486.1,low:485.87,high:486.19,close:485.9451,volume:239383,MA20:485.86,MA50:485.73,MA200:486.02,RSI:49.082537643759025,MACDLine:.08287012570417573,SignalLine:.13781228765950057,MACDHistogram:-.054942161955324836},{date:"2024-10-31 13:08:00",open:485.95,low:485.95,high:486.12,close:486.07,volume:55439,MA20:485.88,MA50:485.73,MA200:486.01,RSI:43.74498510420276,MACDLine:.06951419921699653,SignalLine:.13614167998064697,MACDHistogram:-.06662748076365044},{date:"2024-10-31 13:09:00",open:486.08,low:486.08,high:486.27,close:486.2245,volume:53902,MA20:485.91,MA50:485.74,MA200:486,RSI:48.063604814245465,MACDLine:.08247424651199253,SignalLine:.1346288134326618,MACDHistogram:-.052154566920669276},{date:"2024-10-31 13:10:00",open:486.23,low:486.04,high:486.36,close:486.05,volume:103555,MA20:485.93,MA50:485.74,MA200:486,RSI:52.03899400490468,MACDLine:.13268908147381353,SignalLine:.1307982979092201,MACDHistogram:.0018907835645934346},{date:"2024-10-31 13:11:00",open:486.04,low:485.86,high:486.04,close:485.87,volume:64623,MA20:485.93,MA50:485.74,MA200:485.99,RSI:50.90786589411762,MACDLine:.18293072054905224,SignalLine:.1288163721402887,MACDHistogram:.05411434840876353},{date:"2024-10-31 13:12:00",open:485.88,low:485.72,high:485.8813,close:485.8199,volume:76070,MA20:485.94,MA50:485.73,MA200:485.98,RSI:54.48766169084805,MACDLine:.21396232939707716,SignalLine:.1265342694454777,MACDHistogram:.08742805995159947},{date:"2024-10-31 13:13:00",open:485.79,low:485.75,high:485.9099,close:485.75,volume:21005,MA20:485.93,MA50:485.73,MA200:485.97,RSI:54.48766169084805,MACDLine:.24398503989920073,SignalLine:.12069708350664901,MACDHistogram:.12328795639255172},{date:"2024-10-31 13:14:00",open:485.7499,low:485.745,high:485.88,close:485.86,volume:31941,MA20:485.93,MA50:485.73,MA200:485.96,RSI:50.119092874244615,MACDLine:.2217378807233672,SignalLine:.11603352219591893,MACDHistogram:.10570435852744826},{date:"2024-10-31 13:15:00",open:485.85,low:485.6,high:485.85,close:485.7,volume:40659,MA20:485.92,MA50:485.74,MA200:485.95,RSI:48.712549601309874,MACDLine:.1794262283829653,SignalLine:.1166168219733009,MACDHistogram:.0628094064096644},{date:"2024-10-31 13:16:00",open:485.72,low:485.62,high:485.8,close:485.655,volume:45520,MA20:485.92,MA50:485.75,MA200:485.94,RSI:38.67710166947686,MACDLine:.1588113378920184,SignalLine:.1250534960405822,MACDHistogram:.03375784185143621},{date:"2024-10-31 13:17:00",open:485.685,low:485.61,high:485.77,close:485.71,volume:28405,MA20:485.91,MA50:485.75,MA200:485.93,RSI:34.89155809660606,MACDLine:.13382562184153812,SignalLine:.13893832024647862,MACDHistogram:-.005112698404940497},{date:"2024-10-31 13:18:00",open:485.71,low:485.6975,high:485.9601,close:485.82,volume:47501,MA20:485.92,MA50:485.76,MA200:485.92,RSI:37.01322820621458,MACDLine:.09526093521935763,SignalLine:.15305433868010013,MACDHistogram:-.05779340346074249},{date:"2024-10-31 13:19:00",open:485.85,low:485.805,high:485.92,close:485.9,volume:27252,MA20:485.93,MA50:485.76,MA200:485.91,RSI:37.27632521849292,MACDLine:.09005275796386059,SignalLine:.15814565298167177,MACDHistogram:-.06809289501781118},{date:"2024-10-31 13:20:00",open:485.92,low:485.83,high:486.06,close:485.92,volume:73405,MA20:485.94,MA50:485.77,MA200:485.9,RSI:36.43723815979409,MACDLine:.07146046251460803,SignalLine:.15194938608982667,MACDHistogram:-.08048892357521864},{date:"2024-10-31 13:21:00",open:485.92,low:485.88,high:485.96,close:485.95,volume:22888,MA20:485.94,MA50:485.78,MA200:485.9,RSI:40.594940718624656,MACDLine:.010599598686496847,SignalLine:.13644615026301404,MACDHistogram:-.1258465515765172},{date:"2024-10-31 13:22:00",open:485.96,low:485.93,high:486.04,close:486.03,volume:27664,MA20:485.94,MA50:485.79,MA200:485.89,RSI:35.411472391939625,MACDLine:-.03791517076228956,SignalLine:.10956142785396736,MACDHistogram:-.14747659861625692},{date:"2024-10-31 13:23:00",open:486.03,low:485.91,high:486.05,close:485.995,volume:16591,MA20:485.93,MA50:485.8,MA200:485.89,RSI:28.21698100210193,MACDLine:-.059649801284024306,SignalLine:.0815173146366174,MACDHistogram:-.1411671159206417},{date:"2024-10-31 13:24:00",open:485.97,low:485.8,high:485.97,close:485.87,volume:31460,MA20:485.92,MA50:485.81,MA200:485.88,RSI:31.949393114526373,MACDLine:-.08315982349489559,SignalLine:.05704008620003043,MACDHistogram:-.14019990969492602},{date:"2024-10-31 13:25:00",open:485.87,low:485.82,high:485.97,close:485.84,volume:24095,MA20:485.9,MA50:485.82,MA200:485.87,RSI:36.584607611712556,MACDLine:-.09721356350235055,SignalLine:.03159727327703344,MACDHistogram:-.12881083677938399},{date:"2024-10-31 13:26:00",open:485.78,low:485.65,high:485.78,close:485.7,volume:18537,MA20:485.88,MA50:485.82,MA200:485.86,RSI:38.00983358621215,MACDLine:-.1223190489154149,SignalLine:.0060401861359072676,MACDHistogram:-.12835923505132216},{date:"2024-10-31 13:27:00",open:485.6976,low:485.35,high:485.6976,close:485.36,volume:84180,MA20:485.85,MA50:485.82,MA200:485.85,RSI:40.03018879774788,MACDLine:-.1195654095856753,SignalLine:-.016265001134955326,MACDHistogram:-.10330040845071997},{date:"2024-10-31 13:28:00",open:485.37,low:485.21,high:485.4368,close:485.2799,volume:46222,MA20:485.82,MA50:485.81,MA200:485.84,RSI:34.97997552779525,MACDLine:-.08831163124716568,SignalLine:-.042844440909659304,MACDHistogram:-.045467190337506375},{date:"2024-10-31 13:29:00",open:485.28,low:485.2,high:485.4,close:485.27,volume:116976,MA20:485.77,MA50:485.81,MA200:485.83,RSI:39.46927760101677,MACDLine:-.05720863953155231,SignalLine:-.07142066676572614,MACDHistogram:.014212027234173835},{date:"2024-10-31 13:30:00",open:485.25,low:485.1,high:485.39,close:485.1501,volume:158969,MA20:485.72,MA50:485.8,MA200:485.82,RSI:40.83805304160015,MACDLine:-.0499141498940503,SignalLine:-.09192573312878188,MACDHistogram:.042011583234731587},{date:"2024-10-31 13:31:00",open:485.19,low:484.92,high:485.3,close:484.97,volume:53442,MA20:485.68,MA50:485.79,MA200:485.81,RSI:38.41412551029797,MACDLine:-.059295886394636454,SignalLine:-.10542837372040496,MACDHistogram:.04613248732576851},{date:"2024-10-31 13:32:00",open:484.96,low:484.86,high:485.06,close:484.94,volume:81789,MA20:485.63,MA50:485.78,MA200:485.8,RSI:33.342192473972446,MACDLine:-.07520790808973743,SignalLine:-.11687301682950013,MACDHistogram:.0416651087397627},{date:"2024-10-31 13:33:00",open:484.95,low:484.92,high:485.25,close:485.25,volume:83786,MA20:485.61,MA50:485.77,MA200:485.79,RSI:29.416577229543265,MACDLine:-.11583368257197435,SignalLine:-.12530131516315127,MACDHistogram:.009467632591176917},{date:"2024-10-31 13:34:00",open:485.25,low:485,high:485.32,close:485.02,volume:49470,MA20:485.57,MA50:485.76,MA200:485.78,RSI:28.43822980334282,MACDLine:-.17048427207367922,SignalLine:-.13232325307835144,MACDHistogram:-.03816101899532778},{date:"2024-10-31 13:35:00",open:485.03,low:484.89,high:485.11,close:484.98,volume:52904,MA20:485.53,MA50:485.74,MA200:485.77,RSI:27.029445135203233,MACDLine:-.2196167078074609,SignalLine:-.13482430411908558,MACDHistogram:-.08479240368837532},{date:"2024-10-31 13:36:00",open:484.98,low:484.81,high:485.04,close:484.88,volume:58328,MA20:485.49,MA50:485.72,MA200:485.76,RSI:23.290068723877596,MACDLine:-.2737040463941298,SignalLine:-.13863902775243817,MACDHistogram:-.13506501864169165},{date:"2024-10-31 13:37:00",open:484.88,low:484.74,high:484.96,close:484.76,volume:52046,MA20:485.44,MA50:485.7,MA200:485.74,RSI:23.78523651048863,MACDLine:-.3503216451517801,SignalLine:-.1512208768787563,MACDHistogram:-.1991007682730238},{date:"2024-10-31 13:38:00",open:484.78,low:484.74,high:484.87,close:484.76,volume:25162,MA20:485.39,MA50:485.68,MA200:485.73,RSI:25.589503299178915,MACDLine:-.422007792727527,SignalLine:-.1747239362155573,MACDHistogram:-.24728385651196969},{date:"2024-10-31 13:39:00",open:484.74,low:484.7,high:484.92,close:484.74,volume:40009,MA20:485.33,MA50:485.66,MA200:485.71,RSI:26.029537353874815,MACDLine:-.45288490773907597,SignalLine:-.20592638279593403,MACDHistogram:-.24695852494314194},{date:"2024-10-31 13:40:00",open:484.72,low:484.72,high:484.8499,close:484.74,volume:63617,MA20:485.27,MA50:485.64,MA200:485.69,RSI:28.12530833152688,MACDLine:-.4680170086048747,SignalLine:-.24258400689625842,MACDHistogram:-.2254330017086163},{date:"2024-10-31 13:41:00",open:484.74,low:484.6826,high:485.03,close:484.94,volume:110381,MA20:485.22,MA50:485.62,MA200:485.68,RSI:34.36494363761288,MACDLine:-.4999613699484371,SignalLine:-.28442803159788865,MACDHistogram:-.21553333835054844},{date:"2024-10-31 13:42:00",open:484.97,low:484.72,high:485.05,close:484.73,volume:39083,MA20:485.16,MA50:485.6,MA200:485.66,RSI:36.117824559926945,MACDLine:-.5215163712276762,SignalLine:-.32657661885436723,MACDHistogram:-.19493975237330902},{date:"2024-10-31 13:43:00",open:484.74,low:484.6,high:484.76,close:484.6,volume:34446,MA20:485.09,MA50:485.58,MA200:485.64,RSI:36.330504338906486,MACDLine:-.5116412438244424,SignalLine:-.36559970554953924,MACDHistogram:-.14604153827490318},{date:"2024-10-31 13:44:00",open:484.6,low:484.6,high:484.85,close:484.68,volume:60389,MA20:485.03,MA50:485.55,MA200:485.62,RSI:38.90701430061433,MACDLine:-.48810402675593423,SignalLine:-.40209545498505883,MACDHistogram:-.0860085717708754},{date:"2024-10-31 13:45:00",open:484.685,low:484.47,high:484.75,close:484.54,volume:55339,MA20:484.96,MA50:485.53,MA200:485.61,RSI:43.17805075241008,MACDLine:-.5137259202174391,SignalLine:-.4341933071327911,MACDHistogram:-.07953261308464804},{date:"2024-10-31 13:46:00",open:484.53,low:484.22,high:484.58,close:484.36,volume:94611,MA20:484.9,MA50:485.5,MA200:485.59,RSI:43.923861688435956,MACDLine:-.5049927599415582,SignalLine:-.4551612226280438,MACDHistogram:-.04983153731351442},{date:"2024-10-31 13:47:00",open:484.38,low:484.33,high:484.56,close:484.36,volume:39273,MA20:484.85,MA50:485.47,MA200:485.58,RSI:32.783559213604676,MACDLine:-.48991890431756246,SignalLine:-.463449580103173,MACDHistogram:-.026469324214389467},{date:"2024-10-31 13:48:00",open:484.36,low:484.3,high:484.43,close:484.39,volume:72132,MA20:484.8,MA50:485.45,MA200:485.56,RSI:37.98207032815137,MACDLine:-.4530803627129103,SignalLine:-.46609074819419727,MACDHistogram:.013010385481286968},{date:"2024-10-31 13:49:00",open:484.4,low:484.4,high:484.84,close:484.8,volume:116325,MA20:484.78,MA50:485.43,MA200:485.55,RSI:38.98026473302996,MACDLine:-.397179818879863,SignalLine:-.4656091830915279,MACDHistogram:.0684293642116649},{date:"2024-10-31 13:50:00",open:484.78,low:484.75,high:485.17,close:484.98,volume:150741,MA20:484.77,MA50:485.41,MA200:485.55,RSI:41.512913949369604,MACDLine:-.34801687284016225,SignalLine:-.4570211363773006,MACDHistogram:.10900426353713832},{date:"2024-10-31 13:51:00",open:484.97,low:484.52,high:484.97,close:484.56,volume:44860,MA20:484.75,MA50:485.39,MA200:485.53,RSI:44.75293911225994,MACDLine:-.29511410356263923,SignalLine:-.4408973276647067,MACDHistogram:.14578322410206745},{date:"2024-10-31 13:52:00",open:484.57,low:484.57,high:484.93,close:484.75,volume:67759,MA20:484.74,MA50:485.36,MA200:485.52,RSI:44.75293911225994,MACDLine:-.2504983638148133,SignalLine:-.4232113486247727,MACDHistogram:.17271298480995945},{date:"2024-10-31 13:53:00",open:484.74,low:484.69,high:484.93,close:484.83,volume:69242,MA20:484.72,MA50:485.33,MA200:485.51,RSI:45.2605895362139,MACDLine:-.2674361161538741,SignalLine:-.40698817909198237,MACDHistogram:.1395520629381083},{date:"2024-10-31 13:54:00",open:484.8,low:484.63,high:484.86,close:484.63,volume:32840,MA20:484.7,MA50:485.3,MA200:485.5,RSI:45.26058953621391,MACDLine:-.25950014017718104,SignalLine:-.38030374381061816,MACDHistogram:.12080360363343712},{date:"2024-10-31 13:55:00",open:484.63,low:484.44,high:484.68,close:484.46,volume:51646,MA20:484.67,MA50:485.27,MA200:485.49,RSI:39.326215609383695,MACDLine:-.23075058334620735,SignalLine:-.3491314897778831,MACDHistogram:.11838090643167576},{date:"2024-10-31 13:56:00",open:484.47,low:484.43,high:484.57,close:484.47,volume:89043,MA20:484.65,MA50:485.24,MA200:485.48,RSI:43.97435191791142,MACDLine:-.22458223141507005,SignalLine:-.3139346361429633,MACDHistogram:.08935240472789324},{date:"2024-10-31 13:57:00",open:484.47,low:484.43,high:484.53,close:484.45,volume:20420,MA20:484.64,MA50:485.21,MA200:485.47,RSI:47.17982709931151,MACDLine:-.2092337934023476,SignalLine:-.27914820450047656,MACDHistogram:.06991441109812896},{date:"2024-10-31 13:58:00",open:484.45,low:484.3501,high:484.5,close:484.38,volume:52310,MA20:484.62,MA50:485.17,MA200:485.46,RSI:44.88403620784604,MACDLine:-.1625274773439287,SignalLine:-.24964030090562997,MACDHistogram:.08711282356170127},{date:"2024-10-31 13:59:00",open:484.39,low:484.38,high:484.56,close:484.46,volume:50712,MA20:484.61,MA50:485.14,MA200:485.44,RSI:48.29509242367893,MACDLine:-.08418556154072121,SignalLine:-.2250461579219969,MACDHistogram:.14086059638127568},{date:"2024-10-31 14:00:00",open:484.47,low:484.35,high:484.55,close:484.4,volume:39555,MA20:484.59,MA50:485.11,MA200:485.43,RSI:53.11420954716447,MACDLine:-.019768271747636845,SignalLine:-.2075291715118363,MACDHistogram:.18776089976419946},{date:"2024-10-31 14:01:00",open:484.41,low:484.11,high:484.41,close:484.34,volume:171076,MA20:484.56,MA50:485.07,MA200:485.42,RSI:53.11420954716447,MACDLine:-.02416993791365485,SignalLine:-.19678687343609205,MACDHistogram:.1726169355224372},{date:"2024-10-31 14:02:00",open:484.25,low:484.17,high:484.31,close:484.17,volume:27372,MA20:484.53,MA50:485.04,MA200:485.41,RSI:52.43209408261858,MACDLine:-.07278195635950624,SignalLine:-.17912456275664654,MACDHistogram:.1063426063971403},{date:"2024-10-31 14:03:00",open:484.21,low:484.08,high:484.23,close:484.15,volume:33956,MA20:484.51,MA50:485.01,MA200:485.39,RSI:41.66119061391177,MACDLine:-.0655517405378987,SignalLine:-.15903066840151292,MACDHistogram:.09347892786361423},{date:"2024-10-31 14:04:00",open:484.15,low:484.04,high:484.23,close:484.17,volume:72174,MA20:484.48,MA50:484.98,MA200:485.38,RSI:35.728367548110384,MACDLine:-.09282442157228843,SignalLine:-.1411006896653393,MACDHistogram:.048276268093050884},{date:"2024-10-31 14:05:00",open:484.17,low:484.1699,high:484.88,close:484.46,volume:226291,MA20:484.48,MA50:484.95,MA200:485.37,RSI:45.82565196243187,MACDLine:-.14257501559694674,SignalLine:-.12023030422790663,MACDHistogram:-.022344711369040107},{date:"2024-10-31 14:06:00",open:484.45,low:484.33,high:484.52,close:484.33,volume:55317,MA20:484.48,MA50:484.92,MA200:485.36,RSI:38.527900106993414,MACDLine:-.1663283190161451,SignalLine:-.0979794319342964,MACDHistogram:-.06834888708184869},{date:"2024-10-31 14:07:00",open:484.41,low:484.35,high:484.5299,close:484.395,volume:36018,MA20:484.48,MA50:484.9,MA200:485.35,RSI:35.11028651883572,MACDLine:-.14891775983090838,SignalLine:-.08184242058188831,MACDHistogram:-.06707533924902007},{date:"2024-10-31 14:08:00",open:484.4,low:484.18,high:484.4,close:484.21,volume:34927,MA20:484.47,MA50:484.87,MA200:485.35,RSI:40.31321242345183,MACDLine:-.15012947869149684,SignalLine:-.08125663534218008,MACDHistogram:-.06887284334931676},{date:"2024-10-31 14:09:00",open:484.18,low:484.18,high:484.4,close:484.24,volume:99392,MA20:484.44,MA50:484.83,MA200:485.34,RSI:45.652900458170876,MACDLine:-.16003782561983826,SignalLine:-.0966287262408159,MACDHistogram:-.06340909937902237},{date:"2024-10-31 14:10:00",open:484.25,low:484.17,high:484.36,close:484.28,volume:42307,MA20:484.41,MA50:484.8,MA200:485.33,RSI:45.25683701415378,MACDLine:-.1534112018720748,SignalLine:-.11474342332260616,MACDHistogram:-.03866777854946864},{date:"2024-10-31 14:11:00",open:484.28,low:484.28,high:484.719,close:484.71,volume:87179,MA20:484.41,MA50:484.78,MA200:485.33,RSI:45.87775734583924,MACDLine:-.17283087553408905,SignalLine:-.12523379006338115,MACDHistogram:-.0475970854707079},{date:"2024-10-31 14:12:00",open:484.715,low:484.52,high:484.78,close:484.52,volume:59426,MA20:484.4,MA50:484.74,MA200:485.32,RSI:48.01890850278712,MACDLine:-.19975808263677663,SignalLine:-.14015430244475174,MACDHistogram:-.05960378019202489},{date:"2024-10-31 14:13:00",open:484.46,low:484.2401,high:484.46,close:484.29,volume:44613,MA20:484.38,MA50:484.71,MA200:485.32,RSI:45.310223127066145,MACDLine:-.21973050940948724,SignalLine:-.1519867726628676,MACDHistogram:-.06774373674661965},{date:"2024-10-31 14:14:00",open:484.3,low:484.3,high:484.54,close:484.435,volume:114026,MA20:484.37,MA50:484.68,MA200:485.31,RSI:47.016461435405255,MACDLine:-.20900832671702574,SignalLine:-.1543397119293478,MACDHistogram:-.05466861478767793},{date:"2024-10-31 14:15:00",open:484.45,low:484.34,high:484.49,close:484.37,volume:30473,MA20:484.36,MA50:484.65,MA200:485.3,RSI:48.72005737112935,MACDLine:-.15904643787365558,SignalLine:-.1513425601576485,MACDHistogram:-.007703877716007085},{date:"2024-10-31 14:16:00",open:484.36,low:484.24,high:484.37,close:484.27,volume:42568,MA20:484.35,MA50:484.62,MA200:485.3,RSI:53.85395554247104,MACDLine:-.09165440610820497,SignalLine:-.1519487602393335,MACDHistogram:.06029435413112855},{date:"2024-10-31 14:17:00",open:484.36,low:484.24,high:484.37,close:484.27,volume:42568,MA20:484.34,MA50:484.6,MA200:485.29,RSI:54.48112064152671,MACDLine:-.10241360329325744,SignalLine:-.15240358062629267,MACDHistogram:.04998997733303523},{date:"2024-10-31 14:18:00",open:484.3,low:484.1,high:484.34,close:484.1099,volume:55375,MA20:484.33,MA50:484.58,MA200:485.28,RSI:53.9835060371663,MACDLine:-.07727478074332339,SignalLine:-.15049501937790627,MACDHistogram:.07322023863458288},{date:"2024-10-31 14:19:00",open:484.09,low:484.04,high:484.17,close:484.11,volume:43980,MA20:484.31,MA50:484.56,MA200:485.27,RSI:46.04118841034484,MACDLine:-.055591777696122335,SignalLine:-.14976597375436412,MACDHistogram:.09417419605824179},{date:"2024-10-31 14:20:00",open:484.13,low:484.05,high:484.27,close:484.05,volume:184870,MA20:484.29,MA50:484.53,MA200:485.27,RSI:49.6050452148983,MACDLine:-.015798682494789773,SignalLine:-.1439997483094329,MACDHistogram:.12820106581464313},{date:"2024-10-31 14:21:00",open:484.09,low:483.95,high:484.18,close:484.02,volume:141281,MA20:484.28,MA50:484.51,MA200:485.26,RSI:47.72641489070165,MACDLine:.010057939852970321,SignalLine:-.130060164727597,MACDHistogram:.1401181045805673},{date:"2024-10-31 14:22:00",open:484.03,low:484.03,high:484.2,close:484.1001,volume:52180,MA20:484.27,MA50:484.5,MA200:485.25,RSI:52.94233656867044,MACDLine:.03324136779718856,SignalLine:-.10764257855712442,MACDHistogram:.14088394635431298},{date:"2024-10-31 14:23:00",open:484.11,low:484.02,high:484.195,close:484.14,volume:47114,MA20:484.27,MA50:484.48,MA200:485.25,RSI:52.15497561752947,MACDLine:-.02019711315836048,SignalLine:-.0823011415171491,MACDHistogram:.062104028358788615},{date:"2024-10-31 14:24:00",open:484.14,low:484.12,high:484.485,close:484.41,volume:91254,MA20:484.29,MA50:484.46,MA200:485.24,RSI:51.14287075498048,MACDLine:-.05538299811382785,SignalLine:-.06311481742802247,MACDHistogram:.007731819314194616},{date:"2024-10-31 14:25:00",open:484.42,low:484.07,high:484.44,close:484.2079,volume:54885,MA20:484.27,MA50:484.45,MA200:485.24,RSI:38.064556686157964,MACDLine:-.04923286584806874,SignalLine:-.05597992025797684,MACDHistogram:.006747054409908096},{date:"2024-10-31 14:26:00",open:484.202,low:484.09,high:484.24,close:484.16,volume:53990,MA20:484.26,MA50:484.43,MA200:485.23,RSI:42.7610370239796,MACDLine:-.07430330988921696,SignalLine:-.04437149949915669,MACDHistogram:-.029931810390060272},{date:"2024-10-31 14:27:00",open:484.17,low:484.1,high:484.2,close:484.18,volume:29909,MA20:484.25,MA50:484.42,MA200:485.22,RSI:49.646440607664026,MACDLine:-.09769426486701605,SignalLine:-.03614567918811502,MACDHistogram:-.06154858567890103},{date:"2024-10-31 14:28:00",open:484.1899,low:484.1899,high:484.3701,close:484.3,volume:56344,MA20:484.26,MA50:484.41,MA200:485.22,RSI:44.406042970581055,MACDLine:-.12111043991330916,SignalLine:-.031284154561113185,MACDHistogram:-.08982628535219597},{date:"2024-10-31 14:29:00",open:484.3,low:484.3,high:484.57,close:484.54,volume:72777,MA20:484.27,MA50:484.41,MA200:485.21,RSI:46.41685003626363,MACDLine:-.14938184239190377,SignalLine:-.03515552257769404,MACDHistogram:-.11422631981420973},{date:"2024-10-31 14:30:00",open:484.54,low:484.54,high:484.78,close:484.64,volume:85707,MA20:484.29,MA50:484.41,MA200:485.2,RSI:49.627181684367635,MACDLine:-.150839060211581,SignalLine:-.046458888185360134,MACDHistogram:-.10438017202622087},{date:"2024-10-31 14:31:00",open:484.68,low:484.48,high:484.68,close:484.5,volume:42292,MA20:484.28,MA50:484.4,MA200:485.2,RSI:49.627181684367635,MACDLine:-.12819734098928848,SignalLine:-.06638395218099731,MACDHistogram:-.06181338880829117},{date:"2024-10-31 14:32:00",open:484.4968,low:484.35,high:484.498,close:484.41,volume:87169,MA20:484.28,MA50:484.39,MA200:485.2,RSI:54.86554875683237,MACDLine:-.1020154034947609,SignalLine:-.07793066193665651,MACDHistogram:-.02408474155810439},{date:"2024-10-31 14:33:00",open:484.4,low:483.89,high:484.46,close:483.98,volume:315774,MA20:484.26,MA50:484.38,MA200:485.19,RSI:54.862785412174865,MACDLine:-.0605320519508723,SignalLine:-.08356757789236369,MACDHistogram:.023035525941491386},{date:"2024-10-31 14:34:00",open:483.98,low:483.85,high:484.42,close:484.29,volume:289490,MA20:484.25,MA50:484.37,MA200:485.19,RSI:56.80029586310894,MACDLine:-.04152192613378247,SignalLine:-.09215125590343742,MACDHistogram:.05062932976965495},{date:"2024-10-31 14:35:00",open:484.33,low:484.07,high:484.4599,close:484.15,volume:97480,MA20:484.24,MA50:484.36,MA200:485.18,RSI:57.74714777432376,MACDLine:-.0231072284379934,SignalLine:-.09661324240699254,MACDHistogram:.07350601396899914},{date:"2024-10-31 14:36:00",open:484.17,low:483.96,high:484.31,close:484.07,volume:64827,MA20:484.23,MA50:484.36,MA200:485.18,RSI:55.92558301170641,MACDLine:-.04661272732909083,SignalLine:-.09634298679198666,MACDHistogram:.04973025946289583},{date:"2024-10-31 14:37:00",open:484.09,low:483.82,high:484.11,close:483.948,volume:53617,MA20:484.22,MA50:484.35,MA200:485.17,RSI:55.0288181496575,MACDLine:-.002899924425264544,SignalLine:-.09015112351165604,MACDHistogram:.08725119908639149},{date:"2024-10-31 14:38:00",open:483.99,low:483.93,high:484.305,close:484.305,volume:83457,MA20:484.23,MA50:484.35,MA200:485.16,RSI:48.436457849525006,MACDLine:.03914150654537707,SignalLine:-.0753434437915941,MACDHistogram:.11448495033697118},{date:"2024-10-31 14:39:00",open:484.31,low:484.14,high:484.37,close:484.2499,volume:94328,MA20:484.23,MA50:484.34,MA200:485.16,RSI:53.93144324882937,MACDLine:.06495960197997874,SignalLine:-.05646953968659739,MACDHistogram:.12142914166657613},{date:"2024-10-31 14:40:00",open:484.235,low:484.09,high:484.345,close:484.32,volume:50806,MA20:484.25,MA50:484.32,MA200:485.15,RSI:55.31246884193969,MACDLine:.08514983139684773,SignalLine:-.03853758936092462,MACDHistogram:.12368742075777235},{date:"2024-10-31 14:41:00",open:484.3,low:484.14,high:484.34,close:484.15,volume:49544,MA20:484.25,MA50:484.32,MA200:485.14,RSI:54.86435419005161,MACDLine:.05888136303224201,SignalLine:-.022668135827465546,MACDHistogram:.08154949885970755},{date:"2024-10-31 14:42:00",open:484.1332,low:484.0345,high:484.205,close:484.07,volume:42495,MA20:484.25,MA50:484.3,MA200:485.13,RSI:52.19346013947167,MACDLine:.0007876981300682928,SignalLine:-.01320215679661386,MACDHistogram:.013989854926682152},{date:"2024-10-31 14:43:00",open:484.1,low:484,high:484.17,close:484.115,volume:53210,MA20:484.25,MA50:484.29,MA200:485.12,RSI:46.29105625517261,MACDLine:-.042536037045181274,SignalLine:-.006122214462321705,MACDHistogram:-.03641382258285957},{date:"2024-10-31 14:44:00",open:484.12,low:484.06,high:484.53,close:484.4425,volume:289846,MA20:484.25,MA50:484.28,MA200:485.11,RSI:43.596731387420334,MACDLine:-.09031308031183016,SignalLine:-.001875960968403782,MACDHistogram:-.08843711934342638},{date:"2024-10-31 14:45:00",open:484.445,low:484.44,high:484.67,close:484.495,volume:58916,MA20:484.27,MA50:484.28,MA200:485.1,RSI:46.63823852197594,MACDLine:-.06742540709490186,SignalLine:.009308230621767982,MACDHistogram:-.07673363771666984},{date:"2024-10-31 14:46:00",open:484.51,low:484.1901,high:484.51,close:484.2,volume:51679,MA20:484.27,MA50:484.28,MA200:485.09,RSI:48.66489670229878,MACDLine:-.10028622554028743,SignalLine:.012360269383526114,MACDHistogram:-.11264649492381354},{date:"2024-10-31 14:47:00",open:484.22,low:484.1937,high:484.37,close:484.2101,volume:48997,MA20:484.27,MA50:484.27,MA200:485.08,RSI:60.28761569907888,MACDLine:-.1142244159845518,SignalLine:.005664960093063373,MACDHistogram:-.11988937607761517},{date:"2024-10-31 14:48:00",open:484.21,low:484.06,high:484.28,close:484.14,volume:46226,MA20:484.26,MA50:484.27,MA200:485.07,RSI:52.729973386871656,MACDLine:-.10750880573726818,SignalLine:-.009158700378665473,MACDHistogram:-.0983501053586027},{date:"2024-10-31 14:49:00",open:484.14,low:483.99,high:484.24,close:484,volume:73217,MA20:484.23,MA50:484.26,MA200:485.06,RSI:57.3031792033682,MACDLine:-.07243748057453558,SignalLine:-.032735833322543775,MACDHistogram:-.03970164725199181},{date:"2024-10-31 14:50:00",open:484.04,low:484.04,high:484.28,close:484.14,volume:40260,MA20:484.21,MA50:484.26,MA200:485.06,RSI:60.06744381438292,MACDLine:-.07272189855842726,SignalLine:-.05564013241124022,MACDHistogram:-.01708176614718704},{date:"2024-10-31 14:51:00",open:484.1799,low:484.12,high:484.28,close:484.28,volume:39915,MA20:484.2,MA50:484.25,MA200:485.05,RSI:64.4715106707662,MACDLine:-.07970423716977848,SignalLine:-.06974709004656734,MACDHistogram:-.009957147123211135},{date:"2024-10-31 14:52:00",open:484.24,low:484.23,high:484.46,close:484.23,volume:25983,MA20:484.19,MA50:484.26,MA200:485.04,RSI:55.63250624672532,MACDLine:-.10342345136581343,SignalLine:-.07654985329691387,MACDHistogram:-.026873598068899565},{date:"2024-10-31 14:53:00",open:484.29,low:484.14,high:484.34,close:484.26,volume:118626,MA20:484.2,MA50:484.26,MA200:485.04,RSI:57.68944651923497,MACDLine:-.09735708910159246,SignalLine:-.0731090465431848,MACDHistogram:-.024248042558407665},{date:"2024-10-31 14:54:00",open:484.26,low:484.19,high:484.35,close:484.34,volume:37453,MA20:484.21,MA50:484.26,MA200:485.03,RSI:55.75694474341364,MACDLine:-.06448901087918557,SignalLine:-.07452995640525553,MACDHistogram:.010040945526069961},{date:"2024-10-31 14:55:00",open:484.36,low:484.25,high:484.52,close:484.48,volume:37144,MA20:484.22,MA50:484.26,MA200:485.03,RSI:62.1491811143895,MACDLine:-.013926641789851146,SignalLine:-.06809088912149756,MACDHistogram:.05416424733164642},{date:"2024-10-31 14:56:00",open:484.47,low:484.41,high:484.58,close:484.505,volume:38147,MA20:484.24,MA50:484.26,MA200:485.03,RSI:65.42685931995715,MACDLine:-.0069153759079654264,SignalLine:-.05655750740573401,MACDHistogram:.04964213149776858},{date:"2024-10-31 14:57:00",open:484.52,low:484.52,high:484.73,close:484.71,volume:30253,MA20:484.28,MA50:484.27,MA200:485.02,RSI:64.44750734966638,MACDLine:-.02148404562376527,SignalLine:-.04381968282285046,MACDHistogram:.02233563719908519},{date:"2024-10-31 14:58:00",open:484.69,low:484.68,high:484.9,close:484.73,volume:43976,MA20:484.3,MA50:484.28,MA200:485.02,RSI:56.030310738903715,MACDLine:.006597165693563056,SignalLine:-.03666523338492918,MACDHistogram:.043262399078492234},{date:"2024-10-31 14:59:00",open:484.73,low:484.61,high:484.81,close:484.76,volume:32932,MA20:484.33,MA50:484.29,MA200:485.02,RSI:54.424125069745656,MACDLine:.003052134819370167,SignalLine:-.027651067091554658,MACDHistogram:.030703201910924825},{date:"2024-10-31 15:00:00",open:484.745,low:484.745,high:485.13,close:484.98,volume:62282,MA20:484.36,MA50:484.31,MA200:485.02,RSI:67.23999357392665,MACDLine:.03937535526989677,SignalLine:-.014637774571998701,MACDHistogram:.05401312984189548},{date:"2024-10-31 15:01:00",open:484.95,low:484.82,high:485.01,close:484.95,volume:59930,MA20:484.4,MA50:484.31,MA200:485.02,RSI:66.9928901519559,MACDLine:.09723698784102908,SignalLine:.007558644626454981,MACDHistogram:.0896783432145741},{date:"2024-10-31 15:02:00",open:484.9325,low:484.85,high:485.03,close:484.96,volume:55333,MA20:484.45,MA50:484.32,MA200:485.02,RSI:70.4159772793574,MACDLine:.1356387517723192,SignalLine:.03378757805846685,MACDHistogram:.10185117371385236},{date:"2024-10-31 15:03:00",open:484.92,low:484.57,high:484.92,close:484.8328,volume:127493,MA20:484.48,MA50:484.33,MA200:485.02,RSI:77.78688462023796,MACDLine:.14848407589147428,SignalLine:.058356725292879955,MACDHistogram:.09012735059859432},{date:"2024-10-31 15:04:00",open:484.83,low:484.755,high:485.02,close:484.96,volume:32470,MA20:484.51,MA50:484.34,MA200:485.02,RSI:75.39531598409262,MACDLine:.2051996121178945,SignalLine:.07642756706356273,MACDHistogram:.12877204505433176},{date:"2024-10-31 15:05:00",open:484.96,low:484.93,high:485.18,close:485.18,volume:30552,MA20:484.54,MA50:484.36,MA200:485.02,RSI:72.66224060125856,MACDLine:.2636510839978996,SignalLine:.09726330280644477,MACDHistogram:.16638778119145484},{date:"2024-10-31 15:06:00",open:485.15,low:485.12,high:485.29,close:485.24,volume:61395,MA20:484.59,MA50:484.38,MA200:485.02,RSI:75.44131619682133,MACDLine:.3256309468848144,SignalLine:.12695013991399728,MACDHistogram:.19868080697081714},{date:"2024-10-31 15:07:00",open:485.22,low:485.12,high:485.33,close:485.205,volume:48244,MA20:484.64,MA50:484.4,MA200:485.02,RSI:74.90660715549083,MACDLine:.3612397035602726,SignalLine:.15703838346910584,MACDHistogram:.20420132009116673},{date:"2024-10-31 15:08:00",open:485.25,low:485.23,high:485.5399,close:485.38,volume:59461,MA20:484.71,MA50:484.42,MA200:485.02,RSI:73.47664359666678,MACDLine:.39528957548338894,SignalLine:.19553494563153975,MACDHistogram:.1997546298518492},{date:"2024-10-31 15:09:00",open:485.39,low:485.3301,high:485.51,close:485.51,volume:40034,MA20:484.78,MA50:484.45,MA200:485.03,RSI:70.76988535078384,MACDLine:.405654472730987,SignalLine:.2345748432219505,MACDHistogram:.1710796295090365},{date:"2024-10-31 15:10:00",open:485.49,low:485.33,high:485.5325,close:485.35,volume:102194,MA20:484.84,MA50:484.47,MA200:485.03,RSI:70.26674313295327,MACDLine:.4442016037963299,SignalLine:.26890930706718086,MACDHistogram:.17529229672914903},{date:"2024-10-31 15:11:00",open:485.31,low:485.09,high:485.325,close:485.24,volume:74535,MA20:484.89,MA50:484.5,MA200:485.04,RSI:65.78192324683826,MACDLine:.4898679186645154,SignalLine:.30222694589089627,MACDHistogram:.18764097277361913},{date:"2024-10-31 15:12:00",open:485.18,low:485.14,high:485.3082,close:485.24,volume:53950,MA20:484.94,MA50:484.52,MA200:485.04,RSI:65.30787241886688,MACDLine:.48128393627933974,SignalLine:.3406626633907518,MACDHistogram:.14062127288858794},{date:"2024-10-31 15:13:00",open:485.27,low:485.185,high:485.3,close:485.29,volume:34177,MA20:484.99,MA50:484.54,MA200:485.05,RSI:64.625268077002,MACDLine:.48093515968906786,SignalLine:.3745284262089661,MACDHistogram:.10640673348010177},{date:"2024-10-31 15:14:00",open:485.31,low:485.31,high:485.63,close:485.58,volume:63906,MA20:485.05,MA50:484.57,MA200:485.05,RSI:59.152306589741116,MACDLine:.4768305734274918,SignalLine:.4022477617617327,MACDHistogram:.07458281166575909},{date:"2024-10-31 15:15:00",open:485.585,low:485.51,high:485.64,close:485.56,volume:34528,MA20:485.11,MA50:484.6,MA200:485.06,RSI:60.33427875890368,MACDLine:.4885104568037377,SignalLine:.4214019654809623,MACDHistogram:.06710849132277541},{date:"2024-10-31 15:16:00",open:485.57,low:485.4417,high:485.59,close:485.47,volume:36214,MA20:485.16,MA50:484.62,MA200:485.06,RSI:60.08742521084999,MACDLine:.4964988103959058,SignalLine:.4364425309611348,MACDHistogram:.06005627943477104},{date:"2024-10-31 15:17:00",open:485.46,low:485.42,high:485.7008,close:485.7008,volume:136274,MA20:485.21,MA50:484.65,MA200:485.07,RSI:64.85467293096895,MACDLine:.48260032628417093,SignalLine:.44673076983057125,MACDHistogram:.03586955645359968},{date:"2024-10-31 15:18:00",open:485.68,low:485.42,high:485.72,close:485.72,volume:33080,MA20:485.26,MA50:484.68,MA200:485.07,RSI:62.059543008736725,MACDLine:.4560229836356484,SignalLine:.4569998441054673,MACDHistogram:-.0009768604698188743},{date:"2024-10-31 15:19:00",open:485.71,low:485.69,high:485.8047,close:485.79,volume:34216,MA20:485.31,MA50:484.71,MA200:485.07,RSI:56.50388117829242,MACDLine:.4389221138022208,SignalLine:.4601994041827516,MACDHistogram:-.021277290380530833},{date:"2024-10-31 15:20:00",open:485.79,low:485.72,high:485.93,close:485.88,volume:43708,MA20:485.35,MA50:484.73,MA200:485.08,RSI:54.82878838222619,MACDLine:.3990381364686755,SignalLine:.45278227556231065,MACDHistogram:-.05374413909363518},{date:"2024-10-31 15:21:00",open:485.9197,low:485.76,high:486,close:485.82,volume:55443,MA20:485.4,MA50:484.76,MA200:485.08,RSI:55.99690032082826,MACDLine:.34501839614159735,SignalLine:.4456568603830534,MACDHistogram:-.10063846424145606},{date:"2024-10-31 15:22:00",open:485.81,low:485.65,high:485.86,close:485.79,volume:78166,MA20:485.44,MA50:484.78,MA200:485.09,RSI:51.16655107147329,MACDLine:.3171238418165103,SignalLine:.4368372855565498,MACDHistogram:-.1197134437400395},{date:"2024-10-31 15:23:00",open:485.76,low:485.76,high:486.03,close:485.9073,volume:72625,MA20:485.49,MA50:484.82,MA200:485.09,RSI:47.16590476584985,MACDLine:.3255984456879446,SignalLine:.42683896358881435,MACDHistogram:-.10124051790086974},{date:"2024-10-31 15:24:00",open:485.91,low:485.73,high:485.99,close:485.765,volume:61652,MA20:485.53,MA50:484.85,MA200:485.09,RSI:52.03811801050504,MACDLine:.34098823541933143,SignalLine:.4114210902850835,MACDHistogram:-.07043285486575207},{date:"2024-10-31 15:25:00",open:485.77,low:485.62,high:485.8057,close:485.69,volume:40279,MA20:485.56,MA50:484.88,MA200:485.1,RSI:55.71208771324353,MACDLine:.3563986472521492,SignalLine:.3901516602573779,MACDHistogram:-.033753013005228705},{date:"2024-10-31 15:26:00",open:485.69,low:485.6,high:485.81,close:485.75,volume:47014,MA20:485.58,MA50:484.92,MA200:485.1,RSI:55.71208771324354,MACDLine:.3434657743950993,SignalLine:.3670394937506797,MACDHistogram:-.02357371935558039},{date:"2024-10-31 15:27:00",open:485.76,low:485.61,high:485.86,close:485.67,volume:66166,MA20:485.61,MA50:484.95,MA200:485.1,RSI:54.45172998747945,MACDLine:.3319264963209321,SignalLine:.34479362127943747,MACDHistogram:-.012867124958505394},{date:"2024-10-31 15:28:00",open:485.65,low:485.52,high:485.66,close:485.595,volume:82632,MA20:485.62,MA50:484.98,MA200:485.1,RSI:46.20697179862092,MACDLine:.3384065232688158,SignalLine:.3212614981487416,MACDHistogram:.01714502512007421},{date:"2024-10-31 15:29:00",open:485.63,low:485.45,high:485.64,close:485.53,volume:41056,MA20:485.62,MA50:485,MA200:485.1,RSI:46.748878532317455,MACDLine:.2970336627802226,SignalLine:.30181733856875814,MACDHistogram:-.004783675788535557},{date:"2024-10-31 15:30:00",open:485.53,low:485.261,high:485.74,close:485.3,volume:54828,MA20:485.61,MA50:485.02,MA200:485.1,RSI:49.157885545509814,MACDLine:.2592169039343162,SignalLine:.29101707417554834,MACDHistogram:-.03180017024123216},{date:"2024-10-31 15:31:00",open:485.32,low:485.25,high:485.475,close:485.36,volume:64239,MA20:485.62,MA50:485.05,MA200:485.1,RSI:42.04648275487213,MACDLine:.22310581313200828,SignalLine:.2844903822653079,MACDHistogram:-.061384569133299594},{date:"2024-10-31 15:32:00",open:485.36,low:485.11,high:485.42,close:485.11,volume:89076,MA20:485.61,MA50:485.07,MA200:485.1,RSI:41.41347334496789,MACDLine:.17107884540786245,SignalLine:.2742133664096487,MACDHistogram:-.10313452100178627},{date:"2024-10-31 15:33:00",open:485.13,low:485.09,high:485.26,close:485.12,volume:78768,MA20:485.61,MA50:485.09,MA200:485.1,RSI:39.16388008346734,MACDLine:.11960327794309933,SignalLine:.257519649157228,MACDHistogram:-.1379163712141287},{date:"2024-10-31 15:34:00",open:485.11,low:485.11,high:485.22,close:485.12,volume:48087,MA20:485.58,MA50:485.1,MA200:485.1,RSI:36.24102443235157,MACDLine:.08056205142702311,SignalLine:.2327998996334977,MACDHistogram:-.1522378482064746},{date:"2024-10-31 15:35:00",open:485.14,low:485,high:485.28,close:485.26,volume:76792,MA20:485.57,MA50:485.12,MA200:485.09,RSI:37.35194534811475,MACDLine:.024595801562156794,SignalLine:.2051334309430973,MACDHistogram:-.1805376293809405},{date:"2024-10-31 15:36:00",open:485.26,low:485.105,high:485.4,close:485.29,volume:69268,MA20:485.56,MA50:485.14,MA200:485.09,RSI:37.8912156926316,MACDLine:-.02834360537900693,SignalLine:.1734351645986386,MACDHistogram:-.20177876997764554},{date:"2024-10-31 15:37:00",open:485.29,low:485.2,high:485.5299,close:485.45,volume:50144,MA20:485.55,MA50:485.16,MA200:485.09,RSI:34.45546307268292,MACDLine:-.08462854143294862,SignalLine:.1321923249310943,MACDHistogram:-.21682086636404294},{date:"2024-10-31 15:38:00",open:485.41,low:485.25,high:485.51,close:485.33,volume:52142,MA20:485.53,MA50:485.19,MA200:485.09,RSI:36.74523424048325,MACDLine:-.15960126284818443,SignalLine:.09098199046881225,MACDHistogram:-.2505832533169967},{date:"2024-10-31 15:39:00",open:485.32,low:485.29,high:485.55,close:485.48,volume:76471,MA20:485.51,MA50:485.22,MA200:485.09,RSI:37.98051748041265,MACDLine:-.22700860890404329,SignalLine:.04892326210243628,MACDHistogram:-.27593187100647953},{date:"2024-10-31 15:40:00",open:485.48,low:485.2,high:485.48,close:485.21,volume:46695,MA20:485.48,MA50:485.24,MA200:485.08,RSI:36.39203535781241,MACDLine:-.2673793144676324,SignalLine:.005377624345043269,MACDHistogram:-.2727569388126757},{date:"2024-10-31 15:41:00",open:485.22,low:485.135,high:485.48,close:485.4499,volume:83688,MA20:485.46,MA50:485.26,MA200:485.08,RSI:37.58385225570406,MACDLine:-.30458149772204024,SignalLine:-.036047680920661525,MACDHistogram:-.2685338168013787},{date:"2024-10-31 15:42:00",open:485.45,low:485.36,high:485.65,close:485.62,volume:72576,MA20:485.45,MA50:485.29,MA200:485.08,RSI:38.68679387608537,MACDLine:-.3134529171089184,SignalLine:-.07496042063660174,MACDHistogram:-.23849249647231668},{date:"2024-10-31 15:43:00",open:485.62,low:485.6,high:485.75,close:485.75,volume:114252,MA20:485.44,MA50:485.32,MA200:485.08,RSI:39.622546441158576,MACDLine:-.31513457724116734,SignalLine:-.11384103865250797,MACDHistogram:-.20129353858865937},{date:"2024-10-31 15:44:00",open:485.76,low:485.58,high:485.83,close:485.64,volume:63954,MA20:485.44,MA50:485.34,MA200:485.08,RSI:43.04340144207782,MACDLine:-.2706637568682595,SignalLine:-.14845024870617415,MACDHistogram:-.12221350816208534},{date:"2024-10-31 15:45:00",open:485.65,low:485.5701,high:486,close:485.9644,volume:70940,MA20:485.45,MA50:485.37,MA200:485.08,RSI:41.826783858949035,MACDLine:-.2150568005832838,SignalLine:-.17847690953796597,MACDHistogram:-.036579891045317836},{date:"2024-10-31 15:46:00",open:485.955,low:485.8068,high:485.9799,close:485.9,volume:100898,MA20:485.46,MA50:485.4,MA200:485.08,RSI:45.59495774853186,MACDLine:-.1434994592801786,SignalLine:-.20193900156422032,MACDHistogram:.05843954228404172},{date:"2024-10-31 15:47:00",open:485.91,low:485.87,high:486.26,close:486.21,volume:175359,MA20:485.48,MA50:485.43,MA200:485.09,RSI:45.412296426618916,MACDLine:-.09138809697287797,SignalLine:-.21252343624322928,MACDHistogram:.1211353392703513},{date:"2024-10-31 15:48:00",open:486.23,low:486.23,high:486.49,close:486.48,volume:93975,MA20:485.53,MA50:485.47,MA200:485.09,RSI:45.412296426618916,MACDLine:-.03954576767193885,SignalLine:-.20890214307802576,MACDHistogram:.16935637540608692},{date:"2024-10-31 15:49:00",open:486.47,low:486.47,high:486.75,close:486.55,volume:118645,MA20:485.58,MA50:485.5,MA200:485.1,RSI:43.106456819975485,MACDLine:.00021947107461528503,SignalLine:-.1942828502306241,MACDHistogram:.1945023213052394},{date:"2024-10-31 15:50:00",open:486.56,low:486.43,high:486.78,close:486.65,volume:172124,MA20:485.65,MA50:485.54,MA200:485.1,RSI:42.62420763537127,MACDLine:.054753728950117875,SignalLine:-.16670818835777007,MACDHistogram:.22146191730788795},{date:"2024-10-31 15:51:00",open:486.64,low:485.96,high:486.64,close:486.04,volume:157791,MA20:485.68,MA50:485.56,MA200:485.11,RSI:40.110146611221744,MACDLine:.08396285476277399,SignalLine:-.130022006169983,MACDHistogram:.21398486093275698},{date:"2024-10-31 15:52:00",open:486.05,low:485.59,high:486.055,close:485.63,volume:121389,MA20:485.71,MA50:485.57,MA200:485.11,RSI:41.37266345039523,MACDLine:.17085940654897058,SignalLine:-.08374386340218692,MACDHistogram:.2546032699511575},{date:"2024-10-31 15:53:00",open:485.6,low:485.34,high:485.7,close:485.39,volume:113684,MA20:485.72,MA50:485.58,MA200:485.11,RSI:39.14949459752566,MACDLine:.22141305036996073,SignalLine:-.03701389003566878,MACDHistogram:.2584269404056295},{date:"2024-10-31 15:54:00",open:485.4,low:484.48,high:485.5,close:484.52,volume:400713,MA20:485.69,MA50:485.57,MA200:485.1,RSI:41.7987472130016,MACDLine:.2425886022960526,SignalLine:.007496837601234978,MACDHistogram:.23509176469481763},{date:"2024-10-31 15:55:00",open:484.59,low:484.46,high:485.16,close:484.99,volume:812559,MA20:485.68,MA50:485.57,MA200:485.1,RSI:38.3571358937298,MACDLine:.23761501799373264,SignalLine:.045245911821588373,MACDHistogram:.19236910617214426},{date:"2024-10-31 15:56:00",open:484.99,low:484.78,high:485.08,close:484.96,volume:465943,MA20:485.66,MA50:485.56,MA200:485.1,RSI:35.85996620250815,MACDLine:.23261069740436824,SignalLine:.07940441402020497,MACDHistogram:.15320628338416326},{date:"2024-10-31 15:57:00",open:484.97,low:484.97,high:485.42,close:485.37,volume:841854,MA20:485.66,MA50:485.57,MA200:485.1,RSI:33.96143729650376,MACDLine:.17360357261713943,SignalLine:.10914195944324093,MACDHistogram:.06446161317389851},{date:"2024-10-31 15:58:00",open:485.36,low:484.99,high:485.4799,close:485.03,volume:625319,MA20:485.64,MA50:485.56,MA200:485.09,RSI:34.770083234303655,MACDLine:.0962642450142539,SignalLine:.13637258153539733,MACDHistogram:-.04010833652114343},{date:"2024-10-31 15:59:00",open:485.03,low:483.75,high:485.04,close:483.9,volume:1026847,MA20:485.56,MA50:485.53,MA200:485.09,RSI:30.220140675539213,MACDLine:-.047921794871797374,SignalLine:.1567772946817172,MACDHistogram:-.20469908955351457}]}firstUpdated(){this._createChart()}willUpdate(e){return i(this,void 0,void 0,(function*(){e.has("stockData")&&(this.chart?this._updateChart():this._createChart())}))}_getChartData(){return{dates:this.stockData.map((e=>e.date)),closePrices:this.stockData.map((e=>e.close)),ma20:this.stockData.map((e=>{var t;return null!==(t=e.MA20)&&void 0!==t?t:null})),ma50:this.stockData.map((e=>{var t;return null!==(t=e.MA50)&&void 0!==t?t:null})),ma100:this.stockData.map((e=>{var t;return null!==(t=e.MA100)&&void 0!==t?t:null})),ma200:this.stockData.map((e=>{var t;return null!==(t=e.MA200)&&void 0!==t?t:null})),RSI:this.stockData.map((e=>{var t;return null!==(t=e.RSI)&&void 0!==t?t:null})),MACDLine:this.stockData.map((e=>{var t;return null!==(t=e.MACDLine)&&void 0!==t?t:null})),SignalLine:this.stockData.map((e=>{var t;return null!==(t=e.SignalLine)&&void 0!==t?t:null})),MACDHistogram:this.stockData.map((e=>{var t;return null!==(t=e.MACDHistogram)&&void 0!==t?t:null})),volumes:this.stockData.map((e=>{var t;return null!==(t=e.volume)&&void 0!==t?t:0}))}}_updateChart(){if(this.chart){const{dates:e,closePrices:t,ma20:i,ma50:o,ma100:n,ma200:s,RSI:a,MACDLine:l,SignalLine:r,MACDHistogram:h,volumes:g}=this._getChartData();this.chart.data.labels=e,this.chart.data.datasets[0].data=a,this.chart.data.datasets[1].data=h,this.chart.data.datasets[2].data=r,this.chart.data.datasets[3].data=l,this.chart.data.datasets[4].data=t,this.chart.data.datasets[5].data=i,this.chart.data.datasets[6].data=o,this.chart.data.datasets[7].data=n,this.chart.data.datasets[8].data=s,this.chart.data.datasets[9].data=g,this.chart.update()}}_createChart(){var e;const{dates:t,closePrices:i,ma20:o,ma50:n,ma100:s,ma200:a,RSI:l,MACDLine:r,SignalLine:h,MACDHistogram:g,volumes:M}=this._getChartData(),A=null===(e=this.shadowRoot)||void 0===e?void 0:e.getElementById("stockChart");if(!A)return;const c=A.getContext("2d");c&&(this.chart&&this.chart.destroy(),Gl.register(this.customLinePlugin),this.chart=new Gl(c,{type:"line",data:{labels:t,datasets:[{label:"RSI",data:l,borderColor:"rgba(15, 92, 92, 1)",backgroundColor:"rgba(15, 92, 92, 0.2)",fill:!1,borderWidth:2,yAxisID:"yRSI"},{label:"MACDHistogram",data:g,borderColor:"rgba(175, 92, 92, 1)",backgroundColor:"rgba(175, 92, 92, 0.2)",fill:!1,borderWidth:2,yAxisID:"yMACD",hidden:!0},{label:"SignalLine",data:h,borderColor:"rgba(75, 92, 192, 1)",backgroundColor:"rgba(75, 92, 192, 0.2)",fill:!1,borderWidth:1,yAxisID:"yMACD",hidden:!0},{label:"MACDLine",data:r,borderColor:"rgba(175, 192, 192, 1)",backgroundColor:"rgba(175, 192, 192, 0.2)",fill:!1,borderWidth:1,yAxisID:"yMACD",hidden:!0},{label:"Close Price",data:i,borderColor:"rgba(75, 192, 192, 1)",backgroundColor:"rgba(75, 192, 192, 0.2)",fill:!0,borderWidth:1,yAxisID:"yPrice"},{label:"MA20",data:o,borderColor:"rgba(255, 99, 132, 1)",backgroundColor:"rgba(255, 99, 132, 0.2)",fill:!1,borderWidth:2,yAxisID:"yPrice"},{label:"MA50",data:n,borderColor:"rgba(255, 206, 86, 1)",backgroundColor:"rgba(255, 206, 86, 0.2)",fill:!1,borderWidth:2,yAxisID:"yPrice"},{label:"MA100",data:s,borderColor:"rgba(153, 102, 25, 1)",backgroundColor:"rgba(153, 102, 25, 0.2)",fill:!1,borderWidth:2,yAxisID:"yPrice",hidden:!0},{label:"MA200",data:a,borderColor:"rgba(153, 102, 255, 1)",backgroundColor:"rgba(153, 102, 255, 0.2)",fill:!1,borderWidth:2,yAxisID:"yPrice"},{label:"Volume",data:M,yAxisID:"yVolume",fill:!0,backgroundColor:"rgba(252, 3, 57, 0.5)",borderWidth:1,hidden:!0}]},options:{responsive:!0,scales:{yPrice:{type:"linear",position:"left",beginAtZero:!1,title:{display:!0,text:"Price"}},yRSI:{type:"linear",position:"right",beginAtZero:!0,title:{display:!0,text:"RSI"},grid:{drawOnChartArea:!1}},yMACD:{type:"linear",position:"right",beginAtZero:!0,title:{display:!0,text:"MACD"},grid:{drawOnChartArea:!1}},yVolume:{type:"linear",position:"left",beginAtZero:!0,title:{display:!0,text:"Volume"},grid:{drawOnChartArea:!1}}},interaction:{mode:"index",intersect:!1},plugins:{tooltip:{mode:"index",axis:"x"}}}}))}render(){return W`<canvas id="stockChart"></canvas>`}};e([Me({type:Array}),t("design:type",Array)],Jl.prototype,"stockData",void 0),Jl=e([re("stock-chart-display"),t("design:paramtypes",[])],Jl);
|
|
529
|
+
*/function Kt(){}const Zt=(()=>{let t=0;return()=>t++})();function Gt(t){return null==t}function Jt(t){if(Array.isArray&&Array.isArray(t))return!0;const e=Object.prototype.toString.call(t);return"[object"===e.slice(0,7)&&"Array]"===e.slice(-6)}function Qt(t){return null!==t&&"[object Object]"===Object.prototype.toString.call(t)}function te(t){return("number"==typeof t||t instanceof Number)&&isFinite(+t)}function ee(t,e){return te(t)?t:e}function ie(t,e){return void 0===t?e:t}const se=(t,e)=>"string"==typeof t&&t.endsWith("%")?parseFloat(t)/100*e:+t;function ne(t,e,i){if(t&&"function"==typeof t.call)return t.apply(i,e)}function oe(t,e,i,s){let n,o,r;if(Jt(t))if(o=t.length,s)for(n=o-1;n>=0;n--)e.call(i,t[n],n);else for(n=0;n<o;n++)e.call(i,t[n],n);else if(Qt(t))for(r=Object.keys(t),o=r.length,n=0;n<o;n++)e.call(i,t[r[n]],r[n])}function re(t,e){let i,s,n,o;if(!t||!e||t.length!==e.length)return!1;for(i=0,s=t.length;i<s;++i)if(n=t[i],o=e[i],n.datasetIndex!==o.datasetIndex||n.index!==o.index)return!1;return!0}function ae(t){if(Jt(t))return t.map(ae);if(Qt(t)){const e=Object.create(null),i=Object.keys(t),s=i.length;let n=0;for(;n<s;++n)e[i[n]]=ae(t[i[n]]);return e}return t}function le(t){return-1===["__proto__","prototype","constructor"].indexOf(t)}function he(t,e,i,s){if(!le(t))return;const n=e[t],o=i[t];Qt(n)&&Qt(o)?ce(n,o,s):e[t]=ae(o)}function ce(t,e,i){const s=Jt(e)?e:[e],n=s.length;if(!Qt(t))return t;const o=(i=i||{}).merger||he;let r;for(let e=0;e<n;++e){if(r=s[e],!Qt(r))continue;const n=Object.keys(r);for(let e=0,s=n.length;e<s;++e)o(n[e],t,r,i)}return t}function de(t,e){return ce(t,e,{merger:ue})}function ue(t,e,i){if(!le(t))return;const s=e[t],n=i[t];Qt(s)&&Qt(n)?de(s,n):Object.prototype.hasOwnProperty.call(e,t)||(e[t]=ae(n))}const fe={"":t=>t,x:t=>t.x,y:t=>t.y};function pe(t,e){const i=fe[e]||(fe[e]=function(t){const e=function(t){const e=t.split("."),i=[];let s="";for(const t of e)s+=t,s.endsWith("\\")?s=s.slice(0,-1)+".":(i.push(s),s="");return i}(t);return t=>{for(const i of e){if(""===i)break;t=t&&t[i]}return t}}(e));return i(t)}function ge(t){return t.charAt(0).toUpperCase()+t.slice(1)}const me=t=>void 0!==t,be=t=>"function"==typeof t,xe=(t,e)=>{if(t.size!==e.size)return!1;for(const i of t)if(!e.has(i))return!1;return!0};const _e=Math.PI,ye=2*_e,ve=ye+_e,we=Number.POSITIVE_INFINITY,Me=_e/180,ke=_e/2,Se=_e/4,Ae=2*_e/3,Pe=Math.log10,Ce=Math.sign;function De(t,e,i){return Math.abs(t-e)<i}function Oe(t){const e=Math.round(t);t=De(t,e,t/1e3)?e:t;const i=Math.pow(10,Math.floor(Pe(t))),s=t/i;return(s<=1?1:s<=2?2:s<=5?5:10)*i}function Ee(t){return!isNaN(parseFloat(t))&&isFinite(t)}function Te(t,e,i){let s,n,o;for(s=0,n=t.length;s<n;s++)o=t[s][i],isNaN(o)||(e.min=Math.min(e.min,o),e.max=Math.max(e.max,o))}function Re(t){return t*(_e/180)}function Le(t){return t*(180/_e)}function Ie(t){if(!te(t))return;let e=1,i=0;for(;Math.round(t*e)/e!==t;)e*=10,i++;return i}function ze(t,e){const i=e.x-t.x,s=e.y-t.y,n=Math.sqrt(i*i+s*s);let o=Math.atan2(s,i);return o<-.5*_e&&(o+=ye),{angle:o,distance:n}}function $e(t,e){return Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2))}function Fe(t,e){return(t-e+ve)%ye-_e}function Ve(t){return(t%ye+ye)%ye}function He(t,e,i,s){const n=Ve(t),o=Ve(e),r=Ve(i),a=Ve(o-n),l=Ve(r-n),h=Ve(n-o),c=Ve(n-r);return n===o||n===r||s&&o===r||a>l&&h<c}function Ne(t,e,i){return Math.max(e,Math.min(i,t))}function Be(t,e,i){let s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1e-6;return t>=Math.min(e,i)-s&&t<=Math.max(e,i)+s}function We(t,e,i){i=i||(i=>t[i]<e);let s,n=t.length-1,o=0;for(;n-o>1;)s=o+n>>1,i(s)?o=s:n=s;return{lo:o,hi:n}}const je=(t,e,i,s)=>We(t,i,s?s=>{const n=t[s][e];return n<i||n===i&&t[s+1][e]===i}:s=>t[s][e]<i),Ue=(t,e,i)=>We(t,i,(s=>t[s][e]>=i));const Ye=["push","pop","shift","splice","unshift"];function Xe(t,e){const i=t._chartjs;if(!i)return;const s=i.listeners,n=s.indexOf(e);-1!==n&&s.splice(n,1),s.length>0||(Ye.forEach((e=>{delete t[e]})),delete t._chartjs)}function qe(t){const e=new Set(t);return e.size===t.length?t:Array.from(e)}const Ke="undefined"==typeof window?function(t){return t()}:window.requestAnimationFrame;function Ze(t,e){let i=[],s=!1;return function(){for(var n=arguments.length,o=new Array(n),r=0;r<n;r++)o[r]=arguments[r];i=o,s||(s=!0,Ke.call(window,(()=>{s=!1,t.apply(e,i)})))}}const Ge=t=>"start"===t?"left":"end"===t?"right":"center",Je=(t,e,i)=>"start"===t?e:"end"===t?i:(e+i)/2;function Qe(t,e,i){const s=e.length;let n=0,o=s;if(t._sorted){const{iScale:r,_parsed:a}=t,l=r.axis,{min:h,max:c,minDefined:d,maxDefined:u}=r.getUserBounds();d&&(n=Ne(Math.min(je(a,l,h).lo,i?s:je(e,l,r.getPixelForValue(h)).lo),0,s-1)),o=u?Ne(Math.max(je(a,r.axis,c,!0).hi+1,i?0:je(e,l,r.getPixelForValue(c),!0).hi+1),n,s)-n:s-n}return{start:n,count:o}}function ti(t){const{xScale:e,yScale:i,_scaleRanges:s}=t,n={xmin:e.min,xmax:e.max,ymin:i.min,ymax:i.max};if(!s)return t._scaleRanges=n,!0;const o=s.xmin!==e.min||s.xmax!==e.max||s.ymin!==i.min||s.ymax!==i.max;return Object.assign(s,n),o}const ei=t=>0===t||1===t,ii=(t,e,i)=>-Math.pow(2,10*(t-=1))*Math.sin((t-e)*ye/i),si=(t,e,i)=>Math.pow(2,-10*t)*Math.sin((t-e)*ye/i)+1,ni={linear:t=>t,easeInQuad:t=>t*t,easeOutQuad:t=>-t*(t-2),easeInOutQuad:t=>(t/=.5)<1?.5*t*t:-.5*(--t*(t-2)-1),easeInCubic:t=>t*t*t,easeOutCubic:t=>(t-=1)*t*t+1,easeInOutCubic:t=>(t/=.5)<1?.5*t*t*t:.5*((t-=2)*t*t+2),easeInQuart:t=>t*t*t*t,easeOutQuart:t=>-((t-=1)*t*t*t-1),easeInOutQuart:t=>(t/=.5)<1?.5*t*t*t*t:-.5*((t-=2)*t*t*t-2),easeInQuint:t=>t*t*t*t*t,easeOutQuint:t=>(t-=1)*t*t*t*t+1,easeInOutQuint:t=>(t/=.5)<1?.5*t*t*t*t*t:.5*((t-=2)*t*t*t*t+2),easeInSine:t=>1-Math.cos(t*ke),easeOutSine:t=>Math.sin(t*ke),easeInOutSine:t=>-.5*(Math.cos(_e*t)-1),easeInExpo:t=>0===t?0:Math.pow(2,10*(t-1)),easeOutExpo:t=>1===t?1:1-Math.pow(2,-10*t),easeInOutExpo:t=>ei(t)?t:t<.5?.5*Math.pow(2,10*(2*t-1)):.5*(2-Math.pow(2,-10*(2*t-1))),easeInCirc:t=>t>=1?t:-(Math.sqrt(1-t*t)-1),easeOutCirc:t=>Math.sqrt(1-(t-=1)*t),easeInOutCirc:t=>(t/=.5)<1?-.5*(Math.sqrt(1-t*t)-1):.5*(Math.sqrt(1-(t-=2)*t)+1),easeInElastic:t=>ei(t)?t:ii(t,.075,.3),easeOutElastic:t=>ei(t)?t:si(t,.075,.3),easeInOutElastic(t){const e=.1125;return ei(t)?t:t<.5?.5*ii(2*t,e,.45):.5+.5*si(2*t-1,e,.45)},easeInBack(t){const e=1.70158;return t*t*((e+1)*t-e)},easeOutBack(t){const e=1.70158;return(t-=1)*t*((e+1)*t+e)+1},easeInOutBack(t){let e=1.70158;return(t/=.5)<1?t*t*((1+(e*=1.525))*t-e)*.5:.5*((t-=2)*t*((1+(e*=1.525))*t+e)+2)},easeInBounce:t=>1-ni.easeOutBounce(1-t),easeOutBounce(t){const e=7.5625,i=2.75;return t<1/i?e*t*t:t<2/i?e*(t-=1.5/i)*t+.75:t<2.5/i?e*(t-=2.25/i)*t+.9375:e*(t-=2.625/i)*t+.984375},easeInOutBounce:t=>t<.5?.5*ni.easeInBounce(2*t):.5*ni.easeOutBounce(2*t-1)+.5};function oi(t){if(t&&"object"==typeof t){const e=t.toString();return"[object CanvasPattern]"===e||"[object CanvasGradient]"===e}return!1}function ri(t){return oi(t)?t:new qt(t)}function ai(t){return oi(t)?t:new qt(t).saturate(.5).darken(.1).hexString()}const li=["x","y","borderWidth","radius","tension"],hi=["color","borderColor","backgroundColor"];const ci=new Map;function di(t,e,i){return function(t,e){e=e||{};const i=t+JSON.stringify(e);let s=ci.get(i);return s||(s=new Intl.NumberFormat(t,e),ci.set(i,s)),s}(e,i).format(t)}const ui={values:t=>Jt(t)?t:""+t,numeric(t,e,i){if(0===t)return"0";const s=this.chart.options.locale;let n,o=t;if(i.length>1){const e=Math.max(Math.abs(i[0].value),Math.abs(i[i.length-1].value));(e<1e-4||e>1e15)&&(n="scientific"),o=function(t,e){let i=e.length>3?e[2].value-e[1].value:e[1].value-e[0].value;Math.abs(i)>=1&&t!==Math.floor(t)&&(i=t-Math.floor(t));return i}(t,i)}const r=Pe(Math.abs(o)),a=isNaN(r)?1:Math.max(Math.min(-1*Math.floor(r),20),0),l={notation:n,minimumFractionDigits:a,maximumFractionDigits:a};return Object.assign(l,this.options.ticks.format),di(t,s,l)},logarithmic(t,e,i){if(0===t)return"0";const s=i[e].significand||t/Math.pow(10,Math.floor(Pe(t)));return[1,2,3,5,10,15].includes(s)||e>.8*i.length?ui.numeric.call(this,t,e,i):""}};var fi={formatters:ui};const pi=Object.create(null),gi=Object.create(null);function mi(t,e){if(!e)return t;const i=e.split(".");for(let e=0,s=i.length;e<s;++e){const s=i[e];t=t[s]||(t[s]=Object.create(null))}return t}function bi(t,e,i){return"string"==typeof e?ce(mi(t,e),i):ce(mi(t,""),e)}class xi{constructor(t,e){this.animation=void 0,this.backgroundColor="rgba(0,0,0,0.1)",this.borderColor="rgba(0,0,0,0.1)",this.color="#666",this.datasets={},this.devicePixelRatio=t=>t.chart.platform.getDevicePixelRatio(),this.elements={},this.events=["mousemove","mouseout","click","touchstart","touchmove"],this.font={family:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",size:12,style:"normal",lineHeight:1.2,weight:null},this.hover={},this.hoverBackgroundColor=(t,e)=>ai(e.backgroundColor),this.hoverBorderColor=(t,e)=>ai(e.borderColor),this.hoverColor=(t,e)=>ai(e.color),this.indexAxis="x",this.interaction={mode:"nearest",intersect:!0,includeInvisible:!1},this.maintainAspectRatio=!0,this.onHover=null,this.onClick=null,this.parsing=!0,this.plugins={},this.responsive=!0,this.scale=void 0,this.scales={},this.showLine=!0,this.drawActiveElementsOnTop=!0,this.describe(t),this.apply(e)}set(t,e){return bi(this,t,e)}get(t){return mi(this,t)}describe(t,e){return bi(gi,t,e)}override(t,e){return bi(pi,t,e)}route(t,e,i,s){const n=mi(this,t),o=mi(this,i),r="_"+e;Object.defineProperties(n,{[r]:{value:n[e],writable:!0},[e]:{enumerable:!0,get(){const t=this[r],e=o[s];return Qt(t)?Object.assign({},e,t):ie(t,e)},set(t){this[r]=t}}})}apply(t){t.forEach((t=>t(this)))}}var _i=new xi({_scriptable:t=>!t.startsWith("on"),_indexable:t=>"events"!==t,hover:{_fallback:"interaction"},interaction:{_scriptable:!1,_indexable:!1}},[function(t){t.set("animation",{delay:void 0,duration:1e3,easing:"easeOutQuart",fn:void 0,from:void 0,loop:void 0,to:void 0,type:void 0}),t.describe("animation",{_fallback:!1,_indexable:!1,_scriptable:t=>"onProgress"!==t&&"onComplete"!==t&&"fn"!==t}),t.set("animations",{colors:{type:"color",properties:hi},numbers:{type:"number",properties:li}}),t.describe("animations",{_fallback:"animation"}),t.set("transitions",{active:{animation:{duration:400}},resize:{animation:{duration:0}},show:{animations:{colors:{from:"transparent"},visible:{type:"boolean",duration:0}}},hide:{animations:{colors:{to:"transparent"},visible:{type:"boolean",easing:"linear",fn:t=>0|t}}}})},function(t){t.set("layout",{autoPadding:!0,padding:{top:0,right:0,bottom:0,left:0}})},function(t){t.set("scale",{display:!0,offset:!1,reverse:!1,beginAtZero:!1,bounds:"ticks",clip:!0,grace:0,grid:{display:!0,lineWidth:1,drawOnChartArea:!0,drawTicks:!0,tickLength:8,tickWidth:(t,e)=>e.lineWidth,tickColor:(t,e)=>e.color,offset:!1},border:{display:!0,dash:[],dashOffset:0,width:1},title:{display:!1,text:"",padding:{top:4,bottom:4}},ticks:{minRotation:0,maxRotation:50,mirror:!1,textStrokeWidth:0,textStrokeColor:"",padding:3,display:!0,autoSkip:!0,autoSkipPadding:3,labelOffset:0,callback:fi.formatters.values,minor:{},major:{},align:"center",crossAlign:"near",showLabelBackdrop:!1,backdropColor:"rgba(255, 255, 255, 0.75)",backdropPadding:2}}),t.route("scale.ticks","color","","color"),t.route("scale.grid","color","","borderColor"),t.route("scale.border","color","","borderColor"),t.route("scale.title","color","","color"),t.describe("scale",{_fallback:!1,_scriptable:t=>!t.startsWith("before")&&!t.startsWith("after")&&"callback"!==t&&"parser"!==t,_indexable:t=>"borderDash"!==t&&"tickBorderDash"!==t&&"dash"!==t}),t.describe("scales",{_fallback:"scale"}),t.describe("scale.ticks",{_scriptable:t=>"backdropPadding"!==t&&"callback"!==t,_indexable:t=>"backdropPadding"!==t})}]);function yi(t,e,i,s,n){let o=e[n];return o||(o=e[n]=t.measureText(n).width,i.push(n)),o>s&&(s=o),s}function vi(t,e,i,s){let n=(s=s||{}).data=s.data||{},o=s.garbageCollect=s.garbageCollect||[];s.font!==e&&(n=s.data={},o=s.garbageCollect=[],s.font=e),t.save(),t.font=e;let r=0;const a=i.length;let l,h,c,d,u;for(l=0;l<a;l++)if(d=i[l],null==d||Jt(d)){if(Jt(d))for(h=0,c=d.length;h<c;h++)u=d[h],null==u||Jt(u)||(r=yi(t,n,o,r,u))}else r=yi(t,n,o,r,d);t.restore();const f=o.length/2;if(f>i.length){for(l=0;l<f;l++)delete n[o[l]];o.splice(0,f)}return r}function wi(t,e,i){const s=t.currentDevicePixelRatio,n=0!==i?Math.max(i/2,.5):0;return Math.round((e-n)*s)/s+n}function Mi(t,e){(e||t)&&((e=e||t.getContext("2d")).save(),e.resetTransform(),e.clearRect(0,0,t.width,t.height),e.restore())}function ki(t,e,i,s){Si(t,e,i,s,null)}function Si(t,e,i,s,n){let o,r,a,l,h,c,d,u;const f=e.pointStyle,p=e.rotation,g=e.radius;let m=(p||0)*Me;if(f&&"object"==typeof f&&(o=f.toString(),"[object HTMLImageElement]"===o||"[object HTMLCanvasElement]"===o))return t.save(),t.translate(i,s),t.rotate(m),t.drawImage(f,-f.width/2,-f.height/2,f.width,f.height),void t.restore();if(!(isNaN(g)||g<=0)){switch(t.beginPath(),f){default:n?t.ellipse(i,s,n/2,g,0,0,ye):t.arc(i,s,g,0,ye),t.closePath();break;case"triangle":c=n?n/2:g,t.moveTo(i+Math.sin(m)*c,s-Math.cos(m)*g),m+=Ae,t.lineTo(i+Math.sin(m)*c,s-Math.cos(m)*g),m+=Ae,t.lineTo(i+Math.sin(m)*c,s-Math.cos(m)*g),t.closePath();break;case"rectRounded":h=.516*g,l=g-h,r=Math.cos(m+Se)*l,d=Math.cos(m+Se)*(n?n/2-h:l),a=Math.sin(m+Se)*l,u=Math.sin(m+Se)*(n?n/2-h:l),t.arc(i-d,s-a,h,m-_e,m-ke),t.arc(i+u,s-r,h,m-ke,m),t.arc(i+d,s+a,h,m,m+ke),t.arc(i-u,s+r,h,m+ke,m+_e),t.closePath();break;case"rect":if(!p){l=Math.SQRT1_2*g,c=n?n/2:l,t.rect(i-c,s-l,2*c,2*l);break}m+=Se;case"rectRot":d=Math.cos(m)*(n?n/2:g),r=Math.cos(m)*g,a=Math.sin(m)*g,u=Math.sin(m)*(n?n/2:g),t.moveTo(i-d,s-a),t.lineTo(i+u,s-r),t.lineTo(i+d,s+a),t.lineTo(i-u,s+r),t.closePath();break;case"crossRot":m+=Se;case"cross":d=Math.cos(m)*(n?n/2:g),r=Math.cos(m)*g,a=Math.sin(m)*g,u=Math.sin(m)*(n?n/2:g),t.moveTo(i-d,s-a),t.lineTo(i+d,s+a),t.moveTo(i+u,s-r),t.lineTo(i-u,s+r);break;case"star":d=Math.cos(m)*(n?n/2:g),r=Math.cos(m)*g,a=Math.sin(m)*g,u=Math.sin(m)*(n?n/2:g),t.moveTo(i-d,s-a),t.lineTo(i+d,s+a),t.moveTo(i+u,s-r),t.lineTo(i-u,s+r),m+=Se,d=Math.cos(m)*(n?n/2:g),r=Math.cos(m)*g,a=Math.sin(m)*g,u=Math.sin(m)*(n?n/2:g),t.moveTo(i-d,s-a),t.lineTo(i+d,s+a),t.moveTo(i+u,s-r),t.lineTo(i-u,s+r);break;case"line":r=n?n/2:Math.cos(m)*g,a=Math.sin(m)*g,t.moveTo(i-r,s-a),t.lineTo(i+r,s+a);break;case"dash":t.moveTo(i,s),t.lineTo(i+Math.cos(m)*(n?n/2:g),s+Math.sin(m)*g);break;case!1:t.closePath()}t.fill(),e.borderWidth>0&&t.stroke()}}function Ai(t,e,i){return i=i||.5,!e||t&&t.x>e.left-i&&t.x<e.right+i&&t.y>e.top-i&&t.y<e.bottom+i}function Pi(t,e){t.save(),t.beginPath(),t.rect(e.left,e.top,e.right-e.left,e.bottom-e.top),t.clip()}function Ci(t){t.restore()}function Di(t,e,i,s,n){if(!e)return t.lineTo(i.x,i.y);if("middle"===n){const s=(e.x+i.x)/2;t.lineTo(s,e.y),t.lineTo(s,i.y)}else"after"===n!=!!s?t.lineTo(e.x,i.y):t.lineTo(i.x,e.y);t.lineTo(i.x,i.y)}function Oi(t,e,i,s){if(!e)return t.lineTo(i.x,i.y);t.bezierCurveTo(s?e.cp1x:e.cp2x,s?e.cp1y:e.cp2y,s?i.cp2x:i.cp1x,s?i.cp2y:i.cp1y,i.x,i.y)}function Ei(t,e,i,s,n){if(n.strikethrough||n.underline){const o=t.measureText(s),r=e-o.actualBoundingBoxLeft,a=e+o.actualBoundingBoxRight,l=i-o.actualBoundingBoxAscent,h=i+o.actualBoundingBoxDescent,c=n.strikethrough?(l+h)/2:h;t.strokeStyle=t.fillStyle,t.beginPath(),t.lineWidth=n.decorationWidth||2,t.moveTo(r,c),t.lineTo(a,c),t.stroke()}}function Ti(t,e){const i=t.fillStyle;t.fillStyle=e.color,t.fillRect(e.left,e.top,e.width,e.height),t.fillStyle=i}function Ri(t,e,i,s,n){let o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{};const r=Jt(e)?e:[e],a=o.strokeWidth>0&&""!==o.strokeColor;let l,h;for(t.save(),t.font=n.string,function(t,e){e.translation&&t.translate(e.translation[0],e.translation[1]),Gt(e.rotation)||t.rotate(e.rotation),e.color&&(t.fillStyle=e.color),e.textAlign&&(t.textAlign=e.textAlign),e.textBaseline&&(t.textBaseline=e.textBaseline)}(t,o),l=0;l<r.length;++l)h=r[l],o.backdrop&&Ti(t,o.backdrop),a&&(o.strokeColor&&(t.strokeStyle=o.strokeColor),Gt(o.strokeWidth)||(t.lineWidth=o.strokeWidth),t.strokeText(h,i,s,o.maxWidth)),t.fillText(h,i,s,o.maxWidth),Ei(t,i,s,h,o),s+=Number(n.lineHeight);t.restore()}function Li(t,e){const{x:i,y:s,w:n,h:o,radius:r}=e;t.arc(i+r.topLeft,s+r.topLeft,r.topLeft,1.5*_e,_e,!0),t.lineTo(i,s+o-r.bottomLeft),t.arc(i+r.bottomLeft,s+o-r.bottomLeft,r.bottomLeft,_e,ke,!0),t.lineTo(i+n-r.bottomRight,s+o),t.arc(i+n-r.bottomRight,s+o-r.bottomRight,r.bottomRight,ke,0,!0),t.lineTo(i+n,s+r.topRight),t.arc(i+n-r.topRight,s+r.topRight,r.topRight,0,-ke,!0),t.lineTo(i+r.topLeft,s)}const Ii=/^(normal|(\d+(?:\.\d+)?)(px|em|%)?)$/,zi=/^(normal|italic|initial|inherit|unset|(oblique( -?[0-9]?[0-9]deg)?))$/;function $i(t,e){const i=(""+t).match(Ii);if(!i||"normal"===i[1])return 1.2*e;switch(t=+i[2],i[3]){case"px":return t;case"%":t/=100}return e*t}const Fi=t=>+t||0;function Vi(t,e){const i={},s=Qt(e),n=s?Object.keys(e):e,o=Qt(t)?s?i=>ie(t[i],t[e[i]]):e=>t[e]:()=>t;for(const t of n)i[t]=Fi(o(t));return i}function Hi(t){return Vi(t,{top:"y",right:"x",bottom:"y",left:"x"})}function Ni(t){return Vi(t,["topLeft","topRight","bottomLeft","bottomRight"])}function Bi(t){const e=Hi(t);return e.width=e.left+e.right,e.height=e.top+e.bottom,e}function Wi(t,e){t=t||{},e=e||_i.font;let i=ie(t.size,e.size);"string"==typeof i&&(i=parseInt(i,10));let s=ie(t.style,e.style);s&&!(""+s).match(zi)&&(console.warn('Invalid font style specified: "'+s+'"'),s=void 0);const n={family:ie(t.family,e.family),lineHeight:$i(ie(t.lineHeight,e.lineHeight),i),size:i,style:s,weight:ie(t.weight,e.weight),string:""};return n.string=function(t){return!t||Gt(t.size)||Gt(t.family)?null:(t.style?t.style+" ":"")+(t.weight?t.weight+" ":"")+t.size+"px "+t.family}(n),n}function ji(t,e,i,s){let n,o,r,a=!0;for(n=0,o=t.length;n<o;++n)if(r=t[n],void 0!==r&&(void 0!==e&&"function"==typeof r&&(r=r(e),a=!1),void 0!==i&&Jt(r)&&(r=r[i%r.length],a=!1),void 0!==r))return s&&!a&&(s.cacheable=!1),r}function Ui(t,e){return Object.assign(Object.create(t),e)}function Yi(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[""],i=arguments.length>3?arguments[3]:void 0,s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:()=>t[0];const n=(arguments.length>2?arguments[2]:void 0)||t;void 0===i&&(i=ss("_fallback",t));const o={[Symbol.toStringTag]:"Object",_cacheable:!0,_scopes:t,_rootScopes:n,_fallback:i,_getTarget:s,override:s=>Yi([s,...t],e,n,i)};return new Proxy(o,{deleteProperty:(e,i)=>(delete e[i],delete e._keys,delete t[0][i],!0),get:(i,s)=>Gi(i,s,(()=>function(t,e,i,s){let n;for(const o of e)if(n=ss(Ki(o,t),i),void 0!==n)return Zi(t,n)?es(i,s,t,n):n}(s,e,t,i))),getOwnPropertyDescriptor:(t,e)=>Reflect.getOwnPropertyDescriptor(t._scopes[0],e),getPrototypeOf:()=>Reflect.getPrototypeOf(t[0]),has:(t,e)=>ns(t).includes(e),ownKeys:t=>ns(t),set(t,e,i){const n=t._storage||(t._storage=s());return t[e]=n[e]=i,delete t._keys,!0}})}function Xi(t,e,i,s){const n={_cacheable:!1,_proxy:t,_context:e,_subProxy:i,_stack:new Set,_descriptors:qi(t,s),setContext:e=>Xi(t,e,i,s),override:n=>Xi(t.override(n),e,i,s)};return new Proxy(n,{deleteProperty:(e,i)=>(delete e[i],delete t[i],!0),get:(t,e,i)=>Gi(t,e,(()=>function(t,e,i){const{_proxy:s,_context:n,_subProxy:o,_descriptors:r}=t;let a=s[e];be(a)&&r.isScriptable(e)&&(a=function(t,e,i,s){const{_proxy:n,_context:o,_subProxy:r,_stack:a}=i;if(a.has(t))throw new Error("Recursion detected: "+Array.from(a).join("->")+"->"+t);a.add(t);let l=e(o,r||s);a.delete(t),Zi(t,l)&&(l=es(n._scopes,n,t,l));return l}(e,a,t,i));Jt(a)&&a.length&&(a=function(t,e,i,s){const{_proxy:n,_context:o,_subProxy:r,_descriptors:a}=i;if(void 0!==o.index&&s(t))return e[o.index%e.length];if(Qt(e[0])){const i=e,s=n._scopes.filter((t=>t!==i));e=[];for(const l of i){const i=es(s,n,t,l);e.push(Xi(i,o,r&&r[t],a))}}return e}(e,a,t,r.isIndexable));Zi(e,a)&&(a=Xi(a,n,o&&o[e],r));return a}(t,e,i))),getOwnPropertyDescriptor:(e,i)=>e._descriptors.allKeys?Reflect.has(t,i)?{enumerable:!0,configurable:!0}:void 0:Reflect.getOwnPropertyDescriptor(t,i),getPrototypeOf:()=>Reflect.getPrototypeOf(t),has:(e,i)=>Reflect.has(t,i),ownKeys:()=>Reflect.ownKeys(t),set:(e,i,s)=>(t[i]=s,delete e[i],!0)})}function qi(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{scriptable:!0,indexable:!0};const{_scriptable:i=e.scriptable,_indexable:s=e.indexable,_allKeys:n=e.allKeys}=t;return{allKeys:n,scriptable:i,indexable:s,isScriptable:be(i)?i:()=>i,isIndexable:be(s)?s:()=>s}}const Ki=(t,e)=>t?t+ge(e):e,Zi=(t,e)=>Qt(e)&&"adapters"!==t&&(null===Object.getPrototypeOf(e)||e.constructor===Object);function Gi(t,e,i){if(Object.prototype.hasOwnProperty.call(t,e)||"constructor"===e)return t[e];const s=i();return t[e]=s,s}function Ji(t,e,i){return be(t)?t(e,i):t}const Qi=(t,e)=>!0===t?e:"string"==typeof t?pe(e,t):void 0;function ts(t,e,i,s,n){for(const o of e){const e=Qi(i,o);if(e){t.add(e);const o=Ji(e._fallback,i,n);if(void 0!==o&&o!==i&&o!==s)return o}else if(!1===e&&void 0!==s&&i!==s)return null}return!1}function es(t,e,i,s){const n=e._rootScopes,o=Ji(e._fallback,i,s),r=[...t,...n],a=new Set;a.add(s);let l=is(a,r,i,o||i,s);return null!==l&&((void 0===o||o===i||(l=is(a,r,o,l,s),null!==l))&&Yi(Array.from(a),[""],n,o,(()=>function(t,e,i){const s=t._getTarget();e in s||(s[e]={});const n=s[e];if(Jt(n)&&Qt(i))return i;return n||{}}(e,i,s))))}function is(t,e,i,s,n){for(;i;)i=ts(t,e,i,s,n);return i}function ss(t,e){for(const i of e){if(!i)continue;const e=i[t];if(void 0!==e)return e}}function ns(t){let e=t._keys;return e||(e=t._keys=function(t){const e=new Set;for(const i of t)for(const t of Object.keys(i).filter((t=>!t.startsWith("_"))))e.add(t);return Array.from(e)}(t._scopes)),e}function os(t,e,i,s){const{iScale:n}=t,{key:o="r"}=this._parsing,r=new Array(s);let a,l,h,c;for(a=0,l=s;a<l;++a)h=a+i,c=e[h],r[a]={r:n.parse(pe(c,o),h)};return r}const rs=Number.EPSILON||1e-14,as=(t,e)=>e<t.length&&!t[e].skip&&t[e],ls=t=>"x"===t?"y":"x";function hs(t,e,i,s){const n=t.skip?e:t,o=e,r=i.skip?e:i,a=$e(o,n),l=$e(r,o);let h=a/(a+l),c=l/(a+l);h=isNaN(h)?0:h,c=isNaN(c)?0:c;const d=s*h,u=s*c;return{previous:{x:o.x-d*(r.x-n.x),y:o.y-d*(r.y-n.y)},next:{x:o.x+u*(r.x-n.x),y:o.y+u*(r.y-n.y)}}}function cs(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"x";const i=ls(e),s=t.length,n=Array(s).fill(0),o=Array(s);let r,a,l,h=as(t,0);for(r=0;r<s;++r)if(a=l,l=h,h=as(t,r+1),l){if(h){const t=h[e]-l[e];n[r]=0!==t?(h[i]-l[i])/t:0}o[r]=a?h?Ce(n[r-1])!==Ce(n[r])?0:(n[r-1]+n[r])/2:n[r-1]:n[r]}!function(t,e,i){const s=t.length;let n,o,r,a,l,h=as(t,0);for(let c=0;c<s-1;++c)l=h,h=as(t,c+1),l&&h&&(De(e[c],0,rs)?i[c]=i[c+1]=0:(n=i[c]/e[c],o=i[c+1]/e[c],a=Math.pow(n,2)+Math.pow(o,2),a<=9||(r=3/Math.sqrt(a),i[c]=n*r*e[c],i[c+1]=o*r*e[c])))}(t,n,o),function(t,e){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"x";const s=ls(i),n=t.length;let o,r,a,l=as(t,0);for(let h=0;h<n;++h){if(r=a,a=l,l=as(t,h+1),!a)continue;const n=a[i],c=a[s];r&&(o=(n-r[i])/3,a[`cp1${i}`]=n-o,a[`cp1${s}`]=c-o*e[h]),l&&(o=(l[i]-n)/3,a[`cp2${i}`]=n+o,a[`cp2${s}`]=c+o*e[h])}}(t,o,e)}function ds(t,e,i){return Math.max(Math.min(t,i),e)}function us(t,e,i,s,n){let o,r,a,l;if(e.spanGaps&&(t=t.filter((t=>!t.skip))),"monotone"===e.cubicInterpolationMode)cs(t,n);else{let i=s?t[t.length-1]:t[0];for(o=0,r=t.length;o<r;++o)a=t[o],l=hs(i,a,t[Math.min(o+1,r-(s?0:1))%r],e.tension),a.cp1x=l.previous.x,a.cp1y=l.previous.y,a.cp2x=l.next.x,a.cp2y=l.next.y,i=a}e.capBezierPoints&&function(t,e){let i,s,n,o,r,a=Ai(t[0],e);for(i=0,s=t.length;i<s;++i)r=o,o=a,a=i<s-1&&Ai(t[i+1],e),o&&(n=t[i],r&&(n.cp1x=ds(n.cp1x,e.left,e.right),n.cp1y=ds(n.cp1y,e.top,e.bottom)),a&&(n.cp2x=ds(n.cp2x,e.left,e.right),n.cp2y=ds(n.cp2y,e.top,e.bottom)))}(t,i)}function fs(){return"undefined"!=typeof window&&"undefined"!=typeof document}function ps(t){let e=t.parentNode;return e&&"[object ShadowRoot]"===e.toString()&&(e=e.host),e}function gs(t,e,i){let s;return"string"==typeof t?(s=parseInt(t,10),-1!==t.indexOf("%")&&(s=s/100*e.parentNode[i])):s=t,s}const ms=t=>t.ownerDocument.defaultView.getComputedStyle(t,null);const bs=["top","right","bottom","left"];function xs(t,e,i){const s={};i=i?"-"+i:"";for(let n=0;n<4;n++){const o=bs[n];s[o]=parseFloat(t[e+"-"+o+i])||0}return s.width=s.left+s.right,s.height=s.top+s.bottom,s}const _s=(t,e,i)=>(t>0||e>0)&&(!i||!i.shadowRoot);function ys(t,e){if("native"in t)return t;const{canvas:i,currentDevicePixelRatio:s}=e,n=ms(i),o="border-box"===n.boxSizing,r=xs(n,"padding"),a=xs(n,"border","width"),{x:l,y:h,box:c}=function(t,e){const i=t.touches,s=i&&i.length?i[0]:t,{offsetX:n,offsetY:o}=s;let r,a,l=!1;if(_s(n,o,t.target))r=n,a=o;else{const t=e.getBoundingClientRect();r=s.clientX-t.left,a=s.clientY-t.top,l=!0}return{x:r,y:a,box:l}}(t,i),d=r.left+(c&&a.left),u=r.top+(c&&a.top);let{width:f,height:p}=e;return o&&(f-=r.width+a.width,p-=r.height+a.height),{x:Math.round((l-d)/f*i.width/s),y:Math.round((h-u)/p*i.height/s)}}const vs=t=>Math.round(10*t)/10;function ws(t,e,i,s){const n=ms(t),o=xs(n,"margin"),r=gs(n.maxWidth,t,"clientWidth")||we,a=gs(n.maxHeight,t,"clientHeight")||we,l=function(t,e,i){let s,n;if(void 0===e||void 0===i){const o=t&&ps(t);if(o){const t=o.getBoundingClientRect(),r=ms(o),a=xs(r,"border","width"),l=xs(r,"padding");e=t.width-l.width-a.width,i=t.height-l.height-a.height,s=gs(r.maxWidth,o,"clientWidth"),n=gs(r.maxHeight,o,"clientHeight")}else e=t.clientWidth,i=t.clientHeight}return{width:e,height:i,maxWidth:s||we,maxHeight:n||we}}(t,e,i);let{width:h,height:c}=l;if("content-box"===n.boxSizing){const t=xs(n,"border","width"),e=xs(n,"padding");h-=e.width+t.width,c-=e.height+t.height}h=Math.max(0,h-o.width),c=Math.max(0,s?h/s:c-o.height),h=vs(Math.min(h,r,l.maxWidth)),c=vs(Math.min(c,a,l.maxHeight)),h&&!c&&(c=vs(h/2));return(void 0!==e||void 0!==i)&&s&&l.height&&c>l.height&&(c=l.height,h=vs(Math.floor(c*s))),{width:h,height:c}}function Ms(t,e,i){const s=e||1,n=Math.floor(t.height*s),o=Math.floor(t.width*s);t.height=Math.floor(t.height),t.width=Math.floor(t.width);const r=t.canvas;return r.style&&(i||!r.style.height&&!r.style.width)&&(r.style.height=`${t.height}px`,r.style.width=`${t.width}px`),(t.currentDevicePixelRatio!==s||r.height!==n||r.width!==o)&&(t.currentDevicePixelRatio=s,r.height=n,r.width=o,t.ctx.setTransform(s,0,0,s,0,0),!0)}const ks=function(){let t=!1;try{const e={get passive(){return t=!0,!1}};fs()&&(window.addEventListener("test",null,e),window.removeEventListener("test",null,e))}catch(t){}return t}();function Ss(t,e){const i=function(t,e){return ms(t).getPropertyValue(e)}(t,e),s=i&&i.match(/^(\d+)(\.\d+)?px$/);return s?+s[1]:void 0}function As(t,e,i,s){return{x:t.x+i*(e.x-t.x),y:t.y+i*(e.y-t.y)}}function Ps(t,e,i,s){return{x:t.x+i*(e.x-t.x),y:"middle"===s?i<.5?t.y:e.y:"after"===s?i<1?t.y:e.y:i>0?e.y:t.y}}function Cs(t,e,i,s){const n={x:t.cp2x,y:t.cp2y},o={x:e.cp1x,y:e.cp1y},r=As(t,n,i),a=As(n,o,i),l=As(o,e,i),h=As(r,a,i),c=As(a,l,i);return As(h,c,i)}function Ds(t,e,i){return t?function(t,e){return{x:i=>t+t+e-i,setWidth(t){e=t},textAlign:t=>"center"===t?t:"right"===t?"left":"right",xPlus:(t,e)=>t-e,leftForLtr:(t,e)=>t-e}}(e,i):{x:t=>t,setWidth(t){},textAlign:t=>t,xPlus:(t,e)=>t+e,leftForLtr:(t,e)=>t}}function Os(t,e){let i,s;"ltr"!==e&&"rtl"!==e||(i=t.canvas.style,s=[i.getPropertyValue("direction"),i.getPropertyPriority("direction")],i.setProperty("direction",e,"important"),t.prevTextDirection=s)}function Es(t,e){void 0!==e&&(delete t.prevTextDirection,t.canvas.style.setProperty("direction",e[0],e[1]))}function Ts(t){return"angle"===t?{between:He,compare:Fe,normalize:Ve}:{between:Be,compare:(t,e)=>t-e,normalize:t=>t}}function Rs(t){let{start:e,end:i,count:s,loop:n,style:o}=t;return{start:e%s,end:i%s,loop:n&&(i-e+1)%s==0,style:o}}function Ls(t,e,i){if(!i)return[t];const{property:s,start:n,end:o}=i,r=e.length,{compare:a,between:l,normalize:h}=Ts(s),{start:c,end:d,loop:u,style:f}=function(t,e,i){const{property:s,start:n,end:o}=i,{between:r,normalize:a}=Ts(s),l=e.length;let h,c,{start:d,end:u,loop:f}=t;if(f){for(d+=l,u+=l,h=0,c=l;h<c&&r(a(e[d%l][s]),n,o);++h)d--,u--;d%=l,u%=l}return u<d&&(u+=l),{start:d,end:u,loop:f,style:t.style}}(t,e,i),p=[];let g,m,b,x=!1,_=null;const y=()=>x||l(n,b,g)&&0!==a(n,b),v=()=>!x||0===a(o,g)||l(o,b,g);for(let t=c,i=c;t<=d;++t)m=e[t%r],m.skip||(g=h(m[s]),g!==b&&(x=l(g,n,o),null===_&&y()&&(_=0===a(g,n)?t:i),null!==_&&v()&&(p.push(Rs({start:_,end:t,loop:u,count:r,style:f})),_=null),i=t,b=g));return null!==_&&p.push(Rs({start:_,end:d,loop:u,count:r,style:f})),p}function Is(t,e){const i=[],s=t.segments;for(let n=0;n<s.length;n++){const o=Ls(s[n],t.points,e);o.length&&i.push(...o)}return i}function zs(t,e,i,s){return s&&s.setContext&&i?function(t,e,i,s){const n=t._chart.getContext(),o=$s(t.options),{_datasetIndex:r,options:{spanGaps:a}}=t,l=i.length,h=[];let c=o,d=e[0].start,u=d;function f(t,e,s,n){const o=a?-1:1;if(t!==e){for(t+=l;i[t%l].skip;)t-=o;for(;i[e%l].skip;)e+=o;t%l!=e%l&&(h.push({start:t%l,end:e%l,loop:s,style:n}),c=n,d=e%l)}}for(const t of e){d=a?d:t.start;let e,o=i[d%l];for(u=d+1;u<=t.end;u++){const a=i[u%l];e=$s(s.setContext(Ui(n,{type:"segment",p0:o,p1:a,p0DataIndex:(u-1)%l,p1DataIndex:u%l,datasetIndex:r}))),Fs(e,c)&&f(d,u-1,t.loop,c),o=a,c=e}d<u-1&&f(d,u-1,t.loop,c)}return h}(t,e,i,s):e}function $s(t){return{backgroundColor:t.backgroundColor,borderCapStyle:t.borderCapStyle,borderDash:t.borderDash,borderDashOffset:t.borderDashOffset,borderJoinStyle:t.borderJoinStyle,borderWidth:t.borderWidth,borderColor:t.borderColor}}function Fs(t,e){if(!e)return!1;const i=[],s=function(t,e){return oi(e)?(i.includes(e)||i.push(e),i.indexOf(e)):e};return JSON.stringify(t,s)!==JSON.stringify(e,s)}class Vs{constructor(){this._request=null,this._charts=new Map,this._running=!1,this._lastDate=void 0}_notify(t,e,i,s){const n=e.listeners[s],o=e.duration;n.forEach((s=>s({chart:t,initial:e.initial,numSteps:o,currentStep:Math.min(i-e.start,o)})))}_refresh(){this._request||(this._running=!0,this._request=Ke.call(window,(()=>{this._update(),this._request=null,this._running&&this._refresh()})))}_update(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:Date.now(),e=0;this._charts.forEach(((i,s)=>{if(!i.running||!i.items.length)return;const n=i.items;let o,r=n.length-1,a=!1;for(;r>=0;--r)o=n[r],o._active?(o._total>i.duration&&(i.duration=o._total),o.tick(t),a=!0):(n[r]=n[n.length-1],n.pop());a&&(s.draw(),this._notify(s,i,t,"progress")),n.length||(i.running=!1,this._notify(s,i,t,"complete"),i.initial=!1),e+=n.length})),this._lastDate=t,0===e&&(this._running=!1)}_getAnims(t){const e=this._charts;let i=e.get(t);return i||(i={running:!1,initial:!0,items:[],listeners:{complete:[],progress:[]}},e.set(t,i)),i}listen(t,e,i){this._getAnims(t).listeners[e].push(i)}add(t,e){e&&e.length&&this._getAnims(t).items.push(...e)}has(t){return this._getAnims(t).items.length>0}start(t){const e=this._charts.get(t);e&&(e.running=!0,e.start=Date.now(),e.duration=e.items.reduce(((t,e)=>Math.max(t,e._duration)),0),this._refresh())}running(t){if(!this._running)return!1;const e=this._charts.get(t);return!!(e&&e.running&&e.items.length)}stop(t){const e=this._charts.get(t);if(!e||!e.items.length)return;const i=e.items;let s=i.length-1;for(;s>=0;--s)i[s].cancel();e.items=[],this._notify(t,e,Date.now(),"complete")}remove(t){return this._charts.delete(t)}}var Hs=new Vs;const Ns="transparent",Bs={boolean:(t,e,i)=>i>.5?e:t,color(t,e,i){const s=ri(t||Ns),n=s.valid&&ri(e||Ns);return n&&n.valid?n.mix(s,i).hexString():e},number:(t,e,i)=>t+(e-t)*i};class Ws{constructor(t,e,i,s){const n=e[i];s=ji([t.to,s,n,t.from]);const o=ji([t.from,n,s]);this._active=!0,this._fn=t.fn||Bs[t.type||typeof o],this._easing=ni[t.easing]||ni.linear,this._start=Math.floor(Date.now()+(t.delay||0)),this._duration=this._total=Math.floor(t.duration),this._loop=!!t.loop,this._target=e,this._prop=i,this._from=o,this._to=s,this._promises=void 0}active(){return this._active}update(t,e,i){if(this._active){this._notify(!1);const s=this._target[this._prop],n=i-this._start,o=this._duration-n;this._start=i,this._duration=Math.floor(Math.max(o,t.duration)),this._total+=n,this._loop=!!t.loop,this._to=ji([t.to,e,s,t.from]),this._from=ji([t.from,s,e])}}cancel(){this._active&&(this.tick(Date.now()),this._active=!1,this._notify(!1))}tick(t){const e=t-this._start,i=this._duration,s=this._prop,n=this._from,o=this._loop,r=this._to;let a;if(this._active=n!==r&&(o||e<i),!this._active)return this._target[s]=r,void this._notify(!0);e<0?this._target[s]=n:(a=e/i%2,a=o&&a>1?2-a:a,a=this._easing(Math.min(1,Math.max(0,a))),this._target[s]=this._fn(n,r,a))}wait(){const t=this._promises||(this._promises=[]);return new Promise(((e,i)=>{t.push({res:e,rej:i})}))}_notify(t){const e=t?"res":"rej",i=this._promises||[];for(let t=0;t<i.length;t++)i[t][e]()}}class js{constructor(t,e){this._chart=t,this._properties=new Map,this.configure(e)}configure(t){if(!Qt(t))return;const e=Object.keys(_i.animation),i=this._properties;Object.getOwnPropertyNames(t).forEach((s=>{const n=t[s];if(!Qt(n))return;const o={};for(const t of e)o[t]=n[t];(Jt(n.properties)&&n.properties||[s]).forEach((t=>{t!==s&&i.has(t)||i.set(t,o)}))}))}_animateOptions(t,e){const i=e.options,s=function(t,e){if(!e)return;let i=t.options;if(!i)return void(t.options=e);i.$shared&&(t.options=i=Object.assign({},i,{$shared:!1,$animations:{}}));return i}(t,i);if(!s)return[];const n=this._createAnimations(s,i);return i.$shared&&function(t,e){const i=[],s=Object.keys(e);for(let e=0;e<s.length;e++){const n=t[s[e]];n&&n.active()&&i.push(n.wait())}return Promise.all(i)}(t.options.$animations,i).then((()=>{t.options=i}),(()=>{})),n}_createAnimations(t,e){const i=this._properties,s=[],n=t.$animations||(t.$animations={}),o=Object.keys(e),r=Date.now();let a;for(a=o.length-1;a>=0;--a){const l=o[a];if("$"===l.charAt(0))continue;if("options"===l){s.push(...this._animateOptions(t,e));continue}const h=e[l];let c=n[l];const d=i.get(l);if(c){if(d&&c.active()){c.update(d,h,r);continue}c.cancel()}d&&d.duration?(n[l]=c=new Ws(d,t,l,h),s.push(c)):t[l]=h}return s}update(t,e){if(0===this._properties.size)return void Object.assign(t,e);const i=this._createAnimations(t,e);return i.length?(Hs.add(this._chart,i),!0):void 0}}function Us(t,e){const i=t&&t.options||{},s=i.reverse,n=void 0===i.min?e:0,o=void 0===i.max?e:0;return{start:s?o:n,end:s?n:o}}function Ys(t,e){const i=[],s=t._getSortedDatasetMetas(e);let n,o;for(n=0,o=s.length;n<o;++n)i.push(s[n].index);return i}function Xs(t,e,i){let s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};const n=t.keys,o="single"===s.mode;let r,a,l,h;if(null!==e){for(r=0,a=n.length;r<a;++r){if(l=+n[r],l===i){if(s.all)continue;break}h=t.values[l],te(h)&&(o||0===e||Ce(e)===Ce(h))&&(e+=h)}return e}}function qs(t,e){const i=t&&t.options.stacked;return i||void 0===i&&void 0!==e.stack}function Ks(t,e,i){const s=t[e]||(t[e]={});return s[i]||(s[i]={})}function Zs(t,e,i,s){for(const n of e.getMatchingVisibleMetas(s).reverse()){const e=t[n.index];if(i&&e>0||!i&&e<0)return n.index}return null}function Gs(t,e){const{chart:i,_cachedMeta:s}=t,n=i._stacks||(i._stacks={}),{iScale:o,vScale:r,index:a}=s,l=o.axis,h=r.axis,c=function(t,e,i){return`${t.id}.${e.id}.${i.stack||i.type}`}(o,r,s),d=e.length;let u;for(let t=0;t<d;++t){const i=e[t],{[l]:o,[h]:d}=i;u=(i._stacks||(i._stacks={}))[h]=Ks(n,c,o),u[a]=d,u._top=Zs(u,r,!0,s.type),u._bottom=Zs(u,r,!1,s.type);(u._visualValues||(u._visualValues={}))[a]=d}}function Js(t,e){const i=t.scales;return Object.keys(i).filter((t=>i[t].axis===e)).shift()}function Qs(t,e){const i=t.controller.index,s=t.vScale&&t.vScale.axis;if(s){e=e||t._parsed;for(const t of e){const e=t._stacks;if(!e||void 0===e[s]||void 0===e[s][i])return;delete e[s][i],void 0!==e[s]._visualValues&&void 0!==e[s]._visualValues[i]&&delete e[s]._visualValues[i]}}}const tn=t=>"reset"===t||"none"===t,en=(t,e)=>e?t:Object.assign({},t);class sn{constructor(t,e){this.chart=t,this._ctx=t.ctx,this.index=e,this._cachedDataOpts={},this._cachedMeta=this.getMeta(),this._type=this._cachedMeta.type,this.options=void 0,this._parsing=!1,this._data=void 0,this._objectData=void 0,this._sharedOptions=void 0,this._drawStart=void 0,this._drawCount=void 0,this.enableOptionSharing=!1,this.supportsDecimation=!1,this.$context=void 0,this._syncList=[],this.datasetElementType=new.target.datasetElementType,this.dataElementType=new.target.dataElementType,this.initialize()}initialize(){const t=this._cachedMeta;this.configure(),this.linkScales(),t._stacked=qs(t.vScale,t),this.addElements(),this.options.fill&&!this.chart.isPluginEnabled("filler")&&console.warn("Tried to use the 'fill' option without the 'Filler' plugin enabled. Please import and register the 'Filler' plugin and make sure it is not disabled in the options")}updateIndex(t){this.index!==t&&Qs(this._cachedMeta),this.index=t}linkScales(){const t=this.chart,e=this._cachedMeta,i=this.getDataset(),s=(t,e,i,s)=>"x"===t?e:"r"===t?s:i,n=e.xAxisID=ie(i.xAxisID,Js(t,"x")),o=e.yAxisID=ie(i.yAxisID,Js(t,"y")),r=e.rAxisID=ie(i.rAxisID,Js(t,"r")),a=e.indexAxis,l=e.iAxisID=s(a,n,o,r),h=e.vAxisID=s(a,o,n,r);e.xScale=this.getScaleForId(n),e.yScale=this.getScaleForId(o),e.rScale=this.getScaleForId(r),e.iScale=this.getScaleForId(l),e.vScale=this.getScaleForId(h)}getDataset(){return this.chart.data.datasets[this.index]}getMeta(){return this.chart.getDatasetMeta(this.index)}getScaleForId(t){return this.chart.scales[t]}_getOtherScale(t){const e=this._cachedMeta;return t===e.iScale?e.vScale:e.iScale}reset(){this._update("reset")}_destroy(){const t=this._cachedMeta;this._data&&Xe(this._data,this),t._stacked&&Qs(t)}_dataCheck(){const t=this.getDataset(),e=t.data||(t.data=[]),i=this._data;if(Qt(e)){const t=this._cachedMeta;this._data=function(t,e){const{iScale:i,vScale:s}=e,n="x"===i.axis?"x":"y",o="x"===s.axis?"x":"y",r=Object.keys(t),a=new Array(r.length);let l,h,c;for(l=0,h=r.length;l<h;++l)c=r[l],a[l]={[n]:c,[o]:t[c]};return a}(e,t)}else if(i!==e){if(i){Xe(i,this);const t=this._cachedMeta;Qs(t),t._parsed=[]}e&&Object.isExtensible(e)&&(n=this,(s=e)._chartjs?s._chartjs.listeners.push(n):(Object.defineProperty(s,"_chartjs",{configurable:!0,enumerable:!1,value:{listeners:[n]}}),Ye.forEach((t=>{const e="_onData"+ge(t),i=s[t];Object.defineProperty(s,t,{configurable:!0,enumerable:!1,value(){for(var t=arguments.length,n=new Array(t),o=0;o<t;o++)n[o]=arguments[o];const r=i.apply(this,n);return s._chartjs.listeners.forEach((t=>{"function"==typeof t[e]&&t[e](...n)})),r}})})))),this._syncList=[],this._data=e}var s,n}addElements(){const t=this._cachedMeta;this._dataCheck(),this.datasetElementType&&(t.dataset=new this.datasetElementType)}buildOrUpdateElements(t){const e=this._cachedMeta,i=this.getDataset();let s=!1;this._dataCheck();const n=e._stacked;e._stacked=qs(e.vScale,e),e.stack!==i.stack&&(s=!0,Qs(e),e.stack=i.stack),this._resyncElements(t),(s||n!==e._stacked)&&(Gs(this,e._parsed),e._stacked=qs(e.vScale,e))}configure(){const t=this.chart.config,e=t.datasetScopeKeys(this._type),i=t.getOptionScopes(this.getDataset(),e,!0);this.options=t.createResolver(i,this.getContext()),this._parsing=this.options.parsing,this._cachedDataOpts={}}parse(t,e){const{_cachedMeta:i,_data:s}=this,{iScale:n,_stacked:o}=i,r=n.axis;let a,l,h,c=0===t&&e===s.length||i._sorted,d=t>0&&i._parsed[t-1];if(!1===this._parsing)i._parsed=s,i._sorted=!0,h=s;else{h=Jt(s[t])?this.parseArrayData(i,s,t,e):Qt(s[t])?this.parseObjectData(i,s,t,e):this.parsePrimitiveData(i,s,t,e);const n=()=>null===l[r]||d&&l[r]<d[r];for(a=0;a<e;++a)i._parsed[a+t]=l=h[a],c&&(n()&&(c=!1),d=l);i._sorted=c}o&&Gs(this,h)}parsePrimitiveData(t,e,i,s){const{iScale:n,vScale:o}=t,r=n.axis,a=o.axis,l=n.getLabels(),h=n===o,c=new Array(s);let d,u,f;for(d=0,u=s;d<u;++d)f=d+i,c[d]={[r]:h||n.parse(l[f],f),[a]:o.parse(e[f],f)};return c}parseArrayData(t,e,i,s){const{xScale:n,yScale:o}=t,r=new Array(s);let a,l,h,c;for(a=0,l=s;a<l;++a)h=a+i,c=e[h],r[a]={x:n.parse(c[0],h),y:o.parse(c[1],h)};return r}parseObjectData(t,e,i,s){const{xScale:n,yScale:o}=t,{xAxisKey:r="x",yAxisKey:a="y"}=this._parsing,l=new Array(s);let h,c,d,u;for(h=0,c=s;h<c;++h)d=h+i,u=e[d],l[h]={x:n.parse(pe(u,r),d),y:o.parse(pe(u,a),d)};return l}getParsed(t){return this._cachedMeta._parsed[t]}getDataElement(t){return this._cachedMeta.data[t]}applyStack(t,e,i){const s=this.chart,n=this._cachedMeta,o=e[t.axis];return Xs({keys:Ys(s,!0),values:e._stacks[t.axis]._visualValues},o,n.index,{mode:i})}updateRangeFromParsed(t,e,i,s){const n=i[e.axis];let o=null===n?NaN:n;const r=s&&i._stacks[e.axis];s&&r&&(s.values=r,o=Xs(s,n,this._cachedMeta.index)),t.min=Math.min(t.min,o),t.max=Math.max(t.max,o)}getMinMax(t,e){const i=this._cachedMeta,s=i._parsed,n=i._sorted&&t===i.iScale,o=s.length,r=this._getOtherScale(t),a=((t,e,i)=>t&&!e.hidden&&e._stacked&&{keys:Ys(i,!0),values:null})(e,i,this.chart),l={min:Number.POSITIVE_INFINITY,max:Number.NEGATIVE_INFINITY},{min:h,max:c}=function(t){const{min:e,max:i,minDefined:s,maxDefined:n}=t.getUserBounds();return{min:s?e:Number.NEGATIVE_INFINITY,max:n?i:Number.POSITIVE_INFINITY}}(r);let d,u;function f(){u=s[d];const e=u[r.axis];return!te(u[t.axis])||h>e||c<e}for(d=0;d<o&&(f()||(this.updateRangeFromParsed(l,t,u,a),!n));++d);if(n)for(d=o-1;d>=0;--d)if(!f()){this.updateRangeFromParsed(l,t,u,a);break}return l}getAllParsedValues(t){const e=this._cachedMeta._parsed,i=[];let s,n,o;for(s=0,n=e.length;s<n;++s)o=e[s][t.axis],te(o)&&i.push(o);return i}getMaxOverflow(){return!1}getLabelAndValue(t){const e=this._cachedMeta,i=e.iScale,s=e.vScale,n=this.getParsed(t);return{label:i?""+i.getLabelForValue(n[i.axis]):"",value:s?""+s.getLabelForValue(n[s.axis]):""}}_update(t){const e=this._cachedMeta;this.update(t||"default"),e._clip=function(t){let e,i,s,n;return Qt(t)?(e=t.top,i=t.right,s=t.bottom,n=t.left):e=i=s=n=t,{top:e,right:i,bottom:s,left:n,disabled:!1===t}}(ie(this.options.clip,function(t,e,i){if(!1===i)return!1;const s=Us(t,i),n=Us(e,i);return{top:n.end,right:s.end,bottom:n.start,left:s.start}}(e.xScale,e.yScale,this.getMaxOverflow())))}update(t){}draw(){const t=this._ctx,e=this.chart,i=this._cachedMeta,s=i.data||[],n=e.chartArea,o=[],r=this._drawStart||0,a=this._drawCount||s.length-r,l=this.options.drawActiveElementsOnTop;let h;for(i.dataset&&i.dataset.draw(t,n,r,a),h=r;h<r+a;++h){const e=s[h];e.hidden||(e.active&&l?o.push(e):e.draw(t,n))}for(h=0;h<o.length;++h)o[h].draw(t,n)}getStyle(t,e){const i=e?"active":"default";return void 0===t&&this._cachedMeta.dataset?this.resolveDatasetElementOptions(i):this.resolveDataElementOptions(t||0,i)}getContext(t,e,i){const s=this.getDataset();let n;if(t>=0&&t<this._cachedMeta.data.length){const e=this._cachedMeta.data[t];n=e.$context||(e.$context=function(t,e,i){return Ui(t,{active:!1,dataIndex:e,parsed:void 0,raw:void 0,element:i,index:e,mode:"default",type:"data"})}(this.getContext(),t,e)),n.parsed=this.getParsed(t),n.raw=s.data[t],n.index=n.dataIndex=t}else n=this.$context||(this.$context=function(t,e){return Ui(t,{active:!1,dataset:void 0,datasetIndex:e,index:e,mode:"default",type:"dataset"})}(this.chart.getContext(),this.index)),n.dataset=s,n.index=n.datasetIndex=this.index;return n.active=!!e,n.mode=i,n}resolveDatasetElementOptions(t){return this._resolveElementOptions(this.datasetElementType.id,t)}resolveDataElementOptions(t,e){return this._resolveElementOptions(this.dataElementType.id,e,t)}_resolveElementOptions(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"default",i=arguments.length>2?arguments[2]:void 0;const s="active"===e,n=this._cachedDataOpts,o=t+"-"+e,r=n[o],a=this.enableOptionSharing&&me(i);if(r)return en(r,a);const l=this.chart.config,h=l.datasetElementScopeKeys(this._type,t),c=s?[`${t}Hover`,"hover",t,""]:[t,""],d=l.getOptionScopes(this.getDataset(),h),u=Object.keys(_i.elements[t]),f=l.resolveNamedOptions(d,u,(()=>this.getContext(i,s,e)),c);return f.$shared&&(f.$shared=a,n[o]=Object.freeze(en(f,a))),f}_resolveAnimations(t,e,i){const s=this.chart,n=this._cachedDataOpts,o=`animation-${e}`,r=n[o];if(r)return r;let a;if(!1!==s.options.animation){const s=this.chart.config,n=s.datasetAnimationScopeKeys(this._type,e),o=s.getOptionScopes(this.getDataset(),n);a=s.createResolver(o,this.getContext(t,i,e))}const l=new js(s,a&&a.animations);return a&&a._cacheable&&(n[o]=Object.freeze(l)),l}getSharedOptions(t){if(t.$shared)return this._sharedOptions||(this._sharedOptions=Object.assign({},t))}includeOptions(t,e){return!e||tn(t)||this.chart._animationsDisabled}_getSharedOptions(t,e){const i=this.resolveDataElementOptions(t,e),s=this._sharedOptions,n=this.getSharedOptions(i),o=this.includeOptions(e,n)||n!==s;return this.updateSharedOptions(n,e,i),{sharedOptions:n,includeOptions:o}}updateElement(t,e,i,s){tn(s)?Object.assign(t,i):this._resolveAnimations(e,s).update(t,i)}updateSharedOptions(t,e,i){t&&!tn(e)&&this._resolveAnimations(void 0,e).update(t,i)}_setStyle(t,e,i,s){t.active=s;const n=this.getStyle(e,s);this._resolveAnimations(e,i,s).update(t,{options:!s&&this.getSharedOptions(n)||n})}removeHoverStyle(t,e,i){this._setStyle(t,i,"active",!1)}setHoverStyle(t,e,i){this._setStyle(t,i,"active",!0)}_removeDatasetHoverStyle(){const t=this._cachedMeta.dataset;t&&this._setStyle(t,void 0,"active",!1)}_setDatasetHoverStyle(){const t=this._cachedMeta.dataset;t&&this._setStyle(t,void 0,"active",!0)}_resyncElements(t){const e=this._data,i=this._cachedMeta.data;for(const[t,e,i]of this._syncList)this[t](e,i);this._syncList=[];const s=i.length,n=e.length,o=Math.min(n,s);o&&this.parse(0,o),n>s?this._insertElements(s,n-s,t):n<s&&this._removeElements(n,s-n)}_insertElements(t,e){let i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];const s=this._cachedMeta,n=s.data,o=t+e;let r;const a=t=>{for(t.length+=e,r=t.length-1;r>=o;r--)t[r]=t[r-e]};for(a(n),r=t;r<o;++r)n[r]=new this.dataElementType;this._parsing&&a(s._parsed),this.parse(t,e),i&&this.updateElements(n,t,e,"reset")}updateElements(t,e,i,s){}_removeElements(t,e){const i=this._cachedMeta;if(this._parsing){const s=i._parsed.splice(t,e);i._stacked&&Qs(i,s)}i.data.splice(t,e)}_sync(t){if(this._parsing)this._syncList.push(t);else{const[e,i,s]=t;this[e](i,s)}this.chart._dataChanges.push([this.index,...t])}_onDataPush(){const t=arguments.length;this._sync(["_insertElements",this.getDataset().data.length-t,t])}_onDataPop(){this._sync(["_removeElements",this._cachedMeta.data.length-1,1])}_onDataShift(){this._sync(["_removeElements",0,1])}_onDataSplice(t,e){e&&this._sync(["_removeElements",t,e]);const i=arguments.length-2;i&&this._sync(["_insertElements",t,i])}_onDataUnshift(){this._sync(["_insertElements",0,arguments.length])}}function nn(t){const e=t.iScale,i=function(t,e){if(!t._cache.$bar){const i=t.getMatchingVisibleMetas(e);let s=[];for(let e=0,n=i.length;e<n;e++)s=s.concat(i[e].controller.getAllParsedValues(t));t._cache.$bar=qe(s.sort(((t,e)=>t-e)))}return t._cache.$bar}(e,t.type);let s,n,o,r,a=e._length;const l=()=>{32767!==o&&-32768!==o&&(me(r)&&(a=Math.min(a,Math.abs(o-r)||a)),r=o)};for(s=0,n=i.length;s<n;++s)o=e.getPixelForValue(i[s]),l();for(r=void 0,s=0,n=e.ticks.length;s<n;++s)o=e.getPixelForTick(s),l();return a}function on(t,e,i,s){return Jt(t)?function(t,e,i,s){const n=i.parse(t[0],s),o=i.parse(t[1],s),r=Math.min(n,o),a=Math.max(n,o);let l=r,h=a;Math.abs(r)>Math.abs(a)&&(l=a,h=r),e[i.axis]=h,e._custom={barStart:l,barEnd:h,start:n,end:o,min:r,max:a}}(t,e,i,s):e[i.axis]=i.parse(t,s),e}function rn(t,e,i,s){const n=t.iScale,o=t.vScale,r=n.getLabels(),a=n===o,l=[];let h,c,d,u;for(h=i,c=i+s;h<c;++h)u=e[h],d={},d[n.axis]=a||n.parse(r[h],h),l.push(on(u,d,o,h));return l}function an(t){return t&&void 0!==t.barStart&&void 0!==t.barEnd}function ln(t,e,i,s){let n=e.borderSkipped;const o={};if(!n)return void(t.borderSkipped=o);if(!0===n)return void(t.borderSkipped={top:!0,right:!0,bottom:!0,left:!0});const{start:r,end:a,reverse:l,top:h,bottom:c}=function(t){let e,i,s,n,o;return t.horizontal?(e=t.base>t.x,i="left",s="right"):(e=t.base<t.y,i="bottom",s="top"),e?(n="end",o="start"):(n="start",o="end"),{start:i,end:s,reverse:e,top:n,bottom:o}}(t);"middle"===n&&i&&(t.enableBorderRadius=!0,(i._top||0)===s?n=h:(i._bottom||0)===s?n=c:(o[hn(c,r,a,l)]=!0,n=h)),o[hn(n,r,a,l)]=!0,t.borderSkipped=o}function hn(t,e,i,s){var n,o,r;return s?(r=i,t=cn(t=(n=t)===(o=e)?r:n===r?o:n,i,e)):t=cn(t,e,i),t}function cn(t,e,i){return"start"===t?e:"end"===t?i:t}function dn(t,e,i){let{inflateAmount:s}=e;t.inflateAmount="auto"===s?1===i?.33:0:s}gt(sn,"defaults",{}),gt(sn,"datasetElementType",null),gt(sn,"dataElementType",null);class un extends sn{parsePrimitiveData(t,e,i,s){return rn(t,e,i,s)}parseArrayData(t,e,i,s){return rn(t,e,i,s)}parseObjectData(t,e,i,s){const{iScale:n,vScale:o}=t,{xAxisKey:r="x",yAxisKey:a="y"}=this._parsing,l="x"===n.axis?r:a,h="x"===o.axis?r:a,c=[];let d,u,f,p;for(d=i,u=i+s;d<u;++d)p=e[d],f={},f[n.axis]=n.parse(pe(p,l),d),c.push(on(pe(p,h),f,o,d));return c}updateRangeFromParsed(t,e,i,s){super.updateRangeFromParsed(t,e,i,s);const n=i._custom;n&&e===this._cachedMeta.vScale&&(t.min=Math.min(t.min,n.min),t.max=Math.max(t.max,n.max))}getMaxOverflow(){return 0}getLabelAndValue(t){const e=this._cachedMeta,{iScale:i,vScale:s}=e,n=this.getParsed(t),o=n._custom,r=an(o)?"["+o.start+", "+o.end+"]":""+s.getLabelForValue(n[s.axis]);return{label:""+i.getLabelForValue(n[i.axis]),value:r}}initialize(){this.enableOptionSharing=!0,super.initialize();this._cachedMeta.stack=this.getDataset().stack}update(t){const e=this._cachedMeta;this.updateElements(e.data,0,e.data.length,t)}updateElements(t,e,i,s){const n="reset"===s,{index:o,_cachedMeta:{vScale:r}}=this,a=r.getBasePixel(),l=r.isHorizontal(),h=this._getRuler(),{sharedOptions:c,includeOptions:d}=this._getSharedOptions(e,s);for(let u=e;u<e+i;u++){const e=this.getParsed(u),i=n||Gt(e[r.axis])?{base:a,head:a}:this._calculateBarValuePixels(u),f=this._calculateBarIndexPixels(u,h),p=(e._stacks||{})[r.axis],g={horizontal:l,base:i.base,enableBorderRadius:!p||an(e._custom)||o===p._top||o===p._bottom,x:l?i.head:f.center,y:l?f.center:i.head,height:l?f.size:Math.abs(i.size),width:l?Math.abs(i.size):f.size};d&&(g.options=c||this.resolveDataElementOptions(u,t[u].active?"active":s));const m=g.options||t[u].options;ln(g,m,p,o),dn(g,m,h.ratio),this.updateElement(t[u],u,g,s)}}_getStacks(t,e){const{iScale:i}=this._cachedMeta,s=i.getMatchingVisibleMetas(this._type).filter((t=>t.controller.options.grouped)),n=i.options.stacked,o=[],r=this._cachedMeta.controller.getParsed(e),a=r&&r[i.axis],l=t=>{const e=t._parsed.find((t=>t[i.axis]===a)),s=e&&e[t.vScale.axis];if(Gt(s)||isNaN(s))return!0};for(const i of s)if((void 0===e||!l(i))&&((!1===n||-1===o.indexOf(i.stack)||void 0===n&&void 0===i.stack)&&o.push(i.stack),i.index===t))break;return o.length||o.push(void 0),o}_getStackCount(t){return this._getStacks(void 0,t).length}_getStackIndex(t,e,i){const s=this._getStacks(t,i),n=void 0!==e?s.indexOf(e):-1;return-1===n?s.length-1:n}_getRuler(){const t=this.options,e=this._cachedMeta,i=e.iScale,s=[];let n,o;for(n=0,o=e.data.length;n<o;++n)s.push(i.getPixelForValue(this.getParsed(n)[i.axis],n));const r=t.barThickness;return{min:r||nn(e),pixels:s,start:i._startPixel,end:i._endPixel,stackCount:this._getStackCount(),scale:i,grouped:t.grouped,ratio:r?1:t.categoryPercentage*t.barPercentage}}_calculateBarValuePixels(t){const{_cachedMeta:{vScale:e,_stacked:i,index:s},options:{base:n,minBarLength:o}}=this,r=n||0,a=this.getParsed(t),l=a._custom,h=an(l);let c,d,u=a[e.axis],f=0,p=i?this.applyStack(e,a,i):u;p!==u&&(f=p-u,p=u),h&&(u=l.barStart,p=l.barEnd-l.barStart,0!==u&&Ce(u)!==Ce(l.barEnd)&&(f=0),f+=u);const g=Gt(n)||h?f:n;let m=e.getPixelForValue(g);if(c=this.chart.getDataVisibility(t)?e.getPixelForValue(f+p):m,d=c-m,Math.abs(d)<o){d=function(t,e,i){return 0!==t?Ce(t):(e.isHorizontal()?1:-1)*(e.min>=i?1:-1)}(d,e,r)*o,u===r&&(m-=d/2);const t=e.getPixelForDecimal(0),n=e.getPixelForDecimal(1),l=Math.min(t,n),f=Math.max(t,n);m=Math.max(Math.min(m,f),l),c=m+d,i&&!h&&(a._stacks[e.axis]._visualValues[s]=e.getValueForPixel(c)-e.getValueForPixel(m))}if(m===e.getPixelForValue(r)){const t=Ce(d)*e.getLineWidthForValue(r)/2;m+=t,d-=t}return{size:d,base:m,head:c,center:c+d/2}}_calculateBarIndexPixels(t,e){const i=e.scale,s=this.options,n=s.skipNull,o=ie(s.maxBarThickness,1/0);let r,a;if(e.grouped){const i=n?this._getStackCount(t):e.stackCount,l="flex"===s.barThickness?function(t,e,i,s){const n=e.pixels,o=n[t];let r=t>0?n[t-1]:null,a=t<n.length-1?n[t+1]:null;const l=i.categoryPercentage;null===r&&(r=o-(null===a?e.end-e.start:a-o)),null===a&&(a=o+o-r);const h=o-(o-Math.min(r,a))/2*l;return{chunk:Math.abs(a-r)/2*l/s,ratio:i.barPercentage,start:h}}(t,e,s,i):function(t,e,i,s){const n=i.barThickness;let o,r;return Gt(n)?(o=e.min*i.categoryPercentage,r=i.barPercentage):(o=n*s,r=1),{chunk:o/s,ratio:r,start:e.pixels[t]-o/2}}(t,e,s,i),h=this._getStackIndex(this.index,this._cachedMeta.stack,n?t:void 0);r=l.start+l.chunk*h+l.chunk/2,a=Math.min(o,l.chunk*l.ratio)}else r=i.getPixelForValue(this.getParsed(t)[i.axis],t),a=Math.min(o,e.min*e.ratio);return{base:r-a/2,head:r+a/2,center:r,size:a}}draw(){const t=this._cachedMeta,e=t.vScale,i=t.data,s=i.length;let n=0;for(;n<s;++n)null===this.getParsed(n)[e.axis]||i[n].hidden||i[n].draw(this._ctx)}}gt(un,"id","bar"),gt(un,"defaults",{datasetElementType:!1,dataElementType:"bar",categoryPercentage:.8,barPercentage:.9,grouped:!0,animations:{numbers:{type:"number",properties:["x","y","base","width","height"]}}}),gt(un,"overrides",{scales:{_index_:{type:"category",offset:!0,grid:{offset:!0}},_value_:{type:"linear",beginAtZero:!0}}});class fn extends sn{initialize(){this.enableOptionSharing=!0,super.initialize()}parsePrimitiveData(t,e,i,s){const n=super.parsePrimitiveData(t,e,i,s);for(let t=0;t<n.length;t++)n[t]._custom=this.resolveDataElementOptions(t+i).radius;return n}parseArrayData(t,e,i,s){const n=super.parseArrayData(t,e,i,s);for(let t=0;t<n.length;t++){const s=e[i+t];n[t]._custom=ie(s[2],this.resolveDataElementOptions(t+i).radius)}return n}parseObjectData(t,e,i,s){const n=super.parseObjectData(t,e,i,s);for(let t=0;t<n.length;t++){const s=e[i+t];n[t]._custom=ie(s&&s.r&&+s.r,this.resolveDataElementOptions(t+i).radius)}return n}getMaxOverflow(){const t=this._cachedMeta.data;let e=0;for(let i=t.length-1;i>=0;--i)e=Math.max(e,t[i].size(this.resolveDataElementOptions(i))/2);return e>0&&e}getLabelAndValue(t){const e=this._cachedMeta,i=this.chart.data.labels||[],{xScale:s,yScale:n}=e,o=this.getParsed(t),r=s.getLabelForValue(o.x),a=n.getLabelForValue(o.y),l=o._custom;return{label:i[t]||"",value:"("+r+", "+a+(l?", "+l:"")+")"}}update(t){const e=this._cachedMeta.data;this.updateElements(e,0,e.length,t)}updateElements(t,e,i,s){const n="reset"===s,{iScale:o,vScale:r}=this._cachedMeta,{sharedOptions:a,includeOptions:l}=this._getSharedOptions(e,s),h=o.axis,c=r.axis;for(let d=e;d<e+i;d++){const e=t[d],i=!n&&this.getParsed(d),u={},f=u[h]=n?o.getPixelForDecimal(.5):o.getPixelForValue(i[h]),p=u[c]=n?r.getBasePixel():r.getPixelForValue(i[c]);u.skip=isNaN(f)||isNaN(p),l&&(u.options=a||this.resolveDataElementOptions(d,e.active?"active":s),n&&(u.options.radius=0)),this.updateElement(e,d,u,s)}}resolveDataElementOptions(t,e){const i=this.getParsed(t);let s=super.resolveDataElementOptions(t,e);s.$shared&&(s=Object.assign({},s,{$shared:!1}));const n=s.radius;return"active"!==e&&(s.radius=0),s.radius+=ie(i&&i._custom,n),s}}gt(fn,"id","bubble"),gt(fn,"defaults",{datasetElementType:!1,dataElementType:"point",animations:{numbers:{type:"number",properties:["x","y","borderWidth","radius"]}}}),gt(fn,"overrides",{scales:{x:{type:"linear"},y:{type:"linear"}}});class pn extends sn{constructor(t,e){super(t,e),this.enableOptionSharing=!0,this.innerRadius=void 0,this.outerRadius=void 0,this.offsetX=void 0,this.offsetY=void 0}linkScales(){}parse(t,e){const i=this.getDataset().data,s=this._cachedMeta;if(!1===this._parsing)s._parsed=i;else{let n,o,r=t=>+i[t];if(Qt(i[t])){const{key:t="value"}=this._parsing;r=e=>+pe(i[e],t)}for(n=t,o=t+e;n<o;++n)s._parsed[n]=r(n)}}_getRotation(){return Re(this.options.rotation-90)}_getCircumference(){return Re(this.options.circumference)}_getRotationExtents(){let t=ye,e=-ye;for(let i=0;i<this.chart.data.datasets.length;++i)if(this.chart.isDatasetVisible(i)&&this.chart.getDatasetMeta(i).type===this._type){const s=this.chart.getDatasetMeta(i).controller,n=s._getRotation(),o=s._getCircumference();t=Math.min(t,n),e=Math.max(e,n+o)}return{rotation:t,circumference:e-t}}update(t){const e=this.chart,{chartArea:i}=e,s=this._cachedMeta,n=s.data,o=this.getMaxBorderWidth()+this.getMaxOffset(n)+this.options.spacing,r=Math.max((Math.min(i.width,i.height)-o)/2,0),a=Math.min((l=this.options.cutout,h=r,"string"==typeof l&&l.endsWith("%")?parseFloat(l)/100:+l/h),1);var l,h;const c=this._getRingWeight(this.index),{circumference:d,rotation:u}=this._getRotationExtents(),{ratioX:f,ratioY:p,offsetX:g,offsetY:m}=function(t,e,i){let s=1,n=1,o=0,r=0;if(e<ye){const a=t,l=a+e,h=Math.cos(a),c=Math.sin(a),d=Math.cos(l),u=Math.sin(l),f=(t,e,s)=>He(t,a,l,!0)?1:Math.max(e,e*i,s,s*i),p=(t,e,s)=>He(t,a,l,!0)?-1:Math.min(e,e*i,s,s*i),g=f(0,h,d),m=f(ke,c,u),b=p(_e,h,d),x=p(_e+ke,c,u);s=(g-b)/2,n=(m-x)/2,o=-(g+b)/2,r=-(m+x)/2}return{ratioX:s,ratioY:n,offsetX:o,offsetY:r}}(u,d,a),b=(i.width-o)/f,x=(i.height-o)/p,_=Math.max(Math.min(b,x)/2,0),y=se(this.options.radius,_),v=(y-Math.max(y*a,0))/this._getVisibleDatasetWeightTotal();this.offsetX=g*y,this.offsetY=m*y,s.total=this.calculateTotal(),this.outerRadius=y-v*this._getRingWeightOffset(this.index),this.innerRadius=Math.max(this.outerRadius-v*c,0),this.updateElements(n,0,n.length,t)}_circumference(t,e){const i=this.options,s=this._cachedMeta,n=this._getCircumference();return e&&i.animation.animateRotate||!this.chart.getDataVisibility(t)||null===s._parsed[t]||s.data[t].hidden?0:this.calculateCircumference(s._parsed[t]*n/ye)}updateElements(t,e,i,s){const n="reset"===s,o=this.chart,r=o.chartArea,a=o.options.animation,l=(r.left+r.right)/2,h=(r.top+r.bottom)/2,c=n&&a.animateScale,d=c?0:this.innerRadius,u=c?0:this.outerRadius,{sharedOptions:f,includeOptions:p}=this._getSharedOptions(e,s);let g,m=this._getRotation();for(g=0;g<e;++g)m+=this._circumference(g,n);for(g=e;g<e+i;++g){const e=this._circumference(g,n),i=t[g],o={x:l+this.offsetX,y:h+this.offsetY,startAngle:m,endAngle:m+e,circumference:e,outerRadius:u,innerRadius:d};p&&(o.options=f||this.resolveDataElementOptions(g,i.active?"active":s)),m+=e,this.updateElement(i,g,o,s)}}calculateTotal(){const t=this._cachedMeta,e=t.data;let i,s=0;for(i=0;i<e.length;i++){const n=t._parsed[i];null===n||isNaN(n)||!this.chart.getDataVisibility(i)||e[i].hidden||(s+=Math.abs(n))}return s}calculateCircumference(t){const e=this._cachedMeta.total;return e>0&&!isNaN(t)?ye*(Math.abs(t)/e):0}getLabelAndValue(t){const e=this._cachedMeta,i=this.chart,s=i.data.labels||[],n=di(e._parsed[t],i.options.locale);return{label:s[t]||"",value:n}}getMaxBorderWidth(t){let e=0;const i=this.chart;let s,n,o,r,a;if(!t)for(s=0,n=i.data.datasets.length;s<n;++s)if(i.isDatasetVisible(s)){o=i.getDatasetMeta(s),t=o.data,r=o.controller;break}if(!t)return 0;for(s=0,n=t.length;s<n;++s)a=r.resolveDataElementOptions(s),"inner"!==a.borderAlign&&(e=Math.max(e,a.borderWidth||0,a.hoverBorderWidth||0));return e}getMaxOffset(t){let e=0;for(let i=0,s=t.length;i<s;++i){const t=this.resolveDataElementOptions(i);e=Math.max(e,t.offset||0,t.hoverOffset||0)}return e}_getRingWeightOffset(t){let e=0;for(let i=0;i<t;++i)this.chart.isDatasetVisible(i)&&(e+=this._getRingWeight(i));return e}_getRingWeight(t){return Math.max(ie(this.chart.data.datasets[t].weight,1),0)}_getVisibleDatasetWeightTotal(){return this._getRingWeightOffset(this.chart.data.datasets.length)||1}}gt(pn,"id","doughnut"),gt(pn,"defaults",{datasetElementType:!1,dataElementType:"arc",animation:{animateRotate:!0,animateScale:!1},animations:{numbers:{type:"number",properties:["circumference","endAngle","innerRadius","outerRadius","startAngle","x","y","offset","borderWidth","spacing"]}},cutout:"50%",rotation:0,circumference:360,radius:"100%",spacing:0,indexAxis:"r"}),gt(pn,"descriptors",{_scriptable:t=>"spacing"!==t,_indexable:t=>"spacing"!==t&&!t.startsWith("borderDash")&&!t.startsWith("hoverBorderDash")}),gt(pn,"overrides",{aspectRatio:1,plugins:{legend:{labels:{generateLabels(t){const e=t.data;if(e.labels.length&&e.datasets.length){const{labels:{pointStyle:i,color:s}}=t.legend.options;return e.labels.map(((e,n)=>{const o=t.getDatasetMeta(0).controller.getStyle(n);return{text:e,fillStyle:o.backgroundColor,strokeStyle:o.borderColor,fontColor:s,lineWidth:o.borderWidth,pointStyle:i,hidden:!t.getDataVisibility(n),index:n}}))}return[]}},onClick(t,e,i){i.chart.toggleDataVisibility(e.index),i.chart.update()}}}});class gn extends sn{initialize(){this.enableOptionSharing=!0,this.supportsDecimation=!0,super.initialize()}update(t){const e=this._cachedMeta,{dataset:i,data:s=[],_dataset:n}=e,o=this.chart._animationsDisabled;let{start:r,count:a}=Qe(e,s,o);this._drawStart=r,this._drawCount=a,ti(e)&&(r=0,a=s.length),i._chart=this.chart,i._datasetIndex=this.index,i._decimated=!!n._decimated,i.points=s;const l=this.resolveDatasetElementOptions(t);this.options.showLine||(l.borderWidth=0),l.segment=this.options.segment,this.updateElement(i,void 0,{animated:!o,options:l},t),this.updateElements(s,r,a,t)}updateElements(t,e,i,s){const n="reset"===s,{iScale:o,vScale:r,_stacked:a,_dataset:l}=this._cachedMeta,{sharedOptions:h,includeOptions:c}=this._getSharedOptions(e,s),d=o.axis,u=r.axis,{spanGaps:f,segment:p}=this.options,g=Ee(f)?f:Number.POSITIVE_INFINITY,m=this.chart._animationsDisabled||n||"none"===s,b=e+i,x=t.length;let _=e>0&&this.getParsed(e-1);for(let i=0;i<x;++i){const f=t[i],x=m?f:{};if(i<e||i>=b){x.skip=!0;continue}const y=this.getParsed(i),v=Gt(y[u]),w=x[d]=o.getPixelForValue(y[d],i),M=x[u]=n||v?r.getBasePixel():r.getPixelForValue(a?this.applyStack(r,y,a):y[u],i);x.skip=isNaN(w)||isNaN(M)||v,x.stop=i>0&&Math.abs(y[d]-_[d])>g,p&&(x.parsed=y,x.raw=l.data[i]),c&&(x.options=h||this.resolveDataElementOptions(i,f.active?"active":s)),m||this.updateElement(f,i,x,s),_=y}}getMaxOverflow(){const t=this._cachedMeta,e=t.dataset,i=e.options&&e.options.borderWidth||0,s=t.data||[];if(!s.length)return i;const n=s[0].size(this.resolveDataElementOptions(0)),o=s[s.length-1].size(this.resolveDataElementOptions(s.length-1));return Math.max(i,n,o)/2}draw(){const t=this._cachedMeta;t.dataset.updateControlPoints(this.chart.chartArea,t.iScale.axis),super.draw()}}gt(gn,"id","line"),gt(gn,"defaults",{datasetElementType:"line",dataElementType:"point",showLine:!0,spanGaps:!1}),gt(gn,"overrides",{scales:{_index_:{type:"category"},_value_:{type:"linear"}}});class mn extends sn{constructor(t,e){super(t,e),this.innerRadius=void 0,this.outerRadius=void 0}getLabelAndValue(t){const e=this._cachedMeta,i=this.chart,s=i.data.labels||[],n=di(e._parsed[t].r,i.options.locale);return{label:s[t]||"",value:n}}parseObjectData(t,e,i,s){return os.bind(this)(t,e,i,s)}update(t){const e=this._cachedMeta.data;this._updateRadius(),this.updateElements(e,0,e.length,t)}getMinMax(){const t=this._cachedMeta,e={min:Number.POSITIVE_INFINITY,max:Number.NEGATIVE_INFINITY};return t.data.forEach(((t,i)=>{const s=this.getParsed(i).r;!isNaN(s)&&this.chart.getDataVisibility(i)&&(s<e.min&&(e.min=s),s>e.max&&(e.max=s))})),e}_updateRadius(){const t=this.chart,e=t.chartArea,i=t.options,s=Math.min(e.right-e.left,e.bottom-e.top),n=Math.max(s/2,0),o=(n-Math.max(i.cutoutPercentage?n/100*i.cutoutPercentage:1,0))/t.getVisibleDatasetCount();this.outerRadius=n-o*this.index,this.innerRadius=this.outerRadius-o}updateElements(t,e,i,s){const n="reset"===s,o=this.chart,r=o.options.animation,a=this._cachedMeta.rScale,l=a.xCenter,h=a.yCenter,c=a.getIndexAngle(0)-.5*_e;let d,u=c;const f=360/this.countVisibleElements();for(d=0;d<e;++d)u+=this._computeAngle(d,s,f);for(d=e;d<e+i;d++){const e=t[d];let i=u,p=u+this._computeAngle(d,s,f),g=o.getDataVisibility(d)?a.getDistanceFromCenterForValue(this.getParsed(d).r):0;u=p,n&&(r.animateScale&&(g=0),r.animateRotate&&(i=p=c));const m={x:l,y:h,innerRadius:0,outerRadius:g,startAngle:i,endAngle:p,options:this.resolveDataElementOptions(d,e.active?"active":s)};this.updateElement(e,d,m,s)}}countVisibleElements(){const t=this._cachedMeta;let e=0;return t.data.forEach(((t,i)=>{!isNaN(this.getParsed(i).r)&&this.chart.getDataVisibility(i)&&e++})),e}_computeAngle(t,e,i){return this.chart.getDataVisibility(t)?Re(this.resolveDataElementOptions(t,e).angle||i):0}}gt(mn,"id","polarArea"),gt(mn,"defaults",{dataElementType:"arc",animation:{animateRotate:!0,animateScale:!0},animations:{numbers:{type:"number",properties:["x","y","startAngle","endAngle","innerRadius","outerRadius"]}},indexAxis:"r",startAngle:0}),gt(mn,"overrides",{aspectRatio:1,plugins:{legend:{labels:{generateLabels(t){const e=t.data;if(e.labels.length&&e.datasets.length){const{labels:{pointStyle:i,color:s}}=t.legend.options;return e.labels.map(((e,n)=>{const o=t.getDatasetMeta(0).controller.getStyle(n);return{text:e,fillStyle:o.backgroundColor,strokeStyle:o.borderColor,fontColor:s,lineWidth:o.borderWidth,pointStyle:i,hidden:!t.getDataVisibility(n),index:n}}))}return[]}},onClick(t,e,i){i.chart.toggleDataVisibility(e.index),i.chart.update()}}},scales:{r:{type:"radialLinear",angleLines:{display:!1},beginAtZero:!0,grid:{circular:!0},pointLabels:{display:!1},startAngle:0}}});class bn extends pn{}gt(bn,"id","pie"),gt(bn,"defaults",{cutout:0,rotation:0,circumference:360,radius:"100%"});class xn extends sn{getLabelAndValue(t){const e=this._cachedMeta.vScale,i=this.getParsed(t);return{label:e.getLabels()[t],value:""+e.getLabelForValue(i[e.axis])}}parseObjectData(t,e,i,s){return os.bind(this)(t,e,i,s)}update(t){const e=this._cachedMeta,i=e.dataset,s=e.data||[],n=e.iScale.getLabels();if(i.points=s,"resize"!==t){const e=this.resolveDatasetElementOptions(t);this.options.showLine||(e.borderWidth=0);const o={_loop:!0,_fullLoop:n.length===s.length,options:e};this.updateElement(i,void 0,o,t)}this.updateElements(s,0,s.length,t)}updateElements(t,e,i,s){const n=this._cachedMeta.rScale,o="reset"===s;for(let r=e;r<e+i;r++){const e=t[r],i=this.resolveDataElementOptions(r,e.active?"active":s),a=n.getPointPositionForValue(r,this.getParsed(r).r),l=o?n.xCenter:a.x,h=o?n.yCenter:a.y,c={x:l,y:h,angle:a.angle,skip:isNaN(l)||isNaN(h),options:i};this.updateElement(e,r,c,s)}}}gt(xn,"id","radar"),gt(xn,"defaults",{datasetElementType:"line",dataElementType:"point",indexAxis:"r",showLine:!0,elements:{line:{fill:"start"}}}),gt(xn,"overrides",{aspectRatio:1,scales:{r:{type:"radialLinear"}}});class _n extends sn{getLabelAndValue(t){const e=this._cachedMeta,i=this.chart.data.labels||[],{xScale:s,yScale:n}=e,o=this.getParsed(t),r=s.getLabelForValue(o.x),a=n.getLabelForValue(o.y);return{label:i[t]||"",value:"("+r+", "+a+")"}}update(t){const e=this._cachedMeta,{data:i=[]}=e,s=this.chart._animationsDisabled;let{start:n,count:o}=Qe(e,i,s);if(this._drawStart=n,this._drawCount=o,ti(e)&&(n=0,o=i.length),this.options.showLine){this.datasetElementType||this.addElements();const{dataset:n,_dataset:o}=e;n._chart=this.chart,n._datasetIndex=this.index,n._decimated=!!o._decimated,n.points=i;const r=this.resolveDatasetElementOptions(t);r.segment=this.options.segment,this.updateElement(n,void 0,{animated:!s,options:r},t)}else this.datasetElementType&&(delete e.dataset,this.datasetElementType=!1);this.updateElements(i,n,o,t)}addElements(){const{showLine:t}=this.options;!this.datasetElementType&&t&&(this.datasetElementType=this.chart.registry.getElement("line")),super.addElements()}updateElements(t,e,i,s){const n="reset"===s,{iScale:o,vScale:r,_stacked:a,_dataset:l}=this._cachedMeta,h=this.resolveDataElementOptions(e,s),c=this.getSharedOptions(h),d=this.includeOptions(s,c),u=o.axis,f=r.axis,{spanGaps:p,segment:g}=this.options,m=Ee(p)?p:Number.POSITIVE_INFINITY,b=this.chart._animationsDisabled||n||"none"===s;let x=e>0&&this.getParsed(e-1);for(let h=e;h<e+i;++h){const e=t[h],i=this.getParsed(h),p=b?e:{},_=Gt(i[f]),y=p[u]=o.getPixelForValue(i[u],h),v=p[f]=n||_?r.getBasePixel():r.getPixelForValue(a?this.applyStack(r,i,a):i[f],h);p.skip=isNaN(y)||isNaN(v)||_,p.stop=h>0&&Math.abs(i[u]-x[u])>m,g&&(p.parsed=i,p.raw=l.data[h]),d&&(p.options=c||this.resolveDataElementOptions(h,e.active?"active":s)),b||this.updateElement(e,h,p,s),x=i}this.updateSharedOptions(c,s,h)}getMaxOverflow(){const t=this._cachedMeta,e=t.data||[];if(!this.options.showLine){let t=0;for(let i=e.length-1;i>=0;--i)t=Math.max(t,e[i].size(this.resolveDataElementOptions(i))/2);return t>0&&t}const i=t.dataset,s=i.options&&i.options.borderWidth||0;if(!e.length)return s;const n=e[0].size(this.resolveDataElementOptions(0)),o=e[e.length-1].size(this.resolveDataElementOptions(e.length-1));return Math.max(s,n,o)/2}}gt(_n,"id","scatter"),gt(_n,"defaults",{datasetElementType:!1,dataElementType:"point",showLine:!1,fill:!1}),gt(_n,"overrides",{interaction:{mode:"point"},scales:{x:{type:"linear"},y:{type:"linear"}}});var yn=Object.freeze({__proto__:null,BarController:un,BubbleController:fn,DoughnutController:pn,LineController:gn,PieController:bn,PolarAreaController:mn,RadarController:xn,ScatterController:_n});function vn(){throw new Error("This method is not implemented: Check that a complete date adapter is provided.")}class wn{static override(t){Object.assign(wn.prototype,t)}constructor(t){gt(this,"options",void 0),this.options=t||{}}init(){}formats(){return vn()}parse(){return vn()}format(){return vn()}add(){return vn()}diff(){return vn()}startOf(){return vn()}endOf(){return vn()}}var Mn=wn;function kn(t,e,i,s){const{controller:n,data:o,_sorted:r}=t,a=n._cachedMeta.iScale;if(a&&e===a.axis&&"r"!==e&&r&&o.length){const t=a._reversePixels?Ue:je;if(!s)return t(o,e,i);if(n._sharedOptions){const s=o[0],n="function"==typeof s.getRange&&s.getRange(e);if(n){const s=t(o,e,i-n),r=t(o,e,i+n);return{lo:s.lo,hi:r.hi}}}}return{lo:0,hi:o.length-1}}function Sn(t,e,i,s,n){const o=t.getSortedVisibleDatasetMetas(),r=i[e];for(let t=0,i=o.length;t<i;++t){const{index:i,data:a}=o[t],{lo:l,hi:h}=kn(o[t],e,r,n);for(let t=l;t<=h;++t){const e=a[t];e.skip||s(e,i,t)}}}function An(t,e,i,s,n){const o=[];if(!n&&!t.isPointInArea(e))return o;return Sn(t,i,e,(function(i,r,a){(n||Ai(i,t.chartArea,0))&&i.inRange(e.x,e.y,s)&&o.push({element:i,datasetIndex:r,index:a})}),!0),o}function Pn(t,e,i,s,n,o){let r=[];const a=function(t){const e=-1!==t.indexOf("x"),i=-1!==t.indexOf("y");return function(t,s){const n=e?Math.abs(t.x-s.x):0,o=i?Math.abs(t.y-s.y):0;return Math.sqrt(Math.pow(n,2)+Math.pow(o,2))}}(i);let l=Number.POSITIVE_INFINITY;return Sn(t,i,e,(function(i,h,c){const d=i.inRange(e.x,e.y,n);if(s&&!d)return;const u=i.getCenterPoint(n);if(!(!!o||t.isPointInArea(u))&&!d)return;const f=a(e,u);f<l?(r=[{element:i,datasetIndex:h,index:c}],l=f):f===l&&r.push({element:i,datasetIndex:h,index:c})})),r}function Cn(t,e,i,s,n,o){return o||t.isPointInArea(e)?"r"!==i||s?Pn(t,e,i,s,n,o):function(t,e,i,s){let n=[];return Sn(t,i,e,(function(t,i,o){const{startAngle:r,endAngle:a}=t.getProps(["startAngle","endAngle"],s),{angle:l}=ze(t,{x:e.x,y:e.y});He(l,r,a)&&n.push({element:t,datasetIndex:i,index:o})})),n}(t,e,i,n):[]}function Dn(t,e,i,s,n){const o=[],r="x"===i?"inXRange":"inYRange";let a=!1;return Sn(t,i,e,((t,s,l)=>{t[r]&&t[r](e[i],n)&&(o.push({element:t,datasetIndex:s,index:l}),a=a||t.inRange(e.x,e.y,n))})),s&&!a?[]:o}var On={evaluateInteractionItems:Sn,modes:{index(t,e,i,s){const n=ys(e,t),o=i.axis||"x",r=i.includeInvisible||!1,a=i.intersect?An(t,n,o,s,r):Cn(t,n,o,!1,s,r),l=[];return a.length?(t.getSortedVisibleDatasetMetas().forEach((t=>{const e=a[0].index,i=t.data[e];i&&!i.skip&&l.push({element:i,datasetIndex:t.index,index:e})})),l):[]},dataset(t,e,i,s){const n=ys(e,t),o=i.axis||"xy",r=i.includeInvisible||!1;let a=i.intersect?An(t,n,o,s,r):Cn(t,n,o,!1,s,r);if(a.length>0){const e=a[0].datasetIndex,i=t.getDatasetMeta(e).data;a=[];for(let t=0;t<i.length;++t)a.push({element:i[t],datasetIndex:e,index:t})}return a},point:(t,e,i,s)=>An(t,ys(e,t),i.axis||"xy",s,i.includeInvisible||!1),nearest(t,e,i,s){const n=ys(e,t),o=i.axis||"xy",r=i.includeInvisible||!1;return Cn(t,n,o,i.intersect,s,r)},x:(t,e,i,s)=>Dn(t,ys(e,t),"x",i.intersect,s),y:(t,e,i,s)=>Dn(t,ys(e,t),"y",i.intersect,s)}};const En=["left","top","right","bottom"];function Tn(t,e){return t.filter((t=>t.pos===e))}function Rn(t,e){return t.filter((t=>-1===En.indexOf(t.pos)&&t.box.axis===e))}function Ln(t,e){return t.sort(((t,i)=>{const s=e?i:t,n=e?t:i;return s.weight===n.weight?s.index-n.index:s.weight-n.weight}))}function In(t,e){const i=function(t){const e={};for(const i of t){const{stack:t,pos:s,stackWeight:n}=i;if(!t||!En.includes(s))continue;const o=e[t]||(e[t]={count:0,placed:0,weight:0,size:0});o.count++,o.weight+=n}return e}(t),{vBoxMaxWidth:s,hBoxMaxHeight:n}=e;let o,r,a;for(o=0,r=t.length;o<r;++o){a=t[o];const{fullSize:r}=a.box,l=i[a.stack],h=l&&a.stackWeight/l.weight;a.horizontal?(a.width=h?h*s:r&&e.availableWidth,a.height=n):(a.width=s,a.height=h?h*n:r&&e.availableHeight)}return i}function zn(t,e,i,s){return Math.max(t[i],e[i])+Math.max(t[s],e[s])}function $n(t,e){t.top=Math.max(t.top,e.top),t.left=Math.max(t.left,e.left),t.bottom=Math.max(t.bottom,e.bottom),t.right=Math.max(t.right,e.right)}function Fn(t,e,i,s){const{pos:n,box:o}=i,r=t.maxPadding;if(!Qt(n)){i.size&&(t[n]-=i.size);const e=s[i.stack]||{size:0,count:1};e.size=Math.max(e.size,i.horizontal?o.height:o.width),i.size=e.size/e.count,t[n]+=i.size}o.getPadding&&$n(r,o.getPadding());const a=Math.max(0,e.outerWidth-zn(r,t,"left","right")),l=Math.max(0,e.outerHeight-zn(r,t,"top","bottom")),h=a!==t.w,c=l!==t.h;return t.w=a,t.h=l,i.horizontal?{same:h,other:c}:{same:c,other:h}}function Vn(t,e){const i=e.maxPadding;function s(t){const s={left:0,top:0,right:0,bottom:0};return t.forEach((t=>{s[t]=Math.max(e[t],i[t])})),s}return s(t?["left","right"]:["top","bottom"])}function Hn(t,e,i,s){const n=[];let o,r,a,l,h,c;for(o=0,r=t.length,h=0;o<r;++o){a=t[o],l=a.box,l.update(a.width||e.w,a.height||e.h,Vn(a.horizontal,e));const{same:r,other:d}=Fn(e,i,a,s);h|=r&&n.length,c=c||d,l.fullSize||n.push(a)}return h&&Hn(n,e,i,s)||c}function Nn(t,e,i,s,n){t.top=i,t.left=e,t.right=e+s,t.bottom=i+n,t.width=s,t.height=n}function Bn(t,e,i,s){const n=i.padding;let{x:o,y:r}=e;for(const a of t){const t=a.box,l=s[a.stack]||{count:1,placed:0,weight:1},h=a.stackWeight/l.weight||1;if(a.horizontal){const s=e.w*h,o=l.size||t.height;me(l.start)&&(r=l.start),t.fullSize?Nn(t,n.left,r,i.outerWidth-n.right-n.left,o):Nn(t,e.left+l.placed,r,s,o),l.start=r,l.placed+=s,r=t.bottom}else{const s=e.h*h,r=l.size||t.width;me(l.start)&&(o=l.start),t.fullSize?Nn(t,o,n.top,r,i.outerHeight-n.bottom-n.top):Nn(t,o,e.top+l.placed,r,s),l.start=o,l.placed+=s,o=t.right}}e.x=o,e.y=r}var Wn={addBox(t,e){t.boxes||(t.boxes=[]),e.fullSize=e.fullSize||!1,e.position=e.position||"top",e.weight=e.weight||0,e._layers=e._layers||function(){return[{z:0,draw(t){e.draw(t)}}]},t.boxes.push(e)},removeBox(t,e){const i=t.boxes?t.boxes.indexOf(e):-1;-1!==i&&t.boxes.splice(i,1)},configure(t,e,i){e.fullSize=i.fullSize,e.position=i.position,e.weight=i.weight},update(t,e,i,s){if(!t)return;const n=Bi(t.options.layout.padding),o=Math.max(e-n.width,0),r=Math.max(i-n.height,0),a=function(t){const e=function(t){const e=[];let i,s,n,o,r,a;for(i=0,s=(t||[]).length;i<s;++i)n=t[i],({position:o,options:{stack:r,stackWeight:a=1}}=n),e.push({index:i,box:n,pos:o,horizontal:n.isHorizontal(),weight:n.weight,stack:r&&o+r,stackWeight:a});return e}(t),i=Ln(e.filter((t=>t.box.fullSize)),!0),s=Ln(Tn(e,"left"),!0),n=Ln(Tn(e,"right")),o=Ln(Tn(e,"top"),!0),r=Ln(Tn(e,"bottom")),a=Rn(e,"x"),l=Rn(e,"y");return{fullSize:i,leftAndTop:s.concat(o),rightAndBottom:n.concat(l).concat(r).concat(a),chartArea:Tn(e,"chartArea"),vertical:s.concat(n).concat(l),horizontal:o.concat(r).concat(a)}}(t.boxes),l=a.vertical,h=a.horizontal;oe(t.boxes,(t=>{"function"==typeof t.beforeLayout&&t.beforeLayout()}));const c=l.reduce(((t,e)=>e.box.options&&!1===e.box.options.display?t:t+1),0)||1,d=Object.freeze({outerWidth:e,outerHeight:i,padding:n,availableWidth:o,availableHeight:r,vBoxMaxWidth:o/2/c,hBoxMaxHeight:r/2}),u=Object.assign({},n);$n(u,Bi(s));const f=Object.assign({maxPadding:u,w:o,h:r,x:n.left,y:n.top},n),p=In(l.concat(h),d);Hn(a.fullSize,f,d,p),Hn(l,f,d,p),Hn(h,f,d,p)&&Hn(l,f,d,p),function(t){const e=t.maxPadding;function i(i){const s=Math.max(e[i]-t[i],0);return t[i]+=s,s}t.y+=i("top"),t.x+=i("left"),i("right"),i("bottom")}(f),Bn(a.leftAndTop,f,d,p),f.x+=f.w,f.y+=f.h,Bn(a.rightAndBottom,f,d,p),t.chartArea={left:f.left,top:f.top,right:f.left+f.w,bottom:f.top+f.h,height:f.h,width:f.w},oe(a.chartArea,(e=>{const i=e.box;Object.assign(i,t.chartArea),i.update(f.w,f.h,{left:0,top:0,right:0,bottom:0})}))}};class jn{acquireContext(t,e){}releaseContext(t){return!1}addEventListener(t,e,i){}removeEventListener(t,e,i){}getDevicePixelRatio(){return 1}getMaximumSize(t,e,i,s){return e=Math.max(0,e||t.width),i=i||t.height,{width:e,height:Math.max(0,s?Math.floor(e/s):i)}}isAttached(t){return!0}updateConfig(t){}}class Un extends jn{acquireContext(t){return t&&t.getContext&&t.getContext("2d")||null}updateConfig(t){t.options.animation=!1}}const Yn="$chartjs",Xn={touchstart:"mousedown",touchmove:"mousemove",touchend:"mouseup",pointerenter:"mouseenter",pointerdown:"mousedown",pointermove:"mousemove",pointerup:"mouseup",pointerleave:"mouseout",pointerout:"mouseout"},qn=t=>null===t||""===t;const Kn=!!ks&&{passive:!0};function Zn(t,e,i){t&&t.canvas&&t.canvas.removeEventListener(e,i,Kn)}function Gn(t,e){for(const i of t)if(i===e||i.contains(e))return!0}function Jn(t,e,i){const s=t.canvas,n=new MutationObserver((t=>{let e=!1;for(const i of t)e=e||Gn(i.addedNodes,s),e=e&&!Gn(i.removedNodes,s);e&&i()}));return n.observe(document,{childList:!0,subtree:!0}),n}function Qn(t,e,i){const s=t.canvas,n=new MutationObserver((t=>{let e=!1;for(const i of t)e=e||Gn(i.removedNodes,s),e=e&&!Gn(i.addedNodes,s);e&&i()}));return n.observe(document,{childList:!0,subtree:!0}),n}const to=new Map;let eo=0;function io(){const t=window.devicePixelRatio;t!==eo&&(eo=t,to.forEach(((e,i)=>{i.currentDevicePixelRatio!==t&&e()})))}function so(t,e,i){const s=t.canvas,n=s&&ps(s);if(!n)return;const o=Ze(((t,e)=>{const s=n.clientWidth;i(t,e),s<n.clientWidth&&i()}),window),r=new ResizeObserver((t=>{const e=t[0],i=e.contentRect.width,s=e.contentRect.height;0===i&&0===s||o(i,s)}));return r.observe(n),function(t,e){to.size||window.addEventListener("resize",io),to.set(t,e)}(t,o),r}function no(t,e,i){i&&i.disconnect(),"resize"===e&&function(t){to.delete(t),to.size||window.removeEventListener("resize",io)}(t)}function oo(t,e,i){const s=t.canvas,n=Ze((e=>{null!==t.ctx&&i(function(t,e){const i=Xn[t.type]||t.type,{x:s,y:n}=ys(t,e);return{type:i,chart:e,native:t,x:void 0!==s?s:null,y:void 0!==n?n:null}}(e,t))}),t);return function(t,e,i){t&&t.addEventListener(e,i,Kn)}(s,e,n),n}class ro extends jn{acquireContext(t,e){const i=t&&t.getContext&&t.getContext("2d");return i&&i.canvas===t?(function(t,e){const i=t.style,s=t.getAttribute("height"),n=t.getAttribute("width");if(t[Yn]={initial:{height:s,width:n,style:{display:i.display,height:i.height,width:i.width}}},i.display=i.display||"block",i.boxSizing=i.boxSizing||"border-box",qn(n)){const e=Ss(t,"width");void 0!==e&&(t.width=e)}if(qn(s))if(""===t.style.height)t.height=t.width/(e||2);else{const e=Ss(t,"height");void 0!==e&&(t.height=e)}}(t,e),i):null}releaseContext(t){const e=t.canvas;if(!e[Yn])return!1;const i=e[Yn].initial;["height","width"].forEach((t=>{const s=i[t];Gt(s)?e.removeAttribute(t):e.setAttribute(t,s)}));const s=i.style||{};return Object.keys(s).forEach((t=>{e.style[t]=s[t]})),e.width=e.width,delete e[Yn],!0}addEventListener(t,e,i){this.removeEventListener(t,e);const s=t.$proxies||(t.$proxies={}),n={attach:Jn,detach:Qn,resize:so}[e]||oo;s[e]=n(t,e,i)}removeEventListener(t,e){const i=t.$proxies||(t.$proxies={}),s=i[e];if(!s)return;({attach:no,detach:no,resize:no}[e]||Zn)(t,e,s),i[e]=void 0}getDevicePixelRatio(){return window.devicePixelRatio}getMaximumSize(t,e,i,s){return ws(t,e,i,s)}isAttached(t){const e=t&&ps(t);return!(!e||!e.isConnected)}}class ao{constructor(){gt(this,"x",void 0),gt(this,"y",void 0),gt(this,"active",!1),gt(this,"options",void 0),gt(this,"$animations",void 0)}tooltipPosition(t){const{x:e,y:i}=this.getProps(["x","y"],t);return{x:e,y:i}}hasValue(){return Ee(this.x)&&Ee(this.y)}getProps(t,e){const i=this.$animations;if(!e||!i)return this;const s={};return t.forEach((t=>{s[t]=i[t]&&i[t].active()?i[t]._to:this[t]})),s}}function lo(t,e){const i=t.options.ticks,s=function(t){const e=t.options.offset,i=t._tickSize(),s=t._length/i+(e?0:1),n=t._maxLength/i;return Math.floor(Math.min(s,n))}(t),n=Math.min(i.maxTicksLimit||s,s),o=i.major.enabled?function(t){const e=[];let i,s;for(i=0,s=t.length;i<s;i++)t[i].major&&e.push(i);return e}(e):[],r=o.length,a=o[0],l=o[r-1],h=[];if(r>n)return function(t,e,i,s){let n,o=0,r=i[0];for(s=Math.ceil(s),n=0;n<t.length;n++)n===r&&(e.push(t[n]),o++,r=i[o*s])}(e,h,o,r/n),h;const c=function(t,e,i){const s=function(t){const e=t.length;let i,s;if(e<2)return!1;for(s=t[0],i=1;i<e;++i)if(t[i]-t[i-1]!==s)return!1;return s}(t),n=e.length/i;if(!s)return Math.max(n,1);const o=function(t){const e=[],i=Math.sqrt(t);let s;for(s=1;s<i;s++)t%s==0&&(e.push(s),e.push(t/s));return i===(0|i)&&e.push(i),e.sort(((t,e)=>t-e)).pop(),e}(s);for(let t=0,e=o.length-1;t<e;t++){const e=o[t];if(e>n)return e}return Math.max(n,1)}(o,e,n);if(r>0){let t,i;const s=r>1?Math.round((l-a)/(r-1)):null;for(ho(e,h,c,Gt(s)?0:a-s,a),t=0,i=r-1;t<i;t++)ho(e,h,c,o[t],o[t+1]);return ho(e,h,c,l,Gt(s)?e.length:l+s),h}return ho(e,h,c),h}function ho(t,e,i,s,n){const o=ie(s,0),r=Math.min(ie(n,t.length),t.length);let a,l,h,c=0;for(i=Math.ceil(i),n&&(a=n-s,i=a/Math.floor(a/i)),h=o;h<0;)c++,h=Math.round(o+c*i);for(l=Math.max(o,0);l<r;l++)l===h&&(e.push(t[l]),c++,h=Math.round(o+c*i))}gt(ao,"defaults",{}),gt(ao,"defaultRoutes",void 0);const co=(t,e,i)=>"top"===e||"left"===e?t[e]+i:t[e]-i,uo=(t,e)=>Math.min(e||t,t);function fo(t,e){const i=[],s=t.length/e,n=t.length;let o=0;for(;o<n;o+=s)i.push(t[Math.floor(o)]);return i}function po(t,e,i){const s=t.ticks.length,n=Math.min(e,s-1),o=t._startPixel,r=t._endPixel,a=1e-6;let l,h=t.getPixelForTick(n);if(!(i&&(l=1===s?Math.max(h-o,r-h):0===e?(t.getPixelForTick(1)-h)/2:(h-t.getPixelForTick(n-1))/2,h+=n<e?l:-l,h<o-a||h>r+a)))return h}function go(t){return t.drawTicks?t.tickLength:0}function mo(t,e){if(!t.display)return 0;const i=Wi(t.font,e),s=Bi(t.padding);return(Jt(t.text)?t.text.length:1)*i.lineHeight+s.height}function bo(t,e,i){let s=Ge(t);return(i&&"right"!==e||!i&&"right"===e)&&(s=(t=>"left"===t?"right":"right"===t?"left":t)(s)),s}class xo extends ao{constructor(t){super(),this.id=t.id,this.type=t.type,this.options=void 0,this.ctx=t.ctx,this.chart=t.chart,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.width=void 0,this.height=void 0,this._margins={left:0,right:0,top:0,bottom:0},this.maxWidth=void 0,this.maxHeight=void 0,this.paddingTop=void 0,this.paddingBottom=void 0,this.paddingLeft=void 0,this.paddingRight=void 0,this.axis=void 0,this.labelRotation=void 0,this.min=void 0,this.max=void 0,this._range=void 0,this.ticks=[],this._gridLineItems=null,this._labelItems=null,this._labelSizes=null,this._length=0,this._maxLength=0,this._longestTextCache={},this._startPixel=void 0,this._endPixel=void 0,this._reversePixels=!1,this._userMax=void 0,this._userMin=void 0,this._suggestedMax=void 0,this._suggestedMin=void 0,this._ticksLength=0,this._borderValue=0,this._cache={},this._dataLimitsCached=!1,this.$context=void 0}init(t){this.options=t.setContext(this.getContext()),this.axis=t.axis,this._userMin=this.parse(t.min),this._userMax=this.parse(t.max),this._suggestedMin=this.parse(t.suggestedMin),this._suggestedMax=this.parse(t.suggestedMax)}parse(t,e){return t}getUserBounds(){let{_userMin:t,_userMax:e,_suggestedMin:i,_suggestedMax:s}=this;return t=ee(t,Number.POSITIVE_INFINITY),e=ee(e,Number.NEGATIVE_INFINITY),i=ee(i,Number.POSITIVE_INFINITY),s=ee(s,Number.NEGATIVE_INFINITY),{min:ee(t,i),max:ee(e,s),minDefined:te(t),maxDefined:te(e)}}getMinMax(t){let e,{min:i,max:s,minDefined:n,maxDefined:o}=this.getUserBounds();if(n&&o)return{min:i,max:s};const r=this.getMatchingVisibleMetas();for(let a=0,l=r.length;a<l;++a)e=r[a].controller.getMinMax(this,t),n||(i=Math.min(i,e.min)),o||(s=Math.max(s,e.max));return i=o&&i>s?s:i,s=n&&i>s?i:s,{min:ee(i,ee(s,i)),max:ee(s,ee(i,s))}}getPadding(){return{left:this.paddingLeft||0,top:this.paddingTop||0,right:this.paddingRight||0,bottom:this.paddingBottom||0}}getTicks(){return this.ticks}getLabels(){const t=this.chart.data;return this.options.labels||(this.isHorizontal()?t.xLabels:t.yLabels)||t.labels||[]}getLabelItems(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.chart.chartArea;return this._labelItems||(this._labelItems=this._computeLabelItems(t))}beforeLayout(){this._cache={},this._dataLimitsCached=!1}beforeUpdate(){ne(this.options.beforeUpdate,[this])}update(t,e,i){const{beginAtZero:s,grace:n,ticks:o}=this.options,r=o.sampleSize;this.beforeUpdate(),this.maxWidth=t,this.maxHeight=e,this._margins=i=Object.assign({left:0,right:0,top:0,bottom:0},i),this.ticks=null,this._labelSizes=null,this._gridLineItems=null,this._labelItems=null,this.beforeSetDimensions(),this.setDimensions(),this.afterSetDimensions(),this._maxLength=this.isHorizontal()?this.width+i.left+i.right:this.height+i.top+i.bottom,this._dataLimitsCached||(this.beforeDataLimits(),this.determineDataLimits(),this.afterDataLimits(),this._range=function(t,e,i){const{min:s,max:n}=t,o=se(e,(n-s)/2),r=(t,e)=>i&&0===t?0:t+e;return{min:r(s,-Math.abs(o)),max:r(n,o)}}(this,n,s),this._dataLimitsCached=!0),this.beforeBuildTicks(),this.ticks=this.buildTicks()||[],this.afterBuildTicks();const a=r<this.ticks.length;this._convertTicksToLabels(a?fo(this.ticks,r):this.ticks),this.configure(),this.beforeCalculateLabelRotation(),this.calculateLabelRotation(),this.afterCalculateLabelRotation(),o.display&&(o.autoSkip||"auto"===o.source)&&(this.ticks=lo(this,this.ticks),this._labelSizes=null,this.afterAutoSkip()),a&&this._convertTicksToLabels(this.ticks),this.beforeFit(),this.fit(),this.afterFit(),this.afterUpdate()}configure(){let t,e,i=this.options.reverse;this.isHorizontal()?(t=this.left,e=this.right):(t=this.top,e=this.bottom,i=!i),this._startPixel=t,this._endPixel=e,this._reversePixels=i,this._length=e-t,this._alignToPixels=this.options.alignToPixels}afterUpdate(){ne(this.options.afterUpdate,[this])}beforeSetDimensions(){ne(this.options.beforeSetDimensions,[this])}setDimensions(){this.isHorizontal()?(this.width=this.maxWidth,this.left=0,this.right=this.width):(this.height=this.maxHeight,this.top=0,this.bottom=this.height),this.paddingLeft=0,this.paddingTop=0,this.paddingRight=0,this.paddingBottom=0}afterSetDimensions(){ne(this.options.afterSetDimensions,[this])}_callHooks(t){this.chart.notifyPlugins(t,this.getContext()),ne(this.options[t],[this])}beforeDataLimits(){this._callHooks("beforeDataLimits")}determineDataLimits(){}afterDataLimits(){this._callHooks("afterDataLimits")}beforeBuildTicks(){this._callHooks("beforeBuildTicks")}buildTicks(){return[]}afterBuildTicks(){this._callHooks("afterBuildTicks")}beforeTickToLabelConversion(){ne(this.options.beforeTickToLabelConversion,[this])}generateTickLabels(t){const e=this.options.ticks;let i,s,n;for(i=0,s=t.length;i<s;i++)n=t[i],n.label=ne(e.callback,[n.value,i,t],this)}afterTickToLabelConversion(){ne(this.options.afterTickToLabelConversion,[this])}beforeCalculateLabelRotation(){ne(this.options.beforeCalculateLabelRotation,[this])}calculateLabelRotation(){const t=this.options,e=t.ticks,i=uo(this.ticks.length,t.ticks.maxTicksLimit),s=e.minRotation||0,n=e.maxRotation;let o,r,a,l=s;if(!this._isVisible()||!e.display||s>=n||i<=1||!this.isHorizontal())return void(this.labelRotation=s);const h=this._getLabelSizes(),c=h.widest.width,d=h.highest.height,u=Ne(this.chart.width-c,0,this.maxWidth);o=t.offset?this.maxWidth/i:u/(i-1),c+6>o&&(o=u/(i-(t.offset?.5:1)),r=this.maxHeight-go(t.grid)-e.padding-mo(t.title,this.chart.options.font),a=Math.sqrt(c*c+d*d),l=Le(Math.min(Math.asin(Ne((h.highest.height+6)/o,-1,1)),Math.asin(Ne(r/a,-1,1))-Math.asin(Ne(d/a,-1,1)))),l=Math.max(s,Math.min(n,l))),this.labelRotation=l}afterCalculateLabelRotation(){ne(this.options.afterCalculateLabelRotation,[this])}afterAutoSkip(){}beforeFit(){ne(this.options.beforeFit,[this])}fit(){const t={width:0,height:0},{chart:e,options:{ticks:i,title:s,grid:n}}=this,o=this._isVisible(),r=this.isHorizontal();if(o){const o=mo(s,e.options.font);if(r?(t.width=this.maxWidth,t.height=go(n)+o):(t.height=this.maxHeight,t.width=go(n)+o),i.display&&this.ticks.length){const{first:e,last:s,widest:n,highest:o}=this._getLabelSizes(),a=2*i.padding,l=Re(this.labelRotation),h=Math.cos(l),c=Math.sin(l);if(r){const e=i.mirror?0:c*n.width+h*o.height;t.height=Math.min(this.maxHeight,t.height+e+a)}else{const e=i.mirror?0:h*n.width+c*o.height;t.width=Math.min(this.maxWidth,t.width+e+a)}this._calculatePadding(e,s,c,h)}}this._handleMargins(),r?(this.width=this._length=e.width-this._margins.left-this._margins.right,this.height=t.height):(this.width=t.width,this.height=this._length=e.height-this._margins.top-this._margins.bottom)}_calculatePadding(t,e,i,s){const{ticks:{align:n,padding:o},position:r}=this.options,a=0!==this.labelRotation,l="top"!==r&&"x"===this.axis;if(this.isHorizontal()){const r=this.getPixelForTick(0)-this.left,h=this.right-this.getPixelForTick(this.ticks.length-1);let c=0,d=0;a?l?(c=s*t.width,d=i*e.height):(c=i*t.height,d=s*e.width):"start"===n?d=e.width:"end"===n?c=t.width:"inner"!==n&&(c=t.width/2,d=e.width/2),this.paddingLeft=Math.max((c-r+o)*this.width/(this.width-r),0),this.paddingRight=Math.max((d-h+o)*this.width/(this.width-h),0)}else{let i=e.height/2,s=t.height/2;"start"===n?(i=0,s=t.height):"end"===n&&(i=e.height,s=0),this.paddingTop=i+o,this.paddingBottom=s+o}}_handleMargins(){this._margins&&(this._margins.left=Math.max(this.paddingLeft,this._margins.left),this._margins.top=Math.max(this.paddingTop,this._margins.top),this._margins.right=Math.max(this.paddingRight,this._margins.right),this._margins.bottom=Math.max(this.paddingBottom,this._margins.bottom))}afterFit(){ne(this.options.afterFit,[this])}isHorizontal(){const{axis:t,position:e}=this.options;return"top"===e||"bottom"===e||"x"===t}isFullSize(){return this.options.fullSize}_convertTicksToLabels(t){let e,i;for(this.beforeTickToLabelConversion(),this.generateTickLabels(t),e=0,i=t.length;e<i;e++)Gt(t[e].label)&&(t.splice(e,1),i--,e--);this.afterTickToLabelConversion()}_getLabelSizes(){let t=this._labelSizes;if(!t){const e=this.options.ticks.sampleSize;let i=this.ticks;e<i.length&&(i=fo(i,e)),this._labelSizes=t=this._computeLabelSizes(i,i.length,this.options.ticks.maxTicksLimit)}return t}_computeLabelSizes(t,e,i){const{ctx:s,_longestTextCache:n}=this,o=[],r=[],a=Math.floor(e/uo(e,i));let l,h,c,d,u,f,p,g,m,b,x,_=0,y=0;for(l=0;l<e;l+=a){if(d=t[l].label,u=this._resolveTickFontOptions(l),s.font=f=u.string,p=n[f]=n[f]||{data:{},gc:[]},g=u.lineHeight,m=b=0,Gt(d)||Jt(d)){if(Jt(d))for(h=0,c=d.length;h<c;++h)x=d[h],Gt(x)||Jt(x)||(m=yi(s,p.data,p.gc,m,x),b+=g)}else m=yi(s,p.data,p.gc,m,d),b=g;o.push(m),r.push(b),_=Math.max(m,_),y=Math.max(b,y)}!function(t,e){oe(t,(t=>{const i=t.gc,s=i.length/2;let n;if(s>e){for(n=0;n<s;++n)delete t.data[i[n]];i.splice(0,s)}}))}(n,e);const v=o.indexOf(_),w=r.indexOf(y),M=t=>({width:o[t]||0,height:r[t]||0});return{first:M(0),last:M(e-1),widest:M(v),highest:M(w),widths:o,heights:r}}getLabelForValue(t){return t}getPixelForValue(t,e){return NaN}getValueForPixel(t){}getPixelForTick(t){const e=this.ticks;return t<0||t>e.length-1?null:this.getPixelForValue(e[t].value)}getPixelForDecimal(t){this._reversePixels&&(t=1-t);const e=this._startPixel+t*this._length;return Ne(this._alignToPixels?wi(this.chart,e,0):e,-32768,32767)}getDecimalForPixel(t){const e=(t-this._startPixel)/this._length;return this._reversePixels?1-e:e}getBasePixel(){return this.getPixelForValue(this.getBaseValue())}getBaseValue(){const{min:t,max:e}=this;return t<0&&e<0?e:t>0&&e>0?t:0}getContext(t){const e=this.ticks||[];if(t>=0&&t<e.length){const i=e[t];return i.$context||(i.$context=function(t,e,i){return Ui(t,{tick:i,index:e,type:"tick"})}(this.getContext(),t,i))}return this.$context||(this.$context=Ui(this.chart.getContext(),{scale:this,type:"scale"}))}_tickSize(){const t=this.options.ticks,e=Re(this.labelRotation),i=Math.abs(Math.cos(e)),s=Math.abs(Math.sin(e)),n=this._getLabelSizes(),o=t.autoSkipPadding||0,r=n?n.widest.width+o:0,a=n?n.highest.height+o:0;return this.isHorizontal()?a*i>r*s?r/i:a/s:a*s<r*i?a/i:r/s}_isVisible(){const t=this.options.display;return"auto"!==t?!!t:this.getMatchingVisibleMetas().length>0}_computeGridLineItems(t){const e=this.axis,i=this.chart,s=this.options,{grid:n,position:o,border:r}=s,a=n.offset,l=this.isHorizontal(),h=this.ticks.length+(a?1:0),c=go(n),d=[],u=r.setContext(this.getContext()),f=u.display?u.width:0,p=f/2,g=function(t){return wi(i,t,f)};let m,b,x,_,y,v,w,M,k,S,A,P;if("top"===o)m=g(this.bottom),v=this.bottom-c,M=m-p,S=g(t.top)+p,P=t.bottom;else if("bottom"===o)m=g(this.top),S=t.top,P=g(t.bottom)-p,v=m+p,M=this.top+c;else if("left"===o)m=g(this.right),y=this.right-c,w=m-p,k=g(t.left)+p,A=t.right;else if("right"===o)m=g(this.left),k=t.left,A=g(t.right)-p,y=m+p,w=this.left+c;else if("x"===e){if("center"===o)m=g((t.top+t.bottom)/2+.5);else if(Qt(o)){const t=Object.keys(o)[0],e=o[t];m=g(this.chart.scales[t].getPixelForValue(e))}S=t.top,P=t.bottom,v=m+p,M=v+c}else if("y"===e){if("center"===o)m=g((t.left+t.right)/2);else if(Qt(o)){const t=Object.keys(o)[0],e=o[t];m=g(this.chart.scales[t].getPixelForValue(e))}y=m-p,w=y-c,k=t.left,A=t.right}const C=ie(s.ticks.maxTicksLimit,h),D=Math.max(1,Math.ceil(h/C));for(b=0;b<h;b+=D){const t=this.getContext(b),e=n.setContext(t),s=r.setContext(t),o=e.lineWidth,h=e.color,c=s.dash||[],u=s.dashOffset,f=e.tickWidth,p=e.tickColor,g=e.tickBorderDash||[],m=e.tickBorderDashOffset;x=po(this,b,a),void 0!==x&&(_=wi(i,x,o),l?y=w=k=A=_:v=M=S=P=_,d.push({tx1:y,ty1:v,tx2:w,ty2:M,x1:k,y1:S,x2:A,y2:P,width:o,color:h,borderDash:c,borderDashOffset:u,tickWidth:f,tickColor:p,tickBorderDash:g,tickBorderDashOffset:m}))}return this._ticksLength=h,this._borderValue=m,d}_computeLabelItems(t){const e=this.axis,i=this.options,{position:s,ticks:n}=i,o=this.isHorizontal(),r=this.ticks,{align:a,crossAlign:l,padding:h,mirror:c}=n,d=go(i.grid),u=d+h,f=c?-h:u,p=-Re(this.labelRotation),g=[];let m,b,x,_,y,v,w,M,k,S,A,P,C="middle";if("top"===s)v=this.bottom-f,w=this._getXAxisLabelAlignment();else if("bottom"===s)v=this.top+f,w=this._getXAxisLabelAlignment();else if("left"===s){const t=this._getYAxisLabelAlignment(d);w=t.textAlign,y=t.x}else if("right"===s){const t=this._getYAxisLabelAlignment(d);w=t.textAlign,y=t.x}else if("x"===e){if("center"===s)v=(t.top+t.bottom)/2+u;else if(Qt(s)){const t=Object.keys(s)[0],e=s[t];v=this.chart.scales[t].getPixelForValue(e)+u}w=this._getXAxisLabelAlignment()}else if("y"===e){if("center"===s)y=(t.left+t.right)/2-u;else if(Qt(s)){const t=Object.keys(s)[0],e=s[t];y=this.chart.scales[t].getPixelForValue(e)}w=this._getYAxisLabelAlignment(d).textAlign}"y"===e&&("start"===a?C="top":"end"===a&&(C="bottom"));const D=this._getLabelSizes();for(m=0,b=r.length;m<b;++m){x=r[m],_=x.label;const t=n.setContext(this.getContext(m));M=this.getPixelForTick(m)+n.labelOffset,k=this._resolveTickFontOptions(m),S=k.lineHeight,A=Jt(_)?_.length:1;const e=A/2,i=t.color,a=t.textStrokeColor,h=t.textStrokeWidth;let d,u=w;if(o?(y=M,"inner"===w&&(u=m===b-1?this.options.reverse?"left":"right":0===m?this.options.reverse?"right":"left":"center"),P="top"===s?"near"===l||0!==p?-A*S+S/2:"center"===l?-D.highest.height/2-e*S+S:-D.highest.height+S/2:"near"===l||0!==p?S/2:"center"===l?D.highest.height/2-e*S:D.highest.height-A*S,c&&(P*=-1),0===p||t.showLabelBackdrop||(y+=S/2*Math.sin(p))):(v=M,P=(1-A)*S/2),t.showLabelBackdrop){const e=Bi(t.backdropPadding),i=D.heights[m],s=D.widths[m];let n=P-e.top,o=0-e.left;switch(C){case"middle":n-=i/2;break;case"bottom":n-=i}switch(w){case"center":o-=s/2;break;case"right":o-=s;break;case"inner":m===b-1?o-=s:m>0&&(o-=s/2)}d={left:o,top:n,width:s+e.width,height:i+e.height,color:t.backdropColor}}g.push({label:_,font:k,textOffset:P,options:{rotation:p,color:i,strokeColor:a,strokeWidth:h,textAlign:u,textBaseline:C,translation:[y,v],backdrop:d}})}return g}_getXAxisLabelAlignment(){const{position:t,ticks:e}=this.options;if(-Re(this.labelRotation))return"top"===t?"left":"right";let i="center";return"start"===e.align?i="left":"end"===e.align?i="right":"inner"===e.align&&(i="inner"),i}_getYAxisLabelAlignment(t){const{position:e,ticks:{crossAlign:i,mirror:s,padding:n}}=this.options,o=t+n,r=this._getLabelSizes().widest.width;let a,l;return"left"===e?s?(l=this.right+n,"near"===i?a="left":"center"===i?(a="center",l+=r/2):(a="right",l+=r)):(l=this.right-o,"near"===i?a="right":"center"===i?(a="center",l-=r/2):(a="left",l=this.left)):"right"===e?s?(l=this.left+n,"near"===i?a="right":"center"===i?(a="center",l-=r/2):(a="left",l-=r)):(l=this.left+o,"near"===i?a="left":"center"===i?(a="center",l+=r/2):(a="right",l=this.right)):a="right",{textAlign:a,x:l}}_computeLabelArea(){if(this.options.ticks.mirror)return;const t=this.chart,e=this.options.position;return"left"===e||"right"===e?{top:0,left:this.left,bottom:t.height,right:this.right}:"top"===e||"bottom"===e?{top:this.top,left:0,bottom:this.bottom,right:t.width}:void 0}drawBackground(){const{ctx:t,options:{backgroundColor:e},left:i,top:s,width:n,height:o}=this;e&&(t.save(),t.fillStyle=e,t.fillRect(i,s,n,o),t.restore())}getLineWidthForValue(t){const e=this.options.grid;if(!this._isVisible()||!e.display)return 0;const i=this.ticks.findIndex((e=>e.value===t));if(i>=0){return e.setContext(this.getContext(i)).lineWidth}return 0}drawGrid(t){const e=this.options.grid,i=this.ctx,s=this._gridLineItems||(this._gridLineItems=this._computeGridLineItems(t));let n,o;const r=(t,e,s)=>{s.width&&s.color&&(i.save(),i.lineWidth=s.width,i.strokeStyle=s.color,i.setLineDash(s.borderDash||[]),i.lineDashOffset=s.borderDashOffset,i.beginPath(),i.moveTo(t.x,t.y),i.lineTo(e.x,e.y),i.stroke(),i.restore())};if(e.display)for(n=0,o=s.length;n<o;++n){const t=s[n];e.drawOnChartArea&&r({x:t.x1,y:t.y1},{x:t.x2,y:t.y2},t),e.drawTicks&&r({x:t.tx1,y:t.ty1},{x:t.tx2,y:t.ty2},{color:t.tickColor,width:t.tickWidth,borderDash:t.tickBorderDash,borderDashOffset:t.tickBorderDashOffset})}}drawBorder(){const{chart:t,ctx:e,options:{border:i,grid:s}}=this,n=i.setContext(this.getContext()),o=i.display?n.width:0;if(!o)return;const r=s.setContext(this.getContext(0)).lineWidth,a=this._borderValue;let l,h,c,d;this.isHorizontal()?(l=wi(t,this.left,o)-o/2,h=wi(t,this.right,r)+r/2,c=d=a):(c=wi(t,this.top,o)-o/2,d=wi(t,this.bottom,r)+r/2,l=h=a),e.save(),e.lineWidth=n.width,e.strokeStyle=n.color,e.beginPath(),e.moveTo(l,c),e.lineTo(h,d),e.stroke(),e.restore()}drawLabels(t){if(!this.options.ticks.display)return;const e=this.ctx,i=this._computeLabelArea();i&&Pi(e,i);const s=this.getLabelItems(t);for(const t of s){const i=t.options,s=t.font;Ri(e,t.label,0,t.textOffset,s,i)}i&&Ci(e)}drawTitle(){const{ctx:t,options:{position:e,title:i,reverse:s}}=this;if(!i.display)return;const n=Wi(i.font),o=Bi(i.padding),r=i.align;let a=n.lineHeight/2;"bottom"===e||"center"===e||Qt(e)?(a+=o.bottom,Jt(i.text)&&(a+=n.lineHeight*(i.text.length-1))):a+=o.top;const{titleX:l,titleY:h,maxWidth:c,rotation:d}=function(t,e,i,s){const{top:n,left:o,bottom:r,right:a,chart:l}=t,{chartArea:h,scales:c}=l;let d,u,f,p=0;const g=r-n,m=a-o;if(t.isHorizontal()){if(u=Je(s,o,a),Qt(i)){const t=Object.keys(i)[0],s=i[t];f=c[t].getPixelForValue(s)+g-e}else f="center"===i?(h.bottom+h.top)/2+g-e:co(t,i,e);d=a-o}else{if(Qt(i)){const t=Object.keys(i)[0],s=i[t];u=c[t].getPixelForValue(s)-m+e}else u="center"===i?(h.left+h.right)/2-m+e:co(t,i,e);f=Je(s,r,n),p="left"===i?-ke:ke}return{titleX:u,titleY:f,maxWidth:d,rotation:p}}(this,a,e,r);Ri(t,i.text,0,0,n,{color:i.color,maxWidth:c,rotation:d,textAlign:bo(r,e,s),textBaseline:"middle",translation:[l,h]})}draw(t){this._isVisible()&&(this.drawBackground(),this.drawGrid(t),this.drawBorder(),this.drawTitle(),this.drawLabels(t))}_layers(){const t=this.options,e=t.ticks&&t.ticks.z||0,i=ie(t.grid&&t.grid.z,-1),s=ie(t.border&&t.border.z,0);return this._isVisible()&&this.draw===xo.prototype.draw?[{z:i,draw:t=>{this.drawBackground(),this.drawGrid(t),this.drawTitle()}},{z:s,draw:()=>{this.drawBorder()}},{z:e,draw:t=>{this.drawLabels(t)}}]:[{z:e,draw:t=>{this.draw(t)}}]}getMatchingVisibleMetas(t){const e=this.chart.getSortedVisibleDatasetMetas(),i=this.axis+"AxisID",s=[];let n,o;for(n=0,o=e.length;n<o;++n){const o=e[n];o[i]!==this.id||t&&o.type!==t||s.push(o)}return s}_resolveTickFontOptions(t){return Wi(this.options.ticks.setContext(this.getContext(t)).font)}_maxDigits(){const t=this._resolveTickFontOptions(0).lineHeight;return(this.isHorizontal()?this.width:this.height)/t}}class _o{constructor(t,e,i){this.type=t,this.scope=e,this.override=i,this.items=Object.create(null)}isForType(t){return Object.prototype.isPrototypeOf.call(this.type.prototype,t.prototype)}register(t){const e=Object.getPrototypeOf(t);let i;(function(t){return"id"in t&&"defaults"in t})(e)&&(i=this.register(e));const s=this.items,n=t.id,o=this.scope+"."+n;if(!n)throw new Error("class does not have id: "+t);return n in s||(s[n]=t,function(t,e,i){const s=ce(Object.create(null),[i?_i.get(i):{},_i.get(e),t.defaults]);_i.set(e,s),t.defaultRoutes&&function(t,e){Object.keys(e).forEach((i=>{const s=i.split("."),n=s.pop(),o=[t].concat(s).join("."),r=e[i].split("."),a=r.pop(),l=r.join(".");_i.route(o,n,l,a)}))}(e,t.defaultRoutes);t.descriptors&&_i.describe(e,t.descriptors)}(t,o,i),this.override&&_i.override(t.id,t.overrides)),o}get(t){return this.items[t]}unregister(t){const e=this.items,i=t.id,s=this.scope;i in e&&delete e[i],s&&i in _i[s]&&(delete _i[s][i],this.override&&delete pi[i])}}class yo{constructor(){this.controllers=new _o(sn,"datasets",!0),this.elements=new _o(ao,"elements"),this.plugins=new _o(Object,"plugins"),this.scales=new _o(xo,"scales"),this._typedRegistries=[this.controllers,this.scales,this.elements]}add(){for(var t=arguments.length,e=new Array(t),i=0;i<t;i++)e[i]=arguments[i];this._each("register",e)}remove(){for(var t=arguments.length,e=new Array(t),i=0;i<t;i++)e[i]=arguments[i];this._each("unregister",e)}addControllers(){for(var t=arguments.length,e=new Array(t),i=0;i<t;i++)e[i]=arguments[i];this._each("register",e,this.controllers)}addElements(){for(var t=arguments.length,e=new Array(t),i=0;i<t;i++)e[i]=arguments[i];this._each("register",e,this.elements)}addPlugins(){for(var t=arguments.length,e=new Array(t),i=0;i<t;i++)e[i]=arguments[i];this._each("register",e,this.plugins)}addScales(){for(var t=arguments.length,e=new Array(t),i=0;i<t;i++)e[i]=arguments[i];this._each("register",e,this.scales)}getController(t){return this._get(t,this.controllers,"controller")}getElement(t){return this._get(t,this.elements,"element")}getPlugin(t){return this._get(t,this.plugins,"plugin")}getScale(t){return this._get(t,this.scales,"scale")}removeControllers(){for(var t=arguments.length,e=new Array(t),i=0;i<t;i++)e[i]=arguments[i];this._each("unregister",e,this.controllers)}removeElements(){for(var t=arguments.length,e=new Array(t),i=0;i<t;i++)e[i]=arguments[i];this._each("unregister",e,this.elements)}removePlugins(){for(var t=arguments.length,e=new Array(t),i=0;i<t;i++)e[i]=arguments[i];this._each("unregister",e,this.plugins)}removeScales(){for(var t=arguments.length,e=new Array(t),i=0;i<t;i++)e[i]=arguments[i];this._each("unregister",e,this.scales)}_each(t,e,i){[...e].forEach((e=>{const s=i||this._getRegistryForType(e);i||s.isForType(e)||s===this.plugins&&e.id?this._exec(t,s,e):oe(e,(e=>{const s=i||this._getRegistryForType(e);this._exec(t,s,e)}))}))}_exec(t,e,i){const s=ge(t);ne(i["before"+s],[],i),e[t](i),ne(i["after"+s],[],i)}_getRegistryForType(t){for(let e=0;e<this._typedRegistries.length;e++){const i=this._typedRegistries[e];if(i.isForType(t))return i}return this.plugins}_get(t,e,i){const s=e.get(t);if(void 0===s)throw new Error('"'+t+'" is not a registered '+i+".");return s}}var vo=new yo;class wo{constructor(){this._init=[]}notify(t,e,i,s){"beforeInit"===e&&(this._init=this._createDescriptors(t,!0),this._notify(this._init,t,"install"));const n=s?this._descriptors(t).filter(s):this._descriptors(t),o=this._notify(n,t,e,i);return"afterDestroy"===e&&(this._notify(n,t,"stop"),this._notify(this._init,t,"uninstall")),o}_notify(t,e,i,s){s=s||{};for(const n of t){const t=n.plugin;if(!1===ne(t[i],[e,s,n.options],t)&&s.cancelable)return!1}return!0}invalidate(){Gt(this._cache)||(this._oldCache=this._cache,this._cache=void 0)}_descriptors(t){if(this._cache)return this._cache;const e=this._cache=this._createDescriptors(t);return this._notifyStateChanges(t),e}_createDescriptors(t,e){const i=t&&t.config,s=ie(i.options&&i.options.plugins,{}),n=function(t){const e={},i=[],s=Object.keys(vo.plugins.items);for(let t=0;t<s.length;t++)i.push(vo.getPlugin(s[t]));const n=t.plugins||[];for(let t=0;t<n.length;t++){const s=n[t];-1===i.indexOf(s)&&(i.push(s),e[s.id]=!0)}return{plugins:i,localIds:e}}(i);return!1!==s||e?function(t,e,i,s){let{plugins:n,localIds:o}=e;const r=[],a=t.getContext();for(const e of n){const n=e.id,l=Mo(i[n],s);null!==l&&r.push({plugin:e,options:ko(t.config,{plugin:e,local:o[n]},l,a)})}return r}(t,n,s,e):[]}_notifyStateChanges(t){const e=this._oldCache||[],i=this._cache,s=(t,e)=>t.filter((t=>!e.some((e=>t.plugin.id===e.plugin.id))));this._notify(s(e,i),t,"stop"),this._notify(s(i,e),t,"start")}}function Mo(t,e){return e||!1!==t?!0===t?{}:t:null}function ko(t,e,i,s){let{plugin:n,local:o}=e;const r=t.pluginScopeKeys(n),a=t.getOptionScopes(i,r);return o&&n.defaults&&a.push(n.defaults),t.createResolver(a,s,[""],{scriptable:!1,indexable:!1,allKeys:!0})}function So(t,e){const i=_i.datasets[t]||{};return((e.datasets||{})[t]||{}).indexAxis||e.indexAxis||i.indexAxis||"x"}function Ao(t){if("x"===t||"y"===t||"r"===t)return t}function Po(t){if(Ao(t))return t;for(var e=arguments.length,i=new Array(e>1?e-1:0),s=1;s<e;s++)i[s-1]=arguments[s];for(const e of i){const i=e.axis||("top"===(n=e.position)||"bottom"===n?"x":"left"===n||"right"===n?"y":void 0)||t.length>1&&Ao(t[0].toLowerCase());if(i)return i}var n;throw new Error(`Cannot determine type of '${t}' axis. Please provide 'axis' or 'position' option.`)}function Co(t,e,i){if(i[e+"AxisID"]===t)return{axis:e}}function Do(t,e){const i=pi[t.type]||{scales:{}},s=e.scales||{},n=So(t.type,e),o=Object.create(null);return Object.keys(s).forEach((e=>{const r=s[e];if(!Qt(r))return console.error(`Invalid scale configuration for scale: ${e}`);if(r._proxy)return console.warn(`Ignoring resolver passed as options for scale: ${e}`);const a=Po(e,r,function(t,e){if(e.data&&e.data.datasets){const i=e.data.datasets.filter((e=>e.xAxisID===t||e.yAxisID===t));if(i.length)return Co(t,"x",i[0])||Co(t,"y",i[0])}return{}}(e,t),_i.scales[r.type]),l=function(t,e){return t===e?"_index_":"_value_"}(a,n),h=i.scales||{};o[e]=de(Object.create(null),[{axis:a},r,h[a],h[l]])})),t.data.datasets.forEach((i=>{const n=i.type||t.type,r=i.indexAxis||So(n,e),a=(pi[n]||{}).scales||{};Object.keys(a).forEach((t=>{const e=function(t,e){let i=t;return"_index_"===t?i=e:"_value_"===t&&(i="x"===e?"y":"x"),i}(t,r),n=i[e+"AxisID"]||e;o[n]=o[n]||Object.create(null),de(o[n],[{axis:e},s[n],a[t]])}))})),Object.keys(o).forEach((t=>{const e=o[t];de(e,[_i.scales[e.type],_i.scale])})),o}function Oo(t){const e=t.options||(t.options={});e.plugins=ie(e.plugins,{}),e.scales=Do(t,e)}function Eo(t){return(t=t||{}).datasets=t.datasets||[],t.labels=t.labels||[],t}const To=new Map,Ro=new Set;function Lo(t,e){let i=To.get(t);return i||(i=e(),To.set(t,i),Ro.add(i)),i}const Io=(t,e,i)=>{const s=pe(e,i);void 0!==s&&t.add(s)};class zo{constructor(t){this._config=function(t){return(t=t||{}).data=Eo(t.data),Oo(t),t}(t),this._scopeCache=new Map,this._resolverCache=new Map}get platform(){return this._config.platform}get type(){return this._config.type}set type(t){this._config.type=t}get data(){return this._config.data}set data(t){this._config.data=Eo(t)}get options(){return this._config.options}set options(t){this._config.options=t}get plugins(){return this._config.plugins}update(){const t=this._config;this.clearCache(),Oo(t)}clearCache(){this._scopeCache.clear(),this._resolverCache.clear()}datasetScopeKeys(t){return Lo(t,(()=>[[`datasets.${t}`,""]]))}datasetAnimationScopeKeys(t,e){return Lo(`${t}.transition.${e}`,(()=>[[`datasets.${t}.transitions.${e}`,`transitions.${e}`],[`datasets.${t}`,""]]))}datasetElementScopeKeys(t,e){return Lo(`${t}-${e}`,(()=>[[`datasets.${t}.elements.${e}`,`datasets.${t}`,`elements.${e}`,""]]))}pluginScopeKeys(t){const e=t.id;return Lo(`${this.type}-plugin-${e}`,(()=>[[`plugins.${e}`,...t.additionalOptionScopes||[]]]))}_cachedScopes(t,e){const i=this._scopeCache;let s=i.get(t);return s&&!e||(s=new Map,i.set(t,s)),s}getOptionScopes(t,e,i){const{options:s,type:n}=this,o=this._cachedScopes(t,i),r=o.get(e);if(r)return r;const a=new Set;e.forEach((e=>{t&&(a.add(t),e.forEach((e=>Io(a,t,e)))),e.forEach((t=>Io(a,s,t))),e.forEach((t=>Io(a,pi[n]||{},t))),e.forEach((t=>Io(a,_i,t))),e.forEach((t=>Io(a,gi,t)))}));const l=Array.from(a);return 0===l.length&&l.push(Object.create(null)),Ro.has(e)&&o.set(e,l),l}chartOptionScopes(){const{options:t,type:e}=this;return[t,pi[e]||{},_i.datasets[e]||{},{type:e},_i,gi]}resolveNamedOptions(t,e,i){let s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:[""];const n={$shared:!0},{resolver:o,subPrefixes:r}=$o(this._resolverCache,t,s);let a=o;if(function(t,e){const{isScriptable:i,isIndexable:s}=qi(t);for(const n of e){const e=i(n),o=s(n),r=(o||e)&&t[n];if(e&&(be(r)||Fo(r))||o&&Jt(r))return!0}return!1}(o,e)){n.$shared=!1;a=Xi(o,i=be(i)?i():i,this.createResolver(t,i,r))}for(const t of e)n[t]=a[t];return n}createResolver(t,e){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[""],s=arguments.length>3?arguments[3]:void 0;const{resolver:n}=$o(this._resolverCache,t,i);return Qt(e)?Xi(n,e,void 0,s):n}}function $o(t,e,i){let s=t.get(e);s||(s=new Map,t.set(e,s));const n=i.join();let o=s.get(n);if(!o){o={resolver:Yi(e,i),subPrefixes:i.filter((t=>!t.toLowerCase().includes("hover")))},s.set(n,o)}return o}const Fo=t=>Qt(t)&&Object.getOwnPropertyNames(t).some((e=>be(t[e])));const Vo=["top","bottom","left","right","chartArea"];function Ho(t,e){return"top"===t||"bottom"===t||-1===Vo.indexOf(t)&&"x"===e}function No(t,e){return function(i,s){return i[t]===s[t]?i[e]-s[e]:i[t]-s[t]}}function Bo(t){const e=t.chart,i=e.options.animation;e.notifyPlugins("afterRender"),ne(i&&i.onComplete,[t],e)}function Wo(t){const e=t.chart,i=e.options.animation;ne(i&&i.onProgress,[t],e)}function jo(t){return fs()&&"string"==typeof t?t=document.getElementById(t):t&&t.length&&(t=t[0]),t&&t.canvas&&(t=t.canvas),t}const Uo={},Yo=t=>{const e=jo(t);return Object.values(Uo).filter((t=>t.canvas===e)).pop()};function Xo(t,e,i){const s=Object.keys(t);for(const n of s){const s=+n;if(s>=e){const o=t[n];delete t[n],(i>0||s>e)&&(t[s+i]=o)}}}function qo(t,e,i){return t.options.clip?t[i]:e[i]}class Ko{static register(){vo.add(...arguments),Zo()}static unregister(){vo.remove(...arguments),Zo()}constructor(t,e){const i=this.config=new zo(e),s=jo(t),n=Yo(s);if(n)throw new Error("Canvas is already in use. Chart with ID '"+n.id+"' must be destroyed before the canvas with ID '"+n.canvas.id+"' can be reused.");const o=i.createResolver(i.chartOptionScopes(),this.getContext());this.platform=new(i.platform||function(t){return!fs()||"undefined"!=typeof OffscreenCanvas&&t instanceof OffscreenCanvas?Un:ro}(s)),this.platform.updateConfig(i);const r=this.platform.acquireContext(s,o.aspectRatio),a=r&&r.canvas,l=a&&a.height,h=a&&a.width;this.id=Zt(),this.ctx=r,this.canvas=a,this.width=h,this.height=l,this._options=o,this._aspectRatio=this.aspectRatio,this._layers=[],this._metasets=[],this._stacks=void 0,this.boxes=[],this.currentDevicePixelRatio=void 0,this.chartArea=void 0,this._active=[],this._lastEvent=void 0,this._listeners={},this._responsiveListeners=void 0,this._sortedMetasets=[],this.scales={},this._plugins=new wo,this.$proxies={},this._hiddenIndices={},this.attached=!1,this._animationsDisabled=void 0,this.$context=void 0,this._doResize=function(t,e){let i;return function(){for(var s=arguments.length,n=new Array(s),o=0;o<s;o++)n[o]=arguments[o];return e?(clearTimeout(i),i=setTimeout(t,e,n)):t.apply(this,n),e}}((t=>this.update(t)),o.resizeDelay||0),this._dataChanges=[],Uo[this.id]=this,r&&a?(Hs.listen(this,"complete",Bo),Hs.listen(this,"progress",Wo),this._initialize(),this.attached&&this.update()):console.error("Failed to create chart: can't acquire context from the given item")}get aspectRatio(){const{options:{aspectRatio:t,maintainAspectRatio:e},width:i,height:s,_aspectRatio:n}=this;return Gt(t)?e&&n?n:s?i/s:null:t}get data(){return this.config.data}set data(t){this.config.data=t}get options(){return this._options}set options(t){this.config.options=t}get registry(){return vo}_initialize(){return this.notifyPlugins("beforeInit"),this.options.responsive?this.resize():Ms(this,this.options.devicePixelRatio),this.bindEvents(),this.notifyPlugins("afterInit"),this}clear(){return Mi(this.canvas,this.ctx),this}stop(){return Hs.stop(this),this}resize(t,e){Hs.running(this)?this._resizeBeforeDraw={width:t,height:e}:this._resize(t,e)}_resize(t,e){const i=this.options,s=this.canvas,n=i.maintainAspectRatio&&this.aspectRatio,o=this.platform.getMaximumSize(s,t,e,n),r=i.devicePixelRatio||this.platform.getDevicePixelRatio(),a=this.width?"resize":"attach";this.width=o.width,this.height=o.height,this._aspectRatio=this.aspectRatio,Ms(this,r,!0)&&(this.notifyPlugins("resize",{size:o}),ne(i.onResize,[this,o],this),this.attached&&this._doResize(a)&&this.render())}ensureScalesHaveIDs(){oe(this.options.scales||{},((t,e)=>{t.id=e}))}buildOrUpdateScales(){const t=this.options,e=t.scales,i=this.scales,s=Object.keys(i).reduce(((t,e)=>(t[e]=!1,t)),{});let n=[];e&&(n=n.concat(Object.keys(e).map((t=>{const i=e[t],s=Po(t,i),n="r"===s,o="x"===s;return{options:i,dposition:n?"chartArea":o?"bottom":"left",dtype:n?"radialLinear":o?"category":"linear"}})))),oe(n,(e=>{const n=e.options,o=n.id,r=Po(o,n),a=ie(n.type,e.dtype);void 0!==n.position&&Ho(n.position,r)===Ho(e.dposition)||(n.position=e.dposition),s[o]=!0;let l=null;if(o in i&&i[o].type===a)l=i[o];else{l=new(vo.getScale(a))({id:o,type:a,ctx:this.ctx,chart:this}),i[l.id]=l}l.init(n,t)})),oe(s,((t,e)=>{t||delete i[e]})),oe(i,(t=>{Wn.configure(this,t,t.options),Wn.addBox(this,t)}))}_updateMetasets(){const t=this._metasets,e=this.data.datasets.length,i=t.length;if(t.sort(((t,e)=>t.index-e.index)),i>e){for(let t=e;t<i;++t)this._destroyDatasetMeta(t);t.splice(e,i-e)}this._sortedMetasets=t.slice(0).sort(No("order","index"))}_removeUnreferencedMetasets(){const{_metasets:t,data:{datasets:e}}=this;t.length>e.length&&delete this._stacks,t.forEach(((t,i)=>{0===e.filter((e=>e===t._dataset)).length&&this._destroyDatasetMeta(i)}))}buildOrUpdateControllers(){const t=[],e=this.data.datasets;let i,s;for(this._removeUnreferencedMetasets(),i=0,s=e.length;i<s;i++){const s=e[i];let n=this.getDatasetMeta(i);const o=s.type||this.config.type;if(n.type&&n.type!==o&&(this._destroyDatasetMeta(i),n=this.getDatasetMeta(i)),n.type=o,n.indexAxis=s.indexAxis||So(o,this.options),n.order=s.order||0,n.index=i,n.label=""+s.label,n.visible=this.isDatasetVisible(i),n.controller)n.controller.updateIndex(i),n.controller.linkScales();else{const e=vo.getController(o),{datasetElementType:s,dataElementType:r}=_i.datasets[o];Object.assign(e,{dataElementType:vo.getElement(r),datasetElementType:s&&vo.getElement(s)}),n.controller=new e(this,i),t.push(n.controller)}}return this._updateMetasets(),t}_resetElements(){oe(this.data.datasets,((t,e)=>{this.getDatasetMeta(e).controller.reset()}),this)}reset(){this._resetElements(),this.notifyPlugins("reset")}update(t){const e=this.config;e.update();const i=this._options=e.createResolver(e.chartOptionScopes(),this.getContext()),s=this._animationsDisabled=!i.animation;if(this._updateScales(),this._checkEventBindings(),this._updateHiddenIndices(),this._plugins.invalidate(),!1===this.notifyPlugins("beforeUpdate",{mode:t,cancelable:!0}))return;const n=this.buildOrUpdateControllers();this.notifyPlugins("beforeElementsUpdate");let o=0;for(let t=0,e=this.data.datasets.length;t<e;t++){const{controller:e}=this.getDatasetMeta(t),i=!s&&-1===n.indexOf(e);e.buildOrUpdateElements(i),o=Math.max(+e.getMaxOverflow(),o)}o=this._minPadding=i.layout.autoPadding?o:0,this._updateLayout(o),s||oe(n,(t=>{t.reset()})),this._updateDatasets(t),this.notifyPlugins("afterUpdate",{mode:t}),this._layers.sort(No("z","_idx"));const{_active:r,_lastEvent:a}=this;a?this._eventHandler(a,!0):r.length&&this._updateHoverStyles(r,r,!0),this.render()}_updateScales(){oe(this.scales,(t=>{Wn.removeBox(this,t)})),this.ensureScalesHaveIDs(),this.buildOrUpdateScales()}_checkEventBindings(){const t=this.options,e=new Set(Object.keys(this._listeners)),i=new Set(t.events);xe(e,i)&&!!this._responsiveListeners===t.responsive||(this.unbindEvents(),this.bindEvents())}_updateHiddenIndices(){const{_hiddenIndices:t}=this,e=this._getUniformDataChanges()||[];for(const{method:i,start:s,count:n}of e){Xo(t,s,"_removeElements"===i?-n:n)}}_getUniformDataChanges(){const t=this._dataChanges;if(!t||!t.length)return;this._dataChanges=[];const e=this.data.datasets.length,i=e=>new Set(t.filter((t=>t[0]===e)).map(((t,e)=>e+","+t.splice(1).join(",")))),s=i(0);for(let t=1;t<e;t++)if(!xe(s,i(t)))return;return Array.from(s).map((t=>t.split(","))).map((t=>({method:t[1],start:+t[2],count:+t[3]})))}_updateLayout(t){if(!1===this.notifyPlugins("beforeLayout",{cancelable:!0}))return;Wn.update(this,this.width,this.height,t);const e=this.chartArea,i=e.width<=0||e.height<=0;this._layers=[],oe(this.boxes,(t=>{i&&"chartArea"===t.position||(t.configure&&t.configure(),this._layers.push(...t._layers()))}),this),this._layers.forEach(((t,e)=>{t._idx=e})),this.notifyPlugins("afterLayout")}_updateDatasets(t){if(!1!==this.notifyPlugins("beforeDatasetsUpdate",{mode:t,cancelable:!0})){for(let t=0,e=this.data.datasets.length;t<e;++t)this.getDatasetMeta(t).controller.configure();for(let e=0,i=this.data.datasets.length;e<i;++e)this._updateDataset(e,be(t)?t({datasetIndex:e}):t);this.notifyPlugins("afterDatasetsUpdate",{mode:t})}}_updateDataset(t,e){const i=this.getDatasetMeta(t),s={meta:i,index:t,mode:e,cancelable:!0};!1!==this.notifyPlugins("beforeDatasetUpdate",s)&&(i.controller._update(e),s.cancelable=!1,this.notifyPlugins("afterDatasetUpdate",s))}render(){!1!==this.notifyPlugins("beforeRender",{cancelable:!0})&&(Hs.has(this)?this.attached&&!Hs.running(this)&&Hs.start(this):(this.draw(),Bo({chart:this})))}draw(){let t;if(this._resizeBeforeDraw){const{width:t,height:e}=this._resizeBeforeDraw;this._resizeBeforeDraw=null,this._resize(t,e)}if(this.clear(),this.width<=0||this.height<=0)return;if(!1===this.notifyPlugins("beforeDraw",{cancelable:!0}))return;const e=this._layers;for(t=0;t<e.length&&e[t].z<=0;++t)e[t].draw(this.chartArea);for(this._drawDatasets();t<e.length;++t)e[t].draw(this.chartArea);this.notifyPlugins("afterDraw")}_getSortedDatasetMetas(t){const e=this._sortedMetasets,i=[];let s,n;for(s=0,n=e.length;s<n;++s){const n=e[s];t&&!n.visible||i.push(n)}return i}getSortedVisibleDatasetMetas(){return this._getSortedDatasetMetas(!0)}_drawDatasets(){if(!1===this.notifyPlugins("beforeDatasetsDraw",{cancelable:!0}))return;const t=this.getSortedVisibleDatasetMetas();for(let e=t.length-1;e>=0;--e)this._drawDataset(t[e]);this.notifyPlugins("afterDatasetsDraw")}_drawDataset(t){const e=this.ctx,i=t._clip,s=!i.disabled,n=function(t,e){const{xScale:i,yScale:s}=t;return i&&s?{left:qo(i,e,"left"),right:qo(i,e,"right"),top:qo(s,e,"top"),bottom:qo(s,e,"bottom")}:e}(t,this.chartArea),o={meta:t,index:t.index,cancelable:!0};!1!==this.notifyPlugins("beforeDatasetDraw",o)&&(s&&Pi(e,{left:!1===i.left?0:n.left-i.left,right:!1===i.right?this.width:n.right+i.right,top:!1===i.top?0:n.top-i.top,bottom:!1===i.bottom?this.height:n.bottom+i.bottom}),t.controller.draw(),s&&Ci(e),o.cancelable=!1,this.notifyPlugins("afterDatasetDraw",o))}isPointInArea(t){return Ai(t,this.chartArea,this._minPadding)}getElementsAtEventForMode(t,e,i,s){const n=On.modes[e];return"function"==typeof n?n(this,t,i,s):[]}getDatasetMeta(t){const e=this.data.datasets[t],i=this._metasets;let s=i.filter((t=>t&&t._dataset===e)).pop();return s||(s={type:null,data:[],dataset:null,controller:null,hidden:null,xAxisID:null,yAxisID:null,order:e&&e.order||0,index:t,_dataset:e,_parsed:[],_sorted:!1},i.push(s)),s}getContext(){return this.$context||(this.$context=Ui(null,{chart:this,type:"chart"}))}getVisibleDatasetCount(){return this.getSortedVisibleDatasetMetas().length}isDatasetVisible(t){const e=this.data.datasets[t];if(!e)return!1;const i=this.getDatasetMeta(t);return"boolean"==typeof i.hidden?!i.hidden:!e.hidden}setDatasetVisibility(t,e){this.getDatasetMeta(t).hidden=!e}toggleDataVisibility(t){this._hiddenIndices[t]=!this._hiddenIndices[t]}getDataVisibility(t){return!this._hiddenIndices[t]}_updateVisibility(t,e,i){const s=i?"show":"hide",n=this.getDatasetMeta(t),o=n.controller._resolveAnimations(void 0,s);me(e)?(n.data[e].hidden=!i,this.update()):(this.setDatasetVisibility(t,i),o.update(n,{visible:i}),this.update((e=>e.datasetIndex===t?s:void 0)))}hide(t,e){this._updateVisibility(t,e,!1)}show(t,e){this._updateVisibility(t,e,!0)}_destroyDatasetMeta(t){const e=this._metasets[t];e&&e.controller&&e.controller._destroy(),delete this._metasets[t]}_stop(){let t,e;for(this.stop(),Hs.remove(this),t=0,e=this.data.datasets.length;t<e;++t)this._destroyDatasetMeta(t)}destroy(){this.notifyPlugins("beforeDestroy");const{canvas:t,ctx:e}=this;this._stop(),this.config.clearCache(),t&&(this.unbindEvents(),Mi(t,e),this.platform.releaseContext(e),this.canvas=null,this.ctx=null),delete Uo[this.id],this.notifyPlugins("afterDestroy")}toBase64Image(){return this.canvas.toDataURL(...arguments)}bindEvents(){this.bindUserEvents(),this.options.responsive?this.bindResponsiveEvents():this.attached=!0}bindUserEvents(){const t=this._listeners,e=this.platform,i=(i,s)=>{e.addEventListener(this,i,s),t[i]=s},s=(t,e,i)=>{t.offsetX=e,t.offsetY=i,this._eventHandler(t)};oe(this.options.events,(t=>i(t,s)))}bindResponsiveEvents(){this._responsiveListeners||(this._responsiveListeners={});const t=this._responsiveListeners,e=this.platform,i=(i,s)=>{e.addEventListener(this,i,s),t[i]=s},s=(i,s)=>{t[i]&&(e.removeEventListener(this,i,s),delete t[i])},n=(t,e)=>{this.canvas&&this.resize(t,e)};let o;const r=()=>{s("attach",r),this.attached=!0,this.resize(),i("resize",n),i("detach",o)};o=()=>{this.attached=!1,s("resize",n),this._stop(),this._resize(0,0),i("attach",r)},e.isAttached(this.canvas)?r():o()}unbindEvents(){oe(this._listeners,((t,e)=>{this.platform.removeEventListener(this,e,t)})),this._listeners={},oe(this._responsiveListeners,((t,e)=>{this.platform.removeEventListener(this,e,t)})),this._responsiveListeners=void 0}updateHoverStyle(t,e,i){const s=i?"set":"remove";let n,o,r,a;for("dataset"===e&&(n=this.getDatasetMeta(t[0].datasetIndex),n.controller["_"+s+"DatasetHoverStyle"]()),r=0,a=t.length;r<a;++r){o=t[r];const e=o&&this.getDatasetMeta(o.datasetIndex).controller;e&&e[s+"HoverStyle"](o.element,o.datasetIndex,o.index)}}getActiveElements(){return this._active||[]}setActiveElements(t){const e=this._active||[],i=t.map((t=>{let{datasetIndex:e,index:i}=t;const s=this.getDatasetMeta(e);if(!s)throw new Error("No dataset found at index "+e);return{datasetIndex:e,element:s.data[i],index:i}}));!re(i,e)&&(this._active=i,this._lastEvent=null,this._updateHoverStyles(i,e))}notifyPlugins(t,e,i){return this._plugins.notify(this,t,e,i)}isPluginEnabled(t){return 1===this._plugins._cache.filter((e=>e.plugin.id===t)).length}_updateHoverStyles(t,e,i){const s=this.options.hover,n=(t,e)=>t.filter((t=>!e.some((e=>t.datasetIndex===e.datasetIndex&&t.index===e.index)))),o=n(e,t),r=i?t:n(t,e);o.length&&this.updateHoverStyle(o,s.mode,!1),r.length&&s.mode&&this.updateHoverStyle(r,s.mode,!0)}_eventHandler(t,e){const i={event:t,replay:e,cancelable:!0,inChartArea:this.isPointInArea(t)},s=e=>(e.options.events||this.options.events).includes(t.native.type);if(!1===this.notifyPlugins("beforeEvent",i,s))return;const n=this._handleEvent(t,e,i.inChartArea);return i.cancelable=!1,this.notifyPlugins("afterEvent",i,s),(n||i.changed)&&this.render(),this}_handleEvent(t,e,i){const{_active:s=[],options:n}=this,o=e,r=this._getActiveElements(t,s,i,o),a=function(t){return"mouseup"===t.type||"click"===t.type||"contextmenu"===t.type}(t),l=function(t,e,i,s){return i&&"mouseout"!==t.type?s?e:t:null}(t,this._lastEvent,i,a);i&&(this._lastEvent=null,ne(n.onHover,[t,r,this],this),a&&ne(n.onClick,[t,r,this],this));const h=!re(r,s);return(h||e)&&(this._active=r,this._updateHoverStyles(r,s,e)),this._lastEvent=l,h}_getActiveElements(t,e,i,s){if("mouseout"===t.type)return[];if(!i)return e;const n=this.options.hover;return this.getElementsAtEventForMode(t,n.mode,n,s)}}function Zo(){return oe(Ko.instances,(t=>t._plugins.invalidate()))}function Go(t,e,i,s){const n=Vi(t.options.borderRadius,["outerStart","outerEnd","innerStart","innerEnd"]);const o=(i-e)/2,r=Math.min(o,s*e/2),a=t=>{const e=(i-Math.min(o,t))*s/2;return Ne(t,0,Math.min(o,e))};return{outerStart:a(n.outerStart),outerEnd:a(n.outerEnd),innerStart:Ne(n.innerStart,0,r),innerEnd:Ne(n.innerEnd,0,r)}}function Jo(t,e,i,s){return{x:i+t*Math.cos(e),y:s+t*Math.sin(e)}}function Qo(t,e,i,s,n,o){const{x:r,y:a,startAngle:l,pixelMargin:h,innerRadius:c}=e,d=Math.max(e.outerRadius+s+i-h,0),u=c>0?c+s+i+h:0;let f=0;const p=n-l;if(s){const t=((c>0?c-s:0)+(d>0?d-s:0))/2;f=(p-(0!==t?p*t/(t+s):p))/2}const g=(p-Math.max(.001,p*d-i/_e)/d)/2,m=l+g+f,b=n-g-f,{outerStart:x,outerEnd:_,innerStart:y,innerEnd:v}=Go(e,u,d,b-m),w=d-x,M=d-_,k=m+x/w,S=b-_/M,A=u+y,P=u+v,C=m+y/A,D=b-v/P;if(t.beginPath(),o){const e=(k+S)/2;if(t.arc(r,a,d,k,e),t.arc(r,a,d,e,S),_>0){const e=Jo(M,S,r,a);t.arc(e.x,e.y,_,S,b+ke)}const i=Jo(P,b,r,a);if(t.lineTo(i.x,i.y),v>0){const e=Jo(P,D,r,a);t.arc(e.x,e.y,v,b+ke,D+Math.PI)}const s=(b-v/u+(m+y/u))/2;if(t.arc(r,a,u,b-v/u,s,!0),t.arc(r,a,u,s,m+y/u,!0),y>0){const e=Jo(A,C,r,a);t.arc(e.x,e.y,y,C+Math.PI,m-ke)}const n=Jo(w,m,r,a);if(t.lineTo(n.x,n.y),x>0){const e=Jo(w,k,r,a);t.arc(e.x,e.y,x,m-ke,k)}}else{t.moveTo(r,a);const e=Math.cos(k)*d+r,i=Math.sin(k)*d+a;t.lineTo(e,i);const s=Math.cos(S)*d+r,n=Math.sin(S)*d+a;t.lineTo(s,n)}t.closePath()}function tr(t,e,i,s,n){const{fullCircles:o,startAngle:r,circumference:a,options:l}=e,{borderWidth:h,borderJoinStyle:c,borderDash:d,borderDashOffset:u}=l,f="inner"===l.borderAlign;if(!h)return;t.setLineDash(d||[]),t.lineDashOffset=u,f?(t.lineWidth=2*h,t.lineJoin=c||"round"):(t.lineWidth=h,t.lineJoin=c||"bevel");let p=e.endAngle;if(o){Qo(t,e,i,s,p,n);for(let e=0;e<o;++e)t.stroke();isNaN(a)||(p=r+(a%ye||ye))}f&&function(t,e,i){const{startAngle:s,pixelMargin:n,x:o,y:r,outerRadius:a,innerRadius:l}=e;let h=n/a;t.beginPath(),t.arc(o,r,a,s-h,i+h),l>n?(h=n/l,t.arc(o,r,l,i+h,s-h,!0)):t.arc(o,r,n,i+ke,s-ke),t.closePath(),t.clip()}(t,e,p),o||(Qo(t,e,i,s,p,n),t.stroke())}gt(Ko,"defaults",_i),gt(Ko,"instances",Uo),gt(Ko,"overrides",pi),gt(Ko,"registry",vo),gt(Ko,"version","4.4.5"),gt(Ko,"getChart",Yo);class er extends ao{constructor(t){super(),gt(this,"circumference",void 0),gt(this,"endAngle",void 0),gt(this,"fullCircles",void 0),gt(this,"innerRadius",void 0),gt(this,"outerRadius",void 0),gt(this,"pixelMargin",void 0),gt(this,"startAngle",void 0),this.options=void 0,this.circumference=void 0,this.startAngle=void 0,this.endAngle=void 0,this.innerRadius=void 0,this.outerRadius=void 0,this.pixelMargin=0,this.fullCircles=0,t&&Object.assign(this,t)}inRange(t,e,i){const s=this.getProps(["x","y"],i),{angle:n,distance:o}=ze(s,{x:t,y:e}),{startAngle:r,endAngle:a,innerRadius:l,outerRadius:h,circumference:c}=this.getProps(["startAngle","endAngle","innerRadius","outerRadius","circumference"],i),d=(this.options.spacing+this.options.borderWidth)/2,u=ie(c,a-r),f=He(n,r,a)&&r!==a,p=u>=ye||f,g=Be(o,l+d,h+d);return p&&g}getCenterPoint(t){const{x:e,y:i,startAngle:s,endAngle:n,innerRadius:o,outerRadius:r}=this.getProps(["x","y","startAngle","endAngle","innerRadius","outerRadius"],t),{offset:a,spacing:l}=this.options,h=(s+n)/2,c=(o+r+l+a)/2;return{x:e+Math.cos(h)*c,y:i+Math.sin(h)*c}}tooltipPosition(t){return this.getCenterPoint(t)}draw(t){const{options:e,circumference:i}=this,s=(e.offset||0)/4,n=(e.spacing||0)/2,o=e.circular;if(this.pixelMargin="inner"===e.borderAlign?.33:0,this.fullCircles=i>ye?Math.floor(i/ye):0,0===i||this.innerRadius<0||this.outerRadius<0)return;t.save();const r=(this.startAngle+this.endAngle)/2;t.translate(Math.cos(r)*s,Math.sin(r)*s);const a=s*(1-Math.sin(Math.min(_e,i||0)));t.fillStyle=e.backgroundColor,t.strokeStyle=e.borderColor,function(t,e,i,s,n){const{fullCircles:o,startAngle:r,circumference:a}=e;let l=e.endAngle;if(o){Qo(t,e,i,s,l,n);for(let e=0;e<o;++e)t.fill();isNaN(a)||(l=r+(a%ye||ye))}Qo(t,e,i,s,l,n),t.fill()}(t,this,a,n,o),tr(t,this,a,n,o),t.restore()}}function ir(t,e){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e;t.lineCap=ie(i.borderCapStyle,e.borderCapStyle),t.setLineDash(ie(i.borderDash,e.borderDash)),t.lineDashOffset=ie(i.borderDashOffset,e.borderDashOffset),t.lineJoin=ie(i.borderJoinStyle,e.borderJoinStyle),t.lineWidth=ie(i.borderWidth,e.borderWidth),t.strokeStyle=ie(i.borderColor,e.borderColor)}function sr(t,e,i){t.lineTo(i.x,i.y)}function nr(t,e){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const s=t.length,{start:n=0,end:o=s-1}=i,{start:r,end:a}=e,l=Math.max(n,r),h=Math.min(o,a),c=n<r&&o<r||n>a&&o>a;return{count:s,start:l,loop:e.loop,ilen:h<l&&!c?s+h-l:h-l}}function or(t,e,i,s){const{points:n,options:o}=e,{count:r,start:a,loop:l,ilen:h}=nr(n,i,s),c=function(t){return t.stepped?Di:t.tension||"monotone"===t.cubicInterpolationMode?Oi:sr}(o);let d,u,f,{move:p=!0,reverse:g}=s||{};for(d=0;d<=h;++d)u=n[(a+(g?h-d:d))%r],u.skip||(p?(t.moveTo(u.x,u.y),p=!1):c(t,f,u,g,o.stepped),f=u);return l&&(u=n[(a+(g?h:0))%r],c(t,f,u,g,o.stepped)),!!l}function rr(t,e,i,s){const n=e.points,{count:o,start:r,ilen:a}=nr(n,i,s),{move:l=!0,reverse:h}=s||{};let c,d,u,f,p,g,m=0,b=0;const x=t=>(r+(h?a-t:t))%o,_=()=>{f!==p&&(t.lineTo(m,p),t.lineTo(m,f),t.lineTo(m,g))};for(l&&(d=n[x(0)],t.moveTo(d.x,d.y)),c=0;c<=a;++c){if(d=n[x(c)],d.skip)continue;const e=d.x,i=d.y,s=0|e;s===u?(i<f?f=i:i>p&&(p=i),m=(b*m+e)/++b):(_(),t.lineTo(e,i),u=s,b=0,f=p=i),g=i}_()}function ar(t){const e=t.options,i=e.borderDash&&e.borderDash.length;return!(t._decimated||t._loop||e.tension||"monotone"===e.cubicInterpolationMode||e.stepped||i)?rr:or}gt(er,"id","arc"),gt(er,"defaults",{borderAlign:"center",borderColor:"#fff",borderDash:[],borderDashOffset:0,borderJoinStyle:void 0,borderRadius:0,borderWidth:2,offset:0,spacing:0,angle:void 0,circular:!0}),gt(er,"defaultRoutes",{backgroundColor:"backgroundColor"}),gt(er,"descriptors",{_scriptable:!0,_indexable:t=>"borderDash"!==t});const lr="function"==typeof Path2D;function hr(t,e,i,s){lr&&!e.options.segment?function(t,e,i,s){let n=e._path;n||(n=e._path=new Path2D,e.path(n,i,s)&&n.closePath()),ir(t,e.options),t.stroke(n)}(t,e,i,s):function(t,e,i,s){const{segments:n,options:o}=e,r=ar(e);for(const a of n)ir(t,o,a.style),t.beginPath(),r(t,e,a,{start:i,end:i+s-1})&&t.closePath(),t.stroke()}(t,e,i,s)}class cr extends ao{constructor(t){super(),this.animated=!0,this.options=void 0,this._chart=void 0,this._loop=void 0,this._fullLoop=void 0,this._path=void 0,this._points=void 0,this._segments=void 0,this._decimated=!1,this._pointsUpdated=!1,this._datasetIndex=void 0,t&&Object.assign(this,t)}updateControlPoints(t,e){const i=this.options;if((i.tension||"monotone"===i.cubicInterpolationMode)&&!i.stepped&&!this._pointsUpdated){const s=i.spanGaps?this._loop:this._fullLoop;us(this._points,i,t,s,e),this._pointsUpdated=!0}}set points(t){this._points=t,delete this._segments,delete this._path,this._pointsUpdated=!1}get points(){return this._points}get segments(){return this._segments||(this._segments=function(t,e){const i=t.points,s=t.options.spanGaps,n=i.length;if(!n)return[];const o=!!t._loop,{start:r,end:a}=function(t,e,i,s){let n=0,o=e-1;if(i&&!s)for(;n<e&&!t[n].skip;)n++;for(;n<e&&t[n].skip;)n++;for(n%=e,i&&(o+=n);o>n&&t[o%e].skip;)o--;return o%=e,{start:n,end:o}}(i,n,o,s);return zs(t,!0===s?[{start:r,end:a,loop:o}]:function(t,e,i,s){const n=t.length,o=[];let r,a=e,l=t[e];for(r=e+1;r<=i;++r){const i=t[r%n];i.skip||i.stop?l.skip||(s=!1,o.push({start:e%n,end:(r-1)%n,loop:s}),e=a=i.stop?r:null):(a=r,l.skip&&(e=r)),l=i}return null!==a&&o.push({start:e%n,end:a%n,loop:s}),o}(i,r,a<r?a+n:a,!!t._fullLoop&&0===r&&a===n-1),i,e)}(this,this.options.segment))}first(){const t=this.segments,e=this.points;return t.length&&e[t[0].start]}last(){const t=this.segments,e=this.points,i=t.length;return i&&e[t[i-1].end]}interpolate(t,e){const i=this.options,s=t[e],n=this.points,o=Is(this,{property:e,start:s,end:s});if(!o.length)return;const r=[],a=function(t){return t.stepped?Ps:t.tension||"monotone"===t.cubicInterpolationMode?Cs:As}(i);let l,h;for(l=0,h=o.length;l<h;++l){const{start:h,end:c}=o[l],d=n[h],u=n[c];if(d===u){r.push(d);continue}const f=a(d,u,Math.abs((s-d[e])/(u[e]-d[e])),i.stepped);f[e]=t[e],r.push(f)}return 1===r.length?r[0]:r}pathSegment(t,e,i){return ar(this)(t,this,e,i)}path(t,e,i){const s=this.segments,n=ar(this);let o=this._loop;e=e||0,i=i||this.points.length-e;for(const r of s)o&=n(t,this,r,{start:e,end:e+i-1});return!!o}draw(t,e,i,s){const n=this.options||{};(this.points||[]).length&&n.borderWidth&&(t.save(),hr(t,this,i,s),t.restore()),this.animated&&(this._pointsUpdated=!1,this._path=void 0)}}function dr(t,e,i,s){const n=t.options,{[i]:o}=t.getProps([i],s);return Math.abs(e-o)<n.radius+n.hitRadius}gt(cr,"id","line"),gt(cr,"defaults",{borderCapStyle:"butt",borderDash:[],borderDashOffset:0,borderJoinStyle:"miter",borderWidth:3,capBezierPoints:!0,cubicInterpolationMode:"default",fill:!1,spanGaps:!1,stepped:!1,tension:0}),gt(cr,"defaultRoutes",{backgroundColor:"backgroundColor",borderColor:"borderColor"}),gt(cr,"descriptors",{_scriptable:!0,_indexable:t=>"borderDash"!==t&&"fill"!==t});class ur extends ao{constructor(t){super(),gt(this,"parsed",void 0),gt(this,"skip",void 0),gt(this,"stop",void 0),this.options=void 0,this.parsed=void 0,this.skip=void 0,this.stop=void 0,t&&Object.assign(this,t)}inRange(t,e,i){const s=this.options,{x:n,y:o}=this.getProps(["x","y"],i);return Math.pow(t-n,2)+Math.pow(e-o,2)<Math.pow(s.hitRadius+s.radius,2)}inXRange(t,e){return dr(this,t,"x",e)}inYRange(t,e){return dr(this,t,"y",e)}getCenterPoint(t){const{x:e,y:i}=this.getProps(["x","y"],t);return{x:e,y:i}}size(t){let e=(t=t||this.options||{}).radius||0;e=Math.max(e,e&&t.hoverRadius||0);return 2*(e+(e&&t.borderWidth||0))}draw(t,e){const i=this.options;this.skip||i.radius<.1||!Ai(this,e,this.size(i)/2)||(t.strokeStyle=i.borderColor,t.lineWidth=i.borderWidth,t.fillStyle=i.backgroundColor,ki(t,i,this.x,this.y))}getRange(){const t=this.options||{};return t.radius+t.hitRadius}}function fr(t,e){const{x:i,y:s,base:n,width:o,height:r}=t.getProps(["x","y","base","width","height"],e);let a,l,h,c,d;return t.horizontal?(d=r/2,a=Math.min(i,n),l=Math.max(i,n),h=s-d,c=s+d):(d=o/2,a=i-d,l=i+d,h=Math.min(s,n),c=Math.max(s,n)),{left:a,top:h,right:l,bottom:c}}function pr(t,e,i,s){return t?0:Ne(e,i,s)}function gr(t){const e=fr(t),i=e.right-e.left,s=e.bottom-e.top,n=function(t,e,i){const s=t.options.borderWidth,n=t.borderSkipped,o=Hi(s);return{t:pr(n.top,o.top,0,i),r:pr(n.right,o.right,0,e),b:pr(n.bottom,o.bottom,0,i),l:pr(n.left,o.left,0,e)}}(t,i/2,s/2),o=function(t,e,i){const{enableBorderRadius:s}=t.getProps(["enableBorderRadius"]),n=t.options.borderRadius,o=Ni(n),r=Math.min(e,i),a=t.borderSkipped,l=s||Qt(n);return{topLeft:pr(!l||a.top||a.left,o.topLeft,0,r),topRight:pr(!l||a.top||a.right,o.topRight,0,r),bottomLeft:pr(!l||a.bottom||a.left,o.bottomLeft,0,r),bottomRight:pr(!l||a.bottom||a.right,o.bottomRight,0,r)}}(t,i/2,s/2);return{outer:{x:e.left,y:e.top,w:i,h:s,radius:o},inner:{x:e.left+n.l,y:e.top+n.t,w:i-n.l-n.r,h:s-n.t-n.b,radius:{topLeft:Math.max(0,o.topLeft-Math.max(n.t,n.l)),topRight:Math.max(0,o.topRight-Math.max(n.t,n.r)),bottomLeft:Math.max(0,o.bottomLeft-Math.max(n.b,n.l)),bottomRight:Math.max(0,o.bottomRight-Math.max(n.b,n.r))}}}}function mr(t,e,i,s){const n=null===e,o=null===i,r=t&&!(n&&o)&&fr(t,s);return r&&(n||Be(e,r.left,r.right))&&(o||Be(i,r.top,r.bottom))}function br(t,e){t.rect(e.x,e.y,e.w,e.h)}function xr(t,e){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const s=t.x!==i.x?-e:0,n=t.y!==i.y?-e:0,o=(t.x+t.w!==i.x+i.w?e:0)-s,r=(t.y+t.h!==i.y+i.h?e:0)-n;return{x:t.x+s,y:t.y+n,w:t.w+o,h:t.h+r,radius:t.radius}}gt(ur,"id","point"),gt(ur,"defaults",{borderWidth:1,hitRadius:1,hoverBorderWidth:1,hoverRadius:4,pointStyle:"circle",radius:3,rotation:0}),gt(ur,"defaultRoutes",{backgroundColor:"backgroundColor",borderColor:"borderColor"});class _r extends ao{constructor(t){super(),this.options=void 0,this.horizontal=void 0,this.base=void 0,this.width=void 0,this.height=void 0,this.inflateAmount=void 0,t&&Object.assign(this,t)}draw(t){const{inflateAmount:e,options:{borderColor:i,backgroundColor:s}}=this,{inner:n,outer:o}=gr(this),r=(a=o.radius).topLeft||a.topRight||a.bottomLeft||a.bottomRight?Li:br;var a;t.save(),o.w===n.w&&o.h===n.h||(t.beginPath(),r(t,xr(o,e,n)),t.clip(),r(t,xr(n,-e,o)),t.fillStyle=i,t.fill("evenodd")),t.beginPath(),r(t,xr(n,e)),t.fillStyle=s,t.fill(),t.restore()}inRange(t,e,i){return mr(this,t,e,i)}inXRange(t,e){return mr(this,t,null,e)}inYRange(t,e){return mr(this,null,t,e)}getCenterPoint(t){const{x:e,y:i,base:s,horizontal:n}=this.getProps(["x","y","base","horizontal"],t);return{x:n?(e+s)/2:e,y:n?i:(i+s)/2}}getRange(t){return"x"===t?this.width/2:this.height/2}}gt(_r,"id","bar"),gt(_r,"defaults",{borderSkipped:"start",borderWidth:0,borderRadius:0,inflateAmount:"auto",pointStyle:void 0}),gt(_r,"defaultRoutes",{backgroundColor:"backgroundColor",borderColor:"borderColor"});var yr=Object.freeze({__proto__:null,ArcElement:er,BarElement:_r,LineElement:cr,PointElement:ur});const vr=["rgb(54, 162, 235)","rgb(255, 99, 132)","rgb(255, 159, 64)","rgb(255, 205, 86)","rgb(75, 192, 192)","rgb(153, 102, 255)","rgb(201, 203, 207)"],wr=vr.map((t=>t.replace("rgb(","rgba(").replace(")",", 0.5)")));function Mr(t){return vr[t%vr.length]}function kr(t){return wr[t%wr.length]}function Sr(t){let e=0;return(i,s)=>{const n=t.getDatasetMeta(s).controller;n instanceof pn?e=function(t,e){return t.backgroundColor=t.data.map((()=>Mr(e++))),e}(i,e):n instanceof mn?e=function(t,e){return t.backgroundColor=t.data.map((()=>kr(e++))),e}(i,e):n&&(e=function(t,e){return t.borderColor=Mr(e),t.backgroundColor=kr(e),++e}(i,e))}}function Ar(t){let e;for(e in t)if(t[e].borderColor||t[e].backgroundColor)return!0;return!1}var Pr={id:"colors",defaults:{enabled:!0,forceOverride:!1},beforeLayout(t,e,i){if(!i.enabled)return;const{data:{datasets:s},options:n}=t.config,{elements:o}=n,r=Ar(s)||(a=n)&&(a.borderColor||a.backgroundColor)||o&&Ar(o)||"rgba(0,0,0,0.1)"!==_i.borderColor||"rgba(0,0,0,0.1)"!==_i.backgroundColor;var a;if(!i.forceOverride&&r)return;const l=Sr(t);s.forEach(l)}};function Cr(t){if(t._decimated){const e=t._data;delete t._decimated,delete t._data,Object.defineProperty(t,"data",{configurable:!0,enumerable:!0,writable:!0,value:e})}}function Dr(t){t.data.datasets.forEach((t=>{Cr(t)}))}var Or={id:"decimation",defaults:{algorithm:"min-max",enabled:!1},beforeElementsUpdate:(t,e,i)=>{if(!i.enabled)return void Dr(t);const s=t.width;t.data.datasets.forEach(((e,n)=>{const{_data:o,indexAxis:r}=e,a=t.getDatasetMeta(n),l=o||e.data;if("y"===ji([r,t.options.indexAxis]))return;if(!a.controller.supportsDecimation)return;const h=t.scales[a.xAxisID];if("linear"!==h.type&&"time"!==h.type)return;if(t.options.parsing)return;let{start:c,count:d}=function(t,e){const i=e.length;let s,n=0;const{iScale:o}=t,{min:r,max:a,minDefined:l,maxDefined:h}=o.getUserBounds();return l&&(n=Ne(je(e,o.axis,r).lo,0,i-1)),s=h?Ne(je(e,o.axis,a).hi+1,n,i)-n:i-n,{start:n,count:s}}(a,l);if(d<=(i.threshold||4*s))return void Cr(e);let u;switch(Gt(o)&&(e._data=l,delete e.data,Object.defineProperty(e,"data",{configurable:!0,enumerable:!0,get:function(){return this._decimated},set:function(t){this._data=t}})),i.algorithm){case"lttb":u=function(t,e,i,s,n){const o=n.samples||s;if(o>=i)return t.slice(e,e+i);const r=[],a=(i-2)/(o-2);let l=0;const h=e+i-1;let c,d,u,f,p,g=e;for(r[l++]=t[g],c=0;c<o-2;c++){let s,n=0,o=0;const h=Math.floor((c+1)*a)+1+e,m=Math.min(Math.floor((c+2)*a)+1,i)+e,b=m-h;for(s=h;s<m;s++)n+=t[s].x,o+=t[s].y;n/=b,o/=b;const x=Math.floor(c*a)+1+e,_=Math.min(Math.floor((c+1)*a)+1,i)+e,{x:y,y:v}=t[g];for(u=f=-1,s=x;s<_;s++)f=.5*Math.abs((y-n)*(t[s].y-v)-(y-t[s].x)*(o-v)),f>u&&(u=f,d=t[s],p=s);r[l++]=d,g=p}return r[l++]=t[h],r}(l,c,d,s,i);break;case"min-max":u=function(t,e,i,s){let n,o,r,a,l,h,c,d,u,f,p=0,g=0;const m=[],b=e+i-1,x=t[e].x,_=t[b].x-x;for(n=e;n<e+i;++n){o=t[n],r=(o.x-x)/_*s,a=o.y;const e=0|r;if(e===l)a<u?(u=a,h=n):a>f&&(f=a,c=n),p=(g*p+o.x)/++g;else{const i=n-1;if(!Gt(h)&&!Gt(c)){const e=Math.min(h,c),s=Math.max(h,c);e!==d&&e!==i&&m.push({...t[e],x:p}),s!==d&&s!==i&&m.push({...t[s],x:p})}n>0&&i!==d&&m.push(t[i]),m.push(o),l=e,g=0,u=f=a,h=c=d=n}}return m}(l,c,d,s);break;default:throw new Error(`Unsupported decimation algorithm '${i.algorithm}'`)}e._decimated=u}))},destroy(t){Dr(t)}};function Er(t,e,i,s){if(s)return;let n=e[t],o=i[t];return"angle"===t&&(n=Ve(n),o=Ve(o)),{property:t,start:n,end:o}}function Tr(t,e,i){for(;e>t;e--){const t=i[e];if(!isNaN(t.x)&&!isNaN(t.y))break}return e}function Rr(t,e,i,s){return t&&e?s(t[i],e[i]):t?t[i]:e?e[i]:0}function Lr(t,e){let i=[],s=!1;return Jt(t)?(s=!0,i=t):i=function(t,e){const{x:i=null,y:s=null}=t||{},n=e.points,o=[];return e.segments.forEach((t=>{let{start:e,end:r}=t;r=Tr(e,r,n);const a=n[e],l=n[r];null!==s?(o.push({x:a.x,y:s}),o.push({x:l.x,y:s})):null!==i&&(o.push({x:i,y:a.y}),o.push({x:i,y:l.y}))})),o}(t,e),i.length?new cr({points:i,options:{tension:0},_loop:s,_fullLoop:s}):null}function Ir(t){return t&&!1!==t.fill}function zr(t,e,i){let s=t[e].fill;const n=[e];let o;if(!i)return s;for(;!1!==s&&-1===n.indexOf(s);){if(!te(s))return s;if(o=t[s],!o)return!1;if(o.visible)return s;n.push(s),s=o.fill}return!1}function $r(t,e,i){const s=function(t){const e=t.options,i=e.fill;let s=ie(i&&i.target,i);void 0===s&&(s=!!e.backgroundColor);if(!1===s||null===s)return!1;if(!0===s)return"origin";return s}(t);if(Qt(s))return!isNaN(s.value)&&s;let n=parseFloat(s);return te(n)&&Math.floor(n)===n?function(t,e,i,s){"-"!==t&&"+"!==t||(i=e+i);if(i===e||i<0||i>=s)return!1;return i}(s[0],e,n,i):["origin","start","end","stack","shape"].indexOf(s)>=0&&s}function Fr(t,e,i){const s=[];for(let n=0;n<i.length;n++){const o=i[n],{first:r,last:a,point:l}=Vr(o,e,"x");if(!(!l||r&&a))if(r)s.unshift(l);else if(t.push(l),!a)break}t.push(...s)}function Vr(t,e,i){const s=t.interpolate(e,i);if(!s)return{};const n=s[i],o=t.segments,r=t.points;let a=!1,l=!1;for(let t=0;t<o.length;t++){const e=o[t],s=r[e.start][i],h=r[e.end][i];if(Be(n,s,h)){a=n===s,l=n===h;break}}return{first:a,last:l,point:s}}class Hr{constructor(t){this.x=t.x,this.y=t.y,this.radius=t.radius}pathSegment(t,e,i){const{x:s,y:n,radius:o}=this;return e=e||{start:0,end:ye},t.arc(s,n,o,e.end,e.start,!0),!i.bounds}interpolate(t){const{x:e,y:i,radius:s}=this,n=t.angle;return{x:e+Math.cos(n)*s,y:i+Math.sin(n)*s,angle:n}}}function Nr(t){const{chart:e,fill:i,line:s}=t;if(te(i))return function(t,e){const i=t.getDatasetMeta(e),s=i&&t.isDatasetVisible(e);return s?i.dataset:null}(e,i);if("stack"===i)return function(t){const{scale:e,index:i,line:s}=t,n=[],o=s.segments,r=s.points,a=function(t,e){const i=[],s=t.getMatchingVisibleMetas("line");for(let t=0;t<s.length;t++){const n=s[t];if(n.index===e)break;n.hidden||i.unshift(n.dataset)}return i}(e,i);a.push(Lr({x:null,y:e.bottom},s));for(let t=0;t<o.length;t++){const e=o[t];for(let t=e.start;t<=e.end;t++)Fr(n,r[t],a)}return new cr({points:n,options:{}})}(t);if("shape"===i)return!0;const n=function(t){const e=t.scale||{};if(e.getPointPositionForValue)return function(t){const{scale:e,fill:i}=t,s=e.options,n=e.getLabels().length,o=s.reverse?e.max:e.min,r=function(t,e,i){let s;return s="start"===t?i:"end"===t?e.options.reverse?e.min:e.max:Qt(t)?t.value:e.getBaseValue(),s}(i,e,o),a=[];if(s.grid.circular){const t=e.getPointPositionForValue(0,o);return new Hr({x:t.x,y:t.y,radius:e.getDistanceFromCenterForValue(r)})}for(let t=0;t<n;++t)a.push(e.getPointPositionForValue(t,r));return a}(t);return function(t){const{scale:e={},fill:i}=t,s=function(t,e){let i=null;return"start"===t?i=e.bottom:"end"===t?i=e.top:Qt(t)?i=e.getPixelForValue(t.value):e.getBasePixel&&(i=e.getBasePixel()),i}(i,e);if(te(s)){const t=e.isHorizontal();return{x:t?s:null,y:t?null:s}}return null}(t)}(t);return n instanceof Hr?n:Lr(n,s)}function Br(t,e,i){const s=Nr(e),{line:n,scale:o,axis:r}=e,a=n.options,l=a.fill,h=a.backgroundColor,{above:c=h,below:d=h}=l||{};s&&n.points.length&&(Pi(t,i),function(t,e){const{line:i,target:s,above:n,below:o,area:r,scale:a}=e,l=i._loop?"angle":e.axis;t.save(),"x"===l&&o!==n&&(Wr(t,s,r.top),jr(t,{line:i,target:s,color:n,scale:a,property:l}),t.restore(),t.save(),Wr(t,s,r.bottom));jr(t,{line:i,target:s,color:o,scale:a,property:l}),t.restore()}(t,{line:n,target:s,above:c,below:d,area:i,scale:o,axis:r}),Ci(t))}function Wr(t,e,i){const{segments:s,points:n}=e;let o=!0,r=!1;t.beginPath();for(const a of s){const{start:s,end:l}=a,h=n[s],c=n[Tr(s,l,n)];o?(t.moveTo(h.x,h.y),o=!1):(t.lineTo(h.x,i),t.lineTo(h.x,h.y)),r=!!e.pathSegment(t,a,{move:r}),r?t.closePath():t.lineTo(c.x,i)}t.lineTo(e.first().x,i),t.closePath(),t.clip()}function jr(t,e){const{line:i,target:s,property:n,color:o,scale:r}=e,a=function(t,e,i){const s=t.segments,n=t.points,o=e.points,r=[];for(const t of s){let{start:s,end:a}=t;a=Tr(s,a,n);const l=Er(i,n[s],n[a],t.loop);if(!e.segments){r.push({source:t,target:l,start:n[s],end:n[a]});continue}const h=Is(e,l);for(const e of h){const s=Er(i,o[e.start],o[e.end],e.loop),a=Ls(t,n,s);for(const t of a)r.push({source:t,target:e,start:{[i]:Rr(l,s,"start",Math.max)},end:{[i]:Rr(l,s,"end",Math.min)}})}}return r}(i,s,n);for(const{source:e,target:l,start:h,end:c}of a){const{style:{backgroundColor:a=o}={}}=e,d=!0!==s;t.save(),t.fillStyle=a,Ur(t,r,d&&Er(n,h,c)),t.beginPath();const u=!!i.pathSegment(t,e);let f;if(d){u?t.closePath():Yr(t,s,c,n);const e=!!s.pathSegment(t,l,{move:u,reverse:!0});f=u&&e,f||Yr(t,s,h,n)}t.closePath(),t.fill(f?"evenodd":"nonzero"),t.restore()}}function Ur(t,e,i){const{top:s,bottom:n}=e.chart.chartArea,{property:o,start:r,end:a}=i||{};"x"===o&&(t.beginPath(),t.rect(r,s,a-r,n-s),t.clip())}function Yr(t,e,i,s){const n=e.interpolate(i,s);n&&t.lineTo(n.x,n.y)}var Xr={id:"filler",afterDatasetsUpdate(t,e,i){const s=(t.data.datasets||[]).length,n=[];let o,r,a,l;for(r=0;r<s;++r)o=t.getDatasetMeta(r),a=o.dataset,l=null,a&&a.options&&a instanceof cr&&(l={visible:t.isDatasetVisible(r),index:r,fill:$r(a,r,s),chart:t,axis:o.controller.options.indexAxis,scale:o.vScale,line:a}),o.$filler=l,n.push(l);for(r=0;r<s;++r)l=n[r],l&&!1!==l.fill&&(l.fill=zr(n,r,i.propagate))},beforeDraw(t,e,i){const s="beforeDraw"===i.drawTime,n=t.getSortedVisibleDatasetMetas(),o=t.chartArea;for(let e=n.length-1;e>=0;--e){const i=n[e].$filler;i&&(i.line.updateControlPoints(o,i.axis),s&&i.fill&&Br(t.ctx,i,o))}},beforeDatasetsDraw(t,e,i){if("beforeDatasetsDraw"!==i.drawTime)return;const s=t.getSortedVisibleDatasetMetas();for(let e=s.length-1;e>=0;--e){const i=s[e].$filler;Ir(i)&&Br(t.ctx,i,t.chartArea)}},beforeDatasetDraw(t,e,i){const s=e.meta.$filler;Ir(s)&&"beforeDatasetDraw"===i.drawTime&&Br(t.ctx,s,t.chartArea)},defaults:{propagate:!0,drawTime:"beforeDatasetDraw"}};const qr=(t,e)=>{let{boxHeight:i=e,boxWidth:s=e}=t;return t.usePointStyle&&(i=Math.min(i,e),s=t.pointStyleWidth||Math.min(s,e)),{boxWidth:s,boxHeight:i,itemHeight:Math.max(e,i)}};class Kr extends ao{constructor(t){super(),this._added=!1,this.legendHitBoxes=[],this._hoveredItem=null,this.doughnutMode=!1,this.chart=t.chart,this.options=t.options,this.ctx=t.ctx,this.legendItems=void 0,this.columnSizes=void 0,this.lineWidths=void 0,this.maxHeight=void 0,this.maxWidth=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.height=void 0,this.width=void 0,this._margins=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(t,e,i){this.maxWidth=t,this.maxHeight=e,this._margins=i,this.setDimensions(),this.buildLabels(),this.fit()}setDimensions(){this.isHorizontal()?(this.width=this.maxWidth,this.left=this._margins.left,this.right=this.width):(this.height=this.maxHeight,this.top=this._margins.top,this.bottom=this.height)}buildLabels(){const t=this.options.labels||{};let e=ne(t.generateLabels,[this.chart],this)||[];t.filter&&(e=e.filter((e=>t.filter(e,this.chart.data)))),t.sort&&(e=e.sort(((e,i)=>t.sort(e,i,this.chart.data)))),this.options.reverse&&e.reverse(),this.legendItems=e}fit(){const{options:t,ctx:e}=this;if(!t.display)return void(this.width=this.height=0);const i=t.labels,s=Wi(i.font),n=s.size,o=this._computeTitleHeight(),{boxWidth:r,itemHeight:a}=qr(i,n);let l,h;e.font=s.string,this.isHorizontal()?(l=this.maxWidth,h=this._fitRows(o,n,r,a)+10):(h=this.maxHeight,l=this._fitCols(o,s,r,a)+10),this.width=Math.min(l,t.maxWidth||this.maxWidth),this.height=Math.min(h,t.maxHeight||this.maxHeight)}_fitRows(t,e,i,s){const{ctx:n,maxWidth:o,options:{labels:{padding:r}}}=this,a=this.legendHitBoxes=[],l=this.lineWidths=[0],h=s+r;let c=t;n.textAlign="left",n.textBaseline="middle";let d=-1,u=-h;return this.legendItems.forEach(((t,f)=>{const p=i+e/2+n.measureText(t.text).width;(0===f||l[l.length-1]+p+2*r>o)&&(c+=h,l[l.length-(f>0?0:1)]=0,u+=h,d++),a[f]={left:0,top:u,row:d,width:p,height:s},l[l.length-1]+=p+r})),c}_fitCols(t,e,i,s){const{ctx:n,maxHeight:o,options:{labels:{padding:r}}}=this,a=this.legendHitBoxes=[],l=this.columnSizes=[],h=o-t;let c=r,d=0,u=0,f=0,p=0;return this.legendItems.forEach(((t,o)=>{const{itemWidth:g,itemHeight:m}=function(t,e,i,s,n){const o=function(t,e,i,s){let n=t.text;n&&"string"!=typeof n&&(n=n.reduce(((t,e)=>t.length>e.length?t:e)));return e+i.size/2+s.measureText(n).width}(s,t,e,i),r=function(t,e,i){let s=t;"string"!=typeof e.text&&(s=Zr(e,i));return s}(n,s,e.lineHeight);return{itemWidth:o,itemHeight:r}}(i,e,n,t,s);o>0&&u+m+2*r>h&&(c+=d+r,l.push({width:d,height:u}),f+=d+r,p++,d=u=0),a[o]={left:f,top:u,col:p,width:g,height:m},d=Math.max(d,g),u+=m+r})),c+=d,l.push({width:d,height:u}),c}adjustHitBoxes(){if(!this.options.display)return;const t=this._computeTitleHeight(),{legendHitBoxes:e,options:{align:i,labels:{padding:s},rtl:n}}=this,o=Ds(n,this.left,this.width);if(this.isHorizontal()){let n=0,r=Je(i,this.left+s,this.right-this.lineWidths[n]);for(const a of e)n!==a.row&&(n=a.row,r=Je(i,this.left+s,this.right-this.lineWidths[n])),a.top+=this.top+t+s,a.left=o.leftForLtr(o.x(r),a.width),r+=a.width+s}else{let n=0,r=Je(i,this.top+t+s,this.bottom-this.columnSizes[n].height);for(const a of e)a.col!==n&&(n=a.col,r=Je(i,this.top+t+s,this.bottom-this.columnSizes[n].height)),a.top=r,a.left+=this.left+s,a.left=o.leftForLtr(o.x(a.left),a.width),r+=a.height+s}}isHorizontal(){return"top"===this.options.position||"bottom"===this.options.position}draw(){if(this.options.display){const t=this.ctx;Pi(t,this),this._draw(),Ci(t)}}_draw(){const{options:t,columnSizes:e,lineWidths:i,ctx:s}=this,{align:n,labels:o}=t,r=_i.color,a=Ds(t.rtl,this.left,this.width),l=Wi(o.font),{padding:h}=o,c=l.size,d=c/2;let u;this.drawTitle(),s.textAlign=a.textAlign("left"),s.textBaseline="middle",s.lineWidth=.5,s.font=l.string;const{boxWidth:f,boxHeight:p,itemHeight:g}=qr(o,c),m=this.isHorizontal(),b=this._computeTitleHeight();u=m?{x:Je(n,this.left+h,this.right-i[0]),y:this.top+h+b,line:0}:{x:this.left+h,y:Je(n,this.top+b+h,this.bottom-e[0].height),line:0},Os(this.ctx,t.textDirection);const x=g+h;this.legendItems.forEach(((_,y)=>{s.strokeStyle=_.fontColor,s.fillStyle=_.fontColor;const v=s.measureText(_.text).width,w=a.textAlign(_.textAlign||(_.textAlign=o.textAlign)),M=f+d+v;let k=u.x,S=u.y;a.setWidth(this.width),m?y>0&&k+M+h>this.right&&(S=u.y+=x,u.line++,k=u.x=Je(n,this.left+h,this.right-i[u.line])):y>0&&S+x>this.bottom&&(k=u.x=k+e[u.line].width+h,u.line++,S=u.y=Je(n,this.top+b+h,this.bottom-e[u.line].height));if(function(t,e,i){if(isNaN(f)||f<=0||isNaN(p)||p<0)return;s.save();const n=ie(i.lineWidth,1);if(s.fillStyle=ie(i.fillStyle,r),s.lineCap=ie(i.lineCap,"butt"),s.lineDashOffset=ie(i.lineDashOffset,0),s.lineJoin=ie(i.lineJoin,"miter"),s.lineWidth=n,s.strokeStyle=ie(i.strokeStyle,r),s.setLineDash(ie(i.lineDash,[])),o.usePointStyle){const r={radius:p*Math.SQRT2/2,pointStyle:i.pointStyle,rotation:i.rotation,borderWidth:n},l=a.xPlus(t,f/2);Si(s,r,l,e+d,o.pointStyleWidth&&f)}else{const o=e+Math.max((c-p)/2,0),r=a.leftForLtr(t,f),l=Ni(i.borderRadius);s.beginPath(),Object.values(l).some((t=>0!==t))?Li(s,{x:r,y:o,w:f,h:p,radius:l}):s.rect(r,o,f,p),s.fill(),0!==n&&s.stroke()}s.restore()}(a.x(k),S,_),k=((t,e,i,s)=>t===(s?"left":"right")?i:"center"===t?(e+i)/2:e)(w,k+f+d,m?k+M:this.right,t.rtl),function(t,e,i){Ri(s,i.text,t,e+g/2,l,{strikethrough:i.hidden,textAlign:a.textAlign(i.textAlign)})}(a.x(k),S,_),m)u.x+=M+h;else if("string"!=typeof _.text){const t=l.lineHeight;u.y+=Zr(_,t)+h}else u.y+=x})),Es(this.ctx,t.textDirection)}drawTitle(){const t=this.options,e=t.title,i=Wi(e.font),s=Bi(e.padding);if(!e.display)return;const n=Ds(t.rtl,this.left,this.width),o=this.ctx,r=e.position,a=i.size/2,l=s.top+a;let h,c=this.left,d=this.width;if(this.isHorizontal())d=Math.max(...this.lineWidths),h=this.top+l,c=Je(t.align,c,this.right-d);else{const e=this.columnSizes.reduce(((t,e)=>Math.max(t,e.height)),0);h=l+Je(t.align,this.top,this.bottom-e-t.labels.padding-this._computeTitleHeight())}const u=Je(r,c,c+d);o.textAlign=n.textAlign(Ge(r)),o.textBaseline="middle",o.strokeStyle=e.color,o.fillStyle=e.color,o.font=i.string,Ri(o,e.text,u,h,i)}_computeTitleHeight(){const t=this.options.title,e=Wi(t.font),i=Bi(t.padding);return t.display?e.lineHeight+i.height:0}_getLegendItemAt(t,e){let i,s,n;if(Be(t,this.left,this.right)&&Be(e,this.top,this.bottom))for(n=this.legendHitBoxes,i=0;i<n.length;++i)if(s=n[i],Be(t,s.left,s.left+s.width)&&Be(e,s.top,s.top+s.height))return this.legendItems[i];return null}handleEvent(t){const e=this.options;if(!function(t,e){if(("mousemove"===t||"mouseout"===t)&&(e.onHover||e.onLeave))return!0;if(e.onClick&&("click"===t||"mouseup"===t))return!0;return!1}(t.type,e))return;const i=this._getLegendItemAt(t.x,t.y);if("mousemove"===t.type||"mouseout"===t.type){const s=this._hoveredItem,n=((t,e)=>null!==t&&null!==e&&t.datasetIndex===e.datasetIndex&&t.index===e.index)(s,i);s&&!n&&ne(e.onLeave,[t,s,this],this),this._hoveredItem=i,i&&!n&&ne(e.onHover,[t,i,this],this)}else i&&ne(e.onClick,[t,i,this],this)}}function Zr(t,e){return e*(t.text?t.text.length:0)}var Gr={id:"legend",_element:Kr,start(t,e,i){const s=t.legend=new Kr({ctx:t.ctx,options:i,chart:t});Wn.configure(t,s,i),Wn.addBox(t,s)},stop(t){Wn.removeBox(t,t.legend),delete t.legend},beforeUpdate(t,e,i){const s=t.legend;Wn.configure(t,s,i),s.options=i},afterUpdate(t){const e=t.legend;e.buildLabels(),e.adjustHitBoxes()},afterEvent(t,e){e.replay||t.legend.handleEvent(e.event)},defaults:{display:!0,position:"top",align:"center",fullSize:!0,reverse:!1,weight:1e3,onClick(t,e,i){const s=e.datasetIndex,n=i.chart;n.isDatasetVisible(s)?(n.hide(s),e.hidden=!0):(n.show(s),e.hidden=!1)},onHover:null,onLeave:null,labels:{color:t=>t.chart.options.color,boxWidth:40,padding:10,generateLabels(t){const e=t.data.datasets,{labels:{usePointStyle:i,pointStyle:s,textAlign:n,color:o,useBorderRadius:r,borderRadius:a}}=t.legend.options;return t._getSortedDatasetMetas().map((t=>{const l=t.controller.getStyle(i?0:void 0),h=Bi(l.borderWidth);return{text:e[t.index].label,fillStyle:l.backgroundColor,fontColor:o,hidden:!t.visible,lineCap:l.borderCapStyle,lineDash:l.borderDash,lineDashOffset:l.borderDashOffset,lineJoin:l.borderJoinStyle,lineWidth:(h.width+h.height)/4,strokeStyle:l.borderColor,pointStyle:s||l.pointStyle,rotation:l.rotation,textAlign:n||l.textAlign,borderRadius:r&&(a||l.borderRadius),datasetIndex:t.index}}),this)}},title:{color:t=>t.chart.options.color,display:!1,position:"center",text:""}},descriptors:{_scriptable:t=>!t.startsWith("on"),labels:{_scriptable:t=>!["generateLabels","filter","sort"].includes(t)}}};class Jr extends ao{constructor(t){super(),this.chart=t.chart,this.options=t.options,this.ctx=t.ctx,this._padding=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.width=void 0,this.height=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(t,e){const i=this.options;if(this.left=0,this.top=0,!i.display)return void(this.width=this.height=this.right=this.bottom=0);this.width=this.right=t,this.height=this.bottom=e;const s=Jt(i.text)?i.text.length:1;this._padding=Bi(i.padding);const n=s*Wi(i.font).lineHeight+this._padding.height;this.isHorizontal()?this.height=n:this.width=n}isHorizontal(){const t=this.options.position;return"top"===t||"bottom"===t}_drawArgs(t){const{top:e,left:i,bottom:s,right:n,options:o}=this,r=o.align;let a,l,h,c=0;return this.isHorizontal()?(l=Je(r,i,n),h=e+t,a=n-i):("left"===o.position?(l=i+t,h=Je(r,s,e),c=-.5*_e):(l=n-t,h=Je(r,e,s),c=.5*_e),a=s-e),{titleX:l,titleY:h,maxWidth:a,rotation:c}}draw(){const t=this.ctx,e=this.options;if(!e.display)return;const i=Wi(e.font),s=i.lineHeight/2+this._padding.top,{titleX:n,titleY:o,maxWidth:r,rotation:a}=this._drawArgs(s);Ri(t,e.text,0,0,i,{color:e.color,maxWidth:r,rotation:a,textAlign:Ge(e.align),textBaseline:"middle",translation:[n,o]})}}var Qr={id:"title",_element:Jr,start(t,e,i){!function(t,e){const i=new Jr({ctx:t.ctx,options:e,chart:t});Wn.configure(t,i,e),Wn.addBox(t,i),t.titleBlock=i}(t,i)},stop(t){const e=t.titleBlock;Wn.removeBox(t,e),delete t.titleBlock},beforeUpdate(t,e,i){const s=t.titleBlock;Wn.configure(t,s,i),s.options=i},defaults:{align:"center",display:!1,font:{weight:"bold"},fullSize:!0,padding:10,position:"top",text:"",weight:2e3},defaultRoutes:{color:"color"},descriptors:{_scriptable:!0,_indexable:!1}};const ta=new WeakMap;var ea={id:"subtitle",start(t,e,i){const s=new Jr({ctx:t.ctx,options:i,chart:t});Wn.configure(t,s,i),Wn.addBox(t,s),ta.set(t,s)},stop(t){Wn.removeBox(t,ta.get(t)),ta.delete(t)},beforeUpdate(t,e,i){const s=ta.get(t);Wn.configure(t,s,i),s.options=i},defaults:{align:"center",display:!1,font:{weight:"normal"},fullSize:!0,padding:0,position:"top",text:"",weight:1500},defaultRoutes:{color:"color"},descriptors:{_scriptable:!0,_indexable:!1}};const ia={average(t){if(!t.length)return!1;let e,i,s=new Set,n=0,o=0;for(e=0,i=t.length;e<i;++e){const i=t[e].element;if(i&&i.hasValue()){const t=i.tooltipPosition();s.add(t.x),n+=t.y,++o}}if(0===o||0===s.size)return!1;const r=[...s].reduce(((t,e)=>t+e))/s.size;return{x:r,y:n/o}},nearest(t,e){if(!t.length)return!1;let i,s,n,o=e.x,r=e.y,a=Number.POSITIVE_INFINITY;for(i=0,s=t.length;i<s;++i){const s=t[i].element;if(s&&s.hasValue()){const t=$e(e,s.getCenterPoint());t<a&&(a=t,n=s)}}if(n){const t=n.tooltipPosition();o=t.x,r=t.y}return{x:o,y:r}}};function sa(t,e){return e&&(Jt(e)?Array.prototype.push.apply(t,e):t.push(e)),t}function na(t){return("string"==typeof t||t instanceof String)&&t.indexOf("\n")>-1?t.split("\n"):t}function oa(t,e){const{element:i,datasetIndex:s,index:n}=e,o=t.getDatasetMeta(s).controller,{label:r,value:a}=o.getLabelAndValue(n);return{chart:t,label:r,parsed:o.getParsed(n),raw:t.data.datasets[s].data[n],formattedValue:a,dataset:o.getDataset(),dataIndex:n,datasetIndex:s,element:i}}function ra(t,e){const i=t.chart.ctx,{body:s,footer:n,title:o}=t,{boxWidth:r,boxHeight:a}=e,l=Wi(e.bodyFont),h=Wi(e.titleFont),c=Wi(e.footerFont),d=o.length,u=n.length,f=s.length,p=Bi(e.padding);let g=p.height,m=0,b=s.reduce(((t,e)=>t+e.before.length+e.lines.length+e.after.length),0);if(b+=t.beforeBody.length+t.afterBody.length,d&&(g+=d*h.lineHeight+(d-1)*e.titleSpacing+e.titleMarginBottom),b){g+=f*(e.displayColors?Math.max(a,l.lineHeight):l.lineHeight)+(b-f)*l.lineHeight+(b-1)*e.bodySpacing}u&&(g+=e.footerMarginTop+u*c.lineHeight+(u-1)*e.footerSpacing);let x=0;const _=function(t){m=Math.max(m,i.measureText(t).width+x)};return i.save(),i.font=h.string,oe(t.title,_),i.font=l.string,oe(t.beforeBody.concat(t.afterBody),_),x=e.displayColors?r+2+e.boxPadding:0,oe(s,(t=>{oe(t.before,_),oe(t.lines,_),oe(t.after,_)})),x=0,i.font=c.string,oe(t.footer,_),i.restore(),m+=p.width,{width:m,height:g}}function aa(t,e,i,s){const{x:n,width:o}=i,{width:r,chartArea:{left:a,right:l}}=t;let h="center";return"center"===s?h=n<=(a+l)/2?"left":"right":n<=o/2?h="left":n>=r-o/2&&(h="right"),function(t,e,i,s){const{x:n,width:o}=s,r=i.caretSize+i.caretPadding;return"left"===t&&n+o+r>e.width||"right"===t&&n-o-r<0||void 0}(h,t,e,i)&&(h="center"),h}function la(t,e,i){const s=i.yAlign||e.yAlign||function(t,e){const{y:i,height:s}=e;return i<s/2?"top":i>t.height-s/2?"bottom":"center"}(t,i);return{xAlign:i.xAlign||e.xAlign||aa(t,e,i,s),yAlign:s}}function ha(t,e,i,s){const{caretSize:n,caretPadding:o,cornerRadius:r}=t,{xAlign:a,yAlign:l}=i,h=n+o,{topLeft:c,topRight:d,bottomLeft:u,bottomRight:f}=Ni(r);let p=function(t,e){let{x:i,width:s}=t;return"right"===e?i-=s:"center"===e&&(i-=s/2),i}(e,a);const g=function(t,e,i){let{y:s,height:n}=t;return"top"===e?s+=i:s-="bottom"===e?n+i:n/2,s}(e,l,h);return"center"===l?"left"===a?p+=h:"right"===a&&(p-=h):"left"===a?p-=Math.max(c,u)+n:"right"===a&&(p+=Math.max(d,f)+n),{x:Ne(p,0,s.width-e.width),y:Ne(g,0,s.height-e.height)}}function ca(t,e,i){const s=Bi(i.padding);return"center"===e?t.x+t.width/2:"right"===e?t.x+t.width-s.right:t.x+s.left}function da(t){return sa([],na(t))}function ua(t,e){const i=e&&e.dataset&&e.dataset.tooltip&&e.dataset.tooltip.callbacks;return i?t.override(i):t}const fa={beforeTitle:Kt,title(t){if(t.length>0){const e=t[0],i=e.chart.data.labels,s=i?i.length:0;if(this&&this.options&&"dataset"===this.options.mode)return e.dataset.label||"";if(e.label)return e.label;if(s>0&&e.dataIndex<s)return i[e.dataIndex]}return""},afterTitle:Kt,beforeBody:Kt,beforeLabel:Kt,label(t){if(this&&this.options&&"dataset"===this.options.mode)return t.label+": "+t.formattedValue||t.formattedValue;let e=t.dataset.label||"";e&&(e+=": ");const i=t.formattedValue;return Gt(i)||(e+=i),e},labelColor(t){const e=t.chart.getDatasetMeta(t.datasetIndex).controller.getStyle(t.dataIndex);return{borderColor:e.borderColor,backgroundColor:e.backgroundColor,borderWidth:e.borderWidth,borderDash:e.borderDash,borderDashOffset:e.borderDashOffset,borderRadius:0}},labelTextColor(){return this.options.bodyColor},labelPointStyle(t){const e=t.chart.getDatasetMeta(t.datasetIndex).controller.getStyle(t.dataIndex);return{pointStyle:e.pointStyle,rotation:e.rotation}},afterLabel:Kt,afterBody:Kt,beforeFooter:Kt,footer:Kt,afterFooter:Kt};function pa(t,e,i,s){const n=t[e].call(i,s);return void 0===n?fa[e].call(i,s):n}class ga extends ao{constructor(t){super(),this.opacity=0,this._active=[],this._eventPosition=void 0,this._size=void 0,this._cachedAnimations=void 0,this._tooltipItems=[],this.$animations=void 0,this.$context=void 0,this.chart=t.chart,this.options=t.options,this.dataPoints=void 0,this.title=void 0,this.beforeBody=void 0,this.body=void 0,this.afterBody=void 0,this.footer=void 0,this.xAlign=void 0,this.yAlign=void 0,this.x=void 0,this.y=void 0,this.height=void 0,this.width=void 0,this.caretX=void 0,this.caretY=void 0,this.labelColors=void 0,this.labelPointStyles=void 0,this.labelTextColors=void 0}initialize(t){this.options=t,this._cachedAnimations=void 0,this.$context=void 0}_resolveAnimations(){const t=this._cachedAnimations;if(t)return t;const e=this.chart,i=this.options.setContext(this.getContext()),s=i.enabled&&e.options.animation&&i.animations,n=new js(this.chart,s);return s._cacheable&&(this._cachedAnimations=Object.freeze(n)),n}getContext(){return this.$context||(this.$context=(t=this.chart.getContext(),e=this,i=this._tooltipItems,Ui(t,{tooltip:e,tooltipItems:i,type:"tooltip"})));var t,e,i}getTitle(t,e){const{callbacks:i}=e,s=pa(i,"beforeTitle",this,t),n=pa(i,"title",this,t),o=pa(i,"afterTitle",this,t);let r=[];return r=sa(r,na(s)),r=sa(r,na(n)),r=sa(r,na(o)),r}getBeforeBody(t,e){return da(pa(e.callbacks,"beforeBody",this,t))}getBody(t,e){const{callbacks:i}=e,s=[];return oe(t,(t=>{const e={before:[],lines:[],after:[]},n=ua(i,t);sa(e.before,na(pa(n,"beforeLabel",this,t))),sa(e.lines,pa(n,"label",this,t)),sa(e.after,na(pa(n,"afterLabel",this,t))),s.push(e)})),s}getAfterBody(t,e){return da(pa(e.callbacks,"afterBody",this,t))}getFooter(t,e){const{callbacks:i}=e,s=pa(i,"beforeFooter",this,t),n=pa(i,"footer",this,t),o=pa(i,"afterFooter",this,t);let r=[];return r=sa(r,na(s)),r=sa(r,na(n)),r=sa(r,na(o)),r}_createItems(t){const e=this._active,i=this.chart.data,s=[],n=[],o=[];let r,a,l=[];for(r=0,a=e.length;r<a;++r)l.push(oa(this.chart,e[r]));return t.filter&&(l=l.filter(((e,s,n)=>t.filter(e,s,n,i)))),t.itemSort&&(l=l.sort(((e,s)=>t.itemSort(e,s,i)))),oe(l,(e=>{const i=ua(t.callbacks,e);s.push(pa(i,"labelColor",this,e)),n.push(pa(i,"labelPointStyle",this,e)),o.push(pa(i,"labelTextColor",this,e))})),this.labelColors=s,this.labelPointStyles=n,this.labelTextColors=o,this.dataPoints=l,l}update(t,e){const i=this.options.setContext(this.getContext()),s=this._active;let n,o=[];if(s.length){const t=ia[i.position].call(this,s,this._eventPosition);o=this._createItems(i),this.title=this.getTitle(o,i),this.beforeBody=this.getBeforeBody(o,i),this.body=this.getBody(o,i),this.afterBody=this.getAfterBody(o,i),this.footer=this.getFooter(o,i);const e=this._size=ra(this,i),r=Object.assign({},t,e),a=la(this.chart,i,r),l=ha(i,r,a,this.chart);this.xAlign=a.xAlign,this.yAlign=a.yAlign,n={opacity:1,x:l.x,y:l.y,width:e.width,height:e.height,caretX:t.x,caretY:t.y}}else 0!==this.opacity&&(n={opacity:0});this._tooltipItems=o,this.$context=void 0,n&&this._resolveAnimations().update(this,n),t&&i.external&&i.external.call(this,{chart:this.chart,tooltip:this,replay:e})}drawCaret(t,e,i,s){const n=this.getCaretPosition(t,i,s);e.lineTo(n.x1,n.y1),e.lineTo(n.x2,n.y2),e.lineTo(n.x3,n.y3)}getCaretPosition(t,e,i){const{xAlign:s,yAlign:n}=this,{caretSize:o,cornerRadius:r}=i,{topLeft:a,topRight:l,bottomLeft:h,bottomRight:c}=Ni(r),{x:d,y:u}=t,{width:f,height:p}=e;let g,m,b,x,_,y;return"center"===n?(_=u+p/2,"left"===s?(g=d,m=g-o,x=_+o,y=_-o):(g=d+f,m=g+o,x=_-o,y=_+o),b=g):(m="left"===s?d+Math.max(a,h)+o:"right"===s?d+f-Math.max(l,c)-o:this.caretX,"top"===n?(x=u,_=x-o,g=m-o,b=m+o):(x=u+p,_=x+o,g=m+o,b=m-o),y=x),{x1:g,x2:m,x3:b,y1:x,y2:_,y3:y}}drawTitle(t,e,i){const s=this.title,n=s.length;let o,r,a;if(n){const l=Ds(i.rtl,this.x,this.width);for(t.x=ca(this,i.titleAlign,i),e.textAlign=l.textAlign(i.titleAlign),e.textBaseline="middle",o=Wi(i.titleFont),r=i.titleSpacing,e.fillStyle=i.titleColor,e.font=o.string,a=0;a<n;++a)e.fillText(s[a],l.x(t.x),t.y+o.lineHeight/2),t.y+=o.lineHeight+r,a+1===n&&(t.y+=i.titleMarginBottom-r)}}_drawColorBox(t,e,i,s,n){const o=this.labelColors[i],r=this.labelPointStyles[i],{boxHeight:a,boxWidth:l}=n,h=Wi(n.bodyFont),c=ca(this,"left",n),d=s.x(c),u=a<h.lineHeight?(h.lineHeight-a)/2:0,f=e.y+u;if(n.usePointStyle){const e={radius:Math.min(l,a)/2,pointStyle:r.pointStyle,rotation:r.rotation,borderWidth:1},i=s.leftForLtr(d,l)+l/2,h=f+a/2;t.strokeStyle=n.multiKeyBackground,t.fillStyle=n.multiKeyBackground,ki(t,e,i,h),t.strokeStyle=o.borderColor,t.fillStyle=o.backgroundColor,ki(t,e,i,h)}else{t.lineWidth=Qt(o.borderWidth)?Math.max(...Object.values(o.borderWidth)):o.borderWidth||1,t.strokeStyle=o.borderColor,t.setLineDash(o.borderDash||[]),t.lineDashOffset=o.borderDashOffset||0;const e=s.leftForLtr(d,l),i=s.leftForLtr(s.xPlus(d,1),l-2),r=Ni(o.borderRadius);Object.values(r).some((t=>0!==t))?(t.beginPath(),t.fillStyle=n.multiKeyBackground,Li(t,{x:e,y:f,w:l,h:a,radius:r}),t.fill(),t.stroke(),t.fillStyle=o.backgroundColor,t.beginPath(),Li(t,{x:i,y:f+1,w:l-2,h:a-2,radius:r}),t.fill()):(t.fillStyle=n.multiKeyBackground,t.fillRect(e,f,l,a),t.strokeRect(e,f,l,a),t.fillStyle=o.backgroundColor,t.fillRect(i,f+1,l-2,a-2))}t.fillStyle=this.labelTextColors[i]}drawBody(t,e,i){const{body:s}=this,{bodySpacing:n,bodyAlign:o,displayColors:r,boxHeight:a,boxWidth:l,boxPadding:h}=i,c=Wi(i.bodyFont);let d=c.lineHeight,u=0;const f=Ds(i.rtl,this.x,this.width),p=function(i){e.fillText(i,f.x(t.x+u),t.y+d/2),t.y+=d+n},g=f.textAlign(o);let m,b,x,_,y,v,w;for(e.textAlign=o,e.textBaseline="middle",e.font=c.string,t.x=ca(this,g,i),e.fillStyle=i.bodyColor,oe(this.beforeBody,p),u=r&&"right"!==g?"center"===o?l/2+h:l+2+h:0,_=0,v=s.length;_<v;++_){for(m=s[_],b=this.labelTextColors[_],e.fillStyle=b,oe(m.before,p),x=m.lines,r&&x.length&&(this._drawColorBox(e,t,_,f,i),d=Math.max(c.lineHeight,a)),y=0,w=x.length;y<w;++y)p(x[y]),d=c.lineHeight;oe(m.after,p)}u=0,d=c.lineHeight,oe(this.afterBody,p),t.y-=n}drawFooter(t,e,i){const s=this.footer,n=s.length;let o,r;if(n){const a=Ds(i.rtl,this.x,this.width);for(t.x=ca(this,i.footerAlign,i),t.y+=i.footerMarginTop,e.textAlign=a.textAlign(i.footerAlign),e.textBaseline="middle",o=Wi(i.footerFont),e.fillStyle=i.footerColor,e.font=o.string,r=0;r<n;++r)e.fillText(s[r],a.x(t.x),t.y+o.lineHeight/2),t.y+=o.lineHeight+i.footerSpacing}}drawBackground(t,e,i,s){const{xAlign:n,yAlign:o}=this,{x:r,y:a}=t,{width:l,height:h}=i,{topLeft:c,topRight:d,bottomLeft:u,bottomRight:f}=Ni(s.cornerRadius);e.fillStyle=s.backgroundColor,e.strokeStyle=s.borderColor,e.lineWidth=s.borderWidth,e.beginPath(),e.moveTo(r+c,a),"top"===o&&this.drawCaret(t,e,i,s),e.lineTo(r+l-d,a),e.quadraticCurveTo(r+l,a,r+l,a+d),"center"===o&&"right"===n&&this.drawCaret(t,e,i,s),e.lineTo(r+l,a+h-f),e.quadraticCurveTo(r+l,a+h,r+l-f,a+h),"bottom"===o&&this.drawCaret(t,e,i,s),e.lineTo(r+u,a+h),e.quadraticCurveTo(r,a+h,r,a+h-u),"center"===o&&"left"===n&&this.drawCaret(t,e,i,s),e.lineTo(r,a+c),e.quadraticCurveTo(r,a,r+c,a),e.closePath(),e.fill(),s.borderWidth>0&&e.stroke()}_updateAnimationTarget(t){const e=this.chart,i=this.$animations,s=i&&i.x,n=i&&i.y;if(s||n){const i=ia[t.position].call(this,this._active,this._eventPosition);if(!i)return;const o=this._size=ra(this,t),r=Object.assign({},i,this._size),a=la(e,t,r),l=ha(t,r,a,e);s._to===l.x&&n._to===l.y||(this.xAlign=a.xAlign,this.yAlign=a.yAlign,this.width=o.width,this.height=o.height,this.caretX=i.x,this.caretY=i.y,this._resolveAnimations().update(this,l))}}_willRender(){return!!this.opacity}draw(t){const e=this.options.setContext(this.getContext());let i=this.opacity;if(!i)return;this._updateAnimationTarget(e);const s={width:this.width,height:this.height},n={x:this.x,y:this.y};i=Math.abs(i)<.001?0:i;const o=Bi(e.padding),r=this.title.length||this.beforeBody.length||this.body.length||this.afterBody.length||this.footer.length;e.enabled&&r&&(t.save(),t.globalAlpha=i,this.drawBackground(n,t,s,e),Os(t,e.textDirection),n.y+=o.top,this.drawTitle(n,t,e),this.drawBody(n,t,e),this.drawFooter(n,t,e),Es(t,e.textDirection),t.restore())}getActiveElements(){return this._active||[]}setActiveElements(t,e){const i=this._active,s=t.map((t=>{let{datasetIndex:e,index:i}=t;const s=this.chart.getDatasetMeta(e);if(!s)throw new Error("Cannot find a dataset at index "+e);return{datasetIndex:e,element:s.data[i],index:i}})),n=!re(i,s),o=this._positionChanged(s,e);(n||o)&&(this._active=s,this._eventPosition=e,this._ignoreReplayEvents=!0,this.update(!0))}handleEvent(t,e){let i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];if(e&&this._ignoreReplayEvents)return!1;this._ignoreReplayEvents=!1;const s=this.options,n=this._active||[],o=this._getActiveElements(t,n,e,i),r=this._positionChanged(o,t),a=e||!re(o,n)||r;return a&&(this._active=o,(s.enabled||s.external)&&(this._eventPosition={x:t.x,y:t.y},this.update(!0,e))),a}_getActiveElements(t,e,i,s){const n=this.options;if("mouseout"===t.type)return[];if(!s)return e.filter((t=>this.chart.data.datasets[t.datasetIndex]&&void 0!==this.chart.getDatasetMeta(t.datasetIndex).controller.getParsed(t.index)));const o=this.chart.getElementsAtEventForMode(t,n.mode,n,i);return n.reverse&&o.reverse(),o}_positionChanged(t,e){const{caretX:i,caretY:s,options:n}=this,o=ia[n.position].call(this,t,e);return!1!==o&&(i!==o.x||s!==o.y)}}gt(ga,"positioners",ia);var ma={id:"tooltip",_element:ga,positioners:ia,afterInit(t,e,i){i&&(t.tooltip=new ga({chart:t,options:i}))},beforeUpdate(t,e,i){t.tooltip&&t.tooltip.initialize(i)},reset(t,e,i){t.tooltip&&t.tooltip.initialize(i)},afterDraw(t){const e=t.tooltip;if(e&&e._willRender()){const i={tooltip:e};if(!1===t.notifyPlugins("beforeTooltipDraw",{...i,cancelable:!0}))return;e.draw(t.ctx),t.notifyPlugins("afterTooltipDraw",i)}},afterEvent(t,e){if(t.tooltip){const i=e.replay;t.tooltip.handleEvent(e.event,i,e.inChartArea)&&(e.changed=!0)}},defaults:{enabled:!0,external:null,position:"average",backgroundColor:"rgba(0,0,0,0.8)",titleColor:"#fff",titleFont:{weight:"bold"},titleSpacing:2,titleMarginBottom:6,titleAlign:"left",bodyColor:"#fff",bodySpacing:2,bodyFont:{},bodyAlign:"left",footerColor:"#fff",footerSpacing:2,footerMarginTop:6,footerFont:{weight:"bold"},footerAlign:"left",padding:6,caretPadding:2,caretSize:5,cornerRadius:6,boxHeight:(t,e)=>e.bodyFont.size,boxWidth:(t,e)=>e.bodyFont.size,multiKeyBackground:"#fff",displayColors:!0,boxPadding:0,borderColor:"rgba(0,0,0,0)",borderWidth:0,animation:{duration:400,easing:"easeOutQuart"},animations:{numbers:{type:"number",properties:["x","y","width","height","caretX","caretY"]},opacity:{easing:"linear",duration:200}},callbacks:fa},defaultRoutes:{bodyFont:"font",footerFont:"font",titleFont:"font"},descriptors:{_scriptable:t=>"filter"!==t&&"itemSort"!==t&&"external"!==t,_indexable:!1,callbacks:{_scriptable:!1,_indexable:!1},animation:{_fallback:!1},animations:{_fallback:"animation"}},additionalOptionScopes:["interaction"]},ba=Object.freeze({__proto__:null,Colors:Pr,Decimation:Or,Filler:Xr,Legend:Gr,SubTitle:ea,Title:Qr,Tooltip:ma});function xa(t,e,i,s){const n=t.indexOf(e);if(-1===n)return((t,e,i,s)=>("string"==typeof e?(i=t.push(e)-1,s.unshift({index:i,label:e})):isNaN(e)&&(i=null),i))(t,e,i,s);return n!==t.lastIndexOf(e)?i:n}function _a(t){const e=this.getLabels();return t>=0&&t<e.length?e[t]:t}class ya extends xo{constructor(t){super(t),this._startValue=void 0,this._valueRange=0,this._addedLabels=[]}init(t){const e=this._addedLabels;if(e.length){const t=this.getLabels();for(const{index:i,label:s}of e)t[i]===s&&t.splice(i,1);this._addedLabels=[]}super.init(t)}parse(t,e){if(Gt(t))return null;const i=this.getLabels();return((t,e)=>null===t?null:Ne(Math.round(t),0,e))(e=isFinite(e)&&i[e]===t?e:xa(i,t,ie(e,t),this._addedLabels),i.length-1)}determineDataLimits(){const{minDefined:t,maxDefined:e}=this.getUserBounds();let{min:i,max:s}=this.getMinMax(!0);"ticks"===this.options.bounds&&(t||(i=0),e||(s=this.getLabels().length-1)),this.min=i,this.max=s}buildTicks(){const t=this.min,e=this.max,i=this.options.offset,s=[];let n=this.getLabels();n=0===t&&e===n.length-1?n:n.slice(t,e+1),this._valueRange=Math.max(n.length-(i?0:1),1),this._startValue=this.min-(i?.5:0);for(let i=t;i<=e;i++)s.push({value:i});return s}getLabelForValue(t){return _a.call(this,t)}configure(){super.configure(),this.isHorizontal()||(this._reversePixels=!this._reversePixels)}getPixelForValue(t){return"number"!=typeof t&&(t=this.parse(t)),null===t?NaN:this.getPixelForDecimal((t-this._startValue)/this._valueRange)}getPixelForTick(t){const e=this.ticks;return t<0||t>e.length-1?null:this.getPixelForValue(e[t].value)}getValueForPixel(t){return Math.round(this._startValue+this.getDecimalForPixel(t)*this._valueRange)}getBasePixel(){return this.bottom}}function va(t,e){const i=[],{bounds:s,step:n,min:o,max:r,precision:a,count:l,maxTicks:h,maxDigits:c,includeBounds:d}=t,u=n||1,f=h-1,{min:p,max:g}=e,m=!Gt(o),b=!Gt(r),x=!Gt(l),_=(g-p)/(c+1);let y,v,w,M,k=Oe((g-p)/f/u)*u;if(k<1e-14&&!m&&!b)return[{value:p},{value:g}];M=Math.ceil(g/k)-Math.floor(p/k),M>f&&(k=Oe(M*k/f/u)*u),Gt(a)||(y=Math.pow(10,a),k=Math.ceil(k*y)/y),"ticks"===s?(v=Math.floor(p/k)*k,w=Math.ceil(g/k)*k):(v=p,w=g),m&&b&&n&&function(t,e){const i=Math.round(t);return i-e<=t&&i+e>=t}((r-o)/n,k/1e3)?(M=Math.round(Math.min((r-o)/k,h)),k=(r-o)/M,v=o,w=r):x?(v=m?o:v,w=b?r:w,M=l-1,k=(w-v)/M):(M=(w-v)/k,M=De(M,Math.round(M),k/1e3)?Math.round(M):Math.ceil(M));const S=Math.max(Ie(k),Ie(v));y=Math.pow(10,Gt(a)?S:a),v=Math.round(v*y)/y,w=Math.round(w*y)/y;let A=0;for(m&&(d&&v!==o?(i.push({value:o}),v<o&&A++,De(Math.round((v+A*k)*y)/y,o,wa(o,_,t))&&A++):v<o&&A++);A<M;++A){const t=Math.round((v+A*k)*y)/y;if(b&&t>r)break;i.push({value:t})}return b&&d&&w!==r?i.length&&De(i[i.length-1].value,r,wa(r,_,t))?i[i.length-1].value=r:i.push({value:r}):b&&w!==r||i.push({value:w}),i}function wa(t,e,i){let{horizontal:s,minRotation:n}=i;const o=Re(n),r=(s?Math.sin(o):Math.cos(o))||.001,a=.75*e*(""+t).length;return Math.min(e/r,a)}gt(ya,"id","category"),gt(ya,"defaults",{ticks:{callback:_a}});class Ma extends xo{constructor(t){super(t),this.start=void 0,this.end=void 0,this._startValue=void 0,this._endValue=void 0,this._valueRange=0}parse(t,e){return Gt(t)||("number"==typeof t||t instanceof Number)&&!isFinite(+t)?null:+t}handleTickRangeOptions(){const{beginAtZero:t}=this.options,{minDefined:e,maxDefined:i}=this.getUserBounds();let{min:s,max:n}=this;const o=t=>s=e?s:t,r=t=>n=i?n:t;if(t){const t=Ce(s),e=Ce(n);t<0&&e<0?r(0):t>0&&e>0&&o(0)}if(s===n){let e=0===n?1:Math.abs(.05*n);r(n+e),t||o(s-e)}this.min=s,this.max=n}getTickLimit(){const t=this.options.ticks;let e,{maxTicksLimit:i,stepSize:s}=t;return s?(e=Math.ceil(this.max/s)-Math.floor(this.min/s)+1,e>1e3&&(console.warn(`scales.${this.id}.ticks.stepSize: ${s} would result generating up to ${e} ticks. Limiting to 1000.`),e=1e3)):(e=this.computeTickLimit(),i=i||11),i&&(e=Math.min(i,e)),e}computeTickLimit(){return Number.POSITIVE_INFINITY}buildTicks(){const t=this.options,e=t.ticks;let i=this.getTickLimit();i=Math.max(2,i);const s=va({maxTicks:i,bounds:t.bounds,min:t.min,max:t.max,precision:e.precision,step:e.stepSize,count:e.count,maxDigits:this._maxDigits(),horizontal:this.isHorizontal(),minRotation:e.minRotation||0,includeBounds:!1!==e.includeBounds},this._range||this);return"ticks"===t.bounds&&Te(s,this,"value"),t.reverse?(s.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),s}configure(){const t=this.ticks;let e=this.min,i=this.max;if(super.configure(),this.options.offset&&t.length){const s=(i-e)/Math.max(t.length-1,1)/2;e-=s,i+=s}this._startValue=e,this._endValue=i,this._valueRange=i-e}getLabelForValue(t){return di(t,this.chart.options.locale,this.options.ticks.format)}}class ka extends Ma{determineDataLimits(){const{min:t,max:e}=this.getMinMax(!0);this.min=te(t)?t:0,this.max=te(e)?e:1,this.handleTickRangeOptions()}computeTickLimit(){const t=this.isHorizontal(),e=t?this.width:this.height,i=Re(this.options.ticks.minRotation),s=(t?Math.sin(i):Math.cos(i))||.001,n=this._resolveTickFontOptions(0);return Math.ceil(e/Math.min(40,n.lineHeight/s))}getPixelForValue(t){return null===t?NaN:this.getPixelForDecimal((t-this._startValue)/this._valueRange)}getValueForPixel(t){return this._startValue+this.getDecimalForPixel(t)*this._valueRange}}gt(ka,"id","linear"),gt(ka,"defaults",{ticks:{callback:fi.formatters.numeric}});const Sa=t=>Math.floor(Pe(t)),Aa=(t,e)=>Math.pow(10,Sa(t)+e);function Pa(t){return 1===t/Math.pow(10,Sa(t))}function Ca(t,e,i){const s=Math.pow(10,i),n=Math.floor(t/s);return Math.ceil(e/s)-n}function Da(t,e){let{min:i,max:s}=e;i=ee(t.min,i);const n=[],o=Sa(i);let r=function(t,e){let i=Sa(e-t);for(;Ca(t,e,i)>10;)i++;for(;Ca(t,e,i)<10;)i--;return Math.min(i,Sa(t))}(i,s),a=r<0?Math.pow(10,Math.abs(r)):1;const l=Math.pow(10,r),h=o>r?Math.pow(10,o):0,c=Math.round((i-h)*a)/a,d=Math.floor((i-h)/l/10)*l*10;let u=Math.floor((c-d)/Math.pow(10,r)),f=ee(t.min,Math.round((h+d+u*Math.pow(10,r))*a)/a);for(;f<s;)n.push({value:f,major:Pa(f),significand:u}),u>=10?u=u<15?15:20:u++,u>=20&&(r++,u=2,a=r>=0?1:a),f=Math.round((h+d+u*Math.pow(10,r))*a)/a;const p=ee(t.max,f);return n.push({value:p,major:Pa(p),significand:u}),n}class Oa extends xo{constructor(t){super(t),this.start=void 0,this.end=void 0,this._startValue=void 0,this._valueRange=0}parse(t,e){const i=Ma.prototype.parse.apply(this,[t,e]);if(0!==i)return te(i)&&i>0?i:null;this._zero=!0}determineDataLimits(){const{min:t,max:e}=this.getMinMax(!0);this.min=te(t)?Math.max(0,t):null,this.max=te(e)?Math.max(0,e):null,this.options.beginAtZero&&(this._zero=!0),this._zero&&this.min!==this._suggestedMin&&!te(this._userMin)&&(this.min=t===Aa(this.min,0)?Aa(this.min,-1):Aa(this.min,0)),this.handleTickRangeOptions()}handleTickRangeOptions(){const{minDefined:t,maxDefined:e}=this.getUserBounds();let i=this.min,s=this.max;const n=e=>i=t?i:e,o=t=>s=e?s:t;i===s&&(i<=0?(n(1),o(10)):(n(Aa(i,-1)),o(Aa(s,1)))),i<=0&&n(Aa(s,-1)),s<=0&&o(Aa(i,1)),this.min=i,this.max=s}buildTicks(){const t=this.options,e=Da({min:this._userMin,max:this._userMax},this);return"ticks"===t.bounds&&Te(e,this,"value"),t.reverse?(e.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),e}getLabelForValue(t){return void 0===t?"0":di(t,this.chart.options.locale,this.options.ticks.format)}configure(){const t=this.min;super.configure(),this._startValue=Pe(t),this._valueRange=Pe(this.max)-Pe(t)}getPixelForValue(t){return void 0!==t&&0!==t||(t=this.min),null===t||isNaN(t)?NaN:this.getPixelForDecimal(t===this.min?0:(Pe(t)-this._startValue)/this._valueRange)}getValueForPixel(t){const e=this.getDecimalForPixel(t);return Math.pow(10,this._startValue+e*this._valueRange)}}function Ea(t){const e=t.ticks;if(e.display&&t.display){const t=Bi(e.backdropPadding);return ie(e.font&&e.font.size,_i.font.size)+t.height}return 0}function Ta(t,e,i,s,n){return t===s||t===n?{start:e-i/2,end:e+i/2}:t<s||t>n?{start:e-i,end:e}:{start:e,end:e+i}}function Ra(t){const e={l:t.left+t._padding.left,r:t.right-t._padding.right,t:t.top+t._padding.top,b:t.bottom-t._padding.bottom},i=Object.assign({},e),s=[],n=[],o=t._pointLabels.length,r=t.options.pointLabels,a=r.centerPointLabels?_e/o:0;for(let d=0;d<o;d++){const o=r.setContext(t.getPointLabelContext(d));n[d]=o.padding;const u=t.getPointPosition(d,t.drawingArea+n[d],a),f=Wi(o.font),p=(l=t.ctx,h=f,c=Jt(c=t._pointLabels[d])?c:[c],{w:vi(l,h.string,c),h:c.length*h.lineHeight});s[d]=p;const g=Ve(t.getIndexAngle(d)+a),m=Math.round(Le(g));La(i,e,g,Ta(m,u.x,p.w,0,180),Ta(m,u.y,p.h,90,270))}var l,h,c;t.setCenterPoint(e.l-i.l,i.r-e.r,e.t-i.t,i.b-e.b),t._pointLabelItems=function(t,e,i){const s=[],n=t._pointLabels.length,o=t.options,{centerPointLabels:r,display:a}=o.pointLabels,l={extra:Ea(o)/2,additionalAngle:r?_e/n:0};let h;for(let o=0;o<n;o++){l.padding=i[o],l.size=e[o];const n=Ia(t,o,l);s.push(n),"auto"===a&&(n.visible=za(n,h),n.visible&&(h=n))}return s}(t,s,n)}function La(t,e,i,s,n){const o=Math.abs(Math.sin(i)),r=Math.abs(Math.cos(i));let a=0,l=0;s.start<e.l?(a=(e.l-s.start)/o,t.l=Math.min(t.l,e.l-a)):s.end>e.r&&(a=(s.end-e.r)/o,t.r=Math.max(t.r,e.r+a)),n.start<e.t?(l=(e.t-n.start)/r,t.t=Math.min(t.t,e.t-l)):n.end>e.b&&(l=(n.end-e.b)/r,t.b=Math.max(t.b,e.b+l))}function Ia(t,e,i){const s=t.drawingArea,{extra:n,additionalAngle:o,padding:r,size:a}=i,l=t.getPointPosition(e,s+n+r,o),h=Math.round(Le(Ve(l.angle+ke))),c=function(t,e,i){90===i||270===i?t-=e/2:(i>270||i<90)&&(t-=e);return t}(l.y,a.h,h),d=function(t){if(0===t||180===t)return"center";if(t<180)return"left";return"right"}(h),u=function(t,e,i){"right"===i?t-=e:"center"===i&&(t-=e/2);return t}(l.x,a.w,d);return{visible:!0,x:l.x,y:c,textAlign:d,left:u,top:c,right:u+a.w,bottom:c+a.h}}function za(t,e){if(!e)return!0;const{left:i,top:s,right:n,bottom:o}=t;return!(Ai({x:i,y:s},e)||Ai({x:i,y:o},e)||Ai({x:n,y:s},e)||Ai({x:n,y:o},e))}function $a(t,e,i){const{left:s,top:n,right:o,bottom:r}=i,{backdropColor:a}=e;if(!Gt(a)){const i=Ni(e.borderRadius),l=Bi(e.backdropPadding);t.fillStyle=a;const h=s-l.left,c=n-l.top,d=o-s+l.width,u=r-n+l.height;Object.values(i).some((t=>0!==t))?(t.beginPath(),Li(t,{x:h,y:c,w:d,h:u,radius:i}),t.fill()):t.fillRect(h,c,d,u)}}function Fa(t,e,i,s){const{ctx:n}=t;if(i)n.arc(t.xCenter,t.yCenter,e,0,ye);else{let i=t.getPointPosition(0,e);n.moveTo(i.x,i.y);for(let o=1;o<s;o++)i=t.getPointPosition(o,e),n.lineTo(i.x,i.y)}}gt(Oa,"id","logarithmic"),gt(Oa,"defaults",{ticks:{callback:fi.formatters.logarithmic,major:{enabled:!0}}});class Va extends Ma{constructor(t){super(t),this.xCenter=void 0,this.yCenter=void 0,this.drawingArea=void 0,this._pointLabels=[],this._pointLabelItems=[]}setDimensions(){const t=this._padding=Bi(Ea(this.options)/2),e=this.width=this.maxWidth-t.width,i=this.height=this.maxHeight-t.height;this.xCenter=Math.floor(this.left+e/2+t.left),this.yCenter=Math.floor(this.top+i/2+t.top),this.drawingArea=Math.floor(Math.min(e,i)/2)}determineDataLimits(){const{min:t,max:e}=this.getMinMax(!1);this.min=te(t)&&!isNaN(t)?t:0,this.max=te(e)&&!isNaN(e)?e:0,this.handleTickRangeOptions()}computeTickLimit(){return Math.ceil(this.drawingArea/Ea(this.options))}generateTickLabels(t){Ma.prototype.generateTickLabels.call(this,t),this._pointLabels=this.getLabels().map(((t,e)=>{const i=ne(this.options.pointLabels.callback,[t,e],this);return i||0===i?i:""})).filter(((t,e)=>this.chart.getDataVisibility(e)))}fit(){const t=this.options;t.display&&t.pointLabels.display?Ra(this):this.setCenterPoint(0,0,0,0)}setCenterPoint(t,e,i,s){this.xCenter+=Math.floor((t-e)/2),this.yCenter+=Math.floor((i-s)/2),this.drawingArea-=Math.min(this.drawingArea/2,Math.max(t,e,i,s))}getIndexAngle(t){return Ve(t*(ye/(this._pointLabels.length||1))+Re(this.options.startAngle||0))}getDistanceFromCenterForValue(t){if(Gt(t))return NaN;const e=this.drawingArea/(this.max-this.min);return this.options.reverse?(this.max-t)*e:(t-this.min)*e}getValueForDistanceFromCenter(t){if(Gt(t))return NaN;const e=t/(this.drawingArea/(this.max-this.min));return this.options.reverse?this.max-e:this.min+e}getPointLabelContext(t){const e=this._pointLabels||[];if(t>=0&&t<e.length){const i=e[t];return function(t,e,i){return Ui(t,{label:i,index:e,type:"pointLabel"})}(this.getContext(),t,i)}}getPointPosition(t,e){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;const s=this.getIndexAngle(t)-ke+i;return{x:Math.cos(s)*e+this.xCenter,y:Math.sin(s)*e+this.yCenter,angle:s}}getPointPositionForValue(t,e){return this.getPointPosition(t,this.getDistanceFromCenterForValue(e))}getBasePosition(t){return this.getPointPositionForValue(t||0,this.getBaseValue())}getPointLabelPosition(t){const{left:e,top:i,right:s,bottom:n}=this._pointLabelItems[t];return{left:e,top:i,right:s,bottom:n}}drawBackground(){const{backgroundColor:t,grid:{circular:e}}=this.options;if(t){const i=this.ctx;i.save(),i.beginPath(),Fa(this,this.getDistanceFromCenterForValue(this._endValue),e,this._pointLabels.length),i.closePath(),i.fillStyle=t,i.fill(),i.restore()}}drawGrid(){const t=this.ctx,e=this.options,{angleLines:i,grid:s,border:n}=e,o=this._pointLabels.length;let r,a,l;if(e.pointLabels.display&&function(t,e){const{ctx:i,options:{pointLabels:s}}=t;for(let n=e-1;n>=0;n--){const e=t._pointLabelItems[n];if(!e.visible)continue;const o=s.setContext(t.getPointLabelContext(n));$a(i,o,e);const r=Wi(o.font),{x:a,y:l,textAlign:h}=e;Ri(i,t._pointLabels[n],a,l+r.lineHeight/2,r,{color:o.color,textAlign:h,textBaseline:"middle"})}}(this,o),s.display&&this.ticks.forEach(((t,e)=>{if(0!==e||0===e&&this.min<0){a=this.getDistanceFromCenterForValue(t.value);const i=this.getContext(e),r=s.setContext(i),l=n.setContext(i);!function(t,e,i,s,n){const o=t.ctx,r=e.circular,{color:a,lineWidth:l}=e;!r&&!s||!a||!l||i<0||(o.save(),o.strokeStyle=a,o.lineWidth=l,o.setLineDash(n.dash||[]),o.lineDashOffset=n.dashOffset,o.beginPath(),Fa(t,i,r,s),o.closePath(),o.stroke(),o.restore())}(this,r,a,o,l)}})),i.display){for(t.save(),r=o-1;r>=0;r--){const s=i.setContext(this.getPointLabelContext(r)),{color:n,lineWidth:o}=s;o&&n&&(t.lineWidth=o,t.strokeStyle=n,t.setLineDash(s.borderDash),t.lineDashOffset=s.borderDashOffset,a=this.getDistanceFromCenterForValue(e.reverse?this.min:this.max),l=this.getPointPosition(r,a),t.beginPath(),t.moveTo(this.xCenter,this.yCenter),t.lineTo(l.x,l.y),t.stroke())}t.restore()}}drawBorder(){}drawLabels(){const t=this.ctx,e=this.options,i=e.ticks;if(!i.display)return;const s=this.getIndexAngle(0);let n,o;t.save(),t.translate(this.xCenter,this.yCenter),t.rotate(s),t.textAlign="center",t.textBaseline="middle",this.ticks.forEach(((s,r)=>{if(0===r&&this.min>=0&&!e.reverse)return;const a=i.setContext(this.getContext(r)),l=Wi(a.font);if(n=this.getDistanceFromCenterForValue(this.ticks[r].value),a.showLabelBackdrop){t.font=l.string,o=t.measureText(s.label).width,t.fillStyle=a.backdropColor;const e=Bi(a.backdropPadding);t.fillRect(-o/2-e.left,-n-l.size/2-e.top,o+e.width,l.size+e.height)}Ri(t,s.label,0,-n,l,{color:a.color,strokeColor:a.textStrokeColor,strokeWidth:a.textStrokeWidth})})),t.restore()}drawTitle(){}}gt(Va,"id","radialLinear"),gt(Va,"defaults",{display:!0,animate:!0,position:"chartArea",angleLines:{display:!0,lineWidth:1,borderDash:[],borderDashOffset:0},grid:{circular:!1},startAngle:0,ticks:{showLabelBackdrop:!0,callback:fi.formatters.numeric},pointLabels:{backdropColor:void 0,backdropPadding:2,display:!0,font:{size:10},callback:t=>t,padding:5,centerPointLabels:!1}}),gt(Va,"defaultRoutes",{"angleLines.color":"borderColor","pointLabels.color":"color","ticks.color":"color"}),gt(Va,"descriptors",{angleLines:{_fallback:"grid"}});const Ha={millisecond:{common:!0,size:1,steps:1e3},second:{common:!0,size:1e3,steps:60},minute:{common:!0,size:6e4,steps:60},hour:{common:!0,size:36e5,steps:24},day:{common:!0,size:864e5,steps:30},week:{common:!1,size:6048e5,steps:4},month:{common:!0,size:2628e6,steps:12},quarter:{common:!1,size:7884e6,steps:4},year:{common:!0,size:3154e7}},Na=Object.keys(Ha);function Ba(t,e){return t-e}function Wa(t,e){if(Gt(e))return null;const i=t._adapter,{parser:s,round:n,isoWeekday:o}=t._parseOpts;let r=e;return"function"==typeof s&&(r=s(r)),te(r)||(r="string"==typeof s?i.parse(r,s):i.parse(r)),null===r?null:(n&&(r="week"!==n||!Ee(o)&&!0!==o?i.startOf(r,n):i.startOf(r,"isoWeek",o)),+r)}function ja(t,e,i,s){const n=Na.length;for(let o=Na.indexOf(t);o<n-1;++o){const t=Ha[Na[o]],n=t.steps?t.steps:Number.MAX_SAFE_INTEGER;if(t.common&&Math.ceil((i-e)/(n*t.size))<=s)return Na[o]}return Na[n-1]}function Ua(t,e,i){if(i){if(i.length){const{lo:s,hi:n}=We(i,e);t[i[s]>=e?i[s]:i[n]]=!0}}else t[e]=!0}function Ya(t,e,i){const s=[],n={},o=e.length;let r,a;for(r=0;r<o;++r)a=e[r],n[a]=r,s.push({value:a,major:!1});return 0!==o&&i?function(t,e,i,s){const n=t._adapter,o=+n.startOf(e[0].value,s),r=e[e.length-1].value;let a,l;for(a=o;a<=r;a=+n.add(a,1,s))l=i[a],l>=0&&(e[l].major=!0);return e}(t,s,n,i):s}class Xa extends xo{constructor(t){super(t),this._cache={data:[],labels:[],all:[]},this._unit="day",this._majorUnit=void 0,this._offsets={},this._normalized=!1,this._parseOpts=void 0}init(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const i=t.time||(t.time={}),s=this._adapter=new Mn(t.adapters.date);s.init(e),de(i.displayFormats,s.formats()),this._parseOpts={parser:i.parser,round:i.round,isoWeekday:i.isoWeekday},super.init(t),this._normalized=e.normalized}parse(t,e){return void 0===t?null:Wa(this,t)}beforeLayout(){super.beforeLayout(),this._cache={data:[],labels:[],all:[]}}determineDataLimits(){const t=this.options,e=this._adapter,i=t.time.unit||"day";let{min:s,max:n,minDefined:o,maxDefined:r}=this.getUserBounds();function a(t){o||isNaN(t.min)||(s=Math.min(s,t.min)),r||isNaN(t.max)||(n=Math.max(n,t.max))}o&&r||(a(this._getLabelBounds()),"ticks"===t.bounds&&"labels"===t.ticks.source||a(this.getMinMax(!1))),s=te(s)&&!isNaN(s)?s:+e.startOf(Date.now(),i),n=te(n)&&!isNaN(n)?n:+e.endOf(Date.now(),i)+1,this.min=Math.min(s,n-1),this.max=Math.max(s+1,n)}_getLabelBounds(){const t=this.getLabelTimestamps();let e=Number.POSITIVE_INFINITY,i=Number.NEGATIVE_INFINITY;return t.length&&(e=t[0],i=t[t.length-1]),{min:e,max:i}}buildTicks(){const t=this.options,e=t.time,i=t.ticks,s="labels"===i.source?this.getLabelTimestamps():this._generate();"ticks"===t.bounds&&s.length&&(this.min=this._userMin||s[0],this.max=this._userMax||s[s.length-1]);const n=this.min,o=function(t,e,i){let s=0,n=t.length;for(;s<n&&t[s]<e;)s++;for(;n>s&&t[n-1]>i;)n--;return s>0||n<t.length?t.slice(s,n):t}(s,n,this.max);return this._unit=e.unit||(i.autoSkip?ja(e.minUnit,this.min,this.max,this._getLabelCapacity(n)):function(t,e,i,s,n){for(let o=Na.length-1;o>=Na.indexOf(i);o--){const i=Na[o];if(Ha[i].common&&t._adapter.diff(n,s,i)>=e-1)return i}return Na[i?Na.indexOf(i):0]}(this,o.length,e.minUnit,this.min,this.max)),this._majorUnit=i.major.enabled&&"year"!==this._unit?function(t){for(let e=Na.indexOf(t)+1,i=Na.length;e<i;++e)if(Ha[Na[e]].common)return Na[e]}(this._unit):void 0,this.initOffsets(s),t.reverse&&o.reverse(),Ya(this,o,this._majorUnit)}afterAutoSkip(){this.options.offsetAfterAutoskip&&this.initOffsets(this.ticks.map((t=>+t.value)))}initOffsets(){let t,e,i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],s=0,n=0;this.options.offset&&i.length&&(t=this.getDecimalForValue(i[0]),s=1===i.length?1-t:(this.getDecimalForValue(i[1])-t)/2,e=this.getDecimalForValue(i[i.length-1]),n=1===i.length?e:(e-this.getDecimalForValue(i[i.length-2]))/2);const o=i.length<3?.5:.25;s=Ne(s,0,o),n=Ne(n,0,o),this._offsets={start:s,end:n,factor:1/(s+1+n)}}_generate(){const t=this._adapter,e=this.min,i=this.max,s=this.options,n=s.time,o=n.unit||ja(n.minUnit,e,i,this._getLabelCapacity(e)),r=ie(s.ticks.stepSize,1),a="week"===o&&n.isoWeekday,l=Ee(a)||!0===a,h={};let c,d,u=e;if(l&&(u=+t.startOf(u,"isoWeek",a)),u=+t.startOf(u,l?"day":o),t.diff(i,e,o)>1e5*r)throw new Error(e+" and "+i+" are too far apart with stepSize of "+r+" "+o);const f="data"===s.ticks.source&&this.getDataTimestamps();for(c=u,d=0;c<i;c=+t.add(c,r,o),d++)Ua(h,c,f);return c!==i&&"ticks"!==s.bounds&&1!==d||Ua(h,c,f),Object.keys(h).sort(Ba).map((t=>+t))}getLabelForValue(t){const e=this._adapter,i=this.options.time;return i.tooltipFormat?e.format(t,i.tooltipFormat):e.format(t,i.displayFormats.datetime)}format(t,e){const i=this.options.time.displayFormats,s=this._unit,n=e||i[s];return this._adapter.format(t,n)}_tickFormatFunction(t,e,i,s){const n=this.options,o=n.ticks.callback;if(o)return ne(o,[t,e,i],this);const r=n.time.displayFormats,a=this._unit,l=this._majorUnit,h=a&&r[a],c=l&&r[l],d=i[e],u=l&&c&&d&&d.major;return this._adapter.format(t,s||(u?c:h))}generateTickLabels(t){let e,i,s;for(e=0,i=t.length;e<i;++e)s=t[e],s.label=this._tickFormatFunction(s.value,e,t)}getDecimalForValue(t){return null===t?NaN:(t-this.min)/(this.max-this.min)}getPixelForValue(t){const e=this._offsets,i=this.getDecimalForValue(t);return this.getPixelForDecimal((e.start+i)*e.factor)}getValueForPixel(t){const e=this._offsets,i=this.getDecimalForPixel(t)/e.factor-e.end;return this.min+i*(this.max-this.min)}_getLabelSize(t){const e=this.options.ticks,i=this.ctx.measureText(t).width,s=Re(this.isHorizontal()?e.maxRotation:e.minRotation),n=Math.cos(s),o=Math.sin(s),r=this._resolveTickFontOptions(0).size;return{w:i*n+r*o,h:i*o+r*n}}_getLabelCapacity(t){const e=this.options.time,i=e.displayFormats,s=i[e.unit]||i.millisecond,n=this._tickFormatFunction(t,0,Ya(this,[t],this._majorUnit),s),o=this._getLabelSize(n),r=Math.floor(this.isHorizontal()?this.width/o.w:this.height/o.h)-1;return r>0?r:1}getDataTimestamps(){let t,e,i=this._cache.data||[];if(i.length)return i;const s=this.getMatchingVisibleMetas();if(this._normalized&&s.length)return this._cache.data=s[0].controller.getAllParsedValues(this);for(t=0,e=s.length;t<e;++t)i=i.concat(s[t].controller.getAllParsedValues(this));return this._cache.data=this.normalize(i)}getLabelTimestamps(){const t=this._cache.labels||[];let e,i;if(t.length)return t;const s=this.getLabels();for(e=0,i=s.length;e<i;++e)t.push(Wa(this,s[e]));return this._cache.labels=this._normalized?t:this.normalize(t)}normalize(t){return qe(t.sort(Ba))}}function qa(t,e,i){let s,n,o,r,a=0,l=t.length-1;i?(e>=t[a].pos&&e<=t[l].pos&&({lo:a,hi:l}=je(t,"pos",e)),({pos:s,time:o}=t[a]),({pos:n,time:r}=t[l])):(e>=t[a].time&&e<=t[l].time&&({lo:a,hi:l}=je(t,"time",e)),({time:s,pos:o}=t[a]),({time:n,pos:r}=t[l]));const h=n-s;return h?o+(r-o)*(e-s)/h:o}gt(Xa,"id","time"),gt(Xa,"defaults",{bounds:"data",adapters:{},time:{parser:!1,unit:!1,round:!1,isoWeekday:!1,minUnit:"millisecond",displayFormats:{}},ticks:{source:"auto",callback:!1,major:{enabled:!1}}});class Ka extends Xa{constructor(t){super(t),this._table=[],this._minPos=void 0,this._tableRange=void 0}initOffsets(){const t=this._getTimestampsForTable(),e=this._table=this.buildLookupTable(t);this._minPos=qa(e,this.min),this._tableRange=qa(e,this.max)-this._minPos,super.initOffsets(t)}buildLookupTable(t){const{min:e,max:i}=this,s=[],n=[];let o,r,a,l,h;for(o=0,r=t.length;o<r;++o)l=t[o],l>=e&&l<=i&&s.push(l);if(s.length<2)return[{time:e,pos:0},{time:i,pos:1}];for(o=0,r=s.length;o<r;++o)h=s[o+1],a=s[o-1],l=s[o],Math.round((h+a)/2)!==l&&n.push({time:l,pos:o/(r-1)});return n}_generate(){const t=this.min,e=this.max;let i=super.getDataTimestamps();return i.includes(t)&&i.length||i.splice(0,0,t),i.includes(e)&&1!==i.length||i.push(e),i.sort(((t,e)=>t-e))}_getTimestampsForTable(){let t=this._cache.all||[];if(t.length)return t;const e=this.getDataTimestamps(),i=this.getLabelTimestamps();return t=e.length&&i.length?this.normalize(e.concat(i)):e.length?e:i,t=this._cache.all=t,t}getDecimalForValue(t){return(qa(this._table,t)-this._minPos)/this._tableRange}getValueForPixel(t){const e=this._offsets,i=this.getDecimalForPixel(t)/e.factor-e.end;return qa(this._table,i*this._tableRange+this._minPos,!0)}}gt(Ka,"id","timeseries"),gt(Ka,"defaults",Xa.defaults);const Za=[yn,yr,ba,Object.freeze({__proto__:null,CategoryScale:ya,LinearScale:ka,LogarithmicScale:Oa,RadialLinearScale:Va,TimeScale:Xa,TimeSeriesScale:Ka})];Ko.register(...Za);var Ga=Ko;let Ja=class extends rt{constructor(){super(),this.stockData=[],this.chart=null,this.customLinePlugin={id:"customLinePlugin",afterDraw:function(t){if(t.tooltip&&t.tooltip._active&&t.tooltip._active.length){const e=t.ctx,i=t.tooltip._active[0].element.x,s=t.scales.yPrice.top,n=t.scales.yPrice.bottom;e.save(),e.beginPath(),e.moveTo(i,s),e.lineTo(i,n),e.lineWidth=1,e.strokeStyle="rgba(0, 0, 0, 0.5)",e.stroke(),e.restore()}}},this.stockData=[]}firstUpdated(){this._createChart()}willUpdate(t){return i(this,void 0,void 0,(function*(){t.has("stockData")&&(this.chart?this._updateChart():this._createChart())}))}_getChartData(){return{dates:this.stockData.map((t=>t.date)),closePrices:this.stockData.map((t=>t.close)),ma10:this.stockData.map((t=>{var e;return null!==(e=t.MA10)&&void 0!==e?e:null})),ma20:this.stockData.map((t=>{var e;return null!==(e=t.MA20)&&void 0!==e?e:null})),ma50:this.stockData.map((t=>{var e;return null!==(e=t.MA50)&&void 0!==e?e:null})),ma100:this.stockData.map((t=>{var e;return null!==(e=t.MA100)&&void 0!==e?e:null})),ma200:this.stockData.map((t=>{var e;return null!==(e=t.MA200)&&void 0!==e?e:null})),RSI:this.stockData.map((t=>{var e;return null!==(e=t.RSI)&&void 0!==e?e:null})),MACDLine:this.stockData.map((t=>{var e;return null!==(e=t.MACDLine)&&void 0!==e?e:null})),SignalLine:this.stockData.map((t=>{var e;return null!==(e=t.SignalLine)&&void 0!==e?e:null})),MACDHistogram:this.stockData.map((t=>{var e;return null!==(e=t.MACDHistogram)&&void 0!==e?e:null})),volumes:this.stockData.map((t=>{var e;return null!==(e=t.volume)&&void 0!==e?e:0}))}}_updateChart(){if(this.chart){const{dates:t,closePrices:e,ma10:i,ma20:s,ma50:n,ma100:o,ma200:r,RSI:a,MACDLine:l,SignalLine:h,MACDHistogram:c,volumes:d}=this._getChartData();this.chart.data.labels=t,this.chart.data.datasets[0].data=a,this.chart.data.datasets[1].data=c,this.chart.data.datasets[2].data=h,this.chart.data.datasets[3].data=l,this.chart.data.datasets[4].data=e,this.chart.data.datasets[5].data=s,this.chart.data.datasets[6].data=n,this.chart.data.datasets[7].data=o,this.chart.data.datasets[8].data=r,this.chart.data.datasets[9].data=d,this.chart.data.datasets[10].data=i,this.chart.update()}}_createChart(){var t;const{dates:e,closePrices:i,ma10:s,ma20:n,ma50:o,ma100:r,ma200:a,RSI:l,MACDLine:h,SignalLine:c,MACDHistogram:d,volumes:u}=this._getChartData(),f=null===(t=this.shadowRoot)||void 0===t?void 0:t.getElementById("stockChart");if(!f)return;const p=f.getContext("2d");p&&(this.chart&&this.chart.destroy(),Ga.register(this.customLinePlugin),this.chart=new Ga(p,{type:"line",data:{labels:e,datasets:[{label:"RSI",data:l,borderColor:"rgba(15, 92, 92, 1)",backgroundColor:"rgba(15, 92, 92, 0.2)",fill:!1,borderWidth:2,yAxisID:"yRSI",pointRadius:1,pointHoverRadius:3,hidden:!0},{label:"MACDHistogram",data:d,borderColor:"rgba(175, 92, 92, 1)",backgroundColor:"rgba(175, 92, 92, 0.2)",fill:!1,borderWidth:2,yAxisID:"yMACD",hidden:!0,pointRadius:1,pointHoverRadius:3},{label:"SignalLine",data:c,borderColor:"rgba(75, 92, 192, 1)",backgroundColor:"rgba(75, 92, 192, 0.2)",fill:!1,borderWidth:1,yAxisID:"yMACD",hidden:!0,pointRadius:1,pointHoverRadius:3},{label:"MACDLine",data:h,borderColor:"rgba(175, 192, 192, 1)",backgroundColor:"rgba(175, 192, 192, 0.2)",fill:!1,borderWidth:1,yAxisID:"yMACD",hidden:!0,pointRadius:1,pointHoverRadius:3},{label:"Close Price",data:i,borderColor:"rgba(75, 192, 192, 1)",backgroundColor:"rgba(75, 192, 192, 0.2)",fill:!0,borderWidth:1,yAxisID:"yPrice",pointRadius:1,pointHoverRadius:3},{label:"MA20",data:n,borderColor:"rgba(255, 99, 132, 1)",backgroundColor:"rgba(255, 99, 132, 0.2)",fill:!1,borderWidth:2,yAxisID:"yPrice",pointRadius:1,pointHoverRadius:3},{label:"MA50",data:o,borderColor:"rgba(255, 206, 86, 1)",backgroundColor:"rgba(255, 206, 86, 0.2)",fill:!1,borderWidth:2,yAxisID:"yPrice",pointRadius:1,pointHoverRadius:3},{label:"MA100",data:r,borderColor:"rgba(153, 102, 25, 1)",backgroundColor:"rgba(153, 102, 25, 0.2)",fill:!1,borderWidth:2,yAxisID:"yPrice",hidden:!0,pointRadius:1,pointHoverRadius:3},{label:"MA200",data:a,borderColor:"rgba(153, 102, 255, 1)",backgroundColor:"rgba(153, 102, 255, 0.2)",fill:!1,borderWidth:2,yAxisID:"yPrice",hidden:!0,pointRadius:1,pointHoverRadius:3},{label:"Volume",data:u,yAxisID:"yVolume",fill:!0,backgroundColor:"rgba(252, 3, 57, 0.5)",borderWidth:1,hidden:!0,pointRadius:1,pointHoverRadius:3},{label:"MA10",data:s,borderColor:"rgba(153, 12, 25, 1)",backgroundColor:"rgba(153, 12, 25, 0.2)",fill:!1,borderWidth:1,yAxisID:"yPrice",pointRadius:1,pointHoverRadius:3}]},options:{responsive:!0,scales:{yPrice:{type:"linear",position:"left",beginAtZero:!1,title:{display:!0,text:"Price"}},yRSI:{type:"linear",position:"right",beginAtZero:!0,title:{display:!0,text:"RSI"},grid:{drawOnChartArea:!1}},yMACD:{type:"linear",position:"right",beginAtZero:!0,title:{display:!0,text:"MACD"},grid:{drawOnChartArea:!1}},yVolume:{type:"linear",position:"left",beginAtZero:!0,title:{display:!0,text:"Volume"},grid:{drawOnChartArea:!1}}},interaction:{mode:"index",intersect:!1},plugins:{tooltip:{mode:"index",axis:"x"}}}}))}render(){return W`<canvas id="stockChart"></canvas>`}};t([dt({type:Array}),e("design:type",Array)],Ja.prototype,"stockData",void 0),Ja=t([lt("stock-chart-display"),e("design:paramtypes",[])],Ja);
|