@vue-skuilder/courseware 0.1.35 → 0.1.36

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.
@@ -1,4 +1,4 @@
1
- const e=require(`./shapes-C_-mvrCc.cjs`),t=require(`./CourseWare-DSeyTAtH.cjs`);let n=require(`vue`),r=require(`@vue-skuilder/common-ui`),a=require(`@vue-skuilder/common`);var o=e.n(((e,t)=>{t.exports=`6.4.4`})),c=e.n(((e,t)=>{var TimingCallbacks=function(e,t){var n=this;if(t||={},n.qpm=t.qpm?parseInt(t.qpm,10):null,!n.qpm){var r=e.metaText?e.metaText.tempo:null;n.qpm=e.getBpm(r)}n.extraMeasuresAtBeginning=t.extraMeasuresAtBeginning?parseInt(t.extraMeasuresAtBeginning,10):0,n.beatCallback=t.beatCallback,n.eventCallback=t.eventCallback,n.lineEndCallback=t.lineEndCallback,n.lineEndAnticipation=t.lineEndAnticipation?parseInt(t.lineEndAnticipation,10):0,n.beatSubdivisions=t.beatSubdivisions?parseInt(t.beatSubdivisions,10):1,n.joggerTimer=null,n.replaceTarget=function(e){n.noteTimings=e.setTiming(n.qpm,n.extraMeasuresAtBeginning),e.noteTimings.length===0&&(n.noteTimings=e.setTiming(0,0)),n.lineEndCallback&&(n.lineEndTimings=getLineEndTimings(e.noteTimings,n.lineEndAnticipation)),n.startTime=null,n.currentBeat=0,n.currentEvent=0,n.currentLine=0,n.currentTime=0,n.isPaused=!1,n.isRunning=!1,n.pausedPercent=null,n.justUnpaused=!1,n.newSeekPercent=0,n.lastTimestamp=0,n.noteTimings.length!==0&&(n.millisecondsPerBeat=1e3/(n.qpm/60)/n.beatSubdivisions,n.lastMoment=n.noteTimings[n.noteTimings.length-1].milliseconds,n.totalBeats=Math.round(n.lastMoment/n.millisecondsPerBeat))},n.replaceTarget(e),n.doTiming=function(e){if(n.lastTimestamp!==e&&(n.lastTimestamp=e,n.startTime||=e,!n.isPaused&&n.isRunning)){for(n.currentTime=e-n.startTime,n.currentTime+=16;n.noteTimings.length>n.currentEvent&&n.noteTimings[n.currentEvent].milliseconds<n.currentTime;){if(n.eventCallback&&n.noteTimings[n.currentEvent].type===`event`){var t=n.startTime;n.eventCallback(n.noteTimings[n.currentEvent]),t!==n.startTime&&(n.currentTime=e-n.startTime)}n.currentEvent++}if(n.lineEndCallback&&n.lineEndTimings.length>n.currentLine&&n.lineEndTimings[n.currentLine].milliseconds<n.currentTime&&n.currentEvent<n.noteTimings.length){var r=n.noteTimings[n.currentEvent].milliseconds===n.currentTime?n.noteTimings[n.currentEvent]:n.noteTimings[n.currentEvent-1];n.lineEndCallback(n.lineEndTimings[n.currentLine],r,{line:n.currentLine,endTimings:n.lineEndTimings,currentTime:n.currentTime}),n.currentLine++}if(n.currentTime<n.lastMoment){if(requestAnimationFrame(n.doTiming),n.currentBeat*n.millisecondsPerBeat<n.currentTime){var a=n.doBeatCallback(e);a!==null&&(n.currentTime=a)}}else if(n.currentBeat<=n.totalBeats&&n.beatCallback){var o=n.doBeatCallback(e);o!==null&&(n.currentTime=o),requestAnimationFrame(n.doTiming)}if(n.currentTime>=n.lastMoment)if(n.eventCallback){var c=n.eventCallback(null);n.shouldStop(c).then(function(e){e&&n.stop()})}else n.stop()}},n.shouldStop=function(e){return new Promise(function(t){if(!e)return t(!0);if(e===`continue`)return t(!1);e.then&&e.then(function(e){t(e!==`continue`)})})},n.doBeatCallback=function(e){if(n.beatCallback){for(var t=n.currentEvent;t<n.noteTimings.length&&n.noteTimings[t].left===null;)t++;var r,a;if(t<n.noteTimings.length){for(r=n.noteTimings[t].milliseconds,t=Math.max(0,n.currentEvent-1);t>=0&&n.noteTimings[t].left===null;)t--;a=n.noteTimings[t]}var o={},c={};if(a){o.top=a.top,o.height=a.height;var l=Math.max(0,e-n.startTime-a.milliseconds),u=r-a.milliseconds,d=a.endX-a.left,f=u?l*d/u:0;o.left=a.left+f,n.currentEvent===0&&a.milliseconds>e-n.startTime&&(o.left=void 0),c={timestamp:e,startTime:n.startTime,ev:a,endMs:r,offMs:l,offPx:f,gapMs:u,gapPx:d}}else c={timestamp:e,startTime:n.startTime};var p=n.startTime;if(n.beatCallback(n.currentBeat/n.beatSubdivisions,n.totalBeats/n.beatSubdivisions,n.lastMoment,o,c),p!==n.startTime)return e-n.startTime;n.currentBeat++}return null};var a=60;n.animationJogger=function(){n.isRunning&&(n.doTiming(performance.now()),n.joggerTimer=setTimeout(n.animationJogger,a))},n.start=function(e,t){if(n.isRunning=!0,n.isPaused&&(n.isPaused=!1,e===void 0&&(n.justUnpaused=!0)),e)n.setProgress(e,t);else if(e===0)n.reset();else if(n.pausedPercent!==null){var r=performance.now();n.currentTime=n.lastMoment*n.pausedPercent,n.startTime=r-n.currentTime,n.pausedPercent=null,n.reportNext=!0}requestAnimationFrame(n.doTiming),n.joggerTimer=setTimeout(n.animationJogger,a)},n.pause=function(){n.isPaused=!0,n.pausedPercent=(performance.now()-n.startTime)/n.lastMoment,n.isRunning=!1,n.joggerTimer&&=(clearTimeout(n.joggerTimer),null)},n.currentMillisecond=function(){return n.currentTime},n.reset=function(){n.currentBeat=0,n.currentEvent=0,n.currentLine=0,n.startTime=null,n.pausedPercent=null},n.stop=function(){n.pause(),n.reset()},n.setProgress=function(e,t){var r;switch(t){case`seconds`:n.currentTime=e*1e3,n.currentTime<0&&(n.currentTime=0),n.currentTime>n.lastMoment&&(n.currentTime=n.lastMoment),r=n.currentTime/n.lastMoment;break;case`beats`:n.currentTime=e*n.millisecondsPerBeat*n.beatSubdivisions,n.currentTime<0&&(n.currentTime=0),n.currentTime>n.lastMoment&&(n.currentTime=n.lastMoment),r=n.currentTime/n.lastMoment;break;default:r=e,r<0&&(r=0),r>1&&(r=1),n.currentTime=n.lastMoment*r;break}for(n.isRunning||(n.pausedPercent=r),n.startTime=performance.now()-n.currentTime,n.currentEvent,n.currentEvent=0;n.noteTimings.length>n.currentEvent&&n.noteTimings[n.currentEvent].milliseconds<n.currentTime;)n.currentEvent++;if(n.lineEndCallback)for(n.currentLine=0;n.lineEndTimings.length>n.currentLine&&n.lineEndTimings[n.currentLine].milliseconds+n.lineEndAnticipation<n.currentTime;)n.currentLine++;var o=n.currentBeat;n.currentBeat=Math.floor(n.currentTime/n.millisecondsPerBeat),n.beatCallback&&o!==n.currentBeat&&n.doBeatCallback(n.startTime+n.currentTime),n.eventCallback&&n.currentEvent>=0&&n.noteTimings[n.currentEvent].type===`event`&&n.eventCallback(n.noteTimings[n.currentEvent]),n.lineEndCallback&&n.lineEndCallback(n.lineEndTimings[n.currentLine],n.noteTimings[n.currentEvent],{line:n.currentLine,endTimings:n.lineEndTimings}),n.joggerTimer=setTimeout(n.animationJogger,a)}};function getLineEndTimings(e,t){for(var n=[],r=null,a=0;a<e.length;a++){var o=e[a];o.type!==`end`&&o.top!==r&&(n.push({measureNumber:o.measureNumber,milliseconds:o.milliseconds-t,top:o.top,bottom:o.top+o.height}),r=o.top)}return n}t.exports=TimingCallbacks})),l=e.n(((e,t)=>{var n=c(),r={};(function(){"use strict";var e,t;r.startAnimation=function(r,a,o){e&&=(e.stop(),void 0),o.showCursor&&(t=r.querySelector(`.abcjs-cursor`),t||(t=document.createElement(`DIV`),t.className=`abcjs-cursor cursor`,t.style.position=`absolute`,r.appendChild(t),r.style.position=`relative`));function hideMeasures(e){for(var t=0;t<e.length;t++){var n=e[t];n.classList.contains(`abcjs-bar`)||(n.style.display=`none`)}}var c;function disappearMeasuresAfter(e){c&&hideMeasures(r.querySelectorAll(c)),c=e}function disappearMeasuresBefore(e){hideMeasures(r.querySelectorAll(e))}function measureCallback(e){o.hideCurrentMeasure?disappearMeasuresBefore(e):o.hideFinishedMeasures&&disappearMeasuresAfter(e)}function getLineAndMeasure(e){return`.abcjs-l`+e.line+`.abcjs-m`+e.measureNumber}function setCursor(n){if(n){if(n.measureStart){var r=getLineAndMeasure(n);r&&measureCallback(r)}t&&(t.style.left=n.left+`px`,t.style.top=n.top+`px`,t.style.width=n.width+`px`,t.style.height=n.height+`px`)}else e.stop(),e=void 0}e=new n(a,{qpm:o.bpm,eventCallback:setCursor}),e.start()},r.pauseAnimation=function(t){e&&(t?e.pause():e.start())},r.stopAnimation=function(){e&&=(e.stop(),void 0)}})(),t.exports=r})),u=e.n(((e,t)=>{var n={};n.cloneArray=function(e){for(var t=[],n=0;n<e.length;n++)t.push(Object.assign({},e[n]));return t},n.cloneHashOfHash=function(e){var t={};for(var n in e)e.hasOwnProperty(n)&&(t[n]=Object.assign({},e[n]));return t},n.cloneHashOfArrayOfHash=function(e){var t={};for(var r in e)e.hasOwnProperty(r)&&(t[r]=n.cloneArray(e[r]));return t},n.strip=function(e){return e.replace(/^\s+/,``).replace(/\s+$/,``)},n.startsWith=function(e,t){return e.indexOf(t)===0},n.endsWith=function(e,t){var n=e.length-t.length;return n>=0&&e.lastIndexOf(t)===n},n.last=function(e){return e.length===0?null:e[e.length-1]},t.exports=n})),d=e.n(((e,t)=>{var n=u(),r={};(function(){"use strict";var e,t,a,o,c;r.initialize=function(n,r,l,u,d){e=n,t=r,a=l,o=u,c=d,initializeFonts()};function initializeFonts(){a.annotationfont={face:`Helvetica`,size:12,weight:`normal`,style:`normal`,decoration:`none`},a.gchordfont={face:`Helvetica`,size:12,weight:`normal`,style:`normal`,decoration:`none`},a.historyfont={face:`"Times New Roman"`,size:16,weight:`normal`,style:`normal`,decoration:`none`},a.infofont={face:`"Times New Roman"`,size:14,weight:`normal`,style:`italic`,decoration:`none`},a.measurefont={face:`"Times New Roman"`,size:14,weight:`normal`,style:`italic`,decoration:`none`},a.partsfont={face:`"Times New Roman"`,size:15,weight:`normal`,style:`normal`,decoration:`none`},a.repeatfont={face:`"Times New Roman"`,size:13,weight:`normal`,style:`normal`,decoration:`none`},a.textfont={face:`"Times New Roman"`,size:16,weight:`normal`,style:`normal`,decoration:`none`},a.tripletfont={face:`Times`,size:11,weight:`normal`,style:`italic`,decoration:`none`},a.vocalfont={face:`"Times New Roman"`,size:13,weight:`bold`,style:`normal`,decoration:`none`},a.wordsfont={face:`"Times New Roman"`,size:16,weight:`normal`,style:`normal`,decoration:`none`},o.formatting.composerfont={face:`"Times New Roman"`,size:14,weight:`normal`,style:`italic`,decoration:`none`},o.formatting.subtitlefont={face:`"Times New Roman"`,size:16,weight:`normal`,style:`normal`,decoration:`none`},o.formatting.tempofont={face:`"Times New Roman"`,size:15,weight:`bold`,style:`normal`,decoration:`none`},o.formatting.titlefont={face:`"Times New Roman"`,size:20,weight:`normal`,style:`normal`,decoration:`none`},o.formatting.footerfont={face:`"Times New Roman"`,size:12,weight:`normal`,style:`normal`,decoration:`none`},o.formatting.headerfont={face:`"Times New Roman"`,size:12,weight:`normal`,style:`normal`,decoration:`none`},o.formatting.voicefont={face:`"Times New Roman"`,size:13,weight:`bold`,style:`normal`,decoration:`none`},o.formatting.tablabelfont={face:`"Trebuchet MS"`,size:16,weight:`normal`,style:`normal`,decoration:`none`},o.formatting.tabnumberfont={face:`"Arial"`,size:11,weight:`normal`,style:`normal`,decoration:`none`},o.formatting.tabgracefont={face:`"Arial"`,size:8,weight:`normal`,style:`normal`,decoration:`none`},o.formatting.annotationfont=a.annotationfont,o.formatting.gchordfont=a.gchordfont,o.formatting.historyfont=a.historyfont,o.formatting.infofont=a.infofont,o.formatting.measurefont=a.measurefont,o.formatting.partsfont=a.partsfont,o.formatting.repeatfont=a.repeatfont,o.formatting.textfont=a.textfont,o.formatting.tripletfont=a.tripletfont,o.formatting.vocalfont=a.vocalfont,o.formatting.wordsfont=a.wordsfont}var l={gchordfont:!0,measurefont:!0,partsfont:!0,annotationfont:!0,composerfont:!0,historyfont:!0,infofont:!0,subtitlefont:!0,textfont:!0,titlefont:!0,voicefont:!0},fontTranslation=function(e){switch(e){case`Arial-Italic`:return{face:`Arial`,weight:`normal`,style:`italic`,decoration:`none`};case`Arial-Bold`:return{face:`Arial`,weight:`bold`,style:`normal`,decoration:`none`};case`Bookman-Demi`:return{face:`Bookman,serif`,weight:`bold`,style:`normal`,decoration:`none`};case`Bookman-DemiItalic`:return{face:`Bookman,serif`,weight:`bold`,style:`italic`,decoration:`none`};case`Bookman-Light`:return{face:`Bookman,serif`,weight:`normal`,style:`normal`,decoration:`none`};case`Bookman-LightItalic`:return{face:`Bookman,serif`,weight:`normal`,style:`italic`,decoration:`none`};case`Courier`:return{face:`"Courier New"`,weight:`normal`,style:`normal`,decoration:`none`};case`Courier-Oblique`:return{face:`"Courier New"`,weight:`normal`,style:`italic`,decoration:`none`};case`Courier-Bold`:return{face:`"Courier New"`,weight:`bold`,style:`normal`,decoration:`none`};case`Courier-BoldOblique`:return{face:`"Courier New"`,weight:`bold`,style:`italic`,decoration:`none`};case`AvantGarde-Book`:return{face:`AvantGarde,Arial`,weight:`normal`,style:`normal`,decoration:`none`};case`AvantGarde-BookOblique`:return{face:`AvantGarde,Arial`,weight:`normal`,style:`italic`,decoration:`none`};case`AvantGarde-Demi`:case`Avant-Garde-Demi`:return{face:`AvantGarde,Arial`,weight:`bold`,style:`normal`,decoration:`none`};case`AvantGarde-DemiOblique`:return{face:`AvantGarde,Arial`,weight:`bold`,style:`italic`,decoration:`none`};case`Helvetica-Oblique`:return{face:`Helvetica`,weight:`normal`,style:`italic`,decoration:`none`};case`Helvetica-Bold`:return{face:`Helvetica`,weight:`bold`,style:`normal`,decoration:`none`};case`Helvetica-BoldOblique`:return{face:`Helvetica`,weight:`bold`,style:`italic`,decoration:`none`};case`Helvetica-Narrow`:return{face:`"Helvetica Narrow",Helvetica`,weight:`normal`,style:`normal`,decoration:`none`};case`Helvetica-Narrow-Oblique`:return{face:`"Helvetica Narrow",Helvetica`,weight:`normal`,style:`italic`,decoration:`none`};case`Helvetica-Narrow-Bold`:return{face:`"Helvetica Narrow",Helvetica`,weight:`bold`,style:`normal`,decoration:`none`};case`Helvetica-Narrow-BoldOblique`:return{face:`"Helvetica Narrow",Helvetica`,weight:`bold`,style:`italic`,decoration:`none`};case`Palatino-Roman`:return{face:`Palatino`,weight:`normal`,style:`normal`,decoration:`none`};case`Palatino-Italic`:return{face:`Palatino`,weight:`normal`,style:`italic`,decoration:`none`};case`Palatino-Bold`:return{face:`Palatino`,weight:`bold`,style:`normal`,decoration:`none`};case`Palatino-BoldItalic`:return{face:`Palatino`,weight:`bold`,style:`italic`,decoration:`none`};case`NewCenturySchlbk-Roman`:return{face:`"New Century",serif`,weight:`normal`,style:`normal`,decoration:`none`};case`NewCenturySchlbk-Italic`:return{face:`"New Century",serif`,weight:`normal`,style:`italic`,decoration:`none`};case`NewCenturySchlbk-Bold`:return{face:`"New Century",serif`,weight:`bold`,style:`normal`,decoration:`none`};case`NewCenturySchlbk-BoldItalic`:return{face:`"New Century",serif`,weight:`bold`,style:`italic`,decoration:`none`};case`Times`:case`Times-Roman`:case`Times-Narrow`:case`Times-Courier`:case`Times-New-Roman`:return{face:`"Times New Roman"`,weight:`normal`,style:`normal`,decoration:`none`};case`Times-Italic`:case`Times-Italics`:return{face:`"Times New Roman"`,weight:`normal`,style:`italic`,decoration:`none`};case`Times-Bold`:return{face:`"Times New Roman"`,weight:`bold`,style:`normal`,decoration:`none`};case`Times-BoldItalic`:return{face:`"Times New Roman"`,weight:`bold`,style:`italic`,decoration:`none`};case`ZapfChancery-MediumItalic`:return{face:`"Zapf Chancery",cursive,serif`,weight:`normal`,style:`normal`,decoration:`none`};default:return null}},getFontParameter=function(e,n,r,a,o){function processNumberOnly(){var c=parseInt(e[0].token);return e.shift(),n?e.length===0?{face:n.face,weight:n.weight,style:n.style,decoration:n.decoration,size:c}:e.length===1&&e[0].token===`box`&&l[o]?{face:n.face,weight:n.weight,style:n.style,decoration:n.decoration,size:c,box:!0}:(t(`Extra parameters in font definition.`,r,a),{face:n.face,weight:n.weight,style:n.style,decoration:n.decoration,size:c}):(t(`Can't set just the size of the font since there is no default value.`,r,a),{face:`"Times New Roman"`,weight:`normal`,style:`normal`,decoration:`none`,size:c})}if(e[0].token===`*`){if(e.shift(),e[0].type===`number`)return processNumberOnly();t(`Expected font size number after *.`,r,a)}if(e[0].type===`number`)return processNumberOnly();for(var c=[],u,d=`normal`,f=`normal`,p=`none`,m=!1,h=`face`,g=!1;e.length;){var _=e.shift(),y=_.token.toLowerCase();switch(h){case`face`:g||y!==`utf`&&_.type!==`number`&&y!==`bold`&&y!==`italic`&&y!==`underline`&&y!==`box`?c.length>0&&_.token===`-`?(g=!0,c[c.length-1]=c[c.length-1]+_.token):g?(g=!1,c[c.length-1]=c[c.length-1]+_.token):c.push(_.token):_.type===`number`?(u?t(`Font size specified twice in font definition.`,r,a):u=_.token,h=`modifier`):y===`bold`?d=`bold`:y===`italic`?f=`italic`:y===`underline`?p=`underline`:y===`box`?(l[o]?m=!0:t(`This font style doesn't support "box"`,r,a),h=`finished`):y===`utf`?(_=e.shift(),h=`size`):t(`Unknown parameter `+_.token+` in font definition.`,r,a);break;case`size`:_.type===`number`?u?t(`Font size specified twice in font definition.`,r,a):u=_.token:t(`Expected font size in font definition.`,r,a),h=`modifier`;break;case`modifier`:y===`bold`?d=`bold`:y===`italic`?f=`italic`:y===`underline`?p=`underline`:y===`box`?(l[o]?m=!0:t(`This font style doesn't support "box"`,r,a),h=`finished`):t(`Unknown parameter `+_.token+` in font definition.`,r,a);break;case`finished`:t(`Extra characters found after "box" in font definition.`,r,a);break}}u===void 0?n?u=n.size:(t(`Must specify the size of the font since there is no default value.`,r,a),u=12):u=parseFloat(u),c=c.join(` `),c===``&&(n?c=n.face:(t(`Must specify the name of the font since there is no default value.`,r,a),c=`sans-serif`));var b=fontTranslation(c),x={};return b?(x.face=b.face,x.weight=b.weight,x.style=b.style,x.decoration=b.decoration,x.size=u,m&&(x.box=!0),x):(x.face=c,x.weight=d,x.style=f,x.decoration=p,x.size=u,m&&(x.box=!0),x)},getChangingFont=function(e,t,n){return t.length===0?`Directive "`+e+`" requires a font as a parameter.`:(a[e]=getFontParameter(t,a[e],n,0,e),a.is_in_header&&(o.formatting[e]=a[e]),null)},getGlobalFont=function(e,t,n){return t.length===0?`Directive "`+e+`" requires a font as a parameter.`:(o.formatting[e]=getFontParameter(t,o.formatting[e],n,0,e),null)},setScale=function(e,t){var n=``;t.forEach(function(e){n+=e.token});var r=parseFloat(n);if(isNaN(r)||r===0)return`Directive "`+e+`" requires a number as a parameter.`;o.formatting.scale=r},u=`acoustic-bass-drum.bass-drum-1.side-stick.acoustic-snare.hand-clap.electric-snare.low-floor-tom.closed-hi-hat.high-floor-tom.pedal-hi-hat.low-tom.open-hi-hat.low-mid-tom.hi-mid-tom.crash-cymbal-1.high-tom.ride-cymbal-1.chinese-cymbal.ride-bell.tambourine.splash-cymbal.cowbell.crash-cymbal-2.vibraslap.ride-cymbal-2.hi-bongo.low-bongo.mute-hi-conga.open-hi-conga.low-conga.high-timbale.low-timbale.high-agogo.low-agogo.cabasa.maracas.short-whistle.long-whistle.short-guiro.long-guiro.claves.hi-wood-block.low-wood-block.mute-cuica.open-cuica.mute-triangle.open-triangle`.split(`.`),interpretPercMap=function(e){var t=e.split(/\s+/);if(t.length!==2&&t.length!==3)return{error:`Expected parameters "abc-note", "drum-sound", and optionally "note-head"`};var n=t[0],r=parseInt(t[1],10);if((isNaN(r)||r<35||r>81)&&t[1]&&(r=u.indexOf(t[1].toLowerCase())+35),isNaN(r)||r<35||r>81)return{error:`Expected drum name, received "`+t[1]+`"`};var a={sound:r};return t.length===3&&(a.noteHead=t[2]),{key:n,value:a}},getRequiredMeasurement=function(t,n){var r=e.getMeasurement(n);return r.used===0||n.length!==0?{error:`Directive "`+t+`" requires a measurement as a parameter.`}:r.value},oneParameterMeasurement=function(t,n){var r=e.getMeasurement(n);return r.used===0||n.length!==0?`Directive "`+t+`" requires a measurement as a parameter.`:(o.formatting[t]=r.value,null)},addMultilineVar=function(e,t,n,r,o){if(n.length!==1||n[0].type!==`number`)return`Directive "`+t+`" requires a number as a parameter.`;var c=n[0].intt;return r!==void 0&&c<r?`Directive "`+t+`" requires a number greater than or equal to `+r+` as a parameter.`:o!==void 0&&c>o?`Directive "`+t+`" requires a number less than or equal to `+o+` as a parameter.`:(a[e]=c,null)},addMultilineVarBool=function(e,t,n){if(n.length===1&&(n[0].token===`true`||n[0].token===`false`))return a[e]=n[0].token===`true`,null;var r=addMultilineVar(e,t,n,0,1);return r===null?(a[e]=a[e]===1,null):r},addMultilineVarOneParamChoice=function(e,t,n,r){if(n.length!==1)return`Directive "`+t+`" requires one of [ `+r.join(`, `)+` ] as a parameter.`;for(var o=n[0].token,c=!1,l=0;!c&&l<r.length;l++)r[l]===o&&(c=!0);return c?(a[e]=o,null):`Directive "`+t+`" requires one of [ `+r.join(`, `)+` ] as a parameter.`},d=[`nobarlines`,`barlines`,`beataccents`,`nobeataccents`,`droneon`,`droneoff`,`drumon`,`drumoff`,`fermatafixed`,`fermataproportional`,`gchordon`,`gchordoff`,`controlcombo`,`temperamentnormal`,`noportamento`],f=[`gchord`,`ptstress`,`beatstring`],p=[`bassvol`,`chordvol`,`c`,`channel`,`beatmod`,`deltaloudness`,`drumbars`,`gracedivider`,`makechordchannels`,`randomchordattack`,`chordattack`,`stressmodel`,`transpose`,`rtranspose`,`vol`,`volinc`,`gchordbars`],m=[`program`],h=[`ratio`,`snt`,`bendvelocity`,`pitchbend`,`control`,`temperamentlinear`],g=[`beat`],_=[`drone`],y=[`portamento`],b=[`expand`,`grace`,`trim`],x=[`drum`,`chordname`],S=[`bassprog`,`chordprog`],parseMidiCommand=function(e,n,r){var a=e.shift().token,o=[];if(d.indexOf(a)>=0)e.length!==0&&t(`Unexpected parameter in MIDI `+a,r,0);else if(f.indexOf(a)>=0)e.length===1?o.push(e[0].token):t(`Expected one parameter in MIDI `+a,r,0);else if(p.indexOf(a)>=0)e.length===1?e[0].type===`number`?o.push(e[0].intt):t(`Expected one integer parameter in MIDI `+a,r,0):t(`Expected one parameter in MIDI `+a,r,0);else if(m.indexOf(a)>=0)e.length!==1&&e.length!==2?t(`Expected one or two parameters in MIDI `+a,r,0):e[0].type===`number`?e.length===2&&e[1].type!==`number`?t(`Expected integer parameter in MIDI `+a,r,0):(o.push(e[0].intt),e.length===2&&o.push(e[1].intt)):t(`Expected integer parameter in MIDI `+a,r,0);else if(h.indexOf(a)>=0)e.length===2?e[0].type!==`number`||e[1].type!==`number`?t(`Expected two integer parameters in MIDI `+a,r,0):(o.push(e[0].intt),o.push(e[1].intt)):t(`Expected two parameters in MIDI `+a,r,0);else if(y.indexOf(a)>=0)e.length===2?e[0].type!==`alpha`||e[1].type!==`number`?t(`Expected one string and one integer parameters in MIDI `+a,r,0):(o.push(e[0].token),o.push(e[1].intt)):t(`Expected two parameters in MIDI `+a,r,0);else if(a===`drummap`)e.length===2&&e[0].type===`alpha`&&e[1].type===`number`?(n.formatting||={},n.formatting.midi||(n.formatting.midi={}),n.formatting.midi.drummap||(n.formatting.midi.drummap={}),n.formatting.midi.drummap[e[0].token]=e[1].intt,o=n.formatting.midi.drummap):e.length===3&&e[0].type===`punct`&&e[1].type===`alpha`&&e[2].type===`number`?(n.formatting||={},n.formatting.midi||(n.formatting.midi={}),n.formatting.midi.drummap||(n.formatting.midi.drummap={}),n.formatting.midi.drummap[e[0].token+e[1].token]=e[2].intt,o=n.formatting.midi.drummap):t(`Expected one note name and one integer parameter in MIDI `+a,r,0);else if(b.indexOf(a)>=0)e.length===3?e[0].type!==`number`||e[1].token!==`/`||e[2].type!==`number`?t(`Expected fraction parameter in MIDI `+a,r,0):(o.push(e[0].intt),o.push(e[2].intt)):t(`Expected fraction parameter in MIDI `+a,r,0);else if(g.indexOf(a)>=0)e.length===4?e[0].type!==`number`||e[1].type!==`number`||e[2].type!==`number`||e[3].type!==`number`?t(`Expected four integer parameters in MIDI `+a,r,0):(o.push(e[0].intt),o.push(e[1].intt),o.push(e[2].intt),o.push(e[3].intt)):t(`Expected four parameters in MIDI `+a,r,0);else if(_.indexOf(a)>=0)e.length===5?e[0].type!==`number`||e[1].type!==`number`||e[2].type!==`number`||e[3].type!==`number`||e[4].type!==`number`?t(`Expected five integer parameters in MIDI `+a,r,0):(o.push(e[0].intt),o.push(e[1].intt),o.push(e[2].intt),o.push(e[3].intt),o.push(e[4].intt)):t(`Expected five parameters in MIDI `+a,r,0);else if(m.indexOf(a)>=0)e.length!==1||e.length!==4?t(`Expected one or two parameters in MIDI `+a,r,0):e[0].type===`number`?e.length===4?(e[1].token!==`octave`&&t(`Expected octave parameter in MIDI `+a,r,0),e[2].token!==`=`&&t(`Expected octave parameter in MIDI `+a,r,0),e[3].type!==`number`&&t(`Expected integer parameter for octave in MIDI `+a,r,0)):(o.push(e[0].intt),e.length===4&&o.push(e[3].intt)):t(`Expected integer parameter in MIDI `+a,r,0);else if(x.indexOf(a)>=0)if(e.length<2)t(`Expected string parameter and at least one integer parameter in MIDI `+a,r,0);else if(e[0].type!==`alpha`)t(`Expected string parameter and at least one integer parameter in MIDI `+a,r,0);else{var l=e.shift();for(o.push(l.token);e.length>0;)l=e.shift(),l.type!==`number`&&t(`Expected integer parameter in MIDI `+a,r,0),o.push(l.intt)}else if(S.indexOf(a)>=0){if(e.length!==1&&e.length!==2)t(`Expected one or two parameters in MIDI `+a,r,0);else if(e[0].type!==`number`)t(`Expected integer parameter in MIDI `+a,r,0);else if(e.length===2&&e[1].type!==`alpha`)t(`Expected alpha parameter in MIDI `+a,r,0);else if(o.push(e[0].intt),e.length===2){var u=e[1].token;u.indexOf(`octave=`)==-1?t(`Expected octave= in MIDI`+a):(u=u.replace(`octave=`,``),u=parseInt(u),isNaN(u)?t(`Expected octave value in MIDI`+a):(u<-1&&(t(`Expected octave= in MIDI `+a+` to be >= -1 (recv:`+u+`)`),u=-1),u>3&&(t(`Expected octave= in MIDI `+a+` to be <= 3 (recv:`+u+`)`),u=3),o.push(u)))}}c.hasBeginMusic()?c.appendElement(`midi`,-1,-1,{cmd:a,params:o}):(n.formatting.midi===void 0&&(n.formatting.midi={}),n.formatting.midi[a]=o)};r.parseFontChangeLine=function(e){e=e.replace(/\$\$/g,``);var t=e.split(`$`);if(t.length>1&&a.setfont){var n=[];t[0]!==``&&n.push({text:t[0]});for(var r=1;r<t.length;r++)if(t[r][0]===`0`)n.push({text:t[r].substring(1).replace(/\x03/g,`$$`)});else{var o=parseInt(t[r][0],10);a.setfont[o]?n.push({font:a.setfont[o],text:t[r].substring(1).replace(/\x03/g,`$$`)}):n[n.length-1].text+=`$`+t[r].replace(/\x03/g,`$$`)}return n}return e.replace(/\x03/g,`$$`)};var C=[`auto`,`above`,`below`,`hidden`];r.addDirective=function(l){var u=e.tokenize(l,0,l.length);if(u.length===0||u[0].type!==`alpha`)return null;var d=l.substring(l.indexOf(u[0].token)+u[0].token.length);d=e.stripComment(d);var f=u.shift().token.toLowerCase(),p=``,m;switch(f){case`bagpipes`:o.formatting.bagpipes=!0;break;case`flatbeams`:o.formatting.flatbeams=!0;break;case`jazzchords`:o.formatting.jazzchords=!0;break;case`accentAbove`:o.formatting.accentAbove=!0;break;case`germanAlphabet`:o.formatting.germanAlphabet=!0;break;case`landscape`:a.landscape=!0;break;case`papersize`:a.papersize=d;break;case`graceslurs`:if(u.length!==1)return`Directive graceslurs requires one parameter: 0 or 1`;if(u[0].token===`0`||u[0].token===`false`)o.formatting.graceSlurs=!1;else if(u[0].token===`1`||u[0].token===`true`)o.formatting.graceSlurs=!0;else return`Directive graceslurs requires one parameter: 0 or 1 (received `+u[0].token+`)`;break;case`lineThickness`:var h=parseStretchLast(u);if(h.value!==void 0&&(o.formatting.lineThickness=h.value),h.error)return h.error;break;case`stretchlast`:var g=parseStretchLast(u);if(g.value!==void 0&&(o.formatting.stretchlast=g.value),g.error)return g.error;break;case`titlecaps`:a.titlecaps=!0;break;case`titleleft`:o.formatting.titleleft=!0;break;case`measurebox`:o.formatting.measurebox=!0;break;case`vocal`:return addMultilineVarOneParamChoice(`vocalPosition`,f,u,C);case`dynamic`:return addMultilineVarOneParamChoice(`dynamicPosition`,f,u,C);case`gchord`:return addMultilineVarOneParamChoice(`chordPosition`,f,u,C);case`ornament`:return addMultilineVarOneParamChoice(`ornamentPosition`,f,u,C);case`volume`:return addMultilineVarOneParamChoice(`volumePosition`,f,u,C);case`botmargin`:case`botspace`:case`composerspace`:case`indent`:case`leftmargin`:case`linesep`:case`musicspace`:case`partsspace`:case`pageheight`:case`pagewidth`:case`rightmargin`:case`stafftopmargin`:case`staffsep`:case`staffwidth`:case`subtitlespace`:case`sysstaffsep`:case`systemsep`:case`textspace`:case`titlespace`:case`topmargin`:case`topspace`:case`vocalspace`:case`wordsspace`:return oneParameterMeasurement(f,u);case`voicescale`:if(u.length!==1||u[0].type!==`number`)return`voicescale requires one float as a parameter`;var _=u.shift();return a.currentVoice&&(a.currentVoice.scale=_.floatt,c.changeVoiceScale(a.currentVoice.scale)),null;case`voicecolor`:if(u.length!==1)return`voicecolor requires one string as a parameter`;var y=u.shift();return a.currentVoice&&(a.currentVoice.color=y.token,c.changeVoiceColor(a.currentVoice.color)),null;case`vskip`:var b=Math.round(getRequiredMeasurement(f,u));return b.error?b.error:(c.addSpacing(b),null);case`scale`:setScale(f,u);break;case`sep`:if(u.length===0)c.addSeparator(14,14,85,{startChar:a.iChar,endChar:a.iChar+5});else{var x=e.getMeasurement(u);if(x.used===0)return`Directive "`+f+`" requires 3 numbers: space above, space below, length of line`;var S=x.value;if(x=e.getMeasurement(u),x.used===0)return`Directive "`+f+`" requires 3 numbers: space above, space below, length of line`;var w=x.value;if(x=e.getMeasurement(u),x.used===0||u.length!==0)return`Directive "`+f+`" requires 3 numbers: space above, space below, length of line`;var T=x.value;c.addSeparator(S,w,T,{startChar:a.iChar,endChar:a.iChar+d.length})}break;case`barsperstaff`:if(p=addMultilineVar(`barsperstaff`,f,u),p!==null)return p;break;case`staffnonote`:if(u.length!==1)return`Directive staffnonote requires one parameter: 0 or 1`;if(u[0].token===`0`)a.staffnonote=!0;else if(u[0].token===`1`)a.staffnonote=!1;else return`Directive staffnonote requires one parameter: 0 or 1 (received `+u[0].token+`)`;break;case`printtempo`:if(p=addMultilineVarBool(`printTempo`,f,u),p!==null)return p;break;case`partsbox`:if(p=addMultilineVarBool(`partsBox`,f,u),p!==null)return p;a.partsfont.box=a.partsBox;break;case`freegchord`:if(p=addMultilineVarBool(`freegchord`,f,u),p!==null)return p;break;case`measurenb`:case`barnumbers`:if(p=addMultilineVar(`barNumbers`,f,u),p!==null)return p;break;case`setbarnb`:if(u.length!==1||u[0].type!==`number`)return`Directive setbarnb requires a number as a parameter.`;a.currBarNumber=c.setBarNumberImmediate(u[0].intt);break;case`begintext`:var E=``;for(m=e.nextLine();m&&m.indexOf(`%%endtext`)!==0;)n.startsWith(m,`%%`)?E+=m.substring(2)+`
1
+ require('./assets/sightsing.css');const e=require(`./shapes-C_-mvrCc.cjs`),t=require(`./CourseWare-DSeyTAtH.cjs`);let n=require(`vue`),r=require(`@vue-skuilder/common-ui`),a=require(`@vue-skuilder/common`);var o=e.n(((e,t)=>{t.exports=`6.4.4`})),c=e.n(((e,t)=>{var TimingCallbacks=function(e,t){var n=this;if(t||={},n.qpm=t.qpm?parseInt(t.qpm,10):null,!n.qpm){var r=e.metaText?e.metaText.tempo:null;n.qpm=e.getBpm(r)}n.extraMeasuresAtBeginning=t.extraMeasuresAtBeginning?parseInt(t.extraMeasuresAtBeginning,10):0,n.beatCallback=t.beatCallback,n.eventCallback=t.eventCallback,n.lineEndCallback=t.lineEndCallback,n.lineEndAnticipation=t.lineEndAnticipation?parseInt(t.lineEndAnticipation,10):0,n.beatSubdivisions=t.beatSubdivisions?parseInt(t.beatSubdivisions,10):1,n.joggerTimer=null,n.replaceTarget=function(e){n.noteTimings=e.setTiming(n.qpm,n.extraMeasuresAtBeginning),e.noteTimings.length===0&&(n.noteTimings=e.setTiming(0,0)),n.lineEndCallback&&(n.lineEndTimings=getLineEndTimings(e.noteTimings,n.lineEndAnticipation)),n.startTime=null,n.currentBeat=0,n.currentEvent=0,n.currentLine=0,n.currentTime=0,n.isPaused=!1,n.isRunning=!1,n.pausedPercent=null,n.justUnpaused=!1,n.newSeekPercent=0,n.lastTimestamp=0,n.noteTimings.length!==0&&(n.millisecondsPerBeat=1e3/(n.qpm/60)/n.beatSubdivisions,n.lastMoment=n.noteTimings[n.noteTimings.length-1].milliseconds,n.totalBeats=Math.round(n.lastMoment/n.millisecondsPerBeat))},n.replaceTarget(e),n.doTiming=function(e){if(n.lastTimestamp!==e&&(n.lastTimestamp=e,n.startTime||=e,!n.isPaused&&n.isRunning)){for(n.currentTime=e-n.startTime,n.currentTime+=16;n.noteTimings.length>n.currentEvent&&n.noteTimings[n.currentEvent].milliseconds<n.currentTime;){if(n.eventCallback&&n.noteTimings[n.currentEvent].type===`event`){var t=n.startTime;n.eventCallback(n.noteTimings[n.currentEvent]),t!==n.startTime&&(n.currentTime=e-n.startTime)}n.currentEvent++}if(n.lineEndCallback&&n.lineEndTimings.length>n.currentLine&&n.lineEndTimings[n.currentLine].milliseconds<n.currentTime&&n.currentEvent<n.noteTimings.length){var r=n.noteTimings[n.currentEvent].milliseconds===n.currentTime?n.noteTimings[n.currentEvent]:n.noteTimings[n.currentEvent-1];n.lineEndCallback(n.lineEndTimings[n.currentLine],r,{line:n.currentLine,endTimings:n.lineEndTimings,currentTime:n.currentTime}),n.currentLine++}if(n.currentTime<n.lastMoment){if(requestAnimationFrame(n.doTiming),n.currentBeat*n.millisecondsPerBeat<n.currentTime){var a=n.doBeatCallback(e);a!==null&&(n.currentTime=a)}}else if(n.currentBeat<=n.totalBeats&&n.beatCallback){var o=n.doBeatCallback(e);o!==null&&(n.currentTime=o),requestAnimationFrame(n.doTiming)}if(n.currentTime>=n.lastMoment)if(n.eventCallback){var c=n.eventCallback(null);n.shouldStop(c).then(function(e){e&&n.stop()})}else n.stop()}},n.shouldStop=function(e){return new Promise(function(t){if(!e)return t(!0);if(e===`continue`)return t(!1);e.then&&e.then(function(e){t(e!==`continue`)})})},n.doBeatCallback=function(e){if(n.beatCallback){for(var t=n.currentEvent;t<n.noteTimings.length&&n.noteTimings[t].left===null;)t++;var r,a;if(t<n.noteTimings.length){for(r=n.noteTimings[t].milliseconds,t=Math.max(0,n.currentEvent-1);t>=0&&n.noteTimings[t].left===null;)t--;a=n.noteTimings[t]}var o={},c={};if(a){o.top=a.top,o.height=a.height;var l=Math.max(0,e-n.startTime-a.milliseconds),u=r-a.milliseconds,d=a.endX-a.left,f=u?l*d/u:0;o.left=a.left+f,n.currentEvent===0&&a.milliseconds>e-n.startTime&&(o.left=void 0),c={timestamp:e,startTime:n.startTime,ev:a,endMs:r,offMs:l,offPx:f,gapMs:u,gapPx:d}}else c={timestamp:e,startTime:n.startTime};var p=n.startTime;if(n.beatCallback(n.currentBeat/n.beatSubdivisions,n.totalBeats/n.beatSubdivisions,n.lastMoment,o,c),p!==n.startTime)return e-n.startTime;n.currentBeat++}return null};var a=60;n.animationJogger=function(){n.isRunning&&(n.doTiming(performance.now()),n.joggerTimer=setTimeout(n.animationJogger,a))},n.start=function(e,t){if(n.isRunning=!0,n.isPaused&&(n.isPaused=!1,e===void 0&&(n.justUnpaused=!0)),e)n.setProgress(e,t);else if(e===0)n.reset();else if(n.pausedPercent!==null){var r=performance.now();n.currentTime=n.lastMoment*n.pausedPercent,n.startTime=r-n.currentTime,n.pausedPercent=null,n.reportNext=!0}requestAnimationFrame(n.doTiming),n.joggerTimer=setTimeout(n.animationJogger,a)},n.pause=function(){n.isPaused=!0,n.pausedPercent=(performance.now()-n.startTime)/n.lastMoment,n.isRunning=!1,n.joggerTimer&&=(clearTimeout(n.joggerTimer),null)},n.currentMillisecond=function(){return n.currentTime},n.reset=function(){n.currentBeat=0,n.currentEvent=0,n.currentLine=0,n.startTime=null,n.pausedPercent=null},n.stop=function(){n.pause(),n.reset()},n.setProgress=function(e,t){var r;switch(t){case`seconds`:n.currentTime=e*1e3,n.currentTime<0&&(n.currentTime=0),n.currentTime>n.lastMoment&&(n.currentTime=n.lastMoment),r=n.currentTime/n.lastMoment;break;case`beats`:n.currentTime=e*n.millisecondsPerBeat*n.beatSubdivisions,n.currentTime<0&&(n.currentTime=0),n.currentTime>n.lastMoment&&(n.currentTime=n.lastMoment),r=n.currentTime/n.lastMoment;break;default:r=e,r<0&&(r=0),r>1&&(r=1),n.currentTime=n.lastMoment*r;break}for(n.isRunning||(n.pausedPercent=r),n.startTime=performance.now()-n.currentTime,n.currentEvent,n.currentEvent=0;n.noteTimings.length>n.currentEvent&&n.noteTimings[n.currentEvent].milliseconds<n.currentTime;)n.currentEvent++;if(n.lineEndCallback)for(n.currentLine=0;n.lineEndTimings.length>n.currentLine&&n.lineEndTimings[n.currentLine].milliseconds+n.lineEndAnticipation<n.currentTime;)n.currentLine++;var o=n.currentBeat;n.currentBeat=Math.floor(n.currentTime/n.millisecondsPerBeat),n.beatCallback&&o!==n.currentBeat&&n.doBeatCallback(n.startTime+n.currentTime),n.eventCallback&&n.currentEvent>=0&&n.noteTimings[n.currentEvent].type===`event`&&n.eventCallback(n.noteTimings[n.currentEvent]),n.lineEndCallback&&n.lineEndCallback(n.lineEndTimings[n.currentLine],n.noteTimings[n.currentEvent],{line:n.currentLine,endTimings:n.lineEndTimings}),n.joggerTimer=setTimeout(n.animationJogger,a)}};function getLineEndTimings(e,t){for(var n=[],r=null,a=0;a<e.length;a++){var o=e[a];o.type!==`end`&&o.top!==r&&(n.push({measureNumber:o.measureNumber,milliseconds:o.milliseconds-t,top:o.top,bottom:o.top+o.height}),r=o.top)}return n}t.exports=TimingCallbacks})),l=e.n(((e,t)=>{var n=c(),r={};(function(){"use strict";var e,t;r.startAnimation=function(r,a,o){e&&=(e.stop(),void 0),o.showCursor&&(t=r.querySelector(`.abcjs-cursor`),t||(t=document.createElement(`DIV`),t.className=`abcjs-cursor cursor`,t.style.position=`absolute`,r.appendChild(t),r.style.position=`relative`));function hideMeasures(e){for(var t=0;t<e.length;t++){var n=e[t];n.classList.contains(`abcjs-bar`)||(n.style.display=`none`)}}var c;function disappearMeasuresAfter(e){c&&hideMeasures(r.querySelectorAll(c)),c=e}function disappearMeasuresBefore(e){hideMeasures(r.querySelectorAll(e))}function measureCallback(e){o.hideCurrentMeasure?disappearMeasuresBefore(e):o.hideFinishedMeasures&&disappearMeasuresAfter(e)}function getLineAndMeasure(e){return`.abcjs-l`+e.line+`.abcjs-m`+e.measureNumber}function setCursor(n){if(n){if(n.measureStart){var r=getLineAndMeasure(n);r&&measureCallback(r)}t&&(t.style.left=n.left+`px`,t.style.top=n.top+`px`,t.style.width=n.width+`px`,t.style.height=n.height+`px`)}else e.stop(),e=void 0}e=new n(a,{qpm:o.bpm,eventCallback:setCursor}),e.start()},r.pauseAnimation=function(t){e&&(t?e.pause():e.start())},r.stopAnimation=function(){e&&=(e.stop(),void 0)}})(),t.exports=r})),u=e.n(((e,t)=>{var n={};n.cloneArray=function(e){for(var t=[],n=0;n<e.length;n++)t.push(Object.assign({},e[n]));return t},n.cloneHashOfHash=function(e){var t={};for(var n in e)e.hasOwnProperty(n)&&(t[n]=Object.assign({},e[n]));return t},n.cloneHashOfArrayOfHash=function(e){var t={};for(var r in e)e.hasOwnProperty(r)&&(t[r]=n.cloneArray(e[r]));return t},n.strip=function(e){return e.replace(/^\s+/,``).replace(/\s+$/,``)},n.startsWith=function(e,t){return e.indexOf(t)===0},n.endsWith=function(e,t){var n=e.length-t.length;return n>=0&&e.lastIndexOf(t)===n},n.last=function(e){return e.length===0?null:e[e.length-1]},t.exports=n})),d=e.n(((e,t)=>{var n=u(),r={};(function(){"use strict";var e,t,a,o,c;r.initialize=function(n,r,l,u,d){e=n,t=r,a=l,o=u,c=d,initializeFonts()};function initializeFonts(){a.annotationfont={face:`Helvetica`,size:12,weight:`normal`,style:`normal`,decoration:`none`},a.gchordfont={face:`Helvetica`,size:12,weight:`normal`,style:`normal`,decoration:`none`},a.historyfont={face:`"Times New Roman"`,size:16,weight:`normal`,style:`normal`,decoration:`none`},a.infofont={face:`"Times New Roman"`,size:14,weight:`normal`,style:`italic`,decoration:`none`},a.measurefont={face:`"Times New Roman"`,size:14,weight:`normal`,style:`italic`,decoration:`none`},a.partsfont={face:`"Times New Roman"`,size:15,weight:`normal`,style:`normal`,decoration:`none`},a.repeatfont={face:`"Times New Roman"`,size:13,weight:`normal`,style:`normal`,decoration:`none`},a.textfont={face:`"Times New Roman"`,size:16,weight:`normal`,style:`normal`,decoration:`none`},a.tripletfont={face:`Times`,size:11,weight:`normal`,style:`italic`,decoration:`none`},a.vocalfont={face:`"Times New Roman"`,size:13,weight:`bold`,style:`normal`,decoration:`none`},a.wordsfont={face:`"Times New Roman"`,size:16,weight:`normal`,style:`normal`,decoration:`none`},o.formatting.composerfont={face:`"Times New Roman"`,size:14,weight:`normal`,style:`italic`,decoration:`none`},o.formatting.subtitlefont={face:`"Times New Roman"`,size:16,weight:`normal`,style:`normal`,decoration:`none`},o.formatting.tempofont={face:`"Times New Roman"`,size:15,weight:`bold`,style:`normal`,decoration:`none`},o.formatting.titlefont={face:`"Times New Roman"`,size:20,weight:`normal`,style:`normal`,decoration:`none`},o.formatting.footerfont={face:`"Times New Roman"`,size:12,weight:`normal`,style:`normal`,decoration:`none`},o.formatting.headerfont={face:`"Times New Roman"`,size:12,weight:`normal`,style:`normal`,decoration:`none`},o.formatting.voicefont={face:`"Times New Roman"`,size:13,weight:`bold`,style:`normal`,decoration:`none`},o.formatting.tablabelfont={face:`"Trebuchet MS"`,size:16,weight:`normal`,style:`normal`,decoration:`none`},o.formatting.tabnumberfont={face:`"Arial"`,size:11,weight:`normal`,style:`normal`,decoration:`none`},o.formatting.tabgracefont={face:`"Arial"`,size:8,weight:`normal`,style:`normal`,decoration:`none`},o.formatting.annotationfont=a.annotationfont,o.formatting.gchordfont=a.gchordfont,o.formatting.historyfont=a.historyfont,o.formatting.infofont=a.infofont,o.formatting.measurefont=a.measurefont,o.formatting.partsfont=a.partsfont,o.formatting.repeatfont=a.repeatfont,o.formatting.textfont=a.textfont,o.formatting.tripletfont=a.tripletfont,o.formatting.vocalfont=a.vocalfont,o.formatting.wordsfont=a.wordsfont}var l={gchordfont:!0,measurefont:!0,partsfont:!0,annotationfont:!0,composerfont:!0,historyfont:!0,infofont:!0,subtitlefont:!0,textfont:!0,titlefont:!0,voicefont:!0},fontTranslation=function(e){switch(e){case`Arial-Italic`:return{face:`Arial`,weight:`normal`,style:`italic`,decoration:`none`};case`Arial-Bold`:return{face:`Arial`,weight:`bold`,style:`normal`,decoration:`none`};case`Bookman-Demi`:return{face:`Bookman,serif`,weight:`bold`,style:`normal`,decoration:`none`};case`Bookman-DemiItalic`:return{face:`Bookman,serif`,weight:`bold`,style:`italic`,decoration:`none`};case`Bookman-Light`:return{face:`Bookman,serif`,weight:`normal`,style:`normal`,decoration:`none`};case`Bookman-LightItalic`:return{face:`Bookman,serif`,weight:`normal`,style:`italic`,decoration:`none`};case`Courier`:return{face:`"Courier New"`,weight:`normal`,style:`normal`,decoration:`none`};case`Courier-Oblique`:return{face:`"Courier New"`,weight:`normal`,style:`italic`,decoration:`none`};case`Courier-Bold`:return{face:`"Courier New"`,weight:`bold`,style:`normal`,decoration:`none`};case`Courier-BoldOblique`:return{face:`"Courier New"`,weight:`bold`,style:`italic`,decoration:`none`};case`AvantGarde-Book`:return{face:`AvantGarde,Arial`,weight:`normal`,style:`normal`,decoration:`none`};case`AvantGarde-BookOblique`:return{face:`AvantGarde,Arial`,weight:`normal`,style:`italic`,decoration:`none`};case`AvantGarde-Demi`:case`Avant-Garde-Demi`:return{face:`AvantGarde,Arial`,weight:`bold`,style:`normal`,decoration:`none`};case`AvantGarde-DemiOblique`:return{face:`AvantGarde,Arial`,weight:`bold`,style:`italic`,decoration:`none`};case`Helvetica-Oblique`:return{face:`Helvetica`,weight:`normal`,style:`italic`,decoration:`none`};case`Helvetica-Bold`:return{face:`Helvetica`,weight:`bold`,style:`normal`,decoration:`none`};case`Helvetica-BoldOblique`:return{face:`Helvetica`,weight:`bold`,style:`italic`,decoration:`none`};case`Helvetica-Narrow`:return{face:`"Helvetica Narrow",Helvetica`,weight:`normal`,style:`normal`,decoration:`none`};case`Helvetica-Narrow-Oblique`:return{face:`"Helvetica Narrow",Helvetica`,weight:`normal`,style:`italic`,decoration:`none`};case`Helvetica-Narrow-Bold`:return{face:`"Helvetica Narrow",Helvetica`,weight:`bold`,style:`normal`,decoration:`none`};case`Helvetica-Narrow-BoldOblique`:return{face:`"Helvetica Narrow",Helvetica`,weight:`bold`,style:`italic`,decoration:`none`};case`Palatino-Roman`:return{face:`Palatino`,weight:`normal`,style:`normal`,decoration:`none`};case`Palatino-Italic`:return{face:`Palatino`,weight:`normal`,style:`italic`,decoration:`none`};case`Palatino-Bold`:return{face:`Palatino`,weight:`bold`,style:`normal`,decoration:`none`};case`Palatino-BoldItalic`:return{face:`Palatino`,weight:`bold`,style:`italic`,decoration:`none`};case`NewCenturySchlbk-Roman`:return{face:`"New Century",serif`,weight:`normal`,style:`normal`,decoration:`none`};case`NewCenturySchlbk-Italic`:return{face:`"New Century",serif`,weight:`normal`,style:`italic`,decoration:`none`};case`NewCenturySchlbk-Bold`:return{face:`"New Century",serif`,weight:`bold`,style:`normal`,decoration:`none`};case`NewCenturySchlbk-BoldItalic`:return{face:`"New Century",serif`,weight:`bold`,style:`italic`,decoration:`none`};case`Times`:case`Times-Roman`:case`Times-Narrow`:case`Times-Courier`:case`Times-New-Roman`:return{face:`"Times New Roman"`,weight:`normal`,style:`normal`,decoration:`none`};case`Times-Italic`:case`Times-Italics`:return{face:`"Times New Roman"`,weight:`normal`,style:`italic`,decoration:`none`};case`Times-Bold`:return{face:`"Times New Roman"`,weight:`bold`,style:`normal`,decoration:`none`};case`Times-BoldItalic`:return{face:`"Times New Roman"`,weight:`bold`,style:`italic`,decoration:`none`};case`ZapfChancery-MediumItalic`:return{face:`"Zapf Chancery",cursive,serif`,weight:`normal`,style:`normal`,decoration:`none`};default:return null}},getFontParameter=function(e,n,r,a,o){function processNumberOnly(){var c=parseInt(e[0].token);return e.shift(),n?e.length===0?{face:n.face,weight:n.weight,style:n.style,decoration:n.decoration,size:c}:e.length===1&&e[0].token===`box`&&l[o]?{face:n.face,weight:n.weight,style:n.style,decoration:n.decoration,size:c,box:!0}:(t(`Extra parameters in font definition.`,r,a),{face:n.face,weight:n.weight,style:n.style,decoration:n.decoration,size:c}):(t(`Can't set just the size of the font since there is no default value.`,r,a),{face:`"Times New Roman"`,weight:`normal`,style:`normal`,decoration:`none`,size:c})}if(e[0].token===`*`){if(e.shift(),e[0].type===`number`)return processNumberOnly();t(`Expected font size number after *.`,r,a)}if(e[0].type===`number`)return processNumberOnly();for(var c=[],u,d=`normal`,f=`normal`,p=`none`,m=!1,h=`face`,g=!1;e.length;){var _=e.shift(),y=_.token.toLowerCase();switch(h){case`face`:g||y!==`utf`&&_.type!==`number`&&y!==`bold`&&y!==`italic`&&y!==`underline`&&y!==`box`?c.length>0&&_.token===`-`?(g=!0,c[c.length-1]=c[c.length-1]+_.token):g?(g=!1,c[c.length-1]=c[c.length-1]+_.token):c.push(_.token):_.type===`number`?(u?t(`Font size specified twice in font definition.`,r,a):u=_.token,h=`modifier`):y===`bold`?d=`bold`:y===`italic`?f=`italic`:y===`underline`?p=`underline`:y===`box`?(l[o]?m=!0:t(`This font style doesn't support "box"`,r,a),h=`finished`):y===`utf`?(_=e.shift(),h=`size`):t(`Unknown parameter `+_.token+` in font definition.`,r,a);break;case`size`:_.type===`number`?u?t(`Font size specified twice in font definition.`,r,a):u=_.token:t(`Expected font size in font definition.`,r,a),h=`modifier`;break;case`modifier`:y===`bold`?d=`bold`:y===`italic`?f=`italic`:y===`underline`?p=`underline`:y===`box`?(l[o]?m=!0:t(`This font style doesn't support "box"`,r,a),h=`finished`):t(`Unknown parameter `+_.token+` in font definition.`,r,a);break;case`finished`:t(`Extra characters found after "box" in font definition.`,r,a);break}}u===void 0?n?u=n.size:(t(`Must specify the size of the font since there is no default value.`,r,a),u=12):u=parseFloat(u),c=c.join(` `),c===``&&(n?c=n.face:(t(`Must specify the name of the font since there is no default value.`,r,a),c=`sans-serif`));var b=fontTranslation(c),x={};return b?(x.face=b.face,x.weight=b.weight,x.style=b.style,x.decoration=b.decoration,x.size=u,m&&(x.box=!0),x):(x.face=c,x.weight=d,x.style=f,x.decoration=p,x.size=u,m&&(x.box=!0),x)},getChangingFont=function(e,t,n){return t.length===0?`Directive "`+e+`" requires a font as a parameter.`:(a[e]=getFontParameter(t,a[e],n,0,e),a.is_in_header&&(o.formatting[e]=a[e]),null)},getGlobalFont=function(e,t,n){return t.length===0?`Directive "`+e+`" requires a font as a parameter.`:(o.formatting[e]=getFontParameter(t,o.formatting[e],n,0,e),null)},setScale=function(e,t){var n=``;t.forEach(function(e){n+=e.token});var r=parseFloat(n);if(isNaN(r)||r===0)return`Directive "`+e+`" requires a number as a parameter.`;o.formatting.scale=r},u=`acoustic-bass-drum.bass-drum-1.side-stick.acoustic-snare.hand-clap.electric-snare.low-floor-tom.closed-hi-hat.high-floor-tom.pedal-hi-hat.low-tom.open-hi-hat.low-mid-tom.hi-mid-tom.crash-cymbal-1.high-tom.ride-cymbal-1.chinese-cymbal.ride-bell.tambourine.splash-cymbal.cowbell.crash-cymbal-2.vibraslap.ride-cymbal-2.hi-bongo.low-bongo.mute-hi-conga.open-hi-conga.low-conga.high-timbale.low-timbale.high-agogo.low-agogo.cabasa.maracas.short-whistle.long-whistle.short-guiro.long-guiro.claves.hi-wood-block.low-wood-block.mute-cuica.open-cuica.mute-triangle.open-triangle`.split(`.`),interpretPercMap=function(e){var t=e.split(/\s+/);if(t.length!==2&&t.length!==3)return{error:`Expected parameters "abc-note", "drum-sound", and optionally "note-head"`};var n=t[0],r=parseInt(t[1],10);if((isNaN(r)||r<35||r>81)&&t[1]&&(r=u.indexOf(t[1].toLowerCase())+35),isNaN(r)||r<35||r>81)return{error:`Expected drum name, received "`+t[1]+`"`};var a={sound:r};return t.length===3&&(a.noteHead=t[2]),{key:n,value:a}},getRequiredMeasurement=function(t,n){var r=e.getMeasurement(n);return r.used===0||n.length!==0?{error:`Directive "`+t+`" requires a measurement as a parameter.`}:r.value},oneParameterMeasurement=function(t,n){var r=e.getMeasurement(n);return r.used===0||n.length!==0?`Directive "`+t+`" requires a measurement as a parameter.`:(o.formatting[t]=r.value,null)},addMultilineVar=function(e,t,n,r,o){if(n.length!==1||n[0].type!==`number`)return`Directive "`+t+`" requires a number as a parameter.`;var c=n[0].intt;return r!==void 0&&c<r?`Directive "`+t+`" requires a number greater than or equal to `+r+` as a parameter.`:o!==void 0&&c>o?`Directive "`+t+`" requires a number less than or equal to `+o+` as a parameter.`:(a[e]=c,null)},addMultilineVarBool=function(e,t,n){if(n.length===1&&(n[0].token===`true`||n[0].token===`false`))return a[e]=n[0].token===`true`,null;var r=addMultilineVar(e,t,n,0,1);return r===null?(a[e]=a[e]===1,null):r},addMultilineVarOneParamChoice=function(e,t,n,r){if(n.length!==1)return`Directive "`+t+`" requires one of [ `+r.join(`, `)+` ] as a parameter.`;for(var o=n[0].token,c=!1,l=0;!c&&l<r.length;l++)r[l]===o&&(c=!0);return c?(a[e]=o,null):`Directive "`+t+`" requires one of [ `+r.join(`, `)+` ] as a parameter.`},d=[`nobarlines`,`barlines`,`beataccents`,`nobeataccents`,`droneon`,`droneoff`,`drumon`,`drumoff`,`fermatafixed`,`fermataproportional`,`gchordon`,`gchordoff`,`controlcombo`,`temperamentnormal`,`noportamento`],f=[`gchord`,`ptstress`,`beatstring`],p=[`bassvol`,`chordvol`,`c`,`channel`,`beatmod`,`deltaloudness`,`drumbars`,`gracedivider`,`makechordchannels`,`randomchordattack`,`chordattack`,`stressmodel`,`transpose`,`rtranspose`,`vol`,`volinc`,`gchordbars`],m=[`program`],h=[`ratio`,`snt`,`bendvelocity`,`pitchbend`,`control`,`temperamentlinear`],g=[`beat`],_=[`drone`],y=[`portamento`],b=[`expand`,`grace`,`trim`],x=[`drum`,`chordname`],S=[`bassprog`,`chordprog`],parseMidiCommand=function(e,n,r){var a=e.shift().token,o=[];if(d.indexOf(a)>=0)e.length!==0&&t(`Unexpected parameter in MIDI `+a,r,0);else if(f.indexOf(a)>=0)e.length===1?o.push(e[0].token):t(`Expected one parameter in MIDI `+a,r,0);else if(p.indexOf(a)>=0)e.length===1?e[0].type===`number`?o.push(e[0].intt):t(`Expected one integer parameter in MIDI `+a,r,0):t(`Expected one parameter in MIDI `+a,r,0);else if(m.indexOf(a)>=0)e.length!==1&&e.length!==2?t(`Expected one or two parameters in MIDI `+a,r,0):e[0].type===`number`?e.length===2&&e[1].type!==`number`?t(`Expected integer parameter in MIDI `+a,r,0):(o.push(e[0].intt),e.length===2&&o.push(e[1].intt)):t(`Expected integer parameter in MIDI `+a,r,0);else if(h.indexOf(a)>=0)e.length===2?e[0].type!==`number`||e[1].type!==`number`?t(`Expected two integer parameters in MIDI `+a,r,0):(o.push(e[0].intt),o.push(e[1].intt)):t(`Expected two parameters in MIDI `+a,r,0);else if(y.indexOf(a)>=0)e.length===2?e[0].type!==`alpha`||e[1].type!==`number`?t(`Expected one string and one integer parameters in MIDI `+a,r,0):(o.push(e[0].token),o.push(e[1].intt)):t(`Expected two parameters in MIDI `+a,r,0);else if(a===`drummap`)e.length===2&&e[0].type===`alpha`&&e[1].type===`number`?(n.formatting||={},n.formatting.midi||(n.formatting.midi={}),n.formatting.midi.drummap||(n.formatting.midi.drummap={}),n.formatting.midi.drummap[e[0].token]=e[1].intt,o=n.formatting.midi.drummap):e.length===3&&e[0].type===`punct`&&e[1].type===`alpha`&&e[2].type===`number`?(n.formatting||={},n.formatting.midi||(n.formatting.midi={}),n.formatting.midi.drummap||(n.formatting.midi.drummap={}),n.formatting.midi.drummap[e[0].token+e[1].token]=e[2].intt,o=n.formatting.midi.drummap):t(`Expected one note name and one integer parameter in MIDI `+a,r,0);else if(b.indexOf(a)>=0)e.length===3?e[0].type!==`number`||e[1].token!==`/`||e[2].type!==`number`?t(`Expected fraction parameter in MIDI `+a,r,0):(o.push(e[0].intt),o.push(e[2].intt)):t(`Expected fraction parameter in MIDI `+a,r,0);else if(g.indexOf(a)>=0)e.length===4?e[0].type!==`number`||e[1].type!==`number`||e[2].type!==`number`||e[3].type!==`number`?t(`Expected four integer parameters in MIDI `+a,r,0):(o.push(e[0].intt),o.push(e[1].intt),o.push(e[2].intt),o.push(e[3].intt)):t(`Expected four parameters in MIDI `+a,r,0);else if(_.indexOf(a)>=0)e.length===5?e[0].type!==`number`||e[1].type!==`number`||e[2].type!==`number`||e[3].type!==`number`||e[4].type!==`number`?t(`Expected five integer parameters in MIDI `+a,r,0):(o.push(e[0].intt),o.push(e[1].intt),o.push(e[2].intt),o.push(e[3].intt),o.push(e[4].intt)):t(`Expected five parameters in MIDI `+a,r,0);else if(m.indexOf(a)>=0)e.length!==1||e.length!==4?t(`Expected one or two parameters in MIDI `+a,r,0):e[0].type===`number`?e.length===4?(e[1].token!==`octave`&&t(`Expected octave parameter in MIDI `+a,r,0),e[2].token!==`=`&&t(`Expected octave parameter in MIDI `+a,r,0),e[3].type!==`number`&&t(`Expected integer parameter for octave in MIDI `+a,r,0)):(o.push(e[0].intt),e.length===4&&o.push(e[3].intt)):t(`Expected integer parameter in MIDI `+a,r,0);else if(x.indexOf(a)>=0)if(e.length<2)t(`Expected string parameter and at least one integer parameter in MIDI `+a,r,0);else if(e[0].type!==`alpha`)t(`Expected string parameter and at least one integer parameter in MIDI `+a,r,0);else{var l=e.shift();for(o.push(l.token);e.length>0;)l=e.shift(),l.type!==`number`&&t(`Expected integer parameter in MIDI `+a,r,0),o.push(l.intt)}else if(S.indexOf(a)>=0){if(e.length!==1&&e.length!==2)t(`Expected one or two parameters in MIDI `+a,r,0);else if(e[0].type!==`number`)t(`Expected integer parameter in MIDI `+a,r,0);else if(e.length===2&&e[1].type!==`alpha`)t(`Expected alpha parameter in MIDI `+a,r,0);else if(o.push(e[0].intt),e.length===2){var u=e[1].token;u.indexOf(`octave=`)==-1?t(`Expected octave= in MIDI`+a):(u=u.replace(`octave=`,``),u=parseInt(u),isNaN(u)?t(`Expected octave value in MIDI`+a):(u<-1&&(t(`Expected octave= in MIDI `+a+` to be >= -1 (recv:`+u+`)`),u=-1),u>3&&(t(`Expected octave= in MIDI `+a+` to be <= 3 (recv:`+u+`)`),u=3),o.push(u)))}}c.hasBeginMusic()?c.appendElement(`midi`,-1,-1,{cmd:a,params:o}):(n.formatting.midi===void 0&&(n.formatting.midi={}),n.formatting.midi[a]=o)};r.parseFontChangeLine=function(e){e=e.replace(/\$\$/g,``);var t=e.split(`$`);if(t.length>1&&a.setfont){var n=[];t[0]!==``&&n.push({text:t[0]});for(var r=1;r<t.length;r++)if(t[r][0]===`0`)n.push({text:t[r].substring(1).replace(/\x03/g,`$$`)});else{var o=parseInt(t[r][0],10);a.setfont[o]?n.push({font:a.setfont[o],text:t[r].substring(1).replace(/\x03/g,`$$`)}):n[n.length-1].text+=`$`+t[r].replace(/\x03/g,`$$`)}return n}return e.replace(/\x03/g,`$$`)};var C=[`auto`,`above`,`below`,`hidden`];r.addDirective=function(l){var u=e.tokenize(l,0,l.length);if(u.length===0||u[0].type!==`alpha`)return null;var d=l.substring(l.indexOf(u[0].token)+u[0].token.length);d=e.stripComment(d);var f=u.shift().token.toLowerCase(),p=``,m;switch(f){case`bagpipes`:o.formatting.bagpipes=!0;break;case`flatbeams`:o.formatting.flatbeams=!0;break;case`jazzchords`:o.formatting.jazzchords=!0;break;case`accentAbove`:o.formatting.accentAbove=!0;break;case`germanAlphabet`:o.formatting.germanAlphabet=!0;break;case`landscape`:a.landscape=!0;break;case`papersize`:a.papersize=d;break;case`graceslurs`:if(u.length!==1)return`Directive graceslurs requires one parameter: 0 or 1`;if(u[0].token===`0`||u[0].token===`false`)o.formatting.graceSlurs=!1;else if(u[0].token===`1`||u[0].token===`true`)o.formatting.graceSlurs=!0;else return`Directive graceslurs requires one parameter: 0 or 1 (received `+u[0].token+`)`;break;case`lineThickness`:var h=parseStretchLast(u);if(h.value!==void 0&&(o.formatting.lineThickness=h.value),h.error)return h.error;break;case`stretchlast`:var g=parseStretchLast(u);if(g.value!==void 0&&(o.formatting.stretchlast=g.value),g.error)return g.error;break;case`titlecaps`:a.titlecaps=!0;break;case`titleleft`:o.formatting.titleleft=!0;break;case`measurebox`:o.formatting.measurebox=!0;break;case`vocal`:return addMultilineVarOneParamChoice(`vocalPosition`,f,u,C);case`dynamic`:return addMultilineVarOneParamChoice(`dynamicPosition`,f,u,C);case`gchord`:return addMultilineVarOneParamChoice(`chordPosition`,f,u,C);case`ornament`:return addMultilineVarOneParamChoice(`ornamentPosition`,f,u,C);case`volume`:return addMultilineVarOneParamChoice(`volumePosition`,f,u,C);case`botmargin`:case`botspace`:case`composerspace`:case`indent`:case`leftmargin`:case`linesep`:case`musicspace`:case`partsspace`:case`pageheight`:case`pagewidth`:case`rightmargin`:case`stafftopmargin`:case`staffsep`:case`staffwidth`:case`subtitlespace`:case`sysstaffsep`:case`systemsep`:case`textspace`:case`titlespace`:case`topmargin`:case`topspace`:case`vocalspace`:case`wordsspace`:return oneParameterMeasurement(f,u);case`voicescale`:if(u.length!==1||u[0].type!==`number`)return`voicescale requires one float as a parameter`;var _=u.shift();return a.currentVoice&&(a.currentVoice.scale=_.floatt,c.changeVoiceScale(a.currentVoice.scale)),null;case`voicecolor`:if(u.length!==1)return`voicecolor requires one string as a parameter`;var y=u.shift();return a.currentVoice&&(a.currentVoice.color=y.token,c.changeVoiceColor(a.currentVoice.color)),null;case`vskip`:var b=Math.round(getRequiredMeasurement(f,u));return b.error?b.error:(c.addSpacing(b),null);case`scale`:setScale(f,u);break;case`sep`:if(u.length===0)c.addSeparator(14,14,85,{startChar:a.iChar,endChar:a.iChar+5});else{var x=e.getMeasurement(u);if(x.used===0)return`Directive "`+f+`" requires 3 numbers: space above, space below, length of line`;var S=x.value;if(x=e.getMeasurement(u),x.used===0)return`Directive "`+f+`" requires 3 numbers: space above, space below, length of line`;var w=x.value;if(x=e.getMeasurement(u),x.used===0||u.length!==0)return`Directive "`+f+`" requires 3 numbers: space above, space below, length of line`;var T=x.value;c.addSeparator(S,w,T,{startChar:a.iChar,endChar:a.iChar+d.length})}break;case`barsperstaff`:if(p=addMultilineVar(`barsperstaff`,f,u),p!==null)return p;break;case`staffnonote`:if(u.length!==1)return`Directive staffnonote requires one parameter: 0 or 1`;if(u[0].token===`0`)a.staffnonote=!0;else if(u[0].token===`1`)a.staffnonote=!1;else return`Directive staffnonote requires one parameter: 0 or 1 (received `+u[0].token+`)`;break;case`printtempo`:if(p=addMultilineVarBool(`printTempo`,f,u),p!==null)return p;break;case`partsbox`:if(p=addMultilineVarBool(`partsBox`,f,u),p!==null)return p;a.partsfont.box=a.partsBox;break;case`freegchord`:if(p=addMultilineVarBool(`freegchord`,f,u),p!==null)return p;break;case`measurenb`:case`barnumbers`:if(p=addMultilineVar(`barNumbers`,f,u),p!==null)return p;break;case`setbarnb`:if(u.length!==1||u[0].type!==`number`)return`Directive setbarnb requires a number as a parameter.`;a.currBarNumber=c.setBarNumberImmediate(u[0].intt);break;case`begintext`:var E=``;for(m=e.nextLine();m&&m.indexOf(`%%endtext`)!==0;)n.startsWith(m,`%%`)?E+=m.substring(2)+`
2
2
  `:E+=m+`
3
3
  `,m=e.nextLine();c.addText(E,{startChar:a.iChar,endChar:a.iChar+E.length+7});break;case`continueall`:a.continueall=!0;break;case`beginps`:for(m=e.nextLine();m&&m.indexOf(`%%endps`)!==0;)e.nextLine();t(`Postscript ignored`,l,0);break;case`deco`:d.length>0&&a.ignoredDecorations.push(d.substring(0,d.indexOf(` `))),t(`Decoration redefinition ignored`,l,0);break;case`text`:var D=e.translateString(d);c.addText(r.parseFontChangeLine(D),{startChar:a.iChar,endChar:a.iChar+d.length+7});break;case`center`:var O=e.translateString(d);c.addCentered(r.parseFontChangeLine(O));break;case`font`:break;case`setfont`:var k=e.tokenize(d,0,d.length);if(k.length>=4&&k[0].token===`-`&&k[1].type===`number`){var A=parseInt(k[1].token);A>=1&&A<=9&&(a.setfont||=[],k.shift(),k.shift(),a.setfont[A]=getFontParameter(k,a.setfont[A],l,0,`setfont`))}break;case`gchordfont`:case`partsfont`:case`tripletfont`:case`vocalfont`:case`textfont`:case`annotationfont`:case`historyfont`:case`infofont`:case`measurefont`:case`repeatfont`:case`wordsfont`:return getChangingFont(f,u,l);case`composerfont`:case`subtitlefont`:case`tempofont`:case`titlefont`:case`voicefont`:case`footerfont`:case`headerfont`:return getGlobalFont(f,u,l);case`barlabelfont`:case`barnumberfont`:case`barnumfont`:return getChangingFont(`measurefont`,u,l);case`staves`:case`score`:a.score_is_present=!0;for(var addVoice=function(e,t,r,o,c){(t||a.staves.length===0)&&a.staves.push({index:a.staves.length,numVoices:0});var l=n.last(a.staves);r!==void 0&&l.bracket===void 0&&(l.bracket=r),o!==void 0&&l.brace===void 0&&(l.brace=o),c&&(l.connectBarLines=`end`),a.voices[e]===void 0&&(a.voices[e]={staffNum:l.index,index:l.numVoices},l.numVoices++)},j=!1,M=!1,N=!1,P=!1,F=!1,I=!1,L=!1,R,addContinueBar=function(){if(L=!0,R){var e=`start`;R.staffNum>0&&(a.staves[R.staffNum-1].connectBarLines===`start`||a.staves[R.staffNum-1].connectBarLines===`continue`)&&(e=`continue`),a.staves[R.staffNum].connectBarLines=e}};u.length;){var z=u.shift();switch(z.token){case`(`:j?t(`Can't nest parenthesis in %%score`,l,z.start):(j=!0,P=!0);break;case`)`:!j||P?t(`Unexpected close parenthesis in %%score`,l,z.start):j=!1;break;case`[`:M?t(`Can't nest brackets in %%score`,l,z.start):(M=!0,F=!0);break;case`]`:!M||F?t(`Unexpected close bracket in %%score`,l,z.start):(M=!1,a.staves[R.staffNum].bracket=`end`);break;case`{`:N?t(`Can't nest braces in %%score`,l,z.start):(N=!0,I=!0);break;case`}`:!N||I?t(`Unexpected close brace in %%score`,l,z.start):(N=!1,a.staves[R.staffNum].brace=`end`);break;case`|`:addContinueBar();break;default:for(var B=``;(z.type===`alpha`||z.type===`number`)&&(B+=z.token,z.continueId);)z=u.shift();addVoice(B,!j||P,F?`start`:M?`continue`:void 0,I?`start`:N?`continue`:void 0,L),P=!1,F=!1,I=!1,L=!1,R=a.voices[B],f===`staves`&&addContinueBar();break}}break;case`newpage`:var V=e.getInt(d);c.addNewPage(V.digits===0?-1:V.value);break;case`abc`:var H=d.split(` `);switch(H[0]){case`-copyright`:case`-creator`:case`-edited-by`:case`-version`:case`-charset`:var ee=H.shift();c.addMetaText(f+ee,H.join(` `),{startChar:a.iChar,endChar:a.iChar+d.length+5});break;default:return`Unknown directive: `+f+H[0]}break;case`header`:case`footer`:var U=e.getMeat(d,0,d.length);U=d.substring(U.start,U.end),U[0]===`"`&&U[U.length-1]===`"`&&(U=U.substring(1,U.length-1));var W=U.split(` `),G={};G=W.length===1?{left:``,center:W[0],right:``}:W.length===2?{left:W[0],center:W[1],right:``}:{left:W[0],center:W[1],right:W[2]},W.length>3&&t(`Too many tabs in `+f+`: `+W.length+` found.`,d,0),c.addMetaTextObj(f,G,{startChar:a.iChar,endChar:a.iChar+l.length});break;case`midi`:var K=e.tokenize(d,0,d.length,!0);K.length>0&&K[0].token===`=`&&K.shift(),K.length===0?t(`Expected midi command`,d,0):parseMidiCommand(K,o,d);break;case`percmap`:var q=interpretPercMap(d);q.error?t(q.error,l,8):(o.formatting.percmap||(o.formatting.percmap={}),o.formatting.percmap[q.key]=q.value);break;case`map`:case`playtempo`:case`auquality`:case`continuous`:case`nobarcheck`:o.formatting[f]=d;break;default:return`Unknown directive: `+f}return null},r.globalFormatting=function(n){for(var r in n)if(n.hasOwnProperty(r)){var c=``+n[r],l=e.tokenize(c,0,c.length),u;switch(r){case`titlefont`:case`gchordfont`:case`composerfont`:case`footerfont`:case`headerfont`:case`historyfont`:case`infofont`:case`measurefont`:case`partsfont`:case`repeatfont`:case`subtitlefont`:case`tempofont`:case`textfont`:case`voicefont`:case`tripletfont`:case`vocalfont`:case`wordsfont`:case`annotationfont`:case`tablabelfont`:case`tabnumberfont`:case`tabgracefont`:getChangingFont(r,l,c);break;case`scale`:setScale(r,l);break;case`partsbox`:u=addMultilineVarBool(`partsBox`,r,l),u!==null&&t(u),a.partsfont.box=a.partsBox;break;case`freegchord`:u=addMultilineVarBool(`freegchord`,r,l),u!==null&&t(u);break;case`fontboxpadding`:(l.length!==1||l[0].type!==`number`)&&t(`Directive "`+r+`" requires a number as a parameter.`),o.formatting.fontboxpadding=l[0].floatt;break;case`stafftopmargin`:(l.length!==1||l[0].type!==`number`)&&t(`Directive "`+r+`" requires a number as a parameter.`),o.formatting.stafftopmargin=l[0].floatt;break;case`stretchlast`:var d=parseStretchLast(l);if(d.value!==void 0&&(o.formatting.stretchlast=d.value),d.error)return d.error;break;default:t(`Formatting directive unrecognized: `,r,0)}}};function parseStretchLast(e){if(e.length===0)return{value:1};if(e.length===1){if(e[0].type===`number`){if(e[0].floatt>=0||e[0].floatt<=1)return{value:e[0].floatt}}else if(e[0].token===`false`)return{value:0};else if(e[0].token===`true`)return{value:1}}return{error:`Directive stretchlast requires zero or one parameter: false, true, or number between 0 and 1 (received `+e[0].token+`)`}}})(),t.exports=r})),f=e.n(((e,t)=>{var n={},r=`C,,,.D,,,.E,,,.F,,,.G,,,.A,,,.B,,,.C,,.D,,.E,,.F,,.G,,.A,,.B,,.C,.D,.E,.F,.G,.A,.B,.C.D.E.F.G.A.B.c.d.e.f.g.a.b.c'.d'.e'.f'.g'.a'.b'.c''.d''.e''.f''.g''.a''.b''.c'''.d'''.e'''.f'''.g'''.a'''.b'''`.split(`.`);n.pitchIndex=function(e){return r.indexOf(e)},n.noteName=function(e){return r[e]},t.exports=n})),p=e.n(((e,t)=>{var n=[`C`,`C♯`,`D`,`D♯`,`E`,`F`,`F♯`,`G`,`G♯`,`A`,`A♯`,`B`],r=[`C`,`D♭`,`D`,`E♭`,`E`,`F`,`G♭`,`G`,`A♭`,`A`,`B♭`,`B`],a=[`C`,`C#`,`D`,`D#`,`E`,`F`,`F#`,`G`,`G#`,`A`,`A#`,`B`],o=[`C`,`Db`,`D`,`Eb`,`E`,`F`,`Gb`,`G`,`Ab`,`A`,`Bb`,`B`];function transposeChordName(e,t,c,l){if(!t||t%12==0)return e;for(;t<0;)t+=12;t>11&&(t%=12);var u=e.match(/^([A-G][b#♭♯]?)([^\/]+)?\/?([A-G][b#♭♯]?)?(.+)?/);if(!u)return e;var d=u[1],f=u[2],p=u[3],m=u[4],h=n.indexOf(d);if(h<0&&(h=r.indexOf(d)),h<0&&(h=a.indexOf(d)),h<0&&(h=o.indexOf(d)),h<0)return e;if(h+=t,h%=12,e=c?l?o[h]:r[h]:l?a[h]:n[h],f&&(e+=f),p){var h=n.indexOf(p);h<0&&(h=r.indexOf(p)),h<0&&(h=a.indexOf(p)),h<0&&(h=o.indexOf(p)),e+=`/`,h>=0?(h+=t,h%=12,c?l?e+=o[h]:e+=r[h]:l?e+=a[h]:e+=n[h]):e+=p}return m&&(e+=m),e}t.exports=transposeChordName})),m=e.n(((e,t)=>{var n={C:{modes:[`CMaj`,`Amin`,`Am`,`GMix`,`DDor`,`EPhr`,`FLyd`,`BLoc`],stepsFromC:0},Db:{modes:[`DbMaj`,`Bbmin`,`Bbm`,`AbMix`,`EbDor`,`FPhr`,`GbLyd`,`CLoc`],stepsFromC:1},D:{modes:[`DMaj`,`Bmin`,`Bm`,`AMix`,`EDor`,`F#Phr`,`GLyd`,`C#Loc`],stepsFromC:2},Eb:{modes:[`EbMaj`,`Cmin`,`Cm`,`BbMix`,`FDor`,`GPhr`,`AbLyd`,`DLoc`],stepsFromC:3},E:{modes:[`EMaj`,`C#min`,`C#m`,`BMix`,`F#Dor`,`G#Phr`,`ALyd`,`D#Loc`],stepsFromC:4},F:{modes:[`FMaj`,`Dmin`,`Dm`,`CMix`,`GDor`,`APhr`,`BbLyd`,`ELoc`],stepsFromC:5},Gb:{modes:[`GbMaj`,`Ebmin`,`Ebm`,`DbMix`,`AbDor`,`BbPhr`,`CbLyd`,`FLoc`],stepsFromC:6},G:{modes:[`GMaj`,`Emin`,`Em`,`DMix`,`ADor`,`BPhr`,`CLyd`,`F#Loc`],stepsFromC:7},Ab:{modes:[`AbMaj`,`Fmin`,`Fm`,`EbMix`,`BbDor`,`CPhr`,`DbLyd`,`GLoc`],stepsFromC:8},A:{modes:[`AMaj`,`F#min`,`F#m`,`EMix`,`BDor`,`C#Phr`,`DLyd`,`G#Loc`],stepsFromC:9},Bb:{modes:[`BbMaj`,`Gmin`,`Gm`,`FMix`,`CDor`,`DPhr`,`EbLyd`,`ALoc`],stepsFromC:10},B:{modes:[`BMaj`,`G#min`,`G#m`,`F#Mix`,`C#Dor`,`D#Phr`,`ELyd`,`A#Loc`],stepsFromC:11},"C#":{modes:[`C#Maj`,`A#min`,`A#m`,`G#Mix`,`D#Dor`,`E#Phr`,`F#Lyd`,`B#Loc`],stepsFromC:1},"F#":{modes:[`F#Maj`,`D#min`,`D#m`,`C#Mix`,`G#Dor`,`A#Phr`,`BLyd`,`E#Loc`],stepsFromC:6},Cb:{modes:[`CbMaj`,`Abmin`,`Abm`,`GbMix`,`DbDor`,`EbPhr`,`FbLyd`,`BbLoc`],stepsFromC:11}},r=null;function createKeyReverse(){r={};for(var e=Object.keys(n),t=0;t<e.length;t++){var a=n[e[t]];r[e[t].toLowerCase()]=e[t];for(var o=0;o<a.modes.length;o++){var c=a.modes[o].toLowerCase();r[c]=e[t]}}}function relativeMajor(e){r||createKeyReverse();var t=e.toLowerCase().match(/([a-g][b#]?)(maj|min|mix|dor|phr|lyd|loc|m)?/);return!t||!t[2]?e:(t=t[1]+t[2],r[t]||e)}function relativeMode(e,t){var r=n[e];if(!r||t===``)return e;var a=t.toLowerCase().match(/^(maj|min|mix|dor|phr|lyd|loc|m)/);if(!a)return e;for(var o=a[1],c=0;c<r.modes.length;c++){var l=r.modes[c],u=l.toLowerCase().indexOf(o);if(u!==-1&&u===l.length-o.length)return l.substring(0,l.length-o.length)}return e}function transposeKey(e,t){var r=n[e];if(!r)return e;for(;t<0;)t+=12;for(var a=(r.stepsFromC+t)%12,o=0;o<Object.keys(n).length;o++){var c=Object.keys(n)[o];if(n[c].stepsFromC===a)return c}return e}t.exports={relativeMajor,relativeMode,transposeKey}})),h=e.n(((e,t)=>{var{relativeMajor:n}=m(),r={acc:`sharp`,note:`f`},a={acc:`sharp`,note:`c`},o={acc:`sharp`,note:`g`},c={acc:`sharp`,note:`d`},l={acc:`sharp`,note:`A`},u={acc:`sharp`,note:`e`},d={acc:`sharp`,note:`B`},f={acc:`flat`,note:`B`},p={acc:`flat`,note:`e`},h={acc:`flat`,note:`A`},g={acc:`flat`,note:`d`},_={acc:`flat`,note:`G`},y={acc:`flat`,note:`c`},b={acc:`flat`,note:`F`},x={"C#":[r,a,o,c,l,u,d],"F#":[r,a,o,c,l,u],B:[r,a,o,c,l],E:[r,a,o,c],A:[r,a,o],D:[r,a],G:[r],C:[],F:[f],Bb:[f,p],Eb:[f,p,h],Cm:[f,p,h],Ab:[f,p,h,g],Db:[f,p,h,g,_],Gb:[f,p,h,g,_,y],Cb:[f,p,h,g,_,y,b],"A#":[f,p],"B#":[],"D#":[f,p,h],"E#":[f],"G#":[f,p,h,g],none:[]};function keyAccidentals(e){var t=x[n(e)];return t?JSON.parse(JSON.stringify(t)):null}t.exports=keyAccidentals})),g=e.n(((e,t)=>{var n=f(),r=p(),a=h(),o={},c={C:0,"C#":1,Db:1,D:2,"D#":3,Eb:3,E:4,F:5,"F#":6,Gb:6,G:7,"G#":8,Ab:8,A:9,"A#":10,Bb:10,B:11},l=[`C`,`Db`,`D`,`Eb`,`E`,`F`,`F#`,`G`,`Ab`,`A`,`Bb`,`B`],u=[`C`,`C#`,`D`,`D#`,`E`,`F`,`F#`,`G`,`G#`,`A`,`Bb`,`B`];o.keySignature=function(e,t,n,r,o){if(e.clef.type===`perc`||e.clef.type===`none`)return{accidentals:a(t),root:n,acc:r};o||=0,e.localTransposeVerticalMovement=0,e.localTransposePreferFlats=!1;var d=a(t);if(!d)return e.key;if(e.localTranspose=(e.globalTranspose?e.globalTranspose:0)+o,!e.localTranspose)return{accidentals:d,root:n,acc:r};if(e.globalTransposeOrigKeySig=d,e.localTranspose%12==0)return e.localTransposeVerticalMovement=e.localTranspose/12*7,{accidentals:d,root:n,acc:r};var f=t[0];t[1]===`b`||t[1]===`#`?(f+=t[1],t=t.substr(2)):t=t.substr(1);var p=c[f],m=p!==void 0;m||(p=0,f=`C`,t=``);for(var h=p+e.localTranspose;h<0;)h+=12;h>11&&(h%=12);var g=t[0]===`m`?u[h]:l[h],_=g+t,y=a(_);y.length>0&&y[0].acc===`flat`&&(e.localTransposePreferFlats=!0);var b=_.charCodeAt(0)-f.charCodeAt(0);return e.localTranspose>0?(b<0||b===0&&(f[1]===`#`||_[1]===`b`))&&(b+=7):e.localTranspose<0&&(b>0||b===0&&(f[1]===`b`||_[1]===`#`))&&(b-=7),e.localTranspose>0?e.localTransposeVerticalMovement=b+Math.floor(e.localTranspose/12)*7:e.localTransposeVerticalMovement=b+Math.ceil(e.localTranspose/12)*7,m?{accidentals:y,root:g[0],acc:g.length>1?g[1]:``}:{accidentals:[],root:n,acc:r}},o.chordName=function(e,t){return r(t,e.localTranspose,e.localTransposePreferFlats,e.freegchord)};var d=[`c`,`d`,`e`,`f`,`g`,`a`,`b`];function accidentalChange(e,t,n,r,a){for(var o=d[(e+49)%7],c=0,l=0;l<r.length;l++)r[l].note.toLowerCase()===o&&(c=m[r[l].acc]);for(var u=m[n]-c,f=d[(t+49)%7],p=0,h=0;h<a.accidentals.length;h++)a.accidentals[h].note.toLowerCase()===f&&(p=m[a.accidentals[h].acc]);var g=u+p;return g<-2&&(t--,g+=f===`c`||f===`f`?1:2),g>2&&(t++,g-=f===`b`||f===`e`?1:2),[t,g]}var m={dblflat:-2,flat:-1,natural:0,sharp:1,dblsharp:2},g={"-2":`dblflat`,"-1":`flat`,0:`natural`,1:`sharp`,2:`dblsharp`},_={"-2":`__`,"-1":`_`,0:`=`,1:`^`,2:`^^`};o.note=function(e,t){if(!(!e.localTranspose||e.clef.type===`perc`)){var r=t.pitch;if(e.localTransposeVerticalMovement&&(t.pitch+=e.localTransposeVerticalMovement,t.name)){var a=t.accidental?t.name.substring(1):t.name,o=t.accidental?t.name[0]:``,c=n.pitchIndex(a);t.name=o+n.noteName(c+e.localTransposeVerticalMovement)}if(t.accidental){var l=accidentalChange(r,t.pitch,t.accidental,e.globalTransposeOrigKeySig,e.targetKey);t.pitch=l[0],t.accidental=g[l[1]],t.name&&=_[l[1]]+t.name.replace(/[_^=]/g,``)}}},t.exports=o})),_=e.n(((e,t)=>{var n=d(),r=g(),a={};(function(){var e,t,o,c;a.initialize=function(n,r,a,l,u){e=n,t=r,o=a,c=u},a.standardKey=function(e,t,n,a){return r.keySignature(o,e,t,n,a)};var l={treble:{clef:`treble`,pitch:4,mid:0},"treble+8":{clef:`treble+8`,pitch:4,mid:0},"treble-8":{clef:`treble-8`,pitch:4,mid:0},"treble^8":{clef:`treble+8`,pitch:4,mid:0},treble_8:{clef:`treble-8`,pitch:4,mid:0},treble1:{clef:`treble`,pitch:2,mid:2},treble2:{clef:`treble`,pitch:4,mid:0},treble3:{clef:`treble`,pitch:6,mid:-2},treble4:{clef:`treble`,pitch:8,mid:-4},treble5:{clef:`treble`,pitch:10,mid:-6},perc:{clef:`perc`,pitch:6,mid:0},none:{clef:`none`,mid:0},bass:{clef:`bass`,pitch:8,mid:-12},"bass+8":{clef:`bass+8`,pitch:8,mid:-12},"bass-8":{clef:`bass-8`,pitch:8,mid:-12},"bass^8":{clef:`bass+8`,pitch:8,mid:-12},bass_8:{clef:`bass-8`,pitch:8,mid:-12},"bass+16":{clef:`bass`,pitch:8,mid:-12},"bass-16":{clef:`bass`,pitch:8,mid:-12},"bass^16":{clef:`bass`,pitch:8,mid:-12},bass_16:{clef:`bass`,pitch:8,mid:-12},bass1:{clef:`bass`,pitch:2,mid:-6},bass2:{clef:`bass`,pitch:4,mid:-8},bass3:{clef:`bass`,pitch:6,mid:-10},bass4:{clef:`bass`,pitch:8,mid:-12},bass5:{clef:`bass`,pitch:10,mid:-14},tenor:{clef:`alto`,pitch:8,mid:-8},tenor1:{clef:`alto`,pitch:2,mid:-2},tenor2:{clef:`alto`,pitch:4,mid:-4},tenor3:{clef:`alto`,pitch:6,mid:-6},tenor4:{clef:`alto`,pitch:8,mid:-8},tenor5:{clef:`alto`,pitch:10,mid:-10},alto:{clef:`alto`,pitch:6,mid:-6},alto1:{clef:`alto`,pitch:2,mid:-2},alto2:{clef:`alto`,pitch:4,mid:-4},alto3:{clef:`alto`,pitch:6,mid:-6},alto4:{clef:`alto`,pitch:8,mid:-8},alto5:{clef:`alto`,pitch:10,mid:-10},"alto+8":{clef:`alto+8`,pitch:6,mid:-6},"alto-8":{clef:`alto-8`,pitch:6,mid:-6},"alto^8":{clef:`alto+8`,pitch:6,mid:-6},alto_8:{clef:`alto-8`,pitch:6,mid:-6}},calcMiddle=function(e,t){var n=l[e];return(n?n.mid:0)+t};a.fixClef=function(e){var t=l[e.type];t&&(e.clefPos=t.pitch,e.type=t.clef)},a.deepCopyKey=function(e){var t={accidentals:[],root:e.root,acc:e.acc,mode:e.mode};return e.accidentals.forEach(function(e){t.accidentals.push(Object.assign({},e))}),t};var u={A:5,B:6,C:0,D:1,E:2,F:3,G:4,a:12,b:13,c:7,d:8,e:9,f:10,g:11};a.addPosToKey=function(e,t){var n=e.verticalPos;t.accidentals.forEach(function(e){var t=u[e.note];t-=n,e.verticalPos=t}),t.impliedNaturals&&t.impliedNaturals.forEach(function(e){var t=u[e.note];t-=n,e.verticalPos=t}),n<-10?(t.accidentals.forEach(function(e){e.verticalPos-=7,(e.verticalPos>=11||e.verticalPos===10&&e.acc===`flat`)&&(e.verticalPos-=7),e.note===`A`&&e.acc===`sharp`&&(e.verticalPos-=7),(e.note===`G`||e.note===`F`)&&e.acc===`flat`&&(e.verticalPos-=7)}),t.impliedNaturals&&t.impliedNaturals.forEach(function(e){e.verticalPos-=7,(e.verticalPos>=11||e.verticalPos===10&&e.acc===`flat`)&&(e.verticalPos-=7),e.note===`A`&&e.acc===`sharp`&&(e.verticalPos-=7),(e.note===`G`||e.note===`F`)&&e.acc===`flat`&&(e.verticalPos-=7)})):n<-4?(t.accidentals.forEach(function(e){e.verticalPos-=7,n===-8&&(e.note===`f`||e.note===`g`)&&e.acc===`sharp`&&(e.verticalPos-=7)}),t.impliedNaturals&&t.impliedNaturals.forEach(function(e){e.verticalPos-=7,n===-8&&(e.note===`f`||e.note===`g`)&&e.acc===`sharp`&&(e.verticalPos-=7)})):n>=7&&(t.accidentals.forEach(function(e){e.verticalPos+=7}),t.impliedNaturals&&t.impliedNaturals.forEach(function(e){e.verticalPos+=7}))},a.fixKey=function(e,t){var n=Object.assign({},t);return a.addPosToKey(e,n),n};var parseMiddle=function(e){var t=0,n=e[t++];(n===`^`||n===`_`)&&(n=e[t++]);var r=u[n];for(r===void 0&&(r=6);t<e.length;t++)if(e[t]===`,`)r-=7;else if(e[t]===`'`)r+=7;else break;return{mid:r-6,str:e.substring(t)}},normalizeAccidentals=function(e){for(var t=0;t<e.length;t++)e[t].note===`b`?e[t].note=`B`:e[t].note===`a`?e[t].note=`A`:e[t].note===`F`?e[t].note=`f`:e[t].note===`E`?e[t].note=`e`:e[t].note===`D`?e[t].note=`d`:e[t].note===`C`?e[t].note=`c`:e[t].note===`G`&&e[t].acc===`sharp`?e[t].note=`g`:e[t].note===`g`&&e[t].acc===`flat`&&(e[t].note=`G`)};a.parseKey=function(r,c){r.length===0&&(r=`none`);var l=e.tokenize(r,0,r.length),u={};if(l.length===0)return t(`Must pass in key signature.`,r,0),u;switch(l[0].token){case`HP`:n.addDirective(`bagpipes`),o.key={root:`HP`,accidentals:[],acc:``,mode:``},u.foundKey=!0,l.shift();break;case`Hp`:n.addDirective(`bagpipes`),o.key={root:`Hp`,accidentals:[{acc:`natural`,note:`g`},{acc:`sharp`,note:`f`},{acc:`sharp`,note:`c`}],acc:``,mode:``},u.foundKey=!0,l.shift();break;case`none`:o.key={root:`none`,accidentals:[],acc:``,mode:``},u.foundKey=!0,l.shift();break;default:var d=e.getKeyPitch(l[0].token);if(d.len>0){u.foundKey=!0;var f=``,p=``;l[0].token.length>1?l[0].token=l[0].token.substring(1):l.shift();var m=d.token;if(l.length>0){var h=e.getSharpFlat(l[0].token);if(h.len>0&&(l[0].token.length>1?l[0].token=l[0].token.substring(1):l.shift(),m+=h.token,f=h.token),l.length>0){var g=e.getMode(l[0].token);g.len>0&&(l.shift(),m+=g.token,p=g.token)}if(a.standardKey(m,d.token,f,0)===void 0)return t(`Unsupported key signature: `+m,r,0),u}var _=a.deepCopyKey(o.key),y=!c&&o.globalTranspose?-o.globalTranspose:0,b;if(c&&(b=o.globalTransposeOrigKeySig),o.key=a.deepCopyKey(a.standardKey(m,d.token,f,y)),c&&(o.globalTransposeOrigKeySig=b),o.key.mode=p,_){for(var x,S=0;S<o.key.accidentals.length;S++)for(x=0;x<_.accidentals.length;x++)_.accidentals[x].note&&o.key.accidentals[S].note.toLowerCase()===_.accidentals[x].note.toLowerCase()&&(_.accidentals[x].note=null);for(x=0;x<_.accidentals.length;x++)_.accidentals[x].note&&(o.key.impliedNaturals||(o.key.impliedNaturals=[]),o.key.impliedNaturals.push({acc:`natural`,note:_.accidentals[x].note}))}}break}if(l.length===0||(l[0].token===`exp`&&l.shift(),l.length===0)||(l[0].token===`oct`&&l.shift(),l.length===0))return u;var C=e.getKeyAccidentals2(l);if(C.warn&&t(C.warn,r,0),C.accs){u.foundKey||(u.foundKey=!0,o.key={root:`none`,acc:``,mode:``,accidentals:[]}),normalizeAccidentals(C.accs);for(var w=0;w<C.accs.length;w++){for(var T=!1,E=0;E<o.key.accidentals.length&&!T;E++)o.key.accidentals[E].note===C.accs[w].note&&(T=!0,o.key.accidentals[E].acc!==C.accs[w].acc&&(o.key.accidentals[E].acc=C.accs[w].acc,o.key.explicitAccidentals||(o.key.explicitAccidentals=[]),o.key.explicitAccidentals.push(C.accs[w])));if(!T&&(o.key.explicitAccidentals||(o.key.explicitAccidentals=[]),o.key.explicitAccidentals.push(C.accs[w]),o.key.accidentals.push(C.accs[w]),o.key.impliedNaturals))for(var D=0;D<o.key.impliedNaturals.length;D++)o.key.impliedNaturals[D].note===C.accs[w].note&&o.key.impliedNaturals.splice(D,1)}}for(var O;l.length>0;)switch(l[0].token){case`m`:case`middle`:if(l.shift(),l.length===0)return t(`Expected = after middle`,r,0),u;if(O=l.shift(),O.token!==`=`){t(`Expected = after middle`,r,O.start);break}if(l.length===0)return t(`Expected parameter after middle=`,r,0),u;var k=e.getPitchFromTokens(l);k.warn&&t(k.warn,r,0),k.position&&(o.clef.verticalPos=k.position-6);break;case`transpose`:if(l.shift(),l.length===0)return t(`Expected = after transpose`,r,0),u;if(O=l.shift(),O.token!==`=`){t(`Expected = after transpose`,r,O.start);break}if(l.length===0)return t(`Expected parameter after transpose=`,r,0),u;if(l[0].type!==`number`){t(`Expected number after transpose`,r,l[0].start);break}o.clef.transpose=l[0].intt,l.shift();break;case`stafflines`:if(l.shift(),l.length===0)return t(`Expected = after stafflines`,r,0),u;if(O=l.shift(),O.token!==`=`){t(`Expected = after stafflines`,r,O.start);break}if(l.length===0)return t(`Expected parameter after stafflines=`,r,0),u;if(l[0].type!==`number`){t(`Expected number after stafflines`,r,l[0].start);break}o.clef.stafflines=l[0].intt,l.shift();break;case`staffscale`:if(l.shift(),l.length===0)return t(`Expected = after staffscale`,r,0),u;if(O=l.shift(),O.token!==`=`){t(`Expected = after staffscale`,r,O.start);break}if(l.length===0)return t(`Expected parameter after staffscale=`,r,0),u;if(l[0].type!==`number`){t(`Expected number after staffscale`,r,l[0].start);break}o.clef.staffscale=l[0].floatt,l.shift();break;case`octave`:if(l.shift(),l.length===0)return t(`Expected = after octave`,r,0),u;if(O=l.shift(),O.token!==`=`){t(`Expected = after octave`,r,O.start);break}if(l.length===0)return t(`Expected parameter after octave=`,r,0),u;if(l[0].type!==`number`){t(`Expected number after octave`,r,l[0].start);break}o.octave=l[0].intt,l.shift();break;case`style`:if(l.shift(),l.length===0)return t(`Expected = after style`,r,0),u;if(O=l.shift(),O.token!==`=`){t(`Expected = after style`,r,O.start);break}if(l.length===0)return t(`Expected parameter after style=`,r,0),u;switch(l[0].token){case`normal`:case`harmonic`:case`rhythm`:case`x`:case`triangle`:o.style=l[0].token,l.shift();break;default:t(`error parsing style element: `+l[0].token,r,l[0].start);break}break;case`clef`:if(l.shift(),l.length===0)return t(`Expected = after clef`,r,0),u;if(O=l.shift(),O.token!==`=`){t(`Expected = after clef`,r,O.start);break}if(l.length===0)return t(`Expected parameter after clef=`,r,0),u;case`treble`:case`bass`:case`alto`:case`tenor`:case`perc`:case`none`:var A=l.shift();switch(A.token){case`treble`:case`tenor`:case`alto`:case`bass`:case`perc`:case`none`:break;case`C`:A.token=`alto`;break;case`F`:A.token=`bass`;break;case`G`:A.token=`treble`;break;case`c`:A.token=`alto`;break;case`f`:A.token=`bass`;break;case`g`:A.token=`treble`;break;default:t(`Expected clef name. Found `+A.token,r,A.start);break}l.length>0&&l[0].type===`number`&&(A.token+=l[0].token,l.shift()),l.length>1&&(l[0].token===`-`||l[0].token===`+`||l[0].token===`^`||l[0].token===`_`)&&l[1].token===`8`&&(A.token+=l[0].token+l[1].token,l.shift(),l.shift()),o.clef={type:A.token,verticalPos:calcMiddle(A.token,0)},o.currentVoice&&o.currentVoice.transpose!==void 0&&(o.clef.transpose=o.currentVoice.transpose),u.foundClef=!0;break;default:t(`Unknown parameter: `+l[0].token,r,l[0].start),l.shift()}return u};var setCurrentVoice=function(e){var t=o.voices[e];if(!(o.currentVoice&&o.currentVoice.index===t.index&&o.currentVoice.staffNum===t.staffNum))return o.currentVoice=t,c.setCurrentVoice(t.staffNum,t.index,e)};a.parseVoice=function(n,r,a){var c=e.getMeat(n,r,a),l=c.start,u=c.end,d=e.getToken(n,l,u);if(d.length===0){t(`Expected a voice id`,n,l);return}var f=!1;o.voices[d]===void 0&&(o.voices[d]={},f=!0,o.score_is_present&&t(`Can't have an unknown V: id when the %score directive is present`,n,l)),l+=d.length,l+=e.eatWhiteSpace(n,l);for(var p={startStaff:f},addNextTokenToStaffInfo=function(r){var a=e.getVoiceToken(n,l,u);a.warn===void 0?a.err===void 0?a.token.length===0&&n[l]!==`"`?t(`Expected value for `+r+` in voice`,n,l):p[r]=a.token:t(`Expected value for `+r+` in voice: `+a.err,n,l):t(`Expected value for `+r+` in voice: `+a.warn,n,l),l+=a.len},addNextTokenToVoiceInfo=function(r,a,c){var d=e.getVoiceToken(n,l,u);d.warn===void 0?d.err===void 0?d.token.length===0&&n[l]!==`"`?t(`Expected value for `+a+` in voice`,n,l):(c===`number`&&(d.token=parseFloat(d.token)),o.voices[r][a]=d.token):t(`Expected value for `+a+` in voice: `+d.err,n,l):t(`Expected value for `+a+` in voice: `+d.warn,n,l),l+=d.len},getNextToken=function(r,a){var o=e.getVoiceToken(n,l,u);if(o.warn!==void 0)t(`Expected value for `+r+` in voice: `+o.warn,n,l);else if(o.err!==void 0)t(`Expected value for `+r+` in voice: `+o.err,n,l);else if(o.token.length===0&&n[l]!==`"`)t(`Expected value for `+r+` in voice`,n,l);else return a===`number`&&(o.token=parseFloat(o.token)),o.token;l+=o.len},addNextNoteTokenToVoiceInfo=function(r,a){var c={_B:2,_E:9,_b:-10,_e:-3},d=e.getVoiceToken(n,l,u);if(d.warn!==void 0)t(`Expected one of (_B, _E, _b, _e) for `+a+` in voice: `+d.warn,n,l);else if(d.token.length===0&&n[l]!==`"`)t(`Expected one of (_B, _E, _b, _e) for `+a+` in voice`,n,l);else{var f=c[d.token];f?o.voices[r][a]=f:t(`Expected one of (_B, _E, _b, _e) for `+a+` in voice`,n,l)}l+=d.len};l<u;){var m=e.getVoiceToken(n,l,u);if(l+=m.len,m.warn)t(`Error parsing voice: `+m.warn,n,l);else{var h=null;switch(m.token){case`clef`:case`cl`:addNextTokenToStaffInfo(`clef`);var g=0;p.clef!==void 0&&(p.clef=p.clef.replace(/[',]/g,``),p.clef.indexOf(`+16`)!==-1&&(g+=14,p.clef=p.clef.replace(`+16`,``)),p.verticalPos=calcMiddle(p.clef,g));break;case`treble`:case`bass`:case`tenor`:case`alto`:case`perc`:case`none`:case`treble'`:case`bass'`:case`tenor'`:case`alto'`:case`none'`:case`treble''`:case`bass''`:case`tenor''`:case`alto''`:case`none''`:case`treble,`:case`bass,`:case`tenor,`:case`alto,`:case`none,`:case`treble,,`:case`bass,,`:case`tenor,,`:case`alto,,`:case`none,,`:p.clef=m.token.replace(/[',]/g,``),p.verticalPos=calcMiddle(p.clef,0),o.voices[d].clef=m.token;break;case`staves`:case`stave`:case`stv`:addNextTokenToStaffInfo(`staves`);break;case`brace`:case`brc`:addNextTokenToStaffInfo(`brace`);break;case`bracket`:case`brk`:addNextTokenToStaffInfo(`bracket`);break;case`name`:case`nm`:addNextTokenToStaffInfo(`name`);break;case`subname`:case`sname`:case`snm`:addNextTokenToStaffInfo(`subname`);break;case`merge`:p.startStaff=!1;break;case`stem`:case`stems`:h=e.getVoiceToken(n,l,u),h.warn===void 0?h.err===void 0?h.token===`up`||h.token===`down`?o.voices[d].stem=h.token:t(`Expected up or down for voice stem`,n,l):t(`Expected value for stems in voice: `+h.err,n,l):t(`Expected value for stems in voice: `+h.warn,n,l),l+=h.len;break;case`up`:case`down`:o.voices[d].stem=m.token;break;case`middle`:case`m`:addNextTokenToStaffInfo(`verticalPos`),p.verticalPos=parseMiddle(p.verticalPos).mid;break;case`gchords`:case`gch`:o.voices[d].suppressChords=!0,h=e.getVoiceToken(n,l,u),h.token===`0`&&(l+=h.len);break;case`space`:case`spc`:addNextTokenToStaffInfo(`spacing`);break;case`scale`:addNextTokenToVoiceInfo(d,`scale`,`number`);break;case`score`:addNextNoteTokenToVoiceInfo(d,`scoreTranspose`);break;case`transpose`:addNextTokenToVoiceInfo(d,`transpose`,`number`);break;case`stafflines`:addNextTokenToVoiceInfo(d,`stafflines`,`number`);break;case`staffscale`:addNextTokenToVoiceInfo(d,`staffscale`,`number`);break;case`octave`:addNextTokenToVoiceInfo(d,`octave`,`number`);break;case`volume`:addNextTokenToVoiceInfo(d,`volume`,`number`);break;case`cue`:getNextToken(`cue`,`string`)===`on`?o.voices[d].scale=.6:o.voices[d].scale=1;break;case`style`:h=e.getVoiceToken(n,l,u),h.warn===void 0?h.err===void 0?h.token===`normal`||h.token===`harmonic`||h.token===`rhythm`||h.token===`x`||h.token===`triangle`?o.voices[d].style=h.token:t(`Expected one of [normal, harmonic, rhythm, x, triangle] for voice style`,n,l):t(`Expected value for style in voice: `+h.err,n,l):t(`Expected value for style in voice: `+h.warn,n,l),l+=h.len;break}}l+=e.eatWhiteSpace(n,l)}if((p.startStaff||o.staves.length===0)&&(o.staves.push({index:o.staves.length,meter:o.origMeter}),o.score_is_present||(o.staves[o.staves.length-1].numVoices=0)),o.voices[d].staffNum===void 0){o.voices[d].staffNum=o.staves.length-1;var _=0;for(var y in o.voices)o.voices.hasOwnProperty(y)&&o.voices[y].staffNum===o.voices[d].staffNum&&_++;o.voices[d].index=_-1}var b=o.staves[o.voices[d].staffNum];return o.score_is_present||b.numVoices++,p.clef&&(b.clef={type:p.clef,verticalPos:p.verticalPos}),p.spacing&&(b.spacing_below_offset=p.spacing),p.verticalPos&&(b.verticalPos=p.verticalPos),p.name&&(b.name?b.name.push(p.name):b.name=[p.name]),p.subname&&(b.subname?b.subname.push(p.subname):b.subname=[p.subname]),setCurrentVoice(d)}})(),t.exports=a})),y=e.n(((e,t)=>{var n=u(),r=d(),a=_(),ParseHeader=function(e,t,o,c,l){this.reset=function(e,t,n,o){a.initialize(e,t,n,o,l),r.initialize(e,t,n,o,l)},this.reset(e,t,o,c),this.setTitle=function(e,t){o.hasMainTitle?l.addSubtitle(e,{startChar:o.iChar,endChar:o.iChar+t+2}):(l.addMetaText(`title`,e,{startChar:o.iChar,endChar:o.iChar+t+2}),o.hasMainTitle=!0)},this.setMeter=function(n){if(n=e.stripComment(n),n===`C`)return o.havent_set_length===!0&&(o.default_length=.125,o.havent_set_length=!1),{type:`common_time`};if(n===`C|`)return o.havent_set_length===!0&&(o.default_length=.125,o.havent_set_length=!1),{type:`cut_time`};if(n===`o`)return o.havent_set_length===!0&&(o.default_length=.125,o.havent_set_length=!1),{type:`tempus_perfectum`};if(n===`c`)return o.havent_set_length===!0&&(o.default_length=.125,o.havent_set_length=!1),{type:`tempus_imperfectum`};if(n===`o.`)return o.havent_set_length===!0&&(o.default_length=.125,o.havent_set_length=!1),{type:`tempus_perfectum_prolatio`};if(n===`c.`)return o.havent_set_length===!0&&(o.default_length=.125,o.havent_set_length=!1),{type:`tempus_imperfectum_prolatio`};if(n.length===0||n.toLowerCase()===`none`)return o.havent_set_length===!0&&(o.default_length=.125,o.havent_set_length=!1),null;var r=e.tokenize(n,0,n.length);try{var parseNum=function(){var e={value:0,num:``},t=r.shift();for(t.token===`(`&&(t=r.shift());;){if(t.type!==`number`)throw`Expected top number of meter`;if(e.value+=parseInt(t.token),e.num+=t.token,r.length===0||r[0].token===`/`)return e;if(t=r.shift(),t.token===`)`){if(r.length===0||r[0].token===`/`)return e;throw`Unexpected paren in meter`}if(t.token!==`.`&&t.token!==`+`||(e.num+=t.token,r.length===0))throw`Expected top number of meter`;t=r.shift()}return e},parseFraction=function(){var e=parseNum();if(r.length===0)return e;var t=r.shift();if(t.token!==`/`)throw`Expected slash in meter`;if(t=r.shift(),t.type!==`number`)throw`Expected bottom number of meter`;return e.den=t.token,e.value/=parseInt(e.den),e};if(r.length===0)throw`Expected meter definition in M: line`;for(var a={type:`specified`,value:[]},c=0;;){var l=parseFraction();c+=l.value;var u={num:l.num};if(l.den!==void 0&&(u.den=l.den),a.value.push(u),r.length===0)break}return o.havent_set_length===!0&&(o.default_length=c<.75?.0625:.125,o.havent_set_length=!1),a}catch(e){t(e,n,0)}return null},this.calcTempo=function(e){var t=1/4;o.meter&&o.meter.type===`specified`?t=1/parseInt(o.meter.value[0].den):o.origMeter&&o.origMeter.type===`specified`&&(t=1/parseInt(o.origMeter.value[0].den));for(var n=0;n<e.duration;n++)e.duration[n]=t*e.duration[n];return e},this.resolveTempo=function(){o.tempo&&(this.calcTempo(o.tempo),c.metaText.tempo=o.tempo,delete o.tempo)},this.addUserDefinition=function(e,r,a){var c=e.indexOf(`=`,r);if(c===-1){t(`Need an = in a macro definition`,e,r);return}var l=n.strip(e.substring(r,c)),u=n.strip(e.substring(c+1));if(l.length!==1){t(`Macro definitions can only be one character`,e,r);return}if(`HIJKLMNOPQRSTUVWXYhijklmnopqrstuvw~`.indexOf(l)===-1){t(`Macro definitions must be H-Y, h-w, or tilde`,e,r);return}if(u.length===0){t(`Missing macro definition`,e,r);return}o.macros===void 0&&(o.macros={}),o.macros[l]=u},this.setDefaultLength=function(e,t,n){var r=e.substring(t,n).replace(/ /g,``).split(`/`);if(r.length===2){var a=parseInt(r[0]),c=parseInt(r[1]);c>0&&(o.default_length=a/c,o.havent_set_length=!1)}else r.length===1&&r[0]===`1`&&(o.default_length=1,o.havent_set_length=!1)};var u={larghissimo:20,adagissimo:24,sostenuto:28,grave:32,largo:40,lento:50,larghetto:60,adagio:68,adagietto:74,andante:80,andantino:88,"marcia moderato":84,"andante moderato":100,moderato:112,allegretto:116,"allegro moderato":120,allegro:126,animato:132,agitato:140,veloce:148,"mosso vivo":156,vivace:164,vivacissimo:172,allegrissimo:176,presto:184,prestissimo:210};this.setTempo=function(n,r,a,c){try{var l=e.tokenize(n,r,a);if(l.length===0)throw`Missing parameter in Q: field`;var d={startChar:c+r-2,endChar:c+a},f=!0,p=l.shift();if(p.type===`quote`&&(d.preString=p.token,p=l.shift(),l.length===0))return u[d.preString.toLowerCase()]&&(d.bpm=u[d.preString.toLowerCase()],d.suppressBpm=!0),{type:`immediate`,tempo:d};if(p.type===`alpha`&&p.token===`C`){if(l.length===0)throw`Missing tempo after C in Q: field`;if(p=l.shift(),p.type===`punct`&&p.token===`=`){if(l.length===0)throw`Missing tempo after = in Q: field`;if(p=l.shift(),p.type!==`number`)throw`Expected number after = in Q: field`;d.duration=[1],d.bpm=parseInt(p.token)}else if(p.type===`number`){if(d.duration=[parseInt(p.token)],l.length===0)throw`Missing = after duration in Q: field`;if(p=l.shift(),p.type!==`punct`||p.token!==`=`)throw`Expected = after duration in Q: field`;if(l.length===0)throw`Missing tempo after = in Q: field`;if(p=l.shift(),p.type!==`number`)throw`Expected number after = in Q: field`;d.bpm=parseInt(p.token)}else throw`Expected number or equal after C in Q: field`}else if(p.type===`number`){var m=parseInt(p.token);if(l.length===0||l[0].type===`quote`)d.duration=[1],d.bpm=m;else{if(f=!1,p=l.shift(),p.type!==`punct`&&p.token!==`/`||(p=l.shift(),p.type!==`number`))throw`Expected fraction in Q: field`;var h=parseInt(p.token);for(d.duration=[m/h];l.length>0&&l[0].token!==`=`&&l[0].type!==`quote`;){if(p=l.shift(),p.type!==`number`||(m=parseInt(p.token),p=l.shift(),p.type!==`punct`&&p.token!==`/`)||(p=l.shift(),p.type!==`number`))throw`Expected fraction in Q: field`;h=parseInt(p.token),d.duration.push(m/h)}if(p=l.shift(),p.type!==`punct`&&p.token!==`=`)throw`Expected = in Q: field`;if(p=l.shift(),p.type!==`number`)throw`Expected tempo in Q: field`;d.bpm=parseInt(p.token)}}else throw`Unknown value in Q: field`;if(l.length!==0&&(p=l.shift(),p.type===`quote`&&(d.postString=p.token,p=l.shift()),l.length!==0))throw`Unexpected string at end of Q: field`;return o.printTempo===!1&&(d.suppress=!0),{type:f?`delaySet`:`immediate`,tempo:d}}catch(e){return t(e,n,r),{type:`none`}}},this.letter_to_inline_header=function(n,u,d){var f=!1,p=e.eatWhiteSpace(n,u);if(u+=p,n.length>=u+5&&n[u]===`[`&&n[u+2]===`:`){var m=n.indexOf(`]`,u),h=o.iChar+u,g=o.iChar+m+1;switch(n.substring(u,u+3)){case`[I:`:var _=r.addDirective(n.substring(u+3,m));return _&&t(_,n,u),[m-u+1+p];case`[M:`:var y=this.setMeter(n.substring(u+3,m));return l.hasBeginMusic()&&y?l.appendStartingElement(`meter`,h,g,y):o.meter=y,[m-u+1+p];case`[K:`:var b=a.parseKey(n.substring(u+3,m),!0);return b.foundClef&&l.hasBeginMusic()&&l.appendStartingElement(`clef`,h,g,o.clef),b.foundKey&&l.hasBeginMusic()&&l.appendStartingElement(`key`,h,g,a.fixKey(o.clef,o.key)),[m-u+1+p];case`[P:`:var x=r.parseFontChangeLine(n.substring(u+3,m));return d||c.lines.length<=c.lineNum?o.partForNextLine={title:x,startChar:h,endChar:g}:l.appendElement(`part`,h,g,{title:x}),[m-u+1+p];case`[L:`:return this.setDefaultLength(n,u+3,m),[m-u+1+p];case`[Q:`:if(m>0){var S=this.setTempo(n,u+3,m,o.iChar);return S.type===`delaySet`?l.hasBeginMusic()?l.appendElement(`tempo`,h,g,this.calcTempo(S.tempo)):o.tempoForNextLine=[`tempo`,h,g,this.calcTempo(S.tempo)]:S.type===`immediate`&&(!d&&l.hasBeginMusic()?l.appendElement(`tempo`,h,g,S.tempo):o.tempoForNextLine=[`tempo`,h,g,S.tempo]),[m-u+1+p,n[u+1],n.substring(u+3,m)]}break;case`[V:`:if(m>0)return f=a.parseVoice(n,u+3,m),[m-u+1+p,n[u+1],n.substring(u+3,m),f];break;case`[r:`:return[m-u+1+p];default:}}return[0]},this.letter_to_body_header=function(e,c){var u=!1;if(e.length>=c+3)switch(e.substring(c,c+2)){case`I:`:var d=r.addDirective(e.substring(c+2));return d&&t(d,e,c),[e.length];case`M:`:var f=this.setMeter(e.substring(c+2));return l.hasBeginMusic()&&f&&l.appendStartingElement(`meter`,o.iChar+c,o.iChar+e.length,f),[e.length];case`K:`:var p=a.parseKey(e.substring(c+2),l.hasBeginMusic());return p.foundClef&&l.hasBeginMusic()&&l.appendStartingElement(`clef`,o.iChar+c,o.iChar+e.length,o.clef),p.foundKey&&l.hasBeginMusic()&&l.appendStartingElement(`key`,o.iChar+c,o.iChar+e.length,a.fixKey(o.clef,o.key)),[e.length];case`P:`:return l.hasBeginMusic()&&l.appendElement(`part`,o.iChar+c,o.iChar+e.length,{title:e.substring(c+2)}),[e.length];case`L:`:return this.setDefaultLength(e,c+2,e.length),[e.length];case`Q:`:var m=e.indexOf(``,c+2);m===-1&&(m=e.length);var h=this.setTempo(e,c+2,m,o.iChar);return h.type===`delaySet`?l.appendElement(`tempo`,o.iChar+c,o.iChar+e.length,this.calcTempo(h.tempo)):h.type===`immediate`&&l.appendElement(`tempo`,o.iChar+c,o.iChar+e.length,h.tempo),[m,e[c],n.strip(e.substring(c+2))];case`V:`:return u=a.parseVoice(e,c+2,e.length),[e.length,e[c],n.strip(e.substring(c+2)),u];default:}return[0]};var d={A:`author`,B:`book`,C:`composer`,D:`discography`,F:`url`,G:`group`,I:`instruction`,N:`notes`,O:`origin`,R:`rhythm`,S:`source`,W:`unalignedWords`,Z:`transcription`};this.parseHeader=function(n){var u=d[n[0]],f=n.length-2,p=e.translateString(e.stripComment(n.substring(2)));if(u===`unalignedWords`||u===`notes`)l.addMetaTextArray(u,r.parseFontChangeLine(p),{startChar:o.iChar,endChar:o.iChar+n.length});else if(u!==void 0)l.addMetaText(u,r.parseFontChangeLine(p),{startChar:o.iChar,endChar:o.iChar+n.length});else{var m=o.iChar,h=m+n.length;switch(n[0]){case`H`:for(l.addMetaTextArray(`history`,r.parseFontChangeLine(p),{startChar:o.iChar,endChar:o.iChar+n.length}),n=e.peekLine();n&&n[1]!==`:`;)e.nextLine(),l.addMetaTextArray(`history`,r.parseFontChangeLine(e.translateString(e.stripComment(n))),{startChar:o.iChar,endChar:o.iChar+n.length}),n=e.peekLine();break;case`K`:this.resolveTempo();var g=a.parseKey(n.substring(2),!1);!o.is_in_header&&l.hasBeginMusic()&&(g.foundClef&&l.appendStartingElement(`clef`,m,h,o.clef),g.foundKey&&l.appendStartingElement(`key`,m,h,a.fixKey(o.clef,o.key))),o.is_in_header=!1;break;case`L`:this.setDefaultLength(n,2,n.length);break;case`M`:o.origMeter=o.meter=this.setMeter(n.substring(2));break;case`P`:o.is_in_header?l.addMetaText(`partOrder`,r.parseFontChangeLine(p),{startChar:o.iChar,endChar:o.iChar+n.length}):o.partForNextLine={title:p,startChar:m,endChar:h};break;case`Q`:var _=this.setTempo(n,2,n.length,o.iChar);_.type===`delaySet`?o.tempo=_.tempo:_.type===`immediate`&&(c.metaText.tempo?o.tempoForNextLine=[`tempo`,m,h,_.tempo]:c.metaText.tempo=_.tempo);break;case`T`:o.titlecaps&&(p=p.toUpperCase()),this.setTitle(r.parseFontChangeLine(e.theReverser(p)),f);break;case`U`:this.addUserDefinition(n,2,n.length);break;case`V`:if(a.parseVoice(n,2,n.length),!o.is_in_header)return{newline:!0};break;case`s`:return{symbols:!0};case`w`:return{words:!0};case`X`:break;case`E`:case`m`:t(`Ignored header`,n,0);break;default:return{regular:!0}}}return{}}};t.exports=ParseHeader})),b=e.n(((e,t)=>{t.exports.legalAccents=`trill,lowermordent,uppermordent,mordent,pralltriller,accent,fermata,invertedfermata,tenuto,0,1,2,3,4,5,+,wedge,open,thumb,snap,turn,roll,breath,shortphrase,mediumphrase,longphrase,segno,coda,D.S.,D.C.,fine,beambr1,beambr2,slide,marcato,upbow,downbow,/,//,///,////,trem1,trem2,trem3,trem4,turnx,invertedturn,invertedturnx,trill(,trill),arpeggio,xstem,mark,umarcato,style=normal,style=harmonic,style=rhythm,style=x,style=triangle,D.C.alcoda,D.C.alfine,D.S.alcoda,D.S.alfine,editorial,courtesy`.split(`,`),t.exports.volumeDecorations=[`p`,`pp`,`f`,`ff`,`mf`,`mp`,`ppp`,`pppp`,`fff`,`ffff`,`sfz`],t.exports.dynamicDecorations=[`crescendo(`,`crescendo)`,`diminuendo(`,`diminuendo)`,`glissando(`,`glissando)`,`~(`,`~)`],t.exports.accentPseudonyms=[[`<`,`accent`],[`>`,`accent`],[`tr`,`trill`],[`plus`,`+`],[`emphasis`,`accent`],[`^`,`umarcato`],[`marcato`,`umarcato`]],t.exports.accentDynamicPseudonyms=[[`<(`,`crescendo(`],[`<)`,`crescendo)`],[`>(`,`diminuendo(`],[`>)`,`diminuendo)`]],t.exports.nonDecorations=`ABCDEFGabcdefgxyzZ[]|^_{`,t.exports.durations=[.5,.75,.875,.9375,.96875,.984375,.25,.375,.4375,.46875,.484375,.4921875,.125,.1875,.21875,.234375,.2421875,.24609375,.0625,.09375,.109375,.1171875,.12109375,.123046875,.03125,.046875,.0546875,.05859375,.060546875,.0615234375,.015625,.0234375,.02734375,.029296875,.0302734375,.03076171875],t.exports.pitches={A:5,B:6,C:0,D:1,E:2,F:3,G:4,a:12,b:13,c:7,d:8,e:9,f:10,g:11},t.exports.rests={x:`invisible`,X:`invisible-multimeasure`,y:`spacer`,z:`rest`,Z:`multimeasure`},t.exports.accMap={dblflat:`__`,flat:`_`,natural:`=`,sharp:`^`,dblsharp:`^^`,quarterflat:`_/`,quartersharp:`^/`},t.exports.tripletQ={2:3,3:2,4:3,5:2,6:2,7:2,8:3,9:2}})),x=e.n(((e,t)=>{var n=_(),r=g(),a,o,c,l,u,d,{legalAccents:f,volumeDecorations:p,dynamicDecorations:m,accentPseudonyms:h,accentDynamicPseudonyms:y,nonDecorations:x,durations:S,pitches:C,rests:w,accMap:T,tripletQ:E}=b(),MusicParser=function(e,t,n,r,f,p){a=e,o=t,c=n,l=r,u=f,d=p,this.lineContinuation=!1},isInTie=function(e,t,n){if(e.inTie[t]===void 0)return!1;var r=e.currentVoice?e.currentVoice.staffNum*100+e.currentVoice.index:0;return!!(e.inTie[t][r]&&(n.pitches!==void 0||n.rest.type!==`spacer`))},D={};MusicParser.prototype.parseMusic=function(e){d.resolveTempo(),c.is_in_header=!1;for(var t=0,n=c.iChar;a.isWhiteSpace(e[t])&&t<e.length;)t++;if(!(t===e.length||e[t]===`%`)){var r=c.start_new_line;c.continueall===void 0?c.start_new_line=!0:c.start_new_line=!1;var f=0,p=d.letter_to_body_header(e,t);p[0]>0&&(t+=p[0],p[1]===`V`&&this.startNewLine());for(var m=0;t<e.length;){var h=t;if(e[t]===`%`)break;var g=d.letter_to_inline_header(e,t,r);if(g[0]>0)t+=g[0],g[1]===`V`&&(r=!0);else{(!u.hasBeginMusic()||r&&!this.lineContinuation)&&(this.startNewLine(),r=!1);for(var _;;)if(_=a.eatWhiteSpace(e,t),_>0&&(t+=_),t>0&&e[t-1]===``&&(_=d.letter_to_body_header(e,t),_[0]>0&&(_[1]===`V`&&this.startNewLine(),t=_[0],c.start_new_line=!1)),_=letter_to_spacer(e,t),_[0]>0&&(t+=_[0]),_=letter_to_chord(e,t),_[0]>0){D.chord||=[];var y=a.translateString(_[1]);y=y.replace(/;/g,`
4
4
  `);for(var b=!1,C=0;C<D.chord.length;C++)D.chord[C].position===_[2]&&(b=!0,D.chord[C].name+=`
@@ -3,7 +3,7 @@ import { r as t, t as n } from "./CourseWare-BTFRjgBR.js";
3
3
  import { Fragment as r, computed as i, createCommentVNode as a, createElementBlock as o, createElementVNode as s, defineComponent as c, onMounted as l, onUnmounted as u, openBlock as d, ref as f, toDisplayString as p } from "vue";
4
4
  import { Question as m, useQuestionView as h, useViewable as g } from "@vue-skuilder/common-ui";
5
5
  import { DataShapeName as _, FieldType as v, Status as y } from "@vue-skuilder/common";
6
- //#region src/typing/questions/single-letter/typeSingleLetter.vue?vue&type=script&lang.ts
6
+ import './assets/typing.css';//#region src/typing/questions/single-letter/typeSingleLetter.vue?vue&type=script&lang.ts
7
7
  var b = c({
8
8
  name: "LetterQuestionView",
9
9
  props: {
@@ -1,2 +1,2 @@
1
- const e=require(`./shapes-C_-mvrCc.cjs`),t=require(`./CourseWare-DSeyTAtH.cjs`);let n=require(`vue`),r=require(`@vue-skuilder/common-ui`),i=require(`@vue-skuilder/common`);var a=(0,n.defineComponent)({name:`LetterQuestionView`,props:{data:{type:Array,required:!0},modifyDifficulty:{type:Number,required:!1,default:0}},setup(e,{emit:t}){let i=(0,r.useViewable)(e,t,`LetterQuestionView`),a=(0,r.useQuestionView)(i),o=(0,n.ref)(null);a.question.value=new l(e.data);let s=(0,n.computed)(()=>a.question.value),handleKeyPress=e=>{if(!s.value)return;let t=e.key.toLowerCase(),n=s.value.letter.toLowerCase();if(t===n){o.value?.classList.add(`pressed`);let handleKeyUp=e=>{e.key.toLowerCase()===n&&(o.value?.classList.remove(`pressed`),a.submitAnswer(t),window.removeEventListener(`keyup`,handleKeyUp))};window.addEventListener(`keyup`,handleKeyUp)}else a.submitAnswer(t)};return(0,n.onMounted)(()=>{window.addEventListener(`keypress`,handleKeyPress)}),(0,n.onUnmounted)(()=>{window.removeEventListener(`keypress`,handleKeyPress)}),{...a,...i,letterDisplay:o,question:s}}}),o={"data-viewable":`LetterQuestionView`};function _sfc_render(e,t,r,i,a,s){return(0,n.openBlock)(),(0,n.createElementBlock)(`div`,o,[e.question?((0,n.openBlock)(),(0,n.createElementBlock)(n.Fragment,{key:0},[t[0]||=(0,n.createElementVNode)(`p`,{class:`text-h5`},`Type this letter!`,-1),(0,n.createElementVNode)(`div`,{ref:`letterDisplay`,class:`letter-display`},(0,n.toDisplayString)(e.question.letter),513)],64)):(0,n.createCommentVNode)(``,!0)])}var s=t.r(a,[[`render`,_sfc_render],[`__scopeId`,`data-v-4ae4db54`]]),c=e.r(function(){let e=[];for(let t=0;t<26;t++)e.push({letter:String.fromCharCode(65+t)});return e},`data`),l=class TypeLetterQuestion extends r.Question{static dataShapes=[{name:i.DataShapeName.TYPING_singleLetter,fields:[{name:`letter`,type:i.FieldType.STRING,validator:{instructions:`Enter a single letter`,test:function(e){return!e||e.length!==1||!/[a-zA-Z]/.test(e)?{status:i.Status.error,msg:`Input must be a single letter`}:{status:i.Status.ok,msg:``}}}}]}];static views=[s];static acceptsUserData=!0;letter;static seedData=c();constructor(e){super(e),this.letter=e[0].letter}evaluate(e,t){return{isCorrect:this.isCorrect(e),performance:this.displayedSkill(e,t)}}displayedSkill(e,t){if(this.isCorrect(e)){if(t<3e3)return 1;{let e=1-(t-3e3)/7e3*.75;return Math.max(.25,e)}}return 0}dataShapes(){return TypeLetterQuestion.dataShapes}views(){return TypeLetterQuestion.views}isCorrect(e){let t=e.toLowerCase()===this.letter.toLowerCase();return console.log(`singleLetter Q isCorrect: ${t}`),t}},data=function(){return[{gameLength:30,initialSpeed:2,acceleration:.1,spawnInterval:1}]},u=class FallingLettersQuestion extends r.Question{static dataShapes=[{name:i.DataShapeName.TYPING_fallingLetters,fields:[{name:`gameLength`,type:i.FieldType.NUMBER},{name:`initialSpeed`,type:i.FieldType.NUMBER},{name:`acceleration`,type:i.FieldType.NUMBER},{name:`spawnInterval`,type:i.FieldType.NUMBER,validator:{instructions:`How often should a new letter spawn? (in seconds)`,test:e=>typeof e==`string`?parseFloat(e)>0?{status:i.Status.ok,msg:``}:{status:i.Status.error,msg:`Must be greater than 0`}:{status:i.Status.error,msg:`Unexpected non-string input.`},placeholder:`1`}}]}];static views=[];static acceptsUserData=!0;static seedData=data();gameLength;initialSpeed;acceleration;spawnInterval;constructor(e){super(e),this.gameLength=e[0].gameLength,this.initialSpeed=e[0].initialSpeed,this.acceleration=e[0].acceleration,this.spawnInterval=e[0].spawnInterval}evaluate(e){return{isCorrect:this.isCorrect(e),performance:this.displayedSkill(e)}}displayedSkill(e){return e.win?1:e.percentage}dataShapes(){return FallingLettersQuestion.dataShapes}views(){return FallingLettersQuestion.views}isCorrect(e){return e.win}},d=new t.t(`typing`,[l,u]);Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return d}});
1
+ require('./assets/typing.css');const e=require(`./shapes-C_-mvrCc.cjs`),t=require(`./CourseWare-DSeyTAtH.cjs`);let n=require(`vue`),r=require(`@vue-skuilder/common-ui`),i=require(`@vue-skuilder/common`);var a=(0,n.defineComponent)({name:`LetterQuestionView`,props:{data:{type:Array,required:!0},modifyDifficulty:{type:Number,required:!1,default:0}},setup(e,{emit:t}){let i=(0,r.useViewable)(e,t,`LetterQuestionView`),a=(0,r.useQuestionView)(i),o=(0,n.ref)(null);a.question.value=new l(e.data);let s=(0,n.computed)(()=>a.question.value),handleKeyPress=e=>{if(!s.value)return;let t=e.key.toLowerCase(),n=s.value.letter.toLowerCase();if(t===n){o.value?.classList.add(`pressed`);let handleKeyUp=e=>{e.key.toLowerCase()===n&&(o.value?.classList.remove(`pressed`),a.submitAnswer(t),window.removeEventListener(`keyup`,handleKeyUp))};window.addEventListener(`keyup`,handleKeyUp)}else a.submitAnswer(t)};return(0,n.onMounted)(()=>{window.addEventListener(`keypress`,handleKeyPress)}),(0,n.onUnmounted)(()=>{window.removeEventListener(`keypress`,handleKeyPress)}),{...a,...i,letterDisplay:o,question:s}}}),o={"data-viewable":`LetterQuestionView`};function _sfc_render(e,t,r,i,a,s){return(0,n.openBlock)(),(0,n.createElementBlock)(`div`,o,[e.question?((0,n.openBlock)(),(0,n.createElementBlock)(n.Fragment,{key:0},[t[0]||=(0,n.createElementVNode)(`p`,{class:`text-h5`},`Type this letter!`,-1),(0,n.createElementVNode)(`div`,{ref:`letterDisplay`,class:`letter-display`},(0,n.toDisplayString)(e.question.letter),513)],64)):(0,n.createCommentVNode)(``,!0)])}var s=t.r(a,[[`render`,_sfc_render],[`__scopeId`,`data-v-4ae4db54`]]),c=e.r(function(){let e=[];for(let t=0;t<26;t++)e.push({letter:String.fromCharCode(65+t)});return e},`data`),l=class TypeLetterQuestion extends r.Question{static dataShapes=[{name:i.DataShapeName.TYPING_singleLetter,fields:[{name:`letter`,type:i.FieldType.STRING,validator:{instructions:`Enter a single letter`,test:function(e){return!e||e.length!==1||!/[a-zA-Z]/.test(e)?{status:i.Status.error,msg:`Input must be a single letter`}:{status:i.Status.ok,msg:``}}}}]}];static views=[s];static acceptsUserData=!0;letter;static seedData=c();constructor(e){super(e),this.letter=e[0].letter}evaluate(e,t){return{isCorrect:this.isCorrect(e),performance:this.displayedSkill(e,t)}}displayedSkill(e,t){if(this.isCorrect(e)){if(t<3e3)return 1;{let e=1-(t-3e3)/7e3*.75;return Math.max(.25,e)}}return 0}dataShapes(){return TypeLetterQuestion.dataShapes}views(){return TypeLetterQuestion.views}isCorrect(e){let t=e.toLowerCase()===this.letter.toLowerCase();return console.log(`singleLetter Q isCorrect: ${t}`),t}},data=function(){return[{gameLength:30,initialSpeed:2,acceleration:.1,spawnInterval:1}]},u=class FallingLettersQuestion extends r.Question{static dataShapes=[{name:i.DataShapeName.TYPING_fallingLetters,fields:[{name:`gameLength`,type:i.FieldType.NUMBER},{name:`initialSpeed`,type:i.FieldType.NUMBER},{name:`acceleration`,type:i.FieldType.NUMBER},{name:`spawnInterval`,type:i.FieldType.NUMBER,validator:{instructions:`How often should a new letter spawn? (in seconds)`,test:e=>typeof e==`string`?parseFloat(e)>0?{status:i.Status.ok,msg:``}:{status:i.Status.error,msg:`Must be greater than 0`}:{status:i.Status.error,msg:`Unexpected non-string input.`},placeholder:`1`}}]}];static views=[];static acceptsUserData=!0;static seedData=data();gameLength;initialSpeed;acceleration;spawnInterval;constructor(e){super(e),this.gameLength=e[0].gameLength,this.initialSpeed=e[0].initialSpeed,this.acceleration=e[0].acceleration,this.spawnInterval=e[0].spawnInterval}evaluate(e){return{isCorrect:this.isCorrect(e),performance:this.displayedSkill(e)}}displayedSkill(e){return e.win?1:e.percentage}dataShapes(){return FallingLettersQuestion.dataShapes}views(){return FallingLettersQuestion.views}isCorrect(e){return e.win}},d=new t.t(`typing`,[l,u]);Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return d}});
2
2
  //# sourceMappingURL=typing-CK-glKhm.cjs.map
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "publishConfig": {
4
4
  "access": "public"
5
5
  },
6
- "version": "0.1.35",
6
+ "version": "0.1.36",
7
7
  "type": "module",
8
8
  "sideEffects": false,
9
9
  "main": "./dist/index.cjs.js",
@@ -44,9 +44,9 @@
44
44
  "lint:check": "eslint ."
45
45
  },
46
46
  "dependencies": {
47
- "@vue-skuilder/common": "0.1.35",
48
- "@vue-skuilder/common-ui": "0.1.35",
49
- "@vue-skuilder/db": "0.1.35",
47
+ "@vue-skuilder/common": "0.1.36",
48
+ "@vue-skuilder/common-ui": "0.1.36",
49
+ "@vue-skuilder/db": "0.1.36",
50
50
  "moment": "^2.29.4",
51
51
  "paper": "^0.12.3",
52
52
  "vue": "^3.5.13"
@@ -63,10 +63,11 @@
63
63
  "typescript": "^5.9.3",
64
64
  "vite": "^8.0.0",
65
65
  "vite-plugin-dts": "^4.5.3",
66
+ "vite-plugin-lib-inject-css": "^2.2.2",
66
67
  "vitest": "^4.1.0"
67
68
  },
68
69
  "peerDependencies": {
69
70
  "vue": "^3.2.0"
70
71
  },
71
- "stableVersion": "0.1.35"
72
+ "stableVersion": "0.1.36"
72
73
  }