waveform-analysis 0.1.77 → 0.1.79
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +14 -3
- package/dist/index.cjs +1 -1
- package/dist/index.js +1 -1
- package/dist/types/components/core/useWaveformChartController.d.ts +1 -0
- package/dist/types/components/core/useWaveformLayout.d.ts +1 -0
- package/package.json +1 -1
- package/src/components/WaveformChartView.vue +3 -2
- package/src/components/animation/trackPresentation.ts +1 -1
- package/src/components/controls/useChartCommands.ts +9 -7
- package/src/components/core/useWaveformChartController.ts +1 -2
- package/src/components/core/useWaveformData.ts +13 -1
- package/src/components/core/useWaveformLayout.ts +4 -0
- package/src/components/interaction/zoomConstraints.ts +21 -18
- package/src/demo/remoteWaveformLoader.ts +10 -5
package/dist/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{Fragment as e,computed as A,createBlock as t,createCommentVNode as i,createElementBlock as n,createElementVNode as a,createTextVNode as o,createVNode as r,defineAsyncComponent as s,defineComponent as l,getCurrentInstance as g,markRaw as c,nextTick as I,normalizeClass as d,normalizeStyle as u,onBeforeUnmount as h,onMounted as C,onScopeDispose as Q,onUpdated as m,openBlock as B,reactive as E,ref as p,renderList as f,resolveDynamicComponent as y,shallowReactive as v,shallowRef as w,toDisplayString as x,toRefs as k,unref as b,vModelSelect as M,vModelText as D,watch as N,watchEffect as F,withCtx as G,withDirectives as Y,withKeys as S,withModifiers as J}from"vue";import{axisBottom as R,axisLeft as T,axisRight as Z,bisector as U,curveLinear as L,curveStep as j,curveStepAfter as O,curveStepBefore as W,easeBackIn as X,easeBackInOut as H,easeBackOut as V,easeBounceIn as z,easeBounceInOut as P,easeBounceOut as q,easeCircleIn as K,easeCircleInOut as _,easeCircleOut as $,easeCubicIn as ee,easeCubicInOut as Ae,easeCubicOut as te,easeElasticIn as ie,easeElasticInOut as ne,easeElasticOut as ae,easeExpIn as oe,easeExpInOut as re,easeExpOut as se,easeLinear as le,easePolyIn as ge,easePolyInOut as ce,easePolyOut as Ie,easeQuadIn as de,easeQuadInOut as ue,easeQuadOut as he,easeSinIn as Ce,easeSinInOut as Qe,easeSinOut as me,extent as Be,line as Ee,pointer as pe,scaleLinear as fe,select as ye,symbol as ve,symbolCircle as we,symbolDiamond as xe,symbolSquare as ke,symbolTriangle as be,tickStep as Me,zoomIdentity as De,zoomTransform as Ne}from"d3";import{InputNumber as Fe,Modal as Ge,Pagination as Ye}from"ant-design-vue";function Se(e,A){e.value=A instanceof Element?A:void 0}function Je(e){return Object.fromEntries(["annotations","annotationsVisible","title","axes","frameStyle","frameNumber","frameNumbers","legend","cleanView","rendering","displayMode","overlayMode","initialXDomain","initialXDomains","yDomain","yDomains","grid","plotMargin","xLabel","yLabel","timeUnit","zeroLine","layoutPreset","unitDisplayMode"].map(A=>[A,e[A]]))}var Re={linear:le,quadIn:de,quadOut:he,quadInOut:ue,cubicIn:ee,cubicOut:te,cubicInOut:Ae,quartIn:ge.exponent(4),quartOut:Ie.exponent(4),quartInOut:ce.exponent(4),quintIn:ge.exponent(5),quintOut:Ie.exponent(5),quintInOut:ce.exponent(5),sineIn:Ce,sineOut:me,sineInOut:Qe,expoIn:oe,expoOut:se,expoInOut:re,circIn:K,circOut:$,circInOut:_,backIn:X,backOut:V,backInOut:H,elasticIn:ie,elasticOut:ae,elasticInOut:ne,bounceIn:z,bounceOut:q,bounceInOut:P};function Te(e){if("function"==typeof e)return e;if("string"!=typeof e||!Object.hasOwn(Re,e))throw new TypeError(`Unknown animation easing: ${String(e)}`);return Re[e]}function Ze(e,A){return Ue(e,e,A)}function Ue(e,A,t){return"number"==typeof e?t(e,A):e.map((e,i)=>"number"==typeof e?t(e,A[i]):e.map((e,n)=>t(e,A[i][n])))}var Le=(e,A)=>Ue(e,A,(e,A)=>e+A),je=(e,A)=>Ue(e,A,(e,A)=>e-A),Oe=(e,A,t)=>Ue(e,A,(e,A)=>0===t?e:1===t?A:(1-t)*e+t*A);function We(e,A){return"number"==typeof e||"number"==typeof A?e===A:e.length===A.length&&e.every((e,t)=>We(e,A[t]))}function Xe(e,A,t){return"reverse"===t||"alternate"===t&&A%2==1||"alternate-reverse"===t&&A%2==0?1-e:e}function He(e,A){if(null===e||"object"!=typeof e||Array.isArray(e))throw new TypeError(`${A} must be an object`)}function Ve(e,A){if("number"!=typeof e)throw new TypeError(`${A} must be a number`);if(!Number.isFinite(e)||e<0)throw new RangeError(`${A} must be finite and nonnegative`)}function ze(e){if(!0===e)return 1/0;if(!1===e)return 1;if("number"!=typeof e)throw new TypeError("loop must be a number or boolean");if(!Number.isFinite(e)||!Number.isInteger(e)||e<=0)throw new RangeError("loop must be a finite positive integer");return e}function Pe(e,A="value"){const t=e=>{if("number"!=typeof e)throw new TypeError(`${A} must contain numbers`);if(!Number.isFinite(e))throw new RangeError(`${A} must contain finite numbers`);return e};if("number"==typeof e)return t(e);if(!Array.isArray(e))throw new TypeError(`${A} must be numeric`);return e.length>0&&Array.isArray(e[0])?Array.from(e,e=>{if(!Array.isArray(e))throw new TypeError(`${A} has mixed dimensions`);return Array.from(e,t)}):Array.from(e,t)}function qe(e,A){return"number"==typeof e||"number"==typeof A?"number"==typeof e&&"number"==typeof A:e.length===A.length&&e.every((e,t)=>qe(e,A[t]))}function Ke(e,A){He(e,"config");const t=void 0===e.duration?1e3:e.duration,i=void 0===e.delay?0:e.delay;Ve(t,"duration"),Ve(i,"delay");const n=ze(void 0===e.loop?1:e.loop);if(0===t&&n===1/0)throw new RangeError("Zero duration cannot loop infinitely");const a=void 0===e.direction?"normal":e.direction;if(!["normal","reverse","alternate","alternate-reverse"].includes(a))throw new TypeError("Unknown animation direction");for(const g of["force","additive"])if(void 0!==e[g]&&"boolean"!=typeof e[g])throw new TypeError(`${g} must be boolean`);for(const g of["initialize","during","done","aborted","onError"])if(void 0!==e[g]&&"function"!=typeof e[g])throw new TypeError(`${g} must be a function`);const o=Te(void 0===e.easing?"linear":e.easing),r=void 0!==e.additive&&e.additive;if(r&&1!==n)throw new RangeError("Additive tracks cannot loop");if(void 0!==e.tracks&&!Array.isArray(e.tracks))throw new TypeError("tracks must be an array");const s=/* @__PURE__ */new Map,l=[];for(const g of e.tracks??[]){if(He(g,"track"),He(g.target,"track.target"),"string"!=typeof g.property)throw new TypeError("property must be a string");const e=s.get(g.target)??/* @__PURE__ */new Set;if(e.has(g.property))throw new TypeError("Duplicate target/property");e.add(g.property),s.set(g.target,e);const t=Pe(g.target[g.property],"target value"),i=Pe(g.to,"to"),n=void 0===g.from?void 0:Pe(g.from,"from");if(!qe(t,i)||void 0!==n&&!qe(n,i))throw new TypeError("Track values must have identical shapes");const a=r?A?.(g):void 0;if(a){if(1!==ze(a.baseLoop))throw new RangeError("Additive base cannot loop");const e=Pe(a.additiveFrom,"additiveFrom");if(!qe(e,i)||void 0!==n&&!We(n,e))throw new TypeError("Additive from must match the derived start")}else if(r&&void 0!==n&&!We(n,t))throw new TypeError("Additive from must match the fixed base");l.push({target:g.target,property:g.property,from:n,to:i})}return{...e,tracks:l,duration:t,delay:i,loop:n,direction:a,easing:o,additive:r,force:void 0!==e.force&&e.force}}var _e=class{#e=/* @__PURE__ */new Map;#A=/* @__PURE__ */new Map;#t(e){return this.#e.get(e.target)?.get(e.property)}#i(e){const{direction:A,loop:t}=e.task.config;return 1===Xe(1,t===1/0?0:t-1,A)?e.to:e.from}context=e=>{const A=this.#t(e);if(!A)return;let t=Le(A.ordinary?this.#i(A.ordinary):A.base,A.offset);for(const i of A.additive)t=Le(t,je(this.#i(i),i.from));return{additiveFrom:t,baseLoop:A.ordinary?.task.config.loop??1}};conflicts(e){const A=/* @__PURE__ */new Set;if(!e.additive)for(const t of e.tracks){const e=this.#t(t);e?.ordinary&&A.add(e.ordinary.task),e?.additive.forEach(e=>A.add(e.task))}return A}capture(e){return e.tracks.map(A=>({...A,from:Pe(e.additive?this.context(A)?.additiveFrom??A.target[A.property]:this.#t(A)?A.target[A.property]:A.from??A.target[A.property])}))}bind(e){const A=[];for(const t of e.config.tracks){let i=this.#t(t);if(!i){const e=Pe(t.target[t.property]);i={target:t.target,property:t.property,base:e,offset:Ze(e,()=>0),additive:/* @__PURE__ */new Set};const A=this.#e.get(t.target)??/* @__PURE__ */new Map;A.set(t.property,i),this.#e.set(t.target,A)}const n=Pe(t.from),a={task:e,from:n,to:t.to,value:e.config.additive?Ze(n,()=>0):n,committed:e.config.additive?Ze(n,()=>0):i.base};e.config.additive?i.additive.add(a):i.ordinary=a,A.push([i,a])}this.#A.set(e,A)}setProgress(e,A){for(const[,t]of this.#A.get(e)??[]){const i=Oe(t.from,t.to,A);t.value=Pe(e.config.additive?je(i,t.from):i)}}flush(){for(const A of this.#e.values())for(const t of A.values())try{let e=Le(t.ordinary?.value??t.base,t.offset);for(const A of t.additive)e=Le(e,A.value);t.target[t.property]=Pe(e),t.ordinary&&(t.ordinary.committed=t.ordinary.value);for(const A of t.additive)A.committed=A.value}catch(e){const A=/* @__PURE__ */new Set([...t.ordinary?[t.ordinary.task]:[],...[...t.additive].map(e=>e.task)]);for(const t of A)t.fail(e)}}detach(e){for(const[A,t]of this.#A.get(e)??[])A.ordinary===t&&(A.base=t.committed,A.ordinary=void 0),A.additive.delete(t)&&(A.offset=Le(A.offset,t.committed)),A.ordinary||A.additive.size||(this.#e.get(A.target)?.delete(A.property),this.#e.get(A.target)?.size||this.#e.delete(A.target));this.#A.delete(e)}};function $e(e){return Object.assign(new Error(e),{code:e})}function eA(e,A){try{e.onError?e.onError(A):console.error(A)}catch(t){try{console.error(t)}catch{}}}function AA(e,A){try{A?.()}catch(t){eA(e,t)}}var tA=class{config;groups;state="PENDING";#n=!1;#a=0;#o=0;#r=0;#s=/* @__PURE__ */new Set;#l="PENDING";#g=0;#c;constructor(e,A){this.config=e,this.groups=A}get ended(){return"FINISHED"===this.state||"ABORTED"===this.state}get unchanged(){return!this.config.force&&this.config.tracks.every(e=>We(e.from,e.to))}setTermination(e){this.#c=e}start(e,A=!1){if(this.#n||this.ended)throw new Error("Animation can only start once");if(this.#n=!0,this.#a=e,this.#s.size&&(this.#o=e),A||0===this.config.duration||this.unchanged)this.finish();else try{this.config.initialize?.()}catch(t){this.fail(t)}}deadline(e){return this.ended||this.#s.size?1/0:Math.max(e,this.#a+this.config.delay+this.#r)}prepare(e){if(!this.#n||this.ended||this.#s.size)return;const A=e-this.#a-this.config.delay-this.#r;if(A<0)return;this.state="RUNNING";const{duration:t,loop:i,direction:n}=this.config,a=A>=t*i;this.#g=a?i-1:Math.floor(A/t);const o=a?1:A%t/t,r=Xe(o,this.#g,n),s={rawProgress:o,directedProgress:r,iteration:this.#g,terminal:a};try{const e=a?r:this.config.easing(r);if(!Number.isFinite(e))throw new RangeError("Easing returned a nonfinite value");return this.groups.setProgress(this,e),{progress:e,frame:s}}catch(l){this.fail(l)}}deliver(e,A){if(!this.ended){try{this.config.during?.(e,A)}catch(t){return void this.fail(t)}A.terminal&&!this.ended&&this.#I("FINISHED")}}tick(e){const A=this.prepare(e);return A&&(this.groups.flush(),this.deliver(A.progress,A.frame)),this.ended}pause(e,A="manual"){this.ended||this.#s.has(A)||(this.#s.size||(this.#l=this.state,this.#o=e,this.state="PAUSED"),this.#s.add(A))}resume(e,A="manual"){this.ended||!this.#s.delete(A)||this.#s.size||(this.#r+=e-this.#o,this.state=this.#l)}finish(e){if(this.ended)return;const{loop:A,direction:t}=this.config;if(A===1/0&&void 0!==e&&this.#n){const A=Math.max(0,(this.#s.size?this.#o:e)-this.#a-this.config.delay-this.#r);this.#g=Math.floor(A/this.config.duration)}const i=A===1/0?this.#g:A-1,n=Xe(1,i,t);try{this.groups.setProgress(this,n),this.groups.flush()}catch(a){return void this.fail(a)}this.deliver(n,{rawProgress:1,directedProgress:n,iteration:i,terminal:!0})}abort(){this.ended||this.#I("ABORTED")}settle(e,A=!0){if(this.ended)return()=>{};this.state=e,this.groups.detach(this),this.#c?.();const t=()=>AA(this.config,"FINISHED"===e?this.config.done:this.config.aborted);return A&&t(),t}#I(e){this.settle(e)}fail(e){this.abort(),eA(this.config,e)}};function iA(e,A,t){let i={read:A,command:t},n="PENDING";const a=e=>i?.command(e);return{handle:{id:e,get state(){return i?.read()??n},pause:()=>a("pause"),resume:()=>a("resume"),abort:()=>a("abort"),finish:()=>a("finish")},release:()=>{i&&(n=i.read(),i=void 0)}}}var nA=class{#d;#u;#h=/* @__PURE__ */new Map;#e=new _e;#s=/* @__PURE__ */new Set;#C;#Q;#m=!1;#B=0;#E=!1;#p=!1;constructor(e){e&&function(e){He(e,"scheduler");for(const t of["now","setTimer","clearTimer"])if("function"!=typeof e[t])throw new TypeError(`${t} must be a function`);const A=void 0!==e.requestFrame;if(A!==(void 0!==e.cancelFrame)||A&&("function"!=typeof e.requestFrame||"function"!=typeof e.cancelFrame))throw new TypeError("requestFrame and cancelFrame must be supplied together as functions")}(e),this.#d=e,this.#u=!!e}#f(){return this.#d??=function(){const e="function"==typeof globalThis.requestAnimationFrame&&"function"==typeof globalThis.cancelAnimationFrame;return{now:()=>globalThis.performance?.now()??Date.now(),requestFrame:e?e=>globalThis.requestAnimationFrame(e):void 0,cancelFrame:e?e=>globalThis.cancelAnimationFrame(e):void 0,setTimer:(e,A)=>setTimeout(e,A),clearTimer:e=>clearTimeout(e)}}()}validate(e){Ke(e,this.#e.context)}animate(e,A){return this.animatePaused(e,A,[])}animatePaused(e,A,t){if(this.#E)throw $e("animation-terminating");if(void 0!==A&&"string"!=typeof A)throw new TypeError("Animation id must be string");const i=Ke(e,this.#e.context),n=this.#e.conflicts(i);void 0!==A&&this.#h.has(A)&&n.add(this.#h.get(A)),i.tracks=this.#e.capture(i);const a=new tA(i,this.#e);let o=A;if(void 0===o)do{o="animation-"+ ++this.#B}while(this.#h.has(o));const r=[...n].map(e=>e.settle("ABORTED",!1));this.#h.set(o,a),this.#e.bind(a);const s=this.#f(),{handle:l,release:g}=iA(o,()=>a.state,e=>{a[e](s.now()),this.#y()});a.setTermination(()=>{this.#h.get(o)===a&&this.#h.delete(o),g(),this.#y()});for(const c of/* @__PURE__ */new Set([...this.#s,...t]))a.pause(s.now(),c);return r.forEach(e=>e()),a.ended||a.start(s.now(),!s.requestFrame),this.#y(),l}remove(e){this.#h.get(e)?.abort(),this.#y()}pause(e){this.#h.get(e)?.pause(this.#f().now()),this.#y()}resume(e){this.#h.get(e)?.resume(this.#f().now()),this.#y()}pauseAll(){this.setPauseReason("manual-all",!0)}resumeAll(){this.setPauseReason("manual-all",!1)}setPauseReason(e,A,t){t||(A?this.#s.add(e):this.#s.delete(e));const i=t?t.map(e=>this.#h.get(e)).filter(e=>!!e):[...this.#h.values()],n=this.#f().now();for(const a of i)A?a.pause(n,e):a.resume(n,e);this.#y()}finishAll(){this.#v("finish")}clear(){this.#v("abort")}destroy(){this.#E||(this.#v("abort"),this.#s.clear(),this.#e=new _e,this.#u||(this.#d=void 0))}getAnimationCount(){return this.#h.size}#v(e){if(!this.#E){this.#E=!0;try{for(const A of[...this.#h.values()])"finish"===e?A.finish(this.#f().now()):A.abort()}finally{this.#E=!1,this.#y()}}}#w(){void 0!==this.#C&&this.#d?.cancelFrame?.(this.#C),this.#m&&this.#d?.clearTimer(this.#Q),this.#C=void 0,this.#Q=void 0,this.#m=!1}#y(){if(this.#p||this.#E)return;if(this.#w(),!this.#h.size)return;const e=this.#f();if(!e.requestFrame)return;const A=e.now(),t=Math.min(...[...this.#h.values()].map(e=>e.deadline(A)));t!==1/0&&(t>A?(this.#m=!0,this.#Q=e.setTimer(()=>{this.#m=!1,this.#y()},t-A)):this.#C=e.requestFrame(()=>this.#x()))}#x(){this.#C=void 0,this.#p=!0;const e=this.#f().now();try{const A=[...this.#h].map(([A,t])=>({id:A,task:t,next:t.prepare(e)}));this.#e.flush();for(const{id:e,task:t,next:i}of A)i&&this.#h.get(e)===t&&t.deliver(i.progress,i.frame)}finally{this.#p=!1,this.#y()}}},aA=/* @__PURE__ */new nA,oA=0,rA={"fade-in":"cubicOut",scale:"backOut","slide-in":"cubicOut",bounce:"bounceOut"};function sA(e){return"string"==typeof e&&Object.hasOwn(rA,e)}var lA=e=>Math.max(0,Math.min(1,e));function gA(e){if(!e||"function"!=typeof e.read||"function"!=typeof e.write)throw new TypeError("Animation binding requires read and write functions")}function cA(e,A){const t={duration:e.duration??300,easing:e.easing??"cubicInOut",done:e.onComplete,aborted:e.onAbort,force:!0,...A};return Ke(t),t}function IA(e){return Array.isArray(e)&&(e.forEach(e=>{Array.isArray(e)&&Object.freeze(e)}),Object.freeze(e)),e}function dA(e){if(!e||"object"!=typeof e||Array.isArray(e))throw new TypeError("Invalid geometry");return Object.freeze(Object.fromEntries(Object.entries(e).map(([e,A])=>[e,IA(Pe(A))])))}function uA(e){return 2===e.length&&e.every(Number.isFinite)&&e[0]<e[1]}function hA(e,A,t={}){if(gA(e),!Number.isFinite(A)||A<0)throw new RangeError("Width must be finite and nonnegative");const i=t.direction??"left-to-right";if(!["left-to-right","right-to-left","center-out"].includes(i))throw new TypeError("Invalid drawing direction");const n=e=>({x:"right-to-left"===i?A*(1-e):"center-out"===i?A*(1-e)/2:0,width:A*e});return cA({...t,duration:t.duration??1e3},{delay:t.delay??0,initialize:()=>e.write(n(0)),during:(A,t)=>e.write(n(t.terminal?1:lA(A)))})}function CA(e,A={}){const t=A.staggerDelay??100;if(!Number.isFinite(t)||t<0)throw new RangeError("Invalid stagger delay");return e.map((e,i)=>hA(e.binding,e.width,{...A,delay:(A.delay??0)+i*t}))}function QA(e,A,t={}){const i=e.compatible;if("function"!=typeof A||"boolean"!=typeof i)throw new TypeError("Invalid geometry transition");const n=dA(e.from),a=dA(e.to),o=Object.keys(a);if(i){if(o.length!==Object.keys(n).length||o.some(e=>!Object.hasOwn(n,e)))throw new TypeError("Compatible geometry requires identical channels");if(o.some(e=>!qe(n[e],a[e])))throw new TypeError("Track values must have identical shapes")}return cA(t,{duration:i&&o.every(e=>We(n[e],a[e]))?0:t.duration??300,during:(e,t)=>{if(t.terminal)A({kind:"settled",values:a});else if(i)A({kind:"interpolate",progress:e,values:Object.fromEntries(o.map(A=>[A,Oe(n[A],a[A],e)]))});else{const t=lA(e);A({kind:"crossfade",from:n,to:a,fromOpacity:1-t,toOpacity:t})}}})}function mA(e,A,t={}){gA(e);const i=[...A];if(!uA(i))throw new RangeError("Target domain must be finite and strictly increasing");let n;return cA(t,{initialize:()=>{if(n=[...e.read()],!uA(n))throw new RangeError("Initial domain must be finite and strictly increasing")},during:(A,t)=>{if(t.terminal)return void e.write([...i]);const a=lA(A),o=Oe(n??i,i,a);e.write(uA(o)?o:[...i])}})}function BA(e,A,t){gA(e);const i=A.type??"scale";if(!sA(i))throw new TypeError("Unknown annotation effect");const n=A.easing??rA[i],a={opacity:t?1:0,scale:t||"scale"!==i&&"bounce"!==i?1:0,offsetY:t||"slide-in"!==i?0:8};let o;return cA({...A,easing:n},{initialize:()=>{if(o={...e.read()},!Object.values(o).every(Number.isFinite))throw new RangeError("Invalid annotation state")},during:(A,t)=>{if(t.terminal)return void e.write({...a});const i=o??a,n=e=>(1-A)*i[e]+A*a[e];e.write({opacity:lA(n("opacity")),scale:Math.max(0,n("scale")),offsetY:n("offsetY")})}})}function EA(e,A={}){return BA(e,A,!0)}function pA(e,A={}){return BA(e,A,!1)}var fA=class{options;#k=/* @__PURE__ */new Map;#b=function(){const e=++oA;return A=>JSON.stringify([e,A.kind,A.id,A.scope])}();#M;#D;#E=!1;#N=!1;#F=/* @__PURE__ */new Set;constructor(e){if(this.options=e,!e||"function"!=typeof e.commitFinalState)throw new TypeError("commitFinalState is required");this.#M=e.enabled??!0,this.#D=e.animator??aA}#G(){if(this.#E)throw $e("animation-terminating");if(this.#N)throw $e("animation-disposed")}animate(e,A){if(this.#G(),!e||!["series","annotation","axis","custom"].includes(e.kind)||"string"!=typeof e.id||!["enter","update","leave","domain"].includes(e.scope))throw new TypeError("Invalid animation object key");this.#D instanceof nA?this.#D.validate(A):Ke(A);const t={...A,tracks:A.tracks?.map(e=>({...e,from:void 0===e.from?void 0:Pe(e.from,"from"),to:Pe(e.to,"to")}))},i=this.#b(e),n=[...this.#k.values()].filter(A=>{return t=A.key,i=e,!(t.kind!==i.kind||t.id!==i.id||!("annotation"===t.kind&&["enter","leave"].includes(t.scope)&&["enter","leave"].includes(i.scope)||"series"===t.kind&&["enter","update"].includes(t.scope)&&["enter","update"].includes(i.scope)||t.scope===i.scope));var t,i}),a={key:{...e},config:t,id:i,manualPaused:!1},{handle:o,release:r}=iA(i,()=>a.state??a.raw?.state??"PENDING",e=>{"pause"===e?(a.manualPaused=!0,a.raw?.pause()):"resume"===e?(a.manualPaused=!1,(this.#D instanceof nA||!this.#F.size)&&a.raw?.resume()):"abort"===e?a.raw?a.raw.abort():this.#Y(a,"ABORTED"):a.raw?.finish()});a.handle=o,a.release=r,this.#k.set(i,a);for(const g of n){if("series"===e.kind&&"update"===e.scope&&"enter"===g.key.scope)try{g.config.during?.(1,{rawProgress:1,directedProgress:1,iteration:0,terminal:!0})}catch(l){eA(g.config,l)}g.handle.abort()}if(a.state)return a.handle;const s={...t,initialize:this.#D instanceof nA?t.initialize:()=>{t.initialize?.(),this.#F.size&&this.#D.pause(i)},duration:this.#M?t.duration:0,loop:this.#M?t.loop:1,done:()=>{this.#E||this.#Y(a,"FINISHED")},aborted:()=>{this.#E||this.#Y(a,"ABORTED")},onError:e=>{eA(t,e),this.#E||this.#N||this.finishAll()}};try{a.raw=this.#D instanceof nA?this.#D.animatePaused(s,i,[...this.#F].map(e=>this.#S(e))):this.#D.animate(s,i)}catch(l){throw this.#Y(a,"ABORTED"),l}if(this.#D instanceof nA)for(const g of this.#F)this.#D.setPauseReason(this.#S(g),!0,[i]);else this.#F.size&&a.raw.pause();return a.handle}#Y(e,A){"FINISHED"!==e.state&&"ABORTED"!==e.state&&(e.state=A,this.#k.get(e.id)===e&&this.#k.delete(e.id),e.release(),AA(e.config,"FINISHED"===A?e.config.done:e.config.aborted))}animateSeriesEnter(e,A,t,i){return this.#G(),this.animate({kind:"series",id:e,scope:"enter"},hA(A,t,i))}animateMultiSeriesEnter(e,A){return this.#G(),CA(e,A).map((A,t)=>this.animate({kind:"series",id:e[t].id,scope:"enter"},A))}animateDataUpdate(e,A,t,i){return this.#G(),this.animate({kind:"series",id:e,scope:"update"},QA(A,t,i))}animateYAxisScale(e,A,t,i){return this.#G(),this.animate({kind:"axis",id:e,scope:"domain"},mA(A,t,i))}animateAnnotationAppear(e,A,t){return this.#G(),this.animate({kind:"annotation",id:e,scope:"enter"},EA(A,t))}animateAnnotationDisappear(e,A,t){return this.#G(),this.animate({kind:"annotation",id:e,scope:"leave"},pA(A,t))}cancel(e){this.#k.get(this.#b(e))?.handle.abort()}cancelAll(){this.#v(!1,!1)}finishAll(){this.#v(!0,!0)}finishWhere(e,A){this.#v(!0,!0,e,A)}#v(e,A,t=()=>!0,i=this.options.commitFinalState){if(this.#E||this.#N)return;this.#E=!0;const n=[...this.#k.values()].filter(e=>t(e.key));try{for(const e of n)this.#k.get(e.id)===e&&this.#k.delete(e.id),e.raw?.abort();try{A&&i()}catch(a){for(const e of n)this.#Y(e,"ABORTED"),eA(e.config,a);throw a}for(const A of n)this.#Y(A,e?"FINISHED":"ABORTED")}finally{this.#E=!1}}pauseAll(){this.setPauseReason("manual-all",!0)}resumeAll(){this.setPauseReason("manual-all",!1)}#S(e){return`${this.#b({kind:"custom",id:"pause",scope:"domain"})}:${e}`}setPauseReason(e,A){this.#N||(A?this.#F.add(e):this.#F.delete(e),this.#D instanceof nA?this.#D.setPauseReason(this.#S(e),A,[...this.#k.keys()]):A?this.#k.forEach(e=>e.raw?.pause()):this.#F.size||this.#k.forEach(e=>{e.manualPaused||e.raw?.resume()}))}setEnabled(e){this.#N||this.#M===e||(this.#M=e,e||this.finishAll())}getActiveAnimationCount(){return this.#k.size}destroy(){this.#N||this.#E||(this.#v(!1,!1),this.#N=!0,this.#F.clear())}},yA={top:18,right:24,bottom:52,left:48},vA=["#0960bd","#ff7f0e","#2ca02c","#d62728","#9467bd","#8c564b","#e377c2","#7f7f7f","#bcbd22","#17becf","#005f73","#0a9396","#ae2012","#bb3e03","#ca6702","#ee9b00","#9b2226","#3a0ca3","#4361ee","#4895ef","#560bad","#7209b7","#b5179e","#f72585","#006d77","#2f3e46","#354f52","#52796f","#800f2f","#31572c"],wA="#ff0000";function xA(e,A,t,i){let n=0,a=e;for(;n<a;){const e=n+Math.floor((a-n)/2);(i?A(e)<=t:A(e)<t)?n=e+1:a=e}return n}function kA(e,A,t,i){const n=e=>t+(i?.[e]??e)/A,a=A=>A<0||A>=e.length?void 0:{x:n(A),y:e[A]};return{isCompact:!0,length:e.length,pointAt:a,pointsInRange(A=0,t=e.length){const i=Math.max(0,Math.min(e.length,Math.floor(A))),n=Math.max(i,Math.min(e.length,Math.ceil(t)));return Array.from({length:n-i},(e,A)=>a(i+A)).filter(e=>void 0!==e)},visibleRange(A){const t=Math.min(A[0],A[1]),i=Math.max(A[0],A[1]);return{start:xA(e.length,n,t,!1),end:xA(e.length,n,i,!0)}},nearestPoint(A){if(!Number.isFinite(A)||!e.length)return;if(A<=n(0))return a(0);if(A>=n(e.length-1))return a(e.length-1);const t=xA(e.length,n,A,!1),i=Math.max(0,t-1);return Math.abs(A-n(i))<Math.abs(n(t)-A)?a(i):a(t)},metrics(){let A=Number.POSITIVE_INFINITY,t=Number.NEGATIVE_INFINITY;for(const i of e)A=Math.min(A,i),t=Math.max(t,i);return{xMinimum:e.length?n(0):Number.POSITIVE_INFINITY,xMaximum:e.length?n(e.length-1):Number.NEGATIVE_INFINITY,yMinimum:A,yMaximum:t,hasErrorPoints:!1}},toWorkerDataset:()=>({kind:"samples",values:e.slice(),sampleRate:A,startTime:t,...i?{sourceIndexes:i.slice()}:{}})}}function bA(e){return"number"==typeof e&&Number.isFinite(e)&&e>=0?e:void 0}function MA(e,A,t){const i=Math.max(0,Math.min(t,Math.floor(e)));return{start:i,end:Math.max(i,Math.min(t,Math.floor(A)))}}function DA(e,A,t){let i=0,n=e;for(;i<n;){const e=i+Math.floor((n-i)/2);A(e)<t?i=e+1:n=e}return i}function NA(e,A,t){let i=0,n=e;for(;i<n;){const e=i+Math.floor((n-i)/2);A(e)<=t?i=e+1:n=e}return i}var FA=class{sourcePoints;isCompact=!1;constructor(e){this.sourcePoints=e}get length(){return this.sourcePoints.length}pointAt(e){return this.sourcePoints[e]}pointsInRange(e=0,A=this.length){const t=MA(e,A,this.length);return this.sourcePoints.slice(t.start,t.end)}visibleRange(e){const A=Math.min(e[0],e[1]),t=Math.max(e[0],e[1]);return{start:DA(this.length,e=>this.sourcePoints[e].x,A),end:NA(this.length,e=>this.sourcePoints[e].x,t)}}nearestPoint(e){if(!Number.isFinite(e)||!this.length)return;const A=this.sourcePoints[0],t=this.sourcePoints[this.length-1];if(e<=A.x)return A;if(e>=t.x)return t;const i=DA(this.length,e=>this.sourcePoints[e].x,e),n=this.sourcePoints[Math.min(i,this.length-1)],a=this.sourcePoints[Math.max(0,i-1)];return Math.abs(e-a.x)<Math.abs(n.x-e)?a:n}metrics(e=!1){return function(e,A,t){let i=Number.POSITIVE_INFINITY,n=Number.NEGATIVE_INFINITY,a=Number.POSITIVE_INFINITY,o=Number.NEGATIVE_INFINITY,r=!1;for(let s=0;s<e;s+=1){const e=A(s);if(!e)continue;if(i=Math.min(i,e.x),n=Math.max(n,e.x),a=Math.min(a,e.y),o=Math.max(o,e.y),!t)continue;const l=bA(e.lowerError)??bA(e.error)??0,g=bA(e.upperError)??bA(e.error)??0;r||=0!==l||0!==g,a=Math.min(a,e.y-l),o=Math.max(o,e.y+g)}return{xMinimum:i,xMaximum:n,yMinimum:a,yMaximum:o,hasErrorPoints:r}}(this.length,e=>this.sourcePoints[e],e)}toWorkerDataset(){return{kind:"points",points:this.sourcePoints}}},GA=class{x;y;error;lowerError;upperError;isCompact=!0;constructor(e,A,t,i,n){this.x=e,this.y=A,this.error=t,this.lowerError=i,this.upperError=n}get length(){return this.x.length}pointAt(e){if(e<0||e>=this.length)return;const A=bA(this.error?.[e]),t=bA(this.lowerError?.[e]),i=bA(this.upperError?.[e]);return{x:this.x[e],y:this.y[e],...void 0===A?{}:{error:A},...void 0===t?{}:{lowerError:t},...void 0===i?{}:{upperError:i}}}pointsInRange(e=0,A=this.length){const t=MA(e,A,this.length),i=[];for(let n=t.start;n<t.end;n+=1)i.push(this.pointAt(n));return i}visibleRange(e){const A=Math.min(e[0],e[1]),t=Math.max(e[0],e[1]);return{start:DA(this.length,e=>this.x[e],A),end:NA(this.length,e=>this.x[e],t)}}nearestPoint(e){if(!Number.isFinite(e)||!this.length)return;if(e<=this.x[0])return this.pointAt(0);if(e>=this.x[this.length-1])return this.pointAt(this.length-1);const A=DA(this.length,e=>this.x[e],e),t=Math.min(A,this.length-1),i=Math.max(0,A-1);return Math.abs(e-this.x[i])<Math.abs(this.x[t]-e)?this.pointAt(i):this.pointAt(t)}metrics(e=!1){let A=Number.POSITIVE_INFINITY,t=Number.NEGATIVE_INFINITY,i=Number.POSITIVE_INFINITY,n=Number.NEGATIVE_INFINITY,a=!1;for(let o=0;o<this.length;o+=1){const r=this.x[o],s=this.y[o];if(A=Math.min(A,r),t=Math.max(t,r),i=Math.min(i,s),n=Math.max(n,s),!e)continue;const l=bA(this.lowerError?.[o])??bA(this.error?.[o])??0,g=bA(this.upperError?.[o])??bA(this.error?.[o])??0;a||=0!==l||0!==g,i=Math.min(i,s-l),n=Math.max(n,s+g)}return{xMinimum:A,xMaximum:t,yMinimum:i,yMaximum:n,hasErrorPoints:a}}toWorkerDataset(){return{kind:"typed",x:this.x.slice(),y:this.y.slice()}}};function YA(e){return e instanceof Float32Array||e instanceof Float64Array}function SA(e,A){return"typed-samples"===e.kind?function(e){if(!YA(e.values)||!Number.isFinite(e.sampleRate)||e.sampleRate<=0||void 0!==e.startTime&&!Number.isFinite(e.startTime))return kA(/* @__PURE__ */new Float64Array,1,0);const A=e.startTime??0;let t=0;for(let a=0;a<e.values.length;a+=1)t+=Number.isFinite(e.values[a])?1:0;const i=e.values instanceof Float32Array?new Float32Array(t):new Float64Array(t),n=t===e.values.length?void 0:new Uint32Array(t);for(let a=0,o=0;a<e.values.length;a+=1){const A=e.values[a];Number.isFinite(A)&&(i[o]=A,n&&(n[o]=a),o+=1)}return kA(i,e.sampleRate,A,n)}(e):"typed-points"===e.kind?function(e){if(!function(e){const A=[e.y,e.error,e.lowerError,e.upperError];return e.x instanceof Float64Array&&A.every(A=>void 0===A||YA(A)&&A.length===e.x.length)}(e))return new GA(/* @__PURE__ */new Float64Array,/* @__PURE__ */new Float64Array);let A=!0;for(let c=0;c<e.x.length;c+=1)if(!Number.isFinite(e.x[c])||!Number.isFinite(e.y[c])||c>0&&e.x[c]<e.x[c-1]){A=!1;break}if(A)return new GA(e.x.slice(),e.y.slice(),e.error?.slice(),e.lowerError?.slice(),e.upperError?.slice());const t=[];let i=!0,n=Number.NEGATIVE_INFINITY;for(let c=0;c<e.x.length;c+=1){const A=e.x[c],a=e.y[c];Number.isFinite(A)&&Number.isFinite(a)&&(A<n&&(i=!1),n=A,t.push(c))}i||t.sort((A,t)=>e.x[A]-e.x[t]);const a=new Float64Array(t.length),o=e.y instanceof Float32Array?new Float32Array(t.length):new Float64Array(t.length),r=e=>e?e instanceof Float32Array?new Float32Array(t.length):new Float64Array(t.length):void 0,s=r(e.error),l=r(e.lowerError),g=r(e.upperError);return t.forEach((A,t)=>{a[t]=e.x[A],o[t]=e.y[A],s&&(s[t]=e.error[A]),l&&(l[t]=e.lowerError[A]),g&&(g[t]=e.upperError[A])}),new GA(a,o,s,l,g)}(e):new FA(A(e))}function JA(e){return new FA(e)}function RA(e){if(!e.isCompact)return e.pointsInRange();const A=/* @__PURE__ */new Map,t=t=>{const i=A.get(t);if(i)return i;const n=e.pointAt(t);return n&&(A.set(t,n),A.size>128&&A.delete(A.keys().next().value)),n};return new Proxy([],{get:(A,i,n)=>"string"==typeof i&&/^(0|[1-9]\d*)$/.test(i)?t(Number(i)):"length"===i?e.length:Reflect.get(A,i,n),has(A,t){if("string"==typeof t&&/^(0|[1-9]\d*)$/.test(t)){const A=Number(t);return A>=0&&A<e.length}return Reflect.has(A,t)},ownKeys:A=>[...Array.from({length:e.length},(e,A)=>String(A)),...Reflect.ownKeys(A).filter(e=>"length"===e||"symbol"==typeof e)],getOwnPropertyDescriptor(A,i){if("string"==typeof i&&/^(0|[1-9]\d*)$/.test(i)){const A=Number(i);if(A>=0&&A<e.length)return{configurable:!0,enumerable:!0,writable:!0,value:t(A)}}return Reflect.getOwnPropertyDescriptor(A,i)}})}function TA(e){return"number"==typeof e&&Number.isFinite(e)&&e>=0?e:void 0}function ZA(e){const A=TA(e.error),t=TA(e.lowerError),i=TA(e.upperError);return{x:e.x,y:e.y,...void 0===A?{}:{error:A},...void 0===t?{}:{lowerError:t},...void 0===i?{}:{upperError:i}}}function UA(e){return e instanceof Float32Array||e instanceof Float64Array}function LA(e,A,t){if(!Number.isFinite(A)||A<=0)return[];const i=Number.isFinite(t)?t??0:0,n=[];for(let a=0;a<e.length;a+=1){const t=e[a];Number.isFinite(t)&&n.push({x:i+a/A,y:t})}return n}function jA(e){const A=TA(e.error)??0;return{lower:TA(e.lowerError)??A,upper:TA(e.upperError)??A}}function OA(e){if("samples"===e.kind)return LA(e.values,e.sampleRate,e.startTime);if("typed-samples"===e.kind)return function(e){return!UA(e.values)||!Number.isFinite(e.sampleRate)||e.sampleRate<=0||void 0!==e.startTime&&!Number.isFinite(e.startTime)?[]:LA(e.values,e.sampleRate,e.startTime)}(e);if("typed-points"===e.kind)return function(e){if(!(e.x instanceof Float64Array&&UA(e.y)))return!1;const A=e.x.length;return[e.error,e.lowerError,e.upperError].every(e=>void 0===e||UA(e)&&e.length===A)&&e.y.length===A}(e)?function(e){const A=[];let t=Number.NEGATIVE_INFINITY,i=!0;for(let n=0;n<e.x.length;n+=1){const a=e.x[n],o=e.y[n];if(!Number.isFinite(a)||!Number.isFinite(o))continue;const r=ZA({x:a,y:o,error:e.error?.[n],lowerError:e.lowerError?.[n],upperError:e.upperError?.[n]});r.x<t&&(i=!1),t=r.x,A.push(r)}return i||A.sort((e,A)=>e.x-A.x),A}(e):[];const A=[];let t=Number.NEGATIVE_INFINITY,i=!0;for(const n of e.points){if(!Number.isFinite(n.x)||!Number.isFinite(n.y))continue;const e=ZA(n);e.x<t&&(i=!1),t=e.x,A.push(e)}return i||A.sort((e,A)=>e.x-A.x),A}function WA(e,A){const t=A.lineType??"linear",i="dashed"===(n=A.lineStyle)||"dash-dot"===n?n:"solid";var n;const a=A.pointType??"none",o=!0===A.errorBar?.visible,r="none"!==t||"none"!==a||o?t:"linear",s=Number(A.errorBar?.width),l=Number(A.errorBar?.capWidth);return{id:e,shotNo:A.shotNo?.trim()||void 0,trackId:A.trackId?.trim()||void 0,name:A.name,unit:A.unit,color:A.color,lineType:r,lineStyle:i,pointType:a,errorBar:{visible:o,color:A.errorBar?.color,width:Number.isFinite(s)&&s>0?s:1.5,capWidth:Number.isFinite(l)&&l>0?l:8}}}function XA(e,A=!1){if("series"!==e.kind){const t=SA(e,OA);return t.length||A?[{...WA("series-0",{name:""}),source:t}]:[]}const t=/* @__PURE__ */new Set;return e.series.flatMap((e,i)=>{const n=e.id?.trim()||`series-${i}`;let a=n,o=1;for(;t.has(a);)a=`${n}-${o}`,o+=1;t.add(a);const r=SA(e.data,OA);return r.length||A?[{...WA(a,e),source:r}]:[]})}function HA(e){return XA(e).map(({source:e,...A})=>({...A,points:e.pointsInRange()}))}function VA(e,A){return A&&(e.start!==e.end||0!==e.start&&e.end!==A)?[e.start>0?e.start-1:-1,e.end<A?e.end:-1].filter(e=>e>=0):[]}function zA(e,A,t,i){const n=VA(A,t);return[...n.filter(e=>e<A.start).map(i),...e,...n.filter(e=>e>=A.end).map(i)]}function PA(e,A){return{start:Math.max(0,e.start-1),end:Math.min(A,e.end+1)}}var qA=e=>{const A=e.source??JA(e.points),{start:t,end:i}=PA(e.range,A.length);return A.pointsInRange(t,i)},KA=e=>{const{range:A,domain:t,width:i,options:n}=e,a=e.source??JA(e.points),{start:o,end:r}=PA(A,a.length);if(r-o<=0)return[];const s=Math.min(t[0],t[1]),l=Math.max(t[0],t[1]),g=Math.max(4,n.sampling.maxPointCount??Math.floor(i*n.maxPointsPerPixel)),c=Math.max(1,Math.floor(g/4)),I=[];let d=-1;const u=e=>{e<0||e>=a.length||e===d||(I.push(a.pointAt(e)),d=e)},h=l-s||1,C=Array.from({length:4},()=>-1);let Q=-1,m=-1,B=-1,E=-1,p=-1;const f=(e,A)=>{if(e<0)return A;for(let t=0;t<A;t+=1)if(C[t]===e)return A;return C[A]=e,A+1},y=()=>{if(m<0)return;let e=0;e=f(m,e),e=f(E,e),e=f(p,e),e=f(B,e);for(let A=1;A<e;A+=1){const e=C[A];let t=A-1;for(;t>=0&&C[t]>e;)C[t+1]=C[t],t-=1;C[t+1]=e}for(let A=0;A<e;A+=1)u(C[A])};u(o);for(let v=A.start;v<A.end;v+=1){const e=a.pointAt(v),A=Math.min(c-1,Math.max(0,Math.floor((e.x-s)/h*c)));A===Q?(B=v,e.y<a.pointAt(E).y&&(E=v),e.y>a.pointAt(p).y&&(p=v)):(y(),Q=A,m=v,B=v,E=v,p=v)}return y(),u(r-1),I},_A={downsample:!0,downsampleThreshold:2e3,maxPointsPerPixel:4,pointMinSpacing:10,errorBarMinSpacing:12,sampling:{mode:"auto",autoThreshold:1e3,autoHysteresis:0,strategy:"peak",maxPointsPerPixel:4,maxPointCount:void 0,rawPointLimit:1e5,wasmFailureFallback:"error"}},$A=["auto","wasm","raw"],et=["auto","none","peak","lttb","average","min","max","minmax","sum"];function At(e){return"string"==typeof e&&et.includes(e)}function tt(e,A,t){return"number"==typeof e&&Number.isFinite(e)&&e>=A?Math.floor(e):t}function it(e,A){return"number"==typeof e&&Number.isFinite(e)&&e>=A?Math.floor(e):void 0}function nt(e,A){return Number.isFinite(e)&&e>=0?e:A}function at(e){const A=Number(e?.downsampleThreshold),t=Number(e?.maxPointsPerPixel),i=Number(e?.pointMinSpacing),n=Number(e?.errorBarMinSpacing),a=Number.isFinite(t)&&t>0?t:_A.maxPointsPerPixel,o=function(e,A,t){const i=(n=e?.mode,"string"==typeof n&&$A.includes(n)?e.mode:!1===A?"raw":_A.sampling.mode);var n;const a=function(e,A){return"number"==typeof e&&Number.isFinite(e)&&e>0?e:A}(e?.maxPointsPerPixel,t);return{mode:i,autoThreshold:tt(e?.autoThreshold,1,_A.sampling.autoThreshold),autoHysteresis:tt(e?.autoHysteresis,0,_A.sampling.autoHysteresis),strategy:At(e?.strategy)?e.strategy:_A.sampling.strategy,maxPointsPerPixel:a,maxPointCount:it(e?.maxPointCount,1),rawPointLimit:tt(e?.rawPointLimit,1,_A.sampling.rawPointLimit),wasmFailureFallback:"javascript"===e?.wasmFailureFallback||"error"===e?.wasmFailureFallback?e.wasmFailureFallback:_A.sampling.wasmFailureFallback}}(e?.sampling,"boolean"==typeof e?.downsample?e.downsample:void 0,a);return{downsample:"raw"!==o.mode,downsampleThreshold:Number.isFinite(A)&&A>=2?Math.floor(A):_A.downsampleThreshold,maxPointsPerPixel:o.maxPointsPerPixel,pointMinSpacing:nt(i,_A.pointMinSpacing),errorBarMinSpacing:nt(n,_A.errorBarMinSpacing),sampling:o}}var ot=U(e=>e.x),rt=()=>!0;function st(e,A,t,i,n){if(A.start===A.end&&(0===A.start||A.end===e.length))return[];const a=Math.max(0,A.start-1),o=Math.min(e.length,A.end+1)-a;return o<=0?[]:function(e){const A=Math.max(4,e.options.sampling.maxPointCount??Math.floor(e.width*e.options.maxPointsPerPixel));return!e.options.downsample||e.visibleCount<=e.options.downsampleThreshold||e.visibleCount<=A?qA:KA}({visibleCount:o,width:i,options:n})({points:[],source:e,range:A,domain:t,width:i,options:n})}function lt(e,A,t,i){return!e.length||t<=0?[]:st(JA(e),function(e,A){const t=Math.min(A[0],A[1]),i=Math.max(A[0],A[1]);return{start:ot.left(e,t),end:ot.right(e,i)}}(e,A),A,t,i)}function gt(e,A,t,i,n,a,o,r){if(!a||0===n){if(o===rt)return e.pointsInRange(A.start,A.end);const t=[];for(let i=A.start;i<A.end;i+=1)o(e.pointAt(i))&&t.push(e.pointAt(i));return t}const s=Math.min(t[0],t[1]),l=Math.max(t[0],t[1])-s;if(l<=0){for(let t=A.start;t<A.end;t+=1)if(o(e.pointAt(t)))return[e.pointAt(t)];return[]}const g=Math.max(1,Math.ceil(i/n)),c=i/g;let I,d,u,h;const C=[];let Q,m,B=!0,E=Number.NEGATIVE_INFINITY,p=0;const f=(e,A)=>{if(!(I&&d&&u&&h))return;const t=Math.min(g-1,Math.floor(A/c)),i=(t+.5)*c,n=Math.abs(A-i);n<d[t]&&(I[t]=e,d[t]=n),r?.(e)&&n<h[t]&&(u[t]=e,h[t]=n)},y=()=>{I=Array.from({length:g}),d=Array.from({length:g},()=>Number.POSITIVE_INFINITY),u=Array.from({length:g}),h=Array.from({length:g},()=>Number.POSITIVE_INFINITY);for(const e of C){const A=Math.max(0,Math.min(i,(e.x-s)/l*i));f(e,A)}};for(let w=A.start;w<A.end;w+=1){const A=e.pointAt(w);if(!o(A))continue;Q??=A,m=A,p+=1;const t=Math.max(0,Math.min(i,(A.x-s)/l*i));B&&(t-E<n?(B=!1,y(),C.length=0):(C.push(A),E=t)),B||f(A,t)}if(p<=2)return Q?m&&m!==Q?[Q,m]:[Q]:[];if(B)return C;const v=(I??[]).map((e,A)=>u?.[A]??e).filter(e=>void 0!==e);return Q&&v[0]!==Q&&v.unshift(Q),m&&v.at(-1)!==m&&v.push(m),v}function ct(e){const{lower:A,upper:t}=jA(e);return 0!==A||0!==t}function It(e,A,t,i){const n=Bt(e,ft.__wbindgen_malloc),a=vt,o=Bt(A,ft.__wbindgen_malloc),r=vt,s=ft.sample_indexes(n,a,o,r,t,i);if(s[3])throw Et(s[2]);var l=ut(s[0],s[1]).slice();return ft.__wbindgen_free(s[0],4*s[1],4),l}function dt(e,A){return e>>>=0,Ct().subarray(e/8,e/8+A)}function ut(e,A){return e>>>=0,(null!==Qt&&0!==Qt.byteLength||(Qt=new Uint32Array(ft.memory.buffer)),Qt).subarray(e/4,e/4+A)}var ht=null;function Ct(){return null!==ht&&0!==ht.byteLength||(ht=new Float64Array(ft.memory.buffer)),ht}var Qt=null,mt=null;function Bt(e,A){const t=A(8*e.length,8)>>>0;return Ct().set(e,t/8),vt=e.length,t}function Et(e){const A=ft.__wbindgen_externrefs.get(e);return ft.__externref_table_dealloc(e),A}var pt=new TextDecoder("utf-8",{ignoreBOM:!0,fatal:!0});pt.decode();var ft,yt=0,vt=0;var wt,xt,kt={none:0,peak:1,lttb:2,average:3,min:4,max:5,minmax:6,sum:7};function bt(e){return wt??=Promise.resolve(async function(e){if(void 0!==ft)return ft;void 0!==e&&(Object.getPrototypeOf(e)===Object.prototype?({module_or_path:e}=e):console.warn("using deprecated parameters for the initialization function; pass a single object instead")),void 0===e&&(e=new URL("data:application/wasm;base64,AGFzbQEAAAAB0AEZYAAAYAABf2ABfwBgAX8Bf2ACf38AYAJ/fwF/YAJ/fwFvYAN/f38AYAN/f38Bf2AEf39/fwBgBH9/f38Bf2AEf39/fwR/f39/YAV/f39/fwBgBX9/f39/AX9gBX9/f39/A39/f2AFf39/f38Ef39/f2AGf39/f39/AGAGf39/f39/AX9gBn9/f39/fwR/f39/YAd/f39/f39/AGAHf39/f398fABgCH9/f39/fHx/AGAGf39/f3x8BH9/f39gB39/f398fH8Df39/YAJ8fAF8AoQBAh4uL3dhdmVmb3JtX3NhbXBsaW5nX3dhc21fYmcuanMfX193YmluZGdlbl9pbml0X2V4dGVybnJlZl90YWJsZQAAHi4vd2F2ZWZvcm1fc2FtcGxpbmdfd2FzbV9iZy5qcyBfX3diaW5kZ2VuX2Nhc3RfMDAwMDAwMDAwMDAwMDAwMQAGA4wBigEDEAwQEBMMBQoMAhEQFQgMCgwEBxQEAgQFBAQTAQQECQkFBRAQFBMMBw0HBwQTBAwMBxAQEAwDCRUQBAIAAgICAgMHAwcIBAcFAwIEBwUFDRIWEg8XDwQLBQMOAgICAgkEAwICBAIFGBgEBwUHBAQICgIEBQcECAACAgAFBQQEBAUFAgIEBAUDAAAECQJwARcXbwCACAUDAQARBgkBfwFBgIDAAAsH5AIRBm1lbW9yeQIAD2NhbGN1bGF0ZV9yYW5nZQBZD2Rpc3Bvc2VfZGF0YXNldAA4EmZpbmRfdmlzaWJsZV9yYW5nZQBTEHJlZ2lzdGVyX2RhdGFzZXQAXBdyZWdpc3Rlcl9zYW1wbGVfZGF0YXNldABWEXNhbXBsZV9hZ2dyZWdhdGVzAFIZc2FtcGxlX2RhdGFzZXRfYWdncmVnYXRlcwBXFnNhbXBsZV9kYXRhc2V0X2luZGV4ZXMAVQ5zYW1wbGVfaW5kZXhlcwBUFGRpc3Bvc2VfYWxsX2RhdGFzZXRzAD4TZGF0YXNldF9pbmRleF9ieXRlcwBFFV9fd2JpbmRnZW5fZXh0ZXJucmVmcwEBEV9fd2JpbmRnZW5fbWFsbG9jAE8ZX19leHRlcm5yZWZfdGFibGVfZGVhbGxvYwA/D19fd2JpbmRnZW5fZnJlZQBuEF9fd2JpbmRnZW5fc3RhcnQAAAkiAQBBAQsWiQEBhgFaZ0ck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AggiDqdBgICA/3lxQbCAgIACcjYCCEEBIQ0gACgCACIKIAAoAgQiCyAMIAIgAxBRDQNBACEHIAEgCWtB//8DcSECA0AgB0H//wNxIAJPDQJBASENIAdBAWohByAKQTAgCygCEBEFAEUNAAwECwtBASENIAogCyAMIAIgAxBRDQIgCiAEIAUgCygCDBEIAA0CQQAhByAIIAFrQf//A3EhAANAIAdB//8DcSICIABJIQ0gAiAATw0DIAdBAWohByAKIAkgCygCEBEFAEUNAAwDCwtBASENIAogBCAFIAsoAgwRCAANASAAIA43AghBAA8LQQEhDSAAKAIAIgcgACgCBCIKIAwgAiADEFENACAHIAQgBSAKKAIMEQgAIQ0LIA0L/QUDBX8CfgN8IwBB8ABrIgYkAAJAAkACQAJAIAIgBEYNAEHXi8AAQSEQba0hC0GAgICAeCEHIAZBGGohBAwBC0EAIQcCQAJAIAINAEIAIQtBgICAgHghCEQAAAAAAAAAACENQQghCUEAIQEMAQsgAkEDdCEKQQAhCCABIQQgAyEJAkACQAJAAkADQCAEKQMAQv///////////wCDQv/////////3/wBVDQEgCSkDAEL///////////8Ag0L/////////9/8AVQ0BIARBCGohBCAJQQhqIQkgAiAIQQFqIghGDQIMAAsLIAggAkkNAQtEAAAAAAAAAAAhDSACQQFGDQEgASACQX9qIgRBA3RqKwMAIAErAwChIAS4oyENDAELQaSLwABBMxBtrSELQYCAgIB4IQcgBkEYaiEEDAILQQAhBEEAIQkCQANAAkAgCiAERw0AQYCAgIB4IQgMAgsgASAEaiEIIAm4IQ4gBEEIaiEEIAlBAWohCSAIKwMAIg8gDSAOoiABKwMAoCIOoZkgD5kgDpkQaUQAAAAAAADwPxBpRAAAAAAAACA9omUNAAsQigEgCkEIEH0iBEUNAwJAIApFDQAgBCABIAr8CgAACyACrUIghiAErYQhDCACIQgLEIoBIApBCBB9IglFDQMCQCAKRQ0AIAkgAyAK/AoAAAsgASkDACELIAIhAQsgBkEANgIYIAZBEGohBAsgBCAHNgIAAkACQCAGKAIYIgRBgICAgHhHDQAgC6chBEEBIQkMAQsgBiAGKAIQNgJoIAZBBDYCZCAGIAQ2AmAgBkEANgJcIAZC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Cw8AQZqUwABB8wAgABBOAAsSAEHTlMAAQZkBQaCVwAAQTgALCQAgACABEGgPCwkAIAAgARBKDwsJACABIAAQYgALDAAgACABKQIANwMACwkAIAEgABB/AAsNACABQdCVwABBGBAQCw0AIAFBsJXAAEEgEBALBwAgABBlAAsHACAAED0ACwsAQQBBAToA+JlACwkAIABBADYCAAsGABCLAQALBwBB6JXAAAsDAA8LAwAACwuiFgIAQYCAwAAL6BUWc2xpY2UgaW5kZXggc3RhcnRzIGF0IMANIGJ1dCBlbmRzIGF0IMAAIGluZGV4IG91dCBvZiBib3VuZHM6IHRoZSBsZW4gaXMgwBIgYnV0IHRoZSBpbmRleCBpcyDAABJyYW5nZSBzdGFydCBpbmRleCDAIiBvdXQgb2YgcmFuZ2UgZm9yIHNsaWNlIG9mIGxlbmd0aCDAABByYW5nZSBlbmQgaW5kZXggwCIgb3V0IG9mIHJhbmdlIGZvciBzbGljZSBvZiBsZW5ndGggwABIY2Fubm90IGFjY2VzcyBhIFRocmVhZCBMb2NhbCBTdG9yYWdlIHZhbHVlIGR1cmluZyBvciBhZnRlciBkZXN0cnVjdGlvbjogwAAvcnVzdGMvNTk4MDc2MTZlMWZhMjU0MDcyNGJmYmFjMTRkNzk3NmQ3ZTRhMzg2MC9saWJyYXJ5L2NvcmUvc3JjL3NsaWNlL3NvcnQvc2hhcmVkL3NtYWxsc29ydC5ycwAvcnVzdGMvNTk4MDc2MTZlMWZhMjU0MDcyNGJmYmFjMTRkNzk3NmQ3ZTRhMzg2MC9saWJyYXJ5L2NvcmUvc3JjL3NsaWNlL3NvcnQvc3RhYmxlL3F1aWNrc29ydC5ycwAvcnVzdGMvNTk4MDc2MTZlMWZhMjU0MDcyNGJmYmFjMTRkNzk3NmQ3ZTRhMzg2MC9saWJyYXJ5L3N0ZC9zcmMvdGhyZWFkL2xvY2FsLnJzAC9ob21lL3J1bm5lci8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3dhc20tYmluZGdlbi0wLjIuMTE4L3NyYy9leHRlcm5yZWYucnMAL3J1c3RjLzU5ODA3NjE2ZTFmYTI1NDA3MjRiZmJhYzE0ZDc5NzZkN2U0YTM4NjAvbGli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MTYyNjM2NDY1NjY2NzY4Njk3MDcxNzI3Mzc0NzU3Njc3Nzg3OTgwODE4MjgzODQ4NTg2ODc4ODg5OTA5MTkyOTM5NDk1OTY5Nzk4OTlhdHRlbXB0IHRvIGNhbGN1bGF0ZSB0aGUgcmVtYWluZGVyIHdpdGggYSBkaXZpc29yIG9mIHplcm91c2VyLXByb3ZpZGVkIGNvbXBhcmlzb24gZnVuY3Rpb24gZG9lcyBub3QgY29ycmVjdGx5IGltcGxlbWVudCBhIHRvdGFsIG9yZGVyABoBEABfAAAAXAMAAAUAAABSZWZDZWxsIGFscmVhZHkgbXV0YWJseSBib3Jyb3dlZFJlZkNlbGwgYWxyZWFkeSBib3Jyb3dlZABB6JXAAAsoAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAADURARuYW1lABwbd2F2ZWZvcm1fc2FtcGxpbmdfd2FzbS53YXNtAe1DiwEBGFJlZihTdHJpbmcpIC0+IEV4dGVybnJlZgJhPGRsbWFsbG9jW2UyNGEyNzcwMDYzNGQ2MDldOjpkbG1hbGxvYzo6RGxtYWxsb2M8ZGxtYWxsb2NbZTI0YTI3NzAwNjM0ZDYwOV06OnN5czo6U3lzdGVtPj46Om1hbGxvYwNId2F2ZWZvcm1fc2FtcGxpbmdfd2FzbTo6U3RvcmVkRGF0YXNldDo6c2FtcGxlX2luZGV4ZXM6Omg2MWUzZjgxMTcwZDM3MDY3BDl3YXZlZm9ybV9zYW1wbGluZ193YXNtOjpzb3VyY2VfaW5kZXhlczo6aDQ2ZjNjMTMyODIyNWU2NzIFS3dhdmVmb3JtX3NhbXBsaW5nX3dhc206OlN0b3JlZERhdGFzZXQ6OnNhbXBsZV9hZ2dyZWdhdGVzOjpoOThiYzBkMGNkZWQ4MmY2ZQY5Y29yZTo6c2xpY2U6OnNvcnQ6OnN0YWJsZTo6ZHJpZnQ6OnNvcnQ6OmhiMGYzYWUzMDFkNTZkNDVhB0Jjb3JlOjpzbGljZTo6c29ydDo6c3RhYmxlOjpxdWlja3NvcnQ6OnF1aWNrc29ydDo6aDQyMGFkOTE2NGI2NDVlM2IIWGNvcmU6OnNsaWNlOjpzb3J0OjpzaGFyZWQ6OnNtYWxsc29ydDo6c21hbGxfc29ydF9nZW5lcmFsX3dpdGhfc2NyYXRjaDo6aGNmYzk3ZmQzMzIxNzQ2MWYJMmNvcmVbYzU5MzBjODVhMTJkZTgyMl06OnN0cjo6Y291bnQ6OmRvX2NvdW50X2NoYXJzCihfX3J1c3RjW2I3OTc0ZTg2OTA0MzBkZDldOjpfX3JkbF9yZWFsbG9jCzR3YXZlZm9ybV9zYW1wbGluZ193YXNtOjphZ2dyZWdhdGU6OmhkY2UwYWY2ODJjNjRkZjNhDF88ZGxtYWxsb2NbZTI0YTI3NzAwNjM0ZDYwOV06OmRsbWFsbG9jOjpEbG1hbGxvYzxkbG1hbGxvY1tlMjRhMjc3MDA2MzRkNjA5XTo6c3lzOjpTeXN0ZW0+Pjo6ZnJlZQ02PGNvcmVbYzU5MzBjODVhMTJkZTgyMl06OmZtdDo6Rm9ybWF0dGVyPjo6cGFkX2ludGVncmFsDjt3YXZlZm9ybV9zYW1wbGluZ193YXNtOjpyZWdpc3Rlcl9kYXRhc2V0OjpoM2YzMzNhZDk0ZDVkYTI0MA9Cd2F2ZWZvcm1fc2FtcGxpbmdfd2FzbTo6cmVnaXN0ZXJfc2FtcGxlX2RhdGFzZXQ6OmhhYzNjYTBmNWUyMzNlNzhiEC08Y29yZVtjNTkzMGM4NWExMmRlODIyXTo6Zm10OjpGb3JtYXR0ZXI+OjpwYWQROndhdmVmb3JtX3NhbXBsaW5nX3dhc206OmNhbGN1bGF0ZV9yYW5nZTo6aGI4ZjY0N2JhZGEyYWYwOWMSImNvcmVbYzU5MzBjODVhMTJkZTgyMl06OmZtdDo6d3JpdGUTO3dhdmVmb3JtX3NhbXBsaW5nX3dhc206OnZhbGlkYXRlZF9wb2ludHM6Omg5YTcxMGE2MTYxZjE1NjY3FGg8ZGxtYWxsb2NbZTI0YTI3NzAwNjM0ZDYwOV06OmRsbWFsbG9jOjpEbG1hbGxvYzxkbG1hbGxvY1tlMjRhMjc3MDA2MzRkNjA5XTo6c3lzOjpTeXN0ZW0+Pjo6ZGlzcG9zZV9jaHVuaxU7d2F2ZWZvcm1fc2FtcGxpbmdfd2FzbTo6ZW5kcG9pbnRzX29yX2FsbDo6aGZmNmE2YTc2YjM0YmZiYTQWPXdhdmVmb3JtX3NhbXBsaW5nX3dhc206OmZpbmRfdmlzaWJsZV9yYW5nZTo6aDVhYzhjM2I0MTU5NDIxNzIXRWNvcmU6OnNsaWNlOjpzb3J0OjpzaGFyZWQ6OnNtYWxsc29ydDo6c29ydDRfc3RhYmxlOjpoZTAzMTE1NjhkZDE5NTM4OBhSY29yZTo6cHRyOjpkcm9wX2luX3BsYWNlPHdhdmVmb3JtX3NhbXBsaW5nX3dhc206OlN0b3JlZERhdGFzZXQ+OjpoNzUwMjgxMjc0Y2ExNmZjNhk0YWxsb2M6OnZlYzo6VmVjPFQsQT46OnJlc2l6ZV93aXRoOjpoNTY4NjEzOTQ2NGQyNzM2ZhpjPGRsbWFsbG9jW2UyNGEyNzcwMDYzNGQ2MDldOjpkbG1hbGxvYzo6RGxtYWxsb2M8ZGxtYWxsb2NbZTI0YTI3NzAwNjM0ZDYwOV06OnN5czo6U3lzdGVtPj46Om1lbWFsaWduGzRhbGxvYzo6dmVjOjpWZWM8VCxBPjo6cmVzaXplX3dpdGg6Omg0Yzc1ODgxZTExZWY5YzI0HGc8ZGxtYWxsb2NbZTI0YTI3NzAwNjM0ZDYwOV06OmRsbWFsbG9jOjpEbG1hbGxvYzxkbG1hbGxvY1tlMjRhMjc3MDA2MzRkNjA5XTo6c3lzOjpTeXN0ZW0+Pjo6dW5saW5rX2NodW5rHQ5zYW1wbGVfaW5kZXhlcx4XX19leHRlcm5yZWZfdGFibGVfYWxsb2MfbTxkbG1hbGxvY1tlMjRhMjc3MDA2MzRkNjA5XTo6ZGxtYWxsb2M6OkRsbWFsbG9jPGRsbWFsbG9jW2UyNGEyNzcwMDYzNGQ2MDldOjpzeXM6OlN5c3RlbT4+OjppbnNlcnRfbGFyZ2VfY2h1bmsgaDxjb3JlOjppdGVyOjphZGFwdGVyczo6bWFwOjpNYXA8SSxGPiBhcyBjb3JlOjppdGVyOjp0cmFpdHM6Oml0ZXJhdG9yOjpJdGVyYXRvcj46OmZvbGQ6OmgyYTk3YjkwYmNjNDI0NGMyIVJjb3JlOjpzbGljZTo6c29ydDo6c2hhcmVkOjpzbWFsbHNvcnQ6Omluc2VydGlvbl9zb3J0X3NoaWZ0X2xlZnQ6OmhlOGU1ODA1Y2UxZGZmNjY1IjZjb3JlW2M1OTMwYzg1YTEyZGU4MjJdOjpzbGljZTo6aW5kZXg6OnNsaWNlX2luZGV4X2ZhaWwjMjx1MzIgYXMgY29yZVtjNTkzMGM4NWExMmRlODIyXTo6Zm10OjpEaXNwbGF5Pjo6Zm10JFs8YWxsb2NbM2NhNTAxZWRmZjNmMGM3Y106OnN0cmluZzo6U3RyaW5nIGFzIGNvcmVbYzU5MzBjODVhMTJkZTgyMl06OmZtdDo6V3JpdGU+Ojp3cml0ZV9jaGFyJRlzYW1wbGVfZGF0YXNldF9hZ2dyZWdhdGVzJhZzYW1wbGVfZGF0YXNldF9pbmRleGVzJxJmaW5kX3Zpc2libGVfcmFuZ2UoEXNhbXBsZV9hZ2dyZWdhdGVzKQ9jYWxjdWxhdGVfcmFuZ2UqOHN0ZDo6dGhyZWFkOjpsb2NhbDo6TG9jYWxLZXk8VD46OndpdGg6OmhlOTVjZWY1NTk3NjZjZTAwK0Bjb3JlOjpzbGljZTo6c29ydDo6c2hhcmVkOjpwaXZvdDo6bWVkaWFuM19yZWM6OmhlMDkzZWQ3OTU3Mjg1MmE2LDhzdGQ6OnRocmVhZDo6bG9jYWw6OkxvY2FsS2V5PFQ+Ojp3aXRoOjpoNzlkNTExMzk4ZjU0Y2Y4OS04c3RkOjp0aHJlYWQ6OmxvY2FsOjpMb2NhbEtleTxUPjo6d2l0aDo6aDk4YzlkZTAxMDhhMzhlZGEufzxzdGRbYTU0Mzk5NmU2ZTdkYmYxZV06OnBhbmlja2luZzo6cGFuaWNfaGFuZGxlcjo6Rm9ybWF0U3RyaW5nUGF5bG9hZCBhcyBjb3JlW2M1OTMwYzg1YTEyZGU4MjJdOjpwYW5pYzo6UGFuaWNQYXlsb2FkPjo6dGFrZV9ib3gvPHdhdmVmb3JtX3NhbXBsaW5nX3dhc206OnNhbXBsZV9hZ2dyZWdhdGVzOjpoMzljYTc4ODA2NWVhZjVkNDBwPGFsbG9jOjp2ZWM6OlZlYzxUPiBhcyBhbGxvYzo6dmVjOjpzcGVjX2Zyb21faXRlcl9uZXN0ZWQ6OlNwZWNGcm9tSXRlck5lc3RlZDxULEk+Pjo6ZnJvbV9pdGVyOjpoMGU0M2ZjZmRkNGE3OWFhZTFRYWxsb2M6OnJhd192ZWM6OlJhd1ZlY0lubmVyPEE+OjpyZXNlcnZlOjpkb19yZXNlcnZlX2FuZF9oYW5kbGU6OmhlMjEyNzkzYmI0NzAxOGYyMjFzdGRbYTU0Mzk5NmU2ZTdkYmYxZV06OnBhbmlja2luZzo6cGFuaWNfd2l0aF9ob29rMzxjb3JlOjpzbGljZTo6c29ydDo6c3RhYmxlOjpkcmlmdHNvcnRfbWFpbjo6aDQ1ZDRhMWQxNmJmNTAwY2I0PmFsbG9jOjpyYXdfdmVjOjpSYXdWZWNJbm5lcjxBPjo6ZmluaXNoX2dyb3c6Omg5YzE4MjU2ODMzNmY0ZjQ4NT5hbGxvYzo6cmF3X3ZlYzo6UmF3VmVjSW5uZXI8QT46OmZpbmlzaF9ncm93OjpoNGFlNGZmNmI4ODM1YjQzOTY8PGFsbG9jWzNjYTUwMWVkZmYzZjBjN2NdOjpyYXdfdmVjOjpSYXdWZWNJbm5lcj46OmZpbmlzaF9ncm93N3w8YWxsb2NbM2NhNTAxZWRmZjNmMGM3Y106OnJhd192ZWM6OlJhd1ZlY0lubmVyPF8+Pjo6cmVzZXJ2ZTo6ZG9fcmVzZXJ2ZV9hbmRfaGFuZGxlOjo8YWxsb2NbM2NhNTAxZWRmZjNmMGM3Y106OmFsbG9jOjpHbG9iYWw+OA9kaXNwb3NlX2RhdGFzZXQ5QWFsbG9jOjpyYXdfdmVjOjpSYXdWZWNJbm5lcjxBPjo6Z3Jvd19hbW9ydGl6ZWQ6OmhjMWFmNGJmN2VkNTQ0ZmYzOhdyZWdpc3Rlcl9zYW1wbGVfZGF0YXNldDsQcmVnaXN0ZXJfZGF0YXNldDx6PHN0ZFthNTQzOTk2ZTZlN2RiZjFlXTo6cGFuaWNraW5nOjpwYW5pY19oYW5kbGVyOjpGb3JtYXRTdHJpbmdQYXlsb2FkIGFzIGNvcmVbYzU5MzBjODVhMTJkZTgyMl06OnBhbmljOjpQYW5pY1BheWxvYWQ+OjpnZXQ9PHN0ZFthNTQzOTk2ZTZlN2RiZjFlXTo6cGFuaWNraW5nOjpwYW5pY19oYW5kbGVyOjp7Y2xvc3VyZSMwfT4/d2F2ZWZvcm1fc2FtcGxpbmdfd2FzbTo6ZGlzcG9zZV9hbGxfZGF0YXNldHM6OmgyNjcyMWYwZTFmNDY2Yjc0PxlfX2V4dGVybnJlZl90YWJsZV9kZWFsbG9jQDhhbGxvYzo6cmF3X3ZlYzo6UmF3VmVjPFQsQT46Omdyb3dfb25lOjpoMjM5YThkZWQ5ZDQ4OWIwMUE4YWxsb2M6OnJhd192ZWM6OlJhd1ZlYzxULEE+Ojpncm93X29uZTo6aDdmODZlZjE3MDY2NWUwMmZCOGFsbG9jOjpyYXdfdmVjOjpSYXdWZWM8VCxBPjo6Z3Jvd19vbmU6Omg4ZDcwOTIyOTI4ZWJhYTUzQzw8Y29yZVtjNTkzMGM4NWExMmRlODIyXTo6Zm10OjpidWlsZGVyczo6RGVidWdTdHJ1Y3Q+OjpmaW5pc2hEWTxkbG1hbGxvY1tlMjRhMjc3MDA2MzRkNjA5XTo6c3lzOjpTeXN0ZW0gYXMgZGxtYWxsb2NbZTI0YTI3NzAwNjM0ZDYwOV06OkFsbG9jYXRvcj46OmFsbG9jRT53YXZlZm9ybV9zYW1wbGluZ193YXNtOjpkYXRhc2V0X2luZGV4X2J5dGVzOjpoMTIxODQzZmRiMDg2ODQyNkYoX19ydXN0Y1tiNzk3NGU4NjkwNDMwZGQ5XTo6X19yZGxfZGVhbGxvY0daPGFsbG9jWzNjYTUwMWVkZmYzZjBjN2NdOjpzdHJpbmc6OlN0cmluZyBhcyBjb3JlW2M1OTMwYzg1YTEyZGU4MjJdOjpmbXQ6OldyaXRlPjo6d3JpdGVfc3RySDZ3YXZlZm9ybV9zYW1wbGluZ193YXNtOjpwdXNoX3VuaXF1ZTo6aDc0NTI5MTExNmFiMzA0MjNJNWNvcmVbYzU5MzBjODVhMTJkZTgyMl06OnBhbmlja2luZzo6cGFuaWNfYm91bmRzX2NoZWNrSi1fX3J1c3RjW2I3OTc0ZTg2OTA0MzBkZDldOjpfX3JkbF9hbGxvY196ZXJvZWRLN3N0ZFthNTQzOTk2ZTZlN2RiZjFlXTo6cGFuaWNraW5nOjpwYW5pY19jb3VudDo6aW5jcmVhc2VMOGFsbG9jOjpyYXdfdmVjOjpSYXdWZWM8VCxBPjo6Z3Jvd19vbmU6OmhjODgyMzc4NDk0ZDRhYmJlTXw8c3RkW2E1NDM5OTZlNmU3ZGJmMWVdOjpwYW5pY2tpbmc6OnBhbmljX2hhbmRsZXI6OlN0YXRpY1N0clBheWxvYWQgYXMgY29yZVtjNTkzMGM4NWExMmRlODIyXTo6cGFuaWM6OlBhbmljUGF5bG9hZD46OnRha2VfYm94Tixjb3JlW2M1OTMwYzg1YTEyZGU4MjJdOjpwYW5pY2tpbmc6OnBhbmljX2ZtdE8RX193YmluZGdlbl9tYWxsb2NQczxzdGRbYTU0Mzk5NmU2ZTdkYmYxZV06OnBhbmlja2luZzo6cGFuaWNfaGFuZGxlcjo6Rm9ybWF0U3RyaW5nUGF5bG9hZCBhcyBjb3JlW2M1OTMwYzg1YTEyZGU4MjJdOjpmbXQ6OkRpc3BsYXk+OjpmbXRRRDxjb3JlW2M1OTMwYzg1YTEyZGU4MjJdOjpmbXQ6OkZvcm1hdHRlcj46OnBhZF9pbnRlZ3JhbDo6d3JpdGVfcHJlZml4UiFzYW1wbGVfYWdncmVnYXRlcyBtdWx0aXZhbHVlIHNoaW1TImZpbmRfdmlzaWJsZV9yYW5nZSBtdWx0aXZhbHVlIHNoaW1UHnNhbXBsZV9pbmRleGVzIG11bHRpdmFsdWUgc2hpbVUmc2FtcGxlX2RhdGFzZXRfaW5kZXhlcyBtdWx0aXZhbHVlIHNoaW1WJ3JlZ2lzdGVyX3NhbXBsZV9kYXRhc2V0IG11bHRpdmFsdWUgc2hpbVcpc2FtcGxlX2RhdGFzZXRfYWdncmVnYXRlcyBtdWx0aXZhbHVlIHNoaW1YGl9fd2JpbmRnZW5fZGVzdHJveV9jbG9zdXJlWR9jYWxjdWxhdGVfcmFuZ2UgbXVsdGl2YWx1ZSBzaGltWl48c3RkW2E1NDM5OTZlNmU3ZGJmMWVdOjp0aHJlYWQ6OmxvY2FsOjpBY2Nlc3NFcnJvciBhcyBjb3JlW2M1OTMwYzg1YTEyZGU4MjJdOjpmbXQ6OkRlYnVnPjo6Zm10Wz9jb3JlW2M1OTMwYzg1YTEyZGU4MjJdOjpzbGljZTo6c29ydDo6c3RhYmxlOjpkcmlmdDo6c3FydF9hcHByb3hcIHJlZ2lzdGVyX2RhdGFzZXQgbXVsdGl2YWx1ZSBzaGltXThzdGRbYTU0Mzk5NmU2ZTdkYmYxZV06OnRocmVhZDo6bG9jYWw6OnBhbmljX2FjY2Vzc19lcnJvcl40Y29yZVtjNTkzMGM4NWExMmRlODIyXTo6Y2VsbDo6cGFuaWNfYWxyZWFkeV9ib3Jyb3dlZF88Y29yZVtjNTkzMGM4NWExMmRlODIyXTo6Y2VsbDo6cGFuaWNfYWxyZWFkeV9tdXRhYmx5X2JvcnJvd2VkYCxfX3J1c3RjW2I3OTc0ZTg2OTA0MzBkZDldOjpydXN0X2JlZ2luX3Vud2luZGE2PGNvcmVbYzU5MzBjODVhMTJkZTgyMl06OmZtdDo6Rm9ybWF0dGVyPjo6ZGVidWdfc3RydWN0YiZzdGRbYTU0Mzk5NmU2ZTdkYmYxZV06OmFsbG9jOjpydXN0X29vbWMuYWxsb2NbM2NhNTAxZWRmZjNmMGM3Y106OmJveGVkOjpib3hfbmV3X3VuaW5pdGRyY29yZVtjNTkzMGM4NWExMmRlODIyXTo6cHRyOjpkcm9wX2luX3BsYWNlOjo8c3RkW2E1NDM5OTZlNmU3ZGJmMWVdOjpwYW5pY2tpbmc6OnBhbmljX2hhbmRsZXI6OkZvcm1hdFN0cmluZ1BheWxvYWQ+ZTNzdGRbYTU0Mzk5NmU2ZTdkYmYxZV06OmFsbG9jOjpydXN0X29vbTo6e2Nsb3N1cmUjMH1me2NvcmVbYzU5MzBjODVhMTJkZTgyMl06OnB0cjo6ZHJvcF9pbl9wbGFjZTo6PGNvcmVbYzU5MzBjODVhMTJkZTgyMl06Om9wdGlvbjo6T3B0aW9uPGFsbG9jWzNjYTUwMWVkZmYzZjBjN2NdOjp2ZWM6OlZlYzx1OD4+PmdVY29yZVtjNTkzMGM4NWExMmRlODIyXTo6cHRyOjpkcm9wX2luX3BsYWNlOjo8YWxsb2NbM2NhNTAxZWRmZjNmMGM3Y106OnN0cmluZzo6U3RyaW5nPmgmX19ydXN0Y1tiNzk3NGU4NjkwNDMwZGQ5XTo6X19yZGxfYWxsb2NpBGZtYXhqBGZtaW5rLmFsbG9jWzNjYTUwMWVkZmYzZjBjN2NdOjpyYXdfdmVjOjpoYW5kbGVfZXJyb3JsKGNvcmVbYzU5MzBjODVhMTJkZTgyMl06OnBhbmlja2luZzo6cGFuaWNtJ1JlZihTdHJpbmcpIC0+IEV4dGVybnJlZiBleHRlcm5yZWYgc2hpbW4PX193YmluZGdlbl9mcmVlb1Y8YWxsb2NbM2NhNTAxZWRmZjNmMGM3Y106OnN0cmluZzo6U3RyaW5nIGFzIGNvcmVbYzU5MzBjODVhMTJkZTgyMl06OmFueTo6QW55Pjo6dHlwZV9pZHAzPCZzdHIgYXMgY29yZVtjNTkzMGM4NWExMmRlODIyXTo6YW55OjpBbnk+Ojp0eXBlX2lkcTM8Y29yZVtjNTkzMGM4NWExMmRlODIyXTo6Zm10OjpGb3JtYXR0ZXI+Ojp3cml0ZV9zdHJyKV9fcnVzdGNbYjc5NzRlODY5MDQzMGRkOV06Ol9fcnVzdF9yZWFsbG9jcxRfX3diaW5kZ2VuX2V4bl9zdG9yZXR3PHN0ZFthNTQzOTk2ZTZlN2RiZjFlXTo6cGFuaWNraW5nOjpwYW5pY19oYW5kbGVyOjpTdGF0aWNTdHJQYXlsb2FkIGFzIGNvcmVbYzU5MzBjODVhMTJkZTgyMl06OnBhbmljOjpQYW5pY1BheWxvYWQ+OjpnZXR1cDxzdGRbYTU0Mzk5NmU2ZTdkYmYxZV06OnBhbmlja2luZzo6cGFuaWNfaGFuZGxlcjo6U3RhdGljU3RyUGF5bG9hZCBhcyBjb3JlW2M1OTMwYzg1YTEyZGU4MjJdOjpmbXQ6OkRpc3BsYXk+OjpmbXR2KV9fcnVzdGNbYjc5NzRlODY5MDQzMGRkOV06Ol9fcnVzdF9kZWFsbG9jdyVfX3J1c3RjW2I3OTc0ZTg2OTA0MzBkZDldOjpydXN0X3BhbmljeFo8YWxsb2NbM2NhNTAxZWRmZjNmMGM3Y106OnN0cmluZzo6U3RyaW5nIGFzIGNvcmVbYzU5MzBjODVhMTJkZTgyMl06OmZtdDo6V3JpdGU+Ojp3cml0ZV9mbXR5M2FsbG9jWzNjYTUwMWVkZmYzZjBjN2NdOjpyYXdfdmVjOjpjYXBhY2l0eV9vdmVyZmxvd3otY29yZVtjNTkzMGM4NWExMmRlODIyXTo6b3B0aW9uOjp1bndyYXBfZmFpbGVke0djb3JlW2M1OTMwYzg1YTEyZGU4MjJdOjpwYW5pY2tpbmc6OnBhbmljX2NvbnN0OjpwYW5pY19jb25zdF9yZW1fYnlfemVyb3xOY29yZVtjNTkzMGM4NWExMmRlODIyXTo6c2xpY2U6OnNvcnQ6OnNoYXJlZDo6c21hbGxzb3J0OjpwYW5pY19vbl9vcmRfdmlvbGF0aW9ufSdfX3J1c3RjW2I3OTc0ZTg2OTA0MzBkZDldOjpfX3J1c3RfYWxsb2N+Ll9fcnVzdGNbYjc5NzRlODY5MDQzMGRkOV06Ol9fcnVzdF9hbGxvY196ZXJvZWR/NV9fcnVzdGNbYjc5NzRlODY5MDQzMGRkOV06Ol9fcnVzdF9hbGxvY19lcnJvcl9oYW5kbGVygAF6PHN0ZFthNTQzOTk2ZTZlN2RiZjFlXTo6cGFuaWNraW5nOjpwYW5pY19oYW5kbGVyOjpTdGF0aWNTdHJQYXlsb2FkIGFzIGNvcmVbYzU5MzBjODVhMTJkZTgyMl06OnBhbmljOjpQYW5pY1BheWxvYWQ+Ojphc19zdHKBATJhbGxvY1szY2E1MDFlZGZmM2YwYzdjXTo6YWxsb2M6OmhhbmRsZV9hbGxvY19lcnJvcoIBWzxjb3JlW2M1OTMwYzg1YTEyZGU4MjJdOjpjZWxsOjpCb3Jyb3dNdXRFcnJvciBhcyBjb3JlW2M1OTMwYzg1YTEyZGU4MjJdOjpmbXQ6OkRpc3BsYXk+OjpmbXSDAVg8Y29yZVtjNTkzMGM4NWExMmRlODIyXTo6Y2VsbDo6Qm9ycm93RXJyb3IgYXMgY29yZVtjNTkzMGM4NWExMmRlODIyXTo6Zm10OjpEaXNwbGF5Pjo6Zm10hAF7c3RkW2E1NDM5OTZlNmU3ZGJmMWVdOjpzeXM6OmJhY2t0cmFjZTo6X19ydXN0X2VuZF9zaG9ydF9iYWNrdHJhY2U6OjxzdGRbYTU0Mzk5NmU2ZTdkYmYxZV06OmFsbG9jOjpydXN0X29vbTo6e2Nsb3N1cmUjMH0sICE+hQGEAXN0ZFthNTQzOTk2ZTZlN2RiZjFlXTo6c3lzOjpiYWNrdHJhY2U6Ol9fcnVzdF9lbmRfc2hvcnRfYmFja3RyYWNlOjo8c3RkW2E1NDM5OTZlNmU3ZGJmMWVdOjpwYW5pY2tpbmc6OnBhbmljX2hhbmRsZXI6OntjbG9zdXJlIzB9LCAhPoYBNnN0ZFthNTQzOTk2ZTZlN2RiZjFlXTo6YWxsb2M6OmRlZmF1bHRfYWxsb2NfZXJyb3JfaG9va4cBdTxzdGRbYTU0Mzk5NmU2ZTdkYmYxZV06OnBhbmlja2luZzo6YmVnaW5fcGFuaWM6OlBheWxvYWQ8JnN0cj4gYXMgY29yZVtjNTkzMGM4NWExMmRlODIyXTo6cGFuaWM6OlBhbmljUGF5bG9hZD46OmFzX3N0cogBLV9fcnVzdGNbYjc5NzRlODY5MDQzMGRkOV06Ol9fcnVzdF9zdGFydF9wYW5pY4kBOWNvcmU6Om9wczo6ZnVuY3Rpb246OkZuT25jZTo6Y2FsbF9vbmNlOjpoNzhhOGY4NDc3NzM3N2ZmMIoBPl9fcnVzdGNbYjc5NzRlODY5MDQzMGRkOV06Ol9fcnVzdF9ub19hbGxvY19zaGltX2lzX3Vuc3RhYmxlX3YyiwEnX19ydXN0Y1tiNzk3NGU4NjkwNDMwZGQ5XTo6X19ydXN0X2Fib3J0BRgBARVfX3diaW5kZ2VuX2V4dGVybnJlZnMHEgEAD19fc3RhY2tfcG9pbnRlcgkRAgAHLnJvZGF0YQEFLmRhdGEAfAlwcm9kdWNlcnMCCGxhbmd1YWdlAQRSdXN0AAxwcm9jZXNzZWQtYnkDBXJ1c3RjHTEuOTUuMCAoNTk4MDc2MTZlIDIwMjYtMDQtMTQpBndhbHJ1cwYwLjI2LjEMd2FzbS1iaW5kZ2VuEzAuMi4xMTggKDc1M2JiN2ZmNCkAlAEPdGFyZ2V0X2ZlYXR1cmVzCCsLYnVsay1tZW1vcnkrD2J1bGstbWVtb3J5LW9wdCsWY2FsbC1pbmRpcmVjdC1vdmVybG9uZysKbXVsdGl2YWx1ZSsPbXV0YWJsZS1nbG9iYWxzKxNub250cmFwcGluZy1mcHRvaW50Kw9yZWZlcmVuY2UtdHlwZXMrCHNpZ24tZXh0",""+import.meta.url));const A={__proto__:null,"./waveform_sampling_wasm_bg.js":{__proto__:null,__wbindgen_cast_0000000000000001:function(e,A){return t=e,function(e,A){return(yt+=A)>=2146435072&&((pt=new TextDecoder("utf-8",{ignoreBOM:!0,fatal:!0})).decode(),yt=A),pt.decode((null!==mt&&0!==mt.byteLength||(mt=new Uint8Array(ft.memory.buffer)),mt).subarray(e,e+A))}(t>>>=0,A);var t},__wbindgen_init_externref_table:function(){const e=ft.__wbindgen_externrefs,A=e.grow(4);e.set(0,void 0),e.set(A+0,void 0),e.set(A+1,null),e.set(A+2,!0),e.set(A+3,!1)}}};("string"==typeof e||"function"==typeof Request&&e instanceof Request||"function"==typeof URL&&e instanceof URL)&&(e=fetch(e));const{instance:t,module:i}=await async function(e,A){if("function"==typeof Response&&e instanceof Response){if("function"==typeof WebAssembly.instantiateStreaming)try{return await WebAssembly.instantiateStreaming(e,A)}catch(t){if(!e.ok||!function(e){switch(e){case"basic":case"cors":case"default":return!0}return!1}(e.type)||"application/wasm"===e.headers.get("Content-Type"))throw t;console.warn("`WebAssembly.instantiateStreaming` failed because your server does not serve Wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\n",t)}const i=await e.arrayBuffer();return await WebAssembly.instantiate(i,A)}{const t=await WebAssembly.instantiate(e,A);return t instanceof WebAssembly.Instance?{instance:t,module:e}:t}}(await e,A);return function(e){return ft=e.exports,ht=null,Qt=null,mt=null,ft.__wbindgen_start(),ft}(t)}(e)).then(()=>{}),wt}async function Mt(e){!function(e){if(e.x.length!==e.y.length)throw new Error("x and y must have the same length")}(e),await bt();const A=(t=e.targetPointCount,0===(i=e.x.length)?0:Number.isFinite(t)?Math.min(i,Math.max(1,Math.floor(t))):i);var t,i;const n=kt[e.strategy];if("average"!==e.strategy&&"sum"!==e.strategy)return{kind:"source-indexes",sourceIndexes:It(e.x,e.y,n,A)};const a=function(e,A,t,i){const n=Bt(e,ft.__wbindgen_malloc),a=vt,o=Bt(A,ft.__wbindgen_malloc),r=vt,s=ft.sample_aggregates(n,a,o,r,t,i);if(s[3])throw Et(s[2]);var l=dt(s[0],s[1]).slice();return ft.__wbindgen_free(s[0],8*s[1],8),l}(e.x,e.y,n,A),o=new Float64Array(a.length/2),r=new Float64Array(a.length/2);for(let s=0;s<o.length;s+=1)o[s]=a[2*s],r[s]=a[2*s+1];return{kind:"aggregates",x:o,y:r}}async function Dt(e,A){if(e.length!==A.length)throw new Error("x and y must have the same length");await bt();const t=function(e,A){const t=Bt(e,ft.__wbindgen_malloc),i=vt,n=Bt(A,ft.__wbindgen_malloc),a=vt,o=ft.calculate_range(t,i,n,a);if(o[3])throw Et(o[2]);var r=dt(o[0],o[1]).slice();return ft.__wbindgen_free(o[0],8*o[1],8),r}(e,A);return 4===t.length?{x:[t[0],t[1]],y:[t[2],t[3]]}:void 0}async function Nt(e,A,t){if(e.length!==A.length)throw new Error("x and y must have the same length");await bt();const i=function(e,A,t,i){const n=Bt(e,ft.__wbindgen_malloc),a=vt,o=Bt(A,ft.__wbindgen_malloc),r=vt,s=ft.find_visible_range(n,a,o,r,t,i);if(s[3])throw Et(s[2]);var l=ut(s[0],s[1]).slice();return ft.__wbindgen_free(s[0],4*s[1],4),l}(e,A,t[0],t[1]);return[i[0],i[1]]}var Ft=/* @__PURE__ */new WeakMap,Gt=/* @__PURE__ */new WeakSet,Yt=/* @__PURE__ */new WeakMap,St=/* @__PURE__ */new WeakMap,Jt=/* @__PURE__ */new WeakMap;function Rt(e,A,t){let i=Yt.get(e);i||Yt.set(e,i=/* @__PURE__ */new WeakMap);let n=i.get(A);n||(n=Object.fromEntries(Object.entries(A).map(([e,A])=>[e,A.map(e=>new Array(e.length))])),i.set(A,n));for(const a of Object.keys(A)){const i=e[a],o=A[a],r=n[a];for(let e=0;e<o.length;e++)for(let A=0;A<o[e].length;A++){const n=0===t?i[e][A]:1===t?o[e][A]:(1-t)*i[e][A]+t*o[e][A];if(!Number.isFinite(n))throw new RangeError("Nonfinite presentation geometry");r[e][A]=n}}return Gt.add(n),n}function Tt(e,A,t,i){if(!e.length||"none"===A)return null;let n=Jt.get(e);return n||Jt.set(e,n=function(e,A){let t,i=e,n=A,a=/* @__PURE__ */new Uint8Array(1024),o=0;const r=e=>{if(o+e.length>a.length){const A=new Uint8Array(Math.max(2*a.length,o+e.length));A.set(a),a=A}for(let A=0;A<e.length;A++)a[o++]=e.charCodeAt(A)},s=e=>r(String(Math.round(1e3*e)/1e3)),l=(e,A,t)=>{r(e),s(A),r(","),s(t)},g=Ee().x(e=>i(e.x)).y(e=>n(e.y)).context({moveTo:(e,A)=>l("M",e,A),lineTo:(e,A)=>l("L",e,A),closePath:()=>r("Z")});return(e,A,r,s)=>(i=r,n=s,t!==A&&(g.curve("step-start"===A?W:"step-middle"===A?j:"step-end"===A||"step-after"===A?O:L),t=A),o=0,g(e),(xt??=new TextDecoder).decode(a.subarray(0,o)))}(t,i)),n(e,A,t,i)}function Zt(e){return e.map(e=>{const A=jA(e);return[e.x,e.y,A.lower,A.upper]})}function Ut(e,A){let t=St.get(e);if(!t){let A,i,n;t={get line(){return A??=Zt(e.lineRenderPoints??[])},get points(){return i??=Zt(e.pointRenderPoints)},get errors(){return n??=Zt(e.errorBarRenderPoints)}},St.set(e,t)}return Ft.set(t,{path:e,x:A,y:e.yScale,result:e}),t}function Lt(e,A=[]){for(let t=0;t<e.length;t++){const i=A[t]??(A[t]={x:NaN,y:NaN,lowerError:NaN,upperError:NaN}),n=e[t];i.x=n[0],i.y=n[1],i.lowerError=n[2],i.upperError=n[3]}return A.length=e.length,A}function jt(e,A,t,i){const n=Ft.get(A);if(!Gt.has(A)&&n?.path===e&&n.x===t&&n.y===i)return n.result;const a=n?.path===e&&n.result!==e?n.result:void 0,o=Lt(A.line,a?.lineRenderPoints),r={...e,lineRenderPoints:o,path:Tt(o,e.series.lineType,t,i),pointRenderPoints:Lt(A.points,a?.pointRenderPoints),errorBarRenderPoints:Lt(A.errors,a?.errorBarRenderPoints),yScale:i};return Ft.set(A,{path:e,x:t,y:i,result:r}),Gt.delete(A),r}function Ot(e,A,t,i){return e.series.lineType===A.series.lineType&&e.series.pointType===A.series.pointType&&e.series.errorBar.visible===A.series.errorBar.visible&&["line","points","errors"].every(e=>{const A=t[e],n=i[e];return A.length===n.length&&A.every((e,A)=>e[0]===n[A][0])})}function Wt(e,A){const t=e.domain();return t[0]===A[0]&&t[1]===A[1]?e:e.copy().domain(A)}function Xt(e,A,t,i=!1){const n=/* @__PURE__ */new Map;for(const a of A){const A=e.seriesList.find(e=>e.id===a.seriesId);if(!A||0===(A.source?.length??A.points.length))continue;const o=t?.anchors.get(a.id),r=i?A.source?.nearestPoint(a.x):void 0;i&&!r||n.set(a.id,{seriesId:A.id,annotationY:a.y,x:a.x,y:r?.y??(o?.x===a.x&&o.annotationY===a.y?o.y:a.y)})}return{target:e,series:new Map(e.seriesPaths.map(A=>[A.series.id,{path:A,values:Ut(A,e.xScale),opacity:1}])),xDomain:e.xScale.domain(),yDomains:e.yAxes.map(e=>e.scale.domain()),anchors:n,clips:/* @__PURE__ */new Map}}function Ht(e,A,t){if(!uA(A))return e;const i=Oe(e,A,lA(t));return uA(i)?i:A}function Vt(e){return[...e.series.values()].some(e=>!!e.old)}function zt(e,A,t,i){if(i)return A;const n=/* @__PURE__ */new Map;for(const[o,r]of A.series){const A=e.series.get(o);if(!A){n.set(o,r);continue}const i=Ot(A.path,r.path,A.values,r.values);n.set(o,i?{...r,values:Rt(A.values,r.values,t)}:{...r,old:{path:A.path,values:A.values},opacity:lA(t)})}const a=/* @__PURE__ */new Map;for(const[o,r]of A.anchors){const A=e.anchors.get(o);a.set(o,A&&!n.get(r.seriesId)?.old?{seriesId:r.seriesId,annotationY:r.annotationY,x:(1-t)*A.x+t*r.x,y:(1-t)*A.y+t*r.y}:r)}return{...A,series:n,anchors:a,xDomain:Ht(e.xDomain,A.xDomain,t),yDomains:A.yDomains.map((A,i)=>Ht(e.yDomains[i]??A,A,t)),clips:A.clips}}var Pt,qt="#1677ff",Kt="12px Arial, sans-serif";function _t(e){return"object"==typeof(A=e)&&null!==A&&"pointAt"in A&&"visibleRange"in A?e:JA(e);var A}function $t(e,A,t,i){return e.flatMap(e=>{if("none"===e.series.lineType){const A=function(e,A,t){let i=null;const n=e.series.source??JA(e.series.points);for(let a=0;a<n.length;a+=1){const o=n.pointAt(a);if(!Number.isFinite(o.x)||!Number.isFinite(o.y))continue;const r=e.xScale(o.x),s=e.top+e.yScale(o.y),l=Math.hypot(r-A,s-t);(!i||l<i.distance)&&(i={point:o,screenX:r,screenY:s,distance:l})}return i}(e,t,i);return A?[{trackIndex:e.index,seriesId:e.series.id,name:e.series.name?.trim()||e.series.id,color:e.series.color||qt,unit:e.series.unit,...A}]:[]}const n=function(e,A,t="linear"){const i=_t(e);if(!i.length||!Number.isFinite(A))return null;const n=i.pointAt(0),a=i.pointAt(i.length-1);if(A<n.x||A>a.x)return null;if(1===i.length)return A===n.x?{...n}:null;const o=i.visibleRange([A,A]).start,r=i.pointAt(Math.min(o,i.length-1));if(r.x===A||0===o)return{x:A,y:r.y};if("none"===t)return null;const s=i.pointAt(o-1);if("step-start"===t)return{x:A,y:r.y};if("step-middle"===t)return{x:A,y:A<(s.x+r.x)/2?s.y:r.y};if("step-end"===t||"step-after"===t)return{x:A,y:s.y};const l=r.x-s.x;if(0===l)return{x:A,y:r.y};const g=(A-s.x)/l;return{x:A,y:s.y+(r.y-s.y)*g}}(e.series.source??JA(e.series.points),A,e.series.lineType);if(!n)return[];const a=function(e,A){const t=_t(e);if(!t.length||!Number.isFinite(A))return null;const i=t.visibleRange([A,A]).start,n=t.pointAt(Math.min(i,t.length-1)),a=t.pointAt(Math.max(0,i-1));return Math.abs(A-a.x)<Math.abs(n.x-A)?a:n}(e.series.source??JA(e.series.points),A);if(!a)return[];const o=e.xScale(n.x),r=e.top+e.yScale(n.y),s=e.xScale(a.x),l=e.top+e.yScale(a.y);return[{trackIndex:e.index,seriesId:e.series.id,name:e.series.name?.trim()||e.series.id,color:e.series.color||qt,unit:e.series.unit,point:a,screenX:s,screenY:l,distance:Math.hypot(o-t,r-i)}]}).sort((e,A)=>e.distance-A.distance||e.trackIndex-A.trackIndex)}function ei(e){return void 0===Pt&&(Pt=null,"undefined"!=typeof document&&"undefined"!=typeof CanvasRenderingContext2D&&(Pt=document.createElement("canvas").getContext("2d"))&&(Pt.font=Kt)),Pt?.measureText(e).width??function(e){return Array.from(e).reduce((e,A)=>e+(A.codePointAt(0)>255?12:6.7),0)}(e)}function Ai(e){return{borderColor:e?.borderColor||qt,textColor:e?.textColor||"#333333",backgroundColor:e?.backgroundColor||"rgba(255, 255, 255, 0.92)"}}function ti(e,A){return e>=Math.min(A[0],A[1])&&e<=Math.max(A[0],A[1])}function ii(e,A,t,i,n,a,o){const r=ni(e,A,t,i,n);return r.x>=0&&r.y>=0&&r.x+t<=a&&r.y+i<=o}function ni(e,A,t,i,n){const a=e-t/2,o=A-i/2,r=e+32,s=e-t-32,l=A-i-32,g=A+32;switch(n){case"top":return{x:a,y:l};case"bottom":return{x:a,y:g};case"right":return{x:r,y:o};case"left":return{x:s,y:o};case"top-right":return{x:r,y:l};case"top-left":return{x:s,y:l};case"bottom-right":return{x:r,y:g};case"bottom-left":return{x:s,y:g}}}function ai(e,A,t){return{width:Math.min(A,Math.max(16,Math.min(240,Math.ceil(Math.max(...e.map(ei),0))+16))),height:Math.min(t,Math.max(26,16*(e.length-1)+14+16))}}function oi(e,A,t,i){const n=[];return e.forEach(e=>{if(!function(e){return Boolean(e.id&&e.seriesId)&&Number.isFinite(e.x)&&Number.isFinite(e.y)&&"string"==typeof e.text&&e.text.trim().length>0}(e))return;const a=A.find(A=>A.series.id===e.seriesId);if(!a)return;const o=a.xScale.domain(),r=a.yScale.domain();if(!ti(e.x,o)||!ti(e.y,r))return;const s=function(e,A=10){const t=[];return e.split(/\r?\n/).forEach(e=>{const i=Array.from(e);if(0!==i.length)for(let n=0;n<i.length;n+=A)t.push(i.slice(n,n+A).join(""));else t.push("")}),t.length?t:[""]}(e.text),l=a.left??0,g=a.width??t,c=a.xScale(e.x),I=l+c,d=a.yScale(e.y)+a.top,u=Math.min(a.height,Math.max(0,i-a.top)),h=d-a.top,C=Number.isFinite(e.labelOffsetX)&&0!==e.labelOffsetX||Number.isFinite(e.labelOffsetY)&&0!==e.labelOffsetY,{width:Q,height:m}=ai(s,g,u),B=C?"top":function(e,A,t,i,n,a){for(const o of["top","bottom","right","left","top-right","top-left","bottom-right","bottom-left"])if(ii(e,A,t,i,o,n,a))return o;return"top"}(c,h,Q,m,g,u),E=function(e,A,t,i,n,a,o=0,r=0){const{width:s,height:l}=ai(t,i,n),g=ni(e,A,s,l,a),c=function(e,A,t){const i=Math.max(0,Math.min(e.x,Math.max(0,A-e.width))),n=Math.max(0,Math.min(e.y,Math.max(0,t-e.height)));return{...e,x:i,y:n,lineEndX:Math.max(i,Math.min(e.lineEndX,i+e.width)),lineEndY:Math.max(n,Math.min(e.lineEndY,n+e.height))}}({x:g.x+o,y:g.y+r,width:s,height:l,lineEndX:e,lineEndY:A},i,n),I=function(e,A,t){const i=e.x+e.width/2,n=e.y+e.height/2,a=A-i,o=t-n;if(Math.abs(a)*e.height>Math.abs(o)*e.width){const A=a>=0?e.x+e.width:e.x,t=0===a?0:(A-i)/a;return{x:A,y:Math.max(e.y,Math.min(e.y+e.height,n+o*t))}}const r=o>=0?e.y+e.height:e.y,s=0===o?0:(r-n)/o;return{x:Math.max(e.x,Math.min(e.x+e.width,i+a*s)),y:r}}(c,e,A);return{...c,lineEndX:I.x,lineEndY:I.y}}(c,h,s,g,u,B,Number.isFinite(e.labelOffsetX)?e.labelOffsetX:0,Number.isFinite(e.labelOffsetY)?e.labelOffsetY:0),p={...E,x:E.x+l,y:E.y+a.top,lineEndX:E.lineEndX+l,lineEndY:E.lineEndY+a.top};n.push({annotation:e,trackIndex:a.index,anchorX:I,anchorY:d,placement:B,lines:s,box:{...p},style:Ai(e.style)})}),n}var ri=0;function si(e="waveform"){const A=g();return`${e}-${A?`v${A.uid}`:"f"+ ++ri}`}var li=(e,A)=>{const t="number"==typeof e?e:Number(e);return Number.isFinite(t)?Math.min(10,Math.max(1,Math.floor(t))):A},gi=e=>{if(!Array.isArray(e))return[];const A=e.filter(e=>"string"==typeof e).map(e=>e.trim()).filter(Boolean);return Array.from(new Set(A))};function ci(e){const A=Object.fromEntries(Object.entries(e?.trackLines??{}).map(([e,A])=>[e,{horizontal:"boolean"!=typeof A?.horizontal||A.horizontal,vertical:"boolean"!=typeof A?.vertical||A.vertical,horizontalColor:"string"==typeof A?.horizontalColor&&A.horizontalColor.trim()?A.horizontalColor:void 0,verticalColor:"string"==typeof A?.verticalColor&&A.verticalColor.trim()?A.verticalColor:void 0}]));return{rowCount:li(e?.rowCount,2),columnCount:li(e?.columnCount,1),showPagination:e?.showPagination??!0,fillIncompleteLastRow:e?.fillIncompleteLastRow??!1,trackOrder:gi(e?.trackOrder),hideEmptyTracks:e?.hideEmptyTracks??!1,trackLines:A}}function Ii(e){return e.rowCount*e.columnCount}function di(e,A){return Math.max(1,Math.ceil(Math.max(0,e)/Ii(A)))}function ui(e){return"compact"===e?0:"separated"===e?16:14}function hi(e){const A=ci(e.props.grid);return`${A.rowCount}:${A.columnCount}`}function Ci(e){const{props:A,tracks:t}=e;return JSON.stringify({tracks:t.value.map(e=>[e.id,e.left,e.top,e.width,e.height,e.xScale.domain(),e.yScale.domain(),e.seriesList.map(e=>e.id),e.yAxes.map(e=>[e.seriesList.map(e=>e.id),e.scale.domain()])]),width:e.innerWidth.value,height:e.innerHeight.value,mode:A.displayMode,overlay:A.overlayMode,hidden:A.hiddenSeriesIds,clean:A.cleanView,presentation:A.presentationMode,page:t.value.map(e=>e.id)})}function Qi(e,A){if(!1===e)return 0;const t=A??(!0===e?.1:0);return Number.isFinite(t)&&t>0?t:0}function mi(e,A){const t=e.seriesList.flatMap(e=>Number.isFinite(e.rawYMaximum)?[e.rawYMaximum]:[]),i=e.seriesList.flatMap(e=>Number.isFinite(e.rawYMinimum)?[e.rawYMinimum]:[]);return{...e,maximumTick:!1!==A?.maximumTickVisible&&t.length?Math.max(...t):void 0,minimumTick:!1!==A?.minimumTickVisible&&i.length?Math.min(...i):void 0}}function Bi(e,A,t){return void 0!==t&&Number.isFinite(t)&&(e=[...e.filter(e=>!Ei(e,t)),t].sort((e,A)=>e-A)),void 0!==A&&Number.isFinite(A)?[...e.filter(e=>!Ei(e,A)),A].sort((e,A)=>e-A):e}function Ei(e,A){return Math.abs(e-A)<=8*Number.EPSILON*Math.max(Math.abs(e),Math.abs(A),Number.MIN_VALUE)}function pi(e){if(0===e.length)return[0,1];const[A=0,t=1]=Be(e);if(A!==t)return[A,t];const i=.05*Math.abs(A)||.5;return[A-i,t+i]}function fi(e,A=5,t){let i=e;if(t&&e.length>=2){const A=e[0],t=e[1],n=e[e.length-1],a=e[e.length-2];i=[A-(t-A),...e,n+(n-a)]}const n=i.flatMap((e,t)=>{const n=i[t+1];if(void 0===n)return[];const a=(n-e)/A;return Array.from({length:A-1},(A,t)=>e+a*(t+1))});if(!t)return n;const a=Math.min(...t),o=Math.max(...t);return n.filter(e=>e>a&&e<o)}var yi=new Intl.NumberFormat("zh-CN",{maximumFractionDigits:4}),vi=new Intl.NumberFormat("zh-CN",{maximumFractionDigits:4});function wi(e,A){if("number"!=typeof e||"number"!=typeof A)return null;const t=Math.max(Math.abs(e),Math.abs(A));return function(e){const A=Math.abs(e);return Number.isFinite(A)&&(A>=1e3||A>0&&A<=.001)}(t)?Math.floor(Math.log10(t)):null}function xi(e){return`E${e>=0?"+":"-"}${Math.abs(e).toString().padStart(2,"0")}`}function ki(e,A){const t=wi(e,A);return null===t?null:xi(t)}function bi(e){return Number.isFinite(e)?Object.is(e,-0)?"0":vi.format(e):String(e)}function Mi(e){if(!Number.isFinite(e))return String(e);if(Object.is(e,-0))return"0";const[A,t]=e.toExponential().split("e"),i=Number(t),n=A.startsWith("-"),a=A.replace("-","").replace(".",""),o=i+1;let r;return r=o<=0?`0.${"0".repeat(Math.abs(o))}${a}`:o>=a.length?`${a}${"0".repeat(o-a.length)}`:`${a.slice(0,o)}.${a.slice(o)}`,`${n?"-":""}${r}`}function Di(e,A){return"ms"===A?1e3*e:e}function Ni(e,A,t,i,n){const a=Di(e,t);return n?n(a,{kind:i,rawValue:e,timeUnit:t,domain:[A[0],A[1]],displayDomain:[Di(A[0],t),Di(A[1],t)]}):function(e,A){if(!Number.isFinite(e))return String(e);const t=Math.abs(A[1]-A[0]),i=Number.isFinite(t)&&t>0?Math.max(0,Math.ceil(-Math.log10(t))+1):0,n=e=>Number(e.toPrecision(15)),a=t>=1||0===t?Math.max(i,Math.min(6,(e=>{const A=String(n(e));return A.includes("e")?6:A.split(".")[1]?.length??0})(e))):i,o=e=>{const A=Number(n(e).toFixed(Math.min(6,a)));return Math.abs(A)>=1e21?A.toLocaleString("en-US",{useGrouping:!1,maximumFractionDigits:6}):String(A)};if(a<=6&&(0===e||0!==Number(o(e)))&&(0===t||o(A[0])!==o(A[1])))return o(e);for(let r=2;r<=17;r++){const i=e=>{const[A,t]=e.toExponential(r-1).split("e");return`${Number(A)}e${t}`};if(0===t||i(A[0])!==i(A[1]))return i(e)}return e.toExponential(16)}(a,[Di(A[0],t),Di(A[1],t)])}function Fi(e,A,t){return Ni(e,A,t,"end")}function Gi(e,A,t){return Ni(e,t??[e,e],A,"tick")}function Yi(e,A){return bi(Di(e,A))}function Si(e,A,t){if(e<=0)return{gap:0,axisBand:0,height:0};const i="compact"===A?0:"separated"===A?16:14,n="independent"===A?30:0,a=(e-1)*(i+n),o=.45*t,r=a>o?o/a:1,s=i*r,l=n*r;return{gap:s,axisBand:l,height:Math.max(1,(t-(e-1)*(s+l))/e)}}function Ji(e,A,t){return Math.min(Math.max(e,A),t)}function Ri(e){if(e&&Number.isFinite(e[0])&&Number.isFinite(e[1])&&e[0]!==e[1])return e[0]<e[1]?[e[0],e[1]]:[e[1],e[0]]}function Ti(e,A){return Ri(A?.[e.id])}function Zi(e,A,t){return Ri(t?.[e.id])??Ri(A)}function Ui(e,A=5,t=!0,i){if(!t){const t="number"==typeof A&&Number.isFinite(A)?Math.max(2,Math.floor(A)):5,[i,n]=e;return{domain:e,values:Array.from({length:t},(e,A)=>i+(n-i)*A/(t-1))}}const n=function(e,A=5){const t=function(e,A,t=5){if(!Number.isFinite(e)||!Number.isFinite(A))return{niceMin:0,niceMax:1,tickSpacing:1,ticks:[0,1]};if(e===A){if(0===e)return{niceMin:-1,niceMax:1,tickSpacing:.5,ticks:[-1,-.5,0,.5,1]};const A=e,t=.2*Math.abs(A);return{niceMin:A-t,niceMax:A+t,tickSpacing:t,ticks:[A-t,A,A+t]}}e>A&&([e,A]=[A,e]);const i=function(e){if(0===e)return 0;const A=Math.floor(Math.log10(Math.abs(e))),t=Math.abs(e)/Math.pow(10,A);let i;return i=t<1.5?1:t<3?2:t<7?5:10,i*Math.pow(10,A)*Math.sign(e)}((A-e)/Math.max(1,t-1)),n=Math.floor(e/i)*i,a=Math.ceil(A/i)*i,o=[],r=Math.round((a-n)/i)+1;if(r>100){const i=Math.min(t+2,10),n=(A-e)/(i-1);for(let A=0;A<i;A++)o.push(e+n*A);return{niceMin:e,niceMax:A,tickSpacing:n,ticks:o}}for(let s=0;s<r;s++){const e=n+i*s,A=Math.max(0,1-Math.floor(Math.log10(Math.abs(i)))),t=Number(e.toFixed(A));o.push(t)}return{niceMin:Math.min(e,o[0]??n),niceMax:Math.max(A,o.at(-1)??a),tickSpacing:i,ticks:o}}(e[0],e[1],A);return{domain:[t.niceMin,t.niceMax],values:t.ticks}}(e,A);if(!i)return n;const a=[i.lower??n.domain[0],i.upper??n.domain[1]];return{domain:a,values:n.values.filter(e=>e>=a[0]&&e<=a[1])}}function Li(e){if(!e)return;const A=Number.isFinite(e.lower)?e.lower:void 0,t=Number.isFinite(e.upper)?e.upper:void 0;return void 0===A&&void 0===t||void 0!==A&&void 0!==t&&A>=t?void 0:{lower:A,upper:t}}function ji(e){const A=e?.fontSize;return"number"==typeof A&&Number.isFinite(A)&&A>0?A:12}function Oi(e){return ji(e)+8}var Wi,Xi=1e3;function Hi(e,A,t=!1){if(t&&!A.includeExplicit)return[...e];if("integer-ms"===A.type){const A=e[0]*Xi,t=e[1]*Xi;if(!Number.isSafeInteger(Math.ceil(Math.abs(A)))||!Number.isSafeInteger(Math.ceil(Math.abs(t)))||t-A<1)return[...e];const i=t-A>=100?Math.max(10,Me(A,t,10)/10):1;return[Math.floor(A/i)*i/Xi,Math.ceil(t/i)*i/Xi]}if("nice"!==A.type)return[...e];const i=fe().domain(e).nice((n=A.tickCount,!Number.isFinite(n)||(n??0)<1?10:Math.max(1,Math.trunc(n)))).domain();var n;return"end"===A.bounds?[e[0],i[1]]:i}function Vi(e,A){const t=e.seriesList[0],i=e.tickValues.map(i=>{const n=rn(i,e.scale.domain(),e.tickValues,!1===A.showUnits?void 0:t?.unit);return A.measureTextWidth?.(n)??7*n.length});return Math.max(7,...i)+7+Oi(A.labelTextStyle)/2}function zi(e){void 0===Wi&&(Wi="undefined"!=typeof document&&"undefined"!=typeof CanvasRenderingContext2D?document.createElement("canvas").getContext("2d"):null)&&(Wi.font="700 11px sans-serif");const A=Wi?Wi.measureText(e).width:[...e].reduce((e,A)=>e+(/[0-9]/.test(A)?6.2:"."===A?3.1:7),0);return Math.ceil(A)}var Pi=3e3;function qi(e,A,t=0){const[i,n]=e;if(!Number.isFinite(i)||!Number.isFinite(n))return[];if(i===n)return Ki([i],i,n);if(i>n)return qi([n,i],A,t).reverse();const a=Number.isFinite(A)?Math.max(1,Math.round(A)):5,o=(n-i)/a,r=10**Math.floor(Math.log10(o)),s=o/r,l=Math.max((s<1.5?1:s<2.5?2:s<4?3:s<7?5:10)*r,t),g=Math.max(0,2-Math.floor(Math.log10(l))),c=()=>function(e,A,t){const i=fe().domain([e,A]);let n=Math.min(t,Pi);for(;;){const t=Ki(i.ticks(n),e,A);if(t.length<=Pi)return t;n=Math.max(1,Math.floor(n/2))}}(i,n,a);if(!Number.isFinite(l)||l<=0||g>100)return c();const I=Math.ceil(_i(i/l)),d=Math.floor(_i(n/l));if(!Number.isSafeInteger(I)||!Number.isSafeInteger(d))return c();if(d-I+1>Pi)return c();const u=[];for(let h=I;h<=d;h++){const e=Number((h*l).toFixed(g));if(u.length&&e<=u[u.length-1])return c();u.push(e)}return Ki(u,i,n)}function Ki(e,A,t){return[...new Set(e.filter(e=>Number.isFinite(e)&&e>=A&&e<=t).map(e=>0===e?0:e))].sort((e,A)=>e-A)}function _i(e){const A=Math.round(e);return Math.abs(e-A)<=Number.EPSILON*Math.max(1,Math.abs(e))*4?A:e}function $i(e){const A=Math.round(e);return Math.abs(e-A)<=Number.EPSILON*Math.max(1,Math.abs(e))*16?A:e}function en(e,A){const t="s"===A.timeUnit?1:1e3;return[$i(e[0]*t),$i(e[1]*t)]}function An(e,A){if(!A.integerZoom)return e;const t="s"===A.timeUnit?1:1e3,i=$i(Math.min(e[0],e[1])*t),n=$i(Math.max(e[0],e[1])*t);if(!Number.isSafeInteger(Math.floor(i))||!Number.isSafeInteger(Math.ceil(n)))return e;if(n>i&&n-i<1)return[i/t,n/t];const a=Math.floor(i);return[a/t,Math.max(a+1,Math.ceil(n))/t]}function tn(e,A){if(!A.integerZoom)return e;const t="s"===A.timeUnit?1:1e3;return en(e,A).map(e=>e/t)}var nn=7;function an(e,A){return"number"==typeof A&&Number.isFinite(A)?Math.max(2,Math.floor(A)):5}function on(e,A,t,i,n="left"){const a=Math.max(...t),o="right"===n&&e===a,r=function(e,A={}){if(!Number.isFinite(e))return String(e);const t=wi(A.axisMin,A.axisMax),i=function(e){if(Object.is(e,-0))return"0";const A=0===e?0:Number(e.toPrecision(5)),t=yi.format(A);return"-0"===t?"0":t}(null===t?e:e/10**t);if(e!==(A.topTickValue??A.axisMax))return i;const n=A.unit?.trim(),a=null===t&&n?`(${n}) `:"";return`${null===t?"":`${xi(t)} `}${a}${i}`}(e,{axisMin:A[0],axisMax:A[1],topTickValue:o?NaN:a,unit:o?void 0:i});if(o){const e=i?.trim(),t=ki(...A);return[r,t,!t&&e?`(${e})`:null].filter(Boolean).join(" ")}return r}function rn(e,A,t,i){const n=on(e,A,t,i),a=ki(A[0],A[1]);return a&&n.startsWith(`${a} `)?n.slice(a.length+1):n}var sn=/* @__PURE__ */new WeakMap;function ln(e,A){let t=sn.get(e);t||(t=/* @__PURE__ */new Map,sn.set(e,t));const i=t.get(A);if(i)return i;const n="multi-axis"===A?Math.min(e.visibleSeries.length,4):Math.min(e.visibleSeries.length,1),a=function(e){return e>=4?["left","left","right","right"]:3===e?["left","right","right"]:2===e?["left","right"]:["left"]}(n),o=Array.from({length:n},(e,A)=>({index:A,side:a[A],seriesList:[],domain:[0,1],fixed:!1}));return e.visibleSeries.forEach((e,A)=>{o[Math.min(A,n-1)]?.seriesList.push(e)}),o.forEach(t=>{if("single-axis"===A)t.domain=e.yDomain;else{const A=t.seriesList.flatMap(e=>e.yDomain);t.domain=A.length>0?pi(A):e.yDomain}}),t.set(A,o),o}function gn(e,A,t,i,n,a,o){const r=n?.[e.id],s=e.visibleSeries.length||!e.series.length?e:{...e,visibleSeries:e.series};return function(e,A,t,i){const n=Ti(e,i);return ln(e,A).map(e=>{if(n)return{...e,domain:n,fixed:!0};const A=e.seriesList.map(e=>Zi(e,t,i)??e.yDomain),a=e.seriesList.some(e=>Zi(e,t,i));return a?{...e,domain:(o=A,[Math.min(...o.map(e=>e[0])),Math.max(...o.map(e=>e[1]))]),fixed:a}:e;var o})}(s,A,t,i).map(t=>{const i=function(e,A){const t=e.flatMap(e=>{const t=Li(A?.[e.id]);return t?[t]:[]}),i=t.flatMap(e=>void 0===e.lower?[]:[e.lower]),n=t.flatMap(e=>void 0===e.upper?[]:[e.upper]);return Li({lower:i.length?Math.min(...i):void 0,upper:n.length?Math.max(...n):void 0})}(t.seriesList,o),n=i?ln(s,A)[t.index]:t,l=function(e,A,t){const i="number"==typeof t?{upperPaddingRatio:t}:t;if(e.fixed)return mi(e,i);const n=Qi(i?.upperPaddingEnabled,i?.upperPaddingRatio),a=Qi(i?.lowerPaddingEnabled,i?.lowerPaddingRatio),[o,r]=e.domain,s=r-o,l=a>0?o-s*a:o,g=n>0?r+s*n:r;return mi({...e,domain:A??[Number.isFinite(l)?l:o,Number.isFinite(g)?g:r]},i)}(n,i?void 0:r,a);return i&&(l.domain=function(e,A,t=e){let i=A.lower??e[0],n=A.upper??e[1];if(i>=n){const e=A.lower??A.upper,a=Math.max(t[1]-t[0],.1*Math.abs(e),1);void 0!==A.lower?n=i+a:i=n-a}return[i,n]}(l.domain,i,n.domain),l.amplitudeLimit=i),e.visibleSeries.length?l:{...l,maximumTick:void 0,minimumTick:void 0}})}function cn(e,A=!0,t,i,n=5,a=!1,o,r,s,l){const g=t?{domain:e,values:t}:Ui(e,n,A,l),c=e=>void 0!==e&&e>=g.domain[0]&&e<=g.domain[1]?e:void 0,I=[Bi(g.values,c(r),c(s))];a&&g.values.length>1&&I.push(g.values.slice(0,-1));const d=e=>o?o(e):e.length*nn,u=I.flatMap(e=>e.map(A=>({full:d(on(A,g.domain,e,i)),title:d(rn(A,g.domain,e,i))})));return a&&I[0].forEach(e=>{u.push({full:d(on(e,g.domain,[e],i)),title:d(rn(e,g.domain,[e],i))})}),{tickTextWidth:Math.max(nn,...u.map(e=>e.full)),titleTextWidth:Math.max(nn,...u.map(e=>e.title))}}var In=/* @__PURE__ */new WeakMap;function dn(e,A,t){const i=null===t?null:String(t);e.getAttribute(A)!==i&&(null===i?e.removeAttribute(A):e.setAttribute(A,i))}function un(e,A,t,i,n,a){const o=t.range(),r=In.get(e),s=ye(e);if(!r||r.ticks!==i||r.orientation!==n||o.some((e,A)=>e!==r.range[A]))s.call(A),In.set(e,{ticks:i,range:o,orientation:n});else{const e="bottom"===n,i=A.offset();s.selectAll(".tick").each(function(A){dn(this,"transform",e?`translate(${t(A)+i},0)`:`translate(0,${t(A)+i})`)}).select("text").each(function(e){const A=a(e);this.textContent!==A&&(this.textContent=A)})}}function hn(e,A){return e.left<A.right&&A.left<e.right&&e.top<A.bottom+4&&A.top<e.bottom+4}function Cn(e,A,t=1,i=1){return Math.abs(e-A)<(t+i)/2+1}function Qn(e){dn(e,"display","none"),dn(e,"data-maximum-hidden","true")}var mn=/* @__PURE__ */new WeakSet;function Bn(e){e.querySelectorAll("text[data-axis-maximum-label]").forEach(e=>{const A=e.parentElement.parentElement,t=[...A.querySelectorAll(".tick text")],i=e=>Number(e.parentElement.getAttribute("data-tick-value")),n=t.filter(e=>"none"!==e.getAttribute("display")).map(i),a=[Number(A.getAttribute("data-label-domain-min")),Number(A.getAttribute("data-label-domain-max"))];t.forEach(e=>{const t=on(i(e),a,n,A.getAttribute("data-label-unit")??void 0,"right"===A.getAttribute("data-y-axis-side")?"right":"left");e.textContent!==t&&(e.textContent=t)})})}function En(e){e.querySelectorAll("[data-maximum-hidden]").forEach(e=>{dn(e,"display",null),dn(e,"data-maximum-hidden",null)}),e.querySelectorAll(".waveform-track__axis--y .tick text").forEach(e=>{dn(e,"display",null)}),Bn(e);const A=/* @__PURE__ */new Map,t=/* @__PURE__ */new Map,i=e=>(A.has(e)||A.set(e,function(e){const A=e.getBoundingClientRect();if(A.width&&A.height)return A;const t=Number.parseFloat(getComputedStyle(e).fontSize)||11,i=(e.textContent?.length??0)*t*.65;let n=Number(e.getAttribute("x"))||0,a=Number(e.getAttribute("y"))||0;for(let r=e.parentElement;r;r=r.parentElement){const e=r.getAttribute("transform")?.match(/translate\(([-\d.e+]+)[ ,]+([-\d.e+]+)\)/);e&&(n+=Number(e[1]),a+=Number(e[2]))}const o="start"===e.getAttribute("text-anchor");return{left:o?n:n-i,right:o?n+i:n,top:a-t/2,bottom:a+t/2}}(e)),A.get(e)),n=e=>(t.has(e)||t.set(e,function(e){return Number.parseFloat(getComputedStyle(e).strokeWidth)||1}(e)),t.get(e)),a=[...e.querySelectorAll("text[data-axis-minimum-label]")];e.querySelectorAll("text[data-axis-maximum-label]").forEach(e=>{const A=i(e);a.some(e=>hn(A,i(e)))&&Qn(e)}),e.querySelectorAll(".waveform-track__axis--y .tick").forEach(e=>{const A=Number(e.getAttribute("data-tick-y")),t=Number(e.closest(".waveform-track")?.getAttribute("data-track-height")),i=e.querySelector("line");i&&dn(i,"display",Ei(A,0)||Ei(A,t)?"none":null)});const o=[...e.querySelectorAll(".tick[data-minimum-tick]")],r=[...e.querySelectorAll(".tick[data-maximum-tick]")],s=[...e.querySelectorAll(".waveform-track__axis--y .tick text")];o.forEach(e=>{const A=e.querySelector("text");A&&r.forEach(e=>{const t=e.querySelector("text");t&&t!==A&&hn(i(A),i(t))&&Qn(t)})}),[.../* @__PURE__ */new Set([...o,...r])].forEach(e=>{const A=e.querySelector("text"),t=e.querySelector("line");if(!A||!t)return;const a=i(A);s.forEach(t=>{"none"!==A.getAttribute("display")&&"none"!==t.getAttribute("display")&&(t.parentElement?.matches("[data-minimum-tick], [data-maximum-tick]")||!e.hasAttribute("data-minimum-tick")&&t.hasAttribute("data-axis-minimum-label")||hn(a,i(t))&&Qn(t))});const o=e.parentElement,r=Number(e.getAttribute("data-tick-value")),l=Number(e.getAttribute("data-tick-y"));o.querySelectorAll(".tick:not([data-maximum-tick]):not([data-minimum-tick])").forEach(e=>{const A=e.querySelector("line");A&&Cn(l,Number(e.getAttribute("data-tick-y")),n(t),n(A))&&Qn(A)}),"0"===o.getAttribute("data-y-axis-index")&&(o.closest(".waveform-track").querySelectorAll('[data-grid-direction="horizontal"]').forEach(e=>{const A=Number(e.getAttribute("y1"));Cn(l,A,n(t),n(e))&&Qn(e)}),e.hasAttribute("data-maximum-tick")&&dn(e,"data-maximum-value",r),e.hasAttribute("data-minimum-tick")&&dn(e,"data-minimum-value",r))}),Bn(e)}var pn="http://www.w3.org/2000/svg";function fn(e,A={}){const t=document.createElementNS("http://www.w3.org/2000/svg",e);return Object.entries(A).forEach(([e,A])=>t.setAttribute(e,String(A))),t}var yn=["fill","fill-opacity","stroke","stroke-width","stroke-opacity","stroke-dasharray","stroke-linecap","stroke-linejoin","opacity","font-family","font-size","font-weight","font-style","text-decoration","letter-spacing","text-anchor","dominant-baseline","visibility","display"];function vn(e,A){const t=[e,...e.querySelectorAll("*")],i=[A,...A.querySelectorAll("*")];t.forEach((e,A)=>{const t=i[A],n=getComputedStyle(e);yn.forEach(e=>{const A=n.getPropertyValue(e);A&&t.style.setProperty(e,A)});for(const i of["clip-path","mask","filter"]){const e=t.getAttribute(i);e?.includes("#")&&t.setAttribute(i,`url(#${e.split("#")[1].replace(/[)'"].*$/,"")})`)}})}function wn(e){return Object.assign(new Error({"export-invalid-options":"图片导出参数无效","export-unavailable":"图表尚未具备有效尺寸","export-busy":"已有导出正在执行","export-cancelled":"图表已卸载,导出取消","export-render-failed":"图片编码失败","export-stale":"图表已变化,请重新导出","export-timeout":"等待图表稳定超时,请重试"}[e]),{code:e})}var xn=/* @__PURE__ */new WeakMap;function kn(e){return e[0]<=e[1]?[...e]:[e[1],e[0]]}function bn(e){return Number.isFinite(e)&&(e??0)>0?Math.ceil(e):0}function Mn(e,A){const t=`${A[0]}\0${A[1]}`,i=xn.get(e)?.get(t);if(i)return i;const n=/* @__PURE__ */new Set;for(const r of e){const e=r.source??JA(r.points);for(let t=0;t<e.length;t+=1){const i=e.pointAt(t);i.x>=A[0]&&i.x<=A[1]&&n.add(i.x)}}const a=Array.from(n).sort((e,A)=>e-A),o=xn.get(e)??/* @__PURE__ */new Map;return o.set(t,a),xn.set(e,o),a}function Dn(e,A,t){const i=kn(e),n=i[1]-i[0];if(!Number.isFinite(n)||n<=0)return 0;const a=Number.isFinite(t.minZoomSpan)&&(t.minZoomSpan??0)>0?Math.min(n,t.minZoomSpan):0,o=bn(t.minVisiblePoints),r=function(e,A,t){if(t<=1)return 0;let i=0;for(const n of e){const e=Mn(n,A);if(e.length<t)return A[1]-A[0];let a=Number.POSITIVE_INFINITY;for(let A=0;A+t<=e.length;A+=1)a=Math.min(a,e[A+t-1]-e[A]);const o=Number.EPSILON*Math.max(1,Math.abs(A[0]),Math.abs(A[1]))*16;i=Math.max(i,a+o)}return i}(A,i,o),s=Number(t.maxZoomScale),l=Number.isFinite(s)&&s>=1?n/s:null!==t.maxZoomScale&&0===a&&0===o?n/40:0;return Math.max(a,r,l)}function Nn(e,A,t,i){const n=kn(A),a=n[1]-n[0];if(!Number.isFinite(a)||a<=0)return n;if(Math.abs(e[1]-e[0])>=.999999999999*a)return n;const o=function(e,A,t,i){if(i<=0)return e;const n=Number.EPSILON*Math.max(1,Math.abs(A[0]),Math.abs(A[1]))*16;let a=e;for(const o of t){const e=Mn(o,A);if(e.length<i)return[...A];if(e.filter(e=>e>=a[0]&&e<=a[1]).length>=i)continue;let t,r=Number.POSITIVE_INFINITY,s=Number.POSITIVE_INFINITY;const l=(a[0]+a[1])/2;for(let o=0;o+i<=e.length;o+=1){const g=[Math.max(A[0],Math.min(a[0],e[o]-n)),Math.min(A[1],Math.max(a[1],e[o+i-1]+n))],c=g[1]-g[0],I=Math.abs((g[0]+g[1])/2-l);(c<r||c===r&&I<s)&&(t=g,r=c,s=I)}a=t??[...A]}return a}([Math.max(n[0],Math.min(e[0],e[1])),Math.min(n[1],Math.max(e[0],e[1]))],n,t,bn(i.minVisiblePoints)),r=Dn(n,t,i),s=Math.max(r,Math.min(a,o[1]-o[0])),l=(o[0]+o[1])/2,g=Math.max(n[0],Math.min(l-s/2,n[1]-s)),c=An([g,g+s],i);return[Math.max(n[0],c[0]),Math.min(n[1],c[1])]}function Fn(e,A,t){const i=A[1]-A[0],n=e[1]-e[0];if(!Number.isFinite(i)||!Number.isFinite(n)||i<=0||n<=0)return De;const a=i/n,o=fe(A,[0,t]);return De.translate(-a*o(e[0]),0).scale(a)}function Gn(e,A){const t=e[1]-e[0];return t>=A[1]-A[0]?[...A]:e[0]<A[0]?[A[0],A[0]+t]:e[1]>A[1]?[A[1]-t,A[1]]:e}function Yn(e){const A=e.panXDomain;return A&&A.every(Number.isFinite)&&A[0]<A[1]?A:void 0}function Sn(e,A,t,i){const n=Yn(i);return n?Gn(e,n):tn(Nn(e,A,t,{...i,integerZoom:!1}),i)}function Jn(e,A,t,i){const n=Yn(i);if(!n)return Nn(e,A,t,i);const a=t.filter(e=>function(e,A,t){if(!Number.isFinite(t)||t<=0)return!0;const i=Math.ceil(t),n=/* @__PURE__ */new Set;for(const a of e){const e=a.source??JA(a.points),t=e.visibleRange(A);for(let A=t.start;A<t.end;A+=1)if(n.add(e.pointAt(A).x),n.size>=i)return!0}return!1}(e,n,i.minVisiblePoints));return Nn(e,n,a.filter(A=>A.some(A=>{const t=A.source,i=t?.length??A.points.length;if(!i)return!1;const n=t?t.pointAt(0):A.points[0],a=t?t.pointAt(i-1):A.points[i-1];return n.x<=Math.max(...e)&&a.x>=Math.min(...e)})),{...i,maxZoomScale:null,minZoomSpan:Dn(A,a,i)})}var Rn=(e,A)=>e.every((e,t)=>Math.abs(e-A[t])<1e-12);function Tn(e,A,t,i,n,a=.5){const[o,r]=e,s=Math.max(0,Math.min(1,a)),l=o+(r-o)*s,g=(r-o)*("zoom-in"===A?.5:2),c=Jn(tn([l-g*s,l+g*(1-s)],n),t,i,n);return"zoom-in"===A&&c[1]-c[0]>r-o?[...e]:c}var Zn=Rn,Un=["data-annotation-id","data-placement","data-leaving","opacity","onPointerdown","onContextmenu"],Ln=["id"],jn=["fill"],On=["x1","y1","x2","y2","stroke","marker-end"],Wn=["transform"],Xn=["x","y","width","height","fill","stroke"],Hn=["x","y","fill"],Vn=["x","dy"],zn=/*@__PURE__*/l({__name:"WaveformAnnotationLayer",props:{annotations:{},visible:{type:Boolean},interactive:{type:Boolean,default:!0},cancelKey:{},dataVersion:{}},emits:["contextmenu","drag-start","move","drag-end"],setup(t,{emit:o}){const r=t,s=o,l=p(/* @__PURE__ */new Map),g=p(null);let c=null,I=null,C=0;const Q=A(()=>{const e=/* @__PURE__ */new Map;return r.annotations.forEach(A=>{const t=l.value.get(A.annotation.id);t?e.set(A.annotation.id,{...A.box,x:A.box.x+t.x,y:A.box.y+t.y,lineEndX:A.box.lineEndX+t.x,lineEndY:A.box.lineEndY+t.y}):e.set(A.annotation.id,A.box)}),e});function m(e){return Q.value.get(e.annotation.id)??e.box}function E(){I=null,c&&(l.value=new Map(l.value).set(c.annotationId,{x:c.deltaX,y:c.deltaY}))}function y(e){if(!r.interactive)return;if(e.stopPropagation(),!c||e.pointerId!==c.pointerId)return;const A=e.clientX-c.startX,t=e.clientY-c.startY;c.deltaX=A,c.deltaY=t,c.moved=c.moved||Math.hypot(A,t)>=2,c.moved&&null===I&&(I=requestAnimationFrame(E))}function v(e){if(!r.interactive)return;if(e.preventDefault(),e.stopPropagation(),!c||e.pointerId!==c.pointerId)return;const A=c,t=e.clientX-A.startX,i=e.clientY-A.startY;if(A.deltaX=t,A.deltaY=i,A.moved=Math.hypot(t,i)>=2,A.moved=A.moved||Math.hypot(t,i)>=2,null!==I&&(cancelAnimationFrame(I),I=null),A.moved){l.value=new Map(l.value).set(A.annotationId,{x:A.deltaX,y:A.deltaY});const t=A.initialOffsetX+A.deltaX,i=A.initialOffsetY+A.deltaY;g.value={annotationId:A.annotationId,x:t,y:i},c=null,C=e.timeStamp,s("move",A.annotationId,t,i)}else c=null;A.target.hasPointerCapture(A.pointerId)&&A.target.releasePointerCapture(A.pointerId),s("drag-end",!1)}function w(e){e.preventDefault(),e.stopPropagation(),c&&e.pointerId===c.pointerId&&k()}function k(){if(!c)return;const e=c;c=null,l.value=new Map(l.value).set(e.annotationId,{x:0,y:0}),null!==I&&(cancelAnimationFrame(I),I=null),e.target.hasPointerCapture(e.pointerId)&&e.target.releasePointerCapture(e.pointerId),s("drag-end",!0)}function M(e){const A=e.animationStyle;if(!A)return;const t=m(e),i=t.x+t.width/2,n=t.y+t.height/2;return`translate(${i},${n+A.offsetY}) scale(${A.scale}) translate(${-i},${-n})`}function D(e){return`waveform-annotation-arrow-${e.replace(/[^a-zA-Z0-9_-]/g,"-")}`}return N(()=>r.annotations,e=>{const A=g.value;if(!A)return;const t=e.find(e=>e.annotation.id===A.annotationId);if(!t)return;const i=Number.isFinite(t.annotation.labelOffsetX)?t.annotation.labelOffsetX:0,n=Number.isFinite(t.annotation.labelOffsetY)?t.annotation.labelOffsetY:0;i===A.x&&n===A.y&&(l.value=new Map(l.value).set(A.annotationId,{x:0,y:0}),g.value=null)}),N(()=>r.interactive,e=>{e||k()}),N([()=>r.cancelKey,()=>r.dataVersion,()=>r.visible],k),h(k),(A,t)=>r.visible?(B(),n("g",{key:0,class:d(["waveform-annotation-layer",{"waveform-annotation-layer--interactive":r.interactive}])},[(B(!0),n(e,null,f(r.annotations,A=>(B(),n("g",{key:A.annotation.id,class:"waveform-annotation","data-annotation-id":A.annotation.id,"data-placement":A.placement,"data-leaving":A.leaving||void 0,style:u(A.leaving?{pointerEvents:"none"}:void 0),opacity:(A.animationStyle?.opacity??1)*(A.seriesOpacity??1),onPointerdown:e=>function(e,A){if(e.leaving||!r.interactive||0!==A.button||c)return;A.preventDefault(),A.stopPropagation();const t=A.currentTarget;if(!t||"function"!=typeof t.setPointerCapture)return;t.setPointerCapture(A.pointerId),s("drag-start");const i=l.value.get(e.annotation.id),n=(Number.isFinite(e.annotation.labelOffsetX)?e.annotation.labelOffsetX:0)+(i?.x??0),a=(Number.isFinite(e.annotation.labelOffsetY)?e.annotation.labelOffsetY:0)+(i?.y??0);c={annotationId:e.annotation.id,pointerId:A.pointerId,startX:A.clientX,startY:A.clientY,deltaX:0,deltaY:0,initialOffsetX:n,initialOffsetY:a,moved:!1,target:t}}(A,e),onPointermove:y,onPointerup:v,onPointercancel:w,onContextmenu:e=>{return t=A.annotation.id,i=e,void(r.interactive&&(i.preventDefault(),i.stopPropagation(),i.timeStamp-C<100||s("contextmenu",t,i)));var t,i}},[a("defs",null,[a("marker",{id:D(A.annotation.id),markerWidth:"8",markerHeight:"8",refX:"8",refY:"4",orient:"auto",markerUnits:"userSpaceOnUse"},[a("path",{d:"M0,0 L8,4 L0,8 Z",fill:A.style.borderColor},null,8,jn)],8,Ln)]),a("line",{class:"waveform-annotation__arrow",x1:m(A).lineEndX,y1:m(A).lineEndY,x2:A.anchorX,y2:A.anchorY,stroke:A.style.borderColor,"marker-end":`url(#${D(A.annotation.id)})`},null,8,On),a("g",{transform:M(A)},[a("rect",{class:"waveform-annotation__box",x:m(A).x,y:m(A).y,width:m(A).width,height:m(A).height,fill:A.style.backgroundColor,stroke:A.style.borderColor},null,8,Xn),a("text",{class:"waveform-annotation__text",x:m(A).x+m(A).width/2,y:m(A).y+m(A).height/2-(A.lines.length-1)*b(16)/2,fill:A.style.textColor,style:u({font:b(Kt)}),"text-anchor":"middle","dominant-baseline":"central"},[(B(!0),n(e,null,f(A.lines,(e,t)=>(B(),n("tspan",{key:`${A.annotation.id}-${t}`,x:m(A).x+m(A).width/2,dy:0===t?0:b(16)},x(e),9,Vn))),128))],12,Hn)],8,Wn)],44,Un))),128))],2)):i("",!0)}}),Pn=(e,A)=>{const t=e.__vccOpts||e;for(const[i,n]of A)t[i]=n;return t},qn=/*#__PURE__*/Pn(zn,[["__scopeId","data-v-9a192dab"]]),Kn=/*#__PURE__*/Pn(/*@__PURE__*/l({__name:"WaveformAnnotationContextMenu",props:{visible:{type:Boolean},x:{},y:{},canEdit:{type:Boolean}},emits:["edit","delete","close"],setup(e,{emit:A}){const t=e,o=A;return(e,A)=>t.visible&&t.canEdit?(B(),n("div",{key:0,class:"waveform-annotation-context-menu",style:u({left:`${t.x}px`,top:`${t.y}px`}),role:"menu",onContextmenu:A[3]||(A[3]=J(()=>{},["prevent"]))},[a("button",{type:"button",role:"menuitem",onClick:A[0]||(A[0]=e=>o("edit"))},"编辑标注"),a("button",{type:"button",role:"menuitem",onClick:A[1]||(A[1]=e=>o("delete"))},"删除标注"),a("button",{type:"button",role:"menuitem",onClick:A[2]||(A[2]=e=>o("close"))},"取消")],36)):i("",!0)}}),[["__scopeId","data-v-c70c98a1"]]);function _n(e){throw new TypeError(`Invalid waveform annotation file: ${e}`)}function $n(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)}function ea(e,A,t){const i=e[A];return"string"==typeof i&&0!==i.trim().length||_n(`${t}.${A} must be a non-empty string`),i}function Aa(e,A,t){const i=e[A];if(void 0!==i)return"string"!=typeof i&&_n(`${t}.${A} must be a string`),i}function ta(e,A,t){const i=e[A];return"number"==typeof i&&Number.isFinite(i)||_n(`${t}.${A} must be a finite number`),i}function ia(e,A,t){const i=e[A];if(void 0!==i)return"number"==typeof i&&Number.isFinite(i)||_n(`${t}.${A} must be a finite number`),i}function na(e,A){const t=`annotations[${A}]`;$n(e)||_n(`${t} must be an object`);const i=ea(e,"text",t);i.length>40&&_n(`${t}.text must not exceed 40 characters`);const n=ia(e,"labelOffsetX",t),a=ia(e,"labelOffsetY",t),o=Aa(e,"createdAt",t),r=function(e,A){if(void 0===e)return;$n(e)||_n(`${A} must be an object`);const t=Aa(e,"borderColor",A),i=Aa(e,"textColor",A),n=Aa(e,"backgroundColor",A);return{...void 0!==t&&{borderColor:t},...void 0!==i&&{textColor:i},...void 0!==n&&{backgroundColor:n}}}(e.style,`${t}.style`);return{id:ea(e,"id",t),seriesId:ea(e,"seriesId",t),x:ta(e,"x",t),y:ta(e,"y",t),text:i,...void 0!==n&&{labelOffsetX:n},...void 0!==a&&{labelOffsetY:a},...void 0!==r&&{style:r},...void 0!==o&&{createdAt:o}}}function aa(e){const A=e.map(na),t=/* @__PURE__ */new Set;return A.forEach((e,A)=>{t.has(e.id)&&_n(`annotations[${A}].id must be unique`),t.add(e.id)}),A}function oa(e){return JSON.stringify({version:1,annotations:aa(e)},null,2)}function ra(e){let A;"string"!=typeof e&&_n("input must be a JSON string");try{A=JSON.parse(e)}catch{_n("input is not valid JSON")}return $n(A)||_n("root must be an object"),1!==A.version&&_n("version must be 1"),Array.isArray(A.annotations)||_n("annotations must be an array"),aa(A.annotations)}var sa=0;function la(){return sa+=1,"undefined"!=typeof crypto&&"function"==typeof crypto.randomUUID?crypto.randomUUID():`annotation-${Date.now()}-${sa}`}function ga(e,A){try{e?.releasePointerCapture?.(A)}catch{}}function ca(e,A){return{...e,...A}}function Ia(e){return{state:e,accepted:!1,completed:null}}function da(e,A){switch(A.type){case"begin":return e?Ia(e):{state:(t=A.gesture,{...t,currentX:t.startX,currentY:t.startY,xDomain:[...t.xDomain],yDomains:Object.fromEntries(Object.entries(t.yDomains).map(([e,A])=>[e,[...A]]))}),accepted:!0,completed:null};case"move":return e&&e.pointerId===A.pointerId?{state:ca(e,A.position),accepted:!0,completed:null}:Ia(e);case"finish":return e&&e.pointerId===A.pointerId?{state:null,accepted:!0,completed:ca(e,A.position)}:Ia(e);case"cancel":return!e||void 0!==A.pointerId&&e.pointerId!==A.pointerId?Ia(e):{state:null,accepted:!0,completed:null};case"reset":return{state:null,accepted:!0,completed:null}}var t}function ua(e){return(A,t)=>{if(Number.isFinite(A[0])&&Number.isFinite(A[1])&&A[0]!==A[1]){if(e.cancelPendingZoom(),e.cancelViewportDrag(),"independent"===e.props.displayMode){const i=void 0===t?e.trackLayouts.value.map(e=>e.index):[t],n=[...e.independentTransforms.value];i.forEach(t=>{const i=e.trackLayouts.value.find(e=>e.index===t);if(!i)return;const a=e.resolveInitialTrackDomain(i),o=Jn(A,a,[i.seriesList],e.props);n[t]=Fn(o,a,i.width)}),e.independentTransforms.value=n}else{const t=e.initialXDomain.value,i=Jn(A,t,e.trackLayouts.value.filter(e=>e.hasVisibleSeries).map(e=>e.seriesList),e.props);e.sharedTransform.value=Fn(i,t,e.innerWidth.value)}e.clearHover(),e.editorSeriesOptions.value=[],I(e.configureZoom)}}}function ha(e){return[...e].sort().join("\0")}function Ca(e,A){const t=ha(A);return e.find(e=>ha(e.seriesList.map(e=>e.id))===t)}function Qa(){let e=null,A=null;return{schedule:function(t){A=t,null===e&&(e=requestAnimationFrame(()=>{e=null;const t=A;A=null,t?.()}))},cancel:function(){A=null,null!==e&&(cancelAnimationFrame(e),e=null)},flush:function(){null!==e&&(cancelAnimationFrame(e),e=null);const t=A;A=null,t?.()},isPending:function(){return null!==e}}}function ma(e,A=!1){return XA(e,A).map(({source:e,...A})=>{const t=e.metrics(A.errorBar.visible);return{...A,source:e,points:RA(e),xDomain:pi(Number.isFinite(t.xMinimum)?[t.xMinimum,t.xMaximum]:[]),yDomain:pi(Number.isFinite(t.yMinimum)?[t.yMinimum,t.yMaximum]:[]),rawYMaximum:Number.isFinite(t.yMaximum)?t.yMaximum:void 0,rawYMinimum:Number.isFinite(t.yMinimum)?t.yMinimum:void 0,hasErrorPoints:t.hasErrorPoints}})}function Ba(e){const{props:t,preparedSeries:i,currentPage:n,hiddenSeriesIdSet:a,chartWidth:o,innerHeight:r,isCleanView:s,sharedTransform:l,independentTransforms:g,sharedYDomains:c,independentYDomains:I,annotationInteraction:d,linePointOverrides:u}=e,h=t.timeUnit,C=()=>({integerZoom:t.integerZoom,timeUnit:h}),Q=A(()=>i.value.map((e,A)=>({...e,color:e.color??(0===A?t.lineColor:vA[A%vA.length])}))),m=A(()=>ci(t.grid)),B=A(()=>{const e=/* @__PURE__ */new Map;Q.value.forEach(A=>{const t=A.trackId||A.id,i=e.get(t);i?i.push(A):e.set(t,[A])});const A=m.value.trackOrder??[];return[...A,...Array.from(e.keys()).filter(e=>!A.includes(e))].map(A=>{const t=e.get(A)??[],i=t.filter(e=>!a.value.has(e.id)),n=[],o=[];return(i.length?i:t).forEach(e=>{n.push(e.xDomain[0],e.xDomain[1]),o.push(e.yDomain[0],e.yDomain[1])}),{id:A,series:t,visibleSeries:i,xDomain:n.length?pi(n):[0,1],yDomain:o.length?pi(o):[0,1]}})}),E=A(()=>"channel-label-or-legend"===t.unitDisplayMode||"legend-single-series"===t.unitDisplayMode&&!B.value.some(e=>e.series.length>1)),p=A(()=>at(t.rendering)),f=A(()=>{return e=B.value,m.value.hideEmptyTracks?e.filter(e=>e.series.length>0):e;var e}),y=A(()=>di(f.value.length,m.value)),v=A(()=>function(e,A,t){const i=di(e.length,t),n=(Math.min(i,Math.max(1,Math.floor(A)))-1)*Ii(t);return e.slice(n,n+Ii(t))}(f.value,n.value,m.value)),w=A(()=>"channel-label-or-legend"===t.unitDisplayMode&&v.value.some(e=>e.series.length>1)),x=A(()=>{const e=v.value.filter(e=>e.series.length>0);return m.value.fillIncompleteLastRow&&e.length>0?e:v.value}),k=A(()=>an(r.value,t.axes?.y?.splitNumber)),b=A(()=>function(e,A,t,i){return"independent"!==e?t:Object.fromEntries(A.flatMap((e,A)=>{const t=i[A];return t?[[e.id,t]]:[]}))}(t.displayMode,B.value,c.value,I.value)),{yAxisMetrics:M,yAxisSlots:D,resolvedChartLeftMargin:F,innerWidth:G,yAxisLayout:Y,hasVisibleWaveformData:S}=function(e){const{props:t,chartTracks:i,layoutTracks:n,chartWidth:a,gridOptions:o,viewportYDomains:r,yAxisTickCount:s}=e,l=A(()=>"edge-compact"===t.layoutPreset),g=A(()=>"channel-label"!==t.unitDisplayMode&&"channel-label-or-legend"!==t.unitDisplayMode&&(!l.value||"axis"===t.unitDisplayMode)),c=A(()=>function(e,A,t,i,n,a,o,r,s,l=!0,g,c){const I=Oi("object"==typeof s?s.labelTextStyle:void 0),d=e.filter(e=>e.series.length>0).flatMap(e=>gn(e,A,t,i,n,s,c)).map(e=>cn(e.domain,a,void 0,l?e.seriesList[0]?.unit:void 0,o,r,g,e.maximumTick,e.minimumTick,e.amplitudeLimit)),u=Math.max(7,...d.map(e=>e.tickTextWidth)),h=Math.max(7,...d.map(e=>e.titleTextWidth)),C=-(7+h+0+I/2);return{tickClearance:u+7+4,fullClearance:Math.max(u,h+0+I)+7+4,labelCenterX:C}}(i.value,t.overlayMode,t.yDomain,t.yDomains,r.value,!1!==t.axes?.y?.nice,s.value,"compact"===t.displayMode,t.axes?.y,g.value,l.value?zi:void 0,t.amplitudeLimits)),I=A(()=>i.value.some(e=>{const A=e.visibleSeries.length?e.visibleSeries:e.series;return 1===A.length&&Boolean(A[0]?.name.trim()||t.yLabel)})),d=A(()=>i.value.some(e=>e.visibleSeries.length>0)),u=A(()=>i.value.some(e=>e.series.length>0)),h=A(()=>Math.max(yA.left,I.value?c.value.fullClearance:u.value?c.value.tickClearance:0)),C=A(()=>function(e,A,t,i,n,a=!0,o=!1,r,s,l=!0,g,c){const I=Oi("object"==typeof s?s.labelTextStyle:void 0),d=/* @__PURE__ */new Map,u=/* @__PURE__ */new Map;e.forEach(e=>{const I={left:0,right:0};gn(e,A,t,i,r,s,c).forEach(e=>{const A=I[e.side]++,t=`${e.side}:${A}`,{tickTextWidth:i,titleTextWidth:r}=cn(e.domain,a,void 0,l?e.seriesList[0]?.unit:void 0,n,o,g,e.maximumTick,e.minimumTick,e.amplitudeLimit);d.set(t,Math.max(d.get(t)??nn,i)),u.set(t,Math.max(u.get(t)??nn,r))})});const h=[],C={left:0,right:0};return["left","right"].forEach(e=>{Array.from(d.keys()).filter(A=>A.startsWith(`${e}:`)).map(A=>Number(A.slice(e.length+1))).sort((e,A)=>e-A).forEach(A=>{const t=d.get(`${e}:${A}`)??nn,i=u.get(`${e}:${A}`)??nn,n="left"===e&&C.left>0?-C.left:C[e],a=n+(i+7+0+I/2)*("left"===e?-1:1),o=Math.max(t,i+0+I)+7+4;h.push({side:e,sideIndex:A,axisOffset:n,labelOffset:a,clearance:o}),C[e]+=o})}),{slots:h,clearance:C}}(n.value.filter(e=>e.series.length>0),t.overlayMode,t.yDomain,t.yDomains,s.value,!1!==t.axes?.y?.nice,"compact"===t.displayMode,r.value,t.axes?.y,g.value,l.value?zi:void 0,t.amplitudeLimits)),Q=A(()=>l.value?yA.right/4+Math.max(0,m.value-4):"multi-axis"===t.overlayMode?Math.max(h.value,C.value.clearance.left):h.value),m=A(()=>u.value?"multi-axis"===t.overlayMode||I.value?C.value.clearance.left:c.value.tickClearance:0),B=A(()=>"multi-axis"===t.overlayMode?Math.max(yA.right,C.value.clearance.right):yA.right),E=A(()=>Math.max(0,a.value-Q.value-B.value));return{yAxisMetrics:c,yAxisSlots:C,resolvedChartLeftMargin:Q,innerWidth:E,yAxisLayout:A(()=>{const e=ui(t.displayMode),A=o.value.columnCount,i=A>1,n=Math.max(e,l.value?C.value.clearance.left:c.value.fullClearance),a=Math.max(e,c.value.tickClearance),r=(E.value-n*Math.max(0,A-1))/A>=120;return{horizontalGap:"multi-axis"===t.overlayMode&&i&&u.value?Math.max(e,C.value.clearance.left+C.value.clearance.right):i&&u.value?I.value&&r?n:a:e,hideSecondaryLabels:"multi-axis"!==t.overlayMode&&i&&I.value&&!r}}),hasVisibleWaveformData:d}}({props:t,chartTracks:B,layoutTracks:x,chartWidth:o,gridOptions:m,viewportYDomains:b,yAxisTickCount:k}),J=A(()=>Q.value.length>0),R=A(()=>G.value>0&&r.value>0),T=A(()=>t.xLabel??`时间(${t.timeUnit})`),Z=A(()=>t.interactionMode),U=A(()=>"zoom"===Z.value),L=A(()=>{const e=[];return(B.value.some(e=>e.visibleSeries.length)?B.value.filter(e=>e.visibleSeries.length):B.value.filter(e=>e.series.length)).forEach(A=>{e.push(A.xDomain[0],A.xDomain[1])}),pi(e)}),j=A(()=>{const e=t.initialXDomain;return e&&Number.isFinite(e[0])&&Number.isFinite(e[1])&&e[0]!==e[1]?An(Hi(e[0]<e[1]?e:[e[1],e[0]],t.xDomainStrategy,!0),C()):An(Hi(L.value,t.xDomainStrategy),C())}),O=e=>{const A=t.initialXDomains?.[e.series?.trackId??e.series?.id??e.id]??(e.series?t.initialXDomains?.[e.series.id]:void 0)??t.initialXDomain;return A&&Number.isFinite(A[0])&&Number.isFinite(A[1])&&A[0]!==A[1]?An(Hi(A[0]<A[1]?A:[A[1],A[0]],t.xDomainStrategy,!0),C()):An(Hi(pi(e.seriesList.flatMap(e=>e.xDomain)),t.xDomainStrategy),C())},W=A(()=>("independent"!==t.displayMode?e.boundaries?.value.shared:void 0)??j.value),X=A(()=>tn(l.value.rescaleX(fe(W.value,[0,G.value])).domain(),t)),H=A(()=>function(e,A,t,i,n=[],a,o=!0,r=!1){const s=Ii(t),l=n.filter(Boolean).length,g=t.fillIncompleteLastRow&&l>0&&l<s,c=g?Math.ceil(l/t.columnCount):t.rowCount,I=ui(i),d=Number.isFinite(a)?Math.max(0,a):I,u=/* @__PURE__ */new Set;if(o)if("independent"===i)for(let B=0;B<c;B+=1)u.add(B);else if("compact"===i)u.add(c-1);else for(let B=0;B<t.columnCount;B+=1)for(let e=Ii(t)-1;e>=0;e-=1)if(e%t.columnCount===B&&n[e]){u.add(Math.floor(e/t.columnCount));break}const h=Math.max(0,c-1)*I,C=r&&u.has(c-1)?30:0,Q=30*u.size-C,m=Math.max(1,(A-h-Q)/c);return Array.from({length:g?l:s},(A,i)=>{const n=Math.floor(i/t.columnCount),a=i%t.columnCount,o=g&&n===c-1?l-n*t.columnCount:t.columnCount,r=Math.max(0,o-1)*d,s=Math.max(1,(e-r)/o),h=u.has(n)?30:0,C=m+h,Q=Array.from({length:n},(e,A)=>{const t=u.has(A)?30:0;return m+t+I}).reduce((e,A)=>e+A,0);return{slotIndex:i,row:n,column:a,left:a*(s+d),top:Q,width:s,height:m,plotHeight:m,cellHeight:C,xAxisBand:h,isLastRow:n===c-1}})}(G.value,r.value,m.value,t.displayMode,x.value.map(e=>"edge-compact"===t.layoutPreset?e.series.length>0:Boolean(e)),Y.value.horizontalGap,!0,"edge-compact"===t.layoutPreset&&!s.value).map((e,A)=>({...e,series:x.value[A]}))),V=A(()=>function(e){const A=e.cells.map(A=>({...A,hasSeries:e.useNonEmptyBottomTracks?Boolean(A.series?.series.length):Boolean(A.series)})),t=function(e,A){const t=/* @__PURE__ */new Set;for(let i=0;i<A;i+=1)for(let A=e.length-1;A>=0;A-=1){const n=e[A];if(n.column===i&&n.hasSeries){t.add(n.slotIndex);break}}return t}(A,e.grid.columnCount),i=A.flatMap((A,i)=>{const n=!A.series||0===A.series.series.length;if(!A.series&&!e.showEmptyTracks)return[];const a=A.series??{id:`empty-grid-slot-${A.slotIndex}`,series:[],visibleSeries:[],xDomain:e.initialXDomain??e.sharedZoomDomain,yDomain:[0,1]},o=!n&&a.visibleSeries.length>0,r=a.visibleSeries[0]??a.series[0]??null,s="independent"===e.displayMode?fe(function(e,A,t){if(t.effectiveXDomains?.[e.id])return t.effectiveXDomains[e.id];const i=t.xDomainStrategy??{type:"data"},n=t.initialXDomains?.[e.id]??t.initialXDomains?.[A]??t.initialXDomain;return An(n?Hi(n,i,!0):Hi(e.xDomain,i),{integerZoom:t.integerZoom,timeUnit:t.domainTimeUnit??t.timeUnit})}(a,r?.id??a.id,e),[0,A.width]):fe(e.sharedZoomDomain,[0,A.width]),l=("independent"===e.displayMode?e.independentTransforms[i]??De:De).rescaleX(s);l.domain(tn(l.domain(),e));const g=gn(a,e.overlayMode,e.fixedYDomain,e.fixedYDomains,e.yDomains,e.yAxisPadding??e.yAxisUpperPaddingRatio,e.amplitudeLimits),c={left:0,right:0},I={left:0,right:0},d=g.map(t=>{const i=c[t.side]++,n=an(A.plotHeight,e.yAxisSplitNumber),a=Ui(t.domain,n,!1!==e.yAxisNice,t.amplitudeLimit),o=fe(a.domain,[A.plotHeight,0]),r=a.values,s=void 0!==t.maximumTick&&t.maximumTick>=a.domain[0]&&t.maximumTick<=a.domain[1]?t.maximumTick:void 0,l=void 0!==t.minimumTick&&t.minimumTick>=a.domain[0]&&t.minimumTick<=a.domain[1]?t.minimumTick:void 0,g=Bi(r,s,l),{tickTextWidth:d,titleTextWidth:u}=cn(o.domain(),!1,g,!1!==e.showAxisUnits?t.seriesList[0]?.unit:void 0,n),h=Math.max(d,u+0+Oi(e.yAxisPadding?.labelTextStyle))+7+4,C=e.yAxisSlots?.find(e=>e.side===t.side&&e.sideIndex===i),Q=C?("left"===t.side?0:A.width)+C.axisOffset:"left"===t.side?-I.left:A.width+I.right,m=u+7+0+Oi(e.yAxisPadding?.labelTextStyle)/2,B=(C?("left"===t.side?0:A.width)+C.labelOffset:Q+("left"===t.side?-m:m))-("right"!==t.side||e.compactYAxisLayout?0:10);return C||(I[t.side]+=h),{index:t.index,side:t.side,x:Q,labelX:B,scale:o,maximumTick:s,minimumTick:l,majorTicks:r,minorTicks:fi(r,2),tickValues:g,seriesList:t.seriesList}}),u=fe(a.yDomain,[A.plotHeight,0]);!1!==e.yAxisNice&&u.nice();const h=d[0]?.scale??u,C=function(e,A,t){if(!t.integerZoom)return qi(e,A);const i="s"===t.timeUnit?1:1e3,n=function(e,A){return en(e,A).some(e=>!Number.isInteger(e))}(e,t);return qi(e.map(e=>e*i),A,n?0:1).filter(e=>n||Number.isInteger(e)).map(e=>e/i)}(l.domain(),Math.max(2,Math.floor(A.width/100)),e),Q=e.xAxisLabelFormatter,m=d[0]?.majorTicks??(n?u.ticks(an(A.plotHeight,e.yAxisSplitNumber)):[]),B=d[0]?.tickValues??[],E=l.domain(),p={start:Ni(E[0],E,e.timeUnit,"start",Q),end:Ni(E[1],E,e.timeUnit,"end",Q)},f=7*p.start.length+10,y=7*p.end.length+10,v=C.filter(e=>{const t=l(e);return t>f&&t<A.width-y}),w=a.visibleSeries.map(t=>{const i=d.find(e=>e.seriesList.some(e=>e.id===t.id)),a=i?.scale??h,o=function(e,A,t,i,n){if(!e.length||t<=0)return{linePoints:[],pointRenderPoints:[],errorBarRenderPoints:[]};const a=e.visibleRange(A),o=n.lineVisible?n.linePointOverride??(r=a.end-a.start,"wasm"===(s=i).sampling.mode||"auto"===s.sampling.mode&&r>s.sampling.autoThreshold?function(e,A,t,i){const{start:n,end:a}=A,o=a-n,r=i.sampling.maxPointCount??Math.max(1,Math.floor(t*i.sampling.maxPointsPerPixel));return zA(o<=r||"none"===i.sampling.strategy?e.pointsInRange(n,a):Array.from({length:r},(A,t)=>e.pointAt(n+(1===r?0:Math.round(t*(o-1)/(r-1))))),A,e.length,A=>e.pointAt(A))}(e,a,t,i):st(e,a,A,t,i)):[];var r,s;const l=n.errorBarVisible&&n.hasErrorPoints;if(n.pointVisible&&l){const n=gt(e,a,A,t,Math.max(i.pointMinSpacing,i.errorBarMinSpacing),i.downsample,rt,ct);return{linePoints:o,pointRenderPoints:n,errorBarRenderPoints:n.filter(ct)}}return{linePoints:o,pointRenderPoints:n.pointVisible?gt(e,a,A,t,i.pointMinSpacing,i.downsample,rt):[],errorBarRenderPoints:l?gt(e,a,A,t,i.errorBarMinSpacing,i.downsample,ct):[]}}(t.source??JA(t.points),E,A.width,e.rendering,{lineVisible:!n&&"none"!==t.lineType,linePointOverride:e.linePointOverrides?.[t.id],pointVisible:"none"!==t.pointType,errorBarVisible:t.errorBar.visible,hasErrorPoints:t.hasErrorPoints});return{series:t,path:Tt(o.linePoints,t.lineType,l,a),lineRenderPoints:o.linePoints,pointRenderPoints:o.pointRenderPoints,errorBarRenderPoints:o.errorBarRenderPoints,yScale:a,yAxisIndex:i?.index??0}});return{id:a.id,index:i,series:r,seriesList:a.visibleSeries,legendSeries:a.series,isEmpty:n,hasVisibleSeries:o,column:A.column,showYAxisLabel:!e.hideSecondaryLabels||0===A.column,yAxisLabelX:e.yAxisLabelX,left:A.left,top:A.top,width:A.width,height:A.plotHeight,xScale:l,yScale:h,yAxes:d,xMajorTicks:C,xAxisLabelFormatter:Q,xMinorTicks:fi(C,3,E),yMajorTicks:m,yMinorTicks:d[0]?.minorTicks??(n?fi(m,2):[]),yAxisTickValues:B,xAxisTickValues:v,endpointLabels:p,path:w[0]?.path??null,seriesPaths:w,gridLines:e.grid.trackLines[a.id]??{horizontal:!0,vertical:!0},showXAxis:"independent"===e.displayMode||("compact"===e.displayMode?A.isLastRow??A.row===e.grid.rowCount-1:t.has(A.slotIndex))}});return function(e,A,t={}){const i=/* @__PURE__ */new Map;for(const n of e){let e=0;for(const A of n.yAxes){if("left"!==A.side)continue;const a=`${n.column}:${e++}`,o=Vi(A,t);i.set(a,Math.max(i.get(a)??0,o))}}for(const n of e){let e=0;for(const A of n.yAxes)"left"===A.side&&(A.labelX=A.x-i.get(`${n.column}:${e++}`))}}(i,e.yLabel,{labelTextStyle:e.yAxisPadding?.labelTextStyle,showUnits:e.showAxisUnits,compact:e.compactYAxisLayout,measureTextWidth:e.compactYAxisLayout?zi:void 0}),i}({cells:H.value,grid:m.value,useNonEmptyBottomTracks:"edge-compact"===t.layoutPreset,compactYAxisLayout:"edge-compact"===t.layoutPreset,showAxisUnits:"channel-label"!==t.unitDisplayMode&&"channel-label-or-legend"!==t.unitDisplayMode&&("edge-compact"!==t.layoutPreset||"axis"===t.unitDisplayMode),displayMode:t.displayMode,overlayMode:t.overlayMode,independentTransforms:g.value,sharedZoomDomain:X.value,initialXDomain:t.initialXDomain?W.value:void 0,initialXDomains:t.initialXDomains,effectiveXDomains:e.boundaries?.value,xDomainStrategy:t.xDomainStrategy,integerZoom:t.integerZoom,amplitudeLimits:t.amplitudeLimits,fixedYDomain:t.yDomain,fixedYDomains:t.yDomains,yDomains:b.value,timeUnit:t.timeUnit,domainTimeUnit:h,xAxisLabelFormatter:t.axes?.x?.labelFormatter,yAxisSplitNumber:t.axes?.y?.splitNumber,yAxisNice:t.axes?.y?.nice,yAxisPadding:t.axes?.y,rendering:p.value,linePointOverrides:u?.value,hideSecondaryLabels:s.value||Y.value.hideSecondaryLabels,yLabel:t.yLabel,yAxisLabelX:D.value.slots.find(e=>"left"===e.side&&0===e.sideIndex)?.labelOffset??M.value.labelCenterX,yAxisSlots:D.value.slots,showEmptyTracks:J.value}));!function(e,A,i,n,a){const o=(e,A,t)=>A>0&&t>0?e.translate((t/A-1)*e.x/e.k,0):e;N(()=>({visible:2*Number(!1!==t.axes?.y?.maximumTickVisible)+Number(!1!==t.axes?.y?.minimumTickVisible),width:A.value,tracks:i.value.map(e=>({id:e.id,index:e.index,width:e.width}))}),(e,A)=>{if(e.visible===A.visible)return;n.value=o(n.value,A.width,e.width);const t=[...a.value];e.tracks.forEach(e=>{const i=A.tracks.find(A=>A.id===e.id),n=t[e.index];i&&n&&(t[e.index]=o(n,i.width,e.width))}),a.value=t})}(0,G,V,l,g);const z=e=>e.seriesList.map(A=>({...e,series:A,yScale:e.seriesPaths.find(e=>e.series.id===A.id)?.yScale??e.yScale})),P=A(()=>V.value.flatMap(z));return{chartSeries:Q,chartTracks:B,showLegendUnits:E,hideYAxisTitles:w,pageableTracks:f,renderingOptions:p,gridOptions:m,pageCount:y,pagedTracks:v,resolvedChartLeftMargin:F,innerWidth:G,hasVisibleWaveformData:S,hasWaveformData:J,hasChartArea:R,resolvedXLabel:T,activeInteractionMode:Z,isZoomMode:U,initialXDomain:W,originalXDomain:j,resolveOriginalTrackDomain:O,sharedZoomDomain:X,resolveInitialTrackDomain:A=>e.boundaries?.value[A.id]??O(A),gridCells:H,trackLayouts:V,annotationLayoutsForTrack:z,resolveSeriesYScale:(e,A)=>e.seriesPaths.find(e=>e.series.id===A)?.yScale??e.yScale,annotationTrackLayouts:P,renderedAnnotations:A(()=>t.annotationsVisible?oi(t.annotations,P.value,G.value,r.value):[]),editorSeries:A(()=>{const e=d.editorDraft.value?.annotation.seriesId,A=Q.value.find(A=>A.id===e);return A?{id:A.id,name:A.name.trim()||A.id,color:A.color,unit:A.unit}:void 0}),resolveFrameNumber:(q=()=>t.frameNumber,K=()=>t.frameNumbers,_=()=>B.value,(e,A=0)=>{const t=_(),i=t.findIndex(A=>A.id===e);return((e,A,t,i,n)=>{const a=A?.[n];return void 0!==a?a:void 0!==e?1===t?e:"number"==typeof e?e+i:`${e}-${i+1}`:void 0})(q(),K(),Math.max(t.length,A+1),i>=0?i:A,e)})};var q,K,_}var Ea=1e-6;function pa(e){return Number.isFinite(e)?Math.max(1,e):1}function fa(e,A){return 0===A?0:Number.isFinite(e)?Math.min(A,Math.max(1,Math.floor(e))):A}function ya(e,A,t,i){const n=i-t;return{start:t+Math.floor(e*n/A),end:t+Math.floor((e+1)*n/A)}}function va(e,A){e[e.length-1]!==A&&e.push(A)}function wa(e,A,t){if(e<=A)return Array.from({length:e},(e,A)=>A);if(1===A)return[0];if(2===A)return[0,e-1];const i=[0];return t().forEach(e=>va(i,e)),va(i,e-1),i}var xa={kind:"javascript",sample:e=>function(e,A,t,i){if(e.length!==A.length)throw new Error("x and y must have the same length");if("average"===t||"sum"===t)return function(e,A,t,i){const n=fa(t,e.length),a=new Float64Array(n),o=new Float64Array(n);for(let r=0;r<n;r+=1){const t=ya(r,n,0,e.length);for(let i=t.start;i<t.end;i+=1)a[r]+=e[i],o[r]+=A[i];const s=t.end-t.start;a[r]/=s,"average"===i&&(o[r]/=s)}return{kind:"aggregates",x:a,y:o}}(e,A,i,t);const n=fa(i,e.length),a="none"===t||e.length<=n?Array.from({length:e.length},(e,A)=>A):"peak"===t?function(e,A){const t=Math.floor((A-2)/4);return wa(e.length,A,()=>{if(!t)return[];const A=[];for(let i=0;i<t;i+=1){const n=ya(i,t,1,e.length-1);let a=n.start,o=n.start;for(let A=n.start+1;A<n.end;A+=1)e[A]<e[a]&&(a=A),e[A]>e[o]&&(o=A);[n.start,a,o,n.end-1].sort((e,A)=>e-A).forEach(e=>va(A,e))}return A})}(A,n):"lttb"===t?function(e,A,t){return wa(e.length,t,()=>{const i=(e.length-2)/(t-2),n=[];let a=0;for(let o=0;o<t-2;o+=1){const r=Math.min(e.length,Math.floor((o+1)*i)+1),s=Math.min(e.length,Math.floor((o+2)*i)+1);let l=0,g=0;for(let t=r;t<s;t+=1)l+=e[t],g+=A[t];const c=s-r;c?(l/=c,g/=c):(l=e[e.length-1],g=A[A.length-1]);const I=ya(o,t-2,1,e.length-1);let d=I.start,u=-1;for(let t=I.start;t<I.end;t+=1){const i=Math.abs((e[a]-l)*(A[t]-A[a])-(e[a]-e[t])*(g-A[a]));i>u&&(u=i,d=t)}n.push(d),a=d}return n})}(e,A,n):function(e,A,t){const i="minmax"===t?Math.floor((A-2)/2):Math.max(0,A-2);return wa(e.length,A,()=>{if(!i)return[];const A=[];for(let n=0;n<i;n+=1){const a=ya(n,i,1,e.length-1);let o=a.start,r=a.start;for(let A=a.start+1;A<a.end;A+=1)e[A]<e[o]&&(o=A),e[A]>e[r]&&(r=A);"min"===t?va(A,o):"max"===t?va(A,r):o<=r?(va(A,o),va(A,r)):(va(A,r),va(A,o))}return A})}(A,n,t);return{kind:"source-indexes",sourceIndexes:Uint32Array.from(a)}}(e.x,e.y,e.strategy,e.targetPointCount)};function ka(e,A,t,i){const n=i-t;return{start:t+Math.floor(e*n/A),end:t+Math.floor((e+1)*n/A)}}function ba(e,A){e[e.length-1]!==A&&e.push(A)}function Ma(e){return"minimumIndexes"in e?e.minimumIndexes.byteLength+e.maximumIndexes.byteLength:e.x.byteLength+e.y.byteLength+e.count.byteLength}function Da(e,A){let t=1;for(;2*t<=A&&e%(2*t)==0;)t*=2;return t}var Na=class{points;extremaLayers=[];sumLayers=[];indexBytes=0;maxBytes;constructor(e,A={}){this.points=e,this.maxBytes=Number.isFinite(A.maxBytes)?Math.max(0,Math.floor(A.maxBytes??0)):8388608}get byteLength(){return this.indexBytes}dispose(){this.extremaLayers.length=0,this.sumLayers.length=0,this.indexBytes=0}sample(e,A,t,i){const n=Math.max(0,Math.min(this.points.length,Math.floor(e))),a=Math.max(n,Math.min(this.points.length,Math.floor(A))),o=a-n,r=(s=i,0===(l=o)?0:Number.isFinite(s)?Math.min(l,Math.max(1,Math.floor(s))):l);var s,l;if("lttb"!==t)return"average"===t||"sum"===t?this.aggregate(n,a,r,t):"none"===t||o<=r?this.allIndexes(n,a):1===r?this.indexes([n]):2===r?this.indexes([n,a-1]):this.extrema(n,a,r,t)}allIndexes(e,A){return{kind:"source-indexes",sourceIndexes:Uint32Array.from({length:A-e},(A,t)=>e+t)}}indexes(e){return{kind:"source-indexes",sourceIndexes:Uint32Array.from(e)}}extrema(e,A,t,i){const n="peak"===i?Math.floor((t-2)/4):"minmax"===i?Math.floor((t-2)/2):Math.max(0,t-2);if(0===n)return this.indexes([e,A-1]);const a=[e];for(let o=0;o<n;o+=1){const t=ka(o,n,e+1,A-1),r=this.queryExtrema(t.start,t.end);if(!r)return;if("min"===i)ba(a,r.minimum);else if("max"===i)ba(a,r.maximum);else if("minmax"===i)r.minimum<=r.maximum?(ba(a,r.minimum),ba(a,r.maximum)):(ba(a,r.maximum),ba(a,r.minimum));else for(const e of[t.start,r.minimum,r.maximum,t.end-1].sort((e,A)=>e-A))ba(a,e)}return ba(a,A-1),this.indexes(a)}aggregate(e,A,t,i){const n=new Float64Array(t),a=new Float64Array(t);for(let o=0;o<t;o+=1){const r=ka(o,t,e,A),s=this.querySum(r.start,r.end);if(!s||0===s.count)return;n[o]=s.x/s.count,a[o]="average"===i?s.y/s.count:s.y}return{kind:"aggregates",x:n,y:a}}queryExtrema(e,A){const t=Math.floor(Math.log2(Math.max(1,A-e)));if(!this.ensureExtrema(t))return;let i=e,n=e;for(let a=e;a<A;){const e=Da(a,A-a),t=Math.floor(Math.log2(e)),o=a/e,r=this.extremaLayers[t],s=r?r.minimumIndexes[o]:a,l=r?r.maximumIndexes[o]:a;this.isMinimum(s,i)&&(i=s),this.isMaximum(l,n)&&(n=l),a+=e}return{minimum:i,maximum:n}}querySum(e,A){const t=Math.floor(Math.log2(Math.max(1,A-e)));if(!this.ensureSum(t))return;let i=0,n=0,a=0;for(let o=e;o<A;){const e=Da(o,A-o),t=Math.floor(Math.log2(e)),r=o/e,s=this.sumLayers[t];if(s)i+=s.x[r],n+=s.y[r],a+=s.count[r];else{const e=this.points[o];i+=e.x,n+=e.y,a+=1}o+=e}return{x:i,y:n,count:a}}ensureExtrema(e){for(let A=1;A<=e;A+=1){if(this.extremaLayers[A])continue;const e=Math.ceil(this.points.length/2**A),t={minimumIndexes:new Uint32Array(e),maximumIndexes:new Uint32Array(e)};if(!this.reserve(Ma(t)))return!1;const i=this.extremaLayers[A-1];for(let A=0;A<e;A+=1){const e=2*A,n=e+1,a=i?i.minimumIndexes[e]:e,o=i?i.maximumIndexes[e]:e,r=i?n<i.minimumIndexes.length:n<this.points.length,s=i&&r?i.minimumIndexes[n]:n,l=i&&r?i.maximumIndexes[n]:n;t.minimumIndexes[A]=r&&this.isMinimum(s,a)?s:a,t.maximumIndexes[A]=r&&this.isMaximum(l,o)?l:o}this.extremaLayers[A]=t}return!0}ensureSum(e){for(let A=1;A<=e;A+=1){if(this.sumLayers[A])continue;const e=Math.ceil(this.points.length/2**A),t={x:new Float64Array(e),y:new Float64Array(e),count:new Uint32Array(e)};if(!this.reserve(Ma(t)))return!1;const i=this.sumLayers[A-1];for(let A=0;A<e;A+=1){const e=2*A,n=e+1;if(i)t.x[A]=i.x[e]+(n<i.x.length?i.x[n]:0),t.y[A]=i.y[e]+(n<i.y.length?i.y[n]:0),t.count[A]=i.count[e]+(n<i.count.length?i.count[n]:0);else{const i=this.points[e],a=this.points[n];t.x[A]=i.x+(a?.x??0),t.y[A]=i.y+(a?.y??0),t.count[A]=a?2:1}}this.sumLayers[A]=t}return!0}reserve(e){return!(this.indexBytes+e>this.maxBytes||(this.indexBytes+=e,0))}isMinimum(e,A){const t=this.points[e],i=this.points[A];return t.y<i.y||t.y===i.y&&e<A}isMaximum(e,A){const t=this.points[e],i=this.points[A];return t.y>i.y||t.y===i.y&&e<A}},Fa=U(e=>e.x);function Ga(e,A){let t=Number.POSITIVE_INFINITY,i=Number.NEGATIVE_INFINITY,n=Number.POSITIVE_INFINITY,a=Number.NEGATIVE_INFINITY;for(const o of e)t=Math.min(t,o.x),i=Math.max(i,o.x),n=Math.min(n,o.y),a=Math.max(a,o.y);return{inputPointCount:A,validPointCount:e.length,xDomain:e.length?[t,i]:null,yDomain:e.length?[n,a]:null}}function Ya(e,A,t=e.length){let i=Number.POSITIVE_INFINITY,n=Number.NEGATIVE_INFINITY,a=Number.POSITIVE_INFINITY,o=Number.NEGATIVE_INFINITY;for(let r=0;r<e.length;r+=1)i=Math.min(i,e[r]),n=Math.max(n,e[r]),a=Math.min(a,A[r]),o=Math.max(o,A[r]);return{inputPointCount:t,validPointCount:e.length,xDomain:e.length?[i,n]:null,yDomain:e.length?[a,o]:null}}function Sa(e,A){return e?e.revision===A?"ok":"stale-revision":"not-found"}function Ja(e){return"auto"===e?"peak":e}function Ra(e,A){const t=e[0],i=e.at(-1);return Number.isFinite(A)&&t&&i&&A>=t.x&&A<=i.x?e[Fa.center(e,A)]:void 0}function Ta(e){return e?.y.length??0}function Za(e,A){return e.x?e.x[A]:e.sampleStartTime+(e.sampleSourceIndexes?.[A]??A)/e.sampleRate}function Ua(e,A){const t=(A,t)=>{let i=0,n=Ta(e);for(;i<n;){const a=i+Math.floor((n-i)/2);(t?Za(e,a)<=A:Za(e,a)<A)?i=a+1:n=a}return i},i=Math.min(A[0],A[1]),n=Math.max(A[0],A[1]);return{start:t(i,!1),end:t(n,!0)}}function La(e,A,t){return e.x?e.x.subarray(A,t):Float64Array.from({length:t-A},(t,i)=>Za(e,A+i))}function ja(e){return"wasm"===e?.kind&&"registerDataset"in e&&"disposeDataset"in e&&"disposeAllDatasets"in e&&"datasetIndexBytes"in e&&"registerSamples"in e&&"sampleDataset"in e}function Oa(e,A,t,i){if("typed"===A?.kind){const e=function(e,A){const t=Math.min(e.length,A.length);let i=e.length===A.length;for(let a=0;a<t&&i;a+=1)i=Number.isFinite(e[a])&&Number.isFinite(A[a])&&(0===a||e[a]>=e[a-1]);if(i)return{x:e.slice(),y:Float64Array.from(A)};const n=[];for(let a=0;a<t;a+=1)Number.isFinite(e[a])&&Number.isFinite(A[a])&&n.push(a);return n.sort((A,t)=>e[A]-e[t]||A-t),{x:Float64Array.from(n,A=>e[A]),y:Float64Array.from(n,e=>A[e])}}(A.x,A.y);return{x:e.x,y:e.y,revision:t,metrics:Ya(e.x,e.y,Math.max(A.x.length,A.y.length))}}if("samples"===A?.kind){if(!(Number.isFinite(A.sampleRate)&&A.sampleRate>0&&Number.isFinite(A.startTime))||A.sourceIndexes&&A.sourceIndexes.length!==A.values.length)return{y:/* @__PURE__ */new Float64Array,sampleStartTime:0,sampleRate:1,revision:t,metrics:{inputPointCount:A.values.length,validPointCount:0,xDomain:null,yDomain:null}};if(!A.sourceIndexes&&A.values.every(Number.isFinite)){const e=Float64Array.from(A.values);let i=1/0,n=-1/0;for(const A of e)i=Math.min(i,A),n=Math.max(n,A);return{y:e,sampleStartTime:A.startTime,sampleRate:A.sampleRate,revision:t,metrics:{inputPointCount:e.length,validPointCount:e.length,xDomain:e.length?[A.startTime,A.startTime+(e.length-1)/A.sampleRate]:null,yDomain:e.length?[i,n]:null}}}const e=Array.from({length:A.values.length},(e,A)=>A).filter(e=>Number.isFinite(A.values[e])),i=e=>A.sourceIndexes?.[e]??e;e.sort((e,A)=>i(e)-i(A)||e-A);const n=Float64Array.from(e,e=>A.values[e]),a=Uint32Array.from(e,i),o=e=>A.startTime+a[e]/A.sampleRate;let r=Number.POSITIVE_INFINITY,s=Number.NEGATIVE_INFINITY;for(const A of n)r=Math.min(r,A),s=Math.max(s,A);return{y:n,sampleStartTime:A.startTime,sampleRate:A.sampleRate,sampleSourceIndexes:a.length===A.values.length&&a.every((e,A)=>e===A)?void 0:a,revision:t,metrics:{inputPointCount:A.values.length,validPointCount:n.length,xDomain:n.length?[o(0),o(n.length-1)]:null,yDomain:n.length?[r,s]:null}}}const n=function(e){const A=[];let t=!0,i=Number.NEGATIVE_INFINITY;for(const n of e)Number.isFinite(n.x)&&Number.isFinite(n.y)&&(n.x<i&&(t=!1),i=n.x,A.push({x:n.x,y:n.y,...Number.isFinite(n.error)?{error:n.error}:{},...Number.isFinite(n.lowerError)?{lowerError:n.lowerError}:{},...Number.isFinite(n.upperError)?{upperError:n.upperError}:{}}));return t||A.sort((e,A)=>e.x-A.x),A}(e??A?.points??[]);return{x:Float64Array.from(n,e=>e.x),y:Float64Array.from(n,e=>e.y),points:n,revision:t,metrics:Ga(n,e?.length??A?.points.length??0),index:new Na(n,{maxBytes:i})}}function Wa(e,A,t){ja(e)&&void 0===A.wasmDatasetHandle&&(A.wasmDatasetHandle=A.x?e.registerDataset(A.x,A.y,t):e.registerSamples(A.y,A.sampleSourceIndexes,A.sampleStartTime,A.sampleRate,t),A.wasmIndexBytes=e.datasetIndexBytes(A.wasmDatasetHandle))}function Xa(e,A){A.index?.dispose(),void 0!==A.wasmDatasetHandle&&ja(e)&&e.disposeDataset(A.wasmDatasetHandle)}function Ha(e,A,t){const i=Ta(t);if(A.start===A.end&&(0===A.start||A.end===i))return e;const n=A.start>0?[A.start-1]:[],a=A.end<i?[A.end]:[];if("source-indexes"===e.kind){const A=Array.from(e.sourceIndexes);return{kind:"source-indexes",sourceIndexes:Uint32Array.from([...n,...A,...a])}}const o=Array.from(e.x),r=Array.from(e.y);return n.length&&(o.unshift(Za(t,n[0])),r.unshift(t.y[n[0]])),a.length&&(o.push(Za(t,a[0])),r.push(t.y[a[0]])),{kind:"aggregates",x:Float64Array.from(o),y:Float64Array.from(r)}}var Va=class{entries=/* @__PURE__ */new Map;bytes=0;maxEntries;maxBytes;constructor(e={}){this.maxEntries=Number.isFinite(e.maxEntries)?Math.max(0,Math.floor(e.maxEntries??0)):96,this.maxBytes=Number.isFinite(e.maxBytes)?Math.max(0,Math.floor(e.maxBytes??0)):16777216}get metrics(){return{entries:this.entries.size,bytes:this.bytes,maxEntries:this.maxEntries,maxBytes:this.maxBytes}}get(e){const A=this.entries.get(e);if(A)return this.entries.delete(e),this.entries.set(e,A),A.output}set(e,A){const t=function(e){return"source-indexes"===e.kind?e.sourceIndexes.byteLength:e.x.byteLength+e.y.byteLength}(A);if(t>this.maxBytes||0===this.maxEntries)return;const i=this.entries.get(e);for(i&&(this.bytes-=i.bytes,this.entries.delete(e)),this.entries.set(e,{output:A,bytes:t}),this.bytes+=t;this.entries.size>this.maxEntries||this.bytes>this.maxBytes;){const e=this.entries.entries().next().value;if(!e)break;const[A,t]=e;this.entries.delete(A),this.bytes-=t.bytes}}deleteDataset(e){const A=`${e}\0`;for(const[t,i]of this.entries)t.startsWith(A)&&(this.entries.delete(t),this.bytes-=i.bytes)}clear(){this.entries.clear(),this.bytes=0}},za=class{datasets=/* @__PURE__ */new Map;javascriptBackend;cache;indexMaxBytes;wasmBackend;constructor(e={}){this.javascriptBackend=e.javascriptBackend??xa,this.wasmBackend=e.wasmBackend,this.indexMaxBytes=e.indexMaxBytes,this.cache=new Va({maxEntries:e.cacheMaxEntries,maxBytes:e.cacheMaxBytes})}get resourceMetrics(){return{datasetCount:this.datasets.size,indexBytes:[...this.datasets.values()].reduce((e,A)=>e+(A.wasmIndexBytes??A.index?.byteLength??0),0),cache:this.cache.metrics}}setWasmBackend(e){this.wasmBackend&&this.wasmBackend!==e&&ja(this.wasmBackend)&&(this.wasmBackend.disposeAllDatasets(),this.datasets.forEach(e=>{e.wasmDatasetHandle=void 0,e.wasmIndexBytes=void 0})),this.wasmBackend=e,ja(e)&&this.datasets.forEach(A=>Wa(e,A,this.indexMaxBytes))}handle(e){switch(e.type){case"register-dataset":return this.register(e.datasetId,e.requestId,e.points,e.dataset);case"replace-dataset":return this.replace(e.datasetId,e.requestId,e.revision,e.points,e.dataset);case"sample-viewport":return this.sample(e);case"find-nearest-point":return this.findNearest(e.datasetId,e.requestId,e.revision,e.x);case"get-dataset-metrics":return this.metrics(e.datasetId,e.requestId,e.revision);case"dispose-dataset":return this.dispose(e.datasetId,e.requestId,e.revision);case"dispose-all":return this.disposeAll(e.requestId)}}register(e,A,t,i){const n=this.datasets.get(e);if(n)return this.datasetResponse(A,e,n,"stale-revision");const a=Oa(t,i,1,this.indexMaxBytes);return Wa(this.wasmBackend,a,this.indexMaxBytes),this.datasets.set(e,a),this.datasetResponse(A,e,a,"ok")}replace(e,A,t,i,n){const a=this.datasets.get(e),o=Sa(a,t);if("ok"!==o||!a)return this.datasetResponse(A,e,a,o);Xa(this.wasmBackend,a),this.cache.deleteDataset(e);const r=Oa(i,n,a.revision+1,this.indexMaxBytes);return Wa(this.wasmBackend,r,this.indexMaxBytes),this.datasets.set(e,r),this.datasetResponse(A,e,r,"ok")}sample(e){return{type:"sample-viewport-response",requestId:e.requestId,results:e.series.map(A=>this.sampleSeries(e.requestId,A))}}sampleSeries(e,A){const t=performance.now(),i=this.datasets.get(A.datasetId),n=Sa(i,A.revision);if("ok"!==n||!i)return this.sampleResponse(e,A,n,void 0,"unavailable","sampled",0,t,!1);const a=Ua(i,A.xDomain),o=a.end-a.start;if(function(e,A){if("raw"===e.mode)return!0;if("auto"!==e.mode)return!1;const t=Number.isFinite(e.autoThreshold)?Math.max(1,Math.floor(e.autoThreshold??0)):1e3;if(!e.previousSelectedMode)return A<=t;const i=Number.isFinite(e.autoHysteresis)?Math.max(0,Math.floor(e.autoHysteresis??0)):0;return"raw"===e.previousSelectedMode?A<=t+i:A<=Math.max(0,t-i)}(A,o))return this.sampleResponse(e,A,"ok",Ha({kind:"source-indexes",sourceIndexes:Uint32Array.from({length:o},(e,A)=>a.start+A)},a,i),"raw","raw",o,t,!1);const r="wasm"===A.mode||"auto"===A.mode&&this.wasmBackend?this.wasmBackend:this.javascriptBackend,s=!r&&"javascript"===A.wasmFailureFallback,l=r??(s?this.javascriptBackend:void 0);if(!l)return this.sampleResponse(e,A,"wasm-unavailable",void 0,"unavailable","sampled",o,t,!1);const g=Ja(A.strategy),c=function(e){if(Number.isFinite(e.maxPointCount)&&(e.maxPointCount??0)>=1)return Math.floor(e.maxPointCount);const A=Number.isFinite(e.plotWidth)?Math.max(0,e.plotWidth):0,t=Number.isFinite(e.maxPointsPerPixel)?Math.max(0,e.maxPointsPerPixel??0):4;return Math.max(1,Math.floor(A*t))}(A),I=function(e,A,t,i,n){return[e.datasetId,e.revision,A.start,A.end,e.plotWidth,i,e.maxPointsPerPixel,e.maxPointCount,e.mode,n,t,e.lineType??"linear",e.pointType??"none",!0===e.errorBarVisible?1:0,e.pointMinSpacing??0,e.errorBarMinSpacing??0].join("\0")}(A,a,g,c,l.kind),d=this.cache.get(I);if(d)return this.sampleResponse(e,A,s?"wasm-unavailable":"ok",d,l.kind,"sampled",o,t,!0);const u=Ha(("wasm"===l.kind?void 0!==i.wasmDatasetHandle&&ja(l)?l.sampleDataset(i.wasmDatasetHandle,a.start,a.end,g,c):void 0:i.index?.sample(a.start,a.end,g,c))??function(e,A){return"aggregates"===e.kind?e:{kind:"source-indexes",sourceIndexes:Uint32Array.from(e.sourceIndexes,e=>e+A)}}(l.sample({x:La(i,a.start,a.end),y:i.y.subarray(a.start,a.end),points:i.points?.slice(a.start,a.end)??[],strategy:g,targetPointCount:c}),a.start),a,i);return this.cache.set(I,u),void 0!==i.wasmDatasetHandle&&ja(l)&&(i.wasmIndexBytes=l.datasetIndexBytes(i.wasmDatasetHandle)),this.sampleResponse(e,A,s?"wasm-unavailable":"ok",u,l.kind,"sampled",o,t,!1)}sampleResponse(e,A,t,i,n,a,o,r,s){const l=function(e,A,t,i,n,a,o,r){return{seriesId:e.seriesId,datasetId:e.datasetId,mode:e.mode,selectedMode:n,backend:i,strategy:Ja(e.strategy),sourcePointCount:A,visiblePointCount:t,renderedPointCount:o,durationMs:a,cacheHit:r,requestId:0,revision:e.revision,rawPointLimitExceeded:"raw"===n&&Number.isFinite(e.rawPointLimit)&&t>(e.rawPointLimit??Number.POSITIVE_INFINITY),scheduledRequestCount:0,coalescedRequestCount:0,maxPendingRequestCount:0}}(A,Ta(this.datasets.get(A.datasetId)),o,n,a,performance.now()-r,function(e){return e?"source-indexes"===e.kind?e.sourceIndexes.length:e.x.length:0}(i),s);return l.requestId=e,{seriesId:A.seriesId,datasetId:A.datasetId,revision:A.revision,status:t,output:i,diagnostics:l}}findNearest(e,A,t,i){const n=this.datasets.get(e),a=Sa(n,t);return"ok"===a&&n?{type:"find-nearest-point-response",requestId:A,datasetId:e,revision:t,status:a,point:n.points?Ra(n.points,i):(()=>{const e=Ua(n,[i,i]);if(!Ta(n)||i<Za(n,0)||i>Za(n,Ta(n)-1))return;const A=Math.min(Ta(n)-1,e.start),t=Math.max(0,A-1),a=Math.abs(i-Za(n,t))<Math.abs(Za(n,A)-i)?t:A;return Number.isFinite(i)&&Ta(n)?{x:Za(n,a),y:n.y[a]}:void 0})()}:{type:"find-nearest-point-response",requestId:A,datasetId:e,revision:t,status:a}}metrics(e,A,t){const i=this.datasets.get(e);return this.datasetResponse(A,e,i,Sa(i,t))}dispose(e,A,t){const i=this.datasets.get(e),n=Sa(i,t);return"ok"===n&&i&&(Xa(this.wasmBackend,i),this.cache.deleteDataset(e),this.datasets.delete(e)),this.datasetResponse(A,e,i,n)}disposeAll(e){const A=[...this.datasets.keys()];return this.datasets.forEach(e=>Xa(this.wasmBackend,e)),ja(this.wasmBackend)&&this.wasmBackend.disposeAllDatasets(),this.datasets.clear(),this.cache.clear(),{type:"dispose-all-response",requestId:e,disposedDatasetIds:A}}datasetResponse(e,A,t,i){return{type:"dataset-response",requestId:e,datasetId:A,revision:t?.revision??0,status:i,metrics:t?{...t.metrics,indexBytes:t.wasmIndexBytes??t.index?.byteLength??0}:void 0}}};function Pa(e,A,t,i){return{message:e,mode:A,fallback:t,seriesIds:i}}function qa(e,t){const i=function(e,t){const i=p("zoom"),n=A(()=>e.interactionMode??i.value),a=A=>!e.presentationMode&&("none"===A||"zoom"===A&&e.zoomable||"pan"===A&&e.pannable||"annotation"===A&&e.annotationsVisible);return N(n,e=>t("interaction-mode-change",e)),{mode:n,canSetMode:a,setInteractionMode:function(A){let o;return a(A)?n.value===A?o="unchanged":void 0!==e.interactionMode?(t("update:interactionMode",A),o="requested"):(i.value=A,o="applied"):o="disabled",{kind:"mode",status:o,targets:[]}}}}(e,t),n=E({...k(e),interactionMode:i.mode}),a=w({}),o=p(),r=p(),s=p(),l=p(),g=p(0),d=p(0),u=p(0),m=p(0),B=p(0),f=w(De),y=w([]),x=p({}),b=p({}),M=v({points:[],trackIndex:null,queryX:null,crosshairXByTrack:{},position:{x:0,y:0}}),D=p(!1),G=p(1),Y=w(),S=si("waveform-clip"),J=p(new Set(n.defaultHiddenSeriesIds)),R=function(){const e=p(null),A=p(null);return{editorDraft:e,contextMenu:A,openCreate:(t,i,n)=>{e.value={mode:"add",annotation:{id:i(),seriesId:t.seriesId,x:t.xValue??t.point.x,y:t.point.y,text:"",createdAt:/* @__PURE__ */(new Date).toISOString()},anchor:n},A.value=null},openEdit:(t,i)=>{e.value={mode:"edit",annotation:{...t},previous:{...t},anchor:i},A.value=null},openContextMenu:e=>{A.value=e},closeEditor:()=>{e.value=null},closeContextMenu:()=>{A.value=null}}}(),T=w({}),Z=p([]),U=Qa();N([()=>n.yDomain,()=>n.yDomains,()=>n.amplitudeLimits],()=>{x.value={},b.value={}},{deep:!0});const L=w(null),j=p(!1),O=p(!1);let W=()=>{},X=()=>{},H=()=>{};const V=function(e,A,t,i=()=>!1){const n=w(ma(e(),i()));return N([e,i],([e,i])=>{A(),n.value=ma(e,i),t()}),n}(()=>n.data,()=>{H(),W()},()=>X(),()=>Boolean(Yn(n))),z=function(e){const{props:t,observedWidth:i,observedHeight:n,measuredTitleWidth:a,measuredTitleHeight:o,internalHiddenSeriesIds:r,paginationBandHeight:s}=e,l=A(()=>Number.isFinite(t.width)?Math.max(0,t.width??0):void 0),g=A(()=>Number.isFinite(t.height)?Math.max(180,t.height??0):void 0),c=A(()=>i.value>0?i.value:l.value??0),I=A(()=>n.value>0?n.value:g.value??180),d=A(()=>({width:void 0===l.value?"100%":`${l.value}px`,height:void 0===g.value?"100%":`${g.value}px`})),u=A(()=>!0===t.cleanView),h=A(()=>!0===t.presentationMode),C=A(()=>{const e=t.zeroLine.width,A=t.zeroLine.opacity,i=t.zeroLine.boundaryThreshold;return{visible:!1!==t.zeroLine.visible,color:t.zeroLine.color||wA,width:"number"==typeof e&&Number.isFinite(e)&&e>0?e:1,dash:t.zeroLine.dash??"6 4",opacity:"number"==typeof A&&Number.isFinite(A)&&A>=0&&A<=1?A:.5,boundaryThreshold:"number"==typeof i&&Number.isFinite(i)&&i>=0?i:.02}}),Q=A(()=>t.legend.backgroundColor||"transparent"),m=A(()=>!0===t.legend.interactive),B=A(()=>void 0===t.hiddenSeriesIds?r.value:new Set(t.hiddenSeriesIds)),E=A(()=>Array.from(B.value)),p=A(()=>"edge-compact"===t.layoutPreset),f=A(()=>t.title?.text.trim()??""),y=A(()=>Boolean(t.title)&&!1!==t.title?.visible&&f.value.length>0),v=A(()=>y.value&&!u.value),w=A(()=>{const e=t.title?.textStyle?.fontSize;return Number.isFinite(e)&&(e??0)>0?e:14}),x=A(()=>{const e=t.title?.textStyle?.rotation;return Number.isFinite(e)?e:0}),k=A(()=>{const e=(x.value%360+360)%360;return e>1e-6&&Math.abs(e-360)>1e-6}),b=A(()=>({color:t.title?.textStyle?.color??"#1f2937",fontSize:`${w.value}px`,fontFamily:t.title?.textStyle?.fontFamily||'"Microsoft YaHei", "微软雅黑", sans-serif',fontWeight:p.value&&18===w.value&&700===t.title?.textStyle?.fontWeight?600:t.title?.textStyle?.fontWeight??400,fontStyle:t.title?.textStyle?.fontStyle??"normal",textDecoration:t.title?.textStyle?.textDecoration??"none",letterSpacing:t.title?.textStyle?.letterSpacing??"normal",lineHeight:String(1.2)})),M=A(()=>{const e=Number.parseFloat(t.title?.textStyle?.letterSpacing??""),A=Number.isFinite(e)?Math.max(0,f.value.length-1)*e:0;return Math.max(1,f.value.length*w.value*.62+A)}),D=A(()=>{const e=c.value-48;return e>0?e:M.value}),N=A(()=>({...b.value,width:"max-content",maxWidth:k.value?"none":`${D.value}px`,whiteSpace:k.value?"nowrap":"normal",overflowWrap:k.value?"normal":"anywhere"})),F=A(()=>function({naturalWidth:e,naturalHeight:A,availableWidth:t,rotation:i,edgeCompact:n=!1}){const a=n?8:18,o=n?0:44,r=pa(e),s=pa(A),l=pa(t),g=Number.isFinite(i)?i:0,c=g*Math.PI/180,I=Math.abs(Math.cos(c)),d=Math.abs(Math.sin(c)),u=(g%360+360)%360;if(!(u>Ea&&Math.abs(u-360)>Ea)){const e=Math.max(1,Math.ceil(r/l)),A=s*e;return{textWidth:l,textHeight:A,visualWidth:l,visualHeight:A,areaHeight:Math.max(o,A+a),scale:1,wrapped:e>1}}const h=160-a,C=r*I+s*d,Q=r*d+s*I,m=Math.min(1,l/C,h/Q),B=Q*m;return{textWidth:r,textHeight:s,visualWidth:C*m,visualHeight:B,areaHeight:Math.min(160,Math.max(o,B+a)),scale:m,wrapped:!1}}({naturalWidth:p.value&&!k.value&&o.value>0?Math.min(a.value||D.value,D.value):a.value||M.value,naturalHeight:o.value||1.2*w.value,availableWidth:D.value,rotation:x.value,edgeCompact:p.value})),G=A(()=>y.value?F.value.areaHeight:0),Y=(e,A)=>"number"==typeof e&&Number.isFinite(e)&&e>=0?e:A,S=A(()=>({top:Y(t.plotMargin.top,yA.top),bottom:Math.max(p.value?44:0,Y(t.plotMargin.bottom,yA.bottom))})),J=A(()=>S.value.top),R=A(()=>Math.max(0,I.value-G.value-s.value));return{fixedWidth:l,fixedHeight:g,chartWidth:c,chartHeight:I,containerStyle:d,isCleanView:u,isEdgeCompact:p,isPresentationMode:h,resolvedZeroLine:C,legendBackgroundColor:Q,legendInteractive:m,hiddenSeriesIdSet:B,resolvedHiddenSeriesIds:E,resolveLegendPosition:e=>t.legend.trackPositions?.[e]??t.legend.position??"top-right",resolveLegendOrientation:e=>{const A=t.legend.orientation??"auto";return"auto"!==A?A:"top"===e||"bottom"===e?"horizontal":"vertical"},resolvedTitleText:f,titleAreaReserved:y,titleVisible:v,titleMeasureStyle:N,titleLayout:F,titleAreaHeight:G,resolvedPlotMargin:S,chartTopMargin:J,drawingHeight:R,xAxisTitleY:A(()=>Math.max(0,R.value-12+(p.value?3:0))),innerHeight:A(()=>Math.max(0,R.value-S.value.top-S.value.bottom)),titleAreaStyle:A(()=>({height:`${G.value}px`,justifyContent:"left"===t.title?.align?"flex-start":"right"===t.title?.align?"flex-end":"center"})),titleVisualStyle:A(()=>({width:`${F.value.visualWidth}px`,height:`${F.value.visualHeight}px`})),titleTextStyle:A(()=>({...b.value,width:`${F.value.textWidth}px`,minHeight:`${F.value.textHeight}px`,textAlign:t.title?.align??"center",whiteSpace:k.value?"nowrap":"normal",overflowWrap:k.value?"normal":"anywhere",transform:`translate(-50%, -50%) rotate(${x.value}deg) scale(${F.value.scale})`}))}}({props:n,observedWidth:g,observedHeight:d,measuredTitleWidth:u,measuredTitleHeight:m,internalHiddenSeriesIds:J,paginationBandHeight:B}),{chartWidth:P,chartHeight:q,isCleanView:K,isPresentationMode:_,hiddenSeriesIdSet:$,resolvedTitleText:ee,titleAreaReserved:Ae,titleMeasureStyle:te,titleAreaHeight:ie,chartTopMargin:ne,innerHeight:ae}=z,oe=Ba({props:n,preparedSeries:V,currentPage:G,hiddenSeriesIdSet:$,chartWidth:P,innerHeight:ae,isCleanView:K,sharedTransform:f,independentTransforms:y,sharedYDomains:x,independentYDomains:b,annotationInteraction:c(R),linePointOverrides:T,boundaries:a}),{chartSeries:re,chartTracks:se,renderingOptions:le,trackLayouts:ge,gridOptions:ce,pageCount:Ie,pagedTracks:de,resolvedChartLeftMargin:ue,innerWidth:he,hasChartArea:Ce,activeInteractionMode:Qe,isZoomMode:me,initialXDomain:Be,sharedZoomDomain:Ee,resolveInitialTrackDomain:ve,annotationLayoutsForTrack:we,resolveSeriesYScale:xe}=oe,ke=function(e,t,i,n){return{plotCenterX:A(()=>t.value+i.value/2),plotTitleAreaStyle:A(()=>e.title?.align&&"center"!==e.title.align&&"left"!==e.title.align?n.value:{...n.value,boxSizing:"border-box",marginLeft:`${t.value}px`,width:`${i.value}px`,..."left"===e.title?.align?{paddingLeft:"0px",paddingRight:"0px"}:{}})}}(n,oe.resolvedChartLeftMargin,oe.innerWidth,z.titleAreaStyle),be=function(e){const t=w("success"),i=w(),n=w(0),a=function(){const e=function(e=()=>{}){let A,t=0,i=!1,n=!1;const a={scheduled:0,coalesced:0,maxPending:0};return{schedule:o=>n?0:(t+=1,a.scheduled+=1,A&&(a.coalesced+=1),A={generation:t,run:o},a.maxPending=Math.max(a.maxPending,1),(async()=>{if(!i&&!n){i=!0;try{for(;A&&!n;){const i=A;A=void 0;try{await i.run(i.generation)}catch(a){if(!n&&i.generation===t)try{e(a,i.generation)}catch{}}}}finally{i=!1}}})(),t),isCurrent:e=>!n&&e===t,cancelPending(){t+=1,A=void 0},dispose(){n=!0,t+=1,A=void 0},metrics:a}}(),A=/* @__PURE__ */new Map,t=/* @__PURE__ */new Map,i=/* @__PURE__ */new Map,n=/* @__PURE__ */new Set,a=/* @__PURE__ */new Map,o={scheduler:e,revisions:A,backendBySeries:t,selectedModeBySeries:i,emittedErrors:n,pendingDiagnostics:a,client:void 0,requestId:0,diagnosticsTimer:void 0,autoModeSettleTimer:void 0,hasInitialSamplingRun:!1,getClient:()=>o.client??=function(){let e,A,t,i=!1;const n=/* @__PURE__ */new Map,a=/* @__PURE__ */new Map,o=()=>{if(A)return A;A=new za;for(const[e,t]of a){A.handle({type:"register-dataset",requestId:0,datasetId:e,revision:0,points:t.points,dataset:t.dataset});for(let i=1;i<t.revision;i+=1)A.handle({type:"replace-dataset",requestId:0,datasetId:e,revision:i,points:t.points,dataset:t.dataset})}return A},r=a=>{i||A||(t=function(e){return e?.message||"Web Worker is unavailable; JavaScript sampling is being used."}(a),e?.terminate(),e=void 0,(()=>{const e=[...n.values()];let A;n.clear();try{A=o()}catch(t){return void e.forEach(({reject:e})=>e(t instanceof Error?t:new Error(String(t))))}e.forEach(({request:e,resolve:i,reject:n})=>{try{i(A.handle(e))}catch(t){n(t instanceof Error?t:new Error(String(t)))}})})())};try{"undefined"==typeof Worker?r():(e=new Worker(new URL("/assets/workerRuntime-BJiRmIZD.js",""+import.meta.url),{type:"module"}),e.onmessage=e=>{const A=n.get(e.data.requestId);A&&("request-error"!==e.data.type?(n.delete(e.data.requestId),A.resolve(e.data)):r({message:e.data.message}))},e.onerror=e=>r(e),e.onmessageerror=()=>r())}catch{r()}return{get workerFailureReason(){return t},send:t=>i?Promise.reject(/* @__PURE__ */new Error("Sampling client was disposed.")):((e=>{"register-dataset"===e.type&&a.set(e.datasetId,{points:e.points,dataset:e.dataset,revision:1}),"replace-dataset"===e.type&&a.set(e.datasetId,{points:e.points,dataset:e.dataset,revision:e.revision+1}),"dispose-dataset"===e.type&&a.delete(e.datasetId),"dispose-all"===e.type&&a.clear()})(t),A?Promise.resolve().then(()=>A.handle(t)):new Promise((A,i)=>{n.set(t.requestId,{request:t,resolve:A,reject:i});try{e?.postMessage(t)}catch{n.delete(t.requestId),r(),A(o().handle(t))}})),dispose(){i=!0,e&&(e.onmessage=null,e.onerror=null,e.onmessageerror=null),A?.handle({type:"dispose-all",requestId:0}),e?.terminate(),e=void 0,n.forEach(({reject:e})=>e(/* @__PURE__ */new Error("Sampling client was disposed."))),n.clear(),a.clear(),A=void 0}}}(),invalidate(){e.cancelPending(),clearTimeout(o.diagnosticsTimer),clearTimeout(o.autoModeSettleTimer),o.diagnosticsTimer=void 0,o.autoModeSettleTimer=void 0,o.hasInitialSamplingRun=!1,a.clear(),A.clear(),t.clear(),i.clear(),n.clear(),o.client?.dispose(),o.client=void 0},dispose(){o.invalidate(),e.dispose()}};return o}(),{revisions:o,backendBySeries:r,selectedModeBySeries:s,emittedErrors:l,pendingDiagnostics:g,scheduler:c}=a,I=A(()=>{const A=e.renderingOptions.value.sampling;return e.sourceTrackLayouts.value.flatMap(t=>{const i=t.xScale.domain();return t.seriesList.flatMap(n=>{if("none"===n.lineType||t.width<=0)return[];const a=n.source??JA(n.points),r=a.visibleRange(i),s=`${e.instanceId}:${n.id}`;return[{series:n,source:a,visibleRange:r,request:{seriesId:n.id,datasetId:s,revision:o.get(s)??1,xDomain:i,visibleStartIndex:r.start,visibleEndIndex:r.end,plotWidth:t.width,mode:A.mode,autoThreshold:A.autoThreshold,autoHysteresis:A.autoHysteresis,strategy:A.strategy,maxPointsPerPixel:A.maxPointsPerPixel,maxPointCount:A.maxPointCount,rawPointLimit:A.rawPointLimit,wasmFailureFallback:A.wasmFailureFallback,lineType:n.lineType,pointType:n.pointType,errorBarVisible:n.errorBar.visible,pointMinSpacing:e.renderingOptions.value.pointMinSpacing,errorBarMinSpacing:e.renderingOptions.value.errorBarMinSpacing}}]})})}),d=A(()=>`${n.value}:${I.value.map(e=>`${e.request.datasetId}:${e.request.xDomain.join(",")}:${e.request.plotWidth}:${e.visibleRange.start}:${e.visibleRange.end}:${e.request.mode}:${e.request.autoThreshold}:${e.request.autoHysteresis}:${e.request.strategy}:${e.request.maxPointsPerPixel}:${e.request.maxPointCount}:${e.request.rawPointLimit}:${e.request.wasmFailureFallback}:${e.request.lineType}:${e.request.pointType}:${e.request.errorBarVisible}:${e.request.pointMinSpacing}:${e.request.errorBarMinSpacing}`).join("|")}`),u=()=>{a.diagnosticsTimer=void 0,g.forEach(A=>{const t=r.get(A.seriesId);t&&t!==A.backend&&e.emit("sampling-backend-change",{seriesId:A.seriesId,previous:t,current:A.backend}),r.set(A.seriesId,A.backend),e.emit("sampling-complete",A)}),g.clear()},h=e=>{e.forEach(e=>g.set(e.seriesId,{...e,scheduledRequestCount:c.metrics.scheduled,coalescedRequestCount:c.metrics.coalesced,maxPendingRequestCount:c.metrics.maxPending})),a.diagnosticsTimer||(a.diagnosticsTimer=setTimeout(u,100))},C=A=>{const t=`${A.mode}:${A.fallback}:${A.message}:${A.seriesIds.join(",")}`;l.has(t)||(l.add(t),e.emit("sampling-error",A))},m=A=>{i.value=void 0;const n=d.value;t.value="success",c.schedule(async r=>{try{await(async(A,i=!1)=>{const n=I.value,r={...e.linePointOverrides.value},l=[],g=[];if(n.forEach(e=>{const t=e.visibleRange.end-e.visibleRange.start,n=i?s.get(e.series.id):void 0,a="auto"===e.request.mode&&"raw"===function(e,A,t,i){return i?"raw"===i?e<=A+t?"raw":"sampled":e<=Math.max(0,A-t)?"raw":"sampled":e<=A?"raw":"sampled"}(t,e.request.autoThreshold,e.request.autoHysteresis??0,n);"raw"===e.request.mode||a?(r[e.series.id]=zA(e.source.pointsInRange(e.visibleRange.start,e.visibleRange.end),e.visibleRange,e.source.length,A=>e.source.pointAt(A)),s.set(e.series.id,"raw"),g.push(function(e,A){const t=e.request,i=e.visibleRange.end-e.visibleRange.start;return{seriesId:t.seriesId,datasetId:t.datasetId,mode:t.mode,selectedMode:"raw",backend:"raw",strategy:"auto"===t.strategy?"peak":t.strategy,sourcePointCount:e.source.length,visiblePointCount:i,renderedPointCount:i+VA(e.visibleRange,e.source.length).length,durationMs:0,cacheHit:!1,requestId:A,revision:t.revision,rawPointLimitExceeded:i>e.request.rawPointLimit&&"raw"===e.request.mode,scheduledRequestCount:0,coalescedRequestCount:0,maxPendingRequestCount:0}}(e,A))):(r[e.series.id]?.length||(r[e.series.id]=zA(function(e){const{source:A}=e,{start:t,end:i}=e.visibleRange,n=i-t,a=Number.isFinite(e.request.maxPointCount)&&(e.request.maxPointCount??0)>=1?Math.floor(e.request.maxPointCount):Math.max(1,Math.floor(e.request.plotWidth*e.request.maxPointsPerPixel));if(n<=a)return A.pointsInRange(t,i);if(1===a)return A.pointAt(t)?[A.pointAt(t)]:[];const o=[];for(let r=0;r<a;r+=1){const e=Math.round(r*(n-1)/(a-1)),i=A.pointAt(t+e);i&&o.push(i)}return o}(e),e.visibleRange,e.source.length,A=>e.source.pointAt(A))),l.push({...e,request:{...e.request,previousSelectedMode:n}}))}),!l.length){if(!c.isCurrent(A))return;return e.linePointOverrides.value=r,void h(g)}e.linePointOverrides.value=r;const d=a.getClient();let u;try{if(await(async(e,A,t)=>{await Promise.all(A.map(async A=>{if(o.has(A.request.datasetId))return;const i=await e.send({type:"register-dataset",requestId:++a.requestId,datasetId:A.request.datasetId,revision:0,dataset:A.source.toWorkerDataset()});c.isCurrent(t)&&function(e){return"dataset-response"===e.type}(i)&&("ok"===i.status||"stale-revision"===i.status)&&o.set(A.request.datasetId,i.revision)}))})(d,l,A),!c.isCurrent(A))return;const e=l.map(e=>({...e.request,revision:o.get(e.request.datasetId)??1})),i=await d.send({type:"sample-viewport",requestId:++a.requestId,series:e});if("sample-viewport-response"!==i.type)return void(c.isCurrent(A)&&(t.value="error"));u=i}catch(m){if(!c.isCurrent(A))return;return t.value="error",void C(Pa(m instanceof Error?m.message:String(m),e.renderingOptions.value.sampling.mode,"wasm"===e.renderingOptions.value.sampling.mode&&"error"===e.renderingOptions.value.sampling.wasmFailureFallback?"none":"javascript",l.map(e=>e.series.id)))}if(!c.isCurrent(A))return;(u.workerError||d.workerFailureReason)&&(t.value="fallback");const Q=new Map(l.map(e=>[e.series.id,e.source]));l.some(e=>!u.results.some(A=>A.seriesId===e.series.id&&A.output))&&(t.value="error"),u.results.forEach(e=>{"ok"!==e.status&&"error"!==t.value&&(t.value=e.output?"fallback":"error");const A=Q.get(e.seriesId),i=A?function(e,A){const t=e.output;if(t)return"aggregates"===t.kind?Array.from(t.x,(e,A)=>({x:e,y:t.y[A]})):Array.from(t.sourceIndexes,e=>A.pointAt(e)).filter(e=>void 0!==e)}(e,A):void 0;!i||"ok"!==e.status&&"wasm-unavailable"!==e.status||(r[e.seriesId]=i),g.push(e.diagnostics),s.set(e.seriesId,e.diagnostics.selectedMode),"wasm-unavailable"===e.status&&C(Pa(u.workerError??"WASM sampling is unavailable.",e.diagnostics.mode,"javascript"===e.diagnostics.backend?"javascript":"none",[e.seriesId]))}),u.workerError&&u.results.every(e=>"wasm-unavailable"!==e.status)&&C(Pa(u.workerError,e.renderingOptions.value.sampling.mode,"wasm"===e.renderingOptions.value.sampling.mode&&"error"===e.renderingOptions.value.sampling.wasmFailureFallback?"none":"javascript",l.map(e=>e.series.id))),d.workerFailureReason&&u.results.every(e=>"wasm-unavailable"!==e.status)&&C(Pa(d.workerFailureReason,e.renderingOptions.value.sampling.mode,"wasm"===e.renderingOptions.value.sampling.mode&&"error"===e.renderingOptions.value.sampling.wasmFailureFallback?"none":"javascript",l.map(e=>e.series.id))),e.linePointOverrides.value={...r},h(g)})(r,A)}finally{c.isCurrent(r)&&(i.value=n)}})};return N(d,()=>{a.autoModeSettleTimer&&clearTimeout(a.autoModeSettleTimer);const A=a.hasInitialSamplingRun;a.hasInitialSamplingRun=!0,m(A),A&&"auto"===e.renderingOptions.value.sampling.mode&&e.renderingOptions.value.sampling.autoHysteresis>0&&(a.autoModeSettleTimer=setTimeout(()=>{a.autoModeSettleTimer=void 0,m(!1)},120))},{immediate:!0}),N(e.preparedSeries,()=>{a.invalidate(),n.value+=1,e.linePointOverrides.value={}},{flush:"sync"}),Q(()=>a.dispose()),{requestSignature:d,state:A(()=>i.value!==d.value||a.autoModeSettleTimer?"pending":t.value),linePointOverrides:e.linePointOverrides,ready:()=>i.value===d.value&&!a.autoModeSettleTimer}}({props:n,emit:t,instanceId:S,preparedSeries:V,sourceTrackLayouts:ge,renderingOptions:le,linePointOverrides:T}),Me=function(e){const{props:t,tracks:i,preparedSeries:n,sampling:a}=e,o=A(()=>function(e){function A(e,A,t,i){return void 0===e?A:t(e)?e:A}const t=e=>"number"==typeof e&&Number.isFinite(e)&&e>=0,i=e=>"boolean"==typeof e,n=e=>{try{return Te(e),!0}catch{return!1}},a=e=>"function"==typeof e;function o(e,o,r){return{enabled:A(e?.enabled,!0,i),duration:A(e?.duration,o,t),easing:A(e?.easing,r,n),onComplete:void 0===e?.onComplete?void 0:A(e.onComplete,()=>{},a),onAbort:void 0===e?.onAbort?void 0:A(e.onAbort,()=>{},a)}}const r=A(e.animationAnnotation?.type,"scale",sA);return{animationEnabled:A(e.animationEnabled,!0,i),animationThreshold:A(e.animationThreshold,2e5,e=>t(e)&&Number.isInteger(e)),animation:{...o(e.animation,1e3,"cubicInOut"),delay:A(e.animation?.delay,0,t),staggerDelay:A(e.animation?.staggerDelay,100,t),direction:A(e.animation?.direction,"left-to-right",e=>["left-to-right","right-to-left","center-out"].includes(e))},animationUpdate:o(e.animationUpdate,300,"cubicInOut"),animationAnnotation:{...o(e.animationAnnotation,300,rA[r]),type:r}}}(t)),r=w(0),s=()=>r.value++,l=/* @__PURE__ */new Map,g=/* @__PURE__ */new Set,c=/* @__PURE__ */new Set,I=si("waveform-animation");let d,u,h=0,C=0,m=hi(e),B=t.annotations,E=t.data,p="",f="",y=i.value,v=a.state.value;const x=w(!1);let k=!1;const b="function"==typeof globalThis.matchMedia?globalThis.matchMedia("(prefers-reduced-motion: reduce)"):void 0,M=w(b?.matches??!1),D=A(()=>n.value.reduce((e,A)=>e+A.source.length,0)),F=A(()=>o.value.animationEnabled&&!M.value&&!x.value&&"function"==typeof globalThis.requestAnimationFrame&&"function"==typeof globalThis.cancelAnimationFrame&&D.value<o.value.animationThreshold),G=()=>t.annotationsVisible&&!t.cleanView?t.annotations:[],Y=new fA({commitFinalState:()=>U()}),S=function(e,A){const t=/* @__PURE__ */new Map,i=()=>({opacity:1,scale:1,offsetY:0});let n;const a=(e,i)=>({read:()=>i.style,write:n=>{i.style=n,i.leaving&&0===n.opacity&&t.get(e)===i&&t.delete(e),A()}});function o(A,t){t.waiting=!1,e.animateAnnotationAppear(A,a(A,t),n)}return{reconcile(r,s,l,g,c){n=l;const I=new Set(r.map(e=>e.annotation.id)),d=new Set(s.map(e=>e.id));for(const[A,i]of t)I.has(A)||i.leaving&&g||(!d.has(A)&&g?(i.rendered=Object.freeze({...i.rendered,annotation:Object.freeze({...i.rendered.annotation,style:i.rendered.annotation.style?Object.freeze({...i.rendered.annotation.style}):void 0}),lines:Object.freeze([...i.rendered.lines]),box:Object.freeze({...i.rendered.box}),style:Object.freeze({...i.rendered.style})}),i.leaving=!0,i.waiting=!1,e.animateAnnotationDisappear(A,a(A,i),n)):(t.delete(A),e.cancel({kind:"annotation",id:A,scope:"enter"}),e.cancel({kind:"annotation",id:A,scope:"leave"})));for(const A of r){const a=A.annotation.id;let r=t.get(a);!r||r.leaving?(r?(r.leaving=!1,e.cancel({kind:"annotation",id:a,scope:"leave"}),r.rendered=A):(r={rendered:A,leaving:!1,waiting:!1,style:g?{opacity:0,scale:"scale"===n.type||"bounce"===n.type?0:1,offsetY:"slide-in"===n.type?8:0}:i()},t.set(a,r)),g?(r.waiting=c.has(A.annotation.seriesId),r.waiting||o(a,r)):r.style=i()):r.rendered=A}A()},release(e){for(const[A,i]of t)!i.waiting||e&&i.rendered.annotation.seriesId!==e||o(A,i);A()},finish(e){t.clear();for(const A of e)t.set(A.annotation.id,{rendered:A,style:i(),leaving:!1,waiting:!1});A()},project(e,A){const i=new Map(e.map(e=>[e.annotation.id,e]));return[...t.values()].filter(e=>e.leaving||i.has(e.rendered.annotation.id)).map(e=>(e.leaving||(e.rendered=i.get(e.rendered.annotation.id)??e.rendered),{...e.rendered,animationStyle:e.style,leaving:e.leaving,seriesOpacity:A.get(e.rendered.annotation.seriesId)??1}))},clear(){t.clear(),A()}}}(Y,s),J=A(()=>(r.value,i.value.map(e=>l.has(e.id)?function(e){const A=e.target,t=Wt(A.xScale,e.xDomain),i=A.yAxes.map((A,t)=>{const i=Wt(A.scale,e.yDomains[t]);return i===A.scale?A:{...A,scale:i}}),n=i.every((e,t)=>e===A.yAxes[t])?A.yAxes:i,a=[];for(const[o,r]of e.series){const i=n[r.path.yAxisIndex]?.scale??A.yScale;r.old&&a.push({...jt(r.old.path,r.old.values,t,i),presentationKey:`${o}:old`,opacity:1-r.opacity}),a.push({...jt(r.path,r.values,t,i),presentationKey:o,opacity:r.opacity,animationClip:e.clips.get(o)})}return{...A,xScale:t,yScale:n[0]?.scale??A.yScale,yAxes:n,seriesPaths:a,path:a[0]?.path??null}}(l.get(e.id)):e))),R=function(e,A,t,n){let a;const o=()=>JSON.stringify({options:Object.fromEntries(Object.entries(Je(e.props)).filter(([e])=>!["annotations","annotationsVisible"].includes(e))),size:e.containerSize.value,amplitudeLimits:e.props.amplitudeLimits,hidden:e.props.hiddenSeriesIds,presentation:e.props.presentationMode});function r(){a=void 0}function s(e,i="page"){r(),A.cancelAll(),A.finishAll(),n.value&&t.value.animation.enabled&&(a={page:e,trigger:i,environment:o(),started:!1})}return{reset:r,reconcile:function(s){const l=a;if(l)if(t.value.animation.enabled){if(s||l.page!==e.currentPage.value||l.environment!==o()||!n.value||!l.started&&0===t.value.animation.duration||["fallback","error"].includes(e.sampling.state.value)||l.started&&(l.geometry!==Ci(e)||l.signature!==e.sampling.requestSignature.value||"success"!==e.sampling.state.value))return A.finishAll(),r(),"static";if(!l.started||A.getActiveAnimationCount())return l.started||((()=>{U(!0);for(const e of i.value)for(const A of e.seriesList)c.delete(A.id);u=void 0,S.clear()})(),l.started="success"===e.sampling.state.value&&e.layoutReady.value,l.started&&(l.geometry=Ci(e),l.signature=e.sampling.requestSignature.value)),"replay";r()}else r()},wrapPagination:function(A,t){return i=>{const n=Math.min(t.value,Math.max(1,Math.floor(i)));n!==e.currentPage.value&&(s(n),A(i))}},requestLayout:()=>s(e.currentPage.value,"grid"),enterDuration:()=>"page"===a?.trigger&&t.value.animation.duration>0?500:t.value.animation.duration,active:()=>!!a&&(!a.started||A.getActiveAnimationCount()>0)}}(e,Y,o,F),T=A(()=>{const A=new Map([...l.values()].flatMap(e=>[...e.anchors]));return oi(G().flatMap(e=>{const t=A.get(e.id),i=[...l.values()].find(A=>A.series.has(e.seriesId))?.target.xScale.domain();return t&&i&&e.x>=i[0]&&e.x<=i[1]?[{...e,x:t.x,y:t.y}]:[]}),J.value.flatMap(e=>e.seriesList.map(A=>({...e,series:A,yScale:e.seriesPaths.find(e=>e.series.id===A.id&&e.presentationKey!==`${A.id}:old`)?.yScale??e.yScale}))),e.innerWidth.value,e.innerHeight.value)}),Z=A(()=>{r.value;const e=new Map([...l.values()].flatMap(e=>[...e.series].map(([e,A])=>[e,A.opacity])));return S.project(T.value,e)});function U(e=!1){C++,e||R.reset();const A=new Map(l);l.clear();for(const t of i.value)l.set(t.id,Xt(t,G(),A.get(t.id),!!d));for(const t of i.value)if(t.width>0&&t.height>0)for(const e of t.seriesList)(e.source?.length??e.points.length)>0&&c.add(e.id);g.clear(),d=void 0,u=a.requestSignature.value,s(),S.finish(T.value)}const L=A(()=>Ci(e));function j(){if(k)return;const A=o.value,r=t.data!==E;if(!r&&c.size&&hi(e)!==m)return;if(r){d=new Map(l),E=t.data;for(const A of l.keys())Y.cancel({kind:"custom",id:`track:${A}`,scope:"update"});const e=[...g];for(const A of e)Y.cancel({kind:"series",id:A,scope:"enter"});queueMicrotask(()=>{k||e.forEach(e=>S.release(e))}),g.clear()}const Q=JSON.stringify(Object.fromEntries(Object.entries(Je(t)).filter(([e])=>!["annotations","annotationsVisible"].includes(e)))),w=""!==f&&f!==Q||c.size>0&&!r&&(""!==p&&p!==L.value||!d&&"success"===v&&i.value!==y);f=Q,p=L.value,y=i.value,v=a.state.value,Y.setEnabled(F.value);const x=R.reconcile(r);if("static"===x)return;if(!F.value||w&&!x)return Y.finishAll(),void U();const b="pending"!==a.state.value&&e.layoutReady.value;if(d&&!b)return;const M=d&&"success"===a.state.value&&u!==a.requestSignature.value&&A.animationUpdate.enabled,D=new Set(n.value.filter(e=>e.source.length>0).map(e=>e.id));for(const e of c)D.has(e)||c.delete(e);const N=i.value.flatMap(e=>e.seriesList.map(e=>e.id)),J=d??new Map(l),Z=new Set(i.value.map(e=>e.id));for(const e of l.keys())Z.has(e)||l.delete(e);for(const e of i.value){if(e.width<=0||e.height<=0){l.set(e.id,Xt(e,G()));continue}const t=J.get(e.id),i=Xt(e,G(),t,!!d);d?(l.set(e.id,i),M&&t&&!Vt(t)&&(l.set(e.id,zt(t,i,0,!1)),Y.animate({kind:"custom",id:`track:${e.id}`,scope:"update"},{duration:A.animationUpdate.duration,easing:A.animationUpdate.easing,force:!0,during:(A,n)=>{l.set(e.id,zt(t,i,A,n.terminal)),s()},done:()=>e.seriesPaths.forEach(()=>A.animationUpdate.onComplete?.()),aborted:()=>e.seriesPaths.forEach(()=>A.animationUpdate.onAbort?.())}))):l.has(e.id)&&Y.getActiveAnimationCount()||l.set(e.id,i);for(const n of e.seriesPaths){const t=n.series.id;if(!((n.series.source?.length??n.series.points.length)>0)){c.delete(t);continue}if(!b){if(!c.has(t)&&A.animation.enabled&&A.animation.duration>0&&u!==a.requestSignature.value){const A=l.get(e.id);A.clips.has(t)||A.clips.set(t,{id:`${I}-${++h}`,x:0,width:0})}continue}if(c.has(t))continue;if(c.add(t),!A.animation.enabled||"success"!==a.state.value||u===a.requestSignature.value)continue;const i=l.get(e.id),o={id:`${I}-${++h}`,x:0,width:e.width};i.clips.set(t,o),g.add(t);const r={read:()=>o,write:e=>{Object.assign(o,e),s()}},d=C;Y.animateSeriesEnter(t,r,e.width,{...A.animation,duration:R.enterDuration(),delay:A.animation.delay+N.indexOf(t)*A.animation.staggerDelay,onComplete:()=>{i.clips.delete(t),g.delete(t),s(),queueMicrotask(()=>{k||C!==d||S.release(t)}),A.animation.onComplete?.()},onAbort:()=>{A.animation.onAbort?.()}})}}if(t.annotations!==B){for(const e of i.value){const A=l.get(e.id);A&&(A.anchors=Xt(e,G(),A).anchors)}B=t.annotations}d=void 0,s(),b&&S.reconcile(T.value,t.annotations,A.animationAnnotation,A.animationAnnotation.enabled&&F.value&&t.annotationsVisible&&!t.cleanView,g)}N([i,()=>t.data,()=>t.annotations,()=>t.annotationsVisible,o,L,a.state,e.layoutReady,e.currentPage,F],j,{immediate:!0}),N([()=>hi(e),()=>t.data],([e,A],[t,i])=>{m=e,!k&&e!==t&&A===i&&c.size&&(R.requestLayout(),j())},{flush:"post"}),N(()=>t.annotationsVisible,e=>{e||Y.finishWhere(e=>"annotation"===e.kind&&["enter","leave"].includes(e.scope),()=>S.finish([]))}),N(()=>o.value.animation.enabled,e=>{e||Y.finishWhere(e=>"series"===e.kind&&"enter"===e.scope,()=>{for(const e of l.values())e.clips.clear();g.clear(),s()}),e||S.release()}),N(()=>o.value.animationUpdate.enabled,e=>{e||Y.finishWhere(e=>"update"===e.scope||"domain"===e.scope,()=>{for(const e of i.value){const A=l.get(e.id),t=Xt(e,G(),A,!0);A&&(t.clips=A.clips),l.set(e.id,t)}s()})}),N(()=>o.value.animationAnnotation.enabled,e=>{e||Y.finishWhere(e=>"annotation"===e.kind&&["enter","leave"].includes(e.scope),()=>S.finish(T.value))});const O=e=>{M.value=e.matches,e.matches&&Y.finishAll()},W=()=>Y.setPauseReason("document-hidden",document.hidden);function X(e){R.active()&&e?.target instanceof Element&&e.target.closest(".waveform-chart__pagination")||("pending"===a.state.value&&(u=a.requestSignature.value),(Y.getActiveAnimationCount()||d||R.active()||"pending"===a.state.value)&&Y.finishAll())}return b?.addEventListener?.("change",O),"undefined"!=typeof document&&(document.addEventListener("visibilitychange",W),W()),Q(()=>{k=!0,R.reset(),l.clear(),g.clear(),S.clear(),b?.removeEventListener?.("change",O),"undefined"!=typeof document&&document.removeEventListener("visibilitychange",W),Y.destroy()}),{presentationTracks:J,presentationAnnotations:Z,stabilizeAnimations:X,wrap:e=>function(e,A){return Object.fromEntries(Object.entries(e).map(([e,t])=>[e,"function"==typeof t&&"getControlState"!==e?(...e)=>(A(),t(...e)):t]))}(e,X),wrapPagination:R.wrapPagination,prepareExport:()=>{x.value=!0,X()},releaseExport:()=>{x.value=!1}}}({props:n,currentPage:G,containerSize:A(()=>[g.value,d.value]),layoutReady:A(()=>g.value>0&&d.value>0),tracks:ge,preparedSeries:V,innerWidth:he,innerHeight:z.innerHeight,sampling:be}),Fe=A(()=>ce.value.showPagination&&Ie.value>1&&!K.value);F(()=>{B.value="edge-compact"===n.layoutPreset?Fe.value?16:0:ce.value.showPagination&&Ie.value>1&&P.value<=520?40:0});const Ge=function(e){const{props:A,emit:t,svgElement:i,sharedOverlayElement:n,sharedTransform:a,independentTransforms:o,trackLayouts:r,initialXDomain:s,sharedZoomDomain:l,innerWidth:g,hasChartArea:c,isZoomMode:I,isPresentationMode:d,resolveInitialTrackDomain:u,cancelPendingHover:h}=e,C=Qa();let Q=null,m=null,B=null;const E=/* @__PURE__ */new Map,p=/* @__PURE__ */new Map,f=/* @__PURE__ */new Map;let y,v=!1;const w=()=>C.schedule(x);function x(){if(d.value)return void b();if(Q){const e=Q;Q=null,B=m,m=null,a.value=e;const i=e.rescaleX(fe(s.value,[0,g.value])).domain();t("zoom-change",tn([i[0],i[1]],A))}if(!E.size)return;const e=[...o.value],i=Array.from(E.keys()),n=new Map(p);E.forEach((A,t)=>{e[t]=A}),E.clear(),p.clear(),o.value=e;const l=new Map(r.value.map(e=>[e.index,e]));i.forEach(e=>{const A=l.get(e);if(!A)return;if("wheel"===n.get(e)){const e=A.seriesList.map(e=>e.id);f.set(ha(e),e)}const i=A.xScale.domain();t("zoom-change",[i[0],i[1]])})}function k(){void 0!==y&&clearTimeout(y),y=setTimeout(()=>{y=void 0,C.flush(),x(),(()=>{if("independent"===A.displayMode)return function(e,A,t){for(const i of t){const t=Ca(A,i);if(!t)continue;const n=t.xScale.domain(),a=t.yScale.domain();e("zoom-end",{start:n[0],end:n[1],yStart:a[0],yEnd:a[1],trackIndex:t.index,seriesIds:[...i],gesture:"wheel"})}}(t,r.value,f.values()),void f.clear();"wheel"===B?(function(e,A,t){const i=t.filter(e=>e.hasVisibleSeries);if(1===i.length){const t=i[0]?.yScale.domain();return void e("zoom-end",{start:A[0],end:A[1],yStart:t?.[0],yEnd:t?.[1],gesture:"wheel"})}e("zoom-end",{start:A[0],end:A[1],yRanges:Object.fromEntries(i.map(e=>[e.series?.trackId??e.series?.id??e.id,e.yScale.domain()])),gesture:"wheel"})}(t,l.value,r.value),B=null):B=null})(),v=!1},200)}const b=()=>{Q=null,m=null,B=null,E.clear(),p.clear(),f.clear(),C.cancel(),v=!1,void 0!==y&&(clearTimeout(y),y=void 0)},M=(e=!1)=>{e||b(),i.value?.querySelectorAll(".waveform-chart__overlay").forEach(e=>ye(e).on(".zoom",null))},D=(e,i,n,a,o,l)=>{ye(e).property("__zoom",o).on("wheel.zoom",o=>{if(!Number.isFinite(o.deltaY)||0===o.deltaY)return;const c=Ne(e).rescaleX(fe(i,[0,n])).domain(),I=Tn(c,o.deltaY<0?"zoom-in":"zoom-out",i,a,A,pe(o,e)[0]/n);if(Rn(c,I))return;o.preventDefault(),o.stopImmediatePropagation();const C=Fn(I,i,n);ye(e).property("__zoom",C),void 0===l?(e=>{if(d.value)return;h(),Q=e.transform,m="wheel",k();const[i,n]=tn(e.transform.rescaleX(fe(s.value,[0,g.value])).domain(),A);t("zoom-intent",{start:i,end:n,gesture:"wheel"}),w()})({transform:C}):((e,i)=>{if(d.value)return;h(),E.set(i,e.transform),p.set(i,"wheel"),k();const n=r.value.find(e=>e.index===i);if(n){const a=e.transform.rescaleX(fe(u(n),[0,n.width])).domain();t("zoom-intent",{start:tn(a,A)[0],end:tn(a,A)[1],trackIndex:i,seriesIds:n.seriesList.map(e=>e.id),gesture:"wheel"})}w()})({transform:C},l)},{passive:!1})};return{cancelPendingZoom:b,clearZoomBindings:M,configureZoom:()=>{if(M(v),d.value||!A.zoomable||!I.value||!c.value||!r.value.length)return;if("independent"===A.displayMode)return void r.value.forEach(e=>{const A=i.value?.querySelector(`[data-independent-overlay-index="${e.index}"]`);if(!A)return;const t=u(e),n=[e.seriesList];D(A,t,e.width,n,o.value[e.index]??De,e.index)});const e=n.value;if(!e)return;const t=r.value.filter(e=>e.hasVisibleSeries).map(e=>e.seriesList);D(e,s.value,g.value,t,a.value)},prepareForDataChange:()=>{void 0!==y&&(C.flush(),x(),v=!0)}}}({props:n,emit:t,svgElement:r,sharedOverlayElement:l,sharedTransform:f,independentTransforms:y,trackLayouts:ge,initialXDomain:Be,sharedZoomDomain:Ee,innerWidth:he,innerHeight:ae,hasChartArea:Ce,isZoomMode:me,isPresentationMode:_,resolveInitialTrackDomain:ve,cancelPendingHover:()=>Ze.cancelPendingHover()});H=Ge.prepareForDataChange;const Ye=function(e){const{props:A,emit:t,container:i,chartSeries:n,hiddenSeriesIdSet:a,internalHiddenSeriesIds:o,annotationInteraction:r,editorSeriesOptions:s,trackLayouts:l,annotationLayoutsForTrack:g,resolveSeriesYScale:c,chartWidth:I,chartHeight:d,innerWidth:u,resolvedChartLeftMargin:h,titleAreaHeight:C,chartTopMargin:Q,activeInteractionMode:m,isPresentationMode:B}=e,E=p("");function f(e,A){const t=e.currentTarget;if(!t)return{x:I.value/2,y:d.value/2};const[i,n]=pe(e,t),a=void 0===A?void 0:l.value[A];return{x:h.value+(a?a.left+i:i),y:C.value+Q.value+(a?a.top+n:n)}}function y(){E.value="",r.closeEditor(),s.value=[]}function v(e,A,t){if(void 0!==t){const e=l.value[t];return e?.hasVisibleSeries?e:void 0}return function(e,A,t){const i=e=>{const i=A<e.left?e.left-A:A>e.left+e.width?A-e.left-e.width:0;return t<e.top?e.top-t:t>e.top+e.height?t-(e.top+e.height):i};let n=e[0];if(!n)return;let a=i(n);for(let o=1;o<e.length;o+=1){const A=e[o],r=i(A);r<a?(n=A,a=r):r===a&&Math.abs(t-(A.top+A.height/2))<Math.abs(t-(n.top+n.height/2))&&(n=A)}return n}(l.value.filter(e=>e.hasVisibleSeries),e,A)}return{toggleSeriesVisibility:function(e){if(!n.value.some(A=>A.id===e))return;const i=new Set(a.value),r=i.has(e);r?i.delete(e):i.add(e);const s=Array.from(i);void 0===A.hiddenSeriesIds&&(o.value=i),t("update:hidden-series-ids",s),t("series-visibility-change",{seriesId:e,visible:r,hiddenSeriesIds:s})},changeDraftSeries:function(e){if(B.value)return;const A=r.editorDraft.value,t=s.value.find(A=>A.seriesId===e),i=l.value.find(A=>A.seriesList.some(A=>A.id===e)),n=(i?.seriesList.find(A=>A.id===e))?.source,a=n?.pointAt(0),o=n?.pointAt((n?.length??0)-1),g=A?n?.nearestPoint(A.annotation.x):void 0;A&&t&&i&&a&&o&&g?A.annotation.x<a.x||A.annotation.x>o.x?E.value="时间超出当前波形范围":(E.value="",A.annotation={...A.annotation,seriesId:e,y:g.y,style:{...A.annotation.style,borderColor:t.color}}):E.value="当前波形没有有效数据"},changeDraftTime:function(e){if(B.value)return;const t=r.editorDraft.value,i=Number(e);if(!t||!Number.isFinite(i))return void(E.value="请输入有效的时间");const n="ms"===A.timeUnit?i/1e3:i,a=(l.value.find(e=>e.seriesList.some(e=>e.id===t.annotation.seriesId))?.seriesList.find(e=>e.id===t.annotation.seriesId))?.source,o=a?.pointAt(0),s=a?.pointAt((a?.length??0)-1);if(!a||!o||!s)return void(E.value="当前波形没有有效数据");if(n<o.x||n>s.x)return void(E.value="时间超出当前波形范围");const g=a.nearestPoint(n);E.value="",t.annotation={...t.annotation,x:g.x,y:g.y}},timeError:E,cancelAnnotation:y,resolveTrackAtPointer:v,handleAnnotationClick:function(e,t){if(B.value||!A.annotationsVisible||0!==e.button||"annotation"!==m.value)return;const i=function(e,A){const t=e.currentTarget;if(!t||!l.value.length)return null;const[i,n]=pe(e,t),a=void 0===A?n:n+(l.value[A]?.top??0),o=v(i,a,A);if(!o)return null;const r=Math.max(0,Math.min(u.value,i)),s=Math.max(0,Math.min(o.width,r-o.left)),c=o.xScale.invert(s);return{candidates:$t(g(o),c,s,a),editorAnchor:f(e,A)}}(e,t);if(!i||!i.candidates.length)return;const n=function(e){const A=e[0];return!A||A.distance>12?[]:e.filter(e=>e.distance<=12&&e.distance-A.distance<5)}(i.candidates);e.preventDefault(),e.stopPropagation(),function(e,A,t){E.value="",r.openCreate(e,la,A),s.value=t;const i=r.editorDraft.value,n=l.value.find(A=>A.index===e.trackIndex)?.seriesList.find(A=>A.id===e.seriesId);"add"===i?.mode&&(i.annotation.style={borderColor:n?.color||"#1677ff",textColor:"#333333",backgroundColor:"rgba(255, 255, 255, 0.92)"})}(n[0]??i.candidates[0],i.editorAnchor,i.candidates)},handleNativeContextMenu:function(e){const A=e.target;A instanceof Element&&A.closest('input, textarea, [contenteditable]:not([contenteditable="false"])')||e.preventDefault()},handleExistingAnnotationContextMenu:function(e,t){if(B.value||!A.annotationsVisible||!i.value)return;if(s.value=[],!A.annotations.find(A=>A.id===e))return;const n=i.value.getBoundingClientRect(),a={x:Math.max(0,Math.min(t.clientX-n.left,I.value)),y:Math.max(0,Math.min(t.clientY-n.top,d.value))};r.openContextMenu({annotationId:e,x:Math.max(4,Math.min(t.clientX-n.left,I.value-120)),y:Math.max(4,Math.min(t.clientY-n.top,d.value-110)),editorAnchor:a})},handleAnnotationMove:function(e,i,n){B.value||A.annotations.find(A=>A.id===e)&&Number.isFinite(i)&&Number.isFinite(n)&&t("update:annotations",A.annotations.map(A=>A.id===e?{...A,labelOffsetX:i,labelOffsetY:n}:A))},editContextAnnotation:function(){if(B.value)return;E.value="";const e=r.contextMenu.value,t=A.annotations.find(A=>A.id===e?.annotationId);if(!t)return;const i=l.value.find(e=>e.seriesList.some(e=>e.id===t.seriesId));s.value=i?$t(g(i),t.x,i.xScale(t.x),i.top+c(i,t.seriesId)(t.y)):[],r.openEdit(t,e?.editorAnchor??function(e){const A=l.value.find(A=>A.seriesList.some(A=>A.id===e.seriesId));return{x:A?h.value+A.left+A.xScale(e.x):I.value/2,y:A?C.value+Q.value+A.top+c(A,e.seriesId)(e.y):d.value/2}}(t))},deleteContextAnnotation:function(){if(B.value)return;const e=r.contextMenu.value?.annotationId,i=A.annotations.find(A=>A.id===e);i&&(t("update:annotations",A.annotations.filter(e=>e.id!==i.id)),t("annotation-delete",i),r.closeContextMenu())},confirmAnnotation:function(e){if(B.value)return;const i=r.editorDraft.value;i&&!E.value&&("add"===i.mode?(t("update:annotations",[...A.annotations,e]),t("annotation-create",e)):(t("update:annotations",A.annotations.map(A=>A.id===e.id?e:A)),t("annotation-update",e,i.previous)),y())}}}({props:n,emit:t,container:o,chartSeries:re,hiddenSeriesIdSet:$,internalHiddenSeriesIds:J,annotationInteraction:R,editorSeriesOptions:Z,trackLayouts:ge,annotationLayoutsForTrack:we,resolveSeriesYScale:xe,chartWidth:P,chartHeight:q,innerWidth:he,resolvedChartLeftMargin:ue,titleAreaHeight:ie,chartTopMargin:ne,activeInteractionMode:Qe,isPresentationMode:_}),Re=function(e){const{props:t,emit:i,selection:n,spacePressed:a,trackLayouts:o,chartTracks:r,initialXDomain:s,innerWidth:l,innerHeight:g,sharedOverlayElement:c,sharedTransform:d,independentTransforms:u,sharedYDomains:h,independentYDomains:C,isZoomMode:Q,isPresentationMode:m,editorSeriesOptions:B,resolveInitialTrackDomain:E,configureZoom:p,cancelPendingZoom:f,clearHover:y,resolveTrackAtPointer:v}=e,x=w(),k=(e,A)=>{const t=x.value,i=A?.currentTarget;ga(t,e),i&&i!==t&&ga(i,e)},b=(e,A)=>{const t=n.value;t&&t.pointerId===e&&(k(e,A),n.value=da(n.value,{type:"cancel",pointerId:e}).state,x.value=void 0)},M=A(()=>{const e=n.value;if(!e)return null;const A=o.value.find(A=>A.index===e.trackIndex);return{x:Math.min(e.startX,e.currentX)+(e.independent?A?.left??0:0),y:Math.min(e.startY,e.currentY)+(e.independent?A?.top??0:0),width:Math.abs(e.currentX-e.startX),height:Math.abs(e.currentY-e.startY)}}),D=(e,A,i)=>{if(m.value)return;const r=t.pannable&&("pan"===t.interactionMode||Q.value&&a.value);if(!t.zoomable&&!r||!Q.value&&!r||0!==e.button)return;const s=e.currentTarget,c=o.value.find(e=>e.index===A);if(!c)return;const[I,d]=pe(e,s),u=Math.max(0,Math.min(i?c.width:l.value,I)),h=Math.max(0,Math.min(i?c.height:g.value,d)),C=da(n.value,{type:"begin",gesture:{trackIndex:A,independent:i,startX:u,startY:h,pointerId:e.pointerId,kind:r?"pan":"box",xDomain:c.xScale.domain(),yDomains:Object.fromEntries(o.value.filter(e=>e.hasVisibleSeries).map(e=>[e.series?.trackId??e.series?.id??e.id,e.yScale.domain()]))}});C.accepted&&(n.value=C.state,x.value=s,s.setPointerCapture?.(e.pointerId),y(),e.preventDefault())},N=function(e){const{props:A,emit:t,resolveInitialTrackDomain:i,initialXDomain:n,independentTransforms:a,sharedTransform:o,innerWidth:r,trackLayouts:s,chartTracks:l,independentYDomains:g,sharedYDomains:c}=e;return(e,I)=>{const d=I.width||1,u=I.height||1,h=e.currentX-e.startX,C=e.currentY-e.startY,Q=e.xDomain[1]-e.xDomain[0],m=e.independent?i(I):n.value,B=Yn(A)??m,E=Gn(function(e,A){if(!A.integerZoom)return e;const t="s"===A.timeUnit?1:1e3;if(Math.abs(e[1]-e[0])*t<1)return e;const i=Math.round(e[0]*t)/t;return[i,i+(e[1]-e[0])]}(Gn([e.xDomain[0]-h/d*Q,e.xDomain[1]-h/d*Q],B),A),B);if(e.independent){const e=[...a.value];e[I.index]=Fn(E,m,d),a.value=e}else o.value=Fn(E,m,r.value);if(Yn(A))return t("zoom-change",E),E;const p=e.independent?[I]:s.value.filter(e=>e.hasVisibleSeries),f={...g.value},y={...c.value};return p.forEach(t=>{const i=l.value.find(e=>e.id===t.id);if(i&&function(e,A,t){return Boolean(Ti(e,t)||e.visibleSeries.some(e=>Zi(e,A,t)))}(i,A.yDomain,A.yDomains))return;const n=t.series?.trackId??t.series?.id??t.id,a=e.yDomains[n]??t.yScale.domain(),o=i?.yDomain??a,r=a[1]-a[0],s=Gn([a[0]+C/u*r,a[1]+C/u*r],o);e.independent?f[t.index]=s:y[n]=s}),e.independent?g.value=f:c.value=y,t("zoom-change",E),E}}(e),F=e=>{const A=n.value;!A||e&&e.pointerId!==A.pointerId||b(A.pointerId,e)};return{selectionBox:M,beginViewportDrag:D,beginSharedViewportDrag:e=>{if(!c.value)return;const[A,t]=pe(e,c.value),i=v(A,t),n=(i?.hasVisibleSeries?i:void 0)??o.value.find(e=>e.hasVisibleSeries);n&&D(e,n.index,!1)},updateViewportDrag:e=>{if(m.value)return;const A=n.value,t=x.value;if(!A||!t||e.pointerId!==A.pointerId)return;const i=o.value.find(e=>e.index===A.trackIndex);if(!i)return;const[a,r]=pe(e,t),s=Math.max(0,Math.min(A.independent?i.width:l.value,a)),c=Math.max(0,Math.min(A.independent?i.height:g.value,r)),I=da(n.value,{type:"move",pointerId:e.pointerId,position:{currentX:s,currentY:c}});if(!I.accepted||!I.state)return;const d=I.state;n.value=d,"pan"===d.kind&&N(d,i),e.preventDefault()},finishViewportDrag:e=>{if(m.value)return void F();const A=n.value;if(!A||e.pointerId!==A.pointerId)return;const a=o.value.find(e=>e.index===A.trackIndex),r=x.value;if(!a||!r||!r.parentNode)return void b(A.pointerId,e);const[c,h]=pe(e,r),C=Math.max(0,Math.min(A.independent?a.width:l.value,c)),Q=Math.max(0,Math.min(A.independent?a.height:g.value,h)),B=da(n.value,{type:"finish",pointerId:e.pointerId,position:{currentX:C,currentY:Q}}).completed;if(B){if(n.value=null,k(B.pointerId,e),x.value=void 0,e.preventDefault(),"pan"===B.kind){const e=N(B,a);return e.some((e,A)=>Math.abs(e-B.xDomain[A])>1e-12)&&i("pan-end",{start:e[0],end:e[1],...B.independent?{trackIndex:a.index,seriesIds:a.seriesList.map(e=>e.id)}:{}}),void I(p)}Math.abs(B.currentX-B.startX)>=6&&(e=>{const A=o.value.find(A=>A.index===e.trackIndex);if(!A)return;const n=e.independent?0:A.left,a=Math.max(0,Math.min(A.width,Math.min(e.startX,e.currentX)-n)),r=Math.max(0,Math.min(A.width,Math.max(e.startX,e.currentX)-n));if(r-a<6)return;const g=e.independent?E(A):s.value,c=e.independent?[A.seriesList]:o.value.filter(e=>e.hasVisibleSeries).map(e=>e.seriesList),h=Jn([A.xScale.invert(a),A.xScale.invert(r)],g,c,t);if(Rn(A.xScale.domain(),h))return;if(e.independent){const e=[...u.value];e[A.index]=Fn(h,g,A.width),u.value=e}else d.value=Fn(h,g,l.value);!function(e,A,t,i){e("zoom-intent",i?{start:A[0],end:A[1],trackIndex:t.index,seriesIds:t.seriesList.map(e=>e.id),gesture:"box"}:{start:A[0],end:A[1],gesture:"box"})}(i,h,A,e.independent);const C=e.independent?[A]:o.value.filter(e=>e.hasVisibleSeries),Q=Object.fromEntries(C.map(e=>[e.series?.trackId??e.series?.id??e.id,e.yScale.domain()]));if(i("zoom-change",h),e.independent){const e=Q[A.series?.trackId??A.series?.id??A.id];i("zoom-end",{start:h[0],end:h[1],trackIndex:A.index,seriesIds:A.seriesList.map(e=>e.id),yStart:e?.[0],yEnd:e?.[1],gesture:"box"})}else if(1===C.length){const e=Object.values(Q)[0];i("zoom-end",{start:h[0],end:h[1],yStart:e?.[0],yEnd:e?.[1],gesture:"box"})}else i("zoom-end",{start:h[0],end:h[1],yRanges:Q,gesture:"box"});I(p)})(B)}},cancelViewportDrag:F,resetViewport:A=>{if(e.clearBoundaries?.(A),f(),F(),"independent"===t.displayMode&&void 0!==A){const e=[...u.value];e[A]=De,u.value=e;const t={...C.value};delete t[A],C.value=t}else d.value=De,u.value=r.value.map(()=>De),h.value={},C.value={};y(),B.value=[],I(p)},setViewportDomain:ua({props:t,trackLayouts:o,initialXDomain:s,resolveInitialTrackDomain:E,innerWidth:l,sharedTransform:d,independentTransforms:u,cancelPendingZoom:f,cancelViewportDrag:F,clearHover:y,editorSeriesOptions:B,configureZoom:p})}}({clearBoundaries:e=>Le.clearBoundaries(e),props:n,emit:t,selection:L,spacePressed:j,trackLayouts:ge,chartTracks:se,initialXDomain:Be,innerWidth:he,innerHeight:ae,sharedOverlayElement:l,sharedTransform:f,independentTransforms:y,sharedYDomains:x,independentYDomains:b,isZoomMode:me,isPresentationMode:_,editorSeriesOptions:Z,resolveInitialTrackDomain:ve,configureZoom:Ge.configureZoom,cancelPendingZoom:Ge.cancelPendingZoom,clearHover:()=>Ze.clearHover(),resolveTrackAtPointer:Ye.resolveTrackAtPointer}),Ze=function(e){const{emit:A,hoverState:t,suppressHoverUntilMove:i,hoverThrottle:n,selection:a,trackLayouts:o,innerWidth:r,resolvedChartLeftMargin:s,titleAreaHeight:l,chartTopMargin:g,sharedOverlayElement:c,isPresentationMode:I,updateViewportDrag:d,resolveTrackAtPointer:u}=e,h=()=>n.cancel(),C=e=>n.schedule(e),Q=(e,i,n,a,o)=>{I.value||((e=>t.points.length===e.length&&e.every((e,A)=>{const i=t.points[A];return i?.id===e.id&&i.trackIndex===e.trackIndex&&i.point===e.point}))(e)||(t.points=e),t.trackIndex=i,t.queryX=n,t.crosshairXByTrack=a,t.position=o,A("point-hover",t.points.find(e=>e.point)?.point??null))},m=()=>{h(),t.points=[],t.trackIndex=null,t.queryX=null,t.crosshairXByTrack={},A("point-hover",null)},B=(e,A,t)=>({id:e.id,shotNo:e.shotNo,name:e.name,color:e.color,unit:e.unit,trackIndex:A,point:t}),E=()=>!!i.value&&(i.value=!1,m(),!0),p=(e,A)=>{const t=e.source??JA(e.points),i=t.pointAt(0),n=t.pointAt(t.length-1);if(i&&n)return A<=i.x?i:A>=n.x?n:t.nearestPoint(A)},f=(e,A)=>{let t,i=-1/0;if(e.seriesList.forEach(e=>{const A=e.source??JA(e.points),n=A.pointAt(0),a=A.pointAt(A.length-1);if(!n||!a)return;const o=a.x-n.x;o>i&&(i=o,t=[n.x,a.x])}),t)return Math.max(t[0],Math.min(t[1],A))};return{cancelPendingHover:h,clearHover:m,handlePointerLeave:()=>{I.value||m()},beginAnnotationDrag:()=>{i.value=!0,m()},endAnnotationDrag:(e=!1)=>{i.value=!e,m()},handleIndependentPointerMove:(e,A)=>{if(I.value)return;if(a.value?.trackIndex===A&&a.value.independent)return void d(e);if(E())return;const t=e.currentTarget;if(!t)return;const[i,n]=pe(e,t),c=o.value[A];c&&c.hasVisibleSeries&&C(()=>{const e=o.value[A];if(!e||!e.hasVisibleSeries||e!==c)return;const t=c.xScale.invert(Math.max(0,Math.min(r.value,i))),a=c.seriesList.map(e=>B(e,A,p(e,t)??null)),I=f(c,t);Q(a,A,t,void 0===I?{}:{[A]:I},{x:s.value+c.left+i,y:l.value+g.value+c.top+n})})},handleSharedPointerMove:e=>{if(I.value)return;if(a.value&&!a.value.independent)return void d(e);if(E())return;if(!c.value||!o.value.length)return;const[A,t]=pe(e,c.value);C(()=>{const e=u(A,t),i=(e?.hasVisibleSeries?e:void 0)??o.value.find(e=>e.hasVisibleSeries);if(!i)return;const n=Math.max(0,Math.min(i.width,A-i.left)),a=i.xScale.invert(n),r=o.value.flatMap(e=>e.seriesList.map(A=>B(A,e.index,p(A,a)??null))),c=Object.fromEntries(o.value.flatMap(e=>{const A=f(e,a);return void 0===A?[]:[[e.index,A]]}));Q(r,null,a,c,{x:s.value+A,y:l.value+g.value+t})})}}}({emit:t,hoverState:M,suppressHoverUntilMove:D,hoverThrottle:U,selection:L,trackLayouts:ge,innerWidth:he,resolvedChartLeftMargin:ue,titleAreaHeight:ie,chartTopMargin:ne,sharedOverlayElement:l,isPresentationMode:_,updateViewportDrag:Re.updateViewportDrag,resolveTrackAtPointer:Ye.resolveTrackAtPointer}),Ue=()=>{Re.cancelViewportDrag(),Ge.cancelPendingZoom(),Ze.clearHover(),Ye.cancelAnnotation()},Le=function(e){let t=0;const i=A(()=>"independent"===e.props.displayMode),n=()=>i.value?e.layout.trackLayouts.value.map(e=>({id:e.id,tracks:[e]})):[{id:"shared",tracks:e.layout.trackLayouts.value}],a=A=>({xDomain:[...i.value?A[0].xScale.domain():e.layout.sharedZoomDomain.value],yDomains:Object.fromEntries(A.flatMap(e=>e.seriesPaths.map(e=>[e.series.id,e.yScale.domain()])))}),o=(A,t=!1)=>i.value?(t?e.layout.resolveOriginalTrackDomain:e.layout.resolveInitialTrackDomain)(A[0]):(t?e.layout.originalXDomain:e.layout.initialXDomain).value,r=A=>{if(i.value&&void 0!==A){const t=e.layout.trackLayouts.value.find(e=>e.index===A)?.id,i={...e.boundaries.value};t&&delete i[t],e.boundaries.value=i}else e.boundaries.value={}};function s(A,t={},r){const s=n();return void 0===t.trackId||i.value&&s.some(e=>e.id===t.trackId)?"set-domain"!==A||r&&r.every(Number.isFinite)&&r[0]!==r[1]?{entries:(void 0===t.trackId?s:s.filter(e=>e.id===t.trackId)).map(({id:t,tracks:n})=>{const s=n.some(e=>e.seriesList.some(e=>(e.source?.length??e.points.length)>0)),l=n.length?a(n):void 0;let g=n.length?o(n,"reset"===A):[0,1];"fit"===A&&(g=Hi(pi(n.flatMap(e=>e.seriesList.flatMap(e=>e.xDomain))),e.props.xDomainStrategy));const c=n.filter(e=>e.hasVisibleSeries).map(e=>e.seriesList),I=!l||"zoom-in"!==A&&"zoom-out"!==A?Jn(tn(r??g,e.props),g,c,e.props):Tn(l.xDomain,A,g,c,e.props),d="reset"===A||"fit"===A,u=d&&(i.value?n.some(A=>e.independentYDomains.value[A.index]):Object.keys(e.sharedYDomains.value).length>0),h=n.length&&!Zn(g,o(n));return{id:t,tracks:n,before:l,bounds:g,xDomain:I,status:s?e.props.presentationMode||!e.props.zoomable?"disabled":l&&Zn(l.xDomain,I)&&!u&&!h?"unchanged":"applied":"empty-data",resetsY:d}})}:{error:"invalid-domain",entries:[]}:{error:"invalid-target",entries:[]}}function l(A,o={},r,l="api"){const g=s(A,o,r);if(g.error)return{kind:"viewport",status:g.error,targets:[]};const{entries:c}=g,d=i.value,u={commandId:"command-"+ ++t,source:l,action:A},h=c.map(e=>({trackIndex:d?e.tracks[0]?.index:void 0,seriesIds:e.tracks.flatMap(e=>e.seriesList.map(e=>e.id))}));c.some(e=>"applied"===e.status||"reset"===A&&"unchanged"===e.status)&&e.cancel();const C=[...e.independentTransforms.value],Q={...e.boundaries.value},m={...e.independentYDomains.value};for(const t of c)if("applied"===t.status)if("fit"===A&&(Q[t.id]=t.bounds),"reset"===A&&delete Q[t.id],d){const e=t.tracks[0];C[e.index]=Fn(t.xDomain,t.bounds,e.width),t.resetsY&&delete m[e.index]}else e.sharedTransform.value=Fn(t.xDomain,t.bounds,e.layout.innerWidth.value),t.resetsY&&(e.sharedYDomains.value={});c.some(e=>"applied"===e.status)&&(e.boundaries.value=Q,e.independentTransforms.value=C,e.independentYDomains.value=m);const B=n(),E=c.map(e=>({trackId:e.id,status:e.status,before:e.before,after:B.find(A=>A.id===e.id)?.tracks.length?a(B.find(A=>A.id===e.id).tracks):void 0})),p=c.map(e=>{const A=B.find(A=>A.id===e.id)?.tracks??[],t=Object.fromEntries(A.map(e=>[e.series?.trackId??e.series?.id??e.id,e.yScale.domain()])),i=Object.values(t)[0];return d||1===A.length?{yStart:i?.[0],yEnd:i?.[1]}:{yRanges:t}});return E.forEach((t,i)=>{if("reset"!==A||"applied"!==t.status&&"unchanged"!==t.status){if("applied"===t.status&&t.after){const[n,a]=t.after.xDomain,o={...u,...h[i],start:n,end:a,gesture:"command",...p[i]};"fit"!==A&&e.emit("zoom-intent",o),e.emit("zoom-change",[n,a]),e.emit("zoom-end",o)}}else e.emit("zoom-reset",{...u,...h[i]})}),E.some(e=>"applied"===e.status)&&I(e.configure),{kind:"viewport",status:["applied","unchanged","disabled","empty-data"].find(e=>E.some(A=>A.status===e))??"empty-data",targets:E}}const g=A(()=>{const A=["zoom-in","zoom-out","reset","fit","set-domain"],t=n().filter(e=>e.tracks.length).map(e=>({trackId:e.id,label:i.value?e.tracks[0].series?.name||e.id:"共享范围",viewport:a(e.tracks),available:Object.fromEntries(A.map(A=>{const t=s(A,i.value?{trackId:e.id}:{},a(e.tracks).xDomain).entries[0];return[A,"applied"===t?.status||("reset"===A||"set-domain"===A)&&"unchanged"===t?.status]}))}));return{mode:e.mode.mode.value,independent:i.value,targets:t,available:{"zoom-box":e.mode.canSetMode("zoom"),pan:e.mode.canSetMode("pan"),annotate:e.mode.canSetMode("annotation"),export:!0,"zoom-in":t.some(e=>e.available["zoom-in"]),"zoom-out":t.some(e=>e.available["zoom-out"]),reset:t.some(e=>e.available.reset),fit:t.some(e=>e.available.fit)}}}),c=()=>JSON.parse(JSON.stringify(g.value));return N(()=>JSON.stringify(g.value),()=>e.emit("control-state-change",c())),{controlState:g,getControlState:c,execute:l,clearBoundaries:r,restoreInitialBoundaries:function(){if(!Object.keys(e.boundaries.value).length)return;const A=n().filter(e=>e.tracks.length).map(e=>({index:i.value?e.tracks[0].index:void 0,domain:a(e.tracks).xDomain}));r(),A.forEach(A=>e.legacySet(A.domain,A.index))},resetViewport:function(A){if("object"==typeof A)return l("reset",A);e.legacyReset(A)},setViewportDomain:function(A,t){if("object"==typeof t)return l("set-domain",t,A);A.every(Number.isFinite)&&A[0]!==A[1]&&r(t),e.legacySet(A,t)},zoomIn:e=>l("zoom-in",e),zoomOut:e=>l("zoom-out",e),fitToData:e=>l("fit",e),setInteractionMode:e.mode.setInteractionMode}}({props:n,emit:t,layout:oe,mode:i,boundaries:a,independentTransforms:y,sharedTransform:f,independentYDomains:b,sharedYDomains:x,cancel:Ue,configure:Ge.configureZoom,legacyReset:Re.resetViewport,legacySet:Re.setViewportDomain});N([i.mode,()=>n.zoomable,()=>n.pannable,()=>n.annotationsVisible],Ue,{flush:"sync"}),N([G,()=>n.displayMode],()=>{a.value={},Ue()}),N([()=>n.initialXDomain,()=>n.initialXDomains,$,()=>n.xDomainStrategy],Le.restoreInitialBoundaries,{deep:!0}),h(Ue);const je=function(e){const{props:A,emit:t,spacePressed:i,pointerInsideChart:n,currentPage:a,pageCount:o,pagedTracks:r,gridOptions:s,chartSeries:l,chartTracks:g,innerWidth:c,innerHeight:d,activeInteractionMode:u,hiddenSeriesIdSet:Q,internalHiddenSeriesIds:m,independentTransforms:B,independentYDomains:E,annotationInteraction:p,editorSeriesOptions:f,isPresentationMode:y,clearHover:v,cancelAnnotation:w,configureZoom:x,resetViewport:k,cancelViewportDrag:b,cancelPendingHover:M,clearZoomBindings:D}=e;function F(e){var t;"Escape"===e.key&&(b(),w()),!y.value&&"Space"===e.code&&A.pannable&&n.value&&((t=e.target)instanceof Element&&Boolean(t.closest('button, input, select, textarea, [contenteditable]:not([contenteditable="false"])'))||(i.value=!0,e.preventDefault()))}function G(e){"Space"===e.code&&(i.value=!1)}const{handleBeforeDataReferenceChange:Y,handleDataReferenceChange:S}=function(e){const{props:A,trackLayouts:t,resolveInitialTrackDomain:i,sharedZoomDomain:n,initialXDomain:a,independentTransforms:o,chartTracks:r,clearHover:s,editorSeriesOptions:l,sharedTransform:g,innerWidth:c,configureZoom:d}=e;let u,h;return{handleBeforeDataReferenceChange:function(){if("independent"===A.displayMode)return u=void 0,void(h=new Map(t.value.flatMap(t=>{const n=t.xScale.domain(),a=i(t);return e.preserveFullViewport?.()||Yn(A)||n[1]-n[0]<a[1]-a[0]-1e-12?[[ha(t.seriesList.map(e=>e.id)),n]]:[]})));h=void 0;const o=n.value,r=a.value;u=e.preserveFullViewport?.()||Yn(A)||o[1]-o[0]<r[1]-r[0]-1e-12?[...o]:void 0},handleDataReferenceChange:function(){if("independent"===A.displayMode){const e=o.value;o.value=r.value.map((A,t)=>e[t]??De)}s(),l.value=[],I(()=>{if("independent"===A.displayMode&&h){const e=r.value.map(()=>De);t.value.forEach(t=>{const n=h?.get(ha(t.seriesList.map(e=>e.id)));if(!n)return;const a=i(t),o=Sn(n,a,[t.seriesList],A);e[t.index]=Fn(o,a,t.width)}),o.value=e,h=void 0}else if("independent"!==A.displayMode&&u){const e=a.value,i=t.value.filter(e=>e.hasVisibleSeries).map(e=>e.seriesList),n=Sn(u,e,i,A);g.value=Fn(n,e,c.value),u=void 0}d()})}}}(e);return function(e,A={}){const{container:t,titleMeasureElement:i,resizeObserver:n,observedWidth:a,observedHeight:o,measuredTitleWidth:r,measuredTitleHeight:s,resolvedTitleText:l,titleAreaReserved:g,titleMeasureStyle:c}=e;function d(){if(!g.value||!i.value)return r.value=0,void(s.value=0);const e=i.value.getBoundingClientRect();r.value=i.value.scrollWidth||e.width,s.value=i.value.scrollHeight||e.height}N([l,g,c],async()=>{r.value=0,s.value=0,await I(),d()},{immediate:!0}),C(()=>{t.value&&(n.value=new ResizeObserver(([e])=>{A.beforeResize?.(),a.value=Math.max(0,e?.contentRect.width??0),o.value=Math.max(0,e?.contentRect.height??0),A.afterResize?.(),I(d)}),n.value.observe(t.value))}),h(()=>n.value?.disconnect())}(e,{beforeResize:()=>{Yn(A)&&Y()},afterResize:()=>{Yn(A)&&S()}}),N([c,d,()=>A.zoomable,y,()=>A.minZoomSpan,()=>A.minVisiblePoints,()=>A.maxZoomScale,()=>A.initialXDomain,()=>A.initialXDomains,()=>A.xDomainStrategy,()=>A.displayMode,()=>g.value.length,a,()=>s.value.rowCount,()=>s.value.columnCount,()=>s.value.fillIncompleteLastRow,u],async()=>{await I(),x()},{immediate:!0}),N(()=>[A.displayMode,A.integerZoom],()=>{const e=a.value;a.value=1,k(),1!==e&&t("page-change",1,o.value)}),N([o,()=>A.grid?.rowCount,()=>A.grid?.columnCount,()=>A.grid?.fillIncompleteLastRow],()=>{const e=a.value;a.value=a.value>o.value?o.value:1!==a.value?1:a.value,e!==a.value&&t("page-change",a.value,o.value),v(),I(x)}),N(u,()=>{f.value=[]}),N(y,e=>{i.value=!1,e&&(b(),D(),v(),p.closeContextMenu(),w())}),N(()=>l.value.map(e=>e.id).join("\0"),()=>{if(void 0!==A.hiddenSeriesIds)return;const e=new Set(l.value.map(e=>e.id)),t=new Set(Array.from(m.value).filter(A=>e.has(A)));(t.size!==m.value.size||Array.from(m.value).some(e=>!t.has(e)))&&(m.value=t)},{immediate:!0}),N(()=>g.value.flatMap(e=>e.visibleSeries.map(e=>e.id)).join("\0"),()=>{v(),f.value=[];const e=p.editorDraft.value?.annotation.seriesId;!e||l.value.some(A=>A.id===e)&&!Q.value.has(e)||p.closeEditor();const t=p.contextMenu.value?.annotationId,i=A.annotations.find(e=>e.id===t);i&&Q.value.has(i.seriesId)&&p.closeContextMenu(),I(x)}),N(()=>A.annotationsVisible,e=>{e||(p.closeContextMenu(),w())}),N(()=>A.annotations,e=>{const A=p.contextMenu.value?.annotationId;A&&!e.some(e=>e.id===A)&&p.closeContextMenu();const t=p.editorDraft.value;"edit"!==t?.mode||e.some(e=>e.id===t.annotation.id)||p.closeEditor()},{deep:!0}),C(()=>{window.addEventListener("keydown",F),window.addEventListener("keyup",G)}),h(()=>{window.removeEventListener("keydown",F),window.removeEventListener("keyup",G),M(),D(),f.value=[]}),{goToPage:function(e){const i=Math.min(o.value,Math.max(1,Math.floor(e)));i!==a.value&&(a.value=i,v(),p.closeContextMenu(),w(),"independent"===A.displayMode&&(B.value=r.value.map(()=>De),E.value={}),I(x),t("page-change",i,o.value))},handleBeforeDataReferenceChange:Y,handleDataReferenceChange:S}}({preserveFullViewport:()=>Object.keys(a.value).length>0,props:n,emit:t,container:o,titleMeasureElement:s,resizeObserver:Y,observedWidth:g,observedHeight:d,measuredTitleWidth:u,measuredTitleHeight:m,resolvedTitleText:ee,titleAreaReserved:Ae,titleMeasureStyle:te,spacePressed:j,pointerInsideChart:O,currentPage:G,pageCount:Ie,pagedTracks:de,gridOptions:ce,chartSeries:re,chartTracks:se,trackLayouts:ge,innerWidth:he,innerHeight:ae,sharedZoomDomain:Ee,initialXDomain:Be,sharedTransform:f,activeInteractionMode:Qe,hiddenSeriesIdSet:$,internalHiddenSeriesIds:J,independentTransforms:y,independentYDomains:b,resolveInitialTrackDomain:ve,annotationInteraction:R,editorSeriesOptions:Z,isPresentationMode:_,clearHover:Ze.clearHover,cancelAnnotation:Ye.cancelAnnotation,configureZoom:Ge.configureZoom,resetViewport:Re.resetViewport,cancelViewportDrag:Re.cancelViewportDrag,cancelPendingHover:Ze.cancelPendingHover,clearZoomBindings:Ge.clearZoomBindings});W=je.handleBeforeDataReferenceChange,X=()=>{a.value={},Re.cancelViewportDrag(),je.handleDataReferenceChange(),I(Ge.configureZoom)};const Oe=function(e){let A,t=!1,i=!1,n=0;return N(e.version,()=>{n++,A?.(wn("export-stale"))},{flush:"sync"}),h(()=>{i=!0,A?.(wn("export-cancelled"))}),{exportImage:async function(a={}){const o=a.format??"png",r=a.scale??1;if(!["png","svg"].includes(o)||!Number.isFinite(r)||r<=0||r>4||"svg"===o&&1!==r||void 0!==a.backgroundColor&&("string"!=typeof a.backgroundColor||!CSS.supports("color",a.backgroundColor)))throw wn("export-invalid-options");if(i)throw wn("export-cancelled");if(t)throw wn("export-busy");const s=e.container(),l=e.svg(),g=e.size();if(!s||!l||g.width<=0||g.height<=0)throw wn("export-unavailable");t=!0;const c=n;let d,u,h,C,Q,m=!1;const B=()=>{if(i)throw wn("export-cancelled");if(c!==n)throw wn("export-stale");if(m)throw wn("export-timeout")},E=new Promise((e,t)=>{A=t,d=setTimeout(()=>t(wn("export-timeout")),5e3)}),p=async()=>{await I(),B(),await new Promise(A=>{const t=()=>{m||(e.ready()?A():u=setTimeout(t,16))};t()}),await(document.fonts?.ready),await I(),B(),En(l);const A=function(e,A,t,i,n,a){const o=fn("svg",{width:t,height:i,viewBox:`0 0 ${t} ${i}`}),r=a??getComputedStyle(e).backgroundColor;o.appendChild(fn("rect",{width:t,height:i,fill:r||"#fff"}));const s=A.cloneNode(!0);vn(A,s),function(e,A){const t=e.querySelectorAll("foreignObject");A.querySelectorAll("foreignObject").forEach((e,A)=>{const i=t[A],n=i.getBoundingClientRect(),a=fn("g",{class:"waveform-export-legend"}),o=Number(i.getAttribute("width"))||n.width,r=n.width>0?o/n.width:1,s=i.querySelector(".waveform-legend__panel");if(s){const e=s.getBoundingClientRect();a.appendChild(fn("rect",{x:(e.left-n.left)*r,y:(e.top-n.top)*r,width:e.width*r,height:e.height*r,rx:4,fill:getComputedStyle(s).backgroundColor,stroke:"#d0d5dd"}))}i.querySelectorAll(".waveform-legend__item").forEach(e=>{const A=e.getBoundingClientRect(),t=fn("g",{transform:`translate(${(A.left-n.left)*r},${(A.top-n.top)*r})`,opacity:getComputedStyle(e).opacity}),i=e.querySelector("svg");if(i){const e=i.cloneNode(!0);vn(i,e),e.setAttribute("width","26"),e.setAttribute("height","16"),t.appendChild(e)}const o=e.querySelector(".waveform-legend__label");if(o){const e=fn("text",{x:32,y:12,fill:getComputedStyle(o).color,"font-size":12,"font-family":"sans-serif","text-decoration":getComputedStyle(o).textDecorationLine});e.textContent=o.textContent,t.appendChild(e)}a.appendChild(t)}),e.replaceWith(a)})}(A,s),s.querySelectorAll(".waveform-chart__overlay, .waveform-chart__hover-layer, .waveform-chart__zoom-selection").forEach(e=>e.remove()),s.setAttribute("y",String(n)),s.removeAttribute("role"),s.removeAttribute("aria-label"),o.appendChild(s);const l=function(e,A,t){const i=e.querySelector(".waveform-chart__title-text");if(!i)return;const n=getComputedStyle(i),a=i.getBoundingClientRect(),o=e.getBoundingClientRect(),r=o.width?t/o.width:1,s=document.createElementNS(pn,"g"),l="undefined"!=typeof DOMMatrix&&"none"!==n.transform&&n.transform?new DOMMatrix(n.transform):void 0,g=l?180*Math.atan2(l.b,l.a)/Math.PI:0,c=l?Math.hypot(l.a,l.b):1;s.setAttribute("transform",`translate(${(a.left-o.left+a.width/2)*r},${A/2}) rotate(${g}) scale(${c})`);const I=document.createElementNS(pn,"text");I.setAttribute("fill",n.color);for(const p of["font-family","font-size","font-weight","font-style","text-decoration","letter-spacing"])I.style.setProperty(p,n.getPropertyValue(p));const d=parseFloat(n.fontSize)||14,u=parseFloat(n.lineHeight)||1.4*d,h=i.clientWidth||parseFloat(n.width)||a.width||t,C=document.createElement("canvas"),Q=C.getContext("2d");Q&&(Q.font=`${n.fontStyle} ${n.fontWeight} ${d}px ${n.fontFamily}`);const m=[];let B="";for(const p of i.textContent??""){if("\n"===p){m.push(B),B="";continue}const e=Q?.measureText(B+p).width??(B.length+1)*d;"nowrap"!==n.whiteSpace&&B&&e>h?(m.push(B),B=p):B+=p}m.push(B);const E=n.textAlign;return I.setAttribute("text-anchor","left"===E?"start":"right"===E?"end":"middle"),m.forEach((e,A)=>{const t=document.createElementNS(pn,"tspan");t.setAttribute("x",String("left"===E?-h/2:"right"===E?h/2:0)),t.setAttribute("y",String((A-(m.length-1)/2)*u)),t.setAttribute("dominant-baseline","middle"),t.textContent=e,I.appendChild(t)}),C.width=0,C.height=0,s.appendChild(I),s}(e,n,t);return l&&o.appendChild(l),(new XMLSerializer).serializeToString(o)}(s,l,g.width,g.height,g.titleHeight,a.backgroundColor),t=new Blob([A],{type:"image/svg+xml"});if("svg"===o)return t;h=URL.createObjectURL(t),C=new Image,await new Promise((e,A)=>{C.onload=()=>e(),C.onerror=()=>A(wn("export-render-failed")),C.src=h}),B(),Q=document.createElement("canvas"),Q.width=Math.round(g.width*r),Q.height=Math.round(g.height*r);const i=Q.getContext("2d");if(!i)throw wn("export-render-failed");i.drawImage(C,0,0,Q.width,Q.height);const n=await new Promise((e,A)=>Q.toBlob(t=>t?e(t):A(wn("export-render-failed")),"image/png"));return B(),n};try{return e.prepare?.(),await Promise.race([E,p()])}catch(f){if(f instanceof Error&&"code"in f)throw f;throw wn("export-render-failed")}finally{m=!0,clearTimeout(d),clearTimeout(u),C&&(C.onload=null,C.onerror=null,C.src=""),h&&URL.revokeObjectURL(h),Q&&(Q.width=0,Q.height=0),A=void 0,t=!1,e.release?.()}}}}({container:()=>o.value,svg:()=>r.value,size:()=>({width:P.value,height:q.value,titleHeight:ie.value}),version:()=>function(e,A){return[e.data,JSON.stringify({...Je(e),...A})]}(n,{hidden:[...$.value],width:P.value,height:q.value,titleHeight:ie.value,page:G.value,shared:f.value,independent:y.value,sharedY:x.value,independentY:b.value,boundaries:a.value}),prepare:Me.prepareExport,release:Me.releaseExport,ready:be.ready});return E({...k(n),...z,plotCenterX:ke.plotCenterX,titleAreaStyle:ke.plotTitleAreaStyle,paginationVisible:Fe,...oe,...Ye,...Re,...Ze,...Me.wrap(Le),presentationTracks:Me.presentationTracks,presentationAnnotations:Me.presentationAnnotations,stabilizeAnimations:Me.stabilizeAnimations,...Oe,margin:yA,getPageSize:Ii,currentPage:G,selection:L,pointerInsideChart:O,hoverState:M,annotationInteraction:R,editorDraft:R.editorDraft,contextMenu:R.contextMenu,editorSeriesOptions:Z,clipPathId:S,goToPage:Me.wrapPagination(je.goToPage,Ie),setContainer:e=>Se(o,e),setSvgElement:e=>Se(r,e),setTitleMeasureElement:e=>Se(s,e),setSharedOverlayElement:e=>Se(l,e)})}var Ka={"zoom-box":"M3 3h6M3 3v6M21 3h-6M21 3v6M3 21h6M3 21v-6M21 21h-6M21 21v-6",pan:"M12 2v20M2 12h20M8 6l4-4 4 4M8 18l4 4 4-4M6 8l-4 4 4 4M18 8l4 4-4 4",annotate:"M4 4h16v12H9l-5 4V4M8 8h8M8 12h5","zoom-in":"M12 5v14M5 12h14","zoom-out":"M5 12h14",reset:"M4 11a8 8 0 1 1 1 6M4 4v7h7",fit:"M8 3H3v5M16 3h5v5M3 16v5h5M21 16v5h-5M8 8h8v8H8z",export:"M12 3v12M7 10l5 5 5-5M4 15v6h16v-6"},_a={"zoom-box":"zoom",pan:"pan",annotate:"annotation"},$a={"zoom-box":"框选缩放",pan:"平移",annotate:"注解","zoom-in":"放大","zoom-out":"缩小",reset:"重置",fit:"显示全部",export:"导出图片"},eo=["zoom-box","pan","annotate","zoom-in","zoom-out","reset","fit","export"],Ao=Object.fromEntries(eo.map(e=>{const A=_a[e],t="zoom-in"===e||"zoom-out"===e||"reset"===e||"fit"===e?e:void 0;return[e,{id:e,label:$a[e],icon:Ka[e],group:A?"mode":t?"viewport":"export",active:e=>!!A&&e.mode===A,enabled:(A,i)=>t&&i?!!A.targets.find(e=>e.trackId===i)?.available[t]:A.available[e],run:(e,i)=>{A?e.setInteractionMode(A):t&&e.execute(t,i?{trackId:i}:{},void 0,"toolbar")}}]})),to=["onKeydown"],io=["aria-expanded"],no=["value"],ao={key:2,class:"waveform-toolbar__scope"},oo=["data-group"],ro=["data-command","title","aria-label","aria-pressed","aria-expanded","disabled","onClick"],so={viewBox:"0 0 24 24","aria-hidden":"true"},lo=["d"],go={key:3,class:"waveform-toolbar__menu",role:"group","aria-label":"图片格式"},co={key:4,class:"waveform-toolbar__feedback",role:"status"},Io=/*#__PURE__*/Pn(/*@__PURE__*/l({__name:"WaveformToolbar",props:{controller:{}},setup(t){const o=t,r=A(()=>function(e){const A="object"==typeof e?e:{},t=[...new Set(A.items??eo)].filter(e=>Ao[e]),i=[];return t.forEach(e=>{const A=Ao[e];i.at(-1)?.[0]?.group===A.group?i.at(-1).push(A):i.push([A])}),{visible:!!e&&!1!==A.visible&&t.length>0,display:A.display??"hover",position:A.position??"top-right",groups:i}}(o.controller.toolbar)),s=A(()=>o.controller.chartWidth<440),l=p(!1),g=p(""),c=p(!1),I=p(!1),C=p("");let Q=!1;async function m(e){c.value=!1,I.value=!0,C.value="";try{const A=await o.controller.exportImage({format:e});if(Q)return;const t=URL.createObjectURL(A),i=document.createElement("a");try{i.href=t,i.download=`waveform.${e}`,document.body.appendChild(i),i.click()}finally{i.remove(),URL.revokeObjectURL(t)}}catch(A){Q||(C.value=A instanceof Error?A.message:"导出失败,请重试")}finally{I.value=!1}}function E(){l.value=!l.value,c.value=!1}function y(){c.value=!1,l.value=!1,o.controller.cancelViewportDrag()}return h(()=>{Q=!0}),N(()=>o.controller.controlState,e=>{e.independent&&e.targets.some(e=>e.trackId===g.value)||(g.value="")}),N(()=>r.value.visible,()=>{c.value=!1}),(A,o)=>r.value.visible?(B(),n("div",{key:0,class:d(["waveform-toolbar",[`waveform-toolbar--${r.value.display}`,`waveform-toolbar--${r.value.position}`,{"waveform-toolbar--collapsed":s.value&&!l.value}]]),style:u({top:`${t.controller.titleAreaHeight+2}px`}),role:"toolbar","aria-label":"波形工具栏",onPointerdown:o[3]||(o[3]=J(()=>{},["stop"])),onClick:o[4]||(o[4]=J(()=>{},["stop"])),onDblclick:o[5]||(o[5]=J(()=>{},["stop"])),onWheel:o[6]||(o[6]=J(()=>{},["stop"])),onContextmenu:o[7]||(o[7]=J(()=>{},["stop"])),onKeydown:S(J(y,["stop"]),["esc"])},[s.value?(B(),n("button",{key:0,type:"button",class:"waveform-toolbar__toggle","aria-label":"图表工具","aria-expanded":l.value,onClick:E}," 工具 ",8,io)):i("",!0),t.controller.controlState.independent?Y((B(),n("select",{key:1,"onUpdate:modelValue":o[0]||(o[0]=e=>g.value=e),"aria-label":"操作图框"},[o[8]||(o[8]=a("option",{value:""},"当前页全部",-1)),(B(!0),n(e,null,f(t.controller.controlState.targets,e=>(B(),n("option",{key:e.trackId,value:e.trackId},x(e.label),9,no))),128))],512)),[[M,g.value]]):(B(),n("span",ao,"共享范围")),(B(!0),n(e,null,f(r.value.groups,(A,i)=>(B(),n("div",{key:i,class:"waveform-toolbar__group","data-group":A[0]?.group},[(B(!0),n(e,null,f(A,e=>(B(),n("button",{key:e.id,type:"button","data-command":e.id,title:e.label,"aria-label":e.label,"aria-pressed":"mode"===e.group?e.active(t.controller.controlState):void 0,"aria-expanded":"export"===e.id?c.value:void 0,disabled:!e.enabled(t.controller.controlState,g.value||void 0)||"export"===e.id&&I.value,onClick:A=>"export"===e.id?c.value=!c.value:e.run(t.controller,g.value||void 0)},[(B(),n("svg",so,[a("path",{d:e.icon},null,8,lo)]))],8,ro))),128))],8,oo))),128)),c.value?(B(),n("div",go,[a("button",{type:"button",onClick:o[1]||(o[1]=e=>m("png"))},"下载 PNG"),a("button",{type:"button",onClick:o[2]||(o[2]=e=>m("svg"))},"下载 SVG")])):i("",!0),I.value||C.value?(B(),n("span",co,x(I.value?"正在导出…":C.value),1)):i("",!0)],46,to)):i("",!0)}}),[["__scopeId","data-v-253fa741"]]),uo=["id"],ho={class:"waveform-annotation-editor__content"},Co={class:"waveform-annotation-editor__coordinates","aria-label":"标注坐标"},Qo=["aria-invalid"],mo={class:"waveform-annotation-editor__coordinate-value","aria-hidden":"true"},Bo=["id"],Eo={key:0,class:"waveform-annotation-editor__series","aria-label":"标注所属波形"},po={class:"waveform-annotation-editor__series-label"},fo=["value"],yo=["value"],vo={key:1},wo={class:"waveform-annotation-editor__field"},xo={class:"waveform-annotation-editor__label-row"},ko=["maxlength"],bo={class:"waveform-annotation-editor__colors"},Mo={class:"waveform-annotation-editor__color-field",title:"调整标注边框色和透明度"},Do={class:"waveform-annotation-editor__color-field",title:"调整标注文字色和透明度"},No={class:"waveform-annotation-editor__color-field",title:"调整标注背景色和透明度"},Fo=/*@__PURE__*/l({__name:"WaveformAnnotationEditor",props:{annotation:{},mode:{},series:{},seriesOptions:{},timeUnit:{default:"ms"},timeError:{default:""}},emits:["confirm","cancel","series-change","time-change"],setup(o,{emit:l}){const g=s(async()=>"undefined"==typeof window?{name:"WaveformColorPickerSsrFallback",render:()=>null}:(await(import("vue3-colorpicker"))).ColorPicker),c=o,d=l,h=p(),C=si("waveform-annotation-editor-title"),Q=p(""),m=p(""),E=p(!1),y=p(""),v=p(""),w=p(""),k=A(()=>E.value?m.value.trim()&&Number.isFinite(Number(m.value))?"":"请输入有效的时间":""),M=A(()=>E.value&&(k.value||c.timeError)||""),F=A(()=>Q.value.trim().length>0&&m.value.trim().length>0&&Number.isFinite(Number(m.value))&&!M.value),S=A(()=>Q.value.length),J=A(()=>{const e=c.seriesOptions?.find(e=>e.seriesId===c.annotation.seriesId);return e?{id:e.seriesId,name:e.name,color:e.color,unit:e.unit}:c.series});function R(e){m.value=null==e?"":String(e),E.value=!1}function T(){E.value=!0,d("time-change",m.value)}async function Z(){T(),await I(),F.value&&d("confirm",{...c.annotation,text:Q.value.trim(),style:{borderColor:y.value,textColor:v.value,backgroundColor:w.value.trim()||"rgba(255, 255, 255, 0.92)"}})}function U(e){"Escape"===e.key&&d("cancel"),"Enter"===e.key&&(e.ctrlKey||e.metaKey)&&(e.preventDefault(),Z())}function L(e){const A=e.target;A.value&&d("series-change",A.value)}return N(()=>c.annotation.id,function(){const e=Ai(c.annotation.style);var A,t;Q.value=c.annotation.text,m.value=(A=c.annotation.x,t=c.timeUnit,Number.isFinite(A)?function(e){const A=e.toFixed(Math.max(0,3));return/^-0(?:\.0+)?$/.test(A)?A.slice(1):A}(Di(A,t)):String(A)),E.value=!1,y.value=e.borderColor,v.value=e.textColor,w.value=e.backgroundColor,I(()=>h.value?.focus())},{immediate:!0}),(A,o)=>(B(),t(b(Ge),{visible:!0,width:440,"mask-closable":!0,keyboard:!0,"cancel-text":"取消","ok-text":"保存标注","ok-button-props":{disabled:!F.value},"root-class-name":"waveform-annotation-editor-root","wrap-class-name":"waveform-annotation-editor",onCancel:o[4]||(o[4]=e=>d("cancel")),onOk:Z},{title:G(()=>[a("span",{id:b(C)},x("add"===c.mode?"添加标注":"编辑标注"),9,uo)]),default:G(()=>[a("div",ho,[a("div",Co,[a("label",{class:"waveform-annotation-editor__coordinate-input","aria-invalid":Boolean(M.value)},[o[5]||(o[5]=a("b",null,"X",-1)),r(b(Fe),{value:""===m.value?void 0:Number(m.value),controls:!0,step:.001,keyboard:!0,status:M.value?"error":void 0,"aria-label":"标注横轴时间","aria-invalid":Boolean(M.value),"aria-describedby":M.value?`${b(C)}-time-error`:void 0,onBlur:T,"onUpdate:value":R},null,8,["value","status","aria-invalid","aria-describedby"]),a("code",mo,x(m.value),1)],8,Qo),M.value?(B(),n("p",{key:0,id:`${b(C)}-time-error`,class:"waveform-annotation-editor__coordinate-error",role:"alert"},x(M.value),9,Bo)):i("",!0),a("span",null,[o[6]||(o[6]=a("b",null,"Y",-1)),a("code",null,x(b(Mi)(c.annotation.y)),1)])]),o[13]||(o[13]=a("p",{class:"waveform-annotation-editor__coordinate-hint",role:"note"}," 修改 X 轴后失焦时会自动吸附最近的采样点 ",-1)),J.value?(B(),n("label",Eo,[a("i",{style:u({backgroundColor:J.value.color}),"aria-hidden":"true"},null,4),a("span",po,[o[7]||(o[7]=a("small",null,"标注波形",-1)),a("b",null,x(J.value.name),1)]),c.seriesOptions?.length?(B(),n("select",{key:0,value:c.annotation.seriesId,"aria-label":"选择标注波形",onChange:L},[(B(!0),n(e,null,f(c.seriesOptions,e=>(B(),n("option",{key:e.seriesId,value:e.seriesId},x(e.name)+x(e.unit?` (${e.unit})`:""),9,yo))),128))],40,fo)):J.value.unit?(B(),n("code",vo,x(J.value.unit),1)):i("",!0)])):i("",!0),a("label",wo,[a("span",xo,[o[8]||(o[8]=a("b",null,"标注文本",-1)),a("small",null,x(S.value)+"/"+x(b(40)),1)]),Y(a("textarea",{ref_key:"textarea",ref:h,"onUpdate:modelValue":o[0]||(o[0]=e=>Q.value=e),rows:"4",maxlength:b(40),"aria-label":"标注文本",placeholder:"输入这处波形的说明",onKeydown:U},null,40,ko),[[D,Q.value]])]),a("fieldset",bo,[o[12]||(o[12]=a("legend",null,"颜色与透明度",-1)),a("label",Mo,[o[9]||(o[9]=a("span",null,"边框色",-1)),r(b(g),{"pure-color":y.value,"onUpdate:pureColor":o[1]||(o[1]=e=>y.value=e),"aria-label":"标注边框色","use-type":"pure","picker-type":"chrome",format:"rgb","disable-alpha":!1,"blur-close":!0},null,8,["pure-color"])]),a("label",Do,[o[10]||(o[10]=a("span",null,"文字色",-1)),r(b(g),{"pure-color":v.value,"onUpdate:pureColor":o[2]||(o[2]=e=>v.value=e),"aria-label":"标注文字色","use-type":"pure","picker-type":"chrome",format:"rgb","disable-alpha":!1,"blur-close":!0},null,8,["pure-color"])]),a("label",No,[o[11]||(o[11]=a("span",null,"背景色",-1)),r(b(g),{"pure-color":w.value,"onUpdate:pureColor":o[3]||(o[3]=e=>w.value=e),"aria-label":"标注背景色","use-type":"pure","picker-type":"chrome",format:"rgb","disable-alpha":!1,"blur-close":!0},null,8,["pure-color"])])])])]),_:1},8,["ok-button-props"]))}}),Go=/*#__PURE__*/Pn(Fo,[["__scopeId","data-v-01ecd3a4"]]),Yo={class:"waveform-tooltip__series-content"},So={class:"waveform-tooltip__series-label"},Jo={key:0,class:"waveform-tooltip__value"},Ro={key:1,class:"waveform-tooltip__value waveform-tooltip__value--missing"},To=/*#__PURE__*/Pn(/*@__PURE__*/l({__name:"WaveformTooltip",props:{visible:{type:Boolean},position:{},timeUnit:{},hoveredPoint:{},seriesPoints:{},containerWidth:{},containerHeight:{}},setup(t){const r=t,s=p(null),l=p({width:0,height:0});function g(){const e=s.value?.getBoundingClientRect(),A=e?.width??0,t=e?.height??0;A===l.value.width&&t===l.value.height||(l.value={width:A,height:t})}N(s,(e,A,t)=>{if(g(),!e)return;const i=new ResizeObserver(g);i.observe(e),t(()=>i.disconnect())},{flush:"post"}),m(g);const c=A(()=>{if(!r.visible||!r.hoveredPoint)return{display:"none"};const e=r.position.x+12,A=r.position.x-12-l.value.width,t=Math.max(1,Math.min(560,r.containerWidth-16));return{...e+l.value.width<=r.containerWidth-8?{left:`${e}px`}:A>=8?{right:r.containerWidth-r.position.x+12+"px"}:{left:"8px"},maxWidth:`${t}px`,visibility:l.value.width>0?"visible":"hidden",top:`${Math.max(8,Math.min(r.position.y-18,r.containerHeight-l.value.height-8))}px`}});return(A,r)=>t.visible&&t.hoveredPoint?(B(),n("div",{key:0,ref_key:"tooltipElement",ref:s,class:"waveform-tooltip waveform-chart__tooltip",style:u(c.value)},[(B(!0),n(e,null,f(t.seriesPoints,A=>(B(),n("span",{key:`${A.trackIndex}-${A.name}`,class:"waveform-tooltip__series waveform-chart__tooltip-series"},[a("i",{style:u({backgroundColor:A.color})},null,4),a("span",Yo,[a("span",So,[o(x(A.shotNo?.trim()||"未配置炮号")+": "+x(A.name),1),A.unit?(B(),n(e,{key:0},[o("("+x(A.unit)+")",1)],64)):i("",!0)]),A.point?(B(),n("span",Jo,"(x:"+x(b(Yi)(A.point.x,t.timeUnit))+" y:"+x(b(bi)(A.point.y))+")",1)):(B(),n("span",Ro,"无数据"))])]))),128))],4)):i("",!0)}}),[["__scopeId","data-v-88c44eda"]]),Zo=/*@__PURE__*/l({__name:"WaveformHoverHost",props:{state:{},visible:{type:Boolean},timeUnit:{},containerWidth:{},containerHeight:{}},setup(e){const i=e,n=A(()=>i.state.points.find(e=>e.point)?.point??null);return(A,i)=>(B(),t(To,{visible:e.visible&&null!==n.value,position:e.state.position,"time-unit":e.timeUnit,"hovered-point":n.value,"series-points":e.state.points,"container-width":e.containerWidth,"container-height":e.containerHeight},null,8,["visible","position","time-unit","hovered-point","series-points","container-width","container-height"]))}}),Uo={circle:we,square:ke,triangle:be,diamond:xe};function Lo(e,A=48){return"none"===e?null:ve().type(Uo[e]).size(A)()??null}function jo(e){return"none"===e?null:"M1 8H25"}function Oo(e){return"dashed"===e?"8 5":"dash-dot"===e?"8 5 1.5 5":void 0}function Wo(e){const A=(Number.isFinite(e)&&e>0?Math.min(e,24):8)/2,t=13-A,i=13+A;return[`M${t} 2H${i}`,"M13 2V14",`M${t} 14H${i}`].join("")}var Xo=["clip-path"],Ho=["opacity","clip-path","data-series-id","data-series-name"],Vo={key:0},zo=["id"],Po=["x","width","height"],qo=["data-series-id","data-series-name","data-y-axis-index","data-line-type","data-line-style","d","stroke","stroke-dasharray"],Ko=["data-series-id"],_o=["d","stroke","stroke-width"],$o=["data-series-id","data-point-type"],er=["d","fill"],Ar=/*@__PURE__*/l({__name:"WaveformSeriesLayer",props:{track:{},clipPathId:{}},setup(t){const o=t,r=A(()=>o.track.seriesPaths.map(e=>{const A=function(e,A,t=48){if("none"===e||0===A.length)return null;if("circle"===e){const e=Math.sqrt(t/Math.PI);return A.map(({x:A,y:t})=>`M${A+e},${t}A${e},${e},0,1,1,${A-e},${t}A${e},${e},0,1,1,${A+e},${t}`).join("")}if("square"===e){const e=Math.sqrt(t),i=e/2;return A.map(({x:A,y:t})=>`M${A-i},${t-i}h${e}v${e}h${-e}Z`).join("")}if("triangle"===e){const e=Math.sqrt(t/(3*Math.sqrt(3)/4)),i=e*Math.sqrt(3)/2,n=e/2;return A.map(({x:A,y:t})=>`M${A},${t-e}L${A+i},${t+n}L${A-i},${t+n}Z`).join("")}const i=Math.sqrt(t/(2*Math.tan(Math.PI/6))),n=i*Math.tan(Math.PI/6);return A.map(({x:e,y:A})=>`M${e},${A-i}L${e+n},${A}L${e},${A+i}L${e-n},${A}Z`).join("")}(e.series.pointType,e.pointRenderPoints.map(A=>({x:o.track.xScale(A.x),y:e.yScale(A.y)}))),t=e.series.errorBar.capWidth/2,i=e.errorBarRenderPoints.map(A=>{const{lower:i,upper:n}=jA(A),a=o.track.xScale(A.x),r=e.yScale(A.y-i),s=e.yScale(A.y+n);return[`M${a-t},${r}H${a+t}`,`M${a},${r}V${s}`,`M${a-t},${s}H${a+t}`].join("")}).join("");return{...e,pointPath:A,errorBarPath:i||null}}));return(A,o)=>!t.track.isEmpty&&t.track.hasVisibleSeries?(B(),n("g",{key:0,class:"waveform-track__series","clip-path":`url(#${t.clipPathId}-${t.track.index})`},[(B(!0),n(e,null,f(r.value,e=>(B(),n("g",{key:e.presentationKey??e.series.id,opacity:e.opacity??1,"clip-path":e.animationClip?`url(#${e.animationClip.id})`:void 0,class:"waveform-track__series-item waveform-chart__series","data-series-id":e.series.id,"data-series-name":e.series.name||void 0},[e.animationClip?(B(),n("defs",Vo,[a("clipPath",{id:e.animationClip.id,clipPathUnits:"userSpaceOnUse"},[a("rect",{x:e.animationClip.x,width:e.animationClip.width,height:t.track.height},null,8,Po)],8,zo)])):i("",!0),e.path?(B(),n("path",{key:1,class:"waveform-track__line waveform-chart__line","data-series-id":e.series.id,"data-series-name":e.series.name||void 0,"data-y-axis-index":e.yAxisIndex,"data-line-type":e.series.lineType,"data-line-style":e.series.lineStyle,d:e.path,stroke:e.series.color,"stroke-dasharray":b(Oo)(e.series.lineStyle)},null,8,qo)):i("",!0),e.series.errorBar.visible?(B(),n("g",{key:2,class:"waveform-track__error-bars waveform-chart__error-bars","data-series-id":e.series.id},[e.errorBarPath?(B(),n("path",{key:0,class:"waveform-track__error-bar waveform-chart__error-bar",d:e.errorBarPath,stroke:e.series.errorBar.color||e.series.color,"stroke-width":e.series.errorBar.width},null,8,_o)):i("",!0)],8,Ko)):i("",!0),"none"!==e.series.pointType?(B(),n("g",{key:3,class:"waveform-track__points waveform-chart__points","data-series-id":e.series.id,"data-point-type":e.series.pointType},[e.pointPath?(B(),n("path",{key:0,class:"waveform-track__point waveform-chart__point",d:e.pointPath,fill:e.series.color},null,8,er)):i("",!0)],8,$o)):i("",!0)],8,Ho))),128))],8,Xo)):i("",!0)}}),tr=/*#__PURE__*/Pn(Ar,[["__scopeId","data-v-9f231980"]]),ir=["clip-path"],nr=["data-y-axis-index","x2","y1","y2","stroke","stroke-opacity","stroke-width","stroke-dasharray"],ar=/*@__PURE__*/l({__name:"WaveformZeroLines",props:{track:{},clipPathId:{},innerWidth:{},cleanView:{type:Boolean},zeroLine:{}},setup(A){const t=A;function a(e){const[A,i]=e.scale.domain(),n=Math.abs(e.tickValues[1]-e.tickValues[0])*t.zeroLine.boundaryThreshold;return!t.zeroLine.visible||A>=0||i<=0||-A<n||i<n?null:e.scale(0)}return(t,o)=>!A.track.isEmpty&&A.track.hasVisibleSeries&&A.zeroLine.visible&&!A.cleanView?(B(),n("g",{key:0,class:"waveform-track__zero-lines waveform-chart__zero-lines","clip-path":`url(#${A.clipPathId}-${A.track.index})`,"aria-hidden":"true","pointer-events":"none"},[(B(!0),n(e,null,f(A.track.yAxes,t=>(B(),n(e,{key:`zero-line-${A.track.index}-${t.index}`},[null!==a(t)?(B(),n("line",{key:0,class:"waveform-track__zero-line waveform-chart__zero-line","data-y-axis-index":t.index,x1:"0",x2:A.track.width??A.innerWidth,y1:a(t)??0,y2:a(t)??0,stroke:A.zeroLine.color,"stroke-opacity":A.zeroLine.opacity,"stroke-width":A.zeroLine.width,"stroke-dasharray":A.zeroLine.dash||void 0},null,8,nr)):i("",!0)],64))),128))],8,ir)):i("",!0)}}),or=ar;function rr(e,A,t=""){const i=A?.trim();return i&&"--"!==i?`${e}${t}(${i})`:e}var sr=["transform"],lr=["transform"],gr={class:"waveform-track__axis-endpoint waveform-track__axis-endpoint--start waveform-chart__axis-endpoint waveform-chart__axis-endpoint--start",x:"0",y:"7",dy:"0.71em","text-anchor":"start"},cr=["x"],Ir=["data-y-axis-index","data-y-axis-side","transform"],dr={key:2},ur=["x","y","width"],hr=["fill","transform"],Cr=["data-y-axis-title-index"],Qr=["x","y","width"],mr=["fill","transform"],Br=/*@__PURE__*/l({__name:"WaveformTrackAxes",props:{track:{},innerWidth:{},cleanView:{type:Boolean},axes:{},timeUnit:{},yLabel:{},showUnits:{type:Boolean,default:!0},showLabelUnits:{type:Boolean},hideYAxisTitles:{type:Boolean},hideOverlappingMaximumLabel:{type:Boolean}},setup(t){const o=t,r=A(()=>Oi(o.axes?.y?.labelTextStyle)),s=A(()=>{const e=o.axes?.y?.labelTextStyle;return{fontSize:`${ji(e)}px`,fontWeight:e?.fontWeight??600,fontFamily:e?.fontFamily,fontStyle:e?.fontStyle??"normal"}}),l=p(),g=p([]);function c(e){const A=e.name.trim()||o.yLabel||"";return o.showLabelUnits?rr(A,e.unit):A}function Q(e){const A=e.seriesList[0];return Boolean(A&&c(A))}function m(){if(o.track.yAxes.forEach((e,A)=>{const t=g.value[A];if(!t)return;const i=o.showUnits?e.seriesList[0]?.unit:void 0,n=Math.max(...e.tickValues),a=Math.min(...e.tickValues),r=A=>on(A,e.scale.domain(),e.tickValues,i,e.side),s=("left"===e.side?T(e.scale):Z(e.scale)).tickFormat(e=>r(Number(e))).tickSize(-4).tickPadding(7).tickSizeOuter(0).tickValues(e.tickValues),l=ye(t);un(t,s,e.scale,e.tickValues,e.side,r),dn(t,"data-label-domain-min",e.scale.domain()[0]),dn(t,"data-label-domain-max",e.scale.domain()[1]),dn(t,"data-label-unit",i??null),l.selectAll(".tick").each(function(A){const t=this.querySelector("text");t&&(dn(t,"y",null),dn(t,"dy","0"),dn(t,"dominant-baseline","central"),dn(t,"data-axis-maximum-label",o.hideOverlappingMaximumLabel&&Ei(A,n)?"true":null),dn(t,"data-axis-minimum-label",o.hideOverlappingMaximumLabel&&Ei(A,a)?"true":null)),dn(this,"data-maximum-tick",void 0!==e.maximumTick&&Ei(A,e.maximumTick)?"true":null),dn(this,"data-minimum-tick",void 0!==e.minimumTick&&Ei(A,e.minimumTick)?"true":null),dn(this,"data-tick-value",A),dn(this,"data-tick-y",e.scale(A))}),l.selectAll("path.domain").each(function(){dn(this,"display",!1===o.axes?.y?.lineVisible?"none":null)})}),y(),!l.value)return;const e=ye(l.value),A=e=>Ni(e,o.track.xScale.domain(),o.timeUnit,"tick",o.axes?.x?.labelFormatter??o.track.xAxisLabelFormatter);un(l.value,R(o.track.xScale).tickValues(o.track.xAxisTickValues).tickFormat(e=>A(Number(e))).tickSize(-4).tickPadding(7).tickSizeOuter(0),o.track.xScale,o.track.xAxisTickValues,"bottom",A),e.selectAll("path.domain").each(function(){dn(this,"display",!1===o.axes?.x?.lineVisible?"none":null)})}let E=!1;function y(){E||(()=>{const e=g.value[0]?.ownerSVGElement;e&&function(e){mn.has(e)||(mn.add(e),queueMicrotask(()=>{mn.delete(e),En(e)}))}(e)})()}return h(()=>{E=!0,document.fonts?.removeEventListener?.("loadingdone",y)}),C(async()=>{document.fonts?.addEventListener?.("loadingdone",y),document.fonts?.ready.then(()=>{E||y()}),await I(),m()}),N([()=>o.track.xScale,()=>o.track.yAxes,()=>o.track.xAxisTickValues,()=>o.track.yAxisTickValues,()=>o.timeUnit,()=>o.showUnits,()=>o.axes?.x?.labelFormatter,()=>o.axes?.x?.lineVisible,()=>o.axes?.y?.lineVisible,()=>o.hideOverlappingMaximumLabel],async()=>{await I(),m()},{flush:"post"}),(A,o)=>(B(),n(e,null,[t.track.showXAxis?(B(),n("g",{key:0,ref_key:"xAxisElement",ref:l,class:d(["waveform-track__axis waveform-track__axis--x waveform-chart__axis waveform-chart__axis--x",{"waveform-track__axis--line-hidden":!1===t.axes?.x?.lineVisible}]),transform:`translate(0, ${t.track.height})`},null,10,sr)):i("",!0),t.track.showXAxis?(B(),n("g",{key:1,class:"waveform-track__axis-endpoints waveform-chart__axis-endpoints",transform:`translate(0, ${t.track.height})`,"font-family":"sans-serif","font-size":"10","aria-hidden":"true"},[a("text",gr,x(t.track.endpointLabels.start),1),a("text",{class:"waveform-track__axis-endpoint waveform-track__axis-endpoint--end waveform-chart__axis-endpoint waveform-chart__axis-endpoint--end",x:t.track.width??t.innerWidth,y:"7",dy:"0.71em","text-anchor":"end"},x(t.track.endpointLabels.end),9,cr)],8,lr)):i("",!0),(B(!0),n(e,null,f(t.track.isEmpty?[]:t.track.yAxes,e=>(B(),n("g",{key:`y-axis-${t.track.index}-${e.index}`,ref_for:!0,ref:A=>function(e,A){e&&(g.value[A]=e)}(A,e.index),class:d(["waveform-track__axis waveform-track__axis--y waveform-chart__axis waveform-chart__axis--y",[`waveform-track__axis--${e.side}`,{"waveform-track__axis--line-hidden":!1===t.axes?.y?.lineVisible}]]),"data-y-axis-index":e.index,"data-y-axis-side":e.side,transform:`translate(${e.x}, 0)`},null,10,Ir))),128)),!t.cleanView&&!t.hideYAxisTitles&&!t.track.isEmpty&&t.track.hasVisibleSeries&&1===t.track.seriesList.length&&t.track.showYAxisLabel&&t.track.series&&c(t.track.series)?(B(),n("g",dr,[a("rect",{class:"waveform-track__y-axis-label-bg waveform-chart__y-axis-label-bg",x:t.track.yAxes[0].labelX-r.value/2,y:t.track.height/2-40,width:r.value,height:"80",rx:"2"},null,8,ur),a("text",{class:"waveform-track__y-axis-label waveform-chart__y-axis-label",fill:t.axes?.y?.labelTextStyle?.color||t.track.series?.color,style:u(s.value),transform:`translate(${t.track.yAxes[0].labelX}, ${t.track.height/2}) rotate(-90)`,"text-anchor":"middle","dominant-baseline":"central"},x(t.track.series?c(t.track.series):""),13,hr)])):i("",!0),(B(!0),n(e,null,f(!t.cleanView&&!t.hideYAxisTitles&&t.track.yAxes.length>1?t.track.yAxes.filter(Q):[],e=>(B(),n("g",{key:`y-axis-title-${t.track.index}-${e.index}`,class:"waveform-track__multi-axis-title","data-y-axis-title-index":e.index},[a("rect",{class:"waveform-track__y-axis-label-bg waveform-chart__y-axis-label-bg",x:e.labelX-r.value/2,y:t.track.height/2-40,width:r.value,height:"80",rx:"2"},null,8,Qr),a("text",{class:"waveform-track__y-axis-label waveform-chart__y-axis-label",fill:t.axes?.y?.labelTextStyle?.color||e.seriesList[0].color,style:u(s.value),transform:`translate(${e.labelX}, ${t.track.height/2}) rotate(-90)`,"text-anchor":"middle","dominant-baseline":"central"},x(c(e.seriesList[0])),13,mr)],8,Cr))),128))],64))}}),Er=/* @__PURE__ */new WeakMap;function pr(e,A,t,i,n,a){let o=Er.get(e);o||Er.set(e,o=/* @__PURE__ */new Map);const r=new Set(A);for(const[l,g]of o)r.has(l)||(g.remove(),o.delete(l));let s;for(const l of A){let A=o.get(l);A||(A=document.createElementNS("http://www.w3.org/2000/svg","line"),A.setAttribute("data-grid-direction",i),o.set(l,A));const r=s?s.nextSibling:e.firstChild;r!==A&&e.insertBefore(A,r);const g=t(l);dn(A,"stroke",a??null),dn(A,"x1","vertical"===i?g:0),dn(A,"x2","vertical"===i?g:n),dn(A,"y1","horizontal"===i?g:0),dn(A,"y2","horizontal"===i?g:n),s=A}}var fr=["width","height","fill"],yr=["clip-path"],vr={class:"waveform-track__grid waveform-track__grid--minor waveform-chart__grid waveform-chart__grid--minor"},wr={class:"waveform-track__grid waveform-track__grid--major waveform-chart__grid waveform-chart__grid--major"},xr=["x","y"],kr=/*@__PURE__*/l({__name:"WaveformTrackBackdrop",props:{track:{},clipPathId:{},innerWidth:{},cleanView:{type:Boolean},showEmptyFrame:{type:Boolean},frameNumber:{},frameStyle:{}},setup(A){const t=A,o=p(),r=p(),s=p(),l=p();return F(()=>{const e=t.track;for(const[A,i,n]of[[o.value,"vertical",e.xMinorTicks],[r.value,"horizontal",e.yMinorTicks],[s.value,"vertical",e.xMajorTicks],[l.value,"horizontal",e.yMajorTicks]])A&&pr(A,e.gridLines[i]?n:[],"vertical"===i?e.xScale:e.yScale,i,"vertical"===i?e.height:e.width??t.innerWidth,"vertical"===i?e.gridLines.verticalColor:e.gridLines.horizontalColor)},{flush:"post"}),(t,g)=>(B(),n(e,null,[A.track.isEmpty&&!A.showEmptyFrame||A.cleanView?i("",!0):(B(),n("rect",{key:0,class:"waveform-track__plot-background waveform-chart__plot-background",width:A.track.width??A.innerWidth,height:A.track.height,fill:A.frameStyle.backgroundColor,"aria-hidden":"true"},null,8,fr)),A.track.isEmpty&&!A.showEmptyFrame||A.cleanView?i("",!0):(B(),n("g",{key:1,"clip-path":`url(#${A.clipPathId}-${A.track.index})`,"aria-hidden":"true"},[a("g",vr,[a("g",{ref_key:"minorVertical",ref:o},null,512),a("g",{ref_key:"minorHorizontal",ref:r},null,512)]),a("g",wr,[a("g",{ref_key:"majorVertical",ref:s},null,512),a("g",{ref_key:"majorHorizontal",ref:l},null,512)])],8,yr)),(A.track.hasVisibleSeries||A.track.isEmpty&&A.showEmptyFrame)&&void 0!==A.frameNumber&&!A.cleanView?(B(),n("text",{key:2,class:"waveform-track__watermark waveform-chart__watermark",x:(A.track.width??A.innerWidth)/2,y:A.track.height/2,style:u({fontSize:`${Math.min(120,.65*A.track.height)}px`}),"text-anchor":"middle","dominant-baseline":"central","aria-hidden":"true"},x(A.frameNumber),13,xr)):i("",!0)],64))}}),br=["data-track-index","data-track-id","data-track-empty","data-track-left","data-track-width","data-y-axis-label-x","data-track-top","data-track-height","transform"],Mr=["data-interactive","data-independent-overlay-index","width","height"],Dr=["x","y"],Nr=/*@__PURE__*/l({__name:"WaveformTrack",props:{track:{},clipPathId:{},innerWidth:{},zoomable:{type:Boolean},interactive:{type:Boolean,default:!0},displayMode:{},interactionMode:{default:"zoom"},frameNumber:{},frameStyle:{},framePath:{},axes:{},timeUnit:{},yLabel:{},showAxisUnits:{type:Boolean,default:!0},showLabelUnits:{type:Boolean},hideYAxisTitles:{type:Boolean},containFrameStroke:{type:Boolean},cleanView:{type:Boolean,default:!1},zeroLine:{default:()=>({visible:!0,color:wA,width:1,dash:"6 4",opacity:.5,boundaryThreshold:.02})}},emits:["pointer-move","pointer-down","pointer-up","pointer-cancel","pointer-leave","click","contextmenu"],setup(e,{emit:a}){const o=e,s=a,l=A(()=>{const e=o.frameStyle?.borderWidth;return{borderColor:o.frameStyle?.borderColor||"#1f2937",borderWidth:"number"==typeof e&&Number.isFinite(e)&&e>=0?e:1,borderStyle:"dashed"===o.frameStyle?.borderStyle||"dotted"===o.frameStyle?.borderStyle?o.frameStyle.borderStyle:"solid",backgroundColor:o.frameStyle?.backgroundColor||"transparent"}}),g=A(()=>o.containFrameStroke?l.value.borderWidth/2:0);return(A,a)=>(B(),n("g",{class:d(["waveform-track waveform-chart__track",{"waveform-track--empty waveform-chart__track--empty":e.track.isEmpty}]),"data-track-index":e.track.index,"data-track-id":e.track.id,"data-track-empty":e.track.isEmpty||void 0,"data-track-left":e.track.left,"data-track-width":e.track.width,"data-y-axis-label-x":e.track.yAxisLabelX,"data-track-top":e.track.top,"data-track-height":e.track.height,transform:`translate(${e.track.left??0}, ${e.track.top})`},[r(kr,{track:e.track,"clip-path-id":e.clipPathId,"inner-width":e.innerWidth,"clean-view":e.cleanView,"frame-number":e.frameNumber,"frame-style":l.value,"show-empty-frame":""},null,8,["track","clip-path-id","inner-width","clean-view","frame-number","frame-style"]),r(Br,{track:e.track,"inner-width":e.innerWidth,"clean-view":e.cleanView,axes:e.axes,"time-unit":e.timeUnit,"y-label":e.yLabel,"show-units":e.showAxisUnits,"show-label-units":e.showLabelUnits,"hide-y-axis-titles":e.hideYAxisTitles,"hide-overlapping-maximum-label":"compact"===e.displayMode},null,8,["track","inner-width","clean-view","axes","time-unit","y-label","show-units","show-label-units","hide-y-axis-titles","hide-overlapping-maximum-label"]),(B(),t(y(e.framePath?"path":"rect"),{class:"waveform-track__plot-frame waveform-chart__plot-frame",d:e.framePath,x:e.containFrameStroke?g.value:void 0,y:e.containFrameStroke?g.value:void 0,width:Math.max(0,(e.track.width??e.innerWidth)-2*g.value),height:Math.max(0,e.track.height-2*g.value),fill:"none",stroke:l.value.borderColor,"stroke-width":l.value.borderWidth,"stroke-dasharray":"dashed"===l.value.borderStyle?"6 4":"dotted"===l.value.borderStyle?"1 3":void 0,"stroke-linecap":"dotted"===l.value.borderStyle?"round":void 0,"aria-hidden":"true"},null,8,["d","x","y","width","height","stroke","stroke-width","stroke-dasharray","stroke-linecap"])),r(tr,{track:e.track,"clip-path-id":e.clipPathId},null,8,["track","clip-path-id"]),r(or,{track:e.track,"clip-path-id":e.clipPathId,"inner-width":e.innerWidth,"clean-view":e.cleanView,"zero-line":e.zeroLine},null,8,["track","clip-path-id","inner-width","clean-view","zero-line"]),!e.track.isEmpty&&e.track.hasVisibleSeries&&"independent"===e.displayMode?(B(),n("rect",{key:0,class:d(["waveform-track__overlay waveform-track__overlay--independent waveform-chart__overlay waveform-chart__overlay--independent",{"is-zoomable":e.interactive&&e.zoomable&&"zoom"===e.interactionMode,"is-annotating":e.interactive&&"annotation"===e.interactionMode,"is-presentation":!e.interactive}]),"data-interactive":e.interactive,"data-independent-overlay-index":e.track.index,width:e.track.width??e.innerWidth,height:e.track.height,onPointermove:a[0]||(a[0]=e=>s("pointer-move",e)),onPointerdown:a[1]||(a[1]=e=>s("pointer-down",e)),onPointerup:a[2]||(a[2]=e=>s("pointer-up",e)),onPointercancel:a[3]||(a[3]=e=>s("pointer-cancel",e)),onPointerleave:a[4]||(a[4]=e=>s("pointer-leave")),onClick:a[5]||(a[5]=e=>s("click",e)),onContextmenu:a[6]||(a[6]=e=>s("contextmenu",e))},null,42,Mr)):i("",!0),e.track.isEmpty||e.track.hasVisibleSeries||e.cleanView?i("",!0):(B(),n("text",{key:1,class:"waveform-track__no-visible-series",x:(e.track.width??e.innerWidth)/2,y:e.track.height/2,"text-anchor":"middle","dominant-baseline":"central"}," 暂无可见曲线 ",8,Dr))],10,br))}}),Fr=["width","height","data-position","data-orientation"],Gr=["disabled","aria-pressed","aria-label","onClick"],Yr=["data-line-type","data-line-style","data-point-type","data-error-bar-visible"],Sr=["d","stroke","stroke-dasharray"],Jr=["d","stroke","stroke-width"],Rr=["d","fill"],Tr=["title"],Zr=/*#__PURE__*/Pn(/*@__PURE__*/l({__name:"WaveformLegend",props:{series:{},position:{},orientation:{},backgroundColor:{},width:{},height:{},interactive:{type:Boolean,default:!1},showUnits:{type:Boolean,default:!1},hiddenSeriesIds:{default:()=>[]}},emits:["toggle"],setup(t,{emit:o}){const r=t,s=o,l=A(()=>new Set(r.hiddenSeriesIds));function g(e){return r.showUnits?rr(e.name,e.unit," "):e.name}function c(e){return l.value.has(e)}return(A,o)=>(B(),n("foreignObject",{class:"waveform-legend waveform-chart__legend",x:"0",y:"0",width:t.width,height:t.height,"data-position":t.position,"data-orientation":t.orientation,"aria-label":"曲线图例"},[a("div",{xmlns:"http://www.w3.org/1999/xhtml",class:d(["waveform-legend__viewport",`waveform-legend__viewport--${t.position}`])},[a("div",{class:d(["waveform-legend__panel",[`waveform-legend__panel--${t.orientation}`,{"waveform-legend__panel--interactive":t.interactive}]]),style:u({backgroundColor:t.backgroundColor}),role:"list"},[(B(!0),n(e,null,f(t.series,e=>(B(),n("button",{key:e.id,class:d(["waveform-legend__item waveform-chart__legend-item",{"is-hidden":c(e.id)}]),type:"button",role:"listitem",disabled:!t.interactive,"aria-pressed":t.interactive?!c(e.id):void 0,"aria-label":t.interactive?`${c(e.id)?"显示":"隐藏"}曲线 ${e.name}`:void 0,onClick:J(A=>{return t=e.id,void(r.interactive&&s("toggle",t));var t},["stop"])},[(B(),n("svg",{class:"waveform-legend__swatch",viewBox:"0 0 26 16","aria-hidden":"true","data-line-type":e.lineType,"data-line-style":e.lineStyle,"data-point-type":e.pointType,"data-error-bar-visible":e.errorBar.visible||void 0},[b(jo)(e.lineType)?(B(),n("path",{key:0,class:"waveform-legend__line",d:b(jo)(e.lineType)??void 0,stroke:e.color,"stroke-dasharray":b(Oo)(e.lineStyle),"stroke-width":"1",fill:"none"},null,8,Sr)):i("",!0),e.errorBar.visible?(B(),n("path",{key:1,class:"waveform-legend__error-bar",d:b(Wo)(e.errorBar.capWidth),stroke:e.errorBar.color||e.color,"stroke-width":e.errorBar.width,"stroke-linecap":"butt",fill:"none"},null,8,Jr)):i("",!0),"none"!==e.pointType?(B(),n("path",{key:2,class:"waveform-legend__point",d:b(Lo)(e.pointType,30)??void 0,fill:e.color,transform:"translate(13 8)"},null,8,Rr)):i("",!0)],8,Yr)),a("span",{class:"waveform-legend__label",title:g(e)},x(g(e)),9,Tr)],10,Gr))),128))],6)],2)],8,Fr))}}),[["__scopeId","data-v-24214c74"]]),Ur={class:"waveform-chart__hover-layer","pointer-events":"none","aria-hidden":"true"},Lr=["clip-path","transform"],jr=["x1","x2","y2"],Or=/*#__PURE__*/Pn(/*@__PURE__*/l({__name:"WaveformHoverLayer",props:{state:{},tracks:{},clipPathId:{},visible:{type:Boolean}},setup(t){const i=t,o=A(()=>i.visible&&null!==i.state.queryX?i.tracks.flatMap(e=>{const A=null===i.state.trackIndex||i.state.trackIndex===e.index,t=i.state.crosshairXByTrack[e.index];return A&&!e.isEmpty&&e.hasVisibleSeries&&void 0!==t?[{track:e,x:e.xScale(t)}]:[]}):[]);return(A,i)=>(B(),n("g",Ur,[(B(!0),n(e,null,f(o.value,e=>(B(),n("g",{key:e.track.index,class:"waveform-track__crosshair waveform-chart__crosshair","clip-path":`url(#${t.clipPathId}-${e.track.index})`,transform:`translate(${e.track.left??0}, ${e.track.top})`},[a("line",{x1:e.x,x2:e.x,y1:"0",y2:e.track.height},null,8,jr)],8,Lr))),128))]))}}),[["__scopeId","data-v-54a5a37d"]]);function Wr(e,A,t=0){let i=[[0,e.width]];for(const r of A){if(r===e)continue;if(Math.abs(e.top+e.height-r.top)>1e-6)continue;const A=Math.max(0,r.left-e.left),t=Math.min(e.width,r.left+r.width-e.left);t<=A||(i=i.flatMap(([e,i])=>{if(t<=e||A>=i)return[[e,i]];const n=[];return e<A&&n.push([e,A]),i>t&&n.push([t,i]),n}))}if(1===i.length&&0===i[0][0]&&i[0][1]===e.width)return;t=Number.isFinite(t)?Math.max(0,t):0;const n=Math.max(t,e.width-t),a=Math.max(t,e.height-t),o=i.map(([e,A])=>`M${Math.max(t,e)},${a}H${Math.min(n,A)}`).join("");return`M${t},${a}V${t}H${n}V${a}${o}`}var Xr=["data-display-mode","data-interaction-mode","data-presentation-mode","data-overlay-mode","data-chart-left-margin","data-plot-margin-top","data-plot-margin-bottom","data-title-area-height"],Hr=["role","aria-level","aria-hidden"],Vr=["data-title-scale","data-title-wrapped"],zr=["width","height","aria-label"],Pr=["id"],qr=["width","height"],Kr=["transform"],_r={key:0,class:"waveform-chart__grid-slots","aria-hidden":"true"},$r=["transform"],es=["width","height"],As=["width","height"],ts=["x","y","width","height"],is={key:4,class:"waveform-chart__legend-layer"},ns=["data-legend-track-index","data-legend-track-id","transform"],as=["x","y"],os=["x","y"],rs=/*@__PURE__*/l({__name:"WaveformChartView",props:{controller:{}},setup(o){const s=o,l=A(()=>{const e=s.controller.frameStyle?.borderWidth;return s.controller.isEdgeCompact?("number"==typeof e&&Number.isFinite(e)&&e>=0?e:1)/2:0}),{displayMode:g,activeInteractionMode:c,isCleanView:I,isEdgeCompact:h,paginationVisible:C,isPresentationMode:Q,selection:m,containerStyle:E,overlayMode:p,unitDisplayMode:y,showLegendUnits:v,hideYAxisTitles:w,resolvedChartLeftMargin:M,titleAreaHeight:D,resolvedPlotMargin:N,pointerInsideChart:F,handleNativeContextMenu:G,titleAreaReserved:Y,titleAreaStyle:S,titleVisible:J,titleMeasureStyle:R,resolvedTitleText:T,titleVisualStyle:Z,titleTextStyle:U,titleLayout:L,chartWidth:j,drawingHeight:O,hasWaveformData:W,trackLayouts:X,presentationTracks:H,presentationAnnotations:V,stabilizeAnimations:z,clipPathId:P,chartTopMargin:q,gridCells:K,hasVisibleWaveformData:_,zoomable:$,isZoomMode:ee,innerWidth:Ae,innerHeight:te,handleSharedPointerMove:ie,beginSharedViewportDrag:ne,finishViewportDrag:ae,cancelViewportDrag:oe,handlePointerLeave:re,handleAnnotationClick:se,resolveFrameNumber:le,frameStyle:ge,axes:ce,resolvedZeroLine:Ie,timeUnit:de,yLabel:ue,handleIndependentPointerMove:he,beginViewportDrag:Ce,hoverState:Qe,showTooltip:me,selectionBox:Be,annotationsVisible:Ee,handleExistingAnnotationContextMenu:pe,beginAnnotationDrag:fe,handleAnnotationMove:ye,endAnnotationDrag:ve,resolveLegendPosition:we,resolveLegendOrientation:xe,legendBackgroundColor:ke,legendInteractive:be,resolvedHiddenSeriesIds:Me,toggleSeriesVisibility:De,resolvedXLabel:Ne,xAxisTitleY:Fe,plotCenterX:Ge,hasChartArea:Se,gridOptions:Je,currentPage:Re,getPageSize:Te,pageableTracks:Ze,goToPage:Ue,annotationInteraction:Le,editorDraft:je,contextMenu:Oe,editorSeries:We,editorSeriesOptions:Xe,timeError:He,confirmAnnotation:Ve,cancelAnnotation:ze,changeDraftSeries:Pe,changeDraftTime:qe,editContextAnnotation:Ke,deleteContextAnnotation:_e,chartHeight:$e,setContainer:eA,setSvgElement:AA,setTitleMeasureElement:tA,setSharedOverlayElement:iA}=k(s.controller);function nA(){F.value=!1,re.value()}return(A,s)=>(B(),n("div",{ref:b(eA),class:d(["waveform-chart",[`waveform-chart--${b(g)}`,`waveform-chart--interaction-${b(c)}`,{"waveform-chart--clean":b(I),"waveform-chart--edge-compact":b(h),"waveform-chart--presentation":b(Q),"waveform-chart--panning":"pan"===b(m)?.kind}]]),style:u(b(E)),"data-display-mode":b(g),"data-interaction-mode":b(c),"data-presentation-mode":b(Q),"data-overlay-mode":b(p),"data-chart-left-margin":b(M),"data-plot-margin-top":b(N).top,"data-plot-margin-bottom":b(N).bottom,"data-title-area-height":b(D),onPointermoveCapture:s[6]||(s[6]=(...e)=>b(z)&&b(z)(...e)),onPointerdownCapture:s[7]||(s[7]=(...e)=>b(z)&&b(z)(...e)),onWheelCapture:s[8]||(s[8]=(...e)=>b(z)&&b(z)(...e)),onDblclickCapture:s[9]||(s[9]=(...e)=>b(z)&&b(z)(...e)),onContextmenuCapture:s[10]||(s[10]=(...e)=>b(z)&&b(z)(...e)),onPointerenter:s[11]||(s[11]=e=>F.value=!0),onPointerleave:nA,onContextmenu:s[12]||(s[12]=(...e)=>b(G)&&b(G)(...e))},[b(Y)?(B(),n("div",{key:0,class:"waveform-chart__title-area",style:u(b(S)),role:b(J)?"heading":void 0,"aria-level":b(J)?2:void 0,"aria-hidden":b(I)||void 0},[a("span",{ref:b(tA),class:"waveform-chart__title-measure",style:u(b(R)),"aria-hidden":"true"},x(b(T)),5),b(J)?(B(),n("span",{key:0,class:"waveform-chart__title-visual",style:u(b(Z))},[a("span",{class:"waveform-chart__title-text",style:u(b(U)),"data-title-scale":b(L).scale,"data-title-wrapped":b(L).wrapped||void 0},x(b(T)),13,Vr)],4)):i("",!0)],12,Hr)):i("",!0),(B(),n("svg",{ref:b(AA),class:"waveform-chart__svg",width:b(j),height:b(O),role:"img","aria-label":b(W)?"波形折线图":"暂无波形数据"},[a("defs",null,[(B(!0),n(e,null,f(b(X),e=>(B(),n("clipPath",{id:`${b(P)}-${e.index}`,key:`${b(P)}-${e.index}`,clipPathUnits:"userSpaceOnUse"},[a("rect",{width:e.width,height:e.height},null,8,qr)],8,Pr))),128))]),a("g",{transform:`translate(${b(M)}, ${b(q)})`},["compact"===b(g)||b(W)||b(I)?i("",!0):(B(),n("g",_r,[(B(!0),n(e,null,f(b(K),e=>(B(),n("g",{key:`grid-slot-${e.slotIndex}`,transform:`translate(${e.left}, ${e.top})`},[e.series?i("",!0):(B(),n("rect",{key:0,class:"waveform-chart__grid-slot-placeholder",width:e.width,height:e.cellHeight},null,8,es))],8,$r))),128))])),"independent"!==b(g)&&b(X).length&&b(_)?(B(),n("rect",{key:1,ref:b(iA),class:d(["waveform-chart__overlay waveform-chart__overlay--shared",{"is-zoomable":!b(Q)&&b($)&&b(ee),"is-annotating":!b(Q)&&"annotation"===b(c)}]),width:b(Ae),height:b(te),onPointermove:s[0]||(s[0]=(...e)=>b(ie)&&b(ie)(...e)),onPointerdown:s[1]||(s[1]=(...e)=>b(ne)&&b(ne)(...e)),onPointerup:s[2]||(s[2]=(...e)=>b(ae)&&b(ae)(...e)),onPointercancel:s[3]||(s[3]=(...e)=>b(oe)&&b(oe)(...e)),onPointerleave:s[4]||(s[4]=(...e)=>b(re)&&b(re)(...e)),onClick:s[5]||(s[5]=(...e)=>b(se)&&b(se)(...e))},null,42,As)):i("",!0),(B(!0),n(e,null,f(b(X),e=>(B(),t(b(Nr),{key:`${e.index}-${e.id}`,track:b(H).find(A=>A.id===e.id)??e,"frame-path":"compact"===b(g)?b(Wr)(e,b(X),l.value):void 0,"clip-path-id":b(P),"inner-width":b(Ae),zoomable:b($),interactive:!b(Q),"display-mode":b(g),"interaction-mode":b(c),"frame-number":b(le)(e.id,(b(Re)-1)*b(Te)(b(Je))+e.index),"frame-style":b(ge),axes:b(ce),"show-axis-units":"axis"===b(y),"show-label-units":"channel-label-or-legend"===b(y)||"channel-label"===b(y),"hide-y-axis-titles":b(w),"contain-frame-stroke":b(h),"clean-view":b(I),"zero-line":b(Ie),"time-unit":b(de),"y-label":b(ue),onPointerMove:A=>b(he)(A,e.index),onPointerDown:A=>b(Ce)(A,e.index,!0),onPointerUp:b(ae),onPointerCancel:b(oe),onPointerLeave:b(re),onClick:A=>b(se)(A,e.index)},null,8,["track","frame-path","clip-path-id","inner-width","zoomable","interactive","display-mode","interaction-mode","frame-number","frame-style","axes","show-axis-units","show-label-units","hide-y-axis-titles","contain-frame-stroke","clean-view","zero-line","time-unit","y-label","onPointerMove","onPointerDown","onPointerUp","onPointerCancel","onPointerLeave","onClick"]))),128)),r(b(Or),{state:b(Qe),tracks:b(X),"clip-path-id":b(P),visible:b(me)&&!b(Q)},null,8,["state","tracks","clip-path-id","visible"]),b(Be)&&"box"===b(m)?.kind?(B(),n("rect",{key:2,class:"waveform-chart__zoom-selection",x:b(Be).x,y:b(Be).y,width:b(Be).width,height:b(Be).height,"aria-hidden":"true"},null,8,ts)):i("",!0),b(I)?i("",!0):(B(),t(b(qn),{key:3,"cancel-key":b(c),"data-version":o.controller.data,annotations:b(V),visible:b(Ee),interactive:!b(Q)&&"none"!==b(c),onContextmenu:b(pe),onDragStart:b(fe),onMove:b(ye),onDragEnd:b(ve)},null,8,["cancel-key","data-version","annotations","visible","interactive","onContextmenu","onDragStart","onMove","onDragEnd"])),b(I)?i("",!0):(B(),n("g",is,[(B(!0),n(e,null,f(b(X),e=>(B(),n("g",{key:`legend-${e.index}-${e.id}`,class:"waveform-chart__legend-track","data-legend-track-index":e.index,"data-legend-track-id":e.id,transform:`translate(${e.left}, ${e.top})`},[!e.isEmpty&&(e.legendSeries.length>1||b(w))?(B(),t(b(Zr),{key:0,series:e.legendSeries,"show-units":b(v),position:b(we)(e.id),orientation:b(xe)(b(we)(e.id)),"background-color":b(ke),interactive:b(be),"hidden-series-ids":b(Me),width:e.width??b(Ae),height:e.height,onToggle:b(De)},null,8,["series","show-units","position","orientation","background-color","interactive","hidden-series-ids","width","height","onToggle"])):i("",!0)],8,ns))),128))]))],8,Kr),b(Ne)&&!b(I)?(B(),n("text",{key:0,class:"waveform-chart__label waveform-chart__x-label",style:u(b(h)?{fontSize:b(U).fontSize}:void 0),x:b(Ge),y:b(Fe),"text-anchor":"middle"},x(b(Ne)),13,as)):i("",!0),b(Se)&&!b(W)?(B(),n("text",{key:1,class:"waveform-chart__empty",x:b(j)/2,y:b(O)/2,"text-anchor":"middle"}," 暂无有效波形数据 ",8,os)):i("",!0)],8,zr)),r(Io,{controller:o.controller},null,8,["controller"]),b(C)?(B(),t(b(Ye),{key:1,class:"waveform-chart__pagination","aria-label":"波形分页",current:b(Re),"page-size":b(Te)(b(Je)),total:b(Ze).length,"show-size-changer":!1,"show-quick-jumper":!1,onChange:b(Ue)},null,8,["current","page-size","total","onChange"])):i("",!0),!b(je)||b(I)||b(Q)?i("",!0):(B(),t(Go,{key:2,annotation:b(je).annotation,mode:b(je).mode,series:b(We),"series-options":b(Xe),"time-unit":b(de),"time-error":b(He),onConfirm:b(Ve),onCancel:b(ze),onSeriesChange:b(Pe),onTimeChange:b(qe)},null,8,["annotation","mode","series","series-options","time-unit","time-error","onConfirm","onCancel","onSeriesChange","onTimeChange"])),b(I)||b(Q)?i("",!0):(B(),t(b(Kn),{key:3,visible:null!==b(Oe),x:b(Oe)?.x||0,y:b(Oe)?.y||0,"can-edit":Boolean(b(Oe)?.annotationId),onEdit:b(Ke),onDelete:b(_e),onClose:b(Le).closeContextMenu},null,8,["visible","x","y","can-edit","onEdit","onDelete","onClose"])),r(b(Zo),{state:b(Qe),visible:b(me)&&!b(Q),"time-unit":b(de),"container-width":b(j),"container-height":b($e)},null,8,["state","visible","time-unit","container-width","container-height"])],46,Xr))}}),ss=rs,ls=/*@__PURE__*/l({__name:"WaveformChart",props:{toolbar:{type:[Boolean,Object]},data:{},displayMode:{default:"independent"},overlayMode:{default:"single-axis"},unitDisplayMode:{default:"axis"},layoutPreset:{default:"default"},width:{},height:{},xLabel:{},yLabel:{default:"幅值"},lineColor:{default:"#0960bd"},showTooltip:{type:Boolean,default:!0},zoomable:{type:Boolean,default:!0},integerZoom:{type:Boolean,default:!1},pannable:{type:Boolean,default:!1},panXDomain:{},minZoomSpan:{},minVisiblePoints:{default:0},maxZoomScale:{},initialXDomain:{},initialXDomains:{},xDomainStrategy:{default:()=>({type:"integer-ms"})},amplitudeLimits:{},yDomain:{},yDomains:{},timeUnit:{default:"ms"},frameNumber:{default:void 0},frameNumbers:{},frameStyle:{},axes:{},annotations:{default:()=>[]},annotationsVisible:{type:Boolean,default:!0},interactionMode:{default:void 0},grid:{default:()=>({rowCount:2,columnCount:1,showPagination:!0})},rendering:{default:()=>({})},plotMargin:{default:()=>({})},title:{},legend:{default:()=>({position:"top-right",orientation:"auto"})},hiddenSeriesIds:{},defaultHiddenSeriesIds:{default:()=>[]},cleanView:{type:Boolean,default:!1},presentationMode:{type:Boolean,default:!1},zeroLine:{default:()=>({visible:!0})},animationEnabled:{type:Boolean,default:!0},animation:{},animationUpdate:{},animationAnnotation:{},animationThreshold:{}},emits:["update:interactionMode","interaction-mode-change","control-state-change","point-hover","zoom-intent","zoom-change","zoom-end","pan-end","zoom-reset","update:annotations","update:hidden-series-ids","series-visibility-change","annotation-create","annotation-update","annotation-delete","page-change","sampling-complete","sampling-backend-change","sampling-error"],setup(e,{expose:A,emit:i}){const n=qa(e,i);return A({exportImage:n.exportImage,zoomIn:n.zoomIn,zoomOut:n.zoomOut,fitToData:n.fitToData,setInteractionMode:n.setInteractionMode,getControlState:n.getControlState,resetViewport:n.resetViewport,setViewportDomain:n.setViewportDomain}),(e,A)=>(B(),t(ss,{controller:b(n)},null,8,["controller"]))}}),gs=class{#J;constructor(e){const A=new _e,t=Ke(e);t.tracks=A.capture(t),this.#J=new tA(t,A),A.bind(this.#J)}get state(){return this.#J.state}start(e){this.#J.start(e)}tick(e){return this.#J.tick(e)}pause(e){this.#J.pause(e)}resume(e){this.#J.resume(e)}abort(){this.#J.abort()}finish(){this.#J.finish()}};export{gs as Animation,nA as Animator,_A as DEFAULT_WAVEFORM_RENDERING_OPTIONS,fA as WaveformAnimationController,ls as WaveformChart,fi as buildMinorTicks,Dt as calculateWasmRange,Ji as clamp,EA as createAnnotationAppearAnimation,pA as createAnnotationDisappearAnimation,hA as createLineDrawingAnimation,QA as createPathTransitionAnimation,CA as createStaggeredLineDrawingAnimations,mA as createYAxisScaleAnimation,Di as displayTime,Nt as findWasmVisibleRange,Gi as formatAxisTime,Fi as formatEndpointTime,Yi as formatTooltipTime,Te as getEasingFunction,aA as globalAnimator,bt as initializeWasmSampling,OA as normalizeWaveformData,HA as normalizeWaveformSeries,pi as paddedDomain,ra as parseWaveformAnnotations,Si as resolveTrackGeometry,at as resolveWaveformRenderingOptions,Mt as sampleWaveformWasm,lt as selectRenderablePoints,oa as serializeWaveformAnnotations};
|
|
1
|
+
import{Fragment as e,computed as A,createBlock as t,createCommentVNode as i,createElementBlock as n,createElementVNode as a,createTextVNode as o,createVNode as r,defineAsyncComponent as s,defineComponent as l,getCurrentInstance as g,markRaw as c,nextTick as I,normalizeClass as d,normalizeStyle as u,onBeforeUnmount as h,onMounted as C,onScopeDispose as m,onUpdated as Q,openBlock as B,reactive as E,ref as p,renderList as f,resolveDynamicComponent as y,shallowReactive as v,shallowRef as w,toDisplayString as x,toRefs as k,unref as b,vModelSelect as M,vModelText as D,watch as N,watchEffect as F,withCtx as G,withDirectives as Y,withKeys as S,withModifiers as J}from"vue";import{axisBottom as R,axisLeft as T,axisRight as Z,bisector as U,curveLinear as L,curveStep as j,curveStepAfter as O,curveStepBefore as W,easeBackIn as X,easeBackInOut as H,easeBackOut as V,easeBounceIn as z,easeBounceInOut as P,easeBounceOut as q,easeCircleIn as K,easeCircleInOut as _,easeCircleOut as $,easeCubicIn as ee,easeCubicInOut as Ae,easeCubicOut as te,easeElasticIn as ie,easeElasticInOut as ne,easeElasticOut as ae,easeExpIn as oe,easeExpInOut as re,easeExpOut as se,easeLinear as le,easePolyIn as ge,easePolyInOut as ce,easePolyOut as Ie,easeQuadIn as de,easeQuadInOut as ue,easeQuadOut as he,easeSinIn as Ce,easeSinInOut as me,easeSinOut as Qe,extent as Be,line as Ee,pointer as pe,scaleLinear as fe,select as ye,symbol as ve,symbolCircle as we,symbolDiamond as xe,symbolSquare as ke,symbolTriangle as be,tickStep as Me,zoomIdentity as De,zoomTransform as Ne}from"d3";import{InputNumber as Fe,Modal as Ge,Pagination as Ye}from"ant-design-vue";function Se(e,A){e.value=A instanceof Element?A:void 0}function Je(e){return Object.fromEntries(["annotations","annotationsVisible","title","axes","frameStyle","frameNumber","frameNumbers","legend","cleanView","rendering","displayMode","overlayMode","initialXDomain","initialXDomains","yDomain","yDomains","grid","plotMargin","xLabel","yLabel","timeUnit","zeroLine","layoutPreset","unitDisplayMode"].map(A=>[A,e[A]]))}var Re={linear:le,quadIn:de,quadOut:he,quadInOut:ue,cubicIn:ee,cubicOut:te,cubicInOut:Ae,quartIn:ge.exponent(4),quartOut:Ie.exponent(4),quartInOut:ce.exponent(4),quintIn:ge.exponent(5),quintOut:Ie.exponent(5),quintInOut:ce.exponent(5),sineIn:Ce,sineOut:Qe,sineInOut:me,expoIn:oe,expoOut:se,expoInOut:re,circIn:K,circOut:$,circInOut:_,backIn:X,backOut:V,backInOut:H,elasticIn:ie,elasticOut:ae,elasticInOut:ne,bounceIn:z,bounceOut:q,bounceInOut:P};function Te(e){if("function"==typeof e)return e;if("string"!=typeof e||!Object.hasOwn(Re,e))throw new TypeError(`Unknown animation easing: ${String(e)}`);return Re[e]}function Ze(e,A){return Ue(e,e,A)}function Ue(e,A,t){return"number"==typeof e?t(e,A):e.map((e,i)=>"number"==typeof e?t(e,A[i]):e.map((e,n)=>t(e,A[i][n])))}var Le=(e,A)=>Ue(e,A,(e,A)=>e+A),je=(e,A)=>Ue(e,A,(e,A)=>e-A),Oe=(e,A,t)=>Ue(e,A,(e,A)=>0===t?e:1===t?A:(1-t)*e+t*A);function We(e,A){return"number"==typeof e||"number"==typeof A?e===A:e.length===A.length&&e.every((e,t)=>We(e,A[t]))}function Xe(e,A,t){return"reverse"===t||"alternate"===t&&A%2==1||"alternate-reverse"===t&&A%2==0?1-e:e}function He(e,A){if(null===e||"object"!=typeof e||Array.isArray(e))throw new TypeError(`${A} must be an object`)}function Ve(e,A){if("number"!=typeof e)throw new TypeError(`${A} must be a number`);if(!Number.isFinite(e)||e<0)throw new RangeError(`${A} must be finite and nonnegative`)}function ze(e){if(!0===e)return 1/0;if(!1===e)return 1;if("number"!=typeof e)throw new TypeError("loop must be a number or boolean");if(!Number.isFinite(e)||!Number.isInteger(e)||e<=0)throw new RangeError("loop must be a finite positive integer");return e}function Pe(e,A="value"){const t=e=>{if("number"!=typeof e)throw new TypeError(`${A} must contain numbers`);if(!Number.isFinite(e))throw new RangeError(`${A} must contain finite numbers`);return e};if("number"==typeof e)return t(e);if(!Array.isArray(e))throw new TypeError(`${A} must be numeric`);return e.length>0&&Array.isArray(e[0])?Array.from(e,e=>{if(!Array.isArray(e))throw new TypeError(`${A} has mixed dimensions`);return Array.from(e,t)}):Array.from(e,t)}function qe(e,A){return"number"==typeof e||"number"==typeof A?"number"==typeof e&&"number"==typeof A:e.length===A.length&&e.every((e,t)=>qe(e,A[t]))}function Ke(e,A){He(e,"config");const t=void 0===e.duration?1e3:e.duration,i=void 0===e.delay?0:e.delay;Ve(t,"duration"),Ve(i,"delay");const n=ze(void 0===e.loop?1:e.loop);if(0===t&&n===1/0)throw new RangeError("Zero duration cannot loop infinitely");const a=void 0===e.direction?"normal":e.direction;if(!["normal","reverse","alternate","alternate-reverse"].includes(a))throw new TypeError("Unknown animation direction");for(const g of["force","additive"])if(void 0!==e[g]&&"boolean"!=typeof e[g])throw new TypeError(`${g} must be boolean`);for(const g of["initialize","during","done","aborted","onError"])if(void 0!==e[g]&&"function"!=typeof e[g])throw new TypeError(`${g} must be a function`);const o=Te(void 0===e.easing?"linear":e.easing),r=void 0!==e.additive&&e.additive;if(r&&1!==n)throw new RangeError("Additive tracks cannot loop");if(void 0!==e.tracks&&!Array.isArray(e.tracks))throw new TypeError("tracks must be an array");const s=/* @__PURE__ */new Map,l=[];for(const g of e.tracks??[]){if(He(g,"track"),He(g.target,"track.target"),"string"!=typeof g.property)throw new TypeError("property must be a string");const e=s.get(g.target)??/* @__PURE__ */new Set;if(e.has(g.property))throw new TypeError("Duplicate target/property");e.add(g.property),s.set(g.target,e);const t=Pe(g.target[g.property],"target value"),i=Pe(g.to,"to"),n=void 0===g.from?void 0:Pe(g.from,"from");if(!qe(t,i)||void 0!==n&&!qe(n,i))throw new TypeError("Track values must have identical shapes");const a=r?A?.(g):void 0;if(a){if(1!==ze(a.baseLoop))throw new RangeError("Additive base cannot loop");const e=Pe(a.additiveFrom,"additiveFrom");if(!qe(e,i)||void 0!==n&&!We(n,e))throw new TypeError("Additive from must match the derived start")}else if(r&&void 0!==n&&!We(n,t))throw new TypeError("Additive from must match the fixed base");l.push({target:g.target,property:g.property,from:n,to:i})}return{...e,tracks:l,duration:t,delay:i,loop:n,direction:a,easing:o,additive:r,force:void 0!==e.force&&e.force}}var _e=class{#e=/* @__PURE__ */new Map;#A=/* @__PURE__ */new Map;#t(e){return this.#e.get(e.target)?.get(e.property)}#i(e){const{direction:A,loop:t}=e.task.config;return 1===Xe(1,t===1/0?0:t-1,A)?e.to:e.from}context=e=>{const A=this.#t(e);if(!A)return;let t=Le(A.ordinary?this.#i(A.ordinary):A.base,A.offset);for(const i of A.additive)t=Le(t,je(this.#i(i),i.from));return{additiveFrom:t,baseLoop:A.ordinary?.task.config.loop??1}};conflicts(e){const A=/* @__PURE__ */new Set;if(!e.additive)for(const t of e.tracks){const e=this.#t(t);e?.ordinary&&A.add(e.ordinary.task),e?.additive.forEach(e=>A.add(e.task))}return A}capture(e){return e.tracks.map(A=>({...A,from:Pe(e.additive?this.context(A)?.additiveFrom??A.target[A.property]:this.#t(A)?A.target[A.property]:A.from??A.target[A.property])}))}bind(e){const A=[];for(const t of e.config.tracks){let i=this.#t(t);if(!i){const e=Pe(t.target[t.property]);i={target:t.target,property:t.property,base:e,offset:Ze(e,()=>0),additive:/* @__PURE__ */new Set};const A=this.#e.get(t.target)??/* @__PURE__ */new Map;A.set(t.property,i),this.#e.set(t.target,A)}const n=Pe(t.from),a={task:e,from:n,to:t.to,value:e.config.additive?Ze(n,()=>0):n,committed:e.config.additive?Ze(n,()=>0):i.base};e.config.additive?i.additive.add(a):i.ordinary=a,A.push([i,a])}this.#A.set(e,A)}setProgress(e,A){for(const[,t]of this.#A.get(e)??[]){const i=Oe(t.from,t.to,A);t.value=Pe(e.config.additive?je(i,t.from):i)}}flush(){for(const A of this.#e.values())for(const t of A.values())try{let e=Le(t.ordinary?.value??t.base,t.offset);for(const A of t.additive)e=Le(e,A.value);t.target[t.property]=Pe(e),t.ordinary&&(t.ordinary.committed=t.ordinary.value);for(const A of t.additive)A.committed=A.value}catch(e){const A=/* @__PURE__ */new Set([...t.ordinary?[t.ordinary.task]:[],...[...t.additive].map(e=>e.task)]);for(const t of A)t.fail(e)}}detach(e){for(const[A,t]of this.#A.get(e)??[])A.ordinary===t&&(A.base=t.committed,A.ordinary=void 0),A.additive.delete(t)&&(A.offset=Le(A.offset,t.committed)),A.ordinary||A.additive.size||(this.#e.get(A.target)?.delete(A.property),this.#e.get(A.target)?.size||this.#e.delete(A.target));this.#A.delete(e)}};function $e(e){return Object.assign(new Error(e),{code:e})}function eA(e,A){try{e.onError?e.onError(A):console.error(A)}catch(t){try{console.error(t)}catch{}}}function AA(e,A){try{A?.()}catch(t){eA(e,t)}}var tA=class{config;groups;state="PENDING";#n=!1;#a=0;#o=0;#r=0;#s=/* @__PURE__ */new Set;#l="PENDING";#g=0;#c;constructor(e,A){this.config=e,this.groups=A}get ended(){return"FINISHED"===this.state||"ABORTED"===this.state}get unchanged(){return!this.config.force&&this.config.tracks.every(e=>We(e.from,e.to))}setTermination(e){this.#c=e}start(e,A=!1){if(this.#n||this.ended)throw new Error("Animation can only start once");if(this.#n=!0,this.#a=e,this.#s.size&&(this.#o=e),A||0===this.config.duration||this.unchanged)this.finish();else try{this.config.initialize?.()}catch(t){this.fail(t)}}deadline(e){return this.ended||this.#s.size?1/0:Math.max(e,this.#a+this.config.delay+this.#r)}prepare(e){if(!this.#n||this.ended||this.#s.size)return;const A=e-this.#a-this.config.delay-this.#r;if(A<0)return;this.state="RUNNING";const{duration:t,loop:i,direction:n}=this.config,a=A>=t*i;this.#g=a?i-1:Math.floor(A/t);const o=a?1:A%t/t,r=Xe(o,this.#g,n),s={rawProgress:o,directedProgress:r,iteration:this.#g,terminal:a};try{const e=a?r:this.config.easing(r);if(!Number.isFinite(e))throw new RangeError("Easing returned a nonfinite value");return this.groups.setProgress(this,e),{progress:e,frame:s}}catch(l){this.fail(l)}}deliver(e,A){if(!this.ended){try{this.config.during?.(e,A)}catch(t){return void this.fail(t)}A.terminal&&!this.ended&&this.#I("FINISHED")}}tick(e){const A=this.prepare(e);return A&&(this.groups.flush(),this.deliver(A.progress,A.frame)),this.ended}pause(e,A="manual"){this.ended||this.#s.has(A)||(this.#s.size||(this.#l=this.state,this.#o=e,this.state="PAUSED"),this.#s.add(A))}resume(e,A="manual"){this.ended||!this.#s.delete(A)||this.#s.size||(this.#r+=e-this.#o,this.state=this.#l)}finish(e){if(this.ended)return;const{loop:A,direction:t}=this.config;if(A===1/0&&void 0!==e&&this.#n){const A=Math.max(0,(this.#s.size?this.#o:e)-this.#a-this.config.delay-this.#r);this.#g=Math.floor(A/this.config.duration)}const i=A===1/0?this.#g:A-1,n=Xe(1,i,t);try{this.groups.setProgress(this,n),this.groups.flush()}catch(a){return void this.fail(a)}this.deliver(n,{rawProgress:1,directedProgress:n,iteration:i,terminal:!0})}abort(){this.ended||this.#I("ABORTED")}settle(e,A=!0){if(this.ended)return()=>{};this.state=e,this.groups.detach(this),this.#c?.();const t=()=>AA(this.config,"FINISHED"===e?this.config.done:this.config.aborted);return A&&t(),t}#I(e){this.settle(e)}fail(e){this.abort(),eA(this.config,e)}};function iA(e,A,t){let i={read:A,command:t},n="PENDING";const a=e=>i?.command(e);return{handle:{id:e,get state(){return i?.read()??n},pause:()=>a("pause"),resume:()=>a("resume"),abort:()=>a("abort"),finish:()=>a("finish")},release:()=>{i&&(n=i.read(),i=void 0)}}}var nA=class{#d;#u;#h=/* @__PURE__ */new Map;#e=new _e;#s=/* @__PURE__ */new Set;#C;#m;#Q=!1;#B=0;#E=!1;#p=!1;constructor(e){e&&function(e){He(e,"scheduler");for(const t of["now","setTimer","clearTimer"])if("function"!=typeof e[t])throw new TypeError(`${t} must be a function`);const A=void 0!==e.requestFrame;if(A!==(void 0!==e.cancelFrame)||A&&("function"!=typeof e.requestFrame||"function"!=typeof e.cancelFrame))throw new TypeError("requestFrame and cancelFrame must be supplied together as functions")}(e),this.#d=e,this.#u=!!e}#f(){return this.#d??=function(){const e="function"==typeof globalThis.requestAnimationFrame&&"function"==typeof globalThis.cancelAnimationFrame;return{now:()=>globalThis.performance?.now()??Date.now(),requestFrame:e?e=>globalThis.requestAnimationFrame(e):void 0,cancelFrame:e?e=>globalThis.cancelAnimationFrame(e):void 0,setTimer:(e,A)=>setTimeout(e,A),clearTimer:e=>clearTimeout(e)}}()}validate(e){Ke(e,this.#e.context)}animate(e,A){return this.animatePaused(e,A,[])}animatePaused(e,A,t){if(this.#E)throw $e("animation-terminating");if(void 0!==A&&"string"!=typeof A)throw new TypeError("Animation id must be string");const i=Ke(e,this.#e.context),n=this.#e.conflicts(i);void 0!==A&&this.#h.has(A)&&n.add(this.#h.get(A)),i.tracks=this.#e.capture(i);const a=new tA(i,this.#e);let o=A;if(void 0===o)do{o="animation-"+ ++this.#B}while(this.#h.has(o));const r=[...n].map(e=>e.settle("ABORTED",!1));this.#h.set(o,a),this.#e.bind(a);const s=this.#f(),{handle:l,release:g}=iA(o,()=>a.state,e=>{a[e](s.now()),this.#y()});a.setTermination(()=>{this.#h.get(o)===a&&this.#h.delete(o),g(),this.#y()});for(const c of/* @__PURE__ */new Set([...this.#s,...t]))a.pause(s.now(),c);return r.forEach(e=>e()),a.ended||a.start(s.now(),!s.requestFrame),this.#y(),l}remove(e){this.#h.get(e)?.abort(),this.#y()}pause(e){this.#h.get(e)?.pause(this.#f().now()),this.#y()}resume(e){this.#h.get(e)?.resume(this.#f().now()),this.#y()}pauseAll(){this.setPauseReason("manual-all",!0)}resumeAll(){this.setPauseReason("manual-all",!1)}setPauseReason(e,A,t){t||(A?this.#s.add(e):this.#s.delete(e));const i=t?t.map(e=>this.#h.get(e)).filter(e=>!!e):[...this.#h.values()],n=this.#f().now();for(const a of i)A?a.pause(n,e):a.resume(n,e);this.#y()}finishAll(){this.#v("finish")}clear(){this.#v("abort")}destroy(){this.#E||(this.#v("abort"),this.#s.clear(),this.#e=new _e,this.#u||(this.#d=void 0))}getAnimationCount(){return this.#h.size}#v(e){if(!this.#E){this.#E=!0;try{for(const A of[...this.#h.values()])"finish"===e?A.finish(this.#f().now()):A.abort()}finally{this.#E=!1,this.#y()}}}#w(){void 0!==this.#C&&this.#d?.cancelFrame?.(this.#C),this.#Q&&this.#d?.clearTimer(this.#m),this.#C=void 0,this.#m=void 0,this.#Q=!1}#y(){if(this.#p||this.#E)return;if(this.#w(),!this.#h.size)return;const e=this.#f();if(!e.requestFrame)return;const A=e.now(),t=Math.min(...[...this.#h.values()].map(e=>e.deadline(A)));t!==1/0&&(t>A?(this.#Q=!0,this.#m=e.setTimer(()=>{this.#Q=!1,this.#y()},t-A)):this.#C=e.requestFrame(()=>this.#x()))}#x(){this.#C=void 0,this.#p=!0;const e=this.#f().now();try{const A=[...this.#h].map(([A,t])=>({id:A,task:t,next:t.prepare(e)}));this.#e.flush();for(const{id:e,task:t,next:i}of A)i&&this.#h.get(e)===t&&t.deliver(i.progress,i.frame)}finally{this.#p=!1,this.#y()}}},aA=/* @__PURE__ */new nA,oA=0,rA={"fade-in":"cubicOut",scale:"backOut","slide-in":"cubicOut",bounce:"bounceOut"};function sA(e){return"string"==typeof e&&Object.hasOwn(rA,e)}var lA=e=>Math.max(0,Math.min(1,e));function gA(e){if(!e||"function"!=typeof e.read||"function"!=typeof e.write)throw new TypeError("Animation binding requires read and write functions")}function cA(e,A){const t={duration:e.duration??300,easing:e.easing??"cubicInOut",done:e.onComplete,aborted:e.onAbort,force:!0,...A};return Ke(t),t}function IA(e){return Array.isArray(e)&&(e.forEach(e=>{Array.isArray(e)&&Object.freeze(e)}),Object.freeze(e)),e}function dA(e){if(!e||"object"!=typeof e||Array.isArray(e))throw new TypeError("Invalid geometry");return Object.freeze(Object.fromEntries(Object.entries(e).map(([e,A])=>[e,IA(Pe(A))])))}function uA(e){return 2===e.length&&e.every(Number.isFinite)&&e[0]<e[1]}function hA(e,A,t={}){if(gA(e),!Number.isFinite(A)||A<0)throw new RangeError("Width must be finite and nonnegative");const i=t.direction??"left-to-right";if(!["left-to-right","right-to-left","center-out"].includes(i))throw new TypeError("Invalid drawing direction");const n=e=>({x:"right-to-left"===i?A*(1-e):"center-out"===i?A*(1-e)/2:0,width:A*e});return cA({...t,duration:t.duration??1e3},{delay:t.delay??0,initialize:()=>e.write(n(0)),during:(A,t)=>e.write(n(t.terminal?1:lA(A)))})}function CA(e,A={}){const t=A.staggerDelay??100;if(!Number.isFinite(t)||t<0)throw new RangeError("Invalid stagger delay");return e.map((e,i)=>hA(e.binding,e.width,{...A,delay:(A.delay??0)+i*t}))}function mA(e,A,t={}){const i=e.compatible;if("function"!=typeof A||"boolean"!=typeof i)throw new TypeError("Invalid geometry transition");const n=dA(e.from),a=dA(e.to),o=Object.keys(a);if(i){if(o.length!==Object.keys(n).length||o.some(e=>!Object.hasOwn(n,e)))throw new TypeError("Compatible geometry requires identical channels");if(o.some(e=>!qe(n[e],a[e])))throw new TypeError("Track values must have identical shapes")}return cA(t,{duration:i&&o.every(e=>We(n[e],a[e]))?0:t.duration??300,during:(e,t)=>{if(t.terminal)A({kind:"settled",values:a});else if(i)A({kind:"interpolate",progress:e,values:Object.fromEntries(o.map(A=>[A,Oe(n[A],a[A],e)]))});else{const t=lA(e);A({kind:"crossfade",from:n,to:a,fromOpacity:1-t,toOpacity:t})}}})}function QA(e,A,t={}){gA(e);const i=[...A];if(!uA(i))throw new RangeError("Target domain must be finite and strictly increasing");let n;return cA(t,{initialize:()=>{if(n=[...e.read()],!uA(n))throw new RangeError("Initial domain must be finite and strictly increasing")},during:(A,t)=>{if(t.terminal)return void e.write([...i]);const a=lA(A),o=Oe(n??i,i,a);e.write(uA(o)?o:[...i])}})}function BA(e,A,t){gA(e);const i=A.type??"scale";if(!sA(i))throw new TypeError("Unknown annotation effect");const n=A.easing??rA[i],a={opacity:t?1:0,scale:t||"scale"!==i&&"bounce"!==i?1:0,offsetY:t||"slide-in"!==i?0:8};let o;return cA({...A,easing:n},{initialize:()=>{if(o={...e.read()},!Object.values(o).every(Number.isFinite))throw new RangeError("Invalid annotation state")},during:(A,t)=>{if(t.terminal)return void e.write({...a});const i=o??a,n=e=>(1-A)*i[e]+A*a[e];e.write({opacity:lA(n("opacity")),scale:Math.max(0,n("scale")),offsetY:n("offsetY")})}})}function EA(e,A={}){return BA(e,A,!0)}function pA(e,A={}){return BA(e,A,!1)}var fA=class{options;#k=/* @__PURE__ */new Map;#b=function(){const e=++oA;return A=>JSON.stringify([e,A.kind,A.id,A.scope])}();#M;#D;#E=!1;#N=!1;#F=/* @__PURE__ */new Set;constructor(e){if(this.options=e,!e||"function"!=typeof e.commitFinalState)throw new TypeError("commitFinalState is required");this.#M=e.enabled??!0,this.#D=e.animator??aA}#G(){if(this.#E)throw $e("animation-terminating");if(this.#N)throw $e("animation-disposed")}animate(e,A){if(this.#G(),!e||!["series","annotation","axis","custom"].includes(e.kind)||"string"!=typeof e.id||!["enter","update","leave","domain"].includes(e.scope))throw new TypeError("Invalid animation object key");this.#D instanceof nA?this.#D.validate(A):Ke(A);const t={...A,tracks:A.tracks?.map(e=>({...e,from:void 0===e.from?void 0:Pe(e.from,"from"),to:Pe(e.to,"to")}))},i=this.#b(e),n=[...this.#k.values()].filter(A=>{return t=A.key,i=e,!(t.kind!==i.kind||t.id!==i.id||!("annotation"===t.kind&&["enter","leave"].includes(t.scope)&&["enter","leave"].includes(i.scope)||"series"===t.kind&&["enter","update"].includes(t.scope)&&["enter","update"].includes(i.scope)||t.scope===i.scope));var t,i}),a={key:{...e},config:t,id:i,manualPaused:!1},{handle:o,release:r}=iA(i,()=>a.state??a.raw?.state??"PENDING",e=>{"pause"===e?(a.manualPaused=!0,a.raw?.pause()):"resume"===e?(a.manualPaused=!1,(this.#D instanceof nA||!this.#F.size)&&a.raw?.resume()):"abort"===e?a.raw?a.raw.abort():this.#Y(a,"ABORTED"):a.raw?.finish()});a.handle=o,a.release=r,this.#k.set(i,a);for(const g of n){if("series"===e.kind&&"update"===e.scope&&"enter"===g.key.scope)try{g.config.during?.(1,{rawProgress:1,directedProgress:1,iteration:0,terminal:!0})}catch(l){eA(g.config,l)}g.handle.abort()}if(a.state)return a.handle;const s={...t,initialize:this.#D instanceof nA?t.initialize:()=>{t.initialize?.(),this.#F.size&&this.#D.pause(i)},duration:this.#M?t.duration:0,loop:this.#M?t.loop:1,done:()=>{this.#E||this.#Y(a,"FINISHED")},aborted:()=>{this.#E||this.#Y(a,"ABORTED")},onError:e=>{eA(t,e),this.#E||this.#N||this.finishAll()}};try{a.raw=this.#D instanceof nA?this.#D.animatePaused(s,i,[...this.#F].map(e=>this.#S(e))):this.#D.animate(s,i)}catch(l){throw this.#Y(a,"ABORTED"),l}if(this.#D instanceof nA)for(const g of this.#F)this.#D.setPauseReason(this.#S(g),!0,[i]);else this.#F.size&&a.raw.pause();return a.handle}#Y(e,A){"FINISHED"!==e.state&&"ABORTED"!==e.state&&(e.state=A,this.#k.get(e.id)===e&&this.#k.delete(e.id),e.release(),AA(e.config,"FINISHED"===A?e.config.done:e.config.aborted))}animateSeriesEnter(e,A,t,i){return this.#G(),this.animate({kind:"series",id:e,scope:"enter"},hA(A,t,i))}animateMultiSeriesEnter(e,A){return this.#G(),CA(e,A).map((A,t)=>this.animate({kind:"series",id:e[t].id,scope:"enter"},A))}animateDataUpdate(e,A,t,i){return this.#G(),this.animate({kind:"series",id:e,scope:"update"},mA(A,t,i))}animateYAxisScale(e,A,t,i){return this.#G(),this.animate({kind:"axis",id:e,scope:"domain"},QA(A,t,i))}animateAnnotationAppear(e,A,t){return this.#G(),this.animate({kind:"annotation",id:e,scope:"enter"},EA(A,t))}animateAnnotationDisappear(e,A,t){return this.#G(),this.animate({kind:"annotation",id:e,scope:"leave"},pA(A,t))}cancel(e){this.#k.get(this.#b(e))?.handle.abort()}cancelAll(){this.#v(!1,!1)}finishAll(){this.#v(!0,!0)}finishWhere(e,A){this.#v(!0,!0,e,A)}#v(e,A,t=()=>!0,i=this.options.commitFinalState){if(this.#E||this.#N)return;this.#E=!0;const n=[...this.#k.values()].filter(e=>t(e.key));try{for(const e of n)this.#k.get(e.id)===e&&this.#k.delete(e.id),e.raw?.abort();try{A&&i()}catch(a){for(const e of n)this.#Y(e,"ABORTED"),eA(e.config,a);throw a}for(const A of n)this.#Y(A,e?"FINISHED":"ABORTED")}finally{this.#E=!1}}pauseAll(){this.setPauseReason("manual-all",!0)}resumeAll(){this.setPauseReason("manual-all",!1)}#S(e){return`${this.#b({kind:"custom",id:"pause",scope:"domain"})}:${e}`}setPauseReason(e,A){this.#N||(A?this.#F.add(e):this.#F.delete(e),this.#D instanceof nA?this.#D.setPauseReason(this.#S(e),A,[...this.#k.keys()]):A?this.#k.forEach(e=>e.raw?.pause()):this.#F.size||this.#k.forEach(e=>{e.manualPaused||e.raw?.resume()}))}setEnabled(e){this.#N||this.#M===e||(this.#M=e,e||this.finishAll())}getActiveAnimationCount(){return this.#k.size}destroy(){this.#N||this.#E||(this.#v(!1,!1),this.#N=!0,this.#F.clear())}},yA={top:18,right:24,bottom:52,left:48},vA=["#0960bd","#ff7f0e","#2ca02c","#d62728","#9467bd","#8c564b","#e377c2","#7f7f7f","#bcbd22","#17becf","#005f73","#0a9396","#ae2012","#bb3e03","#ca6702","#ee9b00","#9b2226","#3a0ca3","#4361ee","#4895ef","#560bad","#7209b7","#b5179e","#f72585","#006d77","#2f3e46","#354f52","#52796f","#800f2f","#31572c"],wA="#ff0000";function xA(e,A,t,i){let n=0,a=e;for(;n<a;){const e=n+Math.floor((a-n)/2);(i?A(e)<=t:A(e)<t)?n=e+1:a=e}return n}function kA(e,A,t,i){const n=e=>t+(i?.[e]??e)/A,a=A=>A<0||A>=e.length?void 0:{x:n(A),y:e[A]};return{isCompact:!0,length:e.length,pointAt:a,pointsInRange(A=0,t=e.length){const i=Math.max(0,Math.min(e.length,Math.floor(A))),n=Math.max(i,Math.min(e.length,Math.ceil(t)));return Array.from({length:n-i},(e,A)=>a(i+A)).filter(e=>void 0!==e)},visibleRange(A){const t=Math.min(A[0],A[1]),i=Math.max(A[0],A[1]);return{start:xA(e.length,n,t,!1),end:xA(e.length,n,i,!0)}},nearestPoint(A){if(!Number.isFinite(A)||!e.length)return;if(A<=n(0))return a(0);if(A>=n(e.length-1))return a(e.length-1);const t=xA(e.length,n,A,!1),i=Math.max(0,t-1);return Math.abs(A-n(i))<Math.abs(n(t)-A)?a(i):a(t)},metrics(){let A=Number.POSITIVE_INFINITY,t=Number.NEGATIVE_INFINITY;for(const i of e)A=Math.min(A,i),t=Math.max(t,i);return{xMinimum:e.length?n(0):Number.POSITIVE_INFINITY,xMaximum:e.length?n(e.length-1):Number.NEGATIVE_INFINITY,yMinimum:A,yMaximum:t,hasErrorPoints:!1}},toWorkerDataset:()=>({kind:"samples",values:e.slice(),sampleRate:A,startTime:t,...i?{sourceIndexes:i.slice()}:{}})}}function bA(e){return"number"==typeof e&&Number.isFinite(e)&&e>=0?e:void 0}function MA(e,A,t){const i=Math.max(0,Math.min(t,Math.floor(e)));return{start:i,end:Math.max(i,Math.min(t,Math.floor(A)))}}function DA(e,A,t){let i=0,n=e;for(;i<n;){const e=i+Math.floor((n-i)/2);A(e)<t?i=e+1:n=e}return i}function NA(e,A,t){let i=0,n=e;for(;i<n;){const e=i+Math.floor((n-i)/2);A(e)<=t?i=e+1:n=e}return i}var FA=class{sourcePoints;isCompact=!1;constructor(e){this.sourcePoints=e}get length(){return this.sourcePoints.length}pointAt(e){return this.sourcePoints[e]}pointsInRange(e=0,A=this.length){const t=MA(e,A,this.length);return this.sourcePoints.slice(t.start,t.end)}visibleRange(e){const A=Math.min(e[0],e[1]),t=Math.max(e[0],e[1]);return{start:DA(this.length,e=>this.sourcePoints[e].x,A),end:NA(this.length,e=>this.sourcePoints[e].x,t)}}nearestPoint(e){if(!Number.isFinite(e)||!this.length)return;const A=this.sourcePoints[0],t=this.sourcePoints[this.length-1];if(e<=A.x)return A;if(e>=t.x)return t;const i=DA(this.length,e=>this.sourcePoints[e].x,e),n=this.sourcePoints[Math.min(i,this.length-1)],a=this.sourcePoints[Math.max(0,i-1)];return Math.abs(e-a.x)<Math.abs(n.x-e)?a:n}metrics(e=!1){return function(e,A,t){let i=Number.POSITIVE_INFINITY,n=Number.NEGATIVE_INFINITY,a=Number.POSITIVE_INFINITY,o=Number.NEGATIVE_INFINITY,r=!1;for(let s=0;s<e;s+=1){const e=A(s);if(!e)continue;if(i=Math.min(i,e.x),n=Math.max(n,e.x),a=Math.min(a,e.y),o=Math.max(o,e.y),!t)continue;const l=bA(e.lowerError)??bA(e.error)??0,g=bA(e.upperError)??bA(e.error)??0;r||=0!==l||0!==g,a=Math.min(a,e.y-l),o=Math.max(o,e.y+g)}return{xMinimum:i,xMaximum:n,yMinimum:a,yMaximum:o,hasErrorPoints:r}}(this.length,e=>this.sourcePoints[e],e)}toWorkerDataset(){return{kind:"points",points:this.sourcePoints}}},GA=class{x;y;error;lowerError;upperError;isCompact=!0;constructor(e,A,t,i,n){this.x=e,this.y=A,this.error=t,this.lowerError=i,this.upperError=n}get length(){return this.x.length}pointAt(e){if(e<0||e>=this.length)return;const A=bA(this.error?.[e]),t=bA(this.lowerError?.[e]),i=bA(this.upperError?.[e]);return{x:this.x[e],y:this.y[e],...void 0===A?{}:{error:A},...void 0===t?{}:{lowerError:t},...void 0===i?{}:{upperError:i}}}pointsInRange(e=0,A=this.length){const t=MA(e,A,this.length),i=[];for(let n=t.start;n<t.end;n+=1)i.push(this.pointAt(n));return i}visibleRange(e){const A=Math.min(e[0],e[1]),t=Math.max(e[0],e[1]);return{start:DA(this.length,e=>this.x[e],A),end:NA(this.length,e=>this.x[e],t)}}nearestPoint(e){if(!Number.isFinite(e)||!this.length)return;if(e<=this.x[0])return this.pointAt(0);if(e>=this.x[this.length-1])return this.pointAt(this.length-1);const A=DA(this.length,e=>this.x[e],e),t=Math.min(A,this.length-1),i=Math.max(0,A-1);return Math.abs(e-this.x[i])<Math.abs(this.x[t]-e)?this.pointAt(i):this.pointAt(t)}metrics(e=!1){let A=Number.POSITIVE_INFINITY,t=Number.NEGATIVE_INFINITY,i=Number.POSITIVE_INFINITY,n=Number.NEGATIVE_INFINITY,a=!1;for(let o=0;o<this.length;o+=1){const r=this.x[o],s=this.y[o];if(A=Math.min(A,r),t=Math.max(t,r),i=Math.min(i,s),n=Math.max(n,s),!e)continue;const l=bA(this.lowerError?.[o])??bA(this.error?.[o])??0,g=bA(this.upperError?.[o])??bA(this.error?.[o])??0;a||=0!==l||0!==g,i=Math.min(i,s-l),n=Math.max(n,s+g)}return{xMinimum:A,xMaximum:t,yMinimum:i,yMaximum:n,hasErrorPoints:a}}toWorkerDataset(){return{kind:"typed",x:this.x.slice(),y:this.y.slice()}}};function YA(e){return e instanceof Float32Array||e instanceof Float64Array}function SA(e,A){return"typed-samples"===e.kind?function(e){if(!YA(e.values)||!Number.isFinite(e.sampleRate)||e.sampleRate<=0||void 0!==e.startTime&&!Number.isFinite(e.startTime))return kA(/* @__PURE__ */new Float64Array,1,0);const A=e.startTime??0;let t=0;for(let a=0;a<e.values.length;a+=1)t+=Number.isFinite(e.values[a])?1:0;const i=e.values instanceof Float32Array?new Float32Array(t):new Float64Array(t),n=t===e.values.length?void 0:new Uint32Array(t);for(let a=0,o=0;a<e.values.length;a+=1){const A=e.values[a];Number.isFinite(A)&&(i[o]=A,n&&(n[o]=a),o+=1)}return kA(i,e.sampleRate,A,n)}(e):"typed-points"===e.kind?function(e){if(!function(e){const A=[e.y,e.error,e.lowerError,e.upperError];return e.x instanceof Float64Array&&A.every(A=>void 0===A||YA(A)&&A.length===e.x.length)}(e))return new GA(/* @__PURE__ */new Float64Array,/* @__PURE__ */new Float64Array);let A=!0;for(let c=0;c<e.x.length;c+=1)if(!Number.isFinite(e.x[c])||!Number.isFinite(e.y[c])||c>0&&e.x[c]<e.x[c-1]){A=!1;break}if(A)return new GA(e.x.slice(),e.y.slice(),e.error?.slice(),e.lowerError?.slice(),e.upperError?.slice());const t=[];let i=!0,n=Number.NEGATIVE_INFINITY;for(let c=0;c<e.x.length;c+=1){const A=e.x[c],a=e.y[c];Number.isFinite(A)&&Number.isFinite(a)&&(A<n&&(i=!1),n=A,t.push(c))}i||t.sort((A,t)=>e.x[A]-e.x[t]);const a=new Float64Array(t.length),o=e.y instanceof Float32Array?new Float32Array(t.length):new Float64Array(t.length),r=e=>e?e instanceof Float32Array?new Float32Array(t.length):new Float64Array(t.length):void 0,s=r(e.error),l=r(e.lowerError),g=r(e.upperError);return t.forEach((A,t)=>{a[t]=e.x[A],o[t]=e.y[A],s&&(s[t]=e.error[A]),l&&(l[t]=e.lowerError[A]),g&&(g[t]=e.upperError[A])}),new GA(a,o,s,l,g)}(e):new FA(A(e))}function JA(e){return new FA(e)}function RA(e){if(!e.isCompact)return e.pointsInRange();const A=/* @__PURE__ */new Map,t=t=>{const i=A.get(t);if(i)return i;const n=e.pointAt(t);return n&&(A.set(t,n),A.size>128&&A.delete(A.keys().next().value)),n};return new Proxy([],{get:(A,i,n)=>"string"==typeof i&&/^(0|[1-9]\d*)$/.test(i)?t(Number(i)):"length"===i?e.length:Reflect.get(A,i,n),has(A,t){if("string"==typeof t&&/^(0|[1-9]\d*)$/.test(t)){const A=Number(t);return A>=0&&A<e.length}return Reflect.has(A,t)},ownKeys:A=>[...Array.from({length:e.length},(e,A)=>String(A)),...Reflect.ownKeys(A).filter(e=>"length"===e||"symbol"==typeof e)],getOwnPropertyDescriptor(A,i){if("string"==typeof i&&/^(0|[1-9]\d*)$/.test(i)){const A=Number(i);if(A>=0&&A<e.length)return{configurable:!0,enumerable:!0,writable:!0,value:t(A)}}return Reflect.getOwnPropertyDescriptor(A,i)}})}function TA(e){return"number"==typeof e&&Number.isFinite(e)&&e>=0?e:void 0}function ZA(e){const A=TA(e.error),t=TA(e.lowerError),i=TA(e.upperError);return{x:e.x,y:e.y,...void 0===A?{}:{error:A},...void 0===t?{}:{lowerError:t},...void 0===i?{}:{upperError:i}}}function UA(e){return e instanceof Float32Array||e instanceof Float64Array}function LA(e,A,t){if(!Number.isFinite(A)||A<=0)return[];const i=Number.isFinite(t)?t??0:0,n=[];for(let a=0;a<e.length;a+=1){const t=e[a];Number.isFinite(t)&&n.push({x:i+a/A,y:t})}return n}function jA(e){const A=TA(e.error)??0;return{lower:TA(e.lowerError)??A,upper:TA(e.upperError)??A}}function OA(e){if("samples"===e.kind)return LA(e.values,e.sampleRate,e.startTime);if("typed-samples"===e.kind)return function(e){return!UA(e.values)||!Number.isFinite(e.sampleRate)||e.sampleRate<=0||void 0!==e.startTime&&!Number.isFinite(e.startTime)?[]:LA(e.values,e.sampleRate,e.startTime)}(e);if("typed-points"===e.kind)return function(e){if(!(e.x instanceof Float64Array&&UA(e.y)))return!1;const A=e.x.length;return[e.error,e.lowerError,e.upperError].every(e=>void 0===e||UA(e)&&e.length===A)&&e.y.length===A}(e)?function(e){const A=[];let t=Number.NEGATIVE_INFINITY,i=!0;for(let n=0;n<e.x.length;n+=1){const a=e.x[n],o=e.y[n];if(!Number.isFinite(a)||!Number.isFinite(o))continue;const r=ZA({x:a,y:o,error:e.error?.[n],lowerError:e.lowerError?.[n],upperError:e.upperError?.[n]});r.x<t&&(i=!1),t=r.x,A.push(r)}return i||A.sort((e,A)=>e.x-A.x),A}(e):[];const A=[];let t=Number.NEGATIVE_INFINITY,i=!0;for(const n of e.points){if(!Number.isFinite(n.x)||!Number.isFinite(n.y))continue;const e=ZA(n);e.x<t&&(i=!1),t=e.x,A.push(e)}return i||A.sort((e,A)=>e.x-A.x),A}function WA(e,A){const t=A.lineType??"linear",i="dashed"===(n=A.lineStyle)||"dash-dot"===n?n:"solid";var n;const a=A.pointType??"none",o=!0===A.errorBar?.visible,r="none"!==t||"none"!==a||o?t:"linear",s=Number(A.errorBar?.width),l=Number(A.errorBar?.capWidth);return{id:e,shotNo:A.shotNo?.trim()||void 0,trackId:A.trackId?.trim()||void 0,name:A.name,unit:A.unit,color:A.color,lineType:r,lineStyle:i,pointType:a,errorBar:{visible:o,color:A.errorBar?.color,width:Number.isFinite(s)&&s>0?s:1.5,capWidth:Number.isFinite(l)&&l>0?l:8}}}function XA(e,A=!1){if("series"!==e.kind){const t=SA(e,OA);return t.length||A?[{...WA("series-0",{name:""}),source:t}]:[]}const t=/* @__PURE__ */new Set;return e.series.flatMap((e,i)=>{const n=e.id?.trim()||`series-${i}`;let a=n,o=1;for(;t.has(a);)a=`${n}-${o}`,o+=1;t.add(a);const r=SA(e.data,OA);return r.length||A?[{...WA(a,e),source:r}]:[]})}function HA(e){return XA(e).map(({source:e,...A})=>({...A,points:e.pointsInRange()}))}function VA(e,A){return A&&(e.start!==e.end||0!==e.start&&e.end!==A)?[e.start>0?e.start-1:-1,e.end<A?e.end:-1].filter(e=>e>=0):[]}function zA(e,A,t,i){const n=VA(A,t);return[...n.filter(e=>e<A.start).map(i),...e,...n.filter(e=>e>=A.end).map(i)]}function PA(e,A){return{start:Math.max(0,e.start-1),end:Math.min(A,e.end+1)}}var qA=e=>{const A=e.source??JA(e.points),{start:t,end:i}=PA(e.range,A.length);return A.pointsInRange(t,i)},KA=e=>{const{range:A,domain:t,width:i,options:n}=e,a=e.source??JA(e.points),{start:o,end:r}=PA(A,a.length);if(r-o<=0)return[];const s=Math.min(t[0],t[1]),l=Math.max(t[0],t[1]),g=Math.max(4,n.sampling.maxPointCount??Math.floor(i*n.maxPointsPerPixel)),c=Math.max(1,Math.floor(g/4)),I=[];let d=-1;const u=e=>{e<0||e>=a.length||e===d||(I.push(a.pointAt(e)),d=e)},h=l-s||1,C=Array.from({length:4},()=>-1);let m=-1,Q=-1,B=-1,E=-1,p=-1;const f=(e,A)=>{if(e<0)return A;for(let t=0;t<A;t+=1)if(C[t]===e)return A;return C[A]=e,A+1},y=()=>{if(Q<0)return;let e=0;e=f(Q,e),e=f(E,e),e=f(p,e),e=f(B,e);for(let A=1;A<e;A+=1){const e=C[A];let t=A-1;for(;t>=0&&C[t]>e;)C[t+1]=C[t],t-=1;C[t+1]=e}for(let A=0;A<e;A+=1)u(C[A])};u(o);for(let v=A.start;v<A.end;v+=1){const e=a.pointAt(v),A=Math.min(c-1,Math.max(0,Math.floor((e.x-s)/h*c)));A===m?(B=v,e.y<a.pointAt(E).y&&(E=v),e.y>a.pointAt(p).y&&(p=v)):(y(),m=A,Q=v,B=v,E=v,p=v)}return y(),u(r-1),I},_A={downsample:!0,downsampleThreshold:2e3,maxPointsPerPixel:4,pointMinSpacing:10,errorBarMinSpacing:12,sampling:{mode:"auto",autoThreshold:1e3,autoHysteresis:0,strategy:"peak",maxPointsPerPixel:4,maxPointCount:void 0,rawPointLimit:1e5,wasmFailureFallback:"error"}},$A=["auto","wasm","raw"],et=["auto","none","peak","lttb","average","min","max","minmax","sum"];function At(e){return"string"==typeof e&&et.includes(e)}function tt(e,A,t){return"number"==typeof e&&Number.isFinite(e)&&e>=A?Math.floor(e):t}function it(e,A){return"number"==typeof e&&Number.isFinite(e)&&e>=A?Math.floor(e):void 0}function nt(e,A){return Number.isFinite(e)&&e>=0?e:A}function at(e){const A=Number(e?.downsampleThreshold),t=Number(e?.maxPointsPerPixel),i=Number(e?.pointMinSpacing),n=Number(e?.errorBarMinSpacing),a=Number.isFinite(t)&&t>0?t:_A.maxPointsPerPixel,o=function(e,A,t){const i=(n=e?.mode,"string"==typeof n&&$A.includes(n)?e.mode:!1===A?"raw":_A.sampling.mode);var n;const a=function(e,A){return"number"==typeof e&&Number.isFinite(e)&&e>0?e:A}(e?.maxPointsPerPixel,t);return{mode:i,autoThreshold:tt(e?.autoThreshold,1,_A.sampling.autoThreshold),autoHysteresis:tt(e?.autoHysteresis,0,_A.sampling.autoHysteresis),strategy:At(e?.strategy)?e.strategy:_A.sampling.strategy,maxPointsPerPixel:a,maxPointCount:it(e?.maxPointCount,1),rawPointLimit:tt(e?.rawPointLimit,1,_A.sampling.rawPointLimit),wasmFailureFallback:"javascript"===e?.wasmFailureFallback||"error"===e?.wasmFailureFallback?e.wasmFailureFallback:_A.sampling.wasmFailureFallback}}(e?.sampling,"boolean"==typeof e?.downsample?e.downsample:void 0,a);return{downsample:"raw"!==o.mode,downsampleThreshold:Number.isFinite(A)&&A>=2?Math.floor(A):_A.downsampleThreshold,maxPointsPerPixel:o.maxPointsPerPixel,pointMinSpacing:nt(i,_A.pointMinSpacing),errorBarMinSpacing:nt(n,_A.errorBarMinSpacing),sampling:o}}var ot=U(e=>e.x),rt=()=>!0;function st(e,A,t,i,n){if(A.start===A.end&&(0===A.start||A.end===e.length))return[];const a=Math.max(0,A.start-1),o=Math.min(e.length,A.end+1)-a;return o<=0?[]:function(e){const A=Math.max(4,e.options.sampling.maxPointCount??Math.floor(e.width*e.options.maxPointsPerPixel));return!e.options.downsample||e.visibleCount<=e.options.downsampleThreshold||e.visibleCount<=A?qA:KA}({visibleCount:o,width:i,options:n})({points:[],source:e,range:A,domain:t,width:i,options:n})}function lt(e,A,t,i){return!e.length||t<=0?[]:st(JA(e),function(e,A){const t=Math.min(A[0],A[1]),i=Math.max(A[0],A[1]);return{start:ot.left(e,t),end:ot.right(e,i)}}(e,A),A,t,i)}function gt(e,A,t,i,n,a,o,r){if(!a||0===n){if(o===rt)return e.pointsInRange(A.start,A.end);const t=[];for(let i=A.start;i<A.end;i+=1)o(e.pointAt(i))&&t.push(e.pointAt(i));return t}const s=Math.min(t[0],t[1]),l=Math.max(t[0],t[1])-s;if(l<=0){for(let t=A.start;t<A.end;t+=1)if(o(e.pointAt(t)))return[e.pointAt(t)];return[]}const g=Math.max(1,Math.ceil(i/n)),c=i/g;let I,d,u,h;const C=[];let m,Q,B=!0,E=Number.NEGATIVE_INFINITY,p=0;const f=(e,A)=>{if(!(I&&d&&u&&h))return;const t=Math.min(g-1,Math.floor(A/c)),i=(t+.5)*c,n=Math.abs(A-i);n<d[t]&&(I[t]=e,d[t]=n),r?.(e)&&n<h[t]&&(u[t]=e,h[t]=n)},y=()=>{I=Array.from({length:g}),d=Array.from({length:g},()=>Number.POSITIVE_INFINITY),u=Array.from({length:g}),h=Array.from({length:g},()=>Number.POSITIVE_INFINITY);for(const e of C){const A=Math.max(0,Math.min(i,(e.x-s)/l*i));f(e,A)}};for(let w=A.start;w<A.end;w+=1){const A=e.pointAt(w);if(!o(A))continue;m??=A,Q=A,p+=1;const t=Math.max(0,Math.min(i,(A.x-s)/l*i));B&&(t-E<n?(B=!1,y(),C.length=0):(C.push(A),E=t)),B||f(A,t)}if(p<=2)return m?Q&&Q!==m?[m,Q]:[m]:[];if(B)return C;const v=(I??[]).map((e,A)=>u?.[A]??e).filter(e=>void 0!==e);return m&&v[0]!==m&&v.unshift(m),Q&&v.at(-1)!==Q&&v.push(Q),v}function ct(e){const{lower:A,upper:t}=jA(e);return 0!==A||0!==t}function It(e,A,t,i){const n=Bt(e,ft.__wbindgen_malloc),a=vt,o=Bt(A,ft.__wbindgen_malloc),r=vt,s=ft.sample_indexes(n,a,o,r,t,i);if(s[3])throw Et(s[2]);var l=ut(s[0],s[1]).slice();return ft.__wbindgen_free(s[0],4*s[1],4),l}function dt(e,A){return e>>>=0,Ct().subarray(e/8,e/8+A)}function ut(e,A){return e>>>=0,(null!==mt&&0!==mt.byteLength||(mt=new Uint32Array(ft.memory.buffer)),mt).subarray(e/4,e/4+A)}var ht=null;function Ct(){return null!==ht&&0!==ht.byteLength||(ht=new Float64Array(ft.memory.buffer)),ht}var mt=null,Qt=null;function Bt(e,A){const t=A(8*e.length,8)>>>0;return Ct().set(e,t/8),vt=e.length,t}function Et(e){const A=ft.__wbindgen_externrefs.get(e);return ft.__externref_table_dealloc(e),A}var pt=new TextDecoder("utf-8",{ignoreBOM:!0,fatal:!0});pt.decode();var ft,yt=0,vt=0;var wt,xt,kt={none:0,peak:1,lttb:2,average:3,min:4,max:5,minmax:6,sum:7};function bt(e){return wt??=Promise.resolve(async function(e){if(void 0!==ft)return ft;void 0!==e&&(Object.getPrototypeOf(e)===Object.prototype?({module_or_path:e}=e):console.warn("using deprecated parameters for the initialization function; pass a single object instead")),void 0===e&&(e=new URL("data:application/wasm;base64,AGFzbQEAAAAB0AEZYAAAYAABf2ABfwBgAX8Bf2ACf38AYAJ/fwF/YAJ/fwFvYAN/f38AYAN/f38Bf2AEf39/fwBgBH9/f38Bf2AEf39/fwR/f39/YAV/f39/fwBgBX9/f39/AX9gBX9/f39/A39/f2AFf39/f38Ef39/f2AGf39/f39/AGAGf39/f39/AX9gBn9/f39/fwR/f39/YAd/f39/f39/AGAHf39/f398fABgCH9/f39/fHx/AGAGf39/f3x8BH9/f39gB39/f398fH8Df39/YAJ8fAF8AoQBAh4uL3dhdmVmb3JtX3NhbXBsaW5nX3dhc21fYmcuanMfX193YmluZGdlbl9pbml0X2V4dGVybnJlZl90YWJsZQAAHi4vd2F2ZWZvcm1fc2FtcGxpbmdfd2FzbV9iZy5qcyBfX3diaW5kZ2VuX2Nhc3RfMDAwMDAwMDAwMDAwMDAwMQAGA4wBigEDEAwQEBMMBQoMAhEQFQgMCgwEBxQEAgQFBAQTAQQECQkFBRAQFBMMBw0HBwQTBAwMBxAQEAwDCRUQBAIAAgICAgMHAwcIBAcFAwIEBwUFDRIWEg8XDwQLBQMOAgICAgkEAwICBAIFGBgEBwUHBAQICgIEBQcECAACAgAFBQQEBAUFAgIEBAUDAAAECQJwARcXbwCACAUDAQARBgkBfwFBgIDAAAsH5AIRBm1lbW9yeQIAD2NhbGN1bGF0ZV9yYW5nZQBZD2Rpc3Bvc2VfZGF0YXNldAA4EmZpbmRfdmlzaWJsZV9yYW5nZQBTEHJlZ2lzdGVyX2RhdGFzZXQAXBdyZWdpc3Rlcl9zYW1wbGVfZGF0YXNldABWEXNhbXBsZV9hZ2dyZWdhdGVzAFIZc2FtcGxlX2RhdGFzZXRfYWdncmVnYXRlcwBXFnNhbXBsZV9kYXRhc2V0X2luZGV4ZXMAVQ5zYW1wbGVfaW5kZXhlcwBUFGRpc3Bvc2VfYWxsX2RhdGFzZXRzAD4TZGF0YXNldF9pbmRleF9ieXRlcwBFFV9fd2JpbmRnZW5fZXh0ZXJucmVmcwEBEV9fd2JpbmRnZW5fbWFsbG9jAE8ZX19leHRlcm5yZWZfdGFibGVfZGVhbGxvYwA/D19fd2JpbmRnZW5fZnJlZQBuEF9fd2JpbmRnZW5fc3RhcnQAAAkiAQBBAQsWiQEBhgFaZ0ck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AggiDqdBgICA/3lxQbCAgIACcjYCCEEBIQ0gACgCACIKIAAoAgQiCyAMIAIgAxBRDQNBACEHIAEgCWtB//8DcSECA0AgB0H//wNxIAJPDQJBASENIAdBAWohByAKQTAgCygCEBEFAEUNAAwECwtBASENIAogCyAMIAIgAxBRDQIgCiAEIAUgCygCDBEIAA0CQQAhByAIIAFrQf//A3EhAANAIAdB//8DcSICIABJIQ0gAiAATw0DIAdBAWohByAKIAkgCygCEBEFAEUNAAwDCwtBASENIAogBCAFIAsoAgwRCAANASAAIA43AghBAA8LQQEhDSAAKAIAIgcgACgCBCIKIAwgAiADEFENACAHIAQgBSAKKAIMEQgAIQ0LIA0L/QUDBX8CfgN8IwBB8ABrIgYkAAJAAkACQAJAIAIgBEYNAEHXi8AAQSEQba0hC0GAgICAeCEHIAZBGGohBAwBC0EAIQcCQAJAIAINAEIAIQtBgICAgHghCEQAAAAAAAAAACENQQghCUEAIQEMAQsgAkEDdCEKQQAhCCABIQQgAyEJAkACQAJAAkADQCAEKQMAQv///////////wCDQv/////////3/wBVDQEgCSkDAEL///////////8Ag0L/////////9/8AVQ0BIARBCGohBCAJQQhqIQkgAiAIQQFqIghGDQIMAAsLIAggAkkNAQtEAAAAAAAAAAAhDSACQQFGDQEgASACQX9qIgRBA3RqKwMAIAErAwChIAS4oyENDAELQaSLwABBMxBtrSELQYCAgIB4IQcgBkEYaiEEDAILQQAhBEEAIQkCQANAAkAgCiAERw0AQYCAgIB4IQgMAgsgASAEaiEIIAm4IQ4gBEEIaiEEIAlBAWohCSAIKwMAIg8gDSAOoiABKwMAoCIOoZkgD5kgDpkQaUQAAAAAAADwPxBpRAAAAAAAACA9omUNAAsQigEgCkEIEH0iBEUNAwJAIApFDQAgBCABIAr8CgAACyACrUIghiAErYQhDCACIQgLEIoBIApBCBB9IglFDQMCQCAKRQ0AIAkgAyAK/AoAAAsgASkDACELIAIhAQsgBkEANgIYIAZBEGohBAsgBCAHNgIAAkACQCAGKAIYIgRBgICAgHhHDQAgC6chBEEBIQkMAQsgBiAGKAIQNgJoIAZBBDYCZCAGIAQ2AmAgBkEANgJcIAZC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Cw8AQZqUwABB8wAgABBOAAsSAEHTlMAAQZkBQaCVwAAQTgALCQAgACABEGgPCwkAIAAgARBKDwsJACABIAAQYgALDAAgACABKQIANwMACwkAIAEgABB/AAsNACABQdCVwABBGBAQCw0AIAFBsJXAAEEgEBALBwAgABBlAAsHACAAED0ACwsAQQBBAToA+JlACwkAIABBADYCAAsGABCLAQALBwBB6JXAAAsDAA8LAwAACwuiFgIAQYCAwAAL6BUWc2xpY2UgaW5kZXggc3RhcnRzIGF0IMANIGJ1dCBlbmRzIGF0IMAAIGluZGV4IG91dCBvZiBib3VuZHM6IHRoZSBsZW4gaXMgwBIgYnV0IHRoZSBpbmRleCBpcyDAABJyYW5nZSBzdGFydCBpbmRleCDAIiBvdXQgb2YgcmFuZ2UgZm9yIHNsaWNlIG9mIGxlbmd0aCDAABByYW5nZSBlbmQgaW5kZXggwCIgb3V0IG9mIHJhbmdlIGZvciBzbGljZSBvZiBsZW5ndGggwABIY2Fubm90IGFjY2VzcyBhIFRocmVhZCBMb2NhbCBTdG9yYWdlIHZhbHVlIGR1cmluZyBvciBhZnRlciBkZXN0cnVjdGlvbjogwAAvcnVzdGMvNTk4MDc2MTZlMWZhMjU0MDcyNGJmYmFjMTRkNzk3NmQ3ZTRhMzg2MC9saWJyYXJ5L2NvcmUvc3JjL3NsaWNlL3NvcnQvc2hhcmVkL3NtYWxsc29ydC5ycwAvcnVzdGMvNTk4MDc2MTZlMWZhMjU0MDcyNGJmYmFjMTRkNzk3NmQ3ZTRhMzg2MC9saWJyYXJ5L2NvcmUvc3JjL3NsaWNlL3NvcnQvc3RhYmxlL3F1aWNrc29ydC5ycwAvcnVzdGMvNTk4MDc2MTZlMWZhMjU0MDcyNGJmYmFjMTRkNzk3NmQ3ZTRhMzg2MC9saWJyYXJ5L3N0ZC9zcmMvdGhyZWFkL2xvY2FsLnJzAC9ob21lL3J1bm5lci8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3dhc20tYmluZGdlbi0wLjIuMTE4L3NyYy9leHRlcm5yZWYucnMAL3J1c3RjLzU5ODA3NjE2ZTFmYTI1NDA3MjRiZmJhYzE0ZDc5NzZkN2U0YTM4NjAvbGli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MTYyNjM2NDY1NjY2NzY4Njk3MDcxNzI3Mzc0NzU3Njc3Nzg3OTgwODE4MjgzODQ4NTg2ODc4ODg5OTA5MTkyOTM5NDk1OTY5Nzk4OTlhdHRlbXB0IHRvIGNhbGN1bGF0ZSB0aGUgcmVtYWluZGVyIHdpdGggYSBkaXZpc29yIG9mIHplcm91c2VyLXByb3ZpZGVkIGNvbXBhcmlzb24gZnVuY3Rpb24gZG9lcyBub3QgY29ycmVjdGx5IGltcGxlbWVudCBhIHRvdGFsIG9yZGVyABoBEABfAAAAXAMAAAUAAABSZWZDZWxsIGFscmVhZHkgbXV0YWJseSBib3Jyb3dlZFJlZkNlbGwgYWxyZWFkeSBib3Jyb3dlZABB6JXAAAsoAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAADURARuYW1lABwbd2F2ZWZvcm1fc2FtcGxpbmdfd2FzbS53YXNtAe1DiwEBGFJlZihTdHJpbmcpIC0+IEV4dGVybnJlZgJhPGRsbWFsbG9jW2UyNGEyNzcwMDYzNGQ2MDldOjpkbG1hbGxvYzo6RGxtYWxsb2M8ZGxtYWxsb2NbZTI0YTI3NzAwNjM0ZDYwOV06OnN5czo6U3lzdGVtPj46Om1hbGxvYwNId2F2ZWZvcm1fc2FtcGxpbmdfd2FzbTo6U3RvcmVkRGF0YXNldDo6c2FtcGxlX2luZGV4ZXM6Omg2MWUzZjgxMTcwZDM3MDY3BDl3YXZlZm9ybV9zYW1wbGluZ193YXNtOjpzb3VyY2VfaW5kZXhlczo6aDQ2ZjNjMTMyODIyNWU2NzIFS3dhdmVmb3JtX3NhbXBsaW5nX3dhc206OlN0b3JlZERhdGFzZXQ6OnNhbXBsZV9hZ2dyZWdhdGVzOjpoOThiYzBkMGNkZWQ4MmY2ZQY5Y29yZTo6c2xpY2U6OnNvcnQ6OnN0YWJsZTo6ZHJpZnQ6OnNvcnQ6OmhiMGYzYWUzMDFkNTZkNDVhB0Jjb3JlOjpzbGljZTo6c29ydDo6c3RhYmxlOjpxdWlja3NvcnQ6OnF1aWNrc29ydDo6aDQyMGFkOTE2NGI2NDVlM2IIWGNvcmU6OnNsaWNlOjpzb3J0OjpzaGFyZWQ6OnNtYWxsc29ydDo6c21hbGxfc29ydF9nZW5lcmFsX3dpdGhfc2NyYXRjaDo6aGNmYzk3ZmQzMzIxNzQ2MWYJMmNvcmVbYzU5MzBjODVhMTJkZTgyMl06OnN0cjo6Y291bnQ6OmRvX2NvdW50X2NoYXJzCihfX3J1c3RjW2I3OTc0ZTg2OTA0MzBkZDldOjpfX3JkbF9yZWFsbG9jCzR3YXZlZm9ybV9zYW1wbGluZ193YXNtOjphZ2dyZWdhdGU6OmhkY2UwYWY2ODJjNjRkZjNhDF88ZGxtYWxsb2NbZTI0YTI3NzAwNjM0ZDYwOV06OmRsbWFsbG9jOjpEbG1hbGxvYzxkbG1hbGxvY1tlMjRhMjc3MDA2MzRkNjA5XTo6c3lzOjpTeXN0ZW0+Pjo6ZnJlZQ02PGNvcmVbYzU5MzBjODVhMTJkZTgyMl06OmZtdDo6Rm9ybWF0dGVyPjo6cGFkX2ludGVncmFsDjt3YXZlZm9ybV9zYW1wbGluZ193YXNtOjpyZWdpc3Rlcl9kYXRhc2V0OjpoM2YzMzNhZDk0ZDVkYTI0MA9Cd2F2ZWZvcm1fc2FtcGxpbmdfd2FzbTo6cmVnaXN0ZXJfc2FtcGxlX2RhdGFzZXQ6OmhhYzNjYTBmNWUyMzNlNzhiEC08Y29yZVtjNTkzMGM4NWExMmRlODIyXTo6Zm10OjpGb3JtYXR0ZXI+OjpwYWQROndhdmVmb3JtX3NhbXBsaW5nX3dhc206OmNhbGN1bGF0ZV9yYW5nZTo6aGI4ZjY0N2JhZGEyYWYwOWMSImNvcmVbYzU5MzBjODVhMTJkZTgyMl06OmZtdDo6d3JpdGUTO3dhdmVmb3JtX3NhbXBsaW5nX3dhc206OnZhbGlkYXRlZF9wb2ludHM6Omg5YTcxMGE2MTYxZjE1NjY3FGg8ZGxtYWxsb2NbZTI0YTI3NzAwNjM0ZDYwOV06OmRsbWFsbG9jOjpEbG1hbGxvYzxkbG1hbGxvY1tlMjRhMjc3MDA2MzRkNjA5XTo6c3lzOjpTeXN0ZW0+Pjo6ZGlzcG9zZV9jaHVuaxU7d2F2ZWZvcm1fc2FtcGxpbmdfd2FzbTo6ZW5kcG9pbnRzX29yX2FsbDo6aGZmNmE2YTc2YjM0YmZiYTQWPXdhdmVmb3JtX3NhbXBsaW5nX3dhc206OmZpbmRfdmlzaWJsZV9yYW5nZTo6aDVhYzhjM2I0MTU5NDIxNzIXRWNvcmU6OnNsaWNlOjpzb3J0OjpzaGFyZWQ6OnNtYWxsc29ydDo6c29ydDRfc3RhYmxlOjpoZTAzMTE1NjhkZDE5NTM4OBhSY29yZTo6cHRyOjpkcm9wX2luX3BsYWNlPHdhdmVmb3JtX3NhbXBsaW5nX3dhc206OlN0b3JlZERhdGFzZXQ+OjpoNzUwMjgxMjc0Y2ExNmZjNhk0YWxsb2M6OnZlYzo6VmVjPFQsQT46OnJlc2l6ZV93aXRoOjpoNTY4NjEzOTQ2NGQyNzM2ZhpjPGRsbWFsbG9jW2UyNGEyNzcwMDYzNGQ2MDldOjpkbG1hbGxvYzo6RGxtYWxsb2M8ZGxtYWxsb2NbZTI0YTI3NzAwNjM0ZDYwOV06OnN5czo6U3lzdGVtPj46Om1lbWFsaWduGzRhbGxvYzo6dmVjOjpWZWM8VCxBPjo6cmVzaXplX3dpdGg6Omg0Yzc1ODgxZTExZWY5YzI0HGc8ZGxtYWxsb2NbZTI0YTI3NzAwNjM0ZDYwOV06OmRsbWFsbG9jOjpEbG1hbGxvYzxkbG1hbGxvY1tlMjRhMjc3MDA2MzRkNjA5XTo6c3lzOjpTeXN0ZW0+Pjo6dW5saW5rX2NodW5rHQ5zYW1wbGVfaW5kZXhlcx4XX19leHRlcm5yZWZfdGFibGVfYWxsb2MfbTxkbG1hbGxvY1tlMjRhMjc3MDA2MzRkNjA5XTo6ZGxtYWxsb2M6OkRsbWFsbG9jPGRsbWFsbG9jW2UyNGEyNzcwMDYzNGQ2MDldOjpzeXM6OlN5c3RlbT4+OjppbnNlcnRfbGFyZ2VfY2h1bmsgaDxjb3JlOjppdGVyOjphZGFwdGVyczo6bWFwOjpNYXA8SSxGPiBhcyBjb3JlOjppdGVyOjp0cmFpdHM6Oml0ZXJhdG9yOjpJdGVyYXRvcj46OmZvbGQ6OmgyYTk3YjkwYmNjNDI0NGMyIVJjb3JlOjpzbGljZTo6c29ydDo6c2hhcmVkOjpzbWFsbHNvcnQ6Omluc2VydGlvbl9zb3J0X3NoaWZ0X2xlZnQ6OmhlOGU1ODA1Y2UxZGZmNjY1IjZjb3JlW2M1OTMwYzg1YTEyZGU4MjJdOjpzbGljZTo6aW5kZXg6OnNsaWNlX2luZGV4X2ZhaWwjMjx1MzIgYXMgY29yZVtjNTkzMGM4NWExMmRlODIyXTo6Zm10OjpEaXNwbGF5Pjo6Zm10JFs8YWxsb2NbM2NhNTAxZWRmZjNmMGM3Y106OnN0cmluZzo6U3RyaW5nIGFzIGNvcmVbYzU5MzBjODVhMTJkZTgyMl06OmZtdDo6V3JpdGU+Ojp3cml0ZV9jaGFyJRlzYW1wbGVfZGF0YXNldF9hZ2dyZWdhdGVzJhZzYW1wbGVfZGF0YXNldF9pbmRleGVzJxJmaW5kX3Zpc2libGVfcmFuZ2UoEXNhbXBsZV9hZ2dyZWdhdGVzKQ9jYWxjdWxhdGVfcmFuZ2UqOHN0ZDo6dGhyZWFkOjpsb2NhbDo6TG9jYWxLZXk8VD46OndpdGg6OmhlOTVjZWY1NTk3NjZjZTAwK0Bjb3JlOjpzbGljZTo6c29ydDo6c2hhcmVkOjpwaXZvdDo6bWVkaWFuM19yZWM6OmhlMDkzZWQ3OTU3Mjg1MmE2LDhzdGQ6OnRocmVhZDo6bG9jYWw6OkxvY2FsS2V5PFQ+Ojp3aXRoOjpoNzlkNTExMzk4ZjU0Y2Y4OS04c3RkOjp0aHJlYWQ6OmxvY2FsOjpMb2NhbEtleTxUPjo6d2l0aDo6aDk4YzlkZTAxMDhhMzhlZGEufzxzdGRbYTU0Mzk5NmU2ZTdkYmYxZV06OnBhbmlja2luZzo6cGFuaWNfaGFuZGxlcjo6Rm9ybWF0U3RyaW5nUGF5bG9hZCBhcyBjb3JlW2M1OTMwYzg1YTEyZGU4MjJdOjpwYW5pYzo6UGFuaWNQYXlsb2FkPjo6dGFrZV9ib3gvPHdhdmVmb3JtX3NhbXBsaW5nX3dhc206OnNhbXBsZV9hZ2dyZWdhdGVzOjpoMzljYTc4ODA2NWVhZjVkNDBwPGFsbG9jOjp2ZWM6OlZlYzxUPiBhcyBhbGxvYzo6dmVjOjpzcGVjX2Zyb21faXRlcl9uZXN0ZWQ6OlNwZWNGcm9tSXRlck5lc3RlZDxULEk+Pjo6ZnJvbV9pdGVyOjpoMGU0M2ZjZmRkNGE3OWFhZTFRYWxsb2M6OnJhd192ZWM6OlJhd1ZlY0lubmVyPEE+OjpyZXNlcnZlOjpkb19yZXNlcnZlX2FuZF9oYW5kbGU6OmhlMjEyNzkzYmI0NzAxOGYyMjFzdGRbYTU0Mzk5NmU2ZTdkYmYxZV06OnBhbmlja2luZzo6cGFuaWNfd2l0aF9ob29rMzxjb3JlOjpzbGljZTo6c29ydDo6c3RhYmxlOjpkcmlmdHNvcnRfbWFpbjo6aDQ1ZDRhMWQxNmJmNTAwY2I0PmFsbG9jOjpyYXdfdmVjOjpSYXdWZWNJbm5lcjxBPjo6ZmluaXNoX2dyb3c6Omg5YzE4MjU2ODMzNmY0ZjQ4NT5hbGxvYzo6cmF3X3ZlYzo6UmF3VmVjSW5uZXI8QT46OmZpbmlzaF9ncm93OjpoNGFlNGZmNmI4ODM1YjQzOTY8PGFsbG9jWzNjYTUwMWVkZmYzZjBjN2NdOjpyYXdfdmVjOjpSYXdWZWNJbm5lcj46OmZpbmlzaF9ncm93N3w8YWxsb2NbM2NhNTAxZWRmZjNmMGM3Y106OnJhd192ZWM6OlJhd1ZlY0lubmVyPF8+Pjo6cmVzZXJ2ZTo6ZG9fcmVzZXJ2ZV9hbmRfaGFuZGxlOjo8YWxsb2NbM2NhNTAxZWRmZjNmMGM3Y106OmFsbG9jOjpHbG9iYWw+OA9kaXNwb3NlX2RhdGFzZXQ5QWFsbG9jOjpyYXdfdmVjOjpSYXdWZWNJbm5lcjxBPjo6Z3Jvd19hbW9ydGl6ZWQ6OmhjMWFmNGJmN2VkNTQ0ZmYzOhdyZWdpc3Rlcl9zYW1wbGVfZGF0YXNldDsQcmVnaXN0ZXJfZGF0YXNldDx6PHN0ZFthNTQzOTk2ZTZlN2RiZjFlXTo6cGFuaWNraW5nOjpwYW5pY19oYW5kbGVyOjpGb3JtYXRTdHJpbmdQYXlsb2FkIGFzIGNvcmVbYzU5MzBjODVhMTJkZTgyMl06OnBhbmljOjpQYW5pY1BheWxvYWQ+OjpnZXQ9PHN0ZFthNTQzOTk2ZTZlN2RiZjFlXTo6cGFuaWNraW5nOjpwYW5pY19oYW5kbGVyOjp7Y2xvc3VyZSMwfT4/d2F2ZWZvcm1fc2FtcGxpbmdfd2FzbTo6ZGlzcG9zZV9hbGxfZGF0YXNldHM6OmgyNjcyMWYwZTFmNDY2Yjc0PxlfX2V4dGVybnJlZl90YWJsZV9kZWFsbG9jQDhhbGxvYzo6cmF3X3ZlYzo6UmF3VmVjPFQsQT46Omdyb3dfb25lOjpoMjM5YThkZWQ5ZDQ4OWIwMUE4YWxsb2M6OnJhd192ZWM6OlJhd1ZlYzxULEE+Ojpncm93X29uZTo6aDdmODZlZjE3MDY2NWUwMmZCOGFsbG9jOjpyYXdfdmVjOjpSYXdWZWM8VCxBPjo6Z3Jvd19vbmU6Omg4ZDcwOTIyOTI4ZWJhYTUzQzw8Y29yZVtjNTkzMGM4NWExMmRlODIyXTo6Zm10OjpidWlsZGVyczo6RGVidWdTdHJ1Y3Q+OjpmaW5pc2hEWTxkbG1hbGxvY1tlMjRhMjc3MDA2MzRkNjA5XTo6c3lzOjpTeXN0ZW0gYXMgZGxtYWxsb2NbZTI0YTI3NzAwNjM0ZDYwOV06OkFsbG9jYXRvcj46OmFsbG9jRT53YXZlZm9ybV9zYW1wbGluZ193YXNtOjpkYXRhc2V0X2luZGV4X2J5dGVzOjpoMTIxODQzZmRiMDg2ODQyNkYoX19ydXN0Y1tiNzk3NGU4NjkwNDMwZGQ5XTo6X19yZGxfZGVhbGxvY0daPGFsbG9jWzNjYTUwMWVkZmYzZjBjN2NdOjpzdHJpbmc6OlN0cmluZyBhcyBjb3JlW2M1OTMwYzg1YTEyZGU4MjJdOjpmbXQ6OldyaXRlPjo6d3JpdGVfc3RySDZ3YXZlZm9ybV9zYW1wbGluZ193YXNtOjpwdXNoX3VuaXF1ZTo6aDc0NTI5MTExNmFiMzA0MjNJNWNvcmVbYzU5MzBjODVhMTJkZTgyMl06OnBhbmlja2luZzo6cGFuaWNfYm91bmRzX2NoZWNrSi1fX3J1c3RjW2I3OTc0ZTg2OTA0MzBkZDldOjpfX3JkbF9hbGxvY196ZXJvZWRLN3N0ZFthNTQzOTk2ZTZlN2RiZjFlXTo6cGFuaWNraW5nOjpwYW5pY19jb3VudDo6aW5jcmVhc2VMOGFsbG9jOjpyYXdfdmVjOjpSYXdWZWM8VCxBPjo6Z3Jvd19vbmU6OmhjODgyMzc4NDk0ZDRhYmJlTXw8c3RkW2E1NDM5OTZlNmU3ZGJmMWVdOjpwYW5pY2tpbmc6OnBhbmljX2hhbmRsZXI6OlN0YXRpY1N0clBheWxvYWQgYXMgY29yZVtjNTkzMGM4NWExMmRlODIyXTo6cGFuaWM6OlBhbmljUGF5bG9hZD46OnRha2VfYm94Tixjb3JlW2M1OTMwYzg1YTEyZGU4MjJdOjpwYW5pY2tpbmc6OnBhbmljX2ZtdE8RX193YmluZGdlbl9tYWxsb2NQczxzdGRbYTU0Mzk5NmU2ZTdkYmYxZV06OnBhbmlja2luZzo6cGFuaWNfaGFuZGxlcjo6Rm9ybWF0U3RyaW5nUGF5bG9hZCBhcyBjb3JlW2M1OTMwYzg1YTEyZGU4MjJdOjpmbXQ6OkRpc3BsYXk+OjpmbXRRRDxjb3JlW2M1OTMwYzg1YTEyZGU4MjJdOjpmbXQ6OkZvcm1hdHRlcj46OnBhZF9pbnRlZ3JhbDo6d3JpdGVfcHJlZml4UiFzYW1wbGVfYWdncmVnYXRlcyBtdWx0aXZhbHVlIHNoaW1TImZpbmRfdmlzaWJsZV9yYW5nZSBtdWx0aXZhbHVlIHNoaW1UHnNhbXBsZV9pbmRleGVzIG11bHRpdmFsdWUgc2hpbVUmc2FtcGxlX2RhdGFzZXRfaW5kZXhlcyBtdWx0aXZhbHVlIHNoaW1WJ3JlZ2lzdGVyX3NhbXBsZV9kYXRhc2V0IG11bHRpdmFsdWUgc2hpbVcpc2FtcGxlX2RhdGFzZXRfYWdncmVnYXRlcyBtdWx0aXZhbHVlIHNoaW1YGl9fd2JpbmRnZW5fZGVzdHJveV9jbG9zdXJlWR9jYWxjdWxhdGVfcmFuZ2UgbXVsdGl2YWx1ZSBzaGltWl48c3RkW2E1NDM5OTZlNmU3ZGJmMWVdOjp0aHJlYWQ6OmxvY2FsOjpBY2Nlc3NFcnJvciBhcyBjb3JlW2M1OTMwYzg1YTEyZGU4MjJdOjpmbXQ6OkRlYnVnPjo6Zm10Wz9jb3JlW2M1OTMwYzg1YTEyZGU4MjJdOjpzbGljZTo6c29ydDo6c3RhYmxlOjpkcmlmdDo6c3FydF9hcHByb3hcIHJlZ2lzdGVyX2RhdGFzZXQgbXVsdGl2YWx1ZSBzaGltXThzdGRbYTU0Mzk5NmU2ZTdkYmYxZV06OnRocmVhZDo6bG9jYWw6OnBhbmljX2FjY2Vzc19lcnJvcl40Y29yZVtjNTkzMGM4NWExMmRlODIyXTo6Y2VsbDo6cGFuaWNfYWxyZWFkeV9ib3Jyb3dlZF88Y29yZVtjNTkzMGM4NWExMmRlODIyXTo6Y2VsbDo6cGFuaWNfYWxyZWFkeV9tdXRhYmx5X2JvcnJvd2VkYCxfX3J1c3RjW2I3OTc0ZTg2OTA0MzBkZDldOjpydXN0X2JlZ2luX3Vud2luZGE2PGNvcmVbYzU5MzBjODVhMTJkZTgyMl06OmZtdDo6Rm9ybWF0dGVyPjo6ZGVidWdfc3RydWN0YiZzdGRbYTU0Mzk5NmU2ZTdkYmYxZV06OmFsbG9jOjpydXN0X29vbWMuYWxsb2NbM2NhNTAxZWRmZjNmMGM3Y106OmJveGVkOjpib3hfbmV3X3VuaW5pdGRyY29yZVtjNTkzMGM4NWExMmRlODIyXTo6cHRyOjpkcm9wX2luX3BsYWNlOjo8c3RkW2E1NDM5OTZlNmU3ZGJmMWVdOjpwYW5pY2tpbmc6OnBhbmljX2hhbmRsZXI6OkZvcm1hdFN0cmluZ1BheWxvYWQ+ZTNzdGRbYTU0Mzk5NmU2ZTdkYmYxZV06OmFsbG9jOjpydXN0X29vbTo6e2Nsb3N1cmUjMH1me2NvcmVbYzU5MzBjODVhMTJkZTgyMl06OnB0cjo6ZHJvcF9pbl9wbGFjZTo6PGNvcmVbYzU5MzBjODVhMTJkZTgyMl06Om9wdGlvbjo6T3B0aW9uPGFsbG9jWzNjYTUwMWVkZmYzZjBjN2NdOjp2ZWM6OlZlYzx1OD4+PmdVY29yZVtjNTkzMGM4NWExMmRlODIyXTo6cHRyOjpkcm9wX2luX3BsYWNlOjo8YWxsb2NbM2NhNTAxZWRmZjNmMGM3Y106OnN0cmluZzo6U3RyaW5nPmgmX19ydXN0Y1tiNzk3NGU4NjkwNDMwZGQ5XTo6X19yZGxfYWxsb2NpBGZtYXhqBGZtaW5rLmFsbG9jWzNjYTUwMWVkZmYzZjBjN2NdOjpyYXdfdmVjOjpoYW5kbGVfZXJyb3JsKGNvcmVbYzU5MzBjODVhMTJkZTgyMl06OnBhbmlja2luZzo6cGFuaWNtJ1JlZihTdHJpbmcpIC0+IEV4dGVybnJlZiBleHRlcm5yZWYgc2hpbW4PX193YmluZGdlbl9mcmVlb1Y8YWxsb2NbM2NhNTAxZWRmZjNmMGM3Y106OnN0cmluZzo6U3RyaW5nIGFzIGNvcmVbYzU5MzBjODVhMTJkZTgyMl06OmFueTo6QW55Pjo6dHlwZV9pZHAzPCZzdHIgYXMgY29yZVtjNTkzMGM4NWExMmRlODIyXTo6YW55OjpBbnk+Ojp0eXBlX2lkcTM8Y29yZVtjNTkzMGM4NWExMmRlODIyXTo6Zm10OjpGb3JtYXR0ZXI+Ojp3cml0ZV9zdHJyKV9fcnVzdGNbYjc5NzRlODY5MDQzMGRkOV06Ol9fcnVzdF9yZWFsbG9jcxRfX3diaW5kZ2VuX2V4bl9zdG9yZXR3PHN0ZFthNTQzOTk2ZTZlN2RiZjFlXTo6cGFuaWNraW5nOjpwYW5pY19oYW5kbGVyOjpTdGF0aWNTdHJQYXlsb2FkIGFzIGNvcmVbYzU5MzBjODVhMTJkZTgyMl06OnBhbmljOjpQYW5pY1BheWxvYWQ+OjpnZXR1cDxzdGRbYTU0Mzk5NmU2ZTdkYmYxZV06OnBhbmlja2luZzo6cGFuaWNfaGFuZGxlcjo6U3RhdGljU3RyUGF5bG9hZCBhcyBjb3JlW2M1OTMwYzg1YTEyZGU4MjJdOjpmbXQ6OkRpc3BsYXk+OjpmbXR2KV9fcnVzdGNbYjc5NzRlODY5MDQzMGRkOV06Ol9fcnVzdF9kZWFsbG9jdyVfX3J1c3RjW2I3OTc0ZTg2OTA0MzBkZDldOjpydXN0X3BhbmljeFo8YWxsb2NbM2NhNTAxZWRmZjNmMGM3Y106OnN0cmluZzo6U3RyaW5nIGFzIGNvcmVbYzU5MzBjODVhMTJkZTgyMl06OmZtdDo6V3JpdGU+Ojp3cml0ZV9mbXR5M2FsbG9jWzNjYTUwMWVkZmYzZjBjN2NdOjpyYXdfdmVjOjpjYXBhY2l0eV9vdmVyZmxvd3otY29yZVtjNTkzMGM4NWExMmRlODIyXTo6b3B0aW9uOjp1bndyYXBfZmFpbGVke0djb3JlW2M1OTMwYzg1YTEyZGU4MjJdOjpwYW5pY2tpbmc6OnBhbmljX2NvbnN0OjpwYW5pY19jb25zdF9yZW1fYnlfemVyb3xOY29yZVtjNTkzMGM4NWExMmRlODIyXTo6c2xpY2U6OnNvcnQ6OnNoYXJlZDo6c21hbGxzb3J0OjpwYW5pY19vbl9vcmRfdmlvbGF0aW9ufSdfX3J1c3RjW2I3OTc0ZTg2OTA0MzBkZDldOjpfX3J1c3RfYWxsb2N+Ll9fcnVzdGNbYjc5NzRlODY5MDQzMGRkOV06Ol9fcnVzdF9hbGxvY196ZXJvZWR/NV9fcnVzdGNbYjc5NzRlODY5MDQzMGRkOV06Ol9fcnVzdF9hbGxvY19lcnJvcl9oYW5kbGVygAF6PHN0ZFthNTQzOTk2ZTZlN2RiZjFlXTo6cGFuaWNraW5nOjpwYW5pY19oYW5kbGVyOjpTdGF0aWNTdHJQYXlsb2FkIGFzIGNvcmVbYzU5MzBjODVhMTJkZTgyMl06OnBhbmljOjpQYW5pY1BheWxvYWQ+Ojphc19zdHKBATJhbGxvY1szY2E1MDFlZGZmM2YwYzdjXTo6YWxsb2M6OmhhbmRsZV9hbGxvY19lcnJvcoIBWzxjb3JlW2M1OTMwYzg1YTEyZGU4MjJdOjpjZWxsOjpCb3Jyb3dNdXRFcnJvciBhcyBjb3JlW2M1OTMwYzg1YTEyZGU4MjJdOjpmbXQ6OkRpc3BsYXk+OjpmbXSDAVg8Y29yZVtjNTkzMGM4NWExMmRlODIyXTo6Y2VsbDo6Qm9ycm93RXJyb3IgYXMgY29yZVtjNTkzMGM4NWExMmRlODIyXTo6Zm10OjpEaXNwbGF5Pjo6Zm10hAF7c3RkW2E1NDM5OTZlNmU3ZGJmMWVdOjpzeXM6OmJhY2t0cmFjZTo6X19ydXN0X2VuZF9zaG9ydF9iYWNrdHJhY2U6OjxzdGRbYTU0Mzk5NmU2ZTdkYmYxZV06OmFsbG9jOjpydXN0X29vbTo6e2Nsb3N1cmUjMH0sICE+hQGEAXN0ZFthNTQzOTk2ZTZlN2RiZjFlXTo6c3lzOjpiYWNrdHJhY2U6Ol9fcnVzdF9lbmRfc2hvcnRfYmFja3RyYWNlOjo8c3RkW2E1NDM5OTZlNmU3ZGJmMWVdOjpwYW5pY2tpbmc6OnBhbmljX2hhbmRsZXI6OntjbG9zdXJlIzB9LCAhPoYBNnN0ZFthNTQzOTk2ZTZlN2RiZjFlXTo6YWxsb2M6OmRlZmF1bHRfYWxsb2NfZXJyb3JfaG9va4cBdTxzdGRbYTU0Mzk5NmU2ZTdkYmYxZV06OnBhbmlja2luZzo6YmVnaW5fcGFuaWM6OlBheWxvYWQ8JnN0cj4gYXMgY29yZVtjNTkzMGM4NWExMmRlODIyXTo6cGFuaWM6OlBhbmljUGF5bG9hZD46OmFzX3N0cogBLV9fcnVzdGNbYjc5NzRlODY5MDQzMGRkOV06Ol9fcnVzdF9zdGFydF9wYW5pY4kBOWNvcmU6Om9wczo6ZnVuY3Rpb246OkZuT25jZTo6Y2FsbF9vbmNlOjpoNzhhOGY4NDc3NzM3N2ZmMIoBPl9fcnVzdGNbYjc5NzRlODY5MDQzMGRkOV06Ol9fcnVzdF9ub19hbGxvY19zaGltX2lzX3Vuc3RhYmxlX3YyiwEnX19ydXN0Y1tiNzk3NGU4NjkwNDMwZGQ5XTo6X19ydXN0X2Fib3J0BRgBARVfX3diaW5kZ2VuX2V4dGVybnJlZnMHEgEAD19fc3RhY2tfcG9pbnRlcgkRAgAHLnJvZGF0YQEFLmRhdGEAfAlwcm9kdWNlcnMCCGxhbmd1YWdlAQRSdXN0AAxwcm9jZXNzZWQtYnkDBXJ1c3RjHTEuOTUuMCAoNTk4MDc2MTZlIDIwMjYtMDQtMTQpBndhbHJ1cwYwLjI2LjEMd2FzbS1iaW5kZ2VuEzAuMi4xMTggKDc1M2JiN2ZmNCkAlAEPdGFyZ2V0X2ZlYXR1cmVzCCsLYnVsay1tZW1vcnkrD2J1bGstbWVtb3J5LW9wdCsWY2FsbC1pbmRpcmVjdC1vdmVybG9uZysKbXVsdGl2YWx1ZSsPbXV0YWJsZS1nbG9iYWxzKxNub250cmFwcGluZy1mcHRvaW50Kw9yZWZlcmVuY2UtdHlwZXMrCHNpZ24tZXh0",""+import.meta.url));const A={__proto__:null,"./waveform_sampling_wasm_bg.js":{__proto__:null,__wbindgen_cast_0000000000000001:function(e,A){return t=e,function(e,A){return(yt+=A)>=2146435072&&((pt=new TextDecoder("utf-8",{ignoreBOM:!0,fatal:!0})).decode(),yt=A),pt.decode((null!==Qt&&0!==Qt.byteLength||(Qt=new Uint8Array(ft.memory.buffer)),Qt).subarray(e,e+A))}(t>>>=0,A);var t},__wbindgen_init_externref_table:function(){const e=ft.__wbindgen_externrefs,A=e.grow(4);e.set(0,void 0),e.set(A+0,void 0),e.set(A+1,null),e.set(A+2,!0),e.set(A+3,!1)}}};("string"==typeof e||"function"==typeof Request&&e instanceof Request||"function"==typeof URL&&e instanceof URL)&&(e=fetch(e));const{instance:t,module:i}=await async function(e,A){if("function"==typeof Response&&e instanceof Response){if("function"==typeof WebAssembly.instantiateStreaming)try{return await WebAssembly.instantiateStreaming(e,A)}catch(t){if(!e.ok||!function(e){switch(e){case"basic":case"cors":case"default":return!0}return!1}(e.type)||"application/wasm"===e.headers.get("Content-Type"))throw t;console.warn("`WebAssembly.instantiateStreaming` failed because your server does not serve Wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\n",t)}const i=await e.arrayBuffer();return await WebAssembly.instantiate(i,A)}{const t=await WebAssembly.instantiate(e,A);return t instanceof WebAssembly.Instance?{instance:t,module:e}:t}}(await e,A);return function(e){return ft=e.exports,ht=null,mt=null,Qt=null,ft.__wbindgen_start(),ft}(t)}(e)).then(()=>{}),wt}async function Mt(e){!function(e){if(e.x.length!==e.y.length)throw new Error("x and y must have the same length")}(e),await bt();const A=(t=e.targetPointCount,0===(i=e.x.length)?0:Number.isFinite(t)?Math.min(i,Math.max(1,Math.floor(t))):i);var t,i;const n=kt[e.strategy];if("average"!==e.strategy&&"sum"!==e.strategy)return{kind:"source-indexes",sourceIndexes:It(e.x,e.y,n,A)};const a=function(e,A,t,i){const n=Bt(e,ft.__wbindgen_malloc),a=vt,o=Bt(A,ft.__wbindgen_malloc),r=vt,s=ft.sample_aggregates(n,a,o,r,t,i);if(s[3])throw Et(s[2]);var l=dt(s[0],s[1]).slice();return ft.__wbindgen_free(s[0],8*s[1],8),l}(e.x,e.y,n,A),o=new Float64Array(a.length/2),r=new Float64Array(a.length/2);for(let s=0;s<o.length;s+=1)o[s]=a[2*s],r[s]=a[2*s+1];return{kind:"aggregates",x:o,y:r}}async function Dt(e,A){if(e.length!==A.length)throw new Error("x and y must have the same length");await bt();const t=function(e,A){const t=Bt(e,ft.__wbindgen_malloc),i=vt,n=Bt(A,ft.__wbindgen_malloc),a=vt,o=ft.calculate_range(t,i,n,a);if(o[3])throw Et(o[2]);var r=dt(o[0],o[1]).slice();return ft.__wbindgen_free(o[0],8*o[1],8),r}(e,A);return 4===t.length?{x:[t[0],t[1]],y:[t[2],t[3]]}:void 0}async function Nt(e,A,t){if(e.length!==A.length)throw new Error("x and y must have the same length");await bt();const i=function(e,A,t,i){const n=Bt(e,ft.__wbindgen_malloc),a=vt,o=Bt(A,ft.__wbindgen_malloc),r=vt,s=ft.find_visible_range(n,a,o,r,t,i);if(s[3])throw Et(s[2]);var l=ut(s[0],s[1]).slice();return ft.__wbindgen_free(s[0],4*s[1],4),l}(e,A,t[0],t[1]);return[i[0],i[1]]}var Ft=/* @__PURE__ */new WeakMap,Gt=/* @__PURE__ */new WeakSet,Yt=/* @__PURE__ */new WeakMap,St=/* @__PURE__ */new WeakMap,Jt=/* @__PURE__ */new WeakMap;function Rt(e,A,t){let i=Yt.get(e);i||Yt.set(e,i=/* @__PURE__ */new WeakMap);let n=i.get(A);n||(n=Object.fromEntries(Object.entries(A).map(([e,A])=>[e,A.map(e=>new Array(e.length))])),i.set(A,n));for(const a of Object.keys(A)){const i=e[a],o=A[a],r=n[a];for(let e=0;e<o.length;e++)for(let A=0;A<o[e].length;A++){const n=0===t?i[e][A]:1===t?o[e][A]:(1-t)*i[e][A]+t*o[e][A];if(!Number.isFinite(n))throw new RangeError("Nonfinite presentation geometry");r[e][A]=n}}return Gt.add(n),n}function Tt(e,A,t,i){if(!e.length||"none"===A)return null;let n=Jt.get(e);return n||Jt.set(e,n=function(e,A){let t,i=e,n=A,a=/* @__PURE__ */new Uint8Array(1024),o=0;const r=e=>{if(o+e.length>a.length){const A=new Uint8Array(Math.max(2*a.length,o+e.length));A.set(a),a=A}for(let A=0;A<e.length;A++)a[o++]=e.charCodeAt(A)},s=e=>r(String(Math.round(1e3*e)/1e3)),l=(e,A,t)=>{r(e),s(A),r(","),s(t)},g=Ee().x(e=>i(e.x)).y(e=>n(e.y)).context({moveTo:(e,A)=>l("M",e,A),lineTo:(e,A)=>l("L",e,A),closePath:()=>r("Z")});return(e,A,r,s)=>(i=r,n=s,t!==A&&(g.curve("step-start"===A?W:"step-middle"===A?j:"step-end"===A||"step-after"===A?O:L),t=A),o=0,g(e),(xt??=new TextDecoder).decode(a.subarray(0,o)))}(t,i)),n(e,A,t,i)}function Zt(e){return e.map(e=>{const A=jA(e);return[e.x,e.y,A.lower,A.upper]})}function Ut(e,A){let t=St.get(e);if(!t){let A,i,n;t={get line(){return A??=Zt(e.lineRenderPoints??[])},get points(){return i??=Zt(e.pointRenderPoints)},get errors(){return n??=Zt(e.errorBarRenderPoints)}},St.set(e,t)}return Ft.set(t,{path:e,x:A,y:e.yScale,result:e}),t}function Lt(e,A=[]){for(let t=0;t<e.length;t++){const i=A[t]??(A[t]={x:NaN,y:NaN,lowerError:NaN,upperError:NaN}),n=e[t];i.x=n[0],i.y=n[1],i.lowerError=n[2],i.upperError=n[3]}return A.length=e.length,A}function jt(e,A,t,i){const n=Ft.get(A);if(!Gt.has(A)&&n?.path===e&&n.x===t&&n.y===i)return n.result;const a=n?.path===e&&n.result!==e?n.result:void 0,o=Lt(A.line,a?.lineRenderPoints),r={...e,lineRenderPoints:o,path:Tt(o,e.series.lineType,t,i),pointRenderPoints:Lt(A.points,a?.pointRenderPoints),errorBarRenderPoints:Lt(A.errors,a?.errorBarRenderPoints),yScale:i};return Ft.set(A,{path:e,x:t,y:i,result:r}),Gt.delete(A),r}function Ot(e,A,t,i){return e.series.lineType===A.series.lineType&&e.series.pointType===A.series.pointType&&e.series.errorBar.visible===A.series.errorBar.visible&&["line","points","errors"].every(e=>{const A=t[e],n=i[e];return A.length===n.length&&A.every((e,A)=>e[0]===n[A][0])})}function Wt(e,A){const t=e.domain();return t[0]===A[0]&&t[1]===A[1]?e:e.copy().domain(A)}function Xt(e,A,t,i=!1){const n=/* @__PURE__ */new Map;for(const a of A){const A=e.seriesList.find(e=>e.id===a.seriesId);if(!A||0===(A.source?.length??A.points.length))continue;const o=t?.anchors.get(a.id),r=i?A.source?.nearestPoint(a.x):void 0;i&&!r||n.set(a.id,{seriesId:A.id,annotationY:a.y,x:a.x,y:r?.y??(o?.x===a.x&&o.annotationY===a.y?o.y:a.y)})}return{target:e,series:new Map(e.seriesPaths.map(A=>[A.series.id,{path:A,values:Ut(A,e.xScale),opacity:1}])),xDomain:e.xScale.domain(),yDomains:e.yAxes.map(e=>e.scale.domain()),anchors:n,clips:/* @__PURE__ */new Map}}function Ht(e,A,t){if(!uA(A))return e;const i=Oe(e,A,lA(t));return uA(i)?i:A}function Vt(e){return[...e.series.values()].some(e=>!!e.old)}function zt(e,A,t,i){if(i)return A;const n=/* @__PURE__ */new Map;for(const[o,r]of A.series){const A=e.series.get(o);if(!A||0===(r.path.series.source?.length??r.path.series.points.length)){n.set(o,r);continue}const i=Ot(A.path,r.path,A.values,r.values);n.set(o,i?{...r,values:Rt(A.values,r.values,t)}:{...r,old:{path:A.path,values:A.values},opacity:lA(t)})}const a=/* @__PURE__ */new Map;for(const[o,r]of A.anchors){const A=e.anchors.get(o);a.set(o,A&&!n.get(r.seriesId)?.old?{seriesId:r.seriesId,annotationY:r.annotationY,x:(1-t)*A.x+t*r.x,y:(1-t)*A.y+t*r.y}:r)}return{...A,series:n,anchors:a,xDomain:Ht(e.xDomain,A.xDomain,t),yDomains:A.yDomains.map((A,i)=>Ht(e.yDomains[i]??A,A,t)),clips:A.clips}}var Pt,qt="#1677ff",Kt="12px Arial, sans-serif";function _t(e){return"object"==typeof(A=e)&&null!==A&&"pointAt"in A&&"visibleRange"in A?e:JA(e);var A}function $t(e,A,t,i){return e.flatMap(e=>{if("none"===e.series.lineType){const A=function(e,A,t){let i=null;const n=e.series.source??JA(e.series.points);for(let a=0;a<n.length;a+=1){const o=n.pointAt(a);if(!Number.isFinite(o.x)||!Number.isFinite(o.y))continue;const r=e.xScale(o.x),s=e.top+e.yScale(o.y),l=Math.hypot(r-A,s-t);(!i||l<i.distance)&&(i={point:o,screenX:r,screenY:s,distance:l})}return i}(e,t,i);return A?[{trackIndex:e.index,seriesId:e.series.id,name:e.series.name?.trim()||e.series.id,color:e.series.color||qt,unit:e.series.unit,...A}]:[]}const n=function(e,A,t="linear"){const i=_t(e);if(!i.length||!Number.isFinite(A))return null;const n=i.pointAt(0),a=i.pointAt(i.length-1);if(A<n.x||A>a.x)return null;if(1===i.length)return A===n.x?{...n}:null;const o=i.visibleRange([A,A]).start,r=i.pointAt(Math.min(o,i.length-1));if(r.x===A||0===o)return{x:A,y:r.y};if("none"===t)return null;const s=i.pointAt(o-1);if("step-start"===t)return{x:A,y:r.y};if("step-middle"===t)return{x:A,y:A<(s.x+r.x)/2?s.y:r.y};if("step-end"===t||"step-after"===t)return{x:A,y:s.y};const l=r.x-s.x;if(0===l)return{x:A,y:r.y};const g=(A-s.x)/l;return{x:A,y:s.y+(r.y-s.y)*g}}(e.series.source??JA(e.series.points),A,e.series.lineType);if(!n)return[];const a=function(e,A){const t=_t(e);if(!t.length||!Number.isFinite(A))return null;const i=t.visibleRange([A,A]).start,n=t.pointAt(Math.min(i,t.length-1)),a=t.pointAt(Math.max(0,i-1));return Math.abs(A-a.x)<Math.abs(n.x-A)?a:n}(e.series.source??JA(e.series.points),A);if(!a)return[];const o=e.xScale(n.x),r=e.top+e.yScale(n.y),s=e.xScale(a.x),l=e.top+e.yScale(a.y);return[{trackIndex:e.index,seriesId:e.series.id,name:e.series.name?.trim()||e.series.id,color:e.series.color||qt,unit:e.series.unit,point:a,screenX:s,screenY:l,distance:Math.hypot(o-t,r-i)}]}).sort((e,A)=>e.distance-A.distance||e.trackIndex-A.trackIndex)}function ei(e){return void 0===Pt&&(Pt=null,"undefined"!=typeof document&&"undefined"!=typeof CanvasRenderingContext2D&&(Pt=document.createElement("canvas").getContext("2d"))&&(Pt.font=Kt)),Pt?.measureText(e).width??function(e){return Array.from(e).reduce((e,A)=>e+(A.codePointAt(0)>255?12:6.7),0)}(e)}function Ai(e){return{borderColor:e?.borderColor||qt,textColor:e?.textColor||"#333333",backgroundColor:e?.backgroundColor||"rgba(255, 255, 255, 0.92)"}}function ti(e,A){return e>=Math.min(A[0],A[1])&&e<=Math.max(A[0],A[1])}function ii(e,A,t,i,n,a,o){const r=ni(e,A,t,i,n);return r.x>=0&&r.y>=0&&r.x+t<=a&&r.y+i<=o}function ni(e,A,t,i,n){const a=e-t/2,o=A-i/2,r=e+32,s=e-t-32,l=A-i-32,g=A+32;switch(n){case"top":return{x:a,y:l};case"bottom":return{x:a,y:g};case"right":return{x:r,y:o};case"left":return{x:s,y:o};case"top-right":return{x:r,y:l};case"top-left":return{x:s,y:l};case"bottom-right":return{x:r,y:g};case"bottom-left":return{x:s,y:g}}}function ai(e,A,t){return{width:Math.min(A,Math.max(16,Math.min(240,Math.ceil(Math.max(...e.map(ei),0))+16))),height:Math.min(t,Math.max(26,16*(e.length-1)+14+16))}}function oi(e,A,t,i){const n=[];return e.forEach(e=>{if(!function(e){return Boolean(e.id&&e.seriesId)&&Number.isFinite(e.x)&&Number.isFinite(e.y)&&"string"==typeof e.text&&e.text.trim().length>0}(e))return;const a=A.find(A=>A.series.id===e.seriesId);if(!a)return;const o=a.xScale.domain(),r=a.yScale.domain();if(!ti(e.x,o)||!ti(e.y,r))return;const s=function(e,A=10){const t=[];return e.split(/\r?\n/).forEach(e=>{const i=Array.from(e);if(0!==i.length)for(let n=0;n<i.length;n+=A)t.push(i.slice(n,n+A).join(""));else t.push("")}),t.length?t:[""]}(e.text),l=a.left??0,g=a.width??t,c=a.xScale(e.x),I=l+c,d=a.yScale(e.y)+a.top,u=Math.min(a.height,Math.max(0,i-a.top)),h=d-a.top,C=Number.isFinite(e.labelOffsetX)&&0!==e.labelOffsetX||Number.isFinite(e.labelOffsetY)&&0!==e.labelOffsetY,{width:m,height:Q}=ai(s,g,u),B=C?"top":function(e,A,t,i,n,a){for(const o of["top","bottom","right","left","top-right","top-left","bottom-right","bottom-left"])if(ii(e,A,t,i,o,n,a))return o;return"top"}(c,h,m,Q,g,u),E=function(e,A,t,i,n,a,o=0,r=0){const{width:s,height:l}=ai(t,i,n),g=ni(e,A,s,l,a),c=function(e,A,t){const i=Math.max(0,Math.min(e.x,Math.max(0,A-e.width))),n=Math.max(0,Math.min(e.y,Math.max(0,t-e.height)));return{...e,x:i,y:n,lineEndX:Math.max(i,Math.min(e.lineEndX,i+e.width)),lineEndY:Math.max(n,Math.min(e.lineEndY,n+e.height))}}({x:g.x+o,y:g.y+r,width:s,height:l,lineEndX:e,lineEndY:A},i,n),I=function(e,A,t){const i=e.x+e.width/2,n=e.y+e.height/2,a=A-i,o=t-n;if(Math.abs(a)*e.height>Math.abs(o)*e.width){const A=a>=0?e.x+e.width:e.x,t=0===a?0:(A-i)/a;return{x:A,y:Math.max(e.y,Math.min(e.y+e.height,n+o*t))}}const r=o>=0?e.y+e.height:e.y,s=0===o?0:(r-n)/o;return{x:Math.max(e.x,Math.min(e.x+e.width,i+a*s)),y:r}}(c,e,A);return{...c,lineEndX:I.x,lineEndY:I.y}}(c,h,s,g,u,B,Number.isFinite(e.labelOffsetX)?e.labelOffsetX:0,Number.isFinite(e.labelOffsetY)?e.labelOffsetY:0),p={...E,x:E.x+l,y:E.y+a.top,lineEndX:E.lineEndX+l,lineEndY:E.lineEndY+a.top};n.push({annotation:e,trackIndex:a.index,anchorX:I,anchorY:d,placement:B,lines:s,box:{...p},style:Ai(e.style)})}),n}var ri=0;function si(e="waveform"){const A=g();return`${e}-${A?`v${A.uid}`:"f"+ ++ri}`}var li=(e,A)=>{const t="number"==typeof e?e:Number(e);return Number.isFinite(t)?Math.min(10,Math.max(1,Math.floor(t))):A},gi=e=>{if(!Array.isArray(e))return[];const A=e.filter(e=>"string"==typeof e).map(e=>e.trim()).filter(Boolean);return Array.from(new Set(A))};function ci(e){const A=Object.fromEntries(Object.entries(e?.trackLines??{}).map(([e,A])=>[e,{horizontal:"boolean"!=typeof A?.horizontal||A.horizontal,vertical:"boolean"!=typeof A?.vertical||A.vertical,horizontalColor:"string"==typeof A?.horizontalColor&&A.horizontalColor.trim()?A.horizontalColor:void 0,verticalColor:"string"==typeof A?.verticalColor&&A.verticalColor.trim()?A.verticalColor:void 0}]));return{rowCount:li(e?.rowCount,2),columnCount:li(e?.columnCount,1),showPagination:e?.showPagination??!0,fillIncompleteLastRow:e?.fillIncompleteLastRow??!1,trackOrder:gi(e?.trackOrder),hideEmptyTracks:e?.hideEmptyTracks??!1,trackLines:A}}function Ii(e){return e.rowCount*e.columnCount}function di(e,A){return Math.max(1,Math.ceil(Math.max(0,e)/Ii(A)))}function ui(e){return"compact"===e?0:"separated"===e?16:14}function hi(e){const A=ci(e.props.grid);return`${A.rowCount}:${A.columnCount}`}function Ci(e){const{props:A,tracks:t}=e;return JSON.stringify({tracks:t.value.map(e=>[e.id,e.left,e.top,e.width,e.height,e.xScale.domain(),e.yScale.domain(),e.seriesList.map(e=>e.id),e.yAxes.map(e=>[e.seriesList.map(e=>e.id),e.scale.domain()])]),width:e.innerWidth.value,height:e.innerHeight.value,mode:A.displayMode,overlay:A.overlayMode,hidden:A.hiddenSeriesIds,clean:A.cleanView,presentation:A.presentationMode,page:t.value.map(e=>e.id)})}function mi(e,A){if(!1===e)return 0;const t=A??(!0===e?.1:0);return Number.isFinite(t)&&t>0?t:0}function Qi(e,A){const t=e.seriesList.flatMap(e=>Number.isFinite(e.rawYMaximum)?[e.rawYMaximum]:[]),i=e.seriesList.flatMap(e=>Number.isFinite(e.rawYMinimum)?[e.rawYMinimum]:[]);return{...e,maximumTick:!1!==A?.maximumTickVisible&&t.length?Math.max(...t):void 0,minimumTick:!1!==A?.minimumTickVisible&&i.length?Math.min(...i):void 0}}function Bi(e,A,t){return void 0!==t&&Number.isFinite(t)&&(e=[...e.filter(e=>!Ei(e,t)),t].sort((e,A)=>e-A)),void 0!==A&&Number.isFinite(A)?[...e.filter(e=>!Ei(e,A)),A].sort((e,A)=>e-A):e}function Ei(e,A){return Math.abs(e-A)<=8*Number.EPSILON*Math.max(Math.abs(e),Math.abs(A),Number.MIN_VALUE)}function pi(e){if(0===e.length)return[0,1];const[A=0,t=1]=Be(e);if(A!==t)return[A,t];const i=.05*Math.abs(A)||.5;return[A-i,t+i]}function fi(e,A=5,t){let i=e;if(t&&e.length>=2){const A=e[0],t=e[1],n=e[e.length-1],a=e[e.length-2];i=[A-(t-A),...e,n+(n-a)]}const n=i.flatMap((e,t)=>{const n=i[t+1];if(void 0===n)return[];const a=(n-e)/A;return Array.from({length:A-1},(A,t)=>e+a*(t+1))});if(!t)return n;const a=Math.min(...t),o=Math.max(...t);return n.filter(e=>e>a&&e<o)}var yi=new Intl.NumberFormat("zh-CN",{maximumFractionDigits:4}),vi=new Intl.NumberFormat("zh-CN",{maximumFractionDigits:4});function wi(e,A){if("number"!=typeof e||"number"!=typeof A)return null;const t=Math.max(Math.abs(e),Math.abs(A));return function(e){const A=Math.abs(e);return Number.isFinite(A)&&(A>=1e3||A>0&&A<=.001)}(t)?Math.floor(Math.log10(t)):null}function xi(e){return`E${e>=0?"+":"-"}${Math.abs(e).toString().padStart(2,"0")}`}function ki(e,A){const t=wi(e,A);return null===t?null:xi(t)}function bi(e){return Number.isFinite(e)?Object.is(e,-0)?"0":vi.format(e):String(e)}function Mi(e){if(!Number.isFinite(e))return String(e);if(Object.is(e,-0))return"0";const[A,t]=e.toExponential().split("e"),i=Number(t),n=A.startsWith("-"),a=A.replace("-","").replace(".",""),o=i+1;let r;return r=o<=0?`0.${"0".repeat(Math.abs(o))}${a}`:o>=a.length?`${a}${"0".repeat(o-a.length)}`:`${a.slice(0,o)}.${a.slice(o)}`,`${n?"-":""}${r}`}function Di(e,A){return"ms"===A?1e3*e:e}function Ni(e,A,t,i,n){const a=Di(e,t);return n?n(a,{kind:i,rawValue:e,timeUnit:t,domain:[A[0],A[1]],displayDomain:[Di(A[0],t),Di(A[1],t)]}):function(e,A){if(!Number.isFinite(e))return String(e);const t=Math.abs(A[1]-A[0]),i=Number.isFinite(t)&&t>0?Math.max(0,Math.ceil(-Math.log10(t))+1):0,n=e=>Number(e.toPrecision(15)),a=t>=1||0===t?Math.max(i,Math.min(6,(e=>{const A=String(n(e));return A.includes("e")?6:A.split(".")[1]?.length??0})(e))):i,o=e=>{const A=Number(n(e).toFixed(Math.min(6,a)));return Math.abs(A)>=1e21?A.toLocaleString("en-US",{useGrouping:!1,maximumFractionDigits:6}):String(A)};if(a<=6&&(0===e||0!==Number(o(e)))&&(0===t||o(A[0])!==o(A[1])))return o(e);for(let r=2;r<=17;r++){const i=e=>{const[A,t]=e.toExponential(r-1).split("e");return`${Number(A)}e${t}`};if(0===t||i(A[0])!==i(A[1]))return i(e)}return e.toExponential(16)}(a,[Di(A[0],t),Di(A[1],t)])}function Fi(e,A,t){return Ni(e,A,t,"end")}function Gi(e,A,t){return Ni(e,t??[e,e],A,"tick")}function Yi(e,A){return bi(Di(e,A))}function Si(e,A,t){if(e<=0)return{gap:0,axisBand:0,height:0};const i="compact"===A?0:"separated"===A?16:14,n="independent"===A?30:0,a=(e-1)*(i+n),o=.45*t,r=a>o?o/a:1,s=i*r,l=n*r;return{gap:s,axisBand:l,height:Math.max(1,(t-(e-1)*(s+l))/e)}}function Ji(e,A,t){return Math.min(Math.max(e,A),t)}function Ri(e){if(e&&Number.isFinite(e[0])&&Number.isFinite(e[1])&&e[0]!==e[1])return e[0]<e[1]?[e[0],e[1]]:[e[1],e[0]]}function Ti(e,A){return Ri(A?.[e.id])}function Zi(e,A,t){return Ri(t?.[e.id])??Ri(A)}function Ui(e,A=5,t=!0,i){if(!t){const t="number"==typeof A&&Number.isFinite(A)?Math.max(2,Math.floor(A)):5,[i,n]=e;return{domain:e,values:Array.from({length:t},(e,A)=>i+(n-i)*A/(t-1))}}const n=function(e,A=5){const t=function(e,A,t=5){if(!Number.isFinite(e)||!Number.isFinite(A))return{niceMin:0,niceMax:1,tickSpacing:1,ticks:[0,1]};if(e===A){if(0===e)return{niceMin:-1,niceMax:1,tickSpacing:.5,ticks:[-1,-.5,0,.5,1]};const A=e,t=.2*Math.abs(A);return{niceMin:A-t,niceMax:A+t,tickSpacing:t,ticks:[A-t,A,A+t]}}e>A&&([e,A]=[A,e]);const i=function(e){if(0===e)return 0;const A=Math.floor(Math.log10(Math.abs(e))),t=Math.abs(e)/Math.pow(10,A);let i;return i=t<1.5?1:t<3?2:t<7?5:10,i*Math.pow(10,A)*Math.sign(e)}((A-e)/Math.max(1,t-1)),n=Math.floor(e/i)*i,a=Math.ceil(A/i)*i,o=[],r=Math.round((a-n)/i)+1;if(r>100){const i=Math.min(t+2,10),n=(A-e)/(i-1);for(let A=0;A<i;A++)o.push(e+n*A);return{niceMin:e,niceMax:A,tickSpacing:n,ticks:o}}for(let s=0;s<r;s++){const e=n+i*s,A=Math.max(0,1-Math.floor(Math.log10(Math.abs(i)))),t=Number(e.toFixed(A));o.push(t)}return{niceMin:Math.min(e,o[0]??n),niceMax:Math.max(A,o.at(-1)??a),tickSpacing:i,ticks:o}}(e[0],e[1],A);return{domain:[t.niceMin,t.niceMax],values:t.ticks}}(e,A);if(!i)return n;const a=[i.lower??n.domain[0],i.upper??n.domain[1]];return{domain:a,values:n.values.filter(e=>e>=a[0]&&e<=a[1])}}function Li(e){if(!e)return;const A=Number.isFinite(e.lower)?e.lower:void 0,t=Number.isFinite(e.upper)?e.upper:void 0;return void 0===A&&void 0===t||void 0!==A&&void 0!==t&&A>=t?void 0:{lower:A,upper:t}}function ji(e){const A=e?.fontSize;return"number"==typeof A&&Number.isFinite(A)&&A>0?A:12}function Oi(e){return ji(e)+8}var Wi,Xi=1e3;function Hi(e,A,t=!1){if(t&&!A.includeExplicit)return[...e];if("integer-ms"===A.type){const A=e[0]*Xi,t=e[1]*Xi;if(!Number.isSafeInteger(Math.ceil(Math.abs(A)))||!Number.isSafeInteger(Math.ceil(Math.abs(t)))||t-A<1)return[...e];const i=t-A>=100?Math.max(10,Me(A,t,10)/10):1;return[Math.floor(A/i)*i/Xi,Math.ceil(t/i)*i/Xi]}if("nice"!==A.type)return[...e];const i=fe().domain(e).nice((n=A.tickCount,!Number.isFinite(n)||(n??0)<1?10:Math.max(1,Math.trunc(n)))).domain();var n;return"end"===A.bounds?[e[0],i[1]]:i}function Vi(e,A){const t=e.seriesList[0],i=e.tickValues.map(i=>{const n=rn(i,e.scale.domain(),e.tickValues,!1===A.showUnits?void 0:t?.unit);return A.measureTextWidth?.(n)??7*n.length});return Math.max(7,...i)+7+Oi(A.labelTextStyle)/2}function zi(e){void 0===Wi&&(Wi="undefined"!=typeof document&&"undefined"!=typeof CanvasRenderingContext2D?document.createElement("canvas").getContext("2d"):null)&&(Wi.font="700 11px sans-serif");const A=Wi?Wi.measureText(e).width:[...e].reduce((e,A)=>e+(/[0-9]/.test(A)?6.2:"."===A?3.1:7),0);return Math.ceil(A)}var Pi=3e3;function qi(e,A,t=0){const[i,n]=e;if(!Number.isFinite(i)||!Number.isFinite(n))return[];if(i===n)return Ki([i],i,n);if(i>n)return qi([n,i],A,t).reverse();const a=Number.isFinite(A)?Math.max(1,Math.round(A)):5,o=(n-i)/a,r=10**Math.floor(Math.log10(o)),s=o/r,l=Math.max((s<1.5?1:s<2.5?2:s<4?3:s<7?5:10)*r,t),g=Math.max(0,2-Math.floor(Math.log10(l))),c=()=>function(e,A,t){const i=fe().domain([e,A]);let n=Math.min(t,Pi);for(;;){const t=Ki(i.ticks(n),e,A);if(t.length<=Pi)return t;n=Math.max(1,Math.floor(n/2))}}(i,n,a);if(!Number.isFinite(l)||l<=0||g>100)return c();const I=Math.ceil(_i(i/l)),d=Math.floor(_i(n/l));if(!Number.isSafeInteger(I)||!Number.isSafeInteger(d))return c();if(d-I+1>Pi)return c();const u=[];for(let h=I;h<=d;h++){const e=Number((h*l).toFixed(g));if(u.length&&e<=u[u.length-1])return c();u.push(e)}return Ki(u,i,n)}function Ki(e,A,t){return[...new Set(e.filter(e=>Number.isFinite(e)&&e>=A&&e<=t).map(e=>0===e?0:e))].sort((e,A)=>e-A)}function _i(e){const A=Math.round(e);return Math.abs(e-A)<=Number.EPSILON*Math.max(1,Math.abs(e))*4?A:e}function $i(e){const A=Math.round(e);return Math.abs(e-A)<=Number.EPSILON*Math.max(1,Math.abs(e))*16?A:e}function en(e,A){const t="s"===A.timeUnit?1:1e3;return[$i(e[0]*t),$i(e[1]*t)]}function An(e,A){if(!A.integerZoom)return e;const t="s"===A.timeUnit?1:1e3,i=$i(Math.min(e[0],e[1])*t),n=$i(Math.max(e[0],e[1])*t);if(!Number.isSafeInteger(Math.floor(i))||!Number.isSafeInteger(Math.ceil(n)))return e;if(n>i&&n-i<1)return[i/t,n/t];const a=Math.floor(i);return[a/t,Math.max(a+1,Math.ceil(n))/t]}function tn(e,A){if(!A.integerZoom)return e;const t="s"===A.timeUnit?1:1e3;return en(e,A).map(e=>e/t)}var nn=7;function an(e,A){return"number"==typeof A&&Number.isFinite(A)?Math.max(2,Math.floor(A)):5}function on(e,A,t,i,n="left"){const a=Math.max(...t),o="right"===n&&e===a,r=function(e,A={}){if(!Number.isFinite(e))return String(e);const t=wi(A.axisMin,A.axisMax),i=function(e){if(Object.is(e,-0))return"0";const A=0===e?0:Number(e.toPrecision(5)),t=yi.format(A);return"-0"===t?"0":t}(null===t?e:e/10**t);if(e!==(A.topTickValue??A.axisMax))return i;const n=A.unit?.trim(),a=null===t&&n?`(${n}) `:"";return`${null===t?"":`${xi(t)} `}${a}${i}`}(e,{axisMin:A[0],axisMax:A[1],topTickValue:o?NaN:a,unit:o?void 0:i});if(o){const e=i?.trim(),t=ki(...A);return[r,t,!t&&e?`(${e})`:null].filter(Boolean).join(" ")}return r}function rn(e,A,t,i){const n=on(e,A,t,i),a=ki(A[0],A[1]);return a&&n.startsWith(`${a} `)?n.slice(a.length+1):n}var sn=/* @__PURE__ */new WeakMap;function ln(e,A){let t=sn.get(e);t||(t=/* @__PURE__ */new Map,sn.set(e,t));const i=t.get(A);if(i)return i;const n="multi-axis"===A?Math.min(e.visibleSeries.length,4):Math.min(e.visibleSeries.length,1),a=function(e){return e>=4?["left","left","right","right"]:3===e?["left","right","right"]:2===e?["left","right"]:["left"]}(n),o=Array.from({length:n},(e,A)=>({index:A,side:a[A],seriesList:[],domain:[0,1],fixed:!1}));return e.visibleSeries.forEach((e,A)=>{o[Math.min(A,n-1)]?.seriesList.push(e)}),o.forEach(t=>{if("single-axis"===A)t.domain=e.yDomain;else{const A=t.seriesList.flatMap(e=>e.yDomain);t.domain=A.length>0?pi(A):e.yDomain}}),t.set(A,o),o}function gn(e,A,t,i,n,a,o){const r=n?.[e.id],s=e.visibleSeries.length||!e.series.length?e:{...e,visibleSeries:e.series};return function(e,A,t,i){const n=Ti(e,i);return ln(e,A).map(e=>{if(n)return{...e,domain:n,fixed:!0};const A=e.seriesList.map(e=>Zi(e,t,i)??e.yDomain),a=e.seriesList.some(e=>Zi(e,t,i));return a?{...e,domain:(o=A,[Math.min(...o.map(e=>e[0])),Math.max(...o.map(e=>e[1]))]),fixed:a}:e;var o})}(s,A,t,i).map(t=>{const i=function(e,A){const t=e.flatMap(e=>{const t=Li(A?.[e.id]);return t?[t]:[]}),i=t.flatMap(e=>void 0===e.lower?[]:[e.lower]),n=t.flatMap(e=>void 0===e.upper?[]:[e.upper]);return Li({lower:i.length?Math.min(...i):void 0,upper:n.length?Math.max(...n):void 0})}(t.seriesList,o),n=i?ln(s,A)[t.index]:t,l=function(e,A,t){const i="number"==typeof t?{upperPaddingRatio:t}:t;if(e.fixed)return Qi(e,i);const n=mi(i?.upperPaddingEnabled,i?.upperPaddingRatio),a=mi(i?.lowerPaddingEnabled,i?.lowerPaddingRatio),[o,r]=e.domain,s=r-o,l=a>0?o-s*a:o,g=n>0?r+s*n:r;return Qi({...e,domain:A??[Number.isFinite(l)?l:o,Number.isFinite(g)?g:r]},i)}(n,i?void 0:r,a);return i&&(l.domain=function(e,A,t=e){let i=A.lower??e[0],n=A.upper??e[1];if(i>=n){const e=A.lower??A.upper,a=Math.max(t[1]-t[0],.1*Math.abs(e),1);void 0!==A.lower?n=i+a:i=n-a}return[i,n]}(l.domain,i,n.domain),l.amplitudeLimit=i),e.visibleSeries.length?l:{...l,maximumTick:void 0,minimumTick:void 0}})}function cn(e,A=!0,t,i,n=5,a=!1,o,r,s,l){const g=t?{domain:e,values:t}:Ui(e,n,A,l),c=e=>void 0!==e&&e>=g.domain[0]&&e<=g.domain[1]?e:void 0,I=[Bi(g.values,c(r),c(s))];a&&g.values.length>1&&I.push(g.values.slice(0,-1));const d=e=>o?o(e):e.length*nn,u=I.flatMap(e=>e.map(A=>({full:d(on(A,g.domain,e,i)),title:d(rn(A,g.domain,e,i))})));return a&&I[0].forEach(e=>{u.push({full:d(on(e,g.domain,[e],i)),title:d(rn(e,g.domain,[e],i))})}),{tickTextWidth:Math.max(nn,...u.map(e=>e.full)),titleTextWidth:Math.max(nn,...u.map(e=>e.title))}}var In=/* @__PURE__ */new WeakMap;function dn(e,A,t){const i=null===t?null:String(t);e.getAttribute(A)!==i&&(null===i?e.removeAttribute(A):e.setAttribute(A,i))}function un(e,A,t,i,n,a){const o=t.range(),r=In.get(e),s=ye(e);if(!r||r.ticks!==i||r.orientation!==n||o.some((e,A)=>e!==r.range[A]))s.call(A),In.set(e,{ticks:i,range:o,orientation:n});else{const e="bottom"===n,i=A.offset();s.selectAll(".tick").each(function(A){dn(this,"transform",e?`translate(${t(A)+i},0)`:`translate(0,${t(A)+i})`)}).select("text").each(function(e){const A=a(e);this.textContent!==A&&(this.textContent=A)})}}function hn(e,A){return e.left<A.right&&A.left<e.right&&e.top<A.bottom+4&&A.top<e.bottom+4}function Cn(e,A,t=1,i=1){return Math.abs(e-A)<(t+i)/2+1}function mn(e){dn(e,"display","none"),dn(e,"data-maximum-hidden","true")}var Qn=/* @__PURE__ */new WeakSet;function Bn(e){e.querySelectorAll("text[data-axis-maximum-label]").forEach(e=>{const A=e.parentElement.parentElement,t=[...A.querySelectorAll(".tick text")],i=e=>Number(e.parentElement.getAttribute("data-tick-value")),n=t.filter(e=>"none"!==e.getAttribute("display")).map(i),a=[Number(A.getAttribute("data-label-domain-min")),Number(A.getAttribute("data-label-domain-max"))];t.forEach(e=>{const t=on(i(e),a,n,A.getAttribute("data-label-unit")??void 0,"right"===A.getAttribute("data-y-axis-side")?"right":"left");e.textContent!==t&&(e.textContent=t)})})}function En(e){e.querySelectorAll("[data-maximum-hidden]").forEach(e=>{dn(e,"display",null),dn(e,"data-maximum-hidden",null)}),e.querySelectorAll(".waveform-track__axis--y .tick text").forEach(e=>{dn(e,"display",null)}),Bn(e);const A=/* @__PURE__ */new Map,t=/* @__PURE__ */new Map,i=e=>(A.has(e)||A.set(e,function(e){const A=e.getBoundingClientRect();if(A.width&&A.height)return A;const t=Number.parseFloat(getComputedStyle(e).fontSize)||11,i=(e.textContent?.length??0)*t*.65;let n=Number(e.getAttribute("x"))||0,a=Number(e.getAttribute("y"))||0;for(let r=e.parentElement;r;r=r.parentElement){const e=r.getAttribute("transform")?.match(/translate\(([-\d.e+]+)[ ,]+([-\d.e+]+)\)/);e&&(n+=Number(e[1]),a+=Number(e[2]))}const o="start"===e.getAttribute("text-anchor");return{left:o?n:n-i,right:o?n+i:n,top:a-t/2,bottom:a+t/2}}(e)),A.get(e)),n=e=>(t.has(e)||t.set(e,function(e){return Number.parseFloat(getComputedStyle(e).strokeWidth)||1}(e)),t.get(e)),a=[...e.querySelectorAll("text[data-axis-minimum-label]")];e.querySelectorAll("text[data-axis-maximum-label]").forEach(e=>{const A=i(e);a.some(e=>hn(A,i(e)))&&mn(e)}),e.querySelectorAll(".waveform-track__axis--y .tick").forEach(e=>{const A=Number(e.getAttribute("data-tick-y")),t=Number(e.closest(".waveform-track")?.getAttribute("data-track-height")),i=e.querySelector("line");i&&dn(i,"display",Ei(A,0)||Ei(A,t)?"none":null)});const o=[...e.querySelectorAll(".tick[data-minimum-tick]")],r=[...e.querySelectorAll(".tick[data-maximum-tick]")],s=[...e.querySelectorAll(".waveform-track__axis--y .tick text")];o.forEach(e=>{const A=e.querySelector("text");A&&r.forEach(e=>{const t=e.querySelector("text");t&&t!==A&&hn(i(A),i(t))&&mn(t)})}),[.../* @__PURE__ */new Set([...o,...r])].forEach(e=>{const A=e.querySelector("text"),t=e.querySelector("line");if(!A||!t)return;const a=i(A);s.forEach(t=>{"none"!==A.getAttribute("display")&&"none"!==t.getAttribute("display")&&(t.parentElement?.matches("[data-minimum-tick], [data-maximum-tick]")||!e.hasAttribute("data-minimum-tick")&&t.hasAttribute("data-axis-minimum-label")||hn(a,i(t))&&mn(t))});const o=e.parentElement,r=Number(e.getAttribute("data-tick-value")),l=Number(e.getAttribute("data-tick-y"));o.querySelectorAll(".tick:not([data-maximum-tick]):not([data-minimum-tick])").forEach(e=>{const A=e.querySelector("line");A&&Cn(l,Number(e.getAttribute("data-tick-y")),n(t),n(A))&&mn(A)}),"0"===o.getAttribute("data-y-axis-index")&&(o.closest(".waveform-track").querySelectorAll('[data-grid-direction="horizontal"]').forEach(e=>{const A=Number(e.getAttribute("y1"));Cn(l,A,n(t),n(e))&&mn(e)}),e.hasAttribute("data-maximum-tick")&&dn(e,"data-maximum-value",r),e.hasAttribute("data-minimum-tick")&&dn(e,"data-minimum-value",r))}),Bn(e)}var pn="http://www.w3.org/2000/svg";function fn(e,A={}){const t=document.createElementNS("http://www.w3.org/2000/svg",e);return Object.entries(A).forEach(([e,A])=>t.setAttribute(e,String(A))),t}var yn=["fill","fill-opacity","stroke","stroke-width","stroke-opacity","stroke-dasharray","stroke-linecap","stroke-linejoin","opacity","font-family","font-size","font-weight","font-style","text-decoration","letter-spacing","text-anchor","dominant-baseline","visibility","display"];function vn(e,A){const t=[e,...e.querySelectorAll("*")],i=[A,...A.querySelectorAll("*")];t.forEach((e,A)=>{const t=i[A],n=getComputedStyle(e);yn.forEach(e=>{const A=n.getPropertyValue(e);A&&t.style.setProperty(e,A)});for(const i of["clip-path","mask","filter"]){const e=t.getAttribute(i);e?.includes("#")&&t.setAttribute(i,`url(#${e.split("#")[1].replace(/[)'"].*$/,"")})`)}})}function wn(e){return Object.assign(new Error({"export-invalid-options":"图片导出参数无效","export-unavailable":"图表尚未具备有效尺寸","export-busy":"已有导出正在执行","export-cancelled":"图表已卸载,导出取消","export-render-failed":"图片编码失败","export-stale":"图表已变化,请重新导出","export-timeout":"等待图表稳定超时,请重试"}[e]),{code:e})}var xn=/* @__PURE__ */new WeakMap;function kn(e){return e[0]<=e[1]?[...e]:[e[1],e[0]]}function bn(e){return Number.isFinite(e)&&(e??0)>0?Math.ceil(e):0}function Mn(e,A){const t=`${A[0]}\0${A[1]}`,i=xn.get(e)?.get(t);if(i)return i;const n=/* @__PURE__ */new Set;for(const r of e){const e=r.source??JA(r.points);for(let t=0;t<e.length;t+=1){const i=e.pointAt(t);i.x>=A[0]&&i.x<=A[1]&&n.add(i.x)}}const a=Array.from(n).sort((e,A)=>e-A),o=xn.get(e)??/* @__PURE__ */new Map;return o.set(t,a),xn.set(e,o),a}function Dn(e,A,t){const i=kn(e),n=i[1]-i[0];if(!Number.isFinite(n)||n<=0)return 0;const a=Number.isFinite(t.minZoomSpan)&&(t.minZoomSpan??0)>0?Math.min(n,t.minZoomSpan):0,o=bn(t.minVisiblePoints),r=function(e,A,t){if(t<=1)return 0;let i=Number.POSITIVE_INFINITY,n=!1;for(const a of e){const e=Mn(a,A);if(!a.some(e=>(e.source?.length??e.points.length)>0))continue;if(n=!0,e.length<t)continue;let o=Number.POSITIVE_INFINITY;for(let A=0;A+t<=e.length;A+=1)o=Math.min(o,e[A+t-1]-e[A]);const r=Number.EPSILON*Math.max(1,Math.abs(A[0]),Math.abs(A[1]))*16;i=Math.min(i,o+r)}return Number.isFinite(i)?i:n?A[1]-A[0]:0}(A,i,o),s=Number(t.maxZoomScale),l=Number.isFinite(s)&&s>=1?n/s:null!==t.maxZoomScale&&0===a&&0===o?n/40:0;return Math.max(a,r,l)}function Nn(e,A,t,i){const n=kn(A),a=n[1]-n[0];if(!Number.isFinite(a)||a<=0)return n;if(Math.abs(e[1]-e[0])>=.999999999999*a)return n;const o=function(e,A,t,i){if(i<=0)return e;const n=Number.EPSILON*Math.max(1,Math.abs(A[0]),Math.abs(A[1]))*16;let a,o=Number.POSITIVE_INFINITY,r=Number.POSITIVE_INFINITY,s=!1;const l=(e[0]+e[1])/2;for(const g of t){const t=Mn(g,A);if(g.some(e=>(e.source?.length??e.points.length)>0)&&(s=!0,!(t.length<i))){if(t.filter(A=>A>=e[0]&&A<=e[1]).length>=i)return e;for(let s=0;s+i<=t.length;s+=1){const g=[Math.max(A[0],Math.min(e[0],t[s]-n)),Math.min(A[1],Math.max(e[1],t[s+i-1]+n))],c=g[1]-g[0],I=Math.abs((g[0]+g[1])/2-l);(c<o||c===o&&I<r)&&(a=g,o=c,r=I)}}}return a??(s?[...A]:e)}([Math.max(n[0],Math.min(e[0],e[1])),Math.min(n[1],Math.max(e[0],e[1]))],n,t,bn(i.minVisiblePoints)),r=Dn(n,t,i),s=Math.max(r,Math.min(a,o[1]-o[0])),l=(o[0]+o[1])/2,g=Math.max(n[0],Math.min(l-s/2,n[1]-s)),c=An([g,g+s],i);return[Math.max(n[0],c[0]),Math.min(n[1],c[1])]}function Fn(e,A,t){const i=A[1]-A[0],n=e[1]-e[0];if(!Number.isFinite(i)||!Number.isFinite(n)||i<=0||n<=0)return De;const a=i/n,o=fe(A,[0,t]);return De.translate(-a*o(e[0]),0).scale(a)}function Gn(e,A){const t=e[1]-e[0];return t>=A[1]-A[0]?[...A]:e[0]<A[0]?[A[0],A[0]+t]:e[1]>A[1]?[A[1]-t,A[1]]:e}function Yn(e){const A=e.panXDomain;return A&&A.every(Number.isFinite)&&A[0]<A[1]?A:void 0}function Sn(e,A,t,i){const n=Yn(i);return n?Gn(e,n):tn(Nn(e,A,t,{...i,integerZoom:!1}),i)}function Jn(e,A,t,i){const n=Yn(i);if(!n)return Nn(e,A,t,i);const a=t.filter(e=>function(e,A,t){if(!Number.isFinite(t)||t<=0)return!0;const i=Math.ceil(t),n=/* @__PURE__ */new Set;for(const a of e){const e=a.source??JA(a.points),t=e.visibleRange(A);for(let A=t.start;A<t.end;A+=1)if(n.add(e.pointAt(A).x),n.size>=i)return!0}return!1}(e,n,i.minVisiblePoints));return Nn(e,n,a.filter(A=>A.some(A=>{const t=A.source,i=t?.length??A.points.length;if(!i)return!1;const n=t?t.pointAt(0):A.points[0],a=t?t.pointAt(i-1):A.points[i-1];return n.x<=Math.max(...e)&&a.x>=Math.min(...e)})),{...i,maxZoomScale:null,minZoomSpan:Dn(A,a,i)})}var Rn=(e,A)=>e.every((e,t)=>Math.abs(e-A[t])<1e-12);function Tn(e,A,t,i,n,a=.5){const[o,r]=e,s=Math.max(0,Math.min(1,a)),l=o+(r-o)*s,g=(r-o)*("zoom-in"===A?.5:2),c=Jn(tn([l-g*s,l+g*(1-s)],n),t,i,n);return"zoom-in"===A&&c[1]-c[0]>r-o?[...e]:c}var Zn=Rn,Un=["data-annotation-id","data-placement","data-leaving","opacity","onPointerdown","onContextmenu"],Ln=["id"],jn=["fill"],On=["x1","y1","x2","y2","stroke","marker-end"],Wn=["transform"],Xn=["x","y","width","height","fill","stroke"],Hn=["x","y","fill"],Vn=["x","dy"],zn=/*@__PURE__*/l({__name:"WaveformAnnotationLayer",props:{annotations:{},visible:{type:Boolean},interactive:{type:Boolean,default:!0},cancelKey:{},dataVersion:{}},emits:["contextmenu","drag-start","move","drag-end"],setup(t,{emit:o}){const r=t,s=o,l=p(/* @__PURE__ */new Map),g=p(null);let c=null,I=null,C=0;const m=A(()=>{const e=/* @__PURE__ */new Map;return r.annotations.forEach(A=>{const t=l.value.get(A.annotation.id);t?e.set(A.annotation.id,{...A.box,x:A.box.x+t.x,y:A.box.y+t.y,lineEndX:A.box.lineEndX+t.x,lineEndY:A.box.lineEndY+t.y}):e.set(A.annotation.id,A.box)}),e});function Q(e){return m.value.get(e.annotation.id)??e.box}function E(){I=null,c&&(l.value=new Map(l.value).set(c.annotationId,{x:c.deltaX,y:c.deltaY}))}function y(e){if(!r.interactive)return;if(e.stopPropagation(),!c||e.pointerId!==c.pointerId)return;const A=e.clientX-c.startX,t=e.clientY-c.startY;c.deltaX=A,c.deltaY=t,c.moved=c.moved||Math.hypot(A,t)>=2,c.moved&&null===I&&(I=requestAnimationFrame(E))}function v(e){if(!r.interactive)return;if(e.preventDefault(),e.stopPropagation(),!c||e.pointerId!==c.pointerId)return;const A=c,t=e.clientX-A.startX,i=e.clientY-A.startY;if(A.deltaX=t,A.deltaY=i,A.moved=Math.hypot(t,i)>=2,A.moved=A.moved||Math.hypot(t,i)>=2,null!==I&&(cancelAnimationFrame(I),I=null),A.moved){l.value=new Map(l.value).set(A.annotationId,{x:A.deltaX,y:A.deltaY});const t=A.initialOffsetX+A.deltaX,i=A.initialOffsetY+A.deltaY;g.value={annotationId:A.annotationId,x:t,y:i},c=null,C=e.timeStamp,s("move",A.annotationId,t,i)}else c=null;A.target.hasPointerCapture(A.pointerId)&&A.target.releasePointerCapture(A.pointerId),s("drag-end",!1)}function w(e){e.preventDefault(),e.stopPropagation(),c&&e.pointerId===c.pointerId&&k()}function k(){if(!c)return;const e=c;c=null,l.value=new Map(l.value).set(e.annotationId,{x:0,y:0}),null!==I&&(cancelAnimationFrame(I),I=null),e.target.hasPointerCapture(e.pointerId)&&e.target.releasePointerCapture(e.pointerId),s("drag-end",!0)}function M(e){const A=e.animationStyle;if(!A)return;const t=Q(e),i=t.x+t.width/2,n=t.y+t.height/2;return`translate(${i},${n+A.offsetY}) scale(${A.scale}) translate(${-i},${-n})`}function D(e){return`waveform-annotation-arrow-${e.replace(/[^a-zA-Z0-9_-]/g,"-")}`}return N(()=>r.annotations,e=>{const A=g.value;if(!A)return;const t=e.find(e=>e.annotation.id===A.annotationId);if(!t)return;const i=Number.isFinite(t.annotation.labelOffsetX)?t.annotation.labelOffsetX:0,n=Number.isFinite(t.annotation.labelOffsetY)?t.annotation.labelOffsetY:0;i===A.x&&n===A.y&&(l.value=new Map(l.value).set(A.annotationId,{x:0,y:0}),g.value=null)}),N(()=>r.interactive,e=>{e||k()}),N([()=>r.cancelKey,()=>r.dataVersion,()=>r.visible],k),h(k),(A,t)=>r.visible?(B(),n("g",{key:0,class:d(["waveform-annotation-layer",{"waveform-annotation-layer--interactive":r.interactive}])},[(B(!0),n(e,null,f(r.annotations,A=>(B(),n("g",{key:A.annotation.id,class:"waveform-annotation","data-annotation-id":A.annotation.id,"data-placement":A.placement,"data-leaving":A.leaving||void 0,style:u(A.leaving?{pointerEvents:"none"}:void 0),opacity:(A.animationStyle?.opacity??1)*(A.seriesOpacity??1),onPointerdown:e=>function(e,A){if(e.leaving||!r.interactive||0!==A.button||c)return;A.preventDefault(),A.stopPropagation();const t=A.currentTarget;if(!t||"function"!=typeof t.setPointerCapture)return;t.setPointerCapture(A.pointerId),s("drag-start");const i=l.value.get(e.annotation.id),n=(Number.isFinite(e.annotation.labelOffsetX)?e.annotation.labelOffsetX:0)+(i?.x??0),a=(Number.isFinite(e.annotation.labelOffsetY)?e.annotation.labelOffsetY:0)+(i?.y??0);c={annotationId:e.annotation.id,pointerId:A.pointerId,startX:A.clientX,startY:A.clientY,deltaX:0,deltaY:0,initialOffsetX:n,initialOffsetY:a,moved:!1,target:t}}(A,e),onPointermove:y,onPointerup:v,onPointercancel:w,onContextmenu:e=>{return t=A.annotation.id,i=e,void(r.interactive&&(i.preventDefault(),i.stopPropagation(),i.timeStamp-C<100||s("contextmenu",t,i)));var t,i}},[a("defs",null,[a("marker",{id:D(A.annotation.id),markerWidth:"8",markerHeight:"8",refX:"8",refY:"4",orient:"auto",markerUnits:"userSpaceOnUse"},[a("path",{d:"M0,0 L8,4 L0,8 Z",fill:A.style.borderColor},null,8,jn)],8,Ln)]),a("line",{class:"waveform-annotation__arrow",x1:Q(A).lineEndX,y1:Q(A).lineEndY,x2:A.anchorX,y2:A.anchorY,stroke:A.style.borderColor,"marker-end":`url(#${D(A.annotation.id)})`},null,8,On),a("g",{transform:M(A)},[a("rect",{class:"waveform-annotation__box",x:Q(A).x,y:Q(A).y,width:Q(A).width,height:Q(A).height,fill:A.style.backgroundColor,stroke:A.style.borderColor},null,8,Xn),a("text",{class:"waveform-annotation__text",x:Q(A).x+Q(A).width/2,y:Q(A).y+Q(A).height/2-(A.lines.length-1)*b(16)/2,fill:A.style.textColor,style:u({font:b(Kt)}),"text-anchor":"middle","dominant-baseline":"central"},[(B(!0),n(e,null,f(A.lines,(e,t)=>(B(),n("tspan",{key:`${A.annotation.id}-${t}`,x:Q(A).x+Q(A).width/2,dy:0===t?0:b(16)},x(e),9,Vn))),128))],12,Hn)],8,Wn)],44,Un))),128))],2)):i("",!0)}}),Pn=(e,A)=>{const t=e.__vccOpts||e;for(const[i,n]of A)t[i]=n;return t},qn=/*#__PURE__*/Pn(zn,[["__scopeId","data-v-9a192dab"]]),Kn=/*#__PURE__*/Pn(/*@__PURE__*/l({__name:"WaveformAnnotationContextMenu",props:{visible:{type:Boolean},x:{},y:{},canEdit:{type:Boolean}},emits:["edit","delete","close"],setup(e,{emit:A}){const t=e,o=A;return(e,A)=>t.visible&&t.canEdit?(B(),n("div",{key:0,class:"waveform-annotation-context-menu",style:u({left:`${t.x}px`,top:`${t.y}px`}),role:"menu",onContextmenu:A[3]||(A[3]=J(()=>{},["prevent"]))},[a("button",{type:"button",role:"menuitem",onClick:A[0]||(A[0]=e=>o("edit"))},"编辑标注"),a("button",{type:"button",role:"menuitem",onClick:A[1]||(A[1]=e=>o("delete"))},"删除标注"),a("button",{type:"button",role:"menuitem",onClick:A[2]||(A[2]=e=>o("close"))},"取消")],36)):i("",!0)}}),[["__scopeId","data-v-c70c98a1"]]);function _n(e){throw new TypeError(`Invalid waveform annotation file: ${e}`)}function $n(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)}function ea(e,A,t){const i=e[A];return"string"==typeof i&&0!==i.trim().length||_n(`${t}.${A} must be a non-empty string`),i}function Aa(e,A,t){const i=e[A];if(void 0!==i)return"string"!=typeof i&&_n(`${t}.${A} must be a string`),i}function ta(e,A,t){const i=e[A];return"number"==typeof i&&Number.isFinite(i)||_n(`${t}.${A} must be a finite number`),i}function ia(e,A,t){const i=e[A];if(void 0!==i)return"number"==typeof i&&Number.isFinite(i)||_n(`${t}.${A} must be a finite number`),i}function na(e,A){const t=`annotations[${A}]`;$n(e)||_n(`${t} must be an object`);const i=ea(e,"text",t);i.length>40&&_n(`${t}.text must not exceed 40 characters`);const n=ia(e,"labelOffsetX",t),a=ia(e,"labelOffsetY",t),o=Aa(e,"createdAt",t),r=function(e,A){if(void 0===e)return;$n(e)||_n(`${A} must be an object`);const t=Aa(e,"borderColor",A),i=Aa(e,"textColor",A),n=Aa(e,"backgroundColor",A);return{...void 0!==t&&{borderColor:t},...void 0!==i&&{textColor:i},...void 0!==n&&{backgroundColor:n}}}(e.style,`${t}.style`);return{id:ea(e,"id",t),seriesId:ea(e,"seriesId",t),x:ta(e,"x",t),y:ta(e,"y",t),text:i,...void 0!==n&&{labelOffsetX:n},...void 0!==a&&{labelOffsetY:a},...void 0!==r&&{style:r},...void 0!==o&&{createdAt:o}}}function aa(e){const A=e.map(na),t=/* @__PURE__ */new Set;return A.forEach((e,A)=>{t.has(e.id)&&_n(`annotations[${A}].id must be unique`),t.add(e.id)}),A}function oa(e){return JSON.stringify({version:1,annotations:aa(e)},null,2)}function ra(e){let A;"string"!=typeof e&&_n("input must be a JSON string");try{A=JSON.parse(e)}catch{_n("input is not valid JSON")}return $n(A)||_n("root must be an object"),1!==A.version&&_n("version must be 1"),Array.isArray(A.annotations)||_n("annotations must be an array"),aa(A.annotations)}var sa=0;function la(){return sa+=1,"undefined"!=typeof crypto&&"function"==typeof crypto.randomUUID?crypto.randomUUID():`annotation-${Date.now()}-${sa}`}function ga(e,A){try{e?.releasePointerCapture?.(A)}catch{}}function ca(e,A){return{...e,...A}}function Ia(e){return{state:e,accepted:!1,completed:null}}function da(e,A){switch(A.type){case"begin":return e?Ia(e):{state:(t=A.gesture,{...t,currentX:t.startX,currentY:t.startY,xDomain:[...t.xDomain],yDomains:Object.fromEntries(Object.entries(t.yDomains).map(([e,A])=>[e,[...A]]))}),accepted:!0,completed:null};case"move":return e&&e.pointerId===A.pointerId?{state:ca(e,A.position),accepted:!0,completed:null}:Ia(e);case"finish":return e&&e.pointerId===A.pointerId?{state:null,accepted:!0,completed:ca(e,A.position)}:Ia(e);case"cancel":return!e||void 0!==A.pointerId&&e.pointerId!==A.pointerId?Ia(e):{state:null,accepted:!0,completed:null};case"reset":return{state:null,accepted:!0,completed:null}}var t}function ua(e){return(A,t)=>{if(Number.isFinite(A[0])&&Number.isFinite(A[1])&&A[0]!==A[1]){if(e.cancelPendingZoom(),e.cancelViewportDrag(),"independent"===e.props.displayMode){const i=void 0===t?e.trackLayouts.value.map(e=>e.index):[t],n=[...e.independentTransforms.value];i.forEach(t=>{const i=e.trackLayouts.value.find(e=>e.index===t);if(!i)return;const a=e.resolveInitialTrackDomain(i),o=Jn(A,a,[i.seriesList],e.props);n[t]=Fn(o,a,i.width)}),e.independentTransforms.value=n}else{const t=e.initialXDomain.value,i=Jn(A,t,e.trackLayouts.value.filter(e=>e.hasVisibleSeries).map(e=>e.seriesList),e.props);e.sharedTransform.value=Fn(i,t,e.innerWidth.value)}e.clearHover(),e.editorSeriesOptions.value=[],I(e.configureZoom)}}}function ha(e){return[...e].sort().join("\0")}function Ca(e,A){const t=ha(A);return e.find(e=>ha(e.seriesList.map(e=>e.id))===t)}function ma(){let e=null,A=null;return{schedule:function(t){A=t,null===e&&(e=requestAnimationFrame(()=>{e=null;const t=A;A=null,t?.()}))},cancel:function(){A=null,null!==e&&(cancelAnimationFrame(e),e=null)},flush:function(){null!==e&&(cancelAnimationFrame(e),e=null);const t=A;A=null,t?.()},isPending:function(){return null!==e}}}function Qa(e,A=!1){return XA(e,A).map(({source:e,...A})=>{const t=e.metrics(A.errorBar.visible);return{...A,source:e,points:RA(e),xDomain:pi(Number.isFinite(t.xMinimum)?[t.xMinimum,t.xMaximum]:[]),yDomain:pi(Number.isFinite(t.yMinimum)?[t.yMinimum,t.yMaximum]:[]),rawYMaximum:Number.isFinite(t.yMaximum)?t.yMaximum:void 0,rawYMinimum:Number.isFinite(t.yMinimum)?t.yMinimum:void 0,hasErrorPoints:t.hasErrorPoints}})}function Ba(e){const{props:t,preparedSeries:i,currentPage:n,hiddenSeriesIdSet:a,chartWidth:o,innerHeight:r,isCleanView:s,sharedTransform:l,independentTransforms:g,sharedYDomains:c,independentYDomains:I,annotationInteraction:d,linePointOverrides:u}=e,h=t.timeUnit,C=()=>({integerZoom:t.integerZoom,timeUnit:h}),m=A(()=>i.value.map((e,A)=>({...e,color:e.color??(0===A?t.lineColor:vA[A%vA.length])}))),Q=A(()=>ci(t.grid)),B=A(()=>{const e=/* @__PURE__ */new Map;m.value.forEach(A=>{const t=A.trackId||A.id,i=e.get(t);i?i.push(A):e.set(t,[A])});const A=Q.value.trackOrder??[];return[...A,...Array.from(e.keys()).filter(e=>!A.includes(e))].map(A=>{const t=e.get(A)??[],i=t.filter(e=>!a.value.has(e.id)),n=[],o=[];return(i.length?i:t).forEach(e=>{n.push(e.xDomain[0],e.xDomain[1]),o.push(e.yDomain[0],e.yDomain[1])}),{id:A,series:t,visibleSeries:i,xDomain:n.length?pi(n):[0,1],yDomain:o.length?pi(o):[0,1]}})}),E=A(()=>"channel-label-or-legend"===t.unitDisplayMode||"legend-single-series"===t.unitDisplayMode&&!B.value.some(e=>e.series.length>1)),p=A(()=>at(t.rendering)),f=A(()=>{return e=B.value,Q.value.hideEmptyTracks?e.filter(e=>e.series.length>0):e;var e}),y=A(()=>di(f.value.length,Q.value)),v=A(()=>function(e,A,t){const i=di(e.length,t),n=(Math.min(i,Math.max(1,Math.floor(A)))-1)*Ii(t);return e.slice(n,n+Ii(t))}(f.value,n.value,Q.value)),w=A(()=>"channel-label-or-legend"===t.unitDisplayMode&&v.value.some(e=>e.series.length>1)),x=A(()=>{const e=v.value.filter(e=>e.series.length>0);return Q.value.fillIncompleteLastRow&&e.length>0?e:v.value}),k=A(()=>an(r.value,t.axes?.y?.splitNumber)),b=A(()=>function(e,A,t,i){return"independent"!==e?t:Object.fromEntries(A.flatMap((e,A)=>{const t=i[A];return t?[[e.id,t]]:[]}))}(t.displayMode,B.value,c.value,I.value)),{yAxisMetrics:M,yAxisSlots:D,resolvedChartLeftMargin:F,innerWidth:G,yAxisLayout:Y,hasVisibleWaveformData:S}=function(e){const{props:t,chartTracks:i,layoutTracks:n,chartWidth:a,gridOptions:o,viewportYDomains:r,yAxisTickCount:s}=e,l=A(()=>"edge-compact"===t.layoutPreset),g=A(()=>"channel-label"!==t.unitDisplayMode&&"channel-label-or-legend"!==t.unitDisplayMode&&(!l.value||"axis"===t.unitDisplayMode)),c=A(()=>function(e,A,t,i,n,a,o,r,s,l=!0,g,c){const I=Oi("object"==typeof s?s.labelTextStyle:void 0),d=e.filter(e=>e.series.length>0).flatMap(e=>gn(e,A,t,i,n,s,c)).map(e=>cn(e.domain,a,void 0,l?e.seriesList[0]?.unit:void 0,o,r,g,e.maximumTick,e.minimumTick,e.amplitudeLimit)),u=Math.max(7,...d.map(e=>e.tickTextWidth)),h=Math.max(7,...d.map(e=>e.titleTextWidth)),C=-(7+h+0+I/2);return{tickClearance:u+7+4,fullClearance:Math.max(u,h+0+I)+7+4,labelCenterX:C}}(i.value,t.overlayMode,t.yDomain,t.yDomains,r.value,!1!==t.axes?.y?.nice,s.value,"compact"===t.displayMode,t.axes?.y,g.value,l.value?zi:void 0,t.amplitudeLimits)),I=A(()=>i.value.some(e=>{const A=e.visibleSeries.length?e.visibleSeries:e.series;return 1===A.length&&Boolean(A[0]?.name.trim()||t.yLabel)})),d=A(()=>i.value.some(e=>e.visibleSeries.length>0)),u=A(()=>i.value.some(e=>e.series.length>0)),h=A(()=>Math.max(yA.left,I.value?c.value.fullClearance:u.value?c.value.tickClearance:0)),C=A(()=>function(e,A,t,i,n,a=!0,o=!1,r,s,l=!0,g,c){const I=Oi("object"==typeof s?s.labelTextStyle:void 0),d=/* @__PURE__ */new Map,u=/* @__PURE__ */new Map;e.forEach(e=>{const I={left:0,right:0};gn(e,A,t,i,r,s,c).forEach(e=>{const A=I[e.side]++,t=`${e.side}:${A}`,{tickTextWidth:i,titleTextWidth:r}=cn(e.domain,a,void 0,l?e.seriesList[0]?.unit:void 0,n,o,g,e.maximumTick,e.minimumTick,e.amplitudeLimit);d.set(t,Math.max(d.get(t)??nn,i)),u.set(t,Math.max(u.get(t)??nn,r))})});const h=[],C={left:0,right:0};return["left","right"].forEach(e=>{Array.from(d.keys()).filter(A=>A.startsWith(`${e}:`)).map(A=>Number(A.slice(e.length+1))).sort((e,A)=>e-A).forEach(A=>{const t=d.get(`${e}:${A}`)??nn,i=u.get(`${e}:${A}`)??nn,n="left"===e&&C.left>0?-C.left:C[e],a=n+(i+7+0+I/2)*("left"===e?-1:1),o=Math.max(t,i+0+I)+7+4;h.push({side:e,sideIndex:A,axisOffset:n,labelOffset:a,clearance:o}),C[e]+=o})}),{slots:h,clearance:C}}(n.value.filter(e=>e.series.length>0),t.overlayMode,t.yDomain,t.yDomains,s.value,!1!==t.axes?.y?.nice,"compact"===t.displayMode,r.value,t.axes?.y,g.value,l.value?zi:void 0,t.amplitudeLimits)),m=A(()=>l.value?yA.right/4+Math.max(0,Q.value-4):"multi-axis"===t.overlayMode?Math.max(h.value,C.value.clearance.left):h.value),Q=A(()=>u.value?"multi-axis"===t.overlayMode||I.value?C.value.clearance.left:c.value.tickClearance:0),B=A(()=>"multi-axis"===t.overlayMode?Math.max(yA.right,C.value.clearance.right):yA.right),E=A(()=>Math.max(0,a.value-m.value-B.value));return{yAxisMetrics:c,yAxisSlots:C,resolvedChartLeftMargin:m,innerWidth:E,yAxisLayout:A(()=>{const e=ui(t.displayMode),A=o.value.columnCount,i=A>1,n=Math.max(e,l.value?C.value.clearance.left:c.value.fullClearance),a=Math.max(e,c.value.tickClearance),r=(E.value-n*Math.max(0,A-1))/A>=120;return{horizontalGap:"multi-axis"===t.overlayMode&&i&&u.value?Math.max(e,C.value.clearance.left+C.value.clearance.right):i&&u.value?I.value&&r?n:a:e,hideSecondaryLabels:"multi-axis"!==t.overlayMode&&i&&I.value&&!r}}),hasVisibleWaveformData:d}}({props:t,chartTracks:B,layoutTracks:x,chartWidth:o,gridOptions:Q,viewportYDomains:b,yAxisTickCount:k}),J=A(()=>m.value.length>0),R=A(()=>m.value.some(e=>(e.source?.length??e.points.length)>0)),T=A(()=>G.value>0&&r.value>0),Z=A(()=>t.xLabel??`时间(${t.timeUnit})`),U=A(()=>t.interactionMode),L=A(()=>"zoom"===U.value),j=A(()=>{const e=[];return(B.value.some(e=>e.visibleSeries.length)?B.value.filter(e=>e.visibleSeries.length):B.value.filter(e=>e.series.length)).forEach(A=>{e.push(A.xDomain[0],A.xDomain[1])}),pi(e)}),O=A(()=>{const e=t.initialXDomain;return e&&Number.isFinite(e[0])&&Number.isFinite(e[1])&&e[0]!==e[1]?An(Hi(e[0]<e[1]?e:[e[1],e[0]],t.xDomainStrategy,!0),C()):An(Hi(j.value,t.xDomainStrategy),C())}),W=e=>{const A=t.initialXDomains?.[e.series?.trackId??e.series?.id??e.id]??(e.series?t.initialXDomains?.[e.series.id]:void 0)??t.initialXDomain;return A&&Number.isFinite(A[0])&&Number.isFinite(A[1])&&A[0]!==A[1]?An(Hi(A[0]<A[1]?A:[A[1],A[0]],t.xDomainStrategy,!0),C()):An(Hi(pi(e.seriesList.flatMap(e=>e.xDomain)),t.xDomainStrategy),C())},X=A(()=>("independent"!==t.displayMode?e.boundaries?.value.shared:void 0)??O.value),H=A(()=>tn(l.value.rescaleX(fe(X.value,[0,G.value])).domain(),t)),V=A(()=>function(e,A,t,i,n=[],a,o=!0,r=!1){const s=Ii(t),l=n.filter(Boolean).length,g=t.fillIncompleteLastRow&&l>0&&l<s,c=g?Math.ceil(l/t.columnCount):t.rowCount,I=ui(i),d=Number.isFinite(a)?Math.max(0,a):I,u=/* @__PURE__ */new Set;if(o)if("independent"===i)for(let B=0;B<c;B+=1)u.add(B);else if("compact"===i)u.add(c-1);else for(let B=0;B<t.columnCount;B+=1)for(let e=Ii(t)-1;e>=0;e-=1)if(e%t.columnCount===B&&n[e]){u.add(Math.floor(e/t.columnCount));break}const h=Math.max(0,c-1)*I,C=r&&u.has(c-1)?30:0,m=30*u.size-C,Q=Math.max(1,(A-h-m)/c);return Array.from({length:g?l:s},(A,i)=>{const n=Math.floor(i/t.columnCount),a=i%t.columnCount,o=g&&n===c-1?l-n*t.columnCount:t.columnCount,r=Math.max(0,o-1)*d,s=Math.max(1,(e-r)/o),h=u.has(n)?30:0,C=Q+h,m=Array.from({length:n},(e,A)=>{const t=u.has(A)?30:0;return Q+t+I}).reduce((e,A)=>e+A,0);return{slotIndex:i,row:n,column:a,left:a*(s+d),top:m,width:s,height:Q,plotHeight:Q,cellHeight:C,xAxisBand:h,isLastRow:n===c-1}})}(G.value,r.value,Q.value,t.displayMode,x.value.map(e=>"edge-compact"===t.layoutPreset?e.series.length>0:Boolean(e)),Y.value.horizontalGap,!0,"edge-compact"===t.layoutPreset&&!s.value).map((e,A)=>({...e,series:x.value[A]}))),z=A(()=>function(e){const A=e.cells.map(A=>({...A,hasSeries:e.useNonEmptyBottomTracks?Boolean(A.series?.series.length):Boolean(A.series)})),t=function(e,A){const t=/* @__PURE__ */new Set;for(let i=0;i<A;i+=1)for(let A=e.length-1;A>=0;A-=1){const n=e[A];if(n.column===i&&n.hasSeries){t.add(n.slotIndex);break}}return t}(A,e.grid.columnCount),i=A.flatMap((A,i)=>{const n=!A.series||0===A.series.series.length;if(!A.series&&!e.showEmptyTracks)return[];const a=A.series??{id:`empty-grid-slot-${A.slotIndex}`,series:[],visibleSeries:[],xDomain:e.initialXDomain??e.sharedZoomDomain,yDomain:[0,1]},o=!n&&a.visibleSeries.length>0,r=a.visibleSeries[0]??a.series[0]??null,s="independent"===e.displayMode?fe(function(e,A,t){if(t.effectiveXDomains?.[e.id])return t.effectiveXDomains[e.id];const i=t.xDomainStrategy??{type:"data"},n=t.initialXDomains?.[e.id]??t.initialXDomains?.[A]??t.initialXDomain;return An(n?Hi(n,i,!0):Hi(e.xDomain,i),{integerZoom:t.integerZoom,timeUnit:t.domainTimeUnit??t.timeUnit})}(a,r?.id??a.id,e),[0,A.width]):fe(e.sharedZoomDomain,[0,A.width]),l=("independent"===e.displayMode?e.independentTransforms[i]??De:De).rescaleX(s);l.domain(tn(l.domain(),e));const g=gn(a,e.overlayMode,e.fixedYDomain,e.fixedYDomains,e.yDomains,e.yAxisPadding??e.yAxisUpperPaddingRatio,e.amplitudeLimits),c={left:0,right:0},I={left:0,right:0},d=g.map(t=>{const i=c[t.side]++,n=an(A.plotHeight,e.yAxisSplitNumber),a=Ui(t.domain,n,!1!==e.yAxisNice,t.amplitudeLimit),o=fe(a.domain,[A.plotHeight,0]),r=a.values,s=void 0!==t.maximumTick&&t.maximumTick>=a.domain[0]&&t.maximumTick<=a.domain[1]?t.maximumTick:void 0,l=void 0!==t.minimumTick&&t.minimumTick>=a.domain[0]&&t.minimumTick<=a.domain[1]?t.minimumTick:void 0,g=Bi(r,s,l),{tickTextWidth:d,titleTextWidth:u}=cn(o.domain(),!1,g,!1!==e.showAxisUnits?t.seriesList[0]?.unit:void 0,n),h=Math.max(d,u+0+Oi(e.yAxisPadding?.labelTextStyle))+7+4,C=e.yAxisSlots?.find(e=>e.side===t.side&&e.sideIndex===i),m=C?("left"===t.side?0:A.width)+C.axisOffset:"left"===t.side?-I.left:A.width+I.right,Q=u+7+0+Oi(e.yAxisPadding?.labelTextStyle)/2,B=(C?("left"===t.side?0:A.width)+C.labelOffset:m+("left"===t.side?-Q:Q))-("right"!==t.side||e.compactYAxisLayout?0:10);return C||(I[t.side]+=h),{index:t.index,side:t.side,x:m,labelX:B,scale:o,maximumTick:s,minimumTick:l,majorTicks:r,minorTicks:fi(r,2),tickValues:g,seriesList:t.seriesList}}),u=fe(a.yDomain,[A.plotHeight,0]);!1!==e.yAxisNice&&u.nice();const h=d[0]?.scale??u,C=function(e,A,t){if(!t.integerZoom)return qi(e,A);const i="s"===t.timeUnit?1:1e3,n=function(e,A){return en(e,A).some(e=>!Number.isInteger(e))}(e,t);return qi(e.map(e=>e*i),A,n?0:1).filter(e=>n||Number.isInteger(e)).map(e=>e/i)}(l.domain(),Math.max(2,Math.floor(A.width/100)),e),m=e.xAxisLabelFormatter,Q=d[0]?.majorTicks??(n?u.ticks(an(A.plotHeight,e.yAxisSplitNumber)):[]),B=d[0]?.tickValues??[],E=l.domain(),p={start:Ni(E[0],E,e.timeUnit,"start",m),end:Ni(E[1],E,e.timeUnit,"end",m)},f=7*p.start.length+10,y=7*p.end.length+10,v=C.filter(e=>{const t=l(e);return t>f&&t<A.width-y}),w=a.visibleSeries.map(t=>{const i=d.find(e=>e.seriesList.some(e=>e.id===t.id)),a=i?.scale??h,o=function(e,A,t,i,n){if(!e.length||t<=0)return{linePoints:[],pointRenderPoints:[],errorBarRenderPoints:[]};const a=e.visibleRange(A),o=n.lineVisible?n.linePointOverride??(r=a.end-a.start,"wasm"===(s=i).sampling.mode||"auto"===s.sampling.mode&&r>s.sampling.autoThreshold?function(e,A,t,i){const{start:n,end:a}=A,o=a-n,r=i.sampling.maxPointCount??Math.max(1,Math.floor(t*i.sampling.maxPointsPerPixel));return zA(o<=r||"none"===i.sampling.strategy?e.pointsInRange(n,a):Array.from({length:r},(A,t)=>e.pointAt(n+(1===r?0:Math.round(t*(o-1)/(r-1))))),A,e.length,A=>e.pointAt(A))}(e,a,t,i):st(e,a,A,t,i)):[];var r,s;const l=n.errorBarVisible&&n.hasErrorPoints;if(n.pointVisible&&l){const n=gt(e,a,A,t,Math.max(i.pointMinSpacing,i.errorBarMinSpacing),i.downsample,rt,ct);return{linePoints:o,pointRenderPoints:n,errorBarRenderPoints:n.filter(ct)}}return{linePoints:o,pointRenderPoints:n.pointVisible?gt(e,a,A,t,i.pointMinSpacing,i.downsample,rt):[],errorBarRenderPoints:l?gt(e,a,A,t,i.errorBarMinSpacing,i.downsample,ct):[]}}(t.source??JA(t.points),E,A.width,e.rendering,{lineVisible:!n&&"none"!==t.lineType,linePointOverride:e.linePointOverrides?.[t.id],pointVisible:"none"!==t.pointType,errorBarVisible:t.errorBar.visible,hasErrorPoints:t.hasErrorPoints});return{series:t,path:Tt(o.linePoints,t.lineType,l,a),lineRenderPoints:o.linePoints,pointRenderPoints:o.pointRenderPoints,errorBarRenderPoints:o.errorBarRenderPoints,yScale:a,yAxisIndex:i?.index??0}});return{id:a.id,index:i,series:r,seriesList:a.visibleSeries,legendSeries:a.series,isEmpty:n,hasVisibleSeries:o,column:A.column,showYAxisLabel:!e.hideSecondaryLabels||0===A.column,yAxisLabelX:e.yAxisLabelX,left:A.left,top:A.top,width:A.width,height:A.plotHeight,xScale:l,yScale:h,yAxes:d,xMajorTicks:C,xAxisLabelFormatter:m,xMinorTicks:fi(C,3,E),yMajorTicks:Q,yMinorTicks:d[0]?.minorTicks??(n?fi(Q,2):[]),yAxisTickValues:B,xAxisTickValues:v,endpointLabels:p,path:w[0]?.path??null,seriesPaths:w,gridLines:e.grid.trackLines[a.id]??{horizontal:!0,vertical:!0},showXAxis:"independent"===e.displayMode||("compact"===e.displayMode?A.isLastRow??A.row===e.grid.rowCount-1:t.has(A.slotIndex))}});return function(e,A,t={}){const i=/* @__PURE__ */new Map;for(const n of e){let e=0;for(const A of n.yAxes){if("left"!==A.side)continue;const a=`${n.column}:${e++}`,o=Vi(A,t);i.set(a,Math.max(i.get(a)??0,o))}}for(const n of e){let e=0;for(const A of n.yAxes)"left"===A.side&&(A.labelX=A.x-i.get(`${n.column}:${e++}`))}}(i,e.yLabel,{labelTextStyle:e.yAxisPadding?.labelTextStyle,showUnits:e.showAxisUnits,compact:e.compactYAxisLayout,measureTextWidth:e.compactYAxisLayout?zi:void 0}),i}({cells:V.value,grid:Q.value,useNonEmptyBottomTracks:"edge-compact"===t.layoutPreset,compactYAxisLayout:"edge-compact"===t.layoutPreset,showAxisUnits:"channel-label"!==t.unitDisplayMode&&"channel-label-or-legend"!==t.unitDisplayMode&&("edge-compact"!==t.layoutPreset||"axis"===t.unitDisplayMode),displayMode:t.displayMode,overlayMode:t.overlayMode,independentTransforms:g.value,sharedZoomDomain:H.value,initialXDomain:t.initialXDomain?X.value:void 0,initialXDomains:t.initialXDomains,effectiveXDomains:e.boundaries?.value,xDomainStrategy:t.xDomainStrategy,integerZoom:t.integerZoom,amplitudeLimits:t.amplitudeLimits,fixedYDomain:t.yDomain,fixedYDomains:t.yDomains,yDomains:b.value,timeUnit:t.timeUnit,domainTimeUnit:h,xAxisLabelFormatter:t.axes?.x?.labelFormatter,yAxisSplitNumber:t.axes?.y?.splitNumber,yAxisNice:t.axes?.y?.nice,yAxisPadding:t.axes?.y,rendering:p.value,linePointOverrides:u?.value,hideSecondaryLabels:s.value||Y.value.hideSecondaryLabels,yLabel:t.yLabel,yAxisLabelX:D.value.slots.find(e=>"left"===e.side&&0===e.sideIndex)?.labelOffset??M.value.labelCenterX,yAxisSlots:D.value.slots,showEmptyTracks:J.value}));!function(e,A,i,n,a){const o=(e,A,t)=>A>0&&t>0?e.translate((t/A-1)*e.x/e.k,0):e;N(()=>({visible:2*Number(!1!==t.axes?.y?.maximumTickVisible)+Number(!1!==t.axes?.y?.minimumTickVisible),width:A.value,tracks:i.value.map(e=>({id:e.id,index:e.index,width:e.width}))}),(e,A)=>{if(e.visible===A.visible)return;n.value=o(n.value,A.width,e.width);const t=[...a.value];e.tracks.forEach(e=>{const i=A.tracks.find(A=>A.id===e.id),n=t[e.index];i&&n&&(t[e.index]=o(n,i.width,e.width))}),a.value=t})}(0,G,z,l,g);const P=e=>e.seriesList.map(A=>({...e,series:A,yScale:e.seriesPaths.find(e=>e.series.id===A.id)?.yScale??e.yScale})),q=A(()=>z.value.flatMap(P));return{chartSeries:m,chartTracks:B,showLegendUnits:E,hideYAxisTitles:w,pageableTracks:f,renderingOptions:p,gridOptions:Q,pageCount:y,pagedTracks:v,resolvedChartLeftMargin:F,innerWidth:G,hasVisibleWaveformData:S,hasWaveformData:J,hasWaveformSamples:R,hasChartArea:T,resolvedXLabel:Z,activeInteractionMode:U,isZoomMode:L,initialXDomain:X,originalXDomain:O,resolveOriginalTrackDomain:W,sharedZoomDomain:H,resolveInitialTrackDomain:A=>e.boundaries?.value[A.id]??W(A),gridCells:V,trackLayouts:z,annotationLayoutsForTrack:P,resolveSeriesYScale:(e,A)=>e.seriesPaths.find(e=>e.series.id===A)?.yScale??e.yScale,annotationTrackLayouts:q,renderedAnnotations:A(()=>t.annotationsVisible?oi(t.annotations,q.value,G.value,r.value):[]),editorSeries:A(()=>{const e=d.editorDraft.value?.annotation.seriesId,A=m.value.find(A=>A.id===e);return A?{id:A.id,name:A.name.trim()||A.id,color:A.color,unit:A.unit}:void 0}),resolveFrameNumber:(K=()=>t.frameNumber,_=()=>t.frameNumbers,$=()=>B.value,(e,A=0)=>{const t=$(),i=t.findIndex(A=>A.id===e);return((e,A,t,i,n)=>{const a=A?.[n];return void 0!==a?a:void 0!==e?1===t?e:"number"==typeof e?e+i:`${e}-${i+1}`:void 0})(K(),_(),Math.max(t.length,A+1),i>=0?i:A,e)})};var K,_,$}var Ea=1e-6;function pa(e){return Number.isFinite(e)?Math.max(1,e):1}function fa(e,A){return 0===A?0:Number.isFinite(e)?Math.min(A,Math.max(1,Math.floor(e))):A}function ya(e,A,t,i){const n=i-t;return{start:t+Math.floor(e*n/A),end:t+Math.floor((e+1)*n/A)}}function va(e,A){e[e.length-1]!==A&&e.push(A)}function wa(e,A,t){if(e<=A)return Array.from({length:e},(e,A)=>A);if(1===A)return[0];if(2===A)return[0,e-1];const i=[0];return t().forEach(e=>va(i,e)),va(i,e-1),i}var xa={kind:"javascript",sample:e=>function(e,A,t,i){if(e.length!==A.length)throw new Error("x and y must have the same length");if("average"===t||"sum"===t)return function(e,A,t,i){const n=fa(t,e.length),a=new Float64Array(n),o=new Float64Array(n);for(let r=0;r<n;r+=1){const t=ya(r,n,0,e.length);for(let i=t.start;i<t.end;i+=1)a[r]+=e[i],o[r]+=A[i];const s=t.end-t.start;a[r]/=s,"average"===i&&(o[r]/=s)}return{kind:"aggregates",x:a,y:o}}(e,A,i,t);const n=fa(i,e.length),a="none"===t||e.length<=n?Array.from({length:e.length},(e,A)=>A):"peak"===t?function(e,A){const t=Math.floor((A-2)/4);return wa(e.length,A,()=>{if(!t)return[];const A=[];for(let i=0;i<t;i+=1){const n=ya(i,t,1,e.length-1);let a=n.start,o=n.start;for(let A=n.start+1;A<n.end;A+=1)e[A]<e[a]&&(a=A),e[A]>e[o]&&(o=A);[n.start,a,o,n.end-1].sort((e,A)=>e-A).forEach(e=>va(A,e))}return A})}(A,n):"lttb"===t?function(e,A,t){return wa(e.length,t,()=>{const i=(e.length-2)/(t-2),n=[];let a=0;for(let o=0;o<t-2;o+=1){const r=Math.min(e.length,Math.floor((o+1)*i)+1),s=Math.min(e.length,Math.floor((o+2)*i)+1);let l=0,g=0;for(let t=r;t<s;t+=1)l+=e[t],g+=A[t];const c=s-r;c?(l/=c,g/=c):(l=e[e.length-1],g=A[A.length-1]);const I=ya(o,t-2,1,e.length-1);let d=I.start,u=-1;for(let t=I.start;t<I.end;t+=1){const i=Math.abs((e[a]-l)*(A[t]-A[a])-(e[a]-e[t])*(g-A[a]));i>u&&(u=i,d=t)}n.push(d),a=d}return n})}(e,A,n):function(e,A,t){const i="minmax"===t?Math.floor((A-2)/2):Math.max(0,A-2);return wa(e.length,A,()=>{if(!i)return[];const A=[];for(let n=0;n<i;n+=1){const a=ya(n,i,1,e.length-1);let o=a.start,r=a.start;for(let A=a.start+1;A<a.end;A+=1)e[A]<e[o]&&(o=A),e[A]>e[r]&&(r=A);"min"===t?va(A,o):"max"===t?va(A,r):o<=r?(va(A,o),va(A,r)):(va(A,r),va(A,o))}return A})}(A,n,t);return{kind:"source-indexes",sourceIndexes:Uint32Array.from(a)}}(e.x,e.y,e.strategy,e.targetPointCount)};function ka(e,A,t,i){const n=i-t;return{start:t+Math.floor(e*n/A),end:t+Math.floor((e+1)*n/A)}}function ba(e,A){e[e.length-1]!==A&&e.push(A)}function Ma(e){return"minimumIndexes"in e?e.minimumIndexes.byteLength+e.maximumIndexes.byteLength:e.x.byteLength+e.y.byteLength+e.count.byteLength}function Da(e,A){let t=1;for(;2*t<=A&&e%(2*t)==0;)t*=2;return t}var Na=class{points;extremaLayers=[];sumLayers=[];indexBytes=0;maxBytes;constructor(e,A={}){this.points=e,this.maxBytes=Number.isFinite(A.maxBytes)?Math.max(0,Math.floor(A.maxBytes??0)):8388608}get byteLength(){return this.indexBytes}dispose(){this.extremaLayers.length=0,this.sumLayers.length=0,this.indexBytes=0}sample(e,A,t,i){const n=Math.max(0,Math.min(this.points.length,Math.floor(e))),a=Math.max(n,Math.min(this.points.length,Math.floor(A))),o=a-n,r=(s=i,0===(l=o)?0:Number.isFinite(s)?Math.min(l,Math.max(1,Math.floor(s))):l);var s,l;if("lttb"!==t)return"average"===t||"sum"===t?this.aggregate(n,a,r,t):"none"===t||o<=r?this.allIndexes(n,a):1===r?this.indexes([n]):2===r?this.indexes([n,a-1]):this.extrema(n,a,r,t)}allIndexes(e,A){return{kind:"source-indexes",sourceIndexes:Uint32Array.from({length:A-e},(A,t)=>e+t)}}indexes(e){return{kind:"source-indexes",sourceIndexes:Uint32Array.from(e)}}extrema(e,A,t,i){const n="peak"===i?Math.floor((t-2)/4):"minmax"===i?Math.floor((t-2)/2):Math.max(0,t-2);if(0===n)return this.indexes([e,A-1]);const a=[e];for(let o=0;o<n;o+=1){const t=ka(o,n,e+1,A-1),r=this.queryExtrema(t.start,t.end);if(!r)return;if("min"===i)ba(a,r.minimum);else if("max"===i)ba(a,r.maximum);else if("minmax"===i)r.minimum<=r.maximum?(ba(a,r.minimum),ba(a,r.maximum)):(ba(a,r.maximum),ba(a,r.minimum));else for(const e of[t.start,r.minimum,r.maximum,t.end-1].sort((e,A)=>e-A))ba(a,e)}return ba(a,A-1),this.indexes(a)}aggregate(e,A,t,i){const n=new Float64Array(t),a=new Float64Array(t);for(let o=0;o<t;o+=1){const r=ka(o,t,e,A),s=this.querySum(r.start,r.end);if(!s||0===s.count)return;n[o]=s.x/s.count,a[o]="average"===i?s.y/s.count:s.y}return{kind:"aggregates",x:n,y:a}}queryExtrema(e,A){const t=Math.floor(Math.log2(Math.max(1,A-e)));if(!this.ensureExtrema(t))return;let i=e,n=e;for(let a=e;a<A;){const e=Da(a,A-a),t=Math.floor(Math.log2(e)),o=a/e,r=this.extremaLayers[t],s=r?r.minimumIndexes[o]:a,l=r?r.maximumIndexes[o]:a;this.isMinimum(s,i)&&(i=s),this.isMaximum(l,n)&&(n=l),a+=e}return{minimum:i,maximum:n}}querySum(e,A){const t=Math.floor(Math.log2(Math.max(1,A-e)));if(!this.ensureSum(t))return;let i=0,n=0,a=0;for(let o=e;o<A;){const e=Da(o,A-o),t=Math.floor(Math.log2(e)),r=o/e,s=this.sumLayers[t];if(s)i+=s.x[r],n+=s.y[r],a+=s.count[r];else{const e=this.points[o];i+=e.x,n+=e.y,a+=1}o+=e}return{x:i,y:n,count:a}}ensureExtrema(e){for(let A=1;A<=e;A+=1){if(this.extremaLayers[A])continue;const e=Math.ceil(this.points.length/2**A),t={minimumIndexes:new Uint32Array(e),maximumIndexes:new Uint32Array(e)};if(!this.reserve(Ma(t)))return!1;const i=this.extremaLayers[A-1];for(let A=0;A<e;A+=1){const e=2*A,n=e+1,a=i?i.minimumIndexes[e]:e,o=i?i.maximumIndexes[e]:e,r=i?n<i.minimumIndexes.length:n<this.points.length,s=i&&r?i.minimumIndexes[n]:n,l=i&&r?i.maximumIndexes[n]:n;t.minimumIndexes[A]=r&&this.isMinimum(s,a)?s:a,t.maximumIndexes[A]=r&&this.isMaximum(l,o)?l:o}this.extremaLayers[A]=t}return!0}ensureSum(e){for(let A=1;A<=e;A+=1){if(this.sumLayers[A])continue;const e=Math.ceil(this.points.length/2**A),t={x:new Float64Array(e),y:new Float64Array(e),count:new Uint32Array(e)};if(!this.reserve(Ma(t)))return!1;const i=this.sumLayers[A-1];for(let A=0;A<e;A+=1){const e=2*A,n=e+1;if(i)t.x[A]=i.x[e]+(n<i.x.length?i.x[n]:0),t.y[A]=i.y[e]+(n<i.y.length?i.y[n]:0),t.count[A]=i.count[e]+(n<i.count.length?i.count[n]:0);else{const i=this.points[e],a=this.points[n];t.x[A]=i.x+(a?.x??0),t.y[A]=i.y+(a?.y??0),t.count[A]=a?2:1}}this.sumLayers[A]=t}return!0}reserve(e){return!(this.indexBytes+e>this.maxBytes||(this.indexBytes+=e,0))}isMinimum(e,A){const t=this.points[e],i=this.points[A];return t.y<i.y||t.y===i.y&&e<A}isMaximum(e,A){const t=this.points[e],i=this.points[A];return t.y>i.y||t.y===i.y&&e<A}},Fa=U(e=>e.x);function Ga(e,A){let t=Number.POSITIVE_INFINITY,i=Number.NEGATIVE_INFINITY,n=Number.POSITIVE_INFINITY,a=Number.NEGATIVE_INFINITY;for(const o of e)t=Math.min(t,o.x),i=Math.max(i,o.x),n=Math.min(n,o.y),a=Math.max(a,o.y);return{inputPointCount:A,validPointCount:e.length,xDomain:e.length?[t,i]:null,yDomain:e.length?[n,a]:null}}function Ya(e,A,t=e.length){let i=Number.POSITIVE_INFINITY,n=Number.NEGATIVE_INFINITY,a=Number.POSITIVE_INFINITY,o=Number.NEGATIVE_INFINITY;for(let r=0;r<e.length;r+=1)i=Math.min(i,e[r]),n=Math.max(n,e[r]),a=Math.min(a,A[r]),o=Math.max(o,A[r]);return{inputPointCount:t,validPointCount:e.length,xDomain:e.length?[i,n]:null,yDomain:e.length?[a,o]:null}}function Sa(e,A){return e?e.revision===A?"ok":"stale-revision":"not-found"}function Ja(e){return"auto"===e?"peak":e}function Ra(e,A){const t=e[0],i=e.at(-1);return Number.isFinite(A)&&t&&i&&A>=t.x&&A<=i.x?e[Fa.center(e,A)]:void 0}function Ta(e){return e?.y.length??0}function Za(e,A){return e.x?e.x[A]:e.sampleStartTime+(e.sampleSourceIndexes?.[A]??A)/e.sampleRate}function Ua(e,A){const t=(A,t)=>{let i=0,n=Ta(e);for(;i<n;){const a=i+Math.floor((n-i)/2);(t?Za(e,a)<=A:Za(e,a)<A)?i=a+1:n=a}return i},i=Math.min(A[0],A[1]),n=Math.max(A[0],A[1]);return{start:t(i,!1),end:t(n,!0)}}function La(e,A,t){return e.x?e.x.subarray(A,t):Float64Array.from({length:t-A},(t,i)=>Za(e,A+i))}function ja(e){return"wasm"===e?.kind&&"registerDataset"in e&&"disposeDataset"in e&&"disposeAllDatasets"in e&&"datasetIndexBytes"in e&&"registerSamples"in e&&"sampleDataset"in e}function Oa(e,A,t,i){if("typed"===A?.kind){const e=function(e,A){const t=Math.min(e.length,A.length);let i=e.length===A.length;for(let a=0;a<t&&i;a+=1)i=Number.isFinite(e[a])&&Number.isFinite(A[a])&&(0===a||e[a]>=e[a-1]);if(i)return{x:e.slice(),y:Float64Array.from(A)};const n=[];for(let a=0;a<t;a+=1)Number.isFinite(e[a])&&Number.isFinite(A[a])&&n.push(a);return n.sort((A,t)=>e[A]-e[t]||A-t),{x:Float64Array.from(n,A=>e[A]),y:Float64Array.from(n,e=>A[e])}}(A.x,A.y);return{x:e.x,y:e.y,revision:t,metrics:Ya(e.x,e.y,Math.max(A.x.length,A.y.length))}}if("samples"===A?.kind){if(!(Number.isFinite(A.sampleRate)&&A.sampleRate>0&&Number.isFinite(A.startTime))||A.sourceIndexes&&A.sourceIndexes.length!==A.values.length)return{y:/* @__PURE__ */new Float64Array,sampleStartTime:0,sampleRate:1,revision:t,metrics:{inputPointCount:A.values.length,validPointCount:0,xDomain:null,yDomain:null}};if(!A.sourceIndexes&&A.values.every(Number.isFinite)){const e=Float64Array.from(A.values);let i=1/0,n=-1/0;for(const A of e)i=Math.min(i,A),n=Math.max(n,A);return{y:e,sampleStartTime:A.startTime,sampleRate:A.sampleRate,revision:t,metrics:{inputPointCount:e.length,validPointCount:e.length,xDomain:e.length?[A.startTime,A.startTime+(e.length-1)/A.sampleRate]:null,yDomain:e.length?[i,n]:null}}}const e=Array.from({length:A.values.length},(e,A)=>A).filter(e=>Number.isFinite(A.values[e])),i=e=>A.sourceIndexes?.[e]??e;e.sort((e,A)=>i(e)-i(A)||e-A);const n=Float64Array.from(e,e=>A.values[e]),a=Uint32Array.from(e,i),o=e=>A.startTime+a[e]/A.sampleRate;let r=Number.POSITIVE_INFINITY,s=Number.NEGATIVE_INFINITY;for(const A of n)r=Math.min(r,A),s=Math.max(s,A);return{y:n,sampleStartTime:A.startTime,sampleRate:A.sampleRate,sampleSourceIndexes:a.length===A.values.length&&a.every((e,A)=>e===A)?void 0:a,revision:t,metrics:{inputPointCount:A.values.length,validPointCount:n.length,xDomain:n.length?[o(0),o(n.length-1)]:null,yDomain:n.length?[r,s]:null}}}const n=function(e){const A=[];let t=!0,i=Number.NEGATIVE_INFINITY;for(const n of e)Number.isFinite(n.x)&&Number.isFinite(n.y)&&(n.x<i&&(t=!1),i=n.x,A.push({x:n.x,y:n.y,...Number.isFinite(n.error)?{error:n.error}:{},...Number.isFinite(n.lowerError)?{lowerError:n.lowerError}:{},...Number.isFinite(n.upperError)?{upperError:n.upperError}:{}}));return t||A.sort((e,A)=>e.x-A.x),A}(e??A?.points??[]);return{x:Float64Array.from(n,e=>e.x),y:Float64Array.from(n,e=>e.y),points:n,revision:t,metrics:Ga(n,e?.length??A?.points.length??0),index:new Na(n,{maxBytes:i})}}function Wa(e,A,t){ja(e)&&void 0===A.wasmDatasetHandle&&(A.wasmDatasetHandle=A.x?e.registerDataset(A.x,A.y,t):e.registerSamples(A.y,A.sampleSourceIndexes,A.sampleStartTime,A.sampleRate,t),A.wasmIndexBytes=e.datasetIndexBytes(A.wasmDatasetHandle))}function Xa(e,A){A.index?.dispose(),void 0!==A.wasmDatasetHandle&&ja(e)&&e.disposeDataset(A.wasmDatasetHandle)}function Ha(e,A,t){const i=Ta(t);if(A.start===A.end&&(0===A.start||A.end===i))return e;const n=A.start>0?[A.start-1]:[],a=A.end<i?[A.end]:[];if("source-indexes"===e.kind){const A=Array.from(e.sourceIndexes);return{kind:"source-indexes",sourceIndexes:Uint32Array.from([...n,...A,...a])}}const o=Array.from(e.x),r=Array.from(e.y);return n.length&&(o.unshift(Za(t,n[0])),r.unshift(t.y[n[0]])),a.length&&(o.push(Za(t,a[0])),r.push(t.y[a[0]])),{kind:"aggregates",x:Float64Array.from(o),y:Float64Array.from(r)}}var Va=class{entries=/* @__PURE__ */new Map;bytes=0;maxEntries;maxBytes;constructor(e={}){this.maxEntries=Number.isFinite(e.maxEntries)?Math.max(0,Math.floor(e.maxEntries??0)):96,this.maxBytes=Number.isFinite(e.maxBytes)?Math.max(0,Math.floor(e.maxBytes??0)):16777216}get metrics(){return{entries:this.entries.size,bytes:this.bytes,maxEntries:this.maxEntries,maxBytes:this.maxBytes}}get(e){const A=this.entries.get(e);if(A)return this.entries.delete(e),this.entries.set(e,A),A.output}set(e,A){const t=function(e){return"source-indexes"===e.kind?e.sourceIndexes.byteLength:e.x.byteLength+e.y.byteLength}(A);if(t>this.maxBytes||0===this.maxEntries)return;const i=this.entries.get(e);for(i&&(this.bytes-=i.bytes,this.entries.delete(e)),this.entries.set(e,{output:A,bytes:t}),this.bytes+=t;this.entries.size>this.maxEntries||this.bytes>this.maxBytes;){const e=this.entries.entries().next().value;if(!e)break;const[A,t]=e;this.entries.delete(A),this.bytes-=t.bytes}}deleteDataset(e){const A=`${e}\0`;for(const[t,i]of this.entries)t.startsWith(A)&&(this.entries.delete(t),this.bytes-=i.bytes)}clear(){this.entries.clear(),this.bytes=0}},za=class{datasets=/* @__PURE__ */new Map;javascriptBackend;cache;indexMaxBytes;wasmBackend;constructor(e={}){this.javascriptBackend=e.javascriptBackend??xa,this.wasmBackend=e.wasmBackend,this.indexMaxBytes=e.indexMaxBytes,this.cache=new Va({maxEntries:e.cacheMaxEntries,maxBytes:e.cacheMaxBytes})}get resourceMetrics(){return{datasetCount:this.datasets.size,indexBytes:[...this.datasets.values()].reduce((e,A)=>e+(A.wasmIndexBytes??A.index?.byteLength??0),0),cache:this.cache.metrics}}setWasmBackend(e){this.wasmBackend&&this.wasmBackend!==e&&ja(this.wasmBackend)&&(this.wasmBackend.disposeAllDatasets(),this.datasets.forEach(e=>{e.wasmDatasetHandle=void 0,e.wasmIndexBytes=void 0})),this.wasmBackend=e,ja(e)&&this.datasets.forEach(A=>Wa(e,A,this.indexMaxBytes))}handle(e){switch(e.type){case"register-dataset":return this.register(e.datasetId,e.requestId,e.points,e.dataset);case"replace-dataset":return this.replace(e.datasetId,e.requestId,e.revision,e.points,e.dataset);case"sample-viewport":return this.sample(e);case"find-nearest-point":return this.findNearest(e.datasetId,e.requestId,e.revision,e.x);case"get-dataset-metrics":return this.metrics(e.datasetId,e.requestId,e.revision);case"dispose-dataset":return this.dispose(e.datasetId,e.requestId,e.revision);case"dispose-all":return this.disposeAll(e.requestId)}}register(e,A,t,i){const n=this.datasets.get(e);if(n)return this.datasetResponse(A,e,n,"stale-revision");const a=Oa(t,i,1,this.indexMaxBytes);return Wa(this.wasmBackend,a,this.indexMaxBytes),this.datasets.set(e,a),this.datasetResponse(A,e,a,"ok")}replace(e,A,t,i,n){const a=this.datasets.get(e),o=Sa(a,t);if("ok"!==o||!a)return this.datasetResponse(A,e,a,o);Xa(this.wasmBackend,a),this.cache.deleteDataset(e);const r=Oa(i,n,a.revision+1,this.indexMaxBytes);return Wa(this.wasmBackend,r,this.indexMaxBytes),this.datasets.set(e,r),this.datasetResponse(A,e,r,"ok")}sample(e){return{type:"sample-viewport-response",requestId:e.requestId,results:e.series.map(A=>this.sampleSeries(e.requestId,A))}}sampleSeries(e,A){const t=performance.now(),i=this.datasets.get(A.datasetId),n=Sa(i,A.revision);if("ok"!==n||!i)return this.sampleResponse(e,A,n,void 0,"unavailable","sampled",0,t,!1);const a=Ua(i,A.xDomain),o=a.end-a.start;if(function(e,A){if("raw"===e.mode)return!0;if("auto"!==e.mode)return!1;const t=Number.isFinite(e.autoThreshold)?Math.max(1,Math.floor(e.autoThreshold??0)):1e3;if(!e.previousSelectedMode)return A<=t;const i=Number.isFinite(e.autoHysteresis)?Math.max(0,Math.floor(e.autoHysteresis??0)):0;return"raw"===e.previousSelectedMode?A<=t+i:A<=Math.max(0,t-i)}(A,o))return this.sampleResponse(e,A,"ok",Ha({kind:"source-indexes",sourceIndexes:Uint32Array.from({length:o},(e,A)=>a.start+A)},a,i),"raw","raw",o,t,!1);const r="wasm"===A.mode||"auto"===A.mode&&this.wasmBackend?this.wasmBackend:this.javascriptBackend,s=!r&&"javascript"===A.wasmFailureFallback,l=r??(s?this.javascriptBackend:void 0);if(!l)return this.sampleResponse(e,A,"wasm-unavailable",void 0,"unavailable","sampled",o,t,!1);const g=Ja(A.strategy),c=function(e){if(Number.isFinite(e.maxPointCount)&&(e.maxPointCount??0)>=1)return Math.floor(e.maxPointCount);const A=Number.isFinite(e.plotWidth)?Math.max(0,e.plotWidth):0,t=Number.isFinite(e.maxPointsPerPixel)?Math.max(0,e.maxPointsPerPixel??0):4;return Math.max(1,Math.floor(A*t))}(A),I=function(e,A,t,i,n){return[e.datasetId,e.revision,A.start,A.end,e.plotWidth,i,e.maxPointsPerPixel,e.maxPointCount,e.mode,n,t,e.lineType??"linear",e.pointType??"none",!0===e.errorBarVisible?1:0,e.pointMinSpacing??0,e.errorBarMinSpacing??0].join("\0")}(A,a,g,c,l.kind),d=this.cache.get(I);if(d)return this.sampleResponse(e,A,s?"wasm-unavailable":"ok",d,l.kind,"sampled",o,t,!0);const u=Ha(("wasm"===l.kind?void 0!==i.wasmDatasetHandle&&ja(l)?l.sampleDataset(i.wasmDatasetHandle,a.start,a.end,g,c):void 0:i.index?.sample(a.start,a.end,g,c))??function(e,A){return"aggregates"===e.kind?e:{kind:"source-indexes",sourceIndexes:Uint32Array.from(e.sourceIndexes,e=>e+A)}}(l.sample({x:La(i,a.start,a.end),y:i.y.subarray(a.start,a.end),points:i.points?.slice(a.start,a.end)??[],strategy:g,targetPointCount:c}),a.start),a,i);return this.cache.set(I,u),void 0!==i.wasmDatasetHandle&&ja(l)&&(i.wasmIndexBytes=l.datasetIndexBytes(i.wasmDatasetHandle)),this.sampleResponse(e,A,s?"wasm-unavailable":"ok",u,l.kind,"sampled",o,t,!1)}sampleResponse(e,A,t,i,n,a,o,r,s){const l=function(e,A,t,i,n,a,o,r){return{seriesId:e.seriesId,datasetId:e.datasetId,mode:e.mode,selectedMode:n,backend:i,strategy:Ja(e.strategy),sourcePointCount:A,visiblePointCount:t,renderedPointCount:o,durationMs:a,cacheHit:r,requestId:0,revision:e.revision,rawPointLimitExceeded:"raw"===n&&Number.isFinite(e.rawPointLimit)&&t>(e.rawPointLimit??Number.POSITIVE_INFINITY),scheduledRequestCount:0,coalescedRequestCount:0,maxPendingRequestCount:0}}(A,Ta(this.datasets.get(A.datasetId)),o,n,a,performance.now()-r,function(e){return e?"source-indexes"===e.kind?e.sourceIndexes.length:e.x.length:0}(i),s);return l.requestId=e,{seriesId:A.seriesId,datasetId:A.datasetId,revision:A.revision,status:t,output:i,diagnostics:l}}findNearest(e,A,t,i){const n=this.datasets.get(e),a=Sa(n,t);return"ok"===a&&n?{type:"find-nearest-point-response",requestId:A,datasetId:e,revision:t,status:a,point:n.points?Ra(n.points,i):(()=>{const e=Ua(n,[i,i]);if(!Ta(n)||i<Za(n,0)||i>Za(n,Ta(n)-1))return;const A=Math.min(Ta(n)-1,e.start),t=Math.max(0,A-1),a=Math.abs(i-Za(n,t))<Math.abs(Za(n,A)-i)?t:A;return Number.isFinite(i)&&Ta(n)?{x:Za(n,a),y:n.y[a]}:void 0})()}:{type:"find-nearest-point-response",requestId:A,datasetId:e,revision:t,status:a}}metrics(e,A,t){const i=this.datasets.get(e);return this.datasetResponse(A,e,i,Sa(i,t))}dispose(e,A,t){const i=this.datasets.get(e),n=Sa(i,t);return"ok"===n&&i&&(Xa(this.wasmBackend,i),this.cache.deleteDataset(e),this.datasets.delete(e)),this.datasetResponse(A,e,i,n)}disposeAll(e){const A=[...this.datasets.keys()];return this.datasets.forEach(e=>Xa(this.wasmBackend,e)),ja(this.wasmBackend)&&this.wasmBackend.disposeAllDatasets(),this.datasets.clear(),this.cache.clear(),{type:"dispose-all-response",requestId:e,disposedDatasetIds:A}}datasetResponse(e,A,t,i){return{type:"dataset-response",requestId:e,datasetId:A,revision:t?.revision??0,status:i,metrics:t?{...t.metrics,indexBytes:t.wasmIndexBytes??t.index?.byteLength??0}:void 0}}};function Pa(e,A,t,i){return{message:e,mode:A,fallback:t,seriesIds:i}}function qa(e,t){const i=function(e,t){const i=p("zoom"),n=A(()=>e.interactionMode??i.value),a=A=>!e.presentationMode&&("none"===A||"zoom"===A&&e.zoomable||"pan"===A&&e.pannable||"annotation"===A&&e.annotationsVisible);return N(n,e=>t("interaction-mode-change",e)),{mode:n,canSetMode:a,setInteractionMode:function(A){let o;return a(A)?n.value===A?o="unchanged":void 0!==e.interactionMode?(t("update:interactionMode",A),o="requested"):(i.value=A,o="applied"):o="disabled",{kind:"mode",status:o,targets:[]}}}}(e,t),n=E({...k(e),interactionMode:i.mode}),a=w({}),o=p(),r=p(),s=p(),l=p(),g=p(0),d=p(0),u=p(0),Q=p(0),B=p(0),f=w(De),y=w([]),x=p({}),b=p({}),M=v({points:[],trackIndex:null,queryX:null,crosshairXByTrack:{},position:{x:0,y:0}}),D=p(!1),G=p(1),Y=w(),S=si("waveform-clip"),J=p(new Set(n.defaultHiddenSeriesIds)),R=function(){const e=p(null),A=p(null);return{editorDraft:e,contextMenu:A,openCreate:(t,i,n)=>{e.value={mode:"add",annotation:{id:i(),seriesId:t.seriesId,x:t.xValue??t.point.x,y:t.point.y,text:"",createdAt:/* @__PURE__ */(new Date).toISOString()},anchor:n},A.value=null},openEdit:(t,i)=>{e.value={mode:"edit",annotation:{...t},previous:{...t},anchor:i},A.value=null},openContextMenu:e=>{A.value=e},closeEditor:()=>{e.value=null},closeContextMenu:()=>{A.value=null}}}(),T=w({}),Z=p([]),U=ma();N([()=>n.yDomain,()=>n.yDomains,()=>n.amplitudeLimits],()=>{x.value={},b.value={}},{deep:!0});const L=w(null),j=p(!1),O=p(!1);let W=()=>{},X=()=>{},H=()=>{};const V=function(e,A,t,i=()=>!1){const n=w(Qa(e(),i()));return N([e,i],([e,i])=>{A();const a=new Map(n.value.map(e=>[e.id,e]));n.value=Qa(e,i).map(e=>{const A=a.get(e.id);return e.source.length||!A||e.trackId!==A.trackId?e:{...e,xDomain:A.xDomain,yDomain:A.yDomain,rawYMaximum:A.rawYMaximum,rawYMinimum:A.rawYMinimum}}),t()}),n}(()=>n.data,()=>{H(),W()},()=>X(),()=>!0),z=function(e){const{props:t,observedWidth:i,observedHeight:n,measuredTitleWidth:a,measuredTitleHeight:o,internalHiddenSeriesIds:r,paginationBandHeight:s}=e,l=A(()=>Number.isFinite(t.width)?Math.max(0,t.width??0):void 0),g=A(()=>Number.isFinite(t.height)?Math.max(180,t.height??0):void 0),c=A(()=>i.value>0?i.value:l.value??0),I=A(()=>n.value>0?n.value:g.value??180),d=A(()=>({width:void 0===l.value?"100%":`${l.value}px`,height:void 0===g.value?"100%":`${g.value}px`})),u=A(()=>!0===t.cleanView),h=A(()=>!0===t.presentationMode),C=A(()=>{const e=t.zeroLine.width,A=t.zeroLine.opacity,i=t.zeroLine.boundaryThreshold;return{visible:!1!==t.zeroLine.visible,color:t.zeroLine.color||wA,width:"number"==typeof e&&Number.isFinite(e)&&e>0?e:1,dash:t.zeroLine.dash??"6 4",opacity:"number"==typeof A&&Number.isFinite(A)&&A>=0&&A<=1?A:.5,boundaryThreshold:"number"==typeof i&&Number.isFinite(i)&&i>=0?i:.02}}),m=A(()=>t.legend.backgroundColor||"transparent"),Q=A(()=>!0===t.legend.interactive),B=A(()=>void 0===t.hiddenSeriesIds?r.value:new Set(t.hiddenSeriesIds)),E=A(()=>Array.from(B.value)),p=A(()=>"edge-compact"===t.layoutPreset),f=A(()=>t.title?.text.trim()??""),y=A(()=>Boolean(t.title)&&!1!==t.title?.visible&&f.value.length>0),v=A(()=>y.value&&!u.value),w=A(()=>{const e=t.title?.textStyle?.fontSize;return Number.isFinite(e)&&(e??0)>0?e:14}),x=A(()=>{const e=t.title?.textStyle?.rotation;return Number.isFinite(e)?e:0}),k=A(()=>{const e=(x.value%360+360)%360;return e>1e-6&&Math.abs(e-360)>1e-6}),b=A(()=>({color:t.title?.textStyle?.color??"#1f2937",fontSize:`${w.value}px`,fontFamily:t.title?.textStyle?.fontFamily||'"Microsoft YaHei", "微软雅黑", sans-serif',fontWeight:p.value&&18===w.value&&700===t.title?.textStyle?.fontWeight?600:t.title?.textStyle?.fontWeight??400,fontStyle:t.title?.textStyle?.fontStyle??"normal",textDecoration:t.title?.textStyle?.textDecoration??"none",letterSpacing:t.title?.textStyle?.letterSpacing??"normal",lineHeight:String(1.2)})),M=A(()=>{const e=Number.parseFloat(t.title?.textStyle?.letterSpacing??""),A=Number.isFinite(e)?Math.max(0,f.value.length-1)*e:0;return Math.max(1,f.value.length*w.value*.62+A)}),D=A(()=>{const e=c.value-48;return e>0?e:M.value}),N=A(()=>({...b.value,width:"max-content",maxWidth:k.value?"none":`${D.value}px`,whiteSpace:k.value?"nowrap":"normal",overflowWrap:k.value?"normal":"anywhere"})),F=A(()=>function({naturalWidth:e,naturalHeight:A,availableWidth:t,rotation:i,edgeCompact:n=!1}){const a=n?8:18,o=n?0:44,r=pa(e),s=pa(A),l=pa(t),g=Number.isFinite(i)?i:0,c=g*Math.PI/180,I=Math.abs(Math.cos(c)),d=Math.abs(Math.sin(c)),u=(g%360+360)%360;if(!(u>Ea&&Math.abs(u-360)>Ea)){const e=Math.max(1,Math.ceil(r/l)),A=s*e;return{textWidth:l,textHeight:A,visualWidth:l,visualHeight:A,areaHeight:Math.max(o,A+a),scale:1,wrapped:e>1}}const h=160-a,C=r*I+s*d,m=r*d+s*I,Q=Math.min(1,l/C,h/m),B=m*Q;return{textWidth:r,textHeight:s,visualWidth:C*Q,visualHeight:B,areaHeight:Math.min(160,Math.max(o,B+a)),scale:Q,wrapped:!1}}({naturalWidth:p.value&&!k.value&&o.value>0?Math.min(a.value||D.value,D.value):a.value||M.value,naturalHeight:o.value||1.2*w.value,availableWidth:D.value,rotation:x.value,edgeCompact:p.value})),G=A(()=>y.value?F.value.areaHeight:0),Y=(e,A)=>"number"==typeof e&&Number.isFinite(e)&&e>=0?e:A,S=A(()=>({top:Y(t.plotMargin.top,yA.top),bottom:Math.max(p.value?44:0,Y(t.plotMargin.bottom,yA.bottom))})),J=A(()=>S.value.top),R=A(()=>Math.max(0,I.value-G.value-s.value));return{fixedWidth:l,fixedHeight:g,chartWidth:c,chartHeight:I,containerStyle:d,isCleanView:u,isEdgeCompact:p,isPresentationMode:h,resolvedZeroLine:C,legendBackgroundColor:m,legendInteractive:Q,hiddenSeriesIdSet:B,resolvedHiddenSeriesIds:E,resolveLegendPosition:e=>t.legend.trackPositions?.[e]??t.legend.position??"top-right",resolveLegendOrientation:e=>{const A=t.legend.orientation??"auto";return"auto"!==A?A:"top"===e||"bottom"===e?"horizontal":"vertical"},resolvedTitleText:f,titleAreaReserved:y,titleVisible:v,titleMeasureStyle:N,titleLayout:F,titleAreaHeight:G,resolvedPlotMargin:S,chartTopMargin:J,drawingHeight:R,xAxisTitleY:A(()=>Math.max(0,R.value-12+(p.value?3:0))),innerHeight:A(()=>Math.max(0,R.value-S.value.top-S.value.bottom)),titleAreaStyle:A(()=>({height:`${G.value}px`,justifyContent:"left"===t.title?.align?"flex-start":"right"===t.title?.align?"flex-end":"center"})),titleVisualStyle:A(()=>({width:`${F.value.visualWidth}px`,height:`${F.value.visualHeight}px`})),titleTextStyle:A(()=>({...b.value,width:`${F.value.textWidth}px`,minHeight:`${F.value.textHeight}px`,textAlign:t.title?.align??"center",whiteSpace:k.value?"nowrap":"normal",overflowWrap:k.value?"normal":"anywhere",transform:`translate(-50%, -50%) rotate(${x.value}deg) scale(${F.value.scale})`}))}}({props:n,observedWidth:g,observedHeight:d,measuredTitleWidth:u,measuredTitleHeight:Q,internalHiddenSeriesIds:J,paginationBandHeight:B}),{chartWidth:P,chartHeight:q,isCleanView:K,isPresentationMode:_,hiddenSeriesIdSet:$,resolvedTitleText:ee,titleAreaReserved:Ae,titleMeasureStyle:te,titleAreaHeight:ie,chartTopMargin:ne,innerHeight:ae}=z,oe=Ba({props:n,preparedSeries:V,currentPage:G,hiddenSeriesIdSet:$,chartWidth:P,innerHeight:ae,isCleanView:K,sharedTransform:f,independentTransforms:y,sharedYDomains:x,independentYDomains:b,annotationInteraction:c(R),linePointOverrides:T,boundaries:a}),{chartSeries:re,chartTracks:se,renderingOptions:le,trackLayouts:ge,gridOptions:ce,pageCount:Ie,pagedTracks:de,resolvedChartLeftMargin:ue,innerWidth:he,hasChartArea:Ce,activeInteractionMode:me,isZoomMode:Qe,initialXDomain:Be,sharedZoomDomain:Ee,resolveInitialTrackDomain:ve,annotationLayoutsForTrack:we,resolveSeriesYScale:xe}=oe,ke=function(e,t,i,n){return{plotCenterX:A(()=>t.value+i.value/2),plotTitleAreaStyle:A(()=>e.title?.align&&"center"!==e.title.align&&"left"!==e.title.align?n.value:{...n.value,boxSizing:"border-box",marginLeft:`${t.value}px`,width:`${i.value}px`,..."left"===e.title?.align?{paddingLeft:"0px",paddingRight:"0px"}:{}})}}(n,oe.resolvedChartLeftMargin,oe.innerWidth,z.titleAreaStyle),be=function(e){const t=w("success"),i=w(),n=w(0),a=function(){const e=function(e=()=>{}){let A,t=0,i=!1,n=!1;const a={scheduled:0,coalesced:0,maxPending:0};return{schedule:o=>n?0:(t+=1,a.scheduled+=1,A&&(a.coalesced+=1),A={generation:t,run:o},a.maxPending=Math.max(a.maxPending,1),(async()=>{if(!i&&!n){i=!0;try{for(;A&&!n;){const i=A;A=void 0;try{await i.run(i.generation)}catch(a){if(!n&&i.generation===t)try{e(a,i.generation)}catch{}}}}finally{i=!1}}})(),t),isCurrent:e=>!n&&e===t,cancelPending(){t+=1,A=void 0},dispose(){n=!0,t+=1,A=void 0},metrics:a}}(),A=/* @__PURE__ */new Map,t=/* @__PURE__ */new Map,i=/* @__PURE__ */new Map,n=/* @__PURE__ */new Set,a=/* @__PURE__ */new Map,o={scheduler:e,revisions:A,backendBySeries:t,selectedModeBySeries:i,emittedErrors:n,pendingDiagnostics:a,client:void 0,requestId:0,diagnosticsTimer:void 0,autoModeSettleTimer:void 0,hasInitialSamplingRun:!1,getClient:()=>o.client??=function(){let e,A,t,i=!1;const n=/* @__PURE__ */new Map,a=/* @__PURE__ */new Map,o=()=>{if(A)return A;A=new za;for(const[e,t]of a){A.handle({type:"register-dataset",requestId:0,datasetId:e,revision:0,points:t.points,dataset:t.dataset});for(let i=1;i<t.revision;i+=1)A.handle({type:"replace-dataset",requestId:0,datasetId:e,revision:i,points:t.points,dataset:t.dataset})}return A},r=a=>{i||A||(t=function(e){return e?.message||"Web Worker is unavailable; JavaScript sampling is being used."}(a),e?.terminate(),e=void 0,(()=>{const e=[...n.values()];let A;n.clear();try{A=o()}catch(t){return void e.forEach(({reject:e})=>e(t instanceof Error?t:new Error(String(t))))}e.forEach(({request:e,resolve:i,reject:n})=>{try{i(A.handle(e))}catch(t){n(t instanceof Error?t:new Error(String(t)))}})})())};try{"undefined"==typeof Worker?r():(e=new Worker(new URL("/assets/workerRuntime-BJiRmIZD.js",""+import.meta.url),{type:"module"}),e.onmessage=e=>{const A=n.get(e.data.requestId);A&&("request-error"!==e.data.type?(n.delete(e.data.requestId),A.resolve(e.data)):r({message:e.data.message}))},e.onerror=e=>r(e),e.onmessageerror=()=>r())}catch{r()}return{get workerFailureReason(){return t},send:t=>i?Promise.reject(/* @__PURE__ */new Error("Sampling client was disposed.")):((e=>{"register-dataset"===e.type&&a.set(e.datasetId,{points:e.points,dataset:e.dataset,revision:1}),"replace-dataset"===e.type&&a.set(e.datasetId,{points:e.points,dataset:e.dataset,revision:e.revision+1}),"dispose-dataset"===e.type&&a.delete(e.datasetId),"dispose-all"===e.type&&a.clear()})(t),A?Promise.resolve().then(()=>A.handle(t)):new Promise((A,i)=>{n.set(t.requestId,{request:t,resolve:A,reject:i});try{e?.postMessage(t)}catch{n.delete(t.requestId),r(),A(o().handle(t))}})),dispose(){i=!0,e&&(e.onmessage=null,e.onerror=null,e.onmessageerror=null),A?.handle({type:"dispose-all",requestId:0}),e?.terminate(),e=void 0,n.forEach(({reject:e})=>e(/* @__PURE__ */new Error("Sampling client was disposed."))),n.clear(),a.clear(),A=void 0}}}(),invalidate(){e.cancelPending(),clearTimeout(o.diagnosticsTimer),clearTimeout(o.autoModeSettleTimer),o.diagnosticsTimer=void 0,o.autoModeSettleTimer=void 0,o.hasInitialSamplingRun=!1,a.clear(),A.clear(),t.clear(),i.clear(),n.clear(),o.client?.dispose(),o.client=void 0},dispose(){o.invalidate(),e.dispose()}};return o}(),{revisions:o,backendBySeries:r,selectedModeBySeries:s,emittedErrors:l,pendingDiagnostics:g,scheduler:c}=a,I=A(()=>{const A=e.renderingOptions.value.sampling;return e.sourceTrackLayouts.value.flatMap(t=>{const i=t.xScale.domain();return t.seriesList.flatMap(n=>{if("none"===n.lineType||t.width<=0)return[];const a=n.source??JA(n.points),r=a.visibleRange(i),s=`${e.instanceId}:${n.id}`;return[{series:n,source:a,visibleRange:r,request:{seriesId:n.id,datasetId:s,revision:o.get(s)??1,xDomain:i,visibleStartIndex:r.start,visibleEndIndex:r.end,plotWidth:t.width,mode:A.mode,autoThreshold:A.autoThreshold,autoHysteresis:A.autoHysteresis,strategy:A.strategy,maxPointsPerPixel:A.maxPointsPerPixel,maxPointCount:A.maxPointCount,rawPointLimit:A.rawPointLimit,wasmFailureFallback:A.wasmFailureFallback,lineType:n.lineType,pointType:n.pointType,errorBarVisible:n.errorBar.visible,pointMinSpacing:e.renderingOptions.value.pointMinSpacing,errorBarMinSpacing:e.renderingOptions.value.errorBarMinSpacing}}]})})}),d=A(()=>`${n.value}:${I.value.map(e=>`${e.request.datasetId}:${e.request.xDomain.join(",")}:${e.request.plotWidth}:${e.visibleRange.start}:${e.visibleRange.end}:${e.request.mode}:${e.request.autoThreshold}:${e.request.autoHysteresis}:${e.request.strategy}:${e.request.maxPointsPerPixel}:${e.request.maxPointCount}:${e.request.rawPointLimit}:${e.request.wasmFailureFallback}:${e.request.lineType}:${e.request.pointType}:${e.request.errorBarVisible}:${e.request.pointMinSpacing}:${e.request.errorBarMinSpacing}`).join("|")}`),u=()=>{a.diagnosticsTimer=void 0,g.forEach(A=>{const t=r.get(A.seriesId);t&&t!==A.backend&&e.emit("sampling-backend-change",{seriesId:A.seriesId,previous:t,current:A.backend}),r.set(A.seriesId,A.backend),e.emit("sampling-complete",A)}),g.clear()},h=e=>{e.forEach(e=>g.set(e.seriesId,{...e,scheduledRequestCount:c.metrics.scheduled,coalescedRequestCount:c.metrics.coalesced,maxPendingRequestCount:c.metrics.maxPending})),a.diagnosticsTimer||(a.diagnosticsTimer=setTimeout(u,100))},C=A=>{const t=`${A.mode}:${A.fallback}:${A.message}:${A.seriesIds.join(",")}`;l.has(t)||(l.add(t),e.emit("sampling-error",A))},Q=A=>{i.value=void 0;const n=d.value;t.value="success",c.schedule(async r=>{try{await(async(A,i=!1)=>{const n=I.value,r={...e.linePointOverrides.value},l=[],g=[];if(n.forEach(e=>{const t=e.visibleRange.end-e.visibleRange.start,n=i?s.get(e.series.id):void 0,a="auto"===e.request.mode&&"raw"===function(e,A,t,i){return i?"raw"===i?e<=A+t?"raw":"sampled":e<=Math.max(0,A-t)?"raw":"sampled":e<=A?"raw":"sampled"}(t,e.request.autoThreshold,e.request.autoHysteresis??0,n);"raw"===e.request.mode||a?(r[e.series.id]=zA(e.source.pointsInRange(e.visibleRange.start,e.visibleRange.end),e.visibleRange,e.source.length,A=>e.source.pointAt(A)),s.set(e.series.id,"raw"),g.push(function(e,A){const t=e.request,i=e.visibleRange.end-e.visibleRange.start;return{seriesId:t.seriesId,datasetId:t.datasetId,mode:t.mode,selectedMode:"raw",backend:"raw",strategy:"auto"===t.strategy?"peak":t.strategy,sourcePointCount:e.source.length,visiblePointCount:i,renderedPointCount:i+VA(e.visibleRange,e.source.length).length,durationMs:0,cacheHit:!1,requestId:A,revision:t.revision,rawPointLimitExceeded:i>e.request.rawPointLimit&&"raw"===e.request.mode,scheduledRequestCount:0,coalescedRequestCount:0,maxPendingRequestCount:0}}(e,A))):(r[e.series.id]?.length||(r[e.series.id]=zA(function(e){const{source:A}=e,{start:t,end:i}=e.visibleRange,n=i-t,a=Number.isFinite(e.request.maxPointCount)&&(e.request.maxPointCount??0)>=1?Math.floor(e.request.maxPointCount):Math.max(1,Math.floor(e.request.plotWidth*e.request.maxPointsPerPixel));if(n<=a)return A.pointsInRange(t,i);if(1===a)return A.pointAt(t)?[A.pointAt(t)]:[];const o=[];for(let r=0;r<a;r+=1){const e=Math.round(r*(n-1)/(a-1)),i=A.pointAt(t+e);i&&o.push(i)}return o}(e),e.visibleRange,e.source.length,A=>e.source.pointAt(A))),l.push({...e,request:{...e.request,previousSelectedMode:n}}))}),!l.length){if(!c.isCurrent(A))return;return e.linePointOverrides.value=r,void h(g)}e.linePointOverrides.value=r;const d=a.getClient();let u;try{if(await(async(e,A,t)=>{await Promise.all(A.map(async A=>{if(o.has(A.request.datasetId))return;const i=await e.send({type:"register-dataset",requestId:++a.requestId,datasetId:A.request.datasetId,revision:0,dataset:A.source.toWorkerDataset()});c.isCurrent(t)&&function(e){return"dataset-response"===e.type}(i)&&("ok"===i.status||"stale-revision"===i.status)&&o.set(A.request.datasetId,i.revision)}))})(d,l,A),!c.isCurrent(A))return;const e=l.map(e=>({...e.request,revision:o.get(e.request.datasetId)??1})),i=await d.send({type:"sample-viewport",requestId:++a.requestId,series:e});if("sample-viewport-response"!==i.type)return void(c.isCurrent(A)&&(t.value="error"));u=i}catch(Q){if(!c.isCurrent(A))return;return t.value="error",void C(Pa(Q instanceof Error?Q.message:String(Q),e.renderingOptions.value.sampling.mode,"wasm"===e.renderingOptions.value.sampling.mode&&"error"===e.renderingOptions.value.sampling.wasmFailureFallback?"none":"javascript",l.map(e=>e.series.id)))}if(!c.isCurrent(A))return;(u.workerError||d.workerFailureReason)&&(t.value="fallback");const m=new Map(l.map(e=>[e.series.id,e.source]));l.some(e=>!u.results.some(A=>A.seriesId===e.series.id&&A.output))&&(t.value="error"),u.results.forEach(e=>{"ok"!==e.status&&"error"!==t.value&&(t.value=e.output?"fallback":"error");const A=m.get(e.seriesId),i=A?function(e,A){const t=e.output;if(t)return"aggregates"===t.kind?Array.from(t.x,(e,A)=>({x:e,y:t.y[A]})):Array.from(t.sourceIndexes,e=>A.pointAt(e)).filter(e=>void 0!==e)}(e,A):void 0;!i||"ok"!==e.status&&"wasm-unavailable"!==e.status||(r[e.seriesId]=i),g.push(e.diagnostics),s.set(e.seriesId,e.diagnostics.selectedMode),"wasm-unavailable"===e.status&&C(Pa(u.workerError??"WASM sampling is unavailable.",e.diagnostics.mode,"javascript"===e.diagnostics.backend?"javascript":"none",[e.seriesId]))}),u.workerError&&u.results.every(e=>"wasm-unavailable"!==e.status)&&C(Pa(u.workerError,e.renderingOptions.value.sampling.mode,"wasm"===e.renderingOptions.value.sampling.mode&&"error"===e.renderingOptions.value.sampling.wasmFailureFallback?"none":"javascript",l.map(e=>e.series.id))),d.workerFailureReason&&u.results.every(e=>"wasm-unavailable"!==e.status)&&C(Pa(d.workerFailureReason,e.renderingOptions.value.sampling.mode,"wasm"===e.renderingOptions.value.sampling.mode&&"error"===e.renderingOptions.value.sampling.wasmFailureFallback?"none":"javascript",l.map(e=>e.series.id))),e.linePointOverrides.value={...r},h(g)})(r,A)}finally{c.isCurrent(r)&&(i.value=n)}})};return N(d,()=>{a.autoModeSettleTimer&&clearTimeout(a.autoModeSettleTimer);const A=a.hasInitialSamplingRun;a.hasInitialSamplingRun=!0,Q(A),A&&"auto"===e.renderingOptions.value.sampling.mode&&e.renderingOptions.value.sampling.autoHysteresis>0&&(a.autoModeSettleTimer=setTimeout(()=>{a.autoModeSettleTimer=void 0,Q(!1)},120))},{immediate:!0}),N(e.preparedSeries,()=>{a.invalidate(),n.value+=1,e.linePointOverrides.value={}},{flush:"sync"}),m(()=>a.dispose()),{requestSignature:d,state:A(()=>i.value!==d.value||a.autoModeSettleTimer?"pending":t.value),linePointOverrides:e.linePointOverrides,ready:()=>i.value===d.value&&!a.autoModeSettleTimer}}({props:n,emit:t,instanceId:S,preparedSeries:V,sourceTrackLayouts:ge,renderingOptions:le,linePointOverrides:T}),Me=function(e){const{props:t,tracks:i,preparedSeries:n,sampling:a}=e,o=A(()=>function(e){function A(e,A,t,i){return void 0===e?A:t(e)?e:A}const t=e=>"number"==typeof e&&Number.isFinite(e)&&e>=0,i=e=>"boolean"==typeof e,n=e=>{try{return Te(e),!0}catch{return!1}},a=e=>"function"==typeof e;function o(e,o,r){return{enabled:A(e?.enabled,!0,i),duration:A(e?.duration,o,t),easing:A(e?.easing,r,n),onComplete:void 0===e?.onComplete?void 0:A(e.onComplete,()=>{},a),onAbort:void 0===e?.onAbort?void 0:A(e.onAbort,()=>{},a)}}const r=A(e.animationAnnotation?.type,"scale",sA);return{animationEnabled:A(e.animationEnabled,!0,i),animationThreshold:A(e.animationThreshold,2e5,e=>t(e)&&Number.isInteger(e)),animation:{...o(e.animation,1e3,"cubicInOut"),delay:A(e.animation?.delay,0,t),staggerDelay:A(e.animation?.staggerDelay,100,t),direction:A(e.animation?.direction,"left-to-right",e=>["left-to-right","right-to-left","center-out"].includes(e))},animationUpdate:o(e.animationUpdate,300,"cubicInOut"),animationAnnotation:{...o(e.animationAnnotation,300,rA[r]),type:r}}}(t)),r=w(0),s=()=>r.value++,l=/* @__PURE__ */new Map,g=/* @__PURE__ */new Set,c=/* @__PURE__ */new Set,I=si("waveform-animation");let d,u,h=0,C=0,Q=hi(e),B=t.annotations,E=t.data,p="",f="",y=i.value,v=a.state.value;const x=w(!1);let k=!1;const b="function"==typeof globalThis.matchMedia?globalThis.matchMedia("(prefers-reduced-motion: reduce)"):void 0,M=w(b?.matches??!1),D=A(()=>n.value.reduce((e,A)=>e+A.source.length,0)),F=A(()=>o.value.animationEnabled&&!M.value&&!x.value&&"function"==typeof globalThis.requestAnimationFrame&&"function"==typeof globalThis.cancelAnimationFrame&&D.value<o.value.animationThreshold),G=()=>t.annotationsVisible&&!t.cleanView?t.annotations:[],Y=new fA({commitFinalState:()=>U()}),S=function(e,A){const t=/* @__PURE__ */new Map,i=()=>({opacity:1,scale:1,offsetY:0});let n;const a=(e,i)=>({read:()=>i.style,write:n=>{i.style=n,i.leaving&&0===n.opacity&&t.get(e)===i&&t.delete(e),A()}});function o(A,t){t.waiting=!1,e.animateAnnotationAppear(A,a(A,t),n)}return{reconcile(r,s,l,g,c){n=l;const I=new Set(r.map(e=>e.annotation.id)),d=new Set(s.map(e=>e.id));for(const[A,i]of t)I.has(A)||i.leaving&&g||(!d.has(A)&&g?(i.rendered=Object.freeze({...i.rendered,annotation:Object.freeze({...i.rendered.annotation,style:i.rendered.annotation.style?Object.freeze({...i.rendered.annotation.style}):void 0}),lines:Object.freeze([...i.rendered.lines]),box:Object.freeze({...i.rendered.box}),style:Object.freeze({...i.rendered.style})}),i.leaving=!0,i.waiting=!1,e.animateAnnotationDisappear(A,a(A,i),n)):(t.delete(A),e.cancel({kind:"annotation",id:A,scope:"enter"}),e.cancel({kind:"annotation",id:A,scope:"leave"})));for(const A of r){const a=A.annotation.id;let r=t.get(a);!r||r.leaving?(r?(r.leaving=!1,e.cancel({kind:"annotation",id:a,scope:"leave"}),r.rendered=A):(r={rendered:A,leaving:!1,waiting:!1,style:g?{opacity:0,scale:"scale"===n.type||"bounce"===n.type?0:1,offsetY:"slide-in"===n.type?8:0}:i()},t.set(a,r)),g?(r.waiting=c.has(A.annotation.seriesId),r.waiting||o(a,r)):r.style=i()):r.rendered=A}A()},release(e){for(const[A,i]of t)!i.waiting||e&&i.rendered.annotation.seriesId!==e||o(A,i);A()},finish(e){t.clear();for(const A of e)t.set(A.annotation.id,{rendered:A,style:i(),leaving:!1,waiting:!1});A()},project(e,A){const i=new Map(e.map(e=>[e.annotation.id,e]));return[...t.values()].filter(e=>e.leaving||i.has(e.rendered.annotation.id)).map(e=>(e.leaving||(e.rendered=i.get(e.rendered.annotation.id)??e.rendered),{...e.rendered,animationStyle:e.style,leaving:e.leaving,seriesOpacity:A.get(e.rendered.annotation.seriesId)??1}))},clear(){t.clear(),A()}}}(Y,s),J=A(()=>(r.value,i.value.map(e=>l.has(e.id)?function(e){const A=e.target,t=Wt(A.xScale,e.xDomain),i=A.yAxes.map((A,t)=>{const i=Wt(A.scale,e.yDomains[t]);return i===A.scale?A:{...A,scale:i}}),n=i.every((e,t)=>e===A.yAxes[t])?A.yAxes:i,a=[];for(const[o,r]of e.series){const i=n[r.path.yAxisIndex]?.scale??A.yScale;r.old&&a.push({...jt(r.old.path,r.old.values,t,i),presentationKey:`${o}:old`,opacity:1-r.opacity}),a.push({...jt(r.path,r.values,t,i),presentationKey:o,opacity:r.opacity,animationClip:e.clips.get(o)})}return{...A,xScale:t,yScale:n[0]?.scale??A.yScale,yAxes:n,seriesPaths:a,path:a[0]?.path??null}}(l.get(e.id)):e))),R=function(e,A,t,n){let a;const o=()=>JSON.stringify({options:Object.fromEntries(Object.entries(Je(e.props)).filter(([e])=>!["annotations","annotationsVisible"].includes(e))),size:e.containerSize.value,amplitudeLimits:e.props.amplitudeLimits,hidden:e.props.hiddenSeriesIds,presentation:e.props.presentationMode});function r(){a=void 0}function s(e,i="page"){r(),A.cancelAll(),A.finishAll(),n.value&&t.value.animation.enabled&&(a={page:e,trigger:i,environment:o(),started:!1})}return{reset:r,reconcile:function(s){const l=a;if(l)if(t.value.animation.enabled){if(s||l.page!==e.currentPage.value||l.environment!==o()||!n.value||!l.started&&0===t.value.animation.duration||["fallback","error"].includes(e.sampling.state.value)||l.started&&(l.geometry!==Ci(e)||l.signature!==e.sampling.requestSignature.value||"success"!==e.sampling.state.value))return A.finishAll(),r(),"static";if(!l.started||A.getActiveAnimationCount())return l.started||((()=>{U(!0);for(const e of i.value)for(const A of e.seriesList)c.delete(A.id);u=void 0,S.clear()})(),l.started="success"===e.sampling.state.value&&e.layoutReady.value,l.started&&(l.geometry=Ci(e),l.signature=e.sampling.requestSignature.value)),"replay";r()}else r()},wrapPagination:function(A,t){return i=>{const n=Math.min(t.value,Math.max(1,Math.floor(i)));n!==e.currentPage.value&&(s(n),A(i))}},requestLayout:()=>s(e.currentPage.value,"grid"),enterDuration:()=>"page"===a?.trigger&&t.value.animation.duration>0?500:t.value.animation.duration,active:()=>!!a&&(!a.started||A.getActiveAnimationCount()>0)}}(e,Y,o,F),T=A(()=>{const A=new Map([...l.values()].flatMap(e=>[...e.anchors]));return oi(G().flatMap(e=>{const t=A.get(e.id),i=[...l.values()].find(A=>A.series.has(e.seriesId))?.target.xScale.domain();return t&&i&&e.x>=i[0]&&e.x<=i[1]?[{...e,x:t.x,y:t.y}]:[]}),J.value.flatMap(e=>e.seriesList.map(A=>({...e,series:A,yScale:e.seriesPaths.find(e=>e.series.id===A.id&&e.presentationKey!==`${A.id}:old`)?.yScale??e.yScale}))),e.innerWidth.value,e.innerHeight.value)}),Z=A(()=>{r.value;const e=new Map([...l.values()].flatMap(e=>[...e.series].map(([e,A])=>[e,A.opacity])));return S.project(T.value,e)});function U(e=!1){C++,e||R.reset();const A=new Map(l);l.clear();for(const t of i.value)l.set(t.id,Xt(t,G(),A.get(t.id),!!d));for(const t of i.value)if(t.width>0&&t.height>0)for(const e of t.seriesList)(e.source?.length??e.points.length)>0&&c.add(e.id);g.clear(),d=void 0,u=a.requestSignature.value,s(),S.finish(T.value)}const L=A(()=>Ci(e));function j(){if(k)return;const A=o.value,r=t.data!==E;if(!r&&c.size&&hi(e)!==Q)return;if(r){d=new Map(l),E=t.data;for(const A of l.keys())Y.cancel({kind:"custom",id:`track:${A}`,scope:"update"});const e=[...g];for(const A of e)Y.cancel({kind:"series",id:A,scope:"enter"});queueMicrotask(()=>{k||e.forEach(e=>S.release(e))}),g.clear()}const m=JSON.stringify(Object.fromEntries(Object.entries(Je(t)).filter(([e])=>!["annotations","annotationsVisible"].includes(e)))),w=""!==f&&f!==m||c.size>0&&!r&&(""!==p&&p!==L.value||!d&&"success"===v&&i.value!==y);f=m,p=L.value,y=i.value,v=a.state.value,Y.setEnabled(F.value);const x=R.reconcile(r);if("static"===x)return;if(!F.value||w&&!x)return Y.finishAll(),void U();const b="pending"!==a.state.value&&e.layoutReady.value;if(d&&!b)return;const M=d&&"success"===a.state.value&&u!==a.requestSignature.value&&A.animationUpdate.enabled,D=new Set(n.value.filter(e=>e.source.length>0).map(e=>e.id));for(const e of c)D.has(e)||c.delete(e);const N=i.value.flatMap(e=>e.seriesList.map(e=>e.id)),J=d??new Map(l),Z=new Set(i.value.map(e=>e.id));for(const e of l.keys())Z.has(e)||l.delete(e);for(const e of i.value){if(e.width<=0||e.height<=0){l.set(e.id,Xt(e,G()));continue}const t=J.get(e.id),i=Xt(e,G(),t,!!d);d?(l.set(e.id,i),M&&t&&!Vt(t)&&(l.set(e.id,zt(t,i,0,!1)),Y.animate({kind:"custom",id:`track:${e.id}`,scope:"update"},{duration:A.animationUpdate.duration,easing:A.animationUpdate.easing,force:!0,during:(A,n)=>{l.set(e.id,zt(t,i,A,n.terminal)),s()},done:()=>e.seriesPaths.forEach(()=>A.animationUpdate.onComplete?.()),aborted:()=>e.seriesPaths.forEach(()=>A.animationUpdate.onAbort?.())}))):l.has(e.id)&&Y.getActiveAnimationCount()||l.set(e.id,i);for(const n of e.seriesPaths){const t=n.series.id;if(!((n.series.source?.length??n.series.points.length)>0)){c.delete(t);continue}if(!b){if(!c.has(t)&&A.animation.enabled&&A.animation.duration>0&&u!==a.requestSignature.value){const A=l.get(e.id);A.clips.has(t)||A.clips.set(t,{id:`${I}-${++h}`,x:0,width:0})}continue}if(c.has(t))continue;if(c.add(t),!A.animation.enabled||"success"!==a.state.value||u===a.requestSignature.value)continue;const i=l.get(e.id),o={id:`${I}-${++h}`,x:0,width:e.width};i.clips.set(t,o),g.add(t);const r={read:()=>o,write:e=>{Object.assign(o,e),s()}},d=C;Y.animateSeriesEnter(t,r,e.width,{...A.animation,duration:R.enterDuration(),delay:A.animation.delay+N.indexOf(t)*A.animation.staggerDelay,onComplete:()=>{i.clips.delete(t),g.delete(t),s(),queueMicrotask(()=>{k||C!==d||S.release(t)}),A.animation.onComplete?.()},onAbort:()=>{A.animation.onAbort?.()}})}}if(t.annotations!==B){for(const e of i.value){const A=l.get(e.id);A&&(A.anchors=Xt(e,G(),A).anchors)}B=t.annotations}d=void 0,s(),b&&S.reconcile(T.value,t.annotations,A.animationAnnotation,A.animationAnnotation.enabled&&F.value&&t.annotationsVisible&&!t.cleanView,g)}N([i,()=>t.data,()=>t.annotations,()=>t.annotationsVisible,o,L,a.state,e.layoutReady,e.currentPage,F],j,{immediate:!0}),N([()=>hi(e),()=>t.data],([e,A],[t,i])=>{Q=e,!k&&e!==t&&A===i&&c.size&&(R.requestLayout(),j())},{flush:"post"}),N(()=>t.annotationsVisible,e=>{e||Y.finishWhere(e=>"annotation"===e.kind&&["enter","leave"].includes(e.scope),()=>S.finish([]))}),N(()=>o.value.animation.enabled,e=>{e||Y.finishWhere(e=>"series"===e.kind&&"enter"===e.scope,()=>{for(const e of l.values())e.clips.clear();g.clear(),s()}),e||S.release()}),N(()=>o.value.animationUpdate.enabled,e=>{e||Y.finishWhere(e=>"update"===e.scope||"domain"===e.scope,()=>{for(const e of i.value){const A=l.get(e.id),t=Xt(e,G(),A,!0);A&&(t.clips=A.clips),l.set(e.id,t)}s()})}),N(()=>o.value.animationAnnotation.enabled,e=>{e||Y.finishWhere(e=>"annotation"===e.kind&&["enter","leave"].includes(e.scope),()=>S.finish(T.value))});const O=e=>{M.value=e.matches,e.matches&&Y.finishAll()},W=()=>Y.setPauseReason("document-hidden",document.hidden);function X(e){R.active()&&e?.target instanceof Element&&e.target.closest(".waveform-chart__pagination")||("pending"===a.state.value&&(u=a.requestSignature.value),(Y.getActiveAnimationCount()||d||R.active()||"pending"===a.state.value)&&Y.finishAll())}return b?.addEventListener?.("change",O),"undefined"!=typeof document&&(document.addEventListener("visibilitychange",W),W()),m(()=>{k=!0,R.reset(),l.clear(),g.clear(),S.clear(),b?.removeEventListener?.("change",O),"undefined"!=typeof document&&document.removeEventListener("visibilitychange",W),Y.destroy()}),{presentationTracks:J,presentationAnnotations:Z,stabilizeAnimations:X,wrap:e=>function(e,A){return Object.fromEntries(Object.entries(e).map(([e,t])=>[e,"function"==typeof t&&"getControlState"!==e?(...e)=>(A(),t(...e)):t]))}(e,X),wrapPagination:R.wrapPagination,prepareExport:()=>{x.value=!0,X()},releaseExport:()=>{x.value=!1}}}({props:n,currentPage:G,containerSize:A(()=>[g.value,d.value]),layoutReady:A(()=>g.value>0&&d.value>0),tracks:ge,preparedSeries:V,innerWidth:he,innerHeight:z.innerHeight,sampling:be}),Fe=A(()=>ce.value.showPagination&&Ie.value>1&&!K.value);F(()=>{B.value="edge-compact"===n.layoutPreset?Fe.value?16:0:ce.value.showPagination&&Ie.value>1&&P.value<=520?40:0});const Ge=function(e){const{props:A,emit:t,svgElement:i,sharedOverlayElement:n,sharedTransform:a,independentTransforms:o,trackLayouts:r,initialXDomain:s,sharedZoomDomain:l,innerWidth:g,hasChartArea:c,isZoomMode:I,isPresentationMode:d,resolveInitialTrackDomain:u,cancelPendingHover:h}=e,C=ma();let m=null,Q=null,B=null;const E=/* @__PURE__ */new Map,p=/* @__PURE__ */new Map,f=/* @__PURE__ */new Map;let y,v=!1;const w=()=>C.schedule(x);function x(){if(d.value)return void b();if(m){const e=m;m=null,B=Q,Q=null,a.value=e;const i=e.rescaleX(fe(s.value,[0,g.value])).domain();t("zoom-change",tn([i[0],i[1]],A))}if(!E.size)return;const e=[...o.value],i=Array.from(E.keys()),n=new Map(p);E.forEach((A,t)=>{e[t]=A}),E.clear(),p.clear(),o.value=e;const l=new Map(r.value.map(e=>[e.index,e]));i.forEach(e=>{const A=l.get(e);if(!A)return;if("wheel"===n.get(e)){const e=A.seriesList.map(e=>e.id);f.set(ha(e),e)}const i=A.xScale.domain();t("zoom-change",[i[0],i[1]])})}function k(){void 0!==y&&clearTimeout(y),y=setTimeout(()=>{y=void 0,C.flush(),x(),(()=>{if("independent"===A.displayMode)return function(e,A,t){for(const i of t){const t=Ca(A,i);if(!t)continue;const n=t.xScale.domain(),a=t.yScale.domain();e("zoom-end",{start:n[0],end:n[1],yStart:a[0],yEnd:a[1],trackIndex:t.index,seriesIds:[...i],gesture:"wheel"})}}(t,r.value,f.values()),void f.clear();"wheel"===B?(function(e,A,t){const i=t.filter(e=>e.hasVisibleSeries);if(1===i.length){const t=i[0]?.yScale.domain();return void e("zoom-end",{start:A[0],end:A[1],yStart:t?.[0],yEnd:t?.[1],gesture:"wheel"})}e("zoom-end",{start:A[0],end:A[1],yRanges:Object.fromEntries(i.map(e=>[e.series?.trackId??e.series?.id??e.id,e.yScale.domain()])),gesture:"wheel"})}(t,l.value,r.value),B=null):B=null})(),v=!1},200)}const b=()=>{m=null,Q=null,B=null,E.clear(),p.clear(),f.clear(),C.cancel(),v=!1,void 0!==y&&(clearTimeout(y),y=void 0)},M=(e=!1)=>{e||b(),i.value?.querySelectorAll(".waveform-chart__overlay").forEach(e=>ye(e).on(".zoom",null))},D=(e,i,n,a,o,l)=>{ye(e).property("__zoom",o).on("wheel.zoom",o=>{if(!Number.isFinite(o.deltaY)||0===o.deltaY)return;const c=Ne(e).rescaleX(fe(i,[0,n])).domain(),I=Tn(c,o.deltaY<0?"zoom-in":"zoom-out",i,a,A,pe(o,e)[0]/n);if(Rn(c,I))return;o.preventDefault(),o.stopImmediatePropagation();const C=Fn(I,i,n);ye(e).property("__zoom",C),void 0===l?(e=>{if(d.value)return;h(),m=e.transform,Q="wheel",k();const[i,n]=tn(e.transform.rescaleX(fe(s.value,[0,g.value])).domain(),A);t("zoom-intent",{start:i,end:n,gesture:"wheel"}),w()})({transform:C}):((e,i)=>{if(d.value)return;h(),E.set(i,e.transform),p.set(i,"wheel"),k();const n=r.value.find(e=>e.index===i);if(n){const a=e.transform.rescaleX(fe(u(n),[0,n.width])).domain();t("zoom-intent",{start:tn(a,A)[0],end:tn(a,A)[1],trackIndex:i,seriesIds:n.seriesList.map(e=>e.id),gesture:"wheel"})}w()})({transform:C},l)},{passive:!1})};return{cancelPendingZoom:b,clearZoomBindings:M,configureZoom:()=>{if(M(v),d.value||!A.zoomable||!I.value||!c.value||!r.value.length)return;if("independent"===A.displayMode)return void r.value.forEach(e=>{const A=i.value?.querySelector(`[data-independent-overlay-index="${e.index}"]`);if(!A)return;const t=u(e),n=[e.seriesList];D(A,t,e.width,n,o.value[e.index]??De,e.index)});const e=n.value;if(!e)return;const t=r.value.filter(e=>e.hasVisibleSeries).map(e=>e.seriesList);D(e,s.value,g.value,t,a.value)},prepareForDataChange:()=>{void 0!==y&&(C.flush(),x(),v=!0)}}}({props:n,emit:t,svgElement:r,sharedOverlayElement:l,sharedTransform:f,independentTransforms:y,trackLayouts:ge,initialXDomain:Be,sharedZoomDomain:Ee,innerWidth:he,innerHeight:ae,hasChartArea:Ce,isZoomMode:Qe,isPresentationMode:_,resolveInitialTrackDomain:ve,cancelPendingHover:()=>Ze.cancelPendingHover()});H=Ge.prepareForDataChange;const Ye=function(e){const{props:A,emit:t,container:i,chartSeries:n,hiddenSeriesIdSet:a,internalHiddenSeriesIds:o,annotationInteraction:r,editorSeriesOptions:s,trackLayouts:l,annotationLayoutsForTrack:g,resolveSeriesYScale:c,chartWidth:I,chartHeight:d,innerWidth:u,resolvedChartLeftMargin:h,titleAreaHeight:C,chartTopMargin:m,activeInteractionMode:Q,isPresentationMode:B}=e,E=p("");function f(e,A){const t=e.currentTarget;if(!t)return{x:I.value/2,y:d.value/2};const[i,n]=pe(e,t),a=void 0===A?void 0:l.value[A];return{x:h.value+(a?a.left+i:i),y:C.value+m.value+(a?a.top+n:n)}}function y(){E.value="",r.closeEditor(),s.value=[]}function v(e,A,t){if(void 0!==t){const e=l.value[t];return e?.hasVisibleSeries?e:void 0}return function(e,A,t){const i=e=>{const i=A<e.left?e.left-A:A>e.left+e.width?A-e.left-e.width:0;return t<e.top?e.top-t:t>e.top+e.height?t-(e.top+e.height):i};let n=e[0];if(!n)return;let a=i(n);for(let o=1;o<e.length;o+=1){const A=e[o],r=i(A);r<a?(n=A,a=r):r===a&&Math.abs(t-(A.top+A.height/2))<Math.abs(t-(n.top+n.height/2))&&(n=A)}return n}(l.value.filter(e=>e.hasVisibleSeries),e,A)}return{toggleSeriesVisibility:function(e){if(!n.value.some(A=>A.id===e))return;const i=new Set(a.value),r=i.has(e);r?i.delete(e):i.add(e);const s=Array.from(i);void 0===A.hiddenSeriesIds&&(o.value=i),t("update:hidden-series-ids",s),t("series-visibility-change",{seriesId:e,visible:r,hiddenSeriesIds:s})},changeDraftSeries:function(e){if(B.value)return;const A=r.editorDraft.value,t=s.value.find(A=>A.seriesId===e),i=l.value.find(A=>A.seriesList.some(A=>A.id===e)),n=(i?.seriesList.find(A=>A.id===e))?.source,a=n?.pointAt(0),o=n?.pointAt((n?.length??0)-1),g=A?n?.nearestPoint(A.annotation.x):void 0;A&&t&&i&&a&&o&&g?A.annotation.x<a.x||A.annotation.x>o.x?E.value="时间超出当前波形范围":(E.value="",A.annotation={...A.annotation,seriesId:e,y:g.y,style:{...A.annotation.style,borderColor:t.color}}):E.value="当前波形没有有效数据"},changeDraftTime:function(e){if(B.value)return;const t=r.editorDraft.value,i=Number(e);if(!t||!Number.isFinite(i))return void(E.value="请输入有效的时间");const n="ms"===A.timeUnit?i/1e3:i,a=(l.value.find(e=>e.seriesList.some(e=>e.id===t.annotation.seriesId))?.seriesList.find(e=>e.id===t.annotation.seriesId))?.source,o=a?.pointAt(0),s=a?.pointAt((a?.length??0)-1);if(!a||!o||!s)return void(E.value="当前波形没有有效数据");if(n<o.x||n>s.x)return void(E.value="时间超出当前波形范围");const g=a.nearestPoint(n);E.value="",t.annotation={...t.annotation,x:g.x,y:g.y}},timeError:E,cancelAnnotation:y,resolveTrackAtPointer:v,handleAnnotationClick:function(e,t){if(B.value||!A.annotationsVisible||0!==e.button||"annotation"!==Q.value)return;const i=function(e,A){const t=e.currentTarget;if(!t||!l.value.length)return null;const[i,n]=pe(e,t),a=void 0===A?n:n+(l.value[A]?.top??0),o=v(i,a,A);if(!o)return null;const r=Math.max(0,Math.min(u.value,i)),s=Math.max(0,Math.min(o.width,r-o.left)),c=o.xScale.invert(s);return{candidates:$t(g(o),c,s,a),editorAnchor:f(e,A)}}(e,t);if(!i||!i.candidates.length)return;const n=function(e){const A=e[0];return!A||A.distance>12?[]:e.filter(e=>e.distance<=12&&e.distance-A.distance<5)}(i.candidates);e.preventDefault(),e.stopPropagation(),function(e,A,t){E.value="",r.openCreate(e,la,A),s.value=t;const i=r.editorDraft.value,n=l.value.find(A=>A.index===e.trackIndex)?.seriesList.find(A=>A.id===e.seriesId);"add"===i?.mode&&(i.annotation.style={borderColor:n?.color||"#1677ff",textColor:"#333333",backgroundColor:"rgba(255, 255, 255, 0.92)"})}(n[0]??i.candidates[0],i.editorAnchor,i.candidates)},handleNativeContextMenu:function(e){const A=e.target;A instanceof Element&&A.closest('input, textarea, [contenteditable]:not([contenteditable="false"])')||e.preventDefault()},handleExistingAnnotationContextMenu:function(e,t){if(B.value||!A.annotationsVisible||!i.value)return;if(s.value=[],!A.annotations.find(A=>A.id===e))return;const n=i.value.getBoundingClientRect(),a={x:Math.max(0,Math.min(t.clientX-n.left,I.value)),y:Math.max(0,Math.min(t.clientY-n.top,d.value))};r.openContextMenu({annotationId:e,x:Math.max(4,Math.min(t.clientX-n.left,I.value-120)),y:Math.max(4,Math.min(t.clientY-n.top,d.value-110)),editorAnchor:a})},handleAnnotationMove:function(e,i,n){B.value||A.annotations.find(A=>A.id===e)&&Number.isFinite(i)&&Number.isFinite(n)&&t("update:annotations",A.annotations.map(A=>A.id===e?{...A,labelOffsetX:i,labelOffsetY:n}:A))},editContextAnnotation:function(){if(B.value)return;E.value="";const e=r.contextMenu.value,t=A.annotations.find(A=>A.id===e?.annotationId);if(!t)return;const i=l.value.find(e=>e.seriesList.some(e=>e.id===t.seriesId));s.value=i?$t(g(i),t.x,i.xScale(t.x),i.top+c(i,t.seriesId)(t.y)):[],r.openEdit(t,e?.editorAnchor??function(e){const A=l.value.find(A=>A.seriesList.some(A=>A.id===e.seriesId));return{x:A?h.value+A.left+A.xScale(e.x):I.value/2,y:A?C.value+m.value+A.top+c(A,e.seriesId)(e.y):d.value/2}}(t))},deleteContextAnnotation:function(){if(B.value)return;const e=r.contextMenu.value?.annotationId,i=A.annotations.find(A=>A.id===e);i&&(t("update:annotations",A.annotations.filter(e=>e.id!==i.id)),t("annotation-delete",i),r.closeContextMenu())},confirmAnnotation:function(e){if(B.value)return;const i=r.editorDraft.value;i&&!E.value&&("add"===i.mode?(t("update:annotations",[...A.annotations,e]),t("annotation-create",e)):(t("update:annotations",A.annotations.map(A=>A.id===e.id?e:A)),t("annotation-update",e,i.previous)),y())}}}({props:n,emit:t,container:o,chartSeries:re,hiddenSeriesIdSet:$,internalHiddenSeriesIds:J,annotationInteraction:R,editorSeriesOptions:Z,trackLayouts:ge,annotationLayoutsForTrack:we,resolveSeriesYScale:xe,chartWidth:P,chartHeight:q,innerWidth:he,resolvedChartLeftMargin:ue,titleAreaHeight:ie,chartTopMargin:ne,activeInteractionMode:me,isPresentationMode:_}),Re=function(e){const{props:t,emit:i,selection:n,spacePressed:a,trackLayouts:o,chartTracks:r,initialXDomain:s,innerWidth:l,innerHeight:g,sharedOverlayElement:c,sharedTransform:d,independentTransforms:u,sharedYDomains:h,independentYDomains:C,isZoomMode:m,isPresentationMode:Q,editorSeriesOptions:B,resolveInitialTrackDomain:E,configureZoom:p,cancelPendingZoom:f,clearHover:y,resolveTrackAtPointer:v}=e,x=w(),k=(e,A)=>{const t=x.value,i=A?.currentTarget;ga(t,e),i&&i!==t&&ga(i,e)},b=(e,A)=>{const t=n.value;t&&t.pointerId===e&&(k(e,A),n.value=da(n.value,{type:"cancel",pointerId:e}).state,x.value=void 0)},M=A(()=>{const e=n.value;if(!e)return null;const A=o.value.find(A=>A.index===e.trackIndex);return{x:Math.min(e.startX,e.currentX)+(e.independent?A?.left??0:0),y:Math.min(e.startY,e.currentY)+(e.independent?A?.top??0:0),width:Math.abs(e.currentX-e.startX),height:Math.abs(e.currentY-e.startY)}}),D=(e,A,i)=>{if(Q.value)return;const r=t.pannable&&("pan"===t.interactionMode||m.value&&a.value);if(!t.zoomable&&!r||!m.value&&!r||0!==e.button)return;const s=e.currentTarget,c=o.value.find(e=>e.index===A);if(!c)return;const[I,d]=pe(e,s),u=Math.max(0,Math.min(i?c.width:l.value,I)),h=Math.max(0,Math.min(i?c.height:g.value,d)),C=da(n.value,{type:"begin",gesture:{trackIndex:A,independent:i,startX:u,startY:h,pointerId:e.pointerId,kind:r?"pan":"box",xDomain:c.xScale.domain(),yDomains:Object.fromEntries(o.value.filter(e=>e.hasVisibleSeries).map(e=>[e.series?.trackId??e.series?.id??e.id,e.yScale.domain()]))}});C.accepted&&(n.value=C.state,x.value=s,s.setPointerCapture?.(e.pointerId),y(),e.preventDefault())},N=function(e){const{props:A,emit:t,resolveInitialTrackDomain:i,initialXDomain:n,independentTransforms:a,sharedTransform:o,innerWidth:r,trackLayouts:s,chartTracks:l,independentYDomains:g,sharedYDomains:c}=e;return(e,I)=>{const d=I.width||1,u=I.height||1,h=e.currentX-e.startX,C=e.currentY-e.startY,m=e.xDomain[1]-e.xDomain[0],Q=e.independent?i(I):n.value,B=Yn(A)??Q,E=Gn(function(e,A){if(!A.integerZoom)return e;const t="s"===A.timeUnit?1:1e3;if(Math.abs(e[1]-e[0])*t<1)return e;const i=Math.round(e[0]*t)/t;return[i,i+(e[1]-e[0])]}(Gn([e.xDomain[0]-h/d*m,e.xDomain[1]-h/d*m],B),A),B);if(e.independent){const e=[...a.value];e[I.index]=Fn(E,Q,d),a.value=e}else o.value=Fn(E,Q,r.value);if(Yn(A))return t("zoom-change",E),E;const p=e.independent?[I]:s.value.filter(e=>e.hasVisibleSeries),f={...g.value},y={...c.value};return p.forEach(t=>{const i=l.value.find(e=>e.id===t.id);if(i&&function(e,A,t){return Boolean(Ti(e,t)||e.visibleSeries.some(e=>Zi(e,A,t)))}(i,A.yDomain,A.yDomains))return;const n=t.series?.trackId??t.series?.id??t.id,a=e.yDomains[n]??t.yScale.domain(),o=i?.yDomain??a,r=a[1]-a[0],s=Gn([a[0]+C/u*r,a[1]+C/u*r],o);e.independent?f[t.index]=s:y[n]=s}),e.independent?g.value=f:c.value=y,t("zoom-change",E),E}}(e),F=e=>{const A=n.value;!A||e&&e.pointerId!==A.pointerId||b(A.pointerId,e)};return{selectionBox:M,beginViewportDrag:D,beginSharedViewportDrag:e=>{if(!c.value)return;const[A,t]=pe(e,c.value),i=v(A,t),n=(i?.hasVisibleSeries?i:void 0)??o.value.find(e=>e.hasVisibleSeries);n&&D(e,n.index,!1)},updateViewportDrag:e=>{if(Q.value)return;const A=n.value,t=x.value;if(!A||!t||e.pointerId!==A.pointerId)return;const i=o.value.find(e=>e.index===A.trackIndex);if(!i)return;const[a,r]=pe(e,t),s=Math.max(0,Math.min(A.independent?i.width:l.value,a)),c=Math.max(0,Math.min(A.independent?i.height:g.value,r)),I=da(n.value,{type:"move",pointerId:e.pointerId,position:{currentX:s,currentY:c}});if(!I.accepted||!I.state)return;const d=I.state;n.value=d,"pan"===d.kind&&N(d,i),e.preventDefault()},finishViewportDrag:e=>{if(Q.value)return void F();const A=n.value;if(!A||e.pointerId!==A.pointerId)return;const a=o.value.find(e=>e.index===A.trackIndex),r=x.value;if(!a||!r||!r.parentNode)return void b(A.pointerId,e);const[c,h]=pe(e,r),C=Math.max(0,Math.min(A.independent?a.width:l.value,c)),m=Math.max(0,Math.min(A.independent?a.height:g.value,h)),B=da(n.value,{type:"finish",pointerId:e.pointerId,position:{currentX:C,currentY:m}}).completed;if(B){if(n.value=null,k(B.pointerId,e),x.value=void 0,e.preventDefault(),"pan"===B.kind){const e=N(B,a);return e.some((e,A)=>Math.abs(e-B.xDomain[A])>1e-12)&&i("pan-end",{start:e[0],end:e[1],...B.independent?{trackIndex:a.index,seriesIds:a.seriesList.map(e=>e.id)}:{}}),void I(p)}Math.abs(B.currentX-B.startX)>=6&&(e=>{const A=o.value.find(A=>A.index===e.trackIndex);if(!A)return;const n=e.independent?0:A.left,a=Math.max(0,Math.min(A.width,Math.min(e.startX,e.currentX)-n)),r=Math.max(0,Math.min(A.width,Math.max(e.startX,e.currentX)-n));if(r-a<6)return;const g=e.independent?E(A):s.value,c=e.independent?[A.seriesList]:o.value.filter(e=>e.hasVisibleSeries).map(e=>e.seriesList),h=Jn([A.xScale.invert(a),A.xScale.invert(r)],g,c,t);if(Rn(A.xScale.domain(),h))return;if(e.independent){const e=[...u.value];e[A.index]=Fn(h,g,A.width),u.value=e}else d.value=Fn(h,g,l.value);!function(e,A,t,i){e("zoom-intent",i?{start:A[0],end:A[1],trackIndex:t.index,seriesIds:t.seriesList.map(e=>e.id),gesture:"box"}:{start:A[0],end:A[1],gesture:"box"})}(i,h,A,e.independent);const C=e.independent?[A]:o.value.filter(e=>e.hasVisibleSeries),m=Object.fromEntries(C.map(e=>[e.series?.trackId??e.series?.id??e.id,e.yScale.domain()]));if(i("zoom-change",h),e.independent){const e=m[A.series?.trackId??A.series?.id??A.id];i("zoom-end",{start:h[0],end:h[1],trackIndex:A.index,seriesIds:A.seriesList.map(e=>e.id),yStart:e?.[0],yEnd:e?.[1],gesture:"box"})}else if(1===C.length){const e=Object.values(m)[0];i("zoom-end",{start:h[0],end:h[1],yStart:e?.[0],yEnd:e?.[1],gesture:"box"})}else i("zoom-end",{start:h[0],end:h[1],yRanges:m,gesture:"box"});I(p)})(B)}},cancelViewportDrag:F,resetViewport:A=>{if(e.clearBoundaries?.(A),f(),F(),"independent"===t.displayMode&&void 0!==A){const e=[...u.value];e[A]=De,u.value=e;const t={...C.value};delete t[A],C.value=t}else d.value=De,u.value=r.value.map(()=>De),h.value={},C.value={};y(),B.value=[],I(p)},setViewportDomain:ua({props:t,trackLayouts:o,initialXDomain:s,resolveInitialTrackDomain:E,innerWidth:l,sharedTransform:d,independentTransforms:u,cancelPendingZoom:f,cancelViewportDrag:F,clearHover:y,editorSeriesOptions:B,configureZoom:p})}}({clearBoundaries:e=>Le.clearBoundaries(e),props:n,emit:t,selection:L,spacePressed:j,trackLayouts:ge,chartTracks:se,initialXDomain:Be,innerWidth:he,innerHeight:ae,sharedOverlayElement:l,sharedTransform:f,independentTransforms:y,sharedYDomains:x,independentYDomains:b,isZoomMode:Qe,isPresentationMode:_,editorSeriesOptions:Z,resolveInitialTrackDomain:ve,configureZoom:Ge.configureZoom,cancelPendingZoom:Ge.cancelPendingZoom,clearHover:()=>Ze.clearHover(),resolveTrackAtPointer:Ye.resolveTrackAtPointer}),Ze=function(e){const{emit:A,hoverState:t,suppressHoverUntilMove:i,hoverThrottle:n,selection:a,trackLayouts:o,innerWidth:r,resolvedChartLeftMargin:s,titleAreaHeight:l,chartTopMargin:g,sharedOverlayElement:c,isPresentationMode:I,updateViewportDrag:d,resolveTrackAtPointer:u}=e,h=()=>n.cancel(),C=e=>n.schedule(e),m=(e,i,n,a,o)=>{I.value||((e=>t.points.length===e.length&&e.every((e,A)=>{const i=t.points[A];return i?.id===e.id&&i.trackIndex===e.trackIndex&&i.point===e.point}))(e)||(t.points=e),t.trackIndex=i,t.queryX=n,t.crosshairXByTrack=a,t.position=o,A("point-hover",t.points.find(e=>e.point)?.point??null))},Q=()=>{h(),t.points=[],t.trackIndex=null,t.queryX=null,t.crosshairXByTrack={},A("point-hover",null)},B=(e,A,t)=>({id:e.id,shotNo:e.shotNo,name:e.name,color:e.color,unit:e.unit,trackIndex:A,point:t}),E=()=>!!i.value&&(i.value=!1,Q(),!0),p=(e,A)=>{const t=e.source??JA(e.points),i=t.pointAt(0),n=t.pointAt(t.length-1);if(i&&n)return A<=i.x?i:A>=n.x?n:t.nearestPoint(A)},f=(e,A)=>{let t,i=-1/0;if(e.seriesList.forEach(e=>{const A=e.source??JA(e.points),n=A.pointAt(0),a=A.pointAt(A.length-1);if(!n||!a)return;const o=a.x-n.x;o>i&&(i=o,t=[n.x,a.x])}),t)return Math.max(t[0],Math.min(t[1],A))};return{cancelPendingHover:h,clearHover:Q,handlePointerLeave:()=>{I.value||Q()},beginAnnotationDrag:()=>{i.value=!0,Q()},endAnnotationDrag:(e=!1)=>{i.value=!e,Q()},handleIndependentPointerMove:(e,A)=>{if(I.value)return;if(a.value?.trackIndex===A&&a.value.independent)return void d(e);if(E())return;const t=e.currentTarget;if(!t)return;const[i,n]=pe(e,t),c=o.value[A];c&&c.hasVisibleSeries&&C(()=>{const e=o.value[A];if(!e||!e.hasVisibleSeries||e!==c)return;const t=c.xScale.invert(Math.max(0,Math.min(r.value,i))),a=c.seriesList.map(e=>B(e,A,p(e,t)??null)),I=f(c,t);m(a,A,t,void 0===I?{}:{[A]:I},{x:s.value+c.left+i,y:l.value+g.value+c.top+n})})},handleSharedPointerMove:e=>{if(I.value)return;if(a.value&&!a.value.independent)return void d(e);if(E())return;if(!c.value||!o.value.length)return;const[A,t]=pe(e,c.value);C(()=>{const e=u(A,t),i=(e?.hasVisibleSeries?e:void 0)??o.value.find(e=>e.hasVisibleSeries);if(!i)return;const n=Math.max(0,Math.min(i.width,A-i.left)),a=i.xScale.invert(n),r=o.value.flatMap(e=>e.seriesList.map(A=>B(A,e.index,p(A,a)??null))),c=Object.fromEntries(o.value.flatMap(e=>{const A=f(e,a);return void 0===A?[]:[[e.index,A]]}));m(r,null,a,c,{x:s.value+A,y:l.value+g.value+t})})}}}({emit:t,hoverState:M,suppressHoverUntilMove:D,hoverThrottle:U,selection:L,trackLayouts:ge,innerWidth:he,resolvedChartLeftMargin:ue,titleAreaHeight:ie,chartTopMargin:ne,sharedOverlayElement:l,isPresentationMode:_,updateViewportDrag:Re.updateViewportDrag,resolveTrackAtPointer:Ye.resolveTrackAtPointer}),Ue=()=>{Re.cancelViewportDrag(),Ge.cancelPendingZoom(),Ze.clearHover(),Ye.cancelAnnotation()},Le=function(e){let t=0;const i=A(()=>"independent"===e.props.displayMode),n=()=>i.value?e.layout.trackLayouts.value.map(e=>({id:e.id,tracks:[e]})):[{id:"shared",tracks:e.layout.trackLayouts.value}],a=A=>({xDomain:[...i.value?A[0].xScale.domain():e.layout.sharedZoomDomain.value],yDomains:Object.fromEntries(A.flatMap(e=>e.seriesPaths.map(e=>[e.series.id,e.yScale.domain()])))}),o=(A,t=!1)=>i.value?(t?e.layout.resolveOriginalTrackDomain:e.layout.resolveInitialTrackDomain)(A[0]):(t?e.layout.originalXDomain:e.layout.initialXDomain).value,r=A=>{if(i.value&&void 0!==A){const t=e.layout.trackLayouts.value.find(e=>e.index===A)?.id,i={...e.boundaries.value};t&&delete i[t],e.boundaries.value=i}else e.boundaries.value={}};function s(A,t={},r){const s=n();return void 0===t.trackId||i.value&&s.some(e=>e.id===t.trackId)?"set-domain"!==A||r&&r.every(Number.isFinite)&&r[0]!==r[1]?{entries:(void 0===t.trackId?s:s.filter(e=>e.id===t.trackId)).map(({id:t,tracks:n})=>{const s=n.some(e=>e.seriesList.some(e=>(e.source?.length??e.points.length)>0)),l=n.length?a(n):void 0;let g=n.length?o(n,"reset"===A):[0,1];"fit"===A&&(g=Hi(pi(n.flatMap(e=>e.seriesList.flatMap(e=>e.xDomain))),e.props.xDomainStrategy));const c=n.filter(e=>e.hasVisibleSeries).map(e=>e.seriesList),I=!l||"zoom-in"!==A&&"zoom-out"!==A?Jn(tn(r??g,e.props),g,c,e.props):Tn(l.xDomain,A,g,c,e.props),d="reset"===A||"fit"===A,u=d&&(i.value?n.some(A=>e.independentYDomains.value[A.index]):Object.keys(e.sharedYDomains.value).length>0),h=n.length&&!Zn(g,o(n)),C=!n.some(e=>e.seriesList.length>0)||"fit"===A&&!s?"empty-data":e.props.presentationMode||!e.props.zoomable?"disabled":l&&Zn(l.xDomain,I)&&!u&&!h?"unchanged":"applied";return{id:t,tracks:n,before:l,bounds:g,xDomain:I,status:C,resetsY:d}})}:{error:"invalid-domain",entries:[]}:{error:"invalid-target",entries:[]}}function l(A,o={},r,l="api"){const g=s(A,o,r);if(g.error)return{kind:"viewport",status:g.error,targets:[]};const{entries:c}=g,d=i.value,u={commandId:"command-"+ ++t,source:l,action:A},h=c.map(e=>({trackIndex:d?e.tracks[0]?.index:void 0,seriesIds:e.tracks.flatMap(e=>e.seriesList.map(e=>e.id))}));c.some(e=>"applied"===e.status||"reset"===A&&"unchanged"===e.status)&&e.cancel();const C=[...e.independentTransforms.value],m={...e.boundaries.value},Q={...e.independentYDomains.value};for(const t of c)if("applied"===t.status)if("fit"===A&&(m[t.id]=t.bounds),"reset"===A&&delete m[t.id],d){const e=t.tracks[0];C[e.index]=Fn(t.xDomain,t.bounds,e.width),t.resetsY&&delete Q[e.index]}else e.sharedTransform.value=Fn(t.xDomain,t.bounds,e.layout.innerWidth.value),t.resetsY&&(e.sharedYDomains.value={});c.some(e=>"applied"===e.status)&&(e.boundaries.value=m,e.independentTransforms.value=C,e.independentYDomains.value=Q);const B=n(),E=c.map(e=>({trackId:e.id,status:e.status,before:e.before,after:B.find(A=>A.id===e.id)?.tracks.length?a(B.find(A=>A.id===e.id).tracks):void 0})),p=c.map(e=>{const A=B.find(A=>A.id===e.id)?.tracks??[],t=Object.fromEntries(A.map(e=>[e.series?.trackId??e.series?.id??e.id,e.yScale.domain()])),i=Object.values(t)[0];return d||1===A.length?{yStart:i?.[0],yEnd:i?.[1]}:{yRanges:t}});return E.forEach((t,i)=>{if("reset"!==A||"applied"!==t.status&&"unchanged"!==t.status){if("applied"===t.status&&t.after){const[n,a]=t.after.xDomain,o={...u,...h[i],start:n,end:a,gesture:"command",...p[i]};"fit"!==A&&e.emit("zoom-intent",o),e.emit("zoom-change",[n,a]),e.emit("zoom-end",o)}}else e.emit("zoom-reset",{...u,...h[i]})}),E.some(e=>"applied"===e.status)&&I(e.configure),{kind:"viewport",status:["applied","unchanged","disabled","empty-data"].find(e=>E.some(A=>A.status===e))??"empty-data",targets:E}}const g=A(()=>{const A=["zoom-in","zoom-out","reset","fit","set-domain"],t=n().filter(e=>e.tracks.length).map(e=>({trackId:e.id,label:i.value?e.tracks[0].series?.name||e.id:"共享范围",viewport:a(e.tracks),available:Object.fromEntries(A.map(A=>{const t=s(A,i.value?{trackId:e.id}:{},a(e.tracks).xDomain).entries[0];return[A,"applied"===t?.status||("reset"===A||"set-domain"===A)&&"unchanged"===t?.status]}))}));return{mode:e.mode.mode.value,independent:i.value,targets:t,available:{"zoom-box":e.mode.canSetMode("zoom"),pan:e.mode.canSetMode("pan"),annotate:e.mode.canSetMode("annotation"),export:!0,"zoom-in":t.some(e=>e.available["zoom-in"]),"zoom-out":t.some(e=>e.available["zoom-out"]),reset:t.some(e=>e.available.reset),fit:t.some(e=>e.available.fit)}}}),c=()=>JSON.parse(JSON.stringify(g.value));return N(()=>JSON.stringify(g.value),()=>e.emit("control-state-change",c())),{controlState:g,getControlState:c,execute:l,clearBoundaries:r,restoreInitialBoundaries:function(){if(!Object.keys(e.boundaries.value).length)return;const A=n().filter(e=>e.tracks.length).map(e=>({index:i.value?e.tracks[0].index:void 0,domain:a(e.tracks).xDomain}));r(),A.forEach(A=>e.legacySet(A.domain,A.index))},resetViewport:function(A){if("object"==typeof A)return l("reset",A);e.legacyReset(A)},setViewportDomain:function(A,t){if("object"==typeof t)return l("set-domain",t,A);A.every(Number.isFinite)&&A[0]!==A[1]&&r(t),e.legacySet(A,t)},zoomIn:e=>l("zoom-in",e),zoomOut:e=>l("zoom-out",e),fitToData:e=>l("fit",e),setInteractionMode:e.mode.setInteractionMode}}({props:n,emit:t,layout:oe,mode:i,boundaries:a,independentTransforms:y,sharedTransform:f,independentYDomains:b,sharedYDomains:x,cancel:Ue,configure:Ge.configureZoom,legacyReset:Re.resetViewport,legacySet:Re.setViewportDomain});N([i.mode,()=>n.zoomable,()=>n.pannable,()=>n.annotationsVisible],Ue,{flush:"sync"}),N([G,()=>n.displayMode],()=>{a.value={},Ue()}),N([()=>n.initialXDomain,()=>n.initialXDomains,$,()=>n.xDomainStrategy],Le.restoreInitialBoundaries,{deep:!0}),h(Ue);const je=function(e){const{props:A,emit:t,spacePressed:i,pointerInsideChart:n,currentPage:a,pageCount:o,pagedTracks:r,gridOptions:s,chartSeries:l,chartTracks:g,innerWidth:c,innerHeight:d,activeInteractionMode:u,hiddenSeriesIdSet:m,internalHiddenSeriesIds:Q,independentTransforms:B,independentYDomains:E,annotationInteraction:p,editorSeriesOptions:f,isPresentationMode:y,clearHover:v,cancelAnnotation:w,configureZoom:x,resetViewport:k,cancelViewportDrag:b,cancelPendingHover:M,clearZoomBindings:D}=e;function F(e){var t;"Escape"===e.key&&(b(),w()),!y.value&&"Space"===e.code&&A.pannable&&n.value&&((t=e.target)instanceof Element&&Boolean(t.closest('button, input, select, textarea, [contenteditable]:not([contenteditable="false"])'))||(i.value=!0,e.preventDefault()))}function G(e){"Space"===e.code&&(i.value=!1)}const{handleBeforeDataReferenceChange:Y,handleDataReferenceChange:S}=function(e){const{props:A,trackLayouts:t,resolveInitialTrackDomain:i,sharedZoomDomain:n,initialXDomain:a,independentTransforms:o,chartTracks:r,clearHover:s,editorSeriesOptions:l,sharedTransform:g,innerWidth:c,configureZoom:d}=e;let u,h;return{handleBeforeDataReferenceChange:function(){if("independent"===A.displayMode)return u=void 0,void(h=new Map(t.value.flatMap(t=>{const n=t.xScale.domain(),a=i(t);return e.preserveFullViewport?.()||Yn(A)||n[1]-n[0]<a[1]-a[0]-1e-12?[[ha(t.seriesList.map(e=>e.id)),n]]:[]})));h=void 0;const o=n.value,r=a.value;u=e.preserveFullViewport?.()||Yn(A)||o[1]-o[0]<r[1]-r[0]-1e-12?[...o]:void 0},handleDataReferenceChange:function(){if("independent"===A.displayMode){const e=o.value;o.value=r.value.map((A,t)=>e[t]??De)}s(),l.value=[],I(()=>{if("independent"===A.displayMode&&h){const e=r.value.map(()=>De);t.value.forEach(t=>{const n=h?.get(ha(t.seriesList.map(e=>e.id)));if(!n)return;const a=i(t),o=Sn(n,a,[t.seriesList],A);e[t.index]=Fn(o,a,t.width)}),o.value=e,h=void 0}else if("independent"!==A.displayMode&&u){const e=a.value,i=t.value.filter(e=>e.hasVisibleSeries).map(e=>e.seriesList),n=Sn(u,e,i,A);g.value=Fn(n,e,c.value),u=void 0}d()})}}}(e);return function(e,A={}){const{container:t,titleMeasureElement:i,resizeObserver:n,observedWidth:a,observedHeight:o,measuredTitleWidth:r,measuredTitleHeight:s,resolvedTitleText:l,titleAreaReserved:g,titleMeasureStyle:c}=e;function d(){if(!g.value||!i.value)return r.value=0,void(s.value=0);const e=i.value.getBoundingClientRect();r.value=i.value.scrollWidth||e.width,s.value=i.value.scrollHeight||e.height}N([l,g,c],async()=>{r.value=0,s.value=0,await I(),d()},{immediate:!0}),C(()=>{t.value&&(n.value=new ResizeObserver(([e])=>{A.beforeResize?.(),a.value=Math.max(0,e?.contentRect.width??0),o.value=Math.max(0,e?.contentRect.height??0),A.afterResize?.(),I(d)}),n.value.observe(t.value))}),h(()=>n.value?.disconnect())}(e,{beforeResize:()=>{Yn(A)&&Y()},afterResize:()=>{Yn(A)&&S()}}),N([c,d,()=>A.zoomable,y,()=>A.minZoomSpan,()=>A.minVisiblePoints,()=>A.maxZoomScale,()=>A.initialXDomain,()=>A.initialXDomains,()=>A.xDomainStrategy,()=>A.displayMode,()=>g.value.length,a,()=>s.value.rowCount,()=>s.value.columnCount,()=>s.value.fillIncompleteLastRow,u],async()=>{await I(),x()},{immediate:!0}),N(()=>[A.displayMode,A.integerZoom],()=>{const e=a.value;a.value=1,k(),1!==e&&t("page-change",1,o.value)}),N([o,()=>A.grid?.rowCount,()=>A.grid?.columnCount,()=>A.grid?.fillIncompleteLastRow],()=>{const e=a.value;a.value=a.value>o.value?o.value:1!==a.value?1:a.value,e!==a.value&&t("page-change",a.value,o.value),v(),I(x)}),N(u,()=>{f.value=[]}),N(y,e=>{i.value=!1,e&&(b(),D(),v(),p.closeContextMenu(),w())}),N(()=>l.value.map(e=>e.id).join("\0"),()=>{if(void 0!==A.hiddenSeriesIds)return;const e=new Set(l.value.map(e=>e.id)),t=new Set(Array.from(Q.value).filter(A=>e.has(A)));(t.size!==Q.value.size||Array.from(Q.value).some(e=>!t.has(e)))&&(Q.value=t)},{immediate:!0}),N(()=>g.value.flatMap(e=>e.visibleSeries.map(e=>e.id)).join("\0"),()=>{v(),f.value=[];const e=p.editorDraft.value?.annotation.seriesId;!e||l.value.some(A=>A.id===e)&&!m.value.has(e)||p.closeEditor();const t=p.contextMenu.value?.annotationId,i=A.annotations.find(e=>e.id===t);i&&m.value.has(i.seriesId)&&p.closeContextMenu(),I(x)}),N(()=>A.annotationsVisible,e=>{e||(p.closeContextMenu(),w())}),N(()=>A.annotations,e=>{const A=p.contextMenu.value?.annotationId;A&&!e.some(e=>e.id===A)&&p.closeContextMenu();const t=p.editorDraft.value;"edit"!==t?.mode||e.some(e=>e.id===t.annotation.id)||p.closeEditor()},{deep:!0}),C(()=>{window.addEventListener("keydown",F),window.addEventListener("keyup",G)}),h(()=>{window.removeEventListener("keydown",F),window.removeEventListener("keyup",G),M(),D(),f.value=[]}),{goToPage:function(e){const i=Math.min(o.value,Math.max(1,Math.floor(e)));i!==a.value&&(a.value=i,v(),p.closeContextMenu(),w(),"independent"===A.displayMode&&(B.value=r.value.map(()=>De),E.value={}),I(x),t("page-change",i,o.value))},handleBeforeDataReferenceChange:Y,handleDataReferenceChange:S}}({preserveFullViewport:()=>Object.keys(a.value).length>0,props:n,emit:t,container:o,titleMeasureElement:s,resizeObserver:Y,observedWidth:g,observedHeight:d,measuredTitleWidth:u,measuredTitleHeight:Q,resolvedTitleText:ee,titleAreaReserved:Ae,titleMeasureStyle:te,spacePressed:j,pointerInsideChart:O,currentPage:G,pageCount:Ie,pagedTracks:de,gridOptions:ce,chartSeries:re,chartTracks:se,trackLayouts:ge,innerWidth:he,innerHeight:ae,sharedZoomDomain:Ee,initialXDomain:Be,sharedTransform:f,activeInteractionMode:me,hiddenSeriesIdSet:$,internalHiddenSeriesIds:J,independentTransforms:y,independentYDomains:b,resolveInitialTrackDomain:ve,annotationInteraction:R,editorSeriesOptions:Z,isPresentationMode:_,clearHover:Ze.clearHover,cancelAnnotation:Ye.cancelAnnotation,configureZoom:Ge.configureZoom,resetViewport:Re.resetViewport,cancelViewportDrag:Re.cancelViewportDrag,cancelPendingHover:Ze.cancelPendingHover,clearZoomBindings:Ge.clearZoomBindings});W=je.handleBeforeDataReferenceChange,X=()=>{a.value={},Re.cancelViewportDrag(),je.handleDataReferenceChange(),I(Ge.configureZoom)};const Oe=function(e){let A,t=!1,i=!1,n=0;return N(e.version,()=>{n++,A?.(wn("export-stale"))},{flush:"sync"}),h(()=>{i=!0,A?.(wn("export-cancelled"))}),{exportImage:async function(a={}){const o=a.format??"png",r=a.scale??1;if(!["png","svg"].includes(o)||!Number.isFinite(r)||r<=0||r>4||"svg"===o&&1!==r||void 0!==a.backgroundColor&&("string"!=typeof a.backgroundColor||!CSS.supports("color",a.backgroundColor)))throw wn("export-invalid-options");if(i)throw wn("export-cancelled");if(t)throw wn("export-busy");const s=e.container(),l=e.svg(),g=e.size();if(!s||!l||g.width<=0||g.height<=0)throw wn("export-unavailable");t=!0;const c=n;let d,u,h,C,m,Q=!1;const B=()=>{if(i)throw wn("export-cancelled");if(c!==n)throw wn("export-stale");if(Q)throw wn("export-timeout")},E=new Promise((e,t)=>{A=t,d=setTimeout(()=>t(wn("export-timeout")),5e3)}),p=async()=>{await I(),B(),await new Promise(A=>{const t=()=>{Q||(e.ready()?A():u=setTimeout(t,16))};t()}),await(document.fonts?.ready),await I(),B(),En(l);const A=function(e,A,t,i,n,a){const o=fn("svg",{width:t,height:i,viewBox:`0 0 ${t} ${i}`}),r=a??getComputedStyle(e).backgroundColor;o.appendChild(fn("rect",{width:t,height:i,fill:r||"#fff"}));const s=A.cloneNode(!0);vn(A,s),function(e,A){const t=e.querySelectorAll("foreignObject");A.querySelectorAll("foreignObject").forEach((e,A)=>{const i=t[A],n=i.getBoundingClientRect(),a=fn("g",{class:"waveform-export-legend"}),o=Number(i.getAttribute("width"))||n.width,r=n.width>0?o/n.width:1,s=i.querySelector(".waveform-legend__panel");if(s){const e=s.getBoundingClientRect();a.appendChild(fn("rect",{x:(e.left-n.left)*r,y:(e.top-n.top)*r,width:e.width*r,height:e.height*r,rx:4,fill:getComputedStyle(s).backgroundColor,stroke:"#d0d5dd"}))}i.querySelectorAll(".waveform-legend__item").forEach(e=>{const A=e.getBoundingClientRect(),t=fn("g",{transform:`translate(${(A.left-n.left)*r},${(A.top-n.top)*r})`,opacity:getComputedStyle(e).opacity}),i=e.querySelector("svg");if(i){const e=i.cloneNode(!0);vn(i,e),e.setAttribute("width","26"),e.setAttribute("height","16"),t.appendChild(e)}const o=e.querySelector(".waveform-legend__label");if(o){const e=fn("text",{x:32,y:12,fill:getComputedStyle(o).color,"font-size":12,"font-family":"sans-serif","text-decoration":getComputedStyle(o).textDecorationLine});e.textContent=o.textContent,t.appendChild(e)}a.appendChild(t)}),e.replaceWith(a)})}(A,s),s.querySelectorAll(".waveform-chart__overlay, .waveform-chart__hover-layer, .waveform-chart__zoom-selection").forEach(e=>e.remove()),s.setAttribute("y",String(n)),s.removeAttribute("role"),s.removeAttribute("aria-label"),o.appendChild(s);const l=function(e,A,t){const i=e.querySelector(".waveform-chart__title-text");if(!i)return;const n=getComputedStyle(i),a=i.getBoundingClientRect(),o=e.getBoundingClientRect(),r=o.width?t/o.width:1,s=document.createElementNS(pn,"g"),l="undefined"!=typeof DOMMatrix&&"none"!==n.transform&&n.transform?new DOMMatrix(n.transform):void 0,g=l?180*Math.atan2(l.b,l.a)/Math.PI:0,c=l?Math.hypot(l.a,l.b):1;s.setAttribute("transform",`translate(${(a.left-o.left+a.width/2)*r},${A/2}) rotate(${g}) scale(${c})`);const I=document.createElementNS(pn,"text");I.setAttribute("fill",n.color);for(const p of["font-family","font-size","font-weight","font-style","text-decoration","letter-spacing"])I.style.setProperty(p,n.getPropertyValue(p));const d=parseFloat(n.fontSize)||14,u=parseFloat(n.lineHeight)||1.4*d,h=i.clientWidth||parseFloat(n.width)||a.width||t,C=document.createElement("canvas"),m=C.getContext("2d");m&&(m.font=`${n.fontStyle} ${n.fontWeight} ${d}px ${n.fontFamily}`);const Q=[];let B="";for(const p of i.textContent??""){if("\n"===p){Q.push(B),B="";continue}const e=m?.measureText(B+p).width??(B.length+1)*d;"nowrap"!==n.whiteSpace&&B&&e>h?(Q.push(B),B=p):B+=p}Q.push(B);const E=n.textAlign;return I.setAttribute("text-anchor","left"===E?"start":"right"===E?"end":"middle"),Q.forEach((e,A)=>{const t=document.createElementNS(pn,"tspan");t.setAttribute("x",String("left"===E?-h/2:"right"===E?h/2:0)),t.setAttribute("y",String((A-(Q.length-1)/2)*u)),t.setAttribute("dominant-baseline","middle"),t.textContent=e,I.appendChild(t)}),C.width=0,C.height=0,s.appendChild(I),s}(e,n,t);return l&&o.appendChild(l),(new XMLSerializer).serializeToString(o)}(s,l,g.width,g.height,g.titleHeight,a.backgroundColor),t=new Blob([A],{type:"image/svg+xml"});if("svg"===o)return t;h=URL.createObjectURL(t),C=new Image,await new Promise((e,A)=>{C.onload=()=>e(),C.onerror=()=>A(wn("export-render-failed")),C.src=h}),B(),m=document.createElement("canvas"),m.width=Math.round(g.width*r),m.height=Math.round(g.height*r);const i=m.getContext("2d");if(!i)throw wn("export-render-failed");i.drawImage(C,0,0,m.width,m.height);const n=await new Promise((e,A)=>m.toBlob(t=>t?e(t):A(wn("export-render-failed")),"image/png"));return B(),n};try{return e.prepare?.(),await Promise.race([E,p()])}catch(f){if(f instanceof Error&&"code"in f)throw f;throw wn("export-render-failed")}finally{Q=!0,clearTimeout(d),clearTimeout(u),C&&(C.onload=null,C.onerror=null,C.src=""),h&&URL.revokeObjectURL(h),m&&(m.width=0,m.height=0),A=void 0,t=!1,e.release?.()}}}}({container:()=>o.value,svg:()=>r.value,size:()=>({width:P.value,height:q.value,titleHeight:ie.value}),version:()=>function(e,A){return[e.data,JSON.stringify({...Je(e),...A})]}(n,{hidden:[...$.value],width:P.value,height:q.value,titleHeight:ie.value,page:G.value,shared:f.value,independent:y.value,sharedY:x.value,independentY:b.value,boundaries:a.value}),prepare:Me.prepareExport,release:Me.releaseExport,ready:be.ready});return E({...k(n),...z,plotCenterX:ke.plotCenterX,titleAreaStyle:ke.plotTitleAreaStyle,paginationVisible:Fe,...oe,...Ye,...Re,...Ze,...Me.wrap(Le),presentationTracks:Me.presentationTracks,presentationAnnotations:Me.presentationAnnotations,stabilizeAnimations:Me.stabilizeAnimations,...Oe,margin:yA,getPageSize:Ii,currentPage:G,selection:L,pointerInsideChart:O,hoverState:M,annotationInteraction:R,editorDraft:R.editorDraft,contextMenu:R.contextMenu,editorSeriesOptions:Z,clipPathId:S,goToPage:Me.wrapPagination(je.goToPage,Ie),setContainer:e=>Se(o,e),setSvgElement:e=>Se(r,e),setTitleMeasureElement:e=>Se(s,e),setSharedOverlayElement:e=>Se(l,e)})}var Ka={"zoom-box":"M3 3h6M3 3v6M21 3h-6M21 3v6M3 21h6M3 21v-6M21 21h-6M21 21v-6",pan:"M12 2v20M2 12h20M8 6l4-4 4 4M8 18l4 4 4-4M6 8l-4 4 4 4M18 8l4 4-4 4",annotate:"M4 4h16v12H9l-5 4V4M8 8h8M8 12h5","zoom-in":"M12 5v14M5 12h14","zoom-out":"M5 12h14",reset:"M4 11a8 8 0 1 1 1 6M4 4v7h7",fit:"M8 3H3v5M16 3h5v5M3 16v5h5M21 16v5h-5M8 8h8v8H8z",export:"M12 3v12M7 10l5 5 5-5M4 15v6h16v-6"},_a={"zoom-box":"zoom",pan:"pan",annotate:"annotation"},$a={"zoom-box":"框选缩放",pan:"平移",annotate:"注解","zoom-in":"放大","zoom-out":"缩小",reset:"重置",fit:"显示全部",export:"导出图片"},eo=["zoom-box","pan","annotate","zoom-in","zoom-out","reset","fit","export"],Ao=Object.fromEntries(eo.map(e=>{const A=_a[e],t="zoom-in"===e||"zoom-out"===e||"reset"===e||"fit"===e?e:void 0;return[e,{id:e,label:$a[e],icon:Ka[e],group:A?"mode":t?"viewport":"export",active:e=>!!A&&e.mode===A,enabled:(A,i)=>t&&i?!!A.targets.find(e=>e.trackId===i)?.available[t]:A.available[e],run:(e,i)=>{A?e.setInteractionMode(A):t&&e.execute(t,i?{trackId:i}:{},void 0,"toolbar")}}]})),to=["onKeydown"],io=["aria-expanded"],no=["value"],ao={key:2,class:"waveform-toolbar__scope"},oo=["data-group"],ro=["data-command","title","aria-label","aria-pressed","aria-expanded","disabled","onClick"],so={viewBox:"0 0 24 24","aria-hidden":"true"},lo=["d"],go={key:3,class:"waveform-toolbar__menu",role:"group","aria-label":"图片格式"},co={key:4,class:"waveform-toolbar__feedback",role:"status"},Io=/*#__PURE__*/Pn(/*@__PURE__*/l({__name:"WaveformToolbar",props:{controller:{}},setup(t){const o=t,r=A(()=>function(e){const A="object"==typeof e?e:{},t=[...new Set(A.items??eo)].filter(e=>Ao[e]),i=[];return t.forEach(e=>{const A=Ao[e];i.at(-1)?.[0]?.group===A.group?i.at(-1).push(A):i.push([A])}),{visible:!!e&&!1!==A.visible&&t.length>0,display:A.display??"hover",position:A.position??"top-right",groups:i}}(o.controller.toolbar)),s=A(()=>o.controller.chartWidth<440),l=p(!1),g=p(""),c=p(!1),I=p(!1),C=p("");let m=!1;async function Q(e){c.value=!1,I.value=!0,C.value="";try{const A=await o.controller.exportImage({format:e});if(m)return;const t=URL.createObjectURL(A),i=document.createElement("a");try{i.href=t,i.download=`waveform.${e}`,document.body.appendChild(i),i.click()}finally{i.remove(),URL.revokeObjectURL(t)}}catch(A){m||(C.value=A instanceof Error?A.message:"导出失败,请重试")}finally{I.value=!1}}function E(){l.value=!l.value,c.value=!1}function y(){c.value=!1,l.value=!1,o.controller.cancelViewportDrag()}return h(()=>{m=!0}),N(()=>o.controller.controlState,e=>{e.independent&&e.targets.some(e=>e.trackId===g.value)||(g.value="")}),N(()=>r.value.visible,()=>{c.value=!1}),(A,o)=>r.value.visible?(B(),n("div",{key:0,class:d(["waveform-toolbar",[`waveform-toolbar--${r.value.display}`,`waveform-toolbar--${r.value.position}`,{"waveform-toolbar--collapsed":s.value&&!l.value}]]),style:u({top:`${t.controller.titleAreaHeight+2}px`}),role:"toolbar","aria-label":"波形工具栏",onPointerdown:o[3]||(o[3]=J(()=>{},["stop"])),onClick:o[4]||(o[4]=J(()=>{},["stop"])),onDblclick:o[5]||(o[5]=J(()=>{},["stop"])),onWheel:o[6]||(o[6]=J(()=>{},["stop"])),onContextmenu:o[7]||(o[7]=J(()=>{},["stop"])),onKeydown:S(J(y,["stop"]),["esc"])},[s.value?(B(),n("button",{key:0,type:"button",class:"waveform-toolbar__toggle","aria-label":"图表工具","aria-expanded":l.value,onClick:E}," 工具 ",8,io)):i("",!0),t.controller.controlState.independent?Y((B(),n("select",{key:1,"onUpdate:modelValue":o[0]||(o[0]=e=>g.value=e),"aria-label":"操作图框"},[o[8]||(o[8]=a("option",{value:""},"当前页全部",-1)),(B(!0),n(e,null,f(t.controller.controlState.targets,e=>(B(),n("option",{key:e.trackId,value:e.trackId},x(e.label),9,no))),128))],512)),[[M,g.value]]):(B(),n("span",ao,"共享范围")),(B(!0),n(e,null,f(r.value.groups,(A,i)=>(B(),n("div",{key:i,class:"waveform-toolbar__group","data-group":A[0]?.group},[(B(!0),n(e,null,f(A,e=>(B(),n("button",{key:e.id,type:"button","data-command":e.id,title:e.label,"aria-label":e.label,"aria-pressed":"mode"===e.group?e.active(t.controller.controlState):void 0,"aria-expanded":"export"===e.id?c.value:void 0,disabled:!e.enabled(t.controller.controlState,g.value||void 0)||"export"===e.id&&I.value,onClick:A=>"export"===e.id?c.value=!c.value:e.run(t.controller,g.value||void 0)},[(B(),n("svg",so,[a("path",{d:e.icon},null,8,lo)]))],8,ro))),128))],8,oo))),128)),c.value?(B(),n("div",go,[a("button",{type:"button",onClick:o[1]||(o[1]=e=>Q("png"))},"下载 PNG"),a("button",{type:"button",onClick:o[2]||(o[2]=e=>Q("svg"))},"下载 SVG")])):i("",!0),I.value||C.value?(B(),n("span",co,x(I.value?"正在导出…":C.value),1)):i("",!0)],46,to)):i("",!0)}}),[["__scopeId","data-v-253fa741"]]),uo=["id"],ho={class:"waveform-annotation-editor__content"},Co={class:"waveform-annotation-editor__coordinates","aria-label":"标注坐标"},mo=["aria-invalid"],Qo={class:"waveform-annotation-editor__coordinate-value","aria-hidden":"true"},Bo=["id"],Eo={key:0,class:"waveform-annotation-editor__series","aria-label":"标注所属波形"},po={class:"waveform-annotation-editor__series-label"},fo=["value"],yo=["value"],vo={key:1},wo={class:"waveform-annotation-editor__field"},xo={class:"waveform-annotation-editor__label-row"},ko=["maxlength"],bo={class:"waveform-annotation-editor__colors"},Mo={class:"waveform-annotation-editor__color-field",title:"调整标注边框色和透明度"},Do={class:"waveform-annotation-editor__color-field",title:"调整标注文字色和透明度"},No={class:"waveform-annotation-editor__color-field",title:"调整标注背景色和透明度"},Fo=/*@__PURE__*/l({__name:"WaveformAnnotationEditor",props:{annotation:{},mode:{},series:{},seriesOptions:{},timeUnit:{default:"ms"},timeError:{default:""}},emits:["confirm","cancel","series-change","time-change"],setup(o,{emit:l}){const g=s(async()=>"undefined"==typeof window?{name:"WaveformColorPickerSsrFallback",render:()=>null}:(await(import("vue3-colorpicker"))).ColorPicker),c=o,d=l,h=p(),C=si("waveform-annotation-editor-title"),m=p(""),Q=p(""),E=p(!1),y=p(""),v=p(""),w=p(""),k=A(()=>E.value?Q.value.trim()&&Number.isFinite(Number(Q.value))?"":"请输入有效的时间":""),M=A(()=>E.value&&(k.value||c.timeError)||""),F=A(()=>m.value.trim().length>0&&Q.value.trim().length>0&&Number.isFinite(Number(Q.value))&&!M.value),S=A(()=>m.value.length),J=A(()=>{const e=c.seriesOptions?.find(e=>e.seriesId===c.annotation.seriesId);return e?{id:e.seriesId,name:e.name,color:e.color,unit:e.unit}:c.series});function R(e){Q.value=null==e?"":String(e),E.value=!1}function T(){E.value=!0,d("time-change",Q.value)}async function Z(){T(),await I(),F.value&&d("confirm",{...c.annotation,text:m.value.trim(),style:{borderColor:y.value,textColor:v.value,backgroundColor:w.value.trim()||"rgba(255, 255, 255, 0.92)"}})}function U(e){"Escape"===e.key&&d("cancel"),"Enter"===e.key&&(e.ctrlKey||e.metaKey)&&(e.preventDefault(),Z())}function L(e){const A=e.target;A.value&&d("series-change",A.value)}return N(()=>c.annotation.id,function(){const e=Ai(c.annotation.style);var A,t;m.value=c.annotation.text,Q.value=(A=c.annotation.x,t=c.timeUnit,Number.isFinite(A)?function(e){const A=e.toFixed(Math.max(0,3));return/^-0(?:\.0+)?$/.test(A)?A.slice(1):A}(Di(A,t)):String(A)),E.value=!1,y.value=e.borderColor,v.value=e.textColor,w.value=e.backgroundColor,I(()=>h.value?.focus())},{immediate:!0}),(A,o)=>(B(),t(b(Ge),{visible:!0,width:440,"mask-closable":!0,keyboard:!0,"cancel-text":"取消","ok-text":"保存标注","ok-button-props":{disabled:!F.value},"root-class-name":"waveform-annotation-editor-root","wrap-class-name":"waveform-annotation-editor",onCancel:o[4]||(o[4]=e=>d("cancel")),onOk:Z},{title:G(()=>[a("span",{id:b(C)},x("add"===c.mode?"添加标注":"编辑标注"),9,uo)]),default:G(()=>[a("div",ho,[a("div",Co,[a("label",{class:"waveform-annotation-editor__coordinate-input","aria-invalid":Boolean(M.value)},[o[5]||(o[5]=a("b",null,"X",-1)),r(b(Fe),{value:""===Q.value?void 0:Number(Q.value),controls:!0,step:.001,keyboard:!0,status:M.value?"error":void 0,"aria-label":"标注横轴时间","aria-invalid":Boolean(M.value),"aria-describedby":M.value?`${b(C)}-time-error`:void 0,onBlur:T,"onUpdate:value":R},null,8,["value","status","aria-invalid","aria-describedby"]),a("code",Qo,x(Q.value),1)],8,mo),M.value?(B(),n("p",{key:0,id:`${b(C)}-time-error`,class:"waveform-annotation-editor__coordinate-error",role:"alert"},x(M.value),9,Bo)):i("",!0),a("span",null,[o[6]||(o[6]=a("b",null,"Y",-1)),a("code",null,x(b(Mi)(c.annotation.y)),1)])]),o[13]||(o[13]=a("p",{class:"waveform-annotation-editor__coordinate-hint",role:"note"}," 修改 X 轴后失焦时会自动吸附最近的采样点 ",-1)),J.value?(B(),n("label",Eo,[a("i",{style:u({backgroundColor:J.value.color}),"aria-hidden":"true"},null,4),a("span",po,[o[7]||(o[7]=a("small",null,"标注波形",-1)),a("b",null,x(J.value.name),1)]),c.seriesOptions?.length?(B(),n("select",{key:0,value:c.annotation.seriesId,"aria-label":"选择标注波形",onChange:L},[(B(!0),n(e,null,f(c.seriesOptions,e=>(B(),n("option",{key:e.seriesId,value:e.seriesId},x(e.name)+x(e.unit?` (${e.unit})`:""),9,yo))),128))],40,fo)):J.value.unit?(B(),n("code",vo,x(J.value.unit),1)):i("",!0)])):i("",!0),a("label",wo,[a("span",xo,[o[8]||(o[8]=a("b",null,"标注文本",-1)),a("small",null,x(S.value)+"/"+x(b(40)),1)]),Y(a("textarea",{ref_key:"textarea",ref:h,"onUpdate:modelValue":o[0]||(o[0]=e=>m.value=e),rows:"4",maxlength:b(40),"aria-label":"标注文本",placeholder:"输入这处波形的说明",onKeydown:U},null,40,ko),[[D,m.value]])]),a("fieldset",bo,[o[12]||(o[12]=a("legend",null,"颜色与透明度",-1)),a("label",Mo,[o[9]||(o[9]=a("span",null,"边框色",-1)),r(b(g),{"pure-color":y.value,"onUpdate:pureColor":o[1]||(o[1]=e=>y.value=e),"aria-label":"标注边框色","use-type":"pure","picker-type":"chrome",format:"rgb","disable-alpha":!1,"blur-close":!0},null,8,["pure-color"])]),a("label",Do,[o[10]||(o[10]=a("span",null,"文字色",-1)),r(b(g),{"pure-color":v.value,"onUpdate:pureColor":o[2]||(o[2]=e=>v.value=e),"aria-label":"标注文字色","use-type":"pure","picker-type":"chrome",format:"rgb","disable-alpha":!1,"blur-close":!0},null,8,["pure-color"])]),a("label",No,[o[11]||(o[11]=a("span",null,"背景色",-1)),r(b(g),{"pure-color":w.value,"onUpdate:pureColor":o[3]||(o[3]=e=>w.value=e),"aria-label":"标注背景色","use-type":"pure","picker-type":"chrome",format:"rgb","disable-alpha":!1,"blur-close":!0},null,8,["pure-color"])])])])]),_:1},8,["ok-button-props"]))}}),Go=/*#__PURE__*/Pn(Fo,[["__scopeId","data-v-01ecd3a4"]]),Yo={class:"waveform-tooltip__series-content"},So={class:"waveform-tooltip__series-label"},Jo={key:0,class:"waveform-tooltip__value"},Ro={key:1,class:"waveform-tooltip__value waveform-tooltip__value--missing"},To=/*#__PURE__*/Pn(/*@__PURE__*/l({__name:"WaveformTooltip",props:{visible:{type:Boolean},position:{},timeUnit:{},hoveredPoint:{},seriesPoints:{},containerWidth:{},containerHeight:{}},setup(t){const r=t,s=p(null),l=p({width:0,height:0});function g(){const e=s.value?.getBoundingClientRect(),A=e?.width??0,t=e?.height??0;A===l.value.width&&t===l.value.height||(l.value={width:A,height:t})}N(s,(e,A,t)=>{if(g(),!e)return;const i=new ResizeObserver(g);i.observe(e),t(()=>i.disconnect())},{flush:"post"}),Q(g);const c=A(()=>{if(!r.visible||!r.hoveredPoint)return{display:"none"};const e=r.position.x+12,A=r.position.x-12-l.value.width,t=Math.max(1,Math.min(560,r.containerWidth-16));return{...e+l.value.width<=r.containerWidth-8?{left:`${e}px`}:A>=8?{right:r.containerWidth-r.position.x+12+"px"}:{left:"8px"},maxWidth:`${t}px`,visibility:l.value.width>0?"visible":"hidden",top:`${Math.max(8,Math.min(r.position.y-18,r.containerHeight-l.value.height-8))}px`}});return(A,r)=>t.visible&&t.hoveredPoint?(B(),n("div",{key:0,ref_key:"tooltipElement",ref:s,class:"waveform-tooltip waveform-chart__tooltip",style:u(c.value)},[(B(!0),n(e,null,f(t.seriesPoints,A=>(B(),n("span",{key:`${A.trackIndex}-${A.name}`,class:"waveform-tooltip__series waveform-chart__tooltip-series"},[a("i",{style:u({backgroundColor:A.color})},null,4),a("span",Yo,[a("span",So,[o(x(A.shotNo?.trim()||"未配置炮号")+": "+x(A.name),1),A.unit?(B(),n(e,{key:0},[o("("+x(A.unit)+")",1)],64)):i("",!0)]),A.point?(B(),n("span",Jo,"(x:"+x(b(Yi)(A.point.x,t.timeUnit))+" y:"+x(b(bi)(A.point.y))+")",1)):(B(),n("span",Ro,"无数据"))])]))),128))],4)):i("",!0)}}),[["__scopeId","data-v-88c44eda"]]),Zo=/*@__PURE__*/l({__name:"WaveformHoverHost",props:{state:{},visible:{type:Boolean},timeUnit:{},containerWidth:{},containerHeight:{}},setup(e){const i=e,n=A(()=>i.state.points.find(e=>e.point)?.point??null);return(A,i)=>(B(),t(To,{visible:e.visible&&null!==n.value,position:e.state.position,"time-unit":e.timeUnit,"hovered-point":n.value,"series-points":e.state.points,"container-width":e.containerWidth,"container-height":e.containerHeight},null,8,["visible","position","time-unit","hovered-point","series-points","container-width","container-height"]))}}),Uo={circle:we,square:ke,triangle:be,diamond:xe};function Lo(e,A=48){return"none"===e?null:ve().type(Uo[e]).size(A)()??null}function jo(e){return"none"===e?null:"M1 8H25"}function Oo(e){return"dashed"===e?"8 5":"dash-dot"===e?"8 5 1.5 5":void 0}function Wo(e){const A=(Number.isFinite(e)&&e>0?Math.min(e,24):8)/2,t=13-A,i=13+A;return[`M${t} 2H${i}`,"M13 2V14",`M${t} 14H${i}`].join("")}var Xo=["clip-path"],Ho=["opacity","clip-path","data-series-id","data-series-name"],Vo={key:0},zo=["id"],Po=["x","width","height"],qo=["data-series-id","data-series-name","data-y-axis-index","data-line-type","data-line-style","d","stroke","stroke-dasharray"],Ko=["data-series-id"],_o=["d","stroke","stroke-width"],$o=["data-series-id","data-point-type"],er=["d","fill"],Ar=/*@__PURE__*/l({__name:"WaveformSeriesLayer",props:{track:{},clipPathId:{}},setup(t){const o=t,r=A(()=>o.track.seriesPaths.map(e=>{const A=function(e,A,t=48){if("none"===e||0===A.length)return null;if("circle"===e){const e=Math.sqrt(t/Math.PI);return A.map(({x:A,y:t})=>`M${A+e},${t}A${e},${e},0,1,1,${A-e},${t}A${e},${e},0,1,1,${A+e},${t}`).join("")}if("square"===e){const e=Math.sqrt(t),i=e/2;return A.map(({x:A,y:t})=>`M${A-i},${t-i}h${e}v${e}h${-e}Z`).join("")}if("triangle"===e){const e=Math.sqrt(t/(3*Math.sqrt(3)/4)),i=e*Math.sqrt(3)/2,n=e/2;return A.map(({x:A,y:t})=>`M${A},${t-e}L${A+i},${t+n}L${A-i},${t+n}Z`).join("")}const i=Math.sqrt(t/(2*Math.tan(Math.PI/6))),n=i*Math.tan(Math.PI/6);return A.map(({x:e,y:A})=>`M${e},${A-i}L${e+n},${A}L${e},${A+i}L${e-n},${A}Z`).join("")}(e.series.pointType,e.pointRenderPoints.map(A=>({x:o.track.xScale(A.x),y:e.yScale(A.y)}))),t=e.series.errorBar.capWidth/2,i=e.errorBarRenderPoints.map(A=>{const{lower:i,upper:n}=jA(A),a=o.track.xScale(A.x),r=e.yScale(A.y-i),s=e.yScale(A.y+n);return[`M${a-t},${r}H${a+t}`,`M${a},${r}V${s}`,`M${a-t},${s}H${a+t}`].join("")}).join("");return{...e,pointPath:A,errorBarPath:i||null}}));return(A,o)=>!t.track.isEmpty&&t.track.hasVisibleSeries?(B(),n("g",{key:0,class:"waveform-track__series","clip-path":`url(#${t.clipPathId}-${t.track.index})`},[(B(!0),n(e,null,f(r.value,e=>(B(),n("g",{key:e.presentationKey??e.series.id,opacity:e.opacity??1,"clip-path":e.animationClip?`url(#${e.animationClip.id})`:void 0,class:"waveform-track__series-item waveform-chart__series","data-series-id":e.series.id,"data-series-name":e.series.name||void 0},[e.animationClip?(B(),n("defs",Vo,[a("clipPath",{id:e.animationClip.id,clipPathUnits:"userSpaceOnUse"},[a("rect",{x:e.animationClip.x,width:e.animationClip.width,height:t.track.height},null,8,Po)],8,zo)])):i("",!0),e.path?(B(),n("path",{key:1,class:"waveform-track__line waveform-chart__line","data-series-id":e.series.id,"data-series-name":e.series.name||void 0,"data-y-axis-index":e.yAxisIndex,"data-line-type":e.series.lineType,"data-line-style":e.series.lineStyle,d:e.path,stroke:e.series.color,"stroke-dasharray":b(Oo)(e.series.lineStyle)},null,8,qo)):i("",!0),e.series.errorBar.visible?(B(),n("g",{key:2,class:"waveform-track__error-bars waveform-chart__error-bars","data-series-id":e.series.id},[e.errorBarPath?(B(),n("path",{key:0,class:"waveform-track__error-bar waveform-chart__error-bar",d:e.errorBarPath,stroke:e.series.errorBar.color||e.series.color,"stroke-width":e.series.errorBar.width},null,8,_o)):i("",!0)],8,Ko)):i("",!0),"none"!==e.series.pointType?(B(),n("g",{key:3,class:"waveform-track__points waveform-chart__points","data-series-id":e.series.id,"data-point-type":e.series.pointType},[e.pointPath?(B(),n("path",{key:0,class:"waveform-track__point waveform-chart__point",d:e.pointPath,fill:e.series.color},null,8,er)):i("",!0)],8,$o)):i("",!0)],8,Ho))),128))],8,Xo)):i("",!0)}}),tr=/*#__PURE__*/Pn(Ar,[["__scopeId","data-v-9f231980"]]),ir=["clip-path"],nr=["data-y-axis-index","x2","y1","y2","stroke","stroke-opacity","stroke-width","stroke-dasharray"],ar=/*@__PURE__*/l({__name:"WaveformZeroLines",props:{track:{},clipPathId:{},innerWidth:{},cleanView:{type:Boolean},zeroLine:{}},setup(A){const t=A;function a(e){const[A,i]=e.scale.domain(),n=Math.abs(e.tickValues[1]-e.tickValues[0])*t.zeroLine.boundaryThreshold;return!t.zeroLine.visible||A>=0||i<=0||-A<n||i<n?null:e.scale(0)}return(t,o)=>!A.track.isEmpty&&A.track.hasVisibleSeries&&A.zeroLine.visible&&!A.cleanView?(B(),n("g",{key:0,class:"waveform-track__zero-lines waveform-chart__zero-lines","clip-path":`url(#${A.clipPathId}-${A.track.index})`,"aria-hidden":"true","pointer-events":"none"},[(B(!0),n(e,null,f(A.track.yAxes,t=>(B(),n(e,{key:`zero-line-${A.track.index}-${t.index}`},[null!==a(t)?(B(),n("line",{key:0,class:"waveform-track__zero-line waveform-chart__zero-line","data-y-axis-index":t.index,x1:"0",x2:A.track.width??A.innerWidth,y1:a(t)??0,y2:a(t)??0,stroke:A.zeroLine.color,"stroke-opacity":A.zeroLine.opacity,"stroke-width":A.zeroLine.width,"stroke-dasharray":A.zeroLine.dash||void 0},null,8,nr)):i("",!0)],64))),128))],8,ir)):i("",!0)}}),or=ar;function rr(e,A,t=""){const i=A?.trim();return i&&"--"!==i?`${e}${t}(${i})`:e}var sr=["transform"],lr=["transform"],gr={class:"waveform-track__axis-endpoint waveform-track__axis-endpoint--start waveform-chart__axis-endpoint waveform-chart__axis-endpoint--start",x:"0",y:"7",dy:"0.71em","text-anchor":"start"},cr=["x"],Ir=["data-y-axis-index","data-y-axis-side","transform"],dr={key:2},ur=["x","y","width"],hr=["fill","transform"],Cr=["data-y-axis-title-index"],mr=["x","y","width"],Qr=["fill","transform"],Br=/*@__PURE__*/l({__name:"WaveformTrackAxes",props:{track:{},innerWidth:{},cleanView:{type:Boolean},axes:{},timeUnit:{},yLabel:{},showUnits:{type:Boolean,default:!0},showLabelUnits:{type:Boolean},hideYAxisTitles:{type:Boolean},hideOverlappingMaximumLabel:{type:Boolean}},setup(t){const o=t,r=A(()=>Oi(o.axes?.y?.labelTextStyle)),s=A(()=>{const e=o.axes?.y?.labelTextStyle;return{fontSize:`${ji(e)}px`,fontWeight:e?.fontWeight??600,fontFamily:e?.fontFamily,fontStyle:e?.fontStyle??"normal"}}),l=p(),g=p([]);function c(e){const A=e.name.trim()||o.yLabel||"";return o.showLabelUnits?rr(A,e.unit):A}function m(e){const A=e.seriesList[0];return Boolean(A&&c(A))}function Q(){if(o.track.yAxes.forEach((e,A)=>{const t=g.value[A];if(!t)return;const i=o.showUnits?e.seriesList[0]?.unit:void 0,n=Math.max(...e.tickValues),a=Math.min(...e.tickValues),r=A=>on(A,e.scale.domain(),e.tickValues,i,e.side),s=("left"===e.side?T(e.scale):Z(e.scale)).tickFormat(e=>r(Number(e))).tickSize(-4).tickPadding(7).tickSizeOuter(0).tickValues(e.tickValues),l=ye(t);un(t,s,e.scale,e.tickValues,e.side,r),dn(t,"data-label-domain-min",e.scale.domain()[0]),dn(t,"data-label-domain-max",e.scale.domain()[1]),dn(t,"data-label-unit",i??null),l.selectAll(".tick").each(function(A){const t=this.querySelector("text");t&&(dn(t,"y",null),dn(t,"dy","0"),dn(t,"dominant-baseline","central"),dn(t,"data-axis-maximum-label",o.hideOverlappingMaximumLabel&&Ei(A,n)?"true":null),dn(t,"data-axis-minimum-label",o.hideOverlappingMaximumLabel&&Ei(A,a)?"true":null)),dn(this,"data-maximum-tick",void 0!==e.maximumTick&&Ei(A,e.maximumTick)?"true":null),dn(this,"data-minimum-tick",void 0!==e.minimumTick&&Ei(A,e.minimumTick)?"true":null),dn(this,"data-tick-value",A),dn(this,"data-tick-y",e.scale(A))}),l.selectAll("path.domain").each(function(){dn(this,"display",!1===o.axes?.y?.lineVisible?"none":null)})}),y(),!l.value)return;const e=ye(l.value),A=e=>Ni(e,o.track.xScale.domain(),o.timeUnit,"tick",o.axes?.x?.labelFormatter??o.track.xAxisLabelFormatter);un(l.value,R(o.track.xScale).tickValues(o.track.xAxisTickValues).tickFormat(e=>A(Number(e))).tickSize(-4).tickPadding(7).tickSizeOuter(0),o.track.xScale,o.track.xAxisTickValues,"bottom",A),e.selectAll("path.domain").each(function(){dn(this,"display",!1===o.axes?.x?.lineVisible?"none":null)})}let E=!1;function y(){E||(()=>{const e=g.value[0]?.ownerSVGElement;e&&function(e){Qn.has(e)||(Qn.add(e),queueMicrotask(()=>{Qn.delete(e),En(e)}))}(e)})()}return h(()=>{E=!0,document.fonts?.removeEventListener?.("loadingdone",y)}),C(async()=>{document.fonts?.addEventListener?.("loadingdone",y),document.fonts?.ready.then(()=>{E||y()}),await I(),Q()}),N([()=>o.track.xScale,()=>o.track.yAxes,()=>o.track.xAxisTickValues,()=>o.track.yAxisTickValues,()=>o.timeUnit,()=>o.showUnits,()=>o.axes?.x?.labelFormatter,()=>o.axes?.x?.lineVisible,()=>o.axes?.y?.lineVisible,()=>o.hideOverlappingMaximumLabel],async()=>{await I(),Q()},{flush:"post"}),(A,o)=>(B(),n(e,null,[t.track.showXAxis?(B(),n("g",{key:0,ref_key:"xAxisElement",ref:l,class:d(["waveform-track__axis waveform-track__axis--x waveform-chart__axis waveform-chart__axis--x",{"waveform-track__axis--line-hidden":!1===t.axes?.x?.lineVisible}]),transform:`translate(0, ${t.track.height})`},null,10,sr)):i("",!0),t.track.showXAxis?(B(),n("g",{key:1,class:"waveform-track__axis-endpoints waveform-chart__axis-endpoints",transform:`translate(0, ${t.track.height})`,"font-family":"sans-serif","font-size":"10","aria-hidden":"true"},[a("text",gr,x(t.track.endpointLabels.start),1),a("text",{class:"waveform-track__axis-endpoint waveform-track__axis-endpoint--end waveform-chart__axis-endpoint waveform-chart__axis-endpoint--end",x:t.track.width??t.innerWidth,y:"7",dy:"0.71em","text-anchor":"end"},x(t.track.endpointLabels.end),9,cr)],8,lr)):i("",!0),(B(!0),n(e,null,f(t.track.isEmpty?[]:t.track.yAxes,e=>(B(),n("g",{key:`y-axis-${t.track.index}-${e.index}`,ref_for:!0,ref:A=>function(e,A){e&&(g.value[A]=e)}(A,e.index),class:d(["waveform-track__axis waveform-track__axis--y waveform-chart__axis waveform-chart__axis--y",[`waveform-track__axis--${e.side}`,{"waveform-track__axis--line-hidden":!1===t.axes?.y?.lineVisible}]]),"data-y-axis-index":e.index,"data-y-axis-side":e.side,transform:`translate(${e.x}, 0)`},null,10,Ir))),128)),!t.cleanView&&!t.hideYAxisTitles&&!t.track.isEmpty&&t.track.hasVisibleSeries&&1===t.track.seriesList.length&&t.track.showYAxisLabel&&t.track.series&&c(t.track.series)?(B(),n("g",dr,[a("rect",{class:"waveform-track__y-axis-label-bg waveform-chart__y-axis-label-bg",x:t.track.yAxes[0].labelX-r.value/2,y:t.track.height/2-40,width:r.value,height:"80",rx:"2"},null,8,ur),a("text",{class:"waveform-track__y-axis-label waveform-chart__y-axis-label",fill:t.axes?.y?.labelTextStyle?.color||t.track.series?.color,style:u(s.value),transform:`translate(${t.track.yAxes[0].labelX}, ${t.track.height/2}) rotate(-90)`,"text-anchor":"middle","dominant-baseline":"central"},x(t.track.series?c(t.track.series):""),13,hr)])):i("",!0),(B(!0),n(e,null,f(!t.cleanView&&!t.hideYAxisTitles&&t.track.yAxes.length>1?t.track.yAxes.filter(m):[],e=>(B(),n("g",{key:`y-axis-title-${t.track.index}-${e.index}`,class:"waveform-track__multi-axis-title","data-y-axis-title-index":e.index},[a("rect",{class:"waveform-track__y-axis-label-bg waveform-chart__y-axis-label-bg",x:e.labelX-r.value/2,y:t.track.height/2-40,width:r.value,height:"80",rx:"2"},null,8,mr),a("text",{class:"waveform-track__y-axis-label waveform-chart__y-axis-label",fill:t.axes?.y?.labelTextStyle?.color||e.seriesList[0].color,style:u(s.value),transform:`translate(${e.labelX}, ${t.track.height/2}) rotate(-90)`,"text-anchor":"middle","dominant-baseline":"central"},x(c(e.seriesList[0])),13,Qr)],8,Cr))),128))],64))}}),Er=/* @__PURE__ */new WeakMap;function pr(e,A,t,i,n,a){let o=Er.get(e);o||Er.set(e,o=/* @__PURE__ */new Map);const r=new Set(A);for(const[l,g]of o)r.has(l)||(g.remove(),o.delete(l));let s;for(const l of A){let A=o.get(l);A||(A=document.createElementNS("http://www.w3.org/2000/svg","line"),A.setAttribute("data-grid-direction",i),o.set(l,A));const r=s?s.nextSibling:e.firstChild;r!==A&&e.insertBefore(A,r);const g=t(l);dn(A,"stroke",a??null),dn(A,"x1","vertical"===i?g:0),dn(A,"x2","vertical"===i?g:n),dn(A,"y1","horizontal"===i?g:0),dn(A,"y2","horizontal"===i?g:n),s=A}}var fr=["width","height","fill"],yr=["clip-path"],vr={class:"waveform-track__grid waveform-track__grid--minor waveform-chart__grid waveform-chart__grid--minor"},wr={class:"waveform-track__grid waveform-track__grid--major waveform-chart__grid waveform-chart__grid--major"},xr=["x","y"],kr=/*@__PURE__*/l({__name:"WaveformTrackBackdrop",props:{track:{},clipPathId:{},innerWidth:{},cleanView:{type:Boolean},showEmptyFrame:{type:Boolean},frameNumber:{},frameStyle:{}},setup(A){const t=A,o=p(),r=p(),s=p(),l=p();return F(()=>{const e=t.track;for(const[A,i,n]of[[o.value,"vertical",e.xMinorTicks],[r.value,"horizontal",e.yMinorTicks],[s.value,"vertical",e.xMajorTicks],[l.value,"horizontal",e.yMajorTicks]])A&&pr(A,e.gridLines[i]?n:[],"vertical"===i?e.xScale:e.yScale,i,"vertical"===i?e.height:e.width??t.innerWidth,"vertical"===i?e.gridLines.verticalColor:e.gridLines.horizontalColor)},{flush:"post"}),(t,g)=>(B(),n(e,null,[A.track.isEmpty&&!A.showEmptyFrame||A.cleanView?i("",!0):(B(),n("rect",{key:0,class:"waveform-track__plot-background waveform-chart__plot-background",width:A.track.width??A.innerWidth,height:A.track.height,fill:A.frameStyle.backgroundColor,"aria-hidden":"true"},null,8,fr)),A.track.isEmpty&&!A.showEmptyFrame||A.cleanView?i("",!0):(B(),n("g",{key:1,"clip-path":`url(#${A.clipPathId}-${A.track.index})`,"aria-hidden":"true"},[a("g",vr,[a("g",{ref_key:"minorVertical",ref:o},null,512),a("g",{ref_key:"minorHorizontal",ref:r},null,512)]),a("g",wr,[a("g",{ref_key:"majorVertical",ref:s},null,512),a("g",{ref_key:"majorHorizontal",ref:l},null,512)])],8,yr)),(A.track.hasVisibleSeries||A.track.isEmpty&&A.showEmptyFrame)&&void 0!==A.frameNumber&&!A.cleanView?(B(),n("text",{key:2,class:"waveform-track__watermark waveform-chart__watermark",x:(A.track.width??A.innerWidth)/2,y:A.track.height/2,style:u({fontSize:`${Math.min(120,.65*A.track.height)}px`}),"text-anchor":"middle","dominant-baseline":"central","aria-hidden":"true"},x(A.frameNumber),13,xr)):i("",!0)],64))}}),br=["data-track-index","data-track-id","data-track-empty","data-track-left","data-track-width","data-y-axis-label-x","data-track-top","data-track-height","transform"],Mr=["data-interactive","data-independent-overlay-index","width","height"],Dr=["x","y"],Nr=/*@__PURE__*/l({__name:"WaveformTrack",props:{track:{},clipPathId:{},innerWidth:{},zoomable:{type:Boolean},interactive:{type:Boolean,default:!0},displayMode:{},interactionMode:{default:"zoom"},frameNumber:{},frameStyle:{},framePath:{},axes:{},timeUnit:{},yLabel:{},showAxisUnits:{type:Boolean,default:!0},showLabelUnits:{type:Boolean},hideYAxisTitles:{type:Boolean},containFrameStroke:{type:Boolean},cleanView:{type:Boolean,default:!1},zeroLine:{default:()=>({visible:!0,color:wA,width:1,dash:"6 4",opacity:.5,boundaryThreshold:.02})}},emits:["pointer-move","pointer-down","pointer-up","pointer-cancel","pointer-leave","click","contextmenu"],setup(e,{emit:a}){const o=e,s=a,l=A(()=>{const e=o.frameStyle?.borderWidth;return{borderColor:o.frameStyle?.borderColor||"#1f2937",borderWidth:"number"==typeof e&&Number.isFinite(e)&&e>=0?e:1,borderStyle:"dashed"===o.frameStyle?.borderStyle||"dotted"===o.frameStyle?.borderStyle?o.frameStyle.borderStyle:"solid",backgroundColor:o.frameStyle?.backgroundColor||"transparent"}}),g=A(()=>o.containFrameStroke?l.value.borderWidth/2:0);return(A,a)=>(B(),n("g",{class:d(["waveform-track waveform-chart__track",{"waveform-track--empty waveform-chart__track--empty":e.track.isEmpty}]),"data-track-index":e.track.index,"data-track-id":e.track.id,"data-track-empty":e.track.isEmpty||void 0,"data-track-left":e.track.left,"data-track-width":e.track.width,"data-y-axis-label-x":e.track.yAxisLabelX,"data-track-top":e.track.top,"data-track-height":e.track.height,transform:`translate(${e.track.left??0}, ${e.track.top})`},[r(kr,{track:e.track,"clip-path-id":e.clipPathId,"inner-width":e.innerWidth,"clean-view":e.cleanView,"frame-number":e.frameNumber,"frame-style":l.value,"show-empty-frame":""},null,8,["track","clip-path-id","inner-width","clean-view","frame-number","frame-style"]),r(Br,{track:e.track,"inner-width":e.innerWidth,"clean-view":e.cleanView,axes:e.axes,"time-unit":e.timeUnit,"y-label":e.yLabel,"show-units":e.showAxisUnits,"show-label-units":e.showLabelUnits,"hide-y-axis-titles":e.hideYAxisTitles,"hide-overlapping-maximum-label":"compact"===e.displayMode},null,8,["track","inner-width","clean-view","axes","time-unit","y-label","show-units","show-label-units","hide-y-axis-titles","hide-overlapping-maximum-label"]),(B(),t(y(e.framePath?"path":"rect"),{class:"waveform-track__plot-frame waveform-chart__plot-frame",d:e.framePath,x:e.containFrameStroke?g.value:void 0,y:e.containFrameStroke?g.value:void 0,width:Math.max(0,(e.track.width??e.innerWidth)-2*g.value),height:Math.max(0,e.track.height-2*g.value),fill:"none",stroke:l.value.borderColor,"stroke-width":l.value.borderWidth,"stroke-dasharray":"dashed"===l.value.borderStyle?"6 4":"dotted"===l.value.borderStyle?"1 3":void 0,"stroke-linecap":"dotted"===l.value.borderStyle?"round":void 0,"aria-hidden":"true"},null,8,["d","x","y","width","height","stroke","stroke-width","stroke-dasharray","stroke-linecap"])),r(tr,{track:e.track,"clip-path-id":e.clipPathId},null,8,["track","clip-path-id"]),r(or,{track:e.track,"clip-path-id":e.clipPathId,"inner-width":e.innerWidth,"clean-view":e.cleanView,"zero-line":e.zeroLine},null,8,["track","clip-path-id","inner-width","clean-view","zero-line"]),!e.track.isEmpty&&e.track.hasVisibleSeries&&"independent"===e.displayMode?(B(),n("rect",{key:0,class:d(["waveform-track__overlay waveform-track__overlay--independent waveform-chart__overlay waveform-chart__overlay--independent",{"is-zoomable":e.interactive&&e.zoomable&&"zoom"===e.interactionMode,"is-annotating":e.interactive&&"annotation"===e.interactionMode,"is-presentation":!e.interactive}]),"data-interactive":e.interactive,"data-independent-overlay-index":e.track.index,width:e.track.width??e.innerWidth,height:e.track.height,onPointermove:a[0]||(a[0]=e=>s("pointer-move",e)),onPointerdown:a[1]||(a[1]=e=>s("pointer-down",e)),onPointerup:a[2]||(a[2]=e=>s("pointer-up",e)),onPointercancel:a[3]||(a[3]=e=>s("pointer-cancel",e)),onPointerleave:a[4]||(a[4]=e=>s("pointer-leave")),onClick:a[5]||(a[5]=e=>s("click",e)),onContextmenu:a[6]||(a[6]=e=>s("contextmenu",e))},null,42,Mr)):i("",!0),e.track.isEmpty||e.track.hasVisibleSeries||e.cleanView?i("",!0):(B(),n("text",{key:1,class:"waveform-track__no-visible-series",x:(e.track.width??e.innerWidth)/2,y:e.track.height/2,"text-anchor":"middle","dominant-baseline":"central"}," 暂无可见曲线 ",8,Dr))],10,br))}}),Fr=["width","height","data-position","data-orientation"],Gr=["disabled","aria-pressed","aria-label","onClick"],Yr=["data-line-type","data-line-style","data-point-type","data-error-bar-visible"],Sr=["d","stroke","stroke-dasharray"],Jr=["d","stroke","stroke-width"],Rr=["d","fill"],Tr=["title"],Zr=/*#__PURE__*/Pn(/*@__PURE__*/l({__name:"WaveformLegend",props:{series:{},position:{},orientation:{},backgroundColor:{},width:{},height:{},interactive:{type:Boolean,default:!1},showUnits:{type:Boolean,default:!1},hiddenSeriesIds:{default:()=>[]}},emits:["toggle"],setup(t,{emit:o}){const r=t,s=o,l=A(()=>new Set(r.hiddenSeriesIds));function g(e){return r.showUnits?rr(e.name,e.unit," "):e.name}function c(e){return l.value.has(e)}return(A,o)=>(B(),n("foreignObject",{class:"waveform-legend waveform-chart__legend",x:"0",y:"0",width:t.width,height:t.height,"data-position":t.position,"data-orientation":t.orientation,"aria-label":"曲线图例"},[a("div",{xmlns:"http://www.w3.org/1999/xhtml",class:d(["waveform-legend__viewport",`waveform-legend__viewport--${t.position}`])},[a("div",{class:d(["waveform-legend__panel",[`waveform-legend__panel--${t.orientation}`,{"waveform-legend__panel--interactive":t.interactive}]]),style:u({backgroundColor:t.backgroundColor}),role:"list"},[(B(!0),n(e,null,f(t.series,e=>(B(),n("button",{key:e.id,class:d(["waveform-legend__item waveform-chart__legend-item",{"is-hidden":c(e.id)}]),type:"button",role:"listitem",disabled:!t.interactive,"aria-pressed":t.interactive?!c(e.id):void 0,"aria-label":t.interactive?`${c(e.id)?"显示":"隐藏"}曲线 ${e.name}`:void 0,onClick:J(A=>{return t=e.id,void(r.interactive&&s("toggle",t));var t},["stop"])},[(B(),n("svg",{class:"waveform-legend__swatch",viewBox:"0 0 26 16","aria-hidden":"true","data-line-type":e.lineType,"data-line-style":e.lineStyle,"data-point-type":e.pointType,"data-error-bar-visible":e.errorBar.visible||void 0},[b(jo)(e.lineType)?(B(),n("path",{key:0,class:"waveform-legend__line",d:b(jo)(e.lineType)??void 0,stroke:e.color,"stroke-dasharray":b(Oo)(e.lineStyle),"stroke-width":"1",fill:"none"},null,8,Sr)):i("",!0),e.errorBar.visible?(B(),n("path",{key:1,class:"waveform-legend__error-bar",d:b(Wo)(e.errorBar.capWidth),stroke:e.errorBar.color||e.color,"stroke-width":e.errorBar.width,"stroke-linecap":"butt",fill:"none"},null,8,Jr)):i("",!0),"none"!==e.pointType?(B(),n("path",{key:2,class:"waveform-legend__point",d:b(Lo)(e.pointType,30)??void 0,fill:e.color,transform:"translate(13 8)"},null,8,Rr)):i("",!0)],8,Yr)),a("span",{class:"waveform-legend__label",title:g(e)},x(g(e)),9,Tr)],10,Gr))),128))],6)],2)],8,Fr))}}),[["__scopeId","data-v-24214c74"]]),Ur={class:"waveform-chart__hover-layer","pointer-events":"none","aria-hidden":"true"},Lr=["clip-path","transform"],jr=["x1","x2","y2"],Or=/*#__PURE__*/Pn(/*@__PURE__*/l({__name:"WaveformHoverLayer",props:{state:{},tracks:{},clipPathId:{},visible:{type:Boolean}},setup(t){const i=t,o=A(()=>i.visible&&null!==i.state.queryX?i.tracks.flatMap(e=>{const A=null===i.state.trackIndex||i.state.trackIndex===e.index,t=i.state.crosshairXByTrack[e.index];return A&&!e.isEmpty&&e.hasVisibleSeries&&void 0!==t?[{track:e,x:e.xScale(t)}]:[]}):[]);return(A,i)=>(B(),n("g",Ur,[(B(!0),n(e,null,f(o.value,e=>(B(),n("g",{key:e.track.index,class:"waveform-track__crosshair waveform-chart__crosshair","clip-path":`url(#${t.clipPathId}-${e.track.index})`,transform:`translate(${e.track.left??0}, ${e.track.top})`},[a("line",{x1:e.x,x2:e.x,y1:"0",y2:e.track.height},null,8,jr)],8,Lr))),128))]))}}),[["__scopeId","data-v-54a5a37d"]]);function Wr(e,A,t=0){let i=[[0,e.width]];for(const r of A){if(r===e)continue;if(Math.abs(e.top+e.height-r.top)>1e-6)continue;const A=Math.max(0,r.left-e.left),t=Math.min(e.width,r.left+r.width-e.left);t<=A||(i=i.flatMap(([e,i])=>{if(t<=e||A>=i)return[[e,i]];const n=[];return e<A&&n.push([e,A]),i>t&&n.push([t,i]),n}))}if(1===i.length&&0===i[0][0]&&i[0][1]===e.width)return;t=Number.isFinite(t)?Math.max(0,t):0;const n=Math.max(t,e.width-t),a=Math.max(t,e.height-t),o=i.map(([e,A])=>`M${Math.max(t,e)},${a}H${Math.min(n,A)}`).join("");return`M${t},${a}V${t}H${n}V${a}${o}`}var Xr=["data-display-mode","data-interaction-mode","data-presentation-mode","data-overlay-mode","data-chart-left-margin","data-plot-margin-top","data-plot-margin-bottom","data-title-area-height"],Hr=["role","aria-level","aria-hidden"],Vr=["data-title-scale","data-title-wrapped"],zr=["width","height","aria-label"],Pr=["id"],qr=["width","height"],Kr=["transform"],_r={key:0,class:"waveform-chart__grid-slots","aria-hidden":"true"},$r=["transform"],es=["width","height"],As=["width","height"],ts=["x","y","width","height"],is={key:4,class:"waveform-chart__legend-layer"},ns=["data-legend-track-index","data-legend-track-id","transform"],as=["x","y"],os=["x","y"],rs=/*@__PURE__*/l({__name:"WaveformChartView",props:{controller:{}},setup(o){const s=o,l=A(()=>{const e=s.controller.frameStyle?.borderWidth;return s.controller.isEdgeCompact?("number"==typeof e&&Number.isFinite(e)&&e>=0?e:1)/2:0}),{displayMode:g,activeInteractionMode:c,isCleanView:I,isEdgeCompact:h,paginationVisible:C,isPresentationMode:m,selection:Q,containerStyle:E,overlayMode:p,unitDisplayMode:y,showLegendUnits:v,hideYAxisTitles:w,resolvedChartLeftMargin:M,titleAreaHeight:D,resolvedPlotMargin:N,pointerInsideChart:F,handleNativeContextMenu:G,titleAreaReserved:Y,titleAreaStyle:S,titleVisible:J,titleMeasureStyle:R,resolvedTitleText:T,titleVisualStyle:Z,titleTextStyle:U,titleLayout:L,chartWidth:j,drawingHeight:O,hasWaveformData:W,hasWaveformSamples:X,trackLayouts:H,presentationTracks:V,presentationAnnotations:z,stabilizeAnimations:P,clipPathId:q,chartTopMargin:K,gridCells:_,hasVisibleWaveformData:$,zoomable:ee,isZoomMode:Ae,innerWidth:te,innerHeight:ie,handleSharedPointerMove:ne,beginSharedViewportDrag:ae,finishViewportDrag:oe,cancelViewportDrag:re,handlePointerLeave:se,handleAnnotationClick:le,resolveFrameNumber:ge,frameStyle:ce,axes:Ie,resolvedZeroLine:de,timeUnit:ue,yLabel:he,handleIndependentPointerMove:Ce,beginViewportDrag:me,hoverState:Qe,showTooltip:Be,selectionBox:Ee,annotationsVisible:pe,handleExistingAnnotationContextMenu:fe,beginAnnotationDrag:ye,handleAnnotationMove:ve,endAnnotationDrag:we,resolveLegendPosition:xe,resolveLegendOrientation:ke,legendBackgroundColor:be,legendInteractive:Me,resolvedHiddenSeriesIds:De,toggleSeriesVisibility:Ne,resolvedXLabel:Fe,xAxisTitleY:Ge,plotCenterX:Se,hasChartArea:Je,gridOptions:Re,currentPage:Te,getPageSize:Ze,pageableTracks:Ue,goToPage:Le,annotationInteraction:je,editorDraft:Oe,contextMenu:We,editorSeries:Xe,editorSeriesOptions:He,timeError:Ve,confirmAnnotation:ze,cancelAnnotation:Pe,changeDraftSeries:qe,changeDraftTime:Ke,editContextAnnotation:_e,deleteContextAnnotation:$e,chartHeight:eA,setContainer:AA,setSvgElement:tA,setTitleMeasureElement:iA,setSharedOverlayElement:nA}=k(s.controller);function aA(){F.value=!1,se.value()}return(A,s)=>(B(),n("div",{ref:b(AA),class:d(["waveform-chart",[`waveform-chart--${b(g)}`,`waveform-chart--interaction-${b(c)}`,{"waveform-chart--clean":b(I),"waveform-chart--edge-compact":b(h),"waveform-chart--presentation":b(m),"waveform-chart--panning":"pan"===b(Q)?.kind}]]),style:u(b(E)),"data-display-mode":b(g),"data-interaction-mode":b(c),"data-presentation-mode":b(m),"data-overlay-mode":b(p),"data-chart-left-margin":b(M),"data-plot-margin-top":b(N).top,"data-plot-margin-bottom":b(N).bottom,"data-title-area-height":b(D),onPointermoveCapture:s[6]||(s[6]=(...e)=>b(P)&&b(P)(...e)),onPointerdownCapture:s[7]||(s[7]=(...e)=>b(P)&&b(P)(...e)),onWheelCapture:s[8]||(s[8]=(...e)=>b(P)&&b(P)(...e)),onDblclickCapture:s[9]||(s[9]=(...e)=>b(P)&&b(P)(...e)),onContextmenuCapture:s[10]||(s[10]=(...e)=>b(P)&&b(P)(...e)),onPointerenter:s[11]||(s[11]=e=>F.value=!0),onPointerleave:aA,onContextmenu:s[12]||(s[12]=(...e)=>b(G)&&b(G)(...e))},[b(Y)?(B(),n("div",{key:0,class:"waveform-chart__title-area",style:u(b(S)),role:b(J)?"heading":void 0,"aria-level":b(J)?2:void 0,"aria-hidden":b(I)||void 0},[a("span",{ref:b(iA),class:"waveform-chart__title-measure",style:u(b(R)),"aria-hidden":"true"},x(b(T)),5),b(J)?(B(),n("span",{key:0,class:"waveform-chart__title-visual",style:u(b(Z))},[a("span",{class:"waveform-chart__title-text",style:u(b(U)),"data-title-scale":b(L).scale,"data-title-wrapped":b(L).wrapped||void 0},x(b(T)),13,Vr)],4)):i("",!0)],12,Hr)):i("",!0),(B(),n("svg",{ref:b(tA),class:"waveform-chart__svg",width:b(j),height:b(O),role:"img","aria-label":b(X)?"波形折线图":"暂无波形数据"},[a("defs",null,[(B(!0),n(e,null,f(b(H),e=>(B(),n("clipPath",{id:`${b(q)}-${e.index}`,key:`${b(q)}-${e.index}`,clipPathUnits:"userSpaceOnUse"},[a("rect",{width:e.width,height:e.height},null,8,qr)],8,Pr))),128))]),a("g",{transform:`translate(${b(M)}, ${b(K)})`},["compact"===b(g)||b(W)||b(I)?i("",!0):(B(),n("g",_r,[(B(!0),n(e,null,f(b(_),e=>(B(),n("g",{key:`grid-slot-${e.slotIndex}`,transform:`translate(${e.left}, ${e.top})`},[e.series?i("",!0):(B(),n("rect",{key:0,class:"waveform-chart__grid-slot-placeholder",width:e.width,height:e.cellHeight},null,8,es))],8,$r))),128))])),"independent"!==b(g)&&b(H).length&&b($)?(B(),n("rect",{key:1,ref:b(nA),class:d(["waveform-chart__overlay waveform-chart__overlay--shared",{"is-zoomable":!b(m)&&b(ee)&&b(Ae),"is-annotating":!b(m)&&"annotation"===b(c)}]),width:b(te),height:b(ie),onPointermove:s[0]||(s[0]=(...e)=>b(ne)&&b(ne)(...e)),onPointerdown:s[1]||(s[1]=(...e)=>b(ae)&&b(ae)(...e)),onPointerup:s[2]||(s[2]=(...e)=>b(oe)&&b(oe)(...e)),onPointercancel:s[3]||(s[3]=(...e)=>b(re)&&b(re)(...e)),onPointerleave:s[4]||(s[4]=(...e)=>b(se)&&b(se)(...e)),onClick:s[5]||(s[5]=(...e)=>b(le)&&b(le)(...e))},null,42,As)):i("",!0),(B(!0),n(e,null,f(b(H),e=>(B(),t(b(Nr),{key:`${e.index}-${e.id}`,track:b(V).find(A=>A.id===e.id)??e,"frame-path":"compact"===b(g)?b(Wr)(e,b(H),l.value):void 0,"clip-path-id":b(q),"inner-width":b(te),zoomable:b(ee),interactive:!b(m),"display-mode":b(g),"interaction-mode":b(c),"frame-number":b(ge)(e.id,(b(Te)-1)*b(Ze)(b(Re))+e.index),"frame-style":b(ce),axes:b(Ie),"show-axis-units":"axis"===b(y),"show-label-units":"channel-label-or-legend"===b(y)||"channel-label"===b(y),"hide-y-axis-titles":b(w),"contain-frame-stroke":b(h),"clean-view":b(I),"zero-line":b(de),"time-unit":b(ue),"y-label":b(he),onPointerMove:A=>b(Ce)(A,e.index),onPointerDown:A=>b(me)(A,e.index,!0),onPointerUp:b(oe),onPointerCancel:b(re),onPointerLeave:b(se),onClick:A=>b(le)(A,e.index)},null,8,["track","frame-path","clip-path-id","inner-width","zoomable","interactive","display-mode","interaction-mode","frame-number","frame-style","axes","show-axis-units","show-label-units","hide-y-axis-titles","contain-frame-stroke","clean-view","zero-line","time-unit","y-label","onPointerMove","onPointerDown","onPointerUp","onPointerCancel","onPointerLeave","onClick"]))),128)),r(b(Or),{state:b(Qe),tracks:b(H),"clip-path-id":b(q),visible:b(Be)&&!b(m)},null,8,["state","tracks","clip-path-id","visible"]),b(Ee)&&"box"===b(Q)?.kind?(B(),n("rect",{key:2,class:"waveform-chart__zoom-selection",x:b(Ee).x,y:b(Ee).y,width:b(Ee).width,height:b(Ee).height,"aria-hidden":"true"},null,8,ts)):i("",!0),b(I)?i("",!0):(B(),t(b(qn),{key:3,"cancel-key":b(c),"data-version":o.controller.data,annotations:b(z),visible:b(pe),interactive:!b(m)&&"none"!==b(c),onContextmenu:b(fe),onDragStart:b(ye),onMove:b(ve),onDragEnd:b(we)},null,8,["cancel-key","data-version","annotations","visible","interactive","onContextmenu","onDragStart","onMove","onDragEnd"])),b(I)?i("",!0):(B(),n("g",is,[(B(!0),n(e,null,f(b(H),e=>(B(),n("g",{key:`legend-${e.index}-${e.id}`,class:"waveform-chart__legend-track","data-legend-track-index":e.index,"data-legend-track-id":e.id,transform:`translate(${e.left}, ${e.top})`},[!e.isEmpty&&(e.legendSeries.length>1||b(w))?(B(),t(b(Zr),{key:0,series:e.legendSeries,"show-units":b(v),position:b(xe)(e.id),orientation:b(ke)(b(xe)(e.id)),"background-color":b(be),interactive:b(Me),"hidden-series-ids":b(De),width:e.width??b(te),height:e.height,onToggle:b(Ne)},null,8,["series","show-units","position","orientation","background-color","interactive","hidden-series-ids","width","height","onToggle"])):i("",!0)],8,ns))),128))]))],8,Kr),b(Fe)&&!b(I)?(B(),n("text",{key:0,class:"waveform-chart__label waveform-chart__x-label",style:u(b(h)?{fontSize:b(U).fontSize}:void 0),x:b(Se),y:b(Ge),"text-anchor":"middle"},x(b(Fe)),13,as)):i("",!0),b(Je)&&!b(X)?(B(),n("text",{key:1,class:"waveform-chart__empty",x:b(j)/2,y:b(O)/2,"text-anchor":"middle"}," 暂无有效波形数据 ",8,os)):i("",!0)],8,zr)),r(Io,{controller:o.controller},null,8,["controller"]),b(C)?(B(),t(b(Ye),{key:1,class:"waveform-chart__pagination","aria-label":"波形分页",current:b(Te),"page-size":b(Ze)(b(Re)),total:b(Ue).length,"show-size-changer":!1,"show-quick-jumper":!1,onChange:b(Le)},null,8,["current","page-size","total","onChange"])):i("",!0),!b(Oe)||b(I)||b(m)?i("",!0):(B(),t(Go,{key:2,annotation:b(Oe).annotation,mode:b(Oe).mode,series:b(Xe),"series-options":b(He),"time-unit":b(ue),"time-error":b(Ve),onConfirm:b(ze),onCancel:b(Pe),onSeriesChange:b(qe),onTimeChange:b(Ke)},null,8,["annotation","mode","series","series-options","time-unit","time-error","onConfirm","onCancel","onSeriesChange","onTimeChange"])),b(I)||b(m)?i("",!0):(B(),t(b(Kn),{key:3,visible:null!==b(We),x:b(We)?.x||0,y:b(We)?.y||0,"can-edit":Boolean(b(We)?.annotationId),onEdit:b(_e),onDelete:b($e),onClose:b(je).closeContextMenu},null,8,["visible","x","y","can-edit","onEdit","onDelete","onClose"])),r(b(Zo),{state:b(Qe),visible:b(Be)&&!b(m),"time-unit":b(ue),"container-width":b(j),"container-height":b(eA)},null,8,["state","visible","time-unit","container-width","container-height"])],46,Xr))}}),ss=rs,ls=/*@__PURE__*/l({__name:"WaveformChart",props:{toolbar:{type:[Boolean,Object]},data:{},displayMode:{default:"independent"},overlayMode:{default:"single-axis"},unitDisplayMode:{default:"axis"},layoutPreset:{default:"default"},width:{},height:{},xLabel:{},yLabel:{default:"幅值"},lineColor:{default:"#0960bd"},showTooltip:{type:Boolean,default:!0},zoomable:{type:Boolean,default:!0},integerZoom:{type:Boolean,default:!1},pannable:{type:Boolean,default:!1},panXDomain:{},minZoomSpan:{},minVisiblePoints:{default:0},maxZoomScale:{},initialXDomain:{},initialXDomains:{},xDomainStrategy:{default:()=>({type:"integer-ms"})},amplitudeLimits:{},yDomain:{},yDomains:{},timeUnit:{default:"ms"},frameNumber:{default:void 0},frameNumbers:{},frameStyle:{},axes:{},annotations:{default:()=>[]},annotationsVisible:{type:Boolean,default:!0},interactionMode:{default:void 0},grid:{default:()=>({rowCount:2,columnCount:1,showPagination:!0})},rendering:{default:()=>({})},plotMargin:{default:()=>({})},title:{},legend:{default:()=>({position:"top-right",orientation:"auto"})},hiddenSeriesIds:{},defaultHiddenSeriesIds:{default:()=>[]},cleanView:{type:Boolean,default:!1},presentationMode:{type:Boolean,default:!1},zeroLine:{default:()=>({visible:!0})},animationEnabled:{type:Boolean,default:!0},animation:{},animationUpdate:{},animationAnnotation:{},animationThreshold:{}},emits:["update:interactionMode","interaction-mode-change","control-state-change","point-hover","zoom-intent","zoom-change","zoom-end","pan-end","zoom-reset","update:annotations","update:hidden-series-ids","series-visibility-change","annotation-create","annotation-update","annotation-delete","page-change","sampling-complete","sampling-backend-change","sampling-error"],setup(e,{expose:A,emit:i}){const n=qa(e,i);return A({exportImage:n.exportImage,zoomIn:n.zoomIn,zoomOut:n.zoomOut,fitToData:n.fitToData,setInteractionMode:n.setInteractionMode,getControlState:n.getControlState,resetViewport:n.resetViewport,setViewportDomain:n.setViewportDomain}),(e,A)=>(B(),t(ss,{controller:b(n)},null,8,["controller"]))}}),gs=class{#J;constructor(e){const A=new _e,t=Ke(e);t.tracks=A.capture(t),this.#J=new tA(t,A),A.bind(this.#J)}get state(){return this.#J.state}start(e){this.#J.start(e)}tick(e){return this.#J.tick(e)}pause(e){this.#J.pause(e)}resume(e){this.#J.resume(e)}abort(){this.#J.abort()}finish(){this.#J.finish()}};export{gs as Animation,nA as Animator,_A as DEFAULT_WAVEFORM_RENDERING_OPTIONS,fA as WaveformAnimationController,ls as WaveformChart,fi as buildMinorTicks,Dt as calculateWasmRange,Ji as clamp,EA as createAnnotationAppearAnimation,pA as createAnnotationDisappearAnimation,hA as createLineDrawingAnimation,mA as createPathTransitionAnimation,CA as createStaggeredLineDrawingAnimations,QA as createYAxisScaleAnimation,Di as displayTime,Nt as findWasmVisibleRange,Gi as formatAxisTime,Fi as formatEndpointTime,Yi as formatTooltipTime,Te as getEasingFunction,aA as globalAnimator,bt as initializeWasmSampling,OA as normalizeWaveformData,HA as normalizeWaveformSeries,pi as paddedDomain,ra as parseWaveformAnnotations,Si as resolveTrackGeometry,at as resolveWaveformRenderingOptions,Mt as sampleWaveformWasm,lt as selectRenderablePoints,oa as serializeWaveformAnnotations};
|