scope 0.4.3__tar.gz → 0.4.4__tar.gz
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.
- {scope-0.4.3 → scope-0.4.4}/PKG-INFO +1 -1
- {scope-0.4.3 → scope-0.4.4}/scope/__init__.py +1 -1
- {scope-0.4.3 → scope-0.4.4}/setup.py +1 -1
- scope-0.4.4/viewer/dist/assets/index-BZlTxr6y.js +34 -0
- scope-0.4.4/viewer/dist/assets/index-DlFPK5at.css +1 -0
- scope-0.4.4/viewer/dist/assets/material-symbols-DplPX30d.woff2 +0 -0
- {scope-0.4.3 → scope-0.4.4}/README.md +0 -0
- {scope-0.4.3 → scope-0.4.4}/requirements.txt +0 -0
- {scope-0.4.3 → scope-0.4.4}/scope/formats.py +0 -0
- {scope-0.4.3 → scope-0.4.4}/scope/reader.py +0 -0
- {scope-0.4.3 → scope-0.4.4}/scope/writer.py +0 -0
- {scope-0.4.3 → scope-0.4.4}/tests/test_float.py +0 -0
- {scope-0.4.3 → scope-0.4.4}/tests/test_image.py +0 -0
- {scope-0.4.3 → scope-0.4.4}/tests/test_video.py +0 -0
- {scope-0.4.3 → scope-0.4.4}/viewer/__init__.py +0 -0
- {scope-0.4.3 → scope-0.4.4}/viewer/__main__.py +0 -0
- {scope-0.4.3 → scope-0.4.4}/viewer/config.py +0 -0
- {scope-0.4.3 → scope-0.4.4}/viewer/dist/favicon.png +0 -0
- {scope-0.4.3 → scope-0.4.4}/viewer/dist/index.html +0 -0
- {scope-0.4.3 → scope-0.4.4}/viewer/dist/logo.png +0 -0
- {scope-0.4.3 → scope-0.4.4}/viewer/filesystems.py +0 -0
- {scope-0.4.3 → scope-0.4.4}/viewer/server.py +0 -0
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
var Xu=Object.defineProperty;var qu=(e,t,s)=>t in e?Xu(e,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[t]=s;var N=(e,t,s)=>qu(e,typeof t!="symbol"?t+"":t,s);(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))n(i);new MutationObserver(i=>{for(const o of i)if(o.type==="childList")for(const r of o.addedNodes)r.tagName==="LINK"&&r.rel==="modulepreload"&&n(r)}).observe(document,{childList:!0,subtree:!0});function s(i){const o={};return i.integrity&&(o.integrity=i.integrity),i.referrerPolicy&&(o.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?o.credentials="include":i.crossOrigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function n(i){if(i.ep)return;i.ep=!0;const o=s(i);fetch(i.href,o)}})();/**
|
|
2
|
+
* @vue/shared v3.5.12
|
|
3
|
+
* (c) 2018-present Yuxi (Evan) You and Vue contributors
|
|
4
|
+
* @license MIT
|
|
5
|
+
**//*! #__NO_SIDE_EFFECTS__ */function lr(e){const t=Object.create(null);for(const s of e.split(","))t[s]=1;return s=>s in t}const Q={},Ds=[],ge=()=>{},Gu=()=>!1,Li=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),cr=e=>e.startsWith("onUpdate:"),vt=Object.assign,ur=(e,t)=>{const s=e.indexOf(t);s>-1&&e.splice(s,1)},Zu=Object.prototype.hasOwnProperty,nt=(e,t)=>Zu.call(e,t),$=Array.isArray,Es=e=>Fi(e)==="[object Map]",Vl=e=>Fi(e)==="[object Set]",K=e=>typeof e=="function",_t=e=>typeof e=="string",Ie=e=>typeof e=="symbol",dt=e=>e!==null&&typeof e=="object",Nl=e=>(dt(e)||K(e))&&K(e.then)&&K(e.catch),$l=Object.prototype.toString,Fi=e=>$l.call(e),Ju=e=>Fi(e).slice(8,-1),Hl=e=>Fi(e)==="[object Object]",fr=e=>_t(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,rn=lr(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),zi=e=>{const t=Object.create(null);return s=>t[s]||(t[s]=e(s))},Qu=/-(\w)/g,Oe=zi(e=>e.replace(Qu,(t,s)=>s?s.toUpperCase():"")),tf=/\B([A-Z])/g,Re=zi(e=>e.replace(tf,"-$1").toLowerCase()),jl=zi(e=>e.charAt(0).toUpperCase()+e.slice(1)),eo=zi(e=>e?`on${jl(e)}`:""),Vt=(e,t)=>!Object.is(e,t),ii=(e,...t)=>{for(let s=0;s<e.length;s++)e[s](...t)},Wl=(e,t,s,n=!1)=>{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:n,value:s})},Ao=e=>{const t=parseFloat(e);return isNaN(t)?e:t},ef=e=>{const t=_t(e)?Number(e):NaN;return isNaN(t)?e:t};let Ur;const Bi=()=>Ur||(Ur=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function Vi(e){if($(e)){const t={};for(let s=0;s<e.length;s++){const n=e[s],i=_t(n)?rf(n):Vi(n);if(i)for(const o in i)t[o]=i[o]}return t}else if(_t(e)||dt(e))return e}const sf=/;(?![^(]*\))/g,nf=/:([^]+)/,of=/\/\*[^]*?\*\//g;function rf(e){const t={};return e.replace(of,"").split(sf).forEach(s=>{if(s){const n=s.split(nf);n.length>1&&(t[n[0].trim()]=n[1].trim())}}),t}function Ge(e){let t="";if(_t(e))t=e;else if($(e))for(let s=0;s<e.length;s++){const n=Ge(e[s]);n&&(t+=n+" ")}else if(dt(e))for(const s in e)e[s]&&(t+=s+" ");return t.trim()}const af="itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly",lf=lr(af);function Ul(e){return!!e||e===""}const Kl=e=>!!(e&&e.__v_isRef===!0),wt=e=>_t(e)?e:e==null?"":$(e)||dt(e)&&(e.toString===$l||!K(e.toString))?Kl(e)?wt(e.value):JSON.stringify(e,Yl,2):String(e),Yl=(e,t)=>Kl(t)?Yl(e,t.value):Es(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((s,[n,i],o)=>(s[so(n,o)+" =>"]=i,s),{})}:Vl(t)?{[`Set(${t.size})`]:[...t.values()].map(s=>so(s))}:Ie(t)?so(t):dt(t)&&!$(t)&&!Hl(t)?String(t):t,so=(e,t="")=>{var s;return Ie(e)?`Symbol(${(s=e.description)!=null?s:t})`:e};/**
|
|
6
|
+
* @vue/reactivity v3.5.12
|
|
7
|
+
* (c) 2018-present Yuxi (Evan) You and Vue contributors
|
|
8
|
+
* @license MIT
|
|
9
|
+
**/let Yt;class cf{constructor(t=!1){this.detached=t,this._active=!0,this.effects=[],this.cleanups=[],this._isPaused=!1,this.parent=Yt,!t&&Yt&&(this.index=(Yt.scopes||(Yt.scopes=[])).push(this)-1)}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,s;if(this.scopes)for(t=0,s=this.scopes.length;t<s;t++)this.scopes[t].pause();for(t=0,s=this.effects.length;t<s;t++)this.effects[t].pause()}}resume(){if(this._active&&this._isPaused){this._isPaused=!1;let t,s;if(this.scopes)for(t=0,s=this.scopes.length;t<s;t++)this.scopes[t].resume();for(t=0,s=this.effects.length;t<s;t++)this.effects[t].resume()}}run(t){if(this._active){const s=Yt;try{return Yt=this,t()}finally{Yt=s}}}on(){Yt=this}off(){Yt=this.parent}stop(t){if(this._active){let s,n;for(s=0,n=this.effects.length;s<n;s++)this.effects[s].stop();for(s=0,n=this.cleanups.length;s<n;s++)this.cleanups[s]();if(this.scopes)for(s=0,n=this.scopes.length;s<n;s++)this.scopes[s].stop(!0);if(!this.detached&&this.parent&&!t){const i=this.parent.scopes.pop();i&&i!==this&&(this.parent.scopes[this.index]=i,i.index=this.index)}this.parent=void 0,this._active=!1}}}function uf(){return Yt}let ft;const no=new WeakSet;class Xl{constructor(t){this.fn=t,this.deps=void 0,this.depsTail=void 0,this.flags=5,this.next=void 0,this.cleanup=void 0,this.scheduler=void 0,Yt&&Yt.active&&Yt.effects.push(this)}pause(){this.flags|=64}resume(){this.flags&64&&(this.flags&=-65,no.has(this)&&(no.delete(this),this.trigger()))}notify(){this.flags&2&&!(this.flags&32)||this.flags&8||Gl(this)}run(){if(!(this.flags&1))return this.fn();this.flags|=2,Kr(this),Zl(this);const t=ft,s=oe;ft=this,oe=!0;try{return this.fn()}finally{Jl(this),ft=t,oe=s,this.flags&=-3}}stop(){if(this.flags&1){for(let t=this.deps;t;t=t.nextDep)pr(t);this.deps=this.depsTail=void 0,Kr(this),this.onStop&&this.onStop(),this.flags&=-2}}trigger(){this.flags&64?no.add(this):this.scheduler?this.scheduler():this.runIfDirty()}runIfDirty(){Do(this)&&this.run()}get dirty(){return Do(this)}}let ql=0,an,ln;function Gl(e,t=!1){if(e.flags|=8,t){e.next=ln,ln=e;return}e.next=an,an=e}function hr(){ql++}function dr(){if(--ql>0)return;if(ln){let t=ln;for(ln=void 0;t;){const s=t.next;t.next=void 0,t.flags&=-9,t=s}}let e;for(;an;){let t=an;for(an=void 0;t;){const s=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(n){e||(e=n)}t=s}}if(e)throw e}function Zl(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function Jl(e){let t,s=e.depsTail,n=s;for(;n;){const i=n.prevDep;n.version===-1?(n===s&&(s=i),pr(n),ff(n)):t=n,n.dep.activeLink=n.prevActiveLink,n.prevActiveLink=void 0,n=i}e.deps=t,e.depsTail=s}function Do(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(Ql(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function Ql(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===bn))return;e.globalVersion=bn;const t=e.dep;if(e.flags|=2,t.version>0&&!e.isSSR&&e.deps&&!Do(e)){e.flags&=-3;return}const s=ft,n=oe;ft=e,oe=!0;try{Zl(e);const i=e.fn(e._value);(t.version===0||Vt(i,e._value))&&(e._value=i,t.version++)}catch(i){throw t.version++,i}finally{ft=s,oe=n,Jl(e),e.flags&=-3}}function pr(e,t=!1){const{dep:s,prevSub:n,nextSub:i}=e;if(n&&(n.nextSub=i,e.prevSub=void 0),i&&(i.prevSub=n,e.nextSub=void 0),s.subs===e&&(s.subs=n,!n&&s.computed)){s.computed.flags&=-5;for(let o=s.computed.deps;o;o=o.nextDep)pr(o,!0)}!t&&!--s.sc&&s.map&&s.map.delete(s.key)}function ff(e){const{prevDep:t,nextDep:s}=e;t&&(t.nextDep=s,e.prevDep=void 0),s&&(s.prevDep=t,e.nextDep=void 0)}let oe=!0;const tc=[];function ts(){tc.push(oe),oe=!1}function es(){const e=tc.pop();oe=e===void 0?!0:e}function Kr(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const s=ft;ft=void 0;try{t()}finally{ft=s}}}let bn=0;class hf{constructor(t,s){this.sub=t,this.dep=s,this.version=s.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class Ni{constructor(t){this.computed=t,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0}track(t){if(!ft||!oe||ft===this.computed)return;let s=this.activeLink;if(s===void 0||s.sub!==ft)s=this.activeLink=new hf(ft,this),ft.deps?(s.prevDep=ft.depsTail,ft.depsTail.nextDep=s,ft.depsTail=s):ft.deps=ft.depsTail=s,ec(s);else if(s.version===-1&&(s.version=this.version,s.nextDep)){const n=s.nextDep;n.prevDep=s.prevDep,s.prevDep&&(s.prevDep.nextDep=n),s.prevDep=ft.depsTail,s.nextDep=void 0,ft.depsTail.nextDep=s,ft.depsTail=s,ft.deps===s&&(ft.deps=n)}return s}trigger(t){this.version++,bn++,this.notify(t)}notify(t){hr();try{for(let s=this.subs;s;s=s.prevSub)s.sub.notify()&&s.sub.dep.notify()}finally{dr()}}}function ec(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let n=t.deps;n;n=n.nextDep)ec(n)}const s=e.dep.subs;s!==e&&(e.prevSub=s,s&&(s.nextSub=e)),e.dep.subs=e}}const Eo=new WeakMap,_s=Symbol(""),Io=Symbol(""),_n=Symbol("");function At(e,t,s){if(oe&&ft){let n=Eo.get(e);n||Eo.set(e,n=new Map);let i=n.get(s);i||(n.set(s,i=new Ni),i.map=n,i.key=s),i.track()}}function ke(e,t,s,n,i,o){const r=Eo.get(e);if(!r){bn++;return}const a=l=>{l&&l.trigger()};if(hr(),t==="clear")r.forEach(a);else{const l=$(e),c=l&&fr(s);if(l&&s==="length"){const u=Number(n);r.forEach((f,h)=>{(h==="length"||h===_n||!Ie(h)&&h>=u)&&a(f)})}else switch((s!==void 0||r.has(void 0))&&a(r.get(s)),c&&a(r.get(_n)),t){case"add":l?c&&a(r.get("length")):(a(r.get(_s)),Es(e)&&a(r.get(Io)));break;case"delete":l||(a(r.get(_s)),Es(e)&&a(r.get(Io)));break;case"set":Es(e)&&a(r.get(_s));break}}dr()}function Ps(e){const t=st(e);return t===e?t:(At(t,"iterate",_n),ee(e)?t:t.map(Dt))}function $i(e){return At(e=st(e),"iterate",_n),e}const df={__proto__:null,[Symbol.iterator](){return io(this,Symbol.iterator,Dt)},concat(...e){return Ps(this).concat(...e.map(t=>$(t)?Ps(t):t))},entries(){return io(this,"entries",e=>(e[1]=Dt(e[1]),e))},every(e,t){return _e(this,"every",e,t,void 0,arguments)},filter(e,t){return _e(this,"filter",e,t,s=>s.map(Dt),arguments)},find(e,t){return _e(this,"find",e,t,Dt,arguments)},findIndex(e,t){return _e(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return _e(this,"findLast",e,t,Dt,arguments)},findLastIndex(e,t){return _e(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return _e(this,"forEach",e,t,void 0,arguments)},includes(...e){return oo(this,"includes",e)},indexOf(...e){return oo(this,"indexOf",e)},join(e){return Ps(this).join(e)},lastIndexOf(...e){return oo(this,"lastIndexOf",e)},map(e,t){return _e(this,"map",e,t,void 0,arguments)},pop(){return Us(this,"pop")},push(...e){return Us(this,"push",e)},reduce(e,...t){return Yr(this,"reduce",e,t)},reduceRight(e,...t){return Yr(this,"reduceRight",e,t)},shift(){return Us(this,"shift")},some(e,t){return _e(this,"some",e,t,void 0,arguments)},splice(...e){return Us(this,"splice",e)},toReversed(){return Ps(this).toReversed()},toSorted(e){return Ps(this).toSorted(e)},toSpliced(...e){return Ps(this).toSpliced(...e)},unshift(...e){return Us(this,"unshift",e)},values(){return io(this,"values",Dt)}};function io(e,t,s){const n=$i(e),i=n[t]();return n!==e&&!ee(e)&&(i._next=i.next,i.next=()=>{const o=i._next();return o.value&&(o.value=s(o.value)),o}),i}const pf=Array.prototype;function _e(e,t,s,n,i,o){const r=$i(e),a=r!==e&&!ee(e),l=r[t];if(l!==pf[t]){const f=l.apply(e,o);return a?Dt(f):f}let c=s;r!==e&&(a?c=function(f,h){return s.call(this,Dt(f),h,e)}:s.length>2&&(c=function(f,h){return s.call(this,f,h,e)}));const u=l.call(r,c,n);return a&&i?i(u):u}function Yr(e,t,s,n){const i=$i(e);let o=s;return i!==e&&(ee(e)?s.length>3&&(o=function(r,a,l){return s.call(this,r,a,l,e)}):o=function(r,a,l){return s.call(this,r,Dt(a),l,e)}),i[t](o,...n)}function oo(e,t,s){const n=st(e);At(n,"iterate",_n);const i=n[t](...s);return(i===-1||i===!1)&&br(s[0])?(s[0]=st(s[0]),n[t](...s)):i}function Us(e,t,s=[]){ts(),hr();const n=st(e)[t].apply(e,s);return dr(),es(),n}const gf=lr("__proto__,__v_isRef,__isVue"),sc=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(Ie));function mf(e){Ie(e)||(e=String(e));const t=st(this);return At(t,"has",e),t.hasOwnProperty(e)}class nc{constructor(t=!1,s=!1){this._isReadonly=t,this._isShallow=s}get(t,s,n){const i=this._isReadonly,o=this._isShallow;if(s==="__v_isReactive")return!i;if(s==="__v_isReadonly")return i;if(s==="__v_isShallow")return o;if(s==="__v_raw")return n===(i?o?Cf:ac:o?rc:oc).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(n)?t:void 0;const r=$(t);if(!i){let l;if(r&&(l=df[s]))return l;if(s==="hasOwnProperty")return mf}const a=Reflect.get(t,s,Rt(t)?t:n);return(Ie(s)?sc.has(s):gf(s))||(i||At(t,"get",s),o)?a:Rt(a)?r&&fr(s)?a:a.value:dt(a)?i?lc(a):ss(a):a}}class ic extends nc{constructor(t=!1){super(!1,t)}set(t,s,n,i){let o=t[s];if(!this._isShallow){const l=vs(o);if(!ee(n)&&!vs(n)&&(o=st(o),n=st(n)),!$(t)&&Rt(o)&&!Rt(n))return l?!1:(o.value=n,!0)}const r=$(t)&&fr(s)?Number(s)<t.length:nt(t,s),a=Reflect.set(t,s,n,Rt(t)?t:i);return t===st(i)&&(r?Vt(n,o)&&ke(t,"set",s,n):ke(t,"add",s,n)),a}deleteProperty(t,s){const n=nt(t,s);t[s];const i=Reflect.deleteProperty(t,s);return i&&n&&ke(t,"delete",s,void 0),i}has(t,s){const n=Reflect.has(t,s);return(!Ie(s)||!sc.has(s))&&At(t,"has",s),n}ownKeys(t){return At(t,"iterate",$(t)?"length":_s),Reflect.ownKeys(t)}}class bf extends nc{constructor(t=!1){super(!0,t)}set(t,s){return!0}deleteProperty(t,s){return!0}}const _f=new ic,xf=new bf,yf=new ic(!0);const Ro=e=>e,Vn=e=>Reflect.getPrototypeOf(e);function vf(e,t,s){return function(...n){const i=this.__v_raw,o=st(i),r=Es(o),a=e==="entries"||e===Symbol.iterator&&r,l=e==="keys"&&r,c=i[e](...n),u=s?Ro:t?Lo:Dt;return!t&&At(o,"iterate",l?Io:_s),{next(){const{value:f,done:h}=c.next();return h?{value:f,done:h}:{value:a?[u(f[0]),u(f[1])]:u(f),done:h}},[Symbol.iterator](){return this}}}}function Nn(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function wf(e,t){const s={get(i){const o=this.__v_raw,r=st(o),a=st(i);e||(Vt(i,a)&&At(r,"get",i),At(r,"get",a));const{has:l}=Vn(r),c=t?Ro:e?Lo:Dt;if(l.call(r,i))return c(o.get(i));if(l.call(r,a))return c(o.get(a));o!==r&&o.get(i)},get size(){const i=this.__v_raw;return!e&&At(st(i),"iterate",_s),Reflect.get(i,"size",i)},has(i){const o=this.__v_raw,r=st(o),a=st(i);return e||(Vt(i,a)&&At(r,"has",i),At(r,"has",a)),i===a?o.has(i):o.has(i)||o.has(a)},forEach(i,o){const r=this,a=r.__v_raw,l=st(a),c=t?Ro:e?Lo:Dt;return!e&&At(l,"iterate",_s),a.forEach((u,f)=>i.call(o,c(u),c(f),r))}};return vt(s,e?{add:Nn("add"),set:Nn("set"),delete:Nn("delete"),clear:Nn("clear")}:{add(i){!t&&!ee(i)&&!vs(i)&&(i=st(i));const o=st(this);return Vn(o).has.call(o,i)||(o.add(i),ke(o,"add",i,i)),this},set(i,o){!t&&!ee(o)&&!vs(o)&&(o=st(o));const r=st(this),{has:a,get:l}=Vn(r);let c=a.call(r,i);c||(i=st(i),c=a.call(r,i));const u=l.call(r,i);return r.set(i,o),c?Vt(o,u)&&ke(r,"set",i,o):ke(r,"add",i,o),this},delete(i){const o=st(this),{has:r,get:a}=Vn(o);let l=r.call(o,i);l||(i=st(i),l=r.call(o,i)),a&&a.call(o,i);const c=o.delete(i);return l&&ke(o,"delete",i,void 0),c},clear(){const i=st(this),o=i.size!==0,r=i.clear();return o&&ke(i,"clear",void 0,void 0),r}}),["keys","values","entries",Symbol.iterator].forEach(i=>{s[i]=vf(i,e,t)}),s}function gr(e,t){const s=wf(e,t);return(n,i,o)=>i==="__v_isReactive"?!e:i==="__v_isReadonly"?e:i==="__v_raw"?n:Reflect.get(nt(s,i)&&i in n?s:n,i,o)}const Sf={get:gr(!1,!1)},Mf={get:gr(!1,!0)},kf={get:gr(!0,!1)};const oc=new WeakMap,rc=new WeakMap,ac=new WeakMap,Cf=new WeakMap;function Pf(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function Tf(e){return e.__v_skip||!Object.isExtensible(e)?0:Pf(Ju(e))}function ss(e){return vs(e)?e:mr(e,!1,_f,Sf,oc)}function Of(e){return mr(e,!1,yf,Mf,rc)}function lc(e){return mr(e,!0,xf,kf,ac)}function mr(e,t,s,n,i){if(!dt(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const o=i.get(e);if(o)return o;const r=Tf(e);if(r===0)return e;const a=new Proxy(e,r===2?n:s);return i.set(e,a),a}function Is(e){return vs(e)?Is(e.__v_raw):!!(e&&e.__v_isReactive)}function vs(e){return!!(e&&e.__v_isReadonly)}function ee(e){return!!(e&&e.__v_isShallow)}function br(e){return e?!!e.__v_raw:!1}function st(e){const t=e&&e.__v_raw;return t?st(t):e}function Af(e){return!nt(e,"__v_skip")&&Object.isExtensible(e)&&Wl(e,"__v_skip",!0),e}const Dt=e=>dt(e)?ss(e):e,Lo=e=>dt(e)?lc(e):e;function Rt(e){return e?e.__v_isRef===!0:!1}function bt(e){return cc(e,!1)}function zs(e){return cc(e,!0)}function cc(e,t){return Rt(e)?e:new Df(e,t)}class Df{constructor(t,s){this.dep=new Ni,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=s?t:st(t),this._value=s?t:Dt(t),this.__v_isShallow=s}get value(){return this.dep.track(),this._value}set value(t){const s=this._rawValue,n=this.__v_isShallow||ee(t)||vs(t);t=n?t:st(t),Vt(t,s)&&(this._rawValue=t,this._value=n?t:Dt(t),this.dep.trigger())}}function Ot(e){return Rt(e)?e.value:e}const Ef={get:(e,t,s)=>t==="__v_raw"?e:Ot(Reflect.get(e,t,s)),set:(e,t,s,n)=>{const i=e[t];return Rt(i)&&!Rt(s)?(i.value=s,!0):Reflect.set(e,t,s,n)}};function uc(e){return Is(e)?e:new Proxy(e,Ef)}class If{constructor(t){this.__v_isRef=!0,this._value=void 0;const s=this.dep=new Ni,{get:n,set:i}=t(s.track.bind(s),s.trigger.bind(s));this._get=n,this._set=i}get value(){return this._value=this._get()}set value(t){this._set(t)}}function Rf(e){return new If(e)}class Lf{constructor(t,s,n){this.fn=t,this.setter=s,this._value=void 0,this.dep=new Ni(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=bn-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!s,this.isSSR=n}notify(){if(this.flags|=16,!(this.flags&8)&&ft!==this)return Gl(this,!0),!0}get value(){const t=this.dep.track();return Ql(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function Ff(e,t,s=!1){let n,i;return K(e)?n=e:(n=e.get,i=e.set),new Lf(n,i,s)}const $n={},xi=new WeakMap;let ds;function zf(e,t=!1,s=ds){if(s){let n=xi.get(s);n||xi.set(s,n=[]),n.push(e)}}function Bf(e,t,s=Q){const{immediate:n,deep:i,once:o,scheduler:r,augmentJob:a,call:l}=s,c=v=>i?v:ee(v)||i===!1||i===0?Ce(v,1):Ce(v);let u,f,h,d,m=!1,p=!1;if(Rt(e)?(f=()=>e.value,m=ee(e)):Is(e)?(f=()=>c(e),m=!0):$(e)?(p=!0,m=e.some(v=>Is(v)||ee(v)),f=()=>e.map(v=>{if(Rt(v))return v.value;if(Is(v))return c(v);if(K(v))return l?l(v,2):v()})):K(e)?t?f=l?()=>l(e,2):e:f=()=>{if(h){ts();try{h()}finally{es()}}const v=ds;ds=u;try{return l?l(e,3,[d]):e(d)}finally{ds=v}}:f=ge,t&&i){const v=f,S=i===!0?1/0:i;f=()=>Ce(v(),S)}const b=uf(),x=()=>{u.stop(),b&&ur(b.effects,u)};if(o&&t){const v=t;t=(...S)=>{v(...S),x()}}let y=p?new Array(e.length).fill($n):$n;const M=v=>{if(!(!(u.flags&1)||!u.dirty&&!v))if(t){const S=u.run();if(i||m||(p?S.some((D,I)=>Vt(D,y[I])):Vt(S,y))){h&&h();const D=ds;ds=u;try{const I=[S,y===$n?void 0:p&&y[0]===$n?[]:y,d];l?l(t,3,I):t(...I),y=S}finally{ds=D}}}else u.run()};return a&&a(M),u=new Xl(f),u.scheduler=r?()=>r(M,!1):M,d=v=>zf(v,!1,u),h=u.onStop=()=>{const v=xi.get(u);if(v){if(l)l(v,4);else for(const S of v)S();xi.delete(u)}},t?n?M(!0):y=u.run():r?r(M.bind(null,!0),!0):u.run(),x.pause=u.pause.bind(u),x.resume=u.resume.bind(u),x.stop=x,x}function Ce(e,t=1/0,s){if(t<=0||!dt(e)||e.__v_skip||(s=s||new Set,s.has(e)))return e;if(s.add(e),t--,Rt(e))Ce(e.value,t,s);else if($(e))for(let n=0;n<e.length;n++)Ce(e[n],t,s);else if(Vl(e)||Es(e))e.forEach(n=>{Ce(n,t,s)});else if(Hl(e)){for(const n in e)Ce(e[n],t,s);for(const n of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,n)&&Ce(e[n],t,s)}return e}/**
|
|
10
|
+
* @vue/runtime-core v3.5.12
|
|
11
|
+
* (c) 2018-present Yuxi (Evan) You and Vue contributors
|
|
12
|
+
* @license MIT
|
|
13
|
+
**/function Dn(e,t,s,n){try{return n?e(...n):e()}catch(i){Hi(i,t,s)}}function re(e,t,s,n){if(K(e)){const i=Dn(e,t,s,n);return i&&Nl(i)&&i.catch(o=>{Hi(o,t,s)}),i}if($(e)){const i=[];for(let o=0;o<e.length;o++)i.push(re(e[o],t,s,n));return i}}function Hi(e,t,s,n=!0){const i=t?t.vnode:null,{errorHandler:o,throwUnhandledErrorInProduction:r}=t&&t.appContext.config||Q;if(t){let a=t.parent;const l=t.proxy,c=`https://vuejs.org/error-reference/#runtime-${s}`;for(;a;){const u=a.ec;if(u){for(let f=0;f<u.length;f++)if(u[f](e,l,c)===!1)return}a=a.parent}if(o){ts(),Dn(o,null,10,[e,l,c]),es();return}}Vf(e,s,i,n,r)}function Vf(e,t,s,n=!0,i=!1){if(i)throw e;console.error(e)}const Ft=[];let ue=-1;const Rs=[];let He=null,Os=0;const fc=Promise.resolve();let yi=null;function Nf(e){const t=yi||fc;return e?t.then(this?e.bind(this):e):t}function $f(e){let t=ue+1,s=Ft.length;for(;t<s;){const n=t+s>>>1,i=Ft[n],o=xn(i);o<e||o===e&&i.flags&2?t=n+1:s=n}return t}function _r(e){if(!(e.flags&1)){const t=xn(e),s=Ft[Ft.length-1];!s||!(e.flags&2)&&t>=xn(s)?Ft.push(e):Ft.splice($f(t),0,e),e.flags|=1,hc()}}function hc(){yi||(yi=fc.then(pc))}function Hf(e){$(e)?Rs.push(...e):He&&e.id===-1?He.splice(Os+1,0,e):e.flags&1||(Rs.push(e),e.flags|=1),hc()}function Xr(e,t,s=ue+1){for(;s<Ft.length;s++){const n=Ft[s];if(n&&n.flags&2){if(e&&n.id!==e.uid)continue;Ft.splice(s,1),s--,n.flags&4&&(n.flags&=-2),n(),n.flags&4||(n.flags&=-2)}}}function dc(e){if(Rs.length){const t=[...new Set(Rs)].sort((s,n)=>xn(s)-xn(n));if(Rs.length=0,He){He.push(...t);return}for(He=t,Os=0;Os<He.length;Os++){const s=He[Os];s.flags&4&&(s.flags&=-2),s.flags&8||s(),s.flags&=-2}He=null,Os=0}}const xn=e=>e.id==null?e.flags&2?-1:1/0:e.id;function pc(e){try{for(ue=0;ue<Ft.length;ue++){const t=Ft[ue];t&&!(t.flags&8)&&(t.flags&4&&(t.flags&=-2),Dn(t,t.i,t.i?15:14),t.flags&4||(t.flags&=-2))}}finally{for(;ue<Ft.length;ue++){const t=Ft[ue];t&&(t.flags&=-2)}ue=-1,Ft.length=0,dc(),yi=null,(Ft.length||Rs.length)&&pc()}}let Pt=null,gc=null;function vi(e){const t=Pt;return Pt=e,gc=e&&e.type.__scopeId||null,t}function Ze(e,t=Pt,s){if(!t||e._n)return e;const n=(...i)=>{n._d&&na(-1);const o=vi(t);let r;try{r=e(...i)}finally{vi(o),n._d&&na(1)}return r};return n._n=!0,n._c=!0,n._d=!0,n}function jf(e,t){if(Pt===null)return e;const s=Gi(Pt),n=e.dirs||(e.dirs=[]);for(let i=0;i<t.length;i++){let[o,r,a,l=Q]=t[i];o&&(K(o)&&(o={mounted:o,updated:o}),o.deep&&Ce(r),n.push({dir:o,instance:s,value:r,oldValue:void 0,arg:a,modifiers:l}))}return e}function os(e,t,s,n){const i=e.dirs,o=t&&t.dirs;for(let r=0;r<i.length;r++){const a=i[r];o&&(a.oldValue=o[r].value);let l=a.dir[n];l&&(ts(),re(l,s,8,[e.el,a,e,t]),es())}}const Wf=Symbol("_vte"),mc=e=>e.__isTeleport,je=Symbol("_leaveCb"),Hn=Symbol("_enterCb");function Uf(){const e={isMounted:!1,isLeaving:!1,isUnmounting:!1,leavingVNodes:new Map};return Ui(()=>{e.isMounted=!0}),Cc(()=>{e.isUnmounting=!0}),e}const Jt=[Function,Array],bc={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:Jt,onEnter:Jt,onAfterEnter:Jt,onEnterCancelled:Jt,onBeforeLeave:Jt,onLeave:Jt,onAfterLeave:Jt,onLeaveCancelled:Jt,onBeforeAppear:Jt,onAppear:Jt,onAfterAppear:Jt,onAppearCancelled:Jt},_c=e=>{const t=e.subTree;return t.component?_c(t.component):t},Kf={name:"BaseTransition",props:bc,setup(e,{slots:t}){const s=qi(),n=Uf();return()=>{const i=t.default&&vc(t.default(),!0);if(!i||!i.length)return;const o=xc(i),r=st(e),{mode:a}=r;if(n.isLeaving)return ro(o);const l=qr(o);if(!l)return ro(o);let c=Fo(l,r,n,s,h=>c=h);l.type!==zt&&yn(l,c);const u=s.subTree,f=u&&qr(u);if(f&&f.type!==zt&&!gs(l,f)&&_c(s).type!==zt){const h=Fo(f,r,n,s);if(yn(f,h),a==="out-in"&&l.type!==zt)return n.isLeaving=!0,h.afterLeave=()=>{n.isLeaving=!1,s.job.flags&8||s.update(),delete h.afterLeave},ro(o);a==="in-out"&&l.type!==zt&&(h.delayLeave=(d,m,p)=>{const b=yc(n,f);b[String(f.key)]=f,d[je]=()=>{m(),d[je]=void 0,delete c.delayedLeave},c.delayedLeave=p})}return o}}};function xc(e){let t=e[0];if(e.length>1){for(const s of e)if(s.type!==zt){t=s;break}}return t}const Yf=Kf;function yc(e,t){const{leavingVNodes:s}=e;let n=s.get(t.type);return n||(n=Object.create(null),s.set(t.type,n)),n}function Fo(e,t,s,n,i){const{appear:o,mode:r,persisted:a=!1,onBeforeEnter:l,onEnter:c,onAfterEnter:u,onEnterCancelled:f,onBeforeLeave:h,onLeave:d,onAfterLeave:m,onLeaveCancelled:p,onBeforeAppear:b,onAppear:x,onAfterAppear:y,onAppearCancelled:M}=t,v=String(e.key),S=yc(s,e),D=(R,V)=>{R&&re(R,n,9,V)},I=(R,V)=>{const W=V[1];D(R,V),$(R)?R.every(E=>E.length<=1)&&W():R.length<=1&&W()},z={mode:r,persisted:a,beforeEnter(R){let V=l;if(!s.isMounted)if(o)V=b||l;else return;R[je]&&R[je](!0);const W=S[v];W&&gs(e,W)&&W.el[je]&&W.el[je](),D(V,[R])},enter(R){let V=c,W=u,E=f;if(!s.isMounted)if(o)V=x||c,W=y||u,E=M||f;else return;let Z=!1;const ht=R[Hn]=it=>{Z||(Z=!0,it?D(E,[R]):D(W,[R]),z.delayedLeave&&z.delayedLeave(),R[Hn]=void 0)};V?I(V,[R,ht]):ht()},leave(R,V){const W=String(e.key);if(R[Hn]&&R[Hn](!0),s.isUnmounting)return V();D(h,[R]);let E=!1;const Z=R[je]=ht=>{E||(E=!0,V(),ht?D(p,[R]):D(m,[R]),R[je]=void 0,S[W]===e&&delete S[W])};S[W]=e,d?I(d,[R,Z]):Z()},clone(R){const V=Fo(R,t,s,n,i);return i&&i(V),V}};return z}function ro(e){if(ji(e))return e=Je(e),e.children=null,e}function qr(e){if(!ji(e))return mc(e.type)&&e.children?xc(e.children):e;const{shapeFlag:t,children:s}=e;if(s){if(t&16)return s[0];if(t&32&&K(s.default))return s.default()}}function yn(e,t){e.shapeFlag&6&&e.component?(e.transition=t,yn(e.component.subTree,t)):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function vc(e,t=!1,s){let n=[],i=0;for(let o=0;o<e.length;o++){let r=e[o];const a=s==null?r.key:String(s)+String(r.key!=null?r.key:o);r.type===xt?(r.patchFlag&128&&i++,n=n.concat(vc(r.children,t,a))):(t||r.type!==zt)&&n.push(a!=null?Je(r,{key:a}):r)}if(i>1)for(let o=0;o<n.length;o++)n[o].patchFlag=-2;return n}function wc(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}function Sc(e){const t=qi(),s=zs(null);if(t){const i=t.refs===Q?t.refs={}:t.refs;Object.defineProperty(i,e,{enumerable:!0,get:()=>s.value,set:o=>s.value=o})}return s}function zo(e,t,s,n,i=!1){if($(e)){e.forEach((m,p)=>zo(m,t&&($(t)?t[p]:t),s,n,i));return}if(Ls(n)&&!i)return;const o=n.shapeFlag&4?Gi(n.component):n.el,r=i?null:o,{i:a,r:l}=e,c=t&&t.r,u=a.refs===Q?a.refs={}:a.refs,f=a.setupState,h=st(f),d=f===Q?()=>!1:m=>nt(h,m);if(c!=null&&c!==l&&(_t(c)?(u[c]=null,d(c)&&(f[c]=null)):Rt(c)&&(c.value=null)),K(l))Dn(l,a,12,[r,u]);else{const m=_t(l),p=Rt(l);if(m||p){const b=()=>{if(e.f){const x=m?d(l)?f[l]:u[l]:l.value;i?$(x)&&ur(x,o):$(x)?x.includes(o)||x.push(o):m?(u[l]=[o],d(l)&&(f[l]=u[l])):(l.value=[o],e.k&&(u[e.k]=l.value))}else m?(u[l]=r,d(l)&&(f[l]=r)):p&&(l.value=r,e.k&&(u[e.k]=r))};r?(b.id=-1,Ut(b,s)):b()}}}Bi().requestIdleCallback;Bi().cancelIdleCallback;const Ls=e=>!!e.type.__asyncLoader,ji=e=>e.type.__isKeepAlive;function Xf(e,t){Mc(e,"a",t)}function qf(e,t){Mc(e,"da",t)}function Mc(e,t,s=Et){const n=e.__wdc||(e.__wdc=()=>{let i=s;for(;i;){if(i.isDeactivated)return;i=i.parent}return e()});if(Wi(t,n,s),s){let i=s.parent;for(;i&&i.parent;)ji(i.parent.vnode)&&Gf(n,t,s,i),i=i.parent}}function Gf(e,t,s,n){const i=Wi(t,e,n,!0);xr(()=>{ur(n[t],i)},s)}function Wi(e,t,s=Et,n=!1){if(s){const i=s[e]||(s[e]=[]),o=t.__weh||(t.__weh=(...r)=>{ts();const a=In(s),l=re(t,s,e,r);return a(),es(),l});return n?i.unshift(o):i.push(o),o}}const Le=e=>(t,s=Et)=>{(!Sn||e==="sp")&&Wi(e,(...n)=>t(...n),s)},kc=Le("bm"),Ui=Le("m"),Zf=Le("bu"),Jf=Le("u"),Cc=Le("bum"),xr=Le("um"),Qf=Le("sp"),th=Le("rtg"),eh=Le("rtc");function sh(e,t=Et){Wi("ec",e,t)}const nh=Symbol.for("v-ndc");function En(e,t,s,n){let i;const o=s,r=$(e);if(r||_t(e)){const a=r&&Is(e);let l=!1;a&&(l=!ee(e),e=$i(e)),i=new Array(e.length);for(let c=0,u=e.length;c<u;c++)i[c]=t(l?Dt(e[c]):e[c],c,void 0,o)}else if(typeof e=="number"){i=new Array(e);for(let a=0;a<e;a++)i[a]=t(a+1,a,void 0,o)}else if(dt(e))if(e[Symbol.iterator])i=Array.from(e,(a,l)=>t(a,l,void 0,o));else{const a=Object.keys(e);i=new Array(a.length);for(let l=0,c=a.length;l<c;l++){const u=a[l];i[l]=t(e[u],u,l,o)}}else i=[];return i}function Gr(e,t,s={},n,i){if(Pt.ce||Pt.parent&&Ls(Pt.parent)&&Pt.parent.ce)return t!=="default"&&(s.name=t),Y(),pe(xt,null,[gt("slot",s,n)],64);let o=e[t];o&&o._c&&(o._d=!1),Y();const r=o&&Pc(o(s)),a=s.key||r&&r.key,l=pe(xt,{key:(a&&!Ie(a)?a:`_${t}`)+(!r&&n?"_fb":"")},r||[],r&&e._===1?64:-2);return o&&o._c&&(o._d=!0),l}function Pc(e){return e.some(t=>wn(t)?!(t.type===zt||t.type===xt&&!Pc(t.children)):!0)?e:null}const Bo=e=>e?Xc(e)?Gi(e):Bo(e.parent):null,cn=vt(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>Bo(e.parent),$root:e=>Bo(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>yr(e),$forceUpdate:e=>e.f||(e.f=()=>{_r(e.update)}),$nextTick:e=>e.n||(e.n=Nf.bind(e.proxy)),$watch:e=>Ph.bind(e)}),ao=(e,t)=>e!==Q&&!e.__isScriptSetup&&nt(e,t),ih={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:s,setupState:n,data:i,props:o,accessCache:r,type:a,appContext:l}=e;let c;if(t[0]!=="$"){const d=r[t];if(d!==void 0)switch(d){case 1:return n[t];case 2:return i[t];case 4:return s[t];case 3:return o[t]}else{if(ao(n,t))return r[t]=1,n[t];if(i!==Q&&nt(i,t))return r[t]=2,i[t];if((c=e.propsOptions[0])&&nt(c,t))return r[t]=3,o[t];if(s!==Q&&nt(s,t))return r[t]=4,s[t];No&&(r[t]=0)}}const u=cn[t];let f,h;if(u)return t==="$attrs"&&At(e.attrs,"get",""),u(e);if((f=a.__cssModules)&&(f=f[t]))return f;if(s!==Q&&nt(s,t))return r[t]=4,s[t];if(h=l.config.globalProperties,nt(h,t))return h[t]},set({_:e},t,s){const{data:n,setupState:i,ctx:o}=e;return ao(i,t)?(i[t]=s,!0):n!==Q&&nt(n,t)?(n[t]=s,!0):nt(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(o[t]=s,!0)},has({_:{data:e,setupState:t,accessCache:s,ctx:n,appContext:i,propsOptions:o}},r){let a;return!!s[r]||e!==Q&&nt(e,r)||ao(t,r)||(a=o[0])&&nt(a,r)||nt(n,r)||nt(cn,r)||nt(i.config.globalProperties,r)},defineProperty(e,t,s){return s.get!=null?e._.accessCache[t]=0:nt(s,"value")&&this.set(e,t,s.value,null),Reflect.defineProperty(e,t,s)}};function wi(e){return $(e)?e.reduce((t,s)=>(t[s]=null,t),{}):e}function Vo(e,t){return!e||!t?e||t:$(e)&&$(t)?e.concat(t):vt({},wi(e),wi(t))}let No=!0;function oh(e){const t=yr(e),s=e.proxy,n=e.ctx;No=!1,t.beforeCreate&&Zr(t.beforeCreate,e,"bc");const{data:i,computed:o,methods:r,watch:a,provide:l,inject:c,created:u,beforeMount:f,mounted:h,beforeUpdate:d,updated:m,activated:p,deactivated:b,beforeDestroy:x,beforeUnmount:y,destroyed:M,unmounted:v,render:S,renderTracked:D,renderTriggered:I,errorCaptured:z,serverPrefetch:R,expose:V,inheritAttrs:W,components:E,directives:Z,filters:ht}=t;if(c&&rh(c,n,null),r)for(const q in r){const et=r[q];K(et)&&(n[q]=et.bind(s))}if(i){const q=i.call(s,s);dt(q)&&(e.data=ss(q))}if(No=!0,o)for(const q in o){const et=o[q],Gt=K(et)?et.bind(s,s):K(et.get)?et.get.bind(s,s):ge,se=!K(et)&&K(et.set)?et.set.bind(s):ge,Zt=Mt({get:Gt,set:se});Object.defineProperty(n,q,{enumerable:!0,configurable:!0,get:()=>Zt.value,set:Ct=>Zt.value=Ct})}if(a)for(const q in a)Tc(a[q],n,s,q);if(l){const q=K(l)?l.call(s):l;Reflect.ownKeys(q).forEach(et=>{hh(et,q[et])})}u&&Zr(u,e,"c");function X(q,et){$(et)?et.forEach(Gt=>q(Gt.bind(s))):et&&q(et.bind(s))}if(X(kc,f),X(Ui,h),X(Zf,d),X(Jf,m),X(Xf,p),X(qf,b),X(sh,z),X(eh,D),X(th,I),X(Cc,y),X(xr,v),X(Qf,R),$(V))if(V.length){const q=e.exposed||(e.exposed={});V.forEach(et=>{Object.defineProperty(q,et,{get:()=>s[et],set:Gt=>s[et]=Gt})})}else e.exposed||(e.exposed={});S&&e.render===ge&&(e.render=S),W!=null&&(e.inheritAttrs=W),E&&(e.components=E),Z&&(e.directives=Z),R&&wc(e)}function rh(e,t,s=ge){$(e)&&(e=$o(e));for(const n in e){const i=e[n];let o;dt(i)?"default"in i?o=oi(i.from||n,i.default,!0):o=oi(i.from||n):o=oi(i),Rt(o)?Object.defineProperty(t,n,{enumerable:!0,configurable:!0,get:()=>o.value,set:r=>o.value=r}):t[n]=o}}function Zr(e,t,s){re($(e)?e.map(n=>n.bind(t.proxy)):e.bind(t.proxy),t,s)}function Tc(e,t,s,n){let i=n.includes(".")?$c(s,n):()=>s[n];if(_t(e)){const o=t[e];K(o)&&pt(i,o)}else if(K(e))pt(i,e.bind(s));else if(dt(e))if($(e))e.forEach(o=>Tc(o,t,s,n));else{const o=K(e.handler)?e.handler.bind(s):t[e.handler];K(o)&&pt(i,o,e)}}function yr(e){const t=e.type,{mixins:s,extends:n}=t,{mixins:i,optionsCache:o,config:{optionMergeStrategies:r}}=e.appContext,a=o.get(t);let l;return a?l=a:!i.length&&!s&&!n?l=t:(l={},i.length&&i.forEach(c=>Si(l,c,r,!0)),Si(l,t,r)),dt(t)&&o.set(t,l),l}function Si(e,t,s,n=!1){const{mixins:i,extends:o}=t;o&&Si(e,o,s,!0),i&&i.forEach(r=>Si(e,r,s,!0));for(const r in t)if(!(n&&r==="expose")){const a=ah[r]||s&&s[r];e[r]=a?a(e[r],t[r]):t[r]}return e}const ah={data:Jr,props:Qr,emits:Qr,methods:Js,computed:Js,beforeCreate:Lt,created:Lt,beforeMount:Lt,mounted:Lt,beforeUpdate:Lt,updated:Lt,beforeDestroy:Lt,beforeUnmount:Lt,destroyed:Lt,unmounted:Lt,activated:Lt,deactivated:Lt,errorCaptured:Lt,serverPrefetch:Lt,components:Js,directives:Js,watch:ch,provide:Jr,inject:lh};function Jr(e,t){return t?e?function(){return vt(K(e)?e.call(this,this):e,K(t)?t.call(this,this):t)}:t:e}function lh(e,t){return Js($o(e),$o(t))}function $o(e){if($(e)){const t={};for(let s=0;s<e.length;s++)t[e[s]]=e[s];return t}return e}function Lt(e,t){return e?[...new Set([].concat(e,t))]:t}function Js(e,t){return e?vt(Object.create(null),e,t):t}function Qr(e,t){return e?$(e)&&$(t)?[...new Set([...e,...t])]:vt(Object.create(null),wi(e),wi(t??{})):t}function ch(e,t){if(!e)return t;if(!t)return e;const s=vt(Object.create(null),e);for(const n in t)s[n]=Lt(e[n],t[n]);return s}function Oc(){return{app:null,config:{isNativeTag:Gu,performance:!1,globalProperties:{},optionMergeStrategies:{},errorHandler:void 0,warnHandler:void 0,compilerOptions:{}},mixins:[],components:{},directives:{},provides:Object.create(null),optionsCache:new WeakMap,propsCache:new WeakMap,emitsCache:new WeakMap}}let uh=0;function fh(e,t){return function(n,i=null){K(n)||(n=vt({},n)),i!=null&&!dt(i)&&(i=null);const o=Oc(),r=new WeakSet,a=[];let l=!1;const c=o.app={_uid:uh++,_component:n,_props:i,_container:null,_context:o,_instance:null,version:Yh,get config(){return o.config},set config(u){},use(u,...f){return r.has(u)||(u&&K(u.install)?(r.add(u),u.install(c,...f)):K(u)&&(r.add(u),u(c,...f))),c},mixin(u){return o.mixins.includes(u)||o.mixins.push(u),c},component(u,f){return f?(o.components[u]=f,c):o.components[u]},directive(u,f){return f?(o.directives[u]=f,c):o.directives[u]},mount(u,f,h){if(!l){const d=c._ceVNode||gt(n,i);return d.appContext=o,h===!0?h="svg":h===!1&&(h=void 0),f&&t?t(d,u):e(d,u,h),l=!0,c._container=u,u.__vue_app__=c,Gi(d.component)}},onUnmount(u){a.push(u)},unmount(){l&&(re(a,c._instance,16),e(null,c._container),delete c._container.__vue_app__)},provide(u,f){return o.provides[u]=f,c},runWithContext(u){const f=Fs;Fs=c;try{return u()}finally{Fs=f}}};return c}}let Fs=null;function hh(e,t){if(Et){let s=Et.provides;const n=Et.parent&&Et.parent.provides;n===s&&(s=Et.provides=Object.create(n)),s[e]=t}}function oi(e,t,s=!1){const n=Et||Pt;if(n||Fs){const i=Fs?Fs._context.provides:n?n.parent==null?n.vnode.appContext&&n.vnode.appContext.provides:n.parent.provides:void 0;if(i&&e in i)return i[e];if(arguments.length>1)return s&&K(t)?t.call(n&&n.proxy):t}}const Ac={},Dc=()=>Object.create(Ac),Ec=e=>Object.getPrototypeOf(e)===Ac;function dh(e,t,s,n=!1){const i={},o=Dc();e.propsDefaults=Object.create(null),Ic(e,t,i,o);for(const r in e.propsOptions[0])r in i||(i[r]=void 0);s?e.props=n?i:Of(i):e.type.props?e.props=i:e.props=o,e.attrs=o}function ph(e,t,s,n){const{props:i,attrs:o,vnode:{patchFlag:r}}=e,a=st(i),[l]=e.propsOptions;let c=!1;if((n||r>0)&&!(r&16)){if(r&8){const u=e.vnode.dynamicProps;for(let f=0;f<u.length;f++){let h=u[f];if(Yi(e.emitsOptions,h))continue;const d=t[h];if(l)if(nt(o,h))d!==o[h]&&(o[h]=d,c=!0);else{const m=Oe(h);i[m]=Ho(l,a,m,d,e,!1)}else d!==o[h]&&(o[h]=d,c=!0)}}}else{Ic(e,t,i,o)&&(c=!0);let u;for(const f in a)(!t||!nt(t,f)&&((u=Re(f))===f||!nt(t,u)))&&(l?s&&(s[f]!==void 0||s[u]!==void 0)&&(i[f]=Ho(l,a,f,void 0,e,!0)):delete i[f]);if(o!==a)for(const f in o)(!t||!nt(t,f))&&(delete o[f],c=!0)}c&&ke(e.attrs,"set","")}function Ic(e,t,s,n){const[i,o]=e.propsOptions;let r=!1,a;if(t)for(let l in t){if(rn(l))continue;const c=t[l];let u;i&&nt(i,u=Oe(l))?!o||!o.includes(u)?s[u]=c:(a||(a={}))[u]=c:Yi(e.emitsOptions,l)||(!(l in n)||c!==n[l])&&(n[l]=c,r=!0)}if(o){const l=st(s),c=a||Q;for(let u=0;u<o.length;u++){const f=o[u];s[f]=Ho(i,l,f,c[f],e,!nt(c,f))}}return r}function Ho(e,t,s,n,i,o){const r=e[s];if(r!=null){const a=nt(r,"default");if(a&&n===void 0){const l=r.default;if(r.type!==Function&&!r.skipFactory&&K(l)){const{propsDefaults:c}=i;if(s in c)n=c[s];else{const u=In(i);n=c[s]=l.call(null,t),u()}}else n=l;i.ce&&i.ce._setProp(s,n)}r[0]&&(o&&!a?n=!1:r[1]&&(n===""||n===Re(s))&&(n=!0))}return n}const gh=new WeakMap;function Rc(e,t,s=!1){const n=s?gh:t.propsCache,i=n.get(e);if(i)return i;const o=e.props,r={},a=[];let l=!1;if(!K(e)){const u=f=>{l=!0;const[h,d]=Rc(f,t,!0);vt(r,h),d&&a.push(...d)};!s&&t.mixins.length&&t.mixins.forEach(u),e.extends&&u(e.extends),e.mixins&&e.mixins.forEach(u)}if(!o&&!l)return dt(e)&&n.set(e,Ds),Ds;if($(o))for(let u=0;u<o.length;u++){const f=Oe(o[u]);ta(f)&&(r[f]=Q)}else if(o)for(const u in o){const f=Oe(u);if(ta(f)){const h=o[u],d=r[f]=$(h)||K(h)?{type:h}:vt({},h),m=d.type;let p=!1,b=!0;if($(m))for(let x=0;x<m.length;++x){const y=m[x],M=K(y)&&y.name;if(M==="Boolean"){p=!0;break}else M==="String"&&(b=!1)}else p=K(m)&&m.name==="Boolean";d[0]=p,d[1]=b,(p||nt(d,"default"))&&a.push(f)}}const c=[r,a];return dt(e)&&n.set(e,c),c}function ta(e){return e[0]!=="$"&&!rn(e)}const Lc=e=>e[0]==="_"||e==="$stable",vr=e=>$(e)?e.map(he):[he(e)],mh=(e,t,s)=>{if(t._n)return t;const n=Ze((...i)=>vr(t(...i)),s);return n._c=!1,n},Fc=(e,t,s)=>{const n=e._ctx;for(const i in e){if(Lc(i))continue;const o=e[i];if(K(o))t[i]=mh(i,o,n);else if(o!=null){const r=vr(o);t[i]=()=>r}}},zc=(e,t)=>{const s=vr(t);e.slots.default=()=>s},Bc=(e,t,s)=>{for(const n in t)(s||n!=="_")&&(e[n]=t[n])},bh=(e,t,s)=>{const n=e.slots=Dc();if(e.vnode.shapeFlag&32){const i=t._;i?(Bc(n,t,s),s&&Wl(n,"_",i,!0)):Fc(t,n)}else t&&zc(e,t)},_h=(e,t,s)=>{const{vnode:n,slots:i}=e;let o=!0,r=Q;if(n.shapeFlag&32){const a=t._;a?s&&a===1?o=!1:Bc(i,t,s):(o=!t.$stable,Fc(t,i)),r=t}else t&&(zc(e,t),r={default:1});if(o)for(const a in i)!Lc(a)&&r[a]==null&&delete i[a]},Ut=Ih;function xh(e){return yh(e)}function yh(e,t){const s=Bi();s.__VUE__=!0;const{insert:n,remove:i,patchProp:o,createElement:r,createText:a,createComment:l,setText:c,setElementText:u,parentNode:f,nextSibling:h,setScopeId:d=ge,insertStaticContent:m}=e,p=(g,_,w,P=null,k=null,C=null,L=void 0,A=null,O=!!_.dynamicChildren)=>{if(g===_)return;g&&!gs(g,_)&&(P=Bn(g),Ct(g,k,C,!0),g=null),_.patchFlag===-2&&(O=!1,_.dynamicChildren=null);const{type:T,ref:H,shapeFlag:F}=_;switch(T){case Xi:b(g,_,w,P);break;case zt:x(g,_,w,P);break;case ri:g==null&&y(_,w,P,L);break;case xt:E(g,_,w,P,k,C,L,A,O);break;default:F&1?S(g,_,w,P,k,C,L,A,O):F&6?Z(g,_,w,P,k,C,L,A,O):(F&64||F&128)&&T.process(g,_,w,P,k,C,L,A,O,js)}H!=null&&k&&zo(H,g&&g.ref,C,_||g,!_)},b=(g,_,w,P)=>{if(g==null)n(_.el=a(_.children),w,P);else{const k=_.el=g.el;_.children!==g.children&&c(k,_.children)}},x=(g,_,w,P)=>{g==null?n(_.el=l(_.children||""),w,P):_.el=g.el},y=(g,_,w,P)=>{[g.el,g.anchor]=m(g.children,_,w,P,g.el,g.anchor)},M=({el:g,anchor:_},w,P)=>{let k;for(;g&&g!==_;)k=h(g),n(g,w,P),g=k;n(_,w,P)},v=({el:g,anchor:_})=>{let w;for(;g&&g!==_;)w=h(g),i(g),g=w;i(_)},S=(g,_,w,P,k,C,L,A,O)=>{_.type==="svg"?L="svg":_.type==="math"&&(L="mathml"),g==null?D(_,w,P,k,C,L,A,O):R(g,_,k,C,L,A,O)},D=(g,_,w,P,k,C,L,A)=>{let O,T;const{props:H,shapeFlag:F,transition:B,dirs:U}=g;if(O=g.el=r(g.type,C,H&&H.is,H),F&8?u(O,g.children):F&16&&z(g.children,O,null,P,k,lo(g,C),L,A),U&&os(g,null,P,"created"),I(O,g,g.scopeId,L,P),H){for(const ut in H)ut!=="value"&&!rn(ut)&&o(O,ut,null,H[ut],C,P);"value"in H&&o(O,"value",null,H.value,C),(T=H.onVnodeBeforeMount)&&le(T,P,g)}U&&os(g,null,P,"beforeMount");const J=vh(k,B);J&&B.beforeEnter(O),n(O,_,w),((T=H&&H.onVnodeMounted)||J||U)&&Ut(()=>{T&&le(T,P,g),J&&B.enter(O),U&&os(g,null,P,"mounted")},k)},I=(g,_,w,P,k)=>{if(w&&d(g,w),P)for(let C=0;C<P.length;C++)d(g,P[C]);if(k){let C=k.subTree;if(_===C||Uc(C.type)&&(C.ssContent===_||C.ssFallback===_)){const L=k.vnode;I(g,L,L.scopeId,L.slotScopeIds,k.parent)}}},z=(g,_,w,P,k,C,L,A,O=0)=>{for(let T=O;T<g.length;T++){const H=g[T]=A?We(g[T]):he(g[T]);p(null,H,_,w,P,k,C,L,A)}},R=(g,_,w,P,k,C,L)=>{const A=_.el=g.el;let{patchFlag:O,dynamicChildren:T,dirs:H}=_;O|=g.patchFlag&16;const F=g.props||Q,B=_.props||Q;let U;if(w&&rs(w,!1),(U=B.onVnodeBeforeUpdate)&&le(U,w,_,g),H&&os(_,g,w,"beforeUpdate"),w&&rs(w,!0),(F.innerHTML&&B.innerHTML==null||F.textContent&&B.textContent==null)&&u(A,""),T?V(g.dynamicChildren,T,A,w,P,lo(_,k),C):L||et(g,_,A,null,w,P,lo(_,k),C,!1),O>0){if(O&16)W(A,F,B,w,k);else if(O&2&&F.class!==B.class&&o(A,"class",null,B.class,k),O&4&&o(A,"style",F.style,B.style,k),O&8){const J=_.dynamicProps;for(let ut=0;ut<J.length;ut++){const ot=J[ut],Ht=F[ot],Tt=B[ot];(Tt!==Ht||ot==="value")&&o(A,ot,Ht,Tt,k,w)}}O&1&&g.children!==_.children&&u(A,_.children)}else!L&&T==null&&W(A,F,B,w,k);((U=B.onVnodeUpdated)||H)&&Ut(()=>{U&&le(U,w,_,g),H&&os(_,g,w,"updated")},P)},V=(g,_,w,P,k,C,L)=>{for(let A=0;A<_.length;A++){const O=g[A],T=_[A],H=O.el&&(O.type===xt||!gs(O,T)||O.shapeFlag&70)?f(O.el):w;p(O,T,H,null,P,k,C,L,!0)}},W=(g,_,w,P,k)=>{if(_!==w){if(_!==Q)for(const C in _)!rn(C)&&!(C in w)&&o(g,C,_[C],null,k,P);for(const C in w){if(rn(C))continue;const L=w[C],A=_[C];L!==A&&C!=="value"&&o(g,C,A,L,k,P)}"value"in w&&o(g,"value",_.value,w.value,k)}},E=(g,_,w,P,k,C,L,A,O)=>{const T=_.el=g?g.el:a(""),H=_.anchor=g?g.anchor:a("");let{patchFlag:F,dynamicChildren:B,slotScopeIds:U}=_;U&&(A=A?A.concat(U):U),g==null?(n(T,w,P),n(H,w,P),z(_.children||[],w,H,k,C,L,A,O)):F>0&&F&64&&B&&g.dynamicChildren?(V(g.dynamicChildren,B,w,k,C,L,A),(_.key!=null||k&&_===k.subTree)&&Vc(g,_,!0)):et(g,_,w,H,k,C,L,A,O)},Z=(g,_,w,P,k,C,L,A,O)=>{_.slotScopeIds=A,g==null?_.shapeFlag&512?k.ctx.activate(_,w,P,L,O):ht(_,w,P,k,C,L,O):it(g,_,O)},ht=(g,_,w,P,k,C,L)=>{const A=g.component=Nh(g,P,k);if(ji(g)&&(A.ctx.renderer=js),$h(A,!1,L),A.asyncDep){if(k&&k.registerDep(A,X,L),!g.el){const O=A.subTree=gt(zt);x(null,O,_,w)}}else X(A,g,_,w,k,C,L)},it=(g,_,w)=>{const P=_.component=g.component;if(Dh(g,_,w))if(P.asyncDep&&!P.asyncResolved){q(P,_,w);return}else P.next=_,P.update();else _.el=g.el,P.vnode=_},X=(g,_,w,P,k,C,L)=>{const A=()=>{if(g.isMounted){let{next:F,bu:B,u:U,parent:J,vnode:ut}=g;{const jt=Nc(g);if(jt){F&&(F.el=ut.el,q(g,F,L)),jt.asyncDep.then(()=>{g.isUnmounted||A()});return}}let ot=F,Ht;rs(g,!1),F?(F.el=ut.el,q(g,F,L)):F=ut,B&&ii(B),(Ht=F.props&&F.props.onVnodeBeforeUpdate)&&le(Ht,J,F,ut),rs(g,!0);const Tt=co(g),ne=g.subTree;g.subTree=Tt,p(ne,Tt,f(ne.el),Bn(ne),g,k,C),F.el=Tt.el,ot===null&&Eh(g,Tt.el),U&&Ut(U,k),(Ht=F.props&&F.props.onVnodeUpdated)&&Ut(()=>le(Ht,J,F,ut),k)}else{let F;const{el:B,props:U}=_,{bm:J,m:ut,parent:ot,root:Ht,type:Tt}=g,ne=Ls(_);if(rs(g,!1),J&&ii(J),!ne&&(F=U&&U.onVnodeBeforeMount)&&le(F,ot,_),rs(g,!0),B&&Hr){const jt=()=>{g.subTree=co(g),Hr(B,g.subTree,g,k,null)};ne&&Tt.__asyncHydrate?Tt.__asyncHydrate(B,g,jt):jt()}else{Ht.ce&&Ht.ce._injectChildStyle(Tt);const jt=g.subTree=co(g);p(null,jt,w,P,g,k,C),_.el=jt.el}if(ut&&Ut(ut,k),!ne&&(F=U&&U.onVnodeMounted)){const jt=_;Ut(()=>le(F,ot,jt),k)}(_.shapeFlag&256||ot&&Ls(ot.vnode)&&ot.vnode.shapeFlag&256)&&g.a&&Ut(g.a,k),g.isMounted=!0,_=w=P=null}};g.scope.on();const O=g.effect=new Xl(A);g.scope.off();const T=g.update=O.run.bind(O),H=g.job=O.runIfDirty.bind(O);H.i=g,H.id=g.uid,O.scheduler=()=>_r(H),rs(g,!0),T()},q=(g,_,w)=>{_.component=g;const P=g.vnode.props;g.vnode=_,g.next=null,ph(g,_.props,P,w),_h(g,_.children,w),ts(),Xr(g),es()},et=(g,_,w,P,k,C,L,A,O=!1)=>{const T=g&&g.children,H=g?g.shapeFlag:0,F=_.children,{patchFlag:B,shapeFlag:U}=_;if(B>0){if(B&128){se(T,F,w,P,k,C,L,A,O);return}else if(B&256){Gt(T,F,w,P,k,C,L,A,O);return}}U&8?(H&16&&$t(T,k,C),F!==T&&u(w,F)):H&16?U&16?se(T,F,w,P,k,C,L,A,O):$t(T,k,C,!0):(H&8&&u(w,""),U&16&&z(F,w,P,k,C,L,A,O))},Gt=(g,_,w,P,k,C,L,A,O)=>{g=g||Ds,_=_||Ds;const T=g.length,H=_.length,F=Math.min(T,H);let B;for(B=0;B<F;B++){const U=_[B]=O?We(_[B]):he(_[B]);p(g[B],U,w,null,k,C,L,A,O)}T>H?$t(g,k,C,!0,!1,F):z(_,w,P,k,C,L,A,O,F)},se=(g,_,w,P,k,C,L,A,O)=>{let T=0;const H=_.length;let F=g.length-1,B=H-1;for(;T<=F&&T<=B;){const U=g[T],J=_[T]=O?We(_[T]):he(_[T]);if(gs(U,J))p(U,J,w,null,k,C,L,A,O);else break;T++}for(;T<=F&&T<=B;){const U=g[F],J=_[B]=O?We(_[B]):he(_[B]);if(gs(U,J))p(U,J,w,null,k,C,L,A,O);else break;F--,B--}if(T>F){if(T<=B){const U=B+1,J=U<H?_[U].el:P;for(;T<=B;)p(null,_[T]=O?We(_[T]):he(_[T]),w,J,k,C,L,A,O),T++}}else if(T>B)for(;T<=F;)Ct(g[T],k,C,!0),T++;else{const U=T,J=T,ut=new Map;for(T=J;T<=B;T++){const Wt=_[T]=O?We(_[T]):he(_[T]);Wt.key!=null&&ut.set(Wt.key,T)}let ot,Ht=0;const Tt=B-J+1;let ne=!1,jt=0;const Ws=new Array(Tt);for(T=0;T<Tt;T++)Ws[T]=0;for(T=U;T<=F;T++){const Wt=g[T];if(Ht>=Tt){Ct(Wt,k,C,!0);continue}let ae;if(Wt.key!=null)ae=ut.get(Wt.key);else for(ot=J;ot<=B;ot++)if(Ws[ot-J]===0&&gs(Wt,_[ot])){ae=ot;break}ae===void 0?Ct(Wt,k,C,!0):(Ws[ae-J]=T+1,ae>=jt?jt=ae:ne=!0,p(Wt,_[ae],w,null,k,C,L,A,O),Ht++)}const jr=ne?wh(Ws):Ds;for(ot=jr.length-1,T=Tt-1;T>=0;T--){const Wt=J+T,ae=_[Wt],Wr=Wt+1<H?_[Wt+1].el:P;Ws[T]===0?p(null,ae,w,Wr,k,C,L,A,O):ne&&(ot<0||T!==jr[ot]?Zt(ae,w,Wr,2):ot--)}}},Zt=(g,_,w,P,k=null)=>{const{el:C,type:L,transition:A,children:O,shapeFlag:T}=g;if(T&6){Zt(g.component.subTree,_,w,P);return}if(T&128){g.suspense.move(_,w,P);return}if(T&64){L.move(g,_,w,js);return}if(L===xt){n(C,_,w);for(let F=0;F<O.length;F++)Zt(O[F],_,w,P);n(g.anchor,_,w);return}if(L===ri){M(g,_,w);return}if(P!==2&&T&1&&A)if(P===0)A.beforeEnter(C),n(C,_,w),Ut(()=>A.enter(C),k);else{const{leave:F,delayLeave:B,afterLeave:U}=A,J=()=>n(C,_,w),ut=()=>{F(C,()=>{J(),U&&U()})};B?B(C,J,ut):ut()}else n(C,_,w)},Ct=(g,_,w,P=!1,k=!1)=>{const{type:C,props:L,ref:A,children:O,dynamicChildren:T,shapeFlag:H,patchFlag:F,dirs:B,cacheIndex:U}=g;if(F===-2&&(k=!1),A!=null&&zo(A,null,w,g,!0),U!=null&&(_.renderCache[U]=void 0),H&256){_.ctx.deactivate(g);return}const J=H&1&&B,ut=!Ls(g);let ot;if(ut&&(ot=L&&L.onVnodeBeforeUnmount)&&le(ot,_,g),H&6)is(g.component,w,P);else{if(H&128){g.suspense.unmount(w,P);return}J&&os(g,null,_,"beforeUnmount"),H&64?g.type.remove(g,_,w,js,P):T&&!T.hasOnce&&(C!==xt||F>0&&F&64)?$t(T,_,w,!1,!0):(C===xt&&F&384||!k&&H&16)&&$t(O,_,w),P&&Be(g)}(ut&&(ot=L&&L.onVnodeUnmounted)||J)&&Ut(()=>{ot&&le(ot,_,g),J&&os(g,null,_,"unmounted")},w)},Be=g=>{const{type:_,el:w,anchor:P,transition:k}=g;if(_===xt){be(w,P);return}if(_===ri){v(g);return}const C=()=>{i(w),k&&!k.persisted&&k.afterLeave&&k.afterLeave()};if(g.shapeFlag&1&&k&&!k.persisted){const{leave:L,delayLeave:A}=k,O=()=>L(w,C);A?A(g.el,C,O):O()}else C()},be=(g,_)=>{let w;for(;g!==_;)w=h(g),i(g),g=w;i(_)},is=(g,_,w)=>{const{bum:P,scope:k,job:C,subTree:L,um:A,m:O,a:T}=g;ea(O),ea(T),P&&ii(P),k.stop(),C&&(C.flags|=8,Ct(L,g,_,w)),A&&Ut(A,_),Ut(()=>{g.isUnmounted=!0},_),_&&_.pendingBranch&&!_.isUnmounted&&g.asyncDep&&!g.asyncResolved&&g.suspenseId===_.pendingId&&(_.deps--,_.deps===0&&_.resolve())},$t=(g,_,w,P=!1,k=!1,C=0)=>{for(let L=C;L<g.length;L++)Ct(g[L],_,w,P,k)},Bn=g=>{if(g.shapeFlag&6)return Bn(g.component.subTree);if(g.shapeFlag&128)return g.suspense.next();const _=h(g.anchor||g.el),w=_&&_[Wf];return w?h(w):_};let to=!1;const Nr=(g,_,w)=>{g==null?_._vnode&&Ct(_._vnode,null,null,!0):p(_._vnode||null,g,_,null,null,null,w),_._vnode=g,to||(to=!0,Xr(),dc(),to=!1)},js={p,um:Ct,m:Zt,r:Be,mt:ht,mc:z,pc:et,pbc:V,n:Bn,o:e};let $r,Hr;return{render:Nr,hydrate:$r,createApp:fh(Nr,$r)}}function lo({type:e,props:t},s){return s==="svg"&&e==="foreignObject"||s==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:s}function rs({effect:e,job:t},s){s?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function vh(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function Vc(e,t,s=!1){const n=e.children,i=t.children;if($(n)&&$(i))for(let o=0;o<n.length;o++){const r=n[o];let a=i[o];a.shapeFlag&1&&!a.dynamicChildren&&((a.patchFlag<=0||a.patchFlag===32)&&(a=i[o]=We(i[o]),a.el=r.el),!s&&a.patchFlag!==-2&&Vc(r,a)),a.type===Xi&&(a.el=r.el)}}function wh(e){const t=e.slice(),s=[0];let n,i,o,r,a;const l=e.length;for(n=0;n<l;n++){const c=e[n];if(c!==0){if(i=s[s.length-1],e[i]<c){t[n]=i,s.push(n);continue}for(o=0,r=s.length-1;o<r;)a=o+r>>1,e[s[a]]<c?o=a+1:r=a;c<e[s[o]]&&(o>0&&(t[n]=s[o-1]),s[o]=n)}}for(o=s.length,r=s[o-1];o-- >0;)s[o]=r,r=t[r];return s}function Nc(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:Nc(t)}function ea(e){if(e)for(let t=0;t<e.length;t++)e[t].flags|=8}const Sh=Symbol.for("v-scx"),Mh=()=>oi(Sh);function kh(e,t){return Ki(e,null,{flush:"post"})}function Ch(e,t){return Ki(e,null,{flush:"sync"})}function pt(e,t,s){return Ki(e,t,s)}function Ki(e,t,s=Q){const{immediate:n,deep:i,flush:o,once:r}=s,a=vt({},s),l=t&&n||!t&&o!=="post";let c;if(Sn){if(o==="sync"){const d=Mh();c=d.__watcherHandles||(d.__watcherHandles=[])}else if(!l){const d=()=>{};return d.stop=ge,d.resume=ge,d.pause=ge,d}}const u=Et;a.call=(d,m,p)=>re(d,u,m,p);let f=!1;o==="post"?a.scheduler=d=>{Ut(d,u&&u.suspense)}:o!=="sync"&&(f=!0,a.scheduler=(d,m)=>{m?d():_r(d)}),a.augmentJob=d=>{t&&(d.flags|=4),f&&(d.flags|=2,u&&(d.id=u.uid,d.i=u))};const h=Bf(e,t,a);return Sn&&(c?c.push(h):l&&h()),h}function Ph(e,t,s){const n=this.proxy,i=_t(e)?e.includes(".")?$c(n,e):()=>n[e]:e.bind(n,n);let o;K(t)?o=t:(o=t.handler,s=t);const r=In(this),a=Ki(i,o.bind(n),s);return r(),a}function $c(e,t){const s=t.split(".");return()=>{let n=e;for(let i=0;i<s.length&&n;i++)n=n[s[i]];return n}}function Hc(e,t,s=Q){const n=qi(),i=Oe(t),o=Re(t),r=jc(e,i),a=Rf((l,c)=>{let u,f=Q,h;return Ch(()=>{const d=e[i];Vt(u,d)&&(u=d,c())}),{get(){return l(),s.get?s.get(u):u},set(d){const m=s.set?s.set(d):d;if(!Vt(m,u)&&!(f!==Q&&Vt(d,f)))return;const p=n.vnode.props;p&&(t in p||i in p||o in p)&&(`onUpdate:${t}`in p||`onUpdate:${i}`in p||`onUpdate:${o}`in p)||(u=d,c()),n.emit(`update:${t}`,m),Vt(d,m)&&Vt(d,f)&&!Vt(m,h)&&c(),f=d,h=m}}});return a[Symbol.iterator]=()=>{let l=0;return{next(){return l<2?{value:l++?r||Q:a,done:!1}:{done:!0}}}},a}const jc=(e,t)=>t==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${Oe(t)}Modifiers`]||e[`${Re(t)}Modifiers`];function Th(e,t,...s){if(e.isUnmounted)return;const n=e.vnode.props||Q;let i=s;const o=t.startsWith("update:"),r=o&&jc(n,t.slice(7));r&&(r.trim&&(i=s.map(u=>_t(u)?u.trim():u)),r.number&&(i=s.map(Ao)));let a,l=n[a=eo(t)]||n[a=eo(Oe(t))];!l&&o&&(l=n[a=eo(Re(t))]),l&&re(l,e,6,i);const c=n[a+"Once"];if(c){if(!e.emitted)e.emitted={};else if(e.emitted[a])return;e.emitted[a]=!0,re(c,e,6,i)}}function Wc(e,t,s=!1){const n=t.emitsCache,i=n.get(e);if(i!==void 0)return i;const o=e.emits;let r={},a=!1;if(!K(e)){const l=c=>{const u=Wc(c,t,!0);u&&(a=!0,vt(r,u))};!s&&t.mixins.length&&t.mixins.forEach(l),e.extends&&l(e.extends),e.mixins&&e.mixins.forEach(l)}return!o&&!a?(dt(e)&&n.set(e,null),null):($(o)?o.forEach(l=>r[l]=null):vt(r,o),dt(e)&&n.set(e,r),r)}function Yi(e,t){return!e||!Li(t)?!1:(t=t.slice(2).replace(/Once$/,""),nt(e,t[0].toLowerCase()+t.slice(1))||nt(e,Re(t))||nt(e,t))}function co(e){const{type:t,vnode:s,proxy:n,withProxy:i,propsOptions:[o],slots:r,attrs:a,emit:l,render:c,renderCache:u,props:f,data:h,setupState:d,ctx:m,inheritAttrs:p}=e,b=vi(e);let x,y;try{if(s.shapeFlag&4){const v=i||n,S=v;x=he(c.call(S,v,u,f,d,h,m)),y=a}else{const v=t;x=he(v.length>1?v(f,{attrs:a,slots:r,emit:l}):v(f,null)),y=t.props?a:Oh(a)}}catch(v){un.length=0,Hi(v,e,1),x=gt(zt)}let M=x;if(y&&p!==!1){const v=Object.keys(y),{shapeFlag:S}=M;v.length&&S&7&&(o&&v.some(cr)&&(y=Ah(y,o)),M=Je(M,y,!1,!0))}return s.dirs&&(M=Je(M,null,!1,!0),M.dirs=M.dirs?M.dirs.concat(s.dirs):s.dirs),s.transition&&yn(M,s.transition),x=M,vi(b),x}const Oh=e=>{let t;for(const s in e)(s==="class"||s==="style"||Li(s))&&((t||(t={}))[s]=e[s]);return t},Ah=(e,t)=>{const s={};for(const n in e)(!cr(n)||!(n.slice(9)in t))&&(s[n]=e[n]);return s};function Dh(e,t,s){const{props:n,children:i,component:o}=e,{props:r,children:a,patchFlag:l}=t,c=o.emitsOptions;if(t.dirs||t.transition)return!0;if(s&&l>=0){if(l&1024)return!0;if(l&16)return n?sa(n,r,c):!!r;if(l&8){const u=t.dynamicProps;for(let f=0;f<u.length;f++){const h=u[f];if(r[h]!==n[h]&&!Yi(c,h))return!0}}}else return(i||a)&&(!a||!a.$stable)?!0:n===r?!1:n?r?sa(n,r,c):!0:!!r;return!1}function sa(e,t,s){const n=Object.keys(t);if(n.length!==Object.keys(e).length)return!0;for(let i=0;i<n.length;i++){const o=n[i];if(t[o]!==e[o]&&!Yi(s,o))return!0}return!1}function Eh({vnode:e,parent:t},s){for(;t;){const n=t.subTree;if(n.suspense&&n.suspense.activeBranch===e&&(n.el=e.el),n===e)(e=t.vnode).el=s,t=t.parent;else break}}const Uc=e=>e.__isSuspense;function Ih(e,t){t&&t.pendingBranch?$(e)?t.effects.push(...e):t.effects.push(e):Hf(e)}const xt=Symbol.for("v-fgt"),Xi=Symbol.for("v-txt"),zt=Symbol.for("v-cmt"),ri=Symbol.for("v-stc"),un=[];let Xt=null;function Y(e=!1){un.push(Xt=e?null:[])}function Rh(){un.pop(),Xt=un[un.length-1]||null}let vn=1;function na(e){vn+=e,e<0&&Xt&&(Xt.hasOnce=!0)}function Kc(e){return e.dynamicChildren=vn>0?Xt||Ds:null,Rh(),vn>0&&Xt&&Xt.push(e),e}function at(e,t,s,n,i,o){return Kc(j(e,t,s,n,i,o,!0))}function pe(e,t,s,n,i){return Kc(gt(e,t,s,n,i,!0))}function wn(e){return e?e.__v_isVNode===!0:!1}function gs(e,t){return e.type===t.type&&e.key===t.key}const Yc=({key:e})=>e??null,ai=({ref:e,ref_key:t,ref_for:s})=>(typeof e=="number"&&(e=""+e),e!=null?_t(e)||Rt(e)||K(e)?{i:Pt,r:e,k:t,f:!!s}:e:null);function j(e,t=null,s=null,n=0,i=null,o=e===xt?0:1,r=!1,a=!1){const l={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Yc(t),ref:t&&ai(t),scopeId:gc,slotScopeIds:null,children:s,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:o,patchFlag:n,dynamicProps:i,dynamicChildren:null,appContext:null,ctx:Pt};return a?(Sr(l,s),o&128&&e.normalize(l)):s&&(l.shapeFlag|=_t(s)?8:16),vn>0&&!r&&Xt&&(l.patchFlag>0||o&6)&&l.patchFlag!==32&&Xt.push(l),l}const gt=Lh;function Lh(e,t=null,s=null,n=0,i=null,o=!1){if((!e||e===nh)&&(e=zt),wn(e)){const a=Je(e,t,!0);return s&&Sr(a,s),vn>0&&!o&&Xt&&(a.shapeFlag&6?Xt[Xt.indexOf(e)]=a:Xt.push(a)),a.patchFlag=-2,a}if(Uh(e)&&(e=e.__vccOpts),t){t=Fh(t);let{class:a,style:l}=t;a&&!_t(a)&&(t.class=Ge(a)),dt(l)&&(br(l)&&!$(l)&&(l=vt({},l)),t.style=Vi(l))}const r=_t(e)?1:Uc(e)?128:mc(e)?64:dt(e)?4:K(e)?2:0;return j(e,t,s,n,i,r,o,!0)}function Fh(e){return e?br(e)||Ec(e)?vt({},e):e:null}function Je(e,t,s=!1,n=!1){const{props:i,ref:o,patchFlag:r,children:a,transition:l}=e,c=t?zh(i||{},t):i,u={__v_isVNode:!0,__v_skip:!0,type:e.type,props:c,key:c&&Yc(c),ref:t&&t.ref?s&&o?$(o)?o.concat(ai(t)):[o,ai(t)]:ai(t):o,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:a,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==xt?r===-1?16:r|16:r,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:l,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Je(e.ssContent),ssFallback:e.ssFallback&&Je(e.ssFallback),el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return l&&n&&yn(u,l.clone(u)),u}function wr(e=" ",t=0){return gt(Xi,null,e,t)}function Pe(e="",t=!1){return t?(Y(),pe(zt,null,e)):gt(zt,null,e)}function he(e){return e==null||typeof e=="boolean"?gt(zt):$(e)?gt(xt,null,e.slice()):wn(e)?We(e):gt(Xi,null,String(e))}function We(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:Je(e)}function Sr(e,t){let s=0;const{shapeFlag:n}=e;if(t==null)t=null;else if($(t))s=16;else if(typeof t=="object")if(n&65){const i=t.default;i&&(i._c&&(i._d=!1),Sr(e,i()),i._c&&(i._d=!0));return}else{s=32;const i=t._;!i&&!Ec(t)?t._ctx=Pt:i===3&&Pt&&(Pt.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else K(t)?(t={default:t,_ctx:Pt},s=32):(t=String(t),n&64?(s=16,t=[wr(t)]):s=8);e.children=t,e.shapeFlag|=s}function zh(...e){const t={};for(let s=0;s<e.length;s++){const n=e[s];for(const i in n)if(i==="class")t.class!==n.class&&(t.class=Ge([t.class,n.class]));else if(i==="style")t.style=Vi([t.style,n.style]);else if(Li(i)){const o=t[i],r=n[i];r&&o!==r&&!($(o)&&o.includes(r))&&(t[i]=o?[].concat(o,r):r)}else i!==""&&(t[i]=n[i])}return t}function le(e,t,s,n=null){re(e,t,7,[s,n])}const Bh=Oc();let Vh=0;function Nh(e,t,s){const n=e.type,i=(t?t.appContext:e.appContext)||Bh,o={uid:Vh++,vnode:e,type:n,parent:t,appContext:i,root:null,next:null,subTree:null,effect:null,update:null,job:null,scope:new cf(!0),render:null,proxy:null,exposed:null,exposeProxy:null,withProxy:null,provides:t?t.provides:Object.create(i.provides),ids:t?t.ids:["",0,0],accessCache:null,renderCache:[],components:null,directives:null,propsOptions:Rc(n,i),emitsOptions:Wc(n,i),emit:null,emitted:null,propsDefaults:Q,inheritAttrs:n.inheritAttrs,ctx:Q,data:Q,props:Q,attrs:Q,slots:Q,refs:Q,setupState:Q,setupContext:null,suspense:s,suspenseId:s?s.pendingId:0,asyncDep:null,asyncResolved:!1,isMounted:!1,isUnmounted:!1,isDeactivated:!1,bc:null,c:null,bm:null,m:null,bu:null,u:null,um:null,bum:null,da:null,a:null,rtg:null,rtc:null,ec:null,sp:null};return o.ctx={_:o},o.root=t?t.root:o,o.emit=Th.bind(null,o),e.ce&&e.ce(o),o}let Et=null;const qi=()=>Et||Pt;let Mi,jo;{const e=Bi(),t=(s,n)=>{let i;return(i=e[s])||(i=e[s]=[]),i.push(n),o=>{i.length>1?i.forEach(r=>r(o)):i[0](o)}};Mi=t("__VUE_INSTANCE_SETTERS__",s=>Et=s),jo=t("__VUE_SSR_SETTERS__",s=>Sn=s)}const In=e=>{const t=Et;return Mi(e),e.scope.on(),()=>{e.scope.off(),Mi(t)}},ia=()=>{Et&&Et.scope.off(),Mi(null)};function Xc(e){return e.vnode.shapeFlag&4}let Sn=!1;function $h(e,t=!1,s=!1){t&&jo(t);const{props:n,children:i}=e.vnode,o=Xc(e);dh(e,n,o,t),bh(e,i,s);const r=o?Hh(e,t):void 0;return t&&jo(!1),r}function Hh(e,t){const s=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,ih);const{setup:n}=s;if(n){ts();const i=e.setupContext=n.length>1?Wh(e):null,o=In(e),r=Dn(n,e,0,[e.props,i]),a=Nl(r);if(es(),o(),(a||e.sp)&&!Ls(e)&&wc(e),a){if(r.then(ia,ia),t)return r.then(l=>{oa(e,l,t)}).catch(l=>{Hi(l,e,0)});e.asyncDep=r}else oa(e,r,t)}else qc(e,t)}function oa(e,t,s){K(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:dt(t)&&(e.setupState=uc(t)),qc(e,s)}let ra;function qc(e,t,s){const n=e.type;if(!e.render){if(!t&&ra&&!n.render){const i=n.template||yr(e).template;if(i){const{isCustomElement:o,compilerOptions:r}=e.appContext.config,{delimiters:a,compilerOptions:l}=n,c=vt(vt({isCustomElement:o,delimiters:a},r),l);n.render=ra(i,c)}}e.render=n.render||ge}{const i=In(e);ts();try{oh(e)}finally{es(),i()}}}const jh={get(e,t){return At(e,"get",""),e[t]}};function Wh(e){const t=s=>{e.exposed=s||{}};return{attrs:new Proxy(e.attrs,jh),slots:e.slots,emit:e.emit,expose:t}}function Gi(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(uc(Af(e.exposed)),{get(t,s){if(s in t)return t[s];if(s in cn)return cn[s](e)},has(t,s){return s in t||s in cn}})):e.proxy}function Uh(e){return K(e)&&"__vccOpts"in e}const Mt=(e,t)=>Ff(e,t,Sn);function Kh(e,t,s){const n=arguments.length;return n===2?dt(t)&&!$(t)?wn(t)?gt(e,null,[t]):gt(e,t):gt(e,null,t):(n>3?s=Array.prototype.slice.call(arguments,2):n===3&&wn(s)&&(s=[s]),gt(e,t,s))}const Yh="3.5.12";/**
|
|
14
|
+
* @vue/runtime-dom v3.5.12
|
|
15
|
+
* (c) 2018-present Yuxi (Evan) You and Vue contributors
|
|
16
|
+
* @license MIT
|
|
17
|
+
**/let Wo;const aa=typeof window<"u"&&window.trustedTypes;if(aa)try{Wo=aa.createPolicy("vue",{createHTML:e=>e})}catch{}const Gc=Wo?e=>Wo.createHTML(e):e=>e,Xh="http://www.w3.org/2000/svg",qh="http://www.w3.org/1998/Math/MathML",we=typeof document<"u"?document:null,la=we&&we.createElement("template"),Gh={insert:(e,t,s)=>{t.insertBefore(e,s||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,s,n)=>{const i=t==="svg"?we.createElementNS(Xh,e):t==="mathml"?we.createElementNS(qh,e):s?we.createElement(e,{is:s}):we.createElement(e);return e==="select"&&n&&n.multiple!=null&&i.setAttribute("multiple",n.multiple),i},createText:e=>we.createTextNode(e),createComment:e=>we.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>we.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,s,n,i,o){const r=s?s.previousSibling:t.lastChild;if(i&&(i===o||i.nextSibling))for(;t.insertBefore(i.cloneNode(!0),s),!(i===o||!(i=i.nextSibling)););else{la.innerHTML=Gc(n==="svg"?`<svg>${e}</svg>`:n==="mathml"?`<math>${e}</math>`:e);const a=la.content;if(n==="svg"||n==="mathml"){const l=a.firstChild;for(;l.firstChild;)a.appendChild(l.firstChild);a.removeChild(l)}t.insertBefore(a,s)}return[r?r.nextSibling:t.firstChild,s?s.previousSibling:t.lastChild]}},Ve="transition",Ks="animation",Mn=Symbol("_vtc"),Zc={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},Zh=vt({},bc,Zc),Jh=e=>(e.displayName="Transition",e.props=Zh,e),Jc=Jh((e,{slots:t})=>Kh(Yf,Qh(e),t)),as=(e,t=[])=>{$(e)?e.forEach(s=>s(...t)):e&&e(...t)},ca=e=>e?$(e)?e.some(t=>t.length>1):e.length>1:!1;function Qh(e){const t={};for(const E in e)E in Zc||(t[E]=e[E]);if(e.css===!1)return t;const{name:s="v",type:n,duration:i,enterFromClass:o=`${s}-enter-from`,enterActiveClass:r=`${s}-enter-active`,enterToClass:a=`${s}-enter-to`,appearFromClass:l=o,appearActiveClass:c=r,appearToClass:u=a,leaveFromClass:f=`${s}-leave-from`,leaveActiveClass:h=`${s}-leave-active`,leaveToClass:d=`${s}-leave-to`}=e,m=td(i),p=m&&m[0],b=m&&m[1],{onBeforeEnter:x,onEnter:y,onEnterCancelled:M,onLeave:v,onLeaveCancelled:S,onBeforeAppear:D=x,onAppear:I=y,onAppearCancelled:z=M}=t,R=(E,Z,ht)=>{ls(E,Z?u:a),ls(E,Z?c:r),ht&&ht()},V=(E,Z)=>{E._isLeaving=!1,ls(E,f),ls(E,d),ls(E,h),Z&&Z()},W=E=>(Z,ht)=>{const it=E?I:y,X=()=>R(Z,E,ht);as(it,[Z,X]),ua(()=>{ls(Z,E?l:o),Ne(Z,E?u:a),ca(it)||fa(Z,n,p,X)})};return vt(t,{onBeforeEnter(E){as(x,[E]),Ne(E,o),Ne(E,r)},onBeforeAppear(E){as(D,[E]),Ne(E,l),Ne(E,c)},onEnter:W(!1),onAppear:W(!0),onLeave(E,Z){E._isLeaving=!0;const ht=()=>V(E,Z);Ne(E,f),Ne(E,h),nd(),ua(()=>{E._isLeaving&&(ls(E,f),Ne(E,d),ca(v)||fa(E,n,b,ht))}),as(v,[E,ht])},onEnterCancelled(E){R(E,!1),as(M,[E])},onAppearCancelled(E){R(E,!0),as(z,[E])},onLeaveCancelled(E){V(E),as(S,[E])}})}function td(e){if(e==null)return null;if(dt(e))return[uo(e.enter),uo(e.leave)];{const t=uo(e);return[t,t]}}function uo(e){return ef(e)}function Ne(e,t){t.split(/\s+/).forEach(s=>s&&e.classList.add(s)),(e[Mn]||(e[Mn]=new Set)).add(t)}function ls(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.remove(n));const s=e[Mn];s&&(s.delete(t),s.size||(e[Mn]=void 0))}function ua(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let ed=0;function fa(e,t,s,n){const i=e._endId=++ed,o=()=>{i===e._endId&&n()};if(s!=null)return setTimeout(o,s);const{type:r,timeout:a,propCount:l}=sd(e,t);if(!r)return n();const c=r+"end";let u=0;const f=()=>{e.removeEventListener(c,h),o()},h=d=>{d.target===e&&++u>=l&&f()};setTimeout(()=>{u<l&&f()},a+1),e.addEventListener(c,h)}function sd(e,t){const s=window.getComputedStyle(e),n=m=>(s[m]||"").split(", "),i=n(`${Ve}Delay`),o=n(`${Ve}Duration`),r=ha(i,o),a=n(`${Ks}Delay`),l=n(`${Ks}Duration`),c=ha(a,l);let u=null,f=0,h=0;t===Ve?r>0&&(u=Ve,f=r,h=o.length):t===Ks?c>0&&(u=Ks,f=c,h=l.length):(f=Math.max(r,c),u=f>0?r>c?Ve:Ks:null,h=u?u===Ve?o.length:l.length:0);const d=u===Ve&&/\b(transform|all)(,|$)/.test(n(`${Ve}Property`).toString());return{type:u,timeout:f,propCount:h,hasTransform:d}}function ha(e,t){for(;e.length<t.length;)e=e.concat(e);return Math.max(...t.map((s,n)=>da(s)+da(e[n])))}function da(e){return e==="auto"?0:Number(e.slice(0,-1).replace(",","."))*1e3}function nd(){return document.body.offsetHeight}function id(e,t,s){const n=e[Mn];n&&(t=(t?[t,...n]:[...n]).join(" ")),t==null?e.removeAttribute("class"):s?e.setAttribute("class",t):e.className=t}const pa=Symbol("_vod"),od=Symbol("_vsh"),Qc=Symbol("");function tu(e){const t=qi();if(!t)return;const s=t.ut=(i=e(t.proxy))=>{Array.from(document.querySelectorAll(`[data-v-owner="${t.uid}"]`)).forEach(o=>ki(o,i))},n=()=>{const i=e(t.proxy);t.ce?ki(t.ce,i):Uo(t.subTree,i),s(i)};kc(()=>{kh(n)}),Ui(()=>{const i=new MutationObserver(n);i.observe(t.subTree.el.parentNode,{childList:!0}),xr(()=>i.disconnect())})}function Uo(e,t){if(e.shapeFlag&128){const s=e.suspense;e=s.activeBranch,s.pendingBranch&&!s.isHydrating&&s.effects.push(()=>{Uo(s.activeBranch,t)})}for(;e.component;)e=e.component.subTree;if(e.shapeFlag&1&&e.el)ki(e.el,t);else if(e.type===xt)e.children.forEach(s=>Uo(s,t));else if(e.type===ri){let{el:s,anchor:n}=e;for(;s&&(ki(s,t),s!==n);)s=s.nextSibling}}function ki(e,t){if(e.nodeType===1){const s=e.style;let n="";for(const i in t)s.setProperty(`--${i}`,t[i]),n+=`--${i}: ${t[i]};`;s[Qc]=n}}const rd=/(^|;)\s*display\s*:/;function ad(e,t,s){const n=e.style,i=_t(s);let o=!1;if(s&&!i){if(t)if(_t(t))for(const r of t.split(";")){const a=r.slice(0,r.indexOf(":")).trim();s[a]==null&&li(n,a,"")}else for(const r in t)s[r]==null&&li(n,r,"");for(const r in s)r==="display"&&(o=!0),li(n,r,s[r])}else if(i){if(t!==s){const r=n[Qc];r&&(s+=";"+r),n.cssText=s,o=rd.test(s)}}else t&&e.removeAttribute("style");pa in e&&(e[pa]=o?n.display:"",e[od]&&(n.display="none"))}const ga=/\s*!important$/;function li(e,t,s){if($(s))s.forEach(n=>li(e,t,n));else if(s==null&&(s=""),t.startsWith("--"))e.setProperty(t,s);else{const n=ld(e,t);ga.test(s)?e.setProperty(Re(n),s.replace(ga,""),"important"):e[n]=s}}const ma=["Webkit","Moz","ms"],fo={};function ld(e,t){const s=fo[t];if(s)return s;let n=Oe(t);if(n!=="filter"&&n in e)return fo[t]=n;n=jl(n);for(let i=0;i<ma.length;i++){const o=ma[i]+n;if(o in e)return fo[t]=o}return t}const ba="http://www.w3.org/1999/xlink";function _a(e,t,s,n,i,o=lf(t)){n&&t.startsWith("xlink:")?s==null?e.removeAttributeNS(ba,t.slice(6,t.length)):e.setAttributeNS(ba,t,s):s==null||o&&!Ul(s)?e.removeAttribute(t):e.setAttribute(t,o?"":Ie(s)?String(s):s)}function xa(e,t,s,n,i){if(t==="innerHTML"||t==="textContent"){s!=null&&(e[t]=t==="innerHTML"?Gc(s):s);return}const o=e.tagName;if(t==="value"&&o!=="PROGRESS"&&!o.includes("-")){const a=o==="OPTION"?e.getAttribute("value")||"":e.value,l=s==null?e.type==="checkbox"?"on":"":String(s);(a!==l||!("_value"in e))&&(e.value=l),s==null&&e.removeAttribute(t),e._value=s;return}let r=!1;if(s===""||s==null){const a=typeof e[t];a==="boolean"?s=Ul(s):s==null&&a==="string"?(s="",r=!0):a==="number"&&(s=0,r=!0)}try{e[t]=s}catch{}r&&e.removeAttribute(i||t)}function As(e,t,s,n){e.addEventListener(t,s,n)}function cd(e,t,s,n){e.removeEventListener(t,s,n)}const ya=Symbol("_vei");function ud(e,t,s,n,i=null){const o=e[ya]||(e[ya]={}),r=o[t];if(n&&r)r.value=n;else{const[a,l]=fd(t);if(n){const c=o[t]=pd(n,i);As(e,a,c,l)}else r&&(cd(e,a,r,l),o[t]=void 0)}}const va=/(?:Once|Passive|Capture)$/;function fd(e){let t;if(va.test(e)){t={};let n;for(;n=e.match(va);)e=e.slice(0,e.length-n[0].length),t[n[0].toLowerCase()]=!0}return[e[2]===":"?e.slice(3):Re(e.slice(2)),t]}let ho=0;const hd=Promise.resolve(),dd=()=>ho||(hd.then(()=>ho=0),ho=Date.now());function pd(e,t){const s=n=>{if(!n._vts)n._vts=Date.now();else if(n._vts<=s.attached)return;re(gd(n,s.value),t,5,[n])};return s.value=e,s.attached=dd(),s}function gd(e,t){if($(t)){const s=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{s.call(e),e._stopped=!0},t.map(n=>i=>!i._stopped&&n&&n(i))}else return t}const wa=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,md=(e,t,s,n,i,o)=>{const r=i==="svg";t==="class"?id(e,n,r):t==="style"?ad(e,s,n):Li(t)?cr(t)||ud(e,t,s,n,o):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):bd(e,t,n,r))?(xa(e,t,n),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&_a(e,t,n,r,o,t!=="value")):e._isVueCE&&(/[A-Z]/.test(t)||!_t(n))?xa(e,Oe(t),n,o,t):(t==="true-value"?e._trueValue=n:t==="false-value"&&(e._falseValue=n),_a(e,t,n,r))};function bd(e,t,s,n){if(n)return!!(t==="innerHTML"||t==="textContent"||t in e&&wa(t)&&K(s));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const i=e.tagName;if(i==="IMG"||i==="VIDEO"||i==="CANVAS"||i==="SOURCE")return!1}return wa(t)&&_t(s)?!1:t in e}const Sa=e=>{const t=e.props["onUpdate:modelValue"]||!1;return $(t)?s=>ii(t,s):t};function _d(e){e.target.composing=!0}function Ma(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const po=Symbol("_assign"),xd={created(e,{modifiers:{lazy:t,trim:s,number:n}},i){e[po]=Sa(i);const o=n||i.props&&i.props.type==="number";As(e,t?"change":"input",r=>{if(r.target.composing)return;let a=e.value;s&&(a=a.trim()),o&&(a=Ao(a)),e[po](a)}),s&&As(e,"change",()=>{e.value=e.value.trim()}),t||(As(e,"compositionstart",_d),As(e,"compositionend",Ma),As(e,"change",Ma))},mounted(e,{value:t}){e.value=t??""},beforeUpdate(e,{value:t,oldValue:s,modifiers:{lazy:n,trim:i,number:o}},r){if(e[po]=Sa(r),e.composing)return;const a=(o||e.type==="number")&&!/^0\d/.test(e.value)?Ao(e.value):e.value,l=t??"";a!==l&&(document.activeElement===e&&e.type!=="range"&&(n&&t===s||i&&e.value.trim()===l)||(e.value=l))}},yd=["ctrl","shift","alt","meta"],vd={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&e.button!==0,middle:e=>"button"in e&&e.button!==1,right:e=>"button"in e&&e.button!==2,exact:(e,t)=>yd.some(s=>e[`${s}Key`]&&!t.includes(s))},Ci=(e,t)=>{const s=e._withMods||(e._withMods={}),n=t.join(".");return s[n]||(s[n]=(i,...o)=>{for(let r=0;r<t.length;r++){const a=vd[t[r]];if(a&&a(i,t))return}return e(i,...o)})},wd={esc:"escape",space:" ",up:"arrow-up",left:"arrow-left",right:"arrow-right",down:"arrow-down",delete:"backspace"},Pi=(e,t)=>{const s=e._withKeys||(e._withKeys={}),n=t.join(".");return s[n]||(s[n]=i=>{if(!("key"in i))return;const o=Re(i.key);if(t.some(r=>r===o||wd[r]===o))return e(i)})},Sd=vt({patchProp:md},Gh);let ka;function Md(){return ka||(ka=xh(Sd))}const kd=(...e)=>{const t=Md().createApp(...e),{mount:s}=t;return t.mount=n=>{const i=Pd(n);if(!i)return;const o=t._component;!K(o)&&!o.render&&!o.template&&(o.template=i.innerHTML),i.nodeType===1&&(i.textContent="");const r=s(i,!1,Cd(i));return i instanceof Element&&(i.removeAttribute("v-cloak"),i.setAttribute("data-v-app","")),r},t};function Cd(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function Pd(e){return _t(e)?document.querySelector(e):e}function Fe(e,t,s=!1){if(e.length==0)return fallback;if(t.length===0&&!s)return;let n={type:null,value:t};t instanceof Set&&(n={type:"Set",value:[...t]}),console.log("saveStorage",e,n),localStorage.setItem(e,JSON.stringify(n))}function ze(e,t){if(e.length==0)return t;const s=JSON.parse(localStorage.getItem(e));if(s===null)return t;if(s.type==="Set")return new Set(s.value);if(s.type===null)return s.value;throw`invalid storage entry: ${e} ${s}`}async function Rn(e,t=0){if(e.indexOf("[")>=0)throw new Error(`Invalid URL: ${e}`);console.log(e);const s=await(await fetch(e)).json();return t>0&&await new Promise(n=>setTimeout(n,t)),s}function Mr(e){return e.substr(e.lastIndexOf(":")+1)}function Td(e){return e.split(":").slice(0,-2).join(":")}const Ko=bt(!1),ci=bt(new Set),ui=bt(new Set),fi=bt(new Set),Ti=bt(ze("cachedEids",[])),ws=bt(ze("cachedExps",{})),Ae=bt(ze("cachedRuns",{})),Qs=bt({}),Hs=bt(ze("selExps",new Set)),De=bt(ze("selRuns",new Set)),Ln=bt(ze("selMets",new Set));pt(()=>Ti,e=>Fe("cachedEids",e.value),{deep:2});pt(()=>ws,e=>Fe("cachedExps",e.value),{deep:2});pt(()=>Ae,e=>Fe("cachedRuns",e.value),{deep:2});pt(()=>Hs,e=>Fe("selExps",e.value),{deep:2});pt(()=>De,e=>Fe("selRuns",e.value),{deep:2});pt(()=>Ln,e=>Fe("selMets",e.value),{deep:2});const Od=Mt(()=>Ti.value.sort()),Ad=Mt(()=>[...Hs.value].filter(e=>e in ws.value).flatMap(e=>ws.value[e].runs).sort()),Dd=Mt(()=>{const e=[...De.value].filter(t=>t in Ae.value).flatMap(t=>Ae.value[t].cols).map(t=>Mr(t));return[...new Set(e)].sort()}),kr=Mt(()=>[...Ln.value].sort().map(e=>{const t=e.substr(e.lastIndexOf(".")+1),s=[...De.value].filter(n=>n in Ae.value).flatMap(n=>Ae.value[n].cols).filter(n=>e===Mr(n)).sort();return{name:e,ext:t,cols:s}})),Ed=Mt(()=>Qs.value);async function eu(e=!1){Ti.value.length>0&&!e||(Ko.value=!0,Rn("/api/exps").then(t=>Ti.value=t.exps).finally(()=>Ko.value=!1))}async function su(e=!1){[...Hs.value].filter(t=>!(t in ci.value)).filter(t=>!(t in ws.value)||e).map(t=>(ci.value.add(t),t)).map(t=>Rn(`/api/exp/${t}`).then(s=>ws.value[s.id]=zs(s)).finally(()=>ci.value.delete(t)))}async function nu(e=!1){[...De.value].filter(t=>!(t in ui.value)).filter(t=>!(t in Ae.value)||e).map(t=>(ui.value.add(t),t)).map(t=>Rn(`/api/run/${t}`).then(s=>Ae.value[s.id]=zs(s)).finally(()=>ui.value.delete(t)))}async function tn(e=!1,t=!0){t&&Object.keys(Qs.value).filter(s=>!Ln.value.has(Mr(s))||!De.value.has(Td(s))).map(s=>delete Qs.value[s]),kr.value.flatMap(s=>s.cols).filter(s=>!fi.value.has(s)).filter(s=>!(s in Qs.value)||e).map(s=>(fi.value.add(s),s)).map(s=>Rn(`/api/col/${s}`).then(n=>Qs.value[n.id]=zs(n)).finally(()=>fi.value.delete(s)))}async function Id(){Object.keys(ws.value).filter(e=>!Hs.value.has(e)).map(e=>delete ws.value[e]),Object.keys(Ae.value).filter(e=>!De.value.has(e)).map(e=>delete Ae.value[e]),tn(!0),su(!0),nu(!0),eu(!0)}eu();setTimeout(()=>{pt(()=>Hs,()=>su(!1),{deep:2}),pt(()=>De,()=>nu(!1),{deep:2}),pt(()=>De,()=>tn(!1),{deep:2}),pt(()=>Ln,()=>tn(!1),{deep:2}),pt(()=>kr,()=>tn(!1),{deep:3}),tn(!1)},200);const iu=ss(ze("options",{binsize:null,stepsel:null}));pt(()=>iu,e=>Fe("options",e),{deep:!0});const G={pendingEids:Ko,pendingExps:ci,pendingRuns:ui,pendingCols:fi,get:Rn,refresh:Id,selExps:Hs,selRuns:De,selMets:Ln,availableExps:Od,availableRuns:Ad,availableMets:Dd,availableCards:kr,availableCols:Ed,options:iu},Rd=["ArrowDown","ArrowUp","ArrowLeft","ArrowRight","h","j","k","l","g","G"],Ld=["ArrowDown","ArrowUp","ArrowLeft","ArrowRight"],Fd=".focusable, input, button",zd=".nofocusgroup, .nofocusgroup *";let go=null;function Bd(e){if(e.key=="Tab"){Vd();return}if(e.ctrlKey||e.metaKey||e.altKey||e.target.nodeName=="INPUT"&&!Ld.includes(e.key)||!Rd.includes(e.key))return;const t=e.target.closest(".focusgroup");if(!t)return;const s=ou(t);let n=s.indexOf(e.target);if(n<0)return;const i=t.getAttribute("focusCols");if(e.key=="g"||e.key=="G")e.shiftKey?n=s.length-1:Date.now()-go<200?(n=0,go=null):go=Date.now();else if(i){let o=Math.floor(n/i),r=n%i;(e.key=="ArrowDown"||e.key=="j")&&o++,(e.key=="ArrowUp"||e.key=="k")&&o--,(e.key=="ArrowRight"||e.key=="l")&&r++,(e.key=="ArrowLeft"||e.key=="h")&&r--,o=Math.max(0,Math.min(o,Math.ceil(s.length/i)-1)),r=Math.max(0,Math.min(r,i-1)),n=o*i+r}else(e.key=="ArrowDown"||e.key=="j")&&n++,(e.key=="ArrowUp"||e.key=="k")&&n--,(e.key=="ArrowRight"||e.key=="l")&&n++,(e.key=="ArrowLeft"||e.key=="h")&&n--;n=Math.max(0,Math.min(n,s.length-1)),s.map((o,r)=>o.tabIndex=r==n?0:-1),s[n].focus()}function Vd(){[...document.querySelectorAll(".focusgroup")].map(t=>{const s=ou(t),n=s.filter(o=>o.tabIndex==0),i=n.length?s.indexOf(n[0]):0;s.map((o,r)=>o.tabIndex=r==i?0:-1)})}function ou(e){return[...e.querySelectorAll(Fd)].filter(t=>!t.matches(zd))}const ns=(e,t)=>{const s=e.__vccOpts||e;for(const[n,i]of t)s[n]=i;return s},Nd={class:"layoutRow"},$d={key:0,class:"label"},Hd={key:0,class:"icon"},jd={class:"field smooth layoutRow focusOutline"},Wd={key:0,class:"icon"},Ud=["title","placeholder"],Kd={__name:"InputText",props:Vo({label:{type:String,default:""},title:{type:String,default:""},placeholder:{type:String,default:""},insetIcon:{type:String,default:""},labelIcon:{type:String,default:""},align:{type:String,default:"left"}},{modelValue:{type:String,required:!0},modelModifiers:{}}),emits:["update:modelValue"],setup(e){tu(n=>({"3f579659":s.align}));const t=Hc(e,"modelValue"),s=e;return ss({binsize:null}),(n,i)=>(Y(),at("label",Nd,[s.label?(Y(),at("p",$d,[s.labelIcon?(Y(),at("span",Hd,wt(s.labelIcon),1)):Pe("",!0),wr(" "+wt(s.label),1)])):Pe("",!0),j("div",jd,[s.insetIcon?(Y(),at("span",Wd,wt(s.insetIcon),1)):Pe("",!0),jf(j("input",{"onUpdate:modelValue":i[0]||(i[0]=o=>t.value=o),title:s.title,placeholder:s.placeholder},null,8,Ud),[[xd,t.value]])])]))}},Yo=ns(Kd,[["__scopeId","data-v-4a082148"]]),Yd={class:"layoutCol focusgroup"},Xd={class:"header layoutRow"},qd={key:0},Gd={key:0,class:"icon spinner"},Zd={class:"inputs layoutRow"},Jd={class:"list layoutCol"},Qd=["onClick","onKeydown"],tp={key:0,class:"icon filled"},ep={key:1,class:"icon"},sp=["innerHTML"],np={__name:"Selector",props:Vo({title:{type:String,default:""},items:{type:Array,required:!0},loading:{type:Boolean,default:!1},reverse:{type:Boolean,default:!1},storageKey:{type:String,default:""}},{modelValue:{type:Set,required:!0},modelModifiers:{}}),emits:Vo(["select","unselect"],["update:modelValue"]),setup(e,{emit:t}){const s=e,n=t,i=Hc(e,"modelValue"),o=bt(ze(s.storageKey,""));pt(()=>o,p=>Fe(s.storageKey,p,!0));const r=Mt(()=>{const p=s.items.sort();return s.reverse?p.toReversed():p}),a=Mt(()=>new Set(s.items)),l=Mt(()=>{const p=[...i.value].filter(y=>!a.value.has(y)),b=o.value||".*",x=r.value.filter(y=>i.value.has(y)||new RegExp(b,"g").test(y));return[...p,...x].map(y=>({item:y,name:c(y),selected:i.value.has(y),missing:!a.value.has(y)}))});function c(p){return p.replace(/_/g,"_<wbr>").replace(/\./g,"<wbr>.").replace(/:/g,":<br>")}function u(p){i.value.add(p),n("select",p)}function f(p){i.value.delete(p),n("unselect",p)}function h(p){i.value.has(p)?f(p):u(p)}function d(){let p=0;for(const b of l.value)if(!b.selected&&(u(b.item),p++,p>=10))break}function m(){for(const p of i.value)h(p)}return(p,b)=>(Y(),at("div",Yd,[j("div",Xd,[s.title.length?(Y(),at("h2",qd,wt(s.title),1)):Pe("",!0),gt(Jc,null,{default:Ze(()=>[s.loading?(Y(),at("span",Gd,"progress_activity")):Pe("",!0)]),_:1})]),j("div",Zd,[gt(Yo,{modelValue:o.value,"onUpdate:modelValue":b[0]||(b[0]=x=>o.value=x),class:"input nofocusgroup",insetIcon:"search"},null,8,["modelValue"]),j("button",{class:"btn icon",onClick:d,title:"Select 10 more"},"check"),j("button",{class:"btn icon",onClick:m,title:"Unselect all"},"close")]),j("div",Jd,[(Y(!0),at(xt,null,En(l.value,x=>(Y(),at("div",null,[j("button",{class:Ge(["entry smooth focusOutline",{selected:x.selected,missing:x.missing}]),onClick:y=>h(x.item),onKeydown:[Pi(Ci(y=>h(x.item),["exact","prevent"]),["space"]),Pi(Ci(y=>h(x.item),["exact","prevent"]),["enter"])]},[x.selected?(Y(),at("span",tp,"check_box")):(Y(),at("span",ep,"check_box_outline_blank")),j("span",{innerHTML:x.name,class:"name"},null,8,sp)],42,Qd)]))),256))])]))}},mo=ns(np,[["__scopeId","data-v-291509a8"]]),ip={class:"options layoutCol"},op={__name:"Options",setup(e){const t=ss({binsize:G.options.binsize?G.options.binsize.toString():"",stepsel:G.options.stepsel?G.options.stepsel.toString():""});return pt(()=>t.binsize,s=>G.options.binsize=s?parseFloat(s):null),pt(()=>t.stepsel,s=>G.options.stepsel=s?parseInt(s):null),(s,n)=>(Y(),at("div",ip,[n[2]||(n[2]=j("h2",null,"Options",-1)),gt(Yo,{modelValue:t.binsize,"onUpdate:modelValue":n[0]||(n[0]=i=>t.binsize=i),class:"input",label:"Binning",align:"center",placeholder:"number",labelIcon:"leaderboard"},null,8,["modelValue"]),gt(Yo,{modelValue:t.stepsel,"onUpdate:modelValue":n[1]||(n[1]=i=>t.stepsel=i),class:"input",label:"Step",align:"center",placeholder:"number",labelIcon:"location_on"},null,8,["modelValue"])]))}},rp=ns(op,[["__scopeId","data-v-53450cc9"]]),ap=["onKeydown"],lp={class:"header"},cp={key:0,class:"icon spinner"},up={class:"buttons"},fp={__name:"Card",props:{name:{type:String,required:!0},loading:{type:Boolean,default:!1},scrollX:{type:Boolean,default:!1},scrollY:{type:Boolean,default:!0}},setup(e){const t=e,s=ss({zoom:!1});function n(){s.zoom=!s.zoom}return(i,o)=>(Y(),at("div",{class:Ge(["card layoutCol focusable focusOutline",{zoom:s.zoom,focusgroup:s.zoom}]),onKeydown:[Pi(Ci(n,["exact","prevent"]),["f"]),o[0]||(o[0]=Pi(Ci(r=>s.zoom=!1,["prevent"]),["esc"]))],tabindex:"-1"},[j("div",lp,[j("h2",null,wt(t.name),1),gt(Jc,null,{default:Ze(()=>[t.loading?(Y(),at("span",cp,"progress_activity")):Pe("",!0)]),_:1}),j("div",up,[Gr(i.$slots,"buttons",{},void 0),j("span",{class:"btn icon",onClick:n,title:"Fullscreen"},"fullscreen")])]),j("div",{class:Ge(["content",{scrollX:e.scrollX,scrollY:e.scrollY}])},[Gr(i.$slots,"default",{},void 0)],2)],42,ap))}},Zi=ns(fp,[["__scopeId","data-v-92010c60"]]);function hp(e){const t=bt({}),s=bt({});function n(l,c=!1){if((l in t.value||l in s.value)&&!c)return;a(l);const u=e(l);u instanceof Promise?(u.canceled=!1,s.value[l]=value,u.then(f=>{u.canceled||(t.value[l]=zs(f))}),u.finally(()=>{u.canceled||s.value.delete(l)})):t.value[l]=zs(u)}function i(l){a(l),l in t.value&&delete t.value[l]}function o(l,c=!1){const u=new Set([...l]),f=[...Object.keys(t.value),...Object.keys(s.value)];for(const h of f)u.has(h)||i(h);for(const h of l)n(h,c)}function r(){const l=[...Object.keys(t.value),...Object.keys(s.value)];for(const c of l)n(c,!0)}function a(l){l in s.value&&(s.value[l].canceled=!0,delete s.value[l])}return t.loading=s,t.add=n,t.remove=i,t.setTo=o,t.refresh=r,t.cancel=a,t}/*!
|
|
18
|
+
* @kurkle/color v0.3.2
|
|
19
|
+
* https://github.com/kurkle/color#readme
|
|
20
|
+
* (c) 2023 Jukka Kurkela
|
|
21
|
+
* Released under the MIT License
|
|
22
|
+
*/function Fn(e){return e+.5|0}const Ue=(e,t,s)=>Math.max(Math.min(e,s),t);function en(e){return Ue(Fn(e*2.55),0,255)}function qe(e){return Ue(Fn(e*255),0,255)}function Se(e){return Ue(Fn(e/2.55)/100,0,1)}function Ca(e){return Ue(Fn(e*100),0,100)}const Qt={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},Xo=[..."0123456789ABCDEF"],dp=e=>Xo[e&15],pp=e=>Xo[(e&240)>>4]+Xo[e&15],jn=e=>(e&240)>>4===(e&15),gp=e=>jn(e.r)&&jn(e.g)&&jn(e.b)&&jn(e.a);function mp(e){var t=e.length,s;return e[0]==="#"&&(t===4||t===5?s={r:255&Qt[e[1]]*17,g:255&Qt[e[2]]*17,b:255&Qt[e[3]]*17,a:t===5?Qt[e[4]]*17:255}:(t===7||t===9)&&(s={r:Qt[e[1]]<<4|Qt[e[2]],g:Qt[e[3]]<<4|Qt[e[4]],b:Qt[e[5]]<<4|Qt[e[6]],a:t===9?Qt[e[7]]<<4|Qt[e[8]]:255})),s}const bp=(e,t)=>e<255?t(e):"";function _p(e){var t=gp(e)?dp:pp;return e?"#"+t(e.r)+t(e.g)+t(e.b)+bp(e.a,t):void 0}const xp=/^(hsla?|hwb|hsv)\(\s*([-+.e\d]+)(?:deg)?[\s,]+([-+.e\d]+)%[\s,]+([-+.e\d]+)%(?:[\s,]+([-+.e\d]+)(%)?)?\s*\)$/;function ru(e,t,s){const n=t*Math.min(s,1-s),i=(o,r=(o+e/30)%12)=>s-n*Math.max(Math.min(r-3,9-r,1),-1);return[i(0),i(8),i(4)]}function yp(e,t,s){const n=(i,o=(i+e/60)%6)=>s-s*t*Math.max(Math.min(o,4-o,1),0);return[n(5),n(3),n(1)]}function vp(e,t,s){const n=ru(e,1,.5);let i;for(t+s>1&&(i=1/(t+s),t*=i,s*=i),i=0;i<3;i++)n[i]*=1-t-s,n[i]+=t;return n}function wp(e,t,s,n,i){return e===i?(t-s)/n+(t<s?6:0):t===i?(s-e)/n+2:(e-t)/n+4}function Cr(e){const s=e.r/255,n=e.g/255,i=e.b/255,o=Math.max(s,n,i),r=Math.min(s,n,i),a=(o+r)/2;let l,c,u;return o!==r&&(u=o-r,c=a>.5?u/(2-o-r):u/(o+r),l=wp(s,n,i,u,o),l=l*60+.5),[l|0,c||0,a]}function Pr(e,t,s,n){return(Array.isArray(t)?e(t[0],t[1],t[2]):e(t,s,n)).map(qe)}function Tr(e,t,s){return Pr(ru,e,t,s)}function Sp(e,t,s){return Pr(vp,e,t,s)}function Mp(e,t,s){return Pr(yp,e,t,s)}function au(e){return(e%360+360)%360}function kp(e){const t=xp.exec(e);let s=255,n;if(!t)return;t[5]!==n&&(s=t[6]?en(+t[5]):qe(+t[5]));const i=au(+t[2]),o=+t[3]/100,r=+t[4]/100;return t[1]==="hwb"?n=Sp(i,o,r):t[1]==="hsv"?n=Mp(i,o,r):n=Tr(i,o,r),{r:n[0],g:n[1],b:n[2],a:s}}function Cp(e,t){var s=Cr(e);s[0]=au(s[0]+t),s=Tr(s),e.r=s[0],e.g=s[1],e.b=s[2]}function Pp(e){if(!e)return;const t=Cr(e),s=t[0],n=Ca(t[1]),i=Ca(t[2]);return e.a<255?`hsla(${s}, ${n}%, ${i}%, ${Se(e.a)})`:`hsl(${s}, ${n}%, ${i}%)`}const Pa={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"},Ta={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"};function Tp(){const e={},t=Object.keys(Ta),s=Object.keys(Pa);let n,i,o,r,a;for(n=0;n<t.length;n++){for(r=a=t[n],i=0;i<s.length;i++)o=s[i],a=a.replace(o,Pa[o]);o=parseInt(Ta[r],16),e[a]=[o>>16&255,o>>8&255,o&255]}return e}let Wn;function Op(e){Wn||(Wn=Tp(),Wn.transparent=[0,0,0,0]);const t=Wn[e.toLowerCase()];return t&&{r:t[0],g:t[1],b:t[2],a:t.length===4?t[3]:255}}const Ap=/^rgba?\(\s*([-+.\d]+)(%)?[\s,]+([-+.e\d]+)(%)?[\s,]+([-+.e\d]+)(%)?(?:[\s,/]+([-+.e\d]+)(%)?)?\s*\)$/;function Dp(e){const t=Ap.exec(e);let s=255,n,i,o;if(t){if(t[7]!==n){const r=+t[7];s=t[8]?en(r):Ue(r*255,0,255)}return n=+t[1],i=+t[3],o=+t[5],n=255&(t[2]?en(n):Ue(n,0,255)),i=255&(t[4]?en(i):Ue(i,0,255)),o=255&(t[6]?en(o):Ue(o,0,255)),{r:n,g:i,b:o,a:s}}}function Ep(e){return e&&(e.a<255?`rgba(${e.r}, ${e.g}, ${e.b}, ${Se(e.a)})`:`rgb(${e.r}, ${e.g}, ${e.b})`)}const bo=e=>e<=.0031308?e*12.92:Math.pow(e,1/2.4)*1.055-.055,Ts=e=>e<=.04045?e/12.92:Math.pow((e+.055)/1.055,2.4);function Ip(e,t,s){const n=Ts(Se(e.r)),i=Ts(Se(e.g)),o=Ts(Se(e.b));return{r:qe(bo(n+s*(Ts(Se(t.r))-n))),g:qe(bo(i+s*(Ts(Se(t.g))-i))),b:qe(bo(o+s*(Ts(Se(t.b))-o))),a:e.a+s*(t.a-e.a)}}function Un(e,t,s){if(e){let n=Cr(e);n[t]=Math.max(0,Math.min(n[t]+n[t]*s,t===0?360:1)),n=Tr(n),e.r=n[0],e.g=n[1],e.b=n[2]}}function lu(e,t){return e&&Object.assign(t||{},e)}function Oa(e){var t={r:0,g:0,b:0,a:255};return Array.isArray(e)?e.length>=3&&(t={r:e[0],g:e[1],b:e[2],a:255},e.length>3&&(t.a=qe(e[3]))):(t=lu(e,{r:0,g:0,b:0,a:1}),t.a=qe(t.a)),t}function Rp(e){return e.charAt(0)==="r"?Dp(e):kp(e)}class kn{constructor(t){if(t instanceof kn)return t;const s=typeof t;let n;s==="object"?n=Oa(t):s==="string"&&(n=mp(t)||Op(t)||Rp(t)),this._rgb=n,this._valid=!!n}get valid(){return this._valid}get rgb(){var t=lu(this._rgb);return t&&(t.a=Se(t.a)),t}set rgb(t){this._rgb=Oa(t)}rgbString(){return this._valid?Ep(this._rgb):void 0}hexString(){return this._valid?_p(this._rgb):void 0}hslString(){return this._valid?Pp(this._rgb):void 0}mix(t,s){if(t){const n=this.rgb,i=t.rgb;let o;const r=s===o?.5:s,a=2*r-1,l=n.a-i.a,c=((a*l===-1?a:(a+l)/(1+a*l))+1)/2;o=1-c,n.r=255&c*n.r+o*i.r+.5,n.g=255&c*n.g+o*i.g+.5,n.b=255&c*n.b+o*i.b+.5,n.a=r*n.a+(1-r)*i.a,this.rgb=n}return this}interpolate(t,s){return t&&(this._rgb=Ip(this._rgb,t._rgb,s)),this}clone(){return new kn(this.rgb)}alpha(t){return this._rgb.a=qe(t),this}clearer(t){const s=this._rgb;return s.a*=1-t,this}greyscale(){const t=this._rgb,s=Fn(t.r*.3+t.g*.59+t.b*.11);return t.r=t.g=t.b=s,this}opaquer(t){const s=this._rgb;return s.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 Un(this._rgb,2,t),this}darken(t){return Un(this._rgb,2,-t),this}saturate(t){return Un(this._rgb,1,t),this}desaturate(t){return Un(this._rgb,1,-t),this}rotate(t){return Cp(this._rgb,t),this}}/*!
|
|
23
|
+
* Chart.js v4.4.5
|
|
24
|
+
* https://www.chartjs.org
|
|
25
|
+
* (c) 2024 Chart.js Contributors
|
|
26
|
+
* Released under the MIT License
|
|
27
|
+
*/function xe(){}const Lp=(()=>{let e=0;return()=>e++})();function ct(e){return e===null||typeof e>"u"}function St(e){if(Array.isArray&&Array.isArray(e))return!0;const t=Object.prototype.toString.call(e);return t.slice(0,7)==="[object"&&t.slice(-6)==="Array]"}function tt(e){return e!==null&&Object.prototype.toString.call(e)==="[object Object]"}function It(e){return(typeof e=="number"||e instanceof Number)&&isFinite(+e)}function Kt(e,t){return It(e)?e:t}function lt(e,t){return typeof e>"u"?t:e}const Fp=(e,t)=>typeof e=="string"&&e.endsWith("%")?parseFloat(e)/100*t:+e;function mt(e,t,s){if(e&&typeof e.call=="function")return e.apply(s,t)}function rt(e,t,s,n){let i,o,r;if(St(e))for(o=e.length,i=0;i<o;i++)t.call(s,e[i],i);else if(tt(e))for(r=Object.keys(e),o=r.length,i=0;i<o;i++)t.call(s,e[r[i]],r[i])}function Oi(e,t){let s,n,i,o;if(!e||!t||e.length!==t.length)return!1;for(s=0,n=e.length;s<n;++s)if(i=e[s],o=t[s],i.datasetIndex!==o.datasetIndex||i.index!==o.index)return!1;return!0}function Ai(e){if(St(e))return e.map(Ai);if(tt(e)){const t=Object.create(null),s=Object.keys(e),n=s.length;let i=0;for(;i<n;++i)t[s[i]]=Ai(e[s[i]]);return t}return e}function cu(e){return["__proto__","prototype","constructor"].indexOf(e)===-1}function zp(e,t,s,n){if(!cu(e))return;const i=t[e],o=s[e];tt(i)&&tt(o)?Cn(i,o,n):t[e]=Ai(o)}function Cn(e,t,s){const n=St(t)?t:[t],i=n.length;if(!tt(e))return e;s=s||{};const o=s.merger||zp;let r;for(let a=0;a<i;++a){if(r=n[a],!tt(r))continue;const l=Object.keys(r);for(let c=0,u=l.length;c<u;++c)o(l[c],e,r,s)}return e}function fn(e,t){return Cn(e,t,{merger:Bp})}function Bp(e,t,s){if(!cu(e))return;const n=t[e],i=s[e];tt(n)&&tt(i)?fn(n,i):Object.prototype.hasOwnProperty.call(t,e)||(t[e]=Ai(i))}const Aa={"":e=>e,x:e=>e.x,y:e=>e.y};function Vp(e){const t=e.split("."),s=[];let n="";for(const i of t)n+=i,n.endsWith("\\")?n=n.slice(0,-1)+".":(s.push(n),n="");return s}function Np(e){const t=Vp(e);return s=>{for(const n of t){if(n==="")break;s=s&&s[n]}return s}}function Bs(e,t){return(Aa[t]||(Aa[t]=Np(t)))(e)}function Or(e){return e.charAt(0).toUpperCase()+e.slice(1)}const Pn=e=>typeof e<"u",Qe=e=>typeof e=="function",Da=(e,t)=>{if(e.size!==t.size)return!1;for(const s of e)if(!t.has(s))return!1;return!0};function $p(e){return e.type==="mouseup"||e.type==="click"||e.type==="contextmenu"}const kt=Math.PI,Te=2*kt,Hp=Te+kt,Di=Number.POSITIVE_INFINITY,jp=kt/180,ie=kt/2,cs=kt/4,Ea=kt*2/3,Ke=Math.log10,me=Math.sign;function hn(e,t,s){return Math.abs(e-t)<s}function Ia(e){const t=Math.round(e);e=hn(e,t,e/1e3)?t:e;const s=Math.pow(10,Math.floor(Ke(e))),n=e/s;return(n<=1?1:n<=2?2:n<=5?5:10)*s}function Wp(e){const t=[],s=Math.sqrt(e);let n;for(n=1;n<s;n++)e%n===0&&(t.push(n),t.push(e/n));return s===(s|0)&&t.push(s),t.sort((i,o)=>i-o).pop(),t}function Vs(e){return!isNaN(parseFloat(e))&&isFinite(e)}function Up(e,t){const s=Math.round(e);return s-t<=e&&s+t>=e}function uu(e,t,s){let n,i,o;for(n=0,i=e.length;n<i;n++)o=e[n][s],isNaN(o)||(t.min=Math.min(t.min,o),t.max=Math.max(t.max,o))}function ms(e){return e*(kt/180)}function Kp(e){return e*(180/kt)}function Ra(e){if(!It(e))return;let t=1,s=0;for(;Math.round(e*t)/t!==e;)t*=10,s++;return s}function Yp(e,t){const s=t.x-e.x,n=t.y-e.y,i=Math.sqrt(s*s+n*n);let o=Math.atan2(n,s);return o<-.5*kt&&(o+=Te),{angle:o,distance:i}}function qo(e,t){return Math.sqrt(Math.pow(t.x-e.x,2)+Math.pow(t.y-e.y,2))}function Xp(e,t){return(e-t+Hp)%Te-kt}function $e(e){return(e%Te+Te)%Te}function fu(e,t,s,n){const i=$e(e),o=$e(t),r=$e(s),a=$e(o-i),l=$e(r-i),c=$e(i-o),u=$e(i-r);return i===o||i===r||n&&o===r||a>l&&c<u}function qt(e,t,s){return Math.max(t,Math.min(s,e))}function qp(e){return qt(e,-32768,32767)}function Go(e,t,s,n=1e-6){return e>=Math.min(t,s)-n&&e<=Math.max(t,s)+n}function Ar(e,t,s){s=s||(r=>e[r]<t);let n=e.length-1,i=0,o;for(;n-i>1;)o=i+n>>1,s(o)?i=o:n=o;return{lo:i,hi:n}}const bs=(e,t,s,n)=>Ar(e,s,n?i=>{const o=e[i][t];return o<s||o===s&&e[i+1][t]===s}:i=>e[i][t]<s),Gp=(e,t,s)=>Ar(e,s,n=>e[n][t]>=s);function Zp(e,t,s){let n=0,i=e.length;for(;n<i&&e[n]<t;)n++;for(;i>n&&e[i-1]>s;)i--;return n>0||i<e.length?e.slice(n,i):e}const hu=["push","pop","shift","splice","unshift"];function Jp(e,t){if(e._chartjs){e._chartjs.listeners.push(t);return}Object.defineProperty(e,"_chartjs",{configurable:!0,enumerable:!1,value:{listeners:[t]}}),hu.forEach(s=>{const n="_onData"+Or(s),i=e[s];Object.defineProperty(e,s,{configurable:!0,enumerable:!1,value(...o){const r=i.apply(this,o);return e._chartjs.listeners.forEach(a=>{typeof a[n]=="function"&&a[n](...o)}),r}})})}function La(e,t){const s=e._chartjs;if(!s)return;const n=s.listeners,i=n.indexOf(t);i!==-1&&n.splice(i,1),!(n.length>0)&&(hu.forEach(o=>{delete e[o]}),delete e._chartjs)}function du(e){const t=new Set(e);return t.size===e.length?e:Array.from(t)}const pu=function(){return typeof window>"u"?function(e){return e()}:window.requestAnimationFrame}();function gu(e,t){let s=[],n=!1;return function(...i){s=i,n||(n=!0,pu.call(window,()=>{n=!1,e.apply(t,s)}))}}function Qp(e,t){let s;return function(...n){return t?(clearTimeout(s),s=setTimeout(e,t,n)):e.apply(this,n),t}}const mu=e=>e==="start"?"left":e==="end"?"right":"center",dn=(e,t,s)=>e==="start"?t:e==="end"?s:(t+s)/2;function bu(e,t,s){const n=t.length;let i=0,o=n;if(e._sorted){const{iScale:r,_parsed:a}=e,l=r.axis,{min:c,max:u,minDefined:f,maxDefined:h}=r.getUserBounds();f&&(i=qt(Math.min(bs(a,l,c).lo,s?n:bs(t,l,r.getPixelForValue(c)).lo),0,n-1)),h?o=qt(Math.max(bs(a,r.axis,u,!0).hi+1,s?0:bs(t,l,r.getPixelForValue(u),!0).hi+1),i,n)-i:o=n-i}return{start:i,count:o}}function _u(e){const{xScale:t,yScale:s,_scaleRanges:n}=e,i={xmin:t.min,xmax:t.max,ymin:s.min,ymax:s.max};if(!n)return e._scaleRanges=i,!0;const o=n.xmin!==t.min||n.xmax!==t.max||n.ymin!==s.min||n.ymax!==s.max;return Object.assign(n,i),o}const Kn=e=>e===0||e===1,Fa=(e,t,s)=>-(Math.pow(2,10*(e-=1))*Math.sin((e-t)*Te/s)),za=(e,t,s)=>Math.pow(2,-10*e)*Math.sin((e-t)*Te/s)+1,pn={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=>-Math.cos(e*ie)+1,easeOutSine:e=>Math.sin(e*ie),easeInOutSine:e=>-.5*(Math.cos(kt*e)-1),easeInExpo:e=>e===0?0:Math.pow(2,10*(e-1)),easeOutExpo:e=>e===1?1:-Math.pow(2,-10*e)+1,easeInOutExpo:e=>Kn(e)?e:e<.5?.5*Math.pow(2,10*(e*2-1)):.5*(-Math.pow(2,-10*(e*2-1))+2),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=>Kn(e)?e:Fa(e,.075,.3),easeOutElastic:e=>Kn(e)?e:za(e,.075,.3),easeInOutElastic(e){return Kn(e)?e:e<.5?.5*Fa(e*2,.1125,.45):.5+.5*za(e*2-1,.1125,.45)},easeInBack(e){return e*e*((1.70158+1)*e-1.70158)},easeOutBack(e){return(e-=1)*e*((1.70158+1)*e+1.70158)+1},easeInOutBack(e){let t=1.70158;return(e/=.5)<1?.5*(e*e*(((t*=1.525)+1)*e-t)):.5*((e-=2)*e*(((t*=1.525)+1)*e+t)+2)},easeInBounce:e=>1-pn.easeOutBounce(1-e),easeOutBounce(e){return e<1/2.75?7.5625*e*e:e<2/2.75?7.5625*(e-=1.5/2.75)*e+.75:e<2.5/2.75?7.5625*(e-=2.25/2.75)*e+.9375:7.5625*(e-=2.625/2.75)*e+.984375},easeInOutBounce:e=>e<.5?pn.easeInBounce(e*2)*.5:pn.easeOutBounce(e*2-1)*.5+.5};function Dr(e){if(e&&typeof e=="object"){const t=e.toString();return t==="[object CanvasPattern]"||t==="[object CanvasGradient]"}return!1}function Ba(e){return Dr(e)?e:new kn(e)}function _o(e){return Dr(e)?e:new kn(e).saturate(.5).darken(.1).hexString()}const tg=["x","y","borderWidth","radius","tension"],eg=["color","borderColor","backgroundColor"];function sg(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:t=>t!=="onProgress"&&t!=="onComplete"&&t!=="fn"}),e.set("animations",{colors:{type:"color",properties:eg},numbers:{type:"number",properties:tg}}),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:t=>t|0}}}})}function ng(e){e.set("layout",{autoPadding:!0,padding:{top:0,right:0,bottom:0,left:0}})}const Va=new Map;function ig(e,t){t=t||{};const s=e+JSON.stringify(t);let n=Va.get(s);return n||(n=new Intl.NumberFormat(e,t),Va.set(s,n)),n}function Er(e,t,s){return ig(t,s).format(e)}const xu={values(e){return St(e)?e:""+e},numeric(e,t,s){if(e===0)return"0";const n=this.chart.options.locale;let i,o=e;if(s.length>1){const c=Math.max(Math.abs(s[0].value),Math.abs(s[s.length-1].value));(c<1e-4||c>1e15)&&(i="scientific"),o=og(e,s)}const r=Ke(Math.abs(o)),a=isNaN(r)?1:Math.max(Math.min(-1*Math.floor(r),20),0),l={notation:i,minimumFractionDigits:a,maximumFractionDigits:a};return Object.assign(l,this.options.ticks.format),Er(e,n,l)},logarithmic(e,t,s){if(e===0)return"0";const n=s[t].significand||e/Math.pow(10,Math.floor(Ke(e)));return[1,2,3,5,10,15].includes(n)||t>.8*s.length?xu.numeric.call(this,e,t,s):""}};function og(e,t){let s=t.length>3?t[2].value-t[1].value:t[1].value-t[0].value;return Math.abs(s)>=1&&e!==Math.floor(e)&&(s=e-Math.floor(e)),s}var Ir={formatters:xu};function rg(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:(t,s)=>s.lineWidth,tickColor:(t,s)=>s.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:Ir.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:t=>!t.startsWith("before")&&!t.startsWith("after")&&t!=="callback"&&t!=="parser",_indexable:t=>t!=="borderDash"&&t!=="tickBorderDash"&&t!=="dash"}),e.describe("scales",{_fallback:"scale"}),e.describe("scale.ticks",{_scriptable:t=>t!=="backdropPadding"&&t!=="callback",_indexable:t=>t!=="backdropPadding"})}const Ss=Object.create(null),Zo=Object.create(null);function gn(e,t){if(!t)return e;const s=t.split(".");for(let n=0,i=s.length;n<i;++n){const o=s[n];e=e[o]||(e[o]=Object.create(null))}return e}function xo(e,t,s){return typeof t=="string"?Cn(gn(e,t),s):Cn(gn(e,""),t)}class ag{constructor(t,s){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=n=>n.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=(n,i)=>_o(i.backgroundColor),this.hoverBorderColor=(n,i)=>_o(i.borderColor),this.hoverColor=(n,i)=>_o(i.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(s)}set(t,s){return xo(this,t,s)}get(t){return gn(this,t)}describe(t,s){return xo(Zo,t,s)}override(t,s){return xo(Ss,t,s)}route(t,s,n,i){const o=gn(this,t),r=gn(this,n),a="_"+s;Object.defineProperties(o,{[a]:{value:o[s],writable:!0},[s]:{enumerable:!0,get(){const l=this[a],c=r[i];return tt(l)?Object.assign({},c,l):lt(l,c)},set(l){this[a]=l}}})}apply(t){t.forEach(s=>s(this))}}var yt=new ag({_scriptable:e=>!e.startsWith("on"),_indexable:e=>e!=="events",hover:{_fallback:"interaction"},interaction:{_scriptable:!1,_indexable:!1}},[sg,ng,rg]);function lg(e){return!e||ct(e.size)||ct(e.family)?null:(e.style?e.style+" ":"")+(e.weight?e.weight+" ":"")+e.size+"px "+e.family}function Na(e,t,s,n,i){let o=t[i];return o||(o=t[i]=e.measureText(i).width,s.push(i)),o>n&&(n=o),n}function us(e,t,s){const n=e.currentDevicePixelRatio,i=s!==0?Math.max(s/2,.5):0;return Math.round((t-i)*n)/n+i}function $a(e,t){!t&&!e||(t=t||e.getContext("2d"),t.save(),t.resetTransform(),t.clearRect(0,0,e.width,e.height),t.restore())}function Jo(e,t,s,n){cg(e,t,s,n)}function cg(e,t,s,n,i){let o,r,a,l,c,u,f,h;const d=t.pointStyle,m=t.rotation,p=t.radius;let b=(m||0)*jp;if(d&&typeof d=="object"&&(o=d.toString(),o==="[object HTMLImageElement]"||o==="[object HTMLCanvasElement]")){e.save(),e.translate(s,n),e.rotate(b),e.drawImage(d,-d.width/2,-d.height/2,d.width,d.height),e.restore();return}if(!(isNaN(p)||p<=0)){switch(e.beginPath(),d){default:e.arc(s,n,p,0,Te),e.closePath();break;case"triangle":u=p,e.moveTo(s+Math.sin(b)*u,n-Math.cos(b)*p),b+=Ea,e.lineTo(s+Math.sin(b)*u,n-Math.cos(b)*p),b+=Ea,e.lineTo(s+Math.sin(b)*u,n-Math.cos(b)*p),e.closePath();break;case"rectRounded":c=p*.516,l=p-c,r=Math.cos(b+cs)*l,f=Math.cos(b+cs)*l,a=Math.sin(b+cs)*l,h=Math.sin(b+cs)*l,e.arc(s-f,n-a,c,b-kt,b-ie),e.arc(s+h,n-r,c,b-ie,b),e.arc(s+f,n+a,c,b,b+ie),e.arc(s-h,n+r,c,b+ie,b+kt),e.closePath();break;case"rect":if(!m){l=Math.SQRT1_2*p,u=l,e.rect(s-u,n-l,2*u,2*l);break}b+=cs;case"rectRot":f=Math.cos(b)*p,r=Math.cos(b)*p,a=Math.sin(b)*p,h=Math.sin(b)*p,e.moveTo(s-f,n-a),e.lineTo(s+h,n-r),e.lineTo(s+f,n+a),e.lineTo(s-h,n+r),e.closePath();break;case"crossRot":b+=cs;case"cross":f=Math.cos(b)*p,r=Math.cos(b)*p,a=Math.sin(b)*p,h=Math.sin(b)*p,e.moveTo(s-f,n-a),e.lineTo(s+f,n+a),e.moveTo(s+h,n-r),e.lineTo(s-h,n+r);break;case"star":f=Math.cos(b)*p,r=Math.cos(b)*p,a=Math.sin(b)*p,h=Math.sin(b)*p,e.moveTo(s-f,n-a),e.lineTo(s+f,n+a),e.moveTo(s+h,n-r),e.lineTo(s-h,n+r),b+=cs,f=Math.cos(b)*p,r=Math.cos(b)*p,a=Math.sin(b)*p,h=Math.sin(b)*p,e.moveTo(s-f,n-a),e.lineTo(s+f,n+a),e.moveTo(s+h,n-r),e.lineTo(s-h,n+r);break;case"line":r=Math.cos(b)*p,a=Math.sin(b)*p,e.moveTo(s-r,n-a),e.lineTo(s+r,n+a);break;case"dash":e.moveTo(s,n),e.lineTo(s+Math.cos(b)*p,n+Math.sin(b)*p);break;case!1:e.closePath();break}e.fill(),t.borderWidth>0&&e.stroke()}}function Tn(e,t,s){return s=s||.5,!t||e&&e.x>t.left-s&&e.x<t.right+s&&e.y>t.top-s&&e.y<t.bottom+s}function yu(e,t){e.save(),e.beginPath(),e.rect(t.left,t.top,t.right-t.left,t.bottom-t.top),e.clip()}function vu(e){e.restore()}function ug(e,t,s,n,i){if(!t)return e.lineTo(s.x,s.y);if(i==="middle"){const o=(t.x+s.x)/2;e.lineTo(o,t.y),e.lineTo(o,s.y)}else i==="after"!=!!n?e.lineTo(t.x,s.y):e.lineTo(s.x,t.y);e.lineTo(s.x,s.y)}function fg(e,t,s,n){if(!t)return e.lineTo(s.x,s.y);e.bezierCurveTo(n?t.cp1x:t.cp2x,n?t.cp1y:t.cp2y,n?s.cp2x:s.cp1x,n?s.cp2y:s.cp1y,s.x,s.y)}function hg(e,t){t.translation&&e.translate(t.translation[0],t.translation[1]),ct(t.rotation)||e.rotate(t.rotation),t.color&&(e.fillStyle=t.color),t.textAlign&&(e.textAlign=t.textAlign),t.textBaseline&&(e.textBaseline=t.textBaseline)}function dg(e,t,s,n,i){if(i.strikethrough||i.underline){const o=e.measureText(n),r=t-o.actualBoundingBoxLeft,a=t+o.actualBoundingBoxRight,l=s-o.actualBoundingBoxAscent,c=s+o.actualBoundingBoxDescent,u=i.strikethrough?(l+c)/2:c;e.strokeStyle=e.fillStyle,e.beginPath(),e.lineWidth=i.decorationWidth||2,e.moveTo(r,u),e.lineTo(a,u),e.stroke()}}function pg(e,t){const s=e.fillStyle;e.fillStyle=t.color,e.fillRect(t.left,t.top,t.width,t.height),e.fillStyle=s}function Qo(e,t,s,n,i,o={}){const r=St(t)?t:[t],a=o.strokeWidth>0&&o.strokeColor!=="";let l,c;for(e.save(),e.font=i.string,hg(e,o),l=0;l<r.length;++l)c=r[l],o.backdrop&&pg(e,o.backdrop),a&&(o.strokeColor&&(e.strokeStyle=o.strokeColor),ct(o.strokeWidth)||(e.lineWidth=o.strokeWidth),e.strokeText(c,s,n,o.maxWidth)),e.fillText(c,s,n,o.maxWidth),dg(e,s,n,c,o),n+=Number(i.lineHeight);e.restore()}function tr(e,t){const{x:s,y:n,w:i,h:o,radius:r}=t;e.arc(s+r.topLeft,n+r.topLeft,r.topLeft,1.5*kt,kt,!0),e.lineTo(s,n+o-r.bottomLeft),e.arc(s+r.bottomLeft,n+o-r.bottomLeft,r.bottomLeft,kt,ie,!0),e.lineTo(s+i-r.bottomRight,n+o),e.arc(s+i-r.bottomRight,n+o-r.bottomRight,r.bottomRight,ie,0,!0),e.lineTo(s+i,n+r.topRight),e.arc(s+i-r.topRight,n+r.topRight,r.topRight,0,-ie,!0),e.lineTo(s+r.topLeft,n)}const gg=/^(normal|(\d+(?:\.\d+)?)(px|em|%)?)$/,mg=/^(normal|italic|initial|inherit|unset|(oblique( -?[0-9]?[0-9]deg)?))$/;function bg(e,t){const s=(""+e).match(gg);if(!s||s[1]==="normal")return t*1.2;switch(e=+s[2],s[3]){case"px":return e;case"%":e/=100;break}return t*e}const _g=e=>+e||0;function wu(e,t){const s={},n=tt(t),i=n?Object.keys(t):t,o=tt(e)?n?r=>lt(e[r],e[t[r]]):r=>e[r]:()=>e;for(const r of i)s[r]=_g(o(r));return s}function Su(e){return wu(e,{top:"y",right:"x",bottom:"y",left:"x"})}function mn(e){return wu(e,["topLeft","topRight","bottomLeft","bottomRight"])}function Ee(e){const t=Su(e);return t.width=t.left+t.right,t.height=t.top+t.bottom,t}function te(e,t){e=e||{},t=t||yt.font;let s=lt(e.size,t.size);typeof s=="string"&&(s=parseInt(s,10));let n=lt(e.style,t.style);n&&!(""+n).match(mg)&&(console.warn('Invalid font style specified: "'+n+'"'),n=void 0);const i={family:lt(e.family,t.family),lineHeight:bg(lt(e.lineHeight,t.lineHeight),s),size:s,style:n,weight:lt(e.weight,t.weight),string:""};return i.string=lg(i),i}function Yn(e,t,s,n){let i,o,r;for(i=0,o=e.length;i<o;++i)if(r=e[i],r!==void 0&&r!==void 0)return r}function xg(e,t,s){const{min:n,max:i}=e,o=Fp(t,(i-n)/2),r=(a,l)=>s&&a===0?0:a+l;return{min:r(n,-Math.abs(o)),max:r(i,o)}}function Ms(e,t){return Object.assign(Object.create(e),t)}function Rr(e,t=[""],s,n,i=()=>e[0]){const o=s||e;typeof n>"u"&&(n=Pu("_fallback",e));const r={[Symbol.toStringTag]:"Object",_cacheable:!0,_scopes:e,_rootScopes:o,_fallback:n,_getTarget:i,override:a=>Rr([a,...e],t,o,n)};return new Proxy(r,{deleteProperty(a,l){return delete a[l],delete a._keys,delete e[0][l],!0},get(a,l){return ku(a,l,()=>Pg(l,t,e,a))},getOwnPropertyDescriptor(a,l){return Reflect.getOwnPropertyDescriptor(a._scopes[0],l)},getPrototypeOf(){return Reflect.getPrototypeOf(e[0])},has(a,l){return ja(a).includes(l)},ownKeys(a){return ja(a)},set(a,l,c){const u=a._storage||(a._storage=i());return a[l]=u[l]=c,delete a._keys,!0}})}function Ns(e,t,s,n){const i={_cacheable:!1,_proxy:e,_context:t,_subProxy:s,_stack:new Set,_descriptors:Mu(e,n),setContext:o=>Ns(e,o,s,n),override:o=>Ns(e.override(o),t,s,n)};return new Proxy(i,{deleteProperty(o,r){return delete o[r],delete e[r],!0},get(o,r,a){return ku(o,r,()=>vg(o,r,a))},getOwnPropertyDescriptor(o,r){return o._descriptors.allKeys?Reflect.has(e,r)?{enumerable:!0,configurable:!0}:void 0:Reflect.getOwnPropertyDescriptor(e,r)},getPrototypeOf(){return Reflect.getPrototypeOf(e)},has(o,r){return Reflect.has(e,r)},ownKeys(){return Reflect.ownKeys(e)},set(o,r,a){return e[r]=a,delete o[r],!0}})}function Mu(e,t={scriptable:!0,indexable:!0}){const{_scriptable:s=t.scriptable,_indexable:n=t.indexable,_allKeys:i=t.allKeys}=e;return{allKeys:i,scriptable:s,indexable:n,isScriptable:Qe(s)?s:()=>s,isIndexable:Qe(n)?n:()=>n}}const yg=(e,t)=>e?e+Or(t):t,Lr=(e,t)=>tt(t)&&e!=="adapters"&&(Object.getPrototypeOf(t)===null||t.constructor===Object);function ku(e,t,s){if(Object.prototype.hasOwnProperty.call(e,t)||t==="constructor")return e[t];const n=s();return e[t]=n,n}function vg(e,t,s){const{_proxy:n,_context:i,_subProxy:o,_descriptors:r}=e;let a=n[t];return Qe(a)&&r.isScriptable(t)&&(a=wg(t,a,e,s)),St(a)&&a.length&&(a=Sg(t,a,e,r.isIndexable)),Lr(t,a)&&(a=Ns(a,i,o&&o[t],r)),a}function wg(e,t,s,n){const{_proxy:i,_context:o,_subProxy:r,_stack:a}=s;if(a.has(e))throw new Error("Recursion detected: "+Array.from(a).join("->")+"->"+e);a.add(e);let l=t(o,r||n);return a.delete(e),Lr(e,l)&&(l=Fr(i._scopes,i,e,l)),l}function Sg(e,t,s,n){const{_proxy:i,_context:o,_subProxy:r,_descriptors:a}=s;if(typeof o.index<"u"&&n(e))return t[o.index%t.length];if(tt(t[0])){const l=t,c=i._scopes.filter(u=>u!==l);t=[];for(const u of l){const f=Fr(c,i,e,u);t.push(Ns(f,o,r&&r[e],a))}}return t}function Cu(e,t,s){return Qe(e)?e(t,s):e}const Mg=(e,t)=>e===!0?t:typeof e=="string"?Bs(t,e):void 0;function kg(e,t,s,n,i){for(const o of t){const r=Mg(s,o);if(r){e.add(r);const a=Cu(r._fallback,s,i);if(typeof a<"u"&&a!==s&&a!==n)return a}else if(r===!1&&typeof n<"u"&&s!==n)return null}return!1}function Fr(e,t,s,n){const i=t._rootScopes,o=Cu(t._fallback,s,n),r=[...e,...i],a=new Set;a.add(n);let l=Ha(a,r,s,o||s,n);return l===null||typeof o<"u"&&o!==s&&(l=Ha(a,r,o,l,n),l===null)?!1:Rr(Array.from(a),[""],i,o,()=>Cg(t,s,n))}function Ha(e,t,s,n,i){for(;s;)s=kg(e,t,s,n,i);return s}function Cg(e,t,s){const n=e._getTarget();t in n||(n[t]={});const i=n[t];return St(i)&&tt(s)?s:i||{}}function Pg(e,t,s,n){let i;for(const o of t)if(i=Pu(yg(o,e),s),typeof i<"u")return Lr(e,i)?Fr(s,n,e,i):i}function Pu(e,t){for(const s of t){if(!s)continue;const n=s[e];if(typeof n<"u")return n}}function ja(e){let t=e._keys;return t||(t=e._keys=Tg(e._scopes)),t}function Tg(e){const t=new Set;for(const s of e)for(const n of Object.keys(s).filter(i=>!i.startsWith("_")))t.add(n);return Array.from(t)}const Og=Number.EPSILON||1e-14,$s=(e,t)=>t<e.length&&!e[t].skip&&e[t],Tu=e=>e==="x"?"y":"x";function Ag(e,t,s,n){const i=e.skip?t:e,o=t,r=s.skip?t:s,a=qo(o,i),l=qo(r,o);let c=a/(a+l),u=l/(a+l);c=isNaN(c)?0:c,u=isNaN(u)?0:u;const f=n*c,h=n*u;return{previous:{x:o.x-f*(r.x-i.x),y:o.y-f*(r.y-i.y)},next:{x:o.x+h*(r.x-i.x),y:o.y+h*(r.y-i.y)}}}function Dg(e,t,s){const n=e.length;let i,o,r,a,l,c=$s(e,0);for(let u=0;u<n-1;++u)if(l=c,c=$s(e,u+1),!(!l||!c)){if(hn(t[u],0,Og)){s[u]=s[u+1]=0;continue}i=s[u]/t[u],o=s[u+1]/t[u],a=Math.pow(i,2)+Math.pow(o,2),!(a<=9)&&(r=3/Math.sqrt(a),s[u]=i*r*t[u],s[u+1]=o*r*t[u])}}function Eg(e,t,s="x"){const n=Tu(s),i=e.length;let o,r,a,l=$s(e,0);for(let c=0;c<i;++c){if(r=a,a=l,l=$s(e,c+1),!a)continue;const u=a[s],f=a[n];r&&(o=(u-r[s])/3,a[`cp1${s}`]=u-o,a[`cp1${n}`]=f-o*t[c]),l&&(o=(l[s]-u)/3,a[`cp2${s}`]=u+o,a[`cp2${n}`]=f+o*t[c])}}function Ig(e,t="x"){const s=Tu(t),n=e.length,i=Array(n).fill(0),o=Array(n);let r,a,l,c=$s(e,0);for(r=0;r<n;++r)if(a=l,l=c,c=$s(e,r+1),!!l){if(c){const u=c[t]-l[t];i[r]=u!==0?(c[s]-l[s])/u:0}o[r]=a?c?me(i[r-1])!==me(i[r])?0:(i[r-1]+i[r])/2:i[r-1]:i[r]}Dg(e,i,o),Eg(e,o,t)}function Xn(e,t,s){return Math.max(Math.min(e,s),t)}function Rg(e,t){let s,n,i,o,r,a=Tn(e[0],t);for(s=0,n=e.length;s<n;++s)r=o,o=a,a=s<n-1&&Tn(e[s+1],t),o&&(i=e[s],r&&(i.cp1x=Xn(i.cp1x,t.left,t.right),i.cp1y=Xn(i.cp1y,t.top,t.bottom)),a&&(i.cp2x=Xn(i.cp2x,t.left,t.right),i.cp2y=Xn(i.cp2y,t.top,t.bottom)))}function Lg(e,t,s,n,i){let o,r,a,l;if(t.spanGaps&&(e=e.filter(c=>!c.skip)),t.cubicInterpolationMode==="monotone")Ig(e,i);else{let c=n?e[e.length-1]:e[0];for(o=0,r=e.length;o<r;++o)a=e[o],l=Ag(c,a,e[Math.min(o+1,r-(n?0:1))%r],t.tension),a.cp1x=l.previous.x,a.cp1y=l.previous.y,a.cp2x=l.next.x,a.cp2y=l.next.y,c=a}t.capBezierPoints&&Rg(e,s)}function zr(){return typeof window<"u"&&typeof document<"u"}function Br(e){let t=e.parentNode;return t&&t.toString()==="[object ShadowRoot]"&&(t=t.host),t}function Ei(e,t,s){let n;return typeof e=="string"?(n=parseInt(e,10),e.indexOf("%")!==-1&&(n=n/100*t.parentNode[s])):n=e,n}const Ji=e=>e.ownerDocument.defaultView.getComputedStyle(e,null);function Fg(e,t){return Ji(e).getPropertyValue(t)}const zg=["top","right","bottom","left"];function xs(e,t,s){const n={};s=s?"-"+s:"";for(let i=0;i<4;i++){const o=zg[i];n[o]=parseFloat(e[t+"-"+o+s])||0}return n.width=n.left+n.right,n.height=n.top+n.bottom,n}const Bg=(e,t,s)=>(e>0||t>0)&&(!s||!s.shadowRoot);function Vg(e,t){const s=e.touches,n=s&&s.length?s[0]:e,{offsetX:i,offsetY:o}=n;let r=!1,a,l;if(Bg(i,o,e.target))a=i,l=o;else{const c=t.getBoundingClientRect();a=n.clientX-c.left,l=n.clientY-c.top,r=!0}return{x:a,y:l,box:r}}function de(e,t){if("native"in e)return e;const{canvas:s,currentDevicePixelRatio:n}=t,i=Ji(s),o=i.boxSizing==="border-box",r=xs(i,"padding"),a=xs(i,"border","width"),{x:l,y:c,box:u}=Vg(e,s),f=r.left+(u&&a.left),h=r.top+(u&&a.top);let{width:d,height:m}=t;return o&&(d-=r.width+a.width,m-=r.height+a.height),{x:Math.round((l-f)/d*s.width/n),y:Math.round((c-h)/m*s.height/n)}}function Ng(e,t,s){let n,i;if(t===void 0||s===void 0){const o=e&&Br(e);if(!o)t=e.clientWidth,s=e.clientHeight;else{const r=o.getBoundingClientRect(),a=Ji(o),l=xs(a,"border","width"),c=xs(a,"padding");t=r.width-c.width-l.width,s=r.height-c.height-l.height,n=Ei(a.maxWidth,o,"clientWidth"),i=Ei(a.maxHeight,o,"clientHeight")}}return{width:t,height:s,maxWidth:n||Di,maxHeight:i||Di}}const qn=e=>Math.round(e*10)/10;function $g(e,t,s,n){const i=Ji(e),o=xs(i,"margin"),r=Ei(i.maxWidth,e,"clientWidth")||Di,a=Ei(i.maxHeight,e,"clientHeight")||Di,l=Ng(e,t,s);let{width:c,height:u}=l;if(i.boxSizing==="content-box"){const h=xs(i,"border","width"),d=xs(i,"padding");c-=d.width+h.width,u-=d.height+h.height}return c=Math.max(0,c-o.width),u=Math.max(0,n?c/n:u-o.height),c=qn(Math.min(c,r,l.maxWidth)),u=qn(Math.min(u,a,l.maxHeight)),c&&!u&&(u=qn(c/2)),(t!==void 0||s!==void 0)&&n&&l.height&&u>l.height&&(u=l.height,c=qn(Math.floor(u*n))),{width:c,height:u}}function Wa(e,t,s){const n=t||1,i=Math.floor(e.height*n),o=Math.floor(e.width*n);e.height=Math.floor(e.height),e.width=Math.floor(e.width);const r=e.canvas;return r.style&&(s||!r.style.height&&!r.style.width)&&(r.style.height=`${e.height}px`,r.style.width=`${e.width}px`),e.currentDevicePixelRatio!==n||r.height!==i||r.width!==o?(e.currentDevicePixelRatio=n,r.height=i,r.width=o,e.ctx.setTransform(n,0,0,n,0,0),!0):!1}const Hg=function(){let e=!1;try{const t={get passive(){return e=!0,!1}};zr()&&(window.addEventListener("test",null,t),window.removeEventListener("test",null,t))}catch{}return e}();function Ua(e,t){const s=Fg(e,t),n=s&&s.match(/^(\d+)(\.\d+)?px$/);return n?+n[1]:void 0}function ps(e,t,s,n){return{x:e.x+s*(t.x-e.x),y:e.y+s*(t.y-e.y)}}function jg(e,t,s,n){return{x:e.x+s*(t.x-e.x),y:n==="middle"?s<.5?e.y:t.y:n==="after"?s<1?e.y:t.y:s>0?t.y:e.y}}function Wg(e,t,s,n){const i={x:e.cp2x,y:e.cp2y},o={x:t.cp1x,y:t.cp1y},r=ps(e,i,s),a=ps(i,o,s),l=ps(o,t,s),c=ps(r,a,s),u=ps(a,l,s);return ps(c,u,s)}const Ug=function(e,t){return{x(s){return e+e+t-s},setWidth(s){t=s},textAlign(s){return s==="center"?s:s==="right"?"left":"right"},xPlus(s,n){return s-n},leftForLtr(s,n){return s-n}}},Kg=function(){return{x(e){return e},setWidth(e){},textAlign(e){return e},xPlus(e,t){return e+t},leftForLtr(e,t){return e}}};function yo(e,t,s){return e?Ug(t,s):Kg()}function Yg(e,t){let s,n;(t==="ltr"||t==="rtl")&&(s=e.canvas.style,n=[s.getPropertyValue("direction"),s.getPropertyPriority("direction")],s.setProperty("direction",t,"important"),e.prevTextDirection=n)}function Xg(e,t){t!==void 0&&(delete e.prevTextDirection,e.canvas.style.setProperty("direction",t[0],t[1]))}function Ou(e){return e==="angle"?{between:fu,compare:Xp,normalize:$e}:{between:Go,compare:(t,s)=>t-s,normalize:t=>t}}function Ka({start:e,end:t,count:s,loop:n,style:i}){return{start:e%s,end:t%s,loop:n&&(t-e+1)%s===0,style:i}}function qg(e,t,s){const{property:n,start:i,end:o}=s,{between:r,normalize:a}=Ou(n),l=t.length;let{start:c,end:u,loop:f}=e,h,d;if(f){for(c+=l,u+=l,h=0,d=l;h<d&&r(a(t[c%l][n]),i,o);++h)c--,u--;c%=l,u%=l}return u<c&&(u+=l),{start:c,end:u,loop:f,style:e.style}}function Gg(e,t,s){if(!s)return[e];const{property:n,start:i,end:o}=s,r=t.length,{compare:a,between:l,normalize:c}=Ou(n),{start:u,end:f,loop:h,style:d}=qg(e,t,s),m=[];let p=!1,b=null,x,y,M;const v=()=>l(i,M,x)&&a(i,M)!==0,S=()=>a(o,x)===0||l(o,M,x),D=()=>p||v(),I=()=>!p||S();for(let z=u,R=u;z<=f;++z)y=t[z%r],!y.skip&&(x=c(y[n]),x!==M&&(p=l(x,i,o),b===null&&D()&&(b=a(x,i)===0?z:R),b!==null&&I()&&(m.push(Ka({start:b,end:z,loop:h,count:r,style:d})),b=null),R=z,M=x));return b!==null&&m.push(Ka({start:b,end:f,loop:h,count:r,style:d})),m}function Zg(e,t){const s=[],n=e.segments;for(let i=0;i<n.length;i++){const o=Gg(n[i],e.points,t);o.length&&s.push(...o)}return s}function Jg(e,t,s,n){let i=0,o=t-1;if(s&&!n)for(;i<t&&!e[i].skip;)i++;for(;i<t&&e[i].skip;)i++;for(i%=t,s&&(o+=i);o>i&&e[o%t].skip;)o--;return o%=t,{start:i,end:o}}function Qg(e,t,s,n){const i=e.length,o=[];let r=t,a=e[t],l;for(l=t+1;l<=s;++l){const c=e[l%i];c.skip||c.stop?a.skip||(n=!1,o.push({start:t%i,end:(l-1)%i,loop:n}),t=r=c.stop?l:null):(r=l,a.skip&&(t=l)),a=c}return r!==null&&o.push({start:t%i,end:r%i,loop:n}),o}function tm(e,t){const s=e.points,n=e.options.spanGaps,i=s.length;if(!i)return[];const o=!!e._loop,{start:r,end:a}=Jg(s,i,o,n);if(n===!0)return Ya(e,[{start:r,end:a,loop:o}],s,t);const l=a<r?a+i:a,c=!!e._fullLoop&&r===0&&a===i-1;return Ya(e,Qg(s,r,l,c),s,t)}function Ya(e,t,s,n){return!n||!n.setContext||!s?t:em(e,t,s,n)}function em(e,t,s,n){const i=e._chart.getContext(),o=Xa(e.options),{_datasetIndex:r,options:{spanGaps:a}}=e,l=s.length,c=[];let u=o,f=t[0].start,h=f;function d(m,p,b,x){const y=a?-1:1;if(m!==p){for(m+=l;s[m%l].skip;)m-=y;for(;s[p%l].skip;)p+=y;m%l!==p%l&&(c.push({start:m%l,end:p%l,loop:b,style:x}),u=x,f=p%l)}}for(const m of t){f=a?f:m.start;let p=s[f%l],b;for(h=f+1;h<=m.end;h++){const x=s[h%l];b=Xa(n.setContext(Ms(i,{type:"segment",p0:p,p1:x,p0DataIndex:(h-1)%l,p1DataIndex:h%l,datasetIndex:r}))),sm(b,u)&&d(f,h-1,m.loop,u),p=x,u=b}f<h-1&&d(f,h-1,m.loop,u)}return c}function Xa(e){return{backgroundColor:e.backgroundColor,borderCapStyle:e.borderCapStyle,borderDash:e.borderDash,borderDashOffset:e.borderDashOffset,borderJoinStyle:e.borderJoinStyle,borderWidth:e.borderWidth,borderColor:e.borderColor}}function sm(e,t){if(!t)return!1;const s=[],n=function(i,o){return Dr(o)?(s.includes(o)||s.push(o),s.indexOf(o)):o};return JSON.stringify(e,n)!==JSON.stringify(t,n)}/*!
|
|
28
|
+
* Chart.js v4.4.5
|
|
29
|
+
* https://www.chartjs.org
|
|
30
|
+
* (c) 2024 Chart.js Contributors
|
|
31
|
+
* Released under the MIT License
|
|
32
|
+
*/class nm{constructor(){this._request=null,this._charts=new Map,this._running=!1,this._lastDate=void 0}_notify(t,s,n,i){const o=s.listeners[i],r=s.duration;o.forEach(a=>a({chart:t,initial:s.initial,numSteps:r,currentStep:Math.min(n-s.start,r)}))}_refresh(){this._request||(this._running=!0,this._request=pu.call(window,()=>{this._update(),this._request=null,this._running&&this._refresh()}))}_update(t=Date.now()){let s=0;this._charts.forEach((n,i)=>{if(!n.running||!n.items.length)return;const o=n.items;let r=o.length-1,a=!1,l;for(;r>=0;--r)l=o[r],l._active?(l._total>n.duration&&(n.duration=l._total),l.tick(t),a=!0):(o[r]=o[o.length-1],o.pop());a&&(i.draw(),this._notify(i,n,t,"progress")),o.length||(n.running=!1,this._notify(i,n,t,"complete"),n.initial=!1),s+=o.length}),this._lastDate=t,s===0&&(this._running=!1)}_getAnims(t){const s=this._charts;let n=s.get(t);return n||(n={running:!1,initial:!0,items:[],listeners:{complete:[],progress:[]}},s.set(t,n)),n}listen(t,s,n){this._getAnims(t).listeners[s].push(n)}add(t,s){!s||!s.length||this._getAnims(t).items.push(...s)}has(t){return this._getAnims(t).items.length>0}start(t){const s=this._charts.get(t);s&&(s.running=!0,s.start=Date.now(),s.duration=s.items.reduce((n,i)=>Math.max(n,i._duration),0),this._refresh())}running(t){if(!this._running)return!1;const s=this._charts.get(t);return!(!s||!s.running||!s.items.length)}stop(t){const s=this._charts.get(t);if(!s||!s.items.length)return;const n=s.items;let i=n.length-1;for(;i>=0;--i)n[i].cancel();s.items=[],this._notify(t,s,Date.now(),"complete")}remove(t){return this._charts.delete(t)}}var ye=new nm;const qa="transparent",im={boolean(e,t,s){return s>.5?t:e},color(e,t,s){const n=Ba(e||qa),i=n.valid&&Ba(t||qa);return i&&i.valid?i.mix(n,s).hexString():t},number(e,t,s){return e+(t-e)*s}};class om{constructor(t,s,n,i){const o=s[n];i=Yn([t.to,i,o,t.from]);const r=Yn([t.from,o,i]);this._active=!0,this._fn=t.fn||im[t.type||typeof r],this._easing=pn[t.easing]||pn.linear,this._start=Math.floor(Date.now()+(t.delay||0)),this._duration=this._total=Math.floor(t.duration),this._loop=!!t.loop,this._target=s,this._prop=n,this._from=r,this._to=i,this._promises=void 0}active(){return this._active}update(t,s,n){if(this._active){this._notify(!1);const i=this._target[this._prop],o=n-this._start,r=this._duration-o;this._start=n,this._duration=Math.floor(Math.max(r,t.duration)),this._total+=o,this._loop=!!t.loop,this._to=Yn([t.to,s,i,t.from]),this._from=Yn([t.from,i,s])}}cancel(){this._active&&(this.tick(Date.now()),this._active=!1,this._notify(!1))}tick(t){const s=t-this._start,n=this._duration,i=this._prop,o=this._from,r=this._loop,a=this._to;let l;if(this._active=o!==a&&(r||s<n),!this._active){this._target[i]=a,this._notify(!0);return}if(s<0){this._target[i]=o;return}l=s/n%2,l=r&&l>1?2-l:l,l=this._easing(Math.min(1,Math.max(0,l))),this._target[i]=this._fn(o,a,l)}wait(){const t=this._promises||(this._promises=[]);return new Promise((s,n)=>{t.push({res:s,rej:n})})}_notify(t){const s=t?"res":"rej",n=this._promises||[];for(let i=0;i<n.length;i++)n[i][s]()}}class Au{constructor(t,s){this._chart=t,this._properties=new Map,this.configure(s)}configure(t){if(!tt(t))return;const s=Object.keys(yt.animation),n=this._properties;Object.getOwnPropertyNames(t).forEach(i=>{const o=t[i];if(!tt(o))return;const r={};for(const a of s)r[a]=o[a];(St(o.properties)&&o.properties||[i]).forEach(a=>{(a===i||!n.has(a))&&n.set(a,r)})})}_animateOptions(t,s){const n=s.options,i=am(t,n);if(!i)return[];const o=this._createAnimations(i,n);return n.$shared&&rm(t.options.$animations,n).then(()=>{t.options=n},()=>{}),o}_createAnimations(t,s){const n=this._properties,i=[],o=t.$animations||(t.$animations={}),r=Object.keys(s),a=Date.now();let l;for(l=r.length-1;l>=0;--l){const c=r[l];if(c.charAt(0)==="$")continue;if(c==="options"){i.push(...this._animateOptions(t,s));continue}const u=s[c];let f=o[c];const h=n.get(c);if(f)if(h&&f.active()){f.update(h,u,a);continue}else f.cancel();if(!h||!h.duration){t[c]=u;continue}o[c]=f=new om(h,t,c,u),i.push(f)}return i}update(t,s){if(this._properties.size===0){Object.assign(t,s);return}const n=this._createAnimations(t,s);if(n.length)return ye.add(this._chart,n),!0}}function rm(e,t){const s=[],n=Object.keys(t);for(let i=0;i<n.length;i++){const o=e[n[i]];o&&o.active()&&s.push(o.wait())}return Promise.all(s)}function am(e,t){if(!t)return;let s=e.options;if(!s){e.options=t;return}return s.$shared&&(e.options=s=Object.assign({},s,{$shared:!1,$animations:{}})),s}function Ga(e,t){const s=e&&e.options||{},n=s.reverse,i=s.min===void 0?t:0,o=s.max===void 0?t:0;return{start:n?o:i,end:n?i:o}}function lm(e,t,s){if(s===!1)return!1;const n=Ga(e,s),i=Ga(t,s);return{top:i.end,right:n.end,bottom:i.start,left:n.start}}function cm(e){let t,s,n,i;return tt(e)?(t=e.top,s=e.right,n=e.bottom,i=e.left):t=s=n=i=e,{top:t,right:s,bottom:n,left:i,disabled:e===!1}}function Du(e,t){const s=[],n=e._getSortedDatasetMetas(t);let i,o;for(i=0,o=n.length;i<o;++i)s.push(n[i].index);return s}function Za(e,t,s,n={}){const i=e.keys,o=n.mode==="single";let r,a,l,c;if(t!==null){for(r=0,a=i.length;r<a;++r){if(l=+i[r],l===s){if(n.all)continue;break}c=e.values[l],It(c)&&(o||t===0||me(t)===me(c))&&(t+=c)}return t}}function um(e,t){const{iScale:s,vScale:n}=t,i=s.axis==="x"?"x":"y",o=n.axis==="x"?"x":"y",r=Object.keys(e),a=new Array(r.length);let l,c,u;for(l=0,c=r.length;l<c;++l)u=r[l],a[l]={[i]:u,[o]:e[u]};return a}function vo(e,t){const s=e&&e.options.stacked;return s||s===void 0&&t.stack!==void 0}function fm(e,t,s){return`${e.id}.${t.id}.${s.stack||s.type}`}function hm(e){const{min:t,max:s,minDefined:n,maxDefined:i}=e.getUserBounds();return{min:n?t:Number.NEGATIVE_INFINITY,max:i?s:Number.POSITIVE_INFINITY}}function dm(e,t,s){const n=e[t]||(e[t]={});return n[s]||(n[s]={})}function Ja(e,t,s,n){for(const i of t.getMatchingVisibleMetas(n).reverse()){const o=e[i.index];if(s&&o>0||!s&&o<0)return i.index}return null}function Qa(e,t){const{chart:s,_cachedMeta:n}=e,i=s._stacks||(s._stacks={}),{iScale:o,vScale:r,index:a}=n,l=o.axis,c=r.axis,u=fm(o,r,n),f=t.length;let h;for(let d=0;d<f;++d){const m=t[d],{[l]:p,[c]:b}=m,x=m._stacks||(m._stacks={});h=x[c]=dm(i,u,p),h[a]=b,h._top=Ja(h,r,!0,n.type),h._bottom=Ja(h,r,!1,n.type);const y=h._visualValues||(h._visualValues={});y[a]=b}}function wo(e,t){const s=e.scales;return Object.keys(s).filter(n=>s[n].axis===t).shift()}function pm(e,t){return Ms(e,{active:!1,dataset:void 0,datasetIndex:t,index:t,mode:"default",type:"dataset"})}function gm(e,t,s){return Ms(e,{active:!1,dataIndex:t,parsed:void 0,raw:void 0,element:s,index:t,mode:"default",type:"data"})}function Ys(e,t){const s=e.controller.index,n=e.vScale&&e.vScale.axis;if(n){t=t||e._parsed;for(const i of t){const o=i._stacks;if(!o||o[n]===void 0||o[n][s]===void 0)return;delete o[n][s],o[n]._visualValues!==void 0&&o[n]._visualValues[s]!==void 0&&delete o[n]._visualValues[s]}}}const So=e=>e==="reset"||e==="none",tl=(e,t)=>t?e:Object.assign({},e),mm=(e,t,s)=>e&&!t.hidden&&t._stacked&&{keys:Du(s,!0),values:null};class ys{constructor(t,s){this.chart=t,this._ctx=t.ctx,this.index=s,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=vo(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&&Ys(this._cachedMeta),this.index=t}linkScales(){const t=this.chart,s=this._cachedMeta,n=this.getDataset(),i=(f,h,d,m)=>f==="x"?h:f==="r"?m:d,o=s.xAxisID=lt(n.xAxisID,wo(t,"x")),r=s.yAxisID=lt(n.yAxisID,wo(t,"y")),a=s.rAxisID=lt(n.rAxisID,wo(t,"r")),l=s.indexAxis,c=s.iAxisID=i(l,o,r,a),u=s.vAxisID=i(l,r,o,a);s.xScale=this.getScaleForId(o),s.yScale=this.getScaleForId(r),s.rScale=this.getScaleForId(a),s.iScale=this.getScaleForId(c),s.vScale=this.getScaleForId(u)}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 s=this._cachedMeta;return t===s.iScale?s.vScale:s.iScale}reset(){this._update("reset")}_destroy(){const t=this._cachedMeta;this._data&&La(this._data,this),t._stacked&&Ys(t)}_dataCheck(){const t=this.getDataset(),s=t.data||(t.data=[]),n=this._data;if(tt(s)){const i=this._cachedMeta;this._data=um(s,i)}else if(n!==s){if(n){La(n,this);const i=this._cachedMeta;Ys(i),i._parsed=[]}s&&Object.isExtensible(s)&&Jp(s,this),this._syncList=[],this._data=s}}addElements(){const t=this._cachedMeta;this._dataCheck(),this.datasetElementType&&(t.dataset=new this.datasetElementType)}buildOrUpdateElements(t){const s=this._cachedMeta,n=this.getDataset();let i=!1;this._dataCheck();const o=s._stacked;s._stacked=vo(s.vScale,s),s.stack!==n.stack&&(i=!0,Ys(s),s.stack=n.stack),this._resyncElements(t),(i||o!==s._stacked)&&(Qa(this,s._parsed),s._stacked=vo(s.vScale,s))}configure(){const t=this.chart.config,s=t.datasetScopeKeys(this._type),n=t.getOptionScopes(this.getDataset(),s,!0);this.options=t.createResolver(n,this.getContext()),this._parsing=this.options.parsing,this._cachedDataOpts={}}parse(t,s){const{_cachedMeta:n,_data:i}=this,{iScale:o,_stacked:r}=n,a=o.axis;let l=t===0&&s===i.length?!0:n._sorted,c=t>0&&n._parsed[t-1],u,f,h;if(this._parsing===!1)n._parsed=i,n._sorted=!0,h=i;else{St(i[t])?h=this.parseArrayData(n,i,t,s):tt(i[t])?h=this.parseObjectData(n,i,t,s):h=this.parsePrimitiveData(n,i,t,s);const d=()=>f[a]===null||c&&f[a]<c[a];for(u=0;u<s;++u)n._parsed[u+t]=f=h[u],l&&(d()&&(l=!1),c=f);n._sorted=l}r&&Qa(this,h)}parsePrimitiveData(t,s,n,i){const{iScale:o,vScale:r}=t,a=o.axis,l=r.axis,c=o.getLabels(),u=o===r,f=new Array(i);let h,d,m;for(h=0,d=i;h<d;++h)m=h+n,f[h]={[a]:u||o.parse(c[m],m),[l]:r.parse(s[m],m)};return f}parseArrayData(t,s,n,i){const{xScale:o,yScale:r}=t,a=new Array(i);let l,c,u,f;for(l=0,c=i;l<c;++l)u=l+n,f=s[u],a[l]={x:o.parse(f[0],u),y:r.parse(f[1],u)};return a}parseObjectData(t,s,n,i){const{xScale:o,yScale:r}=t,{xAxisKey:a="x",yAxisKey:l="y"}=this._parsing,c=new Array(i);let u,f,h,d;for(u=0,f=i;u<f;++u)h=u+n,d=s[h],c[u]={x:o.parse(Bs(d,a),h),y:r.parse(Bs(d,l),h)};return c}getParsed(t){return this._cachedMeta._parsed[t]}getDataElement(t){return this._cachedMeta.data[t]}applyStack(t,s,n){const i=this.chart,o=this._cachedMeta,r=s[t.axis],a={keys:Du(i,!0),values:s._stacks[t.axis]._visualValues};return Za(a,r,o.index,{mode:n})}updateRangeFromParsed(t,s,n,i){const o=n[s.axis];let r=o===null?NaN:o;const a=i&&n._stacks[s.axis];i&&a&&(i.values=a,r=Za(i,o,this._cachedMeta.index)),t.min=Math.min(t.min,r),t.max=Math.max(t.max,r)}getMinMax(t,s){const n=this._cachedMeta,i=n._parsed,o=n._sorted&&t===n.iScale,r=i.length,a=this._getOtherScale(t),l=mm(s,n,this.chart),c={min:Number.POSITIVE_INFINITY,max:Number.NEGATIVE_INFINITY},{min:u,max:f}=hm(a);let h,d;function m(){d=i[h];const p=d[a.axis];return!It(d[t.axis])||u>p||f<p}for(h=0;h<r&&!(!m()&&(this.updateRangeFromParsed(c,t,d,l),o));++h);if(o){for(h=r-1;h>=0;--h)if(!m()){this.updateRangeFromParsed(c,t,d,l);break}}return c}getAllParsedValues(t){const s=this._cachedMeta._parsed,n=[];let i,o,r;for(i=0,o=s.length;i<o;++i)r=s[i][t.axis],It(r)&&n.push(r);return n}getMaxOverflow(){return!1}getLabelAndValue(t){const s=this._cachedMeta,n=s.iScale,i=s.vScale,o=this.getParsed(t);return{label:n?""+n.getLabelForValue(o[n.axis]):"",value:i?""+i.getLabelForValue(o[i.axis]):""}}_update(t){const s=this._cachedMeta;this.update(t||"default"),s._clip=cm(lt(this.options.clip,lm(s.xScale,s.yScale,this.getMaxOverflow())))}update(t){}draw(){const t=this._ctx,s=this.chart,n=this._cachedMeta,i=n.data||[],o=s.chartArea,r=[],a=this._drawStart||0,l=this._drawCount||i.length-a,c=this.options.drawActiveElementsOnTop;let u;for(n.dataset&&n.dataset.draw(t,o,a,l),u=a;u<a+l;++u){const f=i[u];f.hidden||(f.active&&c?r.push(f):f.draw(t,o))}for(u=0;u<r.length;++u)r[u].draw(t,o)}getStyle(t,s){const n=s?"active":"default";return t===void 0&&this._cachedMeta.dataset?this.resolveDatasetElementOptions(n):this.resolveDataElementOptions(t||0,n)}getContext(t,s,n){const i=this.getDataset();let o;if(t>=0&&t<this._cachedMeta.data.length){const r=this._cachedMeta.data[t];o=r.$context||(r.$context=gm(this.getContext(),t,r)),o.parsed=this.getParsed(t),o.raw=i.data[t],o.index=o.dataIndex=t}else o=this.$context||(this.$context=pm(this.chart.getContext(),this.index)),o.dataset=i,o.index=o.datasetIndex=this.index;return o.active=!!s,o.mode=n,o}resolveDatasetElementOptions(t){return this._resolveElementOptions(this.datasetElementType.id,t)}resolveDataElementOptions(t,s){return this._resolveElementOptions(this.dataElementType.id,s,t)}_resolveElementOptions(t,s="default",n){const i=s==="active",o=this._cachedDataOpts,r=t+"-"+s,a=o[r],l=this.enableOptionSharing&&Pn(n);if(a)return tl(a,l);const c=this.chart.config,u=c.datasetElementScopeKeys(this._type,t),f=i?[`${t}Hover`,"hover",t,""]:[t,""],h=c.getOptionScopes(this.getDataset(),u),d=Object.keys(yt.elements[t]),m=()=>this.getContext(n,i,s),p=c.resolveNamedOptions(h,d,m,f);return p.$shared&&(p.$shared=l,o[r]=Object.freeze(tl(p,l))),p}_resolveAnimations(t,s,n){const i=this.chart,o=this._cachedDataOpts,r=`animation-${s}`,a=o[r];if(a)return a;let l;if(i.options.animation!==!1){const u=this.chart.config,f=u.datasetAnimationScopeKeys(this._type,s),h=u.getOptionScopes(this.getDataset(),f);l=u.createResolver(h,this.getContext(t,n,s))}const c=new Au(i,l&&l.animations);return l&&l._cacheable&&(o[r]=Object.freeze(c)),c}getSharedOptions(t){if(t.$shared)return this._sharedOptions||(this._sharedOptions=Object.assign({},t))}includeOptions(t,s){return!s||So(t)||this.chart._animationsDisabled}_getSharedOptions(t,s){const n=this.resolveDataElementOptions(t,s),i=this._sharedOptions,o=this.getSharedOptions(n),r=this.includeOptions(s,o)||o!==i;return this.updateSharedOptions(o,s,n),{sharedOptions:o,includeOptions:r}}updateElement(t,s,n,i){So(i)?Object.assign(t,n):this._resolveAnimations(s,i).update(t,n)}updateSharedOptions(t,s,n){t&&!So(s)&&this._resolveAnimations(void 0,s).update(t,n)}_setStyle(t,s,n,i){t.active=i;const o=this.getStyle(s,i);this._resolveAnimations(s,n,i).update(t,{options:!i&&this.getSharedOptions(o)||o})}removeHoverStyle(t,s,n){this._setStyle(t,n,"active",!1)}setHoverStyle(t,s,n){this._setStyle(t,n,"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 s=this._data,n=this._cachedMeta.data;for(const[a,l,c]of this._syncList)this[a](l,c);this._syncList=[];const i=n.length,o=s.length,r=Math.min(o,i);r&&this.parse(0,r),o>i?this._insertElements(i,o-i,t):o<i&&this._removeElements(o,i-o)}_insertElements(t,s,n=!0){const i=this._cachedMeta,o=i.data,r=t+s;let a;const l=c=>{for(c.length+=s,a=c.length-1;a>=r;a--)c[a]=c[a-s]};for(l(o),a=t;a<r;++a)o[a]=new this.dataElementType;this._parsing&&l(i._parsed),this.parse(t,s),n&&this.updateElements(o,t,s,"reset")}updateElements(t,s,n,i){}_removeElements(t,s){const n=this._cachedMeta;if(this._parsing){const i=n._parsed.splice(t,s);n._stacked&&Ys(n,i)}n.data.splice(t,s)}_sync(t){if(this._parsing)this._syncList.push(t);else{const[s,n,i]=t;this[s](n,i)}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,s){s&&this._sync(["_removeElements",t,s]);const n=arguments.length-2;n&&this._sync(["_insertElements",t,n])}_onDataUnshift(){this._sync(["_insertElements",0,arguments.length])}}N(ys,"defaults",{}),N(ys,"datasetElementType",null),N(ys,"dataElementType",null);function bm(e,t){if(!e._cache.$bar){const s=e.getMatchingVisibleMetas(t);let n=[];for(let i=0,o=s.length;i<o;i++)n=n.concat(s[i].controller.getAllParsedValues(e));e._cache.$bar=du(n.sort((i,o)=>i-o))}return e._cache.$bar}function _m(e){const t=e.iScale,s=bm(t,e.type);let n=t._length,i,o,r,a;const l=()=>{r===32767||r===-32768||(Pn(a)&&(n=Math.min(n,Math.abs(r-a)||n)),a=r)};for(i=0,o=s.length;i<o;++i)r=t.getPixelForValue(s[i]),l();for(a=void 0,i=0,o=t.ticks.length;i<o;++i)r=t.getPixelForTick(i),l();return n}function xm(e,t,s,n){const i=s.barThickness;let o,r;return ct(i)?(o=t.min*s.categoryPercentage,r=s.barPercentage):(o=i*n,r=1),{chunk:o/n,ratio:r,start:t.pixels[e]-o/2}}function ym(e,t,s,n){const i=t.pixels,o=i[e];let r=e>0?i[e-1]:null,a=e<i.length-1?i[e+1]:null;const l=s.categoryPercentage;r===null&&(r=o-(a===null?t.end-t.start:a-o)),a===null&&(a=o+o-r);const c=o-(o-Math.min(r,a))/2*l;return{chunk:Math.abs(a-r)/2*l/n,ratio:s.barPercentage,start:c}}function vm(e,t,s,n){const i=s.parse(e[0],n),o=s.parse(e[1],n),r=Math.min(i,o),a=Math.max(i,o);let l=r,c=a;Math.abs(r)>Math.abs(a)&&(l=a,c=r),t[s.axis]=c,t._custom={barStart:l,barEnd:c,start:i,end:o,min:r,max:a}}function Eu(e,t,s,n){return St(e)?vm(e,t,s,n):t[s.axis]=s.parse(e,n),t}function el(e,t,s,n){const i=e.iScale,o=e.vScale,r=i.getLabels(),a=i===o,l=[];let c,u,f,h;for(c=s,u=s+n;c<u;++c)h=t[c],f={},f[i.axis]=a||i.parse(r[c],c),l.push(Eu(h,f,o,c));return l}function Mo(e){return e&&e.barStart!==void 0&&e.barEnd!==void 0}function wm(e,t,s){return e!==0?me(e):(t.isHorizontal()?1:-1)*(t.min>=s?1:-1)}function Sm(e){let t,s,n,i,o;return e.horizontal?(t=e.base>e.x,s="left",n="right"):(t=e.base<e.y,s="bottom",n="top"),t?(i="end",o="start"):(i="start",o="end"),{start:s,end:n,reverse:t,top:i,bottom:o}}function Mm(e,t,s,n){let i=t.borderSkipped;const o={};if(!i){e.borderSkipped=o;return}if(i===!0){e.borderSkipped={top:!0,right:!0,bottom:!0,left:!0};return}const{start:r,end:a,reverse:l,top:c,bottom:u}=Sm(e);i==="middle"&&s&&(e.enableBorderRadius=!0,(s._top||0)===n?i=c:(s._bottom||0)===n?i=u:(o[sl(u,r,a,l)]=!0,i=c)),o[sl(i,r,a,l)]=!0,e.borderSkipped=o}function sl(e,t,s,n){return n?(e=km(e,t,s),e=nl(e,s,t)):e=nl(e,t,s),e}function km(e,t,s){return e===t?s:e===s?t:e}function nl(e,t,s){return e==="start"?t:e==="end"?s:e}function Cm(e,{inflateAmount:t},s){e.inflateAmount=t==="auto"?s===1?.33:0:t}class hi extends ys{parsePrimitiveData(t,s,n,i){return el(t,s,n,i)}parseArrayData(t,s,n,i){return el(t,s,n,i)}parseObjectData(t,s,n,i){const{iScale:o,vScale:r}=t,{xAxisKey:a="x",yAxisKey:l="y"}=this._parsing,c=o.axis==="x"?a:l,u=r.axis==="x"?a:l,f=[];let h,d,m,p;for(h=n,d=n+i;h<d;++h)p=s[h],m={},m[o.axis]=o.parse(Bs(p,c),h),f.push(Eu(Bs(p,u),m,r,h));return f}updateRangeFromParsed(t,s,n,i){super.updateRangeFromParsed(t,s,n,i);const o=n._custom;o&&s===this._cachedMeta.vScale&&(t.min=Math.min(t.min,o.min),t.max=Math.max(t.max,o.max))}getMaxOverflow(){return 0}getLabelAndValue(t){const s=this._cachedMeta,{iScale:n,vScale:i}=s,o=this.getParsed(t),r=o._custom,a=Mo(r)?"["+r.start+", "+r.end+"]":""+i.getLabelForValue(o[i.axis]);return{label:""+n.getLabelForValue(o[n.axis]),value:a}}initialize(){this.enableOptionSharing=!0,super.initialize();const t=this._cachedMeta;t.stack=this.getDataset().stack}update(t){const s=this._cachedMeta;this.updateElements(s.data,0,s.data.length,t)}updateElements(t,s,n,i){const o=i==="reset",{index:r,_cachedMeta:{vScale:a}}=this,l=a.getBasePixel(),c=a.isHorizontal(),u=this._getRuler(),{sharedOptions:f,includeOptions:h}=this._getSharedOptions(s,i);for(let d=s;d<s+n;d++){const m=this.getParsed(d),p=o||ct(m[a.axis])?{base:l,head:l}:this._calculateBarValuePixels(d),b=this._calculateBarIndexPixels(d,u),x=(m._stacks||{})[a.axis],y={horizontal:c,base:p.base,enableBorderRadius:!x||Mo(m._custom)||r===x._top||r===x._bottom,x:c?p.head:b.center,y:c?b.center:p.head,height:c?b.size:Math.abs(p.size),width:c?Math.abs(p.size):b.size};h&&(y.options=f||this.resolveDataElementOptions(d,t[d].active?"active":i));const M=y.options||t[d].options;Mm(y,M,x,r),Cm(y,M,u.ratio),this.updateElement(t[d],d,y,i)}}_getStacks(t,s){const{iScale:n}=this._cachedMeta,i=n.getMatchingVisibleMetas(this._type).filter(u=>u.controller.options.grouped),o=n.options.stacked,r=[],a=this._cachedMeta.controller.getParsed(s),l=a&&a[n.axis],c=u=>{const f=u._parsed.find(d=>d[n.axis]===l),h=f&&f[u.vScale.axis];if(ct(h)||isNaN(h))return!0};for(const u of i)if(!(s!==void 0&&c(u))&&((o===!1||r.indexOf(u.stack)===-1||o===void 0&&u.stack===void 0)&&r.push(u.stack),u.index===t))break;return r.length||r.push(void 0),r}_getStackCount(t){return this._getStacks(void 0,t).length}_getStackIndex(t,s,n){const i=this._getStacks(t,n),o=s!==void 0?i.indexOf(s):-1;return o===-1?i.length-1:o}_getRuler(){const t=this.options,s=this._cachedMeta,n=s.iScale,i=[];let o,r;for(o=0,r=s.data.length;o<r;++o)i.push(n.getPixelForValue(this.getParsed(o)[n.axis],o));const a=t.barThickness;return{min:a||_m(s),pixels:i,start:n._startPixel,end:n._endPixel,stackCount:this._getStackCount(),scale:n,grouped:t.grouped,ratio:a?1:t.categoryPercentage*t.barPercentage}}_calculateBarValuePixels(t){const{_cachedMeta:{vScale:s,_stacked:n,index:i},options:{base:o,minBarLength:r}}=this,a=o||0,l=this.getParsed(t),c=l._custom,u=Mo(c);let f=l[s.axis],h=0,d=n?this.applyStack(s,l,n):f,m,p;d!==f&&(h=d-f,d=f),u&&(f=c.barStart,d=c.barEnd-c.barStart,f!==0&&me(f)!==me(c.barEnd)&&(h=0),h+=f);const b=!ct(o)&&!u?o:h;let x=s.getPixelForValue(b);if(this.chart.getDataVisibility(t)?m=s.getPixelForValue(h+d):m=x,p=m-x,Math.abs(p)<r){p=wm(p,s,a)*r,f===a&&(x-=p/2);const y=s.getPixelForDecimal(0),M=s.getPixelForDecimal(1),v=Math.min(y,M),S=Math.max(y,M);x=Math.max(Math.min(x,S),v),m=x+p,n&&!u&&(l._stacks[s.axis]._visualValues[i]=s.getValueForPixel(m)-s.getValueForPixel(x))}if(x===s.getPixelForValue(a)){const y=me(p)*s.getLineWidthForValue(a)/2;x+=y,p-=y}return{size:p,base:x,head:m,center:m+p/2}}_calculateBarIndexPixels(t,s){const n=s.scale,i=this.options,o=i.skipNull,r=lt(i.maxBarThickness,1/0);let a,l;if(s.grouped){const c=o?this._getStackCount(t):s.stackCount,u=i.barThickness==="flex"?ym(t,s,i,c):xm(t,s,i,c),f=this._getStackIndex(this.index,this._cachedMeta.stack,o?t:void 0);a=u.start+u.chunk*f+u.chunk/2,l=Math.min(r,u.chunk*u.ratio)}else a=n.getPixelForValue(this.getParsed(t)[n.axis],t),l=Math.min(r,s.min*s.ratio);return{base:a-l/2,head:a+l/2,center:a,size:l}}draw(){const t=this._cachedMeta,s=t.vScale,n=t.data,i=n.length;let o=0;for(;o<i;++o)this.getParsed(o)[s.axis]!==null&&!n[o].hidden&&n[o].draw(this._ctx)}}N(hi,"id","bar"),N(hi,"defaults",{datasetElementType:!1,dataElementType:"bar",categoryPercentage:.8,barPercentage:.9,grouped:!0,animations:{numbers:{type:"number",properties:["x","y","base","width","height"]}}}),N(hi,"overrides",{scales:{_index_:{type:"category",offset:!0,grid:{offset:!0}},_value_:{type:"linear",beginAtZero:!0}}});class di extends ys{initialize(){this.enableOptionSharing=!0,this.supportsDecimation=!0,super.initialize()}update(t){const s=this._cachedMeta,{dataset:n,data:i=[],_dataset:o}=s,r=this.chart._animationsDisabled;let{start:a,count:l}=bu(s,i,r);this._drawStart=a,this._drawCount=l,_u(s)&&(a=0,l=i.length),n._chart=this.chart,n._datasetIndex=this.index,n._decimated=!!o._decimated,n.points=i;const c=this.resolveDatasetElementOptions(t);this.options.showLine||(c.borderWidth=0),c.segment=this.options.segment,this.updateElement(n,void 0,{animated:!r,options:c},t),this.updateElements(i,a,l,t)}updateElements(t,s,n,i){const o=i==="reset",{iScale:r,vScale:a,_stacked:l,_dataset:c}=this._cachedMeta,{sharedOptions:u,includeOptions:f}=this._getSharedOptions(s,i),h=r.axis,d=a.axis,{spanGaps:m,segment:p}=this.options,b=Vs(m)?m:Number.POSITIVE_INFINITY,x=this.chart._animationsDisabled||o||i==="none",y=s+n,M=t.length;let v=s>0&&this.getParsed(s-1);for(let S=0;S<M;++S){const D=t[S],I=x?D:{};if(S<s||S>=y){I.skip=!0;continue}const z=this.getParsed(S),R=ct(z[d]),V=I[h]=r.getPixelForValue(z[h],S),W=I[d]=o||R?a.getBasePixel():a.getPixelForValue(l?this.applyStack(a,z,l):z[d],S);I.skip=isNaN(V)||isNaN(W)||R,I.stop=S>0&&Math.abs(z[h]-v[h])>b,p&&(I.parsed=z,I.raw=c.data[S]),f&&(I.options=u||this.resolveDataElementOptions(S,D.active?"active":i)),x||this.updateElement(D,S,I,i),v=z}}getMaxOverflow(){const t=this._cachedMeta,s=t.dataset,n=s.options&&s.options.borderWidth||0,i=t.data||[];if(!i.length)return n;const o=i[0].size(this.resolveDataElementOptions(0)),r=i[i.length-1].size(this.resolveDataElementOptions(i.length-1));return Math.max(n,o,r)/2}draw(){const t=this._cachedMeta;t.dataset.updateControlPoints(this.chart.chartArea,t.iScale.axis),super.draw()}}N(di,"id","line"),N(di,"defaults",{datasetElementType:"line",dataElementType:"point",showLine:!0,spanGaps:!1}),N(di,"overrides",{scales:{_index_:{type:"category"},_value_:{type:"linear"}}});class pi extends ys{getLabelAndValue(t){const s=this._cachedMeta,n=this.chart.data.labels||[],{xScale:i,yScale:o}=s,r=this.getParsed(t),a=i.getLabelForValue(r.x),l=o.getLabelForValue(r.y);return{label:n[t]||"",value:"("+a+", "+l+")"}}update(t){const s=this._cachedMeta,{data:n=[]}=s,i=this.chart._animationsDisabled;let{start:o,count:r}=bu(s,n,i);if(this._drawStart=o,this._drawCount=r,_u(s)&&(o=0,r=n.length),this.options.showLine){this.datasetElementType||this.addElements();const{dataset:a,_dataset:l}=s;a._chart=this.chart,a._datasetIndex=this.index,a._decimated=!!l._decimated,a.points=n;const c=this.resolveDatasetElementOptions(t);c.segment=this.options.segment,this.updateElement(a,void 0,{animated:!i,options:c},t)}else this.datasetElementType&&(delete s.dataset,this.datasetElementType=!1);this.updateElements(n,o,r,t)}addElements(){const{showLine:t}=this.options;!this.datasetElementType&&t&&(this.datasetElementType=this.chart.registry.getElement("line")),super.addElements()}updateElements(t,s,n,i){const o=i==="reset",{iScale:r,vScale:a,_stacked:l,_dataset:c}=this._cachedMeta,u=this.resolveDataElementOptions(s,i),f=this.getSharedOptions(u),h=this.includeOptions(i,f),d=r.axis,m=a.axis,{spanGaps:p,segment:b}=this.options,x=Vs(p)?p:Number.POSITIVE_INFINITY,y=this.chart._animationsDisabled||o||i==="none";let M=s>0&&this.getParsed(s-1);for(let v=s;v<s+n;++v){const S=t[v],D=this.getParsed(v),I=y?S:{},z=ct(D[m]),R=I[d]=r.getPixelForValue(D[d],v),V=I[m]=o||z?a.getBasePixel():a.getPixelForValue(l?this.applyStack(a,D,l):D[m],v);I.skip=isNaN(R)||isNaN(V)||z,I.stop=v>0&&Math.abs(D[d]-M[d])>x,b&&(I.parsed=D,I.raw=c.data[v]),h&&(I.options=f||this.resolveDataElementOptions(v,S.active?"active":i)),y||this.updateElement(S,v,I,i),M=D}this.updateSharedOptions(f,i,u)}getMaxOverflow(){const t=this._cachedMeta,s=t.data||[];if(!this.options.showLine){let a=0;for(let l=s.length-1;l>=0;--l)a=Math.max(a,s[l].size(this.resolveDataElementOptions(l))/2);return a>0&&a}const n=t.dataset,i=n.options&&n.options.borderWidth||0;if(!s.length)return i;const o=s[0].size(this.resolveDataElementOptions(0)),r=s[s.length-1].size(this.resolveDataElementOptions(s.length-1));return Math.max(i,o,r)/2}}N(pi,"id","scatter"),N(pi,"defaults",{datasetElementType:!1,dataElementType:"point",showLine:!1,fill:!1}),N(pi,"overrides",{interaction:{mode:"point"},scales:{x:{type:"linear"},y:{type:"linear"}}});function fs(){throw new Error("This method is not implemented: Check that a complete date adapter is provided.")}class Vr{constructor(t){N(this,"options");this.options=t||{}}static override(t){Object.assign(Vr.prototype,t)}init(){}formats(){return fs()}parse(){return fs()}format(){return fs()}add(){return fs()}diff(){return fs()}startOf(){return fs()}endOf(){return fs()}}var Pm={_date:Vr};function Tm(e,t,s,n){const{controller:i,data:o,_sorted:r}=e,a=i._cachedMeta.iScale;if(a&&t===a.axis&&t!=="r"&&r&&o.length){const l=a._reversePixels?Gp:bs;if(n){if(i._sharedOptions){const c=o[0],u=typeof c.getRange=="function"&&c.getRange(t);if(u){const f=l(o,t,s-u),h=l(o,t,s+u);return{lo:f.lo,hi:h.hi}}}}else return l(o,t,s)}return{lo:0,hi:o.length-1}}function zn(e,t,s,n,i){const o=e.getSortedVisibleDatasetMetas(),r=s[t];for(let a=0,l=o.length;a<l;++a){const{index:c,data:u}=o[a],{lo:f,hi:h}=Tm(o[a],t,r,i);for(let d=f;d<=h;++d){const m=u[d];m.skip||n(m,c,d)}}}function Om(e){const t=e.indexOf("x")!==-1,s=e.indexOf("y")!==-1;return function(n,i){const o=t?Math.abs(n.x-i.x):0,r=s?Math.abs(n.y-i.y):0;return Math.sqrt(Math.pow(o,2)+Math.pow(r,2))}}function ko(e,t,s,n,i){const o=[];return!i&&!e.isPointInArea(t)||zn(e,s,t,function(a,l,c){!i&&!Tn(a,e.chartArea,0)||a.inRange(t.x,t.y,n)&&o.push({element:a,datasetIndex:l,index:c})},!0),o}function Am(e,t,s,n){let i=[];function o(r,a,l){const{startAngle:c,endAngle:u}=r.getProps(["startAngle","endAngle"],n),{angle:f}=Yp(r,{x:t.x,y:t.y});fu(f,c,u)&&i.push({element:r,datasetIndex:a,index:l})}return zn(e,s,t,o),i}function Dm(e,t,s,n,i,o){let r=[];const a=Om(s);let l=Number.POSITIVE_INFINITY;function c(u,f,h){const d=u.inRange(t.x,t.y,i);if(n&&!d)return;const m=u.getCenterPoint(i);if(!(!!o||e.isPointInArea(m))&&!d)return;const b=a(t,m);b<l?(r=[{element:u,datasetIndex:f,index:h}],l=b):b===l&&r.push({element:u,datasetIndex:f,index:h})}return zn(e,s,t,c),r}function Co(e,t,s,n,i,o){return!o&&!e.isPointInArea(t)?[]:s==="r"&&!n?Am(e,t,s,i):Dm(e,t,s,n,i,o)}function il(e,t,s,n,i){const o=[],r=s==="x"?"inXRange":"inYRange";let a=!1;return zn(e,s,t,(l,c,u)=>{l[r]&&l[r](t[s],i)&&(o.push({element:l,datasetIndex:c,index:u}),a=a||l.inRange(t.x,t.y,i))}),n&&!a?[]:o}var Em={evaluateInteractionItems:zn,modes:{index(e,t,s,n){const i=de(t,e),o=s.axis||"x",r=s.includeInvisible||!1,a=s.intersect?ko(e,i,o,n,r):Co(e,i,o,!1,n,r),l=[];return a.length?(e.getSortedVisibleDatasetMetas().forEach(c=>{const u=a[0].index,f=c.data[u];f&&!f.skip&&l.push({element:f,datasetIndex:c.index,index:u})}),l):[]},dataset(e,t,s,n){const i=de(t,e),o=s.axis||"xy",r=s.includeInvisible||!1;let a=s.intersect?ko(e,i,o,n,r):Co(e,i,o,!1,n,r);if(a.length>0){const l=a[0].datasetIndex,c=e.getDatasetMeta(l).data;a=[];for(let u=0;u<c.length;++u)a.push({element:c[u],datasetIndex:l,index:u})}return a},point(e,t,s,n){const i=de(t,e),o=s.axis||"xy",r=s.includeInvisible||!1;return ko(e,i,o,n,r)},nearest(e,t,s,n){const i=de(t,e),o=s.axis||"xy",r=s.includeInvisible||!1;return Co(e,i,o,s.intersect,n,r)},x(e,t,s,n){const i=de(t,e);return il(e,i,"x",s.intersect,n)},y(e,t,s,n){const i=de(t,e);return il(e,i,"y",s.intersect,n)}}};const Iu=["left","top","right","bottom"];function Xs(e,t){return e.filter(s=>s.pos===t)}function ol(e,t){return e.filter(s=>Iu.indexOf(s.pos)===-1&&s.box.axis===t)}function qs(e,t){return e.sort((s,n)=>{const i=t?n:s,o=t?s:n;return i.weight===o.weight?i.index-o.index:i.weight-o.weight})}function Im(e){const t=[];let s,n,i,o,r,a;for(s=0,n=(e||[]).length;s<n;++s)i=e[s],{position:o,options:{stack:r,stackWeight:a=1}}=i,t.push({index:s,box:i,pos:o,horizontal:i.isHorizontal(),weight:i.weight,stack:r&&o+r,stackWeight:a});return t}function Rm(e){const t={};for(const s of e){const{stack:n,pos:i,stackWeight:o}=s;if(!n||!Iu.includes(i))continue;const r=t[n]||(t[n]={count:0,placed:0,weight:0,size:0});r.count++,r.weight+=o}return t}function Lm(e,t){const s=Rm(e),{vBoxMaxWidth:n,hBoxMaxHeight:i}=t;let o,r,a;for(o=0,r=e.length;o<r;++o){a=e[o];const{fullSize:l}=a.box,c=s[a.stack],u=c&&a.stackWeight/c.weight;a.horizontal?(a.width=u?u*n:l&&t.availableWidth,a.height=i):(a.width=n,a.height=u?u*i:l&&t.availableHeight)}return s}function Fm(e){const t=Im(e),s=qs(t.filter(c=>c.box.fullSize),!0),n=qs(Xs(t,"left"),!0),i=qs(Xs(t,"right")),o=qs(Xs(t,"top"),!0),r=qs(Xs(t,"bottom")),a=ol(t,"x"),l=ol(t,"y");return{fullSize:s,leftAndTop:n.concat(o),rightAndBottom:i.concat(l).concat(r).concat(a),chartArea:Xs(t,"chartArea"),vertical:n.concat(i).concat(l),horizontal:o.concat(r).concat(a)}}function rl(e,t,s,n){return Math.max(e[s],t[s])+Math.max(e[n],t[n])}function Ru(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 zm(e,t,s,n){const{pos:i,box:o}=s,r=e.maxPadding;if(!tt(i)){s.size&&(e[i]-=s.size);const f=n[s.stack]||{size:0,count:1};f.size=Math.max(f.size,s.horizontal?o.height:o.width),s.size=f.size/f.count,e[i]+=s.size}o.getPadding&&Ru(r,o.getPadding());const a=Math.max(0,t.outerWidth-rl(r,e,"left","right")),l=Math.max(0,t.outerHeight-rl(r,e,"top","bottom")),c=a!==e.w,u=l!==e.h;return e.w=a,e.h=l,s.horizontal?{same:c,other:u}:{same:u,other:c}}function Bm(e){const t=e.maxPadding;function s(n){const i=Math.max(t[n]-e[n],0);return e[n]+=i,i}e.y+=s("top"),e.x+=s("left"),s("right"),s("bottom")}function Vm(e,t){const s=t.maxPadding;function n(i){const o={left:0,top:0,right:0,bottom:0};return i.forEach(r=>{o[r]=Math.max(t[r],s[r])}),o}return n(e?["left","right"]:["top","bottom"])}function sn(e,t,s,n){const i=[];let o,r,a,l,c,u;for(o=0,r=e.length,c=0;o<r;++o){a=e[o],l=a.box,l.update(a.width||t.w,a.height||t.h,Vm(a.horizontal,t));const{same:f,other:h}=zm(t,s,a,n);c|=f&&i.length,u=u||h,l.fullSize||i.push(a)}return c&&sn(i,t,s,n)||u}function Gn(e,t,s,n,i){e.top=s,e.left=t,e.right=t+n,e.bottom=s+i,e.width=n,e.height=i}function al(e,t,s,n){const i=s.padding;let{x:o,y:r}=t;for(const a of e){const l=a.box,c=n[a.stack]||{count:1,placed:0,weight:1},u=a.stackWeight/c.weight||1;if(a.horizontal){const f=t.w*u,h=c.size||l.height;Pn(c.start)&&(r=c.start),l.fullSize?Gn(l,i.left,r,s.outerWidth-i.right-i.left,h):Gn(l,t.left+c.placed,r,f,h),c.start=r,c.placed+=f,r=l.bottom}else{const f=t.h*u,h=c.size||l.width;Pn(c.start)&&(o=c.start),l.fullSize?Gn(l,o,i.top,h,s.outerHeight-i.bottom-i.top):Gn(l,o,t.top+c.placed,h,f),c.start=o,c.placed+=f,o=l.right}}t.x=o,t.y=r}var Ye={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(s){t.draw(s)}}]},e.boxes.push(t)},removeBox(e,t){const s=e.boxes?e.boxes.indexOf(t):-1;s!==-1&&e.boxes.splice(s,1)},configure(e,t,s){t.fullSize=s.fullSize,t.position=s.position,t.weight=s.weight},update(e,t,s,n){if(!e)return;const i=Ee(e.options.layout.padding),o=Math.max(t-i.width,0),r=Math.max(s-i.height,0),a=Fm(e.boxes),l=a.vertical,c=a.horizontal;rt(e.boxes,p=>{typeof p.beforeLayout=="function"&&p.beforeLayout()});const u=l.reduce((p,b)=>b.box.options&&b.box.options.display===!1?p:p+1,0)||1,f=Object.freeze({outerWidth:t,outerHeight:s,padding:i,availableWidth:o,availableHeight:r,vBoxMaxWidth:o/2/u,hBoxMaxHeight:r/2}),h=Object.assign({},i);Ru(h,Ee(n));const d=Object.assign({maxPadding:h,w:o,h:r,x:i.left,y:i.top},i),m=Lm(l.concat(c),f);sn(a.fullSize,d,f,m),sn(l,d,f,m),sn(c,d,f,m)&&sn(l,d,f,m),Bm(d),al(a.leftAndTop,d,f,m),d.x+=d.w,d.y+=d.h,al(a.rightAndBottom,d,f,m),e.chartArea={left:d.left,top:d.top,right:d.left+d.w,bottom:d.top+d.h,height:d.h,width:d.w},rt(a.chartArea,p=>{const b=p.box;Object.assign(b,e.chartArea),b.update(d.w,d.h,{left:0,top:0,right:0,bottom:0})})}};class Lu{acquireContext(t,s){}releaseContext(t){return!1}addEventListener(t,s,n){}removeEventListener(t,s,n){}getDevicePixelRatio(){return 1}getMaximumSize(t,s,n,i){return s=Math.max(0,s||t.width),n=n||t.height,{width:s,height:Math.max(0,i?Math.floor(s/i):n)}}isAttached(t){return!0}updateConfig(t){}}class Nm extends Lu{acquireContext(t){return t&&t.getContext&&t.getContext("2d")||null}updateConfig(t){t.options.animation=!1}}const gi="$chartjs",$m={touchstart:"mousedown",touchmove:"mousemove",touchend:"mouseup",pointerenter:"mouseenter",pointerdown:"mousedown",pointermove:"mousemove",pointerup:"mouseup",pointerleave:"mouseout",pointerout:"mouseout"},ll=e=>e===null||e==="";function Hm(e,t){const s=e.style,n=e.getAttribute("height"),i=e.getAttribute("width");if(e[gi]={initial:{height:n,width:i,style:{display:s.display,height:s.height,width:s.width}}},s.display=s.display||"block",s.boxSizing=s.boxSizing||"border-box",ll(i)){const o=Ua(e,"width");o!==void 0&&(e.width=o)}if(ll(n))if(e.style.height==="")e.height=e.width/(t||2);else{const o=Ua(e,"height");o!==void 0&&(e.height=o)}return e}const Fu=Hg?{passive:!0}:!1;function jm(e,t,s){e&&e.addEventListener(t,s,Fu)}function Wm(e,t,s){e&&e.canvas&&e.canvas.removeEventListener(t,s,Fu)}function Um(e,t){const s=$m[e.type]||e.type,{x:n,y:i}=de(e,t);return{type:s,chart:t,native:e,x:n!==void 0?n:null,y:i!==void 0?i:null}}function Ii(e,t){for(const s of e)if(s===t||s.contains(t))return!0}function Km(e,t,s){const n=e.canvas,i=new MutationObserver(o=>{let r=!1;for(const a of o)r=r||Ii(a.addedNodes,n),r=r&&!Ii(a.removedNodes,n);r&&s()});return i.observe(document,{childList:!0,subtree:!0}),i}function Ym(e,t,s){const n=e.canvas,i=new MutationObserver(o=>{let r=!1;for(const a of o)r=r||Ii(a.removedNodes,n),r=r&&!Ii(a.addedNodes,n);r&&s()});return i.observe(document,{childList:!0,subtree:!0}),i}const On=new Map;let cl=0;function zu(){const e=window.devicePixelRatio;e!==cl&&(cl=e,On.forEach((t,s)=>{s.currentDevicePixelRatio!==e&&t()}))}function Xm(e,t){On.size||window.addEventListener("resize",zu),On.set(e,t)}function qm(e){On.delete(e),On.size||window.removeEventListener("resize",zu)}function Gm(e,t,s){const n=e.canvas,i=n&&Br(n);if(!i)return;const o=gu((a,l)=>{const c=i.clientWidth;s(a,l),c<i.clientWidth&&s()},window),r=new ResizeObserver(a=>{const l=a[0],c=l.contentRect.width,u=l.contentRect.height;c===0&&u===0||o(c,u)});return r.observe(i),Xm(e,o),r}function Po(e,t,s){s&&s.disconnect(),t==="resize"&&qm(e)}function Zm(e,t,s){const n=e.canvas,i=gu(o=>{e.ctx!==null&&s(Um(o,e))},e);return jm(n,t,i),i}class Jm extends Lu{acquireContext(t,s){const n=t&&t.getContext&&t.getContext("2d");return n&&n.canvas===t?(Hm(t,s),n):null}releaseContext(t){const s=t.canvas;if(!s[gi])return!1;const n=s[gi].initial;["height","width"].forEach(o=>{const r=n[o];ct(r)?s.removeAttribute(o):s.setAttribute(o,r)});const i=n.style||{};return Object.keys(i).forEach(o=>{s.style[o]=i[o]}),s.width=s.width,delete s[gi],!0}addEventListener(t,s,n){this.removeEventListener(t,s);const i=t.$proxies||(t.$proxies={}),r={attach:Km,detach:Ym,resize:Gm}[s]||Zm;i[s]=r(t,s,n)}removeEventListener(t,s){const n=t.$proxies||(t.$proxies={}),i=n[s];if(!i)return;({attach:Po,detach:Po,resize:Po}[s]||Wm)(t,s,i),n[s]=void 0}getDevicePixelRatio(){return window.devicePixelRatio}getMaximumSize(t,s,n,i){return $g(t,s,n,i)}isAttached(t){const s=t&&Br(t);return!!(s&&s.isConnected)}}function Qm(e){return!zr()||typeof OffscreenCanvas<"u"&&e instanceof OffscreenCanvas?Nm:Jm}var ni;let ks=(ni=class{constructor(){N(this,"x");N(this,"y");N(this,"active",!1);N(this,"options");N(this,"$animations")}tooltipPosition(t){const{x:s,y:n}=this.getProps(["x","y"],t);return{x:s,y:n}}hasValue(){return Vs(this.x)&&Vs(this.y)}getProps(t,s){const n=this.$animations;if(!s||!n)return this;const i={};return t.forEach(o=>{i[o]=n[o]&&n[o].active()?n[o]._to:this[o]}),i}},N(ni,"defaults",{}),N(ni,"defaultRoutes"),ni);function tb(e,t){const s=e.options.ticks,n=eb(e),i=Math.min(s.maxTicksLimit||n,n),o=s.major.enabled?nb(t):[],r=o.length,a=o[0],l=o[r-1],c=[];if(r>i)return ib(t,c,o,r/i),c;const u=sb(o,t,i);if(r>0){let f,h;const d=r>1?Math.round((l-a)/(r-1)):null;for(Zn(t,c,u,ct(d)?0:a-d,a),f=0,h=r-1;f<h;f++)Zn(t,c,u,o[f],o[f+1]);return Zn(t,c,u,l,ct(d)?t.length:l+d),c}return Zn(t,c,u),c}function eb(e){const t=e.options.offset,s=e._tickSize(),n=e._length/s+(t?0:1),i=e._maxLength/s;return Math.floor(Math.min(n,i))}function sb(e,t,s){const n=ob(e),i=t.length/s;if(!n)return Math.max(i,1);const o=Wp(n);for(let r=0,a=o.length-1;r<a;r++){const l=o[r];if(l>i)return l}return Math.max(i,1)}function nb(e){const t=[];let s,n;for(s=0,n=e.length;s<n;s++)e[s].major&&t.push(s);return t}function ib(e,t,s,n){let i=0,o=s[0],r;for(n=Math.ceil(n),r=0;r<e.length;r++)r===o&&(t.push(e[r]),i++,o=s[i*n])}function Zn(e,t,s,n,i){const o=lt(n,0),r=Math.min(lt(i,e.length),e.length);let a=0,l,c,u;for(s=Math.ceil(s),i&&(l=i-n,s=l/Math.floor(l/s)),u=o;u<0;)a++,u=Math.round(o+a*s);for(c=Math.max(o,0);c<r;c++)c===u&&(t.push(e[c]),a++,u=Math.round(o+a*s))}function ob(e){const t=e.length;let s,n;if(t<2)return!1;for(n=e[0],s=1;s<t;++s)if(e[s]-e[s-1]!==n)return!1;return n}const rb=e=>e==="left"?"right":e==="right"?"left":e,ul=(e,t,s)=>t==="top"||t==="left"?e[t]+s:e[t]-s,fl=(e,t)=>Math.min(t||e,e);function hl(e,t){const s=[],n=e.length/t,i=e.length;let o=0;for(;o<i;o+=n)s.push(e[Math.floor(o)]);return s}function ab(e,t,s){const n=e.ticks.length,i=Math.min(t,n-1),o=e._startPixel,r=e._endPixel,a=1e-6;let l=e.getPixelForTick(i),c;if(!(s&&(n===1?c=Math.max(l-o,r-l):t===0?c=(e.getPixelForTick(1)-l)/2:c=(l-e.getPixelForTick(i-1))/2,l+=i<t?c:-c,l<o-a||l>r+a)))return l}function lb(e,t){rt(e,s=>{const n=s.gc,i=n.length/2;let o;if(i>t){for(o=0;o<i;++o)delete s.data[n[o]];n.splice(0,i)}})}function Gs(e){return e.drawTicks?e.tickLength:0}function dl(e,t){if(!e.display)return 0;const s=te(e.font,t),n=Ee(e.padding);return(St(e.text)?e.text.length:1)*s.lineHeight+n.height}function cb(e,t){return Ms(e,{scale:t,type:"scale"})}function ub(e,t,s){return Ms(e,{tick:s,index:t,type:"tick"})}function fb(e,t,s){let n=mu(e);return(s&&t!=="right"||!s&&t==="right")&&(n=rb(n)),n}function hb(e,t,s,n){const{top:i,left:o,bottom:r,right:a,chart:l}=e,{chartArea:c,scales:u}=l;let f=0,h,d,m;const p=r-i,b=a-o;if(e.isHorizontal()){if(d=dn(n,o,a),tt(s)){const x=Object.keys(s)[0],y=s[x];m=u[x].getPixelForValue(y)+p-t}else s==="center"?m=(c.bottom+c.top)/2+p-t:m=ul(e,s,t);h=a-o}else{if(tt(s)){const x=Object.keys(s)[0],y=s[x];d=u[x].getPixelForValue(y)-b+t}else s==="center"?d=(c.left+c.right)/2-b+t:d=ul(e,s,t);m=dn(n,r,i),f=s==="left"?-ie:ie}return{titleX:d,titleY:m,maxWidth:h,rotation:f}}class Cs extends ks{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,s){return t}getUserBounds(){let{_userMin:t,_userMax:s,_suggestedMin:n,_suggestedMax:i}=this;return t=Kt(t,Number.POSITIVE_INFINITY),s=Kt(s,Number.NEGATIVE_INFINITY),n=Kt(n,Number.POSITIVE_INFINITY),i=Kt(i,Number.NEGATIVE_INFINITY),{min:Kt(t,n),max:Kt(s,i),minDefined:It(t),maxDefined:It(s)}}getMinMax(t){let{min:s,max:n,minDefined:i,maxDefined:o}=this.getUserBounds(),r;if(i&&o)return{min:s,max:n};const a=this.getMatchingVisibleMetas();for(let l=0,c=a.length;l<c;++l)r=a[l].controller.getMinMax(this,t),i||(s=Math.min(s,r.min)),o||(n=Math.max(n,r.max));return s=o&&s>n?n:s,n=i&&s>n?s:n,{min:Kt(s,Kt(n,s)),max:Kt(n,Kt(s,n))}}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(t=this.chart.chartArea){return this._labelItems||(this._labelItems=this._computeLabelItems(t))}beforeLayout(){this._cache={},this._dataLimitsCached=!1}beforeUpdate(){mt(this.options.beforeUpdate,[this])}update(t,s,n){const{beginAtZero:i,grace:o,ticks:r}=this.options,a=r.sampleSize;this.beforeUpdate(),this.maxWidth=t,this.maxHeight=s,this._margins=n=Object.assign({left:0,right:0,top:0,bottom:0},n),this.ticks=null,this._labelSizes=null,this._gridLineItems=null,this._labelItems=null,this.beforeSetDimensions(),this.setDimensions(),this.afterSetDimensions(),this._maxLength=this.isHorizontal()?this.width+n.left+n.right:this.height+n.top+n.bottom,this._dataLimitsCached||(this.beforeDataLimits(),this.determineDataLimits(),this.afterDataLimits(),this._range=xg(this,o,i),this._dataLimitsCached=!0),this.beforeBuildTicks(),this.ticks=this.buildTicks()||[],this.afterBuildTicks();const l=a<this.ticks.length;this._convertTicksToLabels(l?hl(this.ticks,a):this.ticks),this.configure(),this.beforeCalculateLabelRotation(),this.calculateLabelRotation(),this.afterCalculateLabelRotation(),r.display&&(r.autoSkip||r.source==="auto")&&(this.ticks=tb(this,this.ticks),this._labelSizes=null,this.afterAutoSkip()),l&&this._convertTicksToLabels(this.ticks),this.beforeFit(),this.fit(),this.afterFit(),this.afterUpdate()}configure(){let t=this.options.reverse,s,n;this.isHorizontal()?(s=this.left,n=this.right):(s=this.top,n=this.bottom,t=!t),this._startPixel=s,this._endPixel=n,this._reversePixels=t,this._length=n-s,this._alignToPixels=this.options.alignToPixels}afterUpdate(){mt(this.options.afterUpdate,[this])}beforeSetDimensions(){mt(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(){mt(this.options.afterSetDimensions,[this])}_callHooks(t){this.chart.notifyPlugins(t,this.getContext()),mt(this.options[t],[this])}beforeDataLimits(){this._callHooks("beforeDataLimits")}determineDataLimits(){}afterDataLimits(){this._callHooks("afterDataLimits")}beforeBuildTicks(){this._callHooks("beforeBuildTicks")}buildTicks(){return[]}afterBuildTicks(){this._callHooks("afterBuildTicks")}beforeTickToLabelConversion(){mt(this.options.beforeTickToLabelConversion,[this])}generateTickLabels(t){const s=this.options.ticks;let n,i,o;for(n=0,i=t.length;n<i;n++)o=t[n],o.label=mt(s.callback,[o.value,n,t],this)}afterTickToLabelConversion(){mt(this.options.afterTickToLabelConversion,[this])}beforeCalculateLabelRotation(){mt(this.options.beforeCalculateLabelRotation,[this])}calculateLabelRotation(){const t=this.options,s=t.ticks,n=fl(this.ticks.length,t.ticks.maxTicksLimit),i=s.minRotation||0,o=s.maxRotation;let r=i,a,l,c;if(!this._isVisible()||!s.display||i>=o||n<=1||!this.isHorizontal()){this.labelRotation=i;return}const u=this._getLabelSizes(),f=u.widest.width,h=u.highest.height,d=qt(this.chart.width-f,0,this.maxWidth);a=t.offset?this.maxWidth/n:d/(n-1),f+6>a&&(a=d/(n-(t.offset?.5:1)),l=this.maxHeight-Gs(t.grid)-s.padding-dl(t.title,this.chart.options.font),c=Math.sqrt(f*f+h*h),r=Kp(Math.min(Math.asin(qt((u.highest.height+6)/a,-1,1)),Math.asin(qt(l/c,-1,1))-Math.asin(qt(h/c,-1,1)))),r=Math.max(i,Math.min(o,r))),this.labelRotation=r}afterCalculateLabelRotation(){mt(this.options.afterCalculateLabelRotation,[this])}afterAutoSkip(){}beforeFit(){mt(this.options.beforeFit,[this])}fit(){const t={width:0,height:0},{chart:s,options:{ticks:n,title:i,grid:o}}=this,r=this._isVisible(),a=this.isHorizontal();if(r){const l=dl(i,s.options.font);if(a?(t.width=this.maxWidth,t.height=Gs(o)+l):(t.height=this.maxHeight,t.width=Gs(o)+l),n.display&&this.ticks.length){const{first:c,last:u,widest:f,highest:h}=this._getLabelSizes(),d=n.padding*2,m=ms(this.labelRotation),p=Math.cos(m),b=Math.sin(m);if(a){const x=n.mirror?0:b*f.width+p*h.height;t.height=Math.min(this.maxHeight,t.height+x+d)}else{const x=n.mirror?0:p*f.width+b*h.height;t.width=Math.min(this.maxWidth,t.width+x+d)}this._calculatePadding(c,u,b,p)}}this._handleMargins(),a?(this.width=this._length=s.width-this._margins.left-this._margins.right,this.height=t.height):(this.width=t.width,this.height=this._length=s.height-this._margins.top-this._margins.bottom)}_calculatePadding(t,s,n,i){const{ticks:{align:o,padding:r},position:a}=this.options,l=this.labelRotation!==0,c=a!=="top"&&this.axis==="x";if(this.isHorizontal()){const u=this.getPixelForTick(0)-this.left,f=this.right-this.getPixelForTick(this.ticks.length-1);let h=0,d=0;l?c?(h=i*t.width,d=n*s.height):(h=n*t.height,d=i*s.width):o==="start"?d=s.width:o==="end"?h=t.width:o!=="inner"&&(h=t.width/2,d=s.width/2),this.paddingLeft=Math.max((h-u+r)*this.width/(this.width-u),0),this.paddingRight=Math.max((d-f+r)*this.width/(this.width-f),0)}else{let u=s.height/2,f=t.height/2;o==="start"?(u=0,f=t.height):o==="end"&&(u=s.height,f=0),this.paddingTop=u+r,this.paddingBottom=f+r}}_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(){mt(this.options.afterFit,[this])}isHorizontal(){const{axis:t,position:s}=this.options;return s==="top"||s==="bottom"||t==="x"}isFullSize(){return this.options.fullSize}_convertTicksToLabels(t){this.beforeTickToLabelConversion(),this.generateTickLabels(t);let s,n;for(s=0,n=t.length;s<n;s++)ct(t[s].label)&&(t.splice(s,1),n--,s--);this.afterTickToLabelConversion()}_getLabelSizes(){let t=this._labelSizes;if(!t){const s=this.options.ticks.sampleSize;let n=this.ticks;s<n.length&&(n=hl(n,s)),this._labelSizes=t=this._computeLabelSizes(n,n.length,this.options.ticks.maxTicksLimit)}return t}_computeLabelSizes(t,s,n){const{ctx:i,_longestTextCache:o}=this,r=[],a=[],l=Math.floor(s/fl(s,n));let c=0,u=0,f,h,d,m,p,b,x,y,M,v,S;for(f=0;f<s;f+=l){if(m=t[f].label,p=this._resolveTickFontOptions(f),i.font=b=p.string,x=o[b]=o[b]||{data:{},gc:[]},y=p.lineHeight,M=v=0,!ct(m)&&!St(m))M=Na(i,x.data,x.gc,M,m),v=y;else if(St(m))for(h=0,d=m.length;h<d;++h)S=m[h],!ct(S)&&!St(S)&&(M=Na(i,x.data,x.gc,M,S),v+=y);r.push(M),a.push(v),c=Math.max(M,c),u=Math.max(v,u)}lb(o,s);const D=r.indexOf(c),I=a.indexOf(u),z=R=>({width:r[R]||0,height:a[R]||0});return{first:z(0),last:z(s-1),widest:z(D),highest:z(I),widths:r,heights:a}}getLabelForValue(t){return t}getPixelForValue(t,s){return NaN}getValueForPixel(t){}getPixelForTick(t){const s=this.ticks;return t<0||t>s.length-1?null:this.getPixelForValue(s[t].value)}getPixelForDecimal(t){this._reversePixels&&(t=1-t);const s=this._startPixel+t*this._length;return qp(this._alignToPixels?us(this.chart,s,0):s)}getDecimalForPixel(t){const s=(t-this._startPixel)/this._length;return this._reversePixels?1-s:s}getBasePixel(){return this.getPixelForValue(this.getBaseValue())}getBaseValue(){const{min:t,max:s}=this;return t<0&&s<0?s:t>0&&s>0?t:0}getContext(t){const s=this.ticks||[];if(t>=0&&t<s.length){const n=s[t];return n.$context||(n.$context=ub(this.getContext(),t,n))}return this.$context||(this.$context=cb(this.chart.getContext(),this))}_tickSize(){const t=this.options.ticks,s=ms(this.labelRotation),n=Math.abs(Math.cos(s)),i=Math.abs(Math.sin(s)),o=this._getLabelSizes(),r=t.autoSkipPadding||0,a=o?o.widest.width+r:0,l=o?o.highest.height+r:0;return this.isHorizontal()?l*n>a*i?a/n:l/i:l*i<a*n?l/n:a/i}_isVisible(){const t=this.options.display;return t!=="auto"?!!t:this.getMatchingVisibleMetas().length>0}_computeGridLineItems(t){const s=this.axis,n=this.chart,i=this.options,{grid:o,position:r,border:a}=i,l=o.offset,c=this.isHorizontal(),f=this.ticks.length+(l?1:0),h=Gs(o),d=[],m=a.setContext(this.getContext()),p=m.display?m.width:0,b=p/2,x=function(X){return us(n,X,p)};let y,M,v,S,D,I,z,R,V,W,E,Z;if(r==="top")y=x(this.bottom),I=this.bottom-h,R=y-b,W=x(t.top)+b,Z=t.bottom;else if(r==="bottom")y=x(this.top),W=t.top,Z=x(t.bottom)-b,I=y+b,R=this.top+h;else if(r==="left")y=x(this.right),D=this.right-h,z=y-b,V=x(t.left)+b,E=t.right;else if(r==="right")y=x(this.left),V=t.left,E=x(t.right)-b,D=y+b,z=this.left+h;else if(s==="x"){if(r==="center")y=x((t.top+t.bottom)/2+.5);else if(tt(r)){const X=Object.keys(r)[0],q=r[X];y=x(this.chart.scales[X].getPixelForValue(q))}W=t.top,Z=t.bottom,I=y+b,R=I+h}else if(s==="y"){if(r==="center")y=x((t.left+t.right)/2);else if(tt(r)){const X=Object.keys(r)[0],q=r[X];y=x(this.chart.scales[X].getPixelForValue(q))}D=y-b,z=D-h,V=t.left,E=t.right}const ht=lt(i.ticks.maxTicksLimit,f),it=Math.max(1,Math.ceil(f/ht));for(M=0;M<f;M+=it){const X=this.getContext(M),q=o.setContext(X),et=a.setContext(X),Gt=q.lineWidth,se=q.color,Zt=et.dash||[],Ct=et.dashOffset,Be=q.tickWidth,be=q.tickColor,is=q.tickBorderDash||[],$t=q.tickBorderDashOffset;v=ab(this,M,l),v!==void 0&&(S=us(n,v,Gt),c?D=z=V=E=S:I=R=W=Z=S,d.push({tx1:D,ty1:I,tx2:z,ty2:R,x1:V,y1:W,x2:E,y2:Z,width:Gt,color:se,borderDash:Zt,borderDashOffset:Ct,tickWidth:Be,tickColor:be,tickBorderDash:is,tickBorderDashOffset:$t}))}return this._ticksLength=f,this._borderValue=y,d}_computeLabelItems(t){const s=this.axis,n=this.options,{position:i,ticks:o}=n,r=this.isHorizontal(),a=this.ticks,{align:l,crossAlign:c,padding:u,mirror:f}=o,h=Gs(n.grid),d=h+u,m=f?-u:d,p=-ms(this.labelRotation),b=[];let x,y,M,v,S,D,I,z,R,V,W,E,Z="middle";if(i==="top")D=this.bottom-m,I=this._getXAxisLabelAlignment();else if(i==="bottom")D=this.top+m,I=this._getXAxisLabelAlignment();else if(i==="left"){const it=this._getYAxisLabelAlignment(h);I=it.textAlign,S=it.x}else if(i==="right"){const it=this._getYAxisLabelAlignment(h);I=it.textAlign,S=it.x}else if(s==="x"){if(i==="center")D=(t.top+t.bottom)/2+d;else if(tt(i)){const it=Object.keys(i)[0],X=i[it];D=this.chart.scales[it].getPixelForValue(X)+d}I=this._getXAxisLabelAlignment()}else if(s==="y"){if(i==="center")S=(t.left+t.right)/2-d;else if(tt(i)){const it=Object.keys(i)[0],X=i[it];S=this.chart.scales[it].getPixelForValue(X)}I=this._getYAxisLabelAlignment(h).textAlign}s==="y"&&(l==="start"?Z="top":l==="end"&&(Z="bottom"));const ht=this._getLabelSizes();for(x=0,y=a.length;x<y;++x){M=a[x],v=M.label;const it=o.setContext(this.getContext(x));z=this.getPixelForTick(x)+o.labelOffset,R=this._resolveTickFontOptions(x),V=R.lineHeight,W=St(v)?v.length:1;const X=W/2,q=it.color,et=it.textStrokeColor,Gt=it.textStrokeWidth;let se=I;r?(S=z,I==="inner"&&(x===y-1?se=this.options.reverse?"left":"right":x===0?se=this.options.reverse?"right":"left":se="center"),i==="top"?c==="near"||p!==0?E=-W*V+V/2:c==="center"?E=-ht.highest.height/2-X*V+V:E=-ht.highest.height+V/2:c==="near"||p!==0?E=V/2:c==="center"?E=ht.highest.height/2-X*V:E=ht.highest.height-W*V,f&&(E*=-1),p!==0&&!it.showLabelBackdrop&&(S+=V/2*Math.sin(p))):(D=z,E=(1-W)*V/2);let Zt;if(it.showLabelBackdrop){const Ct=Ee(it.backdropPadding),Be=ht.heights[x],be=ht.widths[x];let is=E-Ct.top,$t=0-Ct.left;switch(Z){case"middle":is-=Be/2;break;case"bottom":is-=Be;break}switch(I){case"center":$t-=be/2;break;case"right":$t-=be;break;case"inner":x===y-1?$t-=be:x>0&&($t-=be/2);break}Zt={left:$t,top:is,width:be+Ct.width,height:Be+Ct.height,color:it.backdropColor}}b.push({label:v,font:R,textOffset:E,options:{rotation:p,color:q,strokeColor:et,strokeWidth:Gt,textAlign:se,textBaseline:Z,translation:[S,D],backdrop:Zt}})}return b}_getXAxisLabelAlignment(){const{position:t,ticks:s}=this.options;if(-ms(this.labelRotation))return t==="top"?"left":"right";let i="center";return s.align==="start"?i="left":s.align==="end"?i="right":s.align==="inner"&&(i="inner"),i}_getYAxisLabelAlignment(t){const{position:s,ticks:{crossAlign:n,mirror:i,padding:o}}=this.options,r=this._getLabelSizes(),a=t+o,l=r.widest.width;let c,u;return s==="left"?i?(u=this.right+o,n==="near"?c="left":n==="center"?(c="center",u+=l/2):(c="right",u+=l)):(u=this.right-a,n==="near"?c="right":n==="center"?(c="center",u-=l/2):(c="left",u=this.left)):s==="right"?i?(u=this.left+o,n==="near"?c="right":n==="center"?(c="center",u-=l/2):(c="left",u-=l)):(u=this.left+a,n==="near"?c="left":n==="center"?(c="center",u+=l/2):(c="right",u=this.right)):c="right",{textAlign:c,x:u}}_computeLabelArea(){if(this.options.ticks.mirror)return;const t=this.chart,s=this.options.position;if(s==="left"||s==="right")return{top:0,left:this.left,bottom:t.height,right:this.right};if(s==="top"||s==="bottom")return{top:this.top,left:0,bottom:this.bottom,right:t.width}}drawBackground(){const{ctx:t,options:{backgroundColor:s},left:n,top:i,width:o,height:r}=this;s&&(t.save(),t.fillStyle=s,t.fillRect(n,i,o,r),t.restore())}getLineWidthForValue(t){const s=this.options.grid;if(!this._isVisible()||!s.display)return 0;const i=this.ticks.findIndex(o=>o.value===t);return i>=0?s.setContext(this.getContext(i)).lineWidth:0}drawGrid(t){const s=this.options.grid,n=this.ctx,i=this._gridLineItems||(this._gridLineItems=this._computeGridLineItems(t));let o,r;const a=(l,c,u)=>{!u.width||!u.color||(n.save(),n.lineWidth=u.width,n.strokeStyle=u.color,n.setLineDash(u.borderDash||[]),n.lineDashOffset=u.borderDashOffset,n.beginPath(),n.moveTo(l.x,l.y),n.lineTo(c.x,c.y),n.stroke(),n.restore())};if(s.display)for(o=0,r=i.length;o<r;++o){const l=i[o];s.drawOnChartArea&&a({x:l.x1,y:l.y1},{x:l.x2,y:l.y2},l),s.drawTicks&&a({x:l.tx1,y:l.ty1},{x:l.tx2,y:l.ty2},{color:l.tickColor,width:l.tickWidth,borderDash:l.tickBorderDash,borderDashOffset:l.tickBorderDashOffset})}}drawBorder(){const{chart:t,ctx:s,options:{border:n,grid:i}}=this,o=n.setContext(this.getContext()),r=n.display?o.width:0;if(!r)return;const a=i.setContext(this.getContext(0)).lineWidth,l=this._borderValue;let c,u,f,h;this.isHorizontal()?(c=us(t,this.left,r)-r/2,u=us(t,this.right,a)+a/2,f=h=l):(f=us(t,this.top,r)-r/2,h=us(t,this.bottom,a)+a/2,c=u=l),s.save(),s.lineWidth=o.width,s.strokeStyle=o.color,s.beginPath(),s.moveTo(c,f),s.lineTo(u,h),s.stroke(),s.restore()}drawLabels(t){if(!this.options.ticks.display)return;const n=this.ctx,i=this._computeLabelArea();i&&yu(n,i);const o=this.getLabelItems(t);for(const r of o){const a=r.options,l=r.font,c=r.label,u=r.textOffset;Qo(n,c,0,u,l,a)}i&&vu(n)}drawTitle(){const{ctx:t,options:{position:s,title:n,reverse:i}}=this;if(!n.display)return;const o=te(n.font),r=Ee(n.padding),a=n.align;let l=o.lineHeight/2;s==="bottom"||s==="center"||tt(s)?(l+=r.bottom,St(n.text)&&(l+=o.lineHeight*(n.text.length-1))):l+=r.top;const{titleX:c,titleY:u,maxWidth:f,rotation:h}=hb(this,l,s,a);Qo(t,n.text,0,0,o,{color:n.color,maxWidth:f,rotation:h,textAlign:fb(a,s,i),textBaseline:"middle",translation:[c,u]})}draw(t){this._isVisible()&&(this.drawBackground(),this.drawGrid(t),this.drawBorder(),this.drawTitle(),this.drawLabels(t))}_layers(){const t=this.options,s=t.ticks&&t.ticks.z||0,n=lt(t.grid&&t.grid.z,-1),i=lt(t.border&&t.border.z,0);return!this._isVisible()||this.draw!==Cs.prototype.draw?[{z:s,draw:o=>{this.draw(o)}}]:[{z:n,draw:o=>{this.drawBackground(),this.drawGrid(o),this.drawTitle()}},{z:i,draw:()=>{this.drawBorder()}},{z:s,draw:o=>{this.drawLabels(o)}}]}getMatchingVisibleMetas(t){const s=this.chart.getSortedVisibleDatasetMetas(),n=this.axis+"AxisID",i=[];let o,r;for(o=0,r=s.length;o<r;++o){const a=s[o];a[n]===this.id&&(!t||a.type===t)&&i.push(a)}return i}_resolveTickFontOptions(t){const s=this.options.ticks.setContext(this.getContext(t));return te(s.font)}_maxDigits(){const t=this._resolveTickFontOptions(0).lineHeight;return(this.isHorizontal()?this.width:this.height)/t}}class Jn{constructor(t,s,n){this.type=t,this.scope=s,this.override=n,this.items=Object.create(null)}isForType(t){return Object.prototype.isPrototypeOf.call(this.type.prototype,t.prototype)}register(t){const s=Object.getPrototypeOf(t);let n;gb(s)&&(n=this.register(s));const i=this.items,o=t.id,r=this.scope+"."+o;if(!o)throw new Error("class does not have id: "+t);return o in i||(i[o]=t,db(t,r,n),this.override&&yt.override(t.id,t.overrides)),r}get(t){return this.items[t]}unregister(t){const s=this.items,n=t.id,i=this.scope;n in s&&delete s[n],i&&n in yt[i]&&(delete yt[i][n],this.override&&delete Ss[n])}}function db(e,t,s){const n=Cn(Object.create(null),[s?yt.get(s):{},yt.get(t),e.defaults]);yt.set(t,n),e.defaultRoutes&&pb(t,e.defaultRoutes),e.descriptors&&yt.describe(t,e.descriptors)}function pb(e,t){Object.keys(t).forEach(s=>{const n=s.split("."),i=n.pop(),o=[e].concat(n).join("."),r=t[s].split("."),a=r.pop(),l=r.join(".");yt.route(o,i,l,a)})}function gb(e){return"id"in e&&"defaults"in e}class mb{constructor(){this.controllers=new Jn(ys,"datasets",!0),this.elements=new Jn(ks,"elements"),this.plugins=new Jn(Object,"plugins"),this.scales=new Jn(Cs,"scales"),this._typedRegistries=[this.controllers,this.scales,this.elements]}add(...t){this._each("register",t)}remove(...t){this._each("unregister",t)}addControllers(...t){this._each("register",t,this.controllers)}addElements(...t){this._each("register",t,this.elements)}addPlugins(...t){this._each("register",t,this.plugins)}addScales(...t){this._each("register",t,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(...t){this._each("unregister",t,this.controllers)}removeElements(...t){this._each("unregister",t,this.elements)}removePlugins(...t){this._each("unregister",t,this.plugins)}removeScales(...t){this._each("unregister",t,this.scales)}_each(t,s,n){[...s].forEach(i=>{const o=n||this._getRegistryForType(i);n||o.isForType(i)||o===this.plugins&&i.id?this._exec(t,o,i):rt(i,r=>{const a=n||this._getRegistryForType(r);this._exec(t,a,r)})})}_exec(t,s,n){const i=Or(t);mt(n["before"+i],[],n),s[t](n),mt(n["after"+i],[],n)}_getRegistryForType(t){for(let s=0;s<this._typedRegistries.length;s++){const n=this._typedRegistries[s];if(n.isForType(t))return n}return this.plugins}_get(t,s,n){const i=s.get(t);if(i===void 0)throw new Error('"'+t+'" is not a registered '+n+".");return i}}var fe=new mb;class bb{constructor(){this._init=[]}notify(t,s,n,i){s==="beforeInit"&&(this._init=this._createDescriptors(t,!0),this._notify(this._init,t,"install"));const o=i?this._descriptors(t).filter(i):this._descriptors(t),r=this._notify(o,t,s,n);return s==="afterDestroy"&&(this._notify(o,t,"stop"),this._notify(this._init,t,"uninstall")),r}_notify(t,s,n,i){i=i||{};for(const o of t){const r=o.plugin,a=r[n],l=[s,i,o.options];if(mt(a,l,r)===!1&&i.cancelable)return!1}return!0}invalidate(){ct(this._cache)||(this._oldCache=this._cache,this._cache=void 0)}_descriptors(t){if(this._cache)return this._cache;const s=this._cache=this._createDescriptors(t);return this._notifyStateChanges(t),s}_createDescriptors(t,s){const n=t&&t.config,i=lt(n.options&&n.options.plugins,{}),o=_b(n);return i===!1&&!s?[]:yb(t,o,i,s)}_notifyStateChanges(t){const s=this._oldCache||[],n=this._cache,i=(o,r)=>o.filter(a=>!r.some(l=>a.plugin.id===l.plugin.id));this._notify(i(s,n),t,"stop"),this._notify(i(n,s),t,"start")}}function _b(e){const t={},s=[],n=Object.keys(fe.plugins.items);for(let o=0;o<n.length;o++)s.push(fe.getPlugin(n[o]));const i=e.plugins||[];for(let o=0;o<i.length;o++){const r=i[o];s.indexOf(r)===-1&&(s.push(r),t[r.id]=!0)}return{plugins:s,localIds:t}}function xb(e,t){return!t&&e===!1?null:e===!0?{}:e}function yb(e,{plugins:t,localIds:s},n,i){const o=[],r=e.getContext();for(const a of t){const l=a.id,c=xb(n[l],i);c!==null&&o.push({plugin:a,options:vb(e.config,{plugin:a,local:s[l]},c,r)})}return o}function vb(e,{plugin:t,local:s},n,i){const o=e.pluginScopeKeys(t),r=e.getOptionScopes(n,o);return s&&t.defaults&&r.push(t.defaults),e.createResolver(r,i,[""],{scriptable:!1,indexable:!1,allKeys:!0})}function er(e,t){const s=yt.datasets[e]||{};return((t.datasets||{})[e]||{}).indexAxis||t.indexAxis||s.indexAxis||"x"}function wb(e,t){let s=e;return e==="_index_"?s=t:e==="_value_"&&(s=t==="x"?"y":"x"),s}function Sb(e,t){return e===t?"_index_":"_value_"}function pl(e){if(e==="x"||e==="y"||e==="r")return e}function Mb(e){if(e==="top"||e==="bottom")return"x";if(e==="left"||e==="right")return"y"}function sr(e,...t){if(pl(e))return e;for(const s of t){const n=s.axis||Mb(s.position)||e.length>1&&pl(e[0].toLowerCase());if(n)return n}throw new Error(`Cannot determine type of '${e}' axis. Please provide 'axis' or 'position' option.`)}function gl(e,t,s){if(s[t+"AxisID"]===e)return{axis:t}}function kb(e,t){if(t.data&&t.data.datasets){const s=t.data.datasets.filter(n=>n.xAxisID===e||n.yAxisID===e);if(s.length)return gl(e,"x",s[0])||gl(e,"y",s[0])}return{}}function Cb(e,t){const s=Ss[e.type]||{scales:{}},n=t.scales||{},i=er(e.type,t),o=Object.create(null);return Object.keys(n).forEach(r=>{const a=n[r];if(!tt(a))return console.error(`Invalid scale configuration for scale: ${r}`);if(a._proxy)return console.warn(`Ignoring resolver passed as options for scale: ${r}`);const l=sr(r,a,kb(r,e),yt.scales[a.type]),c=Sb(l,i),u=s.scales||{};o[r]=fn(Object.create(null),[{axis:l},a,u[l],u[c]])}),e.data.datasets.forEach(r=>{const a=r.type||e.type,l=r.indexAxis||er(a,t),u=(Ss[a]||{}).scales||{};Object.keys(u).forEach(f=>{const h=wb(f,l),d=r[h+"AxisID"]||h;o[d]=o[d]||Object.create(null),fn(o[d],[{axis:h},n[d],u[f]])})}),Object.keys(o).forEach(r=>{const a=o[r];fn(a,[yt.scales[a.type],yt.scale])}),o}function Bu(e){const t=e.options||(e.options={});t.plugins=lt(t.plugins,{}),t.scales=Cb(e,t)}function Vu(e){return e=e||{},e.datasets=e.datasets||[],e.labels=e.labels||[],e}function Pb(e){return e=e||{},e.data=Vu(e.data),Bu(e),e}const ml=new Map,Nu=new Set;function Qn(e,t){let s=ml.get(e);return s||(s=t(),ml.set(e,s),Nu.add(s)),s}const Zs=(e,t,s)=>{const n=Bs(t,s);n!==void 0&&e.add(n)};class Tb{constructor(t){this._config=Pb(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=Vu(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(),Bu(t)}clearCache(){this._scopeCache.clear(),this._resolverCache.clear()}datasetScopeKeys(t){return Qn(t,()=>[[`datasets.${t}`,""]])}datasetAnimationScopeKeys(t,s){return Qn(`${t}.transition.${s}`,()=>[[`datasets.${t}.transitions.${s}`,`transitions.${s}`],[`datasets.${t}`,""]])}datasetElementScopeKeys(t,s){return Qn(`${t}-${s}`,()=>[[`datasets.${t}.elements.${s}`,`datasets.${t}`,`elements.${s}`,""]])}pluginScopeKeys(t){const s=t.id,n=this.type;return Qn(`${n}-plugin-${s}`,()=>[[`plugins.${s}`,...t.additionalOptionScopes||[]]])}_cachedScopes(t,s){const n=this._scopeCache;let i=n.get(t);return(!i||s)&&(i=new Map,n.set(t,i)),i}getOptionScopes(t,s,n){const{options:i,type:o}=this,r=this._cachedScopes(t,n),a=r.get(s);if(a)return a;const l=new Set;s.forEach(u=>{t&&(l.add(t),u.forEach(f=>Zs(l,t,f))),u.forEach(f=>Zs(l,i,f)),u.forEach(f=>Zs(l,Ss[o]||{},f)),u.forEach(f=>Zs(l,yt,f)),u.forEach(f=>Zs(l,Zo,f))});const c=Array.from(l);return c.length===0&&c.push(Object.create(null)),Nu.has(s)&&r.set(s,c),c}chartOptionScopes(){const{options:t,type:s}=this;return[t,Ss[s]||{},yt.datasets[s]||{},{type:s},yt,Zo]}resolveNamedOptions(t,s,n,i=[""]){const o={$shared:!0},{resolver:r,subPrefixes:a}=bl(this._resolverCache,t,i);let l=r;if(Ab(r,s)){o.$shared=!1,n=Qe(n)?n():n;const c=this.createResolver(t,n,a);l=Ns(r,n,c)}for(const c of s)o[c]=l[c];return o}createResolver(t,s,n=[""],i){const{resolver:o}=bl(this._resolverCache,t,n);return tt(s)?Ns(o,s,void 0,i):o}}function bl(e,t,s){let n=e.get(t);n||(n=new Map,e.set(t,n));const i=s.join();let o=n.get(i);return o||(o={resolver:Rr(t,s),subPrefixes:s.filter(a=>!a.toLowerCase().includes("hover"))},n.set(i,o)),o}const Ob=e=>tt(e)&&Object.getOwnPropertyNames(e).some(t=>Qe(e[t]));function Ab(e,t){const{isScriptable:s,isIndexable:n}=Mu(e);for(const i of t){const o=s(i),r=n(i),a=(r||o)&&e[i];if(o&&(Qe(a)||Ob(a))||r&&St(a))return!0}return!1}var Db="4.4.5";const Eb=["top","bottom","left","right","chartArea"];function _l(e,t){return e==="top"||e==="bottom"||Eb.indexOf(e)===-1&&t==="x"}function xl(e,t){return function(s,n){return s[e]===n[e]?s[t]-n[t]:s[e]-n[e]}}function yl(e){const t=e.chart,s=t.options.animation;t.notifyPlugins("afterRender"),mt(s&&s.onComplete,[e],t)}function Ib(e){const t=e.chart,s=t.options.animation;mt(s&&s.onProgress,[e],t)}function $u(e){return zr()&&typeof e=="string"?e=document.getElementById(e):e&&e.length&&(e=e[0]),e&&e.canvas&&(e=e.canvas),e}const mi={},vl=e=>{const t=$u(e);return Object.values(mi).filter(s=>s.canvas===t).pop()};function Rb(e,t,s){const n=Object.keys(e);for(const i of n){const o=+i;if(o>=t){const r=e[i];delete e[i],(s>0||o>t)&&(e[o+s]=r)}}}function Lb(e,t,s,n){return!s||e.type==="mouseout"?null:n?t:e}function ti(e,t,s){return e.options.clip?e[s]:t[s]}function Fb(e,t){const{xScale:s,yScale:n}=e;return s&&n?{left:ti(s,t,"left"),right:ti(s,t,"right"),top:ti(n,t,"top"),bottom:ti(n,t,"bottom")}:t}class Me{static register(...t){fe.add(...t),wl()}static unregister(...t){fe.remove(...t),wl()}constructor(t,s){const n=this.config=new Tb(s),i=$u(t),o=vl(i);if(o)throw new Error("Canvas is already in use. Chart with ID '"+o.id+"' must be destroyed before the canvas with ID '"+o.canvas.id+"' can be reused.");const r=n.createResolver(n.chartOptionScopes(),this.getContext());this.platform=new(n.platform||Qm(i)),this.platform.updateConfig(n);const a=this.platform.acquireContext(i,r.aspectRatio),l=a&&a.canvas,c=l&&l.height,u=l&&l.width;if(this.id=Lp(),this.ctx=a,this.canvas=l,this.width=u,this.height=c,this._options=r,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 bb,this.$proxies={},this._hiddenIndices={},this.attached=!1,this._animationsDisabled=void 0,this.$context=void 0,this._doResize=Qp(f=>this.update(f),r.resizeDelay||0),this._dataChanges=[],mi[this.id]=this,!a||!l){console.error("Failed to create chart: can't acquire context from the given item");return}ye.listen(this,"complete",yl),ye.listen(this,"progress",Ib),this._initialize(),this.attached&&this.update()}get aspectRatio(){const{options:{aspectRatio:t,maintainAspectRatio:s},width:n,height:i,_aspectRatio:o}=this;return ct(t)?s&&o?o:i?n/i: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 fe}_initialize(){return this.notifyPlugins("beforeInit"),this.options.responsive?this.resize():Wa(this,this.options.devicePixelRatio),this.bindEvents(),this.notifyPlugins("afterInit"),this}clear(){return $a(this.canvas,this.ctx),this}stop(){return ye.stop(this),this}resize(t,s){ye.running(this)?this._resizeBeforeDraw={width:t,height:s}:this._resize(t,s)}_resize(t,s){const n=this.options,i=this.canvas,o=n.maintainAspectRatio&&this.aspectRatio,r=this.platform.getMaximumSize(i,t,s,o),a=n.devicePixelRatio||this.platform.getDevicePixelRatio(),l=this.width?"resize":"attach";this.width=r.width,this.height=r.height,this._aspectRatio=this.aspectRatio,Wa(this,a,!0)&&(this.notifyPlugins("resize",{size:r}),mt(n.onResize,[this,r],this),this.attached&&this._doResize(l)&&this.render())}ensureScalesHaveIDs(){const s=this.options.scales||{};rt(s,(n,i)=>{n.id=i})}buildOrUpdateScales(){const t=this.options,s=t.scales,n=this.scales,i=Object.keys(n).reduce((r,a)=>(r[a]=!1,r),{});let o=[];s&&(o=o.concat(Object.keys(s).map(r=>{const a=s[r],l=sr(r,a),c=l==="r",u=l==="x";return{options:a,dposition:c?"chartArea":u?"bottom":"left",dtype:c?"radialLinear":u?"category":"linear"}}))),rt(o,r=>{const a=r.options,l=a.id,c=sr(l,a),u=lt(a.type,r.dtype);(a.position===void 0||_l(a.position,c)!==_l(r.dposition))&&(a.position=r.dposition),i[l]=!0;let f=null;if(l in n&&n[l].type===u)f=n[l];else{const h=fe.getScale(u);f=new h({id:l,type:u,ctx:this.ctx,chart:this}),n[f.id]=f}f.init(a,t)}),rt(i,(r,a)=>{r||delete n[a]}),rt(n,r=>{Ye.configure(this,r,r.options),Ye.addBox(this,r)})}_updateMetasets(){const t=this._metasets,s=this.data.datasets.length,n=t.length;if(t.sort((i,o)=>i.index-o.index),n>s){for(let i=s;i<n;++i)this._destroyDatasetMeta(i);t.splice(s,n-s)}this._sortedMetasets=t.slice(0).sort(xl("order","index"))}_removeUnreferencedMetasets(){const{_metasets:t,data:{datasets:s}}=this;t.length>s.length&&delete this._stacks,t.forEach((n,i)=>{s.filter(o=>o===n._dataset).length===0&&this._destroyDatasetMeta(i)})}buildOrUpdateControllers(){const t=[],s=this.data.datasets;let n,i;for(this._removeUnreferencedMetasets(),n=0,i=s.length;n<i;n++){const o=s[n];let r=this.getDatasetMeta(n);const a=o.type||this.config.type;if(r.type&&r.type!==a&&(this._destroyDatasetMeta(n),r=this.getDatasetMeta(n)),r.type=a,r.indexAxis=o.indexAxis||er(a,this.options),r.order=o.order||0,r.index=n,r.label=""+o.label,r.visible=this.isDatasetVisible(n),r.controller)r.controller.updateIndex(n),r.controller.linkScales();else{const l=fe.getController(a),{datasetElementType:c,dataElementType:u}=yt.datasets[a];Object.assign(l,{dataElementType:fe.getElement(u),datasetElementType:c&&fe.getElement(c)}),r.controller=new l(this,n),t.push(r.controller)}}return this._updateMetasets(),t}_resetElements(){rt(this.data.datasets,(t,s)=>{this.getDatasetMeta(s).controller.reset()},this)}reset(){this._resetElements(),this.notifyPlugins("reset")}update(t){const s=this.config;s.update();const n=this._options=s.createResolver(s.chartOptionScopes(),this.getContext()),i=this._animationsDisabled=!n.animation;if(this._updateScales(),this._checkEventBindings(),this._updateHiddenIndices(),this._plugins.invalidate(),this.notifyPlugins("beforeUpdate",{mode:t,cancelable:!0})===!1)return;const o=this.buildOrUpdateControllers();this.notifyPlugins("beforeElementsUpdate");let r=0;for(let c=0,u=this.data.datasets.length;c<u;c++){const{controller:f}=this.getDatasetMeta(c),h=!i&&o.indexOf(f)===-1;f.buildOrUpdateElements(h),r=Math.max(+f.getMaxOverflow(),r)}r=this._minPadding=n.layout.autoPadding?r:0,this._updateLayout(r),i||rt(o,c=>{c.reset()}),this._updateDatasets(t),this.notifyPlugins("afterUpdate",{mode:t}),this._layers.sort(xl("z","_idx"));const{_active:a,_lastEvent:l}=this;l?this._eventHandler(l,!0):a.length&&this._updateHoverStyles(a,a,!0),this.render()}_updateScales(){rt(this.scales,t=>{Ye.removeBox(this,t)}),this.ensureScalesHaveIDs(),this.buildOrUpdateScales()}_checkEventBindings(){const t=this.options,s=new Set(Object.keys(this._listeners)),n=new Set(t.events);(!Da(s,n)||!!this._responsiveListeners!==t.responsive)&&(this.unbindEvents(),this.bindEvents())}_updateHiddenIndices(){const{_hiddenIndices:t}=this,s=this._getUniformDataChanges()||[];for(const{method:n,start:i,count:o}of s){const r=n==="_removeElements"?-o:o;Rb(t,i,r)}}_getUniformDataChanges(){const t=this._dataChanges;if(!t||!t.length)return;this._dataChanges=[];const s=this.data.datasets.length,n=o=>new Set(t.filter(r=>r[0]===o).map((r,a)=>a+","+r.splice(1).join(","))),i=n(0);for(let o=1;o<s;o++)if(!Da(i,n(o)))return;return Array.from(i).map(o=>o.split(",")).map(o=>({method:o[1],start:+o[2],count:+o[3]}))}_updateLayout(t){if(this.notifyPlugins("beforeLayout",{cancelable:!0})===!1)return;Ye.update(this,this.width,this.height,t);const s=this.chartArea,n=s.width<=0||s.height<=0;this._layers=[],rt(this.boxes,i=>{n&&i.position==="chartArea"||(i.configure&&i.configure(),this._layers.push(...i._layers()))},this),this._layers.forEach((i,o)=>{i._idx=o}),this.notifyPlugins("afterLayout")}_updateDatasets(t){if(this.notifyPlugins("beforeDatasetsUpdate",{mode:t,cancelable:!0})!==!1){for(let s=0,n=this.data.datasets.length;s<n;++s)this.getDatasetMeta(s).controller.configure();for(let s=0,n=this.data.datasets.length;s<n;++s)this._updateDataset(s,Qe(t)?t({datasetIndex:s}):t);this.notifyPlugins("afterDatasetsUpdate",{mode:t})}}_updateDataset(t,s){const n=this.getDatasetMeta(t),i={meta:n,index:t,mode:s,cancelable:!0};this.notifyPlugins("beforeDatasetUpdate",i)!==!1&&(n.controller._update(s),i.cancelable=!1,this.notifyPlugins("afterDatasetUpdate",i))}render(){this.notifyPlugins("beforeRender",{cancelable:!0})!==!1&&(ye.has(this)?this.attached&&!ye.running(this)&&ye.start(this):(this.draw(),yl({chart:this})))}draw(){let t;if(this._resizeBeforeDraw){const{width:n,height:i}=this._resizeBeforeDraw;this._resizeBeforeDraw=null,this._resize(n,i)}if(this.clear(),this.width<=0||this.height<=0||this.notifyPlugins("beforeDraw",{cancelable:!0})===!1)return;const s=this._layers;for(t=0;t<s.length&&s[t].z<=0;++t)s[t].draw(this.chartArea);for(this._drawDatasets();t<s.length;++t)s[t].draw(this.chartArea);this.notifyPlugins("afterDraw")}_getSortedDatasetMetas(t){const s=this._sortedMetasets,n=[];let i,o;for(i=0,o=s.length;i<o;++i){const r=s[i];(!t||r.visible)&&n.push(r)}return n}getSortedVisibleDatasetMetas(){return this._getSortedDatasetMetas(!0)}_drawDatasets(){if(this.notifyPlugins("beforeDatasetsDraw",{cancelable:!0})===!1)return;const t=this.getSortedVisibleDatasetMetas();for(let s=t.length-1;s>=0;--s)this._drawDataset(t[s]);this.notifyPlugins("afterDatasetsDraw")}_drawDataset(t){const s=this.ctx,n=t._clip,i=!n.disabled,o=Fb(t,this.chartArea),r={meta:t,index:t.index,cancelable:!0};this.notifyPlugins("beforeDatasetDraw",r)!==!1&&(i&&yu(s,{left:n.left===!1?0:o.left-n.left,right:n.right===!1?this.width:o.right+n.right,top:n.top===!1?0:o.top-n.top,bottom:n.bottom===!1?this.height:o.bottom+n.bottom}),t.controller.draw(),i&&vu(s),r.cancelable=!1,this.notifyPlugins("afterDatasetDraw",r))}isPointInArea(t){return Tn(t,this.chartArea,this._minPadding)}getElementsAtEventForMode(t,s,n,i){const o=Em.modes[s];return typeof o=="function"?o(this,t,n,i):[]}getDatasetMeta(t){const s=this.data.datasets[t],n=this._metasets;let i=n.filter(o=>o&&o._dataset===s).pop();return i||(i={type:null,data:[],dataset:null,controller:null,hidden:null,xAxisID:null,yAxisID:null,order:s&&s.order||0,index:t,_dataset:s,_parsed:[],_sorted:!1},n.push(i)),i}getContext(){return this.$context||(this.$context=Ms(null,{chart:this,type:"chart"}))}getVisibleDatasetCount(){return this.getSortedVisibleDatasetMetas().length}isDatasetVisible(t){const s=this.data.datasets[t];if(!s)return!1;const n=this.getDatasetMeta(t);return typeof n.hidden=="boolean"?!n.hidden:!s.hidden}setDatasetVisibility(t,s){const n=this.getDatasetMeta(t);n.hidden=!s}toggleDataVisibility(t){this._hiddenIndices[t]=!this._hiddenIndices[t]}getDataVisibility(t){return!this._hiddenIndices[t]}_updateVisibility(t,s,n){const i=n?"show":"hide",o=this.getDatasetMeta(t),r=o.controller._resolveAnimations(void 0,i);Pn(s)?(o.data[s].hidden=!n,this.update()):(this.setDatasetVisibility(t,n),r.update(o,{visible:n}),this.update(a=>a.datasetIndex===t?i:void 0))}hide(t,s){this._updateVisibility(t,s,!1)}show(t,s){this._updateVisibility(t,s,!0)}_destroyDatasetMeta(t){const s=this._metasets[t];s&&s.controller&&s.controller._destroy(),delete this._metasets[t]}_stop(){let t,s;for(this.stop(),ye.remove(this),t=0,s=this.data.datasets.length;t<s;++t)this._destroyDatasetMeta(t)}destroy(){this.notifyPlugins("beforeDestroy");const{canvas:t,ctx:s}=this;this._stop(),this.config.clearCache(),t&&(this.unbindEvents(),$a(t,s),this.platform.releaseContext(s),this.canvas=null,this.ctx=null),delete mi[this.id],this.notifyPlugins("afterDestroy")}toBase64Image(...t){return this.canvas.toDataURL(...t)}bindEvents(){this.bindUserEvents(),this.options.responsive?this.bindResponsiveEvents():this.attached=!0}bindUserEvents(){const t=this._listeners,s=this.platform,n=(o,r)=>{s.addEventListener(this,o,r),t[o]=r},i=(o,r,a)=>{o.offsetX=r,o.offsetY=a,this._eventHandler(o)};rt(this.options.events,o=>n(o,i))}bindResponsiveEvents(){this._responsiveListeners||(this._responsiveListeners={});const t=this._responsiveListeners,s=this.platform,n=(l,c)=>{s.addEventListener(this,l,c),t[l]=c},i=(l,c)=>{t[l]&&(s.removeEventListener(this,l,c),delete t[l])},o=(l,c)=>{this.canvas&&this.resize(l,c)};let r;const a=()=>{i("attach",a),this.attached=!0,this.resize(),n("resize",o),n("detach",r)};r=()=>{this.attached=!1,i("resize",o),this._stop(),this._resize(0,0),n("attach",a)},s.isAttached(this.canvas)?a():r()}unbindEvents(){rt(this._listeners,(t,s)=>{this.platform.removeEventListener(this,s,t)}),this._listeners={},rt(this._responsiveListeners,(t,s)=>{this.platform.removeEventListener(this,s,t)}),this._responsiveListeners=void 0}updateHoverStyle(t,s,n){const i=n?"set":"remove";let o,r,a,l;for(s==="dataset"&&(o=this.getDatasetMeta(t[0].datasetIndex),o.controller["_"+i+"DatasetHoverStyle"]()),a=0,l=t.length;a<l;++a){r=t[a];const c=r&&this.getDatasetMeta(r.datasetIndex).controller;c&&c[i+"HoverStyle"](r.element,r.datasetIndex,r.index)}}getActiveElements(){return this._active||[]}setActiveElements(t){const s=this._active||[],n=t.map(({datasetIndex:o,index:r})=>{const a=this.getDatasetMeta(o);if(!a)throw new Error("No dataset found at index "+o);return{datasetIndex:o,element:a.data[r],index:r}});!Oi(n,s)&&(this._active=n,this._lastEvent=null,this._updateHoverStyles(n,s))}notifyPlugins(t,s,n){return this._plugins.notify(this,t,s,n)}isPluginEnabled(t){return this._plugins._cache.filter(s=>s.plugin.id===t).length===1}_updateHoverStyles(t,s,n){const i=this.options.hover,o=(l,c)=>l.filter(u=>!c.some(f=>u.datasetIndex===f.datasetIndex&&u.index===f.index)),r=o(s,t),a=n?t:o(t,s);r.length&&this.updateHoverStyle(r,i.mode,!1),a.length&&i.mode&&this.updateHoverStyle(a,i.mode,!0)}_eventHandler(t,s){const n={event:t,replay:s,cancelable:!0,inChartArea:this.isPointInArea(t)},i=r=>(r.options.events||this.options.events).includes(t.native.type);if(this.notifyPlugins("beforeEvent",n,i)===!1)return;const o=this._handleEvent(t,s,n.inChartArea);return n.cancelable=!1,this.notifyPlugins("afterEvent",n,i),(o||n.changed)&&this.render(),this}_handleEvent(t,s,n){const{_active:i=[],options:o}=this,r=s,a=this._getActiveElements(t,i,n,r),l=$p(t),c=Lb(t,this._lastEvent,n,l);n&&(this._lastEvent=null,mt(o.onHover,[t,a,this],this),l&&mt(o.onClick,[t,a,this],this));const u=!Oi(a,i);return(u||s)&&(this._active=a,this._updateHoverStyles(a,i,s)),this._lastEvent=c,u}_getActiveElements(t,s,n,i){if(t.type==="mouseout")return[];if(!n)return s;const o=this.options.hover;return this.getElementsAtEventForMode(t,o.mode,o,i)}}N(Me,"defaults",yt),N(Me,"instances",mi),N(Me,"overrides",Ss),N(Me,"registry",fe),N(Me,"version",Db),N(Me,"getChart",vl);function wl(){return rt(Me.instances,e=>e._plugins.invalidate())}function Hu(e,t,s=t){e.lineCap=lt(s.borderCapStyle,t.borderCapStyle),e.setLineDash(lt(s.borderDash,t.borderDash)),e.lineDashOffset=lt(s.borderDashOffset,t.borderDashOffset),e.lineJoin=lt(s.borderJoinStyle,t.borderJoinStyle),e.lineWidth=lt(s.borderWidth,t.borderWidth),e.strokeStyle=lt(s.borderColor,t.borderColor)}function zb(e,t,s){e.lineTo(s.x,s.y)}function Bb(e){return e.stepped?ug:e.tension||e.cubicInterpolationMode==="monotone"?fg:zb}function ju(e,t,s={}){const n=e.length,{start:i=0,end:o=n-1}=s,{start:r,end:a}=t,l=Math.max(i,r),c=Math.min(o,a),u=i<r&&o<r||i>a&&o>a;return{count:n,start:l,loop:t.loop,ilen:c<l&&!u?n+c-l:c-l}}function Vb(e,t,s,n){const{points:i,options:o}=t,{count:r,start:a,loop:l,ilen:c}=ju(i,s,n),u=Bb(o);let{move:f=!0,reverse:h}=n||{},d,m,p;for(d=0;d<=c;++d)m=i[(a+(h?c-d:d))%r],!m.skip&&(f?(e.moveTo(m.x,m.y),f=!1):u(e,p,m,h,o.stepped),p=m);return l&&(m=i[(a+(h?c:0))%r],u(e,p,m,h,o.stepped)),!!l}function Nb(e,t,s,n){const i=t.points,{count:o,start:r,ilen:a}=ju(i,s,n),{move:l=!0,reverse:c}=n||{};let u=0,f=0,h,d,m,p,b,x;const y=v=>(r+(c?a-v:v))%o,M=()=>{p!==b&&(e.lineTo(u,b),e.lineTo(u,p),e.lineTo(u,x))};for(l&&(d=i[y(0)],e.moveTo(d.x,d.y)),h=0;h<=a;++h){if(d=i[y(h)],d.skip)continue;const v=d.x,S=d.y,D=v|0;D===m?(S<p?p=S:S>b&&(b=S),u=(f*u+v)/++f):(M(),e.lineTo(v,S),m=D,f=0,p=b=S),x=S}M()}function nr(e){const t=e.options,s=t.borderDash&&t.borderDash.length;return!e._decimated&&!e._loop&&!t.tension&&t.cubicInterpolationMode!=="monotone"&&!t.stepped&&!s?Nb:Vb}function $b(e){return e.stepped?jg:e.tension||e.cubicInterpolationMode==="monotone"?Wg:ps}function Hb(e,t,s,n){let i=t._path;i||(i=t._path=new Path2D,t.path(i,s,n)&&i.closePath()),Hu(e,t.options),e.stroke(i)}function jb(e,t,s,n){const{segments:i,options:o}=t,r=nr(t);for(const a of i)Hu(e,o,a.style),e.beginPath(),r(e,t,a,{start:s,end:s+n-1})&&e.closePath(),e.stroke()}const Wb=typeof Path2D=="function";function Ub(e,t,s,n){Wb&&!t.options.segment?Hb(e,t,s,n):jb(e,t,s,n)}class nn extends ks{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,s){const n=this.options;if((n.tension||n.cubicInterpolationMode==="monotone")&&!n.stepped&&!this._pointsUpdated){const i=n.spanGaps?this._loop:this._fullLoop;Lg(this._points,n,t,i,s),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=tm(this,this.options.segment))}first(){const t=this.segments,s=this.points;return t.length&&s[t[0].start]}last(){const t=this.segments,s=this.points,n=t.length;return n&&s[t[n-1].end]}interpolate(t,s){const n=this.options,i=t[s],o=this.points,r=Zg(this,{property:s,start:i,end:i});if(!r.length)return;const a=[],l=$b(n);let c,u;for(c=0,u=r.length;c<u;++c){const{start:f,end:h}=r[c],d=o[f],m=o[h];if(d===m){a.push(d);continue}const p=Math.abs((i-d[s])/(m[s]-d[s])),b=l(d,m,p,n.stepped);b[s]=t[s],a.push(b)}return a.length===1?a[0]:a}pathSegment(t,s,n){return nr(this)(t,this,s,n)}path(t,s,n){const i=this.segments,o=nr(this);let r=this._loop;s=s||0,n=n||this.points.length-s;for(const a of i)r&=o(t,this,a,{start:s,end:s+n-1});return!!r}draw(t,s,n,i){const o=this.options||{};(this.points||[]).length&&o.borderWidth&&(t.save(),Ub(t,this,n,i),t.restore()),this.animated&&(this._pointsUpdated=!1,this._path=void 0)}}N(nn,"id","line"),N(nn,"defaults",{borderCapStyle:"butt",borderDash:[],borderDashOffset:0,borderJoinStyle:"miter",borderWidth:3,capBezierPoints:!0,cubicInterpolationMode:"default",fill:!1,spanGaps:!1,stepped:!1,tension:0}),N(nn,"defaultRoutes",{backgroundColor:"backgroundColor",borderColor:"borderColor"}),N(nn,"descriptors",{_scriptable:!0,_indexable:t=>t!=="borderDash"&&t!=="fill"});function Sl(e,t,s,n){const i=e.options,{[s]:o}=e.getProps([s],n);return Math.abs(t-o)<i.radius+i.hitRadius}class bi extends ks{constructor(s){super();N(this,"parsed");N(this,"skip");N(this,"stop");this.options=void 0,this.parsed=void 0,this.skip=void 0,this.stop=void 0,s&&Object.assign(this,s)}inRange(s,n,i){const o=this.options,{x:r,y:a}=this.getProps(["x","y"],i);return Math.pow(s-r,2)+Math.pow(n-a,2)<Math.pow(o.hitRadius+o.radius,2)}inXRange(s,n){return Sl(this,s,"x",n)}inYRange(s,n){return Sl(this,s,"y",n)}getCenterPoint(s){const{x:n,y:i}=this.getProps(["x","y"],s);return{x:n,y:i}}size(s){s=s||this.options||{};let n=s.radius||0;n=Math.max(n,n&&s.hoverRadius||0);const i=n&&s.borderWidth||0;return(n+i)*2}draw(s,n){const i=this.options;this.skip||i.radius<.1||!Tn(this,n,this.size(i)/2)||(s.strokeStyle=i.borderColor,s.lineWidth=i.borderWidth,s.fillStyle=i.backgroundColor,Jo(s,i,this.x,this.y))}getRange(){const s=this.options||{};return s.radius+s.hitRadius}}N(bi,"id","point"),N(bi,"defaults",{borderWidth:1,hitRadius:1,hoverBorderWidth:1,hoverRadius:4,pointStyle:"circle",radius:3,rotation:0}),N(bi,"defaultRoutes",{backgroundColor:"backgroundColor",borderColor:"borderColor"});function Wu(e,t){const{x:s,y:n,base:i,width:o,height:r}=e.getProps(["x","y","base","width","height"],t);let a,l,c,u,f;return e.horizontal?(f=r/2,a=Math.min(s,i),l=Math.max(s,i),c=n-f,u=n+f):(f=o/2,a=s-f,l=s+f,c=Math.min(n,i),u=Math.max(n,i)),{left:a,top:c,right:l,bottom:u}}function Xe(e,t,s,n){return e?0:qt(t,s,n)}function Kb(e,t,s){const n=e.options.borderWidth,i=e.borderSkipped,o=Su(n);return{t:Xe(i.top,o.top,0,s),r:Xe(i.right,o.right,0,t),b:Xe(i.bottom,o.bottom,0,s),l:Xe(i.left,o.left,0,t)}}function Yb(e,t,s){const{enableBorderRadius:n}=e.getProps(["enableBorderRadius"]),i=e.options.borderRadius,o=mn(i),r=Math.min(t,s),a=e.borderSkipped,l=n||tt(i);return{topLeft:Xe(!l||a.top||a.left,o.topLeft,0,r),topRight:Xe(!l||a.top||a.right,o.topRight,0,r),bottomLeft:Xe(!l||a.bottom||a.left,o.bottomLeft,0,r),bottomRight:Xe(!l||a.bottom||a.right,o.bottomRight,0,r)}}function Xb(e){const t=Wu(e),s=t.right-t.left,n=t.bottom-t.top,i=Kb(e,s/2,n/2),o=Yb(e,s/2,n/2);return{outer:{x:t.left,y:t.top,w:s,h:n,radius:o},inner:{x:t.left+i.l,y:t.top+i.t,w:s-i.l-i.r,h:n-i.t-i.b,radius:{topLeft:Math.max(0,o.topLeft-Math.max(i.t,i.l)),topRight:Math.max(0,o.topRight-Math.max(i.t,i.r)),bottomLeft:Math.max(0,o.bottomLeft-Math.max(i.b,i.l)),bottomRight:Math.max(0,o.bottomRight-Math.max(i.b,i.r))}}}}function To(e,t,s,n){const i=t===null,o=s===null,a=e&&!(i&&o)&&Wu(e,n);return a&&(i||Go(t,a.left,a.right))&&(o||Go(s,a.top,a.bottom))}function qb(e){return e.topLeft||e.topRight||e.bottomLeft||e.bottomRight}function Gb(e,t){e.rect(t.x,t.y,t.w,t.h)}function Oo(e,t,s={}){const n=e.x!==s.x?-t:0,i=e.y!==s.y?-t:0,o=(e.x+e.w!==s.x+s.w?t:0)-n,r=(e.y+e.h!==s.y+s.h?t:0)-i;return{x:e.x+n,y:e.y+i,w:e.w+o,h:e.h+r,radius:e.radius}}class _i extends ks{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:s,options:{borderColor:n,backgroundColor:i}}=this,{inner:o,outer:r}=Xb(this),a=qb(r.radius)?tr:Gb;t.save(),(r.w!==o.w||r.h!==o.h)&&(t.beginPath(),a(t,Oo(r,s,o)),t.clip(),a(t,Oo(o,-s,r)),t.fillStyle=n,t.fill("evenodd")),t.beginPath(),a(t,Oo(o,s)),t.fillStyle=i,t.fill(),t.restore()}inRange(t,s,n){return To(this,t,s,n)}inXRange(t,s){return To(this,t,null,s)}inYRange(t,s){return To(this,null,t,s)}getCenterPoint(t){const{x:s,y:n,base:i,horizontal:o}=this.getProps(["x","y","base","horizontal"],t);return{x:o?(s+i)/2:s,y:o?n:(n+i)/2}}getRange(t){return t==="x"?this.width/2:this.height/2}}N(_i,"id","bar"),N(_i,"defaults",{borderSkipped:"start",borderWidth:0,borderRadius:0,inflateAmount:"auto",pointStyle:void 0}),N(_i,"defaultRoutes",{backgroundColor:"backgroundColor",borderColor:"borderColor"});class Uu extends ks{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,s){const n=this.options;if(this.left=0,this.top=0,!n.display){this.width=this.height=this.right=this.bottom=0;return}this.width=this.right=t,this.height=this.bottom=s;const i=St(n.text)?n.text.length:1;this._padding=Ee(n.padding);const o=i*te(n.font).lineHeight+this._padding.height;this.isHorizontal()?this.height=o:this.width=o}isHorizontal(){const t=this.options.position;return t==="top"||t==="bottom"}_drawArgs(t){const{top:s,left:n,bottom:i,right:o,options:r}=this,a=r.align;let l=0,c,u,f;return this.isHorizontal()?(u=dn(a,n,o),f=s+t,c=o-n):(r.position==="left"?(u=n+t,f=dn(a,i,s),l=kt*-.5):(u=o-t,f=dn(a,s,i),l=kt*.5),c=i-s),{titleX:u,titleY:f,maxWidth:c,rotation:l}}draw(){const t=this.ctx,s=this.options;if(!s.display)return;const n=te(s.font),o=n.lineHeight/2+this._padding.top,{titleX:r,titleY:a,maxWidth:l,rotation:c}=this._drawArgs(o);Qo(t,s.text,0,0,n,{color:s.color,maxWidth:l,rotation:c,textAlign:mu(s.align),textBaseline:"middle",translation:[r,a]})}}function Zb(e,t){const s=new Uu({ctx:e.ctx,options:t,chart:e});Ye.configure(e,s,t),Ye.addBox(e,s),e.titleBlock=s}var Jb={id:"title",_element:Uu,start(e,t,s){Zb(e,s)},stop(e){const t=e.titleBlock;Ye.removeBox(e,t),delete e.titleBlock},beforeUpdate(e,t,s){const n=e.titleBlock;Ye.configure(e,n,s),n.options=s},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 on={average(e){if(!e.length)return!1;let t,s,n=new Set,i=0,o=0;for(t=0,s=e.length;t<s;++t){const a=e[t].element;if(a&&a.hasValue()){const l=a.tooltipPosition();n.add(l.x),i+=l.y,++o}}return o===0||n.size===0?!1:{x:[...n].reduce((a,l)=>a+l)/n.size,y:i/o}},nearest(e,t){if(!e.length)return!1;let s=t.x,n=t.y,i=Number.POSITIVE_INFINITY,o,r,a;for(o=0,r=e.length;o<r;++o){const l=e[o].element;if(l&&l.hasValue()){const c=l.getCenterPoint(),u=qo(t,c);u<i&&(i=u,a=l)}}if(a){const l=a.tooltipPosition();s=l.x,n=l.y}return{x:s,y:n}}};function ce(e,t){return t&&(St(t)?Array.prototype.push.apply(e,t):e.push(t)),e}function ve(e){return(typeof e=="string"||e instanceof String)&&e.indexOf(`
|
|
33
|
+
`)>-1?e.split(`
|
|
34
|
+
`):e}function Qb(e,t){const{element:s,datasetIndex:n,index:i}=t,o=e.getDatasetMeta(n).controller,{label:r,value:a}=o.getLabelAndValue(i);return{chart:e,label:r,parsed:o.getParsed(i),raw:e.data.datasets[n].data[i],formattedValue:a,dataset:o.getDataset(),dataIndex:i,datasetIndex:n,element:s}}function Ml(e,t){const s=e.chart.ctx,{body:n,footer:i,title:o}=e,{boxWidth:r,boxHeight:a}=t,l=te(t.bodyFont),c=te(t.titleFont),u=te(t.footerFont),f=o.length,h=i.length,d=n.length,m=Ee(t.padding);let p=m.height,b=0,x=n.reduce((v,S)=>v+S.before.length+S.lines.length+S.after.length,0);if(x+=e.beforeBody.length+e.afterBody.length,f&&(p+=f*c.lineHeight+(f-1)*t.titleSpacing+t.titleMarginBottom),x){const v=t.displayColors?Math.max(a,l.lineHeight):l.lineHeight;p+=d*v+(x-d)*l.lineHeight+(x-1)*t.bodySpacing}h&&(p+=t.footerMarginTop+h*u.lineHeight+(h-1)*t.footerSpacing);let y=0;const M=function(v){b=Math.max(b,s.measureText(v).width+y)};return s.save(),s.font=c.string,rt(e.title,M),s.font=l.string,rt(e.beforeBody.concat(e.afterBody),M),y=t.displayColors?r+2+t.boxPadding:0,rt(n,v=>{rt(v.before,M),rt(v.lines,M),rt(v.after,M)}),y=0,s.font=u.string,rt(e.footer,M),s.restore(),b+=m.width,{width:b,height:p}}function t_(e,t){const{y:s,height:n}=t;return s<n/2?"top":s>e.height-n/2?"bottom":"center"}function e_(e,t,s,n){const{x:i,width:o}=n,r=s.caretSize+s.caretPadding;if(e==="left"&&i+o+r>t.width||e==="right"&&i-o-r<0)return!0}function s_(e,t,s,n){const{x:i,width:o}=s,{width:r,chartArea:{left:a,right:l}}=e;let c="center";return n==="center"?c=i<=(a+l)/2?"left":"right":i<=o/2?c="left":i>=r-o/2&&(c="right"),e_(c,e,t,s)&&(c="center"),c}function kl(e,t,s){const n=s.yAlign||t.yAlign||t_(e,s);return{xAlign:s.xAlign||t.xAlign||s_(e,t,s,n),yAlign:n}}function n_(e,t){let{x:s,width:n}=e;return t==="right"?s-=n:t==="center"&&(s-=n/2),s}function i_(e,t,s){let{y:n,height:i}=e;return t==="top"?n+=s:t==="bottom"?n-=i+s:n-=i/2,n}function Cl(e,t,s,n){const{caretSize:i,caretPadding:o,cornerRadius:r}=e,{xAlign:a,yAlign:l}=s,c=i+o,{topLeft:u,topRight:f,bottomLeft:h,bottomRight:d}=mn(r);let m=n_(t,a);const p=i_(t,l,c);return l==="center"?a==="left"?m+=c:a==="right"&&(m-=c):a==="left"?m-=Math.max(u,h)+i:a==="right"&&(m+=Math.max(f,d)+i),{x:qt(m,0,n.width-t.width),y:qt(p,0,n.height-t.height)}}function ei(e,t,s){const n=Ee(s.padding);return t==="center"?e.x+e.width/2:t==="right"?e.x+e.width-n.right:e.x+n.left}function Pl(e){return ce([],ve(e))}function o_(e,t,s){return Ms(e,{tooltip:t,tooltipItems:s,type:"tooltip"})}function Tl(e,t){const s=t&&t.dataset&&t.dataset.tooltip&&t.dataset.tooltip.callbacks;return s?e.override(s):e}const Ku={beforeTitle:xe,title(e){if(e.length>0){const t=e[0],s=t.chart.data.labels,n=s?s.length:0;if(this&&this.options&&this.options.mode==="dataset")return t.dataset.label||"";if(t.label)return t.label;if(n>0&&t.dataIndex<n)return s[t.dataIndex]}return""},afterTitle:xe,beforeBody:xe,beforeLabel:xe,label(e){if(this&&this.options&&this.options.mode==="dataset")return e.label+": "+e.formattedValue||e.formattedValue;let t=e.dataset.label||"";t&&(t+=": ");const s=e.formattedValue;return ct(s)||(t+=s),t},labelColor(e){const s=e.chart.getDatasetMeta(e.datasetIndex).controller.getStyle(e.dataIndex);return{borderColor:s.borderColor,backgroundColor:s.backgroundColor,borderWidth:s.borderWidth,borderDash:s.borderDash,borderDashOffset:s.borderDashOffset,borderRadius:0}},labelTextColor(){return this.options.bodyColor},labelPointStyle(e){const s=e.chart.getDatasetMeta(e.datasetIndex).controller.getStyle(e.dataIndex);return{pointStyle:s.pointStyle,rotation:s.rotation}},afterLabel:xe,afterBody:xe,beforeFooter:xe,footer:xe,afterFooter:xe};function Bt(e,t,s,n){const i=e[t].call(s,n);return typeof i>"u"?Ku[t].call(s,n):i}class ir extends ks{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 s=this.chart,n=this.options.setContext(this.getContext()),i=n.enabled&&s.options.animation&&n.animations,o=new Au(this.chart,i);return i._cacheable&&(this._cachedAnimations=Object.freeze(o)),o}getContext(){return this.$context||(this.$context=o_(this.chart.getContext(),this,this._tooltipItems))}getTitle(t,s){const{callbacks:n}=s,i=Bt(n,"beforeTitle",this,t),o=Bt(n,"title",this,t),r=Bt(n,"afterTitle",this,t);let a=[];return a=ce(a,ve(i)),a=ce(a,ve(o)),a=ce(a,ve(r)),a}getBeforeBody(t,s){return Pl(Bt(s.callbacks,"beforeBody",this,t))}getBody(t,s){const{callbacks:n}=s,i=[];return rt(t,o=>{const r={before:[],lines:[],after:[]},a=Tl(n,o);ce(r.before,ve(Bt(a,"beforeLabel",this,o))),ce(r.lines,Bt(a,"label",this,o)),ce(r.after,ve(Bt(a,"afterLabel",this,o))),i.push(r)}),i}getAfterBody(t,s){return Pl(Bt(s.callbacks,"afterBody",this,t))}getFooter(t,s){const{callbacks:n}=s,i=Bt(n,"beforeFooter",this,t),o=Bt(n,"footer",this,t),r=Bt(n,"afterFooter",this,t);let a=[];return a=ce(a,ve(i)),a=ce(a,ve(o)),a=ce(a,ve(r)),a}_createItems(t){const s=this._active,n=this.chart.data,i=[],o=[],r=[];let a=[],l,c;for(l=0,c=s.length;l<c;++l)a.push(Qb(this.chart,s[l]));return t.filter&&(a=a.filter((u,f,h)=>t.filter(u,f,h,n))),t.itemSort&&(a=a.sort((u,f)=>t.itemSort(u,f,n))),rt(a,u=>{const f=Tl(t.callbacks,u);i.push(Bt(f,"labelColor",this,u)),o.push(Bt(f,"labelPointStyle",this,u)),r.push(Bt(f,"labelTextColor",this,u))}),this.labelColors=i,this.labelPointStyles=o,this.labelTextColors=r,this.dataPoints=a,a}update(t,s){const n=this.options.setContext(this.getContext()),i=this._active;let o,r=[];if(!i.length)this.opacity!==0&&(o={opacity:0});else{const a=on[n.position].call(this,i,this._eventPosition);r=this._createItems(n),this.title=this.getTitle(r,n),this.beforeBody=this.getBeforeBody(r,n),this.body=this.getBody(r,n),this.afterBody=this.getAfterBody(r,n),this.footer=this.getFooter(r,n);const l=this._size=Ml(this,n),c=Object.assign({},a,l),u=kl(this.chart,n,c),f=Cl(n,c,u,this.chart);this.xAlign=u.xAlign,this.yAlign=u.yAlign,o={opacity:1,x:f.x,y:f.y,width:l.width,height:l.height,caretX:a.x,caretY:a.y}}this._tooltipItems=r,this.$context=void 0,o&&this._resolveAnimations().update(this,o),t&&n.external&&n.external.call(this,{chart:this.chart,tooltip:this,replay:s})}drawCaret(t,s,n,i){const o=this.getCaretPosition(t,n,i);s.lineTo(o.x1,o.y1),s.lineTo(o.x2,o.y2),s.lineTo(o.x3,o.y3)}getCaretPosition(t,s,n){const{xAlign:i,yAlign:o}=this,{caretSize:r,cornerRadius:a}=n,{topLeft:l,topRight:c,bottomLeft:u,bottomRight:f}=mn(a),{x:h,y:d}=t,{width:m,height:p}=s;let b,x,y,M,v,S;return o==="center"?(v=d+p/2,i==="left"?(b=h,x=b-r,M=v+r,S=v-r):(b=h+m,x=b+r,M=v-r,S=v+r),y=b):(i==="left"?x=h+Math.max(l,u)+r:i==="right"?x=h+m-Math.max(c,f)-r:x=this.caretX,o==="top"?(M=d,v=M-r,b=x-r,y=x+r):(M=d+p,v=M+r,b=x+r,y=x-r),S=M),{x1:b,x2:x,x3:y,y1:M,y2:v,y3:S}}drawTitle(t,s,n){const i=this.title,o=i.length;let r,a,l;if(o){const c=yo(n.rtl,this.x,this.width);for(t.x=ei(this,n.titleAlign,n),s.textAlign=c.textAlign(n.titleAlign),s.textBaseline="middle",r=te(n.titleFont),a=n.titleSpacing,s.fillStyle=n.titleColor,s.font=r.string,l=0;l<o;++l)s.fillText(i[l],c.x(t.x),t.y+r.lineHeight/2),t.y+=r.lineHeight+a,l+1===o&&(t.y+=n.titleMarginBottom-a)}}_drawColorBox(t,s,n,i,o){const r=this.labelColors[n],a=this.labelPointStyles[n],{boxHeight:l,boxWidth:c}=o,u=te(o.bodyFont),f=ei(this,"left",o),h=i.x(f),d=l<u.lineHeight?(u.lineHeight-l)/2:0,m=s.y+d;if(o.usePointStyle){const p={radius:Math.min(c,l)/2,pointStyle:a.pointStyle,rotation:a.rotation,borderWidth:1},b=i.leftForLtr(h,c)+c/2,x=m+l/2;t.strokeStyle=o.multiKeyBackground,t.fillStyle=o.multiKeyBackground,Jo(t,p,b,x),t.strokeStyle=r.borderColor,t.fillStyle=r.backgroundColor,Jo(t,p,b,x)}else{t.lineWidth=tt(r.borderWidth)?Math.max(...Object.values(r.borderWidth)):r.borderWidth||1,t.strokeStyle=r.borderColor,t.setLineDash(r.borderDash||[]),t.lineDashOffset=r.borderDashOffset||0;const p=i.leftForLtr(h,c),b=i.leftForLtr(i.xPlus(h,1),c-2),x=mn(r.borderRadius);Object.values(x).some(y=>y!==0)?(t.beginPath(),t.fillStyle=o.multiKeyBackground,tr(t,{x:p,y:m,w:c,h:l,radius:x}),t.fill(),t.stroke(),t.fillStyle=r.backgroundColor,t.beginPath(),tr(t,{x:b,y:m+1,w:c-2,h:l-2,radius:x}),t.fill()):(t.fillStyle=o.multiKeyBackground,t.fillRect(p,m,c,l),t.strokeRect(p,m,c,l),t.fillStyle=r.backgroundColor,t.fillRect(b,m+1,c-2,l-2))}t.fillStyle=this.labelTextColors[n]}drawBody(t,s,n){const{body:i}=this,{bodySpacing:o,bodyAlign:r,displayColors:a,boxHeight:l,boxWidth:c,boxPadding:u}=n,f=te(n.bodyFont);let h=f.lineHeight,d=0;const m=yo(n.rtl,this.x,this.width),p=function(z){s.fillText(z,m.x(t.x+d),t.y+h/2),t.y+=h+o},b=m.textAlign(r);let x,y,M,v,S,D,I;for(s.textAlign=r,s.textBaseline="middle",s.font=f.string,t.x=ei(this,b,n),s.fillStyle=n.bodyColor,rt(this.beforeBody,p),d=a&&b!=="right"?r==="center"?c/2+u:c+2+u:0,v=0,D=i.length;v<D;++v){for(x=i[v],y=this.labelTextColors[v],s.fillStyle=y,rt(x.before,p),M=x.lines,a&&M.length&&(this._drawColorBox(s,t,v,m,n),h=Math.max(f.lineHeight,l)),S=0,I=M.length;S<I;++S)p(M[S]),h=f.lineHeight;rt(x.after,p)}d=0,h=f.lineHeight,rt(this.afterBody,p),t.y-=o}drawFooter(t,s,n){const i=this.footer,o=i.length;let r,a;if(o){const l=yo(n.rtl,this.x,this.width);for(t.x=ei(this,n.footerAlign,n),t.y+=n.footerMarginTop,s.textAlign=l.textAlign(n.footerAlign),s.textBaseline="middle",r=te(n.footerFont),s.fillStyle=n.footerColor,s.font=r.string,a=0;a<o;++a)s.fillText(i[a],l.x(t.x),t.y+r.lineHeight/2),t.y+=r.lineHeight+n.footerSpacing}}drawBackground(t,s,n,i){const{xAlign:o,yAlign:r}=this,{x:a,y:l}=t,{width:c,height:u}=n,{topLeft:f,topRight:h,bottomLeft:d,bottomRight:m}=mn(i.cornerRadius);s.fillStyle=i.backgroundColor,s.strokeStyle=i.borderColor,s.lineWidth=i.borderWidth,s.beginPath(),s.moveTo(a+f,l),r==="top"&&this.drawCaret(t,s,n,i),s.lineTo(a+c-h,l),s.quadraticCurveTo(a+c,l,a+c,l+h),r==="center"&&o==="right"&&this.drawCaret(t,s,n,i),s.lineTo(a+c,l+u-m),s.quadraticCurveTo(a+c,l+u,a+c-m,l+u),r==="bottom"&&this.drawCaret(t,s,n,i),s.lineTo(a+d,l+u),s.quadraticCurveTo(a,l+u,a,l+u-d),r==="center"&&o==="left"&&this.drawCaret(t,s,n,i),s.lineTo(a,l+f),s.quadraticCurveTo(a,l,a+f,l),s.closePath(),s.fill(),i.borderWidth>0&&s.stroke()}_updateAnimationTarget(t){const s=this.chart,n=this.$animations,i=n&&n.x,o=n&&n.y;if(i||o){const r=on[t.position].call(this,this._active,this._eventPosition);if(!r)return;const a=this._size=Ml(this,t),l=Object.assign({},r,this._size),c=kl(s,t,l),u=Cl(t,l,c,s);(i._to!==u.x||o._to!==u.y)&&(this.xAlign=c.xAlign,this.yAlign=c.yAlign,this.width=a.width,this.height=a.height,this.caretX=r.x,this.caretY=r.y,this._resolveAnimations().update(this,u))}}_willRender(){return!!this.opacity}draw(t){const s=this.options.setContext(this.getContext());let n=this.opacity;if(!n)return;this._updateAnimationTarget(s);const i={width:this.width,height:this.height},o={x:this.x,y:this.y};n=Math.abs(n)<.001?0:n;const r=Ee(s.padding),a=this.title.length||this.beforeBody.length||this.body.length||this.afterBody.length||this.footer.length;s.enabled&&a&&(t.save(),t.globalAlpha=n,this.drawBackground(o,t,i,s),Yg(t,s.textDirection),o.y+=r.top,this.drawTitle(o,t,s),this.drawBody(o,t,s),this.drawFooter(o,t,s),Xg(t,s.textDirection),t.restore())}getActiveElements(){return this._active||[]}setActiveElements(t,s){const n=this._active,i=t.map(({datasetIndex:a,index:l})=>{const c=this.chart.getDatasetMeta(a);if(!c)throw new Error("Cannot find a dataset at index "+a);return{datasetIndex:a,element:c.data[l],index:l}}),o=!Oi(n,i),r=this._positionChanged(i,s);(o||r)&&(this._active=i,this._eventPosition=s,this._ignoreReplayEvents=!0,this.update(!0))}handleEvent(t,s,n=!0){if(s&&this._ignoreReplayEvents)return!1;this._ignoreReplayEvents=!1;const i=this.options,o=this._active||[],r=this._getActiveElements(t,o,s,n),a=this._positionChanged(r,t),l=s||!Oi(r,o)||a;return l&&(this._active=r,(i.enabled||i.external)&&(this._eventPosition={x:t.x,y:t.y},this.update(!0,s))),l}_getActiveElements(t,s,n,i){const o=this.options;if(t.type==="mouseout")return[];if(!i)return s.filter(a=>this.chart.data.datasets[a.datasetIndex]&&this.chart.getDatasetMeta(a.datasetIndex).controller.getParsed(a.index)!==void 0);const r=this.chart.getElementsAtEventForMode(t,o.mode,o,n);return o.reverse&&r.reverse(),r}_positionChanged(t,s){const{caretX:n,caretY:i,options:o}=this,r=on[o.position].call(this,t,s);return r!==!1&&(n!==r.x||i!==r.y)}}N(ir,"positioners",on);var r_={id:"tooltip",_element:ir,positioners:on,afterInit(e,t,s){s&&(e.tooltip=new ir({chart:e,options:s}))},beforeUpdate(e,t,s){e.tooltip&&e.tooltip.initialize(s)},reset(e,t,s){e.tooltip&&e.tooltip.initialize(s)},afterDraw(e){const t=e.tooltip;if(t&&t._willRender()){const s={tooltip:t};if(e.notifyPlugins("beforeTooltipDraw",{...s,cancelable:!0})===!1)return;t.draw(e.ctx),e.notifyPlugins("afterTooltipDraw",s)}},afterEvent(e,t){if(e.tooltip){const s=t.replay;e.tooltip.handleEvent(t.event,s,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:Ku},defaultRoutes:{bodyFont:"font",footerFont:"font",titleFont:"font"},descriptors:{_scriptable:e=>e!=="filter"&&e!=="itemSort"&&e!=="external",_indexable:!1,callbacks:{_scriptable:!1,_indexable:!1},animation:{_fallback:!1},animations:{_fallback:"animation"}},additionalOptionScopes:["interaction"]};const a_=(e,t,s,n)=>(typeof t=="string"?(s=e.push(t)-1,n.unshift({index:s,label:t})):isNaN(t)&&(s=null),s);function l_(e,t,s,n){const i=e.indexOf(t);if(i===-1)return a_(e,t,s,n);const o=e.lastIndexOf(t);return i!==o?s:i}const c_=(e,t)=>e===null?null:qt(Math.round(e),0,t);function Ol(e){const t=this.getLabels();return e>=0&&e<t.length?t[e]:e}class or extends Cs{constructor(t){super(t),this._startValue=void 0,this._valueRange=0,this._addedLabels=[]}init(t){const s=this._addedLabels;if(s.length){const n=this.getLabels();for(const{index:i,label:o}of s)n[i]===o&&n.splice(i,1);this._addedLabels=[]}super.init(t)}parse(t,s){if(ct(t))return null;const n=this.getLabels();return s=isFinite(s)&&n[s]===t?s:l_(n,t,lt(s,t),this._addedLabels),c_(s,n.length-1)}determineDataLimits(){const{minDefined:t,maxDefined:s}=this.getUserBounds();let{min:n,max:i}=this.getMinMax(!0);this.options.bounds==="ticks"&&(t||(n=0),s||(i=this.getLabels().length-1)),this.min=n,this.max=i}buildTicks(){const t=this.min,s=this.max,n=this.options.offset,i=[];let o=this.getLabels();o=t===0&&s===o.length-1?o:o.slice(t,s+1),this._valueRange=Math.max(o.length-(n?0:1),1),this._startValue=this.min-(n?.5:0);for(let r=t;r<=s;r++)i.push({value:r});return i}getLabelForValue(t){return Ol.call(this,t)}configure(){super.configure(),this.isHorizontal()||(this._reversePixels=!this._reversePixels)}getPixelForValue(t){return typeof t!="number"&&(t=this.parse(t)),t===null?NaN:this.getPixelForDecimal((t-this._startValue)/this._valueRange)}getPixelForTick(t){const s=this.ticks;return t<0||t>s.length-1?null:this.getPixelForValue(s[t].value)}getValueForPixel(t){return Math.round(this._startValue+this.getDecimalForPixel(t)*this._valueRange)}getBasePixel(){return this.bottom}}N(or,"id","category"),N(or,"defaults",{ticks:{callback:Ol}});function u_(e,t){const s=[],{bounds:i,step:o,min:r,max:a,precision:l,count:c,maxTicks:u,maxDigits:f,includeBounds:h}=e,d=o||1,m=u-1,{min:p,max:b}=t,x=!ct(r),y=!ct(a),M=!ct(c),v=(b-p)/(f+1);let S=Ia((b-p)/m/d)*d,D,I,z,R;if(S<1e-14&&!x&&!y)return[{value:p},{value:b}];R=Math.ceil(b/S)-Math.floor(p/S),R>m&&(S=Ia(R*S/m/d)*d),ct(l)||(D=Math.pow(10,l),S=Math.ceil(S*D)/D),i==="ticks"?(I=Math.floor(p/S)*S,z=Math.ceil(b/S)*S):(I=p,z=b),x&&y&&o&&Up((a-r)/o,S/1e3)?(R=Math.round(Math.min((a-r)/S,u)),S=(a-r)/R,I=r,z=a):M?(I=x?r:I,z=y?a:z,R=c-1,S=(z-I)/R):(R=(z-I)/S,hn(R,Math.round(R),S/1e3)?R=Math.round(R):R=Math.ceil(R));const V=Math.max(Ra(S),Ra(I));D=Math.pow(10,ct(l)?V:l),I=Math.round(I*D)/D,z=Math.round(z*D)/D;let W=0;for(x&&(h&&I!==r?(s.push({value:r}),I<r&&W++,hn(Math.round((I+W*S)*D)/D,r,Al(r,v,e))&&W++):I<r&&W++);W<R;++W){const E=Math.round((I+W*S)*D)/D;if(y&&E>a)break;s.push({value:E})}return y&&h&&z!==a?s.length&&hn(s[s.length-1].value,a,Al(a,v,e))?s[s.length-1].value=a:s.push({value:a}):(!y||z===a)&&s.push({value:z}),s}function Al(e,t,{horizontal:s,minRotation:n}){const i=ms(n),o=(s?Math.sin(i):Math.cos(i))||.001,r=.75*t*(""+e).length;return Math.min(t/o,r)}class Yu extends Cs{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,s){return ct(t)||(typeof t=="number"||t instanceof Number)&&!isFinite(+t)?null:+t}handleTickRangeOptions(){const{beginAtZero:t}=this.options,{minDefined:s,maxDefined:n}=this.getUserBounds();let{min:i,max:o}=this;const r=l=>i=s?i:l,a=l=>o=n?o:l;if(t){const l=me(i),c=me(o);l<0&&c<0?a(0):l>0&&c>0&&r(0)}if(i===o){let l=o===0?1:Math.abs(o*.05);a(o+l),t||r(i-l)}this.min=i,this.max=o}getTickLimit(){const t=this.options.ticks;let{maxTicksLimit:s,stepSize:n}=t,i;return n?(i=Math.ceil(this.max/n)-Math.floor(this.min/n)+1,i>1e3&&(console.warn(`scales.${this.id}.ticks.stepSize: ${n} would result generating up to ${i} ticks. Limiting to 1000.`),i=1e3)):(i=this.computeTickLimit(),s=s||11),s&&(i=Math.min(s,i)),i}computeTickLimit(){return Number.POSITIVE_INFINITY}buildTicks(){const t=this.options,s=t.ticks;let n=this.getTickLimit();n=Math.max(2,n);const i={maxTicks:n,bounds:t.bounds,min:t.min,max:t.max,precision:s.precision,step:s.stepSize,count:s.count,maxDigits:this._maxDigits(),horizontal:this.isHorizontal(),minRotation:s.minRotation||0,includeBounds:s.includeBounds!==!1},o=this._range||this,r=u_(i,o);return t.bounds==="ticks"&&uu(r,this,"value"),t.reverse?(r.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),r}configure(){const t=this.ticks;let s=this.min,n=this.max;if(super.configure(),this.options.offset&&t.length){const i=(n-s)/Math.max(t.length-1,1)/2;s-=i,n+=i}this._startValue=s,this._endValue=n,this._valueRange=n-s}getLabelForValue(t){return Er(t,this.chart.options.locale,this.options.ticks.format)}}class rr extends Yu{determineDataLimits(){const{min:t,max:s}=this.getMinMax(!0);this.min=It(t)?t:0,this.max=It(s)?s:1,this.handleTickRangeOptions()}computeTickLimit(){const t=this.isHorizontal(),s=t?this.width:this.height,n=ms(this.options.ticks.minRotation),i=(t?Math.sin(n):Math.cos(n))||.001,o=this._resolveTickFontOptions(0);return Math.ceil(s/Math.min(40,o.lineHeight/i))}getPixelForValue(t){return t===null?NaN:this.getPixelForDecimal((t-this._startValue)/this._valueRange)}getValueForPixel(t){return this._startValue+this.getDecimalForPixel(t)*this._valueRange}}N(rr,"id","linear"),N(rr,"defaults",{ticks:{callback:Ir.formatters.numeric}});const An=e=>Math.floor(Ke(e)),hs=(e,t)=>Math.pow(10,An(e)+t);function Dl(e){return e/Math.pow(10,An(e))===1}function El(e,t,s){const n=Math.pow(10,s),i=Math.floor(e/n);return Math.ceil(t/n)-i}function f_(e,t){const s=t-e;let n=An(s);for(;El(e,t,n)>10;)n++;for(;El(e,t,n)<10;)n--;return Math.min(n,An(e))}function h_(e,{min:t,max:s}){t=Kt(e.min,t);const n=[],i=An(t);let o=f_(t,s),r=o<0?Math.pow(10,Math.abs(o)):1;const a=Math.pow(10,o),l=i>o?Math.pow(10,i):0,c=Math.round((t-l)*r)/r,u=Math.floor((t-l)/a/10)*a*10;let f=Math.floor((c-u)/Math.pow(10,o)),h=Kt(e.min,Math.round((l+u+f*Math.pow(10,o))*r)/r);for(;h<s;)n.push({value:h,major:Dl(h),significand:f}),f>=10?f=f<15?15:20:f++,f>=20&&(o++,f=2,r=o>=0?1:r),h=Math.round((l+u+f*Math.pow(10,o))*r)/r;const d=Kt(e.max,h);return n.push({value:d,major:Dl(d),significand:f}),n}class ar extends Cs{constructor(t){super(t),this.start=void 0,this.end=void 0,this._startValue=void 0,this._valueRange=0}parse(t,s){const n=Yu.prototype.parse.apply(this,[t,s]);if(n===0){this._zero=!0;return}return It(n)&&n>0?n:null}determineDataLimits(){const{min:t,max:s}=this.getMinMax(!0);this.min=It(t)?Math.max(0,t):null,this.max=It(s)?Math.max(0,s):null,this.options.beginAtZero&&(this._zero=!0),this._zero&&this.min!==this._suggestedMin&&!It(this._userMin)&&(this.min=t===hs(this.min,0)?hs(this.min,-1):hs(this.min,0)),this.handleTickRangeOptions()}handleTickRangeOptions(){const{minDefined:t,maxDefined:s}=this.getUserBounds();let n=this.min,i=this.max;const o=a=>n=t?n:a,r=a=>i=s?i:a;n===i&&(n<=0?(o(1),r(10)):(o(hs(n,-1)),r(hs(i,1)))),n<=0&&o(hs(i,-1)),i<=0&&r(hs(n,1)),this.min=n,this.max=i}buildTicks(){const t=this.options,s={min:this._userMin,max:this._userMax},n=h_(s,this);return t.bounds==="ticks"&&uu(n,this,"value"),t.reverse?(n.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),n}getLabelForValue(t){return t===void 0?"0":Er(t,this.chart.options.locale,this.options.ticks.format)}configure(){const t=this.min;super.configure(),this._startValue=Ke(t),this._valueRange=Ke(this.max)-Ke(t)}getPixelForValue(t){return(t===void 0||t===0)&&(t=this.min),t===null||isNaN(t)?NaN:this.getPixelForDecimal(t===this.min?0:(Ke(t)-this._startValue)/this._valueRange)}getValueForPixel(t){const s=this.getDecimalForPixel(t);return Math.pow(10,this._startValue+s*this._valueRange)}}N(ar,"id","logarithmic"),N(ar,"defaults",{ticks:{callback:Ir.formatters.logarithmic,major:{enabled:!0}}});const Qi={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}},Nt=Object.keys(Qi);function Il(e,t){return e-t}function Rl(e,t){if(ct(t))return null;const s=e._adapter,{parser:n,round:i,isoWeekday:o}=e._parseOpts;let r=t;return typeof n=="function"&&(r=n(r)),It(r)||(r=typeof n=="string"?s.parse(r,n):s.parse(r)),r===null?null:(i&&(r=i==="week"&&(Vs(o)||o===!0)?s.startOf(r,"isoWeek",o):s.startOf(r,i)),+r)}function Ll(e,t,s,n){const i=Nt.length;for(let o=Nt.indexOf(e);o<i-1;++o){const r=Qi[Nt[o]],a=r.steps?r.steps:Number.MAX_SAFE_INTEGER;if(r.common&&Math.ceil((s-t)/(a*r.size))<=n)return Nt[o]}return Nt[i-1]}function d_(e,t,s,n,i){for(let o=Nt.length-1;o>=Nt.indexOf(s);o--){const r=Nt[o];if(Qi[r].common&&e._adapter.diff(i,n,r)>=t-1)return r}return Nt[s?Nt.indexOf(s):0]}function p_(e){for(let t=Nt.indexOf(e)+1,s=Nt.length;t<s;++t)if(Qi[Nt[t]].common)return Nt[t]}function Fl(e,t,s){if(!s)e[t]=!0;else if(s.length){const{lo:n,hi:i}=Ar(s,t),o=s[n]>=t?s[n]:s[i];e[o]=!0}}function g_(e,t,s,n){const i=e._adapter,o=+i.startOf(t[0].value,n),r=t[t.length-1].value;let a,l;for(a=o;a<=r;a=+i.add(a,1,n))l=s[a],l>=0&&(t[l].major=!0);return t}function zl(e,t,s){const n=[],i={},o=t.length;let r,a;for(r=0;r<o;++r)a=t[r],i[a]=r,n.push({value:a,major:!1});return o===0||!s?n:g_(e,n,i,s)}class Ri extends Cs{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,s={}){const n=t.time||(t.time={}),i=this._adapter=new Pm._date(t.adapters.date);i.init(s),fn(n.displayFormats,i.formats()),this._parseOpts={parser:n.parser,round:n.round,isoWeekday:n.isoWeekday},super.init(t),this._normalized=s.normalized}parse(t,s){return t===void 0?null:Rl(this,t)}beforeLayout(){super.beforeLayout(),this._cache={data:[],labels:[],all:[]}}determineDataLimits(){const t=this.options,s=this._adapter,n=t.time.unit||"day";let{min:i,max:o,minDefined:r,maxDefined:a}=this.getUserBounds();function l(c){!r&&!isNaN(c.min)&&(i=Math.min(i,c.min)),!a&&!isNaN(c.max)&&(o=Math.max(o,c.max))}(!r||!a)&&(l(this._getLabelBounds()),(t.bounds!=="ticks"||t.ticks.source!=="labels")&&l(this.getMinMax(!1))),i=It(i)&&!isNaN(i)?i:+s.startOf(Date.now(),n),o=It(o)&&!isNaN(o)?o:+s.endOf(Date.now(),n)+1,this.min=Math.min(i,o-1),this.max=Math.max(i+1,o)}_getLabelBounds(){const t=this.getLabelTimestamps();let s=Number.POSITIVE_INFINITY,n=Number.NEGATIVE_INFINITY;return t.length&&(s=t[0],n=t[t.length-1]),{min:s,max:n}}buildTicks(){const t=this.options,s=t.time,n=t.ticks,i=n.source==="labels"?this.getLabelTimestamps():this._generate();t.bounds==="ticks"&&i.length&&(this.min=this._userMin||i[0],this.max=this._userMax||i[i.length-1]);const o=this.min,r=this.max,a=Zp(i,o,r);return this._unit=s.unit||(n.autoSkip?Ll(s.minUnit,this.min,this.max,this._getLabelCapacity(o)):d_(this,a.length,s.minUnit,this.min,this.max)),this._majorUnit=!n.major.enabled||this._unit==="year"?void 0:p_(this._unit),this.initOffsets(i),t.reverse&&a.reverse(),zl(this,a,this._majorUnit)}afterAutoSkip(){this.options.offsetAfterAutoskip&&this.initOffsets(this.ticks.map(t=>+t.value))}initOffsets(t=[]){let s=0,n=0,i,o;this.options.offset&&t.length&&(i=this.getDecimalForValue(t[0]),t.length===1?s=1-i:s=(this.getDecimalForValue(t[1])-i)/2,o=this.getDecimalForValue(t[t.length-1]),t.length===1?n=o:n=(o-this.getDecimalForValue(t[t.length-2]))/2);const r=t.length<3?.5:.25;s=qt(s,0,r),n=qt(n,0,r),this._offsets={start:s,end:n,factor:1/(s+1+n)}}_generate(){const t=this._adapter,s=this.min,n=this.max,i=this.options,o=i.time,r=o.unit||Ll(o.minUnit,s,n,this._getLabelCapacity(s)),a=lt(i.ticks.stepSize,1),l=r==="week"?o.isoWeekday:!1,c=Vs(l)||l===!0,u={};let f=s,h,d;if(c&&(f=+t.startOf(f,"isoWeek",l)),f=+t.startOf(f,c?"day":r),t.diff(n,s,r)>1e5*a)throw new Error(s+" and "+n+" are too far apart with stepSize of "+a+" "+r);const m=i.ticks.source==="data"&&this.getDataTimestamps();for(h=f,d=0;h<n;h=+t.add(h,a,r),d++)Fl(u,h,m);return(h===n||i.bounds==="ticks"||d===1)&&Fl(u,h,m),Object.keys(u).sort(Il).map(p=>+p)}getLabelForValue(t){const s=this._adapter,n=this.options.time;return n.tooltipFormat?s.format(t,n.tooltipFormat):s.format(t,n.displayFormats.datetime)}format(t,s){const i=this.options.time.displayFormats,o=this._unit,r=s||i[o];return this._adapter.format(t,r)}_tickFormatFunction(t,s,n,i){const o=this.options,r=o.ticks.callback;if(r)return mt(r,[t,s,n],this);const a=o.time.displayFormats,l=this._unit,c=this._majorUnit,u=l&&a[l],f=c&&a[c],h=n[s],d=c&&f&&h&&h.major;return this._adapter.format(t,i||(d?f:u))}generateTickLabels(t){let s,n,i;for(s=0,n=t.length;s<n;++s)i=t[s],i.label=this._tickFormatFunction(i.value,s,t)}getDecimalForValue(t){return t===null?NaN:(t-this.min)/(this.max-this.min)}getPixelForValue(t){const s=this._offsets,n=this.getDecimalForValue(t);return this.getPixelForDecimal((s.start+n)*s.factor)}getValueForPixel(t){const s=this._offsets,n=this.getDecimalForPixel(t)/s.factor-s.end;return this.min+n*(this.max-this.min)}_getLabelSize(t){const s=this.options.ticks,n=this.ctx.measureText(t).width,i=ms(this.isHorizontal()?s.maxRotation:s.minRotation),o=Math.cos(i),r=Math.sin(i),a=this._resolveTickFontOptions(0).size;return{w:n*o+a*r,h:n*r+a*o}}_getLabelCapacity(t){const s=this.options.time,n=s.displayFormats,i=n[s.unit]||n.millisecond,o=this._tickFormatFunction(t,0,zl(this,[t],this._majorUnit),i),r=this._getLabelSize(o),a=Math.floor(this.isHorizontal()?this.width/r.w:this.height/r.h)-1;return a>0?a:1}getDataTimestamps(){let t=this._cache.data||[],s,n;if(t.length)return t;const i=this.getMatchingVisibleMetas();if(this._normalized&&i.length)return this._cache.data=i[0].controller.getAllParsedValues(this);for(s=0,n=i.length;s<n;++s)t=t.concat(i[s].controller.getAllParsedValues(this));return this._cache.data=this.normalize(t)}getLabelTimestamps(){const t=this._cache.labels||[];let s,n;if(t.length)return t;const i=this.getLabels();for(s=0,n=i.length;s<n;++s)t.push(Rl(this,i[s]));return this._cache.labels=this._normalized?t:this.normalize(t)}normalize(t){return du(t.sort(Il))}}N(Ri,"id","time"),N(Ri,"defaults",{bounds:"data",adapters:{},time:{parser:!1,unit:!1,round:!1,isoWeekday:!1,minUnit:"millisecond",displayFormats:{}},ticks:{source:"auto",callback:!1,major:{enabled:!1}}});function si(e,t,s){let n=0,i=e.length-1,o,r,a,l;s?(t>=e[n].pos&&t<=e[i].pos&&({lo:n,hi:i}=bs(e,"pos",t)),{pos:o,time:a}=e[n],{pos:r,time:l}=e[i]):(t>=e[n].time&&t<=e[i].time&&({lo:n,hi:i}=bs(e,"time",t)),{time:o,pos:a}=e[n],{time:r,pos:l}=e[i]);const c=r-o;return c?a+(l-a)*(t-o)/c:a}class Bl extends Ri{constructor(t){super(t),this._table=[],this._minPos=void 0,this._tableRange=void 0}initOffsets(){const t=this._getTimestampsForTable(),s=this._table=this.buildLookupTable(t);this._minPos=si(s,this.min),this._tableRange=si(s,this.max)-this._minPos,super.initOffsets(t)}buildLookupTable(t){const{min:s,max:n}=this,i=[],o=[];let r,a,l,c,u;for(r=0,a=t.length;r<a;++r)c=t[r],c>=s&&c<=n&&i.push(c);if(i.length<2)return[{time:s,pos:0},{time:n,pos:1}];for(r=0,a=i.length;r<a;++r)u=i[r+1],l=i[r-1],c=i[r],Math.round((u+l)/2)!==c&&o.push({time:c,pos:r/(a-1)});return o}_generate(){const t=this.min,s=this.max;let n=super.getDataTimestamps();return(!n.includes(t)||!n.length)&&n.splice(0,0,t),(!n.includes(s)||n.length===1)&&n.push(s),n.sort((i,o)=>i-o)}_getTimestampsForTable(){let t=this._cache.all||[];if(t.length)return t;const s=this.getDataTimestamps(),n=this.getLabelTimestamps();return s.length&&n.length?t=this.normalize(s.concat(n)):t=s.length?s:n,t=this._cache.all=t,t}getDecimalForValue(t){return(si(this._table,t)-this._minPos)/this._tableRange}getValueForPixel(t){const s=this._offsets,n=this.getDecimalForPixel(t)/s.factor-s.end;return si(this._table,n*this._tableRange+this._minPos,!0)}}N(Bl,"id","timeseries"),N(Bl,"defaults",Ri.defaults);const m_={class:"content layoutCol"},b_={class:"legend"},__={class:"entry"},x_={__name:"CardFloat",props:{name:{type:String,required:!0},cols:{type:Array,required:!0}},setup(e){const t=e,s=hp(p=>{const b=G.availableCols.value[p];let x=b.steps.map((M,v)=>({x:M,y:b.values[v]}));const y=M=>M.reduce((v,S)=>v+S)/M.length;return G.options.binsize&&(x=m(x,G.options.binsize,y)),{label:b.run,data:x,fill:!1,pointRadius:0,borderWidth:1,col:b}});pt(()=>[t.cols,G.availableCols],()=>{const p=t.cols.filter(b=>b in G.availableCols.value);s.setTo(p);for(const b of p)if(b in s.value){const x=s.value[b].col,y=G.availableCols.value[b];x!==y&&s.add(b,!0)}},{deep:!0,immediate:!0}),pt(()=>G.options.binsize,()=>{s.refresh()},{deep:!0});const n=Mt(()=>t.cols.sort().filter(p=>p in s.value).map(p=>s.value[p]).map((p,b)=>({...p,borderColor:c[b%c.length]}))),i=Mt(()=>t.cols.filter(p=>G.pendingCols.value.has(p)).length>0),o={x:Number.MAX_VALUE,y:-Number.MAX_VALUE},r=bt(o),a=Sc("root"),l=[null],c=["#e41a1c","#377eb8","#4daf4a","#984ea3","#ff7f00","#ffd92e","#a65628","#f781bf","#999999"],u=Mt(()=>n.value.map(p=>{const b=d(p.data,r.value.x);if(b===null)return null;const x=p.data[b].x,y=p.data[b].y,M=x.toLocaleString("en-US");let v;return .01<=Math.abs(y)&&Math.abs(y)<=1e4?v=y.toFixed(3):v=y.toExponential(2),{run:p.label,color:p.borderColor,step:x,value:y,formattedStep:M,formattedValue:v}}).filter(p=>p!==null).sort((p,b)=>{const x=Math.abs(p.value-r.value.y),y=Math.abs(b.value-r.value.y);return x-y}));Ui(()=>{const p=a.value.$el.querySelector("canvas");l[0]=h(p),f()}),pt(()=>n,()=>f(),{deep:2});function f(){l[0]!==null&&(l[0].data.datasets=n.value.slice(),l[0].update())}function h(p){return new Me(p,{type:"line",data:{datasets:[]},options:{animation:!1,responsive:!0,maintainAspectRatio:!1,resizeDelay:10,pointHoverRadius:0,scales:{x:{type:"linear",position:"bottom",maxRotation:0},y:{type:"linear",position:"left",maxRotation:0}},plugins:{tooltip:{enabled:!1},zoom:{enabled:!0,onMove:b=>{r.value=b}}}}})}function d(p,b,x=!0){let y=0,M=p.length-1;if(x){for(;y<p.length-1&&y<M&&p[y].y===null;)y++;for(;M>0&&M>y&&p[M].y===null;)M--}if(!(y<M))return null;for(;y<=M;){const S=Math.floor((y+M)/2),D=p[S].x;if(b>D)y=S+1;else if(b<D)M=S-1;else return S}y=Math.max(0,Math.min(y,p.length-1)),M=Math.max(0,Math.min(M,p.length-1));let v=p[y]-b<b-p[M]?y:M;for(;v<p.length&&p[v].y===null;)v++;return v<p.length?v:null}function m(p,b,x,y=!0){const M=[];y&&M.push({x:p[0].x,y:null});let v=null,S=null,D=[];for(const[I,z]of p.entries())S=(Math.round(z.x/b)+.5)*b,S!==v&&(D.length&&M.push({x:v,y:x(D)}),D.length=0,v=S),D.push(z.y);return D.length&&M.push({x:v,y:x(D)}),y&&M.push({x:p[p.length-1].x,y:null}),M}return(p,b)=>(Y(),pe(Zi,{name:t.name,loading:i.value,scrollX:!1,scrollY:!1,ref_key:"root",ref:a},{default:Ze(()=>[j("div",m_,[b[0]||(b[0]=j("div",{class:"chart"},[j("canvas")],-1)),j("div",b_,[(Y(!0),at(xt,null,En(u.value,x=>(Y(),at("div",__,[j("div",{style:Vi({background:x.color})},null,4),j("div",null,wt(x.run),1),j("div",null,wt(x.formattedStep),1),j("div",null,wt(x.formattedValue),1)]))),256))])])]),_:1},8,["name","loading"]))}},y_=ns(x_,[["__scopeId","data-v-4a4f459f"]]),v_=["title"],w_=["title"],S_={class:"count"},M_={class:"step"},k_=["controls"],C_=["src"],P_={__name:"CardVideo",props:{name:{type:String,required:!0},cols:{type:Array,required:!0}},setup(e){const t=e,s=Mt(()=>t.cols.filter(m=>m in G.availableCols.value).sort().toReversed().map(m=>G.availableCols.value[m])),n=Mt(()=>t.cols.filter(m=>G.pendingCols.value.has(m)).length>0),i=Mt(()=>s.value.map(m=>{const p=m.values[m.values.length-1];return{run:m.run,url:`/api/file/${p}`,steps:m.steps,values:m.values}})),o=bt(!1),r=bt(!1),a=bt(!0),l=Sc("root");function c(){[...l.value.$el.querySelectorAll("video")].map(m=>m.play()),o.value=!0}function u(){[...l.value.$el.querySelectorAll("video")].map(m=>m.pause()),o.value=!1}function f(){o.value=!1,[...l.value.$el.querySelectorAll("video")].map(p=>{p.pause(),p.currentTime=0})}function h(){r.value=!r.value}function d(){a.value=!a.value}return(m,p)=>(Y(),pe(Zi,{name:t.name,loading:n.value,scrollX:r.value,scrollY:!0,ref_key:"root",ref:l},{buttons:Ze(()=>[o.value?Pe("",!0):(Y(),at("span",{key:0,class:"btn icon",onClick:c,title:"Play all"},"play_arrow")),o.value?(Y(),at("span",{key:1,class:"btn icon",onClick:u,title:"Pause all"},"pause")):Pe("",!0),j("span",{class:"btn icon",onClick:f,title:"Stop all"},"stop"),j("span",{class:"btn icon",onClick:d,title:a.value?"Hide controls":"Show controls"},wt(a.value?"videogame_asset_off":"videogame_asset"),9,v_),j("span",{class:"btn icon",onClick:h,title:r.value?"Small size":"Large size"},wt(r.value?"zoom_out":"zoom_in"),9,w_)]),default:Ze(()=>[(Y(!0),at(xt,null,En(i.value,b=>(Y(),at("div",{key:b.url,class:Ge(["entry",{large:r.value}])},[j("h3",null,wt(b.run),1),j("span",S_,"Count: "+wt(b.steps.length),1),j("span",M_,"Step: "+wt(b.steps[b.steps.length-1]),1),p[0]||(p[0]=j("br",null,null,-1)),b.steps.length?(Y(),at("video",{key:0,controls:a.value,loop:"",tabindex:"-1"},[j("source",{src:b.url},null,8,C_)],8,k_)):Pe("",!0)],2))),128))]),_:1},8,["name","loading","scrollX"]))}},T_=ns(P_,[["__scopeId","data-v-6163ee35"]]),O_={class:"entry"},A_={class:"count"},D_={class:"step"},E_=["innerHTML"],I_={key:1,class:"icon spinner"},R_={__name:"CardText",props:{name:{type:String,required:!0},cols:{type:Array,required:!0}},setup(e){const t=e,s=bt({}),n=bt(new Set),i=Mt(()=>t.cols.filter(a=>a in G.availableCols.value).sort().toReversed().map(a=>G.availableCols.value[a])),o=Mt(()=>t.cols.filter(a=>G.pendingCols.value.has(a)).length>0||n.size>0),r=Mt(()=>i.value.map(a=>({run:a.run,file:a.values[a.values.length-1],steps:a.steps,values:a.values})));return pt(()=>r,()=>{const a=new Set(r.value.map(l=>l.file));Object.keys(s.value).filter(l=>!a.has(l)).map(l=>delete s.value[l]),[...a].filter(l=>!(l in s.value)).map(l=>(n.value.add(l),l)).map(l=>G.get(`/api/file/${l}`).then(c=>s.value[c.id]=c).finally(()=>n.value.delete(l)))},{deep:2}),(a,l)=>(Y(),pe(Zi,{name:t.name,loading:o.value,scrollX:!1,scrollY:!0},{default:Ze(()=>[(Y(!0),at(xt,null,En(r.value,c=>(Y(),at("div",O_,[j("h3",null,wt(c.run),1),j("span",A_,"Count: "+wt(c.steps.length),1),j("span",D_,"Step: "+wt(c.steps[c.steps.length-1]),1),l[0]||(l[0]=j("br",null,null,-1)),c.file in s.value?(Y(),at("pre",{key:0,innerHTML:s.value[c.file].text},null,8,E_)):(Y(),at("span",I_,"progress_activity"))]))),256))]),_:1},8,["name","loading"]))}},L_=ns(R_,[["__scopeId","data-v-02a5faa8"]]),F_={class:"header layoutRow focusgroup"},z_=["title"],B_={class:"content layoutRow"},V_={class:"right layoutCol"},N_={class:"left layoutCol"},$_={class:"center"},H_=["focusCols"],j_={__name:"App",setup(e){tu(i=>({"2aaae728":t.columns}));const t=ss(ze("settings",{columns:3,dark:!1}));pt(()=>t,i=>Fe("settings",i),{deep:!0});function s(){t.columns=t.columns%5+1}const n=bt(!1);return document.addEventListener("keydown",i=>{i.key=="Tab"&&(n.value=!0),Bd(i)}),document.addEventListener("mousedown",i=>{n.value=!1}),(i,o)=>(Y(),at("div",{class:Ge(["app layoutCol",{dark:t.dark,keyboardMode:n.value}])},[j("div",F_,[o[5]||(o[5]=j("span",{class:"logo"},null,-1)),o[6]||(o[6]=j("h1",null,"Scope",-1)),o[7]||(o[7]=j("span",{class:"fill"},null,-1)),j("button",{class:"btn icon",onClick:o[0]||(o[0]=(...r)=>Ot(G).refresh&&Ot(G).refresh(...r)),title:"Refresh"},"refresh"),j("button",{class:"btn icon",onClick:s,title:"Change layout"},"view_column"),j("button",{class:"btn icon",onClick:o[1]||(o[1]=r=>t.dark=!t.dark),title:t.dark?"Light mode":"Dark mode"},wt(t.dark?"light_mode":"dark_mode"),9,z_)]),j("div",B_,[j("div",V_,[gt(mo,{items:Ot(G).availableExps.value,modelValue:Ot(G).selExps.value,"onUpdate:modelValue":o[2]||(o[2]=r=>Ot(G).selExps.value=r),reverse:!0,loading:!!Ot(G).pendingEids.value,storageKey:"selectorFolders",title:"Folders",class:"selector"},null,8,["items","modelValue","loading"]),gt(mo,{items:Ot(G).availableRuns.value,modelValue:Ot(G).selRuns.value,"onUpdate:modelValue":o[3]||(o[3]=r=>Ot(G).selRuns.value=r),loading:!!Ot(G).pendingExps.value.size,storageKey:"selectorRuns",title:"Runs",class:"selector"},null,8,["items","modelValue","loading"])]),j("div",N_,[gt(mo,{items:Ot(G).availableMets.value,modelValue:Ot(G).selMets.value,"onUpdate:modelValue":o[4]||(o[4]=r=>Ot(G).selMets.value=r),loading:!!Ot(G).pendingRuns.value.size,storageKey:"selectorMets",title:"Metrics",class:"selector"},null,8,["items","modelValue","loading"]),gt(rp,{class:"options"})]),j("div",$_,[j("div",{class:"cards focusgroup",focusCols:t.columns},[(Y(!0),at(xt,null,En(Ot(G).availableCards.value,r=>(Y(),at(xt,{key:r.name},[r.ext=="float"?(Y(),pe(y_,{key:0,name:r.name,cols:r.cols,class:"card"},null,8,["name","cols"])):r.ext=="txt"?(Y(),pe(L_,{key:1,name:r.name,cols:r.cols,class:"card"},null,8,["name","cols"])):["mp4","webm"].includes(r.ext)?(Y(),pe(T_,{key:2,name:r.name,cols:r.cols,class:"card"},null,8,["name","cols"])):(Y(),pe(Zi,{key:3,name:r.name,class:"card"},{default:Ze(()=>[wr(" Unknown metric type: "+wt(r.ext),1)]),_:2},1032,["name"]))],64))),128))],8,H_)])])],2))}},W_=ns(j_,[["__scopeId","data-v-4a148b8b"]]),U_={id:"zoom",events:["mousemove","mousedown","mouseup","mouseout"],afterInit:function(e,t,s){e.zoom={options:s,canvasPos:null,dataPos:null,dragStart:null,dragging:!1,updating:!1,prevMouseUp:0,prevMouseDown:0,mouseUpListener:null};for(const n of this.events)e.options.events.indexOf(n)<0&&e.options.events.push(n);e.zoom.mouseUpListener=n=>{this.stopDrag(e)},document.addEventListener("mouseup",e.zoom.mouseUpListener)},afterDestroy:function(e){document.removeEventListener("mouseup",e.zoom.mouseUpListener)},afterEvent:function(e,t){if(t.event.type=="mousemove"&&this.move(e,de(t.event,e)),t.event.type=="mousedown"){this.move(e,de(t.event,e));const s=Date.now();s-e.zoom.prevMouseDown<100||(e.zoom.dragStart=e.zoom.dataPos.x,e.zoom.dragging=!0,e.zoom.prevMouseDown=s)}if(t.event.type=="mouseup"){this.move(e,de(t.event,e));const s=Date.now();s-e.zoom.prevMouseUp<500?this.reset(e):e.zoom.dragging&&this.stopDrag(e),e.zoom.dragging=!1,e.zoom.prevMouseUp=s}t.event.type=="mouseout"&&e.zoom.onLeave&&e.zoom.onLeave()},afterDraw:function(e,t){if(e.zoom.dataPos===null)return;const{x:s,y:n}=this.scales(e),i=s.getPixelForValue(e.zoom.dataPos.x),o=n.getPixelForValue(n.min),r=n.getPixelForValue(n.max);if(e.zoom.dragging){const a=s.getPixelForValue(e.zoom.dragStart);e.ctx.beginPath(),e.ctx.rect(a,o,i-a,r-o),e.ctx.lineWidth=1,e.ctx.strokeStyle="rgba(127,127,127,0.8)",e.ctx.fillStyle="rgba(127,127,127,0.1)",e.ctx.fill(),e.ctx.fillStyle="",e.ctx.stroke(),e.ctx.closePath()}else e.ctx.beginPath(),e.ctx.moveTo(i,o),e.ctx.lineWidth=1,e.ctx.strokeStyle="rgba(127,127,127,0.8)",e.ctx.lineTo(i,r),e.ctx.stroke();return!0},move:function(e,t){const{x:s,y:n}=this.scales(e);let i=s.getValueForPixel(t.x),o=n.getValueForPixel(t.y);i=Math.max(s.min,Math.min(i,s.max)),o=Math.max(n.min,Math.min(o,n.max)),e.zoom.canvasPos=t,e.zoom.dataPos={x:i,y:o},this.updateOnce(e),e.zoom.options.onMove&&e.zoom.options.onMove(e.zoom.dataPos)},zoom:function(e,t,s){if(e.zoom.dragging=!1,t===s){this.updateOnce(e);return}e.options.scales.x.min=t,e.options.scales.x.max=s,this.updateOnce(e),this.move(e,e.zoom.canvasPos),e.zoom.options.onZoom&&e.zoom.options.onZoom(t,s)},reset:function(e){e.zoom.dragging=!1,delete e.options.scales.x.min,delete e.options.scales.x.max,this.updateOnce(e),this.move(e,e.zoom.canvasPos),e.zoom.options.onReset&&e.zoom.options.onReset()},updateOnce:function(e){e.zoom.updating||(e.zoom.updating=!0,e.update("none"),e.zoom.updating=!1)},stopDrag:function(e){if(!e.zoom.dragging)return;e.zoom.dragging=!1;const t=e.zoom.dataPos.x,s=Math.min(e.zoom.dragStart,t),n=Math.max(e.zoom.dragStart,t);this.zoom(e,s,n)},scales:function(e){return{x:e.scales.x,y:e.scales.y}}};Me.register(di,pi,hi,nn,bi,_i,rr,ar,Jb,or,r_,U_);const K_=kd(W_);K_.mount("body");document.fonts.load('24px "Material Symbols Outlined"').then(e=>{e.length?document.body.classList.add("icon-font-loaded"):console.error("Failed to load icon font")});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
*,*:before,*:after{box-sizing:border-box;font-weight:400;margin:0}label,input,button{font-size:1rem;min-width:0;border:none;background:none;text-align:left;line-height:1}html,body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:14px;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.layoutCol{display:flex;overflow:hidden;flex-direction:column}.layoutRow{display:flex;overflow:hidden;flex-direction:row}.fill{flex:1 1}.app{--fg1: #000;--fg2: #333;--fg3: #999;--bg1: #fff;--bg2: #f5f5f5;--bg3: #eee;--br: #ddd;--focus: #00aaff}.app.dark{color-scheme:dark;--fg1: #eee;--fg2: #ddd;--fg3: #aaa;--bg1: #333;--bg2: #222;--bg3: #111;--br: #444;--focus: #00aaff}.app{background:var(--bg1)}.dark .logo{filter:invert()}*{scrollbar-color:rgba(127,127,127,.3) transparent}h2{font-size:1.4rem;font-weight:500;color:var(--fg1)}input{font-family:monospace}@font-face{font-family:Material Symbols Outlined;font-style:normal;font-weight:400;src:url(/assets/material-symbols-DplPX30d.woff2) format("woff2")}.icon{font-family:Material Symbols Outlined;font-weight:400;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased;-webkit-user-select:none;user-select:none;vertical-align:middle}.icon.filled{font-variation-settings:"FILL" 1}.icon{opacity:0}.icon-font-loaded .icon{opacity:inherit}.btn{flex:0 0 content;display:inline-block;cursor:pointer;padding:.4rem;border-radius:.5rem;color:var(--fg2);border:none;background-color:transparent}.btn:hover,.btn:focus{background-color:var(--bg2);outline:none}.btn:active{background:var(--bg3)}.btn+.btn{margin-left:.1rem}.btn,.smooth{transition:background-color .1s linear,color .1s linear}input:focus,button:focus,:focus-visible{outline:none}.keyboardMode .btn:focus,.keyboardMode .focusOutline:focus,.keyboardMode .focusOutline:focus-visible,.keyboardMode .focusOutline:focus-within{outline:2px solid var(--focus)!important;outline-offset:-2px!important}.keyboardMode *{transition:none}.v-enter-active,.v-leave-active{transition:opacity .5s ease!important}.v-enter-from,.v-leave-to{opacity:0!important}.spinner{color:var(--fg3);height:24px;width:24px;animation:spinner 1.5s infinite linear running}@keyframes spinner{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.label[data-v-4a082148]{flex:1 1;margin:.3rem 0;display:flex;align-items:center;-webkit-user-select:none;user-select:none}.field[data-v-4a082148]{flex:1 1;color:var(--fg3);background:var(--bg2);border:none;padding:.4rem .4rem .3rem;border-radius:.5rem}.field[data-v-4a082148]:focus-within{background:var(--bg3)}input[data-v-4a082148]{border:none;background:transparent;margin:0;padding:0 .3rem}input[data-v-4a082148]{color:var(--fg2)}input[data-v-4a082148]::placeholder{color:var(--fg3)}input[data-v-4a082148]:focus{outline:none}input[data-v-4a082148]{text-align:var(--3f579659)}.label .icon[data-v-4a082148]{margin:-.3rem .5rem -.3rem 0}.field .icon[data-v-4a082148]{font-size:1.5rem;color:var(--fg3)}.header[data-v-291509a8]{flex:0 0 content;padding-right:1rem}h2[data-v-291509a8]{flex:1 0 content;margin:0 .1rem .5rem}.spinner[data-v-291509a8]{margin-right:-.15rem}.inputs[data-v-291509a8]{flex:0 0 content;align-items:center;padding:0 .5rem .4rem 0}.input[data-v-291509a8]{margin-right:.3rem}.list[data-v-291509a8]{flex:1 1 content;overflow-y:auto;margin:0 0 1rem;padding:0 1rem 0 0}.entry[data-v-291509a8]{display:inline-flex;align-items:center;cursor:pointer;line-height:1;font-family:monospace;border-radius:.4rem;color:var(--fg2);padding:.2rem .3rem .2rem .1rem}.entry[data-v-291509a8]:hover,.entry[data-v-291509a8]:focus{background:var(--bg2);outline:none}.name[data-v-291509a8]{padding-left:.3rem;word-break:break-word}.missing[data-v-291509a8]{color:var(--fg3)}.options[data-v-53450cc9]{display:flex;flex-direction:column}h2[data-v-53450cc9]{margin:0 0 .9rem}.input[data-v-53450cc9]{margin:0 0 .5rem}.card[data-v-92010c60]{padding:1rem 0 0;background:var(--bg1);border-radius:.2rem}.header[data-v-92010c60]{flex:0 0 content;display:flex;margin:0 1rem}.content[data-v-92010c60]{flex:1 1 content;margin:1rem;overflow:hidden}.scrollX[data-v-92010c60]{overflow-x:scroll;margin-bottom:0;padding-bottom:1rem}.scrollY[data-v-92010c60]{overflow-y:auto;margin-right:0;padding-right:1rem}h2[data-v-92010c60]{flex:1 1 content;margin:0;word-break:break-word}.buttons[data-v-92010c60]{flex:0 0 content;margin:-.4rem;margin-left:0}.zoom.card[data-v-92010c60]{position:absolute;height:inherit;max-height:inherit;aspect-ratio:auto;top:2rem;right:2rem;bottom:2rem;left:2rem;z-index:1}.zoom.card[data-v-92010c60]{border:2px solid var(--br)}.content[data-v-4a4f459f]{height:100%;width:100%;overflow:hidden}.chart[data-v-4a4f459f]{flex:1 1 100%;position:relative;overflow:hidden}[data-v-4a4f459f] .reset-zoom{display:none}.legend[data-v-4a4f459f]{flex:0 0 content;max-height:40%;width:100%;display:flex;flex-direction:column;overflow:auto;margin:1.5rem 0 0}.entry[data-v-4a4f459f]{width:100%;display:flex;align-items:center;margin-bottom:.5rem}.entry[data-v-4a4f459f]{line-height:.95;font-family:monospace}.entry div[data-v-4a4f459f]:nth-child(1){flex:0 0 1rem;margin-right:.5rem;width:1rem;height:100%;min-height:1rem;border-radius:.2rem}.entry div[data-v-4a4f459f]:nth-child(2){flex:1 1 content;margin-right:.5rem;word-break:break-all;min-width:10rem}.entry div[data-v-4a4f459f]:nth-child(3){flex:0 0 10ch;margin-right:.5rem;text-align:right}.entry div[data-v-4a4f459f]:nth-child(4){flex:0 0 10ch;padding-right:.5rem;text-align:right}.entry[data-v-6163ee35]{margin:1rem 0 0}.entry[data-v-6163ee35]:first-child{margin-top:0}h3[data-v-6163ee35]{margin:0;word-break:break-all}video[data-v-6163ee35]{max-width:100%;max-height:25rem}video[data-v-6163ee35]:not([controls]){background:#0000001a}.large video[data-v-6163ee35]{max-width:inherit;max-height:inherit;min-height:20vh;min-width:20vh}.count[data-v-6163ee35],.step[data-v-6163ee35]{display:inline-block;margin:.2rem .5rem .2rem 0}.entry[data-v-02a5faa8]{margin:1rem 0 0}.entry[data-v-02a5faa8]:first-child{margin-top:0}h3[data-v-02a5faa8]{margin:0;word-break:break-all}pre[data-v-02a5faa8]{margin:.3rem 0 0;padding:.3rem;font-family:monospace;background:var(--bg2);color:var(--fg2);border-radius:.2rem;overflow:auto}.count[data-v-02a5faa8],.step[data-v-02a5faa8]{display:inline-block;margin:.2rem .5rem .2rem 0}.app[data-v-4a148b8b]{height:100vh;width:100vw;background:var(--bg1);color:var(--fg1)}.header[data-v-4a148b8b]{flex:0 0 content;align-items:center;padding:1rem;-webkit-user-select:none;user-select:none}.footer[data-v-4a148b8b]{flex:0 0 3rem;align-items:center;padding:1rem}.content[data-v-4a148b8b]{flex:1 1}.center[data-v-4a148b8b]{flex:1 1 20rem;overflow:auto;background:var(--bg3)}.left[data-v-4a148b8b],.right[data-v-4a148b8b]{flex:0 1 20rem;max-width:20%}.left[data-v-4a148b8b]{order:1}.center[data-v-4a148b8b]{order:2}.right[data-v-4a148b8b]{order:3}.header .logo[data-v-4a148b8b]{display:inline-block;padding-left:1.3em;width:1em;height:1em;font-size:1.8rem;background:url(/logo.png) no-repeat;background-size:contain}.header h1[data-v-4a148b8b]{font-size:1.8rem;font-weight:500;line-height:1}.header .btn[data-v-4a148b8b]{margin-left:.5rem}.selector[data-v-4a148b8b]{flex:1 1 0;overflow:hidden;padding:1rem 0 0 1rem}.options[data-v-4a148b8b]{flex:1 1 0;padding:1rem}.spacer[data-v-4a148b8b]{flex:1 1 0}.cards[data-v-4a148b8b]{--columns: var(--2aaae728);width:100%;display:grid;grid-template-columns:repeat(var(--columns),1fr);gap:1rem;overflow:auto;padding:.8rem 1rem 1rem}.card[data-v-4a148b8b]{height:30rem;max-height:80vh;border-radius:.5rem}.header[data-v-4a148b8b],.selector[data-v-4a148b8b],.options[data-v-4a148b8b]{border-bottom:.2rem solid var(--bg3)}
|
|
Binary file
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|