PageSourceSearch

https://price.ru/vue3/46GqlsN5.js

js price.ru collected 2026-10-02 05:03:17 UTC 54,538 bytes, 2 lines download raw bytes

1import{cB as ke}from"./CSpsc2oa.js";(function(){try{var oe=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{};oe.SENTRY_RELEASE={id:"df7ca7a972abe0a2a56b13d50d3194f0664055e5"};var te=new oe.Error().stack;te&&(oe._sentryDebugIds=oe._sentryDebugIds||{},oe._sentryDebugIds[te]="43d23e77-8d58-4a1a-8bc6-66c43b442ffc",oe._sentryDebugIdIdentifier="sentry-dbid-43d23e77-8d58-4a1a-8bc6-66c43b442ffc")}catch{}})();function Pe(oe,te){for(var T=0;T<te.length;T++){const z=te[T];if(typeof z!="string"&&!Array.isArray(z)){for(const k in z)if(k!=="default"&&!(k in oe)){const M=Object.getOwnPropertyDescriptor(z,k);M&&Object.defineProperty(oe,k,M.get?M:{enumerable:!0,get:()=>z[k]})}}}return Object.freeze(Object.defineProperty(oe,Symbol.toStringTag,{value:"Module"}))}var Te={exports:{}},Ee;function be(){return Ee||(Ee=1,(function(oe){(function(te){oe.exports?(te.default=te,oe.exports=te):te(typeof Highcharts<"u"?Highcharts:void 0)})(function(te){var T=te?te._modules:{};function z(k,M,v,w){k.hasOwnProperty(M)||(k[M]=w.apply(null,v),typeof CustomEvent=="function"&&te.win.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:M,module:k[M]}})))}z(T,"Extensions/Sonification/Options.js",[],function(){return{sonification:{enabled:!0,duration:6e3,afterSeriesWait:700,updateInterval:200,masterVolume:.7,order:"sequential",showTooltip:!0,showCrosshair:!0,pointGrouping:{enabled:!0,groupTimespan:15,algorithm:"minmax",prop:"y"},defaultInstrumentOptions:{roundToMusicalNotes:!0,instrument:"piano",mapping:{time:"x",pan:"x",noteDuration:200,pitch:{mapTo:"y",min:"c2",max:"c6",within:"yAxis"},gapBetweenNotes:100}},defaultSpeechOptions:{language:"en-US",mapping:{time:"x",rate:1.3,volume:.4},pointGrouping:{algorithm:"last"}}},exporting:{menuItemDefinitions:{downloadMIDI:{textKey:"downloadMIDI",onclick:function(){this.sonification&&this.sonification.downloadMIDI()}},playAsSound:{textKey:"playAsSound",onclick:function(){let k=this.sonification;k&&k.isPlaying()?k.cancel():this.sonify()}}}},lang:{downloadMIDI:"Download MIDI",playAsSound:"Play as sound"}}}),z(T,"Extensions/Sonification/SynthPatch.js",[T["Core/Utilities.js"]],function(k){let{clamp:M,defined:v,pick:w}=k;function O(c,e){return(.2414*c-.2414)*Math.log(e)+(3.5-1.7*c)/1.8}function I(c,e,t){c.gain.cancelScheduledValues(e),c.gain.setTargetAtTime(t,e,s.stopRampTime/4),c.gain.setValueAtTime(t,e+s.stopRampTime)}function V(c,e,t,a,l=1){let h=e==="attack",d=a.gain;if(d.cancelScheduledValues(t),!c.length){I(a,t,h?l:0);return}c[0].t>1&&c.unshift({t:0,vol:h?0:1}),c.forEach((m,E)=>{let P=c[E-1],i=P?(m.t-P.t)/1e3:0,r=t+(P?P.t/1e3+s.stopRampTime:0);d.setTargetAtTime(m.vol*l,r,Math.max(i,s.stopRampTime)/2)})}class u{constructor(e,t){this.pulseWidth=Math.min(Math.max(0,t.pulseWidth||.5));let a=()=>new OscillatorNode(e,{type:"sawtooth",detune:t.detune,frequency:Math.max(1,t.frequency||350)});this.sawOscA=a(),this.sawOscB=a(),this.phaseInverter=new GainNode(e,{gain:-1}),this.masterGain=new GainNode(e),this.delayNode=new DelayNode(e,{delayTime:this.pulseWidth/this.sawOscA.frequency.value}),this.sawOscA.connect(this.masterGain),this.sawOscB.connect(this.phaseInverter),this.phaseInverter.connect(this.delayNode),this.delayNode.connect(this.masterGain)}connect(e){this.masterGain.connect(e)}getFrequencyFacade(){let e=this;return{cancelScheduledValues:t=>(e.sawOscA.frequency.cancelScheduledValues(t),e.sawOscB.frequency.cancelScheduledValues(t),e.delayNode.delayTime.cancelScheduledValues(t),e.sawOscA.frequency),setValueAtTime(t,a){return this.cancelScheduledValues(a),e.sawOscA.frequency.setValueAtTime(t,a),e.sawOscB.frequency.setValueAtTime(t,a),e.delayNode.delayTime.setValueAtTime(Math.round(1e4*e.pulseWidth/t)/1e4,a),e.sawOscA.frequency},setTargetAtTime(t,a,l){return this.cancelScheduledValues(a),e.sawOscA.frequency.setTargetAtTime(t,a,l),e.sawOscB.frequency.setTargetAtTime(t,a,l),e.delayNode.delayTime.setTargetAtTime(Math.round(1e4*e.pulseWidth/t)/1e4,a,l),e.sawOscA.frequency}}}getPWMTarget(){return this.delayNode.delayTime}start(){this.sawOscA.start(),this.sawOscB.start()}stop(e){this.sawOscA.stop(e),this.sawOscB.stop(e)}}class o{constructor(e,t,a){this.audioContext=e,this.options=t,this.fmOscillatorIx=t.fmOscillator,this.vmOscillatorIx=t.vmOscillator,this.createSoundSource(),this.createGain(),this.createFilters(),this.createV
1olTracking(),a&&this.connect(a)}connect(e){[this.lowpassNode,this.highpassNode,this.volTrackingNode,this.vmNode,this.gainNode,this.whiteNoise,this.pulseNode,this.oscNode].reduce((t,a)=>a?(a.connect(t),a):t,e)}start(){this.oscNode&&this.oscNode.start(),this.whiteNoise&&this.whiteNoise.start(),this.pulseNode&&this.pulseNode.start()}stopAtTime(e){this.oscNode&&this.oscNode.stop(e),this.whiteNoise&&this.whiteNoise.stop(e),this.pulseNode&&this.pulseNode.stop(e)}setFreqAtTime(e,t,a=0){let l=this.options,h=M(w(l.fixedFrequency,t)*(l.freqMultiplier||1),0,21e3),d=this.getOscTarget(),m=a/5e3;d&&(d.cancelScheduledValues(e),a&&e-(this.lastUpdateTime||-1)>.01?(d.setTargetAtTime(h,e,m),d.setValueAtTime(h,e+m)):d.setValueAtTime(h,e)),this.scheduleVolTrackingChange(h,e,a),this.scheduleFilterTrackingChange(h,e,a),this.lastUpdateTime=e}getFMTarget(){return this.oscNode&&this.oscNode.detune||this.whiteNoise&&this.whiteNoise.detune||this.pulseNode&&this.pulseNode.getPWMTarget()}getVMTarget(){return this.vmNode&&this.vmNode.gain}runEnvelopeAtTime(e,t){this.gainNode&&V((e==="attack"?this.options.attackEnvelope:this.options.releaseEnvelope)||[],e,t,this.gainNode,this.options.volume)}cancelScheduled(){this.gainNode&&this.gainNode.gain.cancelScheduledValues(this.audioContext.currentTime);let e=this.getOscTarget();e&&e.cancelScheduledValues(0),this.lowpassNode&&this.lowpassNode.frequency.cancelScheduledValues(0),this.highpassNode&&this.highpassNode.frequency.cancelScheduledValues(0),this.volTrackingNode&&this.volTrackingNode.gain.cancelScheduledValues(0)}scheduleVolTrackingChange(e,t,a){if(this.volTrackingNode){let l=O(this.options.volumePitchTrackingMultiplier||1,e),h=a?a/1e3:s.stopRampTime;this.volTrackingNode.gain.cancelScheduledValues(t),this.volTrackingNode.gain.setTargetAtTime(l,t,h/5),this.volTrackingNode.gain.setValueAtTime(l,t+h)}}scheduleFilterTrackingChange(e,t,a){let l=this.options,h=a?a/1e3:s.stopRampTime,d=(m,E)=>{let P=O(E.frequencyPitchTrackingMultiplier||1,e),i=M((E.frequency||1e3)*P,0,21e3);m.frequency.cancelScheduledValues(t),m.frequency.setTargetAtTime(i,t,h/5),m.frequency.setValueAtTime(i,t+h)};this.lowpassNode&&l.lowpass&&d(this.lowpassNode,l.lowpass),this.highpassNode&&l.highpass&&d(this.highpassNode,l.highpass)}createGain(){let e=this.options;(v(e.volume)||e.attackEnvelope&&e.attackEnvelope.length||e.releaseEnvelope&&e.releaseEnvelope.length)&&(this.gainNode=new GainNode(this.audioContext,{gain:w(e.volume,1)})),this.vmNode=new GainNode(this.audioContext)}createSoundSource(){let e=this.options,t=this.audioContext,a=(e.fixedFrequency||0)*(e.freqMultiplier||1);if(e.type==="whitenoise"){let l=2*t.sampleRate,h=t.createBuffer(1,l,t.sampleRate),d=h.getChannelData(0);for(let E=0;E<l;++E)d[E]=1.2*Math.random()-.6;let m=this.whiteNoise=t.createBufferSource();m.buffer=h,m.loop=!0}else e.type==="pulse"?this.pulseNode=new u(t,{detune:e.detune,pulseWidth:e.pulseWidth,frequency:a}):this.oscNode=new OscillatorNode(t,{type:e.type||"sine",detune:e.detune,frequency:a})}createFilters(){let e=this.options;e.lowpass&&e.lowpass.frequency&&(this.lowpassNode=new BiquadFilterNode(this.audioContext,{type:"lowpass",Q:e.lowpass.Q||1,frequency:e.lowpass.frequency})),e.highpass&&e.highpass.frequency&&(this.highpassNode=new BiquadFilterNode(this.audioContext,{type:"highpass",Q:e.highpass.Q||1,frequency:e.highpass.frequency}))}createVolTracking(){let e=this.options;e.volumePitchTrackingMultiplier&&e.volumePitchTrackingMultiplier!==1&&(this.volTrackingNode=new GainNode(this.audioContext,{gain:1}))}getOscTarget(){return this.oscNode?this.oscNode.frequency:this.pulseNode&&this.pulseNode.getFrequencyFacade()}}class s{constructor(e,t){this.audioContext=e,this.options=t,this.eqNodes=[],this.midiInstrument=t.midiInstrument||1,this.outputNode=new GainNode(e,{gain:0}),this.createEqChain(this.outputNode);let a=this.eqNodes.length?this.eqNodes[0]:this.outputNode;this.oscillators=(this.options.oscillators||[]).map(l=>new o(e,l,v(l.fmOscillator)||v(l.vmOscillator)?void 0:a)),this.oscillators.forEach(l=>{let h=(d,m)=>{if(m){let E=m[d]();E&&l.connect(E)}};v(l.fmOscillatorIx)&&h("getFMTarget",this.oscillators[l.fmOscillatorIx]),v(l.vmOscillatorIx)&&h("getVMTarget",this.oscillators[l.vmOscillatorIx])})}startSilently(){this.outputNode.gain.value=0,this.oscillators.forEac
1h(e=>e.start())}stop(){let e=this.audioContext.currentTime,t=e+s.stopRampTime;I(this.outputNode,e,0),this.oscillators.forEach(a=>a.stopAtTime(t)),this.outputNode.disconnect()}silenceAtTime(e){if(!e&&this.outputNode.gain.value<.01){this.outputNode.gain.value=0;return}this.releaseAtTime((e||0)+this.audioContext.currentTime)}mute(){this.cancelScheduled(),I(this.outputNode,this.audioContext.currentTime,0)}playFreqAtTime(e,t,a){let l=(e||0)+this.audioContext.currentTime,h=this.options;this.oscillators.forEach(d=>{d.setFreqAtTime(l,t,h.noteGlideDuration),d.runEnvelopeAtTime("attack",l)}),V(h.masterAttackEnvelope||[],"attack",l,this.outputNode,h.masterVolume),a&&this.releaseAtTime(l+a/1e3)}cancelScheduled(){this.outputNode.gain.cancelScheduledValues(this.audioContext.currentTime),this.oscillators.forEach(e=>e.cancelScheduled())}connect(e){return this.outputNode.connect(e)}createEqChain(e){this.eqNodes=(this.options.eq||[]).map(t=>new BiquadFilterNode(this.audioContext,{type:"peaking",...t})),this.eqNodes.reduceRight((t,a)=>(a.connect(t),a),e)}releaseAtTime(e){let t=0;this.oscillators.forEach(l=>{let h=l.options.releaseEnvelope;h&&h.length&&(t=Math.max(t,h[h.length-1].t),l.runEnvelopeAtTime("release",e))});let a=this.options.masterReleaseEnvelope||[];a.length&&(V(a,"release",e,this.outputNode,this.options.masterVolume),t=Math.max(t,a[a.length-1].t)),I(this.outputNode,e+t/1e3,0)}}return s.stopRampTime=.012,s}),z(T,"Extensions/Sonification/InstrumentPresets.js",[],function(){return{piano:{masterVolume:.45,masterAttackEnvelope:[{t:1,vol:.71},{t:40,vol:.79},{t:82,vol:.64},{t:147,vol:.29},{t:260,vol:.15},{t:417,vol:.05},{t:589,vol:0}],eq:[{frequency:200,Q:.7,gain:6},{frequency:450,gain:6},{frequency:1300,gain:2},{frequency:2600,Q:.8,gain:8},{frequency:3500,Q:.8,gain:6},{frequency:6200,Q:.8,gain:10},{frequency:8e3,gain:-23},{frequency:1e4,Q:.4,gain:-12}],oscillators:[{type:"pulse",volume:.5,pulseWidth:.55,volumePitchTrackingMultiplier:.1,lowpass:{frequency:4.5,frequencyPitchTrackingMultiplier:900,Q:-2},highpass:{frequency:270},attackEnvelope:[{t:1,vol:1}],releaseEnvelope:[{t:1,vol:1},{t:282,vol:.64},{t:597,vol:0}]},{type:"whitenoise",volume:.8,lowpass:{frequency:400},highpass:{frequency:300},attackEnvelope:[{t:1,vol:1},{t:19,vol:0}]}]},plucked:{masterVolume:.5,midiInstrument:25,masterAttackEnvelope:[{t:1,vol:.71},{t:4,vol:.71},{t:31,vol:.4},{t:109,vol:.12},{t:234,vol:.04},{t:442,vol:0}],eq:[{frequency:800,gain:-8},{frequency:1400,Q:4,gain:4},{frequency:1600,gain:-14},{frequency:2200,gain:-8},{frequency:3600,gain:-2},{frequency:6400,Q:2,gain:-6}],oscillators:[{type:"sawtooth",volume:.9,volumePitchTrackingMultiplier:.6,highpass:{frequency:100},lowpass:{frequency:8e3},releaseEnvelope:[{t:1,vol:1},{t:315,vol:.56},{t:550,vol:0}]}]},flute:{masterVolume:1.1,midiInstrument:74,noteGlideDuration:30,masterAttackEnvelope:[{t:0,vol:0},{t:29,vol:1},{t:76,vol:.48},{t:600,vol:.36}],masterReleaseEnvelope:[{t:1,vol:.36},{t:24,vol:.15},{t:119,vol:0}],eq:[{frequency:150,Q:.6,gain:-10},{frequency:500,gain:4},{frequency:1100,gain:-4},{frequency:2200,gain:-14},{frequency:5e3,gain:8},{frequency:6400,gain:10},{frequency:8e3,gain:12},{frequency:10800,gain:8}],oscillators:[{type:"triangle",volume:1,volumePitchTrackingMultiplier:.4,lowpass:{frequency:12,frequencyPitchTrackingMultiplier:100},highpass:{frequency:200}},{type:"sine",fixedFrequency:5,volume:.2,vmOscillator:0,attackEnvelope:[{t:1,vol:1},{t:48,vol:0},{t:225,vol:.05},{t:600,vol:.77}]},{type:"whitenoise",volume:.13,lowpass:{frequency:9e3,Q:3},highpass:{frequency:6e3,Q:3},vmOscillator:0,attackEnvelope:[{t:0,vol:0},{t:26,vol:1},{t:93,vol:.8}]}]},lead:{masterVolume:1,midiInstrument:20,masterAttackEnvelope:[{t:1,vol:.81},{t:98,vol:.5},{t:201,vol:.18},{t:377,vol:.04},{t:586,vol:0},{t:586,vol:0}],eq:[{frequency:200,gain:-6},{frequency:400,gain:-8},{frequency:800,Q:.5,gain:-10},{frequency:1200,gain:4},{frequency:3600,gain:-4},{frequency:4200,gain:-12},{frequency:7400,gain:-14},{frequency:1e4,gain:2}],oscillators:[{type:"triangle",volume:1.1,volumePitchTrackingMultiplier:.6,lowpass:{frequency:5e3},highpass:{frequency:100}},{type:"sawtooth",volume:.4,lowpass:{frequency:7e3},highpass:{frequency:800,Q:6},releaseEnvelope:[{t:0,vol:.99},{t:200,vol:.83},{t:495,vol:0}]}]},vibraphone:{masterVolume:1,midiInstrument:12,masterAttackEnvelope:[{t:1,vol:0},{t:10,vol:.63},{t:82,vol:.64},{t:149,vol:.26},{t:600,vol:0}],eq:[{frequency:200,Q:.8,gain:-12},{frequency:400,gain:-4},{frequency:1600,Q:.5,gain:6},{frequency:2200,Q:.5,gain:6},{frequency:6400,gain:4},{frequency:12800,gain:4}],oscillators:[{type:"sine",volume:1.5,volumePitchTrackingMultiplier:1e-7,attackEnvelope:[{t:1,vol:1}],releaseEnvelope:[{t:1,vol:1},{t:146,vol:.39},{t:597,vol:0}]},{type:"whitenoise",volume:.03,volumePitchTrackingMultiplier:1e-4,lowpass:{frequency:900},highpass:{frequency:800},attackEnvelope:[{t:1,vol:1},{t:9,vol:0}]},{type:"sine",freqMultiplier:4,volume:.15,volumePitchTrackingMultiplier:1e-4},{type:"sine",fixedFrequency:3,volume:6,fmOscillator:0,releaseEnvelope:[{t:1,vol:1},{t:190,vol:.41},{t:600,vol:0}]},{type:"sine",fixedFrequency:6,volume:3,fmOscillator:2},{type:"sine",freqMultiplier:9,volume:5e-4,volumePitchTrackingMultiplier:1e-4,releaseEnvelope:[{t:1,vol:.97},{t:530,vol:0}]}]},saxophone:{masterVolume:1,midiInstrument:67,noteGlideDuration:10,masterAttackEnvelope:[{t:1,vol:.57},{t:35,vol:1},{t:87,vol:.84},{t:111,vol:.6},{t:296,vol:.49},{t:600,vol:.58}],masterReleaseEnvelope:[{t:1,vol:.58},{t:47,vol:.16},{t:119,vol:0}],eq:[{frequency:200,gain:-2},{frequency:600,gain:2},{frequency:800,gain:-10},{frequency:1100,gain:-2},{frequency:2200,gain:-2},{frequency:3500,gain:10},{frequency:12800,gain:4}],oscillators:[{type:"sawtooth",volume:.45,volumePitchTrackingMultiplier:.06,lowpass:{frequency:18,frequencyPitchTrackingMultiplier:200},highpass:{frequency:300}},{type:"whitenoise",fixedFrequency:1,volume:.4,highpass:{frequency:7e3},vmOscillator:0,attackEnvelope:[{t:1,vol:1},{t:51,vol:1},{t:86,vol:.84},{t:500,vol:.78}]},{type:"sine",fixedFrequency:4,volume:2,fmOscillator:0,attackEnvelope:[{t:0,vol:0},{t:15,vol:.94},{t:79,vol:1},{t:172,vol:.47},{t:500,vol:.26}]},{type:"sine",fixedFrequency:7,volume:6,fmOscillator:0,attackEnvelope:[{t:0,vol:0},{t:25,vol:.99},{t:85,vol:0},{t:85,vol:0},{t:387,vol:.02},{t:511,vol:.43},{t:600,vol:0}]}]},trumpet:{masterVolume:.3,midiInstrument:57,noteGlideDuration:40,masterAttackEnvelope:[{t:1,vol:0},{t:17,vol:1},{t:42,vol:.85},{t:76,vol:1},{t:202,vol:.65},{t:226,vol:.86},{t:282,vol:.63}],masterReleaseEnvelope:[{t:1,vol:.62},{t:34,vol:.14},{t:63,vol:.21},{t:96,vol:0}],eq:[{frequency:200,Q:.6,gain:10},{frequency:600,Q:.5,gain:6},{frequency:1500,Q:.7,gain:14},{frequency:3200,Q:2,gain:8},{frequency:3800,Q:.8,gain:10},{frequency:6200,gain:12},{frequency:8400,gain:-20},{frequency:12800,Q:.5,gain:-18}],oscillators:[{type:"sawtooth",volume:.15,pulseWidth:.5,volumePitchTrackingMultiplier:.5,lowpass:{frequency:1900,Q:3}},{type:"sine",fixedFrequency:6,volume:.2,vmOscillator:0,attackEnvelope:[{t:1,vol:1},{t:102,vol:.13},{t:556,vol:.24}]}
1,{type:"whitenoise",volume:.45,highpass:{frequency:7e3,Q:9},vmOscillator:0,attackEnvelope:[{t:1,vol:1},{t:89,vol:.51},{t:577,vol:.29}]},{type:"sine",fixedFrequency:5.7,volume:20,fmOscillator:0,attackEnvelope:[{t:1,vol:1},{t:89,vol:1},{t:137,vol:.46},{t:283,vol:.15},{t:600,vol:.28}]}]},sawsynth:{masterVolume:.3,midiInstrument:51,noteGlideDuration:40,masterAttackEnvelope:[{t:0,vol:.6},{t:9,vol:1},{t:102,vol:.48}],eq:[{frequency:200,gain:-6}],oscillators:[{type:"sawtooth",volume:.4,volumePitchTrackingMultiplier:.3},{type:"sawtooth",volume:.4,detune:11,volumePitchTrackingMultiplier:.3},{type:"sawtooth",volume:.4,detune:-11,volumePitchTrackingMultiplier:.3}]},basic1:{masterVolume:1,noteGlideDuration:0,masterReleaseEnvelope:[{t:1,vol:.36},{t:24,vol:.15},{t:119,vol:0}],eq:[{frequency:150,Q:.6,gain:-12},{frequency:1100,gain:-2},{frequency:2200,gain:-16},{frequency:5e3,gain:8},{frequency:6400,gain:10},{frequency:8e3,gain:12},{frequency:10800,gain:8}],oscillators:[{type:"triangle",volume:1,volumePitchTrackingMultiplier:.05,lowpass:{frequency:17,frequencyPitchTrackingMultiplier:100},highpass:{frequency:200}},{type:"whitenoise",volume:.04,lowpass:{frequency:9e3,Q:3},highpass:{frequency:6e3,Q:3},vmOscillator:0,attackEnvelope:[{t:0,vol:0},{t:26,vol:1},{t:71,vol:.73}]}]},basic2:{masterVolume:.3,eq:[{frequency:200,Q:.7,gain:6},{frequency:450,gain:2},{frequency:1300,gain:-2},{frequency:2600,Q:.8,gain:6},{frequency:3500,Q:.8,gain:6},{frequency:6200,Q:.8,gain:10},{frequency:8e3,gain:-18},{frequency:1e4,Q:.4,gain:-12}],oscillators:[{type:"pulse",volume:.4,pulseWidth:.55,volumePitchTrackingMultiplier:.1,lowpass:{frequency:4.5,frequencyPitchTrackingMultiplier:900,Q:-2},highpass:{frequency:270}}]},chord:{masterVolume:1,masterAttackEnvelope:[{t:1,vol:.79},{t:27,vol:.86},{t:62,vol:.81},{t:150,vol:.35},{t:408,vol:.04},{t:600,vol:0}],eq:[{frequency:200,gain:-8},{frequency:600,Q:2,gain:4},{frequency:800,gain:-10},{frequency:1600,gain:-2},{frequency:2200,gain:-6},{frequency:3600,Q:.7,gain:-2},{frequency:6400,gain:6},{frequency:12800,gain:6}],oscillators:[{type:"triangle",volume:1.1,volumePitchTrackingMultiplier:.05,lowpass:{frequency:8e3},highpass:{frequency:100},releaseEnvelope:[{t:1,vol:1},{t:315,vol:.56},{t:540,vol:0}]},{type:"triangle",freqMultiplier:1.17,volume:.4,volumePitchTrackingMultiplier:.07,lowpass:{frequency:5e3},highpass:{frequency:100},releaseEnvelope:[{t:0,vol:1},{t:476,vol:0}]},{type:"triangle",freqMultiplier:1.58333,volume:.7,volumePitchTrackingMultiplier:.02,highpass:{frequency:200},releaseEnvelope:[{t:0,vol:1},{t:422,vol:.56},{t:577,vol:0}]},{type:"sine",fixedFrequency:10,volume:4,fmOscillator:0,attackEnvelope:[{t:1,vol:1},{t:157,vol:.65}]},{type:"sine",fixedFrequency:5,volume:.3,vmOscillator:2,attackEnvelope:[{t:1,vol:1},{t:155,vol:.91},{t:289,vol:.78}]}]},wobble:{masterVolume:.9,masterReleaseEnvelope:[{t:1,vol:.36},{t:24,vol:.15},{t:119,vol:0}],eq:[{frequency:150,Q:.6,gain:-12},{frequency:1100,gain:-2},{frequency:2200,gain:-16},{frequency:5e3,gain:8},{frequency:6400,gain:10},{frequency:8e3,gain:12},{frequency:10800,gain:8}],oscillators:[{type:"triangle",volume:.9,volumePitchTrackingMultiplier:.1,lowpass:{frequency:17,frequencyPitchTrackingMultiplier:100},highpass:{frequency:200}},{type:"whitenoise",volume:.04,lowpass:{frequency:9e3,Q:3},highpass:{frequency:6e3,Q:3},vmOscillator:0,attackEnvelope:[{t:0,vol:0},{t:26,vol:1},{t:71,vol:.73}]},{type:"sine",freqMultiplier:.011,volume:30,fmOscillator:0}]},sine:{masterVolume:1,oscillators:[{type:"sine",volumePitchTrackingMultiplier:.07}]},sineGlide:{masterVolume:1,noteGlideDuration:100,oscillators:[{type:"sine",volumePitchTrackingMultiplier:.07}]},triangle:{masterVolume:.5,oscillators:[{type:"triangle",volume:1,volumePitchTrackingMultiplier:.07}]},sawtooth:{masterVolume:.25,midiInstrument:82,oscillators:[{type:"sawtooth",volume:.3,volumePitchTrackingMultiplier:.07}]},square:{masterVolume:.3,midiInstrument:81,oscillators:[{type:"square",volume:.2,volumePitchTrackingMultiplier:.07}]},chop:{masterVolume:1,midiInstrument:116,masterAttackEnvelope:[{t:1,vol:1},{t:44,vol:0}],oscillators:[{type:"whitenoise",volume:1,lowpass:{frequency:600},highpass:{frequency:200}}]},shaker:{masterVolume:.4,midiInstrument:116,masterAttackEnvelope:[{t:1,vol:1},{t:44,vol:0}],oscillators:[{type:"whitenoise",volume:1,lowpass:{frequency:6500},highpass:{frequency:5e3}}]},step:{masterVolume:1,midiInstrument:116,masterAttackEnvelope:[{t:1,vol:1},{t:44,vol:0}],eq:[{frequency:200,gain:-1},{frequency:400,gain:-14},{frequency:800,gain:8},{frequency:1e3,Q:5,gain:-24},{frequency:1600,gain:8},{frequency:2200,gain:-10},{frequency:5400,gain:4},{frequency:12800,gain:-36}],oscillators:[{type:"whitenoise",volume:1.5,lowpass:{frequency:300},highpass:{frequency:100,Q:6}}]},kick:{masterVolume:.55,masterAttackEnvelope:[{t:1,vol:.8},{t:15,vol:1},{t:45,vol:.35},{t:121,vol:.11},{t:242,vol:0}],eq:[{frequency:50,gain:6},{frequency:400,gain:-18},{frequency:1600,gain:18}
1],oscillators:[{type:"triangle",fixedFrequency:90,volume:1,lowpass:{frequency:300},attackEnvelope:[{t:1,vol:1},{t:6,vol:1},{t:45,vol:.01}]},{type:"whitenoise",volume:.4,lowpass:{frequency:200},attackEnvelope:[{t:1,vol:1},{t:30,vol:0}]},{type:"triangle",freqMultiplier:.1,volume:1,lowpass:{frequency:200}}]},shortnote:{masterVolume:.8,midiInstrument:116,masterAttackEnvelope:[{t:1,vol:1},{t:15,vol:0}],eq:[{frequency:400,gain:-4},{frequency:800,gain:-12},{frequency:2400,gain:4},{frequency:7200,gain:-20},{frequency:1e3,Q:5,gain:-12},{frequency:5400,gain:-32},{frequency:12800,gain:-14}],oscillators:[{type:"sawtooth",volume:.6,lowpass:{frequency:1e3}},{type:"whitenoise",volume:.2,lowpass:{frequency:1e4},highpass:{frequency:7e3},attackEnvelope:[{t:1,vol:1},{t:10,vol:0}]},{type:"whitenoise",volume:1.3,lowpass:{frequency:700,Q:4},highpass:{frequency:250}}]},noise:{masterVolume:.3,midiInstrument:122,oscillators:[{type:"whitenoise"}]},filteredNoise:{masterVolume:.3,midiInstrument:122,eq:[{frequency:1600,gain:-8},{frequency:2200,gain:-4}],oscillators:[{type:"whitenoise",lowpass:{frequency:5,frequencyPitchTrackingMultiplier:1300,Q:6},highpass:{frequency:5,frequencyPitchTrackingMultiplier:300,Q:6}}]},wind:{masterVolume:.75,midiInstrument:122,noteGlideDuration:150,masterReleaseEnvelope:[{t:0,vol:1},{t:124,vol:.24},{t:281,vol:0}],oscillators:[{type:"whitenoise",volume:1,lowpass:{frequency:100,frequencyPitchTrackingMultiplier:6,Q:23},highpass:{frequency:170,frequencyPitchTrackingMultiplier:6}},{type:"sine",freqMultiplier:.016,volume:1e3,fmOscillator:0}]}}}),z(T,"Extensions/Sonification/SonificationInstrument.js",[T["Extensions/Sonification/SynthPatch.js"],T["Extensions/Sonification/InstrumentPresets.js"],T["Core/Utilities.js"]],function(k,M,v){let{defined:w,extend:O}=v;class I{constructor(u,o,s){this.audioContext=u,this.curParams={},this.midiTrackName=s.midiTrackName,this.masterVolNode=new GainNode(u),this.masterVolNode.connect(o),this.volumeNode=new GainNode(u),this.createNodesFromCapabilities(O({pan:!0},s.capabilities||{})),this.connectCapabilityNodes(this.volumeNode,this.masterVolNode),this.synthPatch=new k(u,typeof s.synthPatch=="string"?M[s.synthPatch]:s.synthPatch),this.midiInstrument=this.synthPatch.midiInstrument||1,this.synthPatch.startSilently(),this.synthPatch.connect(this.volumeNode)}setMasterVolume(u){this.masterVolNode.gain.setTargetAtTime(u,0,I.rampTime)}scheduleEventAtTime(u,o){let s=O(this.curParams,o),c=w(o.frequency)?o.frequency:w(o.note)?I.musicalNoteToFrequency(o.note):220;w(c)&&this.synthPatch.playFreqAtTime(u,c,s.noteDuration),(w(s.tremoloDepth)||w(s.tremoloSpeed))&&this.setTremoloAtTime(u,s.tremoloDepth,s.tremoloSpeed),w(s.pan)&&this.setPanAtTime(u,s.pan),w(s.volume)&&this.setVolumeAtTime(u,s.volume),(w(s.lowpassFreq)||w(s.lowpassResonance))&&this.setFilterAtTime("lowpass",u,s.lowpassFreq,s.lowpassResonance),(w(s.highpassFreq)||w(s.highpassResonance))&&this.setFilterAtTime("highpass",u,s.highpassFreq,s.highpassResonance)}silenceAtTime(u){this.synthPatch.silenceAtTime(u)}cancel(){this.synthPatch.mute(),[this.tremoloDepth&&this.tremoloDepth.gain,this.tremoloOsc&&this.tremoloOsc.frequency,this.lowpassNode&&this.lowpassNode.frequency,this.lowpassNode&&this.lowpassNode.Q,this.highpassNode&&this.highpassNode.frequency,this.highpassNode&&this.highpassNode.Q,this.panNode&&this.panNode.pan,this.volumeNode.gain].forEach(u=>u&&u.cancelScheduledValues(0))}destroy(){this.cancel(),this.synthPatch.stop(),this.tremoloOsc&&this.tremoloOsc.stop(),[this.tremoloDepth,this.tremoloOsc,this.lowpassNode,this.highpassNode,this.panNode,this.volumeNode,this.masterVolNode].forEach(u=>u&&u.disconnect())}setPanAtTime(u,o){this.panNode&&this.panNode.pan.setTargetAtTime(o,u+this.audioContext.currentTime,I.rampTime)}setFilterAtTime(u,o,s,c){let e=this[u+"Node"],t=this.audioContext.currentTime+o;e&&(w(c)&&e.Q.setTargetAtTime(c,t,I.rampTime),w(s)&&e.frequency.setTargetAtTime(s,t,I.rampTime))}setVolumeAtTime(u,o){this.volumeNode&&this.volumeNode.gain.setTargetAtTime(o,u+this.audioContext.currentTime,I.rampTime)}setTremoloAtTime(u,o,s){let c=this.audioContext.currentTime+u;this.tremoloDepth&&w(o)&&this.tremoloDepth.gain.setTargetAtTime(o,c,I.rampTime),this.tremoloOsc&&w(s)&&this.tremoloOsc.frequency.setTargetAtTime(15*s,c,I.rampTime)}createNodesFromCapabilities(u){let o=this.audioContext;u.pan&&(this.panNode=new StereoPannerNode(o)),u.tremolo&&(this.tremoloOsc=new OscillatorNode(o,{type:"sine",frequency:3}),this.tremoloDepth=new GainNode(o),this.tremoloOsc.connect(this.tremoloDepth),this.tremoloDepth.connect(this.masterVolNode.gain),this.tremoloOsc.start()),u.filters&&(this.lowpassNode=new BiquadFilterNode(o,{type:"lowpass",frequency:2e4}),this.highpassNode=new BiquadFilterNode(o,{type:"highpass",frequency:0}))}connectCapabilityNodes(u,o){[this.panNode,this.lowpassNode,this.highpassNode,u].reduce((s,c)=>c?(c.connect(s),c):s,o)}static noteStringToC0Distance(u){let o=u.match(/^([a-g][#b]?)([0-8])$/i),s=o?o[1]:"a",c=s[0].toLowerCase(),e=s[1];return({c:0,d:2,e:4,f:5,g:7,a:9,b:11}[c]||0)+(e==="#"?1:e==="b"?-1:0)+12*(o?parseInt(o[2],10):4)}static musicalNoteToFrequency(u){return 16.3516*Math.pow(2,Math.min(typeof u=="string"?this.noteStringToC0Distance(u):u,107)/12)}}return I.rampTime=k.stopRampTime/4,I}),z(T,"Extensions/Sonification/SonificationSpeaker.js",[T["Core/Utilities.js"]],function(k){let{pick:M}=k;return class{constructor(v){this.options=v,this.masterVolume=1,this.synthesis=window.speechSynthesis,speechSynthesis.onvoiceschanged!==void 0&&(speechSynthesis.onvoiceschanged=this.setVoice.bind(this)),this.setVoice(),this.scheduled=[]}say(v,w){if(this.synthesis){this.synthesis.cancel();let O=new SpeechSynthesisUtterance(v);this.voice&&(O.voice=this.voice),O.rate=w&&w.rate||this.options.rate||1,O.pitch=w&&w.pitch||this.options.pitch||1,O.volume=M(w&&w.volume,this.options.volume,1)*this.masterVolume,this.synthesis.speak(O)}}sayAtTime(v,w,O){this.scheduled.push(setTimeout(this.say.bind(this,w,O),v))}cancel(){this.scheduled.forEach(clearTimeout),this.scheduled=[],this.synthesis.cancel()}destroy(){this.cancel()}setMasterVolume(v){this.masterVolume=v}setVoice(){if(this.synthesis){let v,w=this.options.name,O=this.options.language||"en-US",I=this.synthesis.getVoices(),V=I.length;for(let u=0;u<V;++u){if(w&&I[u].name===w){this.voice=I[u];return}if(!v&&I[u].lang===O&&(v=I[u],!w))break}this.voice=v}}}}),z(T,"Extensions/Sonification/TimelineChannel.js",[],function(){return class{constructor(k,M,v=!1,w,O){this.type=k,this.engine=M,this.showPlayMarker=v,this.muted=O,this.events=w||[]}
1addEvent(k){let M=this.events[this.events.length-1];if(M&&k.time<M.time){let v=this.events.length;for(;v--&&this.events[v].time>k.time;);this.events.splice(v+1,0,k)}else this.events.push(k);return k}mute(){this.muted=!0}unmute(){this.muted=!1}cancel(){this.engine.cancel()}destroy(){this.engine.destroy()}}}),z(T,"Extensions/Sonification/MIDI.js",[T["Extensions/Sonification/SonificationInstrument.js"],T["Core/Utilities.js"]],function(k,M){let{pick:v}=M,w=e=>Math.round(12*Math.log(e)/Math.LN2-48.37632),O=(e,t)=>t>>>8*e&255,I=e=>[77,84,104,100,0,0,0,6,0,e>1?1:0,O(1,e),O(0,e),1,244],V=[0,255,81,3,7,161,32],u=e=>{let t=127&e,a=[];for(;e>>=7;)t<<=8,t|=127&e|128;for(;a.push(255&t),128&t;)t>>=8;return a},o=e=>{let t,a,l=[],h=d=>{let m=l.length;for(;m--&&l[m].timeMS>d.timeMS;);l.splice(m+1,0,d)};return e.forEach(d=>{let m=d.instrumentEventOptions||{},E=d.time,P=a=v(m.noteDuration,a),i=P&&d.time+P,r=[{valMap:f=>64+63*f&127,data:{10:m.pan,92:m.tremoloDepth,93:m.tremoloSpeed}},{valMap:f=>127*f/2e4&127,data:{74:m.lowpassFreq,75:m.highpassFreq}},{valMap:f=>63*Math.min(18,Math.max(-18,f))/18+63&127,data:{71:m.lowpassResonance,76:m.highpassResonance}}],n=t=m.volume===void 0?v(t,127):127*m.volume&127,p=m.frequency,g=m.note||0,x=12+(p?w(p):typeof g=="string"?k.noteStringToC0Distance(g):g)&127;r.forEach(f=>Object.keys(f.data).forEach(S=>{let q=f.data[S];q!==void 0&&h({timeMS:E,type:"CTRL_CHG",data:[176,parseInt(S,10),f.valMap(q)]})})),i&&(h({timeMS:E,type:"NON",data:[144,x,n]}),h({timeMS:i,type:"NOF",data:[128,x,n]}))}),l},s=(e,t)=>{let a=[];if(t&&a.push(0,192,127&t),e){let l=[];for(let h=0;h<e.length;++h){let d=e.charCodeAt(h);d<128&&l.push(d)}return a.concat([0,255,3],u(l.length),l)}return a},c=(e,t,a,l)=>{let h=0,d=s(a,l),m=o(e).reduce((i,r)=>{let n=u(r.timeMS-h);return h=r.timeMS,i.concat(n,r.data)},[]),E=[0,255,47,0],P=(t?V.length:0)+d.length+m.length+E.length;return[77,84,114,107,O(3,P),O(2,P),O(1,P),O(0,P)].concat(t?V:[],d,m,E)};return function(e){let t=e.filter(h=>!!h.events.length),a=t.length,l=a>1;return new Uint8Array(I(l?a+1:a).concat(l?c([],!0):[],t.reduce((h,d)=>{let m=d.engine;return h.concat(c(d.events,!l,m.midiTrackName,m.midiInstrument))},[])))}}),z(T,"Extensions/DownloadURL.js",[T["Core/Globals.js"]],function(k){let{isSafari:M,win:v,win:{document:w}}=k,O=v.URL||v.webkitURL||v;function I(V){let u=V.replace(/filename=.*;/,"").match(/data:([^;]*)(;base64)?,([A-Z+\d\/]+)/i);if(u&&u.length>3&&v.atob&&v.ArrayBuffer&&v.Uint8Array&&v.Blob&&O.createObjectURL){let o=v.atob(u[3]),s=new v.ArrayBuffer(o.length),c=new v.Uint8Array(s);for(let e=0;e<c.length;++e)c[e]=o.charCodeAt(e);
1return O.createObjectURL(new v.Blob([c],{type:u[1]}))}}return{dataURLtoBlob:I,downloadURL:function(V,u){let o=v.navigator,s=w.createElement("a");if(typeof V!="string"&&!(V instanceof String)&&o.msSaveOrOpenBlob){o.msSaveOrOpenBlob(V,u);return}if(V=""+V,o.userAgent.length>1e3)throw Error("Input too long");let c=/Edge\/\d+/.test(o.userAgent);if((M&&typeof V=="string"&&V.indexOf("data:application/pdf")===0||c||V.length>2e6)&&!(V=I(V)||""))throw Error("Failed to convert to blob");if(s.download!==void 0)s.href=V,s.download=u,w.body.appendChild(s),s.click(),w.body.removeChild(s);else try{if(!v.open(V,"chart"))throw Error("Failed to open window")}catch{v.location.href=V}}}}),z(T,"Extensions/Sonification/SonificationTimeline.js",[T["Extensions/Sonification/TimelineChannel.js"],T["Extensions/Sonification/MIDI.js"],T["Extensions/DownloadURL.js"],T["Core/Utilities.js"]],function(k,M,v,w){let{downloadURL:O}=v,{defined:I,find:V,merge:u}=w;return class{constructor(o,s){this.chart=s,this.isPaused=!1,this.isPlaying=!1,this.channels=[],this.scheduledCallbacks=[],this.playTimestamp=0,this.resumeFromTime=0,this.options=o||{}}addChannel(o,s,c=!1,e){if(o==="instrument"&&!s.scheduleEventAtTime||o==="speech"&&!s.sayAtTime)throw Error("Highcharts Sonification: Invalid channel engine.");let t=new k(o,s,c,e);return this.channels.push(t),t}play(o,s=!0,c=!0,e){this.isPlaying?this.cancel():this.clearScheduledCallbacks(),this.onEndArgument=e,this.playTimestamp=Date.now(),this.resumeFromTime=0,this.isPaused=!1,this.isPlaying=!0;let t=this.options.skipThreshold||2,a=this.options.onPlay,l=this.options.showTooltip,h=this.options.showCrosshair,d=o?(function(n,p){let g=p.map(f=>(f.cancel(),{channel:f,filteredEvents:f.muted?[]:f.events.filter(n)})),x=g.reduce((f,S)=>Math.min(f,S.filteredEvents.length?S.filteredEvents[0].time:1/0),1/0);return g.map(f=>new k(f.channel.type,f.channel.engine,f.channel.showPlayMarker,f.filteredEvents.map(S=>u(S,{time:S.time-x})),f.channel.muted))})(o,this.playingChannels||this.channels):this.channels,m=n=>Object.keys(n.speechOptions||{}).concat(Object.keys(n.instrumentEventOptions||{})).join(),E=[];s&&(this.playingChannels=d),a&&a({chart:this.chart,timeline:this});let P=0;d.forEach(n=>{if(n.muted)return;let p=n.events.length,g=-1/0,x=-1/0,f="";P=Math.max(n.events[p-1]&&n.events[p-1].time||0,P);for(let S=0;S<p;++S){let q=n.events[S],R=m(q);if(R===f&&q.time-x<t)continue;
1f=R,x=q.time,n.type==="instrument"?n.engine.scheduleEventAtTime(q.time/1e3,q.instrumentEventOptions||{}):n.engine.sayAtTime(q.time,q.message||"",q.speechOptions||{});let C=q.relatedPoint,b=C&&C.series&&C.series.chart,j=q.callback||C&&(l||h)&&n.showPlayMarker!==!1&&(q.time-g>50||S===p-1);C&&E.push(C),j&&(this.scheduledCallbacks.push(setTimeout(()=>{if(q.callback&&q.callback(),C){if(h){let A=C.series;A&&A.xAxis&&A.xAxis.crosshair&&A.xAxis.drawCrosshair(void 0,C),A&&A.yAxis&&A.yAxis.crosshair&&A.yAxis.drawCrosshair(void 0,C)}l&&!(b&&b.hoverPoints&&b.hoverPoints.length>1&&V(b.hoverPoints,A=>A===C)&&C.onMouseOver)&&C.onMouseOver()}},q.time)),g=q.time)}});let i=this.options.onEnd,r=this.options.onStop;this.scheduledCallbacks.push(setTimeout(()=>{let n=this.chart,p={chart:n,timeline:this,pointsPlayed:E};this.isPlaying=!1,c&&this.resetPlayState(),r&&r(p),i&&i(p),e&&e(p),n&&(n.tooltip&&n.tooltip.hide(0),n.hoverSeries&&n.hoverSeries.onMouseOut(),n.axes.forEach(g=>g.hideCrosshair()))},P+250)),this.resumeFromTime=s?P:this.getLength()}pause(){return this.isPaused=!0,this.cancel(),this.resumeFromTime=Date.now()-this.playTimestamp-10,this.resumeFromTime}getCurrentTime(){return this.isPlaying?Date.now()-this.playTimestamp:this.resumeFromTime}getLength(){return this.channels.reduce((o,s)=>{let c=s.events[s.events.length-1];return c?Math.max(c.time,o):o},0)}resume(){if(this.playingChannels){let o=this.resumeFromTime-50;this.play(s=>s.time>o,!1,!1,this.onEndArgument),this.playTimestamp-=o}else this.play(void 0,!1,!1,this.onEndArgument)}anchorPlayMoment(o,s){this.isPlaying&&this.pause();let c=0;this.play((e,t,a)=>{let l=o(e,t,a);return l&&e.time>c&&(c=e.time),l},!1,!1,s),this.playingChannels=this.playingChannels||this.channels,this.isPaused=!0,this.isPlaying=!1,this.resumeFromTime=c}playAdjacent(o,s,c,e){this.isPlaying&&this.pause();let t=this.resumeFromTime,a=this.channels.reduce((l,h)=>{let d=e?h.events.filter(e):h.events,m=0,E=d.length,P=l;for(;m<E;){let i=m+E>>1,r=d[i].time,n=r-t;n>0?(o&&r<P&&(P=r),E=i):n<0?(!o&&r>P&&(P=r),m=i+1):o?m=i+1:E=i}return P},o?1/0:-1/0);if(a===1/0||a===-1/0){c&&c({chart:this.chart,timeline:this,attemptedNext:o});return}this.anchorPlayMoment((l,h,d)=>{let m=o?l.time>t&&l.time<=a+.02:l.time<t&&l.time>=a-.02;return e?m&&e(l,h,d):m},s)}playClosestToPropValue(o,s,c,e,t){let a=(d,m,E)=>!!(t?t(d,m,E)&&d.relatedPoint:d.relatedPoint),l=1/0,h=null;(this.playingChannels||this.channels).forEach(d=>{let m=d.events,E=m.length;for(;E--;){if(!a(m[E],E,m))continue;let P=m[E].relatedPoint[o],i=I(P)&&Math.abs(s-P);i!==!1&&i<l&&(l=i,h=m[E])}}),h?(this.play(d=>!!(h&&d.time<h.time+1&&d.time>h.time-1&&d.relatedPoint===h.relatedPoint),!1,!1,c),this.playingChannels=this.playingChannels||this.channels,this.isPaused=!0,this.isPlaying=!1,this.resumeFromTime=h.time):e&&e({chart:this.chart,timeline:this})}getEventsForPoint(o){return this.channels.reduce((s,c)=>{let e=c.events.filter(t=>t.relatedPoint===o);return s.concat(e)},[])}playSegment(o,s){let c={first:1/0,last:-1/0};if(this.channels.forEach(e=>{e.events.length&&(c.first=Math.min(e.events[0].time,c.first),c.last=Math.max(e.events[e.events.length-1].time,c.last))}),c.first<1/0){let e=(c.last-c.first)/100,t=c.first+o*e,a=t+e;if(!this.channels.some(l=>{let h=l.events,d=0,m=h.length;for(;d<m;){let E=d+m>>1,P=h[E].time;if(P<t)d=E+1;else{if(!(P>a))return!0;m=E}}return!1}))return;this.play(l=>l.time>=t&&l.time<=a,!1,!1,s),this.playingChannels=this.playingChannels||this.channels,this.isPaused=!0,this.isPlaying=!1,this.resumeFromTime=a}}getLastPlayedPoint(o){let s=this.getCurrentTime(),c=this.playingChannels||this.channels,e=1/0,t=null;return c.forEach(a=>{let l=a.events.filter((d,m,E)=>!!(d.relatedPoint&&d.time<=s&&(!o||o(d,m,E)))),h=l[l.length-1];if(h){let d=Math.abs(h.time-s);d<e&&(e=d,t=h.relatedPoint)}}),t}reset(){this.isPlaying&&this.cancel(),this.resetPlayState()}cancel(){let o=this.options.onStop;o&&o({chart:this.chart,timeline:this}),this.isPlaying=!1,this.channels.forEach(s=>s.cancel()),this.playingChannels&&this.playingChannels!==this.channels&&this.playingChannels.forEach(s=>s.cancel()),this.clearScheduledCallbacks(),this.resumeFromTime=0}destroy(){this.cancel(),this.playingChannels&&this.playingChannels!==this.channels&&this.playingChannels.forEac
1h(o=>o.destroy()),this.channels.forEach(o=>o.destroy())}setMasterVolume(o){this.channels.forEach(s=>s.engine.setMasterVolume(o))}getMIDIData(){return M(this.channels.filter(o=>o.type==="instrument"))}downloadMIDI(o){let s=this.getMIDIData(),c=(o||this.chart&&this.chart.options.title&&this.chart.options.title.text||"chart")+".mid",e=new Blob([s],{type:"application/octet-stream"}),t=window.URL.createObjectURL(e);O(t,c),window.URL.revokeObjectURL(t)}resetPlayState(){delete this.playingChannels,delete this.onEndArgument,this.playTimestamp=this.resumeFromTime=0,this.isPaused=!1}clearScheduledCallbacks(){this.scheduledCallbacks.forEach(clearTimeout),this.scheduledCallbacks=[]}}}),z(T,"Extensions/Sonification/TimelineFromChart.js",[T["Extensions/Sonification/SonificationTimeline.js"],T["Extensions/Sonification/SonificationInstrument.js"],T["Extensions/Sonification/SonificationSpeaker.js"],T["Core/Utilities.js"],T["Core/Templating.js"]],function(k,M,v,w,O){let{clamp:I,defined:V,extend:u,getNestedProperty:o,merge:s,pick:c}=w,{format:e}=O,t=i=>/^([a-g][#b]?)[0-8]$/i.test(i);function a(i,r){let n;if(r){if(typeof(n=i[r])=="number")return n;n=o(r,i)}return typeof n=="number"?n:void 0}function l(i,r,n,p,g){let x=r.max-r.min;if(x<=0)return n.min;let f=n.max-n.min,S=f*(i-r.min)/x;if(g){let q=r.min>0?C=>Math.log(C)/Math.LOG10E:C=>{let b=Math.abs(C);b<10&&(b+=(10-b)/10);let j=Math.log(b)/Math.LN10;return C<0?-j:j},R=q(r.min);S=f*(q(i)-R)/(q(r.max)-R)}return I(p?n.max-S:n.min+S,n.min,n.max)}function h(i,r,n,p,g,x,f){return c((function(S,q,R,C,b,j){if(typeof b=="number")return b;if(typeof b=="function")return b(u({time:0},S));let A=b,K=C.mapFunction,ae=C.min,J=C.max,le=C.within,ie;if(typeof b=="object"&&(A=b.mapTo,K=b.mapFunction||K,ae=c(b.min,ae),J=c(b.max,J),le=b.within||C.within,ie=b.scale),!A)return null;let re=A.charAt(0)==="-";re&&(A=A.slice(1));let H=S.value,me=A==="value"&&H!==void 0&&j;if(!me){let Y=b.value;if(Y!==void 0)H=Y;else{if(!S.point)return null;H=S.point[A]}H===void 0&&(H=o(A,S.point))}if(typeof H!="number"||H===null)return null;let he=null;if(S.point)if(le==="xAxis"||le==="yAxis"){let Y=S.point.series[le];Y&&V(Y.dataMin)&&V(Y.dataMax)&&(he={min:Y.dataMin,max:Y.dataMax})}else(le==="series"||R)&&S.point.series&&(he=q.seriesExtremes[S.point.series.index][me?j:A]);if(he||(he=q.globalExtremes[me?j:A]),ie){let Y=[],de=Math.floor(ae/12),ye=Math.ceil(J/12)+1,ue=ie.length;for(let fe=de;fe<ye;++fe)for(let N=0;N<ue;++N){let y=12*fe+ie[N];y>=ae&&y<=J&&Y.push(y)}let ge=l(H,he,{min:0,max:Y.length-1},re,K==="logarithmic");return Y[Math.round(ge)]}return l(H,he,{min:ae,max:J},re,K==="logarithmic")})(i,r,n,u({min:0,max:1,mapTo:"y",mapFunction:"linear",within:"chart"},x||{}),p,f),g)}function d(i,r,n,p){let g=p.mapping||{},x=p.type==="speech"?new v({language:p.language,name:p.preferredVoice}):new M(r,n,{capabilities:{pan:!!g.pan,tremolo:!!g.tremolo,filters:!!(g.highpass||g.lowpass)},synthPatch:p.instrument,midiTrackName:p.midiName});return i.addChannel(p.type||"instrument",x,c(p.showPlayMarker,!0))}function m(i,r,n,p,g,x){let f=(j,A,K,ae)=>h(i,p,!1,(ae||n)[j],A,K,x),S=[],q={noteDuration:f("noteDuration",200,{min:40,max:1e3}),pan:f("pan",0,{min:-1,max:1}),volume:f("volume",1,{min:.1,max:1})};n.frequency&&(q.frequency=f("frequency",440,{min:50,max:6e3})),n.lowpass&&(q.lowpassFreq=f("frequency",2e4,{min:0,max:2e4},n.lowpass),q.lowpassResonance=f("resonance",0,{min:-6,max:12},n.lowpass)),n.highpass&&(q.highpassFreq=f("frequency",2e4,{min:0,max:2e4},n.highpass),q.highpassResonance=f("resonance",0,{min:-6,max:12},n.highpass)),n.tremolo&&(q.tremoloDepth=f("depth",0,{min:0,max:.8},n.tremolo),q.tremoloSpeed=f("speed",0,{min:0,max:.8},n.tremolo));let R=f("gapBetweenNotes",150,{min:50,max:1e3}),C=f("playDelay",0,{max:200}),b=(j,A=0)=>{let K=j;j.mapTo?(typeof j.min=="string"&&(K.min=M.noteStringToC0Distance(j.min)),typeof j.max=="string"&&(K.max=M.noteStringToC0Distance(j.max))):typeof j=="string"&&t(j)&&(K=M.noteStringToC0Distance(j)),q.note=h(i,p,!1,K,-1,{min:0,max:107},x),q.note>-1&&(g&&(q.note=Math.round(q.note)),S.push(r.addEvent({time:i.time+C+R*A,relatedPoint:i.point,instrumentEventOptions:A!==void 0?u({},q):q})))};
1return n.pitch&&n.pitch.constructor===Array?n.pitch.forEach(b):n.pitch?b(n.pitch):n.frequency&&S.push(r.addEvent({time:i.time+C,relatedPoint:i.point,instrumentEventOptions:q})),S}function E(i,r,n,p,g){var x;let f=(j,A,K)=>h(i,p,!1,n[j],A,K,g),S=f("playDelay",0,{max:200}),q=f("pitch",1,{min:.3,max:2}),R=f("rate",1,{min:.4,max:4}),C=f("volume",1,{min:.1}),b=e(typeof(x=n.text)=="function"?x(i):x,i,i.point&&i.point.series.chart);if(b)return r.addEvent({time:i.time+S,relatedPoint:i.point,speechOptions:{pitch:q,rate:R,volume:C},message:b})}function P(i,r,n){if(typeof r=="function")return r(i);if(typeof r=="object"){let p=r.prop,g=c(i.value,i.point&&a(i.point,p));if(typeof g!="number")return!1;let x=!0,f=r.crossingUp,S=r.crossingDown,q=typeof n=="number";x=f&&S?q&&(n<f&&g>=f||n>S&&g<=S):(f===void 0||q&&n<f&&g>=f)&&(S===void 0||q&&n>S&&g<=S);let R=c(r.max,1/0),C=c(r.min,-1/0);return g<=R&&g>=C&&x}return!0}return function(i,r,n){let p=n.options.sonification||{},g=p.defaultInstrumentOptions,x=p.defaultSpeechOptions,f=s({enabled:!0,groupTimespan:15,algorithm:"minmax",prop:"y"},p.pointGrouping),S=p.globalTracks||[],q=p.globalContextTracks||[],R=p.order==="sequential",C=Math.max(50,p.duration-300),b=p.afterSeriesWait,j=p.events||{},A=(function(J){let le=J.options.sonification||{},ie=(le.defaultInstrumentOptions||{}).mapping||{time:"x",pitch:"y"},re=le.defaultSpeechOptions&&le.defaultSpeechOptions.mapping||{},H=[],me={},he=(N,y)=>{y!==null?(H[y]=H[y]||{},H[y][N]=!0):me[N]=!0},Y={},de={},ye=(N,y,G)=>{let $=D=>D.charAt(0)==="-"?D.slice(1):D;if(typeof y=="string"&&N!=="text"){if(N==="pitch"&&t(y))return;N==="time"&&(de[y]=!0,he(y,G)),Y[$(y)]=!0;return}if(y&&y.mapTo&&typeof y.mapTo=="string"){let D=$(y.mapTo);N==="time"&&he(D,G),(N==="time"||y.within==="series")&&(de[D]=!0),Y[D]=!0;return}["tremolo","lowpass","highpass"].indexOf(N)>-1&&typeof y=="object"&&Object.keys(y).forEach(D=>ye(D,y[D],G))},ue=(N,y)=>{Object.keys(N).forEach(G=>ye(G,N[G],y))},ge=N=>N.forEach(y=>{Y[y.valueProp||"x"]=de[y.valueProp||"x"]=!0});ue(ie,null),ue(re,null),ge(le.globalContextTracks||[]);let fe=Object.keys(me).length;return J.series.forEach(N=>{let y=N.options.sonification;if(N.visible&&!(y&&y.enabled===!1)&&(fe&&(H[N.index]=s(me)),y)){let G=(y.defaultInstrumentOptions||{}).mapping,$=(y.defaultSpeechOptions||{}).mapping;G&&ue(G,N.index),$&&ue($,N.index),ge(y.contextTracks||[]),(y.tracks||[]).concat(y.contextTracks||[]).forEach(D=>{D.mapping&&ue(D.mapping,N.index)})}}),{seriesTimeProps:H,...(function(N,y,G){let $=N.series,D=y.length,ce=G.length,ne=ee=>ee.reduce((X,Q)=>(X[Q]={min:1/0,max:-1/0},X),{}),U=(ee,X,Q)=>{let B=X[Q];B===void 0&&(B=o(Q,X)),typeof B=="number"&&(ee[Q].min=Math.min(ee[Q].min,B),ee[Q].max=Math.max(ee[Q].max,B))},_=ne(y),F=$.length,L=Array(F);for(;F--;){let ee=ne(G),X=$[F].options;if(!$[F].visible||X&&X.sonification&&X.sonification.enabled===!1)continue;let Q=$[F].points||[],B=Q.length;for(;B--;){let W=D;for(;W--;)U(_,Q[B],y[W]);for(W=ce;W--;)U(ee,Q[B],G[W])}L[F]=ee}return{globalExtremes:_,seriesExtremes:L}})(J,Object.keys(Y),Object.keys(de))}})(n),K=new k({onPlay:j.onPlay,onEnd:j.onEnd,onStop:j.onStop,showCrosshair:p.showCrosshair,showTooltip:p.showTooltip},n);n.sonification&&(n.sonification.propMetrics=A);let ae=0;return n.series.forEach((J,le)=>{let ie=J.options.sonification||{};if(J.visible&&ie.enabled!==!1){let re,H=R?(function(N,y,G,$){let D,ce,ne=y-(N.chart.series.length-1)*$;if(G.seriesTimeProps.every(U=>{let _=Object.keys(U);return!(_.length>
11)&&(D||(D=_[0]),D===_[0])})){let U=G.seriesExtremes[N.index][D];ce=Math.round((U.max-U.min)/G.seriesExtremes.reduce((_,F)=>F[D]?_+F[D].max-F[D].min:_,0)*ne)}else{let U=N.chart.series.reduce((_,F)=>_+F.points.length,0);ce=Math.round((N.points||[]).length/U*ne)}return Math.max(50,ce)})(J,C,A,b):C,me=s(g,ie.defaultInstrumentOptions),he=s(x,ie.defaultSpeechOptions),Y=s(f,ie.pointGrouping),de=(ie.tracks||[me]).concat(S),ye=K.channels.length&&!R?ie.contextTracks||[]:(ie.contextTracks||[]).concat(q),ue=[];de.forEach(N=>{let y=s({pointGrouping:Y,midiName:N.midiName||J.name},N.type==="speech"?he:me,N),G=y.pointGrouping,$=y.activeWhen,D=L=>{typeof $=="object"&&$.prop&&(re=a(L,$.prop))},ce=d(K,i,r,y),ne=L=>ue.push(...(function(ee,X,Q,B){let W=[];if(Q.type==="speech"&&Q.mapping){let se=E(ee,X,Q.mapping,B);se&&(W=[se])}else Q.mapping&&(W=m(ee,X,Q.mapping,B,c(Q.roundToMusicalNotes,!0)));return W})(L,ce,y,A)),U=[],_=0,F=L=>{if(U.length===1)ne({point:U[0].point,time:_+L/2});else{let ee=(function(Q,B){let W=Q.algorithm||"minmax",se=Z=>B[Z]?[B[Z].point]:[];if(W==="first")return se(0);if(W==="last")return se(B.length-1);if(W==="middle")return se(B.length>>1);if(W==="firstlast")return se(0).concat(se(B.length-1));if(W==="minmax"){let Z,pe,we,xe,Ne=Q.prop||"y";if(B.forEach(qe=>{let ve=a(qe.point,Ne);ve!==void 0&&((!Z||ve<we)&&(Z=qe,we=ve),(!pe||ve>xe)&&(pe=qe,xe=ve))}),Z&&pe)return Z.point===pe.point?[Z.point]:Z.time>pe.time?[pe.point,Z.point]:[Z.point,pe.point]}return[]})(G,U),X=L/ee.length;ee.forEach((Q,B)=>ne({point:Q,time:_+X/2+X*B}))}U=[]};(J.points||[]).forEach((L,ee)=>{var X;let Q=ee===J.points.length-1,B=(X=ae,h({point:L,time:0},A,R,y.mapping&&y.mapping.time||0,0,{min:0,max:H,mapTo:"x"})+X),W={point:L,time:B};if(!y.mapping||!P(W,$,re)){D(L),Q&&U.length&&F(U[U.length-1].time-U[0].time);return}if(D(L),G.enabled){let se=B-_,Z=G.groupTimespan,pe=Q&&se<=Z?se:Z;Q||se>Z?(se<=Z&&U.push(W),F(pe),_=Math.floor(B/Z)*Z,Q&&se>Z?ne({point:W.point,time:_+pe/2}):U=[W]):U.push(W)}else ne(W)})});let ge=ue.reduce((N,y)=>y.time<N.time?y:N,{time:1/0}),fe=ue.reduce((N,y)=>y.time>N.time?y:N,{time:-1/0});ge.callback=j.onSeriesStart?j.onSeriesStart.bind(null,{series:J,timeline:K}):void 0,fe.callback=j.onSeriesEnd?j.onSeriesEnd.bind(null,{series:J,timeline:K}):void 0,ye.forEach(N=>{let y=N.type==="speech"?s(x,N):s(g,{mapping:{pitch:{mapTo:"value"}}},N),G=d(K,i,r,y);re=void 0;let{timeInterval:$,valueInterval:D}=y,ce=y.valueProp||"x",ne=y.activeWhen,U=A.seriesExtremes[le][ce],_=(F,L)=>{if(!y.mapping||!P({time:F,value:L},typeof ne=="object"?u({prop:ce},ne):ne,re)){re=L;return}re=L,y.type==="speech"?E({time:F,value:L},G,y.mapping,A,ce):m({time:F,value:L},G,y.mapping,A,c(y.roundToMusicalNotes,!0),ce)};if($){let F=0;for(;F<=H;){let L=l(F,{min:0,max:H},U);_(F+ae,L),F+=$}}if(D){let F=U.min;for(;F<=U.max;)_(l(F,U,{min:0,max:H},!1,y.valueMapFunction==="logarithmic")+ae,F),F+=D}}),R&&(ae+=H+b)}}),K}}),z(T,"Extensions/Sonification/Sonification.js",[T["Core/Defaults.js"],T["Core/Utilities.js"],T["Core/Globals.js"],T["Extensions/Sonification/Options.js"],T["Extensions/Sonification/SonificationInstrument.js"],T["Extensions/Sonification/SonificationSpeaker.js"],T["Extensions/Sonification/SynthPatch.js"],T["Extensions/Sonification/InstrumentPresets.js"],T["Extensions/Sonification/TimelineFromChart.js"]],function(k,M,v,w,O,I,V,u,o){let{defaultOptions:s,getOptions:c}=k,{addEvent:e,extend:t,fireEvent:a,merge:l,pick:h}=M,{doc:d,win:m}=v;class E{constructor(i){this.chart=i,this.retryContextCounter=0,this.lastUpdate=0,this.unbindKeydown=e(d,"keydown",function(r){i&&i.sonification&&(r.key==="Esc"||r.key==="Escape")&&i.sonification.cancel()});try{this.audioContext=new m.AudioContext,this.audioContext.suspend(),this.audioDestination=this.audioContext.destination}catch{}}setAudioDestination(i){this.audioDestination=i,this.update()}isPlaying(){return!!this.timeline&&this.timeline.isPlaying}playSegment(i,r){this.ready(this.playSegment.bind(this,i,r))&&this.timeline&&this.timeline.playSegment(i,r)}playAdjacent(i,r,n){if(this.ready(this.playAdjacent.bind(this,i,r,n))&&this.timeline){let p=this.chart.options.sonification,g=p&&p.events&&p.events.onBoundaryHit;g||this.initBoundaryInstrument(),this.timeline.playAdjacent(i,r,g||(()=>{this.defaultBoundaryHit()}),n)}}playAdjacentSeries(i,r="x",n){let p=this.getLastPlayedPoint();if(p){let g=p.series.index+(i?1:-1);return this.playClosestToProp(r,p[r],x=>!!x.relatedPoint&&x.relatedPoint.series.index===g,n),this.chart.series[g]||null}return null}playClosestToProp(i,r,n,p){if(this.ready(this.playClosestToProp.bind(this,i,r,n,p))&&this.timeline){let g=this.chart.options.sonification,x=g&&g.events&&g.events.onBoundaryHit;x||this.initBoundaryInstrument(),this.timeline.playClosestToPropValue(i,r,p,x||(()=>this.defaultBoundaryHit()),n)}}getLastPlayedPoint(){return this.timeline?this.timeline.getLastPlayedPoint():null}playNote(i,r,n=0){if(!this.ready(this.playNote.bind(this,i,r)))return;let p=r.noteDuration=r.noteDuration||500,g=new O(this.audioContext,this.audioDestination,{synthPatch:i,capabilities:{filters:!0,tremolo:!0,pan:!0}});g.scheduleEventAtTime(n/1e3,r),setTimeout(()=>
1g&&g.destroy(),n+p+500)}speak(i,r,n=0){new I(l({language:"en-US",rate:1.5,volume:.4},r||{})).sayAtTime(n,i)}cancel(){this.timeline&&this.timeline.cancel(),a(this,"cancel")}downloadMIDI(){this.ready(this.downloadMIDI.bind(this))&&this.timeline&&(this.timeline.reset(),this.timeline.downloadMIDI())}sonifyChart(i,r){this.ready(this.sonifyChart.bind(this,i,r))&&this.timeline&&(this.timeline.reset(),this.beforePlay(),this.timeline.play(void 0,void 0,i,r))}sonifySeries(i,r,n){this.ready(this.sonifySeries.bind(this,i,r,n))&&this.timeline&&(this.timeline.reset(),this.beforePlay(),this.timeline.play(p=>!!p.relatedPoint&&p.relatedPoint.series===i,void 0,r,n))}sonifyPoint(i,r){this.ready(this.sonifyPoint.bind(this,i,r))&&this.timeline&&(this.timeline.reset(),this.beforePlay(),this.timeline.anchorPlayMoment(n=>n.relatedPoint===i,r))}setMasterVolume(i){this.timeline&&this.timeline.setMasterVolume(i)}destroy(){this.unbindKeydown(),this.timeline&&(this.timeline.destroy(),delete this.timeline),this.boundaryInstrument&&this.boundaryInstrument.stop(),this.audioContext&&(this.audioContext.close(),delete this.audioContext)}update(){let i=this.chart.options&&this.chart.options.sonification;if(!this.ready(this.update.bind(this))||!i)return;let r=Date.now(),n=i.updateInterval;if(r-this.lastUpdate<n&&!this.forceReady){clearTimeout(this.scheduledUpdate),this.scheduledUpdate=setTimeout(this.update.bind(this),n/2);return}let p=i.events||{};if(p.beforeUpdate&&p.beforeUpdate({chart:this.chart,timeline:this.timeline}),this.lastUpdate=r,this.timeline&&this.timeline.destroy(),this.audioContext&&this.audioDestination){this.timeline=o(this.audioContext,this.audioDestination,this.chart);let g=this.chart.options.sonification;this.timeline.setMasterVolume(h(g&&g.masterVolume,1))}p.afterUpdate&&p.afterUpdate({chart:this.chart,timeline:this.timeline})}ready(i){return!!this.audioContext&&!!this.audioDestination&&!!this.chart.options&&(!this.chart.options.sonification||this.chart.options.sonification.enabled!==!1)&&(this.audioContext.state!=="suspended"||this.forceReady?(this.retryContextCounter=0,!0):(this.retryContextCounter++<20&&setTimeout(()=>{this.audioContext&&this.audioContext.state==="suspended"?this.audioContext.resume().then(i):i()},5),!1))}beforePlay(){let i=this.chart.options.sonification,r=i&&i.events&&i.events.beforePlay;r&&r({chart:this.chart,timeline:this.timeline})}initBoundaryInstrument(){this.boundaryInstrument||(this.boundaryInstrument=new V(this.audioContext,l(u.chop,{masterVolume:.3})),this.boundaryInstrument.startSilently(),this.boundaryInstrument.connect(this.audioDestination))}defaultBoundaryHit(){this.boundaryInstrument&&(this.boundaryInstrument.playFreqAtTime(.1,1,200),this.boundaryInstrument.playFreqAtTime(.2,1,200))}}return(function(P){let i=[];function r(){let x=this.sonification,f=this.options&&this.options.sonification;f&&f.enabled?x?x.update():(this.sonification=new P(this),this.sonification.update()):x&&(x.destroy(),delete this.sonification)}function n(){this&&this.sonification&&this.sonification.destroy()}function p(){this.updateSonificationEnabled&&this.updateSonificationEnabled()}function g(x){let f=x.options.sonification;f&&(l(!0,this.options.sonification,f),p.call(this))}P.compose=function(x,f,S){i.indexOf(x)===-1&&(i.push(x),t(x.prototype,{updateSonificationEnabled:r,sonify:function(R){this.sonification&&this.sonification.sonifyChart(!1,R)},toggleSonify:function(R=!0,C){if(!this.sonification)return;let b=this.sonification.timeline;m.speechSynthesis&&m.speechSynthesis.cancel(),b&&this.sonification.isPlaying()?R?this.sonification.cancel():b.pause():b&&b.isPaused?b.resume():this.sonification.sonifyChart(R,C)}}),e(x,"destroy",n),e(x,"render",p),e(x,"update",g)),i.indexOf(f)===-1&&(i.push(f),f.prototype.sonify=function(R){this.chart.sonification&&this.chart.sonification.sonifySeries(this,!1,R)}),i.indexOf(S)===-1&&(i.push(S),S.prototype.sonify=function(R){this.series.chart.sonification&&this.series.chart.sonification.sonifyPoint(this,R)});let q=c().exporting;q&&q.buttons&&q.buttons.contextButton.menuItems&&q.buttons.contextButton.menuItems.push("separator","downloadMIDI","playAsSound")}})(E||(E={})),l(!0,s,w),E}),z(T,"Extensions/Sonification/Scales.js",[],function(){return{minor:[0,2,3,5,7,8,10],dorian:[0,2,3,5,7,9,10],harmonicMinor:[0,2,3,5,7,8,11],phrygian:[0,1,3,5,7,8,11],major:[0,2,4,5,7,9,11],lydian:[0,2,4,6,7,9,11],mixolydian:[0,2,4,5,7,9,10],majorPentatonic:[0,2,4,7,9],minorPentatonic:[0,3,5,7,10]}}),z(T,"masters/modules/sonification.src.js",[T["Core/Globals.js"],T["Extensions/Sonification/Sonification.js"],T["Extensions/Sonification/SynthPatch.js"],T["Extensions/Sonification/InstrumentPresets.js"],T["Extensions/Sonification/Scales.js"],T["Extensions/Sonification/SonificationInstrument.js"],T["Extensions/Sonification/SonificationSpeaker.js"],T["Extensions/Sonification/SonificationTimeline.js"]],function(k,M,v,w,O,I,V,u){return k.sonification={InstrumentPresets:w,Scales:O,SynthPatch:v,SonificationInstrument:I,SonificationSpeaker:V,SonificationTimeline:u,Sonification:M},M.compose(k.Chart,k.Series,k.Point),k})})})(Te)),Te.exports}var Se=be();const Me=ke(Se),Ae=Pe({__proto__:null,default:Me},[Se]);export{Ae as s};
2//# sourceMappingURL=46GqlsN5.js.map

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.